From e66ebaa1f5eddb1295b61fc975ff0a98c07250ba Mon Sep 17 00:00:00 2001 From: garak Date: Thu, 23 May 2019 11:49:58 -0400 Subject: move pokemon graphics to mon-specific directories --- Makefile | 2 +- data/graphics.s | 4816 ++++++++++---------- graphics/pokemon/abra/back.png | Bin 0 -> 578 bytes graphics/pokemon/abra/footprint.png | Bin 0 -> 94 bytes graphics/pokemon/abra/front.png | Bin 0 -> 575 bytes graphics/pokemon/abra/icon.png | Bin 0 -> 327 bytes graphics/pokemon/abra/normal.pal | 19 + graphics/pokemon/abra/shiny.pal | 19 + graphics/pokemon/absol/back.png | Bin 0 -> 673 bytes graphics/pokemon/absol/footprint.png | Bin 0 -> 102 bytes graphics/pokemon/absol/front.png | Bin 0 -> 890 bytes graphics/pokemon/absol/icon.png | Bin 0 -> 371 bytes graphics/pokemon/absol/normal.pal | 19 + graphics/pokemon/absol/shiny.pal | 19 + graphics/pokemon/aerodactyl/back.png | Bin 0 -> 602 bytes graphics/pokemon/aerodactyl/footprint.png | Bin 0 -> 92 bytes graphics/pokemon/aerodactyl/front.png | Bin 0 -> 917 bytes graphics/pokemon/aerodactyl/icon.png | Bin 0 -> 369 bytes graphics/pokemon/aerodactyl/normal.pal | 19 + graphics/pokemon/aerodactyl/shiny.pal | 19 + graphics/pokemon/aggron/back.png | Bin 0 -> 860 bytes graphics/pokemon/aggron/footprint.png | Bin 0 -> 102 bytes graphics/pokemon/aggron/front.png | Bin 0 -> 1158 bytes graphics/pokemon/aggron/icon.png | Bin 0 -> 367 bytes graphics/pokemon/aggron/normal.pal | 19 + graphics/pokemon/aggron/shiny.pal | 19 + graphics/pokemon/aipom/back.png | Bin 0 -> 592 bytes graphics/pokemon/aipom/footprint.png | Bin 0 -> 86 bytes graphics/pokemon/aipom/front.png | Bin 0 -> 639 bytes graphics/pokemon/aipom/icon.png | Bin 0 -> 399 bytes graphics/pokemon/aipom/normal.pal | 19 + graphics/pokemon/aipom/shiny.pal | 19 + graphics/pokemon/alakazam/back.png | Bin 0 -> 729 bytes graphics/pokemon/alakazam/footprint.png | Bin 0 -> 95 bytes graphics/pokemon/alakazam/front.png | Bin 0 -> 1015 bytes graphics/pokemon/alakazam/icon.png | Bin 0 -> 401 bytes graphics/pokemon/alakazam/normal.pal | 19 + graphics/pokemon/alakazam/shiny.pal | 19 + graphics/pokemon/altaria/back.png | Bin 0 -> 685 bytes graphics/pokemon/altaria/footprint.png | Bin 0 -> 100 bytes graphics/pokemon/altaria/front.png | Bin 0 -> 825 bytes graphics/pokemon/altaria/icon.png | Bin 0 -> 419 bytes graphics/pokemon/altaria/normal.pal | 19 + graphics/pokemon/altaria/shiny.pal | 19 + graphics/pokemon/ampharos/back.png | Bin 0 -> 714 bytes graphics/pokemon/ampharos/footprint.png | Bin 0 -> 90 bytes graphics/pokemon/ampharos/front.png | Bin 0 -> 721 bytes graphics/pokemon/ampharos/icon.png | Bin 0 -> 430 bytes graphics/pokemon/ampharos/normal.pal | 19 + graphics/pokemon/ampharos/shiny.pal | 19 + graphics/pokemon/anorith/back.png | Bin 0 -> 445 bytes graphics/pokemon/anorith/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/anorith/front.png | Bin 0 -> 691 bytes graphics/pokemon/anorith/icon.png | Bin 0 -> 377 bytes graphics/pokemon/anorith/normal.pal | 19 + graphics/pokemon/anorith/shiny.pal | 19 + graphics/pokemon/arbok/back.png | Bin 0 -> 491 bytes graphics/pokemon/arbok/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/arbok/front.png | Bin 0 -> 899 bytes graphics/pokemon/arbok/icon.png | Bin 0 -> 373 bytes graphics/pokemon/arbok/normal.pal | 19 + graphics/pokemon/arbok/shiny.pal | 19 + graphics/pokemon/arcanine/back.png | Bin 0 -> 790 bytes graphics/pokemon/arcanine/footprint.png | Bin 0 -> 99 bytes graphics/pokemon/arcanine/front.png | Bin 0 -> 1061 bytes graphics/pokemon/arcanine/icon.png | Bin 0 -> 445 bytes graphics/pokemon/arcanine/normal.pal | 19 + graphics/pokemon/arcanine/shiny.pal | 19 + graphics/pokemon/ariados/back.png | Bin 0 -> 706 bytes graphics/pokemon/ariados/footprint.png | Bin 0 -> 86 bytes graphics/pokemon/ariados/front.png | Bin 0 -> 850 bytes graphics/pokemon/ariados/icon.png | Bin 0 -> 430 bytes graphics/pokemon/ariados/normal.pal | 19 + graphics/pokemon/ariados/shiny.pal | 19 + graphics/pokemon/armaldo/back.png | Bin 0 -> 898 bytes graphics/pokemon/armaldo/footprint.png | Bin 0 -> 95 bytes graphics/pokemon/armaldo/front.png | Bin 0 -> 1165 bytes graphics/pokemon/armaldo/icon.png | Bin 0 -> 383 bytes graphics/pokemon/armaldo/normal.pal | 19 + graphics/pokemon/armaldo/shiny.pal | 19 + graphics/pokemon/aron/back.png | Bin 0 -> 437 bytes graphics/pokemon/aron/footprint.png | Bin 0 -> 90 bytes graphics/pokemon/aron/front.png | Bin 0 -> 384 bytes graphics/pokemon/aron/icon.png | Bin 0 -> 262 bytes graphics/pokemon/aron/normal.pal | 19 + graphics/pokemon/aron/shiny.pal | 19 + graphics/pokemon/articuno/back.png | Bin 0 -> 504 bytes graphics/pokemon/articuno/footprint.png | Bin 0 -> 106 bytes graphics/pokemon/articuno/front.png | Bin 0 -> 1072 bytes graphics/pokemon/articuno/icon.png | Bin 0 -> 384 bytes graphics/pokemon/articuno/normal.pal | 19 + graphics/pokemon/articuno/shiny.pal | 19 + graphics/pokemon/azumarill/back.png | Bin 0 -> 541 bytes graphics/pokemon/azumarill/footprint.png | Bin 0 -> 88 bytes graphics/pokemon/azumarill/front.png | Bin 0 -> 631 bytes graphics/pokemon/azumarill/icon.png | Bin 0 -> 445 bytes graphics/pokemon/azumarill/normal.pal | 19 + graphics/pokemon/azumarill/shiny.pal | 19 + graphics/pokemon/azurill/back.png | Bin 0 -> 601 bytes graphics/pokemon/azurill/footprint.png | Bin 0 -> 84 bytes graphics/pokemon/azurill/front.png | Bin 0 -> 589 bytes graphics/pokemon/azurill/icon.png | Bin 0 -> 342 bytes graphics/pokemon/azurill/normal.pal | 19 + graphics/pokemon/azurill/shiny.pal | 19 + graphics/pokemon/back_pics/abra_back_pic.png | Bin 578 -> 0 bytes graphics/pokemon/back_pics/absol_back_pic.png | Bin 673 -> 0 bytes graphics/pokemon/back_pics/aerodactyl_back_pic.png | Bin 602 -> 0 bytes graphics/pokemon/back_pics/aggron_back_pic.png | Bin 860 -> 0 bytes graphics/pokemon/back_pics/aipom_back_pic.png | Bin 592 -> 0 bytes graphics/pokemon/back_pics/alakazam_back_pic.png | Bin 729 -> 0 bytes graphics/pokemon/back_pics/altaria_back_pic.png | Bin 685 -> 0 bytes graphics/pokemon/back_pics/ampharos_back_pic.png | Bin 714 -> 0 bytes graphics/pokemon/back_pics/anorith_back_pic.png | Bin 445 -> 0 bytes graphics/pokemon/back_pics/arbok_back_pic.png | Bin 491 -> 0 bytes graphics/pokemon/back_pics/arcanine_back_pic.png | Bin 790 -> 0 bytes graphics/pokemon/back_pics/ariados_back_pic.png | Bin 706 -> 0 bytes graphics/pokemon/back_pics/armaldo_back_pic.png | Bin 898 -> 0 bytes graphics/pokemon/back_pics/aron_back_pic.png | Bin 437 -> 0 bytes graphics/pokemon/back_pics/articuno_back_pic.png | Bin 504 -> 0 bytes graphics/pokemon/back_pics/azumarill_back_pic.png | Bin 541 -> 0 bytes graphics/pokemon/back_pics/azurill_back_pic.png | Bin 601 -> 0 bytes graphics/pokemon/back_pics/bagon_back_pic.png | Bin 574 -> 0 bytes graphics/pokemon/back_pics/baltoy_back_pic.png | Bin 517 -> 0 bytes graphics/pokemon/back_pics/banette_back_pic.png | Bin 503 -> 0 bytes graphics/pokemon/back_pics/barboach_back_pic.png | Bin 551 -> 0 bytes graphics/pokemon/back_pics/bayleef_back_pic.png | Bin 737 -> 0 bytes graphics/pokemon/back_pics/beautifly_back_pic.png | Bin 771 -> 0 bytes graphics/pokemon/back_pics/beedrill_back_pic.png | Bin 734 -> 0 bytes graphics/pokemon/back_pics/beldum_back_pic.png | Bin 575 -> 0 bytes graphics/pokemon/back_pics/bellossom_back_pic.png | Bin 633 -> 0 bytes graphics/pokemon/back_pics/bellsprout_back_pic.png | Bin 529 -> 0 bytes graphics/pokemon/back_pics/blastoise_back_pic.png | Bin 842 -> 0 bytes graphics/pokemon/back_pics/blaziken_back_pic.png | Bin 835 -> 0 bytes graphics/pokemon/back_pics/blissey_back_pic.png | Bin 566 -> 0 bytes graphics/pokemon/back_pics/breloom_back_pic.png | Bin 825 -> 0 bytes graphics/pokemon/back_pics/bulbasaur_back_pic.png | Bin 554 -> 0 bytes graphics/pokemon/back_pics/butterfree_back_pic.png | Bin 868 -> 0 bytes graphics/pokemon/back_pics/cacnea_back_pic.png | Bin 713 -> 0 bytes graphics/pokemon/back_pics/cacturne_back_pic.png | Bin 653 -> 0 bytes graphics/pokemon/back_pics/camerupt_back_pic.png | Bin 527 -> 0 bytes graphics/pokemon/back_pics/carvanha_back_pic.png | Bin 648 -> 0 bytes graphics/pokemon/back_pics/cascoon_back_pic.png | Bin 404 -> 0 bytes .../back_pics/castform_normal_form_back_pic.png | Bin 373 -> 0 bytes .../back_pics/castform_rainy_form_back_pic.png | Bin 495 -> 0 bytes .../back_pics/castform_snowy_form_back_pic.png | Bin 628 -> 0 bytes .../back_pics/castform_sunny_form_back_pic.png | Bin 559 -> 0 bytes graphics/pokemon/back_pics/caterpie_back_pic.png | Bin 521 -> 0 bytes graphics/pokemon/back_pics/celebi_back_pic.png | Bin 757 -> 0 bytes graphics/pokemon/back_pics/chansey_back_pic.png | Bin 453 -> 0 bytes graphics/pokemon/back_pics/charizard_back_pic.png | Bin 799 -> 0 bytes graphics/pokemon/back_pics/charmander_back_pic.png | Bin 543 -> 0 bytes graphics/pokemon/back_pics/charmeleon_back_pic.png | Bin 625 -> 0 bytes graphics/pokemon/back_pics/chikorita_back_pic.png | Bin 569 -> 0 bytes graphics/pokemon/back_pics/chimecho_back_pic.png | Bin 507 -> 0 bytes graphics/pokemon/back_pics/chinchou_back_pic.png | Bin 637 -> 0 bytes .../back_pics/circled_question_mark_back_pic.png | Bin 397 -> 0 bytes graphics/pokemon/back_pics/clamperl_back_pic.png | Bin 475 -> 0 bytes graphics/pokemon/back_pics/claydol_back_pic.png | Bin 774 -> 0 bytes graphics/pokemon/back_pics/clefable_back_pic.png | Bin 638 -> 0 bytes graphics/pokemon/back_pics/clefairy_back_pic.png | Bin 561 -> 0 bytes graphics/pokemon/back_pics/cleffa_back_pic.png | Bin 461 -> 0 bytes graphics/pokemon/back_pics/cloyster_back_pic.png | Bin 769 -> 0 bytes graphics/pokemon/back_pics/combusken_back_pic.png | Bin 812 -> 0 bytes graphics/pokemon/back_pics/corphish_back_pic.png | Bin 662 -> 0 bytes graphics/pokemon/back_pics/corsola_back_pic.png | Bin 525 -> 0 bytes graphics/pokemon/back_pics/cradily_back_pic.png | Bin 824 -> 0 bytes graphics/pokemon/back_pics/crawdaunt_back_pic.png | Bin 787 -> 0 bytes graphics/pokemon/back_pics/crobat_back_pic.png | Bin 600 -> 0 bytes graphics/pokemon/back_pics/croconaw_back_pic.png | Bin 709 -> 0 bytes graphics/pokemon/back_pics/cubone_back_pic.png | Bin 685 -> 0 bytes graphics/pokemon/back_pics/cyndaquil_back_pic.png | Bin 670 -> 0 bytes graphics/pokemon/back_pics/delcatty_back_pic.png | Bin 737 -> 0 bytes graphics/pokemon/back_pics/delibird_back_pic.png | Bin 786 -> 0 bytes graphics/pokemon/back_pics/deoxys_back_pic.png | Bin 1146 -> 0 bytes graphics/pokemon/back_pics/dewgong_back_pic.png | Bin 523 -> 0 bytes graphics/pokemon/back_pics/diglett_back_pic.png | Bin 406 -> 0 bytes graphics/pokemon/back_pics/ditto_back_pic.png | Bin 399 -> 0 bytes graphics/pokemon/back_pics/dodrio_back_pic.png | Bin 910 -> 0 bytes graphics/pokemon/back_pics/doduo_back_pic.png | Bin 651 -> 0 bytes graphics/pokemon/back_pics/donphan_back_pic.png | Bin 571 -> 0 bytes .../back_pics/double_question_mark_back_pic.png | Bin 307 -> 0 bytes graphics/pokemon/back_pics/dragonair_back_pic.png | Bin 672 -> 0 bytes graphics/pokemon/back_pics/dragonite_back_pic.png | Bin 624 -> 0 bytes graphics/pokemon/back_pics/dratini_back_pic.png | Bin 525 -> 0 bytes graphics/pokemon/back_pics/drowzee_back_pic.png | Bin 440 -> 0 bytes graphics/pokemon/back_pics/dugtrio_back_pic.png | Bin 541 -> 0 bytes graphics/pokemon/back_pics/dunsparce_back_pic.png | Bin 593 -> 0 bytes graphics/pokemon/back_pics/dusclops_back_pic.png | Bin 559 -> 0 bytes graphics/pokemon/back_pics/duskull_back_pic.png | Bin 537 -> 0 bytes graphics/pokemon/back_pics/dustox_back_pic.png | Bin 481 -> 0 bytes graphics/pokemon/back_pics/eevee_back_pic.png | Bin 641 -> 0 bytes graphics/pokemon/back_pics/ekans_back_pic.png | Bin 616 -> 0 bytes graphics/pokemon/back_pics/electabuzz_back_pic.png | Bin 611 -> 0 bytes graphics/pokemon/back_pics/electrike_back_pic.png | Bin 499 -> 0 bytes graphics/pokemon/back_pics/electrode_back_pic.png | Bin 477 -> 0 bytes graphics/pokemon/back_pics/elekid_back_pic.png | Bin 660 -> 0 bytes graphics/pokemon/back_pics/entei_back_pic.png | Bin 859 -> 0 bytes graphics/pokemon/back_pics/espeon_back_pic.png | Bin 554 -> 0 bytes graphics/pokemon/back_pics/exeggcute_back_pic.png | Bin 597 -> 0 bytes graphics/pokemon/back_pics/exeggutor_back_pic.png | Bin 778 -> 0 bytes graphics/pokemon/back_pics/exploud_back_pic.png | Bin 838 -> 0 bytes graphics/pokemon/back_pics/farfetch_d_back_pic.png | Bin 696 -> 0 bytes graphics/pokemon/back_pics/fearow_back_pic.png | Bin 635 -> 0 bytes graphics/pokemon/back_pics/feebas_back_pic.png | Bin 666 -> 0 bytes graphics/pokemon/back_pics/feraligatr_back_pic.png | Bin 999 -> 0 bytes graphics/pokemon/back_pics/flaaffy_back_pic.png | Bin 663 -> 0 bytes graphics/pokemon/back_pics/flareon_back_pic.png | Bin 709 -> 0 bytes graphics/pokemon/back_pics/flygon_back_pic.png | Bin 888 -> 0 bytes graphics/pokemon/back_pics/forretress_back_pic.png | Bin 525 -> 0 bytes graphics/pokemon/back_pics/furret_back_pic.png | Bin 660 -> 0 bytes graphics/pokemon/back_pics/gardevoir_back_pic.png | Bin 674 -> 0 bytes graphics/pokemon/back_pics/gastly_back_pic.png | Bin 613 -> 0 bytes graphics/pokemon/back_pics/gengar_back_pic.png | Bin 661 -> 0 bytes graphics/pokemon/back_pics/geodude_back_pic.png | Bin 506 -> 0 bytes graphics/pokemon/back_pics/girafarig_back_pic.png | Bin 769 -> 0 bytes graphics/pokemon/back_pics/glalie_back_pic.png | Bin 701 -> 0 bytes graphics/pokemon/back_pics/gligar_back_pic.png | Bin 768 -> 0 bytes graphics/pokemon/back_pics/gloom_back_pic.png | Bin 709 -> 0 bytes graphics/pokemon/back_pics/golbat_back_pic.png | Bin 561 -> 0 bytes graphics/pokemon/back_pics/goldeen_back_pic.png | Bin 700 -> 0 bytes graphics/pokemon/back_pics/golduck_back_pic.png | Bin 630 -> 0 bytes graphics/pokemon/back_pics/golem_back_pic.png | Bin 510 -> 0 bytes graphics/pokemon/back_pics/gorebyss_back_pic.png | Bin 560 -> 0 bytes graphics/pokemon/back_pics/granbull_back_pic.png | Bin 627 -> 0 bytes graphics/pokemon/back_pics/graveler_back_pic.png | Bin 490 -> 0 bytes graphics/pokemon/back_pics/grimer_back_pic.png | Bin 550 -> 0 bytes graphics/pokemon/back_pics/groudon_back_pic.png | Bin 890 -> 0 bytes graphics/pokemon/back_pics/grovyle_back_pic.png | Bin 657 -> 0 bytes graphics/pokemon/back_pics/growlithe_back_pic.png | Bin 650 -> 0 bytes graphics/pokemon/back_pics/grumpig_back_pic.png | Bin 727 -> 0 bytes graphics/pokemon/back_pics/gulpin_back_pic.png | Bin 497 -> 0 bytes graphics/pokemon/back_pics/gyarados_back_pic.png | Bin 1010 -> 0 bytes graphics/pokemon/back_pics/hariyama_back_pic.png | Bin 780 -> 0 bytes graphics/pokemon/back_pics/haunter_back_pic.png | Bin 612 -> 0 bytes graphics/pokemon/back_pics/heracross_back_pic.png | Bin 690 -> 0 bytes graphics/pokemon/back_pics/hitmonchan_back_pic.png | Bin 632 -> 0 bytes graphics/pokemon/back_pics/hitmonlee_back_pic.png | Bin 534 -> 0 bytes graphics/pokemon/back_pics/hitmontop_back_pic.png | Bin 892 -> 0 bytes graphics/pokemon/back_pics/ho_oh_back_pic.png | Bin 831 -> 0 bytes graphics/pokemon/back_pics/hoothoot_back_pic.png | Bin 618 -> 0 bytes graphics/pokemon/back_pics/hoppip_back_pic.png | Bin 582 -> 0 bytes graphics/pokemon/back_pics/horsea_back_pic.png | Bin 585 -> 0 bytes graphics/pokemon/back_pics/houndoom_back_pic.png | Bin 626 -> 0 bytes graphics/pokemon/back_pics/houndour_back_pic.png | Bin 508 -> 0 bytes graphics/pokemon/back_pics/huntail_back_pic.png | Bin 688 -> 0 bytes graphics/pokemon/back_pics/hypno_back_pic.png | Bin 658 -> 0 bytes graphics/pokemon/back_pics/igglybuff_back_pic.png | Bin 443 -> 0 bytes graphics/pokemon/back_pics/illumise_back_pic.png | Bin 663 -> 0 bytes graphics/pokemon/back_pics/ivysaur_back_pic.png | Bin 695 -> 0 bytes graphics/pokemon/back_pics/jigglypuff_back_pic.png | Bin 451 -> 0 bytes graphics/pokemon/back_pics/jirachi_back_pic.png | Bin 738 -> 0 bytes graphics/pokemon/back_pics/jolteon_back_pic.png | Bin 754 -> 0 bytes graphics/pokemon/back_pics/jumpluff_back_pic.png | Bin 809 -> 0 bytes graphics/pokemon/back_pics/jynx_back_pic.png | Bin 610 -> 0 bytes graphics/pokemon/back_pics/kabuto_back_pic.png | Bin 499 -> 0 bytes graphics/pokemon/back_pics/kabutops_back_pic.png | Bin 753 -> 0 bytes graphics/pokemon/back_pics/kadabra_back_pic.png | Bin 754 -> 0 bytes graphics/pokemon/back_pics/kakuna_back_pic.png | Bin 490 -> 0 bytes graphics/pokemon/back_pics/kangaskhan_back_pic.png | Bin 881 -> 0 bytes graphics/pokemon/back_pics/kecleon_back_pic.png | Bin 818 -> 0 bytes graphics/pokemon/back_pics/kingdra_back_pic.png | Bin 743 -> 0 bytes graphics/pokemon/back_pics/kingler_back_pic.png | Bin 716 -> 0 bytes graphics/pokemon/back_pics/kirlia_back_pic.png | Bin 723 -> 0 bytes graphics/pokemon/back_pics/koffing_back_pic.png | Bin 634 -> 0 bytes graphics/pokemon/back_pics/krabby_back_pic.png | Bin 710 -> 0 bytes graphics/pokemon/back_pics/kyogre_back_pic.png | Bin 497 -> 0 bytes graphics/pokemon/back_pics/lairon_back_pic.png | Bin 575 -> 0 bytes graphics/pokemon/back_pics/lanturn_back_pic.png | Bin 644 -> 0 bytes graphics/pokemon/back_pics/lapras_back_pic.png | Bin 686 -> 0 bytes graphics/pokemon/back_pics/larvitar_back_pic.png | Bin 517 -> 0 bytes graphics/pokemon/back_pics/latias_back_pic.png | Bin 619 -> 0 bytes graphics/pokemon/back_pics/latios_back_pic.png | Bin 672 -> 0 bytes graphics/pokemon/back_pics/ledian_back_pic.png | Bin 720 -> 0 bytes graphics/pokemon/back_pics/ledyba_back_pic.png | Bin 642 -> 0 bytes graphics/pokemon/back_pics/lickitung_back_pic.png | Bin 517 -> 0 bytes graphics/pokemon/back_pics/lileep_back_pic.png | Bin 679 -> 0 bytes graphics/pokemon/back_pics/linoone_back_pic.png | Bin 546 -> 0 bytes graphics/pokemon/back_pics/lombre_back_pic.png | Bin 585 -> 0 bytes graphics/pokemon/back_pics/lotad_back_pic.png | Bin 544 -> 0 bytes graphics/pokemon/back_pics/loudred_back_pic.png | Bin 686 -> 0 bytes graphics/pokemon/back_pics/ludicolo_back_pic.png | Bin 604 -> 0 bytes graphics/pokemon/back_pics/lugia_back_pic.png | Bin 783 -> 0 bytes graphics/pokemon/back_pics/lunatone_back_pic.png | Bin 719 -> 0 bytes graphics/pokemon/back_pics/luvdisc_back_pic.png | Bin 357 -> 0 bytes graphics/pokemon/back_pics/machamp_back_pic.png | Bin 903 -> 0 bytes graphics/pokemon/back_pics/machoke_back_pic.png | Bin 675 -> 0 bytes graphics/pokemon/back_pics/machop_back_pic.png | Bin 584 -> 0 bytes graphics/pokemon/back_pics/magby_back_pic.png | Bin 546 -> 0 bytes graphics/pokemon/back_pics/magcargo_back_pic.png | Bin 829 -> 0 bytes graphics/pokemon/back_pics/magikarp_back_pic.png | Bin 673 -> 0 bytes graphics/pokemon/back_pics/magmar_back_pic.png | Bin 689 -> 0 bytes graphics/pokemon/back_pics/magnemite_back_pic.png | Bin 391 -> 0 bytes graphics/pokemon/back_pics/magneton_back_pic.png | Bin 749 -> 0 bytes graphics/pokemon/back_pics/makuhita_back_pic.png | Bin 579 -> 0 bytes graphics/pokemon/back_pics/manectric_back_pic.png | Bin 437 -> 0 bytes graphics/pokemon/back_pics/mankey_back_pic.png | Bin 697 -> 0 bytes graphics/pokemon/back_pics/mantine_back_pic.png | Bin 526 -> 0 bytes graphics/pokemon/back_pics/mareep_back_pic.png | Bin 635 -> 0 bytes graphics/pokemon/back_pics/marill_back_pic.png | Bin 514 -> 0 bytes graphics/pokemon/back_pics/marowak_back_pic.png | Bin 629 -> 0 bytes graphics/pokemon/back_pics/marshtomp_back_pic.png | Bin 748 -> 0 bytes graphics/pokemon/back_pics/masquerain_back_pic.png | Bin 697 -> 0 bytes graphics/pokemon/back_pics/mawile_back_pic.png | Bin 825 -> 0 bytes graphics/pokemon/back_pics/medicham_back_pic.png | Bin 696 -> 0 bytes graphics/pokemon/back_pics/meditite_back_pic.png | Bin 565 -> 0 bytes graphics/pokemon/back_pics/meganium_back_pic.png | Bin 736 -> 0 bytes graphics/pokemon/back_pics/meowth_back_pic.png | Bin 576 -> 0 bytes graphics/pokemon/back_pics/metagross_back_pic.png | Bin 515 -> 0 bytes graphics/pokemon/back_pics/metang_back_pic.png | Bin 618 -> 0 bytes graphics/pokemon/back_pics/metapod_back_pic.png | Bin 411 -> 0 bytes graphics/pokemon/back_pics/mew_back_pic.png | Bin 654 -> 0 bytes graphics/pokemon/back_pics/mewtwo_back_pic.png | Bin 815 -> 0 bytes graphics/pokemon/back_pics/mightyena_back_pic.png | Bin 724 -> 0 bytes graphics/pokemon/back_pics/milotic_back_pic.png | Bin 588 -> 0 bytes graphics/pokemon/back_pics/miltank_back_pic.png | Bin 731 -> 0 bytes graphics/pokemon/back_pics/minun_back_pic.png | Bin 575 -> 0 bytes graphics/pokemon/back_pics/misdreavus_back_pic.png | Bin 618 -> 0 bytes graphics/pokemon/back_pics/moltres_back_pic.png | Bin 682 -> 0 bytes graphics/pokemon/back_pics/mr_mime_back_pic.png | Bin 677 -> 0 bytes graphics/pokemon/back_pics/mudkip_back_pic.png | Bin 627 -> 0 bytes graphics/pokemon/back_pics/muk_back_pic.png | Bin 582 -> 0 bytes graphics/pokemon/back_pics/murkrow_back_pic.png | Bin 640 -> 0 bytes graphics/pokemon/back_pics/natu_back_pic.png | Bin 401 -> 0 bytes graphics/pokemon/back_pics/nidoking_back_pic.png | Bin 849 -> 0 bytes graphics/pokemon/back_pics/nidoqueen_back_pic.png | Bin 761 -> 0 bytes graphics/pokemon/back_pics/nidoran_f_back_pic.png | Bin 587 -> 0 bytes graphics/pokemon/back_pics/nidoran_m_back_pic.png | Bin 630 -> 0 bytes graphics/pokemon/back_pics/nidorina_back_pic.png | Bin 693 -> 0 bytes graphics/pokemon/back_pics/nidorino_back_pic.png | Bin 741 -> 0 bytes graphics/pokemon/back_pics/nincada_back_pic.png | Bin 576 -> 0 bytes graphics/pokemon/back_pics/ninetales_back_pic.png | Bin 770 -> 0 bytes graphics/pokemon/back_pics/ninjask_back_pic.png | Bin 797 -> 0 bytes graphics/pokemon/back_pics/noctowl_back_pic.png | Bin 659 -> 0 bytes graphics/pokemon/back_pics/nosepass_back_pic.png | Bin 517 -> 0 bytes graphics/pokemon/back_pics/numel_back_pic.png | Bin 573 -> 0 bytes graphics/pokemon/back_pics/nuzleaf_back_pic.png | Bin 583 -> 0 bytes graphics/pokemon/back_pics/octillery_back_pic.png | Bin 558 -> 0 bytes graphics/pokemon/back_pics/oddish_back_pic.png | Bin 548 -> 0 bytes graphics/pokemon/back_pics/omanyte_back_pic.png | Bin 661 -> 0 bytes graphics/pokemon/back_pics/omastar_back_pic.png | Bin 634 -> 0 bytes graphics/pokemon/back_pics/onix_back_pic.png | Bin 696 -> 0 bytes graphics/pokemon/back_pics/paras_back_pic.png | Bin 509 -> 0 bytes graphics/pokemon/back_pics/parasect_back_pic.png | Bin 602 -> 0 bytes graphics/pokemon/back_pics/pelipper_back_pic.png | Bin 737 -> 0 bytes graphics/pokemon/back_pics/persian_back_pic.png | Bin 663 -> 0 bytes graphics/pokemon/back_pics/phanpy_back_pic.png | Bin 541 -> 0 bytes graphics/pokemon/back_pics/pichu_back_pic.png | Bin 495 -> 0 bytes graphics/pokemon/back_pics/pidgeot_back_pic.png | Bin 800 -> 0 bytes graphics/pokemon/back_pics/pidgeotto_back_pic.png | Bin 673 -> 0 bytes graphics/pokemon/back_pics/pidgey_back_pic.png | Bin 702 -> 0 bytes graphics/pokemon/back_pics/pikachu_back_pic.png | Bin 587 -> 0 bytes graphics/pokemon/back_pics/piloswine_back_pic.png | Bin 436 -> 0 bytes graphics/pokemon/back_pics/pineco_back_pic.png | Bin 520 -> 0 bytes graphics/pokemon/back_pics/pinsir_back_pic.png | Bin 657 -> 0 bytes graphics/pokemon/back_pics/plusle_back_pic.png | Bin 568 -> 0 bytes graphics/pokemon/back_pics/politoed_back_pic.png | Bin 565 -> 0 bytes graphics/pokemon/back_pics/poliwag_back_pic.png | Bin 465 -> 0 bytes graphics/pokemon/back_pics/poliwhirl_back_pic.png | Bin 487 -> 0 bytes graphics/pokemon/back_pics/poliwrath_back_pic.png | Bin 615 -> 0 bytes graphics/pokemon/back_pics/ponyta_back_pic.png | Bin 680 -> 0 bytes graphics/pokemon/back_pics/poochyena_back_pic.png | Bin 676 -> 0 bytes graphics/pokemon/back_pics/porygon2_back_pic.png | Bin 656 -> 0 bytes graphics/pokemon/back_pics/porygon_back_pic.png | Bin 537 -> 0 bytes graphics/pokemon/back_pics/primeape_back_pic.png | Bin 714 -> 0 bytes graphics/pokemon/back_pics/psyduck_back_pic.png | Bin 534 -> 0 bytes graphics/pokemon/back_pics/pupitar_back_pic.png | Bin 642 -> 0 bytes graphics/pokemon/back_pics/quagsire_back_pic.png | Bin 602 -> 0 bytes graphics/pokemon/back_pics/quilava_back_pic.png | Bin 746 -> 0 bytes graphics/pokemon/back_pics/qwilfish_back_pic.png | Bin 572 -> 0 bytes graphics/pokemon/back_pics/raichu_back_pic.png | Bin 625 -> 0 bytes graphics/pokemon/back_pics/raikou_back_pic.png | Bin 745 -> 0 bytes graphics/pokemon/back_pics/ralts_back_pic.png | Bin 451 -> 0 bytes graphics/pokemon/back_pics/rapidash_back_pic.png | Bin 840 -> 0 bytes graphics/pokemon/back_pics/raticate_back_pic.png | Bin 643 -> 0 bytes graphics/pokemon/back_pics/rattata_back_pic.png | Bin 566 -> 0 bytes graphics/pokemon/back_pics/rayquaza_back_pic.png | Bin 666 -> 0 bytes graphics/pokemon/back_pics/regice_back_pic.png | Bin 551 -> 0 bytes graphics/pokemon/back_pics/regirock_back_pic.png | Bin 859 -> 0 bytes graphics/pokemon/back_pics/registeel_back_pic.png | Bin 615 -> 0 bytes graphics/pokemon/back_pics/relicanth_back_pic.png | Bin 704 -> 0 bytes graphics/pokemon/back_pics/remoraid_back_pic.png | Bin 596 -> 0 bytes graphics/pokemon/back_pics/rhydon_back_pic.png | Bin 880 -> 0 bytes graphics/pokemon/back_pics/rhyhorn_back_pic.png | Bin 633 -> 0 bytes graphics/pokemon/back_pics/roselia_back_pic.png | Bin 774 -> 0 bytes graphics/pokemon/back_pics/sableye_back_pic.png | Bin 654 -> 0 bytes graphics/pokemon/back_pics/salamence_back_pic.png | Bin 578 -> 0 bytes graphics/pokemon/back_pics/sandshrew_back_pic.png | Bin 606 -> 0 bytes graphics/pokemon/back_pics/sandslash_back_pic.png | Bin 837 -> 0 bytes graphics/pokemon/back_pics/sceptile_back_pic.png | Bin 838 -> 0 bytes graphics/pokemon/back_pics/scizor_back_pic.png | Bin 739 -> 0 bytes graphics/pokemon/back_pics/scyther_back_pic.png | Bin 854 -> 0 bytes graphics/pokemon/back_pics/seadra_back_pic.png | Bin 727 -> 0 bytes graphics/pokemon/back_pics/seaking_back_pic.png | Bin 693 -> 0 bytes graphics/pokemon/back_pics/sealeo_back_pic.png | Bin 503 -> 0 bytes graphics/pokemon/back_pics/seedot_back_pic.png | Bin 561 -> 0 bytes graphics/pokemon/back_pics/seel_back_pic.png | Bin 581 -> 0 bytes graphics/pokemon/back_pics/sentret_back_pic.png | Bin 549 -> 0 bytes graphics/pokemon/back_pics/seviper_back_pic.png | Bin 934 -> 0 bytes graphics/pokemon/back_pics/sharpedo_back_pic.png | Bin 676 -> 0 bytes graphics/pokemon/back_pics/shedinja_back_pic.png | Bin 763 -> 0 bytes graphics/pokemon/back_pics/shelgon_back_pic.png | Bin 549 -> 0 bytes graphics/pokemon/back_pics/shellder_back_pic.png | Bin 586 -> 0 bytes graphics/pokemon/back_pics/shiftry_back_pic.png | Bin 580 -> 0 bytes graphics/pokemon/back_pics/shroomish_back_pic.png | Bin 540 -> 0 bytes graphics/pokemon/back_pics/shuckle_back_pic.png | Bin 483 -> 0 bytes graphics/pokemon/back_pics/shuppet_back_pic.png | Bin 485 -> 0 bytes graphics/pokemon/back_pics/silcoon_back_pic.png | Bin 396 -> 0 bytes graphics/pokemon/back_pics/skarmory_back_pic.png | Bin 577 -> 0 bytes graphics/pokemon/back_pics/skiploom_back_pic.png | Bin 575 -> 0 bytes graphics/pokemon/back_pics/skitty_back_pic.png | Bin 677 -> 0 bytes graphics/pokemon/back_pics/slaking_back_pic.png | Bin 788 -> 0 bytes graphics/pokemon/back_pics/slakoth_back_pic.png | Bin 583 -> 0 bytes graphics/pokemon/back_pics/slowbro_back_pic.png | Bin 737 -> 0 bytes graphics/pokemon/back_pics/slowking_back_pic.png | Bin 712 -> 0 bytes graphics/pokemon/back_pics/slowpoke_back_pic.png | Bin 494 -> 0 bytes graphics/pokemon/back_pics/slugma_back_pic.png | Bin 584 -> 0 bytes graphics/pokemon/back_pics/smeargle_back_pic.png | Bin 648 -> 0 bytes graphics/pokemon/back_pics/smoochum_back_pic.png | Bin 507 -> 0 bytes graphics/pokemon/back_pics/sneasel_back_pic.png | Bin 664 -> 0 bytes graphics/pokemon/back_pics/snorlax_back_pic.png | Bin 419 -> 0 bytes graphics/pokemon/back_pics/snorunt_back_pic.png | Bin 557 -> 0 bytes graphics/pokemon/back_pics/snubbull_back_pic.png | Bin 627 -> 0 bytes graphics/pokemon/back_pics/solrock_back_pic.png | Bin 802 -> 0 bytes graphics/pokemon/back_pics/spearow_back_pic.png | Bin 601 -> 0 bytes graphics/pokemon/back_pics/spheal_back_pic.png | Bin 405 -> 0 bytes graphics/pokemon/back_pics/spinarak_back_pic.png | Bin 465 -> 0 bytes graphics/pokemon/back_pics/spinda_back_pic.png | Bin 684 -> 0 bytes graphics/pokemon/back_pics/spoink_back_pic.png | Bin 453 -> 0 bytes graphics/pokemon/back_pics/squirtle_back_pic.png | Bin 484 -> 0 bytes graphics/pokemon/back_pics/stantler_back_pic.png | Bin 680 -> 0 bytes graphics/pokemon/back_pics/starmie_back_pic.png | Bin 501 -> 0 bytes graphics/pokemon/back_pics/staryu_back_pic.png | Bin 446 -> 0 bytes graphics/pokemon/back_pics/steelix_back_pic.png | Bin 819 -> 0 bytes graphics/pokemon/back_pics/sudowoodo_back_pic.png | Bin 696 -> 0 bytes graphics/pokemon/back_pics/suicune_back_pic.png | Bin 975 -> 0 bytes graphics/pokemon/back_pics/sunflora_back_pic.png | Bin 749 -> 0 bytes graphics/pokemon/back_pics/sunkern_back_pic.png | Bin 555 -> 0 bytes graphics/pokemon/back_pics/surskit_back_pic.png | Bin 459 -> 0 bytes graphics/pokemon/back_pics/swablu_back_pic.png | Bin 740 -> 0 bytes graphics/pokemon/back_pics/swalot_back_pic.png | Bin 687 -> 0 bytes graphics/pokemon/back_pics/swampert_back_pic.png | Bin 768 -> 0 bytes graphics/pokemon/back_pics/swellow_back_pic.png | Bin 669 -> 0 bytes graphics/pokemon/back_pics/swinub_back_pic.png | Bin 382 -> 0 bytes graphics/pokemon/back_pics/taillow_back_pic.png | Bin 446 -> 0 bytes graphics/pokemon/back_pics/tangela_back_pic.png | Bin 676 -> 0 bytes graphics/pokemon/back_pics/tauros_back_pic.png | Bin 561 -> 0 bytes graphics/pokemon/back_pics/teddiursa_back_pic.png | Bin 512 -> 0 bytes graphics/pokemon/back_pics/tentacool_back_pic.png | Bin 556 -> 0 bytes graphics/pokemon/back_pics/tentacruel_back_pic.png | Bin 736 -> 0 bytes graphics/pokemon/back_pics/togepi_back_pic.png | Bin 514 -> 0 bytes graphics/pokemon/back_pics/togetic_back_pic.png | Bin 630 -> 0 bytes graphics/pokemon/back_pics/torchic_back_pic.png | Bin 576 -> 0 bytes graphics/pokemon/back_pics/torkoal_back_pic.png | Bin 569 -> 0 bytes graphics/pokemon/back_pics/totodile_back_pic.png | Bin 599 -> 0 bytes graphics/pokemon/back_pics/trapinch_back_pic.png | Bin 437 -> 0 bytes graphics/pokemon/back_pics/treecko_back_pic.png | Bin 636 -> 0 bytes graphics/pokemon/back_pics/tropius_back_pic.png | Bin 632 -> 0 bytes graphics/pokemon/back_pics/typhlosion_back_pic.png | Bin 849 -> 0 bytes graphics/pokemon/back_pics/tyranitar_back_pic.png | Bin 776 -> 0 bytes graphics/pokemon/back_pics/tyrogue_back_pic.png | Bin 618 -> 0 bytes graphics/pokemon/back_pics/umbreon_back_pic.png | Bin 638 -> 0 bytes graphics/pokemon/back_pics/unown_a_back_pic.png | Bin 376 -> 0 bytes graphics/pokemon/back_pics/unown_b_back_pic.png | Bin 394 -> 0 bytes graphics/pokemon/back_pics/unown_c_back_pic.png | Bin 505 -> 0 bytes graphics/pokemon/back_pics/unown_d_back_pic.png | Bin 451 -> 0 bytes graphics/pokemon/back_pics/unown_e_back_pic.png | Bin 400 -> 0 bytes .../back_pics/unown_exclamation_mark_back_pic.png | Bin 312 -> 0 bytes graphics/pokemon/back_pics/unown_f_back_pic.png | Bin 417 -> 0 bytes graphics/pokemon/back_pics/unown_g_back_pic.png | Bin 431 -> 0 bytes graphics/pokemon/back_pics/unown_h_back_pic.png | Bin 534 -> 0 bytes graphics/pokemon/back_pics/unown_i_back_pic.png | Bin 328 -> 0 bytes graphics/pokemon/back_pics/unown_j_back_pic.png | Bin 370 -> 0 bytes graphics/pokemon/back_pics/unown_k_back_pic.png | Bin 388 -> 0 bytes graphics/pokemon/back_pics/unown_l_back_pic.png | Bin 356 -> 0 bytes graphics/pokemon/back_pics/unown_m_back_pic.png | Bin 499 -> 0 bytes graphics/pokemon/back_pics/unown_n_back_pic.png | Bin 474 -> 0 bytes graphics/pokemon/back_pics/unown_o_back_pic.png | Bin 517 -> 0 bytes graphics/pokemon/back_pics/unown_p_back_pic.png | Bin 333 -> 0 bytes graphics/pokemon/back_pics/unown_q_back_pic.png | Bin 335 -> 0 bytes .../back_pics/unown_question_mark_back_pic.png | Bin 382 -> 0 bytes graphics/pokemon/back_pics/unown_r_back_pic.png | Bin 337 -> 0 bytes graphics/pokemon/back_pics/unown_s_back_pic.png | Bin 439 -> 0 bytes graphics/pokemon/back_pics/unown_t_back_pic.png | Bin 324 -> 0 bytes graphics/pokemon/back_pics/unown_u_back_pic.png | Bin 454 -> 0 bytes graphics/pokemon/back_pics/unown_v_back_pic.png | Bin 416 -> 0 bytes graphics/pokemon/back_pics/unown_w_back_pic.png | Bin 378 -> 0 bytes graphics/pokemon/back_pics/unown_x_back_pic.png | Bin 376 -> 0 bytes graphics/pokemon/back_pics/unown_y_back_pic.png | Bin 404 -> 0 bytes graphics/pokemon/back_pics/unown_z_back_pic.png | Bin 348 -> 0 bytes graphics/pokemon/back_pics/ursaring_back_pic.png | Bin 718 -> 0 bytes graphics/pokemon/back_pics/vaporeon_back_pic.png | Bin 572 -> 0 bytes graphics/pokemon/back_pics/venomoth_back_pic.png | Bin 769 -> 0 bytes graphics/pokemon/back_pics/venonat_back_pic.png | Bin 678 -> 0 bytes graphics/pokemon/back_pics/venusaur_back_pic.png | Bin 948 -> 0 bytes graphics/pokemon/back_pics/vibrava_back_pic.png | Bin 518 -> 0 bytes graphics/pokemon/back_pics/victreebel_back_pic.png | Bin 752 -> 0 bytes graphics/pokemon/back_pics/vigoroth_back_pic.png | Bin 589 -> 0 bytes graphics/pokemon/back_pics/vileplume_back_pic.png | Bin 860 -> 0 bytes graphics/pokemon/back_pics/volbeat_back_pic.png | Bin 702 -> 0 bytes graphics/pokemon/back_pics/voltorb_back_pic.png | Bin 475 -> 0 bytes graphics/pokemon/back_pics/vulpix_back_pic.png | Bin 656 -> 0 bytes graphics/pokemon/back_pics/wailmer_back_pic.png | Bin 347 -> 0 bytes graphics/pokemon/back_pics/wailord_back_pic.png | Bin 368 -> 0 bytes graphics/pokemon/back_pics/walrein_back_pic.png | Bin 727 -> 0 bytes graphics/pokemon/back_pics/wartortle_back_pic.png | Bin 689 -> 0 bytes graphics/pokemon/back_pics/weedle_back_pic.png | Bin 502 -> 0 bytes graphics/pokemon/back_pics/weepinbell_back_pic.png | Bin 625 -> 0 bytes graphics/pokemon/back_pics/weezing_back_pic.png | Bin 687 -> 0 bytes graphics/pokemon/back_pics/whiscash_back_pic.png | Bin 690 -> 0 bytes graphics/pokemon/back_pics/whismur_back_pic.png | Bin 493 -> 0 bytes graphics/pokemon/back_pics/wigglytuff_back_pic.png | Bin 538 -> 0 bytes graphics/pokemon/back_pics/wingull_back_pic.png | Bin 684 -> 0 bytes graphics/pokemon/back_pics/wobbuffet_back_pic.png | Bin 433 -> 0 bytes graphics/pokemon/back_pics/wooper_back_pic.png | Bin 533 -> 0 bytes graphics/pokemon/back_pics/wurmple_back_pic.png | Bin 488 -> 0 bytes graphics/pokemon/back_pics/wynaut_back_pic.png | Bin 498 -> 0 bytes graphics/pokemon/back_pics/xatu_back_pic.png | Bin 716 -> 0 bytes graphics/pokemon/back_pics/yanma_back_pic.png | Bin 796 -> 0 bytes graphics/pokemon/back_pics/zangoose_back_pic.png | Bin 734 -> 0 bytes graphics/pokemon/back_pics/zapdos_back_pic.png | Bin 652 -> 0 bytes graphics/pokemon/back_pics/zigzagoon_back_pic.png | Bin 683 -> 0 bytes graphics/pokemon/back_pics/zubat_back_pic.png | Bin 526 -> 0 bytes graphics/pokemon/bagon/back.png | Bin 0 -> 574 bytes graphics/pokemon/bagon/footprint.png | Bin 0 -> 91 bytes graphics/pokemon/bagon/front.png | Bin 0 -> 512 bytes graphics/pokemon/bagon/icon.png | Bin 0 -> 359 bytes graphics/pokemon/bagon/normal.pal | 19 + graphics/pokemon/bagon/shiny.pal | 19 + graphics/pokemon/baltoy/back.png | Bin 0 -> 517 bytes graphics/pokemon/baltoy/footprint.png | Bin 0 -> 76 bytes graphics/pokemon/baltoy/front.png | Bin 0 -> 416 bytes graphics/pokemon/baltoy/icon.png | Bin 0 -> 279 bytes graphics/pokemon/baltoy/normal.pal | 19 + graphics/pokemon/baltoy/shiny.pal | 19 + graphics/pokemon/banette/back.png | Bin 0 -> 503 bytes graphics/pokemon/banette/footprint.png | Bin 0 -> 85 bytes graphics/pokemon/banette/front.png | Bin 0 -> 546 bytes graphics/pokemon/banette/icon.png | Bin 0 -> 321 bytes graphics/pokemon/banette/normal.pal | 19 + graphics/pokemon/banette/shiny.pal | 19 + graphics/pokemon/barboach/back.png | Bin 0 -> 551 bytes graphics/pokemon/barboach/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/barboach/front.png | Bin 0 -> 565 bytes graphics/pokemon/barboach/icon.png | Bin 0 -> 337 bytes graphics/pokemon/barboach/normal.pal | 19 + graphics/pokemon/barboach/shiny.pal | 19 + graphics/pokemon/bayleef/back.png | Bin 0 -> 737 bytes graphics/pokemon/bayleef/footprint.png | Bin 0 -> 87 bytes graphics/pokemon/bayleef/front.png | Bin 0 -> 815 bytes graphics/pokemon/bayleef/icon.png | Bin 0 -> 427 bytes graphics/pokemon/bayleef/normal.pal | 19 + graphics/pokemon/bayleef/shiny.pal | 19 + graphics/pokemon/beautifly/back.png | Bin 0 -> 771 bytes graphics/pokemon/beautifly/footprint.png | Bin 0 -> 89 bytes graphics/pokemon/beautifly/front.png | Bin 0 -> 699 bytes graphics/pokemon/beautifly/icon.png | Bin 0 -> 449 bytes graphics/pokemon/beautifly/normal.pal | 19 + graphics/pokemon/beautifly/shiny.pal | 19 + graphics/pokemon/beedrill/back.png | Bin 0 -> 734 bytes graphics/pokemon/beedrill/footprint.png | Bin 0 -> 84 bytes graphics/pokemon/beedrill/front.png | Bin 0 -> 913 bytes graphics/pokemon/beedrill/icon.png | Bin 0 -> 437 bytes graphics/pokemon/beedrill/normal.pal | 19 + graphics/pokemon/beedrill/shiny.pal | 19 + graphics/pokemon/beldum/back.png | Bin 0 -> 575 bytes graphics/pokemon/beldum/footprint.png | Bin 0 -> 82 bytes graphics/pokemon/beldum/front.png | Bin 0 -> 465 bytes graphics/pokemon/beldum/icon.png | Bin 0 -> 294 bytes graphics/pokemon/beldum/normal.pal | 19 + graphics/pokemon/beldum/shiny.pal | 19 + graphics/pokemon/bellossom/back.png | Bin 0 -> 633 bytes graphics/pokemon/bellossom/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/bellossom/front.png | Bin 0 -> 520 bytes graphics/pokemon/bellossom/icon.png | Bin 0 -> 363 bytes graphics/pokemon/bellossom/normal.pal | 19 + graphics/pokemon/bellossom/shiny.pal | 19 + graphics/pokemon/bellsprout/back.png | Bin 0 -> 529 bytes graphics/pokemon/bellsprout/footprint.png | Bin 0 -> 109 bytes graphics/pokemon/bellsprout/front.png | Bin 0 -> 547 bytes graphics/pokemon/bellsprout/icon.png | Bin 0 -> 252 bytes graphics/pokemon/bellsprout/normal.pal | 19 + graphics/pokemon/bellsprout/shiny.pal | 19 + graphics/pokemon/blastoise/back.png | Bin 0 -> 842 bytes graphics/pokemon/blastoise/footprint.png | Bin 0 -> 98 bytes graphics/pokemon/blastoise/front.png | Bin 0 -> 1076 bytes graphics/pokemon/blastoise/icon.png | Bin 0 -> 397 bytes graphics/pokemon/blastoise/normal.pal | 19 + graphics/pokemon/blastoise/shiny.pal | 19 + graphics/pokemon/blaziken/back.png | Bin 0 -> 835 bytes graphics/pokemon/blaziken/footprint.png | Bin 0 -> 116 bytes graphics/pokemon/blaziken/front.png | Bin 0 -> 967 bytes graphics/pokemon/blaziken/icon.png | Bin 0 -> 448 bytes graphics/pokemon/blaziken/normal.pal | 19 + graphics/pokemon/blaziken/shiny.pal | 19 + graphics/pokemon/blissey/back.png | Bin 0 -> 566 bytes graphics/pokemon/blissey/footprint.png | Bin 0 -> 96 bytes graphics/pokemon/blissey/front.png | Bin 0 -> 827 bytes graphics/pokemon/blissey/icon.png | Bin 0 -> 406 bytes graphics/pokemon/blissey/normal.pal | 19 + graphics/pokemon/blissey/shiny.pal | 19 + graphics/pokemon/breloom/back.png | Bin 0 -> 825 bytes graphics/pokemon/breloom/footprint.png | Bin 0 -> 94 bytes graphics/pokemon/breloom/front.png | Bin 0 -> 849 bytes graphics/pokemon/breloom/icon.png | Bin 0 -> 321 bytes graphics/pokemon/breloom/normal.pal | 19 + graphics/pokemon/breloom/shiny.pal | 19 + graphics/pokemon/bulbasaur/back.png | Bin 0 -> 554 bytes graphics/pokemon/bulbasaur/footprint.png | Bin 0 -> 88 bytes graphics/pokemon/bulbasaur/front.png | Bin 0 -> 558 bytes graphics/pokemon/bulbasaur/icon.png | Bin 0 -> 316 bytes graphics/pokemon/bulbasaur/normal.pal | 19 + graphics/pokemon/bulbasaur/shiny.pal | 19 + graphics/pokemon/butterfree/back.png | Bin 0 -> 868 bytes graphics/pokemon/butterfree/footprint.png | Bin 0 -> 87 bytes graphics/pokemon/butterfree/front.png | Bin 0 -> 748 bytes graphics/pokemon/butterfree/icon.png | Bin 0 -> 421 bytes graphics/pokemon/butterfree/normal.pal | 19 + graphics/pokemon/butterfree/shiny.pal | 19 + graphics/pokemon/cacnea/back.png | Bin 0 -> 713 bytes graphics/pokemon/cacnea/footprint.png | Bin 0 -> 81 bytes graphics/pokemon/cacnea/front.png | Bin 0 -> 662 bytes graphics/pokemon/cacnea/icon.png | Bin 0 -> 370 bytes graphics/pokemon/cacnea/normal.pal | 19 + graphics/pokemon/cacnea/shiny.pal | 19 + graphics/pokemon/cacturne/back.png | Bin 0 -> 653 bytes graphics/pokemon/cacturne/footprint.png | Bin 0 -> 87 bytes graphics/pokemon/cacturne/front.png | Bin 0 -> 917 bytes graphics/pokemon/cacturne/icon.png | Bin 0 -> 299 bytes graphics/pokemon/cacturne/normal.pal | 19 + graphics/pokemon/cacturne/shiny.pal | 19 + graphics/pokemon/camerupt/back.png | Bin 0 -> 527 bytes graphics/pokemon/camerupt/footprint.png | Bin 0 -> 109 bytes graphics/pokemon/camerupt/front.png | Bin 0 -> 839 bytes graphics/pokemon/camerupt/icon.png | Bin 0 -> 404 bytes graphics/pokemon/camerupt/normal.pal | 19 + graphics/pokemon/camerupt/shiny.pal | 19 + graphics/pokemon/carvanha/back.png | Bin 0 -> 648 bytes graphics/pokemon/carvanha/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/carvanha/front.png | Bin 0 -> 692 bytes graphics/pokemon/carvanha/icon.png | Bin 0 -> 392 bytes graphics/pokemon/carvanha/normal.pal | 19 + graphics/pokemon/carvanha/shiny.pal | 19 + graphics/pokemon/cascoon/back.png | Bin 0 -> 404 bytes graphics/pokemon/cascoon/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/cascoon/front.png | Bin 0 -> 493 bytes graphics/pokemon/cascoon/icon.png | Bin 0 -> 342 bytes graphics/pokemon/cascoon/normal.pal | 19 + graphics/pokemon/cascoon/shiny.pal | 19 + graphics/pokemon/castform/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/castform/icon.png | Bin 0 -> 263 bytes graphics/pokemon/castform/normal/back.png | Bin 0 -> 373 bytes graphics/pokemon/castform/normal/front.png | Bin 0 -> 382 bytes graphics/pokemon/castform/normal/normal.pal | 19 + graphics/pokemon/castform/normal/shiny.pal | 19 + graphics/pokemon/castform/rainy/back.png | Bin 0 -> 495 bytes graphics/pokemon/castform/rainy/front.png | Bin 0 -> 549 bytes graphics/pokemon/castform/rainy/normal.pal | 19 + graphics/pokemon/castform/rainy/shiny.pal | 19 + graphics/pokemon/castform/snowy/back.png | Bin 0 -> 628 bytes graphics/pokemon/castform/snowy/front.png | Bin 0 -> 688 bytes graphics/pokemon/castform/snowy/normal.pal | 19 + graphics/pokemon/castform/snowy/shiny.pal | 19 + graphics/pokemon/castform/sunny/back.png | Bin 0 -> 559 bytes graphics/pokemon/castform/sunny/front.png | Bin 0 -> 656 bytes graphics/pokemon/castform/sunny/normal.pal | 19 + graphics/pokemon/castform/sunny/shiny.pal | 19 + graphics/pokemon/caterpie/back.png | Bin 0 -> 521 bytes graphics/pokemon/caterpie/footprint.png | Bin 0 -> 81 bytes graphics/pokemon/caterpie/front.png | Bin 0 -> 501 bytes graphics/pokemon/caterpie/icon.png | Bin 0 -> 277 bytes graphics/pokemon/caterpie/normal.pal | 19 + graphics/pokemon/caterpie/shiny.pal | 19 + graphics/pokemon/celebi/back.png | Bin 0 -> 757 bytes graphics/pokemon/celebi/footprint.png | Bin 0 -> 88 bytes graphics/pokemon/celebi/front.png | Bin 0 -> 514 bytes graphics/pokemon/celebi/icon.png | Bin 0 -> 330 bytes graphics/pokemon/celebi/normal.pal | 19 + graphics/pokemon/celebi/shiny.pal | 19 + graphics/pokemon/chansey/back.png | Bin 0 -> 453 bytes graphics/pokemon/chansey/footprint.png | Bin 0 -> 88 bytes graphics/pokemon/chansey/front.png | Bin 0 -> 669 bytes graphics/pokemon/chansey/icon.png | Bin 0 -> 317 bytes graphics/pokemon/chansey/normal.pal | 19 + graphics/pokemon/chansey/shiny.pal | 19 + graphics/pokemon/charizard/back.png | Bin 0 -> 799 bytes graphics/pokemon/charizard/footprint.png | Bin 0 -> 95 bytes graphics/pokemon/charizard/front.png | Bin 0 -> 1090 bytes graphics/pokemon/charizard/icon.png | Bin 0 -> 462 bytes graphics/pokemon/charizard/normal.pal | 19 + graphics/pokemon/charizard/shiny.pal | 19 + graphics/pokemon/charmander/back.png | Bin 0 -> 543 bytes graphics/pokemon/charmander/footprint.png | Bin 0 -> 90 bytes graphics/pokemon/charmander/front.png | Bin 0 -> 566 bytes graphics/pokemon/charmander/icon.png | Bin 0 -> 303 bytes graphics/pokemon/charmander/normal.pal | 19 + graphics/pokemon/charmander/shiny.pal | 19 + graphics/pokemon/charmeleon/back.png | Bin 0 -> 625 bytes graphics/pokemon/charmeleon/footprint.png | Bin 0 -> 95 bytes graphics/pokemon/charmeleon/front.png | Bin 0 -> 781 bytes graphics/pokemon/charmeleon/icon.png | Bin 0 -> 412 bytes graphics/pokemon/charmeleon/normal.pal | 19 + graphics/pokemon/charmeleon/shiny.pal | 19 + graphics/pokemon/chikorita/back.png | Bin 0 -> 569 bytes graphics/pokemon/chikorita/footprint.png | Bin 0 -> 81 bytes graphics/pokemon/chikorita/front.png | Bin 0 -> 507 bytes graphics/pokemon/chikorita/icon.png | Bin 0 -> 334 bytes graphics/pokemon/chikorita/normal.pal | 19 + graphics/pokemon/chikorita/shiny.pal | 19 + graphics/pokemon/chimecho/back.png | Bin 0 -> 507 bytes graphics/pokemon/chimecho/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/chimecho/front.png | Bin 0 -> 458 bytes graphics/pokemon/chimecho/icon.png | Bin 0 -> 258 bytes graphics/pokemon/chimecho/normal.pal | 19 + graphics/pokemon/chimecho/shiny.pal | 19 + graphics/pokemon/chinchou/back.png | Bin 0 -> 637 bytes graphics/pokemon/chinchou/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/chinchou/front.png | Bin 0 -> 607 bytes graphics/pokemon/chinchou/icon.png | Bin 0 -> 378 bytes graphics/pokemon/chinchou/normal.pal | 19 + graphics/pokemon/chinchou/shiny.pal | 19 + graphics/pokemon/clamperl/back.png | Bin 0 -> 475 bytes graphics/pokemon/clamperl/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/clamperl/front.png | Bin 0 -> 611 bytes graphics/pokemon/clamperl/icon.png | Bin 0 -> 345 bytes graphics/pokemon/clamperl/normal.pal | 19 + graphics/pokemon/clamperl/shiny.pal | 19 + graphics/pokemon/claydol/back.png | Bin 0 -> 774 bytes graphics/pokemon/claydol/footprint.png | Bin 0 -> 80 bytes graphics/pokemon/claydol/front.png | Bin 0 -> 771 bytes graphics/pokemon/claydol/icon.png | Bin 0 -> 331 bytes graphics/pokemon/claydol/normal.pal | 19 + graphics/pokemon/claydol/shiny.pal | 19 + graphics/pokemon/clefable/back.png | Bin 0 -> 638 bytes graphics/pokemon/clefable/footprint.png | Bin 0 -> 101 bytes graphics/pokemon/clefable/front.png | Bin 0 -> 674 bytes graphics/pokemon/clefable/icon.png | Bin 0 -> 339 bytes graphics/pokemon/clefable/normal.pal | 19 + graphics/pokemon/clefable/shiny.pal | 19 + graphics/pokemon/clefairy/back.png | Bin 0 -> 561 bytes graphics/pokemon/clefairy/footprint.png | Bin 0 -> 85 bytes graphics/pokemon/clefairy/front.png | Bin 0 -> 540 bytes graphics/pokemon/clefairy/icon.png | Bin 0 -> 305 bytes graphics/pokemon/clefairy/normal.pal | 19 + graphics/pokemon/clefairy/shiny.pal | 19 + graphics/pokemon/cleffa/back.png | Bin 0 -> 461 bytes graphics/pokemon/cleffa/footprint.png | Bin 0 -> 79 bytes graphics/pokemon/cleffa/front.png | Bin 0 -> 381 bytes graphics/pokemon/cleffa/icon.png | Bin 0 -> 302 bytes graphics/pokemon/cleffa/normal.pal | 19 + graphics/pokemon/cleffa/shiny.pal | 19 + graphics/pokemon/cloyster/back.png | Bin 0 -> 769 bytes graphics/pokemon/cloyster/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/cloyster/front.png | Bin 0 -> 875 bytes graphics/pokemon/cloyster/icon.png | Bin 0 -> 507 bytes graphics/pokemon/cloyster/normal.pal | 19 + graphics/pokemon/cloyster/shiny.pal | 19 + graphics/pokemon/combusken/back.png | Bin 0 -> 812 bytes graphics/pokemon/combusken/footprint.png | Bin 0 -> 109 bytes graphics/pokemon/combusken/front.png | Bin 0 -> 838 bytes graphics/pokemon/combusken/icon.png | Bin 0 -> 351 bytes graphics/pokemon/combusken/normal.pal | 19 + graphics/pokemon/combusken/shiny.pal | 19 + graphics/pokemon/corphish/back.png | Bin 0 -> 662 bytes graphics/pokemon/corphish/footprint.png | Bin 0 -> 102 bytes graphics/pokemon/corphish/front.png | Bin 0 -> 704 bytes graphics/pokemon/corphish/icon.png | Bin 0 -> 286 bytes graphics/pokemon/corphish/normal.pal | 19 + graphics/pokemon/corphish/shiny.pal | 19 + graphics/pokemon/corsola/back.png | Bin 0 -> 525 bytes graphics/pokemon/corsola/footprint.png | Bin 0 -> 81 bytes graphics/pokemon/corsola/front.png | Bin 0 -> 601 bytes graphics/pokemon/corsola/icon.png | Bin 0 -> 365 bytes graphics/pokemon/corsola/normal.pal | 19 + graphics/pokemon/corsola/shiny.pal | 19 + graphics/pokemon/cradily/back.png | Bin 0 -> 824 bytes graphics/pokemon/cradily/footprint.png | Bin 0 -> 98 bytes graphics/pokemon/cradily/front.png | Bin 0 -> 887 bytes graphics/pokemon/cradily/icon.png | Bin 0 -> 452 bytes graphics/pokemon/cradily/normal.pal | 19 + graphics/pokemon/cradily/shiny.pal | 19 + graphics/pokemon/crawdaunt/back.png | Bin 0 -> 787 bytes graphics/pokemon/crawdaunt/footprint.png | Bin 0 -> 104 bytes graphics/pokemon/crawdaunt/front.png | Bin 0 -> 1006 bytes graphics/pokemon/crawdaunt/icon.png | Bin 0 -> 402 bytes graphics/pokemon/crawdaunt/normal.pal | 19 + graphics/pokemon/crawdaunt/shiny.pal | 19 + graphics/pokemon/crobat/back.png | Bin 0 -> 600 bytes graphics/pokemon/crobat/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/crobat/front.png | Bin 0 -> 780 bytes graphics/pokemon/crobat/icon.png | Bin 0 -> 422 bytes graphics/pokemon/crobat/normal.pal | 19 + graphics/pokemon/crobat/shiny.pal | 19 + graphics/pokemon/croconaw/back.png | Bin 0 -> 709 bytes graphics/pokemon/croconaw/footprint.png | Bin 0 -> 85 bytes graphics/pokemon/croconaw/front.png | Bin 0 -> 730 bytes graphics/pokemon/croconaw/icon.png | Bin 0 -> 356 bytes graphics/pokemon/croconaw/normal.pal | 19 + graphics/pokemon/croconaw/shiny.pal | 19 + graphics/pokemon/cubone/back.png | Bin 0 -> 685 bytes graphics/pokemon/cubone/footprint.png | Bin 0 -> 87 bytes graphics/pokemon/cubone/front.png | Bin 0 -> 572 bytes graphics/pokemon/cubone/icon.png | Bin 0 -> 350 bytes graphics/pokemon/cubone/normal.pal | 19 + graphics/pokemon/cubone/shiny.pal | 19 + graphics/pokemon/cyndaquil/back.png | Bin 0 -> 670 bytes graphics/pokemon/cyndaquil/footprint.png | Bin 0 -> 84 bytes graphics/pokemon/cyndaquil/front.png | Bin 0 -> 546 bytes graphics/pokemon/cyndaquil/icon.png | Bin 0 -> 360 bytes graphics/pokemon/cyndaquil/normal.pal | 19 + graphics/pokemon/cyndaquil/shiny.pal | 19 + graphics/pokemon/delcatty/back.png | Bin 0 -> 737 bytes graphics/pokemon/delcatty/footprint.png | Bin 0 -> 107 bytes graphics/pokemon/delcatty/front.png | Bin 0 -> 765 bytes graphics/pokemon/delcatty/icon.png | Bin 0 -> 420 bytes graphics/pokemon/delcatty/normal.pal | 19 + graphics/pokemon/delcatty/shiny.pal | 19 + graphics/pokemon/delibird/back.png | Bin 0 -> 786 bytes graphics/pokemon/delibird/footprint.png | Bin 0 -> 90 bytes graphics/pokemon/delibird/front.png | Bin 0 -> 733 bytes graphics/pokemon/delibird/icon.png | Bin 0 -> 357 bytes graphics/pokemon/delibird/normal.pal | 19 + graphics/pokemon/delibird/shiny.pal | 19 + graphics/pokemon/deoxys/back.png | Bin 0 -> 1146 bytes graphics/pokemon/deoxys/footprint.png | Bin 0 -> 84 bytes graphics/pokemon/deoxys/front.png | Bin 0 -> 1579 bytes graphics/pokemon/deoxys/icon.png | Bin 0 -> 430 bytes graphics/pokemon/deoxys/normal.pal | 19 + graphics/pokemon/deoxys/shiny.pal | 19 + graphics/pokemon/deoxys/speed_icon.png | Bin 0 -> 456 bytes graphics/pokemon/dewgong/back.png | Bin 0 -> 523 bytes graphics/pokemon/dewgong/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/dewgong/front.png | Bin 0 -> 763 bytes graphics/pokemon/dewgong/icon.png | Bin 0 -> 415 bytes graphics/pokemon/dewgong/normal.pal | 19 + graphics/pokemon/dewgong/shiny.pal | 19 + graphics/pokemon/diglett/back.png | Bin 0 -> 406 bytes graphics/pokemon/diglett/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/diglett/front.png | Bin 0 -> 424 bytes graphics/pokemon/diglett/icon.png | Bin 0 -> 249 bytes graphics/pokemon/diglett/normal.pal | 19 + graphics/pokemon/diglett/shiny.pal | 19 + graphics/pokemon/ditto/back.png | Bin 0 -> 399 bytes graphics/pokemon/ditto/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/ditto/front.png | Bin 0 -> 377 bytes graphics/pokemon/ditto/icon.png | Bin 0 -> 270 bytes graphics/pokemon/ditto/normal.pal | 19 + graphics/pokemon/ditto/shiny.pal | 19 + graphics/pokemon/dodrio/back.png | Bin 0 -> 910 bytes graphics/pokemon/dodrio/footprint.png | Bin 0 -> 110 bytes graphics/pokemon/dodrio/front.png | Bin 0 -> 910 bytes graphics/pokemon/dodrio/icon.png | Bin 0 -> 446 bytes graphics/pokemon/dodrio/normal.pal | 19 + graphics/pokemon/dodrio/shiny.pal | 19 + graphics/pokemon/doduo/back.png | Bin 0 -> 651 bytes graphics/pokemon/doduo/footprint.png | Bin 0 -> 101 bytes graphics/pokemon/doduo/front.png | Bin 0 -> 619 bytes graphics/pokemon/doduo/icon.png | Bin 0 -> 351 bytes graphics/pokemon/doduo/normal.pal | 19 + graphics/pokemon/doduo/shiny.pal | 19 + graphics/pokemon/donphan/back.png | Bin 0 -> 571 bytes graphics/pokemon/donphan/footprint.png | Bin 0 -> 96 bytes graphics/pokemon/donphan/front.png | Bin 0 -> 923 bytes graphics/pokemon/donphan/icon.png | Bin 0 -> 471 bytes graphics/pokemon/donphan/normal.pal | 19 + graphics/pokemon/donphan/shiny.pal | 19 + graphics/pokemon/dragonair/back.png | Bin 0 -> 672 bytes graphics/pokemon/dragonair/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/dragonair/front.png | Bin 0 -> 758 bytes graphics/pokemon/dragonair/icon.png | Bin 0 -> 383 bytes graphics/pokemon/dragonair/normal.pal | 19 + graphics/pokemon/dragonair/shiny.pal | 19 + graphics/pokemon/dragonite/back.png | Bin 0 -> 624 bytes graphics/pokemon/dragonite/footprint.png | Bin 0 -> 92 bytes graphics/pokemon/dragonite/front.png | Bin 0 -> 1172 bytes graphics/pokemon/dragonite/icon.png | Bin 0 -> 414 bytes graphics/pokemon/dragonite/normal.pal | 19 + graphics/pokemon/dragonite/shiny.pal | 19 + graphics/pokemon/dratini/back.png | Bin 0 -> 525 bytes graphics/pokemon/dratini/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/dratini/front.png | Bin 0 -> 568 bytes graphics/pokemon/dratini/icon.png | Bin 0 -> 334 bytes graphics/pokemon/dratini/normal.pal | 19 + graphics/pokemon/dratini/shiny.pal | 19 + graphics/pokemon/drowzee/back.png | Bin 0 -> 440 bytes graphics/pokemon/drowzee/footprint.png | Bin 0 -> 87 bytes graphics/pokemon/drowzee/front.png | Bin 0 -> 653 bytes graphics/pokemon/drowzee/icon.png | Bin 0 -> 416 bytes graphics/pokemon/drowzee/normal.pal | 19 + graphics/pokemon/drowzee/shiny.pal | 19 + graphics/pokemon/dugtrio/back.png | Bin 0 -> 541 bytes graphics/pokemon/dugtrio/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/dugtrio/front.png | Bin 0 -> 642 bytes graphics/pokemon/dugtrio/icon.png | Bin 0 -> 296 bytes graphics/pokemon/dugtrio/normal.pal | 19 + graphics/pokemon/dugtrio/shiny.pal | 19 + graphics/pokemon/dunsparce/back.png | Bin 0 -> 593 bytes graphics/pokemon/dunsparce/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/dunsparce/front.png | Bin 0 -> 645 bytes graphics/pokemon/dunsparce/icon.png | Bin 0 -> 341 bytes graphics/pokemon/dunsparce/normal.pal | 19 + graphics/pokemon/dunsparce/shiny.pal | 19 + graphics/pokemon/dusclops/back.png | Bin 0 -> 559 bytes graphics/pokemon/dusclops/footprint.png | Bin 0 -> 106 bytes graphics/pokemon/dusclops/front.png | Bin 0 -> 741 bytes graphics/pokemon/dusclops/icon.png | Bin 0 -> 344 bytes graphics/pokemon/dusclops/normal.pal | 19 + graphics/pokemon/dusclops/shiny.pal | 19 + graphics/pokemon/duskull/back.png | Bin 0 -> 537 bytes graphics/pokemon/duskull/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/duskull/front.png | Bin 0 -> 616 bytes graphics/pokemon/duskull/icon.png | Bin 0 -> 294 bytes graphics/pokemon/duskull/normal.pal | 19 + graphics/pokemon/duskull/shiny.pal | 19 + graphics/pokemon/dustox/back.png | Bin 0 -> 481 bytes graphics/pokemon/dustox/footprint.png | Bin 0 -> 92 bytes graphics/pokemon/dustox/front.png | Bin 0 -> 724 bytes graphics/pokemon/dustox/icon.png | Bin 0 -> 428 bytes graphics/pokemon/dustox/normal.pal | 19 + graphics/pokemon/dustox/shiny.pal | 19 + graphics/pokemon/eevee/back.png | Bin 0 -> 641 bytes graphics/pokemon/eevee/footprint.png | Bin 0 -> 96 bytes graphics/pokemon/eevee/front.png | Bin 0 -> 597 bytes graphics/pokemon/eevee/icon.png | Bin 0 -> 296 bytes graphics/pokemon/eevee/normal.pal | 19 + graphics/pokemon/eevee/shiny.pal | 19 + graphics/pokemon/egg/front.png | Bin 0 -> 318 bytes graphics/pokemon/egg/icon.png | Bin 0 -> 310 bytes graphics/pokemon/egg/normal.pal | 19 + graphics/pokemon/ekans/back.png | Bin 0 -> 616 bytes graphics/pokemon/ekans/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/ekans/front.png | Bin 0 -> 566 bytes graphics/pokemon/ekans/icon.png | Bin 0 -> 333 bytes graphics/pokemon/ekans/normal.pal | 19 + graphics/pokemon/ekans/shiny.pal | 19 + graphics/pokemon/electabuzz/back.png | Bin 0 -> 611 bytes graphics/pokemon/electabuzz/footprint.png | Bin 0 -> 93 bytes graphics/pokemon/electabuzz/front.png | Bin 0 -> 882 bytes graphics/pokemon/electabuzz/icon.png | Bin 0 -> 321 bytes graphics/pokemon/electabuzz/normal.pal | 19 + graphics/pokemon/electabuzz/shiny.pal | 19 + graphics/pokemon/electrike/back.png | Bin 0 -> 499 bytes graphics/pokemon/electrike/footprint.png | Bin 0 -> 101 bytes graphics/pokemon/electrike/front.png | Bin 0 -> 511 bytes graphics/pokemon/electrike/icon.png | Bin 0 -> 352 bytes graphics/pokemon/electrike/normal.pal | 19 + graphics/pokemon/electrike/shiny.pal | 19 + graphics/pokemon/electrode/back.png | Bin 0 -> 477 bytes graphics/pokemon/electrode/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/electrode/front.png | Bin 0 -> 490 bytes graphics/pokemon/electrode/icon.png | Bin 0 -> 245 bytes graphics/pokemon/electrode/normal.pal | 19 + graphics/pokemon/electrode/shiny.pal | 19 + graphics/pokemon/elekid/back.png | Bin 0 -> 660 bytes graphics/pokemon/elekid/footprint.png | Bin 0 -> 89 bytes graphics/pokemon/elekid/front.png | Bin 0 -> 646 bytes graphics/pokemon/elekid/icon.png | Bin 0 -> 327 bytes graphics/pokemon/elekid/normal.pal | 19 + graphics/pokemon/elekid/shiny.pal | 19 + graphics/pokemon/entei/back.png | Bin 0 -> 859 bytes graphics/pokemon/entei/footprint.png | Bin 0 -> 101 bytes graphics/pokemon/entei/front.png | Bin 0 -> 1284 bytes graphics/pokemon/entei/icon.png | Bin 0 -> 453 bytes graphics/pokemon/entei/normal.pal | 19 + graphics/pokemon/entei/shiny.pal | 19 + graphics/pokemon/espeon/back.png | Bin 0 -> 554 bytes graphics/pokemon/espeon/footprint.png | Bin 0 -> 85 bytes graphics/pokemon/espeon/front.png | Bin 0 -> 659 bytes graphics/pokemon/espeon/icon.png | Bin 0 -> 354 bytes graphics/pokemon/espeon/normal.pal | 19 + graphics/pokemon/espeon/shiny.pal | 19 + graphics/pokemon/exeggcute/back.png | Bin 0 -> 597 bytes graphics/pokemon/exeggcute/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/exeggcute/front.png | Bin 0 -> 711 bytes graphics/pokemon/exeggcute/icon.png | Bin 0 -> 383 bytes graphics/pokemon/exeggcute/normal.pal | 19 + graphics/pokemon/exeggcute/shiny.pal | 19 + graphics/pokemon/exeggutor/back.png | Bin 0 -> 778 bytes graphics/pokemon/exeggutor/footprint.png | Bin 0 -> 92 bytes graphics/pokemon/exeggutor/front.png | Bin 0 -> 930 bytes graphics/pokemon/exeggutor/icon.png | Bin 0 -> 368 bytes graphics/pokemon/exeggutor/normal.pal | 19 + graphics/pokemon/exeggutor/shiny.pal | 19 + graphics/pokemon/exploud/back.png | Bin 0 -> 838 bytes graphics/pokemon/exploud/footprint.png | Bin 0 -> 108 bytes graphics/pokemon/exploud/front.png | Bin 0 -> 1157 bytes graphics/pokemon/exploud/icon.png | Bin 0 -> 447 bytes graphics/pokemon/exploud/normal.pal | 19 + graphics/pokemon/exploud/shiny.pal | 19 + graphics/pokemon/farfetch_d/back.png | Bin 0 -> 696 bytes graphics/pokemon/farfetch_d/footprint.png | Bin 0 -> 99 bytes graphics/pokemon/farfetch_d/front.png | Bin 0 -> 701 bytes graphics/pokemon/farfetch_d/icon.png | Bin 0 -> 396 bytes graphics/pokemon/farfetch_d/normal.pal | 19 + graphics/pokemon/farfetch_d/shiny.pal | 19 + graphics/pokemon/fearow/back.png | Bin 0 -> 635 bytes graphics/pokemon/fearow/footprint.png | Bin 0 -> 102 bytes graphics/pokemon/fearow/front.png | Bin 0 -> 1022 bytes graphics/pokemon/fearow/icon.png | Bin 0 -> 465 bytes graphics/pokemon/fearow/normal.pal | 19 + graphics/pokemon/fearow/shiny.pal | 19 + graphics/pokemon/feebas/back.png | Bin 0 -> 666 bytes graphics/pokemon/feebas/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/feebas/front.png | Bin 0 -> 539 bytes graphics/pokemon/feebas/icon.png | Bin 0 -> 359 bytes graphics/pokemon/feebas/normal.pal | 19 + graphics/pokemon/feebas/shiny.pal | 19 + graphics/pokemon/feraligatr/back.png | Bin 0 -> 999 bytes graphics/pokemon/feraligatr/footprint.png | Bin 0 -> 94 bytes graphics/pokemon/feraligatr/front.png | Bin 0 -> 1122 bytes graphics/pokemon/feraligatr/icon.png | Bin 0 -> 488 bytes graphics/pokemon/feraligatr/normal.pal | 19 + graphics/pokemon/feraligatr/shiny.pal | 19 + graphics/pokemon/flaaffy/back.png | Bin 0 -> 663 bytes graphics/pokemon/flaaffy/footprint.png | Bin 0 -> 81 bytes graphics/pokemon/flaaffy/front.png | Bin 0 -> 652 bytes graphics/pokemon/flaaffy/icon.png | Bin 0 -> 376 bytes graphics/pokemon/flaaffy/normal.pal | 19 + graphics/pokemon/flaaffy/shiny.pal | 19 + graphics/pokemon/flareon/back.png | Bin 0 -> 709 bytes graphics/pokemon/flareon/footprint.png | Bin 0 -> 103 bytes graphics/pokemon/flareon/front.png | Bin 0 -> 717 bytes graphics/pokemon/flareon/icon.png | Bin 0 -> 380 bytes graphics/pokemon/flareon/normal.pal | 19 + graphics/pokemon/flareon/shiny.pal | 19 + graphics/pokemon/flygon/back.png | Bin 0 -> 888 bytes graphics/pokemon/flygon/footprint.png | Bin 0 -> 92 bytes graphics/pokemon/flygon/front.png | Bin 0 -> 1076 bytes graphics/pokemon/flygon/icon.png | Bin 0 -> 411 bytes graphics/pokemon/flygon/normal.pal | 19 + graphics/pokemon/flygon/shiny.pal | 19 + graphics/pokemon/footprints/abra_footprint.png | Bin 94 -> 0 bytes graphics/pokemon/footprints/absol_footprint.png | Bin 102 -> 0 bytes .../pokemon/footprints/aerodactyl_footprint.png | Bin 92 -> 0 bytes graphics/pokemon/footprints/aggron_footprint.png | Bin 102 -> 0 bytes graphics/pokemon/footprints/aipom_footprint.png | Bin 86 -> 0 bytes graphics/pokemon/footprints/alakazam_footprint.png | Bin 95 -> 0 bytes graphics/pokemon/footprints/altaria_footprint.png | Bin 100 -> 0 bytes graphics/pokemon/footprints/ampharos_footprint.png | Bin 90 -> 0 bytes graphics/pokemon/footprints/anorith_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/arbok_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/arcanine_footprint.png | Bin 99 -> 0 bytes graphics/pokemon/footprints/ariados_footprint.png | Bin 86 -> 0 bytes graphics/pokemon/footprints/armaldo_footprint.png | Bin 95 -> 0 bytes graphics/pokemon/footprints/aron_footprint.png | Bin 90 -> 0 bytes graphics/pokemon/footprints/articuno_footprint.png | Bin 106 -> 0 bytes .../pokemon/footprints/azumarill_footprint.png | Bin 88 -> 0 bytes graphics/pokemon/footprints/azurill_footprint.png | Bin 84 -> 0 bytes graphics/pokemon/footprints/bagon_footprint.png | Bin 91 -> 0 bytes graphics/pokemon/footprints/baltoy_footprint.png | Bin 76 -> 0 bytes graphics/pokemon/footprints/banette_footprint.png | Bin 85 -> 0 bytes graphics/pokemon/footprints/barboach_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/bayleef_footprint.png | Bin 87 -> 0 bytes .../pokemon/footprints/beautifly_footprint.png | Bin 89 -> 0 bytes graphics/pokemon/footprints/beedrill_footprint.png | Bin 84 -> 0 bytes graphics/pokemon/footprints/beldum_footprint.png | Bin 82 -> 0 bytes .../pokemon/footprints/bellossom_footprint.png | Bin 71 -> 0 bytes .../pokemon/footprints/bellsprout_footprint.png | Bin 109 -> 0 bytes .../pokemon/footprints/blastoise_footprint.png | Bin 98 -> 0 bytes graphics/pokemon/footprints/blaziken_footprint.png | Bin 116 -> 0 bytes graphics/pokemon/footprints/blissey_footprint.png | Bin 96 -> 0 bytes graphics/pokemon/footprints/breloom_footprint.png | Bin 94 -> 0 bytes .../pokemon/footprints/bulbasaur_footprint.png | Bin 88 -> 0 bytes .../pokemon/footprints/butterfree_footprint.png | Bin 87 -> 0 bytes graphics/pokemon/footprints/cacnea_footprint.png | Bin 81 -> 0 bytes graphics/pokemon/footprints/cacturne_footprint.png | Bin 87 -> 0 bytes graphics/pokemon/footprints/camerupt_footprint.png | Bin 109 -> 0 bytes graphics/pokemon/footprints/carvanha_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/cascoon_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/castform_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/caterpie_footprint.png | Bin 81 -> 0 bytes graphics/pokemon/footprints/celebi_footprint.png | Bin 88 -> 0 bytes graphics/pokemon/footprints/chansey_footprint.png | Bin 88 -> 0 bytes .../pokemon/footprints/charizard_footprint.png | Bin 95 -> 0 bytes .../pokemon/footprints/charmander_footprint.png | Bin 90 -> 0 bytes .../pokemon/footprints/charmeleon_footprint.png | Bin 95 -> 0 bytes .../pokemon/footprints/chikorita_footprint.png | Bin 81 -> 0 bytes graphics/pokemon/footprints/chimecho_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/chinchou_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/clamperl_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/claydol_footprint.png | Bin 80 -> 0 bytes graphics/pokemon/footprints/clefable_footprint.png | Bin 101 -> 0 bytes graphics/pokemon/footprints/clefairy_footprint.png | Bin 85 -> 0 bytes graphics/pokemon/footprints/cleffa_footprint.png | Bin 79 -> 0 bytes graphics/pokemon/footprints/cloyster_footprint.png | Bin 71 -> 0 bytes .../pokemon/footprints/combusken_footprint.png | Bin 109 -> 0 bytes graphics/pokemon/footprints/corphish_footprint.png | Bin 102 -> 0 bytes graphics/pokemon/footprints/corsola_footprint.png | Bin 81 -> 0 bytes graphics/pokemon/footprints/cradily_footprint.png | Bin 98 -> 0 bytes .../pokemon/footprints/crawdaunt_footprint.png | Bin 104 -> 0 bytes graphics/pokemon/footprints/crobat_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/croconaw_footprint.png | Bin 85 -> 0 bytes graphics/pokemon/footprints/cubone_footprint.png | Bin 87 -> 0 bytes .../pokemon/footprints/cyndaquil_footprint.png | Bin 84 -> 0 bytes graphics/pokemon/footprints/delcatty_footprint.png | Bin 107 -> 0 bytes graphics/pokemon/footprints/delibird_footprint.png | Bin 90 -> 0 bytes graphics/pokemon/footprints/deoxys_footprint.png | Bin 84 -> 0 bytes graphics/pokemon/footprints/dewgong_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/diglett_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/ditto_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/dodrio_footprint.png | Bin 110 -> 0 bytes graphics/pokemon/footprints/doduo_footprint.png | Bin 101 -> 0 bytes graphics/pokemon/footprints/donphan_footprint.png | Bin 96 -> 0 bytes .../pokemon/footprints/dragonair_footprint.png | Bin 71 -> 0 bytes .../pokemon/footprints/dragonite_footprint.png | Bin 92 -> 0 bytes graphics/pokemon/footprints/dratini_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/drowzee_footprint.png | Bin 87 -> 0 bytes graphics/pokemon/footprints/dugtrio_footprint.png | Bin 71 -> 0 bytes .../pokemon/footprints/dunsparce_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/dusclops_footprint.png | Bin 106 -> 0 bytes graphics/pokemon/footprints/duskull_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/dustox_footprint.png | Bin 92 -> 0 bytes graphics/pokemon/footprints/eevee_footprint.png | Bin 96 -> 0 bytes graphics/pokemon/footprints/ekans_footprint.png | Bin 71 -> 0 bytes .../pokemon/footprints/electabuzz_footprint.png | Bin 93 -> 0 bytes .../pokemon/footprints/electrike_footprint.png | Bin 101 -> 0 bytes .../pokemon/footprints/electrode_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/elekid_footprint.png | Bin 89 -> 0 bytes graphics/pokemon/footprints/entei_footprint.png | Bin 101 -> 0 bytes graphics/pokemon/footprints/espeon_footprint.png | Bin 85 -> 0 bytes .../pokemon/footprints/exeggcute_footprint.png | Bin 71 -> 0 bytes .../pokemon/footprints/exeggutor_footprint.png | Bin 92 -> 0 bytes graphics/pokemon/footprints/exploud_footprint.png | Bin 108 -> 0 bytes .../pokemon/footprints/farfetch_d_footprint.png | Bin 99 -> 0 bytes graphics/pokemon/footprints/fearow_footprint.png | Bin 102 -> 0 bytes graphics/pokemon/footprints/feebas_footprint.png | Bin 71 -> 0 bytes .../pokemon/footprints/feraligatr_footprint.png | Bin 94 -> 0 bytes graphics/pokemon/footprints/flaaffy_footprint.png | Bin 81 -> 0 bytes graphics/pokemon/footprints/flareon_footprint.png | Bin 103 -> 0 bytes graphics/pokemon/footprints/flygon_footprint.png | Bin 92 -> 0 bytes .../pokemon/footprints/forretress_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/furret_footprint.png | Bin 87 -> 0 bytes .../pokemon/footprints/gardevoir_footprint.png | Bin 86 -> 0 bytes graphics/pokemon/footprints/gastly_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/gengar_footprint.png | Bin 91 -> 0 bytes graphics/pokemon/footprints/geodude_footprint.png | Bin 71 -> 0 bytes .../pokemon/footprints/girafarig_footprint.png | Bin 83 -> 0 bytes graphics/pokemon/footprints/glalie_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/gligar_footprint.png | Bin 92 -> 0 bytes graphics/pokemon/footprints/gloom_footprint.png | Bin 90 -> 0 bytes graphics/pokemon/footprints/golbat_footprint.png | Bin 94 -> 0 bytes graphics/pokemon/footprints/goldeen_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/golduck_footprint.png | Bin 98 -> 0 bytes graphics/pokemon/footprints/golem_footprint.png | Bin 97 -> 0 bytes graphics/pokemon/footprints/gorebyss_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/granbull_footprint.png | Bin 93 -> 0 bytes graphics/pokemon/footprints/graveler_footprint.png | Bin 91 -> 0 bytes graphics/pokemon/footprints/grimer_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/groudon_footprint.png | Bin 103 -> 0 bytes graphics/pokemon/footprints/grovyle_footprint.png | Bin 100 -> 0 bytes .../pokemon/footprints/growlithe_footprint.png | Bin 91 -> 0 bytes graphics/pokemon/footprints/grumpig_footprint.png | Bin 96 -> 0 bytes graphics/pokemon/footprints/gulpin_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/gyarados_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/hariyama_footprint.png | Bin 94 -> 0 bytes graphics/pokemon/footprints/haunter_footprint.png | Bin 71 -> 0 bytes .../pokemon/footprints/heracross_footprint.png | Bin 92 -> 0 bytes .../pokemon/footprints/hitmonchan_footprint.png | Bin 90 -> 0 bytes .../pokemon/footprints/hitmonlee_footprint.png | Bin 104 -> 0 bytes .../pokemon/footprints/hitmontop_footprint.png | Bin 103 -> 0 bytes graphics/pokemon/footprints/ho_oh_footprint.png | Bin 95 -> 0 bytes graphics/pokemon/footprints/hoothoot_footprint.png | Bin 102 -> 0 bytes graphics/pokemon/footprints/hoppip_footprint.png | Bin 84 -> 0 bytes graphics/pokemon/footprints/horsea_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/houndoom_footprint.png | Bin 103 -> 0 bytes graphics/pokemon/footprints/houndour_footprint.png | Bin 91 -> 0 bytes graphics/pokemon/footprints/huntail_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/hypno_footprint.png | Bin 95 -> 0 bytes .../pokemon/footprints/igglybuff_footprint.png | Bin 85 -> 0 bytes graphics/pokemon/footprints/illumise_footprint.png | Bin 84 -> 0 bytes graphics/pokemon/footprints/ivysaur_footprint.png | Bin 96 -> 0 bytes .../pokemon/footprints/jigglypuff_footprint.png | Bin 85 -> 0 bytes graphics/pokemon/footprints/jirachi_footprint.png | Bin 83 -> 0 bytes graphics/pokemon/footprints/jolteon_footprint.png | Bin 91 -> 0 bytes graphics/pokemon/footprints/jumpluff_footprint.png | Bin 84 -> 0 bytes graphics/pokemon/footprints/jynx_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/kabuto_footprint.png | Bin 76 -> 0 bytes graphics/pokemon/footprints/kabutops_footprint.png | Bin 94 -> 0 bytes graphics/pokemon/footprints/kadabra_footprint.png | Bin 100 -> 0 bytes graphics/pokemon/footprints/kakuna_footprint.png | Bin 71 -> 0 bytes .../pokemon/footprints/kangaskhan_footprint.png | Bin 96 -> 0 bytes graphics/pokemon/footprints/kecleon_footprint.png | Bin 96 -> 0 bytes graphics/pokemon/footprints/kingdra_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/kingler_footprint.png | Bin 93 -> 0 bytes graphics/pokemon/footprints/kirlia_footprint.png | Bin 81 -> 0 bytes graphics/pokemon/footprints/koffing_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/krabby_footprint.png | Bin 86 -> 0 bytes graphics/pokemon/footprints/kyogre_footprint.png | Bin 104 -> 0 bytes graphics/pokemon/footprints/lairon_footprint.png | Bin 101 -> 0 bytes graphics/pokemon/footprints/lanturn_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/lapras_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/larvitar_footprint.png | Bin 82 -> 0 bytes graphics/pokemon/footprints/latias_footprint.png | Bin 104 -> 0 bytes graphics/pokemon/footprints/latios_footprint.png | Bin 105 -> 0 bytes graphics/pokemon/footprints/ledian_footprint.png | Bin 94 -> 0 bytes graphics/pokemon/footprints/ledyba_footprint.png | Bin 99 -> 0 bytes .../pokemon/footprints/lickitung_footprint.png | Bin 102 -> 0 bytes graphics/pokemon/footprints/lileep_footprint.png | Bin 99 -> 0 bytes graphics/pokemon/footprints/linoone_footprint.png | Bin 90 -> 0 bytes graphics/pokemon/footprints/lombre_footprint.png | Bin 110 -> 0 bytes graphics/pokemon/footprints/lotad_footprint.png | Bin 88 -> 0 bytes graphics/pokemon/footprints/loudred_footprint.png | Bin 105 -> 0 bytes graphics/pokemon/footprints/ludicolo_footprint.png | Bin 94 -> 0 bytes graphics/pokemon/footprints/lugia_footprint.png | Bin 95 -> 0 bytes graphics/pokemon/footprints/lunatone_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/luvdisc_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/machamp_footprint.png | Bin 98 -> 0 bytes graphics/pokemon/footprints/machoke_footprint.png | Bin 97 -> 0 bytes graphics/pokemon/footprints/machop_footprint.png | Bin 90 -> 0 bytes graphics/pokemon/footprints/magby_footprint.png | Bin 88 -> 0 bytes graphics/pokemon/footprints/magcargo_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/magikarp_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/magmar_footprint.png | Bin 94 -> 0 bytes .../pokemon/footprints/magnemite_footprint.png | Bin 83 -> 0 bytes graphics/pokemon/footprints/magneton_footprint.png | Bin 90 -> 0 bytes graphics/pokemon/footprints/makuhita_footprint.png | Bin 97 -> 0 bytes .../pokemon/footprints/manectric_footprint.png | Bin 100 -> 0 bytes graphics/pokemon/footprints/mankey_footprint.png | Bin 110 -> 0 bytes graphics/pokemon/footprints/mantine_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/mareep_footprint.png | Bin 84 -> 0 bytes graphics/pokemon/footprints/marill_footprint.png | Bin 85 -> 0 bytes graphics/pokemon/footprints/marowak_footprint.png | Bin 86 -> 0 bytes .../pokemon/footprints/marshtomp_footprint.png | Bin 90 -> 0 bytes .../pokemon/footprints/masquerain_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/mawile_footprint.png | Bin 102 -> 0 bytes graphics/pokemon/footprints/medicham_footprint.png | Bin 92 -> 0 bytes graphics/pokemon/footprints/meditite_footprint.png | Bin 89 -> 0 bytes graphics/pokemon/footprints/meganium_footprint.png | Bin 97 -> 0 bytes graphics/pokemon/footprints/meowth_footprint.png | Bin 94 -> 0 bytes .../pokemon/footprints/metagross_footprint.png | Bin 91 -> 0 bytes graphics/pokemon/footprints/metang_footprint.png | Bin 92 -> 0 bytes graphics/pokemon/footprints/metapod_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/mew_footprint.png | Bin 88 -> 0 bytes graphics/pokemon/footprints/mewtwo_footprint.png | Bin 100 -> 0 bytes .../pokemon/footprints/mightyena_footprint.png | Bin 113 -> 0 bytes graphics/pokemon/footprints/milotic_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/miltank_footprint.png | Bin 86 -> 0 bytes graphics/pokemon/footprints/minun_footprint.png | Bin 86 -> 0 bytes .../pokemon/footprints/misdreavus_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/moltres_footprint.png | Bin 101 -> 0 bytes graphics/pokemon/footprints/mr_mime_footprint.png | Bin 89 -> 0 bytes graphics/pokemon/footprints/mudkip_footprint.png | Bin 90 -> 0 bytes graphics/pokemon/footprints/muk_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/murkrow_footprint.png | Bin 94 -> 0 bytes graphics/pokemon/footprints/natu_footprint.png | Bin 84 -> 0 bytes graphics/pokemon/footprints/nidoking_footprint.png | Bin 94 -> 0 bytes .../pokemon/footprints/nidoqueen_footprint.png | Bin 98 -> 0 bytes .../pokemon/footprints/nidoran_f_footprint.png | Bin 87 -> 0 bytes .../pokemon/footprints/nidoran_m_footprint.png | Bin 89 -> 0 bytes graphics/pokemon/footprints/nidorina_footprint.png | Bin 94 -> 0 bytes graphics/pokemon/footprints/nidorino_footprint.png | Bin 100 -> 0 bytes graphics/pokemon/footprints/nincada_footprint.png | Bin 92 -> 0 bytes .../pokemon/footprints/ninetales_footprint.png | Bin 96 -> 0 bytes graphics/pokemon/footprints/ninjask_footprint.png | Bin 91 -> 0 bytes graphics/pokemon/footprints/noctowl_footprint.png | Bin 101 -> 0 bytes graphics/pokemon/footprints/nosepass_footprint.png | Bin 96 -> 0 bytes graphics/pokemon/footprints/numel_footprint.png | Bin 87 -> 0 bytes graphics/pokemon/footprints/nuzleaf_footprint.png | Bin 101 -> 0 bytes .../pokemon/footprints/octillery_footprint.png | Bin 101 -> 0 bytes graphics/pokemon/footprints/oddish_footprint.png | Bin 81 -> 0 bytes graphics/pokemon/footprints/omanyte_footprint.png | Bin 80 -> 0 bytes graphics/pokemon/footprints/omastar_footprint.png | Bin 85 -> 0 bytes graphics/pokemon/footprints/onix_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/paras_footprint.png | Bin 83 -> 0 bytes graphics/pokemon/footprints/parasect_footprint.png | Bin 85 -> 0 bytes graphics/pokemon/footprints/pelipper_footprint.png | Bin 102 -> 0 bytes graphics/pokemon/footprints/persian_footprint.png | Bin 98 -> 0 bytes graphics/pokemon/footprints/phanpy_footprint.png | Bin 85 -> 0 bytes graphics/pokemon/footprints/pichu_footprint.png | Bin 85 -> 0 bytes graphics/pokemon/footprints/pidgeot_footprint.png | Bin 100 -> 0 bytes .../pokemon/footprints/pidgeotto_footprint.png | Bin 93 -> 0 bytes graphics/pokemon/footprints/pidgey_footprint.png | Bin 94 -> 0 bytes graphics/pokemon/footprints/pikachu_footprint.png | Bin 84 -> 0 bytes .../pokemon/footprints/piloswine_footprint.png | Bin 94 -> 0 bytes graphics/pokemon/footprints/pineco_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/pinsir_footprint.png | Bin 93 -> 0 bytes graphics/pokemon/footprints/plusle_footprint.png | Bin 86 -> 0 bytes graphics/pokemon/footprints/politoed_footprint.png | Bin 95 -> 0 bytes graphics/pokemon/footprints/poliwag_footprint.png | Bin 86 -> 0 bytes .../pokemon/footprints/poliwhirl_footprint.png | Bin 90 -> 0 bytes .../pokemon/footprints/poliwrath_footprint.png | Bin 92 -> 0 bytes graphics/pokemon/footprints/ponyta_footprint.png | Bin 90 -> 0 bytes .../pokemon/footprints/poochyena_footprint.png | Bin 107 -> 0 bytes graphics/pokemon/footprints/porygon2_footprint.png | Bin 87 -> 0 bytes graphics/pokemon/footprints/porygon_footprint.png | Bin 88 -> 0 bytes graphics/pokemon/footprints/primeape_footprint.png | Bin 99 -> 0 bytes graphics/pokemon/footprints/psyduck_footprint.png | Bin 95 -> 0 bytes graphics/pokemon/footprints/pupitar_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/quagsire_footprint.png | Bin 88 -> 0 bytes .../pokemon/footprints/question_mark_footprint.png | Bin 110 -> 0 bytes graphics/pokemon/footprints/quilava_footprint.png | Bin 85 -> 0 bytes graphics/pokemon/footprints/qwilfish_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/raichu_footprint.png | Bin 87 -> 0 bytes graphics/pokemon/footprints/raikou_footprint.png | Bin 95 -> 0 bytes graphics/pokemon/footprints/ralts_footprint.png | Bin 76 -> 0 bytes graphics/pokemon/footprints/rapidash_footprint.png | Bin 94 -> 0 bytes graphics/pokemon/footprints/raticate_footprint.png | Bin 95 -> 0 bytes graphics/pokemon/footprints/rattata_footprint.png | Bin 88 -> 0 bytes graphics/pokemon/footprints/rayquaza_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/regice_footprint.png | Bin 76 -> 0 bytes graphics/pokemon/footprints/regirock_footprint.png | Bin 100 -> 0 bytes .../pokemon/footprints/registeel_footprint.png | Bin 105 -> 0 bytes .../pokemon/footprints/relicanth_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/remoraid_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/rhydon_footprint.png | Bin 97 -> 0 bytes graphics/pokemon/footprints/rhyhorn_footprint.png | Bin 85 -> 0 bytes graphics/pokemon/footprints/roselia_footprint.png | Bin 82 -> 0 bytes graphics/pokemon/footprints/sableye_footprint.png | Bin 84 -> 0 bytes .../pokemon/footprints/salamence_footprint.png | Bin 102 -> 0 bytes .../pokemon/footprints/sandshrew_footprint.png | Bin 91 -> 0 bytes .../pokemon/footprints/sandslash_footprint.png | Bin 90 -> 0 bytes graphics/pokemon/footprints/sceptile_footprint.png | Bin 99 -> 0 bytes graphics/pokemon/footprints/scizor_footprint.png | Bin 87 -> 0 bytes graphics/pokemon/footprints/scyther_footprint.png | Bin 99 -> 0 bytes graphics/pokemon/footprints/seadra_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/seaking_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/sealeo_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/seedot_footprint.png | Bin 90 -> 0 bytes graphics/pokemon/footprints/seel_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/sentret_footprint.png | Bin 85 -> 0 bytes graphics/pokemon/footprints/seviper_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/sharpedo_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/shedinja_footprint.png | Bin 92 -> 0 bytes graphics/pokemon/footprints/shelgon_footprint.png | Bin 88 -> 0 bytes graphics/pokemon/footprints/shellder_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/shiftry_footprint.png | Bin 76 -> 0 bytes .../pokemon/footprints/shroomish_footprint.png | Bin 89 -> 0 bytes graphics/pokemon/footprints/shuckle_footprint.png | Bin 86 -> 0 bytes graphics/pokemon/footprints/shuppet_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/silcoon_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/skarmory_footprint.png | Bin 101 -> 0 bytes graphics/pokemon/footprints/skiploom_footprint.png | Bin 87 -> 0 bytes graphics/pokemon/footprints/skitty_footprint.png | Bin 106 -> 0 bytes graphics/pokemon/footprints/slaking_footprint.png | Bin 114 -> 0 bytes graphics/pokemon/footprints/slakoth_footprint.png | Bin 97 -> 0 bytes graphics/pokemon/footprints/slowbro_footprint.png | Bin 90 -> 0 bytes graphics/pokemon/footprints/slowking_footprint.png | Bin 84 -> 0 bytes graphics/pokemon/footprints/slowpoke_footprint.png | Bin 85 -> 0 bytes graphics/pokemon/footprints/slugma_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/smeargle_footprint.png | Bin 94 -> 0 bytes graphics/pokemon/footprints/smoochum_footprint.png | Bin 83 -> 0 bytes graphics/pokemon/footprints/sneasel_footprint.png | Bin 93 -> 0 bytes graphics/pokemon/footprints/snorlax_footprint.png | Bin 102 -> 0 bytes graphics/pokemon/footprints/snorunt_footprint.png | Bin 91 -> 0 bytes graphics/pokemon/footprints/snubbull_footprint.png | Bin 89 -> 0 bytes graphics/pokemon/footprints/solrock_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/spearow_footprint.png | Bin 94 -> 0 bytes graphics/pokemon/footprints/spheal_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/spinarak_footprint.png | Bin 76 -> 0 bytes graphics/pokemon/footprints/spinda_footprint.png | Bin 94 -> 0 bytes graphics/pokemon/footprints/spoink_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/squirtle_footprint.png | Bin 89 -> 0 bytes graphics/pokemon/footprints/stantler_footprint.png | Bin 86 -> 0 bytes graphics/pokemon/footprints/starmie_footprint.png | Bin 81 -> 0 bytes graphics/pokemon/footprints/staryu_footprint.png | Bin 81 -> 0 bytes graphics/pokemon/footprints/steelix_footprint.png | Bin 71 -> 0 bytes .../pokemon/footprints/sudowoodo_footprint.png | Bin 87 -> 0 bytes graphics/pokemon/footprints/suicune_footprint.png | Bin 84 -> 0 bytes graphics/pokemon/footprints/sunflora_footprint.png | Bin 89 -> 0 bytes graphics/pokemon/footprints/sunkern_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/surskit_footprint.png | Bin 87 -> 0 bytes graphics/pokemon/footprints/swablu_footprint.png | Bin 82 -> 0 bytes graphics/pokemon/footprints/swalot_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/swampert_footprint.png | Bin 103 -> 0 bytes graphics/pokemon/footprints/swellow_footprint.png | Bin 107 -> 0 bytes graphics/pokemon/footprints/swinub_footprint.png | Bin 81 -> 0 bytes graphics/pokemon/footprints/taillow_footprint.png | Bin 97 -> 0 bytes graphics/pokemon/footprints/tangela_footprint.png | Bin 97 -> 0 bytes graphics/pokemon/footprints/tauros_footprint.png | Bin 91 -> 0 bytes .../pokemon/footprints/teddiursa_footprint.png | Bin 91 -> 0 bytes .../pokemon/footprints/tentacool_footprint.png | Bin 71 -> 0 bytes .../pokemon/footprints/tentacruel_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/togepi_footprint.png | Bin 90 -> 0 bytes graphics/pokemon/footprints/togetic_footprint.png | Bin 90 -> 0 bytes graphics/pokemon/footprints/torchic_footprint.png | Bin 103 -> 0 bytes graphics/pokemon/footprints/torkoal_footprint.png | Bin 104 -> 0 bytes graphics/pokemon/footprints/totodile_footprint.png | Bin 88 -> 0 bytes graphics/pokemon/footprints/trapinch_footprint.png | Bin 95 -> 0 bytes graphics/pokemon/footprints/treecko_footprint.png | Bin 96 -> 0 bytes graphics/pokemon/footprints/tropius_footprint.png | Bin 109 -> 0 bytes .../pokemon/footprints/typhlosion_footprint.png | Bin 88 -> 0 bytes .../pokemon/footprints/tyranitar_footprint.png | Bin 97 -> 0 bytes graphics/pokemon/footprints/tyrogue_footprint.png | Bin 81 -> 0 bytes graphics/pokemon/footprints/umbreon_footprint.png | Bin 81 -> 0 bytes graphics/pokemon/footprints/unown_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/ursaring_footprint.png | Bin 99 -> 0 bytes graphics/pokemon/footprints/vaporeon_footprint.png | Bin 94 -> 0 bytes graphics/pokemon/footprints/venomoth_footprint.png | Bin 76 -> 0 bytes graphics/pokemon/footprints/venonat_footprint.png | Bin 89 -> 0 bytes graphics/pokemon/footprints/venusaur_footprint.png | Bin 96 -> 0 bytes graphics/pokemon/footprints/vibrava_footprint.png | Bin 86 -> 0 bytes .../pokemon/footprints/victreebel_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/vigoroth_footprint.png | Bin 110 -> 0 bytes .../pokemon/footprints/vileplume_footprint.png | Bin 89 -> 0 bytes graphics/pokemon/footprints/volbeat_footprint.png | Bin 84 -> 0 bytes graphics/pokemon/footprints/voltorb_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/vulpix_footprint.png | Bin 95 -> 0 bytes graphics/pokemon/footprints/wailmer_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/wailord_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/walrein_footprint.png | Bin 71 -> 0 bytes .../pokemon/footprints/wartortle_footprint.png | Bin 93 -> 0 bytes graphics/pokemon/footprints/weedle_footprint.png | Bin 81 -> 0 bytes .../pokemon/footprints/weepinbell_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/weezing_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/whiscash_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/footprints/whismur_footprint.png | Bin 114 -> 0 bytes .../pokemon/footprints/wigglytuff_footprint.png | Bin 89 -> 0 bytes graphics/pokemon/footprints/wingull_footprint.png | Bin 92 -> 0 bytes .../pokemon/footprints/wobbuffet_footprint.png | Bin 81 -> 0 bytes graphics/pokemon/footprints/wooper_footprint.png | Bin 81 -> 0 bytes graphics/pokemon/footprints/wurmple_footprint.png | Bin 81 -> 0 bytes graphics/pokemon/footprints/wynaut_footprint.png | Bin 88 -> 0 bytes graphics/pokemon/footprints/xatu_footprint.png | Bin 88 -> 0 bytes graphics/pokemon/footprints/yanma_footprint.png | Bin 84 -> 0 bytes graphics/pokemon/footprints/zangoose_footprint.png | Bin 103 -> 0 bytes graphics/pokemon/footprints/zapdos_footprint.png | Bin 104 -> 0 bytes .../pokemon/footprints/zigzagoon_footprint.png | Bin 100 -> 0 bytes graphics/pokemon/footprints/zubat_footprint.png | Bin 71 -> 0 bytes graphics/pokemon/forretress/back.png | Bin 0 -> 525 bytes graphics/pokemon/forretress/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/forretress/front.png | Bin 0 -> 835 bytes graphics/pokemon/forretress/icon.png | Bin 0 -> 332 bytes graphics/pokemon/forretress/normal.pal | 19 + graphics/pokemon/forretress/shiny.pal | 19 + .../pokemon/front_pics/abra_still_front_pic.png | Bin 575 -> 0 bytes .../pokemon/front_pics/absol_still_front_pic.png | Bin 890 -> 0 bytes .../front_pics/aerodactyl_still_front_pic.png | Bin 917 -> 0 bytes .../pokemon/front_pics/aggron_still_front_pic.png | Bin 1158 -> 0 bytes .../pokemon/front_pics/aipom_still_front_pic.png | Bin 639 -> 0 bytes .../front_pics/alakazam_still_front_pic.png | Bin 1015 -> 0 bytes .../pokemon/front_pics/altaria_still_front_pic.png | Bin 825 -> 0 bytes .../front_pics/ampharos_still_front_pic.png | Bin 721 -> 0 bytes .../pokemon/front_pics/anorith_still_front_pic.png | Bin 691 -> 0 bytes .../pokemon/front_pics/arbok_still_front_pic.png | Bin 899 -> 0 bytes .../front_pics/arcanine_still_front_pic.png | Bin 1061 -> 0 bytes .../pokemon/front_pics/ariados_still_front_pic.png | Bin 850 -> 0 bytes .../pokemon/front_pics/armaldo_still_front_pic.png | Bin 1165 -> 0 bytes .../pokemon/front_pics/aron_still_front_pic.png | Bin 384 -> 0 bytes .../front_pics/articuno_still_front_pic.png | Bin 1072 -> 0 bytes .../front_pics/azumarill_still_front_pic.png | Bin 631 -> 0 bytes .../pokemon/front_pics/azurill_still_front_pic.png | Bin 589 -> 0 bytes .../pokemon/front_pics/bagon_still_front_pic.png | Bin 512 -> 0 bytes .../pokemon/front_pics/baltoy_still_front_pic.png | Bin 416 -> 0 bytes .../pokemon/front_pics/banette_still_front_pic.png | Bin 546 -> 0 bytes .../front_pics/barboach_still_front_pic.png | Bin 565 -> 0 bytes .../pokemon/front_pics/bayleef_still_front_pic.png | Bin 815 -> 0 bytes .../front_pics/beautifly_still_front_pic.png | Bin 699 -> 0 bytes .../front_pics/beedrill_still_front_pic.png | Bin 913 -> 0 bytes .../pokemon/front_pics/beldum_still_front_pic.png | Bin 465 -> 0 bytes .../front_pics/bellossom_still_front_pic.png | Bin 520 -> 0 bytes .../front_pics/bellsprout_still_front_pic.png | Bin 547 -> 0 bytes .../front_pics/blastoise_still_front_pic.png | Bin 1076 -> 0 bytes .../front_pics/blaziken_still_front_pic.png | Bin 967 -> 0 bytes .../pokemon/front_pics/blissey_still_front_pic.png | Bin 827 -> 0 bytes .../pokemon/front_pics/breloom_still_front_pic.png | Bin 849 -> 0 bytes .../front_pics/bulbasaur_still_front_pic.png | Bin 558 -> 0 bytes .../front_pics/butterfree_still_front_pic.png | Bin 748 -> 0 bytes .../pokemon/front_pics/cacnea_still_front_pic.png | Bin 662 -> 0 bytes .../front_pics/cacturne_still_front_pic.png | Bin 917 -> 0 bytes .../front_pics/camerupt_still_front_pic.png | Bin 839 -> 0 bytes .../front_pics/carvanha_still_front_pic.png | Bin 692 -> 0 bytes .../pokemon/front_pics/cascoon_still_front_pic.png | Bin 493 -> 0 bytes .../castform_normal_form_still_front_pic.png | Bin 382 -> 0 bytes .../castform_rainy_form_still_front_pic.png | Bin 549 -> 0 bytes .../castform_snowy_form_still_front_pic.png | Bin 688 -> 0 bytes .../castform_sunny_form_still_front_pic.png | Bin 656 -> 0 bytes .../front_pics/caterpie_still_front_pic.png | Bin 501 -> 0 bytes .../pokemon/front_pics/celebi_still_front_pic.png | Bin 514 -> 0 bytes .../pokemon/front_pics/chansey_still_front_pic.png | Bin 669 -> 0 bytes .../front_pics/charizard_still_front_pic.png | Bin 1090 -> 0 bytes .../front_pics/charmander_still_front_pic.png | Bin 566 -> 0 bytes .../front_pics/charmeleon_still_front_pic.png | Bin 781 -> 0 bytes .../front_pics/chikorita_still_front_pic.png | Bin 507 -> 0 bytes .../front_pics/chimecho_still_front_pic.png | Bin 458 -> 0 bytes .../front_pics/chinchou_still_front_pic.png | Bin 607 -> 0 bytes .../circled_question_mark_still_front_pic.png | Bin 397 -> 0 bytes .../front_pics/clamperl_still_front_pic.png | Bin 611 -> 0 bytes .../pokemon/front_pics/claydol_still_front_pic.png | Bin 771 -> 0 bytes .../front_pics/clefable_still_front_pic.png | Bin 674 -> 0 bytes .../front_pics/clefairy_still_front_pic.png | Bin 540 -> 0 bytes .../pokemon/front_pics/cleffa_still_front_pic.png | Bin 381 -> 0 bytes .../front_pics/cloyster_still_front_pic.png | Bin 875 -> 0 bytes .../front_pics/combusken_still_front_pic.png | Bin 838 -> 0 bytes .../front_pics/corphish_still_front_pic.png | Bin 704 -> 0 bytes .../pokemon/front_pics/corsola_still_front_pic.png | Bin 601 -> 0 bytes .../pokemon/front_pics/cradily_still_front_pic.png | Bin 887 -> 0 bytes .../front_pics/crawdaunt_still_front_pic.png | Bin 1006 -> 0 bytes .../pokemon/front_pics/crobat_still_front_pic.png | Bin 780 -> 0 bytes .../front_pics/croconaw_still_front_pic.png | Bin 730 -> 0 bytes .../pokemon/front_pics/cubone_still_front_pic.png | Bin 572 -> 0 bytes .../front_pics/cyndaquil_still_front_pic.png | Bin 546 -> 0 bytes .../front_pics/delcatty_still_front_pic.png | Bin 765 -> 0 bytes .../front_pics/delibird_still_front_pic.png | Bin 733 -> 0 bytes .../pokemon/front_pics/deoxys_still_front_pic.png | Bin 1579 -> 0 bytes .../pokemon/front_pics/dewgong_still_front_pic.png | Bin 763 -> 0 bytes .../pokemon/front_pics/diglett_still_front_pic.png | Bin 424 -> 0 bytes .../pokemon/front_pics/ditto_still_front_pic.png | Bin 377 -> 0 bytes .../pokemon/front_pics/dodrio_still_front_pic.png | Bin 910 -> 0 bytes .../pokemon/front_pics/doduo_still_front_pic.png | Bin 619 -> 0 bytes .../pokemon/front_pics/donphan_still_front_pic.png | Bin 923 -> 0 bytes .../double_question_mark_still_front_pic.png | Bin 308 -> 0 bytes .../front_pics/dragonair_still_front_pic.png | Bin 758 -> 0 bytes .../front_pics/dragonite_still_front_pic.png | Bin 1172 -> 0 bytes .../pokemon/front_pics/dratini_still_front_pic.png | Bin 568 -> 0 bytes .../pokemon/front_pics/drowzee_still_front_pic.png | Bin 653 -> 0 bytes .../pokemon/front_pics/dugtrio_still_front_pic.png | Bin 642 -> 0 bytes .../front_pics/dunsparce_still_front_pic.png | Bin 645 -> 0 bytes .../front_pics/dusclops_still_front_pic.png | Bin 741 -> 0 bytes .../pokemon/front_pics/duskull_still_front_pic.png | Bin 616 -> 0 bytes .../pokemon/front_pics/dustox_still_front_pic.png | Bin 724 -> 0 bytes .../pokemon/front_pics/eevee_still_front_pic.png | Bin 597 -> 0 bytes .../pokemon/front_pics/egg_still_front_pic.png | Bin 318 -> 0 bytes .../pokemon/front_pics/ekans_still_front_pic.png | Bin 566 -> 0 bytes .../front_pics/electabuzz_still_front_pic.png | Bin 882 -> 0 bytes .../front_pics/electrike_still_front_pic.png | Bin 511 -> 0 bytes .../front_pics/electrode_still_front_pic.png | Bin 490 -> 0 bytes .../pokemon/front_pics/elekid_still_front_pic.png | Bin 646 -> 0 bytes .../pokemon/front_pics/entei_still_front_pic.png | Bin 1284 -> 0 bytes .../pokemon/front_pics/espeon_still_front_pic.png | Bin 659 -> 0 bytes .../front_pics/exeggcute_still_front_pic.png | Bin 711 -> 0 bytes .../front_pics/exeggutor_still_front_pic.png | Bin 930 -> 0 bytes .../pokemon/front_pics/exploud_still_front_pic.png | Bin 1157 -> 0 bytes .../front_pics/farfetch_d_still_front_pic.png | Bin 701 -> 0 bytes .../pokemon/front_pics/fearow_still_front_pic.png | Bin 1022 -> 0 bytes .../pokemon/front_pics/feebas_still_front_pic.png | Bin 539 -> 0 bytes .../front_pics/feraligatr_still_front_pic.png | Bin 1122 -> 0 bytes .../pokemon/front_pics/flaaffy_still_front_pic.png | Bin 652 -> 0 bytes .../pokemon/front_pics/flareon_still_front_pic.png | Bin 717 -> 0 bytes .../pokemon/front_pics/flygon_still_front_pic.png | Bin 1076 -> 0 bytes .../front_pics/forretress_still_front_pic.png | Bin 835 -> 0 bytes .../pokemon/front_pics/furret_still_front_pic.png | Bin 659 -> 0 bytes .../front_pics/gardevoir_still_front_pic.png | Bin 737 -> 0 bytes .../pokemon/front_pics/gastly_still_front_pic.png | Bin 772 -> 0 bytes .../pokemon/front_pics/gengar_still_front_pic.png | Bin 704 -> 0 bytes .../pokemon/front_pics/geodude_still_front_pic.png | Bin 486 -> 0 bytes .../front_pics/girafarig_still_front_pic.png | Bin 871 -> 0 bytes .../pokemon/front_pics/glalie_still_front_pic.png | Bin 788 -> 0 bytes .../pokemon/front_pics/gligar_still_front_pic.png | Bin 914 -> 0 bytes .../pokemon/front_pics/gloom_still_front_pic.png | Bin 727 -> 0 bytes .../pokemon/front_pics/golbat_still_front_pic.png | Bin 764 -> 0 bytes .../pokemon/front_pics/goldeen_still_front_pic.png | Bin 725 -> 0 bytes .../pokemon/front_pics/golduck_still_front_pic.png | Bin 799 -> 0 bytes .../pokemon/front_pics/golem_still_front_pic.png | Bin 876 -> 0 bytes .../front_pics/gorebyss_still_front_pic.png | Bin 659 -> 0 bytes .../front_pics/granbull_still_front_pic.png | Bin 720 -> 0 bytes .../front_pics/graveler_still_front_pic.png | Bin 767 -> 0 bytes .../pokemon/front_pics/grimer_still_front_pic.png | Bin 626 -> 0 bytes .../pokemon/front_pics/groudon_still_front_pic.png | Bin 1247 -> 0 bytes .../pokemon/front_pics/grovyle_still_front_pic.png | Bin 970 -> 0 bytes .../front_pics/growlithe_still_front_pic.png | Bin 657 -> 0 bytes .../pokemon/front_pics/grumpig_still_front_pic.png | Bin 831 -> 0 bytes .../pokemon/front_pics/gulpin_still_front_pic.png | Bin 428 -> 0 bytes .../front_pics/gyarados_still_front_pic.png | Bin 1229 -> 0 bytes .../front_pics/hariyama_still_front_pic.png | Bin 1006 -> 0 bytes .../pokemon/front_pics/haunter_still_front_pic.png | Bin 806 -> 0 bytes .../front_pics/heracross_still_front_pic.png | Bin 811 -> 0 bytes .../front_pics/hitmonchan_still_front_pic.png | Bin 693 -> 0 bytes .../front_pics/hitmonlee_still_front_pic.png | Bin 739 -> 0 bytes .../front_pics/hitmontop_still_front_pic.png | Bin 772 -> 0 bytes .../pokemon/front_pics/ho_oh_still_front_pic.png | Bin 1332 -> 0 bytes .../front_pics/hoothoot_still_front_pic.png | Bin 525 -> 0 bytes .../pokemon/front_pics/hoppip_still_front_pic.png | Bin 551 -> 0 bytes .../pokemon/front_pics/horsea_still_front_pic.png | Bin 510 -> 0 bytes .../front_pics/houndoom_still_front_pic.png | Bin 853 -> 0 bytes .../front_pics/houndour_still_front_pic.png | Bin 558 -> 0 bytes .../pokemon/front_pics/huntail_still_front_pic.png | Bin 833 -> 0 bytes .../pokemon/front_pics/hypno_still_front_pic.png | Bin 862 -> 0 bytes .../front_pics/igglybuff_still_front_pic.png | Bin 376 -> 0 bytes .../front_pics/illumise_still_front_pic.png | Bin 729 -> 0 bytes .../pokemon/front_pics/ivysaur_still_front_pic.png | Bin 689 -> 0 bytes .../front_pics/jigglypuff_still_front_pic.png | Bin 496 -> 0 bytes .../pokemon/front_pics/jirachi_still_front_pic.png | Bin 637 -> 0 bytes .../pokemon/front_pics/jolteon_still_front_pic.png | Bin 706 -> 0 bytes .../front_pics/jumpluff_still_front_pic.png | Bin 734 -> 0 bytes .../pokemon/front_pics/jynx_still_front_pic.png | Bin 832 -> 0 bytes .../pokemon/front_pics/kabuto_still_front_pic.png | Bin 440 -> 0 bytes .../front_pics/kabutops_still_front_pic.png | Bin 844 -> 0 bytes .../pokemon/front_pics/kadabra_still_front_pic.png | Bin 1016 -> 0 bytes .../pokemon/front_pics/kakuna_still_front_pic.png | Bin 442 -> 0 bytes .../front_pics/kangaskhan_still_front_pic.png | Bin 981 -> 0 bytes .../pokemon/front_pics/kecleon_still_front_pic.png | Bin 762 -> 0 bytes .../pokemon/front_pics/kingdra_still_front_pic.png | Bin 858 -> 0 bytes .../pokemon/front_pics/kingler_still_front_pic.png | Bin 936 -> 0 bytes .../pokemon/front_pics/kirlia_still_front_pic.png | Bin 618 -> 0 bytes .../pokemon/front_pics/koffing_still_front_pic.png | Bin 634 -> 0 bytes .../pokemon/front_pics/krabby_still_front_pic.png | Bin 633 -> 0 bytes .../pokemon/front_pics/kyogre_still_front_pic.png | Bin 965 -> 0 bytes .../pokemon/front_pics/lairon_still_front_pic.png | Bin 814 -> 0 bytes .../pokemon/front_pics/lanturn_still_front_pic.png | Bin 738 -> 0 bytes .../pokemon/front_pics/lapras_still_front_pic.png | Bin 811 -> 0 bytes .../front_pics/larvitar_still_front_pic.png | Bin 480 -> 0 bytes .../pokemon/front_pics/latias_still_front_pic.png | Bin 867 -> 0 bytes .../pokemon/front_pics/latios_still_front_pic.png | Bin 959 -> 0 bytes .../pokemon/front_pics/ledian_still_front_pic.png | Bin 766 -> 0 bytes .../pokemon/front_pics/ledyba_still_front_pic.png | Bin 637 -> 0 bytes .../front_pics/lickitung_still_front_pic.png | Bin 821 -> 0 bytes .../pokemon/front_pics/lileep_still_front_pic.png | Bin 692 -> 0 bytes .../pokemon/front_pics/linoone_still_front_pic.png | Bin 703 -> 0 bytes .../pokemon/front_pics/lombre_still_front_pic.png | Bin 647 -> 0 bytes .../pokemon/front_pics/lotad_still_front_pic.png | Bin 492 -> 0 bytes .../pokemon/front_pics/loudred_still_front_pic.png | Bin 936 -> 0 bytes .../front_pics/ludicolo_still_front_pic.png | Bin 1040 -> 0 bytes .../pokemon/front_pics/lugia_still_front_pic.png | Bin 1030 -> 0 bytes .../front_pics/lunatone_still_front_pic.png | Bin 660 -> 0 bytes .../pokemon/front_pics/luvdisc_still_front_pic.png | Bin 328 -> 0 bytes .../pokemon/front_pics/machamp_still_front_pic.png | Bin 1046 -> 0 bytes .../pokemon/front_pics/machoke_still_front_pic.png | Bin 796 -> 0 bytes .../pokemon/front_pics/machop_still_front_pic.png | Bin 516 -> 0 bytes .../pokemon/front_pics/magby_still_front_pic.png | Bin 506 -> 0 bytes .../front_pics/magcargo_still_front_pic.png | Bin 708 -> 0 bytes .../front_pics/magikarp_still_front_pic.png | Bin 753 -> 0 bytes .../pokemon/front_pics/magmar_still_front_pic.png | Bin 921 -> 0 bytes .../front_pics/magnemite_still_front_pic.png | Bin 390 -> 0 bytes .../front_pics/magneton_still_front_pic.png | Bin 707 -> 0 bytes .../front_pics/makuhita_still_front_pic.png | Bin 637 -> 0 bytes .../front_pics/manectric_still_front_pic.png | Bin 685 -> 0 bytes .../pokemon/front_pics/mankey_still_front_pic.png | Bin 646 -> 0 bytes .../pokemon/front_pics/mantine_still_front_pic.png | Bin 983 -> 0 bytes .../pokemon/front_pics/mareep_still_front_pic.png | Bin 571 -> 0 bytes .../pokemon/front_pics/marill_still_front_pic.png | Bin 563 -> 0 bytes .../pokemon/front_pics/marowak_still_front_pic.png | Bin 753 -> 0 bytes .../front_pics/marshtomp_still_front_pic.png | Bin 736 -> 0 bytes .../front_pics/masquerain_still_front_pic.png | Bin 782 -> 0 bytes .../pokemon/front_pics/mawile_still_front_pic.png | Bin 774 -> 0 bytes .../front_pics/medicham_still_front_pic.png | Bin 711 -> 0 bytes .../front_pics/meditite_still_front_pic.png | Bin 573 -> 0 bytes .../front_pics/meganium_still_front_pic.png | Bin 1117 -> 0 bytes .../pokemon/front_pics/meowth_still_front_pic.png | Bin 637 -> 0 bytes .../front_pics/metagross_still_front_pic.png | Bin 911 -> 0 bytes .../pokemon/front_pics/metang_still_front_pic.png | Bin 899 -> 0 bytes .../pokemon/front_pics/metapod_still_front_pic.png | Bin 406 -> 0 bytes .../pokemon/front_pics/mew_still_front_pic.png | Bin 577 -> 0 bytes .../pokemon/front_pics/mewtwo_still_front_pic.png | Bin 875 -> 0 bytes .../front_pics/mightyena_still_front_pic.png | Bin 856 -> 0 bytes .../pokemon/front_pics/milotic_still_front_pic.png | Bin 966 -> 0 bytes .../pokemon/front_pics/miltank_still_front_pic.png | Bin 791 -> 0 bytes .../pokemon/front_pics/minun_still_front_pic.png | Bin 505 -> 0 bytes .../front_pics/misdreavus_still_front_pic.png | Bin 590 -> 0 bytes .../pokemon/front_pics/moltres_still_front_pic.png | Bin 1014 -> 0 bytes .../pokemon/front_pics/mr_mime_still_front_pic.png | Bin 821 -> 0 bytes .../pokemon/front_pics/mudkip_still_front_pic.png | Bin 572 -> 0 bytes .../pokemon/front_pics/muk_still_front_pic.png | Bin 710 -> 0 bytes .../pokemon/front_pics/murkrow_still_front_pic.png | Bin 601 -> 0 bytes .../pokemon/front_pics/natu_still_front_pic.png | Bin 375 -> 0 bytes .../front_pics/nidoking_still_front_pic.png | Bin 1084 -> 0 bytes .../front_pics/nidoqueen_still_front_pic.png | Bin 893 -> 0 bytes .../front_pics/nidoran_f_still_front_pic.png | Bin 480 -> 0 bytes .../front_pics/nidoran_m_still_front_pic.png | Bin 505 -> 0 bytes .../front_pics/nidorina_still_front_pic.png | Bin 632 -> 0 bytes .../front_pics/nidorino_still_front_pic.png | Bin 716 -> 0 bytes .../pokemon/front_pics/nincada_still_front_pic.png | Bin 578 -> 0 bytes .../front_pics/ninetales_still_front_pic.png | Bin 885 -> 0 bytes .../pokemon/front_pics/ninjask_still_front_pic.png | Bin 740 -> 0 bytes .../pokemon/front_pics/noctowl_still_front_pic.png | Bin 700 -> 0 bytes .../front_pics/nosepass_still_front_pic.png | Bin 565 -> 0 bytes .../pokemon/front_pics/numel_still_front_pic.png | Bin 574 -> 0 bytes .../pokemon/front_pics/nuzleaf_still_front_pic.png | Bin 624 -> 0 bytes .../front_pics/octillery_still_front_pic.png | Bin 653 -> 0 bytes .../pokemon/front_pics/oddish_still_front_pic.png | Bin 451 -> 0 bytes .../pokemon/front_pics/omanyte_still_front_pic.png | Bin 514 -> 0 bytes .../pokemon/front_pics/omastar_still_front_pic.png | Bin 783 -> 0 bytes .../pokemon/front_pics/onix_still_front_pic.png | Bin 929 -> 0 bytes .../pokemon/front_pics/paras_still_front_pic.png | Bin 505 -> 0 bytes .../front_pics/parasect_still_front_pic.png | Bin 721 -> 0 bytes .../front_pics/pelipper_still_front_pic.png | Bin 771 -> 0 bytes .../pokemon/front_pics/persian_still_front_pic.png | Bin 710 -> 0 bytes .../pokemon/front_pics/phanpy_still_front_pic.png | Bin 462 -> 0 bytes .../pokemon/front_pics/pichu_still_front_pic.png | Bin 447 -> 0 bytes .../pokemon/front_pics/pidgeot_still_front_pic.png | Bin 1085 -> 0 bytes .../front_pics/pidgeotto_still_front_pic.png | Bin 783 -> 0 bytes .../pokemon/front_pics/pidgey_still_front_pic.png | Bin 515 -> 0 bytes .../pokemon/front_pics/pikachu_still_front_pic.png | Bin 600 -> 0 bytes .../front_pics/piloswine_still_front_pic.png | Bin 643 -> 0 bytes .../pokemon/front_pics/pineco_still_front_pic.png | Bin 646 -> 0 bytes .../pokemon/front_pics/pinsir_still_front_pic.png | Bin 867 -> 0 bytes .../pokemon/front_pics/plusle_still_front_pic.png | Bin 524 -> 0 bytes .../front_pics/politoed_still_front_pic.png | Bin 706 -> 0 bytes .../pokemon/front_pics/poliwag_still_front_pic.png | Bin 526 -> 0 bytes .../front_pics/poliwhirl_still_front_pic.png | Bin 725 -> 0 bytes .../front_pics/poliwrath_still_front_pic.png | Bin 777 -> 0 bytes .../pokemon/front_pics/ponyta_still_front_pic.png | Bin 752 -> 0 bytes .../front_pics/poochyena_still_front_pic.png | Bin 570 -> 0 bytes .../front_pics/porygon2_still_front_pic.png | Bin 541 -> 0 bytes .../pokemon/front_pics/porygon_still_front_pic.png | Bin 559 -> 0 bytes .../front_pics/primeape_still_front_pic.png | Bin 777 -> 0 bytes .../pokemon/front_pics/psyduck_still_front_pic.png | Bin 589 -> 0 bytes .../pokemon/front_pics/pupitar_still_front_pic.png | Bin 594 -> 0 bytes .../front_pics/quagsire_still_front_pic.png | Bin 706 -> 0 bytes .../pokemon/front_pics/quilava_still_front_pic.png | Bin 671 -> 0 bytes .../front_pics/qwilfish_still_front_pic.png | Bin 566 -> 0 bytes .../pokemon/front_pics/raichu_still_front_pic.png | Bin 877 -> 0 bytes .../pokemon/front_pics/raikou_still_front_pic.png | Bin 1155 -> 0 bytes .../pokemon/front_pics/ralts_still_front_pic.png | Bin 433 -> 0 bytes .../front_pics/rapidash_still_front_pic.png | Bin 986 -> 0 bytes .../front_pics/raticate_still_front_pic.png | Bin 754 -> 0 bytes .../pokemon/front_pics/rattata_still_front_pic.png | Bin 488 -> 0 bytes .../front_pics/rayquaza_still_front_pic.png | Bin 1059 -> 0 bytes .../pokemon/front_pics/regice_still_front_pic.png | Bin 883 -> 0 bytes .../front_pics/regirock_still_front_pic.png | Bin 965 -> 0 bytes .../front_pics/registeel_still_front_pic.png | Bin 948 -> 0 bytes .../front_pics/relicanth_still_front_pic.png | Bin 759 -> 0 bytes .../front_pics/remoraid_still_front_pic.png | Bin 483 -> 0 bytes .../pokemon/front_pics/rhydon_still_front_pic.png | Bin 1039 -> 0 bytes .../pokemon/front_pics/rhyhorn_still_front_pic.png | Bin 789 -> 0 bytes .../pokemon/front_pics/roselia_still_front_pic.png | Bin 745 -> 0 bytes .../pokemon/front_pics/sableye_still_front_pic.png | Bin 619 -> 0 bytes .../front_pics/salamence_still_front_pic.png | Bin 918 -> 0 bytes .../front_pics/sandshrew_still_front_pic.png | Bin 600 -> 0 bytes .../front_pics/sandslash_still_front_pic.png | Bin 884 -> 0 bytes .../front_pics/sceptile_still_front_pic.png | Bin 1047 -> 0 bytes .../pokemon/front_pics/scizor_still_front_pic.png | Bin 998 -> 0 bytes .../pokemon/front_pics/scyther_still_front_pic.png | Bin 896 -> 0 bytes .../pokemon/front_pics/seadra_still_front_pic.png | Bin 734 -> 0 bytes .../pokemon/front_pics/seaking_still_front_pic.png | Bin 944 -> 0 bytes .../pokemon/front_pics/sealeo_still_front_pic.png | Bin 758 -> 0 bytes .../pokemon/front_pics/seedot_still_front_pic.png | Bin 502 -> 0 bytes .../pokemon/front_pics/seel_still_front_pic.png | Bin 644 -> 0 bytes .../pokemon/front_pics/sentret_still_front_pic.png | Bin 610 -> 0 bytes .../pokemon/front_pics/seviper_still_front_pic.png | Bin 886 -> 0 bytes .../front_pics/sharpedo_still_front_pic.png | Bin 748 -> 0 bytes .../front_pics/shedinja_still_front_pic.png | Bin 654 -> 0 bytes .../pokemon/front_pics/shelgon_still_front_pic.png | Bin 631 -> 0 bytes .../front_pics/shellder_still_front_pic.png | Bin 494 -> 0 bytes .../pokemon/front_pics/shiftry_still_front_pic.png | Bin 1023 -> 0 bytes .../front_pics/shroomish_still_front_pic.png | Bin 493 -> 0 bytes .../pokemon/front_pics/shuckle_still_front_pic.png | Bin 587 -> 0 bytes .../pokemon/front_pics/shuppet_still_front_pic.png | Bin 435 -> 0 bytes .../pokemon/front_pics/silcoon_still_front_pic.png | Bin 520 -> 0 bytes .../front_pics/skarmory_still_front_pic.png | Bin 992 -> 0 bytes .../front_pics/skiploom_still_front_pic.png | Bin 503 -> 0 bytes .../pokemon/front_pics/skitty_still_front_pic.png | Bin 639 -> 0 bytes .../pokemon/front_pics/slaking_still_front_pic.png | Bin 1034 -> 0 bytes .../pokemon/front_pics/slakoth_still_front_pic.png | Bin 602 -> 0 bytes .../pokemon/front_pics/slowbro_still_front_pic.png | Bin 982 -> 0 bytes .../front_pics/slowking_still_front_pic.png | Bin 792 -> 0 bytes .../front_pics/slowpoke_still_front_pic.png | Bin 578 -> 0 bytes .../pokemon/front_pics/slugma_still_front_pic.png | Bin 493 -> 0 bytes .../front_pics/smeargle_still_front_pic.png | Bin 758 -> 0 bytes .../front_pics/smoochum_still_front_pic.png | Bin 495 -> 0 bytes .../pokemon/front_pics/sneasel_still_front_pic.png | Bin 698 -> 0 bytes .../pokemon/front_pics/snorlax_still_front_pic.png | Bin 814 -> 0 bytes .../pokemon/front_pics/snorunt_still_front_pic.png | Bin 574 -> 0 bytes .../front_pics/snubbull_still_front_pic.png | Bin 606 -> 0 bytes .../pokemon/front_pics/solrock_still_front_pic.png | Bin 945 -> 0 bytes .../pokemon/front_pics/spearow_still_front_pic.png | Bin 615 -> 0 bytes .../pokemon/front_pics/spheal_still_front_pic.png | Bin 507 -> 0 bytes .../front_pics/spinarak_still_front_pic.png | Bin 511 -> 0 bytes .../pokemon/front_pics/spinda_still_front_pic.png | Bin 623 -> 0 bytes .../pokemon/front_pics/spoink_still_front_pic.png | Bin 491 -> 0 bytes .../front_pics/squirtle_still_front_pic.png | Bin 543 -> 0 bytes .../front_pics/stantler_still_front_pic.png | Bin 881 -> 0 bytes .../pokemon/front_pics/starmie_still_front_pic.png | Bin 780 -> 0 bytes .../pokemon/front_pics/staryu_still_front_pic.png | Bin 566 -> 0 bytes .../pokemon/front_pics/steelix_still_front_pic.png | Bin 943 -> 0 bytes .../front_pics/sudowoodo_still_front_pic.png | Bin 651 -> 0 bytes .../pokemon/front_pics/suicune_still_front_pic.png | Bin 1179 -> 0 bytes .../front_pics/sunflora_still_front_pic.png | Bin 707 -> 0 bytes .../pokemon/front_pics/sunkern_still_front_pic.png | Bin 448 -> 0 bytes .../pokemon/front_pics/surskit_still_front_pic.png | Bin 417 -> 0 bytes .../pokemon/front_pics/swablu_still_front_pic.png | Bin 586 -> 0 bytes .../pokemon/front_pics/swalot_still_front_pic.png | Bin 677 -> 0 bytes .../front_pics/swampert_still_front_pic.png | Bin 1160 -> 0 bytes .../pokemon/front_pics/swellow_still_front_pic.png | Bin 816 -> 0 bytes .../pokemon/front_pics/swinub_still_front_pic.png | Bin 381 -> 0 bytes .../pokemon/front_pics/taillow_still_front_pic.png | Bin 508 -> 0 bytes .../pokemon/front_pics/tangela_still_front_pic.png | Bin 737 -> 0 bytes .../pokemon/front_pics/tauros_still_front_pic.png | Bin 956 -> 0 bytes .../front_pics/teddiursa_still_front_pic.png | Bin 544 -> 0 bytes .../front_pics/tentacool_still_front_pic.png | Bin 571 -> 0 bytes .../front_pics/tentacruel_still_front_pic.png | Bin 1059 -> 0 bytes .../pokemon/front_pics/togepi_still_front_pic.png | Bin 390 -> 0 bytes .../pokemon/front_pics/togetic_still_front_pic.png | Bin 513 -> 0 bytes .../pokemon/front_pics/torchic_still_front_pic.png | Bin 548 -> 0 bytes .../pokemon/front_pics/torkoal_still_front_pic.png | Bin 977 -> 0 bytes .../front_pics/totodile_still_front_pic.png | Bin 533 -> 0 bytes .../front_pics/trapinch_still_front_pic.png | Bin 420 -> 0 bytes .../pokemon/front_pics/treecko_still_front_pic.png | Bin 635 -> 0 bytes .../pokemon/front_pics/tropius_still_front_pic.png | Bin 1172 -> 0 bytes .../front_pics/typhlosion_still_front_pic.png | Bin 896 -> 0 bytes .../front_pics/tyranitar_still_front_pic.png | Bin 1095 -> 0 bytes .../pokemon/front_pics/tyrogue_still_front_pic.png | Bin 530 -> 0 bytes .../pokemon/front_pics/umbreon_still_front_pic.png | Bin 650 -> 0 bytes .../pokemon/front_pics/unown_a_still_front_pic.png | Bin 337 -> 0 bytes .../pokemon/front_pics/unown_b_still_front_pic.png | Bin 355 -> 0 bytes .../pokemon/front_pics/unown_c_still_front_pic.png | Bin 395 -> 0 bytes .../pokemon/front_pics/unown_d_still_front_pic.png | Bin 352 -> 0 bytes .../pokemon/front_pics/unown_e_still_front_pic.png | Bin 325 -> 0 bytes .../unown_exclamation_mark_still_front_pic.png | Bin 294 -> 0 bytes .../pokemon/front_pics/unown_f_still_front_pic.png | Bin 364 -> 0 bytes .../pokemon/front_pics/unown_g_still_front_pic.png | Bin 359 -> 0 bytes .../pokemon/front_pics/unown_h_still_front_pic.png | Bin 424 -> 0 bytes .../pokemon/front_pics/unown_i_still_front_pic.png | Bin 305 -> 0 bytes .../pokemon/front_pics/unown_j_still_front_pic.png | Bin 334 -> 0 bytes .../pokemon/front_pics/unown_k_still_front_pic.png | Bin 347 -> 0 bytes .../pokemon/front_pics/unown_l_still_front_pic.png | Bin 315 -> 0 bytes .../pokemon/front_pics/unown_m_still_front_pic.png | Bin 414 -> 0 bytes .../pokemon/front_pics/unown_n_still_front_pic.png | Bin 379 -> 0 bytes .../pokemon/front_pics/unown_o_still_front_pic.png | Bin 417 -> 0 bytes .../pokemon/front_pics/unown_p_still_front_pic.png | Bin 312 -> 0 bytes .../pokemon/front_pics/unown_q_still_front_pic.png | Bin 320 -> 0 bytes .../unown_question_mark_still_front_pic.png | Bin 332 -> 0 bytes .../pokemon/front_pics/unown_r_still_front_pic.png | Bin 313 -> 0 bytes .../pokemon/front_pics/unown_s_still_front_pic.png | Bin 363 -> 0 bytes .../pokemon/front_pics/unown_t_still_front_pic.png | Bin 316 -> 0 bytes .../pokemon/front_pics/unown_u_still_front_pic.png | Bin 391 -> 0 bytes .../pokemon/front_pics/unown_v_still_front_pic.png | Bin 349 -> 0 bytes .../pokemon/front_pics/unown_w_still_front_pic.png | Bin 355 -> 0 bytes .../pokemon/front_pics/unown_x_still_front_pic.png | Bin 337 -> 0 bytes .../pokemon/front_pics/unown_y_still_front_pic.png | Bin 347 -> 0 bytes .../pokemon/front_pics/unown_z_still_front_pic.png | Bin 324 -> 0 bytes .../front_pics/ursaring_still_front_pic.png | Bin 894 -> 0 bytes .../front_pics/vaporeon_still_front_pic.png | Bin 802 -> 0 bytes .../front_pics/venomoth_still_front_pic.png | Bin 851 -> 0 bytes .../pokemon/front_pics/venonat_still_front_pic.png | Bin 696 -> 0 bytes .../front_pics/venusaur_still_front_pic.png | Bin 1107 -> 0 bytes .../pokemon/front_pics/vibrava_still_front_pic.png | Bin 708 -> 0 bytes .../front_pics/victreebel_still_front_pic.png | Bin 907 -> 0 bytes .../front_pics/vigoroth_still_front_pic.png | Bin 886 -> 0 bytes .../front_pics/vileplume_still_front_pic.png | Bin 694 -> 0 bytes .../pokemon/front_pics/volbeat_still_front_pic.png | Bin 774 -> 0 bytes .../pokemon/front_pics/voltorb_still_front_pic.png | Bin 407 -> 0 bytes .../pokemon/front_pics/vulpix_still_front_pic.png | Bin 669 -> 0 bytes .../pokemon/front_pics/wailmer_still_front_pic.png | Bin 596 -> 0 bytes .../pokemon/front_pics/wailord_still_front_pic.png | Bin 766 -> 0 bytes .../pokemon/front_pics/walrein_still_front_pic.png | Bin 997 -> 0 bytes .../front_pics/wartortle_still_front_pic.png | Bin 794 -> 0 bytes .../pokemon/front_pics/weedle_still_front_pic.png | Bin 471 -> 0 bytes .../front_pics/weepinbell_still_front_pic.png | Bin 681 -> 0 bytes .../pokemon/front_pics/weezing_still_front_pic.png | Bin 988 -> 0 bytes .../front_pics/whiscash_still_front_pic.png | Bin 752 -> 0 bytes .../pokemon/front_pics/whismur_still_front_pic.png | Bin 527 -> 0 bytes .../front_pics/wigglytuff_still_front_pic.png | Bin 717 -> 0 bytes .../pokemon/front_pics/wingull_still_front_pic.png | Bin 471 -> 0 bytes .../front_pics/wobbuffet_still_front_pic.png | Bin 683 -> 0 bytes .../pokemon/front_pics/wooper_still_front_pic.png | Bin 464 -> 0 bytes .../pokemon/front_pics/wurmple_still_front_pic.png | Bin 522 -> 0 bytes .../pokemon/front_pics/wynaut_still_front_pic.png | Bin 532 -> 0 bytes .../pokemon/front_pics/xatu_still_front_pic.png | Bin 597 -> 0 bytes .../pokemon/front_pics/yanma_still_front_pic.png | Bin 747 -> 0 bytes .../front_pics/zangoose_still_front_pic.png | Bin 844 -> 0 bytes .../pokemon/front_pics/zapdos_still_front_pic.png | Bin 904 -> 0 bytes .../front_pics/zigzagoon_still_front_pic.png | Bin 797 -> 0 bytes .../pokemon/front_pics/zubat_still_front_pic.png | Bin 570 -> 0 bytes graphics/pokemon/furret/back.png | Bin 0 -> 660 bytes graphics/pokemon/furret/footprint.png | Bin 0 -> 87 bytes graphics/pokemon/furret/front.png | Bin 0 -> 659 bytes graphics/pokemon/furret/icon.png | Bin 0 -> 401 bytes graphics/pokemon/furret/normal.pal | 19 + graphics/pokemon/furret/shiny.pal | 19 + graphics/pokemon/gardevoir/back.png | Bin 0 -> 674 bytes graphics/pokemon/gardevoir/footprint.png | Bin 0 -> 86 bytes graphics/pokemon/gardevoir/front.png | Bin 0 -> 737 bytes graphics/pokemon/gardevoir/icon.png | Bin 0 -> 386 bytes graphics/pokemon/gardevoir/normal.pal | 19 + graphics/pokemon/gardevoir/shiny.pal | 19 + graphics/pokemon/gastly/back.png | Bin 0 -> 613 bytes graphics/pokemon/gastly/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/gastly/front.png | Bin 0 -> 772 bytes graphics/pokemon/gastly/icon.png | Bin 0 -> 442 bytes graphics/pokemon/gastly/normal.pal | 19 + graphics/pokemon/gastly/shiny.pal | 19 + graphics/pokemon/gengar/back.png | Bin 0 -> 661 bytes graphics/pokemon/gengar/footprint.png | Bin 0 -> 91 bytes graphics/pokemon/gengar/front.png | Bin 0 -> 704 bytes graphics/pokemon/gengar/icon.png | Bin 0 -> 382 bytes graphics/pokemon/gengar/normal.pal | 19 + graphics/pokemon/gengar/shiny.pal | 19 + graphics/pokemon/geodude/back.png | Bin 0 -> 506 bytes graphics/pokemon/geodude/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/geodude/front.png | Bin 0 -> 486 bytes graphics/pokemon/geodude/icon.png | Bin 0 -> 304 bytes graphics/pokemon/geodude/normal.pal | 19 + graphics/pokemon/geodude/shiny.pal | 19 + graphics/pokemon/girafarig/back.png | Bin 0 -> 769 bytes graphics/pokemon/girafarig/footprint.png | Bin 0 -> 83 bytes graphics/pokemon/girafarig/front.png | Bin 0 -> 871 bytes graphics/pokemon/girafarig/icon.png | Bin 0 -> 370 bytes graphics/pokemon/girafarig/normal.pal | 19 + graphics/pokemon/girafarig/shiny.pal | 19 + graphics/pokemon/glalie/back.png | Bin 0 -> 701 bytes graphics/pokemon/glalie/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/glalie/front.png | Bin 0 -> 788 bytes graphics/pokemon/glalie/icon.png | Bin 0 -> 305 bytes graphics/pokemon/glalie/normal.pal | 19 + graphics/pokemon/glalie/shiny.pal | 19 + graphics/pokemon/gligar/back.png | Bin 0 -> 768 bytes graphics/pokemon/gligar/footprint.png | Bin 0 -> 92 bytes graphics/pokemon/gligar/front.png | Bin 0 -> 914 bytes graphics/pokemon/gligar/icon.png | Bin 0 -> 425 bytes graphics/pokemon/gligar/normal.pal | 19 + graphics/pokemon/gligar/shiny.pal | 19 + graphics/pokemon/gloom/back.png | Bin 0 -> 709 bytes graphics/pokemon/gloom/footprint.png | Bin 0 -> 90 bytes graphics/pokemon/gloom/front.png | Bin 0 -> 727 bytes graphics/pokemon/gloom/icon.png | Bin 0 -> 313 bytes graphics/pokemon/gloom/normal.pal | 19 + graphics/pokemon/gloom/shiny.pal | 19 + graphics/pokemon/golbat/back.png | Bin 0 -> 561 bytes graphics/pokemon/golbat/footprint.png | Bin 0 -> 94 bytes graphics/pokemon/golbat/front.png | Bin 0 -> 764 bytes graphics/pokemon/golbat/icon.png | Bin 0 -> 355 bytes graphics/pokemon/golbat/normal.pal | 19 + graphics/pokemon/golbat/shiny.pal | 19 + graphics/pokemon/goldeen/back.png | Bin 0 -> 700 bytes graphics/pokemon/goldeen/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/goldeen/front.png | Bin 0 -> 725 bytes graphics/pokemon/goldeen/icon.png | Bin 0 -> 354 bytes graphics/pokemon/goldeen/normal.pal | 19 + graphics/pokemon/goldeen/shiny.pal | 19 + graphics/pokemon/golduck/back.png | Bin 0 -> 630 bytes graphics/pokemon/golduck/footprint.png | Bin 0 -> 98 bytes graphics/pokemon/golduck/front.png | Bin 0 -> 799 bytes graphics/pokemon/golduck/icon.png | Bin 0 -> 351 bytes graphics/pokemon/golduck/normal.pal | 19 + graphics/pokemon/golduck/shiny.pal | 19 + graphics/pokemon/golem/back.png | Bin 0 -> 510 bytes graphics/pokemon/golem/footprint.png | Bin 0 -> 97 bytes graphics/pokemon/golem/front.png | Bin 0 -> 876 bytes graphics/pokemon/golem/icon.png | Bin 0 -> 395 bytes graphics/pokemon/golem/normal.pal | 19 + graphics/pokemon/golem/shiny.pal | 19 + graphics/pokemon/gorebyss/back.png | Bin 0 -> 560 bytes graphics/pokemon/gorebyss/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/gorebyss/front.png | Bin 0 -> 659 bytes graphics/pokemon/gorebyss/icon.png | Bin 0 -> 382 bytes graphics/pokemon/gorebyss/normal.pal | 19 + graphics/pokemon/gorebyss/shiny.pal | 19 + graphics/pokemon/granbull/back.png | Bin 0 -> 627 bytes graphics/pokemon/granbull/footprint.png | Bin 0 -> 93 bytes graphics/pokemon/granbull/front.png | Bin 0 -> 720 bytes graphics/pokemon/granbull/icon.png | Bin 0 -> 352 bytes graphics/pokemon/granbull/normal.pal | 19 + graphics/pokemon/granbull/shiny.pal | 19 + graphics/pokemon/graveler/back.png | Bin 0 -> 490 bytes graphics/pokemon/graveler/footprint.png | Bin 0 -> 91 bytes graphics/pokemon/graveler/front.png | Bin 0 -> 767 bytes graphics/pokemon/graveler/icon.png | Bin 0 -> 366 bytes graphics/pokemon/graveler/normal.pal | 19 + graphics/pokemon/graveler/shiny.pal | 19 + graphics/pokemon/grimer/back.png | Bin 0 -> 550 bytes graphics/pokemon/grimer/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/grimer/front.png | Bin 0 -> 626 bytes graphics/pokemon/grimer/icon.png | Bin 0 -> 356 bytes graphics/pokemon/grimer/normal.pal | 19 + graphics/pokemon/grimer/shiny.pal | 19 + graphics/pokemon/groudon/back.png | Bin 0 -> 890 bytes graphics/pokemon/groudon/footprint.png | Bin 0 -> 103 bytes graphics/pokemon/groudon/front.png | Bin 0 -> 1247 bytes graphics/pokemon/groudon/icon.png | Bin 0 -> 377 bytes graphics/pokemon/groudon/normal.pal | 19 + graphics/pokemon/groudon/shiny.pal | 19 + graphics/pokemon/grovyle/back.png | Bin 0 -> 657 bytes graphics/pokemon/grovyle/footprint.png | Bin 0 -> 100 bytes graphics/pokemon/grovyle/front.png | Bin 0 -> 970 bytes graphics/pokemon/grovyle/icon.png | Bin 0 -> 363 bytes graphics/pokemon/grovyle/normal.pal | 19 + graphics/pokemon/grovyle/shiny.pal | 19 + graphics/pokemon/growlithe/back.png | Bin 0 -> 650 bytes graphics/pokemon/growlithe/footprint.png | Bin 0 -> 91 bytes graphics/pokemon/growlithe/front.png | Bin 0 -> 657 bytes graphics/pokemon/growlithe/icon.png | Bin 0 -> 348 bytes graphics/pokemon/growlithe/normal.pal | 19 + graphics/pokemon/growlithe/shiny.pal | 19 + graphics/pokemon/grumpig/back.png | Bin 0 -> 727 bytes graphics/pokemon/grumpig/footprint.png | Bin 0 -> 96 bytes graphics/pokemon/grumpig/front.png | Bin 0 -> 831 bytes graphics/pokemon/grumpig/icon.png | Bin 0 -> 329 bytes graphics/pokemon/grumpig/normal.pal | 19 + graphics/pokemon/grumpig/shiny.pal | 19 + graphics/pokemon/gulpin/back.png | Bin 0 -> 497 bytes graphics/pokemon/gulpin/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/gulpin/front.png | Bin 0 -> 428 bytes graphics/pokemon/gulpin/icon.png | Bin 0 -> 293 bytes graphics/pokemon/gulpin/normal.pal | 19 + graphics/pokemon/gulpin/shiny.pal | 19 + graphics/pokemon/gyarados/back.png | Bin 0 -> 1010 bytes graphics/pokemon/gyarados/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/gyarados/front.png | Bin 0 -> 1229 bytes graphics/pokemon/gyarados/icon.png | Bin 0 -> 524 bytes graphics/pokemon/gyarados/normal.pal | 19 + graphics/pokemon/gyarados/shiny.pal | 19 + graphics/pokemon/hariyama/back.png | Bin 0 -> 780 bytes graphics/pokemon/hariyama/footprint.png | Bin 0 -> 94 bytes graphics/pokemon/hariyama/front.png | Bin 0 -> 1006 bytes graphics/pokemon/hariyama/icon.png | Bin 0 -> 387 bytes graphics/pokemon/hariyama/normal.pal | 19 + graphics/pokemon/hariyama/shiny.pal | 19 + graphics/pokemon/haunter/back.png | Bin 0 -> 612 bytes graphics/pokemon/haunter/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/haunter/front.png | Bin 0 -> 806 bytes graphics/pokemon/haunter/icon.png | Bin 0 -> 485 bytes graphics/pokemon/haunter/normal.pal | 19 + graphics/pokemon/haunter/shiny.pal | 19 + graphics/pokemon/heracross/back.png | Bin 0 -> 690 bytes graphics/pokemon/heracross/footprint.png | Bin 0 -> 92 bytes graphics/pokemon/heracross/front.png | Bin 0 -> 811 bytes graphics/pokemon/heracross/icon.png | Bin 0 -> 370 bytes graphics/pokemon/heracross/normal.pal | 19 + graphics/pokemon/heracross/shiny.pal | 19 + graphics/pokemon/hitmonchan/back.png | Bin 0 -> 632 bytes graphics/pokemon/hitmonchan/footprint.png | Bin 0 -> 90 bytes graphics/pokemon/hitmonchan/front.png | Bin 0 -> 693 bytes graphics/pokemon/hitmonchan/icon.png | Bin 0 -> 306 bytes graphics/pokemon/hitmonchan/normal.pal | 19 + graphics/pokemon/hitmonchan/shiny.pal | 19 + graphics/pokemon/hitmonlee/back.png | Bin 0 -> 534 bytes graphics/pokemon/hitmonlee/footprint.png | Bin 0 -> 104 bytes graphics/pokemon/hitmonlee/front.png | Bin 0 -> 739 bytes graphics/pokemon/hitmonlee/icon.png | Bin 0 -> 335 bytes graphics/pokemon/hitmonlee/normal.pal | 19 + graphics/pokemon/hitmonlee/shiny.pal | 19 + graphics/pokemon/hitmontop/back.png | Bin 0 -> 892 bytes graphics/pokemon/hitmontop/footprint.png | Bin 0 -> 103 bytes graphics/pokemon/hitmontop/front.png | Bin 0 -> 772 bytes graphics/pokemon/hitmontop/icon.png | Bin 0 -> 477 bytes graphics/pokemon/hitmontop/normal.pal | 19 + graphics/pokemon/hitmontop/shiny.pal | 19 + graphics/pokemon/ho_oh/back.png | Bin 0 -> 831 bytes graphics/pokemon/ho_oh/footprint.png | Bin 0 -> 95 bytes graphics/pokemon/ho_oh/front.png | Bin 0 -> 1332 bytes graphics/pokemon/ho_oh/icon.png | Bin 0 -> 480 bytes graphics/pokemon/ho_oh/normal.pal | 19 + graphics/pokemon/ho_oh/shiny.pal | 19 + graphics/pokemon/hoothoot/back.png | Bin 0 -> 618 bytes graphics/pokemon/hoothoot/footprint.png | Bin 0 -> 102 bytes graphics/pokemon/hoothoot/front.png | Bin 0 -> 525 bytes graphics/pokemon/hoothoot/icon.png | Bin 0 -> 350 bytes graphics/pokemon/hoothoot/normal.pal | 19 + graphics/pokemon/hoothoot/shiny.pal | 19 + graphics/pokemon/hoppip/back.png | Bin 0 -> 582 bytes graphics/pokemon/hoppip/footprint.png | Bin 0 -> 84 bytes graphics/pokemon/hoppip/front.png | Bin 0 -> 551 bytes graphics/pokemon/hoppip/icon.png | Bin 0 -> 367 bytes graphics/pokemon/hoppip/normal.pal | 19 + graphics/pokemon/hoppip/shiny.pal | 19 + graphics/pokemon/horsea/back.png | Bin 0 -> 585 bytes graphics/pokemon/horsea/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/horsea/front.png | Bin 0 -> 510 bytes graphics/pokemon/horsea/icon.png | Bin 0 -> 354 bytes graphics/pokemon/horsea/normal.pal | 19 + graphics/pokemon/horsea/shiny.pal | 19 + graphics/pokemon/houndoom/back.png | Bin 0 -> 626 bytes graphics/pokemon/houndoom/footprint.png | Bin 0 -> 103 bytes graphics/pokemon/houndoom/front.png | Bin 0 -> 853 bytes graphics/pokemon/houndoom/icon.png | Bin 0 -> 406 bytes graphics/pokemon/houndoom/normal.pal | 19 + graphics/pokemon/houndoom/shiny.pal | 19 + graphics/pokemon/houndour/back.png | Bin 0 -> 508 bytes graphics/pokemon/houndour/footprint.png | Bin 0 -> 91 bytes graphics/pokemon/houndour/front.png | Bin 0 -> 558 bytes graphics/pokemon/houndour/icon.png | Bin 0 -> 358 bytes graphics/pokemon/houndour/normal.pal | 19 + graphics/pokemon/houndour/shiny.pal | 19 + graphics/pokemon/huntail/back.png | Bin 0 -> 688 bytes graphics/pokemon/huntail/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/huntail/front.png | Bin 0 -> 833 bytes graphics/pokemon/huntail/icon.png | Bin 0 -> 419 bytes graphics/pokemon/huntail/normal.pal | 19 + graphics/pokemon/huntail/shiny.pal | 19 + graphics/pokemon/hypno/back.png | Bin 0 -> 658 bytes graphics/pokemon/hypno/footprint.png | Bin 0 -> 95 bytes graphics/pokemon/hypno/front.png | Bin 0 -> 862 bytes graphics/pokemon/hypno/icon.png | Bin 0 -> 391 bytes graphics/pokemon/hypno/normal.pal | 19 + graphics/pokemon/hypno/shiny.pal | 19 + graphics/pokemon/icons/abra_icon.png | Bin 327 -> 0 bytes graphics/pokemon/icons/absol_icon.png | Bin 371 -> 0 bytes graphics/pokemon/icons/aerodactyl_icon.png | Bin 369 -> 0 bytes graphics/pokemon/icons/aggron_icon.png | Bin 367 -> 0 bytes graphics/pokemon/icons/aipom_icon.png | Bin 399 -> 0 bytes graphics/pokemon/icons/alakazam_icon.png | Bin 401 -> 0 bytes graphics/pokemon/icons/altaria_icon.png | Bin 419 -> 0 bytes graphics/pokemon/icons/ampharos_icon.png | Bin 430 -> 0 bytes graphics/pokemon/icons/anorith_icon.png | Bin 377 -> 0 bytes graphics/pokemon/icons/arbok_icon.png | Bin 373 -> 0 bytes graphics/pokemon/icons/arcanine_icon.png | Bin 445 -> 0 bytes graphics/pokemon/icons/ariados_icon.png | Bin 430 -> 0 bytes graphics/pokemon/icons/armaldo_icon.png | Bin 383 -> 0 bytes graphics/pokemon/icons/aron_icon.png | Bin 262 -> 0 bytes graphics/pokemon/icons/articuno_icon.png | Bin 384 -> 0 bytes graphics/pokemon/icons/azumarill_icon.png | Bin 445 -> 0 bytes graphics/pokemon/icons/azurill_icon.png | Bin 342 -> 0 bytes graphics/pokemon/icons/bagon_icon.png | Bin 359 -> 0 bytes graphics/pokemon/icons/baltoy_icon.png | Bin 279 -> 0 bytes graphics/pokemon/icons/banette_icon.png | Bin 321 -> 0 bytes graphics/pokemon/icons/barboach_icon.png | Bin 337 -> 0 bytes graphics/pokemon/icons/bayleef_icon.png | Bin 427 -> 0 bytes graphics/pokemon/icons/beautifly_icon.png | Bin 449 -> 0 bytes graphics/pokemon/icons/beedrill_icon.png | Bin 437 -> 0 bytes graphics/pokemon/icons/beldum_icon.png | Bin 294 -> 0 bytes graphics/pokemon/icons/bellossom_icon.png | Bin 363 -> 0 bytes graphics/pokemon/icons/bellsprout_icon.png | Bin 252 -> 0 bytes graphics/pokemon/icons/blastoise_icon.png | Bin 397 -> 0 bytes graphics/pokemon/icons/blaziken_icon.png | Bin 448 -> 0 bytes graphics/pokemon/icons/blissey_icon.png | Bin 406 -> 0 bytes graphics/pokemon/icons/breloom_icon.png | Bin 321 -> 0 bytes graphics/pokemon/icons/bulbasaur_icon.png | Bin 316 -> 0 bytes graphics/pokemon/icons/butterfree_icon.png | Bin 421 -> 0 bytes graphics/pokemon/icons/cacnea_icon.png | Bin 370 -> 0 bytes graphics/pokemon/icons/cacturne_icon.png | Bin 299 -> 0 bytes graphics/pokemon/icons/camerupt_icon.png | Bin 404 -> 0 bytes graphics/pokemon/icons/carvanha_icon.png | Bin 392 -> 0 bytes graphics/pokemon/icons/cascoon_icon.png | Bin 342 -> 0 bytes graphics/pokemon/icons/castform_icon.png | Bin 263 -> 0 bytes graphics/pokemon/icons/caterpie_icon.png | Bin 277 -> 0 bytes graphics/pokemon/icons/celebi_icon.png | Bin 330 -> 0 bytes graphics/pokemon/icons/chansey_icon.png | Bin 317 -> 0 bytes graphics/pokemon/icons/charizard_icon.png | Bin 462 -> 0 bytes graphics/pokemon/icons/charmander_icon.png | Bin 303 -> 0 bytes graphics/pokemon/icons/charmeleon_icon.png | Bin 412 -> 0 bytes graphics/pokemon/icons/chikorita_icon.png | Bin 334 -> 0 bytes graphics/pokemon/icons/chimecho_icon.png | Bin 258 -> 0 bytes graphics/pokemon/icons/chinchou_icon.png | Bin 378 -> 0 bytes graphics/pokemon/icons/clamperl_icon.png | Bin 345 -> 0 bytes graphics/pokemon/icons/claydol_icon.png | Bin 331 -> 0 bytes graphics/pokemon/icons/clefable_icon.png | Bin 339 -> 0 bytes graphics/pokemon/icons/clefairy_icon.png | Bin 305 -> 0 bytes graphics/pokemon/icons/cleffa_icon.png | Bin 302 -> 0 bytes graphics/pokemon/icons/cloyster_icon.png | Bin 507 -> 0 bytes graphics/pokemon/icons/combusken_icon.png | Bin 351 -> 0 bytes graphics/pokemon/icons/corphish_icon.png | Bin 286 -> 0 bytes graphics/pokemon/icons/corsola_icon.png | Bin 365 -> 0 bytes graphics/pokemon/icons/cradily_icon.png | Bin 452 -> 0 bytes graphics/pokemon/icons/crawdaunt_icon.png | Bin 402 -> 0 bytes graphics/pokemon/icons/crobat_icon.png | Bin 422 -> 0 bytes graphics/pokemon/icons/croconaw_icon.png | Bin 356 -> 0 bytes graphics/pokemon/icons/cubone_icon.png | Bin 350 -> 0 bytes graphics/pokemon/icons/cyndaquil_icon.png | Bin 360 -> 0 bytes graphics/pokemon/icons/delcatty_icon.png | Bin 420 -> 0 bytes graphics/pokemon/icons/delibird_icon.png | Bin 357 -> 0 bytes graphics/pokemon/icons/deoxys_icon.png | Bin 430 -> 0 bytes graphics/pokemon/icons/deoxys_speed_icon.png | Bin 456 -> 0 bytes graphics/pokemon/icons/dewgong_icon.png | Bin 415 -> 0 bytes graphics/pokemon/icons/diglett_icon.png | Bin 249 -> 0 bytes graphics/pokemon/icons/ditto_icon.png | Bin 270 -> 0 bytes graphics/pokemon/icons/dodrio_icon.png | Bin 446 -> 0 bytes graphics/pokemon/icons/doduo_icon.png | Bin 351 -> 0 bytes graphics/pokemon/icons/donphan_icon.png | Bin 471 -> 0 bytes graphics/pokemon/icons/dragonair_icon.png | Bin 383 -> 0 bytes graphics/pokemon/icons/dragonite_icon.png | Bin 414 -> 0 bytes graphics/pokemon/icons/dratini_icon.png | Bin 334 -> 0 bytes graphics/pokemon/icons/drowzee_icon.png | Bin 416 -> 0 bytes graphics/pokemon/icons/dugtrio_icon.png | Bin 296 -> 0 bytes graphics/pokemon/icons/dunsparce_icon.png | Bin 341 -> 0 bytes graphics/pokemon/icons/dusclops_icon.png | Bin 344 -> 0 bytes graphics/pokemon/icons/duskull_icon.png | Bin 294 -> 0 bytes graphics/pokemon/icons/dustox_icon.png | Bin 428 -> 0 bytes graphics/pokemon/icons/eevee_icon.png | Bin 296 -> 0 bytes graphics/pokemon/icons/egg_icon.png | Bin 310 -> 0 bytes graphics/pokemon/icons/ekans_icon.png | Bin 333 -> 0 bytes graphics/pokemon/icons/electabuzz_icon.png | Bin 321 -> 0 bytes graphics/pokemon/icons/electrike_icon.png | Bin 352 -> 0 bytes graphics/pokemon/icons/electrode_icon.png | Bin 245 -> 0 bytes graphics/pokemon/icons/elekid_icon.png | Bin 327 -> 0 bytes graphics/pokemon/icons/entei_icon.png | Bin 453 -> 0 bytes graphics/pokemon/icons/espeon_icon.png | Bin 354 -> 0 bytes graphics/pokemon/icons/exeggcute_icon.png | Bin 383 -> 0 bytes graphics/pokemon/icons/exeggutor_icon.png | Bin 368 -> 0 bytes graphics/pokemon/icons/exploud_icon.png | Bin 447 -> 0 bytes graphics/pokemon/icons/farfetch_d_icon.png | Bin 396 -> 0 bytes graphics/pokemon/icons/fearow_icon.png | Bin 465 -> 0 bytes graphics/pokemon/icons/feebas_icon.png | Bin 359 -> 0 bytes graphics/pokemon/icons/feraligatr_icon.png | Bin 488 -> 0 bytes graphics/pokemon/icons/flaaffy_icon.png | Bin 376 -> 0 bytes graphics/pokemon/icons/flareon_icon.png | Bin 380 -> 0 bytes graphics/pokemon/icons/flygon_icon.png | Bin 411 -> 0 bytes graphics/pokemon/icons/forretress_icon.png | Bin 332 -> 0 bytes graphics/pokemon/icons/furret_icon.png | Bin 401 -> 0 bytes graphics/pokemon/icons/gardevoir_icon.png | Bin 386 -> 0 bytes graphics/pokemon/icons/gastly_icon.png | Bin 442 -> 0 bytes graphics/pokemon/icons/gengar_icon.png | Bin 382 -> 0 bytes graphics/pokemon/icons/geodude_icon.png | Bin 304 -> 0 bytes graphics/pokemon/icons/girafarig_icon.png | Bin 370 -> 0 bytes graphics/pokemon/icons/glalie_icon.png | Bin 305 -> 0 bytes graphics/pokemon/icons/gligar_icon.png | Bin 425 -> 0 bytes graphics/pokemon/icons/gloom_icon.png | Bin 313 -> 0 bytes graphics/pokemon/icons/golbat_icon.png | Bin 355 -> 0 bytes graphics/pokemon/icons/goldeen_icon.png | Bin 354 -> 0 bytes graphics/pokemon/icons/golduck_icon.png | Bin 351 -> 0 bytes graphics/pokemon/icons/golem_icon.png | Bin 395 -> 0 bytes graphics/pokemon/icons/gorebyss_icon.png | Bin 382 -> 0 bytes graphics/pokemon/icons/granbull_icon.png | Bin 352 -> 0 bytes graphics/pokemon/icons/graveler_icon.png | Bin 366 -> 0 bytes graphics/pokemon/icons/grimer_icon.png | Bin 356 -> 0 bytes graphics/pokemon/icons/groudon_icon.png | Bin 377 -> 0 bytes graphics/pokemon/icons/grovyle_icon.png | Bin 363 -> 0 bytes graphics/pokemon/icons/growlithe_icon.png | Bin 348 -> 0 bytes graphics/pokemon/icons/grumpig_icon.png | Bin 329 -> 0 bytes graphics/pokemon/icons/gulpin_icon.png | Bin 293 -> 0 bytes graphics/pokemon/icons/gyarados_icon.png | Bin 524 -> 0 bytes graphics/pokemon/icons/hariyama_icon.png | Bin 387 -> 0 bytes graphics/pokemon/icons/haunter_icon.png | Bin 485 -> 0 bytes graphics/pokemon/icons/heracross_icon.png | Bin 370 -> 0 bytes graphics/pokemon/icons/hitmonchan_icon.png | Bin 306 -> 0 bytes graphics/pokemon/icons/hitmonlee_icon.png | Bin 335 -> 0 bytes graphics/pokemon/icons/hitmontop_icon.png | Bin 477 -> 0 bytes graphics/pokemon/icons/ho_oh_icon.png | Bin 480 -> 0 bytes graphics/pokemon/icons/hoothoot_icon.png | Bin 350 -> 0 bytes graphics/pokemon/icons/hoppip_icon.png | Bin 367 -> 0 bytes graphics/pokemon/icons/horsea_icon.png | Bin 354 -> 0 bytes graphics/pokemon/icons/houndoom_icon.png | Bin 406 -> 0 bytes graphics/pokemon/icons/houndour_icon.png | Bin 358 -> 0 bytes graphics/pokemon/icons/huntail_icon.png | Bin 419 -> 0 bytes graphics/pokemon/icons/hypno_icon.png | Bin 391 -> 0 bytes graphics/pokemon/icons/igglybuff_icon.png | Bin 322 -> 0 bytes graphics/pokemon/icons/illumise_icon.png | Bin 325 -> 0 bytes graphics/pokemon/icons/ivysaur_icon.png | Bin 326 -> 0 bytes graphics/pokemon/icons/jigglypuff_icon.png | Bin 315 -> 0 bytes graphics/pokemon/icons/jirachi_icon.png | Bin 340 -> 0 bytes graphics/pokemon/icons/jolteon_icon.png | Bin 324 -> 0 bytes graphics/pokemon/icons/jumpluff_icon.png | Bin 398 -> 0 bytes graphics/pokemon/icons/jynx_icon.png | Bin 375 -> 0 bytes graphics/pokemon/icons/kabuto_icon.png | Bin 264 -> 0 bytes graphics/pokemon/icons/kabutops_icon.png | Bin 322 -> 0 bytes graphics/pokemon/icons/kadabra_icon.png | Bin 432 -> 0 bytes graphics/pokemon/icons/kakuna_icon.png | Bin 266 -> 0 bytes graphics/pokemon/icons/kangaskhan_icon.png | Bin 389 -> 0 bytes graphics/pokemon/icons/kecleon_icon.png | Bin 384 -> 0 bytes graphics/pokemon/icons/kingdra_icon.png | Bin 385 -> 0 bytes graphics/pokemon/icons/kingler_icon.png | Bin 440 -> 0 bytes graphics/pokemon/icons/kirlia_icon.png | Bin 351 -> 0 bytes graphics/pokemon/icons/koffing_icon.png | Bin 315 -> 0 bytes graphics/pokemon/icons/krabby_icon.png | Bin 432 -> 0 bytes graphics/pokemon/icons/kyogre_icon.png | Bin 444 -> 0 bytes graphics/pokemon/icons/lairon_icon.png | Bin 362 -> 0 bytes graphics/pokemon/icons/lanturn_icon.png | Bin 442 -> 0 bytes graphics/pokemon/icons/lapras_icon.png | Bin 409 -> 0 bytes graphics/pokemon/icons/larvitar_icon.png | Bin 304 -> 0 bytes graphics/pokemon/icons/latias_icon.png | Bin 396 -> 0 bytes graphics/pokemon/icons/latios_icon.png | Bin 396 -> 0 bytes graphics/pokemon/icons/ledian_icon.png | Bin 377 -> 0 bytes graphics/pokemon/icons/ledyba_icon.png | Bin 314 -> 0 bytes graphics/pokemon/icons/lickitung_icon.png | Bin 368 -> 0 bytes graphics/pokemon/icons/lileep_icon.png | Bin 361 -> 0 bytes graphics/pokemon/icons/linoone_icon.png | Bin 390 -> 0 bytes graphics/pokemon/icons/lombre_icon.png | Bin 319 -> 0 bytes graphics/pokemon/icons/lotad_icon.png | Bin 283 -> 0 bytes graphics/pokemon/icons/loudred_icon.png | Bin 387 -> 0 bytes graphics/pokemon/icons/ludicolo_icon.png | Bin 379 -> 0 bytes graphics/pokemon/icons/lugia_icon.png | Bin 454 -> 0 bytes graphics/pokemon/icons/lunatone_icon.png | Bin 261 -> 0 bytes graphics/pokemon/icons/luvdisc_icon.png | Bin 281 -> 0 bytes graphics/pokemon/icons/machamp_icon.png | Bin 414 -> 0 bytes graphics/pokemon/icons/machoke_icon.png | Bin 415 -> 0 bytes graphics/pokemon/icons/machop_icon.png | Bin 313 -> 0 bytes graphics/pokemon/icons/magby_icon.png | Bin 296 -> 0 bytes graphics/pokemon/icons/magcargo_icon.png | Bin 444 -> 0 bytes graphics/pokemon/icons/magikarp_icon.png | Bin 381 -> 0 bytes graphics/pokemon/icons/magmar_icon.png | Bin 398 -> 0 bytes graphics/pokemon/icons/magnemite_icon.png | Bin 289 -> 0 bytes graphics/pokemon/icons/magneton_icon.png | Bin 416 -> 0 bytes graphics/pokemon/icons/makuhita_icon.png | Bin 326 -> 0 bytes graphics/pokemon/icons/manectric_icon.png | Bin 316 -> 0 bytes graphics/pokemon/icons/mankey_icon.png | Bin 374 -> 0 bytes graphics/pokemon/icons/mantine_icon.png | Bin 374 -> 0 bytes graphics/pokemon/icons/mareep_icon.png | Bin 391 -> 0 bytes graphics/pokemon/icons/marill_icon.png | Bin 365 -> 0 bytes graphics/pokemon/icons/marowak_icon.png | Bin 388 -> 0 bytes graphics/pokemon/icons/marshtomp_icon.png | Bin 294 -> 0 bytes graphics/pokemon/icons/masquerain_icon.png | Bin 371 -> 0 bytes graphics/pokemon/icons/mawile_icon.png | Bin 433 -> 0 bytes graphics/pokemon/icons/medicham_icon.png | Bin 369 -> 0 bytes graphics/pokemon/icons/meditite_icon.png | Bin 329 -> 0 bytes graphics/pokemon/icons/meganium_icon.png | Bin 451 -> 0 bytes graphics/pokemon/icons/meowth_icon.png | Bin 304 -> 0 bytes graphics/pokemon/icons/metagross_icon.png | Bin 439 -> 0 bytes graphics/pokemon/icons/metang_icon.png | Bin 445 -> 0 bytes graphics/pokemon/icons/metapod_icon.png | Bin 241 -> 0 bytes graphics/pokemon/icons/mew_icon.png | Bin 377 -> 0 bytes graphics/pokemon/icons/mewtwo_icon.png | Bin 368 -> 0 bytes graphics/pokemon/icons/mightyena_icon.png | Bin 403 -> 0 bytes graphics/pokemon/icons/milotic_icon.png | Bin 455 -> 0 bytes graphics/pokemon/icons/miltank_icon.png | Bin 351 -> 0 bytes graphics/pokemon/icons/minun_icon.png | Bin 296 -> 0 bytes graphics/pokemon/icons/misdreavus_icon.png | Bin 369 -> 0 bytes graphics/pokemon/icons/moltres_icon.png | Bin 421 -> 0 bytes graphics/pokemon/icons/mr_mime_icon.png | Bin 311 -> 0 bytes graphics/pokemon/icons/mudkip_icon.png | Bin 353 -> 0 bytes graphics/pokemon/icons/muk_icon.png | Bin 441 -> 0 bytes graphics/pokemon/icons/murkrow_icon.png | Bin 370 -> 0 bytes graphics/pokemon/icons/natu_icon.png | Bin 318 -> 0 bytes graphics/pokemon/icons/nidoking_icon.png | Bin 420 -> 0 bytes graphics/pokemon/icons/nidoqueen_icon.png | Bin 374 -> 0 bytes graphics/pokemon/icons/nidoran_f_icon.png | Bin 287 -> 0 bytes graphics/pokemon/icons/nidoran_m_icon.png | Bin 326 -> 0 bytes graphics/pokemon/icons/nidorina_icon.png | Bin 325 -> 0 bytes graphics/pokemon/icons/nidorino_icon.png | Bin 324 -> 0 bytes graphics/pokemon/icons/nincada_icon.png | Bin 352 -> 0 bytes graphics/pokemon/icons/ninetales_icon.png | Bin 421 -> 0 bytes graphics/pokemon/icons/ninjask_icon.png | Bin 324 -> 0 bytes graphics/pokemon/icons/noctowl_icon.png | Bin 362 -> 0 bytes graphics/pokemon/icons/nosepass_icon.png | Bin 282 -> 0 bytes graphics/pokemon/icons/numel_icon.png | Bin 301 -> 0 bytes graphics/pokemon/icons/nuzleaf_icon.png | Bin 342 -> 0 bytes graphics/pokemon/icons/octillery_icon.png | Bin 349 -> 0 bytes graphics/pokemon/icons/oddish_icon.png | Bin 284 -> 0 bytes graphics/pokemon/icons/omanyte_icon.png | Bin 308 -> 0 bytes graphics/pokemon/icons/omastar_icon.png | Bin 350 -> 0 bytes graphics/pokemon/icons/onix_icon.png | Bin 456 -> 0 bytes graphics/pokemon/icons/paras_icon.png | Bin 387 -> 0 bytes graphics/pokemon/icons/parasect_icon.png | Bin 329 -> 0 bytes graphics/pokemon/icons/pelipper_icon.png | Bin 374 -> 0 bytes graphics/pokemon/icons/persian_icon.png | Bin 328 -> 0 bytes graphics/pokemon/icons/phanpy_icon.png | Bin 371 -> 0 bytes graphics/pokemon/icons/pichu_icon.png | Bin 281 -> 0 bytes graphics/pokemon/icons/pidgeot_icon.png | Bin 456 -> 0 bytes graphics/pokemon/icons/pidgeotto_icon.png | Bin 387 -> 0 bytes graphics/pokemon/icons/pidgey_icon.png | Bin 364 -> 0 bytes graphics/pokemon/icons/pikachu_icon.png | Bin 353 -> 0 bytes graphics/pokemon/icons/piloswine_icon.png | Bin 341 -> 0 bytes graphics/pokemon/icons/pineco_icon.png | Bin 290 -> 0 bytes graphics/pokemon/icons/pinsir_icon.png | Bin 334 -> 0 bytes graphics/pokemon/icons/plusle_icon.png | Bin 303 -> 0 bytes graphics/pokemon/icons/politoed_icon.png | Bin 428 -> 0 bytes graphics/pokemon/icons/poliwag_icon.png | Bin 339 -> 0 bytes graphics/pokemon/icons/poliwhirl_icon.png | Bin 348 -> 0 bytes graphics/pokemon/icons/poliwrath_icon.png | Bin 389 -> 0 bytes graphics/pokemon/icons/ponyta_icon.png | Bin 457 -> 0 bytes graphics/pokemon/icons/poochyena_icon.png | Bin 360 -> 0 bytes graphics/pokemon/icons/porygon2_icon.png | Bin 341 -> 0 bytes graphics/pokemon/icons/porygon_icon.png | Bin 386 -> 0 bytes graphics/pokemon/icons/primeape_icon.png | Bin 370 -> 0 bytes graphics/pokemon/icons/psyduck_icon.png | Bin 329 -> 0 bytes graphics/pokemon/icons/pupitar_icon.png | Bin 291 -> 0 bytes graphics/pokemon/icons/quagsire_icon.png | Bin 362 -> 0 bytes graphics/pokemon/icons/question_mark_icon.png | Bin 271 -> 0 bytes graphics/pokemon/icons/quilava_icon.png | Bin 402 -> 0 bytes graphics/pokemon/icons/qwilfish_icon.png | Bin 337 -> 0 bytes graphics/pokemon/icons/raichu_icon.png | Bin 411 -> 0 bytes graphics/pokemon/icons/raikou_icon.png | Bin 486 -> 0 bytes graphics/pokemon/icons/ralts_icon.png | Bin 262 -> 0 bytes graphics/pokemon/icons/rapidash_icon.png | Bin 478 -> 0 bytes graphics/pokemon/icons/raticate_icon.png | Bin 374 -> 0 bytes graphics/pokemon/icons/rattata_icon.png | Bin 318 -> 0 bytes graphics/pokemon/icons/rayquaza_icon.png | Bin 507 -> 0 bytes graphics/pokemon/icons/regice_icon.png | Bin 334 -> 0 bytes graphics/pokemon/icons/regirock_icon.png | Bin 379 -> 0 bytes graphics/pokemon/icons/registeel_icon.png | Bin 351 -> 0 bytes graphics/pokemon/icons/relicanth_icon.png | Bin 413 -> 0 bytes graphics/pokemon/icons/remoraid_icon.png | Bin 330 -> 0 bytes graphics/pokemon/icons/rhydon_icon.png | Bin 381 -> 0 bytes graphics/pokemon/icons/rhyhorn_icon.png | Bin 356 -> 0 bytes graphics/pokemon/icons/roselia_icon.png | Bin 414 -> 0 bytes graphics/pokemon/icons/sableye_icon.png | Bin 319 -> 0 bytes graphics/pokemon/icons/salamence_icon.png | Bin 477 -> 0 bytes graphics/pokemon/icons/sandshrew_icon.png | Bin 338 -> 0 bytes graphics/pokemon/icons/sandslash_icon.png | Bin 402 -> 0 bytes graphics/pokemon/icons/sceptile_icon.png | Bin 383 -> 0 bytes graphics/pokemon/icons/scizor_icon.png | Bin 447 -> 0 bytes graphics/pokemon/icons/scyther_icon.png | Bin 345 -> 0 bytes graphics/pokemon/icons/seadra_icon.png | Bin 351 -> 0 bytes graphics/pokemon/icons/seaking_icon.png | Bin 368 -> 0 bytes graphics/pokemon/icons/sealeo_icon.png | Bin 387 -> 0 bytes graphics/pokemon/icons/seedot_icon.png | Bin 271 -> 0 bytes graphics/pokemon/icons/seel_icon.png | Bin 382 -> 0 bytes graphics/pokemon/icons/sentret_icon.png | Bin 363 -> 0 bytes graphics/pokemon/icons/seviper_icon.png | Bin 368 -> 0 bytes graphics/pokemon/icons/sharpedo_icon.png | Bin 373 -> 0 bytes graphics/pokemon/icons/shedinja_icon.png | Bin 298 -> 0 bytes graphics/pokemon/icons/shelgon_icon.png | Bin 333 -> 0 bytes graphics/pokemon/icons/shellder_icon.png | Bin 295 -> 0 bytes graphics/pokemon/icons/shiftry_icon.png | Bin 349 -> 0 bytes graphics/pokemon/icons/shroomish_icon.png | Bin 317 -> 0 bytes graphics/pokemon/icons/shuckle_icon.png | Bin 334 -> 0 bytes graphics/pokemon/icons/shuppet_icon.png | Bin 275 -> 0 bytes graphics/pokemon/icons/silcoon_icon.png | Bin 329 -> 0 bytes graphics/pokemon/icons/skarmory_icon.png | Bin 418 -> 0 bytes graphics/pokemon/icons/skiploom_icon.png | Bin 375 -> 0 bytes graphics/pokemon/icons/skitty_icon.png | Bin 371 -> 0 bytes graphics/pokemon/icons/slaking_icon.png | Bin 437 -> 0 bytes graphics/pokemon/icons/slakoth_icon.png | Bin 319 -> 0 bytes graphics/pokemon/icons/slowbro_icon.png | Bin 446 -> 0 bytes graphics/pokemon/icons/slowking_icon.png | Bin 364 -> 0 bytes graphics/pokemon/icons/slowpoke_icon.png | Bin 342 -> 0 bytes graphics/pokemon/icons/slugma_icon.png | Bin 343 -> 0 bytes graphics/pokemon/icons/smeargle_icon.png | Bin 377 -> 0 bytes graphics/pokemon/icons/smoochum_icon.png | Bin 414 -> 0 bytes graphics/pokemon/icons/sneasel_icon.png | Bin 347 -> 0 bytes graphics/pokemon/icons/snorlax_icon.png | Bin 346 -> 0 bytes graphics/pokemon/icons/snorunt_icon.png | Bin 283 -> 0 bytes graphics/pokemon/icons/snubbull_icon.png | Bin 325 -> 0 bytes graphics/pokemon/icons/solrock_icon.png | Bin 286 -> 0 bytes graphics/pokemon/icons/spearow_icon.png | Bin 346 -> 0 bytes graphics/pokemon/icons/spheal_icon.png | Bin 317 -> 0 bytes graphics/pokemon/icons/spinarak_icon.png | Bin 345 -> 0 bytes graphics/pokemon/icons/spinda_icon.png | Bin 375 -> 0 bytes graphics/pokemon/icons/spoink_icon.png | Bin 277 -> 0 bytes graphics/pokemon/icons/squirtle_icon.png | Bin 344 -> 0 bytes graphics/pokemon/icons/stantler_icon.png | Bin 356 -> 0 bytes graphics/pokemon/icons/starmie_icon.png | Bin 380 -> 0 bytes graphics/pokemon/icons/staryu_icon.png | Bin 294 -> 0 bytes graphics/pokemon/icons/steelix_icon.png | Bin 433 -> 0 bytes graphics/pokemon/icons/sudowoodo_icon.png | Bin 395 -> 0 bytes graphics/pokemon/icons/suicune_icon.png | Bin 471 -> 0 bytes graphics/pokemon/icons/sunflora_icon.png | Bin 447 -> 0 bytes graphics/pokemon/icons/sunkern_icon.png | Bin 366 -> 0 bytes graphics/pokemon/icons/surskit_icon.png | Bin 325 -> 0 bytes graphics/pokemon/icons/swablu_icon.png | Bin 324 -> 0 bytes graphics/pokemon/icons/swalot_icon.png | Bin 315 -> 0 bytes graphics/pokemon/icons/swampert_icon.png | Bin 417 -> 0 bytes graphics/pokemon/icons/swellow_icon.png | Bin 369 -> 0 bytes graphics/pokemon/icons/swinub_icon.png | Bin 320 -> 0 bytes graphics/pokemon/icons/taillow_icon.png | Bin 329 -> 0 bytes graphics/pokemon/icons/tangela_icon.png | Bin 365 -> 0 bytes graphics/pokemon/icons/tauros_icon.png | Bin 421 -> 0 bytes graphics/pokemon/icons/teddiursa_icon.png | Bin 304 -> 0 bytes graphics/pokemon/icons/tentacool_icon.png | Bin 333 -> 0 bytes graphics/pokemon/icons/tentacruel_icon.png | Bin 486 -> 0 bytes graphics/pokemon/icons/togepi_icon.png | Bin 347 -> 0 bytes graphics/pokemon/icons/togetic_icon.png | Bin 324 -> 0 bytes graphics/pokemon/icons/torchic_icon.png | Bin 338 -> 0 bytes graphics/pokemon/icons/torkoal_icon.png | Bin 342 -> 0 bytes graphics/pokemon/icons/totodile_icon.png | Bin 331 -> 0 bytes graphics/pokemon/icons/trapinch_icon.png | Bin 314 -> 0 bytes graphics/pokemon/icons/treecko_icon.png | Bin 346 -> 0 bytes graphics/pokemon/icons/tropius_icon.png | Bin 422 -> 0 bytes graphics/pokemon/icons/typhlosion_icon.png | Bin 417 -> 0 bytes graphics/pokemon/icons/tyranitar_icon.png | Bin 435 -> 0 bytes graphics/pokemon/icons/tyrogue_icon.png | Bin 321 -> 0 bytes graphics/pokemon/icons/umbreon_icon.png | Bin 358 -> 0 bytes graphics/pokemon/icons/unown_B_icon.png | Bin 256 -> 0 bytes graphics/pokemon/icons/unown_C_icon.png | Bin 276 -> 0 bytes graphics/pokemon/icons/unown_D_icon.png | Bin 257 -> 0 bytes graphics/pokemon/icons/unown_E_icon.png | Bin 249 -> 0 bytes graphics/pokemon/icons/unown_F_icon.png | Bin 269 -> 0 bytes graphics/pokemon/icons/unown_G_icon.png | Bin 241 -> 0 bytes graphics/pokemon/icons/unown_H_icon.png | Bin 270 -> 0 bytes graphics/pokemon/icons/unown_I_icon.png | Bin 223 -> 0 bytes graphics/pokemon/icons/unown_J_icon.png | Bin 244 -> 0 bytes graphics/pokemon/icons/unown_K_icon.png | Bin 244 -> 0 bytes graphics/pokemon/icons/unown_L_icon.png | Bin 243 -> 0 bytes graphics/pokemon/icons/unown_M_icon.png | Bin 268 -> 0 bytes graphics/pokemon/icons/unown_N_icon.png | Bin 259 -> 0 bytes graphics/pokemon/icons/unown_O_icon.png | Bin 260 -> 0 bytes graphics/pokemon/icons/unown_P_icon.png | Bin 227 -> 0 bytes graphics/pokemon/icons/unown_Q_icon.png | Bin 238 -> 0 bytes graphics/pokemon/icons/unown_R_icon.png | Bin 232 -> 0 bytes graphics/pokemon/icons/unown_S_icon.png | Bin 259 -> 0 bytes graphics/pokemon/icons/unown_T_icon.png | Bin 241 -> 0 bytes graphics/pokemon/icons/unown_U_icon.png | Bin 250 -> 0 bytes graphics/pokemon/icons/unown_V_icon.png | Bin 255 -> 0 bytes graphics/pokemon/icons/unown_W_icon.png | Bin 261 -> 0 bytes graphics/pokemon/icons/unown_X_icon.png | Bin 255 -> 0 bytes graphics/pokemon/icons/unown_Y_icon.png | Bin 251 -> 0 bytes graphics/pokemon/icons/unown_Z_icon.png | Bin 244 -> 0 bytes graphics/pokemon/icons/unown_a_icon.png | Bin 245 -> 0 bytes .../pokemon/icons/unown_exclamation_mark_icon.png | Bin 220 -> 0 bytes .../pokemon/icons/unown_question_mark_icon.png | Bin 245 -> 0 bytes graphics/pokemon/icons/ursaring_icon.png | Bin 355 -> 0 bytes graphics/pokemon/icons/vaporeon_icon.png | Bin 393 -> 0 bytes graphics/pokemon/icons/venomoth_icon.png | Bin 400 -> 0 bytes graphics/pokemon/icons/venonat_icon.png | Bin 322 -> 0 bytes graphics/pokemon/icons/venusaur_icon.png | Bin 447 -> 0 bytes graphics/pokemon/icons/vibrava_icon.png | Bin 356 -> 0 bytes graphics/pokemon/icons/victreebel_icon.png | Bin 437 -> 0 bytes graphics/pokemon/icons/vigoroth_icon.png | Bin 358 -> 0 bytes graphics/pokemon/icons/vileplume_icon.png | Bin 410 -> 0 bytes graphics/pokemon/icons/volbeat_icon.png | Bin 335 -> 0 bytes graphics/pokemon/icons/voltorb_icon.png | Bin 242 -> 0 bytes graphics/pokemon/icons/vulpix_icon.png | Bin 307 -> 0 bytes graphics/pokemon/icons/wailmer_icon.png | Bin 359 -> 0 bytes graphics/pokemon/icons/wailord_icon.png | Bin 392 -> 0 bytes graphics/pokemon/icons/walrein_icon.png | Bin 473 -> 0 bytes graphics/pokemon/icons/wartortle_icon.png | Bin 371 -> 0 bytes graphics/pokemon/icons/weedle_icon.png | Bin 279 -> 0 bytes graphics/pokemon/icons/weepinbell_icon.png | Bin 365 -> 0 bytes graphics/pokemon/icons/weezing_icon.png | Bin 456 -> 0 bytes graphics/pokemon/icons/whiscash_icon.png | Bin 420 -> 0 bytes graphics/pokemon/icons/whismur_icon.png | Bin 291 -> 0 bytes graphics/pokemon/icons/wigglytuff_icon.png | Bin 327 -> 0 bytes graphics/pokemon/icons/wingull_icon.png | Bin 360 -> 0 bytes graphics/pokemon/icons/wobbuffet_icon.png | Bin 335 -> 0 bytes graphics/pokemon/icons/wooper_icon.png | Bin 307 -> 0 bytes graphics/pokemon/icons/wurmple_icon.png | Bin 331 -> 0 bytes graphics/pokemon/icons/wynaut_icon.png | Bin 353 -> 0 bytes graphics/pokemon/icons/xatu_icon.png | Bin 350 -> 0 bytes graphics/pokemon/icons/yanma_icon.png | Bin 388 -> 0 bytes graphics/pokemon/icons/zangoose_icon.png | Bin 419 -> 0 bytes graphics/pokemon/icons/zapdos_icon.png | Bin 375 -> 0 bytes graphics/pokemon/icons/zigzagoon_icon.png | Bin 347 -> 0 bytes graphics/pokemon/icons/zubat_icon.png | Bin 335 -> 0 bytes graphics/pokemon/igglybuff/back.png | Bin 0 -> 443 bytes graphics/pokemon/igglybuff/footprint.png | Bin 0 -> 85 bytes graphics/pokemon/igglybuff/front.png | Bin 0 -> 376 bytes graphics/pokemon/igglybuff/icon.png | Bin 0 -> 322 bytes graphics/pokemon/igglybuff/normal.pal | 19 + graphics/pokemon/igglybuff/shiny.pal | 19 + graphics/pokemon/illumise/back.png | Bin 0 -> 663 bytes graphics/pokemon/illumise/footprint.png | Bin 0 -> 84 bytes graphics/pokemon/illumise/front.png | Bin 0 -> 729 bytes graphics/pokemon/illumise/icon.png | Bin 0 -> 325 bytes graphics/pokemon/illumise/normal.pal | 19 + graphics/pokemon/illumise/shiny.pal | 19 + graphics/pokemon/ivysaur/back.png | Bin 0 -> 695 bytes graphics/pokemon/ivysaur/footprint.png | Bin 0 -> 96 bytes graphics/pokemon/ivysaur/front.png | Bin 0 -> 689 bytes graphics/pokemon/ivysaur/icon.png | Bin 0 -> 326 bytes graphics/pokemon/ivysaur/normal.pal | 19 + graphics/pokemon/ivysaur/shiny.pal | 19 + graphics/pokemon/jigglypuff/back.png | Bin 0 -> 451 bytes graphics/pokemon/jigglypuff/footprint.png | Bin 0 -> 85 bytes graphics/pokemon/jigglypuff/front.png | Bin 0 -> 496 bytes graphics/pokemon/jigglypuff/icon.png | Bin 0 -> 315 bytes graphics/pokemon/jigglypuff/normal.pal | 19 + graphics/pokemon/jigglypuff/shiny.pal | 19 + graphics/pokemon/jirachi/back.png | Bin 0 -> 738 bytes graphics/pokemon/jirachi/footprint.png | Bin 0 -> 83 bytes graphics/pokemon/jirachi/front.png | Bin 0 -> 637 bytes graphics/pokemon/jirachi/icon.png | Bin 0 -> 340 bytes graphics/pokemon/jirachi/normal.pal | 19 + graphics/pokemon/jirachi/shiny.pal | 19 + graphics/pokemon/jolteon/back.png | Bin 0 -> 754 bytes graphics/pokemon/jolteon/footprint.png | Bin 0 -> 91 bytes graphics/pokemon/jolteon/front.png | Bin 0 -> 706 bytes graphics/pokemon/jolteon/icon.png | Bin 0 -> 324 bytes graphics/pokemon/jolteon/normal.pal | 19 + graphics/pokemon/jolteon/shiny.pal | 19 + graphics/pokemon/jumpluff/back.png | Bin 0 -> 809 bytes graphics/pokemon/jumpluff/footprint.png | Bin 0 -> 84 bytes graphics/pokemon/jumpluff/front.png | Bin 0 -> 734 bytes graphics/pokemon/jumpluff/icon.png | Bin 0 -> 398 bytes graphics/pokemon/jumpluff/normal.pal | 19 + graphics/pokemon/jumpluff/shiny.pal | 19 + graphics/pokemon/jynx/back.png | Bin 0 -> 610 bytes graphics/pokemon/jynx/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/jynx/front.png | Bin 0 -> 832 bytes graphics/pokemon/jynx/icon.png | Bin 0 -> 375 bytes graphics/pokemon/jynx/normal.pal | 19 + graphics/pokemon/jynx/shiny.pal | 19 + graphics/pokemon/kabuto/back.png | Bin 0 -> 499 bytes graphics/pokemon/kabuto/footprint.png | Bin 0 -> 76 bytes graphics/pokemon/kabuto/front.png | Bin 0 -> 440 bytes graphics/pokemon/kabuto/icon.png | Bin 0 -> 264 bytes graphics/pokemon/kabuto/normal.pal | 19 + graphics/pokemon/kabuto/shiny.pal | 19 + graphics/pokemon/kabutops/back.png | Bin 0 -> 753 bytes graphics/pokemon/kabutops/footprint.png | Bin 0 -> 94 bytes graphics/pokemon/kabutops/front.png | Bin 0 -> 844 bytes graphics/pokemon/kabutops/icon.png | Bin 0 -> 322 bytes graphics/pokemon/kabutops/normal.pal | 19 + graphics/pokemon/kabutops/shiny.pal | 19 + graphics/pokemon/kadabra/back.png | Bin 0 -> 754 bytes graphics/pokemon/kadabra/footprint.png | Bin 0 -> 100 bytes graphics/pokemon/kadabra/front.png | Bin 0 -> 1016 bytes graphics/pokemon/kadabra/icon.png | Bin 0 -> 432 bytes graphics/pokemon/kadabra/normal.pal | 19 + graphics/pokemon/kadabra/shiny.pal | 19 + graphics/pokemon/kakuna/back.png | Bin 0 -> 490 bytes graphics/pokemon/kakuna/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/kakuna/front.png | Bin 0 -> 442 bytes graphics/pokemon/kakuna/icon.png | Bin 0 -> 266 bytes graphics/pokemon/kakuna/normal.pal | 19 + graphics/pokemon/kakuna/shiny.pal | 19 + graphics/pokemon/kangaskhan/back.png | Bin 0 -> 881 bytes graphics/pokemon/kangaskhan/footprint.png | Bin 0 -> 96 bytes graphics/pokemon/kangaskhan/front.png | Bin 0 -> 981 bytes graphics/pokemon/kangaskhan/icon.png | Bin 0 -> 389 bytes graphics/pokemon/kangaskhan/normal.pal | 19 + graphics/pokemon/kangaskhan/shiny.pal | 19 + graphics/pokemon/kecleon/back.png | Bin 0 -> 818 bytes graphics/pokemon/kecleon/footprint.png | Bin 0 -> 96 bytes graphics/pokemon/kecleon/front.png | Bin 0 -> 762 bytes graphics/pokemon/kecleon/icon.png | Bin 0 -> 384 bytes graphics/pokemon/kecleon/normal.pal | 19 + graphics/pokemon/kecleon/shiny.pal | 19 + graphics/pokemon/kingdra/back.png | Bin 0 -> 743 bytes graphics/pokemon/kingdra/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/kingdra/front.png | Bin 0 -> 858 bytes graphics/pokemon/kingdra/icon.png | Bin 0 -> 385 bytes graphics/pokemon/kingdra/normal.pal | 19 + graphics/pokemon/kingdra/shiny.pal | 19 + graphics/pokemon/kingler/back.png | Bin 0 -> 716 bytes graphics/pokemon/kingler/footprint.png | Bin 0 -> 93 bytes graphics/pokemon/kingler/front.png | Bin 0 -> 936 bytes graphics/pokemon/kingler/icon.png | Bin 0 -> 440 bytes graphics/pokemon/kingler/normal.pal | 19 + graphics/pokemon/kingler/shiny.pal | 19 + graphics/pokemon/kirlia/back.png | Bin 0 -> 723 bytes graphics/pokemon/kirlia/footprint.png | Bin 0 -> 81 bytes graphics/pokemon/kirlia/front.png | Bin 0 -> 618 bytes graphics/pokemon/kirlia/icon.png | Bin 0 -> 351 bytes graphics/pokemon/kirlia/normal.pal | 19 + graphics/pokemon/kirlia/shiny.pal | 19 + graphics/pokemon/koffing/back.png | Bin 0 -> 634 bytes graphics/pokemon/koffing/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/koffing/front.png | Bin 0 -> 634 bytes graphics/pokemon/koffing/icon.png | Bin 0 -> 315 bytes graphics/pokemon/koffing/normal.pal | 19 + graphics/pokemon/koffing/shiny.pal | 19 + graphics/pokemon/krabby/back.png | Bin 0 -> 710 bytes graphics/pokemon/krabby/footprint.png | Bin 0 -> 86 bytes graphics/pokemon/krabby/front.png | Bin 0 -> 633 bytes graphics/pokemon/krabby/icon.png | Bin 0 -> 432 bytes graphics/pokemon/krabby/normal.pal | 19 + graphics/pokemon/krabby/shiny.pal | 19 + graphics/pokemon/kyogre/back.png | Bin 0 -> 497 bytes graphics/pokemon/kyogre/footprint.png | Bin 0 -> 104 bytes graphics/pokemon/kyogre/front.png | Bin 0 -> 965 bytes graphics/pokemon/kyogre/icon.png | Bin 0 -> 444 bytes graphics/pokemon/kyogre/normal.pal | 19 + graphics/pokemon/kyogre/shiny.pal | 19 + graphics/pokemon/lairon/back.png | Bin 0 -> 575 bytes graphics/pokemon/lairon/footprint.png | Bin 0 -> 101 bytes graphics/pokemon/lairon/front.png | Bin 0 -> 814 bytes graphics/pokemon/lairon/icon.png | Bin 0 -> 362 bytes graphics/pokemon/lairon/normal.pal | 19 + graphics/pokemon/lairon/shiny.pal | 19 + graphics/pokemon/lanturn/back.png | Bin 0 -> 644 bytes graphics/pokemon/lanturn/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/lanturn/front.png | Bin 0 -> 738 bytes graphics/pokemon/lanturn/icon.png | Bin 0 -> 442 bytes graphics/pokemon/lanturn/normal.pal | 19 + graphics/pokemon/lanturn/shiny.pal | 19 + graphics/pokemon/lapras/back.png | Bin 0 -> 686 bytes graphics/pokemon/lapras/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/lapras/front.png | Bin 0 -> 811 bytes graphics/pokemon/lapras/icon.png | Bin 0 -> 409 bytes graphics/pokemon/lapras/normal.pal | 19 + graphics/pokemon/lapras/shiny.pal | 19 + graphics/pokemon/larvitar/back.png | Bin 0 -> 517 bytes graphics/pokemon/larvitar/footprint.png | Bin 0 -> 82 bytes graphics/pokemon/larvitar/front.png | Bin 0 -> 480 bytes graphics/pokemon/larvitar/icon.png | Bin 0 -> 304 bytes graphics/pokemon/larvitar/normal.pal | 19 + graphics/pokemon/larvitar/shiny.pal | 19 + graphics/pokemon/latias/back.png | Bin 0 -> 619 bytes graphics/pokemon/latias/footprint.png | Bin 0 -> 104 bytes graphics/pokemon/latias/front.png | Bin 0 -> 867 bytes graphics/pokemon/latias/icon.png | Bin 0 -> 396 bytes graphics/pokemon/latias/normal.pal | 19 + graphics/pokemon/latias/shiny.pal | 19 + graphics/pokemon/latios/back.png | Bin 0 -> 672 bytes graphics/pokemon/latios/footprint.png | Bin 0 -> 105 bytes graphics/pokemon/latios/front.png | Bin 0 -> 959 bytes graphics/pokemon/latios/icon.png | Bin 0 -> 396 bytes graphics/pokemon/latios/normal.pal | 19 + graphics/pokemon/latios/shiny.pal | 19 + graphics/pokemon/ledian/back.png | Bin 0 -> 720 bytes graphics/pokemon/ledian/footprint.png | Bin 0 -> 94 bytes graphics/pokemon/ledian/front.png | Bin 0 -> 766 bytes graphics/pokemon/ledian/icon.png | Bin 0 -> 377 bytes graphics/pokemon/ledian/normal.pal | 19 + graphics/pokemon/ledian/shiny.pal | 19 + graphics/pokemon/ledyba/back.png | Bin 0 -> 642 bytes graphics/pokemon/ledyba/footprint.png | Bin 0 -> 99 bytes graphics/pokemon/ledyba/front.png | Bin 0 -> 637 bytes graphics/pokemon/ledyba/icon.png | Bin 0 -> 314 bytes graphics/pokemon/ledyba/normal.pal | 19 + graphics/pokemon/ledyba/shiny.pal | 19 + graphics/pokemon/lickitung/back.png | Bin 0 -> 517 bytes graphics/pokemon/lickitung/footprint.png | Bin 0 -> 102 bytes graphics/pokemon/lickitung/front.png | Bin 0 -> 821 bytes graphics/pokemon/lickitung/icon.png | Bin 0 -> 368 bytes graphics/pokemon/lickitung/normal.pal | 19 + graphics/pokemon/lickitung/shiny.pal | 19 + graphics/pokemon/lileep/back.png | Bin 0 -> 679 bytes graphics/pokemon/lileep/footprint.png | Bin 0 -> 99 bytes graphics/pokemon/lileep/front.png | Bin 0 -> 692 bytes graphics/pokemon/lileep/icon.png | Bin 0 -> 361 bytes graphics/pokemon/lileep/normal.pal | 19 + graphics/pokemon/lileep/shiny.pal | 19 + graphics/pokemon/linoone/back.png | Bin 0 -> 546 bytes graphics/pokemon/linoone/footprint.png | Bin 0 -> 90 bytes graphics/pokemon/linoone/front.png | Bin 0 -> 703 bytes graphics/pokemon/linoone/icon.png | Bin 0 -> 390 bytes graphics/pokemon/linoone/normal.pal | 19 + graphics/pokemon/linoone/shiny.pal | 19 + graphics/pokemon/lombre/back.png | Bin 0 -> 585 bytes graphics/pokemon/lombre/footprint.png | Bin 0 -> 110 bytes graphics/pokemon/lombre/front.png | Bin 0 -> 647 bytes graphics/pokemon/lombre/icon.png | Bin 0 -> 319 bytes graphics/pokemon/lombre/normal.pal | 19 + graphics/pokemon/lombre/shiny.pal | 19 + graphics/pokemon/lotad/back.png | Bin 0 -> 544 bytes graphics/pokemon/lotad/footprint.png | Bin 0 -> 88 bytes graphics/pokemon/lotad/front.png | Bin 0 -> 492 bytes graphics/pokemon/lotad/icon.png | Bin 0 -> 283 bytes graphics/pokemon/lotad/normal.pal | 19 + graphics/pokemon/lotad/shiny.pal | 19 + graphics/pokemon/loudred/back.png | Bin 0 -> 686 bytes graphics/pokemon/loudred/footprint.png | Bin 0 -> 105 bytes graphics/pokemon/loudred/front.png | Bin 0 -> 936 bytes graphics/pokemon/loudred/icon.png | Bin 0 -> 387 bytes graphics/pokemon/loudred/normal.pal | 19 + graphics/pokemon/loudred/shiny.pal | 19 + graphics/pokemon/ludicolo/back.png | Bin 0 -> 604 bytes graphics/pokemon/ludicolo/footprint.png | Bin 0 -> 94 bytes graphics/pokemon/ludicolo/front.png | Bin 0 -> 1040 bytes graphics/pokemon/ludicolo/icon.png | Bin 0 -> 379 bytes graphics/pokemon/ludicolo/normal.pal | 19 + graphics/pokemon/ludicolo/shiny.pal | 19 + graphics/pokemon/lugia/back.png | Bin 0 -> 783 bytes graphics/pokemon/lugia/footprint.png | Bin 0 -> 95 bytes graphics/pokemon/lugia/front.png | Bin 0 -> 1030 bytes graphics/pokemon/lugia/icon.png | Bin 0 -> 454 bytes graphics/pokemon/lugia/normal.pal | 19 + graphics/pokemon/lugia/shiny.pal | 19 + graphics/pokemon/lunatone/back.png | Bin 0 -> 719 bytes graphics/pokemon/lunatone/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/lunatone/front.png | Bin 0 -> 660 bytes graphics/pokemon/lunatone/icon.png | Bin 0 -> 261 bytes graphics/pokemon/lunatone/normal.pal | 19 + graphics/pokemon/lunatone/shiny.pal | 19 + graphics/pokemon/luvdisc/back.png | Bin 0 -> 357 bytes graphics/pokemon/luvdisc/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/luvdisc/front.png | Bin 0 -> 328 bytes graphics/pokemon/luvdisc/icon.png | Bin 0 -> 281 bytes graphics/pokemon/luvdisc/normal.pal | 19 + graphics/pokemon/luvdisc/shiny.pal | 19 + graphics/pokemon/machamp/back.png | Bin 0 -> 903 bytes graphics/pokemon/machamp/footprint.png | Bin 0 -> 98 bytes graphics/pokemon/machamp/front.png | Bin 0 -> 1046 bytes graphics/pokemon/machamp/icon.png | Bin 0 -> 414 bytes graphics/pokemon/machamp/normal.pal | 19 + graphics/pokemon/machamp/shiny.pal | 19 + graphics/pokemon/machoke/back.png | Bin 0 -> 675 bytes graphics/pokemon/machoke/footprint.png | Bin 0 -> 97 bytes graphics/pokemon/machoke/front.png | Bin 0 -> 796 bytes graphics/pokemon/machoke/icon.png | Bin 0 -> 415 bytes graphics/pokemon/machoke/normal.pal | 19 + graphics/pokemon/machoke/shiny.pal | 19 + graphics/pokemon/machop/back.png | Bin 0 -> 584 bytes graphics/pokemon/machop/footprint.png | Bin 0 -> 90 bytes graphics/pokemon/machop/front.png | Bin 0 -> 516 bytes graphics/pokemon/machop/icon.png | Bin 0 -> 313 bytes graphics/pokemon/machop/normal.pal | 19 + graphics/pokemon/machop/shiny.pal | 19 + graphics/pokemon/magby/back.png | Bin 0 -> 546 bytes graphics/pokemon/magby/footprint.png | Bin 0 -> 88 bytes graphics/pokemon/magby/front.png | Bin 0 -> 506 bytes graphics/pokemon/magby/icon.png | Bin 0 -> 296 bytes graphics/pokemon/magby/normal.pal | 19 + graphics/pokemon/magby/shiny.pal | 19 + graphics/pokemon/magcargo/back.png | Bin 0 -> 829 bytes graphics/pokemon/magcargo/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/magcargo/front.png | Bin 0 -> 708 bytes graphics/pokemon/magcargo/icon.png | Bin 0 -> 444 bytes graphics/pokemon/magcargo/normal.pal | 19 + graphics/pokemon/magcargo/shiny.pal | 19 + graphics/pokemon/magikarp/back.png | Bin 0 -> 673 bytes graphics/pokemon/magikarp/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/magikarp/front.png | Bin 0 -> 753 bytes graphics/pokemon/magikarp/icon.png | Bin 0 -> 381 bytes graphics/pokemon/magikarp/normal.pal | 19 + graphics/pokemon/magikarp/shiny.pal | 19 + graphics/pokemon/magmar/back.png | Bin 0 -> 689 bytes graphics/pokemon/magmar/footprint.png | Bin 0 -> 94 bytes graphics/pokemon/magmar/front.png | Bin 0 -> 921 bytes graphics/pokemon/magmar/icon.png | Bin 0 -> 398 bytes graphics/pokemon/magmar/normal.pal | 19 + graphics/pokemon/magmar/shiny.pal | 19 + graphics/pokemon/magnemite/back.png | Bin 0 -> 391 bytes graphics/pokemon/magnemite/footprint.png | Bin 0 -> 83 bytes graphics/pokemon/magnemite/front.png | Bin 0 -> 390 bytes graphics/pokemon/magnemite/icon.png | Bin 0 -> 289 bytes graphics/pokemon/magnemite/normal.pal | 19 + graphics/pokemon/magnemite/shiny.pal | 19 + graphics/pokemon/magneton/back.png | Bin 0 -> 749 bytes graphics/pokemon/magneton/footprint.png | Bin 0 -> 90 bytes graphics/pokemon/magneton/front.png | Bin 0 -> 707 bytes graphics/pokemon/magneton/icon.png | Bin 0 -> 416 bytes graphics/pokemon/magneton/normal.pal | 19 + graphics/pokemon/magneton/shiny.pal | 19 + graphics/pokemon/makuhita/back.png | Bin 0 -> 579 bytes graphics/pokemon/makuhita/footprint.png | Bin 0 -> 97 bytes graphics/pokemon/makuhita/front.png | Bin 0 -> 637 bytes graphics/pokemon/makuhita/icon.png | Bin 0 -> 326 bytes graphics/pokemon/makuhita/normal.pal | 19 + graphics/pokemon/makuhita/shiny.pal | 19 + graphics/pokemon/manectric/back.png | Bin 0 -> 437 bytes graphics/pokemon/manectric/footprint.png | Bin 0 -> 100 bytes graphics/pokemon/manectric/front.png | Bin 0 -> 685 bytes graphics/pokemon/manectric/icon.png | Bin 0 -> 316 bytes graphics/pokemon/manectric/normal.pal | 19 + graphics/pokemon/manectric/shiny.pal | 19 + graphics/pokemon/mankey/back.png | Bin 0 -> 697 bytes graphics/pokemon/mankey/footprint.png | Bin 0 -> 110 bytes graphics/pokemon/mankey/front.png | Bin 0 -> 646 bytes graphics/pokemon/mankey/icon.png | Bin 0 -> 374 bytes graphics/pokemon/mankey/normal.pal | 19 + graphics/pokemon/mankey/shiny.pal | 19 + graphics/pokemon/mantine/back.png | Bin 0 -> 526 bytes graphics/pokemon/mantine/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/mantine/front.png | Bin 0 -> 983 bytes graphics/pokemon/mantine/icon.png | Bin 0 -> 374 bytes graphics/pokemon/mantine/normal.pal | 19 + graphics/pokemon/mantine/shiny.pal | 19 + graphics/pokemon/mareep/back.png | Bin 0 -> 635 bytes graphics/pokemon/mareep/footprint.png | Bin 0 -> 84 bytes graphics/pokemon/mareep/front.png | Bin 0 -> 571 bytes graphics/pokemon/mareep/icon.png | Bin 0 -> 391 bytes graphics/pokemon/mareep/normal.pal | 19 + graphics/pokemon/mareep/shiny.pal | 19 + graphics/pokemon/marill/back.png | Bin 0 -> 514 bytes graphics/pokemon/marill/footprint.png | Bin 0 -> 85 bytes graphics/pokemon/marill/front.png | Bin 0 -> 563 bytes graphics/pokemon/marill/icon.png | Bin 0 -> 365 bytes graphics/pokemon/marill/normal.pal | 19 + graphics/pokemon/marill/shiny.pal | 19 + graphics/pokemon/marowak/back.png | Bin 0 -> 629 bytes graphics/pokemon/marowak/footprint.png | Bin 0 -> 86 bytes graphics/pokemon/marowak/front.png | Bin 0 -> 753 bytes graphics/pokemon/marowak/icon.png | Bin 0 -> 388 bytes graphics/pokemon/marowak/normal.pal | 19 + graphics/pokemon/marowak/shiny.pal | 19 + graphics/pokemon/marshtomp/back.png | Bin 0 -> 748 bytes graphics/pokemon/marshtomp/footprint.png | Bin 0 -> 90 bytes graphics/pokemon/marshtomp/front.png | Bin 0 -> 736 bytes graphics/pokemon/marshtomp/icon.png | Bin 0 -> 294 bytes graphics/pokemon/marshtomp/normal.pal | 19 + graphics/pokemon/marshtomp/shiny.pal | 19 + graphics/pokemon/masquerain/back.png | Bin 0 -> 697 bytes graphics/pokemon/masquerain/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/masquerain/front.png | Bin 0 -> 782 bytes graphics/pokemon/masquerain/icon.png | Bin 0 -> 371 bytes graphics/pokemon/masquerain/normal.pal | 19 + graphics/pokemon/masquerain/shiny.pal | 19 + graphics/pokemon/mawile/back.png | Bin 0 -> 825 bytes graphics/pokemon/mawile/footprint.png | Bin 0 -> 102 bytes graphics/pokemon/mawile/front.png | Bin 0 -> 774 bytes graphics/pokemon/mawile/icon.png | Bin 0 -> 433 bytes graphics/pokemon/mawile/normal.pal | 19 + graphics/pokemon/mawile/shiny.pal | 19 + graphics/pokemon/medicham/back.png | Bin 0 -> 696 bytes graphics/pokemon/medicham/footprint.png | Bin 0 -> 92 bytes graphics/pokemon/medicham/front.png | Bin 0 -> 711 bytes graphics/pokemon/medicham/icon.png | Bin 0 -> 369 bytes graphics/pokemon/medicham/normal.pal | 19 + graphics/pokemon/medicham/shiny.pal | 19 + graphics/pokemon/meditite/back.png | Bin 0 -> 565 bytes graphics/pokemon/meditite/footprint.png | Bin 0 -> 89 bytes graphics/pokemon/meditite/front.png | Bin 0 -> 573 bytes graphics/pokemon/meditite/icon.png | Bin 0 -> 329 bytes graphics/pokemon/meditite/normal.pal | 19 + graphics/pokemon/meditite/shiny.pal | 19 + graphics/pokemon/meganium/back.png | Bin 0 -> 736 bytes graphics/pokemon/meganium/footprint.png | Bin 0 -> 97 bytes graphics/pokemon/meganium/front.png | Bin 0 -> 1117 bytes graphics/pokemon/meganium/icon.png | Bin 0 -> 451 bytes graphics/pokemon/meganium/normal.pal | 19 + graphics/pokemon/meganium/shiny.pal | 19 + graphics/pokemon/meowth/back.png | Bin 0 -> 576 bytes graphics/pokemon/meowth/footprint.png | Bin 0 -> 94 bytes graphics/pokemon/meowth/front.png | Bin 0 -> 637 bytes graphics/pokemon/meowth/icon.png | Bin 0 -> 304 bytes graphics/pokemon/meowth/normal.pal | 19 + graphics/pokemon/meowth/shiny.pal | 19 + graphics/pokemon/metagross/back.png | Bin 0 -> 515 bytes graphics/pokemon/metagross/footprint.png | Bin 0 -> 91 bytes graphics/pokemon/metagross/front.png | Bin 0 -> 911 bytes graphics/pokemon/metagross/icon.png | Bin 0 -> 439 bytes graphics/pokemon/metagross/normal.pal | 19 + graphics/pokemon/metagross/shiny.pal | 19 + graphics/pokemon/metang/back.png | Bin 0 -> 618 bytes graphics/pokemon/metang/footprint.png | Bin 0 -> 92 bytes graphics/pokemon/metang/front.png | Bin 0 -> 899 bytes graphics/pokemon/metang/icon.png | Bin 0 -> 445 bytes graphics/pokemon/metang/normal.pal | 19 + graphics/pokemon/metang/shiny.pal | 19 + graphics/pokemon/metapod/back.png | Bin 0 -> 411 bytes graphics/pokemon/metapod/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/metapod/front.png | Bin 0 -> 406 bytes graphics/pokemon/metapod/icon.png | Bin 0 -> 241 bytes graphics/pokemon/metapod/normal.pal | 19 + graphics/pokemon/metapod/shiny.pal | 19 + graphics/pokemon/mew/back.png | Bin 0 -> 654 bytes graphics/pokemon/mew/footprint.png | Bin 0 -> 88 bytes graphics/pokemon/mew/front.png | Bin 0 -> 577 bytes graphics/pokemon/mew/icon.png | Bin 0 -> 377 bytes graphics/pokemon/mew/normal.pal | 19 + graphics/pokemon/mew/shiny.pal | 19 + graphics/pokemon/mewtwo/back.png | Bin 0 -> 815 bytes graphics/pokemon/mewtwo/footprint.png | Bin 0 -> 100 bytes graphics/pokemon/mewtwo/front.png | Bin 0 -> 875 bytes graphics/pokemon/mewtwo/icon.png | Bin 0 -> 368 bytes graphics/pokemon/mewtwo/normal.pal | 19 + graphics/pokemon/mewtwo/shiny.pal | 19 + graphics/pokemon/mightyena/back.png | Bin 0 -> 724 bytes graphics/pokemon/mightyena/footprint.png | Bin 0 -> 113 bytes graphics/pokemon/mightyena/front.png | Bin 0 -> 856 bytes graphics/pokemon/mightyena/icon.png | Bin 0 -> 403 bytes graphics/pokemon/mightyena/normal.pal | 19 + graphics/pokemon/mightyena/shiny.pal | 19 + graphics/pokemon/milotic/back.png | Bin 0 -> 588 bytes graphics/pokemon/milotic/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/milotic/front.png | Bin 0 -> 966 bytes graphics/pokemon/milotic/icon.png | Bin 0 -> 455 bytes graphics/pokemon/milotic/normal.pal | 19 + graphics/pokemon/milotic/shiny.pal | 19 + graphics/pokemon/miltank/back.png | Bin 0 -> 731 bytes graphics/pokemon/miltank/footprint.png | Bin 0 -> 86 bytes graphics/pokemon/miltank/front.png | Bin 0 -> 791 bytes graphics/pokemon/miltank/icon.png | Bin 0 -> 351 bytes graphics/pokemon/miltank/normal.pal | 19 + graphics/pokemon/miltank/shiny.pal | 19 + graphics/pokemon/minun/back.png | Bin 0 -> 575 bytes graphics/pokemon/minun/footprint.png | Bin 0 -> 86 bytes graphics/pokemon/minun/front.png | Bin 0 -> 505 bytes graphics/pokemon/minun/icon.png | Bin 0 -> 296 bytes graphics/pokemon/minun/normal.pal | 19 + graphics/pokemon/minun/shiny.pal | 19 + graphics/pokemon/misdreavus/back.png | Bin 0 -> 618 bytes graphics/pokemon/misdreavus/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/misdreavus/front.png | Bin 0 -> 590 bytes graphics/pokemon/misdreavus/icon.png | Bin 0 -> 369 bytes graphics/pokemon/misdreavus/normal.pal | 19 + graphics/pokemon/misdreavus/shiny.pal | 19 + graphics/pokemon/moltres/back.png | Bin 0 -> 682 bytes graphics/pokemon/moltres/footprint.png | Bin 0 -> 101 bytes graphics/pokemon/moltres/front.png | Bin 0 -> 1014 bytes graphics/pokemon/moltres/icon.png | Bin 0 -> 421 bytes graphics/pokemon/moltres/normal.pal | 19 + graphics/pokemon/moltres/shiny.pal | 19 + graphics/pokemon/mr_mime/back.png | Bin 0 -> 677 bytes graphics/pokemon/mr_mime/footprint.png | Bin 0 -> 89 bytes graphics/pokemon/mr_mime/front.png | Bin 0 -> 821 bytes graphics/pokemon/mr_mime/icon.png | Bin 0 -> 311 bytes graphics/pokemon/mr_mime/normal.pal | 19 + graphics/pokemon/mr_mime/shiny.pal | 19 + graphics/pokemon/mudkip/back.png | Bin 0 -> 627 bytes graphics/pokemon/mudkip/footprint.png | Bin 0 -> 90 bytes graphics/pokemon/mudkip/front.png | Bin 0 -> 572 bytes graphics/pokemon/mudkip/icon.png | Bin 0 -> 353 bytes graphics/pokemon/mudkip/normal.pal | 19 + graphics/pokemon/mudkip/shiny.pal | 19 + graphics/pokemon/muk/back.png | Bin 0 -> 582 bytes graphics/pokemon/muk/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/muk/front.png | Bin 0 -> 710 bytes graphics/pokemon/muk/icon.png | Bin 0 -> 441 bytes graphics/pokemon/muk/normal.pal | 19 + graphics/pokemon/muk/shiny.pal | 19 + graphics/pokemon/murkrow/back.png | Bin 0 -> 640 bytes graphics/pokemon/murkrow/footprint.png | Bin 0 -> 94 bytes graphics/pokemon/murkrow/front.png | Bin 0 -> 601 bytes graphics/pokemon/murkrow/icon.png | Bin 0 -> 370 bytes graphics/pokemon/murkrow/normal.pal | 19 + graphics/pokemon/murkrow/shiny.pal | 19 + graphics/pokemon/natu/back.png | Bin 0 -> 401 bytes graphics/pokemon/natu/footprint.png | Bin 0 -> 84 bytes graphics/pokemon/natu/front.png | Bin 0 -> 375 bytes graphics/pokemon/natu/icon.png | Bin 0 -> 318 bytes graphics/pokemon/natu/normal.pal | 19 + graphics/pokemon/natu/shiny.pal | 19 + graphics/pokemon/nidoking/back.png | Bin 0 -> 849 bytes graphics/pokemon/nidoking/footprint.png | Bin 0 -> 94 bytes graphics/pokemon/nidoking/front.png | Bin 0 -> 1084 bytes graphics/pokemon/nidoking/icon.png | Bin 0 -> 420 bytes graphics/pokemon/nidoking/normal.pal | 19 + graphics/pokemon/nidoking/shiny.pal | 19 + graphics/pokemon/nidoqueen/back.png | Bin 0 -> 761 bytes graphics/pokemon/nidoqueen/footprint.png | Bin 0 -> 98 bytes graphics/pokemon/nidoqueen/front.png | Bin 0 -> 893 bytes graphics/pokemon/nidoqueen/icon.png | Bin 0 -> 374 bytes graphics/pokemon/nidoqueen/normal.pal | 19 + graphics/pokemon/nidoqueen/shiny.pal | 19 + graphics/pokemon/nidoran_f/back.png | Bin 0 -> 587 bytes graphics/pokemon/nidoran_f/footprint.png | Bin 0 -> 87 bytes graphics/pokemon/nidoran_f/front.png | Bin 0 -> 480 bytes graphics/pokemon/nidoran_f/icon.png | Bin 0 -> 287 bytes graphics/pokemon/nidoran_f/normal.pal | 19 + graphics/pokemon/nidoran_f/shiny.pal | 19 + graphics/pokemon/nidoran_m/back.png | Bin 0 -> 630 bytes graphics/pokemon/nidoran_m/footprint.png | Bin 0 -> 89 bytes graphics/pokemon/nidoran_m/front.png | Bin 0 -> 505 bytes graphics/pokemon/nidoran_m/icon.png | Bin 0 -> 326 bytes graphics/pokemon/nidoran_m/normal.pal | 19 + graphics/pokemon/nidoran_m/shiny.pal | 19 + graphics/pokemon/nidorina/back.png | Bin 0 -> 693 bytes graphics/pokemon/nidorina/footprint.png | Bin 0 -> 94 bytes graphics/pokemon/nidorina/front.png | Bin 0 -> 632 bytes graphics/pokemon/nidorina/icon.png | Bin 0 -> 325 bytes graphics/pokemon/nidorina/normal.pal | 19 + graphics/pokemon/nidorina/shiny.pal | 19 + graphics/pokemon/nidorino/back.png | Bin 0 -> 741 bytes graphics/pokemon/nidorino/footprint.png | Bin 0 -> 100 bytes graphics/pokemon/nidorino/front.png | Bin 0 -> 716 bytes graphics/pokemon/nidorino/icon.png | Bin 0 -> 324 bytes graphics/pokemon/nidorino/normal.pal | 19 + graphics/pokemon/nidorino/shiny.pal | 19 + graphics/pokemon/nincada/back.png | Bin 0 -> 576 bytes graphics/pokemon/nincada/footprint.png | Bin 0 -> 92 bytes graphics/pokemon/nincada/front.png | Bin 0 -> 578 bytes graphics/pokemon/nincada/icon.png | Bin 0 -> 352 bytes graphics/pokemon/nincada/normal.pal | 19 + graphics/pokemon/nincada/shiny.pal | 19 + graphics/pokemon/ninetales/back.png | Bin 0 -> 770 bytes graphics/pokemon/ninetales/footprint.png | Bin 0 -> 96 bytes graphics/pokemon/ninetales/front.png | Bin 0 -> 885 bytes graphics/pokemon/ninetales/icon.png | Bin 0 -> 421 bytes graphics/pokemon/ninetales/normal.pal | 19 + graphics/pokemon/ninetales/shiny.pal | 19 + graphics/pokemon/ninjask/back.png | Bin 0 -> 797 bytes graphics/pokemon/ninjask/footprint.png | Bin 0 -> 91 bytes graphics/pokemon/ninjask/front.png | Bin 0 -> 740 bytes graphics/pokemon/ninjask/icon.png | Bin 0 -> 324 bytes graphics/pokemon/ninjask/normal.pal | 19 + graphics/pokemon/ninjask/shiny.pal | 19 + graphics/pokemon/noctowl/back.png | Bin 0 -> 659 bytes graphics/pokemon/noctowl/footprint.png | Bin 0 -> 101 bytes graphics/pokemon/noctowl/front.png | Bin 0 -> 700 bytes graphics/pokemon/noctowl/icon.png | Bin 0 -> 362 bytes graphics/pokemon/noctowl/normal.pal | 19 + graphics/pokemon/noctowl/shiny.pal | 19 + graphics/pokemon/nosepass/back.png | Bin 0 -> 517 bytes graphics/pokemon/nosepass/footprint.png | Bin 0 -> 96 bytes graphics/pokemon/nosepass/front.png | Bin 0 -> 565 bytes graphics/pokemon/nosepass/icon.png | Bin 0 -> 282 bytes graphics/pokemon/nosepass/normal.pal | 19 + graphics/pokemon/nosepass/shiny.pal | 19 + graphics/pokemon/numel/back.png | Bin 0 -> 573 bytes graphics/pokemon/numel/footprint.png | Bin 0 -> 87 bytes graphics/pokemon/numel/front.png | Bin 0 -> 574 bytes graphics/pokemon/numel/icon.png | Bin 0 -> 301 bytes graphics/pokemon/numel/normal.pal | 19 + graphics/pokemon/numel/shiny.pal | 19 + graphics/pokemon/nuzleaf/back.png | Bin 0 -> 583 bytes graphics/pokemon/nuzleaf/footprint.png | Bin 0 -> 101 bytes graphics/pokemon/nuzleaf/front.png | Bin 0 -> 624 bytes graphics/pokemon/nuzleaf/icon.png | Bin 0 -> 342 bytes graphics/pokemon/nuzleaf/normal.pal | 19 + graphics/pokemon/nuzleaf/shiny.pal | 19 + graphics/pokemon/octillery/back.png | Bin 0 -> 558 bytes graphics/pokemon/octillery/footprint.png | Bin 0 -> 101 bytes graphics/pokemon/octillery/front.png | Bin 0 -> 653 bytes graphics/pokemon/octillery/icon.png | Bin 0 -> 349 bytes graphics/pokemon/octillery/normal.pal | 19 + graphics/pokemon/octillery/shiny.pal | 19 + graphics/pokemon/oddish/back.png | Bin 0 -> 548 bytes graphics/pokemon/oddish/footprint.png | Bin 0 -> 81 bytes graphics/pokemon/oddish/front.png | Bin 0 -> 451 bytes graphics/pokemon/oddish/icon.png | Bin 0 -> 284 bytes graphics/pokemon/oddish/normal.pal | 19 + graphics/pokemon/oddish/shiny.pal | 19 + graphics/pokemon/omanyte/back.png | Bin 0 -> 661 bytes graphics/pokemon/omanyte/footprint.png | Bin 0 -> 80 bytes graphics/pokemon/omanyte/front.png | Bin 0 -> 514 bytes graphics/pokemon/omanyte/icon.png | Bin 0 -> 308 bytes graphics/pokemon/omanyte/normal.pal | 19 + graphics/pokemon/omanyte/shiny.pal | 19 + graphics/pokemon/omastar/back.png | Bin 0 -> 634 bytes graphics/pokemon/omastar/footprint.png | Bin 0 -> 85 bytes graphics/pokemon/omastar/front.png | Bin 0 -> 783 bytes graphics/pokemon/omastar/icon.png | Bin 0 -> 350 bytes graphics/pokemon/omastar/normal.pal | 19 + graphics/pokemon/omastar/shiny.pal | 19 + graphics/pokemon/onix/back.png | Bin 0 -> 696 bytes graphics/pokemon/onix/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/onix/front.png | Bin 0 -> 929 bytes graphics/pokemon/onix/icon.png | Bin 0 -> 456 bytes graphics/pokemon/onix/normal.pal | 19 + graphics/pokemon/onix/shiny.pal | 19 + graphics/pokemon/palettes/abra_palette.pal | 19 - graphics/pokemon/palettes/abra_shiny_palette.pal | 19 - graphics/pokemon/palettes/absol_palette.pal | 19 - graphics/pokemon/palettes/absol_shiny_palette.pal | 19 - graphics/pokemon/palettes/aerodactyl_palette.pal | 19 - .../pokemon/palettes/aerodactyl_shiny_palette.pal | 19 - graphics/pokemon/palettes/aggron_palette.pal | 19 - graphics/pokemon/palettes/aggron_shiny_palette.pal | 19 - graphics/pokemon/palettes/aipom_palette.pal | 19 - graphics/pokemon/palettes/aipom_shiny_palette.pal | 19 - graphics/pokemon/palettes/alakazam_palette.pal | 19 - .../pokemon/palettes/alakazam_shiny_palette.pal | 19 - graphics/pokemon/palettes/altaria_palette.pal | 19 - .../pokemon/palettes/altaria_shiny_palette.pal | 19 - graphics/pokemon/palettes/ampharos_palette.pal | 19 - .../pokemon/palettes/ampharos_shiny_palette.pal | 19 - graphics/pokemon/palettes/anorith_palette.pal | 19 - .../pokemon/palettes/anorith_shiny_palette.pal | 19 - graphics/pokemon/palettes/arbok_palette.pal | 19 - graphics/pokemon/palettes/arbok_shiny_palette.pal | 19 - graphics/pokemon/palettes/arcanine_palette.pal | 19 - .../pokemon/palettes/arcanine_shiny_palette.pal | 19 - graphics/pokemon/palettes/ariados_palette.pal | 19 - .../pokemon/palettes/ariados_shiny_palette.pal | 19 - graphics/pokemon/palettes/armaldo_palette.pal | 19 - .../pokemon/palettes/armaldo_shiny_palette.pal | 19 - graphics/pokemon/palettes/aron_palette.pal | 19 - graphics/pokemon/palettes/aron_shiny_palette.pal | 19 - graphics/pokemon/palettes/articuno_palette.pal | 19 - .../pokemon/palettes/articuno_shiny_palette.pal | 19 - graphics/pokemon/palettes/azumarill_palette.pal | 19 - .../pokemon/palettes/azumarill_shiny_palette.pal | 19 - graphics/pokemon/palettes/azurill_palette.pal | 19 - .../pokemon/palettes/azurill_shiny_palette.pal | 19 - graphics/pokemon/palettes/bagon_palette.pal | 19 - graphics/pokemon/palettes/bagon_shiny_palette.pal | 19 - graphics/pokemon/palettes/baltoy_palette.pal | 19 - graphics/pokemon/palettes/baltoy_shiny_palette.pal | 19 - graphics/pokemon/palettes/banette_palette.pal | 19 - .../pokemon/palettes/banette_shiny_palette.pal | 19 - graphics/pokemon/palettes/barboach_palette.pal | 19 - .../pokemon/palettes/barboach_shiny_palette.pal | 19 - graphics/pokemon/palettes/bayleef_palette.pal | 19 - .../pokemon/palettes/bayleef_shiny_palette.pal | 19 - graphics/pokemon/palettes/beautifly_palette.pal | 19 - .../pokemon/palettes/beautifly_shiny_palette.pal | 19 - graphics/pokemon/palettes/beedrill_palette.pal | 19 - .../pokemon/palettes/beedrill_shiny_palette.pal | 19 - graphics/pokemon/palettes/beldum_palette.pal | 19 - graphics/pokemon/palettes/beldum_shiny_palette.pal | 19 - graphics/pokemon/palettes/bellossom_palette.pal | 19 - .../pokemon/palettes/bellossom_shiny_palette.pal | 19 - graphics/pokemon/palettes/bellsprout_palette.pal | 19 - .../pokemon/palettes/bellsprout_shiny_palette.pal | 19 - graphics/pokemon/palettes/blastoise_palette.pal | 19 - .../pokemon/palettes/blastoise_shiny_palette.pal | 19 - graphics/pokemon/palettes/blaziken_palette.pal | 19 - .../pokemon/palettes/blaziken_shiny_palette.pal | 19 - graphics/pokemon/palettes/blissey_palette.pal | 19 - .../pokemon/palettes/blissey_shiny_palette.pal | 19 - graphics/pokemon/palettes/breloom_palette.pal | 19 - .../pokemon/palettes/breloom_shiny_palette.pal | 19 - graphics/pokemon/palettes/bulbasaur_palette.pal | 19 - .../pokemon/palettes/bulbasaur_shiny_palette.pal | 19 - graphics/pokemon/palettes/butterfree_palette.pal | 19 - .../pokemon/palettes/butterfree_shiny_palette.pal | 19 - graphics/pokemon/palettes/cacnea_palette.pal | 19 - graphics/pokemon/palettes/cacnea_shiny_palette.pal | 19 - graphics/pokemon/palettes/cacturne_palette.pal | 19 - .../pokemon/palettes/cacturne_shiny_palette.pal | 19 - graphics/pokemon/palettes/camerupt_palette.pal | 19 - .../pokemon/palettes/camerupt_shiny_palette.pal | 19 - graphics/pokemon/palettes/carvanha_palette.pal | 19 - .../pokemon/palettes/carvanha_shiny_palette.pal | 19 - graphics/pokemon/palettes/cascoon_palette.pal | 19 - .../pokemon/palettes/cascoon_shiny_palette.pal | 19 - .../palettes/castform_normal_form_palette.pal | 19 - .../castform_normal_form_shiny_palette.pal | 19 - .../palettes/castform_rainy_form_palette.pal | 19 - .../palettes/castform_rainy_form_shiny_palette.pal | 19 - .../palettes/castform_snowy_form_palette.pal | 19 - .../palettes/castform_snowy_form_shiny_palette.pal | 19 - .../palettes/castform_sunny_form_palette.pal | 19 - .../palettes/castform_sunny_form_shiny_palette.pal | 19 - graphics/pokemon/palettes/caterpie_palette.pal | 19 - .../pokemon/palettes/caterpie_shiny_palette.pal | 19 - graphics/pokemon/palettes/celebi_palette.pal | 19 - graphics/pokemon/palettes/celebi_shiny_palette.pal | 19 - graphics/pokemon/palettes/chansey_palette.pal | 19 - .../pokemon/palettes/chansey_shiny_palette.pal | 19 - graphics/pokemon/palettes/charizard_palette.pal | 19 - .../pokemon/palettes/charizard_shiny_palette.pal | 19 - graphics/pokemon/palettes/charmander_palette.pal | 19 - .../pokemon/palettes/charmander_shiny_palette.pal | 19 - graphics/pokemon/palettes/charmeleon_palette.pal | 19 - .../pokemon/palettes/charmeleon_shiny_palette.pal | 19 - graphics/pokemon/palettes/chikorita_palette.pal | 19 - .../pokemon/palettes/chikorita_shiny_palette.pal | 19 - graphics/pokemon/palettes/chimecho_palette.pal | 19 - .../pokemon/palettes/chimecho_shiny_palette.pal | 19 - graphics/pokemon/palettes/chinchou_palette.pal | 19 - .../pokemon/palettes/chinchou_shiny_palette.pal | 19 - .../palettes/circled_question_mark_palette.pal | 19 - .../circled_question_mark_shiny_palette.pal | 19 - graphics/pokemon/palettes/clamperl_palette.pal | 19 - .../pokemon/palettes/clamperl_shiny_palette.pal | 19 - graphics/pokemon/palettes/claydol_palette.pal | 19 - .../pokemon/palettes/claydol_shiny_palette.pal | 19 - graphics/pokemon/palettes/clefable_palette.pal | 19 - .../pokemon/palettes/clefable_shiny_palette.pal | 19 - graphics/pokemon/palettes/clefairy_palette.pal | 19 - .../pokemon/palettes/clefairy_shiny_palette.pal | 19 - graphics/pokemon/palettes/cleffa_palette.pal | 19 - graphics/pokemon/palettes/cleffa_shiny_palette.pal | 19 - graphics/pokemon/palettes/cloyster_palette.pal | 19 - .../pokemon/palettes/cloyster_shiny_palette.pal | 19 - graphics/pokemon/palettes/combusken_palette.pal | 19 - .../pokemon/palettes/combusken_shiny_palette.pal | 19 - graphics/pokemon/palettes/corphish_palette.pal | 19 - .../pokemon/palettes/corphish_shiny_palette.pal | 19 - graphics/pokemon/palettes/corsola_palette.pal | 19 - .../pokemon/palettes/corsola_shiny_palette.pal | 19 - graphics/pokemon/palettes/cradily_palette.pal | 19 - .../pokemon/palettes/cradily_shiny_palette.pal | 19 - graphics/pokemon/palettes/crawdaunt_palette.pal | 19 - .../pokemon/palettes/crawdaunt_shiny_palette.pal | 19 - graphics/pokemon/palettes/crobat_palette.pal | 19 - graphics/pokemon/palettes/crobat_shiny_palette.pal | 19 - graphics/pokemon/palettes/croconaw_palette.pal | 19 - .../pokemon/palettes/croconaw_shiny_palette.pal | 19 - graphics/pokemon/palettes/cubone_palette.pal | 19 - graphics/pokemon/palettes/cubone_shiny_palette.pal | 19 - graphics/pokemon/palettes/cyndaquil_palette.pal | 19 - .../pokemon/palettes/cyndaquil_shiny_palette.pal | 19 - graphics/pokemon/palettes/delcatty_palette.pal | 19 - .../pokemon/palettes/delcatty_shiny_palette.pal | 19 - graphics/pokemon/palettes/delibird_palette.pal | 19 - .../pokemon/palettes/delibird_shiny_palette.pal | 19 - graphics/pokemon/palettes/deoxys_palette.pal | 19 - graphics/pokemon/palettes/deoxys_shiny_palette.pal | 19 - graphics/pokemon/palettes/dewgong_palette.pal | 19 - .../pokemon/palettes/dewgong_shiny_palette.pal | 19 - graphics/pokemon/palettes/diglett_palette.pal | 19 - .../pokemon/palettes/diglett_shiny_palette.pal | 19 - graphics/pokemon/palettes/ditto_palette.pal | 19 - graphics/pokemon/palettes/ditto_shiny_palette.pal | 19 - graphics/pokemon/palettes/dodrio_palette.pal | 19 - graphics/pokemon/palettes/dodrio_shiny_palette.pal | 19 - graphics/pokemon/palettes/doduo_palette.pal | 19 - graphics/pokemon/palettes/doduo_shiny_palette.pal | 19 - graphics/pokemon/palettes/donphan_palette.pal | 19 - .../pokemon/palettes/donphan_shiny_palette.pal | 19 - .../palettes/double_question_mark_palette.pal | 19 - .../double_question_mark_shiny_palette.pal | 19 - graphics/pokemon/palettes/dragonair_palette.pal | 19 - .../pokemon/palettes/dragonair_shiny_palette.pal | 19 - graphics/pokemon/palettes/dragonite_palette.pal | 19 - .../pokemon/palettes/dragonite_shiny_palette.pal | 19 - graphics/pokemon/palettes/dratini_palette.pal | 19 - .../pokemon/palettes/dratini_shiny_palette.pal | 19 - graphics/pokemon/palettes/drowzee_palette.pal | 19 - .../pokemon/palettes/drowzee_shiny_palette.pal | 19 - graphics/pokemon/palettes/dugtrio_palette.pal | 19 - .../pokemon/palettes/dugtrio_shiny_palette.pal | 19 - graphics/pokemon/palettes/dunsparce_palette.pal | 19 - .../pokemon/palettes/dunsparce_shiny_palette.pal | 19 - graphics/pokemon/palettes/dusclops_palette.pal | 19 - .../pokemon/palettes/dusclops_shiny_palette.pal | 19 - graphics/pokemon/palettes/duskull_palette.pal | 19 - .../pokemon/palettes/duskull_shiny_palette.pal | 19 - graphics/pokemon/palettes/dustox_palette.pal | 19 - graphics/pokemon/palettes/dustox_shiny_palette.pal | 19 - graphics/pokemon/palettes/eevee_palette.pal | 19 - graphics/pokemon/palettes/eevee_shiny_palette.pal | 19 - graphics/pokemon/palettes/egg_palette.pal | 19 - graphics/pokemon/palettes/ekans_palette.pal | 19 - graphics/pokemon/palettes/ekans_shiny_palette.pal | 19 - graphics/pokemon/palettes/electabuzz_palette.pal | 19 - .../pokemon/palettes/electabuzz_shiny_palette.pal | 19 - graphics/pokemon/palettes/electrike_palette.pal | 19 - .../pokemon/palettes/electrike_shiny_palette.pal | 19 - graphics/pokemon/palettes/electrode_palette.pal | 19 - .../pokemon/palettes/electrode_shiny_palette.pal | 19 - graphics/pokemon/palettes/elekid_palette.pal | 19 - graphics/pokemon/palettes/elekid_shiny_palette.pal | 19 - graphics/pokemon/palettes/entei_palette.pal | 19 - graphics/pokemon/palettes/entei_shiny_palette.pal | 19 - graphics/pokemon/palettes/espeon_palette.pal | 19 - graphics/pokemon/palettes/espeon_shiny_palette.pal | 19 - graphics/pokemon/palettes/exeggcute_palette.pal | 19 - .../pokemon/palettes/exeggcute_shiny_palette.pal | 19 - graphics/pokemon/palettes/exeggutor_palette.pal | 19 - .../pokemon/palettes/exeggutor_shiny_palette.pal | 19 - graphics/pokemon/palettes/exploud_palette.pal | 19 - .../pokemon/palettes/exploud_shiny_palette.pal | 19 - graphics/pokemon/palettes/farfetch_d_palette.pal | 19 - .../pokemon/palettes/farfetch_d_shiny_palette.pal | 19 - graphics/pokemon/palettes/fearow_palette.pal | 19 - graphics/pokemon/palettes/fearow_shiny_palette.pal | 19 - graphics/pokemon/palettes/feebas_palette.pal | 19 - graphics/pokemon/palettes/feebas_shiny_palette.pal | 19 - graphics/pokemon/palettes/feraligatr_palette.pal | 19 - .../pokemon/palettes/feraligatr_shiny_palette.pal | 19 - graphics/pokemon/palettes/flaaffy_palette.pal | 19 - .../pokemon/palettes/flaaffy_shiny_palette.pal | 19 - graphics/pokemon/palettes/flareon_palette.pal | 19 - .../pokemon/palettes/flareon_shiny_palette.pal | 19 - graphics/pokemon/palettes/flygon_palette.pal | 19 - graphics/pokemon/palettes/flygon_shiny_palette.pal | 19 - graphics/pokemon/palettes/forretress_palette.pal | 19 - .../pokemon/palettes/forretress_shiny_palette.pal | 19 - graphics/pokemon/palettes/furret_palette.pal | 19 - graphics/pokemon/palettes/furret_shiny_palette.pal | 19 - graphics/pokemon/palettes/gardevoir_palette.pal | 19 - .../pokemon/palettes/gardevoir_shiny_palette.pal | 19 - graphics/pokemon/palettes/gastly_palette.pal | 19 - graphics/pokemon/palettes/gastly_shiny_palette.pal | 19 - graphics/pokemon/palettes/gengar_palette.pal | 19 - graphics/pokemon/palettes/gengar_shiny_palette.pal | 19 - graphics/pokemon/palettes/geodude_palette.pal | 19 - .../pokemon/palettes/geodude_shiny_palette.pal | 19 - graphics/pokemon/palettes/girafarig_palette.pal | 19 - .../pokemon/palettes/girafarig_shiny_palette.pal | 19 - graphics/pokemon/palettes/glalie_palette.pal | 19 - graphics/pokemon/palettes/glalie_shiny_palette.pal | 19 - graphics/pokemon/palettes/gligar_palette.pal | 19 - graphics/pokemon/palettes/gligar_shiny_palette.pal | 19 - graphics/pokemon/palettes/gloom_palette.pal | 19 - graphics/pokemon/palettes/gloom_shiny_palette.pal | 19 - graphics/pokemon/palettes/golbat_palette.pal | 19 - graphics/pokemon/palettes/golbat_shiny_palette.pal | 19 - graphics/pokemon/palettes/goldeen_palette.pal | 19 - .../pokemon/palettes/goldeen_shiny_palette.pal | 19 - graphics/pokemon/palettes/golduck_palette.pal | 19 - .../pokemon/palettes/golduck_shiny_palette.pal | 19 - graphics/pokemon/palettes/golem_palette.pal | 19 - graphics/pokemon/palettes/golem_shiny_palette.pal | 19 - graphics/pokemon/palettes/gorebyss_palette.pal | 19 - .../pokemon/palettes/gorebyss_shiny_palette.pal | 19 - graphics/pokemon/palettes/granbull_palette.pal | 19 - .../pokemon/palettes/granbull_shiny_palette.pal | 19 - graphics/pokemon/palettes/graveler_palette.pal | 19 - .../pokemon/palettes/graveler_shiny_palette.pal | 19 - graphics/pokemon/palettes/grimer_palette.pal | 19 - graphics/pokemon/palettes/grimer_shiny_palette.pal | 19 - graphics/pokemon/palettes/groudon_palette.pal | 19 - .../pokemon/palettes/groudon_shiny_palette.pal | 19 - graphics/pokemon/palettes/grovyle_palette.pal | 19 - .../pokemon/palettes/grovyle_shiny_palette.pal | 19 - graphics/pokemon/palettes/growlithe_palette.pal | 19 - .../pokemon/palettes/growlithe_shiny_palette.pal | 19 - graphics/pokemon/palettes/grumpig_palette.pal | 19 - .../pokemon/palettes/grumpig_shiny_palette.pal | 19 - graphics/pokemon/palettes/gulpin_palette.pal | 19 - graphics/pokemon/palettes/gulpin_shiny_palette.pal | 19 - graphics/pokemon/palettes/gyarados_palette.pal | 19 - .../pokemon/palettes/gyarados_shiny_palette.pal | 19 - graphics/pokemon/palettes/hariyama_palette.pal | 19 - .../pokemon/palettes/hariyama_shiny_palette.pal | 19 - graphics/pokemon/palettes/haunter_palette.pal | 19 - .../pokemon/palettes/haunter_shiny_palette.pal | 19 - graphics/pokemon/palettes/heracross_palette.pal | 19 - .../pokemon/palettes/heracross_shiny_palette.pal | 19 - graphics/pokemon/palettes/hitmonchan_palette.pal | 19 - .../pokemon/palettes/hitmonchan_shiny_palette.pal | 19 - graphics/pokemon/palettes/hitmonlee_palette.pal | 19 - .../pokemon/palettes/hitmonlee_shiny_palette.pal | 19 - graphics/pokemon/palettes/hitmontop_palette.pal | 19 - .../pokemon/palettes/hitmontop_shiny_palette.pal | 19 - graphics/pokemon/palettes/ho_oh_palette.pal | 19 - graphics/pokemon/palettes/ho_oh_shiny_palette.pal | 19 - graphics/pokemon/palettes/hoothoot_palette.pal | 19 - .../pokemon/palettes/hoothoot_shiny_palette.pal | 19 - graphics/pokemon/palettes/hoppip_palette.pal | 19 - graphics/pokemon/palettes/hoppip_shiny_palette.pal | 19 - graphics/pokemon/palettes/horsea_palette.pal | 19 - graphics/pokemon/palettes/horsea_shiny_palette.pal | 19 - graphics/pokemon/palettes/houndoom_palette.pal | 19 - .../pokemon/palettes/houndoom_shiny_palette.pal | 19 - graphics/pokemon/palettes/houndour_palette.pal | 19 - .../pokemon/palettes/houndour_shiny_palette.pal | 19 - graphics/pokemon/palettes/huntail_palette.pal | 19 - .../pokemon/palettes/huntail_shiny_palette.pal | 19 - graphics/pokemon/palettes/hypno_palette.pal | 19 - graphics/pokemon/palettes/hypno_shiny_palette.pal | 19 - graphics/pokemon/palettes/igglybuff_palette.pal | 19 - .../pokemon/palettes/igglybuff_shiny_palette.pal | 19 - graphics/pokemon/palettes/illumise_palette.pal | 19 - .../pokemon/palettes/illumise_shiny_palette.pal | 19 - graphics/pokemon/palettes/ivysaur_palette.pal | 19 - .../pokemon/palettes/ivysaur_shiny_palette.pal | 19 - graphics/pokemon/palettes/jigglypuff_palette.pal | 19 - .../pokemon/palettes/jigglypuff_shiny_palette.pal | 19 - graphics/pokemon/palettes/jirachi_palette.pal | 19 - .../pokemon/palettes/jirachi_shiny_palette.pal | 19 - graphics/pokemon/palettes/jolteon_palette.pal | 19 - .../pokemon/palettes/jolteon_shiny_palette.pal | 19 - graphics/pokemon/palettes/jumpluff_palette.pal | 19 - .../pokemon/palettes/jumpluff_shiny_palette.pal | 19 - graphics/pokemon/palettes/jynx_palette.pal | 19 - graphics/pokemon/palettes/jynx_shiny_palette.pal | 19 - graphics/pokemon/palettes/kabuto_palette.pal | 19 - graphics/pokemon/palettes/kabuto_shiny_palette.pal | 19 - graphics/pokemon/palettes/kabutops_palette.pal | 19 - .../pokemon/palettes/kabutops_shiny_palette.pal | 19 - graphics/pokemon/palettes/kadabra_palette.pal | 19 - .../pokemon/palettes/kadabra_shiny_palette.pal | 19 - graphics/pokemon/palettes/kakuna_palette.pal | 19 - graphics/pokemon/palettes/kakuna_shiny_palette.pal | 19 - graphics/pokemon/palettes/kangaskhan_palette.pal | 19 - .../pokemon/palettes/kangaskhan_shiny_palette.pal | 19 - graphics/pokemon/palettes/kecleon_palette.pal | 19 - .../pokemon/palettes/kecleon_shiny_palette.pal | 19 - graphics/pokemon/palettes/kingdra_palette.pal | 19 - .../pokemon/palettes/kingdra_shiny_palette.pal | 19 - graphics/pokemon/palettes/kingler_palette.pal | 19 - .../pokemon/palettes/kingler_shiny_palette.pal | 19 - graphics/pokemon/palettes/kirlia_palette.pal | 19 - graphics/pokemon/palettes/kirlia_shiny_palette.pal | 19 - graphics/pokemon/palettes/koffing_palette.pal | 19 - .../pokemon/palettes/koffing_shiny_palette.pal | 19 - graphics/pokemon/palettes/krabby_palette.pal | 19 - graphics/pokemon/palettes/krabby_shiny_palette.pal | 19 - graphics/pokemon/palettes/kyogre_palette.pal | 19 - graphics/pokemon/palettes/kyogre_shiny_palette.pal | 19 - graphics/pokemon/palettes/lairon_palette.pal | 19 - graphics/pokemon/palettes/lairon_shiny_palette.pal | 19 - graphics/pokemon/palettes/lanturn_palette.pal | 19 - .../pokemon/palettes/lanturn_shiny_palette.pal | 19 - graphics/pokemon/palettes/lapras_palette.pal | 19 - graphics/pokemon/palettes/lapras_shiny_palette.pal | 19 - graphics/pokemon/palettes/larvitar_palette.pal | 19 - .../pokemon/palettes/larvitar_shiny_palette.pal | 19 - graphics/pokemon/palettes/latias_palette.pal | 19 - graphics/pokemon/palettes/latias_shiny_palette.pal | 19 - graphics/pokemon/palettes/latios_palette.pal | 19 - graphics/pokemon/palettes/latios_shiny_palette.pal | 19 - graphics/pokemon/palettes/ledian_palette.pal | 19 - graphics/pokemon/palettes/ledian_shiny_palette.pal | 19 - graphics/pokemon/palettes/ledyba_palette.pal | 19 - graphics/pokemon/palettes/ledyba_shiny_palette.pal | 19 - graphics/pokemon/palettes/lickitung_palette.pal | 19 - .../pokemon/palettes/lickitung_shiny_palette.pal | 19 - graphics/pokemon/palettes/lileep_palette.pal | 19 - graphics/pokemon/palettes/lileep_shiny_palette.pal | 19 - graphics/pokemon/palettes/linoone_palette.pal | 19 - .../pokemon/palettes/linoone_shiny_palette.pal | 19 - graphics/pokemon/palettes/lombre_palette.pal | 19 - graphics/pokemon/palettes/lombre_shiny_palette.pal | 19 - graphics/pokemon/palettes/lotad_palette.pal | 19 - graphics/pokemon/palettes/lotad_shiny_palette.pal | 19 - graphics/pokemon/palettes/loudred_palette.pal | 19 - .../pokemon/palettes/loudred_shiny_palette.pal | 19 - graphics/pokemon/palettes/ludicolo_palette.pal | 19 - .../pokemon/palettes/ludicolo_shiny_palette.pal | 19 - graphics/pokemon/palettes/lugia_palette.pal | 19 - graphics/pokemon/palettes/lugia_shiny_palette.pal | 19 - graphics/pokemon/palettes/lunatone_palette.pal | 19 - .../pokemon/palettes/lunatone_shiny_palette.pal | 19 - graphics/pokemon/palettes/luvdisc_palette.pal | 19 - .../pokemon/palettes/luvdisc_shiny_palette.pal | 19 - graphics/pokemon/palettes/machamp_palette.pal | 19 - .../pokemon/palettes/machamp_shiny_palette.pal | 19 - graphics/pokemon/palettes/machoke_palette.pal | 19 - .../pokemon/palettes/machoke_shiny_palette.pal | 19 - graphics/pokemon/palettes/machop_palette.pal | 19 - graphics/pokemon/palettes/machop_shiny_palette.pal | 19 - graphics/pokemon/palettes/magby_palette.pal | 19 - graphics/pokemon/palettes/magby_shiny_palette.pal | 19 - graphics/pokemon/palettes/magcargo_palette.pal | 19 - .../pokemon/palettes/magcargo_shiny_palette.pal | 19 - graphics/pokemon/palettes/magikarp_palette.pal | 19 - .../pokemon/palettes/magikarp_shiny_palette.pal | 19 - graphics/pokemon/palettes/magmar_palette.pal | 19 - graphics/pokemon/palettes/magmar_shiny_palette.pal | 19 - graphics/pokemon/palettes/magnemite_palette.pal | 19 - .../pokemon/palettes/magnemite_shiny_palette.pal | 19 - graphics/pokemon/palettes/magneton_palette.pal | 19 - .../pokemon/palettes/magneton_shiny_palette.pal | 19 - graphics/pokemon/palettes/makuhita_palette.pal | 19 - .../pokemon/palettes/makuhita_shiny_palette.pal | 19 - graphics/pokemon/palettes/manectric_palette.pal | 19 - .../pokemon/palettes/manectric_shiny_palette.pal | 19 - graphics/pokemon/palettes/mankey_palette.pal | 19 - graphics/pokemon/palettes/mankey_shiny_palette.pal | 19 - graphics/pokemon/palettes/mantine_palette.pal | 19 - .../pokemon/palettes/mantine_shiny_palette.pal | 19 - graphics/pokemon/palettes/mareep_palette.pal | 19 - graphics/pokemon/palettes/mareep_shiny_palette.pal | 19 - graphics/pokemon/palettes/marill_palette.pal | 19 - graphics/pokemon/palettes/marill_shiny_palette.pal | 19 - graphics/pokemon/palettes/marowak_palette.pal | 19 - .../pokemon/palettes/marowak_shiny_palette.pal | 19 - graphics/pokemon/palettes/marshtomp_palette.pal | 19 - .../pokemon/palettes/marshtomp_shiny_palette.pal | 19 - graphics/pokemon/palettes/masquerain_palette.pal | 19 - .../pokemon/palettes/masquerain_shiny_palette.pal | 19 - graphics/pokemon/palettes/mawile_palette.pal | 19 - graphics/pokemon/palettes/mawile_shiny_palette.pal | 19 - graphics/pokemon/palettes/medicham_palette.pal | 19 - .../pokemon/palettes/medicham_shiny_palette.pal | 19 - graphics/pokemon/palettes/meditite_palette.pal | 19 - .../pokemon/palettes/meditite_shiny_palette.pal | 19 - graphics/pokemon/palettes/meganium_palette.pal | 19 - .../pokemon/palettes/meganium_shiny_palette.pal | 19 - graphics/pokemon/palettes/meowth_palette.pal | 19 - graphics/pokemon/palettes/meowth_shiny_palette.pal | 19 - graphics/pokemon/palettes/metagross_palette.pal | 19 - .../pokemon/palettes/metagross_shiny_palette.pal | 19 - graphics/pokemon/palettes/metang_palette.pal | 19 - graphics/pokemon/palettes/metang_shiny_palette.pal | 19 - graphics/pokemon/palettes/metapod_palette.pal | 19 - .../pokemon/palettes/metapod_shiny_palette.pal | 19 - graphics/pokemon/palettes/mew_palette.pal | 19 - graphics/pokemon/palettes/mew_shiny_palette.pal | 19 - graphics/pokemon/palettes/mewtwo_palette.pal | 19 - graphics/pokemon/palettes/mewtwo_shiny_palette.pal | 19 - graphics/pokemon/palettes/mightyena_palette.pal | 19 - .../pokemon/palettes/mightyena_shiny_palette.pal | 19 - graphics/pokemon/palettes/milotic_palette.pal | 19 - .../pokemon/palettes/milotic_shiny_palette.pal | 19 - graphics/pokemon/palettes/miltank_palette.pal | 19 - .../pokemon/palettes/miltank_shiny_palette.pal | 19 - graphics/pokemon/palettes/minun_palette.pal | 19 - graphics/pokemon/palettes/minun_shiny_palette.pal | 19 - graphics/pokemon/palettes/misdreavus_palette.pal | 19 - .../pokemon/palettes/misdreavus_shiny_palette.pal | 19 - graphics/pokemon/palettes/moltres_palette.pal | 19 - .../pokemon/palettes/moltres_shiny_palette.pal | 19 - graphics/pokemon/palettes/mr_mime_palette.pal | 19 - .../pokemon/palettes/mr_mime_shiny_palette.pal | 19 - graphics/pokemon/palettes/mudkip_palette.pal | 19 - graphics/pokemon/palettes/mudkip_shiny_palette.pal | 19 - graphics/pokemon/palettes/muk_palette.pal | 19 - graphics/pokemon/palettes/muk_shiny_palette.pal | 19 - graphics/pokemon/palettes/murkrow_palette.pal | 19 - .../pokemon/palettes/murkrow_shiny_palette.pal | 19 - graphics/pokemon/palettes/natu_palette.pal | 19 - graphics/pokemon/palettes/natu_shiny_palette.pal | 19 - graphics/pokemon/palettes/nidoking_palette.pal | 19 - .../pokemon/palettes/nidoking_shiny_palette.pal | 19 - graphics/pokemon/palettes/nidoqueen_palette.pal | 19 - .../pokemon/palettes/nidoqueen_shiny_palette.pal | 19 - graphics/pokemon/palettes/nidoran_f_palette.pal | 19 - .../pokemon/palettes/nidoran_f_shiny_palette.pal | 19 - graphics/pokemon/palettes/nidoran_m_palette.pal | 19 - .../pokemon/palettes/nidoran_m_shiny_palette.pal | 19 - graphics/pokemon/palettes/nidorina_palette.pal | 19 - .../pokemon/palettes/nidorina_shiny_palette.pal | 19 - graphics/pokemon/palettes/nidorino_palette.pal | 19 - .../pokemon/palettes/nidorino_shiny_palette.pal | 19 - graphics/pokemon/palettes/nincada_palette.pal | 19 - .../pokemon/palettes/nincada_shiny_palette.pal | 19 - graphics/pokemon/palettes/ninetales_palette.pal | 19 - .../pokemon/palettes/ninetales_shiny_palette.pal | 19 - graphics/pokemon/palettes/ninjask_palette.pal | 19 - .../pokemon/palettes/ninjask_shiny_palette.pal | 19 - graphics/pokemon/palettes/noctowl_palette.pal | 19 - .../pokemon/palettes/noctowl_shiny_palette.pal | 19 - graphics/pokemon/palettes/nosepass_palette.pal | 19 - .../pokemon/palettes/nosepass_shiny_palette.pal | 19 - graphics/pokemon/palettes/numel_palette.pal | 19 - graphics/pokemon/palettes/numel_shiny_palette.pal | 19 - graphics/pokemon/palettes/nuzleaf_palette.pal | 19 - .../pokemon/palettes/nuzleaf_shiny_palette.pal | 19 - graphics/pokemon/palettes/octillery_palette.pal | 19 - .../pokemon/palettes/octillery_shiny_palette.pal | 19 - graphics/pokemon/palettes/oddish_palette.pal | 19 - graphics/pokemon/palettes/oddish_shiny_palette.pal | 19 - graphics/pokemon/palettes/omanyte_palette.pal | 19 - .../pokemon/palettes/omanyte_shiny_palette.pal | 19 - graphics/pokemon/palettes/omastar_palette.pal | 19 - .../pokemon/palettes/omastar_shiny_palette.pal | 19 - graphics/pokemon/palettes/onix_palette.pal | 19 - graphics/pokemon/palettes/onix_shiny_palette.pal | 19 - graphics/pokemon/palettes/paras_palette.pal | 19 - graphics/pokemon/palettes/paras_shiny_palette.pal | 19 - graphics/pokemon/palettes/parasect_palette.pal | 19 - .../pokemon/palettes/parasect_shiny_palette.pal | 19 - graphics/pokemon/palettes/pelipper_palette.pal | 19 - .../pokemon/palettes/pelipper_shiny_palette.pal | 19 - graphics/pokemon/palettes/persian_palette.pal | 19 - .../pokemon/palettes/persian_shiny_palette.pal | 19 - graphics/pokemon/palettes/phanpy_palette.pal | 19 - graphics/pokemon/palettes/phanpy_shiny_palette.pal | 19 - graphics/pokemon/palettes/pichu_palette.pal | 19 - graphics/pokemon/palettes/pichu_shiny_palette.pal | 19 - graphics/pokemon/palettes/pidgeot_palette.pal | 19 - .../pokemon/palettes/pidgeot_shiny_palette.pal | 19 - graphics/pokemon/palettes/pidgeotto_palette.pal | 19 - .../pokemon/palettes/pidgeotto_shiny_palette.pal | 19 - graphics/pokemon/palettes/pidgey_palette.pal | 19 - graphics/pokemon/palettes/pidgey_shiny_palette.pal | 19 - graphics/pokemon/palettes/pikachu_palette.pal | 19 - .../pokemon/palettes/pikachu_shiny_palette.pal | 19 - graphics/pokemon/palettes/piloswine_palette.pal | 19 - .../pokemon/palettes/piloswine_shiny_palette.pal | 19 - graphics/pokemon/palettes/pineco_palette.pal | 19 - graphics/pokemon/palettes/pineco_shiny_palette.pal | 19 - graphics/pokemon/palettes/pinsir_palette.pal | 19 - graphics/pokemon/palettes/pinsir_shiny_palette.pal | 19 - graphics/pokemon/palettes/plusle_palette.pal | 19 - graphics/pokemon/palettes/plusle_shiny_palette.pal | 19 - graphics/pokemon/palettes/politoed_palette.pal | 19 - .../pokemon/palettes/politoed_shiny_palette.pal | 19 - graphics/pokemon/palettes/poliwag_palette.pal | 19 - .../pokemon/palettes/poliwag_shiny_palette.pal | 19 - graphics/pokemon/palettes/poliwhirl_palette.pal | 19 - .../pokemon/palettes/poliwhirl_shiny_palette.pal | 19 - graphics/pokemon/palettes/poliwrath_palette.pal | 19 - .../pokemon/palettes/poliwrath_shiny_palette.pal | 19 - graphics/pokemon/palettes/ponyta_palette.pal | 19 - graphics/pokemon/palettes/ponyta_shiny_palette.pal | 19 - graphics/pokemon/palettes/poochyena_palette.pal | 19 - .../pokemon/palettes/poochyena_shiny_palette.pal | 19 - graphics/pokemon/palettes/porygon2_palette.pal | 19 - .../pokemon/palettes/porygon2_shiny_palette.pal | 19 - graphics/pokemon/palettes/porygon_palette.pal | 19 - .../pokemon/palettes/porygon_shiny_palette.pal | 19 - graphics/pokemon/palettes/primeape_palette.pal | 19 - .../pokemon/palettes/primeape_shiny_palette.pal | 19 - graphics/pokemon/palettes/psyduck_palette.pal | 19 - .../pokemon/palettes/psyduck_shiny_palette.pal | 19 - graphics/pokemon/palettes/pupitar_palette.pal | 19 - .../pokemon/palettes/pupitar_shiny_palette.pal | 19 - graphics/pokemon/palettes/quagsire_palette.pal | 19 - .../pokemon/palettes/quagsire_shiny_palette.pal | 19 - graphics/pokemon/palettes/quilava_palette.pal | 19 - .../pokemon/palettes/quilava_shiny_palette.pal | 19 - graphics/pokemon/palettes/qwilfish_palette.pal | 19 - .../pokemon/palettes/qwilfish_shiny_palette.pal | 19 - graphics/pokemon/palettes/raichu_palette.pal | 19 - graphics/pokemon/palettes/raichu_shiny_palette.pal | 19 - graphics/pokemon/palettes/raikou_palette.pal | 19 - graphics/pokemon/palettes/raikou_shiny_palette.pal | 19 - graphics/pokemon/palettes/ralts_palette.pal | 19 - graphics/pokemon/palettes/ralts_shiny_palette.pal | 19 - graphics/pokemon/palettes/rapidash_palette.pal | 19 - .../pokemon/palettes/rapidash_shiny_palette.pal | 19 - graphics/pokemon/palettes/raticate_palette.pal | 19 - .../pokemon/palettes/raticate_shiny_palette.pal | 19 - graphics/pokemon/palettes/rattata_palette.pal | 19 - .../pokemon/palettes/rattata_shiny_palette.pal | 19 - graphics/pokemon/palettes/rayquaza_palette.pal | 19 - .../pokemon/palettes/rayquaza_shiny_palette.pal | 19 - graphics/pokemon/palettes/regice_palette.pal | 19 - graphics/pokemon/palettes/regice_shiny_palette.pal | 19 - graphics/pokemon/palettes/regirock_palette.pal | 19 - .../pokemon/palettes/regirock_shiny_palette.pal | 19 - graphics/pokemon/palettes/registeel_palette.pal | 19 - .../pokemon/palettes/registeel_shiny_palette.pal | 19 - graphics/pokemon/palettes/relicanth_palette.pal | 19 - .../pokemon/palettes/relicanth_shiny_palette.pal | 19 - graphics/pokemon/palettes/remoraid_palette.pal | 19 - .../pokemon/palettes/remoraid_shiny_palette.pal | 19 - graphics/pokemon/palettes/rhydon_palette.pal | 19 - graphics/pokemon/palettes/rhydon_shiny_palette.pal | 19 - graphics/pokemon/palettes/rhyhorn_palette.pal | 19 - .../pokemon/palettes/rhyhorn_shiny_palette.pal | 19 - graphics/pokemon/palettes/roselia_palette.pal | 19 - .../pokemon/palettes/roselia_shiny_palette.pal | 19 - graphics/pokemon/palettes/sableye_palette.pal | 19 - .../pokemon/palettes/sableye_shiny_palette.pal | 19 - graphics/pokemon/palettes/salamence_palette.pal | 19 - .../pokemon/palettes/salamence_shiny_palette.pal | 19 - graphics/pokemon/palettes/sandshrew_palette.pal | 19 - .../pokemon/palettes/sandshrew_shiny_palette.pal | 19 - graphics/pokemon/palettes/sandslash_palette.pal | 19 - .../pokemon/palettes/sandslash_shiny_palette.pal | 19 - graphics/pokemon/palettes/sceptile_palette.pal | 19 - .../pokemon/palettes/sceptile_shiny_palette.pal | 19 - graphics/pokemon/palettes/scizor_palette.pal | 19 - graphics/pokemon/palettes/scizor_shiny_palette.pal | 19 - graphics/pokemon/palettes/scyther_palette.pal | 19 - .../pokemon/palettes/scyther_shiny_palette.pal | 19 - graphics/pokemon/palettes/seadra_palette.pal | 19 - graphics/pokemon/palettes/seadra_shiny_palette.pal | 19 - graphics/pokemon/palettes/seaking_palette.pal | 19 - .../pokemon/palettes/seaking_shiny_palette.pal | 19 - graphics/pokemon/palettes/sealeo_palette.pal | 19 - graphics/pokemon/palettes/sealeo_shiny_palette.pal | 19 - graphics/pokemon/palettes/seedot_palette.pal | 19 - graphics/pokemon/palettes/seedot_shiny_palette.pal | 19 - graphics/pokemon/palettes/seel_palette.pal | 19 - graphics/pokemon/palettes/seel_shiny_palette.pal | 19 - graphics/pokemon/palettes/sentret_palette.pal | 19 - .../pokemon/palettes/sentret_shiny_palette.pal | 19 - graphics/pokemon/palettes/seviper_palette.pal | 19 - .../pokemon/palettes/seviper_shiny_palette.pal | 19 - graphics/pokemon/palettes/sharpedo_palette.pal | 19 - .../pokemon/palettes/sharpedo_shiny_palette.pal | 19 - graphics/pokemon/palettes/shedinja_palette.pal | 19 - .../pokemon/palettes/shedinja_shiny_palette.pal | 19 - graphics/pokemon/palettes/shelgon_palette.pal | 19 - .../pokemon/palettes/shelgon_shiny_palette.pal | 19 - graphics/pokemon/palettes/shellder_palette.pal | 19 - .../pokemon/palettes/shellder_shiny_palette.pal | 19 - graphics/pokemon/palettes/shiftry_palette.pal | 19 - .../pokemon/palettes/shiftry_shiny_palette.pal | 19 - graphics/pokemon/palettes/shroomish_palette.pal | 19 - .../pokemon/palettes/shroomish_shiny_palette.pal | 19 - graphics/pokemon/palettes/shuckle_palette.pal | 19 - .../pokemon/palettes/shuckle_shiny_palette.pal | 19 - graphics/pokemon/palettes/shuppet_palette.pal | 19 - .../pokemon/palettes/shuppet_shiny_palette.pal | 19 - graphics/pokemon/palettes/silcoon_palette.pal | 19 - .../pokemon/palettes/silcoon_shiny_palette.pal | 19 - graphics/pokemon/palettes/skarmory_palette.pal | 19 - .../pokemon/palettes/skarmory_shiny_palette.pal | 19 - graphics/pokemon/palettes/skiploom_palette.pal | 19 - .../pokemon/palettes/skiploom_shiny_palette.pal | 19 - graphics/pokemon/palettes/skitty_palette.pal | 19 - graphics/pokemon/palettes/skitty_shiny_palette.pal | 19 - graphics/pokemon/palettes/slaking_palette.pal | 19 - .../pokemon/palettes/slaking_shiny_palette.pal | 19 - graphics/pokemon/palettes/slakoth_palette.pal | 19 - .../pokemon/palettes/slakoth_shiny_palette.pal | 19 - graphics/pokemon/palettes/slowbro_palette.pal | 19 - .../pokemon/palettes/slowbro_shiny_palette.pal | 19 - graphics/pokemon/palettes/slowking_palette.pal | 19 - .../pokemon/palettes/slowking_shiny_palette.pal | 19 - graphics/pokemon/palettes/slowpoke_palette.pal | 19 - .../pokemon/palettes/slowpoke_shiny_palette.pal | 19 - graphics/pokemon/palettes/slugma_palette.pal | 19 - graphics/pokemon/palettes/slugma_shiny_palette.pal | 19 - graphics/pokemon/palettes/smeargle_palette.pal | 19 - .../pokemon/palettes/smeargle_shiny_palette.pal | 19 - graphics/pokemon/palettes/smoochum_palette.pal | 19 - .../pokemon/palettes/smoochum_shiny_palette.pal | 19 - graphics/pokemon/palettes/sneasel_palette.pal | 19 - .../pokemon/palettes/sneasel_shiny_palette.pal | 19 - graphics/pokemon/palettes/snorlax_palette.pal | 19 - .../pokemon/palettes/snorlax_shiny_palette.pal | 19 - graphics/pokemon/palettes/snorunt_palette.pal | 19 - .../pokemon/palettes/snorunt_shiny_palette.pal | 19 - graphics/pokemon/palettes/snubbull_palette.pal | 19 - .../pokemon/palettes/snubbull_shiny_palette.pal | 19 - graphics/pokemon/palettes/solrock_palette.pal | 19 - .../pokemon/palettes/solrock_shiny_palette.pal | 19 - graphics/pokemon/palettes/spearow_palette.pal | 19 - .../pokemon/palettes/spearow_shiny_palette.pal | 19 - graphics/pokemon/palettes/spheal_palette.pal | 19 - graphics/pokemon/palettes/spheal_shiny_palette.pal | 19 - graphics/pokemon/palettes/spinarak_palette.pal | 19 - .../pokemon/palettes/spinarak_shiny_palette.pal | 19 - graphics/pokemon/palettes/spinda_palette.pal | 19 - graphics/pokemon/palettes/spinda_shiny_palette.pal | 19 - graphics/pokemon/palettes/spoink_palette.pal | 19 - graphics/pokemon/palettes/spoink_shiny_palette.pal | 19 - graphics/pokemon/palettes/squirtle_palette.pal | 19 - .../pokemon/palettes/squirtle_shiny_palette.pal | 19 - graphics/pokemon/palettes/stantler_palette.pal | 19 - .../pokemon/palettes/stantler_shiny_palette.pal | 19 - graphics/pokemon/palettes/starmie_palette.pal | 19 - .../pokemon/palettes/starmie_shiny_palette.pal | 19 - graphics/pokemon/palettes/staryu_palette.pal | 19 - graphics/pokemon/palettes/staryu_shiny_palette.pal | 19 - graphics/pokemon/palettes/steelix_palette.pal | 19 - .../pokemon/palettes/steelix_shiny_palette.pal | 19 - graphics/pokemon/palettes/sudowoodo_palette.pal | 19 - .../pokemon/palettes/sudowoodo_shiny_palette.pal | 19 - graphics/pokemon/palettes/suicune_palette.pal | 19 - .../pokemon/palettes/suicune_shiny_palette.pal | 19 - graphics/pokemon/palettes/sunflora_palette.pal | 19 - .../pokemon/palettes/sunflora_shiny_palette.pal | 19 - graphics/pokemon/palettes/sunkern_palette.pal | 19 - .../pokemon/palettes/sunkern_shiny_palette.pal | 19 - graphics/pokemon/palettes/surskit_palette.pal | 19 - .../pokemon/palettes/surskit_shiny_palette.pal | 19 - graphics/pokemon/palettes/swablu_palette.pal | 19 - graphics/pokemon/palettes/swablu_shiny_palette.pal | 19 - graphics/pokemon/palettes/swalot_palette.pal | 19 - graphics/pokemon/palettes/swalot_shiny_palette.pal | 19 - graphics/pokemon/palettes/swampert_palette.pal | 19 - .../pokemon/palettes/swampert_shiny_palette.pal | 19 - graphics/pokemon/palettes/swellow_palette.pal | 19 - .../pokemon/palettes/swellow_shiny_palette.pal | 19 - graphics/pokemon/palettes/swinub_palette.pal | 19 - graphics/pokemon/palettes/swinub_shiny_palette.pal | 19 - graphics/pokemon/palettes/taillow_palette.pal | 19 - .../pokemon/palettes/taillow_shiny_palette.pal | 19 - graphics/pokemon/palettes/tangela_palette.pal | 19 - .../pokemon/palettes/tangela_shiny_palette.pal | 19 - graphics/pokemon/palettes/tauros_palette.pal | 19 - graphics/pokemon/palettes/tauros_shiny_palette.pal | 19 - graphics/pokemon/palettes/teddiursa_palette.pal | 19 - .../pokemon/palettes/teddiursa_shiny_palette.pal | 19 - graphics/pokemon/palettes/tentacool_palette.pal | 19 - .../pokemon/palettes/tentacool_shiny_palette.pal | 19 - graphics/pokemon/palettes/tentacruel_palette.pal | 19 - .../pokemon/palettes/tentacruel_shiny_palette.pal | 19 - graphics/pokemon/palettes/togepi_palette.pal | 19 - graphics/pokemon/palettes/togepi_shiny_palette.pal | 19 - graphics/pokemon/palettes/togetic_palette.pal | 19 - .../pokemon/palettes/togetic_shiny_palette.pal | 19 - graphics/pokemon/palettes/torchic_palette.pal | 19 - .../pokemon/palettes/torchic_shiny_palette.pal | 19 - graphics/pokemon/palettes/torkoal_palette.pal | 19 - .../pokemon/palettes/torkoal_shiny_palette.pal | 19 - graphics/pokemon/palettes/totodile_palette.pal | 19 - .../pokemon/palettes/totodile_shiny_palette.pal | 19 - graphics/pokemon/palettes/trapinch_palette.pal | 19 - .../pokemon/palettes/trapinch_shiny_palette.pal | 19 - graphics/pokemon/palettes/treecko_palette.pal | 19 - .../pokemon/palettes/treecko_shiny_palette.pal | 19 - graphics/pokemon/palettes/tropius_palette.pal | 19 - .../pokemon/palettes/tropius_shiny_palette.pal | 19 - graphics/pokemon/palettes/typhlosion_palette.pal | 19 - .../pokemon/palettes/typhlosion_shiny_palette.pal | 19 - graphics/pokemon/palettes/tyranitar_palette.pal | 19 - .../pokemon/palettes/tyranitar_shiny_palette.pal | 19 - graphics/pokemon/palettes/tyrogue_palette.pal | 19 - .../pokemon/palettes/tyrogue_shiny_palette.pal | 19 - graphics/pokemon/palettes/umbreon_palette.pal | 19 - .../pokemon/palettes/umbreon_shiny_palette.pal | 19 - graphics/pokemon/palettes/unown_palette.pal | 19 - graphics/pokemon/palettes/unown_shiny_palette.pal | 19 - graphics/pokemon/palettes/ursaring_palette.pal | 19 - .../pokemon/palettes/ursaring_shiny_palette.pal | 19 - graphics/pokemon/palettes/vaporeon_palette.pal | 19 - .../pokemon/palettes/vaporeon_shiny_palette.pal | 19 - graphics/pokemon/palettes/venomoth_palette.pal | 19 - .../pokemon/palettes/venomoth_shiny_palette.pal | 19 - graphics/pokemon/palettes/venonat_palette.pal | 19 - .../pokemon/palettes/venonat_shiny_palette.pal | 19 - graphics/pokemon/palettes/venusaur_palette.pal | 19 - .../pokemon/palettes/venusaur_shiny_palette.pal | 19 - graphics/pokemon/palettes/vibrava_palette.pal | 19 - .../pokemon/palettes/vibrava_shiny_palette.pal | 19 - graphics/pokemon/palettes/victreebel_palette.pal | 19 - .../pokemon/palettes/victreebel_shiny_palette.pal | 19 - graphics/pokemon/palettes/vigoroth_palette.pal | 19 - .../pokemon/palettes/vigoroth_shiny_palette.pal | 19 - graphics/pokemon/palettes/vileplume_palette.pal | 19 - .../pokemon/palettes/vileplume_shiny_palette.pal | 19 - graphics/pokemon/palettes/volbeat_palette.pal | 19 - .../pokemon/palettes/volbeat_shiny_palette.pal | 19 - graphics/pokemon/palettes/voltorb_palette.pal | 19 - .../pokemon/palettes/voltorb_shiny_palette.pal | 19 - graphics/pokemon/palettes/vulpix_palette.pal | 19 - graphics/pokemon/palettes/vulpix_shiny_palette.pal | 19 - graphics/pokemon/palettes/wailmer_palette.pal | 19 - .../pokemon/palettes/wailmer_shiny_palette.pal | 19 - graphics/pokemon/palettes/wailord_palette.pal | 19 - .../pokemon/palettes/wailord_shiny_palette.pal | 19 - graphics/pokemon/palettes/walrein_palette.pal | 19 - .../pokemon/palettes/walrein_shiny_palette.pal | 19 - graphics/pokemon/palettes/wartortle_palette.pal | 19 - .../pokemon/palettes/wartortle_shiny_palette.pal | 19 - graphics/pokemon/palettes/weedle_palette.pal | 19 - graphics/pokemon/palettes/weedle_shiny_palette.pal | 19 - graphics/pokemon/palettes/weepinbell_palette.pal | 19 - .../pokemon/palettes/weepinbell_shiny_palette.pal | 19 - graphics/pokemon/palettes/weezing_palette.pal | 19 - .../pokemon/palettes/weezing_shiny_palette.pal | 19 - graphics/pokemon/palettes/whiscash_palette.pal | 19 - .../pokemon/palettes/whiscash_shiny_palette.pal | 19 - graphics/pokemon/palettes/whismur_palette.pal | 19 - .../pokemon/palettes/whismur_shiny_palette.pal | 19 - graphics/pokemon/palettes/wigglytuff_palette.pal | 19 - .../pokemon/palettes/wigglytuff_shiny_palette.pal | 19 - graphics/pokemon/palettes/wingull_palette.pal | 19 - .../pokemon/palettes/wingull_shiny_palette.pal | 19 - graphics/pokemon/palettes/wobbuffet_palette.pal | 19 - .../pokemon/palettes/wobbuffet_shiny_palette.pal | 19 - graphics/pokemon/palettes/wooper_palette.pal | 19 - graphics/pokemon/palettes/wooper_shiny_palette.pal | 19 - graphics/pokemon/palettes/wurmple_palette.pal | 19 - .../pokemon/palettes/wurmple_shiny_palette.pal | 19 - graphics/pokemon/palettes/wynaut_palette.pal | 19 - graphics/pokemon/palettes/wynaut_shiny_palette.pal | 19 - graphics/pokemon/palettes/xatu_palette.pal | 19 - graphics/pokemon/palettes/xatu_shiny_palette.pal | 19 - graphics/pokemon/palettes/yanma_palette.pal | 19 - graphics/pokemon/palettes/yanma_shiny_palette.pal | 19 - graphics/pokemon/palettes/zangoose_palette.pal | 19 - .../pokemon/palettes/zangoose_shiny_palette.pal | 19 - graphics/pokemon/palettes/zapdos_palette.pal | 19 - graphics/pokemon/palettes/zapdos_shiny_palette.pal | 19 - graphics/pokemon/palettes/zigzagoon_palette.pal | 19 - .../pokemon/palettes/zigzagoon_shiny_palette.pal | 19 - graphics/pokemon/palettes/zubat_palette.pal | 19 - graphics/pokemon/palettes/zubat_shiny_palette.pal | 19 - graphics/pokemon/paras/back.png | Bin 0 -> 509 bytes graphics/pokemon/paras/footprint.png | Bin 0 -> 83 bytes graphics/pokemon/paras/front.png | Bin 0 -> 505 bytes graphics/pokemon/paras/icon.png | Bin 0 -> 387 bytes graphics/pokemon/paras/normal.pal | 19 + graphics/pokemon/paras/shiny.pal | 19 + graphics/pokemon/parasect/back.png | Bin 0 -> 602 bytes graphics/pokemon/parasect/footprint.png | Bin 0 -> 85 bytes graphics/pokemon/parasect/front.png | Bin 0 -> 721 bytes graphics/pokemon/parasect/icon.png | Bin 0 -> 329 bytes graphics/pokemon/parasect/normal.pal | 19 + graphics/pokemon/parasect/shiny.pal | 19 + graphics/pokemon/pelipper/back.png | Bin 0 -> 737 bytes graphics/pokemon/pelipper/footprint.png | Bin 0 -> 102 bytes graphics/pokemon/pelipper/front.png | Bin 0 -> 771 bytes graphics/pokemon/pelipper/icon.png | Bin 0 -> 374 bytes graphics/pokemon/pelipper/normal.pal | 19 + graphics/pokemon/pelipper/shiny.pal | 19 + graphics/pokemon/persian/back.png | Bin 0 -> 663 bytes graphics/pokemon/persian/footprint.png | Bin 0 -> 98 bytes graphics/pokemon/persian/front.png | Bin 0 -> 710 bytes graphics/pokemon/persian/icon.png | Bin 0 -> 328 bytes graphics/pokemon/persian/normal.pal | 19 + graphics/pokemon/persian/shiny.pal | 19 + graphics/pokemon/phanpy/back.png | Bin 0 -> 541 bytes graphics/pokemon/phanpy/footprint.png | Bin 0 -> 85 bytes graphics/pokemon/phanpy/front.png | Bin 0 -> 462 bytes graphics/pokemon/phanpy/icon.png | Bin 0 -> 371 bytes graphics/pokemon/phanpy/normal.pal | 19 + graphics/pokemon/phanpy/shiny.pal | 19 + graphics/pokemon/pichu/back.png | Bin 0 -> 495 bytes graphics/pokemon/pichu/footprint.png | Bin 0 -> 85 bytes graphics/pokemon/pichu/front.png | Bin 0 -> 447 bytes graphics/pokemon/pichu/icon.png | Bin 0 -> 281 bytes graphics/pokemon/pichu/normal.pal | 19 + graphics/pokemon/pichu/shiny.pal | 19 + graphics/pokemon/pidgeot/back.png | Bin 0 -> 800 bytes graphics/pokemon/pidgeot/footprint.png | Bin 0 -> 100 bytes graphics/pokemon/pidgeot/front.png | Bin 0 -> 1085 bytes graphics/pokemon/pidgeot/icon.png | Bin 0 -> 456 bytes graphics/pokemon/pidgeot/normal.pal | 19 + graphics/pokemon/pidgeot/shiny.pal | 19 + graphics/pokemon/pidgeotto/back.png | Bin 0 -> 673 bytes graphics/pokemon/pidgeotto/footprint.png | Bin 0 -> 93 bytes graphics/pokemon/pidgeotto/front.png | Bin 0 -> 783 bytes graphics/pokemon/pidgeotto/icon.png | Bin 0 -> 387 bytes graphics/pokemon/pidgeotto/normal.pal | 19 + graphics/pokemon/pidgeotto/shiny.pal | 19 + graphics/pokemon/pidgey/back.png | Bin 0 -> 702 bytes graphics/pokemon/pidgey/footprint.png | Bin 0 -> 94 bytes graphics/pokemon/pidgey/front.png | Bin 0 -> 515 bytes graphics/pokemon/pidgey/icon.png | Bin 0 -> 364 bytes graphics/pokemon/pidgey/normal.pal | 19 + graphics/pokemon/pidgey/shiny.pal | 19 + graphics/pokemon/pikachu/back.png | Bin 0 -> 587 bytes graphics/pokemon/pikachu/footprint.png | Bin 0 -> 84 bytes graphics/pokemon/pikachu/front.png | Bin 0 -> 600 bytes graphics/pokemon/pikachu/icon.png | Bin 0 -> 353 bytes graphics/pokemon/pikachu/normal.pal | 19 + graphics/pokemon/pikachu/shiny.pal | 19 + graphics/pokemon/piloswine/back.png | Bin 0 -> 436 bytes graphics/pokemon/piloswine/footprint.png | Bin 0 -> 94 bytes graphics/pokemon/piloswine/front.png | Bin 0 -> 643 bytes graphics/pokemon/piloswine/icon.png | Bin 0 -> 341 bytes graphics/pokemon/piloswine/normal.pal | 19 + graphics/pokemon/piloswine/shiny.pal | 19 + graphics/pokemon/pineco/back.png | Bin 0 -> 520 bytes graphics/pokemon/pineco/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/pineco/front.png | Bin 0 -> 646 bytes graphics/pokemon/pineco/icon.png | Bin 0 -> 290 bytes graphics/pokemon/pineco/normal.pal | 19 + graphics/pokemon/pineco/shiny.pal | 19 + graphics/pokemon/pinsir/back.png | Bin 0 -> 657 bytes graphics/pokemon/pinsir/footprint.png | Bin 0 -> 93 bytes graphics/pokemon/pinsir/front.png | Bin 0 -> 867 bytes graphics/pokemon/pinsir/icon.png | Bin 0 -> 334 bytes graphics/pokemon/pinsir/normal.pal | 19 + graphics/pokemon/pinsir/shiny.pal | 19 + graphics/pokemon/plusle/back.png | Bin 0 -> 568 bytes graphics/pokemon/plusle/footprint.png | Bin 0 -> 86 bytes graphics/pokemon/plusle/front.png | Bin 0 -> 524 bytes graphics/pokemon/plusle/icon.png | Bin 0 -> 303 bytes graphics/pokemon/plusle/normal.pal | 19 + graphics/pokemon/plusle/shiny.pal | 19 + graphics/pokemon/politoed/back.png | Bin 0 -> 565 bytes graphics/pokemon/politoed/footprint.png | Bin 0 -> 95 bytes graphics/pokemon/politoed/front.png | Bin 0 -> 706 bytes graphics/pokemon/politoed/icon.png | Bin 0 -> 428 bytes graphics/pokemon/politoed/normal.pal | 19 + graphics/pokemon/politoed/shiny.pal | 19 + graphics/pokemon/poliwag/back.png | Bin 0 -> 465 bytes graphics/pokemon/poliwag/footprint.png | Bin 0 -> 86 bytes graphics/pokemon/poliwag/front.png | Bin 0 -> 526 bytes graphics/pokemon/poliwag/icon.png | Bin 0 -> 339 bytes graphics/pokemon/poliwag/normal.pal | 19 + graphics/pokemon/poliwag/shiny.pal | 19 + graphics/pokemon/poliwhirl/back.png | Bin 0 -> 487 bytes graphics/pokemon/poliwhirl/footprint.png | Bin 0 -> 90 bytes graphics/pokemon/poliwhirl/front.png | Bin 0 -> 725 bytes graphics/pokemon/poliwhirl/icon.png | Bin 0 -> 348 bytes graphics/pokemon/poliwhirl/normal.pal | 19 + graphics/pokemon/poliwhirl/shiny.pal | 19 + graphics/pokemon/poliwrath/back.png | Bin 0 -> 615 bytes graphics/pokemon/poliwrath/footprint.png | Bin 0 -> 92 bytes graphics/pokemon/poliwrath/front.png | Bin 0 -> 777 bytes graphics/pokemon/poliwrath/icon.png | Bin 0 -> 389 bytes graphics/pokemon/poliwrath/normal.pal | 19 + graphics/pokemon/poliwrath/shiny.pal | 19 + graphics/pokemon/ponyta/back.png | Bin 0 -> 680 bytes graphics/pokemon/ponyta/footprint.png | Bin 0 -> 90 bytes graphics/pokemon/ponyta/front.png | Bin 0 -> 752 bytes graphics/pokemon/ponyta/icon.png | Bin 0 -> 457 bytes graphics/pokemon/ponyta/normal.pal | 19 + graphics/pokemon/ponyta/shiny.pal | 19 + graphics/pokemon/poochyena/back.png | Bin 0 -> 676 bytes graphics/pokemon/poochyena/footprint.png | Bin 0 -> 107 bytes graphics/pokemon/poochyena/front.png | Bin 0 -> 570 bytes graphics/pokemon/poochyena/icon.png | Bin 0 -> 360 bytes graphics/pokemon/poochyena/normal.pal | 19 + graphics/pokemon/poochyena/shiny.pal | 19 + graphics/pokemon/porygon/back.png | Bin 0 -> 537 bytes graphics/pokemon/porygon/footprint.png | Bin 0 -> 88 bytes graphics/pokemon/porygon/front.png | Bin 0 -> 559 bytes graphics/pokemon/porygon/icon.png | Bin 0 -> 386 bytes graphics/pokemon/porygon/normal.pal | 19 + graphics/pokemon/porygon/shiny.pal | 19 + graphics/pokemon/porygon2/back.png | Bin 0 -> 656 bytes graphics/pokemon/porygon2/footprint.png | Bin 0 -> 87 bytes graphics/pokemon/porygon2/front.png | Bin 0 -> 541 bytes graphics/pokemon/porygon2/icon.png | Bin 0 -> 341 bytes graphics/pokemon/porygon2/normal.pal | 19 + graphics/pokemon/porygon2/shiny.pal | 19 + graphics/pokemon/primeape/back.png | Bin 0 -> 714 bytes graphics/pokemon/primeape/footprint.png | Bin 0 -> 99 bytes graphics/pokemon/primeape/front.png | Bin 0 -> 777 bytes graphics/pokemon/primeape/icon.png | Bin 0 -> 370 bytes graphics/pokemon/primeape/normal.pal | 19 + graphics/pokemon/primeape/shiny.pal | 19 + graphics/pokemon/psyduck/back.png | Bin 0 -> 534 bytes graphics/pokemon/psyduck/footprint.png | Bin 0 -> 95 bytes graphics/pokemon/psyduck/front.png | Bin 0 -> 589 bytes graphics/pokemon/psyduck/icon.png | Bin 0 -> 329 bytes graphics/pokemon/psyduck/normal.pal | 19 + graphics/pokemon/psyduck/shiny.pal | 19 + graphics/pokemon/pupitar/back.png | Bin 0 -> 642 bytes graphics/pokemon/pupitar/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/pupitar/front.png | Bin 0 -> 594 bytes graphics/pokemon/pupitar/icon.png | Bin 0 -> 291 bytes graphics/pokemon/pupitar/normal.pal | 19 + graphics/pokemon/pupitar/shiny.pal | 19 + graphics/pokemon/quagsire/back.png | Bin 0 -> 602 bytes graphics/pokemon/quagsire/footprint.png | Bin 0 -> 88 bytes graphics/pokemon/quagsire/front.png | Bin 0 -> 706 bytes graphics/pokemon/quagsire/icon.png | Bin 0 -> 362 bytes graphics/pokemon/quagsire/normal.pal | 19 + graphics/pokemon/quagsire/shiny.pal | 19 + graphics/pokemon/question_mark/circled/back.png | Bin 0 -> 397 bytes graphics/pokemon/question_mark/circled/front.png | Bin 0 -> 397 bytes graphics/pokemon/question_mark/circled/normal.pal | 19 + graphics/pokemon/question_mark/circled/shiny.pal | 19 + graphics/pokemon/question_mark/double/back.png | Bin 0 -> 307 bytes graphics/pokemon/question_mark/double/front.png | Bin 0 -> 308 bytes graphics/pokemon/question_mark/double/normal.pal | 19 + graphics/pokemon/question_mark/double/shiny.pal | 19 + graphics/pokemon/question_mark/footprint.png | Bin 0 -> 110 bytes graphics/pokemon/question_mark/icon.png | Bin 0 -> 271 bytes graphics/pokemon/quilava/back.png | Bin 0 -> 746 bytes graphics/pokemon/quilava/footprint.png | Bin 0 -> 85 bytes graphics/pokemon/quilava/front.png | Bin 0 -> 671 bytes graphics/pokemon/quilava/icon.png | Bin 0 -> 402 bytes graphics/pokemon/quilava/normal.pal | 19 + graphics/pokemon/quilava/shiny.pal | 19 + graphics/pokemon/qwilfish/back.png | Bin 0 -> 572 bytes graphics/pokemon/qwilfish/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/qwilfish/front.png | Bin 0 -> 566 bytes graphics/pokemon/qwilfish/icon.png | Bin 0 -> 337 bytes graphics/pokemon/qwilfish/normal.pal | 19 + graphics/pokemon/qwilfish/shiny.pal | 19 + graphics/pokemon/raichu/back.png | Bin 0 -> 625 bytes graphics/pokemon/raichu/footprint.png | Bin 0 -> 87 bytes graphics/pokemon/raichu/front.png | Bin 0 -> 877 bytes graphics/pokemon/raichu/icon.png | Bin 0 -> 411 bytes graphics/pokemon/raichu/normal.pal | 19 + graphics/pokemon/raichu/shiny.pal | 19 + graphics/pokemon/raikou/back.png | Bin 0 -> 745 bytes graphics/pokemon/raikou/footprint.png | Bin 0 -> 95 bytes graphics/pokemon/raikou/front.png | Bin 0 -> 1155 bytes graphics/pokemon/raikou/icon.png | Bin 0 -> 486 bytes graphics/pokemon/raikou/normal.pal | 19 + graphics/pokemon/raikou/shiny.pal | 19 + graphics/pokemon/ralts/back.png | Bin 0 -> 451 bytes graphics/pokemon/ralts/footprint.png | Bin 0 -> 76 bytes graphics/pokemon/ralts/front.png | Bin 0 -> 433 bytes graphics/pokemon/ralts/icon.png | Bin 0 -> 262 bytes graphics/pokemon/ralts/normal.pal | 19 + graphics/pokemon/ralts/shiny.pal | 19 + graphics/pokemon/rapidash/back.png | Bin 0 -> 840 bytes graphics/pokemon/rapidash/footprint.png | Bin 0 -> 94 bytes graphics/pokemon/rapidash/front.png | Bin 0 -> 986 bytes graphics/pokemon/rapidash/icon.png | Bin 0 -> 478 bytes graphics/pokemon/rapidash/normal.pal | 19 + graphics/pokemon/rapidash/shiny.pal | 19 + graphics/pokemon/raticate/back.png | Bin 0 -> 643 bytes graphics/pokemon/raticate/footprint.png | Bin 0 -> 95 bytes graphics/pokemon/raticate/front.png | Bin 0 -> 754 bytes graphics/pokemon/raticate/icon.png | Bin 0 -> 374 bytes graphics/pokemon/raticate/normal.pal | 19 + graphics/pokemon/raticate/shiny.pal | 19 + graphics/pokemon/rattata/back.png | Bin 0 -> 566 bytes graphics/pokemon/rattata/footprint.png | Bin 0 -> 88 bytes graphics/pokemon/rattata/front.png | Bin 0 -> 488 bytes graphics/pokemon/rattata/icon.png | Bin 0 -> 318 bytes graphics/pokemon/rattata/normal.pal | 19 + graphics/pokemon/rattata/shiny.pal | 19 + graphics/pokemon/rayquaza/back.png | Bin 0 -> 666 bytes graphics/pokemon/rayquaza/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/rayquaza/front.png | Bin 0 -> 1059 bytes graphics/pokemon/rayquaza/icon.png | Bin 0 -> 507 bytes graphics/pokemon/rayquaza/normal.pal | 19 + graphics/pokemon/rayquaza/shiny.pal | 19 + graphics/pokemon/regice/back.png | Bin 0 -> 551 bytes graphics/pokemon/regice/footprint.png | Bin 0 -> 76 bytes graphics/pokemon/regice/front.png | Bin 0 -> 883 bytes graphics/pokemon/regice/icon.png | Bin 0 -> 334 bytes graphics/pokemon/regice/normal.pal | 19 + graphics/pokemon/regice/shiny.pal | 19 + graphics/pokemon/regirock/back.png | Bin 0 -> 859 bytes graphics/pokemon/regirock/footprint.png | Bin 0 -> 100 bytes graphics/pokemon/regirock/front.png | Bin 0 -> 965 bytes graphics/pokemon/regirock/icon.png | Bin 0 -> 379 bytes graphics/pokemon/regirock/normal.pal | 19 + graphics/pokemon/regirock/shiny.pal | 19 + graphics/pokemon/registeel/back.png | Bin 0 -> 615 bytes graphics/pokemon/registeel/footprint.png | Bin 0 -> 105 bytes graphics/pokemon/registeel/front.png | Bin 0 -> 948 bytes graphics/pokemon/registeel/icon.png | Bin 0 -> 351 bytes graphics/pokemon/registeel/normal.pal | 19 + graphics/pokemon/registeel/shiny.pal | 19 + graphics/pokemon/relicanth/back.png | Bin 0 -> 704 bytes graphics/pokemon/relicanth/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/relicanth/front.png | Bin 0 -> 759 bytes graphics/pokemon/relicanth/icon.png | Bin 0 -> 413 bytes graphics/pokemon/relicanth/normal.pal | 19 + graphics/pokemon/relicanth/shiny.pal | 19 + graphics/pokemon/remoraid/back.png | Bin 0 -> 596 bytes graphics/pokemon/remoraid/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/remoraid/front.png | Bin 0 -> 483 bytes graphics/pokemon/remoraid/icon.png | Bin 0 -> 330 bytes graphics/pokemon/remoraid/normal.pal | 19 + graphics/pokemon/remoraid/shiny.pal | 19 + graphics/pokemon/rhydon/back.png | Bin 0 -> 880 bytes graphics/pokemon/rhydon/footprint.png | Bin 0 -> 97 bytes graphics/pokemon/rhydon/front.png | Bin 0 -> 1039 bytes graphics/pokemon/rhydon/icon.png | Bin 0 -> 381 bytes graphics/pokemon/rhydon/normal.pal | 19 + graphics/pokemon/rhydon/shiny.pal | 19 + graphics/pokemon/rhyhorn/back.png | Bin 0 -> 633 bytes graphics/pokemon/rhyhorn/footprint.png | Bin 0 -> 85 bytes graphics/pokemon/rhyhorn/front.png | Bin 0 -> 789 bytes graphics/pokemon/rhyhorn/icon.png | Bin 0 -> 356 bytes graphics/pokemon/rhyhorn/normal.pal | 19 + graphics/pokemon/rhyhorn/shiny.pal | 19 + graphics/pokemon/roselia/back.png | Bin 0 -> 774 bytes graphics/pokemon/roselia/footprint.png | Bin 0 -> 82 bytes graphics/pokemon/roselia/front.png | Bin 0 -> 745 bytes graphics/pokemon/roselia/icon.png | Bin 0 -> 414 bytes graphics/pokemon/roselia/normal.pal | 19 + graphics/pokemon/roselia/shiny.pal | 19 + graphics/pokemon/sableye/back.png | Bin 0 -> 654 bytes graphics/pokemon/sableye/footprint.png | Bin 0 -> 84 bytes graphics/pokemon/sableye/front.png | Bin 0 -> 619 bytes graphics/pokemon/sableye/icon.png | Bin 0 -> 319 bytes graphics/pokemon/sableye/normal.pal | 19 + graphics/pokemon/sableye/shiny.pal | 19 + graphics/pokemon/salamence/back.png | Bin 0 -> 578 bytes graphics/pokemon/salamence/footprint.png | Bin 0 -> 102 bytes graphics/pokemon/salamence/front.png | Bin 0 -> 918 bytes graphics/pokemon/salamence/icon.png | Bin 0 -> 477 bytes graphics/pokemon/salamence/normal.pal | 19 + graphics/pokemon/salamence/shiny.pal | 19 + graphics/pokemon/sandshrew/back.png | Bin 0 -> 606 bytes graphics/pokemon/sandshrew/footprint.png | Bin 0 -> 91 bytes graphics/pokemon/sandshrew/front.png | Bin 0 -> 600 bytes graphics/pokemon/sandshrew/icon.png | Bin 0 -> 338 bytes graphics/pokemon/sandshrew/normal.pal | 19 + graphics/pokemon/sandshrew/shiny.pal | 19 + graphics/pokemon/sandslash/back.png | Bin 0 -> 837 bytes graphics/pokemon/sandslash/footprint.png | Bin 0 -> 90 bytes graphics/pokemon/sandslash/front.png | Bin 0 -> 884 bytes graphics/pokemon/sandslash/icon.png | Bin 0 -> 402 bytes graphics/pokemon/sandslash/normal.pal | 19 + graphics/pokemon/sandslash/shiny.pal | 19 + graphics/pokemon/sceptile/back.png | Bin 0 -> 838 bytes graphics/pokemon/sceptile/footprint.png | Bin 0 -> 99 bytes graphics/pokemon/sceptile/front.png | Bin 0 -> 1047 bytes graphics/pokemon/sceptile/icon.png | Bin 0 -> 383 bytes graphics/pokemon/sceptile/normal.pal | 19 + graphics/pokemon/sceptile/shiny.pal | 19 + graphics/pokemon/scizor/back.png | Bin 0 -> 739 bytes graphics/pokemon/scizor/footprint.png | Bin 0 -> 87 bytes graphics/pokemon/scizor/front.png | Bin 0 -> 998 bytes graphics/pokemon/scizor/icon.png | Bin 0 -> 447 bytes graphics/pokemon/scizor/normal.pal | 19 + graphics/pokemon/scizor/shiny.pal | 19 + graphics/pokemon/scyther/back.png | Bin 0 -> 854 bytes graphics/pokemon/scyther/footprint.png | Bin 0 -> 99 bytes graphics/pokemon/scyther/front.png | Bin 0 -> 896 bytes graphics/pokemon/scyther/icon.png | Bin 0 -> 345 bytes graphics/pokemon/scyther/normal.pal | 19 + graphics/pokemon/scyther/shiny.pal | 19 + graphics/pokemon/seadra/back.png | Bin 0 -> 727 bytes graphics/pokemon/seadra/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/seadra/front.png | Bin 0 -> 734 bytes graphics/pokemon/seadra/icon.png | Bin 0 -> 351 bytes graphics/pokemon/seadra/normal.pal | 19 + graphics/pokemon/seadra/shiny.pal | 19 + graphics/pokemon/seaking/back.png | Bin 0 -> 693 bytes graphics/pokemon/seaking/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/seaking/front.png | Bin 0 -> 944 bytes graphics/pokemon/seaking/icon.png | Bin 0 -> 368 bytes graphics/pokemon/seaking/normal.pal | 19 + graphics/pokemon/seaking/shiny.pal | 19 + graphics/pokemon/sealeo/back.png | Bin 0 -> 503 bytes graphics/pokemon/sealeo/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/sealeo/front.png | Bin 0 -> 758 bytes graphics/pokemon/sealeo/icon.png | Bin 0 -> 387 bytes graphics/pokemon/sealeo/normal.pal | 19 + graphics/pokemon/sealeo/shiny.pal | 19 + graphics/pokemon/seedot/back.png | Bin 0 -> 561 bytes graphics/pokemon/seedot/footprint.png | Bin 0 -> 90 bytes graphics/pokemon/seedot/front.png | Bin 0 -> 502 bytes graphics/pokemon/seedot/icon.png | Bin 0 -> 271 bytes graphics/pokemon/seedot/normal.pal | 19 + graphics/pokemon/seedot/shiny.pal | 19 + graphics/pokemon/seel/back.png | Bin 0 -> 581 bytes graphics/pokemon/seel/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/seel/front.png | Bin 0 -> 644 bytes graphics/pokemon/seel/icon.png | Bin 0 -> 382 bytes graphics/pokemon/seel/normal.pal | 19 + graphics/pokemon/seel/shiny.pal | 19 + graphics/pokemon/sentret/back.png | Bin 0 -> 549 bytes graphics/pokemon/sentret/footprint.png | Bin 0 -> 85 bytes graphics/pokemon/sentret/front.png | Bin 0 -> 610 bytes graphics/pokemon/sentret/icon.png | Bin 0 -> 363 bytes graphics/pokemon/sentret/normal.pal | 19 + graphics/pokemon/sentret/shiny.pal | 19 + graphics/pokemon/seviper/back.png | Bin 0 -> 934 bytes graphics/pokemon/seviper/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/seviper/front.png | Bin 0 -> 886 bytes graphics/pokemon/seviper/icon.png | Bin 0 -> 368 bytes graphics/pokemon/seviper/normal.pal | 19 + graphics/pokemon/seviper/shiny.pal | 19 + graphics/pokemon/sharpedo/back.png | Bin 0 -> 676 bytes graphics/pokemon/sharpedo/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/sharpedo/front.png | Bin 0 -> 748 bytes graphics/pokemon/sharpedo/icon.png | Bin 0 -> 373 bytes graphics/pokemon/sharpedo/normal.pal | 19 + graphics/pokemon/sharpedo/shiny.pal | 19 + graphics/pokemon/shedinja/back.png | Bin 0 -> 763 bytes graphics/pokemon/shedinja/footprint.png | Bin 0 -> 92 bytes graphics/pokemon/shedinja/front.png | Bin 0 -> 654 bytes graphics/pokemon/shedinja/icon.png | Bin 0 -> 298 bytes graphics/pokemon/shedinja/normal.pal | 19 + graphics/pokemon/shedinja/shiny.pal | 19 + graphics/pokemon/shelgon/back.png | Bin 0 -> 549 bytes graphics/pokemon/shelgon/footprint.png | Bin 0 -> 88 bytes graphics/pokemon/shelgon/front.png | Bin 0 -> 631 bytes graphics/pokemon/shelgon/icon.png | Bin 0 -> 333 bytes graphics/pokemon/shelgon/normal.pal | 19 + graphics/pokemon/shelgon/shiny.pal | 19 + graphics/pokemon/shellder/back.png | Bin 0 -> 586 bytes graphics/pokemon/shellder/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/shellder/front.png | Bin 0 -> 494 bytes graphics/pokemon/shellder/icon.png | Bin 0 -> 295 bytes graphics/pokemon/shellder/normal.pal | 19 + graphics/pokemon/shellder/shiny.pal | 19 + graphics/pokemon/shiftry/back.png | Bin 0 -> 580 bytes graphics/pokemon/shiftry/footprint.png | Bin 0 -> 76 bytes graphics/pokemon/shiftry/front.png | Bin 0 -> 1023 bytes graphics/pokemon/shiftry/icon.png | Bin 0 -> 349 bytes graphics/pokemon/shiftry/normal.pal | 19 + graphics/pokemon/shiftry/shiny.pal | 19 + graphics/pokemon/shroomish/back.png | Bin 0 -> 540 bytes graphics/pokemon/shroomish/footprint.png | Bin 0 -> 89 bytes graphics/pokemon/shroomish/front.png | Bin 0 -> 493 bytes graphics/pokemon/shroomish/icon.png | Bin 0 -> 317 bytes graphics/pokemon/shroomish/normal.pal | 19 + graphics/pokemon/shroomish/shiny.pal | 19 + graphics/pokemon/shuckle/back.png | Bin 0 -> 483 bytes graphics/pokemon/shuckle/footprint.png | Bin 0 -> 86 bytes graphics/pokemon/shuckle/front.png | Bin 0 -> 587 bytes graphics/pokemon/shuckle/icon.png | Bin 0 -> 334 bytes graphics/pokemon/shuckle/normal.pal | 19 + graphics/pokemon/shuckle/shiny.pal | 19 + graphics/pokemon/shuppet/back.png | Bin 0 -> 485 bytes graphics/pokemon/shuppet/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/shuppet/front.png | Bin 0 -> 435 bytes graphics/pokemon/shuppet/icon.png | Bin 0 -> 275 bytes graphics/pokemon/shuppet/normal.pal | 19 + graphics/pokemon/shuppet/shiny.pal | 19 + graphics/pokemon/silcoon/back.png | Bin 0 -> 396 bytes graphics/pokemon/silcoon/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/silcoon/front.png | Bin 0 -> 520 bytes graphics/pokemon/silcoon/icon.png | Bin 0 -> 329 bytes graphics/pokemon/silcoon/normal.pal | 19 + graphics/pokemon/silcoon/shiny.pal | 19 + graphics/pokemon/skarmory/back.png | Bin 0 -> 577 bytes graphics/pokemon/skarmory/footprint.png | Bin 0 -> 101 bytes graphics/pokemon/skarmory/front.png | Bin 0 -> 992 bytes graphics/pokemon/skarmory/icon.png | Bin 0 -> 418 bytes graphics/pokemon/skarmory/normal.pal | 19 + graphics/pokemon/skarmory/shiny.pal | 19 + graphics/pokemon/skiploom/back.png | Bin 0 -> 575 bytes graphics/pokemon/skiploom/footprint.png | Bin 0 -> 87 bytes graphics/pokemon/skiploom/front.png | Bin 0 -> 503 bytes graphics/pokemon/skiploom/icon.png | Bin 0 -> 375 bytes graphics/pokemon/skiploom/normal.pal | 19 + graphics/pokemon/skiploom/shiny.pal | 19 + graphics/pokemon/skitty/back.png | Bin 0 -> 677 bytes graphics/pokemon/skitty/footprint.png | Bin 0 -> 106 bytes graphics/pokemon/skitty/front.png | Bin 0 -> 639 bytes graphics/pokemon/skitty/icon.png | Bin 0 -> 371 bytes graphics/pokemon/skitty/normal.pal | 19 + graphics/pokemon/skitty/shiny.pal | 19 + graphics/pokemon/slaking/back.png | Bin 0 -> 788 bytes graphics/pokemon/slaking/footprint.png | Bin 0 -> 114 bytes graphics/pokemon/slaking/front.png | Bin 0 -> 1034 bytes graphics/pokemon/slaking/icon.png | Bin 0 -> 437 bytes graphics/pokemon/slaking/normal.pal | 19 + graphics/pokemon/slaking/shiny.pal | 19 + graphics/pokemon/slakoth/back.png | Bin 0 -> 583 bytes graphics/pokemon/slakoth/footprint.png | Bin 0 -> 97 bytes graphics/pokemon/slakoth/front.png | Bin 0 -> 602 bytes graphics/pokemon/slakoth/icon.png | Bin 0 -> 319 bytes graphics/pokemon/slakoth/normal.pal | 19 + graphics/pokemon/slakoth/shiny.pal | 19 + graphics/pokemon/slowbro/back.png | Bin 0 -> 737 bytes graphics/pokemon/slowbro/footprint.png | Bin 0 -> 90 bytes graphics/pokemon/slowbro/front.png | Bin 0 -> 982 bytes graphics/pokemon/slowbro/icon.png | Bin 0 -> 446 bytes graphics/pokemon/slowbro/normal.pal | 19 + graphics/pokemon/slowbro/shiny.pal | 19 + graphics/pokemon/slowking/back.png | Bin 0 -> 712 bytes graphics/pokemon/slowking/footprint.png | Bin 0 -> 84 bytes graphics/pokemon/slowking/front.png | Bin 0 -> 792 bytes graphics/pokemon/slowking/icon.png | Bin 0 -> 364 bytes graphics/pokemon/slowking/normal.pal | 19 + graphics/pokemon/slowking/shiny.pal | 19 + graphics/pokemon/slowpoke/back.png | Bin 0 -> 494 bytes graphics/pokemon/slowpoke/footprint.png | Bin 0 -> 85 bytes graphics/pokemon/slowpoke/front.png | Bin 0 -> 578 bytes graphics/pokemon/slowpoke/icon.png | Bin 0 -> 342 bytes graphics/pokemon/slowpoke/normal.pal | 19 + graphics/pokemon/slowpoke/shiny.pal | 19 + graphics/pokemon/slugma/back.png | Bin 0 -> 584 bytes graphics/pokemon/slugma/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/slugma/front.png | Bin 0 -> 493 bytes graphics/pokemon/slugma/icon.png | Bin 0 -> 343 bytes graphics/pokemon/slugma/normal.pal | 19 + graphics/pokemon/slugma/shiny.pal | 19 + graphics/pokemon/smeargle/back.png | Bin 0 -> 648 bytes graphics/pokemon/smeargle/footprint.png | Bin 0 -> 94 bytes graphics/pokemon/smeargle/front.png | Bin 0 -> 758 bytes graphics/pokemon/smeargle/icon.png | Bin 0 -> 377 bytes graphics/pokemon/smeargle/normal.pal | 19 + graphics/pokemon/smeargle/shiny.pal | 19 + graphics/pokemon/smoochum/back.png | Bin 0 -> 507 bytes graphics/pokemon/smoochum/footprint.png | Bin 0 -> 83 bytes graphics/pokemon/smoochum/front.png | Bin 0 -> 495 bytes graphics/pokemon/smoochum/icon.png | Bin 0 -> 414 bytes graphics/pokemon/smoochum/normal.pal | 19 + graphics/pokemon/smoochum/shiny.pal | 19 + graphics/pokemon/sneasel/back.png | Bin 0 -> 664 bytes graphics/pokemon/sneasel/footprint.png | Bin 0 -> 93 bytes graphics/pokemon/sneasel/front.png | Bin 0 -> 698 bytes graphics/pokemon/sneasel/icon.png | Bin 0 -> 347 bytes graphics/pokemon/sneasel/normal.pal | 19 + graphics/pokemon/sneasel/shiny.pal | 19 + graphics/pokemon/snorlax/back.png | Bin 0 -> 419 bytes graphics/pokemon/snorlax/footprint.png | Bin 0 -> 102 bytes graphics/pokemon/snorlax/front.png | Bin 0 -> 814 bytes graphics/pokemon/snorlax/icon.png | Bin 0 -> 346 bytes graphics/pokemon/snorlax/normal.pal | 19 + graphics/pokemon/snorlax/shiny.pal | 19 + graphics/pokemon/snorunt/back.png | Bin 0 -> 557 bytes graphics/pokemon/snorunt/footprint.png | Bin 0 -> 91 bytes graphics/pokemon/snorunt/front.png | Bin 0 -> 574 bytes graphics/pokemon/snorunt/icon.png | Bin 0 -> 283 bytes graphics/pokemon/snorunt/normal.pal | 19 + graphics/pokemon/snorunt/shiny.pal | 19 + graphics/pokemon/snubbull/back.png | Bin 0 -> 627 bytes graphics/pokemon/snubbull/footprint.png | Bin 0 -> 89 bytes graphics/pokemon/snubbull/front.png | Bin 0 -> 606 bytes graphics/pokemon/snubbull/icon.png | Bin 0 -> 325 bytes graphics/pokemon/snubbull/normal.pal | 19 + graphics/pokemon/snubbull/shiny.pal | 19 + graphics/pokemon/solrock/back.png | Bin 0 -> 802 bytes graphics/pokemon/solrock/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/solrock/front.png | Bin 0 -> 945 bytes graphics/pokemon/solrock/icon.png | Bin 0 -> 286 bytes graphics/pokemon/solrock/normal.pal | 19 + graphics/pokemon/solrock/shiny.pal | 19 + graphics/pokemon/spearow/back.png | Bin 0 -> 601 bytes graphics/pokemon/spearow/footprint.png | Bin 0 -> 94 bytes graphics/pokemon/spearow/front.png | Bin 0 -> 615 bytes graphics/pokemon/spearow/icon.png | Bin 0 -> 346 bytes graphics/pokemon/spearow/normal.pal | 19 + graphics/pokemon/spearow/shiny.pal | 19 + graphics/pokemon/spheal/back.png | Bin 0 -> 405 bytes graphics/pokemon/spheal/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/spheal/front.png | Bin 0 -> 507 bytes graphics/pokemon/spheal/icon.png | Bin 0 -> 317 bytes graphics/pokemon/spheal/normal.pal | 19 + graphics/pokemon/spheal/shiny.pal | 19 + graphics/pokemon/spinarak/back.png | Bin 0 -> 465 bytes graphics/pokemon/spinarak/footprint.png | Bin 0 -> 76 bytes graphics/pokemon/spinarak/front.png | Bin 0 -> 511 bytes graphics/pokemon/spinarak/icon.png | Bin 0 -> 345 bytes graphics/pokemon/spinarak/normal.pal | 19 + graphics/pokemon/spinarak/shiny.pal | 19 + graphics/pokemon/spinda/back.png | Bin 0 -> 684 bytes graphics/pokemon/spinda/footprint.png | Bin 0 -> 94 bytes graphics/pokemon/spinda/front.png | Bin 0 -> 623 bytes graphics/pokemon/spinda/icon.png | Bin 0 -> 375 bytes graphics/pokemon/spinda/normal.pal | 19 + graphics/pokemon/spinda/shiny.pal | 19 + graphics/pokemon/spoink/back.png | Bin 0 -> 453 bytes graphics/pokemon/spoink/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/spoink/front.png | Bin 0 -> 491 bytes graphics/pokemon/spoink/icon.png | Bin 0 -> 277 bytes graphics/pokemon/spoink/normal.pal | 19 + graphics/pokemon/spoink/shiny.pal | 19 + graphics/pokemon/squirtle/back.png | Bin 0 -> 484 bytes graphics/pokemon/squirtle/footprint.png | Bin 0 -> 89 bytes graphics/pokemon/squirtle/front.png | Bin 0 -> 543 bytes graphics/pokemon/squirtle/icon.png | Bin 0 -> 344 bytes graphics/pokemon/squirtle/normal.pal | 19 + graphics/pokemon/squirtle/shiny.pal | 19 + graphics/pokemon/stantler/back.png | Bin 0 -> 680 bytes graphics/pokemon/stantler/footprint.png | Bin 0 -> 86 bytes graphics/pokemon/stantler/front.png | Bin 0 -> 881 bytes graphics/pokemon/stantler/icon.png | Bin 0 -> 356 bytes graphics/pokemon/stantler/normal.pal | 19 + graphics/pokemon/stantler/shiny.pal | 19 + graphics/pokemon/starmie/back.png | Bin 0 -> 501 bytes graphics/pokemon/starmie/footprint.png | Bin 0 -> 81 bytes graphics/pokemon/starmie/front.png | Bin 0 -> 780 bytes graphics/pokemon/starmie/icon.png | Bin 0 -> 380 bytes graphics/pokemon/starmie/normal.pal | 19 + graphics/pokemon/starmie/shiny.pal | 19 + graphics/pokemon/staryu/back.png | Bin 0 -> 446 bytes graphics/pokemon/staryu/footprint.png | Bin 0 -> 81 bytes graphics/pokemon/staryu/front.png | Bin 0 -> 566 bytes graphics/pokemon/staryu/icon.png | Bin 0 -> 294 bytes graphics/pokemon/staryu/normal.pal | 19 + graphics/pokemon/staryu/shiny.pal | 19 + graphics/pokemon/steelix/back.png | Bin 0 -> 819 bytes graphics/pokemon/steelix/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/steelix/front.png | Bin 0 -> 943 bytes graphics/pokemon/steelix/icon.png | Bin 0 -> 433 bytes graphics/pokemon/steelix/normal.pal | 19 + graphics/pokemon/steelix/shiny.pal | 19 + graphics/pokemon/sudowoodo/back.png | Bin 0 -> 696 bytes graphics/pokemon/sudowoodo/footprint.png | Bin 0 -> 87 bytes graphics/pokemon/sudowoodo/front.png | Bin 0 -> 651 bytes graphics/pokemon/sudowoodo/icon.png | Bin 0 -> 395 bytes graphics/pokemon/sudowoodo/normal.pal | 19 + graphics/pokemon/sudowoodo/shiny.pal | 19 + graphics/pokemon/suicune/back.png | Bin 0 -> 975 bytes graphics/pokemon/suicune/footprint.png | Bin 0 -> 84 bytes graphics/pokemon/suicune/front.png | Bin 0 -> 1179 bytes graphics/pokemon/suicune/icon.png | Bin 0 -> 471 bytes graphics/pokemon/suicune/normal.pal | 19 + graphics/pokemon/suicune/shiny.pal | 19 + graphics/pokemon/sunflora/back.png | Bin 0 -> 749 bytes graphics/pokemon/sunflora/footprint.png | Bin 0 -> 89 bytes graphics/pokemon/sunflora/front.png | Bin 0 -> 707 bytes graphics/pokemon/sunflora/icon.png | Bin 0 -> 447 bytes graphics/pokemon/sunflora/normal.pal | 19 + graphics/pokemon/sunflora/shiny.pal | 19 + graphics/pokemon/sunkern/back.png | Bin 0 -> 555 bytes graphics/pokemon/sunkern/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/sunkern/front.png | Bin 0 -> 448 bytes graphics/pokemon/sunkern/icon.png | Bin 0 -> 366 bytes graphics/pokemon/sunkern/normal.pal | 19 + graphics/pokemon/sunkern/shiny.pal | 19 + graphics/pokemon/surskit/back.png | Bin 0 -> 459 bytes graphics/pokemon/surskit/footprint.png | Bin 0 -> 87 bytes graphics/pokemon/surskit/front.png | Bin 0 -> 417 bytes graphics/pokemon/surskit/icon.png | Bin 0 -> 325 bytes graphics/pokemon/surskit/normal.pal | 19 + graphics/pokemon/surskit/shiny.pal | 19 + graphics/pokemon/swablu/back.png | Bin 0 -> 740 bytes graphics/pokemon/swablu/footprint.png | Bin 0 -> 82 bytes graphics/pokemon/swablu/front.png | Bin 0 -> 586 bytes graphics/pokemon/swablu/icon.png | Bin 0 -> 324 bytes graphics/pokemon/swablu/normal.pal | 19 + graphics/pokemon/swablu/shiny.pal | 19 + graphics/pokemon/swalot/back.png | Bin 0 -> 687 bytes graphics/pokemon/swalot/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/swalot/front.png | Bin 0 -> 677 bytes graphics/pokemon/swalot/icon.png | Bin 0 -> 315 bytes graphics/pokemon/swalot/normal.pal | 19 + graphics/pokemon/swalot/shiny.pal | 19 + graphics/pokemon/swampert/back.png | Bin 0 -> 768 bytes graphics/pokemon/swampert/footprint.png | Bin 0 -> 103 bytes graphics/pokemon/swampert/front.png | Bin 0 -> 1160 bytes graphics/pokemon/swampert/icon.png | Bin 0 -> 417 bytes graphics/pokemon/swampert/normal.pal | 19 + graphics/pokemon/swampert/shiny.pal | 19 + graphics/pokemon/swellow/back.png | Bin 0 -> 669 bytes graphics/pokemon/swellow/footprint.png | Bin 0 -> 107 bytes graphics/pokemon/swellow/front.png | Bin 0 -> 816 bytes graphics/pokemon/swellow/icon.png | Bin 0 -> 369 bytes graphics/pokemon/swellow/normal.pal | 19 + graphics/pokemon/swellow/shiny.pal | 19 + graphics/pokemon/swinub/back.png | Bin 0 -> 382 bytes graphics/pokemon/swinub/footprint.png | Bin 0 -> 81 bytes graphics/pokemon/swinub/front.png | Bin 0 -> 381 bytes graphics/pokemon/swinub/icon.png | Bin 0 -> 320 bytes graphics/pokemon/swinub/normal.pal | 19 + graphics/pokemon/swinub/shiny.pal | 19 + graphics/pokemon/taillow/back.png | Bin 0 -> 446 bytes graphics/pokemon/taillow/footprint.png | Bin 0 -> 97 bytes graphics/pokemon/taillow/front.png | Bin 0 -> 508 bytes graphics/pokemon/taillow/icon.png | Bin 0 -> 329 bytes graphics/pokemon/taillow/normal.pal | 19 + graphics/pokemon/taillow/shiny.pal | 19 + graphics/pokemon/tangela/back.png | Bin 0 -> 676 bytes graphics/pokemon/tangela/footprint.png | Bin 0 -> 97 bytes graphics/pokemon/tangela/front.png | Bin 0 -> 737 bytes graphics/pokemon/tangela/icon.png | Bin 0 -> 365 bytes graphics/pokemon/tangela/normal.pal | 19 + graphics/pokemon/tangela/shiny.pal | 19 + graphics/pokemon/tauros/back.png | Bin 0 -> 561 bytes graphics/pokemon/tauros/footprint.png | Bin 0 -> 91 bytes graphics/pokemon/tauros/front.png | Bin 0 -> 956 bytes graphics/pokemon/tauros/icon.png | Bin 0 -> 421 bytes graphics/pokemon/tauros/normal.pal | 19 + graphics/pokemon/tauros/shiny.pal | 19 + graphics/pokemon/teddiursa/back.png | Bin 0 -> 512 bytes graphics/pokemon/teddiursa/footprint.png | Bin 0 -> 91 bytes graphics/pokemon/teddiursa/front.png | Bin 0 -> 544 bytes graphics/pokemon/teddiursa/icon.png | Bin 0 -> 304 bytes graphics/pokemon/teddiursa/normal.pal | 19 + graphics/pokemon/teddiursa/shiny.pal | 19 + graphics/pokemon/tentacool/back.png | Bin 0 -> 556 bytes graphics/pokemon/tentacool/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/tentacool/front.png | Bin 0 -> 571 bytes graphics/pokemon/tentacool/icon.png | Bin 0 -> 333 bytes graphics/pokemon/tentacool/normal.pal | 19 + graphics/pokemon/tentacool/shiny.pal | 19 + graphics/pokemon/tentacruel/back.png | Bin 0 -> 736 bytes graphics/pokemon/tentacruel/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/tentacruel/front.png | Bin 0 -> 1059 bytes graphics/pokemon/tentacruel/icon.png | Bin 0 -> 486 bytes graphics/pokemon/tentacruel/normal.pal | 19 + graphics/pokemon/tentacruel/shiny.pal | 19 + graphics/pokemon/togepi/back.png | Bin 0 -> 514 bytes graphics/pokemon/togepi/footprint.png | Bin 0 -> 90 bytes graphics/pokemon/togepi/front.png | Bin 0 -> 390 bytes graphics/pokemon/togepi/icon.png | Bin 0 -> 347 bytes graphics/pokemon/togepi/normal.pal | 19 + graphics/pokemon/togepi/shiny.pal | 19 + graphics/pokemon/togetic/back.png | Bin 0 -> 630 bytes graphics/pokemon/togetic/footprint.png | Bin 0 -> 90 bytes graphics/pokemon/togetic/front.png | Bin 0 -> 513 bytes graphics/pokemon/togetic/icon.png | Bin 0 -> 324 bytes graphics/pokemon/togetic/normal.pal | 19 + graphics/pokemon/togetic/shiny.pal | 19 + graphics/pokemon/torchic/back.png | Bin 0 -> 576 bytes graphics/pokemon/torchic/footprint.png | Bin 0 -> 103 bytes graphics/pokemon/torchic/front.png | Bin 0 -> 548 bytes graphics/pokemon/torchic/icon.png | Bin 0 -> 338 bytes graphics/pokemon/torchic/normal.pal | 19 + graphics/pokemon/torchic/shiny.pal | 19 + graphics/pokemon/torkoal/back.png | Bin 0 -> 569 bytes graphics/pokemon/torkoal/footprint.png | Bin 0 -> 104 bytes graphics/pokemon/torkoal/front.png | Bin 0 -> 977 bytes graphics/pokemon/torkoal/icon.png | Bin 0 -> 342 bytes graphics/pokemon/torkoal/normal.pal | 19 + graphics/pokemon/torkoal/shiny.pal | 19 + graphics/pokemon/totodile/back.png | Bin 0 -> 599 bytes graphics/pokemon/totodile/footprint.png | Bin 0 -> 88 bytes graphics/pokemon/totodile/front.png | Bin 0 -> 533 bytes graphics/pokemon/totodile/icon.png | Bin 0 -> 331 bytes graphics/pokemon/totodile/normal.pal | 19 + graphics/pokemon/totodile/shiny.pal | 19 + graphics/pokemon/trapinch/back.png | Bin 0 -> 437 bytes graphics/pokemon/trapinch/footprint.png | Bin 0 -> 95 bytes graphics/pokemon/trapinch/front.png | Bin 0 -> 420 bytes graphics/pokemon/trapinch/icon.png | Bin 0 -> 314 bytes graphics/pokemon/trapinch/normal.pal | 19 + graphics/pokemon/trapinch/shiny.pal | 19 + graphics/pokemon/treecko/back.png | Bin 0 -> 636 bytes graphics/pokemon/treecko/footprint.png | Bin 0 -> 96 bytes graphics/pokemon/treecko/front.png | Bin 0 -> 635 bytes graphics/pokemon/treecko/icon.png | Bin 0 -> 346 bytes graphics/pokemon/treecko/normal.pal | 19 + graphics/pokemon/treecko/shiny.pal | 19 + graphics/pokemon/tropius/back.png | Bin 0 -> 632 bytes graphics/pokemon/tropius/footprint.png | Bin 0 -> 109 bytes graphics/pokemon/tropius/front.png | Bin 0 -> 1172 bytes graphics/pokemon/tropius/icon.png | Bin 0 -> 422 bytes graphics/pokemon/tropius/normal.pal | 19 + graphics/pokemon/tropius/shiny.pal | 19 + graphics/pokemon/typhlosion/back.png | Bin 0 -> 849 bytes graphics/pokemon/typhlosion/footprint.png | Bin 0 -> 88 bytes graphics/pokemon/typhlosion/front.png | Bin 0 -> 896 bytes graphics/pokemon/typhlosion/icon.png | Bin 0 -> 417 bytes graphics/pokemon/typhlosion/normal.pal | 19 + graphics/pokemon/typhlosion/shiny.pal | 19 + graphics/pokemon/tyranitar/back.png | Bin 0 -> 776 bytes graphics/pokemon/tyranitar/footprint.png | Bin 0 -> 97 bytes graphics/pokemon/tyranitar/front.png | Bin 0 -> 1095 bytes graphics/pokemon/tyranitar/icon.png | Bin 0 -> 435 bytes graphics/pokemon/tyranitar/normal.pal | 19 + graphics/pokemon/tyranitar/shiny.pal | 19 + graphics/pokemon/tyrogue/back.png | Bin 0 -> 618 bytes graphics/pokemon/tyrogue/footprint.png | Bin 0 -> 81 bytes graphics/pokemon/tyrogue/front.png | Bin 0 -> 530 bytes graphics/pokemon/tyrogue/icon.png | Bin 0 -> 321 bytes graphics/pokemon/tyrogue/normal.pal | 19 + graphics/pokemon/tyrogue/shiny.pal | 19 + graphics/pokemon/umbreon/back.png | Bin 0 -> 638 bytes graphics/pokemon/umbreon/footprint.png | Bin 0 -> 81 bytes graphics/pokemon/umbreon/front.png | Bin 0 -> 650 bytes graphics/pokemon/umbreon/icon.png | Bin 0 -> 358 bytes graphics/pokemon/umbreon/normal.pal | 19 + graphics/pokemon/umbreon/shiny.pal | 19 + graphics/pokemon/unown/a/back.png | Bin 0 -> 376 bytes graphics/pokemon/unown/a/front.png | Bin 0 -> 337 bytes graphics/pokemon/unown/a/icon.png | Bin 0 -> 245 bytes graphics/pokemon/unown/b/back.png | Bin 0 -> 394 bytes graphics/pokemon/unown/b/front.png | Bin 0 -> 355 bytes graphics/pokemon/unown/b/icon.png | Bin 0 -> 256 bytes graphics/pokemon/unown/c/back.png | Bin 0 -> 505 bytes graphics/pokemon/unown/c/front.png | Bin 0 -> 395 bytes graphics/pokemon/unown/c/icon.png | Bin 0 -> 276 bytes graphics/pokemon/unown/d/back.png | Bin 0 -> 451 bytes graphics/pokemon/unown/d/front.png | Bin 0 -> 352 bytes graphics/pokemon/unown/d/icon.png | Bin 0 -> 257 bytes graphics/pokemon/unown/e/back.png | Bin 0 -> 400 bytes graphics/pokemon/unown/e/front.png | Bin 0 -> 325 bytes graphics/pokemon/unown/e/icon.png | Bin 0 -> 249 bytes graphics/pokemon/unown/exclamation_mark/back.png | Bin 0 -> 312 bytes graphics/pokemon/unown/exclamation_mark/front.png | Bin 0 -> 294 bytes graphics/pokemon/unown/exclamation_mark/icon.png | Bin 0 -> 220 bytes graphics/pokemon/unown/f/back.png | Bin 0 -> 417 bytes graphics/pokemon/unown/f/front.png | Bin 0 -> 364 bytes graphics/pokemon/unown/f/icon.png | Bin 0 -> 269 bytes graphics/pokemon/unown/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/unown/g/back.png | Bin 0 -> 431 bytes graphics/pokemon/unown/g/front.png | Bin 0 -> 359 bytes graphics/pokemon/unown/g/icon.png | Bin 0 -> 241 bytes graphics/pokemon/unown/h/back.png | Bin 0 -> 534 bytes graphics/pokemon/unown/h/front.png | Bin 0 -> 424 bytes graphics/pokemon/unown/h/icon.png | Bin 0 -> 270 bytes graphics/pokemon/unown/i/back.png | Bin 0 -> 328 bytes graphics/pokemon/unown/i/front.png | Bin 0 -> 305 bytes graphics/pokemon/unown/i/icon.png | Bin 0 -> 223 bytes graphics/pokemon/unown/j/back.png | Bin 0 -> 370 bytes graphics/pokemon/unown/j/front.png | Bin 0 -> 334 bytes graphics/pokemon/unown/j/icon.png | Bin 0 -> 244 bytes graphics/pokemon/unown/k/back.png | Bin 0 -> 388 bytes graphics/pokemon/unown/k/front.png | Bin 0 -> 347 bytes graphics/pokemon/unown/k/icon.png | Bin 0 -> 244 bytes graphics/pokemon/unown/l/back.png | Bin 0 -> 356 bytes graphics/pokemon/unown/l/front.png | Bin 0 -> 315 bytes graphics/pokemon/unown/l/icon.png | Bin 0 -> 243 bytes graphics/pokemon/unown/m/back.png | Bin 0 -> 499 bytes graphics/pokemon/unown/m/front.png | Bin 0 -> 414 bytes graphics/pokemon/unown/m/icon.png | Bin 0 -> 268 bytes graphics/pokemon/unown/n/back.png | Bin 0 -> 474 bytes graphics/pokemon/unown/n/front.png | Bin 0 -> 379 bytes graphics/pokemon/unown/n/icon.png | Bin 0 -> 259 bytes graphics/pokemon/unown/normal.pal | 19 + graphics/pokemon/unown/o/back.png | Bin 0 -> 517 bytes graphics/pokemon/unown/o/front.png | Bin 0 -> 417 bytes graphics/pokemon/unown/o/icon.png | Bin 0 -> 260 bytes graphics/pokemon/unown/p/back.png | Bin 0 -> 333 bytes graphics/pokemon/unown/p/front.png | Bin 0 -> 312 bytes graphics/pokemon/unown/p/icon.png | Bin 0 -> 227 bytes graphics/pokemon/unown/q/back.png | Bin 0 -> 335 bytes graphics/pokemon/unown/q/front.png | Bin 0 -> 320 bytes graphics/pokemon/unown/q/icon.png | Bin 0 -> 238 bytes graphics/pokemon/unown/question_mark/back.png | Bin 0 -> 382 bytes graphics/pokemon/unown/question_mark/front.png | Bin 0 -> 332 bytes graphics/pokemon/unown/question_mark/icon.png | Bin 0 -> 245 bytes graphics/pokemon/unown/r/back.png | Bin 0 -> 337 bytes graphics/pokemon/unown/r/front.png | Bin 0 -> 313 bytes graphics/pokemon/unown/r/icon.png | Bin 0 -> 232 bytes graphics/pokemon/unown/s/back.png | Bin 0 -> 439 bytes graphics/pokemon/unown/s/front.png | Bin 0 -> 363 bytes graphics/pokemon/unown/s/icon.png | Bin 0 -> 259 bytes graphics/pokemon/unown/shiny.pal | 19 + graphics/pokemon/unown/t/back.png | Bin 0 -> 324 bytes graphics/pokemon/unown/t/front.png | Bin 0 -> 316 bytes graphics/pokemon/unown/t/icon.png | Bin 0 -> 241 bytes graphics/pokemon/unown/u/back.png | Bin 0 -> 454 bytes graphics/pokemon/unown/u/front.png | Bin 0 -> 391 bytes graphics/pokemon/unown/u/icon.png | Bin 0 -> 250 bytes graphics/pokemon/unown/v/back.png | Bin 0 -> 416 bytes graphics/pokemon/unown/v/front.png | Bin 0 -> 349 bytes graphics/pokemon/unown/v/icon.png | Bin 0 -> 255 bytes graphics/pokemon/unown/w/back.png | Bin 0 -> 378 bytes graphics/pokemon/unown/w/front.png | Bin 0 -> 355 bytes graphics/pokemon/unown/w/icon.png | Bin 0 -> 261 bytes graphics/pokemon/unown/x/back.png | Bin 0 -> 376 bytes graphics/pokemon/unown/x/front.png | Bin 0 -> 337 bytes graphics/pokemon/unown/x/icon.png | Bin 0 -> 255 bytes graphics/pokemon/unown/y/back.png | Bin 0 -> 404 bytes graphics/pokemon/unown/y/front.png | Bin 0 -> 347 bytes graphics/pokemon/unown/y/icon.png | Bin 0 -> 251 bytes graphics/pokemon/unown/z/back.png | Bin 0 -> 348 bytes graphics/pokemon/unown/z/front.png | Bin 0 -> 324 bytes graphics/pokemon/unown/z/icon.png | Bin 0 -> 244 bytes graphics/pokemon/ursaring/back.png | Bin 0 -> 718 bytes graphics/pokemon/ursaring/footprint.png | Bin 0 -> 99 bytes graphics/pokemon/ursaring/front.png | Bin 0 -> 894 bytes graphics/pokemon/ursaring/icon.png | Bin 0 -> 355 bytes graphics/pokemon/ursaring/normal.pal | 19 + graphics/pokemon/ursaring/shiny.pal | 19 + graphics/pokemon/vaporeon/back.png | Bin 0 -> 572 bytes graphics/pokemon/vaporeon/footprint.png | Bin 0 -> 94 bytes graphics/pokemon/vaporeon/front.png | Bin 0 -> 802 bytes graphics/pokemon/vaporeon/icon.png | Bin 0 -> 393 bytes graphics/pokemon/vaporeon/normal.pal | 19 + graphics/pokemon/vaporeon/shiny.pal | 19 + graphics/pokemon/venomoth/back.png | Bin 0 -> 769 bytes graphics/pokemon/venomoth/footprint.png | Bin 0 -> 76 bytes graphics/pokemon/venomoth/front.png | Bin 0 -> 851 bytes graphics/pokemon/venomoth/icon.png | Bin 0 -> 400 bytes graphics/pokemon/venomoth/normal.pal | 19 + graphics/pokemon/venomoth/shiny.pal | 19 + graphics/pokemon/venonat/back.png | Bin 0 -> 678 bytes graphics/pokemon/venonat/footprint.png | Bin 0 -> 89 bytes graphics/pokemon/venonat/front.png | Bin 0 -> 696 bytes graphics/pokemon/venonat/icon.png | Bin 0 -> 322 bytes graphics/pokemon/venonat/normal.pal | 19 + graphics/pokemon/venonat/shiny.pal | 19 + graphics/pokemon/venusaur/back.png | Bin 0 -> 948 bytes graphics/pokemon/venusaur/footprint.png | Bin 0 -> 96 bytes graphics/pokemon/venusaur/front.png | Bin 0 -> 1107 bytes graphics/pokemon/venusaur/icon.png | Bin 0 -> 447 bytes graphics/pokemon/venusaur/normal.pal | 19 + graphics/pokemon/venusaur/shiny.pal | 19 + graphics/pokemon/vibrava/back.png | Bin 0 -> 518 bytes graphics/pokemon/vibrava/footprint.png | Bin 0 -> 86 bytes graphics/pokemon/vibrava/front.png | Bin 0 -> 708 bytes graphics/pokemon/vibrava/icon.png | Bin 0 -> 356 bytes graphics/pokemon/vibrava/normal.pal | 19 + graphics/pokemon/vibrava/shiny.pal | 19 + graphics/pokemon/victreebel/back.png | Bin 0 -> 752 bytes graphics/pokemon/victreebel/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/victreebel/front.png | Bin 0 -> 907 bytes graphics/pokemon/victreebel/icon.png | Bin 0 -> 437 bytes graphics/pokemon/victreebel/normal.pal | 19 + graphics/pokemon/victreebel/shiny.pal | 19 + graphics/pokemon/vigoroth/back.png | Bin 0 -> 589 bytes graphics/pokemon/vigoroth/footprint.png | Bin 0 -> 110 bytes graphics/pokemon/vigoroth/front.png | Bin 0 -> 886 bytes graphics/pokemon/vigoroth/icon.png | Bin 0 -> 358 bytes graphics/pokemon/vigoroth/normal.pal | 19 + graphics/pokemon/vigoroth/shiny.pal | 19 + graphics/pokemon/vileplume/back.png | Bin 0 -> 860 bytes graphics/pokemon/vileplume/footprint.png | Bin 0 -> 89 bytes graphics/pokemon/vileplume/front.png | Bin 0 -> 694 bytes graphics/pokemon/vileplume/icon.png | Bin 0 -> 410 bytes graphics/pokemon/vileplume/normal.pal | 19 + graphics/pokemon/vileplume/shiny.pal | 19 + graphics/pokemon/volbeat/back.png | Bin 0 -> 702 bytes graphics/pokemon/volbeat/footprint.png | Bin 0 -> 84 bytes graphics/pokemon/volbeat/front.png | Bin 0 -> 774 bytes graphics/pokemon/volbeat/icon.png | Bin 0 -> 335 bytes graphics/pokemon/volbeat/normal.pal | 19 + graphics/pokemon/volbeat/shiny.pal | 19 + graphics/pokemon/voltorb/back.png | Bin 0 -> 475 bytes graphics/pokemon/voltorb/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/voltorb/front.png | Bin 0 -> 407 bytes graphics/pokemon/voltorb/icon.png | Bin 0 -> 242 bytes graphics/pokemon/voltorb/normal.pal | 19 + graphics/pokemon/voltorb/shiny.pal | 19 + graphics/pokemon/vulpix/back.png | Bin 0 -> 656 bytes graphics/pokemon/vulpix/footprint.png | Bin 0 -> 95 bytes graphics/pokemon/vulpix/front.png | Bin 0 -> 669 bytes graphics/pokemon/vulpix/icon.png | Bin 0 -> 307 bytes graphics/pokemon/vulpix/normal.pal | 19 + graphics/pokemon/vulpix/shiny.pal | 19 + graphics/pokemon/wailmer/back.png | Bin 0 -> 347 bytes graphics/pokemon/wailmer/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/wailmer/front.png | Bin 0 -> 596 bytes graphics/pokemon/wailmer/icon.png | Bin 0 -> 359 bytes graphics/pokemon/wailmer/normal.pal | 19 + graphics/pokemon/wailmer/shiny.pal | 19 + graphics/pokemon/wailord/back.png | Bin 0 -> 368 bytes graphics/pokemon/wailord/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/wailord/front.png | Bin 0 -> 766 bytes graphics/pokemon/wailord/icon.png | Bin 0 -> 392 bytes graphics/pokemon/wailord/normal.pal | 19 + graphics/pokemon/wailord/shiny.pal | 19 + graphics/pokemon/walrein/back.png | Bin 0 -> 727 bytes graphics/pokemon/walrein/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/walrein/front.png | Bin 0 -> 997 bytes graphics/pokemon/walrein/icon.png | Bin 0 -> 473 bytes graphics/pokemon/walrein/normal.pal | 19 + graphics/pokemon/walrein/shiny.pal | 19 + graphics/pokemon/wartortle/back.png | Bin 0 -> 689 bytes graphics/pokemon/wartortle/footprint.png | Bin 0 -> 93 bytes graphics/pokemon/wartortle/front.png | Bin 0 -> 794 bytes graphics/pokemon/wartortle/icon.png | Bin 0 -> 371 bytes graphics/pokemon/wartortle/normal.pal | 19 + graphics/pokemon/wartortle/shiny.pal | 19 + graphics/pokemon/weedle/back.png | Bin 0 -> 502 bytes graphics/pokemon/weedle/footprint.png | Bin 0 -> 81 bytes graphics/pokemon/weedle/front.png | Bin 0 -> 471 bytes graphics/pokemon/weedle/icon.png | Bin 0 -> 279 bytes graphics/pokemon/weedle/normal.pal | 19 + graphics/pokemon/weedle/shiny.pal | 19 + graphics/pokemon/weepinbell/back.png | Bin 0 -> 625 bytes graphics/pokemon/weepinbell/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/weepinbell/front.png | Bin 0 -> 681 bytes graphics/pokemon/weepinbell/icon.png | Bin 0 -> 365 bytes graphics/pokemon/weepinbell/normal.pal | 19 + graphics/pokemon/weepinbell/shiny.pal | 19 + graphics/pokemon/weezing/back.png | Bin 0 -> 687 bytes graphics/pokemon/weezing/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/weezing/front.png | Bin 0 -> 988 bytes graphics/pokemon/weezing/icon.png | Bin 0 -> 456 bytes graphics/pokemon/weezing/normal.pal | 19 + graphics/pokemon/weezing/shiny.pal | 19 + graphics/pokemon/whiscash/back.png | Bin 0 -> 690 bytes graphics/pokemon/whiscash/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/whiscash/front.png | Bin 0 -> 752 bytes graphics/pokemon/whiscash/icon.png | Bin 0 -> 420 bytes graphics/pokemon/whiscash/normal.pal | 19 + graphics/pokemon/whiscash/shiny.pal | 19 + graphics/pokemon/whismur/back.png | Bin 0 -> 493 bytes graphics/pokemon/whismur/footprint.png | Bin 0 -> 114 bytes graphics/pokemon/whismur/front.png | Bin 0 -> 527 bytes graphics/pokemon/whismur/icon.png | Bin 0 -> 291 bytes graphics/pokemon/whismur/normal.pal | 19 + graphics/pokemon/whismur/shiny.pal | 19 + graphics/pokemon/wigglytuff/back.png | Bin 0 -> 538 bytes graphics/pokemon/wigglytuff/footprint.png | Bin 0 -> 89 bytes graphics/pokemon/wigglytuff/front.png | Bin 0 -> 717 bytes graphics/pokemon/wigglytuff/icon.png | Bin 0 -> 327 bytes graphics/pokemon/wigglytuff/normal.pal | 19 + graphics/pokemon/wigglytuff/shiny.pal | 19 + graphics/pokemon/wingull/back.png | Bin 0 -> 684 bytes graphics/pokemon/wingull/footprint.png | Bin 0 -> 92 bytes graphics/pokemon/wingull/front.png | Bin 0 -> 471 bytes graphics/pokemon/wingull/icon.png | Bin 0 -> 360 bytes graphics/pokemon/wingull/normal.pal | 19 + graphics/pokemon/wingull/shiny.pal | 19 + graphics/pokemon/wobbuffet/back.png | Bin 0 -> 433 bytes graphics/pokemon/wobbuffet/footprint.png | Bin 0 -> 81 bytes graphics/pokemon/wobbuffet/front.png | Bin 0 -> 683 bytes graphics/pokemon/wobbuffet/icon.png | Bin 0 -> 335 bytes graphics/pokemon/wobbuffet/normal.pal | 19 + graphics/pokemon/wobbuffet/shiny.pal | 19 + graphics/pokemon/wooper/back.png | Bin 0 -> 533 bytes graphics/pokemon/wooper/footprint.png | Bin 0 -> 81 bytes graphics/pokemon/wooper/front.png | Bin 0 -> 464 bytes graphics/pokemon/wooper/icon.png | Bin 0 -> 307 bytes graphics/pokemon/wooper/normal.pal | 19 + graphics/pokemon/wooper/shiny.pal | 19 + graphics/pokemon/wurmple/back.png | Bin 0 -> 488 bytes graphics/pokemon/wurmple/footprint.png | Bin 0 -> 81 bytes graphics/pokemon/wurmple/front.png | Bin 0 -> 522 bytes graphics/pokemon/wurmple/icon.png | Bin 0 -> 331 bytes graphics/pokemon/wurmple/normal.pal | 19 + graphics/pokemon/wurmple/shiny.pal | 19 + graphics/pokemon/wynaut/back.png | Bin 0 -> 498 bytes graphics/pokemon/wynaut/footprint.png | Bin 0 -> 88 bytes graphics/pokemon/wynaut/front.png | Bin 0 -> 532 bytes graphics/pokemon/wynaut/icon.png | Bin 0 -> 353 bytes graphics/pokemon/wynaut/normal.pal | 19 + graphics/pokemon/wynaut/shiny.pal | 19 + graphics/pokemon/xatu/back.png | Bin 0 -> 716 bytes graphics/pokemon/xatu/footprint.png | Bin 0 -> 88 bytes graphics/pokemon/xatu/front.png | Bin 0 -> 597 bytes graphics/pokemon/xatu/icon.png | Bin 0 -> 350 bytes graphics/pokemon/xatu/normal.pal | 19 + graphics/pokemon/xatu/shiny.pal | 19 + graphics/pokemon/yanma/back.png | Bin 0 -> 796 bytes graphics/pokemon/yanma/footprint.png | Bin 0 -> 84 bytes graphics/pokemon/yanma/front.png | Bin 0 -> 747 bytes graphics/pokemon/yanma/icon.png | Bin 0 -> 388 bytes graphics/pokemon/yanma/normal.pal | 19 + graphics/pokemon/yanma/shiny.pal | 19 + graphics/pokemon/zangoose/back.png | Bin 0 -> 734 bytes graphics/pokemon/zangoose/footprint.png | Bin 0 -> 103 bytes graphics/pokemon/zangoose/front.png | Bin 0 -> 844 bytes graphics/pokemon/zangoose/icon.png | Bin 0 -> 419 bytes graphics/pokemon/zangoose/normal.pal | 19 + graphics/pokemon/zangoose/shiny.pal | 19 + graphics/pokemon/zapdos/back.png | Bin 0 -> 652 bytes graphics/pokemon/zapdos/footprint.png | Bin 0 -> 104 bytes graphics/pokemon/zapdos/front.png | Bin 0 -> 904 bytes graphics/pokemon/zapdos/icon.png | Bin 0 -> 375 bytes graphics/pokemon/zapdos/normal.pal | 19 + graphics/pokemon/zapdos/shiny.pal | 19 + graphics/pokemon/zigzagoon/back.png | Bin 0 -> 683 bytes graphics/pokemon/zigzagoon/footprint.png | Bin 0 -> 100 bytes graphics/pokemon/zigzagoon/front.png | Bin 0 -> 797 bytes graphics/pokemon/zigzagoon/icon.png | Bin 0 -> 347 bytes graphics/pokemon/zigzagoon/normal.pal | 19 + graphics/pokemon/zigzagoon/shiny.pal | 19 + graphics/pokemon/zubat/back.png | Bin 0 -> 526 bytes graphics/pokemon/zubat/footprint.png | Bin 0 -> 71 bytes graphics/pokemon/zubat/front.png | Bin 0 -> 570 bytes graphics/pokemon/zubat/icon.png | Bin 0 -> 335 bytes graphics/pokemon/zubat/normal.pal | 19 + graphics/pokemon/zubat/shiny.pal | 19 + graphics_file_rules.mk | 43 +- src/daycare.c | 2 +- src/egg_hatch.c | 2 +- 4851 files changed, 17305 insertions(+), 17314 deletions(-) create mode 100644 graphics/pokemon/abra/back.png create mode 100644 graphics/pokemon/abra/footprint.png create mode 100644 graphics/pokemon/abra/front.png create mode 100644 graphics/pokemon/abra/icon.png create mode 100644 graphics/pokemon/abra/normal.pal create mode 100644 graphics/pokemon/abra/shiny.pal create mode 100644 graphics/pokemon/absol/back.png create mode 100644 graphics/pokemon/absol/footprint.png create mode 100644 graphics/pokemon/absol/front.png create mode 100644 graphics/pokemon/absol/icon.png create mode 100644 graphics/pokemon/absol/normal.pal create mode 100644 graphics/pokemon/absol/shiny.pal create mode 100644 graphics/pokemon/aerodactyl/back.png create mode 100644 graphics/pokemon/aerodactyl/footprint.png create mode 100644 graphics/pokemon/aerodactyl/front.png create mode 100644 graphics/pokemon/aerodactyl/icon.png create mode 100644 graphics/pokemon/aerodactyl/normal.pal create mode 100644 graphics/pokemon/aerodactyl/shiny.pal create mode 100644 graphics/pokemon/aggron/back.png create mode 100644 graphics/pokemon/aggron/footprint.png create mode 100644 graphics/pokemon/aggron/front.png create mode 100644 graphics/pokemon/aggron/icon.png create mode 100644 graphics/pokemon/aggron/normal.pal create mode 100644 graphics/pokemon/aggron/shiny.pal create mode 100644 graphics/pokemon/aipom/back.png create mode 100644 graphics/pokemon/aipom/footprint.png create mode 100644 graphics/pokemon/aipom/front.png create mode 100644 graphics/pokemon/aipom/icon.png create mode 100644 graphics/pokemon/aipom/normal.pal create mode 100644 graphics/pokemon/aipom/shiny.pal create mode 100644 graphics/pokemon/alakazam/back.png create mode 100644 graphics/pokemon/alakazam/footprint.png create mode 100644 graphics/pokemon/alakazam/front.png create mode 100644 graphics/pokemon/alakazam/icon.png create mode 100644 graphics/pokemon/alakazam/normal.pal create mode 100644 graphics/pokemon/alakazam/shiny.pal create mode 100644 graphics/pokemon/altaria/back.png create mode 100644 graphics/pokemon/altaria/footprint.png create mode 100644 graphics/pokemon/altaria/front.png create mode 100644 graphics/pokemon/altaria/icon.png create mode 100644 graphics/pokemon/altaria/normal.pal create mode 100644 graphics/pokemon/altaria/shiny.pal create mode 100644 graphics/pokemon/ampharos/back.png create mode 100644 graphics/pokemon/ampharos/footprint.png create mode 100644 graphics/pokemon/ampharos/front.png create mode 100644 graphics/pokemon/ampharos/icon.png create mode 100644 graphics/pokemon/ampharos/normal.pal create mode 100644 graphics/pokemon/ampharos/shiny.pal create mode 100644 graphics/pokemon/anorith/back.png create mode 100644 graphics/pokemon/anorith/footprint.png create mode 100644 graphics/pokemon/anorith/front.png create mode 100644 graphics/pokemon/anorith/icon.png create mode 100644 graphics/pokemon/anorith/normal.pal create mode 100644 graphics/pokemon/anorith/shiny.pal create mode 100644 graphics/pokemon/arbok/back.png create mode 100644 graphics/pokemon/arbok/footprint.png create mode 100644 graphics/pokemon/arbok/front.png create mode 100644 graphics/pokemon/arbok/icon.png create mode 100644 graphics/pokemon/arbok/normal.pal create mode 100644 graphics/pokemon/arbok/shiny.pal create mode 100644 graphics/pokemon/arcanine/back.png create mode 100644 graphics/pokemon/arcanine/footprint.png create mode 100644 graphics/pokemon/arcanine/front.png create mode 100644 graphics/pokemon/arcanine/icon.png create mode 100644 graphics/pokemon/arcanine/normal.pal create mode 100644 graphics/pokemon/arcanine/shiny.pal create mode 100644 graphics/pokemon/ariados/back.png create mode 100644 graphics/pokemon/ariados/footprint.png create mode 100644 graphics/pokemon/ariados/front.png create mode 100644 graphics/pokemon/ariados/icon.png create mode 100644 graphics/pokemon/ariados/normal.pal create mode 100644 graphics/pokemon/ariados/shiny.pal create mode 100644 graphics/pokemon/armaldo/back.png create mode 100644 graphics/pokemon/armaldo/footprint.png create mode 100644 graphics/pokemon/armaldo/front.png create mode 100644 graphics/pokemon/armaldo/icon.png create mode 100644 graphics/pokemon/armaldo/normal.pal create mode 100644 graphics/pokemon/armaldo/shiny.pal create mode 100644 graphics/pokemon/aron/back.png create mode 100644 graphics/pokemon/aron/footprint.png create mode 100644 graphics/pokemon/aron/front.png create mode 100644 graphics/pokemon/aron/icon.png create mode 100644 graphics/pokemon/aron/normal.pal create mode 100644 graphics/pokemon/aron/shiny.pal create mode 100644 graphics/pokemon/articuno/back.png create mode 100644 graphics/pokemon/articuno/footprint.png create mode 100644 graphics/pokemon/articuno/front.png create mode 100644 graphics/pokemon/articuno/icon.png create mode 100644 graphics/pokemon/articuno/normal.pal create mode 100644 graphics/pokemon/articuno/shiny.pal create mode 100644 graphics/pokemon/azumarill/back.png create mode 100644 graphics/pokemon/azumarill/footprint.png create mode 100644 graphics/pokemon/azumarill/front.png create mode 100644 graphics/pokemon/azumarill/icon.png create mode 100644 graphics/pokemon/azumarill/normal.pal create mode 100644 graphics/pokemon/azumarill/shiny.pal create mode 100644 graphics/pokemon/azurill/back.png create mode 100644 graphics/pokemon/azurill/footprint.png create mode 100644 graphics/pokemon/azurill/front.png create mode 100644 graphics/pokemon/azurill/icon.png create mode 100644 graphics/pokemon/azurill/normal.pal create mode 100644 graphics/pokemon/azurill/shiny.pal delete mode 100644 graphics/pokemon/back_pics/abra_back_pic.png delete mode 100644 graphics/pokemon/back_pics/absol_back_pic.png delete mode 100644 graphics/pokemon/back_pics/aerodactyl_back_pic.png delete mode 100644 graphics/pokemon/back_pics/aggron_back_pic.png delete mode 100644 graphics/pokemon/back_pics/aipom_back_pic.png delete mode 100644 graphics/pokemon/back_pics/alakazam_back_pic.png delete mode 100644 graphics/pokemon/back_pics/altaria_back_pic.png delete mode 100644 graphics/pokemon/back_pics/ampharos_back_pic.png delete mode 100644 graphics/pokemon/back_pics/anorith_back_pic.png delete mode 100644 graphics/pokemon/back_pics/arbok_back_pic.png delete mode 100644 graphics/pokemon/back_pics/arcanine_back_pic.png delete mode 100644 graphics/pokemon/back_pics/ariados_back_pic.png delete mode 100644 graphics/pokemon/back_pics/armaldo_back_pic.png delete mode 100644 graphics/pokemon/back_pics/aron_back_pic.png delete mode 100644 graphics/pokemon/back_pics/articuno_back_pic.png delete mode 100644 graphics/pokemon/back_pics/azumarill_back_pic.png delete mode 100644 graphics/pokemon/back_pics/azurill_back_pic.png delete mode 100644 graphics/pokemon/back_pics/bagon_back_pic.png delete mode 100644 graphics/pokemon/back_pics/baltoy_back_pic.png delete mode 100644 graphics/pokemon/back_pics/banette_back_pic.png delete mode 100644 graphics/pokemon/back_pics/barboach_back_pic.png delete mode 100644 graphics/pokemon/back_pics/bayleef_back_pic.png delete mode 100644 graphics/pokemon/back_pics/beautifly_back_pic.png delete mode 100644 graphics/pokemon/back_pics/beedrill_back_pic.png delete mode 100644 graphics/pokemon/back_pics/beldum_back_pic.png delete mode 100644 graphics/pokemon/back_pics/bellossom_back_pic.png delete mode 100644 graphics/pokemon/back_pics/bellsprout_back_pic.png delete mode 100644 graphics/pokemon/back_pics/blastoise_back_pic.png delete mode 100644 graphics/pokemon/back_pics/blaziken_back_pic.png delete mode 100644 graphics/pokemon/back_pics/blissey_back_pic.png delete mode 100644 graphics/pokemon/back_pics/breloom_back_pic.png delete mode 100644 graphics/pokemon/back_pics/bulbasaur_back_pic.png delete mode 100644 graphics/pokemon/back_pics/butterfree_back_pic.png delete mode 100644 graphics/pokemon/back_pics/cacnea_back_pic.png delete mode 100644 graphics/pokemon/back_pics/cacturne_back_pic.png delete mode 100644 graphics/pokemon/back_pics/camerupt_back_pic.png delete mode 100644 graphics/pokemon/back_pics/carvanha_back_pic.png delete mode 100644 graphics/pokemon/back_pics/cascoon_back_pic.png delete mode 100644 graphics/pokemon/back_pics/castform_normal_form_back_pic.png delete mode 100644 graphics/pokemon/back_pics/castform_rainy_form_back_pic.png delete mode 100644 graphics/pokemon/back_pics/castform_snowy_form_back_pic.png delete mode 100644 graphics/pokemon/back_pics/castform_sunny_form_back_pic.png delete mode 100644 graphics/pokemon/back_pics/caterpie_back_pic.png delete mode 100644 graphics/pokemon/back_pics/celebi_back_pic.png delete mode 100644 graphics/pokemon/back_pics/chansey_back_pic.png delete mode 100644 graphics/pokemon/back_pics/charizard_back_pic.png delete mode 100644 graphics/pokemon/back_pics/charmander_back_pic.png delete mode 100644 graphics/pokemon/back_pics/charmeleon_back_pic.png delete mode 100644 graphics/pokemon/back_pics/chikorita_back_pic.png delete mode 100644 graphics/pokemon/back_pics/chimecho_back_pic.png delete mode 100644 graphics/pokemon/back_pics/chinchou_back_pic.png delete mode 100644 graphics/pokemon/back_pics/circled_question_mark_back_pic.png delete mode 100644 graphics/pokemon/back_pics/clamperl_back_pic.png delete mode 100644 graphics/pokemon/back_pics/claydol_back_pic.png delete mode 100644 graphics/pokemon/back_pics/clefable_back_pic.png delete mode 100644 graphics/pokemon/back_pics/clefairy_back_pic.png delete mode 100644 graphics/pokemon/back_pics/cleffa_back_pic.png delete mode 100644 graphics/pokemon/back_pics/cloyster_back_pic.png delete mode 100644 graphics/pokemon/back_pics/combusken_back_pic.png delete mode 100644 graphics/pokemon/back_pics/corphish_back_pic.png delete mode 100644 graphics/pokemon/back_pics/corsola_back_pic.png delete mode 100644 graphics/pokemon/back_pics/cradily_back_pic.png delete mode 100644 graphics/pokemon/back_pics/crawdaunt_back_pic.png delete mode 100644 graphics/pokemon/back_pics/crobat_back_pic.png delete mode 100644 graphics/pokemon/back_pics/croconaw_back_pic.png delete mode 100644 graphics/pokemon/back_pics/cubone_back_pic.png delete mode 100644 graphics/pokemon/back_pics/cyndaquil_back_pic.png delete mode 100644 graphics/pokemon/back_pics/delcatty_back_pic.png delete mode 100644 graphics/pokemon/back_pics/delibird_back_pic.png delete mode 100644 graphics/pokemon/back_pics/deoxys_back_pic.png delete mode 100644 graphics/pokemon/back_pics/dewgong_back_pic.png delete mode 100644 graphics/pokemon/back_pics/diglett_back_pic.png delete mode 100644 graphics/pokemon/back_pics/ditto_back_pic.png delete mode 100644 graphics/pokemon/back_pics/dodrio_back_pic.png delete mode 100644 graphics/pokemon/back_pics/doduo_back_pic.png delete mode 100644 graphics/pokemon/back_pics/donphan_back_pic.png delete mode 100644 graphics/pokemon/back_pics/double_question_mark_back_pic.png delete mode 100644 graphics/pokemon/back_pics/dragonair_back_pic.png delete mode 100644 graphics/pokemon/back_pics/dragonite_back_pic.png delete mode 100644 graphics/pokemon/back_pics/dratini_back_pic.png delete mode 100644 graphics/pokemon/back_pics/drowzee_back_pic.png delete mode 100644 graphics/pokemon/back_pics/dugtrio_back_pic.png delete mode 100644 graphics/pokemon/back_pics/dunsparce_back_pic.png delete mode 100644 graphics/pokemon/back_pics/dusclops_back_pic.png delete mode 100644 graphics/pokemon/back_pics/duskull_back_pic.png delete mode 100644 graphics/pokemon/back_pics/dustox_back_pic.png delete mode 100644 graphics/pokemon/back_pics/eevee_back_pic.png delete mode 100644 graphics/pokemon/back_pics/ekans_back_pic.png delete mode 100644 graphics/pokemon/back_pics/electabuzz_back_pic.png delete mode 100644 graphics/pokemon/back_pics/electrike_back_pic.png delete mode 100644 graphics/pokemon/back_pics/electrode_back_pic.png delete mode 100644 graphics/pokemon/back_pics/elekid_back_pic.png delete mode 100644 graphics/pokemon/back_pics/entei_back_pic.png delete mode 100644 graphics/pokemon/back_pics/espeon_back_pic.png delete mode 100644 graphics/pokemon/back_pics/exeggcute_back_pic.png delete mode 100644 graphics/pokemon/back_pics/exeggutor_back_pic.png delete mode 100644 graphics/pokemon/back_pics/exploud_back_pic.png delete mode 100644 graphics/pokemon/back_pics/farfetch_d_back_pic.png delete mode 100644 graphics/pokemon/back_pics/fearow_back_pic.png delete mode 100644 graphics/pokemon/back_pics/feebas_back_pic.png delete mode 100644 graphics/pokemon/back_pics/feraligatr_back_pic.png delete mode 100644 graphics/pokemon/back_pics/flaaffy_back_pic.png delete mode 100644 graphics/pokemon/back_pics/flareon_back_pic.png delete mode 100644 graphics/pokemon/back_pics/flygon_back_pic.png delete mode 100644 graphics/pokemon/back_pics/forretress_back_pic.png delete mode 100644 graphics/pokemon/back_pics/furret_back_pic.png delete mode 100644 graphics/pokemon/back_pics/gardevoir_back_pic.png delete mode 100644 graphics/pokemon/back_pics/gastly_back_pic.png delete mode 100644 graphics/pokemon/back_pics/gengar_back_pic.png delete mode 100644 graphics/pokemon/back_pics/geodude_back_pic.png delete mode 100644 graphics/pokemon/back_pics/girafarig_back_pic.png delete mode 100644 graphics/pokemon/back_pics/glalie_back_pic.png delete mode 100644 graphics/pokemon/back_pics/gligar_back_pic.png delete mode 100644 graphics/pokemon/back_pics/gloom_back_pic.png delete mode 100644 graphics/pokemon/back_pics/golbat_back_pic.png delete mode 100644 graphics/pokemon/back_pics/goldeen_back_pic.png delete mode 100644 graphics/pokemon/back_pics/golduck_back_pic.png delete mode 100644 graphics/pokemon/back_pics/golem_back_pic.png delete mode 100644 graphics/pokemon/back_pics/gorebyss_back_pic.png delete mode 100644 graphics/pokemon/back_pics/granbull_back_pic.png delete mode 100644 graphics/pokemon/back_pics/graveler_back_pic.png delete mode 100644 graphics/pokemon/back_pics/grimer_back_pic.png delete mode 100644 graphics/pokemon/back_pics/groudon_back_pic.png delete mode 100644 graphics/pokemon/back_pics/grovyle_back_pic.png delete mode 100644 graphics/pokemon/back_pics/growlithe_back_pic.png delete mode 100644 graphics/pokemon/back_pics/grumpig_back_pic.png delete mode 100644 graphics/pokemon/back_pics/gulpin_back_pic.png delete mode 100644 graphics/pokemon/back_pics/gyarados_back_pic.png delete mode 100644 graphics/pokemon/back_pics/hariyama_back_pic.png delete mode 100644 graphics/pokemon/back_pics/haunter_back_pic.png delete mode 100644 graphics/pokemon/back_pics/heracross_back_pic.png delete mode 100644 graphics/pokemon/back_pics/hitmonchan_back_pic.png delete mode 100644 graphics/pokemon/back_pics/hitmonlee_back_pic.png delete mode 100644 graphics/pokemon/back_pics/hitmontop_back_pic.png delete mode 100644 graphics/pokemon/back_pics/ho_oh_back_pic.png delete mode 100644 graphics/pokemon/back_pics/hoothoot_back_pic.png delete mode 100644 graphics/pokemon/back_pics/hoppip_back_pic.png delete mode 100644 graphics/pokemon/back_pics/horsea_back_pic.png delete mode 100644 graphics/pokemon/back_pics/houndoom_back_pic.png delete mode 100644 graphics/pokemon/back_pics/houndour_back_pic.png delete mode 100644 graphics/pokemon/back_pics/huntail_back_pic.png delete mode 100644 graphics/pokemon/back_pics/hypno_back_pic.png delete mode 100644 graphics/pokemon/back_pics/igglybuff_back_pic.png delete mode 100644 graphics/pokemon/back_pics/illumise_back_pic.png delete mode 100644 graphics/pokemon/back_pics/ivysaur_back_pic.png delete mode 100644 graphics/pokemon/back_pics/jigglypuff_back_pic.png delete mode 100644 graphics/pokemon/back_pics/jirachi_back_pic.png delete mode 100644 graphics/pokemon/back_pics/jolteon_back_pic.png delete mode 100644 graphics/pokemon/back_pics/jumpluff_back_pic.png delete mode 100644 graphics/pokemon/back_pics/jynx_back_pic.png delete mode 100644 graphics/pokemon/back_pics/kabuto_back_pic.png delete mode 100644 graphics/pokemon/back_pics/kabutops_back_pic.png delete mode 100644 graphics/pokemon/back_pics/kadabra_back_pic.png delete mode 100644 graphics/pokemon/back_pics/kakuna_back_pic.png delete mode 100644 graphics/pokemon/back_pics/kangaskhan_back_pic.png delete mode 100644 graphics/pokemon/back_pics/kecleon_back_pic.png delete mode 100644 graphics/pokemon/back_pics/kingdra_back_pic.png delete mode 100644 graphics/pokemon/back_pics/kingler_back_pic.png delete mode 100644 graphics/pokemon/back_pics/kirlia_back_pic.png delete mode 100644 graphics/pokemon/back_pics/koffing_back_pic.png delete mode 100644 graphics/pokemon/back_pics/krabby_back_pic.png delete mode 100644 graphics/pokemon/back_pics/kyogre_back_pic.png delete mode 100644 graphics/pokemon/back_pics/lairon_back_pic.png delete mode 100644 graphics/pokemon/back_pics/lanturn_back_pic.png delete mode 100644 graphics/pokemon/back_pics/lapras_back_pic.png delete mode 100644 graphics/pokemon/back_pics/larvitar_back_pic.png delete mode 100644 graphics/pokemon/back_pics/latias_back_pic.png delete mode 100644 graphics/pokemon/back_pics/latios_back_pic.png delete mode 100644 graphics/pokemon/back_pics/ledian_back_pic.png delete mode 100644 graphics/pokemon/back_pics/ledyba_back_pic.png delete mode 100644 graphics/pokemon/back_pics/lickitung_back_pic.png delete mode 100644 graphics/pokemon/back_pics/lileep_back_pic.png delete mode 100644 graphics/pokemon/back_pics/linoone_back_pic.png delete mode 100644 graphics/pokemon/back_pics/lombre_back_pic.png delete mode 100644 graphics/pokemon/back_pics/lotad_back_pic.png delete mode 100644 graphics/pokemon/back_pics/loudred_back_pic.png delete mode 100644 graphics/pokemon/back_pics/ludicolo_back_pic.png delete mode 100644 graphics/pokemon/back_pics/lugia_back_pic.png delete mode 100644 graphics/pokemon/back_pics/lunatone_back_pic.png delete mode 100644 graphics/pokemon/back_pics/luvdisc_back_pic.png delete mode 100644 graphics/pokemon/back_pics/machamp_back_pic.png delete mode 100644 graphics/pokemon/back_pics/machoke_back_pic.png delete mode 100644 graphics/pokemon/back_pics/machop_back_pic.png delete mode 100644 graphics/pokemon/back_pics/magby_back_pic.png delete mode 100644 graphics/pokemon/back_pics/magcargo_back_pic.png delete mode 100644 graphics/pokemon/back_pics/magikarp_back_pic.png delete mode 100644 graphics/pokemon/back_pics/magmar_back_pic.png delete mode 100644 graphics/pokemon/back_pics/magnemite_back_pic.png delete mode 100644 graphics/pokemon/back_pics/magneton_back_pic.png delete mode 100644 graphics/pokemon/back_pics/makuhita_back_pic.png delete mode 100644 graphics/pokemon/back_pics/manectric_back_pic.png delete mode 100644 graphics/pokemon/back_pics/mankey_back_pic.png delete mode 100644 graphics/pokemon/back_pics/mantine_back_pic.png delete mode 100644 graphics/pokemon/back_pics/mareep_back_pic.png delete mode 100644 graphics/pokemon/back_pics/marill_back_pic.png delete mode 100644 graphics/pokemon/back_pics/marowak_back_pic.png delete mode 100644 graphics/pokemon/back_pics/marshtomp_back_pic.png delete mode 100644 graphics/pokemon/back_pics/masquerain_back_pic.png delete mode 100644 graphics/pokemon/back_pics/mawile_back_pic.png delete mode 100644 graphics/pokemon/back_pics/medicham_back_pic.png delete mode 100644 graphics/pokemon/back_pics/meditite_back_pic.png delete mode 100644 graphics/pokemon/back_pics/meganium_back_pic.png delete mode 100644 graphics/pokemon/back_pics/meowth_back_pic.png delete mode 100644 graphics/pokemon/back_pics/metagross_back_pic.png delete mode 100644 graphics/pokemon/back_pics/metang_back_pic.png delete mode 100644 graphics/pokemon/back_pics/metapod_back_pic.png delete mode 100644 graphics/pokemon/back_pics/mew_back_pic.png delete mode 100644 graphics/pokemon/back_pics/mewtwo_back_pic.png delete mode 100644 graphics/pokemon/back_pics/mightyena_back_pic.png delete mode 100644 graphics/pokemon/back_pics/milotic_back_pic.png delete mode 100644 graphics/pokemon/back_pics/miltank_back_pic.png delete mode 100644 graphics/pokemon/back_pics/minun_back_pic.png delete mode 100644 graphics/pokemon/back_pics/misdreavus_back_pic.png delete mode 100644 graphics/pokemon/back_pics/moltres_back_pic.png delete mode 100644 graphics/pokemon/back_pics/mr_mime_back_pic.png delete mode 100644 graphics/pokemon/back_pics/mudkip_back_pic.png delete mode 100644 graphics/pokemon/back_pics/muk_back_pic.png delete mode 100644 graphics/pokemon/back_pics/murkrow_back_pic.png delete mode 100644 graphics/pokemon/back_pics/natu_back_pic.png delete mode 100644 graphics/pokemon/back_pics/nidoking_back_pic.png delete mode 100644 graphics/pokemon/back_pics/nidoqueen_back_pic.png delete mode 100644 graphics/pokemon/back_pics/nidoran_f_back_pic.png delete mode 100644 graphics/pokemon/back_pics/nidoran_m_back_pic.png delete mode 100644 graphics/pokemon/back_pics/nidorina_back_pic.png delete mode 100644 graphics/pokemon/back_pics/nidorino_back_pic.png delete mode 100644 graphics/pokemon/back_pics/nincada_back_pic.png delete mode 100644 graphics/pokemon/back_pics/ninetales_back_pic.png delete mode 100644 graphics/pokemon/back_pics/ninjask_back_pic.png delete mode 100644 graphics/pokemon/back_pics/noctowl_back_pic.png delete mode 100644 graphics/pokemon/back_pics/nosepass_back_pic.png delete mode 100644 graphics/pokemon/back_pics/numel_back_pic.png delete mode 100644 graphics/pokemon/back_pics/nuzleaf_back_pic.png delete mode 100644 graphics/pokemon/back_pics/octillery_back_pic.png delete mode 100644 graphics/pokemon/back_pics/oddish_back_pic.png delete mode 100644 graphics/pokemon/back_pics/omanyte_back_pic.png delete mode 100644 graphics/pokemon/back_pics/omastar_back_pic.png delete mode 100644 graphics/pokemon/back_pics/onix_back_pic.png delete mode 100644 graphics/pokemon/back_pics/paras_back_pic.png delete mode 100644 graphics/pokemon/back_pics/parasect_back_pic.png delete mode 100644 graphics/pokemon/back_pics/pelipper_back_pic.png delete mode 100644 graphics/pokemon/back_pics/persian_back_pic.png delete mode 100644 graphics/pokemon/back_pics/phanpy_back_pic.png delete mode 100644 graphics/pokemon/back_pics/pichu_back_pic.png delete mode 100644 graphics/pokemon/back_pics/pidgeot_back_pic.png delete mode 100644 graphics/pokemon/back_pics/pidgeotto_back_pic.png delete mode 100644 graphics/pokemon/back_pics/pidgey_back_pic.png delete mode 100644 graphics/pokemon/back_pics/pikachu_back_pic.png delete mode 100644 graphics/pokemon/back_pics/piloswine_back_pic.png delete mode 100644 graphics/pokemon/back_pics/pineco_back_pic.png delete mode 100644 graphics/pokemon/back_pics/pinsir_back_pic.png delete mode 100644 graphics/pokemon/back_pics/plusle_back_pic.png delete mode 100644 graphics/pokemon/back_pics/politoed_back_pic.png delete mode 100644 graphics/pokemon/back_pics/poliwag_back_pic.png delete mode 100644 graphics/pokemon/back_pics/poliwhirl_back_pic.png delete mode 100644 graphics/pokemon/back_pics/poliwrath_back_pic.png delete mode 100644 graphics/pokemon/back_pics/ponyta_back_pic.png delete mode 100644 graphics/pokemon/back_pics/poochyena_back_pic.png delete mode 100644 graphics/pokemon/back_pics/porygon2_back_pic.png delete mode 100644 graphics/pokemon/back_pics/porygon_back_pic.png delete mode 100644 graphics/pokemon/back_pics/primeape_back_pic.png delete mode 100644 graphics/pokemon/back_pics/psyduck_back_pic.png delete mode 100644 graphics/pokemon/back_pics/pupitar_back_pic.png delete mode 100644 graphics/pokemon/back_pics/quagsire_back_pic.png delete mode 100644 graphics/pokemon/back_pics/quilava_back_pic.png delete mode 100644 graphics/pokemon/back_pics/qwilfish_back_pic.png delete mode 100644 graphics/pokemon/back_pics/raichu_back_pic.png delete mode 100644 graphics/pokemon/back_pics/raikou_back_pic.png delete mode 100644 graphics/pokemon/back_pics/ralts_back_pic.png delete mode 100644 graphics/pokemon/back_pics/rapidash_back_pic.png delete mode 100644 graphics/pokemon/back_pics/raticate_back_pic.png delete mode 100644 graphics/pokemon/back_pics/rattata_back_pic.png delete mode 100644 graphics/pokemon/back_pics/rayquaza_back_pic.png delete mode 100644 graphics/pokemon/back_pics/regice_back_pic.png delete mode 100644 graphics/pokemon/back_pics/regirock_back_pic.png delete mode 100644 graphics/pokemon/back_pics/registeel_back_pic.png delete mode 100644 graphics/pokemon/back_pics/relicanth_back_pic.png delete mode 100644 graphics/pokemon/back_pics/remoraid_back_pic.png delete mode 100644 graphics/pokemon/back_pics/rhydon_back_pic.png delete mode 100644 graphics/pokemon/back_pics/rhyhorn_back_pic.png delete mode 100644 graphics/pokemon/back_pics/roselia_back_pic.png delete mode 100644 graphics/pokemon/back_pics/sableye_back_pic.png delete mode 100644 graphics/pokemon/back_pics/salamence_back_pic.png delete mode 100644 graphics/pokemon/back_pics/sandshrew_back_pic.png delete mode 100644 graphics/pokemon/back_pics/sandslash_back_pic.png delete mode 100644 graphics/pokemon/back_pics/sceptile_back_pic.png delete mode 100644 graphics/pokemon/back_pics/scizor_back_pic.png delete mode 100644 graphics/pokemon/back_pics/scyther_back_pic.png delete mode 100644 graphics/pokemon/back_pics/seadra_back_pic.png delete mode 100644 graphics/pokemon/back_pics/seaking_back_pic.png delete mode 100644 graphics/pokemon/back_pics/sealeo_back_pic.png delete mode 100644 graphics/pokemon/back_pics/seedot_back_pic.png delete mode 100644 graphics/pokemon/back_pics/seel_back_pic.png delete mode 100644 graphics/pokemon/back_pics/sentret_back_pic.png delete mode 100644 graphics/pokemon/back_pics/seviper_back_pic.png delete mode 100644 graphics/pokemon/back_pics/sharpedo_back_pic.png delete mode 100644 graphics/pokemon/back_pics/shedinja_back_pic.png delete mode 100644 graphics/pokemon/back_pics/shelgon_back_pic.png delete mode 100644 graphics/pokemon/back_pics/shellder_back_pic.png delete mode 100644 graphics/pokemon/back_pics/shiftry_back_pic.png delete mode 100644 graphics/pokemon/back_pics/shroomish_back_pic.png delete mode 100644 graphics/pokemon/back_pics/shuckle_back_pic.png delete mode 100644 graphics/pokemon/back_pics/shuppet_back_pic.png delete mode 100644 graphics/pokemon/back_pics/silcoon_back_pic.png delete mode 100644 graphics/pokemon/back_pics/skarmory_back_pic.png delete mode 100644 graphics/pokemon/back_pics/skiploom_back_pic.png delete mode 100644 graphics/pokemon/back_pics/skitty_back_pic.png delete mode 100644 graphics/pokemon/back_pics/slaking_back_pic.png delete mode 100644 graphics/pokemon/back_pics/slakoth_back_pic.png delete mode 100644 graphics/pokemon/back_pics/slowbro_back_pic.png delete mode 100644 graphics/pokemon/back_pics/slowking_back_pic.png delete mode 100644 graphics/pokemon/back_pics/slowpoke_back_pic.png delete mode 100644 graphics/pokemon/back_pics/slugma_back_pic.png delete mode 100644 graphics/pokemon/back_pics/smeargle_back_pic.png delete mode 100644 graphics/pokemon/back_pics/smoochum_back_pic.png delete mode 100644 graphics/pokemon/back_pics/sneasel_back_pic.png delete mode 100644 graphics/pokemon/back_pics/snorlax_back_pic.png delete mode 100644 graphics/pokemon/back_pics/snorunt_back_pic.png delete mode 100644 graphics/pokemon/back_pics/snubbull_back_pic.png delete mode 100644 graphics/pokemon/back_pics/solrock_back_pic.png delete mode 100644 graphics/pokemon/back_pics/spearow_back_pic.png delete mode 100644 graphics/pokemon/back_pics/spheal_back_pic.png delete mode 100644 graphics/pokemon/back_pics/spinarak_back_pic.png delete mode 100644 graphics/pokemon/back_pics/spinda_back_pic.png delete mode 100644 graphics/pokemon/back_pics/spoink_back_pic.png delete mode 100644 graphics/pokemon/back_pics/squirtle_back_pic.png delete mode 100644 graphics/pokemon/back_pics/stantler_back_pic.png delete mode 100644 graphics/pokemon/back_pics/starmie_back_pic.png delete mode 100644 graphics/pokemon/back_pics/staryu_back_pic.png delete mode 100644 graphics/pokemon/back_pics/steelix_back_pic.png delete mode 100644 graphics/pokemon/back_pics/sudowoodo_back_pic.png delete mode 100644 graphics/pokemon/back_pics/suicune_back_pic.png delete mode 100644 graphics/pokemon/back_pics/sunflora_back_pic.png delete mode 100644 graphics/pokemon/back_pics/sunkern_back_pic.png delete mode 100644 graphics/pokemon/back_pics/surskit_back_pic.png delete mode 100644 graphics/pokemon/back_pics/swablu_back_pic.png delete mode 100644 graphics/pokemon/back_pics/swalot_back_pic.png delete mode 100644 graphics/pokemon/back_pics/swampert_back_pic.png delete mode 100644 graphics/pokemon/back_pics/swellow_back_pic.png delete mode 100644 graphics/pokemon/back_pics/swinub_back_pic.png delete mode 100644 graphics/pokemon/back_pics/taillow_back_pic.png delete mode 100644 graphics/pokemon/back_pics/tangela_back_pic.png delete mode 100644 graphics/pokemon/back_pics/tauros_back_pic.png delete mode 100644 graphics/pokemon/back_pics/teddiursa_back_pic.png delete mode 100644 graphics/pokemon/back_pics/tentacool_back_pic.png delete mode 100644 graphics/pokemon/back_pics/tentacruel_back_pic.png delete mode 100644 graphics/pokemon/back_pics/togepi_back_pic.png delete mode 100644 graphics/pokemon/back_pics/togetic_back_pic.png delete mode 100644 graphics/pokemon/back_pics/torchic_back_pic.png delete mode 100644 graphics/pokemon/back_pics/torkoal_back_pic.png delete mode 100644 graphics/pokemon/back_pics/totodile_back_pic.png delete mode 100644 graphics/pokemon/back_pics/trapinch_back_pic.png delete mode 100644 graphics/pokemon/back_pics/treecko_back_pic.png delete mode 100644 graphics/pokemon/back_pics/tropius_back_pic.png delete mode 100644 graphics/pokemon/back_pics/typhlosion_back_pic.png delete mode 100644 graphics/pokemon/back_pics/tyranitar_back_pic.png delete mode 100644 graphics/pokemon/back_pics/tyrogue_back_pic.png delete mode 100644 graphics/pokemon/back_pics/umbreon_back_pic.png delete mode 100644 graphics/pokemon/back_pics/unown_a_back_pic.png delete mode 100644 graphics/pokemon/back_pics/unown_b_back_pic.png delete mode 100644 graphics/pokemon/back_pics/unown_c_back_pic.png delete mode 100644 graphics/pokemon/back_pics/unown_d_back_pic.png delete mode 100644 graphics/pokemon/back_pics/unown_e_back_pic.png delete mode 100644 graphics/pokemon/back_pics/unown_exclamation_mark_back_pic.png delete mode 100644 graphics/pokemon/back_pics/unown_f_back_pic.png delete mode 100644 graphics/pokemon/back_pics/unown_g_back_pic.png delete mode 100644 graphics/pokemon/back_pics/unown_h_back_pic.png delete mode 100644 graphics/pokemon/back_pics/unown_i_back_pic.png delete mode 100644 graphics/pokemon/back_pics/unown_j_back_pic.png delete mode 100644 graphics/pokemon/back_pics/unown_k_back_pic.png delete mode 100644 graphics/pokemon/back_pics/unown_l_back_pic.png delete mode 100644 graphics/pokemon/back_pics/unown_m_back_pic.png delete mode 100644 graphics/pokemon/back_pics/unown_n_back_pic.png delete mode 100644 graphics/pokemon/back_pics/unown_o_back_pic.png delete mode 100644 graphics/pokemon/back_pics/unown_p_back_pic.png delete mode 100644 graphics/pokemon/back_pics/unown_q_back_pic.png delete mode 100644 graphics/pokemon/back_pics/unown_question_mark_back_pic.png delete mode 100644 graphics/pokemon/back_pics/unown_r_back_pic.png delete mode 100644 graphics/pokemon/back_pics/unown_s_back_pic.png delete mode 100644 graphics/pokemon/back_pics/unown_t_back_pic.png delete mode 100644 graphics/pokemon/back_pics/unown_u_back_pic.png delete mode 100644 graphics/pokemon/back_pics/unown_v_back_pic.png delete mode 100644 graphics/pokemon/back_pics/unown_w_back_pic.png delete mode 100644 graphics/pokemon/back_pics/unown_x_back_pic.png delete mode 100644 graphics/pokemon/back_pics/unown_y_back_pic.png delete mode 100644 graphics/pokemon/back_pics/unown_z_back_pic.png delete mode 100644 graphics/pokemon/back_pics/ursaring_back_pic.png delete mode 100644 graphics/pokemon/back_pics/vaporeon_back_pic.png delete mode 100644 graphics/pokemon/back_pics/venomoth_back_pic.png delete mode 100644 graphics/pokemon/back_pics/venonat_back_pic.png delete mode 100644 graphics/pokemon/back_pics/venusaur_back_pic.png delete mode 100644 graphics/pokemon/back_pics/vibrava_back_pic.png delete mode 100644 graphics/pokemon/back_pics/victreebel_back_pic.png delete mode 100644 graphics/pokemon/back_pics/vigoroth_back_pic.png delete mode 100644 graphics/pokemon/back_pics/vileplume_back_pic.png delete mode 100644 graphics/pokemon/back_pics/volbeat_back_pic.png delete mode 100644 graphics/pokemon/back_pics/voltorb_back_pic.png delete mode 100644 graphics/pokemon/back_pics/vulpix_back_pic.png delete mode 100644 graphics/pokemon/back_pics/wailmer_back_pic.png delete mode 100644 graphics/pokemon/back_pics/wailord_back_pic.png delete mode 100644 graphics/pokemon/back_pics/walrein_back_pic.png delete mode 100644 graphics/pokemon/back_pics/wartortle_back_pic.png delete mode 100644 graphics/pokemon/back_pics/weedle_back_pic.png delete mode 100644 graphics/pokemon/back_pics/weepinbell_back_pic.png delete mode 100644 graphics/pokemon/back_pics/weezing_back_pic.png delete mode 100644 graphics/pokemon/back_pics/whiscash_back_pic.png delete mode 100644 graphics/pokemon/back_pics/whismur_back_pic.png delete mode 100644 graphics/pokemon/back_pics/wigglytuff_back_pic.png delete mode 100644 graphics/pokemon/back_pics/wingull_back_pic.png delete mode 100644 graphics/pokemon/back_pics/wobbuffet_back_pic.png delete mode 100644 graphics/pokemon/back_pics/wooper_back_pic.png delete mode 100644 graphics/pokemon/back_pics/wurmple_back_pic.png delete mode 100644 graphics/pokemon/back_pics/wynaut_back_pic.png delete mode 100644 graphics/pokemon/back_pics/xatu_back_pic.png delete mode 100644 graphics/pokemon/back_pics/yanma_back_pic.png delete mode 100644 graphics/pokemon/back_pics/zangoose_back_pic.png delete mode 100644 graphics/pokemon/back_pics/zapdos_back_pic.png delete mode 100644 graphics/pokemon/back_pics/zigzagoon_back_pic.png delete mode 100644 graphics/pokemon/back_pics/zubat_back_pic.png create mode 100644 graphics/pokemon/bagon/back.png create mode 100644 graphics/pokemon/bagon/footprint.png create mode 100644 graphics/pokemon/bagon/front.png create mode 100644 graphics/pokemon/bagon/icon.png create mode 100644 graphics/pokemon/bagon/normal.pal create mode 100644 graphics/pokemon/bagon/shiny.pal create mode 100644 graphics/pokemon/baltoy/back.png create mode 100644 graphics/pokemon/baltoy/footprint.png create mode 100644 graphics/pokemon/baltoy/front.png create mode 100644 graphics/pokemon/baltoy/icon.png create mode 100644 graphics/pokemon/baltoy/normal.pal create mode 100644 graphics/pokemon/baltoy/shiny.pal create mode 100644 graphics/pokemon/banette/back.png create mode 100644 graphics/pokemon/banette/footprint.png create mode 100644 graphics/pokemon/banette/front.png create mode 100644 graphics/pokemon/banette/icon.png create mode 100644 graphics/pokemon/banette/normal.pal create mode 100644 graphics/pokemon/banette/shiny.pal create mode 100644 graphics/pokemon/barboach/back.png create mode 100644 graphics/pokemon/barboach/footprint.png create mode 100644 graphics/pokemon/barboach/front.png create mode 100644 graphics/pokemon/barboach/icon.png create mode 100644 graphics/pokemon/barboach/normal.pal create mode 100644 graphics/pokemon/barboach/shiny.pal create mode 100644 graphics/pokemon/bayleef/back.png create mode 100644 graphics/pokemon/bayleef/footprint.png create mode 100644 graphics/pokemon/bayleef/front.png create mode 100644 graphics/pokemon/bayleef/icon.png create mode 100644 graphics/pokemon/bayleef/normal.pal create mode 100644 graphics/pokemon/bayleef/shiny.pal create mode 100644 graphics/pokemon/beautifly/back.png create mode 100644 graphics/pokemon/beautifly/footprint.png create mode 100644 graphics/pokemon/beautifly/front.png create mode 100644 graphics/pokemon/beautifly/icon.png create mode 100644 graphics/pokemon/beautifly/normal.pal create mode 100644 graphics/pokemon/beautifly/shiny.pal create mode 100644 graphics/pokemon/beedrill/back.png create mode 100644 graphics/pokemon/beedrill/footprint.png create mode 100644 graphics/pokemon/beedrill/front.png create mode 100644 graphics/pokemon/beedrill/icon.png create mode 100644 graphics/pokemon/beedrill/normal.pal create mode 100644 graphics/pokemon/beedrill/shiny.pal create mode 100644 graphics/pokemon/beldum/back.png create mode 100644 graphics/pokemon/beldum/footprint.png create mode 100644 graphics/pokemon/beldum/front.png create mode 100644 graphics/pokemon/beldum/icon.png create mode 100644 graphics/pokemon/beldum/normal.pal create mode 100644 graphics/pokemon/beldum/shiny.pal create mode 100644 graphics/pokemon/bellossom/back.png create mode 100644 graphics/pokemon/bellossom/footprint.png create mode 100644 graphics/pokemon/bellossom/front.png create mode 100644 graphics/pokemon/bellossom/icon.png create mode 100644 graphics/pokemon/bellossom/normal.pal create mode 100644 graphics/pokemon/bellossom/shiny.pal create mode 100644 graphics/pokemon/bellsprout/back.png create mode 100644 graphics/pokemon/bellsprout/footprint.png create mode 100644 graphics/pokemon/bellsprout/front.png create mode 100644 graphics/pokemon/bellsprout/icon.png create mode 100644 graphics/pokemon/bellsprout/normal.pal create mode 100644 graphics/pokemon/bellsprout/shiny.pal create mode 100644 graphics/pokemon/blastoise/back.png create mode 100644 graphics/pokemon/blastoise/footprint.png create mode 100644 graphics/pokemon/blastoise/front.png create mode 100644 graphics/pokemon/blastoise/icon.png create mode 100644 graphics/pokemon/blastoise/normal.pal create mode 100644 graphics/pokemon/blastoise/shiny.pal create mode 100644 graphics/pokemon/blaziken/back.png create mode 100644 graphics/pokemon/blaziken/footprint.png create mode 100644 graphics/pokemon/blaziken/front.png create mode 100644 graphics/pokemon/blaziken/icon.png create mode 100644 graphics/pokemon/blaziken/normal.pal create mode 100644 graphics/pokemon/blaziken/shiny.pal create mode 100644 graphics/pokemon/blissey/back.png create mode 100644 graphics/pokemon/blissey/footprint.png create mode 100644 graphics/pokemon/blissey/front.png create mode 100644 graphics/pokemon/blissey/icon.png create mode 100644 graphics/pokemon/blissey/normal.pal create mode 100644 graphics/pokemon/blissey/shiny.pal create mode 100644 graphics/pokemon/breloom/back.png create mode 100644 graphics/pokemon/breloom/footprint.png create mode 100644 graphics/pokemon/breloom/front.png create mode 100644 graphics/pokemon/breloom/icon.png create mode 100644 graphics/pokemon/breloom/normal.pal create mode 100644 graphics/pokemon/breloom/shiny.pal create mode 100644 graphics/pokemon/bulbasaur/back.png create mode 100644 graphics/pokemon/bulbasaur/footprint.png create mode 100644 graphics/pokemon/bulbasaur/front.png create mode 100644 graphics/pokemon/bulbasaur/icon.png create mode 100644 graphics/pokemon/bulbasaur/normal.pal create mode 100644 graphics/pokemon/bulbasaur/shiny.pal create mode 100644 graphics/pokemon/butterfree/back.png create mode 100644 graphics/pokemon/butterfree/footprint.png create mode 100644 graphics/pokemon/butterfree/front.png create mode 100644 graphics/pokemon/butterfree/icon.png create mode 100644 graphics/pokemon/butterfree/normal.pal create mode 100644 graphics/pokemon/butterfree/shiny.pal create mode 100644 graphics/pokemon/cacnea/back.png create mode 100644 graphics/pokemon/cacnea/footprint.png create mode 100644 graphics/pokemon/cacnea/front.png create mode 100644 graphics/pokemon/cacnea/icon.png create mode 100644 graphics/pokemon/cacnea/normal.pal create mode 100644 graphics/pokemon/cacnea/shiny.pal create mode 100644 graphics/pokemon/cacturne/back.png create mode 100644 graphics/pokemon/cacturne/footprint.png create mode 100644 graphics/pokemon/cacturne/front.png create mode 100644 graphics/pokemon/cacturne/icon.png create mode 100644 graphics/pokemon/cacturne/normal.pal create mode 100644 graphics/pokemon/cacturne/shiny.pal create mode 100644 graphics/pokemon/camerupt/back.png create mode 100644 graphics/pokemon/camerupt/footprint.png create mode 100644 graphics/pokemon/camerupt/front.png create mode 100644 graphics/pokemon/camerupt/icon.png create mode 100644 graphics/pokemon/camerupt/normal.pal create mode 100644 graphics/pokemon/camerupt/shiny.pal create mode 100644 graphics/pokemon/carvanha/back.png create mode 100644 graphics/pokemon/carvanha/footprint.png create mode 100644 graphics/pokemon/carvanha/front.png create mode 100644 graphics/pokemon/carvanha/icon.png create mode 100644 graphics/pokemon/carvanha/normal.pal create mode 100644 graphics/pokemon/carvanha/shiny.pal create mode 100644 graphics/pokemon/cascoon/back.png create mode 100644 graphics/pokemon/cascoon/footprint.png create mode 100644 graphics/pokemon/cascoon/front.png create mode 100644 graphics/pokemon/cascoon/icon.png create mode 100644 graphics/pokemon/cascoon/normal.pal create mode 100644 graphics/pokemon/cascoon/shiny.pal create mode 100644 graphics/pokemon/castform/footprint.png create mode 100644 graphics/pokemon/castform/icon.png create mode 100644 graphics/pokemon/castform/normal/back.png create mode 100644 graphics/pokemon/castform/normal/front.png create mode 100644 graphics/pokemon/castform/normal/normal.pal create mode 100644 graphics/pokemon/castform/normal/shiny.pal create mode 100644 graphics/pokemon/castform/rainy/back.png create mode 100644 graphics/pokemon/castform/rainy/front.png create mode 100644 graphics/pokemon/castform/rainy/normal.pal create mode 100644 graphics/pokemon/castform/rainy/shiny.pal create mode 100644 graphics/pokemon/castform/snowy/back.png create mode 100644 graphics/pokemon/castform/snowy/front.png create mode 100644 graphics/pokemon/castform/snowy/normal.pal create mode 100644 graphics/pokemon/castform/snowy/shiny.pal create mode 100644 graphics/pokemon/castform/sunny/back.png create mode 100644 graphics/pokemon/castform/sunny/front.png create mode 100644 graphics/pokemon/castform/sunny/normal.pal create mode 100644 graphics/pokemon/castform/sunny/shiny.pal create mode 100644 graphics/pokemon/caterpie/back.png create mode 100644 graphics/pokemon/caterpie/footprint.png create mode 100644 graphics/pokemon/caterpie/front.png create mode 100644 graphics/pokemon/caterpie/icon.png create mode 100644 graphics/pokemon/caterpie/normal.pal create mode 100644 graphics/pokemon/caterpie/shiny.pal create mode 100644 graphics/pokemon/celebi/back.png create mode 100644 graphics/pokemon/celebi/footprint.png create mode 100644 graphics/pokemon/celebi/front.png create mode 100644 graphics/pokemon/celebi/icon.png create mode 100644 graphics/pokemon/celebi/normal.pal create mode 100644 graphics/pokemon/celebi/shiny.pal create mode 100644 graphics/pokemon/chansey/back.png create mode 100644 graphics/pokemon/chansey/footprint.png create mode 100644 graphics/pokemon/chansey/front.png create mode 100644 graphics/pokemon/chansey/icon.png create mode 100644 graphics/pokemon/chansey/normal.pal create mode 100644 graphics/pokemon/chansey/shiny.pal create mode 100644 graphics/pokemon/charizard/back.png create mode 100644 graphics/pokemon/charizard/footprint.png create mode 100644 graphics/pokemon/charizard/front.png create mode 100644 graphics/pokemon/charizard/icon.png create mode 100644 graphics/pokemon/charizard/normal.pal create mode 100644 graphics/pokemon/charizard/shiny.pal create mode 100644 graphics/pokemon/charmander/back.png create mode 100644 graphics/pokemon/charmander/footprint.png create mode 100644 graphics/pokemon/charmander/front.png create mode 100644 graphics/pokemon/charmander/icon.png create mode 100644 graphics/pokemon/charmander/normal.pal create mode 100644 graphics/pokemon/charmander/shiny.pal create mode 100644 graphics/pokemon/charmeleon/back.png create mode 100644 graphics/pokemon/charmeleon/footprint.png create mode 100644 graphics/pokemon/charmeleon/front.png create mode 100644 graphics/pokemon/charmeleon/icon.png create mode 100644 graphics/pokemon/charmeleon/normal.pal create mode 100644 graphics/pokemon/charmeleon/shiny.pal create mode 100644 graphics/pokemon/chikorita/back.png create mode 100644 graphics/pokemon/chikorita/footprint.png create mode 100644 graphics/pokemon/chikorita/front.png create mode 100644 graphics/pokemon/chikorita/icon.png create mode 100644 graphics/pokemon/chikorita/normal.pal create mode 100644 graphics/pokemon/chikorita/shiny.pal create mode 100644 graphics/pokemon/chimecho/back.png create mode 100644 graphics/pokemon/chimecho/footprint.png create mode 100644 graphics/pokemon/chimecho/front.png create mode 100644 graphics/pokemon/chimecho/icon.png create mode 100644 graphics/pokemon/chimecho/normal.pal create mode 100644 graphics/pokemon/chimecho/shiny.pal create mode 100644 graphics/pokemon/chinchou/back.png create mode 100644 graphics/pokemon/chinchou/footprint.png create mode 100644 graphics/pokemon/chinchou/front.png create mode 100644 graphics/pokemon/chinchou/icon.png create mode 100644 graphics/pokemon/chinchou/normal.pal create mode 100644 graphics/pokemon/chinchou/shiny.pal create mode 100644 graphics/pokemon/clamperl/back.png create mode 100644 graphics/pokemon/clamperl/footprint.png create mode 100644 graphics/pokemon/clamperl/front.png create mode 100644 graphics/pokemon/clamperl/icon.png create mode 100644 graphics/pokemon/clamperl/normal.pal create mode 100644 graphics/pokemon/clamperl/shiny.pal create mode 100644 graphics/pokemon/claydol/back.png create mode 100644 graphics/pokemon/claydol/footprint.png create mode 100644 graphics/pokemon/claydol/front.png create mode 100644 graphics/pokemon/claydol/icon.png create mode 100644 graphics/pokemon/claydol/normal.pal create mode 100644 graphics/pokemon/claydol/shiny.pal create mode 100644 graphics/pokemon/clefable/back.png create mode 100644 graphics/pokemon/clefable/footprint.png create mode 100644 graphics/pokemon/clefable/front.png create mode 100644 graphics/pokemon/clefable/icon.png create mode 100644 graphics/pokemon/clefable/normal.pal create mode 100644 graphics/pokemon/clefable/shiny.pal create mode 100644 graphics/pokemon/clefairy/back.png create mode 100644 graphics/pokemon/clefairy/footprint.png create mode 100644 graphics/pokemon/clefairy/front.png create mode 100644 graphics/pokemon/clefairy/icon.png create mode 100644 graphics/pokemon/clefairy/normal.pal create mode 100644 graphics/pokemon/clefairy/shiny.pal create mode 100644 graphics/pokemon/cleffa/back.png create mode 100644 graphics/pokemon/cleffa/footprint.png create mode 100644 graphics/pokemon/cleffa/front.png create mode 100644 graphics/pokemon/cleffa/icon.png create mode 100644 graphics/pokemon/cleffa/normal.pal create mode 100644 graphics/pokemon/cleffa/shiny.pal create mode 100644 graphics/pokemon/cloyster/back.png create mode 100644 graphics/pokemon/cloyster/footprint.png create mode 100644 graphics/pokemon/cloyster/front.png create mode 100644 graphics/pokemon/cloyster/icon.png create mode 100644 graphics/pokemon/cloyster/normal.pal create mode 100644 graphics/pokemon/cloyster/shiny.pal create mode 100644 graphics/pokemon/combusken/back.png create mode 100644 graphics/pokemon/combusken/footprint.png create mode 100644 graphics/pokemon/combusken/front.png create mode 100644 graphics/pokemon/combusken/icon.png create mode 100644 graphics/pokemon/combusken/normal.pal create mode 100644 graphics/pokemon/combusken/shiny.pal create mode 100644 graphics/pokemon/corphish/back.png create mode 100644 graphics/pokemon/corphish/footprint.png create mode 100644 graphics/pokemon/corphish/front.png create mode 100644 graphics/pokemon/corphish/icon.png create mode 100644 graphics/pokemon/corphish/normal.pal create mode 100644 graphics/pokemon/corphish/shiny.pal create mode 100644 graphics/pokemon/corsola/back.png create mode 100644 graphics/pokemon/corsola/footprint.png create mode 100644 graphics/pokemon/corsola/front.png create mode 100644 graphics/pokemon/corsola/icon.png create mode 100644 graphics/pokemon/corsola/normal.pal create mode 100644 graphics/pokemon/corsola/shiny.pal create mode 100644 graphics/pokemon/cradily/back.png create mode 100644 graphics/pokemon/cradily/footprint.png create mode 100644 graphics/pokemon/cradily/front.png create mode 100644 graphics/pokemon/cradily/icon.png create mode 100644 graphics/pokemon/cradily/normal.pal create mode 100644 graphics/pokemon/cradily/shiny.pal create mode 100644 graphics/pokemon/crawdaunt/back.png create mode 100644 graphics/pokemon/crawdaunt/footprint.png create mode 100644 graphics/pokemon/crawdaunt/front.png create mode 100644 graphics/pokemon/crawdaunt/icon.png create mode 100644 graphics/pokemon/crawdaunt/normal.pal create mode 100644 graphics/pokemon/crawdaunt/shiny.pal create mode 100644 graphics/pokemon/crobat/back.png create mode 100644 graphics/pokemon/crobat/footprint.png create mode 100644 graphics/pokemon/crobat/front.png create mode 100644 graphics/pokemon/crobat/icon.png create mode 100644 graphics/pokemon/crobat/normal.pal create mode 100644 graphics/pokemon/crobat/shiny.pal create mode 100644 graphics/pokemon/croconaw/back.png create mode 100644 graphics/pokemon/croconaw/footprint.png create mode 100644 graphics/pokemon/croconaw/front.png create mode 100644 graphics/pokemon/croconaw/icon.png create mode 100644 graphics/pokemon/croconaw/normal.pal create mode 100644 graphics/pokemon/croconaw/shiny.pal create mode 100644 graphics/pokemon/cubone/back.png create mode 100644 graphics/pokemon/cubone/footprint.png create mode 100644 graphics/pokemon/cubone/front.png create mode 100644 graphics/pokemon/cubone/icon.png create mode 100644 graphics/pokemon/cubone/normal.pal create mode 100644 graphics/pokemon/cubone/shiny.pal create mode 100644 graphics/pokemon/cyndaquil/back.png create mode 100644 graphics/pokemon/cyndaquil/footprint.png create mode 100644 graphics/pokemon/cyndaquil/front.png create mode 100644 graphics/pokemon/cyndaquil/icon.png create mode 100644 graphics/pokemon/cyndaquil/normal.pal create mode 100644 graphics/pokemon/cyndaquil/shiny.pal create mode 100644 graphics/pokemon/delcatty/back.png create mode 100644 graphics/pokemon/delcatty/footprint.png create mode 100644 graphics/pokemon/delcatty/front.png create mode 100644 graphics/pokemon/delcatty/icon.png create mode 100644 graphics/pokemon/delcatty/normal.pal create mode 100644 graphics/pokemon/delcatty/shiny.pal create mode 100644 graphics/pokemon/delibird/back.png create mode 100644 graphics/pokemon/delibird/footprint.png create mode 100644 graphics/pokemon/delibird/front.png create mode 100644 graphics/pokemon/delibird/icon.png create mode 100644 graphics/pokemon/delibird/normal.pal create mode 100644 graphics/pokemon/delibird/shiny.pal create mode 100644 graphics/pokemon/deoxys/back.png create mode 100644 graphics/pokemon/deoxys/footprint.png create mode 100644 graphics/pokemon/deoxys/front.png create mode 100644 graphics/pokemon/deoxys/icon.png create mode 100644 graphics/pokemon/deoxys/normal.pal create mode 100644 graphics/pokemon/deoxys/shiny.pal create mode 100644 graphics/pokemon/deoxys/speed_icon.png create mode 100644 graphics/pokemon/dewgong/back.png create mode 100644 graphics/pokemon/dewgong/footprint.png create mode 100644 graphics/pokemon/dewgong/front.png create mode 100644 graphics/pokemon/dewgong/icon.png create mode 100644 graphics/pokemon/dewgong/normal.pal create mode 100644 graphics/pokemon/dewgong/shiny.pal create mode 100644 graphics/pokemon/diglett/back.png create mode 100644 graphics/pokemon/diglett/footprint.png create mode 100644 graphics/pokemon/diglett/front.png create mode 100644 graphics/pokemon/diglett/icon.png create mode 100644 graphics/pokemon/diglett/normal.pal create mode 100644 graphics/pokemon/diglett/shiny.pal create mode 100644 graphics/pokemon/ditto/back.png create mode 100644 graphics/pokemon/ditto/footprint.png create mode 100644 graphics/pokemon/ditto/front.png create mode 100644 graphics/pokemon/ditto/icon.png create mode 100644 graphics/pokemon/ditto/normal.pal create mode 100644 graphics/pokemon/ditto/shiny.pal create mode 100644 graphics/pokemon/dodrio/back.png create mode 100644 graphics/pokemon/dodrio/footprint.png create mode 100644 graphics/pokemon/dodrio/front.png create mode 100644 graphics/pokemon/dodrio/icon.png create mode 100644 graphics/pokemon/dodrio/normal.pal create mode 100644 graphics/pokemon/dodrio/shiny.pal create mode 100644 graphics/pokemon/doduo/back.png create mode 100644 graphics/pokemon/doduo/footprint.png create mode 100644 graphics/pokemon/doduo/front.png create mode 100644 graphics/pokemon/doduo/icon.png create mode 100644 graphics/pokemon/doduo/normal.pal create mode 100644 graphics/pokemon/doduo/shiny.pal create mode 100644 graphics/pokemon/donphan/back.png create mode 100644 graphics/pokemon/donphan/footprint.png create mode 100644 graphics/pokemon/donphan/front.png create mode 100644 graphics/pokemon/donphan/icon.png create mode 100644 graphics/pokemon/donphan/normal.pal create mode 100644 graphics/pokemon/donphan/shiny.pal create mode 100644 graphics/pokemon/dragonair/back.png create mode 100644 graphics/pokemon/dragonair/footprint.png create mode 100644 graphics/pokemon/dragonair/front.png create mode 100644 graphics/pokemon/dragonair/icon.png create mode 100644 graphics/pokemon/dragonair/normal.pal create mode 100644 graphics/pokemon/dragonair/shiny.pal create mode 100644 graphics/pokemon/dragonite/back.png create mode 100644 graphics/pokemon/dragonite/footprint.png create mode 100644 graphics/pokemon/dragonite/front.png create mode 100644 graphics/pokemon/dragonite/icon.png create mode 100644 graphics/pokemon/dragonite/normal.pal create mode 100644 graphics/pokemon/dragonite/shiny.pal create mode 100644 graphics/pokemon/dratini/back.png create mode 100644 graphics/pokemon/dratini/footprint.png create mode 100644 graphics/pokemon/dratini/front.png create mode 100644 graphics/pokemon/dratini/icon.png create mode 100644 graphics/pokemon/dratini/normal.pal create mode 100644 graphics/pokemon/dratini/shiny.pal create mode 100644 graphics/pokemon/drowzee/back.png create mode 100644 graphics/pokemon/drowzee/footprint.png create mode 100644 graphics/pokemon/drowzee/front.png create mode 100644 graphics/pokemon/drowzee/icon.png create mode 100644 graphics/pokemon/drowzee/normal.pal create mode 100644 graphics/pokemon/drowzee/shiny.pal create mode 100644 graphics/pokemon/dugtrio/back.png create mode 100644 graphics/pokemon/dugtrio/footprint.png create mode 100644 graphics/pokemon/dugtrio/front.png create mode 100644 graphics/pokemon/dugtrio/icon.png create mode 100644 graphics/pokemon/dugtrio/normal.pal create mode 100644 graphics/pokemon/dugtrio/shiny.pal create mode 100644 graphics/pokemon/dunsparce/back.png create mode 100644 graphics/pokemon/dunsparce/footprint.png create mode 100644 graphics/pokemon/dunsparce/front.png create mode 100644 graphics/pokemon/dunsparce/icon.png create mode 100644 graphics/pokemon/dunsparce/normal.pal create mode 100644 graphics/pokemon/dunsparce/shiny.pal create mode 100644 graphics/pokemon/dusclops/back.png create mode 100644 graphics/pokemon/dusclops/footprint.png create mode 100644 graphics/pokemon/dusclops/front.png create mode 100644 graphics/pokemon/dusclops/icon.png create mode 100644 graphics/pokemon/dusclops/normal.pal create mode 100644 graphics/pokemon/dusclops/shiny.pal create mode 100644 graphics/pokemon/duskull/back.png create mode 100644 graphics/pokemon/duskull/footprint.png create mode 100644 graphics/pokemon/duskull/front.png create mode 100644 graphics/pokemon/duskull/icon.png create mode 100644 graphics/pokemon/duskull/normal.pal create mode 100644 graphics/pokemon/duskull/shiny.pal create mode 100644 graphics/pokemon/dustox/back.png create mode 100644 graphics/pokemon/dustox/footprint.png create mode 100644 graphics/pokemon/dustox/front.png create mode 100644 graphics/pokemon/dustox/icon.png create mode 100644 graphics/pokemon/dustox/normal.pal create mode 100644 graphics/pokemon/dustox/shiny.pal create mode 100644 graphics/pokemon/eevee/back.png create mode 100644 graphics/pokemon/eevee/footprint.png create mode 100644 graphics/pokemon/eevee/front.png create mode 100644 graphics/pokemon/eevee/icon.png create mode 100644 graphics/pokemon/eevee/normal.pal create mode 100644 graphics/pokemon/eevee/shiny.pal create mode 100644 graphics/pokemon/egg/front.png create mode 100644 graphics/pokemon/egg/icon.png create mode 100644 graphics/pokemon/egg/normal.pal create mode 100644 graphics/pokemon/ekans/back.png create mode 100644 graphics/pokemon/ekans/footprint.png create mode 100644 graphics/pokemon/ekans/front.png create mode 100644 graphics/pokemon/ekans/icon.png create mode 100644 graphics/pokemon/ekans/normal.pal create mode 100644 graphics/pokemon/ekans/shiny.pal create mode 100644 graphics/pokemon/electabuzz/back.png create mode 100644 graphics/pokemon/electabuzz/footprint.png create mode 100644 graphics/pokemon/electabuzz/front.png create mode 100644 graphics/pokemon/electabuzz/icon.png create mode 100644 graphics/pokemon/electabuzz/normal.pal create mode 100644 graphics/pokemon/electabuzz/shiny.pal create mode 100644 graphics/pokemon/electrike/back.png create mode 100644 graphics/pokemon/electrike/footprint.png create mode 100644 graphics/pokemon/electrike/front.png create mode 100644 graphics/pokemon/electrike/icon.png create mode 100644 graphics/pokemon/electrike/normal.pal create mode 100644 graphics/pokemon/electrike/shiny.pal create mode 100644 graphics/pokemon/electrode/back.png create mode 100644 graphics/pokemon/electrode/footprint.png create mode 100644 graphics/pokemon/electrode/front.png create mode 100644 graphics/pokemon/electrode/icon.png create mode 100644 graphics/pokemon/electrode/normal.pal create mode 100644 graphics/pokemon/electrode/shiny.pal create mode 100644 graphics/pokemon/elekid/back.png create mode 100644 graphics/pokemon/elekid/footprint.png create mode 100644 graphics/pokemon/elekid/front.png create mode 100644 graphics/pokemon/elekid/icon.png create mode 100644 graphics/pokemon/elekid/normal.pal create mode 100644 graphics/pokemon/elekid/shiny.pal create mode 100644 graphics/pokemon/entei/back.png create mode 100644 graphics/pokemon/entei/footprint.png create mode 100644 graphics/pokemon/entei/front.png create mode 100644 graphics/pokemon/entei/icon.png create mode 100644 graphics/pokemon/entei/normal.pal create mode 100644 graphics/pokemon/entei/shiny.pal create mode 100644 graphics/pokemon/espeon/back.png create mode 100644 graphics/pokemon/espeon/footprint.png create mode 100644 graphics/pokemon/espeon/front.png create mode 100644 graphics/pokemon/espeon/icon.png create mode 100644 graphics/pokemon/espeon/normal.pal create mode 100644 graphics/pokemon/espeon/shiny.pal create mode 100644 graphics/pokemon/exeggcute/back.png create mode 100644 graphics/pokemon/exeggcute/footprint.png create mode 100644 graphics/pokemon/exeggcute/front.png create mode 100644 graphics/pokemon/exeggcute/icon.png create mode 100644 graphics/pokemon/exeggcute/normal.pal create mode 100644 graphics/pokemon/exeggcute/shiny.pal create mode 100644 graphics/pokemon/exeggutor/back.png create mode 100644 graphics/pokemon/exeggutor/footprint.png create mode 100644 graphics/pokemon/exeggutor/front.png create mode 100644 graphics/pokemon/exeggutor/icon.png create mode 100644 graphics/pokemon/exeggutor/normal.pal create mode 100644 graphics/pokemon/exeggutor/shiny.pal create mode 100644 graphics/pokemon/exploud/back.png create mode 100644 graphics/pokemon/exploud/footprint.png create mode 100644 graphics/pokemon/exploud/front.png create mode 100644 graphics/pokemon/exploud/icon.png create mode 100644 graphics/pokemon/exploud/normal.pal create mode 100644 graphics/pokemon/exploud/shiny.pal create mode 100644 graphics/pokemon/farfetch_d/back.png create mode 100644 graphics/pokemon/farfetch_d/footprint.png create mode 100644 graphics/pokemon/farfetch_d/front.png create mode 100644 graphics/pokemon/farfetch_d/icon.png create mode 100644 graphics/pokemon/farfetch_d/normal.pal create mode 100644 graphics/pokemon/farfetch_d/shiny.pal create mode 100644 graphics/pokemon/fearow/back.png create mode 100644 graphics/pokemon/fearow/footprint.png create mode 100644 graphics/pokemon/fearow/front.png create mode 100644 graphics/pokemon/fearow/icon.png create mode 100644 graphics/pokemon/fearow/normal.pal create mode 100644 graphics/pokemon/fearow/shiny.pal create mode 100644 graphics/pokemon/feebas/back.png create mode 100644 graphics/pokemon/feebas/footprint.png create mode 100644 graphics/pokemon/feebas/front.png create mode 100644 graphics/pokemon/feebas/icon.png create mode 100644 graphics/pokemon/feebas/normal.pal create mode 100644 graphics/pokemon/feebas/shiny.pal create mode 100644 graphics/pokemon/feraligatr/back.png create mode 100644 graphics/pokemon/feraligatr/footprint.png create mode 100644 graphics/pokemon/feraligatr/front.png create mode 100644 graphics/pokemon/feraligatr/icon.png create mode 100644 graphics/pokemon/feraligatr/normal.pal create mode 100644 graphics/pokemon/feraligatr/shiny.pal create mode 100644 graphics/pokemon/flaaffy/back.png create mode 100644 graphics/pokemon/flaaffy/footprint.png create mode 100644 graphics/pokemon/flaaffy/front.png create mode 100644 graphics/pokemon/flaaffy/icon.png create mode 100644 graphics/pokemon/flaaffy/normal.pal create mode 100644 graphics/pokemon/flaaffy/shiny.pal create mode 100644 graphics/pokemon/flareon/back.png create mode 100644 graphics/pokemon/flareon/footprint.png create mode 100644 graphics/pokemon/flareon/front.png create mode 100644 graphics/pokemon/flareon/icon.png create mode 100644 graphics/pokemon/flareon/normal.pal create mode 100644 graphics/pokemon/flareon/shiny.pal create mode 100644 graphics/pokemon/flygon/back.png create mode 100644 graphics/pokemon/flygon/footprint.png create mode 100644 graphics/pokemon/flygon/front.png create mode 100644 graphics/pokemon/flygon/icon.png create mode 100644 graphics/pokemon/flygon/normal.pal create mode 100644 graphics/pokemon/flygon/shiny.pal delete mode 100644 graphics/pokemon/footprints/abra_footprint.png delete mode 100644 graphics/pokemon/footprints/absol_footprint.png delete mode 100644 graphics/pokemon/footprints/aerodactyl_footprint.png delete mode 100644 graphics/pokemon/footprints/aggron_footprint.png delete mode 100644 graphics/pokemon/footprints/aipom_footprint.png delete mode 100644 graphics/pokemon/footprints/alakazam_footprint.png delete mode 100644 graphics/pokemon/footprints/altaria_footprint.png delete mode 100644 graphics/pokemon/footprints/ampharos_footprint.png delete mode 100644 graphics/pokemon/footprints/anorith_footprint.png delete mode 100644 graphics/pokemon/footprints/arbok_footprint.png delete mode 100644 graphics/pokemon/footprints/arcanine_footprint.png delete mode 100644 graphics/pokemon/footprints/ariados_footprint.png delete mode 100644 graphics/pokemon/footprints/armaldo_footprint.png delete mode 100644 graphics/pokemon/footprints/aron_footprint.png delete mode 100644 graphics/pokemon/footprints/articuno_footprint.png delete mode 100644 graphics/pokemon/footprints/azumarill_footprint.png delete mode 100644 graphics/pokemon/footprints/azurill_footprint.png delete mode 100644 graphics/pokemon/footprints/bagon_footprint.png delete mode 100644 graphics/pokemon/footprints/baltoy_footprint.png delete mode 100644 graphics/pokemon/footprints/banette_footprint.png delete mode 100644 graphics/pokemon/footprints/barboach_footprint.png delete mode 100644 graphics/pokemon/footprints/bayleef_footprint.png delete mode 100644 graphics/pokemon/footprints/beautifly_footprint.png delete mode 100644 graphics/pokemon/footprints/beedrill_footprint.png delete mode 100644 graphics/pokemon/footprints/beldum_footprint.png delete mode 100644 graphics/pokemon/footprints/bellossom_footprint.png delete mode 100644 graphics/pokemon/footprints/bellsprout_footprint.png delete mode 100644 graphics/pokemon/footprints/blastoise_footprint.png delete mode 100644 graphics/pokemon/footprints/blaziken_footprint.png delete mode 100644 graphics/pokemon/footprints/blissey_footprint.png delete mode 100644 graphics/pokemon/footprints/breloom_footprint.png delete mode 100644 graphics/pokemon/footprints/bulbasaur_footprint.png delete mode 100644 graphics/pokemon/footprints/butterfree_footprint.png delete mode 100644 graphics/pokemon/footprints/cacnea_footprint.png delete mode 100644 graphics/pokemon/footprints/cacturne_footprint.png delete mode 100644 graphics/pokemon/footprints/camerupt_footprint.png delete mode 100644 graphics/pokemon/footprints/carvanha_footprint.png delete mode 100644 graphics/pokemon/footprints/cascoon_footprint.png delete mode 100644 graphics/pokemon/footprints/castform_footprint.png delete mode 100644 graphics/pokemon/footprints/caterpie_footprint.png delete mode 100644 graphics/pokemon/footprints/celebi_footprint.png delete mode 100644 graphics/pokemon/footprints/chansey_footprint.png delete mode 100644 graphics/pokemon/footprints/charizard_footprint.png delete mode 100644 graphics/pokemon/footprints/charmander_footprint.png delete mode 100644 graphics/pokemon/footprints/charmeleon_footprint.png delete mode 100644 graphics/pokemon/footprints/chikorita_footprint.png delete mode 100644 graphics/pokemon/footprints/chimecho_footprint.png delete mode 100644 graphics/pokemon/footprints/chinchou_footprint.png delete mode 100644 graphics/pokemon/footprints/clamperl_footprint.png delete mode 100644 graphics/pokemon/footprints/claydol_footprint.png delete mode 100644 graphics/pokemon/footprints/clefable_footprint.png delete mode 100644 graphics/pokemon/footprints/clefairy_footprint.png delete mode 100644 graphics/pokemon/footprints/cleffa_footprint.png delete mode 100644 graphics/pokemon/footprints/cloyster_footprint.png delete mode 100644 graphics/pokemon/footprints/combusken_footprint.png delete mode 100644 graphics/pokemon/footprints/corphish_footprint.png delete mode 100644 graphics/pokemon/footprints/corsola_footprint.png delete mode 100644 graphics/pokemon/footprints/cradily_footprint.png delete mode 100644 graphics/pokemon/footprints/crawdaunt_footprint.png delete mode 100644 graphics/pokemon/footprints/crobat_footprint.png delete mode 100644 graphics/pokemon/footprints/croconaw_footprint.png delete mode 100644 graphics/pokemon/footprints/cubone_footprint.png delete mode 100644 graphics/pokemon/footprints/cyndaquil_footprint.png delete mode 100644 graphics/pokemon/footprints/delcatty_footprint.png delete mode 100644 graphics/pokemon/footprints/delibird_footprint.png delete mode 100644 graphics/pokemon/footprints/deoxys_footprint.png delete mode 100644 graphics/pokemon/footprints/dewgong_footprint.png delete mode 100644 graphics/pokemon/footprints/diglett_footprint.png delete mode 100644 graphics/pokemon/footprints/ditto_footprint.png delete mode 100644 graphics/pokemon/footprints/dodrio_footprint.png delete mode 100644 graphics/pokemon/footprints/doduo_footprint.png delete mode 100644 graphics/pokemon/footprints/donphan_footprint.png delete mode 100644 graphics/pokemon/footprints/dragonair_footprint.png delete mode 100644 graphics/pokemon/footprints/dragonite_footprint.png delete mode 100644 graphics/pokemon/footprints/dratini_footprint.png delete mode 100644 graphics/pokemon/footprints/drowzee_footprint.png delete mode 100644 graphics/pokemon/footprints/dugtrio_footprint.png delete mode 100644 graphics/pokemon/footprints/dunsparce_footprint.png delete mode 100644 graphics/pokemon/footprints/dusclops_footprint.png delete mode 100644 graphics/pokemon/footprints/duskull_footprint.png delete mode 100644 graphics/pokemon/footprints/dustox_footprint.png delete mode 100644 graphics/pokemon/footprints/eevee_footprint.png delete mode 100644 graphics/pokemon/footprints/ekans_footprint.png delete mode 100644 graphics/pokemon/footprints/electabuzz_footprint.png delete mode 100644 graphics/pokemon/footprints/electrike_footprint.png delete mode 100644 graphics/pokemon/footprints/electrode_footprint.png delete mode 100644 graphics/pokemon/footprints/elekid_footprint.png delete mode 100644 graphics/pokemon/footprints/entei_footprint.png delete mode 100644 graphics/pokemon/footprints/espeon_footprint.png delete mode 100644 graphics/pokemon/footprints/exeggcute_footprint.png delete mode 100644 graphics/pokemon/footprints/exeggutor_footprint.png delete mode 100644 graphics/pokemon/footprints/exploud_footprint.png delete mode 100644 graphics/pokemon/footprints/farfetch_d_footprint.png delete mode 100644 graphics/pokemon/footprints/fearow_footprint.png delete mode 100644 graphics/pokemon/footprints/feebas_footprint.png delete mode 100644 graphics/pokemon/footprints/feraligatr_footprint.png delete mode 100644 graphics/pokemon/footprints/flaaffy_footprint.png delete mode 100644 graphics/pokemon/footprints/flareon_footprint.png delete mode 100644 graphics/pokemon/footprints/flygon_footprint.png delete mode 100644 graphics/pokemon/footprints/forretress_footprint.png delete mode 100644 graphics/pokemon/footprints/furret_footprint.png delete mode 100644 graphics/pokemon/footprints/gardevoir_footprint.png delete mode 100644 graphics/pokemon/footprints/gastly_footprint.png delete mode 100644 graphics/pokemon/footprints/gengar_footprint.png delete mode 100644 graphics/pokemon/footprints/geodude_footprint.png delete mode 100644 graphics/pokemon/footprints/girafarig_footprint.png delete mode 100644 graphics/pokemon/footprints/glalie_footprint.png delete mode 100644 graphics/pokemon/footprints/gligar_footprint.png delete mode 100644 graphics/pokemon/footprints/gloom_footprint.png delete mode 100644 graphics/pokemon/footprints/golbat_footprint.png delete mode 100644 graphics/pokemon/footprints/goldeen_footprint.png delete mode 100644 graphics/pokemon/footprints/golduck_footprint.png delete mode 100644 graphics/pokemon/footprints/golem_footprint.png delete mode 100644 graphics/pokemon/footprints/gorebyss_footprint.png delete mode 100644 graphics/pokemon/footprints/granbull_footprint.png delete mode 100644 graphics/pokemon/footprints/graveler_footprint.png delete mode 100644 graphics/pokemon/footprints/grimer_footprint.png delete mode 100644 graphics/pokemon/footprints/groudon_footprint.png delete mode 100644 graphics/pokemon/footprints/grovyle_footprint.png delete mode 100644 graphics/pokemon/footprints/growlithe_footprint.png delete mode 100644 graphics/pokemon/footprints/grumpig_footprint.png delete mode 100644 graphics/pokemon/footprints/gulpin_footprint.png delete mode 100644 graphics/pokemon/footprints/gyarados_footprint.png delete mode 100644 graphics/pokemon/footprints/hariyama_footprint.png delete mode 100644 graphics/pokemon/footprints/haunter_footprint.png delete mode 100644 graphics/pokemon/footprints/heracross_footprint.png delete mode 100644 graphics/pokemon/footprints/hitmonchan_footprint.png delete mode 100644 graphics/pokemon/footprints/hitmonlee_footprint.png delete mode 100644 graphics/pokemon/footprints/hitmontop_footprint.png delete mode 100644 graphics/pokemon/footprints/ho_oh_footprint.png delete mode 100644 graphics/pokemon/footprints/hoothoot_footprint.png delete mode 100644 graphics/pokemon/footprints/hoppip_footprint.png delete mode 100644 graphics/pokemon/footprints/horsea_footprint.png delete mode 100644 graphics/pokemon/footprints/houndoom_footprint.png delete mode 100644 graphics/pokemon/footprints/houndour_footprint.png delete mode 100644 graphics/pokemon/footprints/huntail_footprint.png delete mode 100644 graphics/pokemon/footprints/hypno_footprint.png delete mode 100644 graphics/pokemon/footprints/igglybuff_footprint.png delete mode 100644 graphics/pokemon/footprints/illumise_footprint.png delete mode 100644 graphics/pokemon/footprints/ivysaur_footprint.png delete mode 100644 graphics/pokemon/footprints/jigglypuff_footprint.png delete mode 100644 graphics/pokemon/footprints/jirachi_footprint.png delete mode 100644 graphics/pokemon/footprints/jolteon_footprint.png delete mode 100644 graphics/pokemon/footprints/jumpluff_footprint.png delete mode 100644 graphics/pokemon/footprints/jynx_footprint.png delete mode 100644 graphics/pokemon/footprints/kabuto_footprint.png delete mode 100644 graphics/pokemon/footprints/kabutops_footprint.png delete mode 100644 graphics/pokemon/footprints/kadabra_footprint.png delete mode 100644 graphics/pokemon/footprints/kakuna_footprint.png delete mode 100644 graphics/pokemon/footprints/kangaskhan_footprint.png delete mode 100644 graphics/pokemon/footprints/kecleon_footprint.png delete mode 100644 graphics/pokemon/footprints/kingdra_footprint.png delete mode 100644 graphics/pokemon/footprints/kingler_footprint.png delete mode 100644 graphics/pokemon/footprints/kirlia_footprint.png delete mode 100644 graphics/pokemon/footprints/koffing_footprint.png delete mode 100644 graphics/pokemon/footprints/krabby_footprint.png delete mode 100644 graphics/pokemon/footprints/kyogre_footprint.png delete mode 100644 graphics/pokemon/footprints/lairon_footprint.png delete mode 100644 graphics/pokemon/footprints/lanturn_footprint.png delete mode 100644 graphics/pokemon/footprints/lapras_footprint.png delete mode 100644 graphics/pokemon/footprints/larvitar_footprint.png delete mode 100644 graphics/pokemon/footprints/latias_footprint.png delete mode 100644 graphics/pokemon/footprints/latios_footprint.png delete mode 100644 graphics/pokemon/footprints/ledian_footprint.png delete mode 100644 graphics/pokemon/footprints/ledyba_footprint.png delete mode 100644 graphics/pokemon/footprints/lickitung_footprint.png delete mode 100644 graphics/pokemon/footprints/lileep_footprint.png delete mode 100644 graphics/pokemon/footprints/linoone_footprint.png delete mode 100644 graphics/pokemon/footprints/lombre_footprint.png delete mode 100644 graphics/pokemon/footprints/lotad_footprint.png delete mode 100644 graphics/pokemon/footprints/loudred_footprint.png delete mode 100644 graphics/pokemon/footprints/ludicolo_footprint.png delete mode 100644 graphics/pokemon/footprints/lugia_footprint.png delete mode 100644 graphics/pokemon/footprints/lunatone_footprint.png delete mode 100644 graphics/pokemon/footprints/luvdisc_footprint.png delete mode 100644 graphics/pokemon/footprints/machamp_footprint.png delete mode 100644 graphics/pokemon/footprints/machoke_footprint.png delete mode 100644 graphics/pokemon/footprints/machop_footprint.png delete mode 100644 graphics/pokemon/footprints/magby_footprint.png delete mode 100644 graphics/pokemon/footprints/magcargo_footprint.png delete mode 100644 graphics/pokemon/footprints/magikarp_footprint.png delete mode 100644 graphics/pokemon/footprints/magmar_footprint.png delete mode 100644 graphics/pokemon/footprints/magnemite_footprint.png delete mode 100644 graphics/pokemon/footprints/magneton_footprint.png delete mode 100644 graphics/pokemon/footprints/makuhita_footprint.png delete mode 100644 graphics/pokemon/footprints/manectric_footprint.png delete mode 100644 graphics/pokemon/footprints/mankey_footprint.png delete mode 100644 graphics/pokemon/footprints/mantine_footprint.png delete mode 100644 graphics/pokemon/footprints/mareep_footprint.png delete mode 100644 graphics/pokemon/footprints/marill_footprint.png delete mode 100644 graphics/pokemon/footprints/marowak_footprint.png delete mode 100644 graphics/pokemon/footprints/marshtomp_footprint.png delete mode 100644 graphics/pokemon/footprints/masquerain_footprint.png delete mode 100644 graphics/pokemon/footprints/mawile_footprint.png delete mode 100644 graphics/pokemon/footprints/medicham_footprint.png delete mode 100644 graphics/pokemon/footprints/meditite_footprint.png delete mode 100644 graphics/pokemon/footprints/meganium_footprint.png delete mode 100644 graphics/pokemon/footprints/meowth_footprint.png delete mode 100644 graphics/pokemon/footprints/metagross_footprint.png delete mode 100644 graphics/pokemon/footprints/metang_footprint.png delete mode 100644 graphics/pokemon/footprints/metapod_footprint.png delete mode 100644 graphics/pokemon/footprints/mew_footprint.png delete mode 100644 graphics/pokemon/footprints/mewtwo_footprint.png delete mode 100644 graphics/pokemon/footprints/mightyena_footprint.png delete mode 100644 graphics/pokemon/footprints/milotic_footprint.png delete mode 100644 graphics/pokemon/footprints/miltank_footprint.png delete mode 100644 graphics/pokemon/footprints/minun_footprint.png delete mode 100644 graphics/pokemon/footprints/misdreavus_footprint.png delete mode 100644 graphics/pokemon/footprints/moltres_footprint.png delete mode 100644 graphics/pokemon/footprints/mr_mime_footprint.png delete mode 100644 graphics/pokemon/footprints/mudkip_footprint.png delete mode 100644 graphics/pokemon/footprints/muk_footprint.png delete mode 100644 graphics/pokemon/footprints/murkrow_footprint.png delete mode 100644 graphics/pokemon/footprints/natu_footprint.png delete mode 100644 graphics/pokemon/footprints/nidoking_footprint.png delete mode 100644 graphics/pokemon/footprints/nidoqueen_footprint.png delete mode 100644 graphics/pokemon/footprints/nidoran_f_footprint.png delete mode 100644 graphics/pokemon/footprints/nidoran_m_footprint.png delete mode 100644 graphics/pokemon/footprints/nidorina_footprint.png delete mode 100644 graphics/pokemon/footprints/nidorino_footprint.png delete mode 100644 graphics/pokemon/footprints/nincada_footprint.png delete mode 100644 graphics/pokemon/footprints/ninetales_footprint.png delete mode 100644 graphics/pokemon/footprints/ninjask_footprint.png delete mode 100644 graphics/pokemon/footprints/noctowl_footprint.png delete mode 100644 graphics/pokemon/footprints/nosepass_footprint.png delete mode 100644 graphics/pokemon/footprints/numel_footprint.png delete mode 100644 graphics/pokemon/footprints/nuzleaf_footprint.png delete mode 100644 graphics/pokemon/footprints/octillery_footprint.png delete mode 100644 graphics/pokemon/footprints/oddish_footprint.png delete mode 100644 graphics/pokemon/footprints/omanyte_footprint.png delete mode 100644 graphics/pokemon/footprints/omastar_footprint.png delete mode 100644 graphics/pokemon/footprints/onix_footprint.png delete mode 100644 graphics/pokemon/footprints/paras_footprint.png delete mode 100644 graphics/pokemon/footprints/parasect_footprint.png delete mode 100644 graphics/pokemon/footprints/pelipper_footprint.png delete mode 100644 graphics/pokemon/footprints/persian_footprint.png delete mode 100644 graphics/pokemon/footprints/phanpy_footprint.png delete mode 100644 graphics/pokemon/footprints/pichu_footprint.png delete mode 100644 graphics/pokemon/footprints/pidgeot_footprint.png delete mode 100644 graphics/pokemon/footprints/pidgeotto_footprint.png delete mode 100644 graphics/pokemon/footprints/pidgey_footprint.png delete mode 100644 graphics/pokemon/footprints/pikachu_footprint.png delete mode 100644 graphics/pokemon/footprints/piloswine_footprint.png delete mode 100644 graphics/pokemon/footprints/pineco_footprint.png delete mode 100644 graphics/pokemon/footprints/pinsir_footprint.png delete mode 100644 graphics/pokemon/footprints/plusle_footprint.png delete mode 100644 graphics/pokemon/footprints/politoed_footprint.png delete mode 100644 graphics/pokemon/footprints/poliwag_footprint.png delete mode 100644 graphics/pokemon/footprints/poliwhirl_footprint.png delete mode 100644 graphics/pokemon/footprints/poliwrath_footprint.png delete mode 100644 graphics/pokemon/footprints/ponyta_footprint.png delete mode 100644 graphics/pokemon/footprints/poochyena_footprint.png delete mode 100644 graphics/pokemon/footprints/porygon2_footprint.png delete mode 100644 graphics/pokemon/footprints/porygon_footprint.png delete mode 100644 graphics/pokemon/footprints/primeape_footprint.png delete mode 100644 graphics/pokemon/footprints/psyduck_footprint.png delete mode 100644 graphics/pokemon/footprints/pupitar_footprint.png delete mode 100644 graphics/pokemon/footprints/quagsire_footprint.png delete mode 100644 graphics/pokemon/footprints/question_mark_footprint.png delete mode 100644 graphics/pokemon/footprints/quilava_footprint.png delete mode 100644 graphics/pokemon/footprints/qwilfish_footprint.png delete mode 100644 graphics/pokemon/footprints/raichu_footprint.png delete mode 100644 graphics/pokemon/footprints/raikou_footprint.png delete mode 100644 graphics/pokemon/footprints/ralts_footprint.png delete mode 100644 graphics/pokemon/footprints/rapidash_footprint.png delete mode 100644 graphics/pokemon/footprints/raticate_footprint.png delete mode 100644 graphics/pokemon/footprints/rattata_footprint.png delete mode 100644 graphics/pokemon/footprints/rayquaza_footprint.png delete mode 100644 graphics/pokemon/footprints/regice_footprint.png delete mode 100644 graphics/pokemon/footprints/regirock_footprint.png delete mode 100644 graphics/pokemon/footprints/registeel_footprint.png delete mode 100644 graphics/pokemon/footprints/relicanth_footprint.png delete mode 100644 graphics/pokemon/footprints/remoraid_footprint.png delete mode 100644 graphics/pokemon/footprints/rhydon_footprint.png delete mode 100644 graphics/pokemon/footprints/rhyhorn_footprint.png delete mode 100644 graphics/pokemon/footprints/roselia_footprint.png delete mode 100644 graphics/pokemon/footprints/sableye_footprint.png delete mode 100644 graphics/pokemon/footprints/salamence_footprint.png delete mode 100644 graphics/pokemon/footprints/sandshrew_footprint.png delete mode 100644 graphics/pokemon/footprints/sandslash_footprint.png delete mode 100644 graphics/pokemon/footprints/sceptile_footprint.png delete mode 100644 graphics/pokemon/footprints/scizor_footprint.png delete mode 100644 graphics/pokemon/footprints/scyther_footprint.png delete mode 100644 graphics/pokemon/footprints/seadra_footprint.png delete mode 100644 graphics/pokemon/footprints/seaking_footprint.png delete mode 100644 graphics/pokemon/footprints/sealeo_footprint.png delete mode 100644 graphics/pokemon/footprints/seedot_footprint.png delete mode 100644 graphics/pokemon/footprints/seel_footprint.png delete mode 100644 graphics/pokemon/footprints/sentret_footprint.png delete mode 100644 graphics/pokemon/footprints/seviper_footprint.png delete mode 100644 graphics/pokemon/footprints/sharpedo_footprint.png delete mode 100644 graphics/pokemon/footprints/shedinja_footprint.png delete mode 100644 graphics/pokemon/footprints/shelgon_footprint.png delete mode 100644 graphics/pokemon/footprints/shellder_footprint.png delete mode 100644 graphics/pokemon/footprints/shiftry_footprint.png delete mode 100644 graphics/pokemon/footprints/shroomish_footprint.png delete mode 100644 graphics/pokemon/footprints/shuckle_footprint.png delete mode 100644 graphics/pokemon/footprints/shuppet_footprint.png delete mode 100644 graphics/pokemon/footprints/silcoon_footprint.png delete mode 100644 graphics/pokemon/footprints/skarmory_footprint.png delete mode 100644 graphics/pokemon/footprints/skiploom_footprint.png delete mode 100644 graphics/pokemon/footprints/skitty_footprint.png delete mode 100644 graphics/pokemon/footprints/slaking_footprint.png delete mode 100644 graphics/pokemon/footprints/slakoth_footprint.png delete mode 100644 graphics/pokemon/footprints/slowbro_footprint.png delete mode 100644 graphics/pokemon/footprints/slowking_footprint.png delete mode 100644 graphics/pokemon/footprints/slowpoke_footprint.png delete mode 100644 graphics/pokemon/footprints/slugma_footprint.png delete mode 100644 graphics/pokemon/footprints/smeargle_footprint.png delete mode 100644 graphics/pokemon/footprints/smoochum_footprint.png delete mode 100644 graphics/pokemon/footprints/sneasel_footprint.png delete mode 100644 graphics/pokemon/footprints/snorlax_footprint.png delete mode 100644 graphics/pokemon/footprints/snorunt_footprint.png delete mode 100644 graphics/pokemon/footprints/snubbull_footprint.png delete mode 100644 graphics/pokemon/footprints/solrock_footprint.png delete mode 100644 graphics/pokemon/footprints/spearow_footprint.png delete mode 100644 graphics/pokemon/footprints/spheal_footprint.png delete mode 100644 graphics/pokemon/footprints/spinarak_footprint.png delete mode 100644 graphics/pokemon/footprints/spinda_footprint.png delete mode 100644 graphics/pokemon/footprints/spoink_footprint.png delete mode 100644 graphics/pokemon/footprints/squirtle_footprint.png delete mode 100644 graphics/pokemon/footprints/stantler_footprint.png delete mode 100644 graphics/pokemon/footprints/starmie_footprint.png delete mode 100644 graphics/pokemon/footprints/staryu_footprint.png delete mode 100644 graphics/pokemon/footprints/steelix_footprint.png delete mode 100644 graphics/pokemon/footprints/sudowoodo_footprint.png delete mode 100644 graphics/pokemon/footprints/suicune_footprint.png delete mode 100644 graphics/pokemon/footprints/sunflora_footprint.png delete mode 100644 graphics/pokemon/footprints/sunkern_footprint.png delete mode 100644 graphics/pokemon/footprints/surskit_footprint.png delete mode 100644 graphics/pokemon/footprints/swablu_footprint.png delete mode 100644 graphics/pokemon/footprints/swalot_footprint.png delete mode 100644 graphics/pokemon/footprints/swampert_footprint.png delete mode 100644 graphics/pokemon/footprints/swellow_footprint.png delete mode 100644 graphics/pokemon/footprints/swinub_footprint.png delete mode 100644 graphics/pokemon/footprints/taillow_footprint.png delete mode 100644 graphics/pokemon/footprints/tangela_footprint.png delete mode 100644 graphics/pokemon/footprints/tauros_footprint.png delete mode 100644 graphics/pokemon/footprints/teddiursa_footprint.png delete mode 100644 graphics/pokemon/footprints/tentacool_footprint.png delete mode 100644 graphics/pokemon/footprints/tentacruel_footprint.png delete mode 100644 graphics/pokemon/footprints/togepi_footprint.png delete mode 100644 graphics/pokemon/footprints/togetic_footprint.png delete mode 100644 graphics/pokemon/footprints/torchic_footprint.png delete mode 100644 graphics/pokemon/footprints/torkoal_footprint.png delete mode 100644 graphics/pokemon/footprints/totodile_footprint.png delete mode 100644 graphics/pokemon/footprints/trapinch_footprint.png delete mode 100644 graphics/pokemon/footprints/treecko_footprint.png delete mode 100644 graphics/pokemon/footprints/tropius_footprint.png delete mode 100644 graphics/pokemon/footprints/typhlosion_footprint.png delete mode 100644 graphics/pokemon/footprints/tyranitar_footprint.png delete mode 100644 graphics/pokemon/footprints/tyrogue_footprint.png delete mode 100644 graphics/pokemon/footprints/umbreon_footprint.png delete mode 100644 graphics/pokemon/footprints/unown_footprint.png delete mode 100644 graphics/pokemon/footprints/ursaring_footprint.png delete mode 100644 graphics/pokemon/footprints/vaporeon_footprint.png delete mode 100644 graphics/pokemon/footprints/venomoth_footprint.png delete mode 100644 graphics/pokemon/footprints/venonat_footprint.png delete mode 100644 graphics/pokemon/footprints/venusaur_footprint.png delete mode 100644 graphics/pokemon/footprints/vibrava_footprint.png delete mode 100644 graphics/pokemon/footprints/victreebel_footprint.png delete mode 100644 graphics/pokemon/footprints/vigoroth_footprint.png delete mode 100644 graphics/pokemon/footprints/vileplume_footprint.png delete mode 100644 graphics/pokemon/footprints/volbeat_footprint.png delete mode 100644 graphics/pokemon/footprints/voltorb_footprint.png delete mode 100644 graphics/pokemon/footprints/vulpix_footprint.png delete mode 100644 graphics/pokemon/footprints/wailmer_footprint.png delete mode 100644 graphics/pokemon/footprints/wailord_footprint.png delete mode 100644 graphics/pokemon/footprints/walrein_footprint.png delete mode 100644 graphics/pokemon/footprints/wartortle_footprint.png delete mode 100644 graphics/pokemon/footprints/weedle_footprint.png delete mode 100644 graphics/pokemon/footprints/weepinbell_footprint.png delete mode 100644 graphics/pokemon/footprints/weezing_footprint.png delete mode 100644 graphics/pokemon/footprints/whiscash_footprint.png delete mode 100644 graphics/pokemon/footprints/whismur_footprint.png delete mode 100644 graphics/pokemon/footprints/wigglytuff_footprint.png delete mode 100644 graphics/pokemon/footprints/wingull_footprint.png delete mode 100644 graphics/pokemon/footprints/wobbuffet_footprint.png delete mode 100644 graphics/pokemon/footprints/wooper_footprint.png delete mode 100644 graphics/pokemon/footprints/wurmple_footprint.png delete mode 100644 graphics/pokemon/footprints/wynaut_footprint.png delete mode 100644 graphics/pokemon/footprints/xatu_footprint.png delete mode 100644 graphics/pokemon/footprints/yanma_footprint.png delete mode 100644 graphics/pokemon/footprints/zangoose_footprint.png delete mode 100644 graphics/pokemon/footprints/zapdos_footprint.png delete mode 100644 graphics/pokemon/footprints/zigzagoon_footprint.png delete mode 100644 graphics/pokemon/footprints/zubat_footprint.png create mode 100644 graphics/pokemon/forretress/back.png create mode 100644 graphics/pokemon/forretress/footprint.png create mode 100644 graphics/pokemon/forretress/front.png create mode 100644 graphics/pokemon/forretress/icon.png create mode 100644 graphics/pokemon/forretress/normal.pal create mode 100644 graphics/pokemon/forretress/shiny.pal delete mode 100644 graphics/pokemon/front_pics/abra_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/absol_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/aerodactyl_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/aggron_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/aipom_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/alakazam_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/altaria_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/ampharos_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/anorith_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/arbok_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/arcanine_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/ariados_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/armaldo_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/aron_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/articuno_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/azumarill_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/azurill_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/bagon_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/baltoy_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/banette_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/barboach_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/bayleef_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/beautifly_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/beedrill_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/beldum_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/bellossom_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/bellsprout_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/blastoise_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/blaziken_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/blissey_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/breloom_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/bulbasaur_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/butterfree_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/cacnea_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/cacturne_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/camerupt_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/carvanha_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/cascoon_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/castform_normal_form_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/castform_rainy_form_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/castform_snowy_form_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/castform_sunny_form_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/caterpie_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/celebi_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/chansey_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/charizard_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/charmander_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/charmeleon_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/chikorita_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/chimecho_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/chinchou_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/circled_question_mark_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/clamperl_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/claydol_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/clefable_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/clefairy_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/cleffa_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/cloyster_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/combusken_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/corphish_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/corsola_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/cradily_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/crawdaunt_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/crobat_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/croconaw_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/cubone_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/cyndaquil_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/delcatty_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/delibird_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/deoxys_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/dewgong_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/diglett_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/ditto_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/dodrio_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/doduo_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/donphan_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/double_question_mark_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/dragonair_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/dragonite_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/dratini_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/drowzee_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/dugtrio_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/dunsparce_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/dusclops_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/duskull_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/dustox_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/eevee_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/egg_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/ekans_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/electabuzz_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/electrike_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/electrode_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/elekid_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/entei_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/espeon_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/exeggcute_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/exeggutor_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/exploud_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/farfetch_d_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/fearow_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/feebas_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/feraligatr_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/flaaffy_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/flareon_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/flygon_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/forretress_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/furret_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/gardevoir_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/gastly_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/gengar_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/geodude_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/girafarig_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/glalie_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/gligar_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/gloom_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/golbat_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/goldeen_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/golduck_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/golem_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/gorebyss_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/granbull_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/graveler_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/grimer_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/groudon_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/grovyle_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/growlithe_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/grumpig_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/gulpin_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/gyarados_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/hariyama_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/haunter_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/heracross_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/hitmonchan_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/hitmonlee_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/hitmontop_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/ho_oh_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/hoothoot_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/hoppip_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/horsea_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/houndoom_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/houndour_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/huntail_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/hypno_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/igglybuff_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/illumise_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/ivysaur_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/jigglypuff_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/jirachi_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/jolteon_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/jumpluff_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/jynx_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/kabuto_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/kabutops_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/kadabra_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/kakuna_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/kangaskhan_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/kecleon_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/kingdra_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/kingler_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/kirlia_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/koffing_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/krabby_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/kyogre_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/lairon_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/lanturn_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/lapras_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/larvitar_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/latias_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/latios_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/ledian_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/ledyba_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/lickitung_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/lileep_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/linoone_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/lombre_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/lotad_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/loudred_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/ludicolo_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/lugia_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/lunatone_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/luvdisc_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/machamp_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/machoke_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/machop_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/magby_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/magcargo_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/magikarp_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/magmar_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/magnemite_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/magneton_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/makuhita_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/manectric_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/mankey_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/mantine_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/mareep_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/marill_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/marowak_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/marshtomp_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/masquerain_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/mawile_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/medicham_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/meditite_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/meganium_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/meowth_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/metagross_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/metang_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/metapod_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/mew_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/mewtwo_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/mightyena_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/milotic_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/miltank_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/minun_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/misdreavus_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/moltres_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/mr_mime_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/mudkip_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/muk_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/murkrow_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/natu_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/nidoking_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/nidoqueen_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/nidoran_f_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/nidoran_m_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/nidorina_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/nidorino_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/nincada_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/ninetales_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/ninjask_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/noctowl_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/nosepass_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/numel_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/nuzleaf_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/octillery_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/oddish_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/omanyte_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/omastar_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/onix_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/paras_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/parasect_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/pelipper_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/persian_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/phanpy_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/pichu_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/pidgeot_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/pidgeotto_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/pidgey_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/pikachu_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/piloswine_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/pineco_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/pinsir_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/plusle_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/politoed_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/poliwag_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/poliwhirl_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/poliwrath_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/ponyta_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/poochyena_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/porygon2_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/porygon_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/primeape_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/psyduck_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/pupitar_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/quagsire_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/quilava_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/qwilfish_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/raichu_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/raikou_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/ralts_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/rapidash_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/raticate_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/rattata_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/rayquaza_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/regice_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/regirock_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/registeel_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/relicanth_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/remoraid_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/rhydon_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/rhyhorn_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/roselia_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/sableye_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/salamence_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/sandshrew_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/sandslash_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/sceptile_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/scizor_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/scyther_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/seadra_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/seaking_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/sealeo_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/seedot_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/seel_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/sentret_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/seviper_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/sharpedo_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/shedinja_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/shelgon_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/shellder_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/shiftry_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/shroomish_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/shuckle_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/shuppet_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/silcoon_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/skarmory_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/skiploom_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/skitty_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/slaking_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/slakoth_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/slowbro_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/slowking_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/slowpoke_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/slugma_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/smeargle_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/smoochum_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/sneasel_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/snorlax_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/snorunt_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/snubbull_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/solrock_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/spearow_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/spheal_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/spinarak_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/spinda_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/spoink_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/squirtle_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/stantler_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/starmie_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/staryu_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/steelix_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/sudowoodo_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/suicune_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/sunflora_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/sunkern_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/surskit_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/swablu_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/swalot_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/swampert_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/swellow_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/swinub_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/taillow_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/tangela_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/tauros_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/teddiursa_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/tentacool_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/tentacruel_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/togepi_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/togetic_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/torchic_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/torkoal_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/totodile_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/trapinch_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/treecko_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/tropius_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/typhlosion_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/tyranitar_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/tyrogue_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/umbreon_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/unown_a_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/unown_b_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/unown_c_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/unown_d_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/unown_e_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/unown_exclamation_mark_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/unown_f_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/unown_g_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/unown_h_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/unown_i_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/unown_j_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/unown_k_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/unown_l_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/unown_m_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/unown_n_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/unown_o_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/unown_p_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/unown_q_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/unown_question_mark_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/unown_r_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/unown_s_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/unown_t_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/unown_u_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/unown_v_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/unown_w_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/unown_x_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/unown_y_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/unown_z_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/ursaring_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/vaporeon_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/venomoth_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/venonat_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/venusaur_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/vibrava_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/victreebel_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/vigoroth_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/vileplume_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/volbeat_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/voltorb_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/vulpix_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/wailmer_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/wailord_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/walrein_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/wartortle_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/weedle_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/weepinbell_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/weezing_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/whiscash_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/whismur_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/wigglytuff_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/wingull_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/wobbuffet_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/wooper_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/wurmple_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/wynaut_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/xatu_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/yanma_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/zangoose_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/zapdos_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/zigzagoon_still_front_pic.png delete mode 100644 graphics/pokemon/front_pics/zubat_still_front_pic.png create mode 100644 graphics/pokemon/furret/back.png create mode 100644 graphics/pokemon/furret/footprint.png create mode 100644 graphics/pokemon/furret/front.png create mode 100644 graphics/pokemon/furret/icon.png create mode 100644 graphics/pokemon/furret/normal.pal create mode 100644 graphics/pokemon/furret/shiny.pal create mode 100644 graphics/pokemon/gardevoir/back.png create mode 100644 graphics/pokemon/gardevoir/footprint.png create mode 100644 graphics/pokemon/gardevoir/front.png create mode 100644 graphics/pokemon/gardevoir/icon.png create mode 100644 graphics/pokemon/gardevoir/normal.pal create mode 100644 graphics/pokemon/gardevoir/shiny.pal create mode 100644 graphics/pokemon/gastly/back.png create mode 100644 graphics/pokemon/gastly/footprint.png create mode 100644 graphics/pokemon/gastly/front.png create mode 100644 graphics/pokemon/gastly/icon.png create mode 100644 graphics/pokemon/gastly/normal.pal create mode 100644 graphics/pokemon/gastly/shiny.pal create mode 100644 graphics/pokemon/gengar/back.png create mode 100644 graphics/pokemon/gengar/footprint.png create mode 100644 graphics/pokemon/gengar/front.png create mode 100644 graphics/pokemon/gengar/icon.png create mode 100644 graphics/pokemon/gengar/normal.pal create mode 100644 graphics/pokemon/gengar/shiny.pal create mode 100644 graphics/pokemon/geodude/back.png create mode 100644 graphics/pokemon/geodude/footprint.png create mode 100644 graphics/pokemon/geodude/front.png create mode 100644 graphics/pokemon/geodude/icon.png create mode 100644 graphics/pokemon/geodude/normal.pal create mode 100644 graphics/pokemon/geodude/shiny.pal create mode 100644 graphics/pokemon/girafarig/back.png create mode 100644 graphics/pokemon/girafarig/footprint.png create mode 100644 graphics/pokemon/girafarig/front.png create mode 100644 graphics/pokemon/girafarig/icon.png create mode 100644 graphics/pokemon/girafarig/normal.pal create mode 100644 graphics/pokemon/girafarig/shiny.pal create mode 100644 graphics/pokemon/glalie/back.png create mode 100644 graphics/pokemon/glalie/footprint.png create mode 100644 graphics/pokemon/glalie/front.png create mode 100644 graphics/pokemon/glalie/icon.png create mode 100644 graphics/pokemon/glalie/normal.pal create mode 100644 graphics/pokemon/glalie/shiny.pal create mode 100644 graphics/pokemon/gligar/back.png create mode 100644 graphics/pokemon/gligar/footprint.png create mode 100644 graphics/pokemon/gligar/front.png create mode 100644 graphics/pokemon/gligar/icon.png create mode 100644 graphics/pokemon/gligar/normal.pal create mode 100644 graphics/pokemon/gligar/shiny.pal create mode 100644 graphics/pokemon/gloom/back.png create mode 100644 graphics/pokemon/gloom/footprint.png create mode 100644 graphics/pokemon/gloom/front.png create mode 100644 graphics/pokemon/gloom/icon.png create mode 100644 graphics/pokemon/gloom/normal.pal create mode 100644 graphics/pokemon/gloom/shiny.pal create mode 100644 graphics/pokemon/golbat/back.png create mode 100644 graphics/pokemon/golbat/footprint.png create mode 100644 graphics/pokemon/golbat/front.png create mode 100644 graphics/pokemon/golbat/icon.png create mode 100644 graphics/pokemon/golbat/normal.pal create mode 100644 graphics/pokemon/golbat/shiny.pal create mode 100644 graphics/pokemon/goldeen/back.png create mode 100644 graphics/pokemon/goldeen/footprint.png create mode 100644 graphics/pokemon/goldeen/front.png create mode 100644 graphics/pokemon/goldeen/icon.png create mode 100644 graphics/pokemon/goldeen/normal.pal create mode 100644 graphics/pokemon/goldeen/shiny.pal create mode 100644 graphics/pokemon/golduck/back.png create mode 100644 graphics/pokemon/golduck/footprint.png create mode 100644 graphics/pokemon/golduck/front.png create mode 100644 graphics/pokemon/golduck/icon.png create mode 100644 graphics/pokemon/golduck/normal.pal create mode 100644 graphics/pokemon/golduck/shiny.pal create mode 100644 graphics/pokemon/golem/back.png create mode 100644 graphics/pokemon/golem/footprint.png create mode 100644 graphics/pokemon/golem/front.png create mode 100644 graphics/pokemon/golem/icon.png create mode 100644 graphics/pokemon/golem/normal.pal create mode 100644 graphics/pokemon/golem/shiny.pal create mode 100644 graphics/pokemon/gorebyss/back.png create mode 100644 graphics/pokemon/gorebyss/footprint.png create mode 100644 graphics/pokemon/gorebyss/front.png create mode 100644 graphics/pokemon/gorebyss/icon.png create mode 100644 graphics/pokemon/gorebyss/normal.pal create mode 100644 graphics/pokemon/gorebyss/shiny.pal create mode 100644 graphics/pokemon/granbull/back.png create mode 100644 graphics/pokemon/granbull/footprint.png create mode 100644 graphics/pokemon/granbull/front.png create mode 100644 graphics/pokemon/granbull/icon.png create mode 100644 graphics/pokemon/granbull/normal.pal create mode 100644 graphics/pokemon/granbull/shiny.pal create mode 100644 graphics/pokemon/graveler/back.png create mode 100644 graphics/pokemon/graveler/footprint.png create mode 100644 graphics/pokemon/graveler/front.png create mode 100644 graphics/pokemon/graveler/icon.png create mode 100644 graphics/pokemon/graveler/normal.pal create mode 100644 graphics/pokemon/graveler/shiny.pal create mode 100644 graphics/pokemon/grimer/back.png create mode 100644 graphics/pokemon/grimer/footprint.png create mode 100644 graphics/pokemon/grimer/front.png create mode 100644 graphics/pokemon/grimer/icon.png create mode 100644 graphics/pokemon/grimer/normal.pal create mode 100644 graphics/pokemon/grimer/shiny.pal create mode 100644 graphics/pokemon/groudon/back.png create mode 100644 graphics/pokemon/groudon/footprint.png create mode 100644 graphics/pokemon/groudon/front.png create mode 100644 graphics/pokemon/groudon/icon.png create mode 100644 graphics/pokemon/groudon/normal.pal create mode 100644 graphics/pokemon/groudon/shiny.pal create mode 100644 graphics/pokemon/grovyle/back.png create mode 100644 graphics/pokemon/grovyle/footprint.png create mode 100644 graphics/pokemon/grovyle/front.png create mode 100644 graphics/pokemon/grovyle/icon.png create mode 100644 graphics/pokemon/grovyle/normal.pal create mode 100644 graphics/pokemon/grovyle/shiny.pal create mode 100644 graphics/pokemon/growlithe/back.png create mode 100644 graphics/pokemon/growlithe/footprint.png create mode 100644 graphics/pokemon/growlithe/front.png create mode 100644 graphics/pokemon/growlithe/icon.png create mode 100644 graphics/pokemon/growlithe/normal.pal create mode 100644 graphics/pokemon/growlithe/shiny.pal create mode 100644 graphics/pokemon/grumpig/back.png create mode 100644 graphics/pokemon/grumpig/footprint.png create mode 100644 graphics/pokemon/grumpig/front.png create mode 100644 graphics/pokemon/grumpig/icon.png create mode 100644 graphics/pokemon/grumpig/normal.pal create mode 100644 graphics/pokemon/grumpig/shiny.pal create mode 100644 graphics/pokemon/gulpin/back.png create mode 100644 graphics/pokemon/gulpin/footprint.png create mode 100644 graphics/pokemon/gulpin/front.png create mode 100644 graphics/pokemon/gulpin/icon.png create mode 100644 graphics/pokemon/gulpin/normal.pal create mode 100644 graphics/pokemon/gulpin/shiny.pal create mode 100644 graphics/pokemon/gyarados/back.png create mode 100644 graphics/pokemon/gyarados/footprint.png create mode 100644 graphics/pokemon/gyarados/front.png create mode 100644 graphics/pokemon/gyarados/icon.png create mode 100644 graphics/pokemon/gyarados/normal.pal create mode 100644 graphics/pokemon/gyarados/shiny.pal create mode 100644 graphics/pokemon/hariyama/back.png create mode 100644 graphics/pokemon/hariyama/footprint.png create mode 100644 graphics/pokemon/hariyama/front.png create mode 100644 graphics/pokemon/hariyama/icon.png create mode 100644 graphics/pokemon/hariyama/normal.pal create mode 100644 graphics/pokemon/hariyama/shiny.pal create mode 100644 graphics/pokemon/haunter/back.png create mode 100644 graphics/pokemon/haunter/footprint.png create mode 100644 graphics/pokemon/haunter/front.png create mode 100644 graphics/pokemon/haunter/icon.png create mode 100644 graphics/pokemon/haunter/normal.pal create mode 100644 graphics/pokemon/haunter/shiny.pal create mode 100644 graphics/pokemon/heracross/back.png create mode 100644 graphics/pokemon/heracross/footprint.png create mode 100644 graphics/pokemon/heracross/front.png create mode 100644 graphics/pokemon/heracross/icon.png create mode 100644 graphics/pokemon/heracross/normal.pal create mode 100644 graphics/pokemon/heracross/shiny.pal create mode 100644 graphics/pokemon/hitmonchan/back.png create mode 100644 graphics/pokemon/hitmonchan/footprint.png create mode 100644 graphics/pokemon/hitmonchan/front.png create mode 100644 graphics/pokemon/hitmonchan/icon.png create mode 100644 graphics/pokemon/hitmonchan/normal.pal create mode 100644 graphics/pokemon/hitmonchan/shiny.pal create mode 100644 graphics/pokemon/hitmonlee/back.png create mode 100644 graphics/pokemon/hitmonlee/footprint.png create mode 100644 graphics/pokemon/hitmonlee/front.png create mode 100644 graphics/pokemon/hitmonlee/icon.png create mode 100644 graphics/pokemon/hitmonlee/normal.pal create mode 100644 graphics/pokemon/hitmonlee/shiny.pal create mode 100644 graphics/pokemon/hitmontop/back.png create mode 100644 graphics/pokemon/hitmontop/footprint.png create mode 100644 graphics/pokemon/hitmontop/front.png create mode 100644 graphics/pokemon/hitmontop/icon.png create mode 100644 graphics/pokemon/hitmontop/normal.pal create mode 100644 graphics/pokemon/hitmontop/shiny.pal create mode 100644 graphics/pokemon/ho_oh/back.png create mode 100644 graphics/pokemon/ho_oh/footprint.png create mode 100644 graphics/pokemon/ho_oh/front.png create mode 100644 graphics/pokemon/ho_oh/icon.png create mode 100644 graphics/pokemon/ho_oh/normal.pal create mode 100644 graphics/pokemon/ho_oh/shiny.pal create mode 100644 graphics/pokemon/hoothoot/back.png create mode 100644 graphics/pokemon/hoothoot/footprint.png create mode 100644 graphics/pokemon/hoothoot/front.png create mode 100644 graphics/pokemon/hoothoot/icon.png create mode 100644 graphics/pokemon/hoothoot/normal.pal create mode 100644 graphics/pokemon/hoothoot/shiny.pal create mode 100644 graphics/pokemon/hoppip/back.png create mode 100644 graphics/pokemon/hoppip/footprint.png create mode 100644 graphics/pokemon/hoppip/front.png create mode 100644 graphics/pokemon/hoppip/icon.png create mode 100644 graphics/pokemon/hoppip/normal.pal create mode 100644 graphics/pokemon/hoppip/shiny.pal create mode 100644 graphics/pokemon/horsea/back.png create mode 100644 graphics/pokemon/horsea/footprint.png create mode 100644 graphics/pokemon/horsea/front.png create mode 100644 graphics/pokemon/horsea/icon.png create mode 100644 graphics/pokemon/horsea/normal.pal create mode 100644 graphics/pokemon/horsea/shiny.pal create mode 100644 graphics/pokemon/houndoom/back.png create mode 100644 graphics/pokemon/houndoom/footprint.png create mode 100644 graphics/pokemon/houndoom/front.png create mode 100644 graphics/pokemon/houndoom/icon.png create mode 100644 graphics/pokemon/houndoom/normal.pal create mode 100644 graphics/pokemon/houndoom/shiny.pal create mode 100644 graphics/pokemon/houndour/back.png create mode 100644 graphics/pokemon/houndour/footprint.png create mode 100644 graphics/pokemon/houndour/front.png create mode 100644 graphics/pokemon/houndour/icon.png create mode 100644 graphics/pokemon/houndour/normal.pal create mode 100644 graphics/pokemon/houndour/shiny.pal create mode 100644 graphics/pokemon/huntail/back.png create mode 100644 graphics/pokemon/huntail/footprint.png create mode 100644 graphics/pokemon/huntail/front.png create mode 100644 graphics/pokemon/huntail/icon.png create mode 100644 graphics/pokemon/huntail/normal.pal create mode 100644 graphics/pokemon/huntail/shiny.pal create mode 100644 graphics/pokemon/hypno/back.png create mode 100644 graphics/pokemon/hypno/footprint.png create mode 100644 graphics/pokemon/hypno/front.png create mode 100644 graphics/pokemon/hypno/icon.png create mode 100644 graphics/pokemon/hypno/normal.pal create mode 100644 graphics/pokemon/hypno/shiny.pal delete mode 100644 graphics/pokemon/icons/abra_icon.png delete mode 100644 graphics/pokemon/icons/absol_icon.png delete mode 100644 graphics/pokemon/icons/aerodactyl_icon.png delete mode 100644 graphics/pokemon/icons/aggron_icon.png delete mode 100644 graphics/pokemon/icons/aipom_icon.png delete mode 100644 graphics/pokemon/icons/alakazam_icon.png delete mode 100644 graphics/pokemon/icons/altaria_icon.png delete mode 100644 graphics/pokemon/icons/ampharos_icon.png delete mode 100644 graphics/pokemon/icons/anorith_icon.png delete mode 100644 graphics/pokemon/icons/arbok_icon.png delete mode 100644 graphics/pokemon/icons/arcanine_icon.png delete mode 100644 graphics/pokemon/icons/ariados_icon.png delete mode 100644 graphics/pokemon/icons/armaldo_icon.png delete mode 100644 graphics/pokemon/icons/aron_icon.png delete mode 100644 graphics/pokemon/icons/articuno_icon.png delete mode 100644 graphics/pokemon/icons/azumarill_icon.png delete mode 100644 graphics/pokemon/icons/azurill_icon.png delete mode 100644 graphics/pokemon/icons/bagon_icon.png delete mode 100644 graphics/pokemon/icons/baltoy_icon.png delete mode 100644 graphics/pokemon/icons/banette_icon.png delete mode 100644 graphics/pokemon/icons/barboach_icon.png delete mode 100644 graphics/pokemon/icons/bayleef_icon.png delete mode 100644 graphics/pokemon/icons/beautifly_icon.png delete mode 100644 graphics/pokemon/icons/beedrill_icon.png delete mode 100644 graphics/pokemon/icons/beldum_icon.png delete mode 100644 graphics/pokemon/icons/bellossom_icon.png delete mode 100644 graphics/pokemon/icons/bellsprout_icon.png delete mode 100644 graphics/pokemon/icons/blastoise_icon.png delete mode 100644 graphics/pokemon/icons/blaziken_icon.png delete mode 100644 graphics/pokemon/icons/blissey_icon.png delete mode 100644 graphics/pokemon/icons/breloom_icon.png delete mode 100644 graphics/pokemon/icons/bulbasaur_icon.png delete mode 100644 graphics/pokemon/icons/butterfree_icon.png delete mode 100644 graphics/pokemon/icons/cacnea_icon.png delete mode 100644 graphics/pokemon/icons/cacturne_icon.png delete mode 100644 graphics/pokemon/icons/camerupt_icon.png delete mode 100644 graphics/pokemon/icons/carvanha_icon.png delete mode 100644 graphics/pokemon/icons/cascoon_icon.png delete mode 100644 graphics/pokemon/icons/castform_icon.png delete mode 100644 graphics/pokemon/icons/caterpie_icon.png delete mode 100644 graphics/pokemon/icons/celebi_icon.png delete mode 100644 graphics/pokemon/icons/chansey_icon.png delete mode 100644 graphics/pokemon/icons/charizard_icon.png delete mode 100644 graphics/pokemon/icons/charmander_icon.png delete mode 100644 graphics/pokemon/icons/charmeleon_icon.png delete mode 100644 graphics/pokemon/icons/chikorita_icon.png delete mode 100644 graphics/pokemon/icons/chimecho_icon.png delete mode 100644 graphics/pokemon/icons/chinchou_icon.png delete mode 100644 graphics/pokemon/icons/clamperl_icon.png delete mode 100644 graphics/pokemon/icons/claydol_icon.png delete mode 100644 graphics/pokemon/icons/clefable_icon.png delete mode 100644 graphics/pokemon/icons/clefairy_icon.png delete mode 100644 graphics/pokemon/icons/cleffa_icon.png delete mode 100644 graphics/pokemon/icons/cloyster_icon.png delete mode 100644 graphics/pokemon/icons/combusken_icon.png delete mode 100644 graphics/pokemon/icons/corphish_icon.png delete mode 100644 graphics/pokemon/icons/corsola_icon.png delete mode 100644 graphics/pokemon/icons/cradily_icon.png delete mode 100644 graphics/pokemon/icons/crawdaunt_icon.png delete mode 100644 graphics/pokemon/icons/crobat_icon.png delete mode 100644 graphics/pokemon/icons/croconaw_icon.png delete mode 100644 graphics/pokemon/icons/cubone_icon.png delete mode 100644 graphics/pokemon/icons/cyndaquil_icon.png delete mode 100644 graphics/pokemon/icons/delcatty_icon.png delete mode 100644 graphics/pokemon/icons/delibird_icon.png delete mode 100644 graphics/pokemon/icons/deoxys_icon.png delete mode 100644 graphics/pokemon/icons/deoxys_speed_icon.png delete mode 100644 graphics/pokemon/icons/dewgong_icon.png delete mode 100644 graphics/pokemon/icons/diglett_icon.png delete mode 100644 graphics/pokemon/icons/ditto_icon.png delete mode 100644 graphics/pokemon/icons/dodrio_icon.png delete mode 100644 graphics/pokemon/icons/doduo_icon.png delete mode 100644 graphics/pokemon/icons/donphan_icon.png delete mode 100644 graphics/pokemon/icons/dragonair_icon.png delete mode 100644 graphics/pokemon/icons/dragonite_icon.png delete mode 100644 graphics/pokemon/icons/dratini_icon.png delete mode 100644 graphics/pokemon/icons/drowzee_icon.png delete mode 100644 graphics/pokemon/icons/dugtrio_icon.png delete mode 100644 graphics/pokemon/icons/dunsparce_icon.png delete mode 100644 graphics/pokemon/icons/dusclops_icon.png delete mode 100644 graphics/pokemon/icons/duskull_icon.png delete mode 100644 graphics/pokemon/icons/dustox_icon.png delete mode 100644 graphics/pokemon/icons/eevee_icon.png delete mode 100644 graphics/pokemon/icons/egg_icon.png delete mode 100644 graphics/pokemon/icons/ekans_icon.png delete mode 100644 graphics/pokemon/icons/electabuzz_icon.png delete mode 100644 graphics/pokemon/icons/electrike_icon.png delete mode 100644 graphics/pokemon/icons/electrode_icon.png delete mode 100644 graphics/pokemon/icons/elekid_icon.png delete mode 100644 graphics/pokemon/icons/entei_icon.png delete mode 100644 graphics/pokemon/icons/espeon_icon.png delete mode 100644 graphics/pokemon/icons/exeggcute_icon.png delete mode 100644 graphics/pokemon/icons/exeggutor_icon.png delete mode 100644 graphics/pokemon/icons/exploud_icon.png delete mode 100644 graphics/pokemon/icons/farfetch_d_icon.png delete mode 100644 graphics/pokemon/icons/fearow_icon.png delete mode 100644 graphics/pokemon/icons/feebas_icon.png delete mode 100644 graphics/pokemon/icons/feraligatr_icon.png delete mode 100644 graphics/pokemon/icons/flaaffy_icon.png delete mode 100644 graphics/pokemon/icons/flareon_icon.png delete mode 100644 graphics/pokemon/icons/flygon_icon.png delete mode 100644 graphics/pokemon/icons/forretress_icon.png delete mode 100644 graphics/pokemon/icons/furret_icon.png delete mode 100644 graphics/pokemon/icons/gardevoir_icon.png delete mode 100644 graphics/pokemon/icons/gastly_icon.png delete mode 100644 graphics/pokemon/icons/gengar_icon.png delete mode 100644 graphics/pokemon/icons/geodude_icon.png delete mode 100644 graphics/pokemon/icons/girafarig_icon.png delete mode 100644 graphics/pokemon/icons/glalie_icon.png delete mode 100644 graphics/pokemon/icons/gligar_icon.png delete mode 100644 graphics/pokemon/icons/gloom_icon.png delete mode 100644 graphics/pokemon/icons/golbat_icon.png delete mode 100644 graphics/pokemon/icons/goldeen_icon.png delete mode 100644 graphics/pokemon/icons/golduck_icon.png delete mode 100644 graphics/pokemon/icons/golem_icon.png delete mode 100644 graphics/pokemon/icons/gorebyss_icon.png delete mode 100644 graphics/pokemon/icons/granbull_icon.png delete mode 100644 graphics/pokemon/icons/graveler_icon.png delete mode 100644 graphics/pokemon/icons/grimer_icon.png delete mode 100644 graphics/pokemon/icons/groudon_icon.png delete mode 100644 graphics/pokemon/icons/grovyle_icon.png delete mode 100644 graphics/pokemon/icons/growlithe_icon.png delete mode 100644 graphics/pokemon/icons/grumpig_icon.png delete mode 100644 graphics/pokemon/icons/gulpin_icon.png delete mode 100644 graphics/pokemon/icons/gyarados_icon.png delete mode 100644 graphics/pokemon/icons/hariyama_icon.png delete mode 100644 graphics/pokemon/icons/haunter_icon.png delete mode 100644 graphics/pokemon/icons/heracross_icon.png delete mode 100644 graphics/pokemon/icons/hitmonchan_icon.png delete mode 100644 graphics/pokemon/icons/hitmonlee_icon.png delete mode 100644 graphics/pokemon/icons/hitmontop_icon.png delete mode 100644 graphics/pokemon/icons/ho_oh_icon.png delete mode 100644 graphics/pokemon/icons/hoothoot_icon.png delete mode 100644 graphics/pokemon/icons/hoppip_icon.png delete mode 100644 graphics/pokemon/icons/horsea_icon.png delete mode 100644 graphics/pokemon/icons/houndoom_icon.png delete mode 100644 graphics/pokemon/icons/houndour_icon.png delete mode 100644 graphics/pokemon/icons/huntail_icon.png delete mode 100644 graphics/pokemon/icons/hypno_icon.png delete mode 100644 graphics/pokemon/icons/igglybuff_icon.png delete mode 100644 graphics/pokemon/icons/illumise_icon.png delete mode 100644 graphics/pokemon/icons/ivysaur_icon.png delete mode 100644 graphics/pokemon/icons/jigglypuff_icon.png delete mode 100644 graphics/pokemon/icons/jirachi_icon.png delete mode 100644 graphics/pokemon/icons/jolteon_icon.png delete mode 100644 graphics/pokemon/icons/jumpluff_icon.png delete mode 100644 graphics/pokemon/icons/jynx_icon.png delete mode 100644 graphics/pokemon/icons/kabuto_icon.png delete mode 100644 graphics/pokemon/icons/kabutops_icon.png delete mode 100644 graphics/pokemon/icons/kadabra_icon.png delete mode 100644 graphics/pokemon/icons/kakuna_icon.png delete mode 100644 graphics/pokemon/icons/kangaskhan_icon.png delete mode 100644 graphics/pokemon/icons/kecleon_icon.png delete mode 100644 graphics/pokemon/icons/kingdra_icon.png delete mode 100644 graphics/pokemon/icons/kingler_icon.png delete mode 100644 graphics/pokemon/icons/kirlia_icon.png delete mode 100644 graphics/pokemon/icons/koffing_icon.png delete mode 100644 graphics/pokemon/icons/krabby_icon.png delete mode 100644 graphics/pokemon/icons/kyogre_icon.png delete mode 100644 graphics/pokemon/icons/lairon_icon.png delete mode 100644 graphics/pokemon/icons/lanturn_icon.png delete mode 100644 graphics/pokemon/icons/lapras_icon.png delete mode 100644 graphics/pokemon/icons/larvitar_icon.png delete mode 100644 graphics/pokemon/icons/latias_icon.png delete mode 100644 graphics/pokemon/icons/latios_icon.png delete mode 100644 graphics/pokemon/icons/ledian_icon.png delete mode 100644 graphics/pokemon/icons/ledyba_icon.png delete mode 100644 graphics/pokemon/icons/lickitung_icon.png delete mode 100644 graphics/pokemon/icons/lileep_icon.png delete mode 100644 graphics/pokemon/icons/linoone_icon.png delete mode 100644 graphics/pokemon/icons/lombre_icon.png delete mode 100644 graphics/pokemon/icons/lotad_icon.png delete mode 100644 graphics/pokemon/icons/loudred_icon.png delete mode 100644 graphics/pokemon/icons/ludicolo_icon.png delete mode 100644 graphics/pokemon/icons/lugia_icon.png delete mode 100644 graphics/pokemon/icons/lunatone_icon.png delete mode 100644 graphics/pokemon/icons/luvdisc_icon.png delete mode 100644 graphics/pokemon/icons/machamp_icon.png delete mode 100644 graphics/pokemon/icons/machoke_icon.png delete mode 100644 graphics/pokemon/icons/machop_icon.png delete mode 100644 graphics/pokemon/icons/magby_icon.png delete mode 100644 graphics/pokemon/icons/magcargo_icon.png delete mode 100644 graphics/pokemon/icons/magikarp_icon.png delete mode 100644 graphics/pokemon/icons/magmar_icon.png delete mode 100644 graphics/pokemon/icons/magnemite_icon.png delete mode 100644 graphics/pokemon/icons/magneton_icon.png delete mode 100644 graphics/pokemon/icons/makuhita_icon.png delete mode 100644 graphics/pokemon/icons/manectric_icon.png delete mode 100644 graphics/pokemon/icons/mankey_icon.png delete mode 100644 graphics/pokemon/icons/mantine_icon.png delete mode 100644 graphics/pokemon/icons/mareep_icon.png delete mode 100644 graphics/pokemon/icons/marill_icon.png delete mode 100644 graphics/pokemon/icons/marowak_icon.png delete mode 100644 graphics/pokemon/icons/marshtomp_icon.png delete mode 100644 graphics/pokemon/icons/masquerain_icon.png delete mode 100644 graphics/pokemon/icons/mawile_icon.png delete mode 100644 graphics/pokemon/icons/medicham_icon.png delete mode 100644 graphics/pokemon/icons/meditite_icon.png delete mode 100644 graphics/pokemon/icons/meganium_icon.png delete mode 100644 graphics/pokemon/icons/meowth_icon.png delete mode 100644 graphics/pokemon/icons/metagross_icon.png delete mode 100644 graphics/pokemon/icons/metang_icon.png delete mode 100644 graphics/pokemon/icons/metapod_icon.png delete mode 100644 graphics/pokemon/icons/mew_icon.png delete mode 100644 graphics/pokemon/icons/mewtwo_icon.png delete mode 100644 graphics/pokemon/icons/mightyena_icon.png delete mode 100644 graphics/pokemon/icons/milotic_icon.png delete mode 100644 graphics/pokemon/icons/miltank_icon.png delete mode 100644 graphics/pokemon/icons/minun_icon.png delete mode 100644 graphics/pokemon/icons/misdreavus_icon.png delete mode 100644 graphics/pokemon/icons/moltres_icon.png delete mode 100644 graphics/pokemon/icons/mr_mime_icon.png delete mode 100644 graphics/pokemon/icons/mudkip_icon.png delete mode 100644 graphics/pokemon/icons/muk_icon.png delete mode 100644 graphics/pokemon/icons/murkrow_icon.png delete mode 100644 graphics/pokemon/icons/natu_icon.png delete mode 100644 graphics/pokemon/icons/nidoking_icon.png delete mode 100644 graphics/pokemon/icons/nidoqueen_icon.png delete mode 100644 graphics/pokemon/icons/nidoran_f_icon.png delete mode 100644 graphics/pokemon/icons/nidoran_m_icon.png delete mode 100644 graphics/pokemon/icons/nidorina_icon.png delete mode 100644 graphics/pokemon/icons/nidorino_icon.png delete mode 100644 graphics/pokemon/icons/nincada_icon.png delete mode 100644 graphics/pokemon/icons/ninetales_icon.png delete mode 100644 graphics/pokemon/icons/ninjask_icon.png delete mode 100644 graphics/pokemon/icons/noctowl_icon.png delete mode 100644 graphics/pokemon/icons/nosepass_icon.png delete mode 100644 graphics/pokemon/icons/numel_icon.png delete mode 100644 graphics/pokemon/icons/nuzleaf_icon.png delete mode 100644 graphics/pokemon/icons/octillery_icon.png delete mode 100644 graphics/pokemon/icons/oddish_icon.png delete mode 100644 graphics/pokemon/icons/omanyte_icon.png delete mode 100644 graphics/pokemon/icons/omastar_icon.png delete mode 100644 graphics/pokemon/icons/onix_icon.png delete mode 100644 graphics/pokemon/icons/paras_icon.png delete mode 100644 graphics/pokemon/icons/parasect_icon.png delete mode 100644 graphics/pokemon/icons/pelipper_icon.png delete mode 100644 graphics/pokemon/icons/persian_icon.png delete mode 100644 graphics/pokemon/icons/phanpy_icon.png delete mode 100644 graphics/pokemon/icons/pichu_icon.png delete mode 100644 graphics/pokemon/icons/pidgeot_icon.png delete mode 100644 graphics/pokemon/icons/pidgeotto_icon.png delete mode 100644 graphics/pokemon/icons/pidgey_icon.png delete mode 100644 graphics/pokemon/icons/pikachu_icon.png delete mode 100644 graphics/pokemon/icons/piloswine_icon.png delete mode 100644 graphics/pokemon/icons/pineco_icon.png delete mode 100644 graphics/pokemon/icons/pinsir_icon.png delete mode 100644 graphics/pokemon/icons/plusle_icon.png delete mode 100644 graphics/pokemon/icons/politoed_icon.png delete mode 100644 graphics/pokemon/icons/poliwag_icon.png delete mode 100644 graphics/pokemon/icons/poliwhirl_icon.png delete mode 100644 graphics/pokemon/icons/poliwrath_icon.png delete mode 100644 graphics/pokemon/icons/ponyta_icon.png delete mode 100644 graphics/pokemon/icons/poochyena_icon.png delete mode 100644 graphics/pokemon/icons/porygon2_icon.png delete mode 100644 graphics/pokemon/icons/porygon_icon.png delete mode 100644 graphics/pokemon/icons/primeape_icon.png delete mode 100644 graphics/pokemon/icons/psyduck_icon.png delete mode 100644 graphics/pokemon/icons/pupitar_icon.png delete mode 100644 graphics/pokemon/icons/quagsire_icon.png delete mode 100644 graphics/pokemon/icons/question_mark_icon.png delete mode 100644 graphics/pokemon/icons/quilava_icon.png delete mode 100644 graphics/pokemon/icons/qwilfish_icon.png delete mode 100644 graphics/pokemon/icons/raichu_icon.png delete mode 100644 graphics/pokemon/icons/raikou_icon.png delete mode 100644 graphics/pokemon/icons/ralts_icon.png delete mode 100644 graphics/pokemon/icons/rapidash_icon.png delete mode 100644 graphics/pokemon/icons/raticate_icon.png delete mode 100644 graphics/pokemon/icons/rattata_icon.png delete mode 100644 graphics/pokemon/icons/rayquaza_icon.png delete mode 100644 graphics/pokemon/icons/regice_icon.png delete mode 100644 graphics/pokemon/icons/regirock_icon.png delete mode 100644 graphics/pokemon/icons/registeel_icon.png delete mode 100644 graphics/pokemon/icons/relicanth_icon.png delete mode 100644 graphics/pokemon/icons/remoraid_icon.png delete mode 100644 graphics/pokemon/icons/rhydon_icon.png delete mode 100644 graphics/pokemon/icons/rhyhorn_icon.png delete mode 100644 graphics/pokemon/icons/roselia_icon.png delete mode 100644 graphics/pokemon/icons/sableye_icon.png delete mode 100644 graphics/pokemon/icons/salamence_icon.png delete mode 100644 graphics/pokemon/icons/sandshrew_icon.png delete mode 100644 graphics/pokemon/icons/sandslash_icon.png delete mode 100644 graphics/pokemon/icons/sceptile_icon.png delete mode 100644 graphics/pokemon/icons/scizor_icon.png delete mode 100644 graphics/pokemon/icons/scyther_icon.png delete mode 100644 graphics/pokemon/icons/seadra_icon.png delete mode 100644 graphics/pokemon/icons/seaking_icon.png delete mode 100644 graphics/pokemon/icons/sealeo_icon.png delete mode 100644 graphics/pokemon/icons/seedot_icon.png delete mode 100644 graphics/pokemon/icons/seel_icon.png delete mode 100644 graphics/pokemon/icons/sentret_icon.png delete mode 100644 graphics/pokemon/icons/seviper_icon.png delete mode 100644 graphics/pokemon/icons/sharpedo_icon.png delete mode 100644 graphics/pokemon/icons/shedinja_icon.png delete mode 100644 graphics/pokemon/icons/shelgon_icon.png delete mode 100644 graphics/pokemon/icons/shellder_icon.png delete mode 100644 graphics/pokemon/icons/shiftry_icon.png delete mode 100644 graphics/pokemon/icons/shroomish_icon.png delete mode 100644 graphics/pokemon/icons/shuckle_icon.png delete mode 100644 graphics/pokemon/icons/shuppet_icon.png delete mode 100644 graphics/pokemon/icons/silcoon_icon.png delete mode 100644 graphics/pokemon/icons/skarmory_icon.png delete mode 100644 graphics/pokemon/icons/skiploom_icon.png delete mode 100644 graphics/pokemon/icons/skitty_icon.png delete mode 100644 graphics/pokemon/icons/slaking_icon.png delete mode 100644 graphics/pokemon/icons/slakoth_icon.png delete mode 100644 graphics/pokemon/icons/slowbro_icon.png delete mode 100644 graphics/pokemon/icons/slowking_icon.png delete mode 100644 graphics/pokemon/icons/slowpoke_icon.png delete mode 100644 graphics/pokemon/icons/slugma_icon.png delete mode 100644 graphics/pokemon/icons/smeargle_icon.png delete mode 100644 graphics/pokemon/icons/smoochum_icon.png delete mode 100644 graphics/pokemon/icons/sneasel_icon.png delete mode 100644 graphics/pokemon/icons/snorlax_icon.png delete mode 100644 graphics/pokemon/icons/snorunt_icon.png delete mode 100644 graphics/pokemon/icons/snubbull_icon.png delete mode 100644 graphics/pokemon/icons/solrock_icon.png delete mode 100644 graphics/pokemon/icons/spearow_icon.png delete mode 100644 graphics/pokemon/icons/spheal_icon.png delete mode 100644 graphics/pokemon/icons/spinarak_icon.png delete mode 100644 graphics/pokemon/icons/spinda_icon.png delete mode 100644 graphics/pokemon/icons/spoink_icon.png delete mode 100644 graphics/pokemon/icons/squirtle_icon.png delete mode 100644 graphics/pokemon/icons/stantler_icon.png delete mode 100644 graphics/pokemon/icons/starmie_icon.png delete mode 100644 graphics/pokemon/icons/staryu_icon.png delete mode 100644 graphics/pokemon/icons/steelix_icon.png delete mode 100644 graphics/pokemon/icons/sudowoodo_icon.png delete mode 100644 graphics/pokemon/icons/suicune_icon.png delete mode 100644 graphics/pokemon/icons/sunflora_icon.png delete mode 100644 graphics/pokemon/icons/sunkern_icon.png delete mode 100644 graphics/pokemon/icons/surskit_icon.png delete mode 100644 graphics/pokemon/icons/swablu_icon.png delete mode 100644 graphics/pokemon/icons/swalot_icon.png delete mode 100644 graphics/pokemon/icons/swampert_icon.png delete mode 100644 graphics/pokemon/icons/swellow_icon.png delete mode 100644 graphics/pokemon/icons/swinub_icon.png delete mode 100644 graphics/pokemon/icons/taillow_icon.png delete mode 100644 graphics/pokemon/icons/tangela_icon.png delete mode 100644 graphics/pokemon/icons/tauros_icon.png delete mode 100644 graphics/pokemon/icons/teddiursa_icon.png delete mode 100644 graphics/pokemon/icons/tentacool_icon.png delete mode 100644 graphics/pokemon/icons/tentacruel_icon.png delete mode 100644 graphics/pokemon/icons/togepi_icon.png delete mode 100644 graphics/pokemon/icons/togetic_icon.png delete mode 100644 graphics/pokemon/icons/torchic_icon.png delete mode 100644 graphics/pokemon/icons/torkoal_icon.png delete mode 100644 graphics/pokemon/icons/totodile_icon.png delete mode 100644 graphics/pokemon/icons/trapinch_icon.png delete mode 100644 graphics/pokemon/icons/treecko_icon.png delete mode 100644 graphics/pokemon/icons/tropius_icon.png delete mode 100644 graphics/pokemon/icons/typhlosion_icon.png delete mode 100644 graphics/pokemon/icons/tyranitar_icon.png delete mode 100644 graphics/pokemon/icons/tyrogue_icon.png delete mode 100644 graphics/pokemon/icons/umbreon_icon.png delete mode 100644 graphics/pokemon/icons/unown_B_icon.png delete mode 100644 graphics/pokemon/icons/unown_C_icon.png delete mode 100644 graphics/pokemon/icons/unown_D_icon.png delete mode 100644 graphics/pokemon/icons/unown_E_icon.png delete mode 100644 graphics/pokemon/icons/unown_F_icon.png delete mode 100644 graphics/pokemon/icons/unown_G_icon.png delete mode 100644 graphics/pokemon/icons/unown_H_icon.png delete mode 100644 graphics/pokemon/icons/unown_I_icon.png delete mode 100644 graphics/pokemon/icons/unown_J_icon.png delete mode 100644 graphics/pokemon/icons/unown_K_icon.png delete mode 100644 graphics/pokemon/icons/unown_L_icon.png delete mode 100644 graphics/pokemon/icons/unown_M_icon.png delete mode 100644 graphics/pokemon/icons/unown_N_icon.png delete mode 100644 graphics/pokemon/icons/unown_O_icon.png delete mode 100644 graphics/pokemon/icons/unown_P_icon.png delete mode 100644 graphics/pokemon/icons/unown_Q_icon.png delete mode 100644 graphics/pokemon/icons/unown_R_icon.png delete mode 100644 graphics/pokemon/icons/unown_S_icon.png delete mode 100644 graphics/pokemon/icons/unown_T_icon.png delete mode 100644 graphics/pokemon/icons/unown_U_icon.png delete mode 100644 graphics/pokemon/icons/unown_V_icon.png delete mode 100644 graphics/pokemon/icons/unown_W_icon.png delete mode 100644 graphics/pokemon/icons/unown_X_icon.png delete mode 100644 graphics/pokemon/icons/unown_Y_icon.png delete mode 100644 graphics/pokemon/icons/unown_Z_icon.png delete mode 100644 graphics/pokemon/icons/unown_a_icon.png delete mode 100644 graphics/pokemon/icons/unown_exclamation_mark_icon.png delete mode 100644 graphics/pokemon/icons/unown_question_mark_icon.png delete mode 100644 graphics/pokemon/icons/ursaring_icon.png delete mode 100644 graphics/pokemon/icons/vaporeon_icon.png delete mode 100644 graphics/pokemon/icons/venomoth_icon.png delete mode 100644 graphics/pokemon/icons/venonat_icon.png delete mode 100644 graphics/pokemon/icons/venusaur_icon.png delete mode 100644 graphics/pokemon/icons/vibrava_icon.png delete mode 100644 graphics/pokemon/icons/victreebel_icon.png delete mode 100644 graphics/pokemon/icons/vigoroth_icon.png delete mode 100644 graphics/pokemon/icons/vileplume_icon.png delete mode 100644 graphics/pokemon/icons/volbeat_icon.png delete mode 100644 graphics/pokemon/icons/voltorb_icon.png delete mode 100644 graphics/pokemon/icons/vulpix_icon.png delete mode 100644 graphics/pokemon/icons/wailmer_icon.png delete mode 100644 graphics/pokemon/icons/wailord_icon.png delete mode 100644 graphics/pokemon/icons/walrein_icon.png delete mode 100644 graphics/pokemon/icons/wartortle_icon.png delete mode 100644 graphics/pokemon/icons/weedle_icon.png delete mode 100644 graphics/pokemon/icons/weepinbell_icon.png delete mode 100644 graphics/pokemon/icons/weezing_icon.png delete mode 100644 graphics/pokemon/icons/whiscash_icon.png delete mode 100644 graphics/pokemon/icons/whismur_icon.png delete mode 100644 graphics/pokemon/icons/wigglytuff_icon.png delete mode 100644 graphics/pokemon/icons/wingull_icon.png delete mode 100644 graphics/pokemon/icons/wobbuffet_icon.png delete mode 100644 graphics/pokemon/icons/wooper_icon.png delete mode 100644 graphics/pokemon/icons/wurmple_icon.png delete mode 100644 graphics/pokemon/icons/wynaut_icon.png delete mode 100644 graphics/pokemon/icons/xatu_icon.png delete mode 100644 graphics/pokemon/icons/yanma_icon.png delete mode 100644 graphics/pokemon/icons/zangoose_icon.png delete mode 100644 graphics/pokemon/icons/zapdos_icon.png delete mode 100644 graphics/pokemon/icons/zigzagoon_icon.png delete mode 100644 graphics/pokemon/icons/zubat_icon.png create mode 100644 graphics/pokemon/igglybuff/back.png create mode 100644 graphics/pokemon/igglybuff/footprint.png create mode 100644 graphics/pokemon/igglybuff/front.png create mode 100644 graphics/pokemon/igglybuff/icon.png create mode 100644 graphics/pokemon/igglybuff/normal.pal create mode 100644 graphics/pokemon/igglybuff/shiny.pal create mode 100644 graphics/pokemon/illumise/back.png create mode 100644 graphics/pokemon/illumise/footprint.png create mode 100644 graphics/pokemon/illumise/front.png create mode 100644 graphics/pokemon/illumise/icon.png create mode 100644 graphics/pokemon/illumise/normal.pal create mode 100644 graphics/pokemon/illumise/shiny.pal create mode 100644 graphics/pokemon/ivysaur/back.png create mode 100644 graphics/pokemon/ivysaur/footprint.png create mode 100644 graphics/pokemon/ivysaur/front.png create mode 100644 graphics/pokemon/ivysaur/icon.png create mode 100644 graphics/pokemon/ivysaur/normal.pal create mode 100644 graphics/pokemon/ivysaur/shiny.pal create mode 100644 graphics/pokemon/jigglypuff/back.png create mode 100644 graphics/pokemon/jigglypuff/footprint.png create mode 100644 graphics/pokemon/jigglypuff/front.png create mode 100644 graphics/pokemon/jigglypuff/icon.png create mode 100644 graphics/pokemon/jigglypuff/normal.pal create mode 100644 graphics/pokemon/jigglypuff/shiny.pal create mode 100644 graphics/pokemon/jirachi/back.png create mode 100644 graphics/pokemon/jirachi/footprint.png create mode 100644 graphics/pokemon/jirachi/front.png create mode 100644 graphics/pokemon/jirachi/icon.png create mode 100644 graphics/pokemon/jirachi/normal.pal create mode 100644 graphics/pokemon/jirachi/shiny.pal create mode 100644 graphics/pokemon/jolteon/back.png create mode 100644 graphics/pokemon/jolteon/footprint.png create mode 100644 graphics/pokemon/jolteon/front.png create mode 100644 graphics/pokemon/jolteon/icon.png create mode 100644 graphics/pokemon/jolteon/normal.pal create mode 100644 graphics/pokemon/jolteon/shiny.pal create mode 100644 graphics/pokemon/jumpluff/back.png create mode 100644 graphics/pokemon/jumpluff/footprint.png create mode 100644 graphics/pokemon/jumpluff/front.png create mode 100644 graphics/pokemon/jumpluff/icon.png create mode 100644 graphics/pokemon/jumpluff/normal.pal create mode 100644 graphics/pokemon/jumpluff/shiny.pal create mode 100644 graphics/pokemon/jynx/back.png create mode 100644 graphics/pokemon/jynx/footprint.png create mode 100644 graphics/pokemon/jynx/front.png create mode 100644 graphics/pokemon/jynx/icon.png create mode 100644 graphics/pokemon/jynx/normal.pal create mode 100644 graphics/pokemon/jynx/shiny.pal create mode 100644 graphics/pokemon/kabuto/back.png create mode 100644 graphics/pokemon/kabuto/footprint.png create mode 100644 graphics/pokemon/kabuto/front.png create mode 100644 graphics/pokemon/kabuto/icon.png create mode 100644 graphics/pokemon/kabuto/normal.pal create mode 100644 graphics/pokemon/kabuto/shiny.pal create mode 100644 graphics/pokemon/kabutops/back.png create mode 100644 graphics/pokemon/kabutops/footprint.png create mode 100644 graphics/pokemon/kabutops/front.png create mode 100644 graphics/pokemon/kabutops/icon.png create mode 100644 graphics/pokemon/kabutops/normal.pal create mode 100644 graphics/pokemon/kabutops/shiny.pal create mode 100644 graphics/pokemon/kadabra/back.png create mode 100644 graphics/pokemon/kadabra/footprint.png create mode 100644 graphics/pokemon/kadabra/front.png create mode 100644 graphics/pokemon/kadabra/icon.png create mode 100644 graphics/pokemon/kadabra/normal.pal create mode 100644 graphics/pokemon/kadabra/shiny.pal create mode 100644 graphics/pokemon/kakuna/back.png create mode 100644 graphics/pokemon/kakuna/footprint.png create mode 100644 graphics/pokemon/kakuna/front.png create mode 100644 graphics/pokemon/kakuna/icon.png create mode 100644 graphics/pokemon/kakuna/normal.pal create mode 100644 graphics/pokemon/kakuna/shiny.pal create mode 100644 graphics/pokemon/kangaskhan/back.png create mode 100644 graphics/pokemon/kangaskhan/footprint.png create mode 100644 graphics/pokemon/kangaskhan/front.png create mode 100644 graphics/pokemon/kangaskhan/icon.png create mode 100644 graphics/pokemon/kangaskhan/normal.pal create mode 100644 graphics/pokemon/kangaskhan/shiny.pal create mode 100644 graphics/pokemon/kecleon/back.png create mode 100644 graphics/pokemon/kecleon/footprint.png create mode 100644 graphics/pokemon/kecleon/front.png create mode 100644 graphics/pokemon/kecleon/icon.png create mode 100644 graphics/pokemon/kecleon/normal.pal create mode 100644 graphics/pokemon/kecleon/shiny.pal create mode 100644 graphics/pokemon/kingdra/back.png create mode 100644 graphics/pokemon/kingdra/footprint.png create mode 100644 graphics/pokemon/kingdra/front.png create mode 100644 graphics/pokemon/kingdra/icon.png create mode 100644 graphics/pokemon/kingdra/normal.pal create mode 100644 graphics/pokemon/kingdra/shiny.pal create mode 100644 graphics/pokemon/kingler/back.png create mode 100644 graphics/pokemon/kingler/footprint.png create mode 100644 graphics/pokemon/kingler/front.png create mode 100644 graphics/pokemon/kingler/icon.png create mode 100644 graphics/pokemon/kingler/normal.pal create mode 100644 graphics/pokemon/kingler/shiny.pal create mode 100644 graphics/pokemon/kirlia/back.png create mode 100644 graphics/pokemon/kirlia/footprint.png create mode 100644 graphics/pokemon/kirlia/front.png create mode 100644 graphics/pokemon/kirlia/icon.png create mode 100644 graphics/pokemon/kirlia/normal.pal create mode 100644 graphics/pokemon/kirlia/shiny.pal create mode 100644 graphics/pokemon/koffing/back.png create mode 100644 graphics/pokemon/koffing/footprint.png create mode 100644 graphics/pokemon/koffing/front.png create mode 100644 graphics/pokemon/koffing/icon.png create mode 100644 graphics/pokemon/koffing/normal.pal create mode 100644 graphics/pokemon/koffing/shiny.pal create mode 100644 graphics/pokemon/krabby/back.png create mode 100644 graphics/pokemon/krabby/footprint.png create mode 100644 graphics/pokemon/krabby/front.png create mode 100644 graphics/pokemon/krabby/icon.png create mode 100644 graphics/pokemon/krabby/normal.pal create mode 100644 graphics/pokemon/krabby/shiny.pal create mode 100644 graphics/pokemon/kyogre/back.png create mode 100644 graphics/pokemon/kyogre/footprint.png create mode 100644 graphics/pokemon/kyogre/front.png create mode 100644 graphics/pokemon/kyogre/icon.png create mode 100644 graphics/pokemon/kyogre/normal.pal create mode 100644 graphics/pokemon/kyogre/shiny.pal create mode 100644 graphics/pokemon/lairon/back.png create mode 100644 graphics/pokemon/lairon/footprint.png create mode 100644 graphics/pokemon/lairon/front.png create mode 100644 graphics/pokemon/lairon/icon.png create mode 100644 graphics/pokemon/lairon/normal.pal create mode 100644 graphics/pokemon/lairon/shiny.pal create mode 100644 graphics/pokemon/lanturn/back.png create mode 100644 graphics/pokemon/lanturn/footprint.png create mode 100644 graphics/pokemon/lanturn/front.png create mode 100644 graphics/pokemon/lanturn/icon.png create mode 100644 graphics/pokemon/lanturn/normal.pal create mode 100644 graphics/pokemon/lanturn/shiny.pal create mode 100644 graphics/pokemon/lapras/back.png create mode 100644 graphics/pokemon/lapras/footprint.png create mode 100644 graphics/pokemon/lapras/front.png create mode 100644 graphics/pokemon/lapras/icon.png create mode 100644 graphics/pokemon/lapras/normal.pal create mode 100644 graphics/pokemon/lapras/shiny.pal create mode 100644 graphics/pokemon/larvitar/back.png create mode 100644 graphics/pokemon/larvitar/footprint.png create mode 100644 graphics/pokemon/larvitar/front.png create mode 100644 graphics/pokemon/larvitar/icon.png create mode 100644 graphics/pokemon/larvitar/normal.pal create mode 100644 graphics/pokemon/larvitar/shiny.pal create mode 100644 graphics/pokemon/latias/back.png create mode 100644 graphics/pokemon/latias/footprint.png create mode 100644 graphics/pokemon/latias/front.png create mode 100644 graphics/pokemon/latias/icon.png create mode 100644 graphics/pokemon/latias/normal.pal create mode 100644 graphics/pokemon/latias/shiny.pal create mode 100644 graphics/pokemon/latios/back.png create mode 100644 graphics/pokemon/latios/footprint.png create mode 100644 graphics/pokemon/latios/front.png create mode 100644 graphics/pokemon/latios/icon.png create mode 100644 graphics/pokemon/latios/normal.pal create mode 100644 graphics/pokemon/latios/shiny.pal create mode 100644 graphics/pokemon/ledian/back.png create mode 100644 graphics/pokemon/ledian/footprint.png create mode 100644 graphics/pokemon/ledian/front.png create mode 100644 graphics/pokemon/ledian/icon.png create mode 100644 graphics/pokemon/ledian/normal.pal create mode 100644 graphics/pokemon/ledian/shiny.pal create mode 100644 graphics/pokemon/ledyba/back.png create mode 100644 graphics/pokemon/ledyba/footprint.png create mode 100644 graphics/pokemon/ledyba/front.png create mode 100644 graphics/pokemon/ledyba/icon.png create mode 100644 graphics/pokemon/ledyba/normal.pal create mode 100644 graphics/pokemon/ledyba/shiny.pal create mode 100644 graphics/pokemon/lickitung/back.png create mode 100644 graphics/pokemon/lickitung/footprint.png create mode 100644 graphics/pokemon/lickitung/front.png create mode 100644 graphics/pokemon/lickitung/icon.png create mode 100644 graphics/pokemon/lickitung/normal.pal create mode 100644 graphics/pokemon/lickitung/shiny.pal create mode 100644 graphics/pokemon/lileep/back.png create mode 100644 graphics/pokemon/lileep/footprint.png create mode 100644 graphics/pokemon/lileep/front.png create mode 100644 graphics/pokemon/lileep/icon.png create mode 100644 graphics/pokemon/lileep/normal.pal create mode 100644 graphics/pokemon/lileep/shiny.pal create mode 100644 graphics/pokemon/linoone/back.png create mode 100644 graphics/pokemon/linoone/footprint.png create mode 100644 graphics/pokemon/linoone/front.png create mode 100644 graphics/pokemon/linoone/icon.png create mode 100644 graphics/pokemon/linoone/normal.pal create mode 100644 graphics/pokemon/linoone/shiny.pal create mode 100644 graphics/pokemon/lombre/back.png create mode 100644 graphics/pokemon/lombre/footprint.png create mode 100644 graphics/pokemon/lombre/front.png create mode 100644 graphics/pokemon/lombre/icon.png create mode 100644 graphics/pokemon/lombre/normal.pal create mode 100644 graphics/pokemon/lombre/shiny.pal create mode 100644 graphics/pokemon/lotad/back.png create mode 100644 graphics/pokemon/lotad/footprint.png create mode 100644 graphics/pokemon/lotad/front.png create mode 100644 graphics/pokemon/lotad/icon.png create mode 100644 graphics/pokemon/lotad/normal.pal create mode 100644 graphics/pokemon/lotad/shiny.pal create mode 100644 graphics/pokemon/loudred/back.png create mode 100644 graphics/pokemon/loudred/footprint.png create mode 100644 graphics/pokemon/loudred/front.png create mode 100644 graphics/pokemon/loudred/icon.png create mode 100644 graphics/pokemon/loudred/normal.pal create mode 100644 graphics/pokemon/loudred/shiny.pal create mode 100644 graphics/pokemon/ludicolo/back.png create mode 100644 graphics/pokemon/ludicolo/footprint.png create mode 100644 graphics/pokemon/ludicolo/front.png create mode 100644 graphics/pokemon/ludicolo/icon.png create mode 100644 graphics/pokemon/ludicolo/normal.pal create mode 100644 graphics/pokemon/ludicolo/shiny.pal create mode 100644 graphics/pokemon/lugia/back.png create mode 100644 graphics/pokemon/lugia/footprint.png create mode 100644 graphics/pokemon/lugia/front.png create mode 100644 graphics/pokemon/lugia/icon.png create mode 100644 graphics/pokemon/lugia/normal.pal create mode 100644 graphics/pokemon/lugia/shiny.pal create mode 100644 graphics/pokemon/lunatone/back.png create mode 100644 graphics/pokemon/lunatone/footprint.png create mode 100644 graphics/pokemon/lunatone/front.png create mode 100644 graphics/pokemon/lunatone/icon.png create mode 100644 graphics/pokemon/lunatone/normal.pal create mode 100644 graphics/pokemon/lunatone/shiny.pal create mode 100644 graphics/pokemon/luvdisc/back.png create mode 100644 graphics/pokemon/luvdisc/footprint.png create mode 100644 graphics/pokemon/luvdisc/front.png create mode 100644 graphics/pokemon/luvdisc/icon.png create mode 100644 graphics/pokemon/luvdisc/normal.pal create mode 100644 graphics/pokemon/luvdisc/shiny.pal create mode 100644 graphics/pokemon/machamp/back.png create mode 100644 graphics/pokemon/machamp/footprint.png create mode 100644 graphics/pokemon/machamp/front.png create mode 100644 graphics/pokemon/machamp/icon.png create mode 100644 graphics/pokemon/machamp/normal.pal create mode 100644 graphics/pokemon/machamp/shiny.pal create mode 100644 graphics/pokemon/machoke/back.png create mode 100644 graphics/pokemon/machoke/footprint.png create mode 100644 graphics/pokemon/machoke/front.png create mode 100644 graphics/pokemon/machoke/icon.png create mode 100644 graphics/pokemon/machoke/normal.pal create mode 100644 graphics/pokemon/machoke/shiny.pal create mode 100644 graphics/pokemon/machop/back.png create mode 100644 graphics/pokemon/machop/footprint.png create mode 100644 graphics/pokemon/machop/front.png create mode 100644 graphics/pokemon/machop/icon.png create mode 100644 graphics/pokemon/machop/normal.pal create mode 100644 graphics/pokemon/machop/shiny.pal create mode 100644 graphics/pokemon/magby/back.png create mode 100644 graphics/pokemon/magby/footprint.png create mode 100644 graphics/pokemon/magby/front.png create mode 100644 graphics/pokemon/magby/icon.png create mode 100644 graphics/pokemon/magby/normal.pal create mode 100644 graphics/pokemon/magby/shiny.pal create mode 100644 graphics/pokemon/magcargo/back.png create mode 100644 graphics/pokemon/magcargo/footprint.png create mode 100644 graphics/pokemon/magcargo/front.png create mode 100644 graphics/pokemon/magcargo/icon.png create mode 100644 graphics/pokemon/magcargo/normal.pal create mode 100644 graphics/pokemon/magcargo/shiny.pal create mode 100644 graphics/pokemon/magikarp/back.png create mode 100644 graphics/pokemon/magikarp/footprint.png create mode 100644 graphics/pokemon/magikarp/front.png create mode 100644 graphics/pokemon/magikarp/icon.png create mode 100644 graphics/pokemon/magikarp/normal.pal create mode 100644 graphics/pokemon/magikarp/shiny.pal create mode 100644 graphics/pokemon/magmar/back.png create mode 100644 graphics/pokemon/magmar/footprint.png create mode 100644 graphics/pokemon/magmar/front.png create mode 100644 graphics/pokemon/magmar/icon.png create mode 100644 graphics/pokemon/magmar/normal.pal create mode 100644 graphics/pokemon/magmar/shiny.pal create mode 100644 graphics/pokemon/magnemite/back.png create mode 100644 graphics/pokemon/magnemite/footprint.png create mode 100644 graphics/pokemon/magnemite/front.png create mode 100644 graphics/pokemon/magnemite/icon.png create mode 100644 graphics/pokemon/magnemite/normal.pal create mode 100644 graphics/pokemon/magnemite/shiny.pal create mode 100644 graphics/pokemon/magneton/back.png create mode 100644 graphics/pokemon/magneton/footprint.png create mode 100644 graphics/pokemon/magneton/front.png create mode 100644 graphics/pokemon/magneton/icon.png create mode 100644 graphics/pokemon/magneton/normal.pal create mode 100644 graphics/pokemon/magneton/shiny.pal create mode 100644 graphics/pokemon/makuhita/back.png create mode 100644 graphics/pokemon/makuhita/footprint.png create mode 100644 graphics/pokemon/makuhita/front.png create mode 100644 graphics/pokemon/makuhita/icon.png create mode 100644 graphics/pokemon/makuhita/normal.pal create mode 100644 graphics/pokemon/makuhita/shiny.pal create mode 100644 graphics/pokemon/manectric/back.png create mode 100644 graphics/pokemon/manectric/footprint.png create mode 100644 graphics/pokemon/manectric/front.png create mode 100644 graphics/pokemon/manectric/icon.png create mode 100644 graphics/pokemon/manectric/normal.pal create mode 100644 graphics/pokemon/manectric/shiny.pal create mode 100644 graphics/pokemon/mankey/back.png create mode 100644 graphics/pokemon/mankey/footprint.png create mode 100644 graphics/pokemon/mankey/front.png create mode 100644 graphics/pokemon/mankey/icon.png create mode 100644 graphics/pokemon/mankey/normal.pal create mode 100644 graphics/pokemon/mankey/shiny.pal create mode 100644 graphics/pokemon/mantine/back.png create mode 100644 graphics/pokemon/mantine/footprint.png create mode 100644 graphics/pokemon/mantine/front.png create mode 100644 graphics/pokemon/mantine/icon.png create mode 100644 graphics/pokemon/mantine/normal.pal create mode 100644 graphics/pokemon/mantine/shiny.pal create mode 100644 graphics/pokemon/mareep/back.png create mode 100644 graphics/pokemon/mareep/footprint.png create mode 100644 graphics/pokemon/mareep/front.png create mode 100644 graphics/pokemon/mareep/icon.png create mode 100644 graphics/pokemon/mareep/normal.pal create mode 100644 graphics/pokemon/mareep/shiny.pal create mode 100644 graphics/pokemon/marill/back.png create mode 100644 graphics/pokemon/marill/footprint.png create mode 100644 graphics/pokemon/marill/front.png create mode 100644 graphics/pokemon/marill/icon.png create mode 100644 graphics/pokemon/marill/normal.pal create mode 100644 graphics/pokemon/marill/shiny.pal create mode 100644 graphics/pokemon/marowak/back.png create mode 100644 graphics/pokemon/marowak/footprint.png create mode 100644 graphics/pokemon/marowak/front.png create mode 100644 graphics/pokemon/marowak/icon.png create mode 100644 graphics/pokemon/marowak/normal.pal create mode 100644 graphics/pokemon/marowak/shiny.pal create mode 100644 graphics/pokemon/marshtomp/back.png create mode 100644 graphics/pokemon/marshtomp/footprint.png create mode 100644 graphics/pokemon/marshtomp/front.png create mode 100644 graphics/pokemon/marshtomp/icon.png create mode 100644 graphics/pokemon/marshtomp/normal.pal create mode 100644 graphics/pokemon/marshtomp/shiny.pal create mode 100644 graphics/pokemon/masquerain/back.png create mode 100644 graphics/pokemon/masquerain/footprint.png create mode 100644 graphics/pokemon/masquerain/front.png create mode 100644 graphics/pokemon/masquerain/icon.png create mode 100644 graphics/pokemon/masquerain/normal.pal create mode 100644 graphics/pokemon/masquerain/shiny.pal create mode 100644 graphics/pokemon/mawile/back.png create mode 100644 graphics/pokemon/mawile/footprint.png create mode 100644 graphics/pokemon/mawile/front.png create mode 100644 graphics/pokemon/mawile/icon.png create mode 100644 graphics/pokemon/mawile/normal.pal create mode 100644 graphics/pokemon/mawile/shiny.pal create mode 100644 graphics/pokemon/medicham/back.png create mode 100644 graphics/pokemon/medicham/footprint.png create mode 100644 graphics/pokemon/medicham/front.png create mode 100644 graphics/pokemon/medicham/icon.png create mode 100644 graphics/pokemon/medicham/normal.pal create mode 100644 graphics/pokemon/medicham/shiny.pal create mode 100644 graphics/pokemon/meditite/back.png create mode 100644 graphics/pokemon/meditite/footprint.png create mode 100644 graphics/pokemon/meditite/front.png create mode 100644 graphics/pokemon/meditite/icon.png create mode 100644 graphics/pokemon/meditite/normal.pal create mode 100644 graphics/pokemon/meditite/shiny.pal create mode 100644 graphics/pokemon/meganium/back.png create mode 100644 graphics/pokemon/meganium/footprint.png create mode 100644 graphics/pokemon/meganium/front.png create mode 100644 graphics/pokemon/meganium/icon.png create mode 100644 graphics/pokemon/meganium/normal.pal create mode 100644 graphics/pokemon/meganium/shiny.pal create mode 100644 graphics/pokemon/meowth/back.png create mode 100644 graphics/pokemon/meowth/footprint.png create mode 100644 graphics/pokemon/meowth/front.png create mode 100644 graphics/pokemon/meowth/icon.png create mode 100644 graphics/pokemon/meowth/normal.pal create mode 100644 graphics/pokemon/meowth/shiny.pal create mode 100644 graphics/pokemon/metagross/back.png create mode 100644 graphics/pokemon/metagross/footprint.png create mode 100644 graphics/pokemon/metagross/front.png create mode 100644 graphics/pokemon/metagross/icon.png create mode 100644 graphics/pokemon/metagross/normal.pal create mode 100644 graphics/pokemon/metagross/shiny.pal create mode 100644 graphics/pokemon/metang/back.png create mode 100644 graphics/pokemon/metang/footprint.png create mode 100644 graphics/pokemon/metang/front.png create mode 100644 graphics/pokemon/metang/icon.png create mode 100644 graphics/pokemon/metang/normal.pal create mode 100644 graphics/pokemon/metang/shiny.pal create mode 100644 graphics/pokemon/metapod/back.png create mode 100644 graphics/pokemon/metapod/footprint.png create mode 100644 graphics/pokemon/metapod/front.png create mode 100644 graphics/pokemon/metapod/icon.png create mode 100644 graphics/pokemon/metapod/normal.pal create mode 100644 graphics/pokemon/metapod/shiny.pal create mode 100644 graphics/pokemon/mew/back.png create mode 100644 graphics/pokemon/mew/footprint.png create mode 100644 graphics/pokemon/mew/front.png create mode 100644 graphics/pokemon/mew/icon.png create mode 100644 graphics/pokemon/mew/normal.pal create mode 100644 graphics/pokemon/mew/shiny.pal create mode 100644 graphics/pokemon/mewtwo/back.png create mode 100644 graphics/pokemon/mewtwo/footprint.png create mode 100644 graphics/pokemon/mewtwo/front.png create mode 100644 graphics/pokemon/mewtwo/icon.png create mode 100644 graphics/pokemon/mewtwo/normal.pal create mode 100644 graphics/pokemon/mewtwo/shiny.pal create mode 100644 graphics/pokemon/mightyena/back.png create mode 100644 graphics/pokemon/mightyena/footprint.png create mode 100644 graphics/pokemon/mightyena/front.png create mode 100644 graphics/pokemon/mightyena/icon.png create mode 100644 graphics/pokemon/mightyena/normal.pal create mode 100644 graphics/pokemon/mightyena/shiny.pal create mode 100644 graphics/pokemon/milotic/back.png create mode 100644 graphics/pokemon/milotic/footprint.png create mode 100644 graphics/pokemon/milotic/front.png create mode 100644 graphics/pokemon/milotic/icon.png create mode 100644 graphics/pokemon/milotic/normal.pal create mode 100644 graphics/pokemon/milotic/shiny.pal create mode 100644 graphics/pokemon/miltank/back.png create mode 100644 graphics/pokemon/miltank/footprint.png create mode 100644 graphics/pokemon/miltank/front.png create mode 100644 graphics/pokemon/miltank/icon.png create mode 100644 graphics/pokemon/miltank/normal.pal create mode 100644 graphics/pokemon/miltank/shiny.pal create mode 100644 graphics/pokemon/minun/back.png create mode 100644 graphics/pokemon/minun/footprint.png create mode 100644 graphics/pokemon/minun/front.png create mode 100644 graphics/pokemon/minun/icon.png create mode 100644 graphics/pokemon/minun/normal.pal create mode 100644 graphics/pokemon/minun/shiny.pal create mode 100644 graphics/pokemon/misdreavus/back.png create mode 100644 graphics/pokemon/misdreavus/footprint.png create mode 100644 graphics/pokemon/misdreavus/front.png create mode 100644 graphics/pokemon/misdreavus/icon.png create mode 100644 graphics/pokemon/misdreavus/normal.pal create mode 100644 graphics/pokemon/misdreavus/shiny.pal create mode 100644 graphics/pokemon/moltres/back.png create mode 100644 graphics/pokemon/moltres/footprint.png create mode 100644 graphics/pokemon/moltres/front.png create mode 100644 graphics/pokemon/moltres/icon.png create mode 100644 graphics/pokemon/moltres/normal.pal create mode 100644 graphics/pokemon/moltres/shiny.pal create mode 100644 graphics/pokemon/mr_mime/back.png create mode 100644 graphics/pokemon/mr_mime/footprint.png create mode 100644 graphics/pokemon/mr_mime/front.png create mode 100644 graphics/pokemon/mr_mime/icon.png create mode 100644 graphics/pokemon/mr_mime/normal.pal create mode 100644 graphics/pokemon/mr_mime/shiny.pal create mode 100644 graphics/pokemon/mudkip/back.png create mode 100644 graphics/pokemon/mudkip/footprint.png create mode 100644 graphics/pokemon/mudkip/front.png create mode 100644 graphics/pokemon/mudkip/icon.png create mode 100644 graphics/pokemon/mudkip/normal.pal create mode 100644 graphics/pokemon/mudkip/shiny.pal create mode 100644 graphics/pokemon/muk/back.png create mode 100644 graphics/pokemon/muk/footprint.png create mode 100644 graphics/pokemon/muk/front.png create mode 100644 graphics/pokemon/muk/icon.png create mode 100644 graphics/pokemon/muk/normal.pal create mode 100644 graphics/pokemon/muk/shiny.pal create mode 100644 graphics/pokemon/murkrow/back.png create mode 100644 graphics/pokemon/murkrow/footprint.png create mode 100644 graphics/pokemon/murkrow/front.png create mode 100644 graphics/pokemon/murkrow/icon.png create mode 100644 graphics/pokemon/murkrow/normal.pal create mode 100644 graphics/pokemon/murkrow/shiny.pal create mode 100644 graphics/pokemon/natu/back.png create mode 100644 graphics/pokemon/natu/footprint.png create mode 100644 graphics/pokemon/natu/front.png create mode 100644 graphics/pokemon/natu/icon.png create mode 100644 graphics/pokemon/natu/normal.pal create mode 100644 graphics/pokemon/natu/shiny.pal create mode 100644 graphics/pokemon/nidoking/back.png create mode 100644 graphics/pokemon/nidoking/footprint.png create mode 100644 graphics/pokemon/nidoking/front.png create mode 100644 graphics/pokemon/nidoking/icon.png create mode 100644 graphics/pokemon/nidoking/normal.pal create mode 100644 graphics/pokemon/nidoking/shiny.pal create mode 100644 graphics/pokemon/nidoqueen/back.png create mode 100644 graphics/pokemon/nidoqueen/footprint.png create mode 100644 graphics/pokemon/nidoqueen/front.png create mode 100644 graphics/pokemon/nidoqueen/icon.png create mode 100644 graphics/pokemon/nidoqueen/normal.pal create mode 100644 graphics/pokemon/nidoqueen/shiny.pal create mode 100644 graphics/pokemon/nidoran_f/back.png create mode 100644 graphics/pokemon/nidoran_f/footprint.png create mode 100644 graphics/pokemon/nidoran_f/front.png create mode 100644 graphics/pokemon/nidoran_f/icon.png create mode 100644 graphics/pokemon/nidoran_f/normal.pal create mode 100644 graphics/pokemon/nidoran_f/shiny.pal create mode 100644 graphics/pokemon/nidoran_m/back.png create mode 100644 graphics/pokemon/nidoran_m/footprint.png create mode 100644 graphics/pokemon/nidoran_m/front.png create mode 100644 graphics/pokemon/nidoran_m/icon.png create mode 100644 graphics/pokemon/nidoran_m/normal.pal create mode 100644 graphics/pokemon/nidoran_m/shiny.pal create mode 100644 graphics/pokemon/nidorina/back.png create mode 100644 graphics/pokemon/nidorina/footprint.png create mode 100644 graphics/pokemon/nidorina/front.png create mode 100644 graphics/pokemon/nidorina/icon.png create mode 100644 graphics/pokemon/nidorina/normal.pal create mode 100644 graphics/pokemon/nidorina/shiny.pal create mode 100644 graphics/pokemon/nidorino/back.png create mode 100644 graphics/pokemon/nidorino/footprint.png create mode 100644 graphics/pokemon/nidorino/front.png create mode 100644 graphics/pokemon/nidorino/icon.png create mode 100644 graphics/pokemon/nidorino/normal.pal create mode 100644 graphics/pokemon/nidorino/shiny.pal create mode 100644 graphics/pokemon/nincada/back.png create mode 100644 graphics/pokemon/nincada/footprint.png create mode 100644 graphics/pokemon/nincada/front.png create mode 100644 graphics/pokemon/nincada/icon.png create mode 100644 graphics/pokemon/nincada/normal.pal create mode 100644 graphics/pokemon/nincada/shiny.pal create mode 100644 graphics/pokemon/ninetales/back.png create mode 100644 graphics/pokemon/ninetales/footprint.png create mode 100644 graphics/pokemon/ninetales/front.png create mode 100644 graphics/pokemon/ninetales/icon.png create mode 100644 graphics/pokemon/ninetales/normal.pal create mode 100644 graphics/pokemon/ninetales/shiny.pal create mode 100644 graphics/pokemon/ninjask/back.png create mode 100644 graphics/pokemon/ninjask/footprint.png create mode 100644 graphics/pokemon/ninjask/front.png create mode 100644 graphics/pokemon/ninjask/icon.png create mode 100644 graphics/pokemon/ninjask/normal.pal create mode 100644 graphics/pokemon/ninjask/shiny.pal create mode 100644 graphics/pokemon/noctowl/back.png create mode 100644 graphics/pokemon/noctowl/footprint.png create mode 100644 graphics/pokemon/noctowl/front.png create mode 100644 graphics/pokemon/noctowl/icon.png create mode 100644 graphics/pokemon/noctowl/normal.pal create mode 100644 graphics/pokemon/noctowl/shiny.pal create mode 100644 graphics/pokemon/nosepass/back.png create mode 100644 graphics/pokemon/nosepass/footprint.png create mode 100644 graphics/pokemon/nosepass/front.png create mode 100644 graphics/pokemon/nosepass/icon.png create mode 100644 graphics/pokemon/nosepass/normal.pal create mode 100644 graphics/pokemon/nosepass/shiny.pal create mode 100644 graphics/pokemon/numel/back.png create mode 100644 graphics/pokemon/numel/footprint.png create mode 100644 graphics/pokemon/numel/front.png create mode 100644 graphics/pokemon/numel/icon.png create mode 100644 graphics/pokemon/numel/normal.pal create mode 100644 graphics/pokemon/numel/shiny.pal create mode 100644 graphics/pokemon/nuzleaf/back.png create mode 100644 graphics/pokemon/nuzleaf/footprint.png create mode 100644 graphics/pokemon/nuzleaf/front.png create mode 100644 graphics/pokemon/nuzleaf/icon.png create mode 100644 graphics/pokemon/nuzleaf/normal.pal create mode 100644 graphics/pokemon/nuzleaf/shiny.pal create mode 100644 graphics/pokemon/octillery/back.png create mode 100644 graphics/pokemon/octillery/footprint.png create mode 100644 graphics/pokemon/octillery/front.png create mode 100644 graphics/pokemon/octillery/icon.png create mode 100644 graphics/pokemon/octillery/normal.pal create mode 100644 graphics/pokemon/octillery/shiny.pal create mode 100644 graphics/pokemon/oddish/back.png create mode 100644 graphics/pokemon/oddish/footprint.png create mode 100644 graphics/pokemon/oddish/front.png create mode 100644 graphics/pokemon/oddish/icon.png create mode 100644 graphics/pokemon/oddish/normal.pal create mode 100644 graphics/pokemon/oddish/shiny.pal create mode 100644 graphics/pokemon/omanyte/back.png create mode 100644 graphics/pokemon/omanyte/footprint.png create mode 100644 graphics/pokemon/omanyte/front.png create mode 100644 graphics/pokemon/omanyte/icon.png create mode 100644 graphics/pokemon/omanyte/normal.pal create mode 100644 graphics/pokemon/omanyte/shiny.pal create mode 100644 graphics/pokemon/omastar/back.png create mode 100644 graphics/pokemon/omastar/footprint.png create mode 100644 graphics/pokemon/omastar/front.png create mode 100644 graphics/pokemon/omastar/icon.png create mode 100644 graphics/pokemon/omastar/normal.pal create mode 100644 graphics/pokemon/omastar/shiny.pal create mode 100644 graphics/pokemon/onix/back.png create mode 100644 graphics/pokemon/onix/footprint.png create mode 100644 graphics/pokemon/onix/front.png create mode 100644 graphics/pokemon/onix/icon.png create mode 100644 graphics/pokemon/onix/normal.pal create mode 100644 graphics/pokemon/onix/shiny.pal delete mode 100644 graphics/pokemon/palettes/abra_palette.pal delete mode 100644 graphics/pokemon/palettes/abra_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/absol_palette.pal delete mode 100644 graphics/pokemon/palettes/absol_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/aerodactyl_palette.pal delete mode 100644 graphics/pokemon/palettes/aerodactyl_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/aggron_palette.pal delete mode 100644 graphics/pokemon/palettes/aggron_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/aipom_palette.pal delete mode 100644 graphics/pokemon/palettes/aipom_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/alakazam_palette.pal delete mode 100644 graphics/pokemon/palettes/alakazam_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/altaria_palette.pal delete mode 100644 graphics/pokemon/palettes/altaria_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/ampharos_palette.pal delete mode 100644 graphics/pokemon/palettes/ampharos_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/anorith_palette.pal delete mode 100644 graphics/pokemon/palettes/anorith_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/arbok_palette.pal delete mode 100644 graphics/pokemon/palettes/arbok_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/arcanine_palette.pal delete mode 100644 graphics/pokemon/palettes/arcanine_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/ariados_palette.pal delete mode 100644 graphics/pokemon/palettes/ariados_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/armaldo_palette.pal delete mode 100644 graphics/pokemon/palettes/armaldo_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/aron_palette.pal delete mode 100644 graphics/pokemon/palettes/aron_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/articuno_palette.pal delete mode 100644 graphics/pokemon/palettes/articuno_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/azumarill_palette.pal delete mode 100644 graphics/pokemon/palettes/azumarill_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/azurill_palette.pal delete mode 100644 graphics/pokemon/palettes/azurill_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/bagon_palette.pal delete mode 100644 graphics/pokemon/palettes/bagon_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/baltoy_palette.pal delete mode 100644 graphics/pokemon/palettes/baltoy_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/banette_palette.pal delete mode 100644 graphics/pokemon/palettes/banette_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/barboach_palette.pal delete mode 100644 graphics/pokemon/palettes/barboach_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/bayleef_palette.pal delete mode 100644 graphics/pokemon/palettes/bayleef_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/beautifly_palette.pal delete mode 100644 graphics/pokemon/palettes/beautifly_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/beedrill_palette.pal delete mode 100644 graphics/pokemon/palettes/beedrill_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/beldum_palette.pal delete mode 100644 graphics/pokemon/palettes/beldum_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/bellossom_palette.pal delete mode 100644 graphics/pokemon/palettes/bellossom_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/bellsprout_palette.pal delete mode 100644 graphics/pokemon/palettes/bellsprout_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/blastoise_palette.pal delete mode 100644 graphics/pokemon/palettes/blastoise_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/blaziken_palette.pal delete mode 100644 graphics/pokemon/palettes/blaziken_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/blissey_palette.pal delete mode 100644 graphics/pokemon/palettes/blissey_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/breloom_palette.pal delete mode 100644 graphics/pokemon/palettes/breloom_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/bulbasaur_palette.pal delete mode 100644 graphics/pokemon/palettes/bulbasaur_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/butterfree_palette.pal delete mode 100644 graphics/pokemon/palettes/butterfree_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/cacnea_palette.pal delete mode 100644 graphics/pokemon/palettes/cacnea_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/cacturne_palette.pal delete mode 100644 graphics/pokemon/palettes/cacturne_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/camerupt_palette.pal delete mode 100644 graphics/pokemon/palettes/camerupt_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/carvanha_palette.pal delete mode 100644 graphics/pokemon/palettes/carvanha_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/cascoon_palette.pal delete mode 100644 graphics/pokemon/palettes/cascoon_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/castform_normal_form_palette.pal delete mode 100644 graphics/pokemon/palettes/castform_normal_form_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/castform_rainy_form_palette.pal delete mode 100644 graphics/pokemon/palettes/castform_rainy_form_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/castform_snowy_form_palette.pal delete mode 100644 graphics/pokemon/palettes/castform_snowy_form_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/castform_sunny_form_palette.pal delete mode 100644 graphics/pokemon/palettes/castform_sunny_form_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/caterpie_palette.pal delete mode 100644 graphics/pokemon/palettes/caterpie_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/celebi_palette.pal delete mode 100644 graphics/pokemon/palettes/celebi_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/chansey_palette.pal delete mode 100644 graphics/pokemon/palettes/chansey_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/charizard_palette.pal delete mode 100644 graphics/pokemon/palettes/charizard_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/charmander_palette.pal delete mode 100644 graphics/pokemon/palettes/charmander_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/charmeleon_palette.pal delete mode 100644 graphics/pokemon/palettes/charmeleon_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/chikorita_palette.pal delete mode 100644 graphics/pokemon/palettes/chikorita_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/chimecho_palette.pal delete mode 100644 graphics/pokemon/palettes/chimecho_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/chinchou_palette.pal delete mode 100644 graphics/pokemon/palettes/chinchou_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/circled_question_mark_palette.pal delete mode 100644 graphics/pokemon/palettes/circled_question_mark_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/clamperl_palette.pal delete mode 100644 graphics/pokemon/palettes/clamperl_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/claydol_palette.pal delete mode 100644 graphics/pokemon/palettes/claydol_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/clefable_palette.pal delete mode 100644 graphics/pokemon/palettes/clefable_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/clefairy_palette.pal delete mode 100644 graphics/pokemon/palettes/clefairy_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/cleffa_palette.pal delete mode 100644 graphics/pokemon/palettes/cleffa_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/cloyster_palette.pal delete mode 100644 graphics/pokemon/palettes/cloyster_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/combusken_palette.pal delete mode 100644 graphics/pokemon/palettes/combusken_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/corphish_palette.pal delete mode 100644 graphics/pokemon/palettes/corphish_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/corsola_palette.pal delete mode 100644 graphics/pokemon/palettes/corsola_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/cradily_palette.pal delete mode 100644 graphics/pokemon/palettes/cradily_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/crawdaunt_palette.pal delete mode 100644 graphics/pokemon/palettes/crawdaunt_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/crobat_palette.pal delete mode 100644 graphics/pokemon/palettes/crobat_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/croconaw_palette.pal delete mode 100644 graphics/pokemon/palettes/croconaw_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/cubone_palette.pal delete mode 100644 graphics/pokemon/palettes/cubone_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/cyndaquil_palette.pal delete mode 100644 graphics/pokemon/palettes/cyndaquil_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/delcatty_palette.pal delete mode 100644 graphics/pokemon/palettes/delcatty_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/delibird_palette.pal delete mode 100644 graphics/pokemon/palettes/delibird_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/deoxys_palette.pal delete mode 100644 graphics/pokemon/palettes/deoxys_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/dewgong_palette.pal delete mode 100644 graphics/pokemon/palettes/dewgong_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/diglett_palette.pal delete mode 100644 graphics/pokemon/palettes/diglett_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/ditto_palette.pal delete mode 100644 graphics/pokemon/palettes/ditto_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/dodrio_palette.pal delete mode 100644 graphics/pokemon/palettes/dodrio_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/doduo_palette.pal delete mode 100644 graphics/pokemon/palettes/doduo_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/donphan_palette.pal delete mode 100644 graphics/pokemon/palettes/donphan_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/double_question_mark_palette.pal delete mode 100644 graphics/pokemon/palettes/double_question_mark_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/dragonair_palette.pal delete mode 100644 graphics/pokemon/palettes/dragonair_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/dragonite_palette.pal delete mode 100644 graphics/pokemon/palettes/dragonite_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/dratini_palette.pal delete mode 100644 graphics/pokemon/palettes/dratini_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/drowzee_palette.pal delete mode 100644 graphics/pokemon/palettes/drowzee_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/dugtrio_palette.pal delete mode 100644 graphics/pokemon/palettes/dugtrio_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/dunsparce_palette.pal delete mode 100644 graphics/pokemon/palettes/dunsparce_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/dusclops_palette.pal delete mode 100644 graphics/pokemon/palettes/dusclops_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/duskull_palette.pal delete mode 100644 graphics/pokemon/palettes/duskull_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/dustox_palette.pal delete mode 100644 graphics/pokemon/palettes/dustox_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/eevee_palette.pal delete mode 100644 graphics/pokemon/palettes/eevee_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/egg_palette.pal delete mode 100644 graphics/pokemon/palettes/ekans_palette.pal delete mode 100644 graphics/pokemon/palettes/ekans_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/electabuzz_palette.pal delete mode 100644 graphics/pokemon/palettes/electabuzz_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/electrike_palette.pal delete mode 100644 graphics/pokemon/palettes/electrike_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/electrode_palette.pal delete mode 100644 graphics/pokemon/palettes/electrode_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/elekid_palette.pal delete mode 100644 graphics/pokemon/palettes/elekid_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/entei_palette.pal delete mode 100644 graphics/pokemon/palettes/entei_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/espeon_palette.pal delete mode 100644 graphics/pokemon/palettes/espeon_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/exeggcute_palette.pal delete mode 100644 graphics/pokemon/palettes/exeggcute_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/exeggutor_palette.pal delete mode 100644 graphics/pokemon/palettes/exeggutor_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/exploud_palette.pal delete mode 100644 graphics/pokemon/palettes/exploud_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/farfetch_d_palette.pal delete mode 100644 graphics/pokemon/palettes/farfetch_d_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/fearow_palette.pal delete mode 100644 graphics/pokemon/palettes/fearow_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/feebas_palette.pal delete mode 100644 graphics/pokemon/palettes/feebas_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/feraligatr_palette.pal delete mode 100644 graphics/pokemon/palettes/feraligatr_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/flaaffy_palette.pal delete mode 100644 graphics/pokemon/palettes/flaaffy_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/flareon_palette.pal delete mode 100644 graphics/pokemon/palettes/flareon_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/flygon_palette.pal delete mode 100644 graphics/pokemon/palettes/flygon_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/forretress_palette.pal delete mode 100644 graphics/pokemon/palettes/forretress_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/furret_palette.pal delete mode 100644 graphics/pokemon/palettes/furret_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/gardevoir_palette.pal delete mode 100644 graphics/pokemon/palettes/gardevoir_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/gastly_palette.pal delete mode 100644 graphics/pokemon/palettes/gastly_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/gengar_palette.pal delete mode 100644 graphics/pokemon/palettes/gengar_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/geodude_palette.pal delete mode 100644 graphics/pokemon/palettes/geodude_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/girafarig_palette.pal delete mode 100644 graphics/pokemon/palettes/girafarig_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/glalie_palette.pal delete mode 100644 graphics/pokemon/palettes/glalie_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/gligar_palette.pal delete mode 100644 graphics/pokemon/palettes/gligar_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/gloom_palette.pal delete mode 100644 graphics/pokemon/palettes/gloom_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/golbat_palette.pal delete mode 100644 graphics/pokemon/palettes/golbat_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/goldeen_palette.pal delete mode 100644 graphics/pokemon/palettes/goldeen_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/golduck_palette.pal delete mode 100644 graphics/pokemon/palettes/golduck_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/golem_palette.pal delete mode 100644 graphics/pokemon/palettes/golem_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/gorebyss_palette.pal delete mode 100644 graphics/pokemon/palettes/gorebyss_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/granbull_palette.pal delete mode 100644 graphics/pokemon/palettes/granbull_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/graveler_palette.pal delete mode 100644 graphics/pokemon/palettes/graveler_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/grimer_palette.pal delete mode 100644 graphics/pokemon/palettes/grimer_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/groudon_palette.pal delete mode 100644 graphics/pokemon/palettes/groudon_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/grovyle_palette.pal delete mode 100644 graphics/pokemon/palettes/grovyle_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/growlithe_palette.pal delete mode 100644 graphics/pokemon/palettes/growlithe_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/grumpig_palette.pal delete mode 100644 graphics/pokemon/palettes/grumpig_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/gulpin_palette.pal delete mode 100644 graphics/pokemon/palettes/gulpin_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/gyarados_palette.pal delete mode 100644 graphics/pokemon/palettes/gyarados_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/hariyama_palette.pal delete mode 100644 graphics/pokemon/palettes/hariyama_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/haunter_palette.pal delete mode 100644 graphics/pokemon/palettes/haunter_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/heracross_palette.pal delete mode 100644 graphics/pokemon/palettes/heracross_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/hitmonchan_palette.pal delete mode 100644 graphics/pokemon/palettes/hitmonchan_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/hitmonlee_palette.pal delete mode 100644 graphics/pokemon/palettes/hitmonlee_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/hitmontop_palette.pal delete mode 100644 graphics/pokemon/palettes/hitmontop_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/ho_oh_palette.pal delete mode 100644 graphics/pokemon/palettes/ho_oh_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/hoothoot_palette.pal delete mode 100644 graphics/pokemon/palettes/hoothoot_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/hoppip_palette.pal delete mode 100644 graphics/pokemon/palettes/hoppip_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/horsea_palette.pal delete mode 100644 graphics/pokemon/palettes/horsea_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/houndoom_palette.pal delete mode 100644 graphics/pokemon/palettes/houndoom_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/houndour_palette.pal delete mode 100644 graphics/pokemon/palettes/houndour_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/huntail_palette.pal delete mode 100644 graphics/pokemon/palettes/huntail_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/hypno_palette.pal delete mode 100644 graphics/pokemon/palettes/hypno_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/igglybuff_palette.pal delete mode 100644 graphics/pokemon/palettes/igglybuff_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/illumise_palette.pal delete mode 100644 graphics/pokemon/palettes/illumise_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/ivysaur_palette.pal delete mode 100644 graphics/pokemon/palettes/ivysaur_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/jigglypuff_palette.pal delete mode 100644 graphics/pokemon/palettes/jigglypuff_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/jirachi_palette.pal delete mode 100644 graphics/pokemon/palettes/jirachi_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/jolteon_palette.pal delete mode 100644 graphics/pokemon/palettes/jolteon_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/jumpluff_palette.pal delete mode 100644 graphics/pokemon/palettes/jumpluff_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/jynx_palette.pal delete mode 100644 graphics/pokemon/palettes/jynx_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/kabuto_palette.pal delete mode 100644 graphics/pokemon/palettes/kabuto_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/kabutops_palette.pal delete mode 100644 graphics/pokemon/palettes/kabutops_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/kadabra_palette.pal delete mode 100644 graphics/pokemon/palettes/kadabra_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/kakuna_palette.pal delete mode 100644 graphics/pokemon/palettes/kakuna_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/kangaskhan_palette.pal delete mode 100644 graphics/pokemon/palettes/kangaskhan_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/kecleon_palette.pal delete mode 100644 graphics/pokemon/palettes/kecleon_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/kingdra_palette.pal delete mode 100644 graphics/pokemon/palettes/kingdra_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/kingler_palette.pal delete mode 100644 graphics/pokemon/palettes/kingler_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/kirlia_palette.pal delete mode 100644 graphics/pokemon/palettes/kirlia_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/koffing_palette.pal delete mode 100644 graphics/pokemon/palettes/koffing_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/krabby_palette.pal delete mode 100644 graphics/pokemon/palettes/krabby_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/kyogre_palette.pal delete mode 100644 graphics/pokemon/palettes/kyogre_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/lairon_palette.pal delete mode 100644 graphics/pokemon/palettes/lairon_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/lanturn_palette.pal delete mode 100644 graphics/pokemon/palettes/lanturn_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/lapras_palette.pal delete mode 100644 graphics/pokemon/palettes/lapras_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/larvitar_palette.pal delete mode 100644 graphics/pokemon/palettes/larvitar_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/latias_palette.pal delete mode 100644 graphics/pokemon/palettes/latias_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/latios_palette.pal delete mode 100644 graphics/pokemon/palettes/latios_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/ledian_palette.pal delete mode 100644 graphics/pokemon/palettes/ledian_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/ledyba_palette.pal delete mode 100644 graphics/pokemon/palettes/ledyba_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/lickitung_palette.pal delete mode 100644 graphics/pokemon/palettes/lickitung_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/lileep_palette.pal delete mode 100644 graphics/pokemon/palettes/lileep_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/linoone_palette.pal delete mode 100644 graphics/pokemon/palettes/linoone_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/lombre_palette.pal delete mode 100644 graphics/pokemon/palettes/lombre_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/lotad_palette.pal delete mode 100644 graphics/pokemon/palettes/lotad_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/loudred_palette.pal delete mode 100644 graphics/pokemon/palettes/loudred_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/ludicolo_palette.pal delete mode 100644 graphics/pokemon/palettes/ludicolo_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/lugia_palette.pal delete mode 100644 graphics/pokemon/palettes/lugia_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/lunatone_palette.pal delete mode 100644 graphics/pokemon/palettes/lunatone_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/luvdisc_palette.pal delete mode 100644 graphics/pokemon/palettes/luvdisc_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/machamp_palette.pal delete mode 100644 graphics/pokemon/palettes/machamp_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/machoke_palette.pal delete mode 100644 graphics/pokemon/palettes/machoke_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/machop_palette.pal delete mode 100644 graphics/pokemon/palettes/machop_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/magby_palette.pal delete mode 100644 graphics/pokemon/palettes/magby_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/magcargo_palette.pal delete mode 100644 graphics/pokemon/palettes/magcargo_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/magikarp_palette.pal delete mode 100644 graphics/pokemon/palettes/magikarp_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/magmar_palette.pal delete mode 100644 graphics/pokemon/palettes/magmar_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/magnemite_palette.pal delete mode 100644 graphics/pokemon/palettes/magnemite_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/magneton_palette.pal delete mode 100644 graphics/pokemon/palettes/magneton_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/makuhita_palette.pal delete mode 100644 graphics/pokemon/palettes/makuhita_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/manectric_palette.pal delete mode 100644 graphics/pokemon/palettes/manectric_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/mankey_palette.pal delete mode 100644 graphics/pokemon/palettes/mankey_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/mantine_palette.pal delete mode 100644 graphics/pokemon/palettes/mantine_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/mareep_palette.pal delete mode 100644 graphics/pokemon/palettes/mareep_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/marill_palette.pal delete mode 100644 graphics/pokemon/palettes/marill_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/marowak_palette.pal delete mode 100644 graphics/pokemon/palettes/marowak_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/marshtomp_palette.pal delete mode 100644 graphics/pokemon/palettes/marshtomp_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/masquerain_palette.pal delete mode 100644 graphics/pokemon/palettes/masquerain_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/mawile_palette.pal delete mode 100644 graphics/pokemon/palettes/mawile_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/medicham_palette.pal delete mode 100644 graphics/pokemon/palettes/medicham_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/meditite_palette.pal delete mode 100644 graphics/pokemon/palettes/meditite_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/meganium_palette.pal delete mode 100644 graphics/pokemon/palettes/meganium_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/meowth_palette.pal delete mode 100644 graphics/pokemon/palettes/meowth_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/metagross_palette.pal delete mode 100644 graphics/pokemon/palettes/metagross_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/metang_palette.pal delete mode 100644 graphics/pokemon/palettes/metang_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/metapod_palette.pal delete mode 100644 graphics/pokemon/palettes/metapod_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/mew_palette.pal delete mode 100644 graphics/pokemon/palettes/mew_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/mewtwo_palette.pal delete mode 100644 graphics/pokemon/palettes/mewtwo_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/mightyena_palette.pal delete mode 100644 graphics/pokemon/palettes/mightyena_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/milotic_palette.pal delete mode 100644 graphics/pokemon/palettes/milotic_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/miltank_palette.pal delete mode 100644 graphics/pokemon/palettes/miltank_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/minun_palette.pal delete mode 100644 graphics/pokemon/palettes/minun_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/misdreavus_palette.pal delete mode 100644 graphics/pokemon/palettes/misdreavus_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/moltres_palette.pal delete mode 100644 graphics/pokemon/palettes/moltres_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/mr_mime_palette.pal delete mode 100644 graphics/pokemon/palettes/mr_mime_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/mudkip_palette.pal delete mode 100644 graphics/pokemon/palettes/mudkip_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/muk_palette.pal delete mode 100644 graphics/pokemon/palettes/muk_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/murkrow_palette.pal delete mode 100644 graphics/pokemon/palettes/murkrow_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/natu_palette.pal delete mode 100644 graphics/pokemon/palettes/natu_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/nidoking_palette.pal delete mode 100644 graphics/pokemon/palettes/nidoking_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/nidoqueen_palette.pal delete mode 100644 graphics/pokemon/palettes/nidoqueen_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/nidoran_f_palette.pal delete mode 100644 graphics/pokemon/palettes/nidoran_f_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/nidoran_m_palette.pal delete mode 100644 graphics/pokemon/palettes/nidoran_m_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/nidorina_palette.pal delete mode 100644 graphics/pokemon/palettes/nidorina_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/nidorino_palette.pal delete mode 100644 graphics/pokemon/palettes/nidorino_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/nincada_palette.pal delete mode 100644 graphics/pokemon/palettes/nincada_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/ninetales_palette.pal delete mode 100644 graphics/pokemon/palettes/ninetales_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/ninjask_palette.pal delete mode 100644 graphics/pokemon/palettes/ninjask_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/noctowl_palette.pal delete mode 100644 graphics/pokemon/palettes/noctowl_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/nosepass_palette.pal delete mode 100644 graphics/pokemon/palettes/nosepass_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/numel_palette.pal delete mode 100644 graphics/pokemon/palettes/numel_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/nuzleaf_palette.pal delete mode 100644 graphics/pokemon/palettes/nuzleaf_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/octillery_palette.pal delete mode 100644 graphics/pokemon/palettes/octillery_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/oddish_palette.pal delete mode 100644 graphics/pokemon/palettes/oddish_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/omanyte_palette.pal delete mode 100644 graphics/pokemon/palettes/omanyte_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/omastar_palette.pal delete mode 100644 graphics/pokemon/palettes/omastar_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/onix_palette.pal delete mode 100644 graphics/pokemon/palettes/onix_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/paras_palette.pal delete mode 100644 graphics/pokemon/palettes/paras_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/parasect_palette.pal delete mode 100644 graphics/pokemon/palettes/parasect_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/pelipper_palette.pal delete mode 100644 graphics/pokemon/palettes/pelipper_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/persian_palette.pal delete mode 100644 graphics/pokemon/palettes/persian_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/phanpy_palette.pal delete mode 100644 graphics/pokemon/palettes/phanpy_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/pichu_palette.pal delete mode 100644 graphics/pokemon/palettes/pichu_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/pidgeot_palette.pal delete mode 100644 graphics/pokemon/palettes/pidgeot_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/pidgeotto_palette.pal delete mode 100644 graphics/pokemon/palettes/pidgeotto_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/pidgey_palette.pal delete mode 100644 graphics/pokemon/palettes/pidgey_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/pikachu_palette.pal delete mode 100644 graphics/pokemon/palettes/pikachu_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/piloswine_palette.pal delete mode 100644 graphics/pokemon/palettes/piloswine_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/pineco_palette.pal delete mode 100644 graphics/pokemon/palettes/pineco_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/pinsir_palette.pal delete mode 100644 graphics/pokemon/palettes/pinsir_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/plusle_palette.pal delete mode 100644 graphics/pokemon/palettes/plusle_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/politoed_palette.pal delete mode 100644 graphics/pokemon/palettes/politoed_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/poliwag_palette.pal delete mode 100644 graphics/pokemon/palettes/poliwag_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/poliwhirl_palette.pal delete mode 100644 graphics/pokemon/palettes/poliwhirl_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/poliwrath_palette.pal delete mode 100644 graphics/pokemon/palettes/poliwrath_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/ponyta_palette.pal delete mode 100644 graphics/pokemon/palettes/ponyta_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/poochyena_palette.pal delete mode 100644 graphics/pokemon/palettes/poochyena_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/porygon2_palette.pal delete mode 100644 graphics/pokemon/palettes/porygon2_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/porygon_palette.pal delete mode 100644 graphics/pokemon/palettes/porygon_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/primeape_palette.pal delete mode 100644 graphics/pokemon/palettes/primeape_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/psyduck_palette.pal delete mode 100644 graphics/pokemon/palettes/psyduck_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/pupitar_palette.pal delete mode 100644 graphics/pokemon/palettes/pupitar_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/quagsire_palette.pal delete mode 100644 graphics/pokemon/palettes/quagsire_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/quilava_palette.pal delete mode 100644 graphics/pokemon/palettes/quilava_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/qwilfish_palette.pal delete mode 100644 graphics/pokemon/palettes/qwilfish_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/raichu_palette.pal delete mode 100644 graphics/pokemon/palettes/raichu_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/raikou_palette.pal delete mode 100644 graphics/pokemon/palettes/raikou_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/ralts_palette.pal delete mode 100644 graphics/pokemon/palettes/ralts_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/rapidash_palette.pal delete mode 100644 graphics/pokemon/palettes/rapidash_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/raticate_palette.pal delete mode 100644 graphics/pokemon/palettes/raticate_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/rattata_palette.pal delete mode 100644 graphics/pokemon/palettes/rattata_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/rayquaza_palette.pal delete mode 100644 graphics/pokemon/palettes/rayquaza_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/regice_palette.pal delete mode 100644 graphics/pokemon/palettes/regice_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/regirock_palette.pal delete mode 100644 graphics/pokemon/palettes/regirock_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/registeel_palette.pal delete mode 100644 graphics/pokemon/palettes/registeel_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/relicanth_palette.pal delete mode 100644 graphics/pokemon/palettes/relicanth_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/remoraid_palette.pal delete mode 100644 graphics/pokemon/palettes/remoraid_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/rhydon_palette.pal delete mode 100644 graphics/pokemon/palettes/rhydon_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/rhyhorn_palette.pal delete mode 100644 graphics/pokemon/palettes/rhyhorn_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/roselia_palette.pal delete mode 100644 graphics/pokemon/palettes/roselia_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/sableye_palette.pal delete mode 100644 graphics/pokemon/palettes/sableye_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/salamence_palette.pal delete mode 100644 graphics/pokemon/palettes/salamence_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/sandshrew_palette.pal delete mode 100644 graphics/pokemon/palettes/sandshrew_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/sandslash_palette.pal delete mode 100644 graphics/pokemon/palettes/sandslash_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/sceptile_palette.pal delete mode 100644 graphics/pokemon/palettes/sceptile_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/scizor_palette.pal delete mode 100644 graphics/pokemon/palettes/scizor_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/scyther_palette.pal delete mode 100644 graphics/pokemon/palettes/scyther_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/seadra_palette.pal delete mode 100644 graphics/pokemon/palettes/seadra_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/seaking_palette.pal delete mode 100644 graphics/pokemon/palettes/seaking_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/sealeo_palette.pal delete mode 100644 graphics/pokemon/palettes/sealeo_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/seedot_palette.pal delete mode 100644 graphics/pokemon/palettes/seedot_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/seel_palette.pal delete mode 100644 graphics/pokemon/palettes/seel_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/sentret_palette.pal delete mode 100644 graphics/pokemon/palettes/sentret_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/seviper_palette.pal delete mode 100644 graphics/pokemon/palettes/seviper_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/sharpedo_palette.pal delete mode 100644 graphics/pokemon/palettes/sharpedo_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/shedinja_palette.pal delete mode 100644 graphics/pokemon/palettes/shedinja_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/shelgon_palette.pal delete mode 100644 graphics/pokemon/palettes/shelgon_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/shellder_palette.pal delete mode 100644 graphics/pokemon/palettes/shellder_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/shiftry_palette.pal delete mode 100644 graphics/pokemon/palettes/shiftry_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/shroomish_palette.pal delete mode 100644 graphics/pokemon/palettes/shroomish_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/shuckle_palette.pal delete mode 100644 graphics/pokemon/palettes/shuckle_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/shuppet_palette.pal delete mode 100644 graphics/pokemon/palettes/shuppet_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/silcoon_palette.pal delete mode 100644 graphics/pokemon/palettes/silcoon_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/skarmory_palette.pal delete mode 100644 graphics/pokemon/palettes/skarmory_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/skiploom_palette.pal delete mode 100644 graphics/pokemon/palettes/skiploom_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/skitty_palette.pal delete mode 100644 graphics/pokemon/palettes/skitty_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/slaking_palette.pal delete mode 100644 graphics/pokemon/palettes/slaking_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/slakoth_palette.pal delete mode 100644 graphics/pokemon/palettes/slakoth_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/slowbro_palette.pal delete mode 100644 graphics/pokemon/palettes/slowbro_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/slowking_palette.pal delete mode 100644 graphics/pokemon/palettes/slowking_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/slowpoke_palette.pal delete mode 100644 graphics/pokemon/palettes/slowpoke_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/slugma_palette.pal delete mode 100644 graphics/pokemon/palettes/slugma_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/smeargle_palette.pal delete mode 100644 graphics/pokemon/palettes/smeargle_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/smoochum_palette.pal delete mode 100644 graphics/pokemon/palettes/smoochum_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/sneasel_palette.pal delete mode 100644 graphics/pokemon/palettes/sneasel_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/snorlax_palette.pal delete mode 100644 graphics/pokemon/palettes/snorlax_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/snorunt_palette.pal delete mode 100644 graphics/pokemon/palettes/snorunt_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/snubbull_palette.pal delete mode 100644 graphics/pokemon/palettes/snubbull_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/solrock_palette.pal delete mode 100644 graphics/pokemon/palettes/solrock_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/spearow_palette.pal delete mode 100644 graphics/pokemon/palettes/spearow_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/spheal_palette.pal delete mode 100644 graphics/pokemon/palettes/spheal_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/spinarak_palette.pal delete mode 100644 graphics/pokemon/palettes/spinarak_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/spinda_palette.pal delete mode 100644 graphics/pokemon/palettes/spinda_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/spoink_palette.pal delete mode 100644 graphics/pokemon/palettes/spoink_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/squirtle_palette.pal delete mode 100644 graphics/pokemon/palettes/squirtle_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/stantler_palette.pal delete mode 100644 graphics/pokemon/palettes/stantler_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/starmie_palette.pal delete mode 100644 graphics/pokemon/palettes/starmie_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/staryu_palette.pal delete mode 100644 graphics/pokemon/palettes/staryu_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/steelix_palette.pal delete mode 100644 graphics/pokemon/palettes/steelix_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/sudowoodo_palette.pal delete mode 100644 graphics/pokemon/palettes/sudowoodo_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/suicune_palette.pal delete mode 100644 graphics/pokemon/palettes/suicune_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/sunflora_palette.pal delete mode 100644 graphics/pokemon/palettes/sunflora_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/sunkern_palette.pal delete mode 100644 graphics/pokemon/palettes/sunkern_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/surskit_palette.pal delete mode 100644 graphics/pokemon/palettes/surskit_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/swablu_palette.pal delete mode 100644 graphics/pokemon/palettes/swablu_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/swalot_palette.pal delete mode 100644 graphics/pokemon/palettes/swalot_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/swampert_palette.pal delete mode 100644 graphics/pokemon/palettes/swampert_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/swellow_palette.pal delete mode 100644 graphics/pokemon/palettes/swellow_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/swinub_palette.pal delete mode 100644 graphics/pokemon/palettes/swinub_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/taillow_palette.pal delete mode 100644 graphics/pokemon/palettes/taillow_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/tangela_palette.pal delete mode 100644 graphics/pokemon/palettes/tangela_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/tauros_palette.pal delete mode 100644 graphics/pokemon/palettes/tauros_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/teddiursa_palette.pal delete mode 100644 graphics/pokemon/palettes/teddiursa_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/tentacool_palette.pal delete mode 100644 graphics/pokemon/palettes/tentacool_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/tentacruel_palette.pal delete mode 100644 graphics/pokemon/palettes/tentacruel_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/togepi_palette.pal delete mode 100644 graphics/pokemon/palettes/togepi_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/togetic_palette.pal delete mode 100644 graphics/pokemon/palettes/togetic_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/torchic_palette.pal delete mode 100644 graphics/pokemon/palettes/torchic_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/torkoal_palette.pal delete mode 100644 graphics/pokemon/palettes/torkoal_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/totodile_palette.pal delete mode 100644 graphics/pokemon/palettes/totodile_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/trapinch_palette.pal delete mode 100644 graphics/pokemon/palettes/trapinch_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/treecko_palette.pal delete mode 100644 graphics/pokemon/palettes/treecko_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/tropius_palette.pal delete mode 100644 graphics/pokemon/palettes/tropius_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/typhlosion_palette.pal delete mode 100644 graphics/pokemon/palettes/typhlosion_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/tyranitar_palette.pal delete mode 100644 graphics/pokemon/palettes/tyranitar_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/tyrogue_palette.pal delete mode 100644 graphics/pokemon/palettes/tyrogue_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/umbreon_palette.pal delete mode 100644 graphics/pokemon/palettes/umbreon_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/unown_palette.pal delete mode 100644 graphics/pokemon/palettes/unown_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/ursaring_palette.pal delete mode 100644 graphics/pokemon/palettes/ursaring_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/vaporeon_palette.pal delete mode 100644 graphics/pokemon/palettes/vaporeon_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/venomoth_palette.pal delete mode 100644 graphics/pokemon/palettes/venomoth_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/venonat_palette.pal delete mode 100644 graphics/pokemon/palettes/venonat_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/venusaur_palette.pal delete mode 100644 graphics/pokemon/palettes/venusaur_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/vibrava_palette.pal delete mode 100644 graphics/pokemon/palettes/vibrava_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/victreebel_palette.pal delete mode 100644 graphics/pokemon/palettes/victreebel_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/vigoroth_palette.pal delete mode 100644 graphics/pokemon/palettes/vigoroth_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/vileplume_palette.pal delete mode 100644 graphics/pokemon/palettes/vileplume_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/volbeat_palette.pal delete mode 100644 graphics/pokemon/palettes/volbeat_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/voltorb_palette.pal delete mode 100644 graphics/pokemon/palettes/voltorb_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/vulpix_palette.pal delete mode 100644 graphics/pokemon/palettes/vulpix_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/wailmer_palette.pal delete mode 100644 graphics/pokemon/palettes/wailmer_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/wailord_palette.pal delete mode 100644 graphics/pokemon/palettes/wailord_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/walrein_palette.pal delete mode 100644 graphics/pokemon/palettes/walrein_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/wartortle_palette.pal delete mode 100644 graphics/pokemon/palettes/wartortle_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/weedle_palette.pal delete mode 100644 graphics/pokemon/palettes/weedle_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/weepinbell_palette.pal delete mode 100644 graphics/pokemon/palettes/weepinbell_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/weezing_palette.pal delete mode 100644 graphics/pokemon/palettes/weezing_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/whiscash_palette.pal delete mode 100644 graphics/pokemon/palettes/whiscash_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/whismur_palette.pal delete mode 100644 graphics/pokemon/palettes/whismur_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/wigglytuff_palette.pal delete mode 100644 graphics/pokemon/palettes/wigglytuff_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/wingull_palette.pal delete mode 100644 graphics/pokemon/palettes/wingull_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/wobbuffet_palette.pal delete mode 100644 graphics/pokemon/palettes/wobbuffet_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/wooper_palette.pal delete mode 100644 graphics/pokemon/palettes/wooper_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/wurmple_palette.pal delete mode 100644 graphics/pokemon/palettes/wurmple_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/wynaut_palette.pal delete mode 100644 graphics/pokemon/palettes/wynaut_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/xatu_palette.pal delete mode 100644 graphics/pokemon/palettes/xatu_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/yanma_palette.pal delete mode 100644 graphics/pokemon/palettes/yanma_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/zangoose_palette.pal delete mode 100644 graphics/pokemon/palettes/zangoose_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/zapdos_palette.pal delete mode 100644 graphics/pokemon/palettes/zapdos_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/zigzagoon_palette.pal delete mode 100644 graphics/pokemon/palettes/zigzagoon_shiny_palette.pal delete mode 100644 graphics/pokemon/palettes/zubat_palette.pal delete mode 100644 graphics/pokemon/palettes/zubat_shiny_palette.pal create mode 100644 graphics/pokemon/paras/back.png create mode 100644 graphics/pokemon/paras/footprint.png create mode 100644 graphics/pokemon/paras/front.png create mode 100644 graphics/pokemon/paras/icon.png create mode 100644 graphics/pokemon/paras/normal.pal create mode 100644 graphics/pokemon/paras/shiny.pal create mode 100644 graphics/pokemon/parasect/back.png create mode 100644 graphics/pokemon/parasect/footprint.png create mode 100644 graphics/pokemon/parasect/front.png create mode 100644 graphics/pokemon/parasect/icon.png create mode 100644 graphics/pokemon/parasect/normal.pal create mode 100644 graphics/pokemon/parasect/shiny.pal create mode 100644 graphics/pokemon/pelipper/back.png create mode 100644 graphics/pokemon/pelipper/footprint.png create mode 100644 graphics/pokemon/pelipper/front.png create mode 100644 graphics/pokemon/pelipper/icon.png create mode 100644 graphics/pokemon/pelipper/normal.pal create mode 100644 graphics/pokemon/pelipper/shiny.pal create mode 100644 graphics/pokemon/persian/back.png create mode 100644 graphics/pokemon/persian/footprint.png create mode 100644 graphics/pokemon/persian/front.png create mode 100644 graphics/pokemon/persian/icon.png create mode 100644 graphics/pokemon/persian/normal.pal create mode 100644 graphics/pokemon/persian/shiny.pal create mode 100644 graphics/pokemon/phanpy/back.png create mode 100644 graphics/pokemon/phanpy/footprint.png create mode 100644 graphics/pokemon/phanpy/front.png create mode 100644 graphics/pokemon/phanpy/icon.png create mode 100644 graphics/pokemon/phanpy/normal.pal create mode 100644 graphics/pokemon/phanpy/shiny.pal create mode 100644 graphics/pokemon/pichu/back.png create mode 100644 graphics/pokemon/pichu/footprint.png create mode 100644 graphics/pokemon/pichu/front.png create mode 100644 graphics/pokemon/pichu/icon.png create mode 100644 graphics/pokemon/pichu/normal.pal create mode 100644 graphics/pokemon/pichu/shiny.pal create mode 100644 graphics/pokemon/pidgeot/back.png create mode 100644 graphics/pokemon/pidgeot/footprint.png create mode 100644 graphics/pokemon/pidgeot/front.png create mode 100644 graphics/pokemon/pidgeot/icon.png create mode 100644 graphics/pokemon/pidgeot/normal.pal create mode 100644 graphics/pokemon/pidgeot/shiny.pal create mode 100644 graphics/pokemon/pidgeotto/back.png create mode 100644 graphics/pokemon/pidgeotto/footprint.png create mode 100644 graphics/pokemon/pidgeotto/front.png create mode 100644 graphics/pokemon/pidgeotto/icon.png create mode 100644 graphics/pokemon/pidgeotto/normal.pal create mode 100644 graphics/pokemon/pidgeotto/shiny.pal create mode 100644 graphics/pokemon/pidgey/back.png create mode 100644 graphics/pokemon/pidgey/footprint.png create mode 100644 graphics/pokemon/pidgey/front.png create mode 100644 graphics/pokemon/pidgey/icon.png create mode 100644 graphics/pokemon/pidgey/normal.pal create mode 100644 graphics/pokemon/pidgey/shiny.pal create mode 100644 graphics/pokemon/pikachu/back.png create mode 100644 graphics/pokemon/pikachu/footprint.png create mode 100644 graphics/pokemon/pikachu/front.png create mode 100644 graphics/pokemon/pikachu/icon.png create mode 100644 graphics/pokemon/pikachu/normal.pal create mode 100644 graphics/pokemon/pikachu/shiny.pal create mode 100644 graphics/pokemon/piloswine/back.png create mode 100644 graphics/pokemon/piloswine/footprint.png create mode 100644 graphics/pokemon/piloswine/front.png create mode 100644 graphics/pokemon/piloswine/icon.png create mode 100644 graphics/pokemon/piloswine/normal.pal create mode 100644 graphics/pokemon/piloswine/shiny.pal create mode 100644 graphics/pokemon/pineco/back.png create mode 100644 graphics/pokemon/pineco/footprint.png create mode 100644 graphics/pokemon/pineco/front.png create mode 100644 graphics/pokemon/pineco/icon.png create mode 100644 graphics/pokemon/pineco/normal.pal create mode 100644 graphics/pokemon/pineco/shiny.pal create mode 100644 graphics/pokemon/pinsir/back.png create mode 100644 graphics/pokemon/pinsir/footprint.png create mode 100644 graphics/pokemon/pinsir/front.png create mode 100644 graphics/pokemon/pinsir/icon.png create mode 100644 graphics/pokemon/pinsir/normal.pal create mode 100644 graphics/pokemon/pinsir/shiny.pal create mode 100644 graphics/pokemon/plusle/back.png create mode 100644 graphics/pokemon/plusle/footprint.png create mode 100644 graphics/pokemon/plusle/front.png create mode 100644 graphics/pokemon/plusle/icon.png create mode 100644 graphics/pokemon/plusle/normal.pal create mode 100644 graphics/pokemon/plusle/shiny.pal create mode 100644 graphics/pokemon/politoed/back.png create mode 100644 graphics/pokemon/politoed/footprint.png create mode 100644 graphics/pokemon/politoed/front.png create mode 100644 graphics/pokemon/politoed/icon.png create mode 100644 graphics/pokemon/politoed/normal.pal create mode 100644 graphics/pokemon/politoed/shiny.pal create mode 100644 graphics/pokemon/poliwag/back.png create mode 100644 graphics/pokemon/poliwag/footprint.png create mode 100644 graphics/pokemon/poliwag/front.png create mode 100644 graphics/pokemon/poliwag/icon.png create mode 100644 graphics/pokemon/poliwag/normal.pal create mode 100644 graphics/pokemon/poliwag/shiny.pal create mode 100644 graphics/pokemon/poliwhirl/back.png create mode 100644 graphics/pokemon/poliwhirl/footprint.png create mode 100644 graphics/pokemon/poliwhirl/front.png create mode 100644 graphics/pokemon/poliwhirl/icon.png create mode 100644 graphics/pokemon/poliwhirl/normal.pal create mode 100644 graphics/pokemon/poliwhirl/shiny.pal create mode 100644 graphics/pokemon/poliwrath/back.png create mode 100644 graphics/pokemon/poliwrath/footprint.png create mode 100644 graphics/pokemon/poliwrath/front.png create mode 100644 graphics/pokemon/poliwrath/icon.png create mode 100644 graphics/pokemon/poliwrath/normal.pal create mode 100644 graphics/pokemon/poliwrath/shiny.pal create mode 100644 graphics/pokemon/ponyta/back.png create mode 100644 graphics/pokemon/ponyta/footprint.png create mode 100644 graphics/pokemon/ponyta/front.png create mode 100644 graphics/pokemon/ponyta/icon.png create mode 100644 graphics/pokemon/ponyta/normal.pal create mode 100644 graphics/pokemon/ponyta/shiny.pal create mode 100644 graphics/pokemon/poochyena/back.png create mode 100644 graphics/pokemon/poochyena/footprint.png create mode 100644 graphics/pokemon/poochyena/front.png create mode 100644 graphics/pokemon/poochyena/icon.png create mode 100644 graphics/pokemon/poochyena/normal.pal create mode 100644 graphics/pokemon/poochyena/shiny.pal create mode 100644 graphics/pokemon/porygon/back.png create mode 100644 graphics/pokemon/porygon/footprint.png create mode 100644 graphics/pokemon/porygon/front.png create mode 100644 graphics/pokemon/porygon/icon.png create mode 100644 graphics/pokemon/porygon/normal.pal create mode 100644 graphics/pokemon/porygon/shiny.pal create mode 100644 graphics/pokemon/porygon2/back.png create mode 100644 graphics/pokemon/porygon2/footprint.png create mode 100644 graphics/pokemon/porygon2/front.png create mode 100644 graphics/pokemon/porygon2/icon.png create mode 100644 graphics/pokemon/porygon2/normal.pal create mode 100644 graphics/pokemon/porygon2/shiny.pal create mode 100644 graphics/pokemon/primeape/back.png create mode 100644 graphics/pokemon/primeape/footprint.png create mode 100644 graphics/pokemon/primeape/front.png create mode 100644 graphics/pokemon/primeape/icon.png create mode 100644 graphics/pokemon/primeape/normal.pal create mode 100644 graphics/pokemon/primeape/shiny.pal create mode 100644 graphics/pokemon/psyduck/back.png create mode 100644 graphics/pokemon/psyduck/footprint.png create mode 100644 graphics/pokemon/psyduck/front.png create mode 100644 graphics/pokemon/psyduck/icon.png create mode 100644 graphics/pokemon/psyduck/normal.pal create mode 100644 graphics/pokemon/psyduck/shiny.pal create mode 100644 graphics/pokemon/pupitar/back.png create mode 100644 graphics/pokemon/pupitar/footprint.png create mode 100644 graphics/pokemon/pupitar/front.png create mode 100644 graphics/pokemon/pupitar/icon.png create mode 100644 graphics/pokemon/pupitar/normal.pal create mode 100644 graphics/pokemon/pupitar/shiny.pal create mode 100644 graphics/pokemon/quagsire/back.png create mode 100644 graphics/pokemon/quagsire/footprint.png create mode 100644 graphics/pokemon/quagsire/front.png create mode 100644 graphics/pokemon/quagsire/icon.png create mode 100644 graphics/pokemon/quagsire/normal.pal create mode 100644 graphics/pokemon/quagsire/shiny.pal create mode 100644 graphics/pokemon/question_mark/circled/back.png create mode 100644 graphics/pokemon/question_mark/circled/front.png create mode 100644 graphics/pokemon/question_mark/circled/normal.pal create mode 100644 graphics/pokemon/question_mark/circled/shiny.pal create mode 100644 graphics/pokemon/question_mark/double/back.png create mode 100644 graphics/pokemon/question_mark/double/front.png create mode 100644 graphics/pokemon/question_mark/double/normal.pal create mode 100644 graphics/pokemon/question_mark/double/shiny.pal create mode 100644 graphics/pokemon/question_mark/footprint.png create mode 100644 graphics/pokemon/question_mark/icon.png create mode 100644 graphics/pokemon/quilava/back.png create mode 100644 graphics/pokemon/quilava/footprint.png create mode 100644 graphics/pokemon/quilava/front.png create mode 100644 graphics/pokemon/quilava/icon.png create mode 100644 graphics/pokemon/quilava/normal.pal create mode 100644 graphics/pokemon/quilava/shiny.pal create mode 100644 graphics/pokemon/qwilfish/back.png create mode 100644 graphics/pokemon/qwilfish/footprint.png create mode 100644 graphics/pokemon/qwilfish/front.png create mode 100644 graphics/pokemon/qwilfish/icon.png create mode 100644 graphics/pokemon/qwilfish/normal.pal create mode 100644 graphics/pokemon/qwilfish/shiny.pal create mode 100644 graphics/pokemon/raichu/back.png create mode 100644 graphics/pokemon/raichu/footprint.png create mode 100644 graphics/pokemon/raichu/front.png create mode 100644 graphics/pokemon/raichu/icon.png create mode 100644 graphics/pokemon/raichu/normal.pal create mode 100644 graphics/pokemon/raichu/shiny.pal create mode 100644 graphics/pokemon/raikou/back.png create mode 100644 graphics/pokemon/raikou/footprint.png create mode 100644 graphics/pokemon/raikou/front.png create mode 100644 graphics/pokemon/raikou/icon.png create mode 100644 graphics/pokemon/raikou/normal.pal create mode 100644 graphics/pokemon/raikou/shiny.pal create mode 100644 graphics/pokemon/ralts/back.png create mode 100644 graphics/pokemon/ralts/footprint.png create mode 100644 graphics/pokemon/ralts/front.png create mode 100644 graphics/pokemon/ralts/icon.png create mode 100644 graphics/pokemon/ralts/normal.pal create mode 100644 graphics/pokemon/ralts/shiny.pal create mode 100644 graphics/pokemon/rapidash/back.png create mode 100644 graphics/pokemon/rapidash/footprint.png create mode 100644 graphics/pokemon/rapidash/front.png create mode 100644 graphics/pokemon/rapidash/icon.png create mode 100644 graphics/pokemon/rapidash/normal.pal create mode 100644 graphics/pokemon/rapidash/shiny.pal create mode 100644 graphics/pokemon/raticate/back.png create mode 100644 graphics/pokemon/raticate/footprint.png create mode 100644 graphics/pokemon/raticate/front.png create mode 100644 graphics/pokemon/raticate/icon.png create mode 100644 graphics/pokemon/raticate/normal.pal create mode 100644 graphics/pokemon/raticate/shiny.pal create mode 100644 graphics/pokemon/rattata/back.png create mode 100644 graphics/pokemon/rattata/footprint.png create mode 100644 graphics/pokemon/rattata/front.png create mode 100644 graphics/pokemon/rattata/icon.png create mode 100644 graphics/pokemon/rattata/normal.pal create mode 100644 graphics/pokemon/rattata/shiny.pal create mode 100644 graphics/pokemon/rayquaza/back.png create mode 100644 graphics/pokemon/rayquaza/footprint.png create mode 100644 graphics/pokemon/rayquaza/front.png create mode 100644 graphics/pokemon/rayquaza/icon.png create mode 100644 graphics/pokemon/rayquaza/normal.pal create mode 100644 graphics/pokemon/rayquaza/shiny.pal create mode 100644 graphics/pokemon/regice/back.png create mode 100644 graphics/pokemon/regice/footprint.png create mode 100644 graphics/pokemon/regice/front.png create mode 100644 graphics/pokemon/regice/icon.png create mode 100644 graphics/pokemon/regice/normal.pal create mode 100644 graphics/pokemon/regice/shiny.pal create mode 100644 graphics/pokemon/regirock/back.png create mode 100644 graphics/pokemon/regirock/footprint.png create mode 100644 graphics/pokemon/regirock/front.png create mode 100644 graphics/pokemon/regirock/icon.png create mode 100644 graphics/pokemon/regirock/normal.pal create mode 100644 graphics/pokemon/regirock/shiny.pal create mode 100644 graphics/pokemon/registeel/back.png create mode 100644 graphics/pokemon/registeel/footprint.png create mode 100644 graphics/pokemon/registeel/front.png create mode 100644 graphics/pokemon/registeel/icon.png create mode 100644 graphics/pokemon/registeel/normal.pal create mode 100644 graphics/pokemon/registeel/shiny.pal create mode 100644 graphics/pokemon/relicanth/back.png create mode 100644 graphics/pokemon/relicanth/footprint.png create mode 100644 graphics/pokemon/relicanth/front.png create mode 100644 graphics/pokemon/relicanth/icon.png create mode 100644 graphics/pokemon/relicanth/normal.pal create mode 100644 graphics/pokemon/relicanth/shiny.pal create mode 100644 graphics/pokemon/remoraid/back.png create mode 100644 graphics/pokemon/remoraid/footprint.png create mode 100644 graphics/pokemon/remoraid/front.png create mode 100644 graphics/pokemon/remoraid/icon.png create mode 100644 graphics/pokemon/remoraid/normal.pal create mode 100644 graphics/pokemon/remoraid/shiny.pal create mode 100644 graphics/pokemon/rhydon/back.png create mode 100644 graphics/pokemon/rhydon/footprint.png create mode 100644 graphics/pokemon/rhydon/front.png create mode 100644 graphics/pokemon/rhydon/icon.png create mode 100644 graphics/pokemon/rhydon/normal.pal create mode 100644 graphics/pokemon/rhydon/shiny.pal create mode 100644 graphics/pokemon/rhyhorn/back.png create mode 100644 graphics/pokemon/rhyhorn/footprint.png create mode 100644 graphics/pokemon/rhyhorn/front.png create mode 100644 graphics/pokemon/rhyhorn/icon.png create mode 100644 graphics/pokemon/rhyhorn/normal.pal create mode 100644 graphics/pokemon/rhyhorn/shiny.pal create mode 100644 graphics/pokemon/roselia/back.png create mode 100644 graphics/pokemon/roselia/footprint.png create mode 100644 graphics/pokemon/roselia/front.png create mode 100644 graphics/pokemon/roselia/icon.png create mode 100644 graphics/pokemon/roselia/normal.pal create mode 100644 graphics/pokemon/roselia/shiny.pal create mode 100644 graphics/pokemon/sableye/back.png create mode 100644 graphics/pokemon/sableye/footprint.png create mode 100644 graphics/pokemon/sableye/front.png create mode 100644 graphics/pokemon/sableye/icon.png create mode 100644 graphics/pokemon/sableye/normal.pal create mode 100644 graphics/pokemon/sableye/shiny.pal create mode 100644 graphics/pokemon/salamence/back.png create mode 100644 graphics/pokemon/salamence/footprint.png create mode 100644 graphics/pokemon/salamence/front.png create mode 100644 graphics/pokemon/salamence/icon.png create mode 100644 graphics/pokemon/salamence/normal.pal create mode 100644 graphics/pokemon/salamence/shiny.pal create mode 100644 graphics/pokemon/sandshrew/back.png create mode 100644 graphics/pokemon/sandshrew/footprint.png create mode 100644 graphics/pokemon/sandshrew/front.png create mode 100644 graphics/pokemon/sandshrew/icon.png create mode 100644 graphics/pokemon/sandshrew/normal.pal create mode 100644 graphics/pokemon/sandshrew/shiny.pal create mode 100644 graphics/pokemon/sandslash/back.png create mode 100644 graphics/pokemon/sandslash/footprint.png create mode 100644 graphics/pokemon/sandslash/front.png create mode 100644 graphics/pokemon/sandslash/icon.png create mode 100644 graphics/pokemon/sandslash/normal.pal create mode 100644 graphics/pokemon/sandslash/shiny.pal create mode 100644 graphics/pokemon/sceptile/back.png create mode 100644 graphics/pokemon/sceptile/footprint.png create mode 100644 graphics/pokemon/sceptile/front.png create mode 100644 graphics/pokemon/sceptile/icon.png create mode 100644 graphics/pokemon/sceptile/normal.pal create mode 100644 graphics/pokemon/sceptile/shiny.pal create mode 100644 graphics/pokemon/scizor/back.png create mode 100644 graphics/pokemon/scizor/footprint.png create mode 100644 graphics/pokemon/scizor/front.png create mode 100644 graphics/pokemon/scizor/icon.png create mode 100644 graphics/pokemon/scizor/normal.pal create mode 100644 graphics/pokemon/scizor/shiny.pal create mode 100644 graphics/pokemon/scyther/back.png create mode 100644 graphics/pokemon/scyther/footprint.png create mode 100644 graphics/pokemon/scyther/front.png create mode 100644 graphics/pokemon/scyther/icon.png create mode 100644 graphics/pokemon/scyther/normal.pal create mode 100644 graphics/pokemon/scyther/shiny.pal create mode 100644 graphics/pokemon/seadra/back.png create mode 100644 graphics/pokemon/seadra/footprint.png create mode 100644 graphics/pokemon/seadra/front.png create mode 100644 graphics/pokemon/seadra/icon.png create mode 100644 graphics/pokemon/seadra/normal.pal create mode 100644 graphics/pokemon/seadra/shiny.pal create mode 100644 graphics/pokemon/seaking/back.png create mode 100644 graphics/pokemon/seaking/footprint.png create mode 100644 graphics/pokemon/seaking/front.png create mode 100644 graphics/pokemon/seaking/icon.png create mode 100644 graphics/pokemon/seaking/normal.pal create mode 100644 graphics/pokemon/seaking/shiny.pal create mode 100644 graphics/pokemon/sealeo/back.png create mode 100644 graphics/pokemon/sealeo/footprint.png create mode 100644 graphics/pokemon/sealeo/front.png create mode 100644 graphics/pokemon/sealeo/icon.png create mode 100644 graphics/pokemon/sealeo/normal.pal create mode 100644 graphics/pokemon/sealeo/shiny.pal create mode 100644 graphics/pokemon/seedot/back.png create mode 100644 graphics/pokemon/seedot/footprint.png create mode 100644 graphics/pokemon/seedot/front.png create mode 100644 graphics/pokemon/seedot/icon.png create mode 100644 graphics/pokemon/seedot/normal.pal create mode 100644 graphics/pokemon/seedot/shiny.pal create mode 100644 graphics/pokemon/seel/back.png create mode 100644 graphics/pokemon/seel/footprint.png create mode 100644 graphics/pokemon/seel/front.png create mode 100644 graphics/pokemon/seel/icon.png create mode 100644 graphics/pokemon/seel/normal.pal create mode 100644 graphics/pokemon/seel/shiny.pal create mode 100644 graphics/pokemon/sentret/back.png create mode 100644 graphics/pokemon/sentret/footprint.png create mode 100644 graphics/pokemon/sentret/front.png create mode 100644 graphics/pokemon/sentret/icon.png create mode 100644 graphics/pokemon/sentret/normal.pal create mode 100644 graphics/pokemon/sentret/shiny.pal create mode 100644 graphics/pokemon/seviper/back.png create mode 100644 graphics/pokemon/seviper/footprint.png create mode 100644 graphics/pokemon/seviper/front.png create mode 100644 graphics/pokemon/seviper/icon.png create mode 100644 graphics/pokemon/seviper/normal.pal create mode 100644 graphics/pokemon/seviper/shiny.pal create mode 100644 graphics/pokemon/sharpedo/back.png create mode 100644 graphics/pokemon/sharpedo/footprint.png create mode 100644 graphics/pokemon/sharpedo/front.png create mode 100644 graphics/pokemon/sharpedo/icon.png create mode 100644 graphics/pokemon/sharpedo/normal.pal create mode 100644 graphics/pokemon/sharpedo/shiny.pal create mode 100644 graphics/pokemon/shedinja/back.png create mode 100644 graphics/pokemon/shedinja/footprint.png create mode 100644 graphics/pokemon/shedinja/front.png create mode 100644 graphics/pokemon/shedinja/icon.png create mode 100644 graphics/pokemon/shedinja/normal.pal create mode 100644 graphics/pokemon/shedinja/shiny.pal create mode 100644 graphics/pokemon/shelgon/back.png create mode 100644 graphics/pokemon/shelgon/footprint.png create mode 100644 graphics/pokemon/shelgon/front.png create mode 100644 graphics/pokemon/shelgon/icon.png create mode 100644 graphics/pokemon/shelgon/normal.pal create mode 100644 graphics/pokemon/shelgon/shiny.pal create mode 100644 graphics/pokemon/shellder/back.png create mode 100644 graphics/pokemon/shellder/footprint.png create mode 100644 graphics/pokemon/shellder/front.png create mode 100644 graphics/pokemon/shellder/icon.png create mode 100644 graphics/pokemon/shellder/normal.pal create mode 100644 graphics/pokemon/shellder/shiny.pal create mode 100644 graphics/pokemon/shiftry/back.png create mode 100644 graphics/pokemon/shiftry/footprint.png create mode 100644 graphics/pokemon/shiftry/front.png create mode 100644 graphics/pokemon/shiftry/icon.png create mode 100644 graphics/pokemon/shiftry/normal.pal create mode 100644 graphics/pokemon/shiftry/shiny.pal create mode 100644 graphics/pokemon/shroomish/back.png create mode 100644 graphics/pokemon/shroomish/footprint.png create mode 100644 graphics/pokemon/shroomish/front.png create mode 100644 graphics/pokemon/shroomish/icon.png create mode 100644 graphics/pokemon/shroomish/normal.pal create mode 100644 graphics/pokemon/shroomish/shiny.pal create mode 100644 graphics/pokemon/shuckle/back.png create mode 100644 graphics/pokemon/shuckle/footprint.png create mode 100644 graphics/pokemon/shuckle/front.png create mode 100644 graphics/pokemon/shuckle/icon.png create mode 100644 graphics/pokemon/shuckle/normal.pal create mode 100644 graphics/pokemon/shuckle/shiny.pal create mode 100644 graphics/pokemon/shuppet/back.png create mode 100644 graphics/pokemon/shuppet/footprint.png create mode 100644 graphics/pokemon/shuppet/front.png create mode 100644 graphics/pokemon/shuppet/icon.png create mode 100644 graphics/pokemon/shuppet/normal.pal create mode 100644 graphics/pokemon/shuppet/shiny.pal create mode 100644 graphics/pokemon/silcoon/back.png create mode 100644 graphics/pokemon/silcoon/footprint.png create mode 100644 graphics/pokemon/silcoon/front.png create mode 100644 graphics/pokemon/silcoon/icon.png create mode 100644 graphics/pokemon/silcoon/normal.pal create mode 100644 graphics/pokemon/silcoon/shiny.pal create mode 100644 graphics/pokemon/skarmory/back.png create mode 100644 graphics/pokemon/skarmory/footprint.png create mode 100644 graphics/pokemon/skarmory/front.png create mode 100644 graphics/pokemon/skarmory/icon.png create mode 100644 graphics/pokemon/skarmory/normal.pal create mode 100644 graphics/pokemon/skarmory/shiny.pal create mode 100644 graphics/pokemon/skiploom/back.png create mode 100644 graphics/pokemon/skiploom/footprint.png create mode 100644 graphics/pokemon/skiploom/front.png create mode 100644 graphics/pokemon/skiploom/icon.png create mode 100644 graphics/pokemon/skiploom/normal.pal create mode 100644 graphics/pokemon/skiploom/shiny.pal create mode 100644 graphics/pokemon/skitty/back.png create mode 100644 graphics/pokemon/skitty/footprint.png create mode 100644 graphics/pokemon/skitty/front.png create mode 100644 graphics/pokemon/skitty/icon.png create mode 100644 graphics/pokemon/skitty/normal.pal create mode 100644 graphics/pokemon/skitty/shiny.pal create mode 100644 graphics/pokemon/slaking/back.png create mode 100644 graphics/pokemon/slaking/footprint.png create mode 100644 graphics/pokemon/slaking/front.png create mode 100644 graphics/pokemon/slaking/icon.png create mode 100644 graphics/pokemon/slaking/normal.pal create mode 100644 graphics/pokemon/slaking/shiny.pal create mode 100644 graphics/pokemon/slakoth/back.png create mode 100644 graphics/pokemon/slakoth/footprint.png create mode 100644 graphics/pokemon/slakoth/front.png create mode 100644 graphics/pokemon/slakoth/icon.png create mode 100644 graphics/pokemon/slakoth/normal.pal create mode 100644 graphics/pokemon/slakoth/shiny.pal create mode 100644 graphics/pokemon/slowbro/back.png create mode 100644 graphics/pokemon/slowbro/footprint.png create mode 100644 graphics/pokemon/slowbro/front.png create mode 100644 graphics/pokemon/slowbro/icon.png create mode 100644 graphics/pokemon/slowbro/normal.pal create mode 100644 graphics/pokemon/slowbro/shiny.pal create mode 100644 graphics/pokemon/slowking/back.png create mode 100644 graphics/pokemon/slowking/footprint.png create mode 100644 graphics/pokemon/slowking/front.png create mode 100644 graphics/pokemon/slowking/icon.png create mode 100644 graphics/pokemon/slowking/normal.pal create mode 100644 graphics/pokemon/slowking/shiny.pal create mode 100644 graphics/pokemon/slowpoke/back.png create mode 100644 graphics/pokemon/slowpoke/footprint.png create mode 100644 graphics/pokemon/slowpoke/front.png create mode 100644 graphics/pokemon/slowpoke/icon.png create mode 100644 graphics/pokemon/slowpoke/normal.pal create mode 100644 graphics/pokemon/slowpoke/shiny.pal create mode 100644 graphics/pokemon/slugma/back.png create mode 100644 graphics/pokemon/slugma/footprint.png create mode 100644 graphics/pokemon/slugma/front.png create mode 100644 graphics/pokemon/slugma/icon.png create mode 100644 graphics/pokemon/slugma/normal.pal create mode 100644 graphics/pokemon/slugma/shiny.pal create mode 100644 graphics/pokemon/smeargle/back.png create mode 100644 graphics/pokemon/smeargle/footprint.png create mode 100644 graphics/pokemon/smeargle/front.png create mode 100644 graphics/pokemon/smeargle/icon.png create mode 100644 graphics/pokemon/smeargle/normal.pal create mode 100644 graphics/pokemon/smeargle/shiny.pal create mode 100644 graphics/pokemon/smoochum/back.png create mode 100644 graphics/pokemon/smoochum/footprint.png create mode 100644 graphics/pokemon/smoochum/front.png create mode 100644 graphics/pokemon/smoochum/icon.png create mode 100644 graphics/pokemon/smoochum/normal.pal create mode 100644 graphics/pokemon/smoochum/shiny.pal create mode 100644 graphics/pokemon/sneasel/back.png create mode 100644 graphics/pokemon/sneasel/footprint.png create mode 100644 graphics/pokemon/sneasel/front.png create mode 100644 graphics/pokemon/sneasel/icon.png create mode 100644 graphics/pokemon/sneasel/normal.pal create mode 100644 graphics/pokemon/sneasel/shiny.pal create mode 100644 graphics/pokemon/snorlax/back.png create mode 100644 graphics/pokemon/snorlax/footprint.png create mode 100644 graphics/pokemon/snorlax/front.png create mode 100644 graphics/pokemon/snorlax/icon.png create mode 100644 graphics/pokemon/snorlax/normal.pal create mode 100644 graphics/pokemon/snorlax/shiny.pal create mode 100644 graphics/pokemon/snorunt/back.png create mode 100644 graphics/pokemon/snorunt/footprint.png create mode 100644 graphics/pokemon/snorunt/front.png create mode 100644 graphics/pokemon/snorunt/icon.png create mode 100644 graphics/pokemon/snorunt/normal.pal create mode 100644 graphics/pokemon/snorunt/shiny.pal create mode 100644 graphics/pokemon/snubbull/back.png create mode 100644 graphics/pokemon/snubbull/footprint.png create mode 100644 graphics/pokemon/snubbull/front.png create mode 100644 graphics/pokemon/snubbull/icon.png create mode 100644 graphics/pokemon/snubbull/normal.pal create mode 100644 graphics/pokemon/snubbull/shiny.pal create mode 100644 graphics/pokemon/solrock/back.png create mode 100644 graphics/pokemon/solrock/footprint.png create mode 100644 graphics/pokemon/solrock/front.png create mode 100644 graphics/pokemon/solrock/icon.png create mode 100644 graphics/pokemon/solrock/normal.pal create mode 100644 graphics/pokemon/solrock/shiny.pal create mode 100644 graphics/pokemon/spearow/back.png create mode 100644 graphics/pokemon/spearow/footprint.png create mode 100644 graphics/pokemon/spearow/front.png create mode 100644 graphics/pokemon/spearow/icon.png create mode 100644 graphics/pokemon/spearow/normal.pal create mode 100644 graphics/pokemon/spearow/shiny.pal create mode 100644 graphics/pokemon/spheal/back.png create mode 100644 graphics/pokemon/spheal/footprint.png create mode 100644 graphics/pokemon/spheal/front.png create mode 100644 graphics/pokemon/spheal/icon.png create mode 100644 graphics/pokemon/spheal/normal.pal create mode 100644 graphics/pokemon/spheal/shiny.pal create mode 100644 graphics/pokemon/spinarak/back.png create mode 100644 graphics/pokemon/spinarak/footprint.png create mode 100644 graphics/pokemon/spinarak/front.png create mode 100644 graphics/pokemon/spinarak/icon.png create mode 100644 graphics/pokemon/spinarak/normal.pal create mode 100644 graphics/pokemon/spinarak/shiny.pal create mode 100644 graphics/pokemon/spinda/back.png create mode 100644 graphics/pokemon/spinda/footprint.png create mode 100644 graphics/pokemon/spinda/front.png create mode 100644 graphics/pokemon/spinda/icon.png create mode 100644 graphics/pokemon/spinda/normal.pal create mode 100644 graphics/pokemon/spinda/shiny.pal create mode 100644 graphics/pokemon/spoink/back.png create mode 100644 graphics/pokemon/spoink/footprint.png create mode 100644 graphics/pokemon/spoink/front.png create mode 100644 graphics/pokemon/spoink/icon.png create mode 100644 graphics/pokemon/spoink/normal.pal create mode 100644 graphics/pokemon/spoink/shiny.pal create mode 100644 graphics/pokemon/squirtle/back.png create mode 100644 graphics/pokemon/squirtle/footprint.png create mode 100644 graphics/pokemon/squirtle/front.png create mode 100644 graphics/pokemon/squirtle/icon.png create mode 100644 graphics/pokemon/squirtle/normal.pal create mode 100644 graphics/pokemon/squirtle/shiny.pal create mode 100644 graphics/pokemon/stantler/back.png create mode 100644 graphics/pokemon/stantler/footprint.png create mode 100644 graphics/pokemon/stantler/front.png create mode 100644 graphics/pokemon/stantler/icon.png create mode 100644 graphics/pokemon/stantler/normal.pal create mode 100644 graphics/pokemon/stantler/shiny.pal create mode 100644 graphics/pokemon/starmie/back.png create mode 100644 graphics/pokemon/starmie/footprint.png create mode 100644 graphics/pokemon/starmie/front.png create mode 100644 graphics/pokemon/starmie/icon.png create mode 100644 graphics/pokemon/starmie/normal.pal create mode 100644 graphics/pokemon/starmie/shiny.pal create mode 100644 graphics/pokemon/staryu/back.png create mode 100644 graphics/pokemon/staryu/footprint.png create mode 100644 graphics/pokemon/staryu/front.png create mode 100644 graphics/pokemon/staryu/icon.png create mode 100644 graphics/pokemon/staryu/normal.pal create mode 100644 graphics/pokemon/staryu/shiny.pal create mode 100644 graphics/pokemon/steelix/back.png create mode 100644 graphics/pokemon/steelix/footprint.png create mode 100644 graphics/pokemon/steelix/front.png create mode 100644 graphics/pokemon/steelix/icon.png create mode 100644 graphics/pokemon/steelix/normal.pal create mode 100644 graphics/pokemon/steelix/shiny.pal create mode 100644 graphics/pokemon/sudowoodo/back.png create mode 100644 graphics/pokemon/sudowoodo/footprint.png create mode 100644 graphics/pokemon/sudowoodo/front.png create mode 100644 graphics/pokemon/sudowoodo/icon.png create mode 100644 graphics/pokemon/sudowoodo/normal.pal create mode 100644 graphics/pokemon/sudowoodo/shiny.pal create mode 100644 graphics/pokemon/suicune/back.png create mode 100644 graphics/pokemon/suicune/footprint.png create mode 100644 graphics/pokemon/suicune/front.png create mode 100644 graphics/pokemon/suicune/icon.png create mode 100644 graphics/pokemon/suicune/normal.pal create mode 100644 graphics/pokemon/suicune/shiny.pal create mode 100644 graphics/pokemon/sunflora/back.png create mode 100644 graphics/pokemon/sunflora/footprint.png create mode 100644 graphics/pokemon/sunflora/front.png create mode 100644 graphics/pokemon/sunflora/icon.png create mode 100644 graphics/pokemon/sunflora/normal.pal create mode 100644 graphics/pokemon/sunflora/shiny.pal create mode 100644 graphics/pokemon/sunkern/back.png create mode 100644 graphics/pokemon/sunkern/footprint.png create mode 100644 graphics/pokemon/sunkern/front.png create mode 100644 graphics/pokemon/sunkern/icon.png create mode 100644 graphics/pokemon/sunkern/normal.pal create mode 100644 graphics/pokemon/sunkern/shiny.pal create mode 100644 graphics/pokemon/surskit/back.png create mode 100644 graphics/pokemon/surskit/footprint.png create mode 100644 graphics/pokemon/surskit/front.png create mode 100644 graphics/pokemon/surskit/icon.png create mode 100644 graphics/pokemon/surskit/normal.pal create mode 100644 graphics/pokemon/surskit/shiny.pal create mode 100644 graphics/pokemon/swablu/back.png create mode 100644 graphics/pokemon/swablu/footprint.png create mode 100644 graphics/pokemon/swablu/front.png create mode 100644 graphics/pokemon/swablu/icon.png create mode 100644 graphics/pokemon/swablu/normal.pal create mode 100644 graphics/pokemon/swablu/shiny.pal create mode 100644 graphics/pokemon/swalot/back.png create mode 100644 graphics/pokemon/swalot/footprint.png create mode 100644 graphics/pokemon/swalot/front.png create mode 100644 graphics/pokemon/swalot/icon.png create mode 100644 graphics/pokemon/swalot/normal.pal create mode 100644 graphics/pokemon/swalot/shiny.pal create mode 100644 graphics/pokemon/swampert/back.png create mode 100644 graphics/pokemon/swampert/footprint.png create mode 100644 graphics/pokemon/swampert/front.png create mode 100644 graphics/pokemon/swampert/icon.png create mode 100644 graphics/pokemon/swampert/normal.pal create mode 100644 graphics/pokemon/swampert/shiny.pal create mode 100644 graphics/pokemon/swellow/back.png create mode 100644 graphics/pokemon/swellow/footprint.png create mode 100644 graphics/pokemon/swellow/front.png create mode 100644 graphics/pokemon/swellow/icon.png create mode 100644 graphics/pokemon/swellow/normal.pal create mode 100644 graphics/pokemon/swellow/shiny.pal create mode 100644 graphics/pokemon/swinub/back.png create mode 100644 graphics/pokemon/swinub/footprint.png create mode 100644 graphics/pokemon/swinub/front.png create mode 100644 graphics/pokemon/swinub/icon.png create mode 100644 graphics/pokemon/swinub/normal.pal create mode 100644 graphics/pokemon/swinub/shiny.pal create mode 100644 graphics/pokemon/taillow/back.png create mode 100644 graphics/pokemon/taillow/footprint.png create mode 100644 graphics/pokemon/taillow/front.png create mode 100644 graphics/pokemon/taillow/icon.png create mode 100644 graphics/pokemon/taillow/normal.pal create mode 100644 graphics/pokemon/taillow/shiny.pal create mode 100644 graphics/pokemon/tangela/back.png create mode 100644 graphics/pokemon/tangela/footprint.png create mode 100644 graphics/pokemon/tangela/front.png create mode 100644 graphics/pokemon/tangela/icon.png create mode 100644 graphics/pokemon/tangela/normal.pal create mode 100644 graphics/pokemon/tangela/shiny.pal create mode 100644 graphics/pokemon/tauros/back.png create mode 100644 graphics/pokemon/tauros/footprint.png create mode 100644 graphics/pokemon/tauros/front.png create mode 100644 graphics/pokemon/tauros/icon.png create mode 100644 graphics/pokemon/tauros/normal.pal create mode 100644 graphics/pokemon/tauros/shiny.pal create mode 100644 graphics/pokemon/teddiursa/back.png create mode 100644 graphics/pokemon/teddiursa/footprint.png create mode 100644 graphics/pokemon/teddiursa/front.png create mode 100644 graphics/pokemon/teddiursa/icon.png create mode 100644 graphics/pokemon/teddiursa/normal.pal create mode 100644 graphics/pokemon/teddiursa/shiny.pal create mode 100644 graphics/pokemon/tentacool/back.png create mode 100644 graphics/pokemon/tentacool/footprint.png create mode 100644 graphics/pokemon/tentacool/front.png create mode 100644 graphics/pokemon/tentacool/icon.png create mode 100644 graphics/pokemon/tentacool/normal.pal create mode 100644 graphics/pokemon/tentacool/shiny.pal create mode 100644 graphics/pokemon/tentacruel/back.png create mode 100644 graphics/pokemon/tentacruel/footprint.png create mode 100644 graphics/pokemon/tentacruel/front.png create mode 100644 graphics/pokemon/tentacruel/icon.png create mode 100644 graphics/pokemon/tentacruel/normal.pal create mode 100644 graphics/pokemon/tentacruel/shiny.pal create mode 100644 graphics/pokemon/togepi/back.png create mode 100644 graphics/pokemon/togepi/footprint.png create mode 100644 graphics/pokemon/togepi/front.png create mode 100644 graphics/pokemon/togepi/icon.png create mode 100644 graphics/pokemon/togepi/normal.pal create mode 100644 graphics/pokemon/togepi/shiny.pal create mode 100644 graphics/pokemon/togetic/back.png create mode 100644 graphics/pokemon/togetic/footprint.png create mode 100644 graphics/pokemon/togetic/front.png create mode 100644 graphics/pokemon/togetic/icon.png create mode 100644 graphics/pokemon/togetic/normal.pal create mode 100644 graphics/pokemon/togetic/shiny.pal create mode 100644 graphics/pokemon/torchic/back.png create mode 100644 graphics/pokemon/torchic/footprint.png create mode 100644 graphics/pokemon/torchic/front.png create mode 100644 graphics/pokemon/torchic/icon.png create mode 100644 graphics/pokemon/torchic/normal.pal create mode 100644 graphics/pokemon/torchic/shiny.pal create mode 100644 graphics/pokemon/torkoal/back.png create mode 100644 graphics/pokemon/torkoal/footprint.png create mode 100644 graphics/pokemon/torkoal/front.png create mode 100644 graphics/pokemon/torkoal/icon.png create mode 100644 graphics/pokemon/torkoal/normal.pal create mode 100644 graphics/pokemon/torkoal/shiny.pal create mode 100644 graphics/pokemon/totodile/back.png create mode 100644 graphics/pokemon/totodile/footprint.png create mode 100644 graphics/pokemon/totodile/front.png create mode 100644 graphics/pokemon/totodile/icon.png create mode 100644 graphics/pokemon/totodile/normal.pal create mode 100644 graphics/pokemon/totodile/shiny.pal create mode 100644 graphics/pokemon/trapinch/back.png create mode 100644 graphics/pokemon/trapinch/footprint.png create mode 100644 graphics/pokemon/trapinch/front.png create mode 100644 graphics/pokemon/trapinch/icon.png create mode 100644 graphics/pokemon/trapinch/normal.pal create mode 100644 graphics/pokemon/trapinch/shiny.pal create mode 100644 graphics/pokemon/treecko/back.png create mode 100644 graphics/pokemon/treecko/footprint.png create mode 100644 graphics/pokemon/treecko/front.png create mode 100644 graphics/pokemon/treecko/icon.png create mode 100644 graphics/pokemon/treecko/normal.pal create mode 100644 graphics/pokemon/treecko/shiny.pal create mode 100644 graphics/pokemon/tropius/back.png create mode 100644 graphics/pokemon/tropius/footprint.png create mode 100644 graphics/pokemon/tropius/front.png create mode 100644 graphics/pokemon/tropius/icon.png create mode 100644 graphics/pokemon/tropius/normal.pal create mode 100644 graphics/pokemon/tropius/shiny.pal create mode 100644 graphics/pokemon/typhlosion/back.png create mode 100644 graphics/pokemon/typhlosion/footprint.png create mode 100644 graphics/pokemon/typhlosion/front.png create mode 100644 graphics/pokemon/typhlosion/icon.png create mode 100644 graphics/pokemon/typhlosion/normal.pal create mode 100644 graphics/pokemon/typhlosion/shiny.pal create mode 100644 graphics/pokemon/tyranitar/back.png create mode 100644 graphics/pokemon/tyranitar/footprint.png create mode 100644 graphics/pokemon/tyranitar/front.png create mode 100644 graphics/pokemon/tyranitar/icon.png create mode 100644 graphics/pokemon/tyranitar/normal.pal create mode 100644 graphics/pokemon/tyranitar/shiny.pal create mode 100644 graphics/pokemon/tyrogue/back.png create mode 100644 graphics/pokemon/tyrogue/footprint.png create mode 100644 graphics/pokemon/tyrogue/front.png create mode 100644 graphics/pokemon/tyrogue/icon.png create mode 100644 graphics/pokemon/tyrogue/normal.pal create mode 100644 graphics/pokemon/tyrogue/shiny.pal create mode 100644 graphics/pokemon/umbreon/back.png create mode 100644 graphics/pokemon/umbreon/footprint.png create mode 100644 graphics/pokemon/umbreon/front.png create mode 100644 graphics/pokemon/umbreon/icon.png create mode 100644 graphics/pokemon/umbreon/normal.pal create mode 100644 graphics/pokemon/umbreon/shiny.pal create mode 100644 graphics/pokemon/unown/a/back.png create mode 100644 graphics/pokemon/unown/a/front.png create mode 100644 graphics/pokemon/unown/a/icon.png create mode 100644 graphics/pokemon/unown/b/back.png create mode 100644 graphics/pokemon/unown/b/front.png create mode 100644 graphics/pokemon/unown/b/icon.png create mode 100644 graphics/pokemon/unown/c/back.png create mode 100644 graphics/pokemon/unown/c/front.png create mode 100644 graphics/pokemon/unown/c/icon.png create mode 100644 graphics/pokemon/unown/d/back.png create mode 100644 graphics/pokemon/unown/d/front.png create mode 100644 graphics/pokemon/unown/d/icon.png create mode 100644 graphics/pokemon/unown/e/back.png create mode 100644 graphics/pokemon/unown/e/front.png create mode 100644 graphics/pokemon/unown/e/icon.png create mode 100644 graphics/pokemon/unown/exclamation_mark/back.png create mode 100644 graphics/pokemon/unown/exclamation_mark/front.png create mode 100644 graphics/pokemon/unown/exclamation_mark/icon.png create mode 100644 graphics/pokemon/unown/f/back.png create mode 100644 graphics/pokemon/unown/f/front.png create mode 100644 graphics/pokemon/unown/f/icon.png create mode 100644 graphics/pokemon/unown/footprint.png create mode 100644 graphics/pokemon/unown/g/back.png create mode 100644 graphics/pokemon/unown/g/front.png create mode 100644 graphics/pokemon/unown/g/icon.png create mode 100644 graphics/pokemon/unown/h/back.png create mode 100644 graphics/pokemon/unown/h/front.png create mode 100644 graphics/pokemon/unown/h/icon.png create mode 100644 graphics/pokemon/unown/i/back.png create mode 100644 graphics/pokemon/unown/i/front.png create mode 100644 graphics/pokemon/unown/i/icon.png create mode 100644 graphics/pokemon/unown/j/back.png create mode 100644 graphics/pokemon/unown/j/front.png create mode 100644 graphics/pokemon/unown/j/icon.png create mode 100644 graphics/pokemon/unown/k/back.png create mode 100644 graphics/pokemon/unown/k/front.png create mode 100644 graphics/pokemon/unown/k/icon.png create mode 100644 graphics/pokemon/unown/l/back.png create mode 100644 graphics/pokemon/unown/l/front.png create mode 100644 graphics/pokemon/unown/l/icon.png create mode 100644 graphics/pokemon/unown/m/back.png create mode 100644 graphics/pokemon/unown/m/front.png create mode 100644 graphics/pokemon/unown/m/icon.png create mode 100644 graphics/pokemon/unown/n/back.png create mode 100644 graphics/pokemon/unown/n/front.png create mode 100644 graphics/pokemon/unown/n/icon.png create mode 100644 graphics/pokemon/unown/normal.pal create mode 100644 graphics/pokemon/unown/o/back.png create mode 100644 graphics/pokemon/unown/o/front.png create mode 100644 graphics/pokemon/unown/o/icon.png create mode 100644 graphics/pokemon/unown/p/back.png create mode 100644 graphics/pokemon/unown/p/front.png create mode 100644 graphics/pokemon/unown/p/icon.png create mode 100644 graphics/pokemon/unown/q/back.png create mode 100644 graphics/pokemon/unown/q/front.png create mode 100644 graphics/pokemon/unown/q/icon.png create mode 100644 graphics/pokemon/unown/question_mark/back.png create mode 100644 graphics/pokemon/unown/question_mark/front.png create mode 100644 graphics/pokemon/unown/question_mark/icon.png create mode 100644 graphics/pokemon/unown/r/back.png create mode 100644 graphics/pokemon/unown/r/front.png create mode 100644 graphics/pokemon/unown/r/icon.png create mode 100644 graphics/pokemon/unown/s/back.png create mode 100644 graphics/pokemon/unown/s/front.png create mode 100644 graphics/pokemon/unown/s/icon.png create mode 100644 graphics/pokemon/unown/shiny.pal create mode 100644 graphics/pokemon/unown/t/back.png create mode 100644 graphics/pokemon/unown/t/front.png create mode 100644 graphics/pokemon/unown/t/icon.png create mode 100644 graphics/pokemon/unown/u/back.png create mode 100644 graphics/pokemon/unown/u/front.png create mode 100644 graphics/pokemon/unown/u/icon.png create mode 100644 graphics/pokemon/unown/v/back.png create mode 100644 graphics/pokemon/unown/v/front.png create mode 100644 graphics/pokemon/unown/v/icon.png create mode 100644 graphics/pokemon/unown/w/back.png create mode 100644 graphics/pokemon/unown/w/front.png create mode 100644 graphics/pokemon/unown/w/icon.png create mode 100644 graphics/pokemon/unown/x/back.png create mode 100644 graphics/pokemon/unown/x/front.png create mode 100644 graphics/pokemon/unown/x/icon.png create mode 100644 graphics/pokemon/unown/y/back.png create mode 100644 graphics/pokemon/unown/y/front.png create mode 100644 graphics/pokemon/unown/y/icon.png create mode 100644 graphics/pokemon/unown/z/back.png create mode 100644 graphics/pokemon/unown/z/front.png create mode 100644 graphics/pokemon/unown/z/icon.png create mode 100644 graphics/pokemon/ursaring/back.png create mode 100644 graphics/pokemon/ursaring/footprint.png create mode 100644 graphics/pokemon/ursaring/front.png create mode 100644 graphics/pokemon/ursaring/icon.png create mode 100644 graphics/pokemon/ursaring/normal.pal create mode 100644 graphics/pokemon/ursaring/shiny.pal create mode 100644 graphics/pokemon/vaporeon/back.png create mode 100644 graphics/pokemon/vaporeon/footprint.png create mode 100644 graphics/pokemon/vaporeon/front.png create mode 100644 graphics/pokemon/vaporeon/icon.png create mode 100644 graphics/pokemon/vaporeon/normal.pal create mode 100644 graphics/pokemon/vaporeon/shiny.pal create mode 100644 graphics/pokemon/venomoth/back.png create mode 100644 graphics/pokemon/venomoth/footprint.png create mode 100644 graphics/pokemon/venomoth/front.png create mode 100644 graphics/pokemon/venomoth/icon.png create mode 100644 graphics/pokemon/venomoth/normal.pal create mode 100644 graphics/pokemon/venomoth/shiny.pal create mode 100644 graphics/pokemon/venonat/back.png create mode 100644 graphics/pokemon/venonat/footprint.png create mode 100644 graphics/pokemon/venonat/front.png create mode 100644 graphics/pokemon/venonat/icon.png create mode 100644 graphics/pokemon/venonat/normal.pal create mode 100644 graphics/pokemon/venonat/shiny.pal create mode 100644 graphics/pokemon/venusaur/back.png create mode 100644 graphics/pokemon/venusaur/footprint.png create mode 100644 graphics/pokemon/venusaur/front.png create mode 100644 graphics/pokemon/venusaur/icon.png create mode 100644 graphics/pokemon/venusaur/normal.pal create mode 100644 graphics/pokemon/venusaur/shiny.pal create mode 100644 graphics/pokemon/vibrava/back.png create mode 100644 graphics/pokemon/vibrava/footprint.png create mode 100644 graphics/pokemon/vibrava/front.png create mode 100644 graphics/pokemon/vibrava/icon.png create mode 100644 graphics/pokemon/vibrava/normal.pal create mode 100644 graphics/pokemon/vibrava/shiny.pal create mode 100644 graphics/pokemon/victreebel/back.png create mode 100644 graphics/pokemon/victreebel/footprint.png create mode 100644 graphics/pokemon/victreebel/front.png create mode 100644 graphics/pokemon/victreebel/icon.png create mode 100644 graphics/pokemon/victreebel/normal.pal create mode 100644 graphics/pokemon/victreebel/shiny.pal create mode 100644 graphics/pokemon/vigoroth/back.png create mode 100644 graphics/pokemon/vigoroth/footprint.png create mode 100644 graphics/pokemon/vigoroth/front.png create mode 100644 graphics/pokemon/vigoroth/icon.png create mode 100644 graphics/pokemon/vigoroth/normal.pal create mode 100644 graphics/pokemon/vigoroth/shiny.pal create mode 100644 graphics/pokemon/vileplume/back.png create mode 100644 graphics/pokemon/vileplume/footprint.png create mode 100644 graphics/pokemon/vileplume/front.png create mode 100644 graphics/pokemon/vileplume/icon.png create mode 100644 graphics/pokemon/vileplume/normal.pal create mode 100644 graphics/pokemon/vileplume/shiny.pal create mode 100644 graphics/pokemon/volbeat/back.png create mode 100644 graphics/pokemon/volbeat/footprint.png create mode 100644 graphics/pokemon/volbeat/front.png create mode 100644 graphics/pokemon/volbeat/icon.png create mode 100644 graphics/pokemon/volbeat/normal.pal create mode 100644 graphics/pokemon/volbeat/shiny.pal create mode 100644 graphics/pokemon/voltorb/back.png create mode 100644 graphics/pokemon/voltorb/footprint.png create mode 100644 graphics/pokemon/voltorb/front.png create mode 100644 graphics/pokemon/voltorb/icon.png create mode 100644 graphics/pokemon/voltorb/normal.pal create mode 100644 graphics/pokemon/voltorb/shiny.pal create mode 100644 graphics/pokemon/vulpix/back.png create mode 100644 graphics/pokemon/vulpix/footprint.png create mode 100644 graphics/pokemon/vulpix/front.png create mode 100644 graphics/pokemon/vulpix/icon.png create mode 100644 graphics/pokemon/vulpix/normal.pal create mode 100644 graphics/pokemon/vulpix/shiny.pal create mode 100644 graphics/pokemon/wailmer/back.png create mode 100644 graphics/pokemon/wailmer/footprint.png create mode 100644 graphics/pokemon/wailmer/front.png create mode 100644 graphics/pokemon/wailmer/icon.png create mode 100644 graphics/pokemon/wailmer/normal.pal create mode 100644 graphics/pokemon/wailmer/shiny.pal create mode 100644 graphics/pokemon/wailord/back.png create mode 100644 graphics/pokemon/wailord/footprint.png create mode 100644 graphics/pokemon/wailord/front.png create mode 100644 graphics/pokemon/wailord/icon.png create mode 100644 graphics/pokemon/wailord/normal.pal create mode 100644 graphics/pokemon/wailord/shiny.pal create mode 100644 graphics/pokemon/walrein/back.png create mode 100644 graphics/pokemon/walrein/footprint.png create mode 100644 graphics/pokemon/walrein/front.png create mode 100644 graphics/pokemon/walrein/icon.png create mode 100644 graphics/pokemon/walrein/normal.pal create mode 100644 graphics/pokemon/walrein/shiny.pal create mode 100644 graphics/pokemon/wartortle/back.png create mode 100644 graphics/pokemon/wartortle/footprint.png create mode 100644 graphics/pokemon/wartortle/front.png create mode 100644 graphics/pokemon/wartortle/icon.png create mode 100644 graphics/pokemon/wartortle/normal.pal create mode 100644 graphics/pokemon/wartortle/shiny.pal create mode 100644 graphics/pokemon/weedle/back.png create mode 100644 graphics/pokemon/weedle/footprint.png create mode 100644 graphics/pokemon/weedle/front.png create mode 100644 graphics/pokemon/weedle/icon.png create mode 100644 graphics/pokemon/weedle/normal.pal create mode 100644 graphics/pokemon/weedle/shiny.pal create mode 100644 graphics/pokemon/weepinbell/back.png create mode 100644 graphics/pokemon/weepinbell/footprint.png create mode 100644 graphics/pokemon/weepinbell/front.png create mode 100644 graphics/pokemon/weepinbell/icon.png create mode 100644 graphics/pokemon/weepinbell/normal.pal create mode 100644 graphics/pokemon/weepinbell/shiny.pal create mode 100644 graphics/pokemon/weezing/back.png create mode 100644 graphics/pokemon/weezing/footprint.png create mode 100644 graphics/pokemon/weezing/front.png create mode 100644 graphics/pokemon/weezing/icon.png create mode 100644 graphics/pokemon/weezing/normal.pal create mode 100644 graphics/pokemon/weezing/shiny.pal create mode 100644 graphics/pokemon/whiscash/back.png create mode 100644 graphics/pokemon/whiscash/footprint.png create mode 100644 graphics/pokemon/whiscash/front.png create mode 100644 graphics/pokemon/whiscash/icon.png create mode 100644 graphics/pokemon/whiscash/normal.pal create mode 100644 graphics/pokemon/whiscash/shiny.pal create mode 100644 graphics/pokemon/whismur/back.png create mode 100644 graphics/pokemon/whismur/footprint.png create mode 100644 graphics/pokemon/whismur/front.png create mode 100644 graphics/pokemon/whismur/icon.png create mode 100644 graphics/pokemon/whismur/normal.pal create mode 100644 graphics/pokemon/whismur/shiny.pal create mode 100644 graphics/pokemon/wigglytuff/back.png create mode 100644 graphics/pokemon/wigglytuff/footprint.png create mode 100644 graphics/pokemon/wigglytuff/front.png create mode 100644 graphics/pokemon/wigglytuff/icon.png create mode 100644 graphics/pokemon/wigglytuff/normal.pal create mode 100644 graphics/pokemon/wigglytuff/shiny.pal create mode 100644 graphics/pokemon/wingull/back.png create mode 100644 graphics/pokemon/wingull/footprint.png create mode 100644 graphics/pokemon/wingull/front.png create mode 100644 graphics/pokemon/wingull/icon.png create mode 100644 graphics/pokemon/wingull/normal.pal create mode 100644 graphics/pokemon/wingull/shiny.pal create mode 100644 graphics/pokemon/wobbuffet/back.png create mode 100644 graphics/pokemon/wobbuffet/footprint.png create mode 100644 graphics/pokemon/wobbuffet/front.png create mode 100644 graphics/pokemon/wobbuffet/icon.png create mode 100644 graphics/pokemon/wobbuffet/normal.pal create mode 100644 graphics/pokemon/wobbuffet/shiny.pal create mode 100644 graphics/pokemon/wooper/back.png create mode 100644 graphics/pokemon/wooper/footprint.png create mode 100644 graphics/pokemon/wooper/front.png create mode 100644 graphics/pokemon/wooper/icon.png create mode 100644 graphics/pokemon/wooper/normal.pal create mode 100644 graphics/pokemon/wooper/shiny.pal create mode 100644 graphics/pokemon/wurmple/back.png create mode 100644 graphics/pokemon/wurmple/footprint.png create mode 100644 graphics/pokemon/wurmple/front.png create mode 100644 graphics/pokemon/wurmple/icon.png create mode 100644 graphics/pokemon/wurmple/normal.pal create mode 100644 graphics/pokemon/wurmple/shiny.pal create mode 100644 graphics/pokemon/wynaut/back.png create mode 100644 graphics/pokemon/wynaut/footprint.png create mode 100644 graphics/pokemon/wynaut/front.png create mode 100644 graphics/pokemon/wynaut/icon.png create mode 100644 graphics/pokemon/wynaut/normal.pal create mode 100644 graphics/pokemon/wynaut/shiny.pal create mode 100644 graphics/pokemon/xatu/back.png create mode 100644 graphics/pokemon/xatu/footprint.png create mode 100644 graphics/pokemon/xatu/front.png create mode 100644 graphics/pokemon/xatu/icon.png create mode 100644 graphics/pokemon/xatu/normal.pal create mode 100644 graphics/pokemon/xatu/shiny.pal create mode 100644 graphics/pokemon/yanma/back.png create mode 100644 graphics/pokemon/yanma/footprint.png create mode 100644 graphics/pokemon/yanma/front.png create mode 100644 graphics/pokemon/yanma/icon.png create mode 100644 graphics/pokemon/yanma/normal.pal create mode 100644 graphics/pokemon/yanma/shiny.pal create mode 100644 graphics/pokemon/zangoose/back.png create mode 100644 graphics/pokemon/zangoose/footprint.png create mode 100644 graphics/pokemon/zangoose/front.png create mode 100644 graphics/pokemon/zangoose/icon.png create mode 100644 graphics/pokemon/zangoose/normal.pal create mode 100644 graphics/pokemon/zangoose/shiny.pal create mode 100644 graphics/pokemon/zapdos/back.png create mode 100644 graphics/pokemon/zapdos/footprint.png create mode 100644 graphics/pokemon/zapdos/front.png create mode 100644 graphics/pokemon/zapdos/icon.png create mode 100644 graphics/pokemon/zapdos/normal.pal create mode 100644 graphics/pokemon/zapdos/shiny.pal create mode 100644 graphics/pokemon/zigzagoon/back.png create mode 100644 graphics/pokemon/zigzagoon/footprint.png create mode 100644 graphics/pokemon/zigzagoon/front.png create mode 100644 graphics/pokemon/zigzagoon/icon.png create mode 100644 graphics/pokemon/zigzagoon/normal.pal create mode 100644 graphics/pokemon/zigzagoon/shiny.pal create mode 100644 graphics/pokemon/zubat/back.png create mode 100644 graphics/pokemon/zubat/footprint.png create mode 100644 graphics/pokemon/zubat/front.png create mode 100644 graphics/pokemon/zubat/icon.png create mode 100644 graphics/pokemon/zubat/normal.pal create mode 100644 graphics/pokemon/zubat/shiny.pal diff --git a/Makefile b/Makefile index 05ac09c21..a59f032bb 100644 --- a/Makefile +++ b/Makefile @@ -78,7 +78,7 @@ OBJS_REL := $(patsubst $(OBJ_DIR)/%,%,$(OBJS)) all: rom -rom: $(ROM) +rom: tools $(ROM) tools: @$(MAKE) -C tools/gbagfx diff --git a/data/graphics.s b/data/graphics.s index ff9ed3d7e..804d42745 100644 --- a/data/graphics.s +++ b/data/graphics.s @@ -19,11 +19,11 @@ gUnknown_8D0098C:: @ 8D0098C .align 2 gFile_graphics_pokemon_palettes_circled_question_mark_palette:: @ 8D00BD0 - .incbin "graphics/pokemon/palettes/circled_question_mark_palette.gbapal.lz" + .incbin "graphics/pokemon/question_mark/circled/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_palettes_circled_question_mark_shiny_palette:: @ 8D00BE8 - .incbin "graphics/pokemon/palettes/circled_question_mark_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/question_mark/circled/shiny.gbapal.lz" .align 2 gFile_graphics_unused_old_charmap_sheet:: @ 8D00C00 @@ -2590,9625 +2590,9625 @@ gUnknown_8D2FBB4:: @ 8D2FBB4 .align 2 gFile_graphics_pokemon_front_pics_bulbasaur_still_front_pic:: @ 8D2FBD4 - .incbin "graphics/pokemon/front_pics/bulbasaur_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/bulbasaur/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_bulbasaur_palette:: @ 8D2FE78 - .incbin "graphics/pokemon/palettes/bulbasaur_palette.gbapal.lz" + .incbin "graphics/pokemon/bulbasaur/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_bulbasaur_back_pic:: @ 8D2FEA0 - .incbin "graphics/pokemon/back_pics/bulbasaur_back_pic.4bpp.lz" + .incbin "graphics/pokemon/bulbasaur/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_bulbasaur_shiny_palette:: @ 8D30164 - .incbin "graphics/pokemon/palettes/bulbasaur_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/bulbasaur/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_bulbasaur_icon:: @ 8D3018C - .incbin "graphics/pokemon/icons/bulbasaur_icon.4bpp" + .incbin "graphics/pokemon/bulbasaur/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_bulbasaur_footprint:: @ 8D3058C - .incbin "graphics/pokemon/footprints/bulbasaur_footprint.1bpp" + .incbin "graphics/pokemon/bulbasaur/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_ivysaur_still_front_pic:: @ 8D305AC - .incbin "graphics/pokemon/front_pics/ivysaur_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/ivysaur/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_ivysaur_palette:: @ 8D308E8 - .incbin "graphics/pokemon/palettes/ivysaur_palette.gbapal.lz" + .incbin "graphics/pokemon/ivysaur/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_ivysaur_back_pic:: @ 8D30910 - .incbin "graphics/pokemon/back_pics/ivysaur_back_pic.4bpp.lz" + .incbin "graphics/pokemon/ivysaur/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_ivysaur_shiny_palette:: @ 8D30C64 - .incbin "graphics/pokemon/palettes/ivysaur_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/ivysaur/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_ivysaur_icon:: @ 8D30C8C - .incbin "graphics/pokemon/icons/ivysaur_icon.4bpp" + .incbin "graphics/pokemon/ivysaur/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_ivysaur_footprint:: @ 8D3108C - .incbin "graphics/pokemon/footprints/ivysaur_footprint.1bpp" + .incbin "graphics/pokemon/ivysaur/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_venusaur_still_front_pic:: @ 8D310AC - .incbin "graphics/pokemon/front_pics/venusaur_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/venusaur/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_venusaur_palette:: @ 8D315EC - .incbin "graphics/pokemon/palettes/venusaur_palette.gbapal.lz" + .incbin "graphics/pokemon/venusaur/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_venusaur_back_pic:: @ 8D31614 - .incbin "graphics/pokemon/back_pics/venusaur_back_pic.4bpp.lz" + .incbin "graphics/pokemon/venusaur/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_venusaur_shiny_palette:: @ 8D31ADC - .incbin "graphics/pokemon/palettes/venusaur_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/venusaur/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_venusaur_icon:: @ 8D31B04 - .incbin "graphics/pokemon/icons/venusaur_icon.4bpp" + .incbin "graphics/pokemon/venusaur/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_venusaur_footprint:: @ 8D31F04 - .incbin "graphics/pokemon/footprints/venusaur_footprint.1bpp" + .incbin "graphics/pokemon/venusaur/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_charmander_still_front_pic:: @ 8D31F24 - .incbin "graphics/pokemon/front_pics/charmander_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/charmander/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_charmander_palette:: @ 8D321C4 - .incbin "graphics/pokemon/palettes/charmander_palette.gbapal.lz" + .incbin "graphics/pokemon/charmander/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_charmander_back_pic:: @ 8D321EC - .incbin "graphics/pokemon/back_pics/charmander_back_pic.4bpp.lz" + .incbin "graphics/pokemon/charmander/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_charmander_shiny_palette:: @ 8D32470 - .incbin "graphics/pokemon/palettes/charmander_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/charmander/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_charmander_icon:: @ 8D32498 - .incbin "graphics/pokemon/icons/charmander_icon.4bpp" + .incbin "graphics/pokemon/charmander/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_charmander_footprint:: @ 8D32898 - .incbin "graphics/pokemon/footprints/charmander_footprint.1bpp" + .incbin "graphics/pokemon/charmander/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_charmeleon_still_front_pic:: @ 8D328B8 - .incbin "graphics/pokemon/front_pics/charmeleon_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/charmeleon/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_charmeleon_palette:: @ 8D32C64 - .incbin "graphics/pokemon/palettes/charmeleon_palette.gbapal.lz" + .incbin "graphics/pokemon/charmeleon/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_charmeleon_back_pic:: @ 8D32C8C - .incbin "graphics/pokemon/back_pics/charmeleon_back_pic.4bpp.lz" + .incbin "graphics/pokemon/charmeleon/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_charmeleon_shiny_palette:: @ 8D32F80 - .incbin "graphics/pokemon/palettes/charmeleon_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/charmeleon/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_charmeleon_icon:: @ 8D32FA8 - .incbin "graphics/pokemon/icons/charmeleon_icon.4bpp" + .incbin "graphics/pokemon/charmeleon/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_charmeleon_footprint:: @ 8D333A8 - .incbin "graphics/pokemon/footprints/charmeleon_footprint.1bpp" + .incbin "graphics/pokemon/charmeleon/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_charizard_still_front_pic:: @ 8D333C8 - .incbin "graphics/pokemon/front_pics/charizard_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/charizard/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_charizard_palette:: @ 8D338C4 - .incbin "graphics/pokemon/palettes/charizard_palette.gbapal.lz" + .incbin "graphics/pokemon/charizard/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_charizard_back_pic:: @ 8D338EC - .incbin "graphics/pokemon/back_pics/charizard_back_pic.4bpp.lz" + .incbin "graphics/pokemon/charizard/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_charizard_shiny_palette:: @ 8D33CF8 - .incbin "graphics/pokemon/palettes/charizard_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/charizard/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_charizard_icon:: @ 8D33D20 - .incbin "graphics/pokemon/icons/charizard_icon.4bpp" + .incbin "graphics/pokemon/charizard/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_charizard_footprint:: @ 8D34120 - .incbin "graphics/pokemon/footprints/charizard_footprint.1bpp" + .incbin "graphics/pokemon/charizard/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_squirtle_still_front_pic:: @ 8D34140 - .incbin "graphics/pokemon/front_pics/squirtle_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/squirtle/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_squirtle_palette:: @ 8D343DC - .incbin "graphics/pokemon/palettes/squirtle_palette.gbapal.lz" + .incbin "graphics/pokemon/squirtle/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_squirtle_back_pic:: @ 8D34404 - .incbin "graphics/pokemon/back_pics/squirtle_back_pic.4bpp.lz" + .incbin "graphics/pokemon/squirtle/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_squirtle_shiny_palette:: @ 8D3468C - .incbin "graphics/pokemon/palettes/squirtle_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/squirtle/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_squirtle_icon:: @ 8D346B4 - .incbin "graphics/pokemon/icons/squirtle_icon.4bpp" + .incbin "graphics/pokemon/squirtle/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_squirtle_footprint:: @ 8D34AB4 - .incbin "graphics/pokemon/footprints/squirtle_footprint.1bpp" + .incbin "graphics/pokemon/squirtle/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_wartortle_still_front_pic:: @ 8D34AD4 - .incbin "graphics/pokemon/front_pics/wartortle_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/wartortle/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_wartortle_palette:: @ 8D34E80 - .incbin "graphics/pokemon/palettes/wartortle_palette.gbapal.lz" + .incbin "graphics/pokemon/wartortle/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_wartortle_back_pic:: @ 8D34EA8 - .incbin "graphics/pokemon/back_pics/wartortle_back_pic.4bpp.lz" + .incbin "graphics/pokemon/wartortle/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_wartortle_shiny_palette:: @ 8D351F0 - .incbin "graphics/pokemon/palettes/wartortle_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/wartortle/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_wartortle_icon:: @ 8D35218 - .incbin "graphics/pokemon/icons/wartortle_icon.4bpp" + .incbin "graphics/pokemon/wartortle/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_wartortle_footprint:: @ 8D35618 - .incbin "graphics/pokemon/footprints/wartortle_footprint.1bpp" + .incbin "graphics/pokemon/wartortle/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_blastoise_still_front_pic:: @ 8D35638 - .incbin "graphics/pokemon/front_pics/blastoise_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/blastoise/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_blastoise_palette:: @ 8D35B3C - .incbin "graphics/pokemon/palettes/blastoise_palette.gbapal.lz" + .incbin "graphics/pokemon/blastoise/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_blastoise_back_pic:: @ 8D35B64 - .incbin "graphics/pokemon/back_pics/blastoise_back_pic.4bpp.lz" + .incbin "graphics/pokemon/blastoise/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_blastoise_shiny_palette:: @ 8D35F78 - .incbin "graphics/pokemon/palettes/blastoise_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/blastoise/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_blastoise_icon:: @ 8D35FA0 - .incbin "graphics/pokemon/icons/blastoise_icon.4bpp" + .incbin "graphics/pokemon/blastoise/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_blastoise_footprint:: @ 8D363A0 - .incbin "graphics/pokemon/footprints/blastoise_footprint.1bpp" + .incbin "graphics/pokemon/blastoise/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_caterpie_still_front_pic:: @ 8D363C0 - .incbin "graphics/pokemon/front_pics/caterpie_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/caterpie/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_caterpie_palette:: @ 8D36618 - .incbin "graphics/pokemon/palettes/caterpie_palette.gbapal.lz" + .incbin "graphics/pokemon/caterpie/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_caterpie_back_pic:: @ 8D36640 - .incbin "graphics/pokemon/back_pics/caterpie_back_pic.4bpp.lz" + .incbin "graphics/pokemon/caterpie/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_caterpie_shiny_palette:: @ 8D368C8 - .incbin "graphics/pokemon/palettes/caterpie_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/caterpie/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_caterpie_icon:: @ 8D368F0 - .incbin "graphics/pokemon/icons/caterpie_icon.4bpp" + .incbin "graphics/pokemon/caterpie/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_caterpie_footprint:: @ 8D36CF0 - .incbin "graphics/pokemon/footprints/caterpie_footprint.1bpp" + .incbin "graphics/pokemon/caterpie/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_metapod_still_front_pic:: @ 8D36D10 - .incbin "graphics/pokemon/front_pics/metapod_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/metapod/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_metapod_palette:: @ 8D36F2C - .incbin "graphics/pokemon/palettes/metapod_palette.gbapal.lz" + .incbin "graphics/pokemon/metapod/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_metapod_back_pic:: @ 8D36F4C - .incbin "graphics/pokemon/back_pics/metapod_back_pic.4bpp.lz" + .incbin "graphics/pokemon/metapod/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_metapod_shiny_palette:: @ 8D37168 - .incbin "graphics/pokemon/palettes/metapod_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/metapod/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_metapod_icon:: @ 8D37188 - .incbin "graphics/pokemon/icons/metapod_icon.4bpp" + .incbin "graphics/pokemon/metapod/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_metapod_footprint:: @ 8D37588 - .incbin "graphics/pokemon/footprints/metapod_footprint.1bpp" + .incbin "graphics/pokemon/metapod/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_butterfree_still_front_pic:: @ 8D375A8 - .incbin "graphics/pokemon/front_pics/butterfree_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/butterfree/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_butterfree_palette:: @ 8D37920 - .incbin "graphics/pokemon/palettes/butterfree_palette.gbapal.lz" + .incbin "graphics/pokemon/butterfree/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_butterfree_back_pic:: @ 8D37948 - .incbin "graphics/pokemon/back_pics/butterfree_back_pic.4bpp.lz" + .incbin "graphics/pokemon/butterfree/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_butterfree_shiny_palette:: @ 8D37D4C - .incbin "graphics/pokemon/palettes/butterfree_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/butterfree/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_butterfree_icon:: @ 8D37D74 - .incbin "graphics/pokemon/icons/butterfree_icon.4bpp" + .incbin "graphics/pokemon/butterfree/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_butterfree_footprint:: @ 8D38174 - .incbin "graphics/pokemon/footprints/butterfree_footprint.1bpp" + .incbin "graphics/pokemon/butterfree/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_weedle_still_front_pic:: @ 8D38194 - .incbin "graphics/pokemon/front_pics/weedle_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/weedle/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_weedle_palette:: @ 8D383D0 - .incbin "graphics/pokemon/palettes/weedle_palette.gbapal.lz" + .incbin "graphics/pokemon/weedle/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_weedle_back_pic:: @ 8D383F8 - .incbin "graphics/pokemon/back_pics/weedle_back_pic.4bpp.lz" + .incbin "graphics/pokemon/weedle/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_weedle_shiny_palette:: @ 8D38660 - .incbin "graphics/pokemon/palettes/weedle_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/weedle/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_weedle_icon:: @ 8D38688 - .incbin "graphics/pokemon/icons/weedle_icon.4bpp" + .incbin "graphics/pokemon/weedle/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_weedle_footprint:: @ 8D38A88 - .incbin "graphics/pokemon/footprints/weedle_footprint.1bpp" + .incbin "graphics/pokemon/weedle/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_kakuna_still_front_pic:: @ 8D38AA8 - .incbin "graphics/pokemon/front_pics/kakuna_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/kakuna/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_kakuna_palette:: @ 8D38CE8 - .incbin "graphics/pokemon/palettes/kakuna_palette.gbapal.lz" + .incbin "graphics/pokemon/kakuna/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_kakuna_back_pic:: @ 8D38D0C - .incbin "graphics/pokemon/back_pics/kakuna_back_pic.4bpp.lz" + .incbin "graphics/pokemon/kakuna/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_kakuna_shiny_palette:: @ 8D38F90 - .incbin "graphics/pokemon/palettes/kakuna_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/kakuna/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_kakuna_icon:: @ 8D38FB4 - .incbin "graphics/pokemon/icons/kakuna_icon.4bpp" + .incbin "graphics/pokemon/kakuna/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_kakuna_footprint:: @ 8D393B4 - .incbin "graphics/pokemon/footprints/kakuna_footprint.1bpp" + .incbin "graphics/pokemon/kakuna/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_beedrill_still_front_pic:: @ 8D393D4 - .incbin "graphics/pokemon/front_pics/beedrill_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/beedrill/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_beedrill_palette:: @ 8D397F4 - .incbin "graphics/pokemon/palettes/beedrill_palette.gbapal.lz" + .incbin "graphics/pokemon/beedrill/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_beedrill_back_pic:: @ 8D3981C - .incbin "graphics/pokemon/back_pics/beedrill_back_pic.4bpp.lz" + .incbin "graphics/pokemon/beedrill/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_beedrill_shiny_palette:: @ 8D39B90 - .incbin "graphics/pokemon/palettes/beedrill_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/beedrill/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_beedrill_icon:: @ 8D39BB8 - .incbin "graphics/pokemon/icons/beedrill_icon.4bpp" + .incbin "graphics/pokemon/beedrill/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_beedrill_footprint:: @ 8D39FB8 - .incbin "graphics/pokemon/footprints/beedrill_footprint.1bpp" + .incbin "graphics/pokemon/beedrill/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_pidgey_still_front_pic:: @ 8D39FD8 - .incbin "graphics/pokemon/front_pics/pidgey_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/pidgey/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_pidgey_palette:: @ 8D3A250 - .incbin "graphics/pokemon/palettes/pidgey_palette.gbapal.lz" + .incbin "graphics/pokemon/pidgey/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_pidgey_back_pic:: @ 8D3A278 - .incbin "graphics/pokemon/back_pics/pidgey_back_pic.4bpp.lz" + .incbin "graphics/pokemon/pidgey/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_pidgey_shiny_palette:: @ 8D3A5CC - .incbin "graphics/pokemon/palettes/pidgey_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/pidgey/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_pidgey_icon:: @ 8D3A5F4 - .incbin "graphics/pokemon/icons/pidgey_icon.4bpp" + .incbin "graphics/pokemon/pidgey/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_pidgey_footprint:: @ 8D3A9F4 - .incbin "graphics/pokemon/footprints/pidgey_footprint.1bpp" + .incbin "graphics/pokemon/pidgey/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_pidgeotto_still_front_pic:: @ 8D3AA14 - .incbin "graphics/pokemon/front_pics/pidgeotto_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/pidgeotto/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_pidgeotto_palette:: @ 8D3ADAC - .incbin "graphics/pokemon/palettes/pidgeotto_palette.gbapal.lz" + .incbin "graphics/pokemon/pidgeotto/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_pidgeotto_back_pic:: @ 8D3ADD4 - .incbin "graphics/pokemon/back_pics/pidgeotto_back_pic.4bpp.lz" + .incbin "graphics/pokemon/pidgeotto/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_pidgeotto_shiny_palette:: @ 8D3B120 - .incbin "graphics/pokemon/palettes/pidgeotto_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/pidgeotto/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_pidgeotto_icon:: @ 8D3B148 - .incbin "graphics/pokemon/icons/pidgeotto_icon.4bpp" + .incbin "graphics/pokemon/pidgeotto/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_pidgeotto_footprint:: @ 8D3B548 - .incbin "graphics/pokemon/footprints/pidgeotto_footprint.1bpp" + .incbin "graphics/pokemon/pidgeotto/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_pidgeot_still_front_pic:: @ 8D3B568 - .incbin "graphics/pokemon/front_pics/pidgeot_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/pidgeot/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_pidgeot_palette:: @ 8D3BA54 - .incbin "graphics/pokemon/palettes/pidgeot_palette.gbapal.lz" + .incbin "graphics/pokemon/pidgeot/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_pidgeot_back_pic:: @ 8D3BA7C - .incbin "graphics/pokemon/back_pics/pidgeot_back_pic.4bpp.lz" + .incbin "graphics/pokemon/pidgeot/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_pidgeot_shiny_palette:: @ 8D3BE64 - .incbin "graphics/pokemon/palettes/pidgeot_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/pidgeot/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_pidgeot_icon:: @ 8D3BE8C - .incbin "graphics/pokemon/icons/pidgeot_icon.4bpp" + .incbin "graphics/pokemon/pidgeot/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_pidgeot_footprint:: @ 8D3C28C - .incbin "graphics/pokemon/footprints/pidgeot_footprint.1bpp" + .incbin "graphics/pokemon/pidgeot/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_rattata_still_front_pic:: @ 8D3C2AC - .incbin "graphics/pokemon/front_pics/rattata_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/rattata/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_rattata_palette:: @ 8D3C504 - .incbin "graphics/pokemon/palettes/rattata_palette.gbapal.lz" + .incbin "graphics/pokemon/rattata/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_rattata_back_pic:: @ 8D3C52C - .incbin "graphics/pokemon/back_pics/rattata_back_pic.4bpp.lz" + .incbin "graphics/pokemon/rattata/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_rattata_shiny_palette:: @ 8D3C7E4 - .incbin "graphics/pokemon/palettes/rattata_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/rattata/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_rattata_icon:: @ 8D3C80C - .incbin "graphics/pokemon/icons/rattata_icon.4bpp" + .incbin "graphics/pokemon/rattata/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_rattata_footprint:: @ 8D3CC0C - .incbin "graphics/pokemon/footprints/rattata_footprint.1bpp" + .incbin "graphics/pokemon/rattata/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_raticate_still_front_pic:: @ 8D3CC2C - .incbin "graphics/pokemon/front_pics/raticate_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/raticate/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_raticate_palette:: @ 8D3CFBC - .incbin "graphics/pokemon/palettes/raticate_palette.gbapal.lz" + .incbin "graphics/pokemon/raticate/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_raticate_back_pic:: @ 8D3CFE4 - .incbin "graphics/pokemon/back_pics/raticate_back_pic.4bpp.lz" + .incbin "graphics/pokemon/raticate/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_raticate_shiny_palette:: @ 8D3D2F4 - .incbin "graphics/pokemon/palettes/raticate_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/raticate/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_raticate_icon:: @ 8D3D31C - .incbin "graphics/pokemon/icons/raticate_icon.4bpp" + .incbin "graphics/pokemon/raticate/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_raticate_footprint:: @ 8D3D71C - .incbin "graphics/pokemon/footprints/raticate_footprint.1bpp" + .incbin "graphics/pokemon/raticate/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_spearow_still_front_pic:: @ 8D3D73C - .incbin "graphics/pokemon/front_pics/spearow_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/spearow/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_spearow_palette:: @ 8D3D9FC - .incbin "graphics/pokemon/palettes/spearow_palette.gbapal.lz" + .incbin "graphics/pokemon/spearow/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_spearow_back_pic:: @ 8D3DA24 - .incbin "graphics/pokemon/back_pics/spearow_back_pic.4bpp.lz" + .incbin "graphics/pokemon/spearow/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_spearow_shiny_palette:: @ 8D3DD00 - .incbin "graphics/pokemon/palettes/spearow_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/spearow/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_spearow_icon:: @ 8D3DD28 - .incbin "graphics/pokemon/icons/spearow_icon.4bpp" + .incbin "graphics/pokemon/spearow/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_spearow_footprint:: @ 8D3E128 - .incbin "graphics/pokemon/footprints/spearow_footprint.1bpp" + .incbin "graphics/pokemon/spearow/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_fearow_still_front_pic:: @ 8D3E148 - .incbin "graphics/pokemon/front_pics/fearow_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/fearow/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_fearow_palette:: @ 8D3E604 - .incbin "graphics/pokemon/palettes/fearow_palette.gbapal.lz" + .incbin "graphics/pokemon/fearow/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_fearow_back_pic:: @ 8D3E62C - .incbin "graphics/pokemon/back_pics/fearow_back_pic.4bpp.lz" + .incbin "graphics/pokemon/fearow/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_fearow_shiny_palette:: @ 8D3E924 - .incbin "graphics/pokemon/palettes/fearow_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/fearow/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_fearow_icon:: @ 8D3E94C - .incbin "graphics/pokemon/icons/fearow_icon.4bpp" + .incbin "graphics/pokemon/fearow/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_fearow_footprint:: @ 8D3ED4C - .incbin "graphics/pokemon/footprints/fearow_footprint.1bpp" + .incbin "graphics/pokemon/fearow/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_ekans_still_front_pic:: @ 8D3ED6C - .incbin "graphics/pokemon/front_pics/ekans_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/ekans/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_ekans_palette:: @ 8D3F034 - .incbin "graphics/pokemon/palettes/ekans_palette.gbapal.lz" + .incbin "graphics/pokemon/ekans/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_ekans_back_pic:: @ 8D3F05C - .incbin "graphics/pokemon/back_pics/ekans_back_pic.4bpp.lz" + .incbin "graphics/pokemon/ekans/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_ekans_shiny_palette:: @ 8D3F34C - .incbin "graphics/pokemon/palettes/ekans_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/ekans/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_ekans_icon:: @ 8D3F374 - .incbin "graphics/pokemon/icons/ekans_icon.4bpp" + .incbin "graphics/pokemon/ekans/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_ekans_footprint:: @ 8D3F774 - .incbin "graphics/pokemon/footprints/ekans_footprint.1bpp" + .incbin "graphics/pokemon/ekans/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_arbok_still_front_pic:: @ 8D3F794 - .incbin "graphics/pokemon/front_pics/arbok_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/arbok/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_arbok_palette:: @ 8D3FC08 - .incbin "graphics/pokemon/palettes/arbok_palette.gbapal.lz" + .incbin "graphics/pokemon/arbok/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_arbok_back_pic:: @ 8D3FC30 - .incbin "graphics/pokemon/back_pics/arbok_back_pic.4bpp.lz" + .incbin "graphics/pokemon/arbok/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_arbok_shiny_palette:: @ 8D3FEB8 - .incbin "graphics/pokemon/palettes/arbok_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/arbok/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_arbok_icon:: @ 8D3FEE0 - .incbin "graphics/pokemon/icons/arbok_icon.4bpp" + .incbin "graphics/pokemon/arbok/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_arbok_footprint:: @ 8D402E0 - .incbin "graphics/pokemon/footprints/arbok_footprint.1bpp" + .incbin "graphics/pokemon/arbok/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_pikachu_still_front_pic:: @ 8D40300 - .incbin "graphics/pokemon/front_pics/pikachu_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/pikachu/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_pikachu_palette:: @ 8D405D0 - .incbin "graphics/pokemon/palettes/pikachu_palette.gbapal.lz" + .incbin "graphics/pokemon/pikachu/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_pikachu_back_pic:: @ 8D405F8 - .incbin "graphics/pokemon/back_pics/pikachu_back_pic.4bpp.lz" + .incbin "graphics/pokemon/pikachu/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_pikachu_shiny_palette:: @ 8D408D0 - .incbin "graphics/pokemon/palettes/pikachu_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/pikachu/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_pikachu_icon:: @ 8D408F8 - .incbin "graphics/pokemon/icons/pikachu_icon.4bpp" + .incbin "graphics/pokemon/pikachu/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_pikachu_footprint:: @ 8D40CF8 - .incbin "graphics/pokemon/footprints/pikachu_footprint.1bpp" + .incbin "graphics/pokemon/pikachu/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_raichu_still_front_pic:: @ 8D40D18 - .incbin "graphics/pokemon/front_pics/raichu_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/raichu/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_raichu_palette:: @ 8D41110 - .incbin "graphics/pokemon/palettes/raichu_palette.gbapal.lz" + .incbin "graphics/pokemon/raichu/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_raichu_back_pic:: @ 8D41138 - .incbin "graphics/pokemon/back_pics/raichu_back_pic.4bpp.lz" + .incbin "graphics/pokemon/raichu/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_raichu_shiny_palette:: @ 8D41458 - .incbin "graphics/pokemon/palettes/raichu_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/raichu/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_raichu_icon:: @ 8D41480 - .incbin "graphics/pokemon/icons/raichu_icon.4bpp" + .incbin "graphics/pokemon/raichu/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_raichu_footprint:: @ 8D41880 - .incbin "graphics/pokemon/footprints/raichu_footprint.1bpp" + .incbin "graphics/pokemon/raichu/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_sandshrew_still_front_pic:: @ 8D418A0 - .incbin "graphics/pokemon/front_pics/sandshrew_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/sandshrew/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_sandshrew_palette:: @ 8D41B7C - .incbin "graphics/pokemon/palettes/sandshrew_palette.gbapal.lz" + .incbin "graphics/pokemon/sandshrew/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_sandshrew_back_pic:: @ 8D41BA4 - .incbin "graphics/pokemon/back_pics/sandshrew_back_pic.4bpp.lz" + .incbin "graphics/pokemon/sandshrew/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_sandshrew_shiny_palette:: @ 8D41ECC - .incbin "graphics/pokemon/palettes/sandshrew_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/sandshrew/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_sandshrew_icon:: @ 8D41EF4 - .incbin "graphics/pokemon/icons/sandshrew_icon.4bpp" + .incbin "graphics/pokemon/sandshrew/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_sandshrew_footprint:: @ 8D422F4 - .incbin "graphics/pokemon/footprints/sandshrew_footprint.1bpp" + .incbin "graphics/pokemon/sandshrew/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_sandslash_still_front_pic:: @ 8D42314 - .incbin "graphics/pokemon/front_pics/sandslash_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/sandslash/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_sandslash_palette:: @ 8D4272C - .incbin "graphics/pokemon/palettes/sandslash_palette.gbapal.lz" + .incbin "graphics/pokemon/sandslash/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_sandslash_back_pic:: @ 8D42754 - .incbin "graphics/pokemon/back_pics/sandslash_back_pic.4bpp.lz" + .incbin "graphics/pokemon/sandslash/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_sandslash_shiny_palette:: @ 8D42B70 - .incbin "graphics/pokemon/palettes/sandslash_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/sandslash/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_sandslash_icon:: @ 8D42B98 - .incbin "graphics/pokemon/icons/sandslash_icon.4bpp" + .incbin "graphics/pokemon/sandslash/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_sandslash_footprint:: @ 8D42F98 - .incbin "graphics/pokemon/footprints/sandslash_footprint.1bpp" + .incbin "graphics/pokemon/sandslash/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_nidoran_f_still_front_pic:: @ 8D42FB8 - .incbin "graphics/pokemon/front_pics/nidoran_f_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/nidoran_f/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_nidoran_f_palette:: @ 8D4321C - .incbin "graphics/pokemon/palettes/nidoran_f_palette.gbapal.lz" + .incbin "graphics/pokemon/nidoran_f/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_nidoran_f_back_pic:: @ 8D43244 - .incbin "graphics/pokemon/back_pics/nidoran_f_back_pic.4bpp.lz" + .incbin "graphics/pokemon/nidoran_f/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_nidoran_f_shiny_palette:: @ 8D43524 - .incbin "graphics/pokemon/palettes/nidoran_f_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/nidoran_f/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_nidoran_f_icon:: @ 8D4354C - .incbin "graphics/pokemon/icons/nidoran_f_icon.4bpp" + .incbin "graphics/pokemon/nidoran_f/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_nidoran_f_footprint:: @ 8D4394C - .incbin "graphics/pokemon/footprints/nidoran_f_footprint.1bpp" + .incbin "graphics/pokemon/nidoran_f/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_nidorina_still_front_pic:: @ 8D4396C - .incbin "graphics/pokemon/front_pics/nidorina_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/nidorina/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_nidorina_palette:: @ 8D43C8C - .incbin "graphics/pokemon/palettes/nidorina_palette.gbapal.lz" + .incbin "graphics/pokemon/nidorina/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_nidorina_back_pic:: @ 8D43CB4 - .incbin "graphics/pokemon/back_pics/nidorina_back_pic.4bpp.lz" + .incbin "graphics/pokemon/nidorina/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_nidorina_shiny_palette:: @ 8D44048 - .incbin "graphics/pokemon/palettes/nidorina_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/nidorina/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_nidorina_icon:: @ 8D44070 - .incbin "graphics/pokemon/icons/nidorina_icon.4bpp" + .incbin "graphics/pokemon/nidorina/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_nidorina_footprint:: @ 8D44470 - .incbin "graphics/pokemon/footprints/nidorina_footprint.1bpp" + .incbin "graphics/pokemon/nidorina/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_nidoqueen_still_front_pic:: @ 8D44490 - .incbin "graphics/pokemon/front_pics/nidoqueen_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/nidoqueen/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_nidoqueen_palette:: @ 8D448BC - .incbin "graphics/pokemon/palettes/nidoqueen_palette.gbapal.lz" + .incbin "graphics/pokemon/nidoqueen/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_nidoqueen_back_pic:: @ 8D448E4 - .incbin "graphics/pokemon/back_pics/nidoqueen_back_pic.4bpp.lz" + .incbin "graphics/pokemon/nidoqueen/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_nidoqueen_shiny_palette:: @ 8D44CA8 - .incbin "graphics/pokemon/palettes/nidoqueen_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/nidoqueen/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_nidoqueen_icon:: @ 8D44CD0 - .incbin "graphics/pokemon/icons/nidoqueen_icon.4bpp" + .incbin "graphics/pokemon/nidoqueen/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_nidoqueen_footprint:: @ 8D450D0 - .incbin "graphics/pokemon/footprints/nidoqueen_footprint.1bpp" + .incbin "graphics/pokemon/nidoqueen/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_nidoran_m_still_front_pic:: @ 8D450F0 - .incbin "graphics/pokemon/front_pics/nidoran_m_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/nidoran_m/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_nidoran_m_palette:: @ 8D4537C - .incbin "graphics/pokemon/palettes/nidoran_m_palette.gbapal.lz" + .incbin "graphics/pokemon/nidoran_m/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_nidoran_m_back_pic:: @ 8D453A4 - .incbin "graphics/pokemon/back_pics/nidoran_m_back_pic.4bpp.lz" + .incbin "graphics/pokemon/nidoran_m/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_nidoran_m_shiny_palette:: @ 8D456D8 - .incbin "graphics/pokemon/palettes/nidoran_m_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/nidoran_m/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_nidoran_m_icon:: @ 8D45700 - .incbin "graphics/pokemon/icons/nidoran_m_icon.4bpp" + .incbin "graphics/pokemon/nidoran_m/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_nidoran_m_footprint:: @ 8D45B00 - .incbin "graphics/pokemon/footprints/nidoran_m_footprint.1bpp" + .incbin "graphics/pokemon/nidoran_m/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_nidorino_still_front_pic:: @ 8D45B20 - .incbin "graphics/pokemon/front_pics/nidorino_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/nidorino/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_nidorino_palette:: @ 8D45EA4 - .incbin "graphics/pokemon/palettes/nidorino_palette.gbapal.lz" + .incbin "graphics/pokemon/nidorino/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_nidorino_back_pic:: @ 8D45ECC - .incbin "graphics/pokemon/back_pics/nidorino_back_pic.4bpp.lz" + .incbin "graphics/pokemon/nidorino/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_nidorino_shiny_palette:: @ 8D46288 - .incbin "graphics/pokemon/palettes/nidorino_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/nidorino/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_nidorino_icon:: @ 8D462B0 - .incbin "graphics/pokemon/icons/nidorino_icon.4bpp" + .incbin "graphics/pokemon/nidorino/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_nidorino_footprint:: @ 8D466B0 - .incbin "graphics/pokemon/footprints/nidorino_footprint.1bpp" + .incbin "graphics/pokemon/nidorino/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_nidoking_still_front_pic:: @ 8D466D0 - .incbin "graphics/pokemon/front_pics/nidoking_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/nidoking/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_nidoking_palette:: @ 8D46C0C - .incbin "graphics/pokemon/palettes/nidoking_palette.gbapal.lz" + .incbin "graphics/pokemon/nidoking/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_nidoking_back_pic:: @ 8D46C34 - .incbin "graphics/pokemon/back_pics/nidoking_back_pic.4bpp.lz" + .incbin "graphics/pokemon/nidoking/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_nidoking_shiny_palette:: @ 8D47070 - .incbin "graphics/pokemon/palettes/nidoking_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/nidoking/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_nidoking_icon:: @ 8D47098 - .incbin "graphics/pokemon/icons/nidoking_icon.4bpp" + .incbin "graphics/pokemon/nidoking/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_nidoking_footprint:: @ 8D47498 - .incbin "graphics/pokemon/footprints/nidoking_footprint.1bpp" + .incbin "graphics/pokemon/nidoking/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_clefairy_still_front_pic:: @ 8D474B8 - .incbin "graphics/pokemon/front_pics/clefairy_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/clefairy/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_clefairy_palette:: @ 8D47754 - .incbin "graphics/pokemon/palettes/clefairy_palette.gbapal.lz" + .incbin "graphics/pokemon/clefairy/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_clefairy_back_pic:: @ 8D4777C - .incbin "graphics/pokemon/back_pics/clefairy_back_pic.4bpp.lz" + .incbin "graphics/pokemon/clefairy/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_clefairy_shiny_palette:: @ 8D47A4C - .incbin "graphics/pokemon/palettes/clefairy_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/clefairy/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_clefairy_icon:: @ 8D47A74 - .incbin "graphics/pokemon/icons/clefairy_icon.4bpp" + .incbin "graphics/pokemon/clefairy/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_clefairy_footprint:: @ 8D47E74 - .incbin "graphics/pokemon/footprints/clefairy_footprint.1bpp" + .incbin "graphics/pokemon/clefairy/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_clefable_still_front_pic:: @ 8D47E94 - .incbin "graphics/pokemon/front_pics/clefable_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/clefable/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_clefable_palette:: @ 8D481D4 - .incbin "graphics/pokemon/palettes/clefable_palette.gbapal.lz" + .incbin "graphics/pokemon/clefable/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_clefable_back_pic:: @ 8D481FC - .incbin "graphics/pokemon/back_pics/clefable_back_pic.4bpp.lz" + .incbin "graphics/pokemon/clefable/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_clefable_shiny_palette:: @ 8D48534 - .incbin "graphics/pokemon/palettes/clefable_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/clefable/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_clefable_icon:: @ 8D4855C - .incbin "graphics/pokemon/icons/clefable_icon.4bpp" + .incbin "graphics/pokemon/clefable/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_clefable_footprint:: @ 8D4895C - .incbin "graphics/pokemon/footprints/clefable_footprint.1bpp" + .incbin "graphics/pokemon/clefable/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_vulpix_still_front_pic:: @ 8D4897C - .incbin "graphics/pokemon/front_pics/vulpix_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/vulpix/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_vulpix_palette:: @ 8D48CA8 - .incbin "graphics/pokemon/palettes/vulpix_palette.gbapal.lz" + .incbin "graphics/pokemon/vulpix/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_vulpix_back_pic:: @ 8D48CD0 - .incbin "graphics/pokemon/back_pics/vulpix_back_pic.4bpp.lz" + .incbin "graphics/pokemon/vulpix/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_vulpix_shiny_palette:: @ 8D48FD4 - .incbin "graphics/pokemon/palettes/vulpix_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/vulpix/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_vulpix_icon:: @ 8D48FFC - .incbin "graphics/pokemon/icons/vulpix_icon.4bpp" + .incbin "graphics/pokemon/vulpix/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_vulpix_footprint:: @ 8D493FC - .incbin "graphics/pokemon/footprints/vulpix_footprint.1bpp" + .incbin "graphics/pokemon/vulpix/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_ninetales_still_front_pic:: @ 8D4941C - .incbin "graphics/pokemon/front_pics/ninetales_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/ninetales/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_ninetales_palette:: @ 8D49870 - .incbin "graphics/pokemon/palettes/ninetales_palette.gbapal.lz" + .incbin "graphics/pokemon/ninetales/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_ninetales_back_pic:: @ 8D49894 - .incbin "graphics/pokemon/back_pics/ninetales_back_pic.4bpp.lz" + .incbin "graphics/pokemon/ninetales/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_ninetales_shiny_palette:: @ 8D49C84 - .incbin "graphics/pokemon/palettes/ninetales_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/ninetales/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_ninetales_icon:: @ 8D49CA8 - .incbin "graphics/pokemon/icons/ninetales_icon.4bpp" + .incbin "graphics/pokemon/ninetales/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_ninetales_footprint:: @ 8D4A0A8 - .incbin "graphics/pokemon/footprints/ninetales_footprint.1bpp" + .incbin "graphics/pokemon/ninetales/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_jigglypuff_still_front_pic:: @ 8D4A0C8 - .incbin "graphics/pokemon/front_pics/jigglypuff_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/jigglypuff/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_jigglypuff_palette:: @ 8D4A34C - .incbin "graphics/pokemon/palettes/jigglypuff_palette.gbapal.lz" + .incbin "graphics/pokemon/jigglypuff/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_jigglypuff_back_pic:: @ 8D4A374 - .incbin "graphics/pokemon/back_pics/jigglypuff_back_pic.4bpp.lz" + .incbin "graphics/pokemon/jigglypuff/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_jigglypuff_shiny_palette:: @ 8D4A5D0 - .incbin "graphics/pokemon/palettes/jigglypuff_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/jigglypuff/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_jigglypuff_icon:: @ 8D4A5F8 - .incbin "graphics/pokemon/icons/jigglypuff_icon.4bpp" + .incbin "graphics/pokemon/jigglypuff/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_jigglypuff_footprint:: @ 8D4A9F8 - .incbin "graphics/pokemon/footprints/jigglypuff_footprint.1bpp" + .incbin "graphics/pokemon/jigglypuff/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_wigglytuff_still_front_pic:: @ 8D4AA18 - .incbin "graphics/pokemon/front_pics/wigglytuff_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/wigglytuff/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_wigglytuff_palette:: @ 8D4AD8C - .incbin "graphics/pokemon/palettes/wigglytuff_palette.gbapal.lz" + .incbin "graphics/pokemon/wigglytuff/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_wigglytuff_back_pic:: @ 8D4ADB4 - .incbin "graphics/pokemon/back_pics/wigglytuff_back_pic.4bpp.lz" + .incbin "graphics/pokemon/wigglytuff/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_wigglytuff_shiny_palette:: @ 8D4B04C - .incbin "graphics/pokemon/palettes/wigglytuff_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/wigglytuff/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_wigglytuff_icon:: @ 8D4B074 - .incbin "graphics/pokemon/icons/wigglytuff_icon.4bpp" + .incbin "graphics/pokemon/wigglytuff/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_wigglytuff_footprint:: @ 8D4B474 - .incbin "graphics/pokemon/footprints/wigglytuff_footprint.1bpp" + .incbin "graphics/pokemon/wigglytuff/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_zubat_still_front_pic:: @ 8D4B494 - .incbin "graphics/pokemon/front_pics/zubat_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/zubat/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_zubat_palette:: @ 8D4B750 - .incbin "graphics/pokemon/palettes/zubat_palette.gbapal.lz" + .incbin "graphics/pokemon/zubat/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_zubat_back_pic:: @ 8D4B778 - .incbin "graphics/pokemon/back_pics/zubat_back_pic.4bpp.lz" + .incbin "graphics/pokemon/zubat/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_zubat_shiny_palette:: @ 8D4BA34 - .incbin "graphics/pokemon/palettes/zubat_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/zubat/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_zubat_icon:: @ 8D4BA5C - .incbin "graphics/pokemon/icons/zubat_icon.4bpp" + .incbin "graphics/pokemon/zubat/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_zubat_footprint:: @ 8D4BE5C - .incbin "graphics/pokemon/footprints/zubat_footprint.1bpp" + .incbin "graphics/pokemon/zubat/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_golbat_still_front_pic:: @ 8D4BE7C - .incbin "graphics/pokemon/front_pics/golbat_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/golbat/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_golbat_palette:: @ 8D4C21C - .incbin "graphics/pokemon/palettes/golbat_palette.gbapal.lz" + .incbin "graphics/pokemon/golbat/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_golbat_back_pic:: @ 8D4C244 - .incbin "graphics/pokemon/back_pics/golbat_back_pic.4bpp.lz" + .incbin "graphics/pokemon/golbat/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_golbat_shiny_palette:: @ 8D4C500 - .incbin "graphics/pokemon/palettes/golbat_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/golbat/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_golbat_icon:: @ 8D4C528 - .incbin "graphics/pokemon/icons/golbat_icon.4bpp" + .incbin "graphics/pokemon/golbat/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_golbat_footprint:: @ 8D4C928 - .incbin "graphics/pokemon/footprints/golbat_footprint.1bpp" + .incbin "graphics/pokemon/golbat/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_oddish_still_front_pic:: @ 8D4C948 - .incbin "graphics/pokemon/front_pics/oddish_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/oddish/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_oddish_palette:: @ 8D4CB88 - .incbin "graphics/pokemon/palettes/oddish_palette.gbapal.lz" + .incbin "graphics/pokemon/oddish/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_oddish_back_pic:: @ 8D4CBB0 - .incbin "graphics/pokemon/back_pics/oddish_back_pic.4bpp.lz" + .incbin "graphics/pokemon/oddish/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_oddish_shiny_palette:: @ 8D4CE74 - .incbin "graphics/pokemon/palettes/oddish_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/oddish/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_oddish_icon:: @ 8D4CE9C - .incbin "graphics/pokemon/icons/oddish_icon.4bpp" + .incbin "graphics/pokemon/oddish/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_oddish_footprint:: @ 8D4D29C - .incbin "graphics/pokemon/footprints/oddish_footprint.1bpp" + .incbin "graphics/pokemon/oddish/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_gloom_still_front_pic:: @ 8D4D2BC - .incbin "graphics/pokemon/front_pics/gloom_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/gloom/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_gloom_palette:: @ 8D4D624 - .incbin "graphics/pokemon/palettes/gloom_palette.gbapal.lz" + .incbin "graphics/pokemon/gloom/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_gloom_back_pic:: @ 8D4D64C - .incbin "graphics/pokemon/back_pics/gloom_back_pic.4bpp.lz" + .incbin "graphics/pokemon/gloom/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_gloom_shiny_palette:: @ 8D4D9CC - .incbin "graphics/pokemon/palettes/gloom_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/gloom/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_gloom_icon:: @ 8D4D9F4 - .incbin "graphics/pokemon/icons/gloom_icon.4bpp" + .incbin "graphics/pokemon/gloom/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_gloom_footprint:: @ 8D4DDF4 - .incbin "graphics/pokemon/footprints/gloom_footprint.1bpp" + .incbin "graphics/pokemon/gloom/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_vileplume_still_front_pic:: @ 8D4DE14 - .incbin "graphics/pokemon/front_pics/vileplume_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/vileplume/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_vileplume_palette:: @ 8D4E168 - .incbin "graphics/pokemon/palettes/vileplume_palette.gbapal.lz" + .incbin "graphics/pokemon/vileplume/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_vileplume_back_pic:: @ 8D4E190 - .incbin "graphics/pokemon/back_pics/vileplume_back_pic.4bpp.lz" + .incbin "graphics/pokemon/vileplume/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_vileplume_shiny_palette:: @ 8D4E5DC - .incbin "graphics/pokemon/palettes/vileplume_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/vileplume/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_vileplume_icon:: @ 8D4E604 - .incbin "graphics/pokemon/icons/vileplume_icon.4bpp" + .incbin "graphics/pokemon/vileplume/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_vileplume_footprint:: @ 8D4EA04 - .incbin "graphics/pokemon/footprints/vileplume_footprint.1bpp" + .incbin "graphics/pokemon/vileplume/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_paras_still_front_pic:: @ 8D4EA24 - .incbin "graphics/pokemon/front_pics/paras_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/paras/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_paras_palette:: @ 8D4EC90 - .incbin "graphics/pokemon/palettes/paras_palette.gbapal.lz" + .incbin "graphics/pokemon/paras/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_paras_back_pic:: @ 8D4ECB8 - .incbin "graphics/pokemon/back_pics/paras_back_pic.4bpp.lz" + .incbin "graphics/pokemon/paras/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_paras_shiny_palette:: @ 8D4EF58 - .incbin "graphics/pokemon/palettes/paras_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/paras/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_paras_icon:: @ 8D4EF80 - .incbin "graphics/pokemon/icons/paras_icon.4bpp" + .incbin "graphics/pokemon/paras/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_paras_footprint:: @ 8D4F380 - .incbin "graphics/pokemon/footprints/paras_footprint.1bpp" + .incbin "graphics/pokemon/paras/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_parasect_still_front_pic:: @ 8D4F3A0 - .incbin "graphics/pokemon/front_pics/parasect_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/parasect/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_parasect_palette:: @ 8D4F730 - .incbin "graphics/pokemon/palettes/parasect_palette.gbapal.lz" + .incbin "graphics/pokemon/parasect/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_parasect_back_pic:: @ 8D4F758 - .incbin "graphics/pokemon/back_pics/parasect_back_pic.4bpp.lz" + .incbin "graphics/pokemon/parasect/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_parasect_shiny_palette:: @ 8D4FA54 - .incbin "graphics/pokemon/palettes/parasect_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/parasect/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_parasect_icon:: @ 8D4FA7C - .incbin "graphics/pokemon/icons/parasect_icon.4bpp" + .incbin "graphics/pokemon/parasect/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_parasect_footprint:: @ 8D4FE7C - .incbin "graphics/pokemon/footprints/parasect_footprint.1bpp" + .incbin "graphics/pokemon/parasect/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_venonat_still_front_pic:: @ 8D4FE9C - .incbin "graphics/pokemon/front_pics/venonat_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/venonat/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_venonat_palette:: @ 8D501BC - .incbin "graphics/pokemon/palettes/venonat_palette.gbapal.lz" + .incbin "graphics/pokemon/venonat/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_venonat_back_pic:: @ 8D501E4 - .incbin "graphics/pokemon/back_pics/venonat_back_pic.4bpp.lz" + .incbin "graphics/pokemon/venonat/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_venonat_shiny_palette:: @ 8D50514 - .incbin "graphics/pokemon/palettes/venonat_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/venonat/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_venonat_icon:: @ 8D5053C - .incbin "graphics/pokemon/icons/venonat_icon.4bpp" + .incbin "graphics/pokemon/venonat/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_venonat_footprint:: @ 8D5093C - .incbin "graphics/pokemon/footprints/venonat_footprint.1bpp" + .incbin "graphics/pokemon/venonat/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_venomoth_still_front_pic:: @ 8D5095C - .incbin "graphics/pokemon/front_pics/venomoth_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/venomoth/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_venomoth_palette:: @ 8D50D60 - .incbin "graphics/pokemon/palettes/venomoth_palette.gbapal.lz" + .incbin "graphics/pokemon/venomoth/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_venomoth_back_pic:: @ 8D50D88 - .incbin "graphics/pokemon/back_pics/venomoth_back_pic.4bpp.lz" + .incbin "graphics/pokemon/venomoth/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_venomoth_shiny_palette:: @ 8D5112C - .incbin "graphics/pokemon/palettes/venomoth_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/venomoth/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_venomoth_icon:: @ 8D51154 - .incbin "graphics/pokemon/icons/venomoth_icon.4bpp" + .incbin "graphics/pokemon/venomoth/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_venomoth_footprint:: @ 8D51554 - .incbin "graphics/pokemon/footprints/venomoth_footprint.1bpp" + .incbin "graphics/pokemon/venomoth/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_diglett_still_front_pic:: @ 8D51574 - .incbin "graphics/pokemon/front_pics/diglett_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/diglett/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_diglett_palette:: @ 8D51784 - .incbin "graphics/pokemon/palettes/diglett_palette.gbapal.lz" + .incbin "graphics/pokemon/diglett/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_diglett_back_pic:: @ 8D517AC - .incbin "graphics/pokemon/back_pics/diglett_back_pic.4bpp.lz" + .incbin "graphics/pokemon/diglett/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_diglett_shiny_palette:: @ 8D519B8 - .incbin "graphics/pokemon/palettes/diglett_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/diglett/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_diglett_icon:: @ 8D519E0 - .incbin "graphics/pokemon/icons/diglett_icon.4bpp" + .incbin "graphics/pokemon/diglett/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_diglett_footprint:: @ 8D51DE0 - .incbin "graphics/pokemon/footprints/diglett_footprint.1bpp" + .incbin "graphics/pokemon/diglett/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_dugtrio_still_front_pic:: @ 8D51E00 - .incbin "graphics/pokemon/front_pics/dugtrio_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/dugtrio/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_dugtrio_palette:: @ 8D5212C - .incbin "graphics/pokemon/palettes/dugtrio_palette.gbapal.lz" + .incbin "graphics/pokemon/dugtrio/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_dugtrio_back_pic:: @ 8D52154 - .incbin "graphics/pokemon/back_pics/dugtrio_back_pic.4bpp.lz" + .incbin "graphics/pokemon/dugtrio/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_dugtrio_shiny_palette:: @ 8D52400 - .incbin "graphics/pokemon/palettes/dugtrio_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/dugtrio/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_dugtrio_icon:: @ 8D52428 - .incbin "graphics/pokemon/icons/dugtrio_icon.4bpp" + .incbin "graphics/pokemon/dugtrio/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_dugtrio_footprint:: @ 8D52828 - .incbin "graphics/pokemon/footprints/dugtrio_footprint.1bpp" + .incbin "graphics/pokemon/dugtrio/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_meowth_still_front_pic:: @ 8D52848 - .incbin "graphics/pokemon/front_pics/meowth_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/meowth/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_meowth_palette:: @ 8D52B34 - .incbin "graphics/pokemon/palettes/meowth_palette.gbapal.lz" + .incbin "graphics/pokemon/meowth/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_meowth_back_pic:: @ 8D52B5C - .incbin "graphics/pokemon/back_pics/meowth_back_pic.4bpp.lz" + .incbin "graphics/pokemon/meowth/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_meowth_shiny_palette:: @ 8D52E40 - .incbin "graphics/pokemon/palettes/meowth_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/meowth/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_meowth_icon:: @ 8D52E68 - .incbin "graphics/pokemon/icons/meowth_icon.4bpp" + .incbin "graphics/pokemon/meowth/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_meowth_footprint:: @ 8D53268 - .incbin "graphics/pokemon/footprints/meowth_footprint.1bpp" + .incbin "graphics/pokemon/meowth/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_persian_still_front_pic:: @ 8D53288 - .incbin "graphics/pokemon/front_pics/persian_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/persian/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_persian_palette:: @ 8D53600 - .incbin "graphics/pokemon/palettes/persian_palette.gbapal.lz" + .incbin "graphics/pokemon/persian/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_persian_back_pic:: @ 8D53628 - .incbin "graphics/pokemon/back_pics/persian_back_pic.4bpp.lz" + .incbin "graphics/pokemon/persian/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_persian_shiny_palette:: @ 8D53968 - .incbin "graphics/pokemon/palettes/persian_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/persian/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_persian_icon:: @ 8D53990 - .incbin "graphics/pokemon/icons/persian_icon.4bpp" + .incbin "graphics/pokemon/persian/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_persian_footprint:: @ 8D53D90 - .incbin "graphics/pokemon/footprints/persian_footprint.1bpp" + .incbin "graphics/pokemon/persian/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_psyduck_still_front_pic:: @ 8D53DB0 - .incbin "graphics/pokemon/front_pics/psyduck_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/psyduck/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_psyduck_palette:: @ 8D54094 - .incbin "graphics/pokemon/palettes/psyduck_palette.gbapal.lz" + .incbin "graphics/pokemon/psyduck/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_psyduck_back_pic:: @ 8D540BC - .incbin "graphics/pokemon/back_pics/psyduck_back_pic.4bpp.lz" + .incbin "graphics/pokemon/psyduck/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_psyduck_shiny_palette:: @ 8D54358 - .incbin "graphics/pokemon/palettes/psyduck_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/psyduck/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_psyduck_icon:: @ 8D54380 - .incbin "graphics/pokemon/icons/psyduck_icon.4bpp" + .incbin "graphics/pokemon/psyduck/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_psyduck_footprint:: @ 8D54780 - .incbin "graphics/pokemon/footprints/psyduck_footprint.1bpp" + .incbin "graphics/pokemon/psyduck/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_golduck_still_front_pic:: @ 8D547A0 - .incbin "graphics/pokemon/front_pics/golduck_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/golduck/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_golduck_palette:: @ 8D54B58 - .incbin "graphics/pokemon/palettes/golduck_palette.gbapal.lz" + .incbin "graphics/pokemon/golduck/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_golduck_back_pic:: @ 8D54B80 - .incbin "graphics/pokemon/back_pics/golduck_back_pic.4bpp.lz" + .incbin "graphics/pokemon/golduck/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_golduck_shiny_palette:: @ 8D54EAC - .incbin "graphics/pokemon/palettes/golduck_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/golduck/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_golduck_icon:: @ 8D54ED4 - .incbin "graphics/pokemon/icons/golduck_icon.4bpp" + .incbin "graphics/pokemon/golduck/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_golduck_footprint:: @ 8D552D4 - .incbin "graphics/pokemon/footprints/golduck_footprint.1bpp" + .incbin "graphics/pokemon/golduck/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_mankey_still_front_pic:: @ 8D552F4 - .incbin "graphics/pokemon/front_pics/mankey_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/mankey/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_mankey_palette:: @ 8D555EC - .incbin "graphics/pokemon/palettes/mankey_palette.gbapal.lz" + .incbin "graphics/pokemon/mankey/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_mankey_back_pic:: @ 8D55614 - .incbin "graphics/pokemon/back_pics/mankey_back_pic.4bpp.lz" + .incbin "graphics/pokemon/mankey/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_mankey_shiny_palette:: @ 8D5597C - .incbin "graphics/pokemon/palettes/mankey_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/mankey/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_mankey_icon:: @ 8D559A4 - .incbin "graphics/pokemon/icons/mankey_icon.4bpp" + .incbin "graphics/pokemon/mankey/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_mankey_footprint:: @ 8D55DA4 - .incbin "graphics/pokemon/footprints/mankey_footprint.1bpp" + .incbin "graphics/pokemon/mankey/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_primeape_still_front_pic:: @ 8D55DC4 - .incbin "graphics/pokemon/front_pics/primeape_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/primeape/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_primeape_palette:: @ 8D56150 - .incbin "graphics/pokemon/palettes/primeape_palette.gbapal.lz" + .incbin "graphics/pokemon/primeape/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_primeape_back_pic:: @ 8D56178 - .incbin "graphics/pokemon/back_pics/primeape_back_pic.4bpp.lz" + .incbin "graphics/pokemon/primeape/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_primeape_shiny_palette:: @ 8D564E8 - .incbin "graphics/pokemon/palettes/primeape_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/primeape/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_primeape_icon:: @ 8D56510 - .incbin "graphics/pokemon/icons/primeape_icon.4bpp" + .incbin "graphics/pokemon/primeape/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_primeape_footprint:: @ 8D56910 - .incbin "graphics/pokemon/footprints/primeape_footprint.1bpp" + .incbin "graphics/pokemon/primeape/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_growlithe_still_front_pic:: @ 8D56930 - .incbin "graphics/pokemon/front_pics/growlithe_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/growlithe/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_growlithe_palette:: @ 8D56C58 - .incbin "graphics/pokemon/palettes/growlithe_palette.gbapal.lz" + .incbin "graphics/pokemon/growlithe/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_growlithe_back_pic:: @ 8D56C80 - .incbin "graphics/pokemon/back_pics/growlithe_back_pic.4bpp.lz" + .incbin "graphics/pokemon/growlithe/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_growlithe_shiny_palette:: @ 8D56FBC - .incbin "graphics/pokemon/palettes/growlithe_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/growlithe/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_growlithe_icon:: @ 8D56FE4 - .incbin "graphics/pokemon/icons/growlithe_icon.4bpp" + .incbin "graphics/pokemon/growlithe/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_growlithe_footprint:: @ 8D573E4 - .incbin "graphics/pokemon/footprints/growlithe_footprint.1bpp" + .incbin "graphics/pokemon/growlithe/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_arcanine_still_front_pic:: @ 8D57404 - .incbin "graphics/pokemon/front_pics/arcanine_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/arcanine/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_arcanine_palette:: @ 8D57900 - .incbin "graphics/pokemon/palettes/arcanine_palette.gbapal.lz" + .incbin "graphics/pokemon/arcanine/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_arcanine_back_pic:: @ 8D57928 - .incbin "graphics/pokemon/back_pics/arcanine_back_pic.4bpp.lz" + .incbin "graphics/pokemon/arcanine/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_arcanine_shiny_palette:: @ 8D57D08 - .incbin "graphics/pokemon/palettes/arcanine_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/arcanine/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_arcanine_icon:: @ 8D57D30 - .incbin "graphics/pokemon/icons/arcanine_icon.4bpp" + .incbin "graphics/pokemon/arcanine/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_arcanine_footprint:: @ 8D58130 - .incbin "graphics/pokemon/footprints/arcanine_footprint.1bpp" + .incbin "graphics/pokemon/arcanine/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_poliwag_still_front_pic:: @ 8D58150 - .incbin "graphics/pokemon/front_pics/poliwag_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/poliwag/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_poliwag_palette:: @ 8D583EC - .incbin "graphics/pokemon/palettes/poliwag_palette.gbapal.lz" + .incbin "graphics/pokemon/poliwag/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_poliwag_back_pic:: @ 8D58414 - .incbin "graphics/pokemon/back_pics/poliwag_back_pic.4bpp.lz" + .incbin "graphics/pokemon/poliwag/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_poliwag_shiny_palette:: @ 8D58678 - .incbin "graphics/pokemon/palettes/poliwag_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/poliwag/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_poliwag_icon:: @ 8D586A0 - .incbin "graphics/pokemon/icons/poliwag_icon.4bpp" + .incbin "graphics/pokemon/poliwag/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_poliwag_footprint:: @ 8D58AA0 - .incbin "graphics/pokemon/footprints/poliwag_footprint.1bpp" + .incbin "graphics/pokemon/poliwag/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_poliwhirl_still_front_pic:: @ 8D58AC0 - .incbin "graphics/pokemon/front_pics/poliwhirl_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/poliwhirl/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_poliwhirl_palette:: @ 8D58E40 - .incbin "graphics/pokemon/palettes/poliwhirl_palette.gbapal.lz" + .incbin "graphics/pokemon/poliwhirl/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_poliwhirl_back_pic:: @ 8D58E68 - .incbin "graphics/pokemon/back_pics/poliwhirl_back_pic.4bpp.lz" + .incbin "graphics/pokemon/poliwhirl/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_poliwhirl_shiny_palette:: @ 8D590E4 - .incbin "graphics/pokemon/palettes/poliwhirl_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/poliwhirl/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_poliwhirl_icon:: @ 8D5910C - .incbin "graphics/pokemon/icons/poliwhirl_icon.4bpp" + .incbin "graphics/pokemon/poliwhirl/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_poliwhirl_footprint:: @ 8D5950C - .incbin "graphics/pokemon/footprints/poliwhirl_footprint.1bpp" + .incbin "graphics/pokemon/poliwhirl/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_poliwrath_still_front_pic:: @ 8D5952C - .incbin "graphics/pokemon/front_pics/poliwrath_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/poliwrath/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_poliwrath_palette:: @ 8D598F0 - .incbin "graphics/pokemon/palettes/poliwrath_palette.gbapal.lz" + .incbin "graphics/pokemon/poliwrath/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_poliwrath_back_pic:: @ 8D59918 - .incbin "graphics/pokemon/back_pics/poliwrath_back_pic.4bpp.lz" + .incbin "graphics/pokemon/poliwrath/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_poliwrath_shiny_palette:: @ 8D59C0C - .incbin "graphics/pokemon/palettes/poliwrath_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/poliwrath/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_poliwrath_icon:: @ 8D59C34 - .incbin "graphics/pokemon/icons/poliwrath_icon.4bpp" + .incbin "graphics/pokemon/poliwrath/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_poliwrath_footprint:: @ 8D5A034 - .incbin "graphics/pokemon/footprints/poliwrath_footprint.1bpp" + .incbin "graphics/pokemon/poliwrath/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_abra_still_front_pic:: @ 8D5A054 - .incbin "graphics/pokemon/front_pics/abra_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/abra/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_abra_palette:: @ 8D5A328 - .incbin "graphics/pokemon/palettes/abra_palette.gbapal.lz" + .incbin "graphics/pokemon/abra/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_abra_back_pic:: @ 8D5A34C - .incbin "graphics/pokemon/back_pics/abra_back_pic.4bpp.lz" + .incbin "graphics/pokemon/abra/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_abra_shiny_palette:: @ 8D5A620 - .incbin "graphics/pokemon/palettes/abra_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/abra/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_abra_icon:: @ 8D5A644 - .incbin "graphics/pokemon/icons/abra_icon.4bpp" + .incbin "graphics/pokemon/abra/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_abra_footprint:: @ 8D5AA44 - .incbin "graphics/pokemon/footprints/abra_footprint.1bpp" + .incbin "graphics/pokemon/abra/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_kadabra_still_front_pic:: @ 8D5AA64 - .incbin "graphics/pokemon/front_pics/kadabra_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/kadabra/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_kadabra_palette:: @ 8D5AF2C - .incbin "graphics/pokemon/palettes/kadabra_palette.gbapal.lz" + .incbin "graphics/pokemon/kadabra/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_kadabra_back_pic:: @ 8D5AF54 - .incbin "graphics/pokemon/back_pics/kadabra_back_pic.4bpp.lz" + .incbin "graphics/pokemon/kadabra/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_kadabra_shiny_palette:: @ 8D5B300 - .incbin "graphics/pokemon/palettes/kadabra_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/kadabra/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_kadabra_icon:: @ 8D5B328 - .incbin "graphics/pokemon/icons/kadabra_icon.4bpp" + .incbin "graphics/pokemon/kadabra/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_kadabra_footprint:: @ 8D5B728 - .incbin "graphics/pokemon/footprints/kadabra_footprint.1bpp" + .incbin "graphics/pokemon/kadabra/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_alakazam_still_front_pic:: @ 8D5B748 - .incbin "graphics/pokemon/front_pics/alakazam_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/alakazam/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_alakazam_palette:: @ 8D5BBE0 - .incbin "graphics/pokemon/palettes/alakazam_palette.gbapal.lz" + .incbin "graphics/pokemon/alakazam/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_alakazam_back_pic:: @ 8D5BC08 - .incbin "graphics/pokemon/back_pics/alakazam_back_pic.4bpp.lz" + .incbin "graphics/pokemon/alakazam/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_alakazam_shiny_palette:: @ 8D5BF88 - .incbin "graphics/pokemon/palettes/alakazam_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/alakazam/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_alakazam_icon:: @ 8D5BFB0 - .incbin "graphics/pokemon/icons/alakazam_icon.4bpp" + .incbin "graphics/pokemon/alakazam/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_alakazam_footprint:: @ 8D5C3B0 - .incbin "graphics/pokemon/footprints/alakazam_footprint.1bpp" + .incbin "graphics/pokemon/alakazam/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_machop_still_front_pic:: @ 8D5C3D0 - .incbin "graphics/pokemon/front_pics/machop_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/machop/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_machop_palette:: @ 8D5C65C - .incbin "graphics/pokemon/palettes/machop_palette.gbapal.lz" + .incbin "graphics/pokemon/machop/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_machop_back_pic:: @ 8D5C684 - .incbin "graphics/pokemon/back_pics/machop_back_pic.4bpp.lz" + .incbin "graphics/pokemon/machop/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_machop_shiny_palette:: @ 8D5C964 - .incbin "graphics/pokemon/palettes/machop_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/machop/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_machop_icon:: @ 8D5C98C - .incbin "graphics/pokemon/icons/machop_icon.4bpp" + .incbin "graphics/pokemon/machop/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_machop_footprint:: @ 8D5CD8C - .incbin "graphics/pokemon/footprints/machop_footprint.1bpp" + .incbin "graphics/pokemon/machop/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_machoke_still_front_pic:: @ 8D5CDAC - .incbin "graphics/pokemon/front_pics/machoke_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/machoke/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_machoke_palette:: @ 8D5D178 - .incbin "graphics/pokemon/palettes/machoke_palette.gbapal.lz" + .incbin "graphics/pokemon/machoke/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_machoke_back_pic:: @ 8D5D1A0 - .incbin "graphics/pokemon/back_pics/machoke_back_pic.4bpp.lz" + .incbin "graphics/pokemon/machoke/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_machoke_shiny_palette:: @ 8D5D4F0 - .incbin "graphics/pokemon/palettes/machoke_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/machoke/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_machoke_icon:: @ 8D5D518 - .incbin "graphics/pokemon/icons/machoke_icon.4bpp" + .incbin "graphics/pokemon/machoke/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_machoke_footprint:: @ 8D5D918 - .incbin "graphics/pokemon/footprints/machoke_footprint.1bpp" + .incbin "graphics/pokemon/machoke/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_machamp_still_front_pic:: @ 8D5D938 - .incbin "graphics/pokemon/front_pics/machamp_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/machamp/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_machamp_palette:: @ 8D5DE24 - .incbin "graphics/pokemon/palettes/machamp_palette.gbapal.lz" + .incbin "graphics/pokemon/machamp/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_machamp_back_pic:: @ 8D5DE4C - .incbin "graphics/pokemon/back_pics/machamp_back_pic.4bpp.lz" + .incbin "graphics/pokemon/machamp/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_machamp_shiny_palette:: @ 8D5E2A8 - .incbin "graphics/pokemon/palettes/machamp_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/machamp/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_machamp_icon:: @ 8D5E2D0 - .incbin "graphics/pokemon/icons/machamp_icon.4bpp" + .incbin "graphics/pokemon/machamp/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_machamp_footprint:: @ 8D5E6D0 - .incbin "graphics/pokemon/footprints/machamp_footprint.1bpp" + .incbin "graphics/pokemon/machamp/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_bellsprout_still_front_pic:: @ 8D5E6F0 - .incbin "graphics/pokemon/front_pics/bellsprout_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/bellsprout/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_bellsprout_palette:: @ 8D5E97C - .incbin "graphics/pokemon/palettes/bellsprout_palette.gbapal.lz" + .incbin "graphics/pokemon/bellsprout/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_bellsprout_back_pic:: @ 8D5E9A4 - .incbin "graphics/pokemon/back_pics/bellsprout_back_pic.4bpp.lz" + .incbin "graphics/pokemon/bellsprout/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_bellsprout_shiny_palette:: @ 8D5EC40 - .incbin "graphics/pokemon/palettes/bellsprout_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/bellsprout/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_bellsprout_icon:: @ 8D5EC68 - .incbin "graphics/pokemon/icons/bellsprout_icon.4bpp" + .incbin "graphics/pokemon/bellsprout/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_bellsprout_footprint:: @ 8D5F068 - .incbin "graphics/pokemon/footprints/bellsprout_footprint.1bpp" + .incbin "graphics/pokemon/bellsprout/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_weepinbell_still_front_pic:: @ 8D5F088 - .incbin "graphics/pokemon/front_pics/weepinbell_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/weepinbell/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_weepinbell_palette:: @ 8D5F3AC - .incbin "graphics/pokemon/palettes/weepinbell_palette.gbapal.lz" + .incbin "graphics/pokemon/weepinbell/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_weepinbell_back_pic:: @ 8D5F3D4 - .incbin "graphics/pokemon/back_pics/weepinbell_back_pic.4bpp.lz" + .incbin "graphics/pokemon/weepinbell/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_weepinbell_shiny_palette:: @ 8D5F6D0 - .incbin "graphics/pokemon/palettes/weepinbell_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/weepinbell/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_weepinbell_icon:: @ 8D5F6F8 - .incbin "graphics/pokemon/icons/weepinbell_icon.4bpp" + .incbin "graphics/pokemon/weepinbell/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_weepinbell_footprint:: @ 8D5FAF8 - .incbin "graphics/pokemon/footprints/weepinbell_footprint.1bpp" + .incbin "graphics/pokemon/weepinbell/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_victreebel_still_front_pic:: @ 8D5FB18 - .incbin "graphics/pokemon/front_pics/victreebel_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/victreebel/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_victreebel_palette:: @ 8D5FF44 - .incbin "graphics/pokemon/palettes/victreebel_palette.gbapal.lz" + .incbin "graphics/pokemon/victreebel/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_victreebel_back_pic:: @ 8D5FF6C - .incbin "graphics/pokemon/back_pics/victreebel_back_pic.4bpp.lz" + .incbin "graphics/pokemon/victreebel/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_victreebel_shiny_palette:: @ 8D60304 - .incbin "graphics/pokemon/palettes/victreebel_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/victreebel/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_victreebel_icon:: @ 8D6032C - .incbin "graphics/pokemon/icons/victreebel_icon.4bpp" + .incbin "graphics/pokemon/victreebel/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_victreebel_footprint:: @ 8D6072C - .incbin "graphics/pokemon/footprints/victreebel_footprint.1bpp" + .incbin "graphics/pokemon/victreebel/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_tentacool_still_front_pic:: @ 8D6074C - .incbin "graphics/pokemon/front_pics/tentacool_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/tentacool/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_tentacool_palette:: @ 8D609F4 - .incbin "graphics/pokemon/palettes/tentacool_palette.gbapal.lz" + .incbin "graphics/pokemon/tentacool/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_tentacool_back_pic:: @ 8D60A1C - .incbin "graphics/pokemon/back_pics/tentacool_back_pic.4bpp.lz" + .incbin "graphics/pokemon/tentacool/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_tentacool_shiny_palette:: @ 8D60CE8 - .incbin "graphics/pokemon/palettes/tentacool_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/tentacool/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_tentacool_icon:: @ 8D60D10 - .incbin "graphics/pokemon/icons/tentacool_icon.4bpp" + .incbin "graphics/pokemon/tentacool/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_tentacool_footprint:: @ 8D61110 - .incbin "graphics/pokemon/footprints/tentacool_footprint.1bpp" + .incbin "graphics/pokemon/tentacool/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_tentacruel_still_front_pic:: @ 8D61130 - .incbin "graphics/pokemon/front_pics/tentacruel_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/tentacruel/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_tentacruel_palette:: @ 8D61624 - .incbin "graphics/pokemon/palettes/tentacruel_palette.gbapal.lz" + .incbin "graphics/pokemon/tentacruel/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_tentacruel_back_pic:: @ 8D6164C - .incbin "graphics/pokemon/back_pics/tentacruel_back_pic.4bpp.lz" + .incbin "graphics/pokemon/tentacruel/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_tentacruel_shiny_palette:: @ 8D619E8 - .incbin "graphics/pokemon/palettes/tentacruel_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/tentacruel/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_tentacruel_icon:: @ 8D61A10 - .incbin "graphics/pokemon/icons/tentacruel_icon.4bpp" + .incbin "graphics/pokemon/tentacruel/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_tentacruel_footprint:: @ 8D61E10 - .incbin "graphics/pokemon/footprints/tentacruel_footprint.1bpp" + .incbin "graphics/pokemon/tentacruel/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_geodude_still_front_pic:: @ 8D61E30 - .incbin "graphics/pokemon/front_pics/geodude_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/geodude/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_geodude_palette:: @ 8D620C4 - .incbin "graphics/pokemon/palettes/geodude_palette.gbapal.lz" + .incbin "graphics/pokemon/geodude/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_geodude_back_pic:: @ 8D620E0 - .incbin "graphics/pokemon/back_pics/geodude_back_pic.4bpp.lz" + .incbin "graphics/pokemon/geodude/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_geodude_shiny_palette:: @ 8D62374 - .incbin "graphics/pokemon/palettes/geodude_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/geodude/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_geodude_icon:: @ 8D62390 - .incbin "graphics/pokemon/icons/geodude_icon.4bpp" + .incbin "graphics/pokemon/geodude/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_geodude_footprint:: @ 8D62790 - .incbin "graphics/pokemon/footprints/geodude_footprint.1bpp" + .incbin "graphics/pokemon/geodude/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_graveler_still_front_pic:: @ 8D627B0 - .incbin "graphics/pokemon/front_pics/graveler_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/graveler/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_graveler_palette:: @ 8D62BAC - .incbin "graphics/pokemon/palettes/graveler_palette.gbapal.lz" + .incbin "graphics/pokemon/graveler/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_graveler_back_pic:: @ 8D62BD0 - .incbin "graphics/pokemon/back_pics/graveler_back_pic.4bpp.lz" + .incbin "graphics/pokemon/graveler/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_graveler_shiny_palette:: @ 8D62E4C - .incbin "graphics/pokemon/palettes/graveler_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/graveler/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_graveler_icon:: @ 8D62E70 - .incbin "graphics/pokemon/icons/graveler_icon.4bpp" + .incbin "graphics/pokemon/graveler/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_graveler_footprint:: @ 8D63270 - .incbin "graphics/pokemon/footprints/graveler_footprint.1bpp" + .incbin "graphics/pokemon/graveler/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_golem_still_front_pic:: @ 8D63290 - .incbin "graphics/pokemon/front_pics/golem_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/golem/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_golem_palette:: @ 8D636C0 - .incbin "graphics/pokemon/palettes/golem_palette.gbapal.lz" + .incbin "graphics/pokemon/golem/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_golem_back_pic:: @ 8D636E8 - .incbin "graphics/pokemon/back_pics/golem_back_pic.4bpp.lz" + .incbin "graphics/pokemon/golem/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_golem_shiny_palette:: @ 8D639A8 - .incbin "graphics/pokemon/palettes/golem_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/golem/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_golem_icon:: @ 8D639D0 - .incbin "graphics/pokemon/icons/golem_icon.4bpp" + .incbin "graphics/pokemon/golem/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_golem_footprint:: @ 8D63DD0 - .incbin "graphics/pokemon/footprints/golem_footprint.1bpp" + .incbin "graphics/pokemon/golem/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_ponyta_still_front_pic:: @ 8D63DF0 - .incbin "graphics/pokemon/front_pics/ponyta_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/ponyta/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_ponyta_palette:: @ 8D64180 - .incbin "graphics/pokemon/palettes/ponyta_palette.gbapal.lz" + .incbin "graphics/pokemon/ponyta/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_ponyta_back_pic:: @ 8D641A8 - .incbin "graphics/pokemon/back_pics/ponyta_back_pic.4bpp.lz" + .incbin "graphics/pokemon/ponyta/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_ponyta_shiny_palette:: @ 8D644E4 - .incbin "graphics/pokemon/palettes/ponyta_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/ponyta/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_ponyta_icon:: @ 8D6450C - .incbin "graphics/pokemon/icons/ponyta_icon.4bpp" + .incbin "graphics/pokemon/ponyta/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_ponyta_footprint:: @ 8D6490C - .incbin "graphics/pokemon/footprints/ponyta_footprint.1bpp" + .incbin "graphics/pokemon/ponyta/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_rapidash_still_front_pic:: @ 8D6492C - .incbin "graphics/pokemon/front_pics/rapidash_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/rapidash/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_rapidash_palette:: @ 8D64DB4 - .incbin "graphics/pokemon/palettes/rapidash_palette.gbapal.lz" + .incbin "graphics/pokemon/rapidash/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_rapidash_back_pic:: @ 8D64DDC - .incbin "graphics/pokemon/back_pics/rapidash_back_pic.4bpp.lz" + .incbin "graphics/pokemon/rapidash/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_rapidash_shiny_palette:: @ 8D651EC - .incbin "graphics/pokemon/palettes/rapidash_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/rapidash/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_rapidash_icon:: @ 8D65214 - .incbin "graphics/pokemon/icons/rapidash_icon.4bpp" + .incbin "graphics/pokemon/rapidash/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_rapidash_footprint:: @ 8D65614 - .incbin "graphics/pokemon/footprints/rapidash_footprint.1bpp" + .incbin "graphics/pokemon/rapidash/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_slowpoke_still_front_pic:: @ 8D65634 - .incbin "graphics/pokemon/front_pics/slowpoke_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/slowpoke/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_slowpoke_palette:: @ 8D65908 - .incbin "graphics/pokemon/palettes/slowpoke_palette.gbapal.lz" + .incbin "graphics/pokemon/slowpoke/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_slowpoke_back_pic:: @ 8D65930 - .incbin "graphics/pokemon/back_pics/slowpoke_back_pic.4bpp.lz" + .incbin "graphics/pokemon/slowpoke/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_slowpoke_shiny_palette:: @ 8D65B94 - .incbin "graphics/pokemon/palettes/slowpoke_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/slowpoke/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_slowpoke_icon:: @ 8D65BBC - .incbin "graphics/pokemon/icons/slowpoke_icon.4bpp" + .incbin "graphics/pokemon/slowpoke/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_slowpoke_footprint:: @ 8D65FBC - .incbin "graphics/pokemon/footprints/slowpoke_footprint.1bpp" + .incbin "graphics/pokemon/slowpoke/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_slowbro_still_front_pic:: @ 8D65FDC - .incbin "graphics/pokemon/front_pics/slowbro_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/slowbro/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_slowbro_palette:: @ 8D6647C - .incbin "graphics/pokemon/palettes/slowbro_palette.gbapal.lz" + .incbin "graphics/pokemon/slowbro/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_slowbro_back_pic:: @ 8D664A4 - .incbin "graphics/pokemon/back_pics/slowbro_back_pic.4bpp.lz" + .incbin "graphics/pokemon/slowbro/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_slowbro_shiny_palette:: @ 8D66840 - .incbin "graphics/pokemon/palettes/slowbro_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/slowbro/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_slowbro_icon:: @ 8D66868 - .incbin "graphics/pokemon/icons/slowbro_icon.4bpp" + .incbin "graphics/pokemon/slowbro/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_slowbro_footprint:: @ 8D66C68 - .incbin "graphics/pokemon/footprints/slowbro_footprint.1bpp" + .incbin "graphics/pokemon/slowbro/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_magnemite_still_front_pic:: @ 8D66C88 - .incbin "graphics/pokemon/front_pics/magnemite_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/magnemite/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_magnemite_palette:: @ 8D66E60 - .incbin "graphics/pokemon/palettes/magnemite_palette.gbapal.lz" + .incbin "graphics/pokemon/magnemite/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_magnemite_back_pic:: @ 8D66E88 - .incbin "graphics/pokemon/back_pics/magnemite_back_pic.4bpp.lz" + .incbin "graphics/pokemon/magnemite/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_magnemite_shiny_palette:: @ 8D67070 - .incbin "graphics/pokemon/palettes/magnemite_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/magnemite/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_magnemite_icon:: @ 8D67094 - .incbin "graphics/pokemon/icons/magnemite_icon.4bpp" + .incbin "graphics/pokemon/magnemite/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_magnemite_footprint:: @ 8D67494 - .incbin "graphics/pokemon/footprints/magnemite_footprint.1bpp" + .incbin "graphics/pokemon/magnemite/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_magneton_still_front_pic:: @ 8D674B4 - .incbin "graphics/pokemon/front_pics/magneton_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/magneton/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_magneton_palette:: @ 8D677F0 - .incbin "graphics/pokemon/palettes/magneton_palette.gbapal.lz" + .incbin "graphics/pokemon/magneton/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_magneton_back_pic:: @ 8D67818 - .incbin "graphics/pokemon/back_pics/magneton_back_pic.4bpp.lz" + .incbin "graphics/pokemon/magneton/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_magneton_shiny_palette:: @ 8D67B98 - .incbin "graphics/pokemon/palettes/magneton_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/magneton/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_magneton_icon:: @ 8D67BC0 - .incbin "graphics/pokemon/icons/magneton_icon.4bpp" + .incbin "graphics/pokemon/magneton/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_magneton_footprint:: @ 8D67FC0 - .incbin "graphics/pokemon/footprints/magneton_footprint.1bpp" + .incbin "graphics/pokemon/magneton/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_farfetch_d_still_front_pic:: @ 8D67FE0 - .incbin "graphics/pokemon/front_pics/farfetch_d_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/farfetch_d/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_farfetch_d_palette:: @ 8D68334 - .incbin "graphics/pokemon/palettes/farfetch_d_palette.gbapal.lz" + .incbin "graphics/pokemon/farfetch_d/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_farfetch_d_back_pic:: @ 8D6835C - .incbin "graphics/pokemon/back_pics/farfetch_d_back_pic.4bpp.lz" + .incbin "graphics/pokemon/farfetch_d/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_farfetch_d_shiny_palette:: @ 8D686C8 - .incbin "graphics/pokemon/palettes/farfetch_d_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/farfetch_d/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_farfetch_d_icon:: @ 8D686F0 - .incbin "graphics/pokemon/icons/farfetch_d_icon.4bpp" + .incbin "graphics/pokemon/farfetch_d/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_farfetch_d_footprint:: @ 8D68AF0 - .incbin "graphics/pokemon/footprints/farfetch_d_footprint.1bpp" + .incbin "graphics/pokemon/farfetch_d/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_doduo_still_front_pic:: @ 8D68B10 - .incbin "graphics/pokemon/front_pics/doduo_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/doduo/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_doduo_palette:: @ 8D68DFC - .incbin "graphics/pokemon/palettes/doduo_palette.gbapal.lz" + .incbin "graphics/pokemon/doduo/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_doduo_back_pic:: @ 8D68E20 - .incbin "graphics/pokemon/back_pics/doduo_back_pic.4bpp.lz" + .incbin "graphics/pokemon/doduo/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_doduo_shiny_palette:: @ 8D69138 - .incbin "graphics/pokemon/palettes/doduo_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/doduo/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_doduo_icon:: @ 8D6915C - .incbin "graphics/pokemon/icons/doduo_icon.4bpp" + .incbin "graphics/pokemon/doduo/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_doduo_footprint:: @ 8D6955C - .incbin "graphics/pokemon/footprints/doduo_footprint.1bpp" + .incbin "graphics/pokemon/doduo/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_dodrio_still_front_pic:: @ 8D6957C - .incbin "graphics/pokemon/front_pics/dodrio_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/dodrio/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_dodrio_palette:: @ 8D699BC - .incbin "graphics/pokemon/palettes/dodrio_palette.gbapal.lz" + .incbin "graphics/pokemon/dodrio/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_dodrio_back_pic:: @ 8D699E4 - .incbin "graphics/pokemon/back_pics/dodrio_back_pic.4bpp.lz" + .incbin "graphics/pokemon/dodrio/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_dodrio_shiny_palette:: @ 8D69E48 - .incbin "graphics/pokemon/palettes/dodrio_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/dodrio/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_dodrio_icon:: @ 8D69E70 - .incbin "graphics/pokemon/icons/dodrio_icon.4bpp" + .incbin "graphics/pokemon/dodrio/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_dodrio_footprint:: @ 8D6A270 - .incbin "graphics/pokemon/footprints/dodrio_footprint.1bpp" + .incbin "graphics/pokemon/dodrio/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_seel_still_front_pic:: @ 8D6A290 - .incbin "graphics/pokemon/front_pics/seel_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/seel/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_seel_palette:: @ 8D6A5B4 - .incbin "graphics/pokemon/palettes/seel_palette.gbapal.lz" + .incbin "graphics/pokemon/seel/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_seel_back_pic:: @ 8D6A5DC - .incbin "graphics/pokemon/back_pics/seel_back_pic.4bpp.lz" + .incbin "graphics/pokemon/seel/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_seel_shiny_palette:: @ 8D6A8C8 - .incbin "graphics/pokemon/palettes/seel_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/seel/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_seel_icon:: @ 8D6A8F0 - .incbin "graphics/pokemon/icons/seel_icon.4bpp" + .incbin "graphics/pokemon/seel/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_seel_footprint:: @ 8D6ACF0 - .incbin "graphics/pokemon/footprints/seel_footprint.1bpp" + .incbin "graphics/pokemon/seel/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_dewgong_still_front_pic:: @ 8D6AD10 - .incbin "graphics/pokemon/front_pics/dewgong_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/dewgong/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_dewgong_palette:: @ 8D6B0E0 - .incbin "graphics/pokemon/palettes/dewgong_palette.gbapal.lz" + .incbin "graphics/pokemon/dewgong/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_dewgong_back_pic:: @ 8D6B104 - .incbin "graphics/pokemon/back_pics/dewgong_back_pic.4bpp.lz" + .incbin "graphics/pokemon/dewgong/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_dewgong_shiny_palette:: @ 8D6B398 - .incbin "graphics/pokemon/palettes/dewgong_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/dewgong/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_dewgong_icon:: @ 8D6B3BC - .incbin "graphics/pokemon/icons/dewgong_icon.4bpp" + .incbin "graphics/pokemon/dewgong/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_dewgong_footprint:: @ 8D6B7BC - .incbin "graphics/pokemon/footprints/dewgong_footprint.1bpp" + .incbin "graphics/pokemon/dewgong/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_grimer_still_front_pic:: @ 8D6B7DC - .incbin "graphics/pokemon/front_pics/grimer_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/grimer/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_grimer_palette:: @ 8D6BB04 - .incbin "graphics/pokemon/palettes/grimer_palette.gbapal.lz" + .incbin "graphics/pokemon/grimer/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_grimer_back_pic:: @ 8D6BB28 - .incbin "graphics/pokemon/back_pics/grimer_back_pic.4bpp.lz" + .incbin "graphics/pokemon/grimer/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_grimer_shiny_palette:: @ 8D6BDEC - .incbin "graphics/pokemon/palettes/grimer_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/grimer/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_grimer_icon:: @ 8D6BE10 - .incbin "graphics/pokemon/icons/grimer_icon.4bpp" + .incbin "graphics/pokemon/grimer/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_grimer_footprint:: @ 8D6C210 - .incbin "graphics/pokemon/footprints/grimer_footprint.1bpp" + .incbin "graphics/pokemon/grimer/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_muk_still_front_pic:: @ 8D6C230 - .incbin "graphics/pokemon/front_pics/muk_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/muk/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_muk_palette:: @ 8D6C5C0 - .incbin "graphics/pokemon/palettes/muk_palette.gbapal.lz" + .incbin "graphics/pokemon/muk/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_muk_back_pic:: @ 8D6C5E4 - .incbin "graphics/pokemon/back_pics/muk_back_pic.4bpp.lz" + .incbin "graphics/pokemon/muk/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_muk_shiny_palette:: @ 8D6C8DC - .incbin "graphics/pokemon/palettes/muk_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/muk/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_muk_icon:: @ 8D6C900 - .incbin "graphics/pokemon/icons/muk_icon.4bpp" + .incbin "graphics/pokemon/muk/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_muk_footprint:: @ 8D6CD00 - .incbin "graphics/pokemon/footprints/muk_footprint.1bpp" + .incbin "graphics/pokemon/muk/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_shellder_still_front_pic:: @ 8D6CD20 - .incbin "graphics/pokemon/front_pics/shellder_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/shellder/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_shellder_palette:: @ 8D6CF94 - .incbin "graphics/pokemon/palettes/shellder_palette.gbapal.lz" + .incbin "graphics/pokemon/shellder/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_shellder_back_pic:: @ 8D6CFB8 - .incbin "graphics/pokemon/back_pics/shellder_back_pic.4bpp.lz" + .incbin "graphics/pokemon/shellder/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_shellder_shiny_palette:: @ 8D6D2CC - .incbin "graphics/pokemon/palettes/shellder_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/shellder/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_shellder_icon:: @ 8D6D2F0 - .incbin "graphics/pokemon/icons/shellder_icon.4bpp" + .incbin "graphics/pokemon/shellder/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_shellder_footprint:: @ 8D6D6F0 - .incbin "graphics/pokemon/footprints/shellder_footprint.1bpp" + .incbin "graphics/pokemon/shellder/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_cloyster_still_front_pic:: @ 8D6D710 - .incbin "graphics/pokemon/front_pics/cloyster_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/cloyster/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_cloyster_palette:: @ 8D6DB4C - .incbin "graphics/pokemon/palettes/cloyster_palette.gbapal.lz" + .incbin "graphics/pokemon/cloyster/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_cloyster_back_pic:: @ 8D6DB70 - .incbin "graphics/pokemon/back_pics/cloyster_back_pic.4bpp.lz" + .incbin "graphics/pokemon/cloyster/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_cloyster_shiny_palette:: @ 8D6DF7C - .incbin "graphics/pokemon/palettes/cloyster_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/cloyster/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_cloyster_icon:: @ 8D6DFA0 - .incbin "graphics/pokemon/icons/cloyster_icon.4bpp" + .incbin "graphics/pokemon/cloyster/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_cloyster_footprint:: @ 8D6E3A0 - .incbin "graphics/pokemon/footprints/cloyster_footprint.1bpp" + .incbin "graphics/pokemon/cloyster/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_gastly_still_front_pic:: @ 8D6E3C0 - .incbin "graphics/pokemon/front_pics/gastly_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/gastly/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_gastly_palette:: @ 8D6E778 - .incbin "graphics/pokemon/palettes/gastly_palette.gbapal.lz" + .incbin "graphics/pokemon/gastly/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_gastly_back_pic:: @ 8D6E7A0 - .incbin "graphics/pokemon/back_pics/gastly_back_pic.4bpp.lz" + .incbin "graphics/pokemon/gastly/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_gastly_shiny_palette:: @ 8D6EAC4 - .incbin "graphics/pokemon/palettes/gastly_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/gastly/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_gastly_icon:: @ 8D6EAEC - .incbin "graphics/pokemon/icons/gastly_icon.4bpp" + .incbin "graphics/pokemon/gastly/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_gastly_footprint:: @ 8D6EEEC - .incbin "graphics/pokemon/footprints/gastly_footprint.1bpp" + .incbin "graphics/pokemon/gastly/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_haunter_still_front_pic:: @ 8D6EF0C - .incbin "graphics/pokemon/front_pics/haunter_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/haunter/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_haunter_palette:: @ 8D6F2F4 - .incbin "graphics/pokemon/palettes/haunter_palette.gbapal.lz" + .incbin "graphics/pokemon/haunter/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_haunter_back_pic:: @ 8D6F318 - .incbin "graphics/pokemon/back_pics/haunter_back_pic.4bpp.lz" + .incbin "graphics/pokemon/haunter/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_haunter_shiny_palette:: @ 8D6F5FC - .incbin "graphics/pokemon/palettes/haunter_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/haunter/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_haunter_icon:: @ 8D6F620 - .incbin "graphics/pokemon/icons/haunter_icon.4bpp" + .incbin "graphics/pokemon/haunter/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_haunter_footprint:: @ 8D6FA20 - .incbin "graphics/pokemon/footprints/haunter_footprint.1bpp" + .incbin "graphics/pokemon/haunter/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_gengar_still_front_pic:: @ 8D6FA40 - .incbin "graphics/pokemon/front_pics/gengar_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/gengar/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_gengar_palette:: @ 8D6FD9C - .incbin "graphics/pokemon/palettes/gengar_palette.gbapal.lz" + .incbin "graphics/pokemon/gengar/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_gengar_back_pic:: @ 8D6FDC0 - .incbin "graphics/pokemon/back_pics/gengar_back_pic.4bpp.lz" + .incbin "graphics/pokemon/gengar/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_gengar_shiny_palette:: @ 8D70104 - .incbin "graphics/pokemon/palettes/gengar_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/gengar/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_gengar_icon:: @ 8D70128 - .incbin "graphics/pokemon/icons/gengar_icon.4bpp" + .incbin "graphics/pokemon/gengar/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_gengar_footprint:: @ 8D70528 - .incbin "graphics/pokemon/footprints/gengar_footprint.1bpp" + .incbin "graphics/pokemon/gengar/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_onix_still_front_pic:: @ 8D70548 - .incbin "graphics/pokemon/front_pics/onix_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/onix/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_onix_palette:: @ 8D70A18 - .incbin "graphics/pokemon/palettes/onix_palette.gbapal.lz" + .incbin "graphics/pokemon/onix/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_onix_back_pic:: @ 8D70A34 - .incbin "graphics/pokemon/back_pics/onix_back_pic.4bpp.lz" + .incbin "graphics/pokemon/onix/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_onix_shiny_palette:: @ 8D70DB0 - .incbin "graphics/pokemon/palettes/onix_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/onix/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_onix_icon:: @ 8D70DCC - .incbin "graphics/pokemon/icons/onix_icon.4bpp" + .incbin "graphics/pokemon/onix/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_onix_footprint:: @ 8D711CC - .incbin "graphics/pokemon/footprints/onix_footprint.1bpp" + .incbin "graphics/pokemon/onix/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_drowzee_still_front_pic:: @ 8D711EC - .incbin "graphics/pokemon/front_pics/drowzee_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/drowzee/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_drowzee_palette:: @ 8D7152C - .incbin "graphics/pokemon/palettes/drowzee_palette.gbapal.lz" + .incbin "graphics/pokemon/drowzee/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_drowzee_back_pic:: @ 8D71550 - .incbin "graphics/pokemon/back_pics/drowzee_back_pic.4bpp.lz" + .incbin "graphics/pokemon/drowzee/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_drowzee_shiny_palette:: @ 8D7178C - .incbin "graphics/pokemon/palettes/drowzee_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/drowzee/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_drowzee_icon:: @ 8D717B0 - .incbin "graphics/pokemon/icons/drowzee_icon.4bpp" + .incbin "graphics/pokemon/drowzee/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_drowzee_footprint:: @ 8D71BB0 - .incbin "graphics/pokemon/footprints/drowzee_footprint.1bpp" + .incbin "graphics/pokemon/drowzee/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_hypno_still_front_pic:: @ 8D71BD0 - .incbin "graphics/pokemon/front_pics/hypno_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/hypno/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_hypno_palette:: @ 8D72008 - .incbin "graphics/pokemon/palettes/hypno_palette.gbapal.lz" + .incbin "graphics/pokemon/hypno/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_hypno_back_pic:: @ 8D7202C - .incbin "graphics/pokemon/back_pics/hypno_back_pic.4bpp.lz" + .incbin "graphics/pokemon/hypno/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_hypno_shiny_palette:: @ 8D7235C - .incbin "graphics/pokemon/palettes/hypno_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/hypno/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_hypno_icon:: @ 8D72380 - .incbin "graphics/pokemon/icons/hypno_icon.4bpp" + .incbin "graphics/pokemon/hypno/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_hypno_footprint:: @ 8D72780 - .incbin "graphics/pokemon/footprints/hypno_footprint.1bpp" + .incbin "graphics/pokemon/hypno/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_krabby_still_front_pic:: @ 8D727A0 - .incbin "graphics/pokemon/front_pics/krabby_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/krabby/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_krabby_palette:: @ 8D72AC4 - .incbin "graphics/pokemon/palettes/krabby_palette.gbapal.lz" + .incbin "graphics/pokemon/krabby/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_krabby_back_pic:: @ 8D72AEC - .incbin "graphics/pokemon/back_pics/krabby_back_pic.4bpp.lz" + .incbin "graphics/pokemon/krabby/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_krabby_shiny_palette:: @ 8D72E78 - .incbin "graphics/pokemon/palettes/krabby_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/krabby/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_krabby_icon:: @ 8D72EA0 - .incbin "graphics/pokemon/icons/krabby_icon.4bpp" + .incbin "graphics/pokemon/krabby/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_krabby_footprint:: @ 8D732A0 - .incbin "graphics/pokemon/footprints/krabby_footprint.1bpp" + .incbin "graphics/pokemon/krabby/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_kingler_still_front_pic:: @ 8D732C0 - .incbin "graphics/pokemon/front_pics/kingler_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/kingler/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_kingler_palette:: @ 8D73740 - .incbin "graphics/pokemon/palettes/kingler_palette.gbapal.lz" + .incbin "graphics/pokemon/kingler/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_kingler_back_pic:: @ 8D73768 - .incbin "graphics/pokemon/back_pics/kingler_back_pic.4bpp.lz" + .incbin "graphics/pokemon/kingler/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_kingler_shiny_palette:: @ 8D73AEC - .incbin "graphics/pokemon/palettes/kingler_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/kingler/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_kingler_icon:: @ 8D73B14 - .incbin "graphics/pokemon/icons/kingler_icon.4bpp" + .incbin "graphics/pokemon/kingler/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_kingler_footprint:: @ 8D73F14 - .incbin "graphics/pokemon/footprints/kingler_footprint.1bpp" + .incbin "graphics/pokemon/kingler/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_voltorb_still_front_pic:: @ 8D73F34 - .incbin "graphics/pokemon/front_pics/voltorb_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/voltorb/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_voltorb_palette:: @ 8D7413C - .incbin "graphics/pokemon/palettes/voltorb_palette.gbapal.lz" + .incbin "graphics/pokemon/voltorb/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_voltorb_back_pic:: @ 8D74160 - .incbin "graphics/pokemon/back_pics/voltorb_back_pic.4bpp.lz" + .incbin "graphics/pokemon/voltorb/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_voltorb_shiny_palette:: @ 8D743D4 - .incbin "graphics/pokemon/palettes/voltorb_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/voltorb/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_voltorb_icon:: @ 8D743F8 - .incbin "graphics/pokemon/icons/voltorb_icon.4bpp" + .incbin "graphics/pokemon/voltorb/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_voltorb_footprint:: @ 8D747F8 - .incbin "graphics/pokemon/footprints/voltorb_footprint.1bpp" + .incbin "graphics/pokemon/voltorb/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_electrode_still_front_pic:: @ 8D74818 - .incbin "graphics/pokemon/front_pics/electrode_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/electrode/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_electrode_palette:: @ 8D74A84 - .incbin "graphics/pokemon/palettes/electrode_palette.gbapal.lz" + .incbin "graphics/pokemon/electrode/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_electrode_back_pic:: @ 8D74AA8 - .incbin "graphics/pokemon/back_pics/electrode_back_pic.4bpp.lz" + .incbin "graphics/pokemon/electrode/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_electrode_shiny_palette:: @ 8D74D18 - .incbin "graphics/pokemon/palettes/electrode_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/electrode/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_electrode_icon:: @ 8D74D3C - .incbin "graphics/pokemon/icons/electrode_icon.4bpp" + .incbin "graphics/pokemon/electrode/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_electrode_footprint:: @ 8D7513C - .incbin "graphics/pokemon/footprints/electrode_footprint.1bpp" + .incbin "graphics/pokemon/electrode/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_exeggcute_still_front_pic:: @ 8D7515C - .incbin "graphics/pokemon/front_pics/exeggcute_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/exeggcute/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_exeggcute_palette:: @ 8D754EC - .incbin "graphics/pokemon/palettes/exeggcute_palette.gbapal.lz" + .incbin "graphics/pokemon/exeggcute/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_exeggcute_back_pic:: @ 8D75510 - .incbin "graphics/pokemon/back_pics/exeggcute_back_pic.4bpp.lz" + .incbin "graphics/pokemon/exeggcute/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_exeggcute_shiny_palette:: @ 8D75818 - .incbin "graphics/pokemon/palettes/exeggcute_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/exeggcute/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_exeggcute_icon:: @ 8D7583C - .incbin "graphics/pokemon/icons/exeggcute_icon.4bpp" + .incbin "graphics/pokemon/exeggcute/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_exeggcute_footprint:: @ 8D75C3C - .incbin "graphics/pokemon/footprints/exeggcute_footprint.1bpp" + .incbin "graphics/pokemon/exeggcute/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_exeggutor_still_front_pic:: @ 8D75C5C - .incbin "graphics/pokemon/front_pics/exeggutor_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/exeggutor/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_exeggutor_palette:: @ 8D760AC - .incbin "graphics/pokemon/palettes/exeggutor_palette.gbapal.lz" + .incbin "graphics/pokemon/exeggutor/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_exeggutor_back_pic:: @ 8D760D4 - .incbin "graphics/pokemon/back_pics/exeggutor_back_pic.4bpp.lz" + .incbin "graphics/pokemon/exeggutor/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_exeggutor_shiny_palette:: @ 8D764A0 - .incbin "graphics/pokemon/palettes/exeggutor_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/exeggutor/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_exeggutor_icon:: @ 8D764C8 - .incbin "graphics/pokemon/icons/exeggutor_icon.4bpp" + .incbin "graphics/pokemon/exeggutor/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_exeggutor_footprint:: @ 8D768C8 - .incbin "graphics/pokemon/footprints/exeggutor_footprint.1bpp" + .incbin "graphics/pokemon/exeggutor/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_cubone_still_front_pic:: @ 8D768E8 - .incbin "graphics/pokemon/front_pics/cubone_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/cubone/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_cubone_palette:: @ 8D76BA4 - .incbin "graphics/pokemon/palettes/cubone_palette.gbapal.lz" + .incbin "graphics/pokemon/cubone/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_cubone_back_pic:: @ 8D76BCC - .incbin "graphics/pokemon/back_pics/cubone_back_pic.4bpp.lz" + .incbin "graphics/pokemon/cubone/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_cubone_shiny_palette:: @ 8D76F0C - .incbin "graphics/pokemon/palettes/cubone_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/cubone/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_cubone_icon:: @ 8D76F34 - .incbin "graphics/pokemon/icons/cubone_icon.4bpp" + .incbin "graphics/pokemon/cubone/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_cubone_footprint:: @ 8D77334 - .incbin "graphics/pokemon/footprints/cubone_footprint.1bpp" + .incbin "graphics/pokemon/cubone/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_marowak_still_front_pic:: @ 8D77354 - .incbin "graphics/pokemon/front_pics/marowak_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/marowak/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_marowak_palette:: @ 8D776D4 - .incbin "graphics/pokemon/palettes/marowak_palette.gbapal.lz" + .incbin "graphics/pokemon/marowak/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_marowak_back_pic:: @ 8D776FC - .incbin "graphics/pokemon/back_pics/marowak_back_pic.4bpp.lz" + .incbin "graphics/pokemon/marowak/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_marowak_shiny_palette:: @ 8D77A10 - .incbin "graphics/pokemon/palettes/marowak_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/marowak/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_marowak_icon:: @ 8D77A38 - .incbin "graphics/pokemon/icons/marowak_icon.4bpp" + .incbin "graphics/pokemon/marowak/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_marowak_footprint:: @ 8D77E38 - .incbin "graphics/pokemon/footprints/marowak_footprint.1bpp" + .incbin "graphics/pokemon/marowak/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_hitmonlee_still_front_pic:: @ 8D77E58 - .incbin "graphics/pokemon/front_pics/hitmonlee_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/hitmonlee/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_hitmonlee_palette:: @ 8D781CC - .incbin "graphics/pokemon/palettes/hitmonlee_palette.gbapal.lz" + .incbin "graphics/pokemon/hitmonlee/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_hitmonlee_back_pic:: @ 8D781F4 - .incbin "graphics/pokemon/back_pics/hitmonlee_back_pic.4bpp.lz" + .incbin "graphics/pokemon/hitmonlee/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_hitmonlee_shiny_palette:: @ 8D78498 - .incbin "graphics/pokemon/palettes/hitmonlee_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/hitmonlee/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_hitmonlee_icon:: @ 8D784C0 - .incbin "graphics/pokemon/icons/hitmonlee_icon.4bpp" + .incbin "graphics/pokemon/hitmonlee/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_hitmonlee_footprint:: @ 8D788C0 - .incbin "graphics/pokemon/footprints/hitmonlee_footprint.1bpp" + .incbin "graphics/pokemon/hitmonlee/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_hitmonchan_still_front_pic:: @ 8D788E0 - .incbin "graphics/pokemon/front_pics/hitmonchan_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/hitmonchan/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_hitmonchan_palette:: @ 8D78C20 - .incbin "graphics/pokemon/palettes/hitmonchan_palette.gbapal.lz" + .incbin "graphics/pokemon/hitmonchan/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_hitmonchan_back_pic:: @ 8D78C48 - .incbin "graphics/pokemon/back_pics/hitmonchan_back_pic.4bpp.lz" + .incbin "graphics/pokemon/hitmonchan/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_hitmonchan_shiny_palette:: @ 8D78F8C - .incbin "graphics/pokemon/palettes/hitmonchan_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/hitmonchan/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_hitmonchan_icon:: @ 8D78FB4 - .incbin "graphics/pokemon/icons/hitmonchan_icon.4bpp" + .incbin "graphics/pokemon/hitmonchan/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_hitmonchan_footprint:: @ 8D793B4 - .incbin "graphics/pokemon/footprints/hitmonchan_footprint.1bpp" + .incbin "graphics/pokemon/hitmonchan/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_lickitung_still_front_pic:: @ 8D793D4 - .incbin "graphics/pokemon/front_pics/lickitung_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/lickitung/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_lickitung_palette:: @ 8D797AC - .incbin "graphics/pokemon/palettes/lickitung_palette.gbapal.lz" + .incbin "graphics/pokemon/lickitung/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_lickitung_back_pic:: @ 8D797D4 - .incbin "graphics/pokemon/back_pics/lickitung_back_pic.4bpp.lz" + .incbin "graphics/pokemon/lickitung/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_lickitung_shiny_palette:: @ 8D79A78 - .incbin "graphics/pokemon/palettes/lickitung_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/lickitung/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_lickitung_icon:: @ 8D79AA0 - .incbin "graphics/pokemon/icons/lickitung_icon.4bpp" + .incbin "graphics/pokemon/lickitung/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_lickitung_footprint:: @ 8D79EA0 - .incbin "graphics/pokemon/footprints/lickitung_footprint.1bpp" + .incbin "graphics/pokemon/lickitung/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_koffing_still_front_pic:: @ 8D79EC0 - .incbin "graphics/pokemon/front_pics/koffing_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/koffing/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_koffing_palette:: @ 8D7A1C0 - .incbin "graphics/pokemon/palettes/koffing_palette.gbapal.lz" + .incbin "graphics/pokemon/koffing/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_koffing_back_pic:: @ 8D7A1E8 - .incbin "graphics/pokemon/back_pics/koffing_back_pic.4bpp.lz" + .incbin "graphics/pokemon/koffing/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_koffing_shiny_palette:: @ 8D7A4E8 - .incbin "graphics/pokemon/palettes/koffing_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/koffing/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_koffing_icon:: @ 8D7A510 - .incbin "graphics/pokemon/icons/koffing_icon.4bpp" + .incbin "graphics/pokemon/koffing/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_koffing_footprint:: @ 8D7A910 - .incbin "graphics/pokemon/footprints/koffing_footprint.1bpp" + .incbin "graphics/pokemon/koffing/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_weezing_still_front_pic:: @ 8D7A930 - .incbin "graphics/pokemon/front_pics/weezing_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/weezing/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_weezing_palette:: @ 8D7ADEC - .incbin "graphics/pokemon/palettes/weezing_palette.gbapal.lz" + .incbin "graphics/pokemon/weezing/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_weezing_back_pic:: @ 8D7AE14 - .incbin "graphics/pokemon/back_pics/weezing_back_pic.4bpp.lz" + .incbin "graphics/pokemon/weezing/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_weezing_shiny_palette:: @ 8D7B198 - .incbin "graphics/pokemon/palettes/weezing_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/weezing/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_weezing_icon:: @ 8D7B1C0 - .incbin "graphics/pokemon/icons/weezing_icon.4bpp" + .incbin "graphics/pokemon/weezing/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_weezing_footprint:: @ 8D7B5C0 - .incbin "graphics/pokemon/footprints/weezing_footprint.1bpp" + .incbin "graphics/pokemon/weezing/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_rhyhorn_still_front_pic:: @ 8D7B5E0 - .incbin "graphics/pokemon/front_pics/rhyhorn_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/rhyhorn/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_rhyhorn_palette:: @ 8D7B9DC - .incbin "graphics/pokemon/palettes/rhyhorn_palette.gbapal.lz" + .incbin "graphics/pokemon/rhyhorn/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_rhyhorn_back_pic:: @ 8D7B9FC - .incbin "graphics/pokemon/back_pics/rhyhorn_back_pic.4bpp.lz" + .incbin "graphics/pokemon/rhyhorn/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_rhyhorn_shiny_palette:: @ 8D7BD44 - .incbin "graphics/pokemon/palettes/rhyhorn_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/rhyhorn/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_rhyhorn_icon:: @ 8D7BD64 - .incbin "graphics/pokemon/icons/rhyhorn_icon.4bpp" + .incbin "graphics/pokemon/rhyhorn/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_rhyhorn_footprint:: @ 8D7C164 - .incbin "graphics/pokemon/footprints/rhyhorn_footprint.1bpp" + .incbin "graphics/pokemon/rhyhorn/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_rhydon_still_front_pic:: @ 8D7C184 - .incbin "graphics/pokemon/front_pics/rhydon_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/rhydon/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_rhydon_palette:: @ 8D7C678 - .incbin "graphics/pokemon/palettes/rhydon_palette.gbapal.lz" + .incbin "graphics/pokemon/rhydon/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_rhydon_back_pic:: @ 8D7C6A0 - .incbin "graphics/pokemon/back_pics/rhydon_back_pic.4bpp.lz" + .incbin "graphics/pokemon/rhydon/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_rhydon_shiny_palette:: @ 8D7CAF0 - .incbin "graphics/pokemon/palettes/rhydon_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/rhydon/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_rhydon_icon:: @ 8D7CB18 - .incbin "graphics/pokemon/icons/rhydon_icon.4bpp" + .incbin "graphics/pokemon/rhydon/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_rhydon_footprint:: @ 8D7CF18 - .incbin "graphics/pokemon/footprints/rhydon_footprint.1bpp" + .incbin "graphics/pokemon/rhydon/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_chansey_still_front_pic:: @ 8D7CF38 - .incbin "graphics/pokemon/front_pics/chansey_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/chansey/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_chansey_palette:: @ 8D7D274 - .incbin "graphics/pokemon/palettes/chansey_palette.gbapal.lz" + .incbin "graphics/pokemon/chansey/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_chansey_back_pic:: @ 8D7D298 - .incbin "graphics/pokemon/back_pics/chansey_back_pic.4bpp.lz" + .incbin "graphics/pokemon/chansey/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_chansey_shiny_palette:: @ 8D7D4E8 - .incbin "graphics/pokemon/palettes/chansey_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/chansey/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_chansey_icon:: @ 8D7D50C - .incbin "graphics/pokemon/icons/chansey_icon.4bpp" + .incbin "graphics/pokemon/chansey/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_chansey_footprint:: @ 8D7D90C - .incbin "graphics/pokemon/footprints/chansey_footprint.1bpp" + .incbin "graphics/pokemon/chansey/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_tangela_still_front_pic:: @ 8D7D92C - .incbin "graphics/pokemon/front_pics/tangela_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/tangela/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_tangela_palette:: @ 8D7DD00 - .incbin "graphics/pokemon/palettes/tangela_palette.gbapal.lz" + .incbin "graphics/pokemon/tangela/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_tangela_back_pic:: @ 8D7DD24 - .incbin "graphics/pokemon/back_pics/tangela_back_pic.4bpp.lz" + .incbin "graphics/pokemon/tangela/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_tangela_shiny_palette:: @ 8D7E0D0 - .incbin "graphics/pokemon/palettes/tangela_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/tangela/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_tangela_icon:: @ 8D7E0F4 - .incbin "graphics/pokemon/icons/tangela_icon.4bpp" + .incbin "graphics/pokemon/tangela/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_tangela_footprint:: @ 8D7E4F4 - .incbin "graphics/pokemon/footprints/tangela_footprint.1bpp" + .incbin "graphics/pokemon/tangela/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_kangaskhan_still_front_pic:: @ 8D7E514 - .incbin "graphics/pokemon/front_pics/kangaskhan_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/kangaskhan/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_kangaskhan_palette:: @ 8D7E9BC - .incbin "graphics/pokemon/palettes/kangaskhan_palette.gbapal.lz" + .incbin "graphics/pokemon/kangaskhan/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_kangaskhan_back_pic:: @ 8D7E9E4 - .incbin "graphics/pokemon/back_pics/kangaskhan_back_pic.4bpp.lz" + .incbin "graphics/pokemon/kangaskhan/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_kangaskhan_shiny_palette:: @ 8D7EE14 - .incbin "graphics/pokemon/palettes/kangaskhan_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/kangaskhan/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_kangaskhan_icon:: @ 8D7EE3C - .incbin "graphics/pokemon/icons/kangaskhan_icon.4bpp" + .incbin "graphics/pokemon/kangaskhan/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_kangaskhan_footprint:: @ 8D7F23C - .incbin "graphics/pokemon/footprints/kangaskhan_footprint.1bpp" + .incbin "graphics/pokemon/kangaskhan/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_horsea_still_front_pic:: @ 8D7F25C - .incbin "graphics/pokemon/front_pics/horsea_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/horsea/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_horsea_palette:: @ 8D7F4C8 - .incbin "graphics/pokemon/palettes/horsea_palette.gbapal.lz" + .incbin "graphics/pokemon/horsea/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_horsea_back_pic:: @ 8D7F4F0 - .incbin "graphics/pokemon/back_pics/horsea_back_pic.4bpp.lz" + .incbin "graphics/pokemon/horsea/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_horsea_shiny_palette:: @ 8D7F7D0 - .incbin "graphics/pokemon/palettes/horsea_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/horsea/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_horsea_icon:: @ 8D7F7F8 - .incbin "graphics/pokemon/icons/horsea_icon.4bpp" + .incbin "graphics/pokemon/horsea/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_horsea_footprint:: @ 8D7FBF8 - .incbin "graphics/pokemon/footprints/horsea_footprint.1bpp" + .incbin "graphics/pokemon/horsea/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_seadra_still_front_pic:: @ 8D7FC18 - .incbin "graphics/pokemon/front_pics/seadra_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/seadra/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_seadra_palette:: @ 8D7FFA0 - .incbin "graphics/pokemon/palettes/seadra_palette.gbapal.lz" + .incbin "graphics/pokemon/seadra/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_seadra_back_pic:: @ 8D7FFC8 - .incbin "graphics/pokemon/back_pics/seadra_back_pic.4bpp.lz" + .incbin "graphics/pokemon/seadra/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_seadra_shiny_palette:: @ 8D80368 - .incbin "graphics/pokemon/palettes/seadra_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/seadra/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_seadra_icon:: @ 8D80390 - .incbin "graphics/pokemon/icons/seadra_icon.4bpp" + .incbin "graphics/pokemon/seadra/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_seadra_footprint:: @ 8D80790 - .incbin "graphics/pokemon/footprints/seadra_footprint.1bpp" + .incbin "graphics/pokemon/seadra/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_goldeen_still_front_pic:: @ 8D807B0 - .incbin "graphics/pokemon/front_pics/goldeen_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/goldeen/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_goldeen_palette:: @ 8D80B18 - .incbin "graphics/pokemon/palettes/goldeen_palette.gbapal.lz" + .incbin "graphics/pokemon/goldeen/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_goldeen_back_pic:: @ 8D80B40 - .incbin "graphics/pokemon/back_pics/goldeen_back_pic.4bpp.lz" + .incbin "graphics/pokemon/goldeen/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_goldeen_shiny_palette:: @ 8D80EB0 - .incbin "graphics/pokemon/palettes/goldeen_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/goldeen/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_goldeen_icon:: @ 8D80ED8 - .incbin "graphics/pokemon/icons/goldeen_icon.4bpp" + .incbin "graphics/pokemon/goldeen/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_goldeen_footprint:: @ 8D812D8 - .incbin "graphics/pokemon/footprints/goldeen_footprint.1bpp" + .incbin "graphics/pokemon/goldeen/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_seaking_still_front_pic:: @ 8D812F8 - .incbin "graphics/pokemon/front_pics/seaking_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/seaking/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_seaking_palette:: @ 8D8176C - .incbin "graphics/pokemon/palettes/seaking_palette.gbapal.lz" + .incbin "graphics/pokemon/seaking/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_seaking_back_pic:: @ 8D81794 - .incbin "graphics/pokemon/back_pics/seaking_back_pic.4bpp.lz" + .incbin "graphics/pokemon/seaking/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_seaking_shiny_palette:: @ 8D81AE4 - .incbin "graphics/pokemon/palettes/seaking_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/seaking/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_seaking_icon:: @ 8D81B0C - .incbin "graphics/pokemon/icons/seaking_icon.4bpp" + .incbin "graphics/pokemon/seaking/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_seaking_footprint:: @ 8D81F0C - .incbin "graphics/pokemon/footprints/seaking_footprint.1bpp" + .incbin "graphics/pokemon/seaking/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_staryu_still_front_pic:: @ 8D81F2C - .incbin "graphics/pokemon/front_pics/staryu_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/staryu/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_staryu_palette:: @ 8D821DC - .incbin "graphics/pokemon/palettes/staryu_palette.gbapal.lz" + .incbin "graphics/pokemon/staryu/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_staryu_back_pic:: @ 8D82204 - .incbin "graphics/pokemon/back_pics/staryu_back_pic.4bpp.lz" + .incbin "graphics/pokemon/staryu/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_staryu_shiny_palette:: @ 8D8246C - .incbin "graphics/pokemon/palettes/staryu_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/staryu/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_staryu_icon:: @ 8D82494 - .incbin "graphics/pokemon/icons/staryu_icon.4bpp" + .incbin "graphics/pokemon/staryu/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_staryu_footprint:: @ 8D82894 - .incbin "graphics/pokemon/footprints/staryu_footprint.1bpp" + .incbin "graphics/pokemon/staryu/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_starmie_still_front_pic:: @ 8D828B4 - .incbin "graphics/pokemon/front_pics/starmie_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/starmie/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_starmie_palette:: @ 8D82C54 - .incbin "graphics/pokemon/palettes/starmie_palette.gbapal.lz" + .incbin "graphics/pokemon/starmie/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_starmie_back_pic:: @ 8D82C7C - .incbin "graphics/pokemon/back_pics/starmie_back_pic.4bpp.lz" + .incbin "graphics/pokemon/starmie/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_starmie_shiny_palette:: @ 8D82F20 - .incbin "graphics/pokemon/palettes/starmie_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/starmie/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_starmie_icon:: @ 8D82F48 - .incbin "graphics/pokemon/icons/starmie_icon.4bpp" + .incbin "graphics/pokemon/starmie/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_starmie_footprint:: @ 8D83348 - .incbin "graphics/pokemon/footprints/starmie_footprint.1bpp" + .incbin "graphics/pokemon/starmie/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_mr_mime_still_front_pic:: @ 8D83368 - .incbin "graphics/pokemon/front_pics/mr_mime_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/mr_mime/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_mr_mime_palette:: @ 8D83724 - .incbin "graphics/pokemon/palettes/mr_mime_palette.gbapal.lz" + .incbin "graphics/pokemon/mr_mime/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_mr_mime_back_pic:: @ 8D8374C - .incbin "graphics/pokemon/back_pics/mr_mime_back_pic.4bpp.lz" + .incbin "graphics/pokemon/mr_mime/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_mr_mime_shiny_palette:: @ 8D83A80 - .incbin "graphics/pokemon/palettes/mr_mime_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/mr_mime/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_mr_mime_icon:: @ 8D83AA8 - .incbin "graphics/pokemon/icons/mr_mime_icon.4bpp" + .incbin "graphics/pokemon/mr_mime/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_mr_mime_footprint:: @ 8D83EA8 - .incbin "graphics/pokemon/footprints/mr_mime_footprint.1bpp" + .incbin "graphics/pokemon/mr_mime/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_scyther_still_front_pic:: @ 8D83EC8 - .incbin "graphics/pokemon/front_pics/scyther_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/scyther/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_scyther_palette:: @ 8D842F0 - .incbin "graphics/pokemon/palettes/scyther_palette.gbapal.lz" + .incbin "graphics/pokemon/scyther/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_scyther_back_pic:: @ 8D84318 - .incbin "graphics/pokemon/back_pics/scyther_back_pic.4bpp.lz" + .incbin "graphics/pokemon/scyther/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_scyther_shiny_palette:: @ 8D84730 - .incbin "graphics/pokemon/palettes/scyther_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/scyther/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_scyther_icon:: @ 8D84758 - .incbin "graphics/pokemon/icons/scyther_icon.4bpp" + .incbin "graphics/pokemon/scyther/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_scyther_footprint:: @ 8D84B58 - .incbin "graphics/pokemon/footprints/scyther_footprint.1bpp" + .incbin "graphics/pokemon/scyther/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_jynx_still_front_pic:: @ 8D84B78 - .incbin "graphics/pokemon/front_pics/jynx_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/jynx/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_jynx_palette:: @ 8D84F44 - .incbin "graphics/pokemon/palettes/jynx_palette.gbapal.lz" + .incbin "graphics/pokemon/jynx/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_jynx_back_pic:: @ 8D84F6C - .incbin "graphics/pokemon/back_pics/jynx_back_pic.4bpp.lz" + .incbin "graphics/pokemon/jynx/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_jynx_shiny_palette:: @ 8D85258 - .incbin "graphics/pokemon/palettes/jynx_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/jynx/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_jynx_icon:: @ 8D85280 - .incbin "graphics/pokemon/icons/jynx_icon.4bpp" + .incbin "graphics/pokemon/jynx/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_jynx_footprint:: @ 8D85680 - .incbin "graphics/pokemon/footprints/jynx_footprint.1bpp" + .incbin "graphics/pokemon/jynx/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_electabuzz_still_front_pic:: @ 8D856A0 - .incbin "graphics/pokemon/front_pics/electabuzz_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/electabuzz/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_electabuzz_palette:: @ 8D85AF8 - .incbin "graphics/pokemon/palettes/electabuzz_palette.gbapal.lz" + .incbin "graphics/pokemon/electabuzz/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_electabuzz_back_pic:: @ 8D85B20 - .incbin "graphics/pokemon/back_pics/electabuzz_back_pic.4bpp.lz" + .incbin "graphics/pokemon/electabuzz/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_electabuzz_shiny_palette:: @ 8D85E30 - .incbin "graphics/pokemon/palettes/electabuzz_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/electabuzz/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_electabuzz_icon:: @ 8D85E58 - .incbin "graphics/pokemon/icons/electabuzz_icon.4bpp" + .incbin "graphics/pokemon/electabuzz/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_electabuzz_footprint:: @ 8D86258 - .incbin "graphics/pokemon/footprints/electabuzz_footprint.1bpp" + .incbin "graphics/pokemon/electabuzz/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_magmar_still_front_pic:: @ 8D86278 - .incbin "graphics/pokemon/front_pics/magmar_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/magmar/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_magmar_palette:: @ 8D866A8 - .incbin "graphics/pokemon/palettes/magmar_palette.gbapal.lz" + .incbin "graphics/pokemon/magmar/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_magmar_back_pic:: @ 8D866D0 - .incbin "graphics/pokemon/back_pics/magmar_back_pic.4bpp.lz" + .incbin "graphics/pokemon/magmar/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_magmar_shiny_palette:: @ 8D86A08 - .incbin "graphics/pokemon/palettes/magmar_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/magmar/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_magmar_icon:: @ 8D86A30 - .incbin "graphics/pokemon/icons/magmar_icon.4bpp" + .incbin "graphics/pokemon/magmar/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_magmar_footprint:: @ 8D86E30 - .incbin "graphics/pokemon/footprints/magmar_footprint.1bpp" + .incbin "graphics/pokemon/magmar/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_pinsir_still_front_pic:: @ 8D86E50 - .incbin "graphics/pokemon/front_pics/pinsir_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/pinsir/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_pinsir_palette:: @ 8D87280 - .incbin "graphics/pokemon/palettes/pinsir_palette.gbapal.lz" + .incbin "graphics/pokemon/pinsir/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_pinsir_back_pic:: @ 8D872A4 - .incbin "graphics/pokemon/back_pics/pinsir_back_pic.4bpp.lz" + .incbin "graphics/pokemon/pinsir/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_pinsir_shiny_palette:: @ 8D875F8 - .incbin "graphics/pokemon/palettes/pinsir_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/pinsir/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_pinsir_icon:: @ 8D8761C - .incbin "graphics/pokemon/icons/pinsir_icon.4bpp" + .incbin "graphics/pokemon/pinsir/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_pinsir_footprint:: @ 8D87A1C - .incbin "graphics/pokemon/footprints/pinsir_footprint.1bpp" + .incbin "graphics/pokemon/pinsir/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_tauros_still_front_pic:: @ 8D87A3C - .incbin "graphics/pokemon/front_pics/tauros_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/tauros/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_tauros_palette:: @ 8D87E9C - .incbin "graphics/pokemon/palettes/tauros_palette.gbapal.lz" + .incbin "graphics/pokemon/tauros/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_tauros_back_pic:: @ 8D87EC4 - .incbin "graphics/pokemon/back_pics/tauros_back_pic.4bpp.lz" + .incbin "graphics/pokemon/tauros/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_tauros_shiny_palette:: @ 8D88178 - .incbin "graphics/pokemon/palettes/tauros_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/tauros/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_tauros_icon:: @ 8D881A0 - .incbin "graphics/pokemon/icons/tauros_icon.4bpp" + .incbin "graphics/pokemon/tauros/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_tauros_footprint:: @ 8D885A0 - .incbin "graphics/pokemon/footprints/tauros_footprint.1bpp" + .incbin "graphics/pokemon/tauros/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_magikarp_still_front_pic:: @ 8D885C0 - .incbin "graphics/pokemon/front_pics/magikarp_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/magikarp/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_magikarp_palette:: @ 8D88908 - .incbin "graphics/pokemon/palettes/magikarp_palette.gbapal.lz" + .incbin "graphics/pokemon/magikarp/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_magikarp_back_pic:: @ 8D88930 - .incbin "graphics/pokemon/back_pics/magikarp_back_pic.4bpp.lz" + .incbin "graphics/pokemon/magikarp/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_magikarp_shiny_palette:: @ 8D88C60 - .incbin "graphics/pokemon/palettes/magikarp_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/magikarp/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_magikarp_icon:: @ 8D88C88 - .incbin "graphics/pokemon/icons/magikarp_icon.4bpp" + .incbin "graphics/pokemon/magikarp/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_magikarp_footprint:: @ 8D89088 - .incbin "graphics/pokemon/footprints/magikarp_footprint.1bpp" + .incbin "graphics/pokemon/magikarp/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_gyarados_still_front_pic:: @ 8D890A8 - .incbin "graphics/pokemon/front_pics/gyarados_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/gyarados/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_gyarados_palette:: @ 8D8964C - .incbin "graphics/pokemon/palettes/gyarados_palette.gbapal.lz" + .incbin "graphics/pokemon/gyarados/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_gyarados_back_pic:: @ 8D89674 - .incbin "graphics/pokemon/back_pics/gyarados_back_pic.4bpp.lz" + .incbin "graphics/pokemon/gyarados/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_gyarados_shiny_palette:: @ 8D89B2C - .incbin "graphics/pokemon/palettes/gyarados_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/gyarados/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_gyarados_icon:: @ 8D89B54 - .incbin "graphics/pokemon/icons/gyarados_icon.4bpp" + .incbin "graphics/pokemon/gyarados/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_gyarados_footprint:: @ 8D89F54 - .incbin "graphics/pokemon/footprints/gyarados_footprint.1bpp" + .incbin "graphics/pokemon/gyarados/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_lapras_still_front_pic:: @ 8D89F74 - .incbin "graphics/pokemon/front_pics/lapras_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/lapras/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_lapras_palette:: @ 8D8A354 - .incbin "graphics/pokemon/palettes/lapras_palette.gbapal.lz" + .incbin "graphics/pokemon/lapras/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_lapras_back_pic:: @ 8D8A37C - .incbin "graphics/pokemon/back_pics/lapras_back_pic.4bpp.lz" + .incbin "graphics/pokemon/lapras/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_lapras_shiny_palette:: @ 8D8A6C0 - .incbin "graphics/pokemon/palettes/lapras_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/lapras/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_lapras_icon:: @ 8D8A6E8 - .incbin "graphics/pokemon/icons/lapras_icon.4bpp" + .incbin "graphics/pokemon/lapras/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_lapras_footprint:: @ 8D8AAE8 - .incbin "graphics/pokemon/footprints/lapras_footprint.1bpp" + .incbin "graphics/pokemon/lapras/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_ditto_still_front_pic:: @ 8D8AB08 - .incbin "graphics/pokemon/front_pics/ditto_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/ditto/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_ditto_palette:: @ 8D8ACF8 - .incbin "graphics/pokemon/palettes/ditto_palette.gbapal.lz" + .incbin "graphics/pokemon/ditto/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_ditto_back_pic:: @ 8D8AD18 - .incbin "graphics/pokemon/back_pics/ditto_back_pic.4bpp.lz" + .incbin "graphics/pokemon/ditto/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_ditto_shiny_palette:: @ 8D8AF18 - .incbin "graphics/pokemon/palettes/ditto_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/ditto/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_ditto_icon:: @ 8D8AF38 - .incbin "graphics/pokemon/icons/ditto_icon.4bpp" + .incbin "graphics/pokemon/ditto/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_ditto_footprint:: @ 8D8B338 - .incbin "graphics/pokemon/footprints/ditto_footprint.1bpp" + .incbin "graphics/pokemon/ditto/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_eevee_still_front_pic:: @ 8D8B358 - .incbin "graphics/pokemon/front_pics/eevee_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/eevee/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_eevee_palette:: @ 8D8B644 - .incbin "graphics/pokemon/palettes/eevee_palette.gbapal.lz" + .incbin "graphics/pokemon/eevee/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_eevee_back_pic:: @ 8D8B66C - .incbin "graphics/pokemon/back_pics/eevee_back_pic.4bpp.lz" + .incbin "graphics/pokemon/eevee/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_eevee_shiny_palette:: @ 8D8B994 - .incbin "graphics/pokemon/palettes/eevee_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/eevee/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_eevee_icon:: @ 8D8B9BC - .incbin "graphics/pokemon/icons/eevee_icon.4bpp" + .incbin "graphics/pokemon/eevee/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_eevee_footprint:: @ 8D8BDBC - .incbin "graphics/pokemon/footprints/eevee_footprint.1bpp" + .incbin "graphics/pokemon/eevee/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_vaporeon_still_front_pic:: @ 8D8BDDC - .incbin "graphics/pokemon/front_pics/vaporeon_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/vaporeon/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_vaporeon_palette:: @ 8D8C170 - .incbin "graphics/pokemon/palettes/vaporeon_palette.gbapal.lz" + .incbin "graphics/pokemon/vaporeon/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_vaporeon_back_pic:: @ 8D8C198 - .incbin "graphics/pokemon/back_pics/vaporeon_back_pic.4bpp.lz" + .incbin "graphics/pokemon/vaporeon/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_vaporeon_shiny_palette:: @ 8D8C460 - .incbin "graphics/pokemon/palettes/vaporeon_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/vaporeon/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_vaporeon_icon:: @ 8D8C488 - .incbin "graphics/pokemon/icons/vaporeon_icon.4bpp" + .incbin "graphics/pokemon/vaporeon/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_vaporeon_footprint:: @ 8D8C888 - .incbin "graphics/pokemon/footprints/vaporeon_footprint.1bpp" + .incbin "graphics/pokemon/vaporeon/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_jolteon_still_front_pic:: @ 8D8C8A8 - .incbin "graphics/pokemon/front_pics/jolteon_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/jolteon/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_jolteon_palette:: @ 8D8CBF8 - .incbin "graphics/pokemon/palettes/jolteon_palette.gbapal.lz" + .incbin "graphics/pokemon/jolteon/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_jolteon_back_pic:: @ 8D8CC20 - .incbin "graphics/pokemon/back_pics/jolteon_back_pic.4bpp.lz" + .incbin "graphics/pokemon/jolteon/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_jolteon_shiny_palette:: @ 8D8CFCC - .incbin "graphics/pokemon/palettes/jolteon_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/jolteon/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_jolteon_icon:: @ 8D8CFF4 - .incbin "graphics/pokemon/icons/jolteon_icon.4bpp" + .incbin "graphics/pokemon/jolteon/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_jolteon_footprint:: @ 8D8D3F4 - .incbin "graphics/pokemon/footprints/jolteon_footprint.1bpp" + .incbin "graphics/pokemon/jolteon/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_flareon_still_front_pic:: @ 8D8D414 - .incbin "graphics/pokemon/front_pics/flareon_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/flareon/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_flareon_palette:: @ 8D8D798 - .incbin "graphics/pokemon/palettes/flareon_palette.gbapal.lz" + .incbin "graphics/pokemon/flareon/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_flareon_back_pic:: @ 8D8D7C0 - .incbin "graphics/pokemon/back_pics/flareon_back_pic.4bpp.lz" + .incbin "graphics/pokemon/flareon/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_flareon_shiny_palette:: @ 8D8DB50 - .incbin "graphics/pokemon/palettes/flareon_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/flareon/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_flareon_icon:: @ 8D8DB78 - .incbin "graphics/pokemon/icons/flareon_icon.4bpp" + .incbin "graphics/pokemon/flareon/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_flareon_footprint:: @ 8D8DF78 - .incbin "graphics/pokemon/footprints/flareon_footprint.1bpp" + .incbin "graphics/pokemon/flareon/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_porygon_still_front_pic:: @ 8D8DF98 - .incbin "graphics/pokemon/front_pics/porygon_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/porygon/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_porygon_palette:: @ 8D8E250 - .incbin "graphics/pokemon/palettes/porygon_palette.gbapal.lz" + .incbin "graphics/pokemon/porygon/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_porygon_back_pic:: @ 8D8E274 - .incbin "graphics/pokemon/back_pics/porygon_back_pic.4bpp.lz" + .incbin "graphics/pokemon/porygon/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_porygon_shiny_palette:: @ 8D8E52C - .incbin "graphics/pokemon/palettes/porygon_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/porygon/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_porygon_icon:: @ 8D8E550 - .incbin "graphics/pokemon/icons/porygon_icon.4bpp" + .incbin "graphics/pokemon/porygon/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_porygon_footprint:: @ 8D8E950 - .incbin "graphics/pokemon/footprints/porygon_footprint.1bpp" + .incbin "graphics/pokemon/porygon/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_omanyte_still_front_pic:: @ 8D8E970 - .incbin "graphics/pokemon/front_pics/omanyte_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/omanyte/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_omanyte_palette:: @ 8D8EC00 - .incbin "graphics/pokemon/palettes/omanyte_palette.gbapal.lz" + .incbin "graphics/pokemon/omanyte/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_omanyte_back_pic:: @ 8D8EC28 - .incbin "graphics/pokemon/back_pics/omanyte_back_pic.4bpp.lz" + .incbin "graphics/pokemon/omanyte/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_omanyte_shiny_palette:: @ 8D8EF74 - .incbin "graphics/pokemon/palettes/omanyte_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/omanyte/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_omanyte_icon:: @ 8D8EF9C - .incbin "graphics/pokemon/icons/omanyte_icon.4bpp" + .incbin "graphics/pokemon/omanyte/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_omanyte_footprint:: @ 8D8F39C - .incbin "graphics/pokemon/footprints/omanyte_footprint.1bpp" + .incbin "graphics/pokemon/omanyte/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_omastar_still_front_pic:: @ 8D8F3BC - .incbin "graphics/pokemon/front_pics/omastar_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/omastar/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_omastar_palette:: @ 8D8F77C - .incbin "graphics/pokemon/palettes/omastar_palette.gbapal.lz" + .incbin "graphics/pokemon/omastar/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_omastar_back_pic:: @ 8D8F7A4 - .incbin "graphics/pokemon/back_pics/omastar_back_pic.4bpp.lz" + .incbin "graphics/pokemon/omastar/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_omastar_shiny_palette:: @ 8D8FAE4 - .incbin "graphics/pokemon/palettes/omastar_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/omastar/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_omastar_icon:: @ 8D8FB0C - .incbin "graphics/pokemon/icons/omastar_icon.4bpp" + .incbin "graphics/pokemon/omastar/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_omastar_footprint:: @ 8D8FF0C - .incbin "graphics/pokemon/footprints/omastar_footprint.1bpp" + .incbin "graphics/pokemon/omastar/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_kabuto_still_front_pic:: @ 8D8FF2C - .incbin "graphics/pokemon/front_pics/kabuto_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/kabuto/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_kabuto_palette:: @ 8D90154 - .incbin "graphics/pokemon/palettes/kabuto_palette.gbapal.lz" + .incbin "graphics/pokemon/kabuto/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_kabuto_back_pic:: @ 8D9017C - .incbin "graphics/pokemon/back_pics/kabuto_back_pic.4bpp.lz" + .incbin "graphics/pokemon/kabuto/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_kabuto_shiny_palette:: @ 8D90414 - .incbin "graphics/pokemon/palettes/kabuto_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/kabuto/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_kabuto_icon:: @ 8D9043C - .incbin "graphics/pokemon/icons/kabuto_icon.4bpp" + .incbin "graphics/pokemon/kabuto/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_kabuto_footprint:: @ 8D9083C - .incbin "graphics/pokemon/footprints/kabuto_footprint.1bpp" + .incbin "graphics/pokemon/kabuto/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_kabutops_still_front_pic:: @ 8D9085C - .incbin "graphics/pokemon/front_pics/kabutops_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/kabutops/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_kabutops_palette:: @ 8D90C6C - .incbin "graphics/pokemon/palettes/kabutops_palette.gbapal.lz" + .incbin "graphics/pokemon/kabutops/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_kabutops_back_pic:: @ 8D90C90 - .incbin "graphics/pokemon/back_pics/kabutops_back_pic.4bpp.lz" + .incbin "graphics/pokemon/kabutops/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_kabutops_shiny_palette:: @ 8D91034 - .incbin "graphics/pokemon/palettes/kabutops_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/kabutops/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_kabutops_icon:: @ 8D91058 - .incbin "graphics/pokemon/icons/kabutops_icon.4bpp" + .incbin "graphics/pokemon/kabutops/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_kabutops_footprint:: @ 8D91458 - .incbin "graphics/pokemon/footprints/kabutops_footprint.1bpp" + .incbin "graphics/pokemon/kabutops/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_aerodactyl_still_front_pic:: @ 8D91478 - .incbin "graphics/pokemon/front_pics/aerodactyl_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/aerodactyl/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_aerodactyl_palette:: @ 8D918C8 - .incbin "graphics/pokemon/palettes/aerodactyl_palette.gbapal.lz" + .incbin "graphics/pokemon/aerodactyl/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_aerodactyl_back_pic:: @ 8D918F0 - .incbin "graphics/pokemon/back_pics/aerodactyl_back_pic.4bpp.lz" + .incbin "graphics/pokemon/aerodactyl/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_aerodactyl_shiny_palette:: @ 8D91BF4 - .incbin "graphics/pokemon/palettes/aerodactyl_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/aerodactyl/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_aerodactyl_icon:: @ 8D91C1C - .incbin "graphics/pokemon/icons/aerodactyl_icon.4bpp" + .incbin "graphics/pokemon/aerodactyl/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_aerodactyl_footprint:: @ 8D9201C - .incbin "graphics/pokemon/footprints/aerodactyl_footprint.1bpp" + .incbin "graphics/pokemon/aerodactyl/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_snorlax_still_front_pic:: @ 8D9203C - .incbin "graphics/pokemon/front_pics/snorlax_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/snorlax/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_snorlax_palette:: @ 8D92410 - .incbin "graphics/pokemon/palettes/snorlax_palette.gbapal.lz" + .incbin "graphics/pokemon/snorlax/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_snorlax_back_pic:: @ 8D92438 - .incbin "graphics/pokemon/back_pics/snorlax_back_pic.4bpp.lz" + .incbin "graphics/pokemon/snorlax/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_snorlax_shiny_palette:: @ 8D92654 - .incbin "graphics/pokemon/palettes/snorlax_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/snorlax/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_snorlax_icon:: @ 8D9267C - .incbin "graphics/pokemon/icons/snorlax_icon.4bpp" + .incbin "graphics/pokemon/snorlax/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_snorlax_footprint:: @ 8D92A7C - .incbin "graphics/pokemon/footprints/snorlax_footprint.1bpp" + .incbin "graphics/pokemon/snorlax/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_articuno_still_front_pic:: @ 8D92A9C - .incbin "graphics/pokemon/front_pics/articuno_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/articuno/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_articuno_palette:: @ 8D92F94 - .incbin "graphics/pokemon/palettes/articuno_palette.gbapal.lz" + .incbin "graphics/pokemon/articuno/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_articuno_back_pic:: @ 8D92FBC - .incbin "graphics/pokemon/back_pics/articuno_back_pic.4bpp.lz" + .incbin "graphics/pokemon/articuno/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_articuno_shiny_palette:: @ 8D93218 - .incbin "graphics/pokemon/palettes/articuno_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/articuno/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_articuno_icon:: @ 8D93240 - .incbin "graphics/pokemon/icons/articuno_icon.4bpp" + .incbin "graphics/pokemon/articuno/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_articuno_footprint:: @ 8D93640 - .incbin "graphics/pokemon/footprints/articuno_footprint.1bpp" + .incbin "graphics/pokemon/articuno/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_zapdos_still_front_pic:: @ 8D93660 - .incbin "graphics/pokemon/front_pics/zapdos_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/zapdos/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_zapdos_palette:: @ 8D93AB0 - .incbin "graphics/pokemon/palettes/zapdos_palette.gbapal.lz" + .incbin "graphics/pokemon/zapdos/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_zapdos_back_pic:: @ 8D93AD8 - .incbin "graphics/pokemon/back_pics/zapdos_back_pic.4bpp.lz" + .incbin "graphics/pokemon/zapdos/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_zapdos_shiny_palette:: @ 8D93E14 - .incbin "graphics/pokemon/palettes/zapdos_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/zapdos/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_zapdos_icon:: @ 8D93E3C - .incbin "graphics/pokemon/icons/zapdos_icon.4bpp" + .incbin "graphics/pokemon/zapdos/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_zapdos_footprint:: @ 8D9423C - .incbin "graphics/pokemon/footprints/zapdos_footprint.1bpp" + .incbin "graphics/pokemon/zapdos/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_moltres_still_front_pic:: @ 8D9425C - .incbin "graphics/pokemon/front_pics/moltres_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/moltres/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_moltres_palette:: @ 8D94728 - .incbin "graphics/pokemon/palettes/moltres_palette.gbapal.lz" + .incbin "graphics/pokemon/moltres/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_moltres_back_pic:: @ 8D94750 - .incbin "graphics/pokemon/back_pics/moltres_back_pic.4bpp.lz" + .incbin "graphics/pokemon/moltres/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_moltres_shiny_palette:: @ 8D94A8C - .incbin "graphics/pokemon/palettes/moltres_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/moltres/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_moltres_icon:: @ 8D94AB4 - .incbin "graphics/pokemon/icons/moltres_icon.4bpp" + .incbin "graphics/pokemon/moltres/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_moltres_footprint:: @ 8D94EB4 - .incbin "graphics/pokemon/footprints/moltres_footprint.1bpp" + .incbin "graphics/pokemon/moltres/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_dratini_still_front_pic:: @ 8D94ED4 - .incbin "graphics/pokemon/front_pics/dratini_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/dratini/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_dratini_palette:: @ 8D95190 - .incbin "graphics/pokemon/palettes/dratini_palette.gbapal.lz" + .incbin "graphics/pokemon/dratini/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_dratini_back_pic:: @ 8D951B4 - .incbin "graphics/pokemon/back_pics/dratini_back_pic.4bpp.lz" + .incbin "graphics/pokemon/dratini/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_dratini_shiny_palette:: @ 8D95444 - .incbin "graphics/pokemon/palettes/dratini_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/dratini/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_dratini_icon:: @ 8D95468 - .incbin "graphics/pokemon/icons/dratini_icon.4bpp" + .incbin "graphics/pokemon/dratini/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_dratini_footprint:: @ 8D95868 - .incbin "graphics/pokemon/footprints/dratini_footprint.1bpp" + .incbin "graphics/pokemon/dratini/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_dragonair_still_front_pic:: @ 8D95888 - .incbin "graphics/pokemon/front_pics/dragonair_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/dragonair/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_dragonair_palette:: @ 8D95C20 - .incbin "graphics/pokemon/palettes/dragonair_palette.gbapal.lz" + .incbin "graphics/pokemon/dragonair/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_dragonair_back_pic:: @ 8D95C48 - .incbin "graphics/pokemon/back_pics/dragonair_back_pic.4bpp.lz" + .incbin "graphics/pokemon/dragonair/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_dragonair_shiny_palette:: @ 8D95F58 - .incbin "graphics/pokemon/palettes/dragonair_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/dragonair/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_dragonair_icon:: @ 8D95F80 - .incbin "graphics/pokemon/icons/dragonair_icon.4bpp" + .incbin "graphics/pokemon/dragonair/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_dragonair_footprint:: @ 8D96380 - .incbin "graphics/pokemon/footprints/dragonair_footprint.1bpp" + .incbin "graphics/pokemon/dragonair/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_dragonite_still_front_pic:: @ 8D963A0 - .incbin "graphics/pokemon/front_pics/dragonite_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/dragonite/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_dragonite_palette:: @ 8D968F0 - .incbin "graphics/pokemon/palettes/dragonite_palette.gbapal.lz" + .incbin "graphics/pokemon/dragonite/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_dragonite_back_pic:: @ 8D96918 - .incbin "graphics/pokemon/back_pics/dragonite_back_pic.4bpp.lz" + .incbin "graphics/pokemon/dragonite/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_dragonite_shiny_palette:: @ 8D96C10 - .incbin "graphics/pokemon/palettes/dragonite_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/dragonite/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_dragonite_icon:: @ 8D96C38 - .incbin "graphics/pokemon/icons/dragonite_icon.4bpp" + .incbin "graphics/pokemon/dragonite/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_dragonite_footprint:: @ 8D97038 - .incbin "graphics/pokemon/footprints/dragonite_footprint.1bpp" + .incbin "graphics/pokemon/dragonite/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_mewtwo_still_front_pic:: @ 8D97058 - .incbin "graphics/pokemon/front_pics/mewtwo_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/mewtwo/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_mewtwo_palette:: @ 8D97494 - .incbin "graphics/pokemon/palettes/mewtwo_palette.gbapal.lz" + .incbin "graphics/pokemon/mewtwo/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_mewtwo_back_pic:: @ 8D974B8 - .incbin "graphics/pokemon/back_pics/mewtwo_back_pic.4bpp.lz" + .incbin "graphics/pokemon/mewtwo/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_mewtwo_shiny_palette:: @ 8D97884 - .incbin "graphics/pokemon/palettes/mewtwo_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/mewtwo/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_mewtwo_icon:: @ 8D978A8 - .incbin "graphics/pokemon/icons/mewtwo_icon.4bpp" + .incbin "graphics/pokemon/mewtwo/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_mewtwo_footprint:: @ 8D97CA8 - .incbin "graphics/pokemon/footprints/mewtwo_footprint.1bpp" + .incbin "graphics/pokemon/mewtwo/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_mew_still_front_pic:: @ 8D97CC8 - .incbin "graphics/pokemon/front_pics/mew_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/mew/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_mew_palette:: @ 8D97F88 - .incbin "graphics/pokemon/palettes/mew_palette.gbapal.lz" + .incbin "graphics/pokemon/mew/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_mew_back_pic:: @ 8D97FAC - .incbin "graphics/pokemon/back_pics/mew_back_pic.4bpp.lz" + .incbin "graphics/pokemon/mew/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_mew_shiny_palette:: @ 8D982FC - .incbin "graphics/pokemon/palettes/mew_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/mew/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_mew_icon:: @ 8D98320 - .incbin "graphics/pokemon/icons/mew_icon.4bpp" + .incbin "graphics/pokemon/mew/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_mew_footprint:: @ 8D98720 - .incbin "graphics/pokemon/footprints/mew_footprint.1bpp" + .incbin "graphics/pokemon/mew/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_chikorita_still_front_pic:: @ 8D98740 - .incbin "graphics/pokemon/front_pics/chikorita_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/chikorita/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_chikorita_palette:: @ 8D989A8 - .incbin "graphics/pokemon/palettes/chikorita_palette.gbapal.lz" + .incbin "graphics/pokemon/chikorita/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_chikorita_back_pic:: @ 8D989D0 - .incbin "graphics/pokemon/back_pics/chikorita_back_pic.4bpp.lz" + .incbin "graphics/pokemon/chikorita/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_chikorita_shiny_palette:: @ 8D98C94 - .incbin "graphics/pokemon/palettes/chikorita_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/chikorita/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_chikorita_icon:: @ 8D98CBC - .incbin "graphics/pokemon/icons/chikorita_icon.4bpp" + .incbin "graphics/pokemon/chikorita/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_chikorita_footprint:: @ 8D990BC - .incbin "graphics/pokemon/footprints/chikorita_footprint.1bpp" + .incbin "graphics/pokemon/chikorita/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_bayleef_still_front_pic:: @ 8D990DC - .incbin "graphics/pokemon/front_pics/bayleef_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/bayleef/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_bayleef_palette:: @ 8D994B0 - .incbin "graphics/pokemon/palettes/bayleef_palette.gbapal.lz" + .incbin "graphics/pokemon/bayleef/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_bayleef_back_pic:: @ 8D994D8 - .incbin "graphics/pokemon/back_pics/bayleef_back_pic.4bpp.lz" + .incbin "graphics/pokemon/bayleef/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_bayleef_shiny_palette:: @ 8D99868 - .incbin "graphics/pokemon/palettes/bayleef_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/bayleef/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_bayleef_icon:: @ 8D99890 - .incbin "graphics/pokemon/icons/bayleef_icon.4bpp" + .incbin "graphics/pokemon/bayleef/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_bayleef_footprint:: @ 8D99C90 - .incbin "graphics/pokemon/footprints/bayleef_footprint.1bpp" + .incbin "graphics/pokemon/bayleef/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_meganium_still_front_pic:: @ 8D99CB0 - .incbin "graphics/pokemon/front_pics/meganium_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/meganium/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_meganium_palette:: @ 8D9A20C - .incbin "graphics/pokemon/palettes/meganium_palette.gbapal.lz" + .incbin "graphics/pokemon/meganium/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_meganium_back_pic:: @ 8D9A234 - .incbin "graphics/pokemon/back_pics/meganium_back_pic.4bpp.lz" + .incbin "graphics/pokemon/meganium/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_meganium_shiny_palette:: @ 8D9A584 - .incbin "graphics/pokemon/palettes/meganium_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/meganium/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_meganium_icon:: @ 8D9A5AC - .incbin "graphics/pokemon/icons/meganium_icon.4bpp" + .incbin "graphics/pokemon/meganium/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_meganium_footprint:: @ 8D9A9AC - .incbin "graphics/pokemon/footprints/meganium_footprint.1bpp" + .incbin "graphics/pokemon/meganium/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_cyndaquil_still_front_pic:: @ 8D9A9CC - .incbin "graphics/pokemon/front_pics/cyndaquil_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/cyndaquil/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_cyndaquil_palette:: @ 8D9AC58 - .incbin "graphics/pokemon/palettes/cyndaquil_palette.gbapal.lz" + .incbin "graphics/pokemon/cyndaquil/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_cyndaquil_back_pic:: @ 8D9AC80 - .incbin "graphics/pokemon/back_pics/cyndaquil_back_pic.4bpp.lz" + .incbin "graphics/pokemon/cyndaquil/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_cyndaquil_shiny_palette:: @ 8D9AFAC - .incbin "graphics/pokemon/palettes/cyndaquil_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/cyndaquil/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_cyndaquil_icon:: @ 8D9AFD4 - .incbin "graphics/pokemon/icons/cyndaquil_icon.4bpp" + .incbin "graphics/pokemon/cyndaquil/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_cyndaquil_footprint:: @ 8D9B3D4 - .incbin "graphics/pokemon/footprints/cyndaquil_footprint.1bpp" + .incbin "graphics/pokemon/cyndaquil/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_quilava_still_front_pic:: @ 8D9B3F4 - .incbin "graphics/pokemon/front_pics/quilava_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/quilava/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_quilava_palette:: @ 8D9B710 - .incbin "graphics/pokemon/palettes/quilava_palette.gbapal.lz" + .incbin "graphics/pokemon/quilava/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_quilava_back_pic:: @ 8D9B738 - .incbin "graphics/pokemon/back_pics/quilava_back_pic.4bpp.lz" + .incbin "graphics/pokemon/quilava/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_quilava_shiny_palette:: @ 8D9BAAC - .incbin "graphics/pokemon/palettes/quilava_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/quilava/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_quilava_icon:: @ 8D9BAD4 - .incbin "graphics/pokemon/icons/quilava_icon.4bpp" + .incbin "graphics/pokemon/quilava/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_quilava_footprint:: @ 8D9BED4 - .incbin "graphics/pokemon/footprints/quilava_footprint.1bpp" + .incbin "graphics/pokemon/quilava/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_typhlosion_still_front_pic:: @ 8D9BEF4 - .incbin "graphics/pokemon/front_pics/typhlosion_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/typhlosion/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_typhlosion_palette:: @ 8D9C31C - .incbin "graphics/pokemon/palettes/typhlosion_palette.gbapal.lz" + .incbin "graphics/pokemon/typhlosion/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_typhlosion_back_pic:: @ 8D9C344 - .incbin "graphics/pokemon/back_pics/typhlosion_back_pic.4bpp.lz" + .incbin "graphics/pokemon/typhlosion/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_typhlosion_shiny_palette:: @ 8D9C748 - .incbin "graphics/pokemon/palettes/typhlosion_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/typhlosion/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_typhlosion_icon:: @ 8D9C770 - .incbin "graphics/pokemon/icons/typhlosion_icon.4bpp" + .incbin "graphics/pokemon/typhlosion/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_typhlosion_footprint:: @ 8D9CB70 - .incbin "graphics/pokemon/footprints/typhlosion_footprint.1bpp" + .incbin "graphics/pokemon/typhlosion/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_totodile_still_front_pic:: @ 8D9CB90 - .incbin "graphics/pokemon/front_pics/totodile_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/totodile/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_totodile_palette:: @ 8D9CE34 - .incbin "graphics/pokemon/palettes/totodile_palette.gbapal.lz" + .incbin "graphics/pokemon/totodile/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_totodile_back_pic:: @ 8D9CE5C - .incbin "graphics/pokemon/back_pics/totodile_back_pic.4bpp.lz" + .incbin "graphics/pokemon/totodile/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_totodile_shiny_palette:: @ 8D9D13C - .incbin "graphics/pokemon/palettes/totodile_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/totodile/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_totodile_icon:: @ 8D9D164 - .incbin "graphics/pokemon/icons/totodile_icon.4bpp" + .incbin "graphics/pokemon/totodile/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_totodile_footprint:: @ 8D9D564 - .incbin "graphics/pokemon/footprints/totodile_footprint.1bpp" + .incbin "graphics/pokemon/totodile/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_croconaw_still_front_pic:: @ 8D9D584 - .incbin "graphics/pokemon/front_pics/croconaw_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/croconaw/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_croconaw_palette:: @ 8D9D8EC - .incbin "graphics/pokemon/palettes/croconaw_palette.gbapal.lz" + .incbin "graphics/pokemon/croconaw/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_croconaw_back_pic:: @ 8D9D914 - .incbin "graphics/pokemon/back_pics/croconaw_back_pic.4bpp.lz" + .incbin "graphics/pokemon/croconaw/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_croconaw_shiny_palette:: @ 8D9DC64 - .incbin "graphics/pokemon/palettes/croconaw_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/croconaw/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_croconaw_icon:: @ 8D9DC8C - .incbin "graphics/pokemon/icons/croconaw_icon.4bpp" + .incbin "graphics/pokemon/croconaw/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_croconaw_footprint:: @ 8D9E08C - .incbin "graphics/pokemon/footprints/croconaw_footprint.1bpp" + .incbin "graphics/pokemon/croconaw/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_feraligatr_still_front_pic:: @ 8D9E0AC - .incbin "graphics/pokemon/front_pics/feraligatr_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/feraligatr/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_feraligatr_palette:: @ 8D9E618 - .incbin "graphics/pokemon/palettes/feraligatr_palette.gbapal.lz" + .incbin "graphics/pokemon/feraligatr/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_feraligatr_back_pic:: @ 8D9E640 - .incbin "graphics/pokemon/back_pics/feraligatr_back_pic.4bpp.lz" + .incbin "graphics/pokemon/feraligatr/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_feraligatr_shiny_palette:: @ 8D9EB0C - .incbin "graphics/pokemon/palettes/feraligatr_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/feraligatr/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_feraligatr_icon:: @ 8D9EB34 - .incbin "graphics/pokemon/icons/feraligatr_icon.4bpp" + .incbin "graphics/pokemon/feraligatr/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_feraligatr_footprint:: @ 8D9EF34 - .incbin "graphics/pokemon/footprints/feraligatr_footprint.1bpp" + .incbin "graphics/pokemon/feraligatr/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_sentret_still_front_pic:: @ 8D9EF54 - .incbin "graphics/pokemon/front_pics/sentret_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/sentret/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_sentret_palette:: @ 8D9F230 - .incbin "graphics/pokemon/palettes/sentret_palette.gbapal.lz" + .incbin "graphics/pokemon/sentret/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_sentret_back_pic:: @ 8D9F258 - .incbin "graphics/pokemon/back_pics/sentret_back_pic.4bpp.lz" + .incbin "graphics/pokemon/sentret/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_sentret_shiny_palette:: @ 8D9F4FC - .incbin "graphics/pokemon/palettes/sentret_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/sentret/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_sentret_icon:: @ 8D9F524 - .incbin "graphics/pokemon/icons/sentret_icon.4bpp" + .incbin "graphics/pokemon/sentret/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_sentret_footprint:: @ 8D9F924 - .incbin "graphics/pokemon/footprints/sentret_footprint.1bpp" + .incbin "graphics/pokemon/sentret/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_furret_still_front_pic:: @ 8D9F944 - .incbin "graphics/pokemon/front_pics/furret_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/furret/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_furret_palette:: @ 8D9FC78 - .incbin "graphics/pokemon/palettes/furret_palette.gbapal.lz" + .incbin "graphics/pokemon/furret/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_furret_back_pic:: @ 8D9FCA0 - .incbin "graphics/pokemon/back_pics/furret_back_pic.4bpp.lz" + .incbin "graphics/pokemon/furret/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_furret_shiny_palette:: @ 8D9FFC8 - .incbin "graphics/pokemon/palettes/furret_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/furret/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_furret_icon:: @ 8D9FFF0 - .incbin "graphics/pokemon/icons/furret_icon.4bpp" + .incbin "graphics/pokemon/furret/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_furret_footprint:: @ 8DA03F0 - .incbin "graphics/pokemon/footprints/furret_footprint.1bpp" + .incbin "graphics/pokemon/furret/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_hoothoot_still_front_pic:: @ 8DA0410 - .incbin "graphics/pokemon/front_pics/hoothoot_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/hoothoot/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_hoothoot_palette:: @ 8DA0694 - .incbin "graphics/pokemon/palettes/hoothoot_palette.gbapal.lz" + .incbin "graphics/pokemon/hoothoot/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_hoothoot_back_pic:: @ 8DA06BC - .incbin "graphics/pokemon/back_pics/hoothoot_back_pic.4bpp.lz" + .incbin "graphics/pokemon/hoothoot/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_hoothoot_shiny_palette:: @ 8DA09C4 - .incbin "graphics/pokemon/palettes/hoothoot_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/hoothoot/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_hoothoot_icon:: @ 8DA09EC - .incbin "graphics/pokemon/icons/hoothoot_icon.4bpp" + .incbin "graphics/pokemon/hoothoot/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_hoothoot_footprint:: @ 8DA0DEC - .incbin "graphics/pokemon/footprints/hoothoot_footprint.1bpp" + .incbin "graphics/pokemon/hoothoot/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_noctowl_still_front_pic:: @ 8DA0E0C - .incbin "graphics/pokemon/front_pics/noctowl_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/noctowl/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_noctowl_palette:: @ 8DA1160 - .incbin "graphics/pokemon/palettes/noctowl_palette.gbapal.lz" + .incbin "graphics/pokemon/noctowl/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_noctowl_back_pic:: @ 8DA1188 - .incbin "graphics/pokemon/back_pics/noctowl_back_pic.4bpp.lz" + .incbin "graphics/pokemon/noctowl/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_noctowl_shiny_palette:: @ 8DA14E4 - .incbin "graphics/pokemon/palettes/noctowl_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/noctowl/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_noctowl_icon:: @ 8DA150C - .incbin "graphics/pokemon/icons/noctowl_icon.4bpp" + .incbin "graphics/pokemon/noctowl/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_noctowl_footprint:: @ 8DA190C - .incbin "graphics/pokemon/footprints/noctowl_footprint.1bpp" + .incbin "graphics/pokemon/noctowl/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_ledyba_still_front_pic:: @ 8DA192C - .incbin "graphics/pokemon/front_pics/ledyba_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/ledyba/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_ledyba_palette:: @ 8DA1C20 - .incbin "graphics/pokemon/palettes/ledyba_palette.gbapal.lz" + .incbin "graphics/pokemon/ledyba/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_ledyba_back_pic:: @ 8DA1C48 - .incbin "graphics/pokemon/back_pics/ledyba_back_pic.4bpp.lz" + .incbin "graphics/pokemon/ledyba/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_ledyba_shiny_palette:: @ 8DA1F78 - .incbin "graphics/pokemon/palettes/ledyba_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/ledyba/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_ledyba_icon:: @ 8DA1FA0 - .incbin "graphics/pokemon/icons/ledyba_icon.4bpp" + .incbin "graphics/pokemon/ledyba/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_ledyba_footprint:: @ 8DA23A0 - .incbin "graphics/pokemon/footprints/ledyba_footprint.1bpp" + .incbin "graphics/pokemon/ledyba/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_ledian_still_front_pic:: @ 8DA23C0 - .incbin "graphics/pokemon/front_pics/ledian_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/ledian/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_ledian_palette:: @ 8DA2748 - .incbin "graphics/pokemon/palettes/ledian_palette.gbapal.lz" + .incbin "graphics/pokemon/ledian/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_ledian_back_pic:: @ 8DA2770 - .incbin "graphics/pokemon/back_pics/ledian_back_pic.4bpp.lz" + .incbin "graphics/pokemon/ledian/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_ledian_shiny_palette:: @ 8DA2AC8 - .incbin "graphics/pokemon/palettes/ledian_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/ledian/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_ledian_icon:: @ 8DA2AF0 - .incbin "graphics/pokemon/icons/ledian_icon.4bpp" + .incbin "graphics/pokemon/ledian/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_ledian_footprint:: @ 8DA2EF0 - .incbin "graphics/pokemon/footprints/ledian_footprint.1bpp" + .incbin "graphics/pokemon/ledian/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_spinarak_still_front_pic:: @ 8DA2F10 - .incbin "graphics/pokemon/front_pics/spinarak_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/spinarak/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_spinarak_palette:: @ 8DA3184 - .incbin "graphics/pokemon/palettes/spinarak_palette.gbapal.lz" + .incbin "graphics/pokemon/spinarak/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_spinarak_back_pic:: @ 8DA31AC - .incbin "graphics/pokemon/back_pics/spinarak_back_pic.4bpp.lz" + .incbin "graphics/pokemon/spinarak/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_spinarak_shiny_palette:: @ 8DA3410 - .incbin "graphics/pokemon/palettes/spinarak_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/spinarak/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_spinarak_icon:: @ 8DA3438 - .incbin "graphics/pokemon/icons/spinarak_icon.4bpp" + .incbin "graphics/pokemon/spinarak/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_spinarak_footprint:: @ 8DA3838 - .incbin "graphics/pokemon/footprints/spinarak_footprint.1bpp" + .incbin "graphics/pokemon/spinarak/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_ariados_still_front_pic:: @ 8DA3858 - .incbin "graphics/pokemon/front_pics/ariados_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/ariados/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_ariados_palette:: @ 8DA3C18 - .incbin "graphics/pokemon/palettes/ariados_palette.gbapal.lz" + .incbin "graphics/pokemon/ariados/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_ariados_back_pic:: @ 8DA3C40 - .incbin "graphics/pokemon/back_pics/ariados_back_pic.4bpp.lz" + .incbin "graphics/pokemon/ariados/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_ariados_shiny_palette:: @ 8DA3FB8 - .incbin "graphics/pokemon/palettes/ariados_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/ariados/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_ariados_icon:: @ 8DA3FE0 - .incbin "graphics/pokemon/icons/ariados_icon.4bpp" + .incbin "graphics/pokemon/ariados/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_ariados_footprint:: @ 8DA43E0 - .incbin "graphics/pokemon/footprints/ariados_footprint.1bpp" + .incbin "graphics/pokemon/ariados/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_crobat_still_front_pic:: @ 8DA4400 - .incbin "graphics/pokemon/front_pics/crobat_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/crobat/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_crobat_palette:: @ 8DA47B0 - .incbin "graphics/pokemon/palettes/crobat_palette.gbapal.lz" + .incbin "graphics/pokemon/crobat/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_crobat_back_pic:: @ 8DA47D8 - .incbin "graphics/pokemon/back_pics/crobat_back_pic.4bpp.lz" + .incbin "graphics/pokemon/crobat/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_crobat_shiny_palette:: @ 8DA4AE0 - .incbin "graphics/pokemon/palettes/crobat_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/crobat/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_crobat_icon:: @ 8DA4B08 - .incbin "graphics/pokemon/icons/crobat_icon.4bpp" + .incbin "graphics/pokemon/crobat/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_crobat_footprint:: @ 8DA4F08 - .incbin "graphics/pokemon/footprints/crobat_footprint.1bpp" + .incbin "graphics/pokemon/crobat/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_chinchou_still_front_pic:: @ 8DA4F28 - .incbin "graphics/pokemon/front_pics/chinchou_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/chinchou/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_chinchou_palette:: @ 8DA5200 - .incbin "graphics/pokemon/palettes/chinchou_palette.gbapal.lz" + .incbin "graphics/pokemon/chinchou/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_chinchou_back_pic:: @ 8DA5228 - .incbin "graphics/pokemon/back_pics/chinchou_back_pic.4bpp.lz" + .incbin "graphics/pokemon/chinchou/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_chinchou_shiny_palette:: @ 8DA5520 - .incbin "graphics/pokemon/palettes/chinchou_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/chinchou/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_chinchou_icon:: @ 8DA5548 - .incbin "graphics/pokemon/icons/chinchou_icon.4bpp" + .incbin "graphics/pokemon/chinchou/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_chinchou_footprint:: @ 8DA5948 - .incbin "graphics/pokemon/footprints/chinchou_footprint.1bpp" + .incbin "graphics/pokemon/chinchou/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_lanturn_still_front_pic:: @ 8DA5968 - .incbin "graphics/pokemon/front_pics/lanturn_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/lanturn/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_lanturn_palette:: @ 8DA5CD8 - .incbin "graphics/pokemon/palettes/lanturn_palette.gbapal.lz" + .incbin "graphics/pokemon/lanturn/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_lanturn_back_pic:: @ 8DA5D00 - .incbin "graphics/pokemon/back_pics/lanturn_back_pic.4bpp.lz" + .incbin "graphics/pokemon/lanturn/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_lanturn_shiny_palette:: @ 8DA6000 - .incbin "graphics/pokemon/palettes/lanturn_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/lanturn/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_lanturn_icon:: @ 8DA6028 - .incbin "graphics/pokemon/icons/lanturn_icon.4bpp" + .incbin "graphics/pokemon/lanturn/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_lanturn_footprint:: @ 8DA6428 - .incbin "graphics/pokemon/footprints/lanturn_footprint.1bpp" + .incbin "graphics/pokemon/lanturn/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_pichu_still_front_pic:: @ 8DA6448 - .incbin "graphics/pokemon/front_pics/pichu_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/pichu/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_pichu_palette:: @ 8DA6664 - .incbin "graphics/pokemon/palettes/pichu_palette.gbapal.lz" + .incbin "graphics/pokemon/pichu/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_pichu_back_pic:: @ 8DA668C - .incbin "graphics/pokemon/back_pics/pichu_back_pic.4bpp.lz" + .incbin "graphics/pokemon/pichu/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_pichu_shiny_palette:: @ 8DA68E8 - .incbin "graphics/pokemon/palettes/pichu_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/pichu/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_pichu_icon:: @ 8DA6910 - .incbin "graphics/pokemon/icons/pichu_icon.4bpp" + .incbin "graphics/pokemon/pichu/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_pichu_footprint:: @ 8DA6D10 - .incbin "graphics/pokemon/footprints/pichu_footprint.1bpp" + .incbin "graphics/pokemon/pichu/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_cleffa_still_front_pic:: @ 8DA6D30 - .incbin "graphics/pokemon/front_pics/cleffa_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/cleffa/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_cleffa_palette:: @ 8DA6F10 - .incbin "graphics/pokemon/palettes/cleffa_palette.gbapal.lz" + .incbin "graphics/pokemon/cleffa/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_cleffa_back_pic:: @ 8DA6F38 - .incbin "graphics/pokemon/back_pics/cleffa_back_pic.4bpp.lz" + .incbin "graphics/pokemon/cleffa/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_cleffa_shiny_palette:: @ 8DA7174 - .incbin "graphics/pokemon/palettes/cleffa_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/cleffa/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_cleffa_icon:: @ 8DA719C - .incbin "graphics/pokemon/icons/cleffa_icon.4bpp" + .incbin "graphics/pokemon/cleffa/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_cleffa_footprint:: @ 8DA759C - .incbin "graphics/pokemon/footprints/cleffa_footprint.1bpp" + .incbin "graphics/pokemon/cleffa/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_igglybuff_still_front_pic:: @ 8DA75BC - .incbin "graphics/pokemon/front_pics/igglybuff_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/igglybuff/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_igglybuff_palette:: @ 8DA77A4 - .incbin "graphics/pokemon/palettes/igglybuff_palette.gbapal.lz" + .incbin "graphics/pokemon/igglybuff/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_igglybuff_back_pic:: @ 8DA77CC - .incbin "graphics/pokemon/back_pics/igglybuff_back_pic.4bpp.lz" + .incbin "graphics/pokemon/igglybuff/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_igglybuff_shiny_palette:: @ 8DA7A08 - .incbin "graphics/pokemon/palettes/igglybuff_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/igglybuff/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_igglybuff_icon:: @ 8DA7A30 - .incbin "graphics/pokemon/icons/igglybuff_icon.4bpp" + .incbin "graphics/pokemon/igglybuff/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_igglybuff_footprint:: @ 8DA7E30 - .incbin "graphics/pokemon/footprints/igglybuff_footprint.1bpp" + .incbin "graphics/pokemon/igglybuff/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_togepi_still_front_pic:: @ 8DA7E50 - .incbin "graphics/pokemon/front_pics/togepi_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/togepi/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_togepi_palette:: @ 8DA8024 - .incbin "graphics/pokemon/palettes/togepi_palette.gbapal.lz" + .incbin "graphics/pokemon/togepi/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_togepi_back_pic:: @ 8DA804C - .incbin "graphics/pokemon/back_pics/togepi_back_pic.4bpp.lz" + .incbin "graphics/pokemon/togepi/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_togepi_shiny_palette:: @ 8DA82C0 - .incbin "graphics/pokemon/palettes/togepi_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/togepi/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_togepi_icon:: @ 8DA82E8 - .incbin "graphics/pokemon/icons/togepi_icon.4bpp" + .incbin "graphics/pokemon/togepi/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_togepi_footprint:: @ 8DA86E8 - .incbin "graphics/pokemon/footprints/togepi_footprint.1bpp" + .incbin "graphics/pokemon/togepi/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_togetic_still_front_pic:: @ 8DA8708 - .incbin "graphics/pokemon/front_pics/togetic_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/togetic/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_togetic_palette:: @ 8DA897C - .incbin "graphics/pokemon/palettes/togetic_palette.gbapal.lz" + .incbin "graphics/pokemon/togetic/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_togetic_back_pic:: @ 8DA89A4 - .incbin "graphics/pokemon/back_pics/togetic_back_pic.4bpp.lz" + .incbin "graphics/pokemon/togetic/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_togetic_shiny_palette:: @ 8DA8CD0 - .incbin "graphics/pokemon/palettes/togetic_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/togetic/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_togetic_icon:: @ 8DA8CF8 - .incbin "graphics/pokemon/icons/togetic_icon.4bpp" + .incbin "graphics/pokemon/togetic/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_togetic_footprint:: @ 8DA90F8 - .incbin "graphics/pokemon/footprints/togetic_footprint.1bpp" + .incbin "graphics/pokemon/togetic/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_natu_still_front_pic:: @ 8DA9118 - .incbin "graphics/pokemon/front_pics/natu_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/natu/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_natu_palette:: @ 8DA92E4 - .incbin "graphics/pokemon/palettes/natu_palette.gbapal.lz" + .incbin "graphics/pokemon/natu/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_natu_back_pic:: @ 8DA930C - .incbin "graphics/pokemon/back_pics/natu_back_pic.4bpp.lz" + .incbin "graphics/pokemon/natu/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_natu_shiny_palette:: @ 8DA9520 - .incbin "graphics/pokemon/palettes/natu_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/natu/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_natu_icon:: @ 8DA9548 - .incbin "graphics/pokemon/icons/natu_icon.4bpp" + .incbin "graphics/pokemon/natu/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_natu_footprint:: @ 8DA9948 - .incbin "graphics/pokemon/footprints/natu_footprint.1bpp" + .incbin "graphics/pokemon/natu/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_xatu_still_front_pic:: @ 8DA9968 - .incbin "graphics/pokemon/front_pics/xatu_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/xatu/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_xatu_palette:: @ 8DA9C44 - .incbin "graphics/pokemon/palettes/xatu_palette.gbapal.lz" + .incbin "graphics/pokemon/xatu/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_xatu_back_pic:: @ 8DA9C6C - .incbin "graphics/pokemon/back_pics/xatu_back_pic.4bpp.lz" + .incbin "graphics/pokemon/xatu/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_xatu_shiny_palette:: @ 8DA9FE4 - .incbin "graphics/pokemon/palettes/xatu_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/xatu/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_xatu_icon:: @ 8DAA00C - .incbin "graphics/pokemon/icons/xatu_icon.4bpp" + .incbin "graphics/pokemon/xatu/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_xatu_footprint:: @ 8DAA40C - .incbin "graphics/pokemon/footprints/xatu_footprint.1bpp" + .incbin "graphics/pokemon/xatu/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_mareep_still_front_pic:: @ 8DAA42C - .incbin "graphics/pokemon/front_pics/mareep_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/mareep/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_mareep_palette:: @ 8DAA6E0 - .incbin "graphics/pokemon/palettes/mareep_palette.gbapal.lz" + .incbin "graphics/pokemon/mareep/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_mareep_back_pic:: @ 8DAA708 - .incbin "graphics/pokemon/back_pics/mareep_back_pic.4bpp.lz" + .incbin "graphics/pokemon/mareep/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_mareep_shiny_palette:: @ 8DAA9FC - .incbin "graphics/pokemon/palettes/mareep_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/mareep/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_mareep_icon:: @ 8DAAA24 - .incbin "graphics/pokemon/icons/mareep_icon.4bpp" + .incbin "graphics/pokemon/mareep/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_mareep_footprint:: @ 8DAAE24 - .incbin "graphics/pokemon/footprints/mareep_footprint.1bpp" + .incbin "graphics/pokemon/mareep/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_flaaffy_still_front_pic:: @ 8DAAE44 - .incbin "graphics/pokemon/front_pics/flaaffy_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/flaaffy/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_flaaffy_palette:: @ 8DAB144 - .incbin "graphics/pokemon/palettes/flaaffy_palette.gbapal.lz" + .incbin "graphics/pokemon/flaaffy/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_flaaffy_back_pic:: @ 8DAB16C - .incbin "graphics/pokemon/back_pics/flaaffy_back_pic.4bpp.lz" + .incbin "graphics/pokemon/flaaffy/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_flaaffy_shiny_palette:: @ 8DAB488 - .incbin "graphics/pokemon/palettes/flaaffy_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/flaaffy/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_flaaffy_icon:: @ 8DAB4B0 - .incbin "graphics/pokemon/icons/flaaffy_icon.4bpp" + .incbin "graphics/pokemon/flaaffy/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_flaaffy_footprint:: @ 8DAB8B0 - .incbin "graphics/pokemon/footprints/flaaffy_footprint.1bpp" + .incbin "graphics/pokemon/flaaffy/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_ampharos_still_front_pic:: @ 8DAB8D0 - .incbin "graphics/pokemon/front_pics/ampharos_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/ampharos/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_ampharos_palette:: @ 8DABC2C - .incbin "graphics/pokemon/palettes/ampharos_palette.gbapal.lz" + .incbin "graphics/pokemon/ampharos/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_ampharos_back_pic:: @ 8DABC54 - .incbin "graphics/pokemon/back_pics/ampharos_back_pic.4bpp.lz" + .incbin "graphics/pokemon/ampharos/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_ampharos_shiny_palette:: @ 8DABFCC - .incbin "graphics/pokemon/palettes/ampharos_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/ampharos/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_ampharos_icon:: @ 8DABFF4 - .incbin "graphics/pokemon/icons/ampharos_icon.4bpp" + .incbin "graphics/pokemon/ampharos/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_ampharos_footprint:: @ 8DAC3F4 - .incbin "graphics/pokemon/footprints/ampharos_footprint.1bpp" + .incbin "graphics/pokemon/ampharos/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_bellossom_still_front_pic:: @ 8DAC414 - .incbin "graphics/pokemon/front_pics/bellossom_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/bellossom/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_bellossom_palette:: @ 8DAC684 - .incbin "graphics/pokemon/palettes/bellossom_palette.gbapal.lz" + .incbin "graphics/pokemon/bellossom/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_bellossom_back_pic:: @ 8DAC6AC - .incbin "graphics/pokemon/back_pics/bellossom_back_pic.4bpp.lz" + .incbin "graphics/pokemon/bellossom/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_bellossom_shiny_palette:: @ 8DAC9D0 - .incbin "graphics/pokemon/palettes/bellossom_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/bellossom/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_bellossom_icon:: @ 8DAC9F8 - .incbin "graphics/pokemon/icons/bellossom_icon.4bpp" + .incbin "graphics/pokemon/bellossom/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_bellossom_footprint:: @ 8DACDF8 - .incbin "graphics/pokemon/footprints/bellossom_footprint.1bpp" + .incbin "graphics/pokemon/bellossom/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_marill_still_front_pic:: @ 8DACE18 - .incbin "graphics/pokemon/front_pics/marill_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/marill/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_marill_palette:: @ 8DAD0DC - .incbin "graphics/pokemon/palettes/marill_palette.gbapal.lz" + .incbin "graphics/pokemon/marill/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_marill_back_pic:: @ 8DAD104 - .incbin "graphics/pokemon/back_pics/marill_back_pic.4bpp.lz" + .incbin "graphics/pokemon/marill/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_marill_shiny_palette:: @ 8DAD3B0 - .incbin "graphics/pokemon/palettes/marill_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/marill/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_marill_icon:: @ 8DAD3D8 - .incbin "graphics/pokemon/icons/marill_icon.4bpp" + .incbin "graphics/pokemon/marill/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_marill_footprint:: @ 8DAD7D8 - .incbin "graphics/pokemon/footprints/marill_footprint.1bpp" + .incbin "graphics/pokemon/marill/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_azumarill_still_front_pic:: @ 8DAD7F8 - .incbin "graphics/pokemon/front_pics/azumarill_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/azumarill/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_azumarill_palette:: @ 8DADAF8 - .incbin "graphics/pokemon/palettes/azumarill_palette.gbapal.lz" + .incbin "graphics/pokemon/azumarill/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_azumarill_back_pic:: @ 8DADB20 - .incbin "graphics/pokemon/back_pics/azumarill_back_pic.4bpp.lz" + .incbin "graphics/pokemon/azumarill/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_azumarill_shiny_palette:: @ 8DADDDC - .incbin "graphics/pokemon/palettes/azumarill_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/azumarill/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_azumarill_icon:: @ 8DADE04 - .incbin "graphics/pokemon/icons/azumarill_icon.4bpp" + .incbin "graphics/pokemon/azumarill/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_azumarill_footprint:: @ 8DAE204 - .incbin "graphics/pokemon/footprints/azumarill_footprint.1bpp" + .incbin "graphics/pokemon/azumarill/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_sudowoodo_still_front_pic:: @ 8DAE224 - .incbin "graphics/pokemon/front_pics/sudowoodo_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/sudowoodo/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_sudowoodo_palette:: @ 8DAE53C - .incbin "graphics/pokemon/palettes/sudowoodo_palette.gbapal.lz" + .incbin "graphics/pokemon/sudowoodo/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_sudowoodo_back_pic:: @ 8DAE564 - .incbin "graphics/pokemon/back_pics/sudowoodo_back_pic.4bpp.lz" + .incbin "graphics/pokemon/sudowoodo/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_sudowoodo_shiny_palette:: @ 8DAE8C0 - .incbin "graphics/pokemon/palettes/sudowoodo_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/sudowoodo/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_sudowoodo_icon:: @ 8DAE8E8 - .incbin "graphics/pokemon/icons/sudowoodo_icon.4bpp" + .incbin "graphics/pokemon/sudowoodo/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_sudowoodo_footprint:: @ 8DAECE8 - .incbin "graphics/pokemon/footprints/sudowoodo_footprint.1bpp" + .incbin "graphics/pokemon/sudowoodo/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_politoed_still_front_pic:: @ 8DAED08 - .incbin "graphics/pokemon/front_pics/politoed_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/politoed/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_politoed_palette:: @ 8DAF044 - .incbin "graphics/pokemon/palettes/politoed_palette.gbapal.lz" + .incbin "graphics/pokemon/politoed/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_politoed_back_pic:: @ 8DAF06C - .incbin "graphics/pokemon/back_pics/politoed_back_pic.4bpp.lz" + .incbin "graphics/pokemon/politoed/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_politoed_shiny_palette:: @ 8DAF328 - .incbin "graphics/pokemon/palettes/politoed_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/politoed/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_politoed_icon:: @ 8DAF350 - .incbin "graphics/pokemon/icons/politoed_icon.4bpp" + .incbin "graphics/pokemon/politoed/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_politoed_footprint:: @ 8DAF750 - .incbin "graphics/pokemon/footprints/politoed_footprint.1bpp" + .incbin "graphics/pokemon/politoed/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_hoppip_still_front_pic:: @ 8DAF770 - .incbin "graphics/pokemon/front_pics/hoppip_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/hoppip/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_hoppip_palette:: @ 8DAFA24 - .incbin "graphics/pokemon/palettes/hoppip_palette.gbapal.lz" + .incbin "graphics/pokemon/hoppip/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_hoppip_back_pic:: @ 8DAFA4C - .incbin "graphics/pokemon/back_pics/hoppip_back_pic.4bpp.lz" + .incbin "graphics/pokemon/hoppip/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_hoppip_shiny_palette:: @ 8DAFD2C - .incbin "graphics/pokemon/palettes/hoppip_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/hoppip/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_hoppip_icon:: @ 8DAFD54 - .incbin "graphics/pokemon/icons/hoppip_icon.4bpp" + .incbin "graphics/pokemon/hoppip/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_hoppip_footprint:: @ 8DB0154 - .incbin "graphics/pokemon/footprints/hoppip_footprint.1bpp" + .incbin "graphics/pokemon/hoppip/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_skiploom_still_front_pic:: @ 8DB0174 - .incbin "graphics/pokemon/front_pics/skiploom_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/skiploom/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_skiploom_palette:: @ 8DB03FC - .incbin "graphics/pokemon/palettes/skiploom_palette.gbapal.lz" + .incbin "graphics/pokemon/skiploom/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_skiploom_back_pic:: @ 8DB0424 - .incbin "graphics/pokemon/back_pics/skiploom_back_pic.4bpp.lz" + .incbin "graphics/pokemon/skiploom/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_skiploom_shiny_palette:: @ 8DB0704 - .incbin "graphics/pokemon/palettes/skiploom_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/skiploom/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_skiploom_icon:: @ 8DB072C - .incbin "graphics/pokemon/icons/skiploom_icon.4bpp" + .incbin "graphics/pokemon/skiploom/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_skiploom_footprint:: @ 8DB0B2C - .incbin "graphics/pokemon/footprints/skiploom_footprint.1bpp" + .incbin "graphics/pokemon/skiploom/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_jumpluff_still_front_pic:: @ 8DB0B4C - .incbin "graphics/pokemon/front_pics/jumpluff_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/jumpluff/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_jumpluff_palette:: @ 8DB0EB8 - .incbin "graphics/pokemon/palettes/jumpluff_palette.gbapal.lz" + .incbin "graphics/pokemon/jumpluff/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_jumpluff_back_pic:: @ 8DB0EE0 - .incbin "graphics/pokemon/back_pics/jumpluff_back_pic.4bpp.lz" + .incbin "graphics/pokemon/jumpluff/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_jumpluff_shiny_palette:: @ 8DB12D8 - .incbin "graphics/pokemon/palettes/jumpluff_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/jumpluff/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_jumpluff_icon:: @ 8DB1300 - .incbin "graphics/pokemon/icons/jumpluff_icon.4bpp" + .incbin "graphics/pokemon/jumpluff/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_jumpluff_footprint:: @ 8DB1700 - .incbin "graphics/pokemon/footprints/jumpluff_footprint.1bpp" + .incbin "graphics/pokemon/jumpluff/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_aipom_still_front_pic:: @ 8DB1720 - .incbin "graphics/pokemon/front_pics/aipom_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/aipom/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_aipom_palette:: @ 8DB1A1C - .incbin "graphics/pokemon/palettes/aipom_palette.gbapal.lz" + .incbin "graphics/pokemon/aipom/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_aipom_back_pic:: @ 8DB1A44 - .incbin "graphics/pokemon/back_pics/aipom_back_pic.4bpp.lz" + .incbin "graphics/pokemon/aipom/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_aipom_shiny_palette:: @ 8DB1D38 - .incbin "graphics/pokemon/palettes/aipom_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/aipom/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_aipom_icon:: @ 8DB1D60 - .incbin "graphics/pokemon/icons/aipom_icon.4bpp" + .incbin "graphics/pokemon/aipom/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_aipom_footprint:: @ 8DB2160 - .incbin "graphics/pokemon/footprints/aipom_footprint.1bpp" + .incbin "graphics/pokemon/aipom/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_sunkern_still_front_pic:: @ 8DB2180 - .incbin "graphics/pokemon/front_pics/sunkern_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/sunkern/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_sunkern_palette:: @ 8DB23B8 - .incbin "graphics/pokemon/palettes/sunkern_palette.gbapal.lz" + .incbin "graphics/pokemon/sunkern/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_sunkern_back_pic:: @ 8DB23E0 - .incbin "graphics/pokemon/back_pics/sunkern_back_pic.4bpp.lz" + .incbin "graphics/pokemon/sunkern/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_sunkern_shiny_palette:: @ 8DB26A4 - .incbin "graphics/pokemon/palettes/sunkern_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/sunkern/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_sunkern_icon:: @ 8DB26CC - .incbin "graphics/pokemon/icons/sunkern_icon.4bpp" + .incbin "graphics/pokemon/sunkern/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_sunkern_footprint:: @ 8DB2ACC - .incbin "graphics/pokemon/footprints/sunkern_footprint.1bpp" + .incbin "graphics/pokemon/sunkern/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_sunflora_still_front_pic:: @ 8DB2AEC - .incbin "graphics/pokemon/front_pics/sunflora_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/sunflora/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_sunflora_palette:: @ 8DB2E44 - .incbin "graphics/pokemon/palettes/sunflora_palette.gbapal.lz" + .incbin "graphics/pokemon/sunflora/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_sunflora_back_pic:: @ 8DB2E6C - .incbin "graphics/pokemon/back_pics/sunflora_back_pic.4bpp.lz" + .incbin "graphics/pokemon/sunflora/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_sunflora_shiny_palette:: @ 8DB320C - .incbin "graphics/pokemon/palettes/sunflora_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/sunflora/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_sunflora_icon:: @ 8DB3234 - .incbin "graphics/pokemon/icons/sunflora_icon.4bpp" + .incbin "graphics/pokemon/sunflora/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_sunflora_footprint:: @ 8DB3634 - .incbin "graphics/pokemon/footprints/sunflora_footprint.1bpp" + .incbin "graphics/pokemon/sunflora/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_yanma_still_front_pic:: @ 8DB3654 - .incbin "graphics/pokemon/front_pics/yanma_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/yanma/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_yanma_palette:: @ 8DB39D8 - .incbin "graphics/pokemon/palettes/yanma_palette.gbapal.lz" + .incbin "graphics/pokemon/yanma/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_yanma_back_pic:: @ 8DB3A00 - .incbin "graphics/pokemon/back_pics/yanma_back_pic.4bpp.lz" + .incbin "graphics/pokemon/yanma/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_yanma_shiny_palette:: @ 8DB3DB4 - .incbin "graphics/pokemon/palettes/yanma_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/yanma/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_yanma_icon:: @ 8DB3DDC - .incbin "graphics/pokemon/icons/yanma_icon.4bpp" + .incbin "graphics/pokemon/yanma/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_yanma_footprint:: @ 8DB41DC - .incbin "graphics/pokemon/footprints/yanma_footprint.1bpp" + .incbin "graphics/pokemon/yanma/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_wooper_still_front_pic:: @ 8DB41FC - .incbin "graphics/pokemon/front_pics/wooper_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/wooper/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_wooper_palette:: @ 8DB443C - .incbin "graphics/pokemon/palettes/wooper_palette.gbapal.lz" + .incbin "graphics/pokemon/wooper/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_wooper_back_pic:: @ 8DB4464 - .incbin "graphics/pokemon/back_pics/wooper_back_pic.4bpp.lz" + .incbin "graphics/pokemon/wooper/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_wooper_shiny_palette:: @ 8DB46F0 - .incbin "graphics/pokemon/palettes/wooper_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/wooper/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_wooper_icon:: @ 8DB4718 - .incbin "graphics/pokemon/icons/wooper_icon.4bpp" + .incbin "graphics/pokemon/wooper/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_wooper_footprint:: @ 8DB4B18 - .incbin "graphics/pokemon/footprints/wooper_footprint.1bpp" + .incbin "graphics/pokemon/wooper/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_quagsire_still_front_pic:: @ 8DB4B38 - .incbin "graphics/pokemon/front_pics/quagsire_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/quagsire/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_quagsire_palette:: @ 8DB4EAC - .incbin "graphics/pokemon/palettes/quagsire_palette.gbapal.lz" + .incbin "graphics/pokemon/quagsire/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_quagsire_back_pic:: @ 8DB4ED4 - .incbin "graphics/pokemon/back_pics/quagsire_back_pic.4bpp.lz" + .incbin "graphics/pokemon/quagsire/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_quagsire_shiny_palette:: @ 8DB51D0 - .incbin "graphics/pokemon/palettes/quagsire_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/quagsire/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_quagsire_icon:: @ 8DB51F8 - .incbin "graphics/pokemon/icons/quagsire_icon.4bpp" + .incbin "graphics/pokemon/quagsire/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_quagsire_footprint:: @ 8DB55F8 - .incbin "graphics/pokemon/footprints/quagsire_footprint.1bpp" + .incbin "graphics/pokemon/quagsire/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_espeon_still_front_pic:: @ 8DB5618 - .incbin "graphics/pokemon/front_pics/espeon_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/espeon/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_espeon_palette:: @ 8DB5958 - .incbin "graphics/pokemon/palettes/espeon_palette.gbapal.lz" + .incbin "graphics/pokemon/espeon/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_espeon_back_pic:: @ 8DB597C - .incbin "graphics/pokemon/back_pics/espeon_back_pic.4bpp.lz" + .incbin "graphics/pokemon/espeon/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_espeon_shiny_palette:: @ 8DB5C58 - .incbin "graphics/pokemon/palettes/espeon_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/espeon/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_espeon_icon:: @ 8DB5C7C - .incbin "graphics/pokemon/icons/espeon_icon.4bpp" + .incbin "graphics/pokemon/espeon/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_espeon_footprint:: @ 8DB607C - .incbin "graphics/pokemon/footprints/espeon_footprint.1bpp" + .incbin "graphics/pokemon/espeon/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_umbreon_still_front_pic:: @ 8DB609C - .incbin "graphics/pokemon/front_pics/umbreon_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/umbreon/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_umbreon_palette:: @ 8DB63B0 - .incbin "graphics/pokemon/palettes/umbreon_palette.gbapal.lz" + .incbin "graphics/pokemon/umbreon/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_umbreon_back_pic:: @ 8DB63D8 - .incbin "graphics/pokemon/back_pics/umbreon_back_pic.4bpp.lz" + .incbin "graphics/pokemon/umbreon/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_umbreon_shiny_palette:: @ 8DB66EC - .incbin "graphics/pokemon/palettes/umbreon_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/umbreon/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_umbreon_icon:: @ 8DB6714 - .incbin "graphics/pokemon/icons/umbreon_icon.4bpp" + .incbin "graphics/pokemon/umbreon/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_umbreon_footprint:: @ 8DB6B14 - .incbin "graphics/pokemon/footprints/umbreon_footprint.1bpp" + .incbin "graphics/pokemon/umbreon/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_murkrow_still_front_pic:: @ 8DB6B34 - .incbin "graphics/pokemon/front_pics/murkrow_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/murkrow/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_murkrow_palette:: @ 8DB6E14 - .incbin "graphics/pokemon/palettes/murkrow_palette.gbapal.lz" + .incbin "graphics/pokemon/murkrow/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_murkrow_back_pic:: @ 8DB6E3C - .incbin "graphics/pokemon/back_pics/murkrow_back_pic.4bpp.lz" + .incbin "graphics/pokemon/murkrow/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_murkrow_shiny_palette:: @ 8DB7154 - .incbin "graphics/pokemon/palettes/murkrow_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/murkrow/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_murkrow_icon:: @ 8DB717C - .incbin "graphics/pokemon/icons/murkrow_icon.4bpp" + .incbin "graphics/pokemon/murkrow/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_murkrow_footprint:: @ 8DB757C - .incbin "graphics/pokemon/footprints/murkrow_footprint.1bpp" + .incbin "graphics/pokemon/murkrow/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_slowking_still_front_pic:: @ 8DB759C - .incbin "graphics/pokemon/front_pics/slowking_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/slowking/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_slowking_palette:: @ 8DB7950 - .incbin "graphics/pokemon/palettes/slowking_palette.gbapal.lz" + .incbin "graphics/pokemon/slowking/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_slowking_back_pic:: @ 8DB7978 - .incbin "graphics/pokemon/back_pics/slowking_back_pic.4bpp.lz" + .incbin "graphics/pokemon/slowking/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_slowking_shiny_palette:: @ 8DB7D04 - .incbin "graphics/pokemon/palettes/slowking_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/slowking/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_slowking_icon:: @ 8DB7D2C - .incbin "graphics/pokemon/icons/slowking_icon.4bpp" + .incbin "graphics/pokemon/slowking/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_slowking_footprint:: @ 8DB812C - .incbin "graphics/pokemon/footprints/slowking_footprint.1bpp" + .incbin "graphics/pokemon/slowking/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_misdreavus_still_front_pic:: @ 8DB814C - .incbin "graphics/pokemon/front_pics/misdreavus_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/misdreavus/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_misdreavus_palette:: @ 8DB840C - .incbin "graphics/pokemon/palettes/misdreavus_palette.gbapal.lz" + .incbin "graphics/pokemon/misdreavus/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_misdreavus_back_pic:: @ 8DB8434 - .incbin "graphics/pokemon/back_pics/misdreavus_back_pic.4bpp.lz" + .incbin "graphics/pokemon/misdreavus/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_misdreavus_shiny_palette:: @ 8DB8758 - .incbin "graphics/pokemon/palettes/misdreavus_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/misdreavus/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_misdreavus_icon:: @ 8DB8780 - .incbin "graphics/pokemon/icons/misdreavus_icon.4bpp" + .incbin "graphics/pokemon/misdreavus/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_misdreavus_footprint:: @ 8DB8B80 - .incbin "graphics/pokemon/footprints/misdreavus_footprint.1bpp" + .incbin "graphics/pokemon/misdreavus/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_a_still_front_pic:: @ 8DB8BA0 - .incbin "graphics/pokemon/front_pics/unown_a_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/unown/a/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_unown_palette:: @ 8DB8D74 - .incbin "graphics/pokemon/palettes/unown_palette.gbapal.lz" + .incbin "graphics/pokemon/unown/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_unown_a_back_pic:: @ 8DB8D94 - .incbin "graphics/pokemon/back_pics/unown_a_back_pic.4bpp.lz" + .incbin "graphics/pokemon/unown/a/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_unown_shiny_palette:: @ 8DB8F94 - .incbin "graphics/pokemon/palettes/unown_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/unown/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_unown_a_icon:: @ 8DB8FB4 - .incbin "graphics/pokemon/icons/unown_a_icon.4bpp" + .incbin "graphics/pokemon/unown/a/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_unown_footprint:: @ 8DB93B4 - .incbin "graphics/pokemon/footprints/unown_footprint.1bpp" + .incbin "graphics/pokemon/unown/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_wobbuffet_still_front_pic:: @ 8DB93D4 - .incbin "graphics/pokemon/front_pics/wobbuffet_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/wobbuffet/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_wobbuffet_palette:: @ 8DB9724 - .incbin "graphics/pokemon/palettes/wobbuffet_palette.gbapal.lz" + .incbin "graphics/pokemon/wobbuffet/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_wobbuffet_back_pic:: @ 8DB974C - .incbin "graphics/pokemon/back_pics/wobbuffet_back_pic.4bpp.lz" + .incbin "graphics/pokemon/wobbuffet/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_wobbuffet_shiny_palette:: @ 8DB9990 - .incbin "graphics/pokemon/palettes/wobbuffet_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/wobbuffet/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_wobbuffet_icon:: @ 8DB99B8 - .incbin "graphics/pokemon/icons/wobbuffet_icon.4bpp" + .incbin "graphics/pokemon/wobbuffet/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_wobbuffet_footprint:: @ 8DB9DB8 - .incbin "graphics/pokemon/footprints/wobbuffet_footprint.1bpp" + .incbin "graphics/pokemon/wobbuffet/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_girafarig_still_front_pic:: @ 8DB9DD8 - .incbin "graphics/pokemon/front_pics/girafarig_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/girafarig/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_girafarig_palette:: @ 8DBA1DC - .incbin "graphics/pokemon/palettes/girafarig_palette.gbapal.lz" + .incbin "graphics/pokemon/girafarig/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_girafarig_back_pic:: @ 8DBA204 - .incbin "graphics/pokemon/back_pics/girafarig_back_pic.4bpp.lz" + .incbin "graphics/pokemon/girafarig/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_girafarig_shiny_palette:: @ 8DBA5B0 - .incbin "graphics/pokemon/palettes/girafarig_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/girafarig/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_girafarig_icon:: @ 8DBA5D8 - .incbin "graphics/pokemon/icons/girafarig_icon.4bpp" + .incbin "graphics/pokemon/girafarig/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_girafarig_footprint:: @ 8DBA9D8 - .incbin "graphics/pokemon/footprints/girafarig_footprint.1bpp" + .incbin "graphics/pokemon/girafarig/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_pineco_still_front_pic:: @ 8DBA9F8 - .incbin "graphics/pokemon/front_pics/pineco_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/pineco/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_pineco_palette:: @ 8DBAD38 - .incbin "graphics/pokemon/palettes/pineco_palette.gbapal.lz" + .incbin "graphics/pokemon/pineco/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_pineco_back_pic:: @ 8DBAD5C - .incbin "graphics/pokemon/back_pics/pineco_back_pic.4bpp.lz" + .incbin "graphics/pokemon/pineco/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_pineco_shiny_palette:: @ 8DBB034 - .incbin "graphics/pokemon/palettes/pineco_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/pineco/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_pineco_icon:: @ 8DBB058 - .incbin "graphics/pokemon/icons/pineco_icon.4bpp" + .incbin "graphics/pokemon/pineco/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_pineco_footprint:: @ 8DBB458 - .incbin "graphics/pokemon/footprints/pineco_footprint.1bpp" + .incbin "graphics/pokemon/pineco/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_forretress_still_front_pic:: @ 8DBB478 - .incbin "graphics/pokemon/front_pics/forretress_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/forretress/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_forretress_palette:: @ 8DBB894 - .incbin "graphics/pokemon/palettes/forretress_palette.gbapal.lz" + .incbin "graphics/pokemon/forretress/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_forretress_back_pic:: @ 8DBB8BC - .incbin "graphics/pokemon/back_pics/forretress_back_pic.4bpp.lz" + .incbin "graphics/pokemon/forretress/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_forretress_shiny_palette:: @ 8DBBB7C - .incbin "graphics/pokemon/palettes/forretress_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/forretress/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_forretress_icon:: @ 8DBBBA4 - .incbin "graphics/pokemon/icons/forretress_icon.4bpp" + .incbin "graphics/pokemon/forretress/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_forretress_footprint:: @ 8DBBFA4 - .incbin "graphics/pokemon/footprints/forretress_footprint.1bpp" + .incbin "graphics/pokemon/forretress/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_dunsparce_still_front_pic:: @ 8DBBFC4 - .incbin "graphics/pokemon/front_pics/dunsparce_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/dunsparce/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_dunsparce_palette:: @ 8DBC2D4 - .incbin "graphics/pokemon/palettes/dunsparce_palette.gbapal.lz" + .incbin "graphics/pokemon/dunsparce/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_dunsparce_back_pic:: @ 8DBC2FC - .incbin "graphics/pokemon/back_pics/dunsparce_back_pic.4bpp.lz" + .incbin "graphics/pokemon/dunsparce/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_dunsparce_shiny_palette:: @ 8DBC5F8 - .incbin "graphics/pokemon/palettes/dunsparce_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/dunsparce/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_dunsparce_icon:: @ 8DBC620 - .incbin "graphics/pokemon/icons/dunsparce_icon.4bpp" + .incbin "graphics/pokemon/dunsparce/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_dunsparce_footprint:: @ 8DBCA20 - .incbin "graphics/pokemon/footprints/dunsparce_footprint.1bpp" + .incbin "graphics/pokemon/dunsparce/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_gligar_still_front_pic:: @ 8DBCA40 - .incbin "graphics/pokemon/front_pics/gligar_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/gligar/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_gligar_palette:: @ 8DBCE68 - .incbin "graphics/pokemon/palettes/gligar_palette.gbapal.lz" + .incbin "graphics/pokemon/gligar/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_gligar_back_pic:: @ 8DBCE90 - .incbin "graphics/pokemon/back_pics/gligar_back_pic.4bpp.lz" + .incbin "graphics/pokemon/gligar/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_gligar_shiny_palette:: @ 8DBD268 - .incbin "graphics/pokemon/palettes/gligar_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/gligar/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_gligar_icon:: @ 8DBD290 - .incbin "graphics/pokemon/icons/gligar_icon.4bpp" + .incbin "graphics/pokemon/gligar/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_gligar_footprint:: @ 8DBD690 - .incbin "graphics/pokemon/footprints/gligar_footprint.1bpp" + .incbin "graphics/pokemon/gligar/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_steelix_still_front_pic:: @ 8DBD6B0 - .incbin "graphics/pokemon/front_pics/steelix_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/steelix/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_steelix_palette:: @ 8DBDB78 - .incbin "graphics/pokemon/palettes/steelix_palette.gbapal.lz" + .incbin "graphics/pokemon/steelix/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_steelix_back_pic:: @ 8DBDB9C - .incbin "graphics/pokemon/back_pics/steelix_back_pic.4bpp.lz" + .incbin "graphics/pokemon/steelix/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_steelix_shiny_palette:: @ 8DBDFA8 - .incbin "graphics/pokemon/palettes/steelix_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/steelix/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_steelix_icon:: @ 8DBDFCC - .incbin "graphics/pokemon/icons/steelix_icon.4bpp" + .incbin "graphics/pokemon/steelix/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_steelix_footprint:: @ 8DBE3CC - .incbin "graphics/pokemon/footprints/steelix_footprint.1bpp" + .incbin "graphics/pokemon/steelix/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_snubbull_still_front_pic:: @ 8DBE3EC - .incbin "graphics/pokemon/front_pics/snubbull_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/snubbull/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_snubbull_palette:: @ 8DBE6C0 - .incbin "graphics/pokemon/palettes/snubbull_palette.gbapal.lz" + .incbin "graphics/pokemon/snubbull/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_snubbull_back_pic:: @ 8DBE6E8 - .incbin "graphics/pokemon/back_pics/snubbull_back_pic.4bpp.lz" + .incbin "graphics/pokemon/snubbull/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_snubbull_shiny_palette:: @ 8DBEA10 - .incbin "graphics/pokemon/palettes/snubbull_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/snubbull/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_snubbull_icon:: @ 8DBEA38 - .incbin "graphics/pokemon/icons/snubbull_icon.4bpp" + .incbin "graphics/pokemon/snubbull/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_snubbull_footprint:: @ 8DBEE38 - .incbin "graphics/pokemon/footprints/snubbull_footprint.1bpp" + .incbin "graphics/pokemon/snubbull/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_granbull_still_front_pic:: @ 8DBEE58 - .incbin "graphics/pokemon/front_pics/granbull_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/granbull/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_granbull_palette:: @ 8DBF1E4 - .incbin "graphics/pokemon/palettes/granbull_palette.gbapal.lz" + .incbin "graphics/pokemon/granbull/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_granbull_back_pic:: @ 8DBF20C - .incbin "graphics/pokemon/back_pics/granbull_back_pic.4bpp.lz" + .incbin "graphics/pokemon/granbull/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_granbull_shiny_palette:: @ 8DBF530 - .incbin "graphics/pokemon/palettes/granbull_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/granbull/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_granbull_icon:: @ 8DBF558 - .incbin "graphics/pokemon/icons/granbull_icon.4bpp" + .incbin "graphics/pokemon/granbull/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_granbull_footprint:: @ 8DBF958 - .incbin "graphics/pokemon/footprints/granbull_footprint.1bpp" + .incbin "graphics/pokemon/granbull/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_qwilfish_still_front_pic:: @ 8DBF978 - .incbin "graphics/pokemon/front_pics/qwilfish_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/qwilfish/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_qwilfish_palette:: @ 8DBFC38 - .incbin "graphics/pokemon/palettes/qwilfish_palette.gbapal.lz" + .incbin "graphics/pokemon/qwilfish/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_qwilfish_back_pic:: @ 8DBFC60 - .incbin "graphics/pokemon/back_pics/qwilfish_back_pic.4bpp.lz" + .incbin "graphics/pokemon/qwilfish/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_qwilfish_shiny_palette:: @ 8DBFF40 - .incbin "graphics/pokemon/palettes/qwilfish_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/qwilfish/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_qwilfish_icon:: @ 8DBFF68 - .incbin "graphics/pokemon/icons/qwilfish_icon.4bpp" + .incbin "graphics/pokemon/qwilfish/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_qwilfish_footprint:: @ 8DC0368 - .incbin "graphics/pokemon/footprints/qwilfish_footprint.1bpp" + .incbin "graphics/pokemon/qwilfish/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_scizor_still_front_pic:: @ 8DC0388 - .incbin "graphics/pokemon/front_pics/scizor_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/scizor/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_scizor_palette:: @ 8DC0870 - .incbin "graphics/pokemon/palettes/scizor_palette.gbapal.lz" + .incbin "graphics/pokemon/scizor/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_scizor_back_pic:: @ 8DC0898 - .incbin "graphics/pokemon/back_pics/scizor_back_pic.4bpp.lz" + .incbin "graphics/pokemon/scizor/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_scizor_shiny_palette:: @ 8DC0C18 - .incbin "graphics/pokemon/palettes/scizor_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/scizor/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_scizor_icon:: @ 8DC0C40 - .incbin "graphics/pokemon/icons/scizor_icon.4bpp" + .incbin "graphics/pokemon/scizor/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_scizor_footprint:: @ 8DC1040 - .incbin "graphics/pokemon/footprints/scizor_footprint.1bpp" + .incbin "graphics/pokemon/scizor/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_shuckle_still_front_pic:: @ 8DC1060 - .incbin "graphics/pokemon/front_pics/shuckle_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/shuckle/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_shuckle_palette:: @ 8DC1328 - .incbin "graphics/pokemon/palettes/shuckle_palette.gbapal.lz" + .incbin "graphics/pokemon/shuckle/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_shuckle_back_pic:: @ 8DC1350 - .incbin "graphics/pokemon/back_pics/shuckle_back_pic.4bpp.lz" + .incbin "graphics/pokemon/shuckle/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_shuckle_shiny_palette:: @ 8DC15A8 - .incbin "graphics/pokemon/palettes/shuckle_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/shuckle/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_shuckle_icon:: @ 8DC15D0 - .incbin "graphics/pokemon/icons/shuckle_icon.4bpp" + .incbin "graphics/pokemon/shuckle/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_shuckle_footprint:: @ 8DC19D0 - .incbin "graphics/pokemon/footprints/shuckle_footprint.1bpp" + .incbin "graphics/pokemon/shuckle/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_heracross_still_front_pic:: @ 8DC19F0 - .incbin "graphics/pokemon/front_pics/heracross_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/heracross/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_heracross_palette:: @ 8DC1DE0 - .incbin "graphics/pokemon/palettes/heracross_palette.gbapal.lz" + .incbin "graphics/pokemon/heracross/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_heracross_back_pic:: @ 8DC1E08 - .incbin "graphics/pokemon/back_pics/heracross_back_pic.4bpp.lz" + .incbin "graphics/pokemon/heracross/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_heracross_shiny_palette:: @ 8DC2178 - .incbin "graphics/pokemon/palettes/heracross_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/heracross/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_heracross_icon:: @ 8DC21A0 - .incbin "graphics/pokemon/icons/heracross_icon.4bpp" + .incbin "graphics/pokemon/heracross/icon.4bpp" gUnknown_heracross_icon:: @ 8DC25A0 .incbin "baserom.gba", 0xDC25A0, 0x400 .align 2 gFile_graphics_pokemon_footprints_heracross_footprint:: @ 8DC29A0 - .incbin "graphics/pokemon/footprints/heracross_footprint.1bpp" + .incbin "graphics/pokemon/heracross/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_sneasel_still_front_pic:: @ 8DC29C0 - .incbin "graphics/pokemon/front_pics/sneasel_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/sneasel/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_sneasel_palette:: @ 8DC2D04 - .incbin "graphics/pokemon/palettes/sneasel_palette.gbapal.lz" + .incbin "graphics/pokemon/sneasel/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_sneasel_back_pic:: @ 8DC2D2C - .incbin "graphics/pokemon/back_pics/sneasel_back_pic.4bpp.lz" + .incbin "graphics/pokemon/sneasel/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_sneasel_shiny_palette:: @ 8DC3050 - .incbin "graphics/pokemon/palettes/sneasel_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/sneasel/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_sneasel_icon:: @ 8DC3078 - .incbin "graphics/pokemon/icons/sneasel_icon.4bpp" + .incbin "graphics/pokemon/sneasel/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_sneasel_footprint:: @ 8DC3478 - .incbin "graphics/pokemon/footprints/sneasel_footprint.1bpp" + .incbin "graphics/pokemon/sneasel/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_teddiursa_still_front_pic:: @ 8DC3498 - .incbin "graphics/pokemon/front_pics/teddiursa_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/teddiursa/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_teddiursa_palette:: @ 8DC3740 - .incbin "graphics/pokemon/palettes/teddiursa_palette.gbapal.lz" + .incbin "graphics/pokemon/teddiursa/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_teddiursa_back_pic:: @ 8DC3768 - .incbin "graphics/pokemon/back_pics/teddiursa_back_pic.4bpp.lz" + .incbin "graphics/pokemon/teddiursa/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_teddiursa_shiny_palette:: @ 8DC39E0 - .incbin "graphics/pokemon/palettes/teddiursa_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/teddiursa/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_teddiursa_icon:: @ 8DC3A08 - .incbin "graphics/pokemon/icons/teddiursa_icon.4bpp" + .incbin "graphics/pokemon/teddiursa/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_teddiursa_footprint:: @ 8DC3E08 - .incbin "graphics/pokemon/footprints/teddiursa_footprint.1bpp" + .incbin "graphics/pokemon/teddiursa/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_ursaring_still_front_pic:: @ 8DC3E28 - .incbin "graphics/pokemon/front_pics/ursaring_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/ursaring/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_ursaring_palette:: @ 8DC4260 - .incbin "graphics/pokemon/palettes/ursaring_palette.gbapal.lz" + .incbin "graphics/pokemon/ursaring/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_ursaring_back_pic:: @ 8DC4288 - .incbin "graphics/pokemon/back_pics/ursaring_back_pic.4bpp.lz" + .incbin "graphics/pokemon/ursaring/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_ursaring_shiny_palette:: @ 8DC4610 - .incbin "graphics/pokemon/palettes/ursaring_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/ursaring/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_ursaring_icon:: @ 8DC4638 - .incbin "graphics/pokemon/icons/ursaring_icon.4bpp" + .incbin "graphics/pokemon/ursaring/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_ursaring_footprint:: @ 8DC4A38 - .incbin "graphics/pokemon/footprints/ursaring_footprint.1bpp" + .incbin "graphics/pokemon/ursaring/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_slugma_still_front_pic:: @ 8DC4A58 - .incbin "graphics/pokemon/front_pics/slugma_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/slugma/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_slugma_palette:: @ 8DC4CCC - .incbin "graphics/pokemon/palettes/slugma_palette.gbapal.lz" + .incbin "graphics/pokemon/slugma/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_slugma_back_pic:: @ 8DC4CF0 - .incbin "graphics/pokemon/back_pics/slugma_back_pic.4bpp.lz" + .incbin "graphics/pokemon/slugma/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_slugma_shiny_palette:: @ 8DC4FD8 - .incbin "graphics/pokemon/palettes/slugma_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/slugma/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_slugma_icon:: @ 8DC4FFC - .incbin "graphics/pokemon/icons/slugma_icon.4bpp" + .incbin "graphics/pokemon/slugma/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_slugma_footprint:: @ 8DC53FC - .incbin "graphics/pokemon/footprints/slugma_footprint.1bpp" + .incbin "graphics/pokemon/slugma/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_magcargo_still_front_pic:: @ 8DC541C - .incbin "graphics/pokemon/front_pics/magcargo_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/magcargo/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_magcargo_palette:: @ 8DC5764 - .incbin "graphics/pokemon/palettes/magcargo_palette.gbapal.lz" + .incbin "graphics/pokemon/magcargo/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_magcargo_back_pic:: @ 8DC578C - .incbin "graphics/pokemon/back_pics/magcargo_back_pic.4bpp.lz" + .incbin "graphics/pokemon/magcargo/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_magcargo_shiny_palette:: @ 8DC5BA4 - .incbin "graphics/pokemon/palettes/magcargo_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/magcargo/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_magcargo_icon:: @ 8DC5BCC - .incbin "graphics/pokemon/icons/magcargo_icon.4bpp" + .incbin "graphics/pokemon/magcargo/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_magcargo_footprint:: @ 8DC5FCC - .incbin "graphics/pokemon/footprints/magcargo_footprint.1bpp" + .incbin "graphics/pokemon/magcargo/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_swinub_still_front_pic:: @ 8DC5FEC - .incbin "graphics/pokemon/front_pics/swinub_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/swinub/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_swinub_palette:: @ 8DC61E8 - .incbin "graphics/pokemon/palettes/swinub_palette.gbapal.lz" + .incbin "graphics/pokemon/swinub/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_swinub_back_pic:: @ 8DC6210 - .incbin "graphics/pokemon/back_pics/swinub_back_pic.4bpp.lz" + .incbin "graphics/pokemon/swinub/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_swinub_shiny_palette:: @ 8DC644C - .incbin "graphics/pokemon/palettes/swinub_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/swinub/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_swinub_icon:: @ 8DC6474 - .incbin "graphics/pokemon/icons/swinub_icon.4bpp" + .incbin "graphics/pokemon/swinub/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_swinub_footprint:: @ 8DC6874 - .incbin "graphics/pokemon/footprints/swinub_footprint.1bpp" + .incbin "graphics/pokemon/swinub/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_piloswine_still_front_pic:: @ 8DC6894 - .incbin "graphics/pokemon/front_pics/piloswine_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/piloswine/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_piloswine_palette:: @ 8DC6BBC - .incbin "graphics/pokemon/palettes/piloswine_palette.gbapal.lz" + .incbin "graphics/pokemon/piloswine/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_piloswine_back_pic:: @ 8DC6BE4 - .incbin "graphics/pokemon/back_pics/piloswine_back_pic.4bpp.lz" + .incbin "graphics/pokemon/piloswine/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_piloswine_shiny_palette:: @ 8DC6E30 - .incbin "graphics/pokemon/palettes/piloswine_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/piloswine/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_piloswine_icon:: @ 8DC6E58 - .incbin "graphics/pokemon/icons/piloswine_icon.4bpp" + .incbin "graphics/pokemon/piloswine/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_piloswine_footprint:: @ 8DC7258 - .incbin "graphics/pokemon/footprints/piloswine_footprint.1bpp" + .incbin "graphics/pokemon/piloswine/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_corsola_still_front_pic:: @ 8DC7278 - .incbin "graphics/pokemon/front_pics/corsola_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/corsola/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_corsola_palette:: @ 8DC7560 - .incbin "graphics/pokemon/palettes/corsola_palette.gbapal.lz" + .incbin "graphics/pokemon/corsola/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_corsola_back_pic:: @ 8DC7588 - .incbin "graphics/pokemon/back_pics/corsola_back_pic.4bpp.lz" + .incbin "graphics/pokemon/corsola/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_corsola_shiny_palette:: @ 8DC7848 - .incbin "graphics/pokemon/palettes/corsola_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/corsola/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_corsola_icon:: @ 8DC7870 - .incbin "graphics/pokemon/icons/corsola_icon.4bpp" + .incbin "graphics/pokemon/corsola/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_corsola_footprint:: @ 8DC7C70 - .incbin "graphics/pokemon/footprints/corsola_footprint.1bpp" + .incbin "graphics/pokemon/corsola/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_remoraid_still_front_pic:: @ 8DC7C90 - .incbin "graphics/pokemon/front_pics/remoraid_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/remoraid/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_remoraid_palette:: @ 8DC7EF8 - .incbin "graphics/pokemon/palettes/remoraid_palette.gbapal.lz" + .incbin "graphics/pokemon/remoraid/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_remoraid_back_pic:: @ 8DC7F20 - .incbin "graphics/pokemon/back_pics/remoraid_back_pic.4bpp.lz" + .incbin "graphics/pokemon/remoraid/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_remoraid_shiny_palette:: @ 8DC8234 - .incbin "graphics/pokemon/palettes/remoraid_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/remoraid/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_remoraid_icon:: @ 8DC825C - .incbin "graphics/pokemon/icons/remoraid_icon.4bpp" + .incbin "graphics/pokemon/remoraid/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_remoraid_footprint:: @ 8DC865C - .incbin "graphics/pokemon/footprints/remoraid_footprint.1bpp" + .incbin "graphics/pokemon/remoraid/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_octillery_still_front_pic:: @ 8DC867C - .incbin "graphics/pokemon/front_pics/octillery_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/octillery/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_octillery_palette:: @ 8DC89B0 - .incbin "graphics/pokemon/palettes/octillery_palette.gbapal.lz" + .incbin "graphics/pokemon/octillery/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_octillery_back_pic:: @ 8DC89D8 - .incbin "graphics/pokemon/back_pics/octillery_back_pic.4bpp.lz" + .incbin "graphics/pokemon/octillery/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_octillery_shiny_palette:: @ 8DC8C90 - .incbin "graphics/pokemon/palettes/octillery_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/octillery/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_octillery_icon:: @ 8DC8CB8 - .incbin "graphics/pokemon/icons/octillery_icon.4bpp" + .incbin "graphics/pokemon/octillery/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_octillery_footprint:: @ 8DC90B8 - .incbin "graphics/pokemon/footprints/octillery_footprint.1bpp" + .incbin "graphics/pokemon/octillery/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_delibird_still_front_pic:: @ 8DC90D8 - .incbin "graphics/pokemon/front_pics/delibird_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/delibird/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_delibird_palette:: @ 8DC9448 - .incbin "graphics/pokemon/palettes/delibird_palette.gbapal.lz" + .incbin "graphics/pokemon/delibird/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_delibird_back_pic:: @ 8DC9470 - .incbin "graphics/pokemon/back_pics/delibird_back_pic.4bpp.lz" + .incbin "graphics/pokemon/delibird/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_delibird_shiny_palette:: @ 8DC9830 - .incbin "graphics/pokemon/palettes/delibird_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/delibird/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_delibird_icon:: @ 8DC9858 - .incbin "graphics/pokemon/icons/delibird_icon.4bpp" + .incbin "graphics/pokemon/delibird/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_delibird_footprint:: @ 8DC9C58 - .incbin "graphics/pokemon/footprints/delibird_footprint.1bpp" + .incbin "graphics/pokemon/delibird/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_mantine_still_front_pic:: @ 8DC9C78 - .incbin "graphics/pokemon/front_pics/mantine_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/mantine/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_mantine_palette:: @ 8DCA114 - .incbin "graphics/pokemon/palettes/mantine_palette.gbapal.lz" + .incbin "graphics/pokemon/mantine/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_mantine_back_pic:: @ 8DCA13C - .incbin "graphics/pokemon/back_pics/mantine_back_pic.4bpp.lz" + .incbin "graphics/pokemon/mantine/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_mantine_shiny_palette:: @ 8DCA3DC - .incbin "graphics/pokemon/palettes/mantine_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/mantine/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_mantine_icon:: @ 8DCA404 - .incbin "graphics/pokemon/icons/mantine_icon.4bpp" + .incbin "graphics/pokemon/mantine/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_mantine_footprint:: @ 8DCA804 - .incbin "graphics/pokemon/footprints/mantine_footprint.1bpp" + .incbin "graphics/pokemon/mantine/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_skarmory_still_front_pic:: @ 8DCA824 - .incbin "graphics/pokemon/front_pics/skarmory_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/skarmory/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_skarmory_palette:: @ 8DCAD04 - .incbin "graphics/pokemon/palettes/skarmory_palette.gbapal.lz" + .incbin "graphics/pokemon/skarmory/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_skarmory_back_pic:: @ 8DCAD2C - .incbin "graphics/pokemon/back_pics/skarmory_back_pic.4bpp.lz" + .incbin "graphics/pokemon/skarmory/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_skarmory_shiny_palette:: @ 8DCB030 - .incbin "graphics/pokemon/palettes/skarmory_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/skarmory/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_skarmory_icon:: @ 8DCB058 - .incbin "graphics/pokemon/icons/skarmory_icon.4bpp" + .incbin "graphics/pokemon/skarmory/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_skarmory_footprint:: @ 8DCB458 - .incbin "graphics/pokemon/footprints/skarmory_footprint.1bpp" + .incbin "graphics/pokemon/skarmory/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_houndour_still_front_pic:: @ 8DCB478 - .incbin "graphics/pokemon/front_pics/houndour_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/houndour/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_houndour_palette:: @ 8DCB730 - .incbin "graphics/pokemon/palettes/houndour_palette.gbapal.lz" + .incbin "graphics/pokemon/houndour/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_houndour_back_pic:: @ 8DCB758 - .incbin "graphics/pokemon/back_pics/houndour_back_pic.4bpp.lz" + .incbin "graphics/pokemon/houndour/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_houndour_shiny_palette:: @ 8DCB9D8 - .incbin "graphics/pokemon/palettes/houndour_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/houndour/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_houndour_icon:: @ 8DCBA00 - .incbin "graphics/pokemon/icons/houndour_icon.4bpp" + .incbin "graphics/pokemon/houndour/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_houndour_footprint:: @ 8DCBE00 - .incbin "graphics/pokemon/footprints/houndour_footprint.1bpp" + .incbin "graphics/pokemon/houndour/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_houndoom_still_front_pic:: @ 8DCBE20 - .incbin "graphics/pokemon/front_pics/houndoom_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/houndoom/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_houndoom_palette:: @ 8DCC220 - .incbin "graphics/pokemon/palettes/houndoom_palette.gbapal.lz" + .incbin "graphics/pokemon/houndoom/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_houndoom_back_pic:: @ 8DCC248 - .incbin "graphics/pokemon/back_pics/houndoom_back_pic.4bpp.lz" + .incbin "graphics/pokemon/houndoom/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_houndoom_shiny_palette:: @ 8DCC56C - .incbin "graphics/pokemon/palettes/houndoom_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/houndoom/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_houndoom_icon:: @ 8DCC594 - .incbin "graphics/pokemon/icons/houndoom_icon.4bpp" + .incbin "graphics/pokemon/houndoom/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_houndoom_footprint:: @ 8DCC994 - .incbin "graphics/pokemon/footprints/houndoom_footprint.1bpp" + .incbin "graphics/pokemon/houndoom/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_kingdra_still_front_pic:: @ 8DCC9B4 - .incbin "graphics/pokemon/front_pics/kingdra_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/kingdra/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_kingdra_palette:: @ 8DCCDD4 - .incbin "graphics/pokemon/palettes/kingdra_palette.gbapal.lz" + .incbin "graphics/pokemon/kingdra/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_kingdra_back_pic:: @ 8DCCDFC - .incbin "graphics/pokemon/back_pics/kingdra_back_pic.4bpp.lz" + .incbin "graphics/pokemon/kingdra/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_kingdra_shiny_palette:: @ 8DCD1B0 - .incbin "graphics/pokemon/palettes/kingdra_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/kingdra/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_kingdra_icon:: @ 8DCD1D8 - .incbin "graphics/pokemon/icons/kingdra_icon.4bpp" + .incbin "graphics/pokemon/kingdra/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_kingdra_footprint:: @ 8DCD5D8 - .incbin "graphics/pokemon/footprints/kingdra_footprint.1bpp" + .incbin "graphics/pokemon/kingdra/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_phanpy_still_front_pic:: @ 8DCD5F8 - .incbin "graphics/pokemon/front_pics/phanpy_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/phanpy/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_phanpy_palette:: @ 8DCD854 - .incbin "graphics/pokemon/palettes/phanpy_palette.gbapal.lz" + .incbin "graphics/pokemon/phanpy/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_phanpy_back_pic:: @ 8DCD87C - .incbin "graphics/pokemon/back_pics/phanpy_back_pic.4bpp.lz" + .incbin "graphics/pokemon/phanpy/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_phanpy_shiny_palette:: @ 8DCDB40 - .incbin "graphics/pokemon/palettes/phanpy_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/phanpy/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_phanpy_icon:: @ 8DCDB68 - .incbin "graphics/pokemon/icons/phanpy_icon.4bpp" + .incbin "graphics/pokemon/phanpy/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_phanpy_footprint:: @ 8DCDF68 - .incbin "graphics/pokemon/footprints/phanpy_footprint.1bpp" + .incbin "graphics/pokemon/phanpy/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_donphan_still_front_pic:: @ 8DCDF88 - .incbin "graphics/pokemon/front_pics/donphan_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/donphan/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_donphan_palette:: @ 8DCE3FC - .incbin "graphics/pokemon/palettes/donphan_palette.gbapal.lz" + .incbin "graphics/pokemon/donphan/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_donphan_back_pic:: @ 8DCE424 - .incbin "graphics/pokemon/back_pics/donphan_back_pic.4bpp.lz" + .incbin "graphics/pokemon/donphan/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_donphan_shiny_palette:: @ 8DCE720 - .incbin "graphics/pokemon/palettes/donphan_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/donphan/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_donphan_icon:: @ 8DCE748 - .incbin "graphics/pokemon/icons/donphan_icon.4bpp" + .incbin "graphics/pokemon/donphan/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_donphan_footprint:: @ 8DCEB48 - .incbin "graphics/pokemon/footprints/donphan_footprint.1bpp" + .incbin "graphics/pokemon/donphan/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_porygon2_still_front_pic:: @ 8DCEB68 - .incbin "graphics/pokemon/front_pics/porygon2_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/porygon2/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_porygon2_palette:: @ 8DCEDF0 - .incbin "graphics/pokemon/palettes/porygon2_palette.gbapal.lz" + .incbin "graphics/pokemon/porygon2/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_porygon2_back_pic:: @ 8DCEE18 - .incbin "graphics/pokemon/back_pics/porygon2_back_pic.4bpp.lz" + .incbin "graphics/pokemon/porygon2/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_porygon2_shiny_palette:: @ 8DCF134 - .incbin "graphics/pokemon/palettes/porygon2_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/porygon2/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_porygon2_icon:: @ 8DCF15C - .incbin "graphics/pokemon/icons/porygon2_icon.4bpp" + .incbin "graphics/pokemon/porygon2/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_porygon2_footprint:: @ 8DCF55C - .incbin "graphics/pokemon/footprints/porygon2_footprint.1bpp" + .incbin "graphics/pokemon/porygon2/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_stantler_still_front_pic:: @ 8DCF57C - .incbin "graphics/pokemon/front_pics/stantler_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/stantler/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_stantler_palette:: @ 8DCF990 - .incbin "graphics/pokemon/palettes/stantler_palette.gbapal.lz" + .incbin "graphics/pokemon/stantler/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_stantler_back_pic:: @ 8DCF9B8 - .incbin "graphics/pokemon/back_pics/stantler_back_pic.4bpp.lz" + .incbin "graphics/pokemon/stantler/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_stantler_shiny_palette:: @ 8DCFD04 - .incbin "graphics/pokemon/palettes/stantler_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/stantler/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_stantler_icon:: @ 8DCFD2C - .incbin "graphics/pokemon/icons/stantler_icon.4bpp" + .incbin "graphics/pokemon/stantler/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_stantler_footprint:: @ 8DD012C - .incbin "graphics/pokemon/footprints/stantler_footprint.1bpp" + .incbin "graphics/pokemon/stantler/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_smeargle_still_front_pic:: @ 8DD014C - .incbin "graphics/pokemon/front_pics/smeargle_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/smeargle/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_smeargle_palette:: @ 8DD04E0 - .incbin "graphics/pokemon/palettes/smeargle_palette.gbapal.lz" + .incbin "graphics/pokemon/smeargle/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_smeargle_back_pic:: @ 8DD0508 - .incbin "graphics/pokemon/back_pics/smeargle_back_pic.4bpp.lz" + .incbin "graphics/pokemon/smeargle/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_smeargle_shiny_palette:: @ 8DD082C - .incbin "graphics/pokemon/palettes/smeargle_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/smeargle/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_smeargle_icon:: @ 8DD0854 - .incbin "graphics/pokemon/icons/smeargle_icon.4bpp" + .incbin "graphics/pokemon/smeargle/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_smeargle_footprint:: @ 8DD0C54 - .incbin "graphics/pokemon/footprints/smeargle_footprint.1bpp" + .incbin "graphics/pokemon/smeargle/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_tyrogue_still_front_pic:: @ 8DD0C74 - .incbin "graphics/pokemon/front_pics/tyrogue_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/tyrogue/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_tyrogue_palette:: @ 8DD0F00 - .incbin "graphics/pokemon/palettes/tyrogue_palette.gbapal.lz" + .incbin "graphics/pokemon/tyrogue/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_tyrogue_back_pic:: @ 8DD0F28 - .incbin "graphics/pokemon/back_pics/tyrogue_back_pic.4bpp.lz" + .incbin "graphics/pokemon/tyrogue/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_tyrogue_shiny_palette:: @ 8DD1244 - .incbin "graphics/pokemon/palettes/tyrogue_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/tyrogue/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_tyrogue_icon:: @ 8DD126C - .incbin "graphics/pokemon/icons/tyrogue_icon.4bpp" + .incbin "graphics/pokemon/tyrogue/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_tyrogue_footprint:: @ 8DD166C - .incbin "graphics/pokemon/footprints/tyrogue_footprint.1bpp" + .incbin "graphics/pokemon/tyrogue/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_hitmontop_still_front_pic:: @ 8DD168C - .incbin "graphics/pokemon/front_pics/hitmontop_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/hitmontop/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_hitmontop_palette:: @ 8DD1A18 - .incbin "graphics/pokemon/palettes/hitmontop_palette.gbapal.lz" + .incbin "graphics/pokemon/hitmontop/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_hitmontop_back_pic:: @ 8DD1A40 - .incbin "graphics/pokemon/back_pics/hitmontop_back_pic.4bpp.lz" + .incbin "graphics/pokemon/hitmontop/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_hitmontop_shiny_palette:: @ 8DD1E68 - .incbin "graphics/pokemon/palettes/hitmontop_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/hitmontop/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_hitmontop_icon:: @ 8DD1E90 - .incbin "graphics/pokemon/icons/hitmontop_icon.4bpp" + .incbin "graphics/pokemon/hitmontop/icon.4bpp" gUnknown_hitmontop_unknown_data:: @ 8DD2290 .incbin "baserom.gba", 0xDD2290, 0x200 .align 2 gFile_graphics_pokemon_footprints_hitmontop_footprint:: @ 8DD2490 - .incbin "graphics/pokemon/footprints/hitmontop_footprint.1bpp" + .incbin "graphics/pokemon/hitmontop/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_smoochum_still_front_pic:: @ 8DD24B0 - .incbin "graphics/pokemon/front_pics/smoochum_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/smoochum/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_smoochum_palette:: @ 8DD2708 - .incbin "graphics/pokemon/palettes/smoochum_palette.gbapal.lz" + .incbin "graphics/pokemon/smoochum/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_smoochum_back_pic:: @ 8DD2730 - .incbin "graphics/pokemon/back_pics/smoochum_back_pic.4bpp.lz" + .incbin "graphics/pokemon/smoochum/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_smoochum_shiny_palette:: @ 8DD29A8 - .incbin "graphics/pokemon/palettes/smoochum_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/smoochum/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_smoochum_icon:: @ 8DD29D0 - .incbin "graphics/pokemon/icons/smoochum_icon.4bpp" + .incbin "graphics/pokemon/smoochum/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_smoochum_footprint:: @ 8DD2DD0 - .incbin "graphics/pokemon/footprints/smoochum_footprint.1bpp" + .incbin "graphics/pokemon/smoochum/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_elekid_still_front_pic:: @ 8DD2DF0 - .incbin "graphics/pokemon/front_pics/elekid_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/elekid/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_elekid_palette:: @ 8DD30F8 - .incbin "graphics/pokemon/palettes/elekid_palette.gbapal.lz" + .incbin "graphics/pokemon/elekid/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_elekid_back_pic:: @ 8DD3120 - .incbin "graphics/pokemon/back_pics/elekid_back_pic.4bpp.lz" + .incbin "graphics/pokemon/elekid/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_elekid_shiny_palette:: @ 8DD3478 - .incbin "graphics/pokemon/palettes/elekid_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/elekid/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_elekid_icon:: @ 8DD34A0 - .incbin "graphics/pokemon/icons/elekid_icon.4bpp" + .incbin "graphics/pokemon/elekid/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_elekid_footprint:: @ 8DD38A0 - .incbin "graphics/pokemon/footprints/elekid_footprint.1bpp" + .incbin "graphics/pokemon/elekid/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_magby_still_front_pic:: @ 8DD38C0 - .incbin "graphics/pokemon/front_pics/magby_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/magby/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_magby_palette:: @ 8DD3B44 - .incbin "graphics/pokemon/palettes/magby_palette.gbapal.lz" + .incbin "graphics/pokemon/magby/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_magby_back_pic:: @ 8DD3B6C - .incbin "graphics/pokemon/back_pics/magby_back_pic.4bpp.lz" + .incbin "graphics/pokemon/magby/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_magby_shiny_palette:: @ 8DD3E18 - .incbin "graphics/pokemon/palettes/magby_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/magby/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_magby_icon:: @ 8DD3E40 - .incbin "graphics/pokemon/icons/magby_icon.4bpp" + .incbin "graphics/pokemon/magby/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_magby_footprint:: @ 8DD4240 - .incbin "graphics/pokemon/footprints/magby_footprint.1bpp" + .incbin "graphics/pokemon/magby/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_miltank_still_front_pic:: @ 8DD4260 - .incbin "graphics/pokemon/front_pics/miltank_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/miltank/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_miltank_palette:: @ 8DD4610 - .incbin "graphics/pokemon/palettes/miltank_palette.gbapal.lz" + .incbin "graphics/pokemon/miltank/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_miltank_back_pic:: @ 8DD4638 - .incbin "graphics/pokemon/back_pics/miltank_back_pic.4bpp.lz" + .incbin "graphics/pokemon/miltank/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_miltank_shiny_palette:: @ 8DD49D4 - .incbin "graphics/pokemon/palettes/miltank_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/miltank/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_miltank_icon:: @ 8DD49FC - .incbin "graphics/pokemon/icons/miltank_icon.4bpp" + .incbin "graphics/pokemon/miltank/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_miltank_footprint:: @ 8DD4DFC - .incbin "graphics/pokemon/footprints/miltank_footprint.1bpp" + .incbin "graphics/pokemon/miltank/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_blissey_still_front_pic:: @ 8DD4E1C - .incbin "graphics/pokemon/front_pics/blissey_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/blissey/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_blissey_palette:: @ 8DD5204 - .incbin "graphics/pokemon/palettes/blissey_palette.gbapal.lz" + .incbin "graphics/pokemon/blissey/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_blissey_back_pic:: @ 8DD522C - .incbin "graphics/pokemon/back_pics/blissey_back_pic.4bpp.lz" + .incbin "graphics/pokemon/blissey/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_blissey_shiny_palette:: @ 8DD54F8 - .incbin "graphics/pokemon/palettes/blissey_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/blissey/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_blissey_icon:: @ 8DD5520 - .incbin "graphics/pokemon/icons/blissey_icon.4bpp" + .incbin "graphics/pokemon/blissey/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_blissey_footprint:: @ 8DD5920 - .incbin "graphics/pokemon/footprints/blissey_footprint.1bpp" + .incbin "graphics/pokemon/blissey/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_raikou_still_front_pic:: @ 8DD5940 - .incbin "graphics/pokemon/front_pics/raikou_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/raikou/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_raikou_palette:: @ 8DD5EBC - .incbin "graphics/pokemon/palettes/raikou_palette.gbapal.lz" + .incbin "graphics/pokemon/raikou/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_raikou_back_pic:: @ 8DD5EE4 - .incbin "graphics/pokemon/back_pics/raikou_back_pic.4bpp.lz" + .incbin "graphics/pokemon/raikou/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_raikou_shiny_palette:: @ 8DD628C - .incbin "graphics/pokemon/palettes/raikou_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/raikou/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_raikou_icon:: @ 8DD62B4 - .incbin "graphics/pokemon/icons/raikou_icon.4bpp" + .incbin "graphics/pokemon/raikou/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_raikou_footprint:: @ 8DD66B4 - .incbin "graphics/pokemon/footprints/raikou_footprint.1bpp" + .incbin "graphics/pokemon/raikou/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_entei_still_front_pic:: @ 8DD66D4 - .incbin "graphics/pokemon/front_pics/entei_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/entei/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_entei_palette:: @ 8DD6CD0 - .incbin "graphics/pokemon/palettes/entei_palette.gbapal.lz" + .incbin "graphics/pokemon/entei/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_entei_back_pic:: @ 8DD6CF8 - .incbin "graphics/pokemon/back_pics/entei_back_pic.4bpp.lz" + .incbin "graphics/pokemon/entei/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_entei_shiny_palette:: @ 8DD711C - .incbin "graphics/pokemon/palettes/entei_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/entei/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_entei_icon:: @ 8DD7144 - .incbin "graphics/pokemon/icons/entei_icon.4bpp" + .incbin "graphics/pokemon/entei/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_entei_footprint:: @ 8DD7544 - .incbin "graphics/pokemon/footprints/entei_footprint.1bpp" + .incbin "graphics/pokemon/entei/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_suicune_still_front_pic:: @ 8DD7564 - .incbin "graphics/pokemon/front_pics/suicune_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/suicune/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_suicune_palette:: @ 8DD7AE8 - .incbin "graphics/pokemon/palettes/suicune_palette.gbapal.lz" + .incbin "graphics/pokemon/suicune/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_suicune_back_pic:: @ 8DD7B10 - .incbin "graphics/pokemon/back_pics/suicune_back_pic.4bpp.lz" + .incbin "graphics/pokemon/suicune/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_suicune_shiny_palette:: @ 8DD7FEC - .incbin "graphics/pokemon/palettes/suicune_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/suicune/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_suicune_icon:: @ 8DD8014 - .incbin "graphics/pokemon/icons/suicune_icon.4bpp" + .incbin "graphics/pokemon/suicune/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_suicune_footprint:: @ 8DD8414 - .incbin "graphics/pokemon/footprints/suicune_footprint.1bpp" + .incbin "graphics/pokemon/suicune/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_larvitar_still_front_pic:: @ 8DD8434 - .incbin "graphics/pokemon/front_pics/larvitar_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/larvitar/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_larvitar_palette:: @ 8DD8690 - .incbin "graphics/pokemon/palettes/larvitar_palette.gbapal.lz" + .incbin "graphics/pokemon/larvitar/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_larvitar_back_pic:: @ 8DD86B8 - .incbin "graphics/pokemon/back_pics/larvitar_back_pic.4bpp.lz" + .incbin "graphics/pokemon/larvitar/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_larvitar_shiny_palette:: @ 8DD8964 - .incbin "graphics/pokemon/palettes/larvitar_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/larvitar/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_larvitar_icon:: @ 8DD898C - .incbin "graphics/pokemon/icons/larvitar_icon.4bpp" + .incbin "graphics/pokemon/larvitar/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_larvitar_footprint:: @ 8DD8D8C - .incbin "graphics/pokemon/footprints/larvitar_footprint.1bpp" + .incbin "graphics/pokemon/larvitar/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_pupitar_still_front_pic:: @ 8DD8DAC - .incbin "graphics/pokemon/front_pics/pupitar_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/pupitar/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_pupitar_palette:: @ 8DD909C - .incbin "graphics/pokemon/palettes/pupitar_palette.gbapal.lz" + .incbin "graphics/pokemon/pupitar/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_pupitar_back_pic:: @ 8DD90C4 - .incbin "graphics/pokemon/back_pics/pupitar_back_pic.4bpp.lz" + .incbin "graphics/pokemon/pupitar/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_pupitar_shiny_palette:: @ 8DD93FC - .incbin "graphics/pokemon/palettes/pupitar_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/pupitar/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_pupitar_icon:: @ 8DD9424 - .incbin "graphics/pokemon/icons/pupitar_icon.4bpp" + .incbin "graphics/pokemon/pupitar/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_pupitar_footprint:: @ 8DD9824 - .incbin "graphics/pokemon/footprints/pupitar_footprint.1bpp" + .incbin "graphics/pokemon/pupitar/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_tyranitar_still_front_pic:: @ 8DD9844 - .incbin "graphics/pokemon/front_pics/tyranitar_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/tyranitar/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_tyranitar_palette:: @ 8DD9D80 - .incbin "graphics/pokemon/palettes/tyranitar_palette.gbapal.lz" + .incbin "graphics/pokemon/tyranitar/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_tyranitar_back_pic:: @ 8DD9DA8 - .incbin "graphics/pokemon/back_pics/tyranitar_back_pic.4bpp.lz" + .incbin "graphics/pokemon/tyranitar/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_tyranitar_shiny_palette:: @ 8DDA194 - .incbin "graphics/pokemon/palettes/tyranitar_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/tyranitar/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_tyranitar_icon:: @ 8DDA1BC - .incbin "graphics/pokemon/icons/tyranitar_icon.4bpp" + .incbin "graphics/pokemon/tyranitar/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_tyranitar_footprint:: @ 8DDA5BC - .incbin "graphics/pokemon/footprints/tyranitar_footprint.1bpp" + .incbin "graphics/pokemon/tyranitar/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_lugia_still_front_pic:: @ 8DDA5DC - .incbin "graphics/pokemon/front_pics/lugia_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/lugia/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_lugia_palette:: @ 8DDAAA0 - .incbin "graphics/pokemon/palettes/lugia_palette.gbapal.lz" + .incbin "graphics/pokemon/lugia/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_lugia_back_pic:: @ 8DDAAC8 - .incbin "graphics/pokemon/back_pics/lugia_back_pic.4bpp.lz" + .incbin "graphics/pokemon/lugia/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_lugia_shiny_palette:: @ 8DDAE9C - .incbin "graphics/pokemon/palettes/lugia_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/lugia/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_lugia_icon:: @ 8DDAEC4 - .incbin "graphics/pokemon/icons/lugia_icon.4bpp" + .incbin "graphics/pokemon/lugia/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_lugia_footprint:: @ 8DDB2C4 - .incbin "graphics/pokemon/footprints/lugia_footprint.1bpp" + .incbin "graphics/pokemon/lugia/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_ho_oh_still_front_pic:: @ 8DDB2E4 - .incbin "graphics/pokemon/front_pics/ho_oh_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/ho_oh/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_ho_oh_palette:: @ 8DDB938 - .incbin "graphics/pokemon/palettes/ho_oh_palette.gbapal.lz" + .incbin "graphics/pokemon/ho_oh/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_ho_oh_back_pic:: @ 8DDB960 - .incbin "graphics/pokemon/back_pics/ho_oh_back_pic.4bpp.lz" + .incbin "graphics/pokemon/ho_oh/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_ho_oh_shiny_palette:: @ 8DDBD70 - .incbin "graphics/pokemon/palettes/ho_oh_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/ho_oh/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_ho_oh_icon:: @ 8DDBD98 - .incbin "graphics/pokemon/icons/ho_oh_icon.4bpp" + .incbin "graphics/pokemon/ho_oh/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_ho_oh_footprint:: @ 8DDC198 - .incbin "graphics/pokemon/footprints/ho_oh_footprint.1bpp" + .incbin "graphics/pokemon/ho_oh/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_celebi_still_front_pic:: @ 8DDC1B8 - .incbin "graphics/pokemon/front_pics/celebi_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/celebi/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_celebi_palette:: @ 8DDC430 - .incbin "graphics/pokemon/palettes/celebi_palette.gbapal.lz" + .incbin "graphics/pokemon/celebi/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_celebi_back_pic:: @ 8DDC458 - .incbin "graphics/pokemon/back_pics/celebi_back_pic.4bpp.lz" + .incbin "graphics/pokemon/celebi/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_celebi_shiny_palette:: @ 8DDC804 - .incbin "graphics/pokemon/palettes/celebi_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/celebi/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_celebi_icon:: @ 8DDC82C - .incbin "graphics/pokemon/icons/celebi_icon.4bpp" + .incbin "graphics/pokemon/celebi/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_celebi_footprint:: @ 8DDCC2C - .incbin "graphics/pokemon/footprints/celebi_footprint.1bpp" + .incbin "graphics/pokemon/celebi/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_double_question_mark_still_front_pic:: @ 8DDCC4C - .incbin "graphics/pokemon/front_pics/double_question_mark_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/question_mark/double/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_double_question_mark_palette:: @ 8DDCDD0 - .incbin "graphics/pokemon/palettes/double_question_mark_palette.gbapal.lz" + .incbin "graphics/pokemon/question_mark/double/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_double_question_mark_back_pic:: @ 8DDCDE4 - .incbin "graphics/pokemon/back_pics/double_question_mark_back_pic.4bpp.lz" + .incbin "graphics/pokemon/question_mark/double/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_double_question_mark_shiny_palette:: @ 8DDCF68 - .incbin "graphics/pokemon/palettes/double_question_mark_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/question_mark/double/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_front_pics_treecko_still_front_pic:: @ 8DDCF7C - .incbin "graphics/pokemon/front_pics/treecko_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/treecko/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_treecko_palette:: @ 8DDD284 - .incbin "graphics/pokemon/palettes/treecko_palette.gbapal.lz" + .incbin "graphics/pokemon/treecko/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_treecko_back_pic:: @ 8DDD2AC - .incbin "graphics/pokemon/back_pics/treecko_back_pic.4bpp.lz" + .incbin "graphics/pokemon/treecko/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_treecko_shiny_palette:: @ 8DDD5AC - .incbin "graphics/pokemon/palettes/treecko_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/treecko/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_treecko_icon:: @ 8DDD5D4 - .incbin "graphics/pokemon/icons/treecko_icon.4bpp" + .incbin "graphics/pokemon/treecko/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_treecko_footprint:: @ 8DDD9D4 - .incbin "graphics/pokemon/footprints/treecko_footprint.1bpp" + .incbin "graphics/pokemon/treecko/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_grovyle_still_front_pic:: @ 8DDD9F4 - .incbin "graphics/pokemon/front_pics/grovyle_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/grovyle/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_grovyle_palette:: @ 8DDDE80 - .incbin "graphics/pokemon/palettes/grovyle_palette.gbapal.lz" + .incbin "graphics/pokemon/grovyle/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_grovyle_back_pic:: @ 8DDDEA8 - .incbin "graphics/pokemon/back_pics/grovyle_back_pic.4bpp.lz" + .incbin "graphics/pokemon/grovyle/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_grovyle_shiny_palette:: @ 8DDE1E4 - .incbin "graphics/pokemon/palettes/grovyle_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/grovyle/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_grovyle_icon:: @ 8DDE20C - .incbin "graphics/pokemon/icons/grovyle_icon.4bpp" + .incbin "graphics/pokemon/grovyle/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_grovyle_footprint:: @ 8DDE60C - .incbin "graphics/pokemon/footprints/grovyle_footprint.1bpp" + .incbin "graphics/pokemon/grovyle/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_sceptile_still_front_pic:: @ 8DDE62C - .incbin "graphics/pokemon/front_pics/sceptile_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/sceptile/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_sceptile_palette:: @ 8DDEB30 - .incbin "graphics/pokemon/palettes/sceptile_palette.gbapal.lz" + .incbin "graphics/pokemon/sceptile/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_sceptile_back_pic:: @ 8DDEB58 - .incbin "graphics/pokemon/back_pics/sceptile_back_pic.4bpp.lz" + .incbin "graphics/pokemon/sceptile/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_sceptile_shiny_palette:: @ 8DDEF54 - .incbin "graphics/pokemon/palettes/sceptile_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/sceptile/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_sceptile_icon:: @ 8DDEF7C - .incbin "graphics/pokemon/icons/sceptile_icon.4bpp" + .incbin "graphics/pokemon/sceptile/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_sceptile_footprint:: @ 8DDF37C - .incbin "graphics/pokemon/footprints/sceptile_footprint.1bpp" + .incbin "graphics/pokemon/sceptile/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_torchic_still_front_pic:: @ 8DDF39C - .incbin "graphics/pokemon/front_pics/torchic_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/torchic/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_torchic_palette:: @ 8DDF638 - .incbin "graphics/pokemon/palettes/torchic_palette.gbapal.lz" + .incbin "graphics/pokemon/torchic/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_torchic_back_pic:: @ 8DDF660 - .incbin "graphics/pokemon/back_pics/torchic_back_pic.4bpp.lz" + .incbin "graphics/pokemon/torchic/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_torchic_shiny_palette:: @ 8DDF938 - .incbin "graphics/pokemon/palettes/torchic_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/torchic/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_torchic_icon:: @ 8DDF960 - .incbin "graphics/pokemon/icons/torchic_icon.4bpp" + .incbin "graphics/pokemon/torchic/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_torchic_footprint:: @ 8DDFD60 - .incbin "graphics/pokemon/footprints/torchic_footprint.1bpp" + .incbin "graphics/pokemon/torchic/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_combusken_still_front_pic:: @ 8DDFD80 - .incbin "graphics/pokemon/front_pics/combusken_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/combusken/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_combusken_palette:: @ 8DE016C - .incbin "graphics/pokemon/palettes/combusken_palette.gbapal.lz" + .incbin "graphics/pokemon/combusken/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_combusken_back_pic:: @ 8DE0194 - .incbin "graphics/pokemon/back_pics/combusken_back_pic.4bpp.lz" + .incbin "graphics/pokemon/combusken/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_combusken_shiny_palette:: @ 8DE0564 - .incbin "graphics/pokemon/palettes/combusken_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/combusken/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_combusken_icon:: @ 8DE058C - .incbin "graphics/pokemon/icons/combusken_icon.4bpp" + .incbin "graphics/pokemon/combusken/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_combusken_footprint:: @ 8DE098C - .incbin "graphics/pokemon/footprints/combusken_footprint.1bpp" + .incbin "graphics/pokemon/combusken/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_blaziken_still_front_pic:: @ 8DE09AC - .incbin "graphics/pokemon/front_pics/blaziken_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/blaziken/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_blaziken_palette:: @ 8DE0E24 - .incbin "graphics/pokemon/palettes/blaziken_palette.gbapal.lz" + .incbin "graphics/pokemon/blaziken/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_blaziken_back_pic:: @ 8DE0E4C - .incbin "graphics/pokemon/back_pics/blaziken_back_pic.4bpp.lz" + .incbin "graphics/pokemon/blaziken/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_blaziken_shiny_palette:: @ 8DE1228 - .incbin "graphics/pokemon/palettes/blaziken_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/blaziken/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_blaziken_icon:: @ 8DE1250 - .incbin "graphics/pokemon/icons/blaziken_icon.4bpp" + .incbin "graphics/pokemon/blaziken/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_blaziken_footprint:: @ 8DE1650 - .incbin "graphics/pokemon/footprints/blaziken_footprint.1bpp" + .incbin "graphics/pokemon/blaziken/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_mudkip_still_front_pic:: @ 8DE1670 - .incbin "graphics/pokemon/front_pics/mudkip_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/mudkip/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_mudkip_palette:: @ 8DE1928 - .incbin "graphics/pokemon/palettes/mudkip_palette.gbapal.lz" + .incbin "graphics/pokemon/mudkip/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_mudkip_back_pic:: @ 8DE1950 - .incbin "graphics/pokemon/back_pics/mudkip_back_pic.4bpp.lz" + .incbin "graphics/pokemon/mudkip/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_mudkip_shiny_palette:: @ 8DE1C30 - .incbin "graphics/pokemon/palettes/mudkip_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/mudkip/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_mudkip_icon:: @ 8DE1C58 - .incbin "graphics/pokemon/icons/mudkip_icon.4bpp" + .incbin "graphics/pokemon/mudkip/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_mudkip_footprint:: @ 8DE2058 - .incbin "graphics/pokemon/footprints/mudkip_footprint.1bpp" + .incbin "graphics/pokemon/mudkip/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_marshtomp_still_front_pic:: @ 8DE2078 - .incbin "graphics/pokemon/front_pics/marshtomp_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/marshtomp/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_marshtomp_palette:: @ 8DE2400 - .incbin "graphics/pokemon/palettes/marshtomp_palette.gbapal.lz" + .incbin "graphics/pokemon/marshtomp/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_marshtomp_back_pic:: @ 8DE2428 - .incbin "graphics/pokemon/back_pics/marshtomp_back_pic.4bpp.lz" + .incbin "graphics/pokemon/marshtomp/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_marshtomp_shiny_palette:: @ 8DE27D8 - .incbin "graphics/pokemon/palettes/marshtomp_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/marshtomp/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_marshtomp_icon:: @ 8DE2800 - .incbin "graphics/pokemon/icons/marshtomp_icon.4bpp" + .incbin "graphics/pokemon/marshtomp/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_marshtomp_footprint:: @ 8DE2C00 - .incbin "graphics/pokemon/footprints/marshtomp_footprint.1bpp" + .incbin "graphics/pokemon/marshtomp/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_swampert_still_front_pic:: @ 8DE2C20 - .incbin "graphics/pokemon/front_pics/swampert_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/swampert/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_swampert_palette:: @ 8DE319C - .incbin "graphics/pokemon/palettes/swampert_palette.gbapal.lz" + .incbin "graphics/pokemon/swampert/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_swampert_back_pic:: @ 8DE31C4 - .incbin "graphics/pokemon/back_pics/swampert_back_pic.4bpp.lz" + .incbin "graphics/pokemon/swampert/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_swampert_shiny_palette:: @ 8DE3578 - .incbin "graphics/pokemon/palettes/swampert_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/swampert/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_swampert_icon:: @ 8DE35A0 - .incbin "graphics/pokemon/icons/swampert_icon.4bpp" + .incbin "graphics/pokemon/swampert/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_swampert_footprint:: @ 8DE39A0 - .incbin "graphics/pokemon/footprints/swampert_footprint.1bpp" + .incbin "graphics/pokemon/swampert/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_poochyena_still_front_pic:: @ 8DE39C0 - .incbin "graphics/pokemon/front_pics/poochyena_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/poochyena/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_poochyena_palette:: @ 8DE3C88 - .incbin "graphics/pokemon/palettes/poochyena_palette.gbapal.lz" + .incbin "graphics/pokemon/poochyena/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_poochyena_back_pic:: @ 8DE3CB0 - .incbin "graphics/pokemon/back_pics/poochyena_back_pic.4bpp.lz" + .incbin "graphics/pokemon/poochyena/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_poochyena_shiny_palette:: @ 8DE3FDC - .incbin "graphics/pokemon/palettes/poochyena_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/poochyena/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_poochyena_icon:: @ 8DE4004 - .incbin "graphics/pokemon/icons/poochyena_icon.4bpp" + .incbin "graphics/pokemon/poochyena/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_poochyena_footprint:: @ 8DE4404 - .incbin "graphics/pokemon/footprints/poochyena_footprint.1bpp" + .incbin "graphics/pokemon/poochyena/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_mightyena_still_front_pic:: @ 8DE4424 - .incbin "graphics/pokemon/front_pics/mightyena_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/mightyena/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_mightyena_palette:: @ 8DE485C - .incbin "graphics/pokemon/palettes/mightyena_palette.gbapal.lz" + .incbin "graphics/pokemon/mightyena/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_mightyena_back_pic:: @ 8DE4884 - .incbin "graphics/pokemon/back_pics/mightyena_back_pic.4bpp.lz" + .incbin "graphics/pokemon/mightyena/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_mightyena_shiny_palette:: @ 8DE4BFC - .incbin "graphics/pokemon/palettes/mightyena_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/mightyena/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_mightyena_icon:: @ 8DE4C24 - .incbin "graphics/pokemon/icons/mightyena_icon.4bpp" + .incbin "graphics/pokemon/mightyena/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_mightyena_footprint:: @ 8DE5024 - .incbin "graphics/pokemon/footprints/mightyena_footprint.1bpp" + .incbin "graphics/pokemon/mightyena/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_zigzagoon_still_front_pic:: @ 8DE5044 - .incbin "graphics/pokemon/front_pics/zigzagoon_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/zigzagoon/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_zigzagoon_palette:: @ 8DE5414 - .incbin "graphics/pokemon/palettes/zigzagoon_palette.gbapal.lz" + .incbin "graphics/pokemon/zigzagoon/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_zigzagoon_back_pic:: @ 8DE543C - .incbin "graphics/pokemon/back_pics/zigzagoon_back_pic.4bpp.lz" + .incbin "graphics/pokemon/zigzagoon/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_zigzagoon_shiny_palette:: @ 8DE577C - .incbin "graphics/pokemon/palettes/zigzagoon_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/zigzagoon/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_zigzagoon_icon:: @ 8DE57A4 - .incbin "graphics/pokemon/icons/zigzagoon_icon.4bpp" + .incbin "graphics/pokemon/zigzagoon/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_zigzagoon_footprint:: @ 8DE5BA4 - .incbin "graphics/pokemon/footprints/zigzagoon_footprint.1bpp" + .incbin "graphics/pokemon/zigzagoon/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_linoone_still_front_pic:: @ 8DE5BC4 - .incbin "graphics/pokemon/front_pics/linoone_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/linoone/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_linoone_palette:: @ 8DE5F34 - .incbin "graphics/pokemon/palettes/linoone_palette.gbapal.lz" + .incbin "graphics/pokemon/linoone/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_linoone_back_pic:: @ 8DE5F5C - .incbin "graphics/pokemon/back_pics/linoone_back_pic.4bpp.lz" + .incbin "graphics/pokemon/linoone/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_linoone_shiny_palette:: @ 8DE6230 - .incbin "graphics/pokemon/palettes/linoone_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/linoone/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_linoone_icon:: @ 8DE6258 - .incbin "graphics/pokemon/icons/linoone_icon.4bpp" + .incbin "graphics/pokemon/linoone/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_linoone_footprint:: @ 8DE6658 - .incbin "graphics/pokemon/footprints/linoone_footprint.1bpp" + .incbin "graphics/pokemon/linoone/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_wurmple_still_front_pic:: @ 8DE6678 - .incbin "graphics/pokemon/front_pics/wurmple_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/wurmple/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_wurmple_palette:: @ 8DE6900 - .incbin "graphics/pokemon/palettes/wurmple_palette.gbapal.lz" + .incbin "graphics/pokemon/wurmple/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_wurmple_back_pic:: @ 8DE6928 - .incbin "graphics/pokemon/back_pics/wurmple_back_pic.4bpp.lz" + .incbin "graphics/pokemon/wurmple/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_wurmple_shiny_palette:: @ 8DE6B74 - .incbin "graphics/pokemon/palettes/wurmple_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/wurmple/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_wurmple_icon:: @ 8DE6B9C - .incbin "graphics/pokemon/icons/wurmple_icon.4bpp" + .incbin "graphics/pokemon/wurmple/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_wurmple_footprint:: @ 8DE6F9C - .incbin "graphics/pokemon/footprints/wurmple_footprint.1bpp" + .incbin "graphics/pokemon/wurmple/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_silcoon_still_front_pic:: @ 8DE6FBC - .incbin "graphics/pokemon/front_pics/silcoon_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/silcoon/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_silcoon_palette:: @ 8DE723C - .incbin "graphics/pokemon/palettes/silcoon_palette.gbapal.lz" + .incbin "graphics/pokemon/silcoon/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_silcoon_back_pic:: @ 8DE7264 - .incbin "graphics/pokemon/back_pics/silcoon_back_pic.4bpp.lz" + .incbin "graphics/pokemon/silcoon/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_silcoon_shiny_palette:: @ 8DE7480 - .incbin "graphics/pokemon/palettes/silcoon_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/silcoon/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_silcoon_icon:: @ 8DE74A8 - .incbin "graphics/pokemon/icons/silcoon_icon.4bpp" + .incbin "graphics/pokemon/silcoon/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_silcoon_footprint:: @ 8DE78A8 - .incbin "graphics/pokemon/footprints/silcoon_footprint.1bpp" + .incbin "graphics/pokemon/silcoon/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_beautifly_still_front_pic:: @ 8DE78C8 - .incbin "graphics/pokemon/front_pics/beautifly_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/beautifly/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_beautifly_palette:: @ 8DE7C20 - .incbin "graphics/pokemon/palettes/beautifly_palette.gbapal.lz" + .incbin "graphics/pokemon/beautifly/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_beautifly_back_pic:: @ 8DE7C48 - .incbin "graphics/pokemon/back_pics/beautifly_back_pic.4bpp.lz" + .incbin "graphics/pokemon/beautifly/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_beautifly_shiny_palette:: @ 8DE7FF8 - .incbin "graphics/pokemon/palettes/beautifly_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/beautifly/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_beautifly_icon:: @ 8DE8020 - .incbin "graphics/pokemon/icons/beautifly_icon.4bpp" + .incbin "graphics/pokemon/beautifly/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_beautifly_footprint:: @ 8DE8420 - .incbin "graphics/pokemon/footprints/beautifly_footprint.1bpp" + .incbin "graphics/pokemon/beautifly/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_cascoon_still_front_pic:: @ 8DE8440 - .incbin "graphics/pokemon/front_pics/cascoon_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/cascoon/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_cascoon_palette:: @ 8DE86AC - .incbin "graphics/pokemon/palettes/cascoon_palette.gbapal.lz" + .incbin "graphics/pokemon/cascoon/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_cascoon_back_pic:: @ 8DE86D4 - .incbin "graphics/pokemon/back_pics/cascoon_back_pic.4bpp.lz" + .incbin "graphics/pokemon/cascoon/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_cascoon_shiny_palette:: @ 8DE88E4 - .incbin "graphics/pokemon/palettes/cascoon_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/cascoon/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_cascoon_icon:: @ 8DE890C - .incbin "graphics/pokemon/icons/cascoon_icon.4bpp" + .incbin "graphics/pokemon/cascoon/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_cascoon_footprint:: @ 8DE8D0C - .incbin "graphics/pokemon/footprints/cascoon_footprint.1bpp" + .incbin "graphics/pokemon/cascoon/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_dustox_still_front_pic:: @ 8DE8D2C - .incbin "graphics/pokemon/front_pics/dustox_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/dustox/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_dustox_palette:: @ 8DE9094 - .incbin "graphics/pokemon/palettes/dustox_palette.gbapal.lz" + .incbin "graphics/pokemon/dustox/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_dustox_back_pic:: @ 8DE90BC - .incbin "graphics/pokemon/back_pics/dustox_back_pic.4bpp.lz" + .incbin "graphics/pokemon/dustox/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_dustox_shiny_palette:: @ 8DE9314 - .incbin "graphics/pokemon/palettes/dustox_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/dustox/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_dustox_icon:: @ 8DE933C - .incbin "graphics/pokemon/icons/dustox_icon.4bpp" + .incbin "graphics/pokemon/dustox/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_dustox_footprint:: @ 8DE973C - .incbin "graphics/pokemon/footprints/dustox_footprint.1bpp" + .incbin "graphics/pokemon/dustox/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_lotad_still_front_pic:: @ 8DE975C - .incbin "graphics/pokemon/front_pics/lotad_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/lotad/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_lotad_palette:: @ 8DE99BC - .incbin "graphics/pokemon/palettes/lotad_palette.gbapal.lz" + .incbin "graphics/pokemon/lotad/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_lotad_back_pic:: @ 8DE99E4 - .incbin "graphics/pokemon/back_pics/lotad_back_pic.4bpp.lz" + .incbin "graphics/pokemon/lotad/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_lotad_shiny_palette:: @ 8DE9CCC - .incbin "graphics/pokemon/palettes/lotad_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/lotad/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_lotad_icon:: @ 8DE9CF4 - .incbin "graphics/pokemon/icons/lotad_icon.4bpp" + .incbin "graphics/pokemon/lotad/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_lotad_footprint:: @ 8DEA0F4 - .incbin "graphics/pokemon/footprints/lotad_footprint.1bpp" + .incbin "graphics/pokemon/lotad/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_lombre_still_front_pic:: @ 8DEA114 - .incbin "graphics/pokemon/front_pics/lombre_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/lombre/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_lombre_palette:: @ 8DEA42C - .incbin "graphics/pokemon/palettes/lombre_palette.gbapal.lz" + .incbin "graphics/pokemon/lombre/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_lombre_back_pic:: @ 8DEA454 - .incbin "graphics/pokemon/back_pics/lombre_back_pic.4bpp.lz" + .incbin "graphics/pokemon/lombre/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_lombre_shiny_palette:: @ 8DEA750 - .incbin "graphics/pokemon/palettes/lombre_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/lombre/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_lombre_icon:: @ 8DEA778 - .incbin "graphics/pokemon/icons/lombre_icon.4bpp" + .incbin "graphics/pokemon/lombre/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_lombre_footprint:: @ 8DEAB78 - .incbin "graphics/pokemon/footprints/lombre_footprint.1bpp" + .incbin "graphics/pokemon/lombre/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_ludicolo_still_front_pic:: @ 8DEAB98 - .incbin "graphics/pokemon/front_pics/ludicolo_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/ludicolo/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_ludicolo_palette:: @ 8DEB07C - .incbin "graphics/pokemon/palettes/ludicolo_palette.gbapal.lz" + .incbin "graphics/pokemon/ludicolo/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_ludicolo_back_pic:: @ 8DEB0A4 - .incbin "graphics/pokemon/back_pics/ludicolo_back_pic.4bpp.lz" + .incbin "graphics/pokemon/ludicolo/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_ludicolo_shiny_palette:: @ 8DEB3A0 - .incbin "graphics/pokemon/palettes/ludicolo_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/ludicolo/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_ludicolo_icon:: @ 8DEB3C8 - .incbin "graphics/pokemon/icons/ludicolo_icon.4bpp" + .incbin "graphics/pokemon/ludicolo/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_ludicolo_footprint:: @ 8DEB7C8 - .incbin "graphics/pokemon/footprints/ludicolo_footprint.1bpp" + .incbin "graphics/pokemon/ludicolo/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_seedot_still_front_pic:: @ 8DEB7E8 - .incbin "graphics/pokemon/front_pics/seedot_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/seedot/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_seedot_palette:: @ 8DEBA7C - .incbin "graphics/pokemon/palettes/seedot_palette.gbapal.lz" + .incbin "graphics/pokemon/seedot/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_seedot_back_pic:: @ 8DEBAA4 - .incbin "graphics/pokemon/back_pics/seedot_back_pic.4bpp.lz" + .incbin "graphics/pokemon/seedot/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_seedot_shiny_palette:: @ 8DEBD84 - .incbin "graphics/pokemon/palettes/seedot_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/seedot/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_seedot_icon:: @ 8DEBDAC - .incbin "graphics/pokemon/icons/seedot_icon.4bpp" + .incbin "graphics/pokemon/seedot/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_seedot_footprint:: @ 8DEC1AC - .incbin "graphics/pokemon/footprints/seedot_footprint.1bpp" + .incbin "graphics/pokemon/seedot/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_nuzleaf_still_front_pic:: @ 8DEC1CC - .incbin "graphics/pokemon/front_pics/nuzleaf_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/nuzleaf/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_nuzleaf_palette:: @ 8DEC4B8 - .incbin "graphics/pokemon/palettes/nuzleaf_palette.gbapal.lz" + .incbin "graphics/pokemon/nuzleaf/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_nuzleaf_back_pic:: @ 8DEC4E0 - .incbin "graphics/pokemon/back_pics/nuzleaf_back_pic.4bpp.lz" + .incbin "graphics/pokemon/nuzleaf/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_nuzleaf_shiny_palette:: @ 8DEC7A8 - .incbin "graphics/pokemon/palettes/nuzleaf_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/nuzleaf/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_nuzleaf_icon:: @ 8DEC7D0 - .incbin "graphics/pokemon/icons/nuzleaf_icon.4bpp" + .incbin "graphics/pokemon/nuzleaf/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_nuzleaf_footprint:: @ 8DECBD0 - .incbin "graphics/pokemon/footprints/nuzleaf_footprint.1bpp" + .incbin "graphics/pokemon/nuzleaf/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_shiftry_still_front_pic:: @ 8DECBF0 - .incbin "graphics/pokemon/front_pics/shiftry_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/shiftry/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_shiftry_palette:: @ 8DED0AC - .incbin "graphics/pokemon/palettes/shiftry_palette.gbapal.lz" + .incbin "graphics/pokemon/shiftry/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_shiftry_back_pic:: @ 8DED0D4 - .incbin "graphics/pokemon/back_pics/shiftry_back_pic.4bpp.lz" + .incbin "graphics/pokemon/shiftry/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_shiftry_shiny_palette:: @ 8DED398 - .incbin "graphics/pokemon/palettes/shiftry_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/shiftry/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_shiftry_icon:: @ 8DED3C0 - .incbin "graphics/pokemon/icons/shiftry_icon.4bpp" + .incbin "graphics/pokemon/shiftry/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_shiftry_footprint:: @ 8DED7C0 - .incbin "graphics/pokemon/footprints/shiftry_footprint.1bpp" + .incbin "graphics/pokemon/shiftry/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_nincada_still_front_pic:: @ 8DED7E0 - .incbin "graphics/pokemon/front_pics/nincada_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/nincada/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_nincada_palette:: @ 8DEDA80 - .incbin "graphics/pokemon/palettes/nincada_palette.gbapal.lz" + .incbin "graphics/pokemon/nincada/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_nincada_back_pic:: @ 8DEDAA8 - .incbin "graphics/pokemon/back_pics/nincada_back_pic.4bpp.lz" + .incbin "graphics/pokemon/nincada/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_nincada_shiny_palette:: @ 8DEDD60 - .incbin "graphics/pokemon/palettes/nincada_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/nincada/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_nincada_icon:: @ 8DEDD88 - .incbin "graphics/pokemon/icons/nincada_icon.4bpp" + .incbin "graphics/pokemon/nincada/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_nincada_footprint:: @ 8DEE188 - .incbin "graphics/pokemon/footprints/nincada_footprint.1bpp" + .incbin "graphics/pokemon/nincada/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_ninjask_still_front_pic:: @ 8DEE1A8 - .incbin "graphics/pokemon/front_pics/ninjask_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/ninjask/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_ninjask_palette:: @ 8DEE518 - .incbin "graphics/pokemon/palettes/ninjask_palette.gbapal.lz" + .incbin "graphics/pokemon/ninjask/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_ninjask_back_pic:: @ 8DEE540 - .incbin "graphics/pokemon/back_pics/ninjask_back_pic.4bpp.lz" + .incbin "graphics/pokemon/ninjask/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_ninjask_shiny_palette:: @ 8DEE90C - .incbin "graphics/pokemon/palettes/ninjask_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/ninjask/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_ninjask_icon:: @ 8DEE934 - .incbin "graphics/pokemon/icons/ninjask_icon.4bpp" + .incbin "graphics/pokemon/ninjask/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_ninjask_footprint:: @ 8DEED34 - .incbin "graphics/pokemon/footprints/ninjask_footprint.1bpp" + .incbin "graphics/pokemon/ninjask/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_shedinja_still_front_pic:: @ 8DEED54 - .incbin "graphics/pokemon/front_pics/shedinja_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/shedinja/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_shedinja_palette:: @ 8DEF074 - .incbin "graphics/pokemon/palettes/shedinja_palette.gbapal.lz" + .incbin "graphics/pokemon/shedinja/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_shedinja_back_pic:: @ 8DEF09C - .incbin "graphics/pokemon/back_pics/shedinja_back_pic.4bpp.lz" + .incbin "graphics/pokemon/shedinja/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_shedinja_shiny_palette:: @ 8DEF43C - .incbin "graphics/pokemon/palettes/shedinja_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/shedinja/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_shedinja_icon:: @ 8DEF464 - .incbin "graphics/pokemon/icons/shedinja_icon.4bpp" + .incbin "graphics/pokemon/shedinja/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_shedinja_footprint:: @ 8DEF864 - .incbin "graphics/pokemon/footprints/shedinja_footprint.1bpp" + .incbin "graphics/pokemon/shedinja/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_taillow_still_front_pic:: @ 8DEF884 - .incbin "graphics/pokemon/front_pics/taillow_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/taillow/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_taillow_palette:: @ 8DEFADC - .incbin "graphics/pokemon/palettes/taillow_palette.gbapal.lz" + .incbin "graphics/pokemon/taillow/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_taillow_back_pic:: @ 8DEFB04 - .incbin "graphics/pokemon/back_pics/taillow_back_pic.4bpp.lz" + .incbin "graphics/pokemon/taillow/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_taillow_shiny_palette:: @ 8DEFD24 - .incbin "graphics/pokemon/palettes/taillow_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/taillow/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_taillow_icon:: @ 8DEFD4C - .incbin "graphics/pokemon/icons/taillow_icon.4bpp" + .incbin "graphics/pokemon/taillow/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_taillow_footprint:: @ 8DF014C - .incbin "graphics/pokemon/footprints/taillow_footprint.1bpp" + .incbin "graphics/pokemon/taillow/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_swellow_still_front_pic:: @ 8DF016C - .incbin "graphics/pokemon/front_pics/swellow_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/swellow/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_swellow_palette:: @ 8DF0530 - .incbin "graphics/pokemon/palettes/swellow_palette.gbapal.lz" + .incbin "graphics/pokemon/swellow/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_swellow_back_pic:: @ 8DF0558 - .incbin "graphics/pokemon/back_pics/swellow_back_pic.4bpp.lz" + .incbin "graphics/pokemon/swellow/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_swellow_shiny_palette:: @ 8DF0890 - .incbin "graphics/pokemon/palettes/swellow_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/swellow/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_swellow_icon:: @ 8DF08B8 - .incbin "graphics/pokemon/icons/swellow_icon.4bpp" + .incbin "graphics/pokemon/swellow/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_swellow_footprint:: @ 8DF0CB8 - .incbin "graphics/pokemon/footprints/swellow_footprint.1bpp" + .incbin "graphics/pokemon/swellow/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_shroomish_still_front_pic:: @ 8DF0CD8 - .incbin "graphics/pokemon/front_pics/shroomish_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/shroomish/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_shroomish_palette:: @ 8DF0F40 - .incbin "graphics/pokemon/palettes/shroomish_palette.gbapal.lz" + .incbin "graphics/pokemon/shroomish/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_shroomish_back_pic:: @ 8DF0F68 - .incbin "graphics/pokemon/back_pics/shroomish_back_pic.4bpp.lz" + .incbin "graphics/pokemon/shroomish/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_shroomish_shiny_palette:: @ 8DF1248 - .incbin "graphics/pokemon/palettes/shroomish_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/shroomish/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_shroomish_icon:: @ 8DF1270 - .incbin "graphics/pokemon/icons/shroomish_icon.4bpp" + .incbin "graphics/pokemon/shroomish/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_shroomish_footprint:: @ 8DF1670 - .incbin "graphics/pokemon/footprints/shroomish_footprint.1bpp" + .incbin "graphics/pokemon/shroomish/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_breloom_still_front_pic:: @ 8DF1690 - .incbin "graphics/pokemon/front_pics/breloom_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/breloom/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_breloom_palette:: @ 8DF1A78 - .incbin "graphics/pokemon/palettes/breloom_palette.gbapal.lz" + .incbin "graphics/pokemon/breloom/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_breloom_back_pic:: @ 8DF1AA0 - .incbin "graphics/pokemon/back_pics/breloom_back_pic.4bpp.lz" + .incbin "graphics/pokemon/breloom/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_breloom_shiny_palette:: @ 8DF1E80 - .incbin "graphics/pokemon/palettes/breloom_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/breloom/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_breloom_icon:: @ 8DF1EA8 - .incbin "graphics/pokemon/icons/breloom_icon.4bpp" + .incbin "graphics/pokemon/breloom/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_breloom_footprint:: @ 8DF22A8 - .incbin "graphics/pokemon/footprints/breloom_footprint.1bpp" + .incbin "graphics/pokemon/breloom/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_spinda_still_front_pic:: @ 8DF22C8 - .incbin "graphics/pokemon/front_pics/spinda_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/spinda/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_spinda_palette:: @ 8DF25C8 - .incbin "graphics/pokemon/palettes/spinda_palette.gbapal.lz" + .incbin "graphics/pokemon/spinda/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_spinda_back_pic:: @ 8DF25F0 - .incbin "graphics/pokemon/back_pics/spinda_back_pic.4bpp.lz" + .incbin "graphics/pokemon/spinda/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_spinda_shiny_palette:: @ 8DF292C - .incbin "graphics/pokemon/palettes/spinda_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/spinda/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_spinda_icon:: @ 8DF2954 - .incbin "graphics/pokemon/icons/spinda_icon.4bpp" + .incbin "graphics/pokemon/spinda/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_spinda_footprint:: @ 8DF2D54 - .incbin "graphics/pokemon/footprints/spinda_footprint.1bpp" + .incbin "graphics/pokemon/spinda/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_wingull_still_front_pic:: @ 8DF2D74 - .incbin "graphics/pokemon/front_pics/wingull_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/wingull/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_wingull_palette:: @ 8DF2FB0 - .incbin "graphics/pokemon/palettes/wingull_palette.gbapal.lz" + .incbin "graphics/pokemon/wingull/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_wingull_back_pic:: @ 8DF2FD8 - .incbin "graphics/pokemon/back_pics/wingull_back_pic.4bpp.lz" + .incbin "graphics/pokemon/wingull/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_wingull_shiny_palette:: @ 8DF3328 - .incbin "graphics/pokemon/palettes/wingull_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/wingull/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_wingull_icon:: @ 8DF3350 - .incbin "graphics/pokemon/icons/wingull_icon.4bpp" + .incbin "graphics/pokemon/wingull/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_wingull_footprint:: @ 8DF3750 - .incbin "graphics/pokemon/footprints/wingull_footprint.1bpp" + .incbin "graphics/pokemon/wingull/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_pelipper_still_front_pic:: @ 8DF3770 - .incbin "graphics/pokemon/front_pics/pelipper_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/pelipper/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_pelipper_palette:: @ 8DF3B08 - .incbin "graphics/pokemon/palettes/pelipper_palette.gbapal.lz" + .incbin "graphics/pokemon/pelipper/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_pelipper_back_pic:: @ 8DF3B30 - .incbin "graphics/pokemon/back_pics/pelipper_back_pic.4bpp.lz" + .incbin "graphics/pokemon/pelipper/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_pelipper_shiny_palette:: @ 8DF3EB0 - .incbin "graphics/pokemon/palettes/pelipper_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/pelipper/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_pelipper_icon:: @ 8DF3ED8 - .incbin "graphics/pokemon/icons/pelipper_icon.4bpp" + .incbin "graphics/pokemon/pelipper/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_pelipper_footprint:: @ 8DF42D8 - .incbin "graphics/pokemon/footprints/pelipper_footprint.1bpp" + .incbin "graphics/pokemon/pelipper/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_surskit_still_front_pic:: @ 8DF42F8 - .incbin "graphics/pokemon/front_pics/surskit_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/surskit/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_surskit_palette:: @ 8DF4504 - .incbin "graphics/pokemon/palettes/surskit_palette.gbapal.lz" + .incbin "graphics/pokemon/surskit/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_surskit_back_pic:: @ 8DF452C - .incbin "graphics/pokemon/back_pics/surskit_back_pic.4bpp.lz" + .incbin "graphics/pokemon/surskit/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_surskit_shiny_palette:: @ 8DF4764 - .incbin "graphics/pokemon/palettes/surskit_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/surskit/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_surskit_icon:: @ 8DF478C - .incbin "graphics/pokemon/icons/surskit_icon.4bpp" + .incbin "graphics/pokemon/surskit/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_surskit_footprint:: @ 8DF4B8C - .incbin "graphics/pokemon/footprints/surskit_footprint.1bpp" + .incbin "graphics/pokemon/surskit/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_masquerain_still_front_pic:: @ 8DF4BAC - .incbin "graphics/pokemon/front_pics/masquerain_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/masquerain/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_masquerain_palette:: @ 8DF4F48 - .incbin "graphics/pokemon/palettes/masquerain_palette.gbapal.lz" + .incbin "graphics/pokemon/masquerain/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_masquerain_back_pic:: @ 8DF4F70 - .incbin "graphics/pokemon/back_pics/masquerain_back_pic.4bpp.lz" + .incbin "graphics/pokemon/masquerain/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_masquerain_shiny_palette:: @ 8DF52C8 - .incbin "graphics/pokemon/palettes/masquerain_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/masquerain/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_masquerain_icon:: @ 8DF52F0 - .incbin "graphics/pokemon/icons/masquerain_icon.4bpp" + .incbin "graphics/pokemon/masquerain/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_masquerain_footprint:: @ 8DF56F0 - .incbin "graphics/pokemon/footprints/masquerain_footprint.1bpp" + .incbin "graphics/pokemon/masquerain/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_wailmer_still_front_pic:: @ 8DF5710 - .incbin "graphics/pokemon/front_pics/wailmer_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/wailmer/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_wailmer_palette:: @ 8DF59F0 - .incbin "graphics/pokemon/palettes/wailmer_palette.gbapal.lz" + .incbin "graphics/pokemon/wailmer/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_wailmer_back_pic:: @ 8DF5A18 - .incbin "graphics/pokemon/back_pics/wailmer_back_pic.4bpp.lz" + .incbin "graphics/pokemon/wailmer/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_wailmer_shiny_palette:: @ 8DF5BFC - .incbin "graphics/pokemon/palettes/wailmer_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/wailmer/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_wailmer_icon:: @ 8DF5C24 - .incbin "graphics/pokemon/icons/wailmer_icon.4bpp" + .incbin "graphics/pokemon/wailmer/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_wailmer_footprint:: @ 8DF6024 - .incbin "graphics/pokemon/footprints/wailmer_footprint.1bpp" + .incbin "graphics/pokemon/wailmer/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_wailord_still_front_pic:: @ 8DF6044 - .incbin "graphics/pokemon/front_pics/wailord_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/wailord/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_wailord_palette:: @ 8DF6408 - .incbin "graphics/pokemon/palettes/wailord_palette.gbapal.lz" + .incbin "graphics/pokemon/wailord/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_wailord_back_pic:: @ 8DF6430 - .incbin "graphics/pokemon/back_pics/wailord_back_pic.4bpp.lz" + .incbin "graphics/pokemon/wailord/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_wailord_shiny_palette:: @ 8DF6648 - .incbin "graphics/pokemon/palettes/wailord_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/wailord/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_wailord_icon:: @ 8DF6670 - .incbin "graphics/pokemon/icons/wailord_icon.4bpp" + .incbin "graphics/pokemon/wailord/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_wailord_footprint:: @ 8DF6A70 - .incbin "graphics/pokemon/footprints/wailord_footprint.1bpp" + .incbin "graphics/pokemon/wailord/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_skitty_still_front_pic:: @ 8DF6A90 - .incbin "graphics/pokemon/front_pics/skitty_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/skitty/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_skitty_palette:: @ 8DF6D90 - .incbin "graphics/pokemon/palettes/skitty_palette.gbapal.lz" + .incbin "graphics/pokemon/skitty/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_skitty_back_pic:: @ 8DF6DB8 - .incbin "graphics/pokemon/back_pics/skitty_back_pic.4bpp.lz" + .incbin "graphics/pokemon/skitty/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_skitty_shiny_palette:: @ 8DF7100 - .incbin "graphics/pokemon/palettes/skitty_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/skitty/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_skitty_icon:: @ 8DF7128 - .incbin "graphics/pokemon/icons/skitty_icon.4bpp" + .incbin "graphics/pokemon/skitty/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_skitty_footprint:: @ 8DF7528 - .incbin "graphics/pokemon/footprints/skitty_footprint.1bpp" + .incbin "graphics/pokemon/skitty/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_delcatty_still_front_pic:: @ 8DF7548 - .incbin "graphics/pokemon/front_pics/delcatty_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/delcatty/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_delcatty_palette:: @ 8DF78D4 - .incbin "graphics/pokemon/palettes/delcatty_palette.gbapal.lz" + .incbin "graphics/pokemon/delcatty/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_delcatty_back_pic:: @ 8DF78FC - .incbin "graphics/pokemon/back_pics/delcatty_back_pic.4bpp.lz" + .incbin "graphics/pokemon/delcatty/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_delcatty_shiny_palette:: @ 8DF7C98 - .incbin "graphics/pokemon/palettes/delcatty_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/delcatty/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_delcatty_icon:: @ 8DF7CC0 - .incbin "graphics/pokemon/icons/delcatty_icon.4bpp" + .incbin "graphics/pokemon/delcatty/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_delcatty_footprint:: @ 8DF80C0 - .incbin "graphics/pokemon/footprints/delcatty_footprint.1bpp" + .incbin "graphics/pokemon/delcatty/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_kecleon_still_front_pic:: @ 8DF80E0 - .incbin "graphics/pokemon/front_pics/kecleon_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/kecleon/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_kecleon_palette:: @ 8DF8460 - .incbin "graphics/pokemon/palettes/kecleon_palette.gbapal.lz" + .incbin "graphics/pokemon/kecleon/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_kecleon_back_pic:: @ 8DF8488 - .incbin "graphics/pokemon/back_pics/kecleon_back_pic.4bpp.lz" + .incbin "graphics/pokemon/kecleon/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_kecleon_shiny_palette:: @ 8DF8860 - .incbin "graphics/pokemon/palettes/kecleon_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/kecleon/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_kecleon_icon:: @ 8DF8888 - .incbin "graphics/pokemon/icons/kecleon_icon.4bpp" + .incbin "graphics/pokemon/kecleon/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_kecleon_footprint:: @ 8DF8C88 - .incbin "graphics/pokemon/footprints/kecleon_footprint.1bpp" + .incbin "graphics/pokemon/kecleon/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_baltoy_still_front_pic:: @ 8DF8CA8 - .incbin "graphics/pokemon/front_pics/baltoy_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/baltoy/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_baltoy_palette:: @ 8DF8ECC - .incbin "graphics/pokemon/palettes/baltoy_palette.gbapal.lz" + .incbin "graphics/pokemon/baltoy/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_baltoy_back_pic:: @ 8DF8EEC - .incbin "graphics/pokemon/back_pics/baltoy_back_pic.4bpp.lz" + .incbin "graphics/pokemon/baltoy/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_baltoy_shiny_palette:: @ 8DF9194 - .incbin "graphics/pokemon/palettes/baltoy_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/baltoy/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_baltoy_icon:: @ 8DF91B4 - .incbin "graphics/pokemon/icons/baltoy_icon.4bpp" + .incbin "graphics/pokemon/baltoy/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_baltoy_footprint:: @ 8DF95B4 - .incbin "graphics/pokemon/footprints/baltoy_footprint.1bpp" + .incbin "graphics/pokemon/baltoy/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_claydol_still_front_pic:: @ 8DF95D4 - .incbin "graphics/pokemon/front_pics/claydol_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/claydol/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_claydol_palette:: @ 8DF998C - .incbin "graphics/pokemon/palettes/claydol_palette.gbapal.lz" + .incbin "graphics/pokemon/claydol/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_claydol_back_pic:: @ 8DF99B4 - .incbin "graphics/pokemon/back_pics/claydol_back_pic.4bpp.lz" + .incbin "graphics/pokemon/claydol/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_claydol_shiny_palette:: @ 8DF9D88 - .incbin "graphics/pokemon/palettes/claydol_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/claydol/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_claydol_icon:: @ 8DF9DB0 - .incbin "graphics/pokemon/icons/claydol_icon.4bpp" + .incbin "graphics/pokemon/claydol/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_claydol_footprint:: @ 8DFA1B0 - .incbin "graphics/pokemon/footprints/claydol_footprint.1bpp" + .incbin "graphics/pokemon/claydol/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_nosepass_still_front_pic:: @ 8DFA1D0 - .incbin "graphics/pokemon/front_pics/nosepass_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/nosepass/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_nosepass_palette:: @ 8DFA49C - .incbin "graphics/pokemon/palettes/nosepass_palette.gbapal.lz" + .incbin "graphics/pokemon/nosepass/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_nosepass_back_pic:: @ 8DFA4C4 - .incbin "graphics/pokemon/back_pics/nosepass_back_pic.4bpp.lz" + .incbin "graphics/pokemon/nosepass/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_nosepass_shiny_palette:: @ 8DFA764 - .incbin "graphics/pokemon/palettes/nosepass_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/nosepass/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_nosepass_icon:: @ 8DFA78C - .incbin "graphics/pokemon/icons/nosepass_icon.4bpp" + .incbin "graphics/pokemon/nosepass/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_nosepass_footprint:: @ 8DFAB8C - .incbin "graphics/pokemon/footprints/nosepass_footprint.1bpp" + .incbin "graphics/pokemon/nosepass/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_torkoal_still_front_pic:: @ 8DFABAC - .incbin "graphics/pokemon/front_pics/torkoal_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/torkoal/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_torkoal_palette:: @ 8DFB058 - .incbin "graphics/pokemon/palettes/torkoal_palette.gbapal.lz" + .incbin "graphics/pokemon/torkoal/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_torkoal_back_pic:: @ 8DFB080 - .incbin "graphics/pokemon/back_pics/torkoal_back_pic.4bpp.lz" + .incbin "graphics/pokemon/torkoal/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_torkoal_shiny_palette:: @ 8DFB348 - .incbin "graphics/pokemon/palettes/torkoal_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/torkoal/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_torkoal_icon:: @ 8DFB370 - .incbin "graphics/pokemon/icons/torkoal_icon.4bpp" + .incbin "graphics/pokemon/torkoal/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_torkoal_footprint:: @ 8DFB770 - .incbin "graphics/pokemon/footprints/torkoal_footprint.1bpp" + .incbin "graphics/pokemon/torkoal/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_sableye_still_front_pic:: @ 8DFB790 - .incbin "graphics/pokemon/front_pics/sableye_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/sableye/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_sableye_palette:: @ 8DFBA64 - .incbin "graphics/pokemon/palettes/sableye_palette.gbapal.lz" + .incbin "graphics/pokemon/sableye/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_sableye_back_pic:: @ 8DFBA8C - .incbin "graphics/pokemon/back_pics/sableye_back_pic.4bpp.lz" + .incbin "graphics/pokemon/sableye/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_sableye_shiny_palette:: @ 8DFBDB4 - .incbin "graphics/pokemon/palettes/sableye_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/sableye/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_sableye_icon:: @ 8DFBDDC - .incbin "graphics/pokemon/icons/sableye_icon.4bpp" + .incbin "graphics/pokemon/sableye/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_sableye_footprint:: @ 8DFC1DC - .incbin "graphics/pokemon/footprints/sableye_footprint.1bpp" + .incbin "graphics/pokemon/sableye/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_barboach_still_front_pic:: @ 8DFC1FC - .incbin "graphics/pokemon/front_pics/barboach_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/barboach/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_barboach_palette:: @ 8DFC48C - .incbin "graphics/pokemon/palettes/barboach_palette.gbapal.lz" + .incbin "graphics/pokemon/barboach/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_barboach_back_pic:: @ 8DFC4B4 - .incbin "graphics/pokemon/back_pics/barboach_back_pic.4bpp.lz" + .incbin "graphics/pokemon/barboach/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_barboach_shiny_palette:: @ 8DFC744 - .incbin "graphics/pokemon/palettes/barboach_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/barboach/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_barboach_icon:: @ 8DFC76C - .incbin "graphics/pokemon/icons/barboach_icon.4bpp" + .incbin "graphics/pokemon/barboach/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_barboach_footprint:: @ 8DFCB6C - .incbin "graphics/pokemon/footprints/barboach_footprint.1bpp" + .incbin "graphics/pokemon/barboach/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_whiscash_still_front_pic:: @ 8DFCB8C - .incbin "graphics/pokemon/front_pics/whiscash_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/whiscash/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_whiscash_palette:: @ 8DFCF04 - .incbin "graphics/pokemon/palettes/whiscash_palette.gbapal.lz" + .incbin "graphics/pokemon/whiscash/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_whiscash_back_pic:: @ 8DFCF2C - .incbin "graphics/pokemon/back_pics/whiscash_back_pic.4bpp.lz" + .incbin "graphics/pokemon/whiscash/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_whiscash_shiny_palette:: @ 8DFD278 - .incbin "graphics/pokemon/palettes/whiscash_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/whiscash/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_whiscash_icon:: @ 8DFD2A0 - .incbin "graphics/pokemon/icons/whiscash_icon.4bpp" + .incbin "graphics/pokemon/whiscash/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_whiscash_footprint:: @ 8DFD6A0 - .incbin "graphics/pokemon/footprints/whiscash_footprint.1bpp" + .incbin "graphics/pokemon/whiscash/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_luvdisc_still_front_pic:: @ 8DFD6C0 - .incbin "graphics/pokemon/front_pics/luvdisc_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/luvdisc/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_luvdisc_palette:: @ 8DFD880 - .incbin "graphics/pokemon/palettes/luvdisc_palette.gbapal.lz" + .incbin "graphics/pokemon/luvdisc/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_luvdisc_back_pic:: @ 8DFD8A4 - .incbin "graphics/pokemon/back_pics/luvdisc_back_pic.4bpp.lz" + .incbin "graphics/pokemon/luvdisc/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_luvdisc_shiny_palette:: @ 8DFDA78 - .incbin "graphics/pokemon/palettes/luvdisc_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/luvdisc/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_luvdisc_icon:: @ 8DFDA9C - .incbin "graphics/pokemon/icons/luvdisc_icon.4bpp" + .incbin "graphics/pokemon/luvdisc/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_luvdisc_footprint:: @ 8DFDE9C - .incbin "graphics/pokemon/footprints/luvdisc_footprint.1bpp" + .incbin "graphics/pokemon/luvdisc/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_corphish_still_front_pic:: @ 8DFDEBC - .incbin "graphics/pokemon/front_pics/corphish_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/corphish/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_corphish_palette:: @ 8DFE218 - .incbin "graphics/pokemon/palettes/corphish_palette.gbapal.lz" + .incbin "graphics/pokemon/corphish/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_corphish_back_pic:: @ 8DFE240 - .incbin "graphics/pokemon/back_pics/corphish_back_pic.4bpp.lz" + .incbin "graphics/pokemon/corphish/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_corphish_shiny_palette:: @ 8DFE55C - .incbin "graphics/pokemon/palettes/corphish_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/corphish/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_corphish_icon:: @ 8DFE584 - .incbin "graphics/pokemon/icons/corphish_icon.4bpp" + .incbin "graphics/pokemon/corphish/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_corphish_footprint:: @ 8DFE984 - .incbin "graphics/pokemon/footprints/corphish_footprint.1bpp" + .incbin "graphics/pokemon/corphish/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_crawdaunt_still_front_pic:: @ 8DFE9A4 - .incbin "graphics/pokemon/front_pics/crawdaunt_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/crawdaunt/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_crawdaunt_palette:: @ 8DFEE34 - .incbin "graphics/pokemon/palettes/crawdaunt_palette.gbapal.lz" + .incbin "graphics/pokemon/crawdaunt/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_crawdaunt_back_pic:: @ 8DFEE5C - .incbin "graphics/pokemon/back_pics/crawdaunt_back_pic.4bpp.lz" + .incbin "graphics/pokemon/crawdaunt/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_crawdaunt_shiny_palette:: @ 8DFF240 - .incbin "graphics/pokemon/palettes/crawdaunt_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/crawdaunt/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_crawdaunt_icon:: @ 8DFF268 - .incbin "graphics/pokemon/icons/crawdaunt_icon.4bpp" + .incbin "graphics/pokemon/crawdaunt/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_crawdaunt_footprint:: @ 8DFF668 - .incbin "graphics/pokemon/footprints/crawdaunt_footprint.1bpp" + .incbin "graphics/pokemon/crawdaunt/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_feebas_still_front_pic:: @ 8DFF688 - .incbin "graphics/pokemon/front_pics/feebas_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/feebas/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_feebas_palette:: @ 8DFF914 - .incbin "graphics/pokemon/palettes/feebas_palette.gbapal.lz" + .incbin "graphics/pokemon/feebas/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_feebas_back_pic:: @ 8DFF93C - .incbin "graphics/pokemon/back_pics/feebas_back_pic.4bpp.lz" + .incbin "graphics/pokemon/feebas/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_feebas_shiny_palette:: @ 8DFFC74 - .incbin "graphics/pokemon/palettes/feebas_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/feebas/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_feebas_icon:: @ 8DFFC9C - .incbin "graphics/pokemon/icons/feebas_icon.4bpp" + .incbin "graphics/pokemon/feebas/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_feebas_footprint:: @ 8E0009C - .incbin "graphics/pokemon/footprints/feebas_footprint.1bpp" + .incbin "graphics/pokemon/feebas/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_milotic_still_front_pic:: @ 8E000BC - .incbin "graphics/pokemon/front_pics/milotic_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/milotic/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_milotic_palette:: @ 8E0054C - .incbin "graphics/pokemon/palettes/milotic_palette.gbapal.lz" + .incbin "graphics/pokemon/milotic/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_milotic_back_pic:: @ 8E00574 - .incbin "graphics/pokemon/back_pics/milotic_back_pic.4bpp.lz" + .incbin "graphics/pokemon/milotic/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_milotic_shiny_palette:: @ 8E00868 - .incbin "graphics/pokemon/palettes/milotic_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/milotic/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_milotic_icon:: @ 8E00890 - .incbin "graphics/pokemon/icons/milotic_icon.4bpp" + .incbin "graphics/pokemon/milotic/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_milotic_footprint:: @ 8E00C90 - .incbin "graphics/pokemon/footprints/milotic_footprint.1bpp" + .incbin "graphics/pokemon/milotic/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_carvanha_still_front_pic:: @ 8E00CB0 - .incbin "graphics/pokemon/front_pics/carvanha_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/carvanha/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_carvanha_palette:: @ 8E00FDC - .incbin "graphics/pokemon/palettes/carvanha_palette.gbapal.lz" + .incbin "graphics/pokemon/carvanha/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_carvanha_back_pic:: @ 8E01004 - .incbin "graphics/pokemon/back_pics/carvanha_back_pic.4bpp.lz" + .incbin "graphics/pokemon/carvanha/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_carvanha_shiny_palette:: @ 8E01314 - .incbin "graphics/pokemon/palettes/carvanha_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/carvanha/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_carvanha_icon:: @ 8E0133C - .incbin "graphics/pokemon/icons/carvanha_icon.4bpp" + .incbin "graphics/pokemon/carvanha/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_carvanha_footprint:: @ 8E0173C - .incbin "graphics/pokemon/footprints/carvanha_footprint.1bpp" + .incbin "graphics/pokemon/carvanha/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_sharpedo_still_front_pic:: @ 8E0175C - .incbin "graphics/pokemon/front_pics/sharpedo_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/sharpedo/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_sharpedo_palette:: @ 8E01AEC - .incbin "graphics/pokemon/palettes/sharpedo_palette.gbapal.lz" + .incbin "graphics/pokemon/sharpedo/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_sharpedo_back_pic:: @ 8E01B14 - .incbin "graphics/pokemon/back_pics/sharpedo_back_pic.4bpp.lz" + .incbin "graphics/pokemon/sharpedo/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_sharpedo_shiny_palette:: @ 8E01E6C - .incbin "graphics/pokemon/palettes/sharpedo_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/sharpedo/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_sharpedo_icon:: @ 8E01E94 - .incbin "graphics/pokemon/icons/sharpedo_icon.4bpp" + .incbin "graphics/pokemon/sharpedo/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_sharpedo_footprint:: @ 8E02294 - .incbin "graphics/pokemon/footprints/sharpedo_footprint.1bpp" + .incbin "graphics/pokemon/sharpedo/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_trapinch_still_front_pic:: @ 8E022B4 - .incbin "graphics/pokemon/front_pics/trapinch_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/trapinch/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_trapinch_palette:: @ 8E024D0 - .incbin "graphics/pokemon/palettes/trapinch_palette.gbapal.lz" + .incbin "graphics/pokemon/trapinch/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_trapinch_back_pic:: @ 8E024F8 - .incbin "graphics/pokemon/back_pics/trapinch_back_pic.4bpp.lz" + .incbin "graphics/pokemon/trapinch/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_trapinch_shiny_palette:: @ 8E02718 - .incbin "graphics/pokemon/palettes/trapinch_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/trapinch/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_trapinch_icon:: @ 8E02740 - .incbin "graphics/pokemon/icons/trapinch_icon.4bpp" + .incbin "graphics/pokemon/trapinch/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_trapinch_footprint:: @ 8E02B40 - .incbin "graphics/pokemon/footprints/trapinch_footprint.1bpp" + .incbin "graphics/pokemon/trapinch/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_vibrava_still_front_pic:: @ 8E02B60 - .incbin "graphics/pokemon/front_pics/vibrava_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/vibrava/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_vibrava_palette:: @ 8E02ED0 - .incbin "graphics/pokemon/palettes/vibrava_palette.gbapal.lz" + .incbin "graphics/pokemon/vibrava/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_vibrava_back_pic:: @ 8E02EF8 - .incbin "graphics/pokemon/back_pics/vibrava_back_pic.4bpp.lz" + .incbin "graphics/pokemon/vibrava/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_vibrava_shiny_palette:: @ 8E03170 - .incbin "graphics/pokemon/palettes/vibrava_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/vibrava/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_vibrava_icon:: @ 8E03198 - .incbin "graphics/pokemon/icons/vibrava_icon.4bpp" + .incbin "graphics/pokemon/vibrava/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_vibrava_footprint:: @ 8E03598 - .incbin "graphics/pokemon/footprints/vibrava_footprint.1bpp" + .incbin "graphics/pokemon/vibrava/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_flygon_still_front_pic:: @ 8E035B8 - .incbin "graphics/pokemon/front_pics/flygon_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/flygon/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_flygon_palette:: @ 8E03AA8 - .incbin "graphics/pokemon/palettes/flygon_palette.gbapal.lz" + .incbin "graphics/pokemon/flygon/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_flygon_back_pic:: @ 8E03AD0 - .incbin "graphics/pokemon/back_pics/flygon_back_pic.4bpp.lz" + .incbin "graphics/pokemon/flygon/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_flygon_shiny_palette:: @ 8E03F0C - .incbin "graphics/pokemon/palettes/flygon_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/flygon/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_flygon_icon:: @ 8E03F34 - .incbin "graphics/pokemon/icons/flygon_icon.4bpp" + .incbin "graphics/pokemon/flygon/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_flygon_footprint:: @ 8E04334 - .incbin "graphics/pokemon/footprints/flygon_footprint.1bpp" + .incbin "graphics/pokemon/flygon/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_makuhita_still_front_pic:: @ 8E04354 - .incbin "graphics/pokemon/front_pics/makuhita_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/makuhita/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_makuhita_palette:: @ 8E0466C - .incbin "graphics/pokemon/palettes/makuhita_palette.gbapal.lz" + .incbin "graphics/pokemon/makuhita/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_makuhita_back_pic:: @ 8E04694 - .incbin "graphics/pokemon/back_pics/makuhita_back_pic.4bpp.lz" + .incbin "graphics/pokemon/makuhita/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_makuhita_shiny_palette:: @ 8E04984 - .incbin "graphics/pokemon/palettes/makuhita_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/makuhita/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_makuhita_icon:: @ 8E049A8 - .incbin "graphics/pokemon/icons/makuhita_icon.4bpp" + .incbin "graphics/pokemon/makuhita/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_makuhita_footprint:: @ 8E04DA8 - .incbin "graphics/pokemon/footprints/makuhita_footprint.1bpp" + .incbin "graphics/pokemon/makuhita/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_hariyama_still_front_pic:: @ 8E04DC8 - .incbin "graphics/pokemon/front_pics/hariyama_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/hariyama/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_hariyama_palette:: @ 8E05278 - .incbin "graphics/pokemon/palettes/hariyama_palette.gbapal.lz" + .incbin "graphics/pokemon/hariyama/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_hariyama_back_pic:: @ 8E052A0 - .incbin "graphics/pokemon/back_pics/hariyama_back_pic.4bpp.lz" + .incbin "graphics/pokemon/hariyama/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_hariyama_shiny_palette:: @ 8E05680 - .incbin "graphics/pokemon/palettes/hariyama_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/hariyama/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_hariyama_icon:: @ 8E056A8 - .incbin "graphics/pokemon/icons/hariyama_icon.4bpp" + .incbin "graphics/pokemon/hariyama/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_hariyama_footprint:: @ 8E05AA8 - .incbin "graphics/pokemon/footprints/hariyama_footprint.1bpp" + .incbin "graphics/pokemon/hariyama/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_electrike_still_front_pic:: @ 8E05AC8 - .incbin "graphics/pokemon/front_pics/electrike_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/electrike/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_electrike_palette:: @ 8E05D58 - .incbin "graphics/pokemon/palettes/electrike_palette.gbapal.lz" + .incbin "graphics/pokemon/electrike/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_electrike_back_pic:: @ 8E05D80 - .incbin "graphics/pokemon/back_pics/electrike_back_pic.4bpp.lz" + .incbin "graphics/pokemon/electrike/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_electrike_shiny_palette:: @ 8E0600C - .incbin "graphics/pokemon/palettes/electrike_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/electrike/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_electrike_icon:: @ 8E06034 - .incbin "graphics/pokemon/icons/electrike_icon.4bpp" + .incbin "graphics/pokemon/electrike/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_electrike_footprint:: @ 8E06434 - .incbin "graphics/pokemon/footprints/electrike_footprint.1bpp" + .incbin "graphics/pokemon/electrike/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_manectric_still_front_pic:: @ 8E06454 - .incbin "graphics/pokemon/front_pics/manectric_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/manectric/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_manectric_palette:: @ 8E06784 - .incbin "graphics/pokemon/palettes/manectric_palette.gbapal.lz" + .incbin "graphics/pokemon/manectric/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_manectric_back_pic:: @ 8E067AC - .incbin "graphics/pokemon/back_pics/manectric_back_pic.4bpp.lz" + .incbin "graphics/pokemon/manectric/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_manectric_shiny_palette:: @ 8E069D8 - .incbin "graphics/pokemon/palettes/manectric_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/manectric/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_manectric_icon:: @ 8E06A00 - .incbin "graphics/pokemon/icons/manectric_icon.4bpp" + .incbin "graphics/pokemon/manectric/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_manectric_footprint:: @ 8E06E00 - .incbin "graphics/pokemon/footprints/manectric_footprint.1bpp" + .incbin "graphics/pokemon/manectric/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_numel_still_front_pic:: @ 8E06E20 - .incbin "graphics/pokemon/front_pics/numel_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/numel/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_numel_palette:: @ 8E070F0 - .incbin "graphics/pokemon/palettes/numel_palette.gbapal.lz" + .incbin "graphics/pokemon/numel/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_numel_back_pic:: @ 8E07118 - .incbin "graphics/pokemon/back_pics/numel_back_pic.4bpp.lz" + .incbin "graphics/pokemon/numel/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_numel_shiny_palette:: @ 8E073D4 - .incbin "graphics/pokemon/palettes/numel_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/numel/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_numel_icon:: @ 8E073FC - .incbin "graphics/pokemon/icons/numel_icon.4bpp" + .incbin "graphics/pokemon/numel/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_numel_footprint:: @ 8E077FC - .incbin "graphics/pokemon/footprints/numel_footprint.1bpp" + .incbin "graphics/pokemon/numel/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_camerupt_still_front_pic:: @ 8E0781C - .incbin "graphics/pokemon/front_pics/camerupt_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/camerupt/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_camerupt_palette:: @ 8E07C34 - .incbin "graphics/pokemon/palettes/camerupt_palette.gbapal.lz" + .incbin "graphics/pokemon/camerupt/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_camerupt_back_pic:: @ 8E07C5C - .incbin "graphics/pokemon/back_pics/camerupt_back_pic.4bpp.lz" + .incbin "graphics/pokemon/camerupt/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_camerupt_shiny_palette:: @ 8E07F20 - .incbin "graphics/pokemon/palettes/camerupt_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/camerupt/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_camerupt_icon:: @ 8E07F48 - .incbin "graphics/pokemon/icons/camerupt_icon.4bpp" + .incbin "graphics/pokemon/camerupt/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_camerupt_footprint:: @ 8E08348 - .incbin "graphics/pokemon/footprints/camerupt_footprint.1bpp" + .incbin "graphics/pokemon/camerupt/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_spheal_still_front_pic:: @ 8E08368 - .incbin "graphics/pokemon/front_pics/spheal_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/spheal/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_spheal_palette:: @ 8E085DC - .incbin "graphics/pokemon/palettes/spheal_palette.gbapal.lz" + .incbin "graphics/pokemon/spheal/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_spheal_back_pic:: @ 8E08604 - .incbin "graphics/pokemon/back_pics/spheal_back_pic.4bpp.lz" + .incbin "graphics/pokemon/spheal/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_spheal_shiny_palette:: @ 8E08800 - .incbin "graphics/pokemon/palettes/spheal_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/spheal/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_spheal_icon:: @ 8E08828 - .incbin "graphics/pokemon/icons/spheal_icon.4bpp" + .incbin "graphics/pokemon/spheal/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_spheal_footprint:: @ 8E08C28 - .incbin "graphics/pokemon/footprints/spheal_footprint.1bpp" + .incbin "graphics/pokemon/spheal/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_sealeo_still_front_pic:: @ 8E08C48 - .incbin "graphics/pokemon/front_pics/sealeo_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/sealeo/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_sealeo_palette:: @ 8E08FC8 - .incbin "graphics/pokemon/palettes/sealeo_palette.gbapal.lz" + .incbin "graphics/pokemon/sealeo/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_sealeo_back_pic:: @ 8E08FF0 - .incbin "graphics/pokemon/back_pics/sealeo_back_pic.4bpp.lz" + .incbin "graphics/pokemon/sealeo/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_sealeo_shiny_palette:: @ 8E0926C - .incbin "graphics/pokemon/palettes/sealeo_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/sealeo/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_sealeo_icon:: @ 8E09294 - .incbin "graphics/pokemon/icons/sealeo_icon.4bpp" + .incbin "graphics/pokemon/sealeo/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_sealeo_footprint:: @ 8E09694 - .incbin "graphics/pokemon/footprints/sealeo_footprint.1bpp" + .incbin "graphics/pokemon/sealeo/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_walrein_still_front_pic:: @ 8E096B4 - .incbin "graphics/pokemon/front_pics/walrein_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/walrein/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_walrein_palette:: @ 8E09B54 - .incbin "graphics/pokemon/palettes/walrein_palette.gbapal.lz" + .incbin "graphics/pokemon/walrein/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_walrein_back_pic:: @ 8E09B7C - .incbin "graphics/pokemon/back_pics/walrein_back_pic.4bpp.lz" + .incbin "graphics/pokemon/walrein/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_walrein_shiny_palette:: @ 8E09F04 - .incbin "graphics/pokemon/palettes/walrein_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/walrein/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_walrein_icon:: @ 8E09F2C - .incbin "graphics/pokemon/icons/walrein_icon.4bpp" + .incbin "graphics/pokemon/walrein/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_walrein_footprint:: @ 8E0A32C - .incbin "graphics/pokemon/footprints/walrein_footprint.1bpp" + .incbin "graphics/pokemon/walrein/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_cacnea_still_front_pic:: @ 8E0A34C - .incbin "graphics/pokemon/front_pics/cacnea_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/cacnea/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_cacnea_palette:: @ 8E0A65C - .incbin "graphics/pokemon/palettes/cacnea_palette.gbapal.lz" + .incbin "graphics/pokemon/cacnea/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_cacnea_back_pic:: @ 8E0A684 - .incbin "graphics/pokemon/back_pics/cacnea_back_pic.4bpp.lz" + .incbin "graphics/pokemon/cacnea/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_cacnea_shiny_palette:: @ 8E0A9E4 - .incbin "graphics/pokemon/palettes/cacnea_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/cacnea/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_cacnea_icon:: @ 8E0AA0C - .incbin "graphics/pokemon/icons/cacnea_icon.4bpp" + .incbin "graphics/pokemon/cacnea/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_cacnea_footprint:: @ 8E0AE0C - .incbin "graphics/pokemon/footprints/cacnea_footprint.1bpp" + .incbin "graphics/pokemon/cacnea/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_cacturne_still_front_pic:: @ 8E0AE2C - .incbin "graphics/pokemon/front_pics/cacturne_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/cacturne/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_cacturne_palette:: @ 8E0B264 - .incbin "graphics/pokemon/palettes/cacturne_palette.gbapal.lz" + .incbin "graphics/pokemon/cacturne/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_cacturne_back_pic:: @ 8E0B28C - .incbin "graphics/pokemon/back_pics/cacturne_back_pic.4bpp.lz" + .incbin "graphics/pokemon/cacturne/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_cacturne_shiny_palette:: @ 8E0B58C - .incbin "graphics/pokemon/palettes/cacturne_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/cacturne/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_cacturne_icon:: @ 8E0B5B4 - .incbin "graphics/pokemon/icons/cacturne_icon.4bpp" + .incbin "graphics/pokemon/cacturne/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_cacturne_footprint:: @ 8E0B9B4 - .incbin "graphics/pokemon/footprints/cacturne_footprint.1bpp" + .incbin "graphics/pokemon/cacturne/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_snorunt_still_front_pic:: @ 8E0B9D4 - .incbin "graphics/pokemon/front_pics/snorunt_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/snorunt/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_snorunt_palette:: @ 8E0BC98 - .incbin "graphics/pokemon/palettes/snorunt_palette.gbapal.lz" + .incbin "graphics/pokemon/snorunt/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_snorunt_back_pic:: @ 8E0BCC0 - .incbin "graphics/pokemon/back_pics/snorunt_back_pic.4bpp.lz" + .incbin "graphics/pokemon/snorunt/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_snorunt_shiny_palette:: @ 8E0BFA4 - .incbin "graphics/pokemon/palettes/snorunt_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/snorunt/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_snorunt_icon:: @ 8E0BFCC - .incbin "graphics/pokemon/icons/snorunt_icon.4bpp" + .incbin "graphics/pokemon/snorunt/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_snorunt_footprint:: @ 8E0C3CC - .incbin "graphics/pokemon/footprints/snorunt_footprint.1bpp" + .incbin "graphics/pokemon/snorunt/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_glalie_still_front_pic:: @ 8E0C3EC - .incbin "graphics/pokemon/front_pics/glalie_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/glalie/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_glalie_palette:: @ 8E0C7B4 - .incbin "graphics/pokemon/palettes/glalie_palette.gbapal.lz" + .incbin "graphics/pokemon/glalie/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_glalie_back_pic:: @ 8E0C7DC - .incbin "graphics/pokemon/back_pics/glalie_back_pic.4bpp.lz" + .incbin "graphics/pokemon/glalie/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_glalie_shiny_palette:: @ 8E0CB8C - .incbin "graphics/pokemon/palettes/glalie_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/glalie/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_glalie_icon:: @ 8E0CBB4 - .incbin "graphics/pokemon/icons/glalie_icon.4bpp" + .incbin "graphics/pokemon/glalie/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_glalie_footprint:: @ 8E0CFB4 - .incbin "graphics/pokemon/footprints/glalie_footprint.1bpp" + .incbin "graphics/pokemon/glalie/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_lunatone_still_front_pic:: @ 8E0CFD4 - .incbin "graphics/pokemon/front_pics/lunatone_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/lunatone/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_lunatone_palette:: @ 8E0D2FC - .incbin "graphics/pokemon/palettes/lunatone_palette.gbapal.lz" + .incbin "graphics/pokemon/lunatone/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_lunatone_back_pic:: @ 8E0D324 - .incbin "graphics/pokemon/back_pics/lunatone_back_pic.4bpp.lz" + .incbin "graphics/pokemon/lunatone/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_lunatone_shiny_palette:: @ 8E0D67C - .incbin "graphics/pokemon/palettes/lunatone_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/lunatone/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_lunatone_icon:: @ 8E0D6A4 - .incbin "graphics/pokemon/icons/lunatone_icon.4bpp" + .incbin "graphics/pokemon/lunatone/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_lunatone_footprint:: @ 8E0DAA4 - .incbin "graphics/pokemon/footprints/lunatone_footprint.1bpp" + .incbin "graphics/pokemon/lunatone/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_solrock_still_front_pic:: @ 8E0DAC4 - .incbin "graphics/pokemon/front_pics/solrock_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/solrock/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_solrock_palette:: @ 8E0DF10 - .incbin "graphics/pokemon/palettes/solrock_palette.gbapal.lz" + .incbin "graphics/pokemon/solrock/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_solrock_back_pic:: @ 8E0DF38 - .incbin "graphics/pokemon/back_pics/solrock_back_pic.4bpp.lz" + .incbin "graphics/pokemon/solrock/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_solrock_shiny_palette:: @ 8E0E324 - .incbin "graphics/pokemon/palettes/solrock_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/solrock/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_solrock_icon:: @ 8E0E34C - .incbin "graphics/pokemon/icons/solrock_icon.4bpp" + .incbin "graphics/pokemon/solrock/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_solrock_footprint:: @ 8E0E74C - .incbin "graphics/pokemon/footprints/solrock_footprint.1bpp" + .incbin "graphics/pokemon/solrock/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_azurill_still_front_pic:: @ 8E0E76C - .incbin "graphics/pokemon/front_pics/azurill_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/azurill/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_azurill_palette:: @ 8E0EA34 - .incbin "graphics/pokemon/palettes/azurill_palette.gbapal.lz" + .incbin "graphics/pokemon/azurill/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_azurill_back_pic:: @ 8E0EA5C - .incbin "graphics/pokemon/back_pics/azurill_back_pic.4bpp.lz" + .incbin "graphics/pokemon/azurill/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_azurill_shiny_palette:: @ 8E0ED74 - .incbin "graphics/pokemon/palettes/azurill_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/azurill/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_azurill_icon:: @ 8E0ED9C - .incbin "graphics/pokemon/icons/azurill_icon.4bpp" + .incbin "graphics/pokemon/azurill/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_azurill_footprint:: @ 8E0F19C - .incbin "graphics/pokemon/footprints/azurill_footprint.1bpp" + .incbin "graphics/pokemon/azurill/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_spoink_still_front_pic:: @ 8E0F1BC - .incbin "graphics/pokemon/front_pics/spoink_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/spoink/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_spoink_palette:: @ 8E0F428 - .incbin "graphics/pokemon/palettes/spoink_palette.gbapal.lz" + .incbin "graphics/pokemon/spoink/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_spoink_back_pic:: @ 8E0F450 - .incbin "graphics/pokemon/back_pics/spoink_back_pic.4bpp.lz" + .incbin "graphics/pokemon/spoink/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_spoink_shiny_palette:: @ 8E0F690 - .incbin "graphics/pokemon/palettes/spoink_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/spoink/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_spoink_icon:: @ 8E0F6B8 - .incbin "graphics/pokemon/icons/spoink_icon.4bpp" + .incbin "graphics/pokemon/spoink/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_spoink_footprint:: @ 8E0FAB8 - .incbin "graphics/pokemon/footprints/spoink_footprint.1bpp" + .incbin "graphics/pokemon/spoink/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_grumpig_still_front_pic:: @ 8E0FAD8 - .incbin "graphics/pokemon/front_pics/grumpig_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/grumpig/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_grumpig_palette:: @ 8E0FE94 - .incbin "graphics/pokemon/palettes/grumpig_palette.gbapal.lz" + .incbin "graphics/pokemon/grumpig/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_grumpig_back_pic:: @ 8E0FEBC - .incbin "graphics/pokemon/back_pics/grumpig_back_pic.4bpp.lz" + .incbin "graphics/pokemon/grumpig/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_grumpig_shiny_palette:: @ 8E1021C - .incbin "graphics/pokemon/palettes/grumpig_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/grumpig/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_grumpig_icon:: @ 8E10244 - .incbin "graphics/pokemon/icons/grumpig_icon.4bpp" + .incbin "graphics/pokemon/grumpig/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_grumpig_footprint:: @ 8E10644 - .incbin "graphics/pokemon/footprints/grumpig_footprint.1bpp" + .incbin "graphics/pokemon/grumpig/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_plusle_still_front_pic:: @ 8E10664 - .incbin "graphics/pokemon/front_pics/plusle_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/plusle/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_plusle_palette:: @ 8E108F0 - .incbin "graphics/pokemon/palettes/plusle_palette.gbapal.lz" + .incbin "graphics/pokemon/plusle/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_plusle_back_pic:: @ 8E10918 - .incbin "graphics/pokemon/back_pics/plusle_back_pic.4bpp.lz" + .incbin "graphics/pokemon/plusle/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_plusle_shiny_palette:: @ 8E10BD0 - .incbin "graphics/pokemon/palettes/plusle_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/plusle/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_plusle_icon:: @ 8E10BF8 - .incbin "graphics/pokemon/icons/plusle_icon.4bpp" + .incbin "graphics/pokemon/plusle/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_plusle_footprint:: @ 8E10FF8 - .incbin "graphics/pokemon/footprints/plusle_footprint.1bpp" + .incbin "graphics/pokemon/plusle/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_minun_still_front_pic:: @ 8E11018 - .incbin "graphics/pokemon/front_pics/minun_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/minun/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_minun_palette:: @ 8E11280 - .incbin "graphics/pokemon/palettes/minun_palette.gbapal.lz" + .incbin "graphics/pokemon/minun/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_minun_back_pic:: @ 8E112A8 - .incbin "graphics/pokemon/back_pics/minun_back_pic.4bpp.lz" + .incbin "graphics/pokemon/minun/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_minun_shiny_palette:: @ 8E11570 - .incbin "graphics/pokemon/palettes/minun_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/minun/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_minun_icon:: @ 8E11598 - .incbin "graphics/pokemon/icons/minun_icon.4bpp" + .incbin "graphics/pokemon/minun/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_minun_footprint:: @ 8E11998 - .incbin "graphics/pokemon/footprints/minun_footprint.1bpp" + .incbin "graphics/pokemon/minun/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_mawile_still_front_pic:: @ 8E119B8 - .incbin "graphics/pokemon/front_pics/mawile_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/mawile/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_mawile_palette:: @ 8E11D74 - .incbin "graphics/pokemon/palettes/mawile_palette.gbapal.lz" + .incbin "graphics/pokemon/mawile/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_mawile_back_pic:: @ 8E11D9C - .incbin "graphics/pokemon/back_pics/mawile_back_pic.4bpp.lz" + .incbin "graphics/pokemon/mawile/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_mawile_shiny_palette:: @ 8E1219C - .incbin "graphics/pokemon/palettes/mawile_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/mawile/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_mawile_icon:: @ 8E121C4 - .incbin "graphics/pokemon/icons/mawile_icon.4bpp" + .incbin "graphics/pokemon/mawile/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_mawile_footprint:: @ 8E125C4 - .incbin "graphics/pokemon/footprints/mawile_footprint.1bpp" + .incbin "graphics/pokemon/mawile/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_meditite_still_front_pic:: @ 8E125E4 - .incbin "graphics/pokemon/front_pics/meditite_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/meditite/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_meditite_palette:: @ 8E1289C - .incbin "graphics/pokemon/palettes/meditite_palette.gbapal.lz" + .incbin "graphics/pokemon/meditite/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_meditite_back_pic:: @ 8E128C4 - .incbin "graphics/pokemon/back_pics/meditite_back_pic.4bpp.lz" + .incbin "graphics/pokemon/meditite/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_meditite_shiny_palette:: @ 8E12B8C - .incbin "graphics/pokemon/palettes/meditite_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/meditite/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_meditite_icon:: @ 8E12BB0 - .incbin "graphics/pokemon/icons/meditite_icon.4bpp" + .incbin "graphics/pokemon/meditite/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_meditite_footprint:: @ 8E12FB0 - .incbin "graphics/pokemon/footprints/meditite_footprint.1bpp" + .incbin "graphics/pokemon/meditite/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_medicham_still_front_pic:: @ 8E12FD0 - .incbin "graphics/pokemon/front_pics/medicham_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/medicham/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_medicham_palette:: @ 8E13300 - .incbin "graphics/pokemon/palettes/medicham_palette.gbapal.lz" + .incbin "graphics/pokemon/medicham/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_medicham_back_pic:: @ 8E13328 - .incbin "graphics/pokemon/back_pics/medicham_back_pic.4bpp.lz" + .incbin "graphics/pokemon/medicham/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_medicham_shiny_palette:: @ 8E13660 - .incbin "graphics/pokemon/palettes/medicham_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/medicham/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_medicham_icon:: @ 8E13688 - .incbin "graphics/pokemon/icons/medicham_icon.4bpp" + .incbin "graphics/pokemon/medicham/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_medicham_footprint:: @ 8E13A88 - .incbin "graphics/pokemon/footprints/medicham_footprint.1bpp" + .incbin "graphics/pokemon/medicham/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_swablu_still_front_pic:: @ 8E13AA8 - .incbin "graphics/pokemon/front_pics/swablu_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/swablu/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_swablu_palette:: @ 8E13D80 - .incbin "graphics/pokemon/palettes/swablu_palette.gbapal.lz" + .incbin "graphics/pokemon/swablu/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_swablu_back_pic:: @ 8E13DA8 - .incbin "graphics/pokemon/back_pics/swablu_back_pic.4bpp.lz" + .incbin "graphics/pokemon/swablu/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_swablu_shiny_palette:: @ 8E14160 - .incbin "graphics/pokemon/palettes/swablu_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/swablu/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_swablu_icon:: @ 8E14188 - .incbin "graphics/pokemon/icons/swablu_icon.4bpp" + .incbin "graphics/pokemon/swablu/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_swablu_footprint:: @ 8E14588 - .incbin "graphics/pokemon/footprints/swablu_footprint.1bpp" + .incbin "graphics/pokemon/swablu/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_altaria_still_front_pic:: @ 8E145A8 - .incbin "graphics/pokemon/front_pics/altaria_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/altaria/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_altaria_palette:: @ 8E14984 - .incbin "graphics/pokemon/palettes/altaria_palette.gbapal.lz" + .incbin "graphics/pokemon/altaria/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_altaria_back_pic:: @ 8E149AC - .incbin "graphics/pokemon/back_pics/altaria_back_pic.4bpp.lz" + .incbin "graphics/pokemon/altaria/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_altaria_shiny_palette:: @ 8E14D24 - .incbin "graphics/pokemon/palettes/altaria_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/altaria/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_altaria_icon:: @ 8E14D4C - .incbin "graphics/pokemon/icons/altaria_icon.4bpp" + .incbin "graphics/pokemon/altaria/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_altaria_footprint:: @ 8E1514C - .incbin "graphics/pokemon/footprints/altaria_footprint.1bpp" + .incbin "graphics/pokemon/altaria/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_wynaut_still_front_pic:: @ 8E1516C - .incbin "graphics/pokemon/front_pics/wynaut_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/wynaut/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_wynaut_palette:: @ 8E15404 - .incbin "graphics/pokemon/palettes/wynaut_palette.gbapal.lz" + .incbin "graphics/pokemon/wynaut/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_wynaut_back_pic:: @ 8E1542C - .incbin "graphics/pokemon/back_pics/wynaut_back_pic.4bpp.lz" + .incbin "graphics/pokemon/wynaut/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_wynaut_shiny_palette:: @ 8E156BC - .incbin "graphics/pokemon/palettes/wynaut_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/wynaut/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_wynaut_icon:: @ 8E156E4 - .incbin "graphics/pokemon/icons/wynaut_icon.4bpp" + .incbin "graphics/pokemon/wynaut/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_wynaut_footprint:: @ 8E15AE4 - .incbin "graphics/pokemon/footprints/wynaut_footprint.1bpp" + .incbin "graphics/pokemon/wynaut/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_duskull_still_front_pic:: @ 8E15B04 - .incbin "graphics/pokemon/front_pics/duskull_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/duskull/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_duskull_palette:: @ 8E15DF4 - .incbin "graphics/pokemon/palettes/duskull_palette.gbapal.lz" + .incbin "graphics/pokemon/duskull/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_duskull_back_pic:: @ 8E15E1C - .incbin "graphics/pokemon/back_pics/duskull_back_pic.4bpp.lz" + .incbin "graphics/pokemon/duskull/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_duskull_shiny_palette:: @ 8E160CC - .incbin "graphics/pokemon/palettes/duskull_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/duskull/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_duskull_icon:: @ 8E160F4 - .incbin "graphics/pokemon/icons/duskull_icon.4bpp" + .incbin "graphics/pokemon/duskull/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_duskull_footprint:: @ 8E164F4 - .incbin "graphics/pokemon/footprints/duskull_footprint.1bpp" + .incbin "graphics/pokemon/duskull/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_dusclops_still_front_pic:: @ 8E16514 - .incbin "graphics/pokemon/front_pics/dusclops_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/dusclops/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_dusclops_palette:: @ 8E168B4 - .incbin "graphics/pokemon/palettes/dusclops_palette.gbapal.lz" + .incbin "graphics/pokemon/dusclops/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_dusclops_back_pic:: @ 8E168DC - .incbin "graphics/pokemon/back_pics/dusclops_back_pic.4bpp.lz" + .incbin "graphics/pokemon/dusclops/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_dusclops_shiny_palette:: @ 8E16BC8 - .incbin "graphics/pokemon/palettes/dusclops_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/dusclops/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_dusclops_icon:: @ 8E16BF0 - .incbin "graphics/pokemon/icons/dusclops_icon.4bpp" + .incbin "graphics/pokemon/dusclops/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_dusclops_footprint:: @ 8E16FF0 - .incbin "graphics/pokemon/footprints/dusclops_footprint.1bpp" + .incbin "graphics/pokemon/dusclops/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_roselia_still_front_pic:: @ 8E17010 - .incbin "graphics/pokemon/front_pics/roselia_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/roselia/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_roselia_palette:: @ 8E1737C - .incbin "graphics/pokemon/palettes/roselia_palette.gbapal.lz" + .incbin "graphics/pokemon/roselia/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_roselia_back_pic:: @ 8E173A4 - .incbin "graphics/pokemon/back_pics/roselia_back_pic.4bpp.lz" + .incbin "graphics/pokemon/roselia/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_roselia_shiny_palette:: @ 8E1776C - .incbin "graphics/pokemon/palettes/roselia_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/roselia/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_roselia_icon:: @ 8E17794 - .incbin "graphics/pokemon/icons/roselia_icon.4bpp" + .incbin "graphics/pokemon/roselia/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_roselia_footprint:: @ 8E17B94 - .incbin "graphics/pokemon/footprints/roselia_footprint.1bpp" + .incbin "graphics/pokemon/roselia/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_slakoth_still_front_pic:: @ 8E17BB4 - .incbin "graphics/pokemon/front_pics/slakoth_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/slakoth/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_slakoth_palette:: @ 8E17E9C - .incbin "graphics/pokemon/palettes/slakoth_palette.gbapal.lz" + .incbin "graphics/pokemon/slakoth/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_slakoth_back_pic:: @ 8E17EC4 - .incbin "graphics/pokemon/back_pics/slakoth_back_pic.4bpp.lz" + .incbin "graphics/pokemon/slakoth/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_slakoth_shiny_palette:: @ 8E181AC - .incbin "graphics/pokemon/palettes/slakoth_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/slakoth/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_slakoth_icon:: @ 8E181D4 - .incbin "graphics/pokemon/icons/slakoth_icon.4bpp" + .incbin "graphics/pokemon/slakoth/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_slakoth_footprint:: @ 8E185D4 - .incbin "graphics/pokemon/footprints/slakoth_footprint.1bpp" + .incbin "graphics/pokemon/slakoth/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_vigoroth_still_front_pic:: @ 8E185F4 - .incbin "graphics/pokemon/front_pics/vigoroth_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/vigoroth/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_vigoroth_palette:: @ 8E189F0 - .incbin "graphics/pokemon/palettes/vigoroth_palette.gbapal.lz" + .incbin "graphics/pokemon/vigoroth/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_vigoroth_back_pic:: @ 8E18A18 - .incbin "graphics/pokemon/back_pics/vigoroth_back_pic.4bpp.lz" + .incbin "graphics/pokemon/vigoroth/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_vigoroth_shiny_palette:: @ 8E18CE0 - .incbin "graphics/pokemon/palettes/vigoroth_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/vigoroth/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_vigoroth_icon:: @ 8E18D08 - .incbin "graphics/pokemon/icons/vigoroth_icon.4bpp" + .incbin "graphics/pokemon/vigoroth/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_vigoroth_footprint:: @ 8E19108 - .incbin "graphics/pokemon/footprints/vigoroth_footprint.1bpp" + .incbin "graphics/pokemon/vigoroth/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_slaking_still_front_pic:: @ 8E19128 - .incbin "graphics/pokemon/front_pics/slaking_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/slaking/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_slaking_palette:: @ 8E195FC - .incbin "graphics/pokemon/palettes/slaking_palette.gbapal.lz" + .incbin "graphics/pokemon/slaking/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_slaking_back_pic:: @ 8E19624 - .incbin "graphics/pokemon/back_pics/slaking_back_pic.4bpp.lz" + .incbin "graphics/pokemon/slaking/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_slaking_shiny_palette:: @ 8E199E8 - .incbin "graphics/pokemon/palettes/slaking_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/slaking/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_slaking_icon:: @ 8E19A10 - .incbin "graphics/pokemon/icons/slaking_icon.4bpp" + .incbin "graphics/pokemon/slaking/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_slaking_footprint:: @ 8E19E10 - .incbin "graphics/pokemon/footprints/slaking_footprint.1bpp" + .incbin "graphics/pokemon/slaking/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_gulpin_still_front_pic:: @ 8E19E30 - .incbin "graphics/pokemon/front_pics/gulpin_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/gulpin/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_gulpin_palette:: @ 8E1A048 - .incbin "graphics/pokemon/palettes/gulpin_palette.gbapal.lz" + .incbin "graphics/pokemon/gulpin/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_gulpin_back_pic:: @ 8E1A070 - .incbin "graphics/pokemon/back_pics/gulpin_back_pic.4bpp.lz" + .incbin "graphics/pokemon/gulpin/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_gulpin_shiny_palette:: @ 8E1A2F4 - .incbin "graphics/pokemon/palettes/gulpin_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/gulpin/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_gulpin_icon:: @ 8E1A31C - .incbin "graphics/pokemon/icons/gulpin_icon.4bpp" + .incbin "graphics/pokemon/gulpin/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_gulpin_footprint:: @ 8E1A71C - .incbin "graphics/pokemon/footprints/gulpin_footprint.1bpp" + .incbin "graphics/pokemon/gulpin/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_swalot_still_front_pic:: @ 8E1A73C - .incbin "graphics/pokemon/front_pics/swalot_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/swalot/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_swalot_palette:: @ 8E1AA80 - .incbin "graphics/pokemon/palettes/swalot_palette.gbapal.lz" + .incbin "graphics/pokemon/swalot/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_swalot_back_pic:: @ 8E1AAA8 - .incbin "graphics/pokemon/back_pics/swalot_back_pic.4bpp.lz" + .incbin "graphics/pokemon/swalot/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_swalot_shiny_palette:: @ 8E1ADF0 - .incbin "graphics/pokemon/palettes/swalot_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/swalot/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_swalot_icon:: @ 8E1AE18 - .incbin "graphics/pokemon/icons/swalot_icon.4bpp" + .incbin "graphics/pokemon/swalot/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_swalot_footprint:: @ 8E1B218 - .incbin "graphics/pokemon/footprints/swalot_footprint.1bpp" + .incbin "graphics/pokemon/swalot/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_tropius_still_front_pic:: @ 8E1B238 - .incbin "graphics/pokemon/front_pics/tropius_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/tropius/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_tropius_palette:: @ 8E1B7B0 - .incbin "graphics/pokemon/palettes/tropius_palette.gbapal.lz" + .incbin "graphics/pokemon/tropius/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_tropius_back_pic:: @ 8E1B7D8 - .incbin "graphics/pokemon/back_pics/tropius_back_pic.4bpp.lz" + .incbin "graphics/pokemon/tropius/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_tropius_shiny_palette:: @ 8E1BAFC - .incbin "graphics/pokemon/palettes/tropius_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/tropius/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_tropius_icon:: @ 8E1BB24 - .incbin "graphics/pokemon/icons/tropius_icon.4bpp" + .incbin "graphics/pokemon/tropius/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_tropius_footprint:: @ 8E1BF24 - .incbin "graphics/pokemon/footprints/tropius_footprint.1bpp" + .incbin "graphics/pokemon/tropius/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_whismur_still_front_pic:: @ 8E1BF44 - .incbin "graphics/pokemon/front_pics/whismur_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/whismur/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_whismur_palette:: @ 8E1C1D8 - .incbin "graphics/pokemon/palettes/whismur_palette.gbapal.lz" + .incbin "graphics/pokemon/whismur/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_whismur_back_pic:: @ 8E1C200 - .incbin "graphics/pokemon/back_pics/whismur_back_pic.4bpp.lz" + .incbin "graphics/pokemon/whismur/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_whismur_shiny_palette:: @ 8E1C470 - .incbin "graphics/pokemon/palettes/whismur_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/whismur/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_whismur_icon:: @ 8E1C498 - .incbin "graphics/pokemon/icons/whismur_icon.4bpp" + .incbin "graphics/pokemon/whismur/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_whismur_footprint:: @ 8E1C898 - .incbin "graphics/pokemon/footprints/whismur_footprint.1bpp" + .incbin "graphics/pokemon/whismur/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_loudred_still_front_pic:: @ 8E1C8B8 - .incbin "graphics/pokemon/front_pics/loudred_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/loudred/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_loudred_palette:: @ 8E1CD30 - .incbin "graphics/pokemon/palettes/loudred_palette.gbapal.lz" + .incbin "graphics/pokemon/loudred/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_loudred_back_pic:: @ 8E1CD58 - .incbin "graphics/pokemon/back_pics/loudred_back_pic.4bpp.lz" + .incbin "graphics/pokemon/loudred/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_loudred_shiny_palette:: @ 8E1D0C8 - .incbin "graphics/pokemon/palettes/loudred_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/loudred/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_loudred_icon:: @ 8E1D0F0 - .incbin "graphics/pokemon/icons/loudred_icon.4bpp" + .incbin "graphics/pokemon/loudred/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_loudred_footprint:: @ 8E1D4F0 - .incbin "graphics/pokemon/footprints/loudred_footprint.1bpp" + .incbin "graphics/pokemon/loudred/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_exploud_still_front_pic:: @ 8E1D510 - .incbin "graphics/pokemon/front_pics/exploud_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/exploud/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_exploud_palette:: @ 8E1DA78 - .incbin "graphics/pokemon/palettes/exploud_palette.gbapal.lz" + .incbin "graphics/pokemon/exploud/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_exploud_back_pic:: @ 8E1DAA0 - .incbin "graphics/pokemon/back_pics/exploud_back_pic.4bpp.lz" + .incbin "graphics/pokemon/exploud/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_exploud_shiny_palette:: @ 8E1DEAC - .incbin "graphics/pokemon/palettes/exploud_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/exploud/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_exploud_icon:: @ 8E1DED4 - .incbin "graphics/pokemon/icons/exploud_icon.4bpp" + .incbin "graphics/pokemon/exploud/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_exploud_footprint:: @ 8E1E2D4 - .incbin "graphics/pokemon/footprints/exploud_footprint.1bpp" + .incbin "graphics/pokemon/exploud/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_clamperl_still_front_pic:: @ 8E1E2F4 - .incbin "graphics/pokemon/front_pics/clamperl_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/clamperl/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_clamperl_palette:: @ 8E1E5CC - .incbin "graphics/pokemon/palettes/clamperl_palette.gbapal.lz" + .incbin "graphics/pokemon/clamperl/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_clamperl_back_pic:: @ 8E1E5F4 - .incbin "graphics/pokemon/back_pics/clamperl_back_pic.4bpp.lz" + .incbin "graphics/pokemon/clamperl/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_clamperl_shiny_palette:: @ 8E1E888 - .incbin "graphics/pokemon/palettes/clamperl_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/clamperl/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_clamperl_icon:: @ 8E1E8B0 - .incbin "graphics/pokemon/icons/clamperl_icon.4bpp" + .incbin "graphics/pokemon/clamperl/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_clamperl_footprint:: @ 8E1ECB0 - .incbin "graphics/pokemon/footprints/clamperl_footprint.1bpp" + .incbin "graphics/pokemon/clamperl/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_huntail_still_front_pic:: @ 8E1ECD0 - .incbin "graphics/pokemon/front_pics/huntail_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/huntail/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_huntail_palette:: @ 8E1F09C - .incbin "graphics/pokemon/palettes/huntail_palette.gbapal.lz" + .incbin "graphics/pokemon/huntail/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_huntail_back_pic:: @ 8E1F0C4 - .incbin "graphics/pokemon/back_pics/huntail_back_pic.4bpp.lz" + .incbin "graphics/pokemon/huntail/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_huntail_shiny_palette:: @ 8E1F418 - .incbin "graphics/pokemon/palettes/huntail_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/huntail/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_huntail_icon:: @ 8E1F440 - .incbin "graphics/pokemon/icons/huntail_icon.4bpp" + .incbin "graphics/pokemon/huntail/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_huntail_footprint:: @ 8E1F840 - .incbin "graphics/pokemon/footprints/huntail_footprint.1bpp" + .incbin "graphics/pokemon/huntail/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_gorebyss_still_front_pic:: @ 8E1F860 - .incbin "graphics/pokemon/front_pics/gorebyss_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/gorebyss/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_gorebyss_palette:: @ 8E1FB70 - .incbin "graphics/pokemon/palettes/gorebyss_palette.gbapal.lz" + .incbin "graphics/pokemon/gorebyss/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_gorebyss_back_pic:: @ 8E1FB98 - .incbin "graphics/pokemon/back_pics/gorebyss_back_pic.4bpp.lz" + .incbin "graphics/pokemon/gorebyss/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_gorebyss_shiny_palette:: @ 8E1FE80 - .incbin "graphics/pokemon/palettes/gorebyss_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/gorebyss/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_gorebyss_icon:: @ 8E1FEA8 - .incbin "graphics/pokemon/icons/gorebyss_icon.4bpp" + .incbin "graphics/pokemon/gorebyss/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_gorebyss_footprint:: @ 8E202A8 - .incbin "graphics/pokemon/footprints/gorebyss_footprint.1bpp" + .incbin "graphics/pokemon/gorebyss/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_absol_still_front_pic:: @ 8E202C8 - .incbin "graphics/pokemon/front_pics/absol_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/absol/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_absol_palette:: @ 8E206F8 - .incbin "graphics/pokemon/palettes/absol_palette.gbapal.lz" + .incbin "graphics/pokemon/absol/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_absol_back_pic:: @ 8E20720 - .incbin "graphics/pokemon/back_pics/absol_back_pic.4bpp.lz" + .incbin "graphics/pokemon/absol/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_absol_shiny_palette:: @ 8E20A80 - .incbin "graphics/pokemon/palettes/absol_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/absol/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_absol_icon:: @ 8E20AA8 - .incbin "graphics/pokemon/icons/absol_icon.4bpp" + .incbin "graphics/pokemon/absol/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_absol_footprint:: @ 8E20EA8 - .incbin "graphics/pokemon/footprints/absol_footprint.1bpp" + .incbin "graphics/pokemon/absol/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_shuppet_still_front_pic:: @ 8E20EC8 - .incbin "graphics/pokemon/front_pics/shuppet_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/shuppet/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_shuppet_palette:: @ 8E21100 - .incbin "graphics/pokemon/palettes/shuppet_palette.gbapal.lz" + .incbin "graphics/pokemon/shuppet/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_shuppet_back_pic:: @ 8E21128 - .incbin "graphics/pokemon/back_pics/shuppet_back_pic.4bpp.lz" + .incbin "graphics/pokemon/shuppet/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_shuppet_shiny_palette:: @ 8E213C0 - .incbin "graphics/pokemon/palettes/shuppet_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/shuppet/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_shuppet_icon:: @ 8E213E8 - .incbin "graphics/pokemon/icons/shuppet_icon.4bpp" + .incbin "graphics/pokemon/shuppet/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_shuppet_footprint:: @ 8E217E8 - .incbin "graphics/pokemon/footprints/shuppet_footprint.1bpp" + .incbin "graphics/pokemon/shuppet/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_banette_still_front_pic:: @ 8E21808 - .incbin "graphics/pokemon/front_pics/banette_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/banette/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_banette_palette:: @ 8E21ABC - .incbin "graphics/pokemon/palettes/banette_palette.gbapal.lz" + .incbin "graphics/pokemon/banette/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_banette_back_pic:: @ 8E21AE4 - .incbin "graphics/pokemon/back_pics/banette_back_pic.4bpp.lz" + .incbin "graphics/pokemon/banette/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_banette_shiny_palette:: @ 8E21D60 - .incbin "graphics/pokemon/palettes/banette_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/banette/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_banette_icon:: @ 8E21D88 - .incbin "graphics/pokemon/icons/banette_icon.4bpp" + .incbin "graphics/pokemon/banette/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_banette_footprint:: @ 8E22188 - .incbin "graphics/pokemon/footprints/banette_footprint.1bpp" + .incbin "graphics/pokemon/banette/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_seviper_still_front_pic:: @ 8E221A8 - .incbin "graphics/pokemon/front_pics/seviper_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/seviper/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_seviper_palette:: @ 8E225C8 - .incbin "graphics/pokemon/palettes/seviper_palette.gbapal.lz" + .incbin "graphics/pokemon/seviper/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_seviper_back_pic:: @ 8E225F0 - .incbin "graphics/pokemon/back_pics/seviper_back_pic.4bpp.lz" + .incbin "graphics/pokemon/seviper/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_seviper_shiny_palette:: @ 8E22A7C - .incbin "graphics/pokemon/palettes/seviper_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/seviper/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_seviper_icon:: @ 8E22AA4 - .incbin "graphics/pokemon/icons/seviper_icon.4bpp" + .incbin "graphics/pokemon/seviper/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_seviper_footprint:: @ 8E22EA4 - .incbin "graphics/pokemon/footprints/seviper_footprint.1bpp" + .incbin "graphics/pokemon/seviper/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_zangoose_still_front_pic:: @ 8E22EC4 - .incbin "graphics/pokemon/front_pics/zangoose_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/zangoose/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_zangoose_palette:: @ 8E23290 - .incbin "graphics/pokemon/palettes/zangoose_palette.gbapal.lz" + .incbin "graphics/pokemon/zangoose/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_zangoose_back_pic:: @ 8E232B8 - .incbin "graphics/pokemon/back_pics/zangoose_back_pic.4bpp.lz" + .incbin "graphics/pokemon/zangoose/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_zangoose_shiny_palette:: @ 8E2362C - .incbin "graphics/pokemon/palettes/zangoose_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/zangoose/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_zangoose_icon:: @ 8E23654 - .incbin "graphics/pokemon/icons/zangoose_icon.4bpp" + .incbin "graphics/pokemon/zangoose/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_zangoose_footprint:: @ 8E23A54 - .incbin "graphics/pokemon/footprints/zangoose_footprint.1bpp" + .incbin "graphics/pokemon/zangoose/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_relicanth_still_front_pic:: @ 8E23A74 - .incbin "graphics/pokemon/front_pics/relicanth_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/relicanth/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_relicanth_palette:: @ 8E23E08 - .incbin "graphics/pokemon/palettes/relicanth_palette.gbapal.lz" + .incbin "graphics/pokemon/relicanth/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_relicanth_back_pic:: @ 8E23E30 - .incbin "graphics/pokemon/back_pics/relicanth_back_pic.4bpp.lz" + .incbin "graphics/pokemon/relicanth/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_relicanth_shiny_palette:: @ 8E24188 - .incbin "graphics/pokemon/palettes/relicanth_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/relicanth/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_relicanth_icon:: @ 8E241B0 - .incbin "graphics/pokemon/icons/relicanth_icon.4bpp" + .incbin "graphics/pokemon/relicanth/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_relicanth_footprint:: @ 8E245B0 - .incbin "graphics/pokemon/footprints/relicanth_footprint.1bpp" + .incbin "graphics/pokemon/relicanth/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_aron_still_front_pic:: @ 8E245D0 - .incbin "graphics/pokemon/front_pics/aron_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/aron/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_aron_palette:: @ 8E247B8 - .incbin "graphics/pokemon/palettes/aron_palette.gbapal.lz" + .incbin "graphics/pokemon/aron/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_aron_back_pic:: @ 8E247E0 - .incbin "graphics/pokemon/back_pics/aron_back_pic.4bpp.lz" + .incbin "graphics/pokemon/aron/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_aron_shiny_palette:: @ 8E24A08 - .incbin "graphics/pokemon/palettes/aron_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/aron/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_aron_icon:: @ 8E24A30 - .incbin "graphics/pokemon/icons/aron_icon.4bpp" + .incbin "graphics/pokemon/aron/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_aron_footprint:: @ 8E24E30 - .incbin "graphics/pokemon/footprints/aron_footprint.1bpp" + .incbin "graphics/pokemon/aron/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_lairon_still_front_pic:: @ 8E24E50 - .incbin "graphics/pokemon/front_pics/lairon_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/lairon/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_lairon_palette:: @ 8E2521C - .incbin "graphics/pokemon/palettes/lairon_palette.gbapal.lz" + .incbin "graphics/pokemon/lairon/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_lairon_back_pic:: @ 8E25244 - .incbin "graphics/pokemon/back_pics/lairon_back_pic.4bpp.lz" + .incbin "graphics/pokemon/lairon/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_lairon_shiny_palette:: @ 8E25530 - .incbin "graphics/pokemon/palettes/lairon_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/lairon/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_lairon_icon:: @ 8E25558 - .incbin "graphics/pokemon/icons/lairon_icon.4bpp" + .incbin "graphics/pokemon/lairon/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_lairon_footprint:: @ 8E25958 - .incbin "graphics/pokemon/footprints/lairon_footprint.1bpp" + .incbin "graphics/pokemon/lairon/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_aggron_still_front_pic:: @ 8E25978 - .incbin "graphics/pokemon/front_pics/aggron_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/aggron/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_aggron_palette:: @ 8E25EF4 - .incbin "graphics/pokemon/palettes/aggron_palette.gbapal.lz" + .incbin "graphics/pokemon/aggron/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_aggron_back_pic:: @ 8E25F1C - .incbin "graphics/pokemon/back_pics/aggron_back_pic.4bpp.lz" + .incbin "graphics/pokemon/aggron/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_aggron_shiny_palette:: @ 8E26344 - .incbin "graphics/pokemon/palettes/aggron_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/aggron/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_aggron_icon:: @ 8E2636C - .incbin "graphics/pokemon/icons/aggron_icon.4bpp" + .incbin "graphics/pokemon/aggron/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_aggron_footprint:: @ 8E2676C - .incbin "graphics/pokemon/footprints/aggron_footprint.1bpp" + .incbin "graphics/pokemon/aggron/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_castform_still_front_pic:: @ 8E2678C - .incbin "graphics/pokemon/front_pics/castform_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/castform/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_castform_palette:: @ 8E27214 - .incbin "graphics/pokemon/palettes/castform_palette.gbapal.lz" + .incbin "graphics/pokemon/castform/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_castform_back_pic:: @ 8E27294 - .incbin "graphics/pokemon/back_pics/castform_back_pic.4bpp.lz" + .incbin "graphics/pokemon/castform/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_castform_shiny_palette:: @ 8E27C50 - .incbin "graphics/pokemon/palettes/castform_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/castform/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_castform_icon:: @ 8E27CCC - .incbin "graphics/pokemon/icons/castform_icon.4bpp" + .incbin "graphics/pokemon/castform/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_castform_footprint:: @ 8E280CC - .incbin "graphics/pokemon/footprints/castform_footprint.1bpp" + .incbin "graphics/pokemon/castform/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_volbeat_still_front_pic:: @ 8E280EC - .incbin "graphics/pokemon/front_pics/volbeat_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/volbeat/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_volbeat_palette:: @ 8E2847C - .incbin "graphics/pokemon/palettes/volbeat_palette.gbapal.lz" + .incbin "graphics/pokemon/volbeat/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_volbeat_back_pic:: @ 8E284A4 - .incbin "graphics/pokemon/back_pics/volbeat_back_pic.4bpp.lz" + .incbin "graphics/pokemon/volbeat/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_volbeat_shiny_palette:: @ 8E28804 - .incbin "graphics/pokemon/palettes/volbeat_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/volbeat/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_volbeat_icon:: @ 8E2882C - .incbin "graphics/pokemon/icons/volbeat_icon.4bpp" + .incbin "graphics/pokemon/volbeat/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_volbeat_footprint:: @ 8E28C2C - .incbin "graphics/pokemon/footprints/volbeat_footprint.1bpp" + .incbin "graphics/pokemon/volbeat/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_illumise_still_front_pic:: @ 8E28C4C - .incbin "graphics/pokemon/front_pics/illumise_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/illumise/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_illumise_palette:: @ 8E28FC0 - .incbin "graphics/pokemon/palettes/illumise_palette.gbapal.lz" + .incbin "graphics/pokemon/illumise/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_illumise_back_pic:: @ 8E28FE8 - .incbin "graphics/pokemon/back_pics/illumise_back_pic.4bpp.lz" + .incbin "graphics/pokemon/illumise/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_illumise_shiny_palette:: @ 8E29304 - .incbin "graphics/pokemon/palettes/illumise_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/illumise/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_illumise_icon:: @ 8E2932C - .incbin "graphics/pokemon/icons/illumise_icon.4bpp" + .incbin "graphics/pokemon/illumise/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_illumise_footprint:: @ 8E2972C - .incbin "graphics/pokemon/footprints/illumise_footprint.1bpp" + .incbin "graphics/pokemon/illumise/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_lileep_still_front_pic:: @ 8E2974C - .incbin "graphics/pokemon/front_pics/lileep_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/lileep/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_lileep_palette:: @ 8E29A90 - .incbin "graphics/pokemon/palettes/lileep_palette.gbapal.lz" + .incbin "graphics/pokemon/lileep/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_lileep_back_pic:: @ 8E29AB8 - .incbin "graphics/pokemon/back_pics/lileep_back_pic.4bpp.lz" + .incbin "graphics/pokemon/lileep/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_lileep_shiny_palette:: @ 8E29DFC - .incbin "graphics/pokemon/palettes/lileep_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/lileep/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_lileep_icon:: @ 8E29E24 - .incbin "graphics/pokemon/icons/lileep_icon.4bpp" + .incbin "graphics/pokemon/lileep/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_lileep_footprint:: @ 8E2A224 - .incbin "graphics/pokemon/footprints/lileep_footprint.1bpp" + .incbin "graphics/pokemon/lileep/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_cradily_still_front_pic:: @ 8E2A244 - .incbin "graphics/pokemon/front_pics/cradily_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/cradily/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_cradily_palette:: @ 8E2A660 - .incbin "graphics/pokemon/palettes/cradily_palette.gbapal.lz" + .incbin "graphics/pokemon/cradily/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_cradily_back_pic:: @ 8E2A688 - .incbin "graphics/pokemon/back_pics/cradily_back_pic.4bpp.lz" + .incbin "graphics/pokemon/cradily/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_cradily_shiny_palette:: @ 8E2AA84 - .incbin "graphics/pokemon/palettes/cradily_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/cradily/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_cradily_icon:: @ 8E2AAAC - .incbin "graphics/pokemon/icons/cradily_icon.4bpp" + .incbin "graphics/pokemon/cradily/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_cradily_footprint:: @ 8E2AEAC - .incbin "graphics/pokemon/footprints/cradily_footprint.1bpp" + .incbin "graphics/pokemon/cradily/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_anorith_still_front_pic:: @ 8E2AECC - .incbin "graphics/pokemon/front_pics/anorith_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/anorith/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_anorith_palette:: @ 8E2B1F0 - .incbin "graphics/pokemon/palettes/anorith_palette.gbapal.lz" + .incbin "graphics/pokemon/anorith/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_anorith_back_pic:: @ 8E2B218 - .incbin "graphics/pokemon/back_pics/anorith_back_pic.4bpp.lz" + .incbin "graphics/pokemon/anorith/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_anorith_shiny_palette:: @ 8E2B460 - .incbin "graphics/pokemon/palettes/anorith_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/anorith/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_anorith_icon:: @ 8E2B488 - .incbin "graphics/pokemon/icons/anorith_icon.4bpp" + .incbin "graphics/pokemon/anorith/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_anorith_footprint:: @ 8E2B888 - .incbin "graphics/pokemon/footprints/anorith_footprint.1bpp" + .incbin "graphics/pokemon/anorith/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_armaldo_still_front_pic:: @ 8E2B8A8 - .incbin "graphics/pokemon/front_pics/armaldo_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/armaldo/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_armaldo_palette:: @ 8E2BE28 - .incbin "graphics/pokemon/palettes/armaldo_palette.gbapal.lz" + .incbin "graphics/pokemon/armaldo/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_armaldo_back_pic:: @ 8E2BE50 - .incbin "graphics/pokemon/back_pics/armaldo_back_pic.4bpp.lz" + .incbin "graphics/pokemon/armaldo/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_armaldo_shiny_palette:: @ 8E2C288 - .incbin "graphics/pokemon/palettes/armaldo_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/armaldo/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_armaldo_icon:: @ 8E2C2B0 - .incbin "graphics/pokemon/icons/armaldo_icon.4bpp" + .incbin "graphics/pokemon/armaldo/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_armaldo_footprint:: @ 8E2C6B0 - .incbin "graphics/pokemon/footprints/armaldo_footprint.1bpp" + .incbin "graphics/pokemon/armaldo/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_ralts_still_front_pic:: @ 8E2C6D0 - .incbin "graphics/pokemon/front_pics/ralts_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/ralts/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_ralts_palette:: @ 8E2C900 - .incbin "graphics/pokemon/palettes/ralts_palette.gbapal.lz" + .incbin "graphics/pokemon/ralts/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_ralts_back_pic:: @ 8E2C928 - .incbin "graphics/pokemon/back_pics/ralts_back_pic.4bpp.lz" + .incbin "graphics/pokemon/ralts/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_ralts_shiny_palette:: @ 8E2CB64 - .incbin "graphics/pokemon/palettes/ralts_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/ralts/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_ralts_icon:: @ 8E2CB8C - .incbin "graphics/pokemon/icons/ralts_icon.4bpp" + .incbin "graphics/pokemon/ralts/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_ralts_footprint:: @ 8E2CF8C - .incbin "graphics/pokemon/footprints/ralts_footprint.1bpp" + .incbin "graphics/pokemon/ralts/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_kirlia_still_front_pic:: @ 8E2CFAC - .incbin "graphics/pokemon/front_pics/kirlia_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/kirlia/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_kirlia_palette:: @ 8E2D2A8 - .incbin "graphics/pokemon/palettes/kirlia_palette.gbapal.lz" + .incbin "graphics/pokemon/kirlia/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_kirlia_back_pic:: @ 8E2D2D0 - .incbin "graphics/pokemon/back_pics/kirlia_back_pic.4bpp.lz" + .incbin "graphics/pokemon/kirlia/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_kirlia_shiny_palette:: @ 8E2D644 - .incbin "graphics/pokemon/palettes/kirlia_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/kirlia/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_kirlia_icon:: @ 8E2D66C - .incbin "graphics/pokemon/icons/kirlia_icon.4bpp" + .incbin "graphics/pokemon/kirlia/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_kirlia_footprint:: @ 8E2DA6C - .incbin "graphics/pokemon/footprints/kirlia_footprint.1bpp" + .incbin "graphics/pokemon/kirlia/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_gardevoir_still_front_pic:: @ 8E2DA8C - .incbin "graphics/pokemon/front_pics/gardevoir_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/gardevoir/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_gardevoir_palette:: @ 8E2DE08 - .incbin "graphics/pokemon/palettes/gardevoir_palette.gbapal.lz" + .incbin "graphics/pokemon/gardevoir/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_gardevoir_back_pic:: @ 8E2DE30 - .incbin "graphics/pokemon/back_pics/gardevoir_back_pic.4bpp.lz" + .incbin "graphics/pokemon/gardevoir/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_gardevoir_shiny_palette:: @ 8E2E164 - .incbin "graphics/pokemon/palettes/gardevoir_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/gardevoir/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_gardevoir_icon:: @ 8E2E18C - .incbin "graphics/pokemon/icons/gardevoir_icon.4bpp" + .incbin "graphics/pokemon/gardevoir/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_gardevoir_footprint:: @ 8E2E58C - .incbin "graphics/pokemon/footprints/gardevoir_footprint.1bpp" + .incbin "graphics/pokemon/gardevoir/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_bagon_still_front_pic:: @ 8E2E5AC - .incbin "graphics/pokemon/front_pics/bagon_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/bagon/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_bagon_palette:: @ 8E2E824 - .incbin "graphics/pokemon/palettes/bagon_palette.gbapal.lz" + .incbin "graphics/pokemon/bagon/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_bagon_back_pic:: @ 8E2E84C - .incbin "graphics/pokemon/back_pics/bagon_back_pic.4bpp.lz" + .incbin "graphics/pokemon/bagon/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_bagon_shiny_palette:: @ 8E2EB34 - .incbin "graphics/pokemon/palettes/bagon_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/bagon/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_bagon_icon:: @ 8E2EB5C - .incbin "graphics/pokemon/icons/bagon_icon.4bpp" + .incbin "graphics/pokemon/bagon/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_bagon_footprint:: @ 8E2EF5C - .incbin "graphics/pokemon/footprints/bagon_footprint.1bpp" + .incbin "graphics/pokemon/bagon/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_shelgon_still_front_pic:: @ 8E2EF7C - .incbin "graphics/pokemon/front_pics/shelgon_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/shelgon/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_shelgon_palette:: @ 8E2F280 - .incbin "graphics/pokemon/palettes/shelgon_palette.gbapal.lz" + .incbin "graphics/pokemon/shelgon/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_shelgon_back_pic:: @ 8E2F2A8 - .incbin "graphics/pokemon/back_pics/shelgon_back_pic.4bpp.lz" + .incbin "graphics/pokemon/shelgon/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_shelgon_shiny_palette:: @ 8E2F590 - .incbin "graphics/pokemon/palettes/shelgon_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/shelgon/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_shelgon_icon:: @ 8E2F5B8 - .incbin "graphics/pokemon/icons/shelgon_icon.4bpp" + .incbin "graphics/pokemon/shelgon/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_shelgon_footprint:: @ 8E2F9B8 - .incbin "graphics/pokemon/footprints/shelgon_footprint.1bpp" + .incbin "graphics/pokemon/shelgon/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_salamence_still_front_pic:: @ 8E2F9D8 - .incbin "graphics/pokemon/front_pics/salamence_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/salamence/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_salamence_palette:: @ 8E2FE3C - .incbin "graphics/pokemon/palettes/salamence_palette.gbapal.lz" + .incbin "graphics/pokemon/salamence/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_salamence_back_pic:: @ 8E2FE64 - .incbin "graphics/pokemon/back_pics/salamence_back_pic.4bpp.lz" + .incbin "graphics/pokemon/salamence/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_salamence_shiny_palette:: @ 8E30148 - .incbin "graphics/pokemon/palettes/salamence_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/salamence/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_salamence_icon:: @ 8E30170 - .incbin "graphics/pokemon/icons/salamence_icon.4bpp" + .incbin "graphics/pokemon/salamence/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_salamence_footprint:: @ 8E30570 - .incbin "graphics/pokemon/footprints/salamence_footprint.1bpp" + .incbin "graphics/pokemon/salamence/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_beldum_still_front_pic:: @ 8E30590 - .incbin "graphics/pokemon/front_pics/beldum_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/beldum/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_beldum_palette:: @ 8E30800 - .incbin "graphics/pokemon/palettes/beldum_palette.gbapal.lz" + .incbin "graphics/pokemon/beldum/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_beldum_back_pic:: @ 8E30828 - .incbin "graphics/pokemon/back_pics/beldum_back_pic.4bpp.lz" + .incbin "graphics/pokemon/beldum/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_beldum_shiny_palette:: @ 8E30B18 - .incbin "graphics/pokemon/palettes/beldum_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/beldum/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_beldum_icon:: @ 8E30B40 - .incbin "graphics/pokemon/icons/beldum_icon.4bpp" + .incbin "graphics/pokemon/beldum/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_beldum_footprint:: @ 8E30F40 - .incbin "graphics/pokemon/footprints/beldum_footprint.1bpp" + .incbin "graphics/pokemon/beldum/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_metang_still_front_pic:: @ 8E30F60 - .incbin "graphics/pokemon/front_pics/metang_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/metang/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_metang_palette:: @ 8E313BC - .incbin "graphics/pokemon/palettes/metang_palette.gbapal.lz" + .incbin "graphics/pokemon/metang/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_metang_back_pic:: @ 8E313E4 - .incbin "graphics/pokemon/back_pics/metang_back_pic.4bpp.lz" + .incbin "graphics/pokemon/metang/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_metang_shiny_palette:: @ 8E31708 - .incbin "graphics/pokemon/palettes/metang_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/metang/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_metang_icon:: @ 8E31730 - .incbin "graphics/pokemon/icons/metang_icon.4bpp" + .incbin "graphics/pokemon/metang/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_metang_footprint:: @ 8E31B30 - .incbin "graphics/pokemon/footprints/metang_footprint.1bpp" + .incbin "graphics/pokemon/metang/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_metagross_still_front_pic:: @ 8E31B50 - .incbin "graphics/pokemon/front_pics/metagross_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/metagross/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_metagross_palette:: @ 8E31FB4 - .incbin "graphics/pokemon/palettes/metagross_palette.gbapal.lz" + .incbin "graphics/pokemon/metagross/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_metagross_back_pic:: @ 8E31FDC - .incbin "graphics/pokemon/back_pics/metagross_back_pic.4bpp.lz" + .incbin "graphics/pokemon/metagross/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_metagross_shiny_palette:: @ 8E322A8 - .incbin "graphics/pokemon/palettes/metagross_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/metagross/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_metagross_icon:: @ 8E322D0 - .incbin "graphics/pokemon/icons/metagross_icon.4bpp" + .incbin "graphics/pokemon/metagross/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_metagross_footprint:: @ 8E326D0 - .incbin "graphics/pokemon/footprints/metagross_footprint.1bpp" + .incbin "graphics/pokemon/metagross/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_regirock_still_front_pic:: @ 8E326F0 - .incbin "graphics/pokemon/front_pics/regirock_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/regirock/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_regirock_palette:: @ 8E32BAC - .incbin "graphics/pokemon/palettes/regirock_palette.gbapal.lz" + .incbin "graphics/pokemon/regirock/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_regirock_back_pic:: @ 8E32BD4 - .incbin "graphics/pokemon/back_pics/regirock_back_pic.4bpp.lz" + .incbin "graphics/pokemon/regirock/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_regirock_shiny_palette:: @ 8E33020 - .incbin "graphics/pokemon/palettes/regirock_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/regirock/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_regirock_icon:: @ 8E33048 - .incbin "graphics/pokemon/icons/regirock_icon.4bpp" + .incbin "graphics/pokemon/regirock/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_regirock_footprint:: @ 8E33448 - .incbin "graphics/pokemon/footprints/regirock_footprint.1bpp" + .incbin "graphics/pokemon/regirock/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_regice_still_front_pic:: @ 8E33468 - .incbin "graphics/pokemon/front_pics/regice_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/regice/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_regice_palette:: @ 8E338B0 - .incbin "graphics/pokemon/palettes/regice_palette.gbapal.lz" + .incbin "graphics/pokemon/regice/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_regice_back_pic:: @ 8E338D8 - .incbin "graphics/pokemon/back_pics/regice_back_pic.4bpp.lz" + .incbin "graphics/pokemon/regice/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_regice_shiny_palette:: @ 8E33BC8 - .incbin "graphics/pokemon/palettes/regice_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/regice/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_regice_icon:: @ 8E33BF0 - .incbin "graphics/pokemon/icons/regice_icon.4bpp" + .incbin "graphics/pokemon/regice/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_regice_footprint:: @ 8E33FF0 - .incbin "graphics/pokemon/footprints/regice_footprint.1bpp" + .incbin "graphics/pokemon/regice/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_registeel_still_front_pic:: @ 8E34010 - .incbin "graphics/pokemon/front_pics/registeel_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/registeel/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_registeel_palette:: @ 8E34498 - .incbin "graphics/pokemon/palettes/registeel_palette.gbapal.lz" + .incbin "graphics/pokemon/registeel/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_registeel_back_pic:: @ 8E344C0 - .incbin "graphics/pokemon/back_pics/registeel_back_pic.4bpp.lz" + .incbin "graphics/pokemon/registeel/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_registeel_shiny_palette:: @ 8E347F8 - .incbin "graphics/pokemon/palettes/registeel_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/registeel/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_registeel_icon:: @ 8E34820 - .incbin "graphics/pokemon/icons/registeel_icon.4bpp" + .incbin "graphics/pokemon/registeel/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_registeel_footprint:: @ 8E34C20 - .incbin "graphics/pokemon/footprints/registeel_footprint.1bpp" + .incbin "graphics/pokemon/registeel/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_kyogre_still_front_pic:: @ 8E34C40 - .incbin "graphics/pokemon/front_pics/kyogre_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/kyogre/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_kyogre_palette:: @ 8E350B0 - .incbin "graphics/pokemon/palettes/kyogre_palette.gbapal.lz" + .incbin "graphics/pokemon/kyogre/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_kyogre_back_pic:: @ 8E350D8 - .incbin "graphics/pokemon/back_pics/kyogre_back_pic.4bpp.lz" + .incbin "graphics/pokemon/kyogre/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_kyogre_shiny_palette:: @ 8E35350 - .incbin "graphics/pokemon/palettes/kyogre_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/kyogre/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_kyogre_icon:: @ 8E35378 - .incbin "graphics/pokemon/icons/kyogre_icon.4bpp" + .incbin "graphics/pokemon/kyogre/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_kyogre_footprint:: @ 8E35778 - .incbin "graphics/pokemon/footprints/kyogre_footprint.1bpp" + .incbin "graphics/pokemon/kyogre/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_groudon_still_front_pic:: @ 8E35798 - .incbin "graphics/pokemon/front_pics/groudon_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/groudon/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_groudon_palette:: @ 8E35D2C - .incbin "graphics/pokemon/palettes/groudon_palette.gbapal.lz" + .incbin "graphics/pokemon/groudon/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_groudon_back_pic:: @ 8E35D54 - .incbin "graphics/pokemon/back_pics/groudon_back_pic.4bpp.lz" + .incbin "graphics/pokemon/groudon/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_groudon_shiny_palette:: @ 8E361BC - .incbin "graphics/pokemon/palettes/groudon_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/groudon/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_groudon_icon:: @ 8E361E4 - .incbin "graphics/pokemon/icons/groudon_icon.4bpp" + .incbin "graphics/pokemon/groudon/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_groudon_footprint:: @ 8E365E4 - .incbin "graphics/pokemon/footprints/groudon_footprint.1bpp" + .incbin "graphics/pokemon/groudon/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_rayquaza_still_front_pic:: @ 8E36604 - .incbin "graphics/pokemon/front_pics/rayquaza_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/rayquaza/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_rayquaza_palette:: @ 8E36B14 - .incbin "graphics/pokemon/palettes/rayquaza_palette.gbapal.lz" + .incbin "graphics/pokemon/rayquaza/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_rayquaza_back_pic:: @ 8E36B3C - .incbin "graphics/pokemon/back_pics/rayquaza_back_pic.4bpp.lz" + .incbin "graphics/pokemon/rayquaza/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_rayquaza_shiny_palette:: @ 8E36E74 - .incbin "graphics/pokemon/palettes/rayquaza_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/rayquaza/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_rayquaza_icon:: @ 8E36E9C - .incbin "graphics/pokemon/icons/rayquaza_icon.4bpp" + .incbin "graphics/pokemon/rayquaza/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_rayquaza_footprint:: @ 8E3729C - .incbin "graphics/pokemon/footprints/rayquaza_footprint.1bpp" + .incbin "graphics/pokemon/rayquaza/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_latias_still_front_pic:: @ 8E372BC - .incbin "graphics/pokemon/front_pics/latias_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/latias/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_latias_palette:: @ 8E376E0 - .incbin "graphics/pokemon/palettes/latias_palette.gbapal.lz" + .incbin "graphics/pokemon/latias/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_latias_back_pic:: @ 8E37708 - .incbin "graphics/pokemon/back_pics/latias_back_pic.4bpp.lz" + .incbin "graphics/pokemon/latias/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_latias_shiny_palette:: @ 8E37A04 - .incbin "graphics/pokemon/palettes/latias_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/latias/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_latias_icon:: @ 8E37A2C - .incbin "graphics/pokemon/icons/latias_icon.4bpp" + .incbin "graphics/pokemon/latias/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_latias_footprint:: @ 8E37E2C - .incbin "graphics/pokemon/footprints/latias_footprint.1bpp" + .incbin "graphics/pokemon/latias/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_latios_still_front_pic:: @ 8E37E4C - .incbin "graphics/pokemon/front_pics/latios_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/latios/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_latios_palette:: @ 8E382A0 - .incbin "graphics/pokemon/palettes/latios_palette.gbapal.lz" + .incbin "graphics/pokemon/latios/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_latios_back_pic:: @ 8E382C8 - .incbin "graphics/pokemon/back_pics/latios_back_pic.4bpp.lz" + .incbin "graphics/pokemon/latios/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_latios_shiny_palette:: @ 8E38628 - .incbin "graphics/pokemon/palettes/latios_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/latios/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_latios_icon:: @ 8E38650 - .incbin "graphics/pokemon/icons/latios_icon.4bpp" + .incbin "graphics/pokemon/latios/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_latios_footprint:: @ 8E38A50 - .incbin "graphics/pokemon/footprints/latios_footprint.1bpp" + .incbin "graphics/pokemon/latios/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_jirachi_still_front_pic:: @ 8E38A70 - .incbin "graphics/pokemon/front_pics/jirachi_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/jirachi/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_jirachi_palette:: @ 8E38D7C - .incbin "graphics/pokemon/palettes/jirachi_palette.gbapal.lz" + .incbin "graphics/pokemon/jirachi/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_jirachi_back_pic:: @ 8E38DA4 - .incbin "graphics/pokemon/back_pics/jirachi_back_pic.4bpp.lz" + .incbin "graphics/pokemon/jirachi/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_jirachi_shiny_palette:: @ 8E39144 - .incbin "graphics/pokemon/palettes/jirachi_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/jirachi/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_jirachi_icon:: @ 8E3916C - .incbin "graphics/pokemon/icons/jirachi_icon.4bpp" + .incbin "graphics/pokemon/jirachi/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_jirachi_footprint:: @ 8E3956C - .incbin "graphics/pokemon/footprints/jirachi_footprint.1bpp" + .incbin "graphics/pokemon/jirachi/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_deoxys_still_front_pic:: @ 8E3958C - .incbin "graphics/pokemon/front_pics/deoxys_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/deoxys/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_deoxys_palette:: @ 8E39D48 - .incbin "graphics/pokemon/palettes/deoxys_palette.gbapal.lz" + .incbin "graphics/pokemon/deoxys/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_deoxys_back_pic:: @ 8E39D70 - .incbin "graphics/pokemon/back_pics/deoxys_back_pic.4bpp.lz" + .incbin "graphics/pokemon/deoxys/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_deoxys_shiny_palette:: @ 8E3A360 - .incbin "graphics/pokemon/palettes/deoxys_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/deoxys/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_deoxys_icon:: @ 8E3A388 - .incbin "graphics/pokemon/icons/deoxys_icon.4bpp" + .incbin "graphics/pokemon/deoxys/icon.4bpp" .align 2 gFile_graphics_pokemon_icons_deoxys_speed_icon:: @ 8E3A788 - .incbin "graphics/pokemon/icons/deoxys_speed_icon.4bpp" + .incbin "graphics/pokemon/deoxys/speed_icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_deoxys_footprint:: @ 8E3AB88 - .incbin "graphics/pokemon/footprints/deoxys_footprint.1bpp" + .incbin "graphics/pokemon/deoxys/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_chimecho_still_front_pic:: @ 8E3ABA8 - .incbin "graphics/pokemon/front_pics/chimecho_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/chimecho/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_chimecho_palette:: @ 8E3ADF4 - .incbin "graphics/pokemon/palettes/chimecho_palette.gbapal.lz" + .incbin "graphics/pokemon/chimecho/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_back_pics_chimecho_back_pic:: @ 8E3AE1C - .incbin "graphics/pokemon/back_pics/chimecho_back_pic.4bpp.lz" + .incbin "graphics/pokemon/chimecho/back.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_chimecho_shiny_palette:: @ 8E3B090 - .incbin "graphics/pokemon/palettes/chimecho_shiny_palette.gbapal.lz" + .incbin "graphics/pokemon/chimecho/shiny.gbapal.lz" .align 2 gFile_graphics_pokemon_icons_chimecho_icon:: @ 8E3B0B8 - .incbin "graphics/pokemon/icons/chimecho_icon.4bpp" + .incbin "graphics/pokemon/chimecho/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_chimecho_footprint:: @ 8E3B4B8 - .incbin "graphics/pokemon/footprints/chimecho_footprint.1bpp" + .incbin "graphics/pokemon/chimecho/footprint.1bpp" .align 2 gFile_graphics_pokemon_front_pics_egg_still_front_pic:: @ 8E3B4D8 - .incbin "graphics/pokemon/front_pics/egg_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/egg/front.4bpp.lz" .align 2 gFile_graphics_pokemon_palettes_egg_palette:: @ 8E3B68C - .incbin "graphics/pokemon/palettes/egg_palette.gbapal.lz" + .incbin "graphics/pokemon/egg/normal.gbapal.lz" .align 2 gFile_graphics_pokemon_front_pics_unown_b_still_front_pic:: @ 8E3B6AC - .incbin "graphics/pokemon/front_pics/unown_b_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/unown/b/front.4bpp.lz" .align 2 gFile_graphics_pokemon_back_pics_unown_b_back_pic:: @ 8E3B884 - .incbin "graphics/pokemon/back_pics/unown_b_back_pic.4bpp.lz" + .incbin "graphics/pokemon/unown/b/back.4bpp.lz" .align 2 gFile_graphics_pokemon_icons_unown_B_icon:: @ 8E3BA88 - .incbin "graphics/pokemon/icons/unown_B_icon.4bpp" + .incbin "graphics/pokemon/unown/B/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_c_still_front_pic:: @ 8E3BE88 - .incbin "graphics/pokemon/front_pics/unown_c_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/unown/c/front.4bpp.lz" .align 2 gFile_graphics_pokemon_back_pics_unown_c_back_pic:: @ 8E3C09C - .incbin "graphics/pokemon/back_pics/unown_c_back_pic.4bpp.lz" + .incbin "graphics/pokemon/unown/c/back.4bpp.lz" .align 2 gFile_graphics_pokemon_icons_unown_C_icon:: @ 8E3C348 - .incbin "graphics/pokemon/icons/unown_C_icon.4bpp" + .incbin "graphics/pokemon/unown/C/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_d_still_front_pic:: @ 8E3C748 - .incbin "graphics/pokemon/front_pics/unown_d_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/unown/d/front.4bpp.lz" .align 2 gFile_graphics_pokemon_back_pics_unown_d_back_pic:: @ 8E3C940 - .incbin "graphics/pokemon/back_pics/unown_d_back_pic.4bpp.lz" + .incbin "graphics/pokemon/unown/d/back.4bpp.lz" .align 2 gFile_graphics_pokemon_icons_unown_D_icon:: @ 8E3CB98 - .incbin "graphics/pokemon/icons/unown_D_icon.4bpp" + .incbin "graphics/pokemon/unown/D/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_e_still_front_pic:: @ 8E3CF98 - .incbin "graphics/pokemon/front_pics/unown_e_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/unown/e/front.4bpp.lz" .align 2 gFile_graphics_pokemon_back_pics_unown_e_back_pic:: @ 8E3D150 - .incbin "graphics/pokemon/back_pics/unown_e_back_pic.4bpp.lz" + .incbin "graphics/pokemon/unown/e/back.4bpp.lz" .align 2 gFile_graphics_pokemon_icons_unown_E_icon:: @ 8E3D350 - .incbin "graphics/pokemon/icons/unown_E_icon.4bpp" + .incbin "graphics/pokemon/unown/E/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_f_still_front_pic:: @ 8E3D750 - .incbin "graphics/pokemon/front_pics/unown_f_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/unown/f/front.4bpp.lz" .align 2 gFile_graphics_pokemon_back_pics_unown_f_back_pic:: @ 8E3D944 - .incbin "graphics/pokemon/back_pics/unown_f_back_pic.4bpp.lz" + .incbin "graphics/pokemon/unown/f/back.4bpp.lz" .align 2 gFile_graphics_pokemon_icons_unown_F_icon:: @ 8E3DB60 - .incbin "graphics/pokemon/icons/unown_F_icon.4bpp" + .incbin "graphics/pokemon/unown/F/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_g_still_front_pic:: @ 8E3DF60 - .incbin "graphics/pokemon/front_pics/unown_g_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/unown/g/front.4bpp.lz" .align 2 gFile_graphics_pokemon_back_pics_unown_g_back_pic:: @ 8E3E13C - .incbin "graphics/pokemon/back_pics/unown_g_back_pic.4bpp.lz" + .incbin "graphics/pokemon/unown/g/back.4bpp.lz" .align 2 gFile_graphics_pokemon_icons_unown_G_icon:: @ 8E3E388 - .incbin "graphics/pokemon/icons/unown_G_icon.4bpp" + .incbin "graphics/pokemon/unown/G/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_h_still_front_pic:: @ 8E3E788 - .incbin "graphics/pokemon/front_pics/unown_h_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/unown/h/front.4bpp.lz" .align 2 gFile_graphics_pokemon_back_pics_unown_h_back_pic:: @ 8E3E9CC - .incbin "graphics/pokemon/back_pics/unown_h_back_pic.4bpp.lz" + .incbin "graphics/pokemon/unown/h/back.4bpp.lz" .align 2 gFile_graphics_pokemon_icons_unown_H_icon:: @ 8E3EC90 - .incbin "graphics/pokemon/icons/unown_H_icon.4bpp" + .incbin "graphics/pokemon/unown/H/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_i_still_front_pic:: @ 8E3F090 - .incbin "graphics/pokemon/front_pics/unown_i_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/unown/i/front.4bpp.lz" .align 2 gFile_graphics_pokemon_back_pics_unown_i_back_pic:: @ 8E3F228 - .incbin "graphics/pokemon/back_pics/unown_i_back_pic.4bpp.lz" + .incbin "graphics/pokemon/unown/i/back.4bpp.lz" .align 2 gFile_graphics_pokemon_icons_unown_I_icon:: @ 8E3F3D0 - .incbin "graphics/pokemon/icons/unown_I_icon.4bpp" + .incbin "graphics/pokemon/unown/I/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_j_still_front_pic:: @ 8E3F7D0 - .incbin "graphics/pokemon/front_pics/unown_j_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/unown/j/front.4bpp.lz" .align 2 gFile_graphics_pokemon_back_pics_unown_j_back_pic:: @ 8E3F994 - .incbin "graphics/pokemon/back_pics/unown_j_back_pic.4bpp.lz" + .incbin "graphics/pokemon/unown/j/back.4bpp.lz" .align 2 gFile_graphics_pokemon_icons_unown_J_icon:: @ 8E3FB7C - .incbin "graphics/pokemon/icons/unown_J_icon.4bpp" + .incbin "graphics/pokemon/unown/J/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_k_still_front_pic:: @ 8E3FF7C - .incbin "graphics/pokemon/front_pics/unown_k_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/unown/k/front.4bpp.lz" .align 2 gFile_graphics_pokemon_back_pics_unown_k_back_pic:: @ 8E4014C - .incbin "graphics/pokemon/back_pics/unown_k_back_pic.4bpp.lz" + .incbin "graphics/pokemon/unown/k/back.4bpp.lz" .align 2 gFile_graphics_pokemon_icons_unown_K_icon:: @ 8E40344 - .incbin "graphics/pokemon/icons/unown_K_icon.4bpp" + .incbin "graphics/pokemon/unown/K/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_l_still_front_pic:: @ 8E40744 - .incbin "graphics/pokemon/front_pics/unown_l_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/unown/l/front.4bpp.lz" .align 2 gFile_graphics_pokemon_back_pics_unown_l_back_pic:: @ 8E408F4 - .incbin "graphics/pokemon/back_pics/unown_l_back_pic.4bpp.lz" + .incbin "graphics/pokemon/unown/l/back.4bpp.lz" .align 2 gFile_graphics_pokemon_icons_unown_L_icon:: @ 8E40AC8 - .incbin "graphics/pokemon/icons/unown_L_icon.4bpp" + .incbin "graphics/pokemon/unown/L/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_m_still_front_pic:: @ 8E40EC8 - .incbin "graphics/pokemon/front_pics/unown_m_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/unown/m/front.4bpp.lz" .align 2 gFile_graphics_pokemon_back_pics_unown_m_back_pic:: @ 8E410EC - .incbin "graphics/pokemon/back_pics/unown_m_back_pic.4bpp.lz" + .incbin "graphics/pokemon/unown/m/back.4bpp.lz" .align 2 gFile_graphics_pokemon_icons_unown_M_icon:: @ 8E41394 - .incbin "graphics/pokemon/icons/unown_M_icon.4bpp" + .incbin "graphics/pokemon/unown/M/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_n_still_front_pic:: @ 8E41794 - .incbin "graphics/pokemon/front_pics/unown_n_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/unown/n/front.4bpp.lz" .align 2 gFile_graphics_pokemon_back_pics_unown_n_back_pic:: @ 8E4198C - .incbin "graphics/pokemon/back_pics/unown_n_back_pic.4bpp.lz" + .incbin "graphics/pokemon/unown/n/back.4bpp.lz" .align 2 gFile_graphics_pokemon_icons_unown_N_icon:: @ 8E41BF8 - .incbin "graphics/pokemon/icons/unown_N_icon.4bpp" + .incbin "graphics/pokemon/unown/N/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_o_still_front_pic:: @ 8E41FF8 - .incbin "graphics/pokemon/front_pics/unown_o_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/unown/o/front.4bpp.lz" .align 2 gFile_graphics_pokemon_back_pics_unown_o_back_pic:: @ 8E42230 - .incbin "graphics/pokemon/back_pics/unown_o_back_pic.4bpp.lz" + .incbin "graphics/pokemon/unown/o/back.4bpp.lz" .align 2 gFile_graphics_pokemon_icons_unown_O_icon:: @ 8E424F0 - .incbin "graphics/pokemon/icons/unown_O_icon.4bpp" + .incbin "graphics/pokemon/unown/O/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_p_still_front_pic:: @ 8E428F0 - .incbin "graphics/pokemon/front_pics/unown_p_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/unown/p/front.4bpp.lz" .align 2 gFile_graphics_pokemon_back_pics_unown_p_back_pic:: @ 8E42A90 - .incbin "graphics/pokemon/back_pics/unown_p_back_pic.4bpp.lz" + .incbin "graphics/pokemon/unown/p/back.4bpp.lz" .align 2 gFile_graphics_pokemon_icons_unown_P_icon:: @ 8E42C54 - .incbin "graphics/pokemon/icons/unown_P_icon.4bpp" + .incbin "graphics/pokemon/unown/P/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_q_still_front_pic:: @ 8E43054 - .incbin "graphics/pokemon/front_pics/unown_q_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/unown/q/front.4bpp.lz" .align 2 gFile_graphics_pokemon_back_pics_unown_q_back_pic:: @ 8E43208 - .incbin "graphics/pokemon/back_pics/unown_q_back_pic.4bpp.lz" + .incbin "graphics/pokemon/unown/q/back.4bpp.lz" .align 2 gFile_graphics_pokemon_icons_unown_Q_icon:: @ 8E433D4 - .incbin "graphics/pokemon/icons/unown_Q_icon.4bpp" + .incbin "graphics/pokemon/unown/Q/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_r_still_front_pic:: @ 8E437D4 - .incbin "graphics/pokemon/front_pics/unown_r_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/unown/r/front.4bpp.lz" .align 2 gFile_graphics_pokemon_back_pics_unown_r_back_pic:: @ 8E43978 - .incbin "graphics/pokemon/back_pics/unown_r_back_pic.4bpp.lz" + .incbin "graphics/pokemon/unown/r/back.4bpp.lz" .align 2 gFile_graphics_pokemon_icons_unown_R_icon:: @ 8E43B40 - .incbin "graphics/pokemon/icons/unown_R_icon.4bpp" + .incbin "graphics/pokemon/unown/R/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_s_still_front_pic:: @ 8E43F40 - .incbin "graphics/pokemon/front_pics/unown_s_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/unown/s/front.4bpp.lz" .align 2 gFile_graphics_pokemon_back_pics_unown_s_back_pic:: @ 8E44128 - .incbin "graphics/pokemon/back_pics/unown_s_back_pic.4bpp.lz" + .incbin "graphics/pokemon/unown/s/back.4bpp.lz" .align 2 gFile_graphics_pokemon_icons_unown_S_icon:: @ 8E4437C - .incbin "graphics/pokemon/icons/unown_S_icon.4bpp" + .incbin "graphics/pokemon/unown/S/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_t_still_front_pic:: @ 8E4477C - .incbin "graphics/pokemon/front_pics/unown_t_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/unown/t/front.4bpp.lz" .align 2 gFile_graphics_pokemon_back_pics_unown_t_back_pic:: @ 8E4492C - .incbin "graphics/pokemon/back_pics/unown_t_back_pic.4bpp.lz" + .incbin "graphics/pokemon/unown/t/back.4bpp.lz" .align 2 gFile_graphics_pokemon_icons_unown_T_icon:: @ 8E44AE0 - .incbin "graphics/pokemon/icons/unown_T_icon.4bpp" + .incbin "graphics/pokemon/unown/T/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_u_still_front_pic:: @ 8E44EE0 - .incbin "graphics/pokemon/front_pics/unown_u_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/unown/u/front.4bpp.lz" .align 2 gFile_graphics_pokemon_back_pics_unown_u_back_pic:: @ 8E450F8 - .incbin "graphics/pokemon/back_pics/unown_u_back_pic.4bpp.lz" + .incbin "graphics/pokemon/unown/u/back.4bpp.lz" .align 2 gFile_graphics_pokemon_icons_unown_U_icon:: @ 8E4534C - .incbin "graphics/pokemon/icons/unown_U_icon.4bpp" + .incbin "graphics/pokemon/unown/U/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_v_still_front_pic:: @ 8E4574C - .incbin "graphics/pokemon/front_pics/unown_v_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/unown/v/front.4bpp.lz" .align 2 gFile_graphics_pokemon_back_pics_unown_v_back_pic:: @ 8E45930 - .incbin "graphics/pokemon/back_pics/unown_v_back_pic.4bpp.lz" + .incbin "graphics/pokemon/unown/v/back.4bpp.lz" .align 2 gFile_graphics_pokemon_icons_unown_V_icon:: @ 8E45B60 - .incbin "graphics/pokemon/icons/unown_V_icon.4bpp" + .incbin "graphics/pokemon/unown/V/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_w_still_front_pic:: @ 8E45F60 - .incbin "graphics/pokemon/front_pics/unown_w_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/unown/w/front.4bpp.lz" .align 2 gFile_graphics_pokemon_back_pics_unown_w_back_pic:: @ 8E46134 - .incbin "graphics/pokemon/back_pics/unown_w_back_pic.4bpp.lz" + .incbin "graphics/pokemon/unown/w/back.4bpp.lz" .align 2 gFile_graphics_pokemon_icons_unown_W_icon:: @ 8E46338 - .incbin "graphics/pokemon/icons/unown_W_icon.4bpp" + .incbin "graphics/pokemon/unown/W/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_x_still_front_pic:: @ 8E46738 - .incbin "graphics/pokemon/front_pics/unown_x_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/unown/x/front.4bpp.lz" .align 2 gFile_graphics_pokemon_back_pics_unown_x_back_pic:: @ 8E468FC - .incbin "graphics/pokemon/back_pics/unown_x_back_pic.4bpp.lz" + .incbin "graphics/pokemon/unown/x/back.4bpp.lz" .align 2 gFile_graphics_pokemon_icons_unown_X_icon:: @ 8E46AEC - .incbin "graphics/pokemon/icons/unown_X_icon.4bpp" + .incbin "graphics/pokemon/unown/X/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_y_still_front_pic:: @ 8E46EEC - .incbin "graphics/pokemon/front_pics/unown_y_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/unown/y/front.4bpp.lz" .align 2 gFile_graphics_pokemon_back_pics_unown_y_back_pic:: @ 8E470C4 - .incbin "graphics/pokemon/back_pics/unown_y_back_pic.4bpp.lz" + .incbin "graphics/pokemon/unown/y/back.4bpp.lz" .align 2 gFile_graphics_pokemon_icons_unown_Y_icon:: @ 8E472B8 - .incbin "graphics/pokemon/icons/unown_Y_icon.4bpp" + .incbin "graphics/pokemon/unown/Y/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_z_still_front_pic:: @ 8E476B8 - .incbin "graphics/pokemon/front_pics/unown_z_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/unown/z/front.4bpp.lz" .align 2 gFile_graphics_pokemon_back_pics_unown_z_back_pic:: @ 8E47868 - .incbin "graphics/pokemon/back_pics/unown_z_back_pic.4bpp.lz" + .incbin "graphics/pokemon/unown/z/back.4bpp.lz" .align 2 gFile_graphics_pokemon_icons_unown_Z_icon:: @ 8E47A44 - .incbin "graphics/pokemon/icons/unown_Z_icon.4bpp" + .incbin "graphics/pokemon/unown/Z/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_exclamation_mark_still_front_pic:: @ 8E47E44 - .incbin "graphics/pokemon/front_pics/unown_exclamation_mark_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/unown/exclamation_mark/front.4bpp.lz" .align 2 gFile_graphics_pokemon_back_pics_unown_exclamation_mark_back_pic:: @ 8E47FD4 - .incbin "graphics/pokemon/back_pics/unown_exclamation_mark_back_pic.4bpp.lz" + .incbin "graphics/pokemon/unown/exclamation_mark/back.4bpp.lz" .align 2 gFile_graphics_pokemon_icons_unown_exclamation_mark_icon:: @ 8E4819C - .incbin "graphics/pokemon/icons/unown_exclamation_mark_icon.4bpp" + .incbin "graphics/pokemon/unown/exclamation_mark/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_question_mark_still_front_pic:: @ 8E4859C - .incbin "graphics/pokemon/front_pics/unown_question_mark_still_front_pic.4bpp.lz" + .incbin "graphics/pokemon/unown/question_mark/front.4bpp.lz" .align 2 gFile_graphics_pokemon_back_pics_unown_question_mark_back_pic:: @ 8E48758 - .incbin "graphics/pokemon/back_pics/unown_question_mark_back_pic.4bpp.lz" + .incbin "graphics/pokemon/unown/question_mark/back.4bpp.lz" .align 2 gFile_graphics_pokemon_icons_unown_question_mark_icon:: @ 8E48958 - .incbin "graphics/pokemon/icons/unown_question_mark_icon.4bpp" + .incbin "graphics/pokemon/unown/question_mark/icon.4bpp" .align 2 gFile_graphics_trainers_front_pics_aqua_leader_archie_front_pic:: @ 8E48D58 @@ -13436,11 +13436,11 @@ gFile_graphics_trainers_palettes_old_man_back_pic:: @ 8E76F34 .align 2 gFile_graphics_pokemon_icons_question_mark_icon:: @ 8E76F5C - .incbin "graphics/pokemon/icons/question_mark_icon.4bpp" + .incbin "graphics/pokemon/question_mark/icon.4bpp" .align 2 gFile_graphics_pokemon_footprints_question_mark_footprint:: @ 8E7735C - .incbin "graphics/pokemon/footprints/question_mark_footprint.1bpp" + .incbin "graphics/pokemon/question_mark/footprint.1bpp" .align 2 gFile_graphics_battle_transitions_vs_frame_sheet:: @ 8E7737C diff --git a/graphics/pokemon/abra/back.png b/graphics/pokemon/abra/back.png new file mode 100644 index 000000000..fd53dd1f6 Binary files /dev/null and b/graphics/pokemon/abra/back.png differ diff --git a/graphics/pokemon/abra/footprint.png b/graphics/pokemon/abra/footprint.png new file mode 100644 index 000000000..42b5e416f Binary files /dev/null and b/graphics/pokemon/abra/footprint.png differ diff --git a/graphics/pokemon/abra/front.png b/graphics/pokemon/abra/front.png new file mode 100644 index 000000000..a3f2aa453 Binary files /dev/null and b/graphics/pokemon/abra/front.png differ diff --git a/graphics/pokemon/abra/icon.png b/graphics/pokemon/abra/icon.png new file mode 100644 index 000000000..cf7d3d2f7 Binary files /dev/null and b/graphics/pokemon/abra/icon.png differ diff --git a/graphics/pokemon/abra/normal.pal b/graphics/pokemon/abra/normal.pal new file mode 100644 index 000000000..b66db0279 --- /dev/null +++ b/graphics/pokemon/abra/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +246 246 246 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +213 180 82 +172 131 41 +148 106 16 +98 49 0 +255 0 255 +255 0 255 +246 246 164 +255 238 41 +222 205 32 +131 90 16 +16 16 16 diff --git a/graphics/pokemon/abra/shiny.pal b/graphics/pokemon/abra/shiny.pal new file mode 100644 index 000000000..9b3ebe682 --- /dev/null +++ b/graphics/pokemon/abra/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 148 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +230 139 164 +205 115 148 +131 82 98 +98 65 82 +255 0 255 +255 0 255 +255 246 115 +255 222 90 +238 180 49 +115 74 49 +16 16 16 diff --git a/graphics/pokemon/absol/back.png b/graphics/pokemon/absol/back.png new file mode 100644 index 000000000..876ba48aa Binary files /dev/null and b/graphics/pokemon/absol/back.png differ diff --git a/graphics/pokemon/absol/footprint.png b/graphics/pokemon/absol/footprint.png new file mode 100644 index 000000000..da4076f78 Binary files /dev/null and b/graphics/pokemon/absol/footprint.png differ diff --git a/graphics/pokemon/absol/front.png b/graphics/pokemon/absol/front.png new file mode 100644 index 000000000..17759b2e7 Binary files /dev/null and b/graphics/pokemon/absol/front.png differ diff --git a/graphics/pokemon/absol/icon.png b/graphics/pokemon/absol/icon.png new file mode 100644 index 000000000..3cc5e01b5 Binary files /dev/null and b/graphics/pokemon/absol/icon.png differ diff --git a/graphics/pokemon/absol/normal.pal b/graphics/pokemon/absol/normal.pal new file mode 100644 index 000000000..990038917 --- /dev/null +++ b/graphics/pokemon/absol/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +123 156 180 +255 255 255 +222 222 238 +197 197 213 +148 148 172 +255 123 115 +205 41 32 +123 41 49 +172 172 205 +131 131 172 +90 90 131 +41 57 57 +148 164 164 +115 131 131 +82 98 98 +0 0 0 diff --git a/graphics/pokemon/absol/shiny.pal b/graphics/pokemon/absol/shiny.pal new file mode 100644 index 000000000..4b86195a7 --- /dev/null +++ b/graphics/pokemon/absol/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +123 156 180 +255 255 255 +238 222 230 +222 189 213 +197 156 189 +49 180 255 +0 115 189 +123 41 49 +172 172 205 +131 131 172 +90 90 131 +41 57 57 +205 115 98 +172 82 65 +131 41 24 +0 0 0 diff --git a/graphics/pokemon/aerodactyl/back.png b/graphics/pokemon/aerodactyl/back.png new file mode 100644 index 000000000..8dfa76f57 Binary files /dev/null and b/graphics/pokemon/aerodactyl/back.png differ diff --git a/graphics/pokemon/aerodactyl/footprint.png b/graphics/pokemon/aerodactyl/footprint.png new file mode 100644 index 000000000..7c5d3e6c1 Binary files /dev/null and b/graphics/pokemon/aerodactyl/footprint.png differ diff --git a/graphics/pokemon/aerodactyl/front.png b/graphics/pokemon/aerodactyl/front.png new file mode 100644 index 000000000..dc4a521f9 Binary files /dev/null and b/graphics/pokemon/aerodactyl/front.png differ diff --git a/graphics/pokemon/aerodactyl/icon.png b/graphics/pokemon/aerodactyl/icon.png new file mode 100644 index 000000000..f90e269b0 Binary files /dev/null and b/graphics/pokemon/aerodactyl/icon.png differ diff --git a/graphics/pokemon/aerodactyl/normal.pal b/graphics/pokemon/aerodactyl/normal.pal new file mode 100644 index 000000000..9f7de3d61 --- /dev/null +++ b/graphics/pokemon/aerodactyl/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +156 213 180 +255 0 255 +255 0 255 +255 0 255 +189 131 197 +148 98 180 +98 74 148 +74 49 98 +222 98 98 +139 49 49 +16 16 16 +230 222 238 +205 205 222 +148 172 180 +74 98 82 +255 255 255 diff --git a/graphics/pokemon/aerodactyl/shiny.pal b/graphics/pokemon/aerodactyl/shiny.pal new file mode 100644 index 000000000..d661e6154 --- /dev/null +++ b/graphics/pokemon/aerodactyl/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +255 0 255 +255 0 255 +255 0 255 +98 148 255 +65 115 230 +16 82 180 +24 24 106 +222 98 98 +139 49 49 +16 16 16 +246 197 238 +230 164 222 +180 123 180 +123 57 131 +255 255 255 diff --git a/graphics/pokemon/aggron/back.png b/graphics/pokemon/aggron/back.png new file mode 100644 index 000000000..24ade1ff4 Binary files /dev/null and b/graphics/pokemon/aggron/back.png differ diff --git a/graphics/pokemon/aggron/footprint.png b/graphics/pokemon/aggron/footprint.png new file mode 100644 index 000000000..3ba6d480b Binary files /dev/null and b/graphics/pokemon/aggron/footprint.png differ diff --git a/graphics/pokemon/aggron/front.png b/graphics/pokemon/aggron/front.png new file mode 100644 index 000000000..0c357efe4 Binary files /dev/null and b/graphics/pokemon/aggron/front.png differ diff --git a/graphics/pokemon/aggron/icon.png b/graphics/pokemon/aggron/icon.png new file mode 100644 index 000000000..ed7ae52e4 Binary files /dev/null and b/graphics/pokemon/aggron/icon.png differ diff --git a/graphics/pokemon/aggron/normal.pal b/graphics/pokemon/aggron/normal.pal new file mode 100644 index 000000000..b5711fdad --- /dev/null +++ b/graphics/pokemon/aggron/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 172 156 +74 74 65 +106 106 106 +139 139 139 +172 172 172 +57 57 65 +123 106 106 +156 139 139 +189 172 172 +222 205 205 +255 255 255 +172 57 74 +222 106 106 +255 131 131 +106 189 255 +0 0 0 diff --git a/graphics/pokemon/aggron/shiny.pal b/graphics/pokemon/aggron/shiny.pal new file mode 100644 index 000000000..eadb9aa81 --- /dev/null +++ b/graphics/pokemon/aggron/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 172 156 +32 90 90 +65 123 115 +90 156 148 +148 197 205 +74 41 24 +123 123 90 +156 156 123 +189 189 156 +222 222 197 +255 255 255 +172 57 74 +222 106 106 +255 131 131 +255 123 82 +0 0 0 diff --git a/graphics/pokemon/aipom/back.png b/graphics/pokemon/aipom/back.png new file mode 100644 index 000000000..7e9594b6f Binary files /dev/null and b/graphics/pokemon/aipom/back.png differ diff --git a/graphics/pokemon/aipom/footprint.png b/graphics/pokemon/aipom/footprint.png new file mode 100644 index 000000000..67f7f1188 Binary files /dev/null and b/graphics/pokemon/aipom/footprint.png differ diff --git a/graphics/pokemon/aipom/front.png b/graphics/pokemon/aipom/front.png new file mode 100644 index 000000000..25b20c739 Binary files /dev/null and b/graphics/pokemon/aipom/front.png differ diff --git a/graphics/pokemon/aipom/icon.png b/graphics/pokemon/aipom/icon.png new file mode 100644 index 000000000..d5138f203 Binary files /dev/null and b/graphics/pokemon/aipom/icon.png differ diff --git a/graphics/pokemon/aipom/normal.pal b/graphics/pokemon/aipom/normal.pal new file mode 100644 index 000000000..bc79b2a2a --- /dev/null +++ b/graphics/pokemon/aipom/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +213 131 255 +180 98 230 +139 57 180 +82 32 106 +255 246 197 +255 238 164 +238 197 90 +197 156 82 +139 106 65 +255 0 255 +213 213 213 +123 123 123 +90 90 90 +0 0 0 diff --git a/graphics/pokemon/aipom/shiny.pal b/graphics/pokemon/aipom/shiny.pal new file mode 100644 index 000000000..785e324ab --- /dev/null +++ b/graphics/pokemon/aipom/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 131 164 +230 98 139 +189 57 106 +115 32 65 +255 238 230 +255 222 213 +238 189 180 +222 123 131 +189 82 90 +255 0 255 +213 213 213 +123 123 123 +90 90 90 +16 16 16 diff --git a/graphics/pokemon/alakazam/back.png b/graphics/pokemon/alakazam/back.png new file mode 100644 index 000000000..fd4f4ab42 Binary files /dev/null and b/graphics/pokemon/alakazam/back.png differ diff --git a/graphics/pokemon/alakazam/footprint.png b/graphics/pokemon/alakazam/footprint.png new file mode 100644 index 000000000..e3c3795cf Binary files /dev/null and b/graphics/pokemon/alakazam/footprint.png differ diff --git a/graphics/pokemon/alakazam/front.png b/graphics/pokemon/alakazam/front.png new file mode 100644 index 000000000..bd6d57240 Binary files /dev/null and b/graphics/pokemon/alakazam/front.png differ diff --git a/graphics/pokemon/alakazam/icon.png b/graphics/pokemon/alakazam/icon.png new file mode 100644 index 000000000..f15231469 Binary files /dev/null and b/graphics/pokemon/alakazam/icon.png differ diff --git a/graphics/pokemon/alakazam/normal.pal b/graphics/pokemon/alakazam/normal.pal new file mode 100644 index 000000000..a02bea0db --- /dev/null +++ b/graphics/pokemon/alakazam/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 255 +222 222 222 +180 180 180 +90 90 90 +213 180 82 +180 131 41 +131 90 8 +82 49 8 +255 0 255 +255 0 255 +255 246 172 +255 238 41 +222 197 24 +123 106 16 +16 16 16 diff --git a/graphics/pokemon/alakazam/shiny.pal b/graphics/pokemon/alakazam/shiny.pal new file mode 100644 index 000000000..083ce6897 --- /dev/null +++ b/graphics/pokemon/alakazam/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 255 +222 222 222 +180 180 180 +90 90 90 +230 123 189 +189 82 148 +131 41 106 +82 0 41 +255 0 255 +255 0 255 +255 205 74 +213 172 0 +172 115 0 +123 32 0 +16 16 16 diff --git a/graphics/pokemon/altaria/back.png b/graphics/pokemon/altaria/back.png new file mode 100644 index 000000000..b224676be Binary files /dev/null and b/graphics/pokemon/altaria/back.png differ diff --git a/graphics/pokemon/altaria/footprint.png b/graphics/pokemon/altaria/footprint.png new file mode 100644 index 000000000..6c65deae5 Binary files /dev/null and b/graphics/pokemon/altaria/footprint.png differ diff --git a/graphics/pokemon/altaria/front.png b/graphics/pokemon/altaria/front.png new file mode 100644 index 000000000..8b45828a2 Binary files /dev/null and b/graphics/pokemon/altaria/front.png differ diff --git a/graphics/pokemon/altaria/icon.png b/graphics/pokemon/altaria/icon.png new file mode 100644 index 000000000..300dfec82 Binary files /dev/null and b/graphics/pokemon/altaria/icon.png differ diff --git a/graphics/pokemon/altaria/normal.pal b/graphics/pokemon/altaria/normal.pal new file mode 100644 index 000000000..d7af0b531 --- /dev/null +++ b/graphics/pokemon/altaria/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 205 139 +255 255 255 +131 131 148 +197 197 213 +255 164 131 +255 98 65 +131 32 8 +172 213 255 +115 180 238 +98 139 197 +65 106 156 +238 246 255 +222 222 238 +172 180 197 +41 57 90 +0 0 0 diff --git a/graphics/pokemon/altaria/shiny.pal b/graphics/pokemon/altaria/shiny.pal new file mode 100644 index 000000000..0ebea146a --- /dev/null +++ b/graphics/pokemon/altaria/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 205 139 +255 255 255 +131 131 148 +197 197 213 +255 164 131 +255 98 65 +131 32 8 +255 238 131 +255 205 98 +222 172 65 +156 106 0 +238 246 255 +222 222 238 +172 180 197 +123 74 0 +0 0 0 diff --git a/graphics/pokemon/ampharos/back.png b/graphics/pokemon/ampharos/back.png new file mode 100644 index 000000000..2e7c2399e Binary files /dev/null and b/graphics/pokemon/ampharos/back.png differ diff --git a/graphics/pokemon/ampharos/footprint.png b/graphics/pokemon/ampharos/footprint.png new file mode 100644 index 000000000..bfc2f8034 Binary files /dev/null and b/graphics/pokemon/ampharos/footprint.png differ diff --git a/graphics/pokemon/ampharos/front.png b/graphics/pokemon/ampharos/front.png new file mode 100644 index 000000000..cc4956afb Binary files /dev/null and b/graphics/pokemon/ampharos/front.png differ diff --git a/graphics/pokemon/ampharos/icon.png b/graphics/pokemon/ampharos/icon.png new file mode 100644 index 000000000..d7a3f9e70 Binary files /dev/null and b/graphics/pokemon/ampharos/icon.png differ diff --git a/graphics/pokemon/ampharos/normal.pal b/graphics/pokemon/ampharos/normal.pal new file mode 100644 index 000000000..f7fdd3683 --- /dev/null +++ b/graphics/pokemon/ampharos/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 238 74 +255 197 16 +213 148 0 +148 74 0 +255 0 255 +230 230 230 +172 172 172 +98 106 106 +16 16 16 +255 98 0 +197 65 0 +139 32 0 +90 0 0 +255 0 255 diff --git a/graphics/pokemon/ampharos/shiny.pal b/graphics/pokemon/ampharos/shiny.pal new file mode 100644 index 000000000..f29dc710f --- /dev/null +++ b/graphics/pokemon/ampharos/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +246 180 213 +213 148 180 +189 115 156 +139 82 106 +255 0 255 +230 230 230 +172 172 172 +98 106 106 +16 16 16 +131 205 246 +65 106 205 +32 65 156 +49 74 139 +255 0 255 diff --git a/graphics/pokemon/anorith/back.png b/graphics/pokemon/anorith/back.png new file mode 100644 index 000000000..0f9c0efc0 Binary files /dev/null and b/graphics/pokemon/anorith/back.png differ diff --git a/graphics/pokemon/anorith/footprint.png b/graphics/pokemon/anorith/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/anorith/footprint.png differ diff --git a/graphics/pokemon/anorith/front.png b/graphics/pokemon/anorith/front.png new file mode 100644 index 000000000..425ff4c0d Binary files /dev/null and b/graphics/pokemon/anorith/front.png differ diff --git a/graphics/pokemon/anorith/icon.png b/graphics/pokemon/anorith/icon.png new file mode 100644 index 000000000..936355d61 Binary files /dev/null and b/graphics/pokemon/anorith/icon.png differ diff --git a/graphics/pokemon/anorith/normal.pal b/graphics/pokemon/anorith/normal.pal new file mode 100644 index 000000000..01bb5c13f --- /dev/null +++ b/graphics/pokemon/anorith/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +172 205 172 +139 172 139 +115 139 115 +90 115 90 +246 238 197 +230 205 148 +197 164 98 +148 82 74 +255 123 82 +222 82 32 +222 222 222 +180 180 189 +106 106 123 +0 0 0 diff --git a/graphics/pokemon/anorith/shiny.pal b/graphics/pokemon/anorith/shiny.pal new file mode 100644 index 000000000..dc1fe0374 --- /dev/null +++ b/graphics/pokemon/anorith/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 213 172 +230 180 139 +197 148 106 +164 115 74 +246 238 197 +230 205 148 +197 164 98 +131 90 32 +255 82 74 +222 82 32 +222 222 222 +180 180 189 +106 106 123 +41 41 57 diff --git a/graphics/pokemon/arbok/back.png b/graphics/pokemon/arbok/back.png new file mode 100644 index 000000000..63004593c Binary files /dev/null and b/graphics/pokemon/arbok/back.png differ diff --git a/graphics/pokemon/arbok/footprint.png b/graphics/pokemon/arbok/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/arbok/footprint.png differ diff --git a/graphics/pokemon/arbok/front.png b/graphics/pokemon/arbok/front.png new file mode 100644 index 000000000..025f84b90 Binary files /dev/null and b/graphics/pokemon/arbok/front.png differ diff --git a/graphics/pokemon/arbok/icon.png b/graphics/pokemon/arbok/icon.png new file mode 100644 index 000000000..8967d44a6 Binary files /dev/null and b/graphics/pokemon/arbok/icon.png differ diff --git a/graphics/pokemon/arbok/normal.pal b/graphics/pokemon/arbok/normal.pal new file mode 100644 index 000000000..bd25500f3 --- /dev/null +++ b/graphics/pokemon/arbok/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 230 16 +230 197 24 +222 156 65 +255 172 131 +230 106 65 +197 65 24 +156 32 65 +16 16 16 +222 164 197 +189 131 172 +148 90 131 +98 57 90 +255 0 255 +205 205 205 +255 255 255 diff --git a/graphics/pokemon/arbok/shiny.pal b/graphics/pokemon/arbok/shiny.pal new file mode 100644 index 000000000..6c88ffb42 --- /dev/null +++ b/graphics/pokemon/arbok/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 255 74 +238 222 24 +189 172 16 +180 197 230 +148 164 197 +106 123 156 +49 65 98 +16 16 16 +222 180 65 +180 139 24 +139 98 24 +98 57 0 +255 0 255 +205 205 205 +255 255 255 diff --git a/graphics/pokemon/arcanine/back.png b/graphics/pokemon/arcanine/back.png new file mode 100644 index 000000000..1b0840c8a Binary files /dev/null and b/graphics/pokemon/arcanine/back.png differ diff --git a/graphics/pokemon/arcanine/footprint.png b/graphics/pokemon/arcanine/footprint.png new file mode 100644 index 000000000..96b7f93ae Binary files /dev/null and b/graphics/pokemon/arcanine/footprint.png differ diff --git a/graphics/pokemon/arcanine/front.png b/graphics/pokemon/arcanine/front.png new file mode 100644 index 000000000..2ee31ddab Binary files /dev/null and b/graphics/pokemon/arcanine/front.png differ diff --git a/graphics/pokemon/arcanine/icon.png b/graphics/pokemon/arcanine/icon.png new file mode 100644 index 000000000..3fed9199a Binary files /dev/null and b/graphics/pokemon/arcanine/icon.png differ diff --git a/graphics/pokemon/arcanine/normal.pal b/graphics/pokemon/arcanine/normal.pal new file mode 100644 index 000000000..b6d54296e --- /dev/null +++ b/graphics/pokemon/arcanine/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 246 +222 222 213 +131 106 98 +255 98 65 +197 49 32 +82 16 16 +255 255 197 +255 246 148 +238 197 115 +172 98 32 +255 156 106 +238 115 49 +197 82 74 +98 16 0 +16 16 16 diff --git a/graphics/pokemon/arcanine/shiny.pal b/graphics/pokemon/arcanine/shiny.pal new file mode 100644 index 000000000..99edcb435 --- /dev/null +++ b/graphics/pokemon/arcanine/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 246 +222 222 213 +90 90 90 +255 98 65 +197 49 32 +82 16 16 +255 246 238 +255 238 197 +230 197 156 +148 115 82 +255 230 115 +222 189 74 +180 148 32 +115 82 0 +16 16 16 diff --git a/graphics/pokemon/ariados/back.png b/graphics/pokemon/ariados/back.png new file mode 100644 index 000000000..b677b7222 Binary files /dev/null and b/graphics/pokemon/ariados/back.png differ diff --git a/graphics/pokemon/ariados/footprint.png b/graphics/pokemon/ariados/footprint.png new file mode 100644 index 000000000..cee3b1ba5 Binary files /dev/null and b/graphics/pokemon/ariados/footprint.png differ diff --git a/graphics/pokemon/ariados/front.png b/graphics/pokemon/ariados/front.png new file mode 100644 index 000000000..07bc4a4db Binary files /dev/null and b/graphics/pokemon/ariados/front.png differ diff --git a/graphics/pokemon/ariados/icon.png b/graphics/pokemon/ariados/icon.png new file mode 100644 index 000000000..4284968f2 Binary files /dev/null and b/graphics/pokemon/ariados/icon.png differ diff --git a/graphics/pokemon/ariados/normal.pal b/graphics/pokemon/ariados/normal.pal new file mode 100644 index 000000000..ccf5f7fe7 --- /dev/null +++ b/graphics/pokemon/ariados/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 172 57 +255 123 41 +205 82 0 +139 32 0 +74 0 0 +255 238 90 +222 180 74 +148 115 49 +189 148 255 +148 90 238 +106 49 172 +189 189 189 +106 106 106 +16 16 16 diff --git a/graphics/pokemon/ariados/shiny.pal b/graphics/pokemon/ariados/shiny.pal new file mode 100644 index 000000000..c2557b589 --- /dev/null +++ b/graphics/pokemon/ariados/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +238 139 189 +205 106 164 +139 65 123 +115 16 82 +82 8 49 +255 238 90 +222 180 74 +148 115 49 +148 213 255 +98 164 230 +32 82 180 +189 189 189 +106 106 106 +16 16 16 diff --git a/graphics/pokemon/armaldo/back.png b/graphics/pokemon/armaldo/back.png new file mode 100644 index 000000000..23c8c7113 Binary files /dev/null and b/graphics/pokemon/armaldo/back.png differ diff --git a/graphics/pokemon/armaldo/footprint.png b/graphics/pokemon/armaldo/footprint.png new file mode 100644 index 000000000..d12d2e42c Binary files /dev/null and b/graphics/pokemon/armaldo/footprint.png differ diff --git a/graphics/pokemon/armaldo/front.png b/graphics/pokemon/armaldo/front.png new file mode 100644 index 000000000..01b7ee08b Binary files /dev/null and b/graphics/pokemon/armaldo/front.png differ diff --git a/graphics/pokemon/armaldo/icon.png b/graphics/pokemon/armaldo/icon.png new file mode 100644 index 000000000..ed3bb65f2 Binary files /dev/null and b/graphics/pokemon/armaldo/icon.png differ diff --git a/graphics/pokemon/armaldo/normal.pal b/graphics/pokemon/armaldo/normal.pal new file mode 100644 index 000000000..a6fc406b3 --- /dev/null +++ b/graphics/pokemon/armaldo/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +189 189 222 +139 139 189 +115 115 172 +90 90 139 +246 238 197 +255 222 106 +222 180 98 +57 65 82 +255 98 74 +189 57 0 +222 222 222 +180 180 189 +106 106 123 +0 0 0 diff --git a/graphics/pokemon/armaldo/shiny.pal b/graphics/pokemon/armaldo/shiny.pal new file mode 100644 index 000000000..e6d09d611 --- /dev/null +++ b/graphics/pokemon/armaldo/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +246 197 189 +213 164 156 +180 131 123 +148 98 90 +246 238 197 +255 222 106 +222 180 98 +115 65 57 +255 98 74 +189 57 0 +222 222 222 +222 98 82 +180 57 41 +0 0 0 diff --git a/graphics/pokemon/aron/back.png b/graphics/pokemon/aron/back.png new file mode 100644 index 000000000..330d46c42 Binary files /dev/null and b/graphics/pokemon/aron/back.png differ diff --git a/graphics/pokemon/aron/footprint.png b/graphics/pokemon/aron/footprint.png new file mode 100644 index 000000000..fe53cb5eb Binary files /dev/null and b/graphics/pokemon/aron/footprint.png differ diff --git a/graphics/pokemon/aron/front.png b/graphics/pokemon/aron/front.png new file mode 100644 index 000000000..f3764ec2b Binary files /dev/null and b/graphics/pokemon/aron/front.png differ diff --git a/graphics/pokemon/aron/icon.png b/graphics/pokemon/aron/icon.png new file mode 100644 index 000000000..547846374 Binary files /dev/null and b/graphics/pokemon/aron/icon.png differ diff --git a/graphics/pokemon/aron/normal.pal b/graphics/pokemon/aron/normal.pal new file mode 100644 index 000000000..b5711fdad --- /dev/null +++ b/graphics/pokemon/aron/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 172 156 +74 74 65 +106 106 106 +139 139 139 +172 172 172 +57 57 65 +123 106 106 +156 139 139 +189 172 172 +222 205 205 +255 255 255 +172 57 74 +222 106 106 +255 131 131 +106 189 255 +0 0 0 diff --git a/graphics/pokemon/aron/shiny.pal b/graphics/pokemon/aron/shiny.pal new file mode 100644 index 000000000..eadb9aa81 --- /dev/null +++ b/graphics/pokemon/aron/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 172 156 +32 90 90 +65 123 115 +90 156 148 +148 197 205 +74 41 24 +123 123 90 +156 156 123 +189 189 156 +222 222 197 +255 255 255 +172 57 74 +222 106 106 +255 131 131 +255 123 82 +0 0 0 diff --git a/graphics/pokemon/articuno/back.png b/graphics/pokemon/articuno/back.png new file mode 100644 index 000000000..7e06ba84e Binary files /dev/null and b/graphics/pokemon/articuno/back.png differ diff --git a/graphics/pokemon/articuno/footprint.png b/graphics/pokemon/articuno/footprint.png new file mode 100644 index 000000000..e6e4fa9ef Binary files /dev/null and b/graphics/pokemon/articuno/footprint.png differ diff --git a/graphics/pokemon/articuno/front.png b/graphics/pokemon/articuno/front.png new file mode 100644 index 000000000..a3203a190 Binary files /dev/null and b/graphics/pokemon/articuno/front.png differ diff --git a/graphics/pokemon/articuno/icon.png b/graphics/pokemon/articuno/icon.png new file mode 100644 index 000000000..e2f19f133 Binary files /dev/null and b/graphics/pokemon/articuno/icon.png differ diff --git a/graphics/pokemon/articuno/normal.pal b/graphics/pokemon/articuno/normal.pal new file mode 100644 index 000000000..a4cba7de4 --- /dev/null +++ b/graphics/pokemon/articuno/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +213 238 255 +197 205 255 +139 180 230 +98 148 205 +57 106 164 +74 74 106 +255 0 255 +255 0 255 +156 172 197 +123 139 164 +98 115 131 +189 41 57 +230 98 115 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/articuno/shiny.pal b/graphics/pokemon/articuno/shiny.pal new file mode 100644 index 000000000..bda666847 --- /dev/null +++ b/graphics/pokemon/articuno/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +255 255 255 +238 246 255 +205 230 255 +156 189 246 +98 148 213 +82 106 156 +255 0 255 +255 0 255 +139 164 213 +90 115 164 +74 74 106 +189 41 57 +230 98 115 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/azumarill/back.png b/graphics/pokemon/azumarill/back.png new file mode 100644 index 000000000..ca59011c6 Binary files /dev/null and b/graphics/pokemon/azumarill/back.png differ diff --git a/graphics/pokemon/azumarill/footprint.png b/graphics/pokemon/azumarill/footprint.png new file mode 100644 index 000000000..904bf941c Binary files /dev/null and b/graphics/pokemon/azumarill/footprint.png differ diff --git a/graphics/pokemon/azumarill/front.png b/graphics/pokemon/azumarill/front.png new file mode 100644 index 000000000..feb172d52 Binary files /dev/null and b/graphics/pokemon/azumarill/front.png differ diff --git a/graphics/pokemon/azumarill/icon.png b/graphics/pokemon/azumarill/icon.png new file mode 100644 index 000000000..f41d53d2c Binary files /dev/null and b/graphics/pokemon/azumarill/icon.png differ diff --git a/graphics/pokemon/azumarill/normal.pal b/graphics/pokemon/azumarill/normal.pal new file mode 100644 index 000000000..429d3fecc --- /dev/null +++ b/graphics/pokemon/azumarill/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +205 205 205 +156 156 156 +106 106 106 +16 16 16 +131 205 255 +90 172 230 +49 131 197 +74 74 131 +255 0 255 +255 0 255 +230 82 0 +197 41 0 +123 0 0 +255 0 255 diff --git a/graphics/pokemon/azumarill/shiny.pal b/graphics/pokemon/azumarill/shiny.pal new file mode 100644 index 000000000..5f185cecb --- /dev/null +++ b/graphics/pokemon/azumarill/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +205 205 205 +156 156 156 +106 106 106 +16 16 16 +255 238 82 +255 213 57 +213 172 24 +131 90 41 +255 0 255 +255 0 255 +238 74 65 +197 24 57 +123 0 0 +255 0 255 diff --git a/graphics/pokemon/azurill/back.png b/graphics/pokemon/azurill/back.png new file mode 100644 index 000000000..cf10bded4 Binary files /dev/null and b/graphics/pokemon/azurill/back.png differ diff --git a/graphics/pokemon/azurill/footprint.png b/graphics/pokemon/azurill/footprint.png new file mode 100644 index 000000000..60db8e03b Binary files /dev/null and b/graphics/pokemon/azurill/footprint.png differ diff --git a/graphics/pokemon/azurill/front.png b/graphics/pokemon/azurill/front.png new file mode 100644 index 000000000..02cc79a6c Binary files /dev/null and b/graphics/pokemon/azurill/front.png differ diff --git a/graphics/pokemon/azurill/icon.png b/graphics/pokemon/azurill/icon.png new file mode 100644 index 000000000..b69acc7fd Binary files /dev/null and b/graphics/pokemon/azurill/icon.png differ diff --git a/graphics/pokemon/azurill/normal.pal b/graphics/pokemon/azurill/normal.pal new file mode 100644 index 000000000..44214498f --- /dev/null +++ b/graphics/pokemon/azurill/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 255 255 +49 65 90 +106 148 255 +74 115 255 +156 189 255 +123 123 148 +238 123 115 +189 74 65 +57 90 189 +222 98 90 +222 238 255 +90 131 246 +57 90 148 +255 255 255 +255 255 255 +0 0 0 diff --git a/graphics/pokemon/azurill/shiny.pal b/graphics/pokemon/azurill/shiny.pal new file mode 100644 index 000000000..bbc8d2f29 --- /dev/null +++ b/graphics/pokemon/azurill/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +156 189 255 +32 106 82 +148 230 148 +90 180 123 +205 255 172 +255 0 255 +222 98 49 +180 65 49 +65 156 98 +222 98 90 +222 238 255 +123 205 131 +255 0 255 +255 255 255 +255 255 255 +0 0 0 diff --git a/graphics/pokemon/back_pics/abra_back_pic.png b/graphics/pokemon/back_pics/abra_back_pic.png deleted file mode 100644 index fd53dd1f6..000000000 Binary files a/graphics/pokemon/back_pics/abra_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/absol_back_pic.png b/graphics/pokemon/back_pics/absol_back_pic.png deleted file mode 100644 index 876ba48aa..000000000 Binary files a/graphics/pokemon/back_pics/absol_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/aerodactyl_back_pic.png b/graphics/pokemon/back_pics/aerodactyl_back_pic.png deleted file mode 100644 index 8dfa76f57..000000000 Binary files a/graphics/pokemon/back_pics/aerodactyl_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/aggron_back_pic.png b/graphics/pokemon/back_pics/aggron_back_pic.png deleted file mode 100644 index 24ade1ff4..000000000 Binary files a/graphics/pokemon/back_pics/aggron_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/aipom_back_pic.png b/graphics/pokemon/back_pics/aipom_back_pic.png deleted file mode 100644 index 7e9594b6f..000000000 Binary files a/graphics/pokemon/back_pics/aipom_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/alakazam_back_pic.png b/graphics/pokemon/back_pics/alakazam_back_pic.png deleted file mode 100644 index fd4f4ab42..000000000 Binary files a/graphics/pokemon/back_pics/alakazam_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/altaria_back_pic.png b/graphics/pokemon/back_pics/altaria_back_pic.png deleted file mode 100644 index b224676be..000000000 Binary files a/graphics/pokemon/back_pics/altaria_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/ampharos_back_pic.png b/graphics/pokemon/back_pics/ampharos_back_pic.png deleted file mode 100644 index 2e7c2399e..000000000 Binary files a/graphics/pokemon/back_pics/ampharos_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/anorith_back_pic.png b/graphics/pokemon/back_pics/anorith_back_pic.png deleted file mode 100644 index 0f9c0efc0..000000000 Binary files a/graphics/pokemon/back_pics/anorith_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/arbok_back_pic.png b/graphics/pokemon/back_pics/arbok_back_pic.png deleted file mode 100644 index 63004593c..000000000 Binary files a/graphics/pokemon/back_pics/arbok_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/arcanine_back_pic.png b/graphics/pokemon/back_pics/arcanine_back_pic.png deleted file mode 100644 index 1b0840c8a..000000000 Binary files a/graphics/pokemon/back_pics/arcanine_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/ariados_back_pic.png b/graphics/pokemon/back_pics/ariados_back_pic.png deleted file mode 100644 index b677b7222..000000000 Binary files a/graphics/pokemon/back_pics/ariados_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/armaldo_back_pic.png b/graphics/pokemon/back_pics/armaldo_back_pic.png deleted file mode 100644 index 23c8c7113..000000000 Binary files a/graphics/pokemon/back_pics/armaldo_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/aron_back_pic.png b/graphics/pokemon/back_pics/aron_back_pic.png deleted file mode 100644 index 330d46c42..000000000 Binary files a/graphics/pokemon/back_pics/aron_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/articuno_back_pic.png b/graphics/pokemon/back_pics/articuno_back_pic.png deleted file mode 100644 index 7e06ba84e..000000000 Binary files a/graphics/pokemon/back_pics/articuno_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/azumarill_back_pic.png b/graphics/pokemon/back_pics/azumarill_back_pic.png deleted file mode 100644 index ca59011c6..000000000 Binary files a/graphics/pokemon/back_pics/azumarill_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/azurill_back_pic.png b/graphics/pokemon/back_pics/azurill_back_pic.png deleted file mode 100644 index cf10bded4..000000000 Binary files a/graphics/pokemon/back_pics/azurill_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/bagon_back_pic.png b/graphics/pokemon/back_pics/bagon_back_pic.png deleted file mode 100644 index 0a058d768..000000000 Binary files a/graphics/pokemon/back_pics/bagon_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/baltoy_back_pic.png b/graphics/pokemon/back_pics/baltoy_back_pic.png deleted file mode 100644 index a8d124481..000000000 Binary files a/graphics/pokemon/back_pics/baltoy_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/banette_back_pic.png b/graphics/pokemon/back_pics/banette_back_pic.png deleted file mode 100644 index 3ea5f30af..000000000 Binary files a/graphics/pokemon/back_pics/banette_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/barboach_back_pic.png b/graphics/pokemon/back_pics/barboach_back_pic.png deleted file mode 100644 index 4fa892c53..000000000 Binary files a/graphics/pokemon/back_pics/barboach_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/bayleef_back_pic.png b/graphics/pokemon/back_pics/bayleef_back_pic.png deleted file mode 100644 index 63ba17c5e..000000000 Binary files a/graphics/pokemon/back_pics/bayleef_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/beautifly_back_pic.png b/graphics/pokemon/back_pics/beautifly_back_pic.png deleted file mode 100644 index 1eca6edc9..000000000 Binary files a/graphics/pokemon/back_pics/beautifly_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/beedrill_back_pic.png b/graphics/pokemon/back_pics/beedrill_back_pic.png deleted file mode 100644 index 166c399e5..000000000 Binary files a/graphics/pokemon/back_pics/beedrill_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/beldum_back_pic.png b/graphics/pokemon/back_pics/beldum_back_pic.png deleted file mode 100644 index 7a2cab465..000000000 Binary files a/graphics/pokemon/back_pics/beldum_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/bellossom_back_pic.png b/graphics/pokemon/back_pics/bellossom_back_pic.png deleted file mode 100644 index 2bd8b176e..000000000 Binary files a/graphics/pokemon/back_pics/bellossom_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/bellsprout_back_pic.png b/graphics/pokemon/back_pics/bellsprout_back_pic.png deleted file mode 100644 index e2a336696..000000000 Binary files a/graphics/pokemon/back_pics/bellsprout_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/blastoise_back_pic.png b/graphics/pokemon/back_pics/blastoise_back_pic.png deleted file mode 100644 index f380e1515..000000000 Binary files a/graphics/pokemon/back_pics/blastoise_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/blaziken_back_pic.png b/graphics/pokemon/back_pics/blaziken_back_pic.png deleted file mode 100644 index cf89544c1..000000000 Binary files a/graphics/pokemon/back_pics/blaziken_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/blissey_back_pic.png b/graphics/pokemon/back_pics/blissey_back_pic.png deleted file mode 100644 index 9823bd994..000000000 Binary files a/graphics/pokemon/back_pics/blissey_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/breloom_back_pic.png b/graphics/pokemon/back_pics/breloom_back_pic.png deleted file mode 100644 index 85df08040..000000000 Binary files a/graphics/pokemon/back_pics/breloom_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/bulbasaur_back_pic.png b/graphics/pokemon/back_pics/bulbasaur_back_pic.png deleted file mode 100644 index 993352c32..000000000 Binary files a/graphics/pokemon/back_pics/bulbasaur_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/butterfree_back_pic.png b/graphics/pokemon/back_pics/butterfree_back_pic.png deleted file mode 100644 index 7dab08c7a..000000000 Binary files a/graphics/pokemon/back_pics/butterfree_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/cacnea_back_pic.png b/graphics/pokemon/back_pics/cacnea_back_pic.png deleted file mode 100644 index dbc804775..000000000 Binary files a/graphics/pokemon/back_pics/cacnea_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/cacturne_back_pic.png b/graphics/pokemon/back_pics/cacturne_back_pic.png deleted file mode 100644 index 9a67227d0..000000000 Binary files a/graphics/pokemon/back_pics/cacturne_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/camerupt_back_pic.png b/graphics/pokemon/back_pics/camerupt_back_pic.png deleted file mode 100644 index 3b1744755..000000000 Binary files a/graphics/pokemon/back_pics/camerupt_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/carvanha_back_pic.png b/graphics/pokemon/back_pics/carvanha_back_pic.png deleted file mode 100644 index cef8c25dd..000000000 Binary files a/graphics/pokemon/back_pics/carvanha_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/cascoon_back_pic.png b/graphics/pokemon/back_pics/cascoon_back_pic.png deleted file mode 100644 index fb6bc2955..000000000 Binary files a/graphics/pokemon/back_pics/cascoon_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/castform_normal_form_back_pic.png b/graphics/pokemon/back_pics/castform_normal_form_back_pic.png deleted file mode 100644 index 6348a35e8..000000000 Binary files a/graphics/pokemon/back_pics/castform_normal_form_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/castform_rainy_form_back_pic.png b/graphics/pokemon/back_pics/castform_rainy_form_back_pic.png deleted file mode 100644 index 70bad9130..000000000 Binary files a/graphics/pokemon/back_pics/castform_rainy_form_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/castform_snowy_form_back_pic.png b/graphics/pokemon/back_pics/castform_snowy_form_back_pic.png deleted file mode 100644 index b4f27cbe6..000000000 Binary files a/graphics/pokemon/back_pics/castform_snowy_form_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/castform_sunny_form_back_pic.png b/graphics/pokemon/back_pics/castform_sunny_form_back_pic.png deleted file mode 100644 index 83b27298a..000000000 Binary files a/graphics/pokemon/back_pics/castform_sunny_form_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/caterpie_back_pic.png b/graphics/pokemon/back_pics/caterpie_back_pic.png deleted file mode 100644 index 801748d1c..000000000 Binary files a/graphics/pokemon/back_pics/caterpie_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/celebi_back_pic.png b/graphics/pokemon/back_pics/celebi_back_pic.png deleted file mode 100644 index c43e455dc..000000000 Binary files a/graphics/pokemon/back_pics/celebi_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/chansey_back_pic.png b/graphics/pokemon/back_pics/chansey_back_pic.png deleted file mode 100644 index bea131b45..000000000 Binary files a/graphics/pokemon/back_pics/chansey_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/charizard_back_pic.png b/graphics/pokemon/back_pics/charizard_back_pic.png deleted file mode 100644 index 183359501..000000000 Binary files a/graphics/pokemon/back_pics/charizard_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/charmander_back_pic.png b/graphics/pokemon/back_pics/charmander_back_pic.png deleted file mode 100644 index c37155339..000000000 Binary files a/graphics/pokemon/back_pics/charmander_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/charmeleon_back_pic.png b/graphics/pokemon/back_pics/charmeleon_back_pic.png deleted file mode 100644 index 84f2ee1e3..000000000 Binary files a/graphics/pokemon/back_pics/charmeleon_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/chikorita_back_pic.png b/graphics/pokemon/back_pics/chikorita_back_pic.png deleted file mode 100644 index 18c3569bf..000000000 Binary files a/graphics/pokemon/back_pics/chikorita_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/chimecho_back_pic.png b/graphics/pokemon/back_pics/chimecho_back_pic.png deleted file mode 100644 index 7a3fedacb..000000000 Binary files a/graphics/pokemon/back_pics/chimecho_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/chinchou_back_pic.png b/graphics/pokemon/back_pics/chinchou_back_pic.png deleted file mode 100644 index a3b11b2dc..000000000 Binary files a/graphics/pokemon/back_pics/chinchou_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/circled_question_mark_back_pic.png b/graphics/pokemon/back_pics/circled_question_mark_back_pic.png deleted file mode 100644 index 3056402db..000000000 Binary files a/graphics/pokemon/back_pics/circled_question_mark_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/clamperl_back_pic.png b/graphics/pokemon/back_pics/clamperl_back_pic.png deleted file mode 100644 index 5b1324473..000000000 Binary files a/graphics/pokemon/back_pics/clamperl_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/claydol_back_pic.png b/graphics/pokemon/back_pics/claydol_back_pic.png deleted file mode 100644 index 9fdd6e0c2..000000000 Binary files a/graphics/pokemon/back_pics/claydol_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/clefable_back_pic.png b/graphics/pokemon/back_pics/clefable_back_pic.png deleted file mode 100644 index 42592b8d7..000000000 Binary files a/graphics/pokemon/back_pics/clefable_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/clefairy_back_pic.png b/graphics/pokemon/back_pics/clefairy_back_pic.png deleted file mode 100644 index 6720a7865..000000000 Binary files a/graphics/pokemon/back_pics/clefairy_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/cleffa_back_pic.png b/graphics/pokemon/back_pics/cleffa_back_pic.png deleted file mode 100644 index b110614e1..000000000 Binary files a/graphics/pokemon/back_pics/cleffa_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/cloyster_back_pic.png b/graphics/pokemon/back_pics/cloyster_back_pic.png deleted file mode 100644 index fa69b7b59..000000000 Binary files a/graphics/pokemon/back_pics/cloyster_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/combusken_back_pic.png b/graphics/pokemon/back_pics/combusken_back_pic.png deleted file mode 100644 index 6c6d094dd..000000000 Binary files a/graphics/pokemon/back_pics/combusken_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/corphish_back_pic.png b/graphics/pokemon/back_pics/corphish_back_pic.png deleted file mode 100644 index 01d603778..000000000 Binary files a/graphics/pokemon/back_pics/corphish_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/corsola_back_pic.png b/graphics/pokemon/back_pics/corsola_back_pic.png deleted file mode 100644 index d15f330fc..000000000 Binary files a/graphics/pokemon/back_pics/corsola_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/cradily_back_pic.png b/graphics/pokemon/back_pics/cradily_back_pic.png deleted file mode 100644 index 338c7f0ba..000000000 Binary files a/graphics/pokemon/back_pics/cradily_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/crawdaunt_back_pic.png b/graphics/pokemon/back_pics/crawdaunt_back_pic.png deleted file mode 100644 index f96f2c488..000000000 Binary files a/graphics/pokemon/back_pics/crawdaunt_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/crobat_back_pic.png b/graphics/pokemon/back_pics/crobat_back_pic.png deleted file mode 100644 index d14ecec7b..000000000 Binary files a/graphics/pokemon/back_pics/crobat_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/croconaw_back_pic.png b/graphics/pokemon/back_pics/croconaw_back_pic.png deleted file mode 100644 index 991be60bc..000000000 Binary files a/graphics/pokemon/back_pics/croconaw_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/cubone_back_pic.png b/graphics/pokemon/back_pics/cubone_back_pic.png deleted file mode 100644 index db4d31543..000000000 Binary files a/graphics/pokemon/back_pics/cubone_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/cyndaquil_back_pic.png b/graphics/pokemon/back_pics/cyndaquil_back_pic.png deleted file mode 100644 index cfc64164e..000000000 Binary files a/graphics/pokemon/back_pics/cyndaquil_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/delcatty_back_pic.png b/graphics/pokemon/back_pics/delcatty_back_pic.png deleted file mode 100644 index 38bcfd5a7..000000000 Binary files a/graphics/pokemon/back_pics/delcatty_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/delibird_back_pic.png b/graphics/pokemon/back_pics/delibird_back_pic.png deleted file mode 100644 index b4dccb119..000000000 Binary files a/graphics/pokemon/back_pics/delibird_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/deoxys_back_pic.png b/graphics/pokemon/back_pics/deoxys_back_pic.png deleted file mode 100644 index c6cf22288..000000000 Binary files a/graphics/pokemon/back_pics/deoxys_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/dewgong_back_pic.png b/graphics/pokemon/back_pics/dewgong_back_pic.png deleted file mode 100644 index ba6c297ea..000000000 Binary files a/graphics/pokemon/back_pics/dewgong_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/diglett_back_pic.png b/graphics/pokemon/back_pics/diglett_back_pic.png deleted file mode 100644 index 238432ddd..000000000 Binary files a/graphics/pokemon/back_pics/diglett_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/ditto_back_pic.png b/graphics/pokemon/back_pics/ditto_back_pic.png deleted file mode 100644 index 002635423..000000000 Binary files a/graphics/pokemon/back_pics/ditto_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/dodrio_back_pic.png b/graphics/pokemon/back_pics/dodrio_back_pic.png deleted file mode 100644 index 090c189e4..000000000 Binary files a/graphics/pokemon/back_pics/dodrio_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/doduo_back_pic.png b/graphics/pokemon/back_pics/doduo_back_pic.png deleted file mode 100644 index 4589eff60..000000000 Binary files a/graphics/pokemon/back_pics/doduo_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/donphan_back_pic.png b/graphics/pokemon/back_pics/donphan_back_pic.png deleted file mode 100644 index d50d467ee..000000000 Binary files a/graphics/pokemon/back_pics/donphan_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/double_question_mark_back_pic.png b/graphics/pokemon/back_pics/double_question_mark_back_pic.png deleted file mode 100644 index 881ff0519..000000000 Binary files a/graphics/pokemon/back_pics/double_question_mark_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/dragonair_back_pic.png b/graphics/pokemon/back_pics/dragonair_back_pic.png deleted file mode 100644 index ee3cf04d1..000000000 Binary files a/graphics/pokemon/back_pics/dragonair_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/dragonite_back_pic.png b/graphics/pokemon/back_pics/dragonite_back_pic.png deleted file mode 100644 index 098b9fda7..000000000 Binary files a/graphics/pokemon/back_pics/dragonite_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/dratini_back_pic.png b/graphics/pokemon/back_pics/dratini_back_pic.png deleted file mode 100644 index f87eb13cb..000000000 Binary files a/graphics/pokemon/back_pics/dratini_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/drowzee_back_pic.png b/graphics/pokemon/back_pics/drowzee_back_pic.png deleted file mode 100644 index 6a5d98818..000000000 Binary files a/graphics/pokemon/back_pics/drowzee_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/dugtrio_back_pic.png b/graphics/pokemon/back_pics/dugtrio_back_pic.png deleted file mode 100644 index 84fd0b630..000000000 Binary files a/graphics/pokemon/back_pics/dugtrio_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/dunsparce_back_pic.png b/graphics/pokemon/back_pics/dunsparce_back_pic.png deleted file mode 100644 index 05f700ea7..000000000 Binary files a/graphics/pokemon/back_pics/dunsparce_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/dusclops_back_pic.png b/graphics/pokemon/back_pics/dusclops_back_pic.png deleted file mode 100644 index 9362e8421..000000000 Binary files a/graphics/pokemon/back_pics/dusclops_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/duskull_back_pic.png b/graphics/pokemon/back_pics/duskull_back_pic.png deleted file mode 100644 index 52a5c867d..000000000 Binary files a/graphics/pokemon/back_pics/duskull_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/dustox_back_pic.png b/graphics/pokemon/back_pics/dustox_back_pic.png deleted file mode 100644 index 759b98ea2..000000000 Binary files a/graphics/pokemon/back_pics/dustox_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/eevee_back_pic.png b/graphics/pokemon/back_pics/eevee_back_pic.png deleted file mode 100644 index 79bd1129c..000000000 Binary files a/graphics/pokemon/back_pics/eevee_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/ekans_back_pic.png b/graphics/pokemon/back_pics/ekans_back_pic.png deleted file mode 100644 index e72a7a9ed..000000000 Binary files a/graphics/pokemon/back_pics/ekans_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/electabuzz_back_pic.png b/graphics/pokemon/back_pics/electabuzz_back_pic.png deleted file mode 100644 index 8d84c2cb6..000000000 Binary files a/graphics/pokemon/back_pics/electabuzz_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/electrike_back_pic.png b/graphics/pokemon/back_pics/electrike_back_pic.png deleted file mode 100644 index c6e9e83e5..000000000 Binary files a/graphics/pokemon/back_pics/electrike_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/electrode_back_pic.png b/graphics/pokemon/back_pics/electrode_back_pic.png deleted file mode 100644 index 74ca458d3..000000000 Binary files a/graphics/pokemon/back_pics/electrode_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/elekid_back_pic.png b/graphics/pokemon/back_pics/elekid_back_pic.png deleted file mode 100644 index 0d8d9428a..000000000 Binary files a/graphics/pokemon/back_pics/elekid_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/entei_back_pic.png b/graphics/pokemon/back_pics/entei_back_pic.png deleted file mode 100644 index 902b4461a..000000000 Binary files a/graphics/pokemon/back_pics/entei_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/espeon_back_pic.png b/graphics/pokemon/back_pics/espeon_back_pic.png deleted file mode 100644 index c3e5d96de..000000000 Binary files a/graphics/pokemon/back_pics/espeon_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/exeggcute_back_pic.png b/graphics/pokemon/back_pics/exeggcute_back_pic.png deleted file mode 100644 index e340cd036..000000000 Binary files a/graphics/pokemon/back_pics/exeggcute_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/exeggutor_back_pic.png b/graphics/pokemon/back_pics/exeggutor_back_pic.png deleted file mode 100644 index a44877f9c..000000000 Binary files a/graphics/pokemon/back_pics/exeggutor_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/exploud_back_pic.png b/graphics/pokemon/back_pics/exploud_back_pic.png deleted file mode 100644 index 37132bf48..000000000 Binary files a/graphics/pokemon/back_pics/exploud_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/farfetch_d_back_pic.png b/graphics/pokemon/back_pics/farfetch_d_back_pic.png deleted file mode 100644 index 7f981b389..000000000 Binary files a/graphics/pokemon/back_pics/farfetch_d_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/fearow_back_pic.png b/graphics/pokemon/back_pics/fearow_back_pic.png deleted file mode 100644 index ae54db9a7..000000000 Binary files a/graphics/pokemon/back_pics/fearow_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/feebas_back_pic.png b/graphics/pokemon/back_pics/feebas_back_pic.png deleted file mode 100644 index 3eabd6021..000000000 Binary files a/graphics/pokemon/back_pics/feebas_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/feraligatr_back_pic.png b/graphics/pokemon/back_pics/feraligatr_back_pic.png deleted file mode 100644 index d996dd8ce..000000000 Binary files a/graphics/pokemon/back_pics/feraligatr_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/flaaffy_back_pic.png b/graphics/pokemon/back_pics/flaaffy_back_pic.png deleted file mode 100644 index e0ac771bf..000000000 Binary files a/graphics/pokemon/back_pics/flaaffy_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/flareon_back_pic.png b/graphics/pokemon/back_pics/flareon_back_pic.png deleted file mode 100644 index c1efa1306..000000000 Binary files a/graphics/pokemon/back_pics/flareon_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/flygon_back_pic.png b/graphics/pokemon/back_pics/flygon_back_pic.png deleted file mode 100644 index 576cff1c5..000000000 Binary files a/graphics/pokemon/back_pics/flygon_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/forretress_back_pic.png b/graphics/pokemon/back_pics/forretress_back_pic.png deleted file mode 100644 index 5761be137..000000000 Binary files a/graphics/pokemon/back_pics/forretress_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/furret_back_pic.png b/graphics/pokemon/back_pics/furret_back_pic.png deleted file mode 100644 index 0dd2873af..000000000 Binary files a/graphics/pokemon/back_pics/furret_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/gardevoir_back_pic.png b/graphics/pokemon/back_pics/gardevoir_back_pic.png deleted file mode 100644 index 9f975a82c..000000000 Binary files a/graphics/pokemon/back_pics/gardevoir_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/gastly_back_pic.png b/graphics/pokemon/back_pics/gastly_back_pic.png deleted file mode 100644 index 3ff1badde..000000000 Binary files a/graphics/pokemon/back_pics/gastly_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/gengar_back_pic.png b/graphics/pokemon/back_pics/gengar_back_pic.png deleted file mode 100644 index 75278dc1f..000000000 Binary files a/graphics/pokemon/back_pics/gengar_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/geodude_back_pic.png b/graphics/pokemon/back_pics/geodude_back_pic.png deleted file mode 100644 index 29a4e3f3d..000000000 Binary files a/graphics/pokemon/back_pics/geodude_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/girafarig_back_pic.png b/graphics/pokemon/back_pics/girafarig_back_pic.png deleted file mode 100644 index 8d86e1f79..000000000 Binary files a/graphics/pokemon/back_pics/girafarig_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/glalie_back_pic.png b/graphics/pokemon/back_pics/glalie_back_pic.png deleted file mode 100644 index 9c73ee9b2..000000000 Binary files a/graphics/pokemon/back_pics/glalie_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/gligar_back_pic.png b/graphics/pokemon/back_pics/gligar_back_pic.png deleted file mode 100644 index 8179867e9..000000000 Binary files a/graphics/pokemon/back_pics/gligar_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/gloom_back_pic.png b/graphics/pokemon/back_pics/gloom_back_pic.png deleted file mode 100644 index 8b4d4221b..000000000 Binary files a/graphics/pokemon/back_pics/gloom_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/golbat_back_pic.png b/graphics/pokemon/back_pics/golbat_back_pic.png deleted file mode 100644 index caa196036..000000000 Binary files a/graphics/pokemon/back_pics/golbat_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/goldeen_back_pic.png b/graphics/pokemon/back_pics/goldeen_back_pic.png deleted file mode 100644 index 8ac7cb7bc..000000000 Binary files a/graphics/pokemon/back_pics/goldeen_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/golduck_back_pic.png b/graphics/pokemon/back_pics/golduck_back_pic.png deleted file mode 100644 index 1422a73ae..000000000 Binary files a/graphics/pokemon/back_pics/golduck_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/golem_back_pic.png b/graphics/pokemon/back_pics/golem_back_pic.png deleted file mode 100644 index fb27ae43f..000000000 Binary files a/graphics/pokemon/back_pics/golem_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/gorebyss_back_pic.png b/graphics/pokemon/back_pics/gorebyss_back_pic.png deleted file mode 100644 index aaf24366b..000000000 Binary files a/graphics/pokemon/back_pics/gorebyss_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/granbull_back_pic.png b/graphics/pokemon/back_pics/granbull_back_pic.png deleted file mode 100644 index 2ac044da6..000000000 Binary files a/graphics/pokemon/back_pics/granbull_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/graveler_back_pic.png b/graphics/pokemon/back_pics/graveler_back_pic.png deleted file mode 100644 index 79e87cee9..000000000 Binary files a/graphics/pokemon/back_pics/graveler_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/grimer_back_pic.png b/graphics/pokemon/back_pics/grimer_back_pic.png deleted file mode 100644 index 9df0a8bfb..000000000 Binary files a/graphics/pokemon/back_pics/grimer_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/groudon_back_pic.png b/graphics/pokemon/back_pics/groudon_back_pic.png deleted file mode 100644 index e2b711932..000000000 Binary files a/graphics/pokemon/back_pics/groudon_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/grovyle_back_pic.png b/graphics/pokemon/back_pics/grovyle_back_pic.png deleted file mode 100644 index 1ffed7b90..000000000 Binary files a/graphics/pokemon/back_pics/grovyle_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/growlithe_back_pic.png b/graphics/pokemon/back_pics/growlithe_back_pic.png deleted file mode 100644 index 2b89351a3..000000000 Binary files a/graphics/pokemon/back_pics/growlithe_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/grumpig_back_pic.png b/graphics/pokemon/back_pics/grumpig_back_pic.png deleted file mode 100644 index 08d476c29..000000000 Binary files a/graphics/pokemon/back_pics/grumpig_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/gulpin_back_pic.png b/graphics/pokemon/back_pics/gulpin_back_pic.png deleted file mode 100644 index 928f291d1..000000000 Binary files a/graphics/pokemon/back_pics/gulpin_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/gyarados_back_pic.png b/graphics/pokemon/back_pics/gyarados_back_pic.png deleted file mode 100644 index 3db55190d..000000000 Binary files a/graphics/pokemon/back_pics/gyarados_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/hariyama_back_pic.png b/graphics/pokemon/back_pics/hariyama_back_pic.png deleted file mode 100644 index 09eba4b52..000000000 Binary files a/graphics/pokemon/back_pics/hariyama_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/haunter_back_pic.png b/graphics/pokemon/back_pics/haunter_back_pic.png deleted file mode 100644 index ee4740636..000000000 Binary files a/graphics/pokemon/back_pics/haunter_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/heracross_back_pic.png b/graphics/pokemon/back_pics/heracross_back_pic.png deleted file mode 100644 index df8202179..000000000 Binary files a/graphics/pokemon/back_pics/heracross_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/hitmonchan_back_pic.png b/graphics/pokemon/back_pics/hitmonchan_back_pic.png deleted file mode 100644 index 8d9423071..000000000 Binary files a/graphics/pokemon/back_pics/hitmonchan_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/hitmonlee_back_pic.png b/graphics/pokemon/back_pics/hitmonlee_back_pic.png deleted file mode 100644 index 9aa095a6a..000000000 Binary files a/graphics/pokemon/back_pics/hitmonlee_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/hitmontop_back_pic.png b/graphics/pokemon/back_pics/hitmontop_back_pic.png deleted file mode 100644 index 09d16414c..000000000 Binary files a/graphics/pokemon/back_pics/hitmontop_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/ho_oh_back_pic.png b/graphics/pokemon/back_pics/ho_oh_back_pic.png deleted file mode 100644 index 9acbdf0cc..000000000 Binary files a/graphics/pokemon/back_pics/ho_oh_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/hoothoot_back_pic.png b/graphics/pokemon/back_pics/hoothoot_back_pic.png deleted file mode 100644 index 2ab2253bd..000000000 Binary files a/graphics/pokemon/back_pics/hoothoot_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/hoppip_back_pic.png b/graphics/pokemon/back_pics/hoppip_back_pic.png deleted file mode 100644 index a5d042909..000000000 Binary files a/graphics/pokemon/back_pics/hoppip_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/horsea_back_pic.png b/graphics/pokemon/back_pics/horsea_back_pic.png deleted file mode 100644 index bd6cb3d2b..000000000 Binary files a/graphics/pokemon/back_pics/horsea_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/houndoom_back_pic.png b/graphics/pokemon/back_pics/houndoom_back_pic.png deleted file mode 100644 index 6aae855c6..000000000 Binary files a/graphics/pokemon/back_pics/houndoom_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/houndour_back_pic.png b/graphics/pokemon/back_pics/houndour_back_pic.png deleted file mode 100644 index 64e104954..000000000 Binary files a/graphics/pokemon/back_pics/houndour_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/huntail_back_pic.png b/graphics/pokemon/back_pics/huntail_back_pic.png deleted file mode 100644 index 23ccaac12..000000000 Binary files a/graphics/pokemon/back_pics/huntail_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/hypno_back_pic.png b/graphics/pokemon/back_pics/hypno_back_pic.png deleted file mode 100644 index 12aec4f4d..000000000 Binary files a/graphics/pokemon/back_pics/hypno_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/igglybuff_back_pic.png b/graphics/pokemon/back_pics/igglybuff_back_pic.png deleted file mode 100644 index efc417ab5..000000000 Binary files a/graphics/pokemon/back_pics/igglybuff_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/illumise_back_pic.png b/graphics/pokemon/back_pics/illumise_back_pic.png deleted file mode 100644 index a06de56a1..000000000 Binary files a/graphics/pokemon/back_pics/illumise_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/ivysaur_back_pic.png b/graphics/pokemon/back_pics/ivysaur_back_pic.png deleted file mode 100644 index 2a979d70c..000000000 Binary files a/graphics/pokemon/back_pics/ivysaur_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/jigglypuff_back_pic.png b/graphics/pokemon/back_pics/jigglypuff_back_pic.png deleted file mode 100644 index 8055a79b0..000000000 Binary files a/graphics/pokemon/back_pics/jigglypuff_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/jirachi_back_pic.png b/graphics/pokemon/back_pics/jirachi_back_pic.png deleted file mode 100644 index 4fa283e0d..000000000 Binary files a/graphics/pokemon/back_pics/jirachi_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/jolteon_back_pic.png b/graphics/pokemon/back_pics/jolteon_back_pic.png deleted file mode 100644 index 004131600..000000000 Binary files a/graphics/pokemon/back_pics/jolteon_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/jumpluff_back_pic.png b/graphics/pokemon/back_pics/jumpluff_back_pic.png deleted file mode 100644 index 1f822f850..000000000 Binary files a/graphics/pokemon/back_pics/jumpluff_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/jynx_back_pic.png b/graphics/pokemon/back_pics/jynx_back_pic.png deleted file mode 100644 index 4b6d97bed..000000000 Binary files a/graphics/pokemon/back_pics/jynx_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/kabuto_back_pic.png b/graphics/pokemon/back_pics/kabuto_back_pic.png deleted file mode 100644 index 9664ead41..000000000 Binary files a/graphics/pokemon/back_pics/kabuto_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/kabutops_back_pic.png b/graphics/pokemon/back_pics/kabutops_back_pic.png deleted file mode 100644 index e1aab4de2..000000000 Binary files a/graphics/pokemon/back_pics/kabutops_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/kadabra_back_pic.png b/graphics/pokemon/back_pics/kadabra_back_pic.png deleted file mode 100644 index a219404c7..000000000 Binary files a/graphics/pokemon/back_pics/kadabra_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/kakuna_back_pic.png b/graphics/pokemon/back_pics/kakuna_back_pic.png deleted file mode 100644 index 2f5455238..000000000 Binary files a/graphics/pokemon/back_pics/kakuna_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/kangaskhan_back_pic.png b/graphics/pokemon/back_pics/kangaskhan_back_pic.png deleted file mode 100644 index babb41fce..000000000 Binary files a/graphics/pokemon/back_pics/kangaskhan_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/kecleon_back_pic.png b/graphics/pokemon/back_pics/kecleon_back_pic.png deleted file mode 100644 index 1baeeb58a..000000000 Binary files a/graphics/pokemon/back_pics/kecleon_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/kingdra_back_pic.png b/graphics/pokemon/back_pics/kingdra_back_pic.png deleted file mode 100644 index 3e6ec7789..000000000 Binary files a/graphics/pokemon/back_pics/kingdra_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/kingler_back_pic.png b/graphics/pokemon/back_pics/kingler_back_pic.png deleted file mode 100644 index 11338630f..000000000 Binary files a/graphics/pokemon/back_pics/kingler_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/kirlia_back_pic.png b/graphics/pokemon/back_pics/kirlia_back_pic.png deleted file mode 100644 index 5820cd068..000000000 Binary files a/graphics/pokemon/back_pics/kirlia_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/koffing_back_pic.png b/graphics/pokemon/back_pics/koffing_back_pic.png deleted file mode 100644 index a76b27fae..000000000 Binary files a/graphics/pokemon/back_pics/koffing_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/krabby_back_pic.png b/graphics/pokemon/back_pics/krabby_back_pic.png deleted file mode 100644 index d0501e77a..000000000 Binary files a/graphics/pokemon/back_pics/krabby_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/kyogre_back_pic.png b/graphics/pokemon/back_pics/kyogre_back_pic.png deleted file mode 100644 index d0c4f55c1..000000000 Binary files a/graphics/pokemon/back_pics/kyogre_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/lairon_back_pic.png b/graphics/pokemon/back_pics/lairon_back_pic.png deleted file mode 100644 index 552c01356..000000000 Binary files a/graphics/pokemon/back_pics/lairon_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/lanturn_back_pic.png b/graphics/pokemon/back_pics/lanturn_back_pic.png deleted file mode 100644 index 1b9543d63..000000000 Binary files a/graphics/pokemon/back_pics/lanturn_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/lapras_back_pic.png b/graphics/pokemon/back_pics/lapras_back_pic.png deleted file mode 100644 index 3b5a18f17..000000000 Binary files a/graphics/pokemon/back_pics/lapras_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/larvitar_back_pic.png b/graphics/pokemon/back_pics/larvitar_back_pic.png deleted file mode 100644 index 1c28da425..000000000 Binary files a/graphics/pokemon/back_pics/larvitar_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/latias_back_pic.png b/graphics/pokemon/back_pics/latias_back_pic.png deleted file mode 100644 index a4286579b..000000000 Binary files a/graphics/pokemon/back_pics/latias_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/latios_back_pic.png b/graphics/pokemon/back_pics/latios_back_pic.png deleted file mode 100644 index 0f2b7f5d6..000000000 Binary files a/graphics/pokemon/back_pics/latios_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/ledian_back_pic.png b/graphics/pokemon/back_pics/ledian_back_pic.png deleted file mode 100644 index 577fd2d71..000000000 Binary files a/graphics/pokemon/back_pics/ledian_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/ledyba_back_pic.png b/graphics/pokemon/back_pics/ledyba_back_pic.png deleted file mode 100644 index 6a84f405d..000000000 Binary files a/graphics/pokemon/back_pics/ledyba_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/lickitung_back_pic.png b/graphics/pokemon/back_pics/lickitung_back_pic.png deleted file mode 100644 index f6524e2c0..000000000 Binary files a/graphics/pokemon/back_pics/lickitung_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/lileep_back_pic.png b/graphics/pokemon/back_pics/lileep_back_pic.png deleted file mode 100644 index 753602091..000000000 Binary files a/graphics/pokemon/back_pics/lileep_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/linoone_back_pic.png b/graphics/pokemon/back_pics/linoone_back_pic.png deleted file mode 100644 index 9fc8fad38..000000000 Binary files a/graphics/pokemon/back_pics/linoone_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/lombre_back_pic.png b/graphics/pokemon/back_pics/lombre_back_pic.png deleted file mode 100644 index c87b4bcf3..000000000 Binary files a/graphics/pokemon/back_pics/lombre_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/lotad_back_pic.png b/graphics/pokemon/back_pics/lotad_back_pic.png deleted file mode 100644 index d8ca7648d..000000000 Binary files a/graphics/pokemon/back_pics/lotad_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/loudred_back_pic.png b/graphics/pokemon/back_pics/loudred_back_pic.png deleted file mode 100644 index cb3d5d816..000000000 Binary files a/graphics/pokemon/back_pics/loudred_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/ludicolo_back_pic.png b/graphics/pokemon/back_pics/ludicolo_back_pic.png deleted file mode 100644 index 2bdc96c39..000000000 Binary files a/graphics/pokemon/back_pics/ludicolo_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/lugia_back_pic.png b/graphics/pokemon/back_pics/lugia_back_pic.png deleted file mode 100644 index ece7def85..000000000 Binary files a/graphics/pokemon/back_pics/lugia_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/lunatone_back_pic.png b/graphics/pokemon/back_pics/lunatone_back_pic.png deleted file mode 100644 index 3f2247f8e..000000000 Binary files a/graphics/pokemon/back_pics/lunatone_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/luvdisc_back_pic.png b/graphics/pokemon/back_pics/luvdisc_back_pic.png deleted file mode 100644 index 04895aa25..000000000 Binary files a/graphics/pokemon/back_pics/luvdisc_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/machamp_back_pic.png b/graphics/pokemon/back_pics/machamp_back_pic.png deleted file mode 100644 index 98f6f961b..000000000 Binary files a/graphics/pokemon/back_pics/machamp_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/machoke_back_pic.png b/graphics/pokemon/back_pics/machoke_back_pic.png deleted file mode 100644 index b3c84c77c..000000000 Binary files a/graphics/pokemon/back_pics/machoke_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/machop_back_pic.png b/graphics/pokemon/back_pics/machop_back_pic.png deleted file mode 100644 index 6b0dda04c..000000000 Binary files a/graphics/pokemon/back_pics/machop_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/magby_back_pic.png b/graphics/pokemon/back_pics/magby_back_pic.png deleted file mode 100644 index f05f62283..000000000 Binary files a/graphics/pokemon/back_pics/magby_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/magcargo_back_pic.png b/graphics/pokemon/back_pics/magcargo_back_pic.png deleted file mode 100644 index 8d2221f0d..000000000 Binary files a/graphics/pokemon/back_pics/magcargo_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/magikarp_back_pic.png b/graphics/pokemon/back_pics/magikarp_back_pic.png deleted file mode 100644 index 66e874bb9..000000000 Binary files a/graphics/pokemon/back_pics/magikarp_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/magmar_back_pic.png b/graphics/pokemon/back_pics/magmar_back_pic.png deleted file mode 100644 index 4d4f4e77a..000000000 Binary files a/graphics/pokemon/back_pics/magmar_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/magnemite_back_pic.png b/graphics/pokemon/back_pics/magnemite_back_pic.png deleted file mode 100644 index c1769ec51..000000000 Binary files a/graphics/pokemon/back_pics/magnemite_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/magneton_back_pic.png b/graphics/pokemon/back_pics/magneton_back_pic.png deleted file mode 100644 index 5fc357dfc..000000000 Binary files a/graphics/pokemon/back_pics/magneton_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/makuhita_back_pic.png b/graphics/pokemon/back_pics/makuhita_back_pic.png deleted file mode 100644 index 45423f822..000000000 Binary files a/graphics/pokemon/back_pics/makuhita_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/manectric_back_pic.png b/graphics/pokemon/back_pics/manectric_back_pic.png deleted file mode 100644 index 9373757a0..000000000 Binary files a/graphics/pokemon/back_pics/manectric_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/mankey_back_pic.png b/graphics/pokemon/back_pics/mankey_back_pic.png deleted file mode 100644 index 00336d751..000000000 Binary files a/graphics/pokemon/back_pics/mankey_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/mantine_back_pic.png b/graphics/pokemon/back_pics/mantine_back_pic.png deleted file mode 100644 index 186e90e1e..000000000 Binary files a/graphics/pokemon/back_pics/mantine_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/mareep_back_pic.png b/graphics/pokemon/back_pics/mareep_back_pic.png deleted file mode 100644 index 601d13c8d..000000000 Binary files a/graphics/pokemon/back_pics/mareep_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/marill_back_pic.png b/graphics/pokemon/back_pics/marill_back_pic.png deleted file mode 100644 index 49bc29d97..000000000 Binary files a/graphics/pokemon/back_pics/marill_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/marowak_back_pic.png b/graphics/pokemon/back_pics/marowak_back_pic.png deleted file mode 100644 index 3af621821..000000000 Binary files a/graphics/pokemon/back_pics/marowak_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/marshtomp_back_pic.png b/graphics/pokemon/back_pics/marshtomp_back_pic.png deleted file mode 100644 index 6c530aaee..000000000 Binary files a/graphics/pokemon/back_pics/marshtomp_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/masquerain_back_pic.png b/graphics/pokemon/back_pics/masquerain_back_pic.png deleted file mode 100644 index 0092c2ca6..000000000 Binary files a/graphics/pokemon/back_pics/masquerain_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/mawile_back_pic.png b/graphics/pokemon/back_pics/mawile_back_pic.png deleted file mode 100644 index 5bbf44ca9..000000000 Binary files a/graphics/pokemon/back_pics/mawile_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/medicham_back_pic.png b/graphics/pokemon/back_pics/medicham_back_pic.png deleted file mode 100644 index f4f58839b..000000000 Binary files a/graphics/pokemon/back_pics/medicham_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/meditite_back_pic.png b/graphics/pokemon/back_pics/meditite_back_pic.png deleted file mode 100644 index 8c00d8f6d..000000000 Binary files a/graphics/pokemon/back_pics/meditite_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/meganium_back_pic.png b/graphics/pokemon/back_pics/meganium_back_pic.png deleted file mode 100644 index be01710af..000000000 Binary files a/graphics/pokemon/back_pics/meganium_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/meowth_back_pic.png b/graphics/pokemon/back_pics/meowth_back_pic.png deleted file mode 100644 index d87e7aa14..000000000 Binary files a/graphics/pokemon/back_pics/meowth_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/metagross_back_pic.png b/graphics/pokemon/back_pics/metagross_back_pic.png deleted file mode 100644 index 2097f945d..000000000 Binary files a/graphics/pokemon/back_pics/metagross_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/metang_back_pic.png b/graphics/pokemon/back_pics/metang_back_pic.png deleted file mode 100644 index 2ba18eb3d..000000000 Binary files a/graphics/pokemon/back_pics/metang_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/metapod_back_pic.png b/graphics/pokemon/back_pics/metapod_back_pic.png deleted file mode 100644 index 825f6d504..000000000 Binary files a/graphics/pokemon/back_pics/metapod_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/mew_back_pic.png b/graphics/pokemon/back_pics/mew_back_pic.png deleted file mode 100644 index 85303cf70..000000000 Binary files a/graphics/pokemon/back_pics/mew_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/mewtwo_back_pic.png b/graphics/pokemon/back_pics/mewtwo_back_pic.png deleted file mode 100644 index e466856e5..000000000 Binary files a/graphics/pokemon/back_pics/mewtwo_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/mightyena_back_pic.png b/graphics/pokemon/back_pics/mightyena_back_pic.png deleted file mode 100644 index 188562590..000000000 Binary files a/graphics/pokemon/back_pics/mightyena_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/milotic_back_pic.png b/graphics/pokemon/back_pics/milotic_back_pic.png deleted file mode 100644 index 5d91dfb63..000000000 Binary files a/graphics/pokemon/back_pics/milotic_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/miltank_back_pic.png b/graphics/pokemon/back_pics/miltank_back_pic.png deleted file mode 100644 index 0cf5b21e6..000000000 Binary files a/graphics/pokemon/back_pics/miltank_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/minun_back_pic.png b/graphics/pokemon/back_pics/minun_back_pic.png deleted file mode 100644 index 7c1377d59..000000000 Binary files a/graphics/pokemon/back_pics/minun_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/misdreavus_back_pic.png b/graphics/pokemon/back_pics/misdreavus_back_pic.png deleted file mode 100644 index 44b44a3ff..000000000 Binary files a/graphics/pokemon/back_pics/misdreavus_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/moltres_back_pic.png b/graphics/pokemon/back_pics/moltres_back_pic.png deleted file mode 100644 index 11ed8ced8..000000000 Binary files a/graphics/pokemon/back_pics/moltres_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/mr_mime_back_pic.png b/graphics/pokemon/back_pics/mr_mime_back_pic.png deleted file mode 100644 index 129fbb4e2..000000000 Binary files a/graphics/pokemon/back_pics/mr_mime_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/mudkip_back_pic.png b/graphics/pokemon/back_pics/mudkip_back_pic.png deleted file mode 100644 index 1b1282d42..000000000 Binary files a/graphics/pokemon/back_pics/mudkip_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/muk_back_pic.png b/graphics/pokemon/back_pics/muk_back_pic.png deleted file mode 100644 index 07c18b350..000000000 Binary files a/graphics/pokemon/back_pics/muk_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/murkrow_back_pic.png b/graphics/pokemon/back_pics/murkrow_back_pic.png deleted file mode 100644 index 3007b7643..000000000 Binary files a/graphics/pokemon/back_pics/murkrow_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/natu_back_pic.png b/graphics/pokemon/back_pics/natu_back_pic.png deleted file mode 100644 index 0349877d5..000000000 Binary files a/graphics/pokemon/back_pics/natu_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/nidoking_back_pic.png b/graphics/pokemon/back_pics/nidoking_back_pic.png deleted file mode 100644 index 65a253b45..000000000 Binary files a/graphics/pokemon/back_pics/nidoking_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/nidoqueen_back_pic.png b/graphics/pokemon/back_pics/nidoqueen_back_pic.png deleted file mode 100644 index 339582c54..000000000 Binary files a/graphics/pokemon/back_pics/nidoqueen_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/nidoran_f_back_pic.png b/graphics/pokemon/back_pics/nidoran_f_back_pic.png deleted file mode 100644 index acfc360cc..000000000 Binary files a/graphics/pokemon/back_pics/nidoran_f_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/nidoran_m_back_pic.png b/graphics/pokemon/back_pics/nidoran_m_back_pic.png deleted file mode 100644 index 76c47d33e..000000000 Binary files a/graphics/pokemon/back_pics/nidoran_m_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/nidorina_back_pic.png b/graphics/pokemon/back_pics/nidorina_back_pic.png deleted file mode 100644 index 14940d21f..000000000 Binary files a/graphics/pokemon/back_pics/nidorina_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/nidorino_back_pic.png b/graphics/pokemon/back_pics/nidorino_back_pic.png deleted file mode 100644 index 01b866e00..000000000 Binary files a/graphics/pokemon/back_pics/nidorino_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/nincada_back_pic.png b/graphics/pokemon/back_pics/nincada_back_pic.png deleted file mode 100644 index e35b19cc7..000000000 Binary files a/graphics/pokemon/back_pics/nincada_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/ninetales_back_pic.png b/graphics/pokemon/back_pics/ninetales_back_pic.png deleted file mode 100644 index cb1919138..000000000 Binary files a/graphics/pokemon/back_pics/ninetales_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/ninjask_back_pic.png b/graphics/pokemon/back_pics/ninjask_back_pic.png deleted file mode 100644 index fd2daf29a..000000000 Binary files a/graphics/pokemon/back_pics/ninjask_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/noctowl_back_pic.png b/graphics/pokemon/back_pics/noctowl_back_pic.png deleted file mode 100644 index e9984ea5e..000000000 Binary files a/graphics/pokemon/back_pics/noctowl_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/nosepass_back_pic.png b/graphics/pokemon/back_pics/nosepass_back_pic.png deleted file mode 100644 index 21b41a3cd..000000000 Binary files a/graphics/pokemon/back_pics/nosepass_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/numel_back_pic.png b/graphics/pokemon/back_pics/numel_back_pic.png deleted file mode 100644 index 9722ff438..000000000 Binary files a/graphics/pokemon/back_pics/numel_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/nuzleaf_back_pic.png b/graphics/pokemon/back_pics/nuzleaf_back_pic.png deleted file mode 100644 index 858377c11..000000000 Binary files a/graphics/pokemon/back_pics/nuzleaf_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/octillery_back_pic.png b/graphics/pokemon/back_pics/octillery_back_pic.png deleted file mode 100644 index 09a867881..000000000 Binary files a/graphics/pokemon/back_pics/octillery_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/oddish_back_pic.png b/graphics/pokemon/back_pics/oddish_back_pic.png deleted file mode 100644 index a1919e4ea..000000000 Binary files a/graphics/pokemon/back_pics/oddish_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/omanyte_back_pic.png b/graphics/pokemon/back_pics/omanyte_back_pic.png deleted file mode 100644 index 6cd77bffc..000000000 Binary files a/graphics/pokemon/back_pics/omanyte_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/omastar_back_pic.png b/graphics/pokemon/back_pics/omastar_back_pic.png deleted file mode 100644 index 3f7467950..000000000 Binary files a/graphics/pokemon/back_pics/omastar_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/onix_back_pic.png b/graphics/pokemon/back_pics/onix_back_pic.png deleted file mode 100644 index 233e66d91..000000000 Binary files a/graphics/pokemon/back_pics/onix_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/paras_back_pic.png b/graphics/pokemon/back_pics/paras_back_pic.png deleted file mode 100644 index cb77d2d77..000000000 Binary files a/graphics/pokemon/back_pics/paras_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/parasect_back_pic.png b/graphics/pokemon/back_pics/parasect_back_pic.png deleted file mode 100644 index f313d5a91..000000000 Binary files a/graphics/pokemon/back_pics/parasect_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/pelipper_back_pic.png b/graphics/pokemon/back_pics/pelipper_back_pic.png deleted file mode 100644 index 4b155c28d..000000000 Binary files a/graphics/pokemon/back_pics/pelipper_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/persian_back_pic.png b/graphics/pokemon/back_pics/persian_back_pic.png deleted file mode 100644 index f9acc3c24..000000000 Binary files a/graphics/pokemon/back_pics/persian_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/phanpy_back_pic.png b/graphics/pokemon/back_pics/phanpy_back_pic.png deleted file mode 100644 index b40fb8ddf..000000000 Binary files a/graphics/pokemon/back_pics/phanpy_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/pichu_back_pic.png b/graphics/pokemon/back_pics/pichu_back_pic.png deleted file mode 100644 index 94d593632..000000000 Binary files a/graphics/pokemon/back_pics/pichu_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/pidgeot_back_pic.png b/graphics/pokemon/back_pics/pidgeot_back_pic.png deleted file mode 100644 index a050dd31c..000000000 Binary files a/graphics/pokemon/back_pics/pidgeot_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/pidgeotto_back_pic.png b/graphics/pokemon/back_pics/pidgeotto_back_pic.png deleted file mode 100644 index 4aeab2844..000000000 Binary files a/graphics/pokemon/back_pics/pidgeotto_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/pidgey_back_pic.png b/graphics/pokemon/back_pics/pidgey_back_pic.png deleted file mode 100644 index ecb42e8f1..000000000 Binary files a/graphics/pokemon/back_pics/pidgey_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/pikachu_back_pic.png b/graphics/pokemon/back_pics/pikachu_back_pic.png deleted file mode 100644 index 0ea5ff592..000000000 Binary files a/graphics/pokemon/back_pics/pikachu_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/piloswine_back_pic.png b/graphics/pokemon/back_pics/piloswine_back_pic.png deleted file mode 100644 index a9a3bfed8..000000000 Binary files a/graphics/pokemon/back_pics/piloswine_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/pineco_back_pic.png b/graphics/pokemon/back_pics/pineco_back_pic.png deleted file mode 100644 index a92454bb3..000000000 Binary files a/graphics/pokemon/back_pics/pineco_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/pinsir_back_pic.png b/graphics/pokemon/back_pics/pinsir_back_pic.png deleted file mode 100644 index 95ee9784c..000000000 Binary files a/graphics/pokemon/back_pics/pinsir_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/plusle_back_pic.png b/graphics/pokemon/back_pics/plusle_back_pic.png deleted file mode 100644 index 7365f9921..000000000 Binary files a/graphics/pokemon/back_pics/plusle_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/politoed_back_pic.png b/graphics/pokemon/back_pics/politoed_back_pic.png deleted file mode 100644 index 5337b6f27..000000000 Binary files a/graphics/pokemon/back_pics/politoed_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/poliwag_back_pic.png b/graphics/pokemon/back_pics/poliwag_back_pic.png deleted file mode 100644 index 11e30aef7..000000000 Binary files a/graphics/pokemon/back_pics/poliwag_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/poliwhirl_back_pic.png b/graphics/pokemon/back_pics/poliwhirl_back_pic.png deleted file mode 100644 index 31540c539..000000000 Binary files a/graphics/pokemon/back_pics/poliwhirl_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/poliwrath_back_pic.png b/graphics/pokemon/back_pics/poliwrath_back_pic.png deleted file mode 100644 index b38239be7..000000000 Binary files a/graphics/pokemon/back_pics/poliwrath_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/ponyta_back_pic.png b/graphics/pokemon/back_pics/ponyta_back_pic.png deleted file mode 100644 index cc4bf1189..000000000 Binary files a/graphics/pokemon/back_pics/ponyta_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/poochyena_back_pic.png b/graphics/pokemon/back_pics/poochyena_back_pic.png deleted file mode 100644 index 6d13ed43a..000000000 Binary files a/graphics/pokemon/back_pics/poochyena_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/porygon2_back_pic.png b/graphics/pokemon/back_pics/porygon2_back_pic.png deleted file mode 100644 index aad400b56..000000000 Binary files a/graphics/pokemon/back_pics/porygon2_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/porygon_back_pic.png b/graphics/pokemon/back_pics/porygon_back_pic.png deleted file mode 100644 index f102465a8..000000000 Binary files a/graphics/pokemon/back_pics/porygon_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/primeape_back_pic.png b/graphics/pokemon/back_pics/primeape_back_pic.png deleted file mode 100644 index 02b326cd4..000000000 Binary files a/graphics/pokemon/back_pics/primeape_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/psyduck_back_pic.png b/graphics/pokemon/back_pics/psyduck_back_pic.png deleted file mode 100644 index 65f8032a7..000000000 Binary files a/graphics/pokemon/back_pics/psyduck_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/pupitar_back_pic.png b/graphics/pokemon/back_pics/pupitar_back_pic.png deleted file mode 100644 index 1f49a87f9..000000000 Binary files a/graphics/pokemon/back_pics/pupitar_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/quagsire_back_pic.png b/graphics/pokemon/back_pics/quagsire_back_pic.png deleted file mode 100644 index 9233569b8..000000000 Binary files a/graphics/pokemon/back_pics/quagsire_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/quilava_back_pic.png b/graphics/pokemon/back_pics/quilava_back_pic.png deleted file mode 100644 index 5a97c1b11..000000000 Binary files a/graphics/pokemon/back_pics/quilava_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/qwilfish_back_pic.png b/graphics/pokemon/back_pics/qwilfish_back_pic.png deleted file mode 100644 index 34fb6e12e..000000000 Binary files a/graphics/pokemon/back_pics/qwilfish_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/raichu_back_pic.png b/graphics/pokemon/back_pics/raichu_back_pic.png deleted file mode 100644 index 6f8a0afcd..000000000 Binary files a/graphics/pokemon/back_pics/raichu_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/raikou_back_pic.png b/graphics/pokemon/back_pics/raikou_back_pic.png deleted file mode 100644 index e187eda52..000000000 Binary files a/graphics/pokemon/back_pics/raikou_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/ralts_back_pic.png b/graphics/pokemon/back_pics/ralts_back_pic.png deleted file mode 100644 index 926bdc0ab..000000000 Binary files a/graphics/pokemon/back_pics/ralts_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/rapidash_back_pic.png b/graphics/pokemon/back_pics/rapidash_back_pic.png deleted file mode 100644 index 7d4b9667e..000000000 Binary files a/graphics/pokemon/back_pics/rapidash_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/raticate_back_pic.png b/graphics/pokemon/back_pics/raticate_back_pic.png deleted file mode 100644 index 38935407e..000000000 Binary files a/graphics/pokemon/back_pics/raticate_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/rattata_back_pic.png b/graphics/pokemon/back_pics/rattata_back_pic.png deleted file mode 100644 index 717be0bc6..000000000 Binary files a/graphics/pokemon/back_pics/rattata_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/rayquaza_back_pic.png b/graphics/pokemon/back_pics/rayquaza_back_pic.png deleted file mode 100644 index e8b8704a8..000000000 Binary files a/graphics/pokemon/back_pics/rayquaza_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/regice_back_pic.png b/graphics/pokemon/back_pics/regice_back_pic.png deleted file mode 100644 index 69b091437..000000000 Binary files a/graphics/pokemon/back_pics/regice_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/regirock_back_pic.png b/graphics/pokemon/back_pics/regirock_back_pic.png deleted file mode 100644 index 7175fc90a..000000000 Binary files a/graphics/pokemon/back_pics/regirock_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/registeel_back_pic.png b/graphics/pokemon/back_pics/registeel_back_pic.png deleted file mode 100644 index 233240d45..000000000 Binary files a/graphics/pokemon/back_pics/registeel_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/relicanth_back_pic.png b/graphics/pokemon/back_pics/relicanth_back_pic.png deleted file mode 100644 index c9ae2e572..000000000 Binary files a/graphics/pokemon/back_pics/relicanth_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/remoraid_back_pic.png b/graphics/pokemon/back_pics/remoraid_back_pic.png deleted file mode 100644 index 22e48fa6d..000000000 Binary files a/graphics/pokemon/back_pics/remoraid_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/rhydon_back_pic.png b/graphics/pokemon/back_pics/rhydon_back_pic.png deleted file mode 100644 index 4acc986ba..000000000 Binary files a/graphics/pokemon/back_pics/rhydon_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/rhyhorn_back_pic.png b/graphics/pokemon/back_pics/rhyhorn_back_pic.png deleted file mode 100644 index 67d006205..000000000 Binary files a/graphics/pokemon/back_pics/rhyhorn_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/roselia_back_pic.png b/graphics/pokemon/back_pics/roselia_back_pic.png deleted file mode 100644 index 5275c801d..000000000 Binary files a/graphics/pokemon/back_pics/roselia_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/sableye_back_pic.png b/graphics/pokemon/back_pics/sableye_back_pic.png deleted file mode 100644 index 75c12743c..000000000 Binary files a/graphics/pokemon/back_pics/sableye_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/salamence_back_pic.png b/graphics/pokemon/back_pics/salamence_back_pic.png deleted file mode 100644 index 748147e77..000000000 Binary files a/graphics/pokemon/back_pics/salamence_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/sandshrew_back_pic.png b/graphics/pokemon/back_pics/sandshrew_back_pic.png deleted file mode 100644 index 86fa10ec8..000000000 Binary files a/graphics/pokemon/back_pics/sandshrew_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/sandslash_back_pic.png b/graphics/pokemon/back_pics/sandslash_back_pic.png deleted file mode 100644 index 64c305047..000000000 Binary files a/graphics/pokemon/back_pics/sandslash_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/sceptile_back_pic.png b/graphics/pokemon/back_pics/sceptile_back_pic.png deleted file mode 100644 index 5b7e8696e..000000000 Binary files a/graphics/pokemon/back_pics/sceptile_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/scizor_back_pic.png b/graphics/pokemon/back_pics/scizor_back_pic.png deleted file mode 100644 index b31f50da1..000000000 Binary files a/graphics/pokemon/back_pics/scizor_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/scyther_back_pic.png b/graphics/pokemon/back_pics/scyther_back_pic.png deleted file mode 100644 index bf598ee88..000000000 Binary files a/graphics/pokemon/back_pics/scyther_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/seadra_back_pic.png b/graphics/pokemon/back_pics/seadra_back_pic.png deleted file mode 100644 index 526d7495c..000000000 Binary files a/graphics/pokemon/back_pics/seadra_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/seaking_back_pic.png b/graphics/pokemon/back_pics/seaking_back_pic.png deleted file mode 100644 index eb3fbd661..000000000 Binary files a/graphics/pokemon/back_pics/seaking_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/sealeo_back_pic.png b/graphics/pokemon/back_pics/sealeo_back_pic.png deleted file mode 100644 index 302ffb7f2..000000000 Binary files a/graphics/pokemon/back_pics/sealeo_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/seedot_back_pic.png b/graphics/pokemon/back_pics/seedot_back_pic.png deleted file mode 100644 index ee4017cf5..000000000 Binary files a/graphics/pokemon/back_pics/seedot_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/seel_back_pic.png b/graphics/pokemon/back_pics/seel_back_pic.png deleted file mode 100644 index 5268657f5..000000000 Binary files a/graphics/pokemon/back_pics/seel_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/sentret_back_pic.png b/graphics/pokemon/back_pics/sentret_back_pic.png deleted file mode 100644 index 97ef90a8d..000000000 Binary files a/graphics/pokemon/back_pics/sentret_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/seviper_back_pic.png b/graphics/pokemon/back_pics/seviper_back_pic.png deleted file mode 100644 index b9849a6fa..000000000 Binary files a/graphics/pokemon/back_pics/seviper_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/sharpedo_back_pic.png b/graphics/pokemon/back_pics/sharpedo_back_pic.png deleted file mode 100644 index 4e011968b..000000000 Binary files a/graphics/pokemon/back_pics/sharpedo_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/shedinja_back_pic.png b/graphics/pokemon/back_pics/shedinja_back_pic.png deleted file mode 100644 index bb3a5be7d..000000000 Binary files a/graphics/pokemon/back_pics/shedinja_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/shelgon_back_pic.png b/graphics/pokemon/back_pics/shelgon_back_pic.png deleted file mode 100644 index 9c87ad57c..000000000 Binary files a/graphics/pokemon/back_pics/shelgon_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/shellder_back_pic.png b/graphics/pokemon/back_pics/shellder_back_pic.png deleted file mode 100644 index ee5374333..000000000 Binary files a/graphics/pokemon/back_pics/shellder_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/shiftry_back_pic.png b/graphics/pokemon/back_pics/shiftry_back_pic.png deleted file mode 100644 index 17ddb24ca..000000000 Binary files a/graphics/pokemon/back_pics/shiftry_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/shroomish_back_pic.png b/graphics/pokemon/back_pics/shroomish_back_pic.png deleted file mode 100644 index 4812bcbcd..000000000 Binary files a/graphics/pokemon/back_pics/shroomish_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/shuckle_back_pic.png b/graphics/pokemon/back_pics/shuckle_back_pic.png deleted file mode 100644 index 1b19db0e5..000000000 Binary files a/graphics/pokemon/back_pics/shuckle_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/shuppet_back_pic.png b/graphics/pokemon/back_pics/shuppet_back_pic.png deleted file mode 100644 index 2c6dbdb18..000000000 Binary files a/graphics/pokemon/back_pics/shuppet_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/silcoon_back_pic.png b/graphics/pokemon/back_pics/silcoon_back_pic.png deleted file mode 100644 index 26c8cfdaf..000000000 Binary files a/graphics/pokemon/back_pics/silcoon_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/skarmory_back_pic.png b/graphics/pokemon/back_pics/skarmory_back_pic.png deleted file mode 100644 index f3c8d95cc..000000000 Binary files a/graphics/pokemon/back_pics/skarmory_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/skiploom_back_pic.png b/graphics/pokemon/back_pics/skiploom_back_pic.png deleted file mode 100644 index 8f010fb4f..000000000 Binary files a/graphics/pokemon/back_pics/skiploom_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/skitty_back_pic.png b/graphics/pokemon/back_pics/skitty_back_pic.png deleted file mode 100644 index e7f5ebb67..000000000 Binary files a/graphics/pokemon/back_pics/skitty_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/slaking_back_pic.png b/graphics/pokemon/back_pics/slaking_back_pic.png deleted file mode 100644 index 50d55a957..000000000 Binary files a/graphics/pokemon/back_pics/slaking_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/slakoth_back_pic.png b/graphics/pokemon/back_pics/slakoth_back_pic.png deleted file mode 100644 index 9f82930b0..000000000 Binary files a/graphics/pokemon/back_pics/slakoth_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/slowbro_back_pic.png b/graphics/pokemon/back_pics/slowbro_back_pic.png deleted file mode 100644 index b62c5fcf4..000000000 Binary files a/graphics/pokemon/back_pics/slowbro_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/slowking_back_pic.png b/graphics/pokemon/back_pics/slowking_back_pic.png deleted file mode 100644 index 16a779506..000000000 Binary files a/graphics/pokemon/back_pics/slowking_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/slowpoke_back_pic.png b/graphics/pokemon/back_pics/slowpoke_back_pic.png deleted file mode 100644 index 62bf72f0e..000000000 Binary files a/graphics/pokemon/back_pics/slowpoke_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/slugma_back_pic.png b/graphics/pokemon/back_pics/slugma_back_pic.png deleted file mode 100644 index 347d27ed1..000000000 Binary files a/graphics/pokemon/back_pics/slugma_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/smeargle_back_pic.png b/graphics/pokemon/back_pics/smeargle_back_pic.png deleted file mode 100644 index fefbed16f..000000000 Binary files a/graphics/pokemon/back_pics/smeargle_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/smoochum_back_pic.png b/graphics/pokemon/back_pics/smoochum_back_pic.png deleted file mode 100644 index bad0422e5..000000000 Binary files a/graphics/pokemon/back_pics/smoochum_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/sneasel_back_pic.png b/graphics/pokemon/back_pics/sneasel_back_pic.png deleted file mode 100644 index 5a0765cb2..000000000 Binary files a/graphics/pokemon/back_pics/sneasel_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/snorlax_back_pic.png b/graphics/pokemon/back_pics/snorlax_back_pic.png deleted file mode 100644 index da44b95aa..000000000 Binary files a/graphics/pokemon/back_pics/snorlax_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/snorunt_back_pic.png b/graphics/pokemon/back_pics/snorunt_back_pic.png deleted file mode 100644 index 53ddf9fdc..000000000 Binary files a/graphics/pokemon/back_pics/snorunt_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/snubbull_back_pic.png b/graphics/pokemon/back_pics/snubbull_back_pic.png deleted file mode 100644 index 2b212b708..000000000 Binary files a/graphics/pokemon/back_pics/snubbull_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/solrock_back_pic.png b/graphics/pokemon/back_pics/solrock_back_pic.png deleted file mode 100644 index 2f6e7cb99..000000000 Binary files a/graphics/pokemon/back_pics/solrock_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/spearow_back_pic.png b/graphics/pokemon/back_pics/spearow_back_pic.png deleted file mode 100644 index b630f24e0..000000000 Binary files a/graphics/pokemon/back_pics/spearow_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/spheal_back_pic.png b/graphics/pokemon/back_pics/spheal_back_pic.png deleted file mode 100644 index 6fb9e9443..000000000 Binary files a/graphics/pokemon/back_pics/spheal_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/spinarak_back_pic.png b/graphics/pokemon/back_pics/spinarak_back_pic.png deleted file mode 100644 index 7c2144971..000000000 Binary files a/graphics/pokemon/back_pics/spinarak_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/spinda_back_pic.png b/graphics/pokemon/back_pics/spinda_back_pic.png deleted file mode 100644 index c5f699e2c..000000000 Binary files a/graphics/pokemon/back_pics/spinda_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/spoink_back_pic.png b/graphics/pokemon/back_pics/spoink_back_pic.png deleted file mode 100644 index 7872e240c..000000000 Binary files a/graphics/pokemon/back_pics/spoink_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/squirtle_back_pic.png b/graphics/pokemon/back_pics/squirtle_back_pic.png deleted file mode 100644 index 36c9d2666..000000000 Binary files a/graphics/pokemon/back_pics/squirtle_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/stantler_back_pic.png b/graphics/pokemon/back_pics/stantler_back_pic.png deleted file mode 100644 index 9ddf7a40c..000000000 Binary files a/graphics/pokemon/back_pics/stantler_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/starmie_back_pic.png b/graphics/pokemon/back_pics/starmie_back_pic.png deleted file mode 100644 index 62fdf3a41..000000000 Binary files a/graphics/pokemon/back_pics/starmie_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/staryu_back_pic.png b/graphics/pokemon/back_pics/staryu_back_pic.png deleted file mode 100644 index b48a929ea..000000000 Binary files a/graphics/pokemon/back_pics/staryu_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/steelix_back_pic.png b/graphics/pokemon/back_pics/steelix_back_pic.png deleted file mode 100644 index 74cb256d0..000000000 Binary files a/graphics/pokemon/back_pics/steelix_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/sudowoodo_back_pic.png b/graphics/pokemon/back_pics/sudowoodo_back_pic.png deleted file mode 100644 index befda7efc..000000000 Binary files a/graphics/pokemon/back_pics/sudowoodo_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/suicune_back_pic.png b/graphics/pokemon/back_pics/suicune_back_pic.png deleted file mode 100644 index 80eef8678..000000000 Binary files a/graphics/pokemon/back_pics/suicune_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/sunflora_back_pic.png b/graphics/pokemon/back_pics/sunflora_back_pic.png deleted file mode 100644 index c048bebc2..000000000 Binary files a/graphics/pokemon/back_pics/sunflora_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/sunkern_back_pic.png b/graphics/pokemon/back_pics/sunkern_back_pic.png deleted file mode 100644 index e6adde775..000000000 Binary files a/graphics/pokemon/back_pics/sunkern_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/surskit_back_pic.png b/graphics/pokemon/back_pics/surskit_back_pic.png deleted file mode 100644 index 85b8a8a4f..000000000 Binary files a/graphics/pokemon/back_pics/surskit_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/swablu_back_pic.png b/graphics/pokemon/back_pics/swablu_back_pic.png deleted file mode 100644 index 802a9e37c..000000000 Binary files a/graphics/pokemon/back_pics/swablu_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/swalot_back_pic.png b/graphics/pokemon/back_pics/swalot_back_pic.png deleted file mode 100644 index acd59b1b9..000000000 Binary files a/graphics/pokemon/back_pics/swalot_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/swampert_back_pic.png b/graphics/pokemon/back_pics/swampert_back_pic.png deleted file mode 100644 index bb795c65f..000000000 Binary files a/graphics/pokemon/back_pics/swampert_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/swellow_back_pic.png b/graphics/pokemon/back_pics/swellow_back_pic.png deleted file mode 100644 index c2c1c3ed3..000000000 Binary files a/graphics/pokemon/back_pics/swellow_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/swinub_back_pic.png b/graphics/pokemon/back_pics/swinub_back_pic.png deleted file mode 100644 index 66998faad..000000000 Binary files a/graphics/pokemon/back_pics/swinub_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/taillow_back_pic.png b/graphics/pokemon/back_pics/taillow_back_pic.png deleted file mode 100644 index 997d6db45..000000000 Binary files a/graphics/pokemon/back_pics/taillow_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/tangela_back_pic.png b/graphics/pokemon/back_pics/tangela_back_pic.png deleted file mode 100644 index 5a15f1b91..000000000 Binary files a/graphics/pokemon/back_pics/tangela_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/tauros_back_pic.png b/graphics/pokemon/back_pics/tauros_back_pic.png deleted file mode 100644 index 2fac61283..000000000 Binary files a/graphics/pokemon/back_pics/tauros_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/teddiursa_back_pic.png b/graphics/pokemon/back_pics/teddiursa_back_pic.png deleted file mode 100644 index d79f39a5b..000000000 Binary files a/graphics/pokemon/back_pics/teddiursa_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/tentacool_back_pic.png b/graphics/pokemon/back_pics/tentacool_back_pic.png deleted file mode 100644 index d603ca052..000000000 Binary files a/graphics/pokemon/back_pics/tentacool_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/tentacruel_back_pic.png b/graphics/pokemon/back_pics/tentacruel_back_pic.png deleted file mode 100644 index 232bc9259..000000000 Binary files a/graphics/pokemon/back_pics/tentacruel_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/togepi_back_pic.png b/graphics/pokemon/back_pics/togepi_back_pic.png deleted file mode 100644 index 24858fc22..000000000 Binary files a/graphics/pokemon/back_pics/togepi_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/togetic_back_pic.png b/graphics/pokemon/back_pics/togetic_back_pic.png deleted file mode 100644 index f5125735a..000000000 Binary files a/graphics/pokemon/back_pics/togetic_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/torchic_back_pic.png b/graphics/pokemon/back_pics/torchic_back_pic.png deleted file mode 100644 index ed2c53879..000000000 Binary files a/graphics/pokemon/back_pics/torchic_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/torkoal_back_pic.png b/graphics/pokemon/back_pics/torkoal_back_pic.png deleted file mode 100644 index 4eb5c4f0e..000000000 Binary files a/graphics/pokemon/back_pics/torkoal_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/totodile_back_pic.png b/graphics/pokemon/back_pics/totodile_back_pic.png deleted file mode 100644 index 1ac54c7bd..000000000 Binary files a/graphics/pokemon/back_pics/totodile_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/trapinch_back_pic.png b/graphics/pokemon/back_pics/trapinch_back_pic.png deleted file mode 100644 index 61eec3c92..000000000 Binary files a/graphics/pokemon/back_pics/trapinch_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/treecko_back_pic.png b/graphics/pokemon/back_pics/treecko_back_pic.png deleted file mode 100644 index 89e53390d..000000000 Binary files a/graphics/pokemon/back_pics/treecko_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/tropius_back_pic.png b/graphics/pokemon/back_pics/tropius_back_pic.png deleted file mode 100644 index d948c3dc0..000000000 Binary files a/graphics/pokemon/back_pics/tropius_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/typhlosion_back_pic.png b/graphics/pokemon/back_pics/typhlosion_back_pic.png deleted file mode 100644 index deb3ffb0d..000000000 Binary files a/graphics/pokemon/back_pics/typhlosion_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/tyranitar_back_pic.png b/graphics/pokemon/back_pics/tyranitar_back_pic.png deleted file mode 100644 index 273318be0..000000000 Binary files a/graphics/pokemon/back_pics/tyranitar_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/tyrogue_back_pic.png b/graphics/pokemon/back_pics/tyrogue_back_pic.png deleted file mode 100644 index 1d6b2e198..000000000 Binary files a/graphics/pokemon/back_pics/tyrogue_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/umbreon_back_pic.png b/graphics/pokemon/back_pics/umbreon_back_pic.png deleted file mode 100644 index d73508aed..000000000 Binary files a/graphics/pokemon/back_pics/umbreon_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/unown_a_back_pic.png b/graphics/pokemon/back_pics/unown_a_back_pic.png deleted file mode 100644 index b90973023..000000000 Binary files a/graphics/pokemon/back_pics/unown_a_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/unown_b_back_pic.png b/graphics/pokemon/back_pics/unown_b_back_pic.png deleted file mode 100644 index b398754ca..000000000 Binary files a/graphics/pokemon/back_pics/unown_b_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/unown_c_back_pic.png b/graphics/pokemon/back_pics/unown_c_back_pic.png deleted file mode 100644 index b9bccf4c5..000000000 Binary files a/graphics/pokemon/back_pics/unown_c_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/unown_d_back_pic.png b/graphics/pokemon/back_pics/unown_d_back_pic.png deleted file mode 100644 index 1b3f19b09..000000000 Binary files a/graphics/pokemon/back_pics/unown_d_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/unown_e_back_pic.png b/graphics/pokemon/back_pics/unown_e_back_pic.png deleted file mode 100644 index 1baaf759f..000000000 Binary files a/graphics/pokemon/back_pics/unown_e_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/unown_exclamation_mark_back_pic.png b/graphics/pokemon/back_pics/unown_exclamation_mark_back_pic.png deleted file mode 100644 index cb05b906d..000000000 Binary files a/graphics/pokemon/back_pics/unown_exclamation_mark_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/unown_f_back_pic.png b/graphics/pokemon/back_pics/unown_f_back_pic.png deleted file mode 100644 index 30be252f9..000000000 Binary files a/graphics/pokemon/back_pics/unown_f_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/unown_g_back_pic.png b/graphics/pokemon/back_pics/unown_g_back_pic.png deleted file mode 100644 index ec5e708bf..000000000 Binary files a/graphics/pokemon/back_pics/unown_g_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/unown_h_back_pic.png b/graphics/pokemon/back_pics/unown_h_back_pic.png deleted file mode 100644 index 992e34e21..000000000 Binary files a/graphics/pokemon/back_pics/unown_h_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/unown_i_back_pic.png b/graphics/pokemon/back_pics/unown_i_back_pic.png deleted file mode 100644 index 5640fd5e0..000000000 Binary files a/graphics/pokemon/back_pics/unown_i_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/unown_j_back_pic.png b/graphics/pokemon/back_pics/unown_j_back_pic.png deleted file mode 100644 index 619ebb75b..000000000 Binary files a/graphics/pokemon/back_pics/unown_j_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/unown_k_back_pic.png b/graphics/pokemon/back_pics/unown_k_back_pic.png deleted file mode 100644 index 46ac175bc..000000000 Binary files a/graphics/pokemon/back_pics/unown_k_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/unown_l_back_pic.png b/graphics/pokemon/back_pics/unown_l_back_pic.png deleted file mode 100644 index da0c6c5f5..000000000 Binary files a/graphics/pokemon/back_pics/unown_l_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/unown_m_back_pic.png b/graphics/pokemon/back_pics/unown_m_back_pic.png deleted file mode 100644 index 37dd0a97f..000000000 Binary files a/graphics/pokemon/back_pics/unown_m_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/unown_n_back_pic.png b/graphics/pokemon/back_pics/unown_n_back_pic.png deleted file mode 100644 index 17163be73..000000000 Binary files a/graphics/pokemon/back_pics/unown_n_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/unown_o_back_pic.png b/graphics/pokemon/back_pics/unown_o_back_pic.png deleted file mode 100644 index 7260da757..000000000 Binary files a/graphics/pokemon/back_pics/unown_o_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/unown_p_back_pic.png b/graphics/pokemon/back_pics/unown_p_back_pic.png deleted file mode 100644 index e275a3a96..000000000 Binary files a/graphics/pokemon/back_pics/unown_p_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/unown_q_back_pic.png b/graphics/pokemon/back_pics/unown_q_back_pic.png deleted file mode 100644 index 08d5a0d0a..000000000 Binary files a/graphics/pokemon/back_pics/unown_q_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/unown_question_mark_back_pic.png b/graphics/pokemon/back_pics/unown_question_mark_back_pic.png deleted file mode 100644 index 3d9ae3ee3..000000000 Binary files a/graphics/pokemon/back_pics/unown_question_mark_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/unown_r_back_pic.png b/graphics/pokemon/back_pics/unown_r_back_pic.png deleted file mode 100644 index 9ea2bd6f7..000000000 Binary files a/graphics/pokemon/back_pics/unown_r_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/unown_s_back_pic.png b/graphics/pokemon/back_pics/unown_s_back_pic.png deleted file mode 100644 index c85571503..000000000 Binary files a/graphics/pokemon/back_pics/unown_s_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/unown_t_back_pic.png b/graphics/pokemon/back_pics/unown_t_back_pic.png deleted file mode 100644 index f840953b8..000000000 Binary files a/graphics/pokemon/back_pics/unown_t_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/unown_u_back_pic.png b/graphics/pokemon/back_pics/unown_u_back_pic.png deleted file mode 100644 index 8d99bd088..000000000 Binary files a/graphics/pokemon/back_pics/unown_u_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/unown_v_back_pic.png b/graphics/pokemon/back_pics/unown_v_back_pic.png deleted file mode 100644 index 41e215720..000000000 Binary files a/graphics/pokemon/back_pics/unown_v_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/unown_w_back_pic.png b/graphics/pokemon/back_pics/unown_w_back_pic.png deleted file mode 100644 index 3d42e4eb2..000000000 Binary files a/graphics/pokemon/back_pics/unown_w_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/unown_x_back_pic.png b/graphics/pokemon/back_pics/unown_x_back_pic.png deleted file mode 100644 index a21d5a9c3..000000000 Binary files a/graphics/pokemon/back_pics/unown_x_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/unown_y_back_pic.png b/graphics/pokemon/back_pics/unown_y_back_pic.png deleted file mode 100644 index 3ccca08e8..000000000 Binary files a/graphics/pokemon/back_pics/unown_y_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/unown_z_back_pic.png b/graphics/pokemon/back_pics/unown_z_back_pic.png deleted file mode 100644 index e1f528a2b..000000000 Binary files a/graphics/pokemon/back_pics/unown_z_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/ursaring_back_pic.png b/graphics/pokemon/back_pics/ursaring_back_pic.png deleted file mode 100644 index 4a546c055..000000000 Binary files a/graphics/pokemon/back_pics/ursaring_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/vaporeon_back_pic.png b/graphics/pokemon/back_pics/vaporeon_back_pic.png deleted file mode 100644 index 5ac5b94fb..000000000 Binary files a/graphics/pokemon/back_pics/vaporeon_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/venomoth_back_pic.png b/graphics/pokemon/back_pics/venomoth_back_pic.png deleted file mode 100644 index 910608088..000000000 Binary files a/graphics/pokemon/back_pics/venomoth_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/venonat_back_pic.png b/graphics/pokemon/back_pics/venonat_back_pic.png deleted file mode 100644 index 44f7f45c5..000000000 Binary files a/graphics/pokemon/back_pics/venonat_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/venusaur_back_pic.png b/graphics/pokemon/back_pics/venusaur_back_pic.png deleted file mode 100644 index e2d19152c..000000000 Binary files a/graphics/pokemon/back_pics/venusaur_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/vibrava_back_pic.png b/graphics/pokemon/back_pics/vibrava_back_pic.png deleted file mode 100644 index c5a0eb60b..000000000 Binary files a/graphics/pokemon/back_pics/vibrava_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/victreebel_back_pic.png b/graphics/pokemon/back_pics/victreebel_back_pic.png deleted file mode 100644 index a92b61f7a..000000000 Binary files a/graphics/pokemon/back_pics/victreebel_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/vigoroth_back_pic.png b/graphics/pokemon/back_pics/vigoroth_back_pic.png deleted file mode 100644 index 7d806e703..000000000 Binary files a/graphics/pokemon/back_pics/vigoroth_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/vileplume_back_pic.png b/graphics/pokemon/back_pics/vileplume_back_pic.png deleted file mode 100644 index 8aa3006ee..000000000 Binary files a/graphics/pokemon/back_pics/vileplume_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/volbeat_back_pic.png b/graphics/pokemon/back_pics/volbeat_back_pic.png deleted file mode 100644 index 217b966ed..000000000 Binary files a/graphics/pokemon/back_pics/volbeat_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/voltorb_back_pic.png b/graphics/pokemon/back_pics/voltorb_back_pic.png deleted file mode 100644 index c379b4a8b..000000000 Binary files a/graphics/pokemon/back_pics/voltorb_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/vulpix_back_pic.png b/graphics/pokemon/back_pics/vulpix_back_pic.png deleted file mode 100644 index 2272a71dd..000000000 Binary files a/graphics/pokemon/back_pics/vulpix_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/wailmer_back_pic.png b/graphics/pokemon/back_pics/wailmer_back_pic.png deleted file mode 100644 index 9ad9f21ea..000000000 Binary files a/graphics/pokemon/back_pics/wailmer_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/wailord_back_pic.png b/graphics/pokemon/back_pics/wailord_back_pic.png deleted file mode 100644 index 7698ba500..000000000 Binary files a/graphics/pokemon/back_pics/wailord_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/walrein_back_pic.png b/graphics/pokemon/back_pics/walrein_back_pic.png deleted file mode 100644 index c58df92b0..000000000 Binary files a/graphics/pokemon/back_pics/walrein_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/wartortle_back_pic.png b/graphics/pokemon/back_pics/wartortle_back_pic.png deleted file mode 100644 index 7a909f36d..000000000 Binary files a/graphics/pokemon/back_pics/wartortle_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/weedle_back_pic.png b/graphics/pokemon/back_pics/weedle_back_pic.png deleted file mode 100644 index 3180bf513..000000000 Binary files a/graphics/pokemon/back_pics/weedle_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/weepinbell_back_pic.png b/graphics/pokemon/back_pics/weepinbell_back_pic.png deleted file mode 100644 index aad38d1df..000000000 Binary files a/graphics/pokemon/back_pics/weepinbell_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/weezing_back_pic.png b/graphics/pokemon/back_pics/weezing_back_pic.png deleted file mode 100644 index beef9e8e4..000000000 Binary files a/graphics/pokemon/back_pics/weezing_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/whiscash_back_pic.png b/graphics/pokemon/back_pics/whiscash_back_pic.png deleted file mode 100644 index 6aad1817d..000000000 Binary files a/graphics/pokemon/back_pics/whiscash_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/whismur_back_pic.png b/graphics/pokemon/back_pics/whismur_back_pic.png deleted file mode 100644 index f13819f15..000000000 Binary files a/graphics/pokemon/back_pics/whismur_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/wigglytuff_back_pic.png b/graphics/pokemon/back_pics/wigglytuff_back_pic.png deleted file mode 100644 index e63442a9d..000000000 Binary files a/graphics/pokemon/back_pics/wigglytuff_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/wingull_back_pic.png b/graphics/pokemon/back_pics/wingull_back_pic.png deleted file mode 100644 index 3ea8c6474..000000000 Binary files a/graphics/pokemon/back_pics/wingull_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/wobbuffet_back_pic.png b/graphics/pokemon/back_pics/wobbuffet_back_pic.png deleted file mode 100644 index 3f22dd4a1..000000000 Binary files a/graphics/pokemon/back_pics/wobbuffet_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/wooper_back_pic.png b/graphics/pokemon/back_pics/wooper_back_pic.png deleted file mode 100644 index 13cb768c1..000000000 Binary files a/graphics/pokemon/back_pics/wooper_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/wurmple_back_pic.png b/graphics/pokemon/back_pics/wurmple_back_pic.png deleted file mode 100644 index d6ef56dcd..000000000 Binary files a/graphics/pokemon/back_pics/wurmple_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/wynaut_back_pic.png b/graphics/pokemon/back_pics/wynaut_back_pic.png deleted file mode 100644 index 388b1582b..000000000 Binary files a/graphics/pokemon/back_pics/wynaut_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/xatu_back_pic.png b/graphics/pokemon/back_pics/xatu_back_pic.png deleted file mode 100644 index b66774b13..000000000 Binary files a/graphics/pokemon/back_pics/xatu_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/yanma_back_pic.png b/graphics/pokemon/back_pics/yanma_back_pic.png deleted file mode 100644 index 980bc86f2..000000000 Binary files a/graphics/pokemon/back_pics/yanma_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/zangoose_back_pic.png b/graphics/pokemon/back_pics/zangoose_back_pic.png deleted file mode 100644 index 88357e182..000000000 Binary files a/graphics/pokemon/back_pics/zangoose_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/zapdos_back_pic.png b/graphics/pokemon/back_pics/zapdos_back_pic.png deleted file mode 100644 index 248366dc5..000000000 Binary files a/graphics/pokemon/back_pics/zapdos_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/zigzagoon_back_pic.png b/graphics/pokemon/back_pics/zigzagoon_back_pic.png deleted file mode 100644 index cc56c5d67..000000000 Binary files a/graphics/pokemon/back_pics/zigzagoon_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/back_pics/zubat_back_pic.png b/graphics/pokemon/back_pics/zubat_back_pic.png deleted file mode 100644 index 5589e5767..000000000 Binary files a/graphics/pokemon/back_pics/zubat_back_pic.png and /dev/null differ diff --git a/graphics/pokemon/bagon/back.png b/graphics/pokemon/bagon/back.png new file mode 100644 index 000000000..0a058d768 Binary files /dev/null and b/graphics/pokemon/bagon/back.png differ diff --git a/graphics/pokemon/bagon/footprint.png b/graphics/pokemon/bagon/footprint.png new file mode 100644 index 000000000..9a93a7564 Binary files /dev/null and b/graphics/pokemon/bagon/footprint.png differ diff --git a/graphics/pokemon/bagon/front.png b/graphics/pokemon/bagon/front.png new file mode 100644 index 000000000..259872b72 Binary files /dev/null and b/graphics/pokemon/bagon/front.png differ diff --git a/graphics/pokemon/bagon/icon.png b/graphics/pokemon/bagon/icon.png new file mode 100644 index 000000000..cc3af423f Binary files /dev/null and b/graphics/pokemon/bagon/icon.png differ diff --git a/graphics/pokemon/bagon/normal.pal b/graphics/pokemon/bagon/normal.pal new file mode 100644 index 000000000..c71cdb94b --- /dev/null +++ b/graphics/pokemon/bagon/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +197 197 98 +74 74 98 +123 115 148 +123 123 222 +172 172 255 +197 131 98 +255 148 98 +255 148 98 +131 148 148 +172 164 189 +222 213 238 +255 255 255 +0 0 0 +0 0 0 +255 255 255 +24 24 24 diff --git a/graphics/pokemon/bagon/shiny.pal b/graphics/pokemon/bagon/shiny.pal new file mode 100644 index 000000000..6cd8ce5ea --- /dev/null +++ b/graphics/pokemon/bagon/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +197 197 98 +16 98 32 +98 156 106 +98 197 98 +148 230 148 +197 131 98 +255 148 98 +255 148 98 +131 148 148 +172 164 189 +222 213 238 +255 255 255 +0 0 0 +0 0 0 +255 255 255 +41 41 41 diff --git a/graphics/pokemon/baltoy/back.png b/graphics/pokemon/baltoy/back.png new file mode 100644 index 000000000..a8d124481 Binary files /dev/null and b/graphics/pokemon/baltoy/back.png differ diff --git a/graphics/pokemon/baltoy/footprint.png b/graphics/pokemon/baltoy/footprint.png new file mode 100644 index 000000000..6965dbe60 Binary files /dev/null and b/graphics/pokemon/baltoy/footprint.png differ diff --git a/graphics/pokemon/baltoy/front.png b/graphics/pokemon/baltoy/front.png new file mode 100644 index 000000000..d161de265 Binary files /dev/null and b/graphics/pokemon/baltoy/front.png differ diff --git a/graphics/pokemon/baltoy/icon.png b/graphics/pokemon/baltoy/icon.png new file mode 100644 index 000000000..4ec3f35e9 Binary files /dev/null and b/graphics/pokemon/baltoy/icon.png differ diff --git a/graphics/pokemon/baltoy/normal.pal b/graphics/pokemon/baltoy/normal.pal new file mode 100644 index 000000000..335657267 --- /dev/null +++ b/graphics/pokemon/baltoy/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 255 255 +98 82 82 +131 131 98 +255 255 255 +156 164 65 +197 197 98 +230 230 172 +222 65 98 +246 148 82 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 255 0 diff --git a/graphics/pokemon/baltoy/shiny.pal b/graphics/pokemon/baltoy/shiny.pal new file mode 100644 index 000000000..39cfa55ad --- /dev/null +++ b/graphics/pokemon/baltoy/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 255 255 +98 82 82 +131 131 98 +255 255 255 +205 180 57 +246 222 98 +230 230 172 +90 172 106 +115 189 172 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 255 0 diff --git a/graphics/pokemon/banette/back.png b/graphics/pokemon/banette/back.png new file mode 100644 index 000000000..3ea5f30af Binary files /dev/null and b/graphics/pokemon/banette/back.png differ diff --git a/graphics/pokemon/banette/footprint.png b/graphics/pokemon/banette/footprint.png new file mode 100644 index 000000000..a15814f2f Binary files /dev/null and b/graphics/pokemon/banette/footprint.png differ diff --git a/graphics/pokemon/banette/front.png b/graphics/pokemon/banette/front.png new file mode 100644 index 000000000..be02be897 Binary files /dev/null and b/graphics/pokemon/banette/front.png differ diff --git a/graphics/pokemon/banette/icon.png b/graphics/pokemon/banette/icon.png new file mode 100644 index 000000000..3b5cbaed1 Binary files /dev/null and b/graphics/pokemon/banette/icon.png differ diff --git a/graphics/pokemon/banette/normal.pal b/graphics/pokemon/banette/normal.pal new file mode 100644 index 000000000..cebcb7757 --- /dev/null +++ b/graphics/pokemon/banette/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 230 213 +255 255 255 +255 255 49 +230 164 24 +255 189 49 +230 49 49 +222 123 49 +189 90 16 +131 65 41 +255 255 49 +255 255 49 +189 189 205 +148 148 172 +115 115 139 +74 74 98 +0 0 0 diff --git a/graphics/pokemon/banette/shiny.pal b/graphics/pokemon/banette/shiny.pal new file mode 100644 index 000000000..b6df68803 --- /dev/null +++ b/graphics/pokemon/banette/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 230 213 +255 255 255 +255 255 49 +230 164 24 +255 189 49 +230 49 49 +222 123 49 +189 90 16 +131 65 41 +255 255 49 +255 255 49 +189 205 238 +139 172 205 +90 148 172 +32 82 123 +0 0 0 diff --git a/graphics/pokemon/barboach/back.png b/graphics/pokemon/barboach/back.png new file mode 100644 index 000000000..4fa892c53 Binary files /dev/null and b/graphics/pokemon/barboach/back.png differ diff --git a/graphics/pokemon/barboach/footprint.png b/graphics/pokemon/barboach/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/barboach/footprint.png differ diff --git a/graphics/pokemon/barboach/front.png b/graphics/pokemon/barboach/front.png new file mode 100644 index 000000000..150e6c086 Binary files /dev/null and b/graphics/pokemon/barboach/front.png differ diff --git a/graphics/pokemon/barboach/icon.png b/graphics/pokemon/barboach/icon.png new file mode 100644 index 000000000..ad874daac Binary files /dev/null and b/graphics/pokemon/barboach/icon.png differ diff --git a/graphics/pokemon/barboach/normal.pal b/graphics/pokemon/barboach/normal.pal new file mode 100644 index 000000000..20167a557 --- /dev/null +++ b/graphics/pokemon/barboach/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +164 156 90 +57 65 82 +115 115 131 +164 164 172 +189 189 197 +213 213 222 +238 246 246 +0 0 0 +197 222 238 +255 189 41 +74 90 156 +90 106 180 +90 115 205 +139 164 222 +164 197 255 +255 255 255 diff --git a/graphics/pokemon/barboach/shiny.pal b/graphics/pokemon/barboach/shiny.pal new file mode 100644 index 000000000..e29a02099 --- /dev/null +++ b/graphics/pokemon/barboach/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +164 156 90 +57 65 82 +115 115 131 +164 164 172 +189 189 197 +213 213 222 +238 246 246 +0 0 0 +255 246 123 +255 189 41 +131 82 0 +164 115 0 +197 148 24 +230 180 57 +255 213 90 +255 255 255 diff --git a/graphics/pokemon/bayleef/back.png b/graphics/pokemon/bayleef/back.png new file mode 100644 index 000000000..63ba17c5e Binary files /dev/null and b/graphics/pokemon/bayleef/back.png differ diff --git a/graphics/pokemon/bayleef/footprint.png b/graphics/pokemon/bayleef/footprint.png new file mode 100644 index 000000000..04b375a7a Binary files /dev/null and b/graphics/pokemon/bayleef/footprint.png differ diff --git a/graphics/pokemon/bayleef/front.png b/graphics/pokemon/bayleef/front.png new file mode 100644 index 000000000..ad6713c61 Binary files /dev/null and b/graphics/pokemon/bayleef/front.png differ diff --git a/graphics/pokemon/bayleef/icon.png b/graphics/pokemon/bayleef/icon.png new file mode 100644 index 000000000..47d2774d6 Binary files /dev/null and b/graphics/pokemon/bayleef/icon.png differ diff --git a/graphics/pokemon/bayleef/normal.pal b/graphics/pokemon/bayleef/normal.pal new file mode 100644 index 000000000..9fce32009 --- /dev/null +++ b/graphics/pokemon/bayleef/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 255 172 +246 238 106 +222 189 41 +164 131 24 +106 82 0 +106 197 49 +74 164 16 +49 123 8 +16 82 16 +197 197 197 +98 98 98 +16 16 16 +213 139 82 +172 49 0 diff --git a/graphics/pokemon/bayleef/shiny.pal b/graphics/pokemon/bayleef/shiny.pal new file mode 100644 index 000000000..573c02e75 --- /dev/null +++ b/graphics/pokemon/bayleef/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 238 197 +255 213 180 +230 156 123 +189 98 65 +123 74 57 +230 189 49 +189 148 24 +123 98 8 +82 65 16 +197 197 197 +98 98 98 +16 16 16 +222 156 115 +172 57 57 diff --git a/graphics/pokemon/beautifly/back.png b/graphics/pokemon/beautifly/back.png new file mode 100644 index 000000000..1eca6edc9 Binary files /dev/null and b/graphics/pokemon/beautifly/back.png differ diff --git a/graphics/pokemon/beautifly/footprint.png b/graphics/pokemon/beautifly/footprint.png new file mode 100644 index 000000000..49175cb02 Binary files /dev/null and b/graphics/pokemon/beautifly/footprint.png differ diff --git a/graphics/pokemon/beautifly/front.png b/graphics/pokemon/beautifly/front.png new file mode 100644 index 000000000..89020c63a Binary files /dev/null and b/graphics/pokemon/beautifly/front.png differ diff --git a/graphics/pokemon/beautifly/icon.png b/graphics/pokemon/beautifly/icon.png new file mode 100644 index 000000000..346c5c906 Binary files /dev/null and b/graphics/pokemon/beautifly/icon.png differ diff --git a/graphics/pokemon/beautifly/normal.pal b/graphics/pokemon/beautifly/normal.pal new file mode 100644 index 000000000..65a02145f --- /dev/null +++ b/graphics/pokemon/beautifly/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 197 246 +90 90 82 +139 139 123 +255 255 255 +172 172 106 +230 222 115 +255 255 49 +255 255 197 +156 156 115 +197 197 115 +238 238 180 +255 255 238 +0 0 0 +255 148 41 +156 131 255 +24 24 0 diff --git a/graphics/pokemon/beautifly/shiny.pal b/graphics/pokemon/beautifly/shiny.pal new file mode 100644 index 000000000..9f0418187 --- /dev/null +++ b/graphics/pokemon/beautifly/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 197 246 +90 24 65 +156 65 131 +255 255 255 +172 148 106 +246 238 148 +255 255 213 +255 255 197 +197 156 115 +230 197 115 +255 238 180 +255 255 238 +0 0 0 +255 148 41 +156 131 255 +24 24 0 diff --git a/graphics/pokemon/beedrill/back.png b/graphics/pokemon/beedrill/back.png new file mode 100644 index 000000000..166c399e5 Binary files /dev/null and b/graphics/pokemon/beedrill/back.png differ diff --git a/graphics/pokemon/beedrill/footprint.png b/graphics/pokemon/beedrill/footprint.png new file mode 100644 index 000000000..5c3f21090 Binary files /dev/null and b/graphics/pokemon/beedrill/footprint.png differ diff --git a/graphics/pokemon/beedrill/front.png b/graphics/pokemon/beedrill/front.png new file mode 100644 index 000000000..adb2894c6 Binary files /dev/null and b/graphics/pokemon/beedrill/front.png differ diff --git a/graphics/pokemon/beedrill/icon.png b/graphics/pokemon/beedrill/icon.png new file mode 100644 index 000000000..d5e6471ab Binary files /dev/null and b/graphics/pokemon/beedrill/icon.png differ diff --git a/graphics/pokemon/beedrill/normal.pal b/graphics/pokemon/beedrill/normal.pal new file mode 100644 index 000000000..52fe8ac7a --- /dev/null +++ b/graphics/pokemon/beedrill/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 246 164 +255 222 74 +222 180 57 +139 115 0 +238 230 255 +222 205 246 +189 172 197 +164 148 172 +255 148 106 +205 49 82 +156 0 8 +98 98 98 +24 24 24 +255 0 255 diff --git a/graphics/pokemon/beedrill/shiny.pal b/graphics/pokemon/beedrill/shiny.pal new file mode 100644 index 000000000..f35f264de --- /dev/null +++ b/graphics/pokemon/beedrill/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +230 246 106 +189 205 65 +148 164 24 +74 90 0 +238 230 255 +222 205 246 +189 172 197 +164 148 172 +90 139 222 +49 98 180 +0 0 115 +98 98 98 +24 24 24 +255 0 255 diff --git a/graphics/pokemon/beldum/back.png b/graphics/pokemon/beldum/back.png new file mode 100644 index 000000000..7a2cab465 Binary files /dev/null and b/graphics/pokemon/beldum/back.png differ diff --git a/graphics/pokemon/beldum/footprint.png b/graphics/pokemon/beldum/footprint.png new file mode 100644 index 000000000..0554eedfe Binary files /dev/null and b/graphics/pokemon/beldum/footprint.png differ diff --git a/graphics/pokemon/beldum/front.png b/graphics/pokemon/beldum/front.png new file mode 100644 index 000000000..1c2a04e68 Binary files /dev/null and b/graphics/pokemon/beldum/front.png differ diff --git a/graphics/pokemon/beldum/icon.png b/graphics/pokemon/beldum/icon.png new file mode 100644 index 000000000..346a0469d Binary files /dev/null and b/graphics/pokemon/beldum/icon.png differ diff --git a/graphics/pokemon/beldum/normal.pal b/graphics/pokemon/beldum/normal.pal new file mode 100644 index 000000000..41b48bc08 --- /dev/null +++ b/graphics/pokemon/beldum/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +205 205 205 +172 172 172 +148 139 148 +115 106 115 +222 222 222 +131 74 74 +255 106 106 +213 74 82 +131 205 255 +255 255 255 +90 164 255 +74 131 213 +57 98 180 +49 57 115 +16 16 16 diff --git a/graphics/pokemon/beldum/shiny.pal b/graphics/pokemon/beldum/shiny.pal new file mode 100644 index 000000000..8fc3bc4be --- /dev/null +++ b/graphics/pokemon/beldum/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +238 172 82 +205 139 49 +172 106 16 +139 74 0 +255 205 115 +156 65 65 +255 106 106 +255 74 82 +238 238 246 +255 255 255 +213 213 222 +164 164 172 +115 106 115 +82 74 82 +16 16 16 diff --git a/graphics/pokemon/bellossom/back.png b/graphics/pokemon/bellossom/back.png new file mode 100644 index 000000000..2bd8b176e Binary files /dev/null and b/graphics/pokemon/bellossom/back.png differ diff --git a/graphics/pokemon/bellossom/footprint.png b/graphics/pokemon/bellossom/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/bellossom/footprint.png differ diff --git a/graphics/pokemon/bellossom/front.png b/graphics/pokemon/bellossom/front.png new file mode 100644 index 000000000..11ec4a08c Binary files /dev/null and b/graphics/pokemon/bellossom/front.png differ diff --git a/graphics/pokemon/bellossom/icon.png b/graphics/pokemon/bellossom/icon.png new file mode 100644 index 000000000..443d7a98c Binary files /dev/null and b/graphics/pokemon/bellossom/icon.png differ diff --git a/graphics/pokemon/bellossom/normal.pal b/graphics/pokemon/bellossom/normal.pal new file mode 100644 index 000000000..7b0591a62 --- /dev/null +++ b/graphics/pokemon/bellossom/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +156 213 74 +115 172 49 +82 98 41 +230 230 106 +180 180 57 +131 131 24 +82 197 49 +57 139 0 +16 90 16 +246 106 0 +213 32 0 +131 0 0 +164 164 164 +16 16 16 diff --git a/graphics/pokemon/bellossom/shiny.pal b/graphics/pokemon/bellossom/shiny.pal new file mode 100644 index 000000000..1f10af6fb --- /dev/null +++ b/graphics/pokemon/bellossom/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +222 156 255 +189 123 230 +123 65 180 +213 246 90 +164 197 41 +98 139 8 +90 205 131 +49 148 98 +32 82 74 +255 131 172 +205 49 106 +148 24 82 +164 164 164 +16 16 16 diff --git a/graphics/pokemon/bellsprout/back.png b/graphics/pokemon/bellsprout/back.png new file mode 100644 index 000000000..e2a336696 Binary files /dev/null and b/graphics/pokemon/bellsprout/back.png differ diff --git a/graphics/pokemon/bellsprout/footprint.png b/graphics/pokemon/bellsprout/footprint.png new file mode 100644 index 000000000..8fcf4f4f4 Binary files /dev/null and b/graphics/pokemon/bellsprout/footprint.png differ diff --git a/graphics/pokemon/bellsprout/front.png b/graphics/pokemon/bellsprout/front.png new file mode 100644 index 000000000..dba4f81bc Binary files /dev/null and b/graphics/pokemon/bellsprout/front.png differ diff --git a/graphics/pokemon/bellsprout/icon.png b/graphics/pokemon/bellsprout/icon.png new file mode 100644 index 000000000..f67c94eec Binary files /dev/null and b/graphics/pokemon/bellsprout/icon.png differ diff --git a/graphics/pokemon/bellsprout/normal.pal b/graphics/pokemon/bellsprout/normal.pal new file mode 100644 index 000000000..8a91d8f8e --- /dev/null +++ b/graphics/pokemon/bellsprout/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +246 255 189 +82 98 41 +255 172 131 +238 115 65 +189 65 32 +255 238 115 +222 197 115 +197 148 41 +189 238 131 +156 213 74 +115 172 49 +205 156 41 +156 115 32 +106 65 0 +16 16 16 diff --git a/graphics/pokemon/bellsprout/shiny.pal b/graphics/pokemon/bellsprout/shiny.pal new file mode 100644 index 000000000..6a813078f --- /dev/null +++ b/graphics/pokemon/bellsprout/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 255 255 +82 98 41 +222 189 189 +180 148 148 +139 106 106 +255 246 98 +222 205 57 +180 164 16 +246 213 82 +205 172 41 +164 131 0 +205 156 41 +156 115 32 +106 65 0 +16 16 16 diff --git a/graphics/pokemon/blastoise/back.png b/graphics/pokemon/blastoise/back.png new file mode 100644 index 000000000..f380e1515 Binary files /dev/null and b/graphics/pokemon/blastoise/back.png differ diff --git a/graphics/pokemon/blastoise/footprint.png b/graphics/pokemon/blastoise/footprint.png new file mode 100644 index 000000000..b881f9270 Binary files /dev/null and b/graphics/pokemon/blastoise/footprint.png differ diff --git a/graphics/pokemon/blastoise/front.png b/graphics/pokemon/blastoise/front.png new file mode 100644 index 000000000..1166b98ea Binary files /dev/null and b/graphics/pokemon/blastoise/front.png differ diff --git a/graphics/pokemon/blastoise/icon.png b/graphics/pokemon/blastoise/icon.png new file mode 100644 index 000000000..253d4f8da Binary files /dev/null and b/graphics/pokemon/blastoise/icon.png differ diff --git a/graphics/pokemon/blastoise/normal.pal b/graphics/pokemon/blastoise/normal.pal new file mode 100644 index 000000000..694eb3675 --- /dev/null +++ b/graphics/pokemon/blastoise/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +139 205 164 +255 255 255 +222 213 213 +148 164 164 +106 74 49 +172 49 57 +222 164 115 +255 213 106 +238 172 65 +189 139 57 +156 115 65 +156 197 238 +115 148 230 +74 131 148 +74 74 115 +16 16 16 diff --git a/graphics/pokemon/blastoise/shiny.pal b/graphics/pokemon/blastoise/shiny.pal new file mode 100644 index 000000000..d96b5ffee --- /dev/null +++ b/graphics/pokemon/blastoise/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +213 205 205 +148 164 164 +32 65 32 +172 49 57 +180 172 65 +213 189 57 +238 205 74 +115 139 8 +65 90 8 +222 205 246 +213 180 255 +156 148 197 +57 57 106 +16 16 16 diff --git a/graphics/pokemon/blaziken/back.png b/graphics/pokemon/blaziken/back.png new file mode 100644 index 000000000..cf89544c1 Binary files /dev/null and b/graphics/pokemon/blaziken/back.png differ diff --git a/graphics/pokemon/blaziken/footprint.png b/graphics/pokemon/blaziken/footprint.png new file mode 100644 index 000000000..cf18a353a Binary files /dev/null and b/graphics/pokemon/blaziken/footprint.png differ diff --git a/graphics/pokemon/blaziken/front.png b/graphics/pokemon/blaziken/front.png new file mode 100644 index 000000000..4b22ec1de Binary files /dev/null and b/graphics/pokemon/blaziken/front.png differ diff --git a/graphics/pokemon/blaziken/icon.png b/graphics/pokemon/blaziken/icon.png new file mode 100644 index 000000000..6197cce23 Binary files /dev/null and b/graphics/pokemon/blaziken/icon.png differ diff --git a/graphics/pokemon/blaziken/normal.pal b/graphics/pokemon/blaziken/normal.pal new file mode 100644 index 000000000..64aaed794 --- /dev/null +++ b/graphics/pokemon/blaziken/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 197 148 +255 246 246 +205 180 180 +172 148 148 +148 115 123 +255 123 82 +222 98 49 +180 65 49 +74 41 65 +238 213 172 +205 180 156 +148 123 90 +255 230 156 +255 213 106 +230 172 90 +0 0 0 diff --git a/graphics/pokemon/blaziken/shiny.pal b/graphics/pokemon/blaziken/shiny.pal new file mode 100644 index 000000000..fea29cce8 --- /dev/null +++ b/graphics/pokemon/blaziken/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 197 148 +255 246 246 +205 180 180 +172 148 148 +148 115 123 +197 82 49 +131 49 32 +106 24 8 +74 0 0 +238 230 222 +222 213 205 +180 65 49 +255 255 255 +255 180 82 +222 123 49 +0 0 0 diff --git a/graphics/pokemon/blissey/back.png b/graphics/pokemon/blissey/back.png new file mode 100644 index 000000000..9823bd994 Binary files /dev/null and b/graphics/pokemon/blissey/back.png differ diff --git a/graphics/pokemon/blissey/footprint.png b/graphics/pokemon/blissey/footprint.png new file mode 100644 index 000000000..3da3dbf93 Binary files /dev/null and b/graphics/pokemon/blissey/footprint.png differ diff --git a/graphics/pokemon/blissey/front.png b/graphics/pokemon/blissey/front.png new file mode 100644 index 000000000..3173f820c Binary files /dev/null and b/graphics/pokemon/blissey/front.png differ diff --git a/graphics/pokemon/blissey/icon.png b/graphics/pokemon/blissey/icon.png new file mode 100644 index 000000000..44af9704c Binary files /dev/null and b/graphics/pokemon/blissey/icon.png differ diff --git a/graphics/pokemon/blissey/normal.pal b/graphics/pokemon/blissey/normal.pal new file mode 100644 index 000000000..edeacbdaa --- /dev/null +++ b/graphics/pokemon/blissey/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +222 222 222 +180 180 180 +106 106 106 +0 255 0 +255 213 222 +255 172 197 +238 123 156 +213 74 98 +189 32 49 +0 255 0 +0 255 0 +213 74 98 +172 16 32 +16 16 16 diff --git a/graphics/pokemon/blissey/shiny.pal b/graphics/pokemon/blissey/shiny.pal new file mode 100644 index 000000000..d6d75db9e --- /dev/null +++ b/graphics/pokemon/blissey/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +222 238 255 +180 197 222 +90 106 131 +0 255 0 +255 238 246 +255 213 230 +246 172 197 +222 115 139 +180 74 82 +0 255 0 +238 123 156 +222 90 98 +172 49 65 +16 16 16 diff --git a/graphics/pokemon/breloom/back.png b/graphics/pokemon/breloom/back.png new file mode 100644 index 000000000..85df08040 Binary files /dev/null and b/graphics/pokemon/breloom/back.png differ diff --git a/graphics/pokemon/breloom/footprint.png b/graphics/pokemon/breloom/footprint.png new file mode 100644 index 000000000..98d920669 Binary files /dev/null and b/graphics/pokemon/breloom/footprint.png differ diff --git a/graphics/pokemon/breloom/front.png b/graphics/pokemon/breloom/front.png new file mode 100644 index 000000000..932fdbad8 Binary files /dev/null and b/graphics/pokemon/breloom/front.png differ diff --git a/graphics/pokemon/breloom/icon.png b/graphics/pokemon/breloom/icon.png new file mode 100644 index 000000000..314873a27 Binary files /dev/null and b/graphics/pokemon/breloom/icon.png differ diff --git a/graphics/pokemon/breloom/normal.pal b/graphics/pokemon/breloom/normal.pal new file mode 100644 index 000000000..f01f5d947 --- /dev/null +++ b/graphics/pokemon/breloom/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +238 238 238 +255 255 255 +255 238 156 +246 213 123 +213 172 106 +82 24 16 +98 74 57 +57 82 24 +164 131 82 +172 213 98 +148 189 74 +115 148 49 +238 123 74 +172 49 16 +0 0 0 +222 74 41 diff --git a/graphics/pokemon/breloom/shiny.pal b/graphics/pokemon/breloom/shiny.pal new file mode 100644 index 000000000..ad89e65f2 --- /dev/null +++ b/graphics/pokemon/breloom/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 148 139 +255 255 255 +255 238 180 +255 230 148 +230 189 106 +82 24 16 +98 74 57 +57 82 24 +189 148 82 +255 115 74 +222 98 49 +180 65 49 +255 222 139 +238 139 49 +0 0 0 +255 180 90 diff --git a/graphics/pokemon/bulbasaur/back.png b/graphics/pokemon/bulbasaur/back.png new file mode 100644 index 000000000..993352c32 Binary files /dev/null and b/graphics/pokemon/bulbasaur/back.png differ diff --git a/graphics/pokemon/bulbasaur/footprint.png b/graphics/pokemon/bulbasaur/footprint.png new file mode 100644 index 000000000..8e9ab9c6b Binary files /dev/null and b/graphics/pokemon/bulbasaur/footprint.png differ diff --git a/graphics/pokemon/bulbasaur/front.png b/graphics/pokemon/bulbasaur/front.png new file mode 100644 index 000000000..e23eaeeb6 Binary files /dev/null and b/graphics/pokemon/bulbasaur/front.png differ diff --git a/graphics/pokemon/bulbasaur/icon.png b/graphics/pokemon/bulbasaur/icon.png new file mode 100644 index 000000000..8d6fe1725 Binary files /dev/null and b/graphics/pokemon/bulbasaur/icon.png differ diff --git a/graphics/pokemon/bulbasaur/normal.pal b/graphics/pokemon/bulbasaur/normal.pal new file mode 100644 index 000000000..cc333bed3 --- /dev/null +++ b/graphics/pokemon/bulbasaur/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +131 238 197 +98 213 164 +98 148 156 +41 90 98 +255 106 98 +222 74 65 +189 41 32 +205 205 205 +16 16 16 +189 255 115 +156 213 74 +123 172 65 +90 115 65 +255 0 255 diff --git a/graphics/pokemon/bulbasaur/shiny.pal b/graphics/pokemon/bulbasaur/shiny.pal new file mode 100644 index 000000000..86a535831 --- /dev/null +++ b/graphics/pokemon/bulbasaur/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +205 255 41 +164 230 0 +106 172 0 +24 90 0 +255 106 98 +222 74 65 +189 41 32 +205 205 205 +16 16 16 +57 197 90 +16 156 49 +0 115 8 +0 57 0 +255 0 255 diff --git a/graphics/pokemon/butterfree/back.png b/graphics/pokemon/butterfree/back.png new file mode 100644 index 000000000..7dab08c7a Binary files /dev/null and b/graphics/pokemon/butterfree/back.png differ diff --git a/graphics/pokemon/butterfree/footprint.png b/graphics/pokemon/butterfree/footprint.png new file mode 100644 index 000000000..b2740e9cc Binary files /dev/null and b/graphics/pokemon/butterfree/footprint.png differ diff --git a/graphics/pokemon/butterfree/front.png b/graphics/pokemon/butterfree/front.png new file mode 100644 index 000000000..b7746d8df Binary files /dev/null and b/graphics/pokemon/butterfree/front.png differ diff --git a/graphics/pokemon/butterfree/icon.png b/graphics/pokemon/butterfree/icon.png new file mode 100644 index 000000000..11c4a379f Binary files /dev/null and b/graphics/pokemon/butterfree/icon.png differ diff --git a/graphics/pokemon/butterfree/normal.pal b/graphics/pokemon/butterfree/normal.pal new file mode 100644 index 000000000..c0eb72213 --- /dev/null +++ b/graphics/pokemon/butterfree/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +16 16 16 +255 0 255 +180 180 197 +123 123 156 +82 82 115 +65 65 90 +255 189 180 +255 123 82 +205 98 106 +148 32 16 +230 230 230 +197 197 197 +156 205 197 +90 180 139 diff --git a/graphics/pokemon/butterfree/shiny.pal b/graphics/pokemon/butterfree/shiny.pal new file mode 100644 index 000000000..a0cb8fa39 --- /dev/null +++ b/graphics/pokemon/butterfree/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 246 213 +16 16 16 +255 0 255 +189 189 205 +123 123 156 +106 90 131 +98 65 98 +98 246 106 +82 222 106 +65 180 90 +41 98 82 +255 222 180 +246 180 156 +246 180 123 +213 131 123 diff --git a/graphics/pokemon/cacnea/back.png b/graphics/pokemon/cacnea/back.png new file mode 100644 index 000000000..dbc804775 Binary files /dev/null and b/graphics/pokemon/cacnea/back.png differ diff --git a/graphics/pokemon/cacnea/footprint.png b/graphics/pokemon/cacnea/footprint.png new file mode 100644 index 000000000..00b6a8a7e Binary files /dev/null and b/graphics/pokemon/cacnea/footprint.png differ diff --git a/graphics/pokemon/cacnea/front.png b/graphics/pokemon/cacnea/front.png new file mode 100644 index 000000000..c57dce95f Binary files /dev/null and b/graphics/pokemon/cacnea/front.png differ diff --git a/graphics/pokemon/cacnea/icon.png b/graphics/pokemon/cacnea/icon.png new file mode 100644 index 000000000..367f07668 Binary files /dev/null and b/graphics/pokemon/cacnea/icon.png differ diff --git a/graphics/pokemon/cacnea/normal.pal b/graphics/pokemon/cacnea/normal.pal new file mode 100644 index 000000000..2bfc05a1e --- /dev/null +++ b/graphics/pokemon/cacnea/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 172 98 +205 238 115 +172 205 98 +139 172 82 +106 139 65 +230 255 156 +123 205 106 +74 156 57 +65 115 41 +131 131 131 +49 82 41 +255 238 255 +255 213 74 +189 156 65 +255 238 148 +16 16 16 diff --git a/graphics/pokemon/cacnea/shiny.pal b/graphics/pokemon/cacnea/shiny.pal new file mode 100644 index 000000000..67e730f61 --- /dev/null +++ b/graphics/pokemon/cacnea/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 172 98 +238 189 90 +205 156 57 +172 123 24 +139 90 0 +255 222 123 +205 106 57 +172 74 24 +139 41 0 +131 131 131 +74 24 0 +255 238 255 +255 213 74 +189 156 65 +255 238 148 +16 16 16 diff --git a/graphics/pokemon/cacturne/back.png b/graphics/pokemon/cacturne/back.png new file mode 100644 index 000000000..9a67227d0 Binary files /dev/null and b/graphics/pokemon/cacturne/back.png differ diff --git a/graphics/pokemon/cacturne/footprint.png b/graphics/pokemon/cacturne/footprint.png new file mode 100644 index 000000000..5441f92d6 Binary files /dev/null and b/graphics/pokemon/cacturne/footprint.png differ diff --git a/graphics/pokemon/cacturne/front.png b/graphics/pokemon/cacturne/front.png new file mode 100644 index 000000000..80434c3c8 Binary files /dev/null and b/graphics/pokemon/cacturne/front.png differ diff --git a/graphics/pokemon/cacturne/icon.png b/graphics/pokemon/cacturne/icon.png new file mode 100644 index 000000000..948bea2d8 Binary files /dev/null and b/graphics/pokemon/cacturne/icon.png differ diff --git a/graphics/pokemon/cacturne/normal.pal b/graphics/pokemon/cacturne/normal.pal new file mode 100644 index 000000000..cd8281641 --- /dev/null +++ b/graphics/pokemon/cacturne/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 172 98 +180 213 115 +156 189 98 +131 164 82 +106 139 65 +98 197 106 +82 172 98 +65 164 90 +49 131 74 +98 115 74 +57 82 41 +205 238 115 +255 230 74 +139 115 115 +82 82 90 +16 16 16 diff --git a/graphics/pokemon/cacturne/shiny.pal b/graphics/pokemon/cacturne/shiny.pal new file mode 100644 index 000000000..11914015b --- /dev/null +++ b/graphics/pokemon/cacturne/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 172 98 +238 189 90 +205 156 57 +172 123 24 +139 90 0 +205 106 57 +172 74 24 +139 41 0 +106 8 0 +106 57 0 +74 24 0 +255 222 123 +255 230 74 +139 115 115 +82 82 90 +16 16 16 diff --git a/graphics/pokemon/camerupt/back.png b/graphics/pokemon/camerupt/back.png new file mode 100644 index 000000000..3b1744755 Binary files /dev/null and b/graphics/pokemon/camerupt/back.png differ diff --git a/graphics/pokemon/camerupt/footprint.png b/graphics/pokemon/camerupt/footprint.png new file mode 100644 index 000000000..40708b8a1 Binary files /dev/null and b/graphics/pokemon/camerupt/footprint.png differ diff --git a/graphics/pokemon/camerupt/front.png b/graphics/pokemon/camerupt/front.png new file mode 100644 index 000000000..ffd9ed0f2 Binary files /dev/null and b/graphics/pokemon/camerupt/front.png differ diff --git a/graphics/pokemon/camerupt/icon.png b/graphics/pokemon/camerupt/icon.png new file mode 100644 index 000000000..372fc7ce0 Binary files /dev/null and b/graphics/pokemon/camerupt/icon.png differ diff --git a/graphics/pokemon/camerupt/normal.pal b/graphics/pokemon/camerupt/normal.pal new file mode 100644 index 000000000..bd1096ff6 --- /dev/null +++ b/graphics/pokemon/camerupt/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +106 106 156 +24 24 24 +82 49 24 +189 82 41 +230 106 24 +238 172 74 +74 74 139 +131 131 189 +189 180 189 +0 0 0 +189 123 106 +238 238 205 +213 213 131 +172 172 90 +74 74 32 +255 255 255 diff --git a/graphics/pokemon/camerupt/shiny.pal b/graphics/pokemon/camerupt/shiny.pal new file mode 100644 index 000000000..c402d68dd --- /dev/null +++ b/graphics/pokemon/camerupt/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +106 106 156 +41 41 24 +41 41 57 +57 65 82 +115 106 123 +148 139 156 +222 172 74 +255 246 115 +222 213 222 +0 0 0 +197 139 57 +255 255 255 +238 189 156 +197 148 115 +115 74 49 +255 255 255 diff --git a/graphics/pokemon/carvanha/back.png b/graphics/pokemon/carvanha/back.png new file mode 100644 index 000000000..cef8c25dd Binary files /dev/null and b/graphics/pokemon/carvanha/back.png differ diff --git a/graphics/pokemon/carvanha/footprint.png b/graphics/pokemon/carvanha/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/carvanha/footprint.png differ diff --git a/graphics/pokemon/carvanha/front.png b/graphics/pokemon/carvanha/front.png new file mode 100644 index 000000000..f67f56cc7 Binary files /dev/null and b/graphics/pokemon/carvanha/front.png differ diff --git a/graphics/pokemon/carvanha/icon.png b/graphics/pokemon/carvanha/icon.png new file mode 100644 index 000000000..6b0d48a8a Binary files /dev/null and b/graphics/pokemon/carvanha/icon.png differ diff --git a/graphics/pokemon/carvanha/normal.pal b/graphics/pokemon/carvanha/normal.pal new file mode 100644 index 000000000..fbe24d28b --- /dev/null +++ b/graphics/pokemon/carvanha/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +156 131 213 +41 41 90 +172 197 255 +98 74 57 +49 74 156 +65 123 189 +98 164 222 +189 57 57 +246 57 57 +255 131 131 +205 148 41 +238 189 41 +255 205 82 +123 57 57 +0 0 0 +255 255 255 diff --git a/graphics/pokemon/carvanha/shiny.pal b/graphics/pokemon/carvanha/shiny.pal new file mode 100644 index 000000000..0e0cb9268 --- /dev/null +++ b/graphics/pokemon/carvanha/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +156 131 213 +41 41 90 +172 197 255 +98 74 57 +123 156 24 +156 189 57 +189 222 90 +49 148 131 +82 180 164 +115 213 197 +205 148 41 +238 189 41 +255 205 82 +0 98 82 +0 0 0 +255 255 255 diff --git a/graphics/pokemon/cascoon/back.png b/graphics/pokemon/cascoon/back.png new file mode 100644 index 000000000..fb6bc2955 Binary files /dev/null and b/graphics/pokemon/cascoon/back.png differ diff --git a/graphics/pokemon/cascoon/footprint.png b/graphics/pokemon/cascoon/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/cascoon/footprint.png differ diff --git a/graphics/pokemon/cascoon/front.png b/graphics/pokemon/cascoon/front.png new file mode 100644 index 000000000..474610aac Binary files /dev/null and b/graphics/pokemon/cascoon/front.png differ diff --git a/graphics/pokemon/cascoon/icon.png b/graphics/pokemon/cascoon/icon.png new file mode 100644 index 000000000..4d49506c0 Binary files /dev/null and b/graphics/pokemon/cascoon/icon.png differ diff --git a/graphics/pokemon/cascoon/normal.pal b/graphics/pokemon/cascoon/normal.pal new file mode 100644 index 000000000..05dceb931 --- /dev/null +++ b/graphics/pokemon/cascoon/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +197 246 197 +106 98 115 +139 139 148 +172 172 180 +0 0 0 +172 156 189 +222 180 230 +238 213 230 +238 230 255 +115 0 0 +246 197 0 +189 49 0 +148 148 0 +246 255 197 +0 0 0 +24 24 24 diff --git a/graphics/pokemon/cascoon/shiny.pal b/graphics/pokemon/cascoon/shiny.pal new file mode 100644 index 000000000..e8b230ed1 --- /dev/null +++ b/graphics/pokemon/cascoon/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +197 246 197 +49 98 16 +82 148 24 +115 180 57 +0 0 0 +139 205 74 +172 230 98 +213 255 148 +238 255 172 +115 0 0 +246 197 0 +189 49 0 +148 148 0 +246 255 197 +0 0 0 +24 24 24 diff --git a/graphics/pokemon/castform/footprint.png b/graphics/pokemon/castform/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/castform/footprint.png differ diff --git a/graphics/pokemon/castform/icon.png b/graphics/pokemon/castform/icon.png new file mode 100644 index 000000000..56c62ad07 Binary files /dev/null and b/graphics/pokemon/castform/icon.png differ diff --git a/graphics/pokemon/castform/normal/back.png b/graphics/pokemon/castform/normal/back.png new file mode 100644 index 000000000..6348a35e8 Binary files /dev/null and b/graphics/pokemon/castform/normal/back.png differ diff --git a/graphics/pokemon/castform/normal/front.png b/graphics/pokemon/castform/normal/front.png new file mode 100644 index 000000000..39bfaf426 Binary files /dev/null and b/graphics/pokemon/castform/normal/front.png differ diff --git a/graphics/pokemon/castform/normal/normal.pal b/graphics/pokemon/castform/normal/normal.pal new file mode 100644 index 000000000..3fe2b7692 --- /dev/null +++ b/graphics/pokemon/castform/normal/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +197 197 148 +90 82 82 +205 189 189 +230 222 222 +246 246 238 +0 0 0 +255 255 255 +222 222 246 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +148 148 148 +74 82 74 +255 255 255 +24 24 24 diff --git a/graphics/pokemon/castform/normal/shiny.pal b/graphics/pokemon/castform/normal/shiny.pal new file mode 100644 index 000000000..2fa401dd6 --- /dev/null +++ b/graphics/pokemon/castform/normal/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +197 197 148 +98 90 90 +205 164 189 +230 197 222 +255 222 255 +0 0 0 +255 246 65 +230 180 32 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +148 148 148 +74 82 74 +255 255 255 +24 24 24 diff --git a/graphics/pokemon/castform/rainy/back.png b/graphics/pokemon/castform/rainy/back.png new file mode 100644 index 000000000..70bad9130 Binary files /dev/null and b/graphics/pokemon/castform/rainy/back.png differ diff --git a/graphics/pokemon/castform/rainy/front.png b/graphics/pokemon/castform/rainy/front.png new file mode 100644 index 000000000..155374035 Binary files /dev/null and b/graphics/pokemon/castform/rainy/front.png differ diff --git a/graphics/pokemon/castform/rainy/normal.pal b/graphics/pokemon/castform/rainy/normal.pal new file mode 100644 index 000000000..914cdac62 --- /dev/null +++ b/graphics/pokemon/castform/rainy/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +197 197 148 +57 65 90 +98 115 189 +115 139 213 +148 180 205 +0 0 0 +205 238 246 +180 197 222 +139 205 222 +131 180 197 +82 98 131 +197 197 197 +148 139 148 +90 90 82 +255 255 255 +24 24 24 diff --git a/graphics/pokemon/castform/rainy/shiny.pal b/graphics/pokemon/castform/rainy/shiny.pal new file mode 100644 index 000000000..914cdac62 --- /dev/null +++ b/graphics/pokemon/castform/rainy/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +197 197 148 +57 65 90 +98 115 189 +115 139 213 +148 180 205 +0 0 0 +205 238 246 +180 197 222 +139 205 222 +131 180 197 +82 98 131 +197 197 197 +148 139 148 +90 90 82 +255 255 255 +24 24 24 diff --git a/graphics/pokemon/castform/snowy/back.png b/graphics/pokemon/castform/snowy/back.png new file mode 100644 index 000000000..b4f27cbe6 Binary files /dev/null and b/graphics/pokemon/castform/snowy/back.png differ diff --git a/graphics/pokemon/castform/snowy/front.png b/graphics/pokemon/castform/snowy/front.png new file mode 100644 index 000000000..a75bf647e Binary files /dev/null and b/graphics/pokemon/castform/snowy/front.png differ diff --git a/graphics/pokemon/castform/snowy/normal.pal b/graphics/pokemon/castform/snowy/normal.pal new file mode 100644 index 000000000..d1c64ac75 --- /dev/null +++ b/graphics/pokemon/castform/snowy/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +197 197 148 +41 82 57 +123 82 189 +139 115 213 +148 180 205 +0 0 0 +197 180 255 +156 156 197 +139 205 172 +115 164 139 +98 74 115 +189 230 230 +82 115 106 +74 82 74 +255 255 255 +24 24 24 diff --git a/graphics/pokemon/castform/snowy/shiny.pal b/graphics/pokemon/castform/snowy/shiny.pal new file mode 100644 index 000000000..d1c64ac75 --- /dev/null +++ b/graphics/pokemon/castform/snowy/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +197 197 148 +41 82 57 +123 82 189 +139 115 213 +148 180 205 +0 0 0 +197 180 255 +156 156 197 +139 205 172 +115 164 139 +98 74 115 +189 230 230 +82 115 106 +74 82 74 +255 255 255 +24 24 24 diff --git a/graphics/pokemon/castform/sunny/back.png b/graphics/pokemon/castform/sunny/back.png new file mode 100644 index 000000000..83b27298a Binary files /dev/null and b/graphics/pokemon/castform/sunny/back.png differ diff --git a/graphics/pokemon/castform/sunny/front.png b/graphics/pokemon/castform/sunny/front.png new file mode 100644 index 000000000..7e14f9892 Binary files /dev/null and b/graphics/pokemon/castform/sunny/front.png differ diff --git a/graphics/pokemon/castform/sunny/normal.pal b/graphics/pokemon/castform/sunny/normal.pal new file mode 100644 index 000000000..af0cfbb93 --- /dev/null +++ b/graphics/pokemon/castform/sunny/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +197 197 148 +98 49 41 +205 90 74 +238 123 74 +255 156 65 +0 0 0 +255 246 106 +230 213 106 +255 156 98 +213 131 74 +148 90 65 +213 205 230 +0 0 0 +90 90 82 +255 255 255 +24 24 24 diff --git a/graphics/pokemon/castform/sunny/shiny.pal b/graphics/pokemon/castform/sunny/shiny.pal new file mode 100644 index 000000000..af0cfbb93 --- /dev/null +++ b/graphics/pokemon/castform/sunny/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +197 197 148 +98 49 41 +205 90 74 +238 123 74 +255 156 65 +0 0 0 +255 246 106 +230 213 106 +255 156 98 +213 131 74 +148 90 65 +213 205 230 +0 0 0 +90 90 82 +255 255 255 +24 24 24 diff --git a/graphics/pokemon/caterpie/back.png b/graphics/pokemon/caterpie/back.png new file mode 100644 index 000000000..801748d1c Binary files /dev/null and b/graphics/pokemon/caterpie/back.png differ diff --git a/graphics/pokemon/caterpie/footprint.png b/graphics/pokemon/caterpie/footprint.png new file mode 100644 index 000000000..c1c0058e7 Binary files /dev/null and b/graphics/pokemon/caterpie/footprint.png differ diff --git a/graphics/pokemon/caterpie/front.png b/graphics/pokemon/caterpie/front.png new file mode 100644 index 000000000..b67875094 Binary files /dev/null and b/graphics/pokemon/caterpie/front.png differ diff --git a/graphics/pokemon/caterpie/icon.png b/graphics/pokemon/caterpie/icon.png new file mode 100644 index 000000000..be20669c3 Binary files /dev/null and b/graphics/pokemon/caterpie/icon.png differ diff --git a/graphics/pokemon/caterpie/normal.pal b/graphics/pokemon/caterpie/normal.pal new file mode 100644 index 000000000..f01008218 --- /dev/null +++ b/graphics/pokemon/caterpie/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +238 222 255 +238 238 123 +213 205 98 +255 172 115 +238 123 49 +197 65 65 +123 98 57 +189 255 115 +156 213 74 +123 156 98 +82 98 41 +255 0 255 +115 115 115 +16 16 16 diff --git a/graphics/pokemon/caterpie/shiny.pal b/graphics/pokemon/caterpie/shiny.pal new file mode 100644 index 000000000..604283c2c --- /dev/null +++ b/graphics/pokemon/caterpie/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +246 238 115 +230 238 123 +213 205 98 +255 172 115 +238 123 49 +197 98 98 +172 98 57 +255 255 123 +246 222 115 +222 180 57 +139 106 41 +255 0 255 +131 131 131 +16 16 16 diff --git a/graphics/pokemon/celebi/back.png b/graphics/pokemon/celebi/back.png new file mode 100644 index 000000000..c43e455dc Binary files /dev/null and b/graphics/pokemon/celebi/back.png differ diff --git a/graphics/pokemon/celebi/footprint.png b/graphics/pokemon/celebi/footprint.png new file mode 100644 index 000000000..11aa4301c Binary files /dev/null and b/graphics/pokemon/celebi/footprint.png differ diff --git a/graphics/pokemon/celebi/front.png b/graphics/pokemon/celebi/front.png new file mode 100644 index 000000000..1717f2561 Binary files /dev/null and b/graphics/pokemon/celebi/front.png differ diff --git a/graphics/pokemon/celebi/icon.png b/graphics/pokemon/celebi/icon.png new file mode 100644 index 000000000..245d580f7 Binary files /dev/null and b/graphics/pokemon/celebi/icon.png differ diff --git a/graphics/pokemon/celebi/normal.pal b/graphics/pokemon/celebi/normal.pal new file mode 100644 index 000000000..aed1b3ec2 --- /dev/null +++ b/graphics/pokemon/celebi/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +238 255 213 +197 238 164 +123 213 115 +65 189 65 +32 139 32 +255 255 255 +172 238 255 +115 189 230 +57 139 205 +0 98 180 +255 0 255 +180 180 189 +106 115 131 +16 16 16 diff --git a/graphics/pokemon/celebi/shiny.pal b/graphics/pokemon/celebi/shiny.pal new file mode 100644 index 000000000..b90d6ed43 --- /dev/null +++ b/graphics/pokemon/celebi/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 230 +255 238 230 +255 205 197 +238 164 156 +222 106 131 +172 57 65 +255 255 255 +189 222 238 +106 213 90 +74 180 65 +41 148 41 +222 32 222 +180 180 189 +106 115 131 +49 49 49 diff --git a/graphics/pokemon/chansey/back.png b/graphics/pokemon/chansey/back.png new file mode 100644 index 000000000..bea131b45 Binary files /dev/null and b/graphics/pokemon/chansey/back.png differ diff --git a/graphics/pokemon/chansey/footprint.png b/graphics/pokemon/chansey/footprint.png new file mode 100644 index 000000000..17893b9fb Binary files /dev/null and b/graphics/pokemon/chansey/footprint.png differ diff --git a/graphics/pokemon/chansey/front.png b/graphics/pokemon/chansey/front.png new file mode 100644 index 000000000..0f9db97dc Binary files /dev/null and b/graphics/pokemon/chansey/front.png differ diff --git a/graphics/pokemon/chansey/icon.png b/graphics/pokemon/chansey/icon.png new file mode 100644 index 000000000..4083185b0 Binary files /dev/null and b/graphics/pokemon/chansey/icon.png differ diff --git a/graphics/pokemon/chansey/normal.pal b/graphics/pokemon/chansey/normal.pal new file mode 100644 index 000000000..3a740dba0 --- /dev/null +++ b/graphics/pokemon/chansey/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +246 238 164 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +16 16 16 +255 172 172 +255 131 90 +230 82 49 +255 230 230 +255 213 213 +238 172 189 +246 115 115 +164 57 41 diff --git a/graphics/pokemon/chansey/shiny.pal b/graphics/pokemon/chansey/shiny.pal new file mode 100644 index 000000000..e8107f8d5 --- /dev/null +++ b/graphics/pokemon/chansey/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +246 238 164 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +16 16 16 +180 238 106 +148 213 82 +106 189 49 +255 255 230 +255 238 205 +246 205 139 +230 172 98 +123 90 16 diff --git a/graphics/pokemon/charizard/back.png b/graphics/pokemon/charizard/back.png new file mode 100644 index 000000000..183359501 Binary files /dev/null and b/graphics/pokemon/charizard/back.png differ diff --git a/graphics/pokemon/charizard/footprint.png b/graphics/pokemon/charizard/footprint.png new file mode 100644 index 000000000..e69f38392 Binary files /dev/null and b/graphics/pokemon/charizard/footprint.png differ diff --git a/graphics/pokemon/charizard/front.png b/graphics/pokemon/charizard/front.png new file mode 100644 index 000000000..68653c55b Binary files /dev/null and b/graphics/pokemon/charizard/front.png differ diff --git a/graphics/pokemon/charizard/icon.png b/graphics/pokemon/charizard/icon.png new file mode 100644 index 000000000..9c8140887 Binary files /dev/null and b/graphics/pokemon/charizard/icon.png differ diff --git a/graphics/pokemon/charizard/normal.pal b/graphics/pokemon/charizard/normal.pal new file mode 100644 index 000000000..3823f2f28 --- /dev/null +++ b/graphics/pokemon/charizard/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +123 213 156 +246 106 65 +222 197 131 +41 172 189 +32 123 148 +24 82 115 +255 230 156 +246 213 139 +246 189 32 +16 16 16 +255 197 98 +255 148 65 +213 106 82 +172 65 0 +213 213 213 +255 255 255 diff --git a/graphics/pokemon/charizard/shiny.pal b/graphics/pokemon/charizard/shiny.pal new file mode 100644 index 000000000..6a7a91f87 --- /dev/null +++ b/graphics/pokemon/charizard/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +230 98 49 +189 189 106 +230 98 106 +197 65 74 +156 32 41 +0 0 0 +222 213 131 +255 164 82 +16 16 16 +131 164 156 +98 131 131 +65 90 90 +32 57 57 +213 213 213 +255 255 255 diff --git a/graphics/pokemon/charmander/back.png b/graphics/pokemon/charmander/back.png new file mode 100644 index 000000000..c37155339 Binary files /dev/null and b/graphics/pokemon/charmander/back.png differ diff --git a/graphics/pokemon/charmander/footprint.png b/graphics/pokemon/charmander/footprint.png new file mode 100644 index 000000000..2f7723621 Binary files /dev/null and b/graphics/pokemon/charmander/footprint.png differ diff --git a/graphics/pokemon/charmander/front.png b/graphics/pokemon/charmander/front.png new file mode 100644 index 000000000..7235c104f Binary files /dev/null and b/graphics/pokemon/charmander/front.png differ diff --git a/graphics/pokemon/charmander/icon.png b/graphics/pokemon/charmander/icon.png new file mode 100644 index 000000000..c3fa4fde4 Binary files /dev/null and b/graphics/pokemon/charmander/icon.png differ diff --git a/graphics/pokemon/charmander/normal.pal b/graphics/pokemon/charmander/normal.pal new file mode 100644 index 000000000..223adef4c --- /dev/null +++ b/graphics/pokemon/charmander/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +16 16 16 +180 180 180 +255 255 255 +255 230 156 +255 213 106 +230 172 90 +246 98 0 +255 164 8 +255 197 98 +255 148 65 +222 74 74 +156 65 24 +24 74 49 +65 164 123 +148 205 222 diff --git a/graphics/pokemon/charmander/shiny.pal b/graphics/pokemon/charmander/shiny.pal new file mode 100644 index 000000000..aea29571f --- /dev/null +++ b/graphics/pokemon/charmander/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +16 16 16 +180 180 180 +255 255 255 +255 255 180 +255 230 148 +246 197 115 +213 82 8 +246 123 8 +255 246 90 +255 213 49 +222 164 8 +131 82 16 +24 74 49 +65 164 123 +148 205 222 diff --git a/graphics/pokemon/charmeleon/back.png b/graphics/pokemon/charmeleon/back.png new file mode 100644 index 000000000..84f2ee1e3 Binary files /dev/null and b/graphics/pokemon/charmeleon/back.png differ diff --git a/graphics/pokemon/charmeleon/footprint.png b/graphics/pokemon/charmeleon/footprint.png new file mode 100644 index 000000000..6ec15ee20 Binary files /dev/null and b/graphics/pokemon/charmeleon/footprint.png differ diff --git a/graphics/pokemon/charmeleon/front.png b/graphics/pokemon/charmeleon/front.png new file mode 100644 index 000000000..5cc6615a4 Binary files /dev/null and b/graphics/pokemon/charmeleon/front.png differ diff --git a/graphics/pokemon/charmeleon/icon.png b/graphics/pokemon/charmeleon/icon.png new file mode 100644 index 000000000..0f1550d0c Binary files /dev/null and b/graphics/pokemon/charmeleon/icon.png differ diff --git a/graphics/pokemon/charmeleon/normal.pal b/graphics/pokemon/charmeleon/normal.pal new file mode 100644 index 000000000..f79c4cd97 --- /dev/null +++ b/graphics/pokemon/charmeleon/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +131 131 131 +8 98 197 +255 230 156 +255 213 106 +230 172 90 +246 115 0 +255 164 24 +255 197 74 +255 172 115 +255 106 74 +213 74 74 +148 49 16 +197 205 205 +16 16 16 diff --git a/graphics/pokemon/charmeleon/shiny.pal b/graphics/pokemon/charmeleon/shiny.pal new file mode 100644 index 000000000..6fa23cf00 --- /dev/null +++ b/graphics/pokemon/charmeleon/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +106 106 106 +8 98 197 +255 246 180 +246 230 139 +222 197 106 +222 74 49 +238 115 49 +255 172 57 +255 238 82 +255 213 74 +230 156 16 +148 82 24 +197 205 205 +16 16 16 diff --git a/graphics/pokemon/chikorita/back.png b/graphics/pokemon/chikorita/back.png new file mode 100644 index 000000000..18c3569bf Binary files /dev/null and b/graphics/pokemon/chikorita/back.png differ diff --git a/graphics/pokemon/chikorita/footprint.png b/graphics/pokemon/chikorita/footprint.png new file mode 100644 index 000000000..3ac4abd9f Binary files /dev/null and b/graphics/pokemon/chikorita/footprint.png differ diff --git a/graphics/pokemon/chikorita/front.png b/graphics/pokemon/chikorita/front.png new file mode 100644 index 000000000..80f5dc9ab Binary files /dev/null and b/graphics/pokemon/chikorita/front.png differ diff --git a/graphics/pokemon/chikorita/icon.png b/graphics/pokemon/chikorita/icon.png new file mode 100644 index 000000000..f9bc40d0e Binary files /dev/null and b/graphics/pokemon/chikorita/icon.png differ diff --git a/graphics/pokemon/chikorita/normal.pal b/graphics/pokemon/chikorita/normal.pal new file mode 100644 index 000000000..9bca4c3eb --- /dev/null +++ b/graphics/pokemon/chikorita/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +222 255 131 +205 238 98 +156 197 8 +74 115 0 +98 172 74 +57 131 41 +0 90 0 +0 57 0 +205 205 205 +156 156 156 +98 98 98 +16 16 16 +213 131 82 +148 0 0 diff --git a/graphics/pokemon/chikorita/shiny.pal b/graphics/pokemon/chikorita/shiny.pal new file mode 100644 index 000000000..d7ecae6fb --- /dev/null +++ b/graphics/pokemon/chikorita/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 255 148 +246 238 90 +205 197 57 +131 106 16 +246 189 106 +213 156 74 +164 98 24 +90 65 41 +205 205 205 +156 156 156 +156 131 74 +16 16 16 +222 156 115 +172 57 57 diff --git a/graphics/pokemon/chimecho/back.png b/graphics/pokemon/chimecho/back.png new file mode 100644 index 000000000..7a3fedacb Binary files /dev/null and b/graphics/pokemon/chimecho/back.png differ diff --git a/graphics/pokemon/chimecho/footprint.png b/graphics/pokemon/chimecho/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/chimecho/footprint.png differ diff --git a/graphics/pokemon/chimecho/front.png b/graphics/pokemon/chimecho/front.png new file mode 100644 index 000000000..534bec4d7 Binary files /dev/null and b/graphics/pokemon/chimecho/front.png differ diff --git a/graphics/pokemon/chimecho/icon.png b/graphics/pokemon/chimecho/icon.png new file mode 100644 index 000000000..11b2d93b2 Binary files /dev/null and b/graphics/pokemon/chimecho/icon.png differ diff --git a/graphics/pokemon/chimecho/normal.pal b/graphics/pokemon/chimecho/normal.pal new file mode 100644 index 000000000..9dd34b7c4 --- /dev/null +++ b/graphics/pokemon/chimecho/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 197 148 +0 0 0 +255 123 148 +156 197 230 +197 230 255 +115 148 180 +255 255 255 +164 164 164 +255 230 148 +255 213 90 +65 74 106 +197 74 98 +123 41 65 +246 90 115 +246 189 90 +172 115 74 diff --git a/graphics/pokemon/chimecho/shiny.pal b/graphics/pokemon/chimecho/shiny.pal new file mode 100644 index 000000000..44983802b --- /dev/null +++ b/graphics/pokemon/chimecho/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 197 148 +0 0 0 +255 189 90 +148 230 148 +205 255 172 +98 189 98 +255 255 255 +164 164 164 +255 230 148 +255 213 90 +49 123 74 +197 106 24 +148 74 0 +255 148 24 +246 189 90 +172 115 74 diff --git a/graphics/pokemon/chinchou/back.png b/graphics/pokemon/chinchou/back.png new file mode 100644 index 000000000..a3b11b2dc Binary files /dev/null and b/graphics/pokemon/chinchou/back.png differ diff --git a/graphics/pokemon/chinchou/footprint.png b/graphics/pokemon/chinchou/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/chinchou/footprint.png differ diff --git a/graphics/pokemon/chinchou/front.png b/graphics/pokemon/chinchou/front.png new file mode 100644 index 000000000..7bb954382 Binary files /dev/null and b/graphics/pokemon/chinchou/front.png differ diff --git a/graphics/pokemon/chinchou/icon.png b/graphics/pokemon/chinchou/icon.png new file mode 100644 index 000000000..1b585204b Binary files /dev/null and b/graphics/pokemon/chinchou/icon.png differ diff --git a/graphics/pokemon/chinchou/normal.pal b/graphics/pokemon/chinchou/normal.pal new file mode 100644 index 000000000..fc382ddbb --- /dev/null +++ b/graphics/pokemon/chinchou/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +205 230 255 +164 205 255 +139 156 255 +98 123 213 +65 90 172 +0 57 115 +255 246 172 +255 222 123 +213 180 90 +180 139 57 +106 57 0 +139 98 24 +164 0 0 +16 16 16 diff --git a/graphics/pokemon/chinchou/shiny.pal b/graphics/pokemon/chinchou/shiny.pal new file mode 100644 index 000000000..babb78178 --- /dev/null +++ b/graphics/pokemon/chinchou/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +148 238 255 +123 222 255 +82 180 255 +41 139 222 +8 90 180 +24 57 131 +213 255 115 +164 246 65 +123 205 74 +90 172 49 +57 139 24 +32 82 24 +148 57 0 +16 16 16 diff --git a/graphics/pokemon/clamperl/back.png b/graphics/pokemon/clamperl/back.png new file mode 100644 index 000000000..5b1324473 Binary files /dev/null and b/graphics/pokemon/clamperl/back.png differ diff --git a/graphics/pokemon/clamperl/footprint.png b/graphics/pokemon/clamperl/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/clamperl/footprint.png differ diff --git a/graphics/pokemon/clamperl/front.png b/graphics/pokemon/clamperl/front.png new file mode 100644 index 000000000..1cfe4d4f8 Binary files /dev/null and b/graphics/pokemon/clamperl/front.png differ diff --git a/graphics/pokemon/clamperl/icon.png b/graphics/pokemon/clamperl/icon.png new file mode 100644 index 000000000..fabcd9641 Binary files /dev/null and b/graphics/pokemon/clamperl/icon.png differ diff --git a/graphics/pokemon/clamperl/normal.pal b/graphics/pokemon/clamperl/normal.pal new file mode 100644 index 000000000..84d730399 --- /dev/null +++ b/graphics/pokemon/clamperl/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 246 156 +255 255 255 +205 213 213 +139 164 148 +197 213 246 +139 189 205 +74 139 131 +41 65 131 +98 139 246 +49 90 205 +0 41 82 +123 189 255 +0 0 0 +255 123 213 +213 115 131 +115 74 90 diff --git a/graphics/pokemon/clamperl/shiny.pal b/graphics/pokemon/clamperl/shiny.pal new file mode 100644 index 000000000..d479da971 --- /dev/null +++ b/graphics/pokemon/clamperl/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 246 156 +255 255 255 +205 213 213 +139 164 148 +197 213 246 +139 189 205 +74 139 131 +41 65 131 +197 65 180 +148 8 123 +0 41 82 +222 131 205 +0 0 0 +255 230 156 +230 172 90 +115 74 90 diff --git a/graphics/pokemon/claydol/back.png b/graphics/pokemon/claydol/back.png new file mode 100644 index 000000000..9fdd6e0c2 Binary files /dev/null and b/graphics/pokemon/claydol/back.png differ diff --git a/graphics/pokemon/claydol/footprint.png b/graphics/pokemon/claydol/footprint.png new file mode 100644 index 000000000..2f0bca1ac Binary files /dev/null and b/graphics/pokemon/claydol/footprint.png differ diff --git a/graphics/pokemon/claydol/front.png b/graphics/pokemon/claydol/front.png new file mode 100644 index 000000000..ea8e2cf74 Binary files /dev/null and b/graphics/pokemon/claydol/front.png differ diff --git a/graphics/pokemon/claydol/icon.png b/graphics/pokemon/claydol/icon.png new file mode 100644 index 000000000..3f3f04ead Binary files /dev/null and b/graphics/pokemon/claydol/icon.png differ diff --git a/graphics/pokemon/claydol/normal.pal b/graphics/pokemon/claydol/normal.pal new file mode 100644 index 000000000..cd7f876c5 --- /dev/null +++ b/graphics/pokemon/claydol/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 255 255 +82 82 41 +106 106 65 +148 156 123 +98 98 24 +156 148 189 +197 197 213 +255 255 255 +255 197 164 +246 123 90 +172 90 0 +255 213 115 +180 164 123 +255 255 255 +255 255 255 +106 255 106 diff --git a/graphics/pokemon/claydol/shiny.pal b/graphics/pokemon/claydol/shiny.pal new file mode 100644 index 000000000..e4203b19b --- /dev/null +++ b/graphics/pokemon/claydol/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 255 255 +82 82 41 +106 106 65 +148 156 123 +98 98 24 +156 148 189 +197 197 213 +255 255 255 +246 238 90 +246 205 57 +197 156 16 +255 213 115 +180 164 123 +255 255 255 +255 255 255 +106 255 106 diff --git a/graphics/pokemon/clefable/back.png b/graphics/pokemon/clefable/back.png new file mode 100644 index 000000000..42592b8d7 Binary files /dev/null and b/graphics/pokemon/clefable/back.png differ diff --git a/graphics/pokemon/clefable/footprint.png b/graphics/pokemon/clefable/footprint.png new file mode 100644 index 000000000..5ff3e19a1 Binary files /dev/null and b/graphics/pokemon/clefable/footprint.png differ diff --git a/graphics/pokemon/clefable/front.png b/graphics/pokemon/clefable/front.png new file mode 100644 index 000000000..81d7456a1 Binary files /dev/null and b/graphics/pokemon/clefable/front.png differ diff --git a/graphics/pokemon/clefable/icon.png b/graphics/pokemon/clefable/icon.png new file mode 100644 index 000000000..4078e2854 Binary files /dev/null and b/graphics/pokemon/clefable/icon.png differ diff --git a/graphics/pokemon/clefable/normal.pal b/graphics/pokemon/clefable/normal.pal new file mode 100644 index 000000000..46e74099c --- /dev/null +++ b/graphics/pokemon/clefable/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +197 197 197 +148 148 148 +255 172 172 +255 197 180 +238 148 148 +222 98 98 +156 90 90 +16 16 16 +255 106 41 +222 57 90 +123 106 98 +82 65 57 +74 65 65 +255 0 255 diff --git a/graphics/pokemon/clefable/shiny.pal b/graphics/pokemon/clefable/shiny.pal new file mode 100644 index 000000000..106d78ed4 --- /dev/null +++ b/graphics/pokemon/clefable/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +197 197 197 +148 148 148 +255 213 189 +255 222 246 +246 189 180 +230 156 131 +172 106 98 +16 16 16 +255 106 41 +222 32 16 +123 222 90 +82 180 49 +41 139 8 +255 0 255 diff --git a/graphics/pokemon/clefairy/back.png b/graphics/pokemon/clefairy/back.png new file mode 100644 index 000000000..6720a7865 Binary files /dev/null and b/graphics/pokemon/clefairy/back.png differ diff --git a/graphics/pokemon/clefairy/footprint.png b/graphics/pokemon/clefairy/footprint.png new file mode 100644 index 000000000..85c25a5dc Binary files /dev/null and b/graphics/pokemon/clefairy/footprint.png differ diff --git a/graphics/pokemon/clefairy/front.png b/graphics/pokemon/clefairy/front.png new file mode 100644 index 000000000..4684b7df6 Binary files /dev/null and b/graphics/pokemon/clefairy/front.png differ diff --git a/graphics/pokemon/clefairy/icon.png b/graphics/pokemon/clefairy/icon.png new file mode 100644 index 000000000..7895bb93c Binary files /dev/null and b/graphics/pokemon/clefairy/icon.png differ diff --git a/graphics/pokemon/clefairy/normal.pal b/graphics/pokemon/clefairy/normal.pal new file mode 100644 index 000000000..78c34d19c --- /dev/null +++ b/graphics/pokemon/clefairy/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +255 255 255 +197 197 197 +131 131 131 +238 90 74 +180 57 41 +205 131 82 +172 98 49 +156 82 32 +115 41 8 +255 0 255 +255 197 164 +255 156 131 +230 131 123 +156 90 82 +16 16 16 diff --git a/graphics/pokemon/clefairy/shiny.pal b/graphics/pokemon/clefairy/shiny.pal new file mode 100644 index 000000000..e61e335f8 --- /dev/null +++ b/graphics/pokemon/clefairy/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +255 255 255 +197 197 197 +148 148 148 +238 90 74 +180 57 41 +123 222 90 +82 180 49 +41 139 8 +0 98 0 +255 0 255 +255 222 246 +246 189 180 +230 156 131 +172 106 98 +16 16 16 diff --git a/graphics/pokemon/cleffa/back.png b/graphics/pokemon/cleffa/back.png new file mode 100644 index 000000000..b110614e1 Binary files /dev/null and b/graphics/pokemon/cleffa/back.png differ diff --git a/graphics/pokemon/cleffa/footprint.png b/graphics/pokemon/cleffa/footprint.png new file mode 100644 index 000000000..4bf9339ae Binary files /dev/null and b/graphics/pokemon/cleffa/footprint.png differ diff --git a/graphics/pokemon/cleffa/front.png b/graphics/pokemon/cleffa/front.png new file mode 100644 index 000000000..82b6c103b Binary files /dev/null and b/graphics/pokemon/cleffa/front.png differ diff --git a/graphics/pokemon/cleffa/icon.png b/graphics/pokemon/cleffa/icon.png new file mode 100644 index 000000000..e866394f0 Binary files /dev/null and b/graphics/pokemon/cleffa/icon.png differ diff --git a/graphics/pokemon/cleffa/normal.pal b/graphics/pokemon/cleffa/normal.pal new file mode 100644 index 000000000..757446357 --- /dev/null +++ b/graphics/pokemon/cleffa/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 205 156 +255 164 131 +222 115 65 +197 74 0 +98 49 32 +213 164 41 +164 106 0 +123 74 0 +90 49 0 +255 0 255 +205 0 0 +156 0 0 +82 82 82 +16 16 16 diff --git a/graphics/pokemon/cleffa/shiny.pal b/graphics/pokemon/cleffa/shiny.pal new file mode 100644 index 000000000..1af070d66 --- /dev/null +++ b/graphics/pokemon/cleffa/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 222 222 +255 189 197 +238 123 148 +180 82 82 +32 98 0 +123 222 90 +82 180 49 +41 139 8 +0 98 0 +255 0 255 +205 0 0 +156 0 0 +82 82 82 +16 16 16 diff --git a/graphics/pokemon/cloyster/back.png b/graphics/pokemon/cloyster/back.png new file mode 100644 index 000000000..fa69b7b59 Binary files /dev/null and b/graphics/pokemon/cloyster/back.png differ diff --git a/graphics/pokemon/cloyster/footprint.png b/graphics/pokemon/cloyster/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/cloyster/footprint.png differ diff --git a/graphics/pokemon/cloyster/front.png b/graphics/pokemon/cloyster/front.png new file mode 100644 index 000000000..7568a23fc Binary files /dev/null and b/graphics/pokemon/cloyster/front.png differ diff --git a/graphics/pokemon/cloyster/icon.png b/graphics/pokemon/cloyster/icon.png new file mode 100644 index 000000000..71ca401c4 Binary files /dev/null and b/graphics/pokemon/cloyster/icon.png differ diff --git a/graphics/pokemon/cloyster/normal.pal b/graphics/pokemon/cloyster/normal.pal new file mode 100644 index 000000000..7eeb9f47e --- /dev/null +++ b/graphics/pokemon/cloyster/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +255 0 255 +213 172 230 +172 123 189 +98 123 115 +74 32 82 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +213 222 197 +180 189 156 +131 139 106 +74 82 65 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/cloyster/shiny.pal b/graphics/pokemon/cloyster/shiny.pal new file mode 100644 index 000000000..8a0d5bd4b --- /dev/null +++ b/graphics/pokemon/cloyster/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +255 0 255 +115 164 213 +74 123 172 +32 82 131 +0 41 90 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +197 197 197 +148 148 148 +98 98 98 +65 65 65 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/combusken/back.png b/graphics/pokemon/combusken/back.png new file mode 100644 index 000000000..6c6d094dd Binary files /dev/null and b/graphics/pokemon/combusken/back.png differ diff --git a/graphics/pokemon/combusken/footprint.png b/graphics/pokemon/combusken/footprint.png new file mode 100644 index 000000000..6b66429d8 Binary files /dev/null and b/graphics/pokemon/combusken/footprint.png differ diff --git a/graphics/pokemon/combusken/front.png b/graphics/pokemon/combusken/front.png new file mode 100644 index 000000000..5852709f3 Binary files /dev/null and b/graphics/pokemon/combusken/front.png differ diff --git a/graphics/pokemon/combusken/icon.png b/graphics/pokemon/combusken/icon.png new file mode 100644 index 000000000..3cdd0f5c1 Binary files /dev/null and b/graphics/pokemon/combusken/icon.png differ diff --git a/graphics/pokemon/combusken/normal.pal b/graphics/pokemon/combusken/normal.pal new file mode 100644 index 000000000..7327dbece --- /dev/null +++ b/graphics/pokemon/combusken/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +255 222 156 +213 189 148 +180 148 123 +156 123 57 +255 213 98 +246 180 82 +197 148 57 +123 106 90 +139 57 49 +255 255 255 +255 164 57 +255 106 57 +213 90 57 +90 57 49 +16 16 16 diff --git a/graphics/pokemon/combusken/shiny.pal b/graphics/pokemon/combusken/shiny.pal new file mode 100644 index 000000000..6fbb74b08 --- /dev/null +++ b/graphics/pokemon/combusken/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +255 255 255 +222 180 131 +172 123 90 +123 90 74 +255 238 172 +255 213 98 +238 156 49 +123 106 90 +106 41 32 +255 255 255 +230 106 49 +197 74 49 +139 57 49 +90 57 49 +16 16 16 diff --git a/graphics/pokemon/corphish/back.png b/graphics/pokemon/corphish/back.png new file mode 100644 index 000000000..01d603778 Binary files /dev/null and b/graphics/pokemon/corphish/back.png differ diff --git a/graphics/pokemon/corphish/footprint.png b/graphics/pokemon/corphish/footprint.png new file mode 100644 index 000000000..f624724c7 Binary files /dev/null and b/graphics/pokemon/corphish/footprint.png differ diff --git a/graphics/pokemon/corphish/front.png b/graphics/pokemon/corphish/front.png new file mode 100644 index 000000000..f8a06a67c Binary files /dev/null and b/graphics/pokemon/corphish/front.png differ diff --git a/graphics/pokemon/corphish/icon.png b/graphics/pokemon/corphish/icon.png new file mode 100644 index 000000000..f14b262d2 Binary files /dev/null and b/graphics/pokemon/corphish/icon.png differ diff --git a/graphics/pokemon/corphish/normal.pal b/graphics/pokemon/corphish/normal.pal new file mode 100644 index 000000000..0fd4ea330 --- /dev/null +++ b/graphics/pokemon/corphish/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 123 16 +213 90 8 +172 82 8 +98 65 49 +246 238 197 +230 205 148 +205 172 106 +148 115 65 +255 213 90 +238 180 65 +255 197 65 +205 205 205 +131 131 131 +0 0 0 diff --git a/graphics/pokemon/corphish/shiny.pal b/graphics/pokemon/corphish/shiny.pal new file mode 100644 index 000000000..a3eb45805 --- /dev/null +++ b/graphics/pokemon/corphish/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 148 148 +213 106 106 +180 74 74 +139 41 41 +255 255 238 +255 222 148 +255 189 90 +213 148 65 +255 213 90 +255 205 205 +255 197 197 +205 205 205 +131 131 131 +0 0 0 diff --git a/graphics/pokemon/corsola/back.png b/graphics/pokemon/corsola/back.png new file mode 100644 index 000000000..d15f330fc Binary files /dev/null and b/graphics/pokemon/corsola/back.png differ diff --git a/graphics/pokemon/corsola/footprint.png b/graphics/pokemon/corsola/footprint.png new file mode 100644 index 000000000..bae0aaf92 Binary files /dev/null and b/graphics/pokemon/corsola/footprint.png differ diff --git a/graphics/pokemon/corsola/front.png b/graphics/pokemon/corsola/front.png new file mode 100644 index 000000000..550ddbbe3 Binary files /dev/null and b/graphics/pokemon/corsola/front.png differ diff --git a/graphics/pokemon/corsola/icon.png b/graphics/pokemon/corsola/icon.png new file mode 100644 index 000000000..dd2d2e82e Binary files /dev/null and b/graphics/pokemon/corsola/icon.png differ diff --git a/graphics/pokemon/corsola/normal.pal b/graphics/pokemon/corsola/normal.pal new file mode 100644 index 000000000..95c7616fe --- /dev/null +++ b/graphics/pokemon/corsola/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +222 222 222 +172 172 172 +131 131 139 +90 90 98 +255 213 222 +255 172 197 +230 106 139 +189 57 90 +139 16 16 +255 0 255 +255 0 255 +255 0 255 +189 57 90 +16 16 16 diff --git a/graphics/pokemon/corsola/shiny.pal b/graphics/pokemon/corsola/shiny.pal new file mode 100644 index 000000000..13daa4e26 --- /dev/null +++ b/graphics/pokemon/corsola/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +205 230 255 +164 189 222 +123 148 189 +74 98 156 +156 238 255 +123 205 255 +74 156 230 +41 106 197 +8 65 148 +255 0 255 +255 0 255 +255 0 255 +238 98 98 +16 16 16 diff --git a/graphics/pokemon/cradily/back.png b/graphics/pokemon/cradily/back.png new file mode 100644 index 000000000..338c7f0ba Binary files /dev/null and b/graphics/pokemon/cradily/back.png differ diff --git a/graphics/pokemon/cradily/footprint.png b/graphics/pokemon/cradily/footprint.png new file mode 100644 index 000000000..998229dc7 Binary files /dev/null and b/graphics/pokemon/cradily/footprint.png differ diff --git a/graphics/pokemon/cradily/front.png b/graphics/pokemon/cradily/front.png new file mode 100644 index 000000000..0bc94d6a3 Binary files /dev/null and b/graphics/pokemon/cradily/front.png differ diff --git a/graphics/pokemon/cradily/icon.png b/graphics/pokemon/cradily/icon.png new file mode 100644 index 000000000..ea57b45f1 Binary files /dev/null and b/graphics/pokemon/cradily/icon.png differ diff --git a/graphics/pokemon/cradily/normal.pal b/graphics/pokemon/cradily/normal.pal new file mode 100644 index 000000000..9167eb879 --- /dev/null +++ b/graphics/pokemon/cradily/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +148 230 123 +115 180 106 +82 131 90 +57 90 74 +255 213 172 +255 172 115 +246 106 32 +255 246 123 +255 222 41 +230 172 0 +213 213 213 +172 172 180 +180 82 74 +0 0 0 diff --git a/graphics/pokemon/cradily/shiny.pal b/graphics/pokemon/cradily/shiny.pal new file mode 100644 index 000000000..32a3b9e8f --- /dev/null +++ b/graphics/pokemon/cradily/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 180 189 +222 123 156 +189 90 123 +139 65 65 +255 213 172 +255 172 115 +246 106 32 +255 246 156 +255 230 41 +230 172 0 +213 213 213 +172 172 180 +180 82 74 +0 0 0 diff --git a/graphics/pokemon/crawdaunt/back.png b/graphics/pokemon/crawdaunt/back.png new file mode 100644 index 000000000..f96f2c488 Binary files /dev/null and b/graphics/pokemon/crawdaunt/back.png differ diff --git a/graphics/pokemon/crawdaunt/footprint.png b/graphics/pokemon/crawdaunt/footprint.png new file mode 100644 index 000000000..9169e2807 Binary files /dev/null and b/graphics/pokemon/crawdaunt/footprint.png differ diff --git a/graphics/pokemon/crawdaunt/front.png b/graphics/pokemon/crawdaunt/front.png new file mode 100644 index 000000000..88ee71100 Binary files /dev/null and b/graphics/pokemon/crawdaunt/front.png differ diff --git a/graphics/pokemon/crawdaunt/icon.png b/graphics/pokemon/crawdaunt/icon.png new file mode 100644 index 000000000..605482d25 Binary files /dev/null and b/graphics/pokemon/crawdaunt/icon.png differ diff --git a/graphics/pokemon/crawdaunt/normal.pal b/graphics/pokemon/crawdaunt/normal.pal new file mode 100644 index 000000000..7fe04e329 --- /dev/null +++ b/graphics/pokemon/crawdaunt/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +230 106 0 +189 65 0 +139 57 32 +246 238 197 +230 205 148 +197 164 98 +148 115 65 +255 230 90 +246 172 49 +82 156 246 +65 115 172 +197 197 230 +24 65 106 +0 0 0 diff --git a/graphics/pokemon/crawdaunt/shiny.pal b/graphics/pokemon/crawdaunt/shiny.pal new file mode 100644 index 000000000..21b58b2a0 --- /dev/null +++ b/graphics/pokemon/crawdaunt/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +238 148 0 +205 106 0 +156 74 32 +238 238 238 +222 222 222 +180 189 180 +131 139 131 +255 238 139 +246 197 41 +222 156 238 +164 90 189 +222 156 238 +123 65 139 +0 0 0 diff --git a/graphics/pokemon/crobat/back.png b/graphics/pokemon/crobat/back.png new file mode 100644 index 000000000..d14ecec7b Binary files /dev/null and b/graphics/pokemon/crobat/back.png differ diff --git a/graphics/pokemon/crobat/footprint.png b/graphics/pokemon/crobat/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/crobat/footprint.png differ diff --git a/graphics/pokemon/crobat/front.png b/graphics/pokemon/crobat/front.png new file mode 100644 index 000000000..b61cdebe7 Binary files /dev/null and b/graphics/pokemon/crobat/front.png differ diff --git a/graphics/pokemon/crobat/icon.png b/graphics/pokemon/crobat/icon.png new file mode 100644 index 000000000..817951dd0 Binary files /dev/null and b/graphics/pokemon/crobat/icon.png differ diff --git a/graphics/pokemon/crobat/normal.pal b/graphics/pokemon/crobat/normal.pal new file mode 100644 index 000000000..9c466e9e8 --- /dev/null +++ b/graphics/pokemon/crobat/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +230 139 246 +197 90 205 +156 57 180 +115 24 148 +255 0 255 +255 0 255 +74 156 189 +32 106 148 +16 74 115 +255 213 0 +213 148 0 +164 164 164 +106 106 106 +16 16 16 diff --git a/graphics/pokemon/crobat/shiny.pal b/graphics/pokemon/crobat/shiny.pal new file mode 100644 index 000000000..8f22fd4b0 --- /dev/null +++ b/graphics/pokemon/crobat/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 213 238 +246 180 197 +222 131 148 +164 74 106 +255 0 255 +255 0 255 +139 189 32 +74 139 0 +41 82 0 +255 213 0 +213 148 0 +164 164 164 +106 106 106 +16 16 16 diff --git a/graphics/pokemon/croconaw/back.png b/graphics/pokemon/croconaw/back.png new file mode 100644 index 000000000..991be60bc Binary files /dev/null and b/graphics/pokemon/croconaw/back.png differ diff --git a/graphics/pokemon/croconaw/footprint.png b/graphics/pokemon/croconaw/footprint.png new file mode 100644 index 000000000..43da8e68e Binary files /dev/null and b/graphics/pokemon/croconaw/footprint.png differ diff --git a/graphics/pokemon/croconaw/front.png b/graphics/pokemon/croconaw/front.png new file mode 100644 index 000000000..585be79f4 Binary files /dev/null and b/graphics/pokemon/croconaw/front.png differ diff --git a/graphics/pokemon/croconaw/icon.png b/graphics/pokemon/croconaw/icon.png new file mode 100644 index 000000000..6f57e5656 Binary files /dev/null and b/graphics/pokemon/croconaw/icon.png differ diff --git a/graphics/pokemon/croconaw/normal.pal b/graphics/pokemon/croconaw/normal.pal new file mode 100644 index 000000000..2e64441a4 --- /dev/null +++ b/graphics/pokemon/croconaw/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +131 205 255 +90 172 230 +49 131 197 +74 74 131 +230 65 32 +123 0 0 +255 172 90 +255 90 32 +205 41 24 +123 0 0 +255 230 98 +230 180 82 +156 115 8 +16 16 16 diff --git a/graphics/pokemon/croconaw/shiny.pal b/graphics/pokemon/croconaw/shiny.pal new file mode 100644 index 000000000..847f2ed29 --- /dev/null +++ b/graphics/pokemon/croconaw/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +164 246 222 +115 213 205 +74 164 180 +49 106 139 +230 65 32 +123 0 0 +98 180 230 +57 98 197 +49 90 156 +32 65 106 +255 230 98 +230 180 82 +156 115 8 +16 16 16 diff --git a/graphics/pokemon/cubone/back.png b/graphics/pokemon/cubone/back.png new file mode 100644 index 000000000..db4d31543 Binary files /dev/null and b/graphics/pokemon/cubone/back.png differ diff --git a/graphics/pokemon/cubone/footprint.png b/graphics/pokemon/cubone/footprint.png new file mode 100644 index 000000000..21deee1a6 Binary files /dev/null and b/graphics/pokemon/cubone/footprint.png differ diff --git a/graphics/pokemon/cubone/front.png b/graphics/pokemon/cubone/front.png new file mode 100644 index 000000000..a0e1a464e Binary files /dev/null and b/graphics/pokemon/cubone/front.png differ diff --git a/graphics/pokemon/cubone/icon.png b/graphics/pokemon/cubone/icon.png new file mode 100644 index 000000000..679d8e7e5 Binary files /dev/null and b/graphics/pokemon/cubone/icon.png differ diff --git a/graphics/pokemon/cubone/normal.pal b/graphics/pokemon/cubone/normal.pal new file mode 100644 index 000000000..3576a449e --- /dev/null +++ b/graphics/pokemon/cubone/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +74 205 139 +222 189 106 +197 156 74 +148 106 49 +82 49 24 +238 238 238 +205 205 180 +139 139 106 +90 90 49 +246 230 205 +255 213 164 +230 180 139 +255 0 255 +255 0 255 +41 41 41 +255 255 255 diff --git a/graphics/pokemon/cubone/shiny.pal b/graphics/pokemon/cubone/shiny.pal new file mode 100644 index 000000000..51b6bc8ba --- /dev/null +++ b/graphics/pokemon/cubone/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +172 180 115 +131 131 74 +74 82 24 +49 57 0 +230 230 213 +197 197 172 +139 139 106 +90 90 49 +255 238 197 +238 213 148 +205 164 90 +255 0 255 +255 0 255 +41 41 41 +255 255 255 diff --git a/graphics/pokemon/cyndaquil/back.png b/graphics/pokemon/cyndaquil/back.png new file mode 100644 index 000000000..cfc64164e Binary files /dev/null and b/graphics/pokemon/cyndaquil/back.png differ diff --git a/graphics/pokemon/cyndaquil/footprint.png b/graphics/pokemon/cyndaquil/footprint.png new file mode 100644 index 000000000..6413cbaae Binary files /dev/null and b/graphics/pokemon/cyndaquil/footprint.png differ diff --git a/graphics/pokemon/cyndaquil/front.png b/graphics/pokemon/cyndaquil/front.png new file mode 100644 index 000000000..1a31da433 Binary files /dev/null and b/graphics/pokemon/cyndaquil/front.png differ diff --git a/graphics/pokemon/cyndaquil/icon.png b/graphics/pokemon/cyndaquil/icon.png new file mode 100644 index 000000000..5f174dcf1 Binary files /dev/null and b/graphics/pokemon/cyndaquil/icon.png differ diff --git a/graphics/pokemon/cyndaquil/normal.pal b/graphics/pokemon/cyndaquil/normal.pal new file mode 100644 index 000000000..46fb06347 --- /dev/null +++ b/graphics/pokemon/cyndaquil/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +98 131 189 +65 82 139 +41 65 98 +24 41 82 +255 238 164 +230 205 106 +180 156 82 +139 98 32 +255 222 0 +255 156 0 +255 98 0 +238 0 0 +139 139 139 +16 16 16 diff --git a/graphics/pokemon/cyndaquil/shiny.pal b/graphics/pokemon/cyndaquil/shiny.pal new file mode 100644 index 000000000..14e35dbc5 --- /dev/null +++ b/graphics/pokemon/cyndaquil/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +230 156 106 +189 98 65 +139 65 57 +98 57 41 +255 230 115 +222 197 82 +172 139 49 +139 82 24 +255 222 0 +255 156 0 +255 98 0 +238 0 0 +139 139 139 +16 16 16 diff --git a/graphics/pokemon/delcatty/back.png b/graphics/pokemon/delcatty/back.png new file mode 100644 index 000000000..38bcfd5a7 Binary files /dev/null and b/graphics/pokemon/delcatty/back.png differ diff --git a/graphics/pokemon/delcatty/footprint.png b/graphics/pokemon/delcatty/footprint.png new file mode 100644 index 000000000..5ff40e5a0 Binary files /dev/null and b/graphics/pokemon/delcatty/footprint.png differ diff --git a/graphics/pokemon/delcatty/front.png b/graphics/pokemon/delcatty/front.png new file mode 100644 index 000000000..bfb7f3894 Binary files /dev/null and b/graphics/pokemon/delcatty/front.png differ diff --git a/graphics/pokemon/delcatty/icon.png b/graphics/pokemon/delcatty/icon.png new file mode 100644 index 000000000..b5d874a88 Binary files /dev/null and b/graphics/pokemon/delcatty/icon.png differ diff --git a/graphics/pokemon/delcatty/normal.pal b/graphics/pokemon/delcatty/normal.pal new file mode 100644 index 000000000..7d7d44e12 --- /dev/null +++ b/graphics/pokemon/delcatty/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +172 205 139 +255 255 255 +255 255 156 +255 222 98 +255 189 65 +222 156 65 +115 74 82 +246 180 197 +189 131 90 +106 74 156 +74 41 123 +0 0 0 +222 148 164 +197 123 139 +164 90 106 +131 57 74 diff --git a/graphics/pokemon/delcatty/shiny.pal b/graphics/pokemon/delcatty/shiny.pal new file mode 100644 index 000000000..caf7d7be8 --- /dev/null +++ b/graphics/pokemon/delcatty/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +172 205 139 +255 255 255 +255 255 189 +255 255 156 +255 222 98 +246 172 65 +139 82 65 +255 180 98 +205 123 57 +139 106 172 +98 65 156 +0 0 0 +255 123 82 +238 82 49 +189 65 32 +164 49 32 diff --git a/graphics/pokemon/delibird/back.png b/graphics/pokemon/delibird/back.png new file mode 100644 index 000000000..b4dccb119 Binary files /dev/null and b/graphics/pokemon/delibird/back.png differ diff --git a/graphics/pokemon/delibird/footprint.png b/graphics/pokemon/delibird/footprint.png new file mode 100644 index 000000000..e7348586e Binary files /dev/null and b/graphics/pokemon/delibird/footprint.png differ diff --git a/graphics/pokemon/delibird/front.png b/graphics/pokemon/delibird/front.png new file mode 100644 index 000000000..b31baa203 Binary files /dev/null and b/graphics/pokemon/delibird/front.png differ diff --git a/graphics/pokemon/delibird/icon.png b/graphics/pokemon/delibird/icon.png new file mode 100644 index 000000000..438f80863 Binary files /dev/null and b/graphics/pokemon/delibird/icon.png differ diff --git a/graphics/pokemon/delibird/normal.pal b/graphics/pokemon/delibird/normal.pal new file mode 100644 index 000000000..a975e93d3 --- /dev/null +++ b/graphics/pokemon/delibird/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 189 106 +255 115 16 +213 65 0 +148 49 0 +255 0 255 +255 246 139 +255 205 65 +205 139 41 +123 65 0 +90 90 90 +213 213 213 +172 172 180 +131 131 131 +16 16 16 diff --git a/graphics/pokemon/delibird/shiny.pal b/graphics/pokemon/delibird/shiny.pal new file mode 100644 index 000000000..f94267729 --- /dev/null +++ b/graphics/pokemon/delibird/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +238 131 197 +205 90 164 +148 65 115 +90 41 82 +255 0 255 +255 246 139 +255 205 65 +205 139 41 +123 65 0 +139 123 82 +238 238 197 +213 205 139 +148 139 90 +49 49 49 diff --git a/graphics/pokemon/deoxys/back.png b/graphics/pokemon/deoxys/back.png new file mode 100644 index 000000000..c6cf22288 Binary files /dev/null and b/graphics/pokemon/deoxys/back.png differ diff --git a/graphics/pokemon/deoxys/footprint.png b/graphics/pokemon/deoxys/footprint.png new file mode 100644 index 000000000..ea97e4014 Binary files /dev/null and b/graphics/pokemon/deoxys/footprint.png differ diff --git a/graphics/pokemon/deoxys/front.png b/graphics/pokemon/deoxys/front.png new file mode 100644 index 000000000..017eb84d3 Binary files /dev/null and b/graphics/pokemon/deoxys/front.png differ diff --git a/graphics/pokemon/deoxys/icon.png b/graphics/pokemon/deoxys/icon.png new file mode 100644 index 000000000..18735fc72 Binary files /dev/null and b/graphics/pokemon/deoxys/icon.png differ diff --git a/graphics/pokemon/deoxys/normal.pal b/graphics/pokemon/deoxys/normal.pal new file mode 100644 index 000000000..e8921dd3d --- /dev/null +++ b/graphics/pokemon/deoxys/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 255 +115 74 49 +213 106 106 +255 131 74 +255 172 131 +115 213 172 +82 172 123 +57 98 90 +0 0 0 +156 156 131 +106 8 156 +0 98 230 +115 115 106 +197 197 213 +255 255 255 +24 24 24 diff --git a/graphics/pokemon/deoxys/shiny.pal b/graphics/pokemon/deoxys/shiny.pal new file mode 100644 index 000000000..666acaa3a --- /dev/null +++ b/graphics/pokemon/deoxys/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 255 +106 90 24 +197 189 65 +255 222 74 +255 246 139 +115 213 172 +82 172 123 +57 98 90 +0 0 0 +156 156 131 +106 8 156 +0 98 230 +115 115 106 +197 197 213 +255 255 255 +24 24 24 diff --git a/graphics/pokemon/deoxys/speed_icon.png b/graphics/pokemon/deoxys/speed_icon.png new file mode 100644 index 000000000..ae34130ee Binary files /dev/null and b/graphics/pokemon/deoxys/speed_icon.png differ diff --git a/graphics/pokemon/dewgong/back.png b/graphics/pokemon/dewgong/back.png new file mode 100644 index 000000000..ba6c297ea Binary files /dev/null and b/graphics/pokemon/dewgong/back.png differ diff --git a/graphics/pokemon/dewgong/footprint.png b/graphics/pokemon/dewgong/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/dewgong/footprint.png differ diff --git a/graphics/pokemon/dewgong/front.png b/graphics/pokemon/dewgong/front.png new file mode 100644 index 000000000..1ab15de43 Binary files /dev/null and b/graphics/pokemon/dewgong/front.png differ diff --git a/graphics/pokemon/dewgong/icon.png b/graphics/pokemon/dewgong/icon.png new file mode 100644 index 000000000..ea227df7c Binary files /dev/null and b/graphics/pokemon/dewgong/icon.png differ diff --git a/graphics/pokemon/dewgong/normal.pal b/graphics/pokemon/dewgong/normal.pal new file mode 100644 index 000000000..b9d0bdfed --- /dev/null +++ b/graphics/pokemon/dewgong/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +230 246 238 +197 205 238 +172 180 205 +65 82 131 +238 90 57 +197 57 65 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +213 205 205 +123 115 115 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/dewgong/shiny.pal b/graphics/pokemon/dewgong/shiny.pal new file mode 100644 index 000000000..8949d4fa8 --- /dev/null +++ b/graphics/pokemon/dewgong/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +238 238 213 +213 205 189 +180 172 156 +139 131 115 +238 90 57 +197 57 65 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +213 205 205 +131 123 123 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/diglett/back.png b/graphics/pokemon/diglett/back.png new file mode 100644 index 000000000..238432ddd Binary files /dev/null and b/graphics/pokemon/diglett/back.png differ diff --git a/graphics/pokemon/diglett/footprint.png b/graphics/pokemon/diglett/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/diglett/footprint.png differ diff --git a/graphics/pokemon/diglett/front.png b/graphics/pokemon/diglett/front.png new file mode 100644 index 000000000..cb26e4a63 Binary files /dev/null and b/graphics/pokemon/diglett/front.png differ diff --git a/graphics/pokemon/diglett/icon.png b/graphics/pokemon/diglett/icon.png new file mode 100644 index 000000000..43db9f62d Binary files /dev/null and b/graphics/pokemon/diglett/icon.png differ diff --git a/graphics/pokemon/diglett/normal.pal b/graphics/pokemon/diglett/normal.pal new file mode 100644 index 000000000..7417ef7ff --- /dev/null +++ b/graphics/pokemon/diglett/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +255 172 148 +255 106 90 +213 57 74 +230 230 180 +180 172 115 +131 123 74 +90 82 32 +123 123 123 +16 16 16 +222 156 90 +197 123 65 +164 90 65 +106 32 0 +255 0 255 diff --git a/graphics/pokemon/diglett/shiny.pal b/graphics/pokemon/diglett/shiny.pal new file mode 100644 index 000000000..c7c26b7e5 --- /dev/null +++ b/graphics/pokemon/diglett/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +123 156 197 +82 115 156 +41 74 115 +230 230 180 +180 172 115 +131 123 74 +90 82 32 +123 123 123 +16 16 16 +230 164 98 +197 123 65 +164 90 32 +106 32 0 +255 0 255 diff --git a/graphics/pokemon/ditto/back.png b/graphics/pokemon/ditto/back.png new file mode 100644 index 000000000..002635423 Binary files /dev/null and b/graphics/pokemon/ditto/back.png differ diff --git a/graphics/pokemon/ditto/footprint.png b/graphics/pokemon/ditto/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/ditto/footprint.png differ diff --git a/graphics/pokemon/ditto/front.png b/graphics/pokemon/ditto/front.png new file mode 100644 index 000000000..52eef0e60 Binary files /dev/null and b/graphics/pokemon/ditto/front.png differ diff --git a/graphics/pokemon/ditto/icon.png b/graphics/pokemon/ditto/icon.png new file mode 100644 index 000000000..e6328feb5 Binary files /dev/null and b/graphics/pokemon/ditto/icon.png differ diff --git a/graphics/pokemon/ditto/normal.pal b/graphics/pokemon/ditto/normal.pal new file mode 100644 index 000000000..262742c15 --- /dev/null +++ b/graphics/pokemon/ditto/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +0 255 255 +0 255 255 +0 255 255 +0 255 255 +246 197 238 +238 156 213 +213 115 164 +180 82 131 +115 41 90 +0 255 255 +0 255 255 +0 255 255 +0 255 255 +49 49 49 +255 255 255 diff --git a/graphics/pokemon/ditto/shiny.pal b/graphics/pokemon/ditto/shiny.pal new file mode 100644 index 000000000..987958312 --- /dev/null +++ b/graphics/pokemon/ditto/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +0 255 255 +0 255 255 +0 255 255 +0 255 255 +139 230 255 +106 205 246 +74 164 230 +32 123 197 +24 74 139 +0 255 255 +0 255 255 +0 255 255 +0 255 255 +49 49 49 +255 255 255 diff --git a/graphics/pokemon/dodrio/back.png b/graphics/pokemon/dodrio/back.png new file mode 100644 index 000000000..090c189e4 Binary files /dev/null and b/graphics/pokemon/dodrio/back.png differ diff --git a/graphics/pokemon/dodrio/footprint.png b/graphics/pokemon/dodrio/footprint.png new file mode 100644 index 000000000..34f85bfb3 Binary files /dev/null and b/graphics/pokemon/dodrio/footprint.png differ diff --git a/graphics/pokemon/dodrio/front.png b/graphics/pokemon/dodrio/front.png new file mode 100644 index 000000000..563a89cf0 Binary files /dev/null and b/graphics/pokemon/dodrio/front.png differ diff --git a/graphics/pokemon/dodrio/icon.png b/graphics/pokemon/dodrio/icon.png new file mode 100644 index 000000000..3d462999e Binary files /dev/null and b/graphics/pokemon/dodrio/icon.png differ diff --git a/graphics/pokemon/dodrio/normal.pal b/graphics/pokemon/dodrio/normal.pal new file mode 100644 index 000000000..1d5fd2ea4 --- /dev/null +++ b/graphics/pokemon/dodrio/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 197 +238 180 98 +213 148 57 +164 123 74 +98 74 49 +238 222 172 +197 180 131 +98 90 65 +255 205 230 +246 131 164 +156 57 57 +213 205 205 +131 131 131 +90 82 74 +0 0 0 +255 255 255 diff --git a/graphics/pokemon/dodrio/shiny.pal b/graphics/pokemon/dodrio/shiny.pal new file mode 100644 index 000000000..e7c27940f --- /dev/null +++ b/graphics/pokemon/dodrio/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 197 +197 205 74 +156 164 32 +115 123 0 +74 82 0 +255 246 139 +238 189 82 +123 90 0 +255 213 230 +246 131 164 +180 65 65 +213 205 205 +131 131 131 +65 65 65 +0 0 0 +255 255 255 diff --git a/graphics/pokemon/doduo/back.png b/graphics/pokemon/doduo/back.png new file mode 100644 index 000000000..4589eff60 Binary files /dev/null and b/graphics/pokemon/doduo/back.png differ diff --git a/graphics/pokemon/doduo/footprint.png b/graphics/pokemon/doduo/footprint.png new file mode 100644 index 000000000..0710eca52 Binary files /dev/null and b/graphics/pokemon/doduo/footprint.png differ diff --git a/graphics/pokemon/doduo/front.png b/graphics/pokemon/doduo/front.png new file mode 100644 index 000000000..3a30b75e4 Binary files /dev/null and b/graphics/pokemon/doduo/front.png differ diff --git a/graphics/pokemon/doduo/icon.png b/graphics/pokemon/doduo/icon.png new file mode 100644 index 000000000..540834591 Binary files /dev/null and b/graphics/pokemon/doduo/icon.png differ diff --git a/graphics/pokemon/doduo/normal.pal b/graphics/pokemon/doduo/normal.pal new file mode 100644 index 000000000..b82c77be5 --- /dev/null +++ b/graphics/pokemon/doduo/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 205 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +213 164 106 +189 139 82 +148 98 65 +90 65 32 +238 222 172 +205 180 131 +115 106 49 +255 0 255 +98 98 98 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/doduo/shiny.pal b/graphics/pokemon/doduo/shiny.pal new file mode 100644 index 000000000..fa2c1c8fb --- /dev/null +++ b/graphics/pokemon/doduo/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 205 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +197 205 74 +156 164 32 +115 123 0 +74 82 0 +255 246 164 +230 205 123 +131 106 24 +255 0 255 +98 98 98 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/donphan/back.png b/graphics/pokemon/donphan/back.png new file mode 100644 index 000000000..d50d467ee Binary files /dev/null and b/graphics/pokemon/donphan/back.png differ diff --git a/graphics/pokemon/donphan/footprint.png b/graphics/pokemon/donphan/footprint.png new file mode 100644 index 000000000..394cf6457 Binary files /dev/null and b/graphics/pokemon/donphan/footprint.png differ diff --git a/graphics/pokemon/donphan/front.png b/graphics/pokemon/donphan/front.png new file mode 100644 index 000000000..c971f446a Binary files /dev/null and b/graphics/pokemon/donphan/front.png differ diff --git a/graphics/pokemon/donphan/icon.png b/graphics/pokemon/donphan/icon.png new file mode 100644 index 000000000..09000b166 Binary files /dev/null and b/graphics/pokemon/donphan/icon.png differ diff --git a/graphics/pokemon/donphan/normal.pal b/graphics/pokemon/donphan/normal.pal new file mode 100644 index 000000000..4e0393757 --- /dev/null +++ b/graphics/pokemon/donphan/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 205 +255 255 255 +164 197 197 +123 156 156 +82 115 115 +49 82 82 +230 222 213 +213 205 205 +172 164 164 +131 123 123 +197 123 90 +148 57 41 +222 222 222 +189 189 189 +90 90 90 +16 16 16 diff --git a/graphics/pokemon/donphan/shiny.pal b/graphics/pokemon/donphan/shiny.pal new file mode 100644 index 000000000..55a6da008 --- /dev/null +++ b/graphics/pokemon/donphan/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 205 +255 255 255 +246 189 106 +213 148 82 +156 82 57 +106 74 49 +222 222 180 +205 205 156 +156 156 115 +115 115 82 +197 123 90 +148 57 41 +222 222 222 +189 189 189 +90 90 90 +16 16 16 diff --git a/graphics/pokemon/dragonair/back.png b/graphics/pokemon/dragonair/back.png new file mode 100644 index 000000000..ee3cf04d1 Binary files /dev/null and b/graphics/pokemon/dragonair/back.png differ diff --git a/graphics/pokemon/dragonair/footprint.png b/graphics/pokemon/dragonair/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/dragonair/footprint.png differ diff --git a/graphics/pokemon/dragonair/front.png b/graphics/pokemon/dragonair/front.png new file mode 100644 index 000000000..b2a88698c Binary files /dev/null and b/graphics/pokemon/dragonair/front.png differ diff --git a/graphics/pokemon/dragonair/icon.png b/graphics/pokemon/dragonair/icon.png new file mode 100644 index 000000000..f4b870a2a Binary files /dev/null and b/graphics/pokemon/dragonair/icon.png differ diff --git a/graphics/pokemon/dragonair/normal.pal b/graphics/pokemon/dragonair/normal.pal new file mode 100644 index 000000000..011d2e583 --- /dev/null +++ b/graphics/pokemon/dragonair/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +131 222 131 +255 255 255 +230 246 246 +213 213 230 +106 106 123 +123 197 246 +82 131 205 +32 65 139 +24 49 90 +16 16 16 +123 49 123 +123 189 246 +82 164 213 +98 131 164 +32 74 115 +255 0 255 diff --git a/graphics/pokemon/dragonair/shiny.pal b/graphics/pokemon/dragonair/shiny.pal new file mode 100644 index 000000000..1eedd8ef7 --- /dev/null +++ b/graphics/pokemon/dragonair/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +222 222 230 +180 180 197 +106 106 123 +255 246 164 +246 189 74 +213 139 16 +131 82 41 +16 16 16 +123 49 123 +230 148 213 +205 115 197 +156 65 156 +90 57 98 +255 0 255 diff --git a/graphics/pokemon/dragonite/back.png b/graphics/pokemon/dragonite/back.png new file mode 100644 index 000000000..098b9fda7 Binary files /dev/null and b/graphics/pokemon/dragonite/back.png differ diff --git a/graphics/pokemon/dragonite/footprint.png b/graphics/pokemon/dragonite/footprint.png new file mode 100644 index 000000000..1f41296b0 Binary files /dev/null and b/graphics/pokemon/dragonite/footprint.png differ diff --git a/graphics/pokemon/dragonite/front.png b/graphics/pokemon/dragonite/front.png new file mode 100644 index 000000000..03688332c Binary files /dev/null and b/graphics/pokemon/dragonite/front.png differ diff --git a/graphics/pokemon/dragonite/icon.png b/graphics/pokemon/dragonite/icon.png new file mode 100644 index 000000000..efcbd8f11 Binary files /dev/null and b/graphics/pokemon/dragonite/icon.png differ diff --git a/graphics/pokemon/dragonite/normal.pal b/graphics/pokemon/dragonite/normal.pal new file mode 100644 index 000000000..420f870cf --- /dev/null +++ b/graphics/pokemon/dragonite/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 189 213 +172 148 82 +255 230 123 +255 205 82 +213 180 90 +115 98 57 +123 197 197 +82 164 164 +49 115 106 +255 246 205 +213 213 164 +156 156 106 +213 213 222 +115 115 115 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/dragonite/shiny.pal b/graphics/pokemon/dragonite/shiny.pal new file mode 100644 index 000000000..6204273b3 --- /dev/null +++ b/graphics/pokemon/dragonite/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +98 115 82 +156 180 123 +123 156 98 +90 106 65 +49 57 49 +222 156 213 +180 115 180 +115 74 123 +255 246 205 +213 213 164 +156 156 106 +213 213 222 +115 115 115 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/dratini/back.png b/graphics/pokemon/dratini/back.png new file mode 100644 index 000000000..f87eb13cb Binary files /dev/null and b/graphics/pokemon/dratini/back.png differ diff --git a/graphics/pokemon/dratini/footprint.png b/graphics/pokemon/dratini/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/dratini/footprint.png differ diff --git a/graphics/pokemon/dratini/front.png b/graphics/pokemon/dratini/front.png new file mode 100644 index 000000000..b33883b5f Binary files /dev/null and b/graphics/pokemon/dratini/front.png differ diff --git a/graphics/pokemon/dratini/icon.png b/graphics/pokemon/dratini/icon.png new file mode 100644 index 000000000..c26efee60 Binary files /dev/null and b/graphics/pokemon/dratini/icon.png differ diff --git a/graphics/pokemon/dratini/normal.pal b/graphics/pokemon/dratini/normal.pal new file mode 100644 index 000000000..22ba0544e --- /dev/null +++ b/graphics/pokemon/dratini/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +238 238 197 +205 205 156 +123 123 82 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +139 115 172 +139 16 180 +197 164 230 +164 131 197 +115 82 148 +57 24 90 +16 16 16 diff --git a/graphics/pokemon/dratini/shiny.pal b/graphics/pokemon/dratini/shiny.pal new file mode 100644 index 000000000..a6861e455 --- /dev/null +++ b/graphics/pokemon/dratini/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +238 238 197 +197 197 156 +123 123 82 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +189 90 131 +139 16 180 +238 148 197 +205 106 164 +164 65 131 +123 32 90 +16 16 16 diff --git a/graphics/pokemon/drowzee/back.png b/graphics/pokemon/drowzee/back.png new file mode 100644 index 000000000..6a5d98818 Binary files /dev/null and b/graphics/pokemon/drowzee/back.png differ diff --git a/graphics/pokemon/drowzee/footprint.png b/graphics/pokemon/drowzee/footprint.png new file mode 100644 index 000000000..23293423e Binary files /dev/null and b/graphics/pokemon/drowzee/footprint.png differ diff --git a/graphics/pokemon/drowzee/front.png b/graphics/pokemon/drowzee/front.png new file mode 100644 index 000000000..3b5107c78 Binary files /dev/null and b/graphics/pokemon/drowzee/front.png differ diff --git a/graphics/pokemon/drowzee/icon.png b/graphics/pokemon/drowzee/icon.png new file mode 100644 index 000000000..39b84c871 Binary files /dev/null and b/graphics/pokemon/drowzee/icon.png differ diff --git a/graphics/pokemon/drowzee/normal.pal b/graphics/pokemon/drowzee/normal.pal new file mode 100644 index 000000000..8013633f9 --- /dev/null +++ b/graphics/pokemon/drowzee/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 213 +255 255 255 +222 205 238 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +189 139 82 +148 106 65 +106 82 41 +74 49 16 +255 238 148 +255 222 65 +222 189 41 +148 106 0 +16 16 16 diff --git a/graphics/pokemon/drowzee/shiny.pal b/graphics/pokemon/drowzee/shiny.pal new file mode 100644 index 000000000..9c01eb20d --- /dev/null +++ b/graphics/pokemon/drowzee/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 205 +255 255 255 +222 205 238 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +189 98 106 +148 57 65 +106 16 24 +65 0 8 +246 222 213 +230 189 205 +189 148 164 +123 82 98 +16 16 16 diff --git a/graphics/pokemon/dugtrio/back.png b/graphics/pokemon/dugtrio/back.png new file mode 100644 index 000000000..84fd0b630 Binary files /dev/null and b/graphics/pokemon/dugtrio/back.png differ diff --git a/graphics/pokemon/dugtrio/footprint.png b/graphics/pokemon/dugtrio/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/dugtrio/footprint.png differ diff --git a/graphics/pokemon/dugtrio/front.png b/graphics/pokemon/dugtrio/front.png new file mode 100644 index 000000000..7b1127a58 Binary files /dev/null and b/graphics/pokemon/dugtrio/front.png differ diff --git a/graphics/pokemon/dugtrio/icon.png b/graphics/pokemon/dugtrio/icon.png new file mode 100644 index 000000000..a837c7f6f Binary files /dev/null and b/graphics/pokemon/dugtrio/icon.png differ diff --git a/graphics/pokemon/dugtrio/normal.pal b/graphics/pokemon/dugtrio/normal.pal new file mode 100644 index 000000000..ed81b96fe --- /dev/null +++ b/graphics/pokemon/dugtrio/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 255 255 +255 189 172 +255 106 90 +222 74 98 +230 230 180 +180 172 115 +131 123 74 +90 82 32 +106 106 106 +16 16 16 +230 164 98 +197 123 65 +164 82 65 +106 65 24 +255 0 255 diff --git a/graphics/pokemon/dugtrio/shiny.pal b/graphics/pokemon/dugtrio/shiny.pal new file mode 100644 index 000000000..77345a714 --- /dev/null +++ b/graphics/pokemon/dugtrio/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 255 255 +123 156 197 +82 115 156 +41 74 115 +230 230 180 +180 172 115 +131 123 74 +90 82 32 +123 123 123 +16 16 16 +230 164 98 +197 123 65 +164 90 32 +106 32 0 +255 0 255 diff --git a/graphics/pokemon/dunsparce/back.png b/graphics/pokemon/dunsparce/back.png new file mode 100644 index 000000000..05f700ea7 Binary files /dev/null and b/graphics/pokemon/dunsparce/back.png differ diff --git a/graphics/pokemon/dunsparce/footprint.png b/graphics/pokemon/dunsparce/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/dunsparce/footprint.png differ diff --git a/graphics/pokemon/dunsparce/front.png b/graphics/pokemon/dunsparce/front.png new file mode 100644 index 000000000..cf3c421af Binary files /dev/null and b/graphics/pokemon/dunsparce/front.png differ diff --git a/graphics/pokemon/dunsparce/icon.png b/graphics/pokemon/dunsparce/icon.png new file mode 100644 index 000000000..d2896e72b Binary files /dev/null and b/graphics/pokemon/dunsparce/icon.png differ diff --git a/graphics/pokemon/dunsparce/normal.pal b/graphics/pokemon/dunsparce/normal.pal new file mode 100644 index 000000000..e0440cdc1 --- /dev/null +++ b/graphics/pokemon/dunsparce/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +16 16 16 +255 0 255 +32 82 139 +74 172 189 +131 205 213 +189 222 230 +90 90 90 +139 139 139 +197 205 213 +106 90 41 +189 139 32 +222 189 57 +230 230 131 +246 246 197 +255 255 255 diff --git a/graphics/pokemon/dunsparce/shiny.pal b/graphics/pokemon/dunsparce/shiny.pal new file mode 100644 index 000000000..425dc8b36 --- /dev/null +++ b/graphics/pokemon/dunsparce/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +16 16 16 +255 0 255 +164 65 74 +222 106 123 +238 164 164 +238 213 197 +90 90 90 +139 139 139 +238 213 197 +106 90 41 +189 139 32 +222 189 57 +230 230 131 +246 246 197 +255 255 255 diff --git a/graphics/pokemon/dusclops/back.png b/graphics/pokemon/dusclops/back.png new file mode 100644 index 000000000..9362e8421 Binary files /dev/null and b/graphics/pokemon/dusclops/back.png differ diff --git a/graphics/pokemon/dusclops/footprint.png b/graphics/pokemon/dusclops/footprint.png new file mode 100644 index 000000000..752ffa353 Binary files /dev/null and b/graphics/pokemon/dusclops/footprint.png differ diff --git a/graphics/pokemon/dusclops/front.png b/graphics/pokemon/dusclops/front.png new file mode 100644 index 000000000..477423e62 Binary files /dev/null and b/graphics/pokemon/dusclops/front.png differ diff --git a/graphics/pokemon/dusclops/icon.png b/graphics/pokemon/dusclops/icon.png new file mode 100644 index 000000000..6ebc957da Binary files /dev/null and b/graphics/pokemon/dusclops/icon.png differ diff --git a/graphics/pokemon/dusclops/normal.pal b/graphics/pokemon/dusclops/normal.pal new file mode 100644 index 000000000..f82d7f82e --- /dev/null +++ b/graphics/pokemon/dusclops/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 255 255 +82 57 49 +90 90 106 +255 255 255 +106 98 90 +139 139 115 +180 180 164 +148 131 123 +213 197 180 +172 172 148 +0 0 0 +0 0 0 +0 0 0 +255 255 0 +255 0 0 +24 24 24 diff --git a/graphics/pokemon/dusclops/shiny.pal b/graphics/pokemon/dusclops/shiny.pal new file mode 100644 index 000000000..f07d7112f --- /dev/null +++ b/graphics/pokemon/dusclops/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 255 255 +90 65 57 +139 32 0 +255 255 255 +156 41 16 +189 74 49 +222 106 82 +148 131 123 +213 197 180 +172 172 148 +0 0 0 +0 0 0 +0 0 0 +255 255 0 +255 0 0 +24 24 24 diff --git a/graphics/pokemon/duskull/back.png b/graphics/pokemon/duskull/back.png new file mode 100644 index 000000000..52a5c867d Binary files /dev/null and b/graphics/pokemon/duskull/back.png differ diff --git a/graphics/pokemon/duskull/footprint.png b/graphics/pokemon/duskull/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/duskull/footprint.png differ diff --git a/graphics/pokemon/duskull/front.png b/graphics/pokemon/duskull/front.png new file mode 100644 index 000000000..bf379af6d Binary files /dev/null and b/graphics/pokemon/duskull/front.png differ diff --git a/graphics/pokemon/duskull/icon.png b/graphics/pokemon/duskull/icon.png new file mode 100644 index 000000000..22710a79f Binary files /dev/null and b/graphics/pokemon/duskull/icon.png differ diff --git a/graphics/pokemon/duskull/normal.pal b/graphics/pokemon/duskull/normal.pal new file mode 100644 index 000000000..aa1fb6ba4 --- /dev/null +++ b/graphics/pokemon/duskull/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +123 164 172 +57 57 49 +106 106 90 +139 139 123 +180 180 148 +238 230 189 +222 213 172 +255 255 230 +74 65 65 +172 164 123 +255 164 172 +90 90 82 +0 0 0 +139 74 90 +238 82 24 +255 255 255 diff --git a/graphics/pokemon/duskull/shiny.pal b/graphics/pokemon/duskull/shiny.pal new file mode 100644 index 000000000..2ec13fb1d --- /dev/null +++ b/graphics/pokemon/duskull/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +123 164 172 +90 0 0 +156 41 16 +189 74 49 +222 106 82 +238 230 189 +222 213 172 +255 255 230 +74 65 65 +172 164 123 +255 164 172 +123 8 0 +0 0 0 +139 74 90 +238 82 24 +255 255 255 diff --git a/graphics/pokemon/dustox/back.png b/graphics/pokemon/dustox/back.png new file mode 100644 index 000000000..759b98ea2 Binary files /dev/null and b/graphics/pokemon/dustox/back.png differ diff --git a/graphics/pokemon/dustox/footprint.png b/graphics/pokemon/dustox/footprint.png new file mode 100644 index 000000000..f7cc85bf9 Binary files /dev/null and b/graphics/pokemon/dustox/footprint.png differ diff --git a/graphics/pokemon/dustox/front.png b/graphics/pokemon/dustox/front.png new file mode 100644 index 000000000..8866606d8 Binary files /dev/null and b/graphics/pokemon/dustox/front.png differ diff --git a/graphics/pokemon/dustox/icon.png b/graphics/pokemon/dustox/icon.png new file mode 100644 index 000000000..2f0d14001 Binary files /dev/null and b/graphics/pokemon/dustox/icon.png differ diff --git a/graphics/pokemon/dustox/normal.pal b/graphics/pokemon/dustox/normal.pal new file mode 100644 index 000000000..262b7d1ba --- /dev/null +++ b/graphics/pokemon/dustox/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 148 255 +90 74 74 +131 148 131 +156 180 156 +0 0 0 +180 106 148 +213 148 197 +230 197 213 +180 213 115 +197 255 148 +189 148 82 +238 238 49 +205 197 49 +246 82 49 +197 82 49 +24 24 24 diff --git a/graphics/pokemon/dustox/shiny.pal b/graphics/pokemon/dustox/shiny.pal new file mode 100644 index 000000000..c1c43725b --- /dev/null +++ b/graphics/pokemon/dustox/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 148 255 +90 74 74 +148 98 65 +172 123 90 +0 0 0 +180 106 148 +213 148 197 +230 197 213 +230 172 90 +255 230 156 +189 148 82 +238 238 49 +205 197 49 +246 82 49 +197 82 49 +24 24 24 diff --git a/graphics/pokemon/eevee/back.png b/graphics/pokemon/eevee/back.png new file mode 100644 index 000000000..79bd1129c Binary files /dev/null and b/graphics/pokemon/eevee/back.png differ diff --git a/graphics/pokemon/eevee/footprint.png b/graphics/pokemon/eevee/footprint.png new file mode 100644 index 000000000..4e4c01c9f Binary files /dev/null and b/graphics/pokemon/eevee/footprint.png differ diff --git a/graphics/pokemon/eevee/front.png b/graphics/pokemon/eevee/front.png new file mode 100644 index 000000000..115dc3e0a Binary files /dev/null and b/graphics/pokemon/eevee/front.png differ diff --git a/graphics/pokemon/eevee/icon.png b/graphics/pokemon/eevee/icon.png new file mode 100644 index 000000000..13b90c2e2 Binary files /dev/null and b/graphics/pokemon/eevee/icon.png differ diff --git a/graphics/pokemon/eevee/normal.pal b/graphics/pokemon/eevee/normal.pal new file mode 100644 index 000000000..f6bec2522 --- /dev/null +++ b/graphics/pokemon/eevee/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +139 205 164 +255 255 255 +255 246 205 +213 205 156 +189 172 106 +131 115 74 +230 0 0 +255 0 255 +255 0 255 +255 0 255 +16 16 16 +230 180 115 +213 156 90 +164 115 49 +90 74 32 +255 0 255 diff --git a/graphics/pokemon/eevee/shiny.pal b/graphics/pokemon/eevee/shiny.pal new file mode 100644 index 000000000..0d4aca238 --- /dev/null +++ b/graphics/pokemon/eevee/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 205 +255 255 255 +246 255 255 +222 230 246 +172 180 213 +106 123 148 +230 98 41 +255 0 255 +255 0 255 +255 0 255 +16 16 16 +238 238 213 +222 222 205 +172 172 172 +82 82 82 +255 0 255 diff --git a/graphics/pokemon/egg/front.png b/graphics/pokemon/egg/front.png new file mode 100644 index 000000000..d9680a899 Binary files /dev/null and b/graphics/pokemon/egg/front.png differ diff --git a/graphics/pokemon/egg/icon.png b/graphics/pokemon/egg/icon.png new file mode 100644 index 000000000..8f6ca5dde Binary files /dev/null and b/graphics/pokemon/egg/icon.png differ diff --git a/graphics/pokemon/egg/normal.pal b/graphics/pokemon/egg/normal.pal new file mode 100644 index 000000000..cadeacee0 --- /dev/null +++ b/graphics/pokemon/egg/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +164 255 148 +65 74 74 +148 156 156 +246 246 213 +238 230 164 +205 197 131 +123 205 74 +106 148 82 +230 0 0 +230 0 0 +230 0 0 +230 0 0 +230 0 0 +230 0 0 +230 0 0 +131 230 230 diff --git a/graphics/pokemon/ekans/back.png b/graphics/pokemon/ekans/back.png new file mode 100644 index 000000000..e72a7a9ed Binary files /dev/null and b/graphics/pokemon/ekans/back.png differ diff --git a/graphics/pokemon/ekans/footprint.png b/graphics/pokemon/ekans/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/ekans/footprint.png differ diff --git a/graphics/pokemon/ekans/front.png b/graphics/pokemon/ekans/front.png new file mode 100644 index 000000000..3e1d41ba1 Binary files /dev/null and b/graphics/pokemon/ekans/front.png differ diff --git a/graphics/pokemon/ekans/icon.png b/graphics/pokemon/ekans/icon.png new file mode 100644 index 000000000..3c81efd69 Binary files /dev/null and b/graphics/pokemon/ekans/icon.png differ diff --git a/graphics/pokemon/ekans/normal.pal b/graphics/pokemon/ekans/normal.pal new file mode 100644 index 000000000..748d88fbc --- /dev/null +++ b/graphics/pokemon/ekans/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 189 +255 255 255 +246 115 74 +197 65 24 +156 41 41 +255 0 255 +255 230 156 +255 213 106 +230 164 115 +131 82 16 +255 0 255 +16 16 16 +222 164 197 +189 115 164 +156 74 131 +106 32 90 diff --git a/graphics/pokemon/ekans/shiny.pal b/graphics/pokemon/ekans/shiny.pal new file mode 100644 index 000000000..529864430 --- /dev/null +++ b/graphics/pokemon/ekans/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 189 +255 255 255 +246 115 74 +197 65 24 +156 16 0 +255 0 255 +255 230 156 +255 213 106 +230 172 90 +131 82 16 +255 0 255 +16 16 16 +213 197 98 +172 156 57 +131 115 16 +90 74 0 diff --git a/graphics/pokemon/electabuzz/back.png b/graphics/pokemon/electabuzz/back.png new file mode 100644 index 000000000..8d84c2cb6 Binary files /dev/null and b/graphics/pokemon/electabuzz/back.png differ diff --git a/graphics/pokemon/electabuzz/footprint.png b/graphics/pokemon/electabuzz/footprint.png new file mode 100644 index 000000000..b2b4de625 Binary files /dev/null and b/graphics/pokemon/electabuzz/footprint.png differ diff --git a/graphics/pokemon/electabuzz/front.png b/graphics/pokemon/electabuzz/front.png new file mode 100644 index 000000000..1bed04c89 Binary files /dev/null and b/graphics/pokemon/electabuzz/front.png differ diff --git a/graphics/pokemon/electabuzz/icon.png b/graphics/pokemon/electabuzz/icon.png new file mode 100644 index 000000000..4c9babe2a Binary files /dev/null and b/graphics/pokemon/electabuzz/icon.png differ diff --git a/graphics/pokemon/electabuzz/normal.pal b/graphics/pokemon/electabuzz/normal.pal new file mode 100644 index 000000000..75bfcbabe --- /dev/null +++ b/graphics/pokemon/electabuzz/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +222 222 222 +115 106 90 +16 16 16 +255 0 255 +255 0 255 +255 172 123 +255 82 32 +189 49 8 +255 0 255 +255 255 213 +255 255 172 +255 230 57 +222 189 82 +115 90 16 diff --git a/graphics/pokemon/electabuzz/shiny.pal b/graphics/pokemon/electabuzz/shiny.pal new file mode 100644 index 000000000..df9fa23e8 --- /dev/null +++ b/graphics/pokemon/electabuzz/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +222 222 222 +115 115 115 +16 16 16 +255 0 255 +255 0 255 +255 172 123 +255 82 32 +189 49 8 +255 0 255 +255 230 148 +255 205 41 +238 131 0 +205 98 0 +164 41 0 diff --git a/graphics/pokemon/electrike/back.png b/graphics/pokemon/electrike/back.png new file mode 100644 index 000000000..c6e9e83e5 Binary files /dev/null and b/graphics/pokemon/electrike/back.png differ diff --git a/graphics/pokemon/electrike/footprint.png b/graphics/pokemon/electrike/footprint.png new file mode 100644 index 000000000..8dd914b35 Binary files /dev/null and b/graphics/pokemon/electrike/footprint.png differ diff --git a/graphics/pokemon/electrike/front.png b/graphics/pokemon/electrike/front.png new file mode 100644 index 000000000..0a86b13af Binary files /dev/null and b/graphics/pokemon/electrike/front.png differ diff --git a/graphics/pokemon/electrike/icon.png b/graphics/pokemon/electrike/icon.png new file mode 100644 index 000000000..ebef61c49 Binary files /dev/null and b/graphics/pokemon/electrike/icon.png differ diff --git a/graphics/pokemon/electrike/normal.pal b/graphics/pokemon/electrike/normal.pal new file mode 100644 index 000000000..5ee96cb84 --- /dev/null +++ b/graphics/pokemon/electrike/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +197 197 246 +65 82 65 +82 139 90 +106 180 123 +156 222 131 +255 238 32 +213 213 24 +172 197 65 +148 49 57 +213 57 49 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +197 205 222 +24 24 24 diff --git a/graphics/pokemon/electrike/shiny.pal b/graphics/pokemon/electrike/shiny.pal new file mode 100644 index 000000000..c7f51a2b1 --- /dev/null +++ b/graphics/pokemon/electrike/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +197 197 246 +74 74 131 +49 123 189 +90 156 213 +123 197 255 +255 238 32 +197 213 98 +172 197 65 +148 49 57 +213 57 49 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +197 205 222 +24 24 24 diff --git a/graphics/pokemon/electrode/back.png b/graphics/pokemon/electrode/back.png new file mode 100644 index 000000000..74ca458d3 Binary files /dev/null and b/graphics/pokemon/electrode/back.png differ diff --git a/graphics/pokemon/electrode/footprint.png b/graphics/pokemon/electrode/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/electrode/footprint.png differ diff --git a/graphics/pokemon/electrode/front.png b/graphics/pokemon/electrode/front.png new file mode 100644 index 000000000..801c2cdb2 Binary files /dev/null and b/graphics/pokemon/electrode/front.png differ diff --git a/graphics/pokemon/electrode/icon.png b/graphics/pokemon/electrode/icon.png new file mode 100644 index 000000000..e46c57974 Binary files /dev/null and b/graphics/pokemon/electrode/icon.png differ diff --git a/graphics/pokemon/electrode/normal.pal b/graphics/pokemon/electrode/normal.pal new file mode 100644 index 000000000..1848bf716 --- /dev/null +++ b/graphics/pokemon/electrode/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 189 230 +255 255 255 +238 238 238 +205 205 205 +164 156 156 +90 82 82 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 180 156 +255 123 74 +230 65 0 +180 49 0 +131 16 16 +16 16 16 diff --git a/graphics/pokemon/electrode/shiny.pal b/graphics/pokemon/electrode/shiny.pal new file mode 100644 index 000000000..d651b064f --- /dev/null +++ b/graphics/pokemon/electrode/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 255 +238 238 238 +222 222 230 +180 172 172 +90 82 82 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +115 197 255 +74 156 213 +32 115 172 +32 74 131 +32 32 90 +16 16 16 diff --git a/graphics/pokemon/elekid/back.png b/graphics/pokemon/elekid/back.png new file mode 100644 index 000000000..0d8d9428a Binary files /dev/null and b/graphics/pokemon/elekid/back.png differ diff --git a/graphics/pokemon/elekid/footprint.png b/graphics/pokemon/elekid/footprint.png new file mode 100644 index 000000000..15547931c Binary files /dev/null and b/graphics/pokemon/elekid/footprint.png differ diff --git a/graphics/pokemon/elekid/front.png b/graphics/pokemon/elekid/front.png new file mode 100644 index 000000000..0c3d5325e Binary files /dev/null and b/graphics/pokemon/elekid/front.png differ diff --git a/graphics/pokemon/elekid/icon.png b/graphics/pokemon/elekid/icon.png new file mode 100644 index 000000000..d80ce6f0d Binary files /dev/null and b/graphics/pokemon/elekid/icon.png differ diff --git a/graphics/pokemon/elekid/normal.pal b/graphics/pokemon/elekid/normal.pal new file mode 100644 index 000000000..522f7de84 --- /dev/null +++ b/graphics/pokemon/elekid/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 205 172 +255 255 255 +255 230 156 +246 197 74 +230 172 0 +180 106 0 +123 82 0 +246 148 16 +156 49 0 +115 16 0 +255 0 255 +205 205 205 +164 164 164 +106 106 106 +49 49 65 +16 16 16 diff --git a/graphics/pokemon/elekid/shiny.pal b/graphics/pokemon/elekid/shiny.pal new file mode 100644 index 000000000..59ff6b2cf --- /dev/null +++ b/graphics/pokemon/elekid/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 230 82 +238 205 65 +189 156 24 +148 115 0 +123 82 0 +246 148 16 +156 49 0 +115 16 0 +255 0 255 +205 205 205 +164 164 164 +115 98 49 +57 49 32 +16 16 16 diff --git a/graphics/pokemon/entei/back.png b/graphics/pokemon/entei/back.png new file mode 100644 index 000000000..902b4461a Binary files /dev/null and b/graphics/pokemon/entei/back.png differ diff --git a/graphics/pokemon/entei/footprint.png b/graphics/pokemon/entei/footprint.png new file mode 100644 index 000000000..7336df599 Binary files /dev/null and b/graphics/pokemon/entei/footprint.png differ diff --git a/graphics/pokemon/entei/front.png b/graphics/pokemon/entei/front.png new file mode 100644 index 000000000..1aa34cf4d Binary files /dev/null and b/graphics/pokemon/entei/front.png differ diff --git a/graphics/pokemon/entei/icon.png b/graphics/pokemon/entei/icon.png new file mode 100644 index 000000000..4d2353a20 Binary files /dev/null and b/graphics/pokemon/entei/icon.png differ diff --git a/graphics/pokemon/entei/normal.pal b/graphics/pokemon/entei/normal.pal new file mode 100644 index 000000000..27cad95ea --- /dev/null +++ b/graphics/pokemon/entei/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +222 189 98 +180 148 74 +131 98 32 +82 57 0 +255 123 41 +230 41 0 +156 0 0 +255 230 148 +255 205 0 +213 148 0 +213 213 213 +172 172 172 +98 98 98 +16 16 16 diff --git a/graphics/pokemon/entei/shiny.pal b/graphics/pokemon/entei/shiny.pal new file mode 100644 index 000000000..e3f22acdd --- /dev/null +++ b/graphics/pokemon/entei/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +238 164 115 +213 123 82 +156 74 49 +115 49 41 +164 172 189 +115 123 139 +65 65 74 +255 213 172 +255 205 0 +213 148 0 +213 213 213 +172 172 172 +98 98 98 +16 16 16 diff --git a/graphics/pokemon/espeon/back.png b/graphics/pokemon/espeon/back.png new file mode 100644 index 000000000..c3e5d96de Binary files /dev/null and b/graphics/pokemon/espeon/back.png differ diff --git a/graphics/pokemon/espeon/footprint.png b/graphics/pokemon/espeon/footprint.png new file mode 100644 index 000000000..c7b17a4ad Binary files /dev/null and b/graphics/pokemon/espeon/footprint.png differ diff --git a/graphics/pokemon/espeon/front.png b/graphics/pokemon/espeon/front.png new file mode 100644 index 000000000..9e66b1626 Binary files /dev/null and b/graphics/pokemon/espeon/front.png differ diff --git a/graphics/pokemon/espeon/icon.png b/graphics/pokemon/espeon/icon.png new file mode 100644 index 000000000..bc63aa3f2 Binary files /dev/null and b/graphics/pokemon/espeon/icon.png differ diff --git a/graphics/pokemon/espeon/normal.pal b/graphics/pokemon/espeon/normal.pal new file mode 100644 index 000000000..b001102c1 --- /dev/null +++ b/graphics/pokemon/espeon/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +131 57 65 +213 57 65 +49 49 49 +82 57 106 +123 82 180 +180 115 230 +213 172 230 +238 222 238 +16 16 16 +0 24 148 +255 255 255 diff --git a/graphics/pokemon/espeon/shiny.pal b/graphics/pokemon/espeon/shiny.pal new file mode 100644 index 000000000..22222e2c7 --- /dev/null +++ b/graphics/pokemon/espeon/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +131 90 0 +255 164 65 +49 49 49 +41 98 41 +74 156 65 +106 205 74 +164 230 90 +213 255 156 +16 16 16 +82 41 90 +255 255 255 diff --git a/graphics/pokemon/exeggcute/back.png b/graphics/pokemon/exeggcute/back.png new file mode 100644 index 000000000..e340cd036 Binary files /dev/null and b/graphics/pokemon/exeggcute/back.png differ diff --git a/graphics/pokemon/exeggcute/footprint.png b/graphics/pokemon/exeggcute/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/exeggcute/footprint.png differ diff --git a/graphics/pokemon/exeggcute/front.png b/graphics/pokemon/exeggcute/front.png new file mode 100644 index 000000000..500dd49fb Binary files /dev/null and b/graphics/pokemon/exeggcute/front.png differ diff --git a/graphics/pokemon/exeggcute/icon.png b/graphics/pokemon/exeggcute/icon.png new file mode 100644 index 000000000..5d0306610 Binary files /dev/null and b/graphics/pokemon/exeggcute/icon.png differ diff --git a/graphics/pokemon/exeggcute/normal.pal b/graphics/pokemon/exeggcute/normal.pal new file mode 100644 index 000000000..8b180c09c --- /dev/null +++ b/graphics/pokemon/exeggcute/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 205 +255 255 255 +222 222 222 +255 205 74 +230 156 0 +16 16 16 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 222 197 +255 189 164 +238 156 131 +197 131 98 +148 49 16 diff --git a/graphics/pokemon/exeggcute/shiny.pal b/graphics/pokemon/exeggcute/shiny.pal new file mode 100644 index 000000000..2358a2621 --- /dev/null +++ b/graphics/pokemon/exeggcute/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 205 +255 255 255 +222 222 222 +255 205 74 +230 156 0 +16 16 16 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 255 164 +246 238 98 +230 197 65 +213 164 57 +123 90 41 diff --git a/graphics/pokemon/exeggutor/back.png b/graphics/pokemon/exeggutor/back.png new file mode 100644 index 000000000..a44877f9c Binary files /dev/null and b/graphics/pokemon/exeggutor/back.png differ diff --git a/graphics/pokemon/exeggutor/footprint.png b/graphics/pokemon/exeggutor/footprint.png new file mode 100644 index 000000000..6df7122f8 Binary files /dev/null and b/graphics/pokemon/exeggutor/footprint.png differ diff --git a/graphics/pokemon/exeggutor/front.png b/graphics/pokemon/exeggutor/front.png new file mode 100644 index 000000000..4a61df884 Binary files /dev/null and b/graphics/pokemon/exeggutor/front.png differ diff --git a/graphics/pokemon/exeggutor/icon.png b/graphics/pokemon/exeggutor/icon.png new file mode 100644 index 000000000..610c65a3d Binary files /dev/null and b/graphics/pokemon/exeggutor/icon.png differ diff --git a/graphics/pokemon/exeggutor/normal.pal b/graphics/pokemon/exeggutor/normal.pal new file mode 100644 index 000000000..24702f6fa --- /dev/null +++ b/graphics/pokemon/exeggutor/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +255 238 164 +255 222 106 +230 172 90 +131 82 24 +180 156 74 +139 115 65 +90 57 8 +189 255 115 +156 213 74 +115 172 49 +82 98 41 +222 222 222 +98 98 98 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/exeggutor/shiny.pal b/graphics/pokemon/exeggutor/shiny.pal new file mode 100644 index 000000000..c06646a6c --- /dev/null +++ b/graphics/pokemon/exeggutor/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +255 238 164 +255 222 106 +230 172 90 +164 106 32 +222 189 82 +180 148 32 +106 82 0 +255 189 123 +222 148 82 +180 106 41 +115 41 0 +222 222 222 +98 98 98 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/exploud/back.png b/graphics/pokemon/exploud/back.png new file mode 100644 index 000000000..37132bf48 Binary files /dev/null and b/graphics/pokemon/exploud/back.png differ diff --git a/graphics/pokemon/exploud/footprint.png b/graphics/pokemon/exploud/footprint.png new file mode 100644 index 000000000..b27283a14 Binary files /dev/null and b/graphics/pokemon/exploud/footprint.png differ diff --git a/graphics/pokemon/exploud/front.png b/graphics/pokemon/exploud/front.png new file mode 100644 index 000000000..48e86c610 Binary files /dev/null and b/graphics/pokemon/exploud/front.png differ diff --git a/graphics/pokemon/exploud/icon.png b/graphics/pokemon/exploud/icon.png new file mode 100644 index 000000000..04ed7f13d Binary files /dev/null and b/graphics/pokemon/exploud/icon.png differ diff --git a/graphics/pokemon/exploud/normal.pal b/graphics/pokemon/exploud/normal.pal new file mode 100644 index 000000000..074305af3 --- /dev/null +++ b/graphics/pokemon/exploud/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +189 189 238 +164 156 222 +123 115 180 +82 74 139 +255 222 90 +222 180 74 +156 115 24 +255 115 82 +213 74 49 +156 57 24 +106 49 24 +213 222 255 +131 131 131 +0 0 0 diff --git a/graphics/pokemon/exploud/shiny.pal b/graphics/pokemon/exploud/shiny.pal new file mode 100644 index 000000000..cfde98dc2 --- /dev/null +++ b/graphics/pokemon/exploud/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +213 172 189 +189 156 164 +139 106 123 +115 82 90 +255 238 172 +246 197 82 +238 172 24 +255 139 82 +213 82 49 +164 49 24 +115 74 0 +222 197 222 +131 131 131 +57 49 74 diff --git a/graphics/pokemon/farfetch_d/back.png b/graphics/pokemon/farfetch_d/back.png new file mode 100644 index 000000000..7f981b389 Binary files /dev/null and b/graphics/pokemon/farfetch_d/back.png differ diff --git a/graphics/pokemon/farfetch_d/footprint.png b/graphics/pokemon/farfetch_d/footprint.png new file mode 100644 index 000000000..2f08f732d Binary files /dev/null and b/graphics/pokemon/farfetch_d/footprint.png differ diff --git a/graphics/pokemon/farfetch_d/front.png b/graphics/pokemon/farfetch_d/front.png new file mode 100644 index 000000000..5b3bb3664 Binary files /dev/null and b/graphics/pokemon/farfetch_d/front.png differ diff --git a/graphics/pokemon/farfetch_d/icon.png b/graphics/pokemon/farfetch_d/icon.png new file mode 100644 index 000000000..cb3cd931b Binary files /dev/null and b/graphics/pokemon/farfetch_d/icon.png differ diff --git a/graphics/pokemon/farfetch_d/normal.pal b/graphics/pokemon/farfetch_d/normal.pal new file mode 100644 index 000000000..2a2dfd6aa --- /dev/null +++ b/graphics/pokemon/farfetch_d/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +213 213 213 +230 230 164 +197 197 131 +255 222 90 +230 172 90 +156 115 41 +205 255 139 +123 205 65 +74 131 24 +205 189 123 +180 148 82 +139 90 41 +98 65 0 +16 16 16 diff --git a/graphics/pokemon/farfetch_d/shiny.pal b/graphics/pokemon/farfetch_d/shiny.pal new file mode 100644 index 000000000..5537612ce --- /dev/null +++ b/graphics/pokemon/farfetch_d/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +213 213 213 +230 230 164 +197 197 131 +255 230 106 +230 172 90 +189 106 41 +205 255 139 +139 189 57 +98 148 16 +246 189 180 +213 148 139 +172 106 98 +131 65 57 +16 16 16 diff --git a/graphics/pokemon/fearow/back.png b/graphics/pokemon/fearow/back.png new file mode 100644 index 000000000..ae54db9a7 Binary files /dev/null and b/graphics/pokemon/fearow/back.png differ diff --git a/graphics/pokemon/fearow/footprint.png b/graphics/pokemon/fearow/footprint.png new file mode 100644 index 000000000..04ea7924d Binary files /dev/null and b/graphics/pokemon/fearow/footprint.png differ diff --git a/graphics/pokemon/fearow/front.png b/graphics/pokemon/fearow/front.png new file mode 100644 index 000000000..e4e420728 Binary files /dev/null and b/graphics/pokemon/fearow/front.png differ diff --git a/graphics/pokemon/fearow/icon.png b/graphics/pokemon/fearow/icon.png new file mode 100644 index 000000000..9a3be9393 Binary files /dev/null and b/graphics/pokemon/fearow/icon.png differ diff --git a/graphics/pokemon/fearow/normal.pal b/graphics/pokemon/fearow/normal.pal new file mode 100644 index 000000000..231165e59 --- /dev/null +++ b/graphics/pokemon/fearow/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 0 255 +238 213 172 +197 189 164 +98 82 49 +16 16 16 +255 139 148 +246 90 90 +205 57 74 +255 205 123 +246 180 90 +213 156 57 +172 115 82 +123 65 0 +246 180 90 +255 255 255 diff --git a/graphics/pokemon/fearow/shiny.pal b/graphics/pokemon/fearow/shiny.pal new file mode 100644 index 000000000..686e65a9c --- /dev/null +++ b/graphics/pokemon/fearow/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 0 255 +222 205 164 +197 180 139 +98 82 49 +16 16 16 +255 205 74 +255 164 0 +197 123 0 +255 246 131 +255 230 90 +213 197 49 +180 164 8 +115 98 0 +246 180 90 +255 255 255 diff --git a/graphics/pokemon/feebas/back.png b/graphics/pokemon/feebas/back.png new file mode 100644 index 000000000..3eabd6021 Binary files /dev/null and b/graphics/pokemon/feebas/back.png differ diff --git a/graphics/pokemon/feebas/footprint.png b/graphics/pokemon/feebas/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/feebas/footprint.png differ diff --git a/graphics/pokemon/feebas/front.png b/graphics/pokemon/feebas/front.png new file mode 100644 index 000000000..036e151e8 Binary files /dev/null and b/graphics/pokemon/feebas/front.png differ diff --git a/graphics/pokemon/feebas/icon.png b/graphics/pokemon/feebas/icon.png new file mode 100644 index 000000000..19e08797a Binary files /dev/null and b/graphics/pokemon/feebas/icon.png differ diff --git a/graphics/pokemon/feebas/normal.pal b/graphics/pokemon/feebas/normal.pal new file mode 100644 index 000000000..c66deb1e0 --- /dev/null +++ b/graphics/pokemon/feebas/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 148 98 +90 74 57 +180 164 115 +213 213 131 +238 238 156 +115 164 41 +164 205 98 +148 131 82 +180 106 106 +230 123 98 +82 82 115 +164 172 197 +205 222 255 +230 222 230 +255 255 255 +24 24 24 diff --git a/graphics/pokemon/feebas/shiny.pal b/graphics/pokemon/feebas/shiny.pal new file mode 100644 index 000000000..6d85b2866 --- /dev/null +++ b/graphics/pokemon/feebas/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 148 98 +98 65 74 +172 139 148 +205 172 180 +238 205 213 +115 164 41 +164 205 98 +139 106 115 +180 106 106 +230 123 98 +82 82 115 +164 172 197 +205 222 255 +230 222 230 +255 255 255 +41 41 41 diff --git a/graphics/pokemon/feraligatr/back.png b/graphics/pokemon/feraligatr/back.png new file mode 100644 index 000000000..d996dd8ce Binary files /dev/null and b/graphics/pokemon/feraligatr/back.png differ diff --git a/graphics/pokemon/feraligatr/footprint.png b/graphics/pokemon/feraligatr/footprint.png new file mode 100644 index 000000000..efe894289 Binary files /dev/null and b/graphics/pokemon/feraligatr/footprint.png differ diff --git a/graphics/pokemon/feraligatr/front.png b/graphics/pokemon/feraligatr/front.png new file mode 100644 index 000000000..c44e7afc2 Binary files /dev/null and b/graphics/pokemon/feraligatr/front.png differ diff --git a/graphics/pokemon/feraligatr/icon.png b/graphics/pokemon/feraligatr/icon.png new file mode 100644 index 000000000..fe3f4fca6 Binary files /dev/null and b/graphics/pokemon/feraligatr/icon.png differ diff --git a/graphics/pokemon/feraligatr/normal.pal b/graphics/pokemon/feraligatr/normal.pal new file mode 100644 index 000000000..7fc0a9eb8 --- /dev/null +++ b/graphics/pokemon/feraligatr/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +131 205 255 +90 172 230 +49 131 197 +74 74 131 +197 197 197 +255 172 90 +255 90 32 +205 41 24 +123 0 0 +255 255 156 +255 213 82 +205 172 65 +156 115 8 +16 16 16 diff --git a/graphics/pokemon/feraligatr/shiny.pal b/graphics/pokemon/feraligatr/shiny.pal new file mode 100644 index 000000000..81c5ebc2a --- /dev/null +++ b/graphics/pokemon/feraligatr/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +115 238 222 +82 205 197 +74 156 164 +41 98 123 +197 197 197 +106 156 246 +49 98 213 +41 65 156 +0 49 90 +255 255 156 +246 222 115 +213 180 74 +156 115 8 +16 16 16 diff --git a/graphics/pokemon/flaaffy/back.png b/graphics/pokemon/flaaffy/back.png new file mode 100644 index 000000000..e0ac771bf Binary files /dev/null and b/graphics/pokemon/flaaffy/back.png differ diff --git a/graphics/pokemon/flaaffy/footprint.png b/graphics/pokemon/flaaffy/footprint.png new file mode 100644 index 000000000..d1695ec80 Binary files /dev/null and b/graphics/pokemon/flaaffy/footprint.png differ diff --git a/graphics/pokemon/flaaffy/front.png b/graphics/pokemon/flaaffy/front.png new file mode 100644 index 000000000..49f794128 Binary files /dev/null and b/graphics/pokemon/flaaffy/front.png differ diff --git a/graphics/pokemon/flaaffy/icon.png b/graphics/pokemon/flaaffy/icon.png new file mode 100644 index 000000000..719ed69a3 Binary files /dev/null and b/graphics/pokemon/flaaffy/icon.png differ diff --git a/graphics/pokemon/flaaffy/normal.pal b/graphics/pokemon/flaaffy/normal.pal new file mode 100644 index 000000000..4efbb5bda --- /dev/null +++ b/graphics/pokemon/flaaffy/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +205 205 222 +156 156 180 +115 115 139 +74 74 74 +255 197 164 +255 148 123 +238 90 65 +205 57 24 +172 0 0 +131 197 255 +82 131 197 +41 65 139 +255 0 255 +16 16 16 diff --git a/graphics/pokemon/flaaffy/shiny.pal b/graphics/pokemon/flaaffy/shiny.pal new file mode 100644 index 000000000..b99745d84 --- /dev/null +++ b/graphics/pokemon/flaaffy/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +230 222 205 +189 180 148 +148 131 82 +106 82 49 +255 222 238 +255 197 213 +230 139 156 +180 98 106 +148 65 74 +98 230 16 +49 180 0 +32 106 0 +255 0 255 +16 16 16 diff --git a/graphics/pokemon/flareon/back.png b/graphics/pokemon/flareon/back.png new file mode 100644 index 000000000..c1efa1306 Binary files /dev/null and b/graphics/pokemon/flareon/back.png differ diff --git a/graphics/pokemon/flareon/footprint.png b/graphics/pokemon/flareon/footprint.png new file mode 100644 index 000000000..db5d37ed4 Binary files /dev/null and b/graphics/pokemon/flareon/footprint.png differ diff --git a/graphics/pokemon/flareon/front.png b/graphics/pokemon/flareon/front.png new file mode 100644 index 000000000..c36448b18 Binary files /dev/null and b/graphics/pokemon/flareon/front.png differ diff --git a/graphics/pokemon/flareon/icon.png b/graphics/pokemon/flareon/icon.png new file mode 100644 index 000000000..317aa61d0 Binary files /dev/null and b/graphics/pokemon/flareon/icon.png differ diff --git a/graphics/pokemon/flareon/normal.pal b/graphics/pokemon/flareon/normal.pal new file mode 100644 index 000000000..a39e1e1f7 --- /dev/null +++ b/graphics/pokemon/flareon/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 205 +255 255 255 +255 238 106 +255 230 41 +222 197 32 +148 115 8 +255 0 255 +255 0 255 +255 0 255 +115 115 123 +16 16 16 +255 0 255 +255 172 49 +255 123 0 +230 65 0 +131 32 32 diff --git a/graphics/pokemon/flareon/shiny.pal b/graphics/pokemon/flareon/shiny.pal new file mode 100644 index 000000000..60c1b337c --- /dev/null +++ b/graphics/pokemon/flareon/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 205 +255 255 255 +255 255 197 +255 255 57 +238 205 8 +164 106 0 +255 0 255 +255 0 255 +255 0 255 +115 115 123 +16 16 16 +255 0 255 +246 189 65 +222 164 41 +172 115 8 +98 57 24 diff --git a/graphics/pokemon/flygon/back.png b/graphics/pokemon/flygon/back.png new file mode 100644 index 000000000..576cff1c5 Binary files /dev/null and b/graphics/pokemon/flygon/back.png differ diff --git a/graphics/pokemon/flygon/footprint.png b/graphics/pokemon/flygon/footprint.png new file mode 100644 index 000000000..5af877878 Binary files /dev/null and b/graphics/pokemon/flygon/footprint.png differ diff --git a/graphics/pokemon/flygon/front.png b/graphics/pokemon/flygon/front.png new file mode 100644 index 000000000..310966c6e Binary files /dev/null and b/graphics/pokemon/flygon/front.png differ diff --git a/graphics/pokemon/flygon/icon.png b/graphics/pokemon/flygon/icon.png new file mode 100644 index 000000000..f033c9a88 Binary files /dev/null and b/graphics/pokemon/flygon/icon.png differ diff --git a/graphics/pokemon/flygon/normal.pal b/graphics/pokemon/flygon/normal.pal new file mode 100644 index 000000000..33888cd1a --- /dev/null +++ b/graphics/pokemon/flygon/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 197 148 +74 106 24 +156 49 49 +123 156 65 +49 90 90 +213 255 131 +172 222 115 +156 189 98 +148 213 156 +106 164 115 +90 131 90 +255 180 180 +230 115 115 +205 49 49 +0 0 0 +255 255 255 diff --git a/graphics/pokemon/flygon/shiny.pal b/graphics/pokemon/flygon/shiny.pal new file mode 100644 index 000000000..772834b38 --- /dev/null +++ b/graphics/pokemon/flygon/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 197 148 +74 106 24 +139 82 0 +123 156 65 +8 90 139 +213 255 131 +172 222 115 +156 189 98 +106 189 238 +74 156 205 +41 123 172 +255 197 82 +222 164 49 +189 131 16 +0 0 0 +255 255 255 diff --git a/graphics/pokemon/footprints/abra_footprint.png b/graphics/pokemon/footprints/abra_footprint.png deleted file mode 100644 index 42b5e416f..000000000 Binary files a/graphics/pokemon/footprints/abra_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/absol_footprint.png b/graphics/pokemon/footprints/absol_footprint.png deleted file mode 100644 index da4076f78..000000000 Binary files a/graphics/pokemon/footprints/absol_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/aerodactyl_footprint.png b/graphics/pokemon/footprints/aerodactyl_footprint.png deleted file mode 100644 index 7c5d3e6c1..000000000 Binary files a/graphics/pokemon/footprints/aerodactyl_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/aggron_footprint.png b/graphics/pokemon/footprints/aggron_footprint.png deleted file mode 100644 index 3ba6d480b..000000000 Binary files a/graphics/pokemon/footprints/aggron_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/aipom_footprint.png b/graphics/pokemon/footprints/aipom_footprint.png deleted file mode 100644 index 67f7f1188..000000000 Binary files a/graphics/pokemon/footprints/aipom_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/alakazam_footprint.png b/graphics/pokemon/footprints/alakazam_footprint.png deleted file mode 100644 index e3c3795cf..000000000 Binary files a/graphics/pokemon/footprints/alakazam_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/altaria_footprint.png b/graphics/pokemon/footprints/altaria_footprint.png deleted file mode 100644 index 6c65deae5..000000000 Binary files a/graphics/pokemon/footprints/altaria_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/ampharos_footprint.png b/graphics/pokemon/footprints/ampharos_footprint.png deleted file mode 100644 index bfc2f8034..000000000 Binary files a/graphics/pokemon/footprints/ampharos_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/anorith_footprint.png b/graphics/pokemon/footprints/anorith_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/anorith_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/arbok_footprint.png b/graphics/pokemon/footprints/arbok_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/arbok_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/arcanine_footprint.png b/graphics/pokemon/footprints/arcanine_footprint.png deleted file mode 100644 index 96b7f93ae..000000000 Binary files a/graphics/pokemon/footprints/arcanine_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/ariados_footprint.png b/graphics/pokemon/footprints/ariados_footprint.png deleted file mode 100644 index cee3b1ba5..000000000 Binary files a/graphics/pokemon/footprints/ariados_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/armaldo_footprint.png b/graphics/pokemon/footprints/armaldo_footprint.png deleted file mode 100644 index d12d2e42c..000000000 Binary files a/graphics/pokemon/footprints/armaldo_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/aron_footprint.png b/graphics/pokemon/footprints/aron_footprint.png deleted file mode 100644 index fe53cb5eb..000000000 Binary files a/graphics/pokemon/footprints/aron_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/articuno_footprint.png b/graphics/pokemon/footprints/articuno_footprint.png deleted file mode 100644 index e6e4fa9ef..000000000 Binary files a/graphics/pokemon/footprints/articuno_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/azumarill_footprint.png b/graphics/pokemon/footprints/azumarill_footprint.png deleted file mode 100644 index 904bf941c..000000000 Binary files a/graphics/pokemon/footprints/azumarill_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/azurill_footprint.png b/graphics/pokemon/footprints/azurill_footprint.png deleted file mode 100644 index 60db8e03b..000000000 Binary files a/graphics/pokemon/footprints/azurill_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/bagon_footprint.png b/graphics/pokemon/footprints/bagon_footprint.png deleted file mode 100644 index 9a93a7564..000000000 Binary files a/graphics/pokemon/footprints/bagon_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/baltoy_footprint.png b/graphics/pokemon/footprints/baltoy_footprint.png deleted file mode 100644 index 6965dbe60..000000000 Binary files a/graphics/pokemon/footprints/baltoy_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/banette_footprint.png b/graphics/pokemon/footprints/banette_footprint.png deleted file mode 100644 index a15814f2f..000000000 Binary files a/graphics/pokemon/footprints/banette_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/barboach_footprint.png b/graphics/pokemon/footprints/barboach_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/barboach_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/bayleef_footprint.png b/graphics/pokemon/footprints/bayleef_footprint.png deleted file mode 100644 index 04b375a7a..000000000 Binary files a/graphics/pokemon/footprints/bayleef_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/beautifly_footprint.png b/graphics/pokemon/footprints/beautifly_footprint.png deleted file mode 100644 index 49175cb02..000000000 Binary files a/graphics/pokemon/footprints/beautifly_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/beedrill_footprint.png b/graphics/pokemon/footprints/beedrill_footprint.png deleted file mode 100644 index 5c3f21090..000000000 Binary files a/graphics/pokemon/footprints/beedrill_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/beldum_footprint.png b/graphics/pokemon/footprints/beldum_footprint.png deleted file mode 100644 index 0554eedfe..000000000 Binary files a/graphics/pokemon/footprints/beldum_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/bellossom_footprint.png b/graphics/pokemon/footprints/bellossom_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/bellossom_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/bellsprout_footprint.png b/graphics/pokemon/footprints/bellsprout_footprint.png deleted file mode 100644 index 8fcf4f4f4..000000000 Binary files a/graphics/pokemon/footprints/bellsprout_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/blastoise_footprint.png b/graphics/pokemon/footprints/blastoise_footprint.png deleted file mode 100644 index b881f9270..000000000 Binary files a/graphics/pokemon/footprints/blastoise_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/blaziken_footprint.png b/graphics/pokemon/footprints/blaziken_footprint.png deleted file mode 100644 index cf18a353a..000000000 Binary files a/graphics/pokemon/footprints/blaziken_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/blissey_footprint.png b/graphics/pokemon/footprints/blissey_footprint.png deleted file mode 100644 index 3da3dbf93..000000000 Binary files a/graphics/pokemon/footprints/blissey_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/breloom_footprint.png b/graphics/pokemon/footprints/breloom_footprint.png deleted file mode 100644 index 98d920669..000000000 Binary files a/graphics/pokemon/footprints/breloom_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/bulbasaur_footprint.png b/graphics/pokemon/footprints/bulbasaur_footprint.png deleted file mode 100644 index 8e9ab9c6b..000000000 Binary files a/graphics/pokemon/footprints/bulbasaur_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/butterfree_footprint.png b/graphics/pokemon/footprints/butterfree_footprint.png deleted file mode 100644 index b2740e9cc..000000000 Binary files a/graphics/pokemon/footprints/butterfree_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/cacnea_footprint.png b/graphics/pokemon/footprints/cacnea_footprint.png deleted file mode 100644 index 00b6a8a7e..000000000 Binary files a/graphics/pokemon/footprints/cacnea_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/cacturne_footprint.png b/graphics/pokemon/footprints/cacturne_footprint.png deleted file mode 100644 index 5441f92d6..000000000 Binary files a/graphics/pokemon/footprints/cacturne_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/camerupt_footprint.png b/graphics/pokemon/footprints/camerupt_footprint.png deleted file mode 100644 index 40708b8a1..000000000 Binary files a/graphics/pokemon/footprints/camerupt_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/carvanha_footprint.png b/graphics/pokemon/footprints/carvanha_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/carvanha_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/cascoon_footprint.png b/graphics/pokemon/footprints/cascoon_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/cascoon_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/castform_footprint.png b/graphics/pokemon/footprints/castform_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/castform_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/caterpie_footprint.png b/graphics/pokemon/footprints/caterpie_footprint.png deleted file mode 100644 index c1c0058e7..000000000 Binary files a/graphics/pokemon/footprints/caterpie_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/celebi_footprint.png b/graphics/pokemon/footprints/celebi_footprint.png deleted file mode 100644 index 11aa4301c..000000000 Binary files a/graphics/pokemon/footprints/celebi_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/chansey_footprint.png b/graphics/pokemon/footprints/chansey_footprint.png deleted file mode 100644 index 17893b9fb..000000000 Binary files a/graphics/pokemon/footprints/chansey_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/charizard_footprint.png b/graphics/pokemon/footprints/charizard_footprint.png deleted file mode 100644 index e69f38392..000000000 Binary files a/graphics/pokemon/footprints/charizard_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/charmander_footprint.png b/graphics/pokemon/footprints/charmander_footprint.png deleted file mode 100644 index 2f7723621..000000000 Binary files a/graphics/pokemon/footprints/charmander_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/charmeleon_footprint.png b/graphics/pokemon/footprints/charmeleon_footprint.png deleted file mode 100644 index 6ec15ee20..000000000 Binary files a/graphics/pokemon/footprints/charmeleon_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/chikorita_footprint.png b/graphics/pokemon/footprints/chikorita_footprint.png deleted file mode 100644 index 3ac4abd9f..000000000 Binary files a/graphics/pokemon/footprints/chikorita_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/chimecho_footprint.png b/graphics/pokemon/footprints/chimecho_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/chimecho_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/chinchou_footprint.png b/graphics/pokemon/footprints/chinchou_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/chinchou_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/clamperl_footprint.png b/graphics/pokemon/footprints/clamperl_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/clamperl_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/claydol_footprint.png b/graphics/pokemon/footprints/claydol_footprint.png deleted file mode 100644 index 2f0bca1ac..000000000 Binary files a/graphics/pokemon/footprints/claydol_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/clefable_footprint.png b/graphics/pokemon/footprints/clefable_footprint.png deleted file mode 100644 index 5ff3e19a1..000000000 Binary files a/graphics/pokemon/footprints/clefable_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/clefairy_footprint.png b/graphics/pokemon/footprints/clefairy_footprint.png deleted file mode 100644 index 85c25a5dc..000000000 Binary files a/graphics/pokemon/footprints/clefairy_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/cleffa_footprint.png b/graphics/pokemon/footprints/cleffa_footprint.png deleted file mode 100644 index 4bf9339ae..000000000 Binary files a/graphics/pokemon/footprints/cleffa_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/cloyster_footprint.png b/graphics/pokemon/footprints/cloyster_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/cloyster_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/combusken_footprint.png b/graphics/pokemon/footprints/combusken_footprint.png deleted file mode 100644 index 6b66429d8..000000000 Binary files a/graphics/pokemon/footprints/combusken_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/corphish_footprint.png b/graphics/pokemon/footprints/corphish_footprint.png deleted file mode 100644 index f624724c7..000000000 Binary files a/graphics/pokemon/footprints/corphish_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/corsola_footprint.png b/graphics/pokemon/footprints/corsola_footprint.png deleted file mode 100644 index bae0aaf92..000000000 Binary files a/graphics/pokemon/footprints/corsola_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/cradily_footprint.png b/graphics/pokemon/footprints/cradily_footprint.png deleted file mode 100644 index 998229dc7..000000000 Binary files a/graphics/pokemon/footprints/cradily_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/crawdaunt_footprint.png b/graphics/pokemon/footprints/crawdaunt_footprint.png deleted file mode 100644 index 9169e2807..000000000 Binary files a/graphics/pokemon/footprints/crawdaunt_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/crobat_footprint.png b/graphics/pokemon/footprints/crobat_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/crobat_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/croconaw_footprint.png b/graphics/pokemon/footprints/croconaw_footprint.png deleted file mode 100644 index 43da8e68e..000000000 Binary files a/graphics/pokemon/footprints/croconaw_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/cubone_footprint.png b/graphics/pokemon/footprints/cubone_footprint.png deleted file mode 100644 index 21deee1a6..000000000 Binary files a/graphics/pokemon/footprints/cubone_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/cyndaquil_footprint.png b/graphics/pokemon/footprints/cyndaquil_footprint.png deleted file mode 100644 index 6413cbaae..000000000 Binary files a/graphics/pokemon/footprints/cyndaquil_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/delcatty_footprint.png b/graphics/pokemon/footprints/delcatty_footprint.png deleted file mode 100644 index 5ff40e5a0..000000000 Binary files a/graphics/pokemon/footprints/delcatty_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/delibird_footprint.png b/graphics/pokemon/footprints/delibird_footprint.png deleted file mode 100644 index e7348586e..000000000 Binary files a/graphics/pokemon/footprints/delibird_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/deoxys_footprint.png b/graphics/pokemon/footprints/deoxys_footprint.png deleted file mode 100644 index ea97e4014..000000000 Binary files a/graphics/pokemon/footprints/deoxys_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/dewgong_footprint.png b/graphics/pokemon/footprints/dewgong_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/dewgong_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/diglett_footprint.png b/graphics/pokemon/footprints/diglett_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/diglett_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/ditto_footprint.png b/graphics/pokemon/footprints/ditto_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/ditto_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/dodrio_footprint.png b/graphics/pokemon/footprints/dodrio_footprint.png deleted file mode 100644 index 34f85bfb3..000000000 Binary files a/graphics/pokemon/footprints/dodrio_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/doduo_footprint.png b/graphics/pokemon/footprints/doduo_footprint.png deleted file mode 100644 index 0710eca52..000000000 Binary files a/graphics/pokemon/footprints/doduo_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/donphan_footprint.png b/graphics/pokemon/footprints/donphan_footprint.png deleted file mode 100644 index 394cf6457..000000000 Binary files a/graphics/pokemon/footprints/donphan_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/dragonair_footprint.png b/graphics/pokemon/footprints/dragonair_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/dragonair_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/dragonite_footprint.png b/graphics/pokemon/footprints/dragonite_footprint.png deleted file mode 100644 index 1f41296b0..000000000 Binary files a/graphics/pokemon/footprints/dragonite_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/dratini_footprint.png b/graphics/pokemon/footprints/dratini_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/dratini_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/drowzee_footprint.png b/graphics/pokemon/footprints/drowzee_footprint.png deleted file mode 100644 index 23293423e..000000000 Binary files a/graphics/pokemon/footprints/drowzee_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/dugtrio_footprint.png b/graphics/pokemon/footprints/dugtrio_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/dugtrio_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/dunsparce_footprint.png b/graphics/pokemon/footprints/dunsparce_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/dunsparce_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/dusclops_footprint.png b/graphics/pokemon/footprints/dusclops_footprint.png deleted file mode 100644 index 752ffa353..000000000 Binary files a/graphics/pokemon/footprints/dusclops_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/duskull_footprint.png b/graphics/pokemon/footprints/duskull_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/duskull_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/dustox_footprint.png b/graphics/pokemon/footprints/dustox_footprint.png deleted file mode 100644 index f7cc85bf9..000000000 Binary files a/graphics/pokemon/footprints/dustox_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/eevee_footprint.png b/graphics/pokemon/footprints/eevee_footprint.png deleted file mode 100644 index 4e4c01c9f..000000000 Binary files a/graphics/pokemon/footprints/eevee_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/ekans_footprint.png b/graphics/pokemon/footprints/ekans_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/ekans_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/electabuzz_footprint.png b/graphics/pokemon/footprints/electabuzz_footprint.png deleted file mode 100644 index b2b4de625..000000000 Binary files a/graphics/pokemon/footprints/electabuzz_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/electrike_footprint.png b/graphics/pokemon/footprints/electrike_footprint.png deleted file mode 100644 index 8dd914b35..000000000 Binary files a/graphics/pokemon/footprints/electrike_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/electrode_footprint.png b/graphics/pokemon/footprints/electrode_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/electrode_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/elekid_footprint.png b/graphics/pokemon/footprints/elekid_footprint.png deleted file mode 100644 index 15547931c..000000000 Binary files a/graphics/pokemon/footprints/elekid_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/entei_footprint.png b/graphics/pokemon/footprints/entei_footprint.png deleted file mode 100644 index 7336df599..000000000 Binary files a/graphics/pokemon/footprints/entei_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/espeon_footprint.png b/graphics/pokemon/footprints/espeon_footprint.png deleted file mode 100644 index c7b17a4ad..000000000 Binary files a/graphics/pokemon/footprints/espeon_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/exeggcute_footprint.png b/graphics/pokemon/footprints/exeggcute_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/exeggcute_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/exeggutor_footprint.png b/graphics/pokemon/footprints/exeggutor_footprint.png deleted file mode 100644 index 6df7122f8..000000000 Binary files a/graphics/pokemon/footprints/exeggutor_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/exploud_footprint.png b/graphics/pokemon/footprints/exploud_footprint.png deleted file mode 100644 index b27283a14..000000000 Binary files a/graphics/pokemon/footprints/exploud_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/farfetch_d_footprint.png b/graphics/pokemon/footprints/farfetch_d_footprint.png deleted file mode 100644 index 2f08f732d..000000000 Binary files a/graphics/pokemon/footprints/farfetch_d_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/fearow_footprint.png b/graphics/pokemon/footprints/fearow_footprint.png deleted file mode 100644 index 04ea7924d..000000000 Binary files a/graphics/pokemon/footprints/fearow_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/feebas_footprint.png b/graphics/pokemon/footprints/feebas_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/feebas_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/feraligatr_footprint.png b/graphics/pokemon/footprints/feraligatr_footprint.png deleted file mode 100644 index efe894289..000000000 Binary files a/graphics/pokemon/footprints/feraligatr_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/flaaffy_footprint.png b/graphics/pokemon/footprints/flaaffy_footprint.png deleted file mode 100644 index d1695ec80..000000000 Binary files a/graphics/pokemon/footprints/flaaffy_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/flareon_footprint.png b/graphics/pokemon/footprints/flareon_footprint.png deleted file mode 100644 index db5d37ed4..000000000 Binary files a/graphics/pokemon/footprints/flareon_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/flygon_footprint.png b/graphics/pokemon/footprints/flygon_footprint.png deleted file mode 100644 index 5af877878..000000000 Binary files a/graphics/pokemon/footprints/flygon_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/forretress_footprint.png b/graphics/pokemon/footprints/forretress_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/forretress_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/furret_footprint.png b/graphics/pokemon/footprints/furret_footprint.png deleted file mode 100644 index 225445fb3..000000000 Binary files a/graphics/pokemon/footprints/furret_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/gardevoir_footprint.png b/graphics/pokemon/footprints/gardevoir_footprint.png deleted file mode 100644 index fd9f4755b..000000000 Binary files a/graphics/pokemon/footprints/gardevoir_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/gastly_footprint.png b/graphics/pokemon/footprints/gastly_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/gastly_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/gengar_footprint.png b/graphics/pokemon/footprints/gengar_footprint.png deleted file mode 100644 index 0eb8fcebf..000000000 Binary files a/graphics/pokemon/footprints/gengar_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/geodude_footprint.png b/graphics/pokemon/footprints/geodude_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/geodude_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/girafarig_footprint.png b/graphics/pokemon/footprints/girafarig_footprint.png deleted file mode 100644 index f7af3f622..000000000 Binary files a/graphics/pokemon/footprints/girafarig_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/glalie_footprint.png b/graphics/pokemon/footprints/glalie_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/glalie_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/gligar_footprint.png b/graphics/pokemon/footprints/gligar_footprint.png deleted file mode 100644 index 3ca9864f0..000000000 Binary files a/graphics/pokemon/footprints/gligar_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/gloom_footprint.png b/graphics/pokemon/footprints/gloom_footprint.png deleted file mode 100644 index 7e9c265e8..000000000 Binary files a/graphics/pokemon/footprints/gloom_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/golbat_footprint.png b/graphics/pokemon/footprints/golbat_footprint.png deleted file mode 100644 index 65c126fb3..000000000 Binary files a/graphics/pokemon/footprints/golbat_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/goldeen_footprint.png b/graphics/pokemon/footprints/goldeen_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/goldeen_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/golduck_footprint.png b/graphics/pokemon/footprints/golduck_footprint.png deleted file mode 100644 index 63ba752e4..000000000 Binary files a/graphics/pokemon/footprints/golduck_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/golem_footprint.png b/graphics/pokemon/footprints/golem_footprint.png deleted file mode 100644 index 8ddc6345c..000000000 Binary files a/graphics/pokemon/footprints/golem_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/gorebyss_footprint.png b/graphics/pokemon/footprints/gorebyss_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/gorebyss_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/granbull_footprint.png b/graphics/pokemon/footprints/granbull_footprint.png deleted file mode 100644 index 010b5fb67..000000000 Binary files a/graphics/pokemon/footprints/granbull_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/graveler_footprint.png b/graphics/pokemon/footprints/graveler_footprint.png deleted file mode 100644 index c836ad3f4..000000000 Binary files a/graphics/pokemon/footprints/graveler_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/grimer_footprint.png b/graphics/pokemon/footprints/grimer_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/grimer_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/groudon_footprint.png b/graphics/pokemon/footprints/groudon_footprint.png deleted file mode 100644 index cb80ba48d..000000000 Binary files a/graphics/pokemon/footprints/groudon_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/grovyle_footprint.png b/graphics/pokemon/footprints/grovyle_footprint.png deleted file mode 100644 index c78ea507c..000000000 Binary files a/graphics/pokemon/footprints/grovyle_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/growlithe_footprint.png b/graphics/pokemon/footprints/growlithe_footprint.png deleted file mode 100644 index 2517cdcba..000000000 Binary files a/graphics/pokemon/footprints/growlithe_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/grumpig_footprint.png b/graphics/pokemon/footprints/grumpig_footprint.png deleted file mode 100644 index ddff0e500..000000000 Binary files a/graphics/pokemon/footprints/grumpig_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/gulpin_footprint.png b/graphics/pokemon/footprints/gulpin_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/gulpin_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/gyarados_footprint.png b/graphics/pokemon/footprints/gyarados_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/gyarados_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/hariyama_footprint.png b/graphics/pokemon/footprints/hariyama_footprint.png deleted file mode 100644 index ab5d9f369..000000000 Binary files a/graphics/pokemon/footprints/hariyama_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/haunter_footprint.png b/graphics/pokemon/footprints/haunter_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/haunter_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/heracross_footprint.png b/graphics/pokemon/footprints/heracross_footprint.png deleted file mode 100644 index a740a17c9..000000000 Binary files a/graphics/pokemon/footprints/heracross_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/hitmonchan_footprint.png b/graphics/pokemon/footprints/hitmonchan_footprint.png deleted file mode 100644 index cfd1efd54..000000000 Binary files a/graphics/pokemon/footprints/hitmonchan_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/hitmonlee_footprint.png b/graphics/pokemon/footprints/hitmonlee_footprint.png deleted file mode 100644 index 505120110..000000000 Binary files a/graphics/pokemon/footprints/hitmonlee_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/hitmontop_footprint.png b/graphics/pokemon/footprints/hitmontop_footprint.png deleted file mode 100644 index ba8c1cca2..000000000 Binary files a/graphics/pokemon/footprints/hitmontop_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/ho_oh_footprint.png b/graphics/pokemon/footprints/ho_oh_footprint.png deleted file mode 100644 index adceb3878..000000000 Binary files a/graphics/pokemon/footprints/ho_oh_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/hoothoot_footprint.png b/graphics/pokemon/footprints/hoothoot_footprint.png deleted file mode 100644 index 1eacf9116..000000000 Binary files a/graphics/pokemon/footprints/hoothoot_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/hoppip_footprint.png b/graphics/pokemon/footprints/hoppip_footprint.png deleted file mode 100644 index 0be22ed86..000000000 Binary files a/graphics/pokemon/footprints/hoppip_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/horsea_footprint.png b/graphics/pokemon/footprints/horsea_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/horsea_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/houndoom_footprint.png b/graphics/pokemon/footprints/houndoom_footprint.png deleted file mode 100644 index b1f2c80f4..000000000 Binary files a/graphics/pokemon/footprints/houndoom_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/houndour_footprint.png b/graphics/pokemon/footprints/houndour_footprint.png deleted file mode 100644 index 3f8161431..000000000 Binary files a/graphics/pokemon/footprints/houndour_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/huntail_footprint.png b/graphics/pokemon/footprints/huntail_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/huntail_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/hypno_footprint.png b/graphics/pokemon/footprints/hypno_footprint.png deleted file mode 100644 index 51f734973..000000000 Binary files a/graphics/pokemon/footprints/hypno_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/igglybuff_footprint.png b/graphics/pokemon/footprints/igglybuff_footprint.png deleted file mode 100644 index bbb7352a6..000000000 Binary files a/graphics/pokemon/footprints/igglybuff_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/illumise_footprint.png b/graphics/pokemon/footprints/illumise_footprint.png deleted file mode 100644 index 451d532b2..000000000 Binary files a/graphics/pokemon/footprints/illumise_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/ivysaur_footprint.png b/graphics/pokemon/footprints/ivysaur_footprint.png deleted file mode 100644 index 29206b935..000000000 Binary files a/graphics/pokemon/footprints/ivysaur_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/jigglypuff_footprint.png b/graphics/pokemon/footprints/jigglypuff_footprint.png deleted file mode 100644 index 59b5f1171..000000000 Binary files a/graphics/pokemon/footprints/jigglypuff_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/jirachi_footprint.png b/graphics/pokemon/footprints/jirachi_footprint.png deleted file mode 100644 index 856bb5faa..000000000 Binary files a/graphics/pokemon/footprints/jirachi_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/jolteon_footprint.png b/graphics/pokemon/footprints/jolteon_footprint.png deleted file mode 100644 index d1e9477b3..000000000 Binary files a/graphics/pokemon/footprints/jolteon_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/jumpluff_footprint.png b/graphics/pokemon/footprints/jumpluff_footprint.png deleted file mode 100644 index 9cd0f5938..000000000 Binary files a/graphics/pokemon/footprints/jumpluff_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/jynx_footprint.png b/graphics/pokemon/footprints/jynx_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/jynx_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/kabuto_footprint.png b/graphics/pokemon/footprints/kabuto_footprint.png deleted file mode 100644 index 6965dbe60..000000000 Binary files a/graphics/pokemon/footprints/kabuto_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/kabutops_footprint.png b/graphics/pokemon/footprints/kabutops_footprint.png deleted file mode 100644 index 127b741d8..000000000 Binary files a/graphics/pokemon/footprints/kabutops_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/kadabra_footprint.png b/graphics/pokemon/footprints/kadabra_footprint.png deleted file mode 100644 index a699f2987..000000000 Binary files a/graphics/pokemon/footprints/kadabra_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/kakuna_footprint.png b/graphics/pokemon/footprints/kakuna_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/kakuna_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/kangaskhan_footprint.png b/graphics/pokemon/footprints/kangaskhan_footprint.png deleted file mode 100644 index 7753a4a71..000000000 Binary files a/graphics/pokemon/footprints/kangaskhan_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/kecleon_footprint.png b/graphics/pokemon/footprints/kecleon_footprint.png deleted file mode 100644 index 3c6968437..000000000 Binary files a/graphics/pokemon/footprints/kecleon_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/kingdra_footprint.png b/graphics/pokemon/footprints/kingdra_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/kingdra_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/kingler_footprint.png b/graphics/pokemon/footprints/kingler_footprint.png deleted file mode 100644 index b75db30dc..000000000 Binary files a/graphics/pokemon/footprints/kingler_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/kirlia_footprint.png b/graphics/pokemon/footprints/kirlia_footprint.png deleted file mode 100644 index c1c0058e7..000000000 Binary files a/graphics/pokemon/footprints/kirlia_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/koffing_footprint.png b/graphics/pokemon/footprints/koffing_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/koffing_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/krabby_footprint.png b/graphics/pokemon/footprints/krabby_footprint.png deleted file mode 100644 index eae28fe5e..000000000 Binary files a/graphics/pokemon/footprints/krabby_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/kyogre_footprint.png b/graphics/pokemon/footprints/kyogre_footprint.png deleted file mode 100644 index 8d58ee462..000000000 Binary files a/graphics/pokemon/footprints/kyogre_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/lairon_footprint.png b/graphics/pokemon/footprints/lairon_footprint.png deleted file mode 100644 index 9a6527c1c..000000000 Binary files a/graphics/pokemon/footprints/lairon_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/lanturn_footprint.png b/graphics/pokemon/footprints/lanturn_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/lanturn_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/lapras_footprint.png b/graphics/pokemon/footprints/lapras_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/lapras_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/larvitar_footprint.png b/graphics/pokemon/footprints/larvitar_footprint.png deleted file mode 100644 index a31e8d7f3..000000000 Binary files a/graphics/pokemon/footprints/larvitar_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/latias_footprint.png b/graphics/pokemon/footprints/latias_footprint.png deleted file mode 100644 index 0419630c1..000000000 Binary files a/graphics/pokemon/footprints/latias_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/latios_footprint.png b/graphics/pokemon/footprints/latios_footprint.png deleted file mode 100644 index f77d0fa86..000000000 Binary files a/graphics/pokemon/footprints/latios_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/ledian_footprint.png b/graphics/pokemon/footprints/ledian_footprint.png deleted file mode 100644 index 5c2d6221f..000000000 Binary files a/graphics/pokemon/footprints/ledian_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/ledyba_footprint.png b/graphics/pokemon/footprints/ledyba_footprint.png deleted file mode 100644 index a52ed2560..000000000 Binary files a/graphics/pokemon/footprints/ledyba_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/lickitung_footprint.png b/graphics/pokemon/footprints/lickitung_footprint.png deleted file mode 100644 index 1f88f23fc..000000000 Binary files a/graphics/pokemon/footprints/lickitung_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/lileep_footprint.png b/graphics/pokemon/footprints/lileep_footprint.png deleted file mode 100644 index ce6b2790e..000000000 Binary files a/graphics/pokemon/footprints/lileep_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/linoone_footprint.png b/graphics/pokemon/footprints/linoone_footprint.png deleted file mode 100644 index 8d83166d3..000000000 Binary files a/graphics/pokemon/footprints/linoone_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/lombre_footprint.png b/graphics/pokemon/footprints/lombre_footprint.png deleted file mode 100644 index 051e5ab55..000000000 Binary files a/graphics/pokemon/footprints/lombre_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/lotad_footprint.png b/graphics/pokemon/footprints/lotad_footprint.png deleted file mode 100644 index caac6945f..000000000 Binary files a/graphics/pokemon/footprints/lotad_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/loudred_footprint.png b/graphics/pokemon/footprints/loudred_footprint.png deleted file mode 100644 index 604af9000..000000000 Binary files a/graphics/pokemon/footprints/loudred_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/ludicolo_footprint.png b/graphics/pokemon/footprints/ludicolo_footprint.png deleted file mode 100644 index 23163f358..000000000 Binary files a/graphics/pokemon/footprints/ludicolo_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/lugia_footprint.png b/graphics/pokemon/footprints/lugia_footprint.png deleted file mode 100644 index e6642ed07..000000000 Binary files a/graphics/pokemon/footprints/lugia_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/lunatone_footprint.png b/graphics/pokemon/footprints/lunatone_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/lunatone_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/luvdisc_footprint.png b/graphics/pokemon/footprints/luvdisc_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/luvdisc_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/machamp_footprint.png b/graphics/pokemon/footprints/machamp_footprint.png deleted file mode 100644 index e562fd08c..000000000 Binary files a/graphics/pokemon/footprints/machamp_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/machoke_footprint.png b/graphics/pokemon/footprints/machoke_footprint.png deleted file mode 100644 index d9009d3e1..000000000 Binary files a/graphics/pokemon/footprints/machoke_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/machop_footprint.png b/graphics/pokemon/footprints/machop_footprint.png deleted file mode 100644 index 8b2808553..000000000 Binary files a/graphics/pokemon/footprints/machop_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/magby_footprint.png b/graphics/pokemon/footprints/magby_footprint.png deleted file mode 100644 index 655d0ca2b..000000000 Binary files a/graphics/pokemon/footprints/magby_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/magcargo_footprint.png b/graphics/pokemon/footprints/magcargo_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/magcargo_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/magikarp_footprint.png b/graphics/pokemon/footprints/magikarp_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/magikarp_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/magmar_footprint.png b/graphics/pokemon/footprints/magmar_footprint.png deleted file mode 100644 index 17de53a46..000000000 Binary files a/graphics/pokemon/footprints/magmar_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/magnemite_footprint.png b/graphics/pokemon/footprints/magnemite_footprint.png deleted file mode 100644 index f710e5028..000000000 Binary files a/graphics/pokemon/footprints/magnemite_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/magneton_footprint.png b/graphics/pokemon/footprints/magneton_footprint.png deleted file mode 100644 index 00b8b0ebf..000000000 Binary files a/graphics/pokemon/footprints/magneton_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/makuhita_footprint.png b/graphics/pokemon/footprints/makuhita_footprint.png deleted file mode 100644 index 3da20ccb3..000000000 Binary files a/graphics/pokemon/footprints/makuhita_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/manectric_footprint.png b/graphics/pokemon/footprints/manectric_footprint.png deleted file mode 100644 index 4f4903bf9..000000000 Binary files a/graphics/pokemon/footprints/manectric_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/mankey_footprint.png b/graphics/pokemon/footprints/mankey_footprint.png deleted file mode 100644 index f02036af5..000000000 Binary files a/graphics/pokemon/footprints/mankey_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/mantine_footprint.png b/graphics/pokemon/footprints/mantine_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/mantine_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/mareep_footprint.png b/graphics/pokemon/footprints/mareep_footprint.png deleted file mode 100644 index 2913a4c48..000000000 Binary files a/graphics/pokemon/footprints/mareep_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/marill_footprint.png b/graphics/pokemon/footprints/marill_footprint.png deleted file mode 100644 index a09d8f2c0..000000000 Binary files a/graphics/pokemon/footprints/marill_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/marowak_footprint.png b/graphics/pokemon/footprints/marowak_footprint.png deleted file mode 100644 index fbde41d04..000000000 Binary files a/graphics/pokemon/footprints/marowak_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/marshtomp_footprint.png b/graphics/pokemon/footprints/marshtomp_footprint.png deleted file mode 100644 index 3c232ccad..000000000 Binary files a/graphics/pokemon/footprints/marshtomp_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/masquerain_footprint.png b/graphics/pokemon/footprints/masquerain_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/masquerain_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/mawile_footprint.png b/graphics/pokemon/footprints/mawile_footprint.png deleted file mode 100644 index 5195fd4df..000000000 Binary files a/graphics/pokemon/footprints/mawile_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/medicham_footprint.png b/graphics/pokemon/footprints/medicham_footprint.png deleted file mode 100644 index 804e8c1d8..000000000 Binary files a/graphics/pokemon/footprints/medicham_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/meditite_footprint.png b/graphics/pokemon/footprints/meditite_footprint.png deleted file mode 100644 index 034cb0df8..000000000 Binary files a/graphics/pokemon/footprints/meditite_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/meganium_footprint.png b/graphics/pokemon/footprints/meganium_footprint.png deleted file mode 100644 index 39303ac4f..000000000 Binary files a/graphics/pokemon/footprints/meganium_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/meowth_footprint.png b/graphics/pokemon/footprints/meowth_footprint.png deleted file mode 100644 index 7dc20ada7..000000000 Binary files a/graphics/pokemon/footprints/meowth_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/metagross_footprint.png b/graphics/pokemon/footprints/metagross_footprint.png deleted file mode 100644 index 07f91d604..000000000 Binary files a/graphics/pokemon/footprints/metagross_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/metang_footprint.png b/graphics/pokemon/footprints/metang_footprint.png deleted file mode 100644 index 5b0f8f5b0..000000000 Binary files a/graphics/pokemon/footprints/metang_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/metapod_footprint.png b/graphics/pokemon/footprints/metapod_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/metapod_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/mew_footprint.png b/graphics/pokemon/footprints/mew_footprint.png deleted file mode 100644 index afbba43ac..000000000 Binary files a/graphics/pokemon/footprints/mew_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/mewtwo_footprint.png b/graphics/pokemon/footprints/mewtwo_footprint.png deleted file mode 100644 index 0f7573dd3..000000000 Binary files a/graphics/pokemon/footprints/mewtwo_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/mightyena_footprint.png b/graphics/pokemon/footprints/mightyena_footprint.png deleted file mode 100644 index b39af65bc..000000000 Binary files a/graphics/pokemon/footprints/mightyena_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/milotic_footprint.png b/graphics/pokemon/footprints/milotic_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/milotic_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/miltank_footprint.png b/graphics/pokemon/footprints/miltank_footprint.png deleted file mode 100644 index a7162cd21..000000000 Binary files a/graphics/pokemon/footprints/miltank_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/minun_footprint.png b/graphics/pokemon/footprints/minun_footprint.png deleted file mode 100644 index 1071b8069..000000000 Binary files a/graphics/pokemon/footprints/minun_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/misdreavus_footprint.png b/graphics/pokemon/footprints/misdreavus_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/misdreavus_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/moltres_footprint.png b/graphics/pokemon/footprints/moltres_footprint.png deleted file mode 100644 index 3900403bd..000000000 Binary files a/graphics/pokemon/footprints/moltres_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/mr_mime_footprint.png b/graphics/pokemon/footprints/mr_mime_footprint.png deleted file mode 100644 index cb0aff1a3..000000000 Binary files a/graphics/pokemon/footprints/mr_mime_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/mudkip_footprint.png b/graphics/pokemon/footprints/mudkip_footprint.png deleted file mode 100644 index 490db6e25..000000000 Binary files a/graphics/pokemon/footprints/mudkip_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/muk_footprint.png b/graphics/pokemon/footprints/muk_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/muk_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/murkrow_footprint.png b/graphics/pokemon/footprints/murkrow_footprint.png deleted file mode 100644 index 0f0566834..000000000 Binary files a/graphics/pokemon/footprints/murkrow_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/natu_footprint.png b/graphics/pokemon/footprints/natu_footprint.png deleted file mode 100644 index f17821fc0..000000000 Binary files a/graphics/pokemon/footprints/natu_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/nidoking_footprint.png b/graphics/pokemon/footprints/nidoking_footprint.png deleted file mode 100644 index 577e14f30..000000000 Binary files a/graphics/pokemon/footprints/nidoking_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/nidoqueen_footprint.png b/graphics/pokemon/footprints/nidoqueen_footprint.png deleted file mode 100644 index c3156e621..000000000 Binary files a/graphics/pokemon/footprints/nidoqueen_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/nidoran_f_footprint.png b/graphics/pokemon/footprints/nidoran_f_footprint.png deleted file mode 100644 index f673df112..000000000 Binary files a/graphics/pokemon/footprints/nidoran_f_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/nidoran_m_footprint.png b/graphics/pokemon/footprints/nidoran_m_footprint.png deleted file mode 100644 index 874c60781..000000000 Binary files a/graphics/pokemon/footprints/nidoran_m_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/nidorina_footprint.png b/graphics/pokemon/footprints/nidorina_footprint.png deleted file mode 100644 index 94553054a..000000000 Binary files a/graphics/pokemon/footprints/nidorina_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/nidorino_footprint.png b/graphics/pokemon/footprints/nidorino_footprint.png deleted file mode 100644 index eaa67b379..000000000 Binary files a/graphics/pokemon/footprints/nidorino_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/nincada_footprint.png b/graphics/pokemon/footprints/nincada_footprint.png deleted file mode 100644 index deea05721..000000000 Binary files a/graphics/pokemon/footprints/nincada_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/ninetales_footprint.png b/graphics/pokemon/footprints/ninetales_footprint.png deleted file mode 100644 index 3f1f0247e..000000000 Binary files a/graphics/pokemon/footprints/ninetales_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/ninjask_footprint.png b/graphics/pokemon/footprints/ninjask_footprint.png deleted file mode 100644 index eacba16dc..000000000 Binary files a/graphics/pokemon/footprints/ninjask_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/noctowl_footprint.png b/graphics/pokemon/footprints/noctowl_footprint.png deleted file mode 100644 index 89ed409e9..000000000 Binary files a/graphics/pokemon/footprints/noctowl_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/nosepass_footprint.png b/graphics/pokemon/footprints/nosepass_footprint.png deleted file mode 100644 index 9b9ad2708..000000000 Binary files a/graphics/pokemon/footprints/nosepass_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/numel_footprint.png b/graphics/pokemon/footprints/numel_footprint.png deleted file mode 100644 index 6238f9400..000000000 Binary files a/graphics/pokemon/footprints/numel_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/nuzleaf_footprint.png b/graphics/pokemon/footprints/nuzleaf_footprint.png deleted file mode 100644 index b35288e05..000000000 Binary files a/graphics/pokemon/footprints/nuzleaf_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/octillery_footprint.png b/graphics/pokemon/footprints/octillery_footprint.png deleted file mode 100644 index afa1f5433..000000000 Binary files a/graphics/pokemon/footprints/octillery_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/oddish_footprint.png b/graphics/pokemon/footprints/oddish_footprint.png deleted file mode 100644 index d38175273..000000000 Binary files a/graphics/pokemon/footprints/oddish_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/omanyte_footprint.png b/graphics/pokemon/footprints/omanyte_footprint.png deleted file mode 100644 index f5eb9fdba..000000000 Binary files a/graphics/pokemon/footprints/omanyte_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/omastar_footprint.png b/graphics/pokemon/footprints/omastar_footprint.png deleted file mode 100644 index fdd911ecf..000000000 Binary files a/graphics/pokemon/footprints/omastar_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/onix_footprint.png b/graphics/pokemon/footprints/onix_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/onix_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/paras_footprint.png b/graphics/pokemon/footprints/paras_footprint.png deleted file mode 100644 index f8d7574d2..000000000 Binary files a/graphics/pokemon/footprints/paras_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/parasect_footprint.png b/graphics/pokemon/footprints/parasect_footprint.png deleted file mode 100644 index e0f1715f2..000000000 Binary files a/graphics/pokemon/footprints/parasect_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/pelipper_footprint.png b/graphics/pokemon/footprints/pelipper_footprint.png deleted file mode 100644 index 54718d259..000000000 Binary files a/graphics/pokemon/footprints/pelipper_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/persian_footprint.png b/graphics/pokemon/footprints/persian_footprint.png deleted file mode 100644 index 33f25f0aa..000000000 Binary files a/graphics/pokemon/footprints/persian_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/phanpy_footprint.png b/graphics/pokemon/footprints/phanpy_footprint.png deleted file mode 100644 index 70498b18f..000000000 Binary files a/graphics/pokemon/footprints/phanpy_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/pichu_footprint.png b/graphics/pokemon/footprints/pichu_footprint.png deleted file mode 100644 index 823c7e32d..000000000 Binary files a/graphics/pokemon/footprints/pichu_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/pidgeot_footprint.png b/graphics/pokemon/footprints/pidgeot_footprint.png deleted file mode 100644 index 025341554..000000000 Binary files a/graphics/pokemon/footprints/pidgeot_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/pidgeotto_footprint.png b/graphics/pokemon/footprints/pidgeotto_footprint.png deleted file mode 100644 index c507f72b8..000000000 Binary files a/graphics/pokemon/footprints/pidgeotto_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/pidgey_footprint.png b/graphics/pokemon/footprints/pidgey_footprint.png deleted file mode 100644 index 6fe6e4282..000000000 Binary files a/graphics/pokemon/footprints/pidgey_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/pikachu_footprint.png b/graphics/pokemon/footprints/pikachu_footprint.png deleted file mode 100644 index a8ee2e4ac..000000000 Binary files a/graphics/pokemon/footprints/pikachu_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/piloswine_footprint.png b/graphics/pokemon/footprints/piloswine_footprint.png deleted file mode 100644 index 0b7405ece..000000000 Binary files a/graphics/pokemon/footprints/piloswine_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/pineco_footprint.png b/graphics/pokemon/footprints/pineco_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/pineco_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/pinsir_footprint.png b/graphics/pokemon/footprints/pinsir_footprint.png deleted file mode 100644 index ebd22101e..000000000 Binary files a/graphics/pokemon/footprints/pinsir_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/plusle_footprint.png b/graphics/pokemon/footprints/plusle_footprint.png deleted file mode 100644 index 1071b8069..000000000 Binary files a/graphics/pokemon/footprints/plusle_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/politoed_footprint.png b/graphics/pokemon/footprints/politoed_footprint.png deleted file mode 100644 index f97b78994..000000000 Binary files a/graphics/pokemon/footprints/politoed_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/poliwag_footprint.png b/graphics/pokemon/footprints/poliwag_footprint.png deleted file mode 100644 index 04e411726..000000000 Binary files a/graphics/pokemon/footprints/poliwag_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/poliwhirl_footprint.png b/graphics/pokemon/footprints/poliwhirl_footprint.png deleted file mode 100644 index 14f6c2ea9..000000000 Binary files a/graphics/pokemon/footprints/poliwhirl_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/poliwrath_footprint.png b/graphics/pokemon/footprints/poliwrath_footprint.png deleted file mode 100644 index 8f562fcef..000000000 Binary files a/graphics/pokemon/footprints/poliwrath_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/ponyta_footprint.png b/graphics/pokemon/footprints/ponyta_footprint.png deleted file mode 100644 index 906ee7a5b..000000000 Binary files a/graphics/pokemon/footprints/ponyta_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/poochyena_footprint.png b/graphics/pokemon/footprints/poochyena_footprint.png deleted file mode 100644 index c4afe995f..000000000 Binary files a/graphics/pokemon/footprints/poochyena_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/porygon2_footprint.png b/graphics/pokemon/footprints/porygon2_footprint.png deleted file mode 100644 index f92224af3..000000000 Binary files a/graphics/pokemon/footprints/porygon2_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/porygon_footprint.png b/graphics/pokemon/footprints/porygon_footprint.png deleted file mode 100644 index 02243e3bc..000000000 Binary files a/graphics/pokemon/footprints/porygon_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/primeape_footprint.png b/graphics/pokemon/footprints/primeape_footprint.png deleted file mode 100644 index f4c90ee17..000000000 Binary files a/graphics/pokemon/footprints/primeape_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/psyduck_footprint.png b/graphics/pokemon/footprints/psyduck_footprint.png deleted file mode 100644 index 4dff44800..000000000 Binary files a/graphics/pokemon/footprints/psyduck_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/pupitar_footprint.png b/graphics/pokemon/footprints/pupitar_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/pupitar_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/quagsire_footprint.png b/graphics/pokemon/footprints/quagsire_footprint.png deleted file mode 100644 index d04039763..000000000 Binary files a/graphics/pokemon/footprints/quagsire_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/question_mark_footprint.png b/graphics/pokemon/footprints/question_mark_footprint.png deleted file mode 100644 index 7c4f45eaa..000000000 Binary files a/graphics/pokemon/footprints/question_mark_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/quilava_footprint.png b/graphics/pokemon/footprints/quilava_footprint.png deleted file mode 100644 index 28324dd7c..000000000 Binary files a/graphics/pokemon/footprints/quilava_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/qwilfish_footprint.png b/graphics/pokemon/footprints/qwilfish_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/qwilfish_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/raichu_footprint.png b/graphics/pokemon/footprints/raichu_footprint.png deleted file mode 100644 index 9f2ac3993..000000000 Binary files a/graphics/pokemon/footprints/raichu_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/raikou_footprint.png b/graphics/pokemon/footprints/raikou_footprint.png deleted file mode 100644 index b7081dcd3..000000000 Binary files a/graphics/pokemon/footprints/raikou_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/ralts_footprint.png b/graphics/pokemon/footprints/ralts_footprint.png deleted file mode 100644 index 6965dbe60..000000000 Binary files a/graphics/pokemon/footprints/ralts_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/rapidash_footprint.png b/graphics/pokemon/footprints/rapidash_footprint.png deleted file mode 100644 index 3361489fd..000000000 Binary files a/graphics/pokemon/footprints/rapidash_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/raticate_footprint.png b/graphics/pokemon/footprints/raticate_footprint.png deleted file mode 100644 index 6628cfdd7..000000000 Binary files a/graphics/pokemon/footprints/raticate_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/rattata_footprint.png b/graphics/pokemon/footprints/rattata_footprint.png deleted file mode 100644 index 008b1ddc0..000000000 Binary files a/graphics/pokemon/footprints/rattata_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/rayquaza_footprint.png b/graphics/pokemon/footprints/rayquaza_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/rayquaza_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/regice_footprint.png b/graphics/pokemon/footprints/regice_footprint.png deleted file mode 100644 index 6965dbe60..000000000 Binary files a/graphics/pokemon/footprints/regice_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/regirock_footprint.png b/graphics/pokemon/footprints/regirock_footprint.png deleted file mode 100644 index 44da2a57f..000000000 Binary files a/graphics/pokemon/footprints/regirock_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/registeel_footprint.png b/graphics/pokemon/footprints/registeel_footprint.png deleted file mode 100644 index e191faabc..000000000 Binary files a/graphics/pokemon/footprints/registeel_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/relicanth_footprint.png b/graphics/pokemon/footprints/relicanth_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/relicanth_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/remoraid_footprint.png b/graphics/pokemon/footprints/remoraid_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/remoraid_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/rhydon_footprint.png b/graphics/pokemon/footprints/rhydon_footprint.png deleted file mode 100644 index df6d8fced..000000000 Binary files a/graphics/pokemon/footprints/rhydon_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/rhyhorn_footprint.png b/graphics/pokemon/footprints/rhyhorn_footprint.png deleted file mode 100644 index 632b753c2..000000000 Binary files a/graphics/pokemon/footprints/rhyhorn_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/roselia_footprint.png b/graphics/pokemon/footprints/roselia_footprint.png deleted file mode 100644 index bedf2ab69..000000000 Binary files a/graphics/pokemon/footprints/roselia_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/sableye_footprint.png b/graphics/pokemon/footprints/sableye_footprint.png deleted file mode 100644 index 204d8da54..000000000 Binary files a/graphics/pokemon/footprints/sableye_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/salamence_footprint.png b/graphics/pokemon/footprints/salamence_footprint.png deleted file mode 100644 index 2440a370f..000000000 Binary files a/graphics/pokemon/footprints/salamence_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/sandshrew_footprint.png b/graphics/pokemon/footprints/sandshrew_footprint.png deleted file mode 100644 index 481de0993..000000000 Binary files a/graphics/pokemon/footprints/sandshrew_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/sandslash_footprint.png b/graphics/pokemon/footprints/sandslash_footprint.png deleted file mode 100644 index 431ca99be..000000000 Binary files a/graphics/pokemon/footprints/sandslash_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/sceptile_footprint.png b/graphics/pokemon/footprints/sceptile_footprint.png deleted file mode 100644 index 1958a4778..000000000 Binary files a/graphics/pokemon/footprints/sceptile_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/scizor_footprint.png b/graphics/pokemon/footprints/scizor_footprint.png deleted file mode 100644 index 00824374a..000000000 Binary files a/graphics/pokemon/footprints/scizor_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/scyther_footprint.png b/graphics/pokemon/footprints/scyther_footprint.png deleted file mode 100644 index c6b773028..000000000 Binary files a/graphics/pokemon/footprints/scyther_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/seadra_footprint.png b/graphics/pokemon/footprints/seadra_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/seadra_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/seaking_footprint.png b/graphics/pokemon/footprints/seaking_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/seaking_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/sealeo_footprint.png b/graphics/pokemon/footprints/sealeo_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/sealeo_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/seedot_footprint.png b/graphics/pokemon/footprints/seedot_footprint.png deleted file mode 100644 index 9b41f13ed..000000000 Binary files a/graphics/pokemon/footprints/seedot_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/seel_footprint.png b/graphics/pokemon/footprints/seel_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/seel_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/sentret_footprint.png b/graphics/pokemon/footprints/sentret_footprint.png deleted file mode 100644 index 49ab94c0b..000000000 Binary files a/graphics/pokemon/footprints/sentret_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/seviper_footprint.png b/graphics/pokemon/footprints/seviper_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/seviper_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/sharpedo_footprint.png b/graphics/pokemon/footprints/sharpedo_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/sharpedo_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/shedinja_footprint.png b/graphics/pokemon/footprints/shedinja_footprint.png deleted file mode 100644 index d4118d5e6..000000000 Binary files a/graphics/pokemon/footprints/shedinja_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/shelgon_footprint.png b/graphics/pokemon/footprints/shelgon_footprint.png deleted file mode 100644 index e2d61b9bc..000000000 Binary files a/graphics/pokemon/footprints/shelgon_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/shellder_footprint.png b/graphics/pokemon/footprints/shellder_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/shellder_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/shiftry_footprint.png b/graphics/pokemon/footprints/shiftry_footprint.png deleted file mode 100644 index 3ea82a3da..000000000 Binary files a/graphics/pokemon/footprints/shiftry_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/shroomish_footprint.png b/graphics/pokemon/footprints/shroomish_footprint.png deleted file mode 100644 index d3a5986ce..000000000 Binary files a/graphics/pokemon/footprints/shroomish_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/shuckle_footprint.png b/graphics/pokemon/footprints/shuckle_footprint.png deleted file mode 100644 index e26b60bcd..000000000 Binary files a/graphics/pokemon/footprints/shuckle_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/shuppet_footprint.png b/graphics/pokemon/footprints/shuppet_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/shuppet_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/silcoon_footprint.png b/graphics/pokemon/footprints/silcoon_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/silcoon_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/skarmory_footprint.png b/graphics/pokemon/footprints/skarmory_footprint.png deleted file mode 100644 index 1134fec29..000000000 Binary files a/graphics/pokemon/footprints/skarmory_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/skiploom_footprint.png b/graphics/pokemon/footprints/skiploom_footprint.png deleted file mode 100644 index efa7f5034..000000000 Binary files a/graphics/pokemon/footprints/skiploom_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/skitty_footprint.png b/graphics/pokemon/footprints/skitty_footprint.png deleted file mode 100644 index 355153dcb..000000000 Binary files a/graphics/pokemon/footprints/skitty_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/slaking_footprint.png b/graphics/pokemon/footprints/slaking_footprint.png deleted file mode 100644 index c2c20413b..000000000 Binary files a/graphics/pokemon/footprints/slaking_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/slakoth_footprint.png b/graphics/pokemon/footprints/slakoth_footprint.png deleted file mode 100644 index ec258f41b..000000000 Binary files a/graphics/pokemon/footprints/slakoth_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/slowbro_footprint.png b/graphics/pokemon/footprints/slowbro_footprint.png deleted file mode 100644 index c4f82e405..000000000 Binary files a/graphics/pokemon/footprints/slowbro_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/slowking_footprint.png b/graphics/pokemon/footprints/slowking_footprint.png deleted file mode 100644 index 52593624a..000000000 Binary files a/graphics/pokemon/footprints/slowking_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/slowpoke_footprint.png b/graphics/pokemon/footprints/slowpoke_footprint.png deleted file mode 100644 index a66ebbc32..000000000 Binary files a/graphics/pokemon/footprints/slowpoke_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/slugma_footprint.png b/graphics/pokemon/footprints/slugma_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/slugma_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/smeargle_footprint.png b/graphics/pokemon/footprints/smeargle_footprint.png deleted file mode 100644 index b946130cd..000000000 Binary files a/graphics/pokemon/footprints/smeargle_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/smoochum_footprint.png b/graphics/pokemon/footprints/smoochum_footprint.png deleted file mode 100644 index e901d9334..000000000 Binary files a/graphics/pokemon/footprints/smoochum_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/sneasel_footprint.png b/graphics/pokemon/footprints/sneasel_footprint.png deleted file mode 100644 index 2159ef3dc..000000000 Binary files a/graphics/pokemon/footprints/sneasel_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/snorlax_footprint.png b/graphics/pokemon/footprints/snorlax_footprint.png deleted file mode 100644 index d3d25c4bc..000000000 Binary files a/graphics/pokemon/footprints/snorlax_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/snorunt_footprint.png b/graphics/pokemon/footprints/snorunt_footprint.png deleted file mode 100644 index 14277b506..000000000 Binary files a/graphics/pokemon/footprints/snorunt_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/snubbull_footprint.png b/graphics/pokemon/footprints/snubbull_footprint.png deleted file mode 100644 index 443847cdd..000000000 Binary files a/graphics/pokemon/footprints/snubbull_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/solrock_footprint.png b/graphics/pokemon/footprints/solrock_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/solrock_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/spearow_footprint.png b/graphics/pokemon/footprints/spearow_footprint.png deleted file mode 100644 index 6fe6e4282..000000000 Binary files a/graphics/pokemon/footprints/spearow_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/spheal_footprint.png b/graphics/pokemon/footprints/spheal_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/spheal_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/spinarak_footprint.png b/graphics/pokemon/footprints/spinarak_footprint.png deleted file mode 100644 index 6965dbe60..000000000 Binary files a/graphics/pokemon/footprints/spinarak_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/spinda_footprint.png b/graphics/pokemon/footprints/spinda_footprint.png deleted file mode 100644 index 7be943a89..000000000 Binary files a/graphics/pokemon/footprints/spinda_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/spoink_footprint.png b/graphics/pokemon/footprints/spoink_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/spoink_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/squirtle_footprint.png b/graphics/pokemon/footprints/squirtle_footprint.png deleted file mode 100644 index 696cd6d42..000000000 Binary files a/graphics/pokemon/footprints/squirtle_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/stantler_footprint.png b/graphics/pokemon/footprints/stantler_footprint.png deleted file mode 100644 index 7f2b0f532..000000000 Binary files a/graphics/pokemon/footprints/stantler_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/starmie_footprint.png b/graphics/pokemon/footprints/starmie_footprint.png deleted file mode 100644 index c1c0058e7..000000000 Binary files a/graphics/pokemon/footprints/starmie_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/staryu_footprint.png b/graphics/pokemon/footprints/staryu_footprint.png deleted file mode 100644 index c1c0058e7..000000000 Binary files a/graphics/pokemon/footprints/staryu_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/steelix_footprint.png b/graphics/pokemon/footprints/steelix_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/steelix_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/sudowoodo_footprint.png b/graphics/pokemon/footprints/sudowoodo_footprint.png deleted file mode 100644 index 4ed751a79..000000000 Binary files a/graphics/pokemon/footprints/sudowoodo_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/suicune_footprint.png b/graphics/pokemon/footprints/suicune_footprint.png deleted file mode 100644 index 946c35dd0..000000000 Binary files a/graphics/pokemon/footprints/suicune_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/sunflora_footprint.png b/graphics/pokemon/footprints/sunflora_footprint.png deleted file mode 100644 index f6de3ca9f..000000000 Binary files a/graphics/pokemon/footprints/sunflora_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/sunkern_footprint.png b/graphics/pokemon/footprints/sunkern_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/sunkern_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/surskit_footprint.png b/graphics/pokemon/footprints/surskit_footprint.png deleted file mode 100644 index e4945976f..000000000 Binary files a/graphics/pokemon/footprints/surskit_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/swablu_footprint.png b/graphics/pokemon/footprints/swablu_footprint.png deleted file mode 100644 index 7e71113c3..000000000 Binary files a/graphics/pokemon/footprints/swablu_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/swalot_footprint.png b/graphics/pokemon/footprints/swalot_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/swalot_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/swampert_footprint.png b/graphics/pokemon/footprints/swampert_footprint.png deleted file mode 100644 index ed223e641..000000000 Binary files a/graphics/pokemon/footprints/swampert_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/swellow_footprint.png b/graphics/pokemon/footprints/swellow_footprint.png deleted file mode 100644 index f44a71c29..000000000 Binary files a/graphics/pokemon/footprints/swellow_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/swinub_footprint.png b/graphics/pokemon/footprints/swinub_footprint.png deleted file mode 100644 index fb56709ec..000000000 Binary files a/graphics/pokemon/footprints/swinub_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/taillow_footprint.png b/graphics/pokemon/footprints/taillow_footprint.png deleted file mode 100644 index dbf5c5c6b..000000000 Binary files a/graphics/pokemon/footprints/taillow_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/tangela_footprint.png b/graphics/pokemon/footprints/tangela_footprint.png deleted file mode 100644 index c05d3b437..000000000 Binary files a/graphics/pokemon/footprints/tangela_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/tauros_footprint.png b/graphics/pokemon/footprints/tauros_footprint.png deleted file mode 100644 index 602011c6d..000000000 Binary files a/graphics/pokemon/footprints/tauros_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/teddiursa_footprint.png b/graphics/pokemon/footprints/teddiursa_footprint.png deleted file mode 100644 index def88c323..000000000 Binary files a/graphics/pokemon/footprints/teddiursa_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/tentacool_footprint.png b/graphics/pokemon/footprints/tentacool_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/tentacool_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/tentacruel_footprint.png b/graphics/pokemon/footprints/tentacruel_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/tentacruel_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/togepi_footprint.png b/graphics/pokemon/footprints/togepi_footprint.png deleted file mode 100644 index 84e75101b..000000000 Binary files a/graphics/pokemon/footprints/togepi_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/togetic_footprint.png b/graphics/pokemon/footprints/togetic_footprint.png deleted file mode 100644 index b15913fa8..000000000 Binary files a/graphics/pokemon/footprints/togetic_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/torchic_footprint.png b/graphics/pokemon/footprints/torchic_footprint.png deleted file mode 100644 index 955afa82a..000000000 Binary files a/graphics/pokemon/footprints/torchic_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/torkoal_footprint.png b/graphics/pokemon/footprints/torkoal_footprint.png deleted file mode 100644 index 208f3bb77..000000000 Binary files a/graphics/pokemon/footprints/torkoal_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/totodile_footprint.png b/graphics/pokemon/footprints/totodile_footprint.png deleted file mode 100644 index 210260273..000000000 Binary files a/graphics/pokemon/footprints/totodile_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/trapinch_footprint.png b/graphics/pokemon/footprints/trapinch_footprint.png deleted file mode 100644 index c3e6e785b..000000000 Binary files a/graphics/pokemon/footprints/trapinch_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/treecko_footprint.png b/graphics/pokemon/footprints/treecko_footprint.png deleted file mode 100644 index ed3854702..000000000 Binary files a/graphics/pokemon/footprints/treecko_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/tropius_footprint.png b/graphics/pokemon/footprints/tropius_footprint.png deleted file mode 100644 index e6e7e8795..000000000 Binary files a/graphics/pokemon/footprints/tropius_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/typhlosion_footprint.png b/graphics/pokemon/footprints/typhlosion_footprint.png deleted file mode 100644 index 1d4492cf1..000000000 Binary files a/graphics/pokemon/footprints/typhlosion_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/tyranitar_footprint.png b/graphics/pokemon/footprints/tyranitar_footprint.png deleted file mode 100644 index ea12c75b0..000000000 Binary files a/graphics/pokemon/footprints/tyranitar_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/tyrogue_footprint.png b/graphics/pokemon/footprints/tyrogue_footprint.png deleted file mode 100644 index 0ef849eb8..000000000 Binary files a/graphics/pokemon/footprints/tyrogue_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/umbreon_footprint.png b/graphics/pokemon/footprints/umbreon_footprint.png deleted file mode 100644 index a1d897dc3..000000000 Binary files a/graphics/pokemon/footprints/umbreon_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/unown_footprint.png b/graphics/pokemon/footprints/unown_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/unown_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/ursaring_footprint.png b/graphics/pokemon/footprints/ursaring_footprint.png deleted file mode 100644 index b1023bd3b..000000000 Binary files a/graphics/pokemon/footprints/ursaring_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/vaporeon_footprint.png b/graphics/pokemon/footprints/vaporeon_footprint.png deleted file mode 100644 index 2b44d4b24..000000000 Binary files a/graphics/pokemon/footprints/vaporeon_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/venomoth_footprint.png b/graphics/pokemon/footprints/venomoth_footprint.png deleted file mode 100644 index 6965dbe60..000000000 Binary files a/graphics/pokemon/footprints/venomoth_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/venonat_footprint.png b/graphics/pokemon/footprints/venonat_footprint.png deleted file mode 100644 index 3675945c9..000000000 Binary files a/graphics/pokemon/footprints/venonat_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/venusaur_footprint.png b/graphics/pokemon/footprints/venusaur_footprint.png deleted file mode 100644 index bdef2c818..000000000 Binary files a/graphics/pokemon/footprints/venusaur_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/vibrava_footprint.png b/graphics/pokemon/footprints/vibrava_footprint.png deleted file mode 100644 index fdf76f9f2..000000000 Binary files a/graphics/pokemon/footprints/vibrava_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/victreebel_footprint.png b/graphics/pokemon/footprints/victreebel_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/victreebel_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/vigoroth_footprint.png b/graphics/pokemon/footprints/vigoroth_footprint.png deleted file mode 100644 index bc10a7230..000000000 Binary files a/graphics/pokemon/footprints/vigoroth_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/vileplume_footprint.png b/graphics/pokemon/footprints/vileplume_footprint.png deleted file mode 100644 index 8fd5bdf83..000000000 Binary files a/graphics/pokemon/footprints/vileplume_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/volbeat_footprint.png b/graphics/pokemon/footprints/volbeat_footprint.png deleted file mode 100644 index 916c59f60..000000000 Binary files a/graphics/pokemon/footprints/volbeat_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/voltorb_footprint.png b/graphics/pokemon/footprints/voltorb_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/voltorb_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/vulpix_footprint.png b/graphics/pokemon/footprints/vulpix_footprint.png deleted file mode 100644 index a0a655ca6..000000000 Binary files a/graphics/pokemon/footprints/vulpix_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/wailmer_footprint.png b/graphics/pokemon/footprints/wailmer_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/wailmer_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/wailord_footprint.png b/graphics/pokemon/footprints/wailord_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/wailord_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/walrein_footprint.png b/graphics/pokemon/footprints/walrein_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/walrein_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/wartortle_footprint.png b/graphics/pokemon/footprints/wartortle_footprint.png deleted file mode 100644 index 4dd126496..000000000 Binary files a/graphics/pokemon/footprints/wartortle_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/weedle_footprint.png b/graphics/pokemon/footprints/weedle_footprint.png deleted file mode 100644 index c1c0058e7..000000000 Binary files a/graphics/pokemon/footprints/weedle_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/weepinbell_footprint.png b/graphics/pokemon/footprints/weepinbell_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/weepinbell_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/weezing_footprint.png b/graphics/pokemon/footprints/weezing_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/weezing_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/whiscash_footprint.png b/graphics/pokemon/footprints/whiscash_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/whiscash_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/whismur_footprint.png b/graphics/pokemon/footprints/whismur_footprint.png deleted file mode 100644 index a2ad42b4c..000000000 Binary files a/graphics/pokemon/footprints/whismur_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/wigglytuff_footprint.png b/graphics/pokemon/footprints/wigglytuff_footprint.png deleted file mode 100644 index 68ce8eda3..000000000 Binary files a/graphics/pokemon/footprints/wigglytuff_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/wingull_footprint.png b/graphics/pokemon/footprints/wingull_footprint.png deleted file mode 100644 index 057b2cefa..000000000 Binary files a/graphics/pokemon/footprints/wingull_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/wobbuffet_footprint.png b/graphics/pokemon/footprints/wobbuffet_footprint.png deleted file mode 100644 index 49fa6818d..000000000 Binary files a/graphics/pokemon/footprints/wobbuffet_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/wooper_footprint.png b/graphics/pokemon/footprints/wooper_footprint.png deleted file mode 100644 index 5e1ba56e6..000000000 Binary files a/graphics/pokemon/footprints/wooper_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/wurmple_footprint.png b/graphics/pokemon/footprints/wurmple_footprint.png deleted file mode 100644 index 3ac4abd9f..000000000 Binary files a/graphics/pokemon/footprints/wurmple_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/wynaut_footprint.png b/graphics/pokemon/footprints/wynaut_footprint.png deleted file mode 100644 index 4fe4832c0..000000000 Binary files a/graphics/pokemon/footprints/wynaut_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/xatu_footprint.png b/graphics/pokemon/footprints/xatu_footprint.png deleted file mode 100644 index 44fcad1e3..000000000 Binary files a/graphics/pokemon/footprints/xatu_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/yanma_footprint.png b/graphics/pokemon/footprints/yanma_footprint.png deleted file mode 100644 index 20b4a00b0..000000000 Binary files a/graphics/pokemon/footprints/yanma_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/zangoose_footprint.png b/graphics/pokemon/footprints/zangoose_footprint.png deleted file mode 100644 index e07e58cee..000000000 Binary files a/graphics/pokemon/footprints/zangoose_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/zapdos_footprint.png b/graphics/pokemon/footprints/zapdos_footprint.png deleted file mode 100644 index 480063a88..000000000 Binary files a/graphics/pokemon/footprints/zapdos_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/zigzagoon_footprint.png b/graphics/pokemon/footprints/zigzagoon_footprint.png deleted file mode 100644 index d7373e064..000000000 Binary files a/graphics/pokemon/footprints/zigzagoon_footprint.png and /dev/null differ diff --git a/graphics/pokemon/footprints/zubat_footprint.png b/graphics/pokemon/footprints/zubat_footprint.png deleted file mode 100644 index c7ccf57f3..000000000 Binary files a/graphics/pokemon/footprints/zubat_footprint.png and /dev/null differ diff --git a/graphics/pokemon/forretress/back.png b/graphics/pokemon/forretress/back.png new file mode 100644 index 000000000..5761be137 Binary files /dev/null and b/graphics/pokemon/forretress/back.png differ diff --git a/graphics/pokemon/forretress/footprint.png b/graphics/pokemon/forretress/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/forretress/footprint.png differ diff --git a/graphics/pokemon/forretress/front.png b/graphics/pokemon/forretress/front.png new file mode 100644 index 000000000..511ee5720 Binary files /dev/null and b/graphics/pokemon/forretress/front.png differ diff --git a/graphics/pokemon/forretress/icon.png b/graphics/pokemon/forretress/icon.png new file mode 100644 index 000000000..056683bec Binary files /dev/null and b/graphics/pokemon/forretress/icon.png differ diff --git a/graphics/pokemon/forretress/normal.pal b/graphics/pokemon/forretress/normal.pal new file mode 100644 index 000000000..285c56291 --- /dev/null +++ b/graphics/pokemon/forretress/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +16 16 16 +255 0 255 +98 41 90 +172 74 139 +197 131 189 +230 180 230 +246 222 238 +255 0 255 +255 0 255 +131 16 49 +189 41 65 +246 98 115 +255 189 205 +255 0 255 +255 255 255 diff --git a/graphics/pokemon/forretress/shiny.pal b/graphics/pokemon/forretress/shiny.pal new file mode 100644 index 000000000..7b894a11a --- /dev/null +++ b/graphics/pokemon/forretress/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +16 16 16 +255 0 255 +115 82 49 +180 156 74 +222 197 106 +246 230 139 +255 246 156 +255 0 255 +255 0 255 +82 65 32 +106 74 49 +180 139 65 +222 197 98 +255 0 255 +255 255 255 diff --git a/graphics/pokemon/front_pics/abra_still_front_pic.png b/graphics/pokemon/front_pics/abra_still_front_pic.png deleted file mode 100644 index a3f2aa453..000000000 Binary files a/graphics/pokemon/front_pics/abra_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/absol_still_front_pic.png b/graphics/pokemon/front_pics/absol_still_front_pic.png deleted file mode 100644 index 17759b2e7..000000000 Binary files a/graphics/pokemon/front_pics/absol_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/aerodactyl_still_front_pic.png b/graphics/pokemon/front_pics/aerodactyl_still_front_pic.png deleted file mode 100644 index dc4a521f9..000000000 Binary files a/graphics/pokemon/front_pics/aerodactyl_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/aggron_still_front_pic.png b/graphics/pokemon/front_pics/aggron_still_front_pic.png deleted file mode 100644 index 0c357efe4..000000000 Binary files a/graphics/pokemon/front_pics/aggron_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/aipom_still_front_pic.png b/graphics/pokemon/front_pics/aipom_still_front_pic.png deleted file mode 100644 index 25b20c739..000000000 Binary files a/graphics/pokemon/front_pics/aipom_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/alakazam_still_front_pic.png b/graphics/pokemon/front_pics/alakazam_still_front_pic.png deleted file mode 100644 index bd6d57240..000000000 Binary files a/graphics/pokemon/front_pics/alakazam_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/altaria_still_front_pic.png b/graphics/pokemon/front_pics/altaria_still_front_pic.png deleted file mode 100644 index 8b45828a2..000000000 Binary files a/graphics/pokemon/front_pics/altaria_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/ampharos_still_front_pic.png b/graphics/pokemon/front_pics/ampharos_still_front_pic.png deleted file mode 100644 index cc4956afb..000000000 Binary files a/graphics/pokemon/front_pics/ampharos_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/anorith_still_front_pic.png b/graphics/pokemon/front_pics/anorith_still_front_pic.png deleted file mode 100644 index 425ff4c0d..000000000 Binary files a/graphics/pokemon/front_pics/anorith_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/arbok_still_front_pic.png b/graphics/pokemon/front_pics/arbok_still_front_pic.png deleted file mode 100644 index 025f84b90..000000000 Binary files a/graphics/pokemon/front_pics/arbok_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/arcanine_still_front_pic.png b/graphics/pokemon/front_pics/arcanine_still_front_pic.png deleted file mode 100644 index 2ee31ddab..000000000 Binary files a/graphics/pokemon/front_pics/arcanine_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/ariados_still_front_pic.png b/graphics/pokemon/front_pics/ariados_still_front_pic.png deleted file mode 100644 index 07bc4a4db..000000000 Binary files a/graphics/pokemon/front_pics/ariados_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/armaldo_still_front_pic.png b/graphics/pokemon/front_pics/armaldo_still_front_pic.png deleted file mode 100644 index 01b7ee08b..000000000 Binary files a/graphics/pokemon/front_pics/armaldo_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/aron_still_front_pic.png b/graphics/pokemon/front_pics/aron_still_front_pic.png deleted file mode 100644 index f3764ec2b..000000000 Binary files a/graphics/pokemon/front_pics/aron_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/articuno_still_front_pic.png b/graphics/pokemon/front_pics/articuno_still_front_pic.png deleted file mode 100644 index a3203a190..000000000 Binary files a/graphics/pokemon/front_pics/articuno_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/azumarill_still_front_pic.png b/graphics/pokemon/front_pics/azumarill_still_front_pic.png deleted file mode 100644 index feb172d52..000000000 Binary files a/graphics/pokemon/front_pics/azumarill_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/azurill_still_front_pic.png b/graphics/pokemon/front_pics/azurill_still_front_pic.png deleted file mode 100644 index 02cc79a6c..000000000 Binary files a/graphics/pokemon/front_pics/azurill_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/bagon_still_front_pic.png b/graphics/pokemon/front_pics/bagon_still_front_pic.png deleted file mode 100644 index 259872b72..000000000 Binary files a/graphics/pokemon/front_pics/bagon_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/baltoy_still_front_pic.png b/graphics/pokemon/front_pics/baltoy_still_front_pic.png deleted file mode 100644 index d161de265..000000000 Binary files a/graphics/pokemon/front_pics/baltoy_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/banette_still_front_pic.png b/graphics/pokemon/front_pics/banette_still_front_pic.png deleted file mode 100644 index be02be897..000000000 Binary files a/graphics/pokemon/front_pics/banette_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/barboach_still_front_pic.png b/graphics/pokemon/front_pics/barboach_still_front_pic.png deleted file mode 100644 index 150e6c086..000000000 Binary files a/graphics/pokemon/front_pics/barboach_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/bayleef_still_front_pic.png b/graphics/pokemon/front_pics/bayleef_still_front_pic.png deleted file mode 100644 index ad6713c61..000000000 Binary files a/graphics/pokemon/front_pics/bayleef_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/beautifly_still_front_pic.png b/graphics/pokemon/front_pics/beautifly_still_front_pic.png deleted file mode 100644 index 89020c63a..000000000 Binary files a/graphics/pokemon/front_pics/beautifly_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/beedrill_still_front_pic.png b/graphics/pokemon/front_pics/beedrill_still_front_pic.png deleted file mode 100644 index adb2894c6..000000000 Binary files a/graphics/pokemon/front_pics/beedrill_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/beldum_still_front_pic.png b/graphics/pokemon/front_pics/beldum_still_front_pic.png deleted file mode 100644 index 1c2a04e68..000000000 Binary files a/graphics/pokemon/front_pics/beldum_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/bellossom_still_front_pic.png b/graphics/pokemon/front_pics/bellossom_still_front_pic.png deleted file mode 100644 index 11ec4a08c..000000000 Binary files a/graphics/pokemon/front_pics/bellossom_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/bellsprout_still_front_pic.png b/graphics/pokemon/front_pics/bellsprout_still_front_pic.png deleted file mode 100644 index dba4f81bc..000000000 Binary files a/graphics/pokemon/front_pics/bellsprout_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/blastoise_still_front_pic.png b/graphics/pokemon/front_pics/blastoise_still_front_pic.png deleted file mode 100644 index 1166b98ea..000000000 Binary files a/graphics/pokemon/front_pics/blastoise_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/blaziken_still_front_pic.png b/graphics/pokemon/front_pics/blaziken_still_front_pic.png deleted file mode 100644 index 4b22ec1de..000000000 Binary files a/graphics/pokemon/front_pics/blaziken_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/blissey_still_front_pic.png b/graphics/pokemon/front_pics/blissey_still_front_pic.png deleted file mode 100644 index 3173f820c..000000000 Binary files a/graphics/pokemon/front_pics/blissey_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/breloom_still_front_pic.png b/graphics/pokemon/front_pics/breloom_still_front_pic.png deleted file mode 100644 index 932fdbad8..000000000 Binary files a/graphics/pokemon/front_pics/breloom_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/bulbasaur_still_front_pic.png b/graphics/pokemon/front_pics/bulbasaur_still_front_pic.png deleted file mode 100644 index e23eaeeb6..000000000 Binary files a/graphics/pokemon/front_pics/bulbasaur_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/butterfree_still_front_pic.png b/graphics/pokemon/front_pics/butterfree_still_front_pic.png deleted file mode 100644 index b7746d8df..000000000 Binary files a/graphics/pokemon/front_pics/butterfree_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/cacnea_still_front_pic.png b/graphics/pokemon/front_pics/cacnea_still_front_pic.png deleted file mode 100644 index c57dce95f..000000000 Binary files a/graphics/pokemon/front_pics/cacnea_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/cacturne_still_front_pic.png b/graphics/pokemon/front_pics/cacturne_still_front_pic.png deleted file mode 100644 index 80434c3c8..000000000 Binary files a/graphics/pokemon/front_pics/cacturne_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/camerupt_still_front_pic.png b/graphics/pokemon/front_pics/camerupt_still_front_pic.png deleted file mode 100644 index ffd9ed0f2..000000000 Binary files a/graphics/pokemon/front_pics/camerupt_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/carvanha_still_front_pic.png b/graphics/pokemon/front_pics/carvanha_still_front_pic.png deleted file mode 100644 index f67f56cc7..000000000 Binary files a/graphics/pokemon/front_pics/carvanha_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/cascoon_still_front_pic.png b/graphics/pokemon/front_pics/cascoon_still_front_pic.png deleted file mode 100644 index 474610aac..000000000 Binary files a/graphics/pokemon/front_pics/cascoon_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/castform_normal_form_still_front_pic.png b/graphics/pokemon/front_pics/castform_normal_form_still_front_pic.png deleted file mode 100644 index 39bfaf426..000000000 Binary files a/graphics/pokemon/front_pics/castform_normal_form_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/castform_rainy_form_still_front_pic.png b/graphics/pokemon/front_pics/castform_rainy_form_still_front_pic.png deleted file mode 100644 index 155374035..000000000 Binary files a/graphics/pokemon/front_pics/castform_rainy_form_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/castform_snowy_form_still_front_pic.png b/graphics/pokemon/front_pics/castform_snowy_form_still_front_pic.png deleted file mode 100644 index a75bf647e..000000000 Binary files a/graphics/pokemon/front_pics/castform_snowy_form_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/castform_sunny_form_still_front_pic.png b/graphics/pokemon/front_pics/castform_sunny_form_still_front_pic.png deleted file mode 100644 index 7e14f9892..000000000 Binary files a/graphics/pokemon/front_pics/castform_sunny_form_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/caterpie_still_front_pic.png b/graphics/pokemon/front_pics/caterpie_still_front_pic.png deleted file mode 100644 index b67875094..000000000 Binary files a/graphics/pokemon/front_pics/caterpie_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/celebi_still_front_pic.png b/graphics/pokemon/front_pics/celebi_still_front_pic.png deleted file mode 100644 index 1717f2561..000000000 Binary files a/graphics/pokemon/front_pics/celebi_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/chansey_still_front_pic.png b/graphics/pokemon/front_pics/chansey_still_front_pic.png deleted file mode 100644 index 0f9db97dc..000000000 Binary files a/graphics/pokemon/front_pics/chansey_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/charizard_still_front_pic.png b/graphics/pokemon/front_pics/charizard_still_front_pic.png deleted file mode 100644 index 68653c55b..000000000 Binary files a/graphics/pokemon/front_pics/charizard_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/charmander_still_front_pic.png b/graphics/pokemon/front_pics/charmander_still_front_pic.png deleted file mode 100644 index 7235c104f..000000000 Binary files a/graphics/pokemon/front_pics/charmander_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/charmeleon_still_front_pic.png b/graphics/pokemon/front_pics/charmeleon_still_front_pic.png deleted file mode 100644 index 5cc6615a4..000000000 Binary files a/graphics/pokemon/front_pics/charmeleon_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/chikorita_still_front_pic.png b/graphics/pokemon/front_pics/chikorita_still_front_pic.png deleted file mode 100644 index 80f5dc9ab..000000000 Binary files a/graphics/pokemon/front_pics/chikorita_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/chimecho_still_front_pic.png b/graphics/pokemon/front_pics/chimecho_still_front_pic.png deleted file mode 100644 index 534bec4d7..000000000 Binary files a/graphics/pokemon/front_pics/chimecho_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/chinchou_still_front_pic.png b/graphics/pokemon/front_pics/chinchou_still_front_pic.png deleted file mode 100644 index 7bb954382..000000000 Binary files a/graphics/pokemon/front_pics/chinchou_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/circled_question_mark_still_front_pic.png b/graphics/pokemon/front_pics/circled_question_mark_still_front_pic.png deleted file mode 100644 index 3056402db..000000000 Binary files a/graphics/pokemon/front_pics/circled_question_mark_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/clamperl_still_front_pic.png b/graphics/pokemon/front_pics/clamperl_still_front_pic.png deleted file mode 100644 index 1cfe4d4f8..000000000 Binary files a/graphics/pokemon/front_pics/clamperl_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/claydol_still_front_pic.png b/graphics/pokemon/front_pics/claydol_still_front_pic.png deleted file mode 100644 index ea8e2cf74..000000000 Binary files a/graphics/pokemon/front_pics/claydol_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/clefable_still_front_pic.png b/graphics/pokemon/front_pics/clefable_still_front_pic.png deleted file mode 100644 index 81d7456a1..000000000 Binary files a/graphics/pokemon/front_pics/clefable_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/clefairy_still_front_pic.png b/graphics/pokemon/front_pics/clefairy_still_front_pic.png deleted file mode 100644 index 4684b7df6..000000000 Binary files a/graphics/pokemon/front_pics/clefairy_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/cleffa_still_front_pic.png b/graphics/pokemon/front_pics/cleffa_still_front_pic.png deleted file mode 100644 index 82b6c103b..000000000 Binary files a/graphics/pokemon/front_pics/cleffa_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/cloyster_still_front_pic.png b/graphics/pokemon/front_pics/cloyster_still_front_pic.png deleted file mode 100644 index 7568a23fc..000000000 Binary files a/graphics/pokemon/front_pics/cloyster_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/combusken_still_front_pic.png b/graphics/pokemon/front_pics/combusken_still_front_pic.png deleted file mode 100644 index 5852709f3..000000000 Binary files a/graphics/pokemon/front_pics/combusken_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/corphish_still_front_pic.png b/graphics/pokemon/front_pics/corphish_still_front_pic.png deleted file mode 100644 index f8a06a67c..000000000 Binary files a/graphics/pokemon/front_pics/corphish_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/corsola_still_front_pic.png b/graphics/pokemon/front_pics/corsola_still_front_pic.png deleted file mode 100644 index 550ddbbe3..000000000 Binary files a/graphics/pokemon/front_pics/corsola_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/cradily_still_front_pic.png b/graphics/pokemon/front_pics/cradily_still_front_pic.png deleted file mode 100644 index 0bc94d6a3..000000000 Binary files a/graphics/pokemon/front_pics/cradily_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/crawdaunt_still_front_pic.png b/graphics/pokemon/front_pics/crawdaunt_still_front_pic.png deleted file mode 100644 index 88ee71100..000000000 Binary files a/graphics/pokemon/front_pics/crawdaunt_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/crobat_still_front_pic.png b/graphics/pokemon/front_pics/crobat_still_front_pic.png deleted file mode 100644 index b61cdebe7..000000000 Binary files a/graphics/pokemon/front_pics/crobat_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/croconaw_still_front_pic.png b/graphics/pokemon/front_pics/croconaw_still_front_pic.png deleted file mode 100644 index 585be79f4..000000000 Binary files a/graphics/pokemon/front_pics/croconaw_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/cubone_still_front_pic.png b/graphics/pokemon/front_pics/cubone_still_front_pic.png deleted file mode 100644 index a0e1a464e..000000000 Binary files a/graphics/pokemon/front_pics/cubone_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/cyndaquil_still_front_pic.png b/graphics/pokemon/front_pics/cyndaquil_still_front_pic.png deleted file mode 100644 index 1a31da433..000000000 Binary files a/graphics/pokemon/front_pics/cyndaquil_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/delcatty_still_front_pic.png b/graphics/pokemon/front_pics/delcatty_still_front_pic.png deleted file mode 100644 index bfb7f3894..000000000 Binary files a/graphics/pokemon/front_pics/delcatty_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/delibird_still_front_pic.png b/graphics/pokemon/front_pics/delibird_still_front_pic.png deleted file mode 100644 index b31baa203..000000000 Binary files a/graphics/pokemon/front_pics/delibird_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/deoxys_still_front_pic.png b/graphics/pokemon/front_pics/deoxys_still_front_pic.png deleted file mode 100644 index 017eb84d3..000000000 Binary files a/graphics/pokemon/front_pics/deoxys_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/dewgong_still_front_pic.png b/graphics/pokemon/front_pics/dewgong_still_front_pic.png deleted file mode 100644 index 1ab15de43..000000000 Binary files a/graphics/pokemon/front_pics/dewgong_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/diglett_still_front_pic.png b/graphics/pokemon/front_pics/diglett_still_front_pic.png deleted file mode 100644 index cb26e4a63..000000000 Binary files a/graphics/pokemon/front_pics/diglett_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/ditto_still_front_pic.png b/graphics/pokemon/front_pics/ditto_still_front_pic.png deleted file mode 100644 index 52eef0e60..000000000 Binary files a/graphics/pokemon/front_pics/ditto_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/dodrio_still_front_pic.png b/graphics/pokemon/front_pics/dodrio_still_front_pic.png deleted file mode 100644 index 563a89cf0..000000000 Binary files a/graphics/pokemon/front_pics/dodrio_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/doduo_still_front_pic.png b/graphics/pokemon/front_pics/doduo_still_front_pic.png deleted file mode 100644 index 3a30b75e4..000000000 Binary files a/graphics/pokemon/front_pics/doduo_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/donphan_still_front_pic.png b/graphics/pokemon/front_pics/donphan_still_front_pic.png deleted file mode 100644 index c971f446a..000000000 Binary files a/graphics/pokemon/front_pics/donphan_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/double_question_mark_still_front_pic.png b/graphics/pokemon/front_pics/double_question_mark_still_front_pic.png deleted file mode 100644 index 14eb6e139..000000000 Binary files a/graphics/pokemon/front_pics/double_question_mark_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/dragonair_still_front_pic.png b/graphics/pokemon/front_pics/dragonair_still_front_pic.png deleted file mode 100644 index b2a88698c..000000000 Binary files a/graphics/pokemon/front_pics/dragonair_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/dragonite_still_front_pic.png b/graphics/pokemon/front_pics/dragonite_still_front_pic.png deleted file mode 100644 index 03688332c..000000000 Binary files a/graphics/pokemon/front_pics/dragonite_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/dratini_still_front_pic.png b/graphics/pokemon/front_pics/dratini_still_front_pic.png deleted file mode 100644 index b33883b5f..000000000 Binary files a/graphics/pokemon/front_pics/dratini_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/drowzee_still_front_pic.png b/graphics/pokemon/front_pics/drowzee_still_front_pic.png deleted file mode 100644 index 3b5107c78..000000000 Binary files a/graphics/pokemon/front_pics/drowzee_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/dugtrio_still_front_pic.png b/graphics/pokemon/front_pics/dugtrio_still_front_pic.png deleted file mode 100644 index 7b1127a58..000000000 Binary files a/graphics/pokemon/front_pics/dugtrio_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/dunsparce_still_front_pic.png b/graphics/pokemon/front_pics/dunsparce_still_front_pic.png deleted file mode 100644 index cf3c421af..000000000 Binary files a/graphics/pokemon/front_pics/dunsparce_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/dusclops_still_front_pic.png b/graphics/pokemon/front_pics/dusclops_still_front_pic.png deleted file mode 100644 index 477423e62..000000000 Binary files a/graphics/pokemon/front_pics/dusclops_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/duskull_still_front_pic.png b/graphics/pokemon/front_pics/duskull_still_front_pic.png deleted file mode 100644 index bf379af6d..000000000 Binary files a/graphics/pokemon/front_pics/duskull_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/dustox_still_front_pic.png b/graphics/pokemon/front_pics/dustox_still_front_pic.png deleted file mode 100644 index 8866606d8..000000000 Binary files a/graphics/pokemon/front_pics/dustox_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/eevee_still_front_pic.png b/graphics/pokemon/front_pics/eevee_still_front_pic.png deleted file mode 100644 index 115dc3e0a..000000000 Binary files a/graphics/pokemon/front_pics/eevee_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/egg_still_front_pic.png b/graphics/pokemon/front_pics/egg_still_front_pic.png deleted file mode 100644 index d9680a899..000000000 Binary files a/graphics/pokemon/front_pics/egg_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/ekans_still_front_pic.png b/graphics/pokemon/front_pics/ekans_still_front_pic.png deleted file mode 100644 index 3e1d41ba1..000000000 Binary files a/graphics/pokemon/front_pics/ekans_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/electabuzz_still_front_pic.png b/graphics/pokemon/front_pics/electabuzz_still_front_pic.png deleted file mode 100644 index 1bed04c89..000000000 Binary files a/graphics/pokemon/front_pics/electabuzz_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/electrike_still_front_pic.png b/graphics/pokemon/front_pics/electrike_still_front_pic.png deleted file mode 100644 index 0a86b13af..000000000 Binary files a/graphics/pokemon/front_pics/electrike_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/electrode_still_front_pic.png b/graphics/pokemon/front_pics/electrode_still_front_pic.png deleted file mode 100644 index 801c2cdb2..000000000 Binary files a/graphics/pokemon/front_pics/electrode_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/elekid_still_front_pic.png b/graphics/pokemon/front_pics/elekid_still_front_pic.png deleted file mode 100644 index 0c3d5325e..000000000 Binary files a/graphics/pokemon/front_pics/elekid_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/entei_still_front_pic.png b/graphics/pokemon/front_pics/entei_still_front_pic.png deleted file mode 100644 index 1aa34cf4d..000000000 Binary files a/graphics/pokemon/front_pics/entei_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/espeon_still_front_pic.png b/graphics/pokemon/front_pics/espeon_still_front_pic.png deleted file mode 100644 index 9e66b1626..000000000 Binary files a/graphics/pokemon/front_pics/espeon_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/exeggcute_still_front_pic.png b/graphics/pokemon/front_pics/exeggcute_still_front_pic.png deleted file mode 100644 index 500dd49fb..000000000 Binary files a/graphics/pokemon/front_pics/exeggcute_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/exeggutor_still_front_pic.png b/graphics/pokemon/front_pics/exeggutor_still_front_pic.png deleted file mode 100644 index 4a61df884..000000000 Binary files a/graphics/pokemon/front_pics/exeggutor_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/exploud_still_front_pic.png b/graphics/pokemon/front_pics/exploud_still_front_pic.png deleted file mode 100644 index 48e86c610..000000000 Binary files a/graphics/pokemon/front_pics/exploud_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/farfetch_d_still_front_pic.png b/graphics/pokemon/front_pics/farfetch_d_still_front_pic.png deleted file mode 100644 index 5b3bb3664..000000000 Binary files a/graphics/pokemon/front_pics/farfetch_d_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/fearow_still_front_pic.png b/graphics/pokemon/front_pics/fearow_still_front_pic.png deleted file mode 100644 index e4e420728..000000000 Binary files a/graphics/pokemon/front_pics/fearow_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/feebas_still_front_pic.png b/graphics/pokemon/front_pics/feebas_still_front_pic.png deleted file mode 100644 index 036e151e8..000000000 Binary files a/graphics/pokemon/front_pics/feebas_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/feraligatr_still_front_pic.png b/graphics/pokemon/front_pics/feraligatr_still_front_pic.png deleted file mode 100644 index c44e7afc2..000000000 Binary files a/graphics/pokemon/front_pics/feraligatr_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/flaaffy_still_front_pic.png b/graphics/pokemon/front_pics/flaaffy_still_front_pic.png deleted file mode 100644 index 49f794128..000000000 Binary files a/graphics/pokemon/front_pics/flaaffy_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/flareon_still_front_pic.png b/graphics/pokemon/front_pics/flareon_still_front_pic.png deleted file mode 100644 index c36448b18..000000000 Binary files a/graphics/pokemon/front_pics/flareon_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/flygon_still_front_pic.png b/graphics/pokemon/front_pics/flygon_still_front_pic.png deleted file mode 100644 index 310966c6e..000000000 Binary files a/graphics/pokemon/front_pics/flygon_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/forretress_still_front_pic.png b/graphics/pokemon/front_pics/forretress_still_front_pic.png deleted file mode 100644 index 511ee5720..000000000 Binary files a/graphics/pokemon/front_pics/forretress_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/furret_still_front_pic.png b/graphics/pokemon/front_pics/furret_still_front_pic.png deleted file mode 100644 index 4f7ca56e1..000000000 Binary files a/graphics/pokemon/front_pics/furret_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/gardevoir_still_front_pic.png b/graphics/pokemon/front_pics/gardevoir_still_front_pic.png deleted file mode 100644 index 27de874ac..000000000 Binary files a/graphics/pokemon/front_pics/gardevoir_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/gastly_still_front_pic.png b/graphics/pokemon/front_pics/gastly_still_front_pic.png deleted file mode 100644 index 444ac485a..000000000 Binary files a/graphics/pokemon/front_pics/gastly_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/gengar_still_front_pic.png b/graphics/pokemon/front_pics/gengar_still_front_pic.png deleted file mode 100644 index 1bb2468e8..000000000 Binary files a/graphics/pokemon/front_pics/gengar_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/geodude_still_front_pic.png b/graphics/pokemon/front_pics/geodude_still_front_pic.png deleted file mode 100644 index f6d2317d4..000000000 Binary files a/graphics/pokemon/front_pics/geodude_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/girafarig_still_front_pic.png b/graphics/pokemon/front_pics/girafarig_still_front_pic.png deleted file mode 100644 index bcada08dd..000000000 Binary files a/graphics/pokemon/front_pics/girafarig_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/glalie_still_front_pic.png b/graphics/pokemon/front_pics/glalie_still_front_pic.png deleted file mode 100644 index c49ea517c..000000000 Binary files a/graphics/pokemon/front_pics/glalie_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/gligar_still_front_pic.png b/graphics/pokemon/front_pics/gligar_still_front_pic.png deleted file mode 100644 index b6bb68483..000000000 Binary files a/graphics/pokemon/front_pics/gligar_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/gloom_still_front_pic.png b/graphics/pokemon/front_pics/gloom_still_front_pic.png deleted file mode 100644 index 5bcb4fa46..000000000 Binary files a/graphics/pokemon/front_pics/gloom_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/golbat_still_front_pic.png b/graphics/pokemon/front_pics/golbat_still_front_pic.png deleted file mode 100644 index 1c25fe337..000000000 Binary files a/graphics/pokemon/front_pics/golbat_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/goldeen_still_front_pic.png b/graphics/pokemon/front_pics/goldeen_still_front_pic.png deleted file mode 100644 index 5908b3dda..000000000 Binary files a/graphics/pokemon/front_pics/goldeen_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/golduck_still_front_pic.png b/graphics/pokemon/front_pics/golduck_still_front_pic.png deleted file mode 100644 index be5eea3bc..000000000 Binary files a/graphics/pokemon/front_pics/golduck_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/golem_still_front_pic.png b/graphics/pokemon/front_pics/golem_still_front_pic.png deleted file mode 100644 index 4901bf0a1..000000000 Binary files a/graphics/pokemon/front_pics/golem_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/gorebyss_still_front_pic.png b/graphics/pokemon/front_pics/gorebyss_still_front_pic.png deleted file mode 100644 index ba017418c..000000000 Binary files a/graphics/pokemon/front_pics/gorebyss_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/granbull_still_front_pic.png b/graphics/pokemon/front_pics/granbull_still_front_pic.png deleted file mode 100644 index ee4c40b25..000000000 Binary files a/graphics/pokemon/front_pics/granbull_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/graveler_still_front_pic.png b/graphics/pokemon/front_pics/graveler_still_front_pic.png deleted file mode 100644 index 384ebacee..000000000 Binary files a/graphics/pokemon/front_pics/graveler_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/grimer_still_front_pic.png b/graphics/pokemon/front_pics/grimer_still_front_pic.png deleted file mode 100644 index a0c6b05ce..000000000 Binary files a/graphics/pokemon/front_pics/grimer_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/groudon_still_front_pic.png b/graphics/pokemon/front_pics/groudon_still_front_pic.png deleted file mode 100644 index 2e768694f..000000000 Binary files a/graphics/pokemon/front_pics/groudon_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/grovyle_still_front_pic.png b/graphics/pokemon/front_pics/grovyle_still_front_pic.png deleted file mode 100644 index 95a19a7ca..000000000 Binary files a/graphics/pokemon/front_pics/grovyle_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/growlithe_still_front_pic.png b/graphics/pokemon/front_pics/growlithe_still_front_pic.png deleted file mode 100644 index 6a7f3f9a4..000000000 Binary files a/graphics/pokemon/front_pics/growlithe_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/grumpig_still_front_pic.png b/graphics/pokemon/front_pics/grumpig_still_front_pic.png deleted file mode 100644 index 42604aed2..000000000 Binary files a/graphics/pokemon/front_pics/grumpig_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/gulpin_still_front_pic.png b/graphics/pokemon/front_pics/gulpin_still_front_pic.png deleted file mode 100644 index 14809cf73..000000000 Binary files a/graphics/pokemon/front_pics/gulpin_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/gyarados_still_front_pic.png b/graphics/pokemon/front_pics/gyarados_still_front_pic.png deleted file mode 100644 index 7e24eac3b..000000000 Binary files a/graphics/pokemon/front_pics/gyarados_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/hariyama_still_front_pic.png b/graphics/pokemon/front_pics/hariyama_still_front_pic.png deleted file mode 100644 index abefe0de2..000000000 Binary files a/graphics/pokemon/front_pics/hariyama_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/haunter_still_front_pic.png b/graphics/pokemon/front_pics/haunter_still_front_pic.png deleted file mode 100644 index db6c29439..000000000 Binary files a/graphics/pokemon/front_pics/haunter_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/heracross_still_front_pic.png b/graphics/pokemon/front_pics/heracross_still_front_pic.png deleted file mode 100644 index f693a4c46..000000000 Binary files a/graphics/pokemon/front_pics/heracross_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/hitmonchan_still_front_pic.png b/graphics/pokemon/front_pics/hitmonchan_still_front_pic.png deleted file mode 100644 index 5a16c4070..000000000 Binary files a/graphics/pokemon/front_pics/hitmonchan_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/hitmonlee_still_front_pic.png b/graphics/pokemon/front_pics/hitmonlee_still_front_pic.png deleted file mode 100644 index 7cb5e4a2d..000000000 Binary files a/graphics/pokemon/front_pics/hitmonlee_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/hitmontop_still_front_pic.png b/graphics/pokemon/front_pics/hitmontop_still_front_pic.png deleted file mode 100644 index d2d7b5093..000000000 Binary files a/graphics/pokemon/front_pics/hitmontop_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/ho_oh_still_front_pic.png b/graphics/pokemon/front_pics/ho_oh_still_front_pic.png deleted file mode 100644 index 97a7c3e25..000000000 Binary files a/graphics/pokemon/front_pics/ho_oh_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/hoothoot_still_front_pic.png b/graphics/pokemon/front_pics/hoothoot_still_front_pic.png deleted file mode 100644 index 12e160d81..000000000 Binary files a/graphics/pokemon/front_pics/hoothoot_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/hoppip_still_front_pic.png b/graphics/pokemon/front_pics/hoppip_still_front_pic.png deleted file mode 100644 index 87110d09c..000000000 Binary files a/graphics/pokemon/front_pics/hoppip_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/horsea_still_front_pic.png b/graphics/pokemon/front_pics/horsea_still_front_pic.png deleted file mode 100644 index 0ee92319e..000000000 Binary files a/graphics/pokemon/front_pics/horsea_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/houndoom_still_front_pic.png b/graphics/pokemon/front_pics/houndoom_still_front_pic.png deleted file mode 100644 index d5ab79d18..000000000 Binary files a/graphics/pokemon/front_pics/houndoom_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/houndour_still_front_pic.png b/graphics/pokemon/front_pics/houndour_still_front_pic.png deleted file mode 100644 index 87bbce73e..000000000 Binary files a/graphics/pokemon/front_pics/houndour_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/huntail_still_front_pic.png b/graphics/pokemon/front_pics/huntail_still_front_pic.png deleted file mode 100644 index 647cdb8ca..000000000 Binary files a/graphics/pokemon/front_pics/huntail_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/hypno_still_front_pic.png b/graphics/pokemon/front_pics/hypno_still_front_pic.png deleted file mode 100644 index 56687d4a4..000000000 Binary files a/graphics/pokemon/front_pics/hypno_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/igglybuff_still_front_pic.png b/graphics/pokemon/front_pics/igglybuff_still_front_pic.png deleted file mode 100644 index b232daaac..000000000 Binary files a/graphics/pokemon/front_pics/igglybuff_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/illumise_still_front_pic.png b/graphics/pokemon/front_pics/illumise_still_front_pic.png deleted file mode 100644 index 14513aee6..000000000 Binary files a/graphics/pokemon/front_pics/illumise_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/ivysaur_still_front_pic.png b/graphics/pokemon/front_pics/ivysaur_still_front_pic.png deleted file mode 100644 index 659c29fc5..000000000 Binary files a/graphics/pokemon/front_pics/ivysaur_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/jigglypuff_still_front_pic.png b/graphics/pokemon/front_pics/jigglypuff_still_front_pic.png deleted file mode 100644 index 1699d2e83..000000000 Binary files a/graphics/pokemon/front_pics/jigglypuff_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/jirachi_still_front_pic.png b/graphics/pokemon/front_pics/jirachi_still_front_pic.png deleted file mode 100644 index 91f5e3fad..000000000 Binary files a/graphics/pokemon/front_pics/jirachi_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/jolteon_still_front_pic.png b/graphics/pokemon/front_pics/jolteon_still_front_pic.png deleted file mode 100644 index be21a9d9e..000000000 Binary files a/graphics/pokemon/front_pics/jolteon_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/jumpluff_still_front_pic.png b/graphics/pokemon/front_pics/jumpluff_still_front_pic.png deleted file mode 100644 index 6b7cbaf61..000000000 Binary files a/graphics/pokemon/front_pics/jumpluff_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/jynx_still_front_pic.png b/graphics/pokemon/front_pics/jynx_still_front_pic.png deleted file mode 100644 index 7af4ac93e..000000000 Binary files a/graphics/pokemon/front_pics/jynx_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/kabuto_still_front_pic.png b/graphics/pokemon/front_pics/kabuto_still_front_pic.png deleted file mode 100644 index 76fd39d3d..000000000 Binary files a/graphics/pokemon/front_pics/kabuto_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/kabutops_still_front_pic.png b/graphics/pokemon/front_pics/kabutops_still_front_pic.png deleted file mode 100644 index 6f47c841e..000000000 Binary files a/graphics/pokemon/front_pics/kabutops_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/kadabra_still_front_pic.png b/graphics/pokemon/front_pics/kadabra_still_front_pic.png deleted file mode 100644 index 72645d55c..000000000 Binary files a/graphics/pokemon/front_pics/kadabra_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/kakuna_still_front_pic.png b/graphics/pokemon/front_pics/kakuna_still_front_pic.png deleted file mode 100644 index 393c3b407..000000000 Binary files a/graphics/pokemon/front_pics/kakuna_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/kangaskhan_still_front_pic.png b/graphics/pokemon/front_pics/kangaskhan_still_front_pic.png deleted file mode 100644 index fd513941b..000000000 Binary files a/graphics/pokemon/front_pics/kangaskhan_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/kecleon_still_front_pic.png b/graphics/pokemon/front_pics/kecleon_still_front_pic.png deleted file mode 100644 index e57431a06..000000000 Binary files a/graphics/pokemon/front_pics/kecleon_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/kingdra_still_front_pic.png b/graphics/pokemon/front_pics/kingdra_still_front_pic.png deleted file mode 100644 index 86fecb914..000000000 Binary files a/graphics/pokemon/front_pics/kingdra_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/kingler_still_front_pic.png b/graphics/pokemon/front_pics/kingler_still_front_pic.png deleted file mode 100644 index 596f37d97..000000000 Binary files a/graphics/pokemon/front_pics/kingler_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/kirlia_still_front_pic.png b/graphics/pokemon/front_pics/kirlia_still_front_pic.png deleted file mode 100644 index 84acc1494..000000000 Binary files a/graphics/pokemon/front_pics/kirlia_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/koffing_still_front_pic.png b/graphics/pokemon/front_pics/koffing_still_front_pic.png deleted file mode 100644 index d3bd02eb7..000000000 Binary files a/graphics/pokemon/front_pics/koffing_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/krabby_still_front_pic.png b/graphics/pokemon/front_pics/krabby_still_front_pic.png deleted file mode 100644 index 9db2178be..000000000 Binary files a/graphics/pokemon/front_pics/krabby_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/kyogre_still_front_pic.png b/graphics/pokemon/front_pics/kyogre_still_front_pic.png deleted file mode 100644 index 3b4b8e093..000000000 Binary files a/graphics/pokemon/front_pics/kyogre_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/lairon_still_front_pic.png b/graphics/pokemon/front_pics/lairon_still_front_pic.png deleted file mode 100644 index 50470dead..000000000 Binary files a/graphics/pokemon/front_pics/lairon_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/lanturn_still_front_pic.png b/graphics/pokemon/front_pics/lanturn_still_front_pic.png deleted file mode 100644 index a94ab7470..000000000 Binary files a/graphics/pokemon/front_pics/lanturn_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/lapras_still_front_pic.png b/graphics/pokemon/front_pics/lapras_still_front_pic.png deleted file mode 100644 index 063068e90..000000000 Binary files a/graphics/pokemon/front_pics/lapras_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/larvitar_still_front_pic.png b/graphics/pokemon/front_pics/larvitar_still_front_pic.png deleted file mode 100644 index 4183e29e1..000000000 Binary files a/graphics/pokemon/front_pics/larvitar_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/latias_still_front_pic.png b/graphics/pokemon/front_pics/latias_still_front_pic.png deleted file mode 100644 index 55e7e36b1..000000000 Binary files a/graphics/pokemon/front_pics/latias_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/latios_still_front_pic.png b/graphics/pokemon/front_pics/latios_still_front_pic.png deleted file mode 100644 index a9c41e250..000000000 Binary files a/graphics/pokemon/front_pics/latios_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/ledian_still_front_pic.png b/graphics/pokemon/front_pics/ledian_still_front_pic.png deleted file mode 100644 index ea58651cb..000000000 Binary files a/graphics/pokemon/front_pics/ledian_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/ledyba_still_front_pic.png b/graphics/pokemon/front_pics/ledyba_still_front_pic.png deleted file mode 100644 index 210a16176..000000000 Binary files a/graphics/pokemon/front_pics/ledyba_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/lickitung_still_front_pic.png b/graphics/pokemon/front_pics/lickitung_still_front_pic.png deleted file mode 100644 index 445a7173e..000000000 Binary files a/graphics/pokemon/front_pics/lickitung_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/lileep_still_front_pic.png b/graphics/pokemon/front_pics/lileep_still_front_pic.png deleted file mode 100644 index 5f85c25aa..000000000 Binary files a/graphics/pokemon/front_pics/lileep_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/linoone_still_front_pic.png b/graphics/pokemon/front_pics/linoone_still_front_pic.png deleted file mode 100644 index 8b5baa699..000000000 Binary files a/graphics/pokemon/front_pics/linoone_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/lombre_still_front_pic.png b/graphics/pokemon/front_pics/lombre_still_front_pic.png deleted file mode 100644 index 3719098a9..000000000 Binary files a/graphics/pokemon/front_pics/lombre_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/lotad_still_front_pic.png b/graphics/pokemon/front_pics/lotad_still_front_pic.png deleted file mode 100644 index 0b7e0a0a6..000000000 Binary files a/graphics/pokemon/front_pics/lotad_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/loudred_still_front_pic.png b/graphics/pokemon/front_pics/loudred_still_front_pic.png deleted file mode 100644 index 2b87c0b29..000000000 Binary files a/graphics/pokemon/front_pics/loudred_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/ludicolo_still_front_pic.png b/graphics/pokemon/front_pics/ludicolo_still_front_pic.png deleted file mode 100644 index df8e0091b..000000000 Binary files a/graphics/pokemon/front_pics/ludicolo_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/lugia_still_front_pic.png b/graphics/pokemon/front_pics/lugia_still_front_pic.png deleted file mode 100644 index 44f6ce278..000000000 Binary files a/graphics/pokemon/front_pics/lugia_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/lunatone_still_front_pic.png b/graphics/pokemon/front_pics/lunatone_still_front_pic.png deleted file mode 100644 index 3458d32d5..000000000 Binary files a/graphics/pokemon/front_pics/lunatone_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/luvdisc_still_front_pic.png b/graphics/pokemon/front_pics/luvdisc_still_front_pic.png deleted file mode 100644 index e85283e10..000000000 Binary files a/graphics/pokemon/front_pics/luvdisc_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/machamp_still_front_pic.png b/graphics/pokemon/front_pics/machamp_still_front_pic.png deleted file mode 100644 index 8096b4ddd..000000000 Binary files a/graphics/pokemon/front_pics/machamp_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/machoke_still_front_pic.png b/graphics/pokemon/front_pics/machoke_still_front_pic.png deleted file mode 100644 index a42831e68..000000000 Binary files a/graphics/pokemon/front_pics/machoke_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/machop_still_front_pic.png b/graphics/pokemon/front_pics/machop_still_front_pic.png deleted file mode 100644 index 4a9656314..000000000 Binary files a/graphics/pokemon/front_pics/machop_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/magby_still_front_pic.png b/graphics/pokemon/front_pics/magby_still_front_pic.png deleted file mode 100644 index 6994953b2..000000000 Binary files a/graphics/pokemon/front_pics/magby_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/magcargo_still_front_pic.png b/graphics/pokemon/front_pics/magcargo_still_front_pic.png deleted file mode 100644 index b2e3679cd..000000000 Binary files a/graphics/pokemon/front_pics/magcargo_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/magikarp_still_front_pic.png b/graphics/pokemon/front_pics/magikarp_still_front_pic.png deleted file mode 100644 index a34e0e9cd..000000000 Binary files a/graphics/pokemon/front_pics/magikarp_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/magmar_still_front_pic.png b/graphics/pokemon/front_pics/magmar_still_front_pic.png deleted file mode 100644 index 1414e4e04..000000000 Binary files a/graphics/pokemon/front_pics/magmar_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/magnemite_still_front_pic.png b/graphics/pokemon/front_pics/magnemite_still_front_pic.png deleted file mode 100644 index 4f1b8a04f..000000000 Binary files a/graphics/pokemon/front_pics/magnemite_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/magneton_still_front_pic.png b/graphics/pokemon/front_pics/magneton_still_front_pic.png deleted file mode 100644 index 2589acbb4..000000000 Binary files a/graphics/pokemon/front_pics/magneton_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/makuhita_still_front_pic.png b/graphics/pokemon/front_pics/makuhita_still_front_pic.png deleted file mode 100644 index 76a11c069..000000000 Binary files a/graphics/pokemon/front_pics/makuhita_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/manectric_still_front_pic.png b/graphics/pokemon/front_pics/manectric_still_front_pic.png deleted file mode 100644 index d4142301c..000000000 Binary files a/graphics/pokemon/front_pics/manectric_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/mankey_still_front_pic.png b/graphics/pokemon/front_pics/mankey_still_front_pic.png deleted file mode 100644 index 47b9e9d93..000000000 Binary files a/graphics/pokemon/front_pics/mankey_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/mantine_still_front_pic.png b/graphics/pokemon/front_pics/mantine_still_front_pic.png deleted file mode 100644 index b8a292d83..000000000 Binary files a/graphics/pokemon/front_pics/mantine_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/mareep_still_front_pic.png b/graphics/pokemon/front_pics/mareep_still_front_pic.png deleted file mode 100644 index 7f052faea..000000000 Binary files a/graphics/pokemon/front_pics/mareep_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/marill_still_front_pic.png b/graphics/pokemon/front_pics/marill_still_front_pic.png deleted file mode 100644 index 91cdf233f..000000000 Binary files a/graphics/pokemon/front_pics/marill_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/marowak_still_front_pic.png b/graphics/pokemon/front_pics/marowak_still_front_pic.png deleted file mode 100644 index cc30ea0c6..000000000 Binary files a/graphics/pokemon/front_pics/marowak_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/marshtomp_still_front_pic.png b/graphics/pokemon/front_pics/marshtomp_still_front_pic.png deleted file mode 100644 index 92e043bbc..000000000 Binary files a/graphics/pokemon/front_pics/marshtomp_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/masquerain_still_front_pic.png b/graphics/pokemon/front_pics/masquerain_still_front_pic.png deleted file mode 100644 index b4c33dccc..000000000 Binary files a/graphics/pokemon/front_pics/masquerain_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/mawile_still_front_pic.png b/graphics/pokemon/front_pics/mawile_still_front_pic.png deleted file mode 100644 index 49f38de14..000000000 Binary files a/graphics/pokemon/front_pics/mawile_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/medicham_still_front_pic.png b/graphics/pokemon/front_pics/medicham_still_front_pic.png deleted file mode 100644 index 1da67a1f2..000000000 Binary files a/graphics/pokemon/front_pics/medicham_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/meditite_still_front_pic.png b/graphics/pokemon/front_pics/meditite_still_front_pic.png deleted file mode 100644 index e8717b13d..000000000 Binary files a/graphics/pokemon/front_pics/meditite_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/meganium_still_front_pic.png b/graphics/pokemon/front_pics/meganium_still_front_pic.png deleted file mode 100644 index 5ecee5287..000000000 Binary files a/graphics/pokemon/front_pics/meganium_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/meowth_still_front_pic.png b/graphics/pokemon/front_pics/meowth_still_front_pic.png deleted file mode 100644 index 76299ea59..000000000 Binary files a/graphics/pokemon/front_pics/meowth_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/metagross_still_front_pic.png b/graphics/pokemon/front_pics/metagross_still_front_pic.png deleted file mode 100644 index 6349fe912..000000000 Binary files a/graphics/pokemon/front_pics/metagross_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/metang_still_front_pic.png b/graphics/pokemon/front_pics/metang_still_front_pic.png deleted file mode 100644 index 397bef3bf..000000000 Binary files a/graphics/pokemon/front_pics/metang_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/metapod_still_front_pic.png b/graphics/pokemon/front_pics/metapod_still_front_pic.png deleted file mode 100644 index 5069c7202..000000000 Binary files a/graphics/pokemon/front_pics/metapod_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/mew_still_front_pic.png b/graphics/pokemon/front_pics/mew_still_front_pic.png deleted file mode 100644 index a2b2dd573..000000000 Binary files a/graphics/pokemon/front_pics/mew_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/mewtwo_still_front_pic.png b/graphics/pokemon/front_pics/mewtwo_still_front_pic.png deleted file mode 100644 index a35fd8dda..000000000 Binary files a/graphics/pokemon/front_pics/mewtwo_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/mightyena_still_front_pic.png b/graphics/pokemon/front_pics/mightyena_still_front_pic.png deleted file mode 100644 index 16af4c021..000000000 Binary files a/graphics/pokemon/front_pics/mightyena_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/milotic_still_front_pic.png b/graphics/pokemon/front_pics/milotic_still_front_pic.png deleted file mode 100644 index 82d683449..000000000 Binary files a/graphics/pokemon/front_pics/milotic_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/miltank_still_front_pic.png b/graphics/pokemon/front_pics/miltank_still_front_pic.png deleted file mode 100644 index 394b56fab..000000000 Binary files a/graphics/pokemon/front_pics/miltank_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/minun_still_front_pic.png b/graphics/pokemon/front_pics/minun_still_front_pic.png deleted file mode 100644 index 9b373c0a2..000000000 Binary files a/graphics/pokemon/front_pics/minun_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/misdreavus_still_front_pic.png b/graphics/pokemon/front_pics/misdreavus_still_front_pic.png deleted file mode 100644 index 135f6969b..000000000 Binary files a/graphics/pokemon/front_pics/misdreavus_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/moltres_still_front_pic.png b/graphics/pokemon/front_pics/moltres_still_front_pic.png deleted file mode 100644 index 3ce75c7cc..000000000 Binary files a/graphics/pokemon/front_pics/moltres_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/mr_mime_still_front_pic.png b/graphics/pokemon/front_pics/mr_mime_still_front_pic.png deleted file mode 100644 index aac232c67..000000000 Binary files a/graphics/pokemon/front_pics/mr_mime_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/mudkip_still_front_pic.png b/graphics/pokemon/front_pics/mudkip_still_front_pic.png deleted file mode 100644 index 15405baf9..000000000 Binary files a/graphics/pokemon/front_pics/mudkip_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/muk_still_front_pic.png b/graphics/pokemon/front_pics/muk_still_front_pic.png deleted file mode 100644 index f1ec93830..000000000 Binary files a/graphics/pokemon/front_pics/muk_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/murkrow_still_front_pic.png b/graphics/pokemon/front_pics/murkrow_still_front_pic.png deleted file mode 100644 index 77c11fef2..000000000 Binary files a/graphics/pokemon/front_pics/murkrow_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/natu_still_front_pic.png b/graphics/pokemon/front_pics/natu_still_front_pic.png deleted file mode 100644 index b25742d8e..000000000 Binary files a/graphics/pokemon/front_pics/natu_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/nidoking_still_front_pic.png b/graphics/pokemon/front_pics/nidoking_still_front_pic.png deleted file mode 100644 index db7740e99..000000000 Binary files a/graphics/pokemon/front_pics/nidoking_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/nidoqueen_still_front_pic.png b/graphics/pokemon/front_pics/nidoqueen_still_front_pic.png deleted file mode 100644 index 3db1a20fd..000000000 Binary files a/graphics/pokemon/front_pics/nidoqueen_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/nidoran_f_still_front_pic.png b/graphics/pokemon/front_pics/nidoran_f_still_front_pic.png deleted file mode 100644 index 8cfed4258..000000000 Binary files a/graphics/pokemon/front_pics/nidoran_f_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/nidoran_m_still_front_pic.png b/graphics/pokemon/front_pics/nidoran_m_still_front_pic.png deleted file mode 100644 index b46c3d586..000000000 Binary files a/graphics/pokemon/front_pics/nidoran_m_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/nidorina_still_front_pic.png b/graphics/pokemon/front_pics/nidorina_still_front_pic.png deleted file mode 100644 index 0aa883505..000000000 Binary files a/graphics/pokemon/front_pics/nidorina_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/nidorino_still_front_pic.png b/graphics/pokemon/front_pics/nidorino_still_front_pic.png deleted file mode 100644 index 8acf1cc72..000000000 Binary files a/graphics/pokemon/front_pics/nidorino_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/nincada_still_front_pic.png b/graphics/pokemon/front_pics/nincada_still_front_pic.png deleted file mode 100644 index 576144c48..000000000 Binary files a/graphics/pokemon/front_pics/nincada_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/ninetales_still_front_pic.png b/graphics/pokemon/front_pics/ninetales_still_front_pic.png deleted file mode 100644 index 30b5d0d1f..000000000 Binary files a/graphics/pokemon/front_pics/ninetales_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/ninjask_still_front_pic.png b/graphics/pokemon/front_pics/ninjask_still_front_pic.png deleted file mode 100644 index c642dbad5..000000000 Binary files a/graphics/pokemon/front_pics/ninjask_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/noctowl_still_front_pic.png b/graphics/pokemon/front_pics/noctowl_still_front_pic.png deleted file mode 100644 index 56e148d94..000000000 Binary files a/graphics/pokemon/front_pics/noctowl_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/nosepass_still_front_pic.png b/graphics/pokemon/front_pics/nosepass_still_front_pic.png deleted file mode 100644 index 5ed3a851f..000000000 Binary files a/graphics/pokemon/front_pics/nosepass_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/numel_still_front_pic.png b/graphics/pokemon/front_pics/numel_still_front_pic.png deleted file mode 100644 index 1aca480f7..000000000 Binary files a/graphics/pokemon/front_pics/numel_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/nuzleaf_still_front_pic.png b/graphics/pokemon/front_pics/nuzleaf_still_front_pic.png deleted file mode 100644 index ecaf00f85..000000000 Binary files a/graphics/pokemon/front_pics/nuzleaf_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/octillery_still_front_pic.png b/graphics/pokemon/front_pics/octillery_still_front_pic.png deleted file mode 100644 index 99d3a166e..000000000 Binary files a/graphics/pokemon/front_pics/octillery_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/oddish_still_front_pic.png b/graphics/pokemon/front_pics/oddish_still_front_pic.png deleted file mode 100644 index 6b43f1683..000000000 Binary files a/graphics/pokemon/front_pics/oddish_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/omanyte_still_front_pic.png b/graphics/pokemon/front_pics/omanyte_still_front_pic.png deleted file mode 100644 index 5c779d128..000000000 Binary files a/graphics/pokemon/front_pics/omanyte_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/omastar_still_front_pic.png b/graphics/pokemon/front_pics/omastar_still_front_pic.png deleted file mode 100644 index 2a1c58e38..000000000 Binary files a/graphics/pokemon/front_pics/omastar_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/onix_still_front_pic.png b/graphics/pokemon/front_pics/onix_still_front_pic.png deleted file mode 100644 index 4f9679d3f..000000000 Binary files a/graphics/pokemon/front_pics/onix_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/paras_still_front_pic.png b/graphics/pokemon/front_pics/paras_still_front_pic.png deleted file mode 100644 index 6fceba2f2..000000000 Binary files a/graphics/pokemon/front_pics/paras_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/parasect_still_front_pic.png b/graphics/pokemon/front_pics/parasect_still_front_pic.png deleted file mode 100644 index ebded40ab..000000000 Binary files a/graphics/pokemon/front_pics/parasect_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/pelipper_still_front_pic.png b/graphics/pokemon/front_pics/pelipper_still_front_pic.png deleted file mode 100644 index 1bf3669ae..000000000 Binary files a/graphics/pokemon/front_pics/pelipper_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/persian_still_front_pic.png b/graphics/pokemon/front_pics/persian_still_front_pic.png deleted file mode 100644 index baf8a4eed..000000000 Binary files a/graphics/pokemon/front_pics/persian_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/phanpy_still_front_pic.png b/graphics/pokemon/front_pics/phanpy_still_front_pic.png deleted file mode 100644 index f9dc5fce6..000000000 Binary files a/graphics/pokemon/front_pics/phanpy_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/pichu_still_front_pic.png b/graphics/pokemon/front_pics/pichu_still_front_pic.png deleted file mode 100644 index f061d578b..000000000 Binary files a/graphics/pokemon/front_pics/pichu_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/pidgeot_still_front_pic.png b/graphics/pokemon/front_pics/pidgeot_still_front_pic.png deleted file mode 100644 index 314ea0e95..000000000 Binary files a/graphics/pokemon/front_pics/pidgeot_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/pidgeotto_still_front_pic.png b/graphics/pokemon/front_pics/pidgeotto_still_front_pic.png deleted file mode 100644 index dc7f68df0..000000000 Binary files a/graphics/pokemon/front_pics/pidgeotto_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/pidgey_still_front_pic.png b/graphics/pokemon/front_pics/pidgey_still_front_pic.png deleted file mode 100644 index 081602716..000000000 Binary files a/graphics/pokemon/front_pics/pidgey_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/pikachu_still_front_pic.png b/graphics/pokemon/front_pics/pikachu_still_front_pic.png deleted file mode 100644 index 18f83cf02..000000000 Binary files a/graphics/pokemon/front_pics/pikachu_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/piloswine_still_front_pic.png b/graphics/pokemon/front_pics/piloswine_still_front_pic.png deleted file mode 100644 index 939fb3908..000000000 Binary files a/graphics/pokemon/front_pics/piloswine_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/pineco_still_front_pic.png b/graphics/pokemon/front_pics/pineco_still_front_pic.png deleted file mode 100644 index eee32963a..000000000 Binary files a/graphics/pokemon/front_pics/pineco_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/pinsir_still_front_pic.png b/graphics/pokemon/front_pics/pinsir_still_front_pic.png deleted file mode 100644 index c14846d5b..000000000 Binary files a/graphics/pokemon/front_pics/pinsir_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/plusle_still_front_pic.png b/graphics/pokemon/front_pics/plusle_still_front_pic.png deleted file mode 100644 index dc38ca3d1..000000000 Binary files a/graphics/pokemon/front_pics/plusle_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/politoed_still_front_pic.png b/graphics/pokemon/front_pics/politoed_still_front_pic.png deleted file mode 100644 index d07bf4013..000000000 Binary files a/graphics/pokemon/front_pics/politoed_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/poliwag_still_front_pic.png b/graphics/pokemon/front_pics/poliwag_still_front_pic.png deleted file mode 100644 index 47d5bb762..000000000 Binary files a/graphics/pokemon/front_pics/poliwag_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/poliwhirl_still_front_pic.png b/graphics/pokemon/front_pics/poliwhirl_still_front_pic.png deleted file mode 100644 index ab7eb3a4b..000000000 Binary files a/graphics/pokemon/front_pics/poliwhirl_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/poliwrath_still_front_pic.png b/graphics/pokemon/front_pics/poliwrath_still_front_pic.png deleted file mode 100644 index 84210c773..000000000 Binary files a/graphics/pokemon/front_pics/poliwrath_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/ponyta_still_front_pic.png b/graphics/pokemon/front_pics/ponyta_still_front_pic.png deleted file mode 100644 index b2a4e903d..000000000 Binary files a/graphics/pokemon/front_pics/ponyta_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/poochyena_still_front_pic.png b/graphics/pokemon/front_pics/poochyena_still_front_pic.png deleted file mode 100644 index bfdc6e7e6..000000000 Binary files a/graphics/pokemon/front_pics/poochyena_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/porygon2_still_front_pic.png b/graphics/pokemon/front_pics/porygon2_still_front_pic.png deleted file mode 100644 index ef08816d7..000000000 Binary files a/graphics/pokemon/front_pics/porygon2_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/porygon_still_front_pic.png b/graphics/pokemon/front_pics/porygon_still_front_pic.png deleted file mode 100644 index c22e57d32..000000000 Binary files a/graphics/pokemon/front_pics/porygon_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/primeape_still_front_pic.png b/graphics/pokemon/front_pics/primeape_still_front_pic.png deleted file mode 100644 index 4d135e9f4..000000000 Binary files a/graphics/pokemon/front_pics/primeape_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/psyduck_still_front_pic.png b/graphics/pokemon/front_pics/psyduck_still_front_pic.png deleted file mode 100644 index 41e5202fc..000000000 Binary files a/graphics/pokemon/front_pics/psyduck_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/pupitar_still_front_pic.png b/graphics/pokemon/front_pics/pupitar_still_front_pic.png deleted file mode 100644 index 9e48ec20a..000000000 Binary files a/graphics/pokemon/front_pics/pupitar_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/quagsire_still_front_pic.png b/graphics/pokemon/front_pics/quagsire_still_front_pic.png deleted file mode 100644 index d065f9fa1..000000000 Binary files a/graphics/pokemon/front_pics/quagsire_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/quilava_still_front_pic.png b/graphics/pokemon/front_pics/quilava_still_front_pic.png deleted file mode 100644 index a5a0d34f6..000000000 Binary files a/graphics/pokemon/front_pics/quilava_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/qwilfish_still_front_pic.png b/graphics/pokemon/front_pics/qwilfish_still_front_pic.png deleted file mode 100644 index 67266d4af..000000000 Binary files a/graphics/pokemon/front_pics/qwilfish_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/raichu_still_front_pic.png b/graphics/pokemon/front_pics/raichu_still_front_pic.png deleted file mode 100644 index 8c324b5e5..000000000 Binary files a/graphics/pokemon/front_pics/raichu_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/raikou_still_front_pic.png b/graphics/pokemon/front_pics/raikou_still_front_pic.png deleted file mode 100644 index f9ee02ea9..000000000 Binary files a/graphics/pokemon/front_pics/raikou_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/ralts_still_front_pic.png b/graphics/pokemon/front_pics/ralts_still_front_pic.png deleted file mode 100644 index dc4551880..000000000 Binary files a/graphics/pokemon/front_pics/ralts_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/rapidash_still_front_pic.png b/graphics/pokemon/front_pics/rapidash_still_front_pic.png deleted file mode 100644 index 156aa6a59..000000000 Binary files a/graphics/pokemon/front_pics/rapidash_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/raticate_still_front_pic.png b/graphics/pokemon/front_pics/raticate_still_front_pic.png deleted file mode 100644 index ebbfeead1..000000000 Binary files a/graphics/pokemon/front_pics/raticate_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/rattata_still_front_pic.png b/graphics/pokemon/front_pics/rattata_still_front_pic.png deleted file mode 100644 index 28abd0e9a..000000000 Binary files a/graphics/pokemon/front_pics/rattata_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/rayquaza_still_front_pic.png b/graphics/pokemon/front_pics/rayquaza_still_front_pic.png deleted file mode 100644 index 21d554ce3..000000000 Binary files a/graphics/pokemon/front_pics/rayquaza_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/regice_still_front_pic.png b/graphics/pokemon/front_pics/regice_still_front_pic.png deleted file mode 100644 index 022a3a855..000000000 Binary files a/graphics/pokemon/front_pics/regice_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/regirock_still_front_pic.png b/graphics/pokemon/front_pics/regirock_still_front_pic.png deleted file mode 100644 index 9e179079a..000000000 Binary files a/graphics/pokemon/front_pics/regirock_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/registeel_still_front_pic.png b/graphics/pokemon/front_pics/registeel_still_front_pic.png deleted file mode 100644 index d7fe7e101..000000000 Binary files a/graphics/pokemon/front_pics/registeel_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/relicanth_still_front_pic.png b/graphics/pokemon/front_pics/relicanth_still_front_pic.png deleted file mode 100644 index 41886e9e2..000000000 Binary files a/graphics/pokemon/front_pics/relicanth_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/remoraid_still_front_pic.png b/graphics/pokemon/front_pics/remoraid_still_front_pic.png deleted file mode 100644 index b80e2af89..000000000 Binary files a/graphics/pokemon/front_pics/remoraid_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/rhydon_still_front_pic.png b/graphics/pokemon/front_pics/rhydon_still_front_pic.png deleted file mode 100644 index 1455d7010..000000000 Binary files a/graphics/pokemon/front_pics/rhydon_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/rhyhorn_still_front_pic.png b/graphics/pokemon/front_pics/rhyhorn_still_front_pic.png deleted file mode 100644 index 357977812..000000000 Binary files a/graphics/pokemon/front_pics/rhyhorn_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/roselia_still_front_pic.png b/graphics/pokemon/front_pics/roselia_still_front_pic.png deleted file mode 100644 index d018ba658..000000000 Binary files a/graphics/pokemon/front_pics/roselia_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/sableye_still_front_pic.png b/graphics/pokemon/front_pics/sableye_still_front_pic.png deleted file mode 100644 index 5004a61ec..000000000 Binary files a/graphics/pokemon/front_pics/sableye_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/salamence_still_front_pic.png b/graphics/pokemon/front_pics/salamence_still_front_pic.png deleted file mode 100644 index 97db0937c..000000000 Binary files a/graphics/pokemon/front_pics/salamence_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/sandshrew_still_front_pic.png b/graphics/pokemon/front_pics/sandshrew_still_front_pic.png deleted file mode 100644 index 12c9cad5a..000000000 Binary files a/graphics/pokemon/front_pics/sandshrew_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/sandslash_still_front_pic.png b/graphics/pokemon/front_pics/sandslash_still_front_pic.png deleted file mode 100644 index 86115f777..000000000 Binary files a/graphics/pokemon/front_pics/sandslash_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/sceptile_still_front_pic.png b/graphics/pokemon/front_pics/sceptile_still_front_pic.png deleted file mode 100644 index f6ce3a054..000000000 Binary files a/graphics/pokemon/front_pics/sceptile_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/scizor_still_front_pic.png b/graphics/pokemon/front_pics/scizor_still_front_pic.png deleted file mode 100644 index 33bdef332..000000000 Binary files a/graphics/pokemon/front_pics/scizor_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/scyther_still_front_pic.png b/graphics/pokemon/front_pics/scyther_still_front_pic.png deleted file mode 100644 index 55c7a3de9..000000000 Binary files a/graphics/pokemon/front_pics/scyther_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/seadra_still_front_pic.png b/graphics/pokemon/front_pics/seadra_still_front_pic.png deleted file mode 100644 index 8f03a6736..000000000 Binary files a/graphics/pokemon/front_pics/seadra_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/seaking_still_front_pic.png b/graphics/pokemon/front_pics/seaking_still_front_pic.png deleted file mode 100644 index 155dc6172..000000000 Binary files a/graphics/pokemon/front_pics/seaking_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/sealeo_still_front_pic.png b/graphics/pokemon/front_pics/sealeo_still_front_pic.png deleted file mode 100644 index 920a190d0..000000000 Binary files a/graphics/pokemon/front_pics/sealeo_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/seedot_still_front_pic.png b/graphics/pokemon/front_pics/seedot_still_front_pic.png deleted file mode 100644 index 6be5868e6..000000000 Binary files a/graphics/pokemon/front_pics/seedot_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/seel_still_front_pic.png b/graphics/pokemon/front_pics/seel_still_front_pic.png deleted file mode 100644 index e6bbb2580..000000000 Binary files a/graphics/pokemon/front_pics/seel_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/sentret_still_front_pic.png b/graphics/pokemon/front_pics/sentret_still_front_pic.png deleted file mode 100644 index eb3032ade..000000000 Binary files a/graphics/pokemon/front_pics/sentret_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/seviper_still_front_pic.png b/graphics/pokemon/front_pics/seviper_still_front_pic.png deleted file mode 100644 index 41635e5fb..000000000 Binary files a/graphics/pokemon/front_pics/seviper_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/sharpedo_still_front_pic.png b/graphics/pokemon/front_pics/sharpedo_still_front_pic.png deleted file mode 100644 index 65d1182c0..000000000 Binary files a/graphics/pokemon/front_pics/sharpedo_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/shedinja_still_front_pic.png b/graphics/pokemon/front_pics/shedinja_still_front_pic.png deleted file mode 100644 index 06c47ea9c..000000000 Binary files a/graphics/pokemon/front_pics/shedinja_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/shelgon_still_front_pic.png b/graphics/pokemon/front_pics/shelgon_still_front_pic.png deleted file mode 100644 index c9474977e..000000000 Binary files a/graphics/pokemon/front_pics/shelgon_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/shellder_still_front_pic.png b/graphics/pokemon/front_pics/shellder_still_front_pic.png deleted file mode 100644 index 0cb47ebf8..000000000 Binary files a/graphics/pokemon/front_pics/shellder_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/shiftry_still_front_pic.png b/graphics/pokemon/front_pics/shiftry_still_front_pic.png deleted file mode 100644 index 580c248b7..000000000 Binary files a/graphics/pokemon/front_pics/shiftry_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/shroomish_still_front_pic.png b/graphics/pokemon/front_pics/shroomish_still_front_pic.png deleted file mode 100644 index 0ebe8ca06..000000000 Binary files a/graphics/pokemon/front_pics/shroomish_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/shuckle_still_front_pic.png b/graphics/pokemon/front_pics/shuckle_still_front_pic.png deleted file mode 100644 index 1747fe5e7..000000000 Binary files a/graphics/pokemon/front_pics/shuckle_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/shuppet_still_front_pic.png b/graphics/pokemon/front_pics/shuppet_still_front_pic.png deleted file mode 100644 index 9b63e2640..000000000 Binary files a/graphics/pokemon/front_pics/shuppet_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/silcoon_still_front_pic.png b/graphics/pokemon/front_pics/silcoon_still_front_pic.png deleted file mode 100644 index f416f074d..000000000 Binary files a/graphics/pokemon/front_pics/silcoon_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/skarmory_still_front_pic.png b/graphics/pokemon/front_pics/skarmory_still_front_pic.png deleted file mode 100644 index 06ce4420f..000000000 Binary files a/graphics/pokemon/front_pics/skarmory_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/skiploom_still_front_pic.png b/graphics/pokemon/front_pics/skiploom_still_front_pic.png deleted file mode 100644 index 0efc78f1d..000000000 Binary files a/graphics/pokemon/front_pics/skiploom_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/skitty_still_front_pic.png b/graphics/pokemon/front_pics/skitty_still_front_pic.png deleted file mode 100644 index b0b85cc95..000000000 Binary files a/graphics/pokemon/front_pics/skitty_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/slaking_still_front_pic.png b/graphics/pokemon/front_pics/slaking_still_front_pic.png deleted file mode 100644 index 3ff648701..000000000 Binary files a/graphics/pokemon/front_pics/slaking_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/slakoth_still_front_pic.png b/graphics/pokemon/front_pics/slakoth_still_front_pic.png deleted file mode 100644 index 5440669ae..000000000 Binary files a/graphics/pokemon/front_pics/slakoth_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/slowbro_still_front_pic.png b/graphics/pokemon/front_pics/slowbro_still_front_pic.png deleted file mode 100644 index 36bd9e8c5..000000000 Binary files a/graphics/pokemon/front_pics/slowbro_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/slowking_still_front_pic.png b/graphics/pokemon/front_pics/slowking_still_front_pic.png deleted file mode 100644 index 11b16a952..000000000 Binary files a/graphics/pokemon/front_pics/slowking_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/slowpoke_still_front_pic.png b/graphics/pokemon/front_pics/slowpoke_still_front_pic.png deleted file mode 100644 index 5c6c87026..000000000 Binary files a/graphics/pokemon/front_pics/slowpoke_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/slugma_still_front_pic.png b/graphics/pokemon/front_pics/slugma_still_front_pic.png deleted file mode 100644 index 4b27af3fc..000000000 Binary files a/graphics/pokemon/front_pics/slugma_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/smeargle_still_front_pic.png b/graphics/pokemon/front_pics/smeargle_still_front_pic.png deleted file mode 100644 index 91c400395..000000000 Binary files a/graphics/pokemon/front_pics/smeargle_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/smoochum_still_front_pic.png b/graphics/pokemon/front_pics/smoochum_still_front_pic.png deleted file mode 100644 index 608841600..000000000 Binary files a/graphics/pokemon/front_pics/smoochum_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/sneasel_still_front_pic.png b/graphics/pokemon/front_pics/sneasel_still_front_pic.png deleted file mode 100644 index 704489419..000000000 Binary files a/graphics/pokemon/front_pics/sneasel_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/snorlax_still_front_pic.png b/graphics/pokemon/front_pics/snorlax_still_front_pic.png deleted file mode 100644 index e71642b2c..000000000 Binary files a/graphics/pokemon/front_pics/snorlax_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/snorunt_still_front_pic.png b/graphics/pokemon/front_pics/snorunt_still_front_pic.png deleted file mode 100644 index bf18fb9fa..000000000 Binary files a/graphics/pokemon/front_pics/snorunt_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/snubbull_still_front_pic.png b/graphics/pokemon/front_pics/snubbull_still_front_pic.png deleted file mode 100644 index 86c602d49..000000000 Binary files a/graphics/pokemon/front_pics/snubbull_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/solrock_still_front_pic.png b/graphics/pokemon/front_pics/solrock_still_front_pic.png deleted file mode 100644 index d0fe58533..000000000 Binary files a/graphics/pokemon/front_pics/solrock_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/spearow_still_front_pic.png b/graphics/pokemon/front_pics/spearow_still_front_pic.png deleted file mode 100644 index f6408d7c0..000000000 Binary files a/graphics/pokemon/front_pics/spearow_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/spheal_still_front_pic.png b/graphics/pokemon/front_pics/spheal_still_front_pic.png deleted file mode 100644 index f07cf67b5..000000000 Binary files a/graphics/pokemon/front_pics/spheal_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/spinarak_still_front_pic.png b/graphics/pokemon/front_pics/spinarak_still_front_pic.png deleted file mode 100644 index cd525f1c4..000000000 Binary files a/graphics/pokemon/front_pics/spinarak_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/spinda_still_front_pic.png b/graphics/pokemon/front_pics/spinda_still_front_pic.png deleted file mode 100644 index 5976a87d1..000000000 Binary files a/graphics/pokemon/front_pics/spinda_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/spoink_still_front_pic.png b/graphics/pokemon/front_pics/spoink_still_front_pic.png deleted file mode 100644 index ee4afc1ed..000000000 Binary files a/graphics/pokemon/front_pics/spoink_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/squirtle_still_front_pic.png b/graphics/pokemon/front_pics/squirtle_still_front_pic.png deleted file mode 100644 index c494d47e3..000000000 Binary files a/graphics/pokemon/front_pics/squirtle_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/stantler_still_front_pic.png b/graphics/pokemon/front_pics/stantler_still_front_pic.png deleted file mode 100644 index aa3d80efc..000000000 Binary files a/graphics/pokemon/front_pics/stantler_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/starmie_still_front_pic.png b/graphics/pokemon/front_pics/starmie_still_front_pic.png deleted file mode 100644 index e695d83de..000000000 Binary files a/graphics/pokemon/front_pics/starmie_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/staryu_still_front_pic.png b/graphics/pokemon/front_pics/staryu_still_front_pic.png deleted file mode 100644 index c17a80418..000000000 Binary files a/graphics/pokemon/front_pics/staryu_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/steelix_still_front_pic.png b/graphics/pokemon/front_pics/steelix_still_front_pic.png deleted file mode 100644 index e5b3a35d6..000000000 Binary files a/graphics/pokemon/front_pics/steelix_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/sudowoodo_still_front_pic.png b/graphics/pokemon/front_pics/sudowoodo_still_front_pic.png deleted file mode 100644 index 897516953..000000000 Binary files a/graphics/pokemon/front_pics/sudowoodo_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/suicune_still_front_pic.png b/graphics/pokemon/front_pics/suicune_still_front_pic.png deleted file mode 100644 index 3529d8fe1..000000000 Binary files a/graphics/pokemon/front_pics/suicune_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/sunflora_still_front_pic.png b/graphics/pokemon/front_pics/sunflora_still_front_pic.png deleted file mode 100644 index 9752bb9d4..000000000 Binary files a/graphics/pokemon/front_pics/sunflora_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/sunkern_still_front_pic.png b/graphics/pokemon/front_pics/sunkern_still_front_pic.png deleted file mode 100644 index 15a743cc3..000000000 Binary files a/graphics/pokemon/front_pics/sunkern_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/surskit_still_front_pic.png b/graphics/pokemon/front_pics/surskit_still_front_pic.png deleted file mode 100644 index 559e8e786..000000000 Binary files a/graphics/pokemon/front_pics/surskit_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/swablu_still_front_pic.png b/graphics/pokemon/front_pics/swablu_still_front_pic.png deleted file mode 100644 index 1992c2d06..000000000 Binary files a/graphics/pokemon/front_pics/swablu_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/swalot_still_front_pic.png b/graphics/pokemon/front_pics/swalot_still_front_pic.png deleted file mode 100644 index 7607b8c2e..000000000 Binary files a/graphics/pokemon/front_pics/swalot_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/swampert_still_front_pic.png b/graphics/pokemon/front_pics/swampert_still_front_pic.png deleted file mode 100644 index eea565e43..000000000 Binary files a/graphics/pokemon/front_pics/swampert_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/swellow_still_front_pic.png b/graphics/pokemon/front_pics/swellow_still_front_pic.png deleted file mode 100644 index 6a5dcb239..000000000 Binary files a/graphics/pokemon/front_pics/swellow_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/swinub_still_front_pic.png b/graphics/pokemon/front_pics/swinub_still_front_pic.png deleted file mode 100644 index c92de5b5a..000000000 Binary files a/graphics/pokemon/front_pics/swinub_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/taillow_still_front_pic.png b/graphics/pokemon/front_pics/taillow_still_front_pic.png deleted file mode 100644 index 6ff802ac6..000000000 Binary files a/graphics/pokemon/front_pics/taillow_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/tangela_still_front_pic.png b/graphics/pokemon/front_pics/tangela_still_front_pic.png deleted file mode 100644 index 2aec57c3a..000000000 Binary files a/graphics/pokemon/front_pics/tangela_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/tauros_still_front_pic.png b/graphics/pokemon/front_pics/tauros_still_front_pic.png deleted file mode 100644 index 97498f415..000000000 Binary files a/graphics/pokemon/front_pics/tauros_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/teddiursa_still_front_pic.png b/graphics/pokemon/front_pics/teddiursa_still_front_pic.png deleted file mode 100644 index 27651cfc8..000000000 Binary files a/graphics/pokemon/front_pics/teddiursa_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/tentacool_still_front_pic.png b/graphics/pokemon/front_pics/tentacool_still_front_pic.png deleted file mode 100644 index 038f78f89..000000000 Binary files a/graphics/pokemon/front_pics/tentacool_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/tentacruel_still_front_pic.png b/graphics/pokemon/front_pics/tentacruel_still_front_pic.png deleted file mode 100644 index 6c9579573..000000000 Binary files a/graphics/pokemon/front_pics/tentacruel_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/togepi_still_front_pic.png b/graphics/pokemon/front_pics/togepi_still_front_pic.png deleted file mode 100644 index 2fd04df59..000000000 Binary files a/graphics/pokemon/front_pics/togepi_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/togetic_still_front_pic.png b/graphics/pokemon/front_pics/togetic_still_front_pic.png deleted file mode 100644 index 4f6fe9339..000000000 Binary files a/graphics/pokemon/front_pics/togetic_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/torchic_still_front_pic.png b/graphics/pokemon/front_pics/torchic_still_front_pic.png deleted file mode 100644 index a8eeb2699..000000000 Binary files a/graphics/pokemon/front_pics/torchic_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/torkoal_still_front_pic.png b/graphics/pokemon/front_pics/torkoal_still_front_pic.png deleted file mode 100644 index b19eea08b..000000000 Binary files a/graphics/pokemon/front_pics/torkoal_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/totodile_still_front_pic.png b/graphics/pokemon/front_pics/totodile_still_front_pic.png deleted file mode 100644 index d65863e81..000000000 Binary files a/graphics/pokemon/front_pics/totodile_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/trapinch_still_front_pic.png b/graphics/pokemon/front_pics/trapinch_still_front_pic.png deleted file mode 100644 index 48dd7951a..000000000 Binary files a/graphics/pokemon/front_pics/trapinch_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/treecko_still_front_pic.png b/graphics/pokemon/front_pics/treecko_still_front_pic.png deleted file mode 100644 index 7cacddaae..000000000 Binary files a/graphics/pokemon/front_pics/treecko_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/tropius_still_front_pic.png b/graphics/pokemon/front_pics/tropius_still_front_pic.png deleted file mode 100644 index e2ae021cb..000000000 Binary files a/graphics/pokemon/front_pics/tropius_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/typhlosion_still_front_pic.png b/graphics/pokemon/front_pics/typhlosion_still_front_pic.png deleted file mode 100644 index 22ab5cd90..000000000 Binary files a/graphics/pokemon/front_pics/typhlosion_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/tyranitar_still_front_pic.png b/graphics/pokemon/front_pics/tyranitar_still_front_pic.png deleted file mode 100644 index a1035064b..000000000 Binary files a/graphics/pokemon/front_pics/tyranitar_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/tyrogue_still_front_pic.png b/graphics/pokemon/front_pics/tyrogue_still_front_pic.png deleted file mode 100644 index cd12978ae..000000000 Binary files a/graphics/pokemon/front_pics/tyrogue_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/umbreon_still_front_pic.png b/graphics/pokemon/front_pics/umbreon_still_front_pic.png deleted file mode 100644 index 8fbc3b0f2..000000000 Binary files a/graphics/pokemon/front_pics/umbreon_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/unown_a_still_front_pic.png b/graphics/pokemon/front_pics/unown_a_still_front_pic.png deleted file mode 100644 index 697de36dc..000000000 Binary files a/graphics/pokemon/front_pics/unown_a_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/unown_b_still_front_pic.png b/graphics/pokemon/front_pics/unown_b_still_front_pic.png deleted file mode 100644 index fbe2e4623..000000000 Binary files a/graphics/pokemon/front_pics/unown_b_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/unown_c_still_front_pic.png b/graphics/pokemon/front_pics/unown_c_still_front_pic.png deleted file mode 100644 index c5ef1c457..000000000 Binary files a/graphics/pokemon/front_pics/unown_c_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/unown_d_still_front_pic.png b/graphics/pokemon/front_pics/unown_d_still_front_pic.png deleted file mode 100644 index c39b26120..000000000 Binary files a/graphics/pokemon/front_pics/unown_d_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/unown_e_still_front_pic.png b/graphics/pokemon/front_pics/unown_e_still_front_pic.png deleted file mode 100644 index 81e3f9c93..000000000 Binary files a/graphics/pokemon/front_pics/unown_e_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/unown_exclamation_mark_still_front_pic.png b/graphics/pokemon/front_pics/unown_exclamation_mark_still_front_pic.png deleted file mode 100644 index 86f329f92..000000000 Binary files a/graphics/pokemon/front_pics/unown_exclamation_mark_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/unown_f_still_front_pic.png b/graphics/pokemon/front_pics/unown_f_still_front_pic.png deleted file mode 100644 index 8e61eb768..000000000 Binary files a/graphics/pokemon/front_pics/unown_f_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/unown_g_still_front_pic.png b/graphics/pokemon/front_pics/unown_g_still_front_pic.png deleted file mode 100644 index 4f665124a..000000000 Binary files a/graphics/pokemon/front_pics/unown_g_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/unown_h_still_front_pic.png b/graphics/pokemon/front_pics/unown_h_still_front_pic.png deleted file mode 100644 index f8ab66963..000000000 Binary files a/graphics/pokemon/front_pics/unown_h_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/unown_i_still_front_pic.png b/graphics/pokemon/front_pics/unown_i_still_front_pic.png deleted file mode 100644 index ebc8a51a9..000000000 Binary files a/graphics/pokemon/front_pics/unown_i_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/unown_j_still_front_pic.png b/graphics/pokemon/front_pics/unown_j_still_front_pic.png deleted file mode 100644 index 4c1f4ed2e..000000000 Binary files a/graphics/pokemon/front_pics/unown_j_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/unown_k_still_front_pic.png b/graphics/pokemon/front_pics/unown_k_still_front_pic.png deleted file mode 100644 index 8ccce125e..000000000 Binary files a/graphics/pokemon/front_pics/unown_k_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/unown_l_still_front_pic.png b/graphics/pokemon/front_pics/unown_l_still_front_pic.png deleted file mode 100644 index 6bb837167..000000000 Binary files a/graphics/pokemon/front_pics/unown_l_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/unown_m_still_front_pic.png b/graphics/pokemon/front_pics/unown_m_still_front_pic.png deleted file mode 100644 index 981c7f801..000000000 Binary files a/graphics/pokemon/front_pics/unown_m_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/unown_n_still_front_pic.png b/graphics/pokemon/front_pics/unown_n_still_front_pic.png deleted file mode 100644 index cff797db4..000000000 Binary files a/graphics/pokemon/front_pics/unown_n_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/unown_o_still_front_pic.png b/graphics/pokemon/front_pics/unown_o_still_front_pic.png deleted file mode 100644 index 8b8e81295..000000000 Binary files a/graphics/pokemon/front_pics/unown_o_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/unown_p_still_front_pic.png b/graphics/pokemon/front_pics/unown_p_still_front_pic.png deleted file mode 100644 index 99a7c98e2..000000000 Binary files a/graphics/pokemon/front_pics/unown_p_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/unown_q_still_front_pic.png b/graphics/pokemon/front_pics/unown_q_still_front_pic.png deleted file mode 100644 index fe94c27fa..000000000 Binary files a/graphics/pokemon/front_pics/unown_q_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/unown_question_mark_still_front_pic.png b/graphics/pokemon/front_pics/unown_question_mark_still_front_pic.png deleted file mode 100644 index ee0ad284c..000000000 Binary files a/graphics/pokemon/front_pics/unown_question_mark_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/unown_r_still_front_pic.png b/graphics/pokemon/front_pics/unown_r_still_front_pic.png deleted file mode 100644 index 4e2a40007..000000000 Binary files a/graphics/pokemon/front_pics/unown_r_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/unown_s_still_front_pic.png b/graphics/pokemon/front_pics/unown_s_still_front_pic.png deleted file mode 100644 index a144e27f5..000000000 Binary files a/graphics/pokemon/front_pics/unown_s_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/unown_t_still_front_pic.png b/graphics/pokemon/front_pics/unown_t_still_front_pic.png deleted file mode 100644 index 4d5fa8b98..000000000 Binary files a/graphics/pokemon/front_pics/unown_t_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/unown_u_still_front_pic.png b/graphics/pokemon/front_pics/unown_u_still_front_pic.png deleted file mode 100644 index 39503f01c..000000000 Binary files a/graphics/pokemon/front_pics/unown_u_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/unown_v_still_front_pic.png b/graphics/pokemon/front_pics/unown_v_still_front_pic.png deleted file mode 100644 index f014289bd..000000000 Binary files a/graphics/pokemon/front_pics/unown_v_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/unown_w_still_front_pic.png b/graphics/pokemon/front_pics/unown_w_still_front_pic.png deleted file mode 100644 index 829804ebf..000000000 Binary files a/graphics/pokemon/front_pics/unown_w_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/unown_x_still_front_pic.png b/graphics/pokemon/front_pics/unown_x_still_front_pic.png deleted file mode 100644 index 053e2ee08..000000000 Binary files a/graphics/pokemon/front_pics/unown_x_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/unown_y_still_front_pic.png b/graphics/pokemon/front_pics/unown_y_still_front_pic.png deleted file mode 100644 index d8f40e27e..000000000 Binary files a/graphics/pokemon/front_pics/unown_y_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/unown_z_still_front_pic.png b/graphics/pokemon/front_pics/unown_z_still_front_pic.png deleted file mode 100644 index 054eacb6d..000000000 Binary files a/graphics/pokemon/front_pics/unown_z_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/ursaring_still_front_pic.png b/graphics/pokemon/front_pics/ursaring_still_front_pic.png deleted file mode 100644 index 8699738b5..000000000 Binary files a/graphics/pokemon/front_pics/ursaring_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/vaporeon_still_front_pic.png b/graphics/pokemon/front_pics/vaporeon_still_front_pic.png deleted file mode 100644 index af9a0f999..000000000 Binary files a/graphics/pokemon/front_pics/vaporeon_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/venomoth_still_front_pic.png b/graphics/pokemon/front_pics/venomoth_still_front_pic.png deleted file mode 100644 index 3abc34f90..000000000 Binary files a/graphics/pokemon/front_pics/venomoth_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/venonat_still_front_pic.png b/graphics/pokemon/front_pics/venonat_still_front_pic.png deleted file mode 100644 index 7370b39c0..000000000 Binary files a/graphics/pokemon/front_pics/venonat_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/venusaur_still_front_pic.png b/graphics/pokemon/front_pics/venusaur_still_front_pic.png deleted file mode 100644 index 8f0521e26..000000000 Binary files a/graphics/pokemon/front_pics/venusaur_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/vibrava_still_front_pic.png b/graphics/pokemon/front_pics/vibrava_still_front_pic.png deleted file mode 100644 index 487ce4746..000000000 Binary files a/graphics/pokemon/front_pics/vibrava_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/victreebel_still_front_pic.png b/graphics/pokemon/front_pics/victreebel_still_front_pic.png deleted file mode 100644 index 4f2d7b8f4..000000000 Binary files a/graphics/pokemon/front_pics/victreebel_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/vigoroth_still_front_pic.png b/graphics/pokemon/front_pics/vigoroth_still_front_pic.png deleted file mode 100644 index fe87041ee..000000000 Binary files a/graphics/pokemon/front_pics/vigoroth_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/vileplume_still_front_pic.png b/graphics/pokemon/front_pics/vileplume_still_front_pic.png deleted file mode 100644 index 374cd4ddd..000000000 Binary files a/graphics/pokemon/front_pics/vileplume_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/volbeat_still_front_pic.png b/graphics/pokemon/front_pics/volbeat_still_front_pic.png deleted file mode 100644 index 9daf199a3..000000000 Binary files a/graphics/pokemon/front_pics/volbeat_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/voltorb_still_front_pic.png b/graphics/pokemon/front_pics/voltorb_still_front_pic.png deleted file mode 100644 index 046e4f9c3..000000000 Binary files a/graphics/pokemon/front_pics/voltorb_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/vulpix_still_front_pic.png b/graphics/pokemon/front_pics/vulpix_still_front_pic.png deleted file mode 100644 index 38ec988fd..000000000 Binary files a/graphics/pokemon/front_pics/vulpix_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/wailmer_still_front_pic.png b/graphics/pokemon/front_pics/wailmer_still_front_pic.png deleted file mode 100644 index a17d48cdf..000000000 Binary files a/graphics/pokemon/front_pics/wailmer_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/wailord_still_front_pic.png b/graphics/pokemon/front_pics/wailord_still_front_pic.png deleted file mode 100644 index e542cbc64..000000000 Binary files a/graphics/pokemon/front_pics/wailord_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/walrein_still_front_pic.png b/graphics/pokemon/front_pics/walrein_still_front_pic.png deleted file mode 100644 index b8458e11a..000000000 Binary files a/graphics/pokemon/front_pics/walrein_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/wartortle_still_front_pic.png b/graphics/pokemon/front_pics/wartortle_still_front_pic.png deleted file mode 100644 index 067f21684..000000000 Binary files a/graphics/pokemon/front_pics/wartortle_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/weedle_still_front_pic.png b/graphics/pokemon/front_pics/weedle_still_front_pic.png deleted file mode 100644 index db4bc28f2..000000000 Binary files a/graphics/pokemon/front_pics/weedle_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/weepinbell_still_front_pic.png b/graphics/pokemon/front_pics/weepinbell_still_front_pic.png deleted file mode 100644 index 19b821711..000000000 Binary files a/graphics/pokemon/front_pics/weepinbell_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/weezing_still_front_pic.png b/graphics/pokemon/front_pics/weezing_still_front_pic.png deleted file mode 100644 index 3c50aca9b..000000000 Binary files a/graphics/pokemon/front_pics/weezing_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/whiscash_still_front_pic.png b/graphics/pokemon/front_pics/whiscash_still_front_pic.png deleted file mode 100644 index 1262d3af8..000000000 Binary files a/graphics/pokemon/front_pics/whiscash_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/whismur_still_front_pic.png b/graphics/pokemon/front_pics/whismur_still_front_pic.png deleted file mode 100644 index d12369e26..000000000 Binary files a/graphics/pokemon/front_pics/whismur_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/wigglytuff_still_front_pic.png b/graphics/pokemon/front_pics/wigglytuff_still_front_pic.png deleted file mode 100644 index 045be7fe4..000000000 Binary files a/graphics/pokemon/front_pics/wigglytuff_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/wingull_still_front_pic.png b/graphics/pokemon/front_pics/wingull_still_front_pic.png deleted file mode 100644 index 4d1b16ece..000000000 Binary files a/graphics/pokemon/front_pics/wingull_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/wobbuffet_still_front_pic.png b/graphics/pokemon/front_pics/wobbuffet_still_front_pic.png deleted file mode 100644 index 0e3f39ae1..000000000 Binary files a/graphics/pokemon/front_pics/wobbuffet_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/wooper_still_front_pic.png b/graphics/pokemon/front_pics/wooper_still_front_pic.png deleted file mode 100644 index 4562b0baa..000000000 Binary files a/graphics/pokemon/front_pics/wooper_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/wurmple_still_front_pic.png b/graphics/pokemon/front_pics/wurmple_still_front_pic.png deleted file mode 100644 index 86d8bc06a..000000000 Binary files a/graphics/pokemon/front_pics/wurmple_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/wynaut_still_front_pic.png b/graphics/pokemon/front_pics/wynaut_still_front_pic.png deleted file mode 100644 index 7b1be29f0..000000000 Binary files a/graphics/pokemon/front_pics/wynaut_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/xatu_still_front_pic.png b/graphics/pokemon/front_pics/xatu_still_front_pic.png deleted file mode 100644 index 138550b54..000000000 Binary files a/graphics/pokemon/front_pics/xatu_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/yanma_still_front_pic.png b/graphics/pokemon/front_pics/yanma_still_front_pic.png deleted file mode 100644 index 534e873a1..000000000 Binary files a/graphics/pokemon/front_pics/yanma_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/zangoose_still_front_pic.png b/graphics/pokemon/front_pics/zangoose_still_front_pic.png deleted file mode 100644 index b95a412bf..000000000 Binary files a/graphics/pokemon/front_pics/zangoose_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/zapdos_still_front_pic.png b/graphics/pokemon/front_pics/zapdos_still_front_pic.png deleted file mode 100644 index 2d9249027..000000000 Binary files a/graphics/pokemon/front_pics/zapdos_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/zigzagoon_still_front_pic.png b/graphics/pokemon/front_pics/zigzagoon_still_front_pic.png deleted file mode 100644 index 442a5c5aa..000000000 Binary files a/graphics/pokemon/front_pics/zigzagoon_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/front_pics/zubat_still_front_pic.png b/graphics/pokemon/front_pics/zubat_still_front_pic.png deleted file mode 100644 index 3b1e586b5..000000000 Binary files a/graphics/pokemon/front_pics/zubat_still_front_pic.png and /dev/null differ diff --git a/graphics/pokemon/furret/back.png b/graphics/pokemon/furret/back.png new file mode 100644 index 000000000..0dd2873af Binary files /dev/null and b/graphics/pokemon/furret/back.png differ diff --git a/graphics/pokemon/furret/footprint.png b/graphics/pokemon/furret/footprint.png new file mode 100644 index 000000000..225445fb3 Binary files /dev/null and b/graphics/pokemon/furret/footprint.png differ diff --git a/graphics/pokemon/furret/front.png b/graphics/pokemon/furret/front.png new file mode 100644 index 000000000..4f7ca56e1 Binary files /dev/null and b/graphics/pokemon/furret/front.png differ diff --git a/graphics/pokemon/furret/icon.png b/graphics/pokemon/furret/icon.png new file mode 100644 index 000000000..6974ee9f3 Binary files /dev/null and b/graphics/pokemon/furret/icon.png differ diff --git a/graphics/pokemon/furret/normal.pal b/graphics/pokemon/furret/normal.pal new file mode 100644 index 000000000..5996436be --- /dev/null +++ b/graphics/pokemon/furret/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +255 255 197 +255 238 148 +230 197 74 +197 156 65 +172 131 41 +156 98 74 +123 65 57 +74 24 24 +197 49 24 +156 0 0 +255 148 98 +115 115 115 +65 65 65 +32 32 41 diff --git a/graphics/pokemon/furret/shiny.pal b/graphics/pokemon/furret/shiny.pal new file mode 100644 index 000000000..24ebc5bd6 --- /dev/null +++ b/graphics/pokemon/furret/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 246 230 +255 230 222 +222 189 172 +230 98 139 +148 123 90 +197 65 115 +164 32 90 +131 0 65 +197 49 24 +156 0 0 +255 148 98 +115 115 115 +65 65 65 +32 32 41 diff --git a/graphics/pokemon/gardevoir/back.png b/graphics/pokemon/gardevoir/back.png new file mode 100644 index 000000000..9f975a82c Binary files /dev/null and b/graphics/pokemon/gardevoir/back.png differ diff --git a/graphics/pokemon/gardevoir/footprint.png b/graphics/pokemon/gardevoir/footprint.png new file mode 100644 index 000000000..fd9f4755b Binary files /dev/null and b/graphics/pokemon/gardevoir/footprint.png differ diff --git a/graphics/pokemon/gardevoir/front.png b/graphics/pokemon/gardevoir/front.png new file mode 100644 index 000000000..27de874ac Binary files /dev/null and b/graphics/pokemon/gardevoir/front.png differ diff --git a/graphics/pokemon/gardevoir/icon.png b/graphics/pokemon/gardevoir/icon.png new file mode 100644 index 000000000..958ea7f62 Binary files /dev/null and b/graphics/pokemon/gardevoir/icon.png differ diff --git a/graphics/pokemon/gardevoir/normal.pal b/graphics/pokemon/gardevoir/normal.pal new file mode 100644 index 000000000..1e513ae87 --- /dev/null +++ b/graphics/pokemon/gardevoir/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +156 164 82 +238 238 255 +197 205 222 +164 180 205 +131 148 180 +123 82 82 +115 41 57 +255 156 131 +230 82 57 +131 205 255 +255 255 255 +205 255 172 +148 230 148 +115 189 115 +49 123 74 +16 16 16 diff --git a/graphics/pokemon/gardevoir/shiny.pal b/graphics/pokemon/gardevoir/shiny.pal new file mode 100644 index 000000000..b588f6eea --- /dev/null +++ b/graphics/pokemon/gardevoir/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +156 164 82 +238 238 255 +213 189 222 +180 164 205 +156 131 180 +123 82 82 +115 41 57 +255 197 90 +230 131 32 +131 205 255 +197 238 246 +189 230 255 +123 197 238 +82 172 213 +32 115 123 +16 16 16 diff --git a/graphics/pokemon/gastly/back.png b/graphics/pokemon/gastly/back.png new file mode 100644 index 000000000..3ff1badde Binary files /dev/null and b/graphics/pokemon/gastly/back.png differ diff --git a/graphics/pokemon/gastly/footprint.png b/graphics/pokemon/gastly/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/gastly/footprint.png differ diff --git a/graphics/pokemon/gastly/front.png b/graphics/pokemon/gastly/front.png new file mode 100644 index 000000000..444ac485a Binary files /dev/null and b/graphics/pokemon/gastly/front.png differ diff --git a/graphics/pokemon/gastly/icon.png b/graphics/pokemon/gastly/icon.png new file mode 100644 index 000000000..6a33a8ab5 Binary files /dev/null and b/graphics/pokemon/gastly/icon.png differ diff --git a/graphics/pokemon/gastly/normal.pal b/graphics/pokemon/gastly/normal.pal new file mode 100644 index 000000000..6098ec195 --- /dev/null +++ b/graphics/pokemon/gastly/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 255 255 +255 255 255 +222 222 222 +222 82 57 +180 41 16 +255 0 255 +189 148 180 +139 98 131 +115 74 106 +82 49 90 +213 172 205 +189 148 180 +139 98 131 +255 0 255 +255 0 255 +16 16 16 diff --git a/graphics/pokemon/gastly/shiny.pal b/graphics/pokemon/gastly/shiny.pal new file mode 100644 index 000000000..350cb8abf --- /dev/null +++ b/graphics/pokemon/gastly/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 255 255 +255 255 255 +222 222 222 +222 82 57 +180 41 16 +255 0 255 +172 131 230 +148 115 197 +90 57 148 +82 41 98 +156 222 255 +115 180 213 +74 139 172 +255 0 255 +255 0 255 +16 16 16 diff --git a/graphics/pokemon/gengar/back.png b/graphics/pokemon/gengar/back.png new file mode 100644 index 000000000..75278dc1f Binary files /dev/null and b/graphics/pokemon/gengar/back.png differ diff --git a/graphics/pokemon/gengar/footprint.png b/graphics/pokemon/gengar/footprint.png new file mode 100644 index 000000000..0eb8fcebf Binary files /dev/null and b/graphics/pokemon/gengar/footprint.png differ diff --git a/graphics/pokemon/gengar/front.png b/graphics/pokemon/gengar/front.png new file mode 100644 index 000000000..1bb2468e8 Binary files /dev/null and b/graphics/pokemon/gengar/front.png differ diff --git a/graphics/pokemon/gengar/icon.png b/graphics/pokemon/gengar/icon.png new file mode 100644 index 000000000..bbc3d758d Binary files /dev/null and b/graphics/pokemon/gengar/icon.png differ diff --git a/graphics/pokemon/gengar/normal.pal b/graphics/pokemon/gengar/normal.pal new file mode 100644 index 000000000..6fe99805e --- /dev/null +++ b/graphics/pokemon/gengar/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +222 222 222 +123 123 123 +255 180 123 +238 98 74 +205 57 32 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +197 131 180 +156 106 131 +106 90 98 +90 49 90 +16 16 16 diff --git a/graphics/pokemon/gengar/shiny.pal b/graphics/pokemon/gengar/shiny.pal new file mode 100644 index 000000000..d3f61f7d5 --- /dev/null +++ b/graphics/pokemon/gengar/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +222 222 222 +123 123 123 +255 172 213 +238 131 172 +197 90 131 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +164 164 189 +123 123 148 +82 82 106 +41 41 65 +16 16 16 diff --git a/graphics/pokemon/geodude/back.png b/graphics/pokemon/geodude/back.png new file mode 100644 index 000000000..29a4e3f3d Binary files /dev/null and b/graphics/pokemon/geodude/back.png differ diff --git a/graphics/pokemon/geodude/footprint.png b/graphics/pokemon/geodude/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/geodude/footprint.png differ diff --git a/graphics/pokemon/geodude/front.png b/graphics/pokemon/geodude/front.png new file mode 100644 index 000000000..f6d2317d4 Binary files /dev/null and b/graphics/pokemon/geodude/front.png differ diff --git a/graphics/pokemon/geodude/icon.png b/graphics/pokemon/geodude/icon.png new file mode 100644 index 000000000..da39c60f0 Binary files /dev/null and b/graphics/pokemon/geodude/icon.png differ diff --git a/graphics/pokemon/geodude/normal.pal b/graphics/pokemon/geodude/normal.pal new file mode 100644 index 000000000..fd6264307 --- /dev/null +++ b/graphics/pokemon/geodude/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +205 205 205 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +205 213 131 +172 180 98 +123 131 90 +65 74 16 +16 16 16 diff --git a/graphics/pokemon/geodude/shiny.pal b/graphics/pokemon/geodude/shiny.pal new file mode 100644 index 000000000..3ea7069c9 --- /dev/null +++ b/graphics/pokemon/geodude/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +205 205 205 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +238 189 49 +205 164 24 +164 123 0 +106 65 0 +16 16 16 diff --git a/graphics/pokemon/girafarig/back.png b/graphics/pokemon/girafarig/back.png new file mode 100644 index 000000000..8d86e1f79 Binary files /dev/null and b/graphics/pokemon/girafarig/back.png differ diff --git a/graphics/pokemon/girafarig/footprint.png b/graphics/pokemon/girafarig/footprint.png new file mode 100644 index 000000000..f7af3f622 Binary files /dev/null and b/graphics/pokemon/girafarig/footprint.png differ diff --git a/graphics/pokemon/girafarig/front.png b/graphics/pokemon/girafarig/front.png new file mode 100644 index 000000000..bcada08dd Binary files /dev/null and b/graphics/pokemon/girafarig/front.png differ diff --git a/graphics/pokemon/girafarig/icon.png b/graphics/pokemon/girafarig/icon.png new file mode 100644 index 000000000..c8b79b132 Binary files /dev/null and b/graphics/pokemon/girafarig/icon.png differ diff --git a/graphics/pokemon/girafarig/normal.pal b/graphics/pokemon/girafarig/normal.pal new file mode 100644 index 000000000..03e09de81 --- /dev/null +++ b/graphics/pokemon/girafarig/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +65 49 32 +90 82 57 +123 106 57 +164 148 82 +213 205 139 +189 139 16 +238 180 49 +255 222 65 +255 246 123 +16 16 16 +238 106 115 +255 172 189 +180 213 230 +255 0 255 diff --git a/graphics/pokemon/girafarig/shiny.pal b/graphics/pokemon/girafarig/shiny.pal new file mode 100644 index 000000000..d720557a7 --- /dev/null +++ b/graphics/pokemon/girafarig/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +65 49 32 +90 65 41 +123 90 49 +156 123 65 +205 172 106 +189 139 16 +230 156 41 +246 197 57 +255 230 82 +16 16 16 +82 164 230 +164 213 255 +180 213 230 +255 0 255 diff --git a/graphics/pokemon/glalie/back.png b/graphics/pokemon/glalie/back.png new file mode 100644 index 000000000..9c73ee9b2 Binary files /dev/null and b/graphics/pokemon/glalie/back.png differ diff --git a/graphics/pokemon/glalie/footprint.png b/graphics/pokemon/glalie/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/glalie/footprint.png differ diff --git a/graphics/pokemon/glalie/front.png b/graphics/pokemon/glalie/front.png new file mode 100644 index 000000000..c49ea517c Binary files /dev/null and b/graphics/pokemon/glalie/front.png differ diff --git a/graphics/pokemon/glalie/icon.png b/graphics/pokemon/glalie/icon.png new file mode 100644 index 000000000..0fc66c900 Binary files /dev/null and b/graphics/pokemon/glalie/icon.png differ diff --git a/graphics/pokemon/glalie/normal.pal b/graphics/pokemon/glalie/normal.pal new file mode 100644 index 000000000..aeadcf782 --- /dev/null +++ b/graphics/pokemon/glalie/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +230 230 246 +205 205 222 +164 164 189 +123 123 148 +82 82 106 +164 205 255 +123 164 230 +74 139 197 +255 0 255 +205 205 213 +164 164 172 +123 123 131 +82 82 90 +41 41 57 diff --git a/graphics/pokemon/glalie/shiny.pal b/graphics/pokemon/glalie/shiny.pal new file mode 100644 index 000000000..c45ff937f --- /dev/null +++ b/graphics/pokemon/glalie/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +238 246 255 +213 230 238 +180 197 205 +148 164 172 +74 98 106 +255 148 90 +230 74 65 +205 8 41 +255 0 255 +205 205 213 +164 164 172 +123 123 131 +82 82 90 +0 0 0 diff --git a/graphics/pokemon/gligar/back.png b/graphics/pokemon/gligar/back.png new file mode 100644 index 000000000..8179867e9 Binary files /dev/null and b/graphics/pokemon/gligar/back.png differ diff --git a/graphics/pokemon/gligar/footprint.png b/graphics/pokemon/gligar/footprint.png new file mode 100644 index 000000000..3ca9864f0 Binary files /dev/null and b/graphics/pokemon/gligar/footprint.png differ diff --git a/graphics/pokemon/gligar/front.png b/graphics/pokemon/gligar/front.png new file mode 100644 index 000000000..b6bb68483 Binary files /dev/null and b/graphics/pokemon/gligar/front.png differ diff --git a/graphics/pokemon/gligar/icon.png b/graphics/pokemon/gligar/icon.png new file mode 100644 index 000000000..baa8414a7 Binary files /dev/null and b/graphics/pokemon/gligar/icon.png differ diff --git a/graphics/pokemon/gligar/normal.pal b/graphics/pokemon/gligar/normal.pal new file mode 100644 index 000000000..2f5ba7645 --- /dev/null +++ b/graphics/pokemon/gligar/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +90 90 90 +148 148 148 +90 65 123 +115 90 164 +180 131 213 +222 189 255 +246 222 255 +24 49 115 +16 90 148 +74 139 189 +98 197 238 +213 90 57 +255 148 106 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/gligar/shiny.pal b/graphics/pokemon/gligar/shiny.pal new file mode 100644 index 000000000..9b1d7d308 --- /dev/null +++ b/graphics/pokemon/gligar/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +90 90 90 +148 148 148 +57 65 123 +82 98 172 +131 156 213 +180 197 255 +222 238 246 +24 49 98 +32 65 139 +65 90 180 +82 156 222 +213 90 57 +255 148 106 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/gloom/back.png b/graphics/pokemon/gloom/back.png new file mode 100644 index 000000000..8b4d4221b Binary files /dev/null and b/graphics/pokemon/gloom/back.png differ diff --git a/graphics/pokemon/gloom/footprint.png b/graphics/pokemon/gloom/footprint.png new file mode 100644 index 000000000..7e9c265e8 Binary files /dev/null and b/graphics/pokemon/gloom/footprint.png differ diff --git a/graphics/pokemon/gloom/front.png b/graphics/pokemon/gloom/front.png new file mode 100644 index 000000000..5bcb4fa46 Binary files /dev/null and b/graphics/pokemon/gloom/front.png differ diff --git a/graphics/pokemon/gloom/icon.png b/graphics/pokemon/gloom/icon.png new file mode 100644 index 000000000..99c487dd2 Binary files /dev/null and b/graphics/pokemon/gloom/icon.png differ diff --git a/graphics/pokemon/gloom/normal.pal b/graphics/pokemon/gloom/normal.pal new file mode 100644 index 000000000..9a3ea471b --- /dev/null +++ b/graphics/pokemon/gloom/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +246 238 189 +255 189 65 +255 115 0 +197 106 41 +180 90 197 +213 205 180 +205 115 74 +172 82 57 +131 57 24 +98 49 0 +156 164 205 +123 131 164 +74 90 123 +16 49 74 +16 16 16 diff --git a/graphics/pokemon/gloom/shiny.pal b/graphics/pokemon/gloom/shiny.pal new file mode 100644 index 000000000..c5e913980 --- /dev/null +++ b/graphics/pokemon/gloom/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +246 246 246 +255 213 131 +255 172 90 +213 131 49 +156 49 0 +213 213 213 +238 180 98 +197 139 57 +156 98 16 +115 57 16 +180 189 131 +139 148 90 +98 106 49 +57 65 8 +16 16 16 diff --git a/graphics/pokemon/golbat/back.png b/graphics/pokemon/golbat/back.png new file mode 100644 index 000000000..caa196036 Binary files /dev/null and b/graphics/pokemon/golbat/back.png differ diff --git a/graphics/pokemon/golbat/footprint.png b/graphics/pokemon/golbat/footprint.png new file mode 100644 index 000000000..65c126fb3 Binary files /dev/null and b/graphics/pokemon/golbat/footprint.png differ diff --git a/graphics/pokemon/golbat/front.png b/graphics/pokemon/golbat/front.png new file mode 100644 index 000000000..1c25fe337 Binary files /dev/null and b/graphics/pokemon/golbat/front.png differ diff --git a/graphics/pokemon/golbat/icon.png b/graphics/pokemon/golbat/icon.png new file mode 100644 index 000000000..25b3f6821 Binary files /dev/null and b/graphics/pokemon/golbat/icon.png differ diff --git a/graphics/pokemon/golbat/normal.pal b/graphics/pokemon/golbat/normal.pal new file mode 100644 index 000000000..8c78d7375 --- /dev/null +++ b/graphics/pokemon/golbat/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 255 +213 213 213 +98 98 98 +0 0 0 +172 205 255 +139 180 238 +98 131 205 +57 57 123 +205 106 180 +172 82 156 +148 57 123 +98 16 82 +255 0 255 +255 0 255 +255 0 255 diff --git a/graphics/pokemon/golbat/shiny.pal b/graphics/pokemon/golbat/shiny.pal new file mode 100644 index 000000000..7255f93b7 --- /dev/null +++ b/graphics/pokemon/golbat/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 255 +213 213 213 +98 98 98 +0 0 0 +164 189 57 +123 148 0 +82 106 0 +41 65 0 +255 180 172 +238 139 131 +197 98 90 +139 41 32 +255 0 255 +255 0 255 +255 0 255 diff --git a/graphics/pokemon/goldeen/back.png b/graphics/pokemon/goldeen/back.png new file mode 100644 index 000000000..8ac7cb7bc Binary files /dev/null and b/graphics/pokemon/goldeen/back.png differ diff --git a/graphics/pokemon/goldeen/footprint.png b/graphics/pokemon/goldeen/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/goldeen/footprint.png differ diff --git a/graphics/pokemon/goldeen/front.png b/graphics/pokemon/goldeen/front.png new file mode 100644 index 000000000..5908b3dda Binary files /dev/null and b/graphics/pokemon/goldeen/front.png differ diff --git a/graphics/pokemon/goldeen/icon.png b/graphics/pokemon/goldeen/icon.png new file mode 100644 index 000000000..9dc3bff80 Binary files /dev/null and b/graphics/pokemon/goldeen/icon.png differ diff --git a/graphics/pokemon/goldeen/normal.pal b/graphics/pokemon/goldeen/normal.pal new file mode 100644 index 000000000..d88f14932 --- /dev/null +++ b/graphics/pokemon/goldeen/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +222 222 230 +189 189 197 +139 139 148 +98 98 106 +255 197 123 +238 123 65 +213 65 16 +180 49 0 +131 16 0 +238 123 65 +213 65 16 +65 172 164 +0 106 98 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/goldeen/shiny.pal b/graphics/pokemon/goldeen/shiny.pal new file mode 100644 index 000000000..d2a881523 --- /dev/null +++ b/graphics/pokemon/goldeen/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +222 222 230 +189 189 197 +139 139 148 +98 98 106 +255 222 24 +255 156 8 +213 115 0 +172 74 0 +131 32 0 +255 180 139 +213 139 98 +65 172 164 +0 106 98 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/golduck/back.png b/graphics/pokemon/golduck/back.png new file mode 100644 index 000000000..1422a73ae Binary files /dev/null and b/graphics/pokemon/golduck/back.png differ diff --git a/graphics/pokemon/golduck/footprint.png b/graphics/pokemon/golduck/footprint.png new file mode 100644 index 000000000..63ba752e4 Binary files /dev/null and b/graphics/pokemon/golduck/footprint.png differ diff --git a/graphics/pokemon/golduck/front.png b/graphics/pokemon/golduck/front.png new file mode 100644 index 000000000..be5eea3bc Binary files /dev/null and b/graphics/pokemon/golduck/front.png differ diff --git a/graphics/pokemon/golduck/icon.png b/graphics/pokemon/golduck/icon.png new file mode 100644 index 000000000..c0c922834 Binary files /dev/null and b/graphics/pokemon/golduck/icon.png differ diff --git a/graphics/pokemon/golduck/normal.pal b/graphics/pokemon/golduck/normal.pal new file mode 100644 index 000000000..ca01ee358 --- /dev/null +++ b/graphics/pokemon/golduck/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +98 213 131 +255 255 255 +213 213 213 +255 172 172 +222 24 24 +139 0 0 +255 255 164 +213 213 106 +164 164 57 +115 115 16 +255 0 255 +164 197 255 +139 172 213 +123 123 180 +49 82 106 +16 16 16 diff --git a/graphics/pokemon/golduck/shiny.pal b/graphics/pokemon/golduck/shiny.pal new file mode 100644 index 000000000..858fc677c --- /dev/null +++ b/graphics/pokemon/golduck/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +238 238 238 +255 255 255 +197 197 197 +238 49 74 +222 24 24 +139 0 0 +246 189 197 +222 123 148 +189 98 106 +123 74 90 +255 0 255 +115 205 255 +74 164 230 +32 123 189 +0 49 106 +16 16 16 diff --git a/graphics/pokemon/golem/back.png b/graphics/pokemon/golem/back.png new file mode 100644 index 000000000..fb27ae43f Binary files /dev/null and b/graphics/pokemon/golem/back.png differ diff --git a/graphics/pokemon/golem/footprint.png b/graphics/pokemon/golem/footprint.png new file mode 100644 index 000000000..8ddc6345c Binary files /dev/null and b/graphics/pokemon/golem/footprint.png differ diff --git a/graphics/pokemon/golem/front.png b/graphics/pokemon/golem/front.png new file mode 100644 index 000000000..4901bf0a1 Binary files /dev/null and b/graphics/pokemon/golem/front.png differ diff --git a/graphics/pokemon/golem/icon.png b/graphics/pokemon/golem/icon.png new file mode 100644 index 000000000..480f8c0bb Binary files /dev/null and b/graphics/pokemon/golem/icon.png differ diff --git a/graphics/pokemon/golem/normal.pal b/graphics/pokemon/golem/normal.pal new file mode 100644 index 000000000..e373f3ade --- /dev/null +++ b/graphics/pokemon/golem/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +255 255 255 +222 222 222 +180 0 0 +255 82 82 +180 189 98 +148 164 98 +106 123 65 +74 82 16 +238 205 115 +213 180 90 +156 139 57 +82 65 8 +255 0 255 +115 115 115 +16 16 16 diff --git a/graphics/pokemon/golem/shiny.pal b/graphics/pokemon/golem/shiny.pal new file mode 100644 index 000000000..41b80863c --- /dev/null +++ b/graphics/pokemon/golem/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +205 205 205 +180 0 0 +255 82 82 +213 148 82 +172 106 41 +131 65 0 +98 32 0 +255 213 180 +230 172 139 +189 131 98 +131 74 41 +255 0 255 +131 131 131 +16 16 16 diff --git a/graphics/pokemon/gorebyss/back.png b/graphics/pokemon/gorebyss/back.png new file mode 100644 index 000000000..aaf24366b Binary files /dev/null and b/graphics/pokemon/gorebyss/back.png differ diff --git a/graphics/pokemon/gorebyss/footprint.png b/graphics/pokemon/gorebyss/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/gorebyss/footprint.png differ diff --git a/graphics/pokemon/gorebyss/front.png b/graphics/pokemon/gorebyss/front.png new file mode 100644 index 000000000..ba017418c Binary files /dev/null and b/graphics/pokemon/gorebyss/front.png differ diff --git a/graphics/pokemon/gorebyss/icon.png b/graphics/pokemon/gorebyss/icon.png new file mode 100644 index 000000000..7dc8bc476 Binary files /dev/null and b/graphics/pokemon/gorebyss/icon.png differ diff --git a/graphics/pokemon/gorebyss/normal.pal b/graphics/pokemon/gorebyss/normal.pal new file mode 100644 index 000000000..432c0eccc --- /dev/null +++ b/graphics/pokemon/gorebyss/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 197 197 +255 255 255 +230 222 213 +205 189 172 +255 205 205 +246 172 189 +238 131 172 +213 98 148 +148 74 90 +131 90 131 +98 57 106 +123 106 98 +0 0 0 +205 115 255 +172 106 213 +148 90 172 diff --git a/graphics/pokemon/gorebyss/shiny.pal b/graphics/pokemon/gorebyss/shiny.pal new file mode 100644 index 000000000..693375005 --- /dev/null +++ b/graphics/pokemon/gorebyss/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 197 197 +255 255 255 +230 222 213 +205 189 172 +255 246 180 +255 222 98 +246 189 74 +213 156 41 +148 106 32 +131 90 131 +98 57 106 +123 106 98 +0 0 0 +205 115 255 +172 106 213 +148 90 172 diff --git a/graphics/pokemon/granbull/back.png b/graphics/pokemon/granbull/back.png new file mode 100644 index 000000000..2ac044da6 Binary files /dev/null and b/graphics/pokemon/granbull/back.png differ diff --git a/graphics/pokemon/granbull/footprint.png b/graphics/pokemon/granbull/footprint.png new file mode 100644 index 000000000..010b5fb67 Binary files /dev/null and b/graphics/pokemon/granbull/footprint.png differ diff --git a/graphics/pokemon/granbull/front.png b/graphics/pokemon/granbull/front.png new file mode 100644 index 000000000..ee4c40b25 Binary files /dev/null and b/graphics/pokemon/granbull/front.png differ diff --git a/graphics/pokemon/granbull/icon.png b/graphics/pokemon/granbull/icon.png new file mode 100644 index 000000000..89beb7a8c Binary files /dev/null and b/graphics/pokemon/granbull/icon.png differ diff --git a/graphics/pokemon/granbull/normal.pal b/graphics/pokemon/granbull/normal.pal new file mode 100644 index 000000000..b83b14d16 --- /dev/null +++ b/graphics/pokemon/granbull/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 0 255 +255 0 255 +90 57 82 +156 98 148 +213 115 213 +230 156 238 +238 189 255 +255 0 255 +131 57 0 +230 197 131 +16 16 16 +49 57 65 +82 90 90 +164 164 156 +255 255 255 diff --git a/graphics/pokemon/granbull/shiny.pal b/graphics/pokemon/granbull/shiny.pal new file mode 100644 index 000000000..a8dfec728 --- /dev/null +++ b/graphics/pokemon/granbull/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 0 255 +255 0 255 +98 82 65 +148 115 90 +205 172 131 +230 205 172 +246 222 189 +255 0 255 +90 82 0 +205 189 106 +16 16 16 +49 57 65 +82 90 90 +164 164 156 +255 255 255 diff --git a/graphics/pokemon/graveler/back.png b/graphics/pokemon/graveler/back.png new file mode 100644 index 000000000..79e87cee9 Binary files /dev/null and b/graphics/pokemon/graveler/back.png differ diff --git a/graphics/pokemon/graveler/footprint.png b/graphics/pokemon/graveler/footprint.png new file mode 100644 index 000000000..c836ad3f4 Binary files /dev/null and b/graphics/pokemon/graveler/footprint.png differ diff --git a/graphics/pokemon/graveler/front.png b/graphics/pokemon/graveler/front.png new file mode 100644 index 000000000..384ebacee Binary files /dev/null and b/graphics/pokemon/graveler/front.png differ diff --git a/graphics/pokemon/graveler/icon.png b/graphics/pokemon/graveler/icon.png new file mode 100644 index 000000000..84e81dc10 Binary files /dev/null and b/graphics/pokemon/graveler/icon.png differ diff --git a/graphics/pokemon/graveler/normal.pal b/graphics/pokemon/graveler/normal.pal new file mode 100644 index 000000000..766d69f41 --- /dev/null +++ b/graphics/pokemon/graveler/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +205 205 205 +148 148 148 +16 16 16 +238 49 49 +189 32 57 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +197 213 131 +164 180 115 +115 131 82 +82 74 16 diff --git a/graphics/pokemon/graveler/shiny.pal b/graphics/pokemon/graveler/shiny.pal new file mode 100644 index 000000000..42027a8db --- /dev/null +++ b/graphics/pokemon/graveler/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +205 205 205 +148 148 148 +16 16 16 +238 49 49 +189 32 57 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +205 148 41 +164 106 0 +123 65 0 +82 24 0 diff --git a/graphics/pokemon/grimer/back.png b/graphics/pokemon/grimer/back.png new file mode 100644 index 000000000..9df0a8bfb Binary files /dev/null and b/graphics/pokemon/grimer/back.png differ diff --git a/graphics/pokemon/grimer/footprint.png b/graphics/pokemon/grimer/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/grimer/footprint.png differ diff --git a/graphics/pokemon/grimer/front.png b/graphics/pokemon/grimer/front.png new file mode 100644 index 000000000..a0c6b05ce Binary files /dev/null and b/graphics/pokemon/grimer/front.png differ diff --git a/graphics/pokemon/grimer/icon.png b/graphics/pokemon/grimer/icon.png new file mode 100644 index 000000000..c814df542 Binary files /dev/null and b/graphics/pokemon/grimer/icon.png differ diff --git a/graphics/pokemon/grimer/normal.pal b/graphics/pokemon/grimer/normal.pal new file mode 100644 index 000000000..0aacf859a --- /dev/null +++ b/graphics/pokemon/grimer/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +238 238 238 +213 213 222 +172 180 189 +131 139 156 +65 74 90 +230 189 222 +197 156 180 +148 106 156 +90 49 115 +238 222 238 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/grimer/shiny.pal b/graphics/pokemon/grimer/shiny.pal new file mode 100644 index 000000000..546d2e753 --- /dev/null +++ b/graphics/pokemon/grimer/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +238 238 238 +213 213 222 +172 180 189 +131 139 156 +65 74 90 +197 238 156 +180 213 139 +139 172 98 +82 115 41 +222 246 180 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/groudon/back.png b/graphics/pokemon/groudon/back.png new file mode 100644 index 000000000..e2b711932 Binary files /dev/null and b/graphics/pokemon/groudon/back.png differ diff --git a/graphics/pokemon/groudon/footprint.png b/graphics/pokemon/groudon/footprint.png new file mode 100644 index 000000000..cb80ba48d Binary files /dev/null and b/graphics/pokemon/groudon/footprint.png differ diff --git a/graphics/pokemon/groudon/front.png b/graphics/pokemon/groudon/front.png new file mode 100644 index 000000000..2e768694f Binary files /dev/null and b/graphics/pokemon/groudon/front.png differ diff --git a/graphics/pokemon/groudon/icon.png b/graphics/pokemon/groudon/icon.png new file mode 100644 index 000000000..2b8707bb8 Binary files /dev/null and b/graphics/pokemon/groudon/icon.png differ diff --git a/graphics/pokemon/groudon/normal.pal b/graphics/pokemon/groudon/normal.pal new file mode 100644 index 000000000..24c99e510 --- /dev/null +++ b/graphics/pokemon/groudon/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +205 57 74 +172 148 164 +156 123 139 +123 90 98 +255 123 131 +123 32 41 +255 32 41 +172 41 57 +255 205 49 +197 197 205 +255 255 255 +255 189 189 +156 106 49 +57 57 57 +16 16 16 diff --git a/graphics/pokemon/groudon/shiny.pal b/graphics/pokemon/groudon/shiny.pal new file mode 100644 index 000000000..6c0a16585 --- /dev/null +++ b/graphics/pokemon/groudon/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +131 131 8 +172 148 164 +156 123 139 +123 90 98 +230 230 106 +98 98 0 +197 197 74 +164 164 41 +255 205 49 +197 197 205 +255 255 255 +255 255 139 +156 106 49 +57 57 57 +16 16 16 diff --git a/graphics/pokemon/grovyle/back.png b/graphics/pokemon/grovyle/back.png new file mode 100644 index 000000000..1ffed7b90 Binary files /dev/null and b/graphics/pokemon/grovyle/back.png differ diff --git a/graphics/pokemon/grovyle/footprint.png b/graphics/pokemon/grovyle/footprint.png new file mode 100644 index 000000000..c78ea507c Binary files /dev/null and b/graphics/pokemon/grovyle/footprint.png differ diff --git a/graphics/pokemon/grovyle/front.png b/graphics/pokemon/grovyle/front.png new file mode 100644 index 000000000..95a19a7ca Binary files /dev/null and b/graphics/pokemon/grovyle/front.png differ diff --git a/graphics/pokemon/grovyle/icon.png b/graphics/pokemon/grovyle/icon.png new file mode 100644 index 000000000..bed04dc98 Binary files /dev/null and b/graphics/pokemon/grovyle/icon.png differ diff --git a/graphics/pokemon/grovyle/normal.pal b/graphics/pokemon/grovyle/normal.pal new file mode 100644 index 000000000..a1e6181fc --- /dev/null +++ b/graphics/pokemon/grovyle/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +197 148 131 +16 82 74 +90 180 106 +139 230 148 +189 255 180 +57 131 65 +131 41 49 +230 65 41 +255 115 82 +255 222 82 +57 131 148 +189 65 65 +213 139 82 +82 164 189 +0 0 0 +255 238 255 diff --git a/graphics/pokemon/grovyle/shiny.pal b/graphics/pokemon/grovyle/shiny.pal new file mode 100644 index 000000000..c61afa4a3 --- /dev/null +++ b/graphics/pokemon/grovyle/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +197 148 131 +148 74 49 +74 164 148 +148 205 213 +180 230 238 +65 123 115 +205 156 123 +238 189 156 +255 238 197 +255 222 82 +213 82 57 +180 131 98 +213 139 82 +255 106 82 +0 0 0 +255 238 255 diff --git a/graphics/pokemon/growlithe/back.png b/graphics/pokemon/growlithe/back.png new file mode 100644 index 000000000..2b89351a3 Binary files /dev/null and b/graphics/pokemon/growlithe/back.png differ diff --git a/graphics/pokemon/growlithe/footprint.png b/graphics/pokemon/growlithe/footprint.png new file mode 100644 index 000000000..2517cdcba Binary files /dev/null and b/graphics/pokemon/growlithe/footprint.png differ diff --git a/graphics/pokemon/growlithe/front.png b/graphics/pokemon/growlithe/front.png new file mode 100644 index 000000000..6a7f3f9a4 Binary files /dev/null and b/graphics/pokemon/growlithe/front.png differ diff --git a/graphics/pokemon/growlithe/icon.png b/graphics/pokemon/growlithe/icon.png new file mode 100644 index 000000000..8870c8b4f Binary files /dev/null and b/graphics/pokemon/growlithe/icon.png differ diff --git a/graphics/pokemon/growlithe/normal.pal b/graphics/pokemon/growlithe/normal.pal new file mode 100644 index 000000000..bd55be2a7 --- /dev/null +++ b/graphics/pokemon/growlithe/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 246 +222 222 213 +106 106 106 +255 0 255 +255 0 255 +255 0 255 +255 246 180 +230 213 148 +205 180 115 +115 98 32 +255 197 82 +238 139 74 +197 82 32 +115 57 16 +16 16 16 diff --git a/graphics/pokemon/growlithe/shiny.pal b/graphics/pokemon/growlithe/shiny.pal new file mode 100644 index 000000000..0604c9c25 --- /dev/null +++ b/graphics/pokemon/growlithe/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 246 +222 222 213 +82 82 82 +255 0 255 +255 0 255 +255 0 255 +255 246 180 +230 213 148 +180 164 106 +115 98 32 +255 238 82 +230 197 41 +189 156 0 +123 90 0 +16 16 16 diff --git a/graphics/pokemon/grumpig/back.png b/graphics/pokemon/grumpig/back.png new file mode 100644 index 000000000..08d476c29 Binary files /dev/null and b/graphics/pokemon/grumpig/back.png differ diff --git a/graphics/pokemon/grumpig/footprint.png b/graphics/pokemon/grumpig/footprint.png new file mode 100644 index 000000000..ddff0e500 Binary files /dev/null and b/graphics/pokemon/grumpig/footprint.png differ diff --git a/graphics/pokemon/grumpig/front.png b/graphics/pokemon/grumpig/front.png new file mode 100644 index 000000000..42604aed2 Binary files /dev/null and b/graphics/pokemon/grumpig/front.png differ diff --git a/graphics/pokemon/grumpig/icon.png b/graphics/pokemon/grumpig/icon.png new file mode 100644 index 000000000..fb3cac59d Binary files /dev/null and b/graphics/pokemon/grumpig/icon.png differ diff --git a/graphics/pokemon/grumpig/normal.pal b/graphics/pokemon/grumpig/normal.pal new file mode 100644 index 000000000..c49601f91 --- /dev/null +++ b/graphics/pokemon/grumpig/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 197 148 +148 148 148 +123 123 123 +98 98 98 +74 74 74 +255 180 213 +238 139 172 +213 106 131 +230 172 238 +205 139 213 +180 115 189 +123 82 139 +156 74 98 +246 205 255 +0 0 0 +255 255 255 diff --git a/graphics/pokemon/grumpig/shiny.pal b/graphics/pokemon/grumpig/shiny.pal new file mode 100644 index 000000000..b9c88ae3d --- /dev/null +++ b/graphics/pokemon/grumpig/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 197 148 +172 172 172 +131 131 131 +82 82 82 +57 57 57 +255 180 213 +238 139 172 +213 106 131 +246 222 106 +213 189 65 +189 164 41 +131 123 0 +156 74 98 +255 238 172 +0 0 0 +255 255 255 diff --git a/graphics/pokemon/gulpin/back.png b/graphics/pokemon/gulpin/back.png new file mode 100644 index 000000000..928f291d1 Binary files /dev/null and b/graphics/pokemon/gulpin/back.png differ diff --git a/graphics/pokemon/gulpin/footprint.png b/graphics/pokemon/gulpin/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/gulpin/footprint.png differ diff --git a/graphics/pokemon/gulpin/front.png b/graphics/pokemon/gulpin/front.png new file mode 100644 index 000000000..14809cf73 Binary files /dev/null and b/graphics/pokemon/gulpin/front.png differ diff --git a/graphics/pokemon/gulpin/icon.png b/graphics/pokemon/gulpin/icon.png new file mode 100644 index 000000000..53eed645f Binary files /dev/null and b/graphics/pokemon/gulpin/icon.png differ diff --git a/graphics/pokemon/gulpin/normal.pal b/graphics/pokemon/gulpin/normal.pal new file mode 100644 index 000000000..588be1e4a --- /dev/null +++ b/graphics/pokemon/gulpin/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +98 189 131 +74 106 57 +131 164 115 +164 222 148 +197 238 180 +156 189 139 +65 65 65 +106 106 106 +156 156 156 +172 148 74 +205 172 16 +246 222 90 +255 238 164 +255 148 123 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/gulpin/shiny.pal b/graphics/pokemon/gulpin/shiny.pal new file mode 100644 index 000000000..83373f072 --- /dev/null +++ b/graphics/pokemon/gulpin/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +98 189 131 +74 106 57 +98 123 164 +131 180 238 +156 213 255 +98 148 197 +65 65 65 +106 106 106 +156 156 156 +164 49 32 +180 65 49 +222 98 49 +255 139 82 +255 148 123 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/gyarados/back.png b/graphics/pokemon/gyarados/back.png new file mode 100644 index 000000000..3db55190d Binary files /dev/null and b/graphics/pokemon/gyarados/back.png differ diff --git a/graphics/pokemon/gyarados/footprint.png b/graphics/pokemon/gyarados/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/gyarados/footprint.png differ diff --git a/graphics/pokemon/gyarados/front.png b/graphics/pokemon/gyarados/front.png new file mode 100644 index 000000000..7e24eac3b Binary files /dev/null and b/graphics/pokemon/gyarados/front.png differ diff --git a/graphics/pokemon/gyarados/icon.png b/graphics/pokemon/gyarados/icon.png new file mode 100644 index 000000000..13e611d09 Binary files /dev/null and b/graphics/pokemon/gyarados/icon.png differ diff --git a/graphics/pokemon/gyarados/normal.pal b/graphics/pokemon/gyarados/normal.pal new file mode 100644 index 000000000..2a74de808 --- /dev/null +++ b/graphics/pokemon/gyarados/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +139 213 180 +222 230 246 +172 180 197 +106 123 148 +139 189 255 +115 156 230 +123 131 164 +57 57 98 +255 230 156 +197 197 123 +98 106 57 +255 131 123 +205 49 49 +148 32 0 +0 0 0 +255 255 255 diff --git a/graphics/pokemon/gyarados/shiny.pal b/graphics/pokemon/gyarados/shiny.pal new file mode 100644 index 000000000..d9f55f451 --- /dev/null +++ b/graphics/pokemon/gyarados/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +222 230 246 +172 180 197 +106 123 148 +255 197 90 +255 139 65 +213 90 49 +123 57 57 +255 255 148 +205 205 131 +106 106 90 +255 98 57 +205 49 49 +148 32 0 +0 0 0 +255 255 255 diff --git a/graphics/pokemon/hariyama/back.png b/graphics/pokemon/hariyama/back.png new file mode 100644 index 000000000..09eba4b52 Binary files /dev/null and b/graphics/pokemon/hariyama/back.png differ diff --git a/graphics/pokemon/hariyama/footprint.png b/graphics/pokemon/hariyama/footprint.png new file mode 100644 index 000000000..ab5d9f369 Binary files /dev/null and b/graphics/pokemon/hariyama/footprint.png differ diff --git a/graphics/pokemon/hariyama/front.png b/graphics/pokemon/hariyama/front.png new file mode 100644 index 000000000..abefe0de2 Binary files /dev/null and b/graphics/pokemon/hariyama/front.png differ diff --git a/graphics/pokemon/hariyama/icon.png b/graphics/pokemon/hariyama/icon.png new file mode 100644 index 000000000..b16b04907 Binary files /dev/null and b/graphics/pokemon/hariyama/icon.png differ diff --git a/graphics/pokemon/hariyama/normal.pal b/graphics/pokemon/hariyama/normal.pal new file mode 100644 index 000000000..99b5902d9 --- /dev/null +++ b/graphics/pokemon/hariyama/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 164 115 +246 230 197 +230 213 164 +197 172 115 +139 106 82 +238 164 106 +213 131 90 +172 98 65 +131 74 49 +98 98 148 +49 49 98 +246 213 115 +238 189 82 +205 156 65 +24 24 24 +255 255 255 diff --git a/graphics/pokemon/hariyama/shiny.pal b/graphics/pokemon/hariyama/shiny.pal new file mode 100644 index 000000000..14281f812 --- /dev/null +++ b/graphics/pokemon/hariyama/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 164 115 +255 238 172 +246 205 131 +246 189 82 +205 139 57 +222 189 197 +189 156 164 +156 106 131 +115 82 90 +98 98 148 +49 49 98 +255 90 74 +205 82 65 +156 82 65 +24 24 24 +255 255 255 diff --git a/graphics/pokemon/haunter/back.png b/graphics/pokemon/haunter/back.png new file mode 100644 index 000000000..ee4740636 Binary files /dev/null and b/graphics/pokemon/haunter/back.png differ diff --git a/graphics/pokemon/haunter/footprint.png b/graphics/pokemon/haunter/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/haunter/footprint.png differ diff --git a/graphics/pokemon/haunter/front.png b/graphics/pokemon/haunter/front.png new file mode 100644 index 000000000..db6c29439 Binary files /dev/null and b/graphics/pokemon/haunter/front.png differ diff --git a/graphics/pokemon/haunter/icon.png b/graphics/pokemon/haunter/icon.png new file mode 100644 index 000000000..aac3e15f8 Binary files /dev/null and b/graphics/pokemon/haunter/icon.png differ diff --git a/graphics/pokemon/haunter/normal.pal b/graphics/pokemon/haunter/normal.pal new file mode 100644 index 000000000..5f1f2573b --- /dev/null +++ b/graphics/pokemon/haunter/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +197 148 222 +148 106 180 +98 82 131 +90 57 115 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +222 49 49 +180 24 24 +98 16 16 +222 222 222 +115 115 115 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/haunter/shiny.pal b/graphics/pokemon/haunter/shiny.pal new file mode 100644 index 000000000..d6cab2588 --- /dev/null +++ b/graphics/pokemon/haunter/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +213 164 222 +197 131 205 +131 90 164 +82 49 98 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +74 156 197 +32 115 156 +0 65 106 +213 213 213 +115 115 115 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/heracross/back.png b/graphics/pokemon/heracross/back.png new file mode 100644 index 000000000..df8202179 Binary files /dev/null and b/graphics/pokemon/heracross/back.png differ diff --git a/graphics/pokemon/heracross/footprint.png b/graphics/pokemon/heracross/footprint.png new file mode 100644 index 000000000..a740a17c9 Binary files /dev/null and b/graphics/pokemon/heracross/footprint.png differ diff --git a/graphics/pokemon/heracross/front.png b/graphics/pokemon/heracross/front.png new file mode 100644 index 000000000..f693a4c46 Binary files /dev/null and b/graphics/pokemon/heracross/front.png differ diff --git a/graphics/pokemon/heracross/icon.png b/graphics/pokemon/heracross/icon.png new file mode 100644 index 000000000..994fbe33f Binary files /dev/null and b/graphics/pokemon/heracross/icon.png differ diff --git a/graphics/pokemon/heracross/normal.pal b/graphics/pokemon/heracross/normal.pal new file mode 100644 index 000000000..06fe289a5 --- /dev/null +++ b/graphics/pokemon/heracross/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +156 180 255 +123 139 222 +98 106 180 +49 57 98 +255 0 255 +255 255 139 +255 222 90 +197 164 41 +139 106 0 +255 0 255 +213 213 213 +156 156 156 +106 106 106 +16 16 16 diff --git a/graphics/pokemon/heracross/shiny.pal b/graphics/pokemon/heracross/shiny.pal new file mode 100644 index 000000000..c85ace38b --- /dev/null +++ b/graphics/pokemon/heracross/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +238 156 213 +205 123 189 +164 82 156 +98 57 98 +255 0 255 +255 255 139 +255 222 90 +197 164 41 +139 106 0 +255 0 255 +213 213 213 +156 156 156 +106 106 106 +16 16 16 diff --git a/graphics/pokemon/hitmonchan/back.png b/graphics/pokemon/hitmonchan/back.png new file mode 100644 index 000000000..8d9423071 Binary files /dev/null and b/graphics/pokemon/hitmonchan/back.png differ diff --git a/graphics/pokemon/hitmonchan/footprint.png b/graphics/pokemon/hitmonchan/footprint.png new file mode 100644 index 000000000..cfd1efd54 Binary files /dev/null and b/graphics/pokemon/hitmonchan/footprint.png differ diff --git a/graphics/pokemon/hitmonchan/front.png b/graphics/pokemon/hitmonchan/front.png new file mode 100644 index 000000000..5a16c4070 Binary files /dev/null and b/graphics/pokemon/hitmonchan/front.png differ diff --git a/graphics/pokemon/hitmonchan/icon.png b/graphics/pokemon/hitmonchan/icon.png new file mode 100644 index 000000000..a657a6d74 Binary files /dev/null and b/graphics/pokemon/hitmonchan/icon.png differ diff --git a/graphics/pokemon/hitmonchan/normal.pal b/graphics/pokemon/hitmonchan/normal.pal new file mode 100644 index 000000000..77c20d85a --- /dev/null +++ b/graphics/pokemon/hitmonchan/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +222 205 222 +197 180 197 +164 148 164 +115 98 115 +255 148 90 +230 98 57 +189 49 16 +139 32 0 +255 0 255 +238 213 156 +205 180 123 +164 139 82 +106 82 16 +16 16 16 diff --git a/graphics/pokemon/hitmonchan/shiny.pal b/graphics/pokemon/hitmonchan/shiny.pal new file mode 100644 index 000000000..2e4a28f0c --- /dev/null +++ b/graphics/pokemon/hitmonchan/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +222 205 222 +197 180 197 +164 148 164 +115 98 115 +90 148 213 +49 106 172 +8 65 131 +0 24 90 +255 0 255 +238 230 139 +197 189 98 +156 148 57 +98 90 0 +16 16 16 diff --git a/graphics/pokemon/hitmonlee/back.png b/graphics/pokemon/hitmonlee/back.png new file mode 100644 index 000000000..9aa095a6a Binary files /dev/null and b/graphics/pokemon/hitmonlee/back.png differ diff --git a/graphics/pokemon/hitmonlee/footprint.png b/graphics/pokemon/hitmonlee/footprint.png new file mode 100644 index 000000000..505120110 Binary files /dev/null and b/graphics/pokemon/hitmonlee/footprint.png differ diff --git a/graphics/pokemon/hitmonlee/front.png b/graphics/pokemon/hitmonlee/front.png new file mode 100644 index 000000000..7cb5e4a2d Binary files /dev/null and b/graphics/pokemon/hitmonlee/front.png differ diff --git a/graphics/pokemon/hitmonlee/icon.png b/graphics/pokemon/hitmonlee/icon.png new file mode 100644 index 000000000..b45c93686 Binary files /dev/null and b/graphics/pokemon/hitmonlee/icon.png differ diff --git a/graphics/pokemon/hitmonlee/normal.pal b/graphics/pokemon/hitmonlee/normal.pal new file mode 100644 index 000000000..36a7a03a4 --- /dev/null +++ b/graphics/pokemon/hitmonlee/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +230 180 148 +205 164 131 +164 123 90 +131 90 57 +98 57 24 +255 0 255 +255 0 255 +230 230 189 +197 189 164 +115 98 98 +255 238 139 +238 205 115 +115 123 32 +41 41 41 +255 255 255 diff --git a/graphics/pokemon/hitmonlee/shiny.pal b/graphics/pokemon/hitmonlee/shiny.pal new file mode 100644 index 000000000..74e6c6452 --- /dev/null +++ b/graphics/pokemon/hitmonlee/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +172 180 74 +131 139 32 +90 98 0 +49 57 0 +32 41 0 +255 0 255 +255 0 255 +189 164 139 +148 123 98 +106 82 57 +238 255 148 +197 205 115 +115 123 32 +41 41 41 +255 255 255 diff --git a/graphics/pokemon/hitmontop/back.png b/graphics/pokemon/hitmontop/back.png new file mode 100644 index 000000000..09d16414c Binary files /dev/null and b/graphics/pokemon/hitmontop/back.png differ diff --git a/graphics/pokemon/hitmontop/footprint.png b/graphics/pokemon/hitmontop/footprint.png new file mode 100644 index 000000000..ba8c1cca2 Binary files /dev/null and b/graphics/pokemon/hitmontop/footprint.png differ diff --git a/graphics/pokemon/hitmontop/front.png b/graphics/pokemon/hitmontop/front.png new file mode 100644 index 000000000..d2d7b5093 Binary files /dev/null and b/graphics/pokemon/hitmontop/front.png differ diff --git a/graphics/pokemon/hitmontop/icon.png b/graphics/pokemon/hitmontop/icon.png new file mode 100644 index 000000000..c5b8ee564 Binary files /dev/null and b/graphics/pokemon/hitmontop/icon.png differ diff --git a/graphics/pokemon/hitmontop/normal.pal b/graphics/pokemon/hitmontop/normal.pal new file mode 100644 index 000000000..b49c96760 --- /dev/null +++ b/graphics/pokemon/hitmontop/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 238 156 +230 205 123 +189 164 82 +131 98 16 +255 0 255 +139 213 255 +98 172 238 +74 131 205 +82 90 148 +255 0 255 +205 205 205 +148 148 156 +98 98 106 +16 16 16 diff --git a/graphics/pokemon/hitmontop/shiny.pal b/graphics/pokemon/hitmontop/shiny.pal new file mode 100644 index 000000000..8c6bbd31f --- /dev/null +++ b/graphics/pokemon/hitmontop/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 246 205 +230 222 180 +180 172 148 +131 90 65 +255 0 255 +246 148 222 +205 106 189 +172 74 164 +115 49 123 +255 0 255 +205 205 205 +148 148 156 +98 98 106 +16 16 16 diff --git a/graphics/pokemon/ho_oh/back.png b/graphics/pokemon/ho_oh/back.png new file mode 100644 index 000000000..9acbdf0cc Binary files /dev/null and b/graphics/pokemon/ho_oh/back.png differ diff --git a/graphics/pokemon/ho_oh/footprint.png b/graphics/pokemon/ho_oh/footprint.png new file mode 100644 index 000000000..adceb3878 Binary files /dev/null and b/graphics/pokemon/ho_oh/footprint.png differ diff --git a/graphics/pokemon/ho_oh/front.png b/graphics/pokemon/ho_oh/front.png new file mode 100644 index 000000000..97a7c3e25 Binary files /dev/null and b/graphics/pokemon/ho_oh/front.png differ diff --git a/graphics/pokemon/ho_oh/icon.png b/graphics/pokemon/ho_oh/icon.png new file mode 100644 index 000000000..4cd5ed871 Binary files /dev/null and b/graphics/pokemon/ho_oh/icon.png differ diff --git a/graphics/pokemon/ho_oh/normal.pal b/graphics/pokemon/ho_oh/normal.pal new file mode 100644 index 000000000..f4b583541 --- /dev/null +++ b/graphics/pokemon/ho_oh/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 164 +255 255 255 +255 172 0 +255 90 0 +205 65 0 +156 16 0 +255 238 131 +255 230 0 +230 172 0 +164 106 0 +156 246 172 +65 213 82 +16 148 16 +197 197 197 +106 106 106 +16 16 16 diff --git a/graphics/pokemon/ho_oh/shiny.pal b/graphics/pokemon/ho_oh/shiny.pal new file mode 100644 index 000000000..2c14ff9e4 --- /dev/null +++ b/graphics/pokemon/ho_oh/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 164 +255 255 255 +255 230 57 +255 172 24 +205 123 24 +148 74 49 +238 238 238 +222 222 222 +180 180 189 +123 123 139 +255 172 0 +255 74 0 +156 41 24 +213 213 222 +123 106 65 +16 16 16 diff --git a/graphics/pokemon/hoothoot/back.png b/graphics/pokemon/hoothoot/back.png new file mode 100644 index 000000000..2ab2253bd Binary files /dev/null and b/graphics/pokemon/hoothoot/back.png differ diff --git a/graphics/pokemon/hoothoot/footprint.png b/graphics/pokemon/hoothoot/footprint.png new file mode 100644 index 000000000..1eacf9116 Binary files /dev/null and b/graphics/pokemon/hoothoot/footprint.png differ diff --git a/graphics/pokemon/hoothoot/front.png b/graphics/pokemon/hoothoot/front.png new file mode 100644 index 000000000..12e160d81 Binary files /dev/null and b/graphics/pokemon/hoothoot/front.png differ diff --git a/graphics/pokemon/hoothoot/icon.png b/graphics/pokemon/hoothoot/icon.png new file mode 100644 index 000000000..c25065113 Binary files /dev/null and b/graphics/pokemon/hoothoot/icon.png differ diff --git a/graphics/pokemon/hoothoot/normal.pal b/graphics/pokemon/hoothoot/normal.pal new file mode 100644 index 000000000..f1a3ee54e --- /dev/null +++ b/graphics/pokemon/hoothoot/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +246 255 189 +230 246 164 +222 213 90 +205 189 41 +172 156 32 +148 131 24 +123 106 16 +90 74 0 +255 230 172 +255 180 106 +230 123 41 +123 123 123 +82 82 82 +16 16 16 diff --git a/graphics/pokemon/hoothoot/shiny.pal b/graphics/pokemon/hoothoot/shiny.pal new file mode 100644 index 000000000..3b951e004 --- /dev/null +++ b/graphics/pokemon/hoothoot/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 255 189 +238 238 106 +255 238 115 +246 222 57 +230 189 49 +213 148 41 +197 131 32 +139 82 32 +255 230 172 +255 180 106 +230 123 41 +123 123 123 +82 82 82 +16 16 16 diff --git a/graphics/pokemon/hoppip/back.png b/graphics/pokemon/hoppip/back.png new file mode 100644 index 000000000..a5d042909 Binary files /dev/null and b/graphics/pokemon/hoppip/back.png differ diff --git a/graphics/pokemon/hoppip/footprint.png b/graphics/pokemon/hoppip/footprint.png new file mode 100644 index 000000000..0be22ed86 Binary files /dev/null and b/graphics/pokemon/hoppip/footprint.png differ diff --git a/graphics/pokemon/hoppip/front.png b/graphics/pokemon/hoppip/front.png new file mode 100644 index 000000000..87110d09c Binary files /dev/null and b/graphics/pokemon/hoppip/front.png differ diff --git a/graphics/pokemon/hoppip/icon.png b/graphics/pokemon/hoppip/icon.png new file mode 100644 index 000000000..0692f69d7 Binary files /dev/null and b/graphics/pokemon/hoppip/icon.png differ diff --git a/graphics/pokemon/hoppip/normal.pal b/graphics/pokemon/hoppip/normal.pal new file mode 100644 index 000000000..578494117 --- /dev/null +++ b/graphics/pokemon/hoppip/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +255 156 115 +255 98 82 +213 65 16 +164 16 0 +255 0 255 +131 230 57 +98 205 57 +65 164 32 +32 98 16 +255 0 255 +255 255 82 +246 197 0 +255 0 255 +16 16 16 diff --git a/graphics/pokemon/hoppip/shiny.pal b/graphics/pokemon/hoppip/shiny.pal new file mode 100644 index 000000000..c70c55c99 --- /dev/null +++ b/graphics/pokemon/hoppip/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +148 205 32 +106 180 8 +90 139 41 +57 90 16 +255 0 255 +189 246 57 +131 222 57 +82 172 24 +32 98 16 +255 0 255 +255 255 82 +246 197 0 +255 0 255 +16 16 16 diff --git a/graphics/pokemon/horsea/back.png b/graphics/pokemon/horsea/back.png new file mode 100644 index 000000000..bd6cb3d2b Binary files /dev/null and b/graphics/pokemon/horsea/back.png differ diff --git a/graphics/pokemon/horsea/footprint.png b/graphics/pokemon/horsea/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/horsea/footprint.png differ diff --git a/graphics/pokemon/horsea/front.png b/graphics/pokemon/horsea/front.png new file mode 100644 index 000000000..0ee92319e Binary files /dev/null and b/graphics/pokemon/horsea/front.png differ diff --git a/graphics/pokemon/horsea/icon.png b/graphics/pokemon/horsea/icon.png new file mode 100644 index 000000000..d57901f51 Binary files /dev/null and b/graphics/pokemon/horsea/icon.png differ diff --git a/graphics/pokemon/horsea/normal.pal b/graphics/pokemon/horsea/normal.pal new file mode 100644 index 000000000..d0924f3ac --- /dev/null +++ b/graphics/pokemon/horsea/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 0 255 +255 0 255 +98 82 41 +156 131 74 +189 222 255 +164 197 238 +131 148 180 +57 82 98 +255 255 172 +230 205 74 +255 115 115 +197 41 41 +255 0 255 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/horsea/shiny.pal b/graphics/pokemon/horsea/shiny.pal new file mode 100644 index 000000000..73eec42ef --- /dev/null +++ b/graphics/pokemon/horsea/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 0 255 +255 0 255 +123 82 41 +172 123 82 +115 205 213 +74 164 172 +32 123 131 +16 74 82 +255 197 172 +238 172 139 +255 115 115 +197 41 41 +255 0 255 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/houndoom/back.png b/graphics/pokemon/houndoom/back.png new file mode 100644 index 000000000..6aae855c6 Binary files /dev/null and b/graphics/pokemon/houndoom/back.png differ diff --git a/graphics/pokemon/houndoom/footprint.png b/graphics/pokemon/houndoom/footprint.png new file mode 100644 index 000000000..b1f2c80f4 Binary files /dev/null and b/graphics/pokemon/houndoom/footprint.png differ diff --git a/graphics/pokemon/houndoom/front.png b/graphics/pokemon/houndoom/front.png new file mode 100644 index 000000000..d5ab79d18 Binary files /dev/null and b/graphics/pokemon/houndoom/front.png differ diff --git a/graphics/pokemon/houndoom/icon.png b/graphics/pokemon/houndoom/icon.png new file mode 100644 index 000000000..8ca4aec3c Binary files /dev/null and b/graphics/pokemon/houndoom/icon.png differ diff --git a/graphics/pokemon/houndoom/normal.pal b/graphics/pokemon/houndoom/normal.pal new file mode 100644 index 000000000..676369d07 --- /dev/null +++ b/graphics/pokemon/houndoom/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +139 123 123 +82 74 74 +57 49 49 +41 32 32 +255 213 139 +238 164 82 +189 123 57 +148 82 24 +255 106 49 +180 49 8 +255 0 255 +255 0 255 +180 164 164 +16 16 16 diff --git a/graphics/pokemon/houndoom/shiny.pal b/graphics/pokemon/houndoom/shiny.pal new file mode 100644 index 000000000..7e7aa56bf --- /dev/null +++ b/graphics/pokemon/houndoom/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +123 156 230 +74 98 180 +49 65 139 +65 74 90 +255 230 197 +213 172 148 +172 131 90 +123 82 65 +255 106 49 +180 49 8 +255 0 255 +255 0 255 +222 197 213 +16 16 16 diff --git a/graphics/pokemon/houndour/back.png b/graphics/pokemon/houndour/back.png new file mode 100644 index 000000000..64e104954 Binary files /dev/null and b/graphics/pokemon/houndour/back.png differ diff --git a/graphics/pokemon/houndour/footprint.png b/graphics/pokemon/houndour/footprint.png new file mode 100644 index 000000000..3f8161431 Binary files /dev/null and b/graphics/pokemon/houndour/footprint.png differ diff --git a/graphics/pokemon/houndour/front.png b/graphics/pokemon/houndour/front.png new file mode 100644 index 000000000..87bbce73e Binary files /dev/null and b/graphics/pokemon/houndour/front.png differ diff --git a/graphics/pokemon/houndour/icon.png b/graphics/pokemon/houndour/icon.png new file mode 100644 index 000000000..1d397d9bf Binary files /dev/null and b/graphics/pokemon/houndour/icon.png differ diff --git a/graphics/pokemon/houndour/normal.pal b/graphics/pokemon/houndour/normal.pal new file mode 100644 index 000000000..676369d07 --- /dev/null +++ b/graphics/pokemon/houndour/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +139 123 123 +82 74 74 +57 49 49 +41 32 32 +255 213 139 +238 164 82 +189 123 57 +148 82 24 +255 106 49 +180 49 8 +255 0 255 +255 0 255 +180 164 164 +16 16 16 diff --git a/graphics/pokemon/houndour/shiny.pal b/graphics/pokemon/houndour/shiny.pal new file mode 100644 index 000000000..4197f8de7 --- /dev/null +++ b/graphics/pokemon/houndour/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +123 164 197 +82 123 164 +57 82 115 +49 65 82 +255 230 197 +213 172 148 +172 131 90 +123 82 65 +255 106 49 +180 49 8 +255 0 255 +255 0 255 +222 189 197 +16 16 16 diff --git a/graphics/pokemon/huntail/back.png b/graphics/pokemon/huntail/back.png new file mode 100644 index 000000000..23ccaac12 Binary files /dev/null and b/graphics/pokemon/huntail/back.png differ diff --git a/graphics/pokemon/huntail/footprint.png b/graphics/pokemon/huntail/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/huntail/footprint.png differ diff --git a/graphics/pokemon/huntail/front.png b/graphics/pokemon/huntail/front.png new file mode 100644 index 000000000..647cdb8ca Binary files /dev/null and b/graphics/pokemon/huntail/front.png differ diff --git a/graphics/pokemon/huntail/icon.png b/graphics/pokemon/huntail/icon.png new file mode 100644 index 000000000..b70fca87e Binary files /dev/null and b/graphics/pokemon/huntail/icon.png differ diff --git a/graphics/pokemon/huntail/normal.pal b/graphics/pokemon/huntail/normal.pal new file mode 100644 index 000000000..192061e01 --- /dev/null +++ b/graphics/pokemon/huntail/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 106 189 +255 255 255 +238 180 98 +222 148 0 +156 106 65 +180 238 238 +156 222 246 +123 197 222 +74 156 180 +49 98 123 +0 0 0 +255 131 148 +205 115 148 +148 57 90 +213 197 213 +164 131 148 diff --git a/graphics/pokemon/huntail/shiny.pal b/graphics/pokemon/huntail/shiny.pal new file mode 100644 index 000000000..713c54adf --- /dev/null +++ b/graphics/pokemon/huntail/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 106 189 +255 255 255 +255 222 115 +230 156 0 +164 115 65 +172 255 172 +148 230 148 +115 197 115 +57 148 82 +32 106 57 +0 0 0 +255 131 148 +205 115 148 +148 57 90 +213 197 213 +164 131 148 diff --git a/graphics/pokemon/hypno/back.png b/graphics/pokemon/hypno/back.png new file mode 100644 index 000000000..12aec4f4d Binary files /dev/null and b/graphics/pokemon/hypno/back.png differ diff --git a/graphics/pokemon/hypno/footprint.png b/graphics/pokemon/hypno/footprint.png new file mode 100644 index 000000000..51f734973 Binary files /dev/null and b/graphics/pokemon/hypno/footprint.png differ diff --git a/graphics/pokemon/hypno/front.png b/graphics/pokemon/hypno/front.png new file mode 100644 index 000000000..56687d4a4 Binary files /dev/null and b/graphics/pokemon/hypno/front.png differ diff --git a/graphics/pokemon/hypno/icon.png b/graphics/pokemon/hypno/icon.png new file mode 100644 index 000000000..4015f2386 Binary files /dev/null and b/graphics/pokemon/hypno/icon.png differ diff --git a/graphics/pokemon/hypno/normal.pal b/graphics/pokemon/hypno/normal.pal new file mode 100644 index 000000000..a91224353 --- /dev/null +++ b/graphics/pokemon/hypno/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +255 238 156 +255 222 98 +205 180 106 +98 74 32 +189 156 82 +213 197 222 +115 106 131 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +156 156 156 +98 98 98 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/hypno/shiny.pal b/graphics/pokemon/hypno/shiny.pal new file mode 100644 index 000000000..bf99b49c7 --- /dev/null +++ b/graphics/pokemon/hypno/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +255 180 213 +238 139 172 +197 98 131 +123 57 57 +172 98 106 +213 213 222 +115 106 131 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +156 156 156 +98 98 98 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/icons/abra_icon.png b/graphics/pokemon/icons/abra_icon.png deleted file mode 100644 index cf7d3d2f7..000000000 Binary files a/graphics/pokemon/icons/abra_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/absol_icon.png b/graphics/pokemon/icons/absol_icon.png deleted file mode 100644 index 3cc5e01b5..000000000 Binary files a/graphics/pokemon/icons/absol_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/aerodactyl_icon.png b/graphics/pokemon/icons/aerodactyl_icon.png deleted file mode 100644 index f90e269b0..000000000 Binary files a/graphics/pokemon/icons/aerodactyl_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/aggron_icon.png b/graphics/pokemon/icons/aggron_icon.png deleted file mode 100644 index ed7ae52e4..000000000 Binary files a/graphics/pokemon/icons/aggron_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/aipom_icon.png b/graphics/pokemon/icons/aipom_icon.png deleted file mode 100644 index d5138f203..000000000 Binary files a/graphics/pokemon/icons/aipom_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/alakazam_icon.png b/graphics/pokemon/icons/alakazam_icon.png deleted file mode 100644 index f15231469..000000000 Binary files a/graphics/pokemon/icons/alakazam_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/altaria_icon.png b/graphics/pokemon/icons/altaria_icon.png deleted file mode 100644 index 300dfec82..000000000 Binary files a/graphics/pokemon/icons/altaria_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/ampharos_icon.png b/graphics/pokemon/icons/ampharos_icon.png deleted file mode 100644 index d7a3f9e70..000000000 Binary files a/graphics/pokemon/icons/ampharos_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/anorith_icon.png b/graphics/pokemon/icons/anorith_icon.png deleted file mode 100644 index 936355d61..000000000 Binary files a/graphics/pokemon/icons/anorith_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/arbok_icon.png b/graphics/pokemon/icons/arbok_icon.png deleted file mode 100644 index 8967d44a6..000000000 Binary files a/graphics/pokemon/icons/arbok_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/arcanine_icon.png b/graphics/pokemon/icons/arcanine_icon.png deleted file mode 100644 index 3fed9199a..000000000 Binary files a/graphics/pokemon/icons/arcanine_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/ariados_icon.png b/graphics/pokemon/icons/ariados_icon.png deleted file mode 100644 index 4284968f2..000000000 Binary files a/graphics/pokemon/icons/ariados_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/armaldo_icon.png b/graphics/pokemon/icons/armaldo_icon.png deleted file mode 100644 index ed3bb65f2..000000000 Binary files a/graphics/pokemon/icons/armaldo_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/aron_icon.png b/graphics/pokemon/icons/aron_icon.png deleted file mode 100644 index 547846374..000000000 Binary files a/graphics/pokemon/icons/aron_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/articuno_icon.png b/graphics/pokemon/icons/articuno_icon.png deleted file mode 100644 index e2f19f133..000000000 Binary files a/graphics/pokemon/icons/articuno_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/azumarill_icon.png b/graphics/pokemon/icons/azumarill_icon.png deleted file mode 100644 index f41d53d2c..000000000 Binary files a/graphics/pokemon/icons/azumarill_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/azurill_icon.png b/graphics/pokemon/icons/azurill_icon.png deleted file mode 100644 index b69acc7fd..000000000 Binary files a/graphics/pokemon/icons/azurill_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/bagon_icon.png b/graphics/pokemon/icons/bagon_icon.png deleted file mode 100644 index cc3af423f..000000000 Binary files a/graphics/pokemon/icons/bagon_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/baltoy_icon.png b/graphics/pokemon/icons/baltoy_icon.png deleted file mode 100644 index 4ec3f35e9..000000000 Binary files a/graphics/pokemon/icons/baltoy_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/banette_icon.png b/graphics/pokemon/icons/banette_icon.png deleted file mode 100644 index 3b5cbaed1..000000000 Binary files a/graphics/pokemon/icons/banette_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/barboach_icon.png b/graphics/pokemon/icons/barboach_icon.png deleted file mode 100644 index ad874daac..000000000 Binary files a/graphics/pokemon/icons/barboach_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/bayleef_icon.png b/graphics/pokemon/icons/bayleef_icon.png deleted file mode 100644 index 47d2774d6..000000000 Binary files a/graphics/pokemon/icons/bayleef_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/beautifly_icon.png b/graphics/pokemon/icons/beautifly_icon.png deleted file mode 100644 index 346c5c906..000000000 Binary files a/graphics/pokemon/icons/beautifly_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/beedrill_icon.png b/graphics/pokemon/icons/beedrill_icon.png deleted file mode 100644 index d5e6471ab..000000000 Binary files a/graphics/pokemon/icons/beedrill_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/beldum_icon.png b/graphics/pokemon/icons/beldum_icon.png deleted file mode 100644 index 346a0469d..000000000 Binary files a/graphics/pokemon/icons/beldum_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/bellossom_icon.png b/graphics/pokemon/icons/bellossom_icon.png deleted file mode 100644 index 443d7a98c..000000000 Binary files a/graphics/pokemon/icons/bellossom_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/bellsprout_icon.png b/graphics/pokemon/icons/bellsprout_icon.png deleted file mode 100644 index f67c94eec..000000000 Binary files a/graphics/pokemon/icons/bellsprout_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/blastoise_icon.png b/graphics/pokemon/icons/blastoise_icon.png deleted file mode 100644 index 253d4f8da..000000000 Binary files a/graphics/pokemon/icons/blastoise_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/blaziken_icon.png b/graphics/pokemon/icons/blaziken_icon.png deleted file mode 100644 index 6197cce23..000000000 Binary files a/graphics/pokemon/icons/blaziken_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/blissey_icon.png b/graphics/pokemon/icons/blissey_icon.png deleted file mode 100644 index 44af9704c..000000000 Binary files a/graphics/pokemon/icons/blissey_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/breloom_icon.png b/graphics/pokemon/icons/breloom_icon.png deleted file mode 100644 index 314873a27..000000000 Binary files a/graphics/pokemon/icons/breloom_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/bulbasaur_icon.png b/graphics/pokemon/icons/bulbasaur_icon.png deleted file mode 100644 index 8d6fe1725..000000000 Binary files a/graphics/pokemon/icons/bulbasaur_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/butterfree_icon.png b/graphics/pokemon/icons/butterfree_icon.png deleted file mode 100644 index 11c4a379f..000000000 Binary files a/graphics/pokemon/icons/butterfree_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/cacnea_icon.png b/graphics/pokemon/icons/cacnea_icon.png deleted file mode 100644 index 367f07668..000000000 Binary files a/graphics/pokemon/icons/cacnea_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/cacturne_icon.png b/graphics/pokemon/icons/cacturne_icon.png deleted file mode 100644 index 948bea2d8..000000000 Binary files a/graphics/pokemon/icons/cacturne_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/camerupt_icon.png b/graphics/pokemon/icons/camerupt_icon.png deleted file mode 100644 index 372fc7ce0..000000000 Binary files a/graphics/pokemon/icons/camerupt_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/carvanha_icon.png b/graphics/pokemon/icons/carvanha_icon.png deleted file mode 100644 index 6b0d48a8a..000000000 Binary files a/graphics/pokemon/icons/carvanha_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/cascoon_icon.png b/graphics/pokemon/icons/cascoon_icon.png deleted file mode 100644 index 4d49506c0..000000000 Binary files a/graphics/pokemon/icons/cascoon_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/castform_icon.png b/graphics/pokemon/icons/castform_icon.png deleted file mode 100644 index 56c62ad07..000000000 Binary files a/graphics/pokemon/icons/castform_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/caterpie_icon.png b/graphics/pokemon/icons/caterpie_icon.png deleted file mode 100644 index be20669c3..000000000 Binary files a/graphics/pokemon/icons/caterpie_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/celebi_icon.png b/graphics/pokemon/icons/celebi_icon.png deleted file mode 100644 index 245d580f7..000000000 Binary files a/graphics/pokemon/icons/celebi_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/chansey_icon.png b/graphics/pokemon/icons/chansey_icon.png deleted file mode 100644 index 4083185b0..000000000 Binary files a/graphics/pokemon/icons/chansey_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/charizard_icon.png b/graphics/pokemon/icons/charizard_icon.png deleted file mode 100644 index 9c8140887..000000000 Binary files a/graphics/pokemon/icons/charizard_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/charmander_icon.png b/graphics/pokemon/icons/charmander_icon.png deleted file mode 100644 index c3fa4fde4..000000000 Binary files a/graphics/pokemon/icons/charmander_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/charmeleon_icon.png b/graphics/pokemon/icons/charmeleon_icon.png deleted file mode 100644 index 0f1550d0c..000000000 Binary files a/graphics/pokemon/icons/charmeleon_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/chikorita_icon.png b/graphics/pokemon/icons/chikorita_icon.png deleted file mode 100644 index f9bc40d0e..000000000 Binary files a/graphics/pokemon/icons/chikorita_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/chimecho_icon.png b/graphics/pokemon/icons/chimecho_icon.png deleted file mode 100644 index 11b2d93b2..000000000 Binary files a/graphics/pokemon/icons/chimecho_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/chinchou_icon.png b/graphics/pokemon/icons/chinchou_icon.png deleted file mode 100644 index 1b585204b..000000000 Binary files a/graphics/pokemon/icons/chinchou_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/clamperl_icon.png b/graphics/pokemon/icons/clamperl_icon.png deleted file mode 100644 index fabcd9641..000000000 Binary files a/graphics/pokemon/icons/clamperl_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/claydol_icon.png b/graphics/pokemon/icons/claydol_icon.png deleted file mode 100644 index 3f3f04ead..000000000 Binary files a/graphics/pokemon/icons/claydol_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/clefable_icon.png b/graphics/pokemon/icons/clefable_icon.png deleted file mode 100644 index 4078e2854..000000000 Binary files a/graphics/pokemon/icons/clefable_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/clefairy_icon.png b/graphics/pokemon/icons/clefairy_icon.png deleted file mode 100644 index 7895bb93c..000000000 Binary files a/graphics/pokemon/icons/clefairy_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/cleffa_icon.png b/graphics/pokemon/icons/cleffa_icon.png deleted file mode 100644 index e866394f0..000000000 Binary files a/graphics/pokemon/icons/cleffa_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/cloyster_icon.png b/graphics/pokemon/icons/cloyster_icon.png deleted file mode 100644 index 71ca401c4..000000000 Binary files a/graphics/pokemon/icons/cloyster_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/combusken_icon.png b/graphics/pokemon/icons/combusken_icon.png deleted file mode 100644 index 3cdd0f5c1..000000000 Binary files a/graphics/pokemon/icons/combusken_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/corphish_icon.png b/graphics/pokemon/icons/corphish_icon.png deleted file mode 100644 index f14b262d2..000000000 Binary files a/graphics/pokemon/icons/corphish_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/corsola_icon.png b/graphics/pokemon/icons/corsola_icon.png deleted file mode 100644 index dd2d2e82e..000000000 Binary files a/graphics/pokemon/icons/corsola_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/cradily_icon.png b/graphics/pokemon/icons/cradily_icon.png deleted file mode 100644 index ea57b45f1..000000000 Binary files a/graphics/pokemon/icons/cradily_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/crawdaunt_icon.png b/graphics/pokemon/icons/crawdaunt_icon.png deleted file mode 100644 index 605482d25..000000000 Binary files a/graphics/pokemon/icons/crawdaunt_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/crobat_icon.png b/graphics/pokemon/icons/crobat_icon.png deleted file mode 100644 index 817951dd0..000000000 Binary files a/graphics/pokemon/icons/crobat_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/croconaw_icon.png b/graphics/pokemon/icons/croconaw_icon.png deleted file mode 100644 index 6f57e5656..000000000 Binary files a/graphics/pokemon/icons/croconaw_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/cubone_icon.png b/graphics/pokemon/icons/cubone_icon.png deleted file mode 100644 index 679d8e7e5..000000000 Binary files a/graphics/pokemon/icons/cubone_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/cyndaquil_icon.png b/graphics/pokemon/icons/cyndaquil_icon.png deleted file mode 100644 index 5f174dcf1..000000000 Binary files a/graphics/pokemon/icons/cyndaquil_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/delcatty_icon.png b/graphics/pokemon/icons/delcatty_icon.png deleted file mode 100644 index b5d874a88..000000000 Binary files a/graphics/pokemon/icons/delcatty_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/delibird_icon.png b/graphics/pokemon/icons/delibird_icon.png deleted file mode 100644 index 438f80863..000000000 Binary files a/graphics/pokemon/icons/delibird_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/deoxys_icon.png b/graphics/pokemon/icons/deoxys_icon.png deleted file mode 100644 index 18735fc72..000000000 Binary files a/graphics/pokemon/icons/deoxys_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/deoxys_speed_icon.png b/graphics/pokemon/icons/deoxys_speed_icon.png deleted file mode 100644 index ae34130ee..000000000 Binary files a/graphics/pokemon/icons/deoxys_speed_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/dewgong_icon.png b/graphics/pokemon/icons/dewgong_icon.png deleted file mode 100644 index ea227df7c..000000000 Binary files a/graphics/pokemon/icons/dewgong_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/diglett_icon.png b/graphics/pokemon/icons/diglett_icon.png deleted file mode 100644 index 43db9f62d..000000000 Binary files a/graphics/pokemon/icons/diglett_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/ditto_icon.png b/graphics/pokemon/icons/ditto_icon.png deleted file mode 100644 index e6328feb5..000000000 Binary files a/graphics/pokemon/icons/ditto_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/dodrio_icon.png b/graphics/pokemon/icons/dodrio_icon.png deleted file mode 100644 index 3d462999e..000000000 Binary files a/graphics/pokemon/icons/dodrio_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/doduo_icon.png b/graphics/pokemon/icons/doduo_icon.png deleted file mode 100644 index 540834591..000000000 Binary files a/graphics/pokemon/icons/doduo_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/donphan_icon.png b/graphics/pokemon/icons/donphan_icon.png deleted file mode 100644 index 09000b166..000000000 Binary files a/graphics/pokemon/icons/donphan_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/dragonair_icon.png b/graphics/pokemon/icons/dragonair_icon.png deleted file mode 100644 index f4b870a2a..000000000 Binary files a/graphics/pokemon/icons/dragonair_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/dragonite_icon.png b/graphics/pokemon/icons/dragonite_icon.png deleted file mode 100644 index efcbd8f11..000000000 Binary files a/graphics/pokemon/icons/dragonite_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/dratini_icon.png b/graphics/pokemon/icons/dratini_icon.png deleted file mode 100644 index c26efee60..000000000 Binary files a/graphics/pokemon/icons/dratini_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/drowzee_icon.png b/graphics/pokemon/icons/drowzee_icon.png deleted file mode 100644 index 39b84c871..000000000 Binary files a/graphics/pokemon/icons/drowzee_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/dugtrio_icon.png b/graphics/pokemon/icons/dugtrio_icon.png deleted file mode 100644 index a837c7f6f..000000000 Binary files a/graphics/pokemon/icons/dugtrio_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/dunsparce_icon.png b/graphics/pokemon/icons/dunsparce_icon.png deleted file mode 100644 index d2896e72b..000000000 Binary files a/graphics/pokemon/icons/dunsparce_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/dusclops_icon.png b/graphics/pokemon/icons/dusclops_icon.png deleted file mode 100644 index 6ebc957da..000000000 Binary files a/graphics/pokemon/icons/dusclops_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/duskull_icon.png b/graphics/pokemon/icons/duskull_icon.png deleted file mode 100644 index 22710a79f..000000000 Binary files a/graphics/pokemon/icons/duskull_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/dustox_icon.png b/graphics/pokemon/icons/dustox_icon.png deleted file mode 100644 index 2f0d14001..000000000 Binary files a/graphics/pokemon/icons/dustox_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/eevee_icon.png b/graphics/pokemon/icons/eevee_icon.png deleted file mode 100644 index 13b90c2e2..000000000 Binary files a/graphics/pokemon/icons/eevee_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/egg_icon.png b/graphics/pokemon/icons/egg_icon.png deleted file mode 100644 index 8f6ca5dde..000000000 Binary files a/graphics/pokemon/icons/egg_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/ekans_icon.png b/graphics/pokemon/icons/ekans_icon.png deleted file mode 100644 index 3c81efd69..000000000 Binary files a/graphics/pokemon/icons/ekans_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/electabuzz_icon.png b/graphics/pokemon/icons/electabuzz_icon.png deleted file mode 100644 index 4c9babe2a..000000000 Binary files a/graphics/pokemon/icons/electabuzz_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/electrike_icon.png b/graphics/pokemon/icons/electrike_icon.png deleted file mode 100644 index ebef61c49..000000000 Binary files a/graphics/pokemon/icons/electrike_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/electrode_icon.png b/graphics/pokemon/icons/electrode_icon.png deleted file mode 100644 index e46c57974..000000000 Binary files a/graphics/pokemon/icons/electrode_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/elekid_icon.png b/graphics/pokemon/icons/elekid_icon.png deleted file mode 100644 index d80ce6f0d..000000000 Binary files a/graphics/pokemon/icons/elekid_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/entei_icon.png b/graphics/pokemon/icons/entei_icon.png deleted file mode 100644 index 4d2353a20..000000000 Binary files a/graphics/pokemon/icons/entei_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/espeon_icon.png b/graphics/pokemon/icons/espeon_icon.png deleted file mode 100644 index bc63aa3f2..000000000 Binary files a/graphics/pokemon/icons/espeon_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/exeggcute_icon.png b/graphics/pokemon/icons/exeggcute_icon.png deleted file mode 100644 index 5d0306610..000000000 Binary files a/graphics/pokemon/icons/exeggcute_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/exeggutor_icon.png b/graphics/pokemon/icons/exeggutor_icon.png deleted file mode 100644 index 610c65a3d..000000000 Binary files a/graphics/pokemon/icons/exeggutor_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/exploud_icon.png b/graphics/pokemon/icons/exploud_icon.png deleted file mode 100644 index 04ed7f13d..000000000 Binary files a/graphics/pokemon/icons/exploud_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/farfetch_d_icon.png b/graphics/pokemon/icons/farfetch_d_icon.png deleted file mode 100644 index cb3cd931b..000000000 Binary files a/graphics/pokemon/icons/farfetch_d_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/fearow_icon.png b/graphics/pokemon/icons/fearow_icon.png deleted file mode 100644 index 9a3be9393..000000000 Binary files a/graphics/pokemon/icons/fearow_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/feebas_icon.png b/graphics/pokemon/icons/feebas_icon.png deleted file mode 100644 index 19e08797a..000000000 Binary files a/graphics/pokemon/icons/feebas_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/feraligatr_icon.png b/graphics/pokemon/icons/feraligatr_icon.png deleted file mode 100644 index fe3f4fca6..000000000 Binary files a/graphics/pokemon/icons/feraligatr_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/flaaffy_icon.png b/graphics/pokemon/icons/flaaffy_icon.png deleted file mode 100644 index 719ed69a3..000000000 Binary files a/graphics/pokemon/icons/flaaffy_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/flareon_icon.png b/graphics/pokemon/icons/flareon_icon.png deleted file mode 100644 index 317aa61d0..000000000 Binary files a/graphics/pokemon/icons/flareon_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/flygon_icon.png b/graphics/pokemon/icons/flygon_icon.png deleted file mode 100644 index f033c9a88..000000000 Binary files a/graphics/pokemon/icons/flygon_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/forretress_icon.png b/graphics/pokemon/icons/forretress_icon.png deleted file mode 100644 index 056683bec..000000000 Binary files a/graphics/pokemon/icons/forretress_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/furret_icon.png b/graphics/pokemon/icons/furret_icon.png deleted file mode 100644 index 6974ee9f3..000000000 Binary files a/graphics/pokemon/icons/furret_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/gardevoir_icon.png b/graphics/pokemon/icons/gardevoir_icon.png deleted file mode 100644 index 958ea7f62..000000000 Binary files a/graphics/pokemon/icons/gardevoir_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/gastly_icon.png b/graphics/pokemon/icons/gastly_icon.png deleted file mode 100644 index 6a33a8ab5..000000000 Binary files a/graphics/pokemon/icons/gastly_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/gengar_icon.png b/graphics/pokemon/icons/gengar_icon.png deleted file mode 100644 index bbc3d758d..000000000 Binary files a/graphics/pokemon/icons/gengar_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/geodude_icon.png b/graphics/pokemon/icons/geodude_icon.png deleted file mode 100644 index da39c60f0..000000000 Binary files a/graphics/pokemon/icons/geodude_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/girafarig_icon.png b/graphics/pokemon/icons/girafarig_icon.png deleted file mode 100644 index c8b79b132..000000000 Binary files a/graphics/pokemon/icons/girafarig_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/glalie_icon.png b/graphics/pokemon/icons/glalie_icon.png deleted file mode 100644 index 0fc66c900..000000000 Binary files a/graphics/pokemon/icons/glalie_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/gligar_icon.png b/graphics/pokemon/icons/gligar_icon.png deleted file mode 100644 index baa8414a7..000000000 Binary files a/graphics/pokemon/icons/gligar_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/gloom_icon.png b/graphics/pokemon/icons/gloom_icon.png deleted file mode 100644 index 99c487dd2..000000000 Binary files a/graphics/pokemon/icons/gloom_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/golbat_icon.png b/graphics/pokemon/icons/golbat_icon.png deleted file mode 100644 index 25b3f6821..000000000 Binary files a/graphics/pokemon/icons/golbat_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/goldeen_icon.png b/graphics/pokemon/icons/goldeen_icon.png deleted file mode 100644 index 9dc3bff80..000000000 Binary files a/graphics/pokemon/icons/goldeen_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/golduck_icon.png b/graphics/pokemon/icons/golduck_icon.png deleted file mode 100644 index c0c922834..000000000 Binary files a/graphics/pokemon/icons/golduck_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/golem_icon.png b/graphics/pokemon/icons/golem_icon.png deleted file mode 100644 index 480f8c0bb..000000000 Binary files a/graphics/pokemon/icons/golem_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/gorebyss_icon.png b/graphics/pokemon/icons/gorebyss_icon.png deleted file mode 100644 index 7dc8bc476..000000000 Binary files a/graphics/pokemon/icons/gorebyss_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/granbull_icon.png b/graphics/pokemon/icons/granbull_icon.png deleted file mode 100644 index 89beb7a8c..000000000 Binary files a/graphics/pokemon/icons/granbull_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/graveler_icon.png b/graphics/pokemon/icons/graveler_icon.png deleted file mode 100644 index 84e81dc10..000000000 Binary files a/graphics/pokemon/icons/graveler_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/grimer_icon.png b/graphics/pokemon/icons/grimer_icon.png deleted file mode 100644 index c814df542..000000000 Binary files a/graphics/pokemon/icons/grimer_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/groudon_icon.png b/graphics/pokemon/icons/groudon_icon.png deleted file mode 100644 index 2b8707bb8..000000000 Binary files a/graphics/pokemon/icons/groudon_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/grovyle_icon.png b/graphics/pokemon/icons/grovyle_icon.png deleted file mode 100644 index bed04dc98..000000000 Binary files a/graphics/pokemon/icons/grovyle_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/growlithe_icon.png b/graphics/pokemon/icons/growlithe_icon.png deleted file mode 100644 index 8870c8b4f..000000000 Binary files a/graphics/pokemon/icons/growlithe_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/grumpig_icon.png b/graphics/pokemon/icons/grumpig_icon.png deleted file mode 100644 index fb3cac59d..000000000 Binary files a/graphics/pokemon/icons/grumpig_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/gulpin_icon.png b/graphics/pokemon/icons/gulpin_icon.png deleted file mode 100644 index 53eed645f..000000000 Binary files a/graphics/pokemon/icons/gulpin_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/gyarados_icon.png b/graphics/pokemon/icons/gyarados_icon.png deleted file mode 100644 index 13e611d09..000000000 Binary files a/graphics/pokemon/icons/gyarados_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/hariyama_icon.png b/graphics/pokemon/icons/hariyama_icon.png deleted file mode 100644 index b16b04907..000000000 Binary files a/graphics/pokemon/icons/hariyama_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/haunter_icon.png b/graphics/pokemon/icons/haunter_icon.png deleted file mode 100644 index aac3e15f8..000000000 Binary files a/graphics/pokemon/icons/haunter_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/heracross_icon.png b/graphics/pokemon/icons/heracross_icon.png deleted file mode 100644 index 994fbe33f..000000000 Binary files a/graphics/pokemon/icons/heracross_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/hitmonchan_icon.png b/graphics/pokemon/icons/hitmonchan_icon.png deleted file mode 100644 index a657a6d74..000000000 Binary files a/graphics/pokemon/icons/hitmonchan_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/hitmonlee_icon.png b/graphics/pokemon/icons/hitmonlee_icon.png deleted file mode 100644 index b45c93686..000000000 Binary files a/graphics/pokemon/icons/hitmonlee_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/hitmontop_icon.png b/graphics/pokemon/icons/hitmontop_icon.png deleted file mode 100644 index c5b8ee564..000000000 Binary files a/graphics/pokemon/icons/hitmontop_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/ho_oh_icon.png b/graphics/pokemon/icons/ho_oh_icon.png deleted file mode 100644 index 4cd5ed871..000000000 Binary files a/graphics/pokemon/icons/ho_oh_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/hoothoot_icon.png b/graphics/pokemon/icons/hoothoot_icon.png deleted file mode 100644 index c25065113..000000000 Binary files a/graphics/pokemon/icons/hoothoot_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/hoppip_icon.png b/graphics/pokemon/icons/hoppip_icon.png deleted file mode 100644 index 0692f69d7..000000000 Binary files a/graphics/pokemon/icons/hoppip_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/horsea_icon.png b/graphics/pokemon/icons/horsea_icon.png deleted file mode 100644 index d57901f51..000000000 Binary files a/graphics/pokemon/icons/horsea_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/houndoom_icon.png b/graphics/pokemon/icons/houndoom_icon.png deleted file mode 100644 index 8ca4aec3c..000000000 Binary files a/graphics/pokemon/icons/houndoom_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/houndour_icon.png b/graphics/pokemon/icons/houndour_icon.png deleted file mode 100644 index 1d397d9bf..000000000 Binary files a/graphics/pokemon/icons/houndour_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/huntail_icon.png b/graphics/pokemon/icons/huntail_icon.png deleted file mode 100644 index b70fca87e..000000000 Binary files a/graphics/pokemon/icons/huntail_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/hypno_icon.png b/graphics/pokemon/icons/hypno_icon.png deleted file mode 100644 index 4015f2386..000000000 Binary files a/graphics/pokemon/icons/hypno_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/igglybuff_icon.png b/graphics/pokemon/icons/igglybuff_icon.png deleted file mode 100644 index 55d1a9eb1..000000000 Binary files a/graphics/pokemon/icons/igglybuff_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/illumise_icon.png b/graphics/pokemon/icons/illumise_icon.png deleted file mode 100644 index ac812de37..000000000 Binary files a/graphics/pokemon/icons/illumise_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/ivysaur_icon.png b/graphics/pokemon/icons/ivysaur_icon.png deleted file mode 100644 index 2f1627506..000000000 Binary files a/graphics/pokemon/icons/ivysaur_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/jigglypuff_icon.png b/graphics/pokemon/icons/jigglypuff_icon.png deleted file mode 100644 index 4c5a33cb8..000000000 Binary files a/graphics/pokemon/icons/jigglypuff_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/jirachi_icon.png b/graphics/pokemon/icons/jirachi_icon.png deleted file mode 100644 index 15df4559b..000000000 Binary files a/graphics/pokemon/icons/jirachi_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/jolteon_icon.png b/graphics/pokemon/icons/jolteon_icon.png deleted file mode 100644 index b98fd78b2..000000000 Binary files a/graphics/pokemon/icons/jolteon_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/jumpluff_icon.png b/graphics/pokemon/icons/jumpluff_icon.png deleted file mode 100644 index bf0cb64de..000000000 Binary files a/graphics/pokemon/icons/jumpluff_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/jynx_icon.png b/graphics/pokemon/icons/jynx_icon.png deleted file mode 100644 index be6522806..000000000 Binary files a/graphics/pokemon/icons/jynx_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/kabuto_icon.png b/graphics/pokemon/icons/kabuto_icon.png deleted file mode 100644 index c0a140722..000000000 Binary files a/graphics/pokemon/icons/kabuto_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/kabutops_icon.png b/graphics/pokemon/icons/kabutops_icon.png deleted file mode 100644 index 1c23836e5..000000000 Binary files a/graphics/pokemon/icons/kabutops_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/kadabra_icon.png b/graphics/pokemon/icons/kadabra_icon.png deleted file mode 100644 index 8653f7524..000000000 Binary files a/graphics/pokemon/icons/kadabra_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/kakuna_icon.png b/graphics/pokemon/icons/kakuna_icon.png deleted file mode 100644 index 1c857d442..000000000 Binary files a/graphics/pokemon/icons/kakuna_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/kangaskhan_icon.png b/graphics/pokemon/icons/kangaskhan_icon.png deleted file mode 100644 index 177a688cd..000000000 Binary files a/graphics/pokemon/icons/kangaskhan_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/kecleon_icon.png b/graphics/pokemon/icons/kecleon_icon.png deleted file mode 100644 index 98b108fd9..000000000 Binary files a/graphics/pokemon/icons/kecleon_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/kingdra_icon.png b/graphics/pokemon/icons/kingdra_icon.png deleted file mode 100644 index c0fb5484a..000000000 Binary files a/graphics/pokemon/icons/kingdra_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/kingler_icon.png b/graphics/pokemon/icons/kingler_icon.png deleted file mode 100644 index dbf1af284..000000000 Binary files a/graphics/pokemon/icons/kingler_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/kirlia_icon.png b/graphics/pokemon/icons/kirlia_icon.png deleted file mode 100644 index b99dfee25..000000000 Binary files a/graphics/pokemon/icons/kirlia_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/koffing_icon.png b/graphics/pokemon/icons/koffing_icon.png deleted file mode 100644 index 683df2b85..000000000 Binary files a/graphics/pokemon/icons/koffing_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/krabby_icon.png b/graphics/pokemon/icons/krabby_icon.png deleted file mode 100644 index f9fdaa6d5..000000000 Binary files a/graphics/pokemon/icons/krabby_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/kyogre_icon.png b/graphics/pokemon/icons/kyogre_icon.png deleted file mode 100644 index 544ed9daf..000000000 Binary files a/graphics/pokemon/icons/kyogre_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/lairon_icon.png b/graphics/pokemon/icons/lairon_icon.png deleted file mode 100644 index 6d450b08d..000000000 Binary files a/graphics/pokemon/icons/lairon_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/lanturn_icon.png b/graphics/pokemon/icons/lanturn_icon.png deleted file mode 100644 index d2b3d4348..000000000 Binary files a/graphics/pokemon/icons/lanturn_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/lapras_icon.png b/graphics/pokemon/icons/lapras_icon.png deleted file mode 100644 index fa8035ada..000000000 Binary files a/graphics/pokemon/icons/lapras_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/larvitar_icon.png b/graphics/pokemon/icons/larvitar_icon.png deleted file mode 100644 index 85a5504c3..000000000 Binary files a/graphics/pokemon/icons/larvitar_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/latias_icon.png b/graphics/pokemon/icons/latias_icon.png deleted file mode 100644 index 1727c0af6..000000000 Binary files a/graphics/pokemon/icons/latias_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/latios_icon.png b/graphics/pokemon/icons/latios_icon.png deleted file mode 100644 index 10a23ad47..000000000 Binary files a/graphics/pokemon/icons/latios_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/ledian_icon.png b/graphics/pokemon/icons/ledian_icon.png deleted file mode 100644 index b82ef1306..000000000 Binary files a/graphics/pokemon/icons/ledian_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/ledyba_icon.png b/graphics/pokemon/icons/ledyba_icon.png deleted file mode 100644 index f417e2d74..000000000 Binary files a/graphics/pokemon/icons/ledyba_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/lickitung_icon.png b/graphics/pokemon/icons/lickitung_icon.png deleted file mode 100644 index 5b7804afa..000000000 Binary files a/graphics/pokemon/icons/lickitung_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/lileep_icon.png b/graphics/pokemon/icons/lileep_icon.png deleted file mode 100644 index b875a53a7..000000000 Binary files a/graphics/pokemon/icons/lileep_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/linoone_icon.png b/graphics/pokemon/icons/linoone_icon.png deleted file mode 100644 index bf0ea0cac..000000000 Binary files a/graphics/pokemon/icons/linoone_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/lombre_icon.png b/graphics/pokemon/icons/lombre_icon.png deleted file mode 100644 index b3e661cca..000000000 Binary files a/graphics/pokemon/icons/lombre_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/lotad_icon.png b/graphics/pokemon/icons/lotad_icon.png deleted file mode 100644 index 74e37ceed..000000000 Binary files a/graphics/pokemon/icons/lotad_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/loudred_icon.png b/graphics/pokemon/icons/loudred_icon.png deleted file mode 100644 index cbb1859f8..000000000 Binary files a/graphics/pokemon/icons/loudred_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/ludicolo_icon.png b/graphics/pokemon/icons/ludicolo_icon.png deleted file mode 100644 index 47490411b..000000000 Binary files a/graphics/pokemon/icons/ludicolo_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/lugia_icon.png b/graphics/pokemon/icons/lugia_icon.png deleted file mode 100644 index 5e581ee19..000000000 Binary files a/graphics/pokemon/icons/lugia_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/lunatone_icon.png b/graphics/pokemon/icons/lunatone_icon.png deleted file mode 100644 index 27a42ae41..000000000 Binary files a/graphics/pokemon/icons/lunatone_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/luvdisc_icon.png b/graphics/pokemon/icons/luvdisc_icon.png deleted file mode 100644 index 980b73492..000000000 Binary files a/graphics/pokemon/icons/luvdisc_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/machamp_icon.png b/graphics/pokemon/icons/machamp_icon.png deleted file mode 100644 index f803845ab..000000000 Binary files a/graphics/pokemon/icons/machamp_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/machoke_icon.png b/graphics/pokemon/icons/machoke_icon.png deleted file mode 100644 index 97d3a6bf0..000000000 Binary files a/graphics/pokemon/icons/machoke_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/machop_icon.png b/graphics/pokemon/icons/machop_icon.png deleted file mode 100644 index 53773ea8c..000000000 Binary files a/graphics/pokemon/icons/machop_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/magby_icon.png b/graphics/pokemon/icons/magby_icon.png deleted file mode 100644 index 574274003..000000000 Binary files a/graphics/pokemon/icons/magby_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/magcargo_icon.png b/graphics/pokemon/icons/magcargo_icon.png deleted file mode 100644 index 46cbb8cb5..000000000 Binary files a/graphics/pokemon/icons/magcargo_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/magikarp_icon.png b/graphics/pokemon/icons/magikarp_icon.png deleted file mode 100644 index 004884582..000000000 Binary files a/graphics/pokemon/icons/magikarp_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/magmar_icon.png b/graphics/pokemon/icons/magmar_icon.png deleted file mode 100644 index af5ece4f7..000000000 Binary files a/graphics/pokemon/icons/magmar_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/magnemite_icon.png b/graphics/pokemon/icons/magnemite_icon.png deleted file mode 100644 index ba9561d21..000000000 Binary files a/graphics/pokemon/icons/magnemite_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/magneton_icon.png b/graphics/pokemon/icons/magneton_icon.png deleted file mode 100644 index 91a25f3ce..000000000 Binary files a/graphics/pokemon/icons/magneton_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/makuhita_icon.png b/graphics/pokemon/icons/makuhita_icon.png deleted file mode 100644 index d64f2c418..000000000 Binary files a/graphics/pokemon/icons/makuhita_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/manectric_icon.png b/graphics/pokemon/icons/manectric_icon.png deleted file mode 100644 index 0b8fe933d..000000000 Binary files a/graphics/pokemon/icons/manectric_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/mankey_icon.png b/graphics/pokemon/icons/mankey_icon.png deleted file mode 100644 index 369221126..000000000 Binary files a/graphics/pokemon/icons/mankey_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/mantine_icon.png b/graphics/pokemon/icons/mantine_icon.png deleted file mode 100644 index cf0bb2223..000000000 Binary files a/graphics/pokemon/icons/mantine_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/mareep_icon.png b/graphics/pokemon/icons/mareep_icon.png deleted file mode 100644 index 2bd5335b6..000000000 Binary files a/graphics/pokemon/icons/mareep_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/marill_icon.png b/graphics/pokemon/icons/marill_icon.png deleted file mode 100644 index d91f9da86..000000000 Binary files a/graphics/pokemon/icons/marill_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/marowak_icon.png b/graphics/pokemon/icons/marowak_icon.png deleted file mode 100644 index 7efbb1779..000000000 Binary files a/graphics/pokemon/icons/marowak_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/marshtomp_icon.png b/graphics/pokemon/icons/marshtomp_icon.png deleted file mode 100644 index 170e82851..000000000 Binary files a/graphics/pokemon/icons/marshtomp_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/masquerain_icon.png b/graphics/pokemon/icons/masquerain_icon.png deleted file mode 100644 index 5487241e2..000000000 Binary files a/graphics/pokemon/icons/masquerain_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/mawile_icon.png b/graphics/pokemon/icons/mawile_icon.png deleted file mode 100644 index cf7363277..000000000 Binary files a/graphics/pokemon/icons/mawile_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/medicham_icon.png b/graphics/pokemon/icons/medicham_icon.png deleted file mode 100644 index ed287fb28..000000000 Binary files a/graphics/pokemon/icons/medicham_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/meditite_icon.png b/graphics/pokemon/icons/meditite_icon.png deleted file mode 100644 index 05a02f077..000000000 Binary files a/graphics/pokemon/icons/meditite_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/meganium_icon.png b/graphics/pokemon/icons/meganium_icon.png deleted file mode 100644 index ce4592272..000000000 Binary files a/graphics/pokemon/icons/meganium_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/meowth_icon.png b/graphics/pokemon/icons/meowth_icon.png deleted file mode 100644 index 146c69093..000000000 Binary files a/graphics/pokemon/icons/meowth_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/metagross_icon.png b/graphics/pokemon/icons/metagross_icon.png deleted file mode 100644 index e9cf14ab1..000000000 Binary files a/graphics/pokemon/icons/metagross_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/metang_icon.png b/graphics/pokemon/icons/metang_icon.png deleted file mode 100644 index cc095e935..000000000 Binary files a/graphics/pokemon/icons/metang_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/metapod_icon.png b/graphics/pokemon/icons/metapod_icon.png deleted file mode 100644 index 2316b2408..000000000 Binary files a/graphics/pokemon/icons/metapod_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/mew_icon.png b/graphics/pokemon/icons/mew_icon.png deleted file mode 100644 index cffd1dacc..000000000 Binary files a/graphics/pokemon/icons/mew_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/mewtwo_icon.png b/graphics/pokemon/icons/mewtwo_icon.png deleted file mode 100644 index 65f2aeec2..000000000 Binary files a/graphics/pokemon/icons/mewtwo_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/mightyena_icon.png b/graphics/pokemon/icons/mightyena_icon.png deleted file mode 100644 index 3f9e61763..000000000 Binary files a/graphics/pokemon/icons/mightyena_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/milotic_icon.png b/graphics/pokemon/icons/milotic_icon.png deleted file mode 100644 index c1aa2ec8a..000000000 Binary files a/graphics/pokemon/icons/milotic_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/miltank_icon.png b/graphics/pokemon/icons/miltank_icon.png deleted file mode 100644 index ade9cad90..000000000 Binary files a/graphics/pokemon/icons/miltank_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/minun_icon.png b/graphics/pokemon/icons/minun_icon.png deleted file mode 100644 index 1aacd776a..000000000 Binary files a/graphics/pokemon/icons/minun_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/misdreavus_icon.png b/graphics/pokemon/icons/misdreavus_icon.png deleted file mode 100644 index bbe121b91..000000000 Binary files a/graphics/pokemon/icons/misdreavus_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/moltres_icon.png b/graphics/pokemon/icons/moltres_icon.png deleted file mode 100644 index e15d2164a..000000000 Binary files a/graphics/pokemon/icons/moltres_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/mr_mime_icon.png b/graphics/pokemon/icons/mr_mime_icon.png deleted file mode 100644 index b1e3b2bfb..000000000 Binary files a/graphics/pokemon/icons/mr_mime_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/mudkip_icon.png b/graphics/pokemon/icons/mudkip_icon.png deleted file mode 100644 index 5a657aa91..000000000 Binary files a/graphics/pokemon/icons/mudkip_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/muk_icon.png b/graphics/pokemon/icons/muk_icon.png deleted file mode 100644 index 6d8d09350..000000000 Binary files a/graphics/pokemon/icons/muk_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/murkrow_icon.png b/graphics/pokemon/icons/murkrow_icon.png deleted file mode 100644 index eac91aa18..000000000 Binary files a/graphics/pokemon/icons/murkrow_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/natu_icon.png b/graphics/pokemon/icons/natu_icon.png deleted file mode 100644 index 7188fb7f3..000000000 Binary files a/graphics/pokemon/icons/natu_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/nidoking_icon.png b/graphics/pokemon/icons/nidoking_icon.png deleted file mode 100644 index baa05c6a0..000000000 Binary files a/graphics/pokemon/icons/nidoking_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/nidoqueen_icon.png b/graphics/pokemon/icons/nidoqueen_icon.png deleted file mode 100644 index 2d3cdc477..000000000 Binary files a/graphics/pokemon/icons/nidoqueen_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/nidoran_f_icon.png b/graphics/pokemon/icons/nidoran_f_icon.png deleted file mode 100644 index a2483ae63..000000000 Binary files a/graphics/pokemon/icons/nidoran_f_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/nidoran_m_icon.png b/graphics/pokemon/icons/nidoran_m_icon.png deleted file mode 100644 index 4467c5192..000000000 Binary files a/graphics/pokemon/icons/nidoran_m_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/nidorina_icon.png b/graphics/pokemon/icons/nidorina_icon.png deleted file mode 100644 index ad90d02ba..000000000 Binary files a/graphics/pokemon/icons/nidorina_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/nidorino_icon.png b/graphics/pokemon/icons/nidorino_icon.png deleted file mode 100644 index 5edc103c1..000000000 Binary files a/graphics/pokemon/icons/nidorino_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/nincada_icon.png b/graphics/pokemon/icons/nincada_icon.png deleted file mode 100644 index 003ddb992..000000000 Binary files a/graphics/pokemon/icons/nincada_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/ninetales_icon.png b/graphics/pokemon/icons/ninetales_icon.png deleted file mode 100644 index 1a74d34eb..000000000 Binary files a/graphics/pokemon/icons/ninetales_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/ninjask_icon.png b/graphics/pokemon/icons/ninjask_icon.png deleted file mode 100644 index c51533c67..000000000 Binary files a/graphics/pokemon/icons/ninjask_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/noctowl_icon.png b/graphics/pokemon/icons/noctowl_icon.png deleted file mode 100644 index eafbea37e..000000000 Binary files a/graphics/pokemon/icons/noctowl_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/nosepass_icon.png b/graphics/pokemon/icons/nosepass_icon.png deleted file mode 100644 index 718fed8fa..000000000 Binary files a/graphics/pokemon/icons/nosepass_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/numel_icon.png b/graphics/pokemon/icons/numel_icon.png deleted file mode 100644 index 62281e8bf..000000000 Binary files a/graphics/pokemon/icons/numel_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/nuzleaf_icon.png b/graphics/pokemon/icons/nuzleaf_icon.png deleted file mode 100644 index 8c9f4038f..000000000 Binary files a/graphics/pokemon/icons/nuzleaf_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/octillery_icon.png b/graphics/pokemon/icons/octillery_icon.png deleted file mode 100644 index a21e60327..000000000 Binary files a/graphics/pokemon/icons/octillery_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/oddish_icon.png b/graphics/pokemon/icons/oddish_icon.png deleted file mode 100644 index 7c46ae7e7..000000000 Binary files a/graphics/pokemon/icons/oddish_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/omanyte_icon.png b/graphics/pokemon/icons/omanyte_icon.png deleted file mode 100644 index 94684f5c3..000000000 Binary files a/graphics/pokemon/icons/omanyte_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/omastar_icon.png b/graphics/pokemon/icons/omastar_icon.png deleted file mode 100644 index b72bd6aec..000000000 Binary files a/graphics/pokemon/icons/omastar_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/onix_icon.png b/graphics/pokemon/icons/onix_icon.png deleted file mode 100644 index ddd7ee4f9..000000000 Binary files a/graphics/pokemon/icons/onix_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/paras_icon.png b/graphics/pokemon/icons/paras_icon.png deleted file mode 100644 index 6b828b058..000000000 Binary files a/graphics/pokemon/icons/paras_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/parasect_icon.png b/graphics/pokemon/icons/parasect_icon.png deleted file mode 100644 index 907cbf5ca..000000000 Binary files a/graphics/pokemon/icons/parasect_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/pelipper_icon.png b/graphics/pokemon/icons/pelipper_icon.png deleted file mode 100644 index 55a16bc5f..000000000 Binary files a/graphics/pokemon/icons/pelipper_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/persian_icon.png b/graphics/pokemon/icons/persian_icon.png deleted file mode 100644 index 3d6f72fee..000000000 Binary files a/graphics/pokemon/icons/persian_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/phanpy_icon.png b/graphics/pokemon/icons/phanpy_icon.png deleted file mode 100644 index 341724973..000000000 Binary files a/graphics/pokemon/icons/phanpy_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/pichu_icon.png b/graphics/pokemon/icons/pichu_icon.png deleted file mode 100644 index dd696ac10..000000000 Binary files a/graphics/pokemon/icons/pichu_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/pidgeot_icon.png b/graphics/pokemon/icons/pidgeot_icon.png deleted file mode 100644 index 472c0640c..000000000 Binary files a/graphics/pokemon/icons/pidgeot_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/pidgeotto_icon.png b/graphics/pokemon/icons/pidgeotto_icon.png deleted file mode 100644 index bb134533e..000000000 Binary files a/graphics/pokemon/icons/pidgeotto_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/pidgey_icon.png b/graphics/pokemon/icons/pidgey_icon.png deleted file mode 100644 index 44ff94311..000000000 Binary files a/graphics/pokemon/icons/pidgey_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/pikachu_icon.png b/graphics/pokemon/icons/pikachu_icon.png deleted file mode 100644 index feb77f7db..000000000 Binary files a/graphics/pokemon/icons/pikachu_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/piloswine_icon.png b/graphics/pokemon/icons/piloswine_icon.png deleted file mode 100644 index 974e9ea6a..000000000 Binary files a/graphics/pokemon/icons/piloswine_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/pineco_icon.png b/graphics/pokemon/icons/pineco_icon.png deleted file mode 100644 index 3c12df5a2..000000000 Binary files a/graphics/pokemon/icons/pineco_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/pinsir_icon.png b/graphics/pokemon/icons/pinsir_icon.png deleted file mode 100644 index b05b075b9..000000000 Binary files a/graphics/pokemon/icons/pinsir_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/plusle_icon.png b/graphics/pokemon/icons/plusle_icon.png deleted file mode 100644 index 97f10d56f..000000000 Binary files a/graphics/pokemon/icons/plusle_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/politoed_icon.png b/graphics/pokemon/icons/politoed_icon.png deleted file mode 100644 index a5e5d699b..000000000 Binary files a/graphics/pokemon/icons/politoed_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/poliwag_icon.png b/graphics/pokemon/icons/poliwag_icon.png deleted file mode 100644 index d4cd95f1c..000000000 Binary files a/graphics/pokemon/icons/poliwag_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/poliwhirl_icon.png b/graphics/pokemon/icons/poliwhirl_icon.png deleted file mode 100644 index bb90740ac..000000000 Binary files a/graphics/pokemon/icons/poliwhirl_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/poliwrath_icon.png b/graphics/pokemon/icons/poliwrath_icon.png deleted file mode 100644 index d1afb4511..000000000 Binary files a/graphics/pokemon/icons/poliwrath_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/ponyta_icon.png b/graphics/pokemon/icons/ponyta_icon.png deleted file mode 100644 index 05ac87a44..000000000 Binary files a/graphics/pokemon/icons/ponyta_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/poochyena_icon.png b/graphics/pokemon/icons/poochyena_icon.png deleted file mode 100644 index 7e6be6a17..000000000 Binary files a/graphics/pokemon/icons/poochyena_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/porygon2_icon.png b/graphics/pokemon/icons/porygon2_icon.png deleted file mode 100644 index 312640b40..000000000 Binary files a/graphics/pokemon/icons/porygon2_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/porygon_icon.png b/graphics/pokemon/icons/porygon_icon.png deleted file mode 100644 index 306ea8d31..000000000 Binary files a/graphics/pokemon/icons/porygon_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/primeape_icon.png b/graphics/pokemon/icons/primeape_icon.png deleted file mode 100644 index d2d42f7dc..000000000 Binary files a/graphics/pokemon/icons/primeape_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/psyduck_icon.png b/graphics/pokemon/icons/psyduck_icon.png deleted file mode 100644 index f3ebc9f96..000000000 Binary files a/graphics/pokemon/icons/psyduck_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/pupitar_icon.png b/graphics/pokemon/icons/pupitar_icon.png deleted file mode 100644 index 3491849d1..000000000 Binary files a/graphics/pokemon/icons/pupitar_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/quagsire_icon.png b/graphics/pokemon/icons/quagsire_icon.png deleted file mode 100644 index 62c7f2e46..000000000 Binary files a/graphics/pokemon/icons/quagsire_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/question_mark_icon.png b/graphics/pokemon/icons/question_mark_icon.png deleted file mode 100644 index b31ebacf7..000000000 Binary files a/graphics/pokemon/icons/question_mark_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/quilava_icon.png b/graphics/pokemon/icons/quilava_icon.png deleted file mode 100644 index 62d0608dd..000000000 Binary files a/graphics/pokemon/icons/quilava_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/qwilfish_icon.png b/graphics/pokemon/icons/qwilfish_icon.png deleted file mode 100644 index b0fc12302..000000000 Binary files a/graphics/pokemon/icons/qwilfish_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/raichu_icon.png b/graphics/pokemon/icons/raichu_icon.png deleted file mode 100644 index a34997b47..000000000 Binary files a/graphics/pokemon/icons/raichu_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/raikou_icon.png b/graphics/pokemon/icons/raikou_icon.png deleted file mode 100644 index 7847a6f16..000000000 Binary files a/graphics/pokemon/icons/raikou_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/ralts_icon.png b/graphics/pokemon/icons/ralts_icon.png deleted file mode 100644 index ed99d3427..000000000 Binary files a/graphics/pokemon/icons/ralts_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/rapidash_icon.png b/graphics/pokemon/icons/rapidash_icon.png deleted file mode 100644 index c0af0dd08..000000000 Binary files a/graphics/pokemon/icons/rapidash_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/raticate_icon.png b/graphics/pokemon/icons/raticate_icon.png deleted file mode 100644 index 40fbd79c5..000000000 Binary files a/graphics/pokemon/icons/raticate_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/rattata_icon.png b/graphics/pokemon/icons/rattata_icon.png deleted file mode 100644 index ae7b22258..000000000 Binary files a/graphics/pokemon/icons/rattata_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/rayquaza_icon.png b/graphics/pokemon/icons/rayquaza_icon.png deleted file mode 100644 index 65844ebf7..000000000 Binary files a/graphics/pokemon/icons/rayquaza_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/regice_icon.png b/graphics/pokemon/icons/regice_icon.png deleted file mode 100644 index 46b07b3aa..000000000 Binary files a/graphics/pokemon/icons/regice_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/regirock_icon.png b/graphics/pokemon/icons/regirock_icon.png deleted file mode 100644 index e69836744..000000000 Binary files a/graphics/pokemon/icons/regirock_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/registeel_icon.png b/graphics/pokemon/icons/registeel_icon.png deleted file mode 100644 index 5a8cd3d19..000000000 Binary files a/graphics/pokemon/icons/registeel_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/relicanth_icon.png b/graphics/pokemon/icons/relicanth_icon.png deleted file mode 100644 index da17eec33..000000000 Binary files a/graphics/pokemon/icons/relicanth_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/remoraid_icon.png b/graphics/pokemon/icons/remoraid_icon.png deleted file mode 100644 index efbe4ace3..000000000 Binary files a/graphics/pokemon/icons/remoraid_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/rhydon_icon.png b/graphics/pokemon/icons/rhydon_icon.png deleted file mode 100644 index 3bf633680..000000000 Binary files a/graphics/pokemon/icons/rhydon_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/rhyhorn_icon.png b/graphics/pokemon/icons/rhyhorn_icon.png deleted file mode 100644 index 03bb348e7..000000000 Binary files a/graphics/pokemon/icons/rhyhorn_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/roselia_icon.png b/graphics/pokemon/icons/roselia_icon.png deleted file mode 100644 index fc63c9644..000000000 Binary files a/graphics/pokemon/icons/roselia_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/sableye_icon.png b/graphics/pokemon/icons/sableye_icon.png deleted file mode 100644 index e8ac1307e..000000000 Binary files a/graphics/pokemon/icons/sableye_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/salamence_icon.png b/graphics/pokemon/icons/salamence_icon.png deleted file mode 100644 index b4c925502..000000000 Binary files a/graphics/pokemon/icons/salamence_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/sandshrew_icon.png b/graphics/pokemon/icons/sandshrew_icon.png deleted file mode 100644 index 5919f1095..000000000 Binary files a/graphics/pokemon/icons/sandshrew_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/sandslash_icon.png b/graphics/pokemon/icons/sandslash_icon.png deleted file mode 100644 index 08198e6b2..000000000 Binary files a/graphics/pokemon/icons/sandslash_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/sceptile_icon.png b/graphics/pokemon/icons/sceptile_icon.png deleted file mode 100644 index d144941e0..000000000 Binary files a/graphics/pokemon/icons/sceptile_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/scizor_icon.png b/graphics/pokemon/icons/scizor_icon.png deleted file mode 100644 index 0a8667832..000000000 Binary files a/graphics/pokemon/icons/scizor_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/scyther_icon.png b/graphics/pokemon/icons/scyther_icon.png deleted file mode 100644 index 62f94bba6..000000000 Binary files a/graphics/pokemon/icons/scyther_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/seadra_icon.png b/graphics/pokemon/icons/seadra_icon.png deleted file mode 100644 index f85ea2f32..000000000 Binary files a/graphics/pokemon/icons/seadra_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/seaking_icon.png b/graphics/pokemon/icons/seaking_icon.png deleted file mode 100644 index 7c3bcaec1..000000000 Binary files a/graphics/pokemon/icons/seaking_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/sealeo_icon.png b/graphics/pokemon/icons/sealeo_icon.png deleted file mode 100644 index 2d21e8837..000000000 Binary files a/graphics/pokemon/icons/sealeo_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/seedot_icon.png b/graphics/pokemon/icons/seedot_icon.png deleted file mode 100644 index 500a49d47..000000000 Binary files a/graphics/pokemon/icons/seedot_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/seel_icon.png b/graphics/pokemon/icons/seel_icon.png deleted file mode 100644 index 9000021e9..000000000 Binary files a/graphics/pokemon/icons/seel_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/sentret_icon.png b/graphics/pokemon/icons/sentret_icon.png deleted file mode 100644 index 560b38d44..000000000 Binary files a/graphics/pokemon/icons/sentret_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/seviper_icon.png b/graphics/pokemon/icons/seviper_icon.png deleted file mode 100644 index ce751ce33..000000000 Binary files a/graphics/pokemon/icons/seviper_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/sharpedo_icon.png b/graphics/pokemon/icons/sharpedo_icon.png deleted file mode 100644 index d8dbc26b2..000000000 Binary files a/graphics/pokemon/icons/sharpedo_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/shedinja_icon.png b/graphics/pokemon/icons/shedinja_icon.png deleted file mode 100644 index 9f400e338..000000000 Binary files a/graphics/pokemon/icons/shedinja_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/shelgon_icon.png b/graphics/pokemon/icons/shelgon_icon.png deleted file mode 100644 index 76e0c6a1f..000000000 Binary files a/graphics/pokemon/icons/shelgon_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/shellder_icon.png b/graphics/pokemon/icons/shellder_icon.png deleted file mode 100644 index 36ad59dfa..000000000 Binary files a/graphics/pokemon/icons/shellder_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/shiftry_icon.png b/graphics/pokemon/icons/shiftry_icon.png deleted file mode 100644 index c10fa772d..000000000 Binary files a/graphics/pokemon/icons/shiftry_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/shroomish_icon.png b/graphics/pokemon/icons/shroomish_icon.png deleted file mode 100644 index 87dd12060..000000000 Binary files a/graphics/pokemon/icons/shroomish_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/shuckle_icon.png b/graphics/pokemon/icons/shuckle_icon.png deleted file mode 100644 index aaf49345a..000000000 Binary files a/graphics/pokemon/icons/shuckle_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/shuppet_icon.png b/graphics/pokemon/icons/shuppet_icon.png deleted file mode 100644 index 6e7087efd..000000000 Binary files a/graphics/pokemon/icons/shuppet_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/silcoon_icon.png b/graphics/pokemon/icons/silcoon_icon.png deleted file mode 100644 index 0b572a20c..000000000 Binary files a/graphics/pokemon/icons/silcoon_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/skarmory_icon.png b/graphics/pokemon/icons/skarmory_icon.png deleted file mode 100644 index 1eb310654..000000000 Binary files a/graphics/pokemon/icons/skarmory_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/skiploom_icon.png b/graphics/pokemon/icons/skiploom_icon.png deleted file mode 100644 index 90c0c8e7c..000000000 Binary files a/graphics/pokemon/icons/skiploom_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/skitty_icon.png b/graphics/pokemon/icons/skitty_icon.png deleted file mode 100644 index fb41f1c07..000000000 Binary files a/graphics/pokemon/icons/skitty_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/slaking_icon.png b/graphics/pokemon/icons/slaking_icon.png deleted file mode 100644 index 71b6c7537..000000000 Binary files a/graphics/pokemon/icons/slaking_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/slakoth_icon.png b/graphics/pokemon/icons/slakoth_icon.png deleted file mode 100644 index c04ff08a0..000000000 Binary files a/graphics/pokemon/icons/slakoth_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/slowbro_icon.png b/graphics/pokemon/icons/slowbro_icon.png deleted file mode 100644 index bf7ee6a32..000000000 Binary files a/graphics/pokemon/icons/slowbro_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/slowking_icon.png b/graphics/pokemon/icons/slowking_icon.png deleted file mode 100644 index 04bd1a155..000000000 Binary files a/graphics/pokemon/icons/slowking_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/slowpoke_icon.png b/graphics/pokemon/icons/slowpoke_icon.png deleted file mode 100644 index cc3123e14..000000000 Binary files a/graphics/pokemon/icons/slowpoke_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/slugma_icon.png b/graphics/pokemon/icons/slugma_icon.png deleted file mode 100644 index d954c6f68..000000000 Binary files a/graphics/pokemon/icons/slugma_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/smeargle_icon.png b/graphics/pokemon/icons/smeargle_icon.png deleted file mode 100644 index 54b387b05..000000000 Binary files a/graphics/pokemon/icons/smeargle_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/smoochum_icon.png b/graphics/pokemon/icons/smoochum_icon.png deleted file mode 100644 index 11f1e6fe7..000000000 Binary files a/graphics/pokemon/icons/smoochum_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/sneasel_icon.png b/graphics/pokemon/icons/sneasel_icon.png deleted file mode 100644 index 95eb3e66d..000000000 Binary files a/graphics/pokemon/icons/sneasel_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/snorlax_icon.png b/graphics/pokemon/icons/snorlax_icon.png deleted file mode 100644 index 00a74b6ac..000000000 Binary files a/graphics/pokemon/icons/snorlax_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/snorunt_icon.png b/graphics/pokemon/icons/snorunt_icon.png deleted file mode 100644 index 2710b9a0a..000000000 Binary files a/graphics/pokemon/icons/snorunt_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/snubbull_icon.png b/graphics/pokemon/icons/snubbull_icon.png deleted file mode 100644 index 80f9b1288..000000000 Binary files a/graphics/pokemon/icons/snubbull_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/solrock_icon.png b/graphics/pokemon/icons/solrock_icon.png deleted file mode 100644 index f9e689424..000000000 Binary files a/graphics/pokemon/icons/solrock_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/spearow_icon.png b/graphics/pokemon/icons/spearow_icon.png deleted file mode 100644 index a88db9927..000000000 Binary files a/graphics/pokemon/icons/spearow_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/spheal_icon.png b/graphics/pokemon/icons/spheal_icon.png deleted file mode 100644 index fd392e196..000000000 Binary files a/graphics/pokemon/icons/spheal_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/spinarak_icon.png b/graphics/pokemon/icons/spinarak_icon.png deleted file mode 100644 index 54ec8e0fe..000000000 Binary files a/graphics/pokemon/icons/spinarak_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/spinda_icon.png b/graphics/pokemon/icons/spinda_icon.png deleted file mode 100644 index 75699c7cb..000000000 Binary files a/graphics/pokemon/icons/spinda_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/spoink_icon.png b/graphics/pokemon/icons/spoink_icon.png deleted file mode 100644 index 387d0ed00..000000000 Binary files a/graphics/pokemon/icons/spoink_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/squirtle_icon.png b/graphics/pokemon/icons/squirtle_icon.png deleted file mode 100644 index 75a58770f..000000000 Binary files a/graphics/pokemon/icons/squirtle_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/stantler_icon.png b/graphics/pokemon/icons/stantler_icon.png deleted file mode 100644 index da9e6da99..000000000 Binary files a/graphics/pokemon/icons/stantler_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/starmie_icon.png b/graphics/pokemon/icons/starmie_icon.png deleted file mode 100644 index 844cae0c7..000000000 Binary files a/graphics/pokemon/icons/starmie_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/staryu_icon.png b/graphics/pokemon/icons/staryu_icon.png deleted file mode 100644 index b90c0b9c3..000000000 Binary files a/graphics/pokemon/icons/staryu_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/steelix_icon.png b/graphics/pokemon/icons/steelix_icon.png deleted file mode 100644 index c99e17581..000000000 Binary files a/graphics/pokemon/icons/steelix_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/sudowoodo_icon.png b/graphics/pokemon/icons/sudowoodo_icon.png deleted file mode 100644 index 4cc4afadf..000000000 Binary files a/graphics/pokemon/icons/sudowoodo_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/suicune_icon.png b/graphics/pokemon/icons/suicune_icon.png deleted file mode 100644 index 3e4b3c695..000000000 Binary files a/graphics/pokemon/icons/suicune_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/sunflora_icon.png b/graphics/pokemon/icons/sunflora_icon.png deleted file mode 100644 index 6493eb510..000000000 Binary files a/graphics/pokemon/icons/sunflora_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/sunkern_icon.png b/graphics/pokemon/icons/sunkern_icon.png deleted file mode 100644 index 60d7ea91b..000000000 Binary files a/graphics/pokemon/icons/sunkern_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/surskit_icon.png b/graphics/pokemon/icons/surskit_icon.png deleted file mode 100644 index a7267c21a..000000000 Binary files a/graphics/pokemon/icons/surskit_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/swablu_icon.png b/graphics/pokemon/icons/swablu_icon.png deleted file mode 100644 index fa269d741..000000000 Binary files a/graphics/pokemon/icons/swablu_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/swalot_icon.png b/graphics/pokemon/icons/swalot_icon.png deleted file mode 100644 index 9868d73d3..000000000 Binary files a/graphics/pokemon/icons/swalot_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/swampert_icon.png b/graphics/pokemon/icons/swampert_icon.png deleted file mode 100644 index 5b2f04ca9..000000000 Binary files a/graphics/pokemon/icons/swampert_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/swellow_icon.png b/graphics/pokemon/icons/swellow_icon.png deleted file mode 100644 index 47a2ea74d..000000000 Binary files a/graphics/pokemon/icons/swellow_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/swinub_icon.png b/graphics/pokemon/icons/swinub_icon.png deleted file mode 100644 index f33656a0c..000000000 Binary files a/graphics/pokemon/icons/swinub_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/taillow_icon.png b/graphics/pokemon/icons/taillow_icon.png deleted file mode 100644 index a0668865b..000000000 Binary files a/graphics/pokemon/icons/taillow_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/tangela_icon.png b/graphics/pokemon/icons/tangela_icon.png deleted file mode 100644 index c2a8ee33f..000000000 Binary files a/graphics/pokemon/icons/tangela_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/tauros_icon.png b/graphics/pokemon/icons/tauros_icon.png deleted file mode 100644 index fc432dab9..000000000 Binary files a/graphics/pokemon/icons/tauros_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/teddiursa_icon.png b/graphics/pokemon/icons/teddiursa_icon.png deleted file mode 100644 index 94994c86d..000000000 Binary files a/graphics/pokemon/icons/teddiursa_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/tentacool_icon.png b/graphics/pokemon/icons/tentacool_icon.png deleted file mode 100644 index d29ca1938..000000000 Binary files a/graphics/pokemon/icons/tentacool_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/tentacruel_icon.png b/graphics/pokemon/icons/tentacruel_icon.png deleted file mode 100644 index 72b6da9b9..000000000 Binary files a/graphics/pokemon/icons/tentacruel_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/togepi_icon.png b/graphics/pokemon/icons/togepi_icon.png deleted file mode 100644 index ded646fa1..000000000 Binary files a/graphics/pokemon/icons/togepi_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/togetic_icon.png b/graphics/pokemon/icons/togetic_icon.png deleted file mode 100644 index 61e73ab3e..000000000 Binary files a/graphics/pokemon/icons/togetic_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/torchic_icon.png b/graphics/pokemon/icons/torchic_icon.png deleted file mode 100644 index 6346e2272..000000000 Binary files a/graphics/pokemon/icons/torchic_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/torkoal_icon.png b/graphics/pokemon/icons/torkoal_icon.png deleted file mode 100644 index 077ce4026..000000000 Binary files a/graphics/pokemon/icons/torkoal_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/totodile_icon.png b/graphics/pokemon/icons/totodile_icon.png deleted file mode 100644 index c2bc68521..000000000 Binary files a/graphics/pokemon/icons/totodile_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/trapinch_icon.png b/graphics/pokemon/icons/trapinch_icon.png deleted file mode 100644 index 731dbf569..000000000 Binary files a/graphics/pokemon/icons/trapinch_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/treecko_icon.png b/graphics/pokemon/icons/treecko_icon.png deleted file mode 100644 index f51358adf..000000000 Binary files a/graphics/pokemon/icons/treecko_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/tropius_icon.png b/graphics/pokemon/icons/tropius_icon.png deleted file mode 100644 index dabfcd295..000000000 Binary files a/graphics/pokemon/icons/tropius_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/typhlosion_icon.png b/graphics/pokemon/icons/typhlosion_icon.png deleted file mode 100644 index e15d7b683..000000000 Binary files a/graphics/pokemon/icons/typhlosion_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/tyranitar_icon.png b/graphics/pokemon/icons/tyranitar_icon.png deleted file mode 100644 index 76113bc68..000000000 Binary files a/graphics/pokemon/icons/tyranitar_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/tyrogue_icon.png b/graphics/pokemon/icons/tyrogue_icon.png deleted file mode 100644 index 10099d5cf..000000000 Binary files a/graphics/pokemon/icons/tyrogue_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/umbreon_icon.png b/graphics/pokemon/icons/umbreon_icon.png deleted file mode 100644 index 8d8d867c2..000000000 Binary files a/graphics/pokemon/icons/umbreon_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/unown_B_icon.png b/graphics/pokemon/icons/unown_B_icon.png deleted file mode 100644 index 47654aba5..000000000 Binary files a/graphics/pokemon/icons/unown_B_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/unown_C_icon.png b/graphics/pokemon/icons/unown_C_icon.png deleted file mode 100644 index 7b8721a7d..000000000 Binary files a/graphics/pokemon/icons/unown_C_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/unown_D_icon.png b/graphics/pokemon/icons/unown_D_icon.png deleted file mode 100644 index db6b0cf8a..000000000 Binary files a/graphics/pokemon/icons/unown_D_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/unown_E_icon.png b/graphics/pokemon/icons/unown_E_icon.png deleted file mode 100644 index 6addb828e..000000000 Binary files a/graphics/pokemon/icons/unown_E_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/unown_F_icon.png b/graphics/pokemon/icons/unown_F_icon.png deleted file mode 100644 index 3c45017b1..000000000 Binary files a/graphics/pokemon/icons/unown_F_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/unown_G_icon.png b/graphics/pokemon/icons/unown_G_icon.png deleted file mode 100644 index ab00f8ad2..000000000 Binary files a/graphics/pokemon/icons/unown_G_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/unown_H_icon.png b/graphics/pokemon/icons/unown_H_icon.png deleted file mode 100644 index bd4fd96bf..000000000 Binary files a/graphics/pokemon/icons/unown_H_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/unown_I_icon.png b/graphics/pokemon/icons/unown_I_icon.png deleted file mode 100644 index 6973196bb..000000000 Binary files a/graphics/pokemon/icons/unown_I_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/unown_J_icon.png b/graphics/pokemon/icons/unown_J_icon.png deleted file mode 100644 index b85a45a71..000000000 Binary files a/graphics/pokemon/icons/unown_J_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/unown_K_icon.png b/graphics/pokemon/icons/unown_K_icon.png deleted file mode 100644 index 81bcb385e..000000000 Binary files a/graphics/pokemon/icons/unown_K_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/unown_L_icon.png b/graphics/pokemon/icons/unown_L_icon.png deleted file mode 100644 index 5f6fb9db8..000000000 Binary files a/graphics/pokemon/icons/unown_L_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/unown_M_icon.png b/graphics/pokemon/icons/unown_M_icon.png deleted file mode 100644 index c9b8d0fb4..000000000 Binary files a/graphics/pokemon/icons/unown_M_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/unown_N_icon.png b/graphics/pokemon/icons/unown_N_icon.png deleted file mode 100644 index b1e5c5abb..000000000 Binary files a/graphics/pokemon/icons/unown_N_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/unown_O_icon.png b/graphics/pokemon/icons/unown_O_icon.png deleted file mode 100644 index 14a88d062..000000000 Binary files a/graphics/pokemon/icons/unown_O_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/unown_P_icon.png b/graphics/pokemon/icons/unown_P_icon.png deleted file mode 100644 index 7a7afb8de..000000000 Binary files a/graphics/pokemon/icons/unown_P_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/unown_Q_icon.png b/graphics/pokemon/icons/unown_Q_icon.png deleted file mode 100644 index 2270f8373..000000000 Binary files a/graphics/pokemon/icons/unown_Q_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/unown_R_icon.png b/graphics/pokemon/icons/unown_R_icon.png deleted file mode 100644 index 6ba4d5764..000000000 Binary files a/graphics/pokemon/icons/unown_R_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/unown_S_icon.png b/graphics/pokemon/icons/unown_S_icon.png deleted file mode 100644 index 44f17718b..000000000 Binary files a/graphics/pokemon/icons/unown_S_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/unown_T_icon.png b/graphics/pokemon/icons/unown_T_icon.png deleted file mode 100644 index 9023b7366..000000000 Binary files a/graphics/pokemon/icons/unown_T_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/unown_U_icon.png b/graphics/pokemon/icons/unown_U_icon.png deleted file mode 100644 index 3d315ebf2..000000000 Binary files a/graphics/pokemon/icons/unown_U_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/unown_V_icon.png b/graphics/pokemon/icons/unown_V_icon.png deleted file mode 100644 index f973a3d85..000000000 Binary files a/graphics/pokemon/icons/unown_V_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/unown_W_icon.png b/graphics/pokemon/icons/unown_W_icon.png deleted file mode 100644 index aabb0663e..000000000 Binary files a/graphics/pokemon/icons/unown_W_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/unown_X_icon.png b/graphics/pokemon/icons/unown_X_icon.png deleted file mode 100644 index b5be9e10b..000000000 Binary files a/graphics/pokemon/icons/unown_X_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/unown_Y_icon.png b/graphics/pokemon/icons/unown_Y_icon.png deleted file mode 100644 index 8923810aa..000000000 Binary files a/graphics/pokemon/icons/unown_Y_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/unown_Z_icon.png b/graphics/pokemon/icons/unown_Z_icon.png deleted file mode 100644 index a14f73696..000000000 Binary files a/graphics/pokemon/icons/unown_Z_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/unown_a_icon.png b/graphics/pokemon/icons/unown_a_icon.png deleted file mode 100644 index cd9056ab2..000000000 Binary files a/graphics/pokemon/icons/unown_a_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/unown_exclamation_mark_icon.png b/graphics/pokemon/icons/unown_exclamation_mark_icon.png deleted file mode 100644 index beeea4ae1..000000000 Binary files a/graphics/pokemon/icons/unown_exclamation_mark_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/unown_question_mark_icon.png b/graphics/pokemon/icons/unown_question_mark_icon.png deleted file mode 100644 index a9bb50930..000000000 Binary files a/graphics/pokemon/icons/unown_question_mark_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/ursaring_icon.png b/graphics/pokemon/icons/ursaring_icon.png deleted file mode 100644 index 143353f31..000000000 Binary files a/graphics/pokemon/icons/ursaring_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/vaporeon_icon.png b/graphics/pokemon/icons/vaporeon_icon.png deleted file mode 100644 index d4003c2a8..000000000 Binary files a/graphics/pokemon/icons/vaporeon_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/venomoth_icon.png b/graphics/pokemon/icons/venomoth_icon.png deleted file mode 100644 index d77b6dce8..000000000 Binary files a/graphics/pokemon/icons/venomoth_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/venonat_icon.png b/graphics/pokemon/icons/venonat_icon.png deleted file mode 100644 index a2ed54b71..000000000 Binary files a/graphics/pokemon/icons/venonat_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/venusaur_icon.png b/graphics/pokemon/icons/venusaur_icon.png deleted file mode 100644 index fbd5380f5..000000000 Binary files a/graphics/pokemon/icons/venusaur_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/vibrava_icon.png b/graphics/pokemon/icons/vibrava_icon.png deleted file mode 100644 index 422ea2359..000000000 Binary files a/graphics/pokemon/icons/vibrava_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/victreebel_icon.png b/graphics/pokemon/icons/victreebel_icon.png deleted file mode 100644 index 49298177e..000000000 Binary files a/graphics/pokemon/icons/victreebel_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/vigoroth_icon.png b/graphics/pokemon/icons/vigoroth_icon.png deleted file mode 100644 index f8808cde3..000000000 Binary files a/graphics/pokemon/icons/vigoroth_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/vileplume_icon.png b/graphics/pokemon/icons/vileplume_icon.png deleted file mode 100644 index 7009048c5..000000000 Binary files a/graphics/pokemon/icons/vileplume_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/volbeat_icon.png b/graphics/pokemon/icons/volbeat_icon.png deleted file mode 100644 index 849715d33..000000000 Binary files a/graphics/pokemon/icons/volbeat_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/voltorb_icon.png b/graphics/pokemon/icons/voltorb_icon.png deleted file mode 100644 index 53d318fdb..000000000 Binary files a/graphics/pokemon/icons/voltorb_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/vulpix_icon.png b/graphics/pokemon/icons/vulpix_icon.png deleted file mode 100644 index d998362d1..000000000 Binary files a/graphics/pokemon/icons/vulpix_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/wailmer_icon.png b/graphics/pokemon/icons/wailmer_icon.png deleted file mode 100644 index 16ba6d4b9..000000000 Binary files a/graphics/pokemon/icons/wailmer_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/wailord_icon.png b/graphics/pokemon/icons/wailord_icon.png deleted file mode 100644 index f84a7ea70..000000000 Binary files a/graphics/pokemon/icons/wailord_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/walrein_icon.png b/graphics/pokemon/icons/walrein_icon.png deleted file mode 100644 index f98348a54..000000000 Binary files a/graphics/pokemon/icons/walrein_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/wartortle_icon.png b/graphics/pokemon/icons/wartortle_icon.png deleted file mode 100644 index 2cdfca2d9..000000000 Binary files a/graphics/pokemon/icons/wartortle_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/weedle_icon.png b/graphics/pokemon/icons/weedle_icon.png deleted file mode 100644 index 3a36001c6..000000000 Binary files a/graphics/pokemon/icons/weedle_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/weepinbell_icon.png b/graphics/pokemon/icons/weepinbell_icon.png deleted file mode 100644 index eda2fd29a..000000000 Binary files a/graphics/pokemon/icons/weepinbell_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/weezing_icon.png b/graphics/pokemon/icons/weezing_icon.png deleted file mode 100644 index 4ef2404a9..000000000 Binary files a/graphics/pokemon/icons/weezing_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/whiscash_icon.png b/graphics/pokemon/icons/whiscash_icon.png deleted file mode 100644 index dcd79a540..000000000 Binary files a/graphics/pokemon/icons/whiscash_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/whismur_icon.png b/graphics/pokemon/icons/whismur_icon.png deleted file mode 100644 index 573dfa531..000000000 Binary files a/graphics/pokemon/icons/whismur_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/wigglytuff_icon.png b/graphics/pokemon/icons/wigglytuff_icon.png deleted file mode 100644 index adb921150..000000000 Binary files a/graphics/pokemon/icons/wigglytuff_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/wingull_icon.png b/graphics/pokemon/icons/wingull_icon.png deleted file mode 100644 index 524ecda23..000000000 Binary files a/graphics/pokemon/icons/wingull_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/wobbuffet_icon.png b/graphics/pokemon/icons/wobbuffet_icon.png deleted file mode 100644 index 14cddd184..000000000 Binary files a/graphics/pokemon/icons/wobbuffet_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/wooper_icon.png b/graphics/pokemon/icons/wooper_icon.png deleted file mode 100644 index 26e617d33..000000000 Binary files a/graphics/pokemon/icons/wooper_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/wurmple_icon.png b/graphics/pokemon/icons/wurmple_icon.png deleted file mode 100644 index 52b46b490..000000000 Binary files a/graphics/pokemon/icons/wurmple_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/wynaut_icon.png b/graphics/pokemon/icons/wynaut_icon.png deleted file mode 100644 index cca26e1bb..000000000 Binary files a/graphics/pokemon/icons/wynaut_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/xatu_icon.png b/graphics/pokemon/icons/xatu_icon.png deleted file mode 100644 index a0e6d6fc9..000000000 Binary files a/graphics/pokemon/icons/xatu_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/yanma_icon.png b/graphics/pokemon/icons/yanma_icon.png deleted file mode 100644 index 336841a00..000000000 Binary files a/graphics/pokemon/icons/yanma_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/zangoose_icon.png b/graphics/pokemon/icons/zangoose_icon.png deleted file mode 100644 index e0485b0b0..000000000 Binary files a/graphics/pokemon/icons/zangoose_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/zapdos_icon.png b/graphics/pokemon/icons/zapdos_icon.png deleted file mode 100644 index 26fc73427..000000000 Binary files a/graphics/pokemon/icons/zapdos_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/zigzagoon_icon.png b/graphics/pokemon/icons/zigzagoon_icon.png deleted file mode 100644 index acd0ecc8c..000000000 Binary files a/graphics/pokemon/icons/zigzagoon_icon.png and /dev/null differ diff --git a/graphics/pokemon/icons/zubat_icon.png b/graphics/pokemon/icons/zubat_icon.png deleted file mode 100644 index 696c097e1..000000000 Binary files a/graphics/pokemon/icons/zubat_icon.png and /dev/null differ diff --git a/graphics/pokemon/igglybuff/back.png b/graphics/pokemon/igglybuff/back.png new file mode 100644 index 000000000..efc417ab5 Binary files /dev/null and b/graphics/pokemon/igglybuff/back.png differ diff --git a/graphics/pokemon/igglybuff/footprint.png b/graphics/pokemon/igglybuff/footprint.png new file mode 100644 index 000000000..bbb7352a6 Binary files /dev/null and b/graphics/pokemon/igglybuff/footprint.png differ diff --git a/graphics/pokemon/igglybuff/front.png b/graphics/pokemon/igglybuff/front.png new file mode 100644 index 000000000..b232daaac Binary files /dev/null and b/graphics/pokemon/igglybuff/front.png differ diff --git a/graphics/pokemon/igglybuff/icon.png b/graphics/pokemon/igglybuff/icon.png new file mode 100644 index 000000000..55d1a9eb1 Binary files /dev/null and b/graphics/pokemon/igglybuff/icon.png differ diff --git a/graphics/pokemon/igglybuff/normal.pal b/graphics/pokemon/igglybuff/normal.pal new file mode 100644 index 000000000..9b5beb079 --- /dev/null +++ b/graphics/pokemon/igglybuff/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 205 156 +255 148 115 +222 115 65 +197 74 0 +148 32 16 +255 230 180 +255 0 255 +205 0 0 +156 0 0 +205 0 0 +156 0 0 +98 0 0 +106 106 106 +16 16 16 diff --git a/graphics/pokemon/igglybuff/shiny.pal b/graphics/pokemon/igglybuff/shiny.pal new file mode 100644 index 000000000..fd1f6fbf8 --- /dev/null +++ b/graphics/pokemon/igglybuff/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 213 238 +246 172 197 +222 115 139 +180 57 90 +156 24 49 +255 238 238 +255 0 255 +205 0 0 +156 0 0 +90 197 24 +74 172 24 +41 82 0 +106 106 106 +16 16 16 diff --git a/graphics/pokemon/illumise/back.png b/graphics/pokemon/illumise/back.png new file mode 100644 index 000000000..a06de56a1 Binary files /dev/null and b/graphics/pokemon/illumise/back.png differ diff --git a/graphics/pokemon/illumise/footprint.png b/graphics/pokemon/illumise/footprint.png new file mode 100644 index 000000000..451d532b2 Binary files /dev/null and b/graphics/pokemon/illumise/footprint.png differ diff --git a/graphics/pokemon/illumise/front.png b/graphics/pokemon/illumise/front.png new file mode 100644 index 000000000..14513aee6 Binary files /dev/null and b/graphics/pokemon/illumise/front.png differ diff --git a/graphics/pokemon/illumise/icon.png b/graphics/pokemon/illumise/icon.png new file mode 100644 index 000000000..ac812de37 Binary files /dev/null and b/graphics/pokemon/illumise/icon.png differ diff --git a/graphics/pokemon/illumise/normal.pal b/graphics/pokemon/illumise/normal.pal new file mode 100644 index 000000000..63c55bbc0 --- /dev/null +++ b/graphics/pokemon/illumise/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +0 90 213 +123 123 123 +74 74 74 +0 0 0 +205 139 222 +180 98 205 +139 82 156 +49 41 49 +255 230 115 +230 180 74 +156 131 82 +172 197 238 +139 172 205 +90 106 139 +255 255 255 diff --git a/graphics/pokemon/illumise/shiny.pal b/graphics/pokemon/illumise/shiny.pal new file mode 100644 index 000000000..78bdbdc22 --- /dev/null +++ b/graphics/pokemon/illumise/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +0 90 213 +123 123 123 +74 74 74 +0 0 0 +255 230 115 +230 180 74 +189 139 82 +49 41 49 +255 148 82 +222 90 32 +164 49 32 +131 205 255 +90 172 230 +32 115 189 +255 255 255 diff --git a/graphics/pokemon/ivysaur/back.png b/graphics/pokemon/ivysaur/back.png new file mode 100644 index 000000000..2a979d70c Binary files /dev/null and b/graphics/pokemon/ivysaur/back.png differ diff --git a/graphics/pokemon/ivysaur/footprint.png b/graphics/pokemon/ivysaur/footprint.png new file mode 100644 index 000000000..29206b935 Binary files /dev/null and b/graphics/pokemon/ivysaur/footprint.png differ diff --git a/graphics/pokemon/ivysaur/front.png b/graphics/pokemon/ivysaur/front.png new file mode 100644 index 000000000..659c29fc5 Binary files /dev/null and b/graphics/pokemon/ivysaur/front.png differ diff --git a/graphics/pokemon/ivysaur/icon.png b/graphics/pokemon/ivysaur/icon.png new file mode 100644 index 000000000..2f1627506 Binary files /dev/null and b/graphics/pokemon/ivysaur/icon.png differ diff --git a/graphics/pokemon/ivysaur/normal.pal b/graphics/pokemon/ivysaur/normal.pal new file mode 100644 index 000000000..82c2ec525 --- /dev/null +++ b/graphics/pokemon/ivysaur/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +98 139 49 +255 189 180 +255 123 123 +213 90 139 +139 230 222 +123 205 189 +131 230 90 +115 189 41 +82 139 148 +16 16 16 +24 90 82 +205 123 57 +139 90 57 +189 41 65 diff --git a/graphics/pokemon/ivysaur/shiny.pal b/graphics/pokemon/ivysaur/shiny.pal new file mode 100644 index 000000000..75baf6a46 --- /dev/null +++ b/graphics/pokemon/ivysaur/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +90 139 49 +255 255 82 +255 222 8 +222 180 0 +205 238 65 +164 213 49 +123 222 32 +82 180 0 +123 172 8 +16 16 16 +74 90 24 +222 139 65 +180 131 16 +139 115 16 diff --git a/graphics/pokemon/jigglypuff/back.png b/graphics/pokemon/jigglypuff/back.png new file mode 100644 index 000000000..8055a79b0 Binary files /dev/null and b/graphics/pokemon/jigglypuff/back.png differ diff --git a/graphics/pokemon/jigglypuff/footprint.png b/graphics/pokemon/jigglypuff/footprint.png new file mode 100644 index 000000000..59b5f1171 Binary files /dev/null and b/graphics/pokemon/jigglypuff/footprint.png differ diff --git a/graphics/pokemon/jigglypuff/front.png b/graphics/pokemon/jigglypuff/front.png new file mode 100644 index 000000000..1699d2e83 Binary files /dev/null and b/graphics/pokemon/jigglypuff/front.png differ diff --git a/graphics/pokemon/jigglypuff/icon.png b/graphics/pokemon/jigglypuff/icon.png new file mode 100644 index 000000000..4c5a33cb8 Binary files /dev/null and b/graphics/pokemon/jigglypuff/icon.png differ diff --git a/graphics/pokemon/jigglypuff/normal.pal b/graphics/pokemon/jigglypuff/normal.pal new file mode 100644 index 000000000..8f97b28b9 --- /dev/null +++ b/graphics/pokemon/jigglypuff/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 255 255 +205 189 255 +148 131 255 +115 98 222 +65 49 156 +156 106 32 +115 65 24 +230 230 230 +164 49 0 +213 57 49 +16 16 16 +255 205 197 +255 172 164 +230 115 115 +164 74 74 diff --git a/graphics/pokemon/jigglypuff/shiny.pal b/graphics/pokemon/jigglypuff/shiny.pal new file mode 100644 index 000000000..c6c39e2dd --- /dev/null +++ b/graphics/pokemon/jigglypuff/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 255 255 +164 230 148 +98 230 131 +90 197 106 +57 156 65 +156 106 32 +115 65 24 +230 230 230 +164 49 0 +213 57 49 +16 16 16 +255 222 238 +246 189 230 +222 156 189 +131 82 106 diff --git a/graphics/pokemon/jirachi/back.png b/graphics/pokemon/jirachi/back.png new file mode 100644 index 000000000..4fa283e0d Binary files /dev/null and b/graphics/pokemon/jirachi/back.png differ diff --git a/graphics/pokemon/jirachi/footprint.png b/graphics/pokemon/jirachi/footprint.png new file mode 100644 index 000000000..856bb5faa Binary files /dev/null and b/graphics/pokemon/jirachi/footprint.png differ diff --git a/graphics/pokemon/jirachi/front.png b/graphics/pokemon/jirachi/front.png new file mode 100644 index 000000000..91f5e3fad Binary files /dev/null and b/graphics/pokemon/jirachi/front.png differ diff --git a/graphics/pokemon/jirachi/icon.png b/graphics/pokemon/jirachi/icon.png new file mode 100644 index 000000000..15df4559b Binary files /dev/null and b/graphics/pokemon/jirachi/icon.png differ diff --git a/graphics/pokemon/jirachi/normal.pal b/graphics/pokemon/jirachi/normal.pal new file mode 100644 index 000000000..ba0b7a6b1 --- /dev/null +++ b/graphics/pokemon/jirachi/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +205 213 222 +156 164 172 +41 65 115 +230 238 246 +82 115 255 +131 164 255 +106 115 115 +197 0 0 +238 82 82 +180 139 49 +230 197 82 +255 230 90 +255 246 148 +255 255 255 +0 0 0 diff --git a/graphics/pokemon/jirachi/shiny.pal b/graphics/pokemon/jirachi/shiny.pal new file mode 100644 index 000000000..219b9ac57 --- /dev/null +++ b/graphics/pokemon/jirachi/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +255 180 164 +156 164 172 +41 65 115 +255 230 230 +230 74 49 +255 123 106 +123 98 90 +197 0 0 +238 82 82 +180 139 49 +230 197 82 +255 230 90 +255 246 148 +255 255 255 +0 0 0 diff --git a/graphics/pokemon/jolteon/back.png b/graphics/pokemon/jolteon/back.png new file mode 100644 index 000000000..004131600 Binary files /dev/null and b/graphics/pokemon/jolteon/back.png differ diff --git a/graphics/pokemon/jolteon/footprint.png b/graphics/pokemon/jolteon/footprint.png new file mode 100644 index 000000000..d1e9477b3 Binary files /dev/null and b/graphics/pokemon/jolteon/footprint.png differ diff --git a/graphics/pokemon/jolteon/front.png b/graphics/pokemon/jolteon/front.png new file mode 100644 index 000000000..be21a9d9e Binary files /dev/null and b/graphics/pokemon/jolteon/front.png differ diff --git a/graphics/pokemon/jolteon/icon.png b/graphics/pokemon/jolteon/icon.png new file mode 100644 index 000000000..b98fd78b2 Binary files /dev/null and b/graphics/pokemon/jolteon/icon.png differ diff --git a/graphics/pokemon/jolteon/normal.pal b/graphics/pokemon/jolteon/normal.pal new file mode 100644 index 000000000..c4f6d9021 --- /dev/null +++ b/graphics/pokemon/jolteon/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +246 238 115 +255 222 49 +213 189 49 +156 139 57 +106 82 32 +255 0 255 +189 49 49 +106 0 0 +255 0 255 +255 0 255 +222 230 222 +139 148 164 +98 98 98 +41 41 41 +255 255 255 diff --git a/graphics/pokemon/jolteon/shiny.pal b/graphics/pokemon/jolteon/shiny.pal new file mode 100644 index 000000000..ece1425c3 --- /dev/null +++ b/graphics/pokemon/jolteon/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +222 255 131 +197 238 32 +156 197 0 +123 164 0 +74 115 0 +255 0 255 +189 49 49 +106 0 0 +255 0 255 +255 0 255 +222 222 230 +139 148 164 +98 98 98 +41 41 41 +255 255 255 diff --git a/graphics/pokemon/jumpluff/back.png b/graphics/pokemon/jumpluff/back.png new file mode 100644 index 000000000..1f822f850 Binary files /dev/null and b/graphics/pokemon/jumpluff/back.png differ diff --git a/graphics/pokemon/jumpluff/footprint.png b/graphics/pokemon/jumpluff/footprint.png new file mode 100644 index 000000000..9cd0f5938 Binary files /dev/null and b/graphics/pokemon/jumpluff/footprint.png differ diff --git a/graphics/pokemon/jumpluff/front.png b/graphics/pokemon/jumpluff/front.png new file mode 100644 index 000000000..6b7cbaf61 Binary files /dev/null and b/graphics/pokemon/jumpluff/front.png differ diff --git a/graphics/pokemon/jumpluff/icon.png b/graphics/pokemon/jumpluff/icon.png new file mode 100644 index 000000000..bf0cb64de Binary files /dev/null and b/graphics/pokemon/jumpluff/icon.png differ diff --git a/graphics/pokemon/jumpluff/normal.pal b/graphics/pokemon/jumpluff/normal.pal new file mode 100644 index 000000000..422184976 --- /dev/null +++ b/graphics/pokemon/jumpluff/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +98 65 8 +123 164 255 +90 131 213 +65 106 197 +57 82 148 +16 16 16 +255 255 222 +246 238 180 +238 222 148 +205 189 115 +156 139 82 +255 139 41 +213 65 0 +65 230 57 +49 156 49 diff --git a/graphics/pokemon/jumpluff/shiny.pal b/graphics/pokemon/jumpluff/shiny.pal new file mode 100644 index 000000000..4885690b6 --- /dev/null +++ b/graphics/pokemon/jumpluff/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +115 57 98 +255 205 172 +246 164 164 +222 123 156 +164 74 106 +16 16 16 +255 238 246 +246 213 238 +222 172 213 +205 139 172 +164 98 164 +255 139 41 +213 65 0 +65 230 57 +49 156 49 diff --git a/graphics/pokemon/jynx/back.png b/graphics/pokemon/jynx/back.png new file mode 100644 index 000000000..4b6d97bed Binary files /dev/null and b/graphics/pokemon/jynx/back.png differ diff --git a/graphics/pokemon/jynx/footprint.png b/graphics/pokemon/jynx/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/jynx/footprint.png differ diff --git a/graphics/pokemon/jynx/front.png b/graphics/pokemon/jynx/front.png new file mode 100644 index 000000000..7af4ac93e Binary files /dev/null and b/graphics/pokemon/jynx/front.png differ diff --git a/graphics/pokemon/jynx/icon.png b/graphics/pokemon/jynx/icon.png new file mode 100644 index 000000000..be6522806 Binary files /dev/null and b/graphics/pokemon/jynx/icon.png differ diff --git a/graphics/pokemon/jynx/normal.pal b/graphics/pokemon/jynx/normal.pal new file mode 100644 index 000000000..71a25303e --- /dev/null +++ b/graphics/pokemon/jynx/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +213 213 213 +98 98 115 +213 139 238 +172 106 197 +148 74 172 +255 164 156 +238 65 65 +180 74 74 +106 8 0 +255 246 172 +255 238 82 +213 197 57 +123 106 24 +0 0 0 +255 255 255 diff --git a/graphics/pokemon/jynx/shiny.pal b/graphics/pokemon/jynx/shiny.pal new file mode 100644 index 000000000..b6838c13d --- /dev/null +++ b/graphics/pokemon/jynx/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +213 213 213 +98 98 115 +213 139 238 +172 106 197 +148 74 172 +255 172 230 +255 131 189 +213 90 148 +148 24 82 +255 230 222 +213 189 180 +172 148 139 +115 90 82 +0 0 0 +255 255 255 diff --git a/graphics/pokemon/kabuto/back.png b/graphics/pokemon/kabuto/back.png new file mode 100644 index 000000000..9664ead41 Binary files /dev/null and b/graphics/pokemon/kabuto/back.png differ diff --git a/graphics/pokemon/kabuto/footprint.png b/graphics/pokemon/kabuto/footprint.png new file mode 100644 index 000000000..6965dbe60 Binary files /dev/null and b/graphics/pokemon/kabuto/footprint.png differ diff --git a/graphics/pokemon/kabuto/front.png b/graphics/pokemon/kabuto/front.png new file mode 100644 index 000000000..76fd39d3d Binary files /dev/null and b/graphics/pokemon/kabuto/front.png differ diff --git a/graphics/pokemon/kabuto/icon.png b/graphics/pokemon/kabuto/icon.png new file mode 100644 index 000000000..c0a140722 Binary files /dev/null and b/graphics/pokemon/kabuto/icon.png differ diff --git a/graphics/pokemon/kabuto/normal.pal b/graphics/pokemon/kabuto/normal.pal new file mode 100644 index 000000000..4264dd8a3 --- /dev/null +++ b/graphics/pokemon/kabuto/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 205 +255 255 255 +180 180 180 +255 197 197 +238 74 65 +255 0 255 +255 255 139 +255 213 49 +222 180 41 +164 106 0 +255 0 255 +230 172 65 +189 139 41 +156 98 24 +106 57 8 +16 16 16 diff --git a/graphics/pokemon/kabuto/shiny.pal b/graphics/pokemon/kabuto/shiny.pal new file mode 100644 index 000000000..8e3eaad12 --- /dev/null +++ b/graphics/pokemon/kabuto/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 205 +255 255 255 +180 180 180 +255 172 164 +238 74 65 +255 0 255 +255 255 139 +255 213 49 +238 180 32 +164 106 0 +255 0 255 +180 230 74 +156 205 57 +115 164 32 +82 123 16 +16 16 16 diff --git a/graphics/pokemon/kabutops/back.png b/graphics/pokemon/kabutops/back.png new file mode 100644 index 000000000..e1aab4de2 Binary files /dev/null and b/graphics/pokemon/kabutops/back.png differ diff --git a/graphics/pokemon/kabutops/footprint.png b/graphics/pokemon/kabutops/footprint.png new file mode 100644 index 000000000..127b741d8 Binary files /dev/null and b/graphics/pokemon/kabutops/footprint.png differ diff --git a/graphics/pokemon/kabutops/front.png b/graphics/pokemon/kabutops/front.png new file mode 100644 index 000000000..6f47c841e Binary files /dev/null and b/graphics/pokemon/kabutops/front.png differ diff --git a/graphics/pokemon/kabutops/icon.png b/graphics/pokemon/kabutops/icon.png new file mode 100644 index 000000000..1c23836e5 Binary files /dev/null and b/graphics/pokemon/kabutops/icon.png differ diff --git a/graphics/pokemon/kabutops/normal.pal b/graphics/pokemon/kabutops/normal.pal new file mode 100644 index 000000000..0aa390135 --- /dev/null +++ b/graphics/pokemon/kabutops/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +230 222 197 +189 189 180 +156 156 148 +106 106 106 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +246 222 148 +222 189 115 +172 148 90 +90 74 24 +16 16 16 diff --git a/graphics/pokemon/kabutops/shiny.pal b/graphics/pokemon/kabutops/shiny.pal new file mode 100644 index 000000000..9217ab55d --- /dev/null +++ b/graphics/pokemon/kabutops/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +222 222 213 +189 189 180 +156 156 148 +106 106 106 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +222 255 90 +189 222 74 +148 180 41 +82 115 0 +16 16 16 diff --git a/graphics/pokemon/kadabra/back.png b/graphics/pokemon/kadabra/back.png new file mode 100644 index 000000000..a219404c7 Binary files /dev/null and b/graphics/pokemon/kadabra/back.png differ diff --git a/graphics/pokemon/kadabra/footprint.png b/graphics/pokemon/kadabra/footprint.png new file mode 100644 index 000000000..a699f2987 Binary files /dev/null and b/graphics/pokemon/kadabra/footprint.png differ diff --git a/graphics/pokemon/kadabra/front.png b/graphics/pokemon/kadabra/front.png new file mode 100644 index 000000000..72645d55c Binary files /dev/null and b/graphics/pokemon/kadabra/front.png differ diff --git a/graphics/pokemon/kadabra/icon.png b/graphics/pokemon/kadabra/icon.png new file mode 100644 index 000000000..8653f7524 Binary files /dev/null and b/graphics/pokemon/kadabra/icon.png differ diff --git a/graphics/pokemon/kadabra/normal.pal b/graphics/pokemon/kadabra/normal.pal new file mode 100644 index 000000000..aedab9d53 --- /dev/null +++ b/graphics/pokemon/kadabra/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 255 +90 90 90 +246 139 139 +230 57 41 +213 180 82 +172 131 41 +139 82 16 +106 65 8 +222 222 222 +180 180 180 +255 255 189 +255 238 41 +222 189 16 +131 106 16 +16 16 16 diff --git a/graphics/pokemon/kadabra/shiny.pal b/graphics/pokemon/kadabra/shiny.pal new file mode 100644 index 000000000..f19dbf469 --- /dev/null +++ b/graphics/pokemon/kadabra/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +106 205 148 +255 255 255 +90 90 90 +246 139 139 +246 65 49 +230 164 180 +205 123 172 +156 82 115 +90 49 49 +222 222 222 +180 180 180 +255 255 197 +255 238 139 +246 189 82 +123 98 0 +16 16 16 diff --git a/graphics/pokemon/kakuna/back.png b/graphics/pokemon/kakuna/back.png new file mode 100644 index 000000000..2f5455238 Binary files /dev/null and b/graphics/pokemon/kakuna/back.png differ diff --git a/graphics/pokemon/kakuna/footprint.png b/graphics/pokemon/kakuna/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/kakuna/footprint.png differ diff --git a/graphics/pokemon/kakuna/front.png b/graphics/pokemon/kakuna/front.png new file mode 100644 index 000000000..393c3b407 Binary files /dev/null and b/graphics/pokemon/kakuna/front.png differ diff --git a/graphics/pokemon/kakuna/icon.png b/graphics/pokemon/kakuna/icon.png new file mode 100644 index 000000000..1c857d442 Binary files /dev/null and b/graphics/pokemon/kakuna/icon.png differ diff --git a/graphics/pokemon/kakuna/normal.pal b/graphics/pokemon/kakuna/normal.pal new file mode 100644 index 000000000..fe51d0fbf --- /dev/null +++ b/graphics/pokemon/kakuna/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +255 230 156 +246 222 90 +205 189 82 +164 139 24 +139 123 0 +255 0 255 +255 0 255 +255 0 255 +115 115 115 +57 57 57 +16 16 16 +255 0 255 +255 0 255 +255 0 255 diff --git a/graphics/pokemon/kakuna/shiny.pal b/graphics/pokemon/kakuna/shiny.pal new file mode 100644 index 000000000..0a45b029a --- /dev/null +++ b/graphics/pokemon/kakuna/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +222 238 90 +197 230 49 +156 189 8 +115 148 0 +74 106 0 +255 0 255 +255 0 255 +255 0 255 +106 106 106 +57 57 57 +16 16 16 +255 0 255 +255 0 255 +255 0 255 diff --git a/graphics/pokemon/kangaskhan/back.png b/graphics/pokemon/kangaskhan/back.png new file mode 100644 index 000000000..babb41fce Binary files /dev/null and b/graphics/pokemon/kangaskhan/back.png differ diff --git a/graphics/pokemon/kangaskhan/footprint.png b/graphics/pokemon/kangaskhan/footprint.png new file mode 100644 index 000000000..7753a4a71 Binary files /dev/null and b/graphics/pokemon/kangaskhan/footprint.png differ diff --git a/graphics/pokemon/kangaskhan/front.png b/graphics/pokemon/kangaskhan/front.png new file mode 100644 index 000000000..fd513941b Binary files /dev/null and b/graphics/pokemon/kangaskhan/front.png differ diff --git a/graphics/pokemon/kangaskhan/icon.png b/graphics/pokemon/kangaskhan/icon.png new file mode 100644 index 000000000..177a688cd Binary files /dev/null and b/graphics/pokemon/kangaskhan/icon.png differ diff --git a/graphics/pokemon/kangaskhan/normal.pal b/graphics/pokemon/kangaskhan/normal.pal new file mode 100644 index 000000000..ff63a7ac3 --- /dev/null +++ b/graphics/pokemon/kangaskhan/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +213 213 213 +255 246 139 +222 213 106 +189 24 24 +16 16 16 +222 180 213 +164 115 156 +180 189 131 +139 148 98 +106 106 82 +213 189 131 +189 164 106 +156 115 90 +82 65 16 diff --git a/graphics/pokemon/kangaskhan/shiny.pal b/graphics/pokemon/kangaskhan/shiny.pal new file mode 100644 index 000000000..b2405925f --- /dev/null +++ b/graphics/pokemon/kangaskhan/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +213 213 213 +255 255 148 +238 205 106 +189 24 24 +16 16 16 +238 205 180 +189 156 139 +139 156 82 +98 115 41 +57 74 0 +238 222 180 +213 205 156 +172 164 115 +98 90 49 diff --git a/graphics/pokemon/kecleon/back.png b/graphics/pokemon/kecleon/back.png new file mode 100644 index 000000000..1baeeb58a Binary files /dev/null and b/graphics/pokemon/kecleon/back.png differ diff --git a/graphics/pokemon/kecleon/footprint.png b/graphics/pokemon/kecleon/footprint.png new file mode 100644 index 000000000..3c6968437 Binary files /dev/null and b/graphics/pokemon/kecleon/footprint.png differ diff --git a/graphics/pokemon/kecleon/front.png b/graphics/pokemon/kecleon/front.png new file mode 100644 index 000000000..e57431a06 Binary files /dev/null and b/graphics/pokemon/kecleon/front.png differ diff --git a/graphics/pokemon/kecleon/icon.png b/graphics/pokemon/kecleon/icon.png new file mode 100644 index 000000000..98b108fd9 Binary files /dev/null and b/graphics/pokemon/kecleon/icon.png differ diff --git a/graphics/pokemon/kecleon/normal.pal b/graphics/pokemon/kecleon/normal.pal new file mode 100644 index 000000000..36d6be7d7 --- /dev/null +++ b/graphics/pokemon/kecleon/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +156 255 255 +65 98 65 +82 139 90 +98 180 131 +123 213 139 +164 238 156 +255 255 255 +139 74 57 +189 90 65 +238 106 74 +197 172 74 +222 197 90 +246 238 123 +139 123 90 +172 197 123 +0 0 0 diff --git a/graphics/pokemon/kecleon/shiny.pal b/graphics/pokemon/kecleon/shiny.pal new file mode 100644 index 000000000..e056b670f --- /dev/null +++ b/graphics/pokemon/kecleon/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +156 255 255 +65 98 65 +82 139 90 +98 180 131 +123 213 139 +164 238 156 +255 255 255 +49 131 197 +90 172 230 +123 197 255 +238 156 74 +255 180 74 +255 255 180 +139 123 90 +172 197 123 +0 0 0 diff --git a/graphics/pokemon/kingdra/back.png b/graphics/pokemon/kingdra/back.png new file mode 100644 index 000000000..3e6ec7789 Binary files /dev/null and b/graphics/pokemon/kingdra/back.png differ diff --git a/graphics/pokemon/kingdra/footprint.png b/graphics/pokemon/kingdra/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/kingdra/footprint.png differ diff --git a/graphics/pokemon/kingdra/front.png b/graphics/pokemon/kingdra/front.png new file mode 100644 index 000000000..86fecb914 Binary files /dev/null and b/graphics/pokemon/kingdra/front.png differ diff --git a/graphics/pokemon/kingdra/icon.png b/graphics/pokemon/kingdra/icon.png new file mode 100644 index 000000000..c0fb5484a Binary files /dev/null and b/graphics/pokemon/kingdra/icon.png differ diff --git a/graphics/pokemon/kingdra/normal.pal b/graphics/pokemon/kingdra/normal.pal new file mode 100644 index 000000000..9dcb7ab85 --- /dev/null +++ b/graphics/pokemon/kingdra/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +189 222 246 +156 189 246 +74 156 189 +74 74 131 +255 0 255 +246 106 82 +189 57 49 +255 255 156 +246 230 74 +230 172 57 +172 106 0 +213 213 213 +123 123 123 +16 16 16 diff --git a/graphics/pokemon/kingdra/shiny.pal b/graphics/pokemon/kingdra/shiny.pal new file mode 100644 index 000000000..c45869283 --- /dev/null +++ b/graphics/pokemon/kingdra/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +238 197 238 +213 172 230 +156 115 180 +106 65 123 +255 0 255 +131 205 24 +82 156 24 +255 255 156 +246 230 74 +230 172 57 +172 106 0 +213 213 213 +123 123 123 +16 16 16 diff --git a/graphics/pokemon/kingler/back.png b/graphics/pokemon/kingler/back.png new file mode 100644 index 000000000..11338630f Binary files /dev/null and b/graphics/pokemon/kingler/back.png differ diff --git a/graphics/pokemon/kingler/footprint.png b/graphics/pokemon/kingler/footprint.png new file mode 100644 index 000000000..b75db30dc Binary files /dev/null and b/graphics/pokemon/kingler/footprint.png differ diff --git a/graphics/pokemon/kingler/front.png b/graphics/pokemon/kingler/front.png new file mode 100644 index 000000000..596f37d97 Binary files /dev/null and b/graphics/pokemon/kingler/front.png differ diff --git a/graphics/pokemon/kingler/icon.png b/graphics/pokemon/kingler/icon.png new file mode 100644 index 000000000..dbf1af284 Binary files /dev/null and b/graphics/pokemon/kingler/icon.png differ diff --git a/graphics/pokemon/kingler/normal.pal b/graphics/pokemon/kingler/normal.pal new file mode 100644 index 000000000..ef05864d1 --- /dev/null +++ b/graphics/pokemon/kingler/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +255 156 98 +238 106 41 +180 98 57 +139 49 32 +246 213 156 +230 189 139 +189 139 82 +98 74 16 +213 164 106 +255 16 255 +255 16 255 +255 16 255 +222 222 246 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/kingler/shiny.pal b/graphics/pokemon/kingler/shiny.pal new file mode 100644 index 000000000..faa3b01af --- /dev/null +++ b/graphics/pokemon/kingler/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +180 189 123 +139 148 82 +98 106 41 +57 65 41 +222 230 65 +197 189 32 +156 148 0 +115 106 0 +180 164 16 +255 16 255 +255 16 255 +255 16 255 +222 222 246 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/kirlia/back.png b/graphics/pokemon/kirlia/back.png new file mode 100644 index 000000000..5820cd068 Binary files /dev/null and b/graphics/pokemon/kirlia/back.png differ diff --git a/graphics/pokemon/kirlia/footprint.png b/graphics/pokemon/kirlia/footprint.png new file mode 100644 index 000000000..c1c0058e7 Binary files /dev/null and b/graphics/pokemon/kirlia/footprint.png differ diff --git a/graphics/pokemon/kirlia/front.png b/graphics/pokemon/kirlia/front.png new file mode 100644 index 000000000..84acc1494 Binary files /dev/null and b/graphics/pokemon/kirlia/front.png differ diff --git a/graphics/pokemon/kirlia/icon.png b/graphics/pokemon/kirlia/icon.png new file mode 100644 index 000000000..b99dfee25 Binary files /dev/null and b/graphics/pokemon/kirlia/icon.png differ diff --git a/graphics/pokemon/kirlia/normal.pal b/graphics/pokemon/kirlia/normal.pal new file mode 100644 index 000000000..91b428af2 --- /dev/null +++ b/graphics/pokemon/kirlia/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +156 164 82 +238 238 255 +197 205 222 +164 180 205 +131 148 180 +123 82 82 +115 41 57 +255 156 131 +230 82 57 +106 123 148 +255 255 255 +205 255 172 +148 230 148 +115 189 115 +49 123 74 +16 16 16 diff --git a/graphics/pokemon/kirlia/shiny.pal b/graphics/pokemon/kirlia/shiny.pal new file mode 100644 index 000000000..ff944e551 --- /dev/null +++ b/graphics/pokemon/kirlia/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +156 164 82 +238 238 255 +213 189 222 +180 164 205 +156 131 180 +123 82 82 +115 41 57 +255 197 90 +230 131 32 +106 123 148 +197 238 246 +189 230 255 +123 197 238 +82 172 213 +32 115 123 +16 16 16 diff --git a/graphics/pokemon/koffing/back.png b/graphics/pokemon/koffing/back.png new file mode 100644 index 000000000..a76b27fae Binary files /dev/null and b/graphics/pokemon/koffing/back.png differ diff --git a/graphics/pokemon/koffing/footprint.png b/graphics/pokemon/koffing/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/koffing/footprint.png differ diff --git a/graphics/pokemon/koffing/front.png b/graphics/pokemon/koffing/front.png new file mode 100644 index 000000000..d3bd02eb7 Binary files /dev/null and b/graphics/pokemon/koffing/front.png differ diff --git a/graphics/pokemon/koffing/icon.png b/graphics/pokemon/koffing/icon.png new file mode 100644 index 000000000..683df2b85 Binary files /dev/null and b/graphics/pokemon/koffing/icon.png differ diff --git a/graphics/pokemon/koffing/normal.pal b/graphics/pokemon/koffing/normal.pal new file mode 100644 index 000000000..4565aa527 --- /dev/null +++ b/graphics/pokemon/koffing/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +164 205 197 +255 255 255 +222 222 222 +246 238 148 +213 205 106 +238 65 65 +197 24 32 +255 0 255 +255 0 255 +238 213 106 +197 180 41 +222 139 213 +189 123 180 +156 82 148 +106 49 98 +16 16 16 diff --git a/graphics/pokemon/koffing/shiny.pal b/graphics/pokemon/koffing/shiny.pal new file mode 100644 index 000000000..164cdfb0b --- /dev/null +++ b/graphics/pokemon/koffing/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 205 +255 255 255 +222 222 222 +246 238 148 +213 205 106 +255 98 74 +213 57 32 +255 0 255 +255 0 255 +205 139 164 +148 82 123 +164 222 205 +148 189 189 +106 148 148 +41 82 82 +16 16 16 diff --git a/graphics/pokemon/krabby/back.png b/graphics/pokemon/krabby/back.png new file mode 100644 index 000000000..d0501e77a Binary files /dev/null and b/graphics/pokemon/krabby/back.png differ diff --git a/graphics/pokemon/krabby/footprint.png b/graphics/pokemon/krabby/footprint.png new file mode 100644 index 000000000..eae28fe5e Binary files /dev/null and b/graphics/pokemon/krabby/footprint.png differ diff --git a/graphics/pokemon/krabby/front.png b/graphics/pokemon/krabby/front.png new file mode 100644 index 000000000..9db2178be Binary files /dev/null and b/graphics/pokemon/krabby/front.png differ diff --git a/graphics/pokemon/krabby/icon.png b/graphics/pokemon/krabby/icon.png new file mode 100644 index 000000000..f9fdaa6d5 Binary files /dev/null and b/graphics/pokemon/krabby/icon.png differ diff --git a/graphics/pokemon/krabby/normal.pal b/graphics/pokemon/krabby/normal.pal new file mode 100644 index 000000000..e54552ad9 --- /dev/null +++ b/graphics/pokemon/krabby/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 197 +255 255 255 +222 222 222 +255 0 255 +238 205 148 +230 189 123 +180 148 65 +115 82 16 +255 0 255 +255 0 255 +255 0 255 +255 156 115 +238 82 32 +189 82 24 +139 32 24 +16 16 16 diff --git a/graphics/pokemon/krabby/shiny.pal b/graphics/pokemon/krabby/shiny.pal new file mode 100644 index 000000000..d1318f36c --- /dev/null +++ b/graphics/pokemon/krabby/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 197 +255 255 255 +222 222 222 +255 0 255 +255 246 205 +222 205 164 +180 164 123 +115 98 57 +255 0 255 +255 0 255 +255 0 255 +255 222 74 +213 180 32 +172 139 0 +131 98 0 +16 16 16 diff --git a/graphics/pokemon/kyogre/back.png b/graphics/pokemon/kyogre/back.png new file mode 100644 index 000000000..d0c4f55c1 Binary files /dev/null and b/graphics/pokemon/kyogre/back.png differ diff --git a/graphics/pokemon/kyogre/footprint.png b/graphics/pokemon/kyogre/footprint.png new file mode 100644 index 000000000..8d58ee462 Binary files /dev/null and b/graphics/pokemon/kyogre/footprint.png differ diff --git a/graphics/pokemon/kyogre/front.png b/graphics/pokemon/kyogre/front.png new file mode 100644 index 000000000..3b4b8e093 Binary files /dev/null and b/graphics/pokemon/kyogre/front.png differ diff --git a/graphics/pokemon/kyogre/icon.png b/graphics/pokemon/kyogre/icon.png new file mode 100644 index 000000000..544ed9daf Binary files /dev/null and b/graphics/pokemon/kyogre/icon.png differ diff --git a/graphics/pokemon/kyogre/normal.pal b/graphics/pokemon/kyogre/normal.pal new file mode 100644 index 000000000..d598595cb --- /dev/null +++ b/graphics/pokemon/kyogre/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +255 205 49 +205 189 205 +156 139 148 +90 82 106 +41 82 148 +115 41 57 +255 8 16 +189 32 41 +131 205 255 +222 222 222 +90 164 255 +74 131 213 +57 98 180 +49 57 115 +16 16 16 diff --git a/graphics/pokemon/kyogre/shiny.pal b/graphics/pokemon/kyogre/shiny.pal new file mode 100644 index 000000000..392162401 --- /dev/null +++ b/graphics/pokemon/kyogre/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +255 205 49 +222 205 222 +156 139 148 +90 82 106 +164 24 156 +115 41 57 +255 8 16 +189 32 41 +255 156 255 +246 246 246 +255 123 255 +230 90 222 +197 57 189 +131 0 123 +16 16 16 diff --git a/graphics/pokemon/lairon/back.png b/graphics/pokemon/lairon/back.png new file mode 100644 index 000000000..552c01356 Binary files /dev/null and b/graphics/pokemon/lairon/back.png differ diff --git a/graphics/pokemon/lairon/footprint.png b/graphics/pokemon/lairon/footprint.png new file mode 100644 index 000000000..9a6527c1c Binary files /dev/null and b/graphics/pokemon/lairon/footprint.png differ diff --git a/graphics/pokemon/lairon/front.png b/graphics/pokemon/lairon/front.png new file mode 100644 index 000000000..50470dead Binary files /dev/null and b/graphics/pokemon/lairon/front.png differ diff --git a/graphics/pokemon/lairon/icon.png b/graphics/pokemon/lairon/icon.png new file mode 100644 index 000000000..6d450b08d Binary files /dev/null and b/graphics/pokemon/lairon/icon.png differ diff --git a/graphics/pokemon/lairon/normal.pal b/graphics/pokemon/lairon/normal.pal new file mode 100644 index 000000000..b5711fdad --- /dev/null +++ b/graphics/pokemon/lairon/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 172 156 +74 74 65 +106 106 106 +139 139 139 +172 172 172 +57 57 65 +123 106 106 +156 139 139 +189 172 172 +222 205 205 +255 255 255 +172 57 74 +222 106 106 +255 131 131 +106 189 255 +0 0 0 diff --git a/graphics/pokemon/lairon/shiny.pal b/graphics/pokemon/lairon/shiny.pal new file mode 100644 index 000000000..eadb9aa81 --- /dev/null +++ b/graphics/pokemon/lairon/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 172 156 +32 90 90 +65 123 115 +90 156 148 +148 197 205 +74 41 24 +123 123 90 +156 156 123 +189 189 156 +222 222 197 +255 255 255 +172 57 74 +222 106 106 +255 131 131 +255 123 82 +0 0 0 diff --git a/graphics/pokemon/lanturn/back.png b/graphics/pokemon/lanturn/back.png new file mode 100644 index 000000000..1b9543d63 Binary files /dev/null and b/graphics/pokemon/lanturn/back.png differ diff --git a/graphics/pokemon/lanturn/footprint.png b/graphics/pokemon/lanturn/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/lanturn/footprint.png differ diff --git a/graphics/pokemon/lanturn/front.png b/graphics/pokemon/lanturn/front.png new file mode 100644 index 000000000..a94ab7470 Binary files /dev/null and b/graphics/pokemon/lanturn/front.png differ diff --git a/graphics/pokemon/lanturn/icon.png b/graphics/pokemon/lanturn/icon.png new file mode 100644 index 000000000..d2b3d4348 Binary files /dev/null and b/graphics/pokemon/lanturn/icon.png differ diff --git a/graphics/pokemon/lanturn/normal.pal b/graphics/pokemon/lanturn/normal.pal new file mode 100644 index 000000000..7baa22c6e --- /dev/null +++ b/graphics/pokemon/lanturn/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +172 172 172 +164 205 255 +139 172 255 +98 139 230 +57 106 205 +0 82 139 +255 238 123 +255 230 82 +213 180 90 +180 139 57 +131 82 8 +16 16 16 +255 115 0 +180 0 0 diff --git a/graphics/pokemon/lanturn/shiny.pal b/graphics/pokemon/lanturn/shiny.pal new file mode 100644 index 000000000..70360c029 --- /dev/null +++ b/graphics/pokemon/lanturn/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +172 172 172 +230 156 255 +205 131 246 +164 98 222 +131 65 197 +106 41 139 +255 255 106 +238 238 65 +180 180 41 +139 139 8 +90 90 8 +16 16 16 +255 115 0 +205 49 0 diff --git a/graphics/pokemon/lapras/back.png b/graphics/pokemon/lapras/back.png new file mode 100644 index 000000000..3b5a18f17 Binary files /dev/null and b/graphics/pokemon/lapras/back.png differ diff --git a/graphics/pokemon/lapras/footprint.png b/graphics/pokemon/lapras/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/lapras/footprint.png differ diff --git a/graphics/pokemon/lapras/front.png b/graphics/pokemon/lapras/front.png new file mode 100644 index 000000000..063068e90 Binary files /dev/null and b/graphics/pokemon/lapras/front.png differ diff --git a/graphics/pokemon/lapras/icon.png b/graphics/pokemon/lapras/icon.png new file mode 100644 index 000000000..fa8035ada Binary files /dev/null and b/graphics/pokemon/lapras/icon.png differ diff --git a/graphics/pokemon/lapras/normal.pal b/graphics/pokemon/lapras/normal.pal new file mode 100644 index 000000000..094f8fec8 --- /dev/null +++ b/graphics/pokemon/lapras/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 213 172 +255 255 255 +230 90 41 +164 0 0 +255 238 148 +230 197 106 +131 106 49 +238 222 213 +213 197 189 +164 148 139 +98 82 90 +156 205 246 +115 180 230 +115 139 197 +49 74 106 +41 41 41 diff --git a/graphics/pokemon/lapras/shiny.pal b/graphics/pokemon/lapras/shiny.pal new file mode 100644 index 000000000..5090527aa --- /dev/null +++ b/graphics/pokemon/lapras/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +255 255 255 +230 90 41 +164 0 0 +238 205 213 +222 172 180 +139 82 106 +238 222 213 +213 197 189 +164 148 139 +98 82 90 +205 189 246 +172 156 230 +131 98 189 +82 65 139 +41 41 41 diff --git a/graphics/pokemon/larvitar/back.png b/graphics/pokemon/larvitar/back.png new file mode 100644 index 000000000..1c28da425 Binary files /dev/null and b/graphics/pokemon/larvitar/back.png differ diff --git a/graphics/pokemon/larvitar/footprint.png b/graphics/pokemon/larvitar/footprint.png new file mode 100644 index 000000000..a31e8d7f3 Binary files /dev/null and b/graphics/pokemon/larvitar/footprint.png differ diff --git a/graphics/pokemon/larvitar/front.png b/graphics/pokemon/larvitar/front.png new file mode 100644 index 000000000..4183e29e1 Binary files /dev/null and b/graphics/pokemon/larvitar/front.png differ diff --git a/graphics/pokemon/larvitar/icon.png b/graphics/pokemon/larvitar/icon.png new file mode 100644 index 000000000..85a5504c3 Binary files /dev/null and b/graphics/pokemon/larvitar/icon.png differ diff --git a/graphics/pokemon/larvitar/normal.pal b/graphics/pokemon/larvitar/normal.pal new file mode 100644 index 000000000..3bcc1f133 --- /dev/null +++ b/graphics/pokemon/larvitar/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +197 238 197 +180 222 180 +123 172 123 +74 98 74 +255 0 255 +255 164 90 +238 82 41 +189 57 32 +106 32 0 +255 0 255 +255 0 255 +197 197 197 +98 98 98 +16 16 16 diff --git a/graphics/pokemon/larvitar/shiny.pal b/graphics/pokemon/larvitar/shiny.pal new file mode 100644 index 000000000..aa6a59c36 --- /dev/null +++ b/graphics/pokemon/larvitar/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +230 246 82 +205 222 74 +156 172 41 +90 115 0 +255 0 255 +230 156 172 +189 98 131 +148 57 98 +90 41 65 +255 0 255 +255 0 255 +197 197 197 +98 98 98 +16 16 16 diff --git a/graphics/pokemon/latias/back.png b/graphics/pokemon/latias/back.png new file mode 100644 index 000000000..a4286579b Binary files /dev/null and b/graphics/pokemon/latias/back.png differ diff --git a/graphics/pokemon/latias/footprint.png b/graphics/pokemon/latias/footprint.png new file mode 100644 index 000000000..0419630c1 Binary files /dev/null and b/graphics/pokemon/latias/footprint.png differ diff --git a/graphics/pokemon/latias/front.png b/graphics/pokemon/latias/front.png new file mode 100644 index 000000000..55e7e36b1 Binary files /dev/null and b/graphics/pokemon/latias/front.png differ diff --git a/graphics/pokemon/latias/icon.png b/graphics/pokemon/latias/icon.png new file mode 100644 index 000000000..1727c0af6 Binary files /dev/null and b/graphics/pokemon/latias/icon.png differ diff --git a/graphics/pokemon/latias/normal.pal b/graphics/pokemon/latias/normal.pal new file mode 100644 index 000000000..6f831271f --- /dev/null +++ b/graphics/pokemon/latias/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +238 238 255 +213 213 238 +172 164 205 +123 115 148 +255 205 90 +205 164 74 +115 172 238 +90 106 180 +255 164 115 +255 255 255 +255 106 106 +222 90 90 +205 74 82 +139 49 65 +16 16 16 diff --git a/graphics/pokemon/latias/shiny.pal b/graphics/pokemon/latias/shiny.pal new file mode 100644 index 000000000..a701dc933 --- /dev/null +++ b/graphics/pokemon/latias/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +238 238 255 +213 213 238 +172 164 205 +123 115 148 +131 246 65 +49 123 24 +115 189 255 +90 139 180 +255 255 90 +255 255 255 +255 205 41 +238 172 0 +238 131 0 +189 57 0 +16 16 16 diff --git a/graphics/pokemon/latios/back.png b/graphics/pokemon/latios/back.png new file mode 100644 index 000000000..0f2b7f5d6 Binary files /dev/null and b/graphics/pokemon/latios/back.png differ diff --git a/graphics/pokemon/latios/footprint.png b/graphics/pokemon/latios/footprint.png new file mode 100644 index 000000000..f77d0fa86 Binary files /dev/null and b/graphics/pokemon/latios/footprint.png differ diff --git a/graphics/pokemon/latios/front.png b/graphics/pokemon/latios/front.png new file mode 100644 index 000000000..a9c41e250 Binary files /dev/null and b/graphics/pokemon/latios/front.png differ diff --git a/graphics/pokemon/latios/icon.png b/graphics/pokemon/latios/icon.png new file mode 100644 index 000000000..10a23ad47 Binary files /dev/null and b/graphics/pokemon/latios/icon.png differ diff --git a/graphics/pokemon/latios/normal.pal b/graphics/pokemon/latios/normal.pal new file mode 100644 index 000000000..6a3d8bead --- /dev/null +++ b/graphics/pokemon/latios/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +205 205 205 +172 172 172 +148 139 148 +115 106 115 +222 222 222 +131 74 74 +255 106 106 +213 74 82 +156 205 255 +255 255 255 +90 164 255 +74 131 213 +57 98 180 +49 57 115 +16 16 16 diff --git a/graphics/pokemon/latios/shiny.pal b/graphics/pokemon/latios/shiny.pal new file mode 100644 index 000000000..2b539fd9c --- /dev/null +++ b/graphics/pokemon/latios/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +246 246 246 +213 213 213 +180 172 172 +148 139 148 +246 246 246 +180 82 0 +230 123 41 +255 164 65 +189 255 255 +255 255 255 +172 238 222 +74 205 164 +32 164 123 +0 98 65 +16 16 16 diff --git a/graphics/pokemon/ledian/back.png b/graphics/pokemon/ledian/back.png new file mode 100644 index 000000000..577fd2d71 Binary files /dev/null and b/graphics/pokemon/ledian/back.png differ diff --git a/graphics/pokemon/ledian/footprint.png b/graphics/pokemon/ledian/footprint.png new file mode 100644 index 000000000..5c2d6221f Binary files /dev/null and b/graphics/pokemon/ledian/footprint.png differ diff --git a/graphics/pokemon/ledian/front.png b/graphics/pokemon/ledian/front.png new file mode 100644 index 000000000..ea58651cb Binary files /dev/null and b/graphics/pokemon/ledian/front.png differ diff --git a/graphics/pokemon/ledian/icon.png b/graphics/pokemon/ledian/icon.png new file mode 100644 index 000000000..b82ef1306 Binary files /dev/null and b/graphics/pokemon/ledian/icon.png differ diff --git a/graphics/pokemon/ledian/normal.pal b/graphics/pokemon/ledian/normal.pal new file mode 100644 index 000000000..dc9acc426 --- /dev/null +++ b/graphics/pokemon/ledian/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 197 131 +255 90 32 +197 57 16 +131 49 16 +255 255 189 +246 230 115 +205 180 57 +164 123 0 +0 74 164 +0 24 115 +213 213 213 +180 180 180 +106 106 106 +16 16 16 diff --git a/graphics/pokemon/ledian/shiny.pal b/graphics/pokemon/ledian/shiny.pal new file mode 100644 index 000000000..472f0974d --- /dev/null +++ b/graphics/pokemon/ledian/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 222 41 +255 164 0 +205 123 0 +131 74 16 +255 255 205 +246 238 131 +205 189 74 +164 131 16 +0 74 164 +0 24 115 +213 213 213 +180 180 180 +106 106 106 +16 16 16 diff --git a/graphics/pokemon/ledyba/back.png b/graphics/pokemon/ledyba/back.png new file mode 100644 index 000000000..6a84f405d Binary files /dev/null and b/graphics/pokemon/ledyba/back.png differ diff --git a/graphics/pokemon/ledyba/footprint.png b/graphics/pokemon/ledyba/footprint.png new file mode 100644 index 000000000..a52ed2560 Binary files /dev/null and b/graphics/pokemon/ledyba/footprint.png differ diff --git a/graphics/pokemon/ledyba/front.png b/graphics/pokemon/ledyba/front.png new file mode 100644 index 000000000..210a16176 Binary files /dev/null and b/graphics/pokemon/ledyba/front.png differ diff --git a/graphics/pokemon/ledyba/icon.png b/graphics/pokemon/ledyba/icon.png new file mode 100644 index 000000000..f417e2d74 Binary files /dev/null and b/graphics/pokemon/ledyba/icon.png differ diff --git a/graphics/pokemon/ledyba/normal.pal b/graphics/pokemon/ledyba/normal.pal new file mode 100644 index 000000000..2cc003adf --- /dev/null +++ b/graphics/pokemon/ledyba/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +246 156 49 +238 82 24 +180 65 41 +123 49 24 +255 255 189 +246 230 115 +205 180 57 +164 123 0 +0 74 164 +0 24 115 +205 205 205 +180 180 180 +115 115 115 +16 16 16 diff --git a/graphics/pokemon/ledyba/shiny.pal b/graphics/pokemon/ledyba/shiny.pal new file mode 100644 index 000000000..472f0974d --- /dev/null +++ b/graphics/pokemon/ledyba/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 222 41 +255 164 0 +205 123 0 +131 74 16 +255 255 205 +246 238 131 +205 189 74 +164 131 16 +0 74 164 +0 24 115 +213 213 213 +180 180 180 +106 106 106 +16 16 16 diff --git a/graphics/pokemon/lickitung/back.png b/graphics/pokemon/lickitung/back.png new file mode 100644 index 000000000..f6524e2c0 Binary files /dev/null and b/graphics/pokemon/lickitung/back.png differ diff --git a/graphics/pokemon/lickitung/footprint.png b/graphics/pokemon/lickitung/footprint.png new file mode 100644 index 000000000..1f88f23fc Binary files /dev/null and b/graphics/pokemon/lickitung/footprint.png differ diff --git a/graphics/pokemon/lickitung/front.png b/graphics/pokemon/lickitung/front.png new file mode 100644 index 000000000..445a7173e Binary files /dev/null and b/graphics/pokemon/lickitung/front.png differ diff --git a/graphics/pokemon/lickitung/icon.png b/graphics/pokemon/lickitung/icon.png new file mode 100644 index 000000000..5b7804afa Binary files /dev/null and b/graphics/pokemon/lickitung/icon.png differ diff --git a/graphics/pokemon/lickitung/normal.pal b/graphics/pokemon/lickitung/normal.pal new file mode 100644 index 000000000..602ac2724 --- /dev/null +++ b/graphics/pokemon/lickitung/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 205 +255 255 255 +255 255 164 +230 213 115 +131 123 32 +255 164 148 +255 131 82 +230 74 24 +197 32 16 +255 0 255 +255 205 180 +255 164 131 +238 106 82 +205 82 49 +148 16 0 +16 16 16 diff --git a/graphics/pokemon/lickitung/shiny.pal b/graphics/pokemon/lickitung/shiny.pal new file mode 100644 index 000000000..5d01bf06c --- /dev/null +++ b/graphics/pokemon/lickitung/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 205 +255 255 255 +255 255 164 +230 213 115 +131 123 32 +255 222 148 +255 123 131 +213 82 90 +172 41 49 +255 0 255 +255 238 123 +246 222 106 +205 180 65 +172 139 24 +131 90 0 +16 16 16 diff --git a/graphics/pokemon/lileep/back.png b/graphics/pokemon/lileep/back.png new file mode 100644 index 000000000..753602091 Binary files /dev/null and b/graphics/pokemon/lileep/back.png differ diff --git a/graphics/pokemon/lileep/footprint.png b/graphics/pokemon/lileep/footprint.png new file mode 100644 index 000000000..ce6b2790e Binary files /dev/null and b/graphics/pokemon/lileep/footprint.png differ diff --git a/graphics/pokemon/lileep/front.png b/graphics/pokemon/lileep/front.png new file mode 100644 index 000000000..5f85c25aa Binary files /dev/null and b/graphics/pokemon/lileep/front.png differ diff --git a/graphics/pokemon/lileep/icon.png b/graphics/pokemon/lileep/icon.png new file mode 100644 index 000000000..b875a53a7 Binary files /dev/null and b/graphics/pokemon/lileep/icon.png differ diff --git a/graphics/pokemon/lileep/normal.pal b/graphics/pokemon/lileep/normal.pal new file mode 100644 index 000000000..a739bf847 --- /dev/null +++ b/graphics/pokemon/lileep/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 213 139 +230 164 222 +180 115 172 +139 65 123 +98 24 74 +255 172 106 +238 123 57 +189 98 16 +255 246 123 +255 222 41 +230 172 0 +213 213 213 +172 172 180 +115 115 115 +0 0 0 diff --git a/graphics/pokemon/lileep/shiny.pal b/graphics/pokemon/lileep/shiny.pal new file mode 100644 index 000000000..6402a8688 --- /dev/null +++ b/graphics/pokemon/lileep/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 213 139 +148 238 205 +115 205 172 +82 172 139 +32 123 90 +255 172 106 +238 123 57 +189 98 16 +255 246 123 +255 222 41 +230 172 0 +213 213 213 +172 172 180 +115 115 115 +41 41 57 diff --git a/graphics/pokemon/linoone/back.png b/graphics/pokemon/linoone/back.png new file mode 100644 index 000000000..9fc8fad38 Binary files /dev/null and b/graphics/pokemon/linoone/back.png differ diff --git a/graphics/pokemon/linoone/footprint.png b/graphics/pokemon/linoone/footprint.png new file mode 100644 index 000000000..8d83166d3 Binary files /dev/null and b/graphics/pokemon/linoone/footprint.png differ diff --git a/graphics/pokemon/linoone/front.png b/graphics/pokemon/linoone/front.png new file mode 100644 index 000000000..8b5baa699 Binary files /dev/null and b/graphics/pokemon/linoone/front.png differ diff --git a/graphics/pokemon/linoone/icon.png b/graphics/pokemon/linoone/icon.png new file mode 100644 index 000000000..bf0ea0cac Binary files /dev/null and b/graphics/pokemon/linoone/icon.png differ diff --git a/graphics/pokemon/linoone/normal.pal b/graphics/pokemon/linoone/normal.pal new file mode 100644 index 000000000..368b6ac6f --- /dev/null +++ b/graphics/pokemon/linoone/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 172 115 +65 57 32 +139 98 65 +172 139 115 +205 172 139 +230 213 197 +0 0 0 +131 115 90 +197 180 148 +222 213 180 +255 246 246 +57 82 131 +123 139 222 +255 172 180 +255 197 205 +255 238 255 diff --git a/graphics/pokemon/linoone/shiny.pal b/graphics/pokemon/linoone/shiny.pal new file mode 100644 index 000000000..7988bb21c --- /dev/null +++ b/graphics/pokemon/linoone/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 172 115 +65 57 32 +197 98 65 +222 131 74 +238 164 74 +255 238 197 +0 0 0 +131 115 90 +197 180 148 +222 213 180 +255 246 246 +189 139 49 +255 205 106 +255 172 180 +255 197 205 +255 238 255 diff --git a/graphics/pokemon/lombre/back.png b/graphics/pokemon/lombre/back.png new file mode 100644 index 000000000..c87b4bcf3 Binary files /dev/null and b/graphics/pokemon/lombre/back.png differ diff --git a/graphics/pokemon/lombre/footprint.png b/graphics/pokemon/lombre/footprint.png new file mode 100644 index 000000000..051e5ab55 Binary files /dev/null and b/graphics/pokemon/lombre/footprint.png differ diff --git a/graphics/pokemon/lombre/front.png b/graphics/pokemon/lombre/front.png new file mode 100644 index 000000000..3719098a9 Binary files /dev/null and b/graphics/pokemon/lombre/front.png differ diff --git a/graphics/pokemon/lombre/icon.png b/graphics/pokemon/lombre/icon.png new file mode 100644 index 000000000..b3e661cca Binary files /dev/null and b/graphics/pokemon/lombre/icon.png differ diff --git a/graphics/pokemon/lombre/normal.pal b/graphics/pokemon/lombre/normal.pal new file mode 100644 index 000000000..69f944a22 --- /dev/null +++ b/graphics/pokemon/lombre/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 255 255 +98 106 65 +90 148 106 +148 74 57 +131 197 148 +189 230 180 +222 255 197 +205 74 49 +131 148 65 +139 180 49 +172 213 57 +255 115 65 +205 246 82 +255 255 255 +197 197 205 +255 8 57 diff --git a/graphics/pokemon/lombre/shiny.pal b/graphics/pokemon/lombre/shiny.pal new file mode 100644 index 000000000..d4458373a --- /dev/null +++ b/graphics/pokemon/lombre/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +197 197 205 +98 106 65 +90 148 106 +172 90 41 +172 213 57 +205 246 82 +222 255 197 +213 106 57 +65 131 139 +90 156 164 +106 172 180 +255 172 90 +148 197 205 +255 255 255 +197 197 205 +255 8 57 diff --git a/graphics/pokemon/lotad/back.png b/graphics/pokemon/lotad/back.png new file mode 100644 index 000000000..d8ca7648d Binary files /dev/null and b/graphics/pokemon/lotad/back.png differ diff --git a/graphics/pokemon/lotad/footprint.png b/graphics/pokemon/lotad/footprint.png new file mode 100644 index 000000000..caac6945f Binary files /dev/null and b/graphics/pokemon/lotad/footprint.png differ diff --git a/graphics/pokemon/lotad/front.png b/graphics/pokemon/lotad/front.png new file mode 100644 index 000000000..0b7e0a0a6 Binary files /dev/null and b/graphics/pokemon/lotad/front.png differ diff --git a/graphics/pokemon/lotad/icon.png b/graphics/pokemon/lotad/icon.png new file mode 100644 index 000000000..74e37ceed Binary files /dev/null and b/graphics/pokemon/lotad/icon.png differ diff --git a/graphics/pokemon/lotad/normal.pal b/graphics/pokemon/lotad/normal.pal new file mode 100644 index 000000000..efb988ea0 --- /dev/null +++ b/graphics/pokemon/lotad/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +255 213 74 +213 172 57 +139 115 49 +49 65 90 +123 213 74 +98 189 49 +74 172 41 +74 139 41 +49 74 32 +172 255 123 +148 180 222 +82 139 205 +49 115 148 +255 255 255 +16 16 16 diff --git a/graphics/pokemon/lotad/shiny.pal b/graphics/pokemon/lotad/shiny.pal new file mode 100644 index 000000000..36f271590 --- /dev/null +++ b/graphics/pokemon/lotad/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +255 213 74 +213 172 57 +139 115 49 +49 65 90 +148 197 205 +106 172 180 +90 156 164 +65 131 139 +24 82 98 +172 255 123 +213 139 156 +180 106 123 +148 74 90 +255 255 255 +16 16 16 diff --git a/graphics/pokemon/loudred/back.png b/graphics/pokemon/loudred/back.png new file mode 100644 index 000000000..cb3d5d816 Binary files /dev/null and b/graphics/pokemon/loudred/back.png differ diff --git a/graphics/pokemon/loudred/footprint.png b/graphics/pokemon/loudred/footprint.png new file mode 100644 index 000000000..604af9000 Binary files /dev/null and b/graphics/pokemon/loudred/footprint.png differ diff --git a/graphics/pokemon/loudred/front.png b/graphics/pokemon/loudred/front.png new file mode 100644 index 000000000..2b87c0b29 Binary files /dev/null and b/graphics/pokemon/loudred/front.png differ diff --git a/graphics/pokemon/loudred/icon.png b/graphics/pokemon/loudred/icon.png new file mode 100644 index 000000000..cbb1859f8 Binary files /dev/null and b/graphics/pokemon/loudred/icon.png differ diff --git a/graphics/pokemon/loudred/normal.pal b/graphics/pokemon/loudred/normal.pal new file mode 100644 index 000000000..27c8ed1e7 --- /dev/null +++ b/graphics/pokemon/loudred/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +164 156 222 +123 115 180 +90 82 139 +57 57 106 +255 222 90 +213 164 24 +156 115 24 +255 115 82 +213 74 49 +156 57 24 +106 49 24 +205 205 205 +115 115 115 +0 0 0 diff --git a/graphics/pokemon/loudred/shiny.pal b/graphics/pokemon/loudred/shiny.pal new file mode 100644 index 000000000..b905b269c --- /dev/null +++ b/graphics/pokemon/loudred/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +222 180 197 +189 131 164 +156 90 139 +131 65 106 +255 246 131 +255 197 49 +213 131 16 +255 115 82 +197 65 49 +156 41 24 +123 57 0 +238 205 213 +115 115 115 +49 49 65 diff --git a/graphics/pokemon/ludicolo/back.png b/graphics/pokemon/ludicolo/back.png new file mode 100644 index 000000000..2bdc96c39 Binary files /dev/null and b/graphics/pokemon/ludicolo/back.png differ diff --git a/graphics/pokemon/ludicolo/footprint.png b/graphics/pokemon/ludicolo/footprint.png new file mode 100644 index 000000000..23163f358 Binary files /dev/null and b/graphics/pokemon/ludicolo/footprint.png differ diff --git a/graphics/pokemon/ludicolo/front.png b/graphics/pokemon/ludicolo/front.png new file mode 100644 index 000000000..df8e0091b Binary files /dev/null and b/graphics/pokemon/ludicolo/front.png differ diff --git a/graphics/pokemon/ludicolo/icon.png b/graphics/pokemon/ludicolo/icon.png new file mode 100644 index 000000000..47490411b Binary files /dev/null and b/graphics/pokemon/ludicolo/icon.png differ diff --git a/graphics/pokemon/ludicolo/normal.pal b/graphics/pokemon/ludicolo/normal.pal new file mode 100644 index 000000000..618414394 --- /dev/null +++ b/graphics/pokemon/ludicolo/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +98 148 197 +74 106 74 +106 139 90 +156 197 98 +164 238 90 +205 255 139 +246 246 148 +213 213 123 +180 180 115 +255 255 255 +205 205 222 +197 131 115 +246 164 98 +139 106 82 +213 180 74 +41 41 41 diff --git a/graphics/pokemon/ludicolo/shiny.pal b/graphics/pokemon/ludicolo/shiny.pal new file mode 100644 index 000000000..442eda95e --- /dev/null +++ b/graphics/pokemon/ludicolo/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +98 148 197 +49 115 106 +82 139 131 +90 156 148 +148 197 205 +164 222 222 +255 230 156 +255 213 106 +230 172 90 +255 255 255 +205 205 222 +197 131 115 +246 164 98 +164 106 82 +213 180 74 +41 41 41 diff --git a/graphics/pokemon/lugia/back.png b/graphics/pokemon/lugia/back.png new file mode 100644 index 000000000..ece7def85 Binary files /dev/null and b/graphics/pokemon/lugia/back.png differ diff --git a/graphics/pokemon/lugia/footprint.png b/graphics/pokemon/lugia/footprint.png new file mode 100644 index 000000000..e6642ed07 Binary files /dev/null and b/graphics/pokemon/lugia/footprint.png differ diff --git a/graphics/pokemon/lugia/front.png b/graphics/pokemon/lugia/front.png new file mode 100644 index 000000000..44f6ce278 Binary files /dev/null and b/graphics/pokemon/lugia/front.png differ diff --git a/graphics/pokemon/lugia/icon.png b/graphics/pokemon/lugia/icon.png new file mode 100644 index 000000000..5e581ee19 Binary files /dev/null and b/graphics/pokemon/lugia/icon.png differ diff --git a/graphics/pokemon/lugia/normal.pal b/graphics/pokemon/lugia/normal.pal new file mode 100644 index 000000000..483157770 --- /dev/null +++ b/graphics/pokemon/lugia/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 197 +255 255 255 +222 222 230 +189 189 197 +156 156 180 +98 98 98 +123 164 246 +90 115 255 +0 98 189 +0 65 131 +238 90 0 +156 65 0 +156 156 180 +98 98 98 +16 16 16 +16 16 16 diff --git a/graphics/pokemon/lugia/shiny.pal b/graphics/pokemon/lugia/shiny.pal new file mode 100644 index 000000000..42db26696 --- /dev/null +++ b/graphics/pokemon/lugia/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 197 +255 255 255 +213 230 255 +172 197 230 +131 156 197 +74 90 139 +255 139 172 +246 106 148 +205 74 123 +106 65 82 +238 90 0 +156 65 0 +246 139 139 +222 90 98 +148 32 41 +16 16 16 diff --git a/graphics/pokemon/lunatone/back.png b/graphics/pokemon/lunatone/back.png new file mode 100644 index 000000000..3f2247f8e Binary files /dev/null and b/graphics/pokemon/lunatone/back.png differ diff --git a/graphics/pokemon/lunatone/footprint.png b/graphics/pokemon/lunatone/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/lunatone/footprint.png differ diff --git a/graphics/pokemon/lunatone/front.png b/graphics/pokemon/lunatone/front.png new file mode 100644 index 000000000..3458d32d5 Binary files /dev/null and b/graphics/pokemon/lunatone/front.png differ diff --git a/graphics/pokemon/lunatone/icon.png b/graphics/pokemon/lunatone/icon.png new file mode 100644 index 000000000..27a42ae41 Binary files /dev/null and b/graphics/pokemon/lunatone/icon.png differ diff --git a/graphics/pokemon/lunatone/normal.pal b/graphics/pokemon/lunatone/normal.pal new file mode 100644 index 000000000..9a0a5885f --- /dev/null +++ b/graphics/pokemon/lunatone/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +255 238 164 +230 213 148 +213 197 131 +197 172 123 +172 156 106 +156 131 98 +139 115 82 +123 98 74 +98 74 57 +82 57 41 +238 90 90 +213 74 82 +189 57 74 +164 49 74 +16 16 16 diff --git a/graphics/pokemon/lunatone/shiny.pal b/graphics/pokemon/lunatone/shiny.pal new file mode 100644 index 000000000..e0f5eb308 --- /dev/null +++ b/graphics/pokemon/lunatone/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +255 238 164 +230 213 148 +213 197 131 +197 172 123 +172 156 106 +156 131 98 +139 115 82 +123 98 74 +98 74 57 +82 57 41 +98 148 255 +65 115 222 +32 82 189 +0 49 156 +16 16 16 diff --git a/graphics/pokemon/luvdisc/back.png b/graphics/pokemon/luvdisc/back.png new file mode 100644 index 000000000..04895aa25 Binary files /dev/null and b/graphics/pokemon/luvdisc/back.png differ diff --git a/graphics/pokemon/luvdisc/footprint.png b/graphics/pokemon/luvdisc/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/luvdisc/footprint.png differ diff --git a/graphics/pokemon/luvdisc/front.png b/graphics/pokemon/luvdisc/front.png new file mode 100644 index 000000000..e85283e10 Binary files /dev/null and b/graphics/pokemon/luvdisc/front.png differ diff --git a/graphics/pokemon/luvdisc/icon.png b/graphics/pokemon/luvdisc/icon.png new file mode 100644 index 000000000..980b73492 Binary files /dev/null and b/graphics/pokemon/luvdisc/icon.png differ diff --git a/graphics/pokemon/luvdisc/normal.pal b/graphics/pokemon/luvdisc/normal.pal new file mode 100644 index 000000000..c443e0633 --- /dev/null +++ b/graphics/pokemon/luvdisc/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +98 205 148 +115 57 49 +164 106 82 +255 255 255 +222 205 230 +230 156 131 +205 148 148 +255 164 123 +246 213 148 +90 98 189 +90 98 139 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +24 24 24 diff --git a/graphics/pokemon/luvdisc/shiny.pal b/graphics/pokemon/luvdisc/shiny.pal new file mode 100644 index 000000000..b1df53235 --- /dev/null +++ b/graphics/pokemon/luvdisc/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +98 205 148 +115 57 49 +164 106 82 +255 255 255 +222 205 230 +246 197 49 +246 172 16 +255 230 82 +255 255 131 +90 98 189 +90 98 139 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +24 24 24 diff --git a/graphics/pokemon/machamp/back.png b/graphics/pokemon/machamp/back.png new file mode 100644 index 000000000..98f6f961b Binary files /dev/null and b/graphics/pokemon/machamp/back.png differ diff --git a/graphics/pokemon/machamp/footprint.png b/graphics/pokemon/machamp/footprint.png new file mode 100644 index 000000000..e562fd08c Binary files /dev/null and b/graphics/pokemon/machamp/footprint.png differ diff --git a/graphics/pokemon/machamp/front.png b/graphics/pokemon/machamp/front.png new file mode 100644 index 000000000..8096b4ddd Binary files /dev/null and b/graphics/pokemon/machamp/front.png differ diff --git a/graphics/pokemon/machamp/icon.png b/graphics/pokemon/machamp/icon.png new file mode 100644 index 000000000..f803845ab Binary files /dev/null and b/graphics/pokemon/machamp/icon.png differ diff --git a/graphics/pokemon/machamp/normal.pal b/graphics/pokemon/machamp/normal.pal new file mode 100644 index 000000000..ceb43fc3c --- /dev/null +++ b/graphics/pokemon/machamp/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 255 +238 246 115 +205 213 74 +164 172 41 +115 98 0 +255 57 57 +189 49 65 +82 82 82 +255 0 255 +230 230 230 +197 238 205 +172 213 180 +131 172 131 +57 90 65 +16 16 16 diff --git a/graphics/pokemon/machamp/shiny.pal b/graphics/pokemon/machamp/shiny.pal new file mode 100644 index 000000000..6e7cc549c --- /dev/null +++ b/graphics/pokemon/machamp/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 255 +238 246 115 +197 205 74 +164 172 41 +115 98 0 +255 57 57 +156 0 0 +82 82 82 +255 0 255 +213 213 213 +180 197 131 +139 156 90 +98 115 49 +57 74 8 +16 16 16 diff --git a/graphics/pokemon/machoke/back.png b/graphics/pokemon/machoke/back.png new file mode 100644 index 000000000..b3c84c77c Binary files /dev/null and b/graphics/pokemon/machoke/back.png differ diff --git a/graphics/pokemon/machoke/footprint.png b/graphics/pokemon/machoke/footprint.png new file mode 100644 index 000000000..d9009d3e1 Binary files /dev/null and b/graphics/pokemon/machoke/footprint.png differ diff --git a/graphics/pokemon/machoke/front.png b/graphics/pokemon/machoke/front.png new file mode 100644 index 000000000..a42831e68 Binary files /dev/null and b/graphics/pokemon/machoke/front.png differ diff --git a/graphics/pokemon/machoke/icon.png b/graphics/pokemon/machoke/icon.png new file mode 100644 index 000000000..97d3a6bf0 Binary files /dev/null and b/graphics/pokemon/machoke/icon.png differ diff --git a/graphics/pokemon/machoke/normal.pal b/graphics/pokemon/machoke/normal.pal new file mode 100644 index 000000000..937fd5d77 --- /dev/null +++ b/graphics/pokemon/machoke/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 255 +238 246 115 +205 189 74 +180 164 65 +98 74 8 +255 0 255 +238 49 49 +197 0 0 +156 0 0 +222 222 222 +205 197 246 +172 164 213 +131 123 156 +65 65 106 +16 16 16 diff --git a/graphics/pokemon/machoke/shiny.pal b/graphics/pokemon/machoke/shiny.pal new file mode 100644 index 000000000..5d5cb321b --- /dev/null +++ b/graphics/pokemon/machoke/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 255 +238 246 115 +197 205 74 +164 172 41 +115 98 0 +255 0 255 +115 156 222 +74 115 180 +16 57 123 +222 230 172 +180 189 131 +139 148 90 +98 106 49 +57 65 8 +16 16 16 diff --git a/graphics/pokemon/machop/back.png b/graphics/pokemon/machop/back.png new file mode 100644 index 000000000..6b0dda04c Binary files /dev/null and b/graphics/pokemon/machop/back.png differ diff --git a/graphics/pokemon/machop/footprint.png b/graphics/pokemon/machop/footprint.png new file mode 100644 index 000000000..8b2808553 Binary files /dev/null and b/graphics/pokemon/machop/footprint.png differ diff --git a/graphics/pokemon/machop/front.png b/graphics/pokemon/machop/front.png new file mode 100644 index 000000000..4a9656314 Binary files /dev/null and b/graphics/pokemon/machop/front.png differ diff --git a/graphics/pokemon/machop/icon.png b/graphics/pokemon/machop/icon.png new file mode 100644 index 000000000..53773ea8c Binary files /dev/null and b/graphics/pokemon/machop/icon.png differ diff --git a/graphics/pokemon/machop/normal.pal b/graphics/pokemon/machop/normal.pal new file mode 100644 index 000000000..6914cd822 --- /dev/null +++ b/graphics/pokemon/machop/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 255 255 +230 197 115 +197 180 57 +189 172 57 +98 106 16 +255 0 255 +255 57 57 +197 0 0 +156 0 0 +213 213 213 +189 222 197 +164 197 172 +123 148 131 +49 74 57 +16 16 16 diff --git a/graphics/pokemon/machop/shiny.pal b/graphics/pokemon/machop/shiny.pal new file mode 100644 index 000000000..2ceeb3c56 --- /dev/null +++ b/graphics/pokemon/machop/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 255 255 +238 246 115 +197 205 74 +164 172 41 +98 106 16 +255 0 255 +255 57 57 +197 0 0 +156 0 0 +255 246 189 +222 205 148 +180 164 106 +139 123 65 +98 82 24 +16 16 16 diff --git a/graphics/pokemon/magby/back.png b/graphics/pokemon/magby/back.png new file mode 100644 index 000000000..f05f62283 Binary files /dev/null and b/graphics/pokemon/magby/back.png differ diff --git a/graphics/pokemon/magby/footprint.png b/graphics/pokemon/magby/footprint.png new file mode 100644 index 000000000..655d0ca2b Binary files /dev/null and b/graphics/pokemon/magby/footprint.png differ diff --git a/graphics/pokemon/magby/front.png b/graphics/pokemon/magby/front.png new file mode 100644 index 000000000..6994953b2 Binary files /dev/null and b/graphics/pokemon/magby/front.png differ diff --git a/graphics/pokemon/magby/icon.png b/graphics/pokemon/magby/icon.png new file mode 100644 index 000000000..574274003 Binary files /dev/null and b/graphics/pokemon/magby/icon.png differ diff --git a/graphics/pokemon/magby/normal.pal b/graphics/pokemon/magby/normal.pal new file mode 100644 index 000000000..42daceeb8 --- /dev/null +++ b/graphics/pokemon/magby/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 197 131 +255 123 98 +213 82 57 +148 49 32 +255 0 255 +255 255 180 +246 213 57 +213 172 0 +172 131 0 +255 0 255 +255 0 255 +197 197 197 +115 115 123 +16 16 16 diff --git a/graphics/pokemon/magby/shiny.pal b/graphics/pokemon/magby/shiny.pal new file mode 100644 index 000000000..97a19115c --- /dev/null +++ b/graphics/pokemon/magby/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 246 115 +255 213 41 +230 131 49 +148 65 32 +255 0 255 +255 255 238 +255 246 148 +238 205 90 +197 123 65 +255 0 255 +255 0 255 +197 197 197 +115 115 123 +16 16 16 diff --git a/graphics/pokemon/magcargo/back.png b/graphics/pokemon/magcargo/back.png new file mode 100644 index 000000000..8d2221f0d Binary files /dev/null and b/graphics/pokemon/magcargo/back.png differ diff --git a/graphics/pokemon/magcargo/footprint.png b/graphics/pokemon/magcargo/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/magcargo/footprint.png differ diff --git a/graphics/pokemon/magcargo/front.png b/graphics/pokemon/magcargo/front.png new file mode 100644 index 000000000..b2e3679cd Binary files /dev/null and b/graphics/pokemon/magcargo/front.png differ diff --git a/graphics/pokemon/magcargo/icon.png b/graphics/pokemon/magcargo/icon.png new file mode 100644 index 000000000..46cbb8cb5 Binary files /dev/null and b/graphics/pokemon/magcargo/icon.png differ diff --git a/graphics/pokemon/magcargo/normal.pal b/graphics/pokemon/magcargo/normal.pal new file mode 100644 index 000000000..71f6dce5b --- /dev/null +++ b/graphics/pokemon/magcargo/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 189 106 +255 131 74 +222 90 32 +148 32 0 +255 213 115 +255 238 156 +255 213 115 +255 197 0 +164 106 90 +172 172 172 +131 131 131 +98 98 98 +65 65 65 +16 16 16 diff --git a/graphics/pokemon/magcargo/shiny.pal b/graphics/pokemon/magcargo/shiny.pal new file mode 100644 index 000000000..ff0c9dd40 --- /dev/null +++ b/graphics/pokemon/magcargo/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +238 180 238 +205 148 197 +172 98 172 +106 65 139 +255 180 238 +255 230 255 +255 180 238 +255 180 238 +139 74 106 +213 98 74 +156 82 57 +106 49 41 +74 41 16 +16 16 16 diff --git a/graphics/pokemon/magikarp/back.png b/graphics/pokemon/magikarp/back.png new file mode 100644 index 000000000..66e874bb9 Binary files /dev/null and b/graphics/pokemon/magikarp/back.png differ diff --git a/graphics/pokemon/magikarp/footprint.png b/graphics/pokemon/magikarp/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/magikarp/footprint.png differ diff --git a/graphics/pokemon/magikarp/front.png b/graphics/pokemon/magikarp/front.png new file mode 100644 index 000000000..a34e0e9cd Binary files /dev/null and b/graphics/pokemon/magikarp/front.png differ diff --git a/graphics/pokemon/magikarp/icon.png b/graphics/pokemon/magikarp/icon.png new file mode 100644 index 000000000..004884582 Binary files /dev/null and b/graphics/pokemon/magikarp/icon.png differ diff --git a/graphics/pokemon/magikarp/normal.pal b/graphics/pokemon/magikarp/normal.pal new file mode 100644 index 000000000..48f4b2d0d --- /dev/null +++ b/graphics/pokemon/magikarp/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +90 123 197 +255 255 255 +222 222 230 +172 172 189 +115 115 139 +16 16 16 +238 255 131 +238 213 98 +131 106 16 +255 180 148 +255 123 90 +197 49 49 +255 172 115 +255 106 32 +222 74 74 +139 8 0 diff --git a/graphics/pokemon/magikarp/shiny.pal b/graphics/pokemon/magikarp/shiny.pal new file mode 100644 index 000000000..d6eec780a --- /dev/null +++ b/graphics/pokemon/magikarp/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +255 255 255 +222 222 230 +172 172 189 +115 115 139 +16 16 16 +238 255 131 +222 197 90 +131 106 16 +255 255 172 +255 230 49 +246 189 82 +255 255 98 +255 222 32 +230 164 41 +156 82 41 diff --git a/graphics/pokemon/magmar/back.png b/graphics/pokemon/magmar/back.png new file mode 100644 index 000000000..4d4f4e77a Binary files /dev/null and b/graphics/pokemon/magmar/back.png differ diff --git a/graphics/pokemon/magmar/footprint.png b/graphics/pokemon/magmar/footprint.png new file mode 100644 index 000000000..17de53a46 Binary files /dev/null and b/graphics/pokemon/magmar/footprint.png differ diff --git a/graphics/pokemon/magmar/front.png b/graphics/pokemon/magmar/front.png new file mode 100644 index 000000000..1414e4e04 Binary files /dev/null and b/graphics/pokemon/magmar/front.png differ diff --git a/graphics/pokemon/magmar/icon.png b/graphics/pokemon/magmar/icon.png new file mode 100644 index 000000000..af5ece4f7 Binary files /dev/null and b/graphics/pokemon/magmar/icon.png differ diff --git a/graphics/pokemon/magmar/normal.pal b/graphics/pokemon/magmar/normal.pal new file mode 100644 index 000000000..be4ac826e --- /dev/null +++ b/graphics/pokemon/magmar/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +213 213 213 +106 106 106 +41 41 41 +255 0 255 +255 0 255 +255 246 98 +255 213 0 +222 164 32 +139 98 8 +255 164 65 +255 74 8 +205 41 65 +139 8 0 +255 0 255 diff --git a/graphics/pokemon/magmar/shiny.pal b/graphics/pokemon/magmar/shiny.pal new file mode 100644 index 000000000..f4da957cb --- /dev/null +++ b/graphics/pokemon/magmar/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +213 213 213 +106 106 106 +41 41 41 +255 0 255 +255 0 255 +255 238 255 +255 197 213 +205 156 172 +123 74 90 +255 164 172 +238 123 131 +213 82 90 +164 41 49 +255 0 255 diff --git a/graphics/pokemon/magnemite/back.png b/graphics/pokemon/magnemite/back.png new file mode 100644 index 000000000..c1769ec51 Binary files /dev/null and b/graphics/pokemon/magnemite/back.png differ diff --git a/graphics/pokemon/magnemite/footprint.png b/graphics/pokemon/magnemite/footprint.png new file mode 100644 index 000000000..f710e5028 Binary files /dev/null and b/graphics/pokemon/magnemite/footprint.png differ diff --git a/graphics/pokemon/magnemite/front.png b/graphics/pokemon/magnemite/front.png new file mode 100644 index 000000000..4f1b8a04f Binary files /dev/null and b/graphics/pokemon/magnemite/front.png differ diff --git a/graphics/pokemon/magnemite/icon.png b/graphics/pokemon/magnemite/icon.png new file mode 100644 index 000000000..ba9561d21 Binary files /dev/null and b/graphics/pokemon/magnemite/icon.png differ diff --git a/graphics/pokemon/magnemite/normal.pal b/graphics/pokemon/magnemite/normal.pal new file mode 100644 index 000000000..efcd33f3e --- /dev/null +++ b/graphics/pokemon/magnemite/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +230 230 230 +255 98 65 +205 49 49 +82 205 246 +41 131 172 +180 180 180 +139 139 139 +98 82 82 +57 49 49 +213 246 222 +180 213 189 +148 189 156 +90 131 98 +16 16 16 diff --git a/graphics/pokemon/magnemite/shiny.pal b/graphics/pokemon/magnemite/shiny.pal new file mode 100644 index 000000000..50bb00b88 --- /dev/null +++ b/graphics/pokemon/magnemite/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +213 213 213 +82 74 74 +57 49 49 +82 74 74 +57 49 49 +180 180 180 +139 139 139 +82 74 74 +57 49 49 +238 238 189 +197 197 148 +156 156 106 +115 115 65 +16 16 16 diff --git a/graphics/pokemon/magneton/back.png b/graphics/pokemon/magneton/back.png new file mode 100644 index 000000000..5fc357dfc Binary files /dev/null and b/graphics/pokemon/magneton/back.png differ diff --git a/graphics/pokemon/magneton/footprint.png b/graphics/pokemon/magneton/footprint.png new file mode 100644 index 000000000..00b8b0ebf Binary files /dev/null and b/graphics/pokemon/magneton/footprint.png differ diff --git a/graphics/pokemon/magneton/front.png b/graphics/pokemon/magneton/front.png new file mode 100644 index 000000000..2589acbb4 Binary files /dev/null and b/graphics/pokemon/magneton/front.png differ diff --git a/graphics/pokemon/magneton/icon.png b/graphics/pokemon/magneton/icon.png new file mode 100644 index 000000000..91a25f3ce Binary files /dev/null and b/graphics/pokemon/magneton/icon.png differ diff --git a/graphics/pokemon/magneton/normal.pal b/graphics/pokemon/magneton/normal.pal new file mode 100644 index 000000000..00f6da9b2 --- /dev/null +++ b/graphics/pokemon/magneton/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +222 222 222 +255 98 57 +213 41 49 +82 205 246 +57 148 172 +180 180 180 +139 139 139 +82 74 74 +57 49 49 +213 246 222 +180 213 189 +148 189 156 +90 131 98 +16 16 16 diff --git a/graphics/pokemon/magneton/shiny.pal b/graphics/pokemon/magneton/shiny.pal new file mode 100644 index 000000000..1777fbd2a --- /dev/null +++ b/graphics/pokemon/magneton/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +213 213 213 +106 98 98 +57 49 49 +106 98 98 +57 49 49 +180 180 180 +139 139 139 +82 74 74 +57 49 49 +255 246 230 +238 222 197 +197 180 156 +156 139 115 +16 16 16 diff --git a/graphics/pokemon/makuhita/back.png b/graphics/pokemon/makuhita/back.png new file mode 100644 index 000000000..45423f822 Binary files /dev/null and b/graphics/pokemon/makuhita/back.png differ diff --git a/graphics/pokemon/makuhita/footprint.png b/graphics/pokemon/makuhita/footprint.png new file mode 100644 index 000000000..3da20ccb3 Binary files /dev/null and b/graphics/pokemon/makuhita/footprint.png differ diff --git a/graphics/pokemon/makuhita/front.png b/graphics/pokemon/makuhita/front.png new file mode 100644 index 000000000..76a11c069 Binary files /dev/null and b/graphics/pokemon/makuhita/front.png differ diff --git a/graphics/pokemon/makuhita/icon.png b/graphics/pokemon/makuhita/icon.png new file mode 100644 index 000000000..d64f2c418 Binary files /dev/null and b/graphics/pokemon/makuhita/icon.png differ diff --git a/graphics/pokemon/makuhita/normal.pal b/graphics/pokemon/makuhita/normal.pal new file mode 100644 index 000000000..7fc578bb1 --- /dev/null +++ b/graphics/pokemon/makuhita/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 197 148 +156 156 164 +131 131 148 +90 90 115 +49 57 90 +255 213 82 +238 189 49 +205 156 82 +255 90 74 +205 82 65 +156 82 65 +0 0 0 +255 230 123 +123 90 57 +0 0 0 +255 255 255 diff --git a/graphics/pokemon/makuhita/shiny.pal b/graphics/pokemon/makuhita/shiny.pal new file mode 100644 index 000000000..2f3aa75fc --- /dev/null +++ b/graphics/pokemon/makuhita/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 197 148 +255 90 74 +205 82 65 +156 82 65 +123 49 32 +255 230 156 +255 205 98 +230 164 82 +255 90 74 +205 82 65 +156 82 65 +0 0 0 +255 246 189 +123 90 57 +0 0 0 +255 255 255 diff --git a/graphics/pokemon/manectric/back.png b/graphics/pokemon/manectric/back.png new file mode 100644 index 000000000..9373757a0 Binary files /dev/null and b/graphics/pokemon/manectric/back.png differ diff --git a/graphics/pokemon/manectric/footprint.png b/graphics/pokemon/manectric/footprint.png new file mode 100644 index 000000000..4f4903bf9 Binary files /dev/null and b/graphics/pokemon/manectric/footprint.png differ diff --git a/graphics/pokemon/manectric/front.png b/graphics/pokemon/manectric/front.png new file mode 100644 index 000000000..d4142301c Binary files /dev/null and b/graphics/pokemon/manectric/front.png differ diff --git a/graphics/pokemon/manectric/icon.png b/graphics/pokemon/manectric/icon.png new file mode 100644 index 000000000..0b8fe933d Binary files /dev/null and b/graphics/pokemon/manectric/icon.png differ diff --git a/graphics/pokemon/manectric/normal.pal b/graphics/pokemon/manectric/normal.pal new file mode 100644 index 000000000..05ec20919 --- /dev/null +++ b/graphics/pokemon/manectric/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +197 197 197 +57 65 74 +82 90 131 +115 131 197 +139 172 238 +255 255 74 +222 230 106 +180 197 106 +139 123 65 +172 32 16 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +197 197 230 +24 24 24 diff --git a/graphics/pokemon/manectric/shiny.pal b/graphics/pokemon/manectric/shiny.pal new file mode 100644 index 000000000..52285031d --- /dev/null +++ b/graphics/pokemon/manectric/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +197 197 197 +41 41 57 +57 65 82 +115 106 123 +148 139 156 +255 222 131 +230 197 98 +197 156 90 +164 123 57 +82 106 197 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +197 197 230 +24 24 24 diff --git a/graphics/pokemon/mankey/back.png b/graphics/pokemon/mankey/back.png new file mode 100644 index 000000000..00336d751 Binary files /dev/null and b/graphics/pokemon/mankey/back.png differ diff --git a/graphics/pokemon/mankey/footprint.png b/graphics/pokemon/mankey/footprint.png new file mode 100644 index 000000000..f02036af5 Binary files /dev/null and b/graphics/pokemon/mankey/footprint.png differ diff --git a/graphics/pokemon/mankey/front.png b/graphics/pokemon/mankey/front.png new file mode 100644 index 000000000..47b9e9d93 Binary files /dev/null and b/graphics/pokemon/mankey/front.png differ diff --git a/graphics/pokemon/mankey/icon.png b/graphics/pokemon/mankey/icon.png new file mode 100644 index 000000000..369221126 Binary files /dev/null and b/graphics/pokemon/mankey/icon.png differ diff --git a/graphics/pokemon/mankey/normal.pal b/graphics/pokemon/mankey/normal.pal new file mode 100644 index 000000000..0f80883fc --- /dev/null +++ b/graphics/pokemon/mankey/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +222 222 222 +255 230 189 +238 180 139 +238 115 98 +189 74 49 +16 16 16 +255 197 131 +222 164 115 +197 123 74 +115 65 0 +255 246 205 +246 222 180 +213 189 156 +106 74 41 diff --git a/graphics/pokemon/mankey/shiny.pal b/graphics/pokemon/mankey/shiny.pal new file mode 100644 index 000000000..55703c37b --- /dev/null +++ b/graphics/pokemon/mankey/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +222 222 222 +255 230 189 +238 180 139 +230 139 98 +189 74 49 +16 16 16 +238 197 139 +197 156 98 +156 115 57 +98 57 0 +213 230 148 +180 197 115 +139 156 74 +82 98 16 diff --git a/graphics/pokemon/mantine/back.png b/graphics/pokemon/mantine/back.png new file mode 100644 index 000000000..186e90e1e Binary files /dev/null and b/graphics/pokemon/mantine/back.png differ diff --git a/graphics/pokemon/mantine/footprint.png b/graphics/pokemon/mantine/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/mantine/footprint.png differ diff --git a/graphics/pokemon/mantine/front.png b/graphics/pokemon/mantine/front.png new file mode 100644 index 000000000..b8a292d83 Binary files /dev/null and b/graphics/pokemon/mantine/front.png differ diff --git a/graphics/pokemon/mantine/icon.png b/graphics/pokemon/mantine/icon.png new file mode 100644 index 000000000..cf0bb2223 Binary files /dev/null and b/graphics/pokemon/mantine/icon.png differ diff --git a/graphics/pokemon/mantine/normal.pal b/graphics/pokemon/mantine/normal.pal new file mode 100644 index 000000000..36e0777c4 --- /dev/null +++ b/graphics/pokemon/mantine/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +148 164 213 +90 106 139 +41 65 98 +24 41 74 +255 0 255 +205 230 255 +180 205 255 +156 164 197 +246 230 246 +230 205 230 +213 189 205 +164 148 164 +106 106 106 +16 16 16 diff --git a/graphics/pokemon/mantine/shiny.pal b/graphics/pokemon/mantine/shiny.pal new file mode 100644 index 000000000..5427dc275 --- /dev/null +++ b/graphics/pokemon/mantine/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +164 205 238 +123 156 238 +74 98 197 +16 49 148 +255 0 255 +205 230 255 +180 205 255 +156 189 213 +230 246 255 +205 230 255 +172 205 238 +139 164 205 +74 82 115 +16 16 16 diff --git a/graphics/pokemon/mareep/back.png b/graphics/pokemon/mareep/back.png new file mode 100644 index 000000000..601d13c8d Binary files /dev/null and b/graphics/pokemon/mareep/back.png differ diff --git a/graphics/pokemon/mareep/footprint.png b/graphics/pokemon/mareep/footprint.png new file mode 100644 index 000000000..2913a4c48 Binary files /dev/null and b/graphics/pokemon/mareep/footprint.png differ diff --git a/graphics/pokemon/mareep/front.png b/graphics/pokemon/mareep/front.png new file mode 100644 index 000000000..7f052faea Binary files /dev/null and b/graphics/pokemon/mareep/front.png differ diff --git a/graphics/pokemon/mareep/icon.png b/graphics/pokemon/mareep/icon.png new file mode 100644 index 000000000..2bd5335b6 Binary files /dev/null and b/graphics/pokemon/mareep/icon.png differ diff --git a/graphics/pokemon/mareep/normal.pal b/graphics/pokemon/mareep/normal.pal new file mode 100644 index 000000000..bd24bfe72 --- /dev/null +++ b/graphics/pokemon/mareep/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 238 131 +230 197 98 +197 148 41 +139 90 24 +74 180 230 +32 148 189 +0 74 148 +0 32 106 +255 222 0 +230 172 0 +180 123 0 +164 164 164 +82 82 82 +16 16 16 diff --git a/graphics/pokemon/mareep/shiny.pal b/graphics/pokemon/mareep/shiny.pal new file mode 100644 index 000000000..587f7493f --- /dev/null +++ b/graphics/pokemon/mareep/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 213 205 +238 148 180 +222 90 131 +172 65 90 +74 180 230 +32 148 189 +0 74 148 +0 32 106 +255 222 0 +230 172 0 +180 123 0 +164 164 164 +82 82 82 +16 16 16 diff --git a/graphics/pokemon/marill/back.png b/graphics/pokemon/marill/back.png new file mode 100644 index 000000000..49bc29d97 Binary files /dev/null and b/graphics/pokemon/marill/back.png differ diff --git a/graphics/pokemon/marill/footprint.png b/graphics/pokemon/marill/footprint.png new file mode 100644 index 000000000..a09d8f2c0 Binary files /dev/null and b/graphics/pokemon/marill/footprint.png differ diff --git a/graphics/pokemon/marill/front.png b/graphics/pokemon/marill/front.png new file mode 100644 index 000000000..91cdf233f Binary files /dev/null and b/graphics/pokemon/marill/front.png differ diff --git a/graphics/pokemon/marill/icon.png b/graphics/pokemon/marill/icon.png new file mode 100644 index 000000000..d91f9da86 Binary files /dev/null and b/graphics/pokemon/marill/icon.png differ diff --git a/graphics/pokemon/marill/normal.pal b/graphics/pokemon/marill/normal.pal new file mode 100644 index 000000000..77ed6b4b6 --- /dev/null +++ b/graphics/pokemon/marill/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +222 230 222 +156 156 156 +98 98 98 +16 16 16 +156 189 255 +106 148 255 +74 115 255 +49 65 90 +57 90 189 +255 0 255 +246 131 0 +213 74 0 +148 24 0 +255 0 255 diff --git a/graphics/pokemon/marill/shiny.pal b/graphics/pokemon/marill/shiny.pal new file mode 100644 index 000000000..7bd492c65 --- /dev/null +++ b/graphics/pokemon/marill/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +222 230 222 +156 156 156 +98 98 98 +16 16 16 +156 255 156 +123 230 131 +90 205 106 +49 123 65 +49 164 74 +255 0 255 +255 115 148 +213 74 115 +164 41 57 +255 0 255 diff --git a/graphics/pokemon/marowak/back.png b/graphics/pokemon/marowak/back.png new file mode 100644 index 000000000..3af621821 Binary files /dev/null and b/graphics/pokemon/marowak/back.png differ diff --git a/graphics/pokemon/marowak/footprint.png b/graphics/pokemon/marowak/footprint.png new file mode 100644 index 000000000..fbde41d04 Binary files /dev/null and b/graphics/pokemon/marowak/footprint.png differ diff --git a/graphics/pokemon/marowak/front.png b/graphics/pokemon/marowak/front.png new file mode 100644 index 000000000..cc30ea0c6 Binary files /dev/null and b/graphics/pokemon/marowak/front.png differ diff --git a/graphics/pokemon/marowak/icon.png b/graphics/pokemon/marowak/icon.png new file mode 100644 index 000000000..7efbb1779 Binary files /dev/null and b/graphics/pokemon/marowak/icon.png differ diff --git a/graphics/pokemon/marowak/normal.pal b/graphics/pokemon/marowak/normal.pal new file mode 100644 index 000000000..467682472 --- /dev/null +++ b/graphics/pokemon/marowak/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 205 +255 255 255 +230 230 213 +197 197 172 +139 139 106 +82 82 57 +16 16 16 +197 57 16 +255 222 180 +246 197 148 +238 164 106 +164 106 65 +222 189 106 +197 156 74 +164 115 49 +98 57 24 diff --git a/graphics/pokemon/marowak/shiny.pal b/graphics/pokemon/marowak/shiny.pal new file mode 100644 index 000000000..569ccc082 --- /dev/null +++ b/graphics/pokemon/marowak/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 205 +255 255 255 +230 230 213 +197 197 172 +139 139 106 +82 82 57 +16 16 16 +197 57 16 +255 222 180 +246 197 148 +230 148 82 +189 115 57 +213 222 139 +172 180 98 +131 139 57 +65 74 0 diff --git a/graphics/pokemon/marshtomp/back.png b/graphics/pokemon/marshtomp/back.png new file mode 100644 index 000000000..6c530aaee Binary files /dev/null and b/graphics/pokemon/marshtomp/back.png differ diff --git a/graphics/pokemon/marshtomp/footprint.png b/graphics/pokemon/marshtomp/footprint.png new file mode 100644 index 000000000..3c232ccad Binary files /dev/null and b/graphics/pokemon/marshtomp/footprint.png differ diff --git a/graphics/pokemon/marshtomp/front.png b/graphics/pokemon/marshtomp/front.png new file mode 100644 index 000000000..92e043bbc Binary files /dev/null and b/graphics/pokemon/marshtomp/front.png differ diff --git a/graphics/pokemon/marshtomp/icon.png b/graphics/pokemon/marshtomp/icon.png new file mode 100644 index 000000000..170e82851 Binary files /dev/null and b/graphics/pokemon/marshtomp/icon.png differ diff --git a/graphics/pokemon/marshtomp/normal.pal b/graphics/pokemon/marshtomp/normal.pal new file mode 100644 index 000000000..b21cb52db --- /dev/null +++ b/graphics/pokemon/marshtomp/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +222 222 255 +197 197 238 +172 172 213 +131 131 156 +255 164 82 +246 123 57 +205 98 32 +164 123 90 +255 255 255 +172 238 238 +148 213 213 +106 189 189 +98 148 156 +90 90 115 +16 16 16 diff --git a/graphics/pokemon/marshtomp/shiny.pal b/graphics/pokemon/marshtomp/shiny.pal new file mode 100644 index 000000000..f47e2751d --- /dev/null +++ b/graphics/pokemon/marshtomp/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +238 238 255 +213 213 238 +189 189 213 +148 148 156 +255 230 156 +255 180 65 +205 131 24 +164 123 90 +255 255 255 +246 205 246 +230 172 246 +205 123 230 +156 106 172 +106 49 123 +16 16 16 diff --git a/graphics/pokemon/masquerain/back.png b/graphics/pokemon/masquerain/back.png new file mode 100644 index 000000000..0092c2ca6 Binary files /dev/null and b/graphics/pokemon/masquerain/back.png differ diff --git a/graphics/pokemon/masquerain/footprint.png b/graphics/pokemon/masquerain/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/masquerain/footprint.png differ diff --git a/graphics/pokemon/masquerain/front.png b/graphics/pokemon/masquerain/front.png new file mode 100644 index 000000000..b4c33dccc Binary files /dev/null and b/graphics/pokemon/masquerain/front.png differ diff --git a/graphics/pokemon/masquerain/icon.png b/graphics/pokemon/masquerain/icon.png new file mode 100644 index 000000000..5487241e2 Binary files /dev/null and b/graphics/pokemon/masquerain/icon.png differ diff --git a/graphics/pokemon/masquerain/normal.pal b/graphics/pokemon/masquerain/normal.pal new file mode 100644 index 000000000..54690d35b --- /dev/null +++ b/graphics/pokemon/masquerain/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 255 255 +65 65 90 +148 164 197 +180 205 238 +197 238 238 +106 74 32 +205 139 49 +255 156 74 +222 222 205 +255 255 255 +90 16 8 +131 65 32 +172 16 8 +222 57 32 +255 255 255 +24 24 24 diff --git a/graphics/pokemon/masquerain/shiny.pal b/graphics/pokemon/masquerain/shiny.pal new file mode 100644 index 000000000..09ed3ccf5 --- /dev/null +++ b/graphics/pokemon/masquerain/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 255 255 +49 123 74 +98 180 98 +148 230 148 +205 255 172 +82 74 32 +106 106 49 +164 148 115 +222 222 41 +255 255 41 +90 16 8 +131 65 32 +172 16 8 +222 57 32 +255 255 255 +24 24 24 diff --git a/graphics/pokemon/mawile/back.png b/graphics/pokemon/mawile/back.png new file mode 100644 index 000000000..5bbf44ca9 Binary files /dev/null and b/graphics/pokemon/mawile/back.png differ diff --git a/graphics/pokemon/mawile/footprint.png b/graphics/pokemon/mawile/footprint.png new file mode 100644 index 000000000..5195fd4df Binary files /dev/null and b/graphics/pokemon/mawile/footprint.png differ diff --git a/graphics/pokemon/mawile/front.png b/graphics/pokemon/mawile/front.png new file mode 100644 index 000000000..49f38de14 Binary files /dev/null and b/graphics/pokemon/mawile/front.png differ diff --git a/graphics/pokemon/mawile/icon.png b/graphics/pokemon/mawile/icon.png new file mode 100644 index 000000000..cf7363277 Binary files /dev/null and b/graphics/pokemon/mawile/icon.png differ diff --git a/graphics/pokemon/mawile/normal.pal b/graphics/pokemon/mawile/normal.pal new file mode 100644 index 000000000..ebb40809c --- /dev/null +++ b/graphics/pokemon/mawile/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +205 205 205 +213 131 172 +189 98 139 +156 74 106 +0 0 0 +255 222 139 +255 197 90 +213 156 74 +156 123 57 +0 0 0 +197 197 197 +164 164 164 +131 131 131 +82 82 82 diff --git a/graphics/pokemon/mawile/shiny.pal b/graphics/pokemon/mawile/shiny.pal new file mode 100644 index 000000000..ceadfc93e --- /dev/null +++ b/graphics/pokemon/mawile/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +205 205 205 +255 123 82 +222 98 49 +180 65 49 +0 0 0 +255 222 139 +255 197 90 +213 156 74 +156 123 57 +0 0 0 +238 156 197 +205 123 164 +164 90 131 +131 49 90 diff --git a/graphics/pokemon/medicham/back.png b/graphics/pokemon/medicham/back.png new file mode 100644 index 000000000..f4f58839b Binary files /dev/null and b/graphics/pokemon/medicham/back.png differ diff --git a/graphics/pokemon/medicham/footprint.png b/graphics/pokemon/medicham/footprint.png new file mode 100644 index 000000000..804e8c1d8 Binary files /dev/null and b/graphics/pokemon/medicham/footprint.png differ diff --git a/graphics/pokemon/medicham/front.png b/graphics/pokemon/medicham/front.png new file mode 100644 index 000000000..1da67a1f2 Binary files /dev/null and b/graphics/pokemon/medicham/front.png differ diff --git a/graphics/pokemon/medicham/icon.png b/graphics/pokemon/medicham/icon.png new file mode 100644 index 000000000..ed287fb28 Binary files /dev/null and b/graphics/pokemon/medicham/icon.png differ diff --git a/graphics/pokemon/medicham/normal.pal b/graphics/pokemon/medicham/normal.pal new file mode 100644 index 000000000..ffc38ab86 --- /dev/null +++ b/graphics/pokemon/medicham/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +139 213 139 +255 255 255 +255 156 148 +230 123 123 +205 90 82 +123 82 74 +0 0 0 +164 139 106 +164 164 164 +131 131 131 +255 230 131 +255 205 90 +238 238 213 +213 213 197 +189 189 172 +139 139 123 diff --git a/graphics/pokemon/medicham/shiny.pal b/graphics/pokemon/medicham/shiny.pal new file mode 100644 index 000000000..9a1d82aa7 --- /dev/null +++ b/graphics/pokemon/medicham/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +139 213 139 +255 255 255 +139 189 246 +98 148 205 +74 115 172 +74 90 115 +0 0 0 +164 139 106 +164 164 164 +131 131 131 +255 230 131 +255 205 90 +238 205 164 +230 172 139 +205 148 115 +123 90 74 diff --git a/graphics/pokemon/meditite/back.png b/graphics/pokemon/meditite/back.png new file mode 100644 index 000000000..8c00d8f6d Binary files /dev/null and b/graphics/pokemon/meditite/back.png differ diff --git a/graphics/pokemon/meditite/footprint.png b/graphics/pokemon/meditite/footprint.png new file mode 100644 index 000000000..034cb0df8 Binary files /dev/null and b/graphics/pokemon/meditite/footprint.png differ diff --git a/graphics/pokemon/meditite/front.png b/graphics/pokemon/meditite/front.png new file mode 100644 index 000000000..e8717b13d Binary files /dev/null and b/graphics/pokemon/meditite/front.png differ diff --git a/graphics/pokemon/meditite/icon.png b/graphics/pokemon/meditite/icon.png new file mode 100644 index 000000000..05a02f077 Binary files /dev/null and b/graphics/pokemon/meditite/icon.png differ diff --git a/graphics/pokemon/meditite/normal.pal b/graphics/pokemon/meditite/normal.pal new file mode 100644 index 000000000..a60729a6a --- /dev/null +++ b/graphics/pokemon/meditite/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +139 189 139 +255 255 255 +238 230 230 +205 197 197 +148 123 123 +255 131 106 +230 90 57 +180 65 49 +180 57 90 +115 41 65 +0 0 0 +197 222 255 +139 189 246 +98 148 205 +74 115 172 +74 90 115 diff --git a/graphics/pokemon/meditite/shiny.pal b/graphics/pokemon/meditite/shiny.pal new file mode 100644 index 000000000..de7c38f5a --- /dev/null +++ b/graphics/pokemon/meditite/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +139 189 139 +255 255 255 +246 230 238 +213 189 205 +164 115 123 +255 131 106 +255 139 57 +180 65 49 +180 57 90 +115 41 65 +0 0 0 +255 131 106 +230 90 57 +180 65 49 +180 57 90 +115 41 65 diff --git a/graphics/pokemon/meganium/back.png b/graphics/pokemon/meganium/back.png new file mode 100644 index 000000000..be01710af Binary files /dev/null and b/graphics/pokemon/meganium/back.png differ diff --git a/graphics/pokemon/meganium/footprint.png b/graphics/pokemon/meganium/footprint.png new file mode 100644 index 000000000..39303ac4f Binary files /dev/null and b/graphics/pokemon/meganium/footprint.png differ diff --git a/graphics/pokemon/meganium/front.png b/graphics/pokemon/meganium/front.png new file mode 100644 index 000000000..5ecee5287 Binary files /dev/null and b/graphics/pokemon/meganium/front.png differ diff --git a/graphics/pokemon/meganium/icon.png b/graphics/pokemon/meganium/icon.png new file mode 100644 index 000000000..ce4592272 Binary files /dev/null and b/graphics/pokemon/meganium/icon.png differ diff --git a/graphics/pokemon/meganium/normal.pal b/graphics/pokemon/meganium/normal.pal new file mode 100644 index 000000000..6a4bca91c --- /dev/null +++ b/graphics/pokemon/meganium/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +189 255 123 +156 230 82 +106 189 49 +32 139 16 +98 74 0 +246 164 156 +255 57 90 +205 32 57 +123 16 57 +205 205 205 +106 106 106 +16 16 16 +255 222 32 +230 172 0 diff --git a/graphics/pokemon/meganium/shiny.pal b/graphics/pokemon/meganium/shiny.pal new file mode 100644 index 000000000..0b03b419d --- /dev/null +++ b/graphics/pokemon/meganium/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 255 98 +246 230 41 +213 197 16 +131 115 8 +74 57 0 +255 180 65 +255 123 16 +205 74 0 +139 74 0 +205 205 205 +106 106 106 +16 16 16 +255 222 32 +230 172 0 diff --git a/graphics/pokemon/meowth/back.png b/graphics/pokemon/meowth/back.png new file mode 100644 index 000000000..d87e7aa14 Binary files /dev/null and b/graphics/pokemon/meowth/back.png differ diff --git a/graphics/pokemon/meowth/footprint.png b/graphics/pokemon/meowth/footprint.png new file mode 100644 index 000000000..7dc20ada7 Binary files /dev/null and b/graphics/pokemon/meowth/footprint.png differ diff --git a/graphics/pokemon/meowth/front.png b/graphics/pokemon/meowth/front.png new file mode 100644 index 000000000..76299ea59 Binary files /dev/null and b/graphics/pokemon/meowth/front.png differ diff --git a/graphics/pokemon/meowth/icon.png b/graphics/pokemon/meowth/icon.png new file mode 100644 index 000000000..146c69093 Binary files /dev/null and b/graphics/pokemon/meowth/icon.png differ diff --git a/graphics/pokemon/meowth/normal.pal b/graphics/pokemon/meowth/normal.pal new file mode 100644 index 000000000..034249ad5 --- /dev/null +++ b/graphics/pokemon/meowth/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 255 148 +255 213 0 +205 164 0 +255 115 82 +213 90 57 +16 16 16 +230 230 230 +238 156 49 +205 123 16 +148 65 0 +255 255 180 +255 230 131 +230 180 65 +156 106 0 diff --git a/graphics/pokemon/meowth/shiny.pal b/graphics/pokemon/meowth/shiny.pal new file mode 100644 index 000000000..68f386ca6 --- /dev/null +++ b/graphics/pokemon/meowth/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 255 148 +255 213 0 +205 164 0 +255 115 82 +213 90 57 +16 16 16 +230 230 230 +255 123 139 +222 82 98 +139 41 57 +255 238 148 +255 197 106 +213 156 65 +131 74 0 diff --git a/graphics/pokemon/metagross/back.png b/graphics/pokemon/metagross/back.png new file mode 100644 index 000000000..2097f945d Binary files /dev/null and b/graphics/pokemon/metagross/back.png differ diff --git a/graphics/pokemon/metagross/footprint.png b/graphics/pokemon/metagross/footprint.png new file mode 100644 index 000000000..07f91d604 Binary files /dev/null and b/graphics/pokemon/metagross/footprint.png differ diff --git a/graphics/pokemon/metagross/front.png b/graphics/pokemon/metagross/front.png new file mode 100644 index 000000000..6349fe912 Binary files /dev/null and b/graphics/pokemon/metagross/front.png differ diff --git a/graphics/pokemon/metagross/icon.png b/graphics/pokemon/metagross/icon.png new file mode 100644 index 000000000..e9cf14ab1 Binary files /dev/null and b/graphics/pokemon/metagross/icon.png differ diff --git a/graphics/pokemon/metagross/normal.pal b/graphics/pokemon/metagross/normal.pal new file mode 100644 index 000000000..265dadb67 --- /dev/null +++ b/graphics/pokemon/metagross/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +205 205 205 +172 172 172 +148 139 148 +115 106 115 +222 222 222 +131 74 74 +255 106 106 +213 74 82 +131 205 255 +197 222 255 +90 164 255 +74 131 213 +57 98 180 +49 57 115 +16 16 16 diff --git a/graphics/pokemon/metagross/shiny.pal b/graphics/pokemon/metagross/shiny.pal new file mode 100644 index 000000000..4ff89d816 --- /dev/null +++ b/graphics/pokemon/metagross/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +238 172 82 +205 139 49 +172 106 16 +139 74 0 +255 205 115 +131 74 74 +255 106 106 +213 74 82 +238 238 246 +255 255 255 +213 213 222 +172 172 180 +139 131 139 +98 90 98 +16 16 16 diff --git a/graphics/pokemon/metang/back.png b/graphics/pokemon/metang/back.png new file mode 100644 index 000000000..2ba18eb3d Binary files /dev/null and b/graphics/pokemon/metang/back.png differ diff --git a/graphics/pokemon/metang/footprint.png b/graphics/pokemon/metang/footprint.png new file mode 100644 index 000000000..5b0f8f5b0 Binary files /dev/null and b/graphics/pokemon/metang/footprint.png differ diff --git a/graphics/pokemon/metang/front.png b/graphics/pokemon/metang/front.png new file mode 100644 index 000000000..397bef3bf Binary files /dev/null and b/graphics/pokemon/metang/front.png differ diff --git a/graphics/pokemon/metang/icon.png b/graphics/pokemon/metang/icon.png new file mode 100644 index 000000000..cc095e935 Binary files /dev/null and b/graphics/pokemon/metang/icon.png differ diff --git a/graphics/pokemon/metang/normal.pal b/graphics/pokemon/metang/normal.pal new file mode 100644 index 000000000..41b48bc08 --- /dev/null +++ b/graphics/pokemon/metang/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +205 205 205 +172 172 172 +148 139 148 +115 106 115 +222 222 222 +131 74 74 +255 106 106 +213 74 82 +131 205 255 +255 255 255 +90 164 255 +74 131 213 +57 98 180 +49 57 115 +16 16 16 diff --git a/graphics/pokemon/metang/shiny.pal b/graphics/pokemon/metang/shiny.pal new file mode 100644 index 000000000..56c14cd75 --- /dev/null +++ b/graphics/pokemon/metang/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +238 172 82 +205 139 49 +172 106 16 +139 74 0 +255 205 115 +156 65 65 +255 106 106 +255 74 82 +238 238 246 +255 255 255 +213 213 222 +172 172 180 +123 115 123 +82 74 82 +16 16 16 diff --git a/graphics/pokemon/metapod/back.png b/graphics/pokemon/metapod/back.png new file mode 100644 index 000000000..825f6d504 Binary files /dev/null and b/graphics/pokemon/metapod/back.png differ diff --git a/graphics/pokemon/metapod/footprint.png b/graphics/pokemon/metapod/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/metapod/footprint.png differ diff --git a/graphics/pokemon/metapod/front.png b/graphics/pokemon/metapod/front.png new file mode 100644 index 000000000..5069c7202 Binary files /dev/null and b/graphics/pokemon/metapod/front.png differ diff --git a/graphics/pokemon/metapod/icon.png b/graphics/pokemon/metapod/icon.png new file mode 100644 index 000000000..2316b2408 Binary files /dev/null and b/graphics/pokemon/metapod/icon.png differ diff --git a/graphics/pokemon/metapod/normal.pal b/graphics/pokemon/metapod/normal.pal new file mode 100644 index 000000000..747522889 --- /dev/null +++ b/graphics/pokemon/metapod/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +189 255 115 +156 213 74 +115 172 49 +82 98 41 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +197 197 197 +16 16 16 +255 255 255 +255 255 255 +255 255 255 +255 255 255 diff --git a/graphics/pokemon/metapod/shiny.pal b/graphics/pokemon/metapod/shiny.pal new file mode 100644 index 000000000..ed6240fb0 --- /dev/null +++ b/graphics/pokemon/metapod/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 197 139 +255 148 106 +230 98 74 +131 65 32 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +197 197 197 +16 16 16 +255 255 255 +255 255 255 +255 255 255 +255 255 255 diff --git a/graphics/pokemon/mew/back.png b/graphics/pokemon/mew/back.png new file mode 100644 index 000000000..85303cf70 Binary files /dev/null and b/graphics/pokemon/mew/back.png differ diff --git a/graphics/pokemon/mew/footprint.png b/graphics/pokemon/mew/footprint.png new file mode 100644 index 000000000..afbba43ac Binary files /dev/null and b/graphics/pokemon/mew/footprint.png differ diff --git a/graphics/pokemon/mew/front.png b/graphics/pokemon/mew/front.png new file mode 100644 index 000000000..a2b2dd573 Binary files /dev/null and b/graphics/pokemon/mew/front.png differ diff --git a/graphics/pokemon/mew/icon.png b/graphics/pokemon/mew/icon.png new file mode 100644 index 000000000..cffd1dacc Binary files /dev/null and b/graphics/pokemon/mew/icon.png differ diff --git a/graphics/pokemon/mew/normal.pal b/graphics/pokemon/mew/normal.pal new file mode 100644 index 000000000..2d1c73fbc --- /dev/null +++ b/graphics/pokemon/mew/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +213 213 213 +24 90 164 +82 180 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +222 148 131 +246 213 230 +255 197 205 +255 164 148 +213 74 82 +156 57 57 +41 41 41 diff --git a/graphics/pokemon/mew/shiny.pal b/graphics/pokemon/mew/shiny.pal new file mode 100644 index 000000000..6fd333100 --- /dev/null +++ b/graphics/pokemon/mew/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +213 213 213 +24 90 164 +74 148 213 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +139 180 246 +230 246 255 +197 238 255 +164 213 246 +82 139 205 +74 115 180 +41 41 41 diff --git a/graphics/pokemon/mewtwo/back.png b/graphics/pokemon/mewtwo/back.png new file mode 100644 index 000000000..e466856e5 Binary files /dev/null and b/graphics/pokemon/mewtwo/back.png differ diff --git a/graphics/pokemon/mewtwo/footprint.png b/graphics/pokemon/mewtwo/footprint.png new file mode 100644 index 000000000..0f7573dd3 Binary files /dev/null and b/graphics/pokemon/mewtwo/footprint.png differ diff --git a/graphics/pokemon/mewtwo/front.png b/graphics/pokemon/mewtwo/front.png new file mode 100644 index 000000000..a35fd8dda Binary files /dev/null and b/graphics/pokemon/mewtwo/front.png differ diff --git a/graphics/pokemon/mewtwo/icon.png b/graphics/pokemon/mewtwo/icon.png new file mode 100644 index 000000000..65f2aeec2 Binary files /dev/null and b/graphics/pokemon/mewtwo/icon.png differ diff --git a/graphics/pokemon/mewtwo/normal.pal b/graphics/pokemon/mewtwo/normal.pal new file mode 100644 index 000000000..4afd3567e --- /dev/null +++ b/graphics/pokemon/mewtwo/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 213 213 +230 230 246 +189 189 213 +139 139 180 +82 82 106 +230 180 255 +180 131 213 +139 90 172 +115 49 148 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/mewtwo/shiny.pal b/graphics/pokemon/mewtwo/shiny.pal new file mode 100644 index 000000000..c65c6c83e --- /dev/null +++ b/graphics/pokemon/mewtwo/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 213 213 +230 230 230 +180 180 180 +148 148 148 +74 74 57 +189 238 90 +148 205 65 +90 148 32 +65 90 41 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/mightyena/back.png b/graphics/pokemon/mightyena/back.png new file mode 100644 index 000000000..188562590 Binary files /dev/null and b/graphics/pokemon/mightyena/back.png differ diff --git a/graphics/pokemon/mightyena/footprint.png b/graphics/pokemon/mightyena/footprint.png new file mode 100644 index 000000000..b39af65bc Binary files /dev/null and b/graphics/pokemon/mightyena/footprint.png differ diff --git a/graphics/pokemon/mightyena/front.png b/graphics/pokemon/mightyena/front.png new file mode 100644 index 000000000..16af4c021 Binary files /dev/null and b/graphics/pokemon/mightyena/front.png differ diff --git a/graphics/pokemon/mightyena/icon.png b/graphics/pokemon/mightyena/icon.png new file mode 100644 index 000000000..3f9e61763 Binary files /dev/null and b/graphics/pokemon/mightyena/icon.png differ diff --git a/graphics/pokemon/mightyena/normal.pal b/graphics/pokemon/mightyena/normal.pal new file mode 100644 index 000000000..42cdc8fc1 --- /dev/null +++ b/graphics/pokemon/mightyena/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +57 164 164 +0 0 0 +0 0 0 +172 172 180 +148 139 156 +74 82 106 +49 49 65 +32 32 41 +222 230 238 +197 205 213 +255 197 90 +172 123 90 +222 57 57 +164 16 16 +255 255 255 +0 0 0 diff --git a/graphics/pokemon/mightyena/shiny.pal b/graphics/pokemon/mightyena/shiny.pal new file mode 100644 index 000000000..7881952af --- /dev/null +++ b/graphics/pokemon/mightyena/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +57 164 164 +0 0 0 +0 0 0 +255 205 106 +213 172 74 +164 123 82 +131 90 57 +98 57 16 +255 238 172 +255 222 123 +255 255 255 +172 123 90 +74 98 172 +49 57 115 +255 255 255 +0 0 0 diff --git a/graphics/pokemon/milotic/back.png b/graphics/pokemon/milotic/back.png new file mode 100644 index 000000000..5d91dfb63 Binary files /dev/null and b/graphics/pokemon/milotic/back.png differ diff --git a/graphics/pokemon/milotic/footprint.png b/graphics/pokemon/milotic/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/milotic/footprint.png differ diff --git a/graphics/pokemon/milotic/front.png b/graphics/pokemon/milotic/front.png new file mode 100644 index 000000000..82d683449 Binary files /dev/null and b/graphics/pokemon/milotic/front.png differ diff --git a/graphics/pokemon/milotic/icon.png b/graphics/pokemon/milotic/icon.png new file mode 100644 index 000000000..c1aa2ec8a Binary files /dev/null and b/graphics/pokemon/milotic/icon.png differ diff --git a/graphics/pokemon/milotic/normal.pal b/graphics/pokemon/milotic/normal.pal new file mode 100644 index 000000000..df5cab01a --- /dev/null +++ b/graphics/pokemon/milotic/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +246 246 148 +115 57 49 +164 106 82 +222 189 156 +255 213 180 +255 230 213 +148 172 197 +139 197 255 +213 98 65 +238 131 90 +180 82 65 +230 131 139 +255 164 131 +106 98 123 +246 246 238 +0 0 0 diff --git a/graphics/pokemon/milotic/shiny.pal b/graphics/pokemon/milotic/shiny.pal new file mode 100644 index 000000000..8a57b80b2 --- /dev/null +++ b/graphics/pokemon/milotic/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +246 246 148 +115 57 49 +164 106 82 +222 189 156 +255 213 180 +255 238 222 +222 197 0 +255 230 32 +148 156 205 +180 189 238 +90 98 148 +230 131 139 +255 164 131 +106 98 123 +246 246 238 +0 0 0 diff --git a/graphics/pokemon/miltank/back.png b/graphics/pokemon/miltank/back.png new file mode 100644 index 000000000..0cf5b21e6 Binary files /dev/null and b/graphics/pokemon/miltank/back.png differ diff --git a/graphics/pokemon/miltank/footprint.png b/graphics/pokemon/miltank/footprint.png new file mode 100644 index 000000000..a7162cd21 Binary files /dev/null and b/graphics/pokemon/miltank/footprint.png differ diff --git a/graphics/pokemon/miltank/front.png b/graphics/pokemon/miltank/front.png new file mode 100644 index 000000000..394b56fab Binary files /dev/null and b/graphics/pokemon/miltank/front.png differ diff --git a/graphics/pokemon/miltank/icon.png b/graphics/pokemon/miltank/icon.png new file mode 100644 index 000000000..ade9cad90 Binary files /dev/null and b/graphics/pokemon/miltank/icon.png differ diff --git a/graphics/pokemon/miltank/normal.pal b/graphics/pokemon/miltank/normal.pal new file mode 100644 index 000000000..105c67283 --- /dev/null +++ b/graphics/pokemon/miltank/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 213 222 +255 172 164 +213 123 115 +139 74 74 +255 230 156 +238 197 123 +197 156 82 +148 106 32 +0 82 255 +164 164 164 +90 90 90 +49 49 49 +24 24 32 +180 57 98 diff --git a/graphics/pokemon/miltank/shiny.pal b/graphics/pokemon/miltank/shiny.pal new file mode 100644 index 000000000..7dcb6f2ee --- /dev/null +++ b/graphics/pokemon/miltank/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +246 246 238 +230 238 238 +156 172 189 +90 98 131 +255 255 255 +222 213 197 +172 156 115 +139 106 74 +0 82 255 +213 74 49 +139 57 32 +90 24 16 +41 24 24 +238 106 115 diff --git a/graphics/pokemon/minun/back.png b/graphics/pokemon/minun/back.png new file mode 100644 index 000000000..7c1377d59 Binary files /dev/null and b/graphics/pokemon/minun/back.png differ diff --git a/graphics/pokemon/minun/footprint.png b/graphics/pokemon/minun/footprint.png new file mode 100644 index 000000000..1071b8069 Binary files /dev/null and b/graphics/pokemon/minun/footprint.png differ diff --git a/graphics/pokemon/minun/front.png b/graphics/pokemon/minun/front.png new file mode 100644 index 000000000..9b373c0a2 Binary files /dev/null and b/graphics/pokemon/minun/front.png differ diff --git a/graphics/pokemon/minun/icon.png b/graphics/pokemon/minun/icon.png new file mode 100644 index 000000000..1aacd776a Binary files /dev/null and b/graphics/pokemon/minun/icon.png differ diff --git a/graphics/pokemon/minun/normal.pal b/graphics/pokemon/minun/normal.pal new file mode 100644 index 000000000..3ed8a19ee --- /dev/null +++ b/graphics/pokemon/minun/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +255 246 222 +255 238 197 +238 213 131 +189 172 131 +123 115 82 +98 156 255 +90 123 230 +49 90 131 +238 82 57 +41 49 65 +98 98 115 +65 65 98 +148 148 148 +0 0 0 +255 255 255 diff --git a/graphics/pokemon/minun/shiny.pal b/graphics/pokemon/minun/shiny.pal new file mode 100644 index 000000000..db9c93534 --- /dev/null +++ b/graphics/pokemon/minun/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +255 246 222 +255 238 164 +255 213 106 +205 148 82 +139 82 16 +148 197 205 +82 139 131 +49 115 106 +238 82 57 +41 49 65 +98 98 115 +65 65 98 +148 148 148 +0 0 0 +255 255 255 diff --git a/graphics/pokemon/misdreavus/back.png b/graphics/pokemon/misdreavus/back.png new file mode 100644 index 000000000..44b44a3ff Binary files /dev/null and b/graphics/pokemon/misdreavus/back.png differ diff --git a/graphics/pokemon/misdreavus/footprint.png b/graphics/pokemon/misdreavus/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/misdreavus/footprint.png differ diff --git a/graphics/pokemon/misdreavus/front.png b/graphics/pokemon/misdreavus/front.png new file mode 100644 index 000000000..135f6969b Binary files /dev/null and b/graphics/pokemon/misdreavus/front.png differ diff --git a/graphics/pokemon/misdreavus/icon.png b/graphics/pokemon/misdreavus/icon.png new file mode 100644 index 000000000..bbe121b91 Binary files /dev/null and b/graphics/pokemon/misdreavus/icon.png differ diff --git a/graphics/pokemon/misdreavus/normal.pal b/graphics/pokemon/misdreavus/normal.pal new file mode 100644 index 000000000..c57ab5ea7 --- /dev/null +++ b/graphics/pokemon/misdreavus/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +16 16 16 +41 74 65 +74 106 115 +115 156 148 +148 189 180 +255 0 246 +255 246 82 +172 16 74 +238 90 148 +255 213 197 +123 32 0 +189 32 24 +255 90 41 +255 148 189 +255 255 255 diff --git a/graphics/pokemon/misdreavus/shiny.pal b/graphics/pokemon/misdreavus/shiny.pal new file mode 100644 index 000000000..8814515be --- /dev/null +++ b/graphics/pokemon/misdreavus/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +16 16 16 +98 82 16 +156 139 49 +213 197 98 +246 230 123 +255 0 255 +255 246 82 +82 65 32 +230 189 65 +255 230 106 +123 41 8 +172 57 24 +255 90 41 +255 197 49 +255 255 255 diff --git a/graphics/pokemon/moltres/back.png b/graphics/pokemon/moltres/back.png new file mode 100644 index 000000000..11ed8ced8 Binary files /dev/null and b/graphics/pokemon/moltres/back.png differ diff --git a/graphics/pokemon/moltres/footprint.png b/graphics/pokemon/moltres/footprint.png new file mode 100644 index 000000000..3900403bd Binary files /dev/null and b/graphics/pokemon/moltres/footprint.png differ diff --git a/graphics/pokemon/moltres/front.png b/graphics/pokemon/moltres/front.png new file mode 100644 index 000000000..3ce75c7cc Binary files /dev/null and b/graphics/pokemon/moltres/front.png differ diff --git a/graphics/pokemon/moltres/icon.png b/graphics/pokemon/moltres/icon.png new file mode 100644 index 000000000..e15d2164a Binary files /dev/null and b/graphics/pokemon/moltres/icon.png differ diff --git a/graphics/pokemon/moltres/normal.pal b/graphics/pokemon/moltres/normal.pal new file mode 100644 index 000000000..b27f7cdac --- /dev/null +++ b/graphics/pokemon/moltres/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +255 255 255 +222 222 222 +180 0 0 +255 213 156 +255 148 74 +255 98 0 +238 0 0 +238 172 74 +205 123 32 +131 49 0 +255 246 65 +255 222 16 +255 172 0 +189 82 0 +16 16 16 diff --git a/graphics/pokemon/moltres/shiny.pal b/graphics/pokemon/moltres/shiny.pal new file mode 100644 index 000000000..b289551aa --- /dev/null +++ b/graphics/pokemon/moltres/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +255 255 255 +222 222 222 +180 0 0 +255 213 156 +255 148 74 +255 98 0 +189 49 41 +255 115 90 +205 49 32 +164 16 32 +255 222 205 +255 172 164 +230 115 106 +172 57 57 +16 16 16 diff --git a/graphics/pokemon/mr_mime/back.png b/graphics/pokemon/mr_mime/back.png new file mode 100644 index 000000000..129fbb4e2 Binary files /dev/null and b/graphics/pokemon/mr_mime/back.png differ diff --git a/graphics/pokemon/mr_mime/footprint.png b/graphics/pokemon/mr_mime/footprint.png new file mode 100644 index 000000000..cb0aff1a3 Binary files /dev/null and b/graphics/pokemon/mr_mime/footprint.png differ diff --git a/graphics/pokemon/mr_mime/front.png b/graphics/pokemon/mr_mime/front.png new file mode 100644 index 000000000..aac232c67 Binary files /dev/null and b/graphics/pokemon/mr_mime/front.png differ diff --git a/graphics/pokemon/mr_mime/icon.png b/graphics/pokemon/mr_mime/icon.png new file mode 100644 index 000000000..b1e3b2bfb Binary files /dev/null and b/graphics/pokemon/mr_mime/icon.png differ diff --git a/graphics/pokemon/mr_mime/normal.pal b/graphics/pokemon/mr_mime/normal.pal new file mode 100644 index 000000000..e878e42c4 --- /dev/null +++ b/graphics/pokemon/mr_mime/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 180 +205 213 222 +131 131 172 +65 74 123 +41 49 74 +255 148 139 +238 74 57 +189 74 57 +123 41 41 +255 230 222 +255 205 197 +230 164 156 +106 65 57 +189 123 106 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/mr_mime/shiny.pal b/graphics/pokemon/mr_mime/shiny.pal new file mode 100644 index 000000000..95c8d6ff3 --- /dev/null +++ b/graphics/pokemon/mr_mime/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 180 +205 213 222 +131 131 172 +65 74 123 +41 49 74 +180 230 82 +139 189 41 +98 148 0 +41 90 0 +255 238 238 +255 205 205 +230 172 172 +139 90 82 +189 123 106 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/mudkip/back.png b/graphics/pokemon/mudkip/back.png new file mode 100644 index 000000000..1b1282d42 Binary files /dev/null and b/graphics/pokemon/mudkip/back.png differ diff --git a/graphics/pokemon/mudkip/footprint.png b/graphics/pokemon/mudkip/footprint.png new file mode 100644 index 000000000..490db6e25 Binary files /dev/null and b/graphics/pokemon/mudkip/footprint.png differ diff --git a/graphics/pokemon/mudkip/front.png b/graphics/pokemon/mudkip/front.png new file mode 100644 index 000000000..15405baf9 Binary files /dev/null and b/graphics/pokemon/mudkip/front.png differ diff --git a/graphics/pokemon/mudkip/icon.png b/graphics/pokemon/mudkip/icon.png new file mode 100644 index 000000000..5a657aa91 Binary files /dev/null and b/graphics/pokemon/mudkip/icon.png differ diff --git a/graphics/pokemon/mudkip/normal.pal b/graphics/pokemon/mudkip/normal.pal new file mode 100644 index 000000000..bc3cc1b65 --- /dev/null +++ b/graphics/pokemon/mudkip/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +180 189 246 +156 172 222 +139 156 180 +123 115 123 +255 180 82 +246 156 65 +205 131 65 +164 123 90 +197 205 255 +255 255 255 +123 197 255 +90 172 230 +49 131 197 +74 74 131 +16 16 16 diff --git a/graphics/pokemon/mudkip/shiny.pal b/graphics/pokemon/mudkip/shiny.pal new file mode 100644 index 000000000..ef5447b60 --- /dev/null +++ b/graphics/pokemon/mudkip/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +255 238 156 +255 205 106 +230 172 90 +213 156 74 +255 180 82 +246 156 65 +205 131 65 +164 123 90 +255 246 197 +255 255 255 +222 156 238 +197 115 222 +139 82 156 +106 49 123 +16 16 16 diff --git a/graphics/pokemon/muk/back.png b/graphics/pokemon/muk/back.png new file mode 100644 index 000000000..07c18b350 Binary files /dev/null and b/graphics/pokemon/muk/back.png differ diff --git a/graphics/pokemon/muk/footprint.png b/graphics/pokemon/muk/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/muk/footprint.png differ diff --git a/graphics/pokemon/muk/front.png b/graphics/pokemon/muk/front.png new file mode 100644 index 000000000..f1ec93830 Binary files /dev/null and b/graphics/pokemon/muk/front.png differ diff --git a/graphics/pokemon/muk/icon.png b/graphics/pokemon/muk/icon.png new file mode 100644 index 000000000..6d8d09350 Binary files /dev/null and b/graphics/pokemon/muk/icon.png differ diff --git a/graphics/pokemon/muk/normal.pal b/graphics/pokemon/muk/normal.pal new file mode 100644 index 000000000..be7aba3a8 --- /dev/null +++ b/graphics/pokemon/muk/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +197 238 222 +238 222 238 +230 189 222 +197 156 180 +148 106 156 +90 49 115 +213 213 222 +172 180 189 +131 139 156 +65 74 90 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/muk/shiny.pal b/graphics/pokemon/muk/shiny.pal new file mode 100644 index 000000000..5ed5ae280 --- /dev/null +++ b/graphics/pokemon/muk/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +238 238 238 +197 246 156 +180 230 148 +139 189 106 +98 148 65 +57 106 24 +213 213 222 +172 180 189 +131 139 156 +65 74 90 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/murkrow/back.png b/graphics/pokemon/murkrow/back.png new file mode 100644 index 000000000..3007b7643 Binary files /dev/null and b/graphics/pokemon/murkrow/back.png differ diff --git a/graphics/pokemon/murkrow/footprint.png b/graphics/pokemon/murkrow/footprint.png new file mode 100644 index 000000000..0f0566834 Binary files /dev/null and b/graphics/pokemon/murkrow/footprint.png differ diff --git a/graphics/pokemon/murkrow/front.png b/graphics/pokemon/murkrow/front.png new file mode 100644 index 000000000..77c11fef2 Binary files /dev/null and b/graphics/pokemon/murkrow/front.png differ diff --git a/graphics/pokemon/murkrow/icon.png b/graphics/pokemon/murkrow/icon.png new file mode 100644 index 000000000..eac91aa18 Binary files /dev/null and b/graphics/pokemon/murkrow/icon.png differ diff --git a/graphics/pokemon/murkrow/normal.pal b/graphics/pokemon/murkrow/normal.pal new file mode 100644 index 000000000..1d8b5f991 --- /dev/null +++ b/graphics/pokemon/murkrow/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 172 139 +238 57 65 +172 16 32 +41 65 65 +57 82 82 +82 106 106 +139 164 164 +255 0 255 +106 74 16 +156 123 32 +213 180 41 +255 255 82 +255 0 255 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/murkrow/shiny.pal b/graphics/pokemon/murkrow/shiny.pal new file mode 100644 index 000000000..4524256e4 --- /dev/null +++ b/graphics/pokemon/murkrow/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 172 139 +238 57 65 +172 16 32 +98 41 90 +156 57 139 +197 90 164 +238 131 197 +255 0 255 +106 74 16 +156 123 32 +213 180 41 +255 255 82 +255 0 255 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/natu/back.png b/graphics/pokemon/natu/back.png new file mode 100644 index 000000000..0349877d5 Binary files /dev/null and b/graphics/pokemon/natu/back.png differ diff --git a/graphics/pokemon/natu/footprint.png b/graphics/pokemon/natu/footprint.png new file mode 100644 index 000000000..f17821fc0 Binary files /dev/null and b/graphics/pokemon/natu/footprint.png differ diff --git a/graphics/pokemon/natu/front.png b/graphics/pokemon/natu/front.png new file mode 100644 index 000000000..b25742d8e Binary files /dev/null and b/graphics/pokemon/natu/front.png differ diff --git a/graphics/pokemon/natu/icon.png b/graphics/pokemon/natu/icon.png new file mode 100644 index 000000000..7188fb7f3 Binary files /dev/null and b/graphics/pokemon/natu/icon.png differ diff --git a/graphics/pokemon/natu/normal.pal b/graphics/pokemon/natu/normal.pal new file mode 100644 index 000000000..c1712ee1e --- /dev/null +++ b/graphics/pokemon/natu/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +156 230 74 +82 197 74 +74 148 65 +49 98 41 +255 222 65 +205 172 57 +131 98 32 +255 74 0 +205 57 0 +131 41 0 +205 205 205 +148 148 148 +82 82 82 +41 41 41 diff --git a/graphics/pokemon/natu/shiny.pal b/graphics/pokemon/natu/shiny.pal new file mode 100644 index 000000000..2dcf957e9 --- /dev/null +++ b/graphics/pokemon/natu/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +189 255 65 +164 230 49 +115 189 8 +65 106 0 +255 222 65 +189 148 32 +139 90 0 +255 164 57 +213 106 16 +115 74 0 +205 205 205 +148 148 148 +82 82 82 +41 41 41 diff --git a/graphics/pokemon/nidoking/back.png b/graphics/pokemon/nidoking/back.png new file mode 100644 index 000000000..65a253b45 Binary files /dev/null and b/graphics/pokemon/nidoking/back.png differ diff --git a/graphics/pokemon/nidoking/footprint.png b/graphics/pokemon/nidoking/footprint.png new file mode 100644 index 000000000..577e14f30 Binary files /dev/null and b/graphics/pokemon/nidoking/footprint.png differ diff --git a/graphics/pokemon/nidoking/front.png b/graphics/pokemon/nidoking/front.png new file mode 100644 index 000000000..db7740e99 Binary files /dev/null and b/graphics/pokemon/nidoking/front.png differ diff --git a/graphics/pokemon/nidoking/icon.png b/graphics/pokemon/nidoking/icon.png new file mode 100644 index 000000000..baa05c6a0 Binary files /dev/null and b/graphics/pokemon/nidoking/icon.png differ diff --git a/graphics/pokemon/nidoking/normal.pal b/graphics/pokemon/nidoking/normal.pal new file mode 100644 index 000000000..4de13c9ca --- /dev/null +++ b/graphics/pokemon/nidoking/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +123 180 213 +255 255 255 +230 230 213 +197 197 164 +115 115 90 +255 0 255 +255 0 255 +197 115 189 +65 197 180 +41 148 123 +0 98 74 +230 180 238 +213 123 230 +164 90 156 +106 49 123 +16 16 16 diff --git a/graphics/pokemon/nidoking/shiny.pal b/graphics/pokemon/nidoking/shiny.pal new file mode 100644 index 000000000..ec9702076 --- /dev/null +++ b/graphics/pokemon/nidoking/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 164 115 +255 255 255 +230 230 213 +197 197 164 +115 115 90 +255 0 255 +255 0 255 +74 164 222 +189 139 172 +123 98 115 +74 49 65 +139 222 255 +98 180 255 +57 123 213 +57 82 131 +16 16 16 diff --git a/graphics/pokemon/nidoqueen/back.png b/graphics/pokemon/nidoqueen/back.png new file mode 100644 index 000000000..339582c54 Binary files /dev/null and b/graphics/pokemon/nidoqueen/back.png differ diff --git a/graphics/pokemon/nidoqueen/footprint.png b/graphics/pokemon/nidoqueen/footprint.png new file mode 100644 index 000000000..c3156e621 Binary files /dev/null and b/graphics/pokemon/nidoqueen/footprint.png differ diff --git a/graphics/pokemon/nidoqueen/front.png b/graphics/pokemon/nidoqueen/front.png new file mode 100644 index 000000000..3db1a20fd Binary files /dev/null and b/graphics/pokemon/nidoqueen/front.png differ diff --git a/graphics/pokemon/nidoqueen/icon.png b/graphics/pokemon/nidoqueen/icon.png new file mode 100644 index 000000000..2d3cdc477 Binary files /dev/null and b/graphics/pokemon/nidoqueen/icon.png differ diff --git a/graphics/pokemon/nidoqueen/normal.pal b/graphics/pokemon/nidoqueen/normal.pal new file mode 100644 index 000000000..4b5ab5aa3 --- /dev/null +++ b/graphics/pokemon/nidoqueen/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 255 255 +213 213 213 +238 230 164 +230 205 139 +189 172 90 +115 90 41 +255 156 139 +230 65 49 +172 16 0 +222 255 255 +156 213 222 +90 180 205 +106 139 172 +57 82 90 +16 16 16 diff --git a/graphics/pokemon/nidoqueen/shiny.pal b/graphics/pokemon/nidoqueen/shiny.pal new file mode 100644 index 000000000..3b08f01ac --- /dev/null +++ b/graphics/pokemon/nidoqueen/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 255 255 +213 213 213 +255 213 230 +238 180 205 +197 148 172 +139 98 115 +255 156 139 +238 74 57 +172 16 0 +205 205 139 +172 172 106 +139 139 74 +106 98 41 +65 57 8 +16 16 16 diff --git a/graphics/pokemon/nidoran_f/back.png b/graphics/pokemon/nidoran_f/back.png new file mode 100644 index 000000000..acfc360cc Binary files /dev/null and b/graphics/pokemon/nidoran_f/back.png differ diff --git a/graphics/pokemon/nidoran_f/footprint.png b/graphics/pokemon/nidoran_f/footprint.png new file mode 100644 index 000000000..f673df112 Binary files /dev/null and b/graphics/pokemon/nidoran_f/footprint.png differ diff --git a/graphics/pokemon/nidoran_f/front.png b/graphics/pokemon/nidoran_f/front.png new file mode 100644 index 000000000..8cfed4258 Binary files /dev/null and b/graphics/pokemon/nidoran_f/front.png differ diff --git a/graphics/pokemon/nidoran_f/icon.png b/graphics/pokemon/nidoran_f/icon.png new file mode 100644 index 000000000..a2483ae63 Binary files /dev/null and b/graphics/pokemon/nidoran_f/icon.png differ diff --git a/graphics/pokemon/nidoran_f/normal.pal b/graphics/pokemon/nidoran_f/normal.pal new file mode 100644 index 000000000..7f26f6277 --- /dev/null +++ b/graphics/pokemon/nidoran_f/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 189 +222 255 255 +197 230 238 +148 205 189 +90 164 148 +74 98 98 +255 82 65 +189 49 74 +65 139 230 +82 139 180 +57 106 148 +255 0 255 +255 0 255 +255 0 255 +255 255 255 +16 16 16 diff --git a/graphics/pokemon/nidoran_f/shiny.pal b/graphics/pokemon/nidoran_f/shiny.pal new file mode 100644 index 000000000..5b6e230fe --- /dev/null +++ b/graphics/pokemon/nidoran_f/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 189 +246 213 255 +213 180 238 +180 148 205 +148 115 172 +98 65 123 +238 74 57 +197 32 16 +98 139 65 +65 106 32 +32 74 0 +255 0 255 +255 0 255 +255 0 255 +255 255 255 +16 16 16 diff --git a/graphics/pokemon/nidoran_m/back.png b/graphics/pokemon/nidoran_m/back.png new file mode 100644 index 000000000..76c47d33e Binary files /dev/null and b/graphics/pokemon/nidoran_m/back.png differ diff --git a/graphics/pokemon/nidoran_m/footprint.png b/graphics/pokemon/nidoran_m/footprint.png new file mode 100644 index 000000000..874c60781 Binary files /dev/null and b/graphics/pokemon/nidoran_m/footprint.png differ diff --git a/graphics/pokemon/nidoran_m/front.png b/graphics/pokemon/nidoran_m/front.png new file mode 100644 index 000000000..b46c3d586 Binary files /dev/null and b/graphics/pokemon/nidoran_m/front.png differ diff --git a/graphics/pokemon/nidoran_m/icon.png b/graphics/pokemon/nidoran_m/icon.png new file mode 100644 index 000000000..4467c5192 Binary files /dev/null and b/graphics/pokemon/nidoran_m/icon.png differ diff --git a/graphics/pokemon/nidoran_m/normal.pal b/graphics/pokemon/nidoran_m/normal.pal new file mode 100644 index 000000000..fb4e29f10 --- /dev/null +++ b/graphics/pokemon/nidoran_m/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 255 255 +16 16 16 +255 106 82 +222 65 41 +180 24 0 +24 205 156 +0 164 115 +0 98 65 +255 0 255 +238 189 238 +230 156 213 +189 98 189 +98 65 106 +205 205 205 +131 131 131 diff --git a/graphics/pokemon/nidoran_m/shiny.pal b/graphics/pokemon/nidoran_m/shiny.pal new file mode 100644 index 000000000..dfbf08893 --- /dev/null +++ b/graphics/pokemon/nidoran_m/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 255 255 +16 16 16 +255 106 82 +222 65 41 +180 24 0 +180 131 131 +148 90 98 +106 49 57 +255 0 255 +172 222 255 +164 189 255 +115 156 213 +57 90 156 +197 197 197 +131 131 131 diff --git a/graphics/pokemon/nidorina/back.png b/graphics/pokemon/nidorina/back.png new file mode 100644 index 000000000..14940d21f Binary files /dev/null and b/graphics/pokemon/nidorina/back.png differ diff --git a/graphics/pokemon/nidorina/footprint.png b/graphics/pokemon/nidorina/footprint.png new file mode 100644 index 000000000..94553054a Binary files /dev/null and b/graphics/pokemon/nidorina/footprint.png differ diff --git a/graphics/pokemon/nidorina/front.png b/graphics/pokemon/nidorina/front.png new file mode 100644 index 000000000..0aa883505 Binary files /dev/null and b/graphics/pokemon/nidorina/front.png differ diff --git a/graphics/pokemon/nidorina/icon.png b/graphics/pokemon/nidorina/icon.png new file mode 100644 index 000000000..ad90d02ba Binary files /dev/null and b/graphics/pokemon/nidorina/icon.png differ diff --git a/graphics/pokemon/nidorina/normal.pal b/graphics/pokemon/nidorina/normal.pal new file mode 100644 index 000000000..396733a06 --- /dev/null +++ b/graphics/pokemon/nidorina/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 255 255 +213 213 213 +131 131 131 +74 131 246 +16 98 180 +24 57 115 +255 156 139 +238 74 57 +197 32 16 +222 255 255 +197 230 238 +139 197 205 +90 148 180 +57 90 98 +16 16 16 diff --git a/graphics/pokemon/nidorina/shiny.pal b/graphics/pokemon/nidorina/shiny.pal new file mode 100644 index 000000000..2d04c4b5c --- /dev/null +++ b/graphics/pokemon/nidorina/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 255 255 +197 197 197 +131 131 131 +115 139 90 +82 106 57 +41 65 16 +255 156 139 +238 74 57 +197 32 16 +255 213 255 +246 180 238 +213 148 205 +164 90 131 +106 49 74 +16 16 16 diff --git a/graphics/pokemon/nidorino/back.png b/graphics/pokemon/nidorino/back.png new file mode 100644 index 000000000..01b866e00 Binary files /dev/null and b/graphics/pokemon/nidorino/back.png differ diff --git a/graphics/pokemon/nidorino/footprint.png b/graphics/pokemon/nidorino/footprint.png new file mode 100644 index 000000000..eaa67b379 Binary files /dev/null and b/graphics/pokemon/nidorino/footprint.png differ diff --git a/graphics/pokemon/nidorino/front.png b/graphics/pokemon/nidorino/front.png new file mode 100644 index 000000000..8acf1cc72 Binary files /dev/null and b/graphics/pokemon/nidorino/front.png differ diff --git a/graphics/pokemon/nidorino/icon.png b/graphics/pokemon/nidorino/icon.png new file mode 100644 index 000000000..5edc103c1 Binary files /dev/null and b/graphics/pokemon/nidorino/icon.png differ diff --git a/graphics/pokemon/nidorino/normal.pal b/graphics/pokemon/nidorino/normal.pal new file mode 100644 index 000000000..f495113d5 --- /dev/null +++ b/graphics/pokemon/nidorino/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 255 255 +255 106 82 +222 65 41 +180 24 0 +57 238 189 +74 205 164 +0 164 115 +255 0 255 +16 16 16 +230 172 238 +222 148 205 +172 123 189 +106 65 123 +197 197 197 +131 131 131 diff --git a/graphics/pokemon/nidorino/shiny.pal b/graphics/pokemon/nidorino/shiny.pal new file mode 100644 index 000000000..e8ca02aeb --- /dev/null +++ b/graphics/pokemon/nidorino/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 255 255 +255 106 82 +222 65 41 +180 24 0 +180 131 131 +148 90 98 +106 49 57 +255 0 255 +16 16 16 +172 222 255 +164 189 255 +115 156 213 +57 90 156 +197 197 197 +131 131 131 diff --git a/graphics/pokemon/nincada/back.png b/graphics/pokemon/nincada/back.png new file mode 100644 index 000000000..e35b19cc7 Binary files /dev/null and b/graphics/pokemon/nincada/back.png differ diff --git a/graphics/pokemon/nincada/footprint.png b/graphics/pokemon/nincada/footprint.png new file mode 100644 index 000000000..deea05721 Binary files /dev/null and b/graphics/pokemon/nincada/footprint.png differ diff --git a/graphics/pokemon/nincada/front.png b/graphics/pokemon/nincada/front.png new file mode 100644 index 000000000..576144c48 Binary files /dev/null and b/graphics/pokemon/nincada/front.png differ diff --git a/graphics/pokemon/nincada/icon.png b/graphics/pokemon/nincada/icon.png new file mode 100644 index 000000000..003ddb992 Binary files /dev/null and b/graphics/pokemon/nincada/icon.png differ diff --git a/graphics/pokemon/nincada/normal.pal b/graphics/pokemon/nincada/normal.pal new file mode 100644 index 000000000..22184bbbd --- /dev/null +++ b/graphics/pokemon/nincada/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +131 180 115 +230 213 213 +205 164 106 +172 139 98 +156 115 82 +131 197 106 +98 164 106 +115 74 57 +246 238 230 +74 123 90 +205 189 180 +180 172 148 +156 139 123 +123 115 98 +90 82 82 +41 41 41 diff --git a/graphics/pokemon/nincada/shiny.pal b/graphics/pokemon/nincada/shiny.pal new file mode 100644 index 000000000..08e4c9575 --- /dev/null +++ b/graphics/pokemon/nincada/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +131 180 115 +255 238 164 +205 164 106 +172 139 98 +156 115 82 +156 213 74 +115 172 49 +115 74 57 +246 238 230 +82 98 41 +255 213 106 +230 172 90 +205 148 65 +180 123 41 +131 90 8 +41 41 41 diff --git a/graphics/pokemon/ninetales/back.png b/graphics/pokemon/ninetales/back.png new file mode 100644 index 000000000..cb1919138 Binary files /dev/null and b/graphics/pokemon/ninetales/back.png differ diff --git a/graphics/pokemon/ninetales/footprint.png b/graphics/pokemon/ninetales/footprint.png new file mode 100644 index 000000000..3f1f0247e Binary files /dev/null and b/graphics/pokemon/ninetales/footprint.png differ diff --git a/graphics/pokemon/ninetales/front.png b/graphics/pokemon/ninetales/front.png new file mode 100644 index 000000000..30b5d0d1f Binary files /dev/null and b/graphics/pokemon/ninetales/front.png differ diff --git a/graphics/pokemon/ninetales/icon.png b/graphics/pokemon/ninetales/icon.png new file mode 100644 index 000000000..1a74d34eb Binary files /dev/null and b/graphics/pokemon/ninetales/icon.png differ diff --git a/graphics/pokemon/ninetales/normal.pal b/graphics/pokemon/ninetales/normal.pal new file mode 100644 index 000000000..59affc534 --- /dev/null +++ b/graphics/pokemon/ninetales/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +255 106 41 +222 32 16 +180 16 0 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +238 222 115 +205 156 98 +255 238 180 +246 230 115 +230 197 106 +131 106 41 +16 16 16 diff --git a/graphics/pokemon/ninetales/shiny.pal b/graphics/pokemon/ninetales/shiny.pal new file mode 100644 index 000000000..b7007523a --- /dev/null +++ b/graphics/pokemon/ninetales/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +255 106 41 +222 32 16 +180 16 0 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +205 180 180 +156 131 123 +246 230 222 +230 205 213 +189 164 172 +131 106 115 +16 16 16 diff --git a/graphics/pokemon/ninjask/back.png b/graphics/pokemon/ninjask/back.png new file mode 100644 index 000000000..fd2daf29a Binary files /dev/null and b/graphics/pokemon/ninjask/back.png differ diff --git a/graphics/pokemon/ninjask/footprint.png b/graphics/pokemon/ninjask/footprint.png new file mode 100644 index 000000000..eacba16dc Binary files /dev/null and b/graphics/pokemon/ninjask/footprint.png differ diff --git a/graphics/pokemon/ninjask/front.png b/graphics/pokemon/ninjask/front.png new file mode 100644 index 000000000..c642dbad5 Binary files /dev/null and b/graphics/pokemon/ninjask/front.png differ diff --git a/graphics/pokemon/ninjask/icon.png b/graphics/pokemon/ninjask/icon.png new file mode 100644 index 000000000..c51533c67 Binary files /dev/null and b/graphics/pokemon/ninjask/icon.png differ diff --git a/graphics/pokemon/ninjask/normal.pal b/graphics/pokemon/ninjask/normal.pal new file mode 100644 index 000000000..ec7c1daa7 --- /dev/null +++ b/graphics/pokemon/ninjask/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +131 180 115 +255 255 255 +246 213 82 +222 172 82 +139 106 65 +246 106 16 +180 57 32 +131 57 57 +222 74 16 +213 213 205 +172 180 180 +139 148 148 +123 123 123 +90 90 123 +65 65 90 +0 0 0 diff --git a/graphics/pokemon/ninjask/shiny.pal b/graphics/pokemon/ninjask/shiny.pal new file mode 100644 index 000000000..bd2fbbda9 --- /dev/null +++ b/graphics/pokemon/ninjask/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +131 180 115 +255 255 255 +246 213 82 +222 172 82 +139 106 65 +246 106 16 +180 57 32 +131 57 57 +222 74 16 +255 213 106 +255 213 106 +230 172 90 +205 148 65 +180 123 41 +131 90 8 +0 0 0 diff --git a/graphics/pokemon/noctowl/back.png b/graphics/pokemon/noctowl/back.png new file mode 100644 index 000000000..e9984ea5e Binary files /dev/null and b/graphics/pokemon/noctowl/back.png differ diff --git a/graphics/pokemon/noctowl/footprint.png b/graphics/pokemon/noctowl/footprint.png new file mode 100644 index 000000000..89ed409e9 Binary files /dev/null and b/graphics/pokemon/noctowl/footprint.png differ diff --git a/graphics/pokemon/noctowl/front.png b/graphics/pokemon/noctowl/front.png new file mode 100644 index 000000000..56e148d94 Binary files /dev/null and b/graphics/pokemon/noctowl/front.png differ diff --git a/graphics/pokemon/noctowl/icon.png b/graphics/pokemon/noctowl/icon.png new file mode 100644 index 000000000..eafbea37e Binary files /dev/null and b/graphics/pokemon/noctowl/icon.png differ diff --git a/graphics/pokemon/noctowl/normal.pal b/graphics/pokemon/noctowl/normal.pal new file mode 100644 index 000000000..710759236 --- /dev/null +++ b/graphics/pokemon/noctowl/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 255 172 +230 205 98 +205 164 65 +156 115 57 +156 123 106 +123 90 74 +98 65 49 +74 41 24 +197 49 24 +156 0 0 +197 197 197 +115 115 115 +255 238 115 +16 16 16 diff --git a/graphics/pokemon/noctowl/shiny.pal b/graphics/pokemon/noctowl/shiny.pal new file mode 100644 index 000000000..859222f59 --- /dev/null +++ b/graphics/pokemon/noctowl/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +246 255 172 +213 222 90 +189 189 57 +156 148 32 +213 164 74 +180 115 0 +123 82 0 +82 57 0 +197 49 24 +156 0 0 +197 197 197 +115 115 115 +238 246 115 +16 16 16 diff --git a/graphics/pokemon/nosepass/back.png b/graphics/pokemon/nosepass/back.png new file mode 100644 index 000000000..21b41a3cd Binary files /dev/null and b/graphics/pokemon/nosepass/back.png differ diff --git a/graphics/pokemon/nosepass/footprint.png b/graphics/pokemon/nosepass/footprint.png new file mode 100644 index 000000000..9b9ad2708 Binary files /dev/null and b/graphics/pokemon/nosepass/footprint.png differ diff --git a/graphics/pokemon/nosepass/front.png b/graphics/pokemon/nosepass/front.png new file mode 100644 index 000000000..5ed3a851f Binary files /dev/null and b/graphics/pokemon/nosepass/front.png differ diff --git a/graphics/pokemon/nosepass/icon.png b/graphics/pokemon/nosepass/icon.png new file mode 100644 index 000000000..718fed8fa Binary files /dev/null and b/graphics/pokemon/nosepass/icon.png differ diff --git a/graphics/pokemon/nosepass/normal.pal b/graphics/pokemon/nosepass/normal.pal new file mode 100644 index 000000000..ec3681288 --- /dev/null +++ b/graphics/pokemon/nosepass/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 255 255 +57 57 82 +197 197 197 +98 115 123 +131 148 164 +148 189 180 +189 213 222 +139 57 24 +205 90 24 +246 139 41 +255 197 164 +255 255 255 +74 82 82 +0 0 0 +0 0 0 +24 24 24 diff --git a/graphics/pokemon/nosepass/shiny.pal b/graphics/pokemon/nosepass/shiny.pal new file mode 100644 index 000000000..b17260e5a --- /dev/null +++ b/graphics/pokemon/nosepass/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 172 213 +106 74 57 +197 197 197 +106 82 49 +172 139 65 +222 180 74 +246 213 115 +189 57 24 +230 90 24 +246 139 41 +255 197 164 +255 255 255 +82 57 24 +0 0 0 +0 0 0 +24 24 24 diff --git a/graphics/pokemon/numel/back.png b/graphics/pokemon/numel/back.png new file mode 100644 index 000000000..9722ff438 Binary files /dev/null and b/graphics/pokemon/numel/back.png differ diff --git a/graphics/pokemon/numel/footprint.png b/graphics/pokemon/numel/footprint.png new file mode 100644 index 000000000..6238f9400 Binary files /dev/null and b/graphics/pokemon/numel/footprint.png differ diff --git a/graphics/pokemon/numel/front.png b/graphics/pokemon/numel/front.png new file mode 100644 index 000000000..1aca480f7 Binary files /dev/null and b/graphics/pokemon/numel/front.png differ diff --git a/graphics/pokemon/numel/icon.png b/graphics/pokemon/numel/icon.png new file mode 100644 index 000000000..62281e8bf Binary files /dev/null and b/graphics/pokemon/numel/icon.png differ diff --git a/graphics/pokemon/numel/normal.pal b/graphics/pokemon/numel/normal.pal new file mode 100644 index 000000000..74388d36b --- /dev/null +++ b/graphics/pokemon/numel/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 148 246 +106 98 32 +246 222 0 +205 180 57 +222 205 32 +246 246 164 +213 213 148 +255 238 106 +148 222 24 +180 246 49 +115 164 57 +90 115 106 +148 148 82 +230 222 238 +255 255 255 +24 24 24 diff --git a/graphics/pokemon/numel/shiny.pal b/graphics/pokemon/numel/shiny.pal new file mode 100644 index 000000000..2162c155c --- /dev/null +++ b/graphics/pokemon/numel/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 197 180 +131 98 74 +238 197 156 +197 156 98 +205 164 123 +246 246 213 +213 213 172 +255 222 172 +90 172 230 +123 197 255 +49 131 197 +74 98 90 +131 131 65 +230 222 238 +255 255 255 +24 24 24 diff --git a/graphics/pokemon/nuzleaf/back.png b/graphics/pokemon/nuzleaf/back.png new file mode 100644 index 000000000..858377c11 Binary files /dev/null and b/graphics/pokemon/nuzleaf/back.png differ diff --git a/graphics/pokemon/nuzleaf/footprint.png b/graphics/pokemon/nuzleaf/footprint.png new file mode 100644 index 000000000..b35288e05 Binary files /dev/null and b/graphics/pokemon/nuzleaf/footprint.png differ diff --git a/graphics/pokemon/nuzleaf/front.png b/graphics/pokemon/nuzleaf/front.png new file mode 100644 index 000000000..ecaf00f85 Binary files /dev/null and b/graphics/pokemon/nuzleaf/front.png differ diff --git a/graphics/pokemon/nuzleaf/icon.png b/graphics/pokemon/nuzleaf/icon.png new file mode 100644 index 000000000..8c9f4038f Binary files /dev/null and b/graphics/pokemon/nuzleaf/icon.png differ diff --git a/graphics/pokemon/nuzleaf/normal.pal b/graphics/pokemon/nuzleaf/normal.pal new file mode 100644 index 000000000..fd8ec8bff --- /dev/null +++ b/graphics/pokemon/nuzleaf/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 148 246 +74 57 65 +205 205 238 +255 255 255 +123 148 82 +180 205 131 +230 238 180 +156 123 156 +205 156 98 +230 197 148 +98 197 131 +148 238 131 +65 115 57 +106 82 98 +0 0 0 +24 24 24 diff --git a/graphics/pokemon/nuzleaf/shiny.pal b/graphics/pokemon/nuzleaf/shiny.pal new file mode 100644 index 000000000..1706d316b --- /dev/null +++ b/graphics/pokemon/nuzleaf/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +180 213 156 +74 57 65 +205 205 238 +255 255 255 +180 65 49 +222 98 49 +255 123 82 +115 90 90 +156 123 123 +189 164 156 +98 197 131 +148 238 131 +65 115 57 +106 82 98 +0 0 0 +24 24 24 diff --git a/graphics/pokemon/octillery/back.png b/graphics/pokemon/octillery/back.png new file mode 100644 index 000000000..09a867881 Binary files /dev/null and b/graphics/pokemon/octillery/back.png differ diff --git a/graphics/pokemon/octillery/footprint.png b/graphics/pokemon/octillery/footprint.png new file mode 100644 index 000000000..afa1f5433 Binary files /dev/null and b/graphics/pokemon/octillery/footprint.png differ diff --git a/graphics/pokemon/octillery/front.png b/graphics/pokemon/octillery/front.png new file mode 100644 index 000000000..99d3a166e Binary files /dev/null and b/graphics/pokemon/octillery/front.png differ diff --git a/graphics/pokemon/octillery/icon.png b/graphics/pokemon/octillery/icon.png new file mode 100644 index 000000000..a21e60327 Binary files /dev/null and b/graphics/pokemon/octillery/icon.png differ diff --git a/graphics/pokemon/octillery/normal.pal b/graphics/pokemon/octillery/normal.pal new file mode 100644 index 000000000..2a32e5f6d --- /dev/null +++ b/graphics/pokemon/octillery/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 180 106 +246 106 49 +213 57 16 +131 0 0 +255 0 255 +255 255 172 +255 213 82 +213 156 41 +148 90 0 +213 213 213 +172 172 180 +123 123 131 +90 90 90 +16 16 16 diff --git a/graphics/pokemon/octillery/shiny.pal b/graphics/pokemon/octillery/shiny.pal new file mode 100644 index 000000000..fcbdd5cda --- /dev/null +++ b/graphics/pokemon/octillery/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +230 189 90 +197 156 65 +148 106 24 +82 65 49 +255 0 255 +230 255 172 +205 230 82 +164 172 41 +98 98 0 +213 213 213 +172 172 180 +123 123 131 +90 90 90 +16 16 16 diff --git a/graphics/pokemon/oddish/back.png b/graphics/pokemon/oddish/back.png new file mode 100644 index 000000000..a1919e4ea Binary files /dev/null and b/graphics/pokemon/oddish/back.png differ diff --git a/graphics/pokemon/oddish/footprint.png b/graphics/pokemon/oddish/footprint.png new file mode 100644 index 000000000..d38175273 Binary files /dev/null and b/graphics/pokemon/oddish/footprint.png differ diff --git a/graphics/pokemon/oddish/front.png b/graphics/pokemon/oddish/front.png new file mode 100644 index 000000000..6b43f1683 Binary files /dev/null and b/graphics/pokemon/oddish/front.png differ diff --git a/graphics/pokemon/oddish/icon.png b/graphics/pokemon/oddish/icon.png new file mode 100644 index 000000000..7c46ae7e7 Binary files /dev/null and b/graphics/pokemon/oddish/icon.png differ diff --git a/graphics/pokemon/oddish/normal.pal b/graphics/pokemon/oddish/normal.pal new file mode 100644 index 000000000..7583f6592 --- /dev/null +++ b/graphics/pokemon/oddish/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +180 41 49 +230 74 65 +197 230 123 +156 213 74 +115 172 49 +74 90 32 +255 0 255 +255 0 255 +255 0 255 +148 180 197 +115 148 164 +74 106 131 +41 57 74 +16 16 16 diff --git a/graphics/pokemon/oddish/shiny.pal b/graphics/pokemon/oddish/shiny.pal new file mode 100644 index 000000000..c37765a09 --- /dev/null +++ b/graphics/pokemon/oddish/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +180 41 49 +230 74 65 +197 238 16 +172 222 16 +156 189 16 +98 131 49 +255 0 255 +255 0 255 +255 0 255 +139 222 57 +115 197 32 +65 164 32 +0 74 0 +16 16 16 diff --git a/graphics/pokemon/omanyte/back.png b/graphics/pokemon/omanyte/back.png new file mode 100644 index 000000000..6cd77bffc Binary files /dev/null and b/graphics/pokemon/omanyte/back.png differ diff --git a/graphics/pokemon/omanyte/footprint.png b/graphics/pokemon/omanyte/footprint.png new file mode 100644 index 000000000..f5eb9fdba Binary files /dev/null and b/graphics/pokemon/omanyte/footprint.png differ diff --git a/graphics/pokemon/omanyte/front.png b/graphics/pokemon/omanyte/front.png new file mode 100644 index 000000000..5c779d128 Binary files /dev/null and b/graphics/pokemon/omanyte/front.png differ diff --git a/graphics/pokemon/omanyte/icon.png b/graphics/pokemon/omanyte/icon.png new file mode 100644 index 000000000..94684f5c3 Binary files /dev/null and b/graphics/pokemon/omanyte/icon.png differ diff --git a/graphics/pokemon/omanyte/normal.pal b/graphics/pokemon/omanyte/normal.pal new file mode 100644 index 000000000..09d257a66 --- /dev/null +++ b/graphics/pokemon/omanyte/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 189 +255 255 255 +230 230 230 +255 0 255 +255 0 255 +98 98 98 +16 16 16 +255 255 172 +238 230 139 +205 197 106 +172 164 74 +98 90 16 +131 205 197 +98 172 164 +57 131 123 +16 90 82 diff --git a/graphics/pokemon/omanyte/shiny.pal b/graphics/pokemon/omanyte/shiny.pal new file mode 100644 index 000000000..af72dc30d --- /dev/null +++ b/graphics/pokemon/omanyte/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 189 +255 255 255 +230 230 230 +255 0 255 +255 0 255 +98 98 98 +16 16 16 +255 246 156 +246 222 139 +213 189 115 +172 148 82 +123 98 41 +213 156 238 +172 115 205 +131 74 172 +90 41 148 diff --git a/graphics/pokemon/omastar/back.png b/graphics/pokemon/omastar/back.png new file mode 100644 index 000000000..3f7467950 Binary files /dev/null and b/graphics/pokemon/omastar/back.png differ diff --git a/graphics/pokemon/omastar/footprint.png b/graphics/pokemon/omastar/footprint.png new file mode 100644 index 000000000..fdd911ecf Binary files /dev/null and b/graphics/pokemon/omastar/footprint.png differ diff --git a/graphics/pokemon/omastar/front.png b/graphics/pokemon/omastar/front.png new file mode 100644 index 000000000..2a1c58e38 Binary files /dev/null and b/graphics/pokemon/omastar/front.png differ diff --git a/graphics/pokemon/omastar/icon.png b/graphics/pokemon/omastar/icon.png new file mode 100644 index 000000000..b72bd6aec Binary files /dev/null and b/graphics/pokemon/omastar/icon.png differ diff --git a/graphics/pokemon/omastar/normal.pal b/graphics/pokemon/omastar/normal.pal new file mode 100644 index 000000000..f63530b4e --- /dev/null +++ b/graphics/pokemon/omastar/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 197 +255 238 180 +246 213 98 +180 156 65 +16 16 16 +255 0 255 +255 0 255 +255 255 172 +238 230 139 +205 197 106 +172 164 74 +106 98 16 +156 230 222 +131 205 197 +98 172 164 +16 98 90 diff --git a/graphics/pokemon/omastar/shiny.pal b/graphics/pokemon/omastar/shiny.pal new file mode 100644 index 000000000..b17facc09 --- /dev/null +++ b/graphics/pokemon/omastar/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 197 +255 238 180 +246 213 98 +180 156 65 +16 16 16 +255 0 255 +255 0 255 +255 255 222 +238 246 90 +213 222 74 +172 180 57 +98 106 24 +222 172 255 +189 139 238 +148 98 205 +98 49 164 diff --git a/graphics/pokemon/onix/back.png b/graphics/pokemon/onix/back.png new file mode 100644 index 000000000..233e66d91 Binary files /dev/null and b/graphics/pokemon/onix/back.png differ diff --git a/graphics/pokemon/onix/footprint.png b/graphics/pokemon/onix/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/onix/footprint.png differ diff --git a/graphics/pokemon/onix/front.png b/graphics/pokemon/onix/front.png new file mode 100644 index 000000000..4f9679d3f Binary files /dev/null and b/graphics/pokemon/onix/front.png differ diff --git a/graphics/pokemon/onix/icon.png b/graphics/pokemon/onix/icon.png new file mode 100644 index 000000000..ddd7ee4f9 Binary files /dev/null and b/graphics/pokemon/onix/icon.png differ diff --git a/graphics/pokemon/onix/normal.pal b/graphics/pokemon/onix/normal.pal new file mode 100644 index 000000000..d0820bdc6 --- /dev/null +++ b/graphics/pokemon/onix/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +172 222 205 +255 255 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +238 230 230 +222 213 213 +189 180 180 +123 131 106 +82 74 74 +16 16 16 diff --git a/graphics/pokemon/onix/shiny.pal b/graphics/pokemon/onix/shiny.pal new file mode 100644 index 000000000..fc100a9cf --- /dev/null +++ b/graphics/pokemon/onix/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +230 230 156 +205 205 131 +164 164 90 +123 123 49 +82 82 8 +16 16 16 diff --git a/graphics/pokemon/palettes/abra_palette.pal b/graphics/pokemon/palettes/abra_palette.pal deleted file mode 100644 index b66db0279..000000000 --- a/graphics/pokemon/palettes/abra_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -246 246 246 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -213 180 82 -172 131 41 -148 106 16 -98 49 0 -255 0 255 -255 0 255 -246 246 164 -255 238 41 -222 205 32 -131 90 16 -16 16 16 diff --git a/graphics/pokemon/palettes/abra_shiny_palette.pal b/graphics/pokemon/palettes/abra_shiny_palette.pal deleted file mode 100644 index 9b3ebe682..000000000 --- a/graphics/pokemon/palettes/abra_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 148 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -230 139 164 -205 115 148 -131 82 98 -98 65 82 -255 0 255 -255 0 255 -255 246 115 -255 222 90 -238 180 49 -115 74 49 -16 16 16 diff --git a/graphics/pokemon/palettes/absol_palette.pal b/graphics/pokemon/palettes/absol_palette.pal deleted file mode 100644 index 990038917..000000000 --- a/graphics/pokemon/palettes/absol_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -123 156 180 -255 255 255 -222 222 238 -197 197 213 -148 148 172 -255 123 115 -205 41 32 -123 41 49 -172 172 205 -131 131 172 -90 90 131 -41 57 57 -148 164 164 -115 131 131 -82 98 98 -0 0 0 diff --git a/graphics/pokemon/palettes/absol_shiny_palette.pal b/graphics/pokemon/palettes/absol_shiny_palette.pal deleted file mode 100644 index 4b86195a7..000000000 --- a/graphics/pokemon/palettes/absol_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -123 156 180 -255 255 255 -238 222 230 -222 189 213 -197 156 189 -49 180 255 -0 115 189 -123 41 49 -172 172 205 -131 131 172 -90 90 131 -41 57 57 -205 115 98 -172 82 65 -131 41 24 -0 0 0 diff --git a/graphics/pokemon/palettes/aerodactyl_palette.pal b/graphics/pokemon/palettes/aerodactyl_palette.pal deleted file mode 100644 index 9f7de3d61..000000000 --- a/graphics/pokemon/palettes/aerodactyl_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -156 213 180 -255 0 255 -255 0 255 -255 0 255 -189 131 197 -148 98 180 -98 74 148 -74 49 98 -222 98 98 -139 49 49 -16 16 16 -230 222 238 -205 205 222 -148 172 180 -74 98 82 -255 255 255 diff --git a/graphics/pokemon/palettes/aerodactyl_shiny_palette.pal b/graphics/pokemon/palettes/aerodactyl_shiny_palette.pal deleted file mode 100644 index d661e6154..000000000 --- a/graphics/pokemon/palettes/aerodactyl_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 189 -255 0 255 -255 0 255 -255 0 255 -98 148 255 -65 115 230 -16 82 180 -24 24 106 -222 98 98 -139 49 49 -16 16 16 -246 197 238 -230 164 222 -180 123 180 -123 57 131 -255 255 255 diff --git a/graphics/pokemon/palettes/aggron_palette.pal b/graphics/pokemon/palettes/aggron_palette.pal deleted file mode 100644 index b5711fdad..000000000 --- a/graphics/pokemon/palettes/aggron_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 172 156 -74 74 65 -106 106 106 -139 139 139 -172 172 172 -57 57 65 -123 106 106 -156 139 139 -189 172 172 -222 205 205 -255 255 255 -172 57 74 -222 106 106 -255 131 131 -106 189 255 -0 0 0 diff --git a/graphics/pokemon/palettes/aggron_shiny_palette.pal b/graphics/pokemon/palettes/aggron_shiny_palette.pal deleted file mode 100644 index eadb9aa81..000000000 --- a/graphics/pokemon/palettes/aggron_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 172 156 -32 90 90 -65 123 115 -90 156 148 -148 197 205 -74 41 24 -123 123 90 -156 156 123 -189 189 156 -222 222 197 -255 255 255 -172 57 74 -222 106 106 -255 131 131 -255 123 82 -0 0 0 diff --git a/graphics/pokemon/palettes/aipom_palette.pal b/graphics/pokemon/palettes/aipom_palette.pal deleted file mode 100644 index bc79b2a2a..000000000 --- a/graphics/pokemon/palettes/aipom_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -213 131 255 -180 98 230 -139 57 180 -82 32 106 -255 246 197 -255 238 164 -238 197 90 -197 156 82 -139 106 65 -255 0 255 -213 213 213 -123 123 123 -90 90 90 -0 0 0 diff --git a/graphics/pokemon/palettes/aipom_shiny_palette.pal b/graphics/pokemon/palettes/aipom_shiny_palette.pal deleted file mode 100644 index 785e324ab..000000000 --- a/graphics/pokemon/palettes/aipom_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -255 131 164 -230 98 139 -189 57 106 -115 32 65 -255 238 230 -255 222 213 -238 189 180 -222 123 131 -189 82 90 -255 0 255 -213 213 213 -123 123 123 -90 90 90 -16 16 16 diff --git a/graphics/pokemon/palettes/alakazam_palette.pal b/graphics/pokemon/palettes/alakazam_palette.pal deleted file mode 100644 index a02bea0db..000000000 --- a/graphics/pokemon/palettes/alakazam_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -230 230 230 -255 255 255 -222 222 222 -180 180 180 -90 90 90 -213 180 82 -180 131 41 -131 90 8 -82 49 8 -255 0 255 -255 0 255 -255 246 172 -255 238 41 -222 197 24 -123 106 16 -16 16 16 diff --git a/graphics/pokemon/palettes/alakazam_shiny_palette.pal b/graphics/pokemon/palettes/alakazam_shiny_palette.pal deleted file mode 100644 index 083ce6897..000000000 --- a/graphics/pokemon/palettes/alakazam_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -230 230 230 -255 255 255 -222 222 222 -180 180 180 -90 90 90 -230 123 189 -189 82 148 -131 41 106 -82 0 41 -255 0 255 -255 0 255 -255 205 74 -213 172 0 -172 115 0 -123 32 0 -16 16 16 diff --git a/graphics/pokemon/palettes/altaria_palette.pal b/graphics/pokemon/palettes/altaria_palette.pal deleted file mode 100644 index d7af0b531..000000000 --- a/graphics/pokemon/palettes/altaria_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 205 139 -255 255 255 -131 131 148 -197 197 213 -255 164 131 -255 98 65 -131 32 8 -172 213 255 -115 180 238 -98 139 197 -65 106 156 -238 246 255 -222 222 238 -172 180 197 -41 57 90 -0 0 0 diff --git a/graphics/pokemon/palettes/altaria_shiny_palette.pal b/graphics/pokemon/palettes/altaria_shiny_palette.pal deleted file mode 100644 index 0ebea146a..000000000 --- a/graphics/pokemon/palettes/altaria_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 205 139 -255 255 255 -131 131 148 -197 197 213 -255 164 131 -255 98 65 -131 32 8 -255 238 131 -255 205 98 -222 172 65 -156 106 0 -238 246 255 -222 222 238 -172 180 197 -123 74 0 -0 0 0 diff --git a/graphics/pokemon/palettes/ampharos_palette.pal b/graphics/pokemon/palettes/ampharos_palette.pal deleted file mode 100644 index f7fdd3683..000000000 --- a/graphics/pokemon/palettes/ampharos_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -255 238 74 -255 197 16 -213 148 0 -148 74 0 -255 0 255 -230 230 230 -172 172 172 -98 106 106 -16 16 16 -255 98 0 -197 65 0 -139 32 0 -90 0 0 -255 0 255 diff --git a/graphics/pokemon/palettes/ampharos_shiny_palette.pal b/graphics/pokemon/palettes/ampharos_shiny_palette.pal deleted file mode 100644 index f29dc710f..000000000 --- a/graphics/pokemon/palettes/ampharos_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -246 180 213 -213 148 180 -189 115 156 -139 82 106 -255 0 255 -230 230 230 -172 172 172 -98 106 106 -16 16 16 -131 205 246 -65 106 205 -32 65 156 -49 74 139 -255 0 255 diff --git a/graphics/pokemon/palettes/anorith_palette.pal b/graphics/pokemon/palettes/anorith_palette.pal deleted file mode 100644 index 01bb5c13f..000000000 --- a/graphics/pokemon/palettes/anorith_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -172 205 172 -139 172 139 -115 139 115 -90 115 90 -246 238 197 -230 205 148 -197 164 98 -148 82 74 -255 123 82 -222 82 32 -222 222 222 -180 180 189 -106 106 123 -0 0 0 diff --git a/graphics/pokemon/palettes/anorith_shiny_palette.pal b/graphics/pokemon/palettes/anorith_shiny_palette.pal deleted file mode 100644 index dc1fe0374..000000000 --- a/graphics/pokemon/palettes/anorith_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -255 213 172 -230 180 139 -197 148 106 -164 115 74 -246 238 197 -230 205 148 -197 164 98 -131 90 32 -255 82 74 -222 82 32 -222 222 222 -180 180 189 -106 106 123 -41 41 57 diff --git a/graphics/pokemon/palettes/arbok_palette.pal b/graphics/pokemon/palettes/arbok_palette.pal deleted file mode 100644 index bd25500f3..000000000 --- a/graphics/pokemon/palettes/arbok_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 180 -255 230 16 -230 197 24 -222 156 65 -255 172 131 -230 106 65 -197 65 24 -156 32 65 -16 16 16 -222 164 197 -189 131 172 -148 90 131 -98 57 90 -255 0 255 -205 205 205 -255 255 255 diff --git a/graphics/pokemon/palettes/arbok_shiny_palette.pal b/graphics/pokemon/palettes/arbok_shiny_palette.pal deleted file mode 100644 index 6c88ffb42..000000000 --- a/graphics/pokemon/palettes/arbok_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 180 -255 255 74 -238 222 24 -189 172 16 -180 197 230 -148 164 197 -106 123 156 -49 65 98 -16 16 16 -222 180 65 -180 139 24 -139 98 24 -98 57 0 -255 0 255 -205 205 205 -255 255 255 diff --git a/graphics/pokemon/palettes/arcanine_palette.pal b/graphics/pokemon/palettes/arcanine_palette.pal deleted file mode 100644 index b6d54296e..000000000 --- a/graphics/pokemon/palettes/arcanine_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -230 230 230 -255 255 246 -222 222 213 -131 106 98 -255 98 65 -197 49 32 -82 16 16 -255 255 197 -255 246 148 -238 197 115 -172 98 32 -255 156 106 -238 115 49 -197 82 74 -98 16 0 -16 16 16 diff --git a/graphics/pokemon/palettes/arcanine_shiny_palette.pal b/graphics/pokemon/palettes/arcanine_shiny_palette.pal deleted file mode 100644 index 99edcb435..000000000 --- a/graphics/pokemon/palettes/arcanine_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -230 230 230 -255 255 246 -222 222 213 -90 90 90 -255 98 65 -197 49 32 -82 16 16 -255 246 238 -255 238 197 -230 197 156 -148 115 82 -255 230 115 -222 189 74 -180 148 32 -115 82 0 -16 16 16 diff --git a/graphics/pokemon/palettes/ariados_palette.pal b/graphics/pokemon/palettes/ariados_palette.pal deleted file mode 100644 index ccf5f7fe7..000000000 --- a/graphics/pokemon/palettes/ariados_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -255 172 57 -255 123 41 -205 82 0 -139 32 0 -74 0 0 -255 238 90 -222 180 74 -148 115 49 -189 148 255 -148 90 238 -106 49 172 -189 189 189 -106 106 106 -16 16 16 diff --git a/graphics/pokemon/palettes/ariados_shiny_palette.pal b/graphics/pokemon/palettes/ariados_shiny_palette.pal deleted file mode 100644 index c2557b589..000000000 --- a/graphics/pokemon/palettes/ariados_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -238 139 189 -205 106 164 -139 65 123 -115 16 82 -82 8 49 -255 238 90 -222 180 74 -148 115 49 -148 213 255 -98 164 230 -32 82 180 -189 189 189 -106 106 106 -16 16 16 diff --git a/graphics/pokemon/palettes/armaldo_palette.pal b/graphics/pokemon/palettes/armaldo_palette.pal deleted file mode 100644 index a6fc406b3..000000000 --- a/graphics/pokemon/palettes/armaldo_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -189 189 222 -139 139 189 -115 115 172 -90 90 139 -246 238 197 -255 222 106 -222 180 98 -57 65 82 -255 98 74 -189 57 0 -222 222 222 -180 180 189 -106 106 123 -0 0 0 diff --git a/graphics/pokemon/palettes/armaldo_shiny_palette.pal b/graphics/pokemon/palettes/armaldo_shiny_palette.pal deleted file mode 100644 index e6d09d611..000000000 --- a/graphics/pokemon/palettes/armaldo_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -246 197 189 -213 164 156 -180 131 123 -148 98 90 -246 238 197 -255 222 106 -222 180 98 -115 65 57 -255 98 74 -189 57 0 -222 222 222 -222 98 82 -180 57 41 -0 0 0 diff --git a/graphics/pokemon/palettes/aron_palette.pal b/graphics/pokemon/palettes/aron_palette.pal deleted file mode 100644 index b5711fdad..000000000 --- a/graphics/pokemon/palettes/aron_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 172 156 -74 74 65 -106 106 106 -139 139 139 -172 172 172 -57 57 65 -123 106 106 -156 139 139 -189 172 172 -222 205 205 -255 255 255 -172 57 74 -222 106 106 -255 131 131 -106 189 255 -0 0 0 diff --git a/graphics/pokemon/palettes/aron_shiny_palette.pal b/graphics/pokemon/palettes/aron_shiny_palette.pal deleted file mode 100644 index eadb9aa81..000000000 --- a/graphics/pokemon/palettes/aron_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 172 156 -32 90 90 -65 123 115 -90 156 148 -148 197 205 -74 41 24 -123 123 90 -156 156 123 -189 189 156 -222 222 197 -255 255 255 -172 57 74 -222 106 106 -255 131 131 -255 123 82 -0 0 0 diff --git a/graphics/pokemon/palettes/articuno_palette.pal b/graphics/pokemon/palettes/articuno_palette.pal deleted file mode 100644 index a4cba7de4..000000000 --- a/graphics/pokemon/palettes/articuno_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 189 -213 238 255 -197 205 255 -139 180 230 -98 148 205 -57 106 164 -74 74 106 -255 0 255 -255 0 255 -156 172 197 -123 139 164 -98 115 131 -189 41 57 -230 98 115 -16 16 16 -255 255 255 diff --git a/graphics/pokemon/palettes/articuno_shiny_palette.pal b/graphics/pokemon/palettes/articuno_shiny_palette.pal deleted file mode 100644 index bda666847..000000000 --- a/graphics/pokemon/palettes/articuno_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 189 -255 255 255 -238 246 255 -205 230 255 -156 189 246 -98 148 213 -82 106 156 -255 0 255 -255 0 255 -139 164 213 -90 115 164 -74 74 106 -189 41 57 -230 98 115 -16 16 16 -255 255 255 diff --git a/graphics/pokemon/palettes/azumarill_palette.pal b/graphics/pokemon/palettes/azumarill_palette.pal deleted file mode 100644 index 429d3fecc..000000000 --- a/graphics/pokemon/palettes/azumarill_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -205 205 205 -156 156 156 -106 106 106 -16 16 16 -131 205 255 -90 172 230 -49 131 197 -74 74 131 -255 0 255 -255 0 255 -230 82 0 -197 41 0 -123 0 0 -255 0 255 diff --git a/graphics/pokemon/palettes/azumarill_shiny_palette.pal b/graphics/pokemon/palettes/azumarill_shiny_palette.pal deleted file mode 100644 index 5f185cecb..000000000 --- a/graphics/pokemon/palettes/azumarill_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -205 205 205 -156 156 156 -106 106 106 -16 16 16 -255 238 82 -255 213 57 -213 172 24 -131 90 41 -255 0 255 -255 0 255 -238 74 65 -197 24 57 -123 0 0 -255 0 255 diff --git a/graphics/pokemon/palettes/azurill_palette.pal b/graphics/pokemon/palettes/azurill_palette.pal deleted file mode 100644 index 44214498f..000000000 --- a/graphics/pokemon/palettes/azurill_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -49 65 90 -106 148 255 -74 115 255 -156 189 255 -123 123 148 -238 123 115 -189 74 65 -57 90 189 -222 98 90 -222 238 255 -90 131 246 -57 90 148 -255 255 255 -255 255 255 -0 0 0 diff --git a/graphics/pokemon/palettes/azurill_shiny_palette.pal b/graphics/pokemon/palettes/azurill_shiny_palette.pal deleted file mode 100644 index bbc8d2f29..000000000 --- a/graphics/pokemon/palettes/azurill_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -156 189 255 -32 106 82 -148 230 148 -90 180 123 -205 255 172 -255 0 255 -222 98 49 -180 65 49 -65 156 98 -222 98 90 -222 238 255 -123 205 131 -255 0 255 -255 255 255 -255 255 255 -0 0 0 diff --git a/graphics/pokemon/palettes/bagon_palette.pal b/graphics/pokemon/palettes/bagon_palette.pal deleted file mode 100644 index c71cdb94b..000000000 --- a/graphics/pokemon/palettes/bagon_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 197 98 -74 74 98 -123 115 148 -123 123 222 -172 172 255 -197 131 98 -255 148 98 -255 148 98 -131 148 148 -172 164 189 -222 213 238 -255 255 255 -0 0 0 -0 0 0 -255 255 255 -24 24 24 diff --git a/graphics/pokemon/palettes/bagon_shiny_palette.pal b/graphics/pokemon/palettes/bagon_shiny_palette.pal deleted file mode 100644 index 6cd8ce5ea..000000000 --- a/graphics/pokemon/palettes/bagon_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 197 98 -16 98 32 -98 156 106 -98 197 98 -148 230 148 -197 131 98 -255 148 98 -255 148 98 -131 148 148 -172 164 189 -222 213 238 -255 255 255 -0 0 0 -0 0 0 -255 255 255 -41 41 41 diff --git a/graphics/pokemon/palettes/baltoy_palette.pal b/graphics/pokemon/palettes/baltoy_palette.pal deleted file mode 100644 index 335657267..000000000 --- a/graphics/pokemon/palettes/baltoy_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -98 82 82 -131 131 98 -255 255 255 -156 164 65 -197 197 98 -230 230 172 -222 65 98 -246 148 82 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 255 0 diff --git a/graphics/pokemon/palettes/baltoy_shiny_palette.pal b/graphics/pokemon/palettes/baltoy_shiny_palette.pal deleted file mode 100644 index 39cfa55ad..000000000 --- a/graphics/pokemon/palettes/baltoy_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -98 82 82 -131 131 98 -255 255 255 -205 180 57 -246 222 98 -230 230 172 -90 172 106 -115 189 172 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 255 0 diff --git a/graphics/pokemon/palettes/banette_palette.pal b/graphics/pokemon/palettes/banette_palette.pal deleted file mode 100644 index cebcb7757..000000000 --- a/graphics/pokemon/palettes/banette_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 230 213 -255 255 255 -255 255 49 -230 164 24 -255 189 49 -230 49 49 -222 123 49 -189 90 16 -131 65 41 -255 255 49 -255 255 49 -189 189 205 -148 148 172 -115 115 139 -74 74 98 -0 0 0 diff --git a/graphics/pokemon/palettes/banette_shiny_palette.pal b/graphics/pokemon/palettes/banette_shiny_palette.pal deleted file mode 100644 index b6df68803..000000000 --- a/graphics/pokemon/palettes/banette_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 230 213 -255 255 255 -255 255 49 -230 164 24 -255 189 49 -230 49 49 -222 123 49 -189 90 16 -131 65 41 -255 255 49 -255 255 49 -189 205 238 -139 172 205 -90 148 172 -32 82 123 -0 0 0 diff --git a/graphics/pokemon/palettes/barboach_palette.pal b/graphics/pokemon/palettes/barboach_palette.pal deleted file mode 100644 index 20167a557..000000000 --- a/graphics/pokemon/palettes/barboach_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -164 156 90 -57 65 82 -115 115 131 -164 164 172 -189 189 197 -213 213 222 -238 246 246 -0 0 0 -197 222 238 -255 189 41 -74 90 156 -90 106 180 -90 115 205 -139 164 222 -164 197 255 -255 255 255 diff --git a/graphics/pokemon/palettes/barboach_shiny_palette.pal b/graphics/pokemon/palettes/barboach_shiny_palette.pal deleted file mode 100644 index e29a02099..000000000 --- a/graphics/pokemon/palettes/barboach_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -164 156 90 -57 65 82 -115 115 131 -164 164 172 -189 189 197 -213 213 222 -238 246 246 -0 0 0 -255 246 123 -255 189 41 -131 82 0 -164 115 0 -197 148 24 -230 180 57 -255 213 90 -255 255 255 diff --git a/graphics/pokemon/palettes/bayleef_palette.pal b/graphics/pokemon/palettes/bayleef_palette.pal deleted file mode 100644 index 9fce32009..000000000 --- a/graphics/pokemon/palettes/bayleef_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -255 255 172 -246 238 106 -222 189 41 -164 131 24 -106 82 0 -106 197 49 -74 164 16 -49 123 8 -16 82 16 -197 197 197 -98 98 98 -16 16 16 -213 139 82 -172 49 0 diff --git a/graphics/pokemon/palettes/bayleef_shiny_palette.pal b/graphics/pokemon/palettes/bayleef_shiny_palette.pal deleted file mode 100644 index 573c02e75..000000000 --- a/graphics/pokemon/palettes/bayleef_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -255 238 197 -255 213 180 -230 156 123 -189 98 65 -123 74 57 -230 189 49 -189 148 24 -123 98 8 -82 65 16 -197 197 197 -98 98 98 -16 16 16 -222 156 115 -172 57 57 diff --git a/graphics/pokemon/palettes/beautifly_palette.pal b/graphics/pokemon/palettes/beautifly_palette.pal deleted file mode 100644 index 65a02145f..000000000 --- a/graphics/pokemon/palettes/beautifly_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 197 246 -90 90 82 -139 139 123 -255 255 255 -172 172 106 -230 222 115 -255 255 49 -255 255 197 -156 156 115 -197 197 115 -238 238 180 -255 255 238 -0 0 0 -255 148 41 -156 131 255 -24 24 0 diff --git a/graphics/pokemon/palettes/beautifly_shiny_palette.pal b/graphics/pokemon/palettes/beautifly_shiny_palette.pal deleted file mode 100644 index 9f0418187..000000000 --- a/graphics/pokemon/palettes/beautifly_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 197 246 -90 24 65 -156 65 131 -255 255 255 -172 148 106 -246 238 148 -255 255 213 -255 255 197 -197 156 115 -230 197 115 -255 238 180 -255 255 238 -0 0 0 -255 148 41 -156 131 255 -24 24 0 diff --git a/graphics/pokemon/palettes/beedrill_palette.pal b/graphics/pokemon/palettes/beedrill_palette.pal deleted file mode 100644 index 52fe8ac7a..000000000 --- a/graphics/pokemon/palettes/beedrill_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -255 246 164 -255 222 74 -222 180 57 -139 115 0 -238 230 255 -222 205 246 -189 172 197 -164 148 172 -255 148 106 -205 49 82 -156 0 8 -98 98 98 -24 24 24 -255 0 255 diff --git a/graphics/pokemon/palettes/beedrill_shiny_palette.pal b/graphics/pokemon/palettes/beedrill_shiny_palette.pal deleted file mode 100644 index f35f264de..000000000 --- a/graphics/pokemon/palettes/beedrill_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -230 246 106 -189 205 65 -148 164 24 -74 90 0 -238 230 255 -222 205 246 -189 172 197 -164 148 172 -90 139 222 -49 98 180 -0 0 115 -98 98 98 -24 24 24 -255 0 255 diff --git a/graphics/pokemon/palettes/beldum_palette.pal b/graphics/pokemon/palettes/beldum_palette.pal deleted file mode 100644 index 41b48bc08..000000000 --- a/graphics/pokemon/palettes/beldum_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -49 164 82 -205 205 205 -172 172 172 -148 139 148 -115 106 115 -222 222 222 -131 74 74 -255 106 106 -213 74 82 -131 205 255 -255 255 255 -90 164 255 -74 131 213 -57 98 180 -49 57 115 -16 16 16 diff --git a/graphics/pokemon/palettes/beldum_shiny_palette.pal b/graphics/pokemon/palettes/beldum_shiny_palette.pal deleted file mode 100644 index 8fc3bc4be..000000000 --- a/graphics/pokemon/palettes/beldum_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -49 164 82 -238 172 82 -205 139 49 -172 106 16 -139 74 0 -255 205 115 -156 65 65 -255 106 106 -255 74 82 -238 238 246 -255 255 255 -213 213 222 -164 164 172 -115 106 115 -82 74 82 -16 16 16 diff --git a/graphics/pokemon/palettes/bellossom_palette.pal b/graphics/pokemon/palettes/bellossom_palette.pal deleted file mode 100644 index 7b0591a62..000000000 --- a/graphics/pokemon/palettes/bellossom_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -156 213 74 -115 172 49 -82 98 41 -230 230 106 -180 180 57 -131 131 24 -82 197 49 -57 139 0 -16 90 16 -246 106 0 -213 32 0 -131 0 0 -164 164 164 -16 16 16 diff --git a/graphics/pokemon/palettes/bellossom_shiny_palette.pal b/graphics/pokemon/palettes/bellossom_shiny_palette.pal deleted file mode 100644 index 1f10af6fb..000000000 --- a/graphics/pokemon/palettes/bellossom_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -222 156 255 -189 123 230 -123 65 180 -213 246 90 -164 197 41 -98 139 8 -90 205 131 -49 148 98 -32 82 74 -255 131 172 -205 49 106 -148 24 82 -164 164 164 -16 16 16 diff --git a/graphics/pokemon/palettes/bellsprout_palette.pal b/graphics/pokemon/palettes/bellsprout_palette.pal deleted file mode 100644 index 8a91d8f8e..000000000 --- a/graphics/pokemon/palettes/bellsprout_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 180 -246 255 189 -82 98 41 -255 172 131 -238 115 65 -189 65 32 -255 238 115 -222 197 115 -197 148 41 -189 238 131 -156 213 74 -115 172 49 -205 156 41 -156 115 32 -106 65 0 -16 16 16 diff --git a/graphics/pokemon/palettes/bellsprout_shiny_palette.pal b/graphics/pokemon/palettes/bellsprout_shiny_palette.pal deleted file mode 100644 index 6a813078f..000000000 --- a/graphics/pokemon/palettes/bellsprout_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 180 -255 255 255 -82 98 41 -222 189 189 -180 148 148 -139 106 106 -255 246 98 -222 205 57 -180 164 16 -246 213 82 -205 172 41 -164 131 0 -205 156 41 -156 115 32 -106 65 0 -16 16 16 diff --git a/graphics/pokemon/palettes/blastoise_palette.pal b/graphics/pokemon/palettes/blastoise_palette.pal deleted file mode 100644 index 694eb3675..000000000 --- a/graphics/pokemon/palettes/blastoise_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -139 205 164 -255 255 255 -222 213 213 -148 164 164 -106 74 49 -172 49 57 -222 164 115 -255 213 106 -238 172 65 -189 139 57 -156 115 65 -156 197 238 -115 148 230 -74 131 148 -74 74 115 -16 16 16 diff --git a/graphics/pokemon/palettes/blastoise_shiny_palette.pal b/graphics/pokemon/palettes/blastoise_shiny_palette.pal deleted file mode 100644 index d96b5ffee..000000000 --- a/graphics/pokemon/palettes/blastoise_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -213 205 205 -148 164 164 -32 65 32 -172 49 57 -180 172 65 -213 189 57 -238 205 74 -115 139 8 -65 90 8 -222 205 246 -213 180 255 -156 148 197 -57 57 106 -16 16 16 diff --git a/graphics/pokemon/palettes/blaziken_palette.pal b/graphics/pokemon/palettes/blaziken_palette.pal deleted file mode 100644 index 64aaed794..000000000 --- a/graphics/pokemon/palettes/blaziken_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 197 148 -255 246 246 -205 180 180 -172 148 148 -148 115 123 -255 123 82 -222 98 49 -180 65 49 -74 41 65 -238 213 172 -205 180 156 -148 123 90 -255 230 156 -255 213 106 -230 172 90 -0 0 0 diff --git a/graphics/pokemon/palettes/blaziken_shiny_palette.pal b/graphics/pokemon/palettes/blaziken_shiny_palette.pal deleted file mode 100644 index fea29cce8..000000000 --- a/graphics/pokemon/palettes/blaziken_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 197 148 -255 246 246 -205 180 180 -172 148 148 -148 115 123 -197 82 49 -131 49 32 -106 24 8 -74 0 0 -238 230 222 -222 213 205 -180 65 49 -255 255 255 -255 180 82 -222 123 49 -0 0 0 diff --git a/graphics/pokemon/palettes/blissey_palette.pal b/graphics/pokemon/palettes/blissey_palette.pal deleted file mode 100644 index edeacbdaa..000000000 --- a/graphics/pokemon/palettes/blissey_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -222 222 222 -180 180 180 -106 106 106 -0 255 0 -255 213 222 -255 172 197 -238 123 156 -213 74 98 -189 32 49 -0 255 0 -0 255 0 -213 74 98 -172 16 32 -16 16 16 diff --git a/graphics/pokemon/palettes/blissey_shiny_palette.pal b/graphics/pokemon/palettes/blissey_shiny_palette.pal deleted file mode 100644 index d6d75db9e..000000000 --- a/graphics/pokemon/palettes/blissey_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -222 238 255 -180 197 222 -90 106 131 -0 255 0 -255 238 246 -255 213 230 -246 172 197 -222 115 139 -180 74 82 -0 255 0 -238 123 156 -222 90 98 -172 49 65 -16 16 16 diff --git a/graphics/pokemon/palettes/breloom_palette.pal b/graphics/pokemon/palettes/breloom_palette.pal deleted file mode 100644 index f01f5d947..000000000 --- a/graphics/pokemon/palettes/breloom_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -238 238 238 -255 255 255 -255 238 156 -246 213 123 -213 172 106 -82 24 16 -98 74 57 -57 82 24 -164 131 82 -172 213 98 -148 189 74 -115 148 49 -238 123 74 -172 49 16 -0 0 0 -222 74 41 diff --git a/graphics/pokemon/palettes/breloom_shiny_palette.pal b/graphics/pokemon/palettes/breloom_shiny_palette.pal deleted file mode 100644 index ad89e65f2..000000000 --- a/graphics/pokemon/palettes/breloom_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 148 139 -255 255 255 -255 238 180 -255 230 148 -230 189 106 -82 24 16 -98 74 57 -57 82 24 -189 148 82 -255 115 74 -222 98 49 -180 65 49 -255 222 139 -238 139 49 -0 0 0 -255 180 90 diff --git a/graphics/pokemon/palettes/bulbasaur_palette.pal b/graphics/pokemon/palettes/bulbasaur_palette.pal deleted file mode 100644 index cc333bed3..000000000 --- a/graphics/pokemon/palettes/bulbasaur_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -131 238 197 -98 213 164 -98 148 156 -41 90 98 -255 106 98 -222 74 65 -189 41 32 -205 205 205 -16 16 16 -189 255 115 -156 213 74 -123 172 65 -90 115 65 -255 0 255 diff --git a/graphics/pokemon/palettes/bulbasaur_shiny_palette.pal b/graphics/pokemon/palettes/bulbasaur_shiny_palette.pal deleted file mode 100644 index 86a535831..000000000 --- a/graphics/pokemon/palettes/bulbasaur_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -205 255 41 -164 230 0 -106 172 0 -24 90 0 -255 106 98 -222 74 65 -189 41 32 -205 205 205 -16 16 16 -57 197 90 -16 156 49 -0 115 8 -0 57 0 -255 0 255 diff --git a/graphics/pokemon/palettes/butterfree_palette.pal b/graphics/pokemon/palettes/butterfree_palette.pal deleted file mode 100644 index c0eb72213..000000000 --- a/graphics/pokemon/palettes/butterfree_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -16 16 16 -255 0 255 -180 180 197 -123 123 156 -82 82 115 -65 65 90 -255 189 180 -255 123 82 -205 98 106 -148 32 16 -230 230 230 -197 197 197 -156 205 197 -90 180 139 diff --git a/graphics/pokemon/palettes/butterfree_shiny_palette.pal b/graphics/pokemon/palettes/butterfree_shiny_palette.pal deleted file mode 100644 index a0cb8fa39..000000000 --- a/graphics/pokemon/palettes/butterfree_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 246 213 -16 16 16 -255 0 255 -189 189 205 -123 123 156 -106 90 131 -98 65 98 -98 246 106 -82 222 106 -65 180 90 -41 98 82 -255 222 180 -246 180 156 -246 180 123 -213 131 123 diff --git a/graphics/pokemon/palettes/cacnea_palette.pal b/graphics/pokemon/palettes/cacnea_palette.pal deleted file mode 100644 index 2bfc05a1e..000000000 --- a/graphics/pokemon/palettes/cacnea_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 172 98 -205 238 115 -172 205 98 -139 172 82 -106 139 65 -230 255 156 -123 205 106 -74 156 57 -65 115 41 -131 131 131 -49 82 41 -255 238 255 -255 213 74 -189 156 65 -255 238 148 -16 16 16 diff --git a/graphics/pokemon/palettes/cacnea_shiny_palette.pal b/graphics/pokemon/palettes/cacnea_shiny_palette.pal deleted file mode 100644 index 67e730f61..000000000 --- a/graphics/pokemon/palettes/cacnea_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 172 98 -238 189 90 -205 156 57 -172 123 24 -139 90 0 -255 222 123 -205 106 57 -172 74 24 -139 41 0 -131 131 131 -74 24 0 -255 238 255 -255 213 74 -189 156 65 -255 238 148 -16 16 16 diff --git a/graphics/pokemon/palettes/cacturne_palette.pal b/graphics/pokemon/palettes/cacturne_palette.pal deleted file mode 100644 index cd8281641..000000000 --- a/graphics/pokemon/palettes/cacturne_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 172 98 -180 213 115 -156 189 98 -131 164 82 -106 139 65 -98 197 106 -82 172 98 -65 164 90 -49 131 74 -98 115 74 -57 82 41 -205 238 115 -255 230 74 -139 115 115 -82 82 90 -16 16 16 diff --git a/graphics/pokemon/palettes/cacturne_shiny_palette.pal b/graphics/pokemon/palettes/cacturne_shiny_palette.pal deleted file mode 100644 index 11914015b..000000000 --- a/graphics/pokemon/palettes/cacturne_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 172 98 -238 189 90 -205 156 57 -172 123 24 -139 90 0 -205 106 57 -172 74 24 -139 41 0 -106 8 0 -106 57 0 -74 24 0 -255 222 123 -255 230 74 -139 115 115 -82 82 90 -16 16 16 diff --git a/graphics/pokemon/palettes/camerupt_palette.pal b/graphics/pokemon/palettes/camerupt_palette.pal deleted file mode 100644 index bd1096ff6..000000000 --- a/graphics/pokemon/palettes/camerupt_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -106 106 156 -24 24 24 -82 49 24 -189 82 41 -230 106 24 -238 172 74 -74 74 139 -131 131 189 -189 180 189 -0 0 0 -189 123 106 -238 238 205 -213 213 131 -172 172 90 -74 74 32 -255 255 255 diff --git a/graphics/pokemon/palettes/camerupt_shiny_palette.pal b/graphics/pokemon/palettes/camerupt_shiny_palette.pal deleted file mode 100644 index c402d68dd..000000000 --- a/graphics/pokemon/palettes/camerupt_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -106 106 156 -41 41 24 -41 41 57 -57 65 82 -115 106 123 -148 139 156 -222 172 74 -255 246 115 -222 213 222 -0 0 0 -197 139 57 -255 255 255 -238 189 156 -197 148 115 -115 74 49 -255 255 255 diff --git a/graphics/pokemon/palettes/carvanha_palette.pal b/graphics/pokemon/palettes/carvanha_palette.pal deleted file mode 100644 index fbe24d28b..000000000 --- a/graphics/pokemon/palettes/carvanha_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -156 131 213 -41 41 90 -172 197 255 -98 74 57 -49 74 156 -65 123 189 -98 164 222 -189 57 57 -246 57 57 -255 131 131 -205 148 41 -238 189 41 -255 205 82 -123 57 57 -0 0 0 -255 255 255 diff --git a/graphics/pokemon/palettes/carvanha_shiny_palette.pal b/graphics/pokemon/palettes/carvanha_shiny_palette.pal deleted file mode 100644 index 0e0cb9268..000000000 --- a/graphics/pokemon/palettes/carvanha_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -156 131 213 -41 41 90 -172 197 255 -98 74 57 -123 156 24 -156 189 57 -189 222 90 -49 148 131 -82 180 164 -115 213 197 -205 148 41 -238 189 41 -255 205 82 -0 98 82 -0 0 0 -255 255 255 diff --git a/graphics/pokemon/palettes/cascoon_palette.pal b/graphics/pokemon/palettes/cascoon_palette.pal deleted file mode 100644 index 05dceb931..000000000 --- a/graphics/pokemon/palettes/cascoon_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 246 197 -106 98 115 -139 139 148 -172 172 180 -0 0 0 -172 156 189 -222 180 230 -238 213 230 -238 230 255 -115 0 0 -246 197 0 -189 49 0 -148 148 0 -246 255 197 -0 0 0 -24 24 24 diff --git a/graphics/pokemon/palettes/cascoon_shiny_palette.pal b/graphics/pokemon/palettes/cascoon_shiny_palette.pal deleted file mode 100644 index e8b230ed1..000000000 --- a/graphics/pokemon/palettes/cascoon_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 246 197 -49 98 16 -82 148 24 -115 180 57 -0 0 0 -139 205 74 -172 230 98 -213 255 148 -238 255 172 -115 0 0 -246 197 0 -189 49 0 -148 148 0 -246 255 197 -0 0 0 -24 24 24 diff --git a/graphics/pokemon/palettes/castform_normal_form_palette.pal b/graphics/pokemon/palettes/castform_normal_form_palette.pal deleted file mode 100644 index 3fe2b7692..000000000 --- a/graphics/pokemon/palettes/castform_normal_form_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 197 148 -90 82 82 -205 189 189 -230 222 222 -246 246 238 -0 0 0 -255 255 255 -222 222 246 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -148 148 148 -74 82 74 -255 255 255 -24 24 24 diff --git a/graphics/pokemon/palettes/castform_normal_form_shiny_palette.pal b/graphics/pokemon/palettes/castform_normal_form_shiny_palette.pal deleted file mode 100644 index 2fa401dd6..000000000 --- a/graphics/pokemon/palettes/castform_normal_form_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 197 148 -98 90 90 -205 164 189 -230 197 222 -255 222 255 -0 0 0 -255 246 65 -230 180 32 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -148 148 148 -74 82 74 -255 255 255 -24 24 24 diff --git a/graphics/pokemon/palettes/castform_rainy_form_palette.pal b/graphics/pokemon/palettes/castform_rainy_form_palette.pal deleted file mode 100644 index 914cdac62..000000000 --- a/graphics/pokemon/palettes/castform_rainy_form_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 197 148 -57 65 90 -98 115 189 -115 139 213 -148 180 205 -0 0 0 -205 238 246 -180 197 222 -139 205 222 -131 180 197 -82 98 131 -197 197 197 -148 139 148 -90 90 82 -255 255 255 -24 24 24 diff --git a/graphics/pokemon/palettes/castform_rainy_form_shiny_palette.pal b/graphics/pokemon/palettes/castform_rainy_form_shiny_palette.pal deleted file mode 100644 index 914cdac62..000000000 --- a/graphics/pokemon/palettes/castform_rainy_form_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 197 148 -57 65 90 -98 115 189 -115 139 213 -148 180 205 -0 0 0 -205 238 246 -180 197 222 -139 205 222 -131 180 197 -82 98 131 -197 197 197 -148 139 148 -90 90 82 -255 255 255 -24 24 24 diff --git a/graphics/pokemon/palettes/castform_snowy_form_palette.pal b/graphics/pokemon/palettes/castform_snowy_form_palette.pal deleted file mode 100644 index d1c64ac75..000000000 --- a/graphics/pokemon/palettes/castform_snowy_form_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 197 148 -41 82 57 -123 82 189 -139 115 213 -148 180 205 -0 0 0 -197 180 255 -156 156 197 -139 205 172 -115 164 139 -98 74 115 -189 230 230 -82 115 106 -74 82 74 -255 255 255 -24 24 24 diff --git a/graphics/pokemon/palettes/castform_snowy_form_shiny_palette.pal b/graphics/pokemon/palettes/castform_snowy_form_shiny_palette.pal deleted file mode 100644 index d1c64ac75..000000000 --- a/graphics/pokemon/palettes/castform_snowy_form_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 197 148 -41 82 57 -123 82 189 -139 115 213 -148 180 205 -0 0 0 -197 180 255 -156 156 197 -139 205 172 -115 164 139 -98 74 115 -189 230 230 -82 115 106 -74 82 74 -255 255 255 -24 24 24 diff --git a/graphics/pokemon/palettes/castform_sunny_form_palette.pal b/graphics/pokemon/palettes/castform_sunny_form_palette.pal deleted file mode 100644 index af0cfbb93..000000000 --- a/graphics/pokemon/palettes/castform_sunny_form_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 197 148 -98 49 41 -205 90 74 -238 123 74 -255 156 65 -0 0 0 -255 246 106 -230 213 106 -255 156 98 -213 131 74 -148 90 65 -213 205 230 -0 0 0 -90 90 82 -255 255 255 -24 24 24 diff --git a/graphics/pokemon/palettes/castform_sunny_form_shiny_palette.pal b/graphics/pokemon/palettes/castform_sunny_form_shiny_palette.pal deleted file mode 100644 index af0cfbb93..000000000 --- a/graphics/pokemon/palettes/castform_sunny_form_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 197 148 -98 49 41 -205 90 74 -238 123 74 -255 156 65 -0 0 0 -255 246 106 -230 213 106 -255 156 98 -213 131 74 -148 90 65 -213 205 230 -0 0 0 -90 90 82 -255 255 255 -24 24 24 diff --git a/graphics/pokemon/palettes/caterpie_palette.pal b/graphics/pokemon/palettes/caterpie_palette.pal deleted file mode 100644 index f01008218..000000000 --- a/graphics/pokemon/palettes/caterpie_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -238 222 255 -238 238 123 -213 205 98 -255 172 115 -238 123 49 -197 65 65 -123 98 57 -189 255 115 -156 213 74 -123 156 98 -82 98 41 -255 0 255 -115 115 115 -16 16 16 diff --git a/graphics/pokemon/palettes/caterpie_shiny_palette.pal b/graphics/pokemon/palettes/caterpie_shiny_palette.pal deleted file mode 100644 index 604283c2c..000000000 --- a/graphics/pokemon/palettes/caterpie_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -246 238 115 -230 238 123 -213 205 98 -255 172 115 -238 123 49 -197 98 98 -172 98 57 -255 255 123 -246 222 115 -222 180 57 -139 106 41 -255 0 255 -131 131 131 -16 16 16 diff --git a/graphics/pokemon/palettes/celebi_palette.pal b/graphics/pokemon/palettes/celebi_palette.pal deleted file mode 100644 index aed1b3ec2..000000000 --- a/graphics/pokemon/palettes/celebi_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -238 255 213 -197 238 164 -123 213 115 -65 189 65 -32 139 32 -255 255 255 -172 238 255 -115 189 230 -57 139 205 -0 98 180 -255 0 255 -180 180 189 -106 115 131 -16 16 16 diff --git a/graphics/pokemon/palettes/celebi_shiny_palette.pal b/graphics/pokemon/palettes/celebi_shiny_palette.pal deleted file mode 100644 index b90d6ed43..000000000 --- a/graphics/pokemon/palettes/celebi_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 230 -255 238 230 -255 205 197 -238 164 156 -222 106 131 -172 57 65 -255 255 255 -189 222 238 -106 213 90 -74 180 65 -41 148 41 -222 32 222 -180 180 189 -106 115 131 -49 49 49 diff --git a/graphics/pokemon/palettes/chansey_palette.pal b/graphics/pokemon/palettes/chansey_palette.pal deleted file mode 100644 index 3a740dba0..000000000 --- a/graphics/pokemon/palettes/chansey_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 213 -255 255 255 -246 238 164 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -16 16 16 -255 172 172 -255 131 90 -230 82 49 -255 230 230 -255 213 213 -238 172 189 -246 115 115 -164 57 41 diff --git a/graphics/pokemon/palettes/chansey_shiny_palette.pal b/graphics/pokemon/palettes/chansey_shiny_palette.pal deleted file mode 100644 index e8107f8d5..000000000 --- a/graphics/pokemon/palettes/chansey_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 213 -255 255 255 -246 238 164 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -16 16 16 -180 238 106 -148 213 82 -106 189 49 -255 255 230 -255 238 205 -246 205 139 -230 172 98 -123 90 16 diff --git a/graphics/pokemon/palettes/charizard_palette.pal b/graphics/pokemon/palettes/charizard_palette.pal deleted file mode 100644 index 3823f2f28..000000000 --- a/graphics/pokemon/palettes/charizard_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -123 213 156 -246 106 65 -222 197 131 -41 172 189 -32 123 148 -24 82 115 -255 230 156 -246 213 139 -246 189 32 -16 16 16 -255 197 98 -255 148 65 -213 106 82 -172 65 0 -213 213 213 -255 255 255 diff --git a/graphics/pokemon/palettes/charizard_shiny_palette.pal b/graphics/pokemon/palettes/charizard_shiny_palette.pal deleted file mode 100644 index 6a7a91f87..000000000 --- a/graphics/pokemon/palettes/charizard_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -230 98 49 -189 189 106 -230 98 106 -197 65 74 -156 32 41 -0 0 0 -222 213 131 -255 164 82 -16 16 16 -131 164 156 -98 131 131 -65 90 90 -32 57 57 -213 213 213 -255 255 255 diff --git a/graphics/pokemon/palettes/charmander_palette.pal b/graphics/pokemon/palettes/charmander_palette.pal deleted file mode 100644 index 223adef4c..000000000 --- a/graphics/pokemon/palettes/charmander_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -16 16 16 -180 180 180 -255 255 255 -255 230 156 -255 213 106 -230 172 90 -246 98 0 -255 164 8 -255 197 98 -255 148 65 -222 74 74 -156 65 24 -24 74 49 -65 164 123 -148 205 222 diff --git a/graphics/pokemon/palettes/charmander_shiny_palette.pal b/graphics/pokemon/palettes/charmander_shiny_palette.pal deleted file mode 100644 index aea29571f..000000000 --- a/graphics/pokemon/palettes/charmander_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -16 16 16 -180 180 180 -255 255 255 -255 255 180 -255 230 148 -246 197 115 -213 82 8 -246 123 8 -255 246 90 -255 213 49 -222 164 8 -131 82 16 -24 74 49 -65 164 123 -148 205 222 diff --git a/graphics/pokemon/palettes/charmeleon_palette.pal b/graphics/pokemon/palettes/charmeleon_palette.pal deleted file mode 100644 index f79c4cd97..000000000 --- a/graphics/pokemon/palettes/charmeleon_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -131 131 131 -8 98 197 -255 230 156 -255 213 106 -230 172 90 -246 115 0 -255 164 24 -255 197 74 -255 172 115 -255 106 74 -213 74 74 -148 49 16 -197 205 205 -16 16 16 diff --git a/graphics/pokemon/palettes/charmeleon_shiny_palette.pal b/graphics/pokemon/palettes/charmeleon_shiny_palette.pal deleted file mode 100644 index 6fa23cf00..000000000 --- a/graphics/pokemon/palettes/charmeleon_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -106 106 106 -8 98 197 -255 246 180 -246 230 139 -222 197 106 -222 74 49 -238 115 49 -255 172 57 -255 238 82 -255 213 74 -230 156 16 -148 82 24 -197 205 205 -16 16 16 diff --git a/graphics/pokemon/palettes/chikorita_palette.pal b/graphics/pokemon/palettes/chikorita_palette.pal deleted file mode 100644 index 9bca4c3eb..000000000 --- a/graphics/pokemon/palettes/chikorita_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -222 255 131 -205 238 98 -156 197 8 -74 115 0 -98 172 74 -57 131 41 -0 90 0 -0 57 0 -205 205 205 -156 156 156 -98 98 98 -16 16 16 -213 131 82 -148 0 0 diff --git a/graphics/pokemon/palettes/chikorita_shiny_palette.pal b/graphics/pokemon/palettes/chikorita_shiny_palette.pal deleted file mode 100644 index d7ecae6fb..000000000 --- a/graphics/pokemon/palettes/chikorita_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -255 255 148 -246 238 90 -205 197 57 -131 106 16 -246 189 106 -213 156 74 -164 98 24 -90 65 41 -205 205 205 -156 156 156 -156 131 74 -16 16 16 -222 156 115 -172 57 57 diff --git a/graphics/pokemon/palettes/chimecho_palette.pal b/graphics/pokemon/palettes/chimecho_palette.pal deleted file mode 100644 index 9dd34b7c4..000000000 --- a/graphics/pokemon/palettes/chimecho_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 197 148 -0 0 0 -255 123 148 -156 197 230 -197 230 255 -115 148 180 -255 255 255 -164 164 164 -255 230 148 -255 213 90 -65 74 106 -197 74 98 -123 41 65 -246 90 115 -246 189 90 -172 115 74 diff --git a/graphics/pokemon/palettes/chimecho_shiny_palette.pal b/graphics/pokemon/palettes/chimecho_shiny_palette.pal deleted file mode 100644 index 44983802b..000000000 --- a/graphics/pokemon/palettes/chimecho_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 197 148 -0 0 0 -255 189 90 -148 230 148 -205 255 172 -98 189 98 -255 255 255 -164 164 164 -255 230 148 -255 213 90 -49 123 74 -197 106 24 -148 74 0 -255 148 24 -246 189 90 -172 115 74 diff --git a/graphics/pokemon/palettes/chinchou_palette.pal b/graphics/pokemon/palettes/chinchou_palette.pal deleted file mode 100644 index fc382ddbb..000000000 --- a/graphics/pokemon/palettes/chinchou_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -205 230 255 -164 205 255 -139 156 255 -98 123 213 -65 90 172 -0 57 115 -255 246 172 -255 222 123 -213 180 90 -180 139 57 -106 57 0 -139 98 24 -164 0 0 -16 16 16 diff --git a/graphics/pokemon/palettes/chinchou_shiny_palette.pal b/graphics/pokemon/palettes/chinchou_shiny_palette.pal deleted file mode 100644 index babb78178..000000000 --- a/graphics/pokemon/palettes/chinchou_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -148 238 255 -123 222 255 -82 180 255 -41 139 222 -8 90 180 -24 57 131 -213 255 115 -164 246 65 -123 205 74 -90 172 49 -57 139 24 -32 82 24 -148 57 0 -16 16 16 diff --git a/graphics/pokemon/palettes/circled_question_mark_palette.pal b/graphics/pokemon/palettes/circled_question_mark_palette.pal deleted file mode 100644 index 681f1cefe..000000000 --- a/graphics/pokemon/palettes/circled_question_mark_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -156 205 205 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -205 205 205 -172 172 172 -255 255 255 -0 0 0 diff --git a/graphics/pokemon/palettes/circled_question_mark_shiny_palette.pal b/graphics/pokemon/palettes/circled_question_mark_shiny_palette.pal deleted file mode 100644 index aa8d08dc3..000000000 --- a/graphics/pokemon/palettes/circled_question_mark_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -123 172 172 -32 32 32 -32 32 32 -32 32 32 -32 32 32 -32 32 32 -32 32 32 -32 32 32 -32 32 32 -32 32 32 -32 32 32 -32 32 32 -172 172 172 -139 139 139 -222 222 222 -32 32 32 diff --git a/graphics/pokemon/palettes/clamperl_palette.pal b/graphics/pokemon/palettes/clamperl_palette.pal deleted file mode 100644 index 84d730399..000000000 --- a/graphics/pokemon/palettes/clamperl_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 246 156 -255 255 255 -205 213 213 -139 164 148 -197 213 246 -139 189 205 -74 139 131 -41 65 131 -98 139 246 -49 90 205 -0 41 82 -123 189 255 -0 0 0 -255 123 213 -213 115 131 -115 74 90 diff --git a/graphics/pokemon/palettes/clamperl_shiny_palette.pal b/graphics/pokemon/palettes/clamperl_shiny_palette.pal deleted file mode 100644 index d479da971..000000000 --- a/graphics/pokemon/palettes/clamperl_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 246 156 -255 255 255 -205 213 213 -139 164 148 -197 213 246 -139 189 205 -74 139 131 -41 65 131 -197 65 180 -148 8 123 -0 41 82 -222 131 205 -0 0 0 -255 230 156 -230 172 90 -115 74 90 diff --git a/graphics/pokemon/palettes/claydol_palette.pal b/graphics/pokemon/palettes/claydol_palette.pal deleted file mode 100644 index cd7f876c5..000000000 --- a/graphics/pokemon/palettes/claydol_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -82 82 41 -106 106 65 -148 156 123 -98 98 24 -156 148 189 -197 197 213 -255 255 255 -255 197 164 -246 123 90 -172 90 0 -255 213 115 -180 164 123 -255 255 255 -255 255 255 -106 255 106 diff --git a/graphics/pokemon/palettes/claydol_shiny_palette.pal b/graphics/pokemon/palettes/claydol_shiny_palette.pal deleted file mode 100644 index e4203b19b..000000000 --- a/graphics/pokemon/palettes/claydol_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -82 82 41 -106 106 65 -148 156 123 -98 98 24 -156 148 189 -197 197 213 -255 255 255 -246 238 90 -246 205 57 -197 156 16 -255 213 115 -180 164 123 -255 255 255 -255 255 255 -106 255 106 diff --git a/graphics/pokemon/palettes/clefable_palette.pal b/graphics/pokemon/palettes/clefable_palette.pal deleted file mode 100644 index 46e74099c..000000000 --- a/graphics/pokemon/palettes/clefable_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 222 222 -255 255 255 -197 197 197 -148 148 148 -255 172 172 -255 197 180 -238 148 148 -222 98 98 -156 90 90 -16 16 16 -255 106 41 -222 57 90 -123 106 98 -82 65 57 -74 65 65 -255 0 255 diff --git a/graphics/pokemon/palettes/clefable_shiny_palette.pal b/graphics/pokemon/palettes/clefable_shiny_palette.pal deleted file mode 100644 index 106d78ed4..000000000 --- a/graphics/pokemon/palettes/clefable_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 222 222 -255 255 255 -197 197 197 -148 148 148 -255 213 189 -255 222 246 -246 189 180 -230 156 131 -172 106 98 -16 16 16 -255 106 41 -222 32 16 -123 222 90 -82 180 49 -41 139 8 -255 0 255 diff --git a/graphics/pokemon/palettes/clefairy_palette.pal b/graphics/pokemon/palettes/clefairy_palette.pal deleted file mode 100644 index 78c34d19c..000000000 --- a/graphics/pokemon/palettes/clefairy_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 189 -255 255 255 -197 197 197 -131 131 131 -238 90 74 -180 57 41 -205 131 82 -172 98 49 -156 82 32 -115 41 8 -255 0 255 -255 197 164 -255 156 131 -230 131 123 -156 90 82 -16 16 16 diff --git a/graphics/pokemon/palettes/clefairy_shiny_palette.pal b/graphics/pokemon/palettes/clefairy_shiny_palette.pal deleted file mode 100644 index e61e335f8..000000000 --- a/graphics/pokemon/palettes/clefairy_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 189 -255 255 255 -197 197 197 -148 148 148 -238 90 74 -180 57 41 -123 222 90 -82 180 49 -41 139 8 -0 98 0 -255 0 255 -255 222 246 -246 189 180 -230 156 131 -172 106 98 -16 16 16 diff --git a/graphics/pokemon/palettes/cleffa_palette.pal b/graphics/pokemon/palettes/cleffa_palette.pal deleted file mode 100644 index 757446357..000000000 --- a/graphics/pokemon/palettes/cleffa_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -255 205 156 -255 164 131 -222 115 65 -197 74 0 -98 49 32 -213 164 41 -164 106 0 -123 74 0 -90 49 0 -255 0 255 -205 0 0 -156 0 0 -82 82 82 -16 16 16 diff --git a/graphics/pokemon/palettes/cleffa_shiny_palette.pal b/graphics/pokemon/palettes/cleffa_shiny_palette.pal deleted file mode 100644 index 1af070d66..000000000 --- a/graphics/pokemon/palettes/cleffa_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -255 222 222 -255 189 197 -238 123 148 -180 82 82 -32 98 0 -123 222 90 -82 180 49 -41 139 8 -0 98 0 -255 0 255 -205 0 0 -156 0 0 -82 82 82 -16 16 16 diff --git a/graphics/pokemon/palettes/cloyster_palette.pal b/graphics/pokemon/palettes/cloyster_palette.pal deleted file mode 100644 index 7eeb9f47e..000000000 --- a/graphics/pokemon/palettes/cloyster_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 189 -255 0 255 -213 172 230 -172 123 189 -98 123 115 -74 32 82 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -213 222 197 -180 189 156 -131 139 106 -74 82 65 -16 16 16 -255 255 255 diff --git a/graphics/pokemon/palettes/cloyster_shiny_palette.pal b/graphics/pokemon/palettes/cloyster_shiny_palette.pal deleted file mode 100644 index 8a0d5bd4b..000000000 --- a/graphics/pokemon/palettes/cloyster_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 189 -255 0 255 -115 164 213 -74 123 172 -32 82 131 -0 41 90 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -197 197 197 -148 148 148 -98 98 98 -65 65 65 -16 16 16 -255 255 255 diff --git a/graphics/pokemon/palettes/combusken_palette.pal b/graphics/pokemon/palettes/combusken_palette.pal deleted file mode 100644 index 7327dbece..000000000 --- a/graphics/pokemon/palettes/combusken_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -49 164 82 -255 222 156 -213 189 148 -180 148 123 -156 123 57 -255 213 98 -246 180 82 -197 148 57 -123 106 90 -139 57 49 -255 255 255 -255 164 57 -255 106 57 -213 90 57 -90 57 49 -16 16 16 diff --git a/graphics/pokemon/palettes/combusken_shiny_palette.pal b/graphics/pokemon/palettes/combusken_shiny_palette.pal deleted file mode 100644 index 6fbb74b08..000000000 --- a/graphics/pokemon/palettes/combusken_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -49 164 82 -255 255 255 -222 180 131 -172 123 90 -123 90 74 -255 238 172 -255 213 98 -238 156 49 -123 106 90 -106 41 32 -255 255 255 -230 106 49 -197 74 49 -139 57 49 -90 57 49 -16 16 16 diff --git a/graphics/pokemon/palettes/corphish_palette.pal b/graphics/pokemon/palettes/corphish_palette.pal deleted file mode 100644 index 0fd4ea330..000000000 --- a/graphics/pokemon/palettes/corphish_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -255 123 16 -213 90 8 -172 82 8 -98 65 49 -246 238 197 -230 205 148 -205 172 106 -148 115 65 -255 213 90 -238 180 65 -255 197 65 -205 205 205 -131 131 131 -0 0 0 diff --git a/graphics/pokemon/palettes/corphish_shiny_palette.pal b/graphics/pokemon/palettes/corphish_shiny_palette.pal deleted file mode 100644 index a3eb45805..000000000 --- a/graphics/pokemon/palettes/corphish_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -255 148 148 -213 106 106 -180 74 74 -139 41 41 -255 255 238 -255 222 148 -255 189 90 -213 148 65 -255 213 90 -255 205 205 -255 197 197 -205 205 205 -131 131 131 -0 0 0 diff --git a/graphics/pokemon/palettes/corsola_palette.pal b/graphics/pokemon/palettes/corsola_palette.pal deleted file mode 100644 index 95c7616fe..000000000 --- a/graphics/pokemon/palettes/corsola_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -222 222 222 -172 172 172 -131 131 139 -90 90 98 -255 213 222 -255 172 197 -230 106 139 -189 57 90 -139 16 16 -255 0 255 -255 0 255 -255 0 255 -189 57 90 -16 16 16 diff --git a/graphics/pokemon/palettes/corsola_shiny_palette.pal b/graphics/pokemon/palettes/corsola_shiny_palette.pal deleted file mode 100644 index 13daa4e26..000000000 --- a/graphics/pokemon/palettes/corsola_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -205 230 255 -164 189 222 -123 148 189 -74 98 156 -156 238 255 -123 205 255 -74 156 230 -41 106 197 -8 65 148 -255 0 255 -255 0 255 -255 0 255 -238 98 98 -16 16 16 diff --git a/graphics/pokemon/palettes/cradily_palette.pal b/graphics/pokemon/palettes/cradily_palette.pal deleted file mode 100644 index 9167eb879..000000000 --- a/graphics/pokemon/palettes/cradily_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -148 230 123 -115 180 106 -82 131 90 -57 90 74 -255 213 172 -255 172 115 -246 106 32 -255 246 123 -255 222 41 -230 172 0 -213 213 213 -172 172 180 -180 82 74 -0 0 0 diff --git a/graphics/pokemon/palettes/cradily_shiny_palette.pal b/graphics/pokemon/palettes/cradily_shiny_palette.pal deleted file mode 100644 index 32a3b9e8f..000000000 --- a/graphics/pokemon/palettes/cradily_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -255 180 189 -222 123 156 -189 90 123 -139 65 65 -255 213 172 -255 172 115 -246 106 32 -255 246 156 -255 230 41 -230 172 0 -213 213 213 -172 172 180 -180 82 74 -0 0 0 diff --git a/graphics/pokemon/palettes/crawdaunt_palette.pal b/graphics/pokemon/palettes/crawdaunt_palette.pal deleted file mode 100644 index 7fe04e329..000000000 --- a/graphics/pokemon/palettes/crawdaunt_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -230 106 0 -189 65 0 -139 57 32 -246 238 197 -230 205 148 -197 164 98 -148 115 65 -255 230 90 -246 172 49 -82 156 246 -65 115 172 -197 197 230 -24 65 106 -0 0 0 diff --git a/graphics/pokemon/palettes/crawdaunt_shiny_palette.pal b/graphics/pokemon/palettes/crawdaunt_shiny_palette.pal deleted file mode 100644 index 21b58b2a0..000000000 --- a/graphics/pokemon/palettes/crawdaunt_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -238 148 0 -205 106 0 -156 74 32 -238 238 238 -222 222 222 -180 189 180 -131 139 131 -255 238 139 -246 197 41 -222 156 238 -164 90 189 -222 156 238 -123 65 139 -0 0 0 diff --git a/graphics/pokemon/palettes/crobat_palette.pal b/graphics/pokemon/palettes/crobat_palette.pal deleted file mode 100644 index 9c466e9e8..000000000 --- a/graphics/pokemon/palettes/crobat_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -230 139 246 -197 90 205 -156 57 180 -115 24 148 -255 0 255 -255 0 255 -74 156 189 -32 106 148 -16 74 115 -255 213 0 -213 148 0 -164 164 164 -106 106 106 -16 16 16 diff --git a/graphics/pokemon/palettes/crobat_shiny_palette.pal b/graphics/pokemon/palettes/crobat_shiny_palette.pal deleted file mode 100644 index 8f22fd4b0..000000000 --- a/graphics/pokemon/palettes/crobat_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -255 213 238 -246 180 197 -222 131 148 -164 74 106 -255 0 255 -255 0 255 -139 189 32 -74 139 0 -41 82 0 -255 213 0 -213 148 0 -164 164 164 -106 106 106 -16 16 16 diff --git a/graphics/pokemon/palettes/croconaw_palette.pal b/graphics/pokemon/palettes/croconaw_palette.pal deleted file mode 100644 index 2e64441a4..000000000 --- a/graphics/pokemon/palettes/croconaw_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -131 205 255 -90 172 230 -49 131 197 -74 74 131 -230 65 32 -123 0 0 -255 172 90 -255 90 32 -205 41 24 -123 0 0 -255 230 98 -230 180 82 -156 115 8 -16 16 16 diff --git a/graphics/pokemon/palettes/croconaw_shiny_palette.pal b/graphics/pokemon/palettes/croconaw_shiny_palette.pal deleted file mode 100644 index 847f2ed29..000000000 --- a/graphics/pokemon/palettes/croconaw_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -164 246 222 -115 213 205 -74 164 180 -49 106 139 -230 65 32 -123 0 0 -98 180 230 -57 98 197 -49 90 156 -32 65 106 -255 230 98 -230 180 82 -156 115 8 -16 16 16 diff --git a/graphics/pokemon/palettes/cubone_palette.pal b/graphics/pokemon/palettes/cubone_palette.pal deleted file mode 100644 index 3576a449e..000000000 --- a/graphics/pokemon/palettes/cubone_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -74 205 139 -222 189 106 -197 156 74 -148 106 49 -82 49 24 -238 238 238 -205 205 180 -139 139 106 -90 90 49 -246 230 205 -255 213 164 -230 180 139 -255 0 255 -255 0 255 -41 41 41 -255 255 255 diff --git a/graphics/pokemon/palettes/cubone_shiny_palette.pal b/graphics/pokemon/palettes/cubone_shiny_palette.pal deleted file mode 100644 index 51b6bc8ba..000000000 --- a/graphics/pokemon/palettes/cubone_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 189 -172 180 115 -131 131 74 -74 82 24 -49 57 0 -230 230 213 -197 197 172 -139 139 106 -90 90 49 -255 238 197 -238 213 148 -205 164 90 -255 0 255 -255 0 255 -41 41 41 -255 255 255 diff --git a/graphics/pokemon/palettes/cyndaquil_palette.pal b/graphics/pokemon/palettes/cyndaquil_palette.pal deleted file mode 100644 index 46fb06347..000000000 --- a/graphics/pokemon/palettes/cyndaquil_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -98 131 189 -65 82 139 -41 65 98 -24 41 82 -255 238 164 -230 205 106 -180 156 82 -139 98 32 -255 222 0 -255 156 0 -255 98 0 -238 0 0 -139 139 139 -16 16 16 diff --git a/graphics/pokemon/palettes/cyndaquil_shiny_palette.pal b/graphics/pokemon/palettes/cyndaquil_shiny_palette.pal deleted file mode 100644 index 14e35dbc5..000000000 --- a/graphics/pokemon/palettes/cyndaquil_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -230 156 106 -189 98 65 -139 65 57 -98 57 41 -255 230 115 -222 197 82 -172 139 49 -139 82 24 -255 222 0 -255 156 0 -255 98 0 -238 0 0 -139 139 139 -16 16 16 diff --git a/graphics/pokemon/palettes/delcatty_palette.pal b/graphics/pokemon/palettes/delcatty_palette.pal deleted file mode 100644 index 7d7d44e12..000000000 --- a/graphics/pokemon/palettes/delcatty_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -172 205 139 -255 255 255 -255 255 156 -255 222 98 -255 189 65 -222 156 65 -115 74 82 -246 180 197 -189 131 90 -106 74 156 -74 41 123 -0 0 0 -222 148 164 -197 123 139 -164 90 106 -131 57 74 diff --git a/graphics/pokemon/palettes/delcatty_shiny_palette.pal b/graphics/pokemon/palettes/delcatty_shiny_palette.pal deleted file mode 100644 index caf7d7be8..000000000 --- a/graphics/pokemon/palettes/delcatty_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -172 205 139 -255 255 255 -255 255 189 -255 255 156 -255 222 98 -246 172 65 -139 82 65 -255 180 98 -205 123 57 -139 106 172 -98 65 156 -0 0 0 -255 123 82 -238 82 49 -189 65 32 -164 49 32 diff --git a/graphics/pokemon/palettes/delibird_palette.pal b/graphics/pokemon/palettes/delibird_palette.pal deleted file mode 100644 index a975e93d3..000000000 --- a/graphics/pokemon/palettes/delibird_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -255 189 106 -255 115 16 -213 65 0 -148 49 0 -255 0 255 -255 246 139 -255 205 65 -205 139 41 -123 65 0 -90 90 90 -213 213 213 -172 172 180 -131 131 131 -16 16 16 diff --git a/graphics/pokemon/palettes/delibird_shiny_palette.pal b/graphics/pokemon/palettes/delibird_shiny_palette.pal deleted file mode 100644 index f94267729..000000000 --- a/graphics/pokemon/palettes/delibird_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -238 131 197 -205 90 164 -148 65 115 -90 41 82 -255 0 255 -255 246 139 -255 205 65 -205 139 41 -123 65 0 -139 123 82 -238 238 197 -213 205 139 -148 139 90 -49 49 49 diff --git a/graphics/pokemon/palettes/deoxys_palette.pal b/graphics/pokemon/palettes/deoxys_palette.pal deleted file mode 100644 index e8921dd3d..000000000 --- a/graphics/pokemon/palettes/deoxys_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 255 -115 74 49 -213 106 106 -255 131 74 -255 172 131 -115 213 172 -82 172 123 -57 98 90 -0 0 0 -156 156 131 -106 8 156 -0 98 230 -115 115 106 -197 197 213 -255 255 255 -24 24 24 diff --git a/graphics/pokemon/palettes/deoxys_shiny_palette.pal b/graphics/pokemon/palettes/deoxys_shiny_palette.pal deleted file mode 100644 index 666acaa3a..000000000 --- a/graphics/pokemon/palettes/deoxys_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 255 -106 90 24 -197 189 65 -255 222 74 -255 246 139 -115 213 172 -82 172 123 -57 98 90 -0 0 0 -156 156 131 -106 8 156 -0 98 230 -115 115 106 -197 197 213 -255 255 255 -24 24 24 diff --git a/graphics/pokemon/palettes/dewgong_palette.pal b/graphics/pokemon/palettes/dewgong_palette.pal deleted file mode 100644 index b9d0bdfed..000000000 --- a/graphics/pokemon/palettes/dewgong_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 189 -230 246 238 -197 205 238 -172 180 205 -65 82 131 -238 90 57 -197 57 65 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -213 205 205 -123 115 115 -16 16 16 -255 255 255 diff --git a/graphics/pokemon/palettes/dewgong_shiny_palette.pal b/graphics/pokemon/palettes/dewgong_shiny_palette.pal deleted file mode 100644 index 8949d4fa8..000000000 --- a/graphics/pokemon/palettes/dewgong_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 189 -238 238 213 -213 205 189 -180 172 156 -139 131 115 -238 90 57 -197 57 65 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -213 205 205 -131 123 123 -16 16 16 -255 255 255 diff --git a/graphics/pokemon/palettes/diglett_palette.pal b/graphics/pokemon/palettes/diglett_palette.pal deleted file mode 100644 index 7417ef7ff..000000000 --- a/graphics/pokemon/palettes/diglett_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 222 222 -255 255 255 -255 172 148 -255 106 90 -213 57 74 -230 230 180 -180 172 115 -131 123 74 -90 82 32 -123 123 123 -16 16 16 -222 156 90 -197 123 65 -164 90 65 -106 32 0 -255 0 255 diff --git a/graphics/pokemon/palettes/diglett_shiny_palette.pal b/graphics/pokemon/palettes/diglett_shiny_palette.pal deleted file mode 100644 index c7c26b7e5..000000000 --- a/graphics/pokemon/palettes/diglett_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 222 222 -255 255 255 -123 156 197 -82 115 156 -41 74 115 -230 230 180 -180 172 115 -131 123 74 -90 82 32 -123 123 123 -16 16 16 -230 164 98 -197 123 65 -164 90 32 -106 32 0 -255 0 255 diff --git a/graphics/pokemon/palettes/ditto_palette.pal b/graphics/pokemon/palettes/ditto_palette.pal deleted file mode 100644 index 262742c15..000000000 --- a/graphics/pokemon/palettes/ditto_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 189 -0 255 255 -0 255 255 -0 255 255 -0 255 255 -246 197 238 -238 156 213 -213 115 164 -180 82 131 -115 41 90 -0 255 255 -0 255 255 -0 255 255 -0 255 255 -49 49 49 -255 255 255 diff --git a/graphics/pokemon/palettes/ditto_shiny_palette.pal b/graphics/pokemon/palettes/ditto_shiny_palette.pal deleted file mode 100644 index 987958312..000000000 --- a/graphics/pokemon/palettes/ditto_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 189 -0 255 255 -0 255 255 -0 255 255 -0 255 255 -139 230 255 -106 205 246 -74 164 230 -32 123 197 -24 74 139 -0 255 255 -0 255 255 -0 255 255 -0 255 255 -49 49 49 -255 255 255 diff --git a/graphics/pokemon/palettes/dodrio_palette.pal b/graphics/pokemon/palettes/dodrio_palette.pal deleted file mode 100644 index 1d5fd2ea4..000000000 --- a/graphics/pokemon/palettes/dodrio_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 197 -238 180 98 -213 148 57 -164 123 74 -98 74 49 -238 222 172 -197 180 131 -98 90 65 -255 205 230 -246 131 164 -156 57 57 -213 205 205 -131 131 131 -90 82 74 -0 0 0 -255 255 255 diff --git a/graphics/pokemon/palettes/dodrio_shiny_palette.pal b/graphics/pokemon/palettes/dodrio_shiny_palette.pal deleted file mode 100644 index e7c27940f..000000000 --- a/graphics/pokemon/palettes/dodrio_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 197 -197 205 74 -156 164 32 -115 123 0 -74 82 0 -255 246 139 -238 189 82 -123 90 0 -255 213 230 -246 131 164 -180 65 65 -213 205 205 -131 131 131 -65 65 65 -0 0 0 -255 255 255 diff --git a/graphics/pokemon/palettes/doduo_palette.pal b/graphics/pokemon/palettes/doduo_palette.pal deleted file mode 100644 index b82c77be5..000000000 --- a/graphics/pokemon/palettes/doduo_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 205 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -213 164 106 -189 139 82 -148 98 65 -90 65 32 -238 222 172 -205 180 131 -115 106 49 -255 0 255 -98 98 98 -16 16 16 -255 255 255 diff --git a/graphics/pokemon/palettes/doduo_shiny_palette.pal b/graphics/pokemon/palettes/doduo_shiny_palette.pal deleted file mode 100644 index fa2c1c8fb..000000000 --- a/graphics/pokemon/palettes/doduo_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 205 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -197 205 74 -156 164 32 -115 123 0 -74 82 0 -255 246 164 -230 205 123 -131 106 24 -255 0 255 -98 98 98 -16 16 16 -255 255 255 diff --git a/graphics/pokemon/palettes/donphan_palette.pal b/graphics/pokemon/palettes/donphan_palette.pal deleted file mode 100644 index 4e0393757..000000000 --- a/graphics/pokemon/palettes/donphan_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -230 230 205 -255 255 255 -164 197 197 -123 156 156 -82 115 115 -49 82 82 -230 222 213 -213 205 205 -172 164 164 -131 123 123 -197 123 90 -148 57 41 -222 222 222 -189 189 189 -90 90 90 -16 16 16 diff --git a/graphics/pokemon/palettes/donphan_shiny_palette.pal b/graphics/pokemon/palettes/donphan_shiny_palette.pal deleted file mode 100644 index 55a6da008..000000000 --- a/graphics/pokemon/palettes/donphan_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -230 230 205 -255 255 255 -246 189 106 -213 148 82 -156 82 57 -106 74 49 -222 222 180 -205 205 156 -156 156 115 -115 115 82 -197 123 90 -148 57 41 -222 222 222 -189 189 189 -90 90 90 -16 16 16 diff --git a/graphics/pokemon/palettes/double_question_mark_palette.pal b/graphics/pokemon/palettes/double_question_mark_palette.pal deleted file mode 100644 index 67be6bbf4..000000000 --- a/graphics/pokemon/palettes/double_question_mark_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 255 0 -255 255 255 -0 0 0 -255 255 255 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/pokemon/palettes/double_question_mark_shiny_palette.pal b/graphics/pokemon/palettes/double_question_mark_shiny_palette.pal deleted file mode 100644 index 67be6bbf4..000000000 --- a/graphics/pokemon/palettes/double_question_mark_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 255 0 -255 255 255 -0 0 0 -255 255 255 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/pokemon/palettes/dragonair_palette.pal b/graphics/pokemon/palettes/dragonair_palette.pal deleted file mode 100644 index 011d2e583..000000000 --- a/graphics/pokemon/palettes/dragonair_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -131 222 131 -255 255 255 -230 246 246 -213 213 230 -106 106 123 -123 197 246 -82 131 205 -32 65 139 -24 49 90 -16 16 16 -123 49 123 -123 189 246 -82 164 213 -98 131 164 -32 74 115 -255 0 255 diff --git a/graphics/pokemon/palettes/dragonair_shiny_palette.pal b/graphics/pokemon/palettes/dragonair_shiny_palette.pal deleted file mode 100644 index 1eedd8ef7..000000000 --- a/graphics/pokemon/palettes/dragonair_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 222 222 -255 255 255 -222 222 230 -180 180 197 -106 106 123 -255 246 164 -246 189 74 -213 139 16 -131 82 41 -16 16 16 -123 49 123 -230 148 213 -205 115 197 -156 65 156 -90 57 98 -255 0 255 diff --git a/graphics/pokemon/palettes/dragonite_palette.pal b/graphics/pokemon/palettes/dragonite_palette.pal deleted file mode 100644 index 420f870cf..000000000 --- a/graphics/pokemon/palettes/dragonite_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 189 213 -172 148 82 -255 230 123 -255 205 82 -213 180 90 -115 98 57 -123 197 197 -82 164 164 -49 115 106 -255 246 205 -213 213 164 -156 156 106 -213 213 222 -115 115 115 -16 16 16 -255 255 255 diff --git a/graphics/pokemon/palettes/dragonite_shiny_palette.pal b/graphics/pokemon/palettes/dragonite_shiny_palette.pal deleted file mode 100644 index 6204273b3..000000000 --- a/graphics/pokemon/palettes/dragonite_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 222 222 -98 115 82 -156 180 123 -123 156 98 -90 106 65 -49 57 49 -222 156 213 -180 115 180 -115 74 123 -255 246 205 -213 213 164 -156 156 106 -213 213 222 -115 115 115 -16 16 16 -255 255 255 diff --git a/graphics/pokemon/palettes/dratini_palette.pal b/graphics/pokemon/palettes/dratini_palette.pal deleted file mode 100644 index 22ba0544e..000000000 --- a/graphics/pokemon/palettes/dratini_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 213 -255 255 255 -238 238 197 -205 205 156 -123 123 82 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -139 115 172 -139 16 180 -197 164 230 -164 131 197 -115 82 148 -57 24 90 -16 16 16 diff --git a/graphics/pokemon/palettes/dratini_shiny_palette.pal b/graphics/pokemon/palettes/dratini_shiny_palette.pal deleted file mode 100644 index a6861e455..000000000 --- a/graphics/pokemon/palettes/dratini_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 213 -255 255 255 -238 238 197 -197 197 156 -123 123 82 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -189 90 131 -139 16 180 -238 148 197 -205 106 164 -164 65 131 -123 32 90 -16 16 16 diff --git a/graphics/pokemon/palettes/drowzee_palette.pal b/graphics/pokemon/palettes/drowzee_palette.pal deleted file mode 100644 index 8013633f9..000000000 --- a/graphics/pokemon/palettes/drowzee_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 213 -255 255 255 -222 205 238 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -189 139 82 -148 106 65 -106 82 41 -74 49 16 -255 238 148 -255 222 65 -222 189 41 -148 106 0 -16 16 16 diff --git a/graphics/pokemon/palettes/drowzee_shiny_palette.pal b/graphics/pokemon/palettes/drowzee_shiny_palette.pal deleted file mode 100644 index 9c01eb20d..000000000 --- a/graphics/pokemon/palettes/drowzee_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 222 205 -255 255 255 -222 205 238 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -189 98 106 -148 57 65 -106 16 24 -65 0 8 -246 222 213 -230 189 205 -189 148 164 -123 82 98 -16 16 16 diff --git a/graphics/pokemon/palettes/dugtrio_palette.pal b/graphics/pokemon/palettes/dugtrio_palette.pal deleted file mode 100644 index ed81b96fe..000000000 --- a/graphics/pokemon/palettes/dugtrio_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 180 -255 255 255 -255 189 172 -255 106 90 -222 74 98 -230 230 180 -180 172 115 -131 123 74 -90 82 32 -106 106 106 -16 16 16 -230 164 98 -197 123 65 -164 82 65 -106 65 24 -255 0 255 diff --git a/graphics/pokemon/palettes/dugtrio_shiny_palette.pal b/graphics/pokemon/palettes/dugtrio_shiny_palette.pal deleted file mode 100644 index 77345a714..000000000 --- a/graphics/pokemon/palettes/dugtrio_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 180 -255 255 255 -123 156 197 -82 115 156 -41 74 115 -230 230 180 -180 172 115 -131 123 74 -90 82 32 -123 123 123 -16 16 16 -230 164 98 -197 123 65 -164 90 32 -106 32 0 -255 0 255 diff --git a/graphics/pokemon/palettes/dunsparce_palette.pal b/graphics/pokemon/palettes/dunsparce_palette.pal deleted file mode 100644 index e0440cdc1..000000000 --- a/graphics/pokemon/palettes/dunsparce_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -16 16 16 -255 0 255 -32 82 139 -74 172 189 -131 205 213 -189 222 230 -90 90 90 -139 139 139 -197 205 213 -106 90 41 -189 139 32 -222 189 57 -230 230 131 -246 246 197 -255 255 255 diff --git a/graphics/pokemon/palettes/dunsparce_shiny_palette.pal b/graphics/pokemon/palettes/dunsparce_shiny_palette.pal deleted file mode 100644 index 425dc8b36..000000000 --- a/graphics/pokemon/palettes/dunsparce_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -16 16 16 -255 0 255 -164 65 74 -222 106 123 -238 164 164 -238 213 197 -90 90 90 -139 139 139 -238 213 197 -106 90 41 -189 139 32 -222 189 57 -230 230 131 -246 246 197 -255 255 255 diff --git a/graphics/pokemon/palettes/dusclops_palette.pal b/graphics/pokemon/palettes/dusclops_palette.pal deleted file mode 100644 index f82d7f82e..000000000 --- a/graphics/pokemon/palettes/dusclops_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -82 57 49 -90 90 106 -255 255 255 -106 98 90 -139 139 115 -180 180 164 -148 131 123 -213 197 180 -172 172 148 -0 0 0 -0 0 0 -0 0 0 -255 255 0 -255 0 0 -24 24 24 diff --git a/graphics/pokemon/palettes/dusclops_shiny_palette.pal b/graphics/pokemon/palettes/dusclops_shiny_palette.pal deleted file mode 100644 index f07d7112f..000000000 --- a/graphics/pokemon/palettes/dusclops_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -90 65 57 -139 32 0 -255 255 255 -156 41 16 -189 74 49 -222 106 82 -148 131 123 -213 197 180 -172 172 148 -0 0 0 -0 0 0 -0 0 0 -255 255 0 -255 0 0 -24 24 24 diff --git a/graphics/pokemon/palettes/duskull_palette.pal b/graphics/pokemon/palettes/duskull_palette.pal deleted file mode 100644 index aa1fb6ba4..000000000 --- a/graphics/pokemon/palettes/duskull_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -123 164 172 -57 57 49 -106 106 90 -139 139 123 -180 180 148 -238 230 189 -222 213 172 -255 255 230 -74 65 65 -172 164 123 -255 164 172 -90 90 82 -0 0 0 -139 74 90 -238 82 24 -255 255 255 diff --git a/graphics/pokemon/palettes/duskull_shiny_palette.pal b/graphics/pokemon/palettes/duskull_shiny_palette.pal deleted file mode 100644 index 2ec13fb1d..000000000 --- a/graphics/pokemon/palettes/duskull_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -123 164 172 -90 0 0 -156 41 16 -189 74 49 -222 106 82 -238 230 189 -222 213 172 -255 255 230 -74 65 65 -172 164 123 -255 164 172 -123 8 0 -0 0 0 -139 74 90 -238 82 24 -255 255 255 diff --git a/graphics/pokemon/palettes/dustox_palette.pal b/graphics/pokemon/palettes/dustox_palette.pal deleted file mode 100644 index 262b7d1ba..000000000 --- a/graphics/pokemon/palettes/dustox_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 148 255 -90 74 74 -131 148 131 -156 180 156 -0 0 0 -180 106 148 -213 148 197 -230 197 213 -180 213 115 -197 255 148 -189 148 82 -238 238 49 -205 197 49 -246 82 49 -197 82 49 -24 24 24 diff --git a/graphics/pokemon/palettes/dustox_shiny_palette.pal b/graphics/pokemon/palettes/dustox_shiny_palette.pal deleted file mode 100644 index c1c43725b..000000000 --- a/graphics/pokemon/palettes/dustox_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 148 255 -90 74 74 -148 98 65 -172 123 90 -0 0 0 -180 106 148 -213 148 197 -230 197 213 -230 172 90 -255 230 156 -189 148 82 -238 238 49 -205 197 49 -246 82 49 -197 82 49 -24 24 24 diff --git a/graphics/pokemon/palettes/eevee_palette.pal b/graphics/pokemon/palettes/eevee_palette.pal deleted file mode 100644 index f6bec2522..000000000 --- a/graphics/pokemon/palettes/eevee_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -139 205 164 -255 255 255 -255 246 205 -213 205 156 -189 172 106 -131 115 74 -230 0 0 -255 0 255 -255 0 255 -255 0 255 -16 16 16 -230 180 115 -213 156 90 -164 115 49 -90 74 32 -255 0 255 diff --git a/graphics/pokemon/palettes/eevee_shiny_palette.pal b/graphics/pokemon/palettes/eevee_shiny_palette.pal deleted file mode 100644 index 0d4aca238..000000000 --- a/graphics/pokemon/palettes/eevee_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 205 -255 255 255 -246 255 255 -222 230 246 -172 180 213 -106 123 148 -230 98 41 -255 0 255 -255 0 255 -255 0 255 -16 16 16 -238 238 213 -222 222 205 -172 172 172 -82 82 82 -255 0 255 diff --git a/graphics/pokemon/palettes/egg_palette.pal b/graphics/pokemon/palettes/egg_palette.pal deleted file mode 100644 index cadeacee0..000000000 --- a/graphics/pokemon/palettes/egg_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -164 255 148 -65 74 74 -148 156 156 -246 246 213 -238 230 164 -205 197 131 -123 205 74 -106 148 82 -230 0 0 -230 0 0 -230 0 0 -230 0 0 -230 0 0 -230 0 0 -230 0 0 -131 230 230 diff --git a/graphics/pokemon/palettes/ekans_palette.pal b/graphics/pokemon/palettes/ekans_palette.pal deleted file mode 100644 index 748d88fbc..000000000 --- a/graphics/pokemon/palettes/ekans_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 189 -255 255 255 -246 115 74 -197 65 24 -156 41 41 -255 0 255 -255 230 156 -255 213 106 -230 164 115 -131 82 16 -255 0 255 -16 16 16 -222 164 197 -189 115 164 -156 74 131 -106 32 90 diff --git a/graphics/pokemon/palettes/ekans_shiny_palette.pal b/graphics/pokemon/palettes/ekans_shiny_palette.pal deleted file mode 100644 index 529864430..000000000 --- a/graphics/pokemon/palettes/ekans_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 189 -255 255 255 -246 115 74 -197 65 24 -156 16 0 -255 0 255 -255 230 156 -255 213 106 -230 172 90 -131 82 16 -255 0 255 -16 16 16 -213 197 98 -172 156 57 -131 115 16 -90 74 0 diff --git a/graphics/pokemon/palettes/electabuzz_palette.pal b/graphics/pokemon/palettes/electabuzz_palette.pal deleted file mode 100644 index 75bfcbabe..000000000 --- a/graphics/pokemon/palettes/electabuzz_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 222 222 -255 255 255 -222 222 222 -115 106 90 -16 16 16 -255 0 255 -255 0 255 -255 172 123 -255 82 32 -189 49 8 -255 0 255 -255 255 213 -255 255 172 -255 230 57 -222 189 82 -115 90 16 diff --git a/graphics/pokemon/palettes/electabuzz_shiny_palette.pal b/graphics/pokemon/palettes/electabuzz_shiny_palette.pal deleted file mode 100644 index df9fa23e8..000000000 --- a/graphics/pokemon/palettes/electabuzz_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 222 222 -255 255 255 -222 222 222 -115 115 115 -16 16 16 -255 0 255 -255 0 255 -255 172 123 -255 82 32 -189 49 8 -255 0 255 -255 230 148 -255 205 41 -238 131 0 -205 98 0 -164 41 0 diff --git a/graphics/pokemon/palettes/electrike_palette.pal b/graphics/pokemon/palettes/electrike_palette.pal deleted file mode 100644 index 5ee96cb84..000000000 --- a/graphics/pokemon/palettes/electrike_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 197 246 -65 82 65 -82 139 90 -106 180 123 -156 222 131 -255 238 32 -213 213 24 -172 197 65 -148 49 57 -213 57 49 -0 0 0 -0 0 0 -0 0 0 -255 255 255 -197 205 222 -24 24 24 diff --git a/graphics/pokemon/palettes/electrike_shiny_palette.pal b/graphics/pokemon/palettes/electrike_shiny_palette.pal deleted file mode 100644 index c7f51a2b1..000000000 --- a/graphics/pokemon/palettes/electrike_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 197 246 -74 74 131 -49 123 189 -90 156 213 -123 197 255 -255 238 32 -197 213 98 -172 197 65 -148 49 57 -213 57 49 -0 0 0 -0 0 0 -0 0 0 -255 255 255 -197 205 222 -24 24 24 diff --git a/graphics/pokemon/palettes/electrode_palette.pal b/graphics/pokemon/palettes/electrode_palette.pal deleted file mode 100644 index 1848bf716..000000000 --- a/graphics/pokemon/palettes/electrode_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 189 230 -255 255 255 -238 238 238 -205 205 205 -164 156 156 -90 82 82 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 180 156 -255 123 74 -230 65 0 -180 49 0 -131 16 16 -16 16 16 diff --git a/graphics/pokemon/palettes/electrode_shiny_palette.pal b/graphics/pokemon/palettes/electrode_shiny_palette.pal deleted file mode 100644 index d651b064f..000000000 --- a/graphics/pokemon/palettes/electrode_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -230 230 230 -255 255 255 -238 238 238 -222 222 230 -180 172 172 -90 82 82 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -115 197 255 -74 156 213 -32 115 172 -32 74 131 -32 32 90 -16 16 16 diff --git a/graphics/pokemon/palettes/elekid_palette.pal b/graphics/pokemon/palettes/elekid_palette.pal deleted file mode 100644 index 522f7de84..000000000 --- a/graphics/pokemon/palettes/elekid_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 205 172 -255 255 255 -255 230 156 -246 197 74 -230 172 0 -180 106 0 -123 82 0 -246 148 16 -156 49 0 -115 16 0 -255 0 255 -205 205 205 -164 164 164 -106 106 106 -49 49 65 -16 16 16 diff --git a/graphics/pokemon/palettes/elekid_shiny_palette.pal b/graphics/pokemon/palettes/elekid_shiny_palette.pal deleted file mode 100644 index 59ff6b2cf..000000000 --- a/graphics/pokemon/palettes/elekid_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -255 230 82 -238 205 65 -189 156 24 -148 115 0 -123 82 0 -246 148 16 -156 49 0 -115 16 0 -255 0 255 -205 205 205 -164 164 164 -115 98 49 -57 49 32 -16 16 16 diff --git a/graphics/pokemon/palettes/entei_palette.pal b/graphics/pokemon/palettes/entei_palette.pal deleted file mode 100644 index 27cad95ea..000000000 --- a/graphics/pokemon/palettes/entei_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -222 189 98 -180 148 74 -131 98 32 -82 57 0 -255 123 41 -230 41 0 -156 0 0 -255 230 148 -255 205 0 -213 148 0 -213 213 213 -172 172 172 -98 98 98 -16 16 16 diff --git a/graphics/pokemon/palettes/entei_shiny_palette.pal b/graphics/pokemon/palettes/entei_shiny_palette.pal deleted file mode 100644 index e3f22acdd..000000000 --- a/graphics/pokemon/palettes/entei_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -238 164 115 -213 123 82 -156 74 49 -115 49 41 -164 172 189 -115 123 139 -65 65 74 -255 213 172 -255 205 0 -213 148 0 -213 213 213 -172 172 172 -98 98 98 -16 16 16 diff --git a/graphics/pokemon/palettes/espeon_palette.pal b/graphics/pokemon/palettes/espeon_palette.pal deleted file mode 100644 index b001102c1..000000000 --- a/graphics/pokemon/palettes/espeon_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -131 57 65 -213 57 65 -49 49 49 -82 57 106 -123 82 180 -180 115 230 -213 172 230 -238 222 238 -16 16 16 -0 24 148 -255 255 255 diff --git a/graphics/pokemon/palettes/espeon_shiny_palette.pal b/graphics/pokemon/palettes/espeon_shiny_palette.pal deleted file mode 100644 index 22222e2c7..000000000 --- a/graphics/pokemon/palettes/espeon_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -131 90 0 -255 164 65 -49 49 49 -41 98 41 -74 156 65 -106 205 74 -164 230 90 -213 255 156 -16 16 16 -82 41 90 -255 255 255 diff --git a/graphics/pokemon/palettes/exeggcute_palette.pal b/graphics/pokemon/palettes/exeggcute_palette.pal deleted file mode 100644 index 8b180c09c..000000000 --- a/graphics/pokemon/palettes/exeggcute_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 205 -255 255 255 -222 222 222 -255 205 74 -230 156 0 -16 16 16 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 222 197 -255 189 164 -238 156 131 -197 131 98 -148 49 16 diff --git a/graphics/pokemon/palettes/exeggcute_shiny_palette.pal b/graphics/pokemon/palettes/exeggcute_shiny_palette.pal deleted file mode 100644 index 2358a2621..000000000 --- a/graphics/pokemon/palettes/exeggcute_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 205 -255 255 255 -222 222 222 -255 205 74 -230 156 0 -16 16 16 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 255 164 -246 238 98 -230 197 65 -213 164 57 -123 90 41 diff --git a/graphics/pokemon/palettes/exeggutor_palette.pal b/graphics/pokemon/palettes/exeggutor_palette.pal deleted file mode 100644 index 24702f6fa..000000000 --- a/graphics/pokemon/palettes/exeggutor_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 189 -255 238 164 -255 222 106 -230 172 90 -131 82 24 -180 156 74 -139 115 65 -90 57 8 -189 255 115 -156 213 74 -115 172 49 -82 98 41 -222 222 222 -98 98 98 -16 16 16 -255 255 255 diff --git a/graphics/pokemon/palettes/exeggutor_shiny_palette.pal b/graphics/pokemon/palettes/exeggutor_shiny_palette.pal deleted file mode 100644 index c06646a6c..000000000 --- a/graphics/pokemon/palettes/exeggutor_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 189 -255 238 164 -255 222 106 -230 172 90 -164 106 32 -222 189 82 -180 148 32 -106 82 0 -255 189 123 -222 148 82 -180 106 41 -115 41 0 -222 222 222 -98 98 98 -16 16 16 -255 255 255 diff --git a/graphics/pokemon/palettes/exploud_palette.pal b/graphics/pokemon/palettes/exploud_palette.pal deleted file mode 100644 index 074305af3..000000000 --- a/graphics/pokemon/palettes/exploud_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -189 189 238 -164 156 222 -123 115 180 -82 74 139 -255 222 90 -222 180 74 -156 115 24 -255 115 82 -213 74 49 -156 57 24 -106 49 24 -213 222 255 -131 131 131 -0 0 0 diff --git a/graphics/pokemon/palettes/exploud_shiny_palette.pal b/graphics/pokemon/palettes/exploud_shiny_palette.pal deleted file mode 100644 index cfde98dc2..000000000 --- a/graphics/pokemon/palettes/exploud_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -213 172 189 -189 156 164 -139 106 123 -115 82 90 -255 238 172 -246 197 82 -238 172 24 -255 139 82 -213 82 49 -164 49 24 -115 74 0 -222 197 222 -131 131 131 -57 49 74 diff --git a/graphics/pokemon/palettes/farfetch_d_palette.pal b/graphics/pokemon/palettes/farfetch_d_palette.pal deleted file mode 100644 index 2a2dfd6aa..000000000 --- a/graphics/pokemon/palettes/farfetch_d_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 213 -255 255 255 -213 213 213 -230 230 164 -197 197 131 -255 222 90 -230 172 90 -156 115 41 -205 255 139 -123 205 65 -74 131 24 -205 189 123 -180 148 82 -139 90 41 -98 65 0 -16 16 16 diff --git a/graphics/pokemon/palettes/farfetch_d_shiny_palette.pal b/graphics/pokemon/palettes/farfetch_d_shiny_palette.pal deleted file mode 100644 index 5537612ce..000000000 --- a/graphics/pokemon/palettes/farfetch_d_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 213 -255 255 255 -213 213 213 -230 230 164 -197 197 131 -255 230 106 -230 172 90 -189 106 41 -205 255 139 -139 189 57 -98 148 16 -246 189 180 -213 148 139 -172 106 98 -131 65 57 -16 16 16 diff --git a/graphics/pokemon/palettes/fearow_palette.pal b/graphics/pokemon/palettes/fearow_palette.pal deleted file mode 100644 index 231165e59..000000000 --- a/graphics/pokemon/palettes/fearow_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 0 255 -238 213 172 -197 189 164 -98 82 49 -16 16 16 -255 139 148 -246 90 90 -205 57 74 -255 205 123 -246 180 90 -213 156 57 -172 115 82 -123 65 0 -246 180 90 -255 255 255 diff --git a/graphics/pokemon/palettes/fearow_shiny_palette.pal b/graphics/pokemon/palettes/fearow_shiny_palette.pal deleted file mode 100644 index 686e65a9c..000000000 --- a/graphics/pokemon/palettes/fearow_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 0 255 -222 205 164 -197 180 139 -98 82 49 -16 16 16 -255 205 74 -255 164 0 -197 123 0 -255 246 131 -255 230 90 -213 197 49 -180 164 8 -115 98 0 -246 180 90 -255 255 255 diff --git a/graphics/pokemon/palettes/feebas_palette.pal b/graphics/pokemon/palettes/feebas_palette.pal deleted file mode 100644 index c66deb1e0..000000000 --- a/graphics/pokemon/palettes/feebas_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -49 148 98 -90 74 57 -180 164 115 -213 213 131 -238 238 156 -115 164 41 -164 205 98 -148 131 82 -180 106 106 -230 123 98 -82 82 115 -164 172 197 -205 222 255 -230 222 230 -255 255 255 -24 24 24 diff --git a/graphics/pokemon/palettes/feebas_shiny_palette.pal b/graphics/pokemon/palettes/feebas_shiny_palette.pal deleted file mode 100644 index 6d85b2866..000000000 --- a/graphics/pokemon/palettes/feebas_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -49 148 98 -98 65 74 -172 139 148 -205 172 180 -238 205 213 -115 164 41 -164 205 98 -139 106 115 -180 106 106 -230 123 98 -82 82 115 -164 172 197 -205 222 255 -230 222 230 -255 255 255 -41 41 41 diff --git a/graphics/pokemon/palettes/feraligatr_palette.pal b/graphics/pokemon/palettes/feraligatr_palette.pal deleted file mode 100644 index 7fc0a9eb8..000000000 --- a/graphics/pokemon/palettes/feraligatr_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -131 205 255 -90 172 230 -49 131 197 -74 74 131 -197 197 197 -255 172 90 -255 90 32 -205 41 24 -123 0 0 -255 255 156 -255 213 82 -205 172 65 -156 115 8 -16 16 16 diff --git a/graphics/pokemon/palettes/feraligatr_shiny_palette.pal b/graphics/pokemon/palettes/feraligatr_shiny_palette.pal deleted file mode 100644 index 81c5ebc2a..000000000 --- a/graphics/pokemon/palettes/feraligatr_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -115 238 222 -82 205 197 -74 156 164 -41 98 123 -197 197 197 -106 156 246 -49 98 213 -41 65 156 -0 49 90 -255 255 156 -246 222 115 -213 180 74 -156 115 8 -16 16 16 diff --git a/graphics/pokemon/palettes/flaaffy_palette.pal b/graphics/pokemon/palettes/flaaffy_palette.pal deleted file mode 100644 index 4efbb5bda..000000000 --- a/graphics/pokemon/palettes/flaaffy_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -205 205 222 -156 156 180 -115 115 139 -74 74 74 -255 197 164 -255 148 123 -238 90 65 -205 57 24 -172 0 0 -131 197 255 -82 131 197 -41 65 139 -255 0 255 -16 16 16 diff --git a/graphics/pokemon/palettes/flaaffy_shiny_palette.pal b/graphics/pokemon/palettes/flaaffy_shiny_palette.pal deleted file mode 100644 index b99745d84..000000000 --- a/graphics/pokemon/palettes/flaaffy_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -230 222 205 -189 180 148 -148 131 82 -106 82 49 -255 222 238 -255 197 213 -230 139 156 -180 98 106 -148 65 74 -98 230 16 -49 180 0 -32 106 0 -255 0 255 -16 16 16 diff --git a/graphics/pokemon/palettes/flareon_palette.pal b/graphics/pokemon/palettes/flareon_palette.pal deleted file mode 100644 index a39e1e1f7..000000000 --- a/graphics/pokemon/palettes/flareon_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 205 -255 255 255 -255 238 106 -255 230 41 -222 197 32 -148 115 8 -255 0 255 -255 0 255 -255 0 255 -115 115 123 -16 16 16 -255 0 255 -255 172 49 -255 123 0 -230 65 0 -131 32 32 diff --git a/graphics/pokemon/palettes/flareon_shiny_palette.pal b/graphics/pokemon/palettes/flareon_shiny_palette.pal deleted file mode 100644 index 60c1b337c..000000000 --- a/graphics/pokemon/palettes/flareon_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 205 -255 255 255 -255 255 197 -255 255 57 -238 205 8 -164 106 0 -255 0 255 -255 0 255 -255 0 255 -115 115 123 -16 16 16 -255 0 255 -246 189 65 -222 164 41 -172 115 8 -98 57 24 diff --git a/graphics/pokemon/palettes/flygon_palette.pal b/graphics/pokemon/palettes/flygon_palette.pal deleted file mode 100644 index 33888cd1a..000000000 --- a/graphics/pokemon/palettes/flygon_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 197 148 -74 106 24 -156 49 49 -123 156 65 -49 90 90 -213 255 131 -172 222 115 -156 189 98 -148 213 156 -106 164 115 -90 131 90 -255 180 180 -230 115 115 -205 49 49 -0 0 0 -255 255 255 diff --git a/graphics/pokemon/palettes/flygon_shiny_palette.pal b/graphics/pokemon/palettes/flygon_shiny_palette.pal deleted file mode 100644 index 772834b38..000000000 --- a/graphics/pokemon/palettes/flygon_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 197 148 -74 106 24 -139 82 0 -123 156 65 -8 90 139 -213 255 131 -172 222 115 -156 189 98 -106 189 238 -74 156 205 -41 123 172 -255 197 82 -222 164 49 -189 131 16 -0 0 0 -255 255 255 diff --git a/graphics/pokemon/palettes/forretress_palette.pal b/graphics/pokemon/palettes/forretress_palette.pal deleted file mode 100644 index 285c56291..000000000 --- a/graphics/pokemon/palettes/forretress_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -16 16 16 -255 0 255 -98 41 90 -172 74 139 -197 131 189 -230 180 230 -246 222 238 -255 0 255 -255 0 255 -131 16 49 -189 41 65 -246 98 115 -255 189 205 -255 0 255 -255 255 255 diff --git a/graphics/pokemon/palettes/forretress_shiny_palette.pal b/graphics/pokemon/palettes/forretress_shiny_palette.pal deleted file mode 100644 index 7b894a11a..000000000 --- a/graphics/pokemon/palettes/forretress_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -16 16 16 -255 0 255 -115 82 49 -180 156 74 -222 197 106 -246 230 139 -255 246 156 -255 0 255 -255 0 255 -82 65 32 -106 74 49 -180 139 65 -222 197 98 -255 0 255 -255 255 255 diff --git a/graphics/pokemon/palettes/furret_palette.pal b/graphics/pokemon/palettes/furret_palette.pal deleted file mode 100644 index 5996436be..000000000 --- a/graphics/pokemon/palettes/furret_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 222 222 -255 255 255 -255 255 197 -255 238 148 -230 197 74 -197 156 65 -172 131 41 -156 98 74 -123 65 57 -74 24 24 -197 49 24 -156 0 0 -255 148 98 -115 115 115 -65 65 65 -32 32 41 diff --git a/graphics/pokemon/palettes/furret_shiny_palette.pal b/graphics/pokemon/palettes/furret_shiny_palette.pal deleted file mode 100644 index 24ebc5bd6..000000000 --- a/graphics/pokemon/palettes/furret_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -255 246 230 -255 230 222 -222 189 172 -230 98 139 -148 123 90 -197 65 115 -164 32 90 -131 0 65 -197 49 24 -156 0 0 -255 148 98 -115 115 115 -65 65 65 -32 32 41 diff --git a/graphics/pokemon/palettes/gardevoir_palette.pal b/graphics/pokemon/palettes/gardevoir_palette.pal deleted file mode 100644 index 1e513ae87..000000000 --- a/graphics/pokemon/palettes/gardevoir_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -156 164 82 -238 238 255 -197 205 222 -164 180 205 -131 148 180 -123 82 82 -115 41 57 -255 156 131 -230 82 57 -131 205 255 -255 255 255 -205 255 172 -148 230 148 -115 189 115 -49 123 74 -16 16 16 diff --git a/graphics/pokemon/palettes/gardevoir_shiny_palette.pal b/graphics/pokemon/palettes/gardevoir_shiny_palette.pal deleted file mode 100644 index b588f6eea..000000000 --- a/graphics/pokemon/palettes/gardevoir_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -156 164 82 -238 238 255 -213 189 222 -180 164 205 -156 131 180 -123 82 82 -115 41 57 -255 197 90 -230 131 32 -131 205 255 -197 238 246 -189 230 255 -123 197 238 -82 172 213 -32 115 123 -16 16 16 diff --git a/graphics/pokemon/palettes/gastly_palette.pal b/graphics/pokemon/palettes/gastly_palette.pal deleted file mode 100644 index 6098ec195..000000000 --- a/graphics/pokemon/palettes/gastly_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -255 255 255 -222 222 222 -222 82 57 -180 41 16 -255 0 255 -189 148 180 -139 98 131 -115 74 106 -82 49 90 -213 172 205 -189 148 180 -139 98 131 -255 0 255 -255 0 255 -16 16 16 diff --git a/graphics/pokemon/palettes/gastly_shiny_palette.pal b/graphics/pokemon/palettes/gastly_shiny_palette.pal deleted file mode 100644 index 350cb8abf..000000000 --- a/graphics/pokemon/palettes/gastly_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -255 255 255 -222 222 222 -222 82 57 -180 41 16 -255 0 255 -172 131 230 -148 115 197 -90 57 148 -82 41 98 -156 222 255 -115 180 213 -74 139 172 -255 0 255 -255 0 255 -16 16 16 diff --git a/graphics/pokemon/palettes/gengar_palette.pal b/graphics/pokemon/palettes/gengar_palette.pal deleted file mode 100644 index 6fe99805e..000000000 --- a/graphics/pokemon/palettes/gengar_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 213 -255 255 255 -222 222 222 -123 123 123 -255 180 123 -238 98 74 -205 57 32 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -197 131 180 -156 106 131 -106 90 98 -90 49 90 -16 16 16 diff --git a/graphics/pokemon/palettes/gengar_shiny_palette.pal b/graphics/pokemon/palettes/gengar_shiny_palette.pal deleted file mode 100644 index d3f61f7d5..000000000 --- a/graphics/pokemon/palettes/gengar_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 213 -255 255 255 -222 222 222 -123 123 123 -255 172 213 -238 131 172 -197 90 131 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -164 164 189 -123 123 148 -82 82 106 -41 41 65 -16 16 16 diff --git a/graphics/pokemon/palettes/geodude_palette.pal b/graphics/pokemon/palettes/geodude_palette.pal deleted file mode 100644 index fd6264307..000000000 --- a/graphics/pokemon/palettes/geodude_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 222 222 -255 255 255 -205 205 205 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -205 213 131 -172 180 98 -123 131 90 -65 74 16 -16 16 16 diff --git a/graphics/pokemon/palettes/geodude_shiny_palette.pal b/graphics/pokemon/palettes/geodude_shiny_palette.pal deleted file mode 100644 index 3ea7069c9..000000000 --- a/graphics/pokemon/palettes/geodude_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 222 222 -255 255 255 -205 205 205 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -238 189 49 -205 164 24 -164 123 0 -106 65 0 -16 16 16 diff --git a/graphics/pokemon/palettes/girafarig_palette.pal b/graphics/pokemon/palettes/girafarig_palette.pal deleted file mode 100644 index 03e09de81..000000000 --- a/graphics/pokemon/palettes/girafarig_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -65 49 32 -90 82 57 -123 106 57 -164 148 82 -213 205 139 -189 139 16 -238 180 49 -255 222 65 -255 246 123 -16 16 16 -238 106 115 -255 172 189 -180 213 230 -255 0 255 diff --git a/graphics/pokemon/palettes/girafarig_shiny_palette.pal b/graphics/pokemon/palettes/girafarig_shiny_palette.pal deleted file mode 100644 index d720557a7..000000000 --- a/graphics/pokemon/palettes/girafarig_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -65 49 32 -90 65 41 -123 90 49 -156 123 65 -205 172 106 -189 139 16 -230 156 41 -246 197 57 -255 230 82 -16 16 16 -82 164 230 -164 213 255 -180 213 230 -255 0 255 diff --git a/graphics/pokemon/palettes/glalie_palette.pal b/graphics/pokemon/palettes/glalie_palette.pal deleted file mode 100644 index aeadcf782..000000000 --- a/graphics/pokemon/palettes/glalie_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -230 230 246 -205 205 222 -164 164 189 -123 123 148 -82 82 106 -164 205 255 -123 164 230 -74 139 197 -255 0 255 -205 205 213 -164 164 172 -123 123 131 -82 82 90 -41 41 57 diff --git a/graphics/pokemon/palettes/glalie_shiny_palette.pal b/graphics/pokemon/palettes/glalie_shiny_palette.pal deleted file mode 100644 index c45ff937f..000000000 --- a/graphics/pokemon/palettes/glalie_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -238 246 255 -213 230 238 -180 197 205 -148 164 172 -74 98 106 -255 148 90 -230 74 65 -205 8 41 -255 0 255 -205 205 213 -164 164 172 -123 123 131 -82 82 90 -0 0 0 diff --git a/graphics/pokemon/palettes/gligar_palette.pal b/graphics/pokemon/palettes/gligar_palette.pal deleted file mode 100644 index 2f5ba7645..000000000 --- a/graphics/pokemon/palettes/gligar_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -90 90 90 -148 148 148 -90 65 123 -115 90 164 -180 131 213 -222 189 255 -246 222 255 -24 49 115 -16 90 148 -74 139 189 -98 197 238 -213 90 57 -255 148 106 -16 16 16 -255 255 255 diff --git a/graphics/pokemon/palettes/gligar_shiny_palette.pal b/graphics/pokemon/palettes/gligar_shiny_palette.pal deleted file mode 100644 index 9b1d7d308..000000000 --- a/graphics/pokemon/palettes/gligar_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -90 90 90 -148 148 148 -57 65 123 -82 98 172 -131 156 213 -180 197 255 -222 238 246 -24 49 98 -32 65 139 -65 90 180 -82 156 222 -213 90 57 -255 148 106 -16 16 16 -255 255 255 diff --git a/graphics/pokemon/palettes/gloom_palette.pal b/graphics/pokemon/palettes/gloom_palette.pal deleted file mode 100644 index 9a3ea471b..000000000 --- a/graphics/pokemon/palettes/gloom_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 222 222 -246 238 189 -255 189 65 -255 115 0 -197 106 41 -180 90 197 -213 205 180 -205 115 74 -172 82 57 -131 57 24 -98 49 0 -156 164 205 -123 131 164 -74 90 123 -16 49 74 -16 16 16 diff --git a/graphics/pokemon/palettes/gloom_shiny_palette.pal b/graphics/pokemon/palettes/gloom_shiny_palette.pal deleted file mode 100644 index c5e913980..000000000 --- a/graphics/pokemon/palettes/gloom_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 222 222 -246 246 246 -255 213 131 -255 172 90 -213 131 49 -156 49 0 -213 213 213 -238 180 98 -197 139 57 -156 98 16 -115 57 16 -180 189 131 -139 148 90 -98 106 49 -57 65 8 -16 16 16 diff --git a/graphics/pokemon/palettes/golbat_palette.pal b/graphics/pokemon/palettes/golbat_palette.pal deleted file mode 100644 index 8c78d7375..000000000 --- a/graphics/pokemon/palettes/golbat_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -230 230 230 -255 255 255 -213 213 213 -98 98 98 -0 0 0 -172 205 255 -139 180 238 -98 131 205 -57 57 123 -205 106 180 -172 82 156 -148 57 123 -98 16 82 -255 0 255 -255 0 255 -255 0 255 diff --git a/graphics/pokemon/palettes/golbat_shiny_palette.pal b/graphics/pokemon/palettes/golbat_shiny_palette.pal deleted file mode 100644 index 7255f93b7..000000000 --- a/graphics/pokemon/palettes/golbat_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -230 230 230 -255 255 255 -213 213 213 -98 98 98 -0 0 0 -164 189 57 -123 148 0 -82 106 0 -41 65 0 -255 180 172 -238 139 131 -197 98 90 -139 41 32 -255 0 255 -255 0 255 -255 0 255 diff --git a/graphics/pokemon/palettes/goldeen_palette.pal b/graphics/pokemon/palettes/goldeen_palette.pal deleted file mode 100644 index d88f14932..000000000 --- a/graphics/pokemon/palettes/goldeen_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 189 -222 222 230 -189 189 197 -139 139 148 -98 98 106 -255 197 123 -238 123 65 -213 65 16 -180 49 0 -131 16 0 -238 123 65 -213 65 16 -65 172 164 -0 106 98 -16 16 16 -255 255 255 diff --git a/graphics/pokemon/palettes/goldeen_shiny_palette.pal b/graphics/pokemon/palettes/goldeen_shiny_palette.pal deleted file mode 100644 index d2a881523..000000000 --- a/graphics/pokemon/palettes/goldeen_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 189 -222 222 230 -189 189 197 -139 139 148 -98 98 106 -255 222 24 -255 156 8 -213 115 0 -172 74 0 -131 32 0 -255 180 139 -213 139 98 -65 172 164 -0 106 98 -16 16 16 -255 255 255 diff --git a/graphics/pokemon/palettes/golduck_palette.pal b/graphics/pokemon/palettes/golduck_palette.pal deleted file mode 100644 index ca01ee358..000000000 --- a/graphics/pokemon/palettes/golduck_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 213 131 -255 255 255 -213 213 213 -255 172 172 -222 24 24 -139 0 0 -255 255 164 -213 213 106 -164 164 57 -115 115 16 -255 0 255 -164 197 255 -139 172 213 -123 123 180 -49 82 106 -16 16 16 diff --git a/graphics/pokemon/palettes/golduck_shiny_palette.pal b/graphics/pokemon/palettes/golduck_shiny_palette.pal deleted file mode 100644 index 858fc677c..000000000 --- a/graphics/pokemon/palettes/golduck_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -238 238 238 -255 255 255 -197 197 197 -238 49 74 -222 24 24 -139 0 0 -246 189 197 -222 123 148 -189 98 106 -123 74 90 -255 0 255 -115 205 255 -74 164 230 -32 123 189 -0 49 106 -16 16 16 diff --git a/graphics/pokemon/palettes/golem_palette.pal b/graphics/pokemon/palettes/golem_palette.pal deleted file mode 100644 index e373f3ade..000000000 --- a/graphics/pokemon/palettes/golem_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 255 255 -222 222 222 -180 0 0 -255 82 82 -180 189 98 -148 164 98 -106 123 65 -74 82 16 -238 205 115 -213 180 90 -156 139 57 -82 65 8 -255 0 255 -115 115 115 -16 16 16 diff --git a/graphics/pokemon/palettes/golem_shiny_palette.pal b/graphics/pokemon/palettes/golem_shiny_palette.pal deleted file mode 100644 index 41b80863c..000000000 --- a/graphics/pokemon/palettes/golem_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 222 222 -255 255 255 -205 205 205 -180 0 0 -255 82 82 -213 148 82 -172 106 41 -131 65 0 -98 32 0 -255 213 180 -230 172 139 -189 131 98 -131 74 41 -255 0 255 -131 131 131 -16 16 16 diff --git a/graphics/pokemon/palettes/gorebyss_palette.pal b/graphics/pokemon/palettes/gorebyss_palette.pal deleted file mode 100644 index 432c0eccc..000000000 --- a/graphics/pokemon/palettes/gorebyss_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 197 197 -255 255 255 -230 222 213 -205 189 172 -255 205 205 -246 172 189 -238 131 172 -213 98 148 -148 74 90 -131 90 131 -98 57 106 -123 106 98 -0 0 0 -205 115 255 -172 106 213 -148 90 172 diff --git a/graphics/pokemon/palettes/gorebyss_shiny_palette.pal b/graphics/pokemon/palettes/gorebyss_shiny_palette.pal deleted file mode 100644 index 693375005..000000000 --- a/graphics/pokemon/palettes/gorebyss_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 197 197 -255 255 255 -230 222 213 -205 189 172 -255 246 180 -255 222 98 -246 189 74 -213 156 41 -148 106 32 -131 90 131 -98 57 106 -123 106 98 -0 0 0 -205 115 255 -172 106 213 -148 90 172 diff --git a/graphics/pokemon/palettes/granbull_palette.pal b/graphics/pokemon/palettes/granbull_palette.pal deleted file mode 100644 index b83b14d16..000000000 --- a/graphics/pokemon/palettes/granbull_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 0 255 -255 0 255 -90 57 82 -156 98 148 -213 115 213 -230 156 238 -238 189 255 -255 0 255 -131 57 0 -230 197 131 -16 16 16 -49 57 65 -82 90 90 -164 164 156 -255 255 255 diff --git a/graphics/pokemon/palettes/granbull_shiny_palette.pal b/graphics/pokemon/palettes/granbull_shiny_palette.pal deleted file mode 100644 index a8dfec728..000000000 --- a/graphics/pokemon/palettes/granbull_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 0 255 -255 0 255 -98 82 65 -148 115 90 -205 172 131 -230 205 172 -246 222 189 -255 0 255 -90 82 0 -205 189 106 -16 16 16 -49 57 65 -82 90 90 -164 164 156 -255 255 255 diff --git a/graphics/pokemon/palettes/graveler_palette.pal b/graphics/pokemon/palettes/graveler_palette.pal deleted file mode 100644 index 766d69f41..000000000 --- a/graphics/pokemon/palettes/graveler_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 222 222 -255 255 255 -205 205 205 -148 148 148 -16 16 16 -238 49 49 -189 32 57 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -197 213 131 -164 180 115 -115 131 82 -82 74 16 diff --git a/graphics/pokemon/palettes/graveler_shiny_palette.pal b/graphics/pokemon/palettes/graveler_shiny_palette.pal deleted file mode 100644 index 42027a8db..000000000 --- a/graphics/pokemon/palettes/graveler_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 222 222 -255 255 255 -205 205 205 -148 148 148 -16 16 16 -238 49 49 -189 32 57 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -205 148 41 -164 106 0 -123 65 0 -82 24 0 diff --git a/graphics/pokemon/palettes/grimer_palette.pal b/graphics/pokemon/palettes/grimer_palette.pal deleted file mode 100644 index 0aacf859a..000000000 --- a/graphics/pokemon/palettes/grimer_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -238 238 238 -213 213 222 -172 180 189 -131 139 156 -65 74 90 -230 189 222 -197 156 180 -148 106 156 -90 49 115 -238 222 238 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -16 16 16 -255 255 255 diff --git a/graphics/pokemon/palettes/grimer_shiny_palette.pal b/graphics/pokemon/palettes/grimer_shiny_palette.pal deleted file mode 100644 index 546d2e753..000000000 --- a/graphics/pokemon/palettes/grimer_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -238 238 238 -213 213 222 -172 180 189 -131 139 156 -65 74 90 -197 238 156 -180 213 139 -139 172 98 -82 115 41 -222 246 180 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -16 16 16 -255 255 255 diff --git a/graphics/pokemon/palettes/groudon_palette.pal b/graphics/pokemon/palettes/groudon_palette.pal deleted file mode 100644 index 24c99e510..000000000 --- a/graphics/pokemon/palettes/groudon_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -49 164 82 -205 57 74 -172 148 164 -156 123 139 -123 90 98 -255 123 131 -123 32 41 -255 32 41 -172 41 57 -255 205 49 -197 197 205 -255 255 255 -255 189 189 -156 106 49 -57 57 57 -16 16 16 diff --git a/graphics/pokemon/palettes/groudon_shiny_palette.pal b/graphics/pokemon/palettes/groudon_shiny_palette.pal deleted file mode 100644 index 6c0a16585..000000000 --- a/graphics/pokemon/palettes/groudon_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -49 164 82 -131 131 8 -172 148 164 -156 123 139 -123 90 98 -230 230 106 -98 98 0 -197 197 74 -164 164 41 -255 205 49 -197 197 205 -255 255 255 -255 255 139 -156 106 49 -57 57 57 -16 16 16 diff --git a/graphics/pokemon/palettes/grovyle_palette.pal b/graphics/pokemon/palettes/grovyle_palette.pal deleted file mode 100644 index a1e6181fc..000000000 --- a/graphics/pokemon/palettes/grovyle_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 148 131 -16 82 74 -90 180 106 -139 230 148 -189 255 180 -57 131 65 -131 41 49 -230 65 41 -255 115 82 -255 222 82 -57 131 148 -189 65 65 -213 139 82 -82 164 189 -0 0 0 -255 238 255 diff --git a/graphics/pokemon/palettes/grovyle_shiny_palette.pal b/graphics/pokemon/palettes/grovyle_shiny_palette.pal deleted file mode 100644 index c61afa4a3..000000000 --- a/graphics/pokemon/palettes/grovyle_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 148 131 -148 74 49 -74 164 148 -148 205 213 -180 230 238 -65 123 115 -205 156 123 -238 189 156 -255 238 197 -255 222 82 -213 82 57 -180 131 98 -213 139 82 -255 106 82 -0 0 0 -255 238 255 diff --git a/graphics/pokemon/palettes/growlithe_palette.pal b/graphics/pokemon/palettes/growlithe_palette.pal deleted file mode 100644 index bd55be2a7..000000000 --- a/graphics/pokemon/palettes/growlithe_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -230 230 230 -255 255 246 -222 222 213 -106 106 106 -255 0 255 -255 0 255 -255 0 255 -255 246 180 -230 213 148 -205 180 115 -115 98 32 -255 197 82 -238 139 74 -197 82 32 -115 57 16 -16 16 16 diff --git a/graphics/pokemon/palettes/growlithe_shiny_palette.pal b/graphics/pokemon/palettes/growlithe_shiny_palette.pal deleted file mode 100644 index 0604c9c25..000000000 --- a/graphics/pokemon/palettes/growlithe_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -230 230 230 -255 255 246 -222 222 213 -82 82 82 -255 0 255 -255 0 255 -255 0 255 -255 246 180 -230 213 148 -180 164 106 -115 98 32 -255 238 82 -230 197 41 -189 156 0 -123 90 0 -16 16 16 diff --git a/graphics/pokemon/palettes/grumpig_palette.pal b/graphics/pokemon/palettes/grumpig_palette.pal deleted file mode 100644 index c49601f91..000000000 --- a/graphics/pokemon/palettes/grumpig_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 197 148 -148 148 148 -123 123 123 -98 98 98 -74 74 74 -255 180 213 -238 139 172 -213 106 131 -230 172 238 -205 139 213 -180 115 189 -123 82 139 -156 74 98 -246 205 255 -0 0 0 -255 255 255 diff --git a/graphics/pokemon/palettes/grumpig_shiny_palette.pal b/graphics/pokemon/palettes/grumpig_shiny_palette.pal deleted file mode 100644 index b9c88ae3d..000000000 --- a/graphics/pokemon/palettes/grumpig_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 197 148 -172 172 172 -131 131 131 -82 82 82 -57 57 57 -255 180 213 -238 139 172 -213 106 131 -246 222 106 -213 189 65 -189 164 41 -131 123 0 -156 74 98 -255 238 172 -0 0 0 -255 255 255 diff --git a/graphics/pokemon/palettes/gulpin_palette.pal b/graphics/pokemon/palettes/gulpin_palette.pal deleted file mode 100644 index 588be1e4a..000000000 --- a/graphics/pokemon/palettes/gulpin_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 189 131 -74 106 57 -131 164 115 -164 222 148 -197 238 180 -156 189 139 -65 65 65 -106 106 106 -156 156 156 -172 148 74 -205 172 16 -246 222 90 -255 238 164 -255 148 123 -0 0 0 -0 0 0 diff --git a/graphics/pokemon/palettes/gulpin_shiny_palette.pal b/graphics/pokemon/palettes/gulpin_shiny_palette.pal deleted file mode 100644 index 83373f072..000000000 --- a/graphics/pokemon/palettes/gulpin_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 189 131 -74 106 57 -98 123 164 -131 180 238 -156 213 255 -98 148 197 -65 65 65 -106 106 106 -156 156 156 -164 49 32 -180 65 49 -222 98 49 -255 139 82 -255 148 123 -0 0 0 -0 0 0 diff --git a/graphics/pokemon/palettes/gyarados_palette.pal b/graphics/pokemon/palettes/gyarados_palette.pal deleted file mode 100644 index 2a74de808..000000000 --- a/graphics/pokemon/palettes/gyarados_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -139 213 180 -222 230 246 -172 180 197 -106 123 148 -139 189 255 -115 156 230 -123 131 164 -57 57 98 -255 230 156 -197 197 123 -98 106 57 -255 131 123 -205 49 49 -148 32 0 -0 0 0 -255 255 255 diff --git a/graphics/pokemon/palettes/gyarados_shiny_palette.pal b/graphics/pokemon/palettes/gyarados_shiny_palette.pal deleted file mode 100644 index d9f55f451..000000000 --- a/graphics/pokemon/palettes/gyarados_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -222 230 246 -172 180 197 -106 123 148 -255 197 90 -255 139 65 -213 90 49 -123 57 57 -255 255 148 -205 205 131 -106 106 90 -255 98 57 -205 49 49 -148 32 0 -0 0 0 -255 255 255 diff --git a/graphics/pokemon/palettes/hariyama_palette.pal b/graphics/pokemon/palettes/hariyama_palette.pal deleted file mode 100644 index 99b5902d9..000000000 --- a/graphics/pokemon/palettes/hariyama_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 164 115 -246 230 197 -230 213 164 -197 172 115 -139 106 82 -238 164 106 -213 131 90 -172 98 65 -131 74 49 -98 98 148 -49 49 98 -246 213 115 -238 189 82 -205 156 65 -24 24 24 -255 255 255 diff --git a/graphics/pokemon/palettes/hariyama_shiny_palette.pal b/graphics/pokemon/palettes/hariyama_shiny_palette.pal deleted file mode 100644 index 14281f812..000000000 --- a/graphics/pokemon/palettes/hariyama_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 164 115 -255 238 172 -246 205 131 -246 189 82 -205 139 57 -222 189 197 -189 156 164 -156 106 131 -115 82 90 -98 98 148 -49 49 98 -255 90 74 -205 82 65 -156 82 65 -24 24 24 -255 255 255 diff --git a/graphics/pokemon/palettes/haunter_palette.pal b/graphics/pokemon/palettes/haunter_palette.pal deleted file mode 100644 index 5f1f2573b..000000000 --- a/graphics/pokemon/palettes/haunter_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 189 -197 148 222 -148 106 180 -98 82 131 -90 57 115 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -222 49 49 -180 24 24 -98 16 16 -222 222 222 -115 115 115 -16 16 16 -255 255 255 diff --git a/graphics/pokemon/palettes/haunter_shiny_palette.pal b/graphics/pokemon/palettes/haunter_shiny_palette.pal deleted file mode 100644 index d6cab2588..000000000 --- a/graphics/pokemon/palettes/haunter_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 189 -213 164 222 -197 131 205 -131 90 164 -82 49 98 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -74 156 197 -32 115 156 -0 65 106 -213 213 213 -115 115 115 -16 16 16 -255 255 255 diff --git a/graphics/pokemon/palettes/heracross_palette.pal b/graphics/pokemon/palettes/heracross_palette.pal deleted file mode 100644 index 06fe289a5..000000000 --- a/graphics/pokemon/palettes/heracross_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -156 180 255 -123 139 222 -98 106 180 -49 57 98 -255 0 255 -255 255 139 -255 222 90 -197 164 41 -139 106 0 -255 0 255 -213 213 213 -156 156 156 -106 106 106 -16 16 16 diff --git a/graphics/pokemon/palettes/heracross_shiny_palette.pal b/graphics/pokemon/palettes/heracross_shiny_palette.pal deleted file mode 100644 index c85ace38b..000000000 --- a/graphics/pokemon/palettes/heracross_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -238 156 213 -205 123 189 -164 82 156 -98 57 98 -255 0 255 -255 255 139 -255 222 90 -197 164 41 -139 106 0 -255 0 255 -213 213 213 -156 156 156 -106 106 106 -16 16 16 diff --git a/graphics/pokemon/palettes/hitmonchan_palette.pal b/graphics/pokemon/palettes/hitmonchan_palette.pal deleted file mode 100644 index 77c20d85a..000000000 --- a/graphics/pokemon/palettes/hitmonchan_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 213 -255 255 255 -222 205 222 -197 180 197 -164 148 164 -115 98 115 -255 148 90 -230 98 57 -189 49 16 -139 32 0 -255 0 255 -238 213 156 -205 180 123 -164 139 82 -106 82 16 -16 16 16 diff --git a/graphics/pokemon/palettes/hitmonchan_shiny_palette.pal b/graphics/pokemon/palettes/hitmonchan_shiny_palette.pal deleted file mode 100644 index 2e4a28f0c..000000000 --- a/graphics/pokemon/palettes/hitmonchan_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 213 -255 255 255 -222 205 222 -197 180 197 -164 148 164 -115 98 115 -90 148 213 -49 106 172 -8 65 131 -0 24 90 -255 0 255 -238 230 139 -197 189 98 -156 148 57 -98 90 0 -16 16 16 diff --git a/graphics/pokemon/palettes/hitmonlee_palette.pal b/graphics/pokemon/palettes/hitmonlee_palette.pal deleted file mode 100644 index 36a7a03a4..000000000 --- a/graphics/pokemon/palettes/hitmonlee_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 189 -230 180 148 -205 164 131 -164 123 90 -131 90 57 -98 57 24 -255 0 255 -255 0 255 -230 230 189 -197 189 164 -115 98 98 -255 238 139 -238 205 115 -115 123 32 -41 41 41 -255 255 255 diff --git a/graphics/pokemon/palettes/hitmonlee_shiny_palette.pal b/graphics/pokemon/palettes/hitmonlee_shiny_palette.pal deleted file mode 100644 index 74e6c6452..000000000 --- a/graphics/pokemon/palettes/hitmonlee_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 189 -172 180 74 -131 139 32 -90 98 0 -49 57 0 -32 41 0 -255 0 255 -255 0 255 -189 164 139 -148 123 98 -106 82 57 -238 255 148 -197 205 115 -115 123 32 -41 41 41 -255 255 255 diff --git a/graphics/pokemon/palettes/hitmontop_palette.pal b/graphics/pokemon/palettes/hitmontop_palette.pal deleted file mode 100644 index b49c96760..000000000 --- a/graphics/pokemon/palettes/hitmontop_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -255 238 156 -230 205 123 -189 164 82 -131 98 16 -255 0 255 -139 213 255 -98 172 238 -74 131 205 -82 90 148 -255 0 255 -205 205 205 -148 148 156 -98 98 106 -16 16 16 diff --git a/graphics/pokemon/palettes/hitmontop_shiny_palette.pal b/graphics/pokemon/palettes/hitmontop_shiny_palette.pal deleted file mode 100644 index 8c6bbd31f..000000000 --- a/graphics/pokemon/palettes/hitmontop_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -255 246 205 -230 222 180 -180 172 148 -131 90 65 -255 0 255 -246 148 222 -205 106 189 -172 74 164 -115 49 123 -255 0 255 -205 205 205 -148 148 156 -98 98 106 -16 16 16 diff --git a/graphics/pokemon/palettes/ho_oh_palette.pal b/graphics/pokemon/palettes/ho_oh_palette.pal deleted file mode 100644 index f4b583541..000000000 --- a/graphics/pokemon/palettes/ho_oh_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 164 -255 255 255 -255 172 0 -255 90 0 -205 65 0 -156 16 0 -255 238 131 -255 230 0 -230 172 0 -164 106 0 -156 246 172 -65 213 82 -16 148 16 -197 197 197 -106 106 106 -16 16 16 diff --git a/graphics/pokemon/palettes/ho_oh_shiny_palette.pal b/graphics/pokemon/palettes/ho_oh_shiny_palette.pal deleted file mode 100644 index 2c14ff9e4..000000000 --- a/graphics/pokemon/palettes/ho_oh_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 164 -255 255 255 -255 230 57 -255 172 24 -205 123 24 -148 74 49 -238 238 238 -222 222 222 -180 180 189 -123 123 139 -255 172 0 -255 74 0 -156 41 24 -213 213 222 -123 106 65 -16 16 16 diff --git a/graphics/pokemon/palettes/hoothoot_palette.pal b/graphics/pokemon/palettes/hoothoot_palette.pal deleted file mode 100644 index f1a3ee54e..000000000 --- a/graphics/pokemon/palettes/hoothoot_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -246 255 189 -230 246 164 -222 213 90 -205 189 41 -172 156 32 -148 131 24 -123 106 16 -90 74 0 -255 230 172 -255 180 106 -230 123 41 -123 123 123 -82 82 82 -16 16 16 diff --git a/graphics/pokemon/palettes/hoothoot_shiny_palette.pal b/graphics/pokemon/palettes/hoothoot_shiny_palette.pal deleted file mode 100644 index 3b951e004..000000000 --- a/graphics/pokemon/palettes/hoothoot_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -255 255 189 -238 238 106 -255 238 115 -246 222 57 -230 189 49 -213 148 41 -197 131 32 -139 82 32 -255 230 172 -255 180 106 -230 123 41 -123 123 123 -82 82 82 -16 16 16 diff --git a/graphics/pokemon/palettes/hoppip_palette.pal b/graphics/pokemon/palettes/hoppip_palette.pal deleted file mode 100644 index 578494117..000000000 --- a/graphics/pokemon/palettes/hoppip_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 222 222 -255 255 255 -255 156 115 -255 98 82 -213 65 16 -164 16 0 -255 0 255 -131 230 57 -98 205 57 -65 164 32 -32 98 16 -255 0 255 -255 255 82 -246 197 0 -255 0 255 -16 16 16 diff --git a/graphics/pokemon/palettes/hoppip_shiny_palette.pal b/graphics/pokemon/palettes/hoppip_shiny_palette.pal deleted file mode 100644 index c70c55c99..000000000 --- a/graphics/pokemon/palettes/hoppip_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -148 205 32 -106 180 8 -90 139 41 -57 90 16 -255 0 255 -189 246 57 -131 222 57 -82 172 24 -32 98 16 -255 0 255 -255 255 82 -246 197 0 -255 0 255 -16 16 16 diff --git a/graphics/pokemon/palettes/horsea_palette.pal b/graphics/pokemon/palettes/horsea_palette.pal deleted file mode 100644 index d0924f3ac..000000000 --- a/graphics/pokemon/palettes/horsea_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 213 -255 0 255 -255 0 255 -98 82 41 -156 131 74 -189 222 255 -164 197 238 -131 148 180 -57 82 98 -255 255 172 -230 205 74 -255 115 115 -197 41 41 -255 0 255 -16 16 16 -255 255 255 diff --git a/graphics/pokemon/palettes/horsea_shiny_palette.pal b/graphics/pokemon/palettes/horsea_shiny_palette.pal deleted file mode 100644 index 73eec42ef..000000000 --- a/graphics/pokemon/palettes/horsea_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 213 -255 0 255 -255 0 255 -123 82 41 -172 123 82 -115 205 213 -74 164 172 -32 123 131 -16 74 82 -255 197 172 -238 172 139 -255 115 115 -197 41 41 -255 0 255 -16 16 16 -255 255 255 diff --git a/graphics/pokemon/palettes/houndoom_palette.pal b/graphics/pokemon/palettes/houndoom_palette.pal deleted file mode 100644 index 676369d07..000000000 --- a/graphics/pokemon/palettes/houndoom_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -139 123 123 -82 74 74 -57 49 49 -41 32 32 -255 213 139 -238 164 82 -189 123 57 -148 82 24 -255 106 49 -180 49 8 -255 0 255 -255 0 255 -180 164 164 -16 16 16 diff --git a/graphics/pokemon/palettes/houndoom_shiny_palette.pal b/graphics/pokemon/palettes/houndoom_shiny_palette.pal deleted file mode 100644 index 7e7aa56bf..000000000 --- a/graphics/pokemon/palettes/houndoom_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -123 156 230 -74 98 180 -49 65 139 -65 74 90 -255 230 197 -213 172 148 -172 131 90 -123 82 65 -255 106 49 -180 49 8 -255 0 255 -255 0 255 -222 197 213 -16 16 16 diff --git a/graphics/pokemon/palettes/houndour_palette.pal b/graphics/pokemon/palettes/houndour_palette.pal deleted file mode 100644 index 676369d07..000000000 --- a/graphics/pokemon/palettes/houndour_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -139 123 123 -82 74 74 -57 49 49 -41 32 32 -255 213 139 -238 164 82 -189 123 57 -148 82 24 -255 106 49 -180 49 8 -255 0 255 -255 0 255 -180 164 164 -16 16 16 diff --git a/graphics/pokemon/palettes/houndour_shiny_palette.pal b/graphics/pokemon/palettes/houndour_shiny_palette.pal deleted file mode 100644 index 4197f8de7..000000000 --- a/graphics/pokemon/palettes/houndour_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -123 164 197 -82 123 164 -57 82 115 -49 65 82 -255 230 197 -213 172 148 -172 131 90 -123 82 65 -255 106 49 -180 49 8 -255 0 255 -255 0 255 -222 189 197 -16 16 16 diff --git a/graphics/pokemon/palettes/huntail_palette.pal b/graphics/pokemon/palettes/huntail_palette.pal deleted file mode 100644 index 192061e01..000000000 --- a/graphics/pokemon/palettes/huntail_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -49 106 189 -255 255 255 -238 180 98 -222 148 0 -156 106 65 -180 238 238 -156 222 246 -123 197 222 -74 156 180 -49 98 123 -0 0 0 -255 131 148 -205 115 148 -148 57 90 -213 197 213 -164 131 148 diff --git a/graphics/pokemon/palettes/huntail_shiny_palette.pal b/graphics/pokemon/palettes/huntail_shiny_palette.pal deleted file mode 100644 index 713c54adf..000000000 --- a/graphics/pokemon/palettes/huntail_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -49 106 189 -255 255 255 -255 222 115 -230 156 0 -164 115 65 -172 255 172 -148 230 148 -115 197 115 -57 148 82 -32 106 57 -0 0 0 -255 131 148 -205 115 148 -148 57 90 -213 197 213 -164 131 148 diff --git a/graphics/pokemon/palettes/hypno_palette.pal b/graphics/pokemon/palettes/hypno_palette.pal deleted file mode 100644 index a91224353..000000000 --- a/graphics/pokemon/palettes/hypno_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 189 -255 238 156 -255 222 98 -205 180 106 -98 74 32 -189 156 82 -213 197 222 -115 106 131 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -156 156 156 -98 98 98 -16 16 16 -255 255 255 diff --git a/graphics/pokemon/palettes/hypno_shiny_palette.pal b/graphics/pokemon/palettes/hypno_shiny_palette.pal deleted file mode 100644 index bf99b49c7..000000000 --- a/graphics/pokemon/palettes/hypno_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 189 -255 180 213 -238 139 172 -197 98 131 -123 57 57 -172 98 106 -213 213 222 -115 106 131 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -156 156 156 -98 98 98 -16 16 16 -255 255 255 diff --git a/graphics/pokemon/palettes/igglybuff_palette.pal b/graphics/pokemon/palettes/igglybuff_palette.pal deleted file mode 100644 index 9b5beb079..000000000 --- a/graphics/pokemon/palettes/igglybuff_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -255 205 156 -255 148 115 -222 115 65 -197 74 0 -148 32 16 -255 230 180 -255 0 255 -205 0 0 -156 0 0 -205 0 0 -156 0 0 -98 0 0 -106 106 106 -16 16 16 diff --git a/graphics/pokemon/palettes/igglybuff_shiny_palette.pal b/graphics/pokemon/palettes/igglybuff_shiny_palette.pal deleted file mode 100644 index fd1f6fbf8..000000000 --- a/graphics/pokemon/palettes/igglybuff_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -255 213 238 -246 172 197 -222 115 139 -180 57 90 -156 24 49 -255 238 238 -255 0 255 -205 0 0 -156 0 0 -90 197 24 -74 172 24 -41 82 0 -106 106 106 -16 16 16 diff --git a/graphics/pokemon/palettes/illumise_palette.pal b/graphics/pokemon/palettes/illumise_palette.pal deleted file mode 100644 index 63c55bbc0..000000000 --- a/graphics/pokemon/palettes/illumise_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -49 164 82 -0 90 213 -123 123 123 -74 74 74 -0 0 0 -205 139 222 -180 98 205 -139 82 156 -49 41 49 -255 230 115 -230 180 74 -156 131 82 -172 197 238 -139 172 205 -90 106 139 -255 255 255 diff --git a/graphics/pokemon/palettes/illumise_shiny_palette.pal b/graphics/pokemon/palettes/illumise_shiny_palette.pal deleted file mode 100644 index 78bdbdc22..000000000 --- a/graphics/pokemon/palettes/illumise_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -49 164 82 -0 90 213 -123 123 123 -74 74 74 -0 0 0 -255 230 115 -230 180 74 -189 139 82 -49 41 49 -255 148 82 -222 90 32 -164 49 32 -131 205 255 -90 172 230 -32 115 189 -255 255 255 diff --git a/graphics/pokemon/palettes/ivysaur_palette.pal b/graphics/pokemon/palettes/ivysaur_palette.pal deleted file mode 100644 index 82c2ec525..000000000 --- a/graphics/pokemon/palettes/ivysaur_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -98 139 49 -255 189 180 -255 123 123 -213 90 139 -139 230 222 -123 205 189 -131 230 90 -115 189 41 -82 139 148 -16 16 16 -24 90 82 -205 123 57 -139 90 57 -189 41 65 diff --git a/graphics/pokemon/palettes/ivysaur_shiny_palette.pal b/graphics/pokemon/palettes/ivysaur_shiny_palette.pal deleted file mode 100644 index 75baf6a46..000000000 --- a/graphics/pokemon/palettes/ivysaur_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -90 139 49 -255 255 82 -255 222 8 -222 180 0 -205 238 65 -164 213 49 -123 222 32 -82 180 0 -123 172 8 -16 16 16 -74 90 24 -222 139 65 -180 131 16 -139 115 16 diff --git a/graphics/pokemon/palettes/jigglypuff_palette.pal b/graphics/pokemon/palettes/jigglypuff_palette.pal deleted file mode 100644 index 8f97b28b9..000000000 --- a/graphics/pokemon/palettes/jigglypuff_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 180 -255 255 255 -205 189 255 -148 131 255 -115 98 222 -65 49 156 -156 106 32 -115 65 24 -230 230 230 -164 49 0 -213 57 49 -16 16 16 -255 205 197 -255 172 164 -230 115 115 -164 74 74 diff --git a/graphics/pokemon/palettes/jigglypuff_shiny_palette.pal b/graphics/pokemon/palettes/jigglypuff_shiny_palette.pal deleted file mode 100644 index c6c39e2dd..000000000 --- a/graphics/pokemon/palettes/jigglypuff_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 180 -255 255 255 -164 230 148 -98 230 131 -90 197 106 -57 156 65 -156 106 32 -115 65 24 -230 230 230 -164 49 0 -213 57 49 -16 16 16 -255 222 238 -246 189 230 -222 156 189 -131 82 106 diff --git a/graphics/pokemon/palettes/jirachi_palette.pal b/graphics/pokemon/palettes/jirachi_palette.pal deleted file mode 100644 index ba0b7a6b1..000000000 --- a/graphics/pokemon/palettes/jirachi_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -205 213 222 -156 164 172 -41 65 115 -230 238 246 -82 115 255 -131 164 255 -106 115 115 -197 0 0 -238 82 82 -180 139 49 -230 197 82 -255 230 90 -255 246 148 -255 255 255 -0 0 0 diff --git a/graphics/pokemon/palettes/jirachi_shiny_palette.pal b/graphics/pokemon/palettes/jirachi_shiny_palette.pal deleted file mode 100644 index 219b9ac57..000000000 --- a/graphics/pokemon/palettes/jirachi_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 180 164 -156 164 172 -41 65 115 -255 230 230 -230 74 49 -255 123 106 -123 98 90 -197 0 0 -238 82 82 -180 139 49 -230 197 82 -255 230 90 -255 246 148 -255 255 255 -0 0 0 diff --git a/graphics/pokemon/palettes/jolteon_palette.pal b/graphics/pokemon/palettes/jolteon_palette.pal deleted file mode 100644 index c4f6d9021..000000000 --- a/graphics/pokemon/palettes/jolteon_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 189 -246 238 115 -255 222 49 -213 189 49 -156 139 57 -106 82 32 -255 0 255 -189 49 49 -106 0 0 -255 0 255 -255 0 255 -222 230 222 -139 148 164 -98 98 98 -41 41 41 -255 255 255 diff --git a/graphics/pokemon/palettes/jolteon_shiny_palette.pal b/graphics/pokemon/palettes/jolteon_shiny_palette.pal deleted file mode 100644 index ece1425c3..000000000 --- a/graphics/pokemon/palettes/jolteon_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 189 -222 255 131 -197 238 32 -156 197 0 -123 164 0 -74 115 0 -255 0 255 -189 49 49 -106 0 0 -255 0 255 -255 0 255 -222 222 230 -139 148 164 -98 98 98 -41 41 41 -255 255 255 diff --git a/graphics/pokemon/palettes/jumpluff_palette.pal b/graphics/pokemon/palettes/jumpluff_palette.pal deleted file mode 100644 index 422184976..000000000 --- a/graphics/pokemon/palettes/jumpluff_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -98 65 8 -123 164 255 -90 131 213 -65 106 197 -57 82 148 -16 16 16 -255 255 222 -246 238 180 -238 222 148 -205 189 115 -156 139 82 -255 139 41 -213 65 0 -65 230 57 -49 156 49 diff --git a/graphics/pokemon/palettes/jumpluff_shiny_palette.pal b/graphics/pokemon/palettes/jumpluff_shiny_palette.pal deleted file mode 100644 index 4885690b6..000000000 --- a/graphics/pokemon/palettes/jumpluff_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -115 57 98 -255 205 172 -246 164 164 -222 123 156 -164 74 106 -16 16 16 -255 238 246 -246 213 238 -222 172 213 -205 139 172 -164 98 164 -255 139 41 -213 65 0 -65 230 57 -49 156 49 diff --git a/graphics/pokemon/palettes/jynx_palette.pal b/graphics/pokemon/palettes/jynx_palette.pal deleted file mode 100644 index 71a25303e..000000000 --- a/graphics/pokemon/palettes/jynx_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 180 -213 213 213 -98 98 115 -213 139 238 -172 106 197 -148 74 172 -255 164 156 -238 65 65 -180 74 74 -106 8 0 -255 246 172 -255 238 82 -213 197 57 -123 106 24 -0 0 0 -255 255 255 diff --git a/graphics/pokemon/palettes/jynx_shiny_palette.pal b/graphics/pokemon/palettes/jynx_shiny_palette.pal deleted file mode 100644 index b6838c13d..000000000 --- a/graphics/pokemon/palettes/jynx_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 180 -213 213 213 -98 98 115 -213 139 238 -172 106 197 -148 74 172 -255 172 230 -255 131 189 -213 90 148 -148 24 82 -255 230 222 -213 189 180 -172 148 139 -115 90 82 -0 0 0 -255 255 255 diff --git a/graphics/pokemon/palettes/kabuto_palette.pal b/graphics/pokemon/palettes/kabuto_palette.pal deleted file mode 100644 index 4264dd8a3..000000000 --- a/graphics/pokemon/palettes/kabuto_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 205 -255 255 255 -180 180 180 -255 197 197 -238 74 65 -255 0 255 -255 255 139 -255 213 49 -222 180 41 -164 106 0 -255 0 255 -230 172 65 -189 139 41 -156 98 24 -106 57 8 -16 16 16 diff --git a/graphics/pokemon/palettes/kabuto_shiny_palette.pal b/graphics/pokemon/palettes/kabuto_shiny_palette.pal deleted file mode 100644 index 8e3eaad12..000000000 --- a/graphics/pokemon/palettes/kabuto_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 205 -255 255 255 -180 180 180 -255 172 164 -238 74 65 -255 0 255 -255 255 139 -255 213 49 -238 180 32 -164 106 0 -255 0 255 -180 230 74 -156 205 57 -115 164 32 -82 123 16 -16 16 16 diff --git a/graphics/pokemon/palettes/kabutops_palette.pal b/graphics/pokemon/palettes/kabutops_palette.pal deleted file mode 100644 index 0aa390135..000000000 --- a/graphics/pokemon/palettes/kabutops_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 213 -255 255 255 -230 222 197 -189 189 180 -156 156 148 -106 106 106 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -246 222 148 -222 189 115 -172 148 90 -90 74 24 -16 16 16 diff --git a/graphics/pokemon/palettes/kabutops_shiny_palette.pal b/graphics/pokemon/palettes/kabutops_shiny_palette.pal deleted file mode 100644 index 9217ab55d..000000000 --- a/graphics/pokemon/palettes/kabutops_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 213 -255 255 255 -222 222 213 -189 189 180 -156 156 148 -106 106 106 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -222 255 90 -189 222 74 -148 180 41 -82 115 0 -16 16 16 diff --git a/graphics/pokemon/palettes/kadabra_palette.pal b/graphics/pokemon/palettes/kadabra_palette.pal deleted file mode 100644 index aedab9d53..000000000 --- a/graphics/pokemon/palettes/kadabra_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -230 230 230 -255 255 255 -90 90 90 -246 139 139 -230 57 41 -213 180 82 -172 131 41 -139 82 16 -106 65 8 -222 222 222 -180 180 180 -255 255 189 -255 238 41 -222 189 16 -131 106 16 -16 16 16 diff --git a/graphics/pokemon/palettes/kadabra_shiny_palette.pal b/graphics/pokemon/palettes/kadabra_shiny_palette.pal deleted file mode 100644 index f19dbf469..000000000 --- a/graphics/pokemon/palettes/kadabra_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -106 205 148 -255 255 255 -90 90 90 -246 139 139 -246 65 49 -230 164 180 -205 123 172 -156 82 115 -90 49 49 -222 222 222 -180 180 180 -255 255 197 -255 238 139 -246 189 82 -123 98 0 -16 16 16 diff --git a/graphics/pokemon/palettes/kakuna_palette.pal b/graphics/pokemon/palettes/kakuna_palette.pal deleted file mode 100644 index fe51d0fbf..000000000 --- a/graphics/pokemon/palettes/kakuna_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 222 222 -255 255 255 -255 230 156 -246 222 90 -205 189 82 -164 139 24 -139 123 0 -255 0 255 -255 0 255 -255 0 255 -115 115 115 -57 57 57 -16 16 16 -255 0 255 -255 0 255 -255 0 255 diff --git a/graphics/pokemon/palettes/kakuna_shiny_palette.pal b/graphics/pokemon/palettes/kakuna_shiny_palette.pal deleted file mode 100644 index 0a45b029a..000000000 --- a/graphics/pokemon/palettes/kakuna_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -222 238 90 -197 230 49 -156 189 8 -115 148 0 -74 106 0 -255 0 255 -255 0 255 -255 0 255 -106 106 106 -57 57 57 -16 16 16 -255 0 255 -255 0 255 -255 0 255 diff --git a/graphics/pokemon/palettes/kangaskhan_palette.pal b/graphics/pokemon/palettes/kangaskhan_palette.pal deleted file mode 100644 index ff63a7ac3..000000000 --- a/graphics/pokemon/palettes/kangaskhan_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 213 -255 255 255 -213 213 213 -255 246 139 -222 213 106 -189 24 24 -16 16 16 -222 180 213 -164 115 156 -180 189 131 -139 148 98 -106 106 82 -213 189 131 -189 164 106 -156 115 90 -82 65 16 diff --git a/graphics/pokemon/palettes/kangaskhan_shiny_palette.pal b/graphics/pokemon/palettes/kangaskhan_shiny_palette.pal deleted file mode 100644 index b2405925f..000000000 --- a/graphics/pokemon/palettes/kangaskhan_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 213 -255 255 255 -213 213 213 -255 255 148 -238 205 106 -189 24 24 -16 16 16 -238 205 180 -189 156 139 -139 156 82 -98 115 41 -57 74 0 -238 222 180 -213 205 156 -172 164 115 -98 90 49 diff --git a/graphics/pokemon/palettes/kecleon_palette.pal b/graphics/pokemon/palettes/kecleon_palette.pal deleted file mode 100644 index 36d6be7d7..000000000 --- a/graphics/pokemon/palettes/kecleon_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -156 255 255 -65 98 65 -82 139 90 -98 180 131 -123 213 139 -164 238 156 -255 255 255 -139 74 57 -189 90 65 -238 106 74 -197 172 74 -222 197 90 -246 238 123 -139 123 90 -172 197 123 -0 0 0 diff --git a/graphics/pokemon/palettes/kecleon_shiny_palette.pal b/graphics/pokemon/palettes/kecleon_shiny_palette.pal deleted file mode 100644 index e056b670f..000000000 --- a/graphics/pokemon/palettes/kecleon_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -156 255 255 -65 98 65 -82 139 90 -98 180 131 -123 213 139 -164 238 156 -255 255 255 -49 131 197 -90 172 230 -123 197 255 -238 156 74 -255 180 74 -255 255 180 -139 123 90 -172 197 123 -0 0 0 diff --git a/graphics/pokemon/palettes/kingdra_palette.pal b/graphics/pokemon/palettes/kingdra_palette.pal deleted file mode 100644 index 9dcb7ab85..000000000 --- a/graphics/pokemon/palettes/kingdra_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -189 222 246 -156 189 246 -74 156 189 -74 74 131 -255 0 255 -246 106 82 -189 57 49 -255 255 156 -246 230 74 -230 172 57 -172 106 0 -213 213 213 -123 123 123 -16 16 16 diff --git a/graphics/pokemon/palettes/kingdra_shiny_palette.pal b/graphics/pokemon/palettes/kingdra_shiny_palette.pal deleted file mode 100644 index c45869283..000000000 --- a/graphics/pokemon/palettes/kingdra_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -238 197 238 -213 172 230 -156 115 180 -106 65 123 -255 0 255 -131 205 24 -82 156 24 -255 255 156 -246 230 74 -230 172 57 -172 106 0 -213 213 213 -123 123 123 -16 16 16 diff --git a/graphics/pokemon/palettes/kingler_palette.pal b/graphics/pokemon/palettes/kingler_palette.pal deleted file mode 100644 index ef05864d1..000000000 --- a/graphics/pokemon/palettes/kingler_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 189 -255 156 98 -238 106 41 -180 98 57 -139 49 32 -246 213 156 -230 189 139 -189 139 82 -98 74 16 -213 164 106 -255 16 255 -255 16 255 -255 16 255 -222 222 246 -16 16 16 -255 255 255 diff --git a/graphics/pokemon/palettes/kingler_shiny_palette.pal b/graphics/pokemon/palettes/kingler_shiny_palette.pal deleted file mode 100644 index faa3b01af..000000000 --- a/graphics/pokemon/palettes/kingler_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 189 -180 189 123 -139 148 82 -98 106 41 -57 65 41 -222 230 65 -197 189 32 -156 148 0 -115 106 0 -180 164 16 -255 16 255 -255 16 255 -255 16 255 -222 222 246 -16 16 16 -255 255 255 diff --git a/graphics/pokemon/palettes/kirlia_palette.pal b/graphics/pokemon/palettes/kirlia_palette.pal deleted file mode 100644 index 91b428af2..000000000 --- a/graphics/pokemon/palettes/kirlia_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -156 164 82 -238 238 255 -197 205 222 -164 180 205 -131 148 180 -123 82 82 -115 41 57 -255 156 131 -230 82 57 -106 123 148 -255 255 255 -205 255 172 -148 230 148 -115 189 115 -49 123 74 -16 16 16 diff --git a/graphics/pokemon/palettes/kirlia_shiny_palette.pal b/graphics/pokemon/palettes/kirlia_shiny_palette.pal deleted file mode 100644 index ff944e551..000000000 --- a/graphics/pokemon/palettes/kirlia_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -156 164 82 -238 238 255 -213 189 222 -180 164 205 -156 131 180 -123 82 82 -115 41 57 -255 197 90 -230 131 32 -106 123 148 -197 238 246 -189 230 255 -123 197 238 -82 172 213 -32 115 123 -16 16 16 diff --git a/graphics/pokemon/palettes/koffing_palette.pal b/graphics/pokemon/palettes/koffing_palette.pal deleted file mode 100644 index 4565aa527..000000000 --- a/graphics/pokemon/palettes/koffing_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -164 205 197 -255 255 255 -222 222 222 -246 238 148 -213 205 106 -238 65 65 -197 24 32 -255 0 255 -255 0 255 -238 213 106 -197 180 41 -222 139 213 -189 123 180 -156 82 148 -106 49 98 -16 16 16 diff --git a/graphics/pokemon/palettes/koffing_shiny_palette.pal b/graphics/pokemon/palettes/koffing_shiny_palette.pal deleted file mode 100644 index 164cdfb0b..000000000 --- a/graphics/pokemon/palettes/koffing_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 205 -255 255 255 -222 222 222 -246 238 148 -213 205 106 -255 98 74 -213 57 32 -255 0 255 -255 0 255 -205 139 164 -148 82 123 -164 222 205 -148 189 189 -106 148 148 -41 82 82 -16 16 16 diff --git a/graphics/pokemon/palettes/krabby_palette.pal b/graphics/pokemon/palettes/krabby_palette.pal deleted file mode 100644 index e54552ad9..000000000 --- a/graphics/pokemon/palettes/krabby_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 197 -255 255 255 -222 222 222 -255 0 255 -238 205 148 -230 189 123 -180 148 65 -115 82 16 -255 0 255 -255 0 255 -255 0 255 -255 156 115 -238 82 32 -189 82 24 -139 32 24 -16 16 16 diff --git a/graphics/pokemon/palettes/krabby_shiny_palette.pal b/graphics/pokemon/palettes/krabby_shiny_palette.pal deleted file mode 100644 index d1318f36c..000000000 --- a/graphics/pokemon/palettes/krabby_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 197 -255 255 255 -222 222 222 -255 0 255 -255 246 205 -222 205 164 -180 164 123 -115 98 57 -255 0 255 -255 0 255 -255 0 255 -255 222 74 -213 180 32 -172 139 0 -131 98 0 -16 16 16 diff --git a/graphics/pokemon/palettes/kyogre_palette.pal b/graphics/pokemon/palettes/kyogre_palette.pal deleted file mode 100644 index d598595cb..000000000 --- a/graphics/pokemon/palettes/kyogre_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -49 164 82 -255 205 49 -205 189 205 -156 139 148 -90 82 106 -41 82 148 -115 41 57 -255 8 16 -189 32 41 -131 205 255 -222 222 222 -90 164 255 -74 131 213 -57 98 180 -49 57 115 -16 16 16 diff --git a/graphics/pokemon/palettes/kyogre_shiny_palette.pal b/graphics/pokemon/palettes/kyogre_shiny_palette.pal deleted file mode 100644 index 392162401..000000000 --- a/graphics/pokemon/palettes/kyogre_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -49 164 82 -255 205 49 -222 205 222 -156 139 148 -90 82 106 -164 24 156 -115 41 57 -255 8 16 -189 32 41 -255 156 255 -246 246 246 -255 123 255 -230 90 222 -197 57 189 -131 0 123 -16 16 16 diff --git a/graphics/pokemon/palettes/lairon_palette.pal b/graphics/pokemon/palettes/lairon_palette.pal deleted file mode 100644 index b5711fdad..000000000 --- a/graphics/pokemon/palettes/lairon_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 172 156 -74 74 65 -106 106 106 -139 139 139 -172 172 172 -57 57 65 -123 106 106 -156 139 139 -189 172 172 -222 205 205 -255 255 255 -172 57 74 -222 106 106 -255 131 131 -106 189 255 -0 0 0 diff --git a/graphics/pokemon/palettes/lairon_shiny_palette.pal b/graphics/pokemon/palettes/lairon_shiny_palette.pal deleted file mode 100644 index eadb9aa81..000000000 --- a/graphics/pokemon/palettes/lairon_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 172 156 -32 90 90 -65 123 115 -90 156 148 -148 197 205 -74 41 24 -123 123 90 -156 156 123 -189 189 156 -222 222 197 -255 255 255 -172 57 74 -222 106 106 -255 131 131 -255 123 82 -0 0 0 diff --git a/graphics/pokemon/palettes/lanturn_palette.pal b/graphics/pokemon/palettes/lanturn_palette.pal deleted file mode 100644 index 7baa22c6e..000000000 --- a/graphics/pokemon/palettes/lanturn_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -172 172 172 -164 205 255 -139 172 255 -98 139 230 -57 106 205 -0 82 139 -255 238 123 -255 230 82 -213 180 90 -180 139 57 -131 82 8 -16 16 16 -255 115 0 -180 0 0 diff --git a/graphics/pokemon/palettes/lanturn_shiny_palette.pal b/graphics/pokemon/palettes/lanturn_shiny_palette.pal deleted file mode 100644 index 70360c029..000000000 --- a/graphics/pokemon/palettes/lanturn_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -172 172 172 -230 156 255 -205 131 246 -164 98 222 -131 65 197 -106 41 139 -255 255 106 -238 238 65 -180 180 41 -139 139 8 -90 90 8 -16 16 16 -255 115 0 -205 49 0 diff --git a/graphics/pokemon/palettes/lapras_palette.pal b/graphics/pokemon/palettes/lapras_palette.pal deleted file mode 100644 index 094f8fec8..000000000 --- a/graphics/pokemon/palettes/lapras_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 213 172 -255 255 255 -230 90 41 -164 0 0 -255 238 148 -230 197 106 -131 106 49 -238 222 213 -213 197 189 -164 148 139 -98 82 90 -156 205 246 -115 180 230 -115 139 197 -49 74 106 -41 41 41 diff --git a/graphics/pokemon/palettes/lapras_shiny_palette.pal b/graphics/pokemon/palettes/lapras_shiny_palette.pal deleted file mode 100644 index 5090527aa..000000000 --- a/graphics/pokemon/palettes/lapras_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 189 -255 255 255 -230 90 41 -164 0 0 -238 205 213 -222 172 180 -139 82 106 -238 222 213 -213 197 189 -164 148 139 -98 82 90 -205 189 246 -172 156 230 -131 98 189 -82 65 139 -41 41 41 diff --git a/graphics/pokemon/palettes/larvitar_palette.pal b/graphics/pokemon/palettes/larvitar_palette.pal deleted file mode 100644 index 3bcc1f133..000000000 --- a/graphics/pokemon/palettes/larvitar_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -197 238 197 -180 222 180 -123 172 123 -74 98 74 -255 0 255 -255 164 90 -238 82 41 -189 57 32 -106 32 0 -255 0 255 -255 0 255 -197 197 197 -98 98 98 -16 16 16 diff --git a/graphics/pokemon/palettes/larvitar_shiny_palette.pal b/graphics/pokemon/palettes/larvitar_shiny_palette.pal deleted file mode 100644 index aa6a59c36..000000000 --- a/graphics/pokemon/palettes/larvitar_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -230 246 82 -205 222 74 -156 172 41 -90 115 0 -255 0 255 -230 156 172 -189 98 131 -148 57 98 -90 41 65 -255 0 255 -255 0 255 -197 197 197 -98 98 98 -16 16 16 diff --git a/graphics/pokemon/palettes/latias_palette.pal b/graphics/pokemon/palettes/latias_palette.pal deleted file mode 100644 index 6f831271f..000000000 --- a/graphics/pokemon/palettes/latias_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -49 164 82 -238 238 255 -213 213 238 -172 164 205 -123 115 148 -255 205 90 -205 164 74 -115 172 238 -90 106 180 -255 164 115 -255 255 255 -255 106 106 -222 90 90 -205 74 82 -139 49 65 -16 16 16 diff --git a/graphics/pokemon/palettes/latias_shiny_palette.pal b/graphics/pokemon/palettes/latias_shiny_palette.pal deleted file mode 100644 index a701dc933..000000000 --- a/graphics/pokemon/palettes/latias_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -49 164 82 -238 238 255 -213 213 238 -172 164 205 -123 115 148 -131 246 65 -49 123 24 -115 189 255 -90 139 180 -255 255 90 -255 255 255 -255 205 41 -238 172 0 -238 131 0 -189 57 0 -16 16 16 diff --git a/graphics/pokemon/palettes/latios_palette.pal b/graphics/pokemon/palettes/latios_palette.pal deleted file mode 100644 index 6a3d8bead..000000000 --- a/graphics/pokemon/palettes/latios_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -49 164 82 -205 205 205 -172 172 172 -148 139 148 -115 106 115 -222 222 222 -131 74 74 -255 106 106 -213 74 82 -156 205 255 -255 255 255 -90 164 255 -74 131 213 -57 98 180 -49 57 115 -16 16 16 diff --git a/graphics/pokemon/palettes/latios_shiny_palette.pal b/graphics/pokemon/palettes/latios_shiny_palette.pal deleted file mode 100644 index 2b539fd9c..000000000 --- a/graphics/pokemon/palettes/latios_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -49 164 82 -246 246 246 -213 213 213 -180 172 172 -148 139 148 -246 246 246 -180 82 0 -230 123 41 -255 164 65 -189 255 255 -255 255 255 -172 238 222 -74 205 164 -32 164 123 -0 98 65 -16 16 16 diff --git a/graphics/pokemon/palettes/ledian_palette.pal b/graphics/pokemon/palettes/ledian_palette.pal deleted file mode 100644 index dc9acc426..000000000 --- a/graphics/pokemon/palettes/ledian_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -255 197 131 -255 90 32 -197 57 16 -131 49 16 -255 255 189 -246 230 115 -205 180 57 -164 123 0 -0 74 164 -0 24 115 -213 213 213 -180 180 180 -106 106 106 -16 16 16 diff --git a/graphics/pokemon/palettes/ledian_shiny_palette.pal b/graphics/pokemon/palettes/ledian_shiny_palette.pal deleted file mode 100644 index 472f0974d..000000000 --- a/graphics/pokemon/palettes/ledian_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -255 222 41 -255 164 0 -205 123 0 -131 74 16 -255 255 205 -246 238 131 -205 189 74 -164 131 16 -0 74 164 -0 24 115 -213 213 213 -180 180 180 -106 106 106 -16 16 16 diff --git a/graphics/pokemon/palettes/ledyba_palette.pal b/graphics/pokemon/palettes/ledyba_palette.pal deleted file mode 100644 index 2cc003adf..000000000 --- a/graphics/pokemon/palettes/ledyba_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -246 156 49 -238 82 24 -180 65 41 -123 49 24 -255 255 189 -246 230 115 -205 180 57 -164 123 0 -0 74 164 -0 24 115 -205 205 205 -180 180 180 -115 115 115 -16 16 16 diff --git a/graphics/pokemon/palettes/ledyba_shiny_palette.pal b/graphics/pokemon/palettes/ledyba_shiny_palette.pal deleted file mode 100644 index 472f0974d..000000000 --- a/graphics/pokemon/palettes/ledyba_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -255 222 41 -255 164 0 -205 123 0 -131 74 16 -255 255 205 -246 238 131 -205 189 74 -164 131 16 -0 74 164 -0 24 115 -213 213 213 -180 180 180 -106 106 106 -16 16 16 diff --git a/graphics/pokemon/palettes/lickitung_palette.pal b/graphics/pokemon/palettes/lickitung_palette.pal deleted file mode 100644 index 602ac2724..000000000 --- a/graphics/pokemon/palettes/lickitung_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 205 -255 255 255 -255 255 164 -230 213 115 -131 123 32 -255 164 148 -255 131 82 -230 74 24 -197 32 16 -255 0 255 -255 205 180 -255 164 131 -238 106 82 -205 82 49 -148 16 0 -16 16 16 diff --git a/graphics/pokemon/palettes/lickitung_shiny_palette.pal b/graphics/pokemon/palettes/lickitung_shiny_palette.pal deleted file mode 100644 index 5d01bf06c..000000000 --- a/graphics/pokemon/palettes/lickitung_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 205 -255 255 255 -255 255 164 -230 213 115 -131 123 32 -255 222 148 -255 123 131 -213 82 90 -172 41 49 -255 0 255 -255 238 123 -246 222 106 -205 180 65 -172 139 24 -131 90 0 -16 16 16 diff --git a/graphics/pokemon/palettes/lileep_palette.pal b/graphics/pokemon/palettes/lileep_palette.pal deleted file mode 100644 index a739bf847..000000000 --- a/graphics/pokemon/palettes/lileep_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 213 139 -230 164 222 -180 115 172 -139 65 123 -98 24 74 -255 172 106 -238 123 57 -189 98 16 -255 246 123 -255 222 41 -230 172 0 -213 213 213 -172 172 180 -115 115 115 -0 0 0 diff --git a/graphics/pokemon/palettes/lileep_shiny_palette.pal b/graphics/pokemon/palettes/lileep_shiny_palette.pal deleted file mode 100644 index 6402a8688..000000000 --- a/graphics/pokemon/palettes/lileep_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 213 139 -148 238 205 -115 205 172 -82 172 139 -32 123 90 -255 172 106 -238 123 57 -189 98 16 -255 246 123 -255 222 41 -230 172 0 -213 213 213 -172 172 180 -115 115 115 -41 41 57 diff --git a/graphics/pokemon/palettes/linoone_palette.pal b/graphics/pokemon/palettes/linoone_palette.pal deleted file mode 100644 index 368b6ac6f..000000000 --- a/graphics/pokemon/palettes/linoone_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 172 115 -65 57 32 -139 98 65 -172 139 115 -205 172 139 -230 213 197 -0 0 0 -131 115 90 -197 180 148 -222 213 180 -255 246 246 -57 82 131 -123 139 222 -255 172 180 -255 197 205 -255 238 255 diff --git a/graphics/pokemon/palettes/linoone_shiny_palette.pal b/graphics/pokemon/palettes/linoone_shiny_palette.pal deleted file mode 100644 index 7988bb21c..000000000 --- a/graphics/pokemon/palettes/linoone_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 172 115 -65 57 32 -197 98 65 -222 131 74 -238 164 74 -255 238 197 -0 0 0 -131 115 90 -197 180 148 -222 213 180 -255 246 246 -189 139 49 -255 205 106 -255 172 180 -255 197 205 -255 238 255 diff --git a/graphics/pokemon/palettes/lombre_palette.pal b/graphics/pokemon/palettes/lombre_palette.pal deleted file mode 100644 index 69f944a22..000000000 --- a/graphics/pokemon/palettes/lombre_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -98 106 65 -90 148 106 -148 74 57 -131 197 148 -189 230 180 -222 255 197 -205 74 49 -131 148 65 -139 180 49 -172 213 57 -255 115 65 -205 246 82 -255 255 255 -197 197 205 -255 8 57 diff --git a/graphics/pokemon/palettes/lombre_shiny_palette.pal b/graphics/pokemon/palettes/lombre_shiny_palette.pal deleted file mode 100644 index d4458373a..000000000 --- a/graphics/pokemon/palettes/lombre_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 197 205 -98 106 65 -90 148 106 -172 90 41 -172 213 57 -205 246 82 -222 255 197 -213 106 57 -65 131 139 -90 156 164 -106 172 180 -255 172 90 -148 197 205 -255 255 255 -197 197 205 -255 8 57 diff --git a/graphics/pokemon/palettes/lotad_palette.pal b/graphics/pokemon/palettes/lotad_palette.pal deleted file mode 100644 index efb988ea0..000000000 --- a/graphics/pokemon/palettes/lotad_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -49 164 82 -255 213 74 -213 172 57 -139 115 49 -49 65 90 -123 213 74 -98 189 49 -74 172 41 -74 139 41 -49 74 32 -172 255 123 -148 180 222 -82 139 205 -49 115 148 -255 255 255 -16 16 16 diff --git a/graphics/pokemon/palettes/lotad_shiny_palette.pal b/graphics/pokemon/palettes/lotad_shiny_palette.pal deleted file mode 100644 index 36f271590..000000000 --- a/graphics/pokemon/palettes/lotad_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -49 164 82 -255 213 74 -213 172 57 -139 115 49 -49 65 90 -148 197 205 -106 172 180 -90 156 164 -65 131 139 -24 82 98 -172 255 123 -213 139 156 -180 106 123 -148 74 90 -255 255 255 -16 16 16 diff --git a/graphics/pokemon/palettes/loudred_palette.pal b/graphics/pokemon/palettes/loudred_palette.pal deleted file mode 100644 index 27c8ed1e7..000000000 --- a/graphics/pokemon/palettes/loudred_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -164 156 222 -123 115 180 -90 82 139 -57 57 106 -255 222 90 -213 164 24 -156 115 24 -255 115 82 -213 74 49 -156 57 24 -106 49 24 -205 205 205 -115 115 115 -0 0 0 diff --git a/graphics/pokemon/palettes/loudred_shiny_palette.pal b/graphics/pokemon/palettes/loudred_shiny_palette.pal deleted file mode 100644 index b905b269c..000000000 --- a/graphics/pokemon/palettes/loudred_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -222 180 197 -189 131 164 -156 90 139 -131 65 106 -255 246 131 -255 197 49 -213 131 16 -255 115 82 -197 65 49 -156 41 24 -123 57 0 -238 205 213 -115 115 115 -49 49 65 diff --git a/graphics/pokemon/palettes/ludicolo_palette.pal b/graphics/pokemon/palettes/ludicolo_palette.pal deleted file mode 100644 index 618414394..000000000 --- a/graphics/pokemon/palettes/ludicolo_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 148 197 -74 106 74 -106 139 90 -156 197 98 -164 238 90 -205 255 139 -246 246 148 -213 213 123 -180 180 115 -255 255 255 -205 205 222 -197 131 115 -246 164 98 -139 106 82 -213 180 74 -41 41 41 diff --git a/graphics/pokemon/palettes/ludicolo_shiny_palette.pal b/graphics/pokemon/palettes/ludicolo_shiny_palette.pal deleted file mode 100644 index 442eda95e..000000000 --- a/graphics/pokemon/palettes/ludicolo_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 148 197 -49 115 106 -82 139 131 -90 156 148 -148 197 205 -164 222 222 -255 230 156 -255 213 106 -230 172 90 -255 255 255 -205 205 222 -197 131 115 -246 164 98 -164 106 82 -213 180 74 -41 41 41 diff --git a/graphics/pokemon/palettes/lugia_palette.pal b/graphics/pokemon/palettes/lugia_palette.pal deleted file mode 100644 index 483157770..000000000 --- a/graphics/pokemon/palettes/lugia_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 222 197 -255 255 255 -222 222 230 -189 189 197 -156 156 180 -98 98 98 -123 164 246 -90 115 255 -0 98 189 -0 65 131 -238 90 0 -156 65 0 -156 156 180 -98 98 98 -16 16 16 -16 16 16 diff --git a/graphics/pokemon/palettes/lugia_shiny_palette.pal b/graphics/pokemon/palettes/lugia_shiny_palette.pal deleted file mode 100644 index 42db26696..000000000 --- a/graphics/pokemon/palettes/lugia_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 222 197 -255 255 255 -213 230 255 -172 197 230 -131 156 197 -74 90 139 -255 139 172 -246 106 148 -205 74 123 -106 65 82 -238 90 0 -156 65 0 -246 139 139 -222 90 98 -148 32 41 -16 16 16 diff --git a/graphics/pokemon/palettes/lunatone_palette.pal b/graphics/pokemon/palettes/lunatone_palette.pal deleted file mode 100644 index 9a0a5885f..000000000 --- a/graphics/pokemon/palettes/lunatone_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -49 164 82 -255 238 164 -230 213 148 -213 197 131 -197 172 123 -172 156 106 -156 131 98 -139 115 82 -123 98 74 -98 74 57 -82 57 41 -238 90 90 -213 74 82 -189 57 74 -164 49 74 -16 16 16 diff --git a/graphics/pokemon/palettes/lunatone_shiny_palette.pal b/graphics/pokemon/palettes/lunatone_shiny_palette.pal deleted file mode 100644 index e0f5eb308..000000000 --- a/graphics/pokemon/palettes/lunatone_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -49 164 82 -255 238 164 -230 213 148 -213 197 131 -197 172 123 -172 156 106 -156 131 98 -139 115 82 -123 98 74 -98 74 57 -82 57 41 -98 148 255 -65 115 222 -32 82 189 -0 49 156 -16 16 16 diff --git a/graphics/pokemon/palettes/luvdisc_palette.pal b/graphics/pokemon/palettes/luvdisc_palette.pal deleted file mode 100644 index c443e0633..000000000 --- a/graphics/pokemon/palettes/luvdisc_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 205 148 -115 57 49 -164 106 82 -255 255 255 -222 205 230 -230 156 131 -205 148 148 -255 164 123 -246 213 148 -90 98 189 -90 98 139 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -24 24 24 diff --git a/graphics/pokemon/palettes/luvdisc_shiny_palette.pal b/graphics/pokemon/palettes/luvdisc_shiny_palette.pal deleted file mode 100644 index b1df53235..000000000 --- a/graphics/pokemon/palettes/luvdisc_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 205 148 -115 57 49 -164 106 82 -255 255 255 -222 205 230 -246 197 49 -246 172 16 -255 230 82 -255 255 131 -90 98 189 -90 98 139 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -24 24 24 diff --git a/graphics/pokemon/palettes/machamp_palette.pal b/graphics/pokemon/palettes/machamp_palette.pal deleted file mode 100644 index ceb43fc3c..000000000 --- a/graphics/pokemon/palettes/machamp_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -230 230 230 -255 255 255 -238 246 115 -205 213 74 -164 172 41 -115 98 0 -255 57 57 -189 49 65 -82 82 82 -255 0 255 -230 230 230 -197 238 205 -172 213 180 -131 172 131 -57 90 65 -16 16 16 diff --git a/graphics/pokemon/palettes/machamp_shiny_palette.pal b/graphics/pokemon/palettes/machamp_shiny_palette.pal deleted file mode 100644 index 6e7cc549c..000000000 --- a/graphics/pokemon/palettes/machamp_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -230 230 230 -255 255 255 -238 246 115 -197 205 74 -164 172 41 -115 98 0 -255 57 57 -156 0 0 -82 82 82 -255 0 255 -213 213 213 -180 197 131 -139 156 90 -98 115 49 -57 74 8 -16 16 16 diff --git a/graphics/pokemon/palettes/machoke_palette.pal b/graphics/pokemon/palettes/machoke_palette.pal deleted file mode 100644 index 937fd5d77..000000000 --- a/graphics/pokemon/palettes/machoke_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -230 230 230 -255 255 255 -238 246 115 -205 189 74 -180 164 65 -98 74 8 -255 0 255 -238 49 49 -197 0 0 -156 0 0 -222 222 222 -205 197 246 -172 164 213 -131 123 156 -65 65 106 -16 16 16 diff --git a/graphics/pokemon/palettes/machoke_shiny_palette.pal b/graphics/pokemon/palettes/machoke_shiny_palette.pal deleted file mode 100644 index 5d5cb321b..000000000 --- a/graphics/pokemon/palettes/machoke_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -230 230 230 -255 255 255 -238 246 115 -197 205 74 -164 172 41 -115 98 0 -255 0 255 -115 156 222 -74 115 180 -16 57 123 -222 230 172 -180 189 131 -139 148 90 -98 106 49 -57 65 8 -16 16 16 diff --git a/graphics/pokemon/palettes/machop_palette.pal b/graphics/pokemon/palettes/machop_palette.pal deleted file mode 100644 index 6914cd822..000000000 --- a/graphics/pokemon/palettes/machop_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 180 -255 255 255 -230 197 115 -197 180 57 -189 172 57 -98 106 16 -255 0 255 -255 57 57 -197 0 0 -156 0 0 -213 213 213 -189 222 197 -164 197 172 -123 148 131 -49 74 57 -16 16 16 diff --git a/graphics/pokemon/palettes/machop_shiny_palette.pal b/graphics/pokemon/palettes/machop_shiny_palette.pal deleted file mode 100644 index 2ceeb3c56..000000000 --- a/graphics/pokemon/palettes/machop_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 180 -255 255 255 -238 246 115 -197 205 74 -164 172 41 -98 106 16 -255 0 255 -255 57 57 -197 0 0 -156 0 0 -255 246 189 -222 205 148 -180 164 106 -139 123 65 -98 82 24 -16 16 16 diff --git a/graphics/pokemon/palettes/magby_palette.pal b/graphics/pokemon/palettes/magby_palette.pal deleted file mode 100644 index 42daceeb8..000000000 --- a/graphics/pokemon/palettes/magby_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -255 197 131 -255 123 98 -213 82 57 -148 49 32 -255 0 255 -255 255 180 -246 213 57 -213 172 0 -172 131 0 -255 0 255 -255 0 255 -197 197 197 -115 115 123 -16 16 16 diff --git a/graphics/pokemon/palettes/magby_shiny_palette.pal b/graphics/pokemon/palettes/magby_shiny_palette.pal deleted file mode 100644 index 97a19115c..000000000 --- a/graphics/pokemon/palettes/magby_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -255 246 115 -255 213 41 -230 131 49 -148 65 32 -255 0 255 -255 255 238 -255 246 148 -238 205 90 -197 123 65 -255 0 255 -255 0 255 -197 197 197 -115 115 123 -16 16 16 diff --git a/graphics/pokemon/palettes/magcargo_palette.pal b/graphics/pokemon/palettes/magcargo_palette.pal deleted file mode 100644 index 71f6dce5b..000000000 --- a/graphics/pokemon/palettes/magcargo_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -255 189 106 -255 131 74 -222 90 32 -148 32 0 -255 213 115 -255 238 156 -255 213 115 -255 197 0 -164 106 90 -172 172 172 -131 131 131 -98 98 98 -65 65 65 -16 16 16 diff --git a/graphics/pokemon/palettes/magcargo_shiny_palette.pal b/graphics/pokemon/palettes/magcargo_shiny_palette.pal deleted file mode 100644 index ff0c9dd40..000000000 --- a/graphics/pokemon/palettes/magcargo_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -238 180 238 -205 148 197 -172 98 172 -106 65 139 -255 180 238 -255 230 255 -255 180 238 -255 180 238 -139 74 106 -213 98 74 -156 82 57 -106 49 41 -74 41 16 -16 16 16 diff --git a/graphics/pokemon/palettes/magikarp_palette.pal b/graphics/pokemon/palettes/magikarp_palette.pal deleted file mode 100644 index 48f4b2d0d..000000000 --- a/graphics/pokemon/palettes/magikarp_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -90 123 197 -255 255 255 -222 222 230 -172 172 189 -115 115 139 -16 16 16 -238 255 131 -238 213 98 -131 106 16 -255 180 148 -255 123 90 -197 49 49 -255 172 115 -255 106 32 -222 74 74 -139 8 0 diff --git a/graphics/pokemon/palettes/magikarp_shiny_palette.pal b/graphics/pokemon/palettes/magikarp_shiny_palette.pal deleted file mode 100644 index d6eec780a..000000000 --- a/graphics/pokemon/palettes/magikarp_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 189 -255 255 255 -222 222 230 -172 172 189 -115 115 139 -16 16 16 -238 255 131 -222 197 90 -131 106 16 -255 255 172 -255 230 49 -246 189 82 -255 255 98 -255 222 32 -230 164 41 -156 82 41 diff --git a/graphics/pokemon/palettes/magmar_palette.pal b/graphics/pokemon/palettes/magmar_palette.pal deleted file mode 100644 index be4ac826e..000000000 --- a/graphics/pokemon/palettes/magmar_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 213 -255 255 255 -213 213 213 -106 106 106 -41 41 41 -255 0 255 -255 0 255 -255 246 98 -255 213 0 -222 164 32 -139 98 8 -255 164 65 -255 74 8 -205 41 65 -139 8 0 -255 0 255 diff --git a/graphics/pokemon/palettes/magmar_shiny_palette.pal b/graphics/pokemon/palettes/magmar_shiny_palette.pal deleted file mode 100644 index f4da957cb..000000000 --- a/graphics/pokemon/palettes/magmar_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 213 -255 255 255 -213 213 213 -106 106 106 -41 41 41 -255 0 255 -255 0 255 -255 238 255 -255 197 213 -205 156 172 -123 74 90 -255 164 172 -238 123 131 -213 82 90 -164 41 49 -255 0 255 diff --git a/graphics/pokemon/palettes/magnemite_palette.pal b/graphics/pokemon/palettes/magnemite_palette.pal deleted file mode 100644 index efcd33f3e..000000000 --- a/graphics/pokemon/palettes/magnemite_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 213 -255 255 255 -230 230 230 -255 98 65 -205 49 49 -82 205 246 -41 131 172 -180 180 180 -139 139 139 -98 82 82 -57 49 49 -213 246 222 -180 213 189 -148 189 156 -90 131 98 -16 16 16 diff --git a/graphics/pokemon/palettes/magnemite_shiny_palette.pal b/graphics/pokemon/palettes/magnemite_shiny_palette.pal deleted file mode 100644 index 50bb00b88..000000000 --- a/graphics/pokemon/palettes/magnemite_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 213 -255 255 255 -213 213 213 -82 74 74 -57 49 49 -82 74 74 -57 49 49 -180 180 180 -139 139 139 -82 74 74 -57 49 49 -238 238 189 -197 197 148 -156 156 106 -115 115 65 -16 16 16 diff --git a/graphics/pokemon/palettes/magneton_palette.pal b/graphics/pokemon/palettes/magneton_palette.pal deleted file mode 100644 index 00f6da9b2..000000000 --- a/graphics/pokemon/palettes/magneton_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 213 -255 255 255 -222 222 222 -255 98 57 -213 41 49 -82 205 246 -57 148 172 -180 180 180 -139 139 139 -82 74 74 -57 49 49 -213 246 222 -180 213 189 -148 189 156 -90 131 98 -16 16 16 diff --git a/graphics/pokemon/palettes/magneton_shiny_palette.pal b/graphics/pokemon/palettes/magneton_shiny_palette.pal deleted file mode 100644 index 1777fbd2a..000000000 --- a/graphics/pokemon/palettes/magneton_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 213 -255 255 255 -213 213 213 -106 98 98 -57 49 49 -106 98 98 -57 49 49 -180 180 180 -139 139 139 -82 74 74 -57 49 49 -255 246 230 -238 222 197 -197 180 156 -156 139 115 -16 16 16 diff --git a/graphics/pokemon/palettes/makuhita_palette.pal b/graphics/pokemon/palettes/makuhita_palette.pal deleted file mode 100644 index 7fc578bb1..000000000 --- a/graphics/pokemon/palettes/makuhita_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 197 148 -156 156 164 -131 131 148 -90 90 115 -49 57 90 -255 213 82 -238 189 49 -205 156 82 -255 90 74 -205 82 65 -156 82 65 -0 0 0 -255 230 123 -123 90 57 -0 0 0 -255 255 255 diff --git a/graphics/pokemon/palettes/makuhita_shiny_palette.pal b/graphics/pokemon/palettes/makuhita_shiny_palette.pal deleted file mode 100644 index 2f3aa75fc..000000000 --- a/graphics/pokemon/palettes/makuhita_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 197 148 -255 90 74 -205 82 65 -156 82 65 -123 49 32 -255 230 156 -255 205 98 -230 164 82 -255 90 74 -205 82 65 -156 82 65 -0 0 0 -255 246 189 -123 90 57 -0 0 0 -255 255 255 diff --git a/graphics/pokemon/palettes/manectric_palette.pal b/graphics/pokemon/palettes/manectric_palette.pal deleted file mode 100644 index 05ec20919..000000000 --- a/graphics/pokemon/palettes/manectric_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 197 197 -57 65 74 -82 90 131 -115 131 197 -139 172 238 -255 255 74 -222 230 106 -180 197 106 -139 123 65 -172 32 16 -0 0 0 -0 0 0 -0 0 0 -255 255 255 -197 197 230 -24 24 24 diff --git a/graphics/pokemon/palettes/manectric_shiny_palette.pal b/graphics/pokemon/palettes/manectric_shiny_palette.pal deleted file mode 100644 index 52285031d..000000000 --- a/graphics/pokemon/palettes/manectric_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 197 197 -41 41 57 -57 65 82 -115 106 123 -148 139 156 -255 222 131 -230 197 98 -197 156 90 -164 123 57 -82 106 197 -0 0 0 -0 0 0 -0 0 0 -255 255 255 -197 197 230 -24 24 24 diff --git a/graphics/pokemon/palettes/mankey_palette.pal b/graphics/pokemon/palettes/mankey_palette.pal deleted file mode 100644 index 0f80883fc..000000000 --- a/graphics/pokemon/palettes/mankey_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 222 222 -255 255 255 -222 222 222 -255 230 189 -238 180 139 -238 115 98 -189 74 49 -16 16 16 -255 197 131 -222 164 115 -197 123 74 -115 65 0 -255 246 205 -246 222 180 -213 189 156 -106 74 41 diff --git a/graphics/pokemon/palettes/mankey_shiny_palette.pal b/graphics/pokemon/palettes/mankey_shiny_palette.pal deleted file mode 100644 index 55703c37b..000000000 --- a/graphics/pokemon/palettes/mankey_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 222 222 -255 255 255 -222 222 222 -255 230 189 -238 180 139 -230 139 98 -189 74 49 -16 16 16 -238 197 139 -197 156 98 -156 115 57 -98 57 0 -213 230 148 -180 197 115 -139 156 74 -82 98 16 diff --git a/graphics/pokemon/palettes/mantine_palette.pal b/graphics/pokemon/palettes/mantine_palette.pal deleted file mode 100644 index 36e0777c4..000000000 --- a/graphics/pokemon/palettes/mantine_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 222 222 -255 255 255 -148 164 213 -90 106 139 -41 65 98 -24 41 74 -255 0 255 -205 230 255 -180 205 255 -156 164 197 -246 230 246 -230 205 230 -213 189 205 -164 148 164 -106 106 106 -16 16 16 diff --git a/graphics/pokemon/palettes/mantine_shiny_palette.pal b/graphics/pokemon/palettes/mantine_shiny_palette.pal deleted file mode 100644 index 5427dc275..000000000 --- a/graphics/pokemon/palettes/mantine_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 222 222 -255 255 255 -164 205 238 -123 156 238 -74 98 197 -16 49 148 -255 0 255 -205 230 255 -180 205 255 -156 189 213 -230 246 255 -205 230 255 -172 205 238 -139 164 205 -74 82 115 -16 16 16 diff --git a/graphics/pokemon/palettes/mareep_palette.pal b/graphics/pokemon/palettes/mareep_palette.pal deleted file mode 100644 index bd24bfe72..000000000 --- a/graphics/pokemon/palettes/mareep_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -255 238 131 -230 197 98 -197 148 41 -139 90 24 -74 180 230 -32 148 189 -0 74 148 -0 32 106 -255 222 0 -230 172 0 -180 123 0 -164 164 164 -82 82 82 -16 16 16 diff --git a/graphics/pokemon/palettes/mareep_shiny_palette.pal b/graphics/pokemon/palettes/mareep_shiny_palette.pal deleted file mode 100644 index 587f7493f..000000000 --- a/graphics/pokemon/palettes/mareep_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -255 213 205 -238 148 180 -222 90 131 -172 65 90 -74 180 230 -32 148 189 -0 74 148 -0 32 106 -255 222 0 -230 172 0 -180 123 0 -164 164 164 -82 82 82 -16 16 16 diff --git a/graphics/pokemon/palettes/marill_palette.pal b/graphics/pokemon/palettes/marill_palette.pal deleted file mode 100644 index 77ed6b4b6..000000000 --- a/graphics/pokemon/palettes/marill_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 222 222 -255 255 255 -222 230 222 -156 156 156 -98 98 98 -16 16 16 -156 189 255 -106 148 255 -74 115 255 -49 65 90 -57 90 189 -255 0 255 -246 131 0 -213 74 0 -148 24 0 -255 0 255 diff --git a/graphics/pokemon/palettes/marill_shiny_palette.pal b/graphics/pokemon/palettes/marill_shiny_palette.pal deleted file mode 100644 index 7bd492c65..000000000 --- a/graphics/pokemon/palettes/marill_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 222 222 -255 255 255 -222 230 222 -156 156 156 -98 98 98 -16 16 16 -156 255 156 -123 230 131 -90 205 106 -49 123 65 -49 164 74 -255 0 255 -255 115 148 -213 74 115 -164 41 57 -255 0 255 diff --git a/graphics/pokemon/palettes/marowak_palette.pal b/graphics/pokemon/palettes/marowak_palette.pal deleted file mode 100644 index 467682472..000000000 --- a/graphics/pokemon/palettes/marowak_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 205 -255 255 255 -230 230 213 -197 197 172 -139 139 106 -82 82 57 -16 16 16 -197 57 16 -255 222 180 -246 197 148 -238 164 106 -164 106 65 -222 189 106 -197 156 74 -164 115 49 -98 57 24 diff --git a/graphics/pokemon/palettes/marowak_shiny_palette.pal b/graphics/pokemon/palettes/marowak_shiny_palette.pal deleted file mode 100644 index 569ccc082..000000000 --- a/graphics/pokemon/palettes/marowak_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 205 -255 255 255 -230 230 213 -197 197 172 -139 139 106 -82 82 57 -16 16 16 -197 57 16 -255 222 180 -246 197 148 -230 148 82 -189 115 57 -213 222 139 -172 180 98 -131 139 57 -65 74 0 diff --git a/graphics/pokemon/palettes/marshtomp_palette.pal b/graphics/pokemon/palettes/marshtomp_palette.pal deleted file mode 100644 index b21cb52db..000000000 --- a/graphics/pokemon/palettes/marshtomp_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -49 164 82 -222 222 255 -197 197 238 -172 172 213 -131 131 156 -255 164 82 -246 123 57 -205 98 32 -164 123 90 -255 255 255 -172 238 238 -148 213 213 -106 189 189 -98 148 156 -90 90 115 -16 16 16 diff --git a/graphics/pokemon/palettes/marshtomp_shiny_palette.pal b/graphics/pokemon/palettes/marshtomp_shiny_palette.pal deleted file mode 100644 index f47e2751d..000000000 --- a/graphics/pokemon/palettes/marshtomp_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -49 164 82 -238 238 255 -213 213 238 -189 189 213 -148 148 156 -255 230 156 -255 180 65 -205 131 24 -164 123 90 -255 255 255 -246 205 246 -230 172 246 -205 123 230 -156 106 172 -106 49 123 -16 16 16 diff --git a/graphics/pokemon/palettes/masquerain_palette.pal b/graphics/pokemon/palettes/masquerain_palette.pal deleted file mode 100644 index 54690d35b..000000000 --- a/graphics/pokemon/palettes/masquerain_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -65 65 90 -148 164 197 -180 205 238 -197 238 238 -106 74 32 -205 139 49 -255 156 74 -222 222 205 -255 255 255 -90 16 8 -131 65 32 -172 16 8 -222 57 32 -255 255 255 -24 24 24 diff --git a/graphics/pokemon/palettes/masquerain_shiny_palette.pal b/graphics/pokemon/palettes/masquerain_shiny_palette.pal deleted file mode 100644 index 09ed3ccf5..000000000 --- a/graphics/pokemon/palettes/masquerain_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -49 123 74 -98 180 98 -148 230 148 -205 255 172 -82 74 32 -106 106 49 -164 148 115 -222 222 41 -255 255 41 -90 16 8 -131 65 32 -172 16 8 -222 57 32 -255 255 255 -24 24 24 diff --git a/graphics/pokemon/palettes/mawile_palette.pal b/graphics/pokemon/palettes/mawile_palette.pal deleted file mode 100644 index ebb40809c..000000000 --- a/graphics/pokemon/palettes/mawile_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 213 -255 255 255 -205 205 205 -213 131 172 -189 98 139 -156 74 106 -0 0 0 -255 222 139 -255 197 90 -213 156 74 -156 123 57 -0 0 0 -197 197 197 -164 164 164 -131 131 131 -82 82 82 diff --git a/graphics/pokemon/palettes/mawile_shiny_palette.pal b/graphics/pokemon/palettes/mawile_shiny_palette.pal deleted file mode 100644 index ceadfc93e..000000000 --- a/graphics/pokemon/palettes/mawile_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 213 -255 255 255 -205 205 205 -255 123 82 -222 98 49 -180 65 49 -0 0 0 -255 222 139 -255 197 90 -213 156 74 -156 123 57 -0 0 0 -238 156 197 -205 123 164 -164 90 131 -131 49 90 diff --git a/graphics/pokemon/palettes/medicham_palette.pal b/graphics/pokemon/palettes/medicham_palette.pal deleted file mode 100644 index ffc38ab86..000000000 --- a/graphics/pokemon/palettes/medicham_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -139 213 139 -255 255 255 -255 156 148 -230 123 123 -205 90 82 -123 82 74 -0 0 0 -164 139 106 -164 164 164 -131 131 131 -255 230 131 -255 205 90 -238 238 213 -213 213 197 -189 189 172 -139 139 123 diff --git a/graphics/pokemon/palettes/medicham_shiny_palette.pal b/graphics/pokemon/palettes/medicham_shiny_palette.pal deleted file mode 100644 index 9a1d82aa7..000000000 --- a/graphics/pokemon/palettes/medicham_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -139 213 139 -255 255 255 -139 189 246 -98 148 205 -74 115 172 -74 90 115 -0 0 0 -164 139 106 -164 164 164 -131 131 131 -255 230 131 -255 205 90 -238 205 164 -230 172 139 -205 148 115 -123 90 74 diff --git a/graphics/pokemon/palettes/meditite_palette.pal b/graphics/pokemon/palettes/meditite_palette.pal deleted file mode 100644 index a60729a6a..000000000 --- a/graphics/pokemon/palettes/meditite_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -139 189 139 -255 255 255 -238 230 230 -205 197 197 -148 123 123 -255 131 106 -230 90 57 -180 65 49 -180 57 90 -115 41 65 -0 0 0 -197 222 255 -139 189 246 -98 148 205 -74 115 172 -74 90 115 diff --git a/graphics/pokemon/palettes/meditite_shiny_palette.pal b/graphics/pokemon/palettes/meditite_shiny_palette.pal deleted file mode 100644 index de7c38f5a..000000000 --- a/graphics/pokemon/palettes/meditite_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -139 189 139 -255 255 255 -246 230 238 -213 189 205 -164 115 123 -255 131 106 -255 139 57 -180 65 49 -180 57 90 -115 41 65 -0 0 0 -255 131 106 -230 90 57 -180 65 49 -180 57 90 -115 41 65 diff --git a/graphics/pokemon/palettes/meganium_palette.pal b/graphics/pokemon/palettes/meganium_palette.pal deleted file mode 100644 index 6a4bca91c..000000000 --- a/graphics/pokemon/palettes/meganium_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 222 222 -255 255 255 -189 255 123 -156 230 82 -106 189 49 -32 139 16 -98 74 0 -246 164 156 -255 57 90 -205 32 57 -123 16 57 -205 205 205 -106 106 106 -16 16 16 -255 222 32 -230 172 0 diff --git a/graphics/pokemon/palettes/meganium_shiny_palette.pal b/graphics/pokemon/palettes/meganium_shiny_palette.pal deleted file mode 100644 index 0b03b419d..000000000 --- a/graphics/pokemon/palettes/meganium_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -255 255 98 -246 230 41 -213 197 16 -131 115 8 -74 57 0 -255 180 65 -255 123 16 -205 74 0 -139 74 0 -205 205 205 -106 106 106 -16 16 16 -255 222 32 -230 172 0 diff --git a/graphics/pokemon/palettes/meowth_palette.pal b/graphics/pokemon/palettes/meowth_palette.pal deleted file mode 100644 index 034249ad5..000000000 --- a/graphics/pokemon/palettes/meowth_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -255 255 148 -255 213 0 -205 164 0 -255 115 82 -213 90 57 -16 16 16 -230 230 230 -238 156 49 -205 123 16 -148 65 0 -255 255 180 -255 230 131 -230 180 65 -156 106 0 diff --git a/graphics/pokemon/palettes/meowth_shiny_palette.pal b/graphics/pokemon/palettes/meowth_shiny_palette.pal deleted file mode 100644 index 68f386ca6..000000000 --- a/graphics/pokemon/palettes/meowth_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -255 255 148 -255 213 0 -205 164 0 -255 115 82 -213 90 57 -16 16 16 -230 230 230 -255 123 139 -222 82 98 -139 41 57 -255 238 148 -255 197 106 -213 156 65 -131 74 0 diff --git a/graphics/pokemon/palettes/metagross_palette.pal b/graphics/pokemon/palettes/metagross_palette.pal deleted file mode 100644 index 265dadb67..000000000 --- a/graphics/pokemon/palettes/metagross_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -49 164 82 -205 205 205 -172 172 172 -148 139 148 -115 106 115 -222 222 222 -131 74 74 -255 106 106 -213 74 82 -131 205 255 -197 222 255 -90 164 255 -74 131 213 -57 98 180 -49 57 115 -16 16 16 diff --git a/graphics/pokemon/palettes/metagross_shiny_palette.pal b/graphics/pokemon/palettes/metagross_shiny_palette.pal deleted file mode 100644 index 4ff89d816..000000000 --- a/graphics/pokemon/palettes/metagross_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -49 164 82 -238 172 82 -205 139 49 -172 106 16 -139 74 0 -255 205 115 -131 74 74 -255 106 106 -213 74 82 -238 238 246 -255 255 255 -213 213 222 -172 172 180 -139 131 139 -98 90 98 -16 16 16 diff --git a/graphics/pokemon/palettes/metang_palette.pal b/graphics/pokemon/palettes/metang_palette.pal deleted file mode 100644 index 41b48bc08..000000000 --- a/graphics/pokemon/palettes/metang_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -49 164 82 -205 205 205 -172 172 172 -148 139 148 -115 106 115 -222 222 222 -131 74 74 -255 106 106 -213 74 82 -131 205 255 -255 255 255 -90 164 255 -74 131 213 -57 98 180 -49 57 115 -16 16 16 diff --git a/graphics/pokemon/palettes/metang_shiny_palette.pal b/graphics/pokemon/palettes/metang_shiny_palette.pal deleted file mode 100644 index 56c14cd75..000000000 --- a/graphics/pokemon/palettes/metang_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -49 164 82 -238 172 82 -205 139 49 -172 106 16 -139 74 0 -255 205 115 -156 65 65 -255 106 106 -255 74 82 -238 238 246 -255 255 255 -213 213 222 -172 172 180 -123 115 123 -82 74 82 -16 16 16 diff --git a/graphics/pokemon/palettes/metapod_palette.pal b/graphics/pokemon/palettes/metapod_palette.pal deleted file mode 100644 index 747522889..000000000 --- a/graphics/pokemon/palettes/metapod_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -189 255 115 -156 213 74 -115 172 49 -82 98 41 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -197 197 197 -16 16 16 -255 255 255 -255 255 255 -255 255 255 -255 255 255 diff --git a/graphics/pokemon/palettes/metapod_shiny_palette.pal b/graphics/pokemon/palettes/metapod_shiny_palette.pal deleted file mode 100644 index ed6240fb0..000000000 --- a/graphics/pokemon/palettes/metapod_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -255 197 139 -255 148 106 -230 98 74 -131 65 32 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -197 197 197 -16 16 16 -255 255 255 -255 255 255 -255 255 255 -255 255 255 diff --git a/graphics/pokemon/palettes/mew_palette.pal b/graphics/pokemon/palettes/mew_palette.pal deleted file mode 100644 index 2d1c73fbc..000000000 --- a/graphics/pokemon/palettes/mew_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 222 222 -255 255 255 -213 213 213 -24 90 164 -82 180 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -222 148 131 -246 213 230 -255 197 205 -255 164 148 -213 74 82 -156 57 57 -41 41 41 diff --git a/graphics/pokemon/palettes/mew_shiny_palette.pal b/graphics/pokemon/palettes/mew_shiny_palette.pal deleted file mode 100644 index 6fd333100..000000000 --- a/graphics/pokemon/palettes/mew_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 222 222 -255 255 255 -213 213 213 -24 90 164 -74 148 213 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -139 180 246 -230 246 255 -197 238 255 -164 213 246 -82 139 205 -74 115 180 -41 41 41 diff --git a/graphics/pokemon/palettes/mewtwo_palette.pal b/graphics/pokemon/palettes/mewtwo_palette.pal deleted file mode 100644 index 4afd3567e..000000000 --- a/graphics/pokemon/palettes/mewtwo_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -230 213 213 -230 230 246 -189 189 213 -139 139 180 -82 82 106 -230 180 255 -180 131 213 -139 90 172 -115 49 148 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -16 16 16 -255 255 255 diff --git a/graphics/pokemon/palettes/mewtwo_shiny_palette.pal b/graphics/pokemon/palettes/mewtwo_shiny_palette.pal deleted file mode 100644 index c65c6c83e..000000000 --- a/graphics/pokemon/palettes/mewtwo_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -230 213 213 -230 230 230 -180 180 180 -148 148 148 -74 74 57 -189 238 90 -148 205 65 -90 148 32 -65 90 41 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -16 16 16 -255 255 255 diff --git a/graphics/pokemon/palettes/mightyena_palette.pal b/graphics/pokemon/palettes/mightyena_palette.pal deleted file mode 100644 index 42cdc8fc1..000000000 --- a/graphics/pokemon/palettes/mightyena_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -57 164 164 -0 0 0 -0 0 0 -172 172 180 -148 139 156 -74 82 106 -49 49 65 -32 32 41 -222 230 238 -197 205 213 -255 197 90 -172 123 90 -222 57 57 -164 16 16 -255 255 255 -0 0 0 diff --git a/graphics/pokemon/palettes/mightyena_shiny_palette.pal b/graphics/pokemon/palettes/mightyena_shiny_palette.pal deleted file mode 100644 index 7881952af..000000000 --- a/graphics/pokemon/palettes/mightyena_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -57 164 164 -0 0 0 -0 0 0 -255 205 106 -213 172 74 -164 123 82 -131 90 57 -98 57 16 -255 238 172 -255 222 123 -255 255 255 -172 123 90 -74 98 172 -49 57 115 -255 255 255 -0 0 0 diff --git a/graphics/pokemon/palettes/milotic_palette.pal b/graphics/pokemon/palettes/milotic_palette.pal deleted file mode 100644 index df5cab01a..000000000 --- a/graphics/pokemon/palettes/milotic_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -246 246 148 -115 57 49 -164 106 82 -222 189 156 -255 213 180 -255 230 213 -148 172 197 -139 197 255 -213 98 65 -238 131 90 -180 82 65 -230 131 139 -255 164 131 -106 98 123 -246 246 238 -0 0 0 diff --git a/graphics/pokemon/palettes/milotic_shiny_palette.pal b/graphics/pokemon/palettes/milotic_shiny_palette.pal deleted file mode 100644 index 8a57b80b2..000000000 --- a/graphics/pokemon/palettes/milotic_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -246 246 148 -115 57 49 -164 106 82 -222 189 156 -255 213 180 -255 238 222 -222 197 0 -255 230 32 -148 156 205 -180 189 238 -90 98 148 -230 131 139 -255 164 131 -106 98 123 -246 246 238 -0 0 0 diff --git a/graphics/pokemon/palettes/miltank_palette.pal b/graphics/pokemon/palettes/miltank_palette.pal deleted file mode 100644 index 105c67283..000000000 --- a/graphics/pokemon/palettes/miltank_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -255 213 222 -255 172 164 -213 123 115 -139 74 74 -255 230 156 -238 197 123 -197 156 82 -148 106 32 -0 82 255 -164 164 164 -90 90 90 -49 49 49 -24 24 32 -180 57 98 diff --git a/graphics/pokemon/palettes/miltank_shiny_palette.pal b/graphics/pokemon/palettes/miltank_shiny_palette.pal deleted file mode 100644 index 7dcb6f2ee..000000000 --- a/graphics/pokemon/palettes/miltank_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -246 246 238 -230 238 238 -156 172 189 -90 98 131 -255 255 255 -222 213 197 -172 156 115 -139 106 74 -0 82 255 -213 74 49 -139 57 32 -90 24 16 -41 24 24 -238 106 115 diff --git a/graphics/pokemon/palettes/minun_palette.pal b/graphics/pokemon/palettes/minun_palette.pal deleted file mode 100644 index 3ed8a19ee..000000000 --- a/graphics/pokemon/palettes/minun_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -49 164 82 -255 246 222 -255 238 197 -238 213 131 -189 172 131 -123 115 82 -98 156 255 -90 123 230 -49 90 131 -238 82 57 -41 49 65 -98 98 115 -65 65 98 -148 148 148 -0 0 0 -255 255 255 diff --git a/graphics/pokemon/palettes/minun_shiny_palette.pal b/graphics/pokemon/palettes/minun_shiny_palette.pal deleted file mode 100644 index db9c93534..000000000 --- a/graphics/pokemon/palettes/minun_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -49 164 82 -255 246 222 -255 238 164 -255 213 106 -205 148 82 -139 82 16 -148 197 205 -82 139 131 -49 115 106 -238 82 57 -41 49 65 -98 98 115 -65 65 98 -148 148 148 -0 0 0 -255 255 255 diff --git a/graphics/pokemon/palettes/misdreavus_palette.pal b/graphics/pokemon/palettes/misdreavus_palette.pal deleted file mode 100644 index c57ab5ea7..000000000 --- a/graphics/pokemon/palettes/misdreavus_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 222 222 -16 16 16 -41 74 65 -74 106 115 -115 156 148 -148 189 180 -255 0 246 -255 246 82 -172 16 74 -238 90 148 -255 213 197 -123 32 0 -189 32 24 -255 90 41 -255 148 189 -255 255 255 diff --git a/graphics/pokemon/palettes/misdreavus_shiny_palette.pal b/graphics/pokemon/palettes/misdreavus_shiny_palette.pal deleted file mode 100644 index 8814515be..000000000 --- a/graphics/pokemon/palettes/misdreavus_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 222 222 -16 16 16 -98 82 16 -156 139 49 -213 197 98 -246 230 123 -255 0 255 -255 246 82 -82 65 32 -230 189 65 -255 230 106 -123 41 8 -172 57 24 -255 90 41 -255 197 49 -255 255 255 diff --git a/graphics/pokemon/palettes/moltres_palette.pal b/graphics/pokemon/palettes/moltres_palette.pal deleted file mode 100644 index b27f7cdac..000000000 --- a/graphics/pokemon/palettes/moltres_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 189 -255 255 255 -222 222 222 -180 0 0 -255 213 156 -255 148 74 -255 98 0 -238 0 0 -238 172 74 -205 123 32 -131 49 0 -255 246 65 -255 222 16 -255 172 0 -189 82 0 -16 16 16 diff --git a/graphics/pokemon/palettes/moltres_shiny_palette.pal b/graphics/pokemon/palettes/moltres_shiny_palette.pal deleted file mode 100644 index b289551aa..000000000 --- a/graphics/pokemon/palettes/moltres_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 189 -255 255 255 -222 222 222 -180 0 0 -255 213 156 -255 148 74 -255 98 0 -189 49 41 -255 115 90 -205 49 32 -164 16 32 -255 222 205 -255 172 164 -230 115 106 -172 57 57 -16 16 16 diff --git a/graphics/pokemon/palettes/mr_mime_palette.pal b/graphics/pokemon/palettes/mr_mime_palette.pal deleted file mode 100644 index e878e42c4..000000000 --- a/graphics/pokemon/palettes/mr_mime_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 180 -205 213 222 -131 131 172 -65 74 123 -41 49 74 -255 148 139 -238 74 57 -189 74 57 -123 41 41 -255 230 222 -255 205 197 -230 164 156 -106 65 57 -189 123 106 -16 16 16 -255 255 255 diff --git a/graphics/pokemon/palettes/mr_mime_shiny_palette.pal b/graphics/pokemon/palettes/mr_mime_shiny_palette.pal deleted file mode 100644 index 95c8d6ff3..000000000 --- a/graphics/pokemon/palettes/mr_mime_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 180 -205 213 222 -131 131 172 -65 74 123 -41 49 74 -180 230 82 -139 189 41 -98 148 0 -41 90 0 -255 238 238 -255 205 205 -230 172 172 -139 90 82 -189 123 106 -16 16 16 -255 255 255 diff --git a/graphics/pokemon/palettes/mudkip_palette.pal b/graphics/pokemon/palettes/mudkip_palette.pal deleted file mode 100644 index bc3cc1b65..000000000 --- a/graphics/pokemon/palettes/mudkip_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -49 164 82 -180 189 246 -156 172 222 -139 156 180 -123 115 123 -255 180 82 -246 156 65 -205 131 65 -164 123 90 -197 205 255 -255 255 255 -123 197 255 -90 172 230 -49 131 197 -74 74 131 -16 16 16 diff --git a/graphics/pokemon/palettes/mudkip_shiny_palette.pal b/graphics/pokemon/palettes/mudkip_shiny_palette.pal deleted file mode 100644 index ef5447b60..000000000 --- a/graphics/pokemon/palettes/mudkip_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -49 164 82 -255 238 156 -255 205 106 -230 172 90 -213 156 74 -255 180 82 -246 156 65 -205 131 65 -164 123 90 -255 246 197 -255 255 255 -222 156 238 -197 115 222 -139 82 156 -106 49 123 -16 16 16 diff --git a/graphics/pokemon/palettes/muk_palette.pal b/graphics/pokemon/palettes/muk_palette.pal deleted file mode 100644 index be7aba3a8..000000000 --- a/graphics/pokemon/palettes/muk_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 238 222 -238 222 238 -230 189 222 -197 156 180 -148 106 156 -90 49 115 -213 213 222 -172 180 189 -131 139 156 -65 74 90 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -16 16 16 -255 255 255 diff --git a/graphics/pokemon/palettes/muk_shiny_palette.pal b/graphics/pokemon/palettes/muk_shiny_palette.pal deleted file mode 100644 index 5ed5ae280..000000000 --- a/graphics/pokemon/palettes/muk_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -238 238 238 -197 246 156 -180 230 148 -139 189 106 -98 148 65 -57 106 24 -213 213 222 -172 180 189 -131 139 156 -65 74 90 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -16 16 16 -255 255 255 diff --git a/graphics/pokemon/palettes/murkrow_palette.pal b/graphics/pokemon/palettes/murkrow_palette.pal deleted file mode 100644 index 1d8b5f991..000000000 --- a/graphics/pokemon/palettes/murkrow_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 222 222 -255 172 139 -238 57 65 -172 16 32 -41 65 65 -57 82 82 -82 106 106 -139 164 164 -255 0 255 -106 74 16 -156 123 32 -213 180 41 -255 255 82 -255 0 255 -16 16 16 -255 255 255 diff --git a/graphics/pokemon/palettes/murkrow_shiny_palette.pal b/graphics/pokemon/palettes/murkrow_shiny_palette.pal deleted file mode 100644 index 4524256e4..000000000 --- a/graphics/pokemon/palettes/murkrow_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 222 222 -255 172 139 -238 57 65 -172 16 32 -98 41 90 -156 57 139 -197 90 164 -238 131 197 -255 0 255 -106 74 16 -156 123 32 -213 180 41 -255 255 82 -255 0 255 -16 16 16 -255 255 255 diff --git a/graphics/pokemon/palettes/natu_palette.pal b/graphics/pokemon/palettes/natu_palette.pal deleted file mode 100644 index c1712ee1e..000000000 --- a/graphics/pokemon/palettes/natu_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -156 230 74 -82 197 74 -74 148 65 -49 98 41 -255 222 65 -205 172 57 -131 98 32 -255 74 0 -205 57 0 -131 41 0 -205 205 205 -148 148 148 -82 82 82 -41 41 41 diff --git a/graphics/pokemon/palettes/natu_shiny_palette.pal b/graphics/pokemon/palettes/natu_shiny_palette.pal deleted file mode 100644 index 2dcf957e9..000000000 --- a/graphics/pokemon/palettes/natu_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -189 255 65 -164 230 49 -115 189 8 -65 106 0 -255 222 65 -189 148 32 -139 90 0 -255 164 57 -213 106 16 -115 74 0 -205 205 205 -148 148 148 -82 82 82 -41 41 41 diff --git a/graphics/pokemon/palettes/nidoking_palette.pal b/graphics/pokemon/palettes/nidoking_palette.pal deleted file mode 100644 index 4de13c9ca..000000000 --- a/graphics/pokemon/palettes/nidoking_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -123 180 213 -255 255 255 -230 230 213 -197 197 164 -115 115 90 -255 0 255 -255 0 255 -197 115 189 -65 197 180 -41 148 123 -0 98 74 -230 180 238 -213 123 230 -164 90 156 -106 49 123 -16 16 16 diff --git a/graphics/pokemon/palettes/nidoking_shiny_palette.pal b/graphics/pokemon/palettes/nidoking_shiny_palette.pal deleted file mode 100644 index ec9702076..000000000 --- a/graphics/pokemon/palettes/nidoking_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -180 164 115 -255 255 255 -230 230 213 -197 197 164 -115 115 90 -255 0 255 -255 0 255 -74 164 222 -189 139 172 -123 98 115 -74 49 65 -139 222 255 -98 180 255 -57 123 213 -57 82 131 -16 16 16 diff --git a/graphics/pokemon/palettes/nidoqueen_palette.pal b/graphics/pokemon/palettes/nidoqueen_palette.pal deleted file mode 100644 index 4b5ab5aa3..000000000 --- a/graphics/pokemon/palettes/nidoqueen_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 180 -255 255 255 -213 213 213 -238 230 164 -230 205 139 -189 172 90 -115 90 41 -255 156 139 -230 65 49 -172 16 0 -222 255 255 -156 213 222 -90 180 205 -106 139 172 -57 82 90 -16 16 16 diff --git a/graphics/pokemon/palettes/nidoqueen_shiny_palette.pal b/graphics/pokemon/palettes/nidoqueen_shiny_palette.pal deleted file mode 100644 index 3b08f01ac..000000000 --- a/graphics/pokemon/palettes/nidoqueen_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 180 -255 255 255 -213 213 213 -255 213 230 -238 180 205 -197 148 172 -139 98 115 -255 156 139 -238 74 57 -172 16 0 -205 205 139 -172 172 106 -139 139 74 -106 98 41 -65 57 8 -16 16 16 diff --git a/graphics/pokemon/palettes/nidoran_f_palette.pal b/graphics/pokemon/palettes/nidoran_f_palette.pal deleted file mode 100644 index 7f26f6277..000000000 --- a/graphics/pokemon/palettes/nidoran_f_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 222 189 -222 255 255 -197 230 238 -148 205 189 -90 164 148 -74 98 98 -255 82 65 -189 49 74 -65 139 230 -82 139 180 -57 106 148 -255 0 255 -255 0 255 -255 0 255 -255 255 255 -16 16 16 diff --git a/graphics/pokemon/palettes/nidoran_f_shiny_palette.pal b/graphics/pokemon/palettes/nidoran_f_shiny_palette.pal deleted file mode 100644 index 5b6e230fe..000000000 --- a/graphics/pokemon/palettes/nidoran_f_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 222 189 -246 213 255 -213 180 238 -180 148 205 -148 115 172 -98 65 123 -238 74 57 -197 32 16 -98 139 65 -65 106 32 -32 74 0 -255 0 255 -255 0 255 -255 0 255 -255 255 255 -16 16 16 diff --git a/graphics/pokemon/palettes/nidoran_m_palette.pal b/graphics/pokemon/palettes/nidoran_m_palette.pal deleted file mode 100644 index fb4e29f10..000000000 --- a/graphics/pokemon/palettes/nidoran_m_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 180 -255 255 255 -16 16 16 -255 106 82 -222 65 41 -180 24 0 -24 205 156 -0 164 115 -0 98 65 -255 0 255 -238 189 238 -230 156 213 -189 98 189 -98 65 106 -205 205 205 -131 131 131 diff --git a/graphics/pokemon/palettes/nidoran_m_shiny_palette.pal b/graphics/pokemon/palettes/nidoran_m_shiny_palette.pal deleted file mode 100644 index dfbf08893..000000000 --- a/graphics/pokemon/palettes/nidoran_m_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 180 -255 255 255 -16 16 16 -255 106 82 -222 65 41 -180 24 0 -180 131 131 -148 90 98 -106 49 57 -255 0 255 -172 222 255 -164 189 255 -115 156 213 -57 90 156 -197 197 197 -131 131 131 diff --git a/graphics/pokemon/palettes/nidorina_palette.pal b/graphics/pokemon/palettes/nidorina_palette.pal deleted file mode 100644 index 396733a06..000000000 --- a/graphics/pokemon/palettes/nidorina_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 180 -255 255 255 -213 213 213 -131 131 131 -74 131 246 -16 98 180 -24 57 115 -255 156 139 -238 74 57 -197 32 16 -222 255 255 -197 230 238 -139 197 205 -90 148 180 -57 90 98 -16 16 16 diff --git a/graphics/pokemon/palettes/nidorina_shiny_palette.pal b/graphics/pokemon/palettes/nidorina_shiny_palette.pal deleted file mode 100644 index 2d04c4b5c..000000000 --- a/graphics/pokemon/palettes/nidorina_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 180 -255 255 255 -197 197 197 -131 131 131 -115 139 90 -82 106 57 -41 65 16 -255 156 139 -238 74 57 -197 32 16 -255 213 255 -246 180 238 -213 148 205 -164 90 131 -106 49 74 -16 16 16 diff --git a/graphics/pokemon/palettes/nidorino_palette.pal b/graphics/pokemon/palettes/nidorino_palette.pal deleted file mode 100644 index f495113d5..000000000 --- a/graphics/pokemon/palettes/nidorino_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 180 -255 255 255 -255 106 82 -222 65 41 -180 24 0 -57 238 189 -74 205 164 -0 164 115 -255 0 255 -16 16 16 -230 172 238 -222 148 205 -172 123 189 -106 65 123 -197 197 197 -131 131 131 diff --git a/graphics/pokemon/palettes/nidorino_shiny_palette.pal b/graphics/pokemon/palettes/nidorino_shiny_palette.pal deleted file mode 100644 index e8ca02aeb..000000000 --- a/graphics/pokemon/palettes/nidorino_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 180 -255 255 255 -255 106 82 -222 65 41 -180 24 0 -180 131 131 -148 90 98 -106 49 57 -255 0 255 -16 16 16 -172 222 255 -164 189 255 -115 156 213 -57 90 156 -197 197 197 -131 131 131 diff --git a/graphics/pokemon/palettes/nincada_palette.pal b/graphics/pokemon/palettes/nincada_palette.pal deleted file mode 100644 index 22184bbbd..000000000 --- a/graphics/pokemon/palettes/nincada_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -131 180 115 -230 213 213 -205 164 106 -172 139 98 -156 115 82 -131 197 106 -98 164 106 -115 74 57 -246 238 230 -74 123 90 -205 189 180 -180 172 148 -156 139 123 -123 115 98 -90 82 82 -41 41 41 diff --git a/graphics/pokemon/palettes/nincada_shiny_palette.pal b/graphics/pokemon/palettes/nincada_shiny_palette.pal deleted file mode 100644 index 08e4c9575..000000000 --- a/graphics/pokemon/palettes/nincada_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -131 180 115 -255 238 164 -205 164 106 -172 139 98 -156 115 82 -156 213 74 -115 172 49 -115 74 57 -246 238 230 -82 98 41 -255 213 106 -230 172 90 -205 148 65 -180 123 41 -131 90 8 -41 41 41 diff --git a/graphics/pokemon/palettes/ninetales_palette.pal b/graphics/pokemon/palettes/ninetales_palette.pal deleted file mode 100644 index 59affc534..000000000 --- a/graphics/pokemon/palettes/ninetales_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 222 222 -255 255 255 -255 106 41 -222 32 16 -180 16 0 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -238 222 115 -205 156 98 -255 238 180 -246 230 115 -230 197 106 -131 106 41 -16 16 16 diff --git a/graphics/pokemon/palettes/ninetales_shiny_palette.pal b/graphics/pokemon/palettes/ninetales_shiny_palette.pal deleted file mode 100644 index b7007523a..000000000 --- a/graphics/pokemon/palettes/ninetales_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 222 222 -255 255 255 -255 106 41 -222 32 16 -180 16 0 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -205 180 180 -156 131 123 -246 230 222 -230 205 213 -189 164 172 -131 106 115 -16 16 16 diff --git a/graphics/pokemon/palettes/ninjask_palette.pal b/graphics/pokemon/palettes/ninjask_palette.pal deleted file mode 100644 index ec7c1daa7..000000000 --- a/graphics/pokemon/palettes/ninjask_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -131 180 115 -255 255 255 -246 213 82 -222 172 82 -139 106 65 -246 106 16 -180 57 32 -131 57 57 -222 74 16 -213 213 205 -172 180 180 -139 148 148 -123 123 123 -90 90 123 -65 65 90 -0 0 0 diff --git a/graphics/pokemon/palettes/ninjask_shiny_palette.pal b/graphics/pokemon/palettes/ninjask_shiny_palette.pal deleted file mode 100644 index bd2fbbda9..000000000 --- a/graphics/pokemon/palettes/ninjask_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -131 180 115 -255 255 255 -246 213 82 -222 172 82 -139 106 65 -246 106 16 -180 57 32 -131 57 57 -222 74 16 -255 213 106 -255 213 106 -230 172 90 -205 148 65 -180 123 41 -131 90 8 -0 0 0 diff --git a/graphics/pokemon/palettes/noctowl_palette.pal b/graphics/pokemon/palettes/noctowl_palette.pal deleted file mode 100644 index 710759236..000000000 --- a/graphics/pokemon/palettes/noctowl_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -255 255 172 -230 205 98 -205 164 65 -156 115 57 -156 123 106 -123 90 74 -98 65 49 -74 41 24 -197 49 24 -156 0 0 -197 197 197 -115 115 115 -255 238 115 -16 16 16 diff --git a/graphics/pokemon/palettes/noctowl_shiny_palette.pal b/graphics/pokemon/palettes/noctowl_shiny_palette.pal deleted file mode 100644 index 859222f59..000000000 --- a/graphics/pokemon/palettes/noctowl_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -246 255 172 -213 222 90 -189 189 57 -156 148 32 -213 164 74 -180 115 0 -123 82 0 -82 57 0 -197 49 24 -156 0 0 -197 197 197 -115 115 115 -238 246 115 -16 16 16 diff --git a/graphics/pokemon/palettes/nosepass_palette.pal b/graphics/pokemon/palettes/nosepass_palette.pal deleted file mode 100644 index ec3681288..000000000 --- a/graphics/pokemon/palettes/nosepass_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -57 57 82 -197 197 197 -98 115 123 -131 148 164 -148 189 180 -189 213 222 -139 57 24 -205 90 24 -246 139 41 -255 197 164 -255 255 255 -74 82 82 -0 0 0 -0 0 0 -24 24 24 diff --git a/graphics/pokemon/palettes/nosepass_shiny_palette.pal b/graphics/pokemon/palettes/nosepass_shiny_palette.pal deleted file mode 100644 index b17260e5a..000000000 --- a/graphics/pokemon/palettes/nosepass_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -180 172 213 -106 74 57 -197 197 197 -106 82 49 -172 139 65 -222 180 74 -246 213 115 -189 57 24 -230 90 24 -246 139 41 -255 197 164 -255 255 255 -82 57 24 -0 0 0 -0 0 0 -24 24 24 diff --git a/graphics/pokemon/palettes/numel_palette.pal b/graphics/pokemon/palettes/numel_palette.pal deleted file mode 100644 index 74388d36b..000000000 --- a/graphics/pokemon/palettes/numel_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 148 246 -106 98 32 -246 222 0 -205 180 57 -222 205 32 -246 246 164 -213 213 148 -255 238 106 -148 222 24 -180 246 49 -115 164 57 -90 115 106 -148 148 82 -230 222 238 -255 255 255 -24 24 24 diff --git a/graphics/pokemon/palettes/numel_shiny_palette.pal b/graphics/pokemon/palettes/numel_shiny_palette.pal deleted file mode 100644 index 2162c155c..000000000 --- a/graphics/pokemon/palettes/numel_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 197 180 -131 98 74 -238 197 156 -197 156 98 -205 164 123 -246 246 213 -213 213 172 -255 222 172 -90 172 230 -123 197 255 -49 131 197 -74 98 90 -131 131 65 -230 222 238 -255 255 255 -24 24 24 diff --git a/graphics/pokemon/palettes/nuzleaf_palette.pal b/graphics/pokemon/palettes/nuzleaf_palette.pal deleted file mode 100644 index fd8ec8bff..000000000 --- a/graphics/pokemon/palettes/nuzleaf_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -49 148 246 -74 57 65 -205 205 238 -255 255 255 -123 148 82 -180 205 131 -230 238 180 -156 123 156 -205 156 98 -230 197 148 -98 197 131 -148 238 131 -65 115 57 -106 82 98 -0 0 0 -24 24 24 diff --git a/graphics/pokemon/palettes/nuzleaf_shiny_palette.pal b/graphics/pokemon/palettes/nuzleaf_shiny_palette.pal deleted file mode 100644 index 1706d316b..000000000 --- a/graphics/pokemon/palettes/nuzleaf_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -180 213 156 -74 57 65 -205 205 238 -255 255 255 -180 65 49 -222 98 49 -255 123 82 -115 90 90 -156 123 123 -189 164 156 -98 197 131 -148 238 131 -65 115 57 -106 82 98 -0 0 0 -24 24 24 diff --git a/graphics/pokemon/palettes/octillery_palette.pal b/graphics/pokemon/palettes/octillery_palette.pal deleted file mode 100644 index 2a32e5f6d..000000000 --- a/graphics/pokemon/palettes/octillery_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -255 180 106 -246 106 49 -213 57 16 -131 0 0 -255 0 255 -255 255 172 -255 213 82 -213 156 41 -148 90 0 -213 213 213 -172 172 180 -123 123 131 -90 90 90 -16 16 16 diff --git a/graphics/pokemon/palettes/octillery_shiny_palette.pal b/graphics/pokemon/palettes/octillery_shiny_palette.pal deleted file mode 100644 index fcbdd5cda..000000000 --- a/graphics/pokemon/palettes/octillery_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -230 189 90 -197 156 65 -148 106 24 -82 65 49 -255 0 255 -230 255 172 -205 230 82 -164 172 41 -98 98 0 -213 213 213 -172 172 180 -123 123 131 -90 90 90 -16 16 16 diff --git a/graphics/pokemon/palettes/oddish_palette.pal b/graphics/pokemon/palettes/oddish_palette.pal deleted file mode 100644 index 7583f6592..000000000 --- a/graphics/pokemon/palettes/oddish_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 222 222 -255 255 255 -180 41 49 -230 74 65 -197 230 123 -156 213 74 -115 172 49 -74 90 32 -255 0 255 -255 0 255 -255 0 255 -148 180 197 -115 148 164 -74 106 131 -41 57 74 -16 16 16 diff --git a/graphics/pokemon/palettes/oddish_shiny_palette.pal b/graphics/pokemon/palettes/oddish_shiny_palette.pal deleted file mode 100644 index c37765a09..000000000 --- a/graphics/pokemon/palettes/oddish_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 222 222 -255 255 255 -180 41 49 -230 74 65 -197 238 16 -172 222 16 -156 189 16 -98 131 49 -255 0 255 -255 0 255 -255 0 255 -139 222 57 -115 197 32 -65 164 32 -0 74 0 -16 16 16 diff --git a/graphics/pokemon/palettes/omanyte_palette.pal b/graphics/pokemon/palettes/omanyte_palette.pal deleted file mode 100644 index 09d257a66..000000000 --- a/graphics/pokemon/palettes/omanyte_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 222 189 -255 255 255 -230 230 230 -255 0 255 -255 0 255 -98 98 98 -16 16 16 -255 255 172 -238 230 139 -205 197 106 -172 164 74 -98 90 16 -131 205 197 -98 172 164 -57 131 123 -16 90 82 diff --git a/graphics/pokemon/palettes/omanyte_shiny_palette.pal b/graphics/pokemon/palettes/omanyte_shiny_palette.pal deleted file mode 100644 index af72dc30d..000000000 --- a/graphics/pokemon/palettes/omanyte_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 222 189 -255 255 255 -230 230 230 -255 0 255 -255 0 255 -98 98 98 -16 16 16 -255 246 156 -246 222 139 -213 189 115 -172 148 82 -123 98 41 -213 156 238 -172 115 205 -131 74 172 -90 41 148 diff --git a/graphics/pokemon/palettes/omastar_palette.pal b/graphics/pokemon/palettes/omastar_palette.pal deleted file mode 100644 index f63530b4e..000000000 --- a/graphics/pokemon/palettes/omastar_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 222 197 -255 238 180 -246 213 98 -180 156 65 -16 16 16 -255 0 255 -255 0 255 -255 255 172 -238 230 139 -205 197 106 -172 164 74 -106 98 16 -156 230 222 -131 205 197 -98 172 164 -16 98 90 diff --git a/graphics/pokemon/palettes/omastar_shiny_palette.pal b/graphics/pokemon/palettes/omastar_shiny_palette.pal deleted file mode 100644 index b17facc09..000000000 --- a/graphics/pokemon/palettes/omastar_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 222 197 -255 238 180 -246 213 98 -180 156 65 -16 16 16 -255 0 255 -255 0 255 -255 255 222 -238 246 90 -213 222 74 -172 180 57 -98 106 24 -222 172 255 -189 139 238 -148 98 205 -98 49 164 diff --git a/graphics/pokemon/palettes/onix_palette.pal b/graphics/pokemon/palettes/onix_palette.pal deleted file mode 100644 index d0820bdc6..000000000 --- a/graphics/pokemon/palettes/onix_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -172 222 205 -255 255 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -238 230 230 -222 213 213 -189 180 180 -123 131 106 -82 74 74 -16 16 16 diff --git a/graphics/pokemon/palettes/onix_shiny_palette.pal b/graphics/pokemon/palettes/onix_shiny_palette.pal deleted file mode 100644 index fc100a9cf..000000000 --- a/graphics/pokemon/palettes/onix_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 222 222 -255 255 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -230 230 156 -205 205 131 -164 164 90 -123 123 49 -82 82 8 -16 16 16 diff --git a/graphics/pokemon/palettes/paras_palette.pal b/graphics/pokemon/palettes/paras_palette.pal deleted file mode 100644 index 9dc798375..000000000 --- a/graphics/pokemon/palettes/paras_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 180 -255 246 255 -230 230 230 -164 164 164 -255 246 90 -222 213 57 -255 123 123 -230 57 57 -180 8 8 -255 0 255 -255 172 98 -238 139 49 -189 131 49 -131 82 32 -255 0 255 -16 16 16 diff --git a/graphics/pokemon/palettes/paras_shiny_palette.pal b/graphics/pokemon/palettes/paras_shiny_palette.pal deleted file mode 100644 index 9174d9168..000000000 --- a/graphics/pokemon/palettes/paras_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 180 -255 246 255 -230 230 230 -164 164 164 -255 255 205 -246 238 115 -255 213 65 -238 156 49 -139 115 16 -255 0 255 -230 139 32 -197 106 32 -148 74 32 -106 41 0 -255 0 255 -16 16 16 diff --git a/graphics/pokemon/palettes/parasect_palette.pal b/graphics/pokemon/palettes/parasect_palette.pal deleted file mode 100644 index 3350e5c48..000000000 --- a/graphics/pokemon/palettes/parasect_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 180 -255 246 255 -213 213 213 -156 139 164 -255 213 82 -213 205 49 -255 106 106 -238 49 49 -197 49 57 -139 8 8 -255 0 255 -255 131 82 -222 106 49 -180 65 49 -106 24 8 -16 16 16 diff --git a/graphics/pokemon/palettes/parasect_shiny_palette.pal b/graphics/pokemon/palettes/parasect_shiny_palette.pal deleted file mode 100644 index 3574c408f..000000000 --- a/graphics/pokemon/palettes/parasect_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 180 -255 246 255 -230 230 230 -164 164 164 -255 246 90 -213 205 49 -255 213 90 -255 172 49 -213 131 8 -156 74 0 -255 0 255 -255 189 82 -213 148 41 -172 106 0 -131 65 0 -16 16 16 diff --git a/graphics/pokemon/palettes/pelipper_palette.pal b/graphics/pokemon/palettes/pelipper_palette.pal deleted file mode 100644 index c78d73c37..000000000 --- a/graphics/pokemon/palettes/pelipper_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -131 189 139 -131 90 65 -230 172 90 -255 213 98 -255 238 156 -82 82 90 -148 213 230 -57 156 180 -115 189 213 -222 222 238 -246 246 255 -139 65 90 -189 139 57 -0 0 0 -156 156 172 -32 98 123 diff --git a/graphics/pokemon/palettes/pelipper_shiny_palette.pal b/graphics/pokemon/palettes/pelipper_shiny_palette.pal deleted file mode 100644 index 41686ffed..000000000 --- a/graphics/pokemon/palettes/pelipper_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -131 189 139 -131 90 65 -238 189 90 -255 230 106 -255 238 189 -82 82 90 -156 238 123 -90 156 57 -123 205 90 -230 205 255 -246 246 255 -139 65 90 -189 139 57 -0 0 0 -156 156 172 -32 98 123 diff --git a/graphics/pokemon/palettes/persian_palette.pal b/graphics/pokemon/palettes/persian_palette.pal deleted file mode 100644 index 694d1a0f6..000000000 --- a/graphics/pokemon/palettes/persian_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 180 -255 255 255 -222 222 222 -16 16 16 -255 189 156 -246 82 65 -164 16 0 -189 164 74 -148 123 32 -115 90 16 -255 0 255 -255 0 255 -255 255 172 -255 230 131 -222 180 82 -131 82 0 diff --git a/graphics/pokemon/palettes/persian_shiny_palette.pal b/graphics/pokemon/palettes/persian_shiny_palette.pal deleted file mode 100644 index 4e4a92e32..000000000 --- a/graphics/pokemon/palettes/persian_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 180 -255 255 255 -222 222 222 -16 16 16 -255 123 82 -222 98 49 -180 65 49 -255 189 205 -230 123 180 -148 57 98 -255 0 255 -255 0 255 -255 255 238 -255 246 197 -222 213 131 -164 131 41 diff --git a/graphics/pokemon/palettes/phanpy_palette.pal b/graphics/pokemon/palettes/phanpy_palette.pal deleted file mode 100644 index 57ca810fa..000000000 --- a/graphics/pokemon/palettes/phanpy_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -172 213 238 -156 189 238 -98 148 197 -82 82 148 -255 0 255 -255 172 139 -246 106 82 -189 57 49 -131 0 0 -255 0 255 -255 0 255 -213 213 213 -139 139 139 -16 16 16 diff --git a/graphics/pokemon/palettes/phanpy_shiny_palette.pal b/graphics/pokemon/palettes/phanpy_shiny_palette.pal deleted file mode 100644 index a09fc1dcc..000000000 --- a/graphics/pokemon/palettes/phanpy_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -222 246 255 -189 230 255 -106 180 230 -65 98 180 -255 0 255 -255 164 123 -255 82 65 -197 49 57 -131 0 0 -255 0 255 -255 0 255 -213 213 213 -139 139 139 -16 16 16 diff --git a/graphics/pokemon/palettes/pichu_palette.pal b/graphics/pokemon/palettes/pichu_palette.pal deleted file mode 100644 index 50d614dae..000000000 --- a/graphics/pokemon/palettes/pichu_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -255 255 197 -255 238 131 -230 180 65 -197 139 0 -131 82 0 -255 0 255 -255 0 255 -255 115 74 -197 65 41 -115 32 8 -205 205 205 -115 115 115 -82 82 82 -16 16 16 diff --git a/graphics/pokemon/palettes/pichu_shiny_palette.pal b/graphics/pokemon/palettes/pichu_shiny_palette.pal deleted file mode 100644 index dd17d7fe0..000000000 --- a/graphics/pokemon/palettes/pichu_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -255 255 90 -255 222 41 -222 180 0 -172 131 0 -131 82 0 -255 0 255 -255 0 255 -255 82 0 -197 0 0 -115 0 0 -205 205 205 -115 115 115 -82 82 82 -16 16 16 diff --git a/graphics/pokemon/palettes/pidgeot_palette.pal b/graphics/pokemon/palettes/pidgeot_palette.pal deleted file mode 100644 index 4f7242c65..000000000 --- a/graphics/pokemon/palettes/pidgeot_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -139 222 213 -255 255 255 -213 197 213 -255 246 189 -246 238 156 -213 205 115 -255 172 115 -238 98 65 -197 65 65 -255 213 180 -255 230 49 -205 156 123 -172 123 90 -123 90 74 -98 65 49 -16 16 16 diff --git a/graphics/pokemon/palettes/pidgeot_shiny_palette.pal b/graphics/pokemon/palettes/pidgeot_shiny_palette.pal deleted file mode 100644 index 8f6518b6b..000000000 --- a/graphics/pokemon/palettes/pidgeot_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 197 172 -255 255 255 -164 164 164 -255 255 148 -255 230 115 -246 205 90 -255 205 24 -246 172 8 -238 156 0 -255 238 49 -238 205 16 -205 172 16 -180 131 0 -148 90 0 -98 41 0 -16 16 16 diff --git a/graphics/pokemon/palettes/pidgeotto_palette.pal b/graphics/pokemon/palettes/pidgeotto_palette.pal deleted file mode 100644 index 26fc191ec..000000000 --- a/graphics/pokemon/palettes/pidgeotto_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 197 172 -255 255 255 -205 189 213 -246 246 164 -246 230 106 -230 197 106 -255 172 115 -238 98 65 -197 65 65 -205 156 123 -172 123 90 -123 90 74 -90 57 41 -255 0 255 -32 32 32 -255 0 255 diff --git a/graphics/pokemon/palettes/pidgeotto_shiny_palette.pal b/graphics/pokemon/palettes/pidgeotto_shiny_palette.pal deleted file mode 100644 index 09a5b5cd3..000000000 --- a/graphics/pokemon/palettes/pidgeotto_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 197 172 -255 255 255 -164 164 164 -255 255 205 -246 238 172 -222 197 131 -255 255 65 -255 213 24 -246 172 0 -197 180 123 -164 148 90 -131 115 57 -82 65 16 -255 0 255 -32 32 32 -255 0 255 diff --git a/graphics/pokemon/palettes/pidgey_palette.pal b/graphics/pokemon/palettes/pidgey_palette.pal deleted file mode 100644 index 2d9f8708f..000000000 --- a/graphics/pokemon/palettes/pidgey_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 222 222 -255 255 255 -197 197 197 -255 246 189 -255 230 139 -222 197 98 -255 180 172 -230 123 115 -180 74 65 -205 139 98 -172 98 57 -123 90 74 -90 57 41 -255 0 255 -16 16 16 -255 0 255 diff --git a/graphics/pokemon/palettes/pidgey_shiny_palette.pal b/graphics/pokemon/palettes/pidgey_shiny_palette.pal deleted file mode 100644 index 5723ea075..000000000 --- a/graphics/pokemon/palettes/pidgey_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -189 189 189 -255 255 197 -255 255 139 -213 213 90 -255 255 32 -255 197 0 -189 148 65 -230 222 0 -189 180 0 -148 139 0 -106 98 0 -255 0 255 -16 16 16 -255 0 255 diff --git a/graphics/pokemon/palettes/pikachu_palette.pal b/graphics/pokemon/palettes/pikachu_palette.pal deleted file mode 100644 index bb60c24a9..000000000 --- a/graphics/pokemon/palettes/pikachu_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 180 -255 255 255 -255 255 123 -255 238 0 -238 189 0 -197 139 0 -131 82 0 -255 0 255 -255 0 255 -255 0 255 -255 74 74 -230 0 0 -180 0 0 -106 106 106 -16 16 16 -255 0 255 diff --git a/graphics/pokemon/palettes/pikachu_shiny_palette.pal b/graphics/pokemon/palettes/pikachu_shiny_palette.pal deleted file mode 100644 index ee905559c..000000000 --- a/graphics/pokemon/palettes/pikachu_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 180 -255 255 255 -255 230 49 -246 205 32 -238 156 0 -205 98 0 -131 82 24 -255 0 255 -255 0 255 -255 0 255 -255 49 0 -205 57 0 -180 32 0 -106 106 106 -16 16 16 -255 0 255 diff --git a/graphics/pokemon/palettes/piloswine_palette.pal b/graphics/pokemon/palettes/piloswine_palette.pal deleted file mode 100644 index 287cfcd0d..000000000 --- a/graphics/pokemon/palettes/piloswine_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -222 197 115 -197 164 82 -164 131 57 -123 98 24 -82 57 0 -255 0 255 -255 189 131 -222 139 82 -180 98 41 -255 0 255 -222 222 222 -180 180 189 -123 123 139 -16 16 16 diff --git a/graphics/pokemon/palettes/piloswine_shiny_palette.pal b/graphics/pokemon/palettes/piloswine_shiny_palette.pal deleted file mode 100644 index ff56a634a..000000000 --- a/graphics/pokemon/palettes/piloswine_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -246 238 156 -222 213 115 -189 180 90 -148 139 57 -82 57 0 -255 0 255 -255 189 131 -222 139 82 -180 98 41 -255 0 255 -222 222 222 -180 180 189 -123 123 139 -16 16 16 diff --git a/graphics/pokemon/palettes/pineco_palette.pal b/graphics/pokemon/palettes/pineco_palette.pal deleted file mode 100644 index 91acee124..000000000 --- a/graphics/pokemon/palettes/pineco_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -16 16 16 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -41 74 123 -57 115 164 -82 172 180 -131 213 213 -180 238 246 -156 164 164 -255 74 57 -255 0 255 -255 0 255 -255 255 255 diff --git a/graphics/pokemon/palettes/pineco_shiny_palette.pal b/graphics/pokemon/palettes/pineco_shiny_palette.pal deleted file mode 100644 index a474cc3e8..000000000 --- a/graphics/pokemon/palettes/pineco_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -16 16 16 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -90 65 65 -148 90 82 -172 139 82 -230 197 106 -255 230 131 -156 164 164 -255 74 57 -255 0 255 -255 0 255 -255 255 255 diff --git a/graphics/pokemon/palettes/pinsir_palette.pal b/graphics/pokemon/palettes/pinsir_palette.pal deleted file mode 100644 index d4fd44e8f..000000000 --- a/graphics/pokemon/palettes/pinsir_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 213 -255 255 255 -238 238 205 -213 213 180 -172 172 131 -90 90 74 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -172 139 115 -230 197 156 -205 164 131 -139 115 90 -90 65 41 -16 16 16 diff --git a/graphics/pokemon/palettes/pinsir_shiny_palette.pal b/graphics/pokemon/palettes/pinsir_shiny_palette.pal deleted file mode 100644 index 597e7a335..000000000 --- a/graphics/pokemon/palettes/pinsir_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 213 -255 255 255 -255 238 189 -230 197 156 -180 156 106 -98 74 57 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -82 82 148 -123 139 222 -98 106 180 -57 65 106 -32 41 82 -16 16 16 diff --git a/graphics/pokemon/palettes/plusle_palette.pal b/graphics/pokemon/palettes/plusle_palette.pal deleted file mode 100644 index e225ab56a..000000000 --- a/graphics/pokemon/palettes/plusle_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -49 164 82 -255 246 222 -255 238 197 -238 213 131 -189 172 131 -123 115 82 -238 156 115 -222 98 74 -139 90 49 -238 82 57 -41 49 65 -98 98 115 -65 65 98 -148 148 148 -0 0 0 -255 255 255 diff --git a/graphics/pokemon/palettes/plusle_shiny_palette.pal b/graphics/pokemon/palettes/plusle_shiny_palette.pal deleted file mode 100644 index f1305ea50..000000000 --- a/graphics/pokemon/palettes/plusle_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -49 164 82 -255 246 222 -255 238 164 -255 213 106 -205 148 82 -139 82 16 -238 90 49 -205 49 8 -148 16 0 -164 32 16 -41 49 65 -98 98 115 -65 65 98 -148 148 148 -0 0 0 -255 255 255 diff --git a/graphics/pokemon/palettes/politoed_palette.pal b/graphics/pokemon/palettes/politoed_palette.pal deleted file mode 100644 index 31177861d..000000000 --- a/graphics/pokemon/palettes/politoed_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -255 255 164 -255 230 82 -230 180 41 -156 98 0 -205 255 131 -156 238 49 -123 189 24 -49 123 0 -255 180 106 -230 106 49 -180 57 0 -205 205 205 -131 131 131 -16 16 16 diff --git a/graphics/pokemon/palettes/politoed_shiny_palette.pal b/graphics/pokemon/palettes/politoed_shiny_palette.pal deleted file mode 100644 index 1d25291bf..000000000 --- a/graphics/pokemon/palettes/politoed_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -255 230 238 -246 205 238 -213 164 205 -123 82 123 -156 230 255 -115 197 255 -74 148 205 -49 90 148 -255 172 90 -230 106 49 -164 57 32 -205 205 205 -131 131 131 -16 16 16 diff --git a/graphics/pokemon/palettes/poliwag_palette.pal b/graphics/pokemon/palettes/poliwag_palette.pal deleted file mode 100644 index fa7a79543..000000000 --- a/graphics/pokemon/palettes/poliwag_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -230 230 230 -255 255 255 -222 222 222 -180 172 189 -98 98 98 -255 0 255 -255 0 255 -255 0 255 -255 189 172 -255 139 123 -238 90 74 -172 180 222 -131 139 180 -82 90 148 -41 57 82 -16 16 16 diff --git a/graphics/pokemon/palettes/poliwag_shiny_palette.pal b/graphics/pokemon/palettes/poliwag_shiny_palette.pal deleted file mode 100644 index 1789edc4a..000000000 --- a/graphics/pokemon/palettes/poliwag_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -230 230 230 -255 255 255 -222 222 222 -189 189 189 -98 98 98 -255 0 255 -255 0 255 -255 0 255 -255 189 172 -255 139 123 -238 90 74 -123 205 255 -82 164 222 -41 123 180 -0 65 123 -16 16 16 diff --git a/graphics/pokemon/palettes/poliwhirl_palette.pal b/graphics/pokemon/palettes/poliwhirl_palette.pal deleted file mode 100644 index 50de4d631..000000000 --- a/graphics/pokemon/palettes/poliwhirl_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -230 230 230 -255 255 255 -222 222 222 -189 189 189 -164 164 164 -255 0 255 -255 0 255 -255 0 255 -123 123 123 -82 82 82 -255 0 255 -180 189 230 -131 148 197 -98 106 148 -32 57 98 -16 16 16 diff --git a/graphics/pokemon/palettes/poliwhirl_shiny_palette.pal b/graphics/pokemon/palettes/poliwhirl_shiny_palette.pal deleted file mode 100644 index b6aa45616..000000000 --- a/graphics/pokemon/palettes/poliwhirl_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -230 230 230 -255 255 255 -222 222 222 -189 189 189 -164 164 164 -255 0 255 -255 0 255 -255 0 255 -123 123 123 -82 82 82 -255 0 255 -106 213 255 -65 172 222 -24 131 180 -0 65 115 -16 16 16 diff --git a/graphics/pokemon/palettes/poliwrath_palette.pal b/graphics/pokemon/palettes/poliwrath_palette.pal deleted file mode 100644 index 0f2a6a88b..000000000 --- a/graphics/pokemon/palettes/poliwrath_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -230 230 230 -255 255 255 -230 230 230 -189 189 189 -164 164 164 -255 0 255 -255 0 255 -255 0 255 -123 123 123 -82 82 82 -16 16 16 -156 189 213 -131 156 172 -82 106 148 -49 49 106 -255 0 255 diff --git a/graphics/pokemon/palettes/poliwrath_shiny_palette.pal b/graphics/pokemon/palettes/poliwrath_shiny_palette.pal deleted file mode 100644 index 64aab4039..000000000 --- a/graphics/pokemon/palettes/poliwrath_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -230 230 230 -255 255 255 -222 222 222 -189 189 189 -164 164 164 -255 0 255 -255 0 255 -255 0 255 -123 123 123 -82 82 82 -16 16 16 -148 189 131 -106 148 90 -65 106 49 -24 65 8 -255 0 255 diff --git a/graphics/pokemon/palettes/ponyta_palette.pal b/graphics/pokemon/palettes/ponyta_palette.pal deleted file mode 100644 index af1b95044..000000000 --- a/graphics/pokemon/palettes/ponyta_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -230 230 230 -255 255 255 -255 246 180 -255 238 123 -238 205 106 -139 82 24 -255 0 255 -255 0 255 -255 0 255 -255 230 32 -255 172 16 -255 98 0 -213 0 0 -172 172 172 -90 90 90 -16 16 16 diff --git a/graphics/pokemon/palettes/ponyta_shiny_palette.pal b/graphics/pokemon/palettes/ponyta_shiny_palette.pal deleted file mode 100644 index eef11581b..000000000 --- a/graphics/pokemon/palettes/ponyta_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -230 230 230 -255 255 255 -255 255 222 -255 246 189 -246 213 156 -131 98 41 -255 0 255 -255 0 255 -255 0 255 -139 230 255 -98 197 255 -57 131 255 -49 90 197 -156 156 156 -90 90 90 -16 16 16 diff --git a/graphics/pokemon/palettes/poochyena_palette.pal b/graphics/pokemon/palettes/poochyena_palette.pal deleted file mode 100644 index 4c386e261..000000000 --- a/graphics/pokemon/palettes/poochyena_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -213 205 222 -255 230 131 -255 164 123 -123 90 82 -164 156 172 -131 123 139 -74 82 98 -49 49 65 -197 189 205 -255 213 90 -180 139 90 -222 74 65 -172 57 65 -255 255 255 -0 0 0 diff --git a/graphics/pokemon/palettes/poochyena_shiny_palette.pal b/graphics/pokemon/palettes/poochyena_shiny_palette.pal deleted file mode 100644 index c30dcec93..000000000 --- a/graphics/pokemon/palettes/poochyena_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 230 180 -139 197 213 -255 164 123 -123 90 82 -213 172 74 -148 106 65 -115 74 41 -82 41 0 -255 205 106 -123 172 238 -57 74 131 -222 74 65 -172 57 65 -255 255 255 -0 0 0 diff --git a/graphics/pokemon/palettes/porygon2_palette.pal b/graphics/pokemon/palettes/porygon2_palette.pal deleted file mode 100644 index a9de00549..000000000 --- a/graphics/pokemon/palettes/porygon2_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -255 213 172 -255 148 139 -222 98 82 -180 32 16 -255 0 255 -148 238 255 -106 205 255 -65 164 222 -32 123 197 -0 49 156 -213 213 213 -180 180 189 -106 106 123 -16 16 16 diff --git a/graphics/pokemon/palettes/porygon2_shiny_palette.pal b/graphics/pokemon/palettes/porygon2_shiny_palette.pal deleted file mode 100644 index 4c0d2054c..000000000 --- a/graphics/pokemon/palettes/porygon2_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -123 180 255 -65 123 246 -24 82 205 -0 49 156 -255 0 255 -255 238 238 -238 205 238 -197 164 197 -139 106 148 -98 65 115 -213 213 213 -180 180 189 -106 106 123 -16 16 16 diff --git a/graphics/pokemon/palettes/porygon_palette.pal b/graphics/pokemon/palettes/porygon_palette.pal deleted file mode 100644 index 4de40a0c3..000000000 --- a/graphics/pokemon/palettes/porygon_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 189 -115 213 255 -57 189 213 -41 156 139 -8 90 106 -255 197 164 -255 148 139 -222 98 82 -148 16 24 -222 222 230 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -41 41 41 -255 255 255 diff --git a/graphics/pokemon/palettes/porygon_shiny_palette.pal b/graphics/pokemon/palettes/porygon_shiny_palette.pal deleted file mode 100644 index 19178b1b8..000000000 --- a/graphics/pokemon/palettes/porygon_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 189 -255 238 238 -238 205 238 -205 172 205 -98 65 115 -131 189 255 -57 115 246 -24 82 205 -0 49 156 -222 222 230 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -41 41 41 -255 255 255 diff --git a/graphics/pokemon/palettes/primeape_palette.pal b/graphics/pokemon/palettes/primeape_palette.pal deleted file mode 100644 index 5515043b2..000000000 --- a/graphics/pokemon/palettes/primeape_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 222 222 -255 255 255 -222 222 222 -123 123 123 -65 65 65 -255 148 90 -189 74 49 -230 180 139 -205 139 90 -156 106 65 -90 49 0 -0 0 0 -255 255 213 -255 230 180 -230 189 139 -123 90 41 diff --git a/graphics/pokemon/palettes/primeape_shiny_palette.pal b/graphics/pokemon/palettes/primeape_shiny_palette.pal deleted file mode 100644 index 02b4f4e16..000000000 --- a/graphics/pokemon/palettes/primeape_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 222 222 -255 255 255 -222 222 222 -123 123 123 -65 65 65 -255 148 90 -189 74 49 -205 197 106 -164 156 65 -123 115 24 -82 74 8 -0 0 0 -255 222 156 -238 180 115 -197 139 74 -115 49 0 diff --git a/graphics/pokemon/palettes/psyduck_palette.pal b/graphics/pokemon/palettes/psyduck_palette.pal deleted file mode 100644 index 546dddd9f..000000000 --- a/graphics/pokemon/palettes/psyduck_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -238 238 238 -255 238 189 -246 222 139 -222 180 82 -131 90 0 -255 255 255 -222 222 222 -148 148 148 -255 0 255 -255 0 255 -255 0 255 -255 230 164 -255 213 74 -230 164 49 -148 90 16 -16 16 16 diff --git a/graphics/pokemon/palettes/psyduck_shiny_palette.pal b/graphics/pokemon/palettes/psyduck_shiny_palette.pal deleted file mode 100644 index 49b953b0d..000000000 --- a/graphics/pokemon/palettes/psyduck_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -238 238 238 -238 255 255 -213 246 246 -172 205 205 -49 82 82 -255 255 255 -222 222 222 -148 148 148 -255 0 255 -255 0 255 -255 0 255 -156 238 238 -148 213 222 -106 172 180 -24 98 106 -16 16 16 diff --git a/graphics/pokemon/palettes/pupitar_palette.pal b/graphics/pokemon/palettes/pupitar_palette.pal deleted file mode 100644 index bd8385e29..000000000 --- a/graphics/pokemon/palettes/pupitar_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -189 230 255 -139 197 238 -115 156 197 -41 90 131 -255 0 255 -180 65 0 -205 205 213 -172 172 172 -123 123 131 -255 0 255 -255 0 255 -255 0 255 -65 65 98 -16 16 16 diff --git a/graphics/pokemon/palettes/pupitar_shiny_palette.pal b/graphics/pokemon/palettes/pupitar_shiny_palette.pal deleted file mode 100644 index 58371ba01..000000000 --- a/graphics/pokemon/palettes/pupitar_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -246 189 255 -213 156 230 -156 106 189 -98 65 115 -255 0 255 -180 65 0 -205 205 213 -172 172 172 -123 123 131 -255 0 255 -255 0 255 -255 0 255 -65 65 98 -16 16 16 diff --git a/graphics/pokemon/palettes/quagsire_palette.pal b/graphics/pokemon/palettes/quagsire_palette.pal deleted file mode 100644 index 5a74c8c08..000000000 --- a/graphics/pokemon/palettes/quagsire_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -16 49 65 -32 65 98 -57 90 156 -255 0 255 -74 139 205 -98 164 230 -172 205 238 -197 238 246 -255 0 255 -255 0 255 -98 82 123 -148 98 148 -255 115 180 -255 0 255 -16 16 16 diff --git a/graphics/pokemon/palettes/quagsire_shiny_palette.pal b/graphics/pokemon/palettes/quagsire_shiny_palette.pal deleted file mode 100644 index cb5bd7922..000000000 --- a/graphics/pokemon/palettes/quagsire_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -74 57 65 -98 74 98 -90 65 90 -255 0 255 -148 98 164 -189 123 205 -230 164 230 -255 189 238 -255 0 255 -255 0 255 -98 82 123 -148 98 148 -255 115 180 -255 0 255 -16 16 16 diff --git a/graphics/pokemon/palettes/quilava_palette.pal b/graphics/pokemon/palettes/quilava_palette.pal deleted file mode 100644 index 0b37faf22..000000000 --- a/graphics/pokemon/palettes/quilava_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -98 131 189 -65 82 139 -41 65 98 -24 41 82 -255 238 164 -230 205 106 -180 156 82 -139 98 32 -255 222 0 -255 156 0 -255 98 0 -238 0 0 -180 180 180 -16 16 16 diff --git a/graphics/pokemon/palettes/quilava_shiny_palette.pal b/graphics/pokemon/palettes/quilava_shiny_palette.pal deleted file mode 100644 index e1baba127..000000000 --- a/graphics/pokemon/palettes/quilava_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -230 156 106 -189 98 65 -139 65 57 -98 57 41 -255 230 115 -222 197 82 -172 139 49 -139 82 24 -255 222 0 -255 156 0 -255 98 0 -238 0 0 -180 180 180 -16 16 16 diff --git a/graphics/pokemon/palettes/qwilfish_palette.pal b/graphics/pokemon/palettes/qwilfish_palette.pal deleted file mode 100644 index 1956e57c4..000000000 --- a/graphics/pokemon/palettes/qwilfish_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -16 16 16 -255 0 255 -255 0 255 -148 0 0 -57 74 98 -74 90 164 -90 131 197 -115 172 238 -106 82 49 -197 180 82 -230 222 115 -238 255 164 -213 82 98 -255 164 148 -255 255 255 diff --git a/graphics/pokemon/palettes/qwilfish_shiny_palette.pal b/graphics/pokemon/palettes/qwilfish_shiny_palette.pal deleted file mode 100644 index d548d12e9..000000000 --- a/graphics/pokemon/palettes/qwilfish_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -16 16 16 -255 0 255 -255 0 255 -148 0 0 -98 57 90 -148 41 131 -189 82 164 -222 115 189 -115 65 98 -189 139 180 -230 189 222 -255 222 246 -213 82 98 -255 164 148 -255 255 255 diff --git a/graphics/pokemon/palettes/raichu_palette.pal b/graphics/pokemon/palettes/raichu_palette.pal deleted file mode 100644 index f221efbab..000000000 --- a/graphics/pokemon/palettes/raichu_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 222 222 -255 255 255 -255 222 123 -255 197 32 -222 164 90 -156 106 49 -246 230 205 -255 222 41 -222 205 82 -189 131 65 -148 98 49 -139 82 49 -98 65 24 -106 106 106 -16 16 16 -205 41 41 diff --git a/graphics/pokemon/palettes/raichu_shiny_palette.pal b/graphics/pokemon/palettes/raichu_shiny_palette.pal deleted file mode 100644 index 8b6a3fe37..000000000 --- a/graphics/pokemon/palettes/raichu_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 222 222 -255 255 255 -255 189 57 -255 148 41 -230 115 24 -123 57 32 -222 222 156 -205 180 115 -164 139 74 -172 115 49 -131 82 49 -123 65 32 -115 74 8 -106 106 106 -16 16 16 -230 0 0 diff --git a/graphics/pokemon/palettes/raikou_palette.pal b/graphics/pokemon/palettes/raikou_palette.pal deleted file mode 100644 index 975f92b23..000000000 --- a/graphics/pokemon/palettes/raikou_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -255 238 148 -255 205 65 -213 156 41 -139 98 16 -213 180 255 -180 115 255 -123 41 222 -65 16 148 -197 0 0 -255 0 255 -213 213 213 -164 164 164 -106 106 106 -16 16 16 diff --git a/graphics/pokemon/palettes/raikou_shiny_palette.pal b/graphics/pokemon/palettes/raikou_shiny_palette.pal deleted file mode 100644 index 73bbcb405..000000000 --- a/graphics/pokemon/palettes/raikou_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -255 213 82 -246 156 49 -197 106 8 -82 74 16 -255 255 148 -238 230 74 -189 180 41 -106 98 0 -197 0 0 -255 0 255 -222 222 197 -180 189 164 -123 131 106 -16 16 16 diff --git a/graphics/pokemon/palettes/ralts_palette.pal b/graphics/pokemon/palettes/ralts_palette.pal deleted file mode 100644 index 1e513ae87..000000000 --- a/graphics/pokemon/palettes/ralts_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -156 164 82 -238 238 255 -197 205 222 -164 180 205 -131 148 180 -123 82 82 -115 41 57 -255 156 131 -230 82 57 -131 205 255 -255 255 255 -205 255 172 -148 230 148 -115 189 115 -49 123 74 -16 16 16 diff --git a/graphics/pokemon/palettes/ralts_shiny_palette.pal b/graphics/pokemon/palettes/ralts_shiny_palette.pal deleted file mode 100644 index b588f6eea..000000000 --- a/graphics/pokemon/palettes/ralts_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -156 164 82 -238 238 255 -213 189 222 -180 164 205 -156 131 180 -123 82 82 -115 41 57 -255 197 90 -230 131 32 -131 205 255 -197 238 246 -189 230 255 -123 197 238 -82 172 213 -32 115 123 -16 16 16 diff --git a/graphics/pokemon/palettes/rapidash_palette.pal b/graphics/pokemon/palettes/rapidash_palette.pal deleted file mode 100644 index 181b4f58a..000000000 --- a/graphics/pokemon/palettes/rapidash_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 189 -255 255 255 -255 246 180 -255 238 123 -230 205 82 -197 164 49 -148 106 24 -255 0 255 -255 0 255 -255 230 32 -255 197 16 -255 98 0 -205 0 0 -156 156 156 -90 90 90 -16 16 16 diff --git a/graphics/pokemon/palettes/rapidash_shiny_palette.pal b/graphics/pokemon/palettes/rapidash_shiny_palette.pal deleted file mode 100644 index 6297b0e4e..000000000 --- a/graphics/pokemon/palettes/rapidash_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 189 -255 255 255 -246 246 197 -238 230 189 -205 197 156 -156 148 65 -123 106 32 -255 0 255 -255 0 255 -197 205 230 -156 164 189 -115 123 148 -74 82 106 -156 156 156 -90 90 90 -16 16 16 diff --git a/graphics/pokemon/palettes/raticate_palette.pal b/graphics/pokemon/palettes/raticate_palette.pal deleted file mode 100644 index c82a9117e..000000000 --- a/graphics/pokemon/palettes/raticate_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -246 197 148 -222 131 98 -246 246 164 -238 222 139 -213 189 131 -180 156 115 -222 189 82 -197 156 65 -164 123 49 -115 74 0 -213 213 213 -180 180 180 -115 115 115 -16 16 16 diff --git a/graphics/pokemon/palettes/raticate_shiny_palette.pal b/graphics/pokemon/palettes/raticate_shiny_palette.pal deleted file mode 100644 index c15414d53..000000000 --- a/graphics/pokemon/palettes/raticate_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -255 205 156 -222 131 98 -255 255 197 -230 230 156 -205 205 131 -131 131 49 -246 156 106 -230 106 65 -189 90 49 -131 74 49 -213 213 213 -180 180 180 -115 115 115 -16 16 16 diff --git a/graphics/pokemon/palettes/rattata_palette.pal b/graphics/pokemon/palettes/rattata_palette.pal deleted file mode 100644 index a71005b50..000000000 --- a/graphics/pokemon/palettes/rattata_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -0 0 0 -230 205 115 -205 172 148 -238 74 90 -164 24 57 -213 148 213 -180 115 180 -131 98 139 -98 49 82 -222 222 197 -205 205 180 -180 180 148 -90 98 98 -16 16 16 diff --git a/graphics/pokemon/palettes/rattata_shiny_palette.pal b/graphics/pokemon/palettes/rattata_shiny_palette.pal deleted file mode 100644 index 532f2948f..000000000 --- a/graphics/pokemon/palettes/rattata_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -0 0 0 -238 156 115 -205 131 98 -189 115 180 -123 82 131 -238 222 156 -205 189 123 -172 156 90 -115 106 49 -222 222 222 -197 197 197 -164 164 164 -90 98 98 -16 16 16 diff --git a/graphics/pokemon/palettes/rayquaza_palette.pal b/graphics/pokemon/palettes/rayquaza_palette.pal deleted file mode 100644 index 651b1b9b1..000000000 --- a/graphics/pokemon/palettes/rayquaza_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -156 156 255 -57 82 57 -65 131 65 -74 131 115 -90 189 139 -148 222 180 -0 0 0 -49 82 172 -74 156 189 -246 98 98 -197 148 98 -222 213 238 -255 255 255 -222 205 0 -255 238 0 -24 24 24 diff --git a/graphics/pokemon/palettes/rayquaza_shiny_palette.pal b/graphics/pokemon/palettes/rayquaza_shiny_palette.pal deleted file mode 100644 index c294fa7ca..000000000 --- a/graphics/pokemon/palettes/rayquaza_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -156 156 255 -57 57 57 -57 57 57 -82 82 82 -123 123 123 -164 164 164 -0 0 0 -49 82 148 -74 156 172 -246 98 98 -197 148 98 -230 222 255 -255 255 255 -222 205 0 -255 238 0 -0 0 0 diff --git a/graphics/pokemon/palettes/regice_palette.pal b/graphics/pokemon/palettes/regice_palette.pal deleted file mode 100644 index 2d599438d..000000000 --- a/graphics/pokemon/palettes/regice_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 246 148 -49 57 90 -90 98 123 -156 164 222 -189 213 238 -222 255 255 -131 115 180 -255 255 255 -238 255 255 -0 0 0 -0 0 0 -0 0 0 -205 180 32 -255 255 172 -255 230 0 -24 24 24 diff --git a/graphics/pokemon/palettes/regice_shiny_palette.pal b/graphics/pokemon/palettes/regice_shiny_palette.pal deleted file mode 100644 index 0c3dc8a37..000000000 --- a/graphics/pokemon/palettes/regice_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 246 148 -0 98 197 -0 148 189 -74 213 255 -172 238 255 -230 255 255 -65 164 255 -255 255 255 -213 255 255 -0 0 0 -0 0 0 -0 0 0 -180 123 32 -255 230 98 -255 189 0 -24 24 24 diff --git a/graphics/pokemon/palettes/regirock_palette.pal b/graphics/pokemon/palettes/regirock_palette.pal deleted file mode 100644 index f577420cb..000000000 --- a/graphics/pokemon/palettes/regirock_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 197 148 -82 74 41 -148 139 115 -205 197 172 -230 222 172 -238 230 222 -180 172 148 -139 90 57 -189 131 57 -238 131 57 -238 172 106 -0 0 0 -0 0 0 -180 65 0 -238 115 57 -24 24 24 diff --git a/graphics/pokemon/palettes/regirock_shiny_palette.pal b/graphics/pokemon/palettes/regirock_shiny_palette.pal deleted file mode 100644 index b997589cc..000000000 --- a/graphics/pokemon/palettes/regirock_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 197 148 -98 24 0 -148 74 32 -180 106 65 -205 139 98 -238 164 131 -131 65 24 -139 90 57 -189 131 57 -238 131 57 -238 172 106 -0 0 0 -0 0 0 -180 65 0 -238 115 57 -24 24 24 diff --git a/graphics/pokemon/palettes/registeel_palette.pal b/graphics/pokemon/palettes/registeel_palette.pal deleted file mode 100644 index 9d7d328f4..000000000 --- a/graphics/pokemon/palettes/registeel_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 197 98 -90 82 82 -131 131 123 -189 189 180 -222 213 230 -238 238 238 -115 115 90 -139 131 106 -172 172 123 -0 0 0 -0 0 0 -255 255 255 -213 106 131 -255 180 164 -246 90 172 -24 24 24 diff --git a/graphics/pokemon/palettes/registeel_shiny_palette.pal b/graphics/pokemon/palettes/registeel_shiny_palette.pal deleted file mode 100644 index e0489363a..000000000 --- a/graphics/pokemon/palettes/registeel_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 197 98 -90 82 82 -90 123 106 -115 180 164 -172 222 197 -213 238 238 -115 115 90 -139 131 106 -172 172 123 -0 0 0 -0 0 0 -255 255 255 -180 65 49 -255 123 82 -222 98 49 -24 24 24 diff --git a/graphics/pokemon/palettes/relicanth_palette.pal b/graphics/pokemon/palettes/relicanth_palette.pal deleted file mode 100644 index 2a95fb3cb..000000000 --- a/graphics/pokemon/palettes/relicanth_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 246 255 -246 222 180 -213 189 148 -180 148 106 -139 115 74 -106 82 65 -189 164 164 -0 0 0 -164 139 131 -139 115 106 -123 98 90 -82 65 57 -246 90 65 -205 65 49 -255 246 222 -139 123 82 diff --git a/graphics/pokemon/palettes/relicanth_shiny_palette.pal b/graphics/pokemon/palettes/relicanth_shiny_palette.pal deleted file mode 100644 index 3c3780470..000000000 --- a/graphics/pokemon/palettes/relicanth_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 246 255 -246 222 180 -213 189 148 -180 148 106 -139 115 74 -106 82 65 -172 230 246 -0 0 0 -139 197 213 -106 164 180 -74 131 148 -24 82 98 -246 90 65 -205 65 49 -255 246 222 -139 123 82 diff --git a/graphics/pokemon/palettes/remoraid_palette.pal b/graphics/pokemon/palettes/remoraid_palette.pal deleted file mode 100644 index 4d8f3326c..000000000 --- a/graphics/pokemon/palettes/remoraid_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -213 246 246 -180 222 213 -139 172 189 -98 139 164 -57 74 123 -139 0 0 -255 0 255 -255 0 255 -255 0 255 -213 213 213 -172 172 180 -123 123 131 -90 90 90 -41 41 57 diff --git a/graphics/pokemon/palettes/remoraid_shiny_palette.pal b/graphics/pokemon/palettes/remoraid_shiny_palette.pal deleted file mode 100644 index b9fd05014..000000000 --- a/graphics/pokemon/palettes/remoraid_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -246 213 246 -222 180 230 -172 123 180 -131 82 139 -98 57 106 -139 0 0 -255 0 255 -255 0 255 -255 0 255 -213 213 213 -172 172 180 -123 123 131 -90 90 90 -41 41 57 diff --git a/graphics/pokemon/palettes/rhydon_palette.pal b/graphics/pokemon/palettes/rhydon_palette.pal deleted file mode 100644 index b4cf375f4..000000000 --- a/graphics/pokemon/palettes/rhydon_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -164 213 213 -255 255 255 -255 238 197 -230 213 172 -180 164 115 -123 106 57 -230 82 57 -164 49 16 -115 32 16 -255 0 255 -255 0 255 -222 222 213 -197 197 189 -139 139 148 -90 90 98 -16 16 16 diff --git a/graphics/pokemon/palettes/rhydon_shiny_palette.pal b/graphics/pokemon/palettes/rhydon_shiny_palette.pal deleted file mode 100644 index b7076b1ca..000000000 --- a/graphics/pokemon/palettes/rhydon_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 213 -255 255 255 -255 238 197 -230 213 172 -180 164 115 -123 106 57 -230 82 57 -164 49 16 -115 32 16 -255 0 255 -255 0 255 -255 238 197 -230 213 180 -189 172 139 -131 115 82 -16 16 16 diff --git a/graphics/pokemon/palettes/rhyhorn_palette.pal b/graphics/pokemon/palettes/rhyhorn_palette.pal deleted file mode 100644 index bf720235e..000000000 --- a/graphics/pokemon/palettes/rhyhorn_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 189 -230 230 238 -189 189 205 -131 131 172 -90 90 123 -65 65 90 -172 57 41 -90 8 0 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -16 16 16 -255 255 255 diff --git a/graphics/pokemon/palettes/rhyhorn_shiny_palette.pal b/graphics/pokemon/palettes/rhyhorn_shiny_palette.pal deleted file mode 100644 index 64280c939..000000000 --- a/graphics/pokemon/palettes/rhyhorn_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 189 -238 180 156 -197 139 115 -156 98 74 -115 57 32 -74 16 0 -172 57 41 -90 8 0 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -16 16 16 -255 255 255 diff --git a/graphics/pokemon/palettes/roselia_palette.pal b/graphics/pokemon/palettes/roselia_palette.pal deleted file mode 100644 index a96e5081c..000000000 --- a/graphics/pokemon/palettes/roselia_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 197 148 -0 0 0 -180 238 115 -246 213 74 -205 222 213 -65 98 49 -131 156 164 -98 148 74 -123 205 98 -172 197 197 -164 49 74 -246 90 131 -255 164 189 -41 90 148 -82 148 213 -98 180 255 diff --git a/graphics/pokemon/palettes/roselia_shiny_palette.pal b/graphics/pokemon/palettes/roselia_shiny_palette.pal deleted file mode 100644 index eebb104af..000000000 --- a/graphics/pokemon/palettes/roselia_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 197 148 -0 0 0 -189 255 115 -246 213 74 -255 238 172 -82 98 41 -213 172 90 -115 172 49 -156 213 74 -255 213 106 -123 65 139 -180 98 205 -205 139 222 -41 49 65 -115 106 123 -148 139 156 diff --git a/graphics/pokemon/palettes/sableye_palette.pal b/graphics/pokemon/palettes/sableye_palette.pal deleted file mode 100644 index 89a2bed0a..000000000 --- a/graphics/pokemon/palettes/sableye_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 205 205 -74 49 74 -139 98 139 -197 123 189 -213 148 213 -148 131 213 -197 222 255 -255 255 255 -197 41 32 -106 74 115 -172 180 205 -82 205 65 -32 222 255 -164 115 164 -0 0 0 -255 82 74 diff --git a/graphics/pokemon/palettes/sableye_shiny_palette.pal b/graphics/pokemon/palettes/sableye_shiny_palette.pal deleted file mode 100644 index 8b03a2efe..000000000 --- a/graphics/pokemon/palettes/sableye_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 205 205 -115 82 65 -131 82 57 -213 164 123 -246 197 164 -230 148 90 -255 230 156 -255 255 255 -82 213 74 -106 74 57 -230 164 90 -32 222 255 -255 230 106 -180 123 90 -0 0 0 -148 255 148 diff --git a/graphics/pokemon/palettes/salamence_palette.pal b/graphics/pokemon/palettes/salamence_palette.pal deleted file mode 100644 index 8ee78691f..000000000 --- a/graphics/pokemon/palettes/salamence_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -172 222 98 -57 65 98 -82 98 148 -123 123 222 -172 172 255 -123 74 49 -189 115 74 -222 123 82 -255 148 98 -131 148 148 -172 164 189 -222 213 238 -255 255 255 -0 0 0 -255 255 41 -24 24 24 diff --git a/graphics/pokemon/palettes/salamence_shiny_palette.pal b/graphics/pokemon/palettes/salamence_shiny_palette.pal deleted file mode 100644 index bf2da08f2..000000000 --- a/graphics/pokemon/palettes/salamence_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -172 222 98 -16 98 32 -98 156 106 -106 197 106 -148 230 148 -123 74 49 -189 115 74 -222 123 82 -255 148 98 -131 148 148 -172 164 189 -222 213 238 -255 255 255 -0 0 0 -255 255 41 -24 24 24 diff --git a/graphics/pokemon/palettes/sandshrew_palette.pal b/graphics/pokemon/palettes/sandshrew_palette.pal deleted file mode 100644 index 952ff6231..000000000 --- a/graphics/pokemon/palettes/sandshrew_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 180 -255 255 255 -255 0 255 -230 222 16 -205 180 0 -172 131 16 -115 74 24 -131 98 16 -255 0 255 -255 0 255 -205 189 180 -230 213 197 -238 238 222 -131 131 131 -82 82 82 -16 16 16 diff --git a/graphics/pokemon/palettes/sandshrew_shiny_palette.pal b/graphics/pokemon/palettes/sandshrew_shiny_palette.pal deleted file mode 100644 index 4f4ac7be6..000000000 --- a/graphics/pokemon/palettes/sandshrew_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 180 -255 255 255 -255 0 255 -213 222 98 -172 197 82 -131 156 41 -65 90 0 -98 115 41 -255 0 255 -255 0 255 -180 180 164 -205 205 189 -238 238 222 -139 139 139 -82 82 82 -16 16 16 diff --git a/graphics/pokemon/palettes/sandslash_palette.pal b/graphics/pokemon/palettes/sandslash_palette.pal deleted file mode 100644 index 384676a30..000000000 --- a/graphics/pokemon/palettes/sandslash_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 180 -246 230 213 -238 222 106 -222 197 32 -197 164 57 -131 98 0 -255 255 255 -222 213 180 -139 139 139 -82 82 82 -205 164 74 -172 131 49 -139 98 24 -90 65 16 -16 16 16 -255 0 255 diff --git a/graphics/pokemon/palettes/sandslash_shiny_palette.pal b/graphics/pokemon/palettes/sandslash_shiny_palette.pal deleted file mode 100644 index 092846e12..000000000 --- a/graphics/pokemon/palettes/sandslash_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 180 -246 238 156 -222 197 115 -189 164 74 -164 148 65 -98 82 0 -238 238 222 -205 205 189 -139 139 139 -74 74 74 -246 98 98 -213 90 74 -180 74 49 -106 82 32 -65 49 32 -255 0 255 diff --git a/graphics/pokemon/palettes/sceptile_palette.pal b/graphics/pokemon/palettes/sceptile_palette.pal deleted file mode 100644 index 31f822b0c..000000000 --- a/graphics/pokemon/palettes/sceptile_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -123 106 156 -255 230 106 -255 197 82 -197 131 57 -255 238 180 -255 106 82 -213 82 57 -164 74 49 -57 98 32 -123 98 90 -255 255 255 -189 255 115 -156 213 74 -115 172 49 -90 123 32 -16 16 16 diff --git a/graphics/pokemon/palettes/sceptile_shiny_palette.pal b/graphics/pokemon/palettes/sceptile_shiny_palette.pal deleted file mode 100644 index 9a6882bf4..000000000 --- a/graphics/pokemon/palettes/sceptile_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -123 106 156 -255 106 82 -213 82 57 -164 74 49 -255 238 180 -255 230 106 -255 180 82 -197 131 57 -57 98 32 -123 98 90 -255 255 255 -189 246 255 -164 222 230 -90 180 164 -82 139 131 -16 16 16 diff --git a/graphics/pokemon/palettes/scizor_palette.pal b/graphics/pokemon/palettes/scizor_palette.pal deleted file mode 100644 index a9310feae..000000000 --- a/graphics/pokemon/palettes/scizor_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -255 197 115 -255 98 16 -205 57 0 -123 32 0 -255 0 255 -255 205 16 -255 139 41 -189 139 41 -255 0 255 -255 0 255 -197 197 205 -148 148 156 -90 90 106 -16 16 16 diff --git a/graphics/pokemon/palettes/scizor_shiny_palette.pal b/graphics/pokemon/palettes/scizor_shiny_palette.pal deleted file mode 100644 index 93e8e479b..000000000 --- a/graphics/pokemon/palettes/scizor_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -222 230 98 -180 189 65 -106 115 65 -74 82 16 -255 0 255 -255 205 16 -255 139 41 -189 139 41 -255 0 255 -255 0 255 -197 197 205 -98 197 82 -49 123 32 -16 16 16 diff --git a/graphics/pokemon/palettes/scyther_palette.pal b/graphics/pokemon/palettes/scyther_palette.pal deleted file mode 100644 index 1367f8a23..000000000 --- a/graphics/pokemon/palettes/scyther_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 197 -255 255 255 -222 222 222 -189 189 189 -115 115 115 -246 230 123 -205 197 90 -255 255 172 -246 230 123 -205 57 57 -156 139 49 -189 255 115 -156 222 74 -115 172 65 -65 98 32 -16 16 16 diff --git a/graphics/pokemon/palettes/scyther_shiny_palette.pal b/graphics/pokemon/palettes/scyther_shiny_palette.pal deleted file mode 100644 index fd0a63924..000000000 --- a/graphics/pokemon/palettes/scyther_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 197 -255 255 255 -222 222 222 -189 189 189 -115 115 115 -255 123 90 -205 123 90 -255 255 189 -238 238 148 -205 57 57 -156 139 49 -139 222 49 -98 189 49 -65 148 8 -57 90 8 -16 16 16 diff --git a/graphics/pokemon/palettes/seadra_palette.pal b/graphics/pokemon/palettes/seadra_palette.pal deleted file mode 100644 index 3e4751707..000000000 --- a/graphics/pokemon/palettes/seadra_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 189 -213 238 197 -164 222 230 -131 189 205 -106 131 156 -74 106 131 -32 65 90 -255 255 172 -222 197 82 -148 123 65 -106 82 41 -255 0 255 -222 222 222 -156 156 156 -0 0 0 -255 255 255 diff --git a/graphics/pokemon/palettes/seadra_shiny_palette.pal b/graphics/pokemon/palettes/seadra_shiny_palette.pal deleted file mode 100644 index ae99ccc22..000000000 --- a/graphics/pokemon/palettes/seadra_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 189 -106 180 172 -106 164 205 -65 115 164 -57 82 123 -49 41 65 -0 0 82 -255 213 148 -238 180 131 -172 82 123 -106 82 41 -255 0 255 -222 222 222 -156 156 156 -0 0 0 -255 255 255 diff --git a/graphics/pokemon/palettes/seaking_palette.pal b/graphics/pokemon/palettes/seaking_palette.pal deleted file mode 100644 index 1ffe314f4..000000000 --- a/graphics/pokemon/palettes/seaking_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 189 -213 213 222 -172 180 189 -131 139 156 -90 90 98 -255 197 205 -246 123 90 -164 57 65 -255 0 255 -255 164 123 -246 123 90 -222 65 32 -164 49 32 -82 82 82 -16 16 16 -255 255 255 diff --git a/graphics/pokemon/palettes/seaking_shiny_palette.pal b/graphics/pokemon/palettes/seaking_shiny_palette.pal deleted file mode 100644 index 2a4acb23d..000000000 --- a/graphics/pokemon/palettes/seaking_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 189 -230 246 164 -213 246 139 -131 164 57 -90 115 8 -255 197 205 -246 123 90 -164 57 65 -255 0 255 -255 246 131 -255 205 90 -213 164 49 -156 106 0 -82 82 82 -16 16 16 -255 255 255 diff --git a/graphics/pokemon/palettes/sealeo_palette.pal b/graphics/pokemon/palettes/sealeo_palette.pal deleted file mode 100644 index 6644440c0..000000000 --- a/graphics/pokemon/palettes/sealeo_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -82 139 82 -57 82 115 -65 106 164 -106 148 213 -139 172 255 -0 0 0 -156 156 180 -189 189 213 -222 222 255 -189 156 123 -213 180 148 -238 205 172 -90 123 148 -189 205 255 -255 230 189 -255 255 255 diff --git a/graphics/pokemon/palettes/sealeo_shiny_palette.pal b/graphics/pokemon/palettes/sealeo_shiny_palette.pal deleted file mode 100644 index df4474877..000000000 --- a/graphics/pokemon/palettes/sealeo_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -82 139 82 -90 49 139 -180 98 205 -213 148 238 -246 197 255 -0 0 0 -156 156 180 -189 189 213 -222 222 255 -189 148 82 -230 189 106 -255 222 164 -156 74 180 -255 238 255 -255 246 197 -255 255 255 diff --git a/graphics/pokemon/palettes/seedot_palette.pal b/graphics/pokemon/palettes/seedot_palette.pal deleted file mode 100644 index 0fc33bf9b..000000000 --- a/graphics/pokemon/palettes/seedot_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -82 82 32 -131 123 115 -255 255 255 -156 90 49 -213 148 49 -213 180 82 -123 148 82 -180 205 131 -230 238 180 -246 197 98 -255 238 172 -0 0 0 -0 0 0 -0 0 0 -246 57 0 diff --git a/graphics/pokemon/palettes/seedot_shiny_palette.pal b/graphics/pokemon/palettes/seedot_shiny_palette.pal deleted file mode 100644 index 0cd33d0c1..000000000 --- a/graphics/pokemon/palettes/seedot_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -82 82 32 -131 123 115 -255 255 255 -197 57 41 -230 82 32 -255 139 82 -148 139 139 -180 172 172 -222 213 213 -246 197 98 -255 238 172 -0 0 0 -0 0 0 -0 0 0 -246 57 0 diff --git a/graphics/pokemon/palettes/seel_palette.pal b/graphics/pokemon/palettes/seel_palette.pal deleted file mode 100644 index 2a1a75900..000000000 --- a/graphics/pokemon/palettes/seel_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -123 213 148 -230 230 246 -197 197 230 -156 164 189 -82 82 106 -255 230 180 -205 189 139 -131 106 65 -255 123 106 -197 115 123 -148 65 24 -255 0 255 -255 0 255 -255 0 255 -16 16 16 -255 255 255 diff --git a/graphics/pokemon/palettes/seel_shiny_palette.pal b/graphics/pokemon/palettes/seel_shiny_palette.pal deleted file mode 100644 index 952eec318..000000000 --- a/graphics/pokemon/palettes/seel_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 180 -238 238 213 -213 205 189 -180 172 156 -139 131 115 -255 255 197 -213 180 131 -115 106 49 -255 156 123 -238 115 82 -148 57 41 -255 0 255 -255 0 255 -255 0 255 -16 16 16 -255 255 255 diff --git a/graphics/pokemon/palettes/sentret_palette.pal b/graphics/pokemon/palettes/sentret_palette.pal deleted file mode 100644 index 5591d8f1b..000000000 --- a/graphics/pokemon/palettes/sentret_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 222 222 -255 255 255 -238 222 139 -230 197 82 -205 164 65 -180 139 57 -148 106 32 -115 65 16 -90 41 8 -57 8 0 -222 65 24 -180 32 16 -255 131 115 -115 115 115 -65 65 65 -16 16 16 diff --git a/graphics/pokemon/palettes/sentret_shiny_palette.pal b/graphics/pokemon/palettes/sentret_shiny_palette.pal deleted file mode 100644 index 05c9da6f7..000000000 --- a/graphics/pokemon/palettes/sentret_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -255 246 172 -238 222 123 -205 164 65 -205 172 74 -197 82 115 -148 41 82 -82 16 65 -57 8 0 -222 65 24 -180 32 16 -255 131 115 -115 115 115 -65 65 65 -16 16 16 diff --git a/graphics/pokemon/palettes/seviper_palette.pal b/graphics/pokemon/palettes/seviper_palette.pal deleted file mode 100644 index bdcc5e761..000000000 --- a/graphics/pokemon/palettes/seviper_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 197 197 -255 255 255 -57 49 49 -255 230 90 -222 189 65 -139 41 180 -255 189 172 -238 90 82 -205 65 57 -131 123 65 -41 32 32 -139 123 123 -82 74 74 -0 0 0 -164 49 255 -90 49 65 diff --git a/graphics/pokemon/palettes/seviper_shiny_palette.pal b/graphics/pokemon/palettes/seviper_shiny_palette.pal deleted file mode 100644 index 7296a030a..000000000 --- a/graphics/pokemon/palettes/seviper_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 197 197 -255 255 255 -57 49 49 -205 255 115 -172 222 82 -180 49 106 -255 189 172 -90 131 180 -57 90 139 -82 123 16 -41 32 32 -139 123 123 -82 74 74 -0 0 0 -213 82 139 -90 49 65 diff --git a/graphics/pokemon/palettes/sharpedo_palette.pal b/graphics/pokemon/palettes/sharpedo_palette.pal deleted file mode 100644 index 3db40a601..000000000 --- a/graphics/pokemon/palettes/sharpedo_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -156 255 156 -57 65 74 -65 98 123 -65 139 148 -148 189 189 -213 123 131 -222 189 65 -255 222 98 -172 156 180 -222 205 246 -238 230 255 -156 74 90 -238 49 24 -255 255 255 -0 0 0 -106 57 74 diff --git a/graphics/pokemon/palettes/sharpedo_shiny_palette.pal b/graphics/pokemon/palettes/sharpedo_shiny_palette.pal deleted file mode 100644 index 11b98e3bd..000000000 --- a/graphics/pokemon/palettes/sharpedo_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -156 255 156 -98 0 82 -131 0 115 -164 16 148 -197 49 180 -213 123 131 -222 189 65 -255 222 98 -172 156 180 -222 205 246 -238 230 255 -156 74 90 -238 49 24 -255 255 255 -0 0 0 -106 57 74 diff --git a/graphics/pokemon/palettes/shedinja_palette.pal b/graphics/pokemon/palettes/shedinja_palette.pal deleted file mode 100644 index 1e1eefe6b..000000000 --- a/graphics/pokemon/palettes/shedinja_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -49 164 82 -213 197 65 -180 164 57 -164 131 49 -139 115 41 -82 74 41 -0 0 0 -0 0 0 -0 0 0 -115 90 41 -246 230 98 -255 255 255 -222 222 222 -189 189 189 -123 123 123 -16 16 16 diff --git a/graphics/pokemon/palettes/shedinja_shiny_palette.pal b/graphics/pokemon/palettes/shedinja_shiny_palette.pal deleted file mode 100644 index 7e7ae66bd..000000000 --- a/graphics/pokemon/palettes/shedinja_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -49 164 82 -255 230 189 -246 197 156 -213 164 123 -180 131 90 -139 106 74 -0 0 0 -255 0 255 -255 0 255 -123 82 57 -255 246 230 -255 255 255 -238 222 238 -213 180 197 -131 106 131 -16 16 16 diff --git a/graphics/pokemon/palettes/shelgon_palette.pal b/graphics/pokemon/palettes/shelgon_palette.pal deleted file mode 100644 index a5abe063e..000000000 --- a/graphics/pokemon/palettes/shelgon_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 246 148 -74 65 57 -98 90 74 -123 123 98 -0 0 0 -106 57 57 -189 90 32 -246 115 74 -82 82 115 -148 139 180 -205 205 205 -238 238 205 -246 246 0 -197 197 0 -180 180 189 -24 24 24 diff --git a/graphics/pokemon/palettes/shelgon_shiny_palette.pal b/graphics/pokemon/palettes/shelgon_shiny_palette.pal deleted file mode 100644 index 3d1e1a361..000000000 --- a/graphics/pokemon/palettes/shelgon_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 246 148 -57 49 41 -82 74 57 -106 106 82 -0 0 0 -106 57 57 -172 32 0 -246 82 32 -0 115 65 -74 148 57 -189 205 180 -222 238 205 -246 246 0 -197 197 0 -156 180 164 -24 24 24 diff --git a/graphics/pokemon/palettes/shellder_palette.pal b/graphics/pokemon/palettes/shellder_palette.pal deleted file mode 100644 index 681ebf8d1..000000000 --- a/graphics/pokemon/palettes/shellder_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 180 -222 205 238 -213 180 230 -180 139 189 -115 123 139 -90 57 98 -255 98 41 -197 65 74 -123 32 16 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -106 106 106 -16 16 16 -255 255 255 diff --git a/graphics/pokemon/palettes/shellder_shiny_palette.pal b/graphics/pokemon/palettes/shellder_shiny_palette.pal deleted file mode 100644 index e01229644..000000000 --- a/graphics/pokemon/palettes/shellder_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 180 -213 213 238 -255 180 65 -255 139 24 -213 98 0 -148 32 0 -255 98 41 -197 65 74 -123 32 16 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -106 106 106 -16 16 16 -255 255 255 diff --git a/graphics/pokemon/palettes/shiftry_palette.pal b/graphics/pokemon/palettes/shiftry_palette.pal deleted file mode 100644 index 3a91e677c..000000000 --- a/graphics/pokemon/palettes/shiftry_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -49 148 197 -82 49 49 -131 131 115 -255 255 255 -115 65 74 -156 90 98 -222 123 82 -246 197 131 -230 222 255 -189 180 197 -0 0 0 -74 123 41 -98 172 98 -131 213 98 -255 213 98 -0 0 0 diff --git a/graphics/pokemon/palettes/shiftry_shiny_palette.pal b/graphics/pokemon/palettes/shiftry_shiny_palette.pal deleted file mode 100644 index 35aca99d4..000000000 --- a/graphics/pokemon/palettes/shiftry_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -49 148 197 -82 49 49 -172 106 82 -255 255 255 -115 16 0 -180 49 32 -222 98 49 -255 139 98 -255 238 156 -222 172 74 -0 0 0 -90 131 49 -139 205 82 -189 255 115 -255 156 82 -0 0 0 diff --git a/graphics/pokemon/palettes/shroomish_palette.pal b/graphics/pokemon/palettes/shroomish_palette.pal deleted file mode 100644 index 97f25bdf6..000000000 --- a/graphics/pokemon/palettes/shroomish_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 148 139 -98 74 49 -148 106 49 -213 164 90 -238 197 139 -255 230 172 -255 255 213 -90 131 74 -123 172 106 -139 197 131 -164 213 148 -65 82 49 -172 197 131 -0 0 0 -0 0 0 -255 255 255 diff --git a/graphics/pokemon/palettes/shroomish_shiny_palette.pal b/graphics/pokemon/palettes/shroomish_shiny_palette.pal deleted file mode 100644 index a0bd12821..000000000 --- a/graphics/pokemon/palettes/shroomish_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 148 139 -123 98 74 -172 123 65 -222 189 123 -246 213 164 -255 238 189 -255 255 230 -180 65 49 -222 98 49 -255 115 74 -255 189 106 -164 49 32 -255 172 98 -0 0 0 -0 0 0 -255 255 255 diff --git a/graphics/pokemon/palettes/shuckle_palette.pal b/graphics/pokemon/palettes/shuckle_palette.pal deleted file mode 100644 index ea40c0be4..000000000 --- a/graphics/pokemon/palettes/shuckle_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -16 16 16 -148 131 115 -115 82 16 -189 139 41 -238 197 74 -255 255 90 -255 0 255 -230 156 131 -246 205 180 -255 0 255 -131 32 0 -197 57 16 -246 115 57 -255 180 123 -255 255 255 diff --git a/graphics/pokemon/palettes/shuckle_shiny_palette.pal b/graphics/pokemon/palettes/shuckle_shiny_palette.pal deleted file mode 100644 index 30126f57c..000000000 --- a/graphics/pokemon/palettes/shuckle_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -16 16 16 -148 131 115 -115 82 16 -189 139 41 -238 197 74 -255 255 90 -255 0 255 -164 189 189 -189 213 213 -255 0 255 -24 65 115 -49 98 189 -65 156 238 -139 205 246 -255 255 255 diff --git a/graphics/pokemon/palettes/shuppet_palette.pal b/graphics/pokemon/palettes/shuppet_palette.pal deleted file mode 100644 index 7dafb6a01..000000000 --- a/graphics/pokemon/palettes/shuppet_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 197 197 -74 65 74 -148 131 139 -164 164 172 -172 189 197 -123 115 123 -106 213 246 -82 189 213 -246 213 49 -189 180 0 -123 180 65 -106 148 65 -0 0 0 -0 0 0 -0 0 0 -24 24 24 diff --git a/graphics/pokemon/palettes/shuppet_shiny_palette.pal b/graphics/pokemon/palettes/shuppet_shiny_palette.pal deleted file mode 100644 index 9d5557a71..000000000 --- a/graphics/pokemon/palettes/shuppet_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 197 197 -49 74 82 -57 123 131 -98 172 180 -139 205 213 -49 115 123 -106 213 246 -82 189 213 -246 213 49 -189 180 0 -123 180 65 -106 148 65 -0 0 0 -0 0 0 -0 0 0 -24 24 24 diff --git a/graphics/pokemon/palettes/silcoon_palette.pal b/graphics/pokemon/palettes/silcoon_palette.pal deleted file mode 100644 index 2a48849f8..000000000 --- a/graphics/pokemon/palettes/silcoon_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 246 197 -106 106 115 -139 139 148 -172 172 180 -0 0 0 -189 189 205 -222 213 230 -238 238 230 -255 255 255 -16 16 24 -246 164 0 -197 123 0 -0 0 0 -246 255 197 -0 0 0 -24 24 24 diff --git a/graphics/pokemon/palettes/silcoon_shiny_palette.pal b/graphics/pokemon/palettes/silcoon_shiny_palette.pal deleted file mode 100644 index db9e98b7a..000000000 --- a/graphics/pokemon/palettes/silcoon_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 246 197 -164 106 24 -205 148 65 -230 164 90 -0 0 0 -255 189 90 -255 222 148 -255 246 197 -255 255 255 -16 16 24 -90 131 189 -65 90 139 -0 0 0 -246 255 197 -0 0 0 -24 24 24 diff --git a/graphics/pokemon/palettes/skarmory_palette.pal b/graphics/pokemon/palettes/skarmory_palette.pal deleted file mode 100644 index d4662ab92..000000000 --- a/graphics/pokemon/palettes/skarmory_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -230 230 238 -197 197 205 -164 164 172 -123 123 131 -82 82 82 -255 156 123 -246 98 82 -197 57 49 -148 32 0 -255 222 0 -205 148 0 -255 0 255 -255 0 255 -16 16 16 diff --git a/graphics/pokemon/palettes/skarmory_shiny_palette.pal b/graphics/pokemon/palettes/skarmory_shiny_palette.pal deleted file mode 100644 index 561324c82..000000000 --- a/graphics/pokemon/palettes/skarmory_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -238 230 197 -197 189 164 -148 139 123 -115 115 98 -82 90 74 -115 213 74 -74 172 41 -41 106 32 -49 74 32 -255 222 0 -205 148 0 -255 0 255 -255 0 255 -16 16 16 diff --git a/graphics/pokemon/palettes/skiploom_palette.pal b/graphics/pokemon/palettes/skiploom_palette.pal deleted file mode 100644 index 15fcce8e5..000000000 --- a/graphics/pokemon/palettes/skiploom_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -139 238 57 -98 205 57 -65 172 32 -24 98 0 -255 0 255 -255 238 115 -255 213 0 -246 164 0 -172 90 0 -255 0 255 -255 0 255 -213 213 213 -164 164 164 -16 16 16 diff --git a/graphics/pokemon/palettes/skiploom_shiny_palette.pal b/graphics/pokemon/palettes/skiploom_shiny_palette.pal deleted file mode 100644 index 2dedaa30e..000000000 --- a/graphics/pokemon/palettes/skiploom_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -255 148 213 -222 106 189 -172 90 148 -98 49 82 -255 0 255 -255 238 115 -255 213 0 -238 156 16 -156 90 16 -255 0 255 -255 0 255 -213 213 213 -164 164 164 -16 16 16 diff --git a/graphics/pokemon/palettes/skitty_palette.pal b/graphics/pokemon/palettes/skitty_palette.pal deleted file mode 100644 index 0a1228191..000000000 --- a/graphics/pokemon/palettes/skitty_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 213 -255 255 255 -255 246 148 -255 205 98 -205 156 65 -131 106 65 -0 0 0 -0 0 0 -255 205 189 -197 106 180 -123 0 106 -0 0 0 -255 172 148 -255 131 106 -197 82 57 -131 41 49 diff --git a/graphics/pokemon/palettes/skitty_shiny_palette.pal b/graphics/pokemon/palettes/skitty_shiny_palette.pal deleted file mode 100644 index d3e9130f3..000000000 --- a/graphics/pokemon/palettes/skitty_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 213 -255 255 255 -255 246 164 -255 222 115 -213 164 65 -131 106 65 -0 0 0 -0 0 0 -255 180 98 -255 106 74 -115 24 32 -0 0 0 -255 123 82 -238 82 49 -189 65 32 -164 49 32 diff --git a/graphics/pokemon/palettes/slaking_palette.pal b/graphics/pokemon/palettes/slaking_palette.pal deleted file mode 100644 index 84cf081cf..000000000 --- a/graphics/pokemon/palettes/slaking_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 156 164 -90 65 49 -139 106 82 -172 139 106 -197 172 148 -213 205 180 -246 238 213 -90 98 123 -205 205 238 -238 238 255 -255 255 255 -139 49 65 -197 82 115 -222 131 148 -16 0 0 -255 255 255 diff --git a/graphics/pokemon/palettes/slaking_shiny_palette.pal b/graphics/pokemon/palettes/slaking_shiny_palette.pal deleted file mode 100644 index 1ec404cf6..000000000 --- a/graphics/pokemon/palettes/slaking_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 156 164 -74 65 49 -106 98 74 -139 123 106 -197 172 148 -213 205 180 -246 238 213 -189 131 65 -255 197 106 -255 238 148 -255 255 255 -164 49 32 -213 82 41 -255 123 82 -16 0 0 -255 255 255 diff --git a/graphics/pokemon/palettes/slakoth_palette.pal b/graphics/pokemon/palettes/slakoth_palette.pal deleted file mode 100644 index 934fc9ae9..000000000 --- a/graphics/pokemon/palettes/slakoth_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -139 148 205 -0 0 0 -82 57 41 -115 82 41 -139 106 65 -65 65 65 -156 156 156 -205 205 205 -255 255 255 -139 49 65 -189 90 74 -213 123 106 -255 164 139 -180 148 106 -205 180 139 -230 205 164 diff --git a/graphics/pokemon/palettes/slakoth_shiny_palette.pal b/graphics/pokemon/palettes/slakoth_shiny_palette.pal deleted file mode 100644 index 4f65ae8e4..000000000 --- a/graphics/pokemon/palettes/slakoth_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -139 148 205 -41 32 32 -57 49 49 -82 74 74 -156 106 139 -65 65 65 -156 156 156 -205 205 205 -255 255 255 -156 41 24 -180 65 49 -222 98 49 -255 123 82 -156 90 131 -197 123 172 -230 189 205 diff --git a/graphics/pokemon/palettes/slowbro_palette.pal b/graphics/pokemon/palettes/slowbro_palette.pal deleted file mode 100644 index 8088b21e4..000000000 --- a/graphics/pokemon/palettes/slowbro_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -164 213 213 -255 255 255 -255 238 156 -255 222 123 -222 189 90 -139 98 24 -230 246 189 -197 213 156 -156 172 98 -82 98 49 -230 82 41 -255 189 148 -255 139 106 -230 106 106 -148 57 57 -16 16 16 diff --git a/graphics/pokemon/palettes/slowbro_shiny_palette.pal b/graphics/pokemon/palettes/slowbro_shiny_palette.pal deleted file mode 100644 index c635dbe64..000000000 --- a/graphics/pokemon/palettes/slowbro_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 205 -255 255 255 -255 238 156 -255 205 98 -230 172 90 -164 115 32 -230 197 106 -189 156 65 -148 115 24 -98 65 0 -230 82 41 -197 180 222 -164 156 213 -123 115 172 -74 65 123 -16 16 16 diff --git a/graphics/pokemon/palettes/slowking_palette.pal b/graphics/pokemon/palettes/slowking_palette.pal deleted file mode 100644 index c3e452f0d..000000000 --- a/graphics/pokemon/palettes/slowking_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -16 16 16 -255 123 57 -205 74 32 -156 32 0 -205 74 32 -230 106 49 -255 180 115 -148 106 0 -255 189 49 -255 255 139 -82 82 65 -148 148 123 -180 180 172 -222 222 205 -255 255 255 diff --git a/graphics/pokemon/palettes/slowking_shiny_palette.pal b/graphics/pokemon/palettes/slowking_shiny_palette.pal deleted file mode 100644 index 55ae2a1ee..000000000 --- a/graphics/pokemon/palettes/slowking_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -16 16 16 -98 164 246 -49 90 189 -131 32 74 -180 90 115 -213 123 148 -255 180 197 -148 106 0 -238 189 65 -255 255 139 -82 82 65 -148 148 123 -180 180 172 -222 222 205 -255 255 255 diff --git a/graphics/pokemon/palettes/slowpoke_palette.pal b/graphics/pokemon/palettes/slowpoke_palette.pal deleted file mode 100644 index 19966396c..000000000 --- a/graphics/pokemon/palettes/slowpoke_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 213 -255 255 255 -222 213 213 -255 255 189 -255 246 131 -230 197 90 -131 82 8 -255 0 255 -246 65 32 -180 41 41 -106 98 98 -255 180 148 -255 131 98 -230 90 106 -156 49 49 -16 16 16 diff --git a/graphics/pokemon/palettes/slowpoke_shiny_palette.pal b/graphics/pokemon/palettes/slowpoke_shiny_palette.pal deleted file mode 100644 index 7dbc76ed3..000000000 --- a/graphics/pokemon/palettes/slowpoke_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 213 -255 255 255 -213 205 205 -255 255 189 -255 255 148 -238 213 106 -156 74 32 -255 0 255 -246 65 32 -139 32 32 -106 98 98 -255 205 205 -238 180 197 -197 139 156 -139 74 90 -16 16 16 diff --git a/graphics/pokemon/palettes/slugma_palette.pal b/graphics/pokemon/palettes/slugma_palette.pal deleted file mode 100644 index 081ae47dc..000000000 --- a/graphics/pokemon/palettes/slugma_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -255 189 106 -255 131 74 -222 90 32 -148 32 0 -255 213 115 -255 238 156 -255 213 115 -246 164 0 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -106 106 106 -16 16 16 diff --git a/graphics/pokemon/palettes/slugma_shiny_palette.pal b/graphics/pokemon/palettes/slugma_shiny_palette.pal deleted file mode 100644 index 85babdbe1..000000000 --- a/graphics/pokemon/palettes/slugma_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -213 213 213 -180 180 180 -123 123 123 -74 74 74 -230 230 230 -255 238 156 -255 213 115 -246 164 0 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -106 106 106 -16 16 16 diff --git a/graphics/pokemon/palettes/smeargle_palette.pal b/graphics/pokemon/palettes/smeargle_palette.pal deleted file mode 100644 index 068322e3e..000000000 --- a/graphics/pokemon/palettes/smeargle_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -189 213 213 -255 255 255 -24 156 0 -222 222 189 -172 172 139 -139 131 82 -246 131 0 -180 0 0 -106 90 49 -74 57 16 -106 222 65 -65 197 24 -0 98 0 -197 197 197 -148 148 156 -16 16 16 diff --git a/graphics/pokemon/palettes/smeargle_shiny_palette.pal b/graphics/pokemon/palettes/smeargle_shiny_palette.pal deleted file mode 100644 index f5f50de2d..000000000 --- a/graphics/pokemon/palettes/smeargle_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -189 213 213 -255 255 255 -197 74 65 -238 222 156 -205 172 98 -180 115 74 -246 131 0 -180 0 0 -106 65 32 -74 57 16 -255 156 131 -238 106 82 -172 49 41 -197 197 197 -148 148 156 -16 16 16 diff --git a/graphics/pokemon/palettes/smoochum_palette.pal b/graphics/pokemon/palettes/smoochum_palette.pal deleted file mode 100644 index 722cd4206..000000000 --- a/graphics/pokemon/palettes/smoochum_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -189 172 41 -255 148 164 -222 74 123 -139 16 90 -255 230 82 -222 205 49 -148 131 24 -255 197 164 -246 230 172 -222 197 131 -139 131 74 -213 213 213 -180 180 180 -0 0 0 diff --git a/graphics/pokemon/palettes/smoochum_shiny_palette.pal b/graphics/pokemon/palettes/smoochum_shiny_palette.pal deleted file mode 100644 index 00a439312..000000000 --- a/graphics/pokemon/palettes/smoochum_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -213 189 24 -255 189 213 -230 139 123 -164 65 57 -255 255 172 -255 230 74 -172 148 16 -255 222 230 -246 246 205 -213 197 139 -139 131 74 -197 197 197 -131 131 131 -41 41 57 diff --git a/graphics/pokemon/palettes/sneasel_palette.pal b/graphics/pokemon/palettes/sneasel_palette.pal deleted file mode 100644 index 076fa7300..000000000 --- a/graphics/pokemon/palettes/sneasel_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -139 172 156 -82 123 106 -57 90 74 -41 57 41 -255 205 213 -255 115 106 -197 74 74 -131 16 32 -230 74 74 -106 98 123 -189 180 197 -255 230 90 -205 131 0 -16 16 16 diff --git a/graphics/pokemon/palettes/sneasel_shiny_palette.pal b/graphics/pokemon/palettes/sneasel_shiny_palette.pal deleted file mode 100644 index 64a502ce6..000000000 --- a/graphics/pokemon/palettes/sneasel_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -255 172 205 -238 139 180 -197 98 131 -90 49 65 -255 255 164 -255 230 74 -222 180 98 -156 98 57 -230 74 74 -106 98 123 -189 180 197 -255 255 255 -205 222 238 -16 16 16 diff --git a/graphics/pokemon/palettes/snorlax_palette.pal b/graphics/pokemon/palettes/snorlax_palette.pal deleted file mode 100644 index 2310b2b3f..000000000 --- a/graphics/pokemon/palettes/snorlax_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 189 -123 164 148 -98 131 115 -57 98 82 -57 82 65 -255 255 197 -246 246 156 -238 222 156 -139 139 74 -213 164 106 -197 139 82 -189 24 24 -213 213 222 -106 106 115 -16 16 16 -255 255 255 diff --git a/graphics/pokemon/palettes/snorlax_shiny_palette.pal b/graphics/pokemon/palettes/snorlax_shiny_palette.pal deleted file mode 100644 index 8fcbe5988..000000000 --- a/graphics/pokemon/palettes/snorlax_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 189 -74 156 205 -65 115 189 -41 90 131 -41 90 98 -246 238 189 -246 230 180 -238 213 164 -156 156 82 -222 156 98 -180 123 57 -148 90 24 -213 213 222 -106 106 115 -16 16 16 -255 255 255 diff --git a/graphics/pokemon/palettes/snorunt_palette.pal b/graphics/pokemon/palettes/snorunt_palette.pal deleted file mode 100644 index 25d137458..000000000 --- a/graphics/pokemon/palettes/snorunt_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 222 222 -222 222 222 -255 123 82 -180 65 49 -180 115 49 -255 238 164 -255 213 106 -230 172 90 -139 213 255 -156 139 139 -65 148 213 -139 123 123 -82 74 74 -57 49 49 -41 32 32 -255 255 255 diff --git a/graphics/pokemon/palettes/snorunt_shiny_palette.pal b/graphics/pokemon/palettes/snorunt_shiny_palette.pal deleted file mode 100644 index b483a219f..000000000 --- a/graphics/pokemon/palettes/snorunt_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 222 222 -222 222 222 -255 205 82 -180 131 49 -148 98 16 -172 246 255 -139 213 255 -106 180 222 -255 197 180 -156 139 139 -255 57 41 -139 123 123 -82 74 74 -57 49 49 -41 32 32 -255 255 255 diff --git a/graphics/pokemon/palettes/snubbull_palette.pal b/graphics/pokemon/palettes/snubbull_palette.pal deleted file mode 100644 index dea1ea530..000000000 --- a/graphics/pokemon/palettes/snubbull_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 222 222 -164 41 41 -255 0 255 -148 41 57 -230 98 106 -238 180 164 -255 205 197 -255 131 41 -16 16 16 -65 65 82 -98 115 115 -148 164 164 -65 139 172 -172 222 246 -222 222 222 -255 255 255 diff --git a/graphics/pokemon/palettes/snubbull_shiny_palette.pal b/graphics/pokemon/palettes/snubbull_shiny_palette.pal deleted file mode 100644 index 5dcc2957d..000000000 --- a/graphics/pokemon/palettes/snubbull_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 222 222 -197 49 65 -255 0 255 -90 90 139 -148 156 164 -197 205 197 -222 222 222 -255 148 74 -16 16 16 -123 49 65 -156 74 98 -205 106 139 -65 139 172 -255 197 180 -238 213 197 -255 255 255 diff --git a/graphics/pokemon/palettes/solrock_palette.pal b/graphics/pokemon/palettes/solrock_palette.pal deleted file mode 100644 index 315f49dd3..000000000 --- a/graphics/pokemon/palettes/solrock_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -49 164 82 -255 238 164 -238 213 115 -222 180 74 -180 148 82 -238 148 57 -205 123 49 -172 98 41 -139 82 32 -123 98 74 -57 41 24 -255 172 98 -213 74 82 -139 115 115 -82 82 90 -16 16 16 diff --git a/graphics/pokemon/palettes/solrock_shiny_palette.pal b/graphics/pokemon/palettes/solrock_shiny_palette.pal deleted file mode 100644 index 9de01aa0b..000000000 --- a/graphics/pokemon/palettes/solrock_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -49 164 82 -255 238 164 -238 213 115 -222 180 74 -180 148 82 -255 115 106 -255 65 57 -222 32 24 -189 0 0 -123 98 74 -57 41 24 -255 172 98 -0 205 255 -139 115 115 -82 82 90 -16 16 16 diff --git a/graphics/pokemon/palettes/spearow_palette.pal b/graphics/pokemon/palettes/spearow_palette.pal deleted file mode 100644 index 8cf97399d..000000000 --- a/graphics/pokemon/palettes/spearow_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -238 222 197 -213 197 156 -172 156 115 -106 98 82 -255 131 115 -246 82 90 -197 65 82 -123 24 0 -246 180 90 -213 156 57 -172 115 16 -123 65 0 -255 213 172 -24 24 24 diff --git a/graphics/pokemon/palettes/spearow_shiny_palette.pal b/graphics/pokemon/palettes/spearow_shiny_palette.pal deleted file mode 100644 index fd2223485..000000000 --- a/graphics/pokemon/palettes/spearow_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -238 222 172 -213 197 156 -172 156 115 -106 98 82 -255 255 82 -255 222 0 -238 164 0 -131 57 0 -238 222 115 -197 180 74 -156 139 32 -98 82 0 -255 255 148 -24 24 24 diff --git a/graphics/pokemon/palettes/spheal_palette.pal b/graphics/pokemon/palettes/spheal_palette.pal deleted file mode 100644 index 1fa035c32..000000000 --- a/graphics/pokemon/palettes/spheal_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 197 98 -16 16 57 -74 82 139 -106 123 213 -156 164 255 -197 197 255 -255 255 255 -106 90 49 -164 148 106 -213 197 148 -230 213 172 -246 230 189 -222 222 255 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/pokemon/palettes/spheal_shiny_palette.pal b/graphics/pokemon/palettes/spheal_shiny_palette.pal deleted file mode 100644 index 14f207301..000000000 --- a/graphics/pokemon/palettes/spheal_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 197 98 -16 16 57 -90 49 139 -180 98 205 -213 148 238 -246 197 255 -255 255 255 -106 90 49 -164 148 106 -230 205 148 -238 222 172 -255 238 189 -255 222 255 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/pokemon/palettes/spinarak_palette.pal b/graphics/pokemon/palettes/spinarak_palette.pal deleted file mode 100644 index 0a09982d6..000000000 --- a/graphics/pokemon/palettes/spinarak_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -205 255 115 -148 230 65 -98 189 32 -82 123 41 -49 82 16 -255 255 90 -180 164 49 -148 123 49 -255 156 82 -238 49 0 -148 49 0 -189 189 189 -123 123 123 -16 16 16 diff --git a/graphics/pokemon/palettes/spinarak_shiny_palette.pal b/graphics/pokemon/palettes/spinarak_shiny_palette.pal deleted file mode 100644 index f2aed8e9f..000000000 --- a/graphics/pokemon/palettes/spinarak_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -180 213 222 -139 172 189 -82 106 156 -57 74 90 -32 49 74 -230 172 205 -172 90 123 -106 65 82 -255 156 82 -238 49 0 -148 49 0 -189 189 189 -123 123 123 -16 16 16 diff --git a/graphics/pokemon/palettes/spinda_palette.pal b/graphics/pokemon/palettes/spinda_palette.pal deleted file mode 100644 index 9b0ad5bfc..000000000 --- a/graphics/pokemon/palettes/spinda_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -49 164 82 -246 230 172 -230 213 164 -197 180 131 -172 148 106 -222 139 74 -222 106 57 -180 90 41 -156 57 24 -115 65 16 -172 65 90 -255 255 0 -255 255 0 -123 98 74 -90 65 49 -16 16 16 diff --git a/graphics/pokemon/palettes/spinda_shiny_palette.pal b/graphics/pokemon/palettes/spinda_shiny_palette.pal deleted file mode 100644 index 6aa748129..000000000 --- a/graphics/pokemon/palettes/spinda_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -49 164 82 -246 230 172 -230 213 164 -197 180 131 -172 148 106 -180 197 90 -148 164 57 -115 131 24 -82 98 0 -49 65 0 -172 65 90 -255 255 0 -255 255 0 -123 98 74 -90 65 49 -16 16 16 diff --git a/graphics/pokemon/palettes/spoink_palette.pal b/graphics/pokemon/palettes/spoink_palette.pal deleted file mode 100644 index c1891323c..000000000 --- a/graphics/pokemon/palettes/spoink_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 255 255 -172 172 164 -139 139 148 -106 115 123 -49 49 41 -255 230 255 -255 205 189 -230 172 131 -148 74 74 -197 139 90 -24 24 24 -0 0 0 -74 74 74 -255 255 255 -98 82 82 -0 0 0 diff --git a/graphics/pokemon/palettes/spoink_shiny_palette.pal b/graphics/pokemon/palettes/spoink_shiny_palette.pal deleted file mode 100644 index c8edfafd7..000000000 --- a/graphics/pokemon/palettes/spoink_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 255 255 -255 205 172 -246 180 139 -205 164 123 -98 74 57 -172 172 172 -139 139 139 -82 82 82 -49 49 49 -106 106 106 -0 0 0 -0 0 0 -172 123 106 -255 255 255 -98 82 82 -0 0 0 diff --git a/graphics/pokemon/palettes/squirtle_palette.pal b/graphics/pokemon/palettes/squirtle_palette.pal deleted file mode 100644 index 4cc9f28e8..000000000 --- a/graphics/pokemon/palettes/squirtle_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -213 148 82 -189 106 0 -98 41 0 -213 205 205 -255 230 156 -255 213 106 -230 172 90 -213 131 57 -205 49 24 -180 222 238 -139 197 213 -131 148 172 -65 115 98 -16 16 16 diff --git a/graphics/pokemon/palettes/squirtle_shiny_palette.pal b/graphics/pokemon/palettes/squirtle_shiny_palette.pal deleted file mode 100644 index 9ca78b24d..000000000 --- a/graphics/pokemon/palettes/squirtle_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -148 205 41 -106 156 24 -74 115 32 -213 205 205 -255 230 156 -255 213 106 -230 172 90 -213 131 57 -148 32 0 -189 238 246 -148 230 246 -82 197 213 -65 106 139 -16 16 16 diff --git a/graphics/pokemon/palettes/stantler_palette.pal b/graphics/pokemon/palettes/stantler_palette.pal deleted file mode 100644 index 29eeabc43..000000000 --- a/graphics/pokemon/palettes/stantler_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -255 213 115 -230 180 90 -180 131 49 -123 65 0 -255 0 255 -255 255 172 -255 222 131 -255 222 82 -230 164 32 -213 0 255 -180 180 180 -123 123 123 -74 74 74 -16 16 16 diff --git a/graphics/pokemon/palettes/stantler_shiny_palette.pal b/graphics/pokemon/palettes/stantler_shiny_palette.pal deleted file mode 100644 index 18b43b330..000000000 --- a/graphics/pokemon/palettes/stantler_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -230 230 230 -255 255 255 -222 255 106 -197 230 90 -148 180 49 -65 90 0 -255 0 255 -255 255 172 -230 230 139 -255 222 82 -197 148 65 -213 0 255 -255 189 106 -230 115 41 -131 65 41 -16 16 16 diff --git a/graphics/pokemon/palettes/starmie_palette.pal b/graphics/pokemon/palettes/starmie_palette.pal deleted file mode 100644 index 82435deec..000000000 --- a/graphics/pokemon/palettes/starmie_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 189 -189 148 205 -148 98 164 -131 65 131 -82 32 98 -255 246 148 -246 213 82 -197 164 16 -106 82 0 -255 0 255 -255 189 164 -246 65 82 -205 49 90 -123 16 0 -16 16 16 -255 255 255 diff --git a/graphics/pokemon/palettes/starmie_shiny_palette.pal b/graphics/pokemon/palettes/starmie_shiny_palette.pal deleted file mode 100644 index 1f68c3476..000000000 --- a/graphics/pokemon/palettes/starmie_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 189 -148 205 246 -106 164 213 -65 123 172 -0 57 106 -255 139 156 -255 98 115 -197 57 74 -131 16 32 -255 0 255 -115 189 246 -74 148 205 -8 82 139 -8 41 98 -16 16 16 -255 255 255 diff --git a/graphics/pokemon/palettes/staryu_palette.pal b/graphics/pokemon/palettes/staryu_palette.pal deleted file mode 100644 index 19ea03347..000000000 --- a/graphics/pokemon/palettes/staryu_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 189 -16 16 16 -255 255 180 -246 213 82 -197 172 16 -115 90 0 -238 213 172 -213 180 115 -164 115 49 -106 65 32 -255 213 213 -238 156 139 -230 98 65 -172 65 32 -197 156 82 -255 255 255 diff --git a/graphics/pokemon/palettes/staryu_shiny_palette.pal b/graphics/pokemon/palettes/staryu_shiny_palette.pal deleted file mode 100644 index 9285cb48c..000000000 --- a/graphics/pokemon/palettes/staryu_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 189 -16 16 16 -255 255 180 -246 213 82 -197 172 16 -115 90 0 -230 230 205 -189 189 164 -148 148 123 -98 98 74 -156 255 255 -106 213 255 -65 172 222 -8 115 164 -172 164 139 -255 255 255 diff --git a/graphics/pokemon/palettes/steelix_palette.pal b/graphics/pokemon/palettes/steelix_palette.pal deleted file mode 100644 index e18ae398c..000000000 --- a/graphics/pokemon/palettes/steelix_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 0 255 -255 0 255 -255 0 255 -57 57 82 -74 90 123 -131 156 172 -189 205 197 -222 230 222 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -213 82 65 -16 16 16 -255 255 255 diff --git a/graphics/pokemon/palettes/steelix_shiny_palette.pal b/graphics/pokemon/palettes/steelix_shiny_palette.pal deleted file mode 100644 index 02b21c7ac..000000000 --- a/graphics/pokemon/palettes/steelix_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 0 255 -255 0 255 -255 0 255 -98 82 57 -139 106 82 -189 156 90 -230 197 115 -255 230 139 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -213 82 65 -16 16 16 -255 255 255 diff --git a/graphics/pokemon/palettes/sudowoodo_palette.pal b/graphics/pokemon/palettes/sudowoodo_palette.pal deleted file mode 100644 index 3d589fc9d..000000000 --- a/graphics/pokemon/palettes/sudowoodo_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -230 197 106 -189 156 82 -148 115 49 -98 74 16 -255 0 255 -139 255 139 -41 222 49 -41 172 49 -24 106 32 -255 205 0 -222 148 0 -156 106 0 -180 180 180 -16 16 16 diff --git a/graphics/pokemon/palettes/sudowoodo_shiny_palette.pal b/graphics/pokemon/palettes/sudowoodo_shiny_palette.pal deleted file mode 100644 index 6344dcc53..000000000 --- a/graphics/pokemon/palettes/sudowoodo_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -222 222 57 -180 189 24 -123 139 24 -82 90 24 -255 0 255 -255 205 172 -255 115 74 -205 74 49 -131 57 41 -255 205 0 -222 148 0 -156 106 0 -180 180 180 -16 16 16 diff --git a/graphics/pokemon/palettes/suicune_palette.pal b/graphics/pokemon/palettes/suicune_palette.pal deleted file mode 100644 index 3a21dbd4d..000000000 --- a/graphics/pokemon/palettes/suicune_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 180 -255 255 255 -189 238 255 -123 189 255 -90 115 213 -57 74 148 -213 180 255 -172 106 255 -139 49 230 -82 57 139 -164 0 0 -213 213 213 -180 180 180 -148 148 148 -106 106 106 -16 16 16 diff --git a/graphics/pokemon/palettes/suicune_shiny_palette.pal b/graphics/pokemon/palettes/suicune_shiny_palette.pal deleted file mode 100644 index 2ee8b7a0f..000000000 --- a/graphics/pokemon/palettes/suicune_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 180 -255 255 255 -238 255 255 -197 230 255 -106 164 230 -49 82 156 -106 189 255 -57 139 222 -8 90 180 -32 57 98 -164 0 0 -213 205 230 -189 172 197 -139 123 148 -98 82 106 -16 16 16 diff --git a/graphics/pokemon/palettes/sunflora_palette.pal b/graphics/pokemon/palettes/sunflora_palette.pal deleted file mode 100644 index a22ed3fe7..000000000 --- a/graphics/pokemon/palettes/sunflora_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -16 16 16 -255 0 255 -131 90 16 -197 123 32 -222 164 24 -238 205 8 -230 222 90 -255 255 164 -255 246 16 -222 57 0 -255 0 255 -82 98 41 -115 172 49 -156 213 74 -189 255 115 diff --git a/graphics/pokemon/palettes/sunflora_shiny_palette.pal b/graphics/pokemon/palettes/sunflora_shiny_palette.pal deleted file mode 100644 index ea8de6e05..000000000 --- a/graphics/pokemon/palettes/sunflora_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -16 16 16 -255 0 255 -98 82 0 -148 123 0 -205 172 32 -238 222 82 -230 222 90 -255 255 164 -255 255 164 -222 57 0 -255 0 255 -82 74 0 -123 115 0 -180 172 41 -230 222 74 diff --git a/graphics/pokemon/palettes/sunkern_palette.pal b/graphics/pokemon/palettes/sunkern_palette.pal deleted file mode 100644 index 7dab1246d..000000000 --- a/graphics/pokemon/palettes/sunkern_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -74 57 41 -82 74 41 -106 98 49 -180 164 49 -180 164 57 -213 205 49 -255 255 0 -255 0 255 -32 98 16 -82 164 57 -115 213 41 -164 246 57 -16 16 16 -115 115 139 -255 255 255 diff --git a/graphics/pokemon/palettes/sunkern_shiny_palette.pal b/graphics/pokemon/palettes/sunkern_shiny_palette.pal deleted file mode 100644 index 84a106f65..000000000 --- a/graphics/pokemon/palettes/sunkern_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -74 57 41 -82 57 41 -106 74 49 -164 106 32 -172 115 49 -213 164 49 -255 213 90 -255 0 255 -32 98 16 -82 164 57 -156 230 49 -205 255 98 -16 16 16 -115 115 139 -255 255 255 diff --git a/graphics/pokemon/palettes/surskit_palette.pal b/graphics/pokemon/palettes/surskit_palette.pal deleted file mode 100644 index 7aa7f389d..000000000 --- a/graphics/pokemon/palettes/surskit_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -49 90 90 -90 164 213 -90 139 180 -123 197 213 -255 213 90 -205 172 49 -123 106 16 -255 255 255 -238 123 139 -230 106 90 -172 139 16 -32 115 148 -255 255 255 -255 255 255 -205 255 156 diff --git a/graphics/pokemon/palettes/surskit_shiny_palette.pal b/graphics/pokemon/palettes/surskit_shiny_palette.pal deleted file mode 100644 index 71624ff69..000000000 --- a/graphics/pokemon/palettes/surskit_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -189 205 255 -41 49 65 -115 106 123 -74 82 98 -148 139 156 -255 213 90 -205 172 49 -123 106 16 -255 255 255 -255 180 82 -255 115 24 -172 139 16 -74 82 98 -255 255 255 -255 255 255 -205 255 156 diff --git a/graphics/pokemon/palettes/swablu_palette.pal b/graphics/pokemon/palettes/swablu_palette.pal deleted file mode 100644 index 180dac0df..000000000 --- a/graphics/pokemon/palettes/swablu_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -123 172 123 -180 180 222 -131 131 148 -90 90 115 -57 106 131 -213 213 230 -0 0 0 -156 156 197 -123 205 255 -98 172 230 -90 148 205 -213 255 255 -148 197 197 -172 230 255 -238 238 246 -255 255 255 diff --git a/graphics/pokemon/palettes/swablu_shiny_palette.pal b/graphics/pokemon/palettes/swablu_shiny_palette.pal deleted file mode 100644 index 392d5a8bb..000000000 --- a/graphics/pokemon/palettes/swablu_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -123 172 123 -180 180 222 -131 131 148 -90 90 115 -156 106 0 -213 213 230 -0 0 0 -156 156 197 -255 238 131 -255 205 98 -222 172 65 -213 255 255 -148 197 197 -255 238 131 -238 238 246 -255 255 255 diff --git a/graphics/pokemon/palettes/swalot_palette.pal b/graphics/pokemon/palettes/swalot_palette.pal deleted file mode 100644 index fcd80af0b..000000000 --- a/graphics/pokemon/palettes/swalot_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -65 156 123 -115 90 148 -156 106 213 -189 139 255 -213 172 255 -255 255 255 -49 49 49 -82 82 82 -106 106 106 -205 205 205 -131 123 65 -255 213 90 -255 41 0 -255 238 148 -90 57 106 -0 0 0 diff --git a/graphics/pokemon/palettes/swalot_shiny_palette.pal b/graphics/pokemon/palettes/swalot_shiny_palette.pal deleted file mode 100644 index 109d19022..000000000 --- a/graphics/pokemon/palettes/swalot_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 189 131 -65 74 115 -90 115 156 -98 148 197 -131 180 238 -255 255 255 -49 49 49 -82 82 82 -106 106 106 -205 205 205 -180 65 49 -222 98 49 -255 139 82 -255 148 123 -0 0 0 -0 0 0 diff --git a/graphics/pokemon/palettes/swampert_palette.pal b/graphics/pokemon/palettes/swampert_palette.pal deleted file mode 100644 index 149557aa4..000000000 --- a/graphics/pokemon/palettes/swampert_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -49 164 82 -197 230 255 -172 189 230 -131 164 197 -41 49 98 -255 213 74 -246 156 65 -205 131 65 -139 98 74 -156 74 90 -57 82 131 -139 205 255 -90 172 230 -49 131 197 -82 106 164 -16 16 16 diff --git a/graphics/pokemon/palettes/swampert_shiny_palette.pal b/graphics/pokemon/palettes/swampert_shiny_palette.pal deleted file mode 100644 index 284a31508..000000000 --- a/graphics/pokemon/palettes/swampert_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -49 164 82 -230 246 255 -205 213 230 -180 139 230 -74 65 106 -255 197 74 -246 106 82 -222 98 49 -180 65 49 -139 65 24 -106 49 123 -246 205 246 -230 172 246 -197 115 222 -139 82 156 -16 16 16 diff --git a/graphics/pokemon/palettes/swellow_palette.pal b/graphics/pokemon/palettes/swellow_palette.pal deleted file mode 100644 index cf8e9f794..000000000 --- a/graphics/pokemon/palettes/swellow_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -131 172 98 -41 49 90 -65 82 123 -90 106 172 -123 139 205 -123 90 90 -148 148 148 -205 213 213 -255 255 255 -197 49 49 -230 106 98 -255 148 139 -230 172 74 -255 238 82 -131 57 82 -0 0 0 diff --git a/graphics/pokemon/palettes/swellow_shiny_palette.pal b/graphics/pokemon/palettes/swellow_shiny_palette.pal deleted file mode 100644 index 388f2b220..000000000 --- a/graphics/pokemon/palettes/swellow_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -131 172 98 -16 82 57 -49 148 98 -90 172 148 -148 213 205 -123 90 90 -148 148 148 -205 213 213 -255 255 255 -213 123 16 -246 180 57 -255 197 115 -230 189 74 -255 238 82 -131 57 82 -0 0 0 diff --git a/graphics/pokemon/palettes/swinub_palette.pal b/graphics/pokemon/palettes/swinub_palette.pal deleted file mode 100644 index b014d69d6..000000000 --- a/graphics/pokemon/palettes/swinub_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -222 197 115 -197 164 82 -164 131 57 -123 98 24 -90 65 0 -57 41 0 -255 189 131 -222 139 82 -180 98 41 -255 0 255 -222 222 222 -180 180 189 -123 123 139 -16 16 16 diff --git a/graphics/pokemon/palettes/swinub_shiny_palette.pal b/graphics/pokemon/palettes/swinub_shiny_palette.pal deleted file mode 100644 index 9482e2d46..000000000 --- a/graphics/pokemon/palettes/swinub_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -222 230 230 -189 205 197 -148 164 164 -106 123 131 -57 65 90 -49 49 57 -246 213 131 -222 164 65 -205 123 32 -255 0 255 -222 222 222 -180 180 189 -123 123 139 -16 16 16 diff --git a/graphics/pokemon/palettes/taillow_palette.pal b/graphics/pokemon/palettes/taillow_palette.pal deleted file mode 100644 index b1777b5be..000000000 --- a/graphics/pokemon/palettes/taillow_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -131 172 98 -41 49 90 -74 90 148 -90 106 172 -123 139 205 -123 90 90 -148 148 148 -205 213 213 -255 255 255 -197 49 49 -230 106 98 -255 148 139 -230 189 74 -255 238 82 -131 57 82 -0 0 0 diff --git a/graphics/pokemon/palettes/taillow_shiny_palette.pal b/graphics/pokemon/palettes/taillow_shiny_palette.pal deleted file mode 100644 index 388f2b220..000000000 --- a/graphics/pokemon/palettes/taillow_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -131 172 98 -16 82 57 -49 148 98 -90 172 148 -148 213 205 -123 90 90 -148 148 148 -205 213 213 -255 255 255 -213 123 16 -246 180 57 -255 197 115 -230 189 74 -255 238 82 -131 57 82 -0 0 0 diff --git a/graphics/pokemon/palettes/tangela_palette.pal b/graphics/pokemon/palettes/tangela_palette.pal deleted file mode 100644 index 3de914144..000000000 --- a/graphics/pokemon/palettes/tangela_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 189 -172 222 246 -131 189 213 -65 123 148 -32 65 82 -255 131 131 -213 65 82 -148 41 41 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -180 180 180 -82 82 82 -16 16 16 -255 255 255 diff --git a/graphics/pokemon/palettes/tangela_shiny_palette.pal b/graphics/pokemon/palettes/tangela_shiny_palette.pal deleted file mode 100644 index 6c8c7fad5..000000000 --- a/graphics/pokemon/palettes/tangela_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 189 -123 222 57 -82 180 16 -41 139 0 -0 74 0 -255 131 131 -222 90 90 -148 41 41 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -180 180 180 -82 82 82 -16 16 16 -255 255 255 diff --git a/graphics/pokemon/palettes/tauros_palette.pal b/graphics/pokemon/palettes/tauros_palette.pal deleted file mode 100644 index 598262ca7..000000000 --- a/graphics/pokemon/palettes/tauros_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -131 213 172 -255 255 255 -230 230 238 -205 197 255 -148 180 172 -90 82 106 -255 0 255 -189 156 82 -156 131 65 -115 90 32 -74 49 0 -246 197 98 -230 164 74 -189 123 49 -115 82 24 -16 16 16 diff --git a/graphics/pokemon/palettes/tauros_shiny_palette.pal b/graphics/pokemon/palettes/tauros_shiny_palette.pal deleted file mode 100644 index 3f2d46d67..000000000 --- a/graphics/pokemon/palettes/tauros_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 213 -255 255 255 -238 222 255 -205 197 255 -164 148 205 -90 74 106 -255 0 255 -123 205 49 -82 180 24 -24 123 0 -49 74 24 -255 255 98 -255 230 82 -213 189 57 -131 106 49 -16 16 16 diff --git a/graphics/pokemon/palettes/teddiursa_palette.pal b/graphics/pokemon/palettes/teddiursa_palette.pal deleted file mode 100644 index a044a8e9c..000000000 --- a/graphics/pokemon/palettes/teddiursa_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -238 180 106 -213 156 90 -164 131 57 -123 98 24 -90 65 0 -255 246 164 -238 213 156 -213 172 82 -255 0 255 -255 0 255 -222 222 222 -180 180 189 -106 106 123 -16 16 16 diff --git a/graphics/pokemon/palettes/teddiursa_shiny_palette.pal b/graphics/pokemon/palettes/teddiursa_shiny_palette.pal deleted file mode 100644 index 0be332569..000000000 --- a/graphics/pokemon/palettes/teddiursa_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -189 246 123 -164 222 106 -123 180 74 -90 148 49 -57 98 32 -255 246 164 -238 222 123 -172 197 90 -255 0 255 -255 0 255 -222 222 222 -180 180 189 -106 106 123 -16 16 16 diff --git a/graphics/pokemon/palettes/tentacool_palette.pal b/graphics/pokemon/palettes/tentacool_palette.pal deleted file mode 100644 index 530c0a4d6..000000000 --- a/graphics/pokemon/palettes/tentacool_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 189 -255 255 255 -255 197 189 -255 82 74 -180 41 32 -131 16 16 -213 197 148 -180 172 115 -131 131 65 -82 82 32 -213 213 213 -148 213 246 -106 180 230 -65 164 148 -32 82 131 -16 16 16 diff --git a/graphics/pokemon/palettes/tentacool_shiny_palette.pal b/graphics/pokemon/palettes/tentacool_shiny_palette.pal deleted file mode 100644 index d90b7d4a0..000000000 --- a/graphics/pokemon/palettes/tentacool_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 189 -255 255 255 -115 197 139 -74 156 98 -32 115 57 -16 74 16 -213 197 148 -180 172 115 -131 131 65 -82 82 32 -213 213 213 -213 213 255 -172 172 230 -131 131 189 -74 74 131 -16 16 16 diff --git a/graphics/pokemon/palettes/tentacruel_palette.pal b/graphics/pokemon/palettes/tentacruel_palette.pal deleted file mode 100644 index 1a4cf74c2..000000000 --- a/graphics/pokemon/palettes/tentacruel_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -189 213 197 -255 255 255 -255 197 189 -255 82 74 -180 41 32 -131 16 16 -222 205 156 -180 172 115 -139 139 65 -90 90 32 -213 213 213 -148 205 246 -106 180 230 -65 164 156 -32 82 131 -16 16 16 diff --git a/graphics/pokemon/palettes/tentacruel_shiny_palette.pal b/graphics/pokemon/palettes/tentacruel_shiny_palette.pal deleted file mode 100644 index b53f96599..000000000 --- a/graphics/pokemon/palettes/tentacruel_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 189 -255 255 255 -148 189 82 -106 148 41 -65 106 0 -8 49 0 -230 213 164 -180 172 115 -131 131 65 -82 82 32 -222 255 255 -180 222 255 -139 180 213 -98 139 172 -24 65 98 -16 16 16 diff --git a/graphics/pokemon/palettes/togepi_palette.pal b/graphics/pokemon/palettes/togepi_palette.pal deleted file mode 100644 index 6e9355508..000000000 --- a/graphics/pokemon/palettes/togepi_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -246 246 255 -180 180 197 -106 106 123 -16 16 16 -197 24 0 -255 255 205 -255 246 172 -222 197 115 -172 148 74 -106 57 0 -222 115 115 -197 24 0 -106 131 222 -0 74 213 -205 205 205 diff --git a/graphics/pokemon/palettes/togepi_shiny_palette.pal b/graphics/pokemon/palettes/togepi_shiny_palette.pal deleted file mode 100644 index 6ce2e1be7..000000000 --- a/graphics/pokemon/palettes/togepi_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -246 246 255 -180 180 197 -106 106 123 -16 16 16 -197 24 0 -255 255 205 -255 230 172 -213 180 115 -172 131 57 -106 57 0 -106 131 222 -0 74 213 -222 115 115 -197 24 0 -205 205 205 diff --git a/graphics/pokemon/palettes/togetic_palette.pal b/graphics/pokemon/palettes/togetic_palette.pal deleted file mode 100644 index c07ecff88..000000000 --- a/graphics/pokemon/palettes/togetic_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -131 197 139 -230 230 238 -205 205 205 -172 172 189 -131 131 148 -90 90 115 -16 16 16 -255 0 255 -255 0 255 -255 0 255 -139 0 0 -222 115 115 -180 0 0 -106 131 222 -0 41 197 -255 255 255 diff --git a/graphics/pokemon/palettes/togetic_shiny_palette.pal b/graphics/pokemon/palettes/togetic_shiny_palette.pal deleted file mode 100644 index 6d37ce70d..000000000 --- a/graphics/pokemon/palettes/togetic_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 246 -230 222 172 -189 180 139 -148 139 32 -106 90 57 -16 16 16 -255 0 255 -255 0 255 -255 0 255 -139 0 0 -106 131 222 -0 41 197 -222 115 115 -180 0 0 -255 255 230 diff --git a/graphics/pokemon/palettes/torchic_palette.pal b/graphics/pokemon/palettes/torchic_palette.pal deleted file mode 100644 index 373cb59b7..000000000 --- a/graphics/pokemon/palettes/torchic_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -49 164 82 -255 222 148 -213 189 148 -180 148 123 -123 115 123 -255 213 98 -255 197 82 -213 156 57 -139 123 90 -156 205 255 -255 255 255 -255 164 57 -255 106 57 -213 90 57 -90 57 49 -16 16 16 diff --git a/graphics/pokemon/palettes/torchic_shiny_palette.pal b/graphics/pokemon/palettes/torchic_shiny_palette.pal deleted file mode 100644 index 368d18494..000000000 --- a/graphics/pokemon/palettes/torchic_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -49 164 82 -222 180 131 -172 123 90 -123 90 74 -123 115 123 -255 164 57 -238 90 41 -189 57 24 -123 90 74 -156 205 255 -255 255 255 -255 238 172 -255 222 115 -230 164 74 -90 57 49 -16 16 16 diff --git a/graphics/pokemon/palettes/torkoal_palette.pal b/graphics/pokemon/palettes/torkoal_palette.pal deleted file mode 100644 index 85caef491..000000000 --- a/graphics/pokemon/palettes/torkoal_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 197 197 -238 222 213 -213 205 197 -189 172 164 -255 156 106 -230 123 74 -197 82 57 -148 74 49 -131 131 131 -90 90 90 -49 49 49 -255 156 0 -197 131 8 -255 57 0 -90 49 57 -0 0 0 diff --git a/graphics/pokemon/palettes/torkoal_shiny_palette.pal b/graphics/pokemon/palettes/torkoal_shiny_palette.pal deleted file mode 100644 index 70194b9f1..000000000 --- a/graphics/pokemon/palettes/torkoal_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 197 197 -255 238 230 -222 213 205 -205 189 180 -255 230 156 -255 213 106 -222 156 74 -148 90 0 -213 123 123 -180 90 90 -123 32 32 -255 156 0 -197 131 8 -255 57 0 -82 0 0 -0 0 0 diff --git a/graphics/pokemon/palettes/totodile_palette.pal b/graphics/pokemon/palettes/totodile_palette.pal deleted file mode 100644 index 8a68271f6..000000000 --- a/graphics/pokemon/palettes/totodile_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 197 164 -255 255 255 -148 213 255 -106 180 230 -49 131 197 -74 74 131 -180 180 180 -255 197 115 -255 90 32 -205 41 16 -123 0 0 -255 90 32 -205 41 16 -255 197 82 -172 131 41 -16 16 16 diff --git a/graphics/pokemon/palettes/totodile_shiny_palette.pal b/graphics/pokemon/palettes/totodile_shiny_palette.pal deleted file mode 100644 index 609f22253..000000000 --- a/graphics/pokemon/palettes/totodile_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 197 164 -255 255 255 -156 246 189 -106 222 180 -65 172 148 -32 106 90 -180 180 180 -131 180 255 -74 106 197 -49 74 164 -49 65 106 -255 123 74 -197 74 57 -255 197 82 -172 131 41 -16 16 16 diff --git a/graphics/pokemon/palettes/trapinch_palette.pal b/graphics/pokemon/palettes/trapinch_palette.pal deleted file mode 100644 index 2344a7eca..000000000 --- a/graphics/pokemon/palettes/trapinch_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -189 205 156 -115 65 65 -205 123 115 -238 156 74 -255 189 123 -197 74 49 -172 197 98 -222 246 115 -123 148 74 -0 0 0 -0 0 0 -0 0 0 -65 65 49 -255 255 255 -0 0 0 -32 32 32 diff --git a/graphics/pokemon/palettes/trapinch_shiny_palette.pal b/graphics/pokemon/palettes/trapinch_shiny_palette.pal deleted file mode 100644 index 87ce33ef0..000000000 --- a/graphics/pokemon/palettes/trapinch_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -189 205 156 -24 49 41 -90 131 123 -123 164 156 -156 197 189 -197 74 49 -172 197 98 -222 246 115 -123 148 74 -0 0 0 -0 0 0 -0 0 0 -65 65 49 -255 255 255 -0 0 0 -32 32 32 diff --git a/graphics/pokemon/palettes/treecko_palette.pal b/graphics/pokemon/palettes/treecko_palette.pal deleted file mode 100644 index 987a3a5b9..000000000 --- a/graphics/pokemon/palettes/treecko_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -123 106 156 -255 213 123 -255 197 82 -230 156 74 -74 189 131 -255 106 82 -213 82 57 -164 74 49 -24 65 57 -74 139 90 -255 255 255 -189 255 115 -156 213 74 -115 172 49 -82 98 41 -16 16 16 diff --git a/graphics/pokemon/palettes/treecko_shiny_palette.pal b/graphics/pokemon/palettes/treecko_shiny_palette.pal deleted file mode 100644 index da5dda0e4..000000000 --- a/graphics/pokemon/palettes/treecko_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -123 106 156 -255 213 123 -255 197 82 -230 156 74 -255 106 82 -255 238 197 -238 189 156 -205 156 123 -156 65 41 -213 82 57 -255 255 255 -172 230 238 -148 205 213 -74 164 148 -82 139 131 -16 16 16 diff --git a/graphics/pokemon/palettes/tropius_palette.pal b/graphics/pokemon/palettes/tropius_palette.pal deleted file mode 100644 index efe3d75ab..000000000 --- a/graphics/pokemon/palettes/tropius_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -16 123 189 -32 98 32 -57 172 65 -123 222 139 -189 246 156 -106 74 41 -164 115 49 -189 139 82 -205 164 106 -238 189 57 -255 255 106 -255 255 255 -0 0 0 -230 106 139 -164 82 106 -82 197 90 diff --git a/graphics/pokemon/palettes/tropius_shiny_palette.pal b/graphics/pokemon/palettes/tropius_shiny_palette.pal deleted file mode 100644 index cb02cf449..000000000 --- a/graphics/pokemon/palettes/tropius_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -16 123 189 -49 90 0 -106 148 0 -172 213 32 -205 246 65 -106 74 41 -222 156 8 -246 189 41 -255 222 74 -238 189 57 -255 255 106 -255 255 255 -0 0 0 -230 106 139 -164 82 106 -139 180 0 diff --git a/graphics/pokemon/palettes/typhlosion_palette.pal b/graphics/pokemon/palettes/typhlosion_palette.pal deleted file mode 100644 index 72f0c9c8c..000000000 --- a/graphics/pokemon/palettes/typhlosion_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -98 139 180 -65 82 123 -41 57 98 -0 8 74 -255 238 148 -213 197 106 -164 139 74 -98 74 16 -255 222 0 -255 156 0 -255 98 0 -238 8 0 -16 16 16 -255 255 197 diff --git a/graphics/pokemon/palettes/typhlosion_shiny_palette.pal b/graphics/pokemon/palettes/typhlosion_shiny_palette.pal deleted file mode 100644 index 42fb4ee9c..000000000 --- a/graphics/pokemon/palettes/typhlosion_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -213 106 90 -172 65 74 -131 41 65 -106 32 41 -255 230 115 -222 197 82 -172 139 49 -139 82 24 -255 222 0 -255 156 0 -255 98 0 -238 0 0 -16 16 16 -255 246 156 diff --git a/graphics/pokemon/palettes/tyranitar_palette.pal b/graphics/pokemon/palettes/tyranitar_palette.pal deleted file mode 100644 index 6c5e2941c..000000000 --- a/graphics/pokemon/palettes/tyranitar_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -197 238 197 -164 213 164 -115 164 115 -57 82 57 -255 0 255 -98 180 255 -74 156 230 -32 123 189 -0 74 139 -213 82 0 -148 41 0 -197 197 197 -115 115 115 -16 16 16 diff --git a/graphics/pokemon/palettes/tyranitar_shiny_palette.pal b/graphics/pokemon/palettes/tyranitar_shiny_palette.pal deleted file mode 100644 index 3090536a9..000000000 --- a/graphics/pokemon/palettes/tyranitar_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -246 213 148 -222 189 123 -172 139 82 -106 74 41 -255 0 255 -238 172 213 -213 148 197 -164 98 156 -106 49 98 -213 82 0 -148 41 0 -197 197 197 -115 115 115 -16 16 16 diff --git a/graphics/pokemon/palettes/tyrogue_palette.pal b/graphics/pokemon/palettes/tyrogue_palette.pal deleted file mode 100644 index 97bff0783..000000000 --- a/graphics/pokemon/palettes/tyrogue_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -255 222 255 -238 172 255 -205 131 205 -172 98 156 -131 49 90 -230 139 65 -205 98 41 -180 49 0 -115 0 0 -230 139 65 -180 49 0 -213 213 213 -172 172 172 -16 16 16 diff --git a/graphics/pokemon/palettes/tyrogue_shiny_palette.pal b/graphics/pokemon/palettes/tyrogue_shiny_palette.pal deleted file mode 100644 index e8fef8a16..000000000 --- a/graphics/pokemon/palettes/tyrogue_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -238 230 205 -205 197 172 -156 148 131 -106 98 90 -90 82 65 -82 180 255 -65 139 230 -49 82 180 -32 65 131 -230 139 65 -180 49 0 -213 213 213 -172 172 172 -16 16 16 diff --git a/graphics/pokemon/palettes/umbreon_palette.pal b/graphics/pokemon/palettes/umbreon_palette.pal deleted file mode 100644 index dc6ec68e6..000000000 --- a/graphics/pokemon/palettes/umbreon_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 0 255 -255 0 255 -49 41 41 -65 57 57 -90 82 82 -148 131 131 -180 164 164 -139 98 0 -205 148 41 -255 197 0 -255 238 139 -255 0 255 -16 16 16 -255 90 57 -255 255 255 diff --git a/graphics/pokemon/palettes/umbreon_shiny_palette.pal b/graphics/pokemon/palettes/umbreon_shiny_palette.pal deleted file mode 100644 index 82c71e1ae..000000000 --- a/graphics/pokemon/palettes/umbreon_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 0 255 -255 0 255 -49 41 41 -65 57 57 -90 82 82 -148 131 131 -180 164 164 -32 74 148 -41 106 230 -98 180 255 -148 230 255 -255 0 255 -16 16 16 -255 213 16 -255 255 255 diff --git a/graphics/pokemon/palettes/unown_palette.pal b/graphics/pokemon/palettes/unown_palette.pal deleted file mode 100644 index 6babb2d90..000000000 --- a/graphics/pokemon/palettes/unown_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 0 255 -255 0 255 -255 0 255 -222 222 222 -255 255 255 -16 16 16 -164 164 164 -115 115 115 -82 82 82 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 diff --git a/graphics/pokemon/palettes/unown_shiny_palette.pal b/graphics/pokemon/palettes/unown_shiny_palette.pal deleted file mode 100644 index 016a93548..000000000 --- a/graphics/pokemon/palettes/unown_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 0 255 -255 0 255 -255 0 255 -98 205 255 -255 255 255 -16 16 16 -41 115 255 -32 65 156 -49 57 106 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 diff --git a/graphics/pokemon/palettes/ursaring_palette.pal b/graphics/pokemon/palettes/ursaring_palette.pal deleted file mode 100644 index e77c0b345..000000000 --- a/graphics/pokemon/palettes/ursaring_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -222 197 115 -197 164 82 -164 131 57 -123 98 24 -74 49 0 -255 246 164 -255 213 123 -213 172 82 -180 131 41 -255 0 255 -222 222 222 -180 180 189 -123 123 139 -16 16 16 diff --git a/graphics/pokemon/palettes/ursaring_shiny_palette.pal b/graphics/pokemon/palettes/ursaring_shiny_palette.pal deleted file mode 100644 index 7bb95b380..000000000 --- a/graphics/pokemon/palettes/ursaring_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -164 230 65 -131 205 41 -98 172 16 -65 139 0 -57 82 0 -255 246 164 -255 213 123 -213 172 82 -180 131 41 -255 0 255 -222 222 222 -180 180 189 -123 123 139 -16 16 16 diff --git a/graphics/pokemon/palettes/vaporeon_palette.pal b/graphics/pokemon/palettes/vaporeon_palette.pal deleted file mode 100644 index e6a4024f1..000000000 --- a/graphics/pokemon/palettes/vaporeon_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 213 -255 255 255 -230 230 230 -172 172 205 -255 238 123 -230 189 74 -139 123 41 -115 139 180 -90 115 156 -49 65 123 -90 90 115 -131 238 213 -98 205 180 -57 164 139 -16 106 82 -41 41 41 diff --git a/graphics/pokemon/palettes/vaporeon_shiny_palette.pal b/graphics/pokemon/palettes/vaporeon_shiny_palette.pal deleted file mode 100644 index 1cfaae92b..000000000 --- a/graphics/pokemon/palettes/vaporeon_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 213 -255 255 255 -230 230 230 -172 172 205 -255 255 156 -230 197 74 -139 139 16 -172 90 115 -180 115 156 -131 57 90 -90 90 115 -255 197 246 -230 172 230 -189 131 197 -123 65 139 -41 41 41 diff --git a/graphics/pokemon/palettes/venomoth_palette.pal b/graphics/pokemon/palettes/venomoth_palette.pal deleted file mode 100644 index 4ebc1f953..000000000 --- a/graphics/pokemon/palettes/venomoth_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 205 139 -255 255 255 -230 230 230 -172 197 197 -230 213 172 -197 172 139 -164 131 106 -98 82 57 -238 230 98 -246 213 82 -16 16 16 -246 222 255 -238 197 255 -213 172 222 -172 139 205 -98 74 115 diff --git a/graphics/pokemon/palettes/venomoth_shiny_palette.pal b/graphics/pokemon/palettes/venomoth_shiny_palette.pal deleted file mode 100644 index 89ad92feb..000000000 --- a/graphics/pokemon/palettes/venomoth_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 197 148 -255 255 255 -230 230 230 -172 197 197 -230 213 172 -197 172 139 -164 131 106 -98 82 57 -238 230 98 -246 213 82 -16 16 16 -156 213 255 -139 189 238 -139 172 230 -98 131 197 -49 74 115 diff --git a/graphics/pokemon/palettes/venonat_palette.pal b/graphics/pokemon/palettes/venonat_palette.pal deleted file mode 100644 index 26db14b2d..000000000 --- a/graphics/pokemon/palettes/venonat_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 213 156 -255 255 255 -148 115 164 -213 213 213 -123 123 123 -255 180 172 -255 123 82 -197 82 32 -238 189 156 -189 139 106 -131 82 49 -164 139 189 -139 106 156 -106 82 115 -65 57 82 -16 16 16 diff --git a/graphics/pokemon/palettes/venonat_shiny_palette.pal b/graphics/pokemon/palettes/venonat_shiny_palette.pal deleted file mode 100644 index 88c346a27..000000000 --- a/graphics/pokemon/palettes/venonat_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 180 -255 255 255 -148 115 164 -213 213 213 -131 131 131 -156 230 255 -106 180 255 -57 131 197 -238 189 156 -189 139 106 -139 90 57 -180 123 197 -148 82 164 -106 65 115 -65 16 82 -16 16 16 diff --git a/graphics/pokemon/palettes/venusaur_palette.pal b/graphics/pokemon/palettes/venusaur_palette.pal deleted file mode 100644 index f88c8375d..000000000 --- a/graphics/pokemon/palettes/venusaur_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -238 238 238 -32 98 49 -98 156 115 -90 205 148 -139 238 189 -139 57 0 -189 106 49 -16 16 16 -230 74 65 -255 131 115 -156 246 139 -222 205 49 -255 238 82 -65 164 24 -106 205 65 -255 255 255 diff --git a/graphics/pokemon/palettes/venusaur_shiny_palette.pal b/graphics/pokemon/palettes/venusaur_shiny_palette.pal deleted file mode 100644 index b00e69629..000000000 --- a/graphics/pokemon/palettes/venusaur_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -16 82 32 -131 164 0 -180 213 16 -213 246 49 -131 49 0 -189 106 49 -16 16 16 -246 123 0 -255 197 41 -156 246 139 -255 238 82 -255 255 255 -41 164 16 -82 205 57 -255 255 255 diff --git a/graphics/pokemon/palettes/vibrava_palette.pal b/graphics/pokemon/palettes/vibrava_palette.pal deleted file mode 100644 index 7f40d2316..000000000 --- a/graphics/pokemon/palettes/vibrava_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 197 148 -139 238 180 -98 197 148 -49 139 98 -255 255 164 -230 213 139 -189 180 123 -222 222 255 -189 189 222 -205 205 205 -123 115 57 -0 0 0 -164 164 164 -131 131 131 -82 82 82 -255 255 255 diff --git a/graphics/pokemon/palettes/vibrava_shiny_palette.pal b/graphics/pokemon/palettes/vibrava_shiny_palette.pal deleted file mode 100644 index 8da128d69..000000000 --- a/graphics/pokemon/palettes/vibrava_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 197 148 -255 180 123 -246 123 74 -197 82 24 -255 255 164 -230 213 139 -189 180 123 -222 222 255 -189 189 222 -205 205 205 -123 115 57 -0 0 0 -164 164 164 -131 131 131 -106 106 106 -255 255 255 diff --git a/graphics/pokemon/palettes/victreebel_palette.pal b/graphics/pokemon/palettes/victreebel_palette.pal deleted file mode 100644 index 635eae0ab..000000000 --- a/graphics/pokemon/palettes/victreebel_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 180 -255 255 255 -180 131 41 -213 213 213 -255 164 115 -213 74 32 -255 230 156 -255 213 106 -230 172 90 -189 255 115 -156 213 74 -115 172 49 -82 98 41 -180 123 49 -106 65 0 -16 16 16 diff --git a/graphics/pokemon/palettes/victreebel_shiny_palette.pal b/graphics/pokemon/palettes/victreebel_shiny_palette.pal deleted file mode 100644 index 2542072f3..000000000 --- a/graphics/pokemon/palettes/victreebel_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 180 -255 255 255 -131 148 8 -213 213 213 -90 156 222 -49 115 180 -255 255 156 -230 255 106 -189 213 65 -238 213 115 -197 172 74 -156 131 32 -106 82 16 -180 123 49 -106 65 0 -16 16 16 diff --git a/graphics/pokemon/palettes/vigoroth_palette.pal b/graphics/pokemon/palettes/vigoroth_palette.pal deleted file mode 100644 index 824efe711..000000000 --- a/graphics/pokemon/palettes/vigoroth_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -74 123 164 -82 65 32 -115 49 49 -115 82 41 -139 106 65 -65 65 65 -131 131 131 -205 205 205 -255 255 255 -139 65 90 -213 57 49 -255 98 98 -230 230 230 -172 131 98 -90 90 82 -0 0 0 diff --git a/graphics/pokemon/palettes/vigoroth_shiny_palette.pal b/graphics/pokemon/palettes/vigoroth_shiny_palette.pal deleted file mode 100644 index adc647979..000000000 --- a/graphics/pokemon/palettes/vigoroth_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -74 123 164 -82 65 32 -115 49 49 -115 82 41 -139 106 65 -65 65 65 -205 148 82 -246 213 115 -255 255 255 -172 74 0 -230 82 24 -255 164 98 -255 238 156 -172 131 98 -90 90 82 -0 0 0 diff --git a/graphics/pokemon/palettes/vileplume_palette.pal b/graphics/pokemon/palettes/vileplume_palette.pal deleted file mode 100644 index 56a9e2e64..000000000 --- a/graphics/pokemon/palettes/vileplume_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 222 222 -255 255 255 -255 164 41 -197 156 41 -180 106 32 -255 98 98 -238 49 49 -197 65 82 -139 32 24 -255 205 213 -246 172 180 -115 131 164 -90 98 131 -65 74 98 -24 41 74 -16 16 16 diff --git a/graphics/pokemon/palettes/vileplume_shiny_palette.pal b/graphics/pokemon/palettes/vileplume_shiny_palette.pal deleted file mode 100644 index 6def71be1..000000000 --- a/graphics/pokemon/palettes/vileplume_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 222 222 -255 255 255 -255 230 156 -230 172 90 -189 131 49 -255 238 123 -246 205 90 -230 164 41 -172 90 24 -255 255 238 -255 246 205 -98 180 74 -90 148 74 -74 115 65 -32 74 24 -16 16 16 diff --git a/graphics/pokemon/palettes/volbeat_palette.pal b/graphics/pokemon/palettes/volbeat_palette.pal deleted file mode 100644 index 8d2cedfa8..000000000 --- a/graphics/pokemon/palettes/volbeat_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 197 148 -222 222 222 -139 139 148 -74 74 82 -0 0 0 -246 131 115 -230 82 98 -205 57 82 -139 49 74 -255 230 82 -222 189 82 -98 74 49 -164 180 197 -123 139 164 -74 82 106 -255 255 255 diff --git a/graphics/pokemon/palettes/volbeat_shiny_palette.pal b/graphics/pokemon/palettes/volbeat_shiny_palette.pal deleted file mode 100644 index 106d373cf..000000000 --- a/graphics/pokemon/palettes/volbeat_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 197 148 -222 222 222 -139 139 148 -74 74 82 -0 0 0 -123 197 255 -90 172 230 -49 131 197 -74 74 131 -255 230 82 -222 189 82 -98 74 49 -205 139 222 -164 82 189 -65 32 82 -255 255 255 diff --git a/graphics/pokemon/palettes/voltorb_palette.pal b/graphics/pokemon/palettes/voltorb_palette.pal deleted file mode 100644 index 96cf0dd7e..000000000 --- a/graphics/pokemon/palettes/voltorb_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -230 230 230 -255 255 255 -222 213 213 -180 172 172 -90 82 82 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 131 131 -255 172 156 -255 82 32 -230 65 0 -205 65 65 -131 16 16 -16 16 16 diff --git a/graphics/pokemon/palettes/voltorb_shiny_palette.pal b/graphics/pokemon/palettes/voltorb_shiny_palette.pal deleted file mode 100644 index 20cb4fbfa..000000000 --- a/graphics/pokemon/palettes/voltorb_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -230 230 230 -255 255 255 -222 213 213 -180 172 172 -90 82 82 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -49 90 205 -82 106 238 -41 65 197 -0 24 156 -0 0 115 -0 0 74 -16 16 16 diff --git a/graphics/pokemon/palettes/vulpix_palette.pal b/graphics/pokemon/palettes/vulpix_palette.pal deleted file mode 100644 index 1e7a92f57..000000000 --- a/graphics/pokemon/palettes/vulpix_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 180 -255 255 255 -255 230 180 -255 222 148 -16 16 16 -238 156 74 -205 123 41 -172 90 8 -255 131 74 -222 106 41 -189 65 41 -148 49 0 -246 189 123 -230 148 106 -197 115 74 -131 57 0 diff --git a/graphics/pokemon/palettes/vulpix_shiny_palette.pal b/graphics/pokemon/palettes/vulpix_shiny_palette.pal deleted file mode 100644 index ba3fa06a8..000000000 --- a/graphics/pokemon/palettes/vulpix_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 180 -255 255 255 -246 255 230 -213 222 189 -16 16 16 -197 180 41 -156 139 0 -115 98 0 -246 205 8 -222 180 0 -180 139 0 -123 82 0 -246 238 82 -222 213 0 -197 180 0 -90 74 0 diff --git a/graphics/pokemon/palettes/wailmer_palette.pal b/graphics/pokemon/palettes/wailmer_palette.pal deleted file mode 100644 index 4e56fb42a..000000000 --- a/graphics/pokemon/palettes/wailmer_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -131 172 90 -32 49 74 -49 106 156 -74 131 180 -98 156 205 -255 238 205 -238 213 164 -205 180 131 -0 0 0 -156 139 98 -148 197 238 -57 82 123 -106 98 74 -131 139 156 -180 189 197 -255 255 255 diff --git a/graphics/pokemon/palettes/wailmer_shiny_palette.pal b/graphics/pokemon/palettes/wailmer_shiny_palette.pal deleted file mode 100644 index 296519dbd..000000000 --- a/graphics/pokemon/palettes/wailmer_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -131 172 90 -82 41 123 -148 106 189 -180 139 222 -213 172 255 -255 238 205 -238 213 164 -205 180 131 -0 0 0 -156 139 98 -246 205 255 -115 74 156 -106 98 74 -131 139 156 -180 189 197 -255 255 255 diff --git a/graphics/pokemon/palettes/wailord_palette.pal b/graphics/pokemon/palettes/wailord_palette.pal deleted file mode 100644 index 55fdf02f6..000000000 --- a/graphics/pokemon/palettes/wailord_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 197 197 -238 230 255 -213 205 222 -180 172 180 -180 156 172 -131 115 131 -148 172 255 -82 131 255 -49 98 255 -41 82 197 -49 57 90 -123 106 98 -82 74 74 -0 0 0 -180 205 255 -41 82 123 diff --git a/graphics/pokemon/palettes/wailord_shiny_palette.pal b/graphics/pokemon/palettes/wailord_shiny_palette.pal deleted file mode 100644 index 31a687fb9..000000000 --- a/graphics/pokemon/palettes/wailord_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 197 197 -238 230 255 -213 205 222 -180 172 180 -180 156 172 -131 115 131 -230 197 255 -213 172 255 -172 131 213 -131 90 172 -82 41 123 -123 106 98 -82 74 74 -0 0 0 -246 222 255 -115 74 156 diff --git a/graphics/pokemon/palettes/walrein_palette.pal b/graphics/pokemon/palettes/walrein_palette.pal deleted file mode 100644 index 2b4fb8ad4..000000000 --- a/graphics/pokemon/palettes/walrein_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 115 148 -49 82 123 -57 115 172 -90 139 197 -131 180 230 -164 131 90 -255 197 98 -255 222 131 -255 255 164 -197 49 49 -238 131 131 -123 180 255 -197 205 222 -0 0 0 -222 230 255 -255 255 255 diff --git a/graphics/pokemon/palettes/walrein_shiny_palette.pal b/graphics/pokemon/palettes/walrein_shiny_palette.pal deleted file mode 100644 index 0d93d3e7d..000000000 --- a/graphics/pokemon/palettes/walrein_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 115 148 -82 74 123 -164 90 189 -197 131 222 -230 180 238 -164 131 90 -255 197 98 -255 222 131 -255 255 164 -197 49 49 -238 131 131 -123 180 255 -197 205 222 -0 0 0 -222 230 255 -255 255 255 diff --git a/graphics/pokemon/palettes/wartortle_palette.pal b/graphics/pokemon/palettes/wartortle_palette.pal deleted file mode 100644 index b497d87b3..000000000 --- a/graphics/pokemon/palettes/wartortle_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 238 230 -255 255 255 -230 238 230 -197 213 222 -197 49 0 -205 131 32 -148 98 98 -106 74 24 -246 238 139 -222 197 139 -189 139 57 -213 189 255 -172 139 238 -123 106 197 -82 65 123 -16 16 16 diff --git a/graphics/pokemon/palettes/wartortle_shiny_palette.pal b/graphics/pokemon/palettes/wartortle_shiny_palette.pal deleted file mode 100644 index 081f832f8..000000000 --- a/graphics/pokemon/palettes/wartortle_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -197 238 197 -156 213 164 -197 49 0 -164 148 65 -98 115 32 -65 82 0 -255 222 115 -230 172 90 -189 139 57 -230 205 238 -205 172 230 -164 139 180 -82 65 106 -16 16 16 diff --git a/graphics/pokemon/palettes/weedle_palette.pal b/graphics/pokemon/palettes/weedle_palette.pal deleted file mode 100644 index 32a4c1222..000000000 --- a/graphics/pokemon/palettes/weedle_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -205 205 205 -131 131 148 -255 205 115 -238 172 65 -213 139 106 -139 41 16 -255 205 180 -230 106 106 -205 41 0 -139 41 16 -255 238 180 -238 172 115 -255 0 255 -24 24 24 diff --git a/graphics/pokemon/palettes/weedle_shiny_palette.pal b/graphics/pokemon/palettes/weedle_shiny_palette.pal deleted file mode 100644 index 8d572dc19..000000000 --- a/graphics/pokemon/palettes/weedle_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -205 205 205 -131 131 148 -255 246 106 -255 222 65 -230 180 49 -156 98 24 -246 197 213 -230 164 205 -180 115 148 -115 65 98 -255 238 180 -213 197 106 -255 0 255 -24 24 24 diff --git a/graphics/pokemon/palettes/weepinbell_palette.pal b/graphics/pokemon/palettes/weepinbell_palette.pal deleted file mode 100644 index 162f84084..000000000 --- a/graphics/pokemon/palettes/weepinbell_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -246 246 246 -255 255 255 -180 131 41 -255 164 115 -238 115 65 -189 65 16 -255 230 156 -255 213 106 -238 180 0 -189 255 115 -156 213 74 -115 172 49 -82 98 41 -172 123 41 -115 82 16 -16 16 16 diff --git a/graphics/pokemon/palettes/weepinbell_shiny_palette.pal b/graphics/pokemon/palettes/weepinbell_shiny_palette.pal deleted file mode 100644 index 2c7c777e6..000000000 --- a/graphics/pokemon/palettes/weepinbell_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -246 246 246 -255 255 255 -106 139 16 -197 172 180 -156 131 139 -115 90 98 -255 255 115 -222 230 74 -180 189 32 -246 255 123 -205 238 82 -164 197 41 -74 106 0 -172 123 41 -115 82 16 -16 16 16 diff --git a/graphics/pokemon/palettes/weezing_palette.pal b/graphics/pokemon/palettes/weezing_palette.pal deleted file mode 100644 index d3d46dd7a..000000000 --- a/graphics/pokemon/palettes/weezing_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -139 205 156 -255 255 255 -230 230 230 -230 205 57 -255 230 0 -222 98 32 -164 32 0 -255 255 123 -230 213 115 -197 180 41 -238 172 197 -213 148 172 -180 106 139 -139 65 98 -98 41 65 -16 16 16 diff --git a/graphics/pokemon/palettes/weezing_shiny_palette.pal b/graphics/pokemon/palettes/weezing_shiny_palette.pal deleted file mode 100644 index 3ba9720b5..000000000 --- a/graphics/pokemon/palettes/weezing_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 205 -255 255 255 -222 222 222 -172 90 156 -205 123 172 -222 98 32 -164 32 0 -213 139 197 -180 106 164 -139 65 123 -172 222 213 -148 189 189 -106 148 148 -41 82 82 -8 49 49 -16 16 16 diff --git a/graphics/pokemon/palettes/whiscash_palette.pal b/graphics/pokemon/palettes/whiscash_palette.pal deleted file mode 100644 index c6b70659b..000000000 --- a/graphics/pokemon/palettes/whiscash_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -164 156 90 -0 0 0 -82 98 148 -98 115 164 -115 139 180 -148 180 222 -222 164 57 -255 213 74 -172 238 255 -57 74 115 -139 106 49 -131 148 172 -131 197 230 -106 189 222 -131 222 255 -255 255 255 diff --git a/graphics/pokemon/palettes/whiscash_shiny_palette.pal b/graphics/pokemon/palettes/whiscash_shiny_palette.pal deleted file mode 100644 index 12554c568..000000000 --- a/graphics/pokemon/palettes/whiscash_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -164 156 90 -0 0 0 -57 65 82 -74 82 98 -115 106 123 -148 139 156 -222 98 49 -255 123 82 -172 238 255 -57 74 115 -180 65 49 -131 148 172 -131 197 230 -106 189 222 -131 222 255 -255 255 255 diff --git a/graphics/pokemon/palettes/whismur_palette.pal b/graphics/pokemon/palettes/whismur_palette.pal deleted file mode 100644 index e57bb7b39..000000000 --- a/graphics/pokemon/palettes/whismur_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -255 164 238 -238 148 213 -222 106 189 -189 82 139 -139 57 98 -115 8 24 -255 213 123 -246 172 57 -213 156 0 -164 115 24 -213 213 222 -156 156 164 -90 90 106 -0 0 0 diff --git a/graphics/pokemon/palettes/whismur_shiny_palette.pal b/graphics/pokemon/palettes/whismur_shiny_palette.pal deleted file mode 100644 index 395867cad..000000000 --- a/graphics/pokemon/palettes/whismur_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -255 205 205 -255 172 197 -238 123 156 -222 90 115 -189 49 65 -115 8 24 -205 255 172 -148 230 148 -115 189 115 -65 139 90 -213 213 222 -156 156 164 -90 90 106 -41 41 57 diff --git a/graphics/pokemon/palettes/wigglytuff_palette.pal b/graphics/pokemon/palettes/wigglytuff_palette.pal deleted file mode 100644 index 8751c488e..000000000 --- a/graphics/pokemon/palettes/wigglytuff_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -230 230 230 -255 255 255 -148 222 205 -230 49 49 -82 164 139 -32 90 98 -156 106 32 -115 65 24 -230 230 230 -205 205 205 -16 16 16 -255 222 205 -255 197 172 -246 148 148 -205 106 98 -156 74 74 diff --git a/graphics/pokemon/palettes/wigglytuff_shiny_palette.pal b/graphics/pokemon/palettes/wigglytuff_shiny_palette.pal deleted file mode 100644 index e05e38f24..000000000 --- a/graphics/pokemon/palettes/wigglytuff_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -230 230 230 -255 255 255 -98 230 131 -230 49 49 -90 197 106 -57 156 65 -156 106 32 -115 65 24 -230 230 230 -205 205 205 -16 16 16 -255 222 238 -246 197 230 -230 172 213 -180 115 164 -74 24 74 diff --git a/graphics/pokemon/palettes/wingull_palette.pal b/graphics/pokemon/palettes/wingull_palette.pal deleted file mode 100644 index ce5820061..000000000 --- a/graphics/pokemon/palettes/wingull_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -156 205 255 -57 57 57 -139 139 139 -222 213 255 -197 189 230 -246 238 255 -49 82 139 -222 131 0 -255 172 49 -139 90 16 -82 115 230 -115 164 255 -98 98 98 -0 0 0 -0 0 0 -255 205 106 diff --git a/graphics/pokemon/palettes/wingull_shiny_palette.pal b/graphics/pokemon/palettes/wingull_shiny_palette.pal deleted file mode 100644 index 59785b7cb..000000000 --- a/graphics/pokemon/palettes/wingull_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -156 205 255 -57 57 57 -131 156 164 -222 197 246 -205 172 230 -246 238 255 -41 106 41 -222 131 0 -255 172 49 -139 90 16 -90 156 57 -123 205 90 -98 98 98 -0 0 0 -0 0 0 -255 205 106 diff --git a/graphics/pokemon/palettes/wobbuffet_palette.pal b/graphics/pokemon/palettes/wobbuffet_palette.pal deleted file mode 100644 index e83cdc8c2..000000000 --- a/graphics/pokemon/palettes/wobbuffet_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 222 222 -255 0 255 -164 16 0 -197 57 0 -222 82 0 -255 139 0 -41 74 82 -32 115 148 -74 156 189 -106 189 222 -156 213 238 -255 0 255 -16 16 16 -82 82 82 -131 131 131 -255 255 255 diff --git a/graphics/pokemon/palettes/wobbuffet_shiny_palette.pal b/graphics/pokemon/palettes/wobbuffet_shiny_palette.pal deleted file mode 100644 index 0fa077555..000000000 --- a/graphics/pokemon/palettes/wobbuffet_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 222 222 -255 0 255 -164 16 0 -197 57 0 -222 82 0 -255 139 0 -106 57 90 -156 65 139 -205 90 189 -238 123 205 -255 164 213 -255 0 255 -16 16 16 -82 82 82 -131 131 131 -255 255 255 diff --git a/graphics/pokemon/palettes/wooper_palette.pal b/graphics/pokemon/palettes/wooper_palette.pal deleted file mode 100644 index f364d6c71..000000000 --- a/graphics/pokemon/palettes/wooper_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -148 131 164 -16 41 115 -49 74 131 -74 156 213 -139 197 246 -197 230 230 -238 172 255 -197 123 197 -148 98 164 -98 57 106 -255 0 255 -255 0 255 -255 0 255 -16 16 16 -255 255 255 diff --git a/graphics/pokemon/palettes/wooper_shiny_palette.pal b/graphics/pokemon/palettes/wooper_shiny_palette.pal deleted file mode 100644 index cf0a3ce59..000000000 --- a/graphics/pokemon/palettes/wooper_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -180 90 98 -123 57 49 -156 90 90 -213 156 164 -246 197 205 -255 230 213 -255 213 172 -230 148 98 -197 98 82 -131 74 74 -255 0 255 -255 0 255 -255 0 255 -16 16 16 -255 255 255 diff --git a/graphics/pokemon/palettes/wurmple_palette.pal b/graphics/pokemon/palettes/wurmple_palette.pal deleted file mode 100644 index 2fe1fd189..000000000 --- a/graphics/pokemon/palettes/wurmple_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 197 197 -98 82 82 -180 164 156 -255 255 255 -230 213 238 -205 82 90 -246 123 98 -246 189 139 -230 213 238 -222 213 164 -255 255 213 -148 148 0 -246 246 0 -197 197 90 -0 0 0 -24 24 24 diff --git a/graphics/pokemon/palettes/wurmple_shiny_palette.pal b/graphics/pokemon/palettes/wurmple_shiny_palette.pal deleted file mode 100644 index 3217ddc57..000000000 --- a/graphics/pokemon/palettes/wurmple_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 197 197 -98 82 82 -180 164 156 -255 255 255 -230 213 238 -164 82 139 -189 131 164 -222 164 197 -230 213 238 -222 213 164 -255 255 213 -148 148 0 -246 246 0 -197 197 90 -0 0 0 -24 24 24 diff --git a/graphics/pokemon/palettes/wynaut_palette.pal b/graphics/pokemon/palettes/wynaut_palette.pal deleted file mode 100644 index c37046634..000000000 --- a/graphics/pokemon/palettes/wynaut_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 148 98 -41 74 82 -74 156 189 -106 189 222 -156 213 238 -164 49 65 -222 90 98 -65 57 57 -131 123 123 -106 98 98 -205 205 197 -255 255 255 -57 123 164 -123 41 57 -0 0 0 -205 246 164 diff --git a/graphics/pokemon/palettes/wynaut_shiny_palette.pal b/graphics/pokemon/palettes/wynaut_shiny_palette.pal deleted file mode 100644 index 7a5032aa6..000000000 --- a/graphics/pokemon/palettes/wynaut_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 148 98 -106 57 90 -197 82 189 -238 123 205 -255 164 213 -164 49 65 -222 90 98 -65 57 57 -131 123 123 -106 98 98 -205 205 197 -255 255 255 -180 115 90 -123 41 57 -0 0 0 -205 246 164 diff --git a/graphics/pokemon/palettes/xatu_palette.pal b/graphics/pokemon/palettes/xatu_palette.pal deleted file mode 100644 index b6ab27604..000000000 --- a/graphics/pokemon/palettes/xatu_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -156 230 74 -82 205 74 -74 148 65 -49 98 41 -255 222 65 -189 148 32 -139 90 0 -238 57 0 -180 49 0 -131 41 0 -205 205 205 -148 148 148 -82 82 82 -41 41 41 diff --git a/graphics/pokemon/palettes/xatu_shiny_palette.pal b/graphics/pokemon/palettes/xatu_shiny_palette.pal deleted file mode 100644 index 2dcf957e9..000000000 --- a/graphics/pokemon/palettes/xatu_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -255 255 255 -189 255 65 -164 230 49 -115 189 8 -65 106 0 -255 222 65 -189 148 32 -139 90 0 -255 164 57 -213 106 16 -115 74 0 -205 205 205 -148 148 148 -82 82 82 -41 41 41 diff --git a/graphics/pokemon/palettes/yanma_palette.pal b/graphics/pokemon/palettes/yanma_palette.pal deleted file mode 100644 index a53cd19e3..000000000 --- a/graphics/pokemon/palettes/yanma_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -148 49 0 -255 0 255 -213 65 0 -255 123 65 -255 222 148 -16 16 16 -49 106 0 -82 180 32 -131 238 32 -74 74 82 -255 0 255 -115 131 139 -164 180 213 -230 255 255 -255 0 255 diff --git a/graphics/pokemon/palettes/yanma_shiny_palette.pal b/graphics/pokemon/palettes/yanma_shiny_palette.pal deleted file mode 100644 index 08b7c0cce..000000000 --- a/graphics/pokemon/palettes/yanma_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 205 172 -0 65 148 -255 0 255 -41 115 230 -74 180 255 -115 230 255 -16 16 16 -49 106 0 -82 180 32 -131 238 32 -74 74 82 -255 0 255 -115 131 139 -164 180 213 -230 255 255 -255 0 255 diff --git a/graphics/pokemon/palettes/zangoose_palette.pal b/graphics/pokemon/palettes/zangoose_palette.pal deleted file mode 100644 index eb0ef7068..000000000 --- a/graphics/pokemon/palettes/zangoose_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 197 197 -255 255 255 -230 222 230 -189 172 180 -148 131 139 -106 90 98 -255 98 106 -205 90 106 -139 65 82 -255 164 148 -213 139 230 -123 106 98 -213 197 205 -0 0 0 -180 98 205 -123 57 131 diff --git a/graphics/pokemon/palettes/zangoose_shiny_palette.pal b/graphics/pokemon/palettes/zangoose_shiny_palette.pal deleted file mode 100644 index 82487aa4f..000000000 --- a/graphics/pokemon/palettes/zangoose_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 197 197 -255 255 255 -230 222 230 -189 172 180 -148 131 139 -106 90 98 -49 131 197 -74 74 131 -57 57 115 -90 172 230 -255 123 82 -123 106 98 -213 197 205 -0 0 0 -222 98 49 -180 49 32 diff --git a/graphics/pokemon/palettes/zapdos_palette.pal b/graphics/pokemon/palettes/zapdos_palette.pal deleted file mode 100644 index 88e36bd7f..000000000 --- a/graphics/pokemon/palettes/zapdos_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -131 213 123 -255 255 255 -222 222 222 -156 156 156 -65 65 65 -16 16 16 -255 0 255 -255 0 255 -255 189 57 -222 164 49 -148 90 32 -255 255 139 -255 238 0 -230 205 16 -172 139 65 -123 90 41 diff --git a/graphics/pokemon/palettes/zapdos_shiny_palette.pal b/graphics/pokemon/palettes/zapdos_shiny_palette.pal deleted file mode 100644 index fb7840ebc..000000000 --- a/graphics/pokemon/palettes/zapdos_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 189 -255 255 255 -222 222 222 -156 156 156 -90 90 90 -16 16 16 -255 0 255 -255 0 255 -255 106 65 -213 65 32 -156 57 41 -255 238 32 -255 197 0 -205 148 0 -156 98 0 -115 57 0 diff --git a/graphics/pokemon/palettes/zigzagoon_palette.pal b/graphics/pokemon/palettes/zigzagoon_palette.pal deleted file mode 100644 index 55f6178cb..000000000 --- a/graphics/pokemon/palettes/zigzagoon_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -156 189 131 -74 65 41 -172 123 90 -205 156 123 -238 189 156 -255 238 197 -65 57 49 -106 90 74 -197 172 139 -230 213 172 -255 255 255 -164 32 0 -205 57 32 -164 148 123 -123 90 74 -16 0 0 diff --git a/graphics/pokemon/palettes/zigzagoon_shiny_palette.pal b/graphics/pokemon/palettes/zigzagoon_shiny_palette.pal deleted file mode 100644 index fe2d3cbc9..000000000 --- a/graphics/pokemon/palettes/zigzagoon_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -156 189 131 -74 65 41 -197 98 65 -222 131 74 -238 164 74 -255 238 197 -49 49 41 -98 57 41 -197 172 139 -230 213 172 -255 255 255 -164 32 0 -205 57 32 -164 148 123 -131 82 57 -16 0 0 diff --git a/graphics/pokemon/palettes/zubat_palette.pal b/graphics/pokemon/palettes/zubat_palette.pal deleted file mode 100644 index e9b2a3018..000000000 --- a/graphics/pokemon/palettes/zubat_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -230 230 230 -255 255 255 -213 213 213 -98 98 98 -16 16 16 -255 0 255 -189 205 255 -139 180 238 -106 139 189 -74 65 123 -246 131 222 -213 115 189 -180 82 156 -115 32 90 -255 0 255 -255 0 255 diff --git a/graphics/pokemon/palettes/zubat_shiny_palette.pal b/graphics/pokemon/palettes/zubat_shiny_palette.pal deleted file mode 100644 index ab2540e88..000000000 --- a/graphics/pokemon/palettes/zubat_shiny_palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -230 230 230 -255 255 255 -213 213 213 -98 98 98 -16 16 16 -255 0 255 -148 180 98 -106 139 57 -65 98 16 -24 57 0 -238 222 213 -205 180 172 -164 139 131 -106 82 74 -255 0 255 -255 0 255 diff --git a/graphics/pokemon/paras/back.png b/graphics/pokemon/paras/back.png new file mode 100644 index 000000000..cb77d2d77 Binary files /dev/null and b/graphics/pokemon/paras/back.png differ diff --git a/graphics/pokemon/paras/footprint.png b/graphics/pokemon/paras/footprint.png new file mode 100644 index 000000000..f8d7574d2 Binary files /dev/null and b/graphics/pokemon/paras/footprint.png differ diff --git a/graphics/pokemon/paras/front.png b/graphics/pokemon/paras/front.png new file mode 100644 index 000000000..6fceba2f2 Binary files /dev/null and b/graphics/pokemon/paras/front.png differ diff --git a/graphics/pokemon/paras/icon.png b/graphics/pokemon/paras/icon.png new file mode 100644 index 000000000..6b828b058 Binary files /dev/null and b/graphics/pokemon/paras/icon.png differ diff --git a/graphics/pokemon/paras/normal.pal b/graphics/pokemon/paras/normal.pal new file mode 100644 index 000000000..9dc798375 --- /dev/null +++ b/graphics/pokemon/paras/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 246 255 +230 230 230 +164 164 164 +255 246 90 +222 213 57 +255 123 123 +230 57 57 +180 8 8 +255 0 255 +255 172 98 +238 139 49 +189 131 49 +131 82 32 +255 0 255 +16 16 16 diff --git a/graphics/pokemon/paras/shiny.pal b/graphics/pokemon/paras/shiny.pal new file mode 100644 index 000000000..9174d9168 --- /dev/null +++ b/graphics/pokemon/paras/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 246 255 +230 230 230 +164 164 164 +255 255 205 +246 238 115 +255 213 65 +238 156 49 +139 115 16 +255 0 255 +230 139 32 +197 106 32 +148 74 32 +106 41 0 +255 0 255 +16 16 16 diff --git a/graphics/pokemon/parasect/back.png b/graphics/pokemon/parasect/back.png new file mode 100644 index 000000000..f313d5a91 Binary files /dev/null and b/graphics/pokemon/parasect/back.png differ diff --git a/graphics/pokemon/parasect/footprint.png b/graphics/pokemon/parasect/footprint.png new file mode 100644 index 000000000..e0f1715f2 Binary files /dev/null and b/graphics/pokemon/parasect/footprint.png differ diff --git a/graphics/pokemon/parasect/front.png b/graphics/pokemon/parasect/front.png new file mode 100644 index 000000000..ebded40ab Binary files /dev/null and b/graphics/pokemon/parasect/front.png differ diff --git a/graphics/pokemon/parasect/icon.png b/graphics/pokemon/parasect/icon.png new file mode 100644 index 000000000..907cbf5ca Binary files /dev/null and b/graphics/pokemon/parasect/icon.png differ diff --git a/graphics/pokemon/parasect/normal.pal b/graphics/pokemon/parasect/normal.pal new file mode 100644 index 000000000..3350e5c48 --- /dev/null +++ b/graphics/pokemon/parasect/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 246 255 +213 213 213 +156 139 164 +255 213 82 +213 205 49 +255 106 106 +238 49 49 +197 49 57 +139 8 8 +255 0 255 +255 131 82 +222 106 49 +180 65 49 +106 24 8 +16 16 16 diff --git a/graphics/pokemon/parasect/shiny.pal b/graphics/pokemon/parasect/shiny.pal new file mode 100644 index 000000000..3574c408f --- /dev/null +++ b/graphics/pokemon/parasect/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 246 255 +230 230 230 +164 164 164 +255 246 90 +213 205 49 +255 213 90 +255 172 49 +213 131 8 +156 74 0 +255 0 255 +255 189 82 +213 148 41 +172 106 0 +131 65 0 +16 16 16 diff --git a/graphics/pokemon/pelipper/back.png b/graphics/pokemon/pelipper/back.png new file mode 100644 index 000000000..4b155c28d Binary files /dev/null and b/graphics/pokemon/pelipper/back.png differ diff --git a/graphics/pokemon/pelipper/footprint.png b/graphics/pokemon/pelipper/footprint.png new file mode 100644 index 000000000..54718d259 Binary files /dev/null and b/graphics/pokemon/pelipper/footprint.png differ diff --git a/graphics/pokemon/pelipper/front.png b/graphics/pokemon/pelipper/front.png new file mode 100644 index 000000000..1bf3669ae Binary files /dev/null and b/graphics/pokemon/pelipper/front.png differ diff --git a/graphics/pokemon/pelipper/icon.png b/graphics/pokemon/pelipper/icon.png new file mode 100644 index 000000000..55a16bc5f Binary files /dev/null and b/graphics/pokemon/pelipper/icon.png differ diff --git a/graphics/pokemon/pelipper/normal.pal b/graphics/pokemon/pelipper/normal.pal new file mode 100644 index 000000000..c78d73c37 --- /dev/null +++ b/graphics/pokemon/pelipper/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +131 189 139 +131 90 65 +230 172 90 +255 213 98 +255 238 156 +82 82 90 +148 213 230 +57 156 180 +115 189 213 +222 222 238 +246 246 255 +139 65 90 +189 139 57 +0 0 0 +156 156 172 +32 98 123 diff --git a/graphics/pokemon/pelipper/shiny.pal b/graphics/pokemon/pelipper/shiny.pal new file mode 100644 index 000000000..41686ffed --- /dev/null +++ b/graphics/pokemon/pelipper/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +131 189 139 +131 90 65 +238 189 90 +255 230 106 +255 238 189 +82 82 90 +156 238 123 +90 156 57 +123 205 90 +230 205 255 +246 246 255 +139 65 90 +189 139 57 +0 0 0 +156 156 172 +32 98 123 diff --git a/graphics/pokemon/persian/back.png b/graphics/pokemon/persian/back.png new file mode 100644 index 000000000..f9acc3c24 Binary files /dev/null and b/graphics/pokemon/persian/back.png differ diff --git a/graphics/pokemon/persian/footprint.png b/graphics/pokemon/persian/footprint.png new file mode 100644 index 000000000..33f25f0aa Binary files /dev/null and b/graphics/pokemon/persian/footprint.png differ diff --git a/graphics/pokemon/persian/front.png b/graphics/pokemon/persian/front.png new file mode 100644 index 000000000..baf8a4eed Binary files /dev/null and b/graphics/pokemon/persian/front.png differ diff --git a/graphics/pokemon/persian/icon.png b/graphics/pokemon/persian/icon.png new file mode 100644 index 000000000..3d6f72fee Binary files /dev/null and b/graphics/pokemon/persian/icon.png differ diff --git a/graphics/pokemon/persian/normal.pal b/graphics/pokemon/persian/normal.pal new file mode 100644 index 000000000..694d1a0f6 --- /dev/null +++ b/graphics/pokemon/persian/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 255 255 +222 222 222 +16 16 16 +255 189 156 +246 82 65 +164 16 0 +189 164 74 +148 123 32 +115 90 16 +255 0 255 +255 0 255 +255 255 172 +255 230 131 +222 180 82 +131 82 0 diff --git a/graphics/pokemon/persian/shiny.pal b/graphics/pokemon/persian/shiny.pal new file mode 100644 index 000000000..4e4a92e32 --- /dev/null +++ b/graphics/pokemon/persian/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 255 255 +222 222 222 +16 16 16 +255 123 82 +222 98 49 +180 65 49 +255 189 205 +230 123 180 +148 57 98 +255 0 255 +255 0 255 +255 255 238 +255 246 197 +222 213 131 +164 131 41 diff --git a/graphics/pokemon/phanpy/back.png b/graphics/pokemon/phanpy/back.png new file mode 100644 index 000000000..b40fb8ddf Binary files /dev/null and b/graphics/pokemon/phanpy/back.png differ diff --git a/graphics/pokemon/phanpy/footprint.png b/graphics/pokemon/phanpy/footprint.png new file mode 100644 index 000000000..70498b18f Binary files /dev/null and b/graphics/pokemon/phanpy/footprint.png differ diff --git a/graphics/pokemon/phanpy/front.png b/graphics/pokemon/phanpy/front.png new file mode 100644 index 000000000..f9dc5fce6 Binary files /dev/null and b/graphics/pokemon/phanpy/front.png differ diff --git a/graphics/pokemon/phanpy/icon.png b/graphics/pokemon/phanpy/icon.png new file mode 100644 index 000000000..341724973 Binary files /dev/null and b/graphics/pokemon/phanpy/icon.png differ diff --git a/graphics/pokemon/phanpy/normal.pal b/graphics/pokemon/phanpy/normal.pal new file mode 100644 index 000000000..57ca810fa --- /dev/null +++ b/graphics/pokemon/phanpy/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +172 213 238 +156 189 238 +98 148 197 +82 82 148 +255 0 255 +255 172 139 +246 106 82 +189 57 49 +131 0 0 +255 0 255 +255 0 255 +213 213 213 +139 139 139 +16 16 16 diff --git a/graphics/pokemon/phanpy/shiny.pal b/graphics/pokemon/phanpy/shiny.pal new file mode 100644 index 000000000..a09fc1dcc --- /dev/null +++ b/graphics/pokemon/phanpy/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +222 246 255 +189 230 255 +106 180 230 +65 98 180 +255 0 255 +255 164 123 +255 82 65 +197 49 57 +131 0 0 +255 0 255 +255 0 255 +213 213 213 +139 139 139 +16 16 16 diff --git a/graphics/pokemon/pichu/back.png b/graphics/pokemon/pichu/back.png new file mode 100644 index 000000000..94d593632 Binary files /dev/null and b/graphics/pokemon/pichu/back.png differ diff --git a/graphics/pokemon/pichu/footprint.png b/graphics/pokemon/pichu/footprint.png new file mode 100644 index 000000000..823c7e32d Binary files /dev/null and b/graphics/pokemon/pichu/footprint.png differ diff --git a/graphics/pokemon/pichu/front.png b/graphics/pokemon/pichu/front.png new file mode 100644 index 000000000..f061d578b Binary files /dev/null and b/graphics/pokemon/pichu/front.png differ diff --git a/graphics/pokemon/pichu/icon.png b/graphics/pokemon/pichu/icon.png new file mode 100644 index 000000000..dd696ac10 Binary files /dev/null and b/graphics/pokemon/pichu/icon.png differ diff --git a/graphics/pokemon/pichu/normal.pal b/graphics/pokemon/pichu/normal.pal new file mode 100644 index 000000000..50d614dae --- /dev/null +++ b/graphics/pokemon/pichu/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 255 197 +255 238 131 +230 180 65 +197 139 0 +131 82 0 +255 0 255 +255 0 255 +255 115 74 +197 65 41 +115 32 8 +205 205 205 +115 115 115 +82 82 82 +16 16 16 diff --git a/graphics/pokemon/pichu/shiny.pal b/graphics/pokemon/pichu/shiny.pal new file mode 100644 index 000000000..dd17d7fe0 --- /dev/null +++ b/graphics/pokemon/pichu/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 255 90 +255 222 41 +222 180 0 +172 131 0 +131 82 0 +255 0 255 +255 0 255 +255 82 0 +197 0 0 +115 0 0 +205 205 205 +115 115 115 +82 82 82 +16 16 16 diff --git a/graphics/pokemon/pidgeot/back.png b/graphics/pokemon/pidgeot/back.png new file mode 100644 index 000000000..a050dd31c Binary files /dev/null and b/graphics/pokemon/pidgeot/back.png differ diff --git a/graphics/pokemon/pidgeot/footprint.png b/graphics/pokemon/pidgeot/footprint.png new file mode 100644 index 000000000..025341554 Binary files /dev/null and b/graphics/pokemon/pidgeot/footprint.png differ diff --git a/graphics/pokemon/pidgeot/front.png b/graphics/pokemon/pidgeot/front.png new file mode 100644 index 000000000..314ea0e95 Binary files /dev/null and b/graphics/pokemon/pidgeot/front.png differ diff --git a/graphics/pokemon/pidgeot/icon.png b/graphics/pokemon/pidgeot/icon.png new file mode 100644 index 000000000..472c0640c Binary files /dev/null and b/graphics/pokemon/pidgeot/icon.png differ diff --git a/graphics/pokemon/pidgeot/normal.pal b/graphics/pokemon/pidgeot/normal.pal new file mode 100644 index 000000000..4f7242c65 --- /dev/null +++ b/graphics/pokemon/pidgeot/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +139 222 213 +255 255 255 +213 197 213 +255 246 189 +246 238 156 +213 205 115 +255 172 115 +238 98 65 +197 65 65 +255 213 180 +255 230 49 +205 156 123 +172 123 90 +123 90 74 +98 65 49 +16 16 16 diff --git a/graphics/pokemon/pidgeot/shiny.pal b/graphics/pokemon/pidgeot/shiny.pal new file mode 100644 index 000000000..8f6518b6b --- /dev/null +++ b/graphics/pokemon/pidgeot/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 197 172 +255 255 255 +164 164 164 +255 255 148 +255 230 115 +246 205 90 +255 205 24 +246 172 8 +238 156 0 +255 238 49 +238 205 16 +205 172 16 +180 131 0 +148 90 0 +98 41 0 +16 16 16 diff --git a/graphics/pokemon/pidgeotto/back.png b/graphics/pokemon/pidgeotto/back.png new file mode 100644 index 000000000..4aeab2844 Binary files /dev/null and b/graphics/pokemon/pidgeotto/back.png differ diff --git a/graphics/pokemon/pidgeotto/footprint.png b/graphics/pokemon/pidgeotto/footprint.png new file mode 100644 index 000000000..c507f72b8 Binary files /dev/null and b/graphics/pokemon/pidgeotto/footprint.png differ diff --git a/graphics/pokemon/pidgeotto/front.png b/graphics/pokemon/pidgeotto/front.png new file mode 100644 index 000000000..dc7f68df0 Binary files /dev/null and b/graphics/pokemon/pidgeotto/front.png differ diff --git a/graphics/pokemon/pidgeotto/icon.png b/graphics/pokemon/pidgeotto/icon.png new file mode 100644 index 000000000..bb134533e Binary files /dev/null and b/graphics/pokemon/pidgeotto/icon.png differ diff --git a/graphics/pokemon/pidgeotto/normal.pal b/graphics/pokemon/pidgeotto/normal.pal new file mode 100644 index 000000000..26fc191ec --- /dev/null +++ b/graphics/pokemon/pidgeotto/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 197 172 +255 255 255 +205 189 213 +246 246 164 +246 230 106 +230 197 106 +255 172 115 +238 98 65 +197 65 65 +205 156 123 +172 123 90 +123 90 74 +90 57 41 +255 0 255 +32 32 32 +255 0 255 diff --git a/graphics/pokemon/pidgeotto/shiny.pal b/graphics/pokemon/pidgeotto/shiny.pal new file mode 100644 index 000000000..09a5b5cd3 --- /dev/null +++ b/graphics/pokemon/pidgeotto/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 197 172 +255 255 255 +164 164 164 +255 255 205 +246 238 172 +222 197 131 +255 255 65 +255 213 24 +246 172 0 +197 180 123 +164 148 90 +131 115 57 +82 65 16 +255 0 255 +32 32 32 +255 0 255 diff --git a/graphics/pokemon/pidgey/back.png b/graphics/pokemon/pidgey/back.png new file mode 100644 index 000000000..ecb42e8f1 Binary files /dev/null and b/graphics/pokemon/pidgey/back.png differ diff --git a/graphics/pokemon/pidgey/footprint.png b/graphics/pokemon/pidgey/footprint.png new file mode 100644 index 000000000..6fe6e4282 Binary files /dev/null and b/graphics/pokemon/pidgey/footprint.png differ diff --git a/graphics/pokemon/pidgey/front.png b/graphics/pokemon/pidgey/front.png new file mode 100644 index 000000000..081602716 Binary files /dev/null and b/graphics/pokemon/pidgey/front.png differ diff --git a/graphics/pokemon/pidgey/icon.png b/graphics/pokemon/pidgey/icon.png new file mode 100644 index 000000000..44ff94311 Binary files /dev/null and b/graphics/pokemon/pidgey/icon.png differ diff --git a/graphics/pokemon/pidgey/normal.pal b/graphics/pokemon/pidgey/normal.pal new file mode 100644 index 000000000..2d9f8708f --- /dev/null +++ b/graphics/pokemon/pidgey/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +197 197 197 +255 246 189 +255 230 139 +222 197 98 +255 180 172 +230 123 115 +180 74 65 +205 139 98 +172 98 57 +123 90 74 +90 57 41 +255 0 255 +16 16 16 +255 0 255 diff --git a/graphics/pokemon/pidgey/shiny.pal b/graphics/pokemon/pidgey/shiny.pal new file mode 100644 index 000000000..5723ea075 --- /dev/null +++ b/graphics/pokemon/pidgey/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +189 189 189 +255 255 197 +255 255 139 +213 213 90 +255 255 32 +255 197 0 +189 148 65 +230 222 0 +189 180 0 +148 139 0 +106 98 0 +255 0 255 +16 16 16 +255 0 255 diff --git a/graphics/pokemon/pikachu/back.png b/graphics/pokemon/pikachu/back.png new file mode 100644 index 000000000..0ea5ff592 Binary files /dev/null and b/graphics/pokemon/pikachu/back.png differ diff --git a/graphics/pokemon/pikachu/footprint.png b/graphics/pokemon/pikachu/footprint.png new file mode 100644 index 000000000..a8ee2e4ac Binary files /dev/null and b/graphics/pokemon/pikachu/footprint.png differ diff --git a/graphics/pokemon/pikachu/front.png b/graphics/pokemon/pikachu/front.png new file mode 100644 index 000000000..18f83cf02 Binary files /dev/null and b/graphics/pokemon/pikachu/front.png differ diff --git a/graphics/pokemon/pikachu/icon.png b/graphics/pokemon/pikachu/icon.png new file mode 100644 index 000000000..feb77f7db Binary files /dev/null and b/graphics/pokemon/pikachu/icon.png differ diff --git a/graphics/pokemon/pikachu/normal.pal b/graphics/pokemon/pikachu/normal.pal new file mode 100644 index 000000000..bb60c24a9 --- /dev/null +++ b/graphics/pokemon/pikachu/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 180 +255 255 255 +255 255 123 +255 238 0 +238 189 0 +197 139 0 +131 82 0 +255 0 255 +255 0 255 +255 0 255 +255 74 74 +230 0 0 +180 0 0 +106 106 106 +16 16 16 +255 0 255 diff --git a/graphics/pokemon/pikachu/shiny.pal b/graphics/pokemon/pikachu/shiny.pal new file mode 100644 index 000000000..ee905559c --- /dev/null +++ b/graphics/pokemon/pikachu/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 180 +255 255 255 +255 230 49 +246 205 32 +238 156 0 +205 98 0 +131 82 24 +255 0 255 +255 0 255 +255 0 255 +255 49 0 +205 57 0 +180 32 0 +106 106 106 +16 16 16 +255 0 255 diff --git a/graphics/pokemon/piloswine/back.png b/graphics/pokemon/piloswine/back.png new file mode 100644 index 000000000..a9a3bfed8 Binary files /dev/null and b/graphics/pokemon/piloswine/back.png differ diff --git a/graphics/pokemon/piloswine/footprint.png b/graphics/pokemon/piloswine/footprint.png new file mode 100644 index 000000000..0b7405ece Binary files /dev/null and b/graphics/pokemon/piloswine/footprint.png differ diff --git a/graphics/pokemon/piloswine/front.png b/graphics/pokemon/piloswine/front.png new file mode 100644 index 000000000..939fb3908 Binary files /dev/null and b/graphics/pokemon/piloswine/front.png differ diff --git a/graphics/pokemon/piloswine/icon.png b/graphics/pokemon/piloswine/icon.png new file mode 100644 index 000000000..974e9ea6a Binary files /dev/null and b/graphics/pokemon/piloswine/icon.png differ diff --git a/graphics/pokemon/piloswine/normal.pal b/graphics/pokemon/piloswine/normal.pal new file mode 100644 index 000000000..287cfcd0d --- /dev/null +++ b/graphics/pokemon/piloswine/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +222 197 115 +197 164 82 +164 131 57 +123 98 24 +82 57 0 +255 0 255 +255 189 131 +222 139 82 +180 98 41 +255 0 255 +222 222 222 +180 180 189 +123 123 139 +16 16 16 diff --git a/graphics/pokemon/piloswine/shiny.pal b/graphics/pokemon/piloswine/shiny.pal new file mode 100644 index 000000000..ff56a634a --- /dev/null +++ b/graphics/pokemon/piloswine/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +246 238 156 +222 213 115 +189 180 90 +148 139 57 +82 57 0 +255 0 255 +255 189 131 +222 139 82 +180 98 41 +255 0 255 +222 222 222 +180 180 189 +123 123 139 +16 16 16 diff --git a/graphics/pokemon/pineco/back.png b/graphics/pokemon/pineco/back.png new file mode 100644 index 000000000..a92454bb3 Binary files /dev/null and b/graphics/pokemon/pineco/back.png differ diff --git a/graphics/pokemon/pineco/footprint.png b/graphics/pokemon/pineco/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/pineco/footprint.png differ diff --git a/graphics/pokemon/pineco/front.png b/graphics/pokemon/pineco/front.png new file mode 100644 index 000000000..eee32963a Binary files /dev/null and b/graphics/pokemon/pineco/front.png differ diff --git a/graphics/pokemon/pineco/icon.png b/graphics/pokemon/pineco/icon.png new file mode 100644 index 000000000..3c12df5a2 Binary files /dev/null and b/graphics/pokemon/pineco/icon.png differ diff --git a/graphics/pokemon/pineco/normal.pal b/graphics/pokemon/pineco/normal.pal new file mode 100644 index 000000000..91acee124 --- /dev/null +++ b/graphics/pokemon/pineco/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +16 16 16 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +41 74 123 +57 115 164 +82 172 180 +131 213 213 +180 238 246 +156 164 164 +255 74 57 +255 0 255 +255 0 255 +255 255 255 diff --git a/graphics/pokemon/pineco/shiny.pal b/graphics/pokemon/pineco/shiny.pal new file mode 100644 index 000000000..a474cc3e8 --- /dev/null +++ b/graphics/pokemon/pineco/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +16 16 16 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +90 65 65 +148 90 82 +172 139 82 +230 197 106 +255 230 131 +156 164 164 +255 74 57 +255 0 255 +255 0 255 +255 255 255 diff --git a/graphics/pokemon/pinsir/back.png b/graphics/pokemon/pinsir/back.png new file mode 100644 index 000000000..95ee9784c Binary files /dev/null and b/graphics/pokemon/pinsir/back.png differ diff --git a/graphics/pokemon/pinsir/footprint.png b/graphics/pokemon/pinsir/footprint.png new file mode 100644 index 000000000..ebd22101e Binary files /dev/null and b/graphics/pokemon/pinsir/footprint.png differ diff --git a/graphics/pokemon/pinsir/front.png b/graphics/pokemon/pinsir/front.png new file mode 100644 index 000000000..c14846d5b Binary files /dev/null and b/graphics/pokemon/pinsir/front.png differ diff --git a/graphics/pokemon/pinsir/icon.png b/graphics/pokemon/pinsir/icon.png new file mode 100644 index 000000000..b05b075b9 Binary files /dev/null and b/graphics/pokemon/pinsir/icon.png differ diff --git a/graphics/pokemon/pinsir/normal.pal b/graphics/pokemon/pinsir/normal.pal new file mode 100644 index 000000000..d4fd44e8f --- /dev/null +++ b/graphics/pokemon/pinsir/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +238 238 205 +213 213 180 +172 172 131 +90 90 74 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +172 139 115 +230 197 156 +205 164 131 +139 115 90 +90 65 41 +16 16 16 diff --git a/graphics/pokemon/pinsir/shiny.pal b/graphics/pokemon/pinsir/shiny.pal new file mode 100644 index 000000000..597e7a335 --- /dev/null +++ b/graphics/pokemon/pinsir/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +255 238 189 +230 197 156 +180 156 106 +98 74 57 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +82 82 148 +123 139 222 +98 106 180 +57 65 106 +32 41 82 +16 16 16 diff --git a/graphics/pokemon/plusle/back.png b/graphics/pokemon/plusle/back.png new file mode 100644 index 000000000..7365f9921 Binary files /dev/null and b/graphics/pokemon/plusle/back.png differ diff --git a/graphics/pokemon/plusle/footprint.png b/graphics/pokemon/plusle/footprint.png new file mode 100644 index 000000000..1071b8069 Binary files /dev/null and b/graphics/pokemon/plusle/footprint.png differ diff --git a/graphics/pokemon/plusle/front.png b/graphics/pokemon/plusle/front.png new file mode 100644 index 000000000..dc38ca3d1 Binary files /dev/null and b/graphics/pokemon/plusle/front.png differ diff --git a/graphics/pokemon/plusle/icon.png b/graphics/pokemon/plusle/icon.png new file mode 100644 index 000000000..97f10d56f Binary files /dev/null and b/graphics/pokemon/plusle/icon.png differ diff --git a/graphics/pokemon/plusle/normal.pal b/graphics/pokemon/plusle/normal.pal new file mode 100644 index 000000000..e225ab56a --- /dev/null +++ b/graphics/pokemon/plusle/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +255 246 222 +255 238 197 +238 213 131 +189 172 131 +123 115 82 +238 156 115 +222 98 74 +139 90 49 +238 82 57 +41 49 65 +98 98 115 +65 65 98 +148 148 148 +0 0 0 +255 255 255 diff --git a/graphics/pokemon/plusle/shiny.pal b/graphics/pokemon/plusle/shiny.pal new file mode 100644 index 000000000..f1305ea50 --- /dev/null +++ b/graphics/pokemon/plusle/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +255 246 222 +255 238 164 +255 213 106 +205 148 82 +139 82 16 +238 90 49 +205 49 8 +148 16 0 +164 32 16 +41 49 65 +98 98 115 +65 65 98 +148 148 148 +0 0 0 +255 255 255 diff --git a/graphics/pokemon/politoed/back.png b/graphics/pokemon/politoed/back.png new file mode 100644 index 000000000..5337b6f27 Binary files /dev/null and b/graphics/pokemon/politoed/back.png differ diff --git a/graphics/pokemon/politoed/footprint.png b/graphics/pokemon/politoed/footprint.png new file mode 100644 index 000000000..f97b78994 Binary files /dev/null and b/graphics/pokemon/politoed/footprint.png differ diff --git a/graphics/pokemon/politoed/front.png b/graphics/pokemon/politoed/front.png new file mode 100644 index 000000000..d07bf4013 Binary files /dev/null and b/graphics/pokemon/politoed/front.png differ diff --git a/graphics/pokemon/politoed/icon.png b/graphics/pokemon/politoed/icon.png new file mode 100644 index 000000000..a5e5d699b Binary files /dev/null and b/graphics/pokemon/politoed/icon.png differ diff --git a/graphics/pokemon/politoed/normal.pal b/graphics/pokemon/politoed/normal.pal new file mode 100644 index 000000000..31177861d --- /dev/null +++ b/graphics/pokemon/politoed/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 255 164 +255 230 82 +230 180 41 +156 98 0 +205 255 131 +156 238 49 +123 189 24 +49 123 0 +255 180 106 +230 106 49 +180 57 0 +205 205 205 +131 131 131 +16 16 16 diff --git a/graphics/pokemon/politoed/shiny.pal b/graphics/pokemon/politoed/shiny.pal new file mode 100644 index 000000000..1d25291bf --- /dev/null +++ b/graphics/pokemon/politoed/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 230 238 +246 205 238 +213 164 205 +123 82 123 +156 230 255 +115 197 255 +74 148 205 +49 90 148 +255 172 90 +230 106 49 +164 57 32 +205 205 205 +131 131 131 +16 16 16 diff --git a/graphics/pokemon/poliwag/back.png b/graphics/pokemon/poliwag/back.png new file mode 100644 index 000000000..11e30aef7 Binary files /dev/null and b/graphics/pokemon/poliwag/back.png differ diff --git a/graphics/pokemon/poliwag/footprint.png b/graphics/pokemon/poliwag/footprint.png new file mode 100644 index 000000000..04e411726 Binary files /dev/null and b/graphics/pokemon/poliwag/footprint.png differ diff --git a/graphics/pokemon/poliwag/front.png b/graphics/pokemon/poliwag/front.png new file mode 100644 index 000000000..47d5bb762 Binary files /dev/null and b/graphics/pokemon/poliwag/front.png differ diff --git a/graphics/pokemon/poliwag/icon.png b/graphics/pokemon/poliwag/icon.png new file mode 100644 index 000000000..d4cd95f1c Binary files /dev/null and b/graphics/pokemon/poliwag/icon.png differ diff --git a/graphics/pokemon/poliwag/normal.pal b/graphics/pokemon/poliwag/normal.pal new file mode 100644 index 000000000..fa7a79543 --- /dev/null +++ b/graphics/pokemon/poliwag/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 255 +222 222 222 +180 172 189 +98 98 98 +255 0 255 +255 0 255 +255 0 255 +255 189 172 +255 139 123 +238 90 74 +172 180 222 +131 139 180 +82 90 148 +41 57 82 +16 16 16 diff --git a/graphics/pokemon/poliwag/shiny.pal b/graphics/pokemon/poliwag/shiny.pal new file mode 100644 index 000000000..1789edc4a --- /dev/null +++ b/graphics/pokemon/poliwag/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 255 +222 222 222 +189 189 189 +98 98 98 +255 0 255 +255 0 255 +255 0 255 +255 189 172 +255 139 123 +238 90 74 +123 205 255 +82 164 222 +41 123 180 +0 65 123 +16 16 16 diff --git a/graphics/pokemon/poliwhirl/back.png b/graphics/pokemon/poliwhirl/back.png new file mode 100644 index 000000000..31540c539 Binary files /dev/null and b/graphics/pokemon/poliwhirl/back.png differ diff --git a/graphics/pokemon/poliwhirl/footprint.png b/graphics/pokemon/poliwhirl/footprint.png new file mode 100644 index 000000000..14f6c2ea9 Binary files /dev/null and b/graphics/pokemon/poliwhirl/footprint.png differ diff --git a/graphics/pokemon/poliwhirl/front.png b/graphics/pokemon/poliwhirl/front.png new file mode 100644 index 000000000..ab7eb3a4b Binary files /dev/null and b/graphics/pokemon/poliwhirl/front.png differ diff --git a/graphics/pokemon/poliwhirl/icon.png b/graphics/pokemon/poliwhirl/icon.png new file mode 100644 index 000000000..bb90740ac Binary files /dev/null and b/graphics/pokemon/poliwhirl/icon.png differ diff --git a/graphics/pokemon/poliwhirl/normal.pal b/graphics/pokemon/poliwhirl/normal.pal new file mode 100644 index 000000000..50de4d631 --- /dev/null +++ b/graphics/pokemon/poliwhirl/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 255 +222 222 222 +189 189 189 +164 164 164 +255 0 255 +255 0 255 +255 0 255 +123 123 123 +82 82 82 +255 0 255 +180 189 230 +131 148 197 +98 106 148 +32 57 98 +16 16 16 diff --git a/graphics/pokemon/poliwhirl/shiny.pal b/graphics/pokemon/poliwhirl/shiny.pal new file mode 100644 index 000000000..b6aa45616 --- /dev/null +++ b/graphics/pokemon/poliwhirl/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 255 +222 222 222 +189 189 189 +164 164 164 +255 0 255 +255 0 255 +255 0 255 +123 123 123 +82 82 82 +255 0 255 +106 213 255 +65 172 222 +24 131 180 +0 65 115 +16 16 16 diff --git a/graphics/pokemon/poliwrath/back.png b/graphics/pokemon/poliwrath/back.png new file mode 100644 index 000000000..b38239be7 Binary files /dev/null and b/graphics/pokemon/poliwrath/back.png differ diff --git a/graphics/pokemon/poliwrath/footprint.png b/graphics/pokemon/poliwrath/footprint.png new file mode 100644 index 000000000..8f562fcef Binary files /dev/null and b/graphics/pokemon/poliwrath/footprint.png differ diff --git a/graphics/pokemon/poliwrath/front.png b/graphics/pokemon/poliwrath/front.png new file mode 100644 index 000000000..84210c773 Binary files /dev/null and b/graphics/pokemon/poliwrath/front.png differ diff --git a/graphics/pokemon/poliwrath/icon.png b/graphics/pokemon/poliwrath/icon.png new file mode 100644 index 000000000..d1afb4511 Binary files /dev/null and b/graphics/pokemon/poliwrath/icon.png differ diff --git a/graphics/pokemon/poliwrath/normal.pal b/graphics/pokemon/poliwrath/normal.pal new file mode 100644 index 000000000..0f2a6a88b --- /dev/null +++ b/graphics/pokemon/poliwrath/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 255 +230 230 230 +189 189 189 +164 164 164 +255 0 255 +255 0 255 +255 0 255 +123 123 123 +82 82 82 +16 16 16 +156 189 213 +131 156 172 +82 106 148 +49 49 106 +255 0 255 diff --git a/graphics/pokemon/poliwrath/shiny.pal b/graphics/pokemon/poliwrath/shiny.pal new file mode 100644 index 000000000..64aab4039 --- /dev/null +++ b/graphics/pokemon/poliwrath/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 255 +222 222 222 +189 189 189 +164 164 164 +255 0 255 +255 0 255 +255 0 255 +123 123 123 +82 82 82 +16 16 16 +148 189 131 +106 148 90 +65 106 49 +24 65 8 +255 0 255 diff --git a/graphics/pokemon/ponyta/back.png b/graphics/pokemon/ponyta/back.png new file mode 100644 index 000000000..cc4bf1189 Binary files /dev/null and b/graphics/pokemon/ponyta/back.png differ diff --git a/graphics/pokemon/ponyta/footprint.png b/graphics/pokemon/ponyta/footprint.png new file mode 100644 index 000000000..906ee7a5b Binary files /dev/null and b/graphics/pokemon/ponyta/footprint.png differ diff --git a/graphics/pokemon/ponyta/front.png b/graphics/pokemon/ponyta/front.png new file mode 100644 index 000000000..b2a4e903d Binary files /dev/null and b/graphics/pokemon/ponyta/front.png differ diff --git a/graphics/pokemon/ponyta/icon.png b/graphics/pokemon/ponyta/icon.png new file mode 100644 index 000000000..05ac87a44 Binary files /dev/null and b/graphics/pokemon/ponyta/icon.png differ diff --git a/graphics/pokemon/ponyta/normal.pal b/graphics/pokemon/ponyta/normal.pal new file mode 100644 index 000000000..af1b95044 --- /dev/null +++ b/graphics/pokemon/ponyta/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 255 +255 246 180 +255 238 123 +238 205 106 +139 82 24 +255 0 255 +255 0 255 +255 0 255 +255 230 32 +255 172 16 +255 98 0 +213 0 0 +172 172 172 +90 90 90 +16 16 16 diff --git a/graphics/pokemon/ponyta/shiny.pal b/graphics/pokemon/ponyta/shiny.pal new file mode 100644 index 000000000..eef11581b --- /dev/null +++ b/graphics/pokemon/ponyta/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 255 +255 255 222 +255 246 189 +246 213 156 +131 98 41 +255 0 255 +255 0 255 +255 0 255 +139 230 255 +98 197 255 +57 131 255 +49 90 197 +156 156 156 +90 90 90 +16 16 16 diff --git a/graphics/pokemon/poochyena/back.png b/graphics/pokemon/poochyena/back.png new file mode 100644 index 000000000..6d13ed43a Binary files /dev/null and b/graphics/pokemon/poochyena/back.png differ diff --git a/graphics/pokemon/poochyena/footprint.png b/graphics/pokemon/poochyena/footprint.png new file mode 100644 index 000000000..c4afe995f Binary files /dev/null and b/graphics/pokemon/poochyena/footprint.png differ diff --git a/graphics/pokemon/poochyena/front.png b/graphics/pokemon/poochyena/front.png new file mode 100644 index 000000000..bfdc6e7e6 Binary files /dev/null and b/graphics/pokemon/poochyena/front.png differ diff --git a/graphics/pokemon/poochyena/icon.png b/graphics/pokemon/poochyena/icon.png new file mode 100644 index 000000000..7e6be6a17 Binary files /dev/null and b/graphics/pokemon/poochyena/icon.png differ diff --git a/graphics/pokemon/poochyena/normal.pal b/graphics/pokemon/poochyena/normal.pal new file mode 100644 index 000000000..4c386e261 --- /dev/null +++ b/graphics/pokemon/poochyena/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +213 205 222 +255 230 131 +255 164 123 +123 90 82 +164 156 172 +131 123 139 +74 82 98 +49 49 65 +197 189 205 +255 213 90 +180 139 90 +222 74 65 +172 57 65 +255 255 255 +0 0 0 diff --git a/graphics/pokemon/poochyena/shiny.pal b/graphics/pokemon/poochyena/shiny.pal new file mode 100644 index 000000000..c30dcec93 --- /dev/null +++ b/graphics/pokemon/poochyena/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +255 230 180 +139 197 213 +255 164 123 +123 90 82 +213 172 74 +148 106 65 +115 74 41 +82 41 0 +255 205 106 +123 172 238 +57 74 131 +222 74 65 +172 57 65 +255 255 255 +0 0 0 diff --git a/graphics/pokemon/porygon/back.png b/graphics/pokemon/porygon/back.png new file mode 100644 index 000000000..f102465a8 Binary files /dev/null and b/graphics/pokemon/porygon/back.png differ diff --git a/graphics/pokemon/porygon/footprint.png b/graphics/pokemon/porygon/footprint.png new file mode 100644 index 000000000..02243e3bc Binary files /dev/null and b/graphics/pokemon/porygon/footprint.png differ diff --git a/graphics/pokemon/porygon/front.png b/graphics/pokemon/porygon/front.png new file mode 100644 index 000000000..c22e57d32 Binary files /dev/null and b/graphics/pokemon/porygon/front.png differ diff --git a/graphics/pokemon/porygon/icon.png b/graphics/pokemon/porygon/icon.png new file mode 100644 index 000000000..306ea8d31 Binary files /dev/null and b/graphics/pokemon/porygon/icon.png differ diff --git a/graphics/pokemon/porygon/normal.pal b/graphics/pokemon/porygon/normal.pal new file mode 100644 index 000000000..4de40a0c3 --- /dev/null +++ b/graphics/pokemon/porygon/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +115 213 255 +57 189 213 +41 156 139 +8 90 106 +255 197 164 +255 148 139 +222 98 82 +148 16 24 +222 222 230 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +41 41 41 +255 255 255 diff --git a/graphics/pokemon/porygon/shiny.pal b/graphics/pokemon/porygon/shiny.pal new file mode 100644 index 000000000..19178b1b8 --- /dev/null +++ b/graphics/pokemon/porygon/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +255 238 238 +238 205 238 +205 172 205 +98 65 115 +131 189 255 +57 115 246 +24 82 205 +0 49 156 +222 222 230 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +41 41 41 +255 255 255 diff --git a/graphics/pokemon/porygon2/back.png b/graphics/pokemon/porygon2/back.png new file mode 100644 index 000000000..aad400b56 Binary files /dev/null and b/graphics/pokemon/porygon2/back.png differ diff --git a/graphics/pokemon/porygon2/footprint.png b/graphics/pokemon/porygon2/footprint.png new file mode 100644 index 000000000..f92224af3 Binary files /dev/null and b/graphics/pokemon/porygon2/footprint.png differ diff --git a/graphics/pokemon/porygon2/front.png b/graphics/pokemon/porygon2/front.png new file mode 100644 index 000000000..ef08816d7 Binary files /dev/null and b/graphics/pokemon/porygon2/front.png differ diff --git a/graphics/pokemon/porygon2/icon.png b/graphics/pokemon/porygon2/icon.png new file mode 100644 index 000000000..312640b40 Binary files /dev/null and b/graphics/pokemon/porygon2/icon.png differ diff --git a/graphics/pokemon/porygon2/normal.pal b/graphics/pokemon/porygon2/normal.pal new file mode 100644 index 000000000..a9de00549 --- /dev/null +++ b/graphics/pokemon/porygon2/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 213 172 +255 148 139 +222 98 82 +180 32 16 +255 0 255 +148 238 255 +106 205 255 +65 164 222 +32 123 197 +0 49 156 +213 213 213 +180 180 189 +106 106 123 +16 16 16 diff --git a/graphics/pokemon/porygon2/shiny.pal b/graphics/pokemon/porygon2/shiny.pal new file mode 100644 index 000000000..4c0d2054c --- /dev/null +++ b/graphics/pokemon/porygon2/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +123 180 255 +65 123 246 +24 82 205 +0 49 156 +255 0 255 +255 238 238 +238 205 238 +197 164 197 +139 106 148 +98 65 115 +213 213 213 +180 180 189 +106 106 123 +16 16 16 diff --git a/graphics/pokemon/primeape/back.png b/graphics/pokemon/primeape/back.png new file mode 100644 index 000000000..02b326cd4 Binary files /dev/null and b/graphics/pokemon/primeape/back.png differ diff --git a/graphics/pokemon/primeape/footprint.png b/graphics/pokemon/primeape/footprint.png new file mode 100644 index 000000000..f4c90ee17 Binary files /dev/null and b/graphics/pokemon/primeape/footprint.png differ diff --git a/graphics/pokemon/primeape/front.png b/graphics/pokemon/primeape/front.png new file mode 100644 index 000000000..4d135e9f4 Binary files /dev/null and b/graphics/pokemon/primeape/front.png differ diff --git a/graphics/pokemon/primeape/icon.png b/graphics/pokemon/primeape/icon.png new file mode 100644 index 000000000..d2d42f7dc Binary files /dev/null and b/graphics/pokemon/primeape/icon.png differ diff --git a/graphics/pokemon/primeape/normal.pal b/graphics/pokemon/primeape/normal.pal new file mode 100644 index 000000000..5515043b2 --- /dev/null +++ b/graphics/pokemon/primeape/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +222 222 222 +123 123 123 +65 65 65 +255 148 90 +189 74 49 +230 180 139 +205 139 90 +156 106 65 +90 49 0 +0 0 0 +255 255 213 +255 230 180 +230 189 139 +123 90 41 diff --git a/graphics/pokemon/primeape/shiny.pal b/graphics/pokemon/primeape/shiny.pal new file mode 100644 index 000000000..02b4f4e16 --- /dev/null +++ b/graphics/pokemon/primeape/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +222 222 222 +123 123 123 +65 65 65 +255 148 90 +189 74 49 +205 197 106 +164 156 65 +123 115 24 +82 74 8 +0 0 0 +255 222 156 +238 180 115 +197 139 74 +115 49 0 diff --git a/graphics/pokemon/psyduck/back.png b/graphics/pokemon/psyduck/back.png new file mode 100644 index 000000000..65f8032a7 Binary files /dev/null and b/graphics/pokemon/psyduck/back.png differ diff --git a/graphics/pokemon/psyduck/footprint.png b/graphics/pokemon/psyduck/footprint.png new file mode 100644 index 000000000..4dff44800 Binary files /dev/null and b/graphics/pokemon/psyduck/footprint.png differ diff --git a/graphics/pokemon/psyduck/front.png b/graphics/pokemon/psyduck/front.png new file mode 100644 index 000000000..41e5202fc Binary files /dev/null and b/graphics/pokemon/psyduck/front.png differ diff --git a/graphics/pokemon/psyduck/icon.png b/graphics/pokemon/psyduck/icon.png new file mode 100644 index 000000000..f3ebc9f96 Binary files /dev/null and b/graphics/pokemon/psyduck/icon.png differ diff --git a/graphics/pokemon/psyduck/normal.pal b/graphics/pokemon/psyduck/normal.pal new file mode 100644 index 000000000..546dddd9f --- /dev/null +++ b/graphics/pokemon/psyduck/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +238 238 238 +255 238 189 +246 222 139 +222 180 82 +131 90 0 +255 255 255 +222 222 222 +148 148 148 +255 0 255 +255 0 255 +255 0 255 +255 230 164 +255 213 74 +230 164 49 +148 90 16 +16 16 16 diff --git a/graphics/pokemon/psyduck/shiny.pal b/graphics/pokemon/psyduck/shiny.pal new file mode 100644 index 000000000..49b953b0d --- /dev/null +++ b/graphics/pokemon/psyduck/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +238 238 238 +238 255 255 +213 246 246 +172 205 205 +49 82 82 +255 255 255 +222 222 222 +148 148 148 +255 0 255 +255 0 255 +255 0 255 +156 238 238 +148 213 222 +106 172 180 +24 98 106 +16 16 16 diff --git a/graphics/pokemon/pupitar/back.png b/graphics/pokemon/pupitar/back.png new file mode 100644 index 000000000..1f49a87f9 Binary files /dev/null and b/graphics/pokemon/pupitar/back.png differ diff --git a/graphics/pokemon/pupitar/footprint.png b/graphics/pokemon/pupitar/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/pupitar/footprint.png differ diff --git a/graphics/pokemon/pupitar/front.png b/graphics/pokemon/pupitar/front.png new file mode 100644 index 000000000..9e48ec20a Binary files /dev/null and b/graphics/pokemon/pupitar/front.png differ diff --git a/graphics/pokemon/pupitar/icon.png b/graphics/pokemon/pupitar/icon.png new file mode 100644 index 000000000..3491849d1 Binary files /dev/null and b/graphics/pokemon/pupitar/icon.png differ diff --git a/graphics/pokemon/pupitar/normal.pal b/graphics/pokemon/pupitar/normal.pal new file mode 100644 index 000000000..bd8385e29 --- /dev/null +++ b/graphics/pokemon/pupitar/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +189 230 255 +139 197 238 +115 156 197 +41 90 131 +255 0 255 +180 65 0 +205 205 213 +172 172 172 +123 123 131 +255 0 255 +255 0 255 +255 0 255 +65 65 98 +16 16 16 diff --git a/graphics/pokemon/pupitar/shiny.pal b/graphics/pokemon/pupitar/shiny.pal new file mode 100644 index 000000000..58371ba01 --- /dev/null +++ b/graphics/pokemon/pupitar/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +246 189 255 +213 156 230 +156 106 189 +98 65 115 +255 0 255 +180 65 0 +205 205 213 +172 172 172 +123 123 131 +255 0 255 +255 0 255 +255 0 255 +65 65 98 +16 16 16 diff --git a/graphics/pokemon/quagsire/back.png b/graphics/pokemon/quagsire/back.png new file mode 100644 index 000000000..9233569b8 Binary files /dev/null and b/graphics/pokemon/quagsire/back.png differ diff --git a/graphics/pokemon/quagsire/footprint.png b/graphics/pokemon/quagsire/footprint.png new file mode 100644 index 000000000..d04039763 Binary files /dev/null and b/graphics/pokemon/quagsire/footprint.png differ diff --git a/graphics/pokemon/quagsire/front.png b/graphics/pokemon/quagsire/front.png new file mode 100644 index 000000000..d065f9fa1 Binary files /dev/null and b/graphics/pokemon/quagsire/front.png differ diff --git a/graphics/pokemon/quagsire/icon.png b/graphics/pokemon/quagsire/icon.png new file mode 100644 index 000000000..62c7f2e46 Binary files /dev/null and b/graphics/pokemon/quagsire/icon.png differ diff --git a/graphics/pokemon/quagsire/normal.pal b/graphics/pokemon/quagsire/normal.pal new file mode 100644 index 000000000..5a74c8c08 --- /dev/null +++ b/graphics/pokemon/quagsire/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +16 49 65 +32 65 98 +57 90 156 +255 0 255 +74 139 205 +98 164 230 +172 205 238 +197 238 246 +255 0 255 +255 0 255 +98 82 123 +148 98 148 +255 115 180 +255 0 255 +16 16 16 diff --git a/graphics/pokemon/quagsire/shiny.pal b/graphics/pokemon/quagsire/shiny.pal new file mode 100644 index 000000000..cb5bd7922 --- /dev/null +++ b/graphics/pokemon/quagsire/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +74 57 65 +98 74 98 +90 65 90 +255 0 255 +148 98 164 +189 123 205 +230 164 230 +255 189 238 +255 0 255 +255 0 255 +98 82 123 +148 98 148 +255 115 180 +255 0 255 +16 16 16 diff --git a/graphics/pokemon/question_mark/circled/back.png b/graphics/pokemon/question_mark/circled/back.png new file mode 100644 index 000000000..3056402db Binary files /dev/null and b/graphics/pokemon/question_mark/circled/back.png differ diff --git a/graphics/pokemon/question_mark/circled/front.png b/graphics/pokemon/question_mark/circled/front.png new file mode 100644 index 000000000..3056402db Binary files /dev/null and b/graphics/pokemon/question_mark/circled/front.png differ diff --git a/graphics/pokemon/question_mark/circled/normal.pal b/graphics/pokemon/question_mark/circled/normal.pal new file mode 100644 index 000000000..681f1cefe --- /dev/null +++ b/graphics/pokemon/question_mark/circled/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +156 205 205 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +205 205 205 +172 172 172 +255 255 255 +0 0 0 diff --git a/graphics/pokemon/question_mark/circled/shiny.pal b/graphics/pokemon/question_mark/circled/shiny.pal new file mode 100644 index 000000000..aa8d08dc3 --- /dev/null +++ b/graphics/pokemon/question_mark/circled/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +123 172 172 +32 32 32 +32 32 32 +32 32 32 +32 32 32 +32 32 32 +32 32 32 +32 32 32 +32 32 32 +32 32 32 +32 32 32 +32 32 32 +172 172 172 +139 139 139 +222 222 222 +32 32 32 diff --git a/graphics/pokemon/question_mark/double/back.png b/graphics/pokemon/question_mark/double/back.png new file mode 100644 index 000000000..881ff0519 Binary files /dev/null and b/graphics/pokemon/question_mark/double/back.png differ diff --git a/graphics/pokemon/question_mark/double/front.png b/graphics/pokemon/question_mark/double/front.png new file mode 100644 index 000000000..14eb6e139 Binary files /dev/null and b/graphics/pokemon/question_mark/double/front.png differ diff --git a/graphics/pokemon/question_mark/double/normal.pal b/graphics/pokemon/question_mark/double/normal.pal new file mode 100644 index 000000000..67be6bbf4 --- /dev/null +++ b/graphics/pokemon/question_mark/double/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 255 0 +255 255 255 +0 0 0 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/question_mark/double/shiny.pal b/graphics/pokemon/question_mark/double/shiny.pal new file mode 100644 index 000000000..67be6bbf4 --- /dev/null +++ b/graphics/pokemon/question_mark/double/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 255 0 +255 255 255 +0 0 0 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/question_mark/footprint.png b/graphics/pokemon/question_mark/footprint.png new file mode 100644 index 000000000..7c4f45eaa Binary files /dev/null and b/graphics/pokemon/question_mark/footprint.png differ diff --git a/graphics/pokemon/question_mark/icon.png b/graphics/pokemon/question_mark/icon.png new file mode 100644 index 000000000..b31ebacf7 Binary files /dev/null and b/graphics/pokemon/question_mark/icon.png differ diff --git a/graphics/pokemon/quilava/back.png b/graphics/pokemon/quilava/back.png new file mode 100644 index 000000000..5a97c1b11 Binary files /dev/null and b/graphics/pokemon/quilava/back.png differ diff --git a/graphics/pokemon/quilava/footprint.png b/graphics/pokemon/quilava/footprint.png new file mode 100644 index 000000000..28324dd7c Binary files /dev/null and b/graphics/pokemon/quilava/footprint.png differ diff --git a/graphics/pokemon/quilava/front.png b/graphics/pokemon/quilava/front.png new file mode 100644 index 000000000..a5a0d34f6 Binary files /dev/null and b/graphics/pokemon/quilava/front.png differ diff --git a/graphics/pokemon/quilava/icon.png b/graphics/pokemon/quilava/icon.png new file mode 100644 index 000000000..62d0608dd Binary files /dev/null and b/graphics/pokemon/quilava/icon.png differ diff --git a/graphics/pokemon/quilava/normal.pal b/graphics/pokemon/quilava/normal.pal new file mode 100644 index 000000000..0b37faf22 --- /dev/null +++ b/graphics/pokemon/quilava/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +98 131 189 +65 82 139 +41 65 98 +24 41 82 +255 238 164 +230 205 106 +180 156 82 +139 98 32 +255 222 0 +255 156 0 +255 98 0 +238 0 0 +180 180 180 +16 16 16 diff --git a/graphics/pokemon/quilava/shiny.pal b/graphics/pokemon/quilava/shiny.pal new file mode 100644 index 000000000..e1baba127 --- /dev/null +++ b/graphics/pokemon/quilava/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +230 156 106 +189 98 65 +139 65 57 +98 57 41 +255 230 115 +222 197 82 +172 139 49 +139 82 24 +255 222 0 +255 156 0 +255 98 0 +238 0 0 +180 180 180 +16 16 16 diff --git a/graphics/pokemon/qwilfish/back.png b/graphics/pokemon/qwilfish/back.png new file mode 100644 index 000000000..34fb6e12e Binary files /dev/null and b/graphics/pokemon/qwilfish/back.png differ diff --git a/graphics/pokemon/qwilfish/footprint.png b/graphics/pokemon/qwilfish/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/qwilfish/footprint.png differ diff --git a/graphics/pokemon/qwilfish/front.png b/graphics/pokemon/qwilfish/front.png new file mode 100644 index 000000000..67266d4af Binary files /dev/null and b/graphics/pokemon/qwilfish/front.png differ diff --git a/graphics/pokemon/qwilfish/icon.png b/graphics/pokemon/qwilfish/icon.png new file mode 100644 index 000000000..b0fc12302 Binary files /dev/null and b/graphics/pokemon/qwilfish/icon.png differ diff --git a/graphics/pokemon/qwilfish/normal.pal b/graphics/pokemon/qwilfish/normal.pal new file mode 100644 index 000000000..1956e57c4 --- /dev/null +++ b/graphics/pokemon/qwilfish/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +16 16 16 +255 0 255 +255 0 255 +148 0 0 +57 74 98 +74 90 164 +90 131 197 +115 172 238 +106 82 49 +197 180 82 +230 222 115 +238 255 164 +213 82 98 +255 164 148 +255 255 255 diff --git a/graphics/pokemon/qwilfish/shiny.pal b/graphics/pokemon/qwilfish/shiny.pal new file mode 100644 index 000000000..d548d12e9 --- /dev/null +++ b/graphics/pokemon/qwilfish/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +16 16 16 +255 0 255 +255 0 255 +148 0 0 +98 57 90 +148 41 131 +189 82 164 +222 115 189 +115 65 98 +189 139 180 +230 189 222 +255 222 246 +213 82 98 +255 164 148 +255 255 255 diff --git a/graphics/pokemon/raichu/back.png b/graphics/pokemon/raichu/back.png new file mode 100644 index 000000000..6f8a0afcd Binary files /dev/null and b/graphics/pokemon/raichu/back.png differ diff --git a/graphics/pokemon/raichu/footprint.png b/graphics/pokemon/raichu/footprint.png new file mode 100644 index 000000000..9f2ac3993 Binary files /dev/null and b/graphics/pokemon/raichu/footprint.png differ diff --git a/graphics/pokemon/raichu/front.png b/graphics/pokemon/raichu/front.png new file mode 100644 index 000000000..8c324b5e5 Binary files /dev/null and b/graphics/pokemon/raichu/front.png differ diff --git a/graphics/pokemon/raichu/icon.png b/graphics/pokemon/raichu/icon.png new file mode 100644 index 000000000..a34997b47 Binary files /dev/null and b/graphics/pokemon/raichu/icon.png differ diff --git a/graphics/pokemon/raichu/normal.pal b/graphics/pokemon/raichu/normal.pal new file mode 100644 index 000000000..f221efbab --- /dev/null +++ b/graphics/pokemon/raichu/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +255 222 123 +255 197 32 +222 164 90 +156 106 49 +246 230 205 +255 222 41 +222 205 82 +189 131 65 +148 98 49 +139 82 49 +98 65 24 +106 106 106 +16 16 16 +205 41 41 diff --git a/graphics/pokemon/raichu/shiny.pal b/graphics/pokemon/raichu/shiny.pal new file mode 100644 index 000000000..8b6a3fe37 --- /dev/null +++ b/graphics/pokemon/raichu/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +255 189 57 +255 148 41 +230 115 24 +123 57 32 +222 222 156 +205 180 115 +164 139 74 +172 115 49 +131 82 49 +123 65 32 +115 74 8 +106 106 106 +16 16 16 +230 0 0 diff --git a/graphics/pokemon/raikou/back.png b/graphics/pokemon/raikou/back.png new file mode 100644 index 000000000..e187eda52 Binary files /dev/null and b/graphics/pokemon/raikou/back.png differ diff --git a/graphics/pokemon/raikou/footprint.png b/graphics/pokemon/raikou/footprint.png new file mode 100644 index 000000000..b7081dcd3 Binary files /dev/null and b/graphics/pokemon/raikou/footprint.png differ diff --git a/graphics/pokemon/raikou/front.png b/graphics/pokemon/raikou/front.png new file mode 100644 index 000000000..f9ee02ea9 Binary files /dev/null and b/graphics/pokemon/raikou/front.png differ diff --git a/graphics/pokemon/raikou/icon.png b/graphics/pokemon/raikou/icon.png new file mode 100644 index 000000000..7847a6f16 Binary files /dev/null and b/graphics/pokemon/raikou/icon.png differ diff --git a/graphics/pokemon/raikou/normal.pal b/graphics/pokemon/raikou/normal.pal new file mode 100644 index 000000000..975f92b23 --- /dev/null +++ b/graphics/pokemon/raikou/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 238 148 +255 205 65 +213 156 41 +139 98 16 +213 180 255 +180 115 255 +123 41 222 +65 16 148 +197 0 0 +255 0 255 +213 213 213 +164 164 164 +106 106 106 +16 16 16 diff --git a/graphics/pokemon/raikou/shiny.pal b/graphics/pokemon/raikou/shiny.pal new file mode 100644 index 000000000..73bbcb405 --- /dev/null +++ b/graphics/pokemon/raikou/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 213 82 +246 156 49 +197 106 8 +82 74 16 +255 255 148 +238 230 74 +189 180 41 +106 98 0 +197 0 0 +255 0 255 +222 222 197 +180 189 164 +123 131 106 +16 16 16 diff --git a/graphics/pokemon/ralts/back.png b/graphics/pokemon/ralts/back.png new file mode 100644 index 000000000..926bdc0ab Binary files /dev/null and b/graphics/pokemon/ralts/back.png differ diff --git a/graphics/pokemon/ralts/footprint.png b/graphics/pokemon/ralts/footprint.png new file mode 100644 index 000000000..6965dbe60 Binary files /dev/null and b/graphics/pokemon/ralts/footprint.png differ diff --git a/graphics/pokemon/ralts/front.png b/graphics/pokemon/ralts/front.png new file mode 100644 index 000000000..dc4551880 Binary files /dev/null and b/graphics/pokemon/ralts/front.png differ diff --git a/graphics/pokemon/ralts/icon.png b/graphics/pokemon/ralts/icon.png new file mode 100644 index 000000000..ed99d3427 Binary files /dev/null and b/graphics/pokemon/ralts/icon.png differ diff --git a/graphics/pokemon/ralts/normal.pal b/graphics/pokemon/ralts/normal.pal new file mode 100644 index 000000000..1e513ae87 --- /dev/null +++ b/graphics/pokemon/ralts/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +156 164 82 +238 238 255 +197 205 222 +164 180 205 +131 148 180 +123 82 82 +115 41 57 +255 156 131 +230 82 57 +131 205 255 +255 255 255 +205 255 172 +148 230 148 +115 189 115 +49 123 74 +16 16 16 diff --git a/graphics/pokemon/ralts/shiny.pal b/graphics/pokemon/ralts/shiny.pal new file mode 100644 index 000000000..b588f6eea --- /dev/null +++ b/graphics/pokemon/ralts/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +156 164 82 +238 238 255 +213 189 222 +180 164 205 +156 131 180 +123 82 82 +115 41 57 +255 197 90 +230 131 32 +131 205 255 +197 238 246 +189 230 255 +123 197 238 +82 172 213 +32 115 123 +16 16 16 diff --git a/graphics/pokemon/rapidash/back.png b/graphics/pokemon/rapidash/back.png new file mode 100644 index 000000000..7d4b9667e Binary files /dev/null and b/graphics/pokemon/rapidash/back.png differ diff --git a/graphics/pokemon/rapidash/footprint.png b/graphics/pokemon/rapidash/footprint.png new file mode 100644 index 000000000..3361489fd Binary files /dev/null and b/graphics/pokemon/rapidash/footprint.png differ diff --git a/graphics/pokemon/rapidash/front.png b/graphics/pokemon/rapidash/front.png new file mode 100644 index 000000000..156aa6a59 Binary files /dev/null and b/graphics/pokemon/rapidash/front.png differ diff --git a/graphics/pokemon/rapidash/icon.png b/graphics/pokemon/rapidash/icon.png new file mode 100644 index 000000000..c0af0dd08 Binary files /dev/null and b/graphics/pokemon/rapidash/icon.png differ diff --git a/graphics/pokemon/rapidash/normal.pal b/graphics/pokemon/rapidash/normal.pal new file mode 100644 index 000000000..181b4f58a --- /dev/null +++ b/graphics/pokemon/rapidash/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +255 255 255 +255 246 180 +255 238 123 +230 205 82 +197 164 49 +148 106 24 +255 0 255 +255 0 255 +255 230 32 +255 197 16 +255 98 0 +205 0 0 +156 156 156 +90 90 90 +16 16 16 diff --git a/graphics/pokemon/rapidash/shiny.pal b/graphics/pokemon/rapidash/shiny.pal new file mode 100644 index 000000000..6297b0e4e --- /dev/null +++ b/graphics/pokemon/rapidash/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +255 255 255 +246 246 197 +238 230 189 +205 197 156 +156 148 65 +123 106 32 +255 0 255 +255 0 255 +197 205 230 +156 164 189 +115 123 148 +74 82 106 +156 156 156 +90 90 90 +16 16 16 diff --git a/graphics/pokemon/raticate/back.png b/graphics/pokemon/raticate/back.png new file mode 100644 index 000000000..38935407e Binary files /dev/null and b/graphics/pokemon/raticate/back.png differ diff --git a/graphics/pokemon/raticate/footprint.png b/graphics/pokemon/raticate/footprint.png new file mode 100644 index 000000000..6628cfdd7 Binary files /dev/null and b/graphics/pokemon/raticate/footprint.png differ diff --git a/graphics/pokemon/raticate/front.png b/graphics/pokemon/raticate/front.png new file mode 100644 index 000000000..ebbfeead1 Binary files /dev/null and b/graphics/pokemon/raticate/front.png differ diff --git a/graphics/pokemon/raticate/icon.png b/graphics/pokemon/raticate/icon.png new file mode 100644 index 000000000..40fbd79c5 Binary files /dev/null and b/graphics/pokemon/raticate/icon.png differ diff --git a/graphics/pokemon/raticate/normal.pal b/graphics/pokemon/raticate/normal.pal new file mode 100644 index 000000000..c82a9117e --- /dev/null +++ b/graphics/pokemon/raticate/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +246 197 148 +222 131 98 +246 246 164 +238 222 139 +213 189 131 +180 156 115 +222 189 82 +197 156 65 +164 123 49 +115 74 0 +213 213 213 +180 180 180 +115 115 115 +16 16 16 diff --git a/graphics/pokemon/raticate/shiny.pal b/graphics/pokemon/raticate/shiny.pal new file mode 100644 index 000000000..c15414d53 --- /dev/null +++ b/graphics/pokemon/raticate/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 205 156 +222 131 98 +255 255 197 +230 230 156 +205 205 131 +131 131 49 +246 156 106 +230 106 65 +189 90 49 +131 74 49 +213 213 213 +180 180 180 +115 115 115 +16 16 16 diff --git a/graphics/pokemon/rattata/back.png b/graphics/pokemon/rattata/back.png new file mode 100644 index 000000000..717be0bc6 Binary files /dev/null and b/graphics/pokemon/rattata/back.png differ diff --git a/graphics/pokemon/rattata/footprint.png b/graphics/pokemon/rattata/footprint.png new file mode 100644 index 000000000..008b1ddc0 Binary files /dev/null and b/graphics/pokemon/rattata/footprint.png differ diff --git a/graphics/pokemon/rattata/front.png b/graphics/pokemon/rattata/front.png new file mode 100644 index 000000000..28abd0e9a Binary files /dev/null and b/graphics/pokemon/rattata/front.png differ diff --git a/graphics/pokemon/rattata/icon.png b/graphics/pokemon/rattata/icon.png new file mode 100644 index 000000000..ae7b22258 Binary files /dev/null and b/graphics/pokemon/rattata/icon.png differ diff --git a/graphics/pokemon/rattata/normal.pal b/graphics/pokemon/rattata/normal.pal new file mode 100644 index 000000000..a71005b50 --- /dev/null +++ b/graphics/pokemon/rattata/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +0 0 0 +230 205 115 +205 172 148 +238 74 90 +164 24 57 +213 148 213 +180 115 180 +131 98 139 +98 49 82 +222 222 197 +205 205 180 +180 180 148 +90 98 98 +16 16 16 diff --git a/graphics/pokemon/rattata/shiny.pal b/graphics/pokemon/rattata/shiny.pal new file mode 100644 index 000000000..532f2948f --- /dev/null +++ b/graphics/pokemon/rattata/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +0 0 0 +238 156 115 +205 131 98 +189 115 180 +123 82 131 +238 222 156 +205 189 123 +172 156 90 +115 106 49 +222 222 222 +197 197 197 +164 164 164 +90 98 98 +16 16 16 diff --git a/graphics/pokemon/rayquaza/back.png b/graphics/pokemon/rayquaza/back.png new file mode 100644 index 000000000..e8b8704a8 Binary files /dev/null and b/graphics/pokemon/rayquaza/back.png differ diff --git a/graphics/pokemon/rayquaza/footprint.png b/graphics/pokemon/rayquaza/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/rayquaza/footprint.png differ diff --git a/graphics/pokemon/rayquaza/front.png b/graphics/pokemon/rayquaza/front.png new file mode 100644 index 000000000..21d554ce3 Binary files /dev/null and b/graphics/pokemon/rayquaza/front.png differ diff --git a/graphics/pokemon/rayquaza/icon.png b/graphics/pokemon/rayquaza/icon.png new file mode 100644 index 000000000..65844ebf7 Binary files /dev/null and b/graphics/pokemon/rayquaza/icon.png differ diff --git a/graphics/pokemon/rayquaza/normal.pal b/graphics/pokemon/rayquaza/normal.pal new file mode 100644 index 000000000..651b1b9b1 --- /dev/null +++ b/graphics/pokemon/rayquaza/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +156 156 255 +57 82 57 +65 131 65 +74 131 115 +90 189 139 +148 222 180 +0 0 0 +49 82 172 +74 156 189 +246 98 98 +197 148 98 +222 213 238 +255 255 255 +222 205 0 +255 238 0 +24 24 24 diff --git a/graphics/pokemon/rayquaza/shiny.pal b/graphics/pokemon/rayquaza/shiny.pal new file mode 100644 index 000000000..c294fa7ca --- /dev/null +++ b/graphics/pokemon/rayquaza/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +156 156 255 +57 57 57 +57 57 57 +82 82 82 +123 123 123 +164 164 164 +0 0 0 +49 82 148 +74 156 172 +246 98 98 +197 148 98 +230 222 255 +255 255 255 +222 205 0 +255 238 0 +0 0 0 diff --git a/graphics/pokemon/regice/back.png b/graphics/pokemon/regice/back.png new file mode 100644 index 000000000..69b091437 Binary files /dev/null and b/graphics/pokemon/regice/back.png differ diff --git a/graphics/pokemon/regice/footprint.png b/graphics/pokemon/regice/footprint.png new file mode 100644 index 000000000..6965dbe60 Binary files /dev/null and b/graphics/pokemon/regice/footprint.png differ diff --git a/graphics/pokemon/regice/front.png b/graphics/pokemon/regice/front.png new file mode 100644 index 000000000..022a3a855 Binary files /dev/null and b/graphics/pokemon/regice/front.png differ diff --git a/graphics/pokemon/regice/icon.png b/graphics/pokemon/regice/icon.png new file mode 100644 index 000000000..46b07b3aa Binary files /dev/null and b/graphics/pokemon/regice/icon.png differ diff --git a/graphics/pokemon/regice/normal.pal b/graphics/pokemon/regice/normal.pal new file mode 100644 index 000000000..2d599438d --- /dev/null +++ b/graphics/pokemon/regice/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +197 246 148 +49 57 90 +90 98 123 +156 164 222 +189 213 238 +222 255 255 +131 115 180 +255 255 255 +238 255 255 +0 0 0 +0 0 0 +0 0 0 +205 180 32 +255 255 172 +255 230 0 +24 24 24 diff --git a/graphics/pokemon/regice/shiny.pal b/graphics/pokemon/regice/shiny.pal new file mode 100644 index 000000000..0c3dc8a37 --- /dev/null +++ b/graphics/pokemon/regice/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +197 246 148 +0 98 197 +0 148 189 +74 213 255 +172 238 255 +230 255 255 +65 164 255 +255 255 255 +213 255 255 +0 0 0 +0 0 0 +0 0 0 +180 123 32 +255 230 98 +255 189 0 +24 24 24 diff --git a/graphics/pokemon/regirock/back.png b/graphics/pokemon/regirock/back.png new file mode 100644 index 000000000..7175fc90a Binary files /dev/null and b/graphics/pokemon/regirock/back.png differ diff --git a/graphics/pokemon/regirock/footprint.png b/graphics/pokemon/regirock/footprint.png new file mode 100644 index 000000000..44da2a57f Binary files /dev/null and b/graphics/pokemon/regirock/footprint.png differ diff --git a/graphics/pokemon/regirock/front.png b/graphics/pokemon/regirock/front.png new file mode 100644 index 000000000..9e179079a Binary files /dev/null and b/graphics/pokemon/regirock/front.png differ diff --git a/graphics/pokemon/regirock/icon.png b/graphics/pokemon/regirock/icon.png new file mode 100644 index 000000000..e69836744 Binary files /dev/null and b/graphics/pokemon/regirock/icon.png differ diff --git a/graphics/pokemon/regirock/normal.pal b/graphics/pokemon/regirock/normal.pal new file mode 100644 index 000000000..f577420cb --- /dev/null +++ b/graphics/pokemon/regirock/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +98 197 148 +82 74 41 +148 139 115 +205 197 172 +230 222 172 +238 230 222 +180 172 148 +139 90 57 +189 131 57 +238 131 57 +238 172 106 +0 0 0 +0 0 0 +180 65 0 +238 115 57 +24 24 24 diff --git a/graphics/pokemon/regirock/shiny.pal b/graphics/pokemon/regirock/shiny.pal new file mode 100644 index 000000000..b997589cc --- /dev/null +++ b/graphics/pokemon/regirock/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +98 197 148 +98 24 0 +148 74 32 +180 106 65 +205 139 98 +238 164 131 +131 65 24 +139 90 57 +189 131 57 +238 131 57 +238 172 106 +0 0 0 +0 0 0 +180 65 0 +238 115 57 +24 24 24 diff --git a/graphics/pokemon/registeel/back.png b/graphics/pokemon/registeel/back.png new file mode 100644 index 000000000..233240d45 Binary files /dev/null and b/graphics/pokemon/registeel/back.png differ diff --git a/graphics/pokemon/registeel/footprint.png b/graphics/pokemon/registeel/footprint.png new file mode 100644 index 000000000..e191faabc Binary files /dev/null and b/graphics/pokemon/registeel/footprint.png differ diff --git a/graphics/pokemon/registeel/front.png b/graphics/pokemon/registeel/front.png new file mode 100644 index 000000000..d7fe7e101 Binary files /dev/null and b/graphics/pokemon/registeel/front.png differ diff --git a/graphics/pokemon/registeel/icon.png b/graphics/pokemon/registeel/icon.png new file mode 100644 index 000000000..5a8cd3d19 Binary files /dev/null and b/graphics/pokemon/registeel/icon.png differ diff --git a/graphics/pokemon/registeel/normal.pal b/graphics/pokemon/registeel/normal.pal new file mode 100644 index 000000000..9d7d328f4 --- /dev/null +++ b/graphics/pokemon/registeel/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 197 98 +90 82 82 +131 131 123 +189 189 180 +222 213 230 +238 238 238 +115 115 90 +139 131 106 +172 172 123 +0 0 0 +0 0 0 +255 255 255 +213 106 131 +255 180 164 +246 90 172 +24 24 24 diff --git a/graphics/pokemon/registeel/shiny.pal b/graphics/pokemon/registeel/shiny.pal new file mode 100644 index 000000000..e0489363a --- /dev/null +++ b/graphics/pokemon/registeel/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 197 98 +90 82 82 +90 123 106 +115 180 164 +172 222 197 +213 238 238 +115 115 90 +139 131 106 +172 172 123 +0 0 0 +0 0 0 +255 255 255 +180 65 49 +255 123 82 +222 98 49 +24 24 24 diff --git a/graphics/pokemon/relicanth/back.png b/graphics/pokemon/relicanth/back.png new file mode 100644 index 000000000..c9ae2e572 Binary files /dev/null and b/graphics/pokemon/relicanth/back.png differ diff --git a/graphics/pokemon/relicanth/footprint.png b/graphics/pokemon/relicanth/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/relicanth/footprint.png differ diff --git a/graphics/pokemon/relicanth/front.png b/graphics/pokemon/relicanth/front.png new file mode 100644 index 000000000..41886e9e2 Binary files /dev/null and b/graphics/pokemon/relicanth/front.png differ diff --git a/graphics/pokemon/relicanth/icon.png b/graphics/pokemon/relicanth/icon.png new file mode 100644 index 000000000..da17eec33 Binary files /dev/null and b/graphics/pokemon/relicanth/icon.png differ diff --git a/graphics/pokemon/relicanth/normal.pal b/graphics/pokemon/relicanth/normal.pal new file mode 100644 index 000000000..2a95fb3cb --- /dev/null +++ b/graphics/pokemon/relicanth/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +98 246 255 +246 222 180 +213 189 148 +180 148 106 +139 115 74 +106 82 65 +189 164 164 +0 0 0 +164 139 131 +139 115 106 +123 98 90 +82 65 57 +246 90 65 +205 65 49 +255 246 222 +139 123 82 diff --git a/graphics/pokemon/relicanth/shiny.pal b/graphics/pokemon/relicanth/shiny.pal new file mode 100644 index 000000000..3c3780470 --- /dev/null +++ b/graphics/pokemon/relicanth/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +98 246 255 +246 222 180 +213 189 148 +180 148 106 +139 115 74 +106 82 65 +172 230 246 +0 0 0 +139 197 213 +106 164 180 +74 131 148 +24 82 98 +246 90 65 +205 65 49 +255 246 222 +139 123 82 diff --git a/graphics/pokemon/remoraid/back.png b/graphics/pokemon/remoraid/back.png new file mode 100644 index 000000000..22e48fa6d Binary files /dev/null and b/graphics/pokemon/remoraid/back.png differ diff --git a/graphics/pokemon/remoraid/footprint.png b/graphics/pokemon/remoraid/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/remoraid/footprint.png differ diff --git a/graphics/pokemon/remoraid/front.png b/graphics/pokemon/remoraid/front.png new file mode 100644 index 000000000..b80e2af89 Binary files /dev/null and b/graphics/pokemon/remoraid/front.png differ diff --git a/graphics/pokemon/remoraid/icon.png b/graphics/pokemon/remoraid/icon.png new file mode 100644 index 000000000..efbe4ace3 Binary files /dev/null and b/graphics/pokemon/remoraid/icon.png differ diff --git a/graphics/pokemon/remoraid/normal.pal b/graphics/pokemon/remoraid/normal.pal new file mode 100644 index 000000000..4d8f3326c --- /dev/null +++ b/graphics/pokemon/remoraid/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +213 246 246 +180 222 213 +139 172 189 +98 139 164 +57 74 123 +139 0 0 +255 0 255 +255 0 255 +255 0 255 +213 213 213 +172 172 180 +123 123 131 +90 90 90 +41 41 57 diff --git a/graphics/pokemon/remoraid/shiny.pal b/graphics/pokemon/remoraid/shiny.pal new file mode 100644 index 000000000..b9fd05014 --- /dev/null +++ b/graphics/pokemon/remoraid/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +246 213 246 +222 180 230 +172 123 180 +131 82 139 +98 57 106 +139 0 0 +255 0 255 +255 0 255 +255 0 255 +213 213 213 +172 172 180 +123 123 131 +90 90 90 +41 41 57 diff --git a/graphics/pokemon/rhydon/back.png b/graphics/pokemon/rhydon/back.png new file mode 100644 index 000000000..4acc986ba Binary files /dev/null and b/graphics/pokemon/rhydon/back.png differ diff --git a/graphics/pokemon/rhydon/footprint.png b/graphics/pokemon/rhydon/footprint.png new file mode 100644 index 000000000..df6d8fced Binary files /dev/null and b/graphics/pokemon/rhydon/footprint.png differ diff --git a/graphics/pokemon/rhydon/front.png b/graphics/pokemon/rhydon/front.png new file mode 100644 index 000000000..1455d7010 Binary files /dev/null and b/graphics/pokemon/rhydon/front.png differ diff --git a/graphics/pokemon/rhydon/icon.png b/graphics/pokemon/rhydon/icon.png new file mode 100644 index 000000000..3bf633680 Binary files /dev/null and b/graphics/pokemon/rhydon/icon.png differ diff --git a/graphics/pokemon/rhydon/normal.pal b/graphics/pokemon/rhydon/normal.pal new file mode 100644 index 000000000..b4cf375f4 --- /dev/null +++ b/graphics/pokemon/rhydon/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +164 213 213 +255 255 255 +255 238 197 +230 213 172 +180 164 115 +123 106 57 +230 82 57 +164 49 16 +115 32 16 +255 0 255 +255 0 255 +222 222 213 +197 197 189 +139 139 148 +90 90 98 +16 16 16 diff --git a/graphics/pokemon/rhydon/shiny.pal b/graphics/pokemon/rhydon/shiny.pal new file mode 100644 index 000000000..b7076b1ca --- /dev/null +++ b/graphics/pokemon/rhydon/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +255 238 197 +230 213 172 +180 164 115 +123 106 57 +230 82 57 +164 49 16 +115 32 16 +255 0 255 +255 0 255 +255 238 197 +230 213 180 +189 172 139 +131 115 82 +16 16 16 diff --git a/graphics/pokemon/rhyhorn/back.png b/graphics/pokemon/rhyhorn/back.png new file mode 100644 index 000000000..67d006205 Binary files /dev/null and b/graphics/pokemon/rhyhorn/back.png differ diff --git a/graphics/pokemon/rhyhorn/footprint.png b/graphics/pokemon/rhyhorn/footprint.png new file mode 100644 index 000000000..632b753c2 Binary files /dev/null and b/graphics/pokemon/rhyhorn/footprint.png differ diff --git a/graphics/pokemon/rhyhorn/front.png b/graphics/pokemon/rhyhorn/front.png new file mode 100644 index 000000000..357977812 Binary files /dev/null and b/graphics/pokemon/rhyhorn/front.png differ diff --git a/graphics/pokemon/rhyhorn/icon.png b/graphics/pokemon/rhyhorn/icon.png new file mode 100644 index 000000000..03bb348e7 Binary files /dev/null and b/graphics/pokemon/rhyhorn/icon.png differ diff --git a/graphics/pokemon/rhyhorn/normal.pal b/graphics/pokemon/rhyhorn/normal.pal new file mode 100644 index 000000000..bf720235e --- /dev/null +++ b/graphics/pokemon/rhyhorn/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +230 230 238 +189 189 205 +131 131 172 +90 90 123 +65 65 90 +172 57 41 +90 8 0 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/rhyhorn/shiny.pal b/graphics/pokemon/rhyhorn/shiny.pal new file mode 100644 index 000000000..64280c939 --- /dev/null +++ b/graphics/pokemon/rhyhorn/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +238 180 156 +197 139 115 +156 98 74 +115 57 32 +74 16 0 +172 57 41 +90 8 0 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/roselia/back.png b/graphics/pokemon/roselia/back.png new file mode 100644 index 000000000..5275c801d Binary files /dev/null and b/graphics/pokemon/roselia/back.png differ diff --git a/graphics/pokemon/roselia/footprint.png b/graphics/pokemon/roselia/footprint.png new file mode 100644 index 000000000..bedf2ab69 Binary files /dev/null and b/graphics/pokemon/roselia/footprint.png differ diff --git a/graphics/pokemon/roselia/front.png b/graphics/pokemon/roselia/front.png new file mode 100644 index 000000000..d018ba658 Binary files /dev/null and b/graphics/pokemon/roselia/front.png differ diff --git a/graphics/pokemon/roselia/icon.png b/graphics/pokemon/roselia/icon.png new file mode 100644 index 000000000..fc63c9644 Binary files /dev/null and b/graphics/pokemon/roselia/icon.png differ diff --git a/graphics/pokemon/roselia/normal.pal b/graphics/pokemon/roselia/normal.pal new file mode 100644 index 000000000..a96e5081c --- /dev/null +++ b/graphics/pokemon/roselia/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 197 148 +0 0 0 +180 238 115 +246 213 74 +205 222 213 +65 98 49 +131 156 164 +98 148 74 +123 205 98 +172 197 197 +164 49 74 +246 90 131 +255 164 189 +41 90 148 +82 148 213 +98 180 255 diff --git a/graphics/pokemon/roselia/shiny.pal b/graphics/pokemon/roselia/shiny.pal new file mode 100644 index 000000000..eebb104af --- /dev/null +++ b/graphics/pokemon/roselia/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 197 148 +0 0 0 +189 255 115 +246 213 74 +255 238 172 +82 98 41 +213 172 90 +115 172 49 +156 213 74 +255 213 106 +123 65 139 +180 98 205 +205 139 222 +41 49 65 +115 106 123 +148 139 156 diff --git a/graphics/pokemon/sableye/back.png b/graphics/pokemon/sableye/back.png new file mode 100644 index 000000000..75c12743c Binary files /dev/null and b/graphics/pokemon/sableye/back.png differ diff --git a/graphics/pokemon/sableye/footprint.png b/graphics/pokemon/sableye/footprint.png new file mode 100644 index 000000000..204d8da54 Binary files /dev/null and b/graphics/pokemon/sableye/footprint.png differ diff --git a/graphics/pokemon/sableye/front.png b/graphics/pokemon/sableye/front.png new file mode 100644 index 000000000..5004a61ec Binary files /dev/null and b/graphics/pokemon/sableye/front.png differ diff --git a/graphics/pokemon/sableye/icon.png b/graphics/pokemon/sableye/icon.png new file mode 100644 index 000000000..e8ac1307e Binary files /dev/null and b/graphics/pokemon/sableye/icon.png differ diff --git a/graphics/pokemon/sableye/normal.pal b/graphics/pokemon/sableye/normal.pal new file mode 100644 index 000000000..89a2bed0a --- /dev/null +++ b/graphics/pokemon/sableye/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +98 205 205 +74 49 74 +139 98 139 +197 123 189 +213 148 213 +148 131 213 +197 222 255 +255 255 255 +197 41 32 +106 74 115 +172 180 205 +82 205 65 +32 222 255 +164 115 164 +0 0 0 +255 82 74 diff --git a/graphics/pokemon/sableye/shiny.pal b/graphics/pokemon/sableye/shiny.pal new file mode 100644 index 000000000..8b03a2efe --- /dev/null +++ b/graphics/pokemon/sableye/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +98 205 205 +115 82 65 +131 82 57 +213 164 123 +246 197 164 +230 148 90 +255 230 156 +255 255 255 +82 213 74 +106 74 57 +230 164 90 +32 222 255 +255 230 106 +180 123 90 +0 0 0 +148 255 148 diff --git a/graphics/pokemon/salamence/back.png b/graphics/pokemon/salamence/back.png new file mode 100644 index 000000000..748147e77 Binary files /dev/null and b/graphics/pokemon/salamence/back.png differ diff --git a/graphics/pokemon/salamence/footprint.png b/graphics/pokemon/salamence/footprint.png new file mode 100644 index 000000000..2440a370f Binary files /dev/null and b/graphics/pokemon/salamence/footprint.png differ diff --git a/graphics/pokemon/salamence/front.png b/graphics/pokemon/salamence/front.png new file mode 100644 index 000000000..97db0937c Binary files /dev/null and b/graphics/pokemon/salamence/front.png differ diff --git a/graphics/pokemon/salamence/icon.png b/graphics/pokemon/salamence/icon.png new file mode 100644 index 000000000..b4c925502 Binary files /dev/null and b/graphics/pokemon/salamence/icon.png differ diff --git a/graphics/pokemon/salamence/normal.pal b/graphics/pokemon/salamence/normal.pal new file mode 100644 index 000000000..8ee78691f --- /dev/null +++ b/graphics/pokemon/salamence/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +172 222 98 +57 65 98 +82 98 148 +123 123 222 +172 172 255 +123 74 49 +189 115 74 +222 123 82 +255 148 98 +131 148 148 +172 164 189 +222 213 238 +255 255 255 +0 0 0 +255 255 41 +24 24 24 diff --git a/graphics/pokemon/salamence/shiny.pal b/graphics/pokemon/salamence/shiny.pal new file mode 100644 index 000000000..bf2da08f2 --- /dev/null +++ b/graphics/pokemon/salamence/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +172 222 98 +16 98 32 +98 156 106 +106 197 106 +148 230 148 +123 74 49 +189 115 74 +222 123 82 +255 148 98 +131 148 148 +172 164 189 +222 213 238 +255 255 255 +0 0 0 +255 255 41 +24 24 24 diff --git a/graphics/pokemon/sandshrew/back.png b/graphics/pokemon/sandshrew/back.png new file mode 100644 index 000000000..86fa10ec8 Binary files /dev/null and b/graphics/pokemon/sandshrew/back.png differ diff --git a/graphics/pokemon/sandshrew/footprint.png b/graphics/pokemon/sandshrew/footprint.png new file mode 100644 index 000000000..481de0993 Binary files /dev/null and b/graphics/pokemon/sandshrew/footprint.png differ diff --git a/graphics/pokemon/sandshrew/front.png b/graphics/pokemon/sandshrew/front.png new file mode 100644 index 000000000..12c9cad5a Binary files /dev/null and b/graphics/pokemon/sandshrew/front.png differ diff --git a/graphics/pokemon/sandshrew/icon.png b/graphics/pokemon/sandshrew/icon.png new file mode 100644 index 000000000..5919f1095 Binary files /dev/null and b/graphics/pokemon/sandshrew/icon.png differ diff --git a/graphics/pokemon/sandshrew/normal.pal b/graphics/pokemon/sandshrew/normal.pal new file mode 100644 index 000000000..952ff6231 --- /dev/null +++ b/graphics/pokemon/sandshrew/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 255 255 +255 0 255 +230 222 16 +205 180 0 +172 131 16 +115 74 24 +131 98 16 +255 0 255 +255 0 255 +205 189 180 +230 213 197 +238 238 222 +131 131 131 +82 82 82 +16 16 16 diff --git a/graphics/pokemon/sandshrew/shiny.pal b/graphics/pokemon/sandshrew/shiny.pal new file mode 100644 index 000000000..4f4ac7be6 --- /dev/null +++ b/graphics/pokemon/sandshrew/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 255 255 +255 0 255 +213 222 98 +172 197 82 +131 156 41 +65 90 0 +98 115 41 +255 0 255 +255 0 255 +180 180 164 +205 205 189 +238 238 222 +139 139 139 +82 82 82 +16 16 16 diff --git a/graphics/pokemon/sandslash/back.png b/graphics/pokemon/sandslash/back.png new file mode 100644 index 000000000..64c305047 Binary files /dev/null and b/graphics/pokemon/sandslash/back.png differ diff --git a/graphics/pokemon/sandslash/footprint.png b/graphics/pokemon/sandslash/footprint.png new file mode 100644 index 000000000..431ca99be Binary files /dev/null and b/graphics/pokemon/sandslash/footprint.png differ diff --git a/graphics/pokemon/sandslash/front.png b/graphics/pokemon/sandslash/front.png new file mode 100644 index 000000000..86115f777 Binary files /dev/null and b/graphics/pokemon/sandslash/front.png differ diff --git a/graphics/pokemon/sandslash/icon.png b/graphics/pokemon/sandslash/icon.png new file mode 100644 index 000000000..08198e6b2 Binary files /dev/null and b/graphics/pokemon/sandslash/icon.png differ diff --git a/graphics/pokemon/sandslash/normal.pal b/graphics/pokemon/sandslash/normal.pal new file mode 100644 index 000000000..384676a30 --- /dev/null +++ b/graphics/pokemon/sandslash/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +246 230 213 +238 222 106 +222 197 32 +197 164 57 +131 98 0 +255 255 255 +222 213 180 +139 139 139 +82 82 82 +205 164 74 +172 131 49 +139 98 24 +90 65 16 +16 16 16 +255 0 255 diff --git a/graphics/pokemon/sandslash/shiny.pal b/graphics/pokemon/sandslash/shiny.pal new file mode 100644 index 000000000..092846e12 --- /dev/null +++ b/graphics/pokemon/sandslash/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +246 238 156 +222 197 115 +189 164 74 +164 148 65 +98 82 0 +238 238 222 +205 205 189 +139 139 139 +74 74 74 +246 98 98 +213 90 74 +180 74 49 +106 82 32 +65 49 32 +255 0 255 diff --git a/graphics/pokemon/sceptile/back.png b/graphics/pokemon/sceptile/back.png new file mode 100644 index 000000000..5b7e8696e Binary files /dev/null and b/graphics/pokemon/sceptile/back.png differ diff --git a/graphics/pokemon/sceptile/footprint.png b/graphics/pokemon/sceptile/footprint.png new file mode 100644 index 000000000..1958a4778 Binary files /dev/null and b/graphics/pokemon/sceptile/footprint.png differ diff --git a/graphics/pokemon/sceptile/front.png b/graphics/pokemon/sceptile/front.png new file mode 100644 index 000000000..f6ce3a054 Binary files /dev/null and b/graphics/pokemon/sceptile/front.png differ diff --git a/graphics/pokemon/sceptile/icon.png b/graphics/pokemon/sceptile/icon.png new file mode 100644 index 000000000..d144941e0 Binary files /dev/null and b/graphics/pokemon/sceptile/icon.png differ diff --git a/graphics/pokemon/sceptile/normal.pal b/graphics/pokemon/sceptile/normal.pal new file mode 100644 index 000000000..31f822b0c --- /dev/null +++ b/graphics/pokemon/sceptile/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +123 106 156 +255 230 106 +255 197 82 +197 131 57 +255 238 180 +255 106 82 +213 82 57 +164 74 49 +57 98 32 +123 98 90 +255 255 255 +189 255 115 +156 213 74 +115 172 49 +90 123 32 +16 16 16 diff --git a/graphics/pokemon/sceptile/shiny.pal b/graphics/pokemon/sceptile/shiny.pal new file mode 100644 index 000000000..9a6882bf4 --- /dev/null +++ b/graphics/pokemon/sceptile/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +123 106 156 +255 106 82 +213 82 57 +164 74 49 +255 238 180 +255 230 106 +255 180 82 +197 131 57 +57 98 32 +123 98 90 +255 255 255 +189 246 255 +164 222 230 +90 180 164 +82 139 131 +16 16 16 diff --git a/graphics/pokemon/scizor/back.png b/graphics/pokemon/scizor/back.png new file mode 100644 index 000000000..b31f50da1 Binary files /dev/null and b/graphics/pokemon/scizor/back.png differ diff --git a/graphics/pokemon/scizor/footprint.png b/graphics/pokemon/scizor/footprint.png new file mode 100644 index 000000000..00824374a Binary files /dev/null and b/graphics/pokemon/scizor/footprint.png differ diff --git a/graphics/pokemon/scizor/front.png b/graphics/pokemon/scizor/front.png new file mode 100644 index 000000000..33bdef332 Binary files /dev/null and b/graphics/pokemon/scizor/front.png differ diff --git a/graphics/pokemon/scizor/icon.png b/graphics/pokemon/scizor/icon.png new file mode 100644 index 000000000..0a8667832 Binary files /dev/null and b/graphics/pokemon/scizor/icon.png differ diff --git a/graphics/pokemon/scizor/normal.pal b/graphics/pokemon/scizor/normal.pal new file mode 100644 index 000000000..a9310feae --- /dev/null +++ b/graphics/pokemon/scizor/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 197 115 +255 98 16 +205 57 0 +123 32 0 +255 0 255 +255 205 16 +255 139 41 +189 139 41 +255 0 255 +255 0 255 +197 197 205 +148 148 156 +90 90 106 +16 16 16 diff --git a/graphics/pokemon/scizor/shiny.pal b/graphics/pokemon/scizor/shiny.pal new file mode 100644 index 000000000..93e8e479b --- /dev/null +++ b/graphics/pokemon/scizor/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +222 230 98 +180 189 65 +106 115 65 +74 82 16 +255 0 255 +255 205 16 +255 139 41 +189 139 41 +255 0 255 +255 0 255 +197 197 205 +98 197 82 +49 123 32 +16 16 16 diff --git a/graphics/pokemon/scyther/back.png b/graphics/pokemon/scyther/back.png new file mode 100644 index 000000000..bf598ee88 Binary files /dev/null and b/graphics/pokemon/scyther/back.png differ diff --git a/graphics/pokemon/scyther/footprint.png b/graphics/pokemon/scyther/footprint.png new file mode 100644 index 000000000..c6b773028 Binary files /dev/null and b/graphics/pokemon/scyther/footprint.png differ diff --git a/graphics/pokemon/scyther/front.png b/graphics/pokemon/scyther/front.png new file mode 100644 index 000000000..55c7a3de9 Binary files /dev/null and b/graphics/pokemon/scyther/front.png differ diff --git a/graphics/pokemon/scyther/icon.png b/graphics/pokemon/scyther/icon.png new file mode 100644 index 000000000..62f94bba6 Binary files /dev/null and b/graphics/pokemon/scyther/icon.png differ diff --git a/graphics/pokemon/scyther/normal.pal b/graphics/pokemon/scyther/normal.pal new file mode 100644 index 000000000..1367f8a23 --- /dev/null +++ b/graphics/pokemon/scyther/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 197 +255 255 255 +222 222 222 +189 189 189 +115 115 115 +246 230 123 +205 197 90 +255 255 172 +246 230 123 +205 57 57 +156 139 49 +189 255 115 +156 222 74 +115 172 65 +65 98 32 +16 16 16 diff --git a/graphics/pokemon/scyther/shiny.pal b/graphics/pokemon/scyther/shiny.pal new file mode 100644 index 000000000..fd0a63924 --- /dev/null +++ b/graphics/pokemon/scyther/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 197 +255 255 255 +222 222 222 +189 189 189 +115 115 115 +255 123 90 +205 123 90 +255 255 189 +238 238 148 +205 57 57 +156 139 49 +139 222 49 +98 189 49 +65 148 8 +57 90 8 +16 16 16 diff --git a/graphics/pokemon/seadra/back.png b/graphics/pokemon/seadra/back.png new file mode 100644 index 000000000..526d7495c Binary files /dev/null and b/graphics/pokemon/seadra/back.png differ diff --git a/graphics/pokemon/seadra/footprint.png b/graphics/pokemon/seadra/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/seadra/footprint.png differ diff --git a/graphics/pokemon/seadra/front.png b/graphics/pokemon/seadra/front.png new file mode 100644 index 000000000..8f03a6736 Binary files /dev/null and b/graphics/pokemon/seadra/front.png differ diff --git a/graphics/pokemon/seadra/icon.png b/graphics/pokemon/seadra/icon.png new file mode 100644 index 000000000..f85ea2f32 Binary files /dev/null and b/graphics/pokemon/seadra/icon.png differ diff --git a/graphics/pokemon/seadra/normal.pal b/graphics/pokemon/seadra/normal.pal new file mode 100644 index 000000000..3e4751707 --- /dev/null +++ b/graphics/pokemon/seadra/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +213 238 197 +164 222 230 +131 189 205 +106 131 156 +74 106 131 +32 65 90 +255 255 172 +222 197 82 +148 123 65 +106 82 41 +255 0 255 +222 222 222 +156 156 156 +0 0 0 +255 255 255 diff --git a/graphics/pokemon/seadra/shiny.pal b/graphics/pokemon/seadra/shiny.pal new file mode 100644 index 000000000..ae99ccc22 --- /dev/null +++ b/graphics/pokemon/seadra/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +106 180 172 +106 164 205 +65 115 164 +57 82 123 +49 41 65 +0 0 82 +255 213 148 +238 180 131 +172 82 123 +106 82 41 +255 0 255 +222 222 222 +156 156 156 +0 0 0 +255 255 255 diff --git a/graphics/pokemon/seaking/back.png b/graphics/pokemon/seaking/back.png new file mode 100644 index 000000000..eb3fbd661 Binary files /dev/null and b/graphics/pokemon/seaking/back.png differ diff --git a/graphics/pokemon/seaking/footprint.png b/graphics/pokemon/seaking/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/seaking/footprint.png differ diff --git a/graphics/pokemon/seaking/front.png b/graphics/pokemon/seaking/front.png new file mode 100644 index 000000000..155dc6172 Binary files /dev/null and b/graphics/pokemon/seaking/front.png differ diff --git a/graphics/pokemon/seaking/icon.png b/graphics/pokemon/seaking/icon.png new file mode 100644 index 000000000..7c3bcaec1 Binary files /dev/null and b/graphics/pokemon/seaking/icon.png differ diff --git a/graphics/pokemon/seaking/normal.pal b/graphics/pokemon/seaking/normal.pal new file mode 100644 index 000000000..1ffe314f4 --- /dev/null +++ b/graphics/pokemon/seaking/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +213 213 222 +172 180 189 +131 139 156 +90 90 98 +255 197 205 +246 123 90 +164 57 65 +255 0 255 +255 164 123 +246 123 90 +222 65 32 +164 49 32 +82 82 82 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/seaking/shiny.pal b/graphics/pokemon/seaking/shiny.pal new file mode 100644 index 000000000..2a4acb23d --- /dev/null +++ b/graphics/pokemon/seaking/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +230 246 164 +213 246 139 +131 164 57 +90 115 8 +255 197 205 +246 123 90 +164 57 65 +255 0 255 +255 246 131 +255 205 90 +213 164 49 +156 106 0 +82 82 82 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/sealeo/back.png b/graphics/pokemon/sealeo/back.png new file mode 100644 index 000000000..302ffb7f2 Binary files /dev/null and b/graphics/pokemon/sealeo/back.png differ diff --git a/graphics/pokemon/sealeo/footprint.png b/graphics/pokemon/sealeo/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/sealeo/footprint.png differ diff --git a/graphics/pokemon/sealeo/front.png b/graphics/pokemon/sealeo/front.png new file mode 100644 index 000000000..920a190d0 Binary files /dev/null and b/graphics/pokemon/sealeo/front.png differ diff --git a/graphics/pokemon/sealeo/icon.png b/graphics/pokemon/sealeo/icon.png new file mode 100644 index 000000000..2d21e8837 Binary files /dev/null and b/graphics/pokemon/sealeo/icon.png differ diff --git a/graphics/pokemon/sealeo/normal.pal b/graphics/pokemon/sealeo/normal.pal new file mode 100644 index 000000000..6644440c0 --- /dev/null +++ b/graphics/pokemon/sealeo/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +82 139 82 +57 82 115 +65 106 164 +106 148 213 +139 172 255 +0 0 0 +156 156 180 +189 189 213 +222 222 255 +189 156 123 +213 180 148 +238 205 172 +90 123 148 +189 205 255 +255 230 189 +255 255 255 diff --git a/graphics/pokemon/sealeo/shiny.pal b/graphics/pokemon/sealeo/shiny.pal new file mode 100644 index 000000000..df4474877 --- /dev/null +++ b/graphics/pokemon/sealeo/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +82 139 82 +90 49 139 +180 98 205 +213 148 238 +246 197 255 +0 0 0 +156 156 180 +189 189 213 +222 222 255 +189 148 82 +230 189 106 +255 222 164 +156 74 180 +255 238 255 +255 246 197 +255 255 255 diff --git a/graphics/pokemon/seedot/back.png b/graphics/pokemon/seedot/back.png new file mode 100644 index 000000000..ee4017cf5 Binary files /dev/null and b/graphics/pokemon/seedot/back.png differ diff --git a/graphics/pokemon/seedot/footprint.png b/graphics/pokemon/seedot/footprint.png new file mode 100644 index 000000000..9b41f13ed Binary files /dev/null and b/graphics/pokemon/seedot/footprint.png differ diff --git a/graphics/pokemon/seedot/front.png b/graphics/pokemon/seedot/front.png new file mode 100644 index 000000000..6be5868e6 Binary files /dev/null and b/graphics/pokemon/seedot/front.png differ diff --git a/graphics/pokemon/seedot/icon.png b/graphics/pokemon/seedot/icon.png new file mode 100644 index 000000000..500a49d47 Binary files /dev/null and b/graphics/pokemon/seedot/icon.png differ diff --git a/graphics/pokemon/seedot/normal.pal b/graphics/pokemon/seedot/normal.pal new file mode 100644 index 000000000..0fc33bf9b --- /dev/null +++ b/graphics/pokemon/seedot/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 255 255 +82 82 32 +131 123 115 +255 255 255 +156 90 49 +213 148 49 +213 180 82 +123 148 82 +180 205 131 +230 238 180 +246 197 98 +255 238 172 +0 0 0 +0 0 0 +0 0 0 +246 57 0 diff --git a/graphics/pokemon/seedot/shiny.pal b/graphics/pokemon/seedot/shiny.pal new file mode 100644 index 000000000..0cd33d0c1 --- /dev/null +++ b/graphics/pokemon/seedot/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 255 255 +82 82 32 +131 123 115 +255 255 255 +197 57 41 +230 82 32 +255 139 82 +148 139 139 +180 172 172 +222 213 213 +246 197 98 +255 238 172 +0 0 0 +0 0 0 +0 0 0 +246 57 0 diff --git a/graphics/pokemon/seel/back.png b/graphics/pokemon/seel/back.png new file mode 100644 index 000000000..5268657f5 Binary files /dev/null and b/graphics/pokemon/seel/back.png differ diff --git a/graphics/pokemon/seel/footprint.png b/graphics/pokemon/seel/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/seel/footprint.png differ diff --git a/graphics/pokemon/seel/front.png b/graphics/pokemon/seel/front.png new file mode 100644 index 000000000..e6bbb2580 Binary files /dev/null and b/graphics/pokemon/seel/front.png differ diff --git a/graphics/pokemon/seel/icon.png b/graphics/pokemon/seel/icon.png new file mode 100644 index 000000000..9000021e9 Binary files /dev/null and b/graphics/pokemon/seel/icon.png differ diff --git a/graphics/pokemon/seel/normal.pal b/graphics/pokemon/seel/normal.pal new file mode 100644 index 000000000..2a1a75900 --- /dev/null +++ b/graphics/pokemon/seel/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +123 213 148 +230 230 246 +197 197 230 +156 164 189 +82 82 106 +255 230 180 +205 189 139 +131 106 65 +255 123 106 +197 115 123 +148 65 24 +255 0 255 +255 0 255 +255 0 255 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/seel/shiny.pal b/graphics/pokemon/seel/shiny.pal new file mode 100644 index 000000000..952eec318 --- /dev/null +++ b/graphics/pokemon/seel/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +238 238 213 +213 205 189 +180 172 156 +139 131 115 +255 255 197 +213 180 131 +115 106 49 +255 156 123 +238 115 82 +148 57 41 +255 0 255 +255 0 255 +255 0 255 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/sentret/back.png b/graphics/pokemon/sentret/back.png new file mode 100644 index 000000000..97ef90a8d Binary files /dev/null and b/graphics/pokemon/sentret/back.png differ diff --git a/graphics/pokemon/sentret/footprint.png b/graphics/pokemon/sentret/footprint.png new file mode 100644 index 000000000..49ab94c0b Binary files /dev/null and b/graphics/pokemon/sentret/footprint.png differ diff --git a/graphics/pokemon/sentret/front.png b/graphics/pokemon/sentret/front.png new file mode 100644 index 000000000..eb3032ade Binary files /dev/null and b/graphics/pokemon/sentret/front.png differ diff --git a/graphics/pokemon/sentret/icon.png b/graphics/pokemon/sentret/icon.png new file mode 100644 index 000000000..560b38d44 Binary files /dev/null and b/graphics/pokemon/sentret/icon.png differ diff --git a/graphics/pokemon/sentret/normal.pal b/graphics/pokemon/sentret/normal.pal new file mode 100644 index 000000000..5591d8f1b --- /dev/null +++ b/graphics/pokemon/sentret/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +238 222 139 +230 197 82 +205 164 65 +180 139 57 +148 106 32 +115 65 16 +90 41 8 +57 8 0 +222 65 24 +180 32 16 +255 131 115 +115 115 115 +65 65 65 +16 16 16 diff --git a/graphics/pokemon/sentret/shiny.pal b/graphics/pokemon/sentret/shiny.pal new file mode 100644 index 000000000..05c9da6f7 --- /dev/null +++ b/graphics/pokemon/sentret/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 246 172 +238 222 123 +205 164 65 +205 172 74 +197 82 115 +148 41 82 +82 16 65 +57 8 0 +222 65 24 +180 32 16 +255 131 115 +115 115 115 +65 65 65 +16 16 16 diff --git a/graphics/pokemon/seviper/back.png b/graphics/pokemon/seviper/back.png new file mode 100644 index 000000000..b9849a6fa Binary files /dev/null and b/graphics/pokemon/seviper/back.png differ diff --git a/graphics/pokemon/seviper/footprint.png b/graphics/pokemon/seviper/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/seviper/footprint.png differ diff --git a/graphics/pokemon/seviper/front.png b/graphics/pokemon/seviper/front.png new file mode 100644 index 000000000..41635e5fb Binary files /dev/null and b/graphics/pokemon/seviper/front.png differ diff --git a/graphics/pokemon/seviper/icon.png b/graphics/pokemon/seviper/icon.png new file mode 100644 index 000000000..ce751ce33 Binary files /dev/null and b/graphics/pokemon/seviper/icon.png differ diff --git a/graphics/pokemon/seviper/normal.pal b/graphics/pokemon/seviper/normal.pal new file mode 100644 index 000000000..bdcc5e761 --- /dev/null +++ b/graphics/pokemon/seviper/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 197 197 +255 255 255 +57 49 49 +255 230 90 +222 189 65 +139 41 180 +255 189 172 +238 90 82 +205 65 57 +131 123 65 +41 32 32 +139 123 123 +82 74 74 +0 0 0 +164 49 255 +90 49 65 diff --git a/graphics/pokemon/seviper/shiny.pal b/graphics/pokemon/seviper/shiny.pal new file mode 100644 index 000000000..7296a030a --- /dev/null +++ b/graphics/pokemon/seviper/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 197 197 +255 255 255 +57 49 49 +205 255 115 +172 222 82 +180 49 106 +255 189 172 +90 131 180 +57 90 139 +82 123 16 +41 32 32 +139 123 123 +82 74 74 +0 0 0 +213 82 139 +90 49 65 diff --git a/graphics/pokemon/sharpedo/back.png b/graphics/pokemon/sharpedo/back.png new file mode 100644 index 000000000..4e011968b Binary files /dev/null and b/graphics/pokemon/sharpedo/back.png differ diff --git a/graphics/pokemon/sharpedo/footprint.png b/graphics/pokemon/sharpedo/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/sharpedo/footprint.png differ diff --git a/graphics/pokemon/sharpedo/front.png b/graphics/pokemon/sharpedo/front.png new file mode 100644 index 000000000..65d1182c0 Binary files /dev/null and b/graphics/pokemon/sharpedo/front.png differ diff --git a/graphics/pokemon/sharpedo/icon.png b/graphics/pokemon/sharpedo/icon.png new file mode 100644 index 000000000..d8dbc26b2 Binary files /dev/null and b/graphics/pokemon/sharpedo/icon.png differ diff --git a/graphics/pokemon/sharpedo/normal.pal b/graphics/pokemon/sharpedo/normal.pal new file mode 100644 index 000000000..3db40a601 --- /dev/null +++ b/graphics/pokemon/sharpedo/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +156 255 156 +57 65 74 +65 98 123 +65 139 148 +148 189 189 +213 123 131 +222 189 65 +255 222 98 +172 156 180 +222 205 246 +238 230 255 +156 74 90 +238 49 24 +255 255 255 +0 0 0 +106 57 74 diff --git a/graphics/pokemon/sharpedo/shiny.pal b/graphics/pokemon/sharpedo/shiny.pal new file mode 100644 index 000000000..11b98e3bd --- /dev/null +++ b/graphics/pokemon/sharpedo/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +156 255 156 +98 0 82 +131 0 115 +164 16 148 +197 49 180 +213 123 131 +222 189 65 +255 222 98 +172 156 180 +222 205 246 +238 230 255 +156 74 90 +238 49 24 +255 255 255 +0 0 0 +106 57 74 diff --git a/graphics/pokemon/shedinja/back.png b/graphics/pokemon/shedinja/back.png new file mode 100644 index 000000000..bb3a5be7d Binary files /dev/null and b/graphics/pokemon/shedinja/back.png differ diff --git a/graphics/pokemon/shedinja/footprint.png b/graphics/pokemon/shedinja/footprint.png new file mode 100644 index 000000000..d4118d5e6 Binary files /dev/null and b/graphics/pokemon/shedinja/footprint.png differ diff --git a/graphics/pokemon/shedinja/front.png b/graphics/pokemon/shedinja/front.png new file mode 100644 index 000000000..06c47ea9c Binary files /dev/null and b/graphics/pokemon/shedinja/front.png differ diff --git a/graphics/pokemon/shedinja/icon.png b/graphics/pokemon/shedinja/icon.png new file mode 100644 index 000000000..9f400e338 Binary files /dev/null and b/graphics/pokemon/shedinja/icon.png differ diff --git a/graphics/pokemon/shedinja/normal.pal b/graphics/pokemon/shedinja/normal.pal new file mode 100644 index 000000000..1e1eefe6b --- /dev/null +++ b/graphics/pokemon/shedinja/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +213 197 65 +180 164 57 +164 131 49 +139 115 41 +82 74 41 +0 0 0 +0 0 0 +0 0 0 +115 90 41 +246 230 98 +255 255 255 +222 222 222 +189 189 189 +123 123 123 +16 16 16 diff --git a/graphics/pokemon/shedinja/shiny.pal b/graphics/pokemon/shedinja/shiny.pal new file mode 100644 index 000000000..7e7ae66bd --- /dev/null +++ b/graphics/pokemon/shedinja/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +255 230 189 +246 197 156 +213 164 123 +180 131 90 +139 106 74 +0 0 0 +255 0 255 +255 0 255 +123 82 57 +255 246 230 +255 255 255 +238 222 238 +213 180 197 +131 106 131 +16 16 16 diff --git a/graphics/pokemon/shelgon/back.png b/graphics/pokemon/shelgon/back.png new file mode 100644 index 000000000..9c87ad57c Binary files /dev/null and b/graphics/pokemon/shelgon/back.png differ diff --git a/graphics/pokemon/shelgon/footprint.png b/graphics/pokemon/shelgon/footprint.png new file mode 100644 index 000000000..e2d61b9bc Binary files /dev/null and b/graphics/pokemon/shelgon/footprint.png differ diff --git a/graphics/pokemon/shelgon/front.png b/graphics/pokemon/shelgon/front.png new file mode 100644 index 000000000..c9474977e Binary files /dev/null and b/graphics/pokemon/shelgon/front.png differ diff --git a/graphics/pokemon/shelgon/icon.png b/graphics/pokemon/shelgon/icon.png new file mode 100644 index 000000000..76e0c6a1f Binary files /dev/null and b/graphics/pokemon/shelgon/icon.png differ diff --git a/graphics/pokemon/shelgon/normal.pal b/graphics/pokemon/shelgon/normal.pal new file mode 100644 index 000000000..a5abe063e --- /dev/null +++ b/graphics/pokemon/shelgon/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 246 148 +74 65 57 +98 90 74 +123 123 98 +0 0 0 +106 57 57 +189 90 32 +246 115 74 +82 82 115 +148 139 180 +205 205 205 +238 238 205 +246 246 0 +197 197 0 +180 180 189 +24 24 24 diff --git a/graphics/pokemon/shelgon/shiny.pal b/graphics/pokemon/shelgon/shiny.pal new file mode 100644 index 000000000..3d1e1a361 --- /dev/null +++ b/graphics/pokemon/shelgon/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 246 148 +57 49 41 +82 74 57 +106 106 82 +0 0 0 +106 57 57 +172 32 0 +246 82 32 +0 115 65 +74 148 57 +189 205 180 +222 238 205 +246 246 0 +197 197 0 +156 180 164 +24 24 24 diff --git a/graphics/pokemon/shellder/back.png b/graphics/pokemon/shellder/back.png new file mode 100644 index 000000000..ee5374333 Binary files /dev/null and b/graphics/pokemon/shellder/back.png differ diff --git a/graphics/pokemon/shellder/footprint.png b/graphics/pokemon/shellder/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/shellder/footprint.png differ diff --git a/graphics/pokemon/shellder/front.png b/graphics/pokemon/shellder/front.png new file mode 100644 index 000000000..0cb47ebf8 Binary files /dev/null and b/graphics/pokemon/shellder/front.png differ diff --git a/graphics/pokemon/shellder/icon.png b/graphics/pokemon/shellder/icon.png new file mode 100644 index 000000000..36ad59dfa Binary files /dev/null and b/graphics/pokemon/shellder/icon.png differ diff --git a/graphics/pokemon/shellder/normal.pal b/graphics/pokemon/shellder/normal.pal new file mode 100644 index 000000000..681ebf8d1 --- /dev/null +++ b/graphics/pokemon/shellder/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +222 205 238 +213 180 230 +180 139 189 +115 123 139 +90 57 98 +255 98 41 +197 65 74 +123 32 16 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +106 106 106 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/shellder/shiny.pal b/graphics/pokemon/shellder/shiny.pal new file mode 100644 index 000000000..e01229644 --- /dev/null +++ b/graphics/pokemon/shellder/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +213 213 238 +255 180 65 +255 139 24 +213 98 0 +148 32 0 +255 98 41 +197 65 74 +123 32 16 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +106 106 106 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/shiftry/back.png b/graphics/pokemon/shiftry/back.png new file mode 100644 index 000000000..17ddb24ca Binary files /dev/null and b/graphics/pokemon/shiftry/back.png differ diff --git a/graphics/pokemon/shiftry/footprint.png b/graphics/pokemon/shiftry/footprint.png new file mode 100644 index 000000000..3ea82a3da Binary files /dev/null and b/graphics/pokemon/shiftry/footprint.png differ diff --git a/graphics/pokemon/shiftry/front.png b/graphics/pokemon/shiftry/front.png new file mode 100644 index 000000000..580c248b7 Binary files /dev/null and b/graphics/pokemon/shiftry/front.png differ diff --git a/graphics/pokemon/shiftry/icon.png b/graphics/pokemon/shiftry/icon.png new file mode 100644 index 000000000..c10fa772d Binary files /dev/null and b/graphics/pokemon/shiftry/icon.png differ diff --git a/graphics/pokemon/shiftry/normal.pal b/graphics/pokemon/shiftry/normal.pal new file mode 100644 index 000000000..3a91e677c --- /dev/null +++ b/graphics/pokemon/shiftry/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 148 197 +82 49 49 +131 131 115 +255 255 255 +115 65 74 +156 90 98 +222 123 82 +246 197 131 +230 222 255 +189 180 197 +0 0 0 +74 123 41 +98 172 98 +131 213 98 +255 213 98 +0 0 0 diff --git a/graphics/pokemon/shiftry/shiny.pal b/graphics/pokemon/shiftry/shiny.pal new file mode 100644 index 000000000..35aca99d4 --- /dev/null +++ b/graphics/pokemon/shiftry/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 148 197 +82 49 49 +172 106 82 +255 255 255 +115 16 0 +180 49 32 +222 98 49 +255 139 98 +255 238 156 +222 172 74 +0 0 0 +90 131 49 +139 205 82 +189 255 115 +255 156 82 +0 0 0 diff --git a/graphics/pokemon/shroomish/back.png b/graphics/pokemon/shroomish/back.png new file mode 100644 index 000000000..4812bcbcd Binary files /dev/null and b/graphics/pokemon/shroomish/back.png differ diff --git a/graphics/pokemon/shroomish/footprint.png b/graphics/pokemon/shroomish/footprint.png new file mode 100644 index 000000000..d3a5986ce Binary files /dev/null and b/graphics/pokemon/shroomish/footprint.png differ diff --git a/graphics/pokemon/shroomish/front.png b/graphics/pokemon/shroomish/front.png new file mode 100644 index 000000000..0ebe8ca06 Binary files /dev/null and b/graphics/pokemon/shroomish/front.png differ diff --git a/graphics/pokemon/shroomish/icon.png b/graphics/pokemon/shroomish/icon.png new file mode 100644 index 000000000..87dd12060 Binary files /dev/null and b/graphics/pokemon/shroomish/icon.png differ diff --git a/graphics/pokemon/shroomish/normal.pal b/graphics/pokemon/shroomish/normal.pal new file mode 100644 index 000000000..97f25bdf6 --- /dev/null +++ b/graphics/pokemon/shroomish/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 148 139 +98 74 49 +148 106 49 +213 164 90 +238 197 139 +255 230 172 +255 255 213 +90 131 74 +123 172 106 +139 197 131 +164 213 148 +65 82 49 +172 197 131 +0 0 0 +0 0 0 +255 255 255 diff --git a/graphics/pokemon/shroomish/shiny.pal b/graphics/pokemon/shroomish/shiny.pal new file mode 100644 index 000000000..a0bd12821 --- /dev/null +++ b/graphics/pokemon/shroomish/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 148 139 +123 98 74 +172 123 65 +222 189 123 +246 213 164 +255 238 189 +255 255 230 +180 65 49 +222 98 49 +255 115 74 +255 189 106 +164 49 32 +255 172 98 +0 0 0 +0 0 0 +255 255 255 diff --git a/graphics/pokemon/shuckle/back.png b/graphics/pokemon/shuckle/back.png new file mode 100644 index 000000000..1b19db0e5 Binary files /dev/null and b/graphics/pokemon/shuckle/back.png differ diff --git a/graphics/pokemon/shuckle/footprint.png b/graphics/pokemon/shuckle/footprint.png new file mode 100644 index 000000000..e26b60bcd Binary files /dev/null and b/graphics/pokemon/shuckle/footprint.png differ diff --git a/graphics/pokemon/shuckle/front.png b/graphics/pokemon/shuckle/front.png new file mode 100644 index 000000000..1747fe5e7 Binary files /dev/null and b/graphics/pokemon/shuckle/front.png differ diff --git a/graphics/pokemon/shuckle/icon.png b/graphics/pokemon/shuckle/icon.png new file mode 100644 index 000000000..aaf49345a Binary files /dev/null and b/graphics/pokemon/shuckle/icon.png differ diff --git a/graphics/pokemon/shuckle/normal.pal b/graphics/pokemon/shuckle/normal.pal new file mode 100644 index 000000000..ea40c0be4 --- /dev/null +++ b/graphics/pokemon/shuckle/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +16 16 16 +148 131 115 +115 82 16 +189 139 41 +238 197 74 +255 255 90 +255 0 255 +230 156 131 +246 205 180 +255 0 255 +131 32 0 +197 57 16 +246 115 57 +255 180 123 +255 255 255 diff --git a/graphics/pokemon/shuckle/shiny.pal b/graphics/pokemon/shuckle/shiny.pal new file mode 100644 index 000000000..30126f57c --- /dev/null +++ b/graphics/pokemon/shuckle/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +16 16 16 +148 131 115 +115 82 16 +189 139 41 +238 197 74 +255 255 90 +255 0 255 +164 189 189 +189 213 213 +255 0 255 +24 65 115 +49 98 189 +65 156 238 +139 205 246 +255 255 255 diff --git a/graphics/pokemon/shuppet/back.png b/graphics/pokemon/shuppet/back.png new file mode 100644 index 000000000..2c6dbdb18 Binary files /dev/null and b/graphics/pokemon/shuppet/back.png differ diff --git a/graphics/pokemon/shuppet/footprint.png b/graphics/pokemon/shuppet/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/shuppet/footprint.png differ diff --git a/graphics/pokemon/shuppet/front.png b/graphics/pokemon/shuppet/front.png new file mode 100644 index 000000000..9b63e2640 Binary files /dev/null and b/graphics/pokemon/shuppet/front.png differ diff --git a/graphics/pokemon/shuppet/icon.png b/graphics/pokemon/shuppet/icon.png new file mode 100644 index 000000000..6e7087efd Binary files /dev/null and b/graphics/pokemon/shuppet/icon.png differ diff --git a/graphics/pokemon/shuppet/normal.pal b/graphics/pokemon/shuppet/normal.pal new file mode 100644 index 000000000..7dafb6a01 --- /dev/null +++ b/graphics/pokemon/shuppet/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +98 197 197 +74 65 74 +148 131 139 +164 164 172 +172 189 197 +123 115 123 +106 213 246 +82 189 213 +246 213 49 +189 180 0 +123 180 65 +106 148 65 +0 0 0 +0 0 0 +0 0 0 +24 24 24 diff --git a/graphics/pokemon/shuppet/shiny.pal b/graphics/pokemon/shuppet/shiny.pal new file mode 100644 index 000000000..9d5557a71 --- /dev/null +++ b/graphics/pokemon/shuppet/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +98 197 197 +49 74 82 +57 123 131 +98 172 180 +139 205 213 +49 115 123 +106 213 246 +82 189 213 +246 213 49 +189 180 0 +123 180 65 +106 148 65 +0 0 0 +0 0 0 +0 0 0 +24 24 24 diff --git a/graphics/pokemon/silcoon/back.png b/graphics/pokemon/silcoon/back.png new file mode 100644 index 000000000..26c8cfdaf Binary files /dev/null and b/graphics/pokemon/silcoon/back.png differ diff --git a/graphics/pokemon/silcoon/footprint.png b/graphics/pokemon/silcoon/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/silcoon/footprint.png differ diff --git a/graphics/pokemon/silcoon/front.png b/graphics/pokemon/silcoon/front.png new file mode 100644 index 000000000..f416f074d Binary files /dev/null and b/graphics/pokemon/silcoon/front.png differ diff --git a/graphics/pokemon/silcoon/icon.png b/graphics/pokemon/silcoon/icon.png new file mode 100644 index 000000000..0b572a20c Binary files /dev/null and b/graphics/pokemon/silcoon/icon.png differ diff --git a/graphics/pokemon/silcoon/normal.pal b/graphics/pokemon/silcoon/normal.pal new file mode 100644 index 000000000..2a48849f8 --- /dev/null +++ b/graphics/pokemon/silcoon/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +197 246 197 +106 106 115 +139 139 148 +172 172 180 +0 0 0 +189 189 205 +222 213 230 +238 238 230 +255 255 255 +16 16 24 +246 164 0 +197 123 0 +0 0 0 +246 255 197 +0 0 0 +24 24 24 diff --git a/graphics/pokemon/silcoon/shiny.pal b/graphics/pokemon/silcoon/shiny.pal new file mode 100644 index 000000000..db9e98b7a --- /dev/null +++ b/graphics/pokemon/silcoon/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +197 246 197 +164 106 24 +205 148 65 +230 164 90 +0 0 0 +255 189 90 +255 222 148 +255 246 197 +255 255 255 +16 16 24 +90 131 189 +65 90 139 +0 0 0 +246 255 197 +0 0 0 +24 24 24 diff --git a/graphics/pokemon/skarmory/back.png b/graphics/pokemon/skarmory/back.png new file mode 100644 index 000000000..f3c8d95cc Binary files /dev/null and b/graphics/pokemon/skarmory/back.png differ diff --git a/graphics/pokemon/skarmory/footprint.png b/graphics/pokemon/skarmory/footprint.png new file mode 100644 index 000000000..1134fec29 Binary files /dev/null and b/graphics/pokemon/skarmory/footprint.png differ diff --git a/graphics/pokemon/skarmory/front.png b/graphics/pokemon/skarmory/front.png new file mode 100644 index 000000000..06ce4420f Binary files /dev/null and b/graphics/pokemon/skarmory/front.png differ diff --git a/graphics/pokemon/skarmory/icon.png b/graphics/pokemon/skarmory/icon.png new file mode 100644 index 000000000..1eb310654 Binary files /dev/null and b/graphics/pokemon/skarmory/icon.png differ diff --git a/graphics/pokemon/skarmory/normal.pal b/graphics/pokemon/skarmory/normal.pal new file mode 100644 index 000000000..d4662ab92 --- /dev/null +++ b/graphics/pokemon/skarmory/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +230 230 238 +197 197 205 +164 164 172 +123 123 131 +82 82 82 +255 156 123 +246 98 82 +197 57 49 +148 32 0 +255 222 0 +205 148 0 +255 0 255 +255 0 255 +16 16 16 diff --git a/graphics/pokemon/skarmory/shiny.pal b/graphics/pokemon/skarmory/shiny.pal new file mode 100644 index 000000000..561324c82 --- /dev/null +++ b/graphics/pokemon/skarmory/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +238 230 197 +197 189 164 +148 139 123 +115 115 98 +82 90 74 +115 213 74 +74 172 41 +41 106 32 +49 74 32 +255 222 0 +205 148 0 +255 0 255 +255 0 255 +16 16 16 diff --git a/graphics/pokemon/skiploom/back.png b/graphics/pokemon/skiploom/back.png new file mode 100644 index 000000000..8f010fb4f Binary files /dev/null and b/graphics/pokemon/skiploom/back.png differ diff --git a/graphics/pokemon/skiploom/footprint.png b/graphics/pokemon/skiploom/footprint.png new file mode 100644 index 000000000..efa7f5034 Binary files /dev/null and b/graphics/pokemon/skiploom/footprint.png differ diff --git a/graphics/pokemon/skiploom/front.png b/graphics/pokemon/skiploom/front.png new file mode 100644 index 000000000..0efc78f1d Binary files /dev/null and b/graphics/pokemon/skiploom/front.png differ diff --git a/graphics/pokemon/skiploom/icon.png b/graphics/pokemon/skiploom/icon.png new file mode 100644 index 000000000..90c0c8e7c Binary files /dev/null and b/graphics/pokemon/skiploom/icon.png differ diff --git a/graphics/pokemon/skiploom/normal.pal b/graphics/pokemon/skiploom/normal.pal new file mode 100644 index 000000000..15fcce8e5 --- /dev/null +++ b/graphics/pokemon/skiploom/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +139 238 57 +98 205 57 +65 172 32 +24 98 0 +255 0 255 +255 238 115 +255 213 0 +246 164 0 +172 90 0 +255 0 255 +255 0 255 +213 213 213 +164 164 164 +16 16 16 diff --git a/graphics/pokemon/skiploom/shiny.pal b/graphics/pokemon/skiploom/shiny.pal new file mode 100644 index 000000000..2dedaa30e --- /dev/null +++ b/graphics/pokemon/skiploom/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 148 213 +222 106 189 +172 90 148 +98 49 82 +255 0 255 +255 238 115 +255 213 0 +238 156 16 +156 90 16 +255 0 255 +255 0 255 +213 213 213 +164 164 164 +16 16 16 diff --git a/graphics/pokemon/skitty/back.png b/graphics/pokemon/skitty/back.png new file mode 100644 index 000000000..e7f5ebb67 Binary files /dev/null and b/graphics/pokemon/skitty/back.png differ diff --git a/graphics/pokemon/skitty/footprint.png b/graphics/pokemon/skitty/footprint.png new file mode 100644 index 000000000..355153dcb Binary files /dev/null and b/graphics/pokemon/skitty/footprint.png differ diff --git a/graphics/pokemon/skitty/front.png b/graphics/pokemon/skitty/front.png new file mode 100644 index 000000000..b0b85cc95 Binary files /dev/null and b/graphics/pokemon/skitty/front.png differ diff --git a/graphics/pokemon/skitty/icon.png b/graphics/pokemon/skitty/icon.png new file mode 100644 index 000000000..fb41f1c07 Binary files /dev/null and b/graphics/pokemon/skitty/icon.png differ diff --git a/graphics/pokemon/skitty/normal.pal b/graphics/pokemon/skitty/normal.pal new file mode 100644 index 000000000..0a1228191 --- /dev/null +++ b/graphics/pokemon/skitty/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +255 246 148 +255 205 98 +205 156 65 +131 106 65 +0 0 0 +0 0 0 +255 205 189 +197 106 180 +123 0 106 +0 0 0 +255 172 148 +255 131 106 +197 82 57 +131 41 49 diff --git a/graphics/pokemon/skitty/shiny.pal b/graphics/pokemon/skitty/shiny.pal new file mode 100644 index 000000000..d3e9130f3 --- /dev/null +++ b/graphics/pokemon/skitty/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +255 246 164 +255 222 115 +213 164 65 +131 106 65 +0 0 0 +0 0 0 +255 180 98 +255 106 74 +115 24 32 +0 0 0 +255 123 82 +238 82 49 +189 65 32 +164 49 32 diff --git a/graphics/pokemon/slaking/back.png b/graphics/pokemon/slaking/back.png new file mode 100644 index 000000000..50d55a957 Binary files /dev/null and b/graphics/pokemon/slaking/back.png differ diff --git a/graphics/pokemon/slaking/footprint.png b/graphics/pokemon/slaking/footprint.png new file mode 100644 index 000000000..c2c20413b Binary files /dev/null and b/graphics/pokemon/slaking/footprint.png differ diff --git a/graphics/pokemon/slaking/front.png b/graphics/pokemon/slaking/front.png new file mode 100644 index 000000000..3ff648701 Binary files /dev/null and b/graphics/pokemon/slaking/front.png differ diff --git a/graphics/pokemon/slaking/icon.png b/graphics/pokemon/slaking/icon.png new file mode 100644 index 000000000..71b6c7537 Binary files /dev/null and b/graphics/pokemon/slaking/icon.png differ diff --git a/graphics/pokemon/slaking/normal.pal b/graphics/pokemon/slaking/normal.pal new file mode 100644 index 000000000..84cf081cf --- /dev/null +++ b/graphics/pokemon/slaking/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 156 164 +90 65 49 +139 106 82 +172 139 106 +197 172 148 +213 205 180 +246 238 213 +90 98 123 +205 205 238 +238 238 255 +255 255 255 +139 49 65 +197 82 115 +222 131 148 +16 0 0 +255 255 255 diff --git a/graphics/pokemon/slaking/shiny.pal b/graphics/pokemon/slaking/shiny.pal new file mode 100644 index 000000000..1ec404cf6 --- /dev/null +++ b/graphics/pokemon/slaking/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 156 164 +74 65 49 +106 98 74 +139 123 106 +197 172 148 +213 205 180 +246 238 213 +189 131 65 +255 197 106 +255 238 148 +255 255 255 +164 49 32 +213 82 41 +255 123 82 +16 0 0 +255 255 255 diff --git a/graphics/pokemon/slakoth/back.png b/graphics/pokemon/slakoth/back.png new file mode 100644 index 000000000..9f82930b0 Binary files /dev/null and b/graphics/pokemon/slakoth/back.png differ diff --git a/graphics/pokemon/slakoth/footprint.png b/graphics/pokemon/slakoth/footprint.png new file mode 100644 index 000000000..ec258f41b Binary files /dev/null and b/graphics/pokemon/slakoth/footprint.png differ diff --git a/graphics/pokemon/slakoth/front.png b/graphics/pokemon/slakoth/front.png new file mode 100644 index 000000000..5440669ae Binary files /dev/null and b/graphics/pokemon/slakoth/front.png differ diff --git a/graphics/pokemon/slakoth/icon.png b/graphics/pokemon/slakoth/icon.png new file mode 100644 index 000000000..c04ff08a0 Binary files /dev/null and b/graphics/pokemon/slakoth/icon.png differ diff --git a/graphics/pokemon/slakoth/normal.pal b/graphics/pokemon/slakoth/normal.pal new file mode 100644 index 000000000..934fc9ae9 --- /dev/null +++ b/graphics/pokemon/slakoth/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +139 148 205 +0 0 0 +82 57 41 +115 82 41 +139 106 65 +65 65 65 +156 156 156 +205 205 205 +255 255 255 +139 49 65 +189 90 74 +213 123 106 +255 164 139 +180 148 106 +205 180 139 +230 205 164 diff --git a/graphics/pokemon/slakoth/shiny.pal b/graphics/pokemon/slakoth/shiny.pal new file mode 100644 index 000000000..4f65ae8e4 --- /dev/null +++ b/graphics/pokemon/slakoth/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +139 148 205 +41 32 32 +57 49 49 +82 74 74 +156 106 139 +65 65 65 +156 156 156 +205 205 205 +255 255 255 +156 41 24 +180 65 49 +222 98 49 +255 123 82 +156 90 131 +197 123 172 +230 189 205 diff --git a/graphics/pokemon/slowbro/back.png b/graphics/pokemon/slowbro/back.png new file mode 100644 index 000000000..b62c5fcf4 Binary files /dev/null and b/graphics/pokemon/slowbro/back.png differ diff --git a/graphics/pokemon/slowbro/footprint.png b/graphics/pokemon/slowbro/footprint.png new file mode 100644 index 000000000..c4f82e405 Binary files /dev/null and b/graphics/pokemon/slowbro/footprint.png differ diff --git a/graphics/pokemon/slowbro/front.png b/graphics/pokemon/slowbro/front.png new file mode 100644 index 000000000..36bd9e8c5 Binary files /dev/null and b/graphics/pokemon/slowbro/front.png differ diff --git a/graphics/pokemon/slowbro/icon.png b/graphics/pokemon/slowbro/icon.png new file mode 100644 index 000000000..bf7ee6a32 Binary files /dev/null and b/graphics/pokemon/slowbro/icon.png differ diff --git a/graphics/pokemon/slowbro/normal.pal b/graphics/pokemon/slowbro/normal.pal new file mode 100644 index 000000000..8088b21e4 --- /dev/null +++ b/graphics/pokemon/slowbro/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +164 213 213 +255 255 255 +255 238 156 +255 222 123 +222 189 90 +139 98 24 +230 246 189 +197 213 156 +156 172 98 +82 98 49 +230 82 41 +255 189 148 +255 139 106 +230 106 106 +148 57 57 +16 16 16 diff --git a/graphics/pokemon/slowbro/shiny.pal b/graphics/pokemon/slowbro/shiny.pal new file mode 100644 index 000000000..c635dbe64 --- /dev/null +++ b/graphics/pokemon/slowbro/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 205 +255 255 255 +255 238 156 +255 205 98 +230 172 90 +164 115 32 +230 197 106 +189 156 65 +148 115 24 +98 65 0 +230 82 41 +197 180 222 +164 156 213 +123 115 172 +74 65 123 +16 16 16 diff --git a/graphics/pokemon/slowking/back.png b/graphics/pokemon/slowking/back.png new file mode 100644 index 000000000..16a779506 Binary files /dev/null and b/graphics/pokemon/slowking/back.png differ diff --git a/graphics/pokemon/slowking/footprint.png b/graphics/pokemon/slowking/footprint.png new file mode 100644 index 000000000..52593624a Binary files /dev/null and b/graphics/pokemon/slowking/footprint.png differ diff --git a/graphics/pokemon/slowking/front.png b/graphics/pokemon/slowking/front.png new file mode 100644 index 000000000..11b16a952 Binary files /dev/null and b/graphics/pokemon/slowking/front.png differ diff --git a/graphics/pokemon/slowking/icon.png b/graphics/pokemon/slowking/icon.png new file mode 100644 index 000000000..04bd1a155 Binary files /dev/null and b/graphics/pokemon/slowking/icon.png differ diff --git a/graphics/pokemon/slowking/normal.pal b/graphics/pokemon/slowking/normal.pal new file mode 100644 index 000000000..c3e452f0d --- /dev/null +++ b/graphics/pokemon/slowking/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +16 16 16 +255 123 57 +205 74 32 +156 32 0 +205 74 32 +230 106 49 +255 180 115 +148 106 0 +255 189 49 +255 255 139 +82 82 65 +148 148 123 +180 180 172 +222 222 205 +255 255 255 diff --git a/graphics/pokemon/slowking/shiny.pal b/graphics/pokemon/slowking/shiny.pal new file mode 100644 index 000000000..55ae2a1ee --- /dev/null +++ b/graphics/pokemon/slowking/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +16 16 16 +98 164 246 +49 90 189 +131 32 74 +180 90 115 +213 123 148 +255 180 197 +148 106 0 +238 189 65 +255 255 139 +82 82 65 +148 148 123 +180 180 172 +222 222 205 +255 255 255 diff --git a/graphics/pokemon/slowpoke/back.png b/graphics/pokemon/slowpoke/back.png new file mode 100644 index 000000000..62bf72f0e Binary files /dev/null and b/graphics/pokemon/slowpoke/back.png differ diff --git a/graphics/pokemon/slowpoke/footprint.png b/graphics/pokemon/slowpoke/footprint.png new file mode 100644 index 000000000..a66ebbc32 Binary files /dev/null and b/graphics/pokemon/slowpoke/footprint.png differ diff --git a/graphics/pokemon/slowpoke/front.png b/graphics/pokemon/slowpoke/front.png new file mode 100644 index 000000000..5c6c87026 Binary files /dev/null and b/graphics/pokemon/slowpoke/front.png differ diff --git a/graphics/pokemon/slowpoke/icon.png b/graphics/pokemon/slowpoke/icon.png new file mode 100644 index 000000000..cc3123e14 Binary files /dev/null and b/graphics/pokemon/slowpoke/icon.png differ diff --git a/graphics/pokemon/slowpoke/normal.pal b/graphics/pokemon/slowpoke/normal.pal new file mode 100644 index 000000000..19966396c --- /dev/null +++ b/graphics/pokemon/slowpoke/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +222 213 213 +255 255 189 +255 246 131 +230 197 90 +131 82 8 +255 0 255 +246 65 32 +180 41 41 +106 98 98 +255 180 148 +255 131 98 +230 90 106 +156 49 49 +16 16 16 diff --git a/graphics/pokemon/slowpoke/shiny.pal b/graphics/pokemon/slowpoke/shiny.pal new file mode 100644 index 000000000..7dbc76ed3 --- /dev/null +++ b/graphics/pokemon/slowpoke/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +213 205 205 +255 255 189 +255 255 148 +238 213 106 +156 74 32 +255 0 255 +246 65 32 +139 32 32 +106 98 98 +255 205 205 +238 180 197 +197 139 156 +139 74 90 +16 16 16 diff --git a/graphics/pokemon/slugma/back.png b/graphics/pokemon/slugma/back.png new file mode 100644 index 000000000..347d27ed1 Binary files /dev/null and b/graphics/pokemon/slugma/back.png differ diff --git a/graphics/pokemon/slugma/footprint.png b/graphics/pokemon/slugma/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/slugma/footprint.png differ diff --git a/graphics/pokemon/slugma/front.png b/graphics/pokemon/slugma/front.png new file mode 100644 index 000000000..4b27af3fc Binary files /dev/null and b/graphics/pokemon/slugma/front.png differ diff --git a/graphics/pokemon/slugma/icon.png b/graphics/pokemon/slugma/icon.png new file mode 100644 index 000000000..d954c6f68 Binary files /dev/null and b/graphics/pokemon/slugma/icon.png differ diff --git a/graphics/pokemon/slugma/normal.pal b/graphics/pokemon/slugma/normal.pal new file mode 100644 index 000000000..081ae47dc --- /dev/null +++ b/graphics/pokemon/slugma/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 189 106 +255 131 74 +222 90 32 +148 32 0 +255 213 115 +255 238 156 +255 213 115 +246 164 0 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +106 106 106 +16 16 16 diff --git a/graphics/pokemon/slugma/shiny.pal b/graphics/pokemon/slugma/shiny.pal new file mode 100644 index 000000000..85babdbe1 --- /dev/null +++ b/graphics/pokemon/slugma/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +213 213 213 +180 180 180 +123 123 123 +74 74 74 +230 230 230 +255 238 156 +255 213 115 +246 164 0 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +106 106 106 +16 16 16 diff --git a/graphics/pokemon/smeargle/back.png b/graphics/pokemon/smeargle/back.png new file mode 100644 index 000000000..fefbed16f Binary files /dev/null and b/graphics/pokemon/smeargle/back.png differ diff --git a/graphics/pokemon/smeargle/footprint.png b/graphics/pokemon/smeargle/footprint.png new file mode 100644 index 000000000..b946130cd Binary files /dev/null and b/graphics/pokemon/smeargle/footprint.png differ diff --git a/graphics/pokemon/smeargle/front.png b/graphics/pokemon/smeargle/front.png new file mode 100644 index 000000000..91c400395 Binary files /dev/null and b/graphics/pokemon/smeargle/front.png differ diff --git a/graphics/pokemon/smeargle/icon.png b/graphics/pokemon/smeargle/icon.png new file mode 100644 index 000000000..54b387b05 Binary files /dev/null and b/graphics/pokemon/smeargle/icon.png differ diff --git a/graphics/pokemon/smeargle/normal.pal b/graphics/pokemon/smeargle/normal.pal new file mode 100644 index 000000000..068322e3e --- /dev/null +++ b/graphics/pokemon/smeargle/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +189 213 213 +255 255 255 +24 156 0 +222 222 189 +172 172 139 +139 131 82 +246 131 0 +180 0 0 +106 90 49 +74 57 16 +106 222 65 +65 197 24 +0 98 0 +197 197 197 +148 148 156 +16 16 16 diff --git a/graphics/pokemon/smeargle/shiny.pal b/graphics/pokemon/smeargle/shiny.pal new file mode 100644 index 000000000..f5f50de2d --- /dev/null +++ b/graphics/pokemon/smeargle/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +189 213 213 +255 255 255 +197 74 65 +238 222 156 +205 172 98 +180 115 74 +246 131 0 +180 0 0 +106 65 32 +74 57 16 +255 156 131 +238 106 82 +172 49 41 +197 197 197 +148 148 156 +16 16 16 diff --git a/graphics/pokemon/smoochum/back.png b/graphics/pokemon/smoochum/back.png new file mode 100644 index 000000000..bad0422e5 Binary files /dev/null and b/graphics/pokemon/smoochum/back.png differ diff --git a/graphics/pokemon/smoochum/footprint.png b/graphics/pokemon/smoochum/footprint.png new file mode 100644 index 000000000..e901d9334 Binary files /dev/null and b/graphics/pokemon/smoochum/footprint.png differ diff --git a/graphics/pokemon/smoochum/front.png b/graphics/pokemon/smoochum/front.png new file mode 100644 index 000000000..608841600 Binary files /dev/null and b/graphics/pokemon/smoochum/front.png differ diff --git a/graphics/pokemon/smoochum/icon.png b/graphics/pokemon/smoochum/icon.png new file mode 100644 index 000000000..11f1e6fe7 Binary files /dev/null and b/graphics/pokemon/smoochum/icon.png differ diff --git a/graphics/pokemon/smoochum/normal.pal b/graphics/pokemon/smoochum/normal.pal new file mode 100644 index 000000000..722cd4206 --- /dev/null +++ b/graphics/pokemon/smoochum/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +189 172 41 +255 148 164 +222 74 123 +139 16 90 +255 230 82 +222 205 49 +148 131 24 +255 197 164 +246 230 172 +222 197 131 +139 131 74 +213 213 213 +180 180 180 +0 0 0 diff --git a/graphics/pokemon/smoochum/shiny.pal b/graphics/pokemon/smoochum/shiny.pal new file mode 100644 index 000000000..00a439312 --- /dev/null +++ b/graphics/pokemon/smoochum/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +213 189 24 +255 189 213 +230 139 123 +164 65 57 +255 255 172 +255 230 74 +172 148 16 +255 222 230 +246 246 205 +213 197 139 +139 131 74 +197 197 197 +131 131 131 +41 41 57 diff --git a/graphics/pokemon/sneasel/back.png b/graphics/pokemon/sneasel/back.png new file mode 100644 index 000000000..5a0765cb2 Binary files /dev/null and b/graphics/pokemon/sneasel/back.png differ diff --git a/graphics/pokemon/sneasel/footprint.png b/graphics/pokemon/sneasel/footprint.png new file mode 100644 index 000000000..2159ef3dc Binary files /dev/null and b/graphics/pokemon/sneasel/footprint.png differ diff --git a/graphics/pokemon/sneasel/front.png b/graphics/pokemon/sneasel/front.png new file mode 100644 index 000000000..704489419 Binary files /dev/null and b/graphics/pokemon/sneasel/front.png differ diff --git a/graphics/pokemon/sneasel/icon.png b/graphics/pokemon/sneasel/icon.png new file mode 100644 index 000000000..95eb3e66d Binary files /dev/null and b/graphics/pokemon/sneasel/icon.png differ diff --git a/graphics/pokemon/sneasel/normal.pal b/graphics/pokemon/sneasel/normal.pal new file mode 100644 index 000000000..076fa7300 --- /dev/null +++ b/graphics/pokemon/sneasel/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +139 172 156 +82 123 106 +57 90 74 +41 57 41 +255 205 213 +255 115 106 +197 74 74 +131 16 32 +230 74 74 +106 98 123 +189 180 197 +255 230 90 +205 131 0 +16 16 16 diff --git a/graphics/pokemon/sneasel/shiny.pal b/graphics/pokemon/sneasel/shiny.pal new file mode 100644 index 000000000..64a502ce6 --- /dev/null +++ b/graphics/pokemon/sneasel/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 172 205 +238 139 180 +197 98 131 +90 49 65 +255 255 164 +255 230 74 +222 180 98 +156 98 57 +230 74 74 +106 98 123 +189 180 197 +255 255 255 +205 222 238 +16 16 16 diff --git a/graphics/pokemon/snorlax/back.png b/graphics/pokemon/snorlax/back.png new file mode 100644 index 000000000..da44b95aa Binary files /dev/null and b/graphics/pokemon/snorlax/back.png differ diff --git a/graphics/pokemon/snorlax/footprint.png b/graphics/pokemon/snorlax/footprint.png new file mode 100644 index 000000000..d3d25c4bc Binary files /dev/null and b/graphics/pokemon/snorlax/footprint.png differ diff --git a/graphics/pokemon/snorlax/front.png b/graphics/pokemon/snorlax/front.png new file mode 100644 index 000000000..e71642b2c Binary files /dev/null and b/graphics/pokemon/snorlax/front.png differ diff --git a/graphics/pokemon/snorlax/icon.png b/graphics/pokemon/snorlax/icon.png new file mode 100644 index 000000000..00a74b6ac Binary files /dev/null and b/graphics/pokemon/snorlax/icon.png differ diff --git a/graphics/pokemon/snorlax/normal.pal b/graphics/pokemon/snorlax/normal.pal new file mode 100644 index 000000000..2310b2b3f --- /dev/null +++ b/graphics/pokemon/snorlax/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +123 164 148 +98 131 115 +57 98 82 +57 82 65 +255 255 197 +246 246 156 +238 222 156 +139 139 74 +213 164 106 +197 139 82 +189 24 24 +213 213 222 +106 106 115 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/snorlax/shiny.pal b/graphics/pokemon/snorlax/shiny.pal new file mode 100644 index 000000000..8fcbe5988 --- /dev/null +++ b/graphics/pokemon/snorlax/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +74 156 205 +65 115 189 +41 90 131 +41 90 98 +246 238 189 +246 230 180 +238 213 164 +156 156 82 +222 156 98 +180 123 57 +148 90 24 +213 213 222 +106 106 115 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/snorunt/back.png b/graphics/pokemon/snorunt/back.png new file mode 100644 index 000000000..53ddf9fdc Binary files /dev/null and b/graphics/pokemon/snorunt/back.png differ diff --git a/graphics/pokemon/snorunt/footprint.png b/graphics/pokemon/snorunt/footprint.png new file mode 100644 index 000000000..14277b506 Binary files /dev/null and b/graphics/pokemon/snorunt/footprint.png differ diff --git a/graphics/pokemon/snorunt/front.png b/graphics/pokemon/snorunt/front.png new file mode 100644 index 000000000..bf18fb9fa Binary files /dev/null and b/graphics/pokemon/snorunt/front.png differ diff --git a/graphics/pokemon/snorunt/icon.png b/graphics/pokemon/snorunt/icon.png new file mode 100644 index 000000000..2710b9a0a Binary files /dev/null and b/graphics/pokemon/snorunt/icon.png differ diff --git a/graphics/pokemon/snorunt/normal.pal b/graphics/pokemon/snorunt/normal.pal new file mode 100644 index 000000000..25d137458 --- /dev/null +++ b/graphics/pokemon/snorunt/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +222 222 222 +255 123 82 +180 65 49 +180 115 49 +255 238 164 +255 213 106 +230 172 90 +139 213 255 +156 139 139 +65 148 213 +139 123 123 +82 74 74 +57 49 49 +41 32 32 +255 255 255 diff --git a/graphics/pokemon/snorunt/shiny.pal b/graphics/pokemon/snorunt/shiny.pal new file mode 100644 index 000000000..b483a219f --- /dev/null +++ b/graphics/pokemon/snorunt/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +222 222 222 +255 205 82 +180 131 49 +148 98 16 +172 246 255 +139 213 255 +106 180 222 +255 197 180 +156 139 139 +255 57 41 +139 123 123 +82 74 74 +57 49 49 +41 32 32 +255 255 255 diff --git a/graphics/pokemon/snubbull/back.png b/graphics/pokemon/snubbull/back.png new file mode 100644 index 000000000..2b212b708 Binary files /dev/null and b/graphics/pokemon/snubbull/back.png differ diff --git a/graphics/pokemon/snubbull/footprint.png b/graphics/pokemon/snubbull/footprint.png new file mode 100644 index 000000000..443847cdd Binary files /dev/null and b/graphics/pokemon/snubbull/footprint.png differ diff --git a/graphics/pokemon/snubbull/front.png b/graphics/pokemon/snubbull/front.png new file mode 100644 index 000000000..86c602d49 Binary files /dev/null and b/graphics/pokemon/snubbull/front.png differ diff --git a/graphics/pokemon/snubbull/icon.png b/graphics/pokemon/snubbull/icon.png new file mode 100644 index 000000000..80f9b1288 Binary files /dev/null and b/graphics/pokemon/snubbull/icon.png differ diff --git a/graphics/pokemon/snubbull/normal.pal b/graphics/pokemon/snubbull/normal.pal new file mode 100644 index 000000000..dea1ea530 --- /dev/null +++ b/graphics/pokemon/snubbull/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +164 41 41 +255 0 255 +148 41 57 +230 98 106 +238 180 164 +255 205 197 +255 131 41 +16 16 16 +65 65 82 +98 115 115 +148 164 164 +65 139 172 +172 222 246 +222 222 222 +255 255 255 diff --git a/graphics/pokemon/snubbull/shiny.pal b/graphics/pokemon/snubbull/shiny.pal new file mode 100644 index 000000000..5dcc2957d --- /dev/null +++ b/graphics/pokemon/snubbull/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +197 49 65 +255 0 255 +90 90 139 +148 156 164 +197 205 197 +222 222 222 +255 148 74 +16 16 16 +123 49 65 +156 74 98 +205 106 139 +65 139 172 +255 197 180 +238 213 197 +255 255 255 diff --git a/graphics/pokemon/solrock/back.png b/graphics/pokemon/solrock/back.png new file mode 100644 index 000000000..2f6e7cb99 Binary files /dev/null and b/graphics/pokemon/solrock/back.png differ diff --git a/graphics/pokemon/solrock/footprint.png b/graphics/pokemon/solrock/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/solrock/footprint.png differ diff --git a/graphics/pokemon/solrock/front.png b/graphics/pokemon/solrock/front.png new file mode 100644 index 000000000..d0fe58533 Binary files /dev/null and b/graphics/pokemon/solrock/front.png differ diff --git a/graphics/pokemon/solrock/icon.png b/graphics/pokemon/solrock/icon.png new file mode 100644 index 000000000..f9e689424 Binary files /dev/null and b/graphics/pokemon/solrock/icon.png differ diff --git a/graphics/pokemon/solrock/normal.pal b/graphics/pokemon/solrock/normal.pal new file mode 100644 index 000000000..315f49dd3 --- /dev/null +++ b/graphics/pokemon/solrock/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +255 238 164 +238 213 115 +222 180 74 +180 148 82 +238 148 57 +205 123 49 +172 98 41 +139 82 32 +123 98 74 +57 41 24 +255 172 98 +213 74 82 +139 115 115 +82 82 90 +16 16 16 diff --git a/graphics/pokemon/solrock/shiny.pal b/graphics/pokemon/solrock/shiny.pal new file mode 100644 index 000000000..9de01aa0b --- /dev/null +++ b/graphics/pokemon/solrock/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +255 238 164 +238 213 115 +222 180 74 +180 148 82 +255 115 106 +255 65 57 +222 32 24 +189 0 0 +123 98 74 +57 41 24 +255 172 98 +0 205 255 +139 115 115 +82 82 90 +16 16 16 diff --git a/graphics/pokemon/spearow/back.png b/graphics/pokemon/spearow/back.png new file mode 100644 index 000000000..b630f24e0 Binary files /dev/null and b/graphics/pokemon/spearow/back.png differ diff --git a/graphics/pokemon/spearow/footprint.png b/graphics/pokemon/spearow/footprint.png new file mode 100644 index 000000000..6fe6e4282 Binary files /dev/null and b/graphics/pokemon/spearow/footprint.png differ diff --git a/graphics/pokemon/spearow/front.png b/graphics/pokemon/spearow/front.png new file mode 100644 index 000000000..f6408d7c0 Binary files /dev/null and b/graphics/pokemon/spearow/front.png differ diff --git a/graphics/pokemon/spearow/icon.png b/graphics/pokemon/spearow/icon.png new file mode 100644 index 000000000..a88db9927 Binary files /dev/null and b/graphics/pokemon/spearow/icon.png differ diff --git a/graphics/pokemon/spearow/normal.pal b/graphics/pokemon/spearow/normal.pal new file mode 100644 index 000000000..8cf97399d --- /dev/null +++ b/graphics/pokemon/spearow/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +238 222 197 +213 197 156 +172 156 115 +106 98 82 +255 131 115 +246 82 90 +197 65 82 +123 24 0 +246 180 90 +213 156 57 +172 115 16 +123 65 0 +255 213 172 +24 24 24 diff --git a/graphics/pokemon/spearow/shiny.pal b/graphics/pokemon/spearow/shiny.pal new file mode 100644 index 000000000..fd2223485 --- /dev/null +++ b/graphics/pokemon/spearow/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +238 222 172 +213 197 156 +172 156 115 +106 98 82 +255 255 82 +255 222 0 +238 164 0 +131 57 0 +238 222 115 +197 180 74 +156 139 32 +98 82 0 +255 255 148 +24 24 24 diff --git a/graphics/pokemon/spheal/back.png b/graphics/pokemon/spheal/back.png new file mode 100644 index 000000000..6fb9e9443 Binary files /dev/null and b/graphics/pokemon/spheal/back.png differ diff --git a/graphics/pokemon/spheal/footprint.png b/graphics/pokemon/spheal/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/spheal/footprint.png differ diff --git a/graphics/pokemon/spheal/front.png b/graphics/pokemon/spheal/front.png new file mode 100644 index 000000000..f07cf67b5 Binary files /dev/null and b/graphics/pokemon/spheal/front.png differ diff --git a/graphics/pokemon/spheal/icon.png b/graphics/pokemon/spheal/icon.png new file mode 100644 index 000000000..fd392e196 Binary files /dev/null and b/graphics/pokemon/spheal/icon.png differ diff --git a/graphics/pokemon/spheal/normal.pal b/graphics/pokemon/spheal/normal.pal new file mode 100644 index 000000000..1fa035c32 --- /dev/null +++ b/graphics/pokemon/spheal/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +98 197 98 +16 16 57 +74 82 139 +106 123 213 +156 164 255 +197 197 255 +255 255 255 +106 90 49 +164 148 106 +213 197 148 +230 213 172 +246 230 189 +222 222 255 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/spheal/shiny.pal b/graphics/pokemon/spheal/shiny.pal new file mode 100644 index 000000000..14f207301 --- /dev/null +++ b/graphics/pokemon/spheal/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +98 197 98 +16 16 57 +90 49 139 +180 98 205 +213 148 238 +246 197 255 +255 255 255 +106 90 49 +164 148 106 +230 205 148 +238 222 172 +255 238 189 +255 222 255 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/spinarak/back.png b/graphics/pokemon/spinarak/back.png new file mode 100644 index 000000000..7c2144971 Binary files /dev/null and b/graphics/pokemon/spinarak/back.png differ diff --git a/graphics/pokemon/spinarak/footprint.png b/graphics/pokemon/spinarak/footprint.png new file mode 100644 index 000000000..6965dbe60 Binary files /dev/null and b/graphics/pokemon/spinarak/footprint.png differ diff --git a/graphics/pokemon/spinarak/front.png b/graphics/pokemon/spinarak/front.png new file mode 100644 index 000000000..cd525f1c4 Binary files /dev/null and b/graphics/pokemon/spinarak/front.png differ diff --git a/graphics/pokemon/spinarak/icon.png b/graphics/pokemon/spinarak/icon.png new file mode 100644 index 000000000..54ec8e0fe Binary files /dev/null and b/graphics/pokemon/spinarak/icon.png differ diff --git a/graphics/pokemon/spinarak/normal.pal b/graphics/pokemon/spinarak/normal.pal new file mode 100644 index 000000000..0a09982d6 --- /dev/null +++ b/graphics/pokemon/spinarak/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +205 255 115 +148 230 65 +98 189 32 +82 123 41 +49 82 16 +255 255 90 +180 164 49 +148 123 49 +255 156 82 +238 49 0 +148 49 0 +189 189 189 +123 123 123 +16 16 16 diff --git a/graphics/pokemon/spinarak/shiny.pal b/graphics/pokemon/spinarak/shiny.pal new file mode 100644 index 000000000..f2aed8e9f --- /dev/null +++ b/graphics/pokemon/spinarak/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +180 213 222 +139 172 189 +82 106 156 +57 74 90 +32 49 74 +230 172 205 +172 90 123 +106 65 82 +255 156 82 +238 49 0 +148 49 0 +189 189 189 +123 123 123 +16 16 16 diff --git a/graphics/pokemon/spinda/back.png b/graphics/pokemon/spinda/back.png new file mode 100644 index 000000000..c5f699e2c Binary files /dev/null and b/graphics/pokemon/spinda/back.png differ diff --git a/graphics/pokemon/spinda/footprint.png b/graphics/pokemon/spinda/footprint.png new file mode 100644 index 000000000..7be943a89 Binary files /dev/null and b/graphics/pokemon/spinda/footprint.png differ diff --git a/graphics/pokemon/spinda/front.png b/graphics/pokemon/spinda/front.png new file mode 100644 index 000000000..5976a87d1 Binary files /dev/null and b/graphics/pokemon/spinda/front.png differ diff --git a/graphics/pokemon/spinda/icon.png b/graphics/pokemon/spinda/icon.png new file mode 100644 index 000000000..75699c7cb Binary files /dev/null and b/graphics/pokemon/spinda/icon.png differ diff --git a/graphics/pokemon/spinda/normal.pal b/graphics/pokemon/spinda/normal.pal new file mode 100644 index 000000000..9b0ad5bfc --- /dev/null +++ b/graphics/pokemon/spinda/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +246 230 172 +230 213 164 +197 180 131 +172 148 106 +222 139 74 +222 106 57 +180 90 41 +156 57 24 +115 65 16 +172 65 90 +255 255 0 +255 255 0 +123 98 74 +90 65 49 +16 16 16 diff --git a/graphics/pokemon/spinda/shiny.pal b/graphics/pokemon/spinda/shiny.pal new file mode 100644 index 000000000..6aa748129 --- /dev/null +++ b/graphics/pokemon/spinda/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +246 230 172 +230 213 164 +197 180 131 +172 148 106 +180 197 90 +148 164 57 +115 131 24 +82 98 0 +49 65 0 +172 65 90 +255 255 0 +255 255 0 +123 98 74 +90 65 49 +16 16 16 diff --git a/graphics/pokemon/spoink/back.png b/graphics/pokemon/spoink/back.png new file mode 100644 index 000000000..7872e240c Binary files /dev/null and b/graphics/pokemon/spoink/back.png differ diff --git a/graphics/pokemon/spoink/footprint.png b/graphics/pokemon/spoink/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/spoink/footprint.png differ diff --git a/graphics/pokemon/spoink/front.png b/graphics/pokemon/spoink/front.png new file mode 100644 index 000000000..ee4afc1ed Binary files /dev/null and b/graphics/pokemon/spoink/front.png differ diff --git a/graphics/pokemon/spoink/icon.png b/graphics/pokemon/spoink/icon.png new file mode 100644 index 000000000..387d0ed00 Binary files /dev/null and b/graphics/pokemon/spoink/icon.png differ diff --git a/graphics/pokemon/spoink/normal.pal b/graphics/pokemon/spoink/normal.pal new file mode 100644 index 000000000..c1891323c --- /dev/null +++ b/graphics/pokemon/spoink/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 255 255 +172 172 164 +139 139 148 +106 115 123 +49 49 41 +255 230 255 +255 205 189 +230 172 131 +148 74 74 +197 139 90 +24 24 24 +0 0 0 +74 74 74 +255 255 255 +98 82 82 +0 0 0 diff --git a/graphics/pokemon/spoink/shiny.pal b/graphics/pokemon/spoink/shiny.pal new file mode 100644 index 000000000..c8edfafd7 --- /dev/null +++ b/graphics/pokemon/spoink/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 255 255 +255 205 172 +246 180 139 +205 164 123 +98 74 57 +172 172 172 +139 139 139 +82 82 82 +49 49 49 +106 106 106 +0 0 0 +0 0 0 +172 123 106 +255 255 255 +98 82 82 +0 0 0 diff --git a/graphics/pokemon/squirtle/back.png b/graphics/pokemon/squirtle/back.png new file mode 100644 index 000000000..36c9d2666 Binary files /dev/null and b/graphics/pokemon/squirtle/back.png differ diff --git a/graphics/pokemon/squirtle/footprint.png b/graphics/pokemon/squirtle/footprint.png new file mode 100644 index 000000000..696cd6d42 Binary files /dev/null and b/graphics/pokemon/squirtle/footprint.png differ diff --git a/graphics/pokemon/squirtle/front.png b/graphics/pokemon/squirtle/front.png new file mode 100644 index 000000000..c494d47e3 Binary files /dev/null and b/graphics/pokemon/squirtle/front.png differ diff --git a/graphics/pokemon/squirtle/icon.png b/graphics/pokemon/squirtle/icon.png new file mode 100644 index 000000000..75a58770f Binary files /dev/null and b/graphics/pokemon/squirtle/icon.png differ diff --git a/graphics/pokemon/squirtle/normal.pal b/graphics/pokemon/squirtle/normal.pal new file mode 100644 index 000000000..4cc9f28e8 --- /dev/null +++ b/graphics/pokemon/squirtle/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +213 148 82 +189 106 0 +98 41 0 +213 205 205 +255 230 156 +255 213 106 +230 172 90 +213 131 57 +205 49 24 +180 222 238 +139 197 213 +131 148 172 +65 115 98 +16 16 16 diff --git a/graphics/pokemon/squirtle/shiny.pal b/graphics/pokemon/squirtle/shiny.pal new file mode 100644 index 000000000..9ca78b24d --- /dev/null +++ b/graphics/pokemon/squirtle/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +148 205 41 +106 156 24 +74 115 32 +213 205 205 +255 230 156 +255 213 106 +230 172 90 +213 131 57 +148 32 0 +189 238 246 +148 230 246 +82 197 213 +65 106 139 +16 16 16 diff --git a/graphics/pokemon/stantler/back.png b/graphics/pokemon/stantler/back.png new file mode 100644 index 000000000..9ddf7a40c Binary files /dev/null and b/graphics/pokemon/stantler/back.png differ diff --git a/graphics/pokemon/stantler/footprint.png b/graphics/pokemon/stantler/footprint.png new file mode 100644 index 000000000..7f2b0f532 Binary files /dev/null and b/graphics/pokemon/stantler/footprint.png differ diff --git a/graphics/pokemon/stantler/front.png b/graphics/pokemon/stantler/front.png new file mode 100644 index 000000000..aa3d80efc Binary files /dev/null and b/graphics/pokemon/stantler/front.png differ diff --git a/graphics/pokemon/stantler/icon.png b/graphics/pokemon/stantler/icon.png new file mode 100644 index 000000000..da9e6da99 Binary files /dev/null and b/graphics/pokemon/stantler/icon.png differ diff --git a/graphics/pokemon/stantler/normal.pal b/graphics/pokemon/stantler/normal.pal new file mode 100644 index 000000000..29eeabc43 --- /dev/null +++ b/graphics/pokemon/stantler/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 213 115 +230 180 90 +180 131 49 +123 65 0 +255 0 255 +255 255 172 +255 222 131 +255 222 82 +230 164 32 +213 0 255 +180 180 180 +123 123 123 +74 74 74 +16 16 16 diff --git a/graphics/pokemon/stantler/shiny.pal b/graphics/pokemon/stantler/shiny.pal new file mode 100644 index 000000000..18b43b330 --- /dev/null +++ b/graphics/pokemon/stantler/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 255 +222 255 106 +197 230 90 +148 180 49 +65 90 0 +255 0 255 +255 255 172 +230 230 139 +255 222 82 +197 148 65 +213 0 255 +255 189 106 +230 115 41 +131 65 41 +16 16 16 diff --git a/graphics/pokemon/starmie/back.png b/graphics/pokemon/starmie/back.png new file mode 100644 index 000000000..62fdf3a41 Binary files /dev/null and b/graphics/pokemon/starmie/back.png differ diff --git a/graphics/pokemon/starmie/footprint.png b/graphics/pokemon/starmie/footprint.png new file mode 100644 index 000000000..c1c0058e7 Binary files /dev/null and b/graphics/pokemon/starmie/footprint.png differ diff --git a/graphics/pokemon/starmie/front.png b/graphics/pokemon/starmie/front.png new file mode 100644 index 000000000..e695d83de Binary files /dev/null and b/graphics/pokemon/starmie/front.png differ diff --git a/graphics/pokemon/starmie/icon.png b/graphics/pokemon/starmie/icon.png new file mode 100644 index 000000000..844cae0c7 Binary files /dev/null and b/graphics/pokemon/starmie/icon.png differ diff --git a/graphics/pokemon/starmie/normal.pal b/graphics/pokemon/starmie/normal.pal new file mode 100644 index 000000000..82435deec --- /dev/null +++ b/graphics/pokemon/starmie/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +189 148 205 +148 98 164 +131 65 131 +82 32 98 +255 246 148 +246 213 82 +197 164 16 +106 82 0 +255 0 255 +255 189 164 +246 65 82 +205 49 90 +123 16 0 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/starmie/shiny.pal b/graphics/pokemon/starmie/shiny.pal new file mode 100644 index 000000000..1f68c3476 --- /dev/null +++ b/graphics/pokemon/starmie/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +148 205 246 +106 164 213 +65 123 172 +0 57 106 +255 139 156 +255 98 115 +197 57 74 +131 16 32 +255 0 255 +115 189 246 +74 148 205 +8 82 139 +8 41 98 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/staryu/back.png b/graphics/pokemon/staryu/back.png new file mode 100644 index 000000000..b48a929ea Binary files /dev/null and b/graphics/pokemon/staryu/back.png differ diff --git a/graphics/pokemon/staryu/footprint.png b/graphics/pokemon/staryu/footprint.png new file mode 100644 index 000000000..c1c0058e7 Binary files /dev/null and b/graphics/pokemon/staryu/footprint.png differ diff --git a/graphics/pokemon/staryu/front.png b/graphics/pokemon/staryu/front.png new file mode 100644 index 000000000..c17a80418 Binary files /dev/null and b/graphics/pokemon/staryu/front.png differ diff --git a/graphics/pokemon/staryu/icon.png b/graphics/pokemon/staryu/icon.png new file mode 100644 index 000000000..b90c0b9c3 Binary files /dev/null and b/graphics/pokemon/staryu/icon.png differ diff --git a/graphics/pokemon/staryu/normal.pal b/graphics/pokemon/staryu/normal.pal new file mode 100644 index 000000000..19ea03347 --- /dev/null +++ b/graphics/pokemon/staryu/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +16 16 16 +255 255 180 +246 213 82 +197 172 16 +115 90 0 +238 213 172 +213 180 115 +164 115 49 +106 65 32 +255 213 213 +238 156 139 +230 98 65 +172 65 32 +197 156 82 +255 255 255 diff --git a/graphics/pokemon/staryu/shiny.pal b/graphics/pokemon/staryu/shiny.pal new file mode 100644 index 000000000..9285cb48c --- /dev/null +++ b/graphics/pokemon/staryu/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +16 16 16 +255 255 180 +246 213 82 +197 172 16 +115 90 0 +230 230 205 +189 189 164 +148 148 123 +98 98 74 +156 255 255 +106 213 255 +65 172 222 +8 115 164 +172 164 139 +255 255 255 diff --git a/graphics/pokemon/steelix/back.png b/graphics/pokemon/steelix/back.png new file mode 100644 index 000000000..74cb256d0 Binary files /dev/null and b/graphics/pokemon/steelix/back.png differ diff --git a/graphics/pokemon/steelix/footprint.png b/graphics/pokemon/steelix/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/steelix/footprint.png differ diff --git a/graphics/pokemon/steelix/front.png b/graphics/pokemon/steelix/front.png new file mode 100644 index 000000000..e5b3a35d6 Binary files /dev/null and b/graphics/pokemon/steelix/front.png differ diff --git a/graphics/pokemon/steelix/icon.png b/graphics/pokemon/steelix/icon.png new file mode 100644 index 000000000..c99e17581 Binary files /dev/null and b/graphics/pokemon/steelix/icon.png differ diff --git a/graphics/pokemon/steelix/normal.pal b/graphics/pokemon/steelix/normal.pal new file mode 100644 index 000000000..e18ae398c --- /dev/null +++ b/graphics/pokemon/steelix/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 0 255 +255 0 255 +255 0 255 +57 57 82 +74 90 123 +131 156 172 +189 205 197 +222 230 222 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +213 82 65 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/steelix/shiny.pal b/graphics/pokemon/steelix/shiny.pal new file mode 100644 index 000000000..02b21c7ac --- /dev/null +++ b/graphics/pokemon/steelix/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 0 255 +255 0 255 +255 0 255 +98 82 57 +139 106 82 +189 156 90 +230 197 115 +255 230 139 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +213 82 65 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/sudowoodo/back.png b/graphics/pokemon/sudowoodo/back.png new file mode 100644 index 000000000..befda7efc Binary files /dev/null and b/graphics/pokemon/sudowoodo/back.png differ diff --git a/graphics/pokemon/sudowoodo/footprint.png b/graphics/pokemon/sudowoodo/footprint.png new file mode 100644 index 000000000..4ed751a79 Binary files /dev/null and b/graphics/pokemon/sudowoodo/footprint.png differ diff --git a/graphics/pokemon/sudowoodo/front.png b/graphics/pokemon/sudowoodo/front.png new file mode 100644 index 000000000..897516953 Binary files /dev/null and b/graphics/pokemon/sudowoodo/front.png differ diff --git a/graphics/pokemon/sudowoodo/icon.png b/graphics/pokemon/sudowoodo/icon.png new file mode 100644 index 000000000..4cc4afadf Binary files /dev/null and b/graphics/pokemon/sudowoodo/icon.png differ diff --git a/graphics/pokemon/sudowoodo/normal.pal b/graphics/pokemon/sudowoodo/normal.pal new file mode 100644 index 000000000..3d589fc9d --- /dev/null +++ b/graphics/pokemon/sudowoodo/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +230 197 106 +189 156 82 +148 115 49 +98 74 16 +255 0 255 +139 255 139 +41 222 49 +41 172 49 +24 106 32 +255 205 0 +222 148 0 +156 106 0 +180 180 180 +16 16 16 diff --git a/graphics/pokemon/sudowoodo/shiny.pal b/graphics/pokemon/sudowoodo/shiny.pal new file mode 100644 index 000000000..6344dcc53 --- /dev/null +++ b/graphics/pokemon/sudowoodo/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +222 222 57 +180 189 24 +123 139 24 +82 90 24 +255 0 255 +255 205 172 +255 115 74 +205 74 49 +131 57 41 +255 205 0 +222 148 0 +156 106 0 +180 180 180 +16 16 16 diff --git a/graphics/pokemon/suicune/back.png b/graphics/pokemon/suicune/back.png new file mode 100644 index 000000000..80eef8678 Binary files /dev/null and b/graphics/pokemon/suicune/back.png differ diff --git a/graphics/pokemon/suicune/footprint.png b/graphics/pokemon/suicune/footprint.png new file mode 100644 index 000000000..946c35dd0 Binary files /dev/null and b/graphics/pokemon/suicune/footprint.png differ diff --git a/graphics/pokemon/suicune/front.png b/graphics/pokemon/suicune/front.png new file mode 100644 index 000000000..3529d8fe1 Binary files /dev/null and b/graphics/pokemon/suicune/front.png differ diff --git a/graphics/pokemon/suicune/icon.png b/graphics/pokemon/suicune/icon.png new file mode 100644 index 000000000..3e4b3c695 Binary files /dev/null and b/graphics/pokemon/suicune/icon.png differ diff --git a/graphics/pokemon/suicune/normal.pal b/graphics/pokemon/suicune/normal.pal new file mode 100644 index 000000000..3a21dbd4d --- /dev/null +++ b/graphics/pokemon/suicune/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 180 +255 255 255 +189 238 255 +123 189 255 +90 115 213 +57 74 148 +213 180 255 +172 106 255 +139 49 230 +82 57 139 +164 0 0 +213 213 213 +180 180 180 +148 148 148 +106 106 106 +16 16 16 diff --git a/graphics/pokemon/suicune/shiny.pal b/graphics/pokemon/suicune/shiny.pal new file mode 100644 index 000000000..2ee8b7a0f --- /dev/null +++ b/graphics/pokemon/suicune/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 180 +255 255 255 +238 255 255 +197 230 255 +106 164 230 +49 82 156 +106 189 255 +57 139 222 +8 90 180 +32 57 98 +164 0 0 +213 205 230 +189 172 197 +139 123 148 +98 82 106 +16 16 16 diff --git a/graphics/pokemon/sunflora/back.png b/graphics/pokemon/sunflora/back.png new file mode 100644 index 000000000..c048bebc2 Binary files /dev/null and b/graphics/pokemon/sunflora/back.png differ diff --git a/graphics/pokemon/sunflora/footprint.png b/graphics/pokemon/sunflora/footprint.png new file mode 100644 index 000000000..f6de3ca9f Binary files /dev/null and b/graphics/pokemon/sunflora/footprint.png differ diff --git a/graphics/pokemon/sunflora/front.png b/graphics/pokemon/sunflora/front.png new file mode 100644 index 000000000..9752bb9d4 Binary files /dev/null and b/graphics/pokemon/sunflora/front.png differ diff --git a/graphics/pokemon/sunflora/icon.png b/graphics/pokemon/sunflora/icon.png new file mode 100644 index 000000000..6493eb510 Binary files /dev/null and b/graphics/pokemon/sunflora/icon.png differ diff --git a/graphics/pokemon/sunflora/normal.pal b/graphics/pokemon/sunflora/normal.pal new file mode 100644 index 000000000..a22ed3fe7 --- /dev/null +++ b/graphics/pokemon/sunflora/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +16 16 16 +255 0 255 +131 90 16 +197 123 32 +222 164 24 +238 205 8 +230 222 90 +255 255 164 +255 246 16 +222 57 0 +255 0 255 +82 98 41 +115 172 49 +156 213 74 +189 255 115 diff --git a/graphics/pokemon/sunflora/shiny.pal b/graphics/pokemon/sunflora/shiny.pal new file mode 100644 index 000000000..ea8de6e05 --- /dev/null +++ b/graphics/pokemon/sunflora/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +16 16 16 +255 0 255 +98 82 0 +148 123 0 +205 172 32 +238 222 82 +230 222 90 +255 255 164 +255 255 164 +222 57 0 +255 0 255 +82 74 0 +123 115 0 +180 172 41 +230 222 74 diff --git a/graphics/pokemon/sunkern/back.png b/graphics/pokemon/sunkern/back.png new file mode 100644 index 000000000..e6adde775 Binary files /dev/null and b/graphics/pokemon/sunkern/back.png differ diff --git a/graphics/pokemon/sunkern/footprint.png b/graphics/pokemon/sunkern/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/sunkern/footprint.png differ diff --git a/graphics/pokemon/sunkern/front.png b/graphics/pokemon/sunkern/front.png new file mode 100644 index 000000000..15a743cc3 Binary files /dev/null and b/graphics/pokemon/sunkern/front.png differ diff --git a/graphics/pokemon/sunkern/icon.png b/graphics/pokemon/sunkern/icon.png new file mode 100644 index 000000000..60d7ea91b Binary files /dev/null and b/graphics/pokemon/sunkern/icon.png differ diff --git a/graphics/pokemon/sunkern/normal.pal b/graphics/pokemon/sunkern/normal.pal new file mode 100644 index 000000000..7dab1246d --- /dev/null +++ b/graphics/pokemon/sunkern/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +74 57 41 +82 74 41 +106 98 49 +180 164 49 +180 164 57 +213 205 49 +255 255 0 +255 0 255 +32 98 16 +82 164 57 +115 213 41 +164 246 57 +16 16 16 +115 115 139 +255 255 255 diff --git a/graphics/pokemon/sunkern/shiny.pal b/graphics/pokemon/sunkern/shiny.pal new file mode 100644 index 000000000..84a106f65 --- /dev/null +++ b/graphics/pokemon/sunkern/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +74 57 41 +82 57 41 +106 74 49 +164 106 32 +172 115 49 +213 164 49 +255 213 90 +255 0 255 +32 98 16 +82 164 57 +156 230 49 +205 255 98 +16 16 16 +115 115 139 +255 255 255 diff --git a/graphics/pokemon/surskit/back.png b/graphics/pokemon/surskit/back.png new file mode 100644 index 000000000..85b8a8a4f Binary files /dev/null and b/graphics/pokemon/surskit/back.png differ diff --git a/graphics/pokemon/surskit/footprint.png b/graphics/pokemon/surskit/footprint.png new file mode 100644 index 000000000..e4945976f Binary files /dev/null and b/graphics/pokemon/surskit/footprint.png differ diff --git a/graphics/pokemon/surskit/front.png b/graphics/pokemon/surskit/front.png new file mode 100644 index 000000000..559e8e786 Binary files /dev/null and b/graphics/pokemon/surskit/front.png differ diff --git a/graphics/pokemon/surskit/icon.png b/graphics/pokemon/surskit/icon.png new file mode 100644 index 000000000..a7267c21a Binary files /dev/null and b/graphics/pokemon/surskit/icon.png differ diff --git a/graphics/pokemon/surskit/normal.pal b/graphics/pokemon/surskit/normal.pal new file mode 100644 index 000000000..7aa7f389d --- /dev/null +++ b/graphics/pokemon/surskit/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 255 255 +49 90 90 +90 164 213 +90 139 180 +123 197 213 +255 213 90 +205 172 49 +123 106 16 +255 255 255 +238 123 139 +230 106 90 +172 139 16 +32 115 148 +255 255 255 +255 255 255 +205 255 156 diff --git a/graphics/pokemon/surskit/shiny.pal b/graphics/pokemon/surskit/shiny.pal new file mode 100644 index 000000000..71624ff69 --- /dev/null +++ b/graphics/pokemon/surskit/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +189 205 255 +41 49 65 +115 106 123 +74 82 98 +148 139 156 +255 213 90 +205 172 49 +123 106 16 +255 255 255 +255 180 82 +255 115 24 +172 139 16 +74 82 98 +255 255 255 +255 255 255 +205 255 156 diff --git a/graphics/pokemon/swablu/back.png b/graphics/pokemon/swablu/back.png new file mode 100644 index 000000000..802a9e37c Binary files /dev/null and b/graphics/pokemon/swablu/back.png differ diff --git a/graphics/pokemon/swablu/footprint.png b/graphics/pokemon/swablu/footprint.png new file mode 100644 index 000000000..7e71113c3 Binary files /dev/null and b/graphics/pokemon/swablu/footprint.png differ diff --git a/graphics/pokemon/swablu/front.png b/graphics/pokemon/swablu/front.png new file mode 100644 index 000000000..1992c2d06 Binary files /dev/null and b/graphics/pokemon/swablu/front.png differ diff --git a/graphics/pokemon/swablu/icon.png b/graphics/pokemon/swablu/icon.png new file mode 100644 index 000000000..fa269d741 Binary files /dev/null and b/graphics/pokemon/swablu/icon.png differ diff --git a/graphics/pokemon/swablu/normal.pal b/graphics/pokemon/swablu/normal.pal new file mode 100644 index 000000000..180dac0df --- /dev/null +++ b/graphics/pokemon/swablu/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +123 172 123 +180 180 222 +131 131 148 +90 90 115 +57 106 131 +213 213 230 +0 0 0 +156 156 197 +123 205 255 +98 172 230 +90 148 205 +213 255 255 +148 197 197 +172 230 255 +238 238 246 +255 255 255 diff --git a/graphics/pokemon/swablu/shiny.pal b/graphics/pokemon/swablu/shiny.pal new file mode 100644 index 000000000..392d5a8bb --- /dev/null +++ b/graphics/pokemon/swablu/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +123 172 123 +180 180 222 +131 131 148 +90 90 115 +156 106 0 +213 213 230 +0 0 0 +156 156 197 +255 238 131 +255 205 98 +222 172 65 +213 255 255 +148 197 197 +255 238 131 +238 238 246 +255 255 255 diff --git a/graphics/pokemon/swalot/back.png b/graphics/pokemon/swalot/back.png new file mode 100644 index 000000000..acd59b1b9 Binary files /dev/null and b/graphics/pokemon/swalot/back.png differ diff --git a/graphics/pokemon/swalot/footprint.png b/graphics/pokemon/swalot/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/swalot/footprint.png differ diff --git a/graphics/pokemon/swalot/front.png b/graphics/pokemon/swalot/front.png new file mode 100644 index 000000000..7607b8c2e Binary files /dev/null and b/graphics/pokemon/swalot/front.png differ diff --git a/graphics/pokemon/swalot/icon.png b/graphics/pokemon/swalot/icon.png new file mode 100644 index 000000000..9868d73d3 Binary files /dev/null and b/graphics/pokemon/swalot/icon.png differ diff --git a/graphics/pokemon/swalot/normal.pal b/graphics/pokemon/swalot/normal.pal new file mode 100644 index 000000000..fcd80af0b --- /dev/null +++ b/graphics/pokemon/swalot/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +65 156 123 +115 90 148 +156 106 213 +189 139 255 +213 172 255 +255 255 255 +49 49 49 +82 82 82 +106 106 106 +205 205 205 +131 123 65 +255 213 90 +255 41 0 +255 238 148 +90 57 106 +0 0 0 diff --git a/graphics/pokemon/swalot/shiny.pal b/graphics/pokemon/swalot/shiny.pal new file mode 100644 index 000000000..109d19022 --- /dev/null +++ b/graphics/pokemon/swalot/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +98 189 131 +65 74 115 +90 115 156 +98 148 197 +131 180 238 +255 255 255 +49 49 49 +82 82 82 +106 106 106 +205 205 205 +180 65 49 +222 98 49 +255 139 82 +255 148 123 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/swampert/back.png b/graphics/pokemon/swampert/back.png new file mode 100644 index 000000000..bb795c65f Binary files /dev/null and b/graphics/pokemon/swampert/back.png differ diff --git a/graphics/pokemon/swampert/footprint.png b/graphics/pokemon/swampert/footprint.png new file mode 100644 index 000000000..ed223e641 Binary files /dev/null and b/graphics/pokemon/swampert/footprint.png differ diff --git a/graphics/pokemon/swampert/front.png b/graphics/pokemon/swampert/front.png new file mode 100644 index 000000000..eea565e43 Binary files /dev/null and b/graphics/pokemon/swampert/front.png differ diff --git a/graphics/pokemon/swampert/icon.png b/graphics/pokemon/swampert/icon.png new file mode 100644 index 000000000..5b2f04ca9 Binary files /dev/null and b/graphics/pokemon/swampert/icon.png differ diff --git a/graphics/pokemon/swampert/normal.pal b/graphics/pokemon/swampert/normal.pal new file mode 100644 index 000000000..149557aa4 --- /dev/null +++ b/graphics/pokemon/swampert/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +197 230 255 +172 189 230 +131 164 197 +41 49 98 +255 213 74 +246 156 65 +205 131 65 +139 98 74 +156 74 90 +57 82 131 +139 205 255 +90 172 230 +49 131 197 +82 106 164 +16 16 16 diff --git a/graphics/pokemon/swampert/shiny.pal b/graphics/pokemon/swampert/shiny.pal new file mode 100644 index 000000000..284a31508 --- /dev/null +++ b/graphics/pokemon/swampert/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +230 246 255 +205 213 230 +180 139 230 +74 65 106 +255 197 74 +246 106 82 +222 98 49 +180 65 49 +139 65 24 +106 49 123 +246 205 246 +230 172 246 +197 115 222 +139 82 156 +16 16 16 diff --git a/graphics/pokemon/swellow/back.png b/graphics/pokemon/swellow/back.png new file mode 100644 index 000000000..c2c1c3ed3 Binary files /dev/null and b/graphics/pokemon/swellow/back.png differ diff --git a/graphics/pokemon/swellow/footprint.png b/graphics/pokemon/swellow/footprint.png new file mode 100644 index 000000000..f44a71c29 Binary files /dev/null and b/graphics/pokemon/swellow/footprint.png differ diff --git a/graphics/pokemon/swellow/front.png b/graphics/pokemon/swellow/front.png new file mode 100644 index 000000000..6a5dcb239 Binary files /dev/null and b/graphics/pokemon/swellow/front.png differ diff --git a/graphics/pokemon/swellow/icon.png b/graphics/pokemon/swellow/icon.png new file mode 100644 index 000000000..47a2ea74d Binary files /dev/null and b/graphics/pokemon/swellow/icon.png differ diff --git a/graphics/pokemon/swellow/normal.pal b/graphics/pokemon/swellow/normal.pal new file mode 100644 index 000000000..cf8e9f794 --- /dev/null +++ b/graphics/pokemon/swellow/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +131 172 98 +41 49 90 +65 82 123 +90 106 172 +123 139 205 +123 90 90 +148 148 148 +205 213 213 +255 255 255 +197 49 49 +230 106 98 +255 148 139 +230 172 74 +255 238 82 +131 57 82 +0 0 0 diff --git a/graphics/pokemon/swellow/shiny.pal b/graphics/pokemon/swellow/shiny.pal new file mode 100644 index 000000000..388f2b220 --- /dev/null +++ b/graphics/pokemon/swellow/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +131 172 98 +16 82 57 +49 148 98 +90 172 148 +148 213 205 +123 90 90 +148 148 148 +205 213 213 +255 255 255 +213 123 16 +246 180 57 +255 197 115 +230 189 74 +255 238 82 +131 57 82 +0 0 0 diff --git a/graphics/pokemon/swinub/back.png b/graphics/pokemon/swinub/back.png new file mode 100644 index 000000000..66998faad Binary files /dev/null and b/graphics/pokemon/swinub/back.png differ diff --git a/graphics/pokemon/swinub/footprint.png b/graphics/pokemon/swinub/footprint.png new file mode 100644 index 000000000..fb56709ec Binary files /dev/null and b/graphics/pokemon/swinub/footprint.png differ diff --git a/graphics/pokemon/swinub/front.png b/graphics/pokemon/swinub/front.png new file mode 100644 index 000000000..c92de5b5a Binary files /dev/null and b/graphics/pokemon/swinub/front.png differ diff --git a/graphics/pokemon/swinub/icon.png b/graphics/pokemon/swinub/icon.png new file mode 100644 index 000000000..f33656a0c Binary files /dev/null and b/graphics/pokemon/swinub/icon.png differ diff --git a/graphics/pokemon/swinub/normal.pal b/graphics/pokemon/swinub/normal.pal new file mode 100644 index 000000000..b014d69d6 --- /dev/null +++ b/graphics/pokemon/swinub/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +222 197 115 +197 164 82 +164 131 57 +123 98 24 +90 65 0 +57 41 0 +255 189 131 +222 139 82 +180 98 41 +255 0 255 +222 222 222 +180 180 189 +123 123 139 +16 16 16 diff --git a/graphics/pokemon/swinub/shiny.pal b/graphics/pokemon/swinub/shiny.pal new file mode 100644 index 000000000..9482e2d46 --- /dev/null +++ b/graphics/pokemon/swinub/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +222 230 230 +189 205 197 +148 164 164 +106 123 131 +57 65 90 +49 49 57 +246 213 131 +222 164 65 +205 123 32 +255 0 255 +222 222 222 +180 180 189 +123 123 139 +16 16 16 diff --git a/graphics/pokemon/taillow/back.png b/graphics/pokemon/taillow/back.png new file mode 100644 index 000000000..997d6db45 Binary files /dev/null and b/graphics/pokemon/taillow/back.png differ diff --git a/graphics/pokemon/taillow/footprint.png b/graphics/pokemon/taillow/footprint.png new file mode 100644 index 000000000..dbf5c5c6b Binary files /dev/null and b/graphics/pokemon/taillow/footprint.png differ diff --git a/graphics/pokemon/taillow/front.png b/graphics/pokemon/taillow/front.png new file mode 100644 index 000000000..6ff802ac6 Binary files /dev/null and b/graphics/pokemon/taillow/front.png differ diff --git a/graphics/pokemon/taillow/icon.png b/graphics/pokemon/taillow/icon.png new file mode 100644 index 000000000..a0668865b Binary files /dev/null and b/graphics/pokemon/taillow/icon.png differ diff --git a/graphics/pokemon/taillow/normal.pal b/graphics/pokemon/taillow/normal.pal new file mode 100644 index 000000000..b1777b5be --- /dev/null +++ b/graphics/pokemon/taillow/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +131 172 98 +41 49 90 +74 90 148 +90 106 172 +123 139 205 +123 90 90 +148 148 148 +205 213 213 +255 255 255 +197 49 49 +230 106 98 +255 148 139 +230 189 74 +255 238 82 +131 57 82 +0 0 0 diff --git a/graphics/pokemon/taillow/shiny.pal b/graphics/pokemon/taillow/shiny.pal new file mode 100644 index 000000000..388f2b220 --- /dev/null +++ b/graphics/pokemon/taillow/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +131 172 98 +16 82 57 +49 148 98 +90 172 148 +148 213 205 +123 90 90 +148 148 148 +205 213 213 +255 255 255 +213 123 16 +246 180 57 +255 197 115 +230 189 74 +255 238 82 +131 57 82 +0 0 0 diff --git a/graphics/pokemon/tangela/back.png b/graphics/pokemon/tangela/back.png new file mode 100644 index 000000000..5a15f1b91 Binary files /dev/null and b/graphics/pokemon/tangela/back.png differ diff --git a/graphics/pokemon/tangela/footprint.png b/graphics/pokemon/tangela/footprint.png new file mode 100644 index 000000000..c05d3b437 Binary files /dev/null and b/graphics/pokemon/tangela/footprint.png differ diff --git a/graphics/pokemon/tangela/front.png b/graphics/pokemon/tangela/front.png new file mode 100644 index 000000000..2aec57c3a Binary files /dev/null and b/graphics/pokemon/tangela/front.png differ diff --git a/graphics/pokemon/tangela/icon.png b/graphics/pokemon/tangela/icon.png new file mode 100644 index 000000000..c2a8ee33f Binary files /dev/null and b/graphics/pokemon/tangela/icon.png differ diff --git a/graphics/pokemon/tangela/normal.pal b/graphics/pokemon/tangela/normal.pal new file mode 100644 index 000000000..3de914144 --- /dev/null +++ b/graphics/pokemon/tangela/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +172 222 246 +131 189 213 +65 123 148 +32 65 82 +255 131 131 +213 65 82 +148 41 41 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +180 180 180 +82 82 82 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/tangela/shiny.pal b/graphics/pokemon/tangela/shiny.pal new file mode 100644 index 000000000..6c8c7fad5 --- /dev/null +++ b/graphics/pokemon/tangela/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +123 222 57 +82 180 16 +41 139 0 +0 74 0 +255 131 131 +222 90 90 +148 41 41 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +180 180 180 +82 82 82 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/tauros/back.png b/graphics/pokemon/tauros/back.png new file mode 100644 index 000000000..2fac61283 Binary files /dev/null and b/graphics/pokemon/tauros/back.png differ diff --git a/graphics/pokemon/tauros/footprint.png b/graphics/pokemon/tauros/footprint.png new file mode 100644 index 000000000..602011c6d Binary files /dev/null and b/graphics/pokemon/tauros/footprint.png differ diff --git a/graphics/pokemon/tauros/front.png b/graphics/pokemon/tauros/front.png new file mode 100644 index 000000000..97498f415 Binary files /dev/null and b/graphics/pokemon/tauros/front.png differ diff --git a/graphics/pokemon/tauros/icon.png b/graphics/pokemon/tauros/icon.png new file mode 100644 index 000000000..fc432dab9 Binary files /dev/null and b/graphics/pokemon/tauros/icon.png differ diff --git a/graphics/pokemon/tauros/normal.pal b/graphics/pokemon/tauros/normal.pal new file mode 100644 index 000000000..598262ca7 --- /dev/null +++ b/graphics/pokemon/tauros/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +131 213 172 +255 255 255 +230 230 238 +205 197 255 +148 180 172 +90 82 106 +255 0 255 +189 156 82 +156 131 65 +115 90 32 +74 49 0 +246 197 98 +230 164 74 +189 123 49 +115 82 24 +16 16 16 diff --git a/graphics/pokemon/tauros/shiny.pal b/graphics/pokemon/tauros/shiny.pal new file mode 100644 index 000000000..3f2d46d67 --- /dev/null +++ b/graphics/pokemon/tauros/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +238 222 255 +205 197 255 +164 148 205 +90 74 106 +255 0 255 +123 205 49 +82 180 24 +24 123 0 +49 74 24 +255 255 98 +255 230 82 +213 189 57 +131 106 49 +16 16 16 diff --git a/graphics/pokemon/teddiursa/back.png b/graphics/pokemon/teddiursa/back.png new file mode 100644 index 000000000..d79f39a5b Binary files /dev/null and b/graphics/pokemon/teddiursa/back.png differ diff --git a/graphics/pokemon/teddiursa/footprint.png b/graphics/pokemon/teddiursa/footprint.png new file mode 100644 index 000000000..def88c323 Binary files /dev/null and b/graphics/pokemon/teddiursa/footprint.png differ diff --git a/graphics/pokemon/teddiursa/front.png b/graphics/pokemon/teddiursa/front.png new file mode 100644 index 000000000..27651cfc8 Binary files /dev/null and b/graphics/pokemon/teddiursa/front.png differ diff --git a/graphics/pokemon/teddiursa/icon.png b/graphics/pokemon/teddiursa/icon.png new file mode 100644 index 000000000..94994c86d Binary files /dev/null and b/graphics/pokemon/teddiursa/icon.png differ diff --git a/graphics/pokemon/teddiursa/normal.pal b/graphics/pokemon/teddiursa/normal.pal new file mode 100644 index 000000000..a044a8e9c --- /dev/null +++ b/graphics/pokemon/teddiursa/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +238 180 106 +213 156 90 +164 131 57 +123 98 24 +90 65 0 +255 246 164 +238 213 156 +213 172 82 +255 0 255 +255 0 255 +222 222 222 +180 180 189 +106 106 123 +16 16 16 diff --git a/graphics/pokemon/teddiursa/shiny.pal b/graphics/pokemon/teddiursa/shiny.pal new file mode 100644 index 000000000..0be332569 --- /dev/null +++ b/graphics/pokemon/teddiursa/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +189 246 123 +164 222 106 +123 180 74 +90 148 49 +57 98 32 +255 246 164 +238 222 123 +172 197 90 +255 0 255 +255 0 255 +222 222 222 +180 180 189 +106 106 123 +16 16 16 diff --git a/graphics/pokemon/tentacool/back.png b/graphics/pokemon/tentacool/back.png new file mode 100644 index 000000000..d603ca052 Binary files /dev/null and b/graphics/pokemon/tentacool/back.png differ diff --git a/graphics/pokemon/tentacool/footprint.png b/graphics/pokemon/tentacool/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/tentacool/footprint.png differ diff --git a/graphics/pokemon/tentacool/front.png b/graphics/pokemon/tentacool/front.png new file mode 100644 index 000000000..038f78f89 Binary files /dev/null and b/graphics/pokemon/tentacool/front.png differ diff --git a/graphics/pokemon/tentacool/icon.png b/graphics/pokemon/tentacool/icon.png new file mode 100644 index 000000000..d29ca1938 Binary files /dev/null and b/graphics/pokemon/tentacool/icon.png differ diff --git a/graphics/pokemon/tentacool/normal.pal b/graphics/pokemon/tentacool/normal.pal new file mode 100644 index 000000000..530c0a4d6 --- /dev/null +++ b/graphics/pokemon/tentacool/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +255 255 255 +255 197 189 +255 82 74 +180 41 32 +131 16 16 +213 197 148 +180 172 115 +131 131 65 +82 82 32 +213 213 213 +148 213 246 +106 180 230 +65 164 148 +32 82 131 +16 16 16 diff --git a/graphics/pokemon/tentacool/shiny.pal b/graphics/pokemon/tentacool/shiny.pal new file mode 100644 index 000000000..d90b7d4a0 --- /dev/null +++ b/graphics/pokemon/tentacool/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +255 255 255 +115 197 139 +74 156 98 +32 115 57 +16 74 16 +213 197 148 +180 172 115 +131 131 65 +82 82 32 +213 213 213 +213 213 255 +172 172 230 +131 131 189 +74 74 131 +16 16 16 diff --git a/graphics/pokemon/tentacruel/back.png b/graphics/pokemon/tentacruel/back.png new file mode 100644 index 000000000..232bc9259 Binary files /dev/null and b/graphics/pokemon/tentacruel/back.png differ diff --git a/graphics/pokemon/tentacruel/footprint.png b/graphics/pokemon/tentacruel/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/tentacruel/footprint.png differ diff --git a/graphics/pokemon/tentacruel/front.png b/graphics/pokemon/tentacruel/front.png new file mode 100644 index 000000000..6c9579573 Binary files /dev/null and b/graphics/pokemon/tentacruel/front.png differ diff --git a/graphics/pokemon/tentacruel/icon.png b/graphics/pokemon/tentacruel/icon.png new file mode 100644 index 000000000..72b6da9b9 Binary files /dev/null and b/graphics/pokemon/tentacruel/icon.png differ diff --git a/graphics/pokemon/tentacruel/normal.pal b/graphics/pokemon/tentacruel/normal.pal new file mode 100644 index 000000000..1a4cf74c2 --- /dev/null +++ b/graphics/pokemon/tentacruel/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +189 213 197 +255 255 255 +255 197 189 +255 82 74 +180 41 32 +131 16 16 +222 205 156 +180 172 115 +139 139 65 +90 90 32 +213 213 213 +148 205 246 +106 180 230 +65 164 156 +32 82 131 +16 16 16 diff --git a/graphics/pokemon/tentacruel/shiny.pal b/graphics/pokemon/tentacruel/shiny.pal new file mode 100644 index 000000000..b53f96599 --- /dev/null +++ b/graphics/pokemon/tentacruel/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +255 255 255 +148 189 82 +106 148 41 +65 106 0 +8 49 0 +230 213 164 +180 172 115 +131 131 65 +82 82 32 +222 255 255 +180 222 255 +139 180 213 +98 139 172 +24 65 98 +16 16 16 diff --git a/graphics/pokemon/togepi/back.png b/graphics/pokemon/togepi/back.png new file mode 100644 index 000000000..24858fc22 Binary files /dev/null and b/graphics/pokemon/togepi/back.png differ diff --git a/graphics/pokemon/togepi/footprint.png b/graphics/pokemon/togepi/footprint.png new file mode 100644 index 000000000..84e75101b Binary files /dev/null and b/graphics/pokemon/togepi/footprint.png differ diff --git a/graphics/pokemon/togepi/front.png b/graphics/pokemon/togepi/front.png new file mode 100644 index 000000000..2fd04df59 Binary files /dev/null and b/graphics/pokemon/togepi/front.png differ diff --git a/graphics/pokemon/togepi/icon.png b/graphics/pokemon/togepi/icon.png new file mode 100644 index 000000000..ded646fa1 Binary files /dev/null and b/graphics/pokemon/togepi/icon.png differ diff --git a/graphics/pokemon/togepi/normal.pal b/graphics/pokemon/togepi/normal.pal new file mode 100644 index 000000000..6e9355508 --- /dev/null +++ b/graphics/pokemon/togepi/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +246 246 255 +180 180 197 +106 106 123 +16 16 16 +197 24 0 +255 255 205 +255 246 172 +222 197 115 +172 148 74 +106 57 0 +222 115 115 +197 24 0 +106 131 222 +0 74 213 +205 205 205 diff --git a/graphics/pokemon/togepi/shiny.pal b/graphics/pokemon/togepi/shiny.pal new file mode 100644 index 000000000..6ce2e1be7 --- /dev/null +++ b/graphics/pokemon/togepi/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +246 246 255 +180 180 197 +106 106 123 +16 16 16 +197 24 0 +255 255 205 +255 230 172 +213 180 115 +172 131 57 +106 57 0 +106 131 222 +0 74 213 +222 115 115 +197 24 0 +205 205 205 diff --git a/graphics/pokemon/togetic/back.png b/graphics/pokemon/togetic/back.png new file mode 100644 index 000000000..f5125735a Binary files /dev/null and b/graphics/pokemon/togetic/back.png differ diff --git a/graphics/pokemon/togetic/footprint.png b/graphics/pokemon/togetic/footprint.png new file mode 100644 index 000000000..b15913fa8 Binary files /dev/null and b/graphics/pokemon/togetic/footprint.png differ diff --git a/graphics/pokemon/togetic/front.png b/graphics/pokemon/togetic/front.png new file mode 100644 index 000000000..4f6fe9339 Binary files /dev/null and b/graphics/pokemon/togetic/front.png differ diff --git a/graphics/pokemon/togetic/icon.png b/graphics/pokemon/togetic/icon.png new file mode 100644 index 000000000..61e73ab3e Binary files /dev/null and b/graphics/pokemon/togetic/icon.png differ diff --git a/graphics/pokemon/togetic/normal.pal b/graphics/pokemon/togetic/normal.pal new file mode 100644 index 000000000..c07ecff88 --- /dev/null +++ b/graphics/pokemon/togetic/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +131 197 139 +230 230 238 +205 205 205 +172 172 189 +131 131 148 +90 90 115 +16 16 16 +255 0 255 +255 0 255 +255 0 255 +139 0 0 +222 115 115 +180 0 0 +106 131 222 +0 41 197 +255 255 255 diff --git a/graphics/pokemon/togetic/shiny.pal b/graphics/pokemon/togetic/shiny.pal new file mode 100644 index 000000000..6d37ce70d --- /dev/null +++ b/graphics/pokemon/togetic/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 246 +230 222 172 +189 180 139 +148 139 32 +106 90 57 +16 16 16 +255 0 255 +255 0 255 +255 0 255 +139 0 0 +106 131 222 +0 41 197 +222 115 115 +180 0 0 +255 255 230 diff --git a/graphics/pokemon/torchic/back.png b/graphics/pokemon/torchic/back.png new file mode 100644 index 000000000..ed2c53879 Binary files /dev/null and b/graphics/pokemon/torchic/back.png differ diff --git a/graphics/pokemon/torchic/footprint.png b/graphics/pokemon/torchic/footprint.png new file mode 100644 index 000000000..955afa82a Binary files /dev/null and b/graphics/pokemon/torchic/footprint.png differ diff --git a/graphics/pokemon/torchic/front.png b/graphics/pokemon/torchic/front.png new file mode 100644 index 000000000..a8eeb2699 Binary files /dev/null and b/graphics/pokemon/torchic/front.png differ diff --git a/graphics/pokemon/torchic/icon.png b/graphics/pokemon/torchic/icon.png new file mode 100644 index 000000000..6346e2272 Binary files /dev/null and b/graphics/pokemon/torchic/icon.png differ diff --git a/graphics/pokemon/torchic/normal.pal b/graphics/pokemon/torchic/normal.pal new file mode 100644 index 000000000..373cb59b7 --- /dev/null +++ b/graphics/pokemon/torchic/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +255 222 148 +213 189 148 +180 148 123 +123 115 123 +255 213 98 +255 197 82 +213 156 57 +139 123 90 +156 205 255 +255 255 255 +255 164 57 +255 106 57 +213 90 57 +90 57 49 +16 16 16 diff --git a/graphics/pokemon/torchic/shiny.pal b/graphics/pokemon/torchic/shiny.pal new file mode 100644 index 000000000..368d18494 --- /dev/null +++ b/graphics/pokemon/torchic/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +49 164 82 +222 180 131 +172 123 90 +123 90 74 +123 115 123 +255 164 57 +238 90 41 +189 57 24 +123 90 74 +156 205 255 +255 255 255 +255 238 172 +255 222 115 +230 164 74 +90 57 49 +16 16 16 diff --git a/graphics/pokemon/torkoal/back.png b/graphics/pokemon/torkoal/back.png new file mode 100644 index 000000000..4eb5c4f0e Binary files /dev/null and b/graphics/pokemon/torkoal/back.png differ diff --git a/graphics/pokemon/torkoal/footprint.png b/graphics/pokemon/torkoal/footprint.png new file mode 100644 index 000000000..208f3bb77 Binary files /dev/null and b/graphics/pokemon/torkoal/footprint.png differ diff --git a/graphics/pokemon/torkoal/front.png b/graphics/pokemon/torkoal/front.png new file mode 100644 index 000000000..b19eea08b Binary files /dev/null and b/graphics/pokemon/torkoal/front.png differ diff --git a/graphics/pokemon/torkoal/icon.png b/graphics/pokemon/torkoal/icon.png new file mode 100644 index 000000000..077ce4026 Binary files /dev/null and b/graphics/pokemon/torkoal/icon.png differ diff --git a/graphics/pokemon/torkoal/normal.pal b/graphics/pokemon/torkoal/normal.pal new file mode 100644 index 000000000..85caef491 --- /dev/null +++ b/graphics/pokemon/torkoal/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 197 197 +238 222 213 +213 205 197 +189 172 164 +255 156 106 +230 123 74 +197 82 57 +148 74 49 +131 131 131 +90 90 90 +49 49 49 +255 156 0 +197 131 8 +255 57 0 +90 49 57 +0 0 0 diff --git a/graphics/pokemon/torkoal/shiny.pal b/graphics/pokemon/torkoal/shiny.pal new file mode 100644 index 000000000..70194b9f1 --- /dev/null +++ b/graphics/pokemon/torkoal/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 197 197 +255 238 230 +222 213 205 +205 189 180 +255 230 156 +255 213 106 +222 156 74 +148 90 0 +213 123 123 +180 90 90 +123 32 32 +255 156 0 +197 131 8 +255 57 0 +82 0 0 +0 0 0 diff --git a/graphics/pokemon/totodile/back.png b/graphics/pokemon/totodile/back.png new file mode 100644 index 000000000..1ac54c7bd Binary files /dev/null and b/graphics/pokemon/totodile/back.png differ diff --git a/graphics/pokemon/totodile/footprint.png b/graphics/pokemon/totodile/footprint.png new file mode 100644 index 000000000..210260273 Binary files /dev/null and b/graphics/pokemon/totodile/footprint.png differ diff --git a/graphics/pokemon/totodile/front.png b/graphics/pokemon/totodile/front.png new file mode 100644 index 000000000..d65863e81 Binary files /dev/null and b/graphics/pokemon/totodile/front.png differ diff --git a/graphics/pokemon/totodile/icon.png b/graphics/pokemon/totodile/icon.png new file mode 100644 index 000000000..c2bc68521 Binary files /dev/null and b/graphics/pokemon/totodile/icon.png differ diff --git a/graphics/pokemon/totodile/normal.pal b/graphics/pokemon/totodile/normal.pal new file mode 100644 index 000000000..8a68271f6 --- /dev/null +++ b/graphics/pokemon/totodile/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 197 164 +255 255 255 +148 213 255 +106 180 230 +49 131 197 +74 74 131 +180 180 180 +255 197 115 +255 90 32 +205 41 16 +123 0 0 +255 90 32 +205 41 16 +255 197 82 +172 131 41 +16 16 16 diff --git a/graphics/pokemon/totodile/shiny.pal b/graphics/pokemon/totodile/shiny.pal new file mode 100644 index 000000000..609f22253 --- /dev/null +++ b/graphics/pokemon/totodile/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 197 164 +255 255 255 +156 246 189 +106 222 180 +65 172 148 +32 106 90 +180 180 180 +131 180 255 +74 106 197 +49 74 164 +49 65 106 +255 123 74 +197 74 57 +255 197 82 +172 131 41 +16 16 16 diff --git a/graphics/pokemon/trapinch/back.png b/graphics/pokemon/trapinch/back.png new file mode 100644 index 000000000..61eec3c92 Binary files /dev/null and b/graphics/pokemon/trapinch/back.png differ diff --git a/graphics/pokemon/trapinch/footprint.png b/graphics/pokemon/trapinch/footprint.png new file mode 100644 index 000000000..c3e6e785b Binary files /dev/null and b/graphics/pokemon/trapinch/footprint.png differ diff --git a/graphics/pokemon/trapinch/front.png b/graphics/pokemon/trapinch/front.png new file mode 100644 index 000000000..48dd7951a Binary files /dev/null and b/graphics/pokemon/trapinch/front.png differ diff --git a/graphics/pokemon/trapinch/icon.png b/graphics/pokemon/trapinch/icon.png new file mode 100644 index 000000000..731dbf569 Binary files /dev/null and b/graphics/pokemon/trapinch/icon.png differ diff --git a/graphics/pokemon/trapinch/normal.pal b/graphics/pokemon/trapinch/normal.pal new file mode 100644 index 000000000..2344a7eca --- /dev/null +++ b/graphics/pokemon/trapinch/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +189 205 156 +115 65 65 +205 123 115 +238 156 74 +255 189 123 +197 74 49 +172 197 98 +222 246 115 +123 148 74 +0 0 0 +0 0 0 +0 0 0 +65 65 49 +255 255 255 +0 0 0 +32 32 32 diff --git a/graphics/pokemon/trapinch/shiny.pal b/graphics/pokemon/trapinch/shiny.pal new file mode 100644 index 000000000..87ce33ef0 --- /dev/null +++ b/graphics/pokemon/trapinch/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +189 205 156 +24 49 41 +90 131 123 +123 164 156 +156 197 189 +197 74 49 +172 197 98 +222 246 115 +123 148 74 +0 0 0 +0 0 0 +0 0 0 +65 65 49 +255 255 255 +0 0 0 +32 32 32 diff --git a/graphics/pokemon/treecko/back.png b/graphics/pokemon/treecko/back.png new file mode 100644 index 000000000..89e53390d Binary files /dev/null and b/graphics/pokemon/treecko/back.png differ diff --git a/graphics/pokemon/treecko/footprint.png b/graphics/pokemon/treecko/footprint.png new file mode 100644 index 000000000..ed3854702 Binary files /dev/null and b/graphics/pokemon/treecko/footprint.png differ diff --git a/graphics/pokemon/treecko/front.png b/graphics/pokemon/treecko/front.png new file mode 100644 index 000000000..7cacddaae Binary files /dev/null and b/graphics/pokemon/treecko/front.png differ diff --git a/graphics/pokemon/treecko/icon.png b/graphics/pokemon/treecko/icon.png new file mode 100644 index 000000000..f51358adf Binary files /dev/null and b/graphics/pokemon/treecko/icon.png differ diff --git a/graphics/pokemon/treecko/normal.pal b/graphics/pokemon/treecko/normal.pal new file mode 100644 index 000000000..987a3a5b9 --- /dev/null +++ b/graphics/pokemon/treecko/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +123 106 156 +255 213 123 +255 197 82 +230 156 74 +74 189 131 +255 106 82 +213 82 57 +164 74 49 +24 65 57 +74 139 90 +255 255 255 +189 255 115 +156 213 74 +115 172 49 +82 98 41 +16 16 16 diff --git a/graphics/pokemon/treecko/shiny.pal b/graphics/pokemon/treecko/shiny.pal new file mode 100644 index 000000000..da5dda0e4 --- /dev/null +++ b/graphics/pokemon/treecko/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +123 106 156 +255 213 123 +255 197 82 +230 156 74 +255 106 82 +255 238 197 +238 189 156 +205 156 123 +156 65 41 +213 82 57 +255 255 255 +172 230 238 +148 205 213 +74 164 148 +82 139 131 +16 16 16 diff --git a/graphics/pokemon/tropius/back.png b/graphics/pokemon/tropius/back.png new file mode 100644 index 000000000..d948c3dc0 Binary files /dev/null and b/graphics/pokemon/tropius/back.png differ diff --git a/graphics/pokemon/tropius/footprint.png b/graphics/pokemon/tropius/footprint.png new file mode 100644 index 000000000..e6e7e8795 Binary files /dev/null and b/graphics/pokemon/tropius/footprint.png differ diff --git a/graphics/pokemon/tropius/front.png b/graphics/pokemon/tropius/front.png new file mode 100644 index 000000000..e2ae021cb Binary files /dev/null and b/graphics/pokemon/tropius/front.png differ diff --git a/graphics/pokemon/tropius/icon.png b/graphics/pokemon/tropius/icon.png new file mode 100644 index 000000000..dabfcd295 Binary files /dev/null and b/graphics/pokemon/tropius/icon.png differ diff --git a/graphics/pokemon/tropius/normal.pal b/graphics/pokemon/tropius/normal.pal new file mode 100644 index 000000000..efe3d75ab --- /dev/null +++ b/graphics/pokemon/tropius/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +16 123 189 +32 98 32 +57 172 65 +123 222 139 +189 246 156 +106 74 41 +164 115 49 +189 139 82 +205 164 106 +238 189 57 +255 255 106 +255 255 255 +0 0 0 +230 106 139 +164 82 106 +82 197 90 diff --git a/graphics/pokemon/tropius/shiny.pal b/graphics/pokemon/tropius/shiny.pal new file mode 100644 index 000000000..cb02cf449 --- /dev/null +++ b/graphics/pokemon/tropius/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +16 123 189 +49 90 0 +106 148 0 +172 213 32 +205 246 65 +106 74 41 +222 156 8 +246 189 41 +255 222 74 +238 189 57 +255 255 106 +255 255 255 +0 0 0 +230 106 139 +164 82 106 +139 180 0 diff --git a/graphics/pokemon/typhlosion/back.png b/graphics/pokemon/typhlosion/back.png new file mode 100644 index 000000000..deb3ffb0d Binary files /dev/null and b/graphics/pokemon/typhlosion/back.png differ diff --git a/graphics/pokemon/typhlosion/footprint.png b/graphics/pokemon/typhlosion/footprint.png new file mode 100644 index 000000000..1d4492cf1 Binary files /dev/null and b/graphics/pokemon/typhlosion/footprint.png differ diff --git a/graphics/pokemon/typhlosion/front.png b/graphics/pokemon/typhlosion/front.png new file mode 100644 index 000000000..22ab5cd90 Binary files /dev/null and b/graphics/pokemon/typhlosion/front.png differ diff --git a/graphics/pokemon/typhlosion/icon.png b/graphics/pokemon/typhlosion/icon.png new file mode 100644 index 000000000..e15d7b683 Binary files /dev/null and b/graphics/pokemon/typhlosion/icon.png differ diff --git a/graphics/pokemon/typhlosion/normal.pal b/graphics/pokemon/typhlosion/normal.pal new file mode 100644 index 000000000..72f0c9c8c --- /dev/null +++ b/graphics/pokemon/typhlosion/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +98 139 180 +65 82 123 +41 57 98 +0 8 74 +255 238 148 +213 197 106 +164 139 74 +98 74 16 +255 222 0 +255 156 0 +255 98 0 +238 8 0 +16 16 16 +255 255 197 diff --git a/graphics/pokemon/typhlosion/shiny.pal b/graphics/pokemon/typhlosion/shiny.pal new file mode 100644 index 000000000..42fb4ee9c --- /dev/null +++ b/graphics/pokemon/typhlosion/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +213 106 90 +172 65 74 +131 41 65 +106 32 41 +255 230 115 +222 197 82 +172 139 49 +139 82 24 +255 222 0 +255 156 0 +255 98 0 +238 0 0 +16 16 16 +255 246 156 diff --git a/graphics/pokemon/tyranitar/back.png b/graphics/pokemon/tyranitar/back.png new file mode 100644 index 000000000..273318be0 Binary files /dev/null and b/graphics/pokemon/tyranitar/back.png differ diff --git a/graphics/pokemon/tyranitar/footprint.png b/graphics/pokemon/tyranitar/footprint.png new file mode 100644 index 000000000..ea12c75b0 Binary files /dev/null and b/graphics/pokemon/tyranitar/footprint.png differ diff --git a/graphics/pokemon/tyranitar/front.png b/graphics/pokemon/tyranitar/front.png new file mode 100644 index 000000000..a1035064b Binary files /dev/null and b/graphics/pokemon/tyranitar/front.png differ diff --git a/graphics/pokemon/tyranitar/icon.png b/graphics/pokemon/tyranitar/icon.png new file mode 100644 index 000000000..76113bc68 Binary files /dev/null and b/graphics/pokemon/tyranitar/icon.png differ diff --git a/graphics/pokemon/tyranitar/normal.pal b/graphics/pokemon/tyranitar/normal.pal new file mode 100644 index 000000000..6c5e2941c --- /dev/null +++ b/graphics/pokemon/tyranitar/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +197 238 197 +164 213 164 +115 164 115 +57 82 57 +255 0 255 +98 180 255 +74 156 230 +32 123 189 +0 74 139 +213 82 0 +148 41 0 +197 197 197 +115 115 115 +16 16 16 diff --git a/graphics/pokemon/tyranitar/shiny.pal b/graphics/pokemon/tyranitar/shiny.pal new file mode 100644 index 000000000..3090536a9 --- /dev/null +++ b/graphics/pokemon/tyranitar/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +246 213 148 +222 189 123 +172 139 82 +106 74 41 +255 0 255 +238 172 213 +213 148 197 +164 98 156 +106 49 98 +213 82 0 +148 41 0 +197 197 197 +115 115 115 +16 16 16 diff --git a/graphics/pokemon/tyrogue/back.png b/graphics/pokemon/tyrogue/back.png new file mode 100644 index 000000000..1d6b2e198 Binary files /dev/null and b/graphics/pokemon/tyrogue/back.png differ diff --git a/graphics/pokemon/tyrogue/footprint.png b/graphics/pokemon/tyrogue/footprint.png new file mode 100644 index 000000000..0ef849eb8 Binary files /dev/null and b/graphics/pokemon/tyrogue/footprint.png differ diff --git a/graphics/pokemon/tyrogue/front.png b/graphics/pokemon/tyrogue/front.png new file mode 100644 index 000000000..cd12978ae Binary files /dev/null and b/graphics/pokemon/tyrogue/front.png differ diff --git a/graphics/pokemon/tyrogue/icon.png b/graphics/pokemon/tyrogue/icon.png new file mode 100644 index 000000000..10099d5cf Binary files /dev/null and b/graphics/pokemon/tyrogue/icon.png differ diff --git a/graphics/pokemon/tyrogue/normal.pal b/graphics/pokemon/tyrogue/normal.pal new file mode 100644 index 000000000..97bff0783 --- /dev/null +++ b/graphics/pokemon/tyrogue/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 222 255 +238 172 255 +205 131 205 +172 98 156 +131 49 90 +230 139 65 +205 98 41 +180 49 0 +115 0 0 +230 139 65 +180 49 0 +213 213 213 +172 172 172 +16 16 16 diff --git a/graphics/pokemon/tyrogue/shiny.pal b/graphics/pokemon/tyrogue/shiny.pal new file mode 100644 index 000000000..e8fef8a16 --- /dev/null +++ b/graphics/pokemon/tyrogue/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +238 230 205 +205 197 172 +156 148 131 +106 98 90 +90 82 65 +82 180 255 +65 139 230 +49 82 180 +32 65 131 +230 139 65 +180 49 0 +213 213 213 +172 172 172 +16 16 16 diff --git a/graphics/pokemon/umbreon/back.png b/graphics/pokemon/umbreon/back.png new file mode 100644 index 000000000..d73508aed Binary files /dev/null and b/graphics/pokemon/umbreon/back.png differ diff --git a/graphics/pokemon/umbreon/footprint.png b/graphics/pokemon/umbreon/footprint.png new file mode 100644 index 000000000..a1d897dc3 Binary files /dev/null and b/graphics/pokemon/umbreon/footprint.png differ diff --git a/graphics/pokemon/umbreon/front.png b/graphics/pokemon/umbreon/front.png new file mode 100644 index 000000000..8fbc3b0f2 Binary files /dev/null and b/graphics/pokemon/umbreon/front.png differ diff --git a/graphics/pokemon/umbreon/icon.png b/graphics/pokemon/umbreon/icon.png new file mode 100644 index 000000000..8d8d867c2 Binary files /dev/null and b/graphics/pokemon/umbreon/icon.png differ diff --git a/graphics/pokemon/umbreon/normal.pal b/graphics/pokemon/umbreon/normal.pal new file mode 100644 index 000000000..dc6ec68e6 --- /dev/null +++ b/graphics/pokemon/umbreon/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 0 255 +255 0 255 +49 41 41 +65 57 57 +90 82 82 +148 131 131 +180 164 164 +139 98 0 +205 148 41 +255 197 0 +255 238 139 +255 0 255 +16 16 16 +255 90 57 +255 255 255 diff --git a/graphics/pokemon/umbreon/shiny.pal b/graphics/pokemon/umbreon/shiny.pal new file mode 100644 index 000000000..82c71e1ae --- /dev/null +++ b/graphics/pokemon/umbreon/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 0 255 +255 0 255 +49 41 41 +65 57 57 +90 82 82 +148 131 131 +180 164 164 +32 74 148 +41 106 230 +98 180 255 +148 230 255 +255 0 255 +16 16 16 +255 213 16 +255 255 255 diff --git a/graphics/pokemon/unown/a/back.png b/graphics/pokemon/unown/a/back.png new file mode 100644 index 000000000..b90973023 Binary files /dev/null and b/graphics/pokemon/unown/a/back.png differ diff --git a/graphics/pokemon/unown/a/front.png b/graphics/pokemon/unown/a/front.png new file mode 100644 index 000000000..697de36dc Binary files /dev/null and b/graphics/pokemon/unown/a/front.png differ diff --git a/graphics/pokemon/unown/a/icon.png b/graphics/pokemon/unown/a/icon.png new file mode 100644 index 000000000..cd9056ab2 Binary files /dev/null and b/graphics/pokemon/unown/a/icon.png differ diff --git a/graphics/pokemon/unown/b/back.png b/graphics/pokemon/unown/b/back.png new file mode 100644 index 000000000..b398754ca Binary files /dev/null and b/graphics/pokemon/unown/b/back.png differ diff --git a/graphics/pokemon/unown/b/front.png b/graphics/pokemon/unown/b/front.png new file mode 100644 index 000000000..fbe2e4623 Binary files /dev/null and b/graphics/pokemon/unown/b/front.png differ diff --git a/graphics/pokemon/unown/b/icon.png b/graphics/pokemon/unown/b/icon.png new file mode 100644 index 000000000..47654aba5 Binary files /dev/null and b/graphics/pokemon/unown/b/icon.png differ diff --git a/graphics/pokemon/unown/c/back.png b/graphics/pokemon/unown/c/back.png new file mode 100644 index 000000000..b9bccf4c5 Binary files /dev/null and b/graphics/pokemon/unown/c/back.png differ diff --git a/graphics/pokemon/unown/c/front.png b/graphics/pokemon/unown/c/front.png new file mode 100644 index 000000000..c5ef1c457 Binary files /dev/null and b/graphics/pokemon/unown/c/front.png differ diff --git a/graphics/pokemon/unown/c/icon.png b/graphics/pokemon/unown/c/icon.png new file mode 100644 index 000000000..7b8721a7d Binary files /dev/null and b/graphics/pokemon/unown/c/icon.png differ diff --git a/graphics/pokemon/unown/d/back.png b/graphics/pokemon/unown/d/back.png new file mode 100644 index 000000000..1b3f19b09 Binary files /dev/null and b/graphics/pokemon/unown/d/back.png differ diff --git a/graphics/pokemon/unown/d/front.png b/graphics/pokemon/unown/d/front.png new file mode 100644 index 000000000..c39b26120 Binary files /dev/null and b/graphics/pokemon/unown/d/front.png differ diff --git a/graphics/pokemon/unown/d/icon.png b/graphics/pokemon/unown/d/icon.png new file mode 100644 index 000000000..db6b0cf8a Binary files /dev/null and b/graphics/pokemon/unown/d/icon.png differ diff --git a/graphics/pokemon/unown/e/back.png b/graphics/pokemon/unown/e/back.png new file mode 100644 index 000000000..1baaf759f Binary files /dev/null and b/graphics/pokemon/unown/e/back.png differ diff --git a/graphics/pokemon/unown/e/front.png b/graphics/pokemon/unown/e/front.png new file mode 100644 index 000000000..81e3f9c93 Binary files /dev/null and b/graphics/pokemon/unown/e/front.png differ diff --git a/graphics/pokemon/unown/e/icon.png b/graphics/pokemon/unown/e/icon.png new file mode 100644 index 000000000..6addb828e Binary files /dev/null and b/graphics/pokemon/unown/e/icon.png differ diff --git a/graphics/pokemon/unown/exclamation_mark/back.png b/graphics/pokemon/unown/exclamation_mark/back.png new file mode 100644 index 000000000..cb05b906d Binary files /dev/null and b/graphics/pokemon/unown/exclamation_mark/back.png differ diff --git a/graphics/pokemon/unown/exclamation_mark/front.png b/graphics/pokemon/unown/exclamation_mark/front.png new file mode 100644 index 000000000..86f329f92 Binary files /dev/null and b/graphics/pokemon/unown/exclamation_mark/front.png differ diff --git a/graphics/pokemon/unown/exclamation_mark/icon.png b/graphics/pokemon/unown/exclamation_mark/icon.png new file mode 100644 index 000000000..beeea4ae1 Binary files /dev/null and b/graphics/pokemon/unown/exclamation_mark/icon.png differ diff --git a/graphics/pokemon/unown/f/back.png b/graphics/pokemon/unown/f/back.png new file mode 100644 index 000000000..30be252f9 Binary files /dev/null and b/graphics/pokemon/unown/f/back.png differ diff --git a/graphics/pokemon/unown/f/front.png b/graphics/pokemon/unown/f/front.png new file mode 100644 index 000000000..8e61eb768 Binary files /dev/null and b/graphics/pokemon/unown/f/front.png differ diff --git a/graphics/pokemon/unown/f/icon.png b/graphics/pokemon/unown/f/icon.png new file mode 100644 index 000000000..3c45017b1 Binary files /dev/null and b/graphics/pokemon/unown/f/icon.png differ diff --git a/graphics/pokemon/unown/footprint.png b/graphics/pokemon/unown/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/unown/footprint.png differ diff --git a/graphics/pokemon/unown/g/back.png b/graphics/pokemon/unown/g/back.png new file mode 100644 index 000000000..ec5e708bf Binary files /dev/null and b/graphics/pokemon/unown/g/back.png differ diff --git a/graphics/pokemon/unown/g/front.png b/graphics/pokemon/unown/g/front.png new file mode 100644 index 000000000..4f665124a Binary files /dev/null and b/graphics/pokemon/unown/g/front.png differ diff --git a/graphics/pokemon/unown/g/icon.png b/graphics/pokemon/unown/g/icon.png new file mode 100644 index 000000000..ab00f8ad2 Binary files /dev/null and b/graphics/pokemon/unown/g/icon.png differ diff --git a/graphics/pokemon/unown/h/back.png b/graphics/pokemon/unown/h/back.png new file mode 100644 index 000000000..992e34e21 Binary files /dev/null and b/graphics/pokemon/unown/h/back.png differ diff --git a/graphics/pokemon/unown/h/front.png b/graphics/pokemon/unown/h/front.png new file mode 100644 index 000000000..f8ab66963 Binary files /dev/null and b/graphics/pokemon/unown/h/front.png differ diff --git a/graphics/pokemon/unown/h/icon.png b/graphics/pokemon/unown/h/icon.png new file mode 100644 index 000000000..bd4fd96bf Binary files /dev/null and b/graphics/pokemon/unown/h/icon.png differ diff --git a/graphics/pokemon/unown/i/back.png b/graphics/pokemon/unown/i/back.png new file mode 100644 index 000000000..5640fd5e0 Binary files /dev/null and b/graphics/pokemon/unown/i/back.png differ diff --git a/graphics/pokemon/unown/i/front.png b/graphics/pokemon/unown/i/front.png new file mode 100644 index 000000000..ebc8a51a9 Binary files /dev/null and b/graphics/pokemon/unown/i/front.png differ diff --git a/graphics/pokemon/unown/i/icon.png b/graphics/pokemon/unown/i/icon.png new file mode 100644 index 000000000..6973196bb Binary files /dev/null and b/graphics/pokemon/unown/i/icon.png differ diff --git a/graphics/pokemon/unown/j/back.png b/graphics/pokemon/unown/j/back.png new file mode 100644 index 000000000..619ebb75b Binary files /dev/null and b/graphics/pokemon/unown/j/back.png differ diff --git a/graphics/pokemon/unown/j/front.png b/graphics/pokemon/unown/j/front.png new file mode 100644 index 000000000..4c1f4ed2e Binary files /dev/null and b/graphics/pokemon/unown/j/front.png differ diff --git a/graphics/pokemon/unown/j/icon.png b/graphics/pokemon/unown/j/icon.png new file mode 100644 index 000000000..b85a45a71 Binary files /dev/null and b/graphics/pokemon/unown/j/icon.png differ diff --git a/graphics/pokemon/unown/k/back.png b/graphics/pokemon/unown/k/back.png new file mode 100644 index 000000000..46ac175bc Binary files /dev/null and b/graphics/pokemon/unown/k/back.png differ diff --git a/graphics/pokemon/unown/k/front.png b/graphics/pokemon/unown/k/front.png new file mode 100644 index 000000000..8ccce125e Binary files /dev/null and b/graphics/pokemon/unown/k/front.png differ diff --git a/graphics/pokemon/unown/k/icon.png b/graphics/pokemon/unown/k/icon.png new file mode 100644 index 000000000..81bcb385e Binary files /dev/null and b/graphics/pokemon/unown/k/icon.png differ diff --git a/graphics/pokemon/unown/l/back.png b/graphics/pokemon/unown/l/back.png new file mode 100644 index 000000000..da0c6c5f5 Binary files /dev/null and b/graphics/pokemon/unown/l/back.png differ diff --git a/graphics/pokemon/unown/l/front.png b/graphics/pokemon/unown/l/front.png new file mode 100644 index 000000000..6bb837167 Binary files /dev/null and b/graphics/pokemon/unown/l/front.png differ diff --git a/graphics/pokemon/unown/l/icon.png b/graphics/pokemon/unown/l/icon.png new file mode 100644 index 000000000..5f6fb9db8 Binary files /dev/null and b/graphics/pokemon/unown/l/icon.png differ diff --git a/graphics/pokemon/unown/m/back.png b/graphics/pokemon/unown/m/back.png new file mode 100644 index 000000000..37dd0a97f Binary files /dev/null and b/graphics/pokemon/unown/m/back.png differ diff --git a/graphics/pokemon/unown/m/front.png b/graphics/pokemon/unown/m/front.png new file mode 100644 index 000000000..981c7f801 Binary files /dev/null and b/graphics/pokemon/unown/m/front.png differ diff --git a/graphics/pokemon/unown/m/icon.png b/graphics/pokemon/unown/m/icon.png new file mode 100644 index 000000000..c9b8d0fb4 Binary files /dev/null and b/graphics/pokemon/unown/m/icon.png differ diff --git a/graphics/pokemon/unown/n/back.png b/graphics/pokemon/unown/n/back.png new file mode 100644 index 000000000..17163be73 Binary files /dev/null and b/graphics/pokemon/unown/n/back.png differ diff --git a/graphics/pokemon/unown/n/front.png b/graphics/pokemon/unown/n/front.png new file mode 100644 index 000000000..cff797db4 Binary files /dev/null and b/graphics/pokemon/unown/n/front.png differ diff --git a/graphics/pokemon/unown/n/icon.png b/graphics/pokemon/unown/n/icon.png new file mode 100644 index 000000000..b1e5c5abb Binary files /dev/null and b/graphics/pokemon/unown/n/icon.png differ diff --git a/graphics/pokemon/unown/normal.pal b/graphics/pokemon/unown/normal.pal new file mode 100644 index 000000000..6babb2d90 --- /dev/null +++ b/graphics/pokemon/unown/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 0 255 +255 0 255 +255 0 255 +222 222 222 +255 255 255 +16 16 16 +164 164 164 +115 115 115 +82 82 82 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 diff --git a/graphics/pokemon/unown/o/back.png b/graphics/pokemon/unown/o/back.png new file mode 100644 index 000000000..7260da757 Binary files /dev/null and b/graphics/pokemon/unown/o/back.png differ diff --git a/graphics/pokemon/unown/o/front.png b/graphics/pokemon/unown/o/front.png new file mode 100644 index 000000000..8b8e81295 Binary files /dev/null and b/graphics/pokemon/unown/o/front.png differ diff --git a/graphics/pokemon/unown/o/icon.png b/graphics/pokemon/unown/o/icon.png new file mode 100644 index 000000000..14a88d062 Binary files /dev/null and b/graphics/pokemon/unown/o/icon.png differ diff --git a/graphics/pokemon/unown/p/back.png b/graphics/pokemon/unown/p/back.png new file mode 100644 index 000000000..e275a3a96 Binary files /dev/null and b/graphics/pokemon/unown/p/back.png differ diff --git a/graphics/pokemon/unown/p/front.png b/graphics/pokemon/unown/p/front.png new file mode 100644 index 000000000..99a7c98e2 Binary files /dev/null and b/graphics/pokemon/unown/p/front.png differ diff --git a/graphics/pokemon/unown/p/icon.png b/graphics/pokemon/unown/p/icon.png new file mode 100644 index 000000000..7a7afb8de Binary files /dev/null and b/graphics/pokemon/unown/p/icon.png differ diff --git a/graphics/pokemon/unown/q/back.png b/graphics/pokemon/unown/q/back.png new file mode 100644 index 000000000..08d5a0d0a Binary files /dev/null and b/graphics/pokemon/unown/q/back.png differ diff --git a/graphics/pokemon/unown/q/front.png b/graphics/pokemon/unown/q/front.png new file mode 100644 index 000000000..fe94c27fa Binary files /dev/null and b/graphics/pokemon/unown/q/front.png differ diff --git a/graphics/pokemon/unown/q/icon.png b/graphics/pokemon/unown/q/icon.png new file mode 100644 index 000000000..2270f8373 Binary files /dev/null and b/graphics/pokemon/unown/q/icon.png differ diff --git a/graphics/pokemon/unown/question_mark/back.png b/graphics/pokemon/unown/question_mark/back.png new file mode 100644 index 000000000..3d9ae3ee3 Binary files /dev/null and b/graphics/pokemon/unown/question_mark/back.png differ diff --git a/graphics/pokemon/unown/question_mark/front.png b/graphics/pokemon/unown/question_mark/front.png new file mode 100644 index 000000000..ee0ad284c Binary files /dev/null and b/graphics/pokemon/unown/question_mark/front.png differ diff --git a/graphics/pokemon/unown/question_mark/icon.png b/graphics/pokemon/unown/question_mark/icon.png new file mode 100644 index 000000000..a9bb50930 Binary files /dev/null and b/graphics/pokemon/unown/question_mark/icon.png differ diff --git a/graphics/pokemon/unown/r/back.png b/graphics/pokemon/unown/r/back.png new file mode 100644 index 000000000..9ea2bd6f7 Binary files /dev/null and b/graphics/pokemon/unown/r/back.png differ diff --git a/graphics/pokemon/unown/r/front.png b/graphics/pokemon/unown/r/front.png new file mode 100644 index 000000000..4e2a40007 Binary files /dev/null and b/graphics/pokemon/unown/r/front.png differ diff --git a/graphics/pokemon/unown/r/icon.png b/graphics/pokemon/unown/r/icon.png new file mode 100644 index 000000000..6ba4d5764 Binary files /dev/null and b/graphics/pokemon/unown/r/icon.png differ diff --git a/graphics/pokemon/unown/s/back.png b/graphics/pokemon/unown/s/back.png new file mode 100644 index 000000000..c85571503 Binary files /dev/null and b/graphics/pokemon/unown/s/back.png differ diff --git a/graphics/pokemon/unown/s/front.png b/graphics/pokemon/unown/s/front.png new file mode 100644 index 000000000..a144e27f5 Binary files /dev/null and b/graphics/pokemon/unown/s/front.png differ diff --git a/graphics/pokemon/unown/s/icon.png b/graphics/pokemon/unown/s/icon.png new file mode 100644 index 000000000..44f17718b Binary files /dev/null and b/graphics/pokemon/unown/s/icon.png differ diff --git a/graphics/pokemon/unown/shiny.pal b/graphics/pokemon/unown/shiny.pal new file mode 100644 index 000000000..016a93548 --- /dev/null +++ b/graphics/pokemon/unown/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 0 255 +255 0 255 +255 0 255 +98 205 255 +255 255 255 +16 16 16 +41 115 255 +32 65 156 +49 57 106 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 diff --git a/graphics/pokemon/unown/t/back.png b/graphics/pokemon/unown/t/back.png new file mode 100644 index 000000000..f840953b8 Binary files /dev/null and b/graphics/pokemon/unown/t/back.png differ diff --git a/graphics/pokemon/unown/t/front.png b/graphics/pokemon/unown/t/front.png new file mode 100644 index 000000000..4d5fa8b98 Binary files /dev/null and b/graphics/pokemon/unown/t/front.png differ diff --git a/graphics/pokemon/unown/t/icon.png b/graphics/pokemon/unown/t/icon.png new file mode 100644 index 000000000..9023b7366 Binary files /dev/null and b/graphics/pokemon/unown/t/icon.png differ diff --git a/graphics/pokemon/unown/u/back.png b/graphics/pokemon/unown/u/back.png new file mode 100644 index 000000000..8d99bd088 Binary files /dev/null and b/graphics/pokemon/unown/u/back.png differ diff --git a/graphics/pokemon/unown/u/front.png b/graphics/pokemon/unown/u/front.png new file mode 100644 index 000000000..39503f01c Binary files /dev/null and b/graphics/pokemon/unown/u/front.png differ diff --git a/graphics/pokemon/unown/u/icon.png b/graphics/pokemon/unown/u/icon.png new file mode 100644 index 000000000..3d315ebf2 Binary files /dev/null and b/graphics/pokemon/unown/u/icon.png differ diff --git a/graphics/pokemon/unown/v/back.png b/graphics/pokemon/unown/v/back.png new file mode 100644 index 000000000..41e215720 Binary files /dev/null and b/graphics/pokemon/unown/v/back.png differ diff --git a/graphics/pokemon/unown/v/front.png b/graphics/pokemon/unown/v/front.png new file mode 100644 index 000000000..f014289bd Binary files /dev/null and b/graphics/pokemon/unown/v/front.png differ diff --git a/graphics/pokemon/unown/v/icon.png b/graphics/pokemon/unown/v/icon.png new file mode 100644 index 000000000..f973a3d85 Binary files /dev/null and b/graphics/pokemon/unown/v/icon.png differ diff --git a/graphics/pokemon/unown/w/back.png b/graphics/pokemon/unown/w/back.png new file mode 100644 index 000000000..3d42e4eb2 Binary files /dev/null and b/graphics/pokemon/unown/w/back.png differ diff --git a/graphics/pokemon/unown/w/front.png b/graphics/pokemon/unown/w/front.png new file mode 100644 index 000000000..829804ebf Binary files /dev/null and b/graphics/pokemon/unown/w/front.png differ diff --git a/graphics/pokemon/unown/w/icon.png b/graphics/pokemon/unown/w/icon.png new file mode 100644 index 000000000..aabb0663e Binary files /dev/null and b/graphics/pokemon/unown/w/icon.png differ diff --git a/graphics/pokemon/unown/x/back.png b/graphics/pokemon/unown/x/back.png new file mode 100644 index 000000000..a21d5a9c3 Binary files /dev/null and b/graphics/pokemon/unown/x/back.png differ diff --git a/graphics/pokemon/unown/x/front.png b/graphics/pokemon/unown/x/front.png new file mode 100644 index 000000000..053e2ee08 Binary files /dev/null and b/graphics/pokemon/unown/x/front.png differ diff --git a/graphics/pokemon/unown/x/icon.png b/graphics/pokemon/unown/x/icon.png new file mode 100644 index 000000000..b5be9e10b Binary files /dev/null and b/graphics/pokemon/unown/x/icon.png differ diff --git a/graphics/pokemon/unown/y/back.png b/graphics/pokemon/unown/y/back.png new file mode 100644 index 000000000..3ccca08e8 Binary files /dev/null and b/graphics/pokemon/unown/y/back.png differ diff --git a/graphics/pokemon/unown/y/front.png b/graphics/pokemon/unown/y/front.png new file mode 100644 index 000000000..d8f40e27e Binary files /dev/null and b/graphics/pokemon/unown/y/front.png differ diff --git a/graphics/pokemon/unown/y/icon.png b/graphics/pokemon/unown/y/icon.png new file mode 100644 index 000000000..8923810aa Binary files /dev/null and b/graphics/pokemon/unown/y/icon.png differ diff --git a/graphics/pokemon/unown/z/back.png b/graphics/pokemon/unown/z/back.png new file mode 100644 index 000000000..e1f528a2b Binary files /dev/null and b/graphics/pokemon/unown/z/back.png differ diff --git a/graphics/pokemon/unown/z/front.png b/graphics/pokemon/unown/z/front.png new file mode 100644 index 000000000..054eacb6d Binary files /dev/null and b/graphics/pokemon/unown/z/front.png differ diff --git a/graphics/pokemon/unown/z/icon.png b/graphics/pokemon/unown/z/icon.png new file mode 100644 index 000000000..a14f73696 Binary files /dev/null and b/graphics/pokemon/unown/z/icon.png differ diff --git a/graphics/pokemon/ursaring/back.png b/graphics/pokemon/ursaring/back.png new file mode 100644 index 000000000..4a546c055 Binary files /dev/null and b/graphics/pokemon/ursaring/back.png differ diff --git a/graphics/pokemon/ursaring/footprint.png b/graphics/pokemon/ursaring/footprint.png new file mode 100644 index 000000000..b1023bd3b Binary files /dev/null and b/graphics/pokemon/ursaring/footprint.png differ diff --git a/graphics/pokemon/ursaring/front.png b/graphics/pokemon/ursaring/front.png new file mode 100644 index 000000000..8699738b5 Binary files /dev/null and b/graphics/pokemon/ursaring/front.png differ diff --git a/graphics/pokemon/ursaring/icon.png b/graphics/pokemon/ursaring/icon.png new file mode 100644 index 000000000..143353f31 Binary files /dev/null and b/graphics/pokemon/ursaring/icon.png differ diff --git a/graphics/pokemon/ursaring/normal.pal b/graphics/pokemon/ursaring/normal.pal new file mode 100644 index 000000000..e77c0b345 --- /dev/null +++ b/graphics/pokemon/ursaring/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +222 197 115 +197 164 82 +164 131 57 +123 98 24 +74 49 0 +255 246 164 +255 213 123 +213 172 82 +180 131 41 +255 0 255 +222 222 222 +180 180 189 +123 123 139 +16 16 16 diff --git a/graphics/pokemon/ursaring/shiny.pal b/graphics/pokemon/ursaring/shiny.pal new file mode 100644 index 000000000..7bb95b380 --- /dev/null +++ b/graphics/pokemon/ursaring/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +164 230 65 +131 205 41 +98 172 16 +65 139 0 +57 82 0 +255 246 164 +255 213 123 +213 172 82 +180 131 41 +255 0 255 +222 222 222 +180 180 189 +123 123 139 +16 16 16 diff --git a/graphics/pokemon/vaporeon/back.png b/graphics/pokemon/vaporeon/back.png new file mode 100644 index 000000000..5ac5b94fb Binary files /dev/null and b/graphics/pokemon/vaporeon/back.png differ diff --git a/graphics/pokemon/vaporeon/footprint.png b/graphics/pokemon/vaporeon/footprint.png new file mode 100644 index 000000000..2b44d4b24 Binary files /dev/null and b/graphics/pokemon/vaporeon/footprint.png differ diff --git a/graphics/pokemon/vaporeon/front.png b/graphics/pokemon/vaporeon/front.png new file mode 100644 index 000000000..af9a0f999 Binary files /dev/null and b/graphics/pokemon/vaporeon/front.png differ diff --git a/graphics/pokemon/vaporeon/icon.png b/graphics/pokemon/vaporeon/icon.png new file mode 100644 index 000000000..d4003c2a8 Binary files /dev/null and b/graphics/pokemon/vaporeon/icon.png differ diff --git a/graphics/pokemon/vaporeon/normal.pal b/graphics/pokemon/vaporeon/normal.pal new file mode 100644 index 000000000..e6a4024f1 --- /dev/null +++ b/graphics/pokemon/vaporeon/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +230 230 230 +172 172 205 +255 238 123 +230 189 74 +139 123 41 +115 139 180 +90 115 156 +49 65 123 +90 90 115 +131 238 213 +98 205 180 +57 164 139 +16 106 82 +41 41 41 diff --git a/graphics/pokemon/vaporeon/shiny.pal b/graphics/pokemon/vaporeon/shiny.pal new file mode 100644 index 000000000..1cfaae92b --- /dev/null +++ b/graphics/pokemon/vaporeon/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 213 +255 255 255 +230 230 230 +172 172 205 +255 255 156 +230 197 74 +139 139 16 +172 90 115 +180 115 156 +131 57 90 +90 90 115 +255 197 246 +230 172 230 +189 131 197 +123 65 139 +41 41 41 diff --git a/graphics/pokemon/venomoth/back.png b/graphics/pokemon/venomoth/back.png new file mode 100644 index 000000000..910608088 Binary files /dev/null and b/graphics/pokemon/venomoth/back.png differ diff --git a/graphics/pokemon/venomoth/footprint.png b/graphics/pokemon/venomoth/footprint.png new file mode 100644 index 000000000..6965dbe60 Binary files /dev/null and b/graphics/pokemon/venomoth/footprint.png differ diff --git a/graphics/pokemon/venomoth/front.png b/graphics/pokemon/venomoth/front.png new file mode 100644 index 000000000..3abc34f90 Binary files /dev/null and b/graphics/pokemon/venomoth/front.png differ diff --git a/graphics/pokemon/venomoth/icon.png b/graphics/pokemon/venomoth/icon.png new file mode 100644 index 000000000..d77b6dce8 Binary files /dev/null and b/graphics/pokemon/venomoth/icon.png differ diff --git a/graphics/pokemon/venomoth/normal.pal b/graphics/pokemon/venomoth/normal.pal new file mode 100644 index 000000000..4ebc1f953 --- /dev/null +++ b/graphics/pokemon/venomoth/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +98 205 139 +255 255 255 +230 230 230 +172 197 197 +230 213 172 +197 172 139 +164 131 106 +98 82 57 +238 230 98 +246 213 82 +16 16 16 +246 222 255 +238 197 255 +213 172 222 +172 139 205 +98 74 115 diff --git a/graphics/pokemon/venomoth/shiny.pal b/graphics/pokemon/venomoth/shiny.pal new file mode 100644 index 000000000..89ad92feb --- /dev/null +++ b/graphics/pokemon/venomoth/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +197 197 148 +255 255 255 +230 230 230 +172 197 197 +230 213 172 +197 172 139 +164 131 106 +98 82 57 +238 230 98 +246 213 82 +16 16 16 +156 213 255 +139 189 238 +139 172 230 +98 131 197 +49 74 115 diff --git a/graphics/pokemon/venonat/back.png b/graphics/pokemon/venonat/back.png new file mode 100644 index 000000000..44f7f45c5 Binary files /dev/null and b/graphics/pokemon/venonat/back.png differ diff --git a/graphics/pokemon/venonat/footprint.png b/graphics/pokemon/venonat/footprint.png new file mode 100644 index 000000000..3675945c9 Binary files /dev/null and b/graphics/pokemon/venonat/footprint.png differ diff --git a/graphics/pokemon/venonat/front.png b/graphics/pokemon/venonat/front.png new file mode 100644 index 000000000..7370b39c0 Binary files /dev/null and b/graphics/pokemon/venonat/front.png differ diff --git a/graphics/pokemon/venonat/icon.png b/graphics/pokemon/venonat/icon.png new file mode 100644 index 000000000..a2ed54b71 Binary files /dev/null and b/graphics/pokemon/venonat/icon.png differ diff --git a/graphics/pokemon/venonat/normal.pal b/graphics/pokemon/venonat/normal.pal new file mode 100644 index 000000000..26db14b2d --- /dev/null +++ b/graphics/pokemon/venonat/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 213 156 +255 255 255 +148 115 164 +213 213 213 +123 123 123 +255 180 172 +255 123 82 +197 82 32 +238 189 156 +189 139 106 +131 82 49 +164 139 189 +139 106 156 +106 82 115 +65 57 82 +16 16 16 diff --git a/graphics/pokemon/venonat/shiny.pal b/graphics/pokemon/venonat/shiny.pal new file mode 100644 index 000000000..88c346a27 --- /dev/null +++ b/graphics/pokemon/venonat/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 255 255 +148 115 164 +213 213 213 +131 131 131 +156 230 255 +106 180 255 +57 131 197 +238 189 156 +189 139 106 +139 90 57 +180 123 197 +148 82 164 +106 65 115 +65 16 82 +16 16 16 diff --git a/graphics/pokemon/venusaur/back.png b/graphics/pokemon/venusaur/back.png new file mode 100644 index 000000000..e2d19152c Binary files /dev/null and b/graphics/pokemon/venusaur/back.png differ diff --git a/graphics/pokemon/venusaur/footprint.png b/graphics/pokemon/venusaur/footprint.png new file mode 100644 index 000000000..bdef2c818 Binary files /dev/null and b/graphics/pokemon/venusaur/footprint.png differ diff --git a/graphics/pokemon/venusaur/front.png b/graphics/pokemon/venusaur/front.png new file mode 100644 index 000000000..8f0521e26 Binary files /dev/null and b/graphics/pokemon/venusaur/front.png differ diff --git a/graphics/pokemon/venusaur/icon.png b/graphics/pokemon/venusaur/icon.png new file mode 100644 index 000000000..fbd5380f5 Binary files /dev/null and b/graphics/pokemon/venusaur/icon.png differ diff --git a/graphics/pokemon/venusaur/normal.pal b/graphics/pokemon/venusaur/normal.pal new file mode 100644 index 000000000..f88c8375d --- /dev/null +++ b/graphics/pokemon/venusaur/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +238 238 238 +32 98 49 +98 156 115 +90 205 148 +139 238 189 +139 57 0 +189 106 49 +16 16 16 +230 74 65 +255 131 115 +156 246 139 +222 205 49 +255 238 82 +65 164 24 +106 205 65 +255 255 255 diff --git a/graphics/pokemon/venusaur/shiny.pal b/graphics/pokemon/venusaur/shiny.pal new file mode 100644 index 000000000..b00e69629 --- /dev/null +++ b/graphics/pokemon/venusaur/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +16 82 32 +131 164 0 +180 213 16 +213 246 49 +131 49 0 +189 106 49 +16 16 16 +246 123 0 +255 197 41 +156 246 139 +255 238 82 +255 255 255 +41 164 16 +82 205 57 +255 255 255 diff --git a/graphics/pokemon/vibrava/back.png b/graphics/pokemon/vibrava/back.png new file mode 100644 index 000000000..c5a0eb60b Binary files /dev/null and b/graphics/pokemon/vibrava/back.png differ diff --git a/graphics/pokemon/vibrava/footprint.png b/graphics/pokemon/vibrava/footprint.png new file mode 100644 index 000000000..fdf76f9f2 Binary files /dev/null and b/graphics/pokemon/vibrava/footprint.png differ diff --git a/graphics/pokemon/vibrava/front.png b/graphics/pokemon/vibrava/front.png new file mode 100644 index 000000000..487ce4746 Binary files /dev/null and b/graphics/pokemon/vibrava/front.png differ diff --git a/graphics/pokemon/vibrava/icon.png b/graphics/pokemon/vibrava/icon.png new file mode 100644 index 000000000..422ea2359 Binary files /dev/null and b/graphics/pokemon/vibrava/icon.png differ diff --git a/graphics/pokemon/vibrava/normal.pal b/graphics/pokemon/vibrava/normal.pal new file mode 100644 index 000000000..7f40d2316 --- /dev/null +++ b/graphics/pokemon/vibrava/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 197 148 +139 238 180 +98 197 148 +49 139 98 +255 255 164 +230 213 139 +189 180 123 +222 222 255 +189 189 222 +205 205 205 +123 115 57 +0 0 0 +164 164 164 +131 131 131 +82 82 82 +255 255 255 diff --git a/graphics/pokemon/vibrava/shiny.pal b/graphics/pokemon/vibrava/shiny.pal new file mode 100644 index 000000000..8da128d69 --- /dev/null +++ b/graphics/pokemon/vibrava/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 197 148 +255 180 123 +246 123 74 +197 82 24 +255 255 164 +230 213 139 +189 180 123 +222 222 255 +189 189 222 +205 205 205 +123 115 57 +0 0 0 +164 164 164 +131 131 131 +106 106 106 +255 255 255 diff --git a/graphics/pokemon/victreebel/back.png b/graphics/pokemon/victreebel/back.png new file mode 100644 index 000000000..a92b61f7a Binary files /dev/null and b/graphics/pokemon/victreebel/back.png differ diff --git a/graphics/pokemon/victreebel/footprint.png b/graphics/pokemon/victreebel/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/victreebel/footprint.png differ diff --git a/graphics/pokemon/victreebel/front.png b/graphics/pokemon/victreebel/front.png new file mode 100644 index 000000000..4f2d7b8f4 Binary files /dev/null and b/graphics/pokemon/victreebel/front.png differ diff --git a/graphics/pokemon/victreebel/icon.png b/graphics/pokemon/victreebel/icon.png new file mode 100644 index 000000000..49298177e Binary files /dev/null and b/graphics/pokemon/victreebel/icon.png differ diff --git a/graphics/pokemon/victreebel/normal.pal b/graphics/pokemon/victreebel/normal.pal new file mode 100644 index 000000000..635eae0ab --- /dev/null +++ b/graphics/pokemon/victreebel/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 255 255 +180 131 41 +213 213 213 +255 164 115 +213 74 32 +255 230 156 +255 213 106 +230 172 90 +189 255 115 +156 213 74 +115 172 49 +82 98 41 +180 123 49 +106 65 0 +16 16 16 diff --git a/graphics/pokemon/victreebel/shiny.pal b/graphics/pokemon/victreebel/shiny.pal new file mode 100644 index 000000000..2542072f3 --- /dev/null +++ b/graphics/pokemon/victreebel/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 255 255 +131 148 8 +213 213 213 +90 156 222 +49 115 180 +255 255 156 +230 255 106 +189 213 65 +238 213 115 +197 172 74 +156 131 32 +106 82 16 +180 123 49 +106 65 0 +16 16 16 diff --git a/graphics/pokemon/vigoroth/back.png b/graphics/pokemon/vigoroth/back.png new file mode 100644 index 000000000..7d806e703 Binary files /dev/null and b/graphics/pokemon/vigoroth/back.png differ diff --git a/graphics/pokemon/vigoroth/footprint.png b/graphics/pokemon/vigoroth/footprint.png new file mode 100644 index 000000000..bc10a7230 Binary files /dev/null and b/graphics/pokemon/vigoroth/footprint.png differ diff --git a/graphics/pokemon/vigoroth/front.png b/graphics/pokemon/vigoroth/front.png new file mode 100644 index 000000000..fe87041ee Binary files /dev/null and b/graphics/pokemon/vigoroth/front.png differ diff --git a/graphics/pokemon/vigoroth/icon.png b/graphics/pokemon/vigoroth/icon.png new file mode 100644 index 000000000..f8808cde3 Binary files /dev/null and b/graphics/pokemon/vigoroth/icon.png differ diff --git a/graphics/pokemon/vigoroth/normal.pal b/graphics/pokemon/vigoroth/normal.pal new file mode 100644 index 000000000..824efe711 --- /dev/null +++ b/graphics/pokemon/vigoroth/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +74 123 164 +82 65 32 +115 49 49 +115 82 41 +139 106 65 +65 65 65 +131 131 131 +205 205 205 +255 255 255 +139 65 90 +213 57 49 +255 98 98 +230 230 230 +172 131 98 +90 90 82 +0 0 0 diff --git a/graphics/pokemon/vigoroth/shiny.pal b/graphics/pokemon/vigoroth/shiny.pal new file mode 100644 index 000000000..adc647979 --- /dev/null +++ b/graphics/pokemon/vigoroth/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +74 123 164 +82 65 32 +115 49 49 +115 82 41 +139 106 65 +65 65 65 +205 148 82 +246 213 115 +255 255 255 +172 74 0 +230 82 24 +255 164 98 +255 238 156 +172 131 98 +90 90 82 +0 0 0 diff --git a/graphics/pokemon/vileplume/back.png b/graphics/pokemon/vileplume/back.png new file mode 100644 index 000000000..8aa3006ee Binary files /dev/null and b/graphics/pokemon/vileplume/back.png differ diff --git a/graphics/pokemon/vileplume/footprint.png b/graphics/pokemon/vileplume/footprint.png new file mode 100644 index 000000000..8fd5bdf83 Binary files /dev/null and b/graphics/pokemon/vileplume/footprint.png differ diff --git a/graphics/pokemon/vileplume/front.png b/graphics/pokemon/vileplume/front.png new file mode 100644 index 000000000..374cd4ddd Binary files /dev/null and b/graphics/pokemon/vileplume/front.png differ diff --git a/graphics/pokemon/vileplume/icon.png b/graphics/pokemon/vileplume/icon.png new file mode 100644 index 000000000..7009048c5 Binary files /dev/null and b/graphics/pokemon/vileplume/icon.png differ diff --git a/graphics/pokemon/vileplume/normal.pal b/graphics/pokemon/vileplume/normal.pal new file mode 100644 index 000000000..56a9e2e64 --- /dev/null +++ b/graphics/pokemon/vileplume/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +255 164 41 +197 156 41 +180 106 32 +255 98 98 +238 49 49 +197 65 82 +139 32 24 +255 205 213 +246 172 180 +115 131 164 +90 98 131 +65 74 98 +24 41 74 +16 16 16 diff --git a/graphics/pokemon/vileplume/shiny.pal b/graphics/pokemon/vileplume/shiny.pal new file mode 100644 index 000000000..6def71be1 --- /dev/null +++ b/graphics/pokemon/vileplume/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +255 230 156 +230 172 90 +189 131 49 +255 238 123 +246 205 90 +230 164 41 +172 90 24 +255 255 238 +255 246 205 +98 180 74 +90 148 74 +74 115 65 +32 74 24 +16 16 16 diff --git a/graphics/pokemon/volbeat/back.png b/graphics/pokemon/volbeat/back.png new file mode 100644 index 000000000..217b966ed Binary files /dev/null and b/graphics/pokemon/volbeat/back.png differ diff --git a/graphics/pokemon/volbeat/footprint.png b/graphics/pokemon/volbeat/footprint.png new file mode 100644 index 000000000..916c59f60 Binary files /dev/null and b/graphics/pokemon/volbeat/footprint.png differ diff --git a/graphics/pokemon/volbeat/front.png b/graphics/pokemon/volbeat/front.png new file mode 100644 index 000000000..9daf199a3 Binary files /dev/null and b/graphics/pokemon/volbeat/front.png differ diff --git a/graphics/pokemon/volbeat/icon.png b/graphics/pokemon/volbeat/icon.png new file mode 100644 index 000000000..849715d33 Binary files /dev/null and b/graphics/pokemon/volbeat/icon.png differ diff --git a/graphics/pokemon/volbeat/normal.pal b/graphics/pokemon/volbeat/normal.pal new file mode 100644 index 000000000..8d2cedfa8 --- /dev/null +++ b/graphics/pokemon/volbeat/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 197 148 +222 222 222 +139 139 148 +74 74 82 +0 0 0 +246 131 115 +230 82 98 +205 57 82 +139 49 74 +255 230 82 +222 189 82 +98 74 49 +164 180 197 +123 139 164 +74 82 106 +255 255 255 diff --git a/graphics/pokemon/volbeat/shiny.pal b/graphics/pokemon/volbeat/shiny.pal new file mode 100644 index 000000000..106d373cf --- /dev/null +++ b/graphics/pokemon/volbeat/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 197 148 +222 222 222 +139 139 148 +74 74 82 +0 0 0 +123 197 255 +90 172 230 +49 131 197 +74 74 131 +255 230 82 +222 189 82 +98 74 49 +205 139 222 +164 82 189 +65 32 82 +255 255 255 diff --git a/graphics/pokemon/voltorb/back.png b/graphics/pokemon/voltorb/back.png new file mode 100644 index 000000000..c379b4a8b Binary files /dev/null and b/graphics/pokemon/voltorb/back.png differ diff --git a/graphics/pokemon/voltorb/footprint.png b/graphics/pokemon/voltorb/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/voltorb/footprint.png differ diff --git a/graphics/pokemon/voltorb/front.png b/graphics/pokemon/voltorb/front.png new file mode 100644 index 000000000..046e4f9c3 Binary files /dev/null and b/graphics/pokemon/voltorb/front.png differ diff --git a/graphics/pokemon/voltorb/icon.png b/graphics/pokemon/voltorb/icon.png new file mode 100644 index 000000000..53d318fdb Binary files /dev/null and b/graphics/pokemon/voltorb/icon.png differ diff --git a/graphics/pokemon/voltorb/normal.pal b/graphics/pokemon/voltorb/normal.pal new file mode 100644 index 000000000..96cf0dd7e --- /dev/null +++ b/graphics/pokemon/voltorb/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 255 +222 213 213 +180 172 172 +90 82 82 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 131 131 +255 172 156 +255 82 32 +230 65 0 +205 65 65 +131 16 16 +16 16 16 diff --git a/graphics/pokemon/voltorb/shiny.pal b/graphics/pokemon/voltorb/shiny.pal new file mode 100644 index 000000000..20cb4fbfa --- /dev/null +++ b/graphics/pokemon/voltorb/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 255 +222 213 213 +180 172 172 +90 82 82 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +49 90 205 +82 106 238 +41 65 197 +0 24 156 +0 0 115 +0 0 74 +16 16 16 diff --git a/graphics/pokemon/vulpix/back.png b/graphics/pokemon/vulpix/back.png new file mode 100644 index 000000000..2272a71dd Binary files /dev/null and b/graphics/pokemon/vulpix/back.png differ diff --git a/graphics/pokemon/vulpix/footprint.png b/graphics/pokemon/vulpix/footprint.png new file mode 100644 index 000000000..a0a655ca6 Binary files /dev/null and b/graphics/pokemon/vulpix/footprint.png differ diff --git a/graphics/pokemon/vulpix/front.png b/graphics/pokemon/vulpix/front.png new file mode 100644 index 000000000..38ec988fd Binary files /dev/null and b/graphics/pokemon/vulpix/front.png differ diff --git a/graphics/pokemon/vulpix/icon.png b/graphics/pokemon/vulpix/icon.png new file mode 100644 index 000000000..d998362d1 Binary files /dev/null and b/graphics/pokemon/vulpix/icon.png differ diff --git a/graphics/pokemon/vulpix/normal.pal b/graphics/pokemon/vulpix/normal.pal new file mode 100644 index 000000000..1e7a92f57 --- /dev/null +++ b/graphics/pokemon/vulpix/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 255 255 +255 230 180 +255 222 148 +16 16 16 +238 156 74 +205 123 41 +172 90 8 +255 131 74 +222 106 41 +189 65 41 +148 49 0 +246 189 123 +230 148 106 +197 115 74 +131 57 0 diff --git a/graphics/pokemon/vulpix/shiny.pal b/graphics/pokemon/vulpix/shiny.pal new file mode 100644 index 000000000..ba3fa06a8 --- /dev/null +++ b/graphics/pokemon/vulpix/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 180 +255 255 255 +246 255 230 +213 222 189 +16 16 16 +197 180 41 +156 139 0 +115 98 0 +246 205 8 +222 180 0 +180 139 0 +123 82 0 +246 238 82 +222 213 0 +197 180 0 +90 74 0 diff --git a/graphics/pokemon/wailmer/back.png b/graphics/pokemon/wailmer/back.png new file mode 100644 index 000000000..9ad9f21ea Binary files /dev/null and b/graphics/pokemon/wailmer/back.png differ diff --git a/graphics/pokemon/wailmer/footprint.png b/graphics/pokemon/wailmer/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/wailmer/footprint.png differ diff --git a/graphics/pokemon/wailmer/front.png b/graphics/pokemon/wailmer/front.png new file mode 100644 index 000000000..a17d48cdf Binary files /dev/null and b/graphics/pokemon/wailmer/front.png differ diff --git a/graphics/pokemon/wailmer/icon.png b/graphics/pokemon/wailmer/icon.png new file mode 100644 index 000000000..16ba6d4b9 Binary files /dev/null and b/graphics/pokemon/wailmer/icon.png differ diff --git a/graphics/pokemon/wailmer/normal.pal b/graphics/pokemon/wailmer/normal.pal new file mode 100644 index 000000000..4e56fb42a --- /dev/null +++ b/graphics/pokemon/wailmer/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +131 172 90 +32 49 74 +49 106 156 +74 131 180 +98 156 205 +255 238 205 +238 213 164 +205 180 131 +0 0 0 +156 139 98 +148 197 238 +57 82 123 +106 98 74 +131 139 156 +180 189 197 +255 255 255 diff --git a/graphics/pokemon/wailmer/shiny.pal b/graphics/pokemon/wailmer/shiny.pal new file mode 100644 index 000000000..296519dbd --- /dev/null +++ b/graphics/pokemon/wailmer/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +131 172 90 +82 41 123 +148 106 189 +180 139 222 +213 172 255 +255 238 205 +238 213 164 +205 180 131 +0 0 0 +156 139 98 +246 205 255 +115 74 156 +106 98 74 +131 139 156 +180 189 197 +255 255 255 diff --git a/graphics/pokemon/wailord/back.png b/graphics/pokemon/wailord/back.png new file mode 100644 index 000000000..7698ba500 Binary files /dev/null and b/graphics/pokemon/wailord/back.png differ diff --git a/graphics/pokemon/wailord/footprint.png b/graphics/pokemon/wailord/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/wailord/footprint.png differ diff --git a/graphics/pokemon/wailord/front.png b/graphics/pokemon/wailord/front.png new file mode 100644 index 000000000..e542cbc64 Binary files /dev/null and b/graphics/pokemon/wailord/front.png differ diff --git a/graphics/pokemon/wailord/icon.png b/graphics/pokemon/wailord/icon.png new file mode 100644 index 000000000..f84a7ea70 Binary files /dev/null and b/graphics/pokemon/wailord/icon.png differ diff --git a/graphics/pokemon/wailord/normal.pal b/graphics/pokemon/wailord/normal.pal new file mode 100644 index 000000000..55fdf02f6 --- /dev/null +++ b/graphics/pokemon/wailord/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 197 197 +238 230 255 +213 205 222 +180 172 180 +180 156 172 +131 115 131 +148 172 255 +82 131 255 +49 98 255 +41 82 197 +49 57 90 +123 106 98 +82 74 74 +0 0 0 +180 205 255 +41 82 123 diff --git a/graphics/pokemon/wailord/shiny.pal b/graphics/pokemon/wailord/shiny.pal new file mode 100644 index 000000000..31a687fb9 --- /dev/null +++ b/graphics/pokemon/wailord/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 197 197 +238 230 255 +213 205 222 +180 172 180 +180 156 172 +131 115 131 +230 197 255 +213 172 255 +172 131 213 +131 90 172 +82 41 123 +123 106 98 +82 74 74 +0 0 0 +246 222 255 +115 74 156 diff --git a/graphics/pokemon/walrein/back.png b/graphics/pokemon/walrein/back.png new file mode 100644 index 000000000..c58df92b0 Binary files /dev/null and b/graphics/pokemon/walrein/back.png differ diff --git a/graphics/pokemon/walrein/footprint.png b/graphics/pokemon/walrein/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/walrein/footprint.png differ diff --git a/graphics/pokemon/walrein/front.png b/graphics/pokemon/walrein/front.png new file mode 100644 index 000000000..b8458e11a Binary files /dev/null and b/graphics/pokemon/walrein/front.png differ diff --git a/graphics/pokemon/walrein/icon.png b/graphics/pokemon/walrein/icon.png new file mode 100644 index 000000000..f98348a54 Binary files /dev/null and b/graphics/pokemon/walrein/icon.png differ diff --git a/graphics/pokemon/walrein/normal.pal b/graphics/pokemon/walrein/normal.pal new file mode 100644 index 000000000..2b4fb8ad4 --- /dev/null +++ b/graphics/pokemon/walrein/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +98 115 148 +49 82 123 +57 115 172 +90 139 197 +131 180 230 +164 131 90 +255 197 98 +255 222 131 +255 255 164 +197 49 49 +238 131 131 +123 180 255 +197 205 222 +0 0 0 +222 230 255 +255 255 255 diff --git a/graphics/pokemon/walrein/shiny.pal b/graphics/pokemon/walrein/shiny.pal new file mode 100644 index 000000000..0d93d3e7d --- /dev/null +++ b/graphics/pokemon/walrein/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +98 115 148 +82 74 123 +164 90 189 +197 131 222 +230 180 238 +164 131 90 +255 197 98 +255 222 131 +255 255 164 +197 49 49 +238 131 131 +123 180 255 +197 205 222 +0 0 0 +222 230 255 +255 255 255 diff --git a/graphics/pokemon/wartortle/back.png b/graphics/pokemon/wartortle/back.png new file mode 100644 index 000000000..7a909f36d Binary files /dev/null and b/graphics/pokemon/wartortle/back.png differ diff --git a/graphics/pokemon/wartortle/footprint.png b/graphics/pokemon/wartortle/footprint.png new file mode 100644 index 000000000..4dd126496 Binary files /dev/null and b/graphics/pokemon/wartortle/footprint.png differ diff --git a/graphics/pokemon/wartortle/front.png b/graphics/pokemon/wartortle/front.png new file mode 100644 index 000000000..067f21684 Binary files /dev/null and b/graphics/pokemon/wartortle/front.png differ diff --git a/graphics/pokemon/wartortle/icon.png b/graphics/pokemon/wartortle/icon.png new file mode 100644 index 000000000..2cdfca2d9 Binary files /dev/null and b/graphics/pokemon/wartortle/icon.png differ diff --git a/graphics/pokemon/wartortle/normal.pal b/graphics/pokemon/wartortle/normal.pal new file mode 100644 index 000000000..b497d87b3 --- /dev/null +++ b/graphics/pokemon/wartortle/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 238 230 +255 255 255 +230 238 230 +197 213 222 +197 49 0 +205 131 32 +148 98 98 +106 74 24 +246 238 139 +222 197 139 +189 139 57 +213 189 255 +172 139 238 +123 106 197 +82 65 123 +16 16 16 diff --git a/graphics/pokemon/wartortle/shiny.pal b/graphics/pokemon/wartortle/shiny.pal new file mode 100644 index 000000000..081f832f8 --- /dev/null +++ b/graphics/pokemon/wartortle/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +197 238 197 +156 213 164 +197 49 0 +164 148 65 +98 115 32 +65 82 0 +255 222 115 +230 172 90 +189 139 57 +230 205 238 +205 172 230 +164 139 180 +82 65 106 +16 16 16 diff --git a/graphics/pokemon/weedle/back.png b/graphics/pokemon/weedle/back.png new file mode 100644 index 000000000..3180bf513 Binary files /dev/null and b/graphics/pokemon/weedle/back.png differ diff --git a/graphics/pokemon/weedle/footprint.png b/graphics/pokemon/weedle/footprint.png new file mode 100644 index 000000000..c1c0058e7 Binary files /dev/null and b/graphics/pokemon/weedle/footprint.png differ diff --git a/graphics/pokemon/weedle/front.png b/graphics/pokemon/weedle/front.png new file mode 100644 index 000000000..db4bc28f2 Binary files /dev/null and b/graphics/pokemon/weedle/front.png differ diff --git a/graphics/pokemon/weedle/icon.png b/graphics/pokemon/weedle/icon.png new file mode 100644 index 000000000..3a36001c6 Binary files /dev/null and b/graphics/pokemon/weedle/icon.png differ diff --git a/graphics/pokemon/weedle/normal.pal b/graphics/pokemon/weedle/normal.pal new file mode 100644 index 000000000..32a4c1222 --- /dev/null +++ b/graphics/pokemon/weedle/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +205 205 205 +131 131 148 +255 205 115 +238 172 65 +213 139 106 +139 41 16 +255 205 180 +230 106 106 +205 41 0 +139 41 16 +255 238 180 +238 172 115 +255 0 255 +24 24 24 diff --git a/graphics/pokemon/weedle/shiny.pal b/graphics/pokemon/weedle/shiny.pal new file mode 100644 index 000000000..8d572dc19 --- /dev/null +++ b/graphics/pokemon/weedle/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +205 205 205 +131 131 148 +255 246 106 +255 222 65 +230 180 49 +156 98 24 +246 197 213 +230 164 205 +180 115 148 +115 65 98 +255 238 180 +213 197 106 +255 0 255 +24 24 24 diff --git a/graphics/pokemon/weepinbell/back.png b/graphics/pokemon/weepinbell/back.png new file mode 100644 index 000000000..aad38d1df Binary files /dev/null and b/graphics/pokemon/weepinbell/back.png differ diff --git a/graphics/pokemon/weepinbell/footprint.png b/graphics/pokemon/weepinbell/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/weepinbell/footprint.png differ diff --git a/graphics/pokemon/weepinbell/front.png b/graphics/pokemon/weepinbell/front.png new file mode 100644 index 000000000..19b821711 Binary files /dev/null and b/graphics/pokemon/weepinbell/front.png differ diff --git a/graphics/pokemon/weepinbell/icon.png b/graphics/pokemon/weepinbell/icon.png new file mode 100644 index 000000000..eda2fd29a Binary files /dev/null and b/graphics/pokemon/weepinbell/icon.png differ diff --git a/graphics/pokemon/weepinbell/normal.pal b/graphics/pokemon/weepinbell/normal.pal new file mode 100644 index 000000000..162f84084 --- /dev/null +++ b/graphics/pokemon/weepinbell/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +246 246 246 +255 255 255 +180 131 41 +255 164 115 +238 115 65 +189 65 16 +255 230 156 +255 213 106 +238 180 0 +189 255 115 +156 213 74 +115 172 49 +82 98 41 +172 123 41 +115 82 16 +16 16 16 diff --git a/graphics/pokemon/weepinbell/shiny.pal b/graphics/pokemon/weepinbell/shiny.pal new file mode 100644 index 000000000..2c7c777e6 --- /dev/null +++ b/graphics/pokemon/weepinbell/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +246 246 246 +255 255 255 +106 139 16 +197 172 180 +156 131 139 +115 90 98 +255 255 115 +222 230 74 +180 189 32 +246 255 123 +205 238 82 +164 197 41 +74 106 0 +172 123 41 +115 82 16 +16 16 16 diff --git a/graphics/pokemon/weezing/back.png b/graphics/pokemon/weezing/back.png new file mode 100644 index 000000000..beef9e8e4 Binary files /dev/null and b/graphics/pokemon/weezing/back.png differ diff --git a/graphics/pokemon/weezing/footprint.png b/graphics/pokemon/weezing/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/weezing/footprint.png differ diff --git a/graphics/pokemon/weezing/front.png b/graphics/pokemon/weezing/front.png new file mode 100644 index 000000000..3c50aca9b Binary files /dev/null and b/graphics/pokemon/weezing/front.png differ diff --git a/graphics/pokemon/weezing/icon.png b/graphics/pokemon/weezing/icon.png new file mode 100644 index 000000000..4ef2404a9 Binary files /dev/null and b/graphics/pokemon/weezing/icon.png differ diff --git a/graphics/pokemon/weezing/normal.pal b/graphics/pokemon/weezing/normal.pal new file mode 100644 index 000000000..d3d46dd7a --- /dev/null +++ b/graphics/pokemon/weezing/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +139 205 156 +255 255 255 +230 230 230 +230 205 57 +255 230 0 +222 98 32 +164 32 0 +255 255 123 +230 213 115 +197 180 41 +238 172 197 +213 148 172 +180 106 139 +139 65 98 +98 41 65 +16 16 16 diff --git a/graphics/pokemon/weezing/shiny.pal b/graphics/pokemon/weezing/shiny.pal new file mode 100644 index 000000000..3ba9720b5 --- /dev/null +++ b/graphics/pokemon/weezing/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 205 +255 255 255 +222 222 222 +172 90 156 +205 123 172 +222 98 32 +164 32 0 +213 139 197 +180 106 164 +139 65 123 +172 222 213 +148 189 189 +106 148 148 +41 82 82 +8 49 49 +16 16 16 diff --git a/graphics/pokemon/whiscash/back.png b/graphics/pokemon/whiscash/back.png new file mode 100644 index 000000000..6aad1817d Binary files /dev/null and b/graphics/pokemon/whiscash/back.png differ diff --git a/graphics/pokemon/whiscash/footprint.png b/graphics/pokemon/whiscash/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/whiscash/footprint.png differ diff --git a/graphics/pokemon/whiscash/front.png b/graphics/pokemon/whiscash/front.png new file mode 100644 index 000000000..1262d3af8 Binary files /dev/null and b/graphics/pokemon/whiscash/front.png differ diff --git a/graphics/pokemon/whiscash/icon.png b/graphics/pokemon/whiscash/icon.png new file mode 100644 index 000000000..dcd79a540 Binary files /dev/null and b/graphics/pokemon/whiscash/icon.png differ diff --git a/graphics/pokemon/whiscash/normal.pal b/graphics/pokemon/whiscash/normal.pal new file mode 100644 index 000000000..c6b70659b --- /dev/null +++ b/graphics/pokemon/whiscash/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +164 156 90 +0 0 0 +82 98 148 +98 115 164 +115 139 180 +148 180 222 +222 164 57 +255 213 74 +172 238 255 +57 74 115 +139 106 49 +131 148 172 +131 197 230 +106 189 222 +131 222 255 +255 255 255 diff --git a/graphics/pokemon/whiscash/shiny.pal b/graphics/pokemon/whiscash/shiny.pal new file mode 100644 index 000000000..12554c568 --- /dev/null +++ b/graphics/pokemon/whiscash/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +164 156 90 +0 0 0 +57 65 82 +74 82 98 +115 106 123 +148 139 156 +222 98 49 +255 123 82 +172 238 255 +57 74 115 +180 65 49 +131 148 172 +131 197 230 +106 189 222 +131 222 255 +255 255 255 diff --git a/graphics/pokemon/whismur/back.png b/graphics/pokemon/whismur/back.png new file mode 100644 index 000000000..f13819f15 Binary files /dev/null and b/graphics/pokemon/whismur/back.png differ diff --git a/graphics/pokemon/whismur/footprint.png b/graphics/pokemon/whismur/footprint.png new file mode 100644 index 000000000..a2ad42b4c Binary files /dev/null and b/graphics/pokemon/whismur/footprint.png differ diff --git a/graphics/pokemon/whismur/front.png b/graphics/pokemon/whismur/front.png new file mode 100644 index 000000000..d12369e26 Binary files /dev/null and b/graphics/pokemon/whismur/front.png differ diff --git a/graphics/pokemon/whismur/icon.png b/graphics/pokemon/whismur/icon.png new file mode 100644 index 000000000..573dfa531 Binary files /dev/null and b/graphics/pokemon/whismur/icon.png differ diff --git a/graphics/pokemon/whismur/normal.pal b/graphics/pokemon/whismur/normal.pal new file mode 100644 index 000000000..e57bb7b39 --- /dev/null +++ b/graphics/pokemon/whismur/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 164 238 +238 148 213 +222 106 189 +189 82 139 +139 57 98 +115 8 24 +255 213 123 +246 172 57 +213 156 0 +164 115 24 +213 213 222 +156 156 164 +90 90 106 +0 0 0 diff --git a/graphics/pokemon/whismur/shiny.pal b/graphics/pokemon/whismur/shiny.pal new file mode 100644 index 000000000..395867cad --- /dev/null +++ b/graphics/pokemon/whismur/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +255 205 205 +255 172 197 +238 123 156 +222 90 115 +189 49 65 +115 8 24 +205 255 172 +148 230 148 +115 189 115 +65 139 90 +213 213 222 +156 156 164 +90 90 106 +41 41 57 diff --git a/graphics/pokemon/wigglytuff/back.png b/graphics/pokemon/wigglytuff/back.png new file mode 100644 index 000000000..e63442a9d Binary files /dev/null and b/graphics/pokemon/wigglytuff/back.png differ diff --git a/graphics/pokemon/wigglytuff/footprint.png b/graphics/pokemon/wigglytuff/footprint.png new file mode 100644 index 000000000..68ce8eda3 Binary files /dev/null and b/graphics/pokemon/wigglytuff/footprint.png differ diff --git a/graphics/pokemon/wigglytuff/front.png b/graphics/pokemon/wigglytuff/front.png new file mode 100644 index 000000000..045be7fe4 Binary files /dev/null and b/graphics/pokemon/wigglytuff/front.png differ diff --git a/graphics/pokemon/wigglytuff/icon.png b/graphics/pokemon/wigglytuff/icon.png new file mode 100644 index 000000000..adb921150 Binary files /dev/null and b/graphics/pokemon/wigglytuff/icon.png differ diff --git a/graphics/pokemon/wigglytuff/normal.pal b/graphics/pokemon/wigglytuff/normal.pal new file mode 100644 index 000000000..8751c488e --- /dev/null +++ b/graphics/pokemon/wigglytuff/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 255 +148 222 205 +230 49 49 +82 164 139 +32 90 98 +156 106 32 +115 65 24 +230 230 230 +205 205 205 +16 16 16 +255 222 205 +255 197 172 +246 148 148 +205 106 98 +156 74 74 diff --git a/graphics/pokemon/wigglytuff/shiny.pal b/graphics/pokemon/wigglytuff/shiny.pal new file mode 100644 index 000000000..e05e38f24 --- /dev/null +++ b/graphics/pokemon/wigglytuff/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 255 +98 230 131 +230 49 49 +90 197 106 +57 156 65 +156 106 32 +115 65 24 +230 230 230 +205 205 205 +16 16 16 +255 222 238 +246 197 230 +230 172 213 +180 115 164 +74 24 74 diff --git a/graphics/pokemon/wingull/back.png b/graphics/pokemon/wingull/back.png new file mode 100644 index 000000000..3ea8c6474 Binary files /dev/null and b/graphics/pokemon/wingull/back.png differ diff --git a/graphics/pokemon/wingull/footprint.png b/graphics/pokemon/wingull/footprint.png new file mode 100644 index 000000000..057b2cefa Binary files /dev/null and b/graphics/pokemon/wingull/footprint.png differ diff --git a/graphics/pokemon/wingull/front.png b/graphics/pokemon/wingull/front.png new file mode 100644 index 000000000..4d1b16ece Binary files /dev/null and b/graphics/pokemon/wingull/front.png differ diff --git a/graphics/pokemon/wingull/icon.png b/graphics/pokemon/wingull/icon.png new file mode 100644 index 000000000..524ecda23 Binary files /dev/null and b/graphics/pokemon/wingull/icon.png differ diff --git a/graphics/pokemon/wingull/normal.pal b/graphics/pokemon/wingull/normal.pal new file mode 100644 index 000000000..ce5820061 --- /dev/null +++ b/graphics/pokemon/wingull/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +156 205 255 +57 57 57 +139 139 139 +222 213 255 +197 189 230 +246 238 255 +49 82 139 +222 131 0 +255 172 49 +139 90 16 +82 115 230 +115 164 255 +98 98 98 +0 0 0 +0 0 0 +255 205 106 diff --git a/graphics/pokemon/wingull/shiny.pal b/graphics/pokemon/wingull/shiny.pal new file mode 100644 index 000000000..59785b7cb --- /dev/null +++ b/graphics/pokemon/wingull/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +156 205 255 +57 57 57 +131 156 164 +222 197 246 +205 172 230 +246 238 255 +41 106 41 +222 131 0 +255 172 49 +139 90 16 +90 156 57 +123 205 90 +98 98 98 +0 0 0 +0 0 0 +255 205 106 diff --git a/graphics/pokemon/wobbuffet/back.png b/graphics/pokemon/wobbuffet/back.png new file mode 100644 index 000000000..3f22dd4a1 Binary files /dev/null and b/graphics/pokemon/wobbuffet/back.png differ diff --git a/graphics/pokemon/wobbuffet/footprint.png b/graphics/pokemon/wobbuffet/footprint.png new file mode 100644 index 000000000..49fa6818d Binary files /dev/null and b/graphics/pokemon/wobbuffet/footprint.png differ diff --git a/graphics/pokemon/wobbuffet/front.png b/graphics/pokemon/wobbuffet/front.png new file mode 100644 index 000000000..0e3f39ae1 Binary files /dev/null and b/graphics/pokemon/wobbuffet/front.png differ diff --git a/graphics/pokemon/wobbuffet/icon.png b/graphics/pokemon/wobbuffet/icon.png new file mode 100644 index 000000000..14cddd184 Binary files /dev/null and b/graphics/pokemon/wobbuffet/icon.png differ diff --git a/graphics/pokemon/wobbuffet/normal.pal b/graphics/pokemon/wobbuffet/normal.pal new file mode 100644 index 000000000..e83cdc8c2 --- /dev/null +++ b/graphics/pokemon/wobbuffet/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 0 255 +164 16 0 +197 57 0 +222 82 0 +255 139 0 +41 74 82 +32 115 148 +74 156 189 +106 189 222 +156 213 238 +255 0 255 +16 16 16 +82 82 82 +131 131 131 +255 255 255 diff --git a/graphics/pokemon/wobbuffet/shiny.pal b/graphics/pokemon/wobbuffet/shiny.pal new file mode 100644 index 000000000..0fa077555 --- /dev/null +++ b/graphics/pokemon/wobbuffet/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 0 255 +164 16 0 +197 57 0 +222 82 0 +255 139 0 +106 57 90 +156 65 139 +205 90 189 +238 123 205 +255 164 213 +255 0 255 +16 16 16 +82 82 82 +131 131 131 +255 255 255 diff --git a/graphics/pokemon/wooper/back.png b/graphics/pokemon/wooper/back.png new file mode 100644 index 000000000..13cb768c1 Binary files /dev/null and b/graphics/pokemon/wooper/back.png differ diff --git a/graphics/pokemon/wooper/footprint.png b/graphics/pokemon/wooper/footprint.png new file mode 100644 index 000000000..5e1ba56e6 Binary files /dev/null and b/graphics/pokemon/wooper/footprint.png differ diff --git a/graphics/pokemon/wooper/front.png b/graphics/pokemon/wooper/front.png new file mode 100644 index 000000000..4562b0baa Binary files /dev/null and b/graphics/pokemon/wooper/front.png differ diff --git a/graphics/pokemon/wooper/icon.png b/graphics/pokemon/wooper/icon.png new file mode 100644 index 000000000..26e617d33 Binary files /dev/null and b/graphics/pokemon/wooper/icon.png differ diff --git a/graphics/pokemon/wooper/normal.pal b/graphics/pokemon/wooper/normal.pal new file mode 100644 index 000000000..f364d6c71 --- /dev/null +++ b/graphics/pokemon/wooper/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +148 131 164 +16 41 115 +49 74 131 +74 156 213 +139 197 246 +197 230 230 +238 172 255 +197 123 197 +148 98 164 +98 57 106 +255 0 255 +255 0 255 +255 0 255 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/wooper/shiny.pal b/graphics/pokemon/wooper/shiny.pal new file mode 100644 index 000000000..cf0a3ce59 --- /dev/null +++ b/graphics/pokemon/wooper/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +180 90 98 +123 57 49 +156 90 90 +213 156 164 +246 197 205 +255 230 213 +255 213 172 +230 148 98 +197 98 82 +131 74 74 +255 0 255 +255 0 255 +255 0 255 +16 16 16 +255 255 255 diff --git a/graphics/pokemon/wurmple/back.png b/graphics/pokemon/wurmple/back.png new file mode 100644 index 000000000..d6ef56dcd Binary files /dev/null and b/graphics/pokemon/wurmple/back.png differ diff --git a/graphics/pokemon/wurmple/footprint.png b/graphics/pokemon/wurmple/footprint.png new file mode 100644 index 000000000..3ac4abd9f Binary files /dev/null and b/graphics/pokemon/wurmple/footprint.png differ diff --git a/graphics/pokemon/wurmple/front.png b/graphics/pokemon/wurmple/front.png new file mode 100644 index 000000000..86d8bc06a Binary files /dev/null and b/graphics/pokemon/wurmple/front.png differ diff --git a/graphics/pokemon/wurmple/icon.png b/graphics/pokemon/wurmple/icon.png new file mode 100644 index 000000000..52b46b490 Binary files /dev/null and b/graphics/pokemon/wurmple/icon.png differ diff --git a/graphics/pokemon/wurmple/normal.pal b/graphics/pokemon/wurmple/normal.pal new file mode 100644 index 000000000..2fe1fd189 --- /dev/null +++ b/graphics/pokemon/wurmple/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +197 197 197 +98 82 82 +180 164 156 +255 255 255 +230 213 238 +205 82 90 +246 123 98 +246 189 139 +230 213 238 +222 213 164 +255 255 213 +148 148 0 +246 246 0 +197 197 90 +0 0 0 +24 24 24 diff --git a/graphics/pokemon/wurmple/shiny.pal b/graphics/pokemon/wurmple/shiny.pal new file mode 100644 index 000000000..3217ddc57 --- /dev/null +++ b/graphics/pokemon/wurmple/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +197 197 197 +98 82 82 +180 164 156 +255 255 255 +230 213 238 +164 82 139 +189 131 164 +222 164 197 +230 213 238 +222 213 164 +255 255 213 +148 148 0 +246 246 0 +197 197 90 +0 0 0 +24 24 24 diff --git a/graphics/pokemon/wynaut/back.png b/graphics/pokemon/wynaut/back.png new file mode 100644 index 000000000..388b1582b Binary files /dev/null and b/graphics/pokemon/wynaut/back.png differ diff --git a/graphics/pokemon/wynaut/footprint.png b/graphics/pokemon/wynaut/footprint.png new file mode 100644 index 000000000..4fe4832c0 Binary files /dev/null and b/graphics/pokemon/wynaut/footprint.png differ diff --git a/graphics/pokemon/wynaut/front.png b/graphics/pokemon/wynaut/front.png new file mode 100644 index 000000000..7b1be29f0 Binary files /dev/null and b/graphics/pokemon/wynaut/front.png differ diff --git a/graphics/pokemon/wynaut/icon.png b/graphics/pokemon/wynaut/icon.png new file mode 100644 index 000000000..cca26e1bb Binary files /dev/null and b/graphics/pokemon/wynaut/icon.png differ diff --git a/graphics/pokemon/wynaut/normal.pal b/graphics/pokemon/wynaut/normal.pal new file mode 100644 index 000000000..c37046634 --- /dev/null +++ b/graphics/pokemon/wynaut/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +197 148 98 +41 74 82 +74 156 189 +106 189 222 +156 213 238 +164 49 65 +222 90 98 +65 57 57 +131 123 123 +106 98 98 +205 205 197 +255 255 255 +57 123 164 +123 41 57 +0 0 0 +205 246 164 diff --git a/graphics/pokemon/wynaut/shiny.pal b/graphics/pokemon/wynaut/shiny.pal new file mode 100644 index 000000000..7a5032aa6 --- /dev/null +++ b/graphics/pokemon/wynaut/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +197 148 98 +106 57 90 +197 82 189 +238 123 205 +255 164 213 +164 49 65 +222 90 98 +65 57 57 +131 123 123 +106 98 98 +205 205 197 +255 255 255 +180 115 90 +123 41 57 +0 0 0 +205 246 164 diff --git a/graphics/pokemon/xatu/back.png b/graphics/pokemon/xatu/back.png new file mode 100644 index 000000000..b66774b13 Binary files /dev/null and b/graphics/pokemon/xatu/back.png differ diff --git a/graphics/pokemon/xatu/footprint.png b/graphics/pokemon/xatu/footprint.png new file mode 100644 index 000000000..44fcad1e3 Binary files /dev/null and b/graphics/pokemon/xatu/footprint.png differ diff --git a/graphics/pokemon/xatu/front.png b/graphics/pokemon/xatu/front.png new file mode 100644 index 000000000..138550b54 Binary files /dev/null and b/graphics/pokemon/xatu/front.png differ diff --git a/graphics/pokemon/xatu/icon.png b/graphics/pokemon/xatu/icon.png new file mode 100644 index 000000000..a0e6d6fc9 Binary files /dev/null and b/graphics/pokemon/xatu/icon.png differ diff --git a/graphics/pokemon/xatu/normal.pal b/graphics/pokemon/xatu/normal.pal new file mode 100644 index 000000000..b6ab27604 --- /dev/null +++ b/graphics/pokemon/xatu/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +156 230 74 +82 205 74 +74 148 65 +49 98 41 +255 222 65 +189 148 32 +139 90 0 +238 57 0 +180 49 0 +131 41 0 +205 205 205 +148 148 148 +82 82 82 +41 41 41 diff --git a/graphics/pokemon/xatu/shiny.pal b/graphics/pokemon/xatu/shiny.pal new file mode 100644 index 000000000..2dcf957e9 --- /dev/null +++ b/graphics/pokemon/xatu/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +189 255 65 +164 230 49 +115 189 8 +65 106 0 +255 222 65 +189 148 32 +139 90 0 +255 164 57 +213 106 16 +115 74 0 +205 205 205 +148 148 148 +82 82 82 +41 41 41 diff --git a/graphics/pokemon/yanma/back.png b/graphics/pokemon/yanma/back.png new file mode 100644 index 000000000..980bc86f2 Binary files /dev/null and b/graphics/pokemon/yanma/back.png differ diff --git a/graphics/pokemon/yanma/footprint.png b/graphics/pokemon/yanma/footprint.png new file mode 100644 index 000000000..20b4a00b0 Binary files /dev/null and b/graphics/pokemon/yanma/footprint.png differ diff --git a/graphics/pokemon/yanma/front.png b/graphics/pokemon/yanma/front.png new file mode 100644 index 000000000..534e873a1 Binary files /dev/null and b/graphics/pokemon/yanma/front.png differ diff --git a/graphics/pokemon/yanma/icon.png b/graphics/pokemon/yanma/icon.png new file mode 100644 index 000000000..336841a00 Binary files /dev/null and b/graphics/pokemon/yanma/icon.png differ diff --git a/graphics/pokemon/yanma/normal.pal b/graphics/pokemon/yanma/normal.pal new file mode 100644 index 000000000..a53cd19e3 --- /dev/null +++ b/graphics/pokemon/yanma/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +148 49 0 +255 0 255 +213 65 0 +255 123 65 +255 222 148 +16 16 16 +49 106 0 +82 180 32 +131 238 32 +74 74 82 +255 0 255 +115 131 139 +164 180 213 +230 255 255 +255 0 255 diff --git a/graphics/pokemon/yanma/shiny.pal b/graphics/pokemon/yanma/shiny.pal new file mode 100644 index 000000000..08b7c0cce --- /dev/null +++ b/graphics/pokemon/yanma/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +0 65 148 +255 0 255 +41 115 230 +74 180 255 +115 230 255 +16 16 16 +49 106 0 +82 180 32 +131 238 32 +74 74 82 +255 0 255 +115 131 139 +164 180 213 +230 255 255 +255 0 255 diff --git a/graphics/pokemon/zangoose/back.png b/graphics/pokemon/zangoose/back.png new file mode 100644 index 000000000..88357e182 Binary files /dev/null and b/graphics/pokemon/zangoose/back.png differ diff --git a/graphics/pokemon/zangoose/footprint.png b/graphics/pokemon/zangoose/footprint.png new file mode 100644 index 000000000..e07e58cee Binary files /dev/null and b/graphics/pokemon/zangoose/footprint.png differ diff --git a/graphics/pokemon/zangoose/front.png b/graphics/pokemon/zangoose/front.png new file mode 100644 index 000000000..b95a412bf Binary files /dev/null and b/graphics/pokemon/zangoose/front.png differ diff --git a/graphics/pokemon/zangoose/icon.png b/graphics/pokemon/zangoose/icon.png new file mode 100644 index 000000000..e0485b0b0 Binary files /dev/null and b/graphics/pokemon/zangoose/icon.png differ diff --git a/graphics/pokemon/zangoose/normal.pal b/graphics/pokemon/zangoose/normal.pal new file mode 100644 index 000000000..eb0ef7068 --- /dev/null +++ b/graphics/pokemon/zangoose/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 197 197 +255 255 255 +230 222 230 +189 172 180 +148 131 139 +106 90 98 +255 98 106 +205 90 106 +139 65 82 +255 164 148 +213 139 230 +123 106 98 +213 197 205 +0 0 0 +180 98 205 +123 57 131 diff --git a/graphics/pokemon/zangoose/shiny.pal b/graphics/pokemon/zangoose/shiny.pal new file mode 100644 index 000000000..82487aa4f --- /dev/null +++ b/graphics/pokemon/zangoose/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 197 197 +255 255 255 +230 222 230 +189 172 180 +148 131 139 +106 90 98 +49 131 197 +74 74 131 +57 57 115 +90 172 230 +255 123 82 +123 106 98 +213 197 205 +0 0 0 +222 98 49 +180 49 32 diff --git a/graphics/pokemon/zapdos/back.png b/graphics/pokemon/zapdos/back.png new file mode 100644 index 000000000..248366dc5 Binary files /dev/null and b/graphics/pokemon/zapdos/back.png differ diff --git a/graphics/pokemon/zapdos/footprint.png b/graphics/pokemon/zapdos/footprint.png new file mode 100644 index 000000000..480063a88 Binary files /dev/null and b/graphics/pokemon/zapdos/footprint.png differ diff --git a/graphics/pokemon/zapdos/front.png b/graphics/pokemon/zapdos/front.png new file mode 100644 index 000000000..2d9249027 Binary files /dev/null and b/graphics/pokemon/zapdos/front.png differ diff --git a/graphics/pokemon/zapdos/icon.png b/graphics/pokemon/zapdos/icon.png new file mode 100644 index 000000000..26fc73427 Binary files /dev/null and b/graphics/pokemon/zapdos/icon.png differ diff --git a/graphics/pokemon/zapdos/normal.pal b/graphics/pokemon/zapdos/normal.pal new file mode 100644 index 000000000..88e36bd7f --- /dev/null +++ b/graphics/pokemon/zapdos/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +131 213 123 +255 255 255 +222 222 222 +156 156 156 +65 65 65 +16 16 16 +255 0 255 +255 0 255 +255 189 57 +222 164 49 +148 90 32 +255 255 139 +255 238 0 +230 205 16 +172 139 65 +123 90 41 diff --git a/graphics/pokemon/zapdos/shiny.pal b/graphics/pokemon/zapdos/shiny.pal new file mode 100644 index 000000000..fb7840ebc --- /dev/null +++ b/graphics/pokemon/zapdos/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 213 189 +255 255 255 +222 222 222 +156 156 156 +90 90 90 +16 16 16 +255 0 255 +255 0 255 +255 106 65 +213 65 32 +156 57 41 +255 238 32 +255 197 0 +205 148 0 +156 98 0 +115 57 0 diff --git a/graphics/pokemon/zigzagoon/back.png b/graphics/pokemon/zigzagoon/back.png new file mode 100644 index 000000000..cc56c5d67 Binary files /dev/null and b/graphics/pokemon/zigzagoon/back.png differ diff --git a/graphics/pokemon/zigzagoon/footprint.png b/graphics/pokemon/zigzagoon/footprint.png new file mode 100644 index 000000000..d7373e064 Binary files /dev/null and b/graphics/pokemon/zigzagoon/footprint.png differ diff --git a/graphics/pokemon/zigzagoon/front.png b/graphics/pokemon/zigzagoon/front.png new file mode 100644 index 000000000..442a5c5aa Binary files /dev/null and b/graphics/pokemon/zigzagoon/front.png differ diff --git a/graphics/pokemon/zigzagoon/icon.png b/graphics/pokemon/zigzagoon/icon.png new file mode 100644 index 000000000..acd0ecc8c Binary files /dev/null and b/graphics/pokemon/zigzagoon/icon.png differ diff --git a/graphics/pokemon/zigzagoon/normal.pal b/graphics/pokemon/zigzagoon/normal.pal new file mode 100644 index 000000000..55f6178cb --- /dev/null +++ b/graphics/pokemon/zigzagoon/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +156 189 131 +74 65 41 +172 123 90 +205 156 123 +238 189 156 +255 238 197 +65 57 49 +106 90 74 +197 172 139 +230 213 172 +255 255 255 +164 32 0 +205 57 32 +164 148 123 +123 90 74 +16 0 0 diff --git a/graphics/pokemon/zigzagoon/shiny.pal b/graphics/pokemon/zigzagoon/shiny.pal new file mode 100644 index 000000000..fe2d3cbc9 --- /dev/null +++ b/graphics/pokemon/zigzagoon/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +156 189 131 +74 65 41 +197 98 65 +222 131 74 +238 164 74 +255 238 197 +49 49 41 +98 57 41 +197 172 139 +230 213 172 +255 255 255 +164 32 0 +205 57 32 +164 148 123 +131 82 57 +16 0 0 diff --git a/graphics/pokemon/zubat/back.png b/graphics/pokemon/zubat/back.png new file mode 100644 index 000000000..5589e5767 Binary files /dev/null and b/graphics/pokemon/zubat/back.png differ diff --git a/graphics/pokemon/zubat/footprint.png b/graphics/pokemon/zubat/footprint.png new file mode 100644 index 000000000..c7ccf57f3 Binary files /dev/null and b/graphics/pokemon/zubat/footprint.png differ diff --git a/graphics/pokemon/zubat/front.png b/graphics/pokemon/zubat/front.png new file mode 100644 index 000000000..3b1e586b5 Binary files /dev/null and b/graphics/pokemon/zubat/front.png differ diff --git a/graphics/pokemon/zubat/icon.png b/graphics/pokemon/zubat/icon.png new file mode 100644 index 000000000..696c097e1 Binary files /dev/null and b/graphics/pokemon/zubat/icon.png differ diff --git a/graphics/pokemon/zubat/normal.pal b/graphics/pokemon/zubat/normal.pal new file mode 100644 index 000000000..e9b2a3018 --- /dev/null +++ b/graphics/pokemon/zubat/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 255 +213 213 213 +98 98 98 +16 16 16 +255 0 255 +189 205 255 +139 180 238 +106 139 189 +74 65 123 +246 131 222 +213 115 189 +180 82 156 +115 32 90 +255 0 255 +255 0 255 diff --git a/graphics/pokemon/zubat/shiny.pal b/graphics/pokemon/zubat/shiny.pal new file mode 100644 index 000000000..ab2540e88 --- /dev/null +++ b/graphics/pokemon/zubat/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 230 230 +255 255 255 +213 213 213 +98 98 98 +16 16 16 +255 0 255 +148 180 98 +106 139 57 +65 98 16 +24 57 0 +238 222 213 +205 180 172 +164 139 131 +106 82 74 +255 0 255 +255 0 255 diff --git a/graphics_file_rules.mk b/graphics_file_rules.mk index 145dc0810..41b19433a 100644 --- a/graphics_file_rules.mk +++ b/graphics_file_rules.mk @@ -1,7 +1,3 @@ -MONSTILLFRONTGFXDIR := graphics/pokemon/front_pics -MONBACKGFXDIR := graphics/pokemon/back_pics -MONFRONTGFXDIR := graphics/pokemon/anim_front_pics -MONPALDIR := graphics/pokemon/palettes TILESETGFXDIR := data/tilesets GLOBALGFXDIR := data/graphics FONTGFXDIR := $(GLOBALGFXDIR)/fonts @@ -27,34 +23,29 @@ TEXTWINDOWGFXDIR := graphics/text_window types := normal fight flying poison ground rock bug ghost steel mystery fire water grass electric psychic ice dragon dark contest_types := cool beauty cute smart tough -$(MONSTILLFRONTGFXDIR)/castform_still_front_pic.4bpp: $(MONSTILLFRONTGFXDIR)/castform_normal_form_still_front_pic.4bpp \ - $(MONSTILLFRONTGFXDIR)/castform_sunny_form_still_front_pic.4bpp \ - $(MONSTILLFRONTGFXDIR)/castform_rainy_form_still_front_pic.4bpp \ - $(MONSTILLFRONTGFXDIR)/castform_snowy_form_still_front_pic.4bpp +CASTFORMGFXDIR := graphics/pokemon/castform +$(CASTFORMGFXDIR)/front.4bpp: $(CASTFORMGFXDIR)/normal/front.4bpp \ + $(CASTFORMGFXDIR)/sunny/front.4bpp \ + $(CASTFORMGFXDIR)/rainy/front.4bpp \ + $(CASTFORMGFXDIR)/snowy/front.4bpp @cat $^ >$@ -$(MONBACKGFXDIR)/castform_back_pic.4bpp: $(MONBACKGFXDIR)/castform_normal_form_back_pic.4bpp \ - $(MONBACKGFXDIR)/castform_sunny_form_back_pic.4bpp \ - $(MONBACKGFXDIR)/castform_rainy_form_back_pic.4bpp \ - $(MONBACKGFXDIR)/castform_snowy_form_back_pic.4bpp +$(CASTFORMGFXDIR)/back.4bpp: $(CASTFORMGFXDIR)/normal/back.4bpp \ + $(CASTFORMGFXDIR)/sunny/back.4bpp \ + $(CASTFORMGFXDIR)/rainy/back.4bpp \ + $(CASTFORMGFXDIR)/snowy/back.4bpp @cat $^ >$@ -$(MONFRONTGFXDIR)/castform_front_pic.4bpp: $(MONFRONTGFXDIR)/castform_normal_form_front_pic.4bpp \ - $(MONFRONTGFXDIR)/castform_sunny_form_front_pic.4bpp \ - $(MONFRONTGFXDIR)/castform_rainy_form_front_pic.4bpp \ - $(MONFRONTGFXDIR)/castform_snowy_form_front_pic.4bpp +$(CASTFORMGFXDIR)/normal.gbapal: $(CASTFORMGFXDIR)/normal/normal.gbapal \ + $(CASTFORMGFXDIR)/sunny/normal.gbapal \ + $(CASTFORMGFXDIR)/rainy/normal.gbapal \ + $(CASTFORMGFXDIR)/snowy/normal.gbapal @cat $^ >$@ -$(MONPALDIR)/castform_palette.gbapal: $(MONPALDIR)/castform_normal_form_palette.gbapal \ - $(MONPALDIR)/castform_sunny_form_palette.gbapal \ - $(MONPALDIR)/castform_rainy_form_palette.gbapal \ - $(MONPALDIR)/castform_snowy_form_palette.gbapal - @cat $^ >$@ - -$(MONPALDIR)/castform_shiny_palette.gbapal: $(MONPALDIR)/castform_normal_form_shiny_palette.gbapal \ - $(MONPALDIR)/castform_sunny_form_shiny_palette.gbapal \ - $(MONPALDIR)/castform_rainy_form_shiny_palette.gbapal \ - $(MONPALDIR)/castform_snowy_form_shiny_palette.gbapal +$(CASTFORMGFXDIR)/shiny.gbapal: $(CASTFORMGFXDIR)/normal/shiny.gbapal \ + $(CASTFORMGFXDIR)/sunny/shiny.gbapal \ + $(CASTFORMGFXDIR)/rainy/shiny.gbapal \ + $(CASTFORMGFXDIR)/snowy/shiny.gbapal @cat $^ >$@ $(FONTGFXDIR)/font0_latin.latfont: $(FONTGFXDIR)/font0_latin.png diff --git a/src/daycare.c b/src/daycare.c index 26ebedc5d..9c0db3c28 100644 --- a/src/daycare.c +++ b/src/daycare.c @@ -163,7 +163,7 @@ static const u8 *const sCompatibilityMessages[] = static const u8 sNewLineText[] = _("\n"); static const u8 sJapaneseEggNickname[] = _("タマゴ"); // "tamago" ("egg" in Japanese) -static const u16 sEggPalette[] = INCBIN_U16("graphics/pokemon/palettes/egg_palette.gbapal"); +static const u16 sEggPalette[] = INCBIN_U16("graphics/pokemon/egg/normal.gbapal"); static const u8 sEggHatchTiles[] = INCBIN_U8("graphics/misc/egg_hatch.4bpp"); static const u8 sEggShardTiles[] = INCBIN_U8("graphics/misc/egg_shard.4bpp"); diff --git a/src/egg_hatch.c b/src/egg_hatch.c index d8e1a4d55..482412179 100644 --- a/src/egg_hatch.c +++ b/src/egg_hatch.c @@ -78,7 +78,7 @@ static void CreateEggShardSprite(u8 x, u8 y, s16 data1, s16 data2, s16 data3, u8 static IWRAM_DATA struct EggHatchData *sEggHatchData; // rom data -static const u16 sEggPalette[] = INCBIN_U16("graphics/pokemon/palettes/egg_palette.gbapal"); +static const u16 sEggPalette[] = INCBIN_U16("graphics/pokemon/egg/normal.gbapal"); static const u8 sEggHatchTiles[] = INCBIN_U8("graphics/misc/egg_hatch.4bpp"); static const u8 sEggShardTiles[] = INCBIN_U8("graphics/misc/egg_shard.4bpp"); -- cgit v1.2.3 From 4ea6dcc4ab7808826d27204b6043b318b1c25dd4 Mon Sep 17 00:00:00 2001 From: garak Date: Thu, 23 May 2019 16:15:54 -0400 Subject: name battle anim globals --- asm/battle_anim.s | 140 +- asm/battle_anim_8074480.s | 208 +-- asm/battle_anim_8078178.s | 16 +- asm/battle_anim_80989F8.s | 198 +-- asm/battle_anim_80A22E8.s | 3432 ++++++++++++++++++++--------------------- asm/battle_anim_80DE2C0.s | 624 ++++---- asm/battle_anim_80EEC0C.s | 182 +-- asm/battle_anim_sound_tasks.s | 76 +- asm/battle_gfx_sfx_util.s | 16 +- sym_ewram.txt | 6 +- 10 files changed, 2449 insertions(+), 2449 deletions(-) diff --git a/asm/battle_anim.s b/asm/battle_anim.s index f65b9b705..ba5f9bc03 100644 --- a/asm/battle_anim.s +++ b/asm/battle_anim.s @@ -34,9 +34,9 @@ ClearBattleAnimationVars: @ 80724C0 ldr r5, _08072578 @ =gUnknown_2037F16 ldr r6, _0807257C @ =gUnknown_2037F17 ldr r7, _08072580 @ =gUnknown_2037F18 - ldr r0, _08072584 @ =gUnknown_2037F1A + ldr r0, _08072584 @ =gBattleAnimAttacker mov r12, r0 - ldr r1, _08072588 @ =gUnknown_2037F1B + ldr r1, _08072588 @ =gBattleAnimTarget mov r8, r1 ldr r0, _0807258C @ =gUnknown_2037F24 mov r9, r0 @@ -52,7 +52,7 @@ _0807250A: subs r2, 0x1 cmp r2, 0 bge _0807250A - ldr r1, _08072598 @ =gUnknown_2037F02 + ldr r1, _08072598 @ =gBattleAnimArgs movs r2, 0 adds r0, r1, 0 adds r0, 0xE @@ -96,12 +96,12 @@ _08072574: .4byte gUnknown_2037F14 _08072578: .4byte gUnknown_2037F16 _0807257C: .4byte gUnknown_2037F17 _08072580: .4byte gUnknown_2037F18 -_08072584: .4byte gUnknown_2037F1A -_08072588: .4byte gUnknown_2037F1B +_08072584: .4byte gBattleAnimAttacker +_08072588: .4byte gBattleAnimTarget _0807258C: .4byte gUnknown_2037F24 _08072590: .4byte 0x0000ffff _08072594: .4byte gUnknown_2037EEE -_08072598: .4byte gUnknown_2037F02 +_08072598: .4byte gBattleAnimArgs thumb_func_end ClearBattleAnimationVars thumb_func_start DoMoveAnim @@ -110,11 +110,11 @@ DoMoveAnim: @ 807259C adds r1, r0, 0 lsls r1, 16 lsrs r1, 16 - ldr r2, _080725C0 @ =gUnknown_2037F1A + ldr r2, _080725C0 @ =gBattleAnimAttacker ldr r0, _080725C4 @ =sBattler_AI ldrb r0, [r0] strb r0, [r2] - ldr r2, _080725C8 @ =gUnknown_2037F1B + ldr r2, _080725C8 @ =gBattleAnimTarget ldr r0, _080725CC @ =gBattlerTarget ldrb r0, [r0] strb r0, [r2] @@ -124,9 +124,9 @@ DoMoveAnim: @ 807259C pop {r0} bx r0 .align 2, 0 -_080725C0: .4byte gUnknown_2037F1A +_080725C0: .4byte gBattleAnimAttacker _080725C4: .4byte sBattler_AI -_080725C8: .4byte gUnknown_2037F1B +_080725C8: .4byte gBattleAnimTarget _080725CC: .4byte gBattlerTarget _080725D0: .4byte gUnknown_81C68F4 thumb_func_end DoMoveAnim @@ -206,7 +206,7 @@ _08072658: ldr r0, _080726D4 @ =gUnknown_2037EDC mov r10, r0 ldr r7, _080726D8 @ =RunAnimScriptCommand - ldr r1, _080726DC @ =gUnknown_2037F02 + ldr r1, _080726DC @ =gBattleAnimArgs movs r2, 0 adds r0, r1, 0 adds r0, 0xE @@ -257,7 +257,7 @@ _080726CC: .4byte gUnknown_2037EE1 _080726D0: .4byte gUnknown_2037EE0 _080726D4: .4byte gUnknown_2037EDC _080726D8: .4byte RunAnimScriptCommand -_080726DC: .4byte gUnknown_2037F02 +_080726DC: .4byte gBattleAnimArgs _080726E0: .4byte 0x0000ffff _080726E4: .4byte gUnknown_2037EEE _080726E8: .4byte gUnknown_81C68EC @@ -581,7 +581,7 @@ ScriptCmd_createsprite: @ 807291C cmp r0, 0 beq _0807296C adds r6, r5, 0 - ldr r5, _08072988 @ =gUnknown_2037F02 + ldr r5, _08072988 @ =gBattleAnimArgs adds r3, r0, 0 _08072954: ldr r2, [r6] @@ -610,16 +610,16 @@ _0807296C: b _0807298E .align 2, 0 _08072984: .4byte gUnknown_2037ED4 -_08072988: .4byte gUnknown_2037F02 +_08072988: .4byte gBattleAnimArgs _0807298C: negs r0, r4 _0807298E: lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _08072998 @ =gUnknown_2037F1B + ldr r0, _08072998 @ =gBattleAnimTarget b _080729AE .align 2, 0 -_08072998: .4byte gUnknown_2037F1B +_08072998: .4byte gBattleAnimTarget _0807299C: cmp r4, 0x3F bls _080729A6 @@ -631,7 +631,7 @@ _080729A6: _080729A8: lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _08072A04 @ =gUnknown_2037F1A + ldr r0, _08072A04 @ =gBattleAnimAttacker _080729AE: ldrb r0, [r0] bl sub_807685C @@ -648,7 +648,7 @@ _080729AE: bgt _080729CC movs r6, 0x3 _080729CC: - ldr r5, _08072A08 @ =gUnknown_2037F1B + ldr r5, _08072A08 @ =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 bl sub_8074480 @@ -674,8 +674,8 @@ _080729CC: pop {r0} bx r0 .align 2, 0 -_08072A04: .4byte gUnknown_2037F1A -_08072A08: .4byte gUnknown_2037F1B +_08072A04: .4byte gBattleAnimAttacker +_08072A08: .4byte gBattleAnimTarget _08072A0C: .4byte gUnknown_2037EE2 thumb_func_end ScriptCmd_createsprite @@ -707,7 +707,7 @@ ScriptCmd_createvisualtask: @ 8072A10 cmp r0, 0 beq _08072A60 adds r5, r4, 0 - ldr r4, _08072A84 @ =gUnknown_2037F02 + ldr r4, _08072A84 @ =gBattleAnimArgs adds r3, r0, 0 _08072A48: ldr r2, [r5] @@ -738,7 +738,7 @@ _08072A60: bx r0 .align 2, 0 _08072A80: .4byte gUnknown_2037ED4 -_08072A84: .4byte gUnknown_2037F02 +_08072A84: .4byte gBattleAnimArgs _08072A88: .4byte gUnknown_2037EE2 thumb_func_end ScriptCmd_createvisualtask @@ -980,12 +980,12 @@ _08072C52: cmp r6, 0x2 bne _08072C60 _08072C56: - ldr r0, _08072C5C @ =gUnknown_2037F1A + ldr r0, _08072C5C @ =gBattleAnimAttacker b _08072C62 .align 2, 0 -_08072C5C: .4byte gUnknown_2037F1A +_08072C5C: .4byte gBattleAnimAttacker _08072C60: - ldr r0, _08072CD8 @ =gUnknown_2037F1B + ldr r0, _08072CD8 @ =gBattleAnimTarget _08072C62: ldrb r5, [r0] adds r0, r5, 0 @@ -1043,7 +1043,7 @@ _08072C88: ldr r0, _08072CF0 @ =gBattle_BG1_Y b _08072CFC .align 2, 0 -_08072CD8: .4byte gUnknown_2037F1B +_08072CD8: .4byte gBattleAnimTarget _08072CDC: .4byte gUnknown_2023D44 _08072CE0: .4byte task_pA_ma0A_obj_to_bg_pal _08072CE4: .4byte gTasks @@ -1715,12 +1715,12 @@ _0807326E: cmp r4, 0x2 bne _0807327C _08073272: - ldr r0, _08073278 @ =gUnknown_2037F1A + ldr r0, _08073278 @ =gBattleAnimAttacker b _0807327E .align 2, 0 -_08073278: .4byte gUnknown_2037F1A +_08073278: .4byte gBattleAnimAttacker _0807327C: - ldr r0, _080732D4 @ =gUnknown_2037F1B + ldr r0, _080732D4 @ =gBattleAnimTarget _0807327E: ldrb r5, [r0] ldr r3, _080732D8 @ =gUnknown_2037F14 @@ -1766,7 +1766,7 @@ _080732A4: strb r1, [r0] b _080732E6 .align 2, 0 -_080732D4: .4byte gUnknown_2037F1B +_080732D4: .4byte gBattleAnimTarget _080732D8: .4byte gUnknown_2037F14 _080732DC: .4byte gSprites _080732E0: .4byte gUnknown_2023D44 @@ -1888,12 +1888,12 @@ _080733BE: cmp r5, 0x2 bne _080733CC _080733C2: - ldr r0, _080733C8 @ =gUnknown_2037F1A + ldr r0, _080733C8 @ =gBattleAnimAttacker b _080733CE .align 2, 0 -_080733C8: .4byte gUnknown_2037F1A +_080733C8: .4byte gBattleAnimAttacker _080733CC: - ldr r0, _08073474 @ =gUnknown_2037F1B + ldr r0, _08073474 @ =gBattleAnimTarget _080733CE: ldrb r4, [r0] adds r0, r4, 0 @@ -1976,7 +1976,7 @@ _08073464: pop {r0} bx r0 .align 2, 0 -_08073474: .4byte gUnknown_2037F1B +_08073474: .4byte gBattleAnimTarget _08073478: .4byte gSprites _0807347C: .4byte gUnknown_2023D44 _08073480: .4byte gUnknown_2037ED4 @@ -2007,12 +2007,12 @@ _080734A6: cmp r5, 0x2 bne _080734B4 _080734AA: - ldr r0, _080734B0 @ =gUnknown_2037F1A + ldr r0, _080734B0 @ =gBattleAnimAttacker b _080734B6 .align 2, 0 -_080734B0: .4byte gUnknown_2037F1A +_080734B0: .4byte gBattleAnimAttacker _080734B4: - ldr r0, _08073514 @ =gUnknown_2037F1B + ldr r0, _08073514 @ =gBattleAnimTarget _080734B6: ldrb r6, [r0] adds r0, r6, 0 @@ -2061,7 +2061,7 @@ _080734E0: strb r1, [r0] b _08073522 .align 2, 0 -_08073514: .4byte gUnknown_2037F1B +_08073514: .4byte gBattleAnimTarget _08073518: .4byte gSprites _0807351C: .4byte gUnknown_2023D44 _08073520: @@ -2290,7 +2290,7 @@ ScriptCmd_setarg: @ 80736AC orrs r4, r0 adds r1, 0x4 str r1, [r5] - ldr r0, _080736DC @ =gUnknown_2037F02 + ldr r0, _080736DC @ =gBattleAnimArgs lsls r2, 1 adds r2, r0 strh r4, [r2] @@ -2299,7 +2299,7 @@ ScriptCmd_setarg: @ 80736AC bx r0 .align 2, 0 _080736D8: .4byte gUnknown_2037ED4 -_080736DC: .4byte gUnknown_2037F02 +_080736DC: .4byte gBattleAnimArgs thumb_func_end ScriptCmd_setarg thumb_func_start ScriptCmd_choosetwoturnanim @@ -2469,7 +2469,7 @@ sub_80737E4: @ 80737E4 bl CreateTask lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _08073828 @ =gUnknown_2037F1B + ldr r0, _08073828 @ =gBattleAnimTarget ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -2485,7 +2485,7 @@ sub_80737E4: @ 80737E4 .align 2, 0 _08073820: .4byte gUnknown_2037ED4 _08073824: .4byte sub_8073850 -_08073828: .4byte gUnknown_2037F1B +_08073828: .4byte gBattleAnimTarget _0807382C: .4byte gTasks _08073830: ldr r1, _08073848 @ =gTasks @@ -2774,7 +2774,7 @@ sub_8073A44: @ 8073A44 lsrs r4, r0, 24 ldr r0, _08073A78 @ =gUnknown_2024018 ldr r1, [r0] - ldr r0, _08073A7C @ =gUnknown_2037F1A + ldr r0, _08073A7C @ =gBattleAnimAttacker ldrb r2, [r0] ldr r1, [r1, 0x4] lsls r0, r2, 1 @@ -2796,14 +2796,14 @@ sub_8073A44: @ 8073A44 b _08073AE6 .align 2, 0 _08073A78: .4byte gUnknown_2024018 -_08073A7C: .4byte gUnknown_2037F1A +_08073A7C: .4byte gBattleAnimAttacker _08073A80: adds r0, r2, 0 bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08073ABA - ldr r0, _08073AA8 @ =gUnknown_2037F1B + ldr r0, _08073AA8 @ =gBattleAnimTarget ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -2816,7 +2816,7 @@ _08073A80: movs r4, 0xC0 b _08073AE6 .align 2, 0 -_08073AA8: .4byte gUnknown_2037F1B +_08073AA8: .4byte gBattleAnimTarget _08073AAC: movs r0, 0x40 negs r0, r0 @@ -2826,7 +2826,7 @@ _08073AAC: lsls r0, 24 b _08073AE4 _08073ABA: - ldr r0, _08073ADC @ =gUnknown_2037F1B + ldr r0, _08073ADC @ =gBattleAnimTarget ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -2842,7 +2842,7 @@ _08073ABA: movs r4, 0x3F b _08073AE6 .align 2, 0 -_08073ADC: .4byte gUnknown_2037F1B +_08073ADC: .4byte gBattleAnimTarget _08073AE0: lsls r0, r4, 24 negs r0, r0 @@ -2876,7 +2876,7 @@ sub_8073B08: @ 8073B08 lsrs r4, r0, 24 ldr r0, _08073B3C @ =gUnknown_2024018 ldr r1, [r0] - ldr r0, _08073B40 @ =gUnknown_2037F1A + ldr r0, _08073B40 @ =gBattleAnimAttacker ldrb r2, [r0] ldr r1, [r1, 0x4] lsls r0, r2, 1 @@ -2898,7 +2898,7 @@ sub_8073B08: @ 8073B08 b _08073B56 .align 2, 0 _08073B3C: .4byte gUnknown_2024018 -_08073B40: .4byte gUnknown_2037F1A +_08073B40: .4byte gBattleAnimAttacker _08073B44: adds r0, r2, 0 bl GetBattlerSide @@ -3597,7 +3597,7 @@ ScriptCmd_createsoundtask: @ 807406C cmp r0, 0 beq _080740B6 adds r5, r4, 0 - ldr r4, _080740D8 @ =gUnknown_2037F02 + ldr r4, _080740D8 @ =gBattleAnimArgs adds r3, r0, 0 _0807409E: ldr r2, [r5] @@ -3628,7 +3628,7 @@ _080740B6: bx r0 .align 2, 0 _080740D4: .4byte gUnknown_2037ED4 -_080740D8: .4byte gUnknown_2037F02 +_080740D8: .4byte gBattleAnimArgs _080740DC: .4byte gUnknown_2037EE3 thumb_func_end ScriptCmd_createsoundtask @@ -3707,7 +3707,7 @@ ScriptCmd_jumpargeq: @ 8074164 ldrb r0, [r3, 0x2] lsls r0, 8 orrs r1, r0 - ldr r0, _080741A8 @ =gUnknown_2037F02 + ldr r0, _080741A8 @ =gBattleAnimArgs lsls r2, 1 adds r2, r0 lsls r1, 16 @@ -3730,7 +3730,7 @@ ScriptCmd_jumpargeq: @ 8074164 b _080741B2 .align 2, 0 _080741A4: .4byte gUnknown_2037ED4 -_080741A8: .4byte gUnknown_2037F02 +_080741A8: .4byte gBattleAnimArgs _080741AC: adds r0, r4, 0 adds r0, 0x8 @@ -3762,13 +3762,13 @@ sub_80741C8: @ 80741C8 str r1, [r0] cmp r2, 0 beq _080741E4 - ldr r0, _080741E0 @ =gUnknown_2037F1B + ldr r0, _080741E0 @ =gBattleAnimTarget b _080741E6 .align 2, 0 _080741DC: .4byte gUnknown_2037ED4 -_080741E0: .4byte gUnknown_2037F1B +_080741E0: .4byte gBattleAnimTarget _080741E4: - ldr r0, _08074210 @ =gUnknown_2037F1A + ldr r0, _08074210 @ =gBattleAnimAttacker _080741E6: ldrb r0, [r0] bl GetBattlerPosition @@ -3791,7 +3791,7 @@ _0807420C: pop {r0} bx r0 .align 2, 0 -_08074210: .4byte gUnknown_2037F1A +_08074210: .4byte gBattleAnimAttacker thumb_func_end sub_80741C8 thumb_func_start sub_8074214 @@ -3823,11 +3823,11 @@ sub_807423C: @ 807423C ldrb r6, [r0, 0x1] adds r0, 0x2 str r0, [r1] - ldr r7, _08074270 @ =gUnknown_2037F1A + ldr r7, _08074270 @ =gBattleAnimAttacker ldrb r0, [r7] bl GetBattlerSide adds r4, r0, 0 - ldr r5, _08074274 @ =gUnknown_2037F1B + ldr r5, _08074274 @ =gBattleAnimTarget ldrb r0, [r5] bl GetBattlerSide lsls r4, 24 @@ -3840,8 +3840,8 @@ sub_807423C: @ 807423C b _0807427A .align 2, 0 _0807426C: .4byte gUnknown_2037ED4 -_08074270: .4byte gUnknown_2037F1A -_08074274: .4byte gUnknown_2037F1B +_08074270: .4byte gBattleAnimAttacker +_08074274: .4byte gBattleAnimTarget _08074278: ldrb r0, [r7] _0807427A: @@ -3946,11 +3946,11 @@ sub_8074320: @ 8074320 lsls r0, 24 cmp r0, 0 beq _080743C2 - ldr r6, _08074368 @ =gUnknown_2037F1A + ldr r6, _08074368 @ =gBattleAnimAttacker ldrb r0, [r6] bl GetBattlerSide adds r4, r0, 0 - ldr r5, _0807436C @ =gUnknown_2037F1B + ldr r5, _0807436C @ =gBattleAnimTarget ldrb r0, [r5] bl GetBattlerSide lsls r4, 24 @@ -3967,8 +3967,8 @@ sub_8074320: @ 8074320 b _0807437C .align 2, 0 _08074364: .4byte gUnknown_2037ED4 -_08074368: .4byte gUnknown_2037F1A -_0807436C: .4byte gUnknown_2037F1B +_08074368: .4byte gBattleAnimAttacker +_0807436C: .4byte gBattleAnimTarget _08074370: ldrb r0, [r5] bl sub_80768B0 @@ -4028,11 +4028,11 @@ sub_80743C8: @ 80743C8 lsls r0, 24 cmp r0, 0 beq _0807444C - ldr r6, _08074410 @ =gUnknown_2037F1A + ldr r6, _08074410 @ =gBattleAnimAttacker ldrb r0, [r6] bl GetBattlerSide adds r4, r0, 0 - ldr r5, _08074414 @ =gUnknown_2037F1B + ldr r5, _08074414 @ =gBattleAnimTarget ldrb r0, [r5] bl GetBattlerSide lsls r4, 24 @@ -4049,8 +4049,8 @@ sub_80743C8: @ 80743C8 b _08074424 .align 2, 0 _0807440C: .4byte gUnknown_2037ED4 -_08074410: .4byte gUnknown_2037F1A -_08074414: .4byte gUnknown_2037F1B +_08074410: .4byte gBattleAnimAttacker +_08074414: .4byte gBattleAnimTarget _08074418: ldrb r0, [r5] bl sub_80768B0 diff --git a/asm/battle_anim_8074480.s b/asm/battle_anim_8074480.s index f90748d37..abd00d1c7 100644 --- a/asm/battle_anim_8074480.s +++ b/asm/battle_anim_8074480.s @@ -711,7 +711,7 @@ GetAnimBankSpriteId: @ 80749D4 adds r1, r0, 0 cmp r0, 0 bne _080749FC - ldr r4, _080749F4 @ =gUnknown_2037F1A + ldr r4, _080749F4 @ =gBattleAnimAttacker ldrb r0, [r4] bl sub_8075224 lsls r0, 24 @@ -721,12 +721,12 @@ GetAnimBankSpriteId: @ 80749D4 ldrb r0, [r4] b _08074A5A .align 2, 0 -_080749F4: .4byte gUnknown_2037F1A +_080749F4: .4byte gBattleAnimAttacker _080749F8: .4byte gUnknown_2023D44 _080749FC: cmp r0, 0x1 bne _08074A1C - ldr r4, _08074A14 @ =gUnknown_2037F1B + ldr r4, _08074A14 @ =gBattleAnimTarget ldrb r0, [r4] bl sub_8075224 lsls r0, 24 @@ -736,12 +736,12 @@ _080749FC: ldrb r0, [r4] b _08074A5A .align 2, 0 -_08074A14: .4byte gUnknown_2037F1B +_08074A14: .4byte gBattleAnimTarget _08074A18: .4byte gUnknown_2023D44 _08074A1C: cmp r1, 0x2 bne _08074A38 - ldr r5, _08074A34 @ =gUnknown_2037F1A + ldr r5, _08074A34 @ =gBattleAnimAttacker ldrb r0, [r5] movs r4, 0x2 eors r0, r4 @@ -751,9 +751,9 @@ _08074A1C: beq _08074A4A b _08074A54 .align 2, 0 -_08074A34: .4byte gUnknown_2037F1A +_08074A34: .4byte gBattleAnimAttacker _08074A38: - ldr r5, _08074A50 @ =gUnknown_2037F1B + ldr r5, _08074A50 @ =gBattleAnimTarget ldrb r0, [r5] movs r4, 0x2 eors r0, r4 @@ -765,7 +765,7 @@ _08074A4A: movs r0, 0xFF b _08074A5E .align 2, 0 -_08074A50: .4byte gUnknown_2037F1B +_08074A50: .4byte gBattleAnimTarget _08074A54: ldr r1, _08074A64 @ =gUnknown_2023D44 ldrb r0, [r5] @@ -1242,7 +1242,7 @@ sub_8074D80: @ 8074D80 ldrh r1, [r4, 0x22] adds r0, r1 strh r0, [r4, 0x34] - ldr r5, _08074DBC @ =gUnknown_2037F1B + ldr r5, _08074DBC @ =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 bl sub_8074480 @@ -1261,7 +1261,7 @@ sub_8074D80: @ 8074D80 pop {r0} bx r0 .align 2, 0 -_08074DBC: .4byte gUnknown_2037F1B +_08074DBC: .4byte gBattleAnimTarget _08074DC0: .4byte sub_8074C64 thumb_func_end sub_8074D80 @@ -1443,7 +1443,7 @@ sub_8074EF4: @ 8074EF4 ldrh r1, [r4, 0x22] adds r0, r1 strh r0, [r4, 0x34] - ldr r5, _08074F30 @ =gUnknown_2037F1A + ldr r5, _08074F30 @ =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0x2 bl sub_8074480 @@ -1462,7 +1462,7 @@ sub_8074EF4: @ 8074EF4 pop {r0} bx r0 .align 2, 0 -_08074F30: .4byte gUnknown_2037F1A +_08074F30: .4byte gBattleAnimAttacker _08074F34: .4byte sub_8074C64 thumb_func_end sub_8074EF4 @@ -1553,7 +1553,7 @@ sub_8074FA8: @ 8074FA8 sub_8074FCC: @ 8074FCC push {r4,r5,lr} adds r5, r0, 0 - ldr r4, _08074FF4 @ =gUnknown_2037F1A + ldr r4, _08074FF4 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -1570,7 +1570,7 @@ sub_8074FCC: @ 8074FCC pop {r0} bx r0 .align 2, 0 -_08074FF4: .4byte gUnknown_2037F1A +_08074FF4: .4byte gBattleAnimAttacker thumb_func_end sub_8074FCC thumb_func_start sub_8074FF8 @@ -1582,13 +1582,13 @@ sub_8074FF8: @ 8074FF8 lsls r1, 16 lsrs r5, r1, 16 mov r8, r5 - ldr r7, _08075030 @ =gUnknown_2037F1A + ldr r7, _08075030 @ =gBattleAnimAttacker ldrb r0, [r7] movs r1, 0 bl sub_8074480 lsls r0, 24 lsrs r6, r0, 24 - ldr r0, _08075034 @ =gUnknown_2037F1B + ldr r0, _08075034 @ =gBattleAnimTarget ldrb r0, [r0] movs r1, 0 bl sub_8074480 @@ -1601,8 +1601,8 @@ sub_8074FF8: @ 8074FF8 lsls r0, r5, 16 b _08075054 .align 2, 0 -_08075030: .4byte gUnknown_2037F1A -_08075034: .4byte gUnknown_2037F1B +_08075030: .4byte gBattleAnimAttacker +_08075034: .4byte gBattleAnimTarget _08075038: ldrb r0, [r7] bl GetBattlerSide @@ -1738,7 +1738,7 @@ sub_8075114: @ 8075114 lsls r1, 24 cmp r1, 0 bne _0807513C - ldr r4, _08075158 @ =gUnknown_2037F1B + ldr r4, _08075158 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0 bl sub_8074844 @@ -1752,7 +1752,7 @@ sub_8075114: @ 8075114 lsrs r0, 24 strh r0, [r5, 0x22] _0807513C: - ldr r4, _0807515C @ =gUnknown_2037F02 + ldr r4, _0807515C @ =gBattleAnimArgs movs r0, 0 ldrsh r1, [r4, r0] adds r0, r5, 0 @@ -1765,8 +1765,8 @@ _0807513C: pop {r0} bx r0 .align 2, 0 -_08075158: .4byte gUnknown_2037F1B -_0807515C: .4byte gUnknown_2037F02 +_08075158: .4byte gBattleAnimTarget +_0807515C: .4byte gBattleAnimArgs thumb_func_end sub_8075114 thumb_func_start sub_8075160 @@ -1776,7 +1776,7 @@ sub_8075160: @ 8075160 lsls r1, 24 cmp r1, 0 bne _08075184 - ldr r4, _08075180 @ =gUnknown_2037F1A + ldr r4, _08075180 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0 bl sub_8074844 @@ -1787,9 +1787,9 @@ sub_8075160: @ 8075160 movs r1, 0x1 b _08075198 .align 2, 0 -_08075180: .4byte gUnknown_2037F1A +_08075180: .4byte gBattleAnimAttacker _08075184: - ldr r4, _080751BC @ =gUnknown_2037F1A + ldr r4, _080751BC @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8074844 @@ -1803,7 +1803,7 @@ _08075198: lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] - ldr r4, _080751C0 @ =gUnknown_2037F02 + ldr r4, _080751C0 @ =gBattleAnimArgs movs r0, 0 ldrsh r1, [r4, r0] adds r0, r5, 0 @@ -1816,8 +1816,8 @@ _08075198: pop {r0} bx r0 .align 2, 0 -_080751BC: .4byte gUnknown_2037F1A -_080751C0: .4byte gUnknown_2037F02 +_080751BC: .4byte gBattleAnimAttacker +_080751C0: .4byte gBattleAnimArgs thumb_func_end sub_8075160 thumb_func_start GetBattlerSide @@ -2011,7 +2011,7 @@ sub_8075300: @ 8075300 ldr r0, _08075338 @ =gUnknown_2022BBC ldr r0, [r0] str r0, [r4, 0x4] - ldr r0, _0807533C @ =gUnknown_2037F1A + ldr r0, _0807533C @ =gBattleAnimAttacker ldrb r0, [r0] bl sub_80768B0 lsls r0, 24 @@ -2030,7 +2030,7 @@ sub_8075300: @ 8075300 .align 2, 0 _08075334: .4byte gUnknown_2022BB8 _08075338: .4byte gUnknown_2022BBC -_0807533C: .4byte gUnknown_2037F1A +_0807533C: .4byte gBattleAnimAttacker _08075340: movs r1, 0 movs r0, 0x9 @@ -3252,7 +3252,7 @@ sub_8075BE8: @ 8075BE8 _08075C1C: cmp r1, 0 beq _08075C2E - ldr r0, _08075CB0 @ =gUnknown_2037F1A + ldr r0, _08075CB0 @ =gBattleAnimAttacker ldrb r0, [r0] adds r1, r0, 0 adds r1, 0x10 @@ -3262,7 +3262,7 @@ _08075C1C: _08075C2E: cmp r2, 0 beq _08075C40 - ldr r0, _08075CB4 @ =gUnknown_2037F1B + ldr r0, _08075CB4 @ =gBattleAnimTarget ldrb r0, [r0] adds r1, r0, 0 adds r1, 0x10 @@ -3272,7 +3272,7 @@ _08075C2E: _08075C40: cmp r3, 0 beq _08075C64 - ldr r6, _08075CB0 @ =gUnknown_2037F1A + ldr r6, _08075CB0 @ =gBattleAnimAttacker ldrb r0, [r6] movs r5, 0x2 eors r0, r5 @@ -3290,7 +3290,7 @@ _08075C40: _08075C64: cmp r7, 0 beq _08075C88 - ldr r6, _08075CB4 @ =gUnknown_2037F1B + ldr r6, _08075CB4 @ =gBattleAnimTarget ldrb r0, [r6] movs r5, 0x2 eors r0, r5 @@ -3328,8 +3328,8 @@ _08075CA0: pop {r1} bx r1 .align 2, 0 -_08075CB0: .4byte gUnknown_2037F1A -_08075CB4: .4byte gUnknown_2037F1B +_08075CB0: .4byte gBattleAnimAttacker +_08075CB4: .4byte gBattleAnimTarget thumb_func_end sub_8075BE8 thumb_func_start sub_8075CB8 @@ -3454,7 +3454,7 @@ sub_8075D9C: @ 8075D9C ldrsh r0, [r4, r1] cmp r0, 0 bne _08075DDA - ldr r2, _08075DC8 @ =gUnknown_2037F02 + ldr r2, _08075DC8 @ =gBattleAnimArgs movs r3, 0x6 ldrsh r0, [r2, r3] movs r1, 0 @@ -3470,7 +3470,7 @@ _08075DB6: bl sub_8075160 b _08075DD2 .align 2, 0 -_08075DC8: .4byte gUnknown_2037F02 +_08075DC8: .4byte gBattleAnimArgs _08075DCC: adds r0, r4, 0 bl sub_8075114 @@ -3499,7 +3499,7 @@ _08075DEE: sub_8075DF4: @ 8075DF4 push {r4-r7,lr} adds r5, r0, 0 - ldr r6, _08075E6C @ =gUnknown_2037F02 + ldr r6, _08075E6C @ =gBattleAnimArgs movs r1, 0xA ldrsh r0, [r6, r1] movs r1, 0xFF @@ -3518,7 +3518,7 @@ _08075E0C: _08075E16: adds r0, r5, 0 bl sub_8075160 - ldr r0, _08075E70 @ =gUnknown_2037F1A + ldr r0, _08075E70 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -3530,7 +3530,7 @@ _08075E16: _08075E30: ldrh r0, [r6, 0x8] strh r0, [r5, 0x2E] - ldr r4, _08075E74 @ =gUnknown_2037F1B + ldr r4, _08075E74 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -3556,9 +3556,9 @@ _08075E30: pop {r0} bx r0 .align 2, 0 -_08075E6C: .4byte gUnknown_2037F02 -_08075E70: .4byte gUnknown_2037F1A -_08075E74: .4byte gUnknown_2037F1B +_08075E6C: .4byte gBattleAnimArgs +_08075E70: .4byte gBattleAnimAttacker +_08075E74: .4byte gBattleAnimTarget _08075E78: .4byte sub_8075590 _08075E7C: .4byte DestroyAnimSprite thumb_func_end sub_8075DF4 @@ -3569,21 +3569,21 @@ sub_8075E80: @ 8075E80 adds r6, r0, 0 movs r1, 0x1 bl sub_8075160 - ldr r0, _08075EE0 @ =gUnknown_2037F1A + ldr r0, _08075EE0 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08075EA0 - ldr r1, _08075EE4 @ =gUnknown_2037F02 + ldr r1, _08075EE4 @ =gBattleAnimArgs ldrh r0, [r1, 0x4] negs r0, r0 strh r0, [r1, 0x4] _08075EA0: - ldr r4, _08075EE4 @ =gUnknown_2037F02 + ldr r4, _08075EE4 @ =gBattleAnimArgs ldrh r0, [r4, 0x8] strh r0, [r6, 0x2E] - ldr r5, _08075EE8 @ =gUnknown_2037F1B + ldr r5, _08075EE8 @ =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 bl sub_8074480 @@ -3610,9 +3610,9 @@ _08075EA0: pop {r0} bx r0 .align 2, 0 -_08075EE0: .4byte gUnknown_2037F1A -_08075EE4: .4byte gUnknown_2037F02 -_08075EE8: .4byte gUnknown_2037F1B +_08075EE0: .4byte gBattleAnimAttacker +_08075EE4: .4byte gBattleAnimArgs +_08075EE8: .4byte gBattleAnimTarget _08075EEC: .4byte sub_8075EF0 thumb_func_end sub_8075E80 @@ -3636,7 +3636,7 @@ _08075F04: sub_8075F0C: @ 8075F0C push {r4-r7,lr} adds r5, r0, 0 - ldr r0, _08075F20 @ =gUnknown_2037F02 + ldr r0, _08075F20 @ =gBattleAnimArgs movs r2, 0xC ldrsh r1, [r0, r2] cmp r1, 0 @@ -3645,7 +3645,7 @@ sub_8075F0C: @ 8075F0C movs r7, 0x3 b _08075F28 .align 2, 0 -_08075F20: .4byte gUnknown_2037F02 +_08075F20: .4byte gBattleAnimArgs _08075F24: movs r4, 0 movs r7, 0x1 @@ -3657,24 +3657,24 @@ _08075F28: adds r0, r5, 0 adds r1, r4, 0 bl sub_8075160 - ldr r0, _08075F3C @ =gUnknown_2037F1A + ldr r0, _08075F3C @ =gBattleAnimAttacker b _08075F4A .align 2, 0 -_08075F3C: .4byte gUnknown_2037F1A +_08075F3C: .4byte gBattleAnimAttacker _08075F40: adds r0, r5, 0 adds r1, r4, 0 bl sub_8075114 - ldr r0, _08075FA8 @ =gUnknown_2037F1B + ldr r0, _08075FA8 @ =gBattleAnimTarget _08075F4A: ldrb r6, [r0] - ldr r0, _08075FAC @ =gUnknown_2037F1A + ldr r0, _08075FAC @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08075F62 - ldr r1, _08075FB0 @ =gUnknown_2037F02 + ldr r1, _08075FB0 @ =gBattleAnimArgs ldrh r0, [r1, 0x4] negs r0, r0 strh r0, [r1, 0x4] @@ -3682,7 +3682,7 @@ _08075F62: adds r0, r5, 0 adds r1, r4, 0 bl sub_8075114 - ldr r4, _08075FB0 @ =gUnknown_2037F02 + ldr r4, _08075FB0 @ =gBattleAnimArgs ldrh r0, [r4, 0x8] strh r0, [r5, 0x2E] adds r0, r6, 0 @@ -3710,9 +3710,9 @@ _08075F62: pop {r0} bx r0 .align 2, 0 -_08075FA8: .4byte gUnknown_2037F1B -_08075FAC: .4byte gUnknown_2037F1A -_08075FB0: .4byte gUnknown_2037F02 +_08075FA8: .4byte gBattleAnimTarget +_08075FAC: .4byte gBattleAnimAttacker +_08075FB0: .4byte gBattleAnimArgs _08075FB4: .4byte sub_8075590 _08075FB8: .4byte DestroyAnimSprite thumb_func_end sub_8075F0C @@ -3801,7 +3801,7 @@ sub_8076048: @ 8076048 lsrs r5, r0, 24 movs r6, 0 movs r3, 0 - ldr r2, _080760C0 @ =gUnknown_2037F02 + ldr r2, _080760C0 @ =gBattleAnimArgs movs r0, 0x4 ldrsh r1, [r2, r0] movs r4, 0 @@ -3860,7 +3860,7 @@ _0807607C: pop {r0} bx r0 .align 2, 0 -_080760C0: .4byte gUnknown_2037F02 +_080760C0: .4byte gBattleAnimArgs _080760C4: .4byte 0x0000ffff _080760C8: .4byte gTasks _080760CC: .4byte sub_80760D0 @@ -3952,7 +3952,7 @@ sub_807616C: @ 807616C push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _0807618C @ =gUnknown_2037F02 + ldr r0, _0807618C @ =gBattleAnimArgs ldrb r0, [r0] bl GetAnimBankSpriteId lsls r0, 24 @@ -3963,7 +3963,7 @@ sub_807616C: @ 807616C bl DestroyAnimVisualTask b _080761B6 .align 2, 0 -_0807618C: .4byte gUnknown_2037F02 +_0807618C: .4byte gBattleAnimArgs _08076190: ldr r1, _080761BC @ =gTasks lsls r0, r4, 2 @@ -3995,7 +3995,7 @@ _080761C4: .4byte 0x00000101 thumb_func_start sub_80761C8 sub_80761C8: @ 80761C8 - ldr r3, _080761E8 @ =gUnknown_2037F02 + ldr r3, _080761E8 @ =gBattleAnimArgs ldrh r1, [r3, 0x2] movs r2, 0 strh r1, [r0, 0xA] @@ -4012,7 +4012,7 @@ sub_80761C8: @ 80761C8 str r1, [r0] bx lr .align 2, 0 -_080761E8: .4byte gUnknown_2037F02 +_080761E8: .4byte gBattleAnimArgs _080761EC: .4byte sub_80761F0 thumb_func_end sub_80761C8 @@ -4099,7 +4099,7 @@ sub_8076288: @ 8076288 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _080762A8 @ =gUnknown_2037F02 + ldr r0, _080762A8 @ =gBattleAnimArgs ldrh r0, [r0] bl IndexOfSpritePaletteTag lsls r0, 24 @@ -4110,7 +4110,7 @@ sub_8076288: @ 8076288 bl DestroyAnimVisualTask b _080762C2 .align 2, 0 -_080762A8: .4byte gUnknown_2037F02 +_080762A8: .4byte gBattleAnimArgs _080762AC: ldr r1, _080762C8 @ =gTasks lsls r0, r4, 2 @@ -4680,7 +4680,7 @@ sub_80766B8: @ 80766B8 bhi _080766D6 movs r1, 0x2 _080766D6: - ldr r0, _080766E8 @ =gUnknown_2037F02 + ldr r0, _080766E8 @ =gBattleAnimArgs strh r1, [r0, 0xE] adds r0, r2, 0 bl DestroyAnimVisualTask @@ -4688,7 +4688,7 @@ _080766D6: bx r0 .align 2, 0 _080766E4: .4byte gUnknown_2037EFE -_080766E8: .4byte gUnknown_2037F02 +_080766E8: .4byte gBattleAnimArgs thumb_func_end sub_80766B8 thumb_func_start sub_80766EC @@ -4699,7 +4699,7 @@ sub_80766EC: @ 80766EC lsls r0, 24 lsrs r4, r0, 24 adds r7, r4, 0 - ldr r6, _080767E0 @ =gUnknown_2037F1B + ldr r6, _080767E0 @ =gBattleAnimTarget ldrb r0, [r6] bl sub_8072DF0 lsls r0, 24 @@ -4725,7 +4725,7 @@ sub_80766EC: @ 80766EC orrs r0, r2 strb r0, [r1, 0x5] _0807672C: - ldr r0, _080767EC @ =gUnknown_2037F1A + ldr r0, _080767EC @ =gBattleAnimAttacker mov r8, r0 ldrb r0, [r0] bl sub_8072DF0 @@ -4815,10 +4815,10 @@ _080767D4: pop {r0} bx r0 .align 2, 0 -_080767E0: .4byte gUnknown_2037F1B +_080767E0: .4byte gBattleAnimTarget _080767E4: .4byte gSprites _080767E8: .4byte gUnknown_2023D44 -_080767EC: .4byte gUnknown_2037F1A +_080767EC: .4byte gBattleAnimAttacker thumb_func_end sub_80766EC thumb_func_start sub_80767F0 @@ -5719,13 +5719,13 @@ sub_8076ED8: @ 8076ED8 push {r4,lr} adds r4, r0, 0 bl sub_8074FCC - ldr r0, _08076F10 @ =gUnknown_2037F1A + ldr r0, _08076F10 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08076F18 - ldr r2, _08076F14 @ =gUnknown_2037F02 + ldr r2, _08076F14 @ =gBattleAnimArgs ldrh r0, [r4, 0x20] ldrh r1, [r2] subs r0, r1 @@ -5742,10 +5742,10 @@ sub_8076ED8: @ 8076ED8 adds r1, r2, 0 b _08076F22 .align 2, 0 -_08076F10: .4byte gUnknown_2037F1A -_08076F14: .4byte gUnknown_2037F02 +_08076F10: .4byte gBattleAnimAttacker +_08076F14: .4byte gBattleAnimArgs _08076F18: - ldr r1, _08076F4C @ =gUnknown_2037F02 + ldr r1, _08076F4C @ =gBattleAnimArgs ldrh r0, [r1] ldrh r2, [r4, 0x20] adds r0, r2 @@ -5772,7 +5772,7 @@ _08076F22: pop {r0} bx r0 .align 2, 0 -_08076F4C: .4byte gUnknown_2037F02 +_08076F4C: .4byte gBattleAnimArgs _08076F50: .4byte move_anim_8074EE0 _08076F54: .4byte sub_8074E70 thumb_func_end sub_8076ED8 @@ -5781,13 +5781,13 @@ _08076F54: .4byte sub_8074E70 sub_8076F58: @ 8076F58 push {r4,lr} adds r4, r0, 0 - ldr r0, _08076F80 @ =gUnknown_2037F1A + ldr r0, _08076F80 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08076F88 - ldr r2, _08076F84 @ =gUnknown_2037F02 + ldr r2, _08076F84 @ =gBattleAnimArgs ldrh r0, [r4, 0x20] ldrh r1, [r2] subs r0, r1 @@ -5799,10 +5799,10 @@ sub_8076F58: @ 8076F58 adds r1, r2, 0 b _08076F92 .align 2, 0 -_08076F80: .4byte gUnknown_2037F1A -_08076F84: .4byte gUnknown_2037F02 +_08076F80: .4byte gBattleAnimAttacker +_08076F84: .4byte gBattleAnimArgs _08076F88: - ldr r1, _08076FC4 @ =gUnknown_2037F02 + ldr r1, _08076FC4 @ =gBattleAnimArgs ldrh r0, [r1] ldrh r2, [r4, 0x20] adds r0, r2 @@ -5832,7 +5832,7 @@ _08076F92: pop {r0} bx r0 .align 2, 0 -_08076FC4: .4byte gUnknown_2037F02 +_08076FC4: .4byte gBattleAnimArgs _08076FC8: .4byte move_anim_8074EE0 _08076FCC: .4byte sub_8074E70 thumb_func_end sub_8076F58 @@ -5842,23 +5842,23 @@ sub_8076FD0: @ 8076FD0 push {r4,lr} adds r4, r0, 0 bl sub_8074FCC - ldr r0, _08076FF4 @ =gUnknown_2037F1A + ldr r0, _08076FF4 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08076FFC - ldr r0, _08076FF8 @ =gUnknown_2037F02 + ldr r0, _08076FF8 @ =gBattleAnimArgs ldrh r1, [r4, 0x20] ldrh r2, [r0] subs r1, r2 strh r1, [r4, 0x20] b _08077008 .align 2, 0 -_08076FF4: .4byte gUnknown_2037F1A -_08076FF8: .4byte gUnknown_2037F02 +_08076FF4: .4byte gBattleAnimAttacker +_08076FF8: .4byte gBattleAnimArgs _08076FFC: - ldr r1, _08077024 @ =gUnknown_2037F02 + ldr r1, _08077024 @ =gBattleAnimArgs ldrh r0, [r1] ldrh r2, [r4, 0x20] adds r0, r2 @@ -5878,7 +5878,7 @@ _08077008: pop {r0} bx r0 .align 2, 0 -_08077024: .4byte gUnknown_2037F02 +_08077024: .4byte gBattleAnimArgs _08077028: .4byte sub_8074F6C _0807702C: .4byte DestroyAnimSprite thumb_func_end sub_8076FD0 @@ -5899,7 +5899,7 @@ sub_8077030: @ 8077030 lsrs r0, 24 movs r6, 0 strh r0, [r5, 0x8] - ldr r7, _080770C8 @ =gUnknown_2037F1A + ldr r7, _080770C8 @ =gBattleAnimAttacker ldrb r0, [r7] bl GetBattlerSide lsls r0, 24 @@ -5959,7 +5959,7 @@ _080770C0: b _080770D6 .align 2, 0 _080770C4: .4byte gTasks -_080770C8: .4byte gUnknown_2037F1A +_080770C8: .4byte gBattleAnimAttacker _080770CC: .4byte gSprites _080770D0: .4byte 0x00002771 _080770D4: @@ -5974,7 +5974,7 @@ _080770D6: adds r1, r2 ldr r2, _0807710C @ =0x04000008 bl CpuSet - ldr r0, _08077110 @ =gUnknown_2037F02 + ldr r0, _08077110 @ =gBattleAnimArgs ldrb r2, [r0, 0x2] ldrh r3, [r0] adds r0, r6, 0 @@ -5989,7 +5989,7 @@ _080770D6: _08077104: .4byte gPlttBufferUnfaded _08077108: .4byte gPlttBufferFaded _0807710C: .4byte 0x04000008 -_08077110: .4byte gUnknown_2037F02 +_08077110: .4byte gBattleAnimArgs _08077114: .4byte sub_8077118 thumb_func_end sub_8077030 @@ -6198,7 +6198,7 @@ _08077298: .4byte gTasks sub_807729C: @ 807729C push {r4,r5,lr} adds r5, r0, 0 - ldr r4, _080772D0 @ =gUnknown_2037F1A + ldr r4, _080772D0 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -6219,7 +6219,7 @@ sub_807729C: @ 807729C movs r0, 0x5 b _080772D6 .align 2, 0 -_080772D0: .4byte gUnknown_2037F1A +_080772D0: .4byte gBattleAnimAttacker _080772D4: ldr r0, _080772E8 @ =0x0000fff6 _080772D6: @@ -6289,7 +6289,7 @@ _08077348: sub_8077350: @ 8077350 push {r4,r5,lr} adds r4, r0, 0 - ldr r5, _08077388 @ =gUnknown_2037F02 + ldr r5, _08077388 @ =gBattleAnimArgs ldrh r0, [r5, 0x4] strh r0, [r4, 0x2E] ldrh r0, [r5, 0x8] @@ -6300,7 +6300,7 @@ sub_8077350: @ 8077350 ldrh r1, [r4, 0x22] adds r0, r1 strh r0, [r4, 0x36] - ldr r0, _0807738C @ =gUnknown_2037F1B + ldr r0, _0807738C @ =gBattleAnimTarget ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -6315,8 +6315,8 @@ sub_8077350: @ 8077350 subs r0, 0x14 b _0807739E .align 2, 0 -_08077388: .4byte gUnknown_2037F02 -_0807738C: .4byte gUnknown_2037F1B +_08077388: .4byte gBattleAnimArgs +_0807738C: .4byte gBattleAnimTarget _08077390: ldrh r0, [r5, 0x8] subs r0, 0x1E diff --git a/asm/battle_anim_8078178.s b/asm/battle_anim_8078178.s index 1080351b3..36d9c2e85 100644 --- a/asm/battle_anim_8078178.s +++ b/asm/battle_anim_8078178.s @@ -341,7 +341,7 @@ sub_80783FC: @ 80783FC push {r4-r6,lr} lsls r0, 24 lsrs r6, r0, 24 - ldr r4, _080784AC @ =gUnknown_2037F1B + ldr r4, _080784AC @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -420,7 +420,7 @@ _08078484: pop {r0} bx r0 .align 2, 0 -_080784AC: .4byte gUnknown_2037F1B +_080784AC: .4byte gBattleAnimTarget _080784B0: .4byte 0xffe00000 _080784B4: .4byte 0xffdc0000 _080784B8: .4byte 0xfffa0000 @@ -867,7 +867,7 @@ _08078830: bl DestroyAnimVisualTask b _0807885A _08078838: - ldr r0, _08078860 @ =gUnknown_2037F02 + ldr r0, _08078860 @ =gBattleAnimArgs movs r1, 0 strh r5, [r0] strh r2, [r0, 0x2] @@ -888,7 +888,7 @@ _0807885A: pop {r0} bx r0 .align 2, 0 -_08078860: .4byte gUnknown_2037F02 +_08078860: .4byte gBattleAnimArgs _08078864: .4byte gTasks _08078868: .4byte sub_80BB088 thumb_func_end sub_8078694 @@ -901,9 +901,9 @@ LaunchStatusAnimation: @ 807886C lsrs r4, 24 lsls r1, 24 lsrs r1, 24 - ldr r0, _080788A8 @ =gUnknown_2037F1A + ldr r0, _080788A8 @ =gBattleAnimAttacker strb r4, [r0] - ldr r0, _080788AC @ =gUnknown_2037F1B + ldr r0, _080788AC @ =gBattleAnimTarget strb r4, [r0] ldr r0, _080788B0 @ =gUnknown_81C6E84 movs r2, 0 @@ -923,8 +923,8 @@ LaunchStatusAnimation: @ 807886C pop {r0} bx r0 .align 2, 0 -_080788A8: .4byte gUnknown_2037F1A -_080788AC: .4byte gUnknown_2037F1B +_080788A8: .4byte gBattleAnimAttacker +_080788AC: .4byte gBattleAnimTarget _080788B0: .4byte gUnknown_81C6E84 _080788B4: .4byte task0A_80788BC _080788B8: .4byte gTasks diff --git a/asm/battle_anim_80989F8.s b/asm/battle_anim_80989F8.s index 41dc60f9f..f1a36c2d0 100644 --- a/asm/battle_anim_80989F8.s +++ b/asm/battle_anim_80989F8.s @@ -10,7 +10,7 @@ sub_80989F8: @ 80989F8 push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 - ldr r4, _08098A18 @ =gUnknown_2037F02 + ldr r4, _08098A18 @ =gBattleAnimArgs ldrb r0, [r4] bl GetAnimBankSpriteId lsls r0, 24 @@ -21,7 +21,7 @@ sub_80989F8: @ 80989F8 bl DestroyAnimVisualTask b _08098A58 .align 2, 0 -_08098A18: .4byte gUnknown_2037F02 +_08098A18: .4byte gBattleAnimArgs _08098A1C: ldr r1, _08098A60 @ =gSprites lsls r0, r2, 4 @@ -163,7 +163,7 @@ sub_8098B1C: @ 8098B1C lsls r0, 24 lsrs r5, r0, 24 movs r6, 0 - ldr r2, _08098B44 @ =gUnknown_2037F02 + ldr r2, _08098B44 @ =gBattleAnimArgs ldrh r0, [r2] movs r3, 0 ldrsh r1, [r2, r3] @@ -178,7 +178,7 @@ sub_8098B1C: @ 8098B1C bne _08098B9E b _08098BA2 .align 2, 0 -_08098B44: .4byte gUnknown_2037F02 +_08098B44: .4byte gBattleAnimArgs _08098B48: cmp r1, 0x8 beq _08098B94 @@ -224,7 +224,7 @@ _08098B88: _08098B90: .4byte gUnknown_2023D44 _08098B94: ldr r1, _08098BAC @ =gUnknown_2023D44 - ldr r0, _08098BB0 @ =gUnknown_2037F1A + ldr r0, _08098BB0 @ =gBattleAnimAttacker ldrb r0, [r0] adds r0, r1 _08098B9C: @@ -238,14 +238,14 @@ _08098BA2: b _08098BF2 .align 2, 0 _08098BAC: .4byte gUnknown_2023D44 -_08098BB0: .4byte gUnknown_2037F1A +_08098BB0: .4byte gBattleAnimAttacker _08098BB4: ldr r1, _08098BF8 @ =gSprites lsls r0, r3, 4 adds r0, r3 lsls r0, 2 adds r0, r1 - ldr r2, _08098BFC @ =gUnknown_2037F02 + ldr r2, _08098BFC @ =gBattleAnimArgs ldrh r1, [r2, 0x2] strh r1, [r0, 0x24] ldrh r1, [r2, 0x4] @@ -276,7 +276,7 @@ _08098BF2: bx r0 .align 2, 0 _08098BF8: .4byte gSprites -_08098BFC: .4byte gUnknown_2037F02 +_08098BFC: .4byte gBattleAnimArgs _08098C00: .4byte gTasks _08098C04: .4byte sub_8098C08 thumb_func_end sub_8098B1C @@ -393,7 +393,7 @@ sub_8098CD0: @ 8098CD0 push {r4-r6,lr} lsls r0, 24 lsrs r5, r0, 24 - ldr r4, _08098CF0 @ =gUnknown_2037F02 + ldr r4, _08098CF0 @ =gBattleAnimArgs ldrb r0, [r4] bl GetAnimBankSpriteId lsls r0, 24 @@ -404,7 +404,7 @@ sub_8098CD0: @ 8098CD0 bl DestroyAnimVisualTask b _08098D42 .align 2, 0 -_08098CF0: .4byte gUnknown_2037F02 +_08098CF0: .4byte gBattleAnimArgs _08098CF4: ldr r0, _08098D48 @ =gSprites lsls r1, r3, 4 @@ -624,7 +624,7 @@ sub_8098E90: @ 8098E90 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r5, _08098EE0 @ =gUnknown_2037F02 + ldr r5, _08098EE0 @ =gBattleAnimArgs ldrb r0, [r5] bl GetAnimBankSpriteId lsls r0, 24 @@ -658,7 +658,7 @@ sub_8098E90: @ 8098E90 pop {r0} bx r0 .align 2, 0 -_08098EE0: .4byte gUnknown_2037F02 +_08098EE0: .4byte gBattleAnimArgs _08098EE4: .4byte gSprites _08098EE8: .4byte gTasks _08098EEC: .4byte sub_8098EF0 @@ -750,7 +750,7 @@ sub_8098F84: @ 8098F84 lsls r0, 24 lsrs r5, r0, 24 movs r6, 0x1 - ldr r4, _08098FF8 @ =gUnknown_2037F02 + ldr r4, _08098FF8 @ =gBattleAnimArgs ldrb r0, [r4] bl GetAnimBankSpriteId lsls r0, 24 @@ -804,7 +804,7 @@ _08098FCE: pop {r0} bx r0 .align 2, 0 -_08098FF8: .4byte gUnknown_2037F02 +_08098FF8: .4byte gBattleAnimArgs _08098FFC: .4byte gTasks _08099000: .4byte sub_8099004 thumb_func_end sub_8098F84 @@ -876,13 +876,13 @@ sub_809907C: @ 809907C push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _080990A4 @ =gUnknown_2037F1A + ldr r0, _080990A4 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08099098 - ldr r1, _080990A8 @ =gUnknown_2037F02 + ldr r1, _080990A8 @ =gBattleAnimArgs ldrh r0, [r1, 0x2] negs r0, r0 strh r0, [r1, 0x2] @@ -893,8 +893,8 @@ _08099098: pop {r0} bx r0 .align 2, 0 -_080990A4: .4byte gUnknown_2037F1A -_080990A8: .4byte gUnknown_2037F02 +_080990A4: .4byte gBattleAnimAttacker +_080990A8: .4byte gBattleAnimArgs thumb_func_end sub_809907C thumb_func_start sub_80990AC @@ -907,21 +907,21 @@ sub_80990AC: @ 80990AC movs r1, 0x4 orrs r0, r1 strb r0, [r2] - ldr r0, _080990D4 @ =gUnknown_2037F1A + ldr r0, _080990D4 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080990DC - ldr r1, _080990D8 @ =gUnknown_2037F02 + ldr r1, _080990D8 @ =gBattleAnimArgs ldrh r0, [r1, 0x2] negs r0, r0 b _080990E0 .align 2, 0 -_080990D4: .4byte gUnknown_2037F1A -_080990D8: .4byte gUnknown_2037F02 +_080990D4: .4byte gBattleAnimAttacker +_080990D8: .4byte gBattleAnimArgs _080990DC: - ldr r1, _0809910C @ =gUnknown_2037F02 + ldr r1, _0809910C @ =gBattleAnimArgs ldrh r0, [r1, 0x2] _080990E0: strh r0, [r4, 0x30] @@ -930,7 +930,7 @@ _080990E0: strh r2, [r4, 0x2E] strh r0, [r4, 0x32] ldr r1, _08099110 @ =gUnknown_2023D44 - ldr r0, _08099114 @ =gUnknown_2037F1A + ldr r0, _08099114 @ =gBattleAnimAttacker ldrb r0, [r0] adds r0, r1 ldrb r0, [r0] @@ -945,9 +945,9 @@ _080990E0: pop {r0} bx r0 .align 2, 0 -_0809910C: .4byte gUnknown_2037F02 +_0809910C: .4byte gBattleAnimArgs _08099110: .4byte gUnknown_2023D44 -_08099114: .4byte gUnknown_2037F1A +_08099114: .4byte gBattleAnimAttacker _08099118: .4byte sub_8099120 _0809911C: .4byte sub_8074DC4 thumb_func_end sub_80990AC @@ -981,7 +981,7 @@ sub_8099144: @ 8099144 movs r1, 0x4 orrs r0, r1 strb r0, [r2] - ldr r5, _08099184 @ =gUnknown_2037F02 + ldr r5, _08099184 @ =gBattleAnimArgs ldrb r0, [r5, 0x4] bl GetAnimBankSpriteId lsls r0, 24 @@ -1003,7 +1003,7 @@ sub_8099144: @ 8099144 pop {r0} bx r0 .align 2, 0 -_08099184: .4byte gUnknown_2037F02 +_08099184: .4byte gBattleAnimArgs _08099188: .4byte sub_8099190 _0809918C: .4byte sub_8074DC4 thumb_func_end sub_8099144 @@ -1032,26 +1032,26 @@ sub_80991B4: @ 80991B4 push {r4-r7,lr} sub sp, 0x4 adds r6, r0, 0 - ldr r0, _080991CC @ =gUnknown_2037F02 + ldr r0, _080991CC @ =gBattleAnimArgs movs r1, 0 ldrsh r0, [r0, r1] cmp r0, 0 bne _080991D8 ldr r1, _080991D0 @ =gUnknown_2023D44 - ldr r0, _080991D4 @ =gUnknown_2037F1A + ldr r0, _080991D4 @ =gBattleAnimAttacker b _080991DC .align 2, 0 -_080991CC: .4byte gUnknown_2037F02 +_080991CC: .4byte gBattleAnimArgs _080991D0: .4byte gUnknown_2023D44 -_080991D4: .4byte gUnknown_2037F1A +_080991D4: .4byte gBattleAnimAttacker _080991D8: ldr r1, _0809923C @ =gUnknown_2023D44 - ldr r0, _08099240 @ =gUnknown_2037F1B + ldr r0, _08099240 @ =gBattleAnimTarget _080991DC: ldrb r0, [r0] adds r0, r1 ldrb r7, [r0] - ldr r5, _08099244 @ =gUnknown_2037F02 + ldr r5, _08099244 @ =gBattleAnimArgs ldrh r0, [r5, 0x4] movs r3, 0 strh r0, [r6, 0x2E] @@ -1096,15 +1096,15 @@ _080991DC: b _08099252 .align 2, 0 _0809923C: .4byte gUnknown_2023D44 -_08099240: .4byte gUnknown_2037F1B -_08099244: .4byte gUnknown_2037F02 +_08099240: .4byte gBattleAnimTarget +_08099244: .4byte gBattleAnimArgs _08099248: .4byte gSprites _0809924C: cmp r0, 0x2 bne _08099252 strh r3, [r6, 0x30] _08099252: - ldr r0, _08099268 @ =gUnknown_2037F02 + ldr r0, _08099268 @ =gBattleAnimArgs ldrh r1, [r0, 0x2] lsls r0, r7, 8 orrs r0, r1 @@ -1116,7 +1116,7 @@ _08099252: pop {r0} bx r0 .align 2, 0 -_08099268: .4byte gUnknown_2037F02 +_08099268: .4byte gBattleAnimArgs _0809926C: .4byte sub_8099270 thumb_func_end sub_80991B4 @@ -1188,18 +1188,18 @@ _080992DA: sub_80992E0: @ 80992E0 push {r4-r6,lr} adds r5, r0, 0 - ldr r0, _080992F4 @ =gUnknown_2037F02 + ldr r0, _080992F4 @ =gBattleAnimArgs movs r1, 0 ldrsh r0, [r0, r1] cmp r0, 0 bne _080992FC - ldr r0, _080992F8 @ =gUnknown_2037F1A + ldr r0, _080992F8 @ =gBattleAnimAttacker b _080992FE .align 2, 0 -_080992F4: .4byte gUnknown_2037F02 -_080992F8: .4byte gUnknown_2037F1A +_080992F4: .4byte gBattleAnimArgs +_080992F8: .4byte gBattleAnimAttacker _080992FC: - ldr r0, _0809937C @ =gUnknown_2037F1B + ldr r0, _0809937C @ =gBattleAnimTarget _080992FE: ldrb r2, [r0] ldr r0, _08099380 @ =gUnknown_2023D44 @@ -1210,7 +1210,7 @@ _080992FE: lsls r0, 24 cmp r0, 0 beq _08099328 - ldr r1, _08099384 @ =gUnknown_2037F02 + ldr r1, _08099384 @ =gBattleAnimArgs ldrh r0, [r1, 0x2] negs r0, r0 strh r0, [r1, 0x2] @@ -1222,7 +1222,7 @@ _080992FE: negs r0, r0 strh r0, [r1, 0x4] _08099328: - ldr r2, _08099384 @ =gUnknown_2037F02 + ldr r2, _08099384 @ =gBattleAnimArgs ldrh r0, [r2, 0x8] movs r4, 0 strh r0, [r5, 0x2E] @@ -1263,9 +1263,9 @@ _08099328: pop {r0} bx r0 .align 2, 0 -_0809937C: .4byte gUnknown_2037F1B +_0809937C: .4byte gBattleAnimTarget _08099380: .4byte gUnknown_2023D44 -_08099384: .4byte gUnknown_2037F02 +_08099384: .4byte gBattleAnimArgs _08099388: .4byte gSprites _0809938C: .4byte DestroyAnimSprite _08099390: .4byte sub_8074E14 @@ -1281,18 +1281,18 @@ sub_8099394: @ 8099394 movs r1, 0x4 orrs r0, r1 strb r0, [r2] - ldr r0, _080993B4 @ =gUnknown_2037F02 + ldr r0, _080993B4 @ =gBattleAnimArgs movs r1, 0 ldrsh r0, [r0, r1] cmp r0, 0 bne _080993BC - ldr r0, _080993B8 @ =gUnknown_2037F1A + ldr r0, _080993B8 @ =gBattleAnimAttacker b _080993BE .align 2, 0 -_080993B4: .4byte gUnknown_2037F02 -_080993B8: .4byte gUnknown_2037F1A +_080993B4: .4byte gBattleAnimArgs +_080993B8: .4byte gBattleAnimAttacker _080993BC: - ldr r0, _0809943C @ =gUnknown_2037F1B + ldr r0, _0809943C @ =gBattleAnimTarget _080993BE: ldrb r1, [r0] ldr r0, _08099440 @ =gUnknown_2023D44 @@ -1303,7 +1303,7 @@ _080993BE: lsls r0, 24 cmp r0, 0 beq _080993E8 - ldr r1, _08099444 @ =gUnknown_2037F02 + ldr r1, _08099444 @ =gBattleAnimArgs ldrh r0, [r1, 0x2] negs r0, r0 strh r0, [r1, 0x2] @@ -1315,7 +1315,7 @@ _080993BE: negs r0, r0 strh r0, [r1, 0x4] _080993E8: - ldr r5, _08099444 @ =gUnknown_2037F02 + ldr r5, _08099444 @ =gBattleAnimArgs ldrh r0, [r5, 0x8] strh r0, [r6, 0x2E] ldr r0, _08099448 @ =gSprites @@ -1356,9 +1356,9 @@ _080993E8: bl StoreSpriteCallbackInData6 b _08099458 .align 2, 0 -_0809943C: .4byte gUnknown_2037F1B +_0809943C: .4byte gBattleAnimTarget _08099440: .4byte gUnknown_2023D44 -_08099444: .4byte gUnknown_2037F02 +_08099444: .4byte gBattleAnimArgs _08099448: .4byte gSprites _0809944C: .4byte DestroyAnimSprite _08099450: @@ -1408,7 +1408,7 @@ sub_809949C: @ 809949C push {r4-r7,lr} lsls r0, 24 lsrs r6, r0, 24 - ldr r5, _08099520 @ =gUnknown_2037F02 + ldr r5, _08099520 @ =gBattleAnimArgs movs r0, 0x6 ldrsh r1, [r5, r0] movs r0, 0x80 @@ -1416,7 +1416,7 @@ sub_809949C: @ 809949C bl __divsi3 lsls r0, 16 lsrs r7, r0, 16 - ldr r0, _08099524 @ =gUnknown_2037F1A + ldr r0, _08099524 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -1468,8 +1468,8 @@ _080994CE: pop {r0} bx r0 .align 2, 0 -_08099520: .4byte gUnknown_2037F02 -_08099524: .4byte gUnknown_2037F1A +_08099520: .4byte gBattleAnimArgs +_08099524: .4byte gBattleAnimAttacker _08099528: .4byte gTasks _0809952C: .4byte sub_8099530 thumb_func_end sub_809949C @@ -1585,7 +1585,7 @@ sub_80995FC: @ 80995FC push {r4-r6,lr} lsls r0, 24 lsrs r6, r0, 24 - ldr r1, _08099620 @ =gUnknown_2037F02 + ldr r1, _08099620 @ =gBattleAnimArgs movs r2, 0 ldrsh r0, [r1, r2] cmp r0, 0x2 @@ -1600,18 +1600,18 @@ sub_80995FC: @ 80995FC lsrs r2, r0, 24 b _08099664 .align 2, 0 -_08099620: .4byte gUnknown_2037F02 +_08099620: .4byte gBattleAnimArgs _08099624: cmp r0, 0x3 beq _08099634 b _0809965C _0809962A: - ldr r5, _08099630 @ =gUnknown_2037F1A + ldr r5, _08099630 @ =gBattleAnimAttacker b _08099636 .align 2, 0 -_08099630: .4byte gUnknown_2037F1A +_08099630: .4byte gBattleAnimAttacker _08099634: - ldr r5, _08099654 @ =gUnknown_2037F1B + ldr r5, _08099654 @ =gBattleAnimTarget _08099636: ldrb r0, [r5] movs r4, 0x2 @@ -1627,7 +1627,7 @@ _08099636: ldrb r2, [r0] b _08099664 .align 2, 0 -_08099654: .4byte gUnknown_2037F1B +_08099654: .4byte gBattleAnimTarget _08099658: .4byte gUnknown_2023D44 _0809965C: adds r0, r6, 0 @@ -1640,21 +1640,21 @@ _08099664: lsls r0, 3 adds r5, r0, r1 strh r2, [r5, 0x8] - ldr r0, _08099688 @ =gUnknown_2037F1B + ldr r0, _08099688 @ =gBattleAnimTarget ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08099690 - ldr r0, _0809968C @ =gUnknown_2037F02 + ldr r0, _0809968C @ =gBattleAnimArgs ldrh r0, [r0, 0x2] b _08099696 .align 2, 0 _08099684: .4byte gTasks -_08099688: .4byte gUnknown_2037F1B -_0809968C: .4byte gUnknown_2037F02 +_08099688: .4byte gBattleAnimTarget +_0809968C: .4byte gBattleAnimArgs _08099690: - ldr r0, _080996AC @ =gUnknown_2037F02 + ldr r0, _080996AC @ =gBattleAnimArgs ldrh r0, [r0, 0x2] negs r0, r0 _08099696: @@ -1670,7 +1670,7 @@ _080996A4: pop {r0} bx r0 .align 2, 0 -_080996AC: .4byte gUnknown_2037F02 +_080996AC: .4byte gBattleAnimArgs _080996B0: .4byte gTasks _080996B4: .4byte sub_80996B8 thumb_func_end sub_80995FC @@ -1721,18 +1721,18 @@ sub_8099704: @ 8099704 push {r4-r6,lr} lsls r0, 24 lsrs r5, r0, 24 - ldr r6, _08099754 @ =gUnknown_2037F1A + ldr r6, _08099754 @ =gBattleAnimAttacker ldrb r0, [r6] bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08099720 - ldr r1, _08099758 @ =gUnknown_2037F02 + ldr r1, _08099758 @ =gBattleAnimArgs ldrh r0, [r1, 0x2] negs r0, r0 strh r0, [r1, 0x2] _08099720: - ldr r4, _08099758 @ =gUnknown_2037F02 + ldr r4, _08099758 @ =gBattleAnimArgs ldrb r0, [r4, 0x8] bl GetAnimBankSpriteId lsls r0, 24 @@ -1758,11 +1758,11 @@ _08099720: ldrb r0, [r6] b _08099764 .align 2, 0 -_08099754: .4byte gUnknown_2037F1A -_08099758: .4byte gUnknown_2037F02 +_08099754: .4byte gBattleAnimAttacker +_08099758: .4byte gBattleAnimArgs _0809975C: .4byte gTasks _08099760: - ldr r0, _0809977C @ =gUnknown_2037F1B + ldr r0, _0809977C @ =gBattleAnimTarget ldrb r0, [r0] _08099764: strh r0, [r2, 0x12] @@ -1778,7 +1778,7 @@ _08099764: pop {r0} bx r0 .align 2, 0 -_0809977C: .4byte gUnknown_2037F1B +_0809977C: .4byte gBattleAnimTarget _08099780: .4byte gTasks _08099784: .4byte sub_8099788 thumb_func_end sub_8099704 @@ -1944,7 +1944,7 @@ sub_80998B0: @ 80998B0 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r6, _080998FC @ =gUnknown_2037F02 + ldr r6, _080998FC @ =gBattleAnimArgs ldrb r0, [r6, 0x6] bl GetAnimBankSpriteId adds r5, r0, 0 @@ -1977,7 +1977,7 @@ sub_80998B0: @ 80998B0 pop {r0} bx r0 .align 2, 0 -_080998FC: .4byte gUnknown_2037F02 +_080998FC: .4byte gBattleAnimArgs _08099900: .4byte gTasks _08099904: .4byte sub_8099908 thumb_func_end sub_80998B0 @@ -2051,7 +2051,7 @@ sub_8099980: @ 8099980 push {r7} lsls r0, 24 lsrs r7, r0, 24 - ldr r4, _080999BC @ =gUnknown_2037F02 + ldr r4, _080999BC @ =gBattleAnimArgs ldrb r0, [r4, 0x4] bl GetAnimBankSpriteId lsls r0, 24 @@ -2075,7 +2075,7 @@ sub_8099980: @ 8099980 strh r1, [r2, 0xE] b _080999D0 .align 2, 0 -_080999BC: .4byte gUnknown_2037F02 +_080999BC: .4byte gBattleAnimArgs _080999C0: .4byte gTasks _080999C4: ldrh r0, [r4] @@ -2090,7 +2090,7 @@ _080999D0: adds r0, r4, r7 lsls r0, 3 adds r5, r0, r1 - ldr r6, _08099A00 @ =gUnknown_2037F02 + ldr r6, _08099A00 @ =gBattleAnimArgs ldrh r0, [r6, 0x2] strh r0, [r5, 0x10] mov r0, r8 @@ -2107,18 +2107,18 @@ _080999D0: b _08099A28 .align 2, 0 _080999FC: .4byte gTasks -_08099A00: .4byte gUnknown_2037F02 +_08099A00: .4byte gBattleAnimArgs _08099A04: movs r1, 0x4 ldrsh r0, [r6, r1] cmp r0, 0 bne _08099A14 - ldr r0, _08099A10 @ =gUnknown_2037F1A + ldr r0, _08099A10 @ =gBattleAnimAttacker b _08099A16 .align 2, 0 -_08099A10: .4byte gUnknown_2037F1A +_08099A10: .4byte gBattleAnimAttacker _08099A14: - ldr r0, _08099A6C @ =gUnknown_2037F1B + ldr r0, _08099A6C @ =gBattleAnimTarget _08099A16: ldrb r0, [r0] bl GetBattlerSide @@ -2165,7 +2165,7 @@ _08099A54: pop {r0} bx r0 .align 2, 0 -_08099A6C: .4byte gUnknown_2037F1B +_08099A6C: .4byte gBattleAnimTarget _08099A70: .4byte gTasks _08099A74: .4byte sub_8099B54 thumb_func_end sub_8099980 @@ -2177,7 +2177,7 @@ sub_8099A78: @ 8099A78 push {r7} lsls r0, 24 lsrs r5, r0, 24 - ldr r4, _08099AB4 @ =gUnknown_2037F02 + ldr r4, _08099AB4 @ =gBattleAnimArgs ldrb r0, [r4, 0x4] bl GetAnimBankSpriteId lsls r0, 24 @@ -2198,14 +2198,14 @@ sub_8099A78: @ 8099A78 ldrsh r0, [r4, r1] cmp r0, 0 bne _08099AC0 - ldr r0, _08099ABC @ =gUnknown_2037F1A + ldr r0, _08099ABC @ =gBattleAnimAttacker b _08099AC2 .align 2, 0 -_08099AB4: .4byte gUnknown_2037F02 +_08099AB4: .4byte gBattleAnimArgs _08099AB8: .4byte gTasks -_08099ABC: .4byte gUnknown_2037F1A +_08099ABC: .4byte gBattleAnimAttacker _08099AC0: - ldr r0, _08099AF0 @ =gUnknown_2037F1B + ldr r0, _08099AF0 @ =gBattleAnimTarget _08099AC2: ldrb r0, [r0] bl GetBattlerSide @@ -2216,7 +2216,7 @@ _08099AC2: negs r0, r0 strh r0, [r4, 0x2] _08099AD4: - ldr r0, _08099AF4 @ =gUnknown_2037F02 + ldr r0, _08099AF4 @ =gBattleAnimArgs movs r2, 0x6 ldrsh r1, [r0, r2] adds r6, r0, 0 @@ -2231,8 +2231,8 @@ _08099AD4: strh r1, [r0, 0xE] b _08099B16 .align 2, 0 -_08099AF0: .4byte gUnknown_2037F1B -_08099AF4: .4byte gUnknown_2037F02 +_08099AF0: .4byte gBattleAnimTarget +_08099AF4: .4byte gBattleAnimArgs _08099AF8: .4byte gTasks _08099AFC: ldr r3, _08099B4C @ =gTasks @@ -2356,7 +2356,7 @@ sub_8099BD4: @ 8099BD4 push {r7} lsls r0, 24 lsrs r7, r0, 24 - ldr r0, _08099C00 @ =gUnknown_2037F02 + ldr r0, _08099C00 @ =gBattleAnimArgs movs r2, 0 ldrsh r1, [r0, r2] mov r8, r0 @@ -2373,7 +2373,7 @@ sub_8099BD4: @ 8099BD4 bl __udivsi3 b _08099C20 .align 2, 0 -_08099C00: .4byte gUnknown_2037F02 +_08099C00: .4byte gBattleAnimArgs _08099C04: .4byte gTasks _08099C08: .4byte gUnknown_2037EEC _08099C0C: diff --git a/asm/battle_anim_80A22E8.s b/asm/battle_anim_80A22E8.s index bf7f547f6..fda553750 100644 --- a/asm/battle_anim_80A22E8.s +++ b/asm/battle_anim_80A22E8.s @@ -9,7 +9,7 @@ sub_80A22E8: @ 80A22E8 push {r4,r5,lr} adds r4, r0, 0 - ldr r5, _080A231C @ =gUnknown_2037F02 + ldr r5, _080A231C @ =gBattleAnimArgs ldrh r0, [r5] ldrh r1, [r4, 0x20] adds r0, r1 @@ -22,7 +22,7 @@ sub_80A22E8: @ 80A22E8 strh r0, [r4, 0x2E] ldrh r0, [r5, 0x6] strh r0, [r4, 0x30] - ldr r0, _080A2320 @ =gUnknown_2037F1A + ldr r0, _080A2320 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -32,13 +32,13 @@ sub_80A22E8: @ 80A22E8 negs r0, r0 b _080A2326 .align 2, 0 -_080A231C: .4byte gUnknown_2037F02 -_080A2320: .4byte gUnknown_2037F1A +_080A231C: .4byte gBattleAnimArgs +_080A2320: .4byte gBattleAnimAttacker _080A2324: ldrh r0, [r5, 0x8] _080A2326: strh r0, [r4, 0x34] - ldr r0, _080A2338 @ =gUnknown_2037F02 + ldr r0, _080A2338 @ =gBattleAnimArgs ldrh r0, [r0, 0xA] strh r0, [r4, 0x36] ldr r0, _080A233C @ =sub_80A2340 @@ -47,7 +47,7 @@ _080A2326: pop {r0} bx r0 .align 2, 0 -_080A2338: .4byte gUnknown_2037F02 +_080A2338: .4byte gBattleAnimArgs _080A233C: .4byte sub_80A2340 thumb_func_end sub_80A22E8 @@ -97,10 +97,10 @@ sub_80A2388: @ 80A2388 adds r4, r0, 0 movs r1, 0x1 bl sub_8075160 - ldr r0, _080A23C8 @ =gUnknown_2037F02 + ldr r0, _080A23C8 @ =gBattleAnimArgs ldrh r0, [r0, 0x4] strh r0, [r4, 0x2E] - ldr r5, _080A23CC @ =gUnknown_2037F1A + ldr r5, _080A23CC @ =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0x2 bl sub_8074480 @@ -122,8 +122,8 @@ sub_80A2388: @ 80A2388 pop {r0} bx r0 .align 2, 0 -_080A23C8: .4byte gUnknown_2037F02 -_080A23CC: .4byte gUnknown_2037F1A +_080A23C8: .4byte gBattleAnimArgs +_080A23CC: .4byte gBattleAnimAttacker _080A23D0: .4byte sub_8075590 _080A23D4: .4byte move_anim_8074EE0 thumb_func_end sub_80A2388 @@ -134,13 +134,13 @@ sub_80A23D8: @ 80A23D8 adds r4, r0, 0 movs r1, 0x1 bl sub_8075160 - ldr r5, _080A2420 @ =gUnknown_2037F02 + ldr r5, _080A2420 @ =gBattleAnimArgs ldrb r1, [r5, 0x6] adds r0, r4, 0 bl StartSpriteAnim ldrh r0, [r5, 0x4] strh r0, [r4, 0x2E] - ldr r5, _080A2424 @ =gUnknown_2037F1B + ldr r5, _080A2424 @ =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 bl sub_8074480 @@ -162,8 +162,8 @@ sub_80A23D8: @ 80A23D8 pop {r0} bx r0 .align 2, 0 -_080A2420: .4byte gUnknown_2037F02 -_080A2424: .4byte gUnknown_2037F1B +_080A2420: .4byte gBattleAnimArgs +_080A2424: .4byte gBattleAnimTarget _080A2428: .4byte sub_8075590 _080A242C: .4byte DestroyAnimSprite thumb_func_end sub_80A23D8 @@ -174,12 +174,12 @@ sub_80A2430: @ 80A2430 adds r4, r0, 0 movs r1, 0x1 bl sub_8075160 - ldr r6, _080A2480 @ =gUnknown_2037F02 + ldr r6, _080A2480 @ =gBattleAnimArgs ldrh r0, [r6, 0x4] strh r0, [r4, 0x2E] ldrh r0, [r4, 0x20] strh r0, [r4, 0x30] - ldr r5, _080A2484 @ =gUnknown_2037F1B + ldr r5, _080A2484 @ =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 bl sub_8074480 @@ -206,8 +206,8 @@ sub_80A2430: @ 80A2430 pop {r0} bx r0 .align 2, 0 -_080A2480: .4byte gUnknown_2037F02 -_080A2484: .4byte gUnknown_2037F1B +_080A2480: .4byte gBattleAnimArgs +_080A2484: .4byte gBattleAnimTarget _080A2488: .4byte sub_80A248C thumb_func_end sub_80A2430 @@ -227,15 +227,15 @@ _080A24A2: ldrsh r0, [r4, r1] cmp r0, 0x7F ble _080A24BC - ldr r0, _080A24B8 @ =gUnknown_2037F1B + ldr r0, _080A24B8 @ =gBattleAnimTarget ldrb r0, [r0] bl sub_807685C adds r0, 0x1 b _080A24C6 .align 2, 0 -_080A24B8: .4byte gUnknown_2037F1B +_080A24B8: .4byte gBattleAnimTarget _080A24BC: - ldr r0, _080A24FC @ =gUnknown_2037F1B + ldr r0, _080A24FC @ =gBattleAnimTarget ldrb r0, [r0] bl sub_807685C adds r0, 0x6 @@ -267,7 +267,7 @@ _080A24F6: pop {r0} bx r0 .align 2, 0 -_080A24FC: .4byte gUnknown_2037F1B +_080A24FC: .4byte gBattleAnimTarget thumb_func_end sub_80A248C thumb_func_start sub_80A2500 @@ -296,7 +296,7 @@ sub_80A2500: @ 80A2500 strh r0, [r5, 0xA] movs r0, 0x6 strh r0, [r5, 0x8] - ldr r1, _080A2574 @ =gUnknown_2037F02 + ldr r1, _080A2574 @ =gBattleAnimArgs movs r0, 0xF strh r0, [r1] strh r2, [r1, 0x2] @@ -304,7 +304,7 @@ sub_80A2500: @ 80A2500 strh r0, [r1, 0x4] strh r2, [r1, 0x6] ldr r4, _080A2578 @ =gUnknown_83E2A88 - ldr r0, _080A257C @ =gUnknown_2037F1B + ldr r0, _080A257C @ =gBattleAnimTarget ldrb r0, [r0] bl sub_807685C adds r3, r0, 0 @@ -328,9 +328,9 @@ _080A2568: bx r0 .align 2, 0 _080A2570: .4byte gTasks -_080A2574: .4byte gUnknown_2037F02 +_080A2574: .4byte gBattleAnimArgs _080A2578: .4byte gUnknown_83E2A88 -_080A257C: .4byte gUnknown_2037F1B +_080A257C: .4byte gBattleAnimTarget thumb_func_end sub_80A2500 thumb_func_start sub_80A2580 @@ -339,10 +339,10 @@ sub_80A2580: @ 80A2580 adds r4, r0, 0 movs r1, 0x1 bl sub_8075114 - ldr r6, _080A25C4 @ =gUnknown_2037F02 + ldr r6, _080A25C4 @ =gBattleAnimArgs ldrh r0, [r6, 0x6] strh r0, [r4, 0x2E] - ldr r5, _080A25C8 @ =gUnknown_2037F1A + ldr r5, _080A25C8 @ =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0x2 bl sub_8074480 @@ -365,8 +365,8 @@ sub_80A2580: @ 80A2580 pop {r0} bx r0 .align 2, 0 -_080A25C4: .4byte gUnknown_2037F02 -_080A25C8: .4byte gUnknown_2037F1A +_080A25C4: .4byte gBattleAnimArgs +_080A25C8: .4byte gBattleAnimAttacker _080A25CC: .4byte sub_80A25D0 thumb_func_end sub_80A2580 @@ -398,7 +398,7 @@ sub_80A25EC: @ 80A25EC ands r1, r0 adds r0, r5, 0 bl StartSpriteAnim - ldr r4, _080A2634 @ =gUnknown_2037F1A + ldr r4, _080A2634 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -420,7 +420,7 @@ sub_80A25EC: @ 80A25EC subs r0, 0x14 b _080A263C .align 2, 0 -_080A2634: .4byte gUnknown_2037F1A +_080A2634: .4byte gBattleAnimAttacker _080A2638: ldrh r0, [r5, 0x20] adds r0, 0x14 @@ -435,7 +435,7 @@ _080A263C: strh r0, [r5, 0x2E] ldrh r0, [r5, 0x20] strh r0, [r5, 0x30] - ldr r4, _080A269C @ =gUnknown_2037F1B + ldr r4, _080A269C @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -468,7 +468,7 @@ _080A263C: pop {r0} bx r0 .align 2, 0 -_080A269C: .4byte gUnknown_2037F1B +_080A269C: .4byte gBattleAnimTarget _080A26A0: .4byte sub_80A26A4 thumb_func_end sub_80A25EC @@ -521,21 +521,21 @@ sub_80A26F0: @ 80A26F0 adds r6, r0, 0 movs r1, 0x1 bl sub_8075160 - ldr r0, _080A2750 @ =gUnknown_2037F1A + ldr r0, _080A2750 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080A2710 - ldr r1, _080A2754 @ =gUnknown_2037F02 + ldr r1, _080A2754 @ =gBattleAnimArgs ldrh r0, [r1, 0x4] negs r0, r0 strh r0, [r1, 0x4] _080A2710: - ldr r4, _080A2754 @ =gUnknown_2037F02 + ldr r4, _080A2754 @ =gBattleAnimArgs ldrh r0, [r4, 0x8] strh r0, [r6, 0x2E] - ldr r5, _080A2758 @ =gUnknown_2037F1B + ldr r5, _080A2758 @ =gBattleAnimTarget ldrb r0, [r5] movs r1, 0 bl sub_8074480 @@ -562,9 +562,9 @@ _080A2710: pop {r0} bx r0 .align 2, 0 -_080A2750: .4byte gUnknown_2037F1A -_080A2754: .4byte gUnknown_2037F02 -_080A2758: .4byte gUnknown_2037F1B +_080A2750: .4byte gBattleAnimAttacker +_080A2754: .4byte gBattleAnimArgs +_080A2758: .4byte gBattleAnimTarget _080A275C: .4byte sub_80A2760 thumb_func_end sub_80A26F0 @@ -633,7 +633,7 @@ sub_80A27D0: @ 80A27D0 adds r4, r0, 0 movs r1, 0x1 bl sub_8075114 - ldr r5, _080A2814 @ =gUnknown_2037F02 + ldr r5, _080A2814 @ =gBattleAnimArgs ldrb r1, [r5, 0x8] adds r0, r4, 0 bl StartSpriteAnim @@ -661,7 +661,7 @@ _080A27FA: pop {r0} bx r0 .align 2, 0 -_080A2814: .4byte gUnknown_2037F02 +_080A2814: .4byte gBattleAnimArgs _080A2818: .4byte sub_80A281C thumb_func_end sub_80A27D0 @@ -692,7 +692,7 @@ sub_80A281C: @ 80A281C lsrs r0, 16 cmp r0, 0x7F bhi _080A2870 - ldr r0, _080A286C @ =gUnknown_2037F1B + ldr r0, _080A286C @ =gBattleAnimTarget ldrb r0, [r0] bl sub_8076884 movs r1, 0x3 @@ -705,9 +705,9 @@ sub_80A281C: @ 80A281C orrs r0, r1 b _080A2894 .align 2, 0 -_080A286C: .4byte gUnknown_2037F1B +_080A286C: .4byte gBattleAnimTarget _080A2870: - ldr r0, _080A28C0 @ =gUnknown_2037F1B + ldr r0, _080A28C0 @ =gBattleAnimTarget ldrb r0, [r0] bl sub_8076884 adds r0, 0x1 @@ -748,7 +748,7 @@ _080A28B8: pop {r0} bx r0 .align 2, 0 -_080A28C0: .4byte gUnknown_2037F1B +_080A28C0: .4byte gBattleAnimTarget thumb_func_end sub_80A281C thumb_func_start sub_80A28C4 @@ -769,7 +769,7 @@ _080A28DE: bl DestroyAnimVisualTask b _080A2918 _080A28E6: - ldr r0, _080A2904 @ =gUnknown_2037F1B + ldr r0, _080A2904 @ =gBattleAnimTarget ldrb r0, [r0] bl sub_80768B0 lsls r0, 24 @@ -782,7 +782,7 @@ _080A28E6: bl SetAnimBgAttribute b _080A2912 .align 2, 0 -_080A2904: .4byte gUnknown_2037F1B +_080A2904: .4byte gBattleAnimTarget _080A2908: movs r0, 0x1 movs r1, 0x4 @@ -803,7 +803,7 @@ sub_80A2920: @ 80A2920 adds r4, r0, 0 movs r1, 0 bl sub_8075160 - ldr r5, _080A2968 @ =gUnknown_2037F02 + ldr r5, _080A2968 @ =gBattleAnimArgs ldrh r0, [r5, 0x6] strh r0, [r4, 0x2E] ldrh r0, [r4, 0x20] @@ -811,7 +811,7 @@ sub_80A2920: @ 80A2920 strh r0, [r4, 0x32] ldrh r0, [r4, 0x22] strh r0, [r4, 0x34] - ldr r0, _080A296C @ =gUnknown_2037F1A + ldr r0, _080A296C @ =gBattleAnimAttacker ldrb r0, [r0] movs r1, 0x3 bl sub_8074480 @@ -832,8 +832,8 @@ sub_80A2920: @ 80A2920 pop {r0} bx r0 .align 2, 0 -_080A2968: .4byte gUnknown_2037F02 -_080A296C: .4byte gUnknown_2037F1A +_080A2968: .4byte gBattleAnimArgs +_080A296C: .4byte gBattleAnimAttacker _080A2970: .4byte sub_80A2974 thumb_func_end sub_80A2920 @@ -866,15 +866,15 @@ sub_80A2974: @ 80A2974 lsrs r0, 16 cmp r0, 0x7F bhi _080A29C0 - ldr r0, _080A29BC @ =gUnknown_2037F1A + ldr r0, _080A29BC @ =gBattleAnimAttacker ldrb r0, [r0] bl sub_807685C subs r0, 0x1 b _080A29CA .align 2, 0 -_080A29BC: .4byte gUnknown_2037F1A +_080A29BC: .4byte gBattleAnimAttacker _080A29C0: - ldr r0, _080A29DC @ =gUnknown_2037F1A + ldr r0, _080A29DC @ =gBattleAnimAttacker ldrb r0, [r0] bl sub_807685C adds r0, 0x1 @@ -889,7 +889,7 @@ _080A29CA: strh r0, [r4, 0x38] b _080A29E6 .align 2, 0 -_080A29DC: .4byte gUnknown_2037F1A +_080A29DC: .4byte gBattleAnimAttacker _080A29E0: adds r0, r4, 0 bl DestroyAnimSprite @@ -905,7 +905,7 @@ sub_80A29EC: @ 80A29EC adds r4, r0, 0 movs r1, 0x1 bl sub_8075160 - ldr r5, _080A2A34 @ =gUnknown_2037F02 + ldr r5, _080A2A34 @ =gBattleAnimArgs ldrh r0, [r5, 0x6] strh r0, [r4, 0x2E] ldrh r0, [r4, 0x20] @@ -913,7 +913,7 @@ sub_80A29EC: @ 80A29EC strh r0, [r4, 0x32] ldrh r0, [r4, 0x22] strh r0, [r4, 0x34] - ldr r0, _080A2A38 @ =gUnknown_2037F1A + ldr r0, _080A2A38 @ =gBattleAnimAttacker ldrb r0, [r0] movs r1, 0x3 bl sub_8074480 @@ -934,8 +934,8 @@ sub_80A29EC: @ 80A29EC pop {r0} bx r0 .align 2, 0 -_080A2A34: .4byte gUnknown_2037F02 -_080A2A38: .4byte gUnknown_2037F1A +_080A2A34: .4byte gBattleAnimArgs +_080A2A38: .4byte gBattleAnimAttacker _080A2A3C: .4byte sub_80A2A40 thumb_func_end sub_80A29EC @@ -998,7 +998,7 @@ _080A2A9E: sub_80A2AA4: @ 80A2AA4 push {r4,r5,lr} adds r4, r0, 0 - ldr r5, _080A2AE0 @ =gUnknown_2037F1A + ldr r5, _080A2AE0 @ =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0x2 bl sub_8074480 @@ -1011,7 +1011,7 @@ sub_80A2AA4: @ 80A2AA4 lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x22] - ldr r1, _080A2AE4 @ =gUnknown_2037F02 + ldr r1, _080A2AE4 @ =gBattleAnimArgs ldrh r0, [r1] strh r0, [r4, 0x2E] ldrh r0, [r1, 0x2] @@ -1024,8 +1024,8 @@ sub_80A2AA4: @ 80A2AA4 pop {r0} bx r0 .align 2, 0 -_080A2AE0: .4byte gUnknown_2037F1A -_080A2AE4: .4byte gUnknown_2037F02 +_080A2AE0: .4byte gBattleAnimAttacker +_080A2AE4: .4byte gBattleAnimArgs _080A2AE8: .4byte sub_80A2AEC thumb_func_end sub_80A2AA4 @@ -1078,7 +1078,7 @@ _080A2B34: sub_80A2B38: @ 80A2B38 push {r4,lr} adds r4, r0, 0 - ldr r0, _080A2B58 @ =gUnknown_2037F1A + ldr r0, _080A2B58 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -1091,7 +1091,7 @@ sub_80A2B38: @ 80A2B38 negs r0, r0 b _080A2B66 .align 2, 0 -_080A2B58: .4byte gUnknown_2037F1A +_080A2B58: .4byte gBattleAnimAttacker _080A2B5C: movs r1, 0x2E ldrsh r0, [r4, r1] @@ -1133,25 +1133,25 @@ sub_80A2B9C: @ 80A2B9C adds r5, r0, 0 movs r1, 0x1 bl sub_8075160 - ldr r0, _080A2BF0 @ =gUnknown_2037F1A + ldr r0, _080A2BF0 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080A2BBC - ldr r1, _080A2BF4 @ =gUnknown_2037F02 + ldr r1, _080A2BF4 @ =gBattleAnimArgs ldrh r0, [r1, 0x4] negs r0, r0 strh r0, [r1, 0x4] _080A2BBC: - ldr r6, _080A2BF4 @ =gUnknown_2037F02 + ldr r6, _080A2BF4 @ =gBattleAnimArgs ldrh r0, [r6, 0x8] strh r0, [r5, 0x2E] movs r1, 0xC ldrsh r0, [r6, r1] cmp r0, 0 bne _080A2BFC - ldr r4, _080A2BF8 @ =gUnknown_2037F1B + ldr r4, _080A2BF8 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -1169,11 +1169,11 @@ _080A2BBC: adds r0, r6 b _080A2C1C .align 2, 0 -_080A2BF0: .4byte gUnknown_2037F1A -_080A2BF4: .4byte gUnknown_2037F02 -_080A2BF8: .4byte gUnknown_2037F1B +_080A2BF0: .4byte gBattleAnimAttacker +_080A2BF4: .4byte gBattleAnimArgs +_080A2BF8: .4byte gBattleAnimTarget _080A2BFC: - ldr r0, _080A2C48 @ =gUnknown_2037F1B + ldr r0, _080A2C48 @ =gBattleAnimTarget ldrb r0, [r0] adds r2, r5, 0 adds r2, 0x32 @@ -1190,16 +1190,16 @@ _080A2BFC: adds r0, r1 _080A2C1C: strh r0, [r5, 0x36] - ldr r0, _080A2C4C @ =gUnknown_2037F02 + ldr r0, _080A2C4C @ =gBattleAnimArgs ldrh r0, [r0, 0xA] strh r0, [r5, 0x38] adds r0, r5, 0 bl sub_8075068 - ldr r0, _080A2C50 @ =gUnknown_2037F1A + ldr r0, _080A2C50 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide adds r4, r0, 0 - ldr r0, _080A2C48 @ =gUnknown_2037F1B + ldr r0, _080A2C48 @ =gBattleAnimTarget ldrb r0, [r0] bl GetBattlerSide lsls r4, 24 @@ -1209,9 +1209,9 @@ _080A2C1C: movs r0, 0x1 b _080A2C56 .align 2, 0 -_080A2C48: .4byte gUnknown_2037F1B -_080A2C4C: .4byte gUnknown_2037F02 -_080A2C50: .4byte gUnknown_2037F1A +_080A2C48: .4byte gBattleAnimTarget +_080A2C4C: .4byte gBattleAnimArgs +_080A2C50: .4byte gBattleAnimAttacker _080A2C54: movs r0, 0 _080A2C56: @@ -1329,7 +1329,7 @@ sub_80A2D10: @ 80A2D10 lsrs r0, 24 cmp r0, 0x1 bne _080A2D3C - ldr r0, _080A2D64 @ =gUnknown_2037F1B + ldr r0, _080A2D64 @ =gBattleAnimTarget ldrb r0, [r0] adds r2, r4, 0 adds r2, 0x20 @@ -1341,7 +1341,7 @@ _080A2D3C: ldrh r0, [r4, 0x22] adds r0, 0x20 strh r0, [r4, 0x22] - ldr r1, _080A2D68 @ =gUnknown_2037F02 + ldr r1, _080A2D68 @ =gBattleAnimArgs ldrh r0, [r1] strh r0, [r4, 0x2E] ldrh r0, [r1, 0x2] @@ -1358,8 +1358,8 @@ _080A2D3C: pop {r0} bx r0 .align 2, 0 -_080A2D64: .4byte gUnknown_2037F1B -_080A2D68: .4byte gUnknown_2037F02 +_080A2D64: .4byte gBattleAnimTarget +_080A2D68: .4byte gBattleAnimArgs _080A2D6C: .4byte sub_80A2D70 thumb_func_end sub_80A2D10 @@ -1417,7 +1417,7 @@ _080A2DAC: ldrsh r0, [r4, r1] cmp r0, 0x7F bgt _080A2DEC - ldr r0, _080A2DE8 @ =gUnknown_2037F1B + ldr r0, _080A2DE8 @ =gBattleAnimTarget ldrb r0, [r0] bl sub_8076884 lsls r0, 24 @@ -1425,9 +1425,9 @@ _080A2DAC: subs r0, 0x1 b _080A2DFA .align 2, 0 -_080A2DE8: .4byte gUnknown_2037F1B +_080A2DE8: .4byte gBattleAnimTarget _080A2DEC: - ldr r0, _080A2E24 @ =gUnknown_2037F1B + ldr r0, _080A2E24 @ =gBattleAnimTarget ldrb r0, [r0] bl sub_8076884 lsls r0, 24 @@ -1456,7 +1456,7 @@ _080A2E1E: pop {r0} bx r0 .align 2, 0 -_080A2E24: .4byte gUnknown_2037F1B +_080A2E24: .4byte gBattleAnimTarget thumb_func_end sub_80A2D70 thumb_func_start sub_80A2E28 @@ -1471,7 +1471,7 @@ sub_80A2E28: @ 80A2E28 movs r1, 0x80 orrs r0, r1 strb r0, [r2] - ldr r4, _080A2E5C @ =gUnknown_2037F02 + ldr r4, _080A2E5C @ =gBattleAnimArgs ldrb r1, [r4, 0x4] adds r0, r5, 0 bl StartSpriteAffineAnim @@ -1485,7 +1485,7 @@ sub_80A2E28: @ 80A2E28 pop {r0} bx r0 .align 2, 0 -_080A2E5C: .4byte gUnknown_2037F02 +_080A2E5C: .4byte gBattleAnimArgs _080A2E60: .4byte sub_80A2E64 thumb_func_end sub_80A2E28 @@ -1493,7 +1493,7 @@ _080A2E60: .4byte sub_80A2E64 sub_80A2E64: @ 80A2E64 push {r4,lr} adds r4, r0, 0 - ldr r0, _080A2E94 @ =gUnknown_2037F02 + ldr r0, _080A2E94 @ =gBattleAnimArgs ldrh r1, [r0, 0xE] ldr r0, _080A2E98 @ =0x0000ffff cmp r1, r0 @@ -1516,7 +1516,7 @@ _080A2E8E: pop {r0} bx r0 .align 2, 0 -_080A2E94: .4byte gUnknown_2037F02 +_080A2E94: .4byte gBattleAnimArgs _080A2E98: .4byte 0x0000ffff _080A2E9C: .4byte sub_80A2EA0 thumb_func_end sub_80A2E64 @@ -1614,7 +1614,7 @@ _080A2F3C: adds r0, r4 lsls r0, 3 adds r0, r1 - ldr r2, _080A2F6C @ =gUnknown_2037F02 + ldr r2, _080A2F6C @ =gBattleAnimArgs ldrh r1, [r2] strh r1, [r0, 0x8] ldrh r1, [r2, 0x2] @@ -1630,7 +1630,7 @@ _080A2F62: bx r0 .align 2, 0 _080A2F68: .4byte gTasks -_080A2F6C: .4byte gUnknown_2037F02 +_080A2F6C: .4byte gBattleAnimArgs _080A2F70: .4byte sub_80A2F74 thumb_func_end sub_80A2F0C @@ -1662,7 +1662,7 @@ sub_80A2F74: @ 80A2F74 lsls r1, 16 asrs r1, 24 strh r1, [r5, 0x24] - ldr r0, _080A2FFC @ =gUnknown_2037F1B + ldr r0, _080A2FFC @ =gBattleAnimTarget ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -1700,7 +1700,7 @@ _080A2FEC: .align 2, 0 _080A2FF4: .4byte gTasks _080A2FF8: .4byte gSprites -_080A2FFC: .4byte gUnknown_2037F1B +_080A2FFC: .4byte gBattleAnimTarget _080A3000: .4byte sub_80A3004 thumb_func_end sub_80A2F74 @@ -1709,7 +1709,7 @@ sub_80A3004: @ 80A3004 push {r4-r6,lr} lsls r0, 24 lsrs r3, r0, 24 - ldr r0, _080A3050 @ =gUnknown_2037F02 + ldr r0, _080A3050 @ =gBattleAnimArgs ldrh r1, [r0, 0xE] ldr r0, _080A3054 @ =0x0000ffff cmp r1, r0 @@ -1743,7 +1743,7 @@ sub_80A3004: @ 80A3004 strh r0, [r6, 0x8] b _080A308E .align 2, 0 -_080A3050: .4byte gUnknown_2037F02 +_080A3050: .4byte gBattleAnimArgs _080A3054: .4byte 0x0000ffff _080A3058: .4byte gTasks _080A305C: .4byte gSprites @@ -1791,13 +1791,13 @@ sub_80A3098: @ 80A3098 beq _080A3104 b _080A3156 _080A30AA: - ldr r6, _080A30FC @ =gUnknown_2037F1B + ldr r6, _080A30FC @ =gBattleAnimTarget ldrb r0, [r6] bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080A30C2 - ldr r1, _080A3100 @ =gUnknown_2037F02 + ldr r1, _080A3100 @ =gBattleAnimArgs movs r2, 0 ldrsh r0, [r1, r2] negs r0, r0 @@ -1807,7 +1807,7 @@ _080A30C2: movs r1, 0 bl sub_8074480 lsls r0, 24 - ldr r4, _080A3100 @ =gUnknown_2037F02 + ldr r4, _080A3100 @ =gBattleAnimArgs lsrs r0, 24 ldrh r1, [r4] adds r0, r1 @@ -1831,8 +1831,8 @@ _080A30C2: strh r0, [r5, 0x2E] b _080A3156 .align 2, 0 -_080A30FC: .4byte gUnknown_2037F1B -_080A3100: .4byte gUnknown_2037F02 +_080A30FC: .4byte gBattleAnimTarget +_080A3100: .4byte gBattleAnimArgs _080A3104: adds r2, r5, 0 adds r2, 0x3E @@ -1853,7 +1853,7 @@ _080A3104: bl ChangeSpriteAffineAnim movs r0, 0x19 strh r0, [r5, 0x2E] - ldr r4, _080A315C @ =gUnknown_2037F1A + ldr r4, _080A315C @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -1876,7 +1876,7 @@ _080A3156: pop {r0} bx r0 .align 2, 0 -_080A315C: .4byte gUnknown_2037F1A +_080A315C: .4byte gBattleAnimAttacker _080A3160: .4byte sub_8075764 _080A3164: .4byte DestroyAnimSprite thumb_func_end sub_80A3098 @@ -1889,7 +1889,7 @@ sub_80A3168: @ 80A3168 ldrsh r0, [r5, r1] cmp r0, 0 bne _080A31D4 - ldr r4, _080A31E0 @ =gUnknown_2037F1A + ldr r4, _080A31E0 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -1902,7 +1902,7 @@ sub_80A3168: @ 80A3168 lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] - ldr r4, _080A31E4 @ =gUnknown_2037F02 + ldr r4, _080A31E4 @ =gBattleAnimArgs ldrh r0, [r4] strh r0, [r5, 0x24] ldrh r0, [r4, 0x2] @@ -1941,8 +1941,8 @@ _080A31D4: pop {r0} bx r0 .align 2, 0 -_080A31E0: .4byte gUnknown_2037F1A -_080A31E4: .4byte gUnknown_2037F02 +_080A31E0: .4byte gBattleAnimAttacker +_080A31E4: .4byte gBattleAnimArgs _080A31E8: .4byte sub_80A32DC thumb_func_end sub_80A3168 @@ -1955,7 +1955,7 @@ sub_80A31EC: @ 80A31EC push {r4-r6} sub sp, 0x4 mov r9, r0 - ldr r4, _080A32C8 @ =gUnknown_2037F1A + ldr r4, _080A32C8 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -1970,7 +1970,7 @@ sub_80A31EC: @ 80A31EC lsls r0, 24 lsrs r0, 24 mov r8, r0 - ldr r6, _080A32CC @ =gUnknown_2037F1B + ldr r6, _080A32CC @ =gBattleAnimTarget ldrb r0, [r6] movs r1, 0x2 bl sub_8074480 @@ -1992,7 +1992,7 @@ sub_80A31EC: @ 80A31EC lsrs r3, r4, 16 mov r10, r3 asrs r4, 16 - ldr r6, _080A32D0 @ =gUnknown_2037F02 + ldr r6, _080A32D0 @ =gBattleAnimArgs movs r1, 0 ldrsh r0, [r6, r1] muls r0, r4 @@ -2051,9 +2051,9 @@ sub_80A31EC: @ 80A31EC pop {r0} bx r0 .align 2, 0 -_080A32C8: .4byte gUnknown_2037F1A -_080A32CC: .4byte gUnknown_2037F1B -_080A32D0: .4byte gUnknown_2037F02 +_080A32C8: .4byte gBattleAnimAttacker +_080A32CC: .4byte gBattleAnimTarget +_080A32D0: .4byte gBattleAnimArgs _080A32D4: .4byte sub_80A32DC _080A32D8: .4byte gUnknown_203999C thumb_func_end sub_80A31EC @@ -2114,12 +2114,12 @@ sub_80A3334: @ 80A3334 ldrsh r0, [r6, r1] cmp r0, 0 bne _080A3374 - ldr r5, _080A33B0 @ =gUnknown_2037F1A + ldr r5, _080A33B0 @ =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0x2 bl sub_8074480 lsls r0, 24 - ldr r4, _080A33B4 @ =gUnknown_2037F02 + ldr r4, _080A33B4 @ =gBattleAnimArgs lsrs r0, 24 ldrh r2, [r4] adds r0, r2 @@ -2169,8 +2169,8 @@ _080A33AA: pop {r0} bx r0 .align 2, 0 -_080A33B0: .4byte gUnknown_2037F1A -_080A33B4: .4byte gUnknown_2037F02 +_080A33B0: .4byte gBattleAnimAttacker +_080A33B4: .4byte gBattleAnimArgs thumb_func_end sub_80A3334 thumb_func_start sub_80A33B8 @@ -2371,7 +2371,7 @@ sub_80A3518: @ 80A3518 adds r5, r0, 0 movs r1, 0 bl sub_8075160 - ldr r4, _080A3560 @ =gUnknown_2037F1B + ldr r4, _080A3560 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0 bl sub_8074480 @@ -2382,7 +2382,7 @@ sub_80A3518: @ 80A3518 bl sub_8074480 lsls r0, 24 lsrs r2, r0, 24 - ldr r0, _080A3564 @ =gUnknown_2037F1A + ldr r0, _080A3564 @ =gBattleAnimAttacker ldrb r1, [r0] movs r0, 0x2 eors r0, r1 @@ -2399,8 +2399,8 @@ sub_80A3518: @ 80A3518 movs r0, 0x1 b _080A357A .align 2, 0 -_080A3560: .4byte gUnknown_2037F1B -_080A3564: .4byte gUnknown_2037F1A +_080A3560: .4byte gBattleAnimTarget +_080A3564: .4byte gBattleAnimAttacker _080A3568: strh r6, [r5, 0x3A] adds r0, r2, 0 @@ -2478,7 +2478,7 @@ _080A35EC: sub_80A35F4: @ 80A35F4 push {r4-r6,lr} adds r5, r0, 0 - ldr r4, _080A3630 @ =gUnknown_2037F1B + ldr r4, _080A3630 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x1 bl sub_8074480 @@ -2504,7 +2504,7 @@ sub_80A35F4: @ 80A35F4 ldr r0, _080A3634 @ =sub_80A34B4 b _080A3662 .align 2, 0 -_080A3630: .4byte gUnknown_2037F1B +_080A3630: .4byte gBattleAnimTarget _080A3634: .4byte sub_80A34B4 _080A3638: movs r0, 0xFF @@ -2547,7 +2547,7 @@ sub_80A3670: @ 80A3670 adds r0, r4, 0 movs r1, 0 bl sub_8075114 - ldr r0, _080A36B0 @ =gUnknown_2037F02 + ldr r0, _080A36B0 @ =gBattleAnimArgs ldrh r0, [r0, 0x4] strh r0, [r4, 0x30] _080A368A: @@ -2571,7 +2571,7 @@ _080A36AA: pop {r0} bx r0 .align 2, 0 -_080A36B0: .4byte gUnknown_2037F02 +_080A36B0: .4byte gBattleAnimArgs thumb_func_end sub_80A3670 thumb_func_start sub_80A36B4 @@ -2580,7 +2580,7 @@ sub_80A36B4: @ 80A36B4 adds r5, r0, 0 movs r1, 0 bl sub_8075114 - ldr r4, _080A36FC @ =gUnknown_2037F1A + ldr r4, _080A36FC @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0 bl sub_8074480 @@ -2591,7 +2591,7 @@ sub_80A36B4: @ 80A36B4 bl sub_8074480 lsls r0, 24 lsrs r2, r0, 24 - ldr r0, _080A3700 @ =gUnknown_2037F1B + ldr r0, _080A3700 @ =gBattleAnimTarget ldrb r1, [r0] movs r0, 0x2 eors r0, r1 @@ -2608,8 +2608,8 @@ sub_80A36B4: @ 80A36B4 movs r0, 0x1 b _080A3716 .align 2, 0 -_080A36FC: .4byte gUnknown_2037F1A -_080A3700: .4byte gUnknown_2037F1B +_080A36FC: .4byte gBattleAnimAttacker +_080A3700: .4byte gBattleAnimTarget _080A3704: strh r6, [r5, 0x3A] adds r0, r2, 0 @@ -2716,7 +2716,7 @@ sub_80A37BC: @ 80A37BC lsls r0, 24 cmp r0, 0 bne _080A37E4 - ldr r0, _080A37E0 @ =gUnknown_2037F02 + ldr r0, _080A37E0 @ =gBattleAnimArgs ldrh r1, [r0, 0x2] strh r1, [r4, 0x30] movs r1, 0x78 @@ -2724,9 +2724,9 @@ sub_80A37BC: @ 80A37BC adds r5, r0, 0 b _080A3806 .align 2, 0 -_080A37E0: .4byte gUnknown_2037F02 +_080A37E0: .4byte gBattleAnimArgs _080A37E4: - ldr r0, _080A3840 @ =gUnknown_2037F02 + ldr r0, _080A3840 @ =gBattleAnimArgs movs r1, 0x2 ldrsh r3, [r0, r1] adds r1, r3, 0 @@ -2773,7 +2773,7 @@ _080A3806: movs r0, 0x1F b _080A384E .align 2, 0 -_080A3840: .4byte gUnknown_2037F02 +_080A3840: .4byte gBattleAnimArgs _080A3844: .4byte sub_80A3858 _080A3848: adds r1, r4, 0 @@ -2993,7 +2993,7 @@ sub_80A39C0: @ 80A39C0 lsls r0, 3 ldr r1, _080A3B14 @ =gTasks adds r5, r0, r1 - ldr r4, _080A3B18 @ =gUnknown_2037F1B + ldr r4, _080A3B18 @ =gBattleAnimTarget ldrb r0, [r4] bl sub_807685C lsls r0, 24 @@ -3147,7 +3147,7 @@ _080A3A60: bx r0 .align 2, 0 _080A3B14: .4byte gTasks -_080A3B18: .4byte gUnknown_2037F1B +_080A3B18: .4byte gBattleAnimTarget _080A3B1C: .4byte gUnknown_83E2FF0 _080A3B20: .4byte gSprites _080A3B24: .4byte sub_80A3B28 @@ -3818,18 +3818,18 @@ _080A403C: .4byte gTasks sub_80A4040: @ 80A4040 push {r4-r7,lr} adds r4, r0, 0 - ldr r0, _080A4054 @ =gUnknown_2037F02 + ldr r0, _080A4054 @ =gBattleAnimArgs movs r1, 0xC ldrsh r0, [r0, r1] cmp r0, 0 bne _080A405C - ldr r0, _080A4058 @ =gUnknown_2037F1A + ldr r0, _080A4058 @ =gBattleAnimAttacker b _080A405E .align 2, 0 -_080A4054: .4byte gUnknown_2037F02 -_080A4058: .4byte gUnknown_2037F1A +_080A4054: .4byte gBattleAnimArgs +_080A4058: .4byte gBattleAnimAttacker _080A405C: - ldr r0, _080A407C @ =gUnknown_2037F1B + ldr r0, _080A407C @ =gBattleAnimTarget _080A405E: ldrb r6, [r0] adds r0, r6, 0 @@ -3839,19 +3839,19 @@ _080A405E: beq _080A4088 movs r0, 0 strh r0, [r4, 0x36] - ldr r1, _080A4080 @ =gUnknown_2037F02 + ldr r1, _080A4080 @ =gBattleAnimArgs ldrh r0, [r1, 0x6] strh r0, [r4, 0x32] ldr r0, _080A4084 @ =0x0000fff0 b _080A4098 .align 2, 0 -_080A407C: .4byte gUnknown_2037F1B -_080A4080: .4byte gUnknown_2037F02 +_080A407C: .4byte gBattleAnimTarget +_080A4080: .4byte gBattleAnimArgs _080A4084: .4byte 0x0000fff0 _080A4088: movs r0, 0x1 strh r0, [r4, 0x36] - ldr r1, _080A40BC @ =gUnknown_2037F02 + ldr r1, _080A40BC @ =gBattleAnimArgs ldrh r0, [r1, 0x6] negs r0, r0 strh r0, [r4, 0x32] @@ -3877,7 +3877,7 @@ _080A4098: beq _080A40CA b _080A4138 .align 2, 0 -_080A40BC: .4byte gUnknown_2037F02 +_080A40BC: .4byte gBattleAnimArgs _080A40C0: cmp r0, 0x2 beq _080A40D4 @@ -3914,7 +3914,7 @@ _080A40E4: strb r0, [r4, 0x5] b _080A4138 _080A4100: - ldr r0, _080A4144 @ =gUnknown_2037F1B + ldr r0, _080A4144 @ =gBattleAnimTarget ldrb r0, [r0] movs r1, 0x3 bl sub_8074480 @@ -3947,7 +3947,7 @@ _080A4138: pop {r0} bx r0 .align 2, 0 -_080A4144: .4byte gUnknown_2037F1B +_080A4144: .4byte gBattleAnimTarget _080A4148: .4byte sub_80A414C thumb_func_end sub_80A4040 @@ -4102,7 +4102,7 @@ _080A421C: bne _080A4276 strh r7, [r5, 0x1E] _080A4276: - ldr r0, _080A4294 @ =gUnknown_2037F02 + ldr r0, _080A4294 @ =gBattleAnimArgs movs r2, 0xE ldrsh r1, [r0, r2] movs r0, 0x1 @@ -4117,7 +4117,7 @@ _080A428A: bx r0 .align 2, 0 _080A4290: .4byte gUnknown_83E30F0 -_080A4294: .4byte gUnknown_2037F02 +_080A4294: .4byte gBattleAnimArgs thumb_func_end sub_80A41C4 thumb_func_start sub_80A4298 @@ -4125,7 +4125,7 @@ sub_80A4298: @ 80A4298 push {r4-r7,lr} sub sp, 0x4 adds r6, r0, 0 - ldr r1, _080A42B0 @ =gUnknown_2037F02 + ldr r1, _080A42B0 @ =gBattleAnimArgs movs r2, 0x8 ldrsh r0, [r1, r2] cmp r0, 0 @@ -4134,18 +4134,18 @@ sub_80A4298: @ 80A4298 bl DestroyAnimSprite b _080A438E .align 2, 0 -_080A42B0: .4byte gUnknown_2037F02 +_080A42B0: .4byte gBattleAnimArgs _080A42B4: movs r3, 0 ldrsh r0, [r1, r3] cmp r0, 0 bne _080A42C4 - ldr r4, _080A42C0 @ =gUnknown_2037F1A + ldr r4, _080A42C0 @ =gBattleAnimAttacker b _080A42C6 .align 2, 0 -_080A42C0: .4byte gUnknown_2037F1A +_080A42C0: .4byte gBattleAnimAttacker _080A42C4: - ldr r4, _080A4300 @ =gUnknown_2037F1B + ldr r4, _080A4300 @ =gBattleAnimTarget _080A42C6: ldrb r0, [r4] movs r1, 0x2 @@ -4157,7 +4157,7 @@ _080A42C6: bl sub_8074480 lsls r0, 24 lsrs r2, r0, 24 - ldr r0, _080A4304 @ =gUnknown_2037F02 + ldr r0, _080A4304 @ =gBattleAnimArgs ldrh r1, [r0, 0x8] strh r1, [r6, 0x2E] movs r3, 0x2 @@ -4175,8 +4175,8 @@ _080A42C6: strh r2, [r6, 0x3A] b _080A4318 .align 2, 0 -_080A4300: .4byte gUnknown_2037F1B -_080A4304: .4byte gUnknown_2037F02 +_080A4300: .4byte gBattleAnimTarget +_080A4304: .4byte gBattleAnimArgs _080A4308: strh r5, [r6, 0x20] strh r2, [r6, 0x22] @@ -4308,13 +4308,13 @@ _080A43F2: sub_80A43F8: @ 80A43F8 push {r4,lr} adds r4, r0, 0 - ldr r0, _080A4418 @ =gUnknown_2037F1A + ldr r0, _080A4418 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080A4420 - ldr r2, _080A441C @ =gUnknown_2037F02 + ldr r2, _080A441C @ =gBattleAnimArgs ldrh r0, [r4, 0x20] ldrh r1, [r2] subs r0, r1 @@ -4322,10 +4322,10 @@ sub_80A43F8: @ 80A43F8 ldrh r0, [r2, 0x2] b _080A442C .align 2, 0 -_080A4418: .4byte gUnknown_2037F1A -_080A441C: .4byte gUnknown_2037F02 +_080A4418: .4byte gBattleAnimAttacker +_080A441C: .4byte gBattleAnimArgs _080A4420: - ldr r0, _080A4444 @ =gUnknown_2037F02 + ldr r0, _080A4444 @ =gBattleAnimArgs ldrh r1, [r0] ldrh r2, [r4, 0x20] adds r1, r2 @@ -4344,7 +4344,7 @@ _080A442C: pop {r0} bx r0 .align 2, 0 -_080A4444: .4byte gUnknown_2037F02 +_080A4444: .4byte gBattleAnimArgs _080A4448: .4byte sub_8074F6C _080A444C: .4byte DestroyAnimSprite thumb_func_end sub_80A43F8 @@ -4353,7 +4353,7 @@ _080A444C: .4byte DestroyAnimSprite sub_80A4450: @ 80A4450 push {r4,r5,lr} adds r5, r0, 0 - ldr r0, _080A4488 @ =gUnknown_2037F1A + ldr r0, _080A4488 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -4365,7 +4365,7 @@ sub_80A4450: @ 80A4450 _080A446A: ldr r0, _080A448C @ =sub_80A43DC str r0, [r5, 0x1C] - ldr r4, _080A4490 @ =gUnknown_2037F02 + ldr r4, _080A4490 @ =gBattleAnimArgs movs r0, 0 ldrsh r1, [r4, r0] adds r0, r5, 0 @@ -4378,16 +4378,16 @@ _080A446A: pop {r0} bx r0 .align 2, 0 -_080A4488: .4byte gUnknown_2037F1A +_080A4488: .4byte gBattleAnimAttacker _080A448C: .4byte sub_80A43DC -_080A4490: .4byte gUnknown_2037F02 +_080A4490: .4byte gBattleAnimArgs thumb_func_end sub_80A4450 thumb_func_start sub_80A4494 sub_80A4494: @ 80A4494 push {r4,lr} adds r4, r0, 0 - ldr r1, _080A44D4 @ =gUnknown_2037F02 + ldr r1, _080A44D4 @ =gBattleAnimArgs ldrh r0, [r1] ldrh r2, [r4, 0x20] adds r0, r2 @@ -4416,7 +4416,7 @@ sub_80A4494: @ 80A4494 pop {r0} bx r0 .align 2, 0 -_080A44D4: .4byte gUnknown_2037F02 +_080A44D4: .4byte gBattleAnimArgs _080A44D8: .4byte move_anim_8074EE0 _080A44DC: .4byte sub_8074E70 thumb_func_end sub_80A4494 @@ -4425,7 +4425,7 @@ _080A44DC: .4byte sub_8074E70 sub_80A44E0: @ 80A44E0 push {r4,r5,lr} adds r5, r0, 0 - ldr r4, _080A4530 @ =gUnknown_2037F1B + ldr r4, _080A4530 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0 bl sub_8074480 @@ -4449,7 +4449,7 @@ sub_80A44E0: @ 80A44E0 _080A4514: ldr r0, _080A4534 @ =sub_80A46CC str r0, [r5, 0x1C] - ldr r0, _080A4538 @ =gUnknown_2037F02 + ldr r0, _080A4538 @ =gBattleAnimArgs movs r2, 0x4 ldrsh r1, [r0, r2] adds r3, r0, 0 @@ -4461,9 +4461,9 @@ _080A4514: strh r0, [r5, 0x20] b _080A4550 .align 2, 0 -_080A4530: .4byte gUnknown_2037F1B +_080A4530: .4byte gBattleAnimTarget _080A4534: .4byte sub_80A46CC -_080A4538: .4byte gUnknown_2037F02 +_080A4538: .4byte gBattleAnimArgs _080A453C: ldrh r0, [r5, 0x20] ldrh r1, [r3] @@ -4513,7 +4513,7 @@ sub_80A4588: @ 80A4588 mov r7, r8 push {r7} adds r6, r0, 0 - ldr r0, _080A45A4 @ =gUnknown_2037F02 + ldr r0, _080A45A4 @ =gBattleAnimArgs movs r1, 0x6 ldrsh r0, [r0, r1] cmp r0, 0x1 @@ -4524,9 +4524,9 @@ sub_80A4588: @ 80A4588 beq _080A45C8 b _080A4624 .align 2, 0 -_080A45A4: .4byte gUnknown_2037F02 +_080A45A4: .4byte gBattleAnimArgs _080A45A8: - ldr r5, _080A45C4 @ =gUnknown_2037F1B + ldr r5, _080A45C4 @ =gBattleAnimTarget ldrb r0, [r5] movs r4, 0x2 eors r0, r4 @@ -4539,9 +4539,9 @@ _080A45A8: adds r0, r4, 0 b _080A4634 .align 2, 0 -_080A45C4: .4byte gUnknown_2037F1B +_080A45C4: .4byte gBattleAnimTarget _080A45C8: - ldr r5, _080A4620 @ =gUnknown_2037F1B + ldr r5, _080A4620 @ =gBattleAnimTarget ldrb r0, [r5] movs r1, 0 bl sub_8074480 @@ -4581,9 +4581,9 @@ _080A45C8: lsrs r4, r0, 1 b _080A463E .align 2, 0 -_080A4620: .4byte gUnknown_2037F1B +_080A4620: .4byte gBattleAnimTarget _080A4624: - ldr r4, _080A4670 @ =gUnknown_2037F1B + ldr r4, _080A4670 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0 bl sub_8074480 @@ -4598,7 +4598,7 @@ _080A4634: _080A463E: strh r7, [r6, 0x20] strh r4, [r6, 0x22] - ldr r0, _080A4670 @ =gUnknown_2037F1B + ldr r0, _080A4670 @ =gBattleAnimTarget ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -4610,7 +4610,7 @@ _080A463E: _080A4656: ldr r0, _080A4674 @ =sub_80A46CC str r0, [r6, 0x1C] - ldr r0, _080A4678 @ =gUnknown_2037F02 + ldr r0, _080A4678 @ =gBattleAnimArgs movs r2, 0x4 ldrsh r1, [r0, r2] adds r3, r0, 0 @@ -4622,9 +4622,9 @@ _080A4656: strh r0, [r6, 0x20] b _080A4690 .align 2, 0 -_080A4670: .4byte gUnknown_2037F1B +_080A4670: .4byte gBattleAnimTarget _080A4674: .4byte sub_80A46CC -_080A4678: .4byte gUnknown_2037F02 +_080A4678: .4byte gBattleAnimArgs _080A467C: ldrh r0, [r6, 0x20] ldrh r1, [r3] @@ -4849,10 +4849,10 @@ _080A4818: .4byte gSprites sub_80A481C: @ 80A481C push {r4,r5,lr} adds r5, r0, 0 - ldr r4, _080A483C @ =gUnknown_2037F02 + ldr r4, _080A483C @ =gBattleAnimArgs ldrh r0, [r4, 0x4] strh r0, [r5, 0x2E] - ldr r0, _080A4840 @ =gUnknown_2037F1A + ldr r0, _080A4840 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -4863,15 +4863,15 @@ sub_80A481C: @ 80A481C subs r0, r1 b _080A484A .align 2, 0 -_080A483C: .4byte gUnknown_2037F02 -_080A4840: .4byte gUnknown_2037F1A +_080A483C: .4byte gBattleAnimArgs +_080A4840: .4byte gBattleAnimAttacker _080A4844: ldrh r0, [r4] ldrh r1, [r5, 0x20] adds r0, r1 _080A484A: strh r0, [r5, 0x20] - ldr r4, _080A4878 @ =gUnknown_2037F02 + ldr r4, _080A4878 @ =gBattleAnimArgs ldrb r1, [r4, 0xA] adds r0, r5, 0 bl StartSpriteAnim @@ -4892,7 +4892,7 @@ _080A484A: pop {r0} bx r0 .align 2, 0 -_080A4878: .4byte gUnknown_2037F02 +_080A4878: .4byte gBattleAnimArgs _080A487C: .4byte sub_80A4880 thumb_func_end sub_80A481C @@ -4963,17 +4963,17 @@ sub_80A48F0: @ 80A48F0 lsls r0, 24 cmp r0, 0 beq _080A4906 - ldr r1, _080A4964 @ =gUnknown_2037F02 + ldr r1, _080A4964 @ =gBattleAnimArgs ldrh r0, [r1, 0x2] adds r0, 0x8 strh r0, [r1, 0x2] _080A4906: - ldr r6, _080A4968 @ =gUnknown_2037F1A + ldr r6, _080A4968 @ =gBattleAnimAttacker ldrb r0, [r6] movs r1, 0 bl sub_8074844 lsls r0, 24 - ldr r4, _080A4964 @ =gUnknown_2037F02 + ldr r4, _080A4964 @ =gBattleAnimArgs lsrs r0, 24 ldrh r1, [r4] adds r0, r1 @@ -5012,8 +5012,8 @@ _080A4944: strb r1, [r5, 0x5] b _080A4984 .align 2, 0 -_080A4964: .4byte gUnknown_2037F02 -_080A4968: .4byte gUnknown_2037F1A +_080A4964: .4byte gBattleAnimArgs +_080A4968: .4byte gBattleAnimAttacker _080A496C: ldrb r0, [r6] bl sub_8076884 @@ -5027,7 +5027,7 @@ _080A496C: orrs r0, r1 strb r0, [r5, 0x5] _080A4984: - ldr r0, _080A49C8 @ =gUnknown_2037F02 + ldr r0, _080A49C8 @ =gBattleAnimArgs ldrh r0, [r0, 0x4] strh r0, [r5, 0x2E] ldr r0, _080A49CC @ =0x00002828 @@ -5059,7 +5059,7 @@ _080A4984: pop {r0} bx r0 .align 2, 0 -_080A49C8: .4byte gUnknown_2037F02 +_080A49C8: .4byte gBattleAnimArgs _080A49CC: .4byte 0x00002828 _080A49D0: .4byte sub_80A49D4 thumb_func_end sub_80A48F0 @@ -5199,7 +5199,7 @@ _080A4AC8: .4byte sub_8074F88 sub_80A4ACC: @ 80A4ACC push {r4-r6,lr} adds r4, r0, 0 - ldr r6, _080A4B2C @ =gUnknown_2037F1B + ldr r6, _080A4B2C @ =gBattleAnimTarget ldrb r0, [r6] movs r1, 0x2 bl sub_8074480 @@ -5241,7 +5241,7 @@ sub_80A4ACC: @ 80A4ACC pop {r0} bx r0 .align 2, 0 -_080A4B2C: .4byte gUnknown_2037F1B +_080A4B2C: .4byte gBattleAnimTarget _080A4B30: .4byte 0x0000ffe8 _080A4B34: .4byte sub_80A4B38 thumb_func_end sub_80A4ACC @@ -5497,7 +5497,7 @@ _080A4D04: sub_80A4D0C: @ 80A4D0C push {r4,r5,lr} adds r4, r0, 0 - ldr r5, _080A4D50 @ =gUnknown_2037F02 + ldr r5, _080A4D50 @ =gBattleAnimArgs movs r1, 0x4 ldrsh r0, [r5, r1] cmp r0, 0 @@ -5528,7 +5528,7 @@ _080A4D20: pop {r0} bx r0 .align 2, 0 -_080A4D50: .4byte gUnknown_2037F02 +_080A4D50: .4byte gBattleAnimArgs _080A4D54: .4byte DestroyAnimSprite _080A4D58: .4byte sub_8074D00 thumb_func_end sub_80A4D0C @@ -5537,18 +5537,18 @@ _080A4D58: .4byte sub_8074D00 sub_80A4D5C: @ 80A4D5C push {r4-r6,lr} adds r5, r0, 0 - ldr r0, _080A4D70 @ =gUnknown_2037F02 + ldr r0, _080A4D70 @ =gBattleAnimArgs movs r1, 0x4 ldrsh r0, [r0, r1] cmp r0, 0 bne _080A4D78 - ldr r0, _080A4D74 @ =gUnknown_2037F1A + ldr r0, _080A4D74 @ =gBattleAnimAttacker b _080A4D7A .align 2, 0 -_080A4D70: .4byte gUnknown_2037F02 -_080A4D74: .4byte gUnknown_2037F1A +_080A4D70: .4byte gBattleAnimArgs +_080A4D74: .4byte gBattleAnimAttacker _080A4D78: - ldr r0, _080A4DBC @ =gUnknown_2037F1B + ldr r0, _080A4DBC @ =gBattleAnimTarget _080A4D7A: ldrb r6, [r0] bl sub_8075290 @@ -5562,7 +5562,7 @@ _080A4D7A: lsls r0, 24 cmp r0, 0 beq _080A4DC4 - ldr r4, _080A4DC0 @ =gUnknown_2037F02 + ldr r4, _080A4DC0 @ =gBattleAnimArgs ldrb r1, [r4, 0xC] adds r2, r5, 0 adds r2, 0x20 @@ -5580,10 +5580,10 @@ _080A4D7A: strh r0, [r5, 0x22] b _080A4E14 .align 2, 0 -_080A4DBC: .4byte gUnknown_2037F1B -_080A4DC0: .4byte gUnknown_2037F02 +_080A4DBC: .4byte gBattleAnimTarget +_080A4DC0: .4byte gBattleAnimArgs _080A4DC4: - ldr r4, _080A4DE4 @ =gUnknown_2037F02 + ldr r4, _080A4DE4 @ =gBattleAnimArgs movs r2, 0xC ldrsh r0, [r4, r2] cmp r0, 0 @@ -5598,7 +5598,7 @@ _080A4DC4: movs r1, 0x1 b _080A4DFA .align 2, 0 -_080A4DE4: .4byte gUnknown_2037F02 +_080A4DE4: .4byte gBattleAnimArgs _080A4DE8: adds r0, r6, 0 movs r1, 0x2 @@ -5615,13 +5615,13 @@ _080A4DFA: ldrh r4, [r4, 0x2] adds r0, r4 strh r0, [r5, 0x22] - ldr r0, _080A4E34 @ =gUnknown_2037F02 + ldr r0, _080A4E34 @ =gBattleAnimArgs movs r2, 0 ldrsh r1, [r0, r2] adds r0, r5, 0 bl sub_8074FF8 _080A4E14: - ldr r1, _080A4E34 @ =gUnknown_2037F02 + ldr r1, _080A4E34 @ =gBattleAnimArgs ldrh r0, [r1, 0xA] strh r0, [r5, 0x2E] ldrh r0, [r1, 0x6] @@ -5637,7 +5637,7 @@ _080A4E14: pop {r0} bx r0 .align 2, 0 -_080A4E34: .4byte gUnknown_2037F02 +_080A4E34: .4byte gBattleAnimArgs _080A4E38: .4byte DestroyAnimSprite _080A4E3C: .4byte sub_8074D00 thumb_func_end sub_80A4D5C @@ -5647,13 +5647,13 @@ sub_80A4E40: @ 80A4E40 push {r4,lr} adds r4, r0, 0 bl sub_8074FCC - ldr r0, _080A4E6C @ =gUnknown_2037F1A + ldr r0, _080A4E6C @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080A4E74 - ldr r0, _080A4E70 @ =gUnknown_2037F02 + ldr r0, _080A4E70 @ =gBattleAnimArgs ldrh r1, [r0] ldrh r2, [r4, 0x20] adds r1, r2 @@ -5664,10 +5664,10 @@ sub_80A4E40: @ 80A4E40 strh r0, [r4, 0x22] b _080A4E8E .align 2, 0 -_080A4E6C: .4byte gUnknown_2037F1A -_080A4E70: .4byte gUnknown_2037F02 +_080A4E6C: .4byte gBattleAnimAttacker +_080A4E70: .4byte gBattleAnimArgs _080A4E74: - ldr r2, _080A4E98 @ =gUnknown_2037F02 + ldr r2, _080A4E98 @ =gBattleAnimArgs ldrh r0, [r4, 0x20] ldrh r1, [r2] subs r0, r1 @@ -5686,7 +5686,7 @@ _080A4E8E: pop {r0} bx r0 .align 2, 0 -_080A4E98: .4byte gUnknown_2037F02 +_080A4E98: .4byte gBattleAnimArgs _080A4E9C: .4byte sub_80A4EA0 thumb_func_end sub_80A4E40 @@ -5739,13 +5739,13 @@ sub_80A4EF4: @ 80A4EF4 push {r4,lr} adds r4, r0, 0 bl sub_8074FCC - ldr r0, _080A4F24 @ =gUnknown_2037F1A + ldr r0, _080A4F24 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080A4F2C - ldr r1, _080A4F28 @ =gUnknown_2037F02 + ldr r1, _080A4F28 @ =gBattleAnimArgs ldrh r0, [r1] ldrh r2, [r4, 0x20] adds r0, r2 @@ -5758,10 +5758,10 @@ sub_80A4EF4: @ 80A4EF4 strh r0, [r4, 0x34] b _080A4F4A .align 2, 0 -_080A4F24: .4byte gUnknown_2037F1A -_080A4F28: .4byte gUnknown_2037F02 +_080A4F24: .4byte gBattleAnimAttacker +_080A4F28: .4byte gBattleAnimArgs _080A4F2C: - ldr r2, _080A4F54 @ =gUnknown_2037F02 + ldr r2, _080A4F54 @ =gBattleAnimArgs ldrh r0, [r4, 0x20] ldrh r1, [r2] subs r0, r1 @@ -5782,7 +5782,7 @@ _080A4F4A: pop {r0} bx r0 .align 2, 0 -_080A4F54: .4byte gUnknown_2037F02 +_080A4F54: .4byte gBattleAnimArgs _080A4F58: .4byte 0x0000ffff _080A4F5C: .4byte sub_80A4F60 thumb_func_end sub_80A4EF4 @@ -6033,7 +6033,7 @@ _080A5118: strh r1, [r5, 0x24] movs r0, 0x6 strh r0, [r5, 0x2E] - ldr r4, _080A5168 @ =gUnknown_2037F1B + ldr r4, _080A5168 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -6058,7 +6058,7 @@ _080A5160: pop {r0} bx r0 .align 2, 0 -_080A5168: .4byte gUnknown_2037F1B +_080A5168: .4byte gBattleAnimTarget _080A516C: .4byte sub_8075590 _080A5170: .4byte sub_80A5220 thumb_func_end sub_80A50B8 @@ -6155,7 +6155,7 @@ _080A521C: .4byte sub_80A5220 sub_80A5220: @ 80A5220 push {lr} adds r2, r0, 0 - ldr r0, _080A523C @ =gUnknown_2037F02 + ldr r0, _080A523C @ =gBattleAnimArgs ldrh r1, [r0, 0xE] ldr r0, _080A5240 @ =0x0000ffff cmp r1, r0 @@ -6169,7 +6169,7 @@ _080A5238: pop {r0} bx r0 .align 2, 0 -_080A523C: .4byte gUnknown_2037F02 +_080A523C: .4byte gBattleAnimArgs _080A5240: .4byte 0x0000ffff _080A5244: .4byte sub_80A5248 thumb_func_end sub_80A5220 @@ -6221,7 +6221,7 @@ _080A5290: sub_80A5298: @ 80A5298 push {r4,lr} adds r3, r0, 0 - ldr r0, _080A52B8 @ =gUnknown_2037F02 + ldr r0, _080A52B8 @ =gBattleAnimArgs ldrh r0, [r0] strh r0, [r3, 0x6] lsls r0, 16 @@ -6236,7 +6236,7 @@ sub_80A5298: @ 80A5298 strh r0, [r3, 0x22] b _080A530E .align 2, 0 -_080A52B8: .4byte gUnknown_2037F02 +_080A52B8: .4byte gBattleAnimArgs _080A52BC: cmp r0, 0x2 bne _080A52D8 @@ -6319,7 +6319,7 @@ sub_80A5340: @ 80A5340 strb r0, [r2] movs r0, 0 strh r0, [r3, 0x2E] - ldr r0, _080A5368 @ =gUnknown_2037F02 + ldr r0, _080A5368 @ =gBattleAnimArgs movs r1, 0 ldrsh r0, [r0, r1] cmp r0, 0x1 @@ -6330,7 +6330,7 @@ sub_80A5340: @ 80A5340 beq _080A5372 b _080A538C .align 2, 0 -_080A5368: .4byte gUnknown_2037F02 +_080A5368: .4byte gBattleAnimArgs _080A536C: cmp r0, 0x2 beq _080A5384 @@ -6366,7 +6366,7 @@ sub_80A5398: @ 80A5398 adds r4, r0, 0 movs r0, 0x6 strh r0, [r4, 0x2E] - ldr r5, _080A53D8 @ =gUnknown_2037F1A + ldr r5, _080A53D8 @ =gBattleAnimAttacker ldrb r0, [r5] bl GetBattlerSide lsls r0, 24 @@ -6394,7 +6394,7 @@ _080A53B6: pop {r0} bx r0 .align 2, 0 -_080A53D8: .4byte gUnknown_2037F1A +_080A53D8: .4byte gBattleAnimAttacker _080A53DC: .4byte gUnknown_2023D44 _080A53E0: .4byte sub_80A53E8 _080A53E4: .4byte sub_8074DC4 @@ -6409,7 +6409,7 @@ sub_80A53E8: @ 80A53E8 cmp r6, 0 bne _080A5424 ldr r1, _080A5464 @ =gUnknown_2023D44 - ldr r4, _080A5468 @ =gUnknown_2037F1A + ldr r4, _080A5468 @ =gBattleAnimAttacker ldrb r0, [r4] adds r0, r1 ldrb r0, [r0] @@ -6465,7 +6465,7 @@ _080A545E: bx r0 .align 2, 0 _080A5464: .4byte gUnknown_2023D44 -_080A5468: .4byte gUnknown_2037F1A +_080A5468: .4byte gBattleAnimAttacker _080A546C: .4byte 0xfffffd00 _080A5470: .4byte sub_80A5584 thumb_func_end sub_80A53E8 @@ -6476,7 +6476,7 @@ sub_80A5474: @ 80A5474 adds r4, r0, 0 movs r0, 0x4 strh r0, [r4, 0x2E] - ldr r5, _080A54B4 @ =gUnknown_2037F1A + ldr r5, _080A54B4 @ =gBattleAnimAttacker ldrb r0, [r5] bl GetBattlerSide lsls r0, 24 @@ -6504,7 +6504,7 @@ _080A5492: pop {r0} bx r0 .align 2, 0 -_080A54B4: .4byte gUnknown_2037F1A +_080A54B4: .4byte gBattleAnimAttacker _080A54B8: .4byte gUnknown_2023D44 _080A54BC: .4byte sub_80A5584 _080A54C0: .4byte sub_8074DC4 @@ -6541,7 +6541,7 @@ sub_80A54E8: @ 80A54E8 cmp r0, 0 bne _080A5538 ldr r1, _080A5524 @ =gUnknown_2023D44 - ldr r4, _080A5528 @ =gUnknown_2037F1A + ldr r4, _080A5528 @ =gBattleAnimAttacker ldrb r0, [r4] adds r0, r1 ldrb r0, [r0] @@ -6564,7 +6564,7 @@ sub_80A54E8: @ 80A54E8 b _080A5536 .align 2, 0 _080A5524: .4byte gUnknown_2023D44 -_080A5528: .4byte gUnknown_2037F1A +_080A5528: .4byte gBattleAnimAttacker _080A552C: movs r0, 0x80 lsls r0, 3 @@ -6650,7 +6650,7 @@ _080A55B6: _080A55BC: strh r5, [r4, 0x30] ldr r1, _080A5640 @ =gUnknown_2023D44 - ldr r2, _080A5644 @ =gUnknown_2037F1A + ldr r2, _080A5644 @ =gBattleAnimAttacker ldrb r0, [r2] adds r0, r1 ldrb r0, [r0] @@ -6714,7 +6714,7 @@ _080A55FA: b _080A568E .align 2, 0 _080A5640: .4byte gUnknown_2023D44 -_080A5644: .4byte gUnknown_2037F1A +_080A5644: .4byte gBattleAnimAttacker _080A5648: .4byte 0xfffffe00 _080A564C: ldrh r0, [r4, 0x36] @@ -6763,7 +6763,7 @@ sub_80A5694: @ 80A5694 lsls r0, 3 adds r5, r0, r1 ldr r1, _080A56DC @ =gUnknown_2023D44 - ldr r2, _080A56E0 @ =gUnknown_2037F1A + ldr r2, _080A56E0 @ =gBattleAnimAttacker ldrb r0, [r2] adds r0, r1 ldrb r0, [r0] @@ -6775,7 +6775,7 @@ sub_80A5694: @ 80A5694 lsrs r2, r0, 24 strh r2, [r5, 0xA] strh r4, [r5, 0xC] - ldr r0, _080A56E4 @ =gUnknown_2037F02 + ldr r0, _080A56E4 @ =gBattleAnimArgs movs r3, 0 ldrsh r1, [r0, r3] cmp r1, 0 @@ -6788,8 +6788,8 @@ sub_80A5694: @ 80A5694 .align 2, 0 _080A56D8: .4byte gTasks _080A56DC: .4byte gUnknown_2023D44 -_080A56E0: .4byte gUnknown_2037F1A -_080A56E4: .4byte gUnknown_2037F02 +_080A56E0: .4byte gBattleAnimAttacker +_080A56E4: .4byte gBattleAnimArgs _080A56E8: strh r1, [r5, 0xC] movs r0, 0x8 @@ -7119,18 +7119,18 @@ _080A5938: sub_80A5940: @ 80A5940 push {r4-r6,lr} adds r5, r0, 0 - ldr r6, _080A5954 @ =gUnknown_2037F02 + ldr r6, _080A5954 @ =gBattleAnimArgs movs r1, 0 ldrsh r0, [r6, r1] cmp r0, 0 bne _080A595C - ldr r4, _080A5958 @ =gUnknown_2037F1A + ldr r4, _080A5958 @ =gBattleAnimAttacker b _080A595E .align 2, 0 -_080A5954: .4byte gUnknown_2037F02 -_080A5958: .4byte gUnknown_2037F1A +_080A5954: .4byte gBattleAnimArgs +_080A5958: .4byte gBattleAnimAttacker _080A595C: - ldr r4, _080A599C @ =gUnknown_2037F1B + ldr r4, _080A599C @ =gBattleAnimTarget _080A595E: ldrb r0, [r4] movs r1, 0x2 @@ -7160,7 +7160,7 @@ _080A595E: pop {r0} bx r0 .align 2, 0 -_080A599C: .4byte gUnknown_2037F1B +_080A599C: .4byte gBattleAnimTarget _080A59A0: .4byte sub_80A5A8C _080A59A4: .4byte sub_8074F6C thumb_func_end sub_80A5940 @@ -7169,7 +7169,7 @@ _080A59A4: .4byte sub_8074F6C sub_80A59A8: @ 80A59A8 push {r4,r5,lr} adds r4, r0, 0 - ldr r5, _080A59E0 @ =gUnknown_2037F1B + ldr r5, _080A59E0 @ =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 bl sub_8074480 @@ -7193,7 +7193,7 @@ sub_80A59A8: @ 80A59A8 pop {r0} bx r0 .align 2, 0 -_080A59E0: .4byte gUnknown_2037F1B +_080A59E0: .4byte gBattleAnimTarget _080A59E4: .4byte 0x0000ffd0 _080A59E8: .4byte sub_80A5A44 _080A59EC: .4byte sub_8074F6C @@ -7203,13 +7203,13 @@ _080A59EC: .4byte sub_8074F6C sub_80A59F0: @ 80A59F0 push {r4-r6,lr} adds r4, r0, 0 - ldr r5, _080A5A34 @ =gUnknown_2037F1B + ldr r5, _080A5A34 @ =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 bl sub_8074480 lsls r0, 24 lsrs r0, 24 - ldr r1, _080A5A38 @ =gUnknown_2037F02 + ldr r1, _080A5A38 @ =gBattleAnimArgs ldr r2, _080A5A3C @ =0x0000ffd0 adds r0, r2 ldrh r1, [r1] @@ -7233,8 +7233,8 @@ sub_80A59F0: @ 80A59F0 pop {r0} bx r0 .align 2, 0 -_080A5A34: .4byte gUnknown_2037F1B -_080A5A38: .4byte gUnknown_2037F02 +_080A5A34: .4byte gBattleAnimTarget +_080A5A38: .4byte gBattleAnimArgs _080A5A3C: .4byte 0x0000ffd0 _080A5A40: .4byte sub_80A5A8C thumb_func_end sub_80A59F0 @@ -7328,18 +7328,18 @@ _080A5AD4: sub_80A5AD8: @ 80A5AD8 push {r4-r6,lr} adds r5, r0, 0 - ldr r6, _080A5AEC @ =gUnknown_2037F02 + ldr r6, _080A5AEC @ =gBattleAnimArgs movs r1, 0 ldrsh r0, [r6, r1] cmp r0, 0 bne _080A5AF4 - ldr r4, _080A5AF0 @ =gUnknown_2037F1A + ldr r4, _080A5AF0 @ =gBattleAnimAttacker b _080A5AF6 .align 2, 0 -_080A5AEC: .4byte gUnknown_2037F02 -_080A5AF0: .4byte gUnknown_2037F1A +_080A5AEC: .4byte gBattleAnimArgs +_080A5AF0: .4byte gBattleAnimAttacker _080A5AF4: - ldr r4, _080A5B30 @ =gUnknown_2037F1B + ldr r4, _080A5B30 @ =gBattleAnimTarget _080A5AF6: ldrb r0, [r4] movs r1, 0 @@ -7359,7 +7359,7 @@ _080A5AF6: strh r0, [r5, 0x22] movs r0, 0 strh r0, [r5, 0x2E] - ldr r0, _080A5B34 @ =gUnknown_2037F02 + ldr r0, _080A5B34 @ =gBattleAnimArgs ldrh r0, [r0, 0x6] strh r0, [r5, 0x30] ldr r0, _080A5B38 @ =sub_80A5B3C @@ -7368,8 +7368,8 @@ _080A5AF6: pop {r0} bx r0 .align 2, 0 -_080A5B30: .4byte gUnknown_2037F1B -_080A5B34: .4byte gUnknown_2037F02 +_080A5B30: .4byte gBattleAnimTarget +_080A5B34: .4byte gBattleAnimArgs _080A5B38: .4byte sub_80A5B3C thumb_func_end sub_80A5AD8 @@ -7414,7 +7414,7 @@ _080A5B78: sub_80A5B7C: @ 80A5B7C push {r4-r6,lr} adds r4, r0, 0 - ldr r6, _080A5BC4 @ =gUnknown_2037F1A + ldr r6, _080A5BC4 @ =gBattleAnimAttacker ldrb r0, [r6] movs r1, 0x2 bl sub_8074480 @@ -7446,7 +7446,7 @@ sub_80A5B7C: @ 80A5B7C pop {r0} bx r0 .align 2, 0 -_080A5BC4: .4byte gUnknown_2037F1A +_080A5BC4: .4byte gBattleAnimAttacker _080A5BC8: .4byte sub_80A5BCC thumb_func_end sub_80A5B7C @@ -7541,12 +7541,12 @@ sub_80A5C68: @ 80A5C68 ldrsh r0, [r6, r1] cmp r0, 0 bne _080A5CB2 - ldr r4, _080A5CC8 @ =gUnknown_2037F1A + ldr r4, _080A5CC8 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0 bl sub_8074480 lsls r0, 24 - ldr r5, _080A5CCC @ =gUnknown_2037F02 + ldr r5, _080A5CCC @ =gBattleAnimArgs lsrs r0, 24 ldrh r1, [r5] adds r0, r1 @@ -7571,7 +7571,7 @@ _080A5CAC: adds r0, 0x1 strh r0, [r6, 0x2E] _080A5CB2: - ldr r0, _080A5CCC @ =gUnknown_2037F02 + ldr r0, _080A5CCC @ =gBattleAnimArgs ldrh r1, [r0, 0xE] ldr r0, _080A5CD0 @ =0x0000ffff cmp r1, r0 @@ -7583,8 +7583,8 @@ _080A5CC2: pop {r0} bx r0 .align 2, 0 -_080A5CC8: .4byte gUnknown_2037F1A -_080A5CCC: .4byte gUnknown_2037F02 +_080A5CC8: .4byte gBattleAnimAttacker +_080A5CCC: .4byte gBattleAnimArgs _080A5CD0: .4byte 0x0000ffff thumb_func_end sub_80A5C68 @@ -7602,13 +7602,13 @@ sub_80A5CD4: @ 80A5CD4 ldrsh r0, [r4, r1] cmp r0, 0x1 bne _080A5D00 - ldr r1, _080A5CF8 @ =gUnknown_2037F02 + ldr r1, _080A5CF8 @ =gBattleAnimArgs ldr r0, _080A5CFC @ =0x0000ffff strh r0, [r1, 0xE] b _080A5D3E .align 2, 0 _080A5CF4: .4byte gTasks -_080A5CF8: .4byte gUnknown_2037F02 +_080A5CF8: .4byte gBattleAnimArgs _080A5CFC: .4byte 0x0000ffff _080A5D00: cmp r0, 0x2 @@ -7663,7 +7663,7 @@ sub_80A5D4C: @ 80A5D4C movs r1, 0x40 orrs r0, r1 strb r0, [r2] - ldr r0, _080A5D74 @ =gUnknown_2037F02 + ldr r0, _080A5D74 @ =gBattleAnimArgs ldrh r0, [r0, 0x4] strh r0, [r4, 0x2E] ldr r0, _080A5D78 @ =sub_80A5D7C @@ -7672,7 +7672,7 @@ sub_80A5D4C: @ 80A5D4C pop {r0} bx r0 .align 2, 0 -_080A5D74: .4byte gUnknown_2037F02 +_080A5D74: .4byte gBattleAnimArgs _080A5D78: .4byte sub_80A5D7C thumb_func_end sub_80A5D4C @@ -7698,7 +7698,7 @@ _080A5D90: strb r0, [r2] movs r0, 0x1E strh r0, [r5, 0x2E] - ldr r4, _080A5DD4 @ =gUnknown_2037F1A + ldr r4, _080A5DD4 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -7721,7 +7721,7 @@ _080A5DCC: pop {r0} bx r0 .align 2, 0 -_080A5DD4: .4byte gUnknown_2037F1A +_080A5DD4: .4byte gBattleAnimAttacker _080A5DD8: .4byte sub_8075590 _080A5DDC: .4byte DestroyAnimSprite thumb_func_end sub_80A5D7C @@ -7780,7 +7780,7 @@ sub_80A5E34: @ 80A5E34 ldrb r0, [r0] cmp r4, r0 bcs _080A5E90 - ldr r6, _080A5EA0 @ =gUnknown_2037F02 + ldr r6, _080A5EA0 @ =gBattleAnimArgs ldr r5, _080A5EA4 @ =gUnknown_3004FF0 _080A5E48: movs r1, 0 @@ -7825,7 +7825,7 @@ _080A5E90: bx r0 .align 2, 0 _080A5E9C: .4byte gBattlersCount -_080A5EA0: .4byte gUnknown_2037F02 +_080A5EA0: .4byte gBattleAnimArgs _080A5EA4: .4byte gUnknown_3004FF0 thumb_func_end sub_80A5E34 @@ -7872,7 +7872,7 @@ sub_80A5EE0: @ 80A5EE0 movs r0, 0x28 b _080A5EFE _080A5EF6: - ldr r0, _080A5F20 @ =gUnknown_2037F02 + ldr r0, _080A5F20 @ =gBattleAnimArgs ldrh r1, [r0] strh r1, [r4, 0x20] ldrh r0, [r0, 0x2] @@ -7894,7 +7894,7 @@ _080A5EFE: pop {r0} bx r0 .align 2, 0 -_080A5F20: .4byte gUnknown_2037F02 +_080A5F20: .4byte gBattleAnimArgs _080A5F24: .4byte sub_80A5F28 thumb_func_end sub_80A5EE0 @@ -7917,12 +7917,12 @@ _080A5F3A: sub_80A5F40: @ 80A5F40 push {r4,lr} adds r4, r0, 0 - ldr r0, _080A5F78 @ =gUnknown_2037F1A + ldr r0, _080A5F78 @ =gBattleAnimAttacker ldrb r0, [r0] movs r1, 0x2 bl sub_8074480 lsls r0, 24 - ldr r2, _080A5F7C @ =gUnknown_2037F02 + ldr r2, _080A5F7C @ =gBattleAnimArgs lsrs r0, 24 ldrh r1, [r2] adds r0, r1 @@ -7942,8 +7942,8 @@ sub_80A5F40: @ 80A5F40 pop {r0} bx r0 .align 2, 0 -_080A5F78: .4byte gUnknown_2037F1A -_080A5F7C: .4byte gUnknown_2037F02 +_080A5F78: .4byte gBattleAnimAttacker +_080A5F7C: .4byte gBattleAnimArgs _080A5F80: .4byte sub_80A5F84 thumb_func_end sub_80A5F40 @@ -8311,7 +8311,7 @@ _080A6240: .4byte gPaletteFade sub_80A6244: @ 80A6244 push {r4-r6,lr} adds r5, r0, 0 - ldr r6, _080A62C8 @ =gUnknown_2037F02 + ldr r6, _080A62C8 @ =gBattleAnimArgs movs r1, 0x4 ldrsh r0, [r6, r1] cmp r0, 0x1 @@ -8330,7 +8330,7 @@ _080A6262: strh r0, [r5, 0x2E] ldrh r0, [r6, 0x4] strh r0, [r5, 0x30] - ldr r4, _080A62CC @ =gUnknown_2037F1B + ldr r4, _080A62CC @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -8374,11 +8374,11 @@ _080A6262: ldr r0, _080A62D0 @ =0xffffec00 b _080A62FA .align 2, 0 -_080A62C8: .4byte gUnknown_2037F02 -_080A62CC: .4byte gUnknown_2037F1B +_080A62C8: .4byte gBattleAnimArgs +_080A62CC: .4byte gBattleAnimTarget _080A62D0: .4byte 0xffffec00 _080A62D4: - ldr r0, _080A6314 @ =gUnknown_2037F1A + ldr r0, _080A6314 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -8408,7 +8408,7 @@ _080A62FA: strh r0, [r5, 0x38] b _080A6358 .align 2, 0 -_080A6314: .4byte gUnknown_2037F1A +_080A6314: .4byte gBattleAnimAttacker _080A6318: .4byte 0xfffff600 _080A631C: ldrh r0, [r5, 0x20] @@ -8606,7 +8606,7 @@ _080A6488: _080A649A: ldr r0, _080A64C0 @ =sub_80A64E0 str r0, [r6] - ldr r0, _080A64C4 @ =gUnknown_2037F1A + ldr r0, _080A64C4 @ =gBattleAnimAttacker ldrb r0, [r0] bl sub_80768B0 lsls r0, 24 @@ -8621,7 +8621,7 @@ _080A649A: .align 2, 0 _080A64BC: .4byte sub_80A653C _080A64C0: .4byte sub_80A64E0 -_080A64C4: .4byte gUnknown_2037F1A +_080A64C4: .4byte gBattleAnimAttacker _080A64C8: movs r1, 0x80 lsls r1, 3 @@ -8650,7 +8650,7 @@ sub_80A64E0: @ 80A64E0 ldrsh r0, [r0, r1] cmp r0, 0 bne _080A6532 - ldr r0, _080A6518 @ =gUnknown_2037F1A + ldr r0, _080A6518 @ =gBattleAnimAttacker ldrb r0, [r0] bl sub_80768B0 lsls r0, 24 @@ -8664,7 +8664,7 @@ sub_80A64E0: @ 80A64E0 b _080A6526 .align 2, 0 _080A6514: .4byte gTasks -_080A6518: .4byte gUnknown_2037F1A +_080A6518: .4byte gBattleAnimAttacker _080A651C: movs r1, 0x80 lsls r1, 3 @@ -8904,7 +8904,7 @@ sub_80A66D4: @ 80A66D4 sub sp, 0x4 adds r5, r0, 0 bl sub_8074FCC - ldr r4, _080A672C @ =gUnknown_2037F02 + ldr r4, _080A672C @ =gBattleAnimArgs ldrb r1, [r4] adds r0, r5, 0 bl StartSpriteAnim @@ -8942,10 +8942,10 @@ _080A6710: movs r3, 0x28 b _080A674E .align 2, 0 -_080A672C: .4byte gUnknown_2037F02 +_080A672C: .4byte gBattleAnimArgs _080A6730: .4byte gUnknown_83E3898 _080A6734: - ldr r4, _080A6784 @ =gUnknown_2037F1B + ldr r4, _080A6784 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -8983,7 +8983,7 @@ _080A674E: pop {r0} bx r0 .align 2, 0 -_080A6784: .4byte gUnknown_2037F1B +_080A6784: .4byte gBattleAnimTarget _080A6788: .4byte sub_80A67E4 thumb_func_end sub_80A66D4 @@ -9146,14 +9146,14 @@ _080A68AC: .4byte gUnknown_83E3898 sub_80A68B0: @ 80A68B0 push {r4-r7,lr} adds r6, r0, 0 - ldr r7, _080A6934 @ =gUnknown_2037F1A + ldr r7, _080A6934 @ =gBattleAnimAttacker ldrb r0, [r7] bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 bne _080A68CE - ldr r1, _080A6938 @ =gUnknown_2037F02 + ldr r1, _080A6938 @ =gBattleAnimArgs movs r2, 0x2 ldrsh r0, [r1, r2] negs r0, r0 @@ -9163,7 +9163,7 @@ _080A68CE: movs r1, 0x2 bl sub_8074480 lsls r0, 24 - ldr r4, _080A6938 @ =gUnknown_2037F02 + ldr r4, _080A6938 @ =gBattleAnimArgs lsrs r0, 24 ldrh r1, [r4, 0x2] adds r0, r1 @@ -9206,8 +9206,8 @@ _080A68CE: pop {r0} bx r0 .align 2, 0 -_080A6934: .4byte gUnknown_2037F1A -_080A6938: .4byte gUnknown_2037F02 +_080A6934: .4byte gBattleAnimAttacker +_080A6938: .4byte gBattleAnimArgs _080A693C: .4byte sub_80A6940 thumb_func_end sub_80A68B0 @@ -9278,7 +9278,7 @@ _080A69B2: sub_80A69B8: @ 80A69B8 push {r4-r6,lr} adds r5, r0, 0 - ldr r0, _080A69D8 @ =gUnknown_2037F02 + ldr r0, _080A69D8 @ =gBattleAnimArgs movs r1, 0 ldrsh r0, [r0, r1] cmp r0, 0x1 @@ -9293,11 +9293,11 @@ sub_80A69B8: @ 80A69B8 movs r6, 0x10 b _080A69DE .align 2, 0 -_080A69D8: .4byte gUnknown_2037F02 +_080A69D8: .4byte gBattleAnimArgs _080A69DC: ldr r6, _080A6A18 @ =0x0000fff0 _080A69DE: - ldr r4, _080A6A1C @ =gUnknown_2037F1A + ldr r4, _080A6A1C @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -9324,7 +9324,7 @@ _080A69DE: bx r0 .align 2, 0 _080A6A18: .4byte 0x0000fff0 -_080A6A1C: .4byte gUnknown_2037F1A +_080A6A1C: .4byte gBattleAnimAttacker _080A6A20: .4byte sub_8074C44 _080A6A24: .4byte DestroyAnimSprite thumb_func_end sub_80A69B8 @@ -9337,7 +9337,7 @@ sub_80A6A28: @ 80A6A28 ldrh r0, [r4, 0x22] adds r0, 0x8 strh r0, [r4, 0x22] - ldr r5, _080A6AA0 @ =gUnknown_2037F02 + ldr r5, _080A6AA0 @ =gBattleAnimArgs ldrb r1, [r5, 0x2] adds r0, r4, 0 bl StartSpriteAnim @@ -9390,7 +9390,7 @@ _080A6A74: pop {r0} bx r0 .align 2, 0 -_080A6AA0: .4byte gUnknown_2037F02 +_080A6AA0: .4byte gBattleAnimArgs _080A6AA4: .4byte gUnknown_83E3898 _080A6AA8: .4byte 0x0000ffe0 _080A6AAC: .4byte sub_80A6AB0 @@ -9495,18 +9495,18 @@ _080A6B58: sub_80A6B64: @ 80A6B64 push {r4,r5,lr} adds r5, r0, 0 - ldr r0, _080A6B78 @ =gUnknown_2037F02 + ldr r0, _080A6B78 @ =gBattleAnimArgs movs r1, 0 ldrsh r0, [r0, r1] cmp r0, 0 bne _080A6B80 - ldr r0, _080A6B7C @ =gUnknown_2037F1A + ldr r0, _080A6B7C @ =gBattleAnimAttacker b _080A6B82 .align 2, 0 -_080A6B78: .4byte gUnknown_2037F02 -_080A6B7C: .4byte gUnknown_2037F1A +_080A6B78: .4byte gBattleAnimArgs +_080A6B7C: .4byte gBattleAnimAttacker _080A6B80: - ldr r0, _080A6BC0 @ =gUnknown_2037F1B + ldr r0, _080A6BC0 @ =gBattleAnimTarget _080A6B82: ldrb r4, [r0] adds r0, r4, 0 @@ -9519,7 +9519,7 @@ _080A6B82: negs r1, r0 orrs r1, r0 lsrs r1, 31 - ldr r0, _080A6BC4 @ =gUnknown_2037F02 + ldr r0, _080A6BC4 @ =gBattleAnimArgs ldrh r0, [r0, 0x2] strh r0, [r5, 0x2E] adds r0, r1, 0x2 @@ -9535,8 +9535,8 @@ _080A6B82: pop {r0} bx r0 .align 2, 0 -_080A6BC0: .4byte gUnknown_2037F1B -_080A6BC4: .4byte gUnknown_2037F02 +_080A6BC0: .4byte gBattleAnimTarget +_080A6BC4: .4byte gBattleAnimArgs _080A6BC8: .4byte sub_80A6BD0 _080A6BCC: .4byte sub_8074F6C thumb_func_end sub_80A6B64 @@ -9574,18 +9574,18 @@ _080A6C04: .4byte sub_8074F6C sub_80A6C08: @ 80A6C08 push {r4,lr} adds r4, r0, 0 - ldr r0, _080A6C1C @ =gUnknown_2037F02 + ldr r0, _080A6C1C @ =gBattleAnimArgs movs r1, 0 ldrsh r0, [r0, r1] cmp r0, 0 bne _080A6C24 - ldr r0, _080A6C20 @ =gUnknown_2037F1A + ldr r0, _080A6C20 @ =gBattleAnimAttacker b _080A6C26 .align 2, 0 -_080A6C1C: .4byte gUnknown_2037F02 -_080A6C20: .4byte gUnknown_2037F1A +_080A6C1C: .4byte gBattleAnimArgs +_080A6C20: .4byte gBattleAnimAttacker _080A6C24: - ldr r0, _080A6C44 @ =gUnknown_2037F1B + ldr r0, _080A6C44 @ =gBattleAnimTarget _080A6C26: ldrb r0, [r0] adds r1, r4, 0 @@ -9601,7 +9601,7 @@ _080A6C26: pop {r0} bx r0 .align 2, 0 -_080A6C44: .4byte gUnknown_2037F1B +_080A6C44: .4byte gBattleAnimTarget _080A6C48: .4byte sub_80A6C50 _080A6C4C: .4byte sub_8074F50 thumb_func_end sub_80A6C08 @@ -9638,18 +9638,18 @@ _080A6C80: .4byte sub_8074F50 sub_80A6C84: @ 80A6C84 push {r4-r6,lr} adds r4, r0, 0 - ldr r0, _080A6C98 @ =gUnknown_2037F02 + ldr r0, _080A6C98 @ =gBattleAnimArgs movs r1, 0 ldrsh r0, [r0, r1] cmp r0, 0 bne _080A6CA0 - ldr r0, _080A6C9C @ =gUnknown_2037F1A + ldr r0, _080A6C9C @ =gBattleAnimAttacker b _080A6CA2 .align 2, 0 -_080A6C98: .4byte gUnknown_2037F02 -_080A6C9C: .4byte gUnknown_2037F1A +_080A6C98: .4byte gBattleAnimArgs +_080A6C9C: .4byte gBattleAnimAttacker _080A6CA0: - ldr r0, _080A6CF4 @ =gUnknown_2037F1B + ldr r0, _080A6CF4 @ =gBattleAnimTarget _080A6CA2: ldrb r5, [r0] adds r0, r5, 0 @@ -9690,7 +9690,7 @@ _080A6CCA: pop {r0} bx r0 .align 2, 0 -_080A6CF4: .4byte gUnknown_2037F1B +_080A6CF4: .4byte gBattleAnimTarget _080A6CF8: .4byte sub_80A6D00 _080A6CFC: .4byte sub_8074F50 thumb_func_end sub_80A6C84 @@ -9784,18 +9784,18 @@ _080A6D8C: .4byte gSineTable sub_80A6D90: @ 80A6D90 push {r4,r5,lr} adds r5, r0, 0 - ldr r0, _080A6DA4 @ =gUnknown_2037F02 + ldr r0, _080A6DA4 @ =gBattleAnimArgs movs r1, 0 ldrsh r0, [r0, r1] cmp r0, 0 bne _080A6DAC - ldr r0, _080A6DA8 @ =gUnknown_2037F1A + ldr r0, _080A6DA8 @ =gBattleAnimAttacker b _080A6DAE .align 2, 0 -_080A6DA4: .4byte gUnknown_2037F02 -_080A6DA8: .4byte gUnknown_2037F1A +_080A6DA4: .4byte gBattleAnimArgs +_080A6DA8: .4byte gBattleAnimAttacker _080A6DAC: - ldr r0, _080A6DD0 @ =gUnknown_2037F1B + ldr r0, _080A6DD0 @ =gBattleAnimTarget _080A6DAE: ldrb r4, [r0] adds r0, r4, 0 @@ -9812,7 +9812,7 @@ _080A6DAE: movs r0, 0x2 b _080A6DDE .align 2, 0 -_080A6DD0: .4byte gUnknown_2037F1B +_080A6DD0: .4byte gBattleAnimTarget _080A6DD4: adds r0, r5, 0 movs r1, 0x1 @@ -9884,7 +9884,7 @@ sub_80A6E48: @ 80A6E48 push {r4,r5,lr} adds r4, r0, 0 bl sub_8074FCC - ldr r5, _080A6E8C @ =gUnknown_2037F02 + ldr r5, _080A6E8C @ =gBattleAnimArgs movs r0, 0 ldrsh r1, [r5, r0] adds r0, r4, 0 @@ -9912,7 +9912,7 @@ sub_80A6E48: @ 80A6E48 pop {r0} bx r0 .align 2, 0 -_080A6E8C: .4byte gUnknown_2037F02 +_080A6E8C: .4byte gBattleAnimArgs _080A6E90: .4byte move_anim_8074EE0 _080A6E94: .4byte sub_8074BE4 thumb_func_end sub_80A6E48 @@ -9921,18 +9921,18 @@ _080A6E94: .4byte sub_8074BE4 sub_80A6E98: @ 80A6E98 push {r4,lr} adds r4, r0, 0 - ldr r0, _080A6EAC @ =gUnknown_2037F02 + ldr r0, _080A6EAC @ =gBattleAnimArgs movs r1, 0 ldrsh r0, [r0, r1] cmp r0, 0 bne _080A6EB4 - ldr r0, _080A6EB0 @ =gUnknown_2037F1A + ldr r0, _080A6EB0 @ =gBattleAnimAttacker b _080A6EB6 .align 2, 0 -_080A6EAC: .4byte gUnknown_2037F02 -_080A6EB0: .4byte gUnknown_2037F1A +_080A6EAC: .4byte gBattleAnimArgs +_080A6EB0: .4byte gBattleAnimAttacker _080A6EB4: - ldr r0, _080A6ED0 @ =gUnknown_2037F1B + ldr r0, _080A6ED0 @ =gBattleAnimTarget _080A6EB6: ldrb r0, [r0] adds r1, r4, 0 @@ -9946,7 +9946,7 @@ _080A6EB6: pop {r0} bx r0 .align 2, 0 -_080A6ED0: .4byte gUnknown_2037F1B +_080A6ED0: .4byte gBattleAnimTarget _080A6ED4: .4byte sub_80A6ED8 thumb_func_end sub_80A6E98 @@ -10056,7 +10056,7 @@ _080A6F88: .4byte gSprites sub_80A6F8C: @ 80A6F8C push {r4-r6,lr} adds r5, r0, 0 - ldr r4, _080A6FD4 @ =gUnknown_2037F1A + ldr r4, _080A6FD4 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -10070,7 +10070,7 @@ sub_80A6F8C: @ 80A6F8C lsrs r0, 24 strh r0, [r5, 0x22] ldr r1, _080A6FD8 @ =gUnknown_2023D44 - ldr r0, _080A6FDC @ =gUnknown_2037F1B + ldr r0, _080A6FDC @ =gBattleAnimTarget ldrb r0, [r0] adds r0, r1 ldrb r6, [r0] @@ -10079,7 +10079,7 @@ sub_80A6F8C: @ 80A6F8C lsls r0, 24 cmp r0, 0 beq _080A6FE4 - ldr r0, _080A6FE0 @ =gUnknown_2037F02 + ldr r0, _080A6FE0 @ =gBattleAnimArgs ldrh r1, [r5, 0x20] ldrh r2, [r0] subs r1, r2 @@ -10087,12 +10087,12 @@ sub_80A6F8C: @ 80A6F8C adds r1, r0, 0 b _080A6FEE .align 2, 0 -_080A6FD4: .4byte gUnknown_2037F1A +_080A6FD4: .4byte gBattleAnimAttacker _080A6FD8: .4byte gUnknown_2023D44 -_080A6FDC: .4byte gUnknown_2037F1B -_080A6FE0: .4byte gUnknown_2037F02 +_080A6FDC: .4byte gBattleAnimTarget +_080A6FE0: .4byte gBattleAnimArgs _080A6FE4: - ldr r1, _080A7018 @ =gUnknown_2037F02 + ldr r1, _080A7018 @ =gBattleAnimArgs ldrh r0, [r1] ldrh r2, [r5, 0x20] adds r0, r2 @@ -10119,7 +10119,7 @@ _080A6FEE: pop {r0} bx r0 .align 2, 0 -_080A7018: .4byte gUnknown_2037F02 +_080A7018: .4byte gBattleAnimArgs _080A701C: .4byte sub_80A6F3C thumb_func_end sub_80A6F8C @@ -10129,7 +10129,7 @@ sub_80A7020: @ 80A7020 adds r4, r0, 0 movs r1, 0x1 bl sub_8075160 - ldr r1, _080A704C @ =gUnknown_2037F02 + ldr r1, _080A704C @ =gBattleAnimArgs ldrh r0, [r1, 0x4] strh r0, [r4, 0x2E] ldrh r0, [r1, 0x6] @@ -10145,7 +10145,7 @@ sub_80A7020: @ 80A7020 pop {r0} bx r0 .align 2, 0 -_080A704C: .4byte gUnknown_2037F02 +_080A704C: .4byte gBattleAnimArgs _080A7050: .4byte sub_8074C44 _080A7054: .4byte sub_80A7058 thumb_func_end sub_80A7020 @@ -10198,7 +10198,7 @@ sub_80A70A0: @ 80A70A0 lsls r4, 24 lsrs r4, 24 ldr r1, _080A70CC @ =gUnknown_2023D44 - ldr r0, _080A70D0 @ =gUnknown_2037F1A + ldr r0, _080A70D0 @ =gBattleAnimAttacker ldrb r0, [r0] adds r0, r1 ldrb r0, [r0] @@ -10216,7 +10216,7 @@ sub_80A70A0: @ 80A70A0 bx r0 .align 2, 0 _080A70CC: .4byte gUnknown_2023D44 -_080A70D0: .4byte gUnknown_2037F1A +_080A70D0: .4byte gBattleAnimAttacker _080A70D4: .4byte gTasks _080A70D8: .4byte sub_80A70DC thumb_func_end sub_80A70A0 @@ -10227,7 +10227,7 @@ sub_80A70DC: @ 80A70DC lsls r0, 24 lsrs r5, r0, 24 ldr r1, _080A710C @ =gUnknown_2023D44 - ldr r0, _080A7110 @ =gUnknown_2037F1A + ldr r0, _080A7110 @ =gBattleAnimAttacker ldrb r0, [r0] adds r1, r0, r1 ldrb r4, [r1] @@ -10248,7 +10248,7 @@ sub_80A70DC: @ 80A70DC b _080A7126 .align 2, 0 _080A710C: .4byte gUnknown_2023D44 -_080A7110: .4byte gUnknown_2037F1A +_080A7110: .4byte gBattleAnimAttacker _080A7114: .4byte gTasks _080A7118: ldr r2, _080A7158 @ =gTasks @@ -10354,13 +10354,13 @@ sub_80A71D8: @ 80A71D8 push {r4,r5,lr} adds r4, r0, 0 bl sub_8074FCC - ldr r0, _080A71FC @ =gUnknown_2037F1A + ldr r0, _080A71FC @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080A7204 - ldr r0, _080A7200 @ =gUnknown_2037F02 + ldr r0, _080A7200 @ =gBattleAnimArgs ldrh r1, [r4, 0x20] ldrh r2, [r0] subs r1, r2 @@ -10368,10 +10368,10 @@ sub_80A71D8: @ 80A71D8 adds r5, r0, 0 b _080A7210 .align 2, 0 -_080A71FC: .4byte gUnknown_2037F1A -_080A7200: .4byte gUnknown_2037F02 +_080A71FC: .4byte gBattleAnimAttacker +_080A7200: .4byte gBattleAnimArgs _080A7204: - ldr r1, _080A7244 @ =gUnknown_2037F02 + ldr r1, _080A7244 @ =gBattleAnimArgs ldrh r0, [r1] ldrh r2, [r4, 0x20] adds r0, r2 @@ -10382,7 +10382,7 @@ _080A7210: ldrh r1, [r4, 0x22] adds r0, r1 strh r0, [r4, 0x22] - ldr r0, _080A7248 @ =gUnknown_2037F1A + ldr r0, _080A7248 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -10404,8 +10404,8 @@ _080A7210: strb r2, [r3] b _080A7260 .align 2, 0 -_080A7244: .4byte gUnknown_2037F02 -_080A7248: .4byte gUnknown_2037F1A +_080A7244: .4byte gBattleAnimArgs +_080A7248: .4byte gBattleAnimAttacker _080A724C: movs r2, 0x4 ldrsh r0, [r5, r2] @@ -10482,21 +10482,21 @@ sub_80A72C8: @ 80A72C8 lsls r0, 24 cmp r0, 0 beq _080A72EC - ldr r1, _080A72E8 @ =gUnknown_2037F02 + ldr r1, _080A72E8 @ =gBattleAnimArgs ldrh r0, [r1, 0x4] negs r0, r0 strh r0, [r1, 0x4] b _080A730E .align 2, 0 -_080A72E8: .4byte gUnknown_2037F02 +_080A72E8: .4byte gBattleAnimArgs _080A72EC: - ldr r0, _080A73B4 @ =gUnknown_2037F1A + ldr r0, _080A73B4 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080A730E - ldr r1, _080A73B8 @ =gUnknown_2037F02 + ldr r1, _080A73B8 @ =gBattleAnimArgs ldrh r0, [r1, 0x4] negs r0, r0 strh r0, [r1, 0x4] @@ -10510,12 +10510,12 @@ _080A730E: adds r0, r5, 0 movs r1, 0x1 bl sub_8075160 - ldr r4, _080A73BC @ =gUnknown_2037F1B + ldr r4, _080A73BC @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 lsls r0, 24 - ldr r6, _080A73B8 @ =gUnknown_2037F02 + ldr r6, _080A73B8 @ =gBattleAnimArgs lsrs r0, 24 ldrh r1, [r6, 0x4] adds r0, r1 @@ -10584,9 +10584,9 @@ _080A7380: pop {r0} bx r0 .align 2, 0 -_080A73B4: .4byte gUnknown_2037F1A -_080A73B8: .4byte gUnknown_2037F02 -_080A73BC: .4byte gUnknown_2037F1B +_080A73B4: .4byte gBattleAnimAttacker +_080A73B8: .4byte gBattleAnimArgs +_080A73BC: .4byte gBattleAnimTarget _080A73C0: .4byte 0xffffa000 _080A73C4: .4byte sub_8075590 _080A73C8: .4byte DestroyAnimSprite @@ -11044,7 +11044,7 @@ sub_80A76F0: @ 80A76F0 adds r0, r1 movs r1, 0x2 strh r1, [r0, 0x10] - ldr r3, _080A7750 @ =gUnknown_2037F02 + ldr r3, _080A7750 @ =gBattleAnimArgs ldrh r0, [r3] negs r0, r0 strh r0, [r3] @@ -11061,7 +11061,7 @@ sub_80A76F0: @ 80A76F0 b _080A77B6 .align 2, 0 _080A774C: .4byte gTasks -_080A7750: .4byte gUnknown_2037F02 +_080A7750: .4byte gBattleAnimArgs _080A7754: movs r0, 0x1 orrs r0, r1 @@ -11069,7 +11069,7 @@ _080A7754: b _080A77B6 _080A775C: ldr r1, _080A77A0 @ =gUnknown_2023BD6 - ldr r0, _080A77A4 @ =gUnknown_2037F1B + ldr r0, _080A77A4 @ =gBattleAnimTarget ldrb r0, [r0] adds r0, r1 ldrb r1, [r0] @@ -11085,7 +11085,7 @@ _080A775C: lsls r0, 3 adds r0, r1 strh r3, [r0, 0x10] - ldr r2, _080A77AC @ =gUnknown_2037F02 + ldr r2, _080A77AC @ =gBattleAnimArgs ldrh r0, [r2] negs r0, r0 strh r0, [r2] @@ -11103,16 +11103,16 @@ _080A775C: b _080A77B4 .align 2, 0 _080A77A0: .4byte gUnknown_2023BD6 -_080A77A4: .4byte gUnknown_2037F1B +_080A77A4: .4byte gBattleAnimTarget _080A77A8: .4byte gTasks -_080A77AC: .4byte gUnknown_2037F02 +_080A77AC: .4byte gBattleAnimArgs _080A77B0: movs r0, 0x1 orrs r0, r1 _080A77B4: strh r0, [r2, 0x4] _080A77B6: - ldr r5, _080A7810 @ =gUnknown_2037F1A + ldr r5, _080A7810 @ =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0 bl sub_8074480 @@ -11138,7 +11138,7 @@ _080A77B6: ands r0, r1 cmp r0, 0 beq _080A7820 - ldr r4, _080A781C @ =gUnknown_2037F1B + ldr r4, _080A781C @ =gBattleAnimTarget ldrb r1, [r4] movs r0, 0x2 eors r0, r1 @@ -11153,13 +11153,13 @@ _080A77B6: bl sub_8076D9C b _080A7842 .align 2, 0 -_080A7810: .4byte gUnknown_2037F1A +_080A7810: .4byte gBattleAnimAttacker _080A7814: .4byte gTasks _080A7818: .4byte gBattleTypeFlags -_080A781C: .4byte gUnknown_2037F1B +_080A781C: .4byte gBattleAnimTarget _080A7820: mov r5, sp - ldr r4, _080A787C @ =gUnknown_2037F1B + ldr r4, _080A787C @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0 bl sub_8074480 @@ -11181,7 +11181,7 @@ _080A7842: lsls r1, 3 adds r1, r0 mov r2, sp - ldr r3, _080A7884 @ =gUnknown_2037F02 + ldr r3, _080A7884 @ =gBattleAnimArgs ldrh r0, [r3] ldrh r2, [r2] adds r0, r2 @@ -11204,9 +11204,9 @@ _080A7842: subs r0, r2, r1 b _080A788A .align 2, 0 -_080A787C: .4byte gUnknown_2037F1B +_080A787C: .4byte gBattleAnimTarget _080A7880: .4byte gTasks -_080A7884: .4byte gUnknown_2037F02 +_080A7884: .4byte gBattleAnimArgs _080A7888: subs r0, r1, r2 _080A788A: @@ -11214,7 +11214,7 @@ _080A788A: lsrs r0, 16 lsls r4, r0, 16 asrs r4, 16 - ldr r5, _080A7900 @ =gUnknown_2037F02 + ldr r5, _080A7900 @ =gBattleAnimArgs ldrh r1, [r5, 0x4] movs r0, 0x2 negs r0, r0 @@ -11264,7 +11264,7 @@ _080A788A: strh r1, [r6, 0x18] b _080A7928 .align 2, 0 -_080A7900: .4byte gUnknown_2037F02 +_080A7900: .4byte gBattleAnimArgs _080A7904: .4byte gTasks _080A7908: subs r4, r1 @@ -11287,7 +11287,7 @@ _080A7928: adds r0, r3, r7 lsls r0, 3 adds r5, r0, r1 - ldr r4, _080A796C @ =gUnknown_2037F02 + ldr r4, _080A796C @ =gBattleAnimArgs ldrh r0, [r4, 0x6] strh r0, [r5, 0xE] ldrh r1, [r4, 0x8] @@ -11302,7 +11302,7 @@ _080A7928: asrs r0, 16 cmp r0, 0x3F ble _080A79A0 - ldr r0, _080A7970 @ =gUnknown_2037F1B + ldr r0, _080A7970 @ =gBattleAnimTarget ldrb r0, [r0] bl sub_807685C lsls r0, 24 @@ -11315,15 +11315,15 @@ _080A7928: b _080A79B0 .align 2, 0 _080A7968: .4byte gTasks -_080A796C: .4byte gUnknown_2037F02 -_080A7970: .4byte gUnknown_2037F1B +_080A796C: .4byte gBattleAnimArgs +_080A7970: .4byte gBattleAnimTarget _080A7974: .4byte 0x0000ffc0 _080A7978: lsls r0, r1, 16 asrs r0, 16 cmp r0, 0x3F ble _080A79A0 - ldr r0, _080A7998 @ =gUnknown_2037F1B + ldr r0, _080A7998 @ =gBattleAnimTarget ldrb r0, [r0] bl sub_807685C lsls r0, 24 @@ -11335,10 +11335,10 @@ _080A7978: adds r0, r1 b _080A79B0 .align 2, 0 -_080A7998: .4byte gUnknown_2037F1B +_080A7998: .4byte gBattleAnimTarget _080A799C: .4byte 0x0000ffc0 _080A79A0: - ldr r0, _080A79DC @ =gUnknown_2037F1B + ldr r0, _080A79DC @ =gBattleAnimTarget ldrb r0, [r0] bl sub_807685C lsls r0, 24 @@ -11370,7 +11370,7 @@ _080A79C8: pop {r0} bx r0 .align 2, 0 -_080A79DC: .4byte gUnknown_2037F1B +_080A79DC: .4byte gBattleAnimTarget _080A79E0: .4byte gTasks _080A79E4: .4byte sub_80A760C thumb_func_end sub_80A76F0 @@ -11467,7 +11467,7 @@ sub_80A7A88: @ 80A7A88 adds r5, r0, 0 movs r1, 0x1 bl sub_8075160 - ldr r4, _080A7B28 @ =gUnknown_2037F1B + ldr r4, _080A7B28 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -11477,13 +11477,13 @@ sub_80A7A88: @ 80A7A88 movs r1, 0x3 bl sub_8074480 lsls r0, 24 - ldr r4, _080A7B2C @ =gUnknown_2037F02 + ldr r4, _080A7B2C @ =gBattleAnimArgs lsrs r0, 24 ldrh r1, [r4, 0x6] adds r0, r1 lsls r0, 16 lsrs r7, r0, 16 - ldr r0, _080A7B30 @ =gUnknown_2037F1A + ldr r0, _080A7B30 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -11537,9 +11537,9 @@ _080A7ACC: pop {r0} bx r0 .align 2, 0 -_080A7B28: .4byte gUnknown_2037F1B -_080A7B2C: .4byte gUnknown_2037F02 -_080A7B30: .4byte gUnknown_2037F1A +_080A7B28: .4byte gBattleAnimTarget +_080A7B2C: .4byte gBattleAnimArgs +_080A7B30: .4byte gBattleAnimAttacker _080A7B34: .4byte sub_80756A4 _080A7B38: .4byte DestroyAnimSprite thumb_func_end sub_80A7A88 @@ -11569,7 +11569,7 @@ sub_80A7B54: @ 80A7B54 lsls r0, 16 asrs r0, 24 strh r0, [r4, 0x24] - ldr r0, _080A7BC0 @ =gUnknown_2037F1A + ldr r0, _080A7BC0 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -11614,7 +11614,7 @@ _080A7BB8: pop {r0} bx r0 .align 2, 0 -_080A7BC0: .4byte gUnknown_2037F1A +_080A7BC0: .4byte gBattleAnimAttacker thumb_func_end sub_80A7B54 thumb_func_start sub_80A7BC4 @@ -11625,7 +11625,7 @@ sub_80A7BC4: @ 80A7BC4 bl sub_8075160 movs r0, 0x14 strh r0, [r4, 0x2E] - ldr r5, _080A7C10 @ =gUnknown_2037F1B + ldr r5, _080A7C10 @ =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 bl sub_8074480 @@ -11653,7 +11653,7 @@ sub_80A7BC4: @ 80A7BC4 pop {r0} bx r0 .align 2, 0 -_080A7C10: .4byte gUnknown_2037F1B +_080A7C10: .4byte gBattleAnimTarget _080A7C14: .4byte sub_8075590 _080A7C18: .4byte sub_80A7C1C thumb_func_end sub_80A7BC4 @@ -11782,7 +11782,7 @@ sub_80A7D04: @ 80A7D04 adds r4, r0, 0 movs r1, 0 bl sub_8075160 - ldr r0, _080A7D54 @ =gUnknown_2037F1A + ldr r0, _080A7D54 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -11792,7 +11792,7 @@ sub_80A7D04: @ 80A7D04 adds r0, 0x10 strh r0, [r4, 0x22] _080A7D22: - ldr r1, _080A7D58 @ =gUnknown_2037F02 + ldr r1, _080A7D58 @ =gBattleAnimArgs ldrh r0, [r1, 0x8] strh r0, [r4, 0x2E] ldrh r0, [r1, 0x4] @@ -11815,8 +11815,8 @@ _080A7D22: pop {r0} bx r0 .align 2, 0 -_080A7D54: .4byte gUnknown_2037F1A -_080A7D58: .4byte gUnknown_2037F02 +_080A7D54: .4byte gBattleAnimAttacker +_080A7D58: .4byte gBattleAnimArgs _080A7D5C: .4byte sub_8074A80 _080A7D60: .4byte DestroyAnimSprite thumb_func_end sub_80A7D04 @@ -11832,7 +11832,7 @@ sub_80A7D64: @ 80A7D64 movs r0, 0x10 mov r8, r0 ldr r6, _080A7DE4 @ =0x0000fff0 - ldr r0, _080A7DE8 @ =gUnknown_2037F02 + ldr r0, _080A7DE8 @ =gBattleAnimArgs movs r1, 0 ldrsh r0, [r0, r1] cmp r0, 0 @@ -11857,7 +11857,7 @@ _080A7D90: strh r0, [r5, 0x22] movs r0, 0x6 strh r0, [r5, 0x2E] - ldr r4, _080A7DEC @ =gUnknown_2037F1B + ldr r4, _080A7DEC @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -11885,8 +11885,8 @@ _080A7D90: .align 2, 0 _080A7DE0: .4byte 0x0000ffe0 _080A7DE4: .4byte 0x0000fff0 -_080A7DE8: .4byte gUnknown_2037F02 -_080A7DEC: .4byte gUnknown_2037F1B +_080A7DE8: .4byte gBattleAnimArgs +_080A7DEC: .4byte gBattleAnimTarget _080A7DF0: .4byte sub_8075590 _080A7DF4: .4byte sub_80A7DF8 thumb_func_end sub_80A7D64 @@ -11921,7 +11921,7 @@ sub_80A7E14: @ 80A7E14 movs r2, 0x10 mov r9, r2 ldr r6, _080A7EAC @ =0x0000fff0 - ldr r7, _080A7EB0 @ =gUnknown_2037F02 + ldr r7, _080A7EB0 @ =gBattleAnimArgs ldrh r1, [r7] movs r2, 0 ldrsh r0, [r7, r2] @@ -11950,7 +11950,7 @@ _080A7E48: movs r0, 0x6 strh r0, [r5, 0x2E] strh r1, [r5, 0x30] - ldr r4, _080A7EB4 @ =gUnknown_2037F1B + ldr r4, _080A7EB4 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -11984,8 +11984,8 @@ _080A7E48: .align 2, 0 _080A7EA8: .4byte 0x0000ffe0 _080A7EAC: .4byte 0x0000fff0 -_080A7EB0: .4byte gUnknown_2037F02 -_080A7EB4: .4byte gUnknown_2037F1B +_080A7EB0: .4byte gBattleAnimArgs +_080A7EB4: .4byte gBattleAnimTarget _080A7EB8: .4byte sub_80A7EBC thumb_func_end sub_80A7E14 @@ -12239,7 +12239,7 @@ sub_80A8074: @ 80A8074 strh r0, [r4, 0x10] strh r5, [r4, 0x12] strh r5, [r4, 0x14] - ldr r0, _080A80C4 @ =gUnknown_2037F1A + ldr r0, _080A80C4 @ =gBattleAnimAttacker ldrb r0, [r0] bl sub_807685C lsls r0, 24 @@ -12252,7 +12252,7 @@ sub_80A8074: @ 80A8074 bx r0 .align 2, 0 _080A80C0: .4byte gTasks -_080A80C4: .4byte gUnknown_2037F1A +_080A80C4: .4byte gBattleAnimAttacker _080A80C8: .4byte sub_80A80CC thumb_func_end sub_80A8074 @@ -12581,7 +12581,7 @@ sub_80A8338: @ 80A8338 lsls r0, 3 ldr r1, _080A835C @ =gTasks adds r4, r0, r1 - ldr r5, _080A8360 @ =gUnknown_2037F02 + ldr r5, _080A8360 @ =gBattleAnimArgs movs r1, 0x2 ldrsh r0, [r5, r1] cmp r0, 0 @@ -12591,7 +12591,7 @@ sub_80A8338: @ 80A8338 b _080A838A .align 2, 0 _080A835C: .4byte gTasks -_080A8360: .4byte gUnknown_2037F02 +_080A8360: .4byte gBattleAnimArgs _080A8364: ldrb r0, [r5] bl GetAnimBankSpriteId @@ -12822,7 +12822,7 @@ _080A8518: .4byte gTasks sub_80A851C: @ 80A851C push {r4,r5,lr} adds r4, r0, 0 - ldr r5, _080A854C @ =gUnknown_2037F1A + ldr r5, _080A854C @ =gBattleAnimAttacker ldrb r0, [r5] bl GetBattlerSide lsls r0, 24 @@ -12841,7 +12841,7 @@ sub_80A851C: @ 80A851C movs r0, 0x40 b _080A856A .align 2, 0 -_080A854C: .4byte gUnknown_2037F1A +_080A854C: .4byte gBattleAnimAttacker _080A8550: adds r0, r4, 0 movs r1, 0x1 @@ -12856,7 +12856,7 @@ _080A8550: ldr r0, _080A859C @ =0x0000ffc0 _080A856A: strh r0, [r4, 0x30] - ldr r0, _080A85A0 @ =gUnknown_2037F1A + ldr r0, _080A85A0 @ =gBattleAnimAttacker ldrb r0, [r0] movs r1, 0x3 bl sub_8074480 @@ -12879,7 +12879,7 @@ _080A856A: bx r0 .align 2, 0 _080A859C: .4byte 0x0000ffc0 -_080A85A0: .4byte gUnknown_2037F1A +_080A85A0: .4byte gBattleAnimAttacker _080A85A4: .4byte DestroyAnimSprite _080A85A8: .4byte sub_8074D00 thumb_func_end sub_80A851C @@ -12888,18 +12888,18 @@ _080A85A8: .4byte sub_8074D00 sub_80A85AC: @ 80A85AC push {r4-r6,lr} adds r6, r0, 0 - ldr r0, _080A85C0 @ =gUnknown_2037F02 + ldr r0, _080A85C0 @ =gBattleAnimArgs movs r1, 0 ldrsh r0, [r0, r1] cmp r0, 0 bne _080A85C8 - ldr r0, _080A85C4 @ =gUnknown_2037F1A + ldr r0, _080A85C4 @ =gBattleAnimAttacker b _080A85CA .align 2, 0 -_080A85C0: .4byte gUnknown_2037F02 -_080A85C4: .4byte gUnknown_2037F1A +_080A85C0: .4byte gBattleAnimArgs +_080A85C4: .4byte gBattleAnimAttacker _080A85C8: - ldr r0, _080A8628 @ =gUnknown_2037F1B + ldr r0, _080A8628 @ =gBattleAnimTarget _080A85CA: ldrb r5, [r0] adds r0, r5, 0 @@ -12908,7 +12908,7 @@ _080A85CA: lsrs r0, 24 cmp r0, 0x1 bne _080A85E4 - ldr r1, _080A862C @ =gUnknown_2037F02 + ldr r1, _080A862C @ =gBattleAnimArgs movs r2, 0x2 ldrsh r0, [r1, r2] negs r0, r0 @@ -12918,7 +12918,7 @@ _080A85E4: movs r1, 0x2 bl sub_8074480 lsls r0, 24 - ldr r4, _080A862C @ =gUnknown_2037F02 + ldr r4, _080A862C @ =gBattleAnimArgs lsrs r0, 24 ldrh r1, [r4, 0x2] adds r0, r1 @@ -12947,8 +12947,8 @@ _080A8616: pop {r0} bx r0 .align 2, 0 -_080A8628: .4byte gUnknown_2037F1B -_080A862C: .4byte gUnknown_2037F02 +_080A8628: .4byte gBattleAnimTarget +_080A862C: .4byte gBattleAnimArgs _080A8630: .4byte move_anim_8074EE0 _080A8634: .4byte sub_8074F50 thumb_func_end sub_80A85AC @@ -13051,7 +13051,7 @@ sub_80A86A4: @ 80A86A4 strh r2, [r4, 0x18] movs r0, 0x2 strh r0, [r4, 0x1A] - ldr r0, _080A8720 @ =gUnknown_2037F1A + ldr r0, _080A8720 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -13071,7 +13071,7 @@ _080A870E: .align 2, 0 _080A8718: .4byte gTasks _080A871C: .4byte gSprites -_080A8720: .4byte gUnknown_2037F1A +_080A8720: .4byte gBattleAnimAttacker _080A8724: .4byte sub_80A8728 thumb_func_end sub_80A86A4 @@ -13261,7 +13261,7 @@ sub_80A8874: @ 80A8874 lsls r1, 3 ldr r0, _080A88C4 @ =gTasks adds r5, r1, r0 - ldr r4, _080A88C8 @ =gUnknown_2037F1B + ldr r4, _080A88C8 @ =gBattleAnimTarget ldrb r0, [r4] bl sub_807492C lsls r0, 24 @@ -13291,7 +13291,7 @@ sub_80A8874: @ 80A8874 b _080A88DC .align 2, 0 _080A88C4: .4byte gTasks -_080A88C8: .4byte gUnknown_2037F1B +_080A88C8: .4byte gBattleAnimTarget _080A88CC: .4byte gBattle_BG1_X _080A88D0: .4byte 0x04000014 _080A88D4: @@ -13473,7 +13473,7 @@ _080A8A18: .4byte gScanlineEffect sub_80A8A1C: @ 80A8A1C push {r4-r6,lr} adds r4, r0, 0 - ldr r6, _080A8A70 @ =gUnknown_2037F1B + ldr r6, _080A8A70 @ =gBattleAnimTarget ldrb r0, [r6] movs r1, 0 bl sub_8074480 @@ -13510,7 +13510,7 @@ sub_80A8A1C: @ 80A8A1C pop {r0} bx r0 .align 2, 0 -_080A8A70: .4byte gUnknown_2037F1B +_080A8A70: .4byte gBattleAnimTarget _080A8A74: .4byte sub_80A8A78 thumb_func_end sub_80A8A1C @@ -13703,20 +13703,20 @@ sub_80A8BC4: @ 80A8BC4 mov r1, sp adds r1, 0x2 strh r5, [r1] - ldr r0, _080A8BE8 @ =gUnknown_2037F02 + ldr r0, _080A8BE8 @ =gBattleAnimArgs movs r3, 0x4 ldrsh r2, [r0, r3] adds r7, r1, 0 adds r1, r0, 0 cmp r2, 0 bne _080A8BF0 - ldr r0, _080A8BEC @ =gUnknown_2037F1A + ldr r0, _080A8BEC @ =gBattleAnimAttacker b _080A8BF2 .align 2, 0 -_080A8BE8: .4byte gUnknown_2037F02 -_080A8BEC: .4byte gUnknown_2037F1A +_080A8BE8: .4byte gBattleAnimArgs +_080A8BEC: .4byte gBattleAnimAttacker _080A8BF0: - ldr r0, _080A8C2C @ =gUnknown_2037F1B + ldr r0, _080A8C2C @ =gBattleAnimTarget _080A8BF2: ldrb r5, [r0] ldrb r1, [r1, 0x6] @@ -13745,7 +13745,7 @@ _080A8BF2: movs r1, 0 b _080A8C34 .align 2, 0 -_080A8C2C: .4byte gUnknown_2037F1B +_080A8C2C: .4byte gBattleAnimTarget _080A8C30: adds r0, r5, 0 movs r1, 0x2 @@ -13758,7 +13758,7 @@ _080A8C34: lsls r0, 24 cmp r0, 0 beq _080A8C60 - ldr r2, _080A8C5C @ =gUnknown_2037F02 + ldr r2, _080A8C5C @ =gBattleAnimArgs mov r0, sp ldrh r1, [r0] subs r1, r4 @@ -13768,9 +13768,9 @@ _080A8C34: strh r0, [r2] b _080A8C6A .align 2, 0 -_080A8C5C: .4byte gUnknown_2037F02 +_080A8C5C: .4byte gBattleAnimArgs _080A8C60: - ldr r1, _080A8C7C @ =gUnknown_2037F02 + ldr r1, _080A8C7C @ =gBattleAnimArgs mov r0, sp ldrh r0, [r0] subs r0, r4 @@ -13785,7 +13785,7 @@ _080A8C6A: pop {r0} bx r0 .align 2, 0 -_080A8C7C: .4byte gUnknown_2037F02 +_080A8C7C: .4byte gBattleAnimArgs _080A8C80: .4byte sub_8075D9C thumb_func_end sub_80A8BC4 @@ -13822,27 +13822,27 @@ sub_80A8CA4: @ 80A8CA4 mov r1, sp adds r1, 0x2 strh r6, [r1] - ldr r0, _080A8CD0 @ =gUnknown_2037F02 + ldr r0, _080A8CD0 @ =gBattleAnimArgs movs r2, 0xA ldrsh r0, [r0, r2] cmp r0, 0 bne _080A8CDC - ldr r0, _080A8CD4 @ =gUnknown_2037F1A + ldr r0, _080A8CD4 @ =gBattleAnimAttacker ldrb r7, [r0] - ldr r0, _080A8CD8 @ =gUnknown_2037F1B + ldr r0, _080A8CD8 @ =gBattleAnimTarget b _080A8CE2 .align 2, 0 -_080A8CD0: .4byte gUnknown_2037F02 -_080A8CD4: .4byte gUnknown_2037F1A -_080A8CD8: .4byte gUnknown_2037F1B +_080A8CD0: .4byte gBattleAnimArgs +_080A8CD4: .4byte gBattleAnimAttacker +_080A8CD8: .4byte gBattleAnimTarget _080A8CDC: - ldr r0, _080A8CFC @ =gUnknown_2037F1B + ldr r0, _080A8CFC @ =gBattleAnimTarget ldrb r7, [r0] - ldr r0, _080A8D00 @ =gUnknown_2037F1A + ldr r0, _080A8D00 @ =gBattleAnimAttacker _080A8CE2: ldrb r0, [r0] mov r8, r0 - ldr r0, _080A8D04 @ =gUnknown_2037F02 + ldr r0, _080A8D04 @ =gBattleAnimArgs movs r3, 0xC ldrsh r0, [r0, r3] cmp r0, 0 @@ -13853,9 +13853,9 @@ _080A8CE2: str r1, [sp, 0x4] b _080A8D10 .align 2, 0 -_080A8CFC: .4byte gUnknown_2037F1B -_080A8D00: .4byte gUnknown_2037F1A -_080A8D04: .4byte gUnknown_2037F02 +_080A8CFC: .4byte gBattleAnimTarget +_080A8D00: .4byte gBattleAnimAttacker +_080A8D04: .4byte gBattleAnimArgs _080A8D08: movs r2, 0x2 mov r10, r2 @@ -13871,7 +13871,7 @@ _080A8D10: mov r1, r10 bl sub_8074480 lsls r0, 24 - ldr r1, _080A8D50 @ =gUnknown_2037F02 + ldr r1, _080A8D50 @ =gBattleAnimArgs lsrs r0, 24 ldrh r1, [r1] adds r0, r1 @@ -13891,7 +13891,7 @@ _080A8D10: adds r0, r4, r0 b _080A8DEA .align 2, 0 -_080A8D50: .4byte gUnknown_2037F02 +_080A8D50: .4byte gBattleAnimArgs _080A8D54: .4byte gSprites _080A8D58: .4byte gUnknown_2023D44 _080A8D5C: @@ -13908,7 +13908,7 @@ _080A8D6C: bl sub_8074480 lsls r0, 24 lsrs r0, 24 - ldr r1, _080A8DD4 @ =gUnknown_2037F02 + ldr r1, _080A8DD4 @ =gBattleAnimArgs ldrh r1, [r1] subs r0, r1 lsls r0, 16 @@ -13952,7 +13952,7 @@ _080A8D6C: adds r0, 0x1 b _080A8DFA .align 2, 0 -_080A8DD4: .4byte gUnknown_2037F02 +_080A8DD4: .4byte gBattleAnimArgs _080A8DD8: .4byte gSprites _080A8DDC: .4byte gUnknown_2023D44 _080A8DE0: @@ -13980,7 +13980,7 @@ _080A8DFA: ldr r1, [sp, 0x4] bl sub_8074480 lsls r0, 24 - ldr r4, _080A8E48 @ =gUnknown_2037F02 + ldr r4, _080A8E48 @ =gBattleAnimArgs lsrs r0, 24 ldrh r1, [r4, 0x2] adds r0, r1 @@ -14007,7 +14007,7 @@ _080A8DFA: .align 2, 0 _080A8E40: .4byte gSprites _080A8E44: .4byte gUnknown_2023D44 -_080A8E48: .4byte gUnknown_2037F02 +_080A8E48: .4byte gBattleAnimArgs _080A8E4C: mov r4, sp mov r0, r8 @@ -14031,7 +14031,7 @@ _080A8E6C: beq _080A8E90 mov r3, sp mov r2, sp - ldr r1, _080A8E8C @ =gUnknown_2037F02 + ldr r1, _080A8E8C @ =gBattleAnimArgs ldrh r0, [r1, 0x6] ldrh r2, [r2] adds r0, r2 @@ -14039,11 +14039,11 @@ _080A8E6C: adds r2, r1, 0 b _080A8E9E .align 2, 0 -_080A8E8C: .4byte gUnknown_2037F02 +_080A8E8C: .4byte gBattleAnimArgs _080A8E90: mov r3, sp mov r0, sp - ldr r2, _080A8EE0 @ =gUnknown_2037F02 + ldr r2, _080A8EE0 @ =gBattleAnimArgs ldrh r0, [r0] ldrh r1, [r2, 0x6] subs r0, r1 @@ -14080,7 +14080,7 @@ _080A8E9E: pop {r0} bx r0 .align 2, 0 -_080A8EE0: .4byte gUnknown_2037F02 +_080A8EE0: .4byte gBattleAnimArgs _080A8EE4: .4byte sub_80A8C84 thumb_func_end sub_80A8CA4 @@ -14098,7 +14098,7 @@ sub_80A8EE8: @ 80A8EE8 ldr r1, _080A8F2C @ =0x01010000 adds r0, r1 lsrs r0, 16 - ldr r1, _080A8F30 @ =gUnknown_2037F02 + ldr r1, _080A8F30 @ =gBattleAnimArgs ldrb r2, [r1, 0xA] ldrh r3, [r1, 0x8] movs r1, 0xF @@ -14117,7 +14117,7 @@ _080A8F0E: .align 2, 0 _080A8F28: .4byte 0x000027db _080A8F2C: .4byte 0x01010000 -_080A8F30: .4byte gUnknown_2037F02 +_080A8F30: .4byte gBattleAnimArgs _080A8F34: .4byte sub_8075D9C thumb_func_end sub_80A8EE8 @@ -14127,7 +14127,7 @@ sub_80A8F38: @ 80A8F38 adds r4, r0, 0 movs r1, 0 bl sub_8075160 - ldr r0, _080A8F6C @ =gUnknown_2037F1A + ldr r0, _080A8F6C @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -14140,7 +14140,7 @@ _080A8F54: lsls r0, 2 strh r0, [r4, 0x2E] strh r1, [r4, 0x30] - ldr r0, _080A8F74 @ =gUnknown_2037F02 + ldr r0, _080A8F74 @ =gBattleAnimArgs ldrh r0, [r0, 0x4] strh r0, [r4, 0x3C] ldr r0, _080A8F78 @ =sub_80A8F7C @@ -14149,9 +14149,9 @@ _080A8F54: pop {r0} bx r0 .align 2, 0 -_080A8F6C: .4byte gUnknown_2037F1A +_080A8F6C: .4byte gBattleAnimAttacker _080A8F70: .4byte 0x0000ff60 -_080A8F74: .4byte gUnknown_2037F02 +_080A8F74: .4byte gBattleAnimArgs _080A8F78: .4byte sub_80A8F7C thumb_func_end sub_80A8F38 @@ -14172,7 +14172,7 @@ sub_80A8F7C: @ 80A8F7C strh r0, [r4, 0x24] subs r2, 0x20 strh r2, [r4, 0x2E] - ldr r0, _080A8FE8 @ =gUnknown_2037F1A + ldr r0, _080A8FE8 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -14211,7 +14211,7 @@ _080A8FE0: pop {r0} bx r0 .align 2, 0 -_080A8FE8: .4byte gUnknown_2037F1A +_080A8FE8: .4byte gBattleAnimAttacker _080A8FEC: .4byte 0x0000ff60 _080A8FF0: .4byte sub_80A8FF4 thumb_func_end sub_80A8F7C @@ -14379,7 +14379,7 @@ _080A9118: .4byte sub_80A911C sub_80A911C: @ 80A911C push {lr} adds r3, r0, 0 - ldr r0, _080A9144 @ =gUnknown_2037F02 + ldr r0, _080A9144 @ =gBattleAnimArgs ldrh r1, [r0, 0xE] ldr r0, _080A9148 @ =0x0000ffff cmp r1, r0 @@ -14397,7 +14397,7 @@ sub_80A911C: @ 80A911C ldr r0, _080A914C @ =sub_80A915C b _080A9152 .align 2, 0 -_080A9144: .4byte gUnknown_2037F02 +_080A9144: .4byte gBattleAnimArgs _080A9148: .4byte 0x0000ffff _080A914C: .4byte sub_80A915C _080A9150: @@ -14521,7 +14521,7 @@ sub_80A9210: @ 80A9210 strh r0, [r4, 0xE] movs r0, 0x3 strh r0, [r4, 0x20] - ldr r0, _080A9248 @ =gUnknown_2037F1B + ldr r0, _080A9248 @ =gBattleAnimTarget ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -14533,7 +14533,7 @@ sub_80A9210: @ 80A9210 b _080A9256 .align 2, 0 _080A9244: .4byte gTasks -_080A9248: .4byte gUnknown_2037F1B +_080A9248: .4byte gBattleAnimTarget _080A924C: .4byte 0x0000ffff _080A9250: movs r0, 0x1 @@ -14878,7 +14878,7 @@ sub_80A94AC: @ 80A94AC strh r0, [r4, 0x16] strh r0, [r4, 0x18] strh r0, [r4, 0x22] - ldr r5, _080A9500 @ =gUnknown_2037F1A + ldr r5, _080A9500 @ =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0 bl sub_8074480 @@ -14898,7 +14898,7 @@ sub_80A94AC: @ 80A94AC bx r0 .align 2, 0 _080A94FC: .4byte gTasks -_080A9500: .4byte gUnknown_2037F1A +_080A9500: .4byte gBattleAnimAttacker _080A9504: .4byte sub_80A9508 thumb_func_end sub_80A94AC @@ -15286,18 +15286,18 @@ sub_80A97E8: @ 80A97E8 adds r5, r0, 0 movs r1, 0 bl sub_8075160 - ldr r6, _080A9850 @ =gUnknown_2037F1A + ldr r6, _080A9850 @ =gBattleAnimAttacker ldrb r0, [r6] bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080A9808 - ldr r1, _080A9854 @ =gUnknown_2037F02 + ldr r1, _080A9854 @ =gBattleAnimArgs ldrh r0, [r1, 0x4] negs r0, r0 strh r0, [r1, 0x4] _080A9808: - ldr r4, _080A9854 @ =gUnknown_2037F02 + ldr r4, _080A9854 @ =gBattleAnimArgs ldrh r0, [r4, 0x8] strh r0, [r5, 0x2E] ldrb r0, [r6] @@ -15329,8 +15329,8 @@ _080A9808: pop {r0} bx r0 .align 2, 0 -_080A9850: .4byte gUnknown_2037F1A -_080A9854: .4byte gUnknown_2037F02 +_080A9850: .4byte gBattleAnimAttacker +_080A9854: .4byte gBattleAnimArgs _080A9858: .4byte sub_8075590 _080A985C: .4byte DestroyAnimSprite thumb_func_end sub_80A97E8 @@ -15701,7 +15701,7 @@ sub_80A9B40: @ 80A9B40 strh r0, [r4, 0x2E] ldrh r0, [r4, 0x20] strh r0, [r4, 0x30] - ldr r5, _080A9B84 @ =gUnknown_2037F1B + ldr r5, _080A9B84 @ =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 bl sub_8074480 @@ -15724,7 +15724,7 @@ sub_80A9B40: @ 80A9B40 pop {r0} bx r0 .align 2, 0 -_080A9B84: .4byte gUnknown_2037F1B +_080A9B84: .4byte gBattleAnimTarget _080A9B88: .4byte sub_80A9B8C thumb_func_end sub_80A9B40 @@ -15767,7 +15767,7 @@ sub_80A9BC4: @ 80A9BC4 ldrsh r0, [r4, r1] cmp r0, 0 bne _080A9BE8 - ldr r1, _080A9BE4 @ =gUnknown_2037F02 + ldr r1, _080A9BE4 @ =gBattleAnimArgs ldrh r0, [r1] strh r0, [r4, 0x30] ldrh r0, [r1, 0x2] @@ -15776,7 +15776,7 @@ sub_80A9BC4: @ 80A9BC4 strh r0, [r4, 0x2E] b _080A9C44 .align 2, 0 -_080A9BE4: .4byte gUnknown_2037F02 +_080A9BE4: .4byte gBattleAnimArgs _080A9BE8: ldrh r0, [r4, 0x30] ldrh r2, [r4, 0x36] @@ -15832,7 +15832,7 @@ _080A9C44: thumb_func_start sub_80A9C4C sub_80A9C4C: @ 80A9C4C push {lr} - ldr r2, _080A9C70 @ =gUnknown_2037F02 + ldr r2, _080A9C70 @ =gBattleAnimArgs ldrh r1, [r2] strh r1, [r0, 0x20] movs r1, 0xA0 @@ -15848,7 +15848,7 @@ sub_80A9C4C: @ 80A9C4C pop {r0} bx r0 .align 2, 0 -_080A9C70: .4byte gUnknown_2037F02 +_080A9C70: .4byte gBattleAnimArgs _080A9C74: .4byte sub_8074C44 _080A9C78: .4byte sub_80A9C7C thumb_func_end sub_80A9C4C @@ -16224,7 +16224,7 @@ _080A9F8C: .4byte gBattle_BG1_X _080A9F90: .4byte gBattle_BG1_Y _080A9F94: .4byte gFile_graphics_battle_anims_backgrounds_scary_face_contest_tilemap _080A9F98: - ldr r0, _080A9FB4 @ =gUnknown_2037F1B + ldr r0, _080A9FB4 @ =gBattleAnimTarget ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -16237,7 +16237,7 @@ _080A9F98: bl sub_807543C b _080A9FC6 .align 2, 0 -_080A9FB4: .4byte gUnknown_2037F1B +_080A9FB4: .4byte gBattleAnimTarget _080A9FB8: .4byte gFile_graphics_battle_anims_backgrounds_scary_face_player_tilemap _080A9FBC: mov r0, sp @@ -16456,7 +16456,7 @@ _080AA170: .4byte gTasks sub_80AA174: @ 80AA174 push {r4,r5,lr} adds r4, r0, 0 - ldr r5, _080AA1C8 @ =gUnknown_2037F1A + ldr r5, _080AA1C8 @ =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0x2 bl sub_8074480 @@ -16475,7 +16475,7 @@ sub_80AA174: @ 80AA174 movs r1, 0x80 orrs r0, r1 strb r0, [r2] - ldr r1, _080AA1CC @ =gUnknown_2037F02 + ldr r1, _080AA1CC @ =gBattleAnimArgs ldrh r0, [r1] strh r0, [r4, 0x2E] ldrh r0, [r1, 0x2] @@ -16493,8 +16493,8 @@ sub_80AA174: @ 80AA174 pop {r0} bx r0 .align 2, 0 -_080AA1C8: .4byte gUnknown_2037F1A -_080AA1CC: .4byte gUnknown_2037F02 +_080AA1C8: .4byte gBattleAnimAttacker +_080AA1CC: .4byte gBattleAnimArgs _080AA1D0: .4byte sub_80AA1D4 thumb_func_end sub_80AA174 @@ -16594,7 +16594,7 @@ _080AA260: movs r0, 0x1 strh r0, [r4, 0x38] _080AA290: - ldr r0, _080AA2A8 @ =gUnknown_2037F02 + ldr r0, _080AA2A8 @ =gBattleAnimArgs ldrh r1, [r0, 0xE] ldr r0, _080AA2AC @ =0x0000ffff cmp r1, r0 @@ -16606,7 +16606,7 @@ _080AA2A0: pop {r0} bx r0 .align 2, 0 -_080AA2A8: .4byte gUnknown_2037F02 +_080AA2A8: .4byte gBattleAnimArgs _080AA2AC: .4byte 0x0000ffff thumb_func_end sub_80AA1D4 @@ -16614,7 +16614,7 @@ _080AA2AC: .4byte 0x0000ffff sub_80AA2B0: @ 80AA2B0 push {r4,r5,lr} adds r5, r0, 0 - ldr r4, _080AA2F8 @ =gUnknown_2037F1A + ldr r4, _080AA2F8 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -16627,7 +16627,7 @@ sub_80AA2B0: @ 80AA2B0 lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] - ldr r4, _080AA2FC @ =gUnknown_2037F02 + ldr r4, _080AA2FC @ =gBattleAnimArgs movs r1, 0 ldrsh r0, [r4, r1] movs r1, 0xA @@ -16644,8 +16644,8 @@ sub_80AA2B0: @ 80AA2B0 pop {r0} bx r0 .align 2, 0 -_080AA2F8: .4byte gUnknown_2037F1A -_080AA2FC: .4byte gUnknown_2037F02 +_080AA2F8: .4byte gBattleAnimAttacker +_080AA2FC: .4byte gBattleAnimArgs _080AA300: .4byte sub_80AA304 thumb_func_end sub_80AA2B0 @@ -16722,7 +16722,7 @@ _080AA378: sub_80AA37C: @ 80AA37C push {r4,r5,lr} adds r5, r0, 0 - ldr r4, _080AA3C8 @ =gUnknown_2037F1A + ldr r4, _080AA3C8 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -16735,7 +16735,7 @@ sub_80AA37C: @ 80AA37C lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] - ldr r4, _080AA3CC @ =gUnknown_2037F02 + ldr r4, _080AA3CC @ =gBattleAnimArgs movs r1, 0 ldrsh r0, [r4, r1] movs r1, 0xA @@ -16754,8 +16754,8 @@ sub_80AA37C: @ 80AA37C pop {r0} bx r0 .align 2, 0 -_080AA3C8: .4byte gUnknown_2037F1A -_080AA3CC: .4byte gUnknown_2037F02 +_080AA3C8: .4byte gBattleAnimAttacker +_080AA3CC: .4byte gBattleAnimArgs _080AA3D0: .4byte sub_80AA34C thumb_func_end sub_80AA37C @@ -16799,7 +16799,7 @@ sub_80AA408: @ 80AA408 ldrsh r0, [r4, r1] cmp r0, 0 bne _080AA426 - ldr r0, _080AA498 @ =gUnknown_2037F02 + ldr r0, _080AA498 @ =gBattleAnimArgs ldrh r1, [r0] ldrh r2, [r4, 0x20] adds r1, r2 @@ -16867,7 +16867,7 @@ _080AA492: pop {r0} bx r0 .align 2, 0 -_080AA498: .4byte gUnknown_2037F02 +_080AA498: .4byte gBattleAnimArgs thumb_func_end sub_80AA408 thumb_func_start sub_80AA49C @@ -16936,7 +16936,7 @@ sub_80AA508: @ 80AA508 ldrsh r0, [r4, r1] cmp r0, 0 bne _080AA52C - ldr r1, _080AA528 @ =gUnknown_2037F02 + ldr r1, _080AA528 @ =gBattleAnimArgs ldrh r0, [r1] strh r0, [r4, 0x30] ldrh r0, [r1, 0x2] @@ -16945,7 +16945,7 @@ sub_80AA508: @ 80AA508 strh r0, [r4, 0x2E] b _080AA580 .align 2, 0 -_080AA528: .4byte gUnknown_2037F02 +_080AA528: .4byte gBattleAnimArgs _080AA52C: ldrh r0, [r4, 0x30] ldrh r2, [r4, 0x36] @@ -17002,7 +17002,7 @@ sub_80AA58C: @ 80AA58C ldrsh r0, [r4, r1] cmp r0, 0 bne _080AA5C6 - ldr r1, _080AA688 @ =gUnknown_2037F02 + ldr r1, _080AA688 @ =gBattleAnimArgs ldrh r0, [r1] ldrh r2, [r4, 0x20] adds r0, r2 @@ -17014,7 +17014,7 @@ sub_80AA58C: @ 80AA58C adds r0, r4, 0 movs r1, 0 bl StartSpriteAnim - ldr r0, _080AA68C @ =gUnknown_2037F1B + ldr r0, _080AA68C @ =gBattleAnimTarget ldrb r0, [r0] bl sub_807685C subs r0, 0x1 @@ -17125,8 +17125,8 @@ _080AA650: strb r0, [r3] b _080AA6A2 .align 2, 0 -_080AA688: .4byte gUnknown_2037F02 -_080AA68C: .4byte gUnknown_2037F1B +_080AA688: .4byte gBattleAnimArgs +_080AA68C: .4byte gBattleAnimTarget _080AA690: .4byte 0x0000ffff _080AA694: adds r2, r4, 0 @@ -17157,7 +17157,7 @@ sub_80AA6B8: @ 80AA6B8 ldrsh r0, [r4, r1] cmp r0, 0 bne _080AA6EC - ldr r1, _080AA6E8 @ =gUnknown_2037F02 + ldr r1, _080AA6E8 @ =gBattleAnimArgs ldrh r0, [r1] ldrh r2, [r4, 0x20] adds r0, r2 @@ -17174,7 +17174,7 @@ sub_80AA6B8: @ 80AA6B8 strh r0, [r4, 0x2E] b _080AA700 .align 2, 0 -_080AA6E8: .4byte gUnknown_2037F02 +_080AA6E8: .4byte gBattleAnimArgs _080AA6EC: adds r0, r4, 0 adds r0, 0x3F @@ -17195,7 +17195,7 @@ _080AA700: sub_80AA708: @ 80AA708 push {r4,r5,lr} adds r5, r0, 0 - ldr r1, _080AA720 @ =gUnknown_2037F02 + ldr r1, _080AA720 @ =gBattleAnimArgs movs r2, 0x4 ldrsh r0, [r1, r2] cmp r0, 0 @@ -17204,18 +17204,18 @@ sub_80AA708: @ 80AA708 bl DestroyAnimSprite b _080AA788 .align 2, 0 -_080AA720: .4byte gUnknown_2037F02 +_080AA720: .4byte gBattleAnimArgs _080AA724: movs r2, 0 ldrsh r0, [r1, r2] cmp r0, 0 bne _080AA734 - ldr r4, _080AA730 @ =gUnknown_2037F1A + ldr r4, _080AA730 @ =gBattleAnimAttacker b _080AA736 .align 2, 0 -_080AA730: .4byte gUnknown_2037F1A +_080AA730: .4byte gBattleAnimAttacker _080AA734: - ldr r4, _080AA764 @ =gUnknown_2037F1B + ldr r4, _080AA764 @ =gBattleAnimTarget _080AA736: ldrb r0, [r4] movs r1, 0x2 @@ -17229,7 +17229,7 @@ _080AA736: lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] - ldr r0, _080AA768 @ =gUnknown_2037F02 + ldr r0, _080AA768 @ =gBattleAnimArgs movs r2, 0x2 ldrsh r1, [r0, r2] adds r2, r0, 0 @@ -17239,8 +17239,8 @@ _080AA736: adds r0, 0x20 b _080AA770 .align 2, 0 -_080AA764: .4byte gUnknown_2037F1B -_080AA768: .4byte gUnknown_2037F02 +_080AA764: .4byte gBattleAnimTarget +_080AA768: .4byte gBattleAnimArgs _080AA76C: ldrh r0, [r5, 0x20] subs r0, 0x20 @@ -17300,7 +17300,7 @@ sub_80AA7C8: @ 80AA7C8 adds r5, r0, 0 lsls r5, 24 lsrs r5, 24 - ldr r0, _080AA7FC @ =gUnknown_2037F02 + ldr r0, _080AA7FC @ =gBattleAnimArgs ldrb r0, [r0] bl GetAnimBankSpriteId adds r1, r0, 0 @@ -17320,7 +17320,7 @@ sub_80AA7C8: @ 80AA7C8 pop {r0} bx r0 .align 2, 0 -_080AA7FC: .4byte gUnknown_2037F02 +_080AA7FC: .4byte gBattleAnimArgs _080AA800: .4byte gTasks _080AA804: .4byte gUnknown_83E4410 _080AA808: .4byte sub_80AA80C @@ -17354,18 +17354,18 @@ _080AA834: .4byte gTasks sub_80AA838: @ 80AA838 push {r4-r7,lr} adds r5, r0, 0 - ldr r0, _080AA84C @ =gUnknown_2037F02 + ldr r0, _080AA84C @ =gBattleAnimArgs movs r1, 0 ldrsh r0, [r0, r1] cmp r0, 0 bne _080AA854 - ldr r0, _080AA850 @ =gUnknown_2037F1A + ldr r0, _080AA850 @ =gBattleAnimAttacker b _080AA856 .align 2, 0 -_080AA84C: .4byte gUnknown_2037F02 -_080AA850: .4byte gUnknown_2037F1A +_080AA84C: .4byte gBattleAnimArgs +_080AA850: .4byte gBattleAnimAttacker _080AA854: - ldr r0, _080AA8EC @ =gUnknown_2037F1B + ldr r0, _080AA8EC @ =gBattleAnimTarget _080AA856: ldrb r6, [r0] adds r0, r6, 0 @@ -17374,7 +17374,7 @@ _080AA856: lsrs r0, 24 cmp r0, 0x1 bne _080AA870 - ldr r1, _080AA8F0 @ =gUnknown_2037F02 + ldr r1, _080AA8F0 @ =gBattleAnimArgs movs r2, 0x2 ldrsh r0, [r1, r2] negs r0, r0 @@ -17384,7 +17384,7 @@ _080AA870: movs r1, 0x2 bl sub_8074480 lsls r0, 24 - ldr r7, _080AA8F0 @ =gUnknown_2037F02 + ldr r7, _080AA8F0 @ =gBattleAnimArgs lsrs r0, 24 ldrh r3, [r7, 0x2] adds r0, r3 @@ -17442,8 +17442,8 @@ _080AA8C0: pop {r0} bx r0 .align 2, 0 -_080AA8EC: .4byte gUnknown_2037F1B -_080AA8F0: .4byte gUnknown_2037F02 +_080AA8EC: .4byte gBattleAnimTarget +_080AA8F0: .4byte gBattleAnimArgs _080AA8F4: .4byte 0x000003ff _080AA8F8: .4byte 0xfffffc00 _080AA8FC: .4byte sub_80AA900 @@ -17489,7 +17489,7 @@ sub_80AA938: @ 80AA938 ldrsh r0, [r4, r1] cmp r0, 0 bne _080AA95A - ldr r0, _080AA994 @ =gUnknown_2037F02 + ldr r0, _080AA994 @ =gBattleAnimArgs ldrh r1, [r0] movs r0, 0x78 subs r0, r1 @@ -17530,7 +17530,7 @@ _080AA98C: pop {r0} bx r0 .align 2, 0 -_080AA994: .4byte gUnknown_2037F02 +_080AA994: .4byte gBattleAnimArgs thumb_func_end sub_80AA938 thumb_func_start sub_80AA998 @@ -17543,7 +17543,7 @@ sub_80AA998: @ 80AA998 bne _080AA9C6 movs r5, 0x78 strh r5, [r6, 0x20] - ldr r4, _080AAA48 @ =gUnknown_2037F02 + ldr r4, _080AAA48 @ =gBattleAnimArgs movs r2, 0 ldrsh r0, [r4, r2] lsrs r1, r0, 31 @@ -17620,7 +17620,7 @@ _080AAA42: pop {r0} bx r0 .align 2, 0 -_080AAA48: .4byte gUnknown_2037F02 +_080AAA48: .4byte gBattleAnimArgs _080AAA4C: .4byte sub_80AAA50 thumb_func_end sub_80AA998 @@ -17717,7 +17717,7 @@ sub_80AAAE4: @ 80AAAE4 ands r0, r1 cmp r0, 0 beq _080AAB30 - ldr r4, _080AAB2C @ =gUnknown_2037F1A + ldr r4, _080AAB2C @ =gBattleAnimAttacker ldrb r1, [r4] movs r0, 0x2 eors r0, r1 @@ -17741,9 +17741,9 @@ sub_80AAAE4: @ 80AAAE4 b _080AAB50 .align 2, 0 _080AAB28: .4byte gBattleTypeFlags -_080AAB2C: .4byte gUnknown_2037F1A +_080AAB2C: .4byte gBattleAnimAttacker _080AAB30: - ldr r4, _080AAB70 @ =gUnknown_2037F1A + ldr r4, _080AAB70 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0 bl sub_8074480 @@ -17774,7 +17774,7 @@ _080AAB50: pop {r0} bx r0 .align 2, 0 -_080AAB70: .4byte gUnknown_2037F1A +_080AAB70: .4byte gBattleAnimAttacker _080AAB74: .4byte sub_8075590 _080AAB78: .4byte DestroyAnimSprite thumb_func_end sub_80AAAE4 @@ -17784,7 +17784,7 @@ sub_80AAB7C: @ 80AAB7C push {lr} lsls r0, 24 lsrs r0, 24 - ldr r3, _080AAB98 @ =gUnknown_2037F02 + ldr r3, _080AAB98 @ =gBattleAnimArgs ldr r1, _080AAB9C @ =gUnknown_2037EE4 ldr r1, [r1] ldrb r2, [r1, 0x10] @@ -17795,7 +17795,7 @@ sub_80AAB7C: @ 80AAB7C pop {r0} bx r0 .align 2, 0 -_080AAB98: .4byte gUnknown_2037F02 +_080AAB98: .4byte gBattleAnimArgs _080AAB9C: .4byte gUnknown_2037EE4 thumb_func_end sub_80AAB7C @@ -17804,7 +17804,7 @@ update_fury_cutter_counter_copy: @ 80AABA0 push {lr} lsls r0, 24 lsrs r0, 24 - ldr r2, _080AABB8 @ =gUnknown_2037F02 + ldr r2, _080AABB8 @ =gBattleAnimArgs ldr r1, _080AABBC @ =gUnknown_2037EE4 ldr r1, [r1] ldrb r1, [r1, 0x10] @@ -17813,7 +17813,7 @@ update_fury_cutter_counter_copy: @ 80AABA0 pop {r0} bx r0 .align 2, 0 -_080AABB8: .4byte gUnknown_2037F02 +_080AABB8: .4byte gBattleAnimArgs _080AABBC: .4byte gUnknown_2037EE4 thumb_func_end update_fury_cutter_counter_copy @@ -17832,7 +17832,7 @@ sub_80AABC0: @ 80AABC0 ldrsh r0, [r5, r1] cmp r0, 0 bne _080AABE8 - ldr r1, _080AAC4C @ =gUnknown_2037F02 + ldr r1, _080AAC4C @ =gBattleAnimArgs ldrh r0, [r1] strh r0, [r5, 0xA] ldrh r0, [r1, 0x2] @@ -17885,7 +17885,7 @@ _080AAC42: bx r0 .align 2, 0 _080AAC48: .4byte gTasks -_080AAC4C: .4byte gUnknown_2037F02 +_080AAC4C: .4byte gBattleAnimArgs _080AAC50: .4byte gUnknown_83E5898 thumb_func_end sub_80AABC0 @@ -17934,7 +17934,7 @@ _080AAC92: sub_80AAC98: @ 80AAC98 push {r4-r6,lr} adds r6, r0, 0 - ldr r5, _080AACC0 @ =gUnknown_2037F1A + ldr r5, _080AACC0 @ =gBattleAnimAttacker ldrb r0, [r5] bl GetBattlerSide lsls r0, 24 @@ -17945,19 +17945,19 @@ sub_80AAC98: @ 80AAC98 bl sub_8074480 lsls r0, 24 lsrs r0, 24 - ldr r4, _080AACC4 @ =gUnknown_2037F02 + ldr r4, _080AACC4 @ =gBattleAnimArgs ldrh r1, [r4] subs r0, r1 b _080AACDA .align 2, 0 -_080AACC0: .4byte gUnknown_2037F1A -_080AACC4: .4byte gUnknown_2037F02 +_080AACC0: .4byte gBattleAnimAttacker +_080AACC4: .4byte gBattleAnimArgs _080AACC8: ldrb r0, [r5] movs r1, 0x2 bl sub_8074480 lsls r0, 24 - ldr r4, _080AADA0 @ =gUnknown_2037F02 + ldr r4, _080AADA0 @ =gBattleAnimArgs lsrs r0, 24 ldrh r1, [r4] adds r0, r1 @@ -17977,23 +17977,23 @@ _080AACDA: movs r1, 0x40 orrs r0, r1 strb r0, [r2] - ldr r0, _080AADA4 @ =gUnknown_2037F1A + ldr r0, _080AADA4 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080AAD10 - ldr r1, _080AADA0 @ =gUnknown_2037F02 + ldr r1, _080AADA0 @ =gBattleAnimArgs ldrh r0, [r1, 0x4] negs r0, r0 strh r0, [r1, 0x4] _080AAD10: - ldr r5, _080AADA0 @ =gUnknown_2037F02 + ldr r5, _080AADA0 @ =gBattleAnimArgs ldrh r0, [r5, 0xC] strh r0, [r6, 0x2E] ldrh r0, [r6, 0x20] strh r0, [r6, 0x30] - ldr r4, _080AADA8 @ =gUnknown_2037F1B + ldr r4, _080AADA8 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -18054,9 +18054,9 @@ _080AAD10: pop {r0} bx r0 .align 2, 0 -_080AADA0: .4byte gUnknown_2037F02 -_080AADA4: .4byte gUnknown_2037F1A -_080AADA8: .4byte gUnknown_2037F1B +_080AADA0: .4byte gBattleAnimArgs +_080AADA4: .4byte gBattleAnimAttacker +_080AADA8: .4byte gBattleAnimTarget _080AADAC: .4byte SpriteCallbackDummy _080AADB0: .4byte gSprites _080AADB4: .4byte sub_80AADB8 @@ -18174,13 +18174,13 @@ sub_80AAE84: @ 80AAE84 adds r5, r0, 0 movs r1, 0x1 bl sub_8075160 - ldr r0, _080AAEAC @ =gUnknown_2037F1A + ldr r0, _080AAEAC @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080AAEB4 - ldr r1, _080AAEB0 @ =gUnknown_2037F02 + ldr r1, _080AAEB0 @ =gBattleAnimArgs ldrh r0, [r1, 0x4] negs r0, r0 lsls r0, 16 @@ -18188,10 +18188,10 @@ sub_80AAE84: @ 80AAE84 adds r7, r1, 0 b _080AAEBA .align 2, 0 -_080AAEAC: .4byte gUnknown_2037F1A -_080AAEB0: .4byte gUnknown_2037F02 +_080AAEAC: .4byte gBattleAnimAttacker +_080AAEB0: .4byte gBattleAnimArgs _080AAEB4: - ldr r0, _080AAF10 @ =gUnknown_2037F02 + ldr r0, _080AAF10 @ =gBattleAnimArgs ldrh r6, [r0, 0x4] adds r7, r0, 0 _080AAEBA: @@ -18199,7 +18199,7 @@ _080AAEBA: strh r0, [r5, 0x2E] ldrh r0, [r5, 0x20] strh r0, [r5, 0x30] - ldr r4, _080AAF14 @ =gUnknown_2037F1B + ldr r4, _080AAF14 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -18234,8 +18234,8 @@ _080AAEBA: pop {r0} bx r0 .align 2, 0 -_080AAF10: .4byte gUnknown_2037F02 -_080AAF14: .4byte gUnknown_2037F1B +_080AAF10: .4byte gBattleAnimArgs +_080AAF14: .4byte gBattleAnimTarget _080AAF18: .4byte sub_80AAF1C thumb_func_end sub_80AAE84 @@ -18243,7 +18243,7 @@ _080AAF18: .4byte sub_80AAF1C sub_80AAF1C: @ 80AAF1C push {r4,lr} adds r4, r0, 0 - ldr r0, _080AAF58 @ =gUnknown_2037F02 + ldr r0, _080AAF58 @ =gBattleAnimArgs ldrh r1, [r0, 0xE] ldr r0, _080AAF5C @ =0x0000ffff cmp r1, r0 @@ -18270,7 +18270,7 @@ _080AAF50: pop {r0} bx r0 .align 2, 0 -_080AAF58: .4byte gUnknown_2037F02 +_080AAF58: .4byte gBattleAnimArgs _080AAF5C: .4byte 0x0000ffff thumb_func_end sub_80AAF1C @@ -18284,7 +18284,7 @@ sub_80AAF60: @ 80AAF60 adds r4, r0 lsls r4, 3 adds r4, r1 - ldr r0, _080AAF98 @ =gUnknown_2037F02 + ldr r0, _080AAF98 @ =gBattleAnimArgs ldrh r0, [r0] strh r0, [r4, 0x8] ldr r0, _080AAF9C @ =0x0000279c @@ -18302,7 +18302,7 @@ sub_80AAF60: @ 80AAF60 bx r0 .align 2, 0 _080AAF94: .4byte gTasks -_080AAF98: .4byte gUnknown_2037F02 +_080AAF98: .4byte gBattleAnimArgs _080AAF9C: .4byte 0x0000279c _080AAFA0: .4byte sub_80AAFA4 thumb_func_end sub_80AAF60 @@ -18386,7 +18386,7 @@ sub_80AB024: @ 80AB024 strh r0, [r5, 0x2E] ldrh r0, [r5, 0x20] strh r0, [r5, 0x30] - ldr r4, _080AB08C @ =gUnknown_2037F1B + ldr r4, _080AB08C @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -18409,7 +18409,7 @@ sub_80AB024: @ 80AB024 lsls r0, 8 bl __divsi3 strh r0, [r5, 0x38] - ldr r0, _080AB090 @ =gUnknown_2037F02 + ldr r0, _080AB090 @ =gBattleAnimArgs ldrh r2, [r0, 0x6] strh r2, [r5, 0x3C] ldrh r1, [r0, 0xE] @@ -18425,8 +18425,8 @@ sub_80AB024: @ 80AB024 strh r0, [r5, 0x3C] b _080AB098 .align 2, 0 -_080AB08C: .4byte gUnknown_2037F1B -_080AB090: .4byte gUnknown_2037F02 +_080AB08C: .4byte gBattleAnimTarget +_080AB090: .4byte gBattleAnimArgs _080AB094: lsls r0, r1, 8 strh r0, [r5, 0x3A] @@ -18496,7 +18496,7 @@ sub_80AB100: @ 80AB100 adds r1, r0 lsls r1, 3 adds r1, r2 - ldr r3, _080AB124 @ =gUnknown_2037F02 + ldr r3, _080AB124 @ =gBattleAnimArgs ldrh r0, [r3] movs r2, 0 strh r0, [r1, 0x8] @@ -18506,7 +18506,7 @@ sub_80AB100: @ 80AB100 bx lr .align 2, 0 _080AB120: .4byte gTasks -_080AB124: .4byte gUnknown_2037F02 +_080AB124: .4byte gBattleAnimArgs _080AB128: .4byte sub_80AB12C thumb_func_end sub_80AB100 @@ -18515,7 +18515,7 @@ sub_80AB12C: @ 80AB12C push {lr} lsls r0, 24 lsrs r3, r0, 24 - ldr r2, _080AB160 @ =gUnknown_2037F02 + ldr r2, _080AB160 @ =gBattleAnimArgs ldrh r0, [r2, 0xE] adds r0, 0x3 movs r1, 0xFF @@ -18538,7 +18538,7 @@ _080AB15A: pop {r0} bx r0 .align 2, 0 -_080AB160: .4byte gUnknown_2037F02 +_080AB160: .4byte gBattleAnimArgs _080AB164: .4byte gTasks thumb_func_end sub_80AB12C @@ -18546,7 +18546,7 @@ _080AB164: .4byte gTasks sub_80AB168: @ 80AB168 push {r4-r7,lr} adds r4, r0, 0 - ldr r7, _080AB1B4 @ =gUnknown_2037F1A + ldr r7, _080AB1B4 @ =gBattleAnimAttacker ldrb r0, [r7] movs r1, 0 bl sub_8074480 @@ -18578,7 +18578,7 @@ sub_80AB168: @ 80AB168 strh r0, [r4, 0x24] b _080AB1C4 .align 2, 0 -_080AB1B4: .4byte gUnknown_2037F1A +_080AB1B4: .4byte gBattleAnimAttacker _080AB1B8: .4byte 0x0000fff6 _080AB1BC: strh r6, [r4, 0x24] @@ -18622,18 +18622,18 @@ _080AB1F2: sub_80AB1F8: @ 80AB1F8 push {r4-r7,lr} adds r6, r0, 0 - ldr r5, _080AB2B8 @ =gUnknown_2037F1A + ldr r5, _080AB2B8 @ =gBattleAnimAttacker ldrb r0, [r5] bl GetBattlerSide adds r4, r0, 0 - ldr r0, _080AB2BC @ =gUnknown_2037F1B + ldr r0, _080AB2BC @ =gBattleAnimTarget ldrb r0, [r0] bl GetBattlerSide lsls r4, 24 lsls r0, 24 cmp r4, r0 bne _080AB242 - ldr r4, _080AB2C0 @ =gUnknown_2037F02 + ldr r4, _080AB2C0 @ =gBattleAnimArgs movs r1, 0 ldrsh r0, [r4, r1] negs r0, r0 @@ -18655,7 +18655,7 @@ _080AB23A: negs r0, r0 strh r0, [r4] _080AB242: - ldr r5, _080AB2C0 @ =gUnknown_2037F02 + ldr r5, _080AB2C0 @ =gBattleAnimArgs movs r1, 0xA ldrsh r0, [r5, r1] movs r1, 0xFF @@ -18674,7 +18674,7 @@ _080AB256: _080AB260: adds r0, r6, 0 bl sub_8075160 - ldr r0, _080AB2B8 @ =gUnknown_2037F1A + ldr r0, _080AB2B8 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -18686,7 +18686,7 @@ _080AB260: _080AB27A: ldrh r0, [r5, 0x8] strh r0, [r6, 0x2E] - ldr r4, _080AB2BC @ =gUnknown_2037F1B + ldr r4, _080AB2BC @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -18712,9 +18712,9 @@ _080AB27A: pop {r0} bx r0 .align 2, 0 -_080AB2B8: .4byte gUnknown_2037F1A -_080AB2BC: .4byte gUnknown_2037F1B -_080AB2C0: .4byte gUnknown_2037F02 +_080AB2B8: .4byte gBattleAnimAttacker +_080AB2BC: .4byte gBattleAnimTarget +_080AB2C0: .4byte gBattleAnimArgs _080AB2C4: .4byte sub_8075590 _080AB2C8: .4byte DestroyAnimSprite thumb_func_end sub_80AB1F8 @@ -18725,7 +18725,7 @@ sub_80AB2CC: @ 80AB2CC adds r4, r0, 0 movs r1, 0x1 bl sub_8075114 - ldr r0, _080AB2FC @ =gUnknown_2037F02 + ldr r0, _080AB2FC @ =gBattleAnimArgs ldrh r1, [r0, 0x8] strh r1, [r4, 0x2E] ldrh r0, [r0, 0x4] @@ -18744,7 +18744,7 @@ sub_80AB2CC: @ 80AB2CC pop {r0} bx r0 .align 2, 0 -_080AB2FC: .4byte gUnknown_2037F02 +_080AB2FC: .4byte gBattleAnimArgs _080AB300: .4byte sub_8075590 _080AB304: .4byte DestroyAnimSprite thumb_func_end sub_80AB2CC @@ -18753,7 +18753,7 @@ _080AB304: .4byte DestroyAnimSprite sub_80AB308: @ 80AB308 push {r4,lr} adds r4, r0, 0 - ldr r0, _080AB320 @ =gUnknown_2037F02 + ldr r0, _080AB320 @ =gBattleAnimArgs movs r1, 0x6 ldrsh r0, [r0, r1] cmp r0, 0 @@ -18763,13 +18763,13 @@ sub_80AB308: @ 80AB308 bl sub_8075114 b _080AB32C .align 2, 0 -_080AB320: .4byte gUnknown_2037F02 +_080AB320: .4byte gBattleAnimArgs _080AB324: adds r0, r4, 0 movs r1, 0x1 bl sub_8075160 _080AB32C: - ldr r0, _080AB33C @ =gUnknown_2037F02 + ldr r0, _080AB33C @ =gBattleAnimArgs ldrh r0, [r0, 0x4] strh r0, [r4, 0x3C] ldr r0, _080AB340 @ =sub_80AB344 @@ -18778,7 +18778,7 @@ _080AB32C: pop {r0} bx r0 .align 2, 0 -_080AB33C: .4byte gUnknown_2037F02 +_080AB33C: .4byte gBattleAnimArgs _080AB340: .4byte sub_80AB344 thumb_func_end sub_80AB308 @@ -18856,7 +18856,7 @@ sub_80AB38C: @ 80AB38C movs r1, 0x3 movs r2, 0x1 bl SetAnimBgAttribute - ldr r0, _080AB400 @ =gUnknown_2037F1A + ldr r0, _080AB400 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -18870,7 +18870,7 @@ sub_80AB38C: @ 80AB38C b _080AB42E .align 2, 0 _080AB3FC: .4byte 0x00003f42 -_080AB400: .4byte gUnknown_2037F1A +_080AB400: .4byte gBattleAnimAttacker _080AB404: .4byte gFile_graphics_unknown_unknown_E81D14_tilemap _080AB408: mov r0, sp @@ -18897,7 +18897,7 @@ _080AB42E: mov r2, sp ldrh r2, [r2, 0xA] bl sub_80753B4 - ldr r0, _080AB460 @ =gUnknown_2037F02 + ldr r0, _080AB460 @ =gBattleAnimArgs movs r1, 0 ldrsh r0, [r0, r1] cmp r0, 0 @@ -18912,7 +18912,7 @@ _080AB42E: .align 2, 0 _080AB458: .4byte gFile_graphics_unknown_unknown_E822B8_tilemap _080AB45C: .4byte gFile_graphics_battle_anims_backgrounds_water_sheet -_080AB460: .4byte gUnknown_2037F02 +_080AB460: .4byte gBattleAnimArgs _080AB464: .4byte gFile_graphics_battle_anims_backgrounds_water_palette _080AB468: ldr r0, _080AB4E0 @ =gFile_graphics_battle_anims_backgrounds_water_muddy_palette @@ -18980,7 +18980,7 @@ _080AB4EC: .4byte 0x0000ffb0 _080AB4F0: .4byte gBattle_BG1_X _080AB4F4: .4byte gBattle_BG1_Y _080AB4F8: - ldr r0, _080AB528 @ =gUnknown_2037F1A + ldr r0, _080AB528 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -19003,7 +19003,7 @@ _080AB4F8: strh r1, [r7, 0xE] b _080AB552 .align 2, 0 -_080AB528: .4byte gUnknown_2037F1A +_080AB528: .4byte gBattleAnimAttacker _080AB52C: .4byte 0x0000ff20 _080AB530: .4byte gBattle_BG1_X _080AB534: .4byte gBattle_BG1_Y @@ -20129,7 +20129,7 @@ _080ABDBE: thumb_func_start sub_80ABDC8 sub_80ABDC8: @ 80ABDC8 push {r4,r5,lr} - ldr r4, _080ABDEC @ =gUnknown_2037F1A + ldr r4, _080ABDEC @ =gBattleAnimAttacker ldrb r0, [r4] bl GetBattlerSide lsls r0, 24 @@ -20145,7 +20145,7 @@ sub_80ABDC8: @ 80ABDC8 ldr r0, _080ABDF4 @ =gPlayerParty b _080ABE0C .align 2, 0 -_080ABDEC: .4byte gUnknown_2037F1A +_080ABDEC: .4byte gBattleAnimAttacker _080ABDF0: .4byte gBattlerPartyIndexes _080ABDF4: .4byte gPlayerParty _080ABDF8: @@ -20206,7 +20206,7 @@ sub_80ABE4C: @ 80ABE4C lsls r1, 24 lsrs r1, 24 str r1, [sp] - ldr r4, _080ABF54 @ =gUnknown_2037F1A + ldr r4, _080ABF54 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -20326,7 +20326,7 @@ _080ABF1E: pop {r0} bx r0 .align 2, 0 -_080ABF54: .4byte gUnknown_2037F1A +_080ABF54: .4byte gBattleAnimAttacker _080ABF58: .4byte gUnknown_83E5AE0 _080ABF5C: .4byte gSprites thumb_func_end sub_80ABE4C @@ -20436,7 +20436,7 @@ sub_80AC00C: @ 80AC00C lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0xA] - ldr r0, _080AC040 @ =gUnknown_2037F1A + ldr r0, _080AC040 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -20448,7 +20448,7 @@ sub_80AC00C: @ 80AC00C b _080AC04A .align 2, 0 _080AC03C: .4byte gTasks -_080AC040: .4byte gUnknown_2037F1A +_080AC040: .4byte gBattleAnimAttacker _080AC044: movs r0, 0x10 strh r0, [r4, 0x10] @@ -20516,7 +20516,7 @@ _080AC0AE: ldrsh r0, [r4, r2] cmp r0, 0 bne _080AC128 - ldr r5, _080AC13C @ =gUnknown_2037F02 + ldr r5, _080AC13C @ =gBattleAnimArgs movs r1, 0x1 mov r8, r1 mov r2, r8 @@ -20579,7 +20579,7 @@ _080AC128: strh r0, [r4, 0x8] b _080AC156 .align 2, 0 -_080AC13C: .4byte gUnknown_2037F02 +_080AC13C: .4byte gBattleAnimArgs _080AC140: .4byte sub_80B94B4 _080AC144: .4byte gUnknown_2037EE2 _080AC148: @@ -20834,7 +20834,7 @@ sub_80AC328: @ 80AC328 lsls r1, 3 ldr r0, _080AC3AC @ =gTasks adds r5, r1, r0 - ldr r4, _080AC3B0 @ =gUnknown_2037F1A + ldr r4, _080AC3B0 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -20891,7 +20891,7 @@ _080AC380: bx r0 .align 2, 0 _080AC3AC: .4byte gTasks -_080AC3B0: .4byte gUnknown_2037F1A +_080AC3B0: .4byte gBattleAnimAttacker _080AC3B4: .4byte 0x0000ffe0 _080AC3B8: .4byte sub_80AC3BC thumb_func_end sub_80AC328 @@ -21211,7 +21211,7 @@ _080AC620: .4byte sub_80AC3BC thumb_func_start sub_80AC624 sub_80AC624: @ 80AC624 - ldr r2, _080AC644 @ =gUnknown_2037F02 + ldr r2, _080AC644 @ =gBattleAnimArgs ldrh r1, [r2] strh r1, [r0, 0x20] ldrh r1, [r2, 0x2] @@ -21228,7 +21228,7 @@ sub_80AC624: @ 80AC624 str r1, [r0, 0x1C] bx lr .align 2, 0 -_080AC644: .4byte gUnknown_2037F02 +_080AC644: .4byte gBattleAnimArgs _080AC648: .4byte sub_80AC64C thumb_func_end sub_80AC624 @@ -21311,7 +21311,7 @@ sub_80AC6D8: @ 80AC6D8 adds r4, r0, 0 movs r1, 0x1 bl sub_8075160 - ldr r5, _080AC714 @ =gUnknown_2037F1B + ldr r5, _080AC714 @ =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 bl sub_8074480 @@ -21324,7 +21324,7 @@ sub_80AC6D8: @ 80AC6D8 lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x32] - ldr r1, _080AC718 @ =gUnknown_2037F02 + ldr r1, _080AC718 @ =gBattleAnimArgs ldrh r0, [r1, 0x4] strh r0, [r4, 0x34] ldrh r0, [r1, 0x6] @@ -21335,8 +21335,8 @@ sub_80AC6D8: @ 80AC6D8 pop {r0} bx r0 .align 2, 0 -_080AC714: .4byte gUnknown_2037F1B -_080AC718: .4byte gUnknown_2037F02 +_080AC714: .4byte gBattleAnimTarget +_080AC718: .4byte gBattleAnimArgs _080AC71C: .4byte sub_80AC720 thumb_func_end sub_80AC6D8 @@ -21489,7 +21489,7 @@ _080AC826: strh r0, [r4, 0x2E] mov r0, r9 strh r0, [r4, 0x30] - ldr r0, _080AC870 @ =gUnknown_2037F1A + ldr r0, _080AC870 @ =gBattleAnimAttacker ldrb r0, [r0] bl sub_807685C subs r0, 0x1 @@ -21505,7 +21505,7 @@ _080AC826: .align 2, 0 _080AC868: .4byte gUnknown_83E5B88 _080AC86C: .4byte gSprites -_080AC870: .4byte gUnknown_2037F1A +_080AC870: .4byte gBattleAnimAttacker _080AC874: strh r7, [r4, 0x32] _080AC876: @@ -21547,7 +21547,7 @@ _080AC89C: strh r0, [r4, 0x2E] mov r0, r9 strh r0, [r4, 0x30] - ldr r0, _080AC8E8 @ =gUnknown_2037F1A + ldr r0, _080AC8E8 @ =gBattleAnimAttacker ldrb r0, [r0] bl sub_807685C subs r0, 0x1 @@ -21563,7 +21563,7 @@ _080AC89C: .align 2, 0 _080AC8E0: .4byte gUnknown_83E5B88 _080AC8E4: .4byte gSprites -_080AC8E8: .4byte gUnknown_2037F1A +_080AC8E8: .4byte gBattleAnimAttacker _080AC8EC: strh r7, [r4, 0x32] _080AC8EE: @@ -21588,7 +21588,7 @@ _080AC8EE: sub_80AC90C: @ 80AC90C push {r4,lr} adds r4, r0, 0 - ldr r0, _080AC940 @ =gUnknown_2037F02 + ldr r0, _080AC940 @ =gBattleAnimArgs ldrh r0, [r0] strh r0, [r4, 0x2E] movs r0, 0x3C @@ -21611,7 +21611,7 @@ sub_80AC90C: @ 80AC90C pop {r0} bx r0 .align 2, 0 -_080AC940: .4byte gUnknown_2037F02 +_080AC940: .4byte gBattleAnimArgs _080AC944: .4byte DestroyAnimSprite _080AC948: .4byte sub_8074AE0 thumb_func_end sub_80AC90C @@ -21620,7 +21620,7 @@ _080AC948: .4byte sub_8074AE0 sub_80AC94C: @ 80AC94C push {r4,r5,lr} adds r4, r0, 0 - ldr r5, _080AC984 @ =gUnknown_2037F02 + ldr r5, _080AC984 @ =gBattleAnimArgs movs r0, 0 ldrsh r1, [r5, r0] adds r0, r4, 0 @@ -21644,7 +21644,7 @@ sub_80AC94C: @ 80AC94C pop {r0} bx r0 .align 2, 0 -_080AC984: .4byte gUnknown_2037F02 +_080AC984: .4byte gBattleAnimArgs _080AC988: .4byte sub_8074D00 _080AC98C: .4byte DestroyAnimSprite thumb_func_end sub_80AC94C @@ -21654,13 +21654,13 @@ sub_80AC990: @ 80AC990 push {r4,lr} adds r4, r0, 0 bl sub_8074FCC - ldr r0, _080AC9C4 @ =gUnknown_2037F1A + ldr r0, _080AC9C4 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080AC9CC - ldr r2, _080AC9C8 @ =gUnknown_2037F02 + ldr r2, _080AC9C8 @ =gBattleAnimArgs ldrh r0, [r4, 0x20] ldrh r1, [r2] subs r0, r1 @@ -21675,10 +21675,10 @@ sub_80AC990: @ 80AC990 adds r1, r2, 0 b _080AC9E2 .align 2, 0 -_080AC9C4: .4byte gUnknown_2037F1A -_080AC9C8: .4byte gUnknown_2037F02 +_080AC9C4: .4byte gBattleAnimAttacker +_080AC9C8: .4byte gBattleAnimArgs _080AC9CC: - ldr r1, _080AC9F8 @ =gUnknown_2037F02 + ldr r1, _080AC9F8 @ =gBattleAnimArgs ldrh r0, [r1] ldrh r2, [r4, 0x20] adds r0, r2 @@ -21702,7 +21702,7 @@ _080AC9E2: pop {r0} bx r0 .align 2, 0 -_080AC9F8: .4byte gUnknown_2037F02 +_080AC9F8: .4byte gBattleAnimArgs _080AC9FC: .4byte sub_80ACA6C thumb_func_end sub_80AC990 @@ -21710,13 +21710,13 @@ _080AC9FC: .4byte sub_80ACA6C sub_80ACA00: @ 80ACA00 push {r4,lr} adds r4, r0, 0 - ldr r0, _080ACA2C @ =gUnknown_2037F1A + ldr r0, _080ACA2C @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080ACA34 - ldr r2, _080ACA30 @ =gUnknown_2037F02 + ldr r2, _080ACA30 @ =gBattleAnimArgs ldrh r0, [r4, 0x20] ldrh r1, [r2] subs r0, r1 @@ -21730,10 +21730,10 @@ sub_80ACA00: @ 80ACA00 adds r1, r2, 0 b _080ACA4C .align 2, 0 -_080ACA2C: .4byte gUnknown_2037F1A -_080ACA30: .4byte gUnknown_2037F02 +_080ACA2C: .4byte gBattleAnimAttacker +_080ACA30: .4byte gBattleAnimArgs _080ACA34: - ldr r1, _080ACA64 @ =gUnknown_2037F02 + ldr r1, _080ACA64 @ =gBattleAnimArgs ldrh r0, [r1] ldrh r2, [r4, 0x20] adds r0, r2 @@ -21758,7 +21758,7 @@ _080ACA4C: pop {r0} bx r0 .align 2, 0 -_080ACA64: .4byte gUnknown_2037F02 +_080ACA64: .4byte gBattleAnimArgs _080ACA68: .4byte sub_80ACA6C thumb_func_end sub_80ACA00 @@ -21802,23 +21802,23 @@ sub_80ACAA8: @ 80ACAA8 push {r4,lr} adds r4, r0, 0 bl sub_8074FCC - ldr r0, _080ACACC @ =gUnknown_2037F1A + ldr r0, _080ACACC @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080ACAD4 - ldr r0, _080ACAD0 @ =gUnknown_2037F02 + ldr r0, _080ACAD0 @ =gBattleAnimArgs ldrh r1, [r4, 0x20] ldrh r2, [r0] subs r1, r2 strh r1, [r4, 0x20] b _080ACAE6 .align 2, 0 -_080ACACC: .4byte gUnknown_2037F1A -_080ACAD0: .4byte gUnknown_2037F02 +_080ACACC: .4byte gBattleAnimAttacker +_080ACAD0: .4byte gBattleAnimArgs _080ACAD4: - ldr r0, _080ACB14 @ =gUnknown_2037F02 + ldr r0, _080ACB14 @ =gBattleAnimArgs ldrh r1, [r0] ldrh r2, [r4, 0x20] adds r1, r2 @@ -21851,7 +21851,7 @@ _080ACAE6: pop {r0} bx r0 .align 2, 0 -_080ACB14: .4byte gUnknown_2037F02 +_080ACB14: .4byte gBattleAnimArgs _080ACB18: .4byte sub_80ACB1C thumb_func_end sub_80ACAA8 @@ -21961,11 +21961,11 @@ _080ACBD8: .4byte DestroyAnimSprite sub_80ACBDC: @ 80ACBDC push {r4-r6,lr} adds r6, r0, 0 - ldr r5, _080ACC34 @ =gUnknown_2037F1A + ldr r5, _080ACC34 @ =gBattleAnimAttacker ldrb r0, [r5] bl GetBattlerSide adds r4, r0, 0 - ldr r0, _080ACC38 @ =gUnknown_2037F1B + ldr r0, _080ACC38 @ =gBattleAnimTarget ldrb r0, [r0] bl GetBattlerSide lsls r4, 24 @@ -21987,7 +21987,7 @@ sub_80ACBDC: @ 80ACBDC cmp r1, r0 bne _080ACC22 _080ACC1A: - ldr r1, _080ACC3C @ =gUnknown_2037F02 + ldr r1, _080ACC3C @ =gBattleAnimArgs ldrh r0, [r1, 0x4] negs r0, r0 strh r0, [r1, 0x4] @@ -22000,15 +22000,15 @@ _080ACC22: pop {r0} bx r0 .align 2, 0 -_080ACC34: .4byte gUnknown_2037F1A -_080ACC38: .4byte gUnknown_2037F1B -_080ACC3C: .4byte gUnknown_2037F02 +_080ACC34: .4byte gBattleAnimAttacker +_080ACC38: .4byte gBattleAnimTarget +_080ACC3C: .4byte gBattleAnimArgs _080ACC40: .4byte sub_8075F0C thumb_func_end sub_80ACBDC thumb_func_start sub_80ACC44 sub_80ACC44: @ 80ACC44 - ldr r2, _080ACC58 @ =gUnknown_2037F02 + ldr r2, _080ACC58 @ =gBattleAnimArgs ldrh r1, [r2] negs r1, r1 strh r1, [r2] @@ -22019,7 +22019,7 @@ sub_80ACC44: @ 80ACC44 str r1, [r0, 0x1C] bx lr .align 2, 0 -_080ACC58: .4byte gUnknown_2037F02 +_080ACC58: .4byte gBattleAnimArgs _080ACC5C: .4byte sub_8075F0C thumb_func_end sub_80ACC44 @@ -22029,7 +22029,7 @@ sub_80ACC60: @ 80ACC60 adds r4, r0, 0 movs r1, 0x1 bl sub_8075160 - ldr r0, _080ACC80 @ =gUnknown_2037F02 + ldr r0, _080ACC80 @ =gBattleAnimArgs ldrh r0, [r0, 0x4] movs r1, 0 strh r0, [r4, 0x3C] @@ -22040,7 +22040,7 @@ sub_80ACC60: @ 80ACC60 pop {r0} bx r0 .align 2, 0 -_080ACC80: .4byte gUnknown_2037F02 +_080ACC80: .4byte gBattleAnimArgs _080ACC84: .4byte sub_80ACC88 thumb_func_end sub_80ACC60 @@ -22060,7 +22060,7 @@ sub_80ACC88: @ 80ACC88 strh r0, [r5, 0x2E] ldrh r0, [r5, 0x20] strh r0, [r5, 0x30] - ldr r4, _080ACCD8 @ =gUnknown_2037F1B + ldr r4, _080ACCD8 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -22084,7 +22084,7 @@ _080ACCD2: pop {r0} bx r0 .align 2, 0 -_080ACCD8: .4byte gUnknown_2037F1B +_080ACCD8: .4byte gBattleAnimTarget _080ACCDC: .4byte sub_80ACCE0 thumb_func_end sub_80ACC88 @@ -22098,7 +22098,7 @@ sub_80ACCE0: @ 80ACCE0 beq _080ACD28 movs r4, 0 strh r4, [r6, 0x2E] - ldr r5, _080ACD20 @ =gUnknown_2037F1B + ldr r5, _080ACD20 @ =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 bl sub_8074480 @@ -22119,7 +22119,7 @@ sub_80ACCE0: @ 80ACCE0 bl _call_via_r1 b _080ACD52 .align 2, 0 -_080ACD20: .4byte gUnknown_2037F1B +_080ACD20: .4byte gBattleAnimTarget _080ACD24: .4byte sub_80ACD58 _080ACD28: movs r1, 0x3C @@ -22195,7 +22195,7 @@ sub_80ACD7C: @ 80ACD7C sub_80ACDA8: @ 80ACDA8 push {r4,lr} adds r4, r0, 0 - ldr r1, _080ACDDC @ =gUnknown_2037F02 + ldr r1, _080ACDDC @ =gBattleAnimArgs ldrh r0, [r1] ldrh r2, [r4, 0x20] adds r0, r2 @@ -22219,7 +22219,7 @@ sub_80ACDA8: @ 80ACDA8 pop {r0} bx r0 .align 2, 0 -_080ACDDC: .4byte gUnknown_2037F02 +_080ACDDC: .4byte gBattleAnimArgs _080ACDE0: .4byte DestroyAnimSprite _080ACDE4: .4byte sub_8074CD0 thumb_func_end sub_80ACDA8 @@ -22230,7 +22230,7 @@ sub_80ACDE8: @ 80ACDE8 adds r4, r0, 0 movs r1, 0x1 bl sub_8075160 - ldr r1, _080ACE1C @ =gUnknown_2037F02 + ldr r1, _080ACE1C @ =gBattleAnimArgs ldrh r0, [r1, 0x4] strh r0, [r4, 0x30] ldrh r0, [r1, 0x6] @@ -22250,7 +22250,7 @@ sub_80ACDE8: @ 80ACDE8 pop {r0} bx r0 .align 2, 0 -_080ACE1C: .4byte gUnknown_2037F02 +_080ACE1C: .4byte gBattleAnimArgs _080ACE20: .4byte sub_8074C44 _080ACE24: .4byte sub_80ACE28 thumb_func_end sub_80ACDE8 @@ -22350,7 +22350,7 @@ sub_80ACEA4: @ 80ACEA4 adds r0, r2 ldrh r0, [r0, 0x22] strh r0, [r4, 0x10] - ldr r0, _080ACF0C @ =gUnknown_2037F1A + ldr r0, _080ACF0C @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -22370,7 +22370,7 @@ sub_80ACEA4: @ 80ACEA4 .align 2, 0 _080ACF04: .4byte gTasks _080ACF08: .4byte gSprites -_080ACF0C: .4byte gUnknown_2037F1A +_080ACF0C: .4byte gBattleAnimAttacker _080ACF10: .4byte sub_80ACF14 thumb_func_end sub_80ACEA4 @@ -22776,7 +22776,7 @@ sub_80AD1F8: @ 80AD1F8 lsls r0, 2 adds r0, r1 ldrh r4, [r0, 0x20] - ldr r0, _080AD24C @ =gUnknown_2037F1A + ldr r0, _080AD24C @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -22790,7 +22790,7 @@ sub_80AD1F8: @ 80AD1F8 b _080AD25A .align 2, 0 _080AD248: .4byte gSprites -_080AD24C: .4byte gUnknown_2037F1A +_080AD24C: .4byte gBattleAnimAttacker _080AD250: adds r0, r4, 0 adds r0, 0x10 @@ -22958,7 +22958,7 @@ sub_80AD374: @ 80AD374 adds r0, r2 lsls r0, 16 lsrs r4, r0, 16 - ldr r0, _080AD3B0 @ =gUnknown_2037F1A + ldr r0, _080AD3B0 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -22970,7 +22970,7 @@ sub_80AD374: @ 80AD374 b _080AD3BA .align 2, 0 _080AD3AC: .4byte gSprites -_080AD3B0: .4byte gUnknown_2037F1A +_080AD3B0: .4byte gBattleAnimAttacker _080AD3B4: lsls r0, r4, 16 movs r1, 0xB0 @@ -23068,7 +23068,7 @@ _080AD450: thumb_func_start sub_80AD454 sub_80AD454: @ 80AD454 push {r4,r5,lr} - ldr r3, _080AD498 @ =gUnknown_2037F02 + ldr r3, _080AD498 @ =gBattleAnimArgs ldrh r1, [r3] movs r2, 0 strh r1, [r0, 0x20] @@ -23101,7 +23101,7 @@ sub_80AD454: @ 80AD454 pop {r0} bx r0 .align 2, 0 -_080AD498: .4byte gUnknown_2037F02 +_080AD498: .4byte gBattleAnimArgs _080AD49C: .4byte 0x000003ff _080AD4A0: .4byte 0xfffffc00 _080AD4A4: .4byte sub_80AD4A8 @@ -23215,13 +23215,13 @@ _080AD55C: adds r0, r5, 0 movs r1, 0 bl sub_8075160 - ldr r4, _080AD584 @ =gUnknown_2037F02 + ldr r4, _080AD584 @ =gBattleAnimArgs ldrb r1, [r4, 0x4] adds r0, r5, 0 bl StartSpriteAnim ldrh r0, [r4, 0x4] strh r0, [r5, 0x3C] - ldr r0, _080AD588 @ =gUnknown_2037F1A + ldr r0, _080AD588 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -23230,13 +23230,13 @@ _080AD55C: movs r0, 0x4 b _080AD58E .align 2, 0 -_080AD584: .4byte gUnknown_2037F02 -_080AD588: .4byte gUnknown_2037F1A +_080AD584: .4byte gBattleAnimArgs +_080AD588: .4byte gBattleAnimAttacker _080AD58C: ldr r0, _080AD5AC @ =0x0000fffc _080AD58E: strh r0, [r5, 0x36] - ldr r0, _080AD5B0 @ =gUnknown_2037F1B + ldr r0, _080AD5B0 @ =gBattleAnimTarget ldrb r0, [r0] bl sub_8076884 movs r1, 0x3 @@ -23251,12 +23251,12 @@ _080AD58E: b _080AD60A .align 2, 0 _080AD5AC: .4byte 0x0000fffc -_080AD5B0: .4byte gUnknown_2037F1B +_080AD5B0: .4byte gBattleAnimTarget _080AD5B4: ldrh r0, [r5, 0x30] adds r0, 0xC0 strh r0, [r5, 0x30] - ldr r0, _080AD5D4 @ =gUnknown_2037F1A + ldr r0, _080AD5D4 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -23268,7 +23268,7 @@ _080AD5B4: negs r0, r0 b _080AD5DE .align 2, 0 -_080AD5D4: .4byte gUnknown_2037F1A +_080AD5D4: .4byte gBattleAnimAttacker _080AD5D8: ldrh r0, [r5, 0x30] lsls r0, 16 @@ -23334,7 +23334,7 @@ _080AD612: lsls r0, 1 strh r0, [r5, 0x2E] strh r1, [r5, 0x30] - ldr r4, _080AD688 @ =gUnknown_2037F1B + ldr r4, _080AD688 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -23358,7 +23358,7 @@ _080AD682: pop {r0} bx r0 .align 2, 0 -_080AD688: .4byte gUnknown_2037F1B +_080AD688: .4byte gBattleAnimTarget _080AD68C: .4byte sub_80AD690 thumb_func_end sub_80AD540 @@ -23423,7 +23423,7 @@ sub_80AD6F4: @ 80AD6F4 ldrsh r0, [r4, r2] cmp r0, 0 bne _080AD70C - ldr r0, _080AD778 @ =gUnknown_2037F02 + ldr r0, _080AD778 @ =gBattleAnimArgs ldrh r0, [r0] strh r0, [r4, 0x30] adds r0, r1, 0x1 @@ -23466,7 +23466,7 @@ _080AD70C: lsrs r0, 16 cmp r0, 0x83 bls _080AD780 - ldr r0, _080AD77C @ =gUnknown_2037F1B + ldr r0, _080AD77C @ =gBattleAnimTarget ldrb r0, [r0] bl sub_8076884 movs r1, 0x3 @@ -23480,10 +23480,10 @@ _080AD70C: strb r0, [r4, 0x5] b _080AD7C4 .align 2, 0 -_080AD778: .4byte gUnknown_2037F02 -_080AD77C: .4byte gUnknown_2037F1B +_080AD778: .4byte gBattleAnimArgs +_080AD77C: .4byte gBattleAnimTarget _080AD780: - ldr r0, _080AD7A4 @ =gUnknown_2037F1B + ldr r0, _080AD7A4 @ =gBattleAnimTarget ldrb r0, [r0] bl sub_8076884 lsls r0, 24 @@ -23500,7 +23500,7 @@ _080AD780: strb r1, [r4, 0x5] b _080AD7C4 .align 2, 0 -_080AD7A4: .4byte gUnknown_2037F1B +_080AD7A4: .4byte gBattleAnimTarget _080AD7A8: ldrh r0, [r4, 0x30] subs r0, 0x40 @@ -23562,7 +23562,7 @@ sub_80AD800: @ 80AD800 lsls r1, 3 ldr r0, _080AD860 @ =gTasks adds r4, r1, r0 - ldr r0, _080AD864 @ =gUnknown_2037F1A + ldr r0, _080AD864 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -23574,7 +23574,7 @@ sub_80AD800: @ 80AD800 movs r1, 0x1 _080AD826: strh r1, [r4, 0x20] - ldr r0, _080AD868 @ =gUnknown_2037F1B + ldr r0, _080AD868 @ =gBattleAnimTarget ldrb r1, [r0] movs r0, 0x2 eors r0, r1 @@ -23600,8 +23600,8 @@ _080AD826: bx r0 .align 2, 0 _080AD860: .4byte gTasks -_080AD864: .4byte gUnknown_2037F1A -_080AD868: .4byte gUnknown_2037F1B +_080AD864: .4byte gBattleAnimAttacker +_080AD868: .4byte gBattleAnimTarget _080AD86C: .4byte sub_80AD870 thumb_func_end sub_80AD800 @@ -23922,7 +23922,7 @@ sub_80ADAA4: @ 80ADAA4 mov r0, sp ldrb r0, [r0, 0x8] lsls r0, 4 - ldr r1, _080ADAD4 @ =gUnknown_2037F02 + ldr r1, _080ADAD4 @ =gBattleAnimArgs ldrb r2, [r1] ldrh r3, [r1, 0x2] movs r1, 0x10 @@ -23934,7 +23934,7 @@ sub_80ADAA4: @ 80ADAA4 pop {r0} bx r0 .align 2, 0 -_080ADAD4: .4byte gUnknown_2037F02 +_080ADAD4: .4byte gBattleAnimArgs thumb_func_end sub_80ADAA4 thumb_func_start sub_80ADAD8 @@ -23954,7 +23954,7 @@ sub_80ADAD8: @ 80ADAD8 movs r3, 0x8 ldrsh r0, [r2, r3] mov r9, r1 - ldr r4, _080ADB34 @ =gUnknown_2037F02 + ldr r4, _080ADB34 @ =gBattleAnimArgs mov r8, r4 cmp r0, 0 bne _080ADB0E @@ -23971,7 +23971,7 @@ _080ADB0E: adds r0, 0x1 strh r0, [r2, 0x8] ldr r1, _080ADB38 @ =gUnknown_2023D44 - ldr r0, _080ADB3C @ =gUnknown_2037F1B + ldr r0, _080ADB3C @ =gBattleAnimTarget ldrb r0, [r0] adds r0, r1 ldrb r6, [r0] @@ -23985,9 +23985,9 @@ _080ADB0E: b _080ADB4A .align 2, 0 _080ADB30: .4byte gTasks -_080ADB34: .4byte gUnknown_2037F02 +_080ADB34: .4byte gBattleAnimArgs _080ADB38: .4byte gUnknown_2023D44 -_080ADB3C: .4byte gUnknown_2037F1B +_080ADB3C: .4byte gBattleAnimTarget _080ADB40: .4byte gUnknown_83E5EFC _080ADB44: ldr r4, _080ADB90 @ =gUnknown_83E5F0C @@ -24080,23 +24080,23 @@ _080ADBE8: .4byte gSprites sub_80ADBEC: @ 80ADBEC push {r4,lr} adds r4, r0, 0 - ldr r0, _080ADC0C @ =gUnknown_2037F1A + ldr r0, _080ADC0C @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080ADC14 - ldr r0, _080ADC10 @ =gUnknown_2037F02 + ldr r0, _080ADC10 @ =gBattleAnimArgs ldrh r1, [r4, 0x20] ldrh r2, [r0] subs r1, r2 strh r1, [r4, 0x20] b _080ADC20 .align 2, 0 -_080ADC0C: .4byte gUnknown_2037F1A -_080ADC10: .4byte gUnknown_2037F02 +_080ADC0C: .4byte gBattleAnimAttacker +_080ADC10: .4byte gBattleAnimArgs _080ADC14: - ldr r1, _080ADC34 @ =gUnknown_2037F02 + ldr r1, _080ADC34 @ =gBattleAnimArgs ldrh r0, [r1] ldrh r2, [r4, 0x20] adds r0, r2 @@ -24113,7 +24113,7 @@ _080ADC20: pop {r0} bx r0 .align 2, 0 -_080ADC34: .4byte gUnknown_2037F02 +_080ADC34: .4byte gBattleAnimArgs _080ADC38: .4byte sub_80ADC3C thumb_func_end sub_80ADBEC @@ -24138,23 +24138,23 @@ _080ADC52: sub_80ADC58: @ 80ADC58 push {r4,lr} adds r4, r0, 0 - ldr r0, _080ADC78 @ =gUnknown_2037F1A + ldr r0, _080ADC78 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080ADC80 - ldr r0, _080ADC7C @ =gUnknown_2037F02 + ldr r0, _080ADC7C @ =gBattleAnimArgs ldrh r1, [r4, 0x20] ldrh r0, [r0] subs r1, r0 strh r1, [r4, 0x20] b _080ADC8A .align 2, 0 -_080ADC78: .4byte gUnknown_2037F1A -_080ADC7C: .4byte gUnknown_2037F02 +_080ADC78: .4byte gBattleAnimAttacker +_080ADC7C: .4byte gBattleAnimArgs _080ADC80: - ldr r0, _080ADC94 @ =gUnknown_2037F02 + ldr r0, _080ADC94 @ =gBattleAnimArgs ldrh r0, [r0] ldrh r1, [r4, 0x20] adds r0, r1 @@ -24166,7 +24166,7 @@ _080ADC8A: pop {r0} bx r0 .align 2, 0 -_080ADC94: .4byte gUnknown_2037F02 +_080ADC94: .4byte gBattleAnimArgs _080ADC98: .4byte sub_80ADC9C thumb_func_end sub_80ADC58 @@ -24191,7 +24191,7 @@ _080ADCB2: sub_80ADCB8: @ 80ADCB8 push {r4,r5,lr} adds r5, r0, 0 - ldr r4, _080ADCFC @ =gUnknown_2037F1B + ldr r4, _080ADCFC @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -24204,13 +24204,13 @@ sub_80ADCB8: @ 80ADCB8 lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] - ldr r0, _080ADD00 @ =gUnknown_2037F1A + ldr r0, _080ADD00 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080ADD08 - ldr r2, _080ADD04 @ =gUnknown_2037F02 + ldr r2, _080ADD04 @ =gBattleAnimArgs ldrh r0, [r5, 0x20] ldrh r1, [r2] subs r0, r1 @@ -24221,11 +24221,11 @@ sub_80ADCB8: @ 80ADCB8 strh r0, [r5, 0x22] b _080ADD1C .align 2, 0 -_080ADCFC: .4byte gUnknown_2037F1B -_080ADD00: .4byte gUnknown_2037F1A -_080ADD04: .4byte gUnknown_2037F02 +_080ADCFC: .4byte gBattleAnimTarget +_080ADD00: .4byte gBattleAnimAttacker +_080ADD04: .4byte gBattleAnimArgs _080ADD08: - ldr r0, _080ADD40 @ =gUnknown_2037F02 + ldr r0, _080ADD40 @ =gBattleAnimArgs ldrh r1, [r0] ldrh r2, [r5, 0x20] adds r1, r2 @@ -24253,7 +24253,7 @@ _080ADD1C: pop {r0} bx r0 .align 2, 0 -_080ADD40: .4byte gUnknown_2037F02 +_080ADD40: .4byte gBattleAnimArgs _080ADD44: .4byte move_anim_8074EE0 _080ADD48: .4byte sub_8074A80 thumb_func_end sub_80ADCB8 @@ -24262,7 +24262,7 @@ _080ADD48: .4byte sub_8074A80 sub_80ADD4C: @ 80ADD4C push {r4-r7,lr} adds r5, r0, 0 - ldr r0, _080ADD64 @ =gUnknown_2037F02 + ldr r0, _080ADD64 @ =gBattleAnimArgs movs r1, 0x8 ldrsh r0, [r0, r1] cmp r0, 0x1 @@ -24273,7 +24273,7 @@ sub_80ADD4C: @ 80ADD4C beq _080ADD72 b _080ADDC4 .align 2, 0 -_080ADD64: .4byte gUnknown_2037F02 +_080ADD64: .4byte gBattleAnimArgs _080ADD68: cmp r0, 0x2 beq _080ADD7C @@ -24281,12 +24281,12 @@ _080ADD68: beq _080ADDA0 b _080ADDC4 _080ADD72: - ldr r0, _080ADD78 @ =gUnknown_2037F1A + ldr r0, _080ADD78 @ =gBattleAnimAttacker b _080ADDC6 .align 2, 0 -_080ADD78: .4byte gUnknown_2037F1A +_080ADD78: .4byte gBattleAnimAttacker _080ADD7C: - ldr r4, _080ADD94 @ =gUnknown_2037F1A + ldr r4, _080ADD94 @ =gBattleAnimAttacker ldrb r0, [r4] movs r6, 0x2 eors r0, r6 @@ -24297,14 +24297,14 @@ _080ADD7C: ldrb r4, [r4] b _080ADDC8 .align 2, 0 -_080ADD94: .4byte gUnknown_2037F1A +_080ADD94: .4byte gBattleAnimAttacker _080ADD98: ldrb r0, [r4] adds r4, r6, 0 eors r4, r0 b _080ADDC8 _080ADDA0: - ldr r0, _080ADDBC @ =gUnknown_2037F1A + ldr r0, _080ADDBC @ =gBattleAnimAttacker ldrb r0, [r0] movs r4, 0x2 eors r0, r4 @@ -24312,19 +24312,19 @@ _080ADDA0: lsls r0, 24 cmp r0, 0 beq _080ADDC4 - ldr r0, _080ADDC0 @ =gUnknown_2037F1B + ldr r0, _080ADDC0 @ =gBattleAnimTarget ldrb r0, [r0] eors r4, r0 b _080ADDC8 .align 2, 0 -_080ADDBC: .4byte gUnknown_2037F1A -_080ADDC0: .4byte gUnknown_2037F1B +_080ADDBC: .4byte gBattleAnimAttacker +_080ADDC0: .4byte gBattleAnimTarget _080ADDC4: - ldr r0, _080ADDE8 @ =gUnknown_2037F1B + ldr r0, _080ADDE8 @ =gBattleAnimTarget _080ADDC6: ldrb r4, [r0] _080ADDC8: - ldr r0, _080ADDEC @ =gUnknown_2037F02 + ldr r0, _080ADDEC @ =gBattleAnimArgs movs r2, 0xA ldrsh r0, [r0, r2] cmp r0, 0 @@ -24339,8 +24339,8 @@ _080ADDC8: movs r1, 0x1 b _080ADE02 .align 2, 0 -_080ADDE8: .4byte gUnknown_2037F1B -_080ADDEC: .4byte gUnknown_2037F02 +_080ADDE8: .4byte gBattleAnimTarget +_080ADDEC: .4byte gBattleAnimArgs _080ADDF0: adds r0, r4, 0 movs r1, 0x2 @@ -24356,7 +24356,7 @@ _080ADE02: lsrs r0, 24 strh r0, [r5, 0x22] ldr r7, _080ADEA0 @ =gSineTable - ldr r6, _080ADEA4 @ =gUnknown_2037F02 + ldr r6, _080ADEA4 @ =gBattleAnimArgs movs r1, 0 ldrsh r0, [r6, r1] lsls r0, 1 @@ -24431,7 +24431,7 @@ _080ADE66: bx r0 .align 2, 0 _080ADEA0: .4byte gSineTable -_080ADEA4: .4byte gUnknown_2037F02 +_080ADEA4: .4byte gBattleAnimArgs _080ADEA8: .4byte gOamMatrices _080ADEAC: .4byte sub_80B1D3C thumb_func_end sub_80ADD4C @@ -24442,12 +24442,12 @@ sub_80ADEB0: @ 80ADEB0 adds r4, r0, 0 movs r1, 0x1 bl sub_8075160 - ldr r5, _080ADF24 @ =gUnknown_2037F02 + ldr r5, _080ADF24 @ =gBattleAnimArgs ldrh r0, [r5, 0x6] strh r0, [r4, 0x2E] ldrh r0, [r4, 0x20] strh r0, [r4, 0x30] - ldr r6, _080ADF28 @ =gUnknown_2037F1B + ldr r6, _080ADF28 @ =gBattleAnimTarget ldrb r0, [r6] movs r1, 0x2 bl sub_8074480 @@ -24492,8 +24492,8 @@ sub_80ADEB0: @ 80ADEB0 pop {r0} bx r0 .align 2, 0 -_080ADF24: .4byte gUnknown_2037F02 -_080ADF28: .4byte gUnknown_2037F1B +_080ADF24: .4byte gBattleAnimArgs +_080ADF28: .4byte gBattleAnimTarget _080ADF2C: .4byte 0x000003ff _080ADF30: .4byte 0xfffffc00 _080ADF34: .4byte sub_80ADF38 @@ -24611,24 +24611,24 @@ sub_80AE000: @ 80AE000 lsls r0, 24 cmp r0, 0 bne _080AE01C - ldr r0, _080AE060 @ =gUnknown_2037F1B + ldr r0, _080AE060 @ =gBattleAnimTarget ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080AE024 _080AE01C: - ldr r1, _080AE064 @ =gUnknown_2037F02 + ldr r1, _080AE064 @ =gBattleAnimArgs ldrh r0, [r1, 0x2] negs r0, r0 strh r0, [r1, 0x2] _080AE024: - ldr r5, _080AE060 @ =gUnknown_2037F1B + ldr r5, _080AE060 @ =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 bl sub_8074480 lsls r0, 24 - ldr r4, _080AE064 @ =gUnknown_2037F02 + ldr r4, _080AE064 @ =gBattleAnimArgs lsrs r0, 24 ldrh r1, [r4, 0x2] adds r0, r1 @@ -24652,8 +24652,8 @@ _080AE024: pop {r0} bx r0 .align 2, 0 -_080AE060: .4byte gUnknown_2037F1B -_080AE064: .4byte gUnknown_2037F02 +_080AE060: .4byte gBattleAnimTarget +_080AE064: .4byte gBattleAnimArgs _080AE068: .4byte sub_80ADFB0 thumb_func_end sub_80AE000 @@ -24661,7 +24661,7 @@ _080AE068: .4byte sub_80ADFB0 sub_80AE06C: @ 80AE06C push {r4-r6,lr} adds r5, r0, 0 - ldr r1, _080AE088 @ =gUnknown_2037F02 + ldr r1, _080AE088 @ =gBattleAnimArgs ldrh r0, [r1, 0x6] strh r0, [r5, 0x2E] movs r2, 0xE @@ -24671,13 +24671,13 @@ sub_80AE06C: @ 80AE06C ands r0, r1 cmp r0, 0 beq _080AE090 - ldr r0, _080AE08C @ =gUnknown_2037F1B + ldr r0, _080AE08C @ =gBattleAnimTarget b _080AE092 .align 2, 0 -_080AE088: .4byte gUnknown_2037F02 -_080AE08C: .4byte gUnknown_2037F1B +_080AE088: .4byte gBattleAnimArgs +_080AE08C: .4byte gBattleAnimTarget _080AE090: - ldr r0, _080AE118 @ =gUnknown_2037F1A + ldr r0, _080AE118 @ =gBattleAnimAttacker _080AE092: ldrb r6, [r0] bl sub_8073788 @@ -24690,7 +24690,7 @@ _080AE092: cmp r0, 0 bne _080AE0B2 _080AE0AA: - ldr r1, _080AE11C @ =gUnknown_2037F02 + ldr r1, _080AE11C @ =gBattleAnimArgs ldrh r0, [r1] negs r0, r0 strh r0, [r1] @@ -24699,7 +24699,7 @@ _080AE0B2: movs r1, 0x2 bl sub_8074480 lsls r0, 24 - ldr r4, _080AE11C @ =gUnknown_2037F02 + ldr r4, _080AE11C @ =gBattleAnimArgs lsrs r0, 24 ldrh r3, [r4] adds r0, r3 @@ -24744,8 +24744,8 @@ _080AE0B2: pop {r0} bx r0 .align 2, 0 -_080AE118: .4byte gUnknown_2037F1A -_080AE11C: .4byte gUnknown_2037F02 +_080AE118: .4byte gBattleAnimAttacker +_080AE11C: .4byte gBattleAnimArgs _080AE120: .4byte 0x00007fff _080AE124: .4byte 0x000003ff _080AE128: .4byte 0xfffffc00 @@ -24818,7 +24818,7 @@ sub_80AE1A0: @ 80AE1A0 ldrh r2, [r4, 0x4] lsls r1, r2, 22 lsrs r1, 22 - ldr r3, _080AE1DC @ =gUnknown_2037F02 + ldr r3, _080AE1DC @ =gBattleAnimArgs movs r5, 0x6 ldrsh r0, [r3, r5] lsls r0, 2 @@ -24841,7 +24841,7 @@ sub_80AE1A0: @ 80AE1A0 movs r0, 0x10 b _080AE1F6 .align 2, 0 -_080AE1DC: .4byte gUnknown_2037F02 +_080AE1DC: .4byte gBattleAnimArgs _080AE1E0: .4byte 0x000003ff _080AE1E4: .4byte 0xfffffc00 _080AE1E8: @@ -24856,7 +24856,7 @@ _080AE1F6: orrs r1, r0 strb r1, [r4, 0x3] _080AE1FA: - ldr r0, _080AE214 @ =gUnknown_2037F02 + ldr r0, _080AE214 @ =gBattleAnimArgs ldrh r0, [r0, 0x4] strh r0, [r4, 0x2E] ldr r0, _080AE218 @ =sub_8074C44 @@ -24868,7 +24868,7 @@ _080AE1FA: pop {r0} bx r0 .align 2, 0 -_080AE214: .4byte gUnknown_2037F02 +_080AE214: .4byte gBattleAnimArgs _080AE218: .4byte sub_8074C44 _080AE21C: .4byte DestroyAnimSprite thumb_func_end sub_80AE1A0 @@ -24879,7 +24879,7 @@ sub_80AE220: @ 80AE220 adds r5, r0, 0 lsls r5, 24 lsrs r5, 24 - ldr r6, _080AE268 @ =gUnknown_2037F1B + ldr r6, _080AE268 @ =gBattleAnimTarget ldrb r0, [r6] movs r1, 0 bl sub_8074480 @@ -24889,7 +24889,7 @@ sub_80AE220: @ 80AE220 lsls r4, 3 adds r4, r1 lsls r0, 24 - ldr r5, _080AE270 @ =gUnknown_2037F02 + ldr r5, _080AE270 @ =gBattleAnimArgs lsrs r0, 24 ldrh r1, [r5] adds r0, r1 @@ -24910,9 +24910,9 @@ sub_80AE220: @ 80AE220 pop {r0} bx r0 .align 2, 0 -_080AE268: .4byte gUnknown_2037F1B +_080AE268: .4byte gBattleAnimTarget _080AE26C: .4byte gTasks -_080AE270: .4byte gUnknown_2037F02 +_080AE270: .4byte gBattleAnimArgs _080AE274: .4byte sub_80AE278 thumb_func_end sub_80AE220 @@ -25176,7 +25176,7 @@ _080AE46A: sub_80AE470: @ 80AE470 push {r4-r7,lr} adds r4, r0, 0 - ldr r0, _080AE4D8 @ =gUnknown_2037F02 + ldr r0, _080AE4D8 @ =gBattleAnimArgs ldrh r1, [r0] ldrh r2, [r4, 0x20] adds r1, r2 @@ -25226,7 +25226,7 @@ sub_80AE470: @ 80AE470 pop {r0} bx r0 .align 2, 0 -_080AE4D8: .4byte gUnknown_2037F02 +_080AE4D8: .4byte gBattleAnimArgs _080AE4DC: .4byte gUnknown_83E60B8 _080AE4E0: .4byte gSprites _080AE4E4: .4byte 0x000003ff @@ -25288,19 +25288,19 @@ sub_80AE540: @ 80AE540 lsls r1, 3 ldr r0, _080AE560 @ =gTasks adds r5, r1, r0 - ldr r0, _080AE564 @ =gUnknown_2037F02 + ldr r0, _080AE564 @ =gBattleAnimArgs movs r1, 0 ldrsh r0, [r0, r1] cmp r0, 0 bne _080AE56C - ldr r4, _080AE568 @ =gUnknown_2037F1A + ldr r4, _080AE568 @ =gBattleAnimAttacker b _080AE56E .align 2, 0 _080AE560: .4byte gTasks -_080AE564: .4byte gUnknown_2037F02 -_080AE568: .4byte gUnknown_2037F1A +_080AE564: .4byte gBattleAnimArgs +_080AE568: .4byte gBattleAnimAttacker _080AE56C: - ldr r4, _080AE5B0 @ =gUnknown_2037F1B + ldr r4, _080AE5B0 @ =gBattleAnimTarget _080AE56E: ldrb r0, [r4] movs r1, 0x2 @@ -25314,7 +25314,7 @@ _080AE56E: lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x26] - ldr r2, _080AE5B4 @ =gUnknown_2037F02 + ldr r2, _080AE5B4 @ =gBattleAnimArgs ldrh r0, [r2, 0x2] movs r1, 0 strh r0, [r5, 0x14] @@ -25333,8 +25333,8 @@ _080AE56E: pop {r0} bx r0 .align 2, 0 -_080AE5B0: .4byte gUnknown_2037F1B -_080AE5B4: .4byte gUnknown_2037F02 +_080AE5B0: .4byte gBattleAnimTarget +_080AE5B4: .4byte gBattleAnimArgs _080AE5B8: .4byte sub_80AE5BC thumb_func_end sub_80AE540 @@ -25522,18 +25522,18 @@ _080AE718: .4byte sub_80AE6D0 sub_80AE71C: @ 80AE71C push {r4,r5,lr} adds r5, r0, 0 - ldr r0, _080AE730 @ =gUnknown_2037F02 + ldr r0, _080AE730 @ =gBattleAnimArgs movs r1, 0 ldrsh r0, [r0, r1] cmp r0, 0 bne _080AE738 - ldr r4, _080AE734 @ =gUnknown_2037F1A + ldr r4, _080AE734 @ =gBattleAnimAttacker b _080AE73A .align 2, 0 -_080AE730: .4byte gUnknown_2037F02 -_080AE734: .4byte gUnknown_2037F1A +_080AE730: .4byte gBattleAnimArgs +_080AE734: .4byte gBattleAnimAttacker _080AE738: - ldr r4, _080AE768 @ =gUnknown_2037F1B + ldr r4, _080AE768 @ =gBattleAnimTarget _080AE73A: ldrb r0, [r4] movs r1, 0x2 @@ -25556,7 +25556,7 @@ _080AE73A: pop {r0} bx r0 .align 2, 0 -_080AE768: .4byte gUnknown_2037F1B +_080AE768: .4byte gBattleAnimTarget _080AE76C: .4byte move_anim_8074EE0 _080AE770: .4byte sub_8074F50 thumb_func_end sub_80AE71C @@ -25565,18 +25565,18 @@ _080AE770: .4byte sub_8074F50 sub_80AE774: @ 80AE774 push {r4,r5,lr} adds r5, r0, 0 - ldr r0, _080AE788 @ =gUnknown_2037F02 + ldr r0, _080AE788 @ =gBattleAnimArgs movs r1, 0 ldrsh r0, [r0, r1] cmp r0, 0 bne _080AE790 - ldr r4, _080AE78C @ =gUnknown_2037F1A + ldr r4, _080AE78C @ =gBattleAnimAttacker b _080AE792 .align 2, 0 -_080AE788: .4byte gUnknown_2037F02 -_080AE78C: .4byte gUnknown_2037F1A +_080AE788: .4byte gBattleAnimArgs +_080AE78C: .4byte gBattleAnimAttacker _080AE790: - ldr r4, _080AE7CC @ =gUnknown_2037F1B + ldr r4, _080AE7CC @ =gBattleAnimTarget _080AE792: ldrb r0, [r4] movs r1, 0x2 @@ -25590,7 +25590,7 @@ _080AE792: lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] - ldr r1, _080AE7D0 @ =gUnknown_2037F02 + ldr r1, _080AE7D0 @ =gBattleAnimArgs ldrh r0, [r1, 0x2] strh r0, [r5, 0x24] ldrh r0, [r1, 0x4] @@ -25604,8 +25604,8 @@ _080AE792: pop {r0} bx r0 .align 2, 0 -_080AE7CC: .4byte gUnknown_2037F1B -_080AE7D0: .4byte gUnknown_2037F02 +_080AE7CC: .4byte gBattleAnimTarget +_080AE7D0: .4byte gBattleAnimArgs _080AE7D4: .4byte DestroyAnimSprite _080AE7D8: .4byte sub_8074F6C thumb_func_end sub_80AE774 @@ -25616,7 +25616,7 @@ sub_80AE7DC: @ 80AE7DC adds r5, r0, 0 movs r1, 0x1 bl StartSpriteAffineAnim - ldr r4, _080AE834 @ =gUnknown_2037F1A + ldr r4, _080AE834 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -25653,7 +25653,7 @@ _080AE82A: pop {r0} bx r0 .align 2, 0 -_080AE834: .4byte gUnknown_2037F1A +_080AE834: .4byte gBattleAnimAttacker _080AE838: .4byte sub_80AE83C thumb_func_end sub_80AE7DC @@ -25748,7 +25748,7 @@ _080AE8D4: lsrs r0, 24 movs r6, 0 strh r0, [r5, 0x26] - ldr r4, _080AE908 @ =gUnknown_2037F1A + ldr r4, _080AE908 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -25765,7 +25765,7 @@ _080AE8D4: movs r0, 0x2 b _080AE916 .align 2, 0 -_080AE908: .4byte gUnknown_2037F1A +_080AE908: .4byte gBattleAnimAttacker _080AE90C: .4byte 0x0000ffe0 _080AE910: movs r0, 0x20 @@ -25930,7 +25930,7 @@ _080AEA38: _080AEA3E: b _080AEB92 _080AEA40: - ldr r4, _080AEA80 @ =gUnknown_2037F1A + ldr r4, _080AEA80 @ =gBattleAnimAttacker ldrb r0, [r4] bl GetBattlerSide lsls r0, 24 @@ -25943,7 +25943,7 @@ _080AEA40: _080AEA56: movs r6, 0 strh r1, [r5, 0xA] - ldr r0, _080AEA84 @ =gUnknown_2037F02 + ldr r0, _080AEA84 @ =gBattleAnimArgs movs r1, 0 ldrsh r2, [r0, r1] adds r3, r0, 0 @@ -25962,8 +25962,8 @@ _080AEA56: ldr r0, _080AEA88 @ =0x0000fff0 b _080AEAF4 .align 2, 0 -_080AEA80: .4byte gUnknown_2037F1A -_080AEA84: .4byte gUnknown_2037F02 +_080AEA80: .4byte gBattleAnimAttacker +_080AEA84: .4byte gBattleAnimArgs _080AEA88: .4byte 0x0000fff0 _080AEA8C: ldrb r0, [r4] @@ -25991,7 +25991,7 @@ _080AEAB4: movs r0, 0x78 subs r0, r1 strh r0, [r5, 0xE] - ldr r4, _080AEAE8 @ =gUnknown_2037F1B + ldr r4, _080AEAE8 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x3 bl sub_8074480 @@ -26010,7 +26010,7 @@ _080AEAB4: strh r0, [r5, 0x10] b _080AEB2A .align 2, 0 -_080AEAE8: .4byte gUnknown_2037F1B +_080AEAE8: .4byte gBattleAnimTarget _080AEAEC: ldr r0, _080AEB10 @ =0x0000fff0 strh r0, [r5, 0xE] @@ -26243,7 +26243,7 @@ sub_80AEC80: @ 80AEC80 beq _080AECC4 b _080AECD8 _080AEC92: - ldr r4, _080AECC0 @ =gUnknown_2037F1A + ldr r4, _080AECC0 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -26264,7 +26264,7 @@ _080AEC92: strh r0, [r5, 0x2E] b _080AECD8 .align 2, 0 -_080AECC0: .4byte gUnknown_2037F1A +_080AECC0: .4byte gBattleAnimAttacker _080AECC4: adds r0, r5, 0 adds r0, 0x3F @@ -26313,7 +26313,7 @@ _080AED0C: .4byte _080AEE48 .4byte _080AEE58 _080AED20: - ldr r4, _080AEDA4 @ =gUnknown_2037F1A + ldr r4, _080AEDA4 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -26328,7 +26328,7 @@ _080AED20: strh r0, [r5, 0x16] movs r0, 0x4 strh r0, [r5, 0x18] - ldr r0, _080AEDA8 @ =gUnknown_2037F1B + ldr r0, _080AEDA8 @ =gBattleAnimTarget ldrb r0, [r0] movs r1, 0x2 bl sub_8074480 @@ -26373,8 +26373,8 @@ _080AED20: adds r0, 0x1 b _080AEE6A .align 2, 0 -_080AEDA4: .4byte gUnknown_2037F1A -_080AEDA8: .4byte gUnknown_2037F1B +_080AEDA4: .4byte gBattleAnimAttacker +_080AEDA8: .4byte gBattleAnimTarget _080AEDAC: .4byte 0x0000ffff _080AEDB0: ldrh r0, [r5, 0xA] @@ -26671,7 +26671,7 @@ _080AEFC8: beq _080AF044 b _080AF052 _080AEFCE: - ldr r0, _080AF018 @ =gUnknown_2037F1B + ldr r0, _080AF018 @ =gBattleAnimTarget ldrb r0, [r0] movs r1, 0x1 bl sub_8074480 @@ -26693,7 +26693,7 @@ _080AEFE8: bgt _080AEFE8 strh r1, [r5, 0x24] _080AEFF8: - ldr r4, _080AF018 @ =gUnknown_2037F1B + ldr r4, _080AF018 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -26708,7 +26708,7 @@ _080AEFF8: strh r0, [r5, 0x20] b _080AF03C .align 2, 0 -_080AF018: .4byte gUnknown_2037F1B +_080AF018: .4byte gBattleAnimTarget _080AF01C: ldrh r0, [r5, 0xA] adds r0, 0x1 @@ -26858,7 +26858,7 @@ sub_80AF108: @ 80AF108 ands r0, r2 orrs r0, r1 strh r0, [r5, 0x4] - ldr r4, _080AF218 @ =gUnknown_2037F1B + ldr r4, _080AF218 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -26871,7 +26871,7 @@ sub_80AF108: @ 80AF108 lsls r0, 24 lsrs r0, 24 mov r8, r0 - ldr r4, _080AF21C @ =gUnknown_2037F1A + ldr r4, _080AF21C @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -26883,7 +26883,7 @@ sub_80AF108: @ 80AF108 bl sub_8074480 lsls r0, 24 lsrs r6, r0, 24 - ldr r1, _080AF220 @ =gUnknown_2037F02 + ldr r1, _080AF220 @ =gBattleAnimArgs ldrh r0, [r1, 0x8] strh r0, [r5, 0x2E] ldrh r0, [r1] @@ -26960,7 +26960,7 @@ _080AF1E2: movs r2, 0x98 lsls r2, 1 mov r12, r2 - ldr r1, _080AF220 @ =gUnknown_2037F02 + ldr r1, _080AF220 @ =gBattleAnimArgs mov r10, r1 cmp r0, r12 bhi _080AF24E @@ -26972,9 +26972,9 @@ _080AF1E2: .align 2, 0 _080AF210: .4byte 0x000003ff _080AF214: .4byte 0xfffffc00 -_080AF218: .4byte gUnknown_2037F1B -_080AF21C: .4byte gUnknown_2037F1A -_080AF220: .4byte gUnknown_2037F02 +_080AF218: .4byte gBattleAnimTarget +_080AF21C: .4byte gBattleAnimAttacker +_080AF220: .4byte gBattleAnimArgs _080AF224: lsls r1, r3, 16 asrs r1, 16 @@ -27088,7 +27088,7 @@ _080AF2EA: sub_80AF2F0: @ 80AF2F0 push {r4,lr} adds r4, r0, 0 - ldr r0, _080AF324 @ =gUnknown_2037F02 + ldr r0, _080AF324 @ =gBattleAnimArgs ldrh r0, [r0] strh r0, [r4, 0x2E] movs r0, 0x3C @@ -27111,7 +27111,7 @@ sub_80AF2F0: @ 80AF2F0 pop {r0} bx r0 .align 2, 0 -_080AF324: .4byte gUnknown_2037F02 +_080AF324: .4byte gBattleAnimArgs _080AF328: .4byte DestroyAnimSprite _080AF32C: .4byte sub_8074AE0 thumb_func_end sub_80AF2F0 @@ -27122,42 +27122,42 @@ sub_80AF330: @ 80AF330 adds r4, r0, 0 movs r1, 0x1 bl sub_8075160 - ldr r0, _080AF364 @ =gUnknown_2037F1B + ldr r0, _080AF364 @ =gBattleAnimTarget ldrb r0, [r0] movs r1, 0x2 bl sub_8074480 lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x32] - ldr r0, _080AF368 @ =gUnknown_2037F1A + ldr r0, _080AF368 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080AF370 - ldr r0, _080AF36C @ =gUnknown_2037F02 + ldr r0, _080AF36C @ =gBattleAnimArgs ldrh r1, [r4, 0x32] ldrh r0, [r0, 0x4] subs r1, r0 strh r1, [r4, 0x32] b _080AF37A .align 2, 0 -_080AF364: .4byte gUnknown_2037F1B -_080AF368: .4byte gUnknown_2037F1A -_080AF36C: .4byte gUnknown_2037F02 +_080AF364: .4byte gBattleAnimTarget +_080AF368: .4byte gBattleAnimAttacker +_080AF36C: .4byte gBattleAnimArgs _080AF370: - ldr r0, _080AF3A8 @ =gUnknown_2037F02 + ldr r0, _080AF3A8 @ =gBattleAnimArgs ldrh r0, [r0, 0x4] ldrh r1, [r4, 0x32] adds r0, r1 strh r0, [r4, 0x32] _080AF37A: - ldr r0, _080AF3AC @ =gUnknown_2037F1B + ldr r0, _080AF3AC @ =gBattleAnimTarget ldrb r0, [r0] movs r1, 0x3 bl sub_8074480 lsls r0, 24 - ldr r1, _080AF3A8 @ =gUnknown_2037F02 + ldr r1, _080AF3A8 @ =gBattleAnimArgs lsrs r0, 24 ldrh r2, [r1, 0x6] adds r0, r2 @@ -27173,8 +27173,8 @@ _080AF37A: pop {r0} bx r0 .align 2, 0 -_080AF3A8: .4byte gUnknown_2037F02 -_080AF3AC: .4byte gUnknown_2037F1B +_080AF3A8: .4byte gBattleAnimArgs +_080AF3AC: .4byte gBattleAnimTarget _080AF3B0: .4byte DestroyAnimSprite _080AF3B4: .4byte sub_8075590 thumb_func_end sub_80AF330 @@ -27183,7 +27183,7 @@ _080AF3B4: .4byte sub_8075590 sub_80AF3B8: @ 80AF3B8 push {r4,r5,lr} adds r4, r0, 0 - ldr r5, _080AF3D0 @ =gUnknown_2037F02 + ldr r5, _080AF3D0 @ =gBattleAnimArgs movs r1, 0x4 ldrsh r0, [r5, r1] cmp r0, 0 @@ -27193,9 +27193,9 @@ sub_80AF3B8: @ 80AF3B8 bl sub_8075114 b _080AF40A .align 2, 0 -_080AF3D0: .4byte gUnknown_2037F02 +_080AF3D0: .4byte gBattleAnimArgs _080AF3D4: - ldr r0, _080AF41C @ =gUnknown_2037F1B + ldr r0, _080AF41C @ =gBattleAnimTarget ldrb r0, [r0] adds r2, r4, 0 adds r2, 0x20 @@ -27203,7 +27203,7 @@ _080AF3D4: adds r3, 0x22 movs r1, 0x1 bl sub_8076D9C - ldr r0, _080AF420 @ =gUnknown_2037F1A + ldr r0, _080AF420 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -27231,8 +27231,8 @@ _080AF40A: pop {r0} bx r0 .align 2, 0 -_080AF41C: .4byte gUnknown_2037F1B -_080AF420: .4byte gUnknown_2037F1A +_080AF41C: .4byte gBattleAnimTarget +_080AF420: .4byte gBattleAnimAttacker _080AF424: .4byte sub_80AF42C _080AF428: .4byte sub_8074F50 thumb_func_end sub_80AF3B8 @@ -27277,7 +27277,7 @@ sub_80AF468: @ 80AF468 adds r5, r0, 0 movs r1, 0x1 bl sub_8075160 - ldr r6, _080AF4B0 @ =gUnknown_2037F02 + ldr r6, _080AF4B0 @ =gBattleAnimArgs ldrh r0, [r6, 0x8] strh r0, [r5, 0x2E] ldrh r0, [r5, 0x20] @@ -27288,7 +27288,7 @@ sub_80AF468: @ 80AF468 ldrsh r0, [r6, r1] cmp r0, 0 bne _080AF4B8 - ldr r4, _080AF4B4 @ =gUnknown_2037F1B + ldr r4, _080AF4B4 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -27305,10 +27305,10 @@ sub_80AF468: @ 80AF468 strh r0, [r5, 0x36] b _080AF4CA .align 2, 0 -_080AF4B0: .4byte gUnknown_2037F02 -_080AF4B4: .4byte gUnknown_2037F1B +_080AF4B0: .4byte gBattleAnimArgs +_080AF4B4: .4byte gBattleAnimTarget _080AF4B8: - ldr r0, _080AF4E4 @ =gUnknown_2037F1B + ldr r0, _080AF4E4 @ =gBattleAnimTarget ldrb r0, [r0] adds r2, r5, 0 adds r2, 0x32 @@ -27317,24 +27317,24 @@ _080AF4B8: movs r1, 0x1 bl sub_8076D9C _080AF4CA: - ldr r0, _080AF4E8 @ =gUnknown_2037F1A + ldr r0, _080AF4E8 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080AF4F0 - ldr r0, _080AF4EC @ =gUnknown_2037F02 + ldr r0, _080AF4EC @ =gBattleAnimArgs ldrh r1, [r5, 0x32] ldrh r0, [r0, 0x4] subs r1, r0 strh r1, [r5, 0x32] b _080AF4FA .align 2, 0 -_080AF4E4: .4byte gUnknown_2037F1B -_080AF4E8: .4byte gUnknown_2037F1A -_080AF4EC: .4byte gUnknown_2037F02 +_080AF4E4: .4byte gBattleAnimTarget +_080AF4E8: .4byte gBattleAnimAttacker +_080AF4EC: .4byte gBattleAnimArgs _080AF4F0: - ldr r0, _080AF598 @ =gUnknown_2037F02 + ldr r0, _080AF598 @ =gBattleAnimArgs ldrh r0, [r0, 0x4] ldrh r2, [r5, 0x32] adds r0, r2 @@ -27421,7 +27421,7 @@ _080AF57A: pop {r0} bx r0 .align 2, 0 -_080AF598: .4byte gUnknown_2037F02 +_080AF598: .4byte gBattleAnimArgs _080AF59C: .4byte sub_8075830 _080AF5A0: .4byte sub_80AF5A4 thumb_func_end sub_80AF468 @@ -27443,7 +27443,7 @@ sub_80AF5A4: @ 80AF5A4 strh r5, [r4, 0x24] movs r0, 0x80 strh r0, [r4, 0x2E] - ldr r0, _080AF600 @ =gUnknown_2037F1A + ldr r0, _080AF600 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -27472,7 +27472,7 @@ _080AF5D4: pop {r0} bx r0 .align 2, 0 -_080AF600: .4byte gUnknown_2037F1A +_080AF600: .4byte gBattleAnimAttacker _080AF604: .4byte 0x0000ffec _080AF608: .4byte sub_80AF60C thumb_func_end sub_80AF5A4 @@ -27481,7 +27481,7 @@ _080AF608: .4byte sub_80AF60C sub_80AF60C: @ 80AF60C push {r4,lr} adds r4, r0, 0 - ldr r0, _080AF660 @ =gUnknown_2037F1A + ldr r0, _080AF660 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -27519,7 +27519,7 @@ _080AF622: strh r0, [r4, 0x38] b _080AF686 .align 2, 0 -_080AF660: .4byte gUnknown_2037F1A +_080AF660: .4byte gBattleAnimAttacker _080AF664: .4byte 0x0000ffec _080AF668: ldrh r0, [r4, 0x24] @@ -27592,7 +27592,7 @@ sub_80AF6D8: @ 80AF6D8 adds r5, r0, 0 movs r1, 0x1 bl sub_8075160 - ldr r1, _080AF71C @ =gUnknown_2037F02 + ldr r1, _080AF71C @ =gBattleAnimArgs ldrh r0, [r1, 0x8] strh r0, [r5, 0x2E] ldrh r0, [r5, 0x20] @@ -27603,7 +27603,7 @@ sub_80AF6D8: @ 80AF6D8 ldrsh r0, [r1, r2] cmp r0, 0 bne _080AF724 - ldr r4, _080AF720 @ =gUnknown_2037F1B + ldr r4, _080AF720 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -27618,10 +27618,10 @@ sub_80AF6D8: @ 80AF6D8 strh r0, [r5, 0x36] b _080AF736 .align 2, 0 -_080AF71C: .4byte gUnknown_2037F02 -_080AF720: .4byte gUnknown_2037F1B +_080AF71C: .4byte gBattleAnimArgs +_080AF720: .4byte gBattleAnimTarget _080AF724: - ldr r0, _080AF754 @ =gUnknown_2037F1B + ldr r0, _080AF754 @ =gBattleAnimTarget ldrb r0, [r0] adds r2, r5, 0 adds r2, 0x32 @@ -27630,13 +27630,13 @@ _080AF724: movs r1, 0x1 bl sub_8076D9C _080AF736: - ldr r0, _080AF758 @ =gUnknown_2037F1A + ldr r0, _080AF758 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080AF760 - ldr r0, _080AF75C @ =gUnknown_2037F02 + ldr r0, _080AF75C @ =gBattleAnimArgs ldrh r1, [r5, 0x32] ldrh r2, [r0, 0x4] subs r1, r2 @@ -27644,11 +27644,11 @@ _080AF736: adds r1, r0, 0 b _080AF76A .align 2, 0 -_080AF754: .4byte gUnknown_2037F1B -_080AF758: .4byte gUnknown_2037F1A -_080AF75C: .4byte gUnknown_2037F02 +_080AF754: .4byte gBattleAnimTarget +_080AF758: .4byte gBattleAnimAttacker +_080AF75C: .4byte gBattleAnimArgs _080AF760: - ldr r1, _080AF814 @ =gUnknown_2037F02 + ldr r1, _080AF814 @ =gBattleAnimArgs ldrh r0, [r1, 0x4] ldrh r2, [r5, 0x32] adds r0, r2 @@ -27718,7 +27718,7 @@ _080AF7D2: strh r0, [r5, 0x22] strh r1, [r5, 0x26] strh r1, [r5, 0x24] - ldr r1, _080AF814 @ =gUnknown_2037F02 + ldr r1, _080AF814 @ =gBattleAnimArgs ldr r6, _080AF818 @ =sub_80AF81C mov r3, sp adds r2, r7, 0 @@ -27741,7 +27741,7 @@ _080AF7F2: pop {r0} bx r0 .align 2, 0 -_080AF814: .4byte gUnknown_2037F02 +_080AF814: .4byte gBattleAnimArgs _080AF818: .4byte sub_80AF81C thumb_func_end sub_80AF6D8 @@ -27813,7 +27813,7 @@ sub_80AF88C: @ 80AF88C ldrsh r0, [r4, r1] cmp r0, 0 bne _080AF8F8 - ldr r5, _080AF8AC @ =gUnknown_2037F02 + ldr r5, _080AF8AC @ =gBattleAnimArgs movs r1, 0x4 ldrsh r0, [r5, r1] cmp r0, 0 @@ -27823,9 +27823,9 @@ sub_80AF88C: @ 80AF88C bl sub_8075114 b _080AF8E6 .align 2, 0 -_080AF8AC: .4byte gUnknown_2037F02 +_080AF8AC: .4byte gBattleAnimArgs _080AF8B0: - ldr r0, _080AF8F0 @ =gUnknown_2037F1B + ldr r0, _080AF8F0 @ =gBattleAnimTarget ldrb r0, [r0] adds r2, r4, 0 adds r2, 0x20 @@ -27833,7 +27833,7 @@ _080AF8B0: adds r3, 0x22 movs r1, 0 bl sub_8076D9C - ldr r0, _080AF8F4 @ =gUnknown_2037F1A + ldr r0, _080AF8F4 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -27857,8 +27857,8 @@ _080AF8E6: strh r0, [r4, 0x2E] b _080AF90C .align 2, 0 -_080AF8F0: .4byte gUnknown_2037F1B -_080AF8F4: .4byte gUnknown_2037F1A +_080AF8F0: .4byte gBattleAnimTarget +_080AF8F4: .4byte gBattleAnimAttacker _080AF8F8: adds r0, r4, 0 adds r0, 0x3F @@ -27879,7 +27879,7 @@ _080AF90C: sub_80AF914: @ 80AF914 push {r4-r6,lr} adds r5, r0, 0 - ldr r6, _080AF934 @ =gUnknown_2037F02 + ldr r6, _080AF934 @ =gBattleAnimArgs movs r1, 0x8 ldrsh r0, [r6, r1] cmp r0, 0 @@ -27893,9 +27893,9 @@ sub_80AF914: @ 80AF914 bl sub_8075160 b _080AF976 .align 2, 0 -_080AF934: .4byte gUnknown_2037F02 +_080AF934: .4byte gBattleAnimArgs _080AF938: - ldr r4, _080AF960 @ =gUnknown_2037F1A + ldr r4, _080AF960 @ =gBattleAnimAttacker ldrb r0, [r4] adds r2, r5, 0 adds r2, 0x20 @@ -27913,24 +27913,24 @@ _080AF938: subs r0, r1 b _080AF96A .align 2, 0 -_080AF960: .4byte gUnknown_2037F1A +_080AF960: .4byte gBattleAnimAttacker _080AF964: ldrh r0, [r6] ldrh r1, [r5, 0x20] adds r0, r1 _080AF96A: strh r0, [r5, 0x20] - ldr r0, _080AF97C @ =gUnknown_2037F02 + ldr r0, _080AF97C @ =gBattleAnimArgs ldrh r0, [r0, 0x2] ldrh r1, [r5, 0x22] adds r0, r1 strh r0, [r5, 0x22] _080AF976: - ldr r0, _080AF980 @ =gUnknown_2037F1A + ldr r0, _080AF980 @ =gBattleAnimAttacker b _080AF9D4 .align 2, 0 -_080AF97C: .4byte gUnknown_2037F02 -_080AF980: .4byte gUnknown_2037F1A +_080AF97C: .4byte gBattleAnimArgs +_080AF980: .4byte gBattleAnimAttacker _080AF984: movs r1, 0xA ldrsh r0, [r6, r1] @@ -27941,7 +27941,7 @@ _080AF984: bl sub_8075114 b _080AF9D2 _080AF996: - ldr r4, _080AF9BC @ =gUnknown_2037F1B + ldr r4, _080AF9BC @ =gBattleAnimTarget ldrb r0, [r4] adds r2, r5, 0 adds r2, 0x20 @@ -27959,24 +27959,24 @@ _080AF996: subs r0, r1 b _080AF9C6 .align 2, 0 -_080AF9BC: .4byte gUnknown_2037F1B +_080AF9BC: .4byte gBattleAnimTarget _080AF9C0: ldrh r0, [r6] ldrh r1, [r5, 0x20] adds r0, r1 _080AF9C6: strh r0, [r5, 0x20] - ldr r0, _080AF9F0 @ =gUnknown_2037F02 + ldr r0, _080AF9F0 @ =gBattleAnimArgs ldrh r0, [r0, 0x2] ldrh r1, [r5, 0x22] adds r0, r1 strh r0, [r5, 0x22] _080AF9D2: - ldr r0, _080AF9F4 @ =gUnknown_2037F1B + ldr r0, _080AF9F4 @ =gBattleAnimTarget _080AF9D4: ldrb r0, [r0] strh r0, [r5, 0x3C] - ldr r0, _080AF9F0 @ =gUnknown_2037F02 + ldr r0, _080AF9F0 @ =gBattleAnimArgs movs r1, 0xA ldrsh r0, [r0, r1] cmp r0, 0 @@ -27989,13 +27989,13 @@ _080AF9EC: movs r0, 0x20 b _080AF9FA .align 2, 0 -_080AF9F0: .4byte gUnknown_2037F02 -_080AF9F4: .4byte gUnknown_2037F1B +_080AF9F0: .4byte gBattleAnimArgs +_080AF9F4: .4byte gBattleAnimTarget _080AF9F8: movs r0, 0x40 _080AF9FA: strh r0, [r5, 0x3A] - ldr r0, _080AFA40 @ =gUnknown_2037F1B + ldr r0, _080AFA40 @ =gBattleAnimTarget ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -28005,7 +28005,7 @@ _080AF9FA: adds r0, 0x8 strh r0, [r5, 0x22] _080AFA10: - ldr r1, _080AFA44 @ =gUnknown_2037F02 + ldr r1, _080AFA44 @ =gBattleAnimArgs ldrh r0, [r1, 0x6] strh r0, [r5, 0x2E] ldrh r0, [r5, 0x20] @@ -28028,8 +28028,8 @@ _080AFA10: pop {r0} bx r0 .align 2, 0 -_080AFA40: .4byte gUnknown_2037F1B -_080AFA44: .4byte gUnknown_2037F02 +_080AFA40: .4byte gBattleAnimTarget +_080AFA44: .4byte gBattleAnimArgs _080AFA48: .4byte sub_80AFA4C thumb_func_end sub_80AF914 @@ -28398,7 +28398,7 @@ _080AFD48: .4byte gBattle_BG1_Y sub_80AFD4C: @ 80AFD4C push {r4,r5,lr} adds r4, r0, 0 - ldr r5, _080AFD78 @ =gUnknown_2037F1A + ldr r5, _080AFD78 @ =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0x2 bl sub_8074480 @@ -28417,7 +28417,7 @@ sub_80AFD4C: @ 80AFD4C pop {r0} bx r0 .align 2, 0 -_080AFD78: .4byte gUnknown_2037F1A +_080AFD78: .4byte gBattleAnimAttacker _080AFD7C: .4byte sub_8075DF4 thumb_func_end sub_80AFD4C @@ -28701,16 +28701,16 @@ sub_80AFFD4: @ 80AFFD4 mov r7, r8 push {r7} adds r5, r0, 0 - ldr r6, _080B00BC @ =gUnknown_2037F02 + ldr r6, _080B00BC @ =gBattleAnimArgs ldrh r0, [r6] strh r0, [r5, 0x2E] - ldr r0, _080B00C0 @ =gUnknown_2037F1A + ldr r0, _080B00C0 @ =gBattleAnimAttacker mov r8, r0 ldrb r0, [r0] movs r1, 0x2 bl sub_8074480 adds r4, r0, 0 - ldr r7, _080B00C4 @ =gUnknown_2037F1B + ldr r7, _080B00C4 @ =gBattleAnimTarget ldrb r0, [r7] movs r1, 0x2 bl sub_8074480 @@ -28771,7 +28771,7 @@ _080B0064: movs r0, 0x1 strh r0, [r5, 0x3A] _080B0068: - ldr r4, _080B00C0 @ =gUnknown_2037F1A + ldr r4, _080B00C0 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -28784,7 +28784,7 @@ _080B0068: lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] - ldr r6, _080B00BC @ =gUnknown_2037F02 + ldr r6, _080B00BC @ =gBattleAnimArgs movs r1, 0xE ldrsh r0, [r6, r1] cmp r0, 0 @@ -28793,7 +28793,7 @@ _080B0068: ldrh r1, [r5, 0x20] adds r0, r1 strh r0, [r5, 0x30] - ldr r4, _080B00C4 @ =gUnknown_2037F1B + ldr r4, _080B00C4 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -28810,9 +28810,9 @@ _080B0068: movs r1, 0x3 b _080B00F8 .align 2, 0 -_080B00BC: .4byte gUnknown_2037F02 -_080B00C0: .4byte gUnknown_2037F1A -_080B00C4: .4byte gUnknown_2037F1B +_080B00BC: .4byte gBattleAnimArgs +_080B00C0: .4byte gBattleAnimAttacker +_080B00C4: .4byte gBattleAnimTarget _080B00C8: .4byte gUnknown_2023BD6 _080B00CC: .4byte gSprites _080B00D0: @@ -28820,7 +28820,7 @@ _080B00D0: ldrh r1, [r5, 0x20] adds r0, r1 strh r0, [r5, 0x30] - ldr r4, _080B0140 @ =gUnknown_2037F1B + ldr r4, _080B0140 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0 bl sub_8074480 @@ -28870,7 +28870,7 @@ _080B012C: pop {r0} bx r0 .align 2, 0 -_080B0140: .4byte gUnknown_2037F1B +_080B0140: .4byte gBattleAnimTarget _080B0144: .4byte sub_80B0148 thumb_func_end sub_80AFFD4 @@ -28932,7 +28932,7 @@ _080B019C: _080B01AA: movs r5, 0x50 strh r5, [r4, 0x2E] - ldr r6, _080B01F8 @ =gUnknown_2037F1B + ldr r6, _080B01F8 @ =gBattleAnimTarget ldrb r0, [r6] movs r1, 0 bl sub_8074480 @@ -28967,7 +28967,7 @@ _080B01AA: strh r0, [r4, 0x38] b _080B0202 .align 2, 0 -_080B01F8: .4byte gUnknown_2037F1B +_080B01F8: .4byte gBattleAnimTarget _080B01FC: .4byte gUnknown_2023BD6 _080B0200: strh r5, [r4, 0x38] @@ -29104,7 +29104,7 @@ _080B02CE: cmp r0, 0 bne _080B0328 ldr r1, _080B0320 @ =gUnknown_2023BD6 - ldr r0, _080B0324 @ =gUnknown_2037F1B + ldr r0, _080B0324 @ =gBattleAnimTarget ldrb r0, [r0] adds r0, r1 ldrb r1, [r0] @@ -29117,7 +29117,7 @@ _080B02CE: b _080B032A .align 2, 0 _080B0320: .4byte gUnknown_2023BD6 -_080B0324: .4byte gUnknown_2037F1B +_080B0324: .4byte gBattleAnimTarget _080B0328: ldr r0, _080B0340 @ =0x0000fff0 _080B032A: @@ -29643,10 +29643,10 @@ _080B071A: adds r0, r5, 0 movs r1, 0x1 bl sub_8075160 - ldr r6, _080B0780 @ =gUnknown_2037F02 + ldr r6, _080B0780 @ =gBattleAnimArgs ldrh r0, [r6, 0x8] strh r0, [r5, 0x2E] - ldr r0, _080B0784 @ =gUnknown_2037F1A + ldr r0, _080B0784 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -29656,7 +29656,7 @@ _080B071A: negs r0, r0 strh r0, [r6, 0x4] _080B0742: - ldr r4, _080B0788 @ =gUnknown_2037F1B + ldr r4, _080B0788 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -29684,9 +29684,9 @@ _080B0742: bx r0 .align 2, 0 _080B077C: .4byte gUnknown_2037EE4 -_080B0780: .4byte gUnknown_2037F02 -_080B0784: .4byte gUnknown_2037F1A -_080B0788: .4byte gUnknown_2037F1B +_080B0780: .4byte gBattleAnimArgs +_080B0784: .4byte gBattleAnimAttacker +_080B0788: .4byte gBattleAnimTarget _080B078C: .4byte sub_80B0790 thumb_func_end unc_080B06FC @@ -29813,7 +29813,7 @@ sub_80B0870: @ 80B0870 push {lr} lsls r0, 24 lsrs r0, 24 - ldr r1, _080B0898 @ =gUnknown_2037F02 + ldr r1, _080B0898 @ =gBattleAnimArgs ldrb r3, [r1] lsls r3, 1 adds r3, r1 @@ -29830,7 +29830,7 @@ sub_80B0870: @ 80B0870 pop {r0} bx r0 .align 2, 0 -_080B0898: .4byte gUnknown_2037F02 +_080B0898: .4byte gBattleAnimArgs _080B089C: .4byte gUnknown_2037EE4 thumb_func_end sub_80B0870 @@ -29838,7 +29838,7 @@ _080B089C: .4byte gUnknown_2037EE4 unc_080B08A0: @ 80B08A0 push {r4,r5,lr} adds r4, r0, 0 - ldr r5, _080B08D0 @ =gUnknown_2037F02 + ldr r5, _080B08D0 @ =gBattleAnimArgs movs r0, 0 ldrsh r1, [r5, r0] adds r0, r4, 0 @@ -29858,7 +29858,7 @@ unc_080B08A0: @ 80B08A0 pop {r0} bx r0 .align 2, 0 -_080B08D0: .4byte gUnknown_2037F02 +_080B08D0: .4byte gBattleAnimArgs _080B08D4: .4byte sub_8074C44 _080B08D8: .4byte DestroyAnimSprite thumb_func_end unc_080B08A0 @@ -29867,12 +29867,12 @@ _080B08D8: .4byte DestroyAnimSprite sub_80B08DC: @ 80B08DC push {r4,r5,lr} adds r5, r0, 0 - ldr r4, _080B0920 @ =gUnknown_2037F02 + ldr r4, _080B0920 @ =gBattleAnimArgs movs r1, 0xE ldrsh r0, [r4, r1] cmp r0, 0x1 bne _080B0904 - ldr r0, _080B0924 @ =gUnknown_2037F1A + ldr r0, _080B0924 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -29885,7 +29885,7 @@ sub_80B08DC: @ 80B08DC negs r0, r0 strh r0, [r4, 0x6] _080B0904: - ldr r4, _080B0920 @ =gUnknown_2037F02 + ldr r4, _080B0920 @ =gBattleAnimArgs ldrb r1, [r4, 0xC] adds r0, r5, 0 bl StartSpriteAnim @@ -29897,8 +29897,8 @@ _080B0904: pop {r0} bx r0 .align 2, 0 -_080B0920: .4byte gUnknown_2037F02 -_080B0924: .4byte gUnknown_2037F1A +_080B0920: .4byte gBattleAnimArgs +_080B0924: .4byte gBattleAnimAttacker thumb_func_end sub_80B08DC thumb_func_start sub_80B0928 @@ -29909,7 +29909,7 @@ sub_80B0928: @ 80B0928 lsls r0, 24 cmp r0, 0 beq _080B0944 - ldr r0, _080B0950 @ =gUnknown_2037F02 + ldr r0, _080B0950 @ =gBattleAnimArgs ldrh r1, [r0, 0x2] negs r1, r1 strh r1, [r0, 0x2] @@ -29923,14 +29923,14 @@ _080B0944: pop {r0} bx r0 .align 2, 0 -_080B0950: .4byte gUnknown_2037F02 +_080B0950: .4byte gBattleAnimArgs thumb_func_end sub_80B0928 thumb_func_start sub_80B0954 sub_80B0954: @ 80B0954 push {r4,r5,lr} adds r5, r0, 0 - ldr r4, _080B0974 @ =gUnknown_2037F02 + ldr r4, _080B0974 @ =gBattleAnimArgs ldrb r1, [r4, 0x8] bl StartSpriteAnim movs r1, 0x6 @@ -29942,13 +29942,13 @@ sub_80B0954: @ 80B0954 bl sub_8075160 b _080B0980 .align 2, 0 -_080B0974: .4byte gUnknown_2037F02 +_080B0974: .4byte gBattleAnimArgs _080B0978: adds r0, r5, 0 movs r1, 0x1 bl sub_8075114 _080B0980: - ldr r0, _080B0998 @ =gUnknown_2037F02 + ldr r0, _080B0998 @ =gBattleAnimArgs ldrh r0, [r0, 0x4] strh r0, [r5, 0x2E] ldr r0, _080B099C @ =sub_8074C44 @@ -29960,7 +29960,7 @@ _080B0980: pop {r0} bx r0 .align 2, 0 -_080B0998: .4byte gUnknown_2037F02 +_080B0998: .4byte gBattleAnimArgs _080B099C: .4byte sub_8074C44 _080B09A0: .4byte DestroyAnimSprite thumb_func_end sub_80B0954 @@ -29972,19 +29972,19 @@ sub_80B09A4: @ 80B09A4 mov r6, r8 push {r6,r7} adds r5, r0, 0 - ldr r0, _080B09C0 @ =gUnknown_2037F02 + ldr r0, _080B09C0 @ =gBattleAnimArgs movs r2, 0 ldrsh r1, [r0, r2] mov r9, r0 cmp r1, 0 bne _080B09C8 - ldr r0, _080B09C4 @ =gUnknown_2037F1A + ldr r0, _080B09C4 @ =gBattleAnimAttacker b _080B09CA .align 2, 0 -_080B09C0: .4byte gUnknown_2037F02 -_080B09C4: .4byte gUnknown_2037F1A +_080B09C0: .4byte gBattleAnimArgs +_080B09C4: .4byte gBattleAnimAttacker _080B09C8: - ldr r0, _080B0B10 @ =gUnknown_2037F1B + ldr r0, _080B0B10 @ =gBattleAnimTarget _080B09CA: ldrb r0, [r0] mov r8, r0 @@ -30141,7 +30141,7 @@ _080B0B00: pop {r0} bx r0 .align 2, 0 -_080B0B10: .4byte gUnknown_2037F1B +_080B0B10: .4byte gBattleAnimTarget _080B0B14: .4byte gUnknown_2023BD6 _080B0B18: .4byte 0xfff00000 _080B0B1C: .4byte gUnknown_83E7C08 @@ -30203,7 +30203,7 @@ sub_80B0B80: @ 80B0B80 bl sub_8075114 movs r0, 0x1E strh r0, [r4, 0x2E] - ldr r0, _080B0BA0 @ =gUnknown_2037F02 + ldr r0, _080B0BA0 @ =gBattleAnimArgs movs r1, 0x4 ldrsh r0, [r0, r1] cmp r0, 0 @@ -30213,7 +30213,7 @@ sub_80B0B80: @ 80B0B80 strh r0, [r4, 0x32] b _080B0BB6 .align 2, 0 -_080B0BA0: .4byte gUnknown_2037F02 +_080B0BA0: .4byte gBattleAnimArgs _080B0BA4: ldrh r0, [r4, 0x20] adds r0, 0x14 @@ -30287,10 +30287,10 @@ _080B0C24: .4byte DestroyAnimSprite sub_80B0C28: @ 80B0C28 push {r4-r6,lr} adds r6, r0, 0 - ldr r0, _080B0CA4 @ =gUnknown_2037F1A + ldr r0, _080B0CA4 @ =gBattleAnimAttacker ldrb r1, [r0] movs r0, 0x2 - ldr r2, _080B0CA8 @ =gUnknown_2037F1B + ldr r2, _080B0CA8 @ =gBattleAnimTarget eors r0, r1 ldrb r1, [r2] cmp r0, r1 @@ -30301,7 +30301,7 @@ sub_80B0C28: @ 80B0C28 lsrs r0, 24 cmp r0, 0x1 bhi _080B0C54 - ldr r1, _080B0CAC @ =gUnknown_2037F02 + ldr r1, _080B0CAC @ =gBattleAnimArgs movs r2, 0 ldrsh r0, [r1, r2] negs r0, r0 @@ -30310,18 +30310,18 @@ _080B0C54: adds r0, r6, 0 movs r1, 0x1 bl sub_8075114 - ldr r0, _080B0CA4 @ =gUnknown_2037F1A + ldr r0, _080B0CA4 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080B0C72 - ldr r1, _080B0CAC @ =gUnknown_2037F02 + ldr r1, _080B0CAC @ =gBattleAnimArgs ldrh r0, [r1, 0x4] negs r0, r0 strh r0, [r1, 0x4] _080B0C72: - ldr r4, _080B0CAC @ =gUnknown_2037F02 + ldr r4, _080B0CAC @ =gBattleAnimArgs ldrh r0, [r4, 0x6] movs r5, 0 strh r0, [r6, 0x2E] @@ -30346,9 +30346,9 @@ _080B0C72: pop {r0} bx r0 .align 2, 0 -_080B0CA4: .4byte gUnknown_2037F1A -_080B0CA8: .4byte gUnknown_2037F1B -_080B0CAC: .4byte gUnknown_2037F02 +_080B0CA4: .4byte gBattleAnimAttacker +_080B0CA8: .4byte gBattleAnimTarget +_080B0CAC: .4byte gBattleAnimArgs _080B0CB0: .4byte sub_80B0CB4 thumb_func_end sub_80B0C28 @@ -30389,7 +30389,7 @@ sub_80B0CEC: @ 80B0CEC adds r4, r0, 0 movs r1, 0x1 bl sub_8075114 - ldr r5, _080B0D18 @ =gUnknown_2037F02 + ldr r5, _080B0D18 @ =gBattleAnimArgs ldrb r1, [r5, 0x4] adds r0, r4, 0 bl StartSpriteAnim @@ -30404,7 +30404,7 @@ sub_80B0CEC: @ 80B0CEC pop {r0} bx r0 .align 2, 0 -_080B0D18: .4byte gUnknown_2037F02 +_080B0D18: .4byte gBattleAnimArgs _080B0D1C: .4byte sub_8074C44 _080B0D20: .4byte sub_80B0D24 thumb_func_end sub_80B0CEC @@ -30442,7 +30442,7 @@ sub_80B0D58: @ 80B0D58 adds r4, r0, 0 movs r1, 0x1 bl sub_8075114 - ldr r0, _080B0D74 @ =gUnknown_2037F02 + ldr r0, _080B0D74 @ =gBattleAnimArgs ldrh r0, [r0, 0x4] strh r0, [r4, 0x2E] ldr r0, _080B0D78 @ =sub_80B0D7C @@ -30451,7 +30451,7 @@ sub_80B0D58: @ 80B0D58 pop {r0} bx r0 .align 2, 0 -_080B0D74: .4byte gUnknown_2037F02 +_080B0D74: .4byte gBattleAnimArgs _080B0D78: .4byte sub_80B0D7C thumb_func_end sub_80B0D58 @@ -30470,7 +30470,7 @@ sub_80B0D7C: @ 80B0D7C bne _080B0DC0 movs r0, 0x6 strh r0, [r5, 0x2E] - ldr r4, _080B0DC8 @ =gUnknown_2037F1B + ldr r4, _080B0DC8 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -30493,7 +30493,7 @@ _080B0DC0: pop {r0} bx r0 .align 2, 0 -_080B0DC8: .4byte gUnknown_2037F1B +_080B0DC8: .4byte gBattleAnimTarget _080B0DCC: .4byte sub_8075590 _080B0DD0: .4byte sub_80B0DD4 thumb_func_end sub_80B0D7C @@ -30525,7 +30525,7 @@ sub_80B0DF0: @ 80B0DF0 adds r0, r4, 0 movs r1, 0x1 bl sub_8075114 - ldr r1, _080B0E18 @ =gUnknown_2037F02 + ldr r1, _080B0E18 @ =gBattleAnimArgs ldrh r0, [r1, 0x4] strh r0, [r4, 0x30] ldrh r0, [r1, 0x6] @@ -30535,7 +30535,7 @@ sub_80B0DF0: @ 80B0DF0 strh r0, [r4, 0x2E] b _080B0E78 .align 2, 0 -_080B0E18: .4byte gUnknown_2037F02 +_080B0E18: .4byte gBattleAnimArgs _080B0E1C: ldrh r0, [r4, 0x30] ldrh r2, [r4, 0x36] @@ -30592,18 +30592,18 @@ _080B0E78: sub_80B0E80: @ 80B0E80 push {r4,r5,lr} adds r5, r0, 0 - ldr r0, _080B0E94 @ =gUnknown_2037F02 + ldr r0, _080B0E94 @ =gBattleAnimArgs movs r1, 0 ldrsh r0, [r0, r1] cmp r0, 0 bne _080B0E9C - ldr r4, _080B0E98 @ =gUnknown_2037F1A + ldr r4, _080B0E98 @ =gBattleAnimAttacker b _080B0E9E .align 2, 0 -_080B0E94: .4byte gUnknown_2037F02 -_080B0E98: .4byte gUnknown_2037F1A +_080B0E94: .4byte gBattleAnimArgs +_080B0E98: .4byte gBattleAnimAttacker _080B0E9C: - ldr r4, _080B0EE4 @ =gUnknown_2037F1B + ldr r4, _080B0EE4 @ =gBattleAnimTarget _080B0E9E: ldrb r0, [r4] movs r1, 0 @@ -30617,7 +30617,7 @@ _080B0E9E: lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] - ldr r1, _080B0EE8 @ =gUnknown_2037F02 + ldr r1, _080B0EE8 @ =gBattleAnimArgs ldrh r0, [r1, 0x2] ldrh r2, [r5, 0x20] adds r0, r2 @@ -30639,8 +30639,8 @@ _080B0E9E: pop {r0} bx r0 .align 2, 0 -_080B0EE4: .4byte gUnknown_2037F1B -_080B0EE8: .4byte gUnknown_2037F02 +_080B0EE4: .4byte gBattleAnimTarget +_080B0EE8: .4byte gBattleAnimArgs _080B0EEC: .4byte sub_80B0EF0 thumb_func_end sub_80B0E80 @@ -30717,12 +30717,12 @@ _080B0F64: .4byte 0x0000fffe sub_80B0F68: @ 80B0F68 push {r4-r6,lr} adds r5, r0, 0 - ldr r6, _080B0F8C @ =gUnknown_2037F02 + ldr r6, _080B0F8C @ =gBattleAnimArgs movs r1, 0 ldrsh r0, [r6, r1] cmp r0, 0 bne _080B0F94 - ldr r4, _080B0F90 @ =gUnknown_2037F1A + ldr r4, _080B0F90 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0 bl sub_8074480 @@ -30732,10 +30732,10 @@ sub_80B0F68: @ 80B0F68 adds r0, r2 b _080B0FA6 .align 2, 0 -_080B0F8C: .4byte gUnknown_2037F02 -_080B0F90: .4byte gUnknown_2037F1A +_080B0F8C: .4byte gBattleAnimArgs +_080B0F90: .4byte gBattleAnimAttacker _080B0F94: - ldr r4, _080B0FF0 @ =gUnknown_2037F1B + ldr r4, _080B0FF0 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0 bl sub_8074480 @@ -30756,7 +30756,7 @@ _080B0FA6: ldrh r2, [r5, 0x4] lsls r1, r2, 22 lsrs r1, 22 - ldr r3, _080B0FF4 @ =gUnknown_2037F02 + ldr r3, _080B0FF4 @ =gBattleAnimArgs movs r4, 0x2 ldrsh r0, [r3, r4] lsls r0, 4 @@ -30781,8 +30781,8 @@ _080B0FA6: beq _080B100A b _080B103A .align 2, 0 -_080B0FF0: .4byte gUnknown_2037F1B -_080B0FF4: .4byte gUnknown_2037F02 +_080B0FF0: .4byte gBattleAnimTarget +_080B0FF4: .4byte gBattleAnimArgs _080B0FF8: .4byte 0x000003ff _080B0FFC: .4byte 0xfffffc00 _080B1000: @@ -30861,7 +30861,7 @@ _080B1078: sub_80B107C: @ 80B107C push {r4,r5,lr} adds r5, r0, 0 - ldr r0, _080B10C8 @ =gUnknown_2037F02 + ldr r0, _080B10C8 @ =gBattleAnimArgs movs r1, 0 ldrsh r0, [r0, r1] cmp r0, 0 @@ -30879,7 +30879,7 @@ sub_80B107C: @ 80B107C lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] - ldr r0, _080B10D0 @ =gUnknown_2037F1A + ldr r0, _080B10D0 @ =gBattleAnimAttacker ldrb r0, [r0] bl sub_8076884 movs r1, 0x3 @@ -30891,15 +30891,15 @@ sub_80B107C: @ 80B107C ands r0, r2 orrs r0, r1 strb r0, [r5, 0x5] - ldr r0, _080B10D4 @ =gUnknown_2037F1B + ldr r0, _080B10D4 @ =gBattleAnimTarget b _080B10F4 .align 2, 0 -_080B10C8: .4byte gUnknown_2037F02 +_080B10C8: .4byte gBattleAnimArgs _080B10CC: .4byte sBattler_AI -_080B10D0: .4byte gUnknown_2037F1A -_080B10D4: .4byte gUnknown_2037F1B +_080B10D0: .4byte gBattleAnimAttacker +_080B10D4: .4byte gBattleAnimTarget _080B10D8: - ldr r0, _080B1110 @ =gUnknown_2037F1B + ldr r0, _080B1110 @ =gBattleAnimTarget ldrb r0, [r0] bl sub_8076884 movs r1, 0x3 @@ -30911,7 +30911,7 @@ _080B10D8: ands r0, r2 orrs r0, r1 strb r0, [r5, 0x5] - ldr r0, _080B1114 @ =gUnknown_2037F1A + ldr r0, _080B1114 @ =gBattleAnimAttacker _080B10F4: ldrb r0, [r0] strh r0, [r5, 0x3C] @@ -30927,8 +30927,8 @@ _080B10F4: pop {r0} bx r0 .align 2, 0 -_080B1110: .4byte gUnknown_2037F1B -_080B1114: .4byte gUnknown_2037F1A +_080B1110: .4byte gBattleAnimTarget +_080B1114: .4byte gBattleAnimAttacker _080B1118: .4byte sub_80B111C thumb_func_end sub_80B107C @@ -30988,7 +30988,7 @@ _080B1184: .4byte sub_807563C sub_80B1188: @ 80B1188 push {r4,r5,lr} adds r5, r0, 0 - ldr r4, _080B11D4 @ =gUnknown_2037F02 + ldr r4, _080B11D4 @ =gBattleAnimArgs ldrh r0, [r4] strh r0, [r5, 0x20] movs r2, 0x78 @@ -31023,7 +31023,7 @@ sub_80B1188: @ 80B1188 pop {r0} bx r0 .align 2, 0 -_080B11D4: .4byte gUnknown_2037F02 +_080B11D4: .4byte gBattleAnimArgs _080B11D8: .4byte 0x000003ff _080B11DC: .4byte 0xfffffc00 _080B11E0: .4byte sub_80B11E4 @@ -31071,7 +31071,7 @@ _080B122E: strh r0, [r7, 0x2E] b _080B128C _080B1236: - ldr r4, _080B1298 @ =gUnknown_2037F1A + ldr r4, _080B1298 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -31084,7 +31084,7 @@ _080B1236: adds r5, r0, 0 lsls r5, 24 lsrs r5, 24 - ldr r2, _080B129C @ =gUnknown_2037F1B + ldr r2, _080B129C @ =gBattleAnimTarget mov r8, r2 ldrb r0, [r2] movs r1, 0x2 @@ -31117,8 +31117,8 @@ _080B128C: pop {r0} bx r0 .align 2, 0 -_080B1298: .4byte gUnknown_2037F1A -_080B129C: .4byte gUnknown_2037F1B +_080B1298: .4byte gBattleAnimAttacker +_080B129C: .4byte gBattleAnimTarget _080B12A0: .4byte sub_80B12A4 thumb_func_end sub_80B11E4 @@ -31165,7 +31165,7 @@ _080B12E4: sub_80B12E8: @ 80B12E8 push {r4,r5,lr} adds r5, r0, 0 - ldr r0, _080B131C @ =gUnknown_2037F02 + ldr r0, _080B131C @ =gBattleAnimArgs movs r1, 0 ldrsh r0, [r0, r1] cmp r0, 0 @@ -31183,19 +31183,19 @@ sub_80B12E8: @ 80B12E8 lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] - ldr r0, _080B1324 @ =gUnknown_2037F1B + ldr r0, _080B1324 @ =gBattleAnimTarget ldrb r4, [r0] - ldr r0, _080B1328 @ =gUnknown_2037F1A + ldr r0, _080B1328 @ =gBattleAnimAttacker b _080B1332 .align 2, 0 -_080B131C: .4byte gUnknown_2037F02 +_080B131C: .4byte gBattleAnimArgs _080B1320: .4byte sBattler_AI -_080B1324: .4byte gUnknown_2037F1B -_080B1328: .4byte gUnknown_2037F1A +_080B1324: .4byte gBattleAnimTarget +_080B1328: .4byte gBattleAnimAttacker _080B132C: - ldr r0, _080B1364 @ =gUnknown_2037F1A + ldr r0, _080B1364 @ =gBattleAnimAttacker ldrb r4, [r0] - ldr r0, _080B1368 @ =gUnknown_2037F1B + ldr r0, _080B1368 @ =gBattleAnimTarget _080B1332: ldrb r0, [r0] bl sub_8076884 @@ -31221,8 +31221,8 @@ _080B1332: subs r0, 0x47 b _080B1386 .align 2, 0 -_080B1364: .4byte gUnknown_2037F1A -_080B1368: .4byte gUnknown_2037F1B +_080B1364: .4byte gBattleAnimAttacker +_080B1368: .4byte gBattleAnimTarget _080B136C: adds r0, r4, 0 bl GetBattlerSide @@ -31299,7 +31299,7 @@ _080B13EA: sub_80B13F8: @ 80B13F8 push {r4-r6,lr} adds r5, r0, 0 - ldr r4, _080B1474 @ =gUnknown_2037F1B + ldr r4, _080B1474 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -31312,7 +31312,7 @@ sub_80B13F8: @ 80B13F8 lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] - ldr r1, _080B1478 @ =gUnknown_2037F02 + ldr r1, _080B1478 @ =gBattleAnimArgs ldrh r0, [r1, 0x6] strh r0, [r5, 0x30] ldrh r0, [r1] @@ -31358,8 +31358,8 @@ _080B1456: pop {r0} bx r0 .align 2, 0 -_080B1474: .4byte gUnknown_2037F1B -_080B1478: .4byte gUnknown_2037F02 +_080B1474: .4byte gBattleAnimTarget +_080B1478: .4byte gBattleAnimArgs _080B147C: .4byte gUnknown_2037F16 _080B1480: .4byte sub_80B13D4 thumb_func_end sub_80B13F8 @@ -31368,7 +31368,7 @@ _080B1480: .4byte sub_80B13D4 sub_80B1484: @ 80B1484 push {r4,lr} adds r4, r0, 0 - ldr r0, _080B149C @ =gUnknown_2037F02 + ldr r0, _080B149C @ =gBattleAnimArgs movs r1, 0x4 ldrsh r0, [r0, r1] cmp r0, 0 @@ -31378,7 +31378,7 @@ sub_80B1484: @ 80B1484 bl sub_8075160 b _080B14A8 .align 2, 0 -_080B149C: .4byte gUnknown_2037F02 +_080B149C: .4byte gBattleAnimArgs _080B14A0: adds r0, r4, 0 movs r1, 0 @@ -31393,7 +31393,7 @@ _080B14A8: bl StartSpriteAnim b _080B14D2 _080B14BC: - ldr r0, _080B14E4 @ =gUnknown_2037F1A + ldr r0, _080B14E4 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -31412,7 +31412,7 @@ _080B14D2: pop {r0} bx r0 .align 2, 0 -_080B14E4: .4byte gUnknown_2037F1A +_080B14E4: .4byte gBattleAnimAttacker _080B14E8: .4byte sub_8074F6C _080B14EC: .4byte DestroyAnimSprite thumb_func_end sub_80B1484 @@ -31472,13 +31472,13 @@ sub_80B1530: @ 80B1530 bne _080B1582 movs r0, 0 bl sub_8075458 - ldr r0, _080B1564 @ =gUnknown_2037F02 + ldr r0, _080B1564 @ =gBattleAnimArgs ldrh r0, [r0] strh r0, [r4, 0x18] b _080B157A .align 2, 0 _080B1560: .4byte gTasks -_080B1564: .4byte gUnknown_2037F02 +_080B1564: .4byte gBattleAnimArgs _080B1568: ldrh r0, [r4, 0x18] subs r0, 0x1 @@ -31508,7 +31508,7 @@ _080B158E: ldrh r1, [r4, 0x1C] adds r0, r1 strh r0, [r4, 0x1C] - ldr r0, _080B15BC @ =gUnknown_2037F1B + ldr r0, _080B15BC @ =gBattleAnimTarget ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -31524,7 +31524,7 @@ _080B158E: adds r7, r1, 0 b _080B15D4 .align 2, 0 -_080B15BC: .4byte gUnknown_2037F1B +_080B15BC: .4byte gBattleAnimTarget _080B15C0: .4byte gBattle_BG3_X _080B15C4: ldr r2, _080B1614 @ =gBattle_BG3_X @@ -31549,7 +31549,7 @@ _080B15D4: strh r1, [r4, 0x1A] ands r0, r2 strh r0, [r4, 0x1C] - ldr r0, _080B161C @ =gUnknown_2037F02 + ldr r0, _080B161C @ =gBattleAnimArgs movs r2, 0xE ldrsh r1, [r0, r2] movs r0, 0x1 @@ -31569,14 +31569,14 @@ _080B160C: .align 2, 0 _080B1614: .4byte gBattle_BG3_X _080B1618: .4byte gBattle_BG3_Y -_080B161C: .4byte gUnknown_2037F02 +_080B161C: .4byte gBattleAnimArgs thumb_func_end sub_80B1530 thumb_func_start sub_80B1620 sub_80B1620: @ 80B1620 push {r4,r5,lr} adds r5, r0, 0 - ldr r4, _080B1674 @ =gUnknown_2037F02 + ldr r4, _080B1674 @ =gBattleAnimArgs movs r1, 0x6 ldrsh r0, [r4, r1] cmp r0, 0 @@ -31590,7 +31590,7 @@ _080B1636: bl sub_8075160 ldrh r0, [r4, 0x4] strh r0, [r5, 0x2E] - ldr r4, _080B1678 @ =gUnknown_2037F1B + ldr r4, _080B1678 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -31613,8 +31613,8 @@ _080B1636: pop {r0} bx r0 .align 2, 0 -_080B1674: .4byte gUnknown_2037F02 -_080B1678: .4byte gUnknown_2037F1B +_080B1674: .4byte gBattleAnimArgs +_080B1678: .4byte gBattleAnimTarget _080B167C: .4byte 0x0000ffe2 _080B1680: .4byte sub_80B1684 thumb_func_end sub_80B1620 @@ -31640,7 +31640,7 @@ sub_80B16A0: @ 80B16A0 push {r4-r6,lr} sub sp, 0x4 adds r4, r0, 0 - ldr r5, _080B1714 @ =gUnknown_2037F02 + ldr r5, _080B1714 @ =gBattleAnimArgs movs r1, 0x6 ldrsh r0, [r5, r1] cmp r0, 0 @@ -31652,7 +31652,7 @@ _080B16B8: adds r0, r4, 0 movs r1, 0x1 bl sub_8075160 - ldr r0, _080B1718 @ =gUnknown_2037F1B + ldr r0, _080B1718 @ =gBattleAnimTarget ldrb r0, [r0] mov r6, sp adds r6, 0x2 @@ -31660,7 +31660,7 @@ _080B16B8: mov r2, sp adds r3, r6, 0 bl sub_8076D9C - ldr r0, _080B171C @ =gUnknown_2037F1A + ldr r0, _080B171C @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -31692,9 +31692,9 @@ _080B16E6: pop {r0} bx r0 .align 2, 0 -_080B1714: .4byte gUnknown_2037F02 -_080B1718: .4byte gUnknown_2037F1B -_080B171C: .4byte gUnknown_2037F1A +_080B1714: .4byte gBattleAnimArgs +_080B1718: .4byte gBattleAnimTarget +_080B171C: .4byte gBattleAnimAttacker _080B1720: .4byte 0x0000ffe2 _080B1724: .4byte sub_80B1728 thumb_func_end sub_80B16A0 @@ -31719,7 +31719,7 @@ _080B173C: sub_80B1744: @ 80B1744 push {r4,r5,lr} adds r4, r0, 0 - ldr r5, _080B1790 @ =gUnknown_2037F02 + ldr r5, _080B1790 @ =gBattleAnimArgs ldrh r0, [r5, 0x4] strh r0, [r4, 0x2E] ldrh r0, [r4, 0x20] @@ -31752,7 +31752,7 @@ sub_80B1744: @ 80B1744 pop {r0} bx r0 .align 2, 0 -_080B1790: .4byte gUnknown_2037F02 +_080B1790: .4byte gBattleAnimArgs _080B1794: .4byte sub_80B1798 thumb_func_end sub_80B1744 @@ -31785,7 +31785,7 @@ _080B17BE: sub_80B17C4: @ 80B17C4 push {r4,lr} adds r4, r0, 0 - ldr r0, _080B1824 @ =gUnknown_2037F1B + ldr r0, _080B1824 @ =gBattleAnimTarget ldrb r0, [r0] adds r2, r4, 0 adds r2, 0x20 @@ -31793,18 +31793,18 @@ sub_80B17C4: @ 80B17C4 adds r3, 0x22 movs r1, 0x1 bl sub_8076D9C - ldr r0, _080B1828 @ =gUnknown_2037F1A + ldr r0, _080B1828 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080B17F0 - ldr r1, _080B182C @ =gUnknown_2037F02 + ldr r1, _080B182C @ =gBattleAnimArgs ldrh r0, [r1] negs r0, r0 strh r0, [r1] _080B17F0: - ldr r0, _080B182C @ =gUnknown_2037F02 + ldr r0, _080B182C @ =gBattleAnimArgs ldrh r2, [r0] ldrh r1, [r4, 0x20] adds r2, r1 @@ -31829,9 +31829,9 @@ _080B17F0: pop {r0} bx r0 .align 2, 0 -_080B1824: .4byte gUnknown_2037F1B -_080B1828: .4byte gUnknown_2037F1A -_080B182C: .4byte gUnknown_2037F02 +_080B1824: .4byte gBattleAnimTarget +_080B1828: .4byte gBattleAnimAttacker +_080B182C: .4byte gBattleAnimArgs _080B1830: .4byte sub_8075590 _080B1834: .4byte DestroyAnimSprite thumb_func_end sub_80B17C4 @@ -31840,7 +31840,7 @@ _080B1834: .4byte DestroyAnimSprite sub_80B1838: @ 80B1838 push {r4,r5,lr} adds r4, r0, 0 - ldr r5, _080B1850 @ =gUnknown_2037F02 + ldr r5, _080B1850 @ =gBattleAnimArgs movs r1, 0x4 ldrsh r0, [r5, r1] cmp r0, 0 @@ -31850,9 +31850,9 @@ sub_80B1838: @ 80B1838 bl sub_8075114 b _080B188A .align 2, 0 -_080B1850: .4byte gUnknown_2037F02 +_080B1850: .4byte gBattleAnimArgs _080B1854: - ldr r0, _080B1894 @ =gUnknown_2037F1B + ldr r0, _080B1894 @ =gBattleAnimTarget ldrb r0, [r0] adds r2, r4, 0 adds r2, 0x20 @@ -31860,7 +31860,7 @@ _080B1854: adds r3, 0x22 movs r1, 0x1 bl sub_8076D9C - ldr r0, _080B1898 @ =gUnknown_2037F1A + ldr r0, _080B1898 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -31885,8 +31885,8 @@ _080B188A: pop {r0} bx r0 .align 2, 0 -_080B1894: .4byte gUnknown_2037F1B -_080B1898: .4byte gUnknown_2037F1A +_080B1894: .4byte gBattleAnimTarget +_080B1898: .4byte gBattleAnimAttacker _080B189C: .4byte sub_80B18A0 thumb_func_end sub_80B1838 @@ -31992,7 +31992,7 @@ sub_80B194C: @ 80B194C adds r4, r0 lsls r4, 3 adds r4, r1 - ldr r1, _080B1980 @ =gUnknown_2037F02 + ldr r1, _080B1980 @ =gBattleAnimArgs ldrh r0, [r1, 0x2] strh r0, [r4, 0x8] ldrh r0, [r1] @@ -32009,7 +32009,7 @@ sub_80B194C: @ 80B194C bx r0 .align 2, 0 _080B197C: .4byte gTasks -_080B1980: .4byte gUnknown_2037F02 +_080B1980: .4byte gBattleAnimArgs _080B1984: .4byte 0x00002719 _080B1988: .4byte sub_80B198C thumb_func_end sub_80B194C @@ -32094,23 +32094,23 @@ sub_80B1A1C: @ 80B1A1C adds r6, r0, 0 movs r1, 0x1 bl sub_8075160 - ldr r0, _080B1A88 @ =gUnknown_2037F1A + ldr r0, _080B1A88 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080B1A3C - ldr r1, _080B1A8C @ =gUnknown_2037F02 + ldr r1, _080B1A8C @ =gBattleAnimArgs ldrh r0, [r1, 0x4] negs r0, r0 strh r0, [r1, 0x4] _080B1A3C: - ldr r4, _080B1A8C @ =gUnknown_2037F02 + ldr r4, _080B1A8C @ =gBattleAnimArgs ldrh r0, [r4, 0x8] strh r0, [r6, 0x2E] ldrh r0, [r6, 0x20] strh r0, [r6, 0x30] - ldr r5, _080B1A90 @ =gUnknown_2037F1B + ldr r5, _080B1A90 @ =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 bl sub_8074480 @@ -32140,9 +32140,9 @@ _080B1A3C: pop {r0} bx r0 .align 2, 0 -_080B1A88: .4byte gUnknown_2037F1A -_080B1A8C: .4byte gUnknown_2037F02 -_080B1A90: .4byte gUnknown_2037F1B +_080B1A88: .4byte gBattleAnimAttacker +_080B1A8C: .4byte gBattleAnimArgs +_080B1A90: .4byte gBattleAnimTarget _080B1A94: .4byte sub_8074F50 _080B1A98: .4byte sub_80B1A9C thumb_func_end sub_80B1A1C @@ -32167,13 +32167,13 @@ _080B1AB0: sub_80B1AB8: @ 80B1AB8 push {r4,r5,lr} adds r5, r0, 0 - ldr r4, _080B1B54 @ =gUnknown_2037F1A + ldr r4, _080B1B54 @ =gBattleAnimAttacker ldrb r0, [r4] bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080B1AE4 - ldr r1, _080B1B58 @ =gUnknown_2037F02 + ldr r1, _080B1B58 @ =gBattleAnimArgs ldrh r0, [r1] negs r0, r0 strh r0, [r1] @@ -32191,7 +32191,7 @@ _080B1AE4: lsls r0, 24 cmp r0, 0 beq _080B1AFC - ldr r0, _080B1B58 @ =gUnknown_2037F02 + ldr r0, _080B1B58 @ =gBattleAnimArgs ldrh r1, [r0, 0x2] negs r1, r1 strh r1, [r0, 0x2] @@ -32209,7 +32209,7 @@ _080B1AFC: movs r1, 0x3 bl sub_8074480 lsls r0, 24 - ldr r2, _080B1B58 @ =gUnknown_2037F02 + ldr r2, _080B1B58 @ =gBattleAnimArgs ldrh r1, [r2] ldrh r3, [r5, 0x20] adds r1, r3 @@ -32224,7 +32224,7 @@ _080B1AFC: ldrsh r0, [r2, r3] cmp r0, 0 bne _080B1B60 - ldr r4, _080B1B5C @ =gUnknown_2037F1B + ldr r4, _080B1B5C @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -32239,11 +32239,11 @@ _080B1AFC: strh r0, [r5, 0x36] b _080B1B72 .align 2, 0 -_080B1B54: .4byte gUnknown_2037F1A -_080B1B58: .4byte gUnknown_2037F02 -_080B1B5C: .4byte gUnknown_2037F1B +_080B1B54: .4byte gBattleAnimAttacker +_080B1B58: .4byte gBattleAnimArgs +_080B1B5C: .4byte gBattleAnimTarget _080B1B60: - ldr r0, _080B1BA0 @ =gUnknown_2037F1B + ldr r0, _080B1BA0 @ =gBattleAnimTarget ldrb r0, [r0] adds r2, r5, 0 adds r2, 0x32 @@ -32252,7 +32252,7 @@ _080B1B60: movs r1, 0x1 bl sub_8076D9C _080B1B72: - ldr r4, _080B1BA4 @ =gUnknown_2037F02 + ldr r4, _080B1BA4 @ =gBattleAnimArgs ldrh r0, [r4, 0x4] ldrh r1, [r5, 0x32] adds r0, r1 @@ -32273,8 +32273,8 @@ _080B1B72: pop {r0} bx r0 .align 2, 0 -_080B1BA0: .4byte gUnknown_2037F1B -_080B1BA4: .4byte gUnknown_2037F02 +_080B1BA0: .4byte gBattleAnimTarget +_080B1BA4: .4byte gBattleAnimArgs _080B1BA8: .4byte sub_8075590 _080B1BAC: .4byte DestroyAnimSprite thumb_func_end sub_80B1AB8 @@ -32285,7 +32285,7 @@ sub_80B1BB0: @ 80B1BB0 adds r4, r0, 0 movs r1, 0x1 bl sub_8075160 - ldr r1, _080B1BEC @ =gUnknown_2037F02 + ldr r1, _080B1BEC @ =gBattleAnimArgs ldrh r0, [r1, 0x4] strh r0, [r4, 0x2E] ldrh r0, [r1, 0x6] @@ -32310,7 +32310,7 @@ sub_80B1BB0: @ 80B1BB0 pop {r0} bx r0 .align 2, 0 -_080B1BEC: .4byte gUnknown_2037F02 +_080B1BEC: .4byte gBattleAnimArgs _080B1BF0: .4byte sub_80B1BF8 _080B1BF4: .4byte gSprites thumb_func_end sub_80B1BB0 @@ -32358,7 +32358,7 @@ _080B1C36: sub_80B1C3C: @ 80B1C3C push {r4,r5,lr} adds r5, r0, 0 - ldr r0, _080B1C64 @ =gUnknown_2037F1A + ldr r0, _080B1C64 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -32374,19 +32374,19 @@ sub_80B1C3C: @ 80B1C3C bl StartSpriteAffineAnim b _080B1C72 .align 2, 0 -_080B1C64: .4byte gUnknown_2037F1A +_080B1C64: .4byte gBattleAnimAttacker _080B1C68: .4byte 0x0000ffe0 _080B1C6C: ldr r0, _080B1CB0 @ =0x0000ffe0 strh r0, [r5, 0x20] strh r0, [r5, 0x22] _080B1C72: - ldr r0, _080B1CB4 @ =gUnknown_2037F02 + ldr r0, _080B1CB4 @ =gBattleAnimArgs ldrh r0, [r0] strh r0, [r5, 0x2E] ldrh r0, [r5, 0x20] strh r0, [r5, 0x30] - ldr r4, _080B1CB8 @ =gUnknown_2037F1B + ldr r4, _080B1CB8 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -32410,8 +32410,8 @@ _080B1C72: bx r0 .align 2, 0 _080B1CB0: .4byte 0x0000ffe0 -_080B1CB4: .4byte gUnknown_2037F02 -_080B1CB8: .4byte gUnknown_2037F1B +_080B1CB4: .4byte gBattleAnimArgs +_080B1CB8: .4byte gBattleAnimTarget _080B1CBC: .4byte sub_80B1CC0 thumb_func_end sub_80B1C3C @@ -32529,20 +32529,20 @@ sub_80B1D88: @ 80B1D88 adds r7, r0, 0 adds r5, r7, 0 adds r5, 0x2E - ldr r0, _080B1DA8 @ =gUnknown_2037F02 + ldr r0, _080B1DA8 @ =gBattleAnimArgs ldrh r1, [r0, 0xE] movs r0, 0x80 lsls r0, 1 ands r0, r1 cmp r0, 0 beq _080B1DB0 - ldr r0, _080B1DAC @ =gUnknown_2037F1A + ldr r0, _080B1DAC @ =gBattleAnimAttacker b _080B1DB2 .align 2, 0 -_080B1DA8: .4byte gUnknown_2037F02 -_080B1DAC: .4byte gUnknown_2037F1A +_080B1DA8: .4byte gBattleAnimArgs +_080B1DAC: .4byte gBattleAnimAttacker _080B1DB0: - ldr r0, _080B1E5C @ =gUnknown_2037F1B + ldr r0, _080B1E5C @ =gBattleAnimTarget _080B1DB2: ldrb r6, [r0] adds r0, r6, 0 @@ -32550,7 +32550,7 @@ _080B1DB2: lsls r0, 24 cmp r0, 0 bne _080B1DC8 - ldr r1, _080B1E60 @ =gUnknown_2037F02 + ldr r1, _080B1E60 @ =gBattleAnimArgs ldrh r0, [r1] negs r0, r0 strh r0, [r1] @@ -32559,7 +32559,7 @@ _080B1DC8: movs r1, 0 bl sub_8074480 lsls r0, 24 - ldr r4, _080B1E60 @ =gUnknown_2037F02 + ldr r4, _080B1E60 @ =gBattleAnimArgs lsrs r0, 24 ldrh r1, [r4] adds r0, r1 @@ -32625,8 +32625,8 @@ _080B1DC8: strb r1, [r7, 0x5] b _080B1E7C .align 2, 0 -_080B1E5C: .4byte gUnknown_2037F1B -_080B1E60: .4byte gUnknown_2037F02 +_080B1E5C: .4byte gBattleAnimTarget +_080B1E60: .4byte gBattleAnimArgs _080B1E64: adds r0, r6, 0 bl sub_8076884 @@ -33497,7 +33497,7 @@ _080B24BC: .4byte sub_80B1D3C sub_80B24C0: @ 80B24C0 push {r4,r5,lr} adds r4, r0, 0 - ldr r0, _080B2508 @ =gUnknown_2037F1B + ldr r0, _080B2508 @ =gBattleAnimTarget ldrb r0, [r0] bl sub_8076884 movs r1, 0x3 @@ -33509,7 +33509,7 @@ sub_80B24C0: @ 80B24C0 ands r0, r2 orrs r0, r1 strb r0, [r4, 0x5] - ldr r5, _080B250C @ =gUnknown_2037F1A + ldr r5, _080B250C @ =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0x2 bl sub_8074480 @@ -33528,8 +33528,8 @@ sub_80B24C0: @ 80B24C0 pop {r0} bx r0 .align 2, 0 -_080B2508: .4byte gUnknown_2037F1B -_080B250C: .4byte gUnknown_2037F1A +_080B2508: .4byte gBattleAnimTarget +_080B250C: .4byte gBattleAnimAttacker _080B2510: .4byte sub_8075DF4 thumb_func_end sub_80B24C0 @@ -33537,7 +33537,7 @@ _080B2510: .4byte sub_8075DF4 sub_80B2514: @ 80B2514 push {r4-r7,lr} adds r4, r0, 0 - ldr r5, _080B2554 @ =gUnknown_2037F02 + ldr r5, _080B2554 @ =gBattleAnimArgs ldrh r0, [r5] strh r0, [r4, 0x30] ldrh r0, [r5, 0x2] @@ -33549,7 +33549,7 @@ sub_80B2514: @ 80B2514 cmp r0, 0 bne _080B25C4 ldr r0, _080B2558 @ =gUnknown_2023BD6 - ldr r1, _080B255C @ =gUnknown_2037F1B + ldr r1, _080B255C @ =gBattleAnimTarget ldrb r2, [r1] adds r0, r2, r0 ldrb r1, [r0] @@ -33566,9 +33566,9 @@ sub_80B2514: @ 80B2514 adds r0, r5 b _080B256E .align 2, 0 -_080B2554: .4byte gUnknown_2037F02 +_080B2554: .4byte gBattleAnimArgs _080B2558: .4byte gUnknown_2023BD6 -_080B255C: .4byte gUnknown_2037F1B +_080B255C: .4byte gBattleAnimTarget _080B2560: adds r0, r2, 0 movs r1, 0x1 @@ -33578,12 +33578,12 @@ _080B2560: adds r0, 0x28 _080B256E: strh r0, [r4, 0x3C] - ldr r0, _080B259C @ =gUnknown_2037F02 + ldr r0, _080B259C @ =gBattleAnimArgs movs r1, 0x8 ldrsh r0, [r0, r1] cmp r0, 0 beq _080B25A4 - ldr r0, _080B25A0 @ =gUnknown_2037F1B + ldr r0, _080B25A0 @ =gBattleAnimTarget ldrb r0, [r0] bl sub_8076884 lsls r0, 24 @@ -33600,10 +33600,10 @@ _080B256E: strb r1, [r4, 0x5] b _080B25D8 .align 2, 0 -_080B259C: .4byte gUnknown_2037F02 -_080B25A0: .4byte gUnknown_2037F1B +_080B259C: .4byte gBattleAnimArgs +_080B25A0: .4byte gBattleAnimTarget _080B25A4: - ldr r0, _080B25C0 @ =gUnknown_2037F1B + ldr r0, _080B25C0 @ =gBattleAnimTarget ldrb r0, [r0] bl sub_8076884 movs r1, 0x3 @@ -33617,9 +33617,9 @@ _080B25A4: strb r0, [r4, 0x5] b _080B25D8 .align 2, 0 -_080B25C0: .4byte gUnknown_2037F1B +_080B25C0: .4byte gBattleAnimTarget _080B25C4: - ldr r0, _080B267C @ =gUnknown_2037F1B + ldr r0, _080B267C @ =gBattleAnimTarget ldrb r0, [r0] movs r1, 0x1 bl sub_8074480 @@ -33713,7 +33713,7 @@ _080B2672: pop {r0} bx r0 .align 2, 0 -_080B267C: .4byte gUnknown_2037F1B +_080B267C: .4byte gBattleAnimTarget _080B2680: .4byte gSineTable _080B2684: .4byte gOamMatrices _080B2688: .4byte sub_80B268C @@ -33852,7 +33852,7 @@ _080B277C: .4byte sub_80B1F94 sub_80B2780: @ 80B2780 push {r4,r5,lr} adds r5, r0, 0 - ldr r0, _080B2798 @ =gUnknown_2037F02 + ldr r0, _080B2798 @ =gBattleAnimArgs movs r1, 0x4 ldrsh r0, [r0, r1] cmp r0, 0 @@ -33862,18 +33862,18 @@ sub_80B2780: @ 80B2780 bl sub_8075160 b _080B27A4 .align 2, 0 -_080B2798: .4byte gUnknown_2037F02 +_080B2798: .4byte gBattleAnimArgs _080B279C: adds r0, r5, 0 movs r1, 0 bl sub_8075114 _080B27A4: - ldr r4, _080B280C @ =gUnknown_2037F02 + ldr r4, _080B280C @ =gBattleAnimArgs movs r2, 0x4 ldrsh r0, [r4, r2] cmp r0, 0 bne _080B27BC - ldr r0, _080B2810 @ =gUnknown_2037F1A + ldr r0, _080B2810 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -33884,7 +33884,7 @@ _080B27BC: ldrsh r0, [r4, r1] cmp r0, 0x1 bne _080B27D8 - ldr r0, _080B2814 @ =gUnknown_2037F1B + ldr r0, _080B2814 @ =gBattleAnimTarget ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -33895,7 +33895,7 @@ _080B27D2: adds r0, 0x8 strh r0, [r5, 0x20] _080B27D8: - ldr r4, _080B280C @ =gUnknown_2037F02 + ldr r4, _080B280C @ =gBattleAnimArgs ldrb r1, [r4, 0x8] adds r0, r5, 0 bl SeekSpriteAnim @@ -33921,9 +33921,9 @@ _080B27D8: pop {r0} bx r0 .align 2, 0 -_080B280C: .4byte gUnknown_2037F02 -_080B2810: .4byte gUnknown_2037F1A -_080B2814: .4byte gUnknown_2037F1B +_080B280C: .4byte gBattleAnimArgs +_080B2810: .4byte gBattleAnimAttacker +_080B2814: .4byte gBattleAnimTarget _080B2818: .4byte 0x00000ccc _080B281C: .4byte sub_80B2820 thumb_func_end sub_80B2780 @@ -33996,7 +33996,7 @@ sub_80B2868: @ 80B2868 negs r5, r5 adds r1, r5, 0 bl Sin - ldr r4, _080B2908 @ =gUnknown_2037F02 + ldr r4, _080B2908 @ =gBattleAnimArgs strh r0, [r4] movs r1, 0x8 ldrsh r0, [r7, r1] @@ -34009,7 +34009,7 @@ sub_80B2868: @ 80B2868 strh r0, [r4, 0x6] ldr r0, _080B290C @ =gUnknown_83E7C98 mov r8, r0 - ldr r5, _080B2910 @ =gUnknown_2037F1B + ldr r5, _080B2910 @ =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 bl sub_8074480 @@ -34045,9 +34045,9 @@ _080B28F6: .align 2, 0 _080B2900: .4byte gTasks _080B2904: .4byte gUnknown_2037EE2 -_080B2908: .4byte gUnknown_2037F02 +_080B2908: .4byte gBattleAnimArgs _080B290C: .4byte gUnknown_83E7C98 -_080B2910: .4byte gUnknown_2037F1B +_080B2910: .4byte gBattleAnimTarget thumb_func_end sub_80B2868 thumb_func_start sub_80B2914 @@ -34119,7 +34119,7 @@ _080B298A: beq _080B29C0 b _080B29FE _080B2990: - ldr r0, _080B29A8 @ =gUnknown_2037F1B + ldr r0, _080B29A8 @ =gBattleAnimTarget ldrb r0, [r0] movs r1, 0x1 bl sub_8074480 @@ -34131,7 +34131,7 @@ _080B2990: strh r0, [r4, 0x26] b _080B29B8 .align 2, 0 -_080B29A8: .4byte gUnknown_2037F1B +_080B29A8: .4byte gBattleAnimTarget _080B29AC: ldrh r0, [r4, 0x26] adds r0, 0xA @@ -34188,7 +34188,7 @@ sub_80B2A08: @ 80B2A08 adds r4, r0, 0 movs r1, 0x1 bl sub_8075160 - ldr r1, _080B2A44 @ =gUnknown_2037F02 + ldr r1, _080B2A44 @ =gBattleAnimArgs ldrh r0, [r1, 0x4] strh r0, [r4, 0x2E] ldrh r0, [r1, 0x6] @@ -34213,7 +34213,7 @@ sub_80B2A08: @ 80B2A08 pop {r0} bx r0 .align 2, 0 -_080B2A44: .4byte gUnknown_2037F02 +_080B2A44: .4byte gBattleAnimArgs _080B2A48: .4byte sub_80B2A50 _080B2A4C: .4byte gSprites thumb_func_end sub_80B2A08 @@ -34324,18 +34324,18 @@ sub_80B2AF4: @ 80B2AF4 beq _080B2B60 b _080B2BCC _080B2B08: - ldr r0, _080B2B18 @ =gUnknown_2037F02 + ldr r0, _080B2B18 @ =gBattleAnimArgs movs r2, 0 ldrsh r0, [r0, r2] cmp r0, 0 bne _080B2B20 - ldr r4, _080B2B1C @ =gUnknown_2037F1A + ldr r4, _080B2B1C @ =gBattleAnimAttacker b _080B2B22 .align 2, 0 -_080B2B18: .4byte gUnknown_2037F02 -_080B2B1C: .4byte gUnknown_2037F1A +_080B2B18: .4byte gBattleAnimArgs +_080B2B1C: .4byte gBattleAnimAttacker _080B2B20: - ldr r4, _080B2B5C @ =gUnknown_2037F1B + ldr r4, _080B2B5C @ =gBattleAnimTarget _080B2B22: ldrb r0, [r4] movs r1, 0 @@ -34364,7 +34364,7 @@ _080B2B22: strh r0, [r5, 0x2E] b _080B2BCC .align 2, 0 -_080B2B5C: .4byte gUnknown_2037F1B +_080B2B5C: .4byte gBattleAnimTarget _080B2B60: movs r1, 0x32 ldrsh r0, [r5, r1] @@ -34471,7 +34471,7 @@ _080B2C1C: subs r0, r1 _080B2C24: strh r0, [r5, 0x30] - ldr r2, _080B2C4C @ =gUnknown_2037F02 + ldr r2, _080B2C4C @ =gBattleAnimArgs ldrh r0, [r2] strh r0, [r5, 0x32] lsls r0, 16 @@ -34489,13 +34489,13 @@ _080B2C40: ldrsh r0, [r2, r1] cmp r0, 0 bne _080B2C54 - ldr r4, _080B2C50 @ =gUnknown_2037F1A + ldr r4, _080B2C50 @ =gBattleAnimAttacker b _080B2C56 .align 2, 0 -_080B2C4C: .4byte gUnknown_2037F02 -_080B2C50: .4byte gUnknown_2037F1A +_080B2C4C: .4byte gBattleAnimArgs +_080B2C50: .4byte gBattleAnimAttacker _080B2C54: - ldr r4, _080B2C80 @ =gUnknown_2037F1B + ldr r4, _080B2C80 @ =gBattleAnimTarget _080B2C56: ldrb r0, [r4] movs r1, 0 @@ -34516,7 +34516,7 @@ _080B2C56: pop {r0} bx r0 .align 2, 0 -_080B2C80: .4byte gUnknown_2037F1B +_080B2C80: .4byte gBattleAnimTarget _080B2C84: .4byte sub_80B2C88 thumb_func_end sub_80B2BD8 @@ -34655,7 +34655,7 @@ sub_80B2D64: @ 80B2D64 mov r8, r0 ldrh r4, [r0, 0x20] ldrh r5, [r0, 0x22] - ldr r6, _080B2E18 @ =gUnknown_2037F1A + ldr r6, _080B2E18 @ =gBattleAnimAttacker ldrb r0, [r6] movs r1, 0x2 bl sub_8074480 @@ -34731,7 +34731,7 @@ sub_80B2D64: @ 80B2D64 pop {r0} bx r0 .align 2, 0 -_080B2E18: .4byte gUnknown_2037F1A +_080B2E18: .4byte gBattleAnimAttacker _080B2E1C: .4byte sub_80B2E20 thumb_func_end sub_80B2D64 @@ -34779,7 +34779,7 @@ sub_80B2E64: @ 80B2E64 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _080B2E94 @ =gUnknown_2037F02 + ldr r0, _080B2E94 @ =gBattleAnimArgs movs r1, 0 ldrsh r0, [r0, r1] cmp r0, 0 @@ -34799,7 +34799,7 @@ sub_80B2E64: @ 80B2E64 orrs r0, r2 b _080B2EBA .align 2, 0 -_080B2E94: .4byte gUnknown_2037F02 +_080B2E94: .4byte gBattleAnimArgs _080B2E98: .4byte gSprites _080B2E9C: movs r0, 0 @@ -34831,7 +34831,7 @@ _080B2EC8: .4byte gSprites sub_80B2ECC: @ 80B2ECC push {r4-r7,lr} adds r6, r0, 0 - ldr r0, _080B2F84 @ =gUnknown_2037F1A + ldr r0, _080B2F84 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -34903,7 +34903,7 @@ _080B2F5A: lsls r0, 24 cmp r0, 0 beq _080B2F90 - ldr r0, _080B2F84 @ =gUnknown_2037F1A + ldr r0, _080B2F84 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -34914,20 +34914,20 @@ _080B2F5A: movs r0, 0x50 b _080B2FCA .align 2, 0 -_080B2F84: .4byte gUnknown_2037F1A +_080B2F84: .4byte gBattleAnimAttacker _080B2F88: movs r0, 0xB0 strh r0, [r6, 0x20] movs r0, 0x28 b _080B2FCA _080B2F90: - ldr r5, _080B3000 @ =gUnknown_2037F1A + ldr r5, _080B3000 @ =gBattleAnimAttacker ldrb r0, [r5] bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080B2FA6 - ldr r1, _080B3004 @ =gUnknown_2037F02 + ldr r1, _080B3004 @ =gBattleAnimArgs ldrh r0, [r1] negs r0, r0 strh r0, [r1] @@ -34936,7 +34936,7 @@ _080B2FA6: movs r1, 0 bl sub_8074480 lsls r0, 24 - ldr r4, _080B3004 @ =gUnknown_2037F02 + ldr r4, _080B3004 @ =gBattleAnimArgs lsrs r0, 24 ldrh r1, [r4] adds r0, r1 @@ -34958,7 +34958,7 @@ _080B2FCA: adds r0, 0x9 strh r0, [r6, 0x22] _080B2FDC: - ldr r0, _080B3004 @ =gUnknown_2037F02 + ldr r0, _080B3004 @ =gBattleAnimArgs ldrh r0, [r0, 0x4] bl IndexOfSpritePaletteTag lsls r0, 24 @@ -34975,8 +34975,8 @@ _080B2FDC: pop {r0} bx r0 .align 2, 0 -_080B3000: .4byte gUnknown_2037F1A -_080B3004: .4byte gUnknown_2037F02 +_080B3000: .4byte gBattleAnimAttacker +_080B3004: .4byte gBattleAnimArgs _080B3008: .4byte sub_80B300C thumb_func_end sub_80B2ECC @@ -35221,7 +35221,7 @@ sub_80B31D0: @ 80B31D0 ldrsh r0, [r4, r1] cmp r0, 0 bne _080B325C - ldr r5, _080B321C @ =gUnknown_2037F02 + ldr r5, _080B321C @ =gBattleAnimArgs movs r1, 0x6 ldrsh r0, [r5, r1] movs r6, 0 @@ -35237,7 +35237,7 @@ _080B31EA: lsls r0, 24 cmp r0, 0 beq _080B3232 - ldr r0, _080B3220 @ =gUnknown_2037F1A + ldr r0, _080B3220 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -35252,8 +35252,8 @@ _080B31EA: strh r0, [r4, 0x22] b _080B3254 .align 2, 0 -_080B321C: .4byte gUnknown_2037F02 -_080B3220: .4byte gUnknown_2037F1A +_080B321C: .4byte gBattleAnimArgs +_080B3220: .4byte gBattleAnimAttacker _080B3224: ldrh r0, [r5] adds r0, 0xB0 @@ -35263,7 +35263,7 @@ _080B3224: strh r0, [r4, 0x22] b _080B3254 _080B3232: - ldr r0, _080B3248 @ =gUnknown_2037F02 + ldr r0, _080B3248 @ =gBattleAnimArgs movs r1, 0x4 ldrsh r0, [r0, r1] cmp r0, 0 @@ -35273,7 +35273,7 @@ _080B3232: bl sub_8075160 b _080B3254 .align 2, 0 -_080B3248: .4byte gUnknown_2037F02 +_080B3248: .4byte gBattleAnimArgs _080B324C: adds r0, r4, 0 adds r1, r6, 0 @@ -35303,7 +35303,7 @@ _080B3270: sub_80B3278: @ 80B3278 push {r4,r5,lr} adds r5, r0, 0 - ldr r4, _080B32C0 @ =gUnknown_2037F1A + ldr r4, _080B32C0 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -35333,7 +35333,7 @@ sub_80B3278: @ 80B3278 ldr r0, _080B32C4 @ =0x0000ffff b _080B32D6 .align 2, 0 -_080B32C0: .4byte gUnknown_2037F1A +_080B32C0: .4byte gBattleAnimAttacker _080B32C4: .4byte 0x0000ffff _080B32C8: ldrh r0, [r5, 0x20] @@ -35362,7 +35362,7 @@ _080B32F0: .4byte sub_8074F6C sub_80B32F4: @ 80B32F4 push {r4-r7,lr} adds r5, r0, 0 - ldr r6, _080B3378 @ =gUnknown_2037F1A + ldr r6, _080B3378 @ =gBattleAnimAttacker ldrb r0, [r6] movs r1, 0x1 bl sub_8076B2C @@ -35423,7 +35423,7 @@ _080B3366: pop {r0} bx r0 .align 2, 0 -_080B3378: .4byte gUnknown_2037F1A +_080B3378: .4byte gBattleAnimAttacker _080B337C: .4byte sub_80B3384 _080B3380: .4byte sub_8074F6C thumb_func_end sub_80B32F4 @@ -35579,7 +35579,7 @@ sub_80B3480: @ 80B3480 strh r0, [r4, 0x8] strh r1, [r4, 0xA] strh r1, [r4, 0xC] - ldr r0, _080B34D0 @ =gUnknown_2037F1A + ldr r0, _080B34D0 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -35600,7 +35600,7 @@ _080B34B4: bx r0 .align 2, 0 _080B34CC: .4byte gTasks -_080B34D0: .4byte gUnknown_2037F1A +_080B34D0: .4byte gBattleAnimAttacker _080B34D4: .4byte gUnknown_83E702C _080B34D8: .4byte sub_80B34DC thumb_func_end sub_80B3480 @@ -35707,7 +35707,7 @@ sub_80B3584: @ 80B3584 movs r0, 0x10 strh r0, [r5, 0xE] strh r1, [r5, 0x10] - ldr r4, _080B3610 @ =gUnknown_2037F1A + ldr r4, _080B3610 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -35758,7 +35758,7 @@ _080B35EE: bx r0 .align 2, 0 _080B360C: .4byte gTasks -_080B3610: .4byte gUnknown_2037F1A +_080B3610: .4byte gBattleAnimAttacker _080B3614: .4byte sub_80B3618 thumb_func_end sub_80B3584 @@ -36020,12 +36020,12 @@ _080B37E0: sub_80B37EC: @ 80B37EC push {r4-r6,lr} adds r5, r0, 0 - ldr r6, _080B3828 @ =gUnknown_2037F02 + ldr r6, _080B3828 @ =gBattleAnimArgs movs r1, 0 ldrsh r0, [r6, r1] cmp r0, 0 bne _080B3818 - ldr r4, _080B382C @ =gUnknown_2037F1A + ldr r4, _080B382C @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -36047,8 +36047,8 @@ _080B3818: pop {r0} bx r0 .align 2, 0 -_080B3828: .4byte gUnknown_2037F02 -_080B382C: .4byte gUnknown_2037F1A +_080B3828: .4byte gBattleAnimArgs +_080B382C: .4byte gBattleAnimAttacker _080B3830: .4byte sub_80B37A4 thumb_func_end sub_80B37EC @@ -36066,14 +36066,14 @@ sub_80B3834: @ 80B3834 lsls r0, 24 cmp r0, 0 beq _080B38D8 - ldr r0, _080B3894 @ =gUnknown_2037F02 + ldr r0, _080B3894 @ =gBattleAnimArgs movs r1, 0 ldrsh r0, [r0, r1] cmp r0, 0x1 bne _080B38A4 ldr r0, _080B3898 @ =0x0000fff6 strh r0, [r5, 0x1C] - ldr r4, _080B389C @ =gUnknown_2037F1B + ldr r4, _080B389C @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x5 bl sub_8076B2C @@ -36084,7 +36084,7 @@ sub_80B3834: @ 80B3834 bl sub_8076B2C adds r0, 0x8 strh r0, [r5, 0x20] - ldr r4, _080B38A0 @ =gUnknown_2037F1A + ldr r4, _080B38A0 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x5 bl sub_8076B2C @@ -36097,14 +36097,14 @@ sub_80B3834: @ 80B3834 b _080B3962 .align 2, 0 _080B3890: .4byte gTasks -_080B3894: .4byte gUnknown_2037F02 +_080B3894: .4byte gBattleAnimArgs _080B3898: .4byte 0x0000fff6 -_080B389C: .4byte gUnknown_2037F1B -_080B38A0: .4byte gUnknown_2037F1A +_080B389C: .4byte gBattleAnimTarget +_080B38A0: .4byte gBattleAnimAttacker _080B38A4: movs r0, 0xA strh r0, [r5, 0x1C] - ldr r4, _080B38D0 @ =gUnknown_2037F1A + ldr r4, _080B38D0 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x4 bl sub_8076B2C @@ -36115,24 +36115,24 @@ _080B38A4: bl sub_8076B2C subs r0, 0x8 strh r0, [r5, 0x20] - ldr r4, _080B38D4 @ =gUnknown_2037F1B + ldr r4, _080B38D4 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x4 bl sub_8076B2C adds r0, 0x8 b _080B3956 .align 2, 0 -_080B38D0: .4byte gUnknown_2037F1A -_080B38D4: .4byte gUnknown_2037F1B +_080B38D0: .4byte gBattleAnimAttacker +_080B38D4: .4byte gBattleAnimTarget _080B38D8: - ldr r0, _080B391C @ =gUnknown_2037F02 + ldr r0, _080B391C @ =gBattleAnimArgs movs r1, 0 ldrsh r0, [r0, r1] cmp r0, 0x1 bne _080B392C ldr r0, _080B3920 @ =0x0000fff6 strh r0, [r5, 0x1C] - ldr r4, _080B3924 @ =gUnknown_2037F1B + ldr r4, _080B3924 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x4 bl sub_8076B2C @@ -36143,7 +36143,7 @@ _080B38D8: bl sub_8076B2C adds r0, 0x8 strh r0, [r5, 0x20] - ldr r4, _080B3928 @ =gUnknown_2037F1A + ldr r4, _080B3928 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x4 bl sub_8076B2C @@ -36155,14 +36155,14 @@ _080B38D8: adds r0, 0x8 b _080B3962 .align 2, 0 -_080B391C: .4byte gUnknown_2037F02 +_080B391C: .4byte gBattleAnimArgs _080B3920: .4byte 0x0000fff6 -_080B3924: .4byte gUnknown_2037F1B -_080B3928: .4byte gUnknown_2037F1A +_080B3924: .4byte gBattleAnimTarget +_080B3928: .4byte gBattleAnimAttacker _080B392C: movs r0, 0xA strh r0, [r5, 0x1C] - ldr r4, _080B3974 @ =gUnknown_2037F1A + ldr r4, _080B3974 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x5 bl sub_8076B2C @@ -36173,7 +36173,7 @@ _080B392C: bl sub_8076B2C subs r0, 0x8 strh r0, [r5, 0x20] - ldr r4, _080B3978 @ =gUnknown_2037F1B + ldr r4, _080B3978 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x5 bl sub_8076B2C @@ -36194,8 +36194,8 @@ _080B3962: pop {r0} bx r0 .align 2, 0 -_080B3974: .4byte gUnknown_2037F1A -_080B3978: .4byte gUnknown_2037F1B +_080B3974: .4byte gBattleAnimAttacker +_080B3978: .4byte gBattleAnimTarget _080B397C: .4byte sub_80B3980 thumb_func_end sub_80B3834 @@ -36320,7 +36320,7 @@ sub_80B3A58: @ 80B3A58 lsls r1, 3 ldr r0, _080B3A90 @ =gTasks adds r4, r1, r0 - ldr r0, _080B3A94 @ =gUnknown_2037F1B + ldr r0, _080B3A94 @ =gBattleAnimTarget ldrb r0, [r0] bl sub_807492C lsls r0, 24 @@ -36328,7 +36328,7 @@ sub_80B3A58: @ 80B3A58 adds r0, r1, 0 subs r0, 0x20 strh r0, [r4, 0x24] - ldr r0, _080B3A98 @ =gUnknown_2037F02 + ldr r0, _080B3A98 @ =gBattleAnimArgs movs r2, 0 ldrsh r0, [r0, r2] cmp r0, 0x1 @@ -36340,8 +36340,8 @@ sub_80B3A58: @ 80B3A58 b _080B3ACA .align 2, 0 _080B3A90: .4byte gTasks -_080B3A94: .4byte gUnknown_2037F1B -_080B3A98: .4byte gUnknown_2037F02 +_080B3A94: .4byte gBattleAnimTarget +_080B3A98: .4byte gBattleAnimArgs _080B3A9C: cmp r0, 0x2 beq _080B3ABA @@ -36378,7 +36378,7 @@ _080B3ACA: movs r0, 0 strh r0, [r4, 0x24] _080B3AD6: - ldr r0, _080B3AF0 @ =gUnknown_2037F1B + ldr r0, _080B3AF0 @ =gBattleAnimTarget ldrb r0, [r0] bl sub_80768B0 lsls r0, 24 @@ -36391,7 +36391,7 @@ _080B3AD6: ldr r0, _080B3AF8 @ =0x04000014 b _080B3B04 .align 2, 0 -_080B3AF0: .4byte gUnknown_2037F1B +_080B3AF0: .4byte gBattleAnimTarget _080B3AF4: .4byte gBattle_BG1_X _080B3AF8: .4byte 0x04000014 _080B3AFC: @@ -36624,7 +36624,7 @@ sub_80B3C78: @ 80B3C78 .align 2, 0 _080B3CAC: .4byte gTasks _080B3CB0: - ldr r1, _080B3CD4 @ =gUnknown_2037F02 + ldr r1, _080B3CD4 @ =gBattleAnimArgs ldrb r0, [r1] bl duplicate_obj_of_side_rel2move_in_transparent_mode lsls r0, 16 @@ -36639,7 +36639,7 @@ _080B3CB0: bl DestroyAnimVisualTask b _080B3D5A .align 2, 0 -_080B3CD4: .4byte gUnknown_2037F02 +_080B3CD4: .4byte gBattleAnimArgs _080B3CD8: ldr r2, _080B3D68 @ =gSprites lsls r4, r0, 4 @@ -36691,7 +36691,7 @@ _080B3CD8: lsrs r3, 30 adds r0, r4, 0 bl CalcCenterToCornerVec - ldr r1, _080B3D70 @ =gUnknown_2037F02 + ldr r1, _080B3D70 @ =gBattleAnimArgs ldrb r0, [r1] bl GetAnimBankSpriteId lsls r0, 24 @@ -36714,7 +36714,7 @@ _080B3D5A: .align 2, 0 _080B3D68: .4byte gSprites _080B3D6C: .4byte SpriteCallbackDummy -_080B3D70: .4byte gUnknown_2037F02 +_080B3D70: .4byte gBattleAnimArgs _080B3D74: .4byte sub_80B3D78 thumb_func_end sub_80B3C78 @@ -36872,7 +36872,7 @@ _080B3E9A: beq _080B3F8E b _080B3FA4 _080B3EA4: - ldr r4, _080B3EF8 @ =gUnknown_2037F1A + ldr r4, _080B3EF8 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0 bl sub_8074480 @@ -36910,7 +36910,7 @@ _080B3ED2: bl SetGpuReg b _080B3F26 .align 2, 0 -_080B3EF8: .4byte gUnknown_2037F1A +_080B3EF8: .4byte gBattleAnimAttacker _080B3EFC: adds r0, r5, 0 adds r0, 0x3F @@ -37010,7 +37010,7 @@ sub_80B3FAC: @ 80B3FAC adds r0, r6, 0 movs r1, 0x2 bl StartSpriteAffineAnim - ldr r0, _080B3FD4 @ =gUnknown_2037F02 + ldr r0, _080B3FD4 @ =gBattleAnimArgs ldrh r1, [r0, 0x4] negs r1, r1 strh r1, [r0, 0x4] @@ -37019,9 +37019,9 @@ sub_80B3FAC: @ 80B3FAC strh r1, [r0] b _080B4008 .align 2, 0 -_080B3FD4: .4byte gUnknown_2037F02 +_080B3FD4: .4byte gBattleAnimArgs _080B3FD8: - ldr r0, _080B406C @ =gUnknown_2037F1B + ldr r0, _080B406C @ =gBattleAnimTarget ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -37030,7 +37030,7 @@ _080B3FD8: adds r0, r6, 0 movs r1, 0x1 bl StartSpriteAffineAnim - ldr r1, _080B4070 @ =gUnknown_2037F02 + ldr r1, _080B4070 @ =gBattleAnimArgs ldrh r0, [r1, 0x2] negs r0, r0 strh r0, [r1, 0x2] @@ -37044,12 +37044,12 @@ _080B3FD8: negs r0, r0 strh r0, [r1] _080B4008: - ldr r5, _080B406C @ =gUnknown_2037F1B + ldr r5, _080B406C @ =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 bl sub_8074844 lsls r0, 24 - ldr r4, _080B4070 @ =gUnknown_2037F02 + ldr r4, _080B4070 @ =gBattleAnimArgs lsrs r0, 24 ldrh r1, [r4] adds r0, r1 @@ -37089,8 +37089,8 @@ _080B4008: pop {r0} bx r0 .align 2, 0 -_080B406C: .4byte gUnknown_2037F1B -_080B4070: .4byte gUnknown_2037F02 +_080B406C: .4byte gBattleAnimTarget +_080B4070: .4byte gBattleAnimArgs _080B4074: .4byte sub_8075590 _080B4078: .4byte DestroyAnimSprite thumb_func_end sub_80B3FAC @@ -37103,7 +37103,7 @@ sub_80B407C: @ 80B407C lsls r0, 24 cmp r0, 0 beq _080B40A0 - ldr r1, _080B409C @ =gUnknown_2037F02 + ldr r1, _080B409C @ =gBattleAnimArgs ldrh r0, [r1] negs r0, r0 strh r0, [r1] @@ -37112,15 +37112,15 @@ sub_80B407C: @ 80B407C bl StartSpriteAffineAnim b _080B40BC .align 2, 0 -_080B409C: .4byte gUnknown_2037F02 +_080B409C: .4byte gBattleAnimArgs _080B40A0: - ldr r0, _080B4118 @ =gUnknown_2037F1B + ldr r0, _080B4118 @ =gBattleAnimTarget ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080B40BC - ldr r0, _080B411C @ =gUnknown_2037F02 + ldr r0, _080B411C @ =gBattleAnimArgs ldrh r1, [r0, 0x2] negs r1, r1 strh r1, [r0, 0x2] @@ -37128,12 +37128,12 @@ _080B40A0: negs r1, r1 strh r1, [r0] _080B40BC: - ldr r5, _080B4118 @ =gUnknown_2037F1B + ldr r5, _080B4118 @ =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 bl sub_8074844 lsls r0, 24 - ldr r4, _080B411C @ =gUnknown_2037F02 + ldr r4, _080B411C @ =gBattleAnimArgs lsrs r0, 24 ldrh r1, [r4] adds r0, r1 @@ -37169,8 +37169,8 @@ _080B40BC: pop {r0} bx r0 .align 2, 0 -_080B4118: .4byte gUnknown_2037F1B -_080B411C: .4byte gUnknown_2037F02 +_080B4118: .4byte gBattleAnimTarget +_080B411C: .4byte gBattleAnimArgs _080B4120: .4byte sub_8075590 _080B4124: .4byte DestroyAnimSprite thumb_func_end sub_80B407C @@ -37183,7 +37183,7 @@ sub_80B4128: @ 80B4128 lsls r0, 24 cmp r0, 0 beq _080B4144 - ldr r0, _080B4184 @ =gUnknown_2037F02 + ldr r0, _080B4184 @ =gBattleAnimArgs movs r2, 0x4 ldrsh r1, [r0, r2] lsrs r2, r1, 31 @@ -37194,7 +37194,7 @@ _080B4144: adds r0, r5, 0 movs r1, 0x1 bl sub_8075160 - ldr r1, _080B4184 @ =gUnknown_2037F02 + ldr r1, _080B4184 @ =gBattleAnimArgs ldrh r0, [r1, 0x4] strh r0, [r5, 0x2E] ldrh r0, [r5, 0x20] @@ -37205,7 +37205,7 @@ _080B4144: ldrsh r0, [r1, r2] cmp r0, 0 bne _080B418C - ldr r4, _080B4188 @ =gUnknown_2037F1B + ldr r4, _080B4188 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -37220,10 +37220,10 @@ _080B4144: strh r0, [r5, 0x36] b _080B419E .align 2, 0 -_080B4184: .4byte gUnknown_2037F02 -_080B4188: .4byte gUnknown_2037F1B +_080B4184: .4byte gBattleAnimArgs +_080B4188: .4byte gBattleAnimTarget _080B418C: - ldr r0, _080B41B4 @ =gUnknown_2037F1B + ldr r0, _080B41B4 @ =gBattleAnimTarget ldrb r0, [r0] adds r2, r5, 0 adds r2, 0x32 @@ -37234,7 +37234,7 @@ _080B418C: _080B419E: adds r0, r5, 0 bl sub_8075678 - ldr r0, _080B41B8 @ =gUnknown_2037F02 + ldr r0, _080B41B8 @ =gBattleAnimArgs ldrh r0, [r0, 0x6] strh r0, [r5, 0x38] ldr r0, _080B41BC @ =sub_80B41C0 @@ -37243,8 +37243,8 @@ _080B419E: pop {r0} bx r0 .align 2, 0 -_080B41B4: .4byte gUnknown_2037F1B -_080B41B8: .4byte gUnknown_2037F02 +_080B41B4: .4byte gBattleAnimTarget +_080B41B8: .4byte gBattleAnimArgs _080B41BC: .4byte sub_80B41C0 thumb_func_end sub_80B4128 @@ -37283,7 +37283,7 @@ _080B41F2: sub_80B41F8: @ 80B41F8 push {r4,lr} adds r4, r0, 0 - ldr r0, _080B4228 @ =gUnknown_2037F1B + ldr r0, _080B4228 @ =gBattleAnimTarget ldrb r0, [r0] adds r2, r4, 0 adds r2, 0x20 @@ -37291,24 +37291,24 @@ sub_80B41F8: @ 80B41F8 adds r3, 0x22 movs r1, 0 bl sub_8076D9C - ldr r0, _080B422C @ =gUnknown_2037F1A + ldr r0, _080B422C @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080B4234 - ldr r0, _080B4230 @ =gUnknown_2037F02 + ldr r0, _080B4230 @ =gBattleAnimArgs ldrh r1, [r4, 0x20] ldrh r2, [r0] subs r1, r2 strh r1, [r4, 0x20] b _080B4240 .align 2, 0 -_080B4228: .4byte gUnknown_2037F1B -_080B422C: .4byte gUnknown_2037F1A -_080B4230: .4byte gUnknown_2037F02 +_080B4228: .4byte gBattleAnimTarget +_080B422C: .4byte gBattleAnimAttacker +_080B4230: .4byte gBattleAnimArgs _080B4234: - ldr r1, _080B4268 @ =gUnknown_2037F02 + ldr r1, _080B4268 @ =gBattleAnimArgs ldrh r0, [r1] ldrh r2, [r4, 0x20] adds r0, r2 @@ -37319,7 +37319,7 @@ _080B4240: ldrh r1, [r4, 0x22] adds r0, r1 strh r0, [r4, 0x22] - ldr r0, _080B426C @ =gUnknown_2037F1B + ldr r0, _080B426C @ =gBattleAnimTarget ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -37335,8 +37335,8 @@ _080B425C: pop {r0} bx r0 .align 2, 0 -_080B4268: .4byte gUnknown_2037F02 -_080B426C: .4byte gUnknown_2037F1B +_080B4268: .4byte gBattleAnimArgs +_080B426C: .4byte gBattleAnimTarget _080B4270: .4byte sub_80B4274 thumb_func_end sub_80B41F8 @@ -37482,21 +37482,21 @@ sub_80B4364: @ 80B4364 lsls r0, 24 cmp r0, 0 beq _080B4384 - ldr r1, _080B4380 @ =gUnknown_2037F02 + ldr r1, _080B4380 @ =gBattleAnimArgs ldrh r0, [r1, 0x4] negs r0, r0 strh r0, [r1, 0x4] b _080B43A6 .align 2, 0 -_080B4380: .4byte gUnknown_2037F02 +_080B4380: .4byte gBattleAnimArgs _080B4384: - ldr r0, _080B4480 @ =gUnknown_2037F1A + ldr r0, _080B4480 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080B43A6 - ldr r1, _080B4484 @ =gUnknown_2037F02 + ldr r1, _080B4484 @ =gBattleAnimArgs ldrh r0, [r1, 0x4] negs r0, r0 strh r0, [r1, 0x4] @@ -37511,11 +37511,11 @@ _080B43A6: lsls r0, 24 cmp r0, 0 bne _080B43F6 - ldr r0, _080B4480 @ =gUnknown_2037F1A + ldr r0, _080B4480 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide adds r4, r0, 0 - ldr r5, _080B4488 @ =gUnknown_2037F1B + ldr r5, _080B4488 @ =gBattleAnimTarget ldrb r0, [r5] bl GetBattlerSide lsls r4, 24 @@ -37534,7 +37534,7 @@ _080B43A6: cmp r0, 0x1 bne _080B43F6 _080B43E4: - ldr r0, _080B4484 @ =gUnknown_2037F02 + ldr r0, _080B4484 @ =gBattleAnimArgs movs r2, 0x4 ldrsh r1, [r0, r2] negs r1, r1 @@ -37547,13 +37547,13 @@ _080B43F6: adds r0, r7, 0 movs r1, 0x1 bl sub_8075160 - ldr r5, _080B4488 @ =gUnknown_2037F1B + ldr r5, _080B4488 @ =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 bl sub_8074480 adds r4, r0, 0 lsls r4, 24 - ldr r6, _080B4484 @ =gUnknown_2037F02 + ldr r6, _080B4484 @ =gBattleAnimArgs lsrs r4, 24 ldrh r0, [r6, 0x4] adds r4, r0 @@ -37607,9 +37607,9 @@ _080B43F6: pop {r0} bx r0 .align 2, 0 -_080B4480: .4byte gUnknown_2037F1A -_080B4484: .4byte gUnknown_2037F02 -_080B4488: .4byte gUnknown_2037F1B +_080B4480: .4byte gBattleAnimAttacker +_080B4484: .4byte gBattleAnimArgs +_080B4488: .4byte gBattleAnimTarget _080B448C: .4byte sub_8075590 _080B4490: .4byte DestroyAnimSprite thumb_func_end sub_80B4364 @@ -37620,21 +37620,21 @@ sub_80B4494: @ 80B4494 adds r6, r0, 0 movs r1, 0x1 bl sub_8075160 - ldr r0, _080B4500 @ =gUnknown_2037F1A + ldr r0, _080B4500 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080B44B4 - ldr r1, _080B4504 @ =gUnknown_2037F02 + ldr r1, _080B4504 @ =gBattleAnimArgs ldrh r0, [r1, 0x4] negs r0, r0 strh r0, [r1, 0x4] _080B44B4: - ldr r4, _080B4504 @ =gUnknown_2037F02 + ldr r4, _080B4504 @ =gBattleAnimArgs ldrh r0, [r4, 0x8] strh r0, [r6, 0x2E] - ldr r5, _080B4508 @ =gUnknown_2037F1B + ldr r5, _080B4508 @ =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 bl sub_8074480 @@ -37667,9 +37667,9 @@ _080B44B4: pop {r0} bx r0 .align 2, 0 -_080B4500: .4byte gUnknown_2037F1A -_080B4504: .4byte gUnknown_2037F02 -_080B4508: .4byte gUnknown_2037F1B +_080B4500: .4byte gBattleAnimAttacker +_080B4504: .4byte gBattleAnimArgs +_080B4508: .4byte gBattleAnimTarget _080B450C: .4byte sub_80B4510 thumb_func_end sub_80B4494 @@ -37780,18 +37780,18 @@ _080B45CC: sub_80B45D8: @ 80B45D8 push {r4,r5,lr} adds r5, r0, 0 - ldr r0, _080B45EC @ =gUnknown_2037F02 + ldr r0, _080B45EC @ =gBattleAnimArgs movs r1, 0 ldrsh r0, [r0, r1] cmp r0, 0 bne _080B45F4 - ldr r4, _080B45F0 @ =gUnknown_2037F1A + ldr r4, _080B45F0 @ =gBattleAnimAttacker b _080B45F6 .align 2, 0 -_080B45EC: .4byte gUnknown_2037F02 -_080B45F0: .4byte gUnknown_2037F1A +_080B45EC: .4byte gBattleAnimArgs +_080B45F0: .4byte gBattleAnimAttacker _080B45F4: - ldr r4, _080B4628 @ =gUnknown_2037F1B + ldr r4, _080B4628 @ =gBattleAnimTarget _080B45F6: ldrb r0, [r4] movs r1, 0x2 @@ -37815,7 +37815,7 @@ _080B45F6: pop {r0} bx r0 .align 2, 0 -_080B4628: .4byte gUnknown_2037F1B +_080B4628: .4byte gBattleAnimTarget _080B462C: .4byte move_anim_8074EE0 _080B4630: .4byte sub_8074F50 thumb_func_end sub_80B45D8 @@ -37824,12 +37824,12 @@ _080B4630: .4byte sub_8074F50 sub_80B4634: @ 80B4634 push {r4-r6,lr} adds r5, r0, 0 - ldr r6, _080B46A0 @ =gUnknown_2037F02 + ldr r6, _080B46A0 @ =gBattleAnimArgs movs r1, 0x6 ldrsh r0, [r6, r1] cmp r0, 0 beq _080B4654 - ldr r0, _080B46A4 @ =gUnknown_2037F1B + ldr r0, _080B46A4 @ =gBattleAnimTarget ldrb r0, [r0] adds r2, r5, 0 adds r2, 0x20 @@ -37872,8 +37872,8 @@ _080B4654: pop {r0} bx r0 .align 2, 0 -_080B46A0: .4byte gUnknown_2037F02 -_080B46A4: .4byte gUnknown_2037F1B +_080B46A0: .4byte gBattleAnimArgs +_080B46A4: .4byte gBattleAnimTarget _080B46A8: .4byte 0x0000ffba _080B46AC: .4byte sub_80B46B4 _080B46B0: .4byte sub_8074BE4 @@ -37916,12 +37916,12 @@ _080B46F4: .4byte sub_8074BE4 sub_80B46F8: @ 80B46F8 push {r4,r5,lr} adds r5, r0, 0 - ldr r4, _080B4720 @ =gUnknown_2037F02 + ldr r4, _080B4720 @ =gBattleAnimArgs ldrb r1, [r4, 0xA] bl StartSpriteAnim adds r0, r5, 0 bl AnimateSprite - ldr r0, _080B4724 @ =gUnknown_2037F1A + ldr r0, _080B4724 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -37932,15 +37932,15 @@ sub_80B46F8: @ 80B46F8 subs r0, r1 b _080B472E .align 2, 0 -_080B4720: .4byte gUnknown_2037F02 -_080B4724: .4byte gUnknown_2037F1A +_080B4720: .4byte gBattleAnimArgs +_080B4724: .4byte gBattleAnimAttacker _080B4728: ldrh r0, [r4] ldrh r1, [r5, 0x20] adds r0, r1 _080B472E: strh r0, [r5, 0x20] - ldr r3, _080B4770 @ =gUnknown_2037F02 + ldr r3, _080B4770 @ =gBattleAnimArgs ldrh r2, [r3, 0x2] ldrh r0, [r5, 0x22] adds r2, r0 @@ -37970,7 +37970,7 @@ _080B472E: pop {r0} bx r0 .align 2, 0 -_080B4770: .4byte gUnknown_2037F02 +_080B4770: .4byte gBattleAnimArgs _080B4774: .4byte sub_8074D00 _080B4778: .4byte move_anim_8074EE0 thumb_func_end sub_80B46F8 @@ -37979,7 +37979,7 @@ _080B4778: .4byte move_anim_8074EE0 sub_80B477C: @ 80B477C push {r4,lr} adds r4, r0, 0 - ldr r0, _080B4794 @ =gUnknown_2037F02 + ldr r0, _080B4794 @ =gBattleAnimArgs movs r1, 0xC ldrsh r0, [r0, r1] cmp r0, 0 @@ -37989,13 +37989,13 @@ sub_80B477C: @ 80B477C bl sub_8075160 b _080B47A0 .align 2, 0 -_080B4794: .4byte gUnknown_2037F02 +_080B4794: .4byte gBattleAnimArgs _080B4798: adds r0, r4, 0 movs r1, 0 bl sub_8075114 _080B47A0: - ldr r1, _080B47BC @ =gUnknown_2037F02 + ldr r1, _080B47BC @ =gBattleAnimArgs ldrh r0, [r1, 0x6] strh r0, [r4, 0x2E] ldrh r0, [r1, 0x4] @@ -38010,7 +38010,7 @@ _080B47A0: pop {r0} bx r0 .align 2, 0 -_080B47BC: .4byte gUnknown_2037F02 +_080B47BC: .4byte gBattleAnimArgs _080B47C0: .4byte sub_80B47C4 thumb_func_end sub_80B477C @@ -38125,12 +38125,12 @@ _080B4854: movs r3, 0 bl sub_80730C0 _080B48B0: - ldr r0, _080B48FC @ =gUnknown_2037F02 + ldr r0, _080B48FC @ =gBattleAnimArgs movs r1, 0 ldrsh r0, [r0, r1] cmp r0, 0 beq _080B48CA - ldr r0, _080B4900 @ =gUnknown_2037F1A + ldr r0, _080B4900 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -38157,8 +38157,8 @@ _080B48EC: .4byte gBattle_BG1_Y _080B48F0: .4byte gFile_graphics_battle_anims_backgrounds_sandstorm_brew_tilemap _080B48F4: .4byte gFile_graphics_battle_anims_backgrounds_sandstorm_brew_sheet _080B48F8: .4byte gFile_graphics_battle_anims_sprites_261_palette -_080B48FC: .4byte gUnknown_2037F02 -_080B4900: .4byte gUnknown_2037F1A +_080B48FC: .4byte gBattleAnimArgs +_080B4900: .4byte gBattleAnimAttacker _080B4904: .4byte gTasks _080B4908: .4byte sub_80B490C thumb_func_end do_boulder_dust @@ -38371,12 +38371,12 @@ sub_80B4AA8: @ 80B4AA8 ldrsh r0, [r5, r1] cmp r0, 0 bne _080B4B24 - ldr r4, _080B4AEC @ =gUnknown_2037F02 + ldr r4, _080B4AEC @ =gBattleAnimArgs movs r2, 0x6 ldrsh r0, [r4, r2] cmp r0, 0 beq _080B4AF4 - ldr r0, _080B4AF0 @ =gUnknown_2037F1A + ldr r0, _080B4AF0 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -38398,13 +38398,13 @@ sub_80B4AA8: @ 80B4AA8 strb r0, [r5, 0x3] b _080B4AF8 .align 2, 0 -_080B4AEC: .4byte gUnknown_2037F02 -_080B4AF0: .4byte gUnknown_2037F1A +_080B4AEC: .4byte gBattleAnimArgs +_080B4AF0: .4byte gBattleAnimAttacker _080B4AF4: ldr r0, _080B4B18 @ =0x0000ffc0 strh r0, [r5, 0x20] _080B4AF8: - ldr r4, _080B4B1C @ =gUnknown_2037F02 + ldr r4, _080B4B1C @ =gBattleAnimArgs ldrh r0, [r4] strh r0, [r5, 0x22] ldr r1, _080B4B20 @ =gUnknown_83E7470 @@ -38420,7 +38420,7 @@ _080B4AF8: b _080B4B80 .align 2, 0 _080B4B18: .4byte 0x0000ffc0 -_080B4B1C: .4byte gUnknown_2037F02 +_080B4B1C: .4byte gBattleAnimArgs _080B4B20: .4byte gUnknown_83E7470 _080B4B24: ldrh r1, [r5, 0x30] @@ -38483,7 +38483,7 @@ _080B4B88: .4byte DestroyAnimSprite sub_80B4B8C: @ 80B4B8C push {r4,r5,lr} adds r4, r0, 0 - ldr r5, _080B4BC4 @ =gUnknown_2037F02 + ldr r5, _080B4BC4 @ =gBattleAnimArgs ldrb r1, [r5, 0x8] bl StartSpriteAnim adds r0, r4, 0 @@ -38506,7 +38506,7 @@ sub_80B4B8C: @ 80B4B8C pop {r0} bx r0 .align 2, 0 -_080B4BC4: .4byte gUnknown_2037F02 +_080B4BC4: .4byte gBattleAnimArgs _080B4BC8: .4byte sub_8075590 _080B4BCC: .4byte DestroyAnimSprite thumb_func_end sub_80B4B8C @@ -38525,7 +38525,7 @@ sub_80B4BD0: @ 80B4BD0 lsls r1, 3 ldr r0, _080B4C50 @ =gTasks adds r6, r1, r0 - ldr r5, _080B4C54 @ =gUnknown_2037F1A + ldr r5, _080B4C54 @ =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0x2 bl sub_8074480 @@ -38541,7 +38541,7 @@ sub_80B4BD0: @ 80B4BD0 lsls r1, 13 adds r0, r1 lsrs r7, r0, 16 - ldr r4, _080B4C58 @ =gUnknown_2037F1B + ldr r4, _080B4C58 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -38575,8 +38575,8 @@ _080B4C40: b _080B4C62 .align 2, 0 _080B4C50: .4byte gTasks -_080B4C54: .4byte gUnknown_2037F1A -_080B4C58: .4byte gUnknown_2037F1B +_080B4C54: .4byte gBattleAnimAttacker +_080B4C58: .4byte gBattleAnimTarget _080B4C5C: lsls r1, r5, 3 movs r0, 0x30 @@ -39041,7 +39041,7 @@ _080B4FE0: .4byte gUnknown_2037EE4 sub_80B4FE4: @ 80B4FE4 push {r4,r5,lr} adds r4, r0, 0 - ldr r5, _080B501C @ =gUnknown_2037F02 + ldr r5, _080B501C @ =gBattleAnimArgs ldrb r1, [r5, 0x8] bl StartSpriteAnim ldrh r0, [r5] @@ -39067,7 +39067,7 @@ sub_80B4FE4: @ 80B4FE4 pop {r0} bx r0 .align 2, 0 -_080B501C: .4byte gUnknown_2037F02 +_080B501C: .4byte gBattleAnimArgs _080B5020: .4byte sub_80B5024 thumb_func_end sub_80B4FE4 @@ -39119,7 +39119,7 @@ _080B506E: sub_80B5074: @ 80B5074 push {r4,lr} adds r4, r0, 0 - ldr r0, _080B509C @ =gUnknown_2037F1A + ldr r0, _080B509C @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -39136,14 +39136,14 @@ _080B5090: pop {r0} bx r0 .align 2, 0 -_080B509C: .4byte gUnknown_2037F1A +_080B509C: .4byte gBattleAnimAttacker thumb_func_end sub_80B5074 thumb_func_start sub_80B50A0 sub_80B50A0: @ 80B50A0 push {r4,r5,lr} adds r4, r0, 0 - ldr r5, _080B50EC @ =gUnknown_2037F1B + ldr r5, _080B50EC @ =gBattleAnimTarget ldrb r0, [r5] movs r1, 0 bl sub_8074480 @@ -39155,7 +39155,7 @@ sub_80B50A0: @ 80B50A0 bl sub_8074480 lsls r0, 24 lsrs r0, 24 - ldr r2, _080B50F0 @ =gUnknown_2037F02 + ldr r2, _080B50F0 @ =gBattleAnimArgs ldrh r3, [r2] ldrh r5, [r4, 0x20] adds r1, r3, r5 @@ -39176,8 +39176,8 @@ sub_80B50A0: @ 80B50A0 pop {r0} bx r0 .align 2, 0 -_080B50EC: .4byte gUnknown_2037F1B -_080B50F0: .4byte gUnknown_2037F02 +_080B50EC: .4byte gBattleAnimTarget +_080B50F0: .4byte gBattleAnimArgs _080B50F4: .4byte sub_80B50F8 thumb_func_end sub_80B50A0 @@ -39232,7 +39232,7 @@ sub_80B5148: @ 80B5148 ldr r0, [r2] cmp r0, 0x20 bgt _080B515C - ldr r1, _080B5184 @ =gUnknown_2037F02 + ldr r1, _080B5184 @ =gBattleAnimArgs movs r0, 0 strh r0, [r1, 0xE] _080B515C: @@ -39241,13 +39241,13 @@ _080B515C: subs r0, 0x21 cmp r0, 0x20 bhi _080B516C - ldr r1, _080B5184 @ =gUnknown_2037F02 + ldr r1, _080B5184 @ =gBattleAnimArgs movs r0, 0x1 strh r0, [r1, 0xE] _080B516C: cmp r2, 0x41 ble _080B5176 - ldr r1, _080B5184 @ =gUnknown_2037F02 + ldr r1, _080B5184 @ =gBattleAnimArgs movs r0, 0x2 strh r0, [r1, 0xE] _080B5176: @@ -39257,7 +39257,7 @@ _080B5176: bx r0 .align 2, 0 _080B5180: .4byte gUnknown_2037EE8 -_080B5184: .4byte gUnknown_2037F02 +_080B5184: .4byte gBattleAnimArgs thumb_func_end sub_80B5148 thumb_func_start sub_80B5188 @@ -39347,7 +39347,7 @@ _080B5218: ldrh r4, [r4, 0xC] adds r0, r4 strh r0, [r6] - ldr r0, _080B5260 @ =gUnknown_2037F02 + ldr r0, _080B5260 @ =gBattleAnimArgs movs r2, 0xE ldrsh r1, [r0, r2] ldr r0, _080B5264 @ =0x00000fff @@ -39366,7 +39366,7 @@ _080B5250: .align 2, 0 _080B5258: .4byte gTasks _080B525C: .4byte gBattle_BG3_Y -_080B5260: .4byte gUnknown_2037F02 +_080B5260: .4byte gBattleAnimArgs _080B5264: .4byte 0x00000fff thumb_func_end sub_80B51EC @@ -39376,12 +39376,12 @@ sub_80B5268: @ 80B5268 adds r4, r0, 0 movs r1, 0x1 bl sub_8075160 - ldr r0, _080B52C4 @ =gUnknown_2037F02 + ldr r0, _080B52C4 @ =gBattleAnimArgs ldrh r0, [r0, 0x4] strh r0, [r4, 0x2E] ldrh r0, [r4, 0x20] strh r0, [r4, 0x30] - ldr r5, _080B52C8 @ =gUnknown_2037F1B + ldr r5, _080B52C8 @ =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 bl sub_8074480 @@ -39413,8 +39413,8 @@ sub_80B5268: @ 80B5268 pop {r0} bx r0 .align 2, 0 -_080B52C4: .4byte gUnknown_2037F02 -_080B52C8: .4byte gUnknown_2037F1B +_080B52C4: .4byte gBattleAnimArgs +_080B52C8: .4byte gBattleAnimTarget _080B52CC: .4byte sub_80B52D0 thumb_func_end sub_80B5268 @@ -39748,7 +39748,7 @@ sub_80B54E8: @ 80B54E8 movs r2, 0 movs r1, 0x80 strh r1, [r0, 0x8] - ldr r1, _080B5568 @ =gUnknown_2037F02 + ldr r1, _080B5568 @ =gBattleAnimArgs ldrh r1, [r1] strh r1, [r0, 0xA] strh r2, [r0, 0xC] @@ -39762,7 +39762,7 @@ sub_80B54E8: @ 80B54E8 .align 2, 0 _080B5560: .4byte gSprites _080B5564: .4byte gTasks -_080B5568: .4byte gUnknown_2037F02 +_080B5568: .4byte gBattleAnimArgs _080B556C: .4byte sub_80B5570 thumb_func_end sub_80B54E8 @@ -39879,7 +39879,7 @@ sub_80B563C: @ 80B563C adds r4, r0, 0 ldrh r5, [r4, 0x20] ldrh r6, [r4, 0x22] - ldr r0, _080B56D8 @ =gUnknown_2037F1A + ldr r0, _080B56D8 @ =gBattleAnimAttacker mov r8, r0 ldrb r0, [r0] movs r1, 0x2 @@ -39898,7 +39898,7 @@ sub_80B563C: @ 80B563C strh r0, [r4, 0x22] mov r1, r9 strh r1, [r4, 0x2E] - ldr r2, _080B56DC @ =gUnknown_2037F02 + ldr r2, _080B56DC @ =gBattleAnimArgs ldrh r1, [r2] strh r1, [r4, 0x30] ldrh r1, [r2, 0x2] @@ -39946,8 +39946,8 @@ sub_80B563C: @ 80B563C pop {r0} bx r0 .align 2, 0 -_080B56D8: .4byte gUnknown_2037F1A -_080B56DC: .4byte gUnknown_2037F02 +_080B56D8: .4byte gBattleAnimAttacker +_080B56DC: .4byte gBattleAnimArgs _080B56E0: .4byte sub_80B56E4 thumb_func_end sub_80B563C @@ -39999,7 +39999,7 @@ _080B572E: lsls r0, 16 cmp r0, 0 bgt _080B57F2 - ldr r4, _080B5794 @ =gUnknown_2037F1B + ldr r4, _080B5794 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -40040,7 +40040,7 @@ _080B572E: strh r0, [r5, 0x3C] b _080B57DE .align 2, 0 -_080B5794: .4byte gUnknown_2037F1B +_080B5794: .4byte gBattleAnimTarget _080B5798: ldrh r0, [r5, 0x3A] ldrh r1, [r5, 0x36] @@ -40062,7 +40062,7 @@ _080B5798: lsls r0, 16 cmp r0, 0 bgt _080B57F2 - ldr r4, _080B57E8 @ =gUnknown_2037F1B + ldr r4, _080B57E8 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -40081,7 +40081,7 @@ _080B57DE: strh r0, [r5, 0x2E] b _080B57F2 .align 2, 0 -_080B57E8: .4byte gUnknown_2037F1B +_080B57E8: .4byte gBattleAnimTarget _080B57EC: adds r0, r5, 0 bl move_anim_8074EE0 @@ -40246,7 +40246,7 @@ _080B58DC: adds r0, r4 movs r1, 0x50 strh r1, [r0, 0x2E] - ldr r0, _080B5948 @ =gUnknown_2037F1B + ldr r0, _080B5948 @ =gBattleAnimTarget ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -40270,7 +40270,7 @@ _080B58DC: b _080B596E .align 2, 0 _080B5944: .4byte gSprites -_080B5948: .4byte gUnknown_2037F1B +_080B5948: .4byte gBattleAnimTarget _080B594C: .4byte 0x0000ff70 _080B5950: movs r0, 0x8 @@ -40483,7 +40483,7 @@ sub_80B5AD4: @ 80B5AD4 lsls r0, 3 ldr r1, _080B5B0C @ =gTasks adds r5, r0, r1 - ldr r0, _080B5B10 @ =gUnknown_2037F1B + ldr r0, _080B5B10 @ =gBattleAnimTarget ldrb r0, [r0] bl sub_80768B0 lsls r0, 24 @@ -40501,7 +40501,7 @@ _080B5B00: mov pc, r0 .align 2, 0 _080B5B0C: .4byte gTasks -_080B5B10: .4byte gUnknown_2037F1B +_080B5B10: .4byte gBattleAnimTarget _080B5B14: .4byte _080B5B18 .align 2, 0 _080B5B18: @@ -40581,7 +40581,7 @@ _080B5B68: adds r2, r4 ldr r0, _080B5C18 @ =gUnknown_2024018 ldr r1, [r0] - ldr r0, _080B5C1C @ =gUnknown_2037F1B + ldr r0, _080B5C1C @ =gBattleAnimTarget ldrb r0, [r0] ldr r1, [r1] lsls r0, 2 @@ -40626,7 +40626,7 @@ _080B5B68: .align 2, 0 _080B5C14: .4byte gSprites _080B5C18: .4byte gUnknown_2024018 -_080B5C1C: .4byte gUnknown_2037F1B +_080B5C1C: .4byte gBattleAnimTarget _080B5C20: movs r1, 0x80 lsls r1, 3 @@ -40855,7 +40855,7 @@ sub_80B5DCC: @ 80B5DCC lsls r0, 3 ldr r1, _080B5DFC @ =gTasks adds r4, r0, r1 - ldr r0, _080B5E00 @ =gUnknown_2037F1B + ldr r0, _080B5E00 @ =gBattleAnimTarget ldrb r0, [r0] bl sub_80768B0 lsls r0, 24 @@ -40871,7 +40871,7 @@ sub_80B5DCC: @ 80B5DCC b _080B5EB4 .align 2, 0 _080B5DFC: .4byte gTasks -_080B5E00: .4byte gUnknown_2037F1B +_080B5E00: .4byte gBattleAnimTarget _080B5E04: cmp r0, 0x2 beq _080B5E4C @@ -40971,12 +40971,12 @@ sub_80B5EC0: @ 80B5EC0 mov r5, r8 push {r5-r7} adds r7, r0, 0 - ldr r0, _080B5EFC @ =gUnknown_2037F02 + ldr r0, _080B5EFC @ =gBattleAnimArgs movs r1, 0 ldrsh r0, [r0, r1] cmp r0, 0 bne _080B5F08 - ldr r4, _080B5F00 @ =gUnknown_2037F1A + ldr r4, _080B5F00 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0 bl sub_8074480 @@ -40991,14 +40991,14 @@ sub_80B5EC0: @ 80B5EC0 lsls r2, 13 adds r0, r2 lsrs r5, r0, 16 - ldr r4, _080B5F04 @ =gUnknown_2037F1B + ldr r4, _080B5F04 @ =gBattleAnimTarget b _080B5F2C .align 2, 0 -_080B5EFC: .4byte gUnknown_2037F02 -_080B5F00: .4byte gUnknown_2037F1A -_080B5F04: .4byte gUnknown_2037F1B +_080B5EFC: .4byte gBattleAnimArgs +_080B5F00: .4byte gBattleAnimAttacker +_080B5F04: .4byte gBattleAnimTarget _080B5F08: - ldr r4, _080B5FD0 @ =gUnknown_2037F1B + ldr r4, _080B5FD0 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0 bl sub_8074480 @@ -41013,7 +41013,7 @@ _080B5F08: lsls r2, 13 adds r0, r2 lsrs r5, r0, 16 - ldr r4, _080B5FD4 @ =gUnknown_2037F1A + ldr r4, _080B5FD4 @ =gBattleAnimAttacker _080B5F2C: ldrb r0, [r4] movs r1, 0 @@ -41043,7 +41043,7 @@ _080B5F2C: mov r1, r10 subs r0, r1, r6 lsls r0, 4 - ldr r5, _080B5FD8 @ =gUnknown_2037F02 + ldr r5, _080B5FD8 @ =gBattleAnimArgs movs r2, 0x2 ldrsh r1, [r5, r2] bl __divsi3 @@ -41093,9 +41093,9 @@ _080B5F2C: pop {r0} bx r0 .align 2, 0 -_080B5FD0: .4byte gUnknown_2037F1B -_080B5FD4: .4byte gUnknown_2037F1A -_080B5FD8: .4byte gUnknown_2037F02 +_080B5FD0: .4byte gBattleAnimTarget +_080B5FD4: .4byte gBattleAnimAttacker +_080B5FD8: .4byte gBattleAnimArgs _080B5FDC: .4byte sub_80B5FE0 thumb_func_end sub_80B5EC0 @@ -41167,10 +41167,10 @@ sub_80B6020: @ 80B6020 strh r0, [r1, 0x18] movs r0, 0x10 strh r0, [r1, 0x1A] - ldr r2, _080B6174 @ =gUnknown_2037F02 + ldr r2, _080B6174 @ =gBattleAnimArgs ldrh r0, [r2] strh r0, [r1, 0x1C] - ldr r4, _080B6178 @ =gUnknown_2037F1A + ldr r4, _080B6178 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -41193,7 +41193,7 @@ _080B6090: _080B6092: lsls r1, r4, 16 asrs r3, r1, 16 - ldr r0, _080B6178 @ =gUnknown_2037F1A + ldr r0, _080B6178 @ =gBattleAnimAttacker ldrb r2, [r0] str r1, [sp, 0x10] cmp r3, r2 @@ -41248,7 +41248,7 @@ _080B6092: mov r2, r10 subs r0, r2, r6 lsls r0, 4 - ldr r3, _080B6174 @ =gUnknown_2037F02 + ldr r3, _080B6174 @ =gBattleAnimArgs movs r2, 0x2 ldrsh r1, [r3, r2] bl __divsi3 @@ -41258,12 +41258,12 @@ _080B6092: asrs r0, 16 subs r0, r7 lsls r0, 4 - ldr r2, _080B6174 @ =gUnknown_2037F02 + ldr r2, _080B6174 @ =gBattleAnimArgs movs r3, 0x2 ldrsh r1, [r2, r3] bl __divsi3 strh r0, [r4, 0x34] - ldr r1, _080B6174 @ =gUnknown_2037F02 + ldr r1, _080B6174 @ =gBattleAnimArgs ldrh r0, [r1, 0x2] strh r0, [r4, 0x36] mov r2, r10 @@ -41299,8 +41299,8 @@ _080B615E: b _080B6210 .align 2, 0 _080B6170: .4byte gTasks -_080B6174: .4byte gUnknown_2037F02 -_080B6178: .4byte gUnknown_2037F1A +_080B6174: .4byte gBattleAnimArgs +_080B6178: .4byte gBattleAnimAttacker _080B617C: .4byte gUnknown_83E7668 _080B6180: .4byte gSprites _080B6184: .4byte gSprites + 0x1C @@ -41338,7 +41338,7 @@ _080B618C: strh r0, [r4, 0x30] subs r0, r3, r7 lsls r0, 4 - ldr r3, _080B6230 @ =gUnknown_2037F02 + ldr r3, _080B6230 @ =gBattleAnimArgs movs r2, 0x2 ldrsh r1, [r3, r2] bl __divsi3 @@ -41347,12 +41347,12 @@ _080B618C: ldr r1, [sp, 0xC] subs r0, r3, r1 lsls r0, 4 - ldr r2, _080B6230 @ =gUnknown_2037F02 + ldr r2, _080B6230 @ =gBattleAnimArgs movs r3, 0x2 ldrsh r1, [r2, r3] bl __divsi3 strh r0, [r4, 0x34] - ldr r1, _080B6230 @ =gUnknown_2037F02 + ldr r1, _080B6230 @ =gBattleAnimArgs ldrh r0, [r1, 0x2] strh r0, [r4, 0x36] mov r2, r10 @@ -41384,7 +41384,7 @@ _080B6210: .align 2, 0 _080B6228: .4byte gUnknown_83E7668 _080B622C: .4byte gSprites -_080B6230: .4byte gUnknown_2037F02 +_080B6230: .4byte gBattleAnimArgs _080B6234: .4byte sub_80B5FE0 _080B6238: .4byte sub_80B623C thumb_func_end sub_80B6020 @@ -41612,7 +41612,7 @@ sub_80B63B4: @ 80B63B4 movs r0, 0x54 movs r1, 0x10 bl SetGpuReg - ldr r0, _080B6410 @ =gUnknown_2037F1A + ldr r0, _080B6410 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -41630,7 +41630,7 @@ _080B6400: .4byte gUnknown_2022984 _080B6404: .4byte gUnknown_2022986 _080B6408: .4byte 0x00003f3f _080B640C: .4byte 0x00003f1f -_080B6410: .4byte gUnknown_2037F1A +_080B6410: .4byte gBattleAnimAttacker _080B6414: movs r6, 0xC8 _080B6416: @@ -41895,7 +41895,7 @@ sub_80B664C: @ 80B664C adds r4, r0, 0 movs r1, 0x1 bl sub_8075160 - ldr r0, _080B6678 @ =gUnknown_2037F1A + ldr r0, _080B6678 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -41912,7 +41912,7 @@ sub_80B664C: @ 80B664C strb r1, [r4, 0x3] b _080B6684 .align 2, 0 -_080B6678: .4byte gUnknown_2037F1A +_080B6678: .4byte gBattleAnimAttacker _080B667C: .4byte 0x0000fffe _080B6680: ldr r2, _080B66A0 @ =0x0000ffe8 @@ -42101,7 +42101,7 @@ sub_80B67D4: @ 80B67D4 movs r1, 0xC bl Sin strh r0, [r5, 0x24] - ldr r0, _080B683C @ =gUnknown_2037F1A + ldr r0, _080B683C @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -42144,7 +42144,7 @@ _080B67F8: bl SetGpuReg b _080B689C .align 2, 0 -_080B683C: .4byte gUnknown_2037F1A +_080B683C: .4byte gBattleAnimAttacker _080B6840: .4byte 0x0000050b _080B6844: cmp r0, 0x1E @@ -42235,7 +42235,7 @@ sub_80B68C8: @ 80B68C8 mov r8, r0 mov r0, r8 strh r0, [r4, 0xA] - ldr r5, _080B6964 @ =gUnknown_2037F1A + ldr r5, _080B6964 @ =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0x2 bl sub_8074480 @@ -42290,7 +42290,7 @@ sub_80B68C8: @ 80B68C8 bx r0 .align 2, 0 _080B6960: .4byte gTasks -_080B6964: .4byte gUnknown_2037F1A +_080B6964: .4byte gBattleAnimAttacker _080B6968: .4byte sub_80B696C thumb_func_end sub_80B68C8 @@ -42346,7 +42346,7 @@ _080B69B2: lsls r0, 2 adds r5, r0, r1 strh r7, [r5, 0x2E] - ldr r0, _080B6A1C @ =gUnknown_2037F1A + ldr r0, _080B6A1C @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide movs r1, 0 @@ -42380,7 +42380,7 @@ _080B6A06: .align 2, 0 _080B6A14: .4byte gUnknown_83E76E0 _080B6A18: .4byte gSprites -_080B6A1C: .4byte gUnknown_2037F1A +_080B6A1C: .4byte gBattleAnimAttacker _080B6A20: ldrh r0, [r4, 0xA] adds r0, 0x1 @@ -42636,7 +42636,7 @@ sub_80B6BE4: @ 80B6BE4 lsls r1, 3 ldr r0, _080B6C18 @ =gTasks adds r6, r1, r0 - ldr r0, _080B6C1C @ =gUnknown_2037F1A + ldr r0, _080B6C1C @ =gBattleAnimAttacker ldrb r0, [r0] bl sub_80768B0 lsls r0, 24 @@ -42654,7 +42654,7 @@ _080B6C0C: mov pc, r0 .align 2, 0 _080B6C18: .4byte gTasks -_080B6C1C: .4byte gUnknown_2037F1A +_080B6C1C: .4byte gBattleAnimAttacker _080B6C20: .4byte _080B6C24 .align 2, 0 _080B6C24: @@ -43295,7 +43295,7 @@ sub_80B7158: @ 80B7158 orrs r1, r2 strb r1, [r3] ldr r2, _080B719C @ =gUnknown_2023D44 - ldr r1, _080B71A0 @ =gUnknown_2037F1A + ldr r1, _080B71A0 @ =gBattleAnimAttacker ldrb r1, [r1] adds r1, r2 ldrb r1, [r1] @@ -43304,7 +43304,7 @@ sub_80B7158: @ 80B7158 strh r1, [r0, 0x2E] movs r1, 0xA strh r1, [r0, 0x30] - ldr r2, _080B71A4 @ =gUnknown_2037F02 + ldr r2, _080B71A4 @ =gBattleAnimArgs ldrh r1, [r2] strh r1, [r0, 0x32] ldrh r1, [r2, 0x2] @@ -43324,8 +43324,8 @@ sub_80B7158: @ 80B7158 bx lr .align 2, 0 _080B719C: .4byte gUnknown_2023D44 -_080B71A0: .4byte gUnknown_2037F1A -_080B71A4: .4byte gUnknown_2037F02 +_080B71A0: .4byte gBattleAnimAttacker +_080B71A4: .4byte gBattleAnimArgs _080B71A8: .4byte sub_80B71B0 _080B71AC: .4byte gSprites thumb_func_end sub_80B7158 @@ -43421,7 +43421,7 @@ _080B7258: .4byte move_anim_8074EE0 sub_80B725C: @ 80B725C push {r4,r5,lr} adds r5, r0, 0 - ldr r4, _080B72A4 @ =gUnknown_2037F1A + ldr r4, _080B72A4 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -43439,7 +43439,7 @@ sub_80B725C: @ 80B725C lsls r0, 24 cmp r0, 0 beq _080B72AC - ldr r2, _080B72A8 @ =gUnknown_2037F02 + ldr r2, _080B72A8 @ =gBattleAnimArgs ldrh r0, [r5, 0x20] ldrh r1, [r2] subs r0, r1 @@ -43453,10 +43453,10 @@ sub_80B725C: @ 80B725C adds r1, r2, 0 b _080B72B6 .align 2, 0 -_080B72A4: .4byte gUnknown_2037F1A -_080B72A8: .4byte gUnknown_2037F02 +_080B72A4: .4byte gBattleAnimAttacker +_080B72A8: .4byte gBattleAnimArgs _080B72AC: - ldr r1, _080B72EC @ =gUnknown_2037F02 + ldr r1, _080B72EC @ =gBattleAnimArgs ldrh r0, [r1] ldrh r2, [r5, 0x20] adds r0, r2 @@ -43489,7 +43489,7 @@ _080B72B6: pop {r0} bx r0 .align 2, 0 -_080B72EC: .4byte gUnknown_2037F02 +_080B72EC: .4byte gBattleAnimArgs _080B72F0: .4byte move_anim_8074EE0 _080B72F4: .4byte sub_8074E70 thumb_func_end sub_80B725C @@ -43499,7 +43499,7 @@ sub_80B72F8: @ 80B72F8 push {r4,r5,lr} adds r5, r0, 0 bl sub_8074FCC - ldr r4, _080B7350 @ =gUnknown_2037F1B + ldr r4, _080B7350 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -43512,13 +43512,13 @@ sub_80B72F8: @ 80B72F8 lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x36] - ldr r0, _080B7354 @ =gUnknown_2037F1A + ldr r0, _080B7354 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080B735C - ldr r2, _080B7358 @ =gUnknown_2037F02 + ldr r2, _080B7358 @ =gBattleAnimArgs ldrh r0, [r5, 0x20] ldrh r1, [r2, 0x2] subs r0, r1 @@ -43536,11 +43536,11 @@ sub_80B72F8: @ 80B72F8 strh r0, [r5, 0x36] b _080B7386 .align 2, 0 -_080B7350: .4byte gUnknown_2037F1B -_080B7354: .4byte gUnknown_2037F1A -_080B7358: .4byte gUnknown_2037F02 +_080B7350: .4byte gBattleAnimTarget +_080B7354: .4byte gBattleAnimAttacker +_080B7358: .4byte gBattleAnimArgs _080B735C: - ldr r1, _080B73A0 @ =gUnknown_2037F02 + ldr r1, _080B73A0 @ =gBattleAnimArgs ldrh r0, [r1] ldrh r2, [r5, 0x20] adds r0, r2 @@ -43561,7 +43561,7 @@ _080B735C: movs r1, 0x1 bl StartSpriteAnim _080B7386: - ldr r0, _080B73A0 @ =gUnknown_2037F02 + ldr r0, _080B73A0 @ =gBattleAnimArgs ldrh r0, [r0, 0x8] strh r0, [r5, 0x2E] ldr r0, _080B73A4 @ =sub_8075590 @@ -43573,7 +43573,7 @@ _080B7386: pop {r0} bx r0 .align 2, 0 -_080B73A0: .4byte gUnknown_2037F02 +_080B73A0: .4byte gBattleAnimArgs _080B73A4: .4byte sub_8075590 _080B73A8: .4byte move_anim_8074EE0 thumb_func_end sub_80B72F8 @@ -43582,18 +43582,18 @@ _080B73A8: .4byte move_anim_8074EE0 sub_80B73AC: @ 80B73AC push {r4,r5,lr} adds r5, r0, 0 - ldr r0, _080B73C0 @ =gUnknown_2037F02 + ldr r0, _080B73C0 @ =gBattleAnimArgs movs r1, 0 ldrsh r0, [r0, r1] cmp r0, 0 bne _080B73C8 - ldr r4, _080B73C4 @ =gUnknown_2037F1A + ldr r4, _080B73C4 @ =gBattleAnimAttacker b _080B73CA .align 2, 0 -_080B73C0: .4byte gUnknown_2037F02 -_080B73C4: .4byte gUnknown_2037F1A +_080B73C0: .4byte gBattleAnimArgs +_080B73C4: .4byte gBattleAnimAttacker _080B73C8: - ldr r4, _080B740C @ =gUnknown_2037F1B + ldr r4, _080B740C @ =gBattleAnimTarget _080B73CA: ldrb r0, [r4] movs r1, 0 @@ -43607,7 +43607,7 @@ _080B73CA: lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] - ldr r4, _080B7410 @ =gUnknown_2037F02 + ldr r4, _080B7410 @ =gBattleAnimArgs movs r0, 0x2 ldrsh r1, [r4, r0] adds r0, r5, 0 @@ -43625,8 +43625,8 @@ _080B73CA: pop {r0} bx r0 .align 2, 0 -_080B740C: .4byte gUnknown_2037F1B -_080B7410: .4byte gUnknown_2037F02 +_080B740C: .4byte gBattleAnimTarget +_080B7410: .4byte gBattleAnimArgs _080B7414: .4byte sub_8074F6C _080B7418: .4byte move_anim_8074EE0 thumb_func_end sub_80B73AC @@ -43635,7 +43635,7 @@ _080B7418: .4byte move_anim_8074EE0 sub_80B741C: @ 80B741C push {r4,lr} adds r4, r0, 0 - ldr r0, _080B7444 @ =gUnknown_2037F1A + ldr r0, _080B7444 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -43651,14 +43651,14 @@ _080B7436: pop {r0} bx r0 .align 2, 0 -_080B7444: .4byte gUnknown_2037F1A +_080B7444: .4byte gBattleAnimAttacker thumb_func_end sub_80B741C thumb_func_start sub_80B7448 sub_80B7448: @ 80B7448 push {r4-r7,lr} adds r6, r0, 0 - ldr r4, _080B749C @ =gUnknown_2037F1A + ldr r4, _080B749C @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -43675,7 +43675,7 @@ sub_80B7448: @ 80B7448 strh r5, [r6, 0x36] movs r0, 0x1 strh r0, [r6, 0x38] - ldr r0, _080B74A0 @ =gUnknown_2037F02 + ldr r0, _080B74A0 @ =gBattleAnimArgs ldrh r0, [r0] strh r0, [r6, 0x3A] ldr r4, _080B74A4 @ =sBattler_AI @@ -43694,8 +43694,8 @@ sub_80B7448: @ 80B7448 lsrs r0, r7, 17 b _080B74AA .align 2, 0 -_080B749C: .4byte gUnknown_2037F1A -_080B74A0: .4byte gUnknown_2037F02 +_080B749C: .4byte gBattleAnimAttacker +_080B74A0: .4byte gBattleAnimArgs _080B74A4: .4byte sBattler_AI _080B74A8: lsrs r0, r1, 17 @@ -43870,7 +43870,7 @@ sub_80B75E0: @ 80B75E0 lsls r1, 3 ldr r0, _080B760C @ =gTasks adds r4, r1, r0 - ldr r0, _080B7610 @ =gUnknown_2037F1A + ldr r0, _080B7610 @ =gBattleAnimAttacker ldrb r0, [r0] bl sub_80768B0 lsls r0, 24 @@ -43883,7 +43883,7 @@ sub_80B75E0: @ 80B75E0 b _080B7622 .align 2, 0 _080B760C: .4byte gTasks -_080B7610: .4byte gUnknown_2037F1A +_080B7610: .4byte gBattleAnimAttacker _080B7614: .4byte 0x04000014 _080B7618: .4byte gBattle_BG1_X _080B761C: @@ -43901,7 +43901,7 @@ _080B7622: strb r0, [r1, 0x8] mov r0, sp strb r5, [r0, 0x9] - ldr r0, _080B76A4 @ =gUnknown_2037F1A + ldr r0, _080B76A4 @ =gBattleAnimAttacker ldrb r0, [r0] bl sub_807492C lsls r0, 24 @@ -43954,7 +43954,7 @@ _080B7680: _080B7698: .4byte 0x04000018 _080B769C: .4byte gBattle_BG2_X _080B76A0: .4byte 0xa2600001 -_080B76A4: .4byte gUnknown_2037F1A +_080B76A4: .4byte gBattleAnimAttacker _080B76A8: .4byte gScanlineEffectRegBuffers _080B76AC: .4byte sub_80B76B0 thumb_func_end sub_80B75E0 @@ -44126,7 +44126,7 @@ sub_80B77E4: @ 80B77E4 mov r6, r8 push {r6} adds r4, r0, 0 - ldr r5, _080B7884 @ =gUnknown_2037F02 + ldr r5, _080B7884 @ =gBattleAnimArgs movs r0, 0x4 ldrsh r1, [r5, r0] lsls r0, r1, 1 @@ -44134,7 +44134,7 @@ sub_80B77E4: @ 80B77E4 movs r1, 0x5 bl __divsi3 adds r6, r0, 0 - ldr r1, _080B7888 @ =gUnknown_2037F1A + ldr r1, _080B7888 @ =gBattleAnimAttacker mov r8, r1 ldrb r0, [r1] movs r1, 0x2 @@ -44199,8 +44199,8 @@ _080B786C: pop {r0} bx r0 .align 2, 0 -_080B7884: .4byte gUnknown_2037F02 -_080B7888: .4byte gUnknown_2037F1A +_080B7884: .4byte gBattleAnimArgs +_080B7888: .4byte gBattleAnimAttacker _080B788C: .4byte sub_80B7894 _080B7890: .4byte gUnknown_20399A4 thumb_func_end sub_80B77E4 @@ -44254,10 +44254,10 @@ sub_80B78E0: @ 80B78E0 adds r0, r5 lsls r0, 3 adds r0, r1 - ldr r1, _080B7920 @ =gUnknown_2037F02 + ldr r1, _080B7920 @ =gBattleAnimArgs ldrh r1, [r1] strh r1, [r0, 0x8] - ldr r1, _080B7924 @ =gUnknown_2037F1A + ldr r1, _080B7924 @ =gBattleAnimAttacker ldrb r4, [r1] movs r1, 0x10 strh r1, [r0, 0xA] @@ -44275,8 +44275,8 @@ sub_80B78E0: @ 80B78E0 b _080B7934 .align 2, 0 _080B791C: .4byte gTasks -_080B7920: .4byte gUnknown_2037F02 -_080B7924: .4byte gUnknown_2037F1A +_080B7920: .4byte gBattleAnimArgs +_080B7924: .4byte gBattleAnimAttacker _080B7928: .4byte 0x00003f42 _080B792C: ldr r1, _080B7948 @ =0x00003f44 @@ -44336,7 +44336,7 @@ sub_80B7954: @ 80B7954 bne _080B79D6 ldr r2, _080B79C4 @ =gSprites ldr r1, _080B79C8 @ =gUnknown_2023D44 - ldr r0, _080B79CC @ =gUnknown_2037F1A + ldr r0, _080B79CC @ =gBattleAnimAttacker ldrb r0, [r0] adds r0, r1 ldrb r1, [r0] @@ -44356,7 +44356,7 @@ sub_80B7954: @ 80B7954 _080B79C0: .4byte gTasks _080B79C4: .4byte gSprites _080B79C8: .4byte gUnknown_2023D44 -_080B79CC: .4byte gUnknown_2037F1A +_080B79CC: .4byte gBattleAnimAttacker _080B79D0: ldrh r0, [r6, 0xC] adds r0, 0x1 @@ -44377,7 +44377,7 @@ sub_80B79DC: @ 80B79DC adds r2, r0 lsls r2, 3 adds r2, r1 - ldr r0, _080B7A0C @ =gUnknown_2037F02 + ldr r0, _080B7A0C @ =gBattleAnimArgs ldrh r0, [r0] strh r0, [r2, 0x8] movs r1, 0x80 @@ -44391,7 +44391,7 @@ sub_80B79DC: @ 80B79DC bx r0 .align 2, 0 _080B7A08: .4byte gTasks -_080B7A0C: .4byte gUnknown_2037F02 +_080B7A0C: .4byte gBattleAnimArgs _080B7A10: .4byte sub_80B7A14 thumb_func_end sub_80B79DC @@ -44460,7 +44460,7 @@ sub_80B7A80: @ 80B7A80 lsls r1, 5 movs r0, 0x52 bl SetGpuReg - ldr r0, _080B7AAC @ =gUnknown_2037F1A + ldr r0, _080B7AAC @ =gBattleAnimAttacker ldrb r0, [r0] bl sub_80768B0 lsls r0, 24 @@ -44472,7 +44472,7 @@ sub_80B7A80: @ 80B7A80 bl SetGpuReg b _080B7ABC .align 2, 0 -_080B7AAC: .4byte gUnknown_2037F1A +_080B7AAC: .4byte gBattleAnimAttacker _080B7AB0: .4byte 0x00003f42 _080B7AB4: ldr r1, _080B7AC8 @ =0x00003f44 @@ -44492,14 +44492,14 @@ _080B7AC8: .4byte 0x00003f44 sub_80B7ACC: @ 80B7ACC push {r4-r6,lr} adds r4, r0, 0 - ldr r6, _080B7B38 @ =gUnknown_2037F1B + ldr r6, _080B7B38 @ =gBattleAnimTarget ldrb r0, [r6] movs r1, 0x2 bl sub_8074480 lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x30] - ldr r5, _080B7B3C @ =gUnknown_2037F1A + ldr r5, _080B7B3C @ =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0x2 bl sub_8074480 @@ -44538,8 +44538,8 @@ sub_80B7ACC: @ 80B7ACC pop {r0} bx r0 .align 2, 0 -_080B7B38: .4byte gUnknown_2037F1B -_080B7B3C: .4byte gUnknown_2037F1A +_080B7B38: .4byte gBattleAnimTarget +_080B7B3C: .4byte gBattleAnimAttacker _080B7B40: .4byte 0x0000ffd8 _080B7B44: .4byte sub_80B7B48 thumb_func_end sub_80B7ACC @@ -44622,7 +44622,7 @@ _080B7BCC: sub_80B7BD4: @ 80B7BD4 push {r4,r5,lr} adds r4, r0, 0 - ldr r5, _080B7C08 @ =gUnknown_2037F02 + ldr r5, _080B7C08 @ =gBattleAnimArgs ldrh r0, [r5] ldrh r1, [r4, 0x20] adds r0, r1 @@ -44646,7 +44646,7 @@ sub_80B7BD4: @ 80B7BD4 pop {r0} bx r0 .align 2, 0 -_080B7C08: .4byte gUnknown_2037F02 +_080B7C08: .4byte gBattleAnimArgs _080B7C0C: .4byte sub_80B7C10 thumb_func_end sub_80B7BD4 @@ -44721,19 +44721,19 @@ _080B7C82: sub_80B7C88: @ 80B7C88 push {r4-r7,lr} adds r4, r0, 0 - ldr r0, _080B7C9C @ =gUnknown_2037F02 + ldr r0, _080B7C9C @ =gBattleAnimArgs movs r2, 0 ldrsh r1, [r0, r2] adds r3, r0, 0 cmp r1, 0 bne _080B7CA4 - ldr r0, _080B7CA0 @ =gUnknown_2037F1A + ldr r0, _080B7CA0 @ =gBattleAnimAttacker b _080B7CA6 .align 2, 0 -_080B7C9C: .4byte gUnknown_2037F02 -_080B7CA0: .4byte gUnknown_2037F1A +_080B7C9C: .4byte gBattleAnimArgs +_080B7CA0: .4byte gBattleAnimAttacker _080B7CA4: - ldr r0, _080B7CD4 @ =gUnknown_2037F1B + ldr r0, _080B7CD4 @ =gBattleAnimTarget _080B7CA6: ldrb r5, [r0] movs r6, 0x14 @@ -44758,7 +44758,7 @@ _080B7CA6: beq _080B7CEA b _080B7D58 .align 2, 0 -_080B7CD4: .4byte gUnknown_2037F1B +_080B7CD4: .4byte gBattleAnimTarget _080B7CD8: .4byte 0x000003ff _080B7CDC: .4byte 0xfffffc00 _080B7CE0: @@ -44870,7 +44870,7 @@ sub_80B7DA4: @ 80B7DA4 lsls r1, 3 ldr r0, _080B7E08 @ =gTasks adds r5, r1, r0 - ldr r4, _080B7E0C @ =gUnknown_2037F1A + ldr r4, _080B7E0C @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x1 bl sub_8074480 @@ -44909,13 +44909,13 @@ sub_80B7DA4: @ 80B7DA4 b _080B7E16 .align 2, 0 _080B7E08: .4byte gTasks -_080B7E0C: .4byte gUnknown_2037F1A +_080B7E0C: .4byte gBattleAnimAttacker _080B7E10: .4byte 0x0000fff4 _080B7E14: ldr r0, _080B7E60 @ =0x0000ffc0 _080B7E16: strh r0, [r5, 0x18] - ldr r0, _080B7E64 @ =gUnknown_2037F1A + ldr r0, _080B7E64 @ =gBattleAnimAttacker ldrb r0, [r0] bl sub_80768B0 lsls r0, 24 @@ -44948,7 +44948,7 @@ _080B7E16: b _080B7EA2 .align 2, 0 _080B7E60: .4byte 0x0000ffc0 -_080B7E64: .4byte gUnknown_2037F1A +_080B7E64: .4byte gBattleAnimAttacker _080B7E68: .4byte gBattle_BG1_Y _080B7E6C: .4byte 0x00003f42 _080B7E70: .4byte 0x04000016 @@ -45259,7 +45259,7 @@ _080B80E4: .4byte gUnknown_2022984 _080B80E8: .4byte gUnknown_2022986 _080B80EC: .4byte 0x00003f3f _080B80F0: - ldr r0, _080B8110 @ =gUnknown_2037F1B + ldr r0, _080B8110 @ =gBattleAnimTarget ldrb r0, [r0] bl sub_80768B0 lsls r0, 24 @@ -45273,7 +45273,7 @@ _080B80F0: ldr r1, _080B8118 @ =gBattle_BG2_X b _080B8126 .align 2, 0 -_080B8110: .4byte gUnknown_2037F1B +_080B8110: .4byte gBattleAnimTarget _080B8114: .4byte 0x00003f42 _080B8118: .4byte gBattle_BG2_X _080B811C: @@ -45323,7 +45323,7 @@ _080B8170: .align 2, 0 _080B8178: .4byte gBattle_BG2_Y _080B817C: - ldr r4, _080B81C8 @ =gUnknown_2037F1B + ldr r4, _080B81C8 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x1 bl sub_8074480 @@ -45358,7 +45358,7 @@ _080B817C: ldr r0, _080B81CC @ =0x0000fff4 b _080B81D2 .align 2, 0 -_080B81C8: .4byte gUnknown_2037F1B +_080B81C8: .4byte gBattleAnimTarget _080B81CC: .4byte 0x0000fff4 _080B81D0: ldr r0, _080B81E4 @ =0x0000ffc0 @@ -45890,7 +45890,7 @@ sub_80B85B8: @ 80B85B8 lsls r0, 24 lsrs r0, 24 mov r10, r0 - ldr r6, _080B8658 @ =gUnknown_2037F1A + ldr r6, _080B8658 @ =gBattleAnimAttacker ldrb r0, [r6] bl sub_80768B0 lsls r0, 24 @@ -45958,7 +45958,7 @@ _080B8642: pop {r0} bx r0 .align 2, 0 -_080B8658: .4byte gUnknown_2037F1A +_080B8658: .4byte gBattleAnimAttacker _080B865C: .4byte gSprites _080B8660: .4byte gUnknown_2023D44 thumb_func_end sub_80B85B8 @@ -45968,7 +45968,7 @@ sub_80B8664: @ 80B8664 push {r4-r6,lr} lsls r0, 24 lsrs r6, r0, 24 - ldr r4, _080B86AC @ =gUnknown_2037F1A + ldr r4, _080B86AC @ =gBattleAnimAttacker ldrb r0, [r4] bl sub_80768B0 lsls r0, 24 @@ -45998,14 +45998,14 @@ _080B86A0: pop {r0} bx r0 .align 2, 0 -_080B86AC: .4byte gUnknown_2037F1A +_080B86AC: .4byte gBattleAnimAttacker thumb_func_end sub_80B8664 thumb_func_start sub_80B86B0 sub_80B86B0: @ 80B86B0 push {r4,lr} adds r4, r0, 0 - ldr r1, _080B86E0 @ =gUnknown_2037F02 + ldr r1, _080B86E0 @ =gBattleAnimArgs ldrh r0, [r1] ldrh r2, [r4, 0x20] adds r0, r2 @@ -46026,7 +46026,7 @@ sub_80B86B0: @ 80B86B0 pop {r0} bx r0 .align 2, 0 -_080B86E0: .4byte gUnknown_2037F02 +_080B86E0: .4byte gBattleAnimArgs _080B86E4: .4byte sub_8074F6C _080B86E8: .4byte DestroyAnimSprite thumb_func_end sub_80B86B0 @@ -46083,7 +46083,7 @@ _080B8750: lsls r0, 24 cmp r0, 0 bne _080B87CA - ldr r4, _080B8804 @ =gUnknown_2037F1A + ldr r4, _080B8804 @ =gBattleAnimAttacker ldrb r0, [r4] bl GetBattlerPosition lsls r0, 24 @@ -46132,7 +46132,7 @@ _080B8780: bl SetAnimBgAttribute movs r6, 0x1 _080B87CA: - ldr r4, _080B8804 @ =gUnknown_2037F1A + ldr r4, _080B8804 @ =gBattleAnimAttacker ldrb r0, [r4] bl GetBattlerSide lsls r0, 24 @@ -46154,7 +46154,7 @@ _080B87F4: .4byte 0x00003f3f _080B87F8: .4byte 0x00003f3d _080B87FC: .4byte 0x00003f42 _080B8800: .4byte 0x00000c08 -_080B8804: .4byte gUnknown_2037F1A +_080B8804: .4byte gBattleAnimAttacker _080B8808: .4byte gSprites _080B880C: .4byte gUnknown_2023D44 _080B8810: .4byte gBattlerPartyIndexes @@ -46179,7 +46179,7 @@ _080B8828: adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, _080B88C0 @ =gUnknown_2037F1A + ldr r0, _080B88C0 @ =gBattleAnimAttacker ldrb r0, [r0] adds r1, r4, 0 adds r2, r5, 0 @@ -46223,7 +46223,7 @@ _080B8828: lsrs r0, 4 adds r0, 0x10 adds r1, r0, 0 - ldr r2, _080B88DC @ =gUnknown_2037F02 + ldr r2, _080B88DC @ =gBattleAnimArgs movs r3, 0x2 ldrsh r0, [r2, r3] cmp r0, 0 @@ -46235,14 +46235,14 @@ _080B8828: .align 2, 0 _080B88B8: .4byte gBattlerPartyIndexes _080B88BC: .4byte gPlayerParty -_080B88C0: .4byte gUnknown_2037F1A +_080B88C0: .4byte gBattleAnimAttacker _080B88C4: .4byte gFile_graphics_battle_anims_masks_metal_shine_tilemap _080B88C8: .4byte gFile_graphics_battle_anims_masks_metal_shine_sheet _080B88CC: .4byte gFile_graphics_battle_anims_masks_metal_shine_palette _080B88D0: .4byte gBattle_BG1_X _080B88D4: .4byte gSprites _080B88D8: .4byte gBattle_BG1_Y -_080B88DC: .4byte gUnknown_2037F02 +_080B88DC: .4byte gBattleAnimArgs _080B88E0: lsls r0, r1, 4 ldrh r3, [r2, 0x4] @@ -46256,7 +46256,7 @@ _080B88EC: lsls r0, 3 adds r0, r1 strh r5, [r0, 0x8] - ldr r2, _080B8918 @ =gUnknown_2037F02 + ldr r2, _080B8918 @ =gBattleAnimArgs ldrh r1, [r2] strh r1, [r0, 0xA] ldrh r1, [r2, 0x2] @@ -46272,7 +46272,7 @@ _080B88EC: bx r0 .align 2, 0 _080B8914: .4byte gTasks -_080B8918: .4byte gUnknown_2037F02 +_080B8918: .4byte gBattleAnimArgs _080B891C: .4byte sub_80B8920 thumb_func_end sub_80B86EC @@ -46351,7 +46351,7 @@ _080B8990: cmp r0, 0x1 bne _080B8A5E ldr r2, _080B89F4 @ =gUnknown_2023D44 - ldr r0, _080B89F8 @ =gUnknown_2037F1A + ldr r0, _080B89F8 @ =gBattleAnimAttacker ldrb r1, [r0] movs r0, 0x2 eors r0, r1 @@ -46379,7 +46379,7 @@ _080B89E8: .4byte gTasks _080B89EC: .4byte gBattle_BG1_X _080B89F0: .4byte gSprites _080B89F4: .4byte gUnknown_2023D44 -_080B89F8: .4byte gUnknown_2037F1A +_080B89F8: .4byte gBattleAnimAttacker _080B89FC: cmp r0, 0x3 bne _080B8A5E @@ -46439,7 +46439,7 @@ sub_80B8A74: @ 80B8A74 lsls r0, 24 lsrs r5, r0, 24 movs r4, 0 - ldr r0, _080B8A94 @ =gUnknown_2037F02 + ldr r0, _080B8A94 @ =gBattleAnimArgs movs r2, 0 ldrsh r1, [r0, r2] adds r2, r0, 0 @@ -46451,7 +46451,7 @@ sub_80B8A74: @ 80B8A74 ldr r0, [r0] mov pc, r0 .align 2, 0 -_080B8A94: .4byte gUnknown_2037F02 +_080B8A94: .4byte gBattleAnimArgs _080B8A98: .4byte _080B8A9C .align 2, 0 _080B8A9C: @@ -46516,7 +46516,7 @@ _080B8B06: ldrb r0, [r0, 0x5] lsrs r0, 4 adds r0, 0x10 - ldr r1, _080B8B34 @ =gUnknown_2037F02 + ldr r1, _080B8B34 @ =gBattleAnimArgs ldrb r1, [r1, 0x2] bl sub_8075B48 _080B8B22: @@ -46527,7 +46527,7 @@ _080B8B22: bx r0 .align 2, 0 _080B8B30: .4byte gSprites -_080B8B34: .4byte gUnknown_2037F02 +_080B8B34: .4byte gBattleAnimArgs thumb_func_end sub_80B8A74 thumb_func_start sub_80B8B38 @@ -46539,14 +46539,14 @@ sub_80B8B38: @ 80B8B38 ldrb r0, [r2] cmp r0, 0x1 bhi _080B8B4C - ldr r1, _080B8B68 @ =gUnknown_2037F02 + ldr r1, _080B8B68 @ =gBattleAnimArgs movs r0, 0 strh r0, [r1, 0xE] _080B8B4C: ldrb r0, [r2] cmp r0, 0x2 bne _080B8B58 - ldr r1, _080B8B68 @ =gUnknown_2037F02 + ldr r1, _080B8B68 @ =gBattleAnimArgs movs r0, 0x1 strh r0, [r1, 0xE] _080B8B58: @@ -46556,14 +46556,14 @@ _080B8B58: bx r0 .align 2, 0 _080B8B64: .4byte gUnknown_2037F16 -_080B8B68: .4byte gUnknown_2037F02 +_080B8B68: .4byte gBattleAnimArgs thumb_func_end sub_80B8B38 thumb_func_start sub_80B8B6C sub_80B8B6C: @ 80B8B6C push {r4,r5,lr} adds r4, r0, 0 - ldr r5, _080B8BC4 @ =gUnknown_2037F1A + ldr r5, _080B8BC4 @ =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0x2 bl sub_8074480 @@ -46578,7 +46578,7 @@ sub_80B8B6C: @ 80B8B6C strh r0, [r4, 0x22] movs r0, 0x14 strh r0, [r4, 0x2E] - ldr r5, _080B8BC8 @ =gUnknown_2037F1B + ldr r5, _080B8BC8 @ =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 bl sub_8074480 @@ -46601,8 +46601,8 @@ sub_80B8B6C: @ 80B8B6C pop {r0} bx r0 .align 2, 0 -_080B8BC4: .4byte gUnknown_2037F1A -_080B8BC8: .4byte gUnknown_2037F1B +_080B8BC4: .4byte gBattleAnimAttacker +_080B8BC8: .4byte gBattleAnimTarget _080B8BCC: .4byte 0x0000ffd8 _080B8BD0: .4byte sub_80B8BD4 thumb_func_end sub_80B8B6C @@ -46628,7 +46628,7 @@ sub_80B8BD4: @ 80B8BD4 strh r1, [r5, 0x24] movs r0, 0x14 strh r0, [r5, 0x2E] - ldr r4, _080B8C30 @ =gUnknown_2037F1A + ldr r4, _080B8C30 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -46652,7 +46652,7 @@ _080B8C28: pop {r0} bx r0 .align 2, 0 -_080B8C30: .4byte gUnknown_2037F1A +_080B8C30: .4byte gBattleAnimAttacker _080B8C34: .4byte sub_80B8C38 thumb_func_end sub_80B8BD4 @@ -46678,21 +46678,21 @@ sub_80B8C54: @ 80B8C54 adds r6, r0, 0 movs r1, 0x1 bl sub_8075114 - ldr r0, _080B8CB4 @ =gUnknown_2037F1A + ldr r0, _080B8CB4 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080B8C74 - ldr r1, _080B8CB8 @ =gUnknown_2037F02 + ldr r1, _080B8CB8 @ =gBattleAnimArgs ldrh r0, [r1, 0x4] negs r0, r0 strh r0, [r1, 0x4] _080B8C74: - ldr r4, _080B8CB8 @ =gUnknown_2037F02 + ldr r4, _080B8CB8 @ =gBattleAnimArgs ldrh r0, [r4, 0x8] strh r0, [r6, 0x2E] - ldr r5, _080B8CBC @ =gUnknown_2037F1B + ldr r5, _080B8CBC @ =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 bl sub_8074480 @@ -46718,9 +46718,9 @@ _080B8C74: pop {r0} bx r0 .align 2, 0 -_080B8CB4: .4byte gUnknown_2037F1A -_080B8CB8: .4byte gUnknown_2037F02 -_080B8CBC: .4byte gUnknown_2037F1B +_080B8CB4: .4byte gBattleAnimAttacker +_080B8CB8: .4byte gBattleAnimArgs +_080B8CBC: .4byte gBattleAnimTarget _080B8CC0: .4byte sub_8075590 _080B8CC4: .4byte DestroyAnimSprite thumb_func_end sub_80B8C54 @@ -46733,7 +46733,7 @@ sub_80B8CC8: @ 80B8CC8 adds r6, r0, 0 movs r1, 0x1 bl sub_8075160 - ldr r4, _080B8D48 @ =gUnknown_2037F1B + ldr r4, _080B8D48 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8074844 @@ -46768,7 +46768,7 @@ _080B8D10: lsls r0, 16 lsrs r4, r0, 16 _080B8D20: - ldr r0, _080B8D4C @ =gUnknown_2037F02 + ldr r0, _080B8D4C @ =gBattleAnimArgs ldrh r0, [r0, 0x4] strh r0, [r6, 0x2E] mov r1, r8 @@ -46787,8 +46787,8 @@ _080B8D20: pop {r0} bx r0 .align 2, 0 -_080B8D48: .4byte gUnknown_2037F1B -_080B8D4C: .4byte gUnknown_2037F02 +_080B8D48: .4byte gBattleAnimTarget +_080B8D4C: .4byte gBattleAnimArgs _080B8D50: .4byte sub_8075590 _080B8D54: .4byte move_anim_8074EE0 thumb_func_end sub_80B8CC8 @@ -46808,12 +46808,12 @@ sub_80B8D58: @ 80B8D58 ands r0, r2 orrs r0, r1 strh r0, [r5, 0x4] - ldr r6, _080B8DC0 @ =gUnknown_2037F02 + ldr r6, _080B8DC0 @ =gBattleAnimArgs movs r1, 0 ldrsh r0, [r6, r1] cmp r0, 0 bne _080B8DCC - ldr r4, _080B8DC4 @ =gUnknown_2037F1A + ldr r4, _080B8DC4 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -46845,8 +46845,8 @@ _080B8DB2: .align 2, 0 _080B8DB8: .4byte 0x000003ff _080B8DBC: .4byte 0xfffffc00 -_080B8DC0: .4byte gUnknown_2037F02 -_080B8DC4: .4byte gUnknown_2037F1A +_080B8DC0: .4byte gBattleAnimArgs +_080B8DC4: .4byte gBattleAnimAttacker _080B8DC8: .4byte sub_80B8DE8 _080B8DCC: ldrh r0, [r6, 0x2] @@ -46970,7 +46970,7 @@ sub_80B8E94: @ 80B8E94 lsls r0, 3 ldr r1, _080B8EB4 @ =gTasks adds r1, r0, r1 - ldr r0, _080B8EB8 @ =gUnknown_2037F02 + ldr r0, _080B8EB8 @ =gBattleAnimArgs movs r3, 0 ldrsh r0, [r0, r3] cmp r0, 0 @@ -46979,7 +46979,7 @@ sub_80B8E94: @ 80B8E94 b _080B8EC2 .align 2, 0 _080B8EB4: .4byte gTasks -_080B8EB8: .4byte gUnknown_2037F02 +_080B8EB8: .4byte gBattleAnimArgs _080B8EBC: .4byte sub_80B8ED4 _080B8EC0: ldr r0, _080B8ED0 @ =sub_80B908C @@ -47031,7 +47031,7 @@ _080B8F14: lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x1C] - ldr r0, _080B8F3C @ =gUnknown_2037F1A + ldr r0, _080B8F3C @ =gBattleAnimAttacker ldrb r0, [r0] bl sub_80768B0 lsls r0, 24 @@ -47045,7 +47045,7 @@ _080B8F14: ldr r0, _080B8F44 @ =gBattle_BG1_Y b _080B8F50 .align 2, 0 -_080B8F3C: .4byte gUnknown_2037F1A +_080B8F3C: .4byte gBattleAnimAttacker _080B8F40: .4byte gBattle_BG1_X _080B8F44: .4byte gBattle_BG1_Y _080B8F48: @@ -47056,7 +47056,7 @@ _080B8F48: _080B8F50: ldrh r0, [r0] strh r0, [r4, 0x22] - ldr r0, _080B8F94 @ =gUnknown_2037F1A + ldr r0, _080B8F94 @ =gBattleAnimAttacker ldrb r0, [r0] bl sub_807492C lsls r0, 24 @@ -47087,7 +47087,7 @@ _080B8F72: .align 2, 0 _080B8F8C: .4byte gBattle_BG2_X _080B8F90: .4byte gBattle_BG2_Y -_080B8F94: .4byte gUnknown_2037F1A +_080B8F94: .4byte gBattleAnimAttacker _080B8F98: .4byte gSprites _080B8F9C: ldrb r0, [r4, 0x1E] @@ -47239,7 +47239,7 @@ sub_80B908C: @ 80B908C movs r4, 0 strh r4, [r1, 0x24] strh r4, [r1, 0x26] - ldr r0, _080B90D0 @ =gUnknown_2037F1A + ldr r0, _080B90D0 @ =gBattleAnimAttacker ldrb r0, [r0] bl sub_80768B0 lsls r0, 24 @@ -47250,7 +47250,7 @@ sub_80B908C: @ 80B908C b _080B90DA .align 2, 0 _080B90CC: .4byte gSprites -_080B90D0: .4byte gUnknown_2037F1A +_080B90D0: .4byte gBattleAnimAttacker _080B90D4: .4byte gBattle_BG1_Y _080B90D8: ldr r0, _080B90E8 @ =gBattle_BG2_Y @@ -47275,7 +47275,7 @@ sub_80B90EC: @ 80B90EC lsls r0, 3 ldr r1, _080B910C @ =gTasks adds r1, r0, r1 - ldr r0, _080B9110 @ =gUnknown_2037F02 + ldr r0, _080B9110 @ =gBattleAnimArgs movs r3, 0 ldrsh r0, [r0, r3] cmp r0, 0 @@ -47284,7 +47284,7 @@ sub_80B90EC: @ 80B90EC b _080B911A .align 2, 0 _080B910C: .4byte gTasks -_080B9110: .4byte gUnknown_2037F02 +_080B9110: .4byte gBattleAnimArgs _080B9114: .4byte sub_80B912C _080B9118: ldr r0, _080B9128 @ =sub_80B91B0 @@ -47404,7 +47404,7 @@ _080B91F0: lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x1C] - ldr r0, _080B9214 @ =gUnknown_2037F1A + ldr r0, _080B9214 @ =gBattleAnimAttacker ldrb r0, [r0] bl sub_80768B0 lsls r0, 24 @@ -47415,14 +47415,14 @@ _080B91F0: ldr r0, _080B9218 @ =gBattle_BG1_X b _080B921E .align 2, 0 -_080B9214: .4byte gUnknown_2037F1A +_080B9214: .4byte gBattleAnimAttacker _080B9218: .4byte gBattle_BG1_X _080B921C: ldr r0, _080B923C @ =gBattle_BG2_X _080B921E: ldrh r0, [r0] strh r0, [r4, 0x20] - ldr r0, _080B9240 @ =gUnknown_2037F1A + ldr r0, _080B9240 @ =gBattleAnimAttacker ldrb r0, [r0] bl sub_807492C lsls r0, 24 @@ -47435,7 +47435,7 @@ _080B921E: b _080B929A .align 2, 0 _080B923C: .4byte gBattle_BG2_X -_080B9240: .4byte gUnknown_2037F1A +_080B9240: .4byte gBattleAnimAttacker _080B9244: ldrb r0, [r4, 0x1E] movs r1, 0x26 @@ -47603,19 +47603,19 @@ _080B9374: .4byte 0xa2600001 sub_80B9378: @ 80B9378 push {r4-r7,lr} adds r5, r0, 0 - ldr r0, _080B938C @ =gUnknown_2037F02 + ldr r0, _080B938C @ =gBattleAnimArgs movs r2, 0 ldrsh r1, [r0, r2] adds r7, r0, 0 cmp r1, 0 bne _080B9394 - ldr r0, _080B9390 @ =gUnknown_2037F1A + ldr r0, _080B9390 @ =gBattleAnimAttacker b _080B9396 .align 2, 0 -_080B938C: .4byte gUnknown_2037F02 -_080B9390: .4byte gUnknown_2037F1A +_080B938C: .4byte gBattleAnimArgs +_080B9390: .4byte gBattleAnimAttacker _080B9394: - ldr r0, _080B93F8 @ =gUnknown_2037F1B + ldr r0, _080B93F8 @ =gBattleAnimTarget _080B9396: ldrb r4, [r0] movs r6, 0x18 @@ -47664,7 +47664,7 @@ _080B93B2: pop {r0} bx r0 .align 2, 0 -_080B93F8: .4byte gUnknown_2037F1B +_080B93F8: .4byte gBattleAnimTarget _080B93FC: .4byte sub_80B9400 thumb_func_end sub_80B9378 @@ -47688,18 +47688,18 @@ _080B9414: sub_80B941C: @ 80B941C push {r4-r6,lr} adds r6, r0, 0 - ldr r0, _080B9430 @ =gUnknown_2037F02 + ldr r0, _080B9430 @ =gBattleAnimArgs movs r1, 0 ldrsh r0, [r0, r1] cmp r0, 0 bne _080B9438 - ldr r0, _080B9434 @ =gUnknown_2037F1A + ldr r0, _080B9434 @ =gBattleAnimAttacker b _080B943A .align 2, 0 -_080B9430: .4byte gUnknown_2037F02 -_080B9434: .4byte gUnknown_2037F1A +_080B9430: .4byte gBattleAnimArgs +_080B9434: .4byte gBattleAnimAttacker _080B9438: - ldr r0, _080B9498 @ =gUnknown_2037F1B + ldr r0, _080B9498 @ =gBattleAnimTarget _080B943A: ldrb r5, [r0] adds r0, r5, 0 @@ -47709,7 +47709,7 @@ _080B943A: lsrs r0, 24 ldr r2, _080B949C @ =0x0000fff0 adds r0, r2 - ldr r4, _080B94A0 @ =gUnknown_2037F02 + ldr r4, _080B94A0 @ =gBattleAnimArgs movs r3, 0x2 ldrsh r1, [r4, r3] lsls r1, 5 @@ -47746,9 +47746,9 @@ _080B943A: pop {r0} bx r0 .align 2, 0 -_080B9498: .4byte gUnknown_2037F1B +_080B9498: .4byte gBattleAnimTarget _080B949C: .4byte 0x0000fff0 -_080B94A0: .4byte gUnknown_2037F02 +_080B94A0: .4byte gBattleAnimArgs _080B94A4: .4byte 0x000003ff _080B94A8: .4byte 0xfffffc00 _080B94AC: .4byte DestroyAnimSprite @@ -47765,7 +47765,7 @@ sub_80B94B4: @ 80B94B4 lsls r0, 3 ldr r1, _080B94D8 @ =gTasks adds r4, r0, r1 - ldr r0, _080B94DC @ =gUnknown_2037F02 + ldr r0, _080B94DC @ =gBattleAnimArgs ldrh r2, [r0, 0x2] movs r3, 0x2 ldrsh r1, [r0, r3] @@ -47776,7 +47776,7 @@ sub_80B94B4: @ 80B94B4 b _080B94EC .align 2, 0 _080B94D8: .4byte gTasks -_080B94DC: .4byte gUnknown_2037F02 +_080B94DC: .4byte gBattleAnimArgs _080B94E0: ldr r0, _080B950C @ =gUnknown_2037EEC ldrh r0, [r0] @@ -48193,7 +48193,7 @@ sub_80B97D8: @ 80B97D8 push {lr} lsls r0, 24 lsrs r1, r0, 24 - ldr r3, _080B97F8 @ =gUnknown_2037F02 + ldr r3, _080B97F8 @ =gBattleAnimArgs movs r2, 0 ldr r0, _080B97FC @ =gUnknown_2037EEC ldrh r0, [r0] @@ -48207,7 +48207,7 @@ _080B97EC: pop {r0} bx r0 .align 2, 0 -_080B97F8: .4byte gUnknown_2037F02 +_080B97F8: .4byte gBattleAnimArgs _080B97FC: .4byte gUnknown_2037EEC thumb_func_end sub_80B97D8 @@ -48216,20 +48216,20 @@ sub_80B9800: @ 80B9800 push {r4-r7,lr} lsls r0, 24 lsrs r7, r0, 24 - ldr r2, _080B9818 @ =gUnknown_2037F02 + ldr r2, _080B9818 @ =gBattleAnimArgs ldrh r1, [r2] movs r0, 0x1 ands r0, r1 adds r6, r2, 0 cmp r0, 0 beq _080B9820 - ldr r0, _080B981C @ =gUnknown_2037F1B + ldr r0, _080B981C @ =gBattleAnimTarget b _080B9822 .align 2, 0 -_080B9818: .4byte gUnknown_2037F02 -_080B981C: .4byte gUnknown_2037F1B +_080B9818: .4byte gBattleAnimArgs +_080B981C: .4byte gBattleAnimTarget _080B9820: - ldr r0, _080B9890 @ =gUnknown_2037F1A + ldr r0, _080B9890 @ =gBattleAnimAttacker _080B9822: ldrb r0, [r0] adds r5, r0, 0 @@ -48284,7 +48284,7 @@ _080B9832: pop {r0} bx r0 .align 2, 0 -_080B9890: .4byte gUnknown_2037F1A +_080B9890: .4byte gBattleAnimAttacker _080B9894: .4byte sub_80B98A8 _080B9898: .4byte gTasks _080B989C: .4byte 0x000001ff @@ -48302,7 +48302,7 @@ sub_80B98A8: @ 80B98A8 lsls r0, 3 ldr r1, _080B98D8 @ =gTasks adds r2, r0, r1 - ldr r0, _080B98DC @ =gUnknown_2037F02 + ldr r0, _080B98DC @ =gBattleAnimArgs movs r4, 0xE ldrsh r1, [r0, r4] movs r4, 0xE @@ -48319,7 +48319,7 @@ sub_80B98A8: @ 80B98A8 b _080B98F4 .align 2, 0 _080B98D8: .4byte gTasks -_080B98DC: .4byte gUnknown_2037F02 +_080B98DC: .4byte gBattleAnimArgs _080B98E0: .4byte gBattle_BG3_X _080B98E4: .4byte gBattle_BG3_Y _080B98E8: @@ -48342,7 +48342,7 @@ _080B9900: .4byte gBattle_BG3_Y sub_80B9904: @ 80B9904 push {r4,r5,lr} adds r4, r0, 0 - ldr r5, _080B993C @ =gUnknown_2037F02 + ldr r5, _080B993C @ =gBattleAnimArgs ldrh r0, [r5] ldrh r1, [r4, 0x20] adds r0, r1 @@ -48353,7 +48353,7 @@ sub_80B9904: @ 80B9904 strh r0, [r4, 0x22] ldrh r0, [r5, 0x4] strh r0, [r4, 0x2E] - ldr r0, _080B9940 @ =gUnknown_2037F1A + ldr r0, _080B9940 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -48367,8 +48367,8 @@ sub_80B9904: @ 80B9904 strh r0, [r4, 0x36] b _080B9952 .align 2, 0 -_080B993C: .4byte gUnknown_2037F02 -_080B9940: .4byte gUnknown_2037F1A +_080B993C: .4byte gBattleAnimArgs +_080B9940: .4byte gBattleAnimAttacker _080B9944: ldrh r0, [r5, 0x6] strh r0, [r4, 0x30] @@ -48377,7 +48377,7 @@ _080B9944: movs r1, 0x1 bl StartSpriteAnim _080B9952: - ldr r0, _080B9968 @ =gUnknown_2037F02 + ldr r0, _080B9968 @ =gBattleAnimArgs ldrh r0, [r0, 0x8] strh r0, [r4, 0x34] ldr r1, _080B996C @ =sub_80B9970 @@ -48388,7 +48388,7 @@ _080B9952: pop {r0} bx r0 .align 2, 0 -_080B9968: .4byte gUnknown_2037F02 +_080B9968: .4byte gBattleAnimArgs _080B996C: .4byte sub_80B9970 thumb_func_end sub_80B9904 @@ -48451,7 +48451,7 @@ sub_80B99D4: @ 80B99D4 push {r4,r5,lr} sub sp, 0x4 adds r5, r0, 0 - ldr r4, _080B9A0C @ =gUnknown_2037F02 + ldr r4, _080B9A0C @ =gBattleAnimArgs movs r1, 0 ldrsh r0, [r4, r1] bl sub_80B9A14 @@ -48475,7 +48475,7 @@ sub_80B99D4: @ 80B99D4 pop {r0} bx r0 .align 2, 0 -_080B9A0C: .4byte gUnknown_2037F02 +_080B9A0C: .4byte gBattleAnimArgs _080B9A10: .4byte sub_80B9A5C thumb_func_end sub_80B99D4 @@ -48541,7 +48541,7 @@ _080B9A78: .4byte gPaletteFade sub_80B9A7C: @ 80B9A7C push {r4,r5,lr} adds r5, r0, 0 - ldr r4, _080B9AC8 @ =gUnknown_2037F02 + ldr r4, _080B9AC8 @ =gBattleAnimArgs ldrh r0, [r4, 0x2] strh r0, [r5, 0x2E] strh r0, [r5, 0x30] @@ -48575,7 +48575,7 @@ sub_80B9A7C: @ 80B9A7C pop {r0} bx r0 .align 2, 0 -_080B9AC8: .4byte gUnknown_2037F02 +_080B9AC8: .4byte gBattleAnimArgs _080B9ACC: .4byte sub_80B9AD0 thumb_func_end sub_80B9A7C @@ -48682,7 +48682,7 @@ _080B9B88: .4byte gPaletteFade sub_80B9B8C: @ 80B9B8C push {r4,lr} adds r4, r0, 0 - ldr r1, _080B9BD0 @ =gUnknown_2037F02 + ldr r1, _080B9BD0 @ =gBattleAnimArgs ldrh r0, [r1] ldrh r2, [r4, 0x20] adds r0, r2 @@ -48713,7 +48713,7 @@ sub_80B9B8C: @ 80B9B8C pop {r0} bx r0 .align 2, 0 -_080B9BD0: .4byte gUnknown_2037F02 +_080B9BD0: .4byte gBattleAnimArgs _080B9BD4: .4byte move_anim_8074EE0 _080B9BD8: .4byte sub_8074AE0 thumb_func_end sub_80B9B8C @@ -48728,7 +48728,7 @@ sub_80B9BDC: @ 80B9BDC adds r4, r0 lsls r4, 3 adds r4, r1 - ldr r3, _080B9C24 @ =gUnknown_2037F02 + ldr r3, _080B9C24 @ =gBattleAnimArgs ldrh r1, [r3] movs r5, 0 strh r1, [r4, 0x8] @@ -48754,7 +48754,7 @@ sub_80B9BDC: @ 80B9BDC bx r0 .align 2, 0 _080B9C20: .4byte gTasks -_080B9C24: .4byte gUnknown_2037F02 +_080B9C24: .4byte gBattleAnimArgs _080B9C28: .4byte sub_80B9C7C thumb_func_end sub_80B9BDC @@ -48872,7 +48872,7 @@ sub_80B9CE4: @ 80B9CE4 adds r0, r6 lsls r0, 3 adds r0, r3 - ldr r2, _080B9D8C @ =gUnknown_2037F02 + ldr r2, _080B9D8C @ =gBattleAnimArgs ldrh r1, [r2] strh r1, [r0, 0x8] ldrh r1, [r2, 0x2] @@ -48893,9 +48893,9 @@ sub_80B9CE4: @ 80B9CE4 mov r8, r2 cmp r5, r1 bge _080B9D4C - ldr r0, _080B9D94 @ =gUnknown_2037F1A + ldr r0, _080B9D94 @ =gBattleAnimAttacker ldrb r3, [r0] - ldr r7, _080B9D98 @ =gUnknown_2037F1B + ldr r7, _080B9D98 @ =gBattleAnimTarget movs r0, 0x1 mov r12, r0 adds r2, r1, 0 @@ -48946,10 +48946,10 @@ _080B9D5A: bx r0 .align 2, 0 _080B9D88: .4byte gTasks -_080B9D8C: .4byte gUnknown_2037F02 +_080B9D8C: .4byte gBattleAnimArgs _080B9D90: .4byte gBattlersCount -_080B9D94: .4byte gUnknown_2037F1A -_080B9D98: .4byte gUnknown_2037F1B +_080B9D94: .4byte gBattleAnimAttacker +_080B9D98: .4byte gBattleAnimTarget _080B9D9C: .4byte sub_80B9DF0 thumb_func_end sub_80B9CE4 @@ -49063,7 +49063,7 @@ sub_80B9E58: @ 80B9E58 adds r4, r0 lsls r4, 3 adds r4, r1 - ldr r3, _080B9EA0 @ =gUnknown_2037F02 + ldr r3, _080B9EA0 @ =gBattleAnimArgs ldrh r1, [r3] movs r5, 0 strh r1, [r4, 0x8] @@ -49089,7 +49089,7 @@ sub_80B9E58: @ 80B9E58 bx r0 .align 2, 0 _080B9E9C: .4byte gTasks -_080B9EA0: .4byte gUnknown_2037F02 +_080B9EA0: .4byte gBattleAnimArgs _080B9EA4: .4byte sub_80B9F04 thumb_func_end sub_80B9E58 @@ -49209,7 +49209,7 @@ sub_80B9F6C: @ 80B9F6C adds r4, r0 lsls r4, 3 adds r4, r1 - ldr r5, _080B9FD0 @ =gUnknown_2037F02 + ldr r5, _080B9FD0 @ =gBattleAnimArgs ldrh r0, [r5, 0x2] strh r0, [r4, 0x8] ldrh r0, [r5, 0x2] @@ -49248,7 +49248,7 @@ sub_80B9F6C: @ 80B9F6C bx r0 .align 2, 0 _080B9FCC: .4byte gTasks -_080B9FD0: .4byte gUnknown_2037F02 +_080B9FD0: .4byte gBattleAnimArgs _080B9FD4: .4byte sub_80B9FD8 thumb_func_end sub_80B9F6C @@ -49401,11 +49401,11 @@ sub_80BA0E8: @ 80BA0E8 lsrs r0, 24 mov r8, r0 movs r2, 0 - ldr r0, _080BA160 @ =gUnknown_2037F1A + ldr r0, _080BA160 @ =gBattleAnimAttacker ldrb r6, [r0] - ldr r0, _080BA164 @ =gUnknown_2037F1B + ldr r0, _080BA164 @ =gBattleAnimTarget ldrb r7, [r0] - ldr r4, _080BA168 @ =gUnknown_2037F02 + ldr r4, _080BA168 @ =gBattleAnimArgs ldrh r1, [r4] movs r5, 0x80 lsls r5, 1 @@ -49453,9 +49453,9 @@ _080BA146: pop {r0} bx r0 .align 2, 0 -_080BA160: .4byte gUnknown_2037F1A -_080BA164: .4byte gUnknown_2037F1B -_080BA168: .4byte gUnknown_2037F02 +_080BA160: .4byte gBattleAnimAttacker +_080BA164: .4byte gBattleAnimTarget +_080BA168: .4byte gBattleAnimArgs thumb_func_end sub_80BA0E8 thumb_func_start sub_80BA16C @@ -49478,7 +49478,7 @@ sub_80BA16C: @ 80BA16C ldrsh r0, [r4, r1] cmp r0, 0 bne _080BA1AE - ldr r1, _080BA264 @ =gUnknown_2037F02 + ldr r1, _080BA264 @ =gBattleAnimArgs ldrh r0, [r1] strh r0, [r4, 0xC] ldrh r0, [r1, 0x2] @@ -49497,10 +49497,10 @@ _080BA1AE: ldrh r0, [r4, 0x8] adds r0, 0x1 strh r0, [r4, 0x8] - ldr r0, _080BA268 @ =gUnknown_2037F1A + ldr r0, _080BA268 @ =gBattleAnimAttacker ldrb r0, [r0] mov r9, r0 - ldr r0, _080BA26C @ =gUnknown_2037F1B + ldr r0, _080BA26C @ =gBattleAnimTarget ldrb r0, [r0] mov r10, r0 ldrh r1, [r4, 0xC] @@ -49586,9 +49586,9 @@ _080BA252: bx r0 .align 2, 0 _080BA260: .4byte gTasks -_080BA264: .4byte gUnknown_2037F02 -_080BA268: .4byte gUnknown_2037F1A -_080BA26C: .4byte gUnknown_2037F1B +_080BA264: .4byte gBattleAnimArgs +_080BA268: .4byte gBattleAnimAttacker +_080BA26C: .4byte gBattleAnimTarget _080BA270: .4byte 0x0000ffff _080BA274: .4byte gSprites _080BA278: .4byte gUnknown_3004FF0 @@ -49604,7 +49604,7 @@ sub_80BA27C: @ 80BA27C movs r1, 0x4 orrs r0, r1 strb r0, [r2] - ldr r1, _080BA2B0 @ =gUnknown_2037F02 + ldr r1, _080BA2B0 @ =gBattleAnimArgs ldrh r0, [r1] negs r0, r0 strh r0, [r4, 0x2E] @@ -49623,7 +49623,7 @@ sub_80BA27C: @ 80BA27C beq _080BA2BA b _080BA2DC .align 2, 0 -_080BA2B0: .4byte gUnknown_2037F02 +_080BA2B0: .4byte gBattleAnimArgs _080BA2B4: cmp r0, 0x2 beq _080BA2CC @@ -49659,7 +49659,7 @@ _080BA2E4: orrs r1, r0 ldrh r0, [r1] strh r0, [r4, 0x36] - ldr r0, _080BA318 @ =gUnknown_2037F02 + ldr r0, _080BA318 @ =gBattleAnimArgs ldrh r0, [r0, 0x6] strh r0, [r4, 0x38] subs r0, 0x2 @@ -49676,7 +49676,7 @@ _080BA308: bx r0 .align 2, 0 _080BA314: .4byte gSpriteCoordOffsetY -_080BA318: .4byte gUnknown_2037F02 +_080BA318: .4byte gBattleAnimArgs _080BA31C: .4byte sub_80BA320 thumb_func_end sub_80BA27C @@ -49777,7 +49777,7 @@ sub_80BA3CC: @ 80BA3CC push {r4-r6,lr} ldr r6, _080BA440 @ =gSprites ldr r4, _080BA444 @ =gUnknown_2023D44 - ldr r5, _080BA448 @ =gUnknown_2037F1A + ldr r5, _080BA448 @ =gBattleAnimAttacker ldrb r0, [r5] adds r0, r4 ldrb r0, [r0] @@ -49792,7 +49792,7 @@ sub_80BA3CC: @ 80BA3CC adds r0, r2, 0 ands r0, r3 strb r0, [r1] - ldr r3, _080BA44C @ =gUnknown_2037F1B + ldr r3, _080BA44C @ =gBattleAnimTarget ldrb r0, [r3] adds r0, r4 ldrb r1, [r0] @@ -49804,7 +49804,7 @@ sub_80BA3CC: @ 80BA3CC ldrb r1, [r0] ands r2, r1 strb r2, [r0] - ldr r0, _080BA450 @ =gUnknown_2037F02 + ldr r0, _080BA450 @ =gBattleAnimArgs movs r1, 0x8 ldrsh r0, [r0, r1] cmp r0, 0x2 @@ -49834,9 +49834,9 @@ sub_80BA3CC: @ 80BA3CC .align 2, 0 _080BA440: .4byte gSprites _080BA444: .4byte gUnknown_2023D44 -_080BA448: .4byte gUnknown_2037F1A -_080BA44C: .4byte gUnknown_2037F1B -_080BA450: .4byte gUnknown_2037F02 +_080BA448: .4byte gBattleAnimAttacker +_080BA44C: .4byte gBattleAnimTarget +_080BA450: .4byte gBattleAnimArgs _080BA454: cmp r0, 0 bne _080BA45C @@ -49872,7 +49872,7 @@ sub_80BA47C: @ 80BA47C adds r2, r0 lsls r2, 3 adds r2, r1 - ldr r3, _080BA4C0 @ =gUnknown_2037F02 + ldr r3, _080BA4C0 @ =gBattleAnimArgs ldrh r1, [r3] strh r1, [r2, 0x8] ldrh r1, [r3, 0x2] @@ -49897,7 +49897,7 @@ sub_80BA47C: @ 80BA47C bx r0 .align 2, 0 _080BA4BC: .4byte gTasks -_080BA4C0: .4byte gUnknown_2037F02 +_080BA4C0: .4byte gBattleAnimArgs _080BA4C4: .4byte gBattle_BG3_X _080BA4C8: .4byte gBattle_BG3_Y _080BA4CC: .4byte sub_80BA4D0 @@ -49986,7 +49986,7 @@ _080BA55A: sub_80BA560: @ 80BA560 push {r4,r5,lr} adds r5, r0, 0 - ldr r4, _080BA580 @ =gUnknown_2037F02 + ldr r4, _080BA580 @ =gBattleAnimArgs ldrb r1, [r4, 0x6] bl StartSpriteAffineAnim movs r1, 0x4 @@ -49998,7 +49998,7 @@ sub_80BA560: @ 80BA560 bl sub_8075160 b _080BA58C .align 2, 0 -_080BA580: .4byte gUnknown_2037F02 +_080BA580: .4byte gBattleAnimArgs _080BA584: adds r0, r5, 0 movs r1, 0x1 @@ -50021,7 +50021,7 @@ _080BA5A4: .4byte DestroyAnimSprite sub_80BA5A8: @ 80BA5A8 push {r4,r5,lr} adds r5, r0, 0 - ldr r4, _080BA5C8 @ =gUnknown_2037F02 + ldr r4, _080BA5C8 @ =gBattleAnimArgs ldrb r1, [r4, 0x6] bl StartSpriteAffineAnim movs r1, 0x4 @@ -50033,13 +50033,13 @@ sub_80BA5A8: @ 80BA5A8 bl sub_8075160 b _080BA5D4 .align 2, 0 -_080BA5C8: .4byte gUnknown_2037F02 +_080BA5C8: .4byte gBattleAnimArgs _080BA5CC: adds r0, r5, 0 movs r1, 0x1 bl sub_8075114 _080BA5D4: - ldr r0, _080BA5EC @ =gUnknown_2037F02 + ldr r0, _080BA5EC @ =gBattleAnimArgs ldrh r0, [r0, 0x8] strh r0, [r5, 0x2E] ldr r0, _080BA5F0 @ =sub_8074F50 @@ -50051,7 +50051,7 @@ _080BA5D4: pop {r0} bx r0 .align 2, 0 -_080BA5EC: .4byte gUnknown_2037F02 +_080BA5EC: .4byte gBattleAnimArgs _080BA5F0: .4byte sub_8074F50 _080BA5F4: .4byte sub_80B1D3C thumb_func_end sub_80BA5A8 @@ -50060,7 +50060,7 @@ _080BA5F4: .4byte sub_80B1D3C sub_80BA5F8: @ 80BA5F8 push {r4,lr} adds r4, r0, 0 - ldr r0, _080BA628 @ =gUnknown_2037F1A + ldr r0, _080BA628 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -50070,7 +50070,7 @@ sub_80BA5F8: @ 80BA5F8 lsls r0, 24 cmp r0, 0 bne _080BA61C - ldr r1, _080BA62C @ =gUnknown_2037F02 + ldr r1, _080BA62C @ =gBattleAnimArgs ldrh r0, [r1, 0x2] negs r0, r0 strh r0, [r1, 0x2] @@ -50081,15 +50081,15 @@ _080BA61C: pop {r0} bx r0 .align 2, 0 -_080BA628: .4byte gUnknown_2037F1A -_080BA62C: .4byte gUnknown_2037F02 +_080BA628: .4byte gBattleAnimAttacker +_080BA62C: .4byte gBattleAnimArgs thumb_func_end sub_80BA5F8 thumb_func_start sub_80BA630 sub_80BA630: @ 80BA630 push {r4,r5,lr} adds r4, r0, 0 - ldr r5, _080BA668 @ =gUnknown_2037F02 + ldr r5, _080BA668 @ =gBattleAnimArgs movs r0, 0x2 ldrsh r1, [r5, r0] movs r0, 0x1 @@ -50113,7 +50113,7 @@ _080BA64C: bl sub_8075160 b _080BA674 .align 2, 0 -_080BA668: .4byte gUnknown_2037F02 +_080BA668: .4byte gBattleAnimArgs _080BA66C: adds r0, r4, 0 movs r1, 0 @@ -50158,7 +50158,7 @@ _080BA6C4: .4byte sub_8074F50 sub_80BA6C8: @ 80BA6C8 push {r4,r5,lr} adds r4, r0, 0 - ldr r5, _080BA728 @ =gUnknown_2037F02 + ldr r5, _080BA728 @ =gBattleAnimArgs ldrb r0, [r5] bl GetAnimBankSpriteId lsls r0, 24 @@ -50201,7 +50201,7 @@ sub_80BA6C8: @ 80BA6C8 pop {r0} bx r0 .align 2, 0 -_080BA728: .4byte gUnknown_2037F02 +_080BA728: .4byte gBattleAnimArgs _080BA72C: .4byte gSprites _080BA730: .4byte move_anim_8074EE0 _080BA734: .4byte sub_8074F50 @@ -50211,7 +50211,7 @@ _080BA734: .4byte sub_8074F50 sub_80BA738: @ 80BA738 push {r4,lr} adds r4, r0, 0 - ldr r0, _080BA750 @ =gUnknown_2037F02 + ldr r0, _080BA750 @ =gBattleAnimArgs movs r1, 0x4 ldrsh r0, [r0, r1] cmp r0, 0 @@ -50221,13 +50221,13 @@ sub_80BA738: @ 80BA738 bl sub_8075160 b _080BA75C .align 2, 0 -_080BA750: .4byte gUnknown_2037F02 +_080BA750: .4byte gBattleAnimArgs _080BA754: adds r0, r4, 0 movs r1, 0x1 bl sub_8075114 _080BA75C: - ldr r0, _080BA774 @ =gUnknown_2037F02 + ldr r0, _080BA774 @ =gBattleAnimArgs ldrh r0, [r0, 0x6] strh r0, [r4, 0x2E] ldr r1, _080BA778 @ =DestroyAnimSprite @@ -50239,7 +50239,7 @@ _080BA75C: pop {r0} bx r0 .align 2, 0 -_080BA774: .4byte gUnknown_2037F02 +_080BA774: .4byte gBattleAnimArgs _080BA778: .4byte DestroyAnimSprite _080BA77C: .4byte sub_8074C44 thumb_func_end sub_80BA738 @@ -50248,7 +50248,7 @@ _080BA77C: .4byte sub_8074C44 sub_80BA780: @ 80BA780 push {r4,r5,lr} adds r5, r0, 0 - ldr r4, _080BA7A0 @ =gUnknown_2037F02 + ldr r4, _080BA7A0 @ =gBattleAnimArgs ldrb r1, [r4, 0x6] bl StartSpriteAffineAnim movs r1, 0x4 @@ -50260,7 +50260,7 @@ sub_80BA780: @ 80BA780 bl sub_8075160 b _080BA7AC .align 2, 0 -_080BA7A0: .4byte gUnknown_2037F02 +_080BA7A0: .4byte gBattleAnimArgs _080BA7A4: adds r0, r5, 0 movs r1, 0x1 @@ -50314,7 +50314,7 @@ sub_80BA7F8: @ 80BA7F8 adds r5, r0, 0 lsls r5, 24 lsrs r5, 24 - ldr r4, _080BA838 @ =gUnknown_2037F02 + ldr r4, _080BA838 @ =gBattleAnimArgs movs r1, 0 ldrsh r0, [r4, r1] bl sub_80B9A14 @@ -50339,7 +50339,7 @@ sub_80BA7F8: @ 80BA7F8 pop {r0} bx r0 .align 2, 0 -_080BA838: .4byte gUnknown_2037F02 +_080BA838: .4byte gBattleAnimArgs thumb_func_end sub_80BA7F8 thumb_func_start sub_80BA83C @@ -50354,7 +50354,7 @@ sub_80BA83C: @ 80BA83C movs r0, 0x1 bl sub_80B9A14 adds r5, r0, 0 - ldr r0, _080BA868 @ =gUnknown_2037F02 + ldr r0, _080BA868 @ =gBattleAnimArgs movs r1, 0 ldrsh r0, [r0, r1] cmp r0, 0x7 @@ -50365,7 +50365,7 @@ sub_80BA83C: @ 80BA83C ldr r0, [r0] mov pc, r0 .align 2, 0 -_080BA868: .4byte gUnknown_2037F02 +_080BA868: .4byte gBattleAnimArgs _080BA86C: .4byte _080BA870 .align 2, 0 _080BA870: @@ -50381,33 +50381,33 @@ _080BA890: movs r5, 0 _080BA892: mov r0, sp - ldr r1, _080BA898 @ =gUnknown_2037F1A + ldr r1, _080BA898 @ =gBattleAnimAttacker b _080BA8A2 .align 2, 0 -_080BA898: .4byte gUnknown_2037F1A +_080BA898: .4byte gBattleAnimAttacker _080BA89C: movs r5, 0 _080BA89E: mov r0, sp - ldr r1, _080BA8A8 @ =gUnknown_2037F1B + ldr r1, _080BA8A8 @ =gBattleAnimTarget _080BA8A2: ldrb r1, [r1] strb r1, [r0] b _080BA8E6 .align 2, 0 -_080BA8A8: .4byte gUnknown_2037F1B +_080BA8A8: .4byte gBattleAnimTarget _080BA8AC: mov r1, sp - ldr r0, _080BA8BC @ =gUnknown_2037F1A + ldr r0, _080BA8BC @ =gBattleAnimAttacker ldrb r0, [r0] strb r0, [r1] - ldr r0, _080BA8C0 @ =gUnknown_2037F1B + ldr r0, _080BA8C0 @ =gBattleAnimTarget ldrb r0, [r0] strb r0, [r1, 0x1] b _080BA8E6 .align 2, 0 -_080BA8BC: .4byte gUnknown_2037F1A -_080BA8C0: .4byte gUnknown_2037F1B +_080BA8BC: .4byte gBattleAnimAttacker +_080BA8C0: .4byte gBattleAnimTarget _080BA8C4: mov r1, sp movs r0, 0xFF @@ -50416,14 +50416,14 @@ _080BA8C4: _080BA8CC: movs r5, 0 mov r2, sp - ldr r0, _080BA8D4 @ =gUnknown_2037F1A + ldr r0, _080BA8D4 @ =gBattleAnimAttacker b _080BA8DE .align 2, 0 -_080BA8D4: .4byte gUnknown_2037F1A +_080BA8D4: .4byte gBattleAnimAttacker _080BA8D8: movs r5, 0 mov r2, sp - ldr r0, _080BA930 @ =gUnknown_2037F1B + ldr r0, _080BA930 @ =gBattleAnimTarget _080BA8DE: ldrb r0, [r0] movs r1, 0x2 @@ -50466,7 +50466,7 @@ _080BA914: pop {r0} bx r0 .align 2, 0 -_080BA930: .4byte gUnknown_2037F1B +_080BA930: .4byte gBattleAnimTarget thumb_func_end sub_80BA83C thumb_func_start sub_80BA934 @@ -50474,7 +50474,7 @@ sub_80BA934: @ 80BA934 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _080BA958 @ =gUnknown_2037F02 + ldr r0, _080BA958 @ =gBattleAnimArgs movs r1, 0 ldrsh r0, [r0, r1] bl sub_80B9A14 @@ -50489,7 +50489,7 @@ sub_80BA934: @ 80BA934 ldr r0, [r0] mov pc, r0 .align 2, 0 -_080BA958: .4byte gUnknown_2037F02 +_080BA958: .4byte gBattleAnimArgs _080BA95C: .4byte gUnknown_2022B50 _080BA960: .4byte _080BA964 .align 2, 0 @@ -50505,63 +50505,63 @@ _080BA964: .4byte _080BAA04 .4byte _080BAA04 _080BA98C: - ldr r1, _080BA994 @ =gUnknown_2037F02 + ldr r1, _080BA994 @ =gBattleAnimArgs ldr r0, _080BA998 @ =0x00000b0c b _080BAA08 .align 2, 0 -_080BA994: .4byte gUnknown_2037F02 +_080BA994: .4byte gBattleAnimArgs _080BA998: .4byte 0x00000b0c _080BA99C: - ldr r1, _080BA9A4 @ =gUnknown_2037F02 + ldr r1, _080BA9A4 @ =gBattleAnimArgs movs r0, 0x9E lsls r0, 4 b _080BAA08 .align 2, 0 -_080BA9A4: .4byte gUnknown_2037F02 +_080BA9A4: .4byte gBattleAnimArgs _080BA9A8: - ldr r1, _080BA9B0 @ =gUnknown_2037F02 + ldr r1, _080BA9B0 @ =gBattleAnimArgs ldr r0, _080BA9B4 @ =0x00002f1e b _080BAA08 .align 2, 0 -_080BA9B0: .4byte gUnknown_2037F02 +_080BA9B0: .4byte gBattleAnimArgs _080BA9B4: .4byte 0x00002f1e _080BA9B8: - ldr r1, _080BA9C0 @ =gUnknown_2037F02 + ldr r1, _080BA9C0 @ =gBattleAnimArgs movs r0, 0x90 lsls r0, 7 b _080BAA08 .align 2, 0 -_080BA9C0: .4byte gUnknown_2037F02 +_080BA9C0: .4byte gBattleAnimArgs _080BA9C4: - ldr r1, _080BA9CC @ =gUnknown_2037F02 + ldr r1, _080BA9CC @ =gBattleAnimArgs ldr r0, _080BA9D0 @ =0x00007ecb b _080BAA08 .align 2, 0 -_080BA9CC: .4byte gUnknown_2037F02 +_080BA9CC: .4byte gBattleAnimArgs _080BA9D0: .4byte 0x00007ecb _080BA9D4: - ldr r1, _080BA9DC @ =gUnknown_2037F02 + ldr r1, _080BA9DC @ =gBattleAnimArgs ldr r0, _080BA9E0 @ =0x00007ecb b _080BAA08 .align 2, 0 -_080BA9DC: .4byte gUnknown_2037F02 +_080BA9DC: .4byte gBattleAnimArgs _080BA9E0: .4byte 0x00007ecb _080BA9E4: - ldr r1, _080BA9EC @ =gUnknown_2037F02 + ldr r1, _080BA9EC @ =gBattleAnimArgs ldr r0, _080BA9F0 @ =0x00002a16 b _080BAA08 .align 2, 0 -_080BA9EC: .4byte gUnknown_2037F02 +_080BA9EC: .4byte gBattleAnimArgs _080BA9F0: .4byte 0x00002a16 _080BA9F4: - ldr r1, _080BA9FC @ =gUnknown_2037F02 + ldr r1, _080BA9FC @ =gBattleAnimArgs ldr r0, _080BAA00 @ =0x00000d2e b _080BAA08 .align 2, 0 -_080BA9FC: .4byte gUnknown_2037F02 +_080BA9FC: .4byte gBattleAnimArgs _080BAA00: .4byte 0x00000d2e _080BAA04: - ldr r1, _080BAA18 @ =gUnknown_2037F02 + ldr r1, _080BAA18 @ =gBattleAnimArgs ldr r0, _080BAA1C @ =0x00007fff _080BAA08: strh r0, [r1, 0x8] @@ -50573,7 +50573,7 @@ _080BAA0A: pop {r0} bx r0 .align 2, 0 -_080BAA18: .4byte gUnknown_2037F02 +_080BAA18: .4byte gBattleAnimArgs _080BAA1C: .4byte 0x00007fff thumb_func_end sub_80BA934 @@ -50583,7 +50583,7 @@ sub_80BAA20: @ 80BAA20 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, _080BAA48 @ =gUnknown_2037F02 + ldr r0, _080BAA48 @ =gBattleAnimArgs ldrh r0, [r0] bl IndexOfSpritePaletteTag lsls r0, 24 @@ -50597,7 +50597,7 @@ sub_80BAA20: @ 80BAA20 pop {r0} bx r0 .align 2, 0 -_080BAA48: .4byte gUnknown_2037F02 +_080BAA48: .4byte gBattleAnimArgs thumb_func_end sub_80BAA20 thumb_func_start sub_80BAA4C @@ -50613,7 +50613,7 @@ sub_80BAA4C: @ 80BAA4C strh r1, [r2, 0x8] lsrs r1, 16 strh r1, [r2, 0xA] - ldr r3, _080BAA88 @ =gUnknown_2037F02 + ldr r3, _080BAA88 @ =gBattleAnimArgs ldrh r1, [r3, 0x2] strh r1, [r2, 0xC] ldrh r1, [r3, 0x4] @@ -50631,7 +50631,7 @@ sub_80BAA4C: @ 80BAA4C bx r0 .align 2, 0 _080BAA84: .4byte gTasks -_080BAA88: .4byte gUnknown_2037F02 +_080BAA88: .4byte gBattleAnimArgs _080BAA8C: .4byte sub_80BAA90 thumb_func_end sub_80BAA4C @@ -50735,7 +50735,7 @@ sub_80BAB38: @ 80BAB38 adds r5, r0, 0 lsls r5, 24 lsrs r5, 24 - ldr r4, _080BAB6C @ =gUnknown_2037F02 + ldr r4, _080BAB6C @ =gBattleAnimArgs ldrb r0, [r4] ldrb r1, [r4, 0x2] ldrb r2, [r4, 0x4] @@ -50755,7 +50755,7 @@ sub_80BAB38: @ 80BAB38 pop {r0} bx r0 .align 2, 0 -_080BAB6C: .4byte gUnknown_2037F02 +_080BAB6C: .4byte gBattleAnimArgs _080BAB70: .4byte gTasks _080BAB74: .4byte sub_80BAB78 thumb_func_end sub_80BAB38 @@ -50789,7 +50789,7 @@ sub_80BAB98: @ 80BAB98 lsls r1, 3 ldr r0, _080BABC4 @ =gTasks adds r1, r0 - ldr r2, _080BABC8 @ =gUnknown_2037F02 + ldr r2, _080BABC8 @ =gBattleAnimArgs ldrh r0, [r2] movs r3, 0 strh r0, [r1, 0x8] @@ -50806,7 +50806,7 @@ sub_80BAB98: @ 80BAB98 bx lr .align 2, 0 _080BABC4: .4byte gTasks -_080BABC8: .4byte gUnknown_2037F02 +_080BABC8: .4byte gBattleAnimArgs _080BABCC: .4byte sub_80BABD0 thumb_func_end sub_80BAB98 @@ -51033,7 +51033,7 @@ _080BAD7A: lsls r0, 24 cmp r0, 0 bne _080BADFE - ldr r5, _080BAE38 @ =gUnknown_2037F1A + ldr r5, _080BAE38 @ =gBattleAnimAttacker ldrb r0, [r5] bl GetBattlerPosition lsls r0, 24 @@ -51087,7 +51087,7 @@ _080BADAA: bl SetGpuReg movs r7, 0x1 _080BADFE: - ldr r4, _080BAE38 @ =gUnknown_2037F1A + ldr r4, _080BAE38 @ =gBattleAnimAttacker ldrb r0, [r4] bl GetBattlerSide lsls r0, 24 @@ -51109,7 +51109,7 @@ _080BAE28: .4byte 0x00003f3f _080BAE2C: .4byte 0x00003f3d _080BAE30: .4byte 0x00003f42 _080BAE34: .4byte 0x00000c08 -_080BAE38: .4byte gUnknown_2037F1A +_080BAE38: .4byte gBattleAnimAttacker _080BAE3C: .4byte gSprites _080BAE40: .4byte gUnknown_2023D44 _080BAE44: .4byte gBattlerPartyIndexes @@ -51134,7 +51134,7 @@ _080BAE5C: lsls r0, 24 lsrs r0, 24 adds r5, r0, 0 - ldr r0, _080BAF14 @ =gUnknown_2037F1A + ldr r0, _080BAF14 @ =gBattleAnimAttacker ldrb r0, [r0] adds r1, r5, 0 adds r2, r4, 0 @@ -51206,7 +51206,7 @@ _080BAEAC: .align 2, 0 _080BAF0C: .4byte gBattlerPartyIndexes _080BAF10: .4byte gPlayerParty -_080BAF14: .4byte gUnknown_2037F1A +_080BAF14: .4byte gBattleAnimAttacker _080BAF18: .4byte gFile_graphics_battle_anims_masks_curse_tilemap _080BAF1C: .4byte gFile_graphics_battle_anims_masks_curse_sheet _080BAF20: .4byte gUnknown_83E7CC8 @@ -51324,7 +51324,7 @@ _080BAFCA: cmp r0, 0x1 bne _080BB050 ldr r2, _080BB080 @ =gUnknown_2023D44 - ldr r0, _080BB084 @ =gUnknown_2037F1A + ldr r0, _080BB084 @ =gBattleAnimAttacker ldrb r1, [r0] movs r0, 0x2 eors r0, r1 @@ -51366,7 +51366,7 @@ _080BB074: .4byte gUnknown_2022986 _080BB078: .4byte 0x00003f3f _080BB07C: .4byte gSprites _080BB080: .4byte gUnknown_2023D44 -_080BB084: .4byte gUnknown_2037F1A +_080BB084: .4byte gBattleAnimAttacker thumb_func_end sub_80BAF38 thumb_func_start sub_80BB088 @@ -51379,7 +51379,7 @@ sub_80BB088: @ 80BB088 bl AllocZeroed str r0, [r4] movs r2, 0 - ldr r3, _080BB0CC @ =gUnknown_2037F02 + ldr r3, _080BB0CC @ =gBattleAnimArgs _080BB09C: ldr r1, [r4] lsls r0, r2, 1 @@ -51405,7 +51405,7 @@ _080BB09C: bx r0 .align 2, 0 _080BB0C8: .4byte gUnknown_20399B4 -_080BB0CC: .4byte gUnknown_2037F02 +_080BB0CC: .4byte gBattleAnimArgs _080BB0D0: .4byte gTasks _080BB0D4: .4byte sub_80BB0D8 thumb_func_end sub_80BB088 @@ -51421,13 +51421,13 @@ sub_80BB0D8: @ 80BB0D8 ldrsh r0, [r1, r2] cmp r0, 0 bne _080BB0F8 - ldr r0, _080BB0F4 @ =gUnknown_2037F1A + ldr r0, _080BB0F4 @ =gBattleAnimAttacker b _080BB0FA .align 2, 0 _080BB0F0: .4byte gUnknown_20399B4 -_080BB0F4: .4byte gUnknown_2037F1A +_080BB0F4: .4byte gBattleAnimAttacker _080BB0F8: - ldr r0, _080BB230 @ =gUnknown_2037F1B + ldr r0, _080BB230 @ =gBattleAnimTarget _080BB0FA: ldrb r0, [r0] strb r0, [r1] @@ -51572,7 +51572,7 @@ _080BB20A: ldr r1, _080BB258 @ =gEnemyParty b _080BB26E .align 2, 0 -_080BB230: .4byte gUnknown_2037F1B +_080BB230: .4byte gBattleAnimTarget _080BB234: .4byte gUnknown_20399B4 _080BB238: .4byte gUnknown_2022984 _080BB23C: .4byte gUnknown_2022986 @@ -52292,7 +52292,7 @@ sub_80BB7DC: @ 80BB7DC lsrs r6, r0, 24 movs r4, 0 movs r2, 0 - ldr r0, _080BB824 @ =gUnknown_2037F1A + ldr r0, _080BB824 @ =gBattleAnimAttacker ldrb r3, [r0] movs r5, 0x1 _080BB7EC: @@ -52308,7 +52308,7 @@ _080BB7FA: cmp r2, 0x3 bls _080BB7EC movs r2, 0x5 - ldr r0, _080BB828 @ =gUnknown_2037F02 + ldr r0, _080BB828 @ =gBattleAnimArgs adds r1, r0, 0 adds r1, 0x8 _080BB808: @@ -52325,8 +52325,8 @@ _080BB808: pop {r0} bx r0 .align 2, 0 -_080BB824: .4byte gUnknown_2037F1A -_080BB828: .4byte gUnknown_2037F02 +_080BB824: .4byte gBattleAnimAttacker +_080BB828: .4byte gBattleAnimArgs thumb_func_end sub_80BB7DC thumb_func_start sub_80BB82C @@ -52341,12 +52341,12 @@ sub_80BB82C: @ 80BB82C bl CreateTask lsls r0, 24 lsrs r5, r0, 24 - ldr r4, _080BB898 @ =gUnknown_2037F02 + ldr r4, _080BB898 @ =gBattleAnimArgs movs r1, 0x4 ldrsh r0, [r4, r1] cmp r0, 0 beq _080BB868 - ldr r0, _080BB89C @ =gUnknown_2037F1A + ldr r0, _080BB89C @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -52364,7 +52364,7 @@ _080BB868: adds r1, r5 lsls r1, 3 adds r1, r0 - ldr r2, _080BB898 @ =gUnknown_2037F02 + ldr r2, _080BB898 @ =gBattleAnimArgs ldrh r0, [r2] strh r0, [r1, 0xA] ldrh r0, [r2, 0x2] @@ -52381,8 +52381,8 @@ _080BB868: bx r0 .align 2, 0 _080BB894: .4byte sub_80BB8A4 -_080BB898: .4byte gUnknown_2037F02 -_080BB89C: .4byte gUnknown_2037F1A +_080BB898: .4byte gBattleAnimArgs +_080BB89C: .4byte gBattleAnimAttacker _080BB8A0: .4byte gTasks thumb_func_end sub_80BB82C @@ -52423,7 +52423,7 @@ sub_80BB8A4: @ 80BB8A4 strh r3, [r1, 0x1C] ands r2, r0 strh r2, [r1, 0x1E] - ldr r0, _080BB91C @ =gUnknown_2037F02 + ldr r0, _080BB91C @ =gBattleAnimArgs movs r3, 0xE ldrsh r2, [r0, r3] movs r7, 0xE @@ -52445,7 +52445,7 @@ _080BB90A: _080BB910: .4byte gTasks _080BB914: .4byte gBattle_BG3_X _080BB918: .4byte gBattle_BG3_Y -_080BB91C: .4byte gUnknown_2037F02 +_080BB91C: .4byte gBattleAnimArgs thumb_func_end sub_80BB8A4 thumb_func_start sub_80BB920 @@ -52454,10 +52454,10 @@ sub_80BB920: @ 80BB920 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, _080BB944 @ =gUnknown_2037F1A + ldr r0, _080BB944 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide - ldr r1, _080BB948 @ =gUnknown_2037F02 + ldr r1, _080BB948 @ =gBattleAnimArgs lsls r0, 24 lsrs r0, 24 strh r0, [r1, 0xE] @@ -52467,8 +52467,8 @@ sub_80BB920: @ 80BB920 pop {r0} bx r0 .align 2, 0 -_080BB944: .4byte gUnknown_2037F1A -_080BB948: .4byte gUnknown_2037F02 +_080BB944: .4byte gBattleAnimAttacker +_080BB948: .4byte gBattleAnimArgs thumb_func_end sub_80BB920 thumb_func_start sub_80BB94C @@ -52477,10 +52477,10 @@ sub_80BB94C: @ 80BB94C adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, _080BB970 @ =gUnknown_2037F1B + ldr r0, _080BB970 @ =gBattleAnimTarget ldrb r0, [r0] bl GetBattlerSide - ldr r1, _080BB974 @ =gUnknown_2037F02 + ldr r1, _080BB974 @ =gBattleAnimArgs lsls r0, 24 lsrs r0, 24 strh r0, [r1, 0xE] @@ -52490,8 +52490,8 @@ sub_80BB94C: @ 80BB94C pop {r0} bx r0 .align 2, 0 -_080BB970: .4byte gUnknown_2037F1B -_080BB974: .4byte gUnknown_2037F02 +_080BB970: .4byte gBattleAnimTarget +_080BB974: .4byte gBattleAnimArgs thumb_func_end sub_80BB94C thumb_func_start sub_80BB978 @@ -52499,12 +52499,12 @@ sub_80BB978: @ 80BB978 push {r4,r5,lr} lsls r0, 24 lsrs r3, r0, 24 - ldr r5, _080BB9A4 @ =gUnknown_2037F02 + ldr r5, _080BB9A4 @ =gBattleAnimArgs movs r4, 0 - ldr r0, _080BB9A8 @ =gUnknown_2037F1A + ldr r0, _080BB9A8 @ =gBattleAnimAttacker ldrb r2, [r0] movs r0, 0x2 - ldr r1, _080BB9AC @ =gUnknown_2037F1B + ldr r1, _080BB9AC @ =gBattleAnimTarget eors r0, r2 ldrb r1, [r1] cmp r0, r1 @@ -52518,9 +52518,9 @@ _080BB994: pop {r0} bx r0 .align 2, 0 -_080BB9A4: .4byte gUnknown_2037F02 -_080BB9A8: .4byte gUnknown_2037F1A -_080BB9AC: .4byte gUnknown_2037F1B +_080BB9A4: .4byte gBattleAnimArgs +_080BB9A8: .4byte gBattleAnimAttacker +_080BB9AC: .4byte gBattleAnimTarget thumb_func_end sub_80BB978 thumb_func_start sub_80BB9B0 @@ -52531,7 +52531,7 @@ sub_80BB9B0: @ 80BB9B0 movs r4, 0 ldr r6, _080BBA10 @ =gSprites _080BB9BA: - ldr r0, _080BBA14 @ =gUnknown_2037F1A + ldr r0, _080BBA14 @ =gBattleAnimAttacker ldrb r0, [r0] cmp r4, r0 beq _080BB9F8 @@ -52548,7 +52548,7 @@ _080BB9BA: adds r2, r0 lsls r2, 2 adds r2, r6 - ldr r1, _080BBA1C @ =gUnknown_2037F02 + ldr r1, _080BBA1C @ =gBattleAnimArgs adds r2, 0x3E movs r0, 0x1 ldrb r3, [r1] @@ -52574,9 +52574,9 @@ _080BB9F8: bx r0 .align 2, 0 _080BBA10: .4byte gSprites -_080BBA14: .4byte gUnknown_2037F1A +_080BBA14: .4byte gBattleAnimAttacker _080BBA18: .4byte gUnknown_2023D44 -_080BBA1C: .4byte gUnknown_2037F02 +_080BBA1C: .4byte gBattleAnimArgs thumb_func_end sub_80BB9B0 thumb_func_start sub_80BBA20 @@ -53047,7 +53047,7 @@ sub_80BBDF0: @ 80BBDF0 push {lr} lsls r0, 24 lsrs r0, 24 - ldr r2, _080BBE08 @ =gUnknown_2037F02 + ldr r2, _080BBE08 @ =gBattleAnimArgs ldr r1, _080BBE0C @ =gUnknown_2022B50 ldrb r1, [r1] strh r1, [r2] @@ -53055,7 +53055,7 @@ sub_80BBDF0: @ 80BBDF0 pop {r0} bx r0 .align 2, 0 -_080BBE08: .4byte gUnknown_2037F02 +_080BBE08: .4byte gBattleAnimArgs _080BBE0C: .4byte gUnknown_2022B50 thumb_func_end sub_80BBDF0 @@ -53116,7 +53116,7 @@ sub_80BBE6C: @ 80BBE6C lsls r0, 24 lsrs r5, r0, 24 movs r4, 0 - ldr r0, _080BBEAC @ =gUnknown_2037F02 + ldr r0, _080BBEAC @ =gBattleAnimArgs movs r1, 0 ldrsh r0, [r0, r1] cmp r0, 0 @@ -53144,18 +53144,18 @@ _080BBE9E: beq _080BBE9E b _080BBEC8 .align 2, 0 -_080BBEAC: .4byte gUnknown_2037F02 +_080BBEAC: .4byte gBattleAnimArgs _080BBEB0: cmp r0, 0x1 bne _080BBEBC - ldr r0, _080BBEB8 @ =gUnknown_2037F1A + ldr r0, _080BBEB8 @ =gBattleAnimAttacker b _080BBEC2 .align 2, 0 -_080BBEB8: .4byte gUnknown_2037F1A +_080BBEB8: .4byte gBattleAnimAttacker _080BBEBC: cmp r0, 0x2 bne _080BBEC8 - ldr r0, _080BBEF8 @ =gUnknown_2037F1B + ldr r0, _080BBEF8 @ =gBattleAnimTarget _080BBEC2: ldrb r0, [r0] adds r4, r0, 0 @@ -53163,7 +53163,7 @@ _080BBEC2: _080BBEC8: ldr r0, _080BBEFC @ =gMonSpritesGfxPtr ldr r1, [r0] - ldr r0, _080BBF00 @ =gUnknown_2037F02 + ldr r0, _080BBF00 @ =gBattleAnimArgs movs r2, 0x2 ldrsh r0, [r0, r2] movs r2, 0xBE @@ -53184,9 +53184,9 @@ _080BBEC8: pop {r0} bx r0 .align 2, 0 -_080BBEF8: .4byte gUnknown_2037F1B +_080BBEF8: .4byte gBattleAnimTarget _080BBEFC: .4byte gMonSpritesGfxPtr -_080BBF00: .4byte gUnknown_2037F02 +_080BBF00: .4byte gBattleAnimArgs _080BBF04: .4byte gPlttBufferUnfaded thumb_func_end sub_80BBE6C @@ -53197,7 +53197,7 @@ sub_80BBF08: @ 80BBF08 lsls r0, 24 lsrs r5, r0, 24 movs r4, 0 - ldr r0, _080BBF48 @ =gUnknown_2037F02 + ldr r0, _080BBF48 @ =gBattleAnimArgs movs r1, 0 ldrsh r0, [r0, r1] cmp r0, 0 @@ -53225,18 +53225,18 @@ _080BBF3A: beq _080BBF3A b _080BBF64 .align 2, 0 -_080BBF48: .4byte gUnknown_2037F02 +_080BBF48: .4byte gBattleAnimArgs _080BBF4C: cmp r0, 0x1 bne _080BBF58 - ldr r0, _080BBF54 @ =gUnknown_2037F1A + ldr r0, _080BBF54 @ =gBattleAnimAttacker b _080BBF5E .align 2, 0 -_080BBF54: .4byte gUnknown_2037F1A +_080BBF54: .4byte gBattleAnimAttacker _080BBF58: cmp r0, 0x2 bne _080BBF64 - ldr r0, _080BBF94 @ =gUnknown_2037F1B + ldr r0, _080BBF94 @ =gBattleAnimTarget _080BBF5E: ldrb r0, [r0] adds r4, r0, 0 @@ -53247,7 +53247,7 @@ _080BBF64: adds r0, r1 ldr r1, _080BBF9C @ =gMonSpritesGfxPtr ldr r2, [r1] - ldr r1, _080BBFA0 @ =gUnknown_2037F02 + ldr r1, _080BBFA0 @ =gBattleAnimArgs movs r3, 0x2 ldrsh r1, [r1, r3] movs r3, 0xBE @@ -53265,10 +53265,10 @@ _080BBF64: pop {r0} bx r0 .align 2, 0 -_080BBF94: .4byte gUnknown_2037F1B +_080BBF94: .4byte gBattleAnimTarget _080BBF98: .4byte gPlttBufferUnfaded _080BBF9C: .4byte gMonSpritesGfxPtr -_080BBFA0: .4byte gUnknown_2037F02 +_080BBFA0: .4byte gBattleAnimArgs thumb_func_end sub_80BBF08 thumb_func_start sub_80BBFA4 @@ -53278,7 +53278,7 @@ sub_80BBFA4: @ 80BBFA4 lsls r0, 24 lsrs r5, r0, 24 movs r4, 0 - ldr r0, _080BBFE4 @ =gUnknown_2037F02 + ldr r0, _080BBFE4 @ =gBattleAnimArgs movs r1, 0 ldrsh r0, [r0, r1] cmp r0, 0 @@ -53306,18 +53306,18 @@ _080BBFD6: beq _080BBFD6 b _080BC000 .align 2, 0 -_080BBFE4: .4byte gUnknown_2037F02 +_080BBFE4: .4byte gBattleAnimArgs _080BBFE8: cmp r0, 0x1 bne _080BBFF4 - ldr r0, _080BBFF0 @ =gUnknown_2037F1A + ldr r0, _080BBFF0 @ =gBattleAnimAttacker b _080BBFFA .align 2, 0 -_080BBFF0: .4byte gUnknown_2037F1A +_080BBFF0: .4byte gBattleAnimAttacker _080BBFF4: cmp r0, 0x2 bne _080BC000 - ldr r0, _080BC020 @ =gUnknown_2037F1B + ldr r0, _080BC020 @ =gBattleAnimTarget _080BBFFA: ldrb r0, [r0] adds r4, r0, 0 @@ -53337,7 +53337,7 @@ _080BC000: pop {r0} bx r0 .align 2, 0 -_080BC020: .4byte gUnknown_2037F1B +_080BC020: .4byte gBattleAnimTarget _080BC024: .4byte gPlttBufferUnfaded _080BC028: .4byte gPlttBufferFaded thumb_func_end sub_80BBFA4 @@ -53352,14 +53352,14 @@ sub_80BC02C: @ 80BC02C lsrs r1, r0, 24 cmp r1, 0 beq _080BC04C - ldr r1, _080BC048 @ =gUnknown_2037F02 + ldr r1, _080BC048 @ =gBattleAnimArgs movs r0, 0x1 strh r0, [r1, 0xE] b _080BC050 .align 2, 0 -_080BC048: .4byte gUnknown_2037F02 +_080BC048: .4byte gBattleAnimArgs _080BC04C: - ldr r0, _080BC05C @ =gUnknown_2037F02 + ldr r0, _080BC05C @ =gBattleAnimArgs strh r1, [r0, 0xE] _080BC050: adds r0, r4, 0 @@ -53368,7 +53368,7 @@ _080BC050: pop {r0} bx r0 .align 2, 0 -_080BC05C: .4byte gUnknown_2037F02 +_080BC05C: .4byte gBattleAnimArgs thumb_func_end sub_80BC02C thumb_func_start sub_80BC060 @@ -53376,11 +53376,11 @@ sub_80BC060: @ 80BC060 push {lr} lsls r0, 24 lsrs r0, 24 - ldr r2, _080BC080 @ =gUnknown_2037F1A + ldr r2, _080BC080 @ =gBattleAnimAttacker ldr r1, _080BC084 @ =gBattlerTarget ldrb r1, [r1] strb r1, [r2] - ldr r2, _080BC088 @ =gUnknown_2037F1B + ldr r2, _080BC088 @ =gBattleAnimTarget ldr r1, _080BC08C @ =gUnknown_2023D6E ldrb r1, [r1] strb r1, [r2] @@ -53388,9 +53388,9 @@ sub_80BC060: @ 80BC060 pop {r0} bx r0 .align 2, 0 -_080BC080: .4byte gUnknown_2037F1A +_080BC080: .4byte gBattleAnimAttacker _080BC084: .4byte gBattlerTarget -_080BC088: .4byte gUnknown_2037F1B +_080BC088: .4byte gBattleAnimTarget _080BC08C: .4byte gUnknown_2023D6E thumb_func_end sub_80BC060 @@ -53399,26 +53399,26 @@ sub_80BC090: @ 80BC090 push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 - ldr r0, _080BC0B8 @ =gUnknown_2037F1A + ldr r0, _080BC0B8 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide adds r4, r0, 0 - ldr r0, _080BC0BC @ =gUnknown_2037F1B + ldr r0, _080BC0BC @ =gBattleAnimTarget ldrb r0, [r0] bl GetBattlerSide lsls r4, 24 lsls r0, 24 cmp r4, r0 bne _080BC0C4 - ldr r1, _080BC0C0 @ =gUnknown_2037F02 + ldr r1, _080BC0C0 @ =gBattleAnimArgs movs r0, 0x1 b _080BC0C8 .align 2, 0 -_080BC0B8: .4byte gUnknown_2037F1A -_080BC0BC: .4byte gUnknown_2037F1B -_080BC0C0: .4byte gUnknown_2037F02 +_080BC0B8: .4byte gBattleAnimAttacker +_080BC0BC: .4byte gBattleAnimTarget +_080BC0C0: .4byte gBattleAnimArgs _080BC0C4: - ldr r1, _080BC0D8 @ =gUnknown_2037F02 + ldr r1, _080BC0D8 @ =gBattleAnimArgs movs r0, 0 _080BC0C8: strh r0, [r1, 0xE] @@ -53428,7 +53428,7 @@ _080BC0C8: pop {r0} bx r0 .align 2, 0 -_080BC0D8: .4byte gUnknown_2037F02 +_080BC0D8: .4byte gBattleAnimArgs thumb_func_end sub_80BC090 thumb_func_start sub_80BC0DC @@ -53436,7 +53436,7 @@ sub_80BC0DC: @ 80BC0DC push {lr} lsls r0, 24 lsrs r0, 24 - ldr r2, _080BC0F4 @ =gUnknown_2037F1B + ldr r2, _080BC0F4 @ =gBattleAnimTarget ldr r1, _080BC0F8 @ =gBattlerTarget ldrb r1, [r1] strb r1, [r2] @@ -53444,7 +53444,7 @@ sub_80BC0DC: @ 80BC0DC pop {r0} bx r0 .align 2, 0 -_080BC0F4: .4byte gUnknown_2037F1B +_080BC0F4: .4byte gBattleAnimTarget _080BC0F8: .4byte gBattlerTarget thumb_func_end sub_80BC0DC @@ -53453,11 +53453,11 @@ sub_80BC0FC: @ 80BC0FC push {lr} lsls r0, 24 lsrs r0, 24 - ldr r2, _080BC11C @ =gUnknown_2037F1A + ldr r2, _080BC11C @ =gBattleAnimAttacker ldr r1, _080BC120 @ =sBattler_AI ldrb r1, [r1] strb r1, [r2] - ldr r2, _080BC124 @ =gUnknown_2037F1B + ldr r2, _080BC124 @ =gBattleAnimTarget ldr r1, _080BC128 @ =gUnknown_2023D6E ldrb r1, [r1] strb r1, [r2] @@ -53465,9 +53465,9 @@ sub_80BC0FC: @ 80BC0FC pop {r0} bx r0 .align 2, 0 -_080BC11C: .4byte gUnknown_2037F1A +_080BC11C: .4byte gBattleAnimAttacker _080BC120: .4byte sBattler_AI -_080BC124: .4byte gUnknown_2037F1B +_080BC124: .4byte gBattleAnimTarget _080BC128: .4byte gUnknown_2023D6E thumb_func_end sub_80BC0FC @@ -53491,7 +53491,7 @@ _080BC144: adds r3, r0 ldr r0, _080BC18C @ =gUnknown_2024018 ldr r4, [r0] - ldr r2, _080BC190 @ =gUnknown_2037F1A + ldr r2, _080BC190 @ =gBattleAnimAttacker ldrb r0, [r2] ldr r1, [r4] lsls r0, 2 @@ -53521,7 +53521,7 @@ _080BC180: .align 2, 0 _080BC188: .4byte gTasks _080BC18C: .4byte gUnknown_2024018 -_080BC190: .4byte gUnknown_2037F1A +_080BC190: .4byte gBattleAnimAttacker _080BC194: .4byte sub_80BC19C _080BC198: .4byte gUnknown_2037EE2 thumb_func_end sub_80BC12C @@ -53531,7 +53531,7 @@ sub_80BC19C: @ 80BC19C push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _080BC1E8 @ =gUnknown_2037F02 + ldr r0, _080BC1E8 @ =gBattleAnimArgs movs r2, 0xE ldrsh r1, [r0, r2] movs r0, 0x80 @@ -53540,7 +53540,7 @@ sub_80BC19C: @ 80BC19C bne _080BC1E0 ldr r0, _080BC1EC @ =gUnknown_2024018 ldr r1, [r0] - ldr r0, _080BC1F0 @ =gUnknown_2037F1A + ldr r0, _080BC1F0 @ =gBattleAnimAttacker ldrb r3, [r0] ldr r0, [r1] lsls r3, 2 @@ -53566,9 +53566,9 @@ _080BC1E0: pop {r0} bx r0 .align 2, 0 -_080BC1E8: .4byte gUnknown_2037F02 +_080BC1E8: .4byte gBattleAnimArgs _080BC1EC: .4byte gUnknown_2024018 -_080BC1F0: .4byte gUnknown_2037F1A +_080BC1F0: .4byte gBattleAnimAttacker _080BC1F4: .4byte gTasks thumb_func_end sub_80BC19C diff --git a/asm/battle_anim_80DE2C0.s b/asm/battle_anim_80DE2C0.s index 603005d78..215771273 100644 --- a/asm/battle_anim_80DE2C0.s +++ b/asm/battle_anim_80DE2C0.s @@ -9,7 +9,7 @@ sub_80DE2C0: @ 80DE2C0 push {lr} adds r2, r0, 0 - ldr r1, _080DE2E4 @ =gUnknown_2037F02 + ldr r1, _080DE2E4 @ =gBattleAnimArgs ldrh r0, [r1] ldrh r3, [r2, 0x20] adds r0, r3 @@ -25,7 +25,7 @@ sub_80DE2C0: @ 80DE2C0 ldrh r0, [r1, 0x4] b _080DE2EC .align 2, 0 -_080DE2E4: .4byte gUnknown_2037F02 +_080DE2E4: .4byte gBattleAnimArgs _080DE2E8: ldrh r0, [r1, 0x4] negs r0, r0 @@ -89,7 +89,7 @@ sub_80DE34C: @ 80DE34C adds r5, r0, 0 lsls r5, 24 lsrs r5, 24 - ldr r6, _080DE398 @ =gUnknown_2037F1B + ldr r6, _080DE398 @ =gBattleAnimTarget ldrb r0, [r6] movs r1, 0x2 bl sub_8074480 @@ -119,7 +119,7 @@ sub_80DE34C: @ 80DE34C pop {r0} bx r0 .align 2, 0 -_080DE398: .4byte gUnknown_2037F1B +_080DE398: .4byte gBattleAnimTarget thumb_func_end sub_80DE34C thumb_func_start sub_80DE39C @@ -213,7 +213,7 @@ sub_80DE440: @ 80DE440 push {r4-r7,lr} sub sp, 0x4 adds r5, r0, 0 - ldr r4, _080DE4CC @ =gUnknown_2037F1B + ldr r4, _080DE4CC @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -260,7 +260,7 @@ _080DE49E: movs r1, 0 adds r2, r3, 0 bl sub_8075A1C - ldr r0, _080DE4D0 @ =gUnknown_2037F02 + ldr r0, _080DE4D0 @ =gBattleAnimArgs ldrh r0, [r0, 0x4] strh r0, [r5, 0x2E] strh r7, [r5, 0x32] @@ -275,8 +275,8 @@ _080DE49E: pop {r0} bx r0 .align 2, 0 -_080DE4CC: .4byte gUnknown_2037F1B -_080DE4D0: .4byte gUnknown_2037F02 +_080DE4CC: .4byte gBattleAnimTarget +_080DE4D0: .4byte gBattleAnimArgs _080DE4D4: .4byte sub_8075590 _080DE4D8: .4byte DestroyAnimSprite thumb_func_end sub_80DE440 @@ -642,7 +642,7 @@ _080DE766: add r0, r9 strh r1, [r0, 0x12] _080DE788: - ldr r0, _080DE7AC @ =gUnknown_2037F02 + ldr r0, _080DE7AC @ =gBattleAnimArgs ldrh r1, [r0, 0xE] ldr r0, _080DE7B0 @ =0x0000ffff cmp r1, r0 @@ -659,7 +659,7 @@ _080DE798: .align 2, 0 _080DE7A4: .4byte gTasks _080DE7A8: .4byte gPlttBufferFaded -_080DE7AC: .4byte gUnknown_2037F02 +_080DE7AC: .4byte gBattleAnimArgs _080DE7B0: .4byte 0x0000ffff thumb_func_end sub_80DE718 @@ -770,7 +770,7 @@ _080DE85A: adds r0, r2 strh r1, [r0, 0x12] _080DE87E: - ldr r0, _080DE8A8 @ =gUnknown_2037F02 + ldr r0, _080DE8A8 @ =gBattleAnimArgs ldrh r1, [r0, 0xE] ldr r0, _080DE8AC @ =0x0000ffff cmp r1, r0 @@ -789,7 +789,7 @@ _080DE88E: _080DE89C: .4byte gTasks _080DE8A0: .4byte gPlttBufferFaded _080DE8A4: .4byte gPlttBufferUnfaded -_080DE8A8: .4byte gUnknown_2037F02 +_080DE8A8: .4byte gBattleAnimArgs _080DE8AC: .4byte 0x0000ffff thumb_func_end sub_80DE7DC @@ -800,7 +800,7 @@ sub_80DE8B0: @ 80DE8B0 adds r4, r0, 0 movs r1, 0x1 bl sub_8075160 - ldr r0, _080DE914 @ =gUnknown_2037F1B + ldr r0, _080DE914 @ =gBattleAnimTarget ldrb r0, [r0] mov r5, sp adds r5, 0x2 @@ -808,18 +808,18 @@ sub_80DE8B0: @ 80DE8B0 mov r2, sp adds r3, r5, 0 bl sub_8076D9C - ldr r0, _080DE918 @ =gUnknown_2037F1A + ldr r0, _080DE918 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080DE8E4 - ldr r1, _080DE91C @ =gUnknown_2037F02 + ldr r1, _080DE91C @ =gBattleAnimArgs ldrh r0, [r1, 0x4] negs r0, r0 strh r0, [r1, 0x4] _080DE8E4: - ldr r1, _080DE91C @ =gUnknown_2037F02 + ldr r1, _080DE91C @ =gBattleAnimArgs ldrh r0, [r1, 0x8] strh r0, [r4, 0x2E] mov r2, sp @@ -842,9 +842,9 @@ _080DE8E4: pop {r0} bx r0 .align 2, 0 -_080DE914: .4byte gUnknown_2037F1B -_080DE918: .4byte gUnknown_2037F1A -_080DE91C: .4byte gUnknown_2037F02 +_080DE914: .4byte gBattleAnimTarget +_080DE918: .4byte gBattleAnimAttacker +_080DE91C: .4byte gBattleAnimArgs _080DE920: .4byte 0x0000ffce _080DE924: .4byte sub_80DE928 thumb_func_end sub_80DE8B0 @@ -919,7 +919,7 @@ sub_80DE99C: @ 80DE99C push {r4,r5,lr} adds r4, r0, 0 bl sub_8074FCC - ldr r5, _080DE9CC @ =gUnknown_2037F02 + ldr r5, _080DE9CC @ =gBattleAnimArgs movs r0, 0 ldrsh r1, [r5, r0] adds r0, r4, 0 @@ -937,7 +937,7 @@ sub_80DE99C: @ 80DE99C pop {r0} bx r0 .align 2, 0 -_080DE9CC: .4byte gUnknown_2037F02 +_080DE9CC: .4byte gBattleAnimArgs _080DE9D0: .4byte sub_8074F6C _080DE9D4: .4byte DestroyAnimSprite thumb_func_end sub_80DE99C @@ -952,7 +952,7 @@ sub_80DE9D8: @ 80DE9D8 bne _080DEA38 adds r0, r4, 0 bl sub_8074FCC - ldr r5, _080DEA14 @ =gUnknown_2037F02 + ldr r5, _080DEA14 @ =gBattleAnimArgs movs r2, 0 ldrsh r1, [r5, r2] adds r0, r4, 0 @@ -961,7 +961,7 @@ sub_80DE9D8: @ 80DE9D8 lsls r0, 24 cmp r0, 0 bne _080DEA2C - ldr r0, _080DEA18 @ =gUnknown_2037F1A + ldr r0, _080DEA18 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -970,8 +970,8 @@ sub_80DE9D8: @ 80DE9D8 ldrh r0, [r5, 0x4] b _080DEA32 .align 2, 0 -_080DEA14: .4byte gUnknown_2037F02 -_080DEA18: .4byte gUnknown_2037F1A +_080DEA14: .4byte gBattleAnimArgs +_080DEA18: .4byte gBattleAnimAttacker _080DEA1C: movs r1, 0x4 ldrsh r0, [r5, r1] @@ -1061,21 +1061,21 @@ sub_80DEAB4: @ 80DEAB4 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _080DEAD0 @ =gUnknown_2037F1B + ldr r0, _080DEAD0 @ =gBattleAnimTarget ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 bne _080DEAD8 - ldr r1, _080DEAD4 @ =gUnknown_2037F02 + ldr r1, _080DEAD4 @ =gBattleAnimArgs movs r0, 0 b _080DEADC .align 2, 0 -_080DEAD0: .4byte gUnknown_2037F1B -_080DEAD4: .4byte gUnknown_2037F02 +_080DEAD0: .4byte gBattleAnimTarget +_080DEAD4: .4byte gBattleAnimArgs _080DEAD8: - ldr r1, _080DEAEC @ =gUnknown_2037F02 + ldr r1, _080DEAEC @ =gBattleAnimArgs movs r0, 0x1 _080DEADC: strh r0, [r1, 0xE] @@ -1085,7 +1085,7 @@ _080DEADC: pop {r0} bx r0 .align 2, 0 -_080DEAEC: .4byte gUnknown_2037F02 +_080DEAEC: .4byte gBattleAnimArgs thumb_func_end sub_80DEAB4 thumb_func_start sub_80DEAF0 @@ -1097,14 +1097,14 @@ sub_80DEAF0: @ 80DEAF0 ldr r0, [r0] cmp r0, 0 ble _080DEB0C - ldr r1, _080DEB08 @ =gUnknown_2037F02 + ldr r1, _080DEB08 @ =gBattleAnimArgs movs r0, 0 b _080DEB10 .align 2, 0 _080DEB04: .4byte gUnknown_2037EE8 -_080DEB08: .4byte gUnknown_2037F02 +_080DEB08: .4byte gBattleAnimArgs _080DEB0C: - ldr r1, _080DEB1C @ =gUnknown_2037F02 + ldr r1, _080DEB1C @ =gBattleAnimArgs movs r0, 0x1 _080DEB10: strh r0, [r1, 0xE] @@ -1113,7 +1113,7 @@ _080DEB10: pop {r0} bx r0 .align 2, 0 -_080DEB1C: .4byte gUnknown_2037F02 +_080DEB1C: .4byte gBattleAnimArgs thumb_func_end sub_80DEAF0 thumb_func_start sub_80DEB20 @@ -1303,12 +1303,12 @@ _080DEC8C: .4byte 0x00003f3f sub_80DEC90: @ 80DEC90 push {r4-r6,lr} adds r5, r0, 0 - ldr r6, _080DED04 @ =gUnknown_2037F02 + ldr r6, _080DED04 @ =gBattleAnimArgs movs r1, 0x6 ldrsh r0, [r6, r1] cmp r0, 0 bne _080DECBC - ldr r4, _080DED08 @ =gUnknown_2037F1A + ldr r4, _080DED08 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0 bl sub_8074480 @@ -1358,8 +1358,8 @@ _080DECBC: movs r0, 0x2 b _080DED1E .align 2, 0 -_080DED04: .4byte gUnknown_2037F02 -_080DED08: .4byte gUnknown_2037F1A +_080DED04: .4byte gBattleAnimArgs +_080DED08: .4byte gBattleAnimAttacker _080DED0C: .4byte 0x000003ff _080DED10: .4byte 0xfffffc00 _080DED14: .4byte 0x0000fff4 @@ -1369,7 +1369,7 @@ _080DED18: ldr r0, _080DED3C @ =0x0000fffe _080DED1E: strh r0, [r5, 0x30] - ldr r1, _080DED40 @ =gUnknown_2037F02 + ldr r1, _080DED40 @ =gBattleAnimArgs ldrh r0, [r1, 0x8] strh r0, [r5, 0x2E] movs r2, 0x34 @@ -1386,7 +1386,7 @@ _080DED32: bx r0 .align 2, 0 _080DED3C: .4byte 0x0000fffe -_080DED40: .4byte gUnknown_2037F02 +_080DED40: .4byte gBattleAnimArgs _080DED44: .4byte sub_80DED48 thumb_func_end sub_80DEC90 @@ -1575,18 +1575,18 @@ _080DEEB8: .4byte gUnknown_202298A sub_80DEEBC: @ 80DEEBC push {r4-r6,lr} adds r5, r0, 0 - ldr r6, _080DEED0 @ =gUnknown_2037F02 + ldr r6, _080DEED0 @ =gBattleAnimArgs movs r1, 0 ldrsh r0, [r6, r1] cmp r0, 0 bne _080DEED8 - ldr r4, _080DEED4 @ =gUnknown_2037F1A + ldr r4, _080DEED4 @ =gBattleAnimAttacker b _080DEEDA .align 2, 0 -_080DEED0: .4byte gUnknown_2037F02 -_080DEED4: .4byte gUnknown_2037F1A +_080DEED0: .4byte gBattleAnimArgs +_080DEED4: .4byte gBattleAnimAttacker _080DEED8: - ldr r4, _080DEF2C @ =gUnknown_2037F1B + ldr r4, _080DEF2C @ =gBattleAnimTarget _080DEEDA: ldrb r0, [r4] movs r1, 0 @@ -1602,7 +1602,7 @@ _080DEEDA: lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] - ldr r2, _080DEF30 @ =gUnknown_2037F02 + ldr r2, _080DEF30 @ =gBattleAnimArgs ldrh r0, [r2, 0x4] strh r0, [r5, 0x26] movs r3, 0 @@ -1629,8 +1629,8 @@ _080DEF12: pop {r0} bx r0 .align 2, 0 -_080DEF2C: .4byte gUnknown_2037F1B -_080DEF30: .4byte gUnknown_2037F02 +_080DEF2C: .4byte gBattleAnimTarget +_080DEF30: .4byte gBattleAnimArgs _080DEF34: .4byte sub_80DEF38 thumb_func_end sub_80DEEBC @@ -1697,19 +1697,19 @@ sub_80DEF9C: @ 80DEF9C lsls r1, 3 ldr r0, _080DEFBC @ =gTasks adds r5, r1, r0 - ldr r0, _080DEFC0 @ =gUnknown_2037F02 + ldr r0, _080DEFC0 @ =gBattleAnimArgs movs r1, 0 ldrsh r0, [r0, r1] cmp r0, 0 bne _080DEFC8 - ldr r4, _080DEFC4 @ =gUnknown_2037F1A + ldr r4, _080DEFC4 @ =gBattleAnimAttacker b _080DEFCA .align 2, 0 _080DEFBC: .4byte gTasks -_080DEFC0: .4byte gUnknown_2037F02 -_080DEFC4: .4byte gUnknown_2037F1A +_080DEFC0: .4byte gBattleAnimArgs +_080DEFC4: .4byte gBattleAnimAttacker _080DEFC8: - ldr r4, _080DF010 @ =gUnknown_2037F1B + ldr r4, _080DF010 @ =gBattleAnimTarget _080DEFCA: ldrb r0, [r4] bl sub_807492C @@ -1735,7 +1735,7 @@ _080DEFF4: strh r0, [r5, 0xE] movs r0, 0x8 strh r0, [r5, 0x10] - ldr r1, _080DF014 @ =gUnknown_2037F02 + ldr r1, _080DF014 @ =gBattleAnimArgs ldrh r0, [r1, 0x2] strh r0, [r5, 0x12] strh r2, [r5, 0x14] @@ -1745,8 +1745,8 @@ _080DEFF4: ldr r0, _080DF018 @ =gBattle_BG1_X b _080DF01E .align 2, 0 -_080DF010: .4byte gUnknown_2037F1B -_080DF014: .4byte gUnknown_2037F02 +_080DF010: .4byte gBattleAnimTarget +_080DF014: .4byte gBattleAnimArgs _080DF018: .4byte gBattle_BG1_X _080DF01C: ldr r0, _080DF03C @ =gBattle_BG2_X @@ -2002,7 +2002,7 @@ sub_80DF1DC: @ 80DF1DC movs r5, 0 strh r5, [r4, 0x8] strh r5, [r4, 0xA] - ldr r6, _080DF234 @ =gUnknown_2037F1A + ldr r6, _080DF234 @ =gBattleAnimAttacker ldrb r0, [r6] movs r1, 0x2 bl sub_8074480 @@ -2032,7 +2032,7 @@ sub_80DF1DC: @ 80DF1DC bx r0 .align 2, 0 _080DF230: .4byte gTasks -_080DF234: .4byte gUnknown_2037F1A +_080DF234: .4byte gBattleAnimAttacker _080DF238: .4byte 0x0000ffec _080DF23C: .4byte sub_80DF240 thumb_func_end sub_80DF1DC @@ -2391,7 +2391,7 @@ _080DF4C4: strh r1, [r5, 0x26] movs r0, 0x14 strh r0, [r5, 0x2E] - ldr r4, _080DF51C @ =gUnknown_2037F1B + ldr r4, _080DF51C @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -2412,7 +2412,7 @@ _080DF510: bx r0 .align 2, 0 _080DF518: .4byte DestroyAnimSprite -_080DF51C: .4byte gUnknown_2037F1B +_080DF51C: .4byte gBattleAnimTarget _080DF520: .4byte sub_8075590 thumb_func_end sub_80DF468 @@ -2488,7 +2488,7 @@ _080DF5A0: beq _080DF664 b _080DF682 _080DF5AA: - ldr r4, _080DF5DC @ =gUnknown_2037F1A + ldr r4, _080DF5DC @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -2510,7 +2510,7 @@ _080DF5AA: strh r0, [r5, 0x32] b _080DF658 .align 2, 0 -_080DF5DC: .4byte gUnknown_2037F1A +_080DF5DC: .4byte gBattleAnimAttacker _080DF5E0: ldrh r0, [r5, 0x30] adds r0, 0x60 @@ -2602,7 +2602,7 @@ _080DF682: sub_80DF688: @ 80DF688 push {r4,lr} adds r4, r0, 0 - ldr r0, _080DF6A0 @ =gUnknown_2037F1A + ldr r0, _080DF6A0 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -2611,7 +2611,7 @@ sub_80DF688: @ 80DF688 ldr r0, _080DF6A4 @ =0x0000fff0 b _080DF6AC .align 2, 0 -_080DF6A0: .4byte gUnknown_2037F1A +_080DF6A0: .4byte gBattleAnimAttacker _080DF6A4: .4byte 0x0000fff0 _080DF6A8: movs r0, 0x80 @@ -2636,7 +2636,7 @@ sub_80DF6C0: @ 80DF6C0 ldrh r0, [r4, 0x2E] adds r0, 0x48 strh r0, [r4, 0x2E] - ldr r0, _080DF6E0 @ =gUnknown_2037F1A + ldr r0, _080DF6E0 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -2647,7 +2647,7 @@ sub_80DF6C0: @ 80DF6C0 asrs r0, 20 b _080DF6EC .align 2, 0 -_080DF6E0: .4byte gUnknown_2037F1A +_080DF6E0: .4byte gBattleAnimAttacker _080DF6E4: ldrh r0, [r4, 0x2E] lsls r0, 16 @@ -2947,7 +2947,7 @@ _080DF90A: movs r0, 0x90 lsls r0, 4 strh r0, [r4, 0x30] - ldr r0, _080DF930 @ =gUnknown_2037F1A + ldr r0, _080DF930 @ =gBattleAnimAttacker ldrb r0, [r0] movs r1, 0x3 bl sub_8074480 @@ -2959,7 +2959,7 @@ _080DF90A: strh r0, [r4, 0x2E] b _080DF95C .align 2, 0 -_080DF930: .4byte gUnknown_2037F1A +_080DF930: .4byte gBattleAnimAttacker _080DF934: ldrh r2, [r4, 0x30] lsls r1, r2, 16 @@ -3067,7 +3067,7 @@ _080DFA00: movs r0, 0x4C movs r1, 0 bl SetGpuReg - ldr r0, _080DFA24 @ =gUnknown_2037F1A + ldr r0, _080DFA24 @ =gBattleAnimAttacker ldrb r0, [r0] bl sub_80768B0 lsls r0, 24 @@ -3080,7 +3080,7 @@ _080DFA00: bl SetAnimBgAttribute b _080DFA32 .align 2, 0 -_080DFA24: .4byte gUnknown_2037F1A +_080DFA24: .4byte gBattleAnimAttacker _080DFA28: movs r0, 0x2 movs r1, 0x2 @@ -3092,13 +3092,13 @@ _080DFA32: adds r1, r5 lsls r1, 3 adds r1, r0 - ldr r0, _080DFA48 @ =gUnknown_2037F02 + ldr r0, _080DFA48 @ =gBattleAnimArgs ldrh r0, [r0] strh r0, [r1, 0x1C] b _080DFB00 .align 2, 0 _080DFA44: .4byte gTasks -_080DFA48: .4byte gUnknown_2037F02 +_080DFA48: .4byte gBattleAnimArgs _080DFA4C: lsls r0, r5, 2 adds r0, r5 @@ -3131,9 +3131,9 @@ _080DFA64: _080DFA84: b _080DFB50 _080DFA86: - ldr r6, _080DFAB4 @ =gUnknown_2037F1A + ldr r6, _080DFAB4 @ =gBattleAnimAttacker ldrb r0, [r6] - ldr r1, _080DFAB8 @ =gUnknown_2037F1B + ldr r1, _080DFAB8 @ =gBattleAnimTarget ldrb r1, [r1] lsls r4, r5, 2 adds r2, r4, r5 @@ -3151,8 +3151,8 @@ _080DFA86: movs r1, 0 b _080DFAC6 .align 2, 0 -_080DFAB4: .4byte gUnknown_2037F1A -_080DFAB8: .4byte gUnknown_2037F1B +_080DFAB4: .4byte gBattleAnimAttacker +_080DFAB8: .4byte gBattleAnimTarget _080DFABC: ldrb r0, [r6] bl GetBattlerPosition @@ -3165,7 +3165,7 @@ _080DFAC6: adds r2, 0x4 adds r2, r0 ldr r1, _080DFB0C @ =gBattleMonForms - ldr r0, _080DFB10 @ =gUnknown_2037F1A + ldr r0, _080DFB10 @ =gBattleAnimAttacker ldrb r0, [r0] adds r0, r1 ldrb r1, [r0] @@ -3194,7 +3194,7 @@ _080DFB00: .align 2, 0 _080DFB08: .4byte gMonSpritesGfxPtr _080DFB0C: .4byte gBattleMonForms -_080DFB10: .4byte gUnknown_2037F1A +_080DFB10: .4byte gBattleAnimAttacker _080DFB14: .4byte 0x04000200 _080DFB18: .4byte gTasks _080DFB1C: @@ -3232,7 +3232,7 @@ _080DFB58: movs r0, 0x4C movs r1, 0 bl SetGpuReg - ldr r0, _080DFB7C @ =gUnknown_2037F1A + ldr r0, _080DFB7C @ =gBattleAnimAttacker ldrb r0, [r0] bl sub_80768B0 lsls r0, 24 @@ -3245,7 +3245,7 @@ _080DFB58: bl SetAnimBgAttribute b _080DFB8A .align 2, 0 -_080DFB7C: .4byte gUnknown_2037F1A +_080DFB7C: .4byte gBattleAnimAttacker _080DFB80: movs r0, 0x2 movs r1, 0x2 @@ -3256,7 +3256,7 @@ _080DFB8A: lsls r0, 24 cmp r0, 0 bne _080DFBC8 - ldr r4, _080DFBD8 @ =gUnknown_2037F1A + ldr r4, _080DFBD8 @ =gBattleAnimAttacker ldrb r0, [r4] bl GetBattlerSide lsls r0, 24 @@ -3289,7 +3289,7 @@ _080DFBCE: pop {r0} bx r0 .align 2, 0 -_080DFBD8: .4byte gUnknown_2037F1A +_080DFBD8: .4byte gBattleAnimAttacker _080DFBDC: .4byte gTasks _080DFBE0: .4byte gUnknown_2024018 thumb_func_end sub_80DF9BC @@ -3299,10 +3299,10 @@ c3_80DFBE4: @ 80DFBE4 push {r4,lr} lsls r0, 24 lsrs r0, 24 - ldr r4, _080DFC14 @ =gUnknown_2037F02 + ldr r4, _080DFC14 @ =gBattleAnimArgs ldr r3, _080DFC18 @ =gSprites ldr r2, _080DFC1C @ =gUnknown_2023D44 - ldr r1, _080DFC20 @ =gUnknown_2037F1A + ldr r1, _080DFC20 @ =gBattleAnimAttacker ldrb r1, [r1] adds r1, r2 ldrb r2, [r1] @@ -3320,10 +3320,10 @@ c3_80DFBE4: @ 80DFBE4 pop {r0} bx r0 .align 2, 0 -_080DFC14: .4byte gUnknown_2037F02 +_080DFC14: .4byte gBattleAnimArgs _080DFC18: .4byte gSprites _080DFC1C: .4byte gUnknown_2023D44 -_080DFC20: .4byte gUnknown_2037F1A +_080DFC20: .4byte gBattleAnimAttacker thumb_func_end c3_80DFBE4 thumb_func_start sub_80DFC24 @@ -3332,9 +3332,9 @@ sub_80DFC24: @ 80DFC24 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, _080DFC48 @ =gUnknown_2037F1A + ldr r0, _080DFC48 @ =gBattleAnimAttacker ldrb r0, [r0] - ldr r1, _080DFC4C @ =gUnknown_2037F1B + ldr r1, _080DFC4C @ =gBattleAnimTarget ldrb r1, [r1] movs r2, 0x1 bl sub_8034BF4 @@ -3344,8 +3344,8 @@ sub_80DFC24: @ 80DFC24 pop {r0} bx r0 .align 2, 0 -_080DFC48: .4byte gUnknown_2037F1A -_080DFC4C: .4byte gUnknown_2037F1B +_080DFC48: .4byte gBattleAnimAttacker +_080DFC4C: .4byte gBattleAnimTarget thumb_func_end sub_80DFC24 thumb_func_start sub_80DFC50 @@ -3445,7 +3445,7 @@ _080DFD24: .4byte gFile_graphics_battle_anims_masks_morning_sun_palette _080DFD28: .4byte gBattle_BG1_X _080DFD2C: .4byte 0x0000ffc8 _080DFD30: - ldr r0, _080DFD48 @ =gUnknown_2037F1A + ldr r0, _080DFD48 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -3456,7 +3456,7 @@ _080DFD30: adds r0, r2, 0 b _080DFD5A .align 2, 0 -_080DFD48: .4byte gUnknown_2037F1A +_080DFD48: .4byte gBattleAnimAttacker _080DFD4C: .4byte gBattle_BG1_X _080DFD50: .4byte 0x0000ff79 _080DFD54: @@ -3675,7 +3675,7 @@ sub_80DFEDC: @ 80DFEDC lsls r0, 16 lsrs r5, r0, 16 _080DFF06: - ldr r4, _080E0000 @ =gUnknown_2037F1A + ldr r4, _080E0000 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0 bl sub_8074480 @@ -3690,7 +3690,7 @@ _080DFF06: lsrs r0, 24 adds r0, 0x20 strh r0, [r7, 0x22] - ldr r1, _080E0004 @ =gUnknown_2037F02 + ldr r1, _080E0004 @ =gBattleAnimArgs ldrh r0, [r1] strh r0, [r7, 0x30] ldrh r0, [r1, 0x2] @@ -3748,7 +3748,7 @@ _080DFF06: adds r0, r4, 0 movs r1, 0x2 bl StartSpriteAnim - ldr r1, _080E0004 @ =gUnknown_2037F02 + ldr r1, _080E0004 @ =gBattleAnimArgs ldrh r0, [r1] strh r0, [r5, 0x30] ldrh r0, [r1, 0x2] @@ -3794,8 +3794,8 @@ _080DFF06: pop {r0} bx r0 .align 2, 0 -_080E0000: .4byte gUnknown_2037F1A -_080E0004: .4byte gUnknown_2037F02 +_080E0000: .4byte gBattleAnimAttacker +_080E0004: .4byte gBattleAnimArgs _080E0008: .4byte gUnknown_83FF26C _080E000C: .4byte gSprites _080E0010: .4byte 0x0000ffff @@ -4089,7 +4089,7 @@ _080E0258: .4byte gFile_graphics_battle_anims_masks_morning_sun_palette _080E025C: .4byte gBattle_BG1_X _080E0260: .4byte 0x0000ffc8 _080E0264: - ldr r0, _080E02A4 @ =gUnknown_2037F1B + ldr r0, _080E02A4 @ =gBattleAnimTarget ldrb r0, [r0] bl GetBattlerPosition lsls r0, 24 @@ -4123,7 +4123,7 @@ _080E029A: ldr r2, _080E02B4 @ =0x0000ffec b _080E02CC .align 2, 0 -_080E02A4: .4byte gUnknown_2037F1B +_080E02A4: .4byte gBattleAnimTarget _080E02A8: .4byte gBattle_BG1_X _080E02AC: .4byte 0x0000ff65 _080E02B0: .4byte 0x0000ff8d @@ -4174,7 +4174,7 @@ _080E0304: adds r5, r0, r1 movs r0, 0 strh r0, [r5, 0xE] - ldr r0, _080E033C @ =gUnknown_2037F1B + ldr r0, _080E033C @ =gBattleAnimTarget ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -4194,7 +4194,7 @@ _080E0304: b _080E035A .align 2, 0 _080E0338: .4byte gTasks -_080E033C: .4byte gUnknown_2037F1B +_080E033C: .4byte gBattleAnimTarget _080E0340: .4byte gBattle_BG1_X _080E0344: .4byte gUnknown_83FF284 _080E0348: @@ -4426,7 +4426,7 @@ _080E04FE: ldrh r0, [r4, 0x32] adds r0, 0x80 strh r0, [r4, 0x32] - ldr r0, _080E052C @ =gUnknown_2037F1A + ldr r0, _080E052C @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -4438,7 +4438,7 @@ _080E04FE: negs r0, r0 b _080E0536 .align 2, 0 -_080E052C: .4byte gUnknown_2037F1A +_080E052C: .4byte gBattleAnimAttacker _080E0530: ldrh r0, [r4, 0x30] lsls r0, 16 @@ -4473,7 +4473,7 @@ sub_80E0558: @ 80E0558 lsls r0, 3 ldr r1, _080E057C @ =gTasks adds r4, r0, r1 - ldr r5, _080E0580 @ =gUnknown_2037F02 + ldr r5, _080E0580 @ =gBattleAnimArgs movs r1, 0x2 ldrsh r0, [r5, r1] cmp r0, 0 @@ -4483,7 +4483,7 @@ sub_80E0558: @ 80E0558 b _080E0618 .align 2, 0 _080E057C: .4byte gTasks -_080E0580: .4byte gUnknown_2037F02 +_080E0580: .4byte gBattleAnimArgs _080E0584: movs r1, 0x4 ldrsh r0, [r5, r1] @@ -4531,12 +4531,12 @@ _080E059C: ldrsh r0, [r5, r1] cmp r0, 0 bne _080E05E8 - ldr r0, _080E05E4 @ =gUnknown_2037F1A + ldr r0, _080E05E4 @ =gBattleAnimAttacker b _080E05EA .align 2, 0 -_080E05E4: .4byte gUnknown_2037F1A +_080E05E4: .4byte gBattleAnimAttacker _080E05E8: - ldr r0, _080E0620 @ =gUnknown_2037F1B + ldr r0, _080E0620 @ =gBattleAnimTarget _080E05EA: ldrb r0, [r0] bl GetBattlerSide @@ -4565,7 +4565,7 @@ _080E0618: pop {r0} bx r0 .align 2, 0 -_080E0620: .4byte gUnknown_2037F1B +_080E0620: .4byte gBattleAnimTarget _080E0624: .4byte sub_80E0628 thumb_func_end sub_80E0558 @@ -4754,7 +4754,7 @@ _080E0788: sub_80E0790: @ 80E0790 push {r4,lr} adds r4, r0, 0 - ldr r0, _080E07AC @ =gUnknown_2037F1A + ldr r0, _080E07AC @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -4762,16 +4762,16 @@ sub_80E0790: @ 80E0790 cmp r0, 0 bne _080E07B4 strh r0, [r4, 0x20] - ldr r1, _080E07B0 @ =gUnknown_2037F02 + ldr r1, _080E07B0 @ =gBattleAnimArgs ldrh r0, [r1] b _080E07BE .align 2, 0 -_080E07AC: .4byte gUnknown_2037F1A -_080E07B0: .4byte gUnknown_2037F02 +_080E07AC: .4byte gBattleAnimAttacker +_080E07B0: .4byte gBattleAnimArgs _080E07B4: movs r0, 0xF0 strh r0, [r4, 0x20] - ldr r1, _080E07D8 @ =gUnknown_2037F02 + ldr r1, _080E07D8 @ =gBattleAnimArgs ldrh r0, [r1] subs r0, 0x1E _080E07BE: @@ -4787,7 +4787,7 @@ _080E07BE: pop {r0} bx r0 .align 2, 0 -_080E07D8: .4byte gUnknown_2037F02 +_080E07D8: .4byte gBattleAnimArgs _080E07DC: .4byte sub_80E07E0 thumb_func_end sub_80E0790 @@ -4798,7 +4798,7 @@ sub_80E07E0: @ 80E07E0 ldrh r0, [r4, 0x2E] adds r0, 0x3 strh r0, [r4, 0x2E] - ldr r0, _080E0820 @ =gUnknown_2037F1A + ldr r0, _080E0820 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -4824,7 +4824,7 @@ _080E0812: bl Sin b _080E0848 .align 2, 0 -_080E0820: .4byte gUnknown_2037F1A +_080E0820: .4byte gBattleAnimAttacker _080E0824: ldrh r1, [r4, 0x20] subs r1, 0x5 @@ -4872,7 +4872,7 @@ sub_80E0850: @ 80E0850 movs r0, 0x80 lsls r0, 4 strh r0, [r4, 0x24] - ldr r0, _080E089C @ =gUnknown_2037F02 + ldr r0, _080E089C @ =gBattleAnimArgs ldrb r0, [r0] bl GetAnimBankSpriteId lsls r0, 24 @@ -4887,7 +4887,7 @@ sub_80E0850: @ 80E0850 bx r0 .align 2, 0 _080E0898: .4byte gTasks -_080E089C: .4byte gUnknown_2037F02 +_080E089C: .4byte gBattleAnimArgs _080E08A0: .4byte sub_80E08A4 thumb_func_end sub_80E0850 @@ -5108,12 +5108,12 @@ sub_80E0A3C: @ 80E0A3C ldrsh r0, [r5, r1] cmp r0, 0 bne _080E0A9C - ldr r6, _080E0A94 @ =gUnknown_2037F02 + ldr r6, _080E0A94 @ =gBattleAnimArgs movs r2, 0x4 ldrsh r0, [r6, r2] cmp r0, 0 bne _080E0A70 - ldr r4, _080E0A98 @ =gUnknown_2037F1A + ldr r4, _080E0A98 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -5146,8 +5146,8 @@ _080E0A70: strh r0, [r5, 0x2E] b _080E0AFA .align 2, 0 -_080E0A94: .4byte gUnknown_2037F02 -_080E0A98: .4byte gUnknown_2037F1A +_080E0A94: .4byte gBattleAnimArgs +_080E0A98: .4byte gBattleAnimAttacker _080E0A9C: ldrh r1, [r5, 0x30] lsls r0, r1, 16 @@ -5218,20 +5218,20 @@ sub_80E0B00: @ 80E0B00 ldrsh r0, [r2, r1] cmp r0, 0 bne _080E0C0C - ldr r0, _080E0B34 @ =gUnknown_2037F02 + ldr r0, _080E0B34 @ =gBattleAnimArgs movs r3, 0 ldrsh r1, [r0, r3] mov r8, r0 cmp r1, 0 bne _080E0B3C - ldr r0, _080E0B38 @ =gUnknown_2037F1A + ldr r0, _080E0B38 @ =gBattleAnimAttacker b _080E0B3E .align 2, 0 _080E0B30: .4byte gTasks -_080E0B34: .4byte gUnknown_2037F02 -_080E0B38: .4byte gUnknown_2037F1A +_080E0B34: .4byte gBattleAnimArgs +_080E0B38: .4byte gBattleAnimAttacker _080E0B3C: - ldr r0, _080E0B78 @ =gUnknown_2037F1B + ldr r0, _080E0B78 @ =gBattleAnimTarget _080E0B3E: ldrb r0, [r0] strh r0, [r2, 0x1E] @@ -5261,7 +5261,7 @@ _080E0B3E: lsls r2, r5, 4 b _080E0BE8 .align 2, 0 -_080E0B78: .4byte gUnknown_2037F1B +_080E0B78: .4byte gBattleAnimTarget _080E0B7C: .4byte gTasks _080E0B80: cmp r0, 0x2 @@ -5443,7 +5443,7 @@ _080E0CDA: subs r0, r1 _080E0CE2: strh r0, [r4, 0x30] - ldr r0, _080E0CF4 @ =gUnknown_2037F02 + ldr r0, _080E0CF4 @ =gBattleAnimArgs ldrh r0, [r0] strh r0, [r4, 0x32] lsls r0, 16 @@ -5452,7 +5452,7 @@ _080E0CE2: ldr r0, _080E0CF8 @ =0x0000fff8 b _080E0CFE .align 2, 0 -_080E0CF4: .4byte gUnknown_2037F02 +_080E0CF4: .4byte gBattleAnimArgs _080E0CF8: .4byte 0x0000fff8 _080E0CFC: movs r0, 0xF8 @@ -5546,7 +5546,7 @@ sub_80E0D74: @ 80E0D74 ldrh r1, [r4] movs r0, 0x44 bl SetGpuReg - ldr r0, _080E0DE4 @ =gUnknown_2037F02 + ldr r0, _080E0DE4 @ =gBattleAnimArgs ldrh r0, [r0, 0x4] strh r0, [r5, 0x2E] adds r0, r5, 0 @@ -5574,7 +5574,7 @@ sub_80E0D74: @ 80E0D74 _080E0DD8: .4byte 0x00001f3f _080E0DDC: .4byte gUnknown_2022984 _080E0DE0: .4byte gUnknown_2022986 -_080E0DE4: .4byte gUnknown_2037F02 +_080E0DE4: .4byte gBattleAnimArgs _080E0DE8: .4byte sub_80E0DEC thumb_func_end sub_80E0D74 @@ -5672,7 +5672,7 @@ _080E0E90: .4byte 0x00003f3f sub_80E0E94: @ 80E0E94 push {r4,r5,lr} adds r4, r0, 0 - ldr r5, _080E0ED0 @ =gUnknown_2037F1A + ldr r5, _080E0ED0 @ =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0x2 bl sub_8074480 @@ -5685,7 +5685,7 @@ sub_80E0E94: @ 80E0E94 lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x22] - ldr r1, _080E0ED4 @ =gUnknown_2037F02 + ldr r1, _080E0ED4 @ =gBattleAnimArgs ldrh r0, [r1] strh r0, [r4, 0x2E] ldrh r0, [r1, 0x2] @@ -5698,8 +5698,8 @@ sub_80E0E94: @ 80E0E94 pop {r0} bx r0 .align 2, 0 -_080E0ED0: .4byte gUnknown_2037F1A -_080E0ED4: .4byte gUnknown_2037F02 +_080E0ED0: .4byte gBattleAnimAttacker +_080E0ED4: .4byte gBattleAnimArgs _080E0ED8: .4byte sub_80E0EDC thumb_func_end sub_80E0E94 @@ -5733,15 +5733,15 @@ sub_80E0EDC: @ 80E0EDC cmp r0, 0xC3 ble _080E0F28 _080E0F16: - ldr r0, _080E0F24 @ =gUnknown_2037F1A + ldr r0, _080E0F24 @ =gBattleAnimAttacker ldrb r0, [r0] bl sub_807685C subs r0, 0x1 b _080E0F32 .align 2, 0 -_080E0F24: .4byte gUnknown_2037F1A +_080E0F24: .4byte gBattleAnimAttacker _080E0F28: - ldr r0, _080E0F74 @ =gUnknown_2037F1A + ldr r0, _080E0F74 @ =gBattleAnimAttacker ldrb r0, [r0] bl sub_807685C adds r0, 0x1 @@ -5779,7 +5779,7 @@ _080E0F32: strh r0, [r4, 0x38] b _080E0FA8 .align 2, 0 -_080E0F74: .4byte gUnknown_2037F1A +_080E0F74: .4byte gBattleAnimAttacker _080E0F78: cmp r2, 0x1 bne _080E0FA8 @@ -5826,7 +5826,7 @@ sub_80E0FB8: @ 80E0FB8 str r0, [sp, 0x18] movs r0, 0 bl GetAnimBankSpriteId - ldr r0, _080E1040 @ =gUnknown_2037F1A + ldr r0, _080E1040 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -5835,7 +5835,7 @@ sub_80E0FB8: @ 80E0FB8 movs r0, 0 str r0, [sp, 0x1C] ldr r6, _080E1044 @ =gBattlerPartyIndexes - ldr r4, _080E1048 @ =gUnknown_2037F1B + ldr r4, _080E1048 @ =gBattleAnimTarget ldrb r0, [r4] lsls r0, 1 adds r0, r6 @@ -5878,9 +5878,9 @@ sub_80E0FB8: @ 80E0FB8 adds r0, r7 b _080E1062 .align 2, 0 -_080E1040: .4byte gUnknown_2037F1A +_080E1040: .4byte gBattleAnimAttacker _080E1044: .4byte gBattlerPartyIndexes -_080E1048: .4byte gUnknown_2037F1B +_080E1048: .4byte gBattleAnimTarget _080E104C: .4byte gPlayerParty _080E1050: .4byte gUnknown_2024018 _080E1054: @@ -5909,7 +5909,7 @@ _080E107C: movs r2, 0x1 str r2, [sp, 0x1C] ldr r6, _080E10E0 @ =gBattlerPartyIndexes - ldr r4, _080E10E4 @ =gUnknown_2037F1B + ldr r4, _080E10E4 @ =gBattleAnimTarget ldrb r0, [r4] lsls r0, 1 adds r0, r6 @@ -5954,7 +5954,7 @@ _080E107C: b _080E1100 .align 2, 0 _080E10E0: .4byte gBattlerPartyIndexes -_080E10E4: .4byte gUnknown_2037F1B +_080E10E4: .4byte gBattleAnimTarget _080E10E8: .4byte gEnemyParty _080E10EC: .4byte gUnknown_2024018 _080E10F0: .4byte gPlayerParty @@ -5977,12 +5977,12 @@ _080E110E: ldr r3, _080E11FC @ =0x0000ffec mov r8, r3 _080E1112: - ldr r0, _080E1200 @ =gUnknown_2037F1A + ldr r0, _080E1200 @ =gBattleAnimAttacker ldrb r0, [r0] bl sub_8076884 lsls r0, 24 lsrs r7, r0, 24 - ldr r5, _080E1200 @ =gUnknown_2037F1A + ldr r5, _080E1200 @ =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0 bl sub_8074480 @@ -6007,7 +6007,7 @@ _080E1112: str r3, [sp, 0x8] mov r0, r9 str r0, [sp, 0xC] - ldr r0, _080E1204 @ =gUnknown_2037F1B + ldr r0, _080E1204 @ =gBattleAnimTarget ldrb r0, [r0] str r0, [sp, 0x10] movs r0, 0x1 @@ -6089,8 +6089,8 @@ _080E1112: bx r0 .align 2, 0 _080E11FC: .4byte 0x0000ffec -_080E1200: .4byte gUnknown_2037F1A -_080E1204: .4byte gUnknown_2037F1B +_080E1200: .4byte gBattleAnimAttacker +_080E1204: .4byte gBattleAnimTarget _080E1208: .4byte gSprites _080E120C: .4byte 0x00007fff _080E1210: .4byte gTasks @@ -6222,19 +6222,19 @@ sub_80E12F8: @ 80E12F8 lsls r1, 3 ldr r0, _080E1318 @ =gTasks adds r4, r1, r0 - ldr r0, _080E131C @ =gUnknown_2037F02 + ldr r0, _080E131C @ =gBattleAnimArgs movs r1, 0 ldrsh r0, [r0, r1] cmp r0, 0 bne _080E1324 - ldr r0, _080E1320 @ =gUnknown_2037F1A + ldr r0, _080E1320 @ =gBattleAnimAttacker b _080E1326 .align 2, 0 _080E1318: .4byte gTasks -_080E131C: .4byte gUnknown_2037F02 -_080E1320: .4byte gUnknown_2037F1A +_080E131C: .4byte gBattleAnimArgs +_080E1320: .4byte gBattleAnimAttacker _080E1324: - ldr r0, _080E13A4 @ =gUnknown_2037F1B + ldr r0, _080E13A4 @ =gBattleAnimTarget _080E1326: ldrb r5, [r0] movs r6, 0 @@ -6274,7 +6274,7 @@ _080E136C: ldrh r0, [r4, 0x22] adds r0, 0x42 strh r0, [r4, 0x24] - ldr r0, _080E13A8 @ =gUnknown_2037F02 + ldr r0, _080E13A8 @ =gBattleAnimArgs ldrb r0, [r0] bl GetAnimBankSpriteId lsls r0, 24 @@ -6296,8 +6296,8 @@ _080E136C: ldr r0, _080E13B8 @ =gBattle_BG1_Y b _080E13CE .align 2, 0 -_080E13A4: .4byte gUnknown_2037F1B -_080E13A8: .4byte gUnknown_2037F02 +_080E13A4: .4byte gBattleAnimTarget +_080E13A8: .4byte gBattleAnimArgs _080E13AC: .4byte 0x04000014 _080E13B0: .4byte 0x00003f42 _080E13B4: .4byte gBattle_BG1_X @@ -6741,7 +6741,7 @@ sub_80E1704: @ 80E1704 adds r4, r0 movs r0, 0 strh r0, [r4, 0x8] - ldr r0, _080E1740 @ =gUnknown_2037F02 + ldr r0, _080E1740 @ =gBattleAnimArgs ldrb r0, [r0] bl GetAnimBankSpriteId adds r1, r0, 0 @@ -6758,7 +6758,7 @@ sub_80E1704: @ 80E1704 bx r0 .align 2, 0 _080E173C: .4byte gTasks -_080E1740: .4byte gUnknown_2037F02 +_080E1740: .4byte gBattleAnimArgs _080E1744: .4byte gUnknown_83FF3D0 _080E1748: .4byte sub_80E174C thumb_func_end sub_80E1704 @@ -6921,7 +6921,7 @@ sub_80E186C: @ 80E186C ldrh r6, [r4, 0x20] ldrh r5, [r4, 0x22] bl sub_8074FCC - ldr r0, _080E18B4 @ =gUnknown_2037F02 + ldr r0, _080E18B4 @ =gBattleAnimArgs ldrb r1, [r0] adds r0, r4, 0 bl StartSpriteAffineAnim @@ -6948,7 +6948,7 @@ sub_80E186C: @ 80E186C pop {r0} bx r0 .align 2, 0 -_080E18B4: .4byte gUnknown_2037F02 +_080E18B4: .4byte gBattleAnimArgs _080E18B8: .4byte sub_80E18BC thumb_func_end sub_80E186C @@ -7012,13 +7012,13 @@ _080E1922: sub_80E1928: @ 80E1928 push {r4-r6,lr} adds r5, r0, 0 - ldr r6, _080E1980 @ =gUnknown_2037F02 + ldr r6, _080E1980 @ =gBattleAnimArgs ldrh r0, [r6, 0x6] strh r0, [r5, 0x2E] ldrb r1, [r6] adds r0, r5, 0 bl StartSpriteAffineAnim - ldr r0, _080E1984 @ =gUnknown_2037F1B + ldr r0, _080E1984 @ =gBattleAnimTarget ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -7028,7 +7028,7 @@ sub_80E1928: @ 80E1928 negs r0, r0 strh r0, [r6, 0x2] _080E194E: - ldr r4, _080E1988 @ =gUnknown_2037F1A + ldr r4, _080E1988 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -7051,9 +7051,9 @@ _080E194E: pop {r0} bx r0 .align 2, 0 -_080E1980: .4byte gUnknown_2037F02 -_080E1984: .4byte gUnknown_2037F1B -_080E1988: .4byte gUnknown_2037F1A +_080E1980: .4byte gBattleAnimArgs +_080E1984: .4byte gBattleAnimTarget +_080E1988: .4byte gBattleAnimAttacker _080E198C: .4byte sub_80B1D3C thumb_func_end sub_80E1928 @@ -7442,12 +7442,12 @@ sub_80E1C48: @ 80E1C48 mov r1, r8 adds r4, r0, r1 ldr r1, _080E1CAC @ =gUnknown_2023D44 - ldr r2, _080E1CB0 @ =gUnknown_2037F1A + ldr r2, _080E1CB0 @ =gBattleAnimAttacker ldrb r0, [r2] adds r0, r1 ldrb r0, [r0] strh r0, [r4, 0x26] - ldr r5, _080E1CB4 @ =gUnknown_2037F02 + ldr r5, _080E1CB4 @ =gBattleAnimArgs ldrh r0, [r5] strh r0, [r4, 0x24] ldrh r0, [r5] @@ -7479,8 +7479,8 @@ _080E1C8C: .align 2, 0 _080E1CA8: .4byte gTasks _080E1CAC: .4byte gUnknown_2023D44 -_080E1CB0: .4byte gUnknown_2037F1A -_080E1CB4: .4byte gUnknown_2037F02 +_080E1CB0: .4byte gBattleAnimAttacker +_080E1CB4: .4byte gBattleAnimArgs _080E1CB8: .4byte 0xffff8000 _080E1CBC: movs r7, 0x2 @@ -7503,7 +7503,7 @@ _080E1CD8: orrs r0, r1 _080E1CE0: strh r0, [r4, 0xC] - ldr r0, _080E1D0C @ =gUnknown_2037F02 + ldr r0, _080E1D0C @ =gBattleAnimArgs movs r3, 0x4 ldrsh r1, [r0, r3] movs r2, 0x80 @@ -7523,7 +7523,7 @@ _080E1CE0: b _080E1D2A .align 2, 0 _080E1D08: .4byte 0xffff8000 -_080E1D0C: .4byte gUnknown_2037F02 +_080E1D0C: .4byte gBattleAnimArgs _080E1D10: .4byte gTasks _080E1D14: .4byte 0x00007fff _080E1D18: @@ -7572,7 +7572,7 @@ sub_80E1D5C: @ 80E1D5C lsls r0, 3 ldr r1, _080E1D94 @ =gTasks adds r5, r0, r1 - ldr r4, _080E1D98 @ =gUnknown_2037F02 + ldr r4, _080E1D98 @ =gBattleAnimArgs movs r1, 0x2 ldrsh r0, [r4, r1] cmp r0, 0 @@ -7590,14 +7590,14 @@ _080E1D7C: ldrsh r0, [r4, r1] cmp r0, 0 bne _080E1DA0 - ldr r0, _080E1D9C @ =gUnknown_2037F1A + ldr r0, _080E1D9C @ =gBattleAnimAttacker b _080E1DA2 .align 2, 0 _080E1D94: .4byte gTasks -_080E1D98: .4byte gUnknown_2037F02 -_080E1D9C: .4byte gUnknown_2037F1A +_080E1D98: .4byte gBattleAnimArgs +_080E1D9C: .4byte gBattleAnimAttacker _080E1DA0: - ldr r0, _080E1DF0 @ =gUnknown_2037F1B + ldr r0, _080E1DF0 @ =gBattleAnimTarget _080E1DA2: ldrb r4, [r0] adds r0, r4, 0 @@ -7617,7 +7617,7 @@ _080E1DA2: lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x14] - ldr r0, _080E1DF4 @ =gUnknown_2037F02 + ldr r0, _080E1DF4 @ =gBattleAnimArgs ldrb r0, [r0] bl GetAnimBankSpriteId adds r1, r0, 0 @@ -7633,8 +7633,8 @@ _080E1DA2: pop {r0} bx r0 .align 2, 0 -_080E1DF0: .4byte gUnknown_2037F1B -_080E1DF4: .4byte gUnknown_2037F02 +_080E1DF0: .4byte gBattleAnimTarget +_080E1DF4: .4byte gBattleAnimArgs _080E1DF8: .4byte gUnknown_83FF52C _080E1DFC: .4byte sub_80E1E00 thumb_func_end sub_80E1D5C @@ -7888,7 +7888,7 @@ sub_80E1FC4: @ 80E1FC4 adds r4, r1 movs r0, 0 strh r0, [r4, 0x8] - ldr r1, _080E2010 @ =gUnknown_2037F02 + ldr r1, _080E2010 @ =gBattleAnimArgs ldrh r0, [r1, 0x2] strh r0, [r4, 0xA] ldrb r0, [r1] @@ -7915,7 +7915,7 @@ sub_80E1FC4: @ 80E1FC4 bx r0 .align 2, 0 _080E200C: .4byte gTasks -_080E2010: .4byte gUnknown_2037F02 +_080E2010: .4byte gBattleAnimArgs _080E2014: .4byte gSprites _080E2018: .4byte sub_80E201C thumb_func_end sub_80E1FC4 @@ -7983,9 +7983,9 @@ sub_80E2084: @ 80E2084 lsrs r0, 24 movs r2, 0xD0 lsls r2, 1 - ldr r1, _080E20C0 @ =gUnknown_2037F1A + ldr r1, _080E20C0 @ =gBattleAnimAttacker ldrb r3, [r1] - ldr r1, _080E20C4 @ =gUnknown_2037F02 + ldr r1, _080E20C4 @ =gBattleAnimArgs ldrb r1, [r1] str r1, [sp] movs r1, 0xA @@ -8006,8 +8006,8 @@ sub_80E2084: @ 80E2084 pop {r0} bx r0 .align 2, 0 -_080E20C0: .4byte gUnknown_2037F1A -_080E20C4: .4byte gUnknown_2037F02 +_080E20C0: .4byte gBattleAnimAttacker +_080E20C4: .4byte gBattleAnimArgs _080E20C8: .4byte gFile_graphics_battle_anims_masks_cure_bubbles_sheet _080E20CC: .4byte gFile_graphics_battle_anims_masks_cure_bubbles_tilemap _080E20D0: .4byte gFile_graphics_battle_anims_masks_cure_bubbles_palette @@ -8017,14 +8017,14 @@ _080E20D0: .4byte gFile_graphics_battle_anims_masks_cure_bubbles_palette sub_80E20D4: @ 80E20D4 push {r4-r6,lr} adds r5, r0, 0 - ldr r6, _080E212C @ =gUnknown_2037F1A + ldr r6, _080E212C @ =gBattleAnimAttacker ldrb r0, [r6] bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 bne _080E20F0 - ldr r1, _080E2130 @ =gUnknown_2037F02 + ldr r1, _080E2130 @ =gBattleAnimArgs ldrh r0, [r1] negs r0, r0 strh r0, [r1] @@ -8033,7 +8033,7 @@ _080E20F0: movs r1, 0 bl sub_8074480 lsls r0, 24 - ldr r4, _080E2130 @ =gUnknown_2037F02 + ldr r4, _080E2130 @ =gBattleAnimArgs lsrs r0, 24 ldrh r1, [r4] adds r0, r1 @@ -8057,8 +8057,8 @@ _080E20F0: strh r0, [r5, 0x30] b _080E2160 .align 2, 0 -_080E212C: .4byte gUnknown_2037F1A -_080E2130: .4byte gUnknown_2037F02 +_080E212C: .4byte gBattleAnimAttacker +_080E2130: .4byte gBattleAnimArgs _080E2134: .4byte 0x0000fd80 _080E2138: cmp r0, 0x1 @@ -8082,7 +8082,7 @@ _080E2152: lsls r0, 2 strh r0, [r5, 0x2E] _080E2160: - ldr r0, _080E218C @ =gUnknown_2037F1A + ldr r0, _080E218C @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -8104,7 +8104,7 @@ _080E2180: pop {r0} bx r0 .align 2, 0 -_080E218C: .4byte gUnknown_2037F1A +_080E218C: .4byte gBattleAnimAttacker _080E2190: .4byte sub_80E2194 thumb_func_end sub_80E20D4 @@ -8156,7 +8156,7 @@ sub_80E21CC: @ 80E21CC movs r0, 0x3 strh r0, [r6, 0x14] strh r1, [r6, 0x16] - ldr r5, _080E2220 @ =gUnknown_2037F1A + ldr r5, _080E2220 @ =gBattleAnimAttacker ldrb r0, [r5] bl GetBattlerSide lsls r0, 24 @@ -8182,7 +8182,7 @@ _080E2216: b _080E2248 .align 2, 0 _080E221C: .4byte gTasks -_080E2220: .4byte gUnknown_2037F1A +_080E2220: .4byte gBattleAnimAttacker _080E2224: ldrb r0, [r5] movs r1, 0x2 @@ -8203,7 +8203,7 @@ _080E2244: subs r0, r4, r0 _080E2248: strh r0, [r6, 0x1E] - ldr r5, _080E229C @ =gUnknown_2037F1A + ldr r5, _080E229C @ =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0x3 bl sub_8074480 @@ -8222,7 +8222,7 @@ _080E226C: asrs r0, 2 subs r0, r4, r0 strh r0, [r6, 0x20] - ldr r4, _080E22A0 @ =gUnknown_2037F1B + ldr r4, _080E22A0 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -8241,8 +8241,8 @@ _080E226C: pop {r0} bx r0 .align 2, 0 -_080E229C: .4byte gUnknown_2037F1A -_080E22A0: .4byte gUnknown_2037F1B +_080E229C: .4byte gBattleAnimAttacker +_080E22A0: .4byte gBattleAnimTarget _080E22A4: .4byte sub_80E22A8 thumb_func_end sub_80E21CC @@ -8551,7 +8551,7 @@ _080E24DC: .4byte gTasks sub_80E24E0: @ 80E24E0 push {r4,lr} adds r4, r0, 0 - ldr r1, _080E250C @ =gUnknown_2037F02 + ldr r1, _080E250C @ =gBattleAnimArgs ldrh r0, [r1] strh r0, [r4, 0x20] ldrh r0, [r1, 0x2] @@ -8571,7 +8571,7 @@ sub_80E24E0: @ 80E24E0 pop {r0} bx r0 .align 2, 0 -_080E250C: .4byte gUnknown_2037F02 +_080E250C: .4byte gBattleAnimArgs _080E2510: .4byte DestroyAnimSprite _080E2514: .4byte sub_8075764 thumb_func_end sub_80E24E0 @@ -8591,7 +8591,7 @@ sub_80E2518: @ 80E2518 lsls r0, 3 ldr r1, _080E2638 @ =gTasks adds r7, r0, r1 - ldr r0, _080E263C @ =gUnknown_2037F1A + ldr r0, _080E263C @ =gBattleAnimAttacker mov r10, r0 ldrb r0, [r0] movs r1, 0x2 @@ -8606,7 +8606,7 @@ sub_80E2518: @ 80E2518 lsls r0, 24 lsrs r0, 24 strh r0, [r7, 0x20] - ldr r0, _080E2640 @ =gUnknown_2037F1B + ldr r0, _080E2640 @ =gBattleAnimTarget mov r8, r0 ldrb r0, [r0] movs r1, 0x2 @@ -8716,8 +8716,8 @@ _080E2632: b _080E265A .align 2, 0 _080E2638: .4byte gTasks -_080E263C: .4byte gUnknown_2037F1A -_080E2640: .4byte gUnknown_2037F1B +_080E263C: .4byte gBattleAnimAttacker +_080E2640: .4byte gBattleAnimTarget _080E2644: .4byte gUnknown_83FF62C _080E2648: .4byte gSprites _080E264C: .4byte 0x0000ffe0 @@ -8877,19 +8877,19 @@ _080E276E: sub_80E2774: @ 80E2774 push {r4-r6,lr} adds r4, r0, 0 - ldr r0, _080E2788 @ =gUnknown_2037F02 + ldr r0, _080E2788 @ =gBattleAnimArgs movs r2, 0 ldrsh r1, [r0, r2] adds r6, r0, 0 cmp r1, 0 bne _080E2790 - ldr r0, _080E278C @ =gUnknown_2037F1A + ldr r0, _080E278C @ =gBattleAnimAttacker b _080E2792 .align 2, 0 -_080E2788: .4byte gUnknown_2037F02 -_080E278C: .4byte gUnknown_2037F1A +_080E2788: .4byte gBattleAnimArgs +_080E278C: .4byte gBattleAnimAttacker _080E2790: - ldr r0, _080E27F8 @ =gUnknown_2037F1B + ldr r0, _080E27F8 @ =gBattleAnimTarget _080E2792: ldrb r5, [r0] ldrh r2, [r4, 0x4] @@ -8942,7 +8942,7 @@ _080E27C0: subs r0, 0x8 b _080E280E .align 2, 0 -_080E27F8: .4byte gUnknown_2037F1B +_080E27F8: .4byte gBattleAnimTarget _080E27FC: .4byte 0x000003ff _080E2800: .4byte 0xfffffc00 _080E2804: @@ -9072,7 +9072,7 @@ sub_80E28DC: @ 80E28DC push {r4,lr} lsls r0, 24 lsrs r1, r0, 24 - ldr r2, _080E28F4 @ =gUnknown_2037F02 + ldr r2, _080E28F4 @ =gBattleAnimArgs movs r3, 0 ldrsh r0, [r2, r3] cmp r0, 0 @@ -9081,7 +9081,7 @@ sub_80E28DC: @ 80E28DC bl DestroyAnimVisualTask b _080E2920 .align 2, 0 -_080E28F4: .4byte gUnknown_2037F02 +_080E28F4: .4byte gBattleAnimArgs _080E28F8: ldr r0, _080E2928 @ =gTasks lsls r4, r1, 2 @@ -9210,18 +9210,18 @@ _080E29EA: sub_80E29F0: @ 80E29F0 push {r4,r5,lr} adds r5, r0, 0 - ldr r0, _080E2A04 @ =gUnknown_2037F02 + ldr r0, _080E2A04 @ =gBattleAnimArgs movs r1, 0 ldrsh r0, [r0, r1] cmp r0, 0 bne _080E2A0C - ldr r4, _080E2A08 @ =gUnknown_2037F1A + ldr r4, _080E2A08 @ =gBattleAnimAttacker b _080E2A0E .align 2, 0 -_080E2A04: .4byte gUnknown_2037F02 -_080E2A08: .4byte gUnknown_2037F1A +_080E2A04: .4byte gBattleAnimArgs +_080E2A08: .4byte gBattleAnimAttacker _080E2A0C: - ldr r4, _080E2A4C @ =gUnknown_2037F1B + ldr r4, _080E2A4C @ =gBattleAnimTarget _080E2A0E: ldrb r0, [r4] movs r1, 0x2 @@ -9242,7 +9242,7 @@ _080E2A0E: _080E2A32: movs r2, 0 strh r2, [r5, 0x2E] - ldr r1, _080E2A50 @ =gUnknown_2037F02 + ldr r1, _080E2A50 @ =gBattleAnimArgs ldrh r0, [r1, 0x2] strh r0, [r5, 0x30] strh r2, [r5, 0x32] @@ -9254,8 +9254,8 @@ _080E2A32: pop {r0} bx r0 .align 2, 0 -_080E2A4C: .4byte gUnknown_2037F1B -_080E2A50: .4byte gUnknown_2037F02 +_080E2A4C: .4byte gBattleAnimTarget +_080E2A50: .4byte gBattleAnimArgs _080E2A54: .4byte sub_80E2A58 thumb_func_end sub_80E29F0 @@ -9311,7 +9311,7 @@ _080E2AAC: sub_80E2AB0: @ 80E2AB0 push {lr} adds r3, r0, 0 - ldr r0, _080E2ADC @ =gUnknown_2037F02 + ldr r0, _080E2ADC @ =gBattleAnimArgs movs r1, 0 ldrsh r0, [r0, r1] cmp r0, 0 @@ -9331,7 +9331,7 @@ sub_80E2AB0: @ 80E2AB0 movs r0, 0x1 b _080E2AE6 .align 2, 0 -_080E2ADC: .4byte gUnknown_2037F02 +_080E2ADC: .4byte gBattleAnimArgs _080E2AE0: movs r0, 0x8C strh r0, [r3, 0x20] @@ -9622,7 +9622,7 @@ sub_80E2CE4: @ 80E2CE4 lsrs r7, r0, 24 cmp r7, 0x1 bne _080E2D44 - ldr r5, _080E2D38 @ =gUnknown_2037F1A + ldr r5, _080E2D38 @ =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0 bl sub_8074480 @@ -9642,14 +9642,14 @@ sub_80E2CE4: @ 80E2CE4 b _080E2D64 .align 2, 0 _080E2D34: .4byte gTasks -_080E2D38: .4byte gUnknown_2037F1A +_080E2D38: .4byte gBattleAnimAttacker _080E2D3C: ldr r0, _080E2D40 @ =0x0000ffff b _080E2D62 .align 2, 0 _080E2D40: .4byte 0x0000ffff _080E2D44: - ldr r0, _080E2D58 @ =gUnknown_2037F1A + ldr r0, _080E2D58 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -9658,7 +9658,7 @@ _080E2D44: ldr r0, _080E2D5C @ =0x0000ffff b _080E2D62 .align 2, 0 -_080E2D58: .4byte gUnknown_2037F1A +_080E2D58: .4byte gBattleAnimAttacker _080E2D5C: .4byte 0x0000ffff _080E2D60: movs r0, 0x1 @@ -9895,7 +9895,7 @@ _080E2F10: .4byte gSprites sub_80E2F14: @ 80E2F14 push {r4,lr} adds r4, r0, 0 - ldr r0, _080E2F30 @ =gUnknown_2037F02 + ldr r0, _080E2F30 @ =gBattleAnimArgs movs r1, 0 ldrsh r0, [r0, r1] cmp r0, 0 @@ -9903,13 +9903,13 @@ sub_80E2F14: @ 80E2F14 adds r0, r4, 0 movs r1, 0x1 bl sub_8075160 - ldr r0, _080E2F34 @ =gUnknown_2037F1A + ldr r0, _080E2F34 @ =gBattleAnimAttacker b _080E2F3A .align 2, 0 -_080E2F30: .4byte gUnknown_2037F02 -_080E2F34: .4byte gUnknown_2037F1A +_080E2F30: .4byte gBattleAnimArgs +_080E2F34: .4byte gBattleAnimAttacker _080E2F38: - ldr r0, _080E2F90 @ =gUnknown_2037F1B + ldr r0, _080E2F90 @ =gBattleAnimTarget _080E2F3A: ldrb r0, [r0] strh r0, [r4, 0x3C] @@ -9954,7 +9954,7 @@ _080E2F5E: pop {r0} bx r0 .align 2, 0 -_080E2F90: .4byte gUnknown_2037F1B +_080E2F90: .4byte gBattleAnimTarget _080E2F94: .4byte sub_80E2F98 thumb_func_end sub_80E2F14 @@ -10295,7 +10295,7 @@ _080E3218: .4byte gUnknown_83FF180 sub_80E321C: @ 80E321C push {r4,r5,lr} adds r5, r0, 0 - ldr r4, _080E3250 @ =gUnknown_2037F1B + ldr r4, _080E3250 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -10307,7 +10307,7 @@ sub_80E321C: @ 80E321C lsls r0, 24 cmp r0, 0 bne _080E3258 - ldr r2, _080E3254 @ =gUnknown_2037F02 + ldr r2, _080E3254 @ =gBattleAnimArgs ldrh r1, [r5, 0x20] ldrh r0, [r2] subs r0, r1, r0 @@ -10316,10 +10316,10 @@ sub_80E321C: @ 80E321C subs r1, r0 b _080E3266 .align 2, 0 -_080E3250: .4byte gUnknown_2037F1B -_080E3254: .4byte gUnknown_2037F02 +_080E3250: .4byte gBattleAnimTarget +_080E3254: .4byte gBattleAnimArgs _080E3258: - ldr r2, _080E328C @ =gUnknown_2037F02 + ldr r2, _080E328C @ =gBattleAnimArgs ldrh r1, [r5, 0x20] ldrh r0, [r2] adds r0, r1, r0 @@ -10347,7 +10347,7 @@ _080E3266: pop {r0} bx r0 .align 2, 0 -_080E328C: .4byte gUnknown_2037F02 +_080E328C: .4byte gBattleAnimArgs _080E3290: .4byte sub_80E319C thumb_func_end sub_80E321C @@ -10431,7 +10431,7 @@ _080E3328: .align 2, 0 _080E3330: .4byte gSprites _080E3334: - ldr r0, _080E336C @ =gUnknown_2037F1A + ldr r0, _080E336C @ =gBattleAnimAttacker ldrb r0, [r0] movs r1, 0 bl LoadBattleMonGfxAndAnimate @@ -10461,7 +10461,7 @@ _080E3360: pop {r0} bx r0 .align 2, 0 -_080E336C: .4byte gUnknown_2037F1A +_080E336C: .4byte gBattleAnimAttacker _080E3370: .4byte sub_80E3374 thumb_func_end sub_80E3294 @@ -10647,7 +10647,7 @@ _080E34CC: .4byte gSprites sub_80E34D0: @ 80E34D0 push {r4,r5,lr} adds r5, r0, 0 - ldr r4, _080E34F4 @ =gUnknown_2037F1B + ldr r4, _080E34F4 @ =gBattleAnimTarget ldrb r0, [r4] bl GetBattlerSide lsls r0, 24 @@ -10662,7 +10662,7 @@ sub_80E34D0: @ 80E34D0 ldr r4, _080E34F8 @ =0x0000ff70 b _080E350C .align 2, 0 -_080E34F4: .4byte gUnknown_2037F1B +_080E34F4: .4byte gBattleAnimTarget _080E34F8: .4byte 0x0000ff70 _080E34FC: ldrb r0, [r4] @@ -10673,7 +10673,7 @@ _080E34FC: strb r0, [r1] ldr r4, _080E3528 @ =0x0000ffa0 _080E350C: - ldr r0, _080E352C @ =gUnknown_2037F1B + ldr r0, _080E352C @ =gBattleAnimTarget ldrb r0, [r0] movs r1, 0x3 bl sub_8074480 @@ -10688,7 +10688,7 @@ _080E350C: bx r0 .align 2, 0 _080E3528: .4byte 0x0000ffa0 -_080E352C: .4byte gUnknown_2037F1B +_080E352C: .4byte gBattleAnimTarget _080E3530: .4byte sub_80E3534 thumb_func_end sub_80E34D0 @@ -10929,7 +10929,7 @@ _080E36B4: strh r1, [r0, 0x8] ldr r0, _080E3750 @ =gUnknown_2024018 ldr r1, [r0] - ldr r0, _080E3754 @ =gUnknown_2037F1B + ldr r0, _080E3754 @ =gBattleAnimTarget ldrb r0, [r0] ldr r1, [r1] lsls r0, 2 @@ -10961,7 +10961,7 @@ _080E3744: .4byte gSprites _080E3748: .4byte 0x0000fff0 _080E374C: .4byte gTasks _080E3750: .4byte gUnknown_2024018 -_080E3754: .4byte gUnknown_2037F1B +_080E3754: .4byte gBattleAnimTarget _080E3758: adds r1, r5, 0 adds r1, 0x3E @@ -11065,7 +11065,7 @@ sub_80E37FC: @ 80E37FC strh r0, [r4, 0x30] ldr r0, _080E3870 @ =gUnknown_2024018 ldr r1, [r0] - ldr r0, _080E3874 @ =gUnknown_2037F1B + ldr r0, _080E3874 @ =gBattleAnimTarget ldrb r0, [r0] ldr r1, [r1] lsls r0, 2 @@ -11112,7 +11112,7 @@ _080E3846: b _080E38CE .align 2, 0 _080E3870: .4byte gUnknown_2024018 -_080E3874: .4byte gUnknown_2037F1B +_080E3874: .4byte gBattleAnimTarget _080E3878: ldrh r0, [r4, 0x32] adds r0, 0x1 @@ -11170,7 +11170,7 @@ sub_80E38D8: @ 80E38D8 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r3, _080E3924 @ =gUnknown_2037F02 + ldr r3, _080E3924 @ =gBattleAnimArgs movs r2, 0 strh r2, [r3, 0xE] ldr r1, _080E3928 @ =gUnknown_2037EFE @@ -11208,7 +11208,7 @@ _080E3918: pop {r0} bx r0 .align 2, 0 -_080E3924: .4byte gUnknown_2037F02 +_080E3924: .4byte gBattleAnimArgs _080E3928: .4byte gUnknown_2037EFE thumb_func_end sub_80E38D8 @@ -11266,7 +11266,7 @@ _080E3978: ldrh r1, [r6, 0xA] adds r0, r1 strh r0, [r6, 0xA] - ldr r0, _080E39C8 @ =gUnknown_2037F1A + ldr r0, _080E39C8 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -11287,7 +11287,7 @@ _080E3978: b _080E39EA .align 2, 0 _080E39C4: .4byte gTasks -_080E39C8: .4byte gUnknown_2037F1A +_080E39C8: .4byte gBattleAnimAttacker _080E39CC: .4byte gSprites _080E39D0: ldr r3, _080E3A24 @ =gSprites @@ -11337,7 +11337,7 @@ _080E3A16: _080E3A24: .4byte gSprites _080E3A28: .4byte gTasks _080E3A2C: - ldr r4, _080E3A90 @ =gUnknown_2037F1A + ldr r4, _080E3A90 @ =gBattleAnimAttacker ldrb r0, [r4] bl GetBattlerSide lsls r0, 24 @@ -11384,7 +11384,7 @@ _080E3A2C: lsrs r5, r0, 16 b _080E3AA2 .align 2, 0 -_080E3A90: .4byte gUnknown_2037F1A +_080E3A90: .4byte gBattleAnimAttacker _080E3A94: .4byte gBattlerPartyIndexes _080E3A98: .4byte gPlayerParty _080E3A9C: .4byte gUnknown_2024018 @@ -11476,7 +11476,7 @@ _080E3B32: movs r7, 0x1 ldr r6, _080E3BD4 @ =0x0000ffe0 _080E3B54: - ldr r0, _080E3BD8 @ =gUnknown_2037F1B + ldr r0, _080E3BD8 @ =gBattleAnimTarget ldrb r0, [r0] movs r1, 0x1 bl sub_8074480 @@ -11490,7 +11490,7 @@ _080E3B54: str r2, [sp, 0x8] mov r4, r9 str r4, [sp, 0xC] - ldr r4, _080E3BDC @ =gUnknown_2037F1A + ldr r4, _080E3BDC @ =gBattleAnimAttacker ldrb r0, [r4] str r0, [sp, 0x10] movs r0, 0 @@ -11538,8 +11538,8 @@ _080E3BBE: .align 2, 0 _080E3BD0: .4byte gSprites _080E3BD4: .4byte 0x0000ffe0 -_080E3BD8: .4byte gUnknown_2037F1B -_080E3BDC: .4byte gUnknown_2037F1A +_080E3BD8: .4byte gBattleAnimTarget +_080E3BDC: .4byte gBattleAnimAttacker _080E3BE0: .4byte gUnknown_2024018 _080E3BE4: .4byte 0x00007fff _080E3BE8: .4byte gTasks @@ -11559,7 +11559,7 @@ _080E3BEC: ldrh r2, [r6, 0xA] adds r0, r2 strh r0, [r6, 0xA] - ldr r0, _080E3C3C @ =gUnknown_2037F1A + ldr r0, _080E3C3C @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -11582,7 +11582,7 @@ _080E3BEC: b _080E3C5A .align 2, 0 _080E3C38: .4byte gTasks -_080E3C3C: .4byte gUnknown_2037F1A +_080E3C3C: .4byte gBattleAnimAttacker _080E3C40: .4byte gSprites _080E3C44: ldr r2, _080E3CA8 @ =gSprites @@ -11616,7 +11616,7 @@ _080E3C5A: ldrsh r0, [r6, r1] cmp r0, 0 bne _080E3CDA - ldr r0, _080E3CB0 @ =gUnknown_2037F1A + ldr r0, _080E3CB0 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -11624,7 +11624,7 @@ _080E3C5A: bne _080E3CB8 lsls r4, r5, 16 asrs r4, 16 - ldr r0, _080E3CB4 @ =gUnknown_2037F1B + ldr r0, _080E3CB4 @ =gBattleAnimTarget ldrb r0, [r0] movs r1, 0 bl sub_8074480 @@ -11636,12 +11636,12 @@ _080E3C5A: .align 2, 0 _080E3CA8: .4byte gSprites _080E3CAC: .4byte gTasks -_080E3CB0: .4byte gUnknown_2037F1A -_080E3CB4: .4byte gUnknown_2037F1B +_080E3CB0: .4byte gBattleAnimAttacker +_080E3CB4: .4byte gBattleAnimTarget _080E3CB8: lsls r4, r5, 16 asrs r4, 16 - ldr r0, _080E3CFC @ =gUnknown_2037F1B + ldr r0, _080E3CFC @ =gBattleAnimTarget ldrb r0, [r0] movs r1, 0 bl sub_8074480 @@ -11653,7 +11653,7 @@ _080E3CCE: ldrh r0, [r6, 0x24] adds r0, 0x1 strh r0, [r6, 0x24] - ldr r1, _080E3D00 @ =gUnknown_2037F02 + ldr r1, _080E3D00 @ =gBattleAnimArgs ldr r0, _080E3D04 @ =0x0000ffff strh r0, [r1, 0xE] _080E3CDA: @@ -11676,8 +11676,8 @@ _080E3CEC: strh r0, [r1, 0xA] b _080E3D82 .align 2, 0 -_080E3CFC: .4byte gUnknown_2037F1B -_080E3D00: .4byte gUnknown_2037F02 +_080E3CFC: .4byte gBattleAnimTarget +_080E3D00: .4byte gBattleAnimArgs _080E3D04: .4byte 0x0000ffff _080E3D08: .4byte gTasks _080E3D0C: @@ -11700,7 +11700,7 @@ _080E3D0C: ldr r5, _080E3D5C @ =gSprites adds r0, r5 bl sub_8076B20 - ldr r0, _080E3D60 @ =gUnknown_2037F1A + ldr r0, _080E3D60 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -11719,7 +11719,7 @@ _080E3D0C: .align 2, 0 _080E3D58: .4byte gTasks _080E3D5C: .4byte gSprites -_080E3D60: .4byte gUnknown_2037F1A +_080E3D60: .4byte gBattleAnimAttacker _080E3D64: lsls r0, r7, 4 adds r0, r7 @@ -11761,7 +11761,7 @@ _080E3D90: ldrh r3, [r2, 0xA] adds r0, r3 strh r0, [r2, 0xA] - ldr r0, _080E3E08 @ =gUnknown_2037F1A + ldr r0, _080E3E08 @ =gBattleAnimAttacker mov r10, r0 ldrb r0, [r0] str r2, [sp, 0x18] @@ -11801,7 +11801,7 @@ _080E3D90: b _080E3E48 .align 2, 0 _080E3E04: .4byte gTasks -_080E3E08: .4byte gUnknown_2037F1A +_080E3E08: .4byte gBattleAnimAttacker _080E3E0C: .4byte gSprites _080E3E10: ldr r1, _080E3E7C @ =gSprites @@ -11875,7 +11875,7 @@ sub_80E3E84: @ 80E3E84 beq _080E3F36 b _080E3FB8 _080E3E96: - ldr r0, _080E3F14 @ =gUnknown_2037F02 + ldr r0, _080E3F14 @ =gBattleAnimArgs movs r2, 0xE ldrsh r1, [r0, r2] movs r0, 0x1 @@ -11889,7 +11889,7 @@ _080E3E96: asrs r1, 24 movs r0, 0x73 bl PlaySE12WithPanning - ldr r0, _080E3F18 @ =gUnknown_2037F1B + ldr r0, _080E3F18 @ =gBattleAnimTarget ldrb r0, [r0] movs r1, 0x1 bl sub_8074480 @@ -11909,7 +11909,7 @@ _080E3E96: negs r0, r0 ands r0, r1 strb r0, [r2] - ldr r0, _080E3F20 @ =gUnknown_2037F1A + ldr r0, _080E3F20 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -11933,10 +11933,10 @@ _080E3E96: strb r0, [r1] b _080E3FB8 .align 2, 0 -_080E3F14: .4byte gUnknown_2037F02 -_080E3F18: .4byte gUnknown_2037F1B +_080E3F14: .4byte gBattleAnimArgs +_080E3F18: .4byte gBattleAnimTarget _080E3F1C: .4byte 0x0000ffe0 -_080E3F20: .4byte gUnknown_2037F1A +_080E3F20: .4byte gBattleAnimAttacker _080E3F24: .4byte gSprites _080E3F28: adds r0, r4, 0 @@ -11979,7 +11979,7 @@ _080E3F6A: ldrh r1, [r4, 0x32] adds r0, r1 strh r0, [r4, 0x32] - ldr r0, _080E3F94 @ =gUnknown_2037F1A + ldr r0, _080E3F94 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -11994,7 +11994,7 @@ _080E3F6A: adds r1, r2, 0 b _080E3FA4 .align 2, 0 -_080E3F94: .4byte gUnknown_2037F1A +_080E3F94: .4byte gBattleAnimAttacker _080E3F98: ldrh r1, [r4, 0x32] lsls r0, r1, 16 @@ -12051,14 +12051,14 @@ _080E3FF0: .4byte _080E40C8 .4byte _080E412E _080E4004: - ldr r0, _080E4048 @ =gUnknown_2037F1A + ldr r0, _080E4048 @ =gBattleAnimAttacker ldrb r0, [r0] movs r1, 0 bl sub_8074480 lsls r0, 24 lsrs r0, 24 adds r5, r0, 0 - ldr r0, _080E404C @ =gUnknown_2037F1B + ldr r0, _080E404C @ =gBattleAnimTarget ldrb r0, [r0] movs r1, 0 bl sub_8074480 @@ -12084,12 +12084,12 @@ _080E403A: strh r0, [r1, 0x26] b _080E414C .align 2, 0 -_080E4048: .4byte gUnknown_2037F1A -_080E404C: .4byte gUnknown_2037F1B +_080E4048: .4byte gBattleAnimAttacker +_080E404C: .4byte gBattleAnimTarget _080E4050: .4byte gTasks _080E4054: ldr r1, _080E4090 @ =gUnknown_2023D44 - ldr r0, _080E4094 @ =gUnknown_2037F1A + ldr r0, _080E4094 @ =gBattleAnimAttacker ldrb r0, [r0] adds r0, r1 ldrb r2, [r0] @@ -12120,7 +12120,7 @@ _080E4054: b _080E4122 .align 2, 0 _080E4090: .4byte gUnknown_2023D44 -_080E4094: .4byte gUnknown_2037F1A +_080E4094: .4byte gBattleAnimAttacker _080E4098: .4byte gSprites _080E409C: movs r3, 0x20 @@ -12148,7 +12148,7 @@ _080E40B0: b _080E414C _080E40C8: ldr r1, _080E4108 @ =gUnknown_2023D44 - ldr r0, _080E410C @ =gUnknown_2037F1A + ldr r0, _080E410C @ =gBattleAnimAttacker ldrb r0, [r0] adds r0, r1 ldrb r2, [r0] @@ -12181,7 +12181,7 @@ _080E40C8: b _080E4126 .align 2, 0 _080E4108: .4byte gUnknown_2023D44 -_080E410C: .4byte gUnknown_2037F1A +_080E410C: .4byte gBattleAnimAttacker _080E4110: .4byte gSprites _080E4114: movs r3, 0x20 @@ -12201,7 +12201,7 @@ _080E4126: b _080E414C _080E412E: ldr r1, _080E4154 @ =gUnknown_2023D44 - ldr r0, _080E4158 @ =gUnknown_2037F1A + ldr r0, _080E4158 @ =gBattleAnimAttacker ldrb r0, [r0] adds r0, r1 ldrb r2, [r0] @@ -12220,7 +12220,7 @@ _080E414C: bx r0 .align 2, 0 _080E4154: .4byte gUnknown_2023D44 -_080E4158: .4byte gUnknown_2037F1A +_080E4158: .4byte gBattleAnimAttacker _080E415C: .4byte gSprites thumb_func_end sub_80E3FC0 @@ -12240,7 +12240,7 @@ sub_80E4160: @ 80E4160 lsrs r0, 24 movs r5, 0 strh r0, [r4, 0xE] - ldr r0, _080E41CC @ =gUnknown_2037F1A + ldr r0, _080E41CC @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -12279,7 +12279,7 @@ _080E4194: bx r0 .align 2, 0 _080E41C8: .4byte gTasks -_080E41CC: .4byte gUnknown_2037F1A +_080E41CC: .4byte gBattleAnimAttacker _080E41D0: .4byte gSprites _080E41D4: .4byte sub_80E41D8 thumb_func_end sub_80E4160 @@ -12423,7 +12423,7 @@ _080E42D6: sub_80E42DC: @ 80E42DC push {r4,lr} adds r4, r0, 0 - ldr r0, _080E4330 @ =gUnknown_2037F1B + ldr r0, _080E4330 @ =gBattleAnimTarget ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -12460,20 +12460,20 @@ _080E4322: pop {r0} bx r0 .align 2, 0 -_080E4330: .4byte gUnknown_2037F1B +_080E4330: .4byte gBattleAnimTarget thumb_func_end sub_80E42DC thumb_func_start sub_80E4334 sub_80E4334: @ 80E4334 push {r4,lr} adds r4, r0, 0 - ldr r0, _080E436C @ =gUnknown_2037F1B + ldr r0, _080E436C @ =gBattleAnimTarget ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080E4378 - ldr r2, _080E4370 @ =gUnknown_2037F02 + ldr r2, _080E4370 @ =gBattleAnimArgs ldrh r0, [r4, 0x20] ldrh r1, [r2] subs r0, r1 @@ -12491,15 +12491,15 @@ sub_80E4334: @ 80E4334 bl StartSpriteAffineAnim b _080E4392 .align 2, 0 -_080E436C: .4byte gUnknown_2037F1B -_080E4370: .4byte gUnknown_2037F02 +_080E436C: .4byte gBattleAnimTarget +_080E4370: .4byte gBattleAnimArgs _080E4374: .4byte 0x0000fff5 _080E4378: movs r0, 0xB strh r0, [r4, 0x2E] movs r0, 0xC0 strh r0, [r4, 0x30] - ldr r1, _080E439C @ =gUnknown_2037F02 + ldr r1, _080E439C @ =gBattleAnimArgs ldrh r0, [r1] ldrh r2, [r4, 0x20] adds r0, r2 @@ -12515,7 +12515,7 @@ _080E4392: pop {r0} bx r0 .align 2, 0 -_080E439C: .4byte gUnknown_2037F02 +_080E439C: .4byte gBattleAnimArgs _080E43A0: .4byte sub_80E42DC thumb_func_end sub_80E4334 @@ -12523,7 +12523,7 @@ _080E43A0: .4byte sub_80E42DC sub_80E43A4: @ 80E43A4 push {r4,r5,lr} adds r5, r0, 0 - ldr r4, _080E43E8 @ =gUnknown_2037F1A + ldr r4, _080E43E8 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8074480 @@ -12554,7 +12554,7 @@ _080E43CE: pop {r0} bx r0 .align 2, 0 -_080E43E8: .4byte gUnknown_2037F1A +_080E43E8: .4byte gBattleAnimAttacker _080E43EC: .4byte sub_80E43F0 thumb_func_end sub_80E43A4 @@ -12700,7 +12700,7 @@ sub_80E44EC: @ 80E44EC push {lr} lsls r0, 24 lsrs r3, r0, 24 - ldr r2, _080E4508 @ =gUnknown_2037F02 + ldr r2, _080E4508 @ =gBattleAnimArgs movs r0, 0 strh r0, [r2, 0xE] ldr r0, _080E450C @ =gUnknown_2037F00 @@ -12712,7 +12712,7 @@ sub_80E44EC: @ 80E44EC movs r0, 0x1 b _080E4532 .align 2, 0 -_080E4508: .4byte gUnknown_2037F02 +_080E4508: .4byte gBattleAnimArgs _080E450C: .4byte gUnknown_2037F00 _080E4510: movs r0, 0x7 @@ -12755,7 +12755,7 @@ sub_80E4540: @ 80E4540 adds r4, r0 movs r0, 0 strh r0, [r4, 0x8] - ldr r0, _080E457C @ =gUnknown_2037F02 + ldr r0, _080E457C @ =gBattleAnimArgs ldrb r0, [r0] bl GetAnimBankSpriteId adds r1, r0, 0 @@ -12772,7 +12772,7 @@ sub_80E4540: @ 80E4540 bx r0 .align 2, 0 _080E4578: .4byte gTasks -_080E457C: .4byte gUnknown_2037F02 +_080E457C: .4byte gBattleAnimArgs _080E4580: .4byte gUnknown_83FF7A8 _080E4584: .4byte sub_80E4588 thumb_func_end sub_80E4540 diff --git a/asm/battle_anim_80EEC0C.s b/asm/battle_anim_80EEC0C.s index dbcc63093..50b382600 100644 --- a/asm/battle_anim_80EEC0C.s +++ b/asm/battle_anim_80EEC0C.s @@ -16,7 +16,7 @@ sub_80EEC0C: @ 80EEC0C lsls r0, 24 lsrs r0, 24 str r0, [sp, 0x10] - ldr r0, _080EEDB4 @ =gUnknown_2037F1A + ldr r0, _080EEDB4 @ =gBattleAnimAttacker ldrb r4, [r0] ldr r0, _080EEDB8 @ =gUnknown_2022984 movs r1, 0 @@ -203,7 +203,7 @@ sub_80EEC0C: @ 80EEC0C pop {r0} bx r0 .align 2, 0 -_080EEDB4: .4byte gUnknown_2037F1A +_080EEDB4: .4byte gBattleAnimAttacker _080EEDB8: .4byte gUnknown_2022984 _080EEDBC: .4byte gUnknown_2022986 _080EEDC0: .4byte 0x00003f3f @@ -228,7 +228,7 @@ sub_80EEDF4: @ 80EEDF4 push {r7} lsls r0, 24 lsrs r7, r0, 24 - ldr r0, _080EEE3C @ =gUnknown_2037F1A + ldr r0, _080EEE3C @ =gBattleAnimAttacker ldrb r0, [r0] mov r8, r0 ldr r1, _080EEE40 @ =gTasks @@ -260,7 +260,7 @@ sub_80EEDF4: @ 80EEDF4 beq _080EEE4E b _080EEFA8 .align 2, 0 -_080EEE3C: .4byte gUnknown_2037F1A +_080EEE3C: .4byte gBattleAnimAttacker _080EEE40: .4byte gTasks _080EEE44: .4byte gBattle_BG1_Y _080EEE48: @@ -569,7 +569,7 @@ sub_80EF0B4: @ 80EF0B4 lsrs r4, 24 mov r1, sp adds r1, 0x1 - ldr r0, _080EF0DC @ =gUnknown_2037F1A + ldr r0, _080EF0DC @ =gBattleAnimAttacker ldrb r2, [r0] mov r0, sp bl sub_80EEFC8 @@ -580,7 +580,7 @@ sub_80EF0B4: @ 80EF0B4 pop {r0} bx r0 .align 2, 0 -_080EF0DC: .4byte gUnknown_2037F1A +_080EF0DC: .4byte gBattleAnimAttacker thumb_func_end sub_80EF0B4 thumb_func_start sub_80EF0E0 @@ -664,7 +664,7 @@ sub_80EF180: @ 80EF180 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, _080EF19C @ =gUnknown_2037F1A + ldr r0, _080EF19C @ =gBattleAnimAttacker ldrb r0, [r0] bl sub_80EF0E0 adds r0, r4, 0 @@ -673,7 +673,7 @@ sub_80EF180: @ 80EF180 pop {r0} bx r0 .align 2, 0 -_080EF19C: .4byte gUnknown_2037F1A +_080EF19C: .4byte gBattleAnimAttacker thumb_func_end sub_80EF180 thumb_func_start sub_80EF1A0 @@ -685,7 +685,7 @@ sub_80EF1A0: @ 80EF1A0 adds r1, r0 lsls r1, 3 adds r1, r2 - ldr r2, _080EF1C4 @ =gUnknown_2037F02 + ldr r2, _080EF1C4 @ =gBattleAnimArgs ldrh r0, [r2] strh r0, [r1, 0x1C] ldrh r0, [r2, 0x2] @@ -695,7 +695,7 @@ sub_80EF1A0: @ 80EF1A0 bx lr .align 2, 0 _080EF1C0: .4byte gTasks -_080EF1C4: .4byte gUnknown_2037F02 +_080EF1C4: .4byte gBattleAnimArgs _080EF1C8: .4byte sub_80EF1CC thumb_func_end sub_80EF1A0 @@ -810,7 +810,7 @@ sub_80EF298: @ 80EF298 lsls r0, 24 lsrs r6, r0, 24 ldr r1, _080EF2C4 @ =gUnknown_2023D44 - ldr r0, _080EF2C8 @ =gUnknown_2037F1A + ldr r0, _080EF2C8 @ =gBattleAnimAttacker ldrb r0, [r0] adds r0, r1 ldrb r5, [r0] @@ -830,7 +830,7 @@ sub_80EF298: @ 80EF298 b _080EF338 .align 2, 0 _080EF2C4: .4byte gUnknown_2023D44 -_080EF2C8: .4byte gUnknown_2037F1A +_080EF2C8: .4byte gBattleAnimAttacker _080EF2CC: .4byte gTasks _080EF2D0: cmp r0, 0x2 @@ -901,7 +901,7 @@ sub_80EF344: @ 80EF344 lsls r0, 24 lsrs r5, r0, 24 ldr r1, _080EF37C @ =gUnknown_2023D44 - ldr r4, _080EF380 @ =gUnknown_2037F1A + ldr r4, _080EF380 @ =gBattleAnimAttacker ldrb r0, [r4] adds r1, r0, r1 ldrb r1, [r1] @@ -921,7 +921,7 @@ sub_80EF344: @ 80EF344 b _080EF39C .align 2, 0 _080EF37C: .4byte gUnknown_2023D44 -_080EF380: .4byte gUnknown_2037F1A +_080EF380: .4byte gBattleAnimAttacker _080EF384: .4byte gBattlerPartyIndexes _080EF388: .4byte gPlayerParty _080EF38C: @@ -960,7 +960,7 @@ _080EF3CC: .4byte gBattlerPartyIndexes _080EF3D0: .4byte gEnemyParty _080EF3D4: .4byte gTasks _080EF3D8: - ldr r5, _080EF450 @ =gUnknown_2037F1A + ldr r5, _080EF450 @ =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0 bl sub_8074480 @@ -1015,7 +1015,7 @@ _080EF3D8: strh r0, [r6, 0x8] b _080EF482 .align 2, 0 -_080EF450: .4byte gUnknown_2037F1A +_080EF450: .4byte gBattleAnimAttacker _080EF454: .4byte gSprites _080EF458: movs r1, 0x1C @@ -1103,21 +1103,21 @@ sub_80EF4E0: @ 80EF4E0 beq _080EF504 cmp r0, 0x6 beq _080EF514 - ldr r1, _080EF500 @ =gUnknown_2037F02 + ldr r1, _080EF500 @ =gBattleAnimArgs movs r0, 0 b _080EF518 .align 2, 0 _080EF4FC: .4byte gUnknown_2024018 -_080EF500: .4byte gUnknown_2037F02 +_080EF500: .4byte gBattleAnimArgs _080EF504: - ldr r1, _080EF50C @ =gUnknown_2037F02 + ldr r1, _080EF50C @ =gBattleAnimArgs ldr r0, _080EF510 @ =0x0000ffff b _080EF518 .align 2, 0 -_080EF50C: .4byte gUnknown_2037F02 +_080EF50C: .4byte gBattleAnimArgs _080EF510: .4byte 0x0000ffff _080EF514: - ldr r1, _080EF524 @ =gUnknown_2037F02 + ldr r1, _080EF524 @ =gBattleAnimArgs ldr r0, _080EF528 @ =0x0000fffe _080EF518: strh r0, [r1, 0xE] @@ -1126,7 +1126,7 @@ _080EF518: pop {r0} bx r0 .align 2, 0 -_080EF524: .4byte gUnknown_2037F02 +_080EF524: .4byte gBattleAnimArgs _080EF528: .4byte 0x0000fffe thumb_func_end sub_80EF4E0 @@ -1236,7 +1236,7 @@ sub_80EF5AC: @ 80EF5AC adds r6, r4, r1 movs r0, 0x22 strh r0, [r6, 0x2E] - ldr r2, _080EF680 @ =gUnknown_2037F1B + ldr r2, _080EF680 @ =gBattleAnimTarget mov r8, r2 ldrb r0, [r2] movs r1, 0 @@ -1300,7 +1300,7 @@ sub_80EF5AC: @ 80EF5AC _080EF674: .4byte gUnknown_2023D68 _080EF678: .4byte gUnknown_82606F4 _080EF67C: .4byte gSprites -_080EF680: .4byte gUnknown_2037F1B +_080EF680: .4byte gBattleAnimTarget _080EF684: .4byte sub_80EF8C0 _080EF688: .4byte gUnknown_2024018 _080EF68C: .4byte gUnknown_2023D44 @@ -1407,7 +1407,7 @@ _080EF708: adds r6, r4, r0 movs r0, 0x22 strh r0, [r6, 0x2E] - ldr r1, _080EF7D4 @ =gUnknown_2037F1B + ldr r1, _080EF7D4 @ =gBattleAnimTarget mov r8, r1 ldrb r0, [r1] movs r1, 0 @@ -1460,7 +1460,7 @@ _080EF7C4: .4byte gSaveBlock2Ptr _080EF7C8: .4byte gUnknown_2023D68 _080EF7CC: .4byte gUnknown_82606F4 _080EF7D0: .4byte gSprites -_080EF7D4: .4byte gUnknown_2037F1B +_080EF7D4: .4byte gBattleAnimTarget _080EF7D8: .4byte SpriteCallbackDummy _080EF7DC: .4byte gUnknown_2023D44 _080EF7E0: .4byte sub_8012354 @@ -1674,7 +1674,7 @@ _080EF954: movs r2, 0x1 movs r3, 0x1C bl LaunchBallStarsTask - ldr r0, _080EF9B0 @ =gUnknown_2037F1B + ldr r0, _080EF9B0 @ =gBattleAnimTarget ldrb r1, [r0] movs r0, 0 movs r2, 0xE @@ -1688,7 +1688,7 @@ _080EF99E: .align 2, 0 _080EF9A8: .4byte sub_80EF9B4 _080EF9AC: .4byte gUnknown_2023D68 -_080EF9B0: .4byte gUnknown_2037F1B +_080EF9B0: .4byte gBattleAnimTarget thumb_func_end sub_80EF8F0 thumb_func_start sub_80EF9B4 @@ -1712,7 +1712,7 @@ sub_80EF9B4: @ 80EF9B4 str r0, [r4, 0x1C] ldr r2, _080EFA00 @ =gSprites ldr r1, _080EFA04 @ =gUnknown_2023D44 - ldr r0, _080EFA08 @ =gUnknown_2037F1B + ldr r0, _080EFA08 @ =gBattleAnimTarget ldrb r0, [r0] adds r0, r1 ldrb r1, [r0] @@ -1731,7 +1731,7 @@ _080EF9F8: .4byte TaskDummy _080EF9FC: .4byte sub_80EFA0C _080EFA00: .4byte gSprites _080EFA04: .4byte gUnknown_2023D44 -_080EFA08: .4byte gUnknown_2037F1B +_080EFA08: .4byte gBattleAnimTarget thumb_func_end sub_80EF9B4 thumb_func_start sub_80EFA0C @@ -1739,7 +1739,7 @@ sub_80EFA0C: @ 80EFA0C push {r4-r7,lr} adds r7, r0, 0 ldr r1, _080EFA50 @ =gUnknown_2023D44 - ldr r0, _080EFA54 @ =gUnknown_2037F1B + ldr r0, _080EFA54 @ =gBattleAnimTarget ldrb r0, [r0] adds r0, r1 ldrb r4, [r0] @@ -1772,7 +1772,7 @@ _080EFA3E: b _080EFB20 .align 2, 0 _080EFA50: .4byte gUnknown_2023D44 -_080EFA54: .4byte gUnknown_2037F1B +_080EFA54: .4byte gBattleAnimTarget _080EFA58: .4byte gTasks _080EFA5C: cmp r0, 0x2 @@ -2495,7 +2495,7 @@ sub_80EFFC4: @ 80EFFC4 push {r7} sub sp, 0x4 adds r6, r0, 0 - ldr r7, _080F0004 @ =gUnknown_2037F1B + ldr r7, _080F0004 @ =gBattleAnimTarget ldrh r0, [r6, 0x36] adds r0, 0x1 movs r1, 0 @@ -2519,7 +2519,7 @@ sub_80EFFC4: @ 80EFFC4 bl sub_80F01B8 b _080F0088 .align 2, 0 -_080F0004: .4byte gUnknown_2037F1B +_080F0004: .4byte gBattleAnimTarget _080F0008: cmp r1, 0x3C bne _080F0026 @@ -2893,7 +2893,7 @@ sub_80F02B0: @ 80F02B0 movs r2, 0x1 movs r3, 0x1C bl LaunchBallStarsTask - ldr r0, _080F036C @ =gUnknown_2037F1B + ldr r0, _080F036C @ =gBattleAnimTarget ldrb r1, [r0] movs r0, 0x1 movs r2, 0xE @@ -2902,7 +2902,7 @@ sub_80F02B0: @ 80F02B0 _080F0302: ldr r6, _080F0370 @ =gSprites ldr r5, _080F0374 @ =gUnknown_2023D44 - ldr r4, _080F036C @ =gUnknown_2037F1B + ldr r4, _080F036C @ =gBattleAnimTarget ldrb r0, [r4] adds r0, r5 ldrb r1, [r0] @@ -2950,7 +2950,7 @@ _080F0302: .align 2, 0 _080F0364: .4byte sub_80F0378 _080F0368: .4byte gUnknown_2023D68 -_080F036C: .4byte gUnknown_2037F1B +_080F036C: .4byte gBattleAnimTarget _080F0370: .4byte gSprites _080F0374: .4byte gUnknown_2023D44 thumb_func_end sub_80F02B0 @@ -2975,7 +2975,7 @@ sub_80F0378: @ 80F0378 _080F0396: ldr r4, _080F03C4 @ =gSprites ldr r3, _080F03C8 @ =gUnknown_2023D44 - ldr r2, _080F03CC @ =gUnknown_2037F1B + ldr r2, _080F03CC @ =gBattleAnimTarget ldrb r0, [r2] adds r0, r3 ldrb r1, [r0] @@ -2997,7 +2997,7 @@ _080F0396: .align 2, 0 _080F03C4: .4byte gSprites _080F03C8: .4byte gUnknown_2023D44 -_080F03CC: .4byte gUnknown_2037F1B +_080F03CC: .4byte gBattleAnimTarget _080F03D0: ldr r6, _080F045C @ =0xfffffee0 adds r0, r6, 0 @@ -3027,7 +3027,7 @@ _080F03F0: beq _080F0456 ldr r4, _080F0460 @ =gSprites ldr r3, _080F0464 @ =gUnknown_2023D44 - ldr r2, _080F0468 @ =gUnknown_2037F1B + ldr r2, _080F0468 @ =gBattleAnimTarget ldrb r0, [r2] adds r0, r3 ldrb r1, [r0] @@ -3074,7 +3074,7 @@ _080F0456: _080F045C: .4byte 0xfffffee0 _080F0460: .4byte gSprites _080F0464: .4byte gUnknown_2023D44 -_080F0468: .4byte gUnknown_2037F1B +_080F0468: .4byte gBattleAnimTarget _080F046C: .4byte gUnknown_2024018 _080F0470: .4byte sub_80F018C _080F0474: .4byte gUnknown_2024005 @@ -5083,7 +5083,7 @@ sub_80F1420: @ 80F1420 movs r0, 0 mov r8, r0 ldr r0, _080F1454 @ =gUnknown_2023D44 - ldr r3, _080F1458 @ =gUnknown_2037F1A + ldr r3, _080F1458 @ =gBattleAnimAttacker ldrb r2, [r3] adds r0, r2, r0 ldrb r6, [r0] @@ -5103,14 +5103,14 @@ sub_80F1420: @ 80F1420 b _080F15BA .align 2, 0 _080F1454: .4byte gUnknown_2023D44 -_080F1458: .4byte gUnknown_2037F1A +_080F1458: .4byte gBattleAnimAttacker _080F145C: .4byte gTasks _080F1460: cmp r0, 0x2 beq _080F150A b _080F15BA _080F1466: - ldr r0, _080F14A0 @ =gUnknown_2037F02 + ldr r0, _080F14A0 @ =gBattleAnimArgs ldrh r0, [r0] strh r0, [r5, 0x1E] movs r2, 0xA0 @@ -5138,7 +5138,7 @@ _080F1466: adds r4, r3, 0 b _080F14C0 .align 2, 0 -_080F14A0: .4byte gUnknown_2037F02 +_080F14A0: .4byte gBattleAnimArgs _080F14A4: .4byte gSprites _080F14A8: ldr r3, _080F14F0 @ =gSprites @@ -5238,7 +5238,7 @@ _080F1558: adds r0, r1 ldrb r1, [r0, 0x8] strh r1, [r0, 0x8] - ldr r0, _080F1594 @ =gUnknown_2037F1A + ldr r0, _080F1594 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -5259,7 +5259,7 @@ _080F1558: .align 2, 0 _080F158C: .4byte gSprites _080F1590: .4byte gTasks -_080F1594: .4byte gUnknown_2037F1A +_080F1594: .4byte gBattleAnimAttacker _080F1598: ldr r0, _080F15C4 @ =gSprites adds r1, r4, r6 @@ -5315,7 +5315,7 @@ _080F15F0: beq _080F167E b _080F16B4 _080F15F6: - ldr r0, _080F1610 @ =gUnknown_2037F1A + ldr r0, _080F1610 @ =gBattleAnimAttacker ldrb r0, [r0] bl sub_80768B0 lsls r0, 24 @@ -5327,7 +5327,7 @@ _080F15F6: bl SetGpuReg b _080F1620 .align 2, 0 -_080F1610: .4byte gUnknown_2037F1A +_080F1610: .4byte gBattleAnimAttacker _080F1614: .4byte 0x00003f42 _080F1618: ldr r1, _080F163C @ =0x00003f44 @@ -5380,7 +5380,7 @@ _080F1644: b _080F16B4 _080F167E: ldr r1, _080F16BC @ =gUnknown_2023D44 - ldr r4, _080F16C0 @ =gUnknown_2037F1A + ldr r4, _080F16C0 @ =gBattleAnimAttacker ldrb r0, [r4] adds r0, r1 ldrb r1, [r0] @@ -5409,7 +5409,7 @@ _080F16B4: bx r0 .align 2, 0 _080F16BC: .4byte gUnknown_2023D44 -_080F16C0: .4byte gUnknown_2037F1A +_080F16C0: .4byte gBattleAnimAttacker _080F16C4: .4byte gSprites _080F16C8: .4byte 0x06010000 thumb_func_end sub_80F15C8 @@ -5419,10 +5419,10 @@ sub_80F16CC: @ 80F16CC push {lr} lsls r0, 24 lsrs r0, 24 - ldr r3, _080F16F4 @ =gUnknown_2037F02 + ldr r3, _080F16F4 @ =gBattleAnimArgs ldr r1, _080F16F8 @ =gUnknown_2024018 ldr r2, [r1] - ldr r1, _080F16FC @ =gUnknown_2037F1A + ldr r1, _080F16FC @ =gBattleAnimAttacker ldrb r1, [r1] ldr r2, [r2] lsls r1, 2 @@ -5435,9 +5435,9 @@ sub_80F16CC: @ 80F16CC pop {r0} bx r0 .align 2, 0 -_080F16F4: .4byte gUnknown_2037F02 +_080F16F4: .4byte gBattleAnimArgs _080F16F8: .4byte gUnknown_2024018 -_080F16FC: .4byte gUnknown_2037F1A +_080F16FC: .4byte gBattleAnimAttacker thumb_func_end sub_80F16CC thumb_func_start sub_80F1700 @@ -5445,7 +5445,7 @@ sub_80F1700: @ 80F1700 push {lr} lsls r0, 24 lsrs r0, 24 - ldr r2, _080F1718 @ =gUnknown_2037F1B + ldr r2, _080F1718 @ =gBattleAnimTarget ldr r1, _080F171C @ =gUnknown_2023D6E ldrb r1, [r1] strb r1, [r2] @@ -5453,7 +5453,7 @@ sub_80F1700: @ 80F1700 pop {r0} bx r0 .align 2, 0 -_080F1718: .4byte gUnknown_2037F1B +_080F1718: .4byte gBattleAnimTarget _080F171C: .4byte gUnknown_2023D6E thumb_func_end sub_80F1700 @@ -5992,7 +5992,7 @@ sub_80F1B3C: @ 80F1B3C movs r1, 0 bl sub_8074480 lsls r0, 24 - ldr r5, _080F1BB0 @ =gUnknown_2037F02 + ldr r5, _080F1BB0 @ =gBattleAnimArgs lsrs r0, 24 ldrh r1, [r5, 0x4] adds r0, r1 @@ -6014,7 +6014,7 @@ sub_80F1B3C: @ 80F1B3C bl sub_8075068 ldr r2, _080F1BB8 @ =gSprites ldr r1, _080F1BBC @ =gUnknown_2023D44 - ldr r0, _080F1BC0 @ =gUnknown_2037F1A + ldr r0, _080F1BC0 @ =gBattleAnimAttacker ldrb r0, [r0] adds r0, r1 ldrb r1, [r0] @@ -6031,11 +6031,11 @@ sub_80F1B3C: @ 80F1B3C pop {r0} bx r0 .align 2, 0 -_080F1BB0: .4byte gUnknown_2037F02 +_080F1BB0: .4byte gBattleAnimArgs _080F1BB4: .4byte 0x0000ffe0 _080F1BB8: .4byte gSprites _080F1BBC: .4byte gUnknown_2023D44 -_080F1BC0: .4byte gUnknown_2037F1A +_080F1BC0: .4byte gBattleAnimAttacker _080F1BC4: .4byte sub_8012354 _080F1BC8: .4byte sub_80F1BCC thumb_func_end sub_80F1B3C @@ -6046,7 +6046,7 @@ sub_80F1BCC: @ 80F1BCC adds r3, r0, 0 ldr r2, _080F1BF4 @ =gSprites ldr r1, _080F1BF8 @ =gUnknown_2023D44 - ldr r0, _080F1BFC @ =gUnknown_2037F1A + ldr r0, _080F1BFC @ =gBattleAnimAttacker ldrb r0, [r0] adds r0, r1 ldrb r1, [r0] @@ -6066,7 +6066,7 @@ _080F1BF0: .align 2, 0 _080F1BF4: .4byte gSprites _080F1BF8: .4byte gUnknown_2023D44 -_080F1BFC: .4byte gUnknown_2037F1A +_080F1BFC: .4byte gBattleAnimAttacker _080F1C00: .4byte sub_80F1C04 thumb_func_end sub_80F1BCC @@ -6102,7 +6102,7 @@ sub_80F1C30: @ 80F1C30 adds r4, r0, 0 ldr r5, _080F1C80 @ =gSprites ldr r3, _080F1C84 @ =gUnknown_2023D44 - ldr r2, _080F1C88 @ =gUnknown_2037F1A + ldr r2, _080F1C88 @ =gBattleAnimAttacker ldrb r0, [r2] adds r0, r3 ldrb r1, [r0] @@ -6139,7 +6139,7 @@ _080F1C78: .align 2, 0 _080F1C80: .4byte gSprites _080F1C84: .4byte gUnknown_2023D44 -_080F1C88: .4byte gUnknown_2037F1A +_080F1C88: .4byte gBattleAnimAttacker thumb_func_end sub_80F1C30 thumb_func_start sub_80F1C8C @@ -6147,7 +6147,7 @@ sub_80F1C8C: @ 80F1C8C push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _080F1CA4 @ =gUnknown_2037F02 + ldr r0, _080F1CA4 @ =gBattleAnimArgs movs r1, 0 ldrsh r0, [r0, r1] cmp r0, 0 @@ -6156,25 +6156,25 @@ sub_80F1C8C: @ 80F1C8C beq _080F1CBC b _080F1CD0 .align 2, 0 -_080F1CA4: .4byte gUnknown_2037F02 +_080F1CA4: .4byte gBattleAnimArgs _080F1CA8: movs r0, 0 bl GetBattlerAtPosition - ldr r1, _080F1CB8 @ =gUnknown_2037F1A + ldr r1, _080F1CB8 @ =gBattleAnimAttacker strb r0, [r1] movs r0, 0x1 b _080F1CC8 .align 2, 0 -_080F1CB8: .4byte gUnknown_2037F1A +_080F1CB8: .4byte gBattleAnimAttacker _080F1CBC: movs r0, 0x1 bl GetBattlerAtPosition - ldr r1, _080F1CDC @ =gUnknown_2037F1A + ldr r1, _080F1CDC @ =gBattleAnimAttacker strb r0, [r1] movs r0, 0 _080F1CC8: bl GetBattlerAtPosition - ldr r1, _080F1CE0 @ =gUnknown_2037F1B + ldr r1, _080F1CE0 @ =gBattleAnimTarget strb r0, [r1] _080F1CD0: adds r0, r4, 0 @@ -6183,8 +6183,8 @@ _080F1CD0: pop {r0} bx r0 .align 2, 0 -_080F1CDC: .4byte gUnknown_2037F1A -_080F1CE0: .4byte gUnknown_2037F1B +_080F1CDC: .4byte gBattleAnimAttacker +_080F1CE0: .4byte gBattleAnimTarget thumb_func_end sub_80F1C8C thumb_func_start sub_80F1CE4 @@ -6196,14 +6196,14 @@ sub_80F1CE4: @ 80F1CE4 ldrb r0, [r2, 0x5] cmp r0, 0x2 bls _080F1D00 - ldr r1, _080F1CFC @ =gUnknown_2037F02 + ldr r1, _080F1CFC @ =gBattleAnimArgs movs r0, 0 b _080F1D04 .align 2, 0 _080F1CF8: .4byte gUnknown_2023E82 -_080F1CFC: .4byte gUnknown_2037F02 +_080F1CFC: .4byte gBattleAnimArgs _080F1D00: - ldr r1, _080F1D10 @ =gUnknown_2037F02 + ldr r1, _080F1D10 @ =gBattleAnimArgs ldrb r0, [r2, 0x5] _080F1D04: strh r0, [r1, 0xE] @@ -6212,7 +6212,7 @@ _080F1D04: pop {r0} bx r0 .align 2, 0 -_080F1D10: .4byte gUnknown_2037F02 +_080F1D10: .4byte gBattleAnimArgs thumb_func_end sub_80F1CE4 thumb_func_start sub_80F1D14 @@ -6226,40 +6226,40 @@ sub_80F1D14: @ 80F1D14 ldrh r1, [r0] cmp r1, 0x53 bne _080F1D34 - ldr r1, _080F1D30 @ =gUnknown_2037F02 + ldr r1, _080F1D30 @ =gBattleAnimArgs movs r0, 0x1 b _080F1D6C .align 2, 0 _080F1D2C: .4byte gUnknown_2024018 -_080F1D30: .4byte gUnknown_2037F02 +_080F1D30: .4byte gBattleAnimArgs _080F1D34: cmp r1, 0xFA bne _080F1D44 - ldr r1, _080F1D40 @ =gUnknown_2037F02 + ldr r1, _080F1D40 @ =gBattleAnimArgs movs r0, 0x2 b _080F1D6C .align 2, 0 -_080F1D40: .4byte gUnknown_2037F02 +_080F1D40: .4byte gBattleAnimArgs _080F1D44: cmp r1, 0x80 bne _080F1D54 - ldr r1, _080F1D50 @ =gUnknown_2037F02 + ldr r1, _080F1D50 @ =gBattleAnimArgs movs r0, 0x3 b _080F1D6C .align 2, 0 -_080F1D50: .4byte gUnknown_2037F02 +_080F1D50: .4byte gBattleAnimArgs _080F1D54: movs r0, 0xA4 lsls r0, 1 cmp r1, r0 bne _080F1D68 - ldr r1, _080F1D64 @ =gUnknown_2037F02 + ldr r1, _080F1D64 @ =gBattleAnimArgs movs r0, 0x4 b _080F1D6C .align 2, 0 -_080F1D64: .4byte gUnknown_2037F02 +_080F1D64: .4byte gBattleAnimArgs _080F1D68: - ldr r1, _080F1D78 @ =gUnknown_2037F02 + ldr r1, _080F1D78 @ =gBattleAnimArgs movs r0, 0 _080F1D6C: strh r0, [r1] @@ -6268,7 +6268,7 @@ _080F1D6C: pop {r0} bx r0 .align 2, 0 -_080F1D78: .4byte gUnknown_2037F02 +_080F1D78: .4byte gBattleAnimArgs thumb_func_end sub_80F1D14 thumb_func_start sub_80F1D7C @@ -6276,13 +6276,13 @@ sub_80F1D7C: @ 80F1D7C push {lr} lsls r0, 24 lsrs r0, 24 - ldr r3, _080F1DA0 @ =gUnknown_2037F1A + ldr r3, _080F1DA0 @ =gBattleAnimAttacker ldr r1, _080F1DA4 @ =gUnknown_2024018 ldr r2, [r1] ldr r1, [r2, 0x8] ldrh r1, [r1] strb r1, [r3] - ldr r3, _080F1DA8 @ =gUnknown_2037F1B + ldr r3, _080F1DA8 @ =gBattleAnimTarget ldr r1, [r2, 0x8] ldrh r1, [r1] lsrs r1, 8 @@ -6291,9 +6291,9 @@ sub_80F1D7C: @ 80F1D7C pop {r0} bx r0 .align 2, 0 -_080F1DA0: .4byte gUnknown_2037F1A +_080F1DA0: .4byte gBattleAnimAttacker _080F1DA4: .4byte gUnknown_2024018 -_080F1DA8: .4byte gUnknown_2037F1B +_080F1DA8: .4byte gBattleAnimTarget thumb_func_end sub_80F1D7C .align 2, 0 @ Don't pad with nop. diff --git a/asm/battle_anim_sound_tasks.s b/asm/battle_anim_sound_tasks.s index 016e8b093..954878daa 100644 --- a/asm/battle_anim_sound_tasks.s +++ b/asm/battle_anim_sound_tasks.s @@ -15,7 +15,7 @@ sub_80DCE10: @ 80DCE10 adds r6, r0 lsls r6, 3 adds r6, r1 - ldr r1, _080DCE70 @ =gUnknown_2037F02 + ldr r1, _080DCE70 @ =gBattleAnimArgs ldrh r0, [r1] strh r0, [r6, 0x8] ldrh r0, [r1, 0x2] @@ -51,7 +51,7 @@ sub_80DCE10: @ 80DCE10 bx r0 .align 2, 0 _080DCE6C: .4byte gTasks -_080DCE70: .4byte gUnknown_2037F02 +_080DCE70: .4byte gBattleAnimArgs _080DCE74: .4byte sub_80DCE78 thumb_func_end sub_80DCE10 @@ -168,7 +168,7 @@ mas_80DCF38: @ 80DCF38 lsls r0, 24 lsrs r0, 24 mov r8, r0 - ldr r0, _080DCFDC @ =gUnknown_2037F02 + ldr r0, _080DCFDC @ =gBattleAnimArgs ldrh r1, [r0] str r1, [sp] ldrb r5, [r0, 0x4] @@ -236,7 +236,7 @@ mas_80DCF38: @ 80DCF38 pop {r0} bx r0 .align 2, 0 -_080DCFDC: .4byte gUnknown_2037F02 +_080DCFDC: .4byte gBattleAnimArgs _080DCFE0: .4byte gTasks _080DCFE4: .4byte sub_80DCFE8 thumb_func_end mas_80DCF38 @@ -320,41 +320,41 @@ sub_80DD06C: @ 80DD06C bl sub_8073A44 lsls r0, 24 lsrs r6, r0, 24 - ldr r0, _080DD090 @ =gUnknown_2037F02 + ldr r0, _080DD090 @ =gBattleAnimArgs movs r1, 0 ldrsh r0, [r0, r1] cmp r0, 0 bne _080DD098 - ldr r0, _080DD094 @ =gUnknown_2037F1A + ldr r0, _080DD094 @ =gBattleAnimAttacker ldrb r4, [r0] b _080DD0BE .align 2, 0 -_080DD090: .4byte gUnknown_2037F02 -_080DD094: .4byte gUnknown_2037F1A +_080DD090: .4byte gBattleAnimArgs +_080DD094: .4byte gBattleAnimAttacker _080DD098: cmp r0, 0x1 bne _080DD0A8 - ldr r0, _080DD0A4 @ =gUnknown_2037F1B + ldr r0, _080DD0A4 @ =gBattleAnimTarget ldrb r4, [r0] b _080DD0BE .align 2, 0 -_080DD0A4: .4byte gUnknown_2037F1B +_080DD0A4: .4byte gBattleAnimTarget _080DD0A8: cmp r0, 0x2 bne _080DD0B4 - ldr r0, _080DD0B0 @ =gUnknown_2037F1A + ldr r0, _080DD0B0 @ =gBattleAnimAttacker b _080DD0B6 .align 2, 0 -_080DD0B0: .4byte gUnknown_2037F1A +_080DD0B0: .4byte gBattleAnimAttacker _080DD0B4: - ldr r0, _080DD0E0 @ =gUnknown_2037F1B + ldr r0, _080DD0E0 @ =gBattleAnimTarget _080DD0B6: ldrb r1, [r0] movs r0, 0x2 adds r4, r0, 0 eors r4, r1 _080DD0BE: - ldr r0, _080DD0E4 @ =gUnknown_2037F02 + ldr r0, _080DD0E4 @ =gBattleAnimArgs movs r1, 0 ldrsh r0, [r0, r1] cmp r0, 0x1 @@ -371,8 +371,8 @@ _080DD0CC: bl DestroyAnimVisualTask b _080DD13A .align 2, 0 -_080DD0E0: .4byte gUnknown_2037F1B -_080DD0E4: .4byte gUnknown_2037F02 +_080DD0E0: .4byte gBattleAnimTarget +_080DD0E4: .4byte gBattleAnimArgs _080DD0E8: adds r0, r4, 0 bl GetBattlerSide @@ -432,41 +432,41 @@ sub_80DD148: @ 80DD148 bl sub_8073A44 lsls r0, 24 lsrs r5, r0, 24 - ldr r0, _080DD16C @ =gUnknown_2037F02 + ldr r0, _080DD16C @ =gBattleAnimArgs movs r1, 0 ldrsh r0, [r0, r1] cmp r0, 0 bne _080DD174 - ldr r0, _080DD170 @ =gUnknown_2037F1A + ldr r0, _080DD170 @ =gBattleAnimAttacker ldrb r4, [r0] b _080DD19A .align 2, 0 -_080DD16C: .4byte gUnknown_2037F02 -_080DD170: .4byte gUnknown_2037F1A +_080DD16C: .4byte gBattleAnimArgs +_080DD170: .4byte gBattleAnimAttacker _080DD174: cmp r0, 0x1 bne _080DD184 - ldr r0, _080DD180 @ =gUnknown_2037F1B + ldr r0, _080DD180 @ =gBattleAnimTarget ldrb r4, [r0] b _080DD19A .align 2, 0 -_080DD180: .4byte gUnknown_2037F1B +_080DD180: .4byte gBattleAnimTarget _080DD184: cmp r0, 0x2 bne _080DD190 - ldr r0, _080DD18C @ =gUnknown_2037F1A + ldr r0, _080DD18C @ =gBattleAnimAttacker b _080DD192 .align 2, 0 -_080DD18C: .4byte gUnknown_2037F1A +_080DD18C: .4byte gBattleAnimAttacker _080DD190: - ldr r0, _080DD1BC @ =gUnknown_2037F1B + ldr r0, _080DD1BC @ =gBattleAnimTarget _080DD192: ldrb r1, [r0] movs r0, 0x2 adds r4, r0, 0 eors r4, r1 _080DD19A: - ldr r0, _080DD1C0 @ =gUnknown_2037F02 + ldr r0, _080DD1C0 @ =gBattleAnimArgs movs r2, 0 ldrsh r0, [r0, r2] cmp r0, 0x1 @@ -483,8 +483,8 @@ _080DD1A8: bl DestroyAnimVisualTask b _080DD26A .align 2, 0 -_080DD1BC: .4byte gUnknown_2037F1B -_080DD1C0: .4byte gUnknown_2037F02 +_080DD1BC: .4byte gBattleAnimTarget +_080DD1C0: .4byte gBattleAnimArgs _080DD1C4: adds r0, r4, 0 bl GetBattlerSide @@ -521,7 +521,7 @@ _080DD1F6: adds r0, r2, r6 lsls r0, 3 adds r0, r1 - ldr r4, _080DD240 @ =gUnknown_2037F02 + ldr r4, _080DD240 @ =gBattleAnimArgs ldrh r1, [r4, 0x2] strh r1, [r0, 0x8] strh r3, [r0, 0xA] @@ -543,7 +543,7 @@ _080DD1F6: _080DD234: .4byte gBattlerPartyIndexes _080DD238: .4byte gPlayerParty _080DD23C: .4byte gTasks -_080DD240: .4byte gUnknown_2037F02 +_080DD240: .4byte gBattleAnimArgs _080DD244: adds r0, r3, 0 movs r2, 0x7 @@ -677,7 +677,7 @@ sub_80DD334: @ 80DD334 negs r0, r0 bl sub_8073A44 ldr r2, _080DD374 @ =gUnknown_2037F1C - ldr r1, _080DD378 @ =gUnknown_2037F1A + ldr r1, _080DD378 @ =gBattleAnimAttacker ldrb r1, [r1] lsls r1, 1 adds r1, r2 @@ -701,7 +701,7 @@ sub_80DD334: @ 80DD334 b _080DD38A .align 2, 0 _080DD374: .4byte gUnknown_2037F1C -_080DD378: .4byte gUnknown_2037F1A +_080DD378: .4byte gBattleAnimAttacker _080DD37C: .4byte gTasks _080DD380: .4byte sub_80DD390 _080DD384: @@ -758,7 +758,7 @@ sub_80DD3DC: @ 80DD3DC adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, _080DD40C @ =gUnknown_2037F02 + ldr r0, _080DD40C @ =gBattleAnimArgs ldrh r5, [r0] ldrb r0, [r0, 0x2] lsls r0, 24 @@ -775,7 +775,7 @@ sub_80DD3DC: @ 80DD3DC pop {r0} bx r0 .align 2, 0 -_080DD40C: .4byte gUnknown_2037F02 +_080DD40C: .4byte gBattleAnimArgs thumb_func_end sub_80DD3DC thumb_func_start sub_80DD410 @@ -784,7 +784,7 @@ sub_80DD410: @ 80DD410 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, _080DD440 @ =gUnknown_2037F02 + ldr r0, _080DD440 @ =gBattleAnimArgs ldrh r5, [r0] ldrb r0, [r0, 0x2] lsls r0, 24 @@ -801,7 +801,7 @@ sub_80DD410: @ 80DD410 pop {r0} bx r0 .align 2, 0 -_080DD440: .4byte gUnknown_2037F02 +_080DD440: .4byte gBattleAnimArgs thumb_func_end sub_80DD410 thumb_func_start sub_80DD444 @@ -814,7 +814,7 @@ sub_80DD444: @ 80DD444 lsls r0, 24 lsrs r0, 24 mov r8, r0 - ldr r0, _080DD4C8 @ =gUnknown_2037F02 + ldr r0, _080DD4C8 @ =gBattleAnimArgs ldrb r5, [r0, 0x2] ldrb r6, [r0, 0x4] ldrh r1, [r0, 0x6] @@ -868,7 +868,7 @@ sub_80DD444: @ 80DD444 pop {r0} bx r0 .align 2, 0 -_080DD4C8: .4byte gUnknown_2037F02 +_080DD4C8: .4byte gBattleAnimArgs _080DD4CC: .4byte gTasks _080DD4D0: .4byte sub_80DD4D4 thumb_func_end sub_80DD444 diff --git a/asm/battle_gfx_sfx_util.s b/asm/battle_gfx_sfx_util.s index d5ae72291..b1b4b172a 100644 --- a/asm/battle_gfx_sfx_util.s +++ b/asm/battle_gfx_sfx_util.s @@ -417,10 +417,10 @@ _08034094: _080340D8: .4byte gSprites _080340DC: .4byte gUnknown_2023D44 _080340E0: - ldr r0, _08034144 @ =gUnknown_2037F1A + ldr r0, _08034144 @ =gBattleAnimAttacker mov r2, r10 strb r2, [r0] - ldr r0, _08034148 @ =gUnknown_2037F1B + ldr r0, _08034148 @ =gBattleAnimTarget mov r1, sp ldrb r1, [r1] strb r1, [r0] @@ -466,8 +466,8 @@ _08034132: pop {r1} bx r1 .align 2, 0 -_08034144: .4byte gUnknown_2037F1A -_08034148: .4byte gUnknown_2037F1B +_08034144: .4byte gBattleAnimAttacker +_08034148: .4byte gBattleAnimTarget _0803414C: .4byte gUnknown_2024018 _08034150: .4byte gUnknown_81C6EA8 _08034154: .4byte Task_ClearBitWhenBattleTableAnimDone @@ -551,9 +551,9 @@ InitAndLaunchSpecialAnimation: @ 80341D8 lsrs r4, 24 lsls r3, 24 lsrs r3, 24 - ldr r0, _08034230 @ =gUnknown_2037F1A + ldr r0, _08034230 @ =gBattleAnimAttacker strb r1, [r0] - ldr r0, _08034234 @ =gUnknown_2037F1B + ldr r0, _08034234 @ =gBattleAnimTarget strb r2, [r0] ldr r0, _08034238 @ =gUnknown_81C6F18 adds r1, r3, 0 @@ -587,8 +587,8 @@ InitAndLaunchSpecialAnimation: @ 80341D8 pop {r0} bx r0 .align 2, 0 -_08034230: .4byte gUnknown_2037F1A -_08034234: .4byte gUnknown_2037F1B +_08034230: .4byte gBattleAnimAttacker +_08034234: .4byte gBattleAnimTarget _08034238: .4byte gUnknown_81C6F18 _0803423C: .4byte Task_ClearBitWhenSpecialAnimDone _08034240: .4byte gTasks diff --git a/sym_ewram.txt b/sym_ewram.txt index a5151ebc0..c496c8764 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -764,7 +764,7 @@ gUnknown_2037EFE: @ 2037EFE gUnknown_2037F00: @ 2037F00 .space 0x2 -gUnknown_2037F02: @ 2037F02 +gBattleAnimArgs: @ 2037F02 .space 0x10 gUnknown_2037F12: @ 2037F12 @@ -782,10 +782,10 @@ gUnknown_2037F17: @ 2037F17 gUnknown_2037F18: @ 2037F18 .space 0x2 -gUnknown_2037F1A: @ 2037F1A +gBattleAnimAttacker: @ 2037F1A .space 0x1 -gUnknown_2037F1B: @ 2037F1B +gBattleAnimTarget: @ 2037F1B .space 0x1 gUnknown_2037F1C: @ 2037F1C -- cgit v1.2.3 From 2f336c05bfc1c28db81d85a74056305e42a32fff Mon Sep 17 00:00:00 2001 From: garak Date: Thu, 23 May 2019 16:31:12 -0400 Subject: split battle anim effects 1 and 2, fire, water, and electric --- asm/battle_anim_80A22E8.s | 26738 ------------------------------------------ asm/battle_anim_effects_1.s | 9882 ++++++++++++++++ asm/battle_anim_effects_2.s | 7946 +++++++++++++ asm/electric.s | 2675 +++++ asm/fire.s | 2500 ++++ asm/water.s | 3775 ++++++ ld_script.txt | 5 + 7 files changed, 26783 insertions(+), 26738 deletions(-) create mode 100644 asm/battle_anim_effects_1.s create mode 100644 asm/battle_anim_effects_2.s create mode 100644 asm/electric.s create mode 100644 asm/fire.s create mode 100644 asm/water.s diff --git a/asm/battle_anim_80A22E8.s b/asm/battle_anim_80A22E8.s index fda553750..18e22078e 100644 --- a/asm/battle_anim_80A22E8.s +++ b/asm/battle_anim_80A22E8.s @@ -5,26744 +5,6 @@ .text - thumb_func_start sub_80A22E8 -sub_80A22E8: @ 80A22E8 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, _080A231C @ =gBattleAnimArgs - ldrh r0, [r5] - ldrh r1, [r4, 0x20] - adds r0, r1 - strh r0, [r4, 0x20] - ldrh r0, [r5, 0x2] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - ldrh r0, [r5, 0x4] - strh r0, [r4, 0x2E] - ldrh r0, [r5, 0x6] - strh r0, [r4, 0x30] - ldr r0, _080A2320 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080A2324 - ldrh r0, [r5, 0x8] - negs r0, r0 - b _080A2326 - .align 2, 0 -_080A231C: .4byte gBattleAnimArgs -_080A2320: .4byte gBattleAnimAttacker -_080A2324: - ldrh r0, [r5, 0x8] -_080A2326: - strh r0, [r4, 0x34] - ldr r0, _080A2338 @ =gBattleAnimArgs - ldrh r0, [r0, 0xA] - strh r0, [r4, 0x36] - ldr r0, _080A233C @ =sub_80A2340 - str r0, [r4, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A2338: .4byte gBattleAnimArgs -_080A233C: .4byte sub_80A2340 - thumb_func_end sub_80A22E8 - - thumb_func_start sub_80A2340 -sub_80A2340: @ 80A2340 - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x2E] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0 - ble _080A237C - subs r0, r1, 0x1 - strh r0, [r4, 0x2E] - ldrh r1, [r4, 0x32] - lsls r0, r1, 16 - asrs r0, 24 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x30] - adds r1, r0 - strh r1, [r4, 0x32] - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r2, 0x34 - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x36] - ldrh r1, [r4, 0x38] - adds r0, r1 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x38] - b _080A2382 -_080A237C: - adds r0, r4, 0 - bl DestroyAnimSprite -_080A2382: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A2340 - - thumb_func_start sub_80A2388 -sub_80A2388: @ 80A2388 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl sub_8075160 - ldr r0, _080A23C8 @ =gBattleAnimArgs - ldrh r0, [r0, 0x4] - strh r0, [r4, 0x2E] - ldr r5, _080A23CC @ =gBattleAnimAttacker - ldrb r0, [r5] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x32] - ldrb r0, [r5] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x36] - ldr r0, _080A23D0 @ =sub_8075590 - str r0, [r4, 0x1C] - ldr r1, _080A23D4 @ =move_anim_8074EE0 - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A23C8: .4byte gBattleAnimArgs -_080A23CC: .4byte gBattleAnimAttacker -_080A23D0: .4byte sub_8075590 -_080A23D4: .4byte move_anim_8074EE0 - thumb_func_end sub_80A2388 - - thumb_func_start sub_80A23D8 -sub_80A23D8: @ 80A23D8 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl sub_8075160 - ldr r5, _080A2420 @ =gBattleAnimArgs - ldrb r1, [r5, 0x6] - adds r0, r4, 0 - bl StartSpriteAnim - ldrh r0, [r5, 0x4] - strh r0, [r4, 0x2E] - ldr r5, _080A2424 @ =gBattleAnimTarget - ldrb r0, [r5] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x32] - ldrb r0, [r5] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x36] - ldr r0, _080A2428 @ =sub_8075590 - str r0, [r4, 0x1C] - ldr r1, _080A242C @ =DestroyAnimSprite - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A2420: .4byte gBattleAnimArgs -_080A2424: .4byte gBattleAnimTarget -_080A2428: .4byte sub_8075590 -_080A242C: .4byte DestroyAnimSprite - thumb_func_end sub_80A23D8 - - thumb_func_start sub_80A2430 -sub_80A2430: @ 80A2430 - push {r4-r6,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl sub_8075160 - ldr r6, _080A2480 @ =gBattleAnimArgs - ldrh r0, [r6, 0x4] - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x20] - strh r0, [r4, 0x30] - ldr r5, _080A2484 @ =gBattleAnimTarget - ldrb r0, [r5] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x22] - strh r0, [r4, 0x34] - ldrb r0, [r5] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x36] - adds r0, r4, 0 - bl obj_translate_based_on_private_1_2_3_4 - ldrh r0, [r6, 0x6] - strh r0, [r4, 0x38] - ldr r1, _080A2488 @ =sub_80A248C - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A2480: .4byte gBattleAnimArgs -_080A2484: .4byte gBattleAnimTarget -_080A2488: .4byte sub_80A248C - thumb_func_end sub_80A2430 - - thumb_func_start sub_80A248C -sub_80A248C: @ 80A248C - push {r4,lr} - adds r4, r0, 0 - bl sub_80755E0 - lsls r0, 24 - cmp r0, 0 - beq _080A24A2 - adds r0, r4, 0 - bl DestroySprite - b _080A24F6 -_080A24A2: - movs r1, 0x38 - ldrsh r0, [r4, r1] - cmp r0, 0x7F - ble _080A24BC - ldr r0, _080A24B8 @ =gBattleAnimTarget - ldrb r0, [r0] - bl sub_807685C - adds r0, 0x1 - b _080A24C6 - .align 2, 0 -_080A24B8: .4byte gBattleAnimTarget -_080A24BC: - ldr r0, _080A24FC @ =gBattleAnimTarget - ldrb r0, [r0] - bl sub_807685C - adds r0, 0x6 -_080A24C6: - adds r1, r4, 0 - adds r1, 0x43 - strb r0, [r1] - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r1, 0x5 - bl Sin - ldrh r1, [r4, 0x24] - adds r0, r1 - strh r0, [r4, 0x24] - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r1, 0xE - bl Cos - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x38] - adds r0, 0xF - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x38] -_080A24F6: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A24FC: .4byte gBattleAnimTarget - thumb_func_end sub_80A248C - - thumb_func_start sub_80A2500 -sub_80A2500: @ 80A2500 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - adds r6, r0, 0 - ldr r1, _080A2570 @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r5, r0, r1 - ldrh r0, [r5, 0x8] - subs r0, 0x1 - movs r2, 0 - strh r0, [r5, 0x8] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _080A255A - ldrh r0, [r5, 0xA] - adds r0, 0x1 - strh r0, [r5, 0xA] - movs r0, 0x6 - strh r0, [r5, 0x8] - ldr r1, _080A2574 @ =gBattleAnimArgs - movs r0, 0xF - strh r0, [r1] - strh r2, [r1, 0x2] - movs r0, 0x50 - strh r0, [r1, 0x4] - strh r2, [r1, 0x6] - ldr r4, _080A2578 @ =gUnknown_83E2A88 - ldr r0, _080A257C @ =gBattleAnimTarget - ldrb r0, [r0] - bl sub_807685C - adds r3, r0, 0 - adds r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - adds r0, r4, 0 - movs r1, 0 - movs r2, 0 - bl CreateSpriteAndAnimate -_080A255A: - movs r1, 0xA - ldrsh r0, [r5, r1] - cmp r0, 0xF - bne _080A2568 - adds r0, r6, 0 - bl DestroyAnimVisualTask -_080A2568: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A2570: .4byte gTasks -_080A2574: .4byte gBattleAnimArgs -_080A2578: .4byte gUnknown_83E2A88 -_080A257C: .4byte gBattleAnimTarget - thumb_func_end sub_80A2500 - - thumb_func_start sub_80A2580 -sub_80A2580: @ 80A2580 - push {r4-r6,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl sub_8075114 - ldr r6, _080A25C4 @ =gBattleAnimArgs - ldrh r0, [r6, 0x6] - strh r0, [r4, 0x2E] - ldr r5, _080A25C8 @ =gBattleAnimAttacker - ldrb r0, [r5] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x32] - ldrb r0, [r5] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x36] - ldrh r0, [r6, 0x4] - strh r0, [r4, 0x38] - adds r0, r4, 0 - bl sub_8075068 - ldr r0, _080A25CC @ =sub_80A25D0 - str r0, [r4, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A25C4: .4byte gBattleAnimArgs -_080A25C8: .4byte gBattleAnimAttacker -_080A25CC: .4byte sub_80A25D0 - thumb_func_end sub_80A2580 - - thumb_func_start sub_80A25D0 -sub_80A25D0: @ 80A25D0 - push {r4,lr} - adds r4, r0, 0 - bl AnimateBallThrow - lsls r0, 24 - cmp r0, 0 - beq _080A25E4 - adds r0, r4, 0 - bl DestroyAnimSprite -_080A25E4: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A25D0 - - thumb_func_start sub_80A25EC -sub_80A25EC: @ 80A25EC - push {r4,r5,lr} - adds r5, r0, 0 - bl Random - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x7 - ands r1, r0 - adds r0, r5, 0 - bl StartSpriteAnim - ldr r4, _080A2634 @ =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080A2638 - ldrh r0, [r5, 0x20] - subs r0, 0x14 - b _080A263C - .align 2, 0 -_080A2634: .4byte gBattleAnimAttacker -_080A2638: - ldrh r0, [r5, 0x20] - adds r0, 0x14 -_080A263C: - strh r0, [r5, 0x20] - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1F - ands r0, r1 - adds r0, 0x40 - strh r0, [r5, 0x2E] - ldrh r0, [r5, 0x20] - strh r0, [r5, 0x30] - ldr r4, _080A269C @ =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x32] - ldrh r0, [r5, 0x22] - strh r0, [r5, 0x34] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x36] - adds r0, r5, 0 - bl sub_8075804 - bl Random - movs r1, 0xFF - ands r1, r0 - strh r1, [r5, 0x38] - adds r0, r5, 0 - adds r0, 0x43 - ldrb r0, [r0] - strh r0, [r5, 0x3A] - ldr r1, _080A26A0 @ =sub_80A26A4 - str r1, [r5, 0x1C] - adds r0, r5, 0 - bl _call_via_r1 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A269C: .4byte gBattleAnimTarget -_080A26A0: .4byte sub_80A26A4 - thumb_func_end sub_80A25EC - - thumb_func_start sub_80A26A4 -sub_80A26A4: @ 80A26A4 - push {r4,lr} - adds r4, r0, 0 - bl sub_807578C - lsls r0, 24 - cmp r0, 0 - beq _080A26BA - adds r0, r4, 0 - bl DestroyAnimSprite - b _080A26EA -_080A26BA: - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r1, 0xC - bl Cos - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - movs r1, 0x38 - ldrsh r0, [r4, r1] - cmp r0, 0x7E - bgt _080A26D6 - ldrh r0, [r4, 0x3A] - b _080A26DA -_080A26D6: - ldrh r0, [r4, 0x3A] - adds r0, 0x1 -_080A26DA: - adds r1, r4, 0 - adds r1, 0x43 - strb r0, [r1] - ldrh r0, [r4, 0x38] - adds r0, 0x18 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x38] -_080A26EA: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A26A4 - - thumb_func_start sub_80A26F0 -sub_80A26F0: @ 80A26F0 - push {r4-r6,lr} - adds r6, r0, 0 - movs r1, 0x1 - bl sub_8075160 - ldr r0, _080A2750 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080A2710 - ldr r1, _080A2754 @ =gBattleAnimArgs - ldrh r0, [r1, 0x4] - negs r0, r0 - strh r0, [r1, 0x4] -_080A2710: - ldr r4, _080A2754 @ =gBattleAnimArgs - ldrh r0, [r4, 0x8] - strh r0, [r6, 0x2E] - ldr r5, _080A2758 @ =gBattleAnimTarget - ldrb r0, [r5] - movs r1, 0 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x4] - adds r0, r1 - strh r0, [r6, 0x32] - ldrb r0, [r5] - movs r1, 0x1 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x6] - adds r0, r1 - strh r0, [r6, 0x36] - ldrh r0, [r4, 0xA] - strh r0, [r6, 0x38] - adds r0, r6, 0 - bl sub_8075068 - ldr r0, _080A275C @ =sub_80A2760 - str r0, [r6, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A2750: .4byte gBattleAnimAttacker -_080A2754: .4byte gBattleAnimArgs -_080A2758: .4byte gBattleAnimTarget -_080A275C: .4byte sub_80A2760 - thumb_func_end sub_80A26F0 - - thumb_func_start sub_80A2760 -sub_80A2760: @ 80A2760 - push {r4,lr} - adds r4, r0, 0 - bl AnimateBallThrow - lsls r0, 24 - cmp r0, 0 - beq _080A278A - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - movs r0, 0xA - strh r0, [r4, 0x2E] - ldr r0, _080A2790 @ =sub_8074C44 - str r0, [r4, 0x1C] - ldr r1, _080A2794 @ =sub_80A2798 - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 -_080A278A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A2790: .4byte sub_8074C44 -_080A2794: .4byte sub_80A2798 - thumb_func_end sub_80A2760 - - thumb_func_start sub_80A2798 -sub_80A2798: @ 80A2798 - push {r4,lr} - adds r4, r0, 0 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAnim - movs r0, 0x3C - strh r0, [r4, 0x2E] - ldr r0, _080A27C8 @ =sub_8074C44 - str r0, [r4, 0x1C] - ldr r1, _080A27CC @ =DestroyAnimSprite - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A27C8: .4byte sub_8074C44 -_080A27CC: .4byte DestroyAnimSprite - thumb_func_end sub_80A2798 - - thumb_func_start sub_80A27D0 -sub_80A27D0: @ 80A27D0 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl sub_8075114 - ldr r5, _080A2814 @ =gBattleAnimArgs - ldrb r1, [r5, 0x8] - adds r0, r4, 0 - bl StartSpriteAnim - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - bne _080A27FA - ldrb r0, [r4, 0x1] - movs r1, 0xD - negs r1, r1 - ands r1, r0 - movs r0, 0x4 - orrs r1, r0 - strb r1, [r4, 0x1] -_080A27FA: - ldrh r0, [r5, 0x6] - strh r0, [r4, 0x2E] - ldrh r0, [r5, 0x4] - strh r0, [r4, 0x30] - ldr r1, _080A2818 @ =sub_80A281C - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A2814: .4byte gBattleAnimArgs -_080A2818: .4byte sub_80A281C - thumb_func_end sub_80A27D0 - - thumb_func_start sub_80A281C -sub_80A281C: @ 80A281C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r1, 0x20 - bl Sin - strh r0, [r4, 0x24] - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r1, 0x3 - negs r1, r1 - bl Cos - ldrh r1, [r4, 0x32] - adds r1, 0x18 - strh r1, [r4, 0x32] - lsls r1, 16 - asrs r1, 24 - adds r0, r1 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x30] - subs r0, 0x40 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x7F - bhi _080A2870 - ldr r0, _080A286C @ =gBattleAnimTarget - ldrb r0, [r0] - bl sub_8076884 - movs r1, 0x3 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r4, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - b _080A2894 - .align 2, 0 -_080A286C: .4byte gBattleAnimTarget -_080A2870: - ldr r0, _080A28C0 @ =gBattleAnimTarget - ldrb r0, [r0] - bl sub_8076884 - adds r0, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x3 - bls _080A2884 - movs r2, 0x3 -_080A2884: - movs r0, 0x3 - ands r2, r0 - lsls r2, 2 - ldrb r1, [r4, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - orrs r0, r2 -_080A2894: - strb r0, [r4, 0x5] - ldrh r0, [r4, 0x30] - adds r0, 0x2 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x2E] - subs r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _080A28B8 - adds r0, r4, 0 - bl DestroyAnimSprite -_080A28B8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A28C0: .4byte gBattleAnimTarget - thumb_func_end sub_80A281C - - thumb_func_start sub_80A28C4 -sub_80A28C4: @ 80A28C4 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080A28DE - bl sub_8075290 - lsls r0, 24 - cmp r0, 0 - bne _080A28E6 -_080A28DE: - adds r0, r4, 0 - bl DestroyAnimVisualTask - b _080A2918 -_080A28E6: - ldr r0, _080A2904 @ =gBattleAnimTarget - ldrb r0, [r0] - bl sub_80768B0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A2908 - movs r0, 0x2 - movs r1, 0x4 - movs r2, 0x3 - bl SetAnimBgAttribute - b _080A2912 - .align 2, 0 -_080A2904: .4byte gBattleAnimTarget -_080A2908: - movs r0, 0x1 - movs r1, 0x4 - movs r2, 0x1 - bl SetAnimBgAttribute -_080A2912: - adds r0, r4, 0 - bl DestroyAnimVisualTask -_080A2918: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A28C4 - - thumb_func_start sub_80A2920 -sub_80A2920: @ 80A2920 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0 - bl sub_8075160 - ldr r5, _080A2968 @ =gBattleAnimArgs - ldrh r0, [r5, 0x6] - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x20] - strh r0, [r4, 0x30] - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x22] - strh r0, [r4, 0x34] - ldr r0, _080A296C @ =gBattleAnimAttacker - ldrb r0, [r0] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r5, [r5, 0x4] - adds r0, r5 - strh r0, [r4, 0x36] - adds r0, r4, 0 - bl obj_translate_based_on_private_1_2_3_4 - movs r0, 0x40 - strh r0, [r4, 0x38] - ldr r1, _080A2970 @ =sub_80A2974 - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A2968: .4byte gBattleAnimArgs -_080A296C: .4byte gBattleAnimAttacker -_080A2970: .4byte sub_80A2974 - thumb_func_end sub_80A2920 - - thumb_func_start sub_80A2974 -sub_80A2974: @ 80A2974 - push {r4,lr} - adds r4, r0, 0 - bl sub_80755E0 - lsls r0, 24 - cmp r0, 0 - bne _080A29E0 - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r1, 0x20 - bl Sin - ldrh r1, [r4, 0x24] - adds r0, r1 - strh r0, [r4, 0x24] - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r1, 0x5 - negs r1, r1 - bl Cos - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x38] - subs r0, 0x40 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x7F - bhi _080A29C0 - ldr r0, _080A29BC @ =gBattleAnimAttacker - ldrb r0, [r0] - bl sub_807685C - subs r0, 0x1 - b _080A29CA - .align 2, 0 -_080A29BC: .4byte gBattleAnimAttacker -_080A29C0: - ldr r0, _080A29DC @ =gBattleAnimAttacker - ldrb r0, [r0] - bl sub_807685C - adds r0, 0x1 -_080A29CA: - adds r1, r4, 0 - adds r1, 0x43 - strb r0, [r1] - ldrh r0, [r4, 0x38] - adds r0, 0x5 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x38] - b _080A29E6 - .align 2, 0 -_080A29DC: .4byte gBattleAnimAttacker -_080A29E0: - adds r0, r4, 0 - bl DestroyAnimSprite -_080A29E6: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A2974 - - thumb_func_start sub_80A29EC -sub_80A29EC: @ 80A29EC - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl sub_8075160 - ldr r5, _080A2A34 @ =gBattleAnimArgs - ldrh r0, [r5, 0x6] - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x20] - strh r0, [r4, 0x30] - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x22] - strh r0, [r4, 0x34] - ldr r0, _080A2A38 @ =gBattleAnimAttacker - ldrb r0, [r0] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r5, [r5, 0x4] - adds r0, r5 - strh r0, [r4, 0x36] - adds r0, r4, 0 - bl obj_translate_based_on_private_1_2_3_4 - movs r0, 0x40 - strh r0, [r4, 0x38] - ldr r1, _080A2A3C @ =sub_80A2A40 - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A2A34: .4byte gBattleAnimArgs -_080A2A38: .4byte gBattleAnimAttacker -_080A2A3C: .4byte sub_80A2A40 - thumb_func_end sub_80A29EC - - thumb_func_start sub_80A2A40 -sub_80A2A40: @ 80A2A40 - push {r4,lr} - adds r4, r0, 0 - bl sub_80755E0 - lsls r0, 24 - cmp r0, 0 - bne _080A2A98 - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r1, 0x8 - bl Sin - ldrh r1, [r4, 0x24] - adds r0, r1 - strh r0, [r4, 0x24] - ldrh r1, [r4, 0x38] - adds r0, r1, 0 - subs r0, 0x3B - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x4 - bls _080A2A78 - adds r0, r1, 0 - subs r0, 0xBB - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x4 - bhi _080A2A8C -_080A2A78: - ldrb r2, [r4, 0x3] - lsls r1, r2, 26 - lsrs r1, 27 - movs r0, 0x8 - eors r1, r0 - lsls r1, 1 - subs r0, 0x47 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x3] -_080A2A8C: - ldrh r0, [r4, 0x38] - adds r0, 0x5 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x38] - b _080A2A9E -_080A2A98: - adds r0, r4, 0 - bl DestroyAnimSprite -_080A2A9E: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A2A40 - - thumb_func_start sub_80A2AA4 -sub_80A2AA4: @ 80A2AA4 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, _080A2AE0 @ =gBattleAnimAttacker - ldrb r0, [r5] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x20] - ldrb r0, [r5] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x22] - ldr r1, _080A2AE4 @ =gBattleAnimArgs - ldrh r0, [r1] - strh r0, [r4, 0x2E] - ldrh r0, [r1, 0x2] - strh r0, [r4, 0x30] - ldrh r0, [r1, 0x4] - strh r0, [r4, 0x32] - ldr r0, _080A2AE8 @ =sub_80A2AEC - str r0, [r4, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A2AE0: .4byte gBattleAnimAttacker -_080A2AE4: .4byte gBattleAnimArgs -_080A2AE8: .4byte sub_80A2AEC - thumb_func_end sub_80A2AA4 - - thumb_func_start sub_80A2AEC -sub_80A2AEC: @ 80A2AEC - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x32] - movs r2, 0x32 - ldrsh r3, [r1, r2] - cmp r3, 0 - bne _080A2B20 - ldrh r0, [r1, 0x30] - movs r2, 0x1 - ands r2, r0 - cmp r2, 0 - beq _080A2B0E - movs r0, 0x80 - strh r0, [r1, 0x2E] - strh r3, [r1, 0x30] - strh r3, [r1, 0x32] - b _080A2B14 -_080A2B0E: - strh r2, [r1, 0x2E] - strh r2, [r1, 0x30] - strh r2, [r1, 0x32] -_080A2B14: - ldr r0, _080A2B1C @ =sub_80A2B38 - str r0, [r1, 0x1C] - b _080A2B34 - .align 2, 0 -_080A2B1C: .4byte sub_80A2B38 -_080A2B20: - subs r0, 0x1 - strh r0, [r1, 0x32] - ldrh r0, [r1, 0x2E] - ldrh r2, [r1, 0x20] - adds r0, r2 - strh r0, [r1, 0x20] - ldrh r0, [r1, 0x30] - ldrh r2, [r1, 0x22] - adds r0, r2 - strh r0, [r1, 0x22] -_080A2B34: - pop {r0} - bx r0 - thumb_func_end sub_80A2AEC - - thumb_func_start sub_80A2B38 -sub_80A2B38: @ 80A2B38 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _080A2B58 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080A2B5C - movs r1, 0x2E - ldrsh r0, [r4, r1] - movs r1, 0x19 - bl Sin - negs r0, r0 - b _080A2B66 - .align 2, 0 -_080A2B58: .4byte gBattleAnimAttacker -_080A2B5C: - movs r1, 0x2E - ldrsh r0, [r4, r1] - movs r1, 0x19 - bl Sin -_080A2B66: - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x2E] - adds r0, 0x2 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080A2B86 - ldrh r0, [r4, 0x26] - adds r0, 0x1 - strh r0, [r4, 0x26] -_080A2B86: - movs r1, 0x30 - ldrsh r0, [r4, r1] - cmp r0, 0x50 - ble _080A2B94 - adds r0, r4, 0 - bl DestroyAnimSprite -_080A2B94: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A2B38 - - thumb_func_start sub_80A2B9C -sub_80A2B9C: @ 80A2B9C - push {r4-r6,lr} - adds r5, r0, 0 - movs r1, 0x1 - bl sub_8075160 - ldr r0, _080A2BF0 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080A2BBC - ldr r1, _080A2BF4 @ =gBattleAnimArgs - ldrh r0, [r1, 0x4] - negs r0, r0 - strh r0, [r1, 0x4] -_080A2BBC: - ldr r6, _080A2BF4 @ =gBattleAnimArgs - ldrh r0, [r6, 0x8] - strh r0, [r5, 0x2E] - movs r1, 0xC - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _080A2BFC - ldr r4, _080A2BF8 @ =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r6, 0x4] - adds r0, r1 - strh r0, [r5, 0x32] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r6, [r6, 0x6] - adds r0, r6 - b _080A2C1C - .align 2, 0 -_080A2BF0: .4byte gBattleAnimAttacker -_080A2BF4: .4byte gBattleAnimArgs -_080A2BF8: .4byte gBattleAnimTarget -_080A2BFC: - ldr r0, _080A2C48 @ =gBattleAnimTarget - ldrb r0, [r0] - adds r2, r5, 0 - adds r2, 0x32 - adds r3, r5, 0 - adds r3, 0x36 - movs r1, 0x1 - bl sub_8076D9C - ldrh r0, [r6, 0x4] - ldrh r1, [r5, 0x32] - adds r0, r1 - strh r0, [r5, 0x32] - ldrh r0, [r6, 0x6] - ldrh r1, [r5, 0x36] - adds r0, r1 -_080A2C1C: - strh r0, [r5, 0x36] - ldr r0, _080A2C4C @ =gBattleAnimArgs - ldrh r0, [r0, 0xA] - strh r0, [r5, 0x38] - adds r0, r5, 0 - bl sub_8075068 - ldr r0, _080A2C50 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - adds r4, r0, 0 - ldr r0, _080A2C48 @ =gBattleAnimTarget - ldrb r0, [r0] - bl GetBattlerSide - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - bne _080A2C54 - movs r0, 0x1 - b _080A2C56 - .align 2, 0 -_080A2C48: .4byte gBattleAnimTarget -_080A2C4C: .4byte gBattleAnimArgs -_080A2C50: .4byte gBattleAnimAttacker -_080A2C54: - movs r0, 0 -_080A2C56: - strh r0, [r5, 0x2E] - ldr r0, _080A2C64 @ =sub_80A2C68 - str r0, [r5, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A2C64: .4byte sub_80A2C68 - thumb_func_end sub_80A2B9C - - thumb_func_start sub_80A2C68 -sub_80A2C68: @ 80A2C68 - push {r4-r7,lr} - adds r6, r0, 0 - movs r7, 0 - ldrh r5, [r6, 0x2E] - ldrh r4, [r6, 0x3C] - movs r0, 0x1 - strh r0, [r6, 0x2E] - adds r0, r6, 0 - bl AnimateBallThrow - ldrh r0, [r6, 0x3C] - strh r5, [r6, 0x2E] - lsls r4, 16 - asrs r4, 16 - cmp r4, 0xC8 - ble _080A2C9A - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x37 - bgt _080A2C9A - ldrh r0, [r6, 0x6] - cmp r0, 0 - bne _080A2CA0 - adds r0, 0x1 - strh r0, [r6, 0x6] -_080A2C9A: - ldrh r0, [r6, 0x6] - cmp r0, 0 - beq _080A2CD2 -_080A2CA0: - movs r1, 0x2E - ldrsh r0, [r6, r1] - cmp r0, 0 - beq _080A2CD2 - adds r3, r6, 0 - adds r3, 0x3E - ldrb r2, [r3] - lsls r0, r2, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - ldrh r0, [r6, 0x6] - adds r0, 0x1 - strh r0, [r6, 0x6] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1E - bne _080A2CD2 - movs r7, 0x1 -_080A2CD2: - movs r2, 0x20 - ldrsh r0, [r6, r2] - movs r2, 0x24 - ldrsh r1, [r6, r2] - adds r0, r1 - adds r0, 0x10 - movs r1, 0x88 - lsls r1, 1 - cmp r0, r1 - bhi _080A2CFC - movs r0, 0x22 - ldrsh r1, [r6, r0] - movs r2, 0x26 - ldrsh r0, [r6, r2] - adds r1, r0 - cmp r1, 0xA0 - bgt _080A2CFC - movs r0, 0x10 - negs r0, r0 - cmp r1, r0 - bge _080A2CFE -_080A2CFC: - movs r7, 0x1 -_080A2CFE: - cmp r7, 0 - beq _080A2D08 - adds r0, r6, 0 - bl DestroyAnimSprite -_080A2D08: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80A2C68 - - thumb_func_start sub_80A2D10 -sub_80A2D10: @ 80A2D10 - push {r4,lr} - adds r4, r0, 0 - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080A2D3C - bl sub_8075290 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A2D3C - ldr r0, _080A2D64 @ =gBattleAnimTarget - ldrb r0, [r0] - adds r2, r4, 0 - adds r2, 0x20 - adds r3, r4, 0 - adds r3, 0x22 - movs r1, 0x1 - bl sub_8076D9C -_080A2D3C: - ldrh r0, [r4, 0x22] - adds r0, 0x20 - strh r0, [r4, 0x22] - ldr r1, _080A2D68 @ =gBattleAnimArgs - ldrh r0, [r1] - strh r0, [r4, 0x2E] - ldrh r0, [r1, 0x2] - strh r0, [r4, 0x30] - ldrh r0, [r1, 0x4] - strh r0, [r4, 0x32] - ldrh r0, [r1, 0x6] - strh r0, [r4, 0x34] - ldrh r0, [r1, 0x8] - strh r0, [r4, 0x36] - ldr r0, _080A2D6C @ =sub_80A2D70 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A2D64: .4byte gBattleAnimTarget -_080A2D68: .4byte gBattleAnimArgs -_080A2D6C: .4byte sub_80A2D70 - thumb_func_end sub_80A2D10 - - thumb_func_start sub_80A2D70 -sub_80A2D70: @ 80A2D70 - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x30] - movs r2, 0x30 - ldrsh r0, [r4, r2] - cmp r0, 0xFF - bne _080A2D86 - ldrh r0, [r4, 0x22] - subs r0, 0x2 - strh r0, [r4, 0x22] - b _080A2D94 -_080A2D86: - cmp r0, 0 - ble _080A2D94 - ldrh r0, [r4, 0x22] - subs r0, 0x2 - strh r0, [r4, 0x22] - subs r0, r1, 0x2 - strh r0, [r4, 0x30] -_080A2D94: - ldrh r3, [r4, 0x32] - ldrh r5, [r4, 0x38] - adds r2, r3, r5 - strh r2, [r4, 0x38] - movs r0, 0x2E - ldrsh r1, [r4, r0] - movs r5, 0x36 - ldrsh r0, [r4, r5] - cmp r1, r0 - bge _080A2DAC - adds r0, r2, r3 - strh r0, [r4, 0x38] -_080A2DAC: - ldrh r1, [r4, 0x38] - movs r0, 0xFF - ands r0, r1 - strh r0, [r4, 0x38] - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r2, 0x34 - ldrsh r1, [r4, r2] - bl Cos - strh r0, [r4, 0x24] - movs r5, 0x38 - ldrsh r0, [r4, r5] - movs r1, 0x5 - bl Sin - strh r0, [r4, 0x26] - movs r1, 0x38 - ldrsh r0, [r4, r1] - cmp r0, 0x7F - bgt _080A2DEC - ldr r0, _080A2DE8 @ =gBattleAnimTarget - ldrb r0, [r0] - bl sub_8076884 - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x1 - b _080A2DFA - .align 2, 0 -_080A2DE8: .4byte gBattleAnimTarget -_080A2DEC: - ldr r0, _080A2E24 @ =gBattleAnimTarget - ldrb r0, [r0] - bl sub_8076884 - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x1 -_080A2DFA: - movs r1, 0x3 - ands r0, r1 - lsls r0, 2 - ldrb r2, [r4, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r4, 0x5] - ldrh r0, [r4, 0x2E] - subs r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - cmp r0, 0 - bne _080A2E1E - adds r0, r4, 0 - bl DestroyAnimSprite -_080A2E1E: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A2E24: .4byte gBattleAnimTarget - thumb_func_end sub_80A2D70 - - thumb_func_start sub_80A2E28 -sub_80A2E28: @ 80A2E28 - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0 - bl sub_8075114 - adds r2, r5, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - ldr r4, _080A2E5C @ =gBattleAnimArgs - ldrb r1, [r4, 0x4] - adds r0, r5, 0 - bl StartSpriteAffineAnim - ldrh r0, [r4, 0x4] - strh r0, [r5, 0x3A] - ldrh r0, [r4, 0x6] - strh r0, [r5, 0x3C] - ldr r0, _080A2E60 @ =sub_80A2E64 - str r0, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A2E5C: .4byte gBattleAnimArgs -_080A2E60: .4byte sub_80A2E64 - thumb_func_end sub_80A2E28 - - thumb_func_start sub_80A2E64 -sub_80A2E64: @ 80A2E64 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _080A2E94 @ =gBattleAnimArgs - ldrh r1, [r0, 0xE] - ldr r0, _080A2E98 @ =0x0000ffff - cmp r1, r0 - bne _080A2E8E - adds r2, r4, 0 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] - movs r0, 0x1 - bl GetAnimBankSpriteId - movs r0, 0x80 - lsls r0, 1 - strh r0, [r4, 0x2E] - ldr r0, _080A2E9C @ =sub_80A2EA0 - str r0, [r4, 0x1C] -_080A2E8E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A2E94: .4byte gBattleAnimArgs -_080A2E98: .4byte 0x0000ffff -_080A2E9C: .4byte sub_80A2EA0 - thumb_func_end sub_80A2E64 - - thumb_func_start sub_80A2EA0 -sub_80A2EA0: @ 80A2EA0 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x1 - bl GetAnimBankSpriteId - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080A2EB8 - ldrh r0, [r4, 0x2E] - adds r0, 0xB - b _080A2EBC -_080A2EB8: - ldrh r0, [r4, 0x2E] - subs r0, 0xB -_080A2EBC: - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x6 - bne _080A2ED8 - movs r0, 0 - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x32] - movs r1, 0x1 - eors r0, r1 - strh r0, [r4, 0x32] -_080A2ED8: - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080A2F06 - ldrh r0, [r4, 0x3C] - subs r0, 0x1 - strh r0, [r4, 0x3C] - lsls r0, 16 - cmp r0, 0 - ble _080A2F00 - ldrh r1, [r4, 0x3A] - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAffineAnim - b _080A2F06 -_080A2F00: - adds r0, r4, 0 - bl DestroyAnimSprite -_080A2F06: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A2EA0 - - thumb_func_start sub_80A2F0C -sub_80A2F0C: @ 80A2F0C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x1 - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, _080A2F38 @ =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - adds r0, 0x3E - ldrb r0, [r0] - lsls r0, 29 - cmp r0, 0 - bge _080A2F3C - adds r0, r4, 0 - bl DestroyAnimVisualTask - b _080A2F62 - .align 2, 0 -_080A2F38: .4byte gSprites -_080A2F3C: - adds r0, r2, 0 - movs r1, 0x1 - bl sub_80758E0 - ldr r1, _080A2F68 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r2, _080A2F6C @ =gBattleAnimArgs - ldrh r1, [r2] - strh r1, [r0, 0x8] - ldrh r1, [r2, 0x2] - strh r1, [r0, 0xA] - movs r1, 0x80 - lsls r1, 1 - strh r1, [r0, 0x1E] - ldr r1, _080A2F70 @ =sub_80A2F74 - str r1, [r0] -_080A2F62: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A2F68: .4byte gTasks -_080A2F6C: .4byte gBattleAnimArgs -_080A2F70: .4byte sub_80A2F74 - thumb_func_end sub_80A2F0C - - thumb_func_start sub_80A2F74 -sub_80A2F74: @ 80A2F74 - push {r4-r6,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r0, 24 - adds r6, r0, 0 - ldr r1, _080A2FF4 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r4, r0, r1 - ldrh r1, [r4, 0x8] - ldrh r0, [r4, 0x1C] - adds r1, r0 - strh r1, [r4, 0x1C] - ldr r2, _080A2FF8 @ =gSprites - lsls r0, r6, 4 - adds r0, r6 - lsls r0, 2 - adds r5, r0, r2 - lsls r1, 16 - asrs r1, 24 - strh r1, [r5, 0x24] - ldr r0, _080A2FFC @ =gBattleAnimTarget - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080A2FBE - ldrh r0, [r5, 0x24] - negs r0, r0 - strh r0, [r5, 0x24] -_080A2FBE: - ldrh r0, [r4, 0x1E] - adds r0, 0x10 - strh r0, [r4, 0x1E] - movs r0, 0x1E - ldrsh r2, [r4, r0] - adds r0, r6, 0 - adds r1, r2, 0 - movs r3, 0 - bl obj_id_set_rotscale - adds r0, r6, 0 - bl sub_8076440 - ldrh r0, [r4, 0xA] - subs r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bne _080A2FEC - strh r0, [r4, 0x8] - ldr r0, _080A3000 @ =sub_80A3004 - str r0, [r4] -_080A2FEC: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A2FF4: .4byte gTasks -_080A2FF8: .4byte gSprites -_080A2FFC: .4byte gBattleAnimTarget -_080A3000: .4byte sub_80A3004 - thumb_func_end sub_80A2F74 - - thumb_func_start sub_80A3004 -sub_80A3004: @ 80A3004 - push {r4-r6,lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r0, _080A3050 @ =gBattleAnimArgs - ldrh r1, [r0, 0xE] - ldr r0, _080A3054 @ =0x0000ffff - cmp r1, r0 - bne _080A3060 - ldr r0, _080A3058 @ =gTasks - lsls r2, r3, 2 - adds r1, r2, r3 - lsls r1, 3 - adds r6, r1, r0 - movs r1, 0x8 - ldrsh r5, [r6, r1] - adds r4, r0, 0 - cmp r5, 0 - bne _080A3074 - movs r0, 0x1 - bl GetAnimBankSpriteId - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl sub_8075980 - ldr r1, _080A305C @ =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - strh r5, [r0, 0x24] - strh r5, [r0, 0x26] - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] - b _080A308E - .align 2, 0 -_080A3050: .4byte gBattleAnimArgs -_080A3054: .4byte 0x0000ffff -_080A3058: .4byte gTasks -_080A305C: .4byte gSprites -_080A3060: - ldr r1, _080A3094 @ =gTasks - lsls r2, r3, 2 - adds r0, r2, r3 - lsls r0, 3 - adds r0, r1 - movs r4, 0x8 - ldrsh r0, [r0, r4] - adds r4, r1, 0 - cmp r0, 0 - beq _080A308E -_080A3074: - adds r1, r2, r3 - lsls r1, 3 - adds r1, r4 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - bne _080A308E - adds r0, r3, 0 - bl DestroyAnimVisualTask -_080A308E: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A3094: .4byte gTasks - thumb_func_end sub_80A3004 - - thumb_func_start sub_80A3098 -sub_80A3098: @ 80A3098 - push {r4-r6,lr} - adds r5, r0, 0 - movs r1, 0x2E - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _080A30AA - cmp r0, 0x1 - beq _080A3104 - b _080A3156 -_080A30AA: - ldr r6, _080A30FC @ =gBattleAnimTarget - ldrb r0, [r6] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080A30C2 - ldr r1, _080A3100 @ =gBattleAnimArgs - movs r2, 0 - ldrsh r0, [r1, r2] - negs r0, r0 - strh r0, [r1] -_080A30C2: - ldrb r0, [r6] - movs r1, 0 - bl sub_8074480 - lsls r0, 24 - ldr r4, _080A3100 @ =gBattleAnimArgs - lsrs r0, 24 - ldrh r1, [r4] - adds r0, r1 - strh r0, [r5, 0x20] - ldrb r0, [r6] - movs r1, 0x1 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r4, [r4, 0x2] - adds r0, r4 - strh r0, [r5, 0x22] - adds r2, r5, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - b _080A3156 - .align 2, 0 -_080A30FC: .4byte gBattleAnimTarget -_080A3100: .4byte gBattleAnimArgs -_080A3104: - adds r2, r5, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r0, r5, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080A3156 - adds r0, r5, 0 - movs r1, 0x1 - bl ChangeSpriteAffineAnim - movs r0, 0x19 - strh r0, [r5, 0x2E] - ldr r4, _080A315C @ =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x32] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x36] - ldr r0, _080A3160 @ =sub_8075764 - str r0, [r5, 0x1C] - ldr r1, _080A3164 @ =DestroyAnimSprite - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 -_080A3156: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A315C: .4byte gBattleAnimAttacker -_080A3160: .4byte sub_8075764 -_080A3164: .4byte DestroyAnimSprite - thumb_func_end sub_80A3098 - - thumb_func_start sub_80A3168 -sub_80A3168: @ 80A3168 - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x2E - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _080A31D4 - ldr r4, _080A31E0 @ =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - ldr r4, _080A31E4 @ =gBattleAnimArgs - ldrh r0, [r4] - strh r0, [r5, 0x24] - ldrh r0, [r4, 0x2] - strh r0, [r5, 0x26] - ldrb r0, [r4, 0x4] - adds r0, 0x1E - adds r1, r5, 0 - adds r1, 0x43 - strb r0, [r1] - ldrb r1, [r4, 0x6] - adds r0, r5, 0 - bl StartSpriteAnim - ldrh r0, [r4, 0x8] - strh r0, [r5, 0x32] - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - movs r2, 0x22 - ldrsh r0, [r5, r2] - movs r2, 0x26 - ldrsh r1, [r5, r2] - adds r0, r1 - cmp r0, 0x78 - ble _080A31D4 - ldrh r0, [r5, 0x22] - adds r1, r0, 0 - subs r1, 0x78 - ldrh r2, [r5, 0x26] - adds r0, r2 - adds r1, r0 - strh r1, [r5, 0x22] -_080A31D4: - ldr r0, _080A31E8 @ =sub_80A32DC - str r0, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A31E0: .4byte gBattleAnimAttacker -_080A31E4: .4byte gBattleAnimArgs -_080A31E8: .4byte sub_80A32DC - thumb_func_end sub_80A3168 - - thumb_func_start sub_80A31EC -sub_80A31EC: @ 80A31EC - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - sub sp, 0x4 - mov r9, r0 - ldr r4, _080A32C8 @ =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - mov r8, r0 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r6, _080A32CC @ =gBattleAnimTarget - ldrb r0, [r6] - movs r1, 0x2 - bl sub_8074480 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldrb r0, [r6] - movs r1, 0x3 - bl sub_8074480 - adds r2, r0, 0 - lsls r2, 24 - subs r4, r5 - lsls r4, 16 - lsrs r2, 24 - mov r1, r8 - subs r2, r1 - lsls r2, 16 - lsrs r2, 16 - lsrs r3, r4, 16 - mov r10, r3 - asrs r4, 16 - ldr r6, _080A32D0 @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r6, r1] - muls r0, r4 - movs r1, 0x64 - str r2, [sp] - bl __divsi3 - adds r5, r0 - mov r3, r9 - strh r5, [r3, 0x20] - ldr r2, [sp] - lsls r0, r2, 16 - asrs r0, 16 - movs r3, 0 - ldrsh r1, [r6, r3] - muls r0, r1 - movs r1, 0x64 - bl __divsi3 - add r8, r0 - mov r1, r8 - mov r0, r9 - strh r1, [r0, 0x22] - ldrh r0, [r6, 0x2] - mov r3, r9 - strh r0, [r3, 0x24] - ldrh r0, [r6, 0x4] - strh r0, [r3, 0x26] - ldrb r0, [r6, 0x6] - adds r0, 0x1E - mov r1, r9 - adds r1, 0x43 - strb r0, [r1] - ldrb r1, [r6, 0x8] - mov r0, r9 - bl StartSpriteAnim - ldrh r0, [r6, 0xA] - mov r1, r9 - strh r0, [r1, 0x32] - ldr r0, _080A32D4 @ =sub_80A32DC - str r0, [r1, 0x1C] - ldr r1, _080A32D8 @ =gUnknown_203999C - mov r3, r9 - ldrh r0, [r3, 0x20] - strh r0, [r1] - ldrh r0, [r3, 0x22] - strh r0, [r1, 0x2] - mov r0, r10 - strh r0, [r1, 0x4] - ldr r2, [sp] - strh r2, [r1, 0x6] - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A32C8: .4byte gBattleAnimAttacker -_080A32CC: .4byte gBattleAnimTarget -_080A32D0: .4byte gBattleAnimArgs -_080A32D4: .4byte sub_80A32DC -_080A32D8: .4byte gUnknown_203999C - thumb_func_end sub_80A31EC - - thumb_func_start sub_80A32DC -sub_80A32DC: @ 80A32DC - push {lr} - adds r3, r0, 0 - ldrh r1, [r3, 0x2E] - adds r1, 0x1 - strh r1, [r3, 0x2E] - lsls r1, 16 - asrs r1, 16 - movs r2, 0x32 - ldrsh r0, [r3, r2] - subs r0, 0xA - cmp r1, r0 - ble _080A331C - movs r0, 0x2E - ldrsh r1, [r3, r0] - lsrs r0, r1, 31 - adds r0, r1, r0 - asrs r0, 1 - lsls r0, 1 - subs r1, r0 - movs r2, 0x3E - adds r2, r3 - mov r12, r2 - movs r0, 0x1 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - mov r1, r12 - strb r0, [r1] -_080A331C: - movs r2, 0x2E - ldrsh r1, [r3, r2] - movs r2, 0x32 - ldrsh r0, [r3, r2] - cmp r1, r0 - ble _080A332E - adds r0, r3, 0 - bl DestroyAnimSprite -_080A332E: - pop {r0} - bx r0 - thumb_func_end sub_80A32DC - - thumb_func_start sub_80A3334 -sub_80A3334: @ 80A3334 - push {r4-r6,lr} - adds r6, r0, 0 - movs r1, 0x2E - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _080A3374 - ldr r5, _080A33B0 @ =gBattleAnimAttacker - ldrb r0, [r5] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - ldr r4, _080A33B4 @ =gBattleAnimArgs - lsrs r0, 24 - ldrh r2, [r4] - adds r0, r2 - strh r0, [r6, 0x20] - ldrb r0, [r5] - movs r1, 0x1 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x2] - adds r0, r1 - strh r0, [r6, 0x22] - ldrh r0, [r4, 0x4] - strh r0, [r6, 0x30] - ldrh r0, [r4, 0x6] - strh r0, [r6, 0x32] - ldrh r0, [r4, 0x8] - strh r0, [r6, 0x34] -_080A3374: - ldrh r0, [r6, 0x2E] - adds r0, 0x1 - strh r0, [r6, 0x2E] - ldrh r1, [r6, 0x30] - muls r0, r1 - strh r0, [r6, 0x24] - movs r2, 0x2E - ldrsh r1, [r6, r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - movs r1, 0xFF - ands r0, r1 - movs r2, 0x32 - ldrsh r1, [r6, r2] - bl Sin - strh r0, [r6, 0x26] - movs r0, 0x2E - ldrsh r1, [r6, r0] - movs r2, 0x34 - ldrsh r0, [r6, r2] - cmp r1, r0 - ble _080A33AA - adds r0, r6, 0 - bl DestroyAnimSprite -_080A33AA: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A33B0: .4byte gBattleAnimAttacker -_080A33B4: .4byte gBattleAnimArgs - thumb_func_end sub_80A3334 - - thumb_func_start sub_80A33B8 -sub_80A33B8: @ 80A33B8 - push {r4,r5,lr} - movs r2, 0x20 - ldrsh r4, [r0, r2] - lsls r4, 8 - movs r3, 0x22 - ldrsh r2, [r0, r3] - orrs r4, r2 - movs r5, 0x3A - ldrsh r2, [r0, r5] - lsls r2, 8 - movs r5, 0x3C - ldrsh r3, [r0, r5] - orrs r2, r3 - lsls r1, 8 - strh r4, [r0, 0x38] - strh r2, [r0, 0x3A] - strh r1, [r0, 0x3C] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80A33B8 - - thumb_func_start sub_80A33E0 -sub_80A33E0: @ 80A33E0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - mov r8, r0 - ldrh r0, [r0, 0x38] - lsrs r1, r0, 8 - mov r10, r1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - mov r1, r8 - ldrh r0, [r1, 0x3A] - lsrs r2, r0, 8 - lsls r0, 24 - lsrs r4, r0, 24 - ldrh r1, [r1, 0x3C] - lsls r0, r1, 16 - asrs r0, 24 - lsls r0, 16 - lsrs r6, r0, 16 - movs r3, 0xFF - ands r3, r1 - cmp r2, 0 - bne _080A341A - movs r2, 0x20 - negs r2, r2 - b _080A3422 -_080A341A: - cmp r2, 0xFF - bne _080A3422 - movs r2, 0x88 - lsls r2, 1 -_080A3422: - mov r0, r9 - subs r4, r0 - lsls r4, 16 - lsrs r4, 16 - mov r1, r10 - subs r0, r2, r1 - lsls r5, r3, 16 - asrs r5, 16 - muls r0, r5 - lsls r1, r6, 16 - asrs r7, r1, 16 - adds r1, r7, 0 - bl __divsi3 - adds r6, r0, 0 - lsls r4, 16 - asrs r4, 16 - adds r0, r4, 0 - muls r0, r5 - adds r1, r7, 0 - bl __divsi3 - add r6, r10 - mov r1, r8 - strh r6, [r1, 0x20] - add r0, r9 - strh r0, [r1, 0x22] - adds r5, 0x1 - lsls r5, 16 - lsrs r3, r5, 16 - asrs r5, 16 - cmp r5, r7 - beq _080A3474 - lsls r1, r7, 8 - lsls r0, r3, 16 - asrs r0, 16 - orrs r0, r1 - mov r1, r8 - strh r0, [r1, 0x3C] - movs r0, 0 - b _080A3476 -_080A3474: - movs r0, 0x1 -_080A3476: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80A33E0 - - thumb_func_start sub_80A3484 -sub_80A3484: @ 80A3484 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0xA - bne _080A3498 - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim -_080A3498: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x32 - ble _080A34AC - adds r0, r4, 0 - bl DestroyAnimSprite -_080A34AC: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A3484 - - thumb_func_start sub_80A34B4 -sub_80A34B4: @ 80A34B4 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x34 - ldrsh r0, [r4, r1] - lsls r0, 7 - movs r2, 0x36 - ldrsh r1, [r4, r2] - bl __divsi3 - ldrh r1, [r4, 0x2E] - adds r1, r0 - movs r5, 0 - strh r1, [r4, 0x2E] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0x7F - ble _080A34DE - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - strh r5, [r4, 0x2E] -_080A34DE: - ldrh r0, [r4, 0x2E] - adds r0, 0x80 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x30 - ldrsh r2, [r4, r1] - lsls r2, 3 - movs r1, 0x1E - subs r1, r2 - lsls r1, 16 - asrs r1, 16 - bl Sin - strh r0, [r4, 0x26] - adds r0, r4, 0 - bl sub_80A33E0 - lsls r0, 24 - cmp r0, 0 - beq _080A350E - strh r5, [r4, 0x26] - strh r5, [r4, 0x2E] - ldr r0, _080A3514 @ =sub_80A3484 - str r0, [r4, 0x1C] -_080A350E: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A3514: .4byte sub_80A3484 - thumb_func_end sub_80A34B4 - - thumb_func_start sub_80A3518 -sub_80A3518: @ 80A3518 - push {r4-r6,lr} - adds r5, r0, 0 - movs r1, 0 - bl sub_8075160 - ldr r4, _080A3560 @ =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0 - bl sub_8074480 - lsls r0, 24 - lsrs r6, r0, 24 - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8074480 - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _080A3564 @ =gBattleAnimAttacker - ldrb r1, [r0] - movs r0, 0x2 - eors r0, r1 - ldrb r4, [r4] - cmp r0, r4 - bne _080A3568 - strh r6, [r5, 0x3A] - adds r0, r2, 0 - adds r0, 0xA - strh r0, [r5, 0x3C] - adds r0, r5, 0 - movs r1, 0x3C - bl sub_80A33B8 - movs r0, 0x1 - b _080A357A - .align 2, 0 -_080A3560: .4byte gBattleAnimTarget -_080A3564: .4byte gBattleAnimAttacker -_080A3568: - strh r6, [r5, 0x3A] - adds r0, r2, 0 - adds r0, 0xA - strh r0, [r5, 0x3C] - adds r0, r5, 0 - movs r1, 0x3C - bl sub_80A33B8 - movs r0, 0x3 -_080A357A: - strh r0, [r5, 0x34] - movs r0, 0x3C - strh r0, [r5, 0x36] - ldr r0, _080A358C @ =sub_80A34B4 - str r0, [r5, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A358C: .4byte sub_80A34B4 - thumb_func_end sub_80A3518 - - thumb_func_start sub_80A3590 -sub_80A3590: @ 80A3590 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x34 - ldrsh r0, [r4, r1] - lsls r0, 7 - movs r2, 0x36 - ldrsh r1, [r4, r2] - bl __divsi3 - ldrh r1, [r4, 0x2E] - adds r1, r0 - movs r5, 0 - strh r1, [r4, 0x2E] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0x7F - ble _080A35BA - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - strh r5, [r4, 0x2E] -_080A35BA: - ldrh r0, [r4, 0x2E] - adds r0, 0x80 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x30 - ldrsh r2, [r4, r1] - lsls r2, 3 - movs r1, 0x1E - subs r1, r2 - lsls r1, 16 - asrs r1, 16 - bl Sin - strh r0, [r4, 0x26] - adds r0, r4, 0 - bl sub_80A33E0 - lsls r0, 24 - cmp r0, 0 - beq _080A35EC - strh r5, [r4, 0x26] - strh r5, [r4, 0x2E] - adds r0, r4, 0 - bl DestroyAnimSprite -_080A35EC: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80A3590 - - thumb_func_start sub_80A35F4 -sub_80A35F4: @ 80A35F4 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r4, _080A3630 @ =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8074480 - lsls r0, 24 - lsrs r6, r0, 24 - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _080A3638 - strh r0, [r5, 0x3A] - adds r0, r6, 0 - adds r0, 0xA - strh r0, [r5, 0x3C] - adds r0, r5, 0 - movs r1, 0x28 - bl sub_80A33B8 - movs r0, 0x3 - strh r0, [r5, 0x34] - movs r0, 0x3C - strh r0, [r5, 0x36] - ldr r0, _080A3634 @ =sub_80A34B4 - b _080A3662 - .align 2, 0 -_080A3630: .4byte gBattleAnimTarget -_080A3634: .4byte sub_80A34B4 -_080A3638: - movs r0, 0xFF - strh r0, [r5, 0x3A] - adds r0, r6, 0 - adds r0, 0xA - strh r0, [r5, 0x3C] - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - beq _080A3650 - movs r0, 0 - strh r0, [r5, 0x3A] -_080A3650: - adds r0, r5, 0 - movs r1, 0x28 - bl sub_80A33B8 - movs r0, 0x3 - strh r0, [r5, 0x34] - movs r0, 0x3C - strh r0, [r5, 0x36] - ldr r0, _080A366C @ =sub_80A3590 -_080A3662: - str r0, [r5, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A366C: .4byte sub_80A3590 - thumb_func_end sub_80A35F4 - - thumb_func_start sub_80A3670 -sub_80A3670: @ 80A3670 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080A368A - adds r0, r4, 0 - movs r1, 0 - bl sub_8075114 - ldr r0, _080A36B0 @ =gBattleAnimArgs - ldrh r0, [r0, 0x4] - strh r0, [r4, 0x30] -_080A368A: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - ldrh r1, [r4, 0x30] - muls r0, r1 - strh r0, [r4, 0x26] - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080A36AA - adds r0, r4, 0 - bl DestroyAnimSprite -_080A36AA: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A36B0: .4byte gBattleAnimArgs - thumb_func_end sub_80A3670 - - thumb_func_start sub_80A36B4 -sub_80A36B4: @ 80A36B4 - push {r4-r6,lr} - adds r5, r0, 0 - movs r1, 0 - bl sub_8075114 - ldr r4, _080A36FC @ =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0 - bl sub_8074480 - lsls r0, 24 - lsrs r6, r0, 24 - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8074480 - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _080A3700 @ =gBattleAnimTarget - ldrb r1, [r0] - movs r0, 0x2 - eors r0, r1 - ldrb r4, [r4] - cmp r0, r4 - bne _080A3704 - strh r6, [r5, 0x3A] - adds r0, r2, 0 - adds r0, 0xA - strh r0, [r5, 0x3C] - adds r0, r5, 0 - movs r1, 0x3C - bl sub_80A33B8 - movs r0, 0x1 - b _080A3716 - .align 2, 0 -_080A36FC: .4byte gBattleAnimAttacker -_080A3700: .4byte gBattleAnimTarget -_080A3704: - strh r6, [r5, 0x3A] - adds r0, r2, 0 - adds r0, 0xA - strh r0, [r5, 0x3C] - adds r0, r5, 0 - movs r1, 0x3C - bl sub_80A33B8 - movs r0, 0x3 -_080A3716: - strh r0, [r5, 0x34] - movs r0, 0x3C - strh r0, [r5, 0x36] - ldr r0, _080A3728 @ =sub_80A372C - str r0, [r5, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A3728: .4byte sub_80A372C - thumb_func_end sub_80A36B4 - - thumb_func_start sub_80A372C -sub_80A372C: @ 80A372C - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x34 - ldrsh r0, [r4, r1] - lsls r0, 7 - movs r2, 0x36 - ldrsh r1, [r4, r2] - bl __divsi3 - ldrh r1, [r4, 0x2E] - adds r1, r0 - movs r5, 0 - strh r1, [r4, 0x2E] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0x7F - ble _080A3756 - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - strh r5, [r4, 0x2E] -_080A3756: - ldrh r0, [r4, 0x2E] - adds r0, 0x80 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x30 - ldrsh r2, [r4, r1] - lsls r2, 3 - movs r1, 0x1E - subs r1, r2 - lsls r1, 16 - asrs r1, 16 - bl Sin - strh r0, [r4, 0x26] - lsls r0, 16 - cmp r0, 0 - bne _080A378A - movs r0, 0x3F - bl sub_8073A44 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 24 - movs r0, 0x76 - bl PlaySE12WithPanning -_080A378A: - adds r0, r4, 0 - bl sub_80A33E0 - lsls r0, 24 - cmp r0, 0 - beq _080A37B2 - strh r5, [r4, 0x26] - strh r5, [r4, 0x2E] - ldr r0, _080A37B8 @ =sub_80A3484 - str r0, [r4, 0x1C] - movs r0, 0x40 - negs r0, r0 - bl sub_8073A44 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 24 - movs r0, 0x76 - bl PlaySE12WithPanning -_080A37B2: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A37B8: .4byte sub_80A3484 - thumb_func_end sub_80A372C - - thumb_func_start sub_80A37BC -sub_80A37BC: @ 80A37BC - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080A3850 - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080A37E4 - ldr r0, _080A37E0 @ =gBattleAnimArgs - ldrh r1, [r0, 0x2] - strh r1, [r4, 0x30] - movs r1, 0x78 - strh r1, [r4, 0x20] - adds r5, r0, 0 - b _080A3806 - .align 2, 0 -_080A37E0: .4byte gBattleAnimArgs -_080A37E4: - ldr r0, _080A3840 @ =gBattleAnimArgs - movs r1, 0x2 - ldrsh r3, [r0, r1] - adds r1, r3, 0 - subs r1, 0x20 - adds r2, r1, 0 - adds r5, r0, 0 - cmp r1, 0 - bge _080A37FA - adds r2, r3, 0 - adds r2, 0xDF -_080A37FA: - asrs r0, r2, 8 - lsls r0, 8 - subs r0, r1, r0 - strh r0, [r4, 0x30] - movs r0, 0x46 - strh r0, [r4, 0x20] -_080A3806: - ldrh r0, [r5] - strh r0, [r4, 0x22] - strh r0, [r4, 0x32] - movs r0, 0x14 - strh r0, [r4, 0x36] - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r1, 0x3C - bl Cos - strh r0, [r4, 0x24] - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r1, 0x14 - bl Sin - strh r0, [r4, 0x26] - ldr r0, _080A3844 @ =sub_80A3858 - str r0, [r4, 0x1C] - ldrh r0, [r4, 0x30] - subs r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xBE - bhi _080A3848 - adds r1, r4, 0 - adds r1, 0x43 - movs r0, 0x1F - b _080A384E - .align 2, 0 -_080A3840: .4byte gBattleAnimArgs -_080A3844: .4byte sub_80A3858 -_080A3848: - adds r1, r4, 0 - adds r1, 0x43 - movs r0, 0x1D -_080A384E: - strb r0, [r1] -_080A3850: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80A37BC - - thumb_func_start sub_80A3858 -sub_80A3858: @ 80A3858 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080A386A - cmp r0, 0x1 - beq _080A389A - b _080A38BA -_080A386A: - ldrh r5, [r4, 0x32] - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0x4E - ble _080A3882 - movs r0, 0x1 - strh r0, [r4, 0x34] - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - b _080A38BA -_080A3882: - movs r1, 0x36 - ldrsh r0, [r4, r1] - movs r1, 0xA - bl __divsi3 - adds r0, r5, r0 - strh r0, [r4, 0x32] - ldrh r1, [r4, 0x36] - adds r1, 0x3 - strh r1, [r4, 0x36] - strh r0, [r4, 0x22] - b _080A38BA -_080A389A: - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080A38BA - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080A38BA - movs r0, 0 - strh r0, [r4, 0x2E] - strh r0, [r4, 0x32] - ldr r0, _080A38C0 @ =sub_80A38C4 - str r0, [r4, 0x1C] -_080A38BA: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A38C0: .4byte sub_80A38C4 - thumb_func_end sub_80A3858 - - thumb_func_start sub_80A38C4 -sub_80A38C4: @ 80A38C4 - push {r4-r6,lr} - adds r4, r0, 0 - ldr r5, _080A3908 @ =gUnknown_83E2F78 - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 1 - adds r3, r0, r1 - adds r0, r5, 0x1 - adds r0, r3, r0 - ldrh r2, [r4, 0x32] - movs r6, 0x32 - ldrsh r1, [r4, r6] - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r1, r0 - bne _080A3910 - adds r0, r5, 0x2 - adds r0, r3, r0 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x7F - bne _080A38FC - movs r0, 0 - strh r0, [r4, 0x2E] - ldr r0, _080A390C @ =sub_80A397C - str r0, [r4, 0x1C] -_080A38FC: - movs r0, 0 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _080A3976 - .align 2, 0 -_080A3908: .4byte gUnknown_83E2F78 -_080A390C: .4byte sub_80A397C -_080A3910: - adds r0, r2, 0x1 - strh r0, [r4, 0x32] - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 1 - adds r0, r1 - adds r1, r0, r5 - movs r2, 0 - ldrsb r2, [r1, r2] - adds r1, r5, 0x2 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - muls r0, r2 - ldrh r1, [r4, 0x30] - adds r0, r1 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x30] - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080A395E - ldrh r0, [r4, 0x30] - subs r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xBE - bhi _080A3956 - adds r1, r4, 0 - adds r1, 0x43 - movs r0, 0x1F - b _080A395C -_080A3956: - adds r1, r4, 0 - adds r1, 0x43 - movs r0, 0x1D -_080A395C: - strb r0, [r1] -_080A395E: - movs r6, 0x30 - ldrsh r0, [r4, r6] - movs r1, 0x3C - bl Cos - strh r0, [r4, 0x24] - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r1, 0x14 - bl Sin - strh r0, [r4, 0x26] -_080A3976: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80A38C4 - - thumb_func_start sub_80A397C -sub_80A397C: @ 80A397C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x14 - ble _080A398E - adds r0, r4, 0 - bl DestroyAnimSprite -_080A398E: - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsrs r0, r1, 31 - adds r0, r1, r0 - asrs r0, 1 - lsls r0, 1 - subs r1, r0 - adds r3, r4, 0 - adds r3, 0x3E - movs r0, 0x1 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r3] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A397C - - thumb_func_start sub_80A39C0 -sub_80A39C0: @ 80A39C0 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - adds r6, r0, 0 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, _080A3B14 @ =gTasks - adds r5, r0, r1 - ldr r4, _080A3B18 @ =gBattleAnimTarget - ldrb r0, [r4] - bl sub_807685C - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x1 - strh r0, [r5, 0x10] - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x14] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x16] - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8076B2C - strh r0, [r5, 0x1C] - ldrb r0, [r4] - movs r1, 0 - bl sub_8076B2C - strh r0, [r5, 0x1E] - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - movs r2, 0x1 - negs r2, r2 - adds r1, r2, 0 - cmp r0, 0x1 - bne _080A3A28 - movs r1, 0x1 -_080A3A28: - strh r1, [r5, 0x12] - movs r3, 0x12 - ldrsh r0, [r5, r3] - lsls r0, 6 - movs r1, 0x38 - subs r1, r0 - strh r1, [r5, 0x1A] - ldrh r0, [r5, 0x16] - subs r0, r1 - ldrh r1, [r5, 0x14] - adds r0, r1 - strh r0, [r5, 0x18] - ldr r0, _080A3B1C @ =gUnknown_83E2FF0 - movs r2, 0x18 - ldrsh r1, [r5, r2] - movs r3, 0x1A - ldrsh r2, [r5, r3] - ldrb r3, [r5, 0x10] - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0xC] - cmp r0, 0x40 - bne _080A3A60 - adds r0, r6, 0 - bl DestroyAnimVisualTask -_080A3A60: - ldr r4, _080A3B20 @ =gSprites - movs r0, 0xC - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0xA - strh r1, [r0, 0x2E] - movs r2, 0xC - ldrsh r1, [r5, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r5, 0x18] - strh r1, [r0, 0x30] - movs r3, 0xC - ldrsh r0, [r5, r3] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r4 - movs r1, 0x1C - ldrsh r0, [r5, r1] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - adds r0, 0xA - movs r3, 0x12 - ldrsh r1, [r5, r3] - muls r1, r0 - ldrh r0, [r5, 0x14] - subs r0, r1 - strh r0, [r2, 0x32] - movs r0, 0xC - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r5, 0x1A] - strh r1, [r0, 0x34] - movs r1, 0xC - ldrsh r0, [r5, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - movs r2, 0x1E - ldrsh r0, [r5, r2] - lsrs r2, r0, 31 - adds r0, r2 - asrs r0, 1 - adds r0, 0xA - movs r3, 0x12 - ldrsh r2, [r5, r3] - muls r0, r2 - ldrh r2, [r5, 0x16] - adds r0, r2 - strh r0, [r1, 0x36] - movs r3, 0xC - ldrsh r1, [r5, r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl sub_80A3F04 - movs r1, 0xC - ldrsh r2, [r5, r1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r4 - strh r0, [r1, 0x38] - movs r2, 0xC - ldrsh r1, [r5, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl sub_8075068 - ldr r0, _080A3B24 @ =sub_80A3B28 - str r0, [r5] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A3B14: .4byte gTasks -_080A3B18: .4byte gBattleAnimTarget -_080A3B1C: .4byte gUnknown_83E2FF0 -_080A3B20: .4byte gSprites -_080A3B24: .4byte sub_80A3B28 - thumb_func_end sub_80A39C0 - - thumb_func_start sub_80A3B28 -sub_80A3B28: @ 80A3B28 - push {r4-r6,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, _080A3B6C @ =gTasks - adds r6, r0, r1 - movs r0, 0xC - ldrsh r1, [r6, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080A3B70 @ =gSprites - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r5, [r6, r1] - cmp r5, 0x7 - bne _080A3B50 - b _080A3D80 -_080A3B50: - cmp r5, 0x7 - bgt _080A3B9E - cmp r5, 0x3 - bne _080A3B5A - b _080A3C72 -_080A3B5A: - cmp r5, 0x3 - bgt _080A3B74 - cmp r5, 0x1 - beq _080A3C04 - cmp r5, 0x1 - bgt _080A3C54 - cmp r5, 0 - beq _080A3BE6 - b _080A3EFC - .align 2, 0 -_080A3B6C: .4byte gTasks -_080A3B70: .4byte gSprites -_080A3B74: - cmp r5, 0x5 - bne _080A3B7A - b _080A3CE8 -_080A3B7A: - cmp r5, 0x5 - ble _080A3B80 - b _080A3D62 -_080A3B80: - adds r0, r6, 0 - adds r1, r2, 0 - bl sub_80A3F24 - adds r0, r4, 0 - bl AnimateBallThrow - lsls r0, 24 - cmp r0, 0 - bne _080A3B96 - b _080A3EFC -_080A3B96: - movs r0, 0x5 - strh r0, [r6, 0x26] - movs r0, 0xFF - b _080A3EFA -_080A3B9E: - cmp r5, 0xB - bne _080A3BA4 - b _080A3E64 -_080A3BA4: - cmp r5, 0xB - bgt _080A3BD2 - cmp r5, 0x9 - bne _080A3BAE - b _080A3DD2 -_080A3BAE: - cmp r5, 0x9 - ble _080A3BB4 - b _080A3E48 -_080A3BB4: - adds r0, r6, 0 - adds r1, r2, 0 - bl sub_80A3F24 - adds r0, r4, 0 - bl AnimateBallThrow - lsls r0, 24 - cmp r0, 0 - bne _080A3BCA - b _080A3EFC -_080A3BCA: - movs r0, 0x9 - strh r0, [r6, 0x26] - movs r0, 0xFF - b _080A3EFA -_080A3BD2: - cmp r5, 0xD - bne _080A3BD8 - b _080A3ED6 -_080A3BD8: - cmp r5, 0xD - bge _080A3BDE - b _080A3EB6 -_080A3BDE: - cmp r5, 0xFF - bne _080A3BE4 - b _080A3EE6 -_080A3BE4: - b _080A3EFC -_080A3BE6: - adds r0, r6, 0 - adds r1, r2, 0 - bl sub_80A3F24 - adds r0, r4, 0 - bl AnimateBallThrow - lsls r0, 24 - cmp r0, 0 - bne _080A3BFC - b _080A3EFC -_080A3BFC: - movs r0, 0x1 - strh r0, [r6, 0x26] - movs r0, 0xFF - b _080A3EFA -_080A3C04: - ldrh r2, [r4, 0x24] - ldrh r3, [r4, 0x20] - adds r2, r3 - movs r0, 0 - strh r2, [r4, 0x20] - ldrh r1, [r4, 0x26] - ldrh r3, [r4, 0x22] - adds r1, r3 - strh r1, [r4, 0x22] - strh r0, [r4, 0x24] - strh r0, [r4, 0x26] - movs r0, 0xA - strh r0, [r4, 0x2E] - strh r2, [r4, 0x30] - ldrh r0, [r6, 0x14] - strh r0, [r4, 0x32] - strh r1, [r4, 0x34] - ldrh r0, [r6, 0x16] - strh r0, [r4, 0x36] - adds r0, r4, 0 - bl sub_80A3F04 - strh r0, [r4, 0x38] - ldrh r0, [r6, 0x10] - adds r0, 0x2 - strh r0, [r6, 0x10] - strh r5, [r6, 0xE] - adds r1, r4, 0 - adds r1, 0x43 - strb r0, [r1] - ldrb r1, [r6, 0xE] - adds r0, r4, 0 - bl StartSpriteAnim - adds r0, r4, 0 - bl sub_8075068 - ldrh r0, [r6, 0x8] - adds r0, 0x1 - b _080A3EFA -_080A3C54: - adds r0, r6, 0 - adds r1, r2, 0 - bl sub_80A3F24 - adds r0, r4, 0 - bl AnimateBallThrow - lsls r0, 24 - cmp r0, 0 - bne _080A3C6A - b _080A3EFC -_080A3C6A: - movs r0, 0x3 - strh r0, [r6, 0x26] - movs r0, 0xFF - b _080A3EFA -_080A3C72: - ldrh r1, [r4, 0x24] - ldrh r0, [r4, 0x20] - adds r1, r0 - movs r0, 0 - strh r1, [r4, 0x20] - ldrh r2, [r4, 0x26] - ldrh r3, [r4, 0x22] - adds r2, r3 - strh r2, [r4, 0x22] - strh r0, [r4, 0x24] - strh r0, [r4, 0x26] - movs r0, 0xA - strh r0, [r4, 0x2E] - strh r1, [r4, 0x30] - movs r1, 0x1C - ldrsh r0, [r6, r1] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - adds r0, 0xA - movs r3, 0x12 - ldrsh r1, [r6, r3] - muls r1, r0 - ldrh r0, [r6, 0x14] - subs r0, r1 - strh r0, [r4, 0x32] - strh r2, [r4, 0x34] - movs r1, 0x1E - ldrsh r0, [r6, r1] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - adds r0, 0xA - movs r2, 0x12 - ldrsh r1, [r6, r2] - muls r1, r0 - ldrh r0, [r6, 0x16] - subs r0, r1 - strh r0, [r4, 0x36] - adds r0, r4, 0 - bl sub_80A3F04 - strh r0, [r4, 0x38] - movs r0, 0x2 - strh r0, [r6, 0xE] - ldrh r0, [r6, 0x10] - adds r1, r4, 0 - adds r1, 0x43 - strb r0, [r1] - ldrb r1, [r6, 0xE] - adds r0, r4, 0 - bl StartSpriteAnim - adds r0, r4, 0 - bl sub_8075068 - ldrh r0, [r6, 0x8] - adds r0, 0x1 - b _080A3EFA -_080A3CE8: - ldrh r1, [r4, 0x24] - ldrh r3, [r4, 0x20] - adds r1, r3 - movs r0, 0 - strh r1, [r4, 0x20] - ldrh r2, [r4, 0x26] - ldrh r3, [r4, 0x22] - adds r2, r3 - strh r2, [r4, 0x22] - strh r0, [r4, 0x24] - strh r0, [r4, 0x26] - movs r0, 0xA - strh r0, [r4, 0x2E] - strh r1, [r4, 0x30] - movs r1, 0x1C - ldrsh r0, [r6, r1] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - adds r0, 0xA - movs r3, 0x12 - ldrsh r1, [r6, r3] - muls r0, r1 - ldrh r1, [r6, 0x14] - adds r0, r1 - strh r0, [r4, 0x32] - strh r2, [r4, 0x34] - movs r2, 0x1E - ldrsh r0, [r6, r2] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - adds r0, 0xA - movs r3, 0x12 - ldrsh r1, [r6, r3] - muls r0, r1 - ldrh r1, [r6, 0x16] - adds r0, r1 - strh r0, [r4, 0x36] - adds r0, r4, 0 - bl sub_80A3F04 - strh r0, [r4, 0x38] - ldrh r1, [r6, 0x10] - subs r1, 0x2 - strh r1, [r6, 0x10] - movs r0, 0x3 - strh r0, [r6, 0xE] - adds r0, r4, 0 - adds r0, 0x43 - strb r1, [r0] - ldrb r1, [r6, 0xE] - adds r0, r4, 0 - bl StartSpriteAnim - adds r0, r4, 0 - bl sub_8075068 - ldrh r0, [r6, 0x8] - adds r0, 0x1 - b _080A3EFA -_080A3D62: - adds r0, r6, 0 - adds r1, r2, 0 - bl sub_80A3F24 - adds r0, r4, 0 - bl AnimateBallThrow - lsls r0, 24 - cmp r0, 0 - bne _080A3D78 - b _080A3EFC -_080A3D78: - movs r0, 0x7 - strh r0, [r6, 0x26] - movs r0, 0xFF - b _080A3EFA -_080A3D80: - ldrh r2, [r4, 0x24] - ldrh r3, [r4, 0x20] - adds r2, r3 - movs r0, 0 - strh r2, [r4, 0x20] - ldrh r1, [r4, 0x26] - ldrh r3, [r4, 0x22] - adds r1, r3 - strh r1, [r4, 0x22] - strh r0, [r4, 0x24] - strh r0, [r4, 0x26] - movs r0, 0xA - strh r0, [r4, 0x2E] - strh r2, [r4, 0x30] - ldrh r0, [r6, 0x14] - strh r0, [r4, 0x32] - strh r1, [r4, 0x34] - ldrh r0, [r6, 0x16] - strh r0, [r4, 0x36] - adds r0, r4, 0 - bl sub_80A3F04 - strh r0, [r4, 0x38] - ldrh r1, [r6, 0x10] - adds r1, 0x2 - strh r1, [r6, 0x10] - movs r0, 0x4 - strh r0, [r6, 0xE] - adds r0, r4, 0 - adds r0, 0x43 - strb r1, [r0] - ldrb r1, [r6, 0xE] - adds r0, r4, 0 - bl StartSpriteAnim - adds r0, r4, 0 - bl sub_8075068 - ldrh r0, [r6, 0x8] - adds r0, 0x1 - b _080A3EFA -_080A3DD2: - ldrh r1, [r4, 0x24] - ldrh r0, [r4, 0x20] - adds r1, r0 - movs r0, 0 - strh r1, [r4, 0x20] - ldrh r2, [r4, 0x26] - ldrh r3, [r4, 0x22] - adds r2, r3 - strh r2, [r4, 0x22] - strh r0, [r4, 0x24] - strh r0, [r4, 0x26] - movs r0, 0xA - strh r0, [r4, 0x2E] - strh r1, [r4, 0x30] - movs r1, 0x1C - ldrsh r0, [r6, r1] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - adds r0, 0xA - movs r3, 0x12 - ldrsh r1, [r6, r3] - muls r1, r0 - ldrh r0, [r6, 0x14] - subs r0, r1 - strh r0, [r4, 0x32] - strh r2, [r4, 0x34] - movs r1, 0x1E - ldrsh r0, [r6, r1] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - adds r0, 0xA - movs r2, 0x12 - ldrsh r1, [r6, r2] - muls r0, r1 - ldrh r3, [r6, 0x16] - adds r0, r3 - strh r0, [r4, 0x36] - adds r0, r4, 0 - bl sub_80A3F04 - strh r0, [r4, 0x38] - movs r0, 0x5 - strh r0, [r6, 0xE] - ldrh r0, [r6, 0x10] - adds r1, r4, 0 - adds r1, 0x43 - strb r0, [r1] - ldrb r1, [r6, 0xE] - adds r0, r4, 0 - bl StartSpriteAnim - adds r0, r4, 0 - bl sub_8075068 - ldrh r0, [r6, 0x8] - adds r0, 0x1 - b _080A3EFA -_080A3E48: - adds r0, r6, 0 - adds r1, r2, 0 - bl sub_80A3F24 - adds r0, r4, 0 - bl AnimateBallThrow - lsls r0, 24 - cmp r0, 0 - beq _080A3EFC - movs r0, 0xB - strh r0, [r6, 0x26] - movs r0, 0xFF - b _080A3EFA -_080A3E64: - ldrh r2, [r4, 0x24] - ldrh r0, [r4, 0x20] - adds r2, r0 - movs r0, 0 - strh r2, [r4, 0x20] - ldrh r1, [r4, 0x26] - ldrh r3, [r4, 0x22] - adds r1, r3 - strh r1, [r4, 0x22] - strh r0, [r4, 0x24] - strh r0, [r4, 0x26] - movs r0, 0xA - strh r0, [r4, 0x2E] - strh r2, [r4, 0x30] - ldrh r0, [r6, 0x18] - strh r0, [r4, 0x32] - strh r1, [r4, 0x34] - ldrh r0, [r6, 0x1A] - strh r0, [r4, 0x36] - adds r0, r4, 0 - bl sub_80A3F04 - strh r0, [r4, 0x38] - ldrh r1, [r6, 0x10] - subs r1, 0x2 - strh r1, [r6, 0x10] - movs r0, 0x6 - strh r0, [r6, 0xE] - adds r0, r4, 0 - adds r0, 0x43 - strb r1, [r0] - ldrb r1, [r6, 0xE] - adds r0, r4, 0 - bl StartSpriteAnim - adds r0, r4, 0 - bl sub_8075068 - ldrh r0, [r6, 0x8] - adds r0, 0x1 - b _080A3EFA -_080A3EB6: - adds r0, r6, 0 - adds r1, r2, 0 - bl sub_80A3F24 - adds r0, r4, 0 - bl AnimateBallThrow - lsls r0, 24 - cmp r0, 0 - beq _080A3EFC - adds r0, r4, 0 - bl DestroySprite - ldrh r0, [r6, 0x8] - adds r0, 0x1 - b _080A3EFA -_080A3ED6: - movs r1, 0x20 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _080A3EFC - adds r0, r2, 0 - bl DestroyAnimVisualTask - b _080A3EFC -_080A3EE6: - ldrh r0, [r6, 0xA] - adds r0, 0x1 - strh r0, [r6, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - ble _080A3EFC - movs r0, 0 - strh r0, [r6, 0xA] - ldrh r0, [r6, 0x26] -_080A3EFA: - strh r0, [r6, 0x8] -_080A3EFC: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80A3B28 - - thumb_func_start sub_80A3F04 -sub_80A3F04: @ 80A3F04 - push {lr} - movs r2, 0x8 - movs r3, 0x36 - ldrsh r1, [r0, r3] - movs r3, 0x22 - ldrsh r0, [r0, r3] - cmp r1, r0 - bge _080A3F1A - negs r0, r2 - lsls r0, 16 - lsrs r2, r0, 16 -_080A3F1A: - lsls r0, r2, 16 - asrs r0, 16 - pop {r1} - bx r1 - thumb_func_end sub_80A3F04 - - thumb_func_start sub_80A3F24 -sub_80A3F24: @ 80A3F24 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - lsls r1, 24 - lsrs r7, r1, 24 - ldrh r0, [r6, 0x24] - adds r0, 0x1 - strh r0, [r6, 0x24] - lsls r0, 16 - cmp r0, 0 - ble _080A3FBA - movs r0, 0 - strh r0, [r6, 0x24] - ldr r0, _080A3FC4 @ =gSprites - mov r8, r0 - movs r2, 0xC - ldrsh r1, [r6, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - ldrh r1, [r0, 0x24] - ldrh r2, [r0, 0x20] - adds r1, r2 - ldrh r2, [r0, 0x26] - ldrh r0, [r0, 0x22] - adds r2, r0 - ldr r0, _080A3FC8 @ =gUnknown_83E2FF0 - lsls r1, 16 - asrs r1, 16 - lsls r2, 16 - asrs r2, 16 - ldrb r3, [r6, 0x10] - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _080A3FBA - lsls r5, r0, 4 - adds r5, r0 - lsls r5, 2 - mov r0, r8 - adds r4, r5, r0 - strh r7, [r4, 0x3A] - movs r0, 0xC - strh r0, [r4, 0x3C] - ldr r0, _080A3FCC @ =gTasks - lsls r1, r7, 2 - adds r1, r7 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x20] - adds r0, 0x1 - strh r0, [r1, 0x20] - ldrh r2, [r6, 0x22] - movs r0, 0x1 - ands r0, r2 - strh r0, [r4, 0x2E] - ldrh r0, [r1, 0x22] - adds r0, 0x1 - strh r0, [r1, 0x22] - ldrb r1, [r6, 0xE] - adds r0, r4, 0 - bl StartSpriteAnim - ldrh r0, [r6, 0x10] - adds r4, 0x43 - strb r0, [r4] - mov r0, r8 - adds r0, 0x1C - adds r5, r0 - ldr r0, _080A3FD0 @ =sub_80A3FD4 - str r0, [r5] -_080A3FBA: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A3FC4: .4byte gSprites -_080A3FC8: .4byte gUnknown_83E2FF0 -_080A3FCC: .4byte gTasks -_080A3FD0: .4byte sub_80A3FD4 - thumb_func_end sub_80A3F24 - - thumb_func_start sub_80A3FD4 -sub_80A3FD4: @ 80A3FD4 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080A4036 - movs r0, 0 - strh r0, [r4, 0x2E] - adds r3, r4, 0 - adds r3, 0x3E - ldrb r2, [r3] - lsls r0, r2, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x8 - ble _080A4036 - ldr r3, _080A403C @ =gTasks - movs r0, 0x3C - ldrsh r1, [r4, r0] - lsls r1, 1 - movs r0, 0x3A - ldrsh r2, [r4, r0] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r3, 0x8 - adds r1, r3 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - adds r0, r4, 0 - bl DestroySprite -_080A4036: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A403C: .4byte gTasks - thumb_func_end sub_80A3FD4 - - thumb_func_start sub_80A4040 -sub_80A4040: @ 80A4040 - push {r4-r7,lr} - adds r4, r0, 0 - ldr r0, _080A4054 @ =gBattleAnimArgs - movs r1, 0xC - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080A405C - ldr r0, _080A4058 @ =gBattleAnimAttacker - b _080A405E - .align 2, 0 -_080A4054: .4byte gBattleAnimArgs -_080A4058: .4byte gBattleAnimAttacker -_080A405C: - ldr r0, _080A407C @ =gBattleAnimTarget -_080A405E: - ldrb r6, [r0] - adds r0, r6, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080A4088 - movs r0, 0 - strh r0, [r4, 0x36] - ldr r1, _080A4080 @ =gBattleAnimArgs - ldrh r0, [r1, 0x6] - strh r0, [r4, 0x32] - ldr r0, _080A4084 @ =0x0000fff0 - b _080A4098 - .align 2, 0 -_080A407C: .4byte gBattleAnimTarget -_080A4080: .4byte gBattleAnimArgs -_080A4084: .4byte 0x0000fff0 -_080A4088: - movs r0, 0x1 - strh r0, [r4, 0x36] - ldr r1, _080A40BC @ =gBattleAnimArgs - ldrh r0, [r1, 0x6] - negs r0, r0 - strh r0, [r4, 0x32] - movs r0, 0x80 - lsls r0, 1 -_080A4098: - strh r0, [r4, 0x20] - adds r7, r1, 0 - adds r5, r7, 0 - ldrh r0, [r5, 0x2] - strh r0, [r4, 0x30] - ldrh r0, [r5, 0x4] - strh r0, [r4, 0x2E] - ldrh r0, [r5, 0x8] - strh r0, [r4, 0x34] - movs r1, 0xA - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _080A40CE - cmp r0, 0x1 - bgt _080A40C0 - cmp r0, 0 - beq _080A40CA - b _080A4138 - .align 2, 0 -_080A40BC: .4byte gBattleAnimArgs -_080A40C0: - cmp r0, 0x2 - beq _080A40D4 - cmp r0, 0x3 - beq _080A4100 - b _080A4138 -_080A40CA: - ldrh r0, [r5] - b _080A40E4 -_080A40CE: - ldrh r0, [r5] - strh r0, [r4, 0x22] - b _080A411A -_080A40D4: - adds r0, r6, 0 - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r5, [r5] - adds r0, r5 -_080A40E4: - strh r0, [r4, 0x22] - adds r0, r6, 0 - bl sub_8076884 - movs r1, 0x3 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r4, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x5] - b _080A4138 -_080A4100: - ldr r0, _080A4144 @ =gBattleAnimTarget - ldrb r0, [r0] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r7, [r7] - adds r0, r7 - strh r0, [r4, 0x22] - movs r0, 0x1 - bl GetAnimBankSpriteId -_080A411A: - adds r0, r6, 0 - bl sub_8076884 - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x1 - movs r1, 0x3 - ands r0, r1 - lsls r0, 2 - ldrb r2, [r4, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r4, 0x5] -_080A4138: - ldr r0, _080A4148 @ =sub_80A414C - str r0, [r4, 0x1C] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A4144: .4byte gBattleAnimTarget -_080A4148: .4byte sub_80A414C - thumb_func_end sub_80A4040 - - thumb_func_start sub_80A414C -sub_80A414C: @ 80A414C - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x3C - ldrsh r3, [r4, r0] - ldrh r0, [r4, 0x3C] - adds r0, 0x1 - strh r0, [r4, 0x3C] - movs r1, 0x30 - ldrsh r2, [r4, r1] - ldr r1, _080A41A0 @ =gSineTable - movs r5, 0x2E - ldrsh r0, [r4, r5] - lsls r0, 1 - adds r0, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - muls r0, r2 - asrs r0, 8 - strh r0, [r4, 0x26] - movs r2, 0x32 - ldrsh r0, [r4, r2] - muls r0, r3 - strh r0, [r4, 0x24] - movs r5, 0x34 - ldrsh r0, [r4, r5] - muls r0, r3 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x2E] - movs r1, 0x36 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080A41A4 - movs r2, 0x24 - ldrsh r0, [r4, r2] - movs r5, 0x20 - ldrsh r1, [r4, r5] - adds r0, r1 - cmp r0, 0xF7 - ble _080A41BC - b _080A41B6 - .align 2, 0 -_080A41A0: .4byte gSineTable -_080A41A4: - movs r1, 0x24 - ldrsh r0, [r4, r1] - movs r2, 0x20 - ldrsh r1, [r4, r2] - adds r0, r1 - movs r1, 0x10 - negs r1, r1 - cmp r0, r1 - bgt _080A41BC -_080A41B6: - adds r0, r4, 0 - bl move_anim_8074EE0 -_080A41BC: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80A414C - - thumb_func_start sub_80A41C4 -sub_80A41C4: @ 80A41C4 - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, _080A41E4 @ =gTasks - adds r5, r0, r1 - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _080A41E8 - cmp r0, 0x1 - beq _080A421C - b _080A4276 - .align 2, 0 -_080A41E4: .4byte gTasks -_080A41E8: - ldr r0, _080A4214 @ =0x0000274f - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 20 - movs r2, 0x80 - lsls r2, 1 - adds r4, r2, 0 - adds r0, r4 - strh r0, [r5, 0x18] - ldr r0, _080A4218 @ =0x000027b0 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 20 - adds r0, r4 - strh r0, [r5, 0x20] - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - b _080A4276 - .align 2, 0 -_080A4214: .4byte 0x0000274f -_080A4218: .4byte 0x000027b0 -_080A421C: - ldrh r0, [r5, 0x1A] - adds r0, 0x1 - movs r7, 0 - strh r0, [r5, 0x1A] - lsls r0, 16 - cmp r0, 0 - blt _080A4276 - strh r7, [r5, 0x1A] - ldrh r0, [r5, 0x18] - ldrb r2, [r5, 0x1C] - ldr r4, _080A4290 @ =gUnknown_83E30F0 - movs r3, 0x1E - ldrsh r1, [r5, r3] - lsls r1, 1 - adds r1, r4 - ldrh r3, [r1] - movs r1, 0x10 - bl BlendPalette - ldrh r0, [r5, 0x20] - ldrb r2, [r5, 0x1C] - movs r3, 0x1E - ldrsh r1, [r5, r3] - lsls r1, 1 - adds r1, r4 - ldrh r3, [r1] - movs r1, 0x10 - bl BlendPalette - ldrh r0, [r5, 0x1C] - adds r0, 0x1 - strh r0, [r5, 0x1C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x11 - bne _080A4276 - strh r7, [r5, 0x1C] - ldrh r0, [r5, 0x1E] - adds r0, 0x1 - strh r0, [r5, 0x1E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7 - bne _080A4276 - strh r7, [r5, 0x1E] -_080A4276: - ldr r0, _080A4294 @ =gBattleAnimArgs - movs r2, 0xE - ldrsh r1, [r0, r2] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _080A428A - adds r0, r6, 0 - bl DestroyAnimVisualTask -_080A428A: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A4290: .4byte gUnknown_83E30F0 -_080A4294: .4byte gBattleAnimArgs - thumb_func_end sub_80A41C4 - - thumb_func_start sub_80A4298 -sub_80A4298: @ 80A4298 - push {r4-r7,lr} - sub sp, 0x4 - adds r6, r0, 0 - ldr r1, _080A42B0 @ =gBattleAnimArgs - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _080A42B4 - adds r0, r6, 0 - bl DestroyAnimSprite - b _080A438E - .align 2, 0 -_080A42B0: .4byte gBattleAnimArgs -_080A42B4: - movs r3, 0 - ldrsh r0, [r1, r3] - cmp r0, 0 - bne _080A42C4 - ldr r4, _080A42C0 @ =gBattleAnimAttacker - b _080A42C6 - .align 2, 0 -_080A42C0: .4byte gBattleAnimAttacker -_080A42C4: - ldr r4, _080A4300 @ =gBattleAnimTarget -_080A42C6: - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r5, r0, 24 - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _080A4304 @ =gBattleAnimArgs - ldrh r1, [r0, 0x8] - strh r1, [r6, 0x2E] - movs r3, 0x2 - ldrsh r1, [r0, r3] - adds r7, r0, 0 - cmp r1, 0 - bne _080A4308 - ldrh r0, [r7, 0x4] - adds r0, r5 - strh r0, [r6, 0x20] - ldrh r0, [r7, 0x6] - adds r0, r2 - strh r0, [r6, 0x22] - strh r5, [r6, 0x38] - strh r2, [r6, 0x3A] - b _080A4318 - .align 2, 0 -_080A4300: .4byte gBattleAnimTarget -_080A4304: .4byte gBattleAnimArgs -_080A4308: - strh r5, [r6, 0x20] - strh r2, [r6, 0x22] - ldrh r0, [r7, 0x4] - adds r0, r5 - strh r0, [r6, 0x38] - ldrh r0, [r7, 0x6] - adds r0, r2 - strh r0, [r6, 0x3A] -_080A4318: - ldrh r4, [r6, 0x20] - lsls r0, r4, 4 - strh r0, [r6, 0x30] - ldrh r5, [r6, 0x22] - lsls r0, r5, 4 - strh r0, [r6, 0x32] - movs r1, 0x38 - ldrsh r0, [r6, r1] - movs r2, 0x20 - ldrsh r1, [r6, r2] - subs r0, r1 - lsls r0, 4 - movs r3, 0x8 - ldrsh r1, [r7, r3] - bl __divsi3 - strh r0, [r6, 0x34] - movs r1, 0x3A - ldrsh r0, [r6, r1] - movs r2, 0x22 - ldrsh r1, [r6, r2] - subs r0, r1 - lsls r0, 4 - movs r3, 0x8 - ldrsh r1, [r7, r3] - bl __divsi3 - strh r0, [r6, 0x36] - ldrh r0, [r6, 0x38] - subs r0, r4 - lsls r0, 16 - asrs r0, 16 - ldrh r1, [r6, 0x3A] - subs r1, r5 - lsls r1, 16 - asrs r1, 16 - bl sub_8075B30 - lsls r0, 16 - lsrs r4, r0, 16 - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - beq _080A437A - ldr r1, _080A4398 @ =0xffff8000 - adds r0, r4, r1 - lsls r0, 16 - lsrs r4, r0, 16 -_080A437A: - movs r3, 0x80 - lsls r3, 1 - str r4, [sp] - adds r0, r6, 0 - movs r1, 0 - adds r2, r3, 0 - bl sub_8075A1C - ldr r0, _080A439C @ =sub_80A43A0 - str r0, [r6, 0x1C] -_080A438E: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A4398: .4byte 0xffff8000 -_080A439C: .4byte sub_80A43A0 - thumb_func_end sub_80A4298 - - thumb_func_start sub_80A43A0 -sub_80A43A0: @ 80A43A0 - push {r4,lr} - adds r2, r0, 0 - ldrh r3, [r2, 0x2E] - movs r1, 0x2E - ldrsh r0, [r2, r1] - cmp r0, 0 - beq _080A43D0 - ldrh r0, [r2, 0x34] - ldrh r4, [r2, 0x30] - adds r0, r4 - strh r0, [r2, 0x30] - ldrh r1, [r2, 0x36] - ldrh r4, [r2, 0x32] - adds r1, r4 - strh r1, [r2, 0x32] - lsls r0, 16 - asrs r0, 20 - strh r0, [r2, 0x20] - lsls r1, 16 - asrs r1, 20 - strh r1, [r2, 0x22] - subs r0, r3, 0x1 - strh r0, [r2, 0x2E] - b _080A43D6 -_080A43D0: - adds r0, r2, 0 - bl move_anim_8074EE0 -_080A43D6: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A43A0 - - thumb_func_start sub_80A43DC -sub_80A43DC: @ 80A43DC - push {lr} - adds r2, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080A43F2 - adds r0, r2, 0 - bl DestroyAnimSprite -_080A43F2: - pop {r0} - bx r0 - thumb_func_end sub_80A43DC - - thumb_func_start sub_80A43F8 -sub_80A43F8: @ 80A43F8 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _080A4418 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080A4420 - ldr r2, _080A441C @ =gBattleAnimArgs - ldrh r0, [r4, 0x20] - ldrh r1, [r2] - subs r0, r1 - strh r0, [r4, 0x20] - ldrh r0, [r2, 0x2] - b _080A442C - .align 2, 0 -_080A4418: .4byte gBattleAnimAttacker -_080A441C: .4byte gBattleAnimArgs -_080A4420: - ldr r0, _080A4444 @ =gBattleAnimArgs - ldrh r1, [r0] - ldrh r2, [r4, 0x20] - adds r1, r2 - strh r1, [r4, 0x20] - ldrh r0, [r0, 0x2] -_080A442C: - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - ldr r0, _080A4448 @ =sub_8074F6C - str r0, [r4, 0x1C] - ldr r1, _080A444C @ =DestroyAnimSprite - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A4444: .4byte gBattleAnimArgs -_080A4448: .4byte sub_8074F6C -_080A444C: .4byte DestroyAnimSprite - thumb_func_end sub_80A43F8 - - thumb_func_start sub_80A4450 -sub_80A4450: @ 80A4450 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, _080A4488 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080A446A - adds r0, r5, 0 - movs r1, 0x1 - bl StartSpriteAnim -_080A446A: - ldr r0, _080A448C @ =sub_80A43DC - str r0, [r5, 0x1C] - ldr r4, _080A4490 @ =gBattleAnimArgs - movs r0, 0 - ldrsh r1, [r4, r0] - adds r0, r5, 0 - bl sub_8074FF8 - ldrh r0, [r4, 0x2] - ldrh r1, [r5, 0x22] - adds r0, r1 - strh r0, [r5, 0x22] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A4488: .4byte gBattleAnimAttacker -_080A448C: .4byte sub_80A43DC -_080A4490: .4byte gBattleAnimArgs - thumb_func_end sub_80A4450 - - thumb_func_start sub_80A4494 -sub_80A4494: @ 80A4494 - push {r4,lr} - adds r4, r0, 0 - ldr r1, _080A44D4 @ =gBattleAnimArgs - ldrh r0, [r1] - ldrh r2, [r4, 0x20] - adds r0, r2 - strh r0, [r4, 0x20] - ldrh r0, [r1, 0x2] - ldrh r2, [r4, 0x22] - adds r0, r2 - strh r0, [r4, 0x22] - ldrh r0, [r1, 0x4] - strh r0, [r4, 0x2E] - ldrh r0, [r1, 0x6] - strh r0, [r4, 0x30] - ldrh r0, [r1, 0x8] - strh r0, [r4, 0x34] - ldrh r0, [r1, 0xA] - strh r0, [r4, 0x38] - ldrb r1, [r1, 0xC] - adds r0, r4, 0 - bl StartSpriteAffineAnim - ldr r1, _080A44D8 @ =move_anim_8074EE0 - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - ldr r0, _080A44DC @ =sub_8074E70 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A44D4: .4byte gBattleAnimArgs -_080A44D8: .4byte move_anim_8074EE0 -_080A44DC: .4byte sub_8074E70 - thumb_func_end sub_80A4494 - - thumb_func_start sub_80A44E0 -sub_80A44E0: @ 80A44E0 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, _080A4530 @ =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080A4514 - ldrh r0, [r5, 0x22] - adds r0, 0x8 - strh r0, [r5, 0x22] -_080A4514: - ldr r0, _080A4534 @ =sub_80A46CC - str r0, [r5, 0x1C] - ldr r0, _080A4538 @ =gBattleAnimArgs - movs r2, 0x4 - ldrsh r1, [r0, r2] - adds r3, r0, 0 - cmp r1, 0 - bne _080A453C - ldrh r0, [r3] - ldrh r1, [r5, 0x20] - adds r0, r1 - strh r0, [r5, 0x20] - b _080A4550 - .align 2, 0 -_080A4530: .4byte gBattleAnimTarget -_080A4534: .4byte sub_80A46CC -_080A4538: .4byte gBattleAnimArgs -_080A453C: - ldrh r0, [r5, 0x20] - ldrh r1, [r3] - subs r0, r1 - strh r0, [r5, 0x20] - adds r2, r5, 0 - adds r2, 0x3F - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] -_080A4550: - ldrh r0, [r3, 0x2] - ldrh r2, [r5, 0x22] - adds r0, r2 - strh r0, [r5, 0x22] - ldr r1, _080A4584 @ =0xfffffc00 - adds r0, r1, 0 - ldrh r2, [r5, 0x30] - adds r1, r0, r2 - strh r1, [r5, 0x30] - movs r2, 0x80 - lsls r2, 3 - adds r0, r2, 0 - ldrh r2, [r5, 0x32] - adds r0, r2 - strh r0, [r5, 0x32] - ldrh r0, [r3, 0x4] - strh r0, [r5, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - bne _080A457E - negs r0, r1 - strh r0, [r5, 0x30] -_080A457E: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A4584: .4byte 0xfffffc00 - thumb_func_end sub_80A44E0 - - thumb_func_start sub_80A4588 -sub_80A4588: @ 80A4588 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - ldr r0, _080A45A4 @ =gBattleAnimArgs - movs r1, 0x6 - ldrsh r0, [r0, r1] - cmp r0, 0x1 - beq _080A45A8 - cmp r0, 0x1 - ble _080A4624 - cmp r0, 0x2 - beq _080A45C8 - b _080A4624 - .align 2, 0 -_080A45A4: .4byte gBattleAnimArgs -_080A45A8: - ldr r5, _080A45C4 @ =gBattleAnimTarget - ldrb r0, [r5] - movs r4, 0x2 - eors r0, r4 - movs r1, 0 - bl sub_8074480 - lsls r0, 24 - lsrs r7, r0, 24 - ldrb r0, [r5] - eors r4, r0 - adds r0, r4, 0 - b _080A4634 - .align 2, 0 -_080A45C4: .4byte gBattleAnimTarget -_080A45C8: - ldr r5, _080A4620 @ =gBattleAnimTarget - ldrb r0, [r5] - movs r1, 0 - bl sub_8074480 - lsls r0, 24 - lsrs r7, r0, 24 - ldrb r0, [r5] - movs r1, 0x1 - bl sub_8074480 - lsls r0, 24 - lsrs r4, r0, 24 - ldrb r0, [r5] - movs r2, 0x2 - mov r8, r2 - mov r1, r8 - eors r0, r1 - bl sub_8072DF0 - lsls r0, 24 - cmp r0, 0 - beq _080A463E - ldrb r0, [r5] - mov r2, r8 - eors r0, r2 - movs r1, 0 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - adds r0, r7 - lsrs r7, r0, 1 - ldrb r0, [r5] - mov r1, r8 - eors r0, r1 - movs r1, 0x1 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - adds r0, r4 - lsrs r4, r0, 1 - b _080A463E - .align 2, 0 -_080A4620: .4byte gBattleAnimTarget -_080A4624: - ldr r4, _080A4670 @ =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0 - bl sub_8074480 - lsls r0, 24 - lsrs r7, r0, 24 - ldrb r0, [r4] -_080A4634: - movs r1, 0x1 - bl sub_8074480 - lsls r0, 24 - lsrs r4, r0, 24 -_080A463E: - strh r7, [r6, 0x20] - strh r4, [r6, 0x22] - ldr r0, _080A4670 @ =gBattleAnimTarget - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080A4656 - ldrh r0, [r6, 0x22] - adds r0, 0x8 - strh r0, [r6, 0x22] -_080A4656: - ldr r0, _080A4674 @ =sub_80A46CC - str r0, [r6, 0x1C] - ldr r0, _080A4678 @ =gBattleAnimArgs - movs r2, 0x4 - ldrsh r1, [r0, r2] - adds r3, r0, 0 - cmp r1, 0 - bne _080A467C - ldrh r0, [r3] - ldrh r1, [r6, 0x20] - adds r0, r1 - strh r0, [r6, 0x20] - b _080A4690 - .align 2, 0 -_080A4670: .4byte gBattleAnimTarget -_080A4674: .4byte sub_80A46CC -_080A4678: .4byte gBattleAnimArgs -_080A467C: - ldrh r0, [r6, 0x20] - ldrh r1, [r3] - subs r0, r1 - strh r0, [r6, 0x20] - adds r2, r6, 0 - adds r2, 0x3F - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] -_080A4690: - ldrh r0, [r3, 0x2] - ldrh r2, [r6, 0x22] - adds r0, r2 - strh r0, [r6, 0x22] - ldr r1, _080A46C8 @ =0xfffffc00 - adds r0, r1, 0 - ldrh r2, [r6, 0x30] - adds r1, r0, r2 - strh r1, [r6, 0x30] - movs r2, 0x80 - lsls r2, 3 - adds r0, r2, 0 - ldrh r2, [r6, 0x32] - adds r0, r2 - strh r0, [r6, 0x32] - ldrh r0, [r3, 0x4] - strh r0, [r6, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - bne _080A46BE - negs r0, r1 - strh r0, [r6, 0x30] -_080A46BE: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A46C8: .4byte 0xfffffc00 - thumb_func_end sub_80A4588 - - thumb_func_start sub_80A46CC -sub_80A46CC: @ 80A46CC - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x30] - ldrh r2, [r4, 0x34] - adds r0, r1, r2 - strh r0, [r4, 0x34] - ldrh r0, [r4, 0x32] - ldrh r2, [r4, 0x36] - adds r0, r2 - strh r0, [r4, 0x36] - movs r2, 0x38 - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _080A46EE - adds r0, r1, 0 - adds r0, 0x18 - b _080A46F2 -_080A46EE: - adds r0, r1, 0 - subs r0, 0x18 -_080A46F2: - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x32] - subs r0, 0x18 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x34] - lsls r0, 16 - asrs r0, 24 - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x36] - lsls r0, 16 - asrs r0, 24 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - bne _080A4728 - ldr r1, _080A4730 @ =DestroyAnimSprite - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - movs r0, 0x3 - strh r0, [r4, 0x2E] - ldr r0, _080A4734 @ =sub_8074C44 - str r0, [r4, 0x1C] -_080A4728: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A4730: .4byte DestroyAnimSprite -_080A4734: .4byte sub_8074C44 - thumb_func_end sub_80A46CC - - thumb_func_start sub_80A4738 -sub_80A4738: @ 80A4738 - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r1, [r5, 0x32] - movs r2, 0x32 - ldrsh r0, [r5, r2] - cmp r0, 0x1 - ble _080A47DC - ldrh r1, [r5, 0x34] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080A4794 - adds r3, r5, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r2, 0x5 - negs r2, r2 - adds r0, r2, 0 - ands r0, r1 - strb r0, [r3] - ldr r4, _080A4790 @ =gSprites - movs r0, 0x2E - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r3, [r0] - adds r1, r2, 0 - ands r1, r3 - strb r1, [r0] - movs r0, 0x30 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - ands r2, r1 - strb r2, [r0] - b _080A47CA - .align 2, 0 -_080A4790: .4byte gSprites -_080A4794: - adds r1, r5, 0 - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - ldr r3, _080A47D8 @ =gSprites - movs r0, 0x2E - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r2 - strb r1, [r0] - movs r0, 0x30 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r2 - strb r1, [r0] -_080A47CA: - movs r0, 0 - strh r0, [r5, 0x32] - ldrh r0, [r5, 0x34] - adds r0, 0x1 - strh r0, [r5, 0x34] - b _080A47E0 - .align 2, 0 -_080A47D8: .4byte gSprites -_080A47DC: - adds r0, r1, 0x1 - strh r0, [r5, 0x32] -_080A47E0: - movs r1, 0x34 - ldrsh r0, [r5, r1] - cmp r0, 0xA - bne _080A4810 - movs r2, 0x2E - ldrsh r1, [r5, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _080A4818 @ =gSprites - adds r0, r4 - bl DestroySprite - movs r0, 0x30 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - adds r0, r5, 0 - bl DestroyAnimSprite -_080A4810: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A4818: .4byte gSprites - thumb_func_end sub_80A4738 - - thumb_func_start sub_80A481C -sub_80A481C: @ 80A481C - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, _080A483C @ =gBattleAnimArgs - ldrh r0, [r4, 0x4] - strh r0, [r5, 0x2E] - ldr r0, _080A4840 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080A4844 - ldrh r0, [r5, 0x20] - ldrh r1, [r4] - subs r0, r1 - b _080A484A - .align 2, 0 -_080A483C: .4byte gBattleAnimArgs -_080A4840: .4byte gBattleAnimAttacker -_080A4844: - ldrh r0, [r4] - ldrh r1, [r5, 0x20] - adds r0, r1 -_080A484A: - strh r0, [r5, 0x20] - ldr r4, _080A4878 @ =gBattleAnimArgs - ldrb r1, [r4, 0xA] - adds r0, r5, 0 - bl StartSpriteAnim - ldrh r0, [r4, 0x6] - negs r0, r0 - strh r0, [r5, 0x30] - ldrh r0, [r4, 0x2] - ldrh r1, [r5, 0x22] - adds r0, r1 - strh r0, [r5, 0x22] - ldrh r0, [r4, 0x8] - strh r0, [r5, 0x34] - ldr r1, _080A487C @ =sub_80A4880 - str r1, [r5, 0x1C] - adds r0, r5, 0 - bl _call_via_r1 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A4878: .4byte gBattleAnimArgs -_080A487C: .4byte sub_80A4880 - thumb_func_end sub_80A481C - - thumb_func_start sub_80A4880 -sub_80A4880: @ 80A4880 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - movs r1, 0x64 - bl Cos - strh r0, [r4, 0x24] - movs r2, 0x2E - ldrsh r0, [r4, r2] - movs r1, 0x14 - bl Sin - strh r0, [r4, 0x26] - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x7F - bgt _080A48AC - adds r1, r4, 0 - adds r1, 0x43 - movs r0, 0 - b _080A48B2 -_080A48AC: - adds r1, r4, 0 - adds r1, 0x43 - movs r0, 0xE -_080A48B2: - strb r0, [r1] - ldrh r0, [r4, 0x30] - ldrh r2, [r4, 0x2E] - adds r0, r2 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x38] - adds r0, 0x82 - strh r0, [r4, 0x38] - lsls r0, 16 - asrs r0, 24 - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - movs r2, 0x34 - ldrsh r1, [r4, r2] - cmp r0, r1 - bne _080A48E8 - adds r0, r4, 0 - bl DestroyAnimSprite -_080A48E8: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A4880 - - thumb_func_start sub_80A48F0 -sub_80A48F0: @ 80A48F0 - push {r4-r6,lr} - adds r5, r0, 0 - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - beq _080A4906 - ldr r1, _080A4964 @ =gBattleAnimArgs - ldrh r0, [r1, 0x2] - adds r0, 0x8 - strh r0, [r1, 0x2] -_080A4906: - ldr r6, _080A4968 @ =gBattleAnimAttacker - ldrb r0, [r6] - movs r1, 0 - bl sub_8074844 - lsls r0, 24 - ldr r4, _080A4964 @ =gBattleAnimArgs - lsrs r0, 24 - ldrh r1, [r4] - adds r0, r1 - strh r0, [r5, 0x20] - ldrb r0, [r6] - movs r1, 0x1 - bl sub_8074844 - lsls r0, 24 - lsrs r0, 24 - ldrh r4, [r4, 0x2] - adds r0, r4 - strh r0, [r5, 0x22] - ldrb r0, [r6] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080A4944 - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - beq _080A496C -_080A4944: - ldrb r0, [r6] - bl sub_8076884 - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x1 - movs r1, 0x3 - ands r0, r1 - lsls r0, 2 - ldrb r2, [r5, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r5, 0x5] - b _080A4984 - .align 2, 0 -_080A4964: .4byte gBattleAnimArgs -_080A4968: .4byte gBattleAnimAttacker -_080A496C: - ldrb r0, [r6] - bl sub_8076884 - movs r1, 0x3 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r5, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x5] -_080A4984: - ldr r0, _080A49C8 @ =gBattleAnimArgs - ldrh r0, [r0, 0x4] - strh r0, [r5, 0x2E] - ldr r0, _080A49CC @ =0x00002828 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 20 - movs r1, 0x80 - lsls r1, 1 - adds r0, r1 - strh r0, [r5, 0x32] - movs r4, 0x10 - movs r0, 0x10 - strh r0, [r5, 0x3C] - movs r1, 0xFD - lsls r1, 6 - movs r0, 0x50 - bl SetGpuReg - ldrh r0, [r5, 0x3C] - lsls r1, r0, 8 - subs r4, r0 - orrs r1, r4 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - ldr r0, _080A49D0 @ =sub_80A49D4 - str r0, [r5, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A49C8: .4byte gBattleAnimArgs -_080A49CC: .4byte 0x00002828 -_080A49D0: .4byte sub_80A49D4 - thumb_func_end sub_80A48F0 - - thumb_func_start sub_80A49D4 -sub_80A49D4: @ 80A49D4 - push {r4-r6,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x38] - adds r0, 0x60 - strh r0, [r4, 0x38] - lsls r0, 16 - asrs r0, 24 - negs r0, r0 - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080A4A32 - movs r0, 0 - strh r0, [r4, 0x30] - ldr r1, _080A4A7C @ =gPlttBufferFaded - movs r2, 0x32 - ldrsh r0, [r4, r2] - adds r0, 0x1 - lsls r0, 1 - adds r0, r1 - ldrh r5, [r0] - movs r2, 0 - adds r6, r1, 0 - adds r3, r6, 0 -_080A4A0C: - movs r1, 0x32 - ldrsh r0, [r4, r1] - adds r2, 0x1 - adds r0, r2 - lsls r1, r0, 1 - adds r1, r3 - adds r0, 0x1 - lsls r0, 1 - adds r0, r3 - ldrh r0, [r0] - strh r0, [r1] - cmp r2, 0x5 - ble _080A4A0C - movs r2, 0x32 - ldrsh r0, [r4, r2] - adds r0, 0x7 - lsls r0, 1 - adds r0, r6 - strh r5, [r0] -_080A4A32: - ldrh r2, [r4, 0x3C] - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0x6 - ble _080A4A6C - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - ble _080A4A80 - ldrh r0, [r4, 0x3A] - adds r0, 0x1 - strh r0, [r4, 0x3A] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080A4A6C - movs r0, 0 - strh r0, [r4, 0x3A] - subs r2, 0x1 - strh r2, [r4, 0x3C] - lsls r1, r2, 8 - movs r0, 0x10 - subs r0, r2 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg -_080A4A6C: - ldrh r1, [r4, 0x2E] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0 - ble _080A4A80 - subs r0, r1, 0x1 - strh r0, [r4, 0x2E] - b _080A4AC2 - .align 2, 0 -_080A4A7C: .4byte gPlttBufferFaded -_080A4A80: - ldrh r0, [r4, 0x3A] - adds r0, 0x1 - strh r0, [r4, 0x3A] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080A4AC2 - movs r0, 0 - strh r0, [r4, 0x3A] - ldrh r2, [r4, 0x3C] - adds r2, 0x1 - strh r2, [r4, 0x3C] - lsls r1, r2, 8 - movs r0, 0x10 - subs r0, r2 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0x10 - bne _080A4AC2 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, _080A4AC8 @ =sub_8074F88 - str r0, [r4, 0x1C] -_080A4AC2: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A4AC8: .4byte sub_8074F88 - thumb_func_end sub_80A49D4 - - thumb_func_start sub_80A4ACC -sub_80A4ACC: @ 80A4ACC - push {r4-r6,lr} - adds r4, r0, 0 - ldr r6, _080A4B2C @ =gBattleAnimTarget - ldrb r0, [r6] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - movs r5, 0 - strh r0, [r4, 0x20] - ldrb r0, [r6] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080A4B30 @ =0x0000ffe8 - adds r0, r1 - strh r0, [r4, 0x22] - strh r5, [r4, 0x2E] - strh r5, [r4, 0x30] - strh r5, [r4, 0x32] - strh r5, [r4, 0x34] - strh r5, [r4, 0x36] - strh r5, [r4, 0x3A] - movs r0, 0x10 - strh r0, [r4, 0x3C] - movs r1, 0xFD - lsls r1, 6 - movs r0, 0x50 - bl SetGpuReg - ldrh r1, [r4, 0x3C] - lsls r1, 8 - ldrh r0, [r4, 0x3A] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - ldr r0, _080A4B34 @ =sub_80A4B38 - str r0, [r4, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A4B2C: .4byte gBattleAnimTarget -_080A4B30: .4byte 0x0000ffe8 -_080A4B34: .4byte sub_80A4B38 - thumb_func_end sub_80A4ACC - - thumb_func_start sub_80A4B38 -sub_80A4B38: @ 80A4B38 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x4 - bls _080A4B46 - b _080A4C90 -_080A4B46: - lsls r0, 2 - ldr r1, _080A4B50 @ =_080A4B54 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080A4B50: .4byte _080A4B54 - .align 2, 0 -_080A4B54: - .4byte _080A4B68 - .4byte _080A4BCC - .4byte _080A4BE8 - .4byte _080A4C66 - .4byte _080A4C7A -_080A4B68: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - cmp r0, 0 - bgt _080A4B76 - b _080A4C90 -_080A4B76: - movs r0, 0 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080A4B98 - ldrh r1, [r4, 0x3A] - movs r2, 0x3A - ldrsh r0, [r4, r2] - cmp r0, 0xF - bgt _080A4BA6 - adds r0, r1, 0x1 - strh r0, [r4, 0x3A] - b _080A4BA6 -_080A4B98: - ldrh r1, [r4, 0x3C] - movs r2, 0x3C - ldrsh r0, [r4, r2] - cmp r0, 0 - ble _080A4BA6 - subs r0, r1, 0x1 - strh r0, [r4, 0x3C] -_080A4BA6: - ldrh r1, [r4, 0x3C] - lsls r1, 8 - ldrh r0, [r4, 0x3A] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r1, 0x3A - ldrsh r0, [r4, r1] - cmp r0, 0x10 - bne _080A4C90 - movs r2, 0x3C - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _080A4C90 - strh r0, [r4, 0x30] - b _080A4C72 -_080A4BCC: - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x8 - ble _080A4C90 - movs r0, 0 - strh r0, [r4, 0x30] - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - b _080A4C72 -_080A4BE8: - adds r0, r4, 0 - movs r1, 0x10 - movs r2, 0x4 - bl sub_80A4C98 - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _080A4C0A - movs r0, 0 - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x22] - adds r0, 0x1 - strh r0, [r4, 0x22] -_080A4C0A: - ldrh r0, [r4, 0x32] - adds r1, r0, 0x1 - strh r1, [r4, 0x32] - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0x1D - ble _080A4C90 - movs r0, 0x1 - ands r1, r0 - cmp r1, 0 - beq _080A4C30 - ldrh r1, [r4, 0x3A] - movs r2, 0x3A - ldrsh r0, [r4, r2] - cmp r0, 0 - ble _080A4C3E - subs r0, r1, 0x1 - strh r0, [r4, 0x3A] - b _080A4C3E -_080A4C30: - ldrh r1, [r4, 0x3C] - movs r2, 0x3C - ldrsh r0, [r4, r2] - cmp r0, 0xF - bgt _080A4C3E - adds r0, r1, 0x1 - strh r0, [r4, 0x3C] -_080A4C3E: - ldrh r1, [r4, 0x3C] - lsls r1, 8 - ldrh r0, [r4, 0x3A] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r0, 0x3A - ldrsh r1, [r4, r0] - cmp r1, 0 - bne _080A4C90 - movs r2, 0x3C - ldrsh r0, [r4, r2] - cmp r0, 0x10 - bne _080A4C90 - strh r1, [r4, 0x30] - strh r1, [r4, 0x32] - b _080A4C72 -_080A4C66: - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] -_080A4C72: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _080A4C90 -_080A4C7A: - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - adds r0, r4, 0 - bl DestroyAnimSprite -_080A4C90: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A4B38 - - thumb_func_start sub_80A4C98 -sub_80A4C98: @ 80A4C98 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, 0xB - bgt _080A4CAA - ldrh r0, [r4, 0x36] - adds r0, 0x2 - strh r0, [r4, 0x36] -_080A4CAA: - ldrh r5, [r4, 0x34] - adds r0, r5, 0 - subs r0, 0x12 - lsls r0, 16 - lsrs r0, 16 - adds r1, r5, 0 - cmp r0, 0x17 - bhi _080A4CC0 - ldrh r0, [r4, 0x36] - subs r0, 0x2 - strh r0, [r4, 0x36] -_080A4CC0: - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0x2F - ble _080A4CCE - ldrh r0, [r4, 0x36] - adds r0, 0x2 - strh r0, [r4, 0x36] -_080A4CCE: - movs r1, 0x36 - ldrsh r0, [r4, r1] - movs r1, 0x9 - bl __divsi3 - strh r0, [r4, 0x24] - movs r1, 0x36 - ldrsh r0, [r4, r1] - movs r1, 0xE - bl __divsi3 - strh r0, [r4, 0x26] - lsls r0, 16 - cmp r0, 0 - bge _080A4CF4 - movs r1, 0x26 - ldrsh r0, [r4, r1] - negs r0, r0 - strh r0, [r4, 0x26] -_080A4CF4: - adds r0, r5, 0x1 - strh r0, [r4, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3B - ble _080A4D04 - movs r0, 0 - strh r0, [r4, 0x34] -_080A4D04: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80A4C98 - - thumb_func_start sub_80A4D0C -sub_80A4D0C: @ 80A4D0C - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, _080A4D50 @ =gBattleAnimArgs - movs r1, 0x4 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _080A4D20 - adds r0, r4, 0 - bl sub_8074FCC -_080A4D20: - movs r0, 0 - ldrsh r1, [r5, r0] - adds r0, r4, 0 - bl sub_8074FF8 - ldrh r0, [r5, 0x2] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - ldrh r0, [r5, 0xA] - strh r0, [r4, 0x2E] - ldrh r0, [r5, 0x6] - strh r0, [r4, 0x30] - ldrh r0, [r5, 0x8] - strh r0, [r4, 0x32] - ldr r1, _080A4D54 @ =DestroyAnimSprite - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - ldr r0, _080A4D58 @ =sub_8074D00 - str r0, [r4, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A4D50: .4byte gBattleAnimArgs -_080A4D54: .4byte DestroyAnimSprite -_080A4D58: .4byte sub_8074D00 - thumb_func_end sub_80A4D0C - - thumb_func_start sub_80A4D5C -sub_80A4D5C: @ 80A4D5C - push {r4-r6,lr} - adds r5, r0, 0 - ldr r0, _080A4D70 @ =gBattleAnimArgs - movs r1, 0x4 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080A4D78 - ldr r0, _080A4D74 @ =gBattleAnimAttacker - b _080A4D7A - .align 2, 0 -_080A4D70: .4byte gBattleAnimArgs -_080A4D74: .4byte gBattleAnimAttacker -_080A4D78: - ldr r0, _080A4DBC @ =gBattleAnimTarget -_080A4D7A: - ldrb r6, [r0] - bl sub_8075290 - lsls r0, 24 - cmp r0, 0 - beq _080A4DC4 - movs r1, 0x2 - adds r0, r6, 0 - eors r0, r1 - bl sub_8072DF0 - lsls r0, 24 - cmp r0, 0 - beq _080A4DC4 - ldr r4, _080A4DC0 @ =gBattleAnimArgs - ldrb r1, [r4, 0xC] - adds r2, r5, 0 - adds r2, 0x20 - adds r3, r5, 0 - adds r3, 0x22 - adds r0, r6, 0 - bl sub_8076D9C - movs r2, 0 - ldrsh r1, [r4, r2] - adds r0, r5, 0 - bl sub_8074FF8 - ldrh r0, [r4, 0x2] - ldrh r1, [r5, 0x22] - adds r0, r1 - strh r0, [r5, 0x22] - b _080A4E14 - .align 2, 0 -_080A4DBC: .4byte gBattleAnimTarget -_080A4DC0: .4byte gBattleAnimArgs -_080A4DC4: - ldr r4, _080A4DE4 @ =gBattleAnimArgs - movs r2, 0xC - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _080A4DE8 - adds r0, r6, 0 - movs r1, 0 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - adds r0, r6, 0 - movs r1, 0x1 - b _080A4DFA - .align 2, 0 -_080A4DE4: .4byte gBattleAnimArgs -_080A4DE8: - adds r0, r6, 0 - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - adds r0, r6, 0 - movs r1, 0x3 -_080A4DFA: - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r4, [r4, 0x2] - adds r0, r4 - strh r0, [r5, 0x22] - ldr r0, _080A4E34 @ =gBattleAnimArgs - movs r2, 0 - ldrsh r1, [r0, r2] - adds r0, r5, 0 - bl sub_8074FF8 -_080A4E14: - ldr r1, _080A4E34 @ =gBattleAnimArgs - ldrh r0, [r1, 0xA] - strh r0, [r5, 0x2E] - ldrh r0, [r1, 0x6] - strh r0, [r5, 0x30] - ldrh r0, [r1, 0x8] - strh r0, [r5, 0x32] - ldr r1, _080A4E38 @ =DestroyAnimSprite - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 - ldr r0, _080A4E3C @ =sub_8074D00 - str r0, [r5, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A4E34: .4byte gBattleAnimArgs -_080A4E38: .4byte DestroyAnimSprite -_080A4E3C: .4byte sub_8074D00 - thumb_func_end sub_80A4D5C - - thumb_func_start sub_80A4E40 -sub_80A4E40: @ 80A4E40 - push {r4,lr} - adds r4, r0, 0 - bl sub_8074FCC - ldr r0, _080A4E6C @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080A4E74 - ldr r0, _080A4E70 @ =gBattleAnimArgs - ldrh r1, [r0] - ldrh r2, [r4, 0x20] - adds r1, r2 - strh r1, [r4, 0x20] - ldrh r0, [r0, 0x2] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - b _080A4E8E - .align 2, 0 -_080A4E6C: .4byte gBattleAnimAttacker -_080A4E70: .4byte gBattleAnimArgs -_080A4E74: - ldr r2, _080A4E98 @ =gBattleAnimArgs - ldrh r0, [r4, 0x20] - ldrh r1, [r2] - subs r0, r1 - strh r0, [r4, 0x20] - ldrh r0, [r2, 0x2] - ldrh r2, [r4, 0x22] - adds r0, r2 - strh r0, [r4, 0x22] - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAnim -_080A4E8E: - ldr r0, _080A4E9C @ =sub_80A4EA0 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A4E98: .4byte gBattleAnimArgs -_080A4E9C: .4byte sub_80A4EA0 - thumb_func_end sub_80A4E40 - - thumb_func_start sub_80A4EA0 -sub_80A4EA0: @ 80A4EA0 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1E - ble _080A4ED8 - movs r0, 0x2E - ldrsh r1, [r4, r0] - movs r0, 0x1E - subs r0, r1 - movs r1, 0x3 - bl __divsi3 - strh r0, [r4, 0x26] - movs r1, 0x30 - ldrsh r0, [r4, r1] - lsls r0, 18 - asrs r0, 16 - movs r1, 0x3 - bl Sin - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] -_080A4ED8: - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080A4EEC - adds r0, r4, 0 - bl DestroyAnimSprite -_080A4EEC: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A4EA0 - - thumb_func_start sub_80A4EF4 -sub_80A4EF4: @ 80A4EF4 - push {r4,lr} - adds r4, r0, 0 - bl sub_8074FCC - ldr r0, _080A4F24 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080A4F2C - ldr r1, _080A4F28 @ =gBattleAnimArgs - ldrh r0, [r1] - ldrh r2, [r4, 0x20] - adds r0, r2 - strh r0, [r4, 0x20] - ldrh r0, [r1, 0x2] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - movs r0, 0x1 - strh r0, [r4, 0x34] - b _080A4F4A - .align 2, 0 -_080A4F24: .4byte gBattleAnimAttacker -_080A4F28: .4byte gBattleAnimArgs -_080A4F2C: - ldr r2, _080A4F54 @ =gBattleAnimArgs - ldrh r0, [r4, 0x20] - ldrh r1, [r2] - subs r0, r1 - strh r0, [r4, 0x20] - ldrh r0, [r2, 0x2] - ldrh r2, [r4, 0x22] - adds r0, r2 - strh r0, [r4, 0x22] - ldr r0, _080A4F58 @ =0x0000ffff - strh r0, [r4, 0x34] - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim -_080A4F4A: - ldr r0, _080A4F5C @ =sub_80A4F60 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A4F54: .4byte gBattleAnimArgs -_080A4F58: .4byte 0x0000ffff -_080A4F5C: .4byte sub_80A4F60 - thumb_func_end sub_80A4EF4 - - thumb_func_start sub_80A4F60 -sub_80A4F60: @ 80A4F60 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - movs r1, 0x28 - bl __divsi3 - negs r0, r0 - strh r0, [r4, 0x26] - movs r2, 0x36 - ldrsh r0, [r4, r2] - movs r1, 0xA - bl __divsi3 - strh r0, [r4, 0x24] - movs r1, 0x34 - ldrsh r0, [r4, r1] - lsls r0, 1 - ldrh r2, [r4, 0x36] - adds r0, r2 - strh r0, [r4, 0x36] - ldrh r0, [r4, 0x30] - ldrh r2, [r4, 0x2E] - adds r1, r0, r2 - strh r1, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3C - ble _080A4FA4 - adds r0, r4, 0 - bl move_anim_8074EE0 -_080A4FA4: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A4F60 - - thumb_func_start sub_80A4FAC -sub_80A4FAC: @ 80A4FAC - push {lr} - ldrh r1, [r0, 0x20] - subs r1, 0x20 - strh r1, [r0, 0x20] - ldrh r1, [r0, 0x22] - subs r1, 0x20 - strh r1, [r0, 0x22] - movs r1, 0x14 - strh r1, [r0, 0x2E] - ldr r1, _080A4FCC @ =sub_8074C44 - str r1, [r0, 0x1C] - ldr r1, _080A4FD0 @ =sub_80A4FD4 - bl StoreSpriteCallbackInData6 - pop {r0} - bx r0 - .align 2, 0 -_080A4FCC: .4byte sub_8074C44 -_080A4FD0: .4byte sub_80A4FD4 - thumb_func_end sub_80A4FAC - - thumb_func_start sub_80A4FD4 -sub_80A4FD4: @ 80A4FD4 - push {r4-r6,lr} - adds r5, r0, 0 - ldrh r6, [r5, 0x38] - movs r1, 0x1 - adds r0, r1, 0 - ands r0, r6 - cmp r0, 0 - beq _080A4FEA - cmp r0, 0x1 - beq _080A5004 - b _080A506A -_080A4FEA: - strh r1, [r5, 0x2E] - ldr r0, _080A4FFC @ =sub_8074C44 - str r0, [r5, 0x1C] - ldr r1, _080A5000 @ =sub_80A4FD4 - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 - b _080A506A - .align 2, 0 -_080A4FFC: .4byte sub_8074C44 -_080A5000: .4byte sub_80A4FD4 -_080A5004: - ldrh r3, [r5, 0x24] - ldrh r0, [r5, 0x20] - adds r3, r0 - movs r0, 0 - strh r3, [r5, 0x20] - ldrh r4, [r5, 0x26] - ldrh r1, [r5, 0x22] - adds r4, r1 - strh r4, [r5, 0x22] - strh r0, [r5, 0x26] - strh r0, [r5, 0x24] - movs r0, 0x8 - strh r0, [r5, 0x2E] - ldr r2, _080A5078 @ =gUnknown_83E3548 - lsls r0, r6, 16 - asrs r0, 24 - lsls r0, 1 - adds r1, r0, r2 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - adds r3, r1 - strh r3, [r5, 0x32] - adds r2, 0x1 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - adds r4, r0 - strh r4, [r5, 0x36] - ldr r0, _080A507C @ =sub_8075590 - str r0, [r5, 0x1C] - ldr r1, _080A5080 @ =sub_80A5084 - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 - movs r1, 0x80 - lsls r1, 1 - adds r0, r1, 0 - ldrh r1, [r5, 0x38] - adds r0, r1 - strh r0, [r5, 0x38] - movs r0, 0x3F - bl sub_8073A44 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 24 - movs r0, 0xCB - bl PlaySE12WithPanning -_080A506A: - ldrh r0, [r5, 0x38] - movs r1, 0x1 - eors r0, r1 - strh r0, [r5, 0x38] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A5078: .4byte gUnknown_83E3548 -_080A507C: .4byte sub_8075590 -_080A5080: .4byte sub_80A5084 - thumb_func_end sub_80A4FD4 - - thumb_func_start sub_80A5084 -sub_80A5084: @ 80A5084 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x38] - lsls r0, 16 - asrs r0, 24 - cmp r0, 0x4 - bne _080A50AC - movs r0, 0xA - strh r0, [r2, 0x2E] - ldr r0, _080A50A4 @ =sub_8074C44 - str r0, [r2, 0x1C] - ldr r1, _080A50A8 @ =sub_80A50B8 - adds r0, r2, 0 - bl StoreSpriteCallbackInData6 - b _080A50B0 - .align 2, 0 -_080A50A4: .4byte sub_8074C44 -_080A50A8: .4byte sub_80A50B8 -_080A50AC: - ldr r0, _080A50B4 @ =sub_80A4FD4 - str r0, [r2, 0x1C] -_080A50B0: - pop {r0} - bx r0 - .align 2, 0 -_080A50B4: .4byte sub_80A4FD4 - thumb_func_end sub_80A5084 - - thumb_func_start sub_80A50B8 -sub_80A50B8: @ 80A50B8 - push {r4-r7,lr} - adds r5, r0, 0 - ldrh r1, [r5, 0x6] - cmp r1, 0 - bne _080A50E0 - movs r0, 0x3 - strh r0, [r5, 0x2E] - strh r1, [r5, 0x30] - strh r1, [r5, 0x32] - ldr r0, _080A50D8 @ =sub_8074C44 - str r0, [r5, 0x1C] - ldr r1, _080A50DC @ =sub_80A5174 - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 - b _080A5160 - .align 2, 0 -_080A50D8: .4byte sub_8074C44 -_080A50DC: .4byte sub_80A5174 -_080A50E0: - ldrh r0, [r5, 0x6] - cmp r0, 0x2 - beq _080A5100 - cmp r0, 0x2 - bgt _080A50F0 - cmp r0, 0x1 - beq _080A50F6 - b _080A5114 -_080A50F0: - cmp r0, 0x3 - beq _080A5108 - b _080A5114 -_080A50F6: - ldr r6, _080A50FC @ =0x0000fff8 - adds r7, r6, 0 - b _080A5118 - .align 2, 0 -_080A50FC: .4byte 0x0000fff8 -_080A5100: - ldr r7, _080A5104 @ =0x0000fff8 - b _080A5116 - .align 2, 0 -_080A5104: .4byte 0x0000fff8 -_080A5108: - movs r7, 0x8 - ldr r6, _080A5110 @ =0x0000fff8 - b _080A5118 - .align 2, 0 -_080A5110: .4byte 0x0000fff8 -_080A5114: - movs r7, 0x8 -_080A5116: - movs r6, 0x8 -_080A5118: - ldrh r0, [r5, 0x24] - ldrh r1, [r5, 0x20] - adds r0, r1 - movs r1, 0 - strh r0, [r5, 0x20] - ldrh r0, [r5, 0x26] - ldrh r2, [r5, 0x22] - adds r0, r2 - strh r0, [r5, 0x22] - strh r1, [r5, 0x26] - strh r1, [r5, 0x24] - movs r0, 0x6 - strh r0, [r5, 0x2E] - ldr r4, _080A5168 @ =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - adds r0, r7 - strh r0, [r5, 0x32] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - adds r0, r6 - strh r0, [r5, 0x36] - ldr r0, _080A516C @ =sub_8075590 - str r0, [r5, 0x1C] - ldr r1, _080A5170 @ =sub_80A5220 - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 -_080A5160: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A5168: .4byte gBattleAnimTarget -_080A516C: .4byte sub_8075590 -_080A5170: .4byte sub_80A5220 - thumb_func_end sub_80A50B8 - - thumb_func_start sub_80A5174 -sub_80A5174: @ 80A5174 - push {r4,lr} - sub sp, 0xC - adds r4, r0, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080A5194 - ldrh r0, [r4, 0x30] - adds r0, 0x3 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x10 - ble _080A51A4 - movs r0, 0x10 - b _080A51A2 -_080A5194: - ldrh r0, [r4, 0x30] - subs r0, 0x3 - strh r0, [r4, 0x30] - lsls r0, 16 - cmp r0, 0 - bge _080A51A4 - movs r0, 0 -_080A51A2: - strh r0, [r4, 0x30] -_080A51A4: - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0x1 - movs r3, 0x1 - bl sub_8075BE8 - ldrh r1, [r4, 0x30] - lsls r1, 24 - lsrs r1, 24 - ldr r2, _080A5200 @ =0x00007fff - bl BlendPalettes - movs r3, 0x30 - ldrsh r0, [r4, r3] - cmp r0, 0x10 - bne _080A520C - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - ldrb r1, [r4, 0x5] - lsrs r1, 4 - lsls r0, r1, 5 - ldr r2, _080A5204 @ =gPlttBufferUnfaded + 0x210 - adds r0, r2 - lsls r1, 4 - ldr r3, _080A5208 @ =0x00000101 - adds r2, r3, 0 - orrs r1, r2 - movs r2, 0x4 - bl LoadPalette - movs r0, 0x3F - bl sub_8073A44 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 24 - movs r0, 0xB9 - bl PlaySE12WithPanning - b _080A5214 - .align 2, 0 -_080A5200: .4byte 0x00007fff -_080A5204: .4byte gPlttBufferUnfaded + 0x210 -_080A5208: .4byte 0x00000101 -_080A520C: - cmp r0, 0 - bne _080A5214 - ldr r0, _080A521C @ =sub_80A5220 - str r0, [r4, 0x1C] -_080A5214: - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A521C: .4byte sub_80A5220 - thumb_func_end sub_80A5174 - - thumb_func_start sub_80A5220 -sub_80A5220: @ 80A5220 - push {lr} - adds r2, r0, 0 - ldr r0, _080A523C @ =gBattleAnimArgs - ldrh r1, [r0, 0xE] - ldr r0, _080A5240 @ =0x0000ffff - cmp r1, r0 - bne _080A5238 - movs r0, 0 - strh r0, [r2, 0x30] - strh r0, [r2, 0x2E] - ldr r0, _080A5244 @ =sub_80A5248 - str r0, [r2, 0x1C] -_080A5238: - pop {r0} - bx r0 - .align 2, 0 -_080A523C: .4byte gBattleAnimArgs -_080A5240: .4byte 0x0000ffff -_080A5244: .4byte sub_80A5248 - thumb_func_end sub_80A5220 - - thumb_func_start sub_80A5248 -sub_80A5248: @ 80A5248 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - movs r1, 0x3 - bl __modsi3 - lsls r0, 16 - cmp r0, 0 - bne _080A527C - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - adds r3, r4, 0 - adds r3, 0x3E - ldrb r2, [r3] - lsls r0, r2, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] -_080A527C: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - movs r1, 0x30 - ldrsh r0, [r4, r1] - cmp r0, 0x8 - bne _080A5290 - adds r0, r4, 0 - bl DestroyAnimSprite -_080A5290: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A5248 - - thumb_func_start sub_80A5298 -sub_80A5298: @ 80A5298 - push {r4,lr} - adds r3, r0, 0 - ldr r0, _080A52B8 @ =gBattleAnimArgs - ldrh r0, [r0] - strh r0, [r3, 0x6] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - bne _080A52BC - ldrh r0, [r3, 0x20] - subs r0, 0x18 - strh r0, [r3, 0x20] - ldrh r0, [r3, 0x22] - subs r0, 0x18 - strh r0, [r3, 0x22] - b _080A530E - .align 2, 0 -_080A52B8: .4byte gBattleAnimArgs -_080A52BC: - cmp r0, 0x2 - bne _080A52D8 - ldrh r0, [r3, 0x20] - subs r0, 0x18 - strh r0, [r3, 0x20] - ldrh r0, [r3, 0x22] - adds r0, 0x18 - strh r0, [r3, 0x22] - ldrb r1, [r3, 0x3] - movs r0, 0x3F - negs r0, r0 - ands r0, r1 - movs r1, 0x20 - b _080A530A -_080A52D8: - cmp r0, 0x3 - bne _080A52F4 - ldrh r0, [r3, 0x20] - adds r0, 0x18 - strh r0, [r3, 0x20] - ldrh r0, [r3, 0x22] - subs r0, 0x18 - strh r0, [r3, 0x22] - ldrb r1, [r3, 0x3] - movs r0, 0x3F - negs r0, r0 - ands r0, r1 - movs r1, 0x10 - b _080A530A -_080A52F4: - ldrh r0, [r3, 0x20] - adds r0, 0x18 - strh r0, [r3, 0x20] - ldrh r0, [r3, 0x22] - adds r0, 0x18 - strh r0, [r3, 0x22] - ldrb r1, [r3, 0x3] - movs r0, 0x3F - negs r0, r0 - ands r0, r1 - movs r1, 0x30 -_080A530A: - orrs r0, r1 - strb r0, [r3, 0x3] -_080A530E: - ldrh r2, [r3, 0x4] - lsls r1, r2, 22 - lsrs r1, 22 - adds r1, 0x10 - ldr r4, _080A5334 @ =0x000003ff - adds r0, r4, 0 - ands r1, r0 - ldr r0, _080A5338 @ =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r3, 0x4] - ldr r1, _080A533C @ =sub_80A4FAC - str r1, [r3, 0x1C] - adds r0, r3, 0 - bl _call_via_r1 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A5334: .4byte 0x000003ff -_080A5338: .4byte 0xfffffc00 -_080A533C: .4byte sub_80A4FAC - thumb_func_end sub_80A5298 - - thumb_func_start sub_80A5340 -sub_80A5340: @ 80A5340 - push {lr} - adds r3, r0, 0 - adds r2, r3, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - movs r0, 0 - strh r0, [r3, 0x2E] - ldr r0, _080A5368 @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0x1 - beq _080A537C - cmp r0, 0x1 - bgt _080A536C - cmp r0, 0 - beq _080A5372 - b _080A538C - .align 2, 0 -_080A5368: .4byte gBattleAnimArgs -_080A536C: - cmp r0, 0x2 - beq _080A5384 - b _080A538C -_080A5372: - ldr r0, _080A5378 @ =sub_80A5398 - b _080A538E - .align 2, 0 -_080A5378: .4byte sub_80A5398 -_080A537C: - ldr r0, _080A5380 @ =sub_80A5474 - b _080A538E - .align 2, 0 -_080A5380: .4byte sub_80A5474 -_080A5384: - ldr r0, _080A5388 @ =sub_80A54C4 - b _080A538E - .align 2, 0 -_080A5388: .4byte sub_80A54C4 -_080A538C: - ldr r0, _080A5394 @ =sub_80A5584 -_080A538E: - str r0, [r3, 0x1C] - pop {r0} - bx r0 - .align 2, 0 -_080A5394: .4byte sub_80A5584 - thumb_func_end sub_80A5340 - - thumb_func_start sub_80A5398 -sub_80A5398: @ 80A5398 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x6 - strh r0, [r4, 0x2E] - ldr r5, _080A53D8 @ =gBattleAnimAttacker - ldrb r0, [r5] - bl GetBattlerSide - lsls r0, 24 - movs r2, 0x2 - negs r2, r2 - adds r1, r2, 0 - cmp r0, 0 - beq _080A53B6 - movs r1, 0x2 -_080A53B6: - strh r1, [r4, 0x30] - movs r0, 0 - strh r0, [r4, 0x32] - ldr r1, _080A53DC @ =gUnknown_2023D44 - ldrb r0, [r5] - adds r0, r1 - ldrb r0, [r0] - strh r0, [r4, 0x34] - ldr r1, _080A53E0 @ =sub_80A53E8 - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - ldr r0, _080A53E4 @ =sub_8074DC4 - str r0, [r4, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A53D8: .4byte gBattleAnimAttacker -_080A53DC: .4byte gUnknown_2023D44 -_080A53E0: .4byte sub_80A53E8 -_080A53E4: .4byte sub_8074DC4 - thumb_func_end sub_80A5398 - - thumb_func_start sub_80A53E8 -sub_80A53E8: @ 80A53E8 - push {r4-r6,lr} - adds r5, r0, 0 - movs r0, 0x2E - ldrsh r6, [r5, r0] - cmp r6, 0 - bne _080A5424 - ldr r1, _080A5464 @ =gUnknown_2023D44 - ldr r4, _080A5468 @ =gBattleAnimAttacker - ldrb r0, [r4] - adds r0, r1 - ldrb r0, [r0] - strh r0, [r5, 0x34] - movs r1, 0 - bl sub_80758E0 - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x3A] - ldr r2, _080A546C @ =0xfffffd00 - adds r1, r2, 0 - cmp r0, 0 - beq _080A5420 - movs r0, 0xC0 - lsls r0, 2 - adds r1, r0, 0 -_080A5420: - strh r1, [r5, 0x36] - strh r6, [r5, 0x38] -_080A5424: - ldrh r0, [r5, 0x36] - ldrh r1, [r5, 0x38] - adds r0, r1 - strh r0, [r5, 0x38] - ldrh r0, [r5, 0x34] - lsls r0, 24 - lsrs r0, 24 - movs r2, 0x80 - lsls r2, 1 - ldrh r3, [r5, 0x38] - adds r1, r2, 0 - bl obj_id_set_rotscale - ldrh r0, [r5, 0x34] - lsls r0, 24 - lsrs r0, 24 - bl sub_80759DC - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _080A545E - movs r0, 0 - strh r0, [r5, 0x2E] - ldr r0, _080A5470 @ =sub_80A5584 - str r0, [r5, 0x1C] -_080A545E: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A5464: .4byte gUnknown_2023D44 -_080A5468: .4byte gBattleAnimAttacker -_080A546C: .4byte 0xfffffd00 -_080A5470: .4byte sub_80A5584 - thumb_func_end sub_80A53E8 - - thumb_func_start sub_80A5474 -sub_80A5474: @ 80A5474 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x4 - strh r0, [r4, 0x2E] - ldr r5, _080A54B4 @ =gBattleAnimAttacker - ldrb r0, [r5] - bl GetBattlerSide - lsls r0, 24 - movs r1, 0x3 - cmp r0, 0 - beq _080A5492 - movs r0, 0x3 - negs r0, r0 - adds r1, r0, 0 -_080A5492: - strh r1, [r4, 0x30] - movs r0, 0 - strh r0, [r4, 0x32] - ldr r1, _080A54B8 @ =gUnknown_2023D44 - ldrb r0, [r5] - adds r0, r1 - ldrb r0, [r0] - strh r0, [r4, 0x34] - ldr r1, _080A54BC @ =sub_80A5584 - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - ldr r0, _080A54C0 @ =sub_8074DC4 - str r0, [r4, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A54B4: .4byte gBattleAnimAttacker -_080A54B8: .4byte gUnknown_2023D44 -_080A54BC: .4byte sub_80A5584 -_080A54C0: .4byte sub_8074DC4 - thumb_func_end sub_80A5474 - - thumb_func_start sub_80A54C4 -sub_80A54C4: @ 80A54C4 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x2E] - adds r0, 0x1 - strh r0, [r1, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x8 - ble _080A54DE - movs r0, 0 - strh r0, [r1, 0x2E] - ldr r0, _080A54E4 @ =sub_80A54E8 - str r0, [r1, 0x1C] -_080A54DE: - pop {r0} - bx r0 - .align 2, 0 -_080A54E4: .4byte sub_80A54E8 - thumb_func_end sub_80A54C4 - - thumb_func_start sub_80A54E8 -sub_80A54E8: @ 80A54E8 - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x2E - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _080A5538 - ldr r1, _080A5524 @ =gUnknown_2023D44 - ldr r4, _080A5528 @ =gBattleAnimAttacker - ldrb r0, [r4] - adds r0, r1 - ldrb r0, [r0] - strh r0, [r5, 0x34] - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x3A] - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080A552C - movs r0, 0xFC - lsls r0, 8 - strh r0, [r5, 0x36] - movs r0, 0xC0 - lsls r0, 4 - b _080A5536 - .align 2, 0 -_080A5524: .4byte gUnknown_2023D44 -_080A5528: .4byte gBattleAnimAttacker -_080A552C: - movs r0, 0x80 - lsls r0, 3 - strh r0, [r5, 0x36] - movs r0, 0xF4 - lsls r0, 8 -_080A5536: - strh r0, [r5, 0x38] -_080A5538: - ldrh r0, [r5, 0x36] - ldrh r1, [r5, 0x38] - adds r0, r1 - strh r0, [r5, 0x38] - ldrh r0, [r5, 0x34] - lsls r0, 24 - lsrs r0, 24 - movs r2, 0x80 - lsls r2, 1 - ldrh r3, [r5, 0x38] - adds r1, r2, 0 - bl obj_id_set_rotscale - ldrh r0, [r5, 0x34] - lsls r0, 24 - lsrs r0, 24 - bl sub_80759DC - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _080A5578 - ldrh r0, [r5, 0x34] - lsls r0, 24 - lsrs r0, 24 - bl sub_8075980 - ldr r0, _080A5580 @ =sub_80A5584 - str r0, [r5, 0x1C] -_080A5578: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A5580: .4byte sub_80A5584 - thumb_func_end sub_80A54E8 - - thumb_func_start sub_80A5584 -sub_80A5584: @ 80A5584 - push {lr} - bl DestroyAnimSprite - pop {r0} - bx r0 - thumb_func_end sub_80A5584 - - thumb_func_start sub_80A5590 -sub_80A5590: @ 80A5590 - movs r1, 0 - strh r1, [r0, 0x2E] - ldr r1, _080A559C @ =sub_80A55A0 - str r1, [r0, 0x1C] - bx lr - .align 2, 0 -_080A559C: .4byte sub_80A55A0 - thumb_func_end sub_80A5590 - - thumb_func_start sub_80A55A0 -sub_80A55A0: @ 80A55A0 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x2E - ldrsh r5, [r4, r0] - cmp r5, 0x1 - beq _080A55FA - cmp r5, 0x1 - bgt _080A55B6 - cmp r5, 0 - beq _080A55BC - b _080A568E -_080A55B6: - cmp r5, 0x2 - beq _080A564C - b _080A568E -_080A55BC: - strh r5, [r4, 0x30] - ldr r1, _080A5640 @ =gUnknown_2023D44 - ldr r2, _080A5644 @ =gBattleAnimAttacker - ldrb r0, [r2] - adds r0, r1 - ldrb r0, [r0] - strh r0, [r4, 0x32] - ldrb r0, [r2] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x34] - ldr r2, _080A5648 @ =0xfffffe00 - adds r1, r2, 0 - cmp r0, 0 - beq _080A55E4 - movs r0, 0x80 - lsls r0, 2 - adds r1, r0, 0 -_080A55E4: - strh r1, [r4, 0x36] - strh r5, [r4, 0x38] - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl sub_80758E0 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] -_080A55FA: - ldrh r0, [r4, 0x36] - ldrh r1, [r4, 0x38] - adds r0, r1 - strh r0, [r4, 0x38] - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - movs r2, 0x80 - lsls r2, 1 - ldrh r3, [r4, 0x38] - adds r1, r2, 0 - bl obj_id_set_rotscale - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - bl sub_80759DC - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _080A568E - movs r0, 0 - strh r0, [r4, 0x30] - movs r2, 0x36 - ldrsh r0, [r4, r2] - negs r0, r0 - strh r0, [r4, 0x36] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _080A568E - .align 2, 0 -_080A5640: .4byte gUnknown_2023D44 -_080A5644: .4byte gBattleAnimAttacker -_080A5648: .4byte 0xfffffe00 -_080A564C: - ldrh r0, [r4, 0x36] - ldrh r1, [r4, 0x38] - adds r0, r1 - strh r0, [r4, 0x38] - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - movs r2, 0x80 - lsls r2, 1 - ldrh r3, [r4, 0x38] - adds r1, r2, 0 - bl obj_id_set_rotscale - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - bl sub_80759DC - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _080A568E - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - bl sub_8075980 - adds r0, r4, 0 - bl DestroyAnimSprite -_080A568E: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80A55A0 - - thumb_func_start sub_80A5694 -sub_80A5694: @ 80A5694 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, _080A56D8 @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r5, r0, r1 - ldr r1, _080A56DC @ =gUnknown_2023D44 - ldr r2, _080A56E0 @ =gBattleAnimAttacker - ldrb r0, [r2] - adds r0, r1 - ldrb r0, [r0] - movs r4, 0 - strh r0, [r5, 0x8] - ldrb r0, [r2] - bl GetBattlerSide - lsls r0, 24 - lsrs r2, r0, 24 - strh r2, [r5, 0xA] - strh r4, [r5, 0xC] - ldr r0, _080A56E4 @ =gBattleAnimArgs - movs r3, 0 - ldrsh r1, [r0, r3] - cmp r1, 0 - beq _080A56E8 - cmp r1, 0x1 - beq _080A5704 - adds r0, r6, 0 - bl DestroyAnimVisualTask - b _080A5722 - .align 2, 0 -_080A56D8: .4byte gTasks -_080A56DC: .4byte gUnknown_2023D44 -_080A56E0: .4byte gBattleAnimAttacker -_080A56E4: .4byte gBattleAnimArgs -_080A56E8: - strh r1, [r5, 0xC] - movs r0, 0x8 - strh r0, [r5, 0xE] - strh r1, [r5, 0x10] - movs r0, 0x3 - strh r0, [r5, 0x12] - cmp r2, 0 - bne _080A56FC - negs r0, r0 - strh r0, [r5, 0x12] -_080A56FC: - ldr r0, _080A5700 @ =sub_80A572C - b _080A5720 - .align 2, 0 -_080A5700: .4byte sub_80A572C -_080A5704: - movs r0, 0x8 - strh r0, [r5, 0xE] - movs r0, 0xC0 - lsls r0, 3 - strh r0, [r5, 0x10] - movs r1, 0xC0 - strh r1, [r5, 0x12] - cmp r2, 0 - bne _080A571E - negs r0, r0 - strh r0, [r5, 0x10] - negs r0, r1 - strh r0, [r5, 0x12] -_080A571E: - ldr r0, _080A5728 @ =sub_80A58EC -_080A5720: - str r0, [r5] -_080A5722: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A5728: .4byte sub_80A58EC - thumb_func_end sub_80A5694 - - thumb_func_start sub_80A572C -sub_80A572C: @ 80A572C - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, _080A5750 @ =gTasks - adds r4, r0, r1 - movs r1, 0xC - ldrsh r0, [r4, r1] - cmp r0, 0x4 - bls _080A5746 - b _080A58E6 -_080A5746: - lsls r0, 2 - ldr r1, _080A5754 @ =_080A5758 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080A5750: .4byte gTasks -_080A5754: .4byte _080A5758 - .align 2, 0 -_080A5758: - .4byte _080A576C - .4byte _080A579E - .4byte _080A57F8 - .4byte _080A5870 - .4byte _080A58B4 -_080A576C: - movs r2, 0xE - ldrsh r1, [r4, r2] - cmp r1, 0 - beq _080A577C - ldrh r2, [r4, 0x12] - ldrh r3, [r4, 0x10] - adds r2, r3 - b _080A58C2 -_080A577C: - movs r0, 0x8 - strh r0, [r4, 0xE] - strh r1, [r4, 0x10] - movs r1, 0xA - ldrsh r0, [r4, r1] - movs r1, 0xC0 - cmp r0, 0 - bne _080A5792 - movs r2, 0xC0 - negs r2, r2 - adds r1, r2, 0 -_080A5792: - strh r1, [r4, 0x12] - ldrb r0, [r4, 0x8] - movs r1, 0 - bl sub_80758E0 - b _080A58A8 -_080A579E: - movs r3, 0xE - ldrsh r0, [r4, r3] - cmp r0, 0 - beq _080A57C4 - ldrh r0, [r4, 0x12] - ldrh r1, [r4, 0x10] - adds r0, r1 - strh r0, [r4, 0x10] - ldrb r0, [r4, 0x8] - movs r2, 0x80 - lsls r2, 1 - ldrh r3, [r4, 0x10] - adds r1, r2, 0 - bl obj_id_set_rotscale - ldrb r0, [r4, 0x8] - bl sub_80759DC - b _080A58D4 -_080A57C4: - movs r0, 0x8 - strh r0, [r4, 0xE] - ldr r2, _080A57F4 @ =gSprites - movs r3, 0x8 - ldrsh r1, [r4, r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x24] - strh r0, [r4, 0x10] - movs r1, 0xA - ldrsh r0, [r4, r1] - movs r2, 0x2 - negs r2, r2 - adds r1, r2, 0 - cmp r0, 0 - bne _080A57EA - movs r1, 0x2 -_080A57EA: - strh r1, [r4, 0x12] - movs r0, 0x1 - strh r0, [r4, 0x14] - b _080A58A8 - .align 2, 0 -_080A57F4: .4byte gSprites -_080A57F8: - ldrh r2, [r4, 0xE] - movs r3, 0xE - ldrsh r0, [r4, r3] - cmp r0, 0 - beq _080A5854 - ldrh r1, [r4, 0x14] - movs r3, 0x14 - ldrsh r0, [r4, r3] - cmp r0, 0 - beq _080A5812 - subs r0, r1, 0x1 - strh r0, [r4, 0x14] - b _080A58E6 -_080A5812: - movs r0, 0x1 - ands r0, r2 - cmp r0, 0 - beq _080A5834 - ldr r2, _080A5830 @ =gSprites - movs r0, 0x8 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r4, 0x12] - ldrh r2, [r4, 0x10] - adds r1, r2 - b _080A5848 - .align 2, 0 -_080A5830: .4byte gSprites -_080A5834: - ldr r2, _080A5850 @ =gSprites - movs r3, 0x8 - ldrsh r1, [r4, r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r4, 0x10] - ldrh r2, [r4, 0x12] - subs r1, r2 -_080A5848: - strh r1, [r0, 0x24] - movs r0, 0x1 - strh r0, [r4, 0x14] - b _080A58D4 - .align 2, 0 -_080A5850: .4byte gSprites -_080A5854: - ldr r2, _080A586C @ =gSprites - movs r0, 0x8 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r4, 0x10] - strh r1, [r0, 0x24] - movs r0, 0xC - strh r0, [r4, 0xE] - b _080A58A8 - .align 2, 0 -_080A586C: .4byte gSprites -_080A5870: - ldrh r1, [r4, 0xE] - movs r2, 0xE - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _080A5880 - subs r0, r1, 0x1 - strh r0, [r4, 0xE] - b _080A58E6 -_080A5880: - movs r0, 0x3 - strh r0, [r4, 0xE] - ldr r2, _080A58B0 @ =gSprites - movs r3, 0x8 - ldrsh r1, [r4, r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x24] - strh r0, [r4, 0x10] - movs r1, 0xA - ldrsh r0, [r4, r1] - movs r2, 0x8 - negs r2, r2 - adds r1, r2, 0 - cmp r0, 0 - bne _080A58A6 - movs r1, 0x8 -_080A58A6: - strh r1, [r4, 0x12] -_080A58A8: - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - b _080A58E6 - .align 2, 0 -_080A58B0: .4byte gSprites -_080A58B4: - movs r3, 0xE - ldrsh r0, [r4, r3] - cmp r0, 0 - beq _080A58E0 - ldrh r2, [r4, 0x12] - ldrh r0, [r4, 0x10] - adds r2, r0 -_080A58C2: - strh r2, [r4, 0x10] - ldr r3, _080A58DC @ =gSprites - movs r0, 0x8 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r2, [r0, 0x24] -_080A58D4: - ldrh r0, [r4, 0xE] - subs r0, 0x1 - strh r0, [r4, 0xE] - b _080A58E6 - .align 2, 0 -_080A58DC: .4byte gSprites -_080A58E0: - adds r0, r2, 0 - bl DestroyAnimVisualTask -_080A58E6: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A572C - - thumb_func_start sub_80A58EC -sub_80A58EC: @ 80A58EC - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _080A5928 @ =gTasks - adds r4, r0, r1 - movs r1, 0xE - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080A592C - ldrh r0, [r4, 0x10] - ldrh r1, [r4, 0x12] - subs r0, r1 - strh r0, [r4, 0x10] - ldrb r0, [r4, 0x8] - movs r2, 0x80 - lsls r2, 1 - ldrh r3, [r4, 0x10] - adds r1, r2, 0 - bl obj_id_set_rotscale - ldrb r0, [r4, 0x8] - bl sub_80759DC - ldrh r0, [r4, 0xE] - subs r0, 0x1 - strh r0, [r4, 0xE] - b _080A5938 - .align 2, 0 -_080A5928: .4byte gTasks -_080A592C: - ldrb r0, [r4, 0x8] - bl sub_8075980 - adds r0, r5, 0 - bl DestroyAnimVisualTask -_080A5938: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80A58EC - - thumb_func_start sub_80A5940 -sub_80A5940: @ 80A5940 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r6, _080A5954 @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _080A595C - ldr r4, _080A5958 @ =gBattleAnimAttacker - b _080A595E - .align 2, 0 -_080A5954: .4byte gBattleAnimArgs -_080A5958: .4byte gBattleAnimAttacker -_080A595C: - ldr r4, _080A599C @ =gBattleAnimTarget -_080A595E: - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r6, 0x2] - adds r0, r1 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r6, [r6, 0x4] - adds r0, r6 - strh r0, [r5, 0x22] - movs r0, 0 - strh r0, [r5, 0x2E] - strh r0, [r5, 0x30] - ldr r1, _080A59A0 @ =sub_80A5A8C - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 - ldr r0, _080A59A4 @ =sub_8074F6C - str r0, [r5, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A599C: .4byte gBattleAnimTarget -_080A59A0: .4byte sub_80A5A8C -_080A59A4: .4byte sub_8074F6C - thumb_func_end sub_80A5940 - - thumb_func_start sub_80A59A8 -sub_80A59A8: @ 80A59A8 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, _080A59E0 @ =gBattleAnimTarget - ldrb r0, [r5] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080A59E4 @ =0x0000ffd0 - adds r0, r1 - strh r0, [r4, 0x20] - ldrb r0, [r5] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x22] - ldr r1, _080A59E8 @ =sub_80A5A44 - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - ldr r0, _080A59EC @ =sub_8074F6C - str r0, [r4, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A59E0: .4byte gBattleAnimTarget -_080A59E4: .4byte 0x0000ffd0 -_080A59E8: .4byte sub_80A5A44 -_080A59EC: .4byte sub_8074F6C - thumb_func_end sub_80A59A8 - - thumb_func_start sub_80A59F0 -sub_80A59F0: @ 80A59F0 - push {r4-r6,lr} - adds r4, r0, 0 - ldr r5, _080A5A34 @ =gBattleAnimTarget - ldrb r0, [r5] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080A5A38 @ =gBattleAnimArgs - ldr r2, _080A5A3C @ =0x0000ffd0 - adds r0, r2 - ldrh r1, [r1] - adds r0, r1 - movs r6, 0 - strh r0, [r4, 0x20] - ldrb r0, [r5] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x22] - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAnim - strh r6, [r4, 0x2E] - strh r6, [r4, 0x30] - ldr r0, _080A5A40 @ =sub_80A5A8C - str r0, [r4, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A5A34: .4byte gBattleAnimTarget -_080A5A38: .4byte gBattleAnimArgs -_080A5A3C: .4byte 0x0000ffd0 -_080A5A40: .4byte sub_80A5A8C - thumb_func_end sub_80A59F0 - - thumb_func_start sub_80A5A44 -sub_80A5A44: @ 80A5A44 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x8 - ble _080A5A6E - movs r0, 0xC - strh r0, [r4, 0x2E] - movs r0, 0x8 - strh r0, [r4, 0x30] - movs r0, 0 - strh r0, [r4, 0x32] - ldr r1, _080A5A74 @ =sub_80A5A7C - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - ldr r0, _080A5A78 @ =sub_8074CD0 - str r0, [r4, 0x1C] -_080A5A6E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A5A74: .4byte sub_80A5A7C -_080A5A78: .4byte sub_8074CD0 - thumb_func_end sub_80A5A44 - - thumb_func_start sub_80A5A7C -sub_80A5A7C: @ 80A5A7C - movs r1, 0 - strh r1, [r0, 0x2E] - strh r1, [r0, 0x30] - ldr r1, _080A5A88 @ =sub_80A5A8C - str r1, [r0, 0x1C] - bx lr - .align 2, 0 -_080A5A88: .4byte sub_80A5A8C - thumb_func_end sub_80A5A7C - - thumb_func_start sub_80A5A8C -sub_80A5A8C: @ 80A5A8C - push {lr} - adds r3, r0, 0 - ldrh r0, [r3, 0x2E] - adds r0, 0x1 - strh r0, [r3, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080A5AD4 - movs r0, 0 - strh r0, [r3, 0x2E] - movs r0, 0x3E - adds r0, r3 - mov r12, r0 - ldrb r2, [r0] - lsrs r1, r2, 2 - movs r0, 0x1 - eors r1, r0 - ands r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - mov r1, r12 - strb r0, [r1] - ldrh r0, [r3, 0x30] - adds r0, 0x1 - strh r0, [r3, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x8 - ble _080A5AD4 - adds r0, r3, 0 - bl DestroyAnimSprite -_080A5AD4: - pop {r0} - bx r0 - thumb_func_end sub_80A5A8C - - thumb_func_start sub_80A5AD8 -sub_80A5AD8: @ 80A5AD8 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r6, _080A5AEC @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _080A5AF4 - ldr r4, _080A5AF0 @ =gBattleAnimAttacker - b _080A5AF6 - .align 2, 0 -_080A5AEC: .4byte gBattleAnimArgs -_080A5AF0: .4byte gBattleAnimAttacker -_080A5AF4: - ldr r4, _080A5B30 @ =gBattleAnimTarget -_080A5AF6: - ldrb r0, [r4] - movs r1, 0 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r6, 0x2] - adds r0, r1 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r6, [r6, 0x4] - adds r0, r6 - strh r0, [r5, 0x22] - movs r0, 0 - strh r0, [r5, 0x2E] - ldr r0, _080A5B34 @ =gBattleAnimArgs - ldrh r0, [r0, 0x6] - strh r0, [r5, 0x30] - ldr r0, _080A5B38 @ =sub_80A5B3C - str r0, [r5, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A5B30: .4byte gBattleAnimTarget -_080A5B34: .4byte gBattleAnimArgs -_080A5B38: .4byte sub_80A5B3C - thumb_func_end sub_80A5AD8 - - thumb_func_start sub_80A5B3C -sub_80A5B3C: @ 80A5B3C - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] - lsls r0, 16 - asrs r0, 16 - movs r3, 0x30 - ldrsh r1, [r2, r3] - cmp r0, r1 - ble _080A5B5C - movs r0, 0 - strh r0, [r2, 0x2E] - ldrh r0, [r2, 0x22] - subs r0, 0x1 - strh r0, [r2, 0x22] -_080A5B5C: - ldrh r0, [r2, 0x22] - ldrh r1, [r2, 0x2E] - subs r0, r1 - strh r0, [r2, 0x22] - adds r0, r2, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080A5B78 - adds r0, r2, 0 - bl DestroyAnimSprite -_080A5B78: - pop {r0} - bx r0 - thumb_func_end sub_80A5B3C - - thumb_func_start sub_80A5B7C -sub_80A5B7C: @ 80A5B7C - push {r4-r6,lr} - adds r4, r0, 0 - ldr r6, _080A5BC4 @ =gBattleAnimAttacker - ldrb r0, [r6] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - movs r5, 0 - strh r0, [r4, 0x20] - ldrb r0, [r6] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - subs r0, 0xC - strh r0, [r4, 0x22] - strh r5, [r4, 0x2E] - movs r0, 0x2 - strh r0, [r4, 0x30] - strh r5, [r4, 0x32] - strh r5, [r4, 0x34] - strh r5, [r4, 0x36] - subs r0, 0x42 - bl sub_8073A44 - lsls r0, 24 - asrs r0, 24 - strh r0, [r4, 0x38] - ldr r0, _080A5BC8 @ =sub_80A5BCC - str r0, [r4, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A5BC4: .4byte gBattleAnimAttacker -_080A5BC8: .4byte sub_80A5BCC - thumb_func_end sub_80A5B7C - - thumb_func_start sub_80A5BCC -sub_80A5BCC: @ 80A5BCC - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - movs r2, 0x30 - ldrsh r1, [r4, r2] - cmp r0, r1 - blt _080A5C38 - adds r3, r4, 0 - adds r3, 0x3E - ldrb r2, [r3] - lsrs r1, r2, 2 - movs r0, 0x1 - eors r1, r0 - ands r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - movs r1, 0x4 - ands r0, r1 - cmp r0, 0 - bne _080A5C1E - ldrh r0, [r4, 0x36] - adds r0, 0x1 - strh r0, [r4, 0x36] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080A5C1E - ldrh r1, [r4, 0x38] - lsls r1, 24 - asrs r1, 24 - movs r0, 0xBB - bl PlaySE12WithPanning -_080A5C1E: - movs r1, 0 - strh r1, [r4, 0x2E] - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080A5C38 - strh r1, [r4, 0x32] - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] -_080A5C38: - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080A5C62 - movs r1, 0x30 - ldrsh r0, [r4, r1] - cmp r0, 0x10 - ble _080A5C62 - adds r0, r4, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080A5C62 - adds r0, r4, 0 - bl DestroyAnimSprite -_080A5C62: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A5BCC - - thumb_func_start sub_80A5C68 -sub_80A5C68: @ 80A5C68 - push {r4-r6,lr} - adds r6, r0, 0 - movs r1, 0x2E - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _080A5CB2 - ldr r4, _080A5CC8 @ =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0 - bl sub_8074480 - lsls r0, 24 - ldr r5, _080A5CCC @ =gBattleAnimArgs - lsrs r0, 24 - ldrh r1, [r5] - adds r0, r1 - strh r0, [r6, 0x20] - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r5, [r5, 0x2] - adds r0, r5 - strh r0, [r6, 0x22] - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - beq _080A5CAC - ldrh r0, [r6, 0x22] - adds r0, 0xA - strh r0, [r6, 0x22] -_080A5CAC: - ldrh r0, [r6, 0x2E] - adds r0, 0x1 - strh r0, [r6, 0x2E] -_080A5CB2: - ldr r0, _080A5CCC @ =gBattleAnimArgs - ldrh r1, [r0, 0xE] - ldr r0, _080A5CD0 @ =0x0000ffff - cmp r1, r0 - bne _080A5CC2 - adds r0, r6, 0 - bl DestroyAnimSprite -_080A5CC2: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A5CC8: .4byte gBattleAnimAttacker -_080A5CCC: .4byte gBattleAnimArgs -_080A5CD0: .4byte 0x0000ffff - thumb_func_end sub_80A5C68 - - thumb_func_start sub_80A5CD4 -sub_80A5CD4: @ 80A5CD4 - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, _080A5CF4 @ =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0xC - ldrsh r0, [r4, r1] - cmp r0, 0x1 - bne _080A5D00 - ldr r1, _080A5CF8 @ =gBattleAnimArgs - ldr r0, _080A5CFC @ =0x0000ffff - strh r0, [r1, 0xE] - b _080A5D3E - .align 2, 0 -_080A5CF4: .4byte gTasks -_080A5CF8: .4byte gBattleAnimArgs -_080A5CFC: .4byte 0x0000ffff -_080A5D00: - cmp r0, 0x2 - bne _080A5D0C - adds r0, r2, 0 - bl DestroyAnimVisualTask - b _080A5D44 -_080A5D0C: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - bne _080A5D44 - movs r0, 0 - strh r0, [r4, 0x8] - ldrh r2, [r4, 0xA] - adds r2, 0x1 - strh r2, [r4, 0xA] - lsls r1, r2, 8 - movs r0, 0x10 - subs r0, r2 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0x10 - bne _080A5D44 -_080A5D3E: - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] -_080A5D44: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A5CD4 - - thumb_func_start sub_80A5D4C -sub_80A5D4C: @ 80A5D4C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0 - bl sub_8075114 - adds r2, r4, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x40 - orrs r0, r1 - strb r0, [r2] - ldr r0, _080A5D74 @ =gBattleAnimArgs - ldrh r0, [r0, 0x4] - strh r0, [r4, 0x2E] - ldr r0, _080A5D78 @ =sub_80A5D7C - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A5D74: .4byte gBattleAnimArgs -_080A5D78: .4byte sub_80A5D7C - thumb_func_end sub_80A5D4C - - thumb_func_start sub_80A5D7C -sub_80A5D7C: @ 80A5D7C - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r1, [r5, 0x2E] - movs r2, 0x2E - ldrsh r0, [r5, r2] - cmp r0, 0 - beq _080A5D90 - subs r0, r1, 0x1 - strh r0, [r5, 0x2E] - b _080A5DCC -_080A5D90: - adds r2, r5, 0 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x41 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - movs r0, 0x1E - strh r0, [r5, 0x2E] - ldr r4, _080A5DD4 @ =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x32] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x36] - ldr r0, _080A5DD8 @ =sub_8075590 - str r0, [r5, 0x1C] - ldr r1, _080A5DDC @ =DestroyAnimSprite - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 -_080A5DCC: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A5DD4: .4byte gBattleAnimAttacker -_080A5DD8: .4byte sub_8075590 -_080A5DDC: .4byte DestroyAnimSprite - thumb_func_end sub_80A5D7C - - thumb_func_start sub_80A5DE0 -sub_80A5DE0: @ 80A5DE0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _080A5E30 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - bne _080A5E28 - movs r0, 0 - strh r0, [r4, 0x8] - ldrh r1, [r4, 0xA] - adds r1, 0x1 - strh r1, [r4, 0xA] - movs r0, 0x10 - subs r0, r1 - lsls r0, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0x10 - bne _080A5E28 - adds r0, r5, 0 - bl DestroyAnimVisualTask -_080A5E28: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A5E30: .4byte gTasks - thumb_func_end sub_80A5DE0 - - thumb_func_start sub_80A5E34 -sub_80A5E34: @ 80A5E34 - push {r4-r7,lr} - lsls r0, 24 - lsrs r7, r0, 24 - movs r4, 0 - ldr r0, _080A5E9C @ =gBattlersCount - ldrb r0, [r0] - cmp r4, r0 - bcs _080A5E90 - ldr r6, _080A5EA0 @ =gBattleAnimArgs - ldr r5, _080A5EA4 @ =gUnknown_3004FF0 -_080A5E48: - movs r1, 0 - ldrsh r0, [r6, r1] - cmp r0, 0x1 - bne _080A5E64 - adds r0, r4, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080A5E64 - adds r0, r4, r5 - ldrb r0, [r0] - bl SetHealthboxSpriteInvisible -_080A5E64: - movs r1, 0x2 - ldrsh r0, [r6, r1] - cmp r0, 0x1 - bne _080A5E82 - adds r0, r4, 0 - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A5E82 - adds r0, r4, r5 - ldrb r0, [r0] - bl SetHealthboxSpriteInvisible -_080A5E82: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080A5E9C @ =gBattlersCount - ldrb r0, [r0] - cmp r4, r0 - bcc _080A5E48 -_080A5E90: - adds r0, r7, 0 - bl DestroyAnimVisualTask - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A5E9C: .4byte gBattlersCount -_080A5EA0: .4byte gBattleAnimArgs -_080A5EA4: .4byte gUnknown_3004FF0 - thumb_func_end sub_80A5E34 - - thumb_func_start sub_80A5EA8 -sub_80A5EA8: @ 80A5EA8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - b _080A5EC2 -_080A5EB2: - ldr r0, _080A5ED8 @ =gUnknown_3004FF0 - adds r0, r4, r0 - ldrb r0, [r0] - bl SetHealthboxSpriteVisible - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 -_080A5EC2: - ldr r0, _080A5EDC @ =gBattlersCount - ldrb r0, [r0] - cmp r4, r0 - bcc _080A5EB2 - adds r0, r5, 0 - bl DestroyAnimVisualTask - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A5ED8: .4byte gUnknown_3004FF0 -_080A5EDC: .4byte gBattlersCount - thumb_func_end sub_80A5EA8 - - thumb_func_start sub_80A5EE0 -sub_80A5EE0: @ 80A5EE0 - push {r4,lr} - adds r4, r0, 0 - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - beq _080A5EF6 - movs r0, 0x30 - strh r0, [r4, 0x20] - movs r0, 0x28 - b _080A5EFE -_080A5EF6: - ldr r0, _080A5F20 @ =gBattleAnimArgs - ldrh r1, [r0] - strh r1, [r4, 0x20] - ldrh r0, [r0, 0x2] -_080A5EFE: - strh r0, [r4, 0x22] - ldrb r1, [r4, 0x1] - movs r0, 0x3F - ands r0, r1 - strb r0, [r4, 0x1] - ldrb r0, [r4, 0x3] - movs r1, 0xC0 - orrs r0, r1 - strb r0, [r4, 0x3] - movs r0, 0 - strh r0, [r4, 0x2E] - ldr r0, _080A5F24 @ =sub_80A5F28 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A5F20: .4byte gBattleAnimArgs -_080A5F24: .4byte sub_80A5F28 - thumb_func_end sub_80A5EE0 - - thumb_func_start sub_80A5F28 -sub_80A5F28: @ 80A5F28 - push {lr} - adds r1, r0, 0 - movs r2, 0x2E - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _080A5F3A - adds r0, r1, 0 - bl DestroyAnimSprite -_080A5F3A: - pop {r0} - bx r0 - thumb_func_end sub_80A5F28 - - thumb_func_start sub_80A5F40 -sub_80A5F40: @ 80A5F40 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _080A5F78 @ =gBattleAnimAttacker - ldrb r0, [r0] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - ldr r2, _080A5F7C @ =gBattleAnimArgs - lsrs r0, 24 - ldrh r1, [r2] - adds r0, r1 - movs r1, 0 - strh r0, [r4, 0x20] - ldrh r0, [r2, 0x2] - strh r0, [r4, 0x22] - strh r1, [r4, 0x2E] - strh r1, [r4, 0x30] - strh r1, [r4, 0x32] - strh r1, [r4, 0x34] - movs r0, 0x1 - strh r0, [r4, 0x36] - ldr r0, _080A5F80 @ =sub_80A5F84 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A5F78: .4byte gBattleAnimAttacker -_080A5F7C: .4byte gBattleAnimArgs -_080A5F80: .4byte sub_80A5F84 - thumb_func_end sub_80A5F40 - - thumb_func_start sub_80A5F84 -sub_80A5F84: @ 80A5F84 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x30] - adds r0, 0x1 - strh r0, [r1, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080A5FAE - movs r0, 0 - strh r0, [r1, 0x30] - ldrh r2, [r1, 0x32] - movs r3, 0x32 - ldrsh r0, [r1, r3] - cmp r0, 0x77 - bgt _080A5FAE - ldrh r0, [r1, 0x22] - adds r0, 0x1 - strh r0, [r1, 0x22] - adds r0, r2, 0x1 - strh r0, [r1, 0x32] -_080A5FAE: - movs r2, 0x2E - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _080A5FBC - adds r0, r1, 0 - bl DestroyAnimSprite -_080A5FBC: - pop {r0} - bx r0 - thumb_func_end sub_80A5F84 - - thumb_func_start sub_80A5FC0 -sub_80A5FC0: @ 80A5FC0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - lsls r0, 24 - lsrs r7, r0, 24 - movs r4, 0 - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl sub_8075BE8 - mov r8, r0 - ldr r0, _080A6090 @ =0x0000ffff - mov r1, r8 - ands r1, r0 - mov r8, r1 - ldr r0, _080A6094 @ =gTasks - mov r9, r0 - lsls r5, r7, 2 - adds r5, r7 - lsls r5, 3 - adds r6, r5, r0 - strh r4, [r6, 0x8] - strh r4, [r6, 0xA] - strh r4, [r6, 0xC] - strh r1, [r6, 0xE] - strh r4, [r6, 0x10] - strh r4, [r6, 0x12] - strh r4, [r6, 0x14] - movs r0, 0xD - strh r0, [r6, 0x16] - movs r0, 0xE - strh r0, [r6, 0x18] - movs r0, 0xF - strh r0, [r6, 0x1A] - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0x1 - movs r3, 0x1 - bl sub_8075CB8 - mov r10, r0 - mov r1, r8 - orrs r1, r0 - mov r8, r1 - movs r0, 0x8 - add r9, r0 - add r5, r9 - adds r0, r5, 0 - adds r0, 0x1C - adds r5, 0x1E - adds r1, r5, 0 - mov r2, r8 - bl sub_80765C0 - ldr r0, _080A6098 @ =0x000027d2 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - movs r4, 0x80 - lsls r4, 9 - adds r1, r4, 0 - lsls r1, r0 - mov r0, r10 - orrs r0, r1 - mov r10, r0 - ldr r0, _080A609C @ =0x000027d3 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0 - mov r1, r10 - orrs r4, r1 - ldr r0, _080A60A0 @ =0x00007fbb - str r0, [sp] - adds r0, r4, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, _080A60A4 @ =sub_80A60A8 - str r1, [r6] - adds r0, r7, 0 - bl _call_via_r1 - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A6090: .4byte 0x0000ffff -_080A6094: .4byte gTasks -_080A6098: .4byte 0x000027d2 -_080A609C: .4byte 0x000027d3 -_080A60A0: .4byte 0x00007fbb -_080A60A4: .4byte sub_80A60A8 - thumb_func_end sub_80A5FC0 - - thumb_func_start sub_80A60A8 -sub_80A60A8: @ 80A60A8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, _080A60D0 @ =gTasks - adds r4, r0, r1 - movs r0, 0x8 - ldrsh r1, [r4, r0] - cmp r1, 0x1 - beq _080A6194 - cmp r1, 0x1 - bgt _080A60D4 - cmp r1, 0 - beq _080A60E2 - b _080A6232 - .align 2, 0 -_080A60D0: .4byte gTasks -_080A60D4: - cmp r1, 0x2 - bne _080A60DA - b _080A61EC -_080A60DA: - cmp r1, 0x3 - bne _080A60E0 - b _080A6220 -_080A60E0: - b _080A6232 -_080A60E2: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - cmp r0, 0 - bgt _080A60F0 - b _080A6232 -_080A60F0: - strh r1, [r4, 0xA] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xF - bgt _080A613C - ldrh r0, [r4, 0x16] - ldrh r1, [r4, 0x10] - adds r0, r1 - strh r0, [r4, 0x10] - ldrh r2, [r4, 0x18] - ldrh r3, [r4, 0x12] - adds r2, r3 - strh r2, [r4, 0x12] - ldrh r1, [r4, 0x1A] - ldrh r5, [r4, 0x14] - adds r1, r5 - strh r1, [r4, 0x14] - lsls r0, 16 - asrs r0, 19 - lsls r0, 16 - lsrs r0, 16 - lsls r2, 16 - asrs r2, 19 - lsls r2, 16 - lsls r1, 16 - asrs r1, 19 - lsls r1, 16 - lsrs r2, 11 - orrs r0, r2 - lsrs r1, 6 - orrs r0, r1 - lsls r0, 16 - lsrs r0, 16 - mov r12, r0 - b _080A6146 -_080A613C: - ldr r7, _080A618C @ =0x00007fbb - mov r12, r7 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080A6146: - movs r2, 0x1 - movs r3, 0 - movs r1, 0 -_080A614C: - movs r5, 0xE - ldrsh r0, [r4, r5] - ands r0, r2 - lsls r5, r2, 17 - adds r6, r3, 0 - adds r6, 0x10 - adds r1, 0x1 - mov r8, r1 - cmp r0, 0 - beq _080A6178 - movs r1, 0x1 - ldr r2, _080A6190 @ =gPlttBufferFaded -_080A6164: - adds r0, r3, r1 - lsls r0, 1 - adds r0, r2 - mov r7, r12 - strh r7, [r0] - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0xF - bls _080A6164 -_080A6178: - lsrs r2, r5, 16 - lsls r0, r6, 16 - lsrs r3, r0, 16 - mov r1, r8 - lsls r0, r1, 16 - lsrs r1, r0, 16 - cmp r1, 0xF - bls _080A614C - b _080A6232 - .align 2, 0 -_080A618C: .4byte 0x00007fbb -_080A6190: .4byte gPlttBufferFaded -_080A6194: - ldr r0, _080A61DC @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080A6232 - movs r2, 0 - ldr r3, _080A61E0 @ =gSprites - movs r5, 0x14 - adds r5, r3 - mov r12, r5 - ldr r7, _080A61E4 @ =gUnknown_83E3734 - mov r8, r7 - ldr r6, _080A61E8 @ =gUnknown_83E3764 - movs r5, 0x1 -_080A61B2: - lsls r0, r2, 4 - adds r0, r2 - lsls r1, r0, 2 - mov r7, r12 - adds r0, r1, r7 - ldr r0, [r0] - cmp r0, r8 - beq _080A61C6 - cmp r0, r6 - bne _080A61CA -_080A61C6: - adds r0, r1, r3 - strh r5, [r0, 0x2E] -_080A61CA: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x3F - bls _080A61B2 - movs r0, 0 - strh r0, [r4, 0xA] - b _080A6214 - .align 2, 0 -_080A61DC: .4byte gPaletteFade -_080A61E0: .4byte gSprites -_080A61E4: .4byte gUnknown_83E3734 -_080A61E8: .4byte gUnknown_83E3764 -_080A61EC: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1E - ble _080A6232 - movs r1, 0x24 - ldrsh r0, [r4, r1] - movs r2, 0x26 - ldrsh r1, [r4, r2] - bl sub_80765C8 - ldr r1, _080A621C @ =0x00007fbb - str r1, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade -_080A6214: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080A6232 - .align 2, 0 -_080A621C: .4byte 0x00007fbb -_080A6220: - ldr r0, _080A6240 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080A6232 - adds r0, r2, 0 - bl DestroyAnimVisualTask -_080A6232: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A6240: .4byte gPaletteFade - thumb_func_end sub_80A60A8 - - thumb_func_start sub_80A6244 -sub_80A6244: @ 80A6244 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r6, _080A62C8 @ =gBattleAnimArgs - movs r1, 0x4 - ldrsh r0, [r6, r1] - cmp r0, 0x1 - bgt _080A6256 - movs r0, 0x2 - strh r0, [r6, 0x4] -_080A6256: - movs r1, 0x4 - ldrsh r0, [r6, r1] - cmp r0, 0x7F - ble _080A6262 - movs r0, 0x7F - strh r0, [r6, 0x4] -_080A6262: - movs r0, 0 - strh r0, [r5, 0x2E] - ldrh r0, [r6, 0x4] - strh r0, [r5, 0x30] - ldr r4, _080A62CC @ =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r6] - adds r0, r1 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r6, [r6, 0x2] - adds r0, r6 - strh r0, [r5, 0x22] - ldrh r1, [r5, 0x20] - strh r1, [r5, 0x3A] - strh r0, [r5, 0x3C] - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - beq _080A62D4 - ldrb r1, [r5, 0x3] - movs r0, 0x3F - negs r0, r0 - ands r0, r1 - movs r1, 0x10 - orrs r0, r1 - strb r0, [r5, 0x3] - ldrh r0, [r5, 0x20] - adds r0, 0x28 - strh r0, [r5, 0x20] - ldrh r4, [r5, 0x22] - adds r4, 0x14 - strh r4, [r5, 0x22] - lsls r0, 7 - strh r0, [r5, 0x32] - movs r0, 0x30 - ldrsh r1, [r5, r0] - ldr r0, _080A62D0 @ =0xffffec00 - b _080A62FA - .align 2, 0 -_080A62C8: .4byte gBattleAnimArgs -_080A62CC: .4byte gBattleAnimTarget -_080A62D0: .4byte 0xffffec00 -_080A62D4: - ldr r0, _080A6314 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080A631C - ldrh r0, [r5, 0x20] - subs r0, 0x28 - strh r0, [r5, 0x20] - ldrh r4, [r5, 0x22] - adds r4, 0x14 - strh r4, [r5, 0x22] - lsls r0, 7 - strh r0, [r5, 0x32] - movs r0, 0x30 - ldrsh r1, [r5, r0] - movs r0, 0xA0 - lsls r0, 5 -_080A62FA: - bl __divsi3 - strh r0, [r5, 0x34] - lsls r4, 7 - strh r4, [r5, 0x36] - movs r0, 0x30 - ldrsh r1, [r5, r0] - ldr r0, _080A6318 @ =0xfffff600 - bl __divsi3 - strh r0, [r5, 0x38] - b _080A6358 - .align 2, 0 -_080A6314: .4byte gBattleAnimAttacker -_080A6318: .4byte 0xfffff600 -_080A631C: - ldrh r0, [r5, 0x20] - adds r0, 0x28 - strh r0, [r5, 0x20] - ldrh r4, [r5, 0x22] - subs r4, 0x14 - strh r4, [r5, 0x22] - lsls r0, 7 - strh r0, [r5, 0x32] - movs r0, 0x30 - ldrsh r1, [r5, r0] - ldr r0, _080A6364 @ =0xffffec00 - bl __divsi3 - strh r0, [r5, 0x34] - lsls r4, 7 - strh r4, [r5, 0x36] - movs r0, 0x30 - ldrsh r1, [r5, r0] - movs r0, 0xA0 - lsls r0, 4 - bl __divsi3 - strh r0, [r5, 0x38] - ldrb r1, [r5, 0x3] - movs r0, 0x3F - negs r0, r0 - ands r0, r1 - movs r1, 0x30 - orrs r0, r1 - strb r0, [r5, 0x3] -_080A6358: - ldr r0, _080A6368 @ =sub_80A636C - str r0, [r5, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A6364: .4byte 0xffffec00 -_080A6368: .4byte sub_80A636C - thumb_func_end sub_80A6244 - - thumb_func_start sub_80A636C -sub_80A636C: @ 80A636C - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x34] - ldrh r1, [r2, 0x32] - adds r0, r1 - strh r0, [r2, 0x32] - ldrh r1, [r2, 0x38] - ldrh r3, [r2, 0x36] - adds r1, r3 - strh r1, [r2, 0x36] - lsls r0, 16 - asrs r0, 23 - strh r0, [r2, 0x20] - lsls r1, 16 - asrs r1, 23 - strh r1, [r2, 0x22] - ldrh r0, [r2, 0x30] - subs r0, 0x1 - strh r0, [r2, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - bne _080A63A2 - ldrh r0, [r2, 0x3A] - strh r0, [r2, 0x20] - ldrh r0, [r2, 0x3C] - strh r0, [r2, 0x22] -_080A63A2: - movs r1, 0x30 - ldrsh r0, [r2, r1] - cmp r0, 0 - bne _080A63B0 - adds r0, r2, 0 - bl DestroyAnimSprite -_080A63B0: - pop {r0} - bx r0 - thumb_func_end sub_80A636C - - thumb_func_start sub_80A63B4 -sub_80A63B4: @ 80A63B4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r0, 2 - add r0, r8 - lsls r0, 3 - ldr r1, _080A6444 @ =gTasks - adds r6, r0, r1 - movs r0, 0 - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x8] - ldr r0, _080A6448 @ =0x00002771 - bl AllocSpritePalette - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0xA] - movs r1, 0xA - ldrsh r0, [r6, r1] - lsls r0, 20 - movs r1, 0x80 - lsls r1, 17 - adds r0, r1 - lsrs r3, r0, 16 - ldr r2, _080A644C @ =gSprites - movs r0, 0x8 - ldrsh r1, [r6, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x5] - lsrs r0, 4 - adds r0, 0x10 - lsls r4, r0, 4 - movs r5, 0x1 - ldr r2, _080A6450 @ =gPlttBufferUnfaded -_080A640C: - adds r1, r3, r5 - lsls r1, 1 - adds r1, r2 - adds r0, r4, r5 - lsls r0, 1 - adds r0, r2 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0xF - bls _080A640C - adds r0, r3, 0 - movs r1, 0x10 - movs r2, 0xB - movs r3, 0 - bl BlendPalette - movs r0, 0 - strh r0, [r6, 0xE] - movs r5, 0 - ldr r7, _080A644C @ =gSprites - movs r1, 0x1C - adds r1, r7 - mov r9, r1 - b _080A6488 - .align 2, 0 -_080A6444: .4byte gTasks -_080A6448: .4byte 0x00002771 -_080A644C: .4byte gSprites -_080A6450: .4byte gPlttBufferUnfaded -_080A6454: - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r4, r2, r7 - ldrb r1, [r6, 0xA] - lsls r1, 4 - ldrb r3, [r4, 0x5] - movs r0, 0xF - ands r0, r3 - orrs r0, r1 - strb r0, [r4, 0x5] - movs r0, 0 - strh r0, [r4, 0x2E] - lsls r0, r5, 7 - strh r0, [r4, 0x30] - mov r0, r8 - strh r0, [r4, 0x32] - add r2, r9 - ldr r0, _080A64BC @ =sub_80A653C - str r0, [r2] - ldrh r0, [r6, 0xE] - adds r0, 0x1 - strh r0, [r6, 0xE] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 -_080A6488: - cmp r5, 0x1 - bhi _080A649A - movs r0, 0 - bl duplicate_obj_of_side_rel2move_in_transparent_mode - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _080A6454 -_080A649A: - ldr r0, _080A64C0 @ =sub_80A64E0 - str r0, [r6] - ldr r0, _080A64C4 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl sub_80768B0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A64C8 - movs r1, 0x80 - lsls r1, 2 - movs r0, 0 - bl ClearGpuRegBits - b _080A64D2 - .align 2, 0 -_080A64BC: .4byte sub_80A653C -_080A64C0: .4byte sub_80A64E0 -_080A64C4: .4byte gBattleAnimAttacker -_080A64C8: - movs r1, 0x80 - lsls r1, 3 - movs r0, 0 - bl ClearGpuRegBits -_080A64D2: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80A63B4 - - thumb_func_start sub_80A64E0 -sub_80A64E0: @ 80A64E0 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _080A6514 @ =gTasks - adds r0, r1 - movs r1, 0xE - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080A6532 - ldr r0, _080A6518 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl sub_80768B0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A651C - movs r1, 0x80 - lsls r1, 2 - movs r0, 0 - bl SetGpuRegBits - b _080A6526 - .align 2, 0 -_080A6514: .4byte gTasks -_080A6518: .4byte gBattleAnimAttacker -_080A651C: - movs r1, 0x80 - lsls r1, 3 - movs r0, 0 - bl SetGpuRegBits -_080A6526: - ldr r0, _080A6538 @ =0x00002771 - bl FreeSpritePaletteByTag - adds r0, r4, 0 - bl DestroyAnimVisualTask -_080A6532: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A6538: .4byte 0x00002771 - thumb_func_end sub_80A64E0 - - thumb_func_start sub_80A653C -sub_80A653C: @ 80A653C - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r0, [r5, 0x34] - adds r0, 0x1 - strh r0, [r5, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080A6558 - movs r0, 0 - strh r0, [r5, 0x34] - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] -_080A6558: - movs r1, 0x2E - ldrsh r0, [r5, r1] - cmp r0, 0x40 - ble _080A6580 - ldr r2, _080A657C @ =gTasks - movs r0, 0x32 - ldrsh r1, [r5, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrh r1, [r0, 0xE] - subs r1, 0x1 - strh r1, [r0, 0xE] - adds r0, r5, 0 - bl obj_delete_but_dont_free_vram - b _080A65C2 - .align 2, 0 -_080A657C: .4byte gTasks -_080A6580: - ldr r4, _080A65C8 @ =gSineTable - movs r1, 0x2E - ldrsh r0, [r5, r1] - lsls r0, 1 - adds r0, r4 - movs r2, 0 - ldrsh r0, [r0, r2] - movs r1, 0x6 - bl __divsi3 - strh r0, [r5, 0x36] - movs r1, 0x2E - ldrsh r0, [r5, r1] - lsls r0, 1 - adds r0, r4 - movs r2, 0 - ldrsh r0, [r0, r2] - movs r1, 0xD - bl __divsi3 - strh r0, [r5, 0x38] - ldrh r1, [r5, 0x30] - adds r1, r0 - movs r0, 0xFF - ands r1, r0 - strh r1, [r5, 0x30] - movs r1, 0x30 - ldrsh r0, [r5, r1] - movs r2, 0x36 - ldrsh r1, [r5, r2] - bl Sin - strh r0, [r5, 0x24] -_080A65C2: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A65C8: .4byte gSineTable - thumb_func_end sub_80A653C - - thumb_func_start sub_80A65CC -sub_80A65CC: @ 80A65CC - push {r4,lr} - adds r4, r0, 0 - ldr r1, _080A65E0 @ =DestroyAnimSprite - bl StoreSpriteCallbackInData6 - ldr r0, _080A65E4 @ =sub_8074F6C - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A65E0: .4byte DestroyAnimSprite -_080A65E4: .4byte sub_8074F6C - thumb_func_end sub_80A65CC - - thumb_func_start sub_80A65E8 -sub_80A65E8: @ 80A65E8 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldr r4, _080A6698 @ =gUnknown_83E3898 - ldrh r0, [r4] - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0xFF - beq _080A662C - lsls r0, r3, 20 - movs r1, 0x80 - lsls r1, 17 - adds r0, r1 - lsrs r3, r0, 16 - movs r2, 0x1 - ldr r5, _080A669C @ =gPlttBufferFaded -_080A6614: - adds r1, r3, r2 - lsls r1, 1 - adds r1, r5 - lsls r0, r2, 1 - adds r0, r4 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x5 - bls _080A6614 -_080A662C: - movs r4, 0x1 - ldr r0, _080A6698 @ =gUnknown_83E3898 - mov r8, r0 -_080A6632: - lsls r0, r4, 1 - adds r0, r4 - lsls r5, r0, 2 - mov r1, r8 - adds r0, r5, r1 - ldrh r0, [r0] - bl AllocSpritePalette - lsls r0, 24 - lsrs r3, r0, 24 - adds r4, 0x1 - mov r12, r4 - cmp r3, 0xFF - beq _080A667A - lsls r0, r3, 20 - movs r1, 0x80 - lsls r1, 17 - adds r0, r1 - lsrs r3, r0, 16 - movs r2, 0x1 - ldr r7, _080A669C @ =gPlttBufferFaded - ldr r6, _080A6698 @ =gUnknown_83E3898 - adds r4, r5, 0 -_080A6660: - adds r1, r3, r2 - lsls r1, 1 - adds r1, r7 - lsls r0, r2, 1 - adds r0, r4 - adds r0, r6 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x5 - bls _080A6660 -_080A667A: - mov r1, r12 - lsls r0, r1, 16 - lsrs r4, r0, 16 - cmp r4, 0x3 - bls _080A6632 - mov r0, r9 - bl DestroyAnimVisualTask - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A6698: .4byte gUnknown_83E3898 -_080A669C: .4byte gPlttBufferFaded - thumb_func_end sub_80A65E8 - - thumb_func_start sub_80A66A0 -sub_80A66A0: @ 80A66A0 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0x1 - ldr r6, _080A66D0 @ =gUnknown_83E3898 -_080A66AA: - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 2 - adds r0, r6 - ldrh r0, [r0] - bl FreeSpritePaletteByTag - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x3 - bls _080A66AA - adds r0, r5, 0 - bl DestroyAnimVisualTask - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A66D0: .4byte gUnknown_83E3898 - thumb_func_end sub_80A66A0 - - thumb_func_start sub_80A66D4 -sub_80A66D4: @ 80A66D4 - push {r4-r6,lr} - sub sp, 0x4 - adds r5, r0, 0 - bl sub_8074FCC - ldr r4, _080A672C @ =gBattleAnimArgs - ldrb r1, [r4] - adds r0, r5, 0 - bl StartSpriteAnim - ldr r2, _080A6730 @ =gUnknown_83E3898 - movs r0, 0x2 - ldrsh r1, [r4, r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0] - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _080A6710 - lsls r2, r0, 4 - ldrb r1, [r5, 0x5] - movs r0, 0xF - ands r0, r1 - orrs r0, r2 - strb r0, [r5, 0x5] -_080A6710: - ldrh r0, [r4, 0x2] - movs r1, 0 - strh r0, [r5, 0x30] - strh r1, [r5, 0x32] - ldrh r0, [r4, 0x4] - strh r0, [r5, 0x34] - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - beq _080A6734 - movs r6, 0x30 - movs r3, 0x28 - b _080A674E - .align 2, 0 -_080A672C: .4byte gBattleAnimArgs -_080A6730: .4byte gUnknown_83E3898 -_080A6734: - ldr r4, _080A6784 @ =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r6, r0, 24 - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r3, r0, 24 -_080A674E: - ldrh r0, [r5, 0x20] - lsls r1, r0, 4 - strh r1, [r5, 0x36] - ldrh r1, [r5, 0x22] - lsls r2, r1, 4 - strh r2, [r5, 0x38] - subs r0, r6, r0 - lsls r0, 16 - asrs r0, 16 - subs r1, r3, r1 - lsls r1, 16 - asrs r1, 16 - adds r2, r5, 0 - adds r2, 0x3A - adds r3, r5, 0 - adds r3, 0x3C - movs r4, 0x28 - str r4, [sp] - bl sub_80A678C - ldr r0, _080A6788 @ =sub_80A67E4 - str r0, [r5, 0x1C] - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A6784: .4byte gBattleAnimTarget -_080A6788: .4byte sub_80A67E4 - thumb_func_end sub_80A66D4 - - thumb_func_start sub_80A678C -sub_80A678C: @ 80A678C - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r7, r2, 0 - mov r8, r3 - ldr r2, [sp, 0x18] - lsls r1, 16 - lsrs r6, r1, 16 - lsls r2, 24 - lsrs r1, r2, 24 - lsls r0, 16 - asrs r2, r0, 16 - cmp r2, 0 - bge _080A67AE - lsls r0, r1, 24 - negs r0, r0 - lsrs r1, r0, 24 -_080A67AE: - lsls r5, r2, 8 - lsls r1, 24 - asrs r1, 24 - adds r0, r5, 0 - bl __divsi3 - adds r4, r0, 0 - cmp r4, 0 - bne _080A67C2 - movs r4, 0x1 -_080A67C2: - adds r0, r5, 0 - adds r1, r4, 0 - bl __divsi3 - strh r0, [r7] - lsls r0, r6, 16 - asrs r0, 8 - adds r1, r4, 0 - bl __divsi3 - mov r1, r8 - strh r0, [r1] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80A678C - - thumb_func_start sub_80A67E4 -sub_80A67E4: @ 80A67E4 - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - movs r5, 0 - strh r0, [r4, 0x2E] - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r1, r0, r1 - adds r0, r1, 0 - cmp r1, 0 - bge _080A6800 - adds r0, 0xFF -_080A6800: - asrs r0, 8 - lsls r0, 8 - subs r0, r1, r0 - ldrh r1, [r4, 0x3A] - ldrh r2, [r4, 0x36] - adds r1, r2 - strh r1, [r4, 0x36] - ldrh r2, [r4, 0x3C] - ldrh r3, [r4, 0x38] - adds r2, r3 - strh r2, [r4, 0x38] - lsls r1, 16 - asrs r1, 20 - strh r1, [r4, 0x20] - lsls r2, 16 - asrs r2, 20 - strh r2, [r4, 0x22] - lsls r0, 16 - asrs r0, 16 - movs r1, 0xF - bl Sin - strh r0, [r4, 0x26] - ldrh r2, [r4, 0x22] - ldrh r0, [r4, 0x20] - adds r0, 0x10 - lsls r0, 16 - movs r1, 0x88 - lsls r1, 17 - cmp r0, r1 - bhi _080A684E - lsls r0, r2, 16 - asrs r1, r0, 16 - movs r0, 0x10 - negs r0, r0 - cmp r1, r0 - blt _080A684E - cmp r1, 0x80 - ble _080A6856 -_080A684E: - adds r0, r4, 0 - bl move_anim_8074EE0 - b _080A68A6 -_080A6856: - movs r0, 0x34 - ldrsh r1, [r4, r0] - cmp r1, 0 - beq _080A68A6 - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, r1 - ble _080A68A6 - strh r5, [r4, 0x32] - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _080A687E - strh r5, [r4, 0x30] -_080A687E: - ldr r2, _080A68AC @ =gUnknown_83E3898 - movs r3, 0x30 - ldrsh r1, [r4, r3] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0] - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _080A68A6 - lsls r2, r0, 4 - ldrb r1, [r4, 0x5] - movs r0, 0xF - ands r0, r1 - orrs r0, r2 - strb r0, [r4, 0x5] -_080A68A6: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A68AC: .4byte gUnknown_83E3898 - thumb_func_end sub_80A67E4 - - thumb_func_start sub_80A68B0 -sub_80A68B0: @ 80A68B0 - push {r4-r7,lr} - adds r6, r0, 0 - ldr r7, _080A6934 @ =gBattleAnimAttacker - ldrb r0, [r7] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A68CE - ldr r1, _080A6938 @ =gBattleAnimArgs - movs r2, 0x2 - ldrsh r0, [r1, r2] - negs r0, r0 - strh r0, [r1, 0x2] -_080A68CE: - ldrb r0, [r7] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - ldr r4, _080A6938 @ =gBattleAnimArgs - lsrs r0, 24 - ldrh r1, [r4, 0x2] - adds r0, r1 - movs r5, 0 - strh r0, [r6, 0x20] - ldrb r0, [r7] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r2, [r4, 0x4] - adds r0, r2 - strh r0, [r6, 0x22] - ldrb r1, [r4] - adds r0, r6, 0 - bl StartSpriteAnim - strh r5, [r6, 0x32] - strh r5, [r6, 0x34] - ldrh r0, [r6, 0x20] - lsls r0, 4 - strh r0, [r6, 0x36] - ldrh r0, [r6, 0x22] - lsls r0, 4 - strh r0, [r6, 0x38] - movs r1, 0x2 - ldrsh r0, [r4, r1] - lsls r0, 4 - movs r1, 0x5 - bl __divsi3 - strh r0, [r6, 0x3A] - movs r2, 0x4 - ldrsh r0, [r4, r2] - lsls r0, 7 - movs r1, 0x5 - bl __divsi3 - strh r0, [r6, 0x3C] - ldr r0, _080A693C @ =sub_80A6940 - str r0, [r6, 0x1C] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A6934: .4byte gBattleAnimAttacker -_080A6938: .4byte gBattleAnimArgs -_080A693C: .4byte sub_80A6940 - thumb_func_end sub_80A68B0 - - thumb_func_start sub_80A6940 -sub_80A6940: @ 80A6940 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x3A] - ldrh r1, [r4, 0x36] - adds r0, r1 - strh r0, [r4, 0x36] - ldrh r1, [r4, 0x3C] - ldrh r2, [r4, 0x38] - adds r1, r2 - strh r1, [r4, 0x38] - lsls r0, 16 - asrs r0, 20 - strh r0, [r4, 0x20] - lsls r1, 16 - asrs r1, 20 - strh r1, [r4, 0x22] - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x5 - ble _080A699E - movs r2, 0x34 - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _080A699E - ldrh r0, [r4, 0x32] - adds r0, 0x10 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x32] - movs r1, 0x32 - ldrsh r0, [r4, r1] - movs r1, 0x12 - bl Cos - strh r0, [r4, 0x24] - movs r2, 0x32 - ldrsh r0, [r4, r2] - movs r1, 0x12 - bl Sin - strh r0, [r4, 0x26] - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080A699E - movs r0, 0x1 - strh r0, [r4, 0x34] -_080A699E: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x30 - bne _080A69B2 - adds r0, r4, 0 - bl move_anim_8074EE0 -_080A69B2: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A6940 - - thumb_func_start sub_80A69B8 -sub_80A69B8: @ 80A69B8 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r0, _080A69D8 @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0x1 - bne _080A69DC - ldrb r0, [r5, 0x3] - movs r1, 0x3F - negs r1, r1 - ands r1, r0 - movs r0, 0x10 - orrs r1, r0 - strb r1, [r5, 0x3] - movs r6, 0x10 - b _080A69DE - .align 2, 0 -_080A69D8: .4byte gBattleAnimArgs -_080A69DC: - ldr r6, _080A6A18 @ =0x0000fff0 -_080A69DE: - ldr r4, _080A6A1C @ =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - adds r0, r6 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x8 - strh r0, [r5, 0x22] - movs r0, 0x8 - strh r0, [r5, 0x2E] - ldr r0, _080A6A20 @ =sub_8074C44 - str r0, [r5, 0x1C] - ldr r1, _080A6A24 @ =DestroyAnimSprite - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A6A18: .4byte 0x0000fff0 -_080A6A1C: .4byte gBattleAnimAttacker -_080A6A20: .4byte sub_8074C44 -_080A6A24: .4byte DestroyAnimSprite - thumb_func_end sub_80A69B8 - - thumb_func_start sub_80A6A28 -sub_80A6A28: @ 80A6A28 - push {r4,r5,lr} - adds r4, r0, 0 - bl sub_8074FCC - ldrh r0, [r4, 0x22] - adds r0, 0x8 - strh r0, [r4, 0x22] - ldr r5, _080A6AA0 @ =gBattleAnimArgs - ldrb r1, [r5, 0x2] - adds r0, r4, 0 - bl StartSpriteAnim - ldr r2, _080A6AA4 @ =gUnknown_83E3898 - movs r0, 0x4 - ldrsh r1, [r5, r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0] - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _080A6A68 - lsls r2, r0, 4 - ldrb r1, [r4, 0x5] - movs r0, 0xF - ands r0, r1 - orrs r0, r2 - strb r0, [r4, 0x5] -_080A6A68: - movs r1, 0 - ldrsh r0, [r5, r1] - movs r2, 0x20 - cmp r0, 0 - bne _080A6A74 - ldr r2, _080A6AA8 @ =0x0000ffe0 -_080A6A74: - movs r0, 0x28 - strh r0, [r4, 0x2E] - ldrh r1, [r4, 0x20] - strh r1, [r4, 0x30] - lsls r0, r2, 16 - asrs r0, 16 - adds r0, r1 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x22] - strh r0, [r4, 0x34] - subs r0, 0x28 - strh r0, [r4, 0x36] - adds r0, r4, 0 - bl obj_translate_based_on_private_1_2_3_4 - ldrh r0, [r5, 0x6] - strh r0, [r4, 0x38] - ldr r0, _080A6AAC @ =sub_80A6AB0 - str r0, [r4, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A6AA0: .4byte gBattleAnimArgs -_080A6AA4: .4byte gUnknown_83E3898 -_080A6AA8: .4byte 0x0000ffe0 -_080A6AAC: .4byte sub_80A6AB0 - thumb_func_end sub_80A6A28 - - thumb_func_start sub_80A6AB0 -sub_80A6AB0: @ 80A6AB0 - push {r4,lr} - adds r4, r0, 0 - bl sub_80755E0 - lsls r0, 24 - cmp r0, 0 - bne _080A6B00 - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r1, 0x8 - bl Sin - lsls r0, 16 - lsrs r1, r0, 16 - ldrh r2, [r4, 0x24] - movs r3, 0x24 - ldrsh r0, [r4, r3] - cmp r0, 0 - bge _080A6ADC - lsls r0, r1, 16 - negs r0, r0 - lsrs r1, r0, 16 -_080A6ADC: - lsls r0, r1, 16 - asrs r0, 16 - adds r0, r2 - strh r0, [r4, 0x24] - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r1, 0x4 - bl Sin - ldrh r3, [r4, 0x26] - adds r0, r3 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x38] - adds r0, 0x8 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x38] - b _080A6B06 -_080A6B00: - adds r0, r4, 0 - bl DestroyAnimSprite -_080A6B06: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A6AB0 - - thumb_func_start sub_80A6B0C -sub_80A6B0C: @ 80A6B0C - push {r4-r6,lr} - adds r6, r1, 0 - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r5, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080A6B2C - adds r0, r5, 0 - movs r1, 0x5 - bl sub_8076B2C - adds r0, 0x8 - b _080A6B36 -_080A6B2C: - adds r0, r5, 0 - movs r1, 0x4 - bl sub_8076B2C - subs r0, 0x8 -_080A6B36: - strh r0, [r6, 0x20] - adds r0, r5, 0 - movs r1, 0x3 - bl sub_8074480 - adds r4, r0, 0 - adds r0, r5, 0 - movs r1, 0 - bl sub_8076B2C - lsls r4, 24 - lsrs r4, 24 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _080A6B58 - adds r0, 0x3 -_080A6B58: - asrs r0, 2 - subs r0, r4, r0 - strh r0, [r6, 0x22] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80A6B0C - - thumb_func_start sub_80A6B64 -sub_80A6B64: @ 80A6B64 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, _080A6B78 @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080A6B80 - ldr r0, _080A6B7C @ =gBattleAnimAttacker - b _080A6B82 - .align 2, 0 -_080A6B78: .4byte gBattleAnimArgs -_080A6B7C: .4byte gBattleAnimAttacker -_080A6B80: - ldr r0, _080A6BC0 @ =gBattleAnimTarget -_080A6B82: - ldrb r4, [r0] - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80A6B0C - adds r0, r4, 0 - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - negs r1, r0 - orrs r1, r0 - lsrs r1, 31 - ldr r0, _080A6BC4 @ =gBattleAnimArgs - ldrh r0, [r0, 0x2] - strh r0, [r5, 0x2E] - adds r0, r1, 0x2 - strh r0, [r5, 0x30] - adds r0, r5, 0 - bl StartSpriteAnim - ldr r1, _080A6BC8 @ =sub_80A6BD0 - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 - ldr r0, _080A6BCC @ =sub_8074F6C - str r0, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A6BC0: .4byte gBattleAnimTarget -_080A6BC4: .4byte gBattleAnimArgs -_080A6BC8: .4byte sub_80A6BD0 -_080A6BCC: .4byte sub_8074F6C - thumb_func_end sub_80A6B64 - - thumb_func_start sub_80A6BD0 -sub_80A6BD0: @ 80A6BD0 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - subs r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - cmp r0, 0 - bne _080A6BF8 - ldr r1, _080A6C00 @ =DestroyAnimSprite - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - ldrh r1, [r4, 0x30] - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim - ldr r0, _080A6C04 @ =sub_8074F6C - str r0, [r4, 0x1C] -_080A6BF8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A6C00: .4byte DestroyAnimSprite -_080A6C04: .4byte sub_8074F6C - thumb_func_end sub_80A6BD0 - - thumb_func_start sub_80A6C08 -sub_80A6C08: @ 80A6C08 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _080A6C1C @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080A6C24 - ldr r0, _080A6C20 @ =gBattleAnimAttacker - b _080A6C26 - .align 2, 0 -_080A6C1C: .4byte gBattleAnimArgs -_080A6C20: .4byte gBattleAnimAttacker -_080A6C24: - ldr r0, _080A6C44 @ =gBattleAnimTarget -_080A6C26: - ldrb r0, [r0] - adds r1, r4, 0 - bl sub_80A6B0C - movs r0, 0 - strh r0, [r4, 0x2E] - ldr r1, _080A6C48 @ =sub_80A6C50 - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - ldr r0, _080A6C4C @ =sub_8074F50 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A6C44: .4byte gBattleAnimTarget -_080A6C48: .4byte sub_80A6C50 -_080A6C4C: .4byte sub_8074F50 - thumb_func_end sub_80A6C08 - - thumb_func_start sub_80A6C50 -sub_80A6C50: @ 80A6C50 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x10 - ble _080A6C76 - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - ldr r1, _080A6C7C @ =move_anim_8074EE0 - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - ldr r0, _080A6C80 @ =sub_8074F50 - str r0, [r4, 0x1C] -_080A6C76: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A6C7C: .4byte move_anim_8074EE0 -_080A6C80: .4byte sub_8074F50 - thumb_func_end sub_80A6C50 - - thumb_func_start sub_80A6C84 -sub_80A6C84: @ 80A6C84 - push {r4-r6,lr} - adds r4, r0, 0 - ldr r0, _080A6C98 @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080A6CA0 - ldr r0, _080A6C9C @ =gBattleAnimAttacker - b _080A6CA2 - .align 2, 0 -_080A6C98: .4byte gBattleAnimArgs -_080A6C9C: .4byte gBattleAnimAttacker -_080A6CA0: - ldr r0, _080A6CF4 @ =gBattleAnimTarget -_080A6CA2: - ldrb r5, [r0] - adds r0, r5, 0 - movs r1, 0 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - movs r6, 0 - strh r0, [r4, 0x20] - adds r0, r5, 0 - movs r1, 0x2 - bl sub_8076B2C - strh r0, [r4, 0x22] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x9 - bgt _080A6CCA - movs r0, 0xA - strh r0, [r4, 0x22] -_080A6CCA: - movs r0, 0x1 - strh r0, [r4, 0x2E] - strh r6, [r4, 0x30] - adds r1, r4, 0 - adds r1, 0x43 - ldrb r0, [r1] - strh r0, [r4, 0x32] - ldrb r0, [r1] - adds r0, 0x4 - strh r0, [r4, 0x34] - strh r6, [r4, 0x36] - ldr r1, _080A6CF8 @ =sub_80A6D00 - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - ldr r0, _080A6CFC @ =sub_8074F50 - str r0, [r4, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A6CF4: .4byte gBattleAnimTarget -_080A6CF8: .4byte sub_80A6D00 -_080A6CFC: .4byte sub_8074F50 - thumb_func_end sub_80A6C84 - - thumb_func_start sub_80A6D00 -sub_80A6D00: @ 80A6D00 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x36] - adds r0, 0x1 - strh r0, [r1, 0x36] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xC - ble _080A6D16 - ldr r0, _080A6D1C @ =sub_80A6D20 - str r0, [r1, 0x1C] -_080A6D16: - pop {r0} - bx r0 - .align 2, 0 -_080A6D1C: .4byte sub_80A6D20 - thumb_func_end sub_80A6D00 - - thumb_func_start sub_80A6D20 -sub_80A6D20: @ 80A6D20 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x30] - adds r1, r0, 0x4 - strh r1, [r2, 0x30] - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0xFE - ble _080A6D52 - ldrh r0, [r2, 0x2E] - subs r0, 0x1 - strh r0, [r2, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bne _080A6D4C - strh r0, [r2, 0x24] - ldr r0, _080A6D48 @ =sub_80A6C50 - str r0, [r2, 0x1C] - b _080A6D88 - .align 2, 0 -_080A6D48: .4byte sub_80A6C50 -_080A6D4C: - movs r0, 0xFF - ands r1, r0 - strh r1, [r2, 0x30] -_080A6D52: - movs r1, 0x30 - ldrsh r0, [r2, r1] - cmp r0, 0x4F - ble _080A6D62 - ldrh r0, [r2, 0x34] - adds r1, r2, 0 - adds r1, 0x43 - strb r0, [r1] -_080A6D62: - movs r3, 0x30 - ldrsh r0, [r2, r3] - cmp r0, 0x9F - ble _080A6D72 - ldrh r0, [r2, 0x32] - adds r1, r2, 0 - adds r1, 0x43 - strb r0, [r1] -_080A6D72: - ldr r1, _080A6D8C @ =gSineTable - movs r3, 0x30 - ldrsh r0, [r2, r3] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - lsls r0, 16 - asrs r0, 19 - asrs r1, r0, 1 - adds r0, r1 - strh r0, [r2, 0x24] -_080A6D88: - pop {r0} - bx r0 - .align 2, 0 -_080A6D8C: .4byte gSineTable - thumb_func_end sub_80A6D20 - - thumb_func_start sub_80A6D90 -sub_80A6D90: @ 80A6D90 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, _080A6DA4 @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080A6DAC - ldr r0, _080A6DA8 @ =gBattleAnimAttacker - b _080A6DAE - .align 2, 0 -_080A6DA4: .4byte gBattleAnimArgs -_080A6DA8: .4byte gBattleAnimAttacker -_080A6DAC: - ldr r0, _080A6DD0 @ =gBattleAnimTarget -_080A6DAE: - ldrb r4, [r0] - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80A6B0C - adds r0, r4, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080A6DD4 - adds r0, r5, 0 - movs r1, 0 - bl StartSpriteAnim - movs r0, 0x2 - b _080A6DDE - .align 2, 0 -_080A6DD0: .4byte gBattleAnimTarget -_080A6DD4: - adds r0, r5, 0 - movs r1, 0x1 - bl StartSpriteAnim - movs r0, 0x3 -_080A6DDE: - strh r0, [r5, 0x2E] - ldr r0, _080A6DEC @ =sub_80A6DF0 - str r0, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A6DEC: .4byte sub_80A6DF0 - thumb_func_end sub_80A6D90 - - thumb_func_start sub_80A6DF0 -sub_80A6DF0: @ 80A6DF0 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA - ble _080A6E1E - movs r0, 0 - strh r0, [r4, 0x30] - ldrh r1, [r4, 0x2E] - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim - ldr r1, _080A6E24 @ =sub_80A6E2C - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - ldr r0, _080A6E28 @ =sub_8074F6C - str r0, [r4, 0x1C] -_080A6E1E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A6E24: .4byte sub_80A6E2C -_080A6E28: .4byte sub_8074F6C - thumb_func_end sub_80A6DF0 - - thumb_func_start sub_80A6E2C -sub_80A6E2C: @ 80A6E2C - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x30] - adds r0, 0x1 - strh r0, [r1, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - ble _080A6E44 - adds r0, r1, 0 - bl DestroyAnimSprite -_080A6E44: - pop {r0} - bx r0 - thumb_func_end sub_80A6E2C - - thumb_func_start sub_80A6E48 -sub_80A6E48: @ 80A6E48 - push {r4,r5,lr} - adds r4, r0, 0 - bl sub_8074FCC - ldr r5, _080A6E8C @ =gBattleAnimArgs - movs r0, 0 - ldrsh r1, [r5, r0] - adds r0, r4, 0 - bl sub_8074FF8 - ldrh r0, [r5, 0x2] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - ldrh r0, [r5, 0x4] - strh r0, [r4, 0x30] - ldrh r0, [r5, 0x8] - strh r0, [r4, 0x32] - ldrh r0, [r5, 0xA] - strh r0, [r4, 0x34] - ldrh r0, [r5, 0x6] - strh r0, [r4, 0x36] - ldr r1, _080A6E90 @ =move_anim_8074EE0 - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - ldr r1, _080A6E94 @ =sub_8074BE4 - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A6E8C: .4byte gBattleAnimArgs -_080A6E90: .4byte move_anim_8074EE0 -_080A6E94: .4byte sub_8074BE4 - thumb_func_end sub_80A6E48 - - thumb_func_start sub_80A6E98 -sub_80A6E98: @ 80A6E98 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _080A6EAC @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080A6EB4 - ldr r0, _080A6EB0 @ =gBattleAnimAttacker - b _080A6EB6 - .align 2, 0 -_080A6EAC: .4byte gBattleAnimArgs -_080A6EB0: .4byte gBattleAnimAttacker -_080A6EB4: - ldr r0, _080A6ED0 @ =gBattleAnimTarget -_080A6EB6: - ldrb r0, [r0] - adds r1, r4, 0 - bl sub_80A6B0C - movs r0, 0 - strh r0, [r4, 0x2E] - strh r0, [r4, 0x30] - ldr r0, _080A6ED4 @ =sub_80A6ED8 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A6ED0: .4byte gBattleAnimTarget -_080A6ED4: .4byte sub_80A6ED8 - thumb_func_end sub_80A6E98 - - thumb_func_start sub_80A6ED8 -sub_80A6ED8: @ 80A6ED8 - push {lr} - adds r1, r0, 0 - movs r2, 0x2E - ldrsh r0, [r1, r2] - cmp r0, 0x1 - beq _080A6F0A - cmp r0, 0x1 - bgt _080A6EEE - cmp r0, 0 - beq _080A6EF4 - b _080A6F38 -_080A6EEE: - cmp r0, 0x2 - beq _080A6F24 - b _080A6F38 -_080A6EF4: - ldrh r0, [r1, 0x26] - subs r0, 0x3 - strh r0, [r1, 0x26] - ldrh r0, [r1, 0x30] - adds r0, 0x1 - strh r0, [r1, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x6 - bne _080A6F38 - b _080A6F1C -_080A6F0A: - ldrh r0, [r1, 0x26] - adds r0, 0x3 - strh r0, [r1, 0x26] - ldrh r0, [r1, 0x30] - subs r0, 0x1 - strh r0, [r1, 0x30] - lsls r0, 16 - cmp r0, 0 - bne _080A6F38 -_080A6F1C: - ldrh r0, [r1, 0x2E] - adds r0, 0x1 - strh r0, [r1, 0x2E] - b _080A6F38 -_080A6F24: - ldrh r0, [r1, 0x30] - adds r0, 0x1 - strh r0, [r1, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x40 - bne _080A6F38 - adds r0, r1, 0 - bl DestroyAnimSprite -_080A6F38: - pop {r0} - bx r0 - thumb_func_end sub_80A6ED8 - - thumb_func_start sub_80A6F3C -sub_80A6F3C: @ 80A6F3C - push {r4,lr} - adds r4, r0, 0 - ldr r3, _080A6F88 @ =gSprites - movs r0, 0x32 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r4, 0x30] - ldrh r2, [r0, 0x24] - adds r1, r2 - strh r1, [r0, 0x24] - movs r1, 0x30 - ldrsh r0, [r4, r1] - negs r0, r0 - strh r0, [r4, 0x30] - movs r0, 0x2E - ldrsh r2, [r4, r0] - cmp r2, 0 - bne _080A6F7A - movs r0, 0x32 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r2, [r0, 0x24] - adds r0, r4, 0 - bl move_anim_8074EE0 -_080A6F7A: - ldrh r0, [r4, 0x2E] - subs r0, 0x1 - strh r0, [r4, 0x2E] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A6F88: .4byte gSprites - thumb_func_end sub_80A6F3C - - thumb_func_start sub_80A6F8C -sub_80A6F8C: @ 80A6F8C - push {r4-r6,lr} - adds r5, r0, 0 - ldr r4, _080A6FD4 @ =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - ldr r1, _080A6FD8 @ =gUnknown_2023D44 - ldr r0, _080A6FDC @ =gBattleAnimTarget - ldrb r0, [r0] - adds r0, r1 - ldrb r6, [r0] - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080A6FE4 - ldr r0, _080A6FE0 @ =gBattleAnimArgs - ldrh r1, [r5, 0x20] - ldrh r2, [r0] - subs r1, r2 - strh r1, [r5, 0x20] - adds r1, r0, 0 - b _080A6FEE - .align 2, 0 -_080A6FD4: .4byte gBattleAnimAttacker -_080A6FD8: .4byte gUnknown_2023D44 -_080A6FDC: .4byte gBattleAnimTarget -_080A6FE0: .4byte gBattleAnimArgs -_080A6FE4: - ldr r1, _080A7018 @ =gBattleAnimArgs - ldrh r0, [r1] - ldrh r2, [r5, 0x20] - adds r0, r2 - strh r0, [r5, 0x20] -_080A6FEE: - ldrh r0, [r1, 0x2] - ldrh r2, [r5, 0x22] - adds r0, r2 - strh r0, [r5, 0x22] - ldrh r0, [r1, 0x4] - strh r0, [r5, 0x2E] - ldrh r0, [r1, 0x6] - strh r0, [r5, 0x30] - strh r6, [r5, 0x32] - ldr r0, _080A701C @ =sub_80A6F3C - str r0, [r5, 0x1C] - adds r2, r5, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A7018: .4byte gBattleAnimArgs -_080A701C: .4byte sub_80A6F3C - thumb_func_end sub_80A6F8C - - thumb_func_start sub_80A7020 -sub_80A7020: @ 80A7020 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl sub_8075160 - ldr r1, _080A704C @ =gBattleAnimArgs - ldrh r0, [r1, 0x4] - strh r0, [r4, 0x2E] - ldrh r0, [r1, 0x6] - strh r0, [r4, 0x30] - ldrh r0, [r1, 0x8] - strh r0, [r4, 0x38] - ldr r0, _080A7050 @ =sub_8074C44 - str r0, [r4, 0x1C] - ldr r1, _080A7054 @ =sub_80A7058 - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A704C: .4byte gBattleAnimArgs -_080A7050: .4byte sub_8074C44 -_080A7054: .4byte sub_80A7058 - thumb_func_end sub_80A7020 - - thumb_func_start sub_80A7058 -sub_80A7058: @ 80A7058 - push {lr} - ldrh r1, [r0, 0x30] - strh r1, [r0, 0x2E] - ldrh r1, [r0, 0x20] - strh r1, [r0, 0x32] - ldrh r1, [r0, 0x22] - adds r1, 0xF - strh r1, [r0, 0x36] - ldr r1, _080A7078 @ =sub_8075590 - str r1, [r0, 0x1C] - ldr r1, _080A707C @ =sub_80A7080 - bl StoreSpriteCallbackInData6 - pop {r0} - bx r0 - .align 2, 0 -_080A7078: .4byte sub_8075590 -_080A707C: .4byte sub_80A7080 - thumb_func_end sub_80A7058 - - thumb_func_start sub_80A7080 -sub_80A7080: @ 80A7080 - push {lr} - adds r1, r0, 0 - ldrh r2, [r1, 0x38] - movs r3, 0x38 - ldrsh r0, [r1, r3] - cmp r0, 0 - bne _080A7096 - adds r0, r1, 0 - bl DestroyAnimSprite - b _080A709A -_080A7096: - subs r0, r2, 0x1 - strh r0, [r1, 0x38] -_080A709A: - pop {r0} - bx r0 - thumb_func_end sub_80A7080 - - thumb_func_start sub_80A70A0 -sub_80A70A0: @ 80A70A0 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, _080A70CC @ =gUnknown_2023D44 - ldr r0, _080A70D0 @ =gBattleAnimAttacker - ldrb r0, [r0] - adds r0, r1 - ldrb r0, [r0] - movs r1, 0 - bl sub_80758E0 - ldr r1, _080A70D4 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080A70D8 @ =sub_80A70DC - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A70CC: .4byte gUnknown_2023D44 -_080A70D0: .4byte gBattleAnimAttacker -_080A70D4: .4byte gTasks -_080A70D8: .4byte sub_80A70DC - thumb_func_end sub_80A70A0 - - thumb_func_start sub_80A70DC -sub_80A70DC: @ 80A70DC - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _080A710C @ =gUnknown_2023D44 - ldr r0, _080A7110 @ =gBattleAnimAttacker - ldrb r0, [r0] - adds r1, r0, r1 - ldrb r4, [r1] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080A7118 - ldr r1, _080A7114 @ =gTasks - lsls r2, r5, 2 - adds r0, r2, r5 - lsls r0, 3 - adds r0, r1 - ldrh r0, [r0, 0x8] - negs r0, r0 - lsls r0, 16 - lsrs r3, r0, 16 - adds r6, r2, 0 - b _080A7126 - .align 2, 0 -_080A710C: .4byte gUnknown_2023D44 -_080A7110: .4byte gBattleAnimAttacker -_080A7114: .4byte gTasks -_080A7118: - ldr r2, _080A7158 @ =gTasks - lsls r1, r5, 2 - adds r0, r1, r5 - lsls r0, 3 - adds r0, r2 - ldrh r3, [r0, 0x8] - adds r6, r1, 0 -_080A7126: - movs r2, 0x80 - lsls r2, 1 - adds r0, r4, 0 - adds r1, r2, 0 - bl obj_id_set_rotscale - ldr r1, _080A7158 @ =gTasks - adds r0, r6, r5 - lsls r0, 3 - adds r1, r0, r1 - movs r2, 0xA - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _080A7160 - ldrh r0, [r1, 0x8] - adds r0, 0xB0 - strh r0, [r1, 0x8] - ldr r1, _080A715C @ =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - ldrh r1, [r0, 0x26] - adds r1, 0x1 - b _080A718A - .align 2, 0 -_080A7158: .4byte gTasks -_080A715C: .4byte gSprites -_080A7160: - cmp r0, 0x1 - bne _080A7176 - ldrh r0, [r1, 0xE] - adds r0, 0x1 - strh r0, [r1, 0xE] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1E - bne _080A71D0 - movs r0, 0x2 - b _080A71CE -_080A7176: - ldrh r0, [r1, 0x8] - subs r0, 0xB0 - strh r0, [r1, 0x8] - ldr r1, _080A71C4 @ =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - ldrh r1, [r0, 0x26] - subs r1, 0x1 -_080A718A: - strh r1, [r0, 0x26] - adds r0, r4, 0 - bl sub_80759DC - ldr r0, _080A71C8 @ =gTasks - adds r1, r6, r5 - lsls r1, 3 - adds r1, r0 - movs r3, 0x8 - ldrsh r2, [r1, r3] - movs r0, 0xF2 - lsls r0, 4 - cmp r2, r0 - beq _080A71AA - cmp r2, 0 - bne _080A71D0 -_080A71AA: - ldrh r2, [r1, 0xA] - movs r3, 0xA - ldrsh r0, [r1, r3] - cmp r0, 0x2 - bne _080A71CC - adds r0, r4, 0 - bl sub_8075980 - adds r0, r5, 0 - bl DestroyAnimVisualTask - b _080A71D0 - .align 2, 0 -_080A71C4: .4byte gSprites -_080A71C8: .4byte gTasks -_080A71CC: - adds r0, r2, 0x1 -_080A71CE: - strh r0, [r1, 0xA] -_080A71D0: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80A70DC - - thumb_func_start sub_80A71D8 -sub_80A71D8: @ 80A71D8 - push {r4,r5,lr} - adds r4, r0, 0 - bl sub_8074FCC - ldr r0, _080A71FC @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080A7204 - ldr r0, _080A7200 @ =gBattleAnimArgs - ldrh r1, [r4, 0x20] - ldrh r2, [r0] - subs r1, r2 - strh r1, [r4, 0x20] - adds r5, r0, 0 - b _080A7210 - .align 2, 0 -_080A71FC: .4byte gBattleAnimAttacker -_080A7200: .4byte gBattleAnimArgs -_080A7204: - ldr r1, _080A7244 @ =gBattleAnimArgs - ldrh r0, [r1] - ldrh r2, [r4, 0x20] - adds r0, r2 - strh r0, [r4, 0x20] - adds r5, r1, 0 -_080A7210: - ldrh r0, [r5, 0x2] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - ldr r0, _080A7248 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080A724C - adds r3, r4, 0 - adds r3, 0x3F - ldrb r0, [r3] - movs r1, 0x1 - adds r2, r0, 0 - orrs r2, r1 - strb r2, [r3] - movs r1, 0x4 - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _080A7260 - movs r0, 0x2 - orrs r2, r0 - strb r2, [r3] - b _080A7260 - .align 2, 0 -_080A7244: .4byte gBattleAnimArgs -_080A7248: .4byte gBattleAnimAttacker -_080A724C: - movs r2, 0x4 - ldrsh r0, [r5, r2] - cmp r0, 0 - beq _080A7260 - adds r2, r4, 0 - adds r2, 0x3F - ldrb r0, [r2] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2] -_080A7260: - ldr r0, _080A7274 @ =sub_8074F6C - str r0, [r4, 0x1C] - ldr r1, _080A7278 @ =DestroyAnimSprite - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A7274: .4byte sub_8074F6C -_080A7278: .4byte DestroyAnimSprite - thumb_func_end sub_80A71D8 - - thumb_func_start sub_80A727C -sub_80A727C: @ 80A727C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0 - bl sub_8075160 - ldr r0, _080A7298 @ =sub_8074F50 - str r0, [r4, 0x1C] - ldr r1, _080A729C @ =sub_80A72A0 - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A7298: .4byte sub_8074F50 -_080A729C: .4byte sub_80A72A0 - thumb_func_end sub_80A727C - - thumb_func_start sub_80A72A0 -sub_80A72A0: @ 80A72A0 - push {lr} - movs r1, 0x6 - strh r1, [r0, 0x2E] - ldrh r1, [r0, 0x20] - strh r1, [r0, 0x32] - ldrh r1, [r0, 0x22] - subs r1, 0x20 - strh r1, [r0, 0x36] - ldr r1, _080A72C0 @ =sub_8075590 - str r1, [r0, 0x1C] - ldr r1, _080A72C4 @ =DestroyAnimSprite - bl StoreSpriteCallbackInData6 - pop {r0} - bx r0 - .align 2, 0 -_080A72C0: .4byte sub_8075590 -_080A72C4: .4byte DestroyAnimSprite - thumb_func_end sub_80A72A0 - - thumb_func_start sub_80A72C8 -sub_80A72C8: @ 80A72C8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r5, r0, 0 - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - beq _080A72EC - ldr r1, _080A72E8 @ =gBattleAnimArgs - ldrh r0, [r1, 0x4] - negs r0, r0 - strh r0, [r1, 0x4] - b _080A730E - .align 2, 0 -_080A72E8: .4byte gBattleAnimArgs -_080A72EC: - ldr r0, _080A73B4 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080A730E - ldr r1, _080A73B8 @ =gBattleAnimArgs - ldrh r0, [r1, 0x4] - negs r0, r0 - strh r0, [r1, 0x4] - ldrh r0, [r1, 0x2] - negs r0, r0 - strh r0, [r1, 0x2] - ldrh r0, [r1, 0x6] - negs r0, r0 - strh r0, [r1, 0x6] -_080A730E: - adds r0, r5, 0 - movs r1, 0x1 - bl sub_8075160 - ldr r4, _080A73BC @ =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - ldr r6, _080A73B8 @ =gBattleAnimArgs - lsrs r0, 24 - ldrh r1, [r6, 0x4] - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r2, [r6, 0x6] - adds r0, r2 - lsls r0, 16 - lsrs r0, 16 - adds r7, r0, 0 - ldrh r1, [r5, 0x20] - mov r2, r8 - lsls r0, r2, 16 - asrs r0, 16 - subs r0, r1 - lsls r0, 16 - asrs r0, 16 - ldrh r2, [r5, 0x22] - lsls r1, r7, 16 - asrs r1, 16 - subs r1, r2 - lsls r1, 16 - asrs r1, 16 - bl sub_8075B30 - lsls r0, 16 - movs r1, 0xF0 - lsls r1, 24 - adds r0, r1 - lsrs r4, r0, 16 - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - beq _080A7380 - ldr r2, _080A73C0 @ =0xffffa000 - adds r0, r4, r2 - lsls r0, 16 - lsrs r4, r0, 16 -_080A7380: - movs r3, 0x80 - lsls r3, 1 - str r4, [sp] - adds r0, r5, 0 - movs r1, 0 - adds r2, r3, 0 - bl sub_8075A1C - ldrh r0, [r6, 0x8] - strh r0, [r5, 0x2E] - mov r0, r8 - strh r0, [r5, 0x32] - strh r7, [r5, 0x36] - ldr r0, _080A73C4 @ =sub_8075590 - str r0, [r5, 0x1C] - ldr r1, _080A73C8 @ =DestroyAnimSprite - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A73B4: .4byte gBattleAnimAttacker -_080A73B8: .4byte gBattleAnimArgs -_080A73BC: .4byte gBattleAnimTarget -_080A73C0: .4byte 0xffffa000 -_080A73C4: .4byte sub_8075590 -_080A73C8: .4byte DestroyAnimSprite - thumb_func_end sub_80A72C8 - - thumb_func_start sub_80A73CC -sub_80A73CC: @ 80A73CC - push {lr} - adds r3, r0, 0 - ldrh r0, [r3, 0x2E] - subs r1, r0, 0x1 - strh r1, [r3, 0x2E] - lsls r0, 16 - cmp r0, 0 - bgt _080A73F6 - ldr r2, _080A73FC @ =gTasks - movs r0, 0x3C - ldrsh r1, [r3, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrh r1, [r0, 0xA] - subs r1, 0x1 - strh r1, [r0, 0xA] - adds r0, r3, 0 - bl DestroySprite -_080A73F6: - pop {r0} - bx r0 - .align 2, 0 -_080A73FC: .4byte gTasks - thumb_func_end sub_80A73CC - - thumb_func_start sub_80A7400 -sub_80A7400: @ 80A7400 - push {r4,lr} - adds r2, r0, 0 - movs r0, 0x3C - ldrsh r1, [r2, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, _080A7430 @ =gTasks - adds r4, r0, r1 - movs r3, 0x2E - ldrsh r1, [r2, r3] - movs r3, 0x12 - ldrsh r0, [r4, r3] - cmp r1, r0 - ble _080A7434 - ldrh r0, [r2, 0x34] - ldrh r1, [r2, 0x38] - adds r0, r1 - strh r0, [r2, 0x38] - ldrh r0, [r2, 0x36] - ldrh r3, [r2, 0x3A] - adds r0, r3 - b _080A7442 - .align 2, 0 -_080A7430: .4byte gTasks -_080A7434: - ldrh r0, [r2, 0x38] - ldrh r1, [r2, 0x34] - subs r0, r1 - strh r0, [r2, 0x38] - ldrh r0, [r2, 0x3A] - ldrh r1, [r2, 0x36] - subs r0, r1 -_080A7442: - strh r0, [r2, 0x3A] - ldrh r0, [r2, 0x38] - ldrh r1, [r2, 0x30] - adds r3, r0, r1 - strh r3, [r2, 0x30] - ldrh r0, [r2, 0x3A] - ldrh r1, [r2, 0x32] - adds r0, r1 - strh r0, [r2, 0x32] - ldrh r1, [r4, 0x16] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080A7466 - lsls r0, r3, 16 - lsrs r0, 24 - negs r0, r0 - b _080A746A -_080A7466: - lsls r0, r3, 16 - lsrs r0, 24 -_080A746A: - strh r0, [r2, 0x24] - ldrh r1, [r4, 0x18] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080A747E - ldrh r0, [r2, 0x32] - lsrs r0, 8 - negs r0, r0 - b _080A7482 -_080A747E: - ldrh r0, [r2, 0x32] - lsrs r0, 8 -_080A7482: - strh r0, [r2, 0x26] - ldrh r0, [r2, 0x2E] - subs r1, r0, 0x1 - strh r1, [r2, 0x2E] - lsls r0, 16 - cmp r0, 0 - bgt _080A7498 - movs r0, 0x1E - strh r0, [r2, 0x2E] - ldr r0, _080A74A0 @ =sub_80A73CC - str r0, [r2, 0x1C] -_080A7498: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A74A0: .4byte sub_80A73CC - thumb_func_end sub_80A7400 - - thumb_func_start sub_80A74A4 -sub_80A74A4: @ 80A74A4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r7, r0, 0 - movs r0, 0x3C - ldrsh r1, [r7, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, _080A74E8 @ =gTasks - adds r6, r0, r1 - ldrh r2, [r6, 0x16] - movs r1, 0x2 - negs r1, r1 - adds r0, r1, 0 - ands r0, r2 - ldrh r3, [r7, 0x30] - adds r2, r0, r3 - strh r2, [r7, 0x30] - ldrh r0, [r6, 0x18] - ands r1, r0 - ldrh r0, [r7, 0x32] - adds r1, r0 - strh r1, [r7, 0x32] - ldrh r1, [r6, 0x16] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080A74EC - lsls r0, r2, 16 - lsrs r0, 24 - negs r0, r0 - b _080A74F0 - .align 2, 0 -_080A74E8: .4byte gTasks -_080A74EC: - lsls r0, r2, 16 - lsrs r0, 24 -_080A74F0: - strh r0, [r7, 0x24] - ldrh r1, [r6, 0x18] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080A7504 - ldrh r0, [r7, 0x32] - lsrs r0, 8 - negs r0, r0 - b _080A7508 -_080A7504: - ldrh r0, [r7, 0x32] - lsrs r0, 8 -_080A7508: - strh r0, [r7, 0x26] - ldrh r0, [r7, 0x2E] - subs r1, r0, 0x1 - strh r1, [r7, 0x2E] - lsls r0, 16 - cmp r0, 0 - bgt _080A75D4 - movs r4, 0 - movs r0, 0x8 - strh r0, [r7, 0x2E] - movs r0, 0x4 - strh r0, [r6, 0x12] - movs r0, 0x80 - lsls r0, 5 - bl sub_80D8B90 - lsls r0, 16 - lsrs r5, r0, 16 - ldrh r0, [r7, 0x24] - ldrh r1, [r7, 0x20] - adds r2, r0, r1 - strh r2, [r7, 0x20] - ldrh r0, [r7, 0x26] - ldrh r3, [r7, 0x22] - adds r0, r3 - strh r0, [r7, 0x22] - strh r4, [r7, 0x26] - strh r4, [r7, 0x24] - ldrh r3, [r6, 0x1E] - movs r0, 0x1E - ldrsh r1, [r6, r0] - lsls r0, r2, 16 - asrs r0, 16 - cmp r1, r0 - blt _080A7552 - subs r0, r3, r2 - b _080A7554 -_080A7552: - subs r0, r2, r3 -_080A7554: - lsls r0, 24 - lsrs r4, r0, 16 - ldrh r3, [r6, 0x20] - movs r0, 0x20 - ldrsh r1, [r6, r0] - ldrh r2, [r7, 0x22] - movs r6, 0x22 - ldrsh r0, [r7, r6] - cmp r1, r0 - blt _080A756C - subs r0, r3, r2 - b _080A756E -_080A756C: - subs r0, r2, r3 -_080A756E: - lsls r0, 24 - lsrs r0, 16 - mov r8, r0 - movs r0, 0 - strh r0, [r7, 0x32] - strh r0, [r7, 0x30] - strh r0, [r7, 0x3A] - strh r0, [r7, 0x38] - lsls r0, r4, 16 - asrs r0, 16 - lsls r5, 16 - asrs r5, 16 - adds r1, r5, 0 - bl sub_80D8AA0 - adds r4, r0, 0 - lsls r4, 16 - asrs r4, 16 - movs r6, 0xE0 - lsls r6, 1 - adds r0, r6, 0 - bl sub_80D8B90 - adds r1, r0, 0 - lsls r1, 16 - asrs r1, 16 - adds r0, r4, 0 - bl sub_80D8AA0 - strh r0, [r7, 0x34] - mov r1, r8 - lsls r0, r1, 16 - asrs r0, 16 - adds r1, r5, 0 - bl sub_80D8AA0 - adds r4, r0, 0 - lsls r4, 16 - asrs r4, 16 - adds r0, r6, 0 - bl sub_80D8B90 - adds r1, r0, 0 - lsls r1, 16 - asrs r1, 16 - adds r0, r4, 0 - bl sub_80D8AA0 - strh r0, [r7, 0x36] - ldr r0, _080A75E0 @ =sub_80A7400 - str r0, [r7, 0x1C] -_080A75D4: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A75E0: .4byte sub_80A7400 - thumb_func_end sub_80A74A4 - - thumb_func_start sub_80A75E4 -sub_80A75E4: @ 80A75E4 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, _080A7608 @ =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r1 - movs r1, 0xA - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080A7602 - adds r0, r2, 0 - bl DestroyAnimVisualTask -_080A7602: - pop {r0} - bx r0 - .align 2, 0 -_080A7608: .4byte gTasks - thumb_func_end sub_80A75E4 - - thumb_func_start sub_80A760C -sub_80A760C: @ 80A760C - push {r4-r7,lr} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r1, _080A7660 @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r5, r0, r1 - ldrh r0, [r5, 0x8] - subs r1, r0, 0x1 - strh r1, [r5, 0x8] - lsls r0, 16 - cmp r0, 0 - bgt _080A76E0 - ldr r0, _080A7664 @ =gUnknown_83E3C28 - movs r2, 0x1A - ldrsh r1, [r5, r2] - movs r3, 0x1C - ldrsh r2, [r5, r3] - ldrb r3, [r5, 0xC] - ldrb r4, [r5, 0xA] - subs r3, r4 - lsls r3, 24 - lsrs r3, 24 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - mov r12, r0 - lsls r0, 4 - add r0, r12 - lsls r0, 2 - ldr r1, _080A7668 @ =gSprites - adds r6, r0, r1 - movs r1, 0x10 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _080A766C - cmp r0, 0x2 - beq _080A7682 - b _080A7690 - .align 2, 0 -_080A7660: .4byte gTasks -_080A7664: .4byte gUnknown_83E3C28 -_080A7668: .4byte gSprites -_080A766C: - ldrb r2, [r6, 0x3] - lsls r1, r2, 26 - lsrs r1, 27 - movs r0, 0x18 - orrs r1, r0 - lsls r1, 1 - subs r0, 0x57 - ands r0, r2 - orrs r0, r1 - strb r0, [r6, 0x3] - b _080A7690 -_080A7682: - ldrb r0, [r6, 0x3] - movs r1, 0x3F - negs r1, r1 - ands r1, r0 - movs r0, 0x10 - orrs r1, r0 - strb r1, [r6, 0x3] -_080A7690: - ldr r3, _080A76E8 @ =gTasks - lsls r2, r7, 2 - adds r2, r7 - lsls r2, 3 - adds r4, r2, r3 - ldrh r0, [r4, 0x12] - ldrh r1, [r4, 0x14] - subs r0, r1 - strh r0, [r6, 0x2E] - strh r7, [r6, 0x3C] - movs r1, 0xA - ldrsh r0, [r4, r1] - adds r0, 0xD - lsls r0, 1 - adds r0, r2 - adds r3, 0x8 - adds r0, r3 - mov r2, r12 - strh r2, [r0] - ldrh r0, [r4, 0xE] - strh r0, [r4, 0x8] - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - movs r0, 0x3F - negs r0, r0 - bl sub_8073A44 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 24 - movs r0, 0x93 - bl PlaySE12WithPanning - movs r3, 0xA - ldrsh r0, [r4, r3] - cmp r0, 0x2 - ble _080A76E0 - ldr r0, _080A76EC @ =sub_80A75E4 - str r0, [r4] -_080A76E0: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A76E8: .4byte gTasks -_080A76EC: .4byte sub_80A75E4 - thumb_func_end sub_80A760C - - thumb_func_start sub_80A76F0 -sub_80A76F0: @ 80A76F0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r7, r0, 24 - movs r0, 0 - mov r9, r0 - movs r5, 0 - mov r0, sp - mov r1, r9 - strh r1, [r0] - mov r4, sp - adds r4, 0x2 - strh r1, [r4] - bl sub_8073788 - lsls r0, 24 - mov r10, r4 - cmp r0, 0 - beq _080A775C - ldr r1, _080A774C @ =gTasks - lsls r2, r7, 2 - adds r0, r2, r7 - lsls r0, 3 - adds r0, r1 - movs r1, 0x2 - strh r1, [r0, 0x10] - ldr r3, _080A7750 @ =gBattleAnimArgs - ldrh r0, [r3] - negs r0, r0 - strh r0, [r3] - ldrh r1, [r3, 0x4] - movs r0, 0x1 - ands r0, r1 - mov r8, r2 - cmp r0, 0 - beq _080A7754 - movs r0, 0x2 - negs r0, r0 - ands r0, r1 - strh r0, [r3, 0x4] - b _080A77B6 - .align 2, 0 -_080A774C: .4byte gTasks -_080A7750: .4byte gBattleAnimArgs -_080A7754: - movs r0, 0x1 - orrs r0, r1 - strh r0, [r3, 0x4] - b _080A77B6 -_080A775C: - ldr r1, _080A77A0 @ =gUnknown_2023BD6 - ldr r0, _080A77A4 @ =gBattleAnimTarget - ldrb r0, [r0] - adds r0, r1 - ldrb r1, [r0] - movs r3, 0x1 - adds r0, r3, 0 - ands r0, r1 - lsls r2, r7, 2 - mov r8, r2 - cmp r0, 0 - bne _080A77B6 - ldr r1, _080A77A8 @ =gTasks - adds r0, r2, r7 - lsls r0, 3 - adds r0, r1 - strh r3, [r0, 0x10] - ldr r2, _080A77AC @ =gBattleAnimArgs - ldrh r0, [r2] - negs r0, r0 - strh r0, [r2] - ldrh r0, [r2, 0x2] - negs r0, r0 - strh r0, [r2, 0x2] - ldrh r1, [r2, 0x4] - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _080A77B0 - movs r0, 0x2 - negs r0, r0 - ands r0, r1 - b _080A77B4 - .align 2, 0 -_080A77A0: .4byte gUnknown_2023BD6 -_080A77A4: .4byte gBattleAnimTarget -_080A77A8: .4byte gTasks -_080A77AC: .4byte gBattleAnimArgs -_080A77B0: - movs r0, 0x1 - orrs r0, r1 -_080A77B4: - strh r0, [r2, 0x4] -_080A77B6: - ldr r5, _080A7810 @ =gBattleAnimAttacker - ldrb r0, [r5] - movs r1, 0 - bl sub_8074480 - ldr r1, _080A7814 @ =gTasks - mov r3, r8 - adds r4, r3, r7 - lsls r4, 3 - adds r4, r1 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x1A] - adds r6, r0, 0 - ldrb r0, [r5] - movs r1, 0x1 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x1C] - mov r9, r0 - ldr r0, _080A7818 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080A7820 - ldr r4, _080A781C @ =gBattleAnimTarget - ldrb r1, [r4] - movs r0, 0x2 - eors r0, r1 - bl sub_8072DF0 - lsls r0, 24 - cmp r0, 0 - beq _080A7820 - ldrb r0, [r4] - movs r1, 0 - mov r2, sp - mov r3, r10 - bl sub_8076D9C - b _080A7842 - .align 2, 0 -_080A7810: .4byte gBattleAnimAttacker -_080A7814: .4byte gTasks -_080A7818: .4byte gBattleTypeFlags -_080A781C: .4byte gBattleAnimTarget -_080A7820: - mov r5, sp - ldr r4, _080A787C @ =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5] - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - mov r1, r10 - strh r0, [r1] -_080A7842: - mov r4, sp - ldr r0, _080A7880 @ =gTasks - mov r2, r8 - adds r1, r2, r7 - lsls r1, 3 - adds r1, r0 - mov r2, sp - ldr r3, _080A7884 @ =gBattleAnimArgs - ldrh r0, [r3] - ldrh r2, [r2] - adds r0, r2 - strh r0, [r1, 0x1E] - strh r0, [r4] - ldrh r0, [r3, 0x2] - mov r3, r10 - ldrh r3, [r3] - adds r0, r3 - strh r0, [r1, 0x20] - mov r1, r10 - strh r0, [r1] - mov r0, sp - ldrh r2, [r0] - movs r3, 0 - ldrsh r0, [r0, r3] - adds r1, r6, 0 - cmp r0, r1 - blt _080A7888 - subs r0, r2, r1 - b _080A788A - .align 2, 0 -_080A787C: .4byte gBattleAnimTarget -_080A7880: .4byte gTasks -_080A7884: .4byte gBattleAnimArgs -_080A7888: - subs r0, r1, r2 -_080A788A: - lsls r0, 16 - lsrs r0, 16 - lsls r4, r0, 16 - asrs r4, 16 - ldr r5, _080A7900 @ =gBattleAnimArgs - ldrh r1, [r5, 0x4] - movs r0, 0x2 - negs r0, r0 - ands r0, r1 - lsls r0, 16 - asrs r0, 16 - bl sub_80D8B90 - adds r1, r0, 0 - lsls r1, 16 - asrs r1, 16 - adds r0, r4, 0 - bl sub_80D8AA0 - ldr r2, _080A7904 @ =gTasks - mov r3, r8 - adds r1, r3, r7 - lsls r1, 3 - adds r6, r1, r2 - strh r0, [r6, 0x12] - movs r1, 0x12 - ldrsh r0, [r6, r1] - movs r1, 0x80 - bl sub_80D8AA0 - strh r0, [r6, 0x14] - ldrh r0, [r5, 0x4] - strh r0, [r6, 0x16] - mov r2, r10 - ldrh r1, [r2] - movs r3, 0 - ldrsh r0, [r2, r3] - mov r4, r9 - cmp r0, r4 - blt _080A7908 - subs r4, r1, r4 - lsls r4, 16 - asrs r4, 16 - movs r1, 0x12 - ldrsh r0, [r6, r1] - bl sub_80D8B90 - adds r1, r0, 0 - lsls r1, 16 - asrs r1, 16 - adds r0, r4, 0 - bl sub_80D8AA0 - movs r1, 0x2 - negs r1, r1 - ands r1, r0 - strh r1, [r6, 0x18] - b _080A7928 - .align 2, 0 -_080A7900: .4byte gBattleAnimArgs -_080A7904: .4byte gTasks -_080A7908: - subs r4, r1 - lsls r4, 16 - asrs r4, 16 - movs r2, 0x12 - ldrsh r0, [r6, r2] - bl sub_80D8B90 - adds r1, r0, 0 - lsls r1, 16 - asrs r1, 16 - adds r0, r4, 0 - bl sub_80D8AA0 - movs r1, 0x1 - orrs r0, r1 - strh r0, [r6, 0x18] -_080A7928: - ldr r1, _080A7968 @ =gTasks - mov r3, r8 - adds r0, r3, r7 - lsls r0, 3 - adds r5, r0, r1 - ldr r4, _080A796C @ =gBattleAnimArgs - ldrh r0, [r4, 0x6] - strh r0, [r5, 0xE] - ldrh r1, [r4, 0x8] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080A7978 - movs r0, 0x80 - eors r0, r1 - strh r0, [r4, 0x8] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3F - ble _080A79A0 - ldr r0, _080A7970 @ =gBattleAnimTarget - ldrb r0, [r0] - bl sub_807685C - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080A7974 @ =0x0000ffc0 - adds r1, r2, 0 - ldrh r4, [r4, 0x8] - adds r1, r4 - adds r0, r1 - b _080A79B0 - .align 2, 0 -_080A7968: .4byte gTasks -_080A796C: .4byte gBattleAnimArgs -_080A7970: .4byte gBattleAnimTarget -_080A7974: .4byte 0x0000ffc0 -_080A7978: - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0x3F - ble _080A79A0 - ldr r0, _080A7998 @ =gBattleAnimTarget - ldrb r0, [r0] - bl sub_807685C - lsls r0, 24 - lsrs r0, 24 - ldr r3, _080A799C @ =0x0000ffc0 - adds r1, r3, 0 - ldrh r4, [r4, 0x8] - adds r1, r4 - adds r0, r1 - b _080A79B0 - .align 2, 0 -_080A7998: .4byte gBattleAnimTarget -_080A799C: .4byte 0x0000ffc0 -_080A79A0: - ldr r0, _080A79DC @ =gBattleAnimTarget - ldrb r0, [r0] - bl sub_807685C - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x8] - subs r0, r1 -_080A79B0: - strh r0, [r5, 0xC] - ldr r0, _080A79E0 @ =gTasks - mov r2, r8 - adds r1, r2, r7 - lsls r1, 3 - adds r1, r0 - movs r3, 0xC - ldrsh r0, [r1, r3] - cmp r0, 0x2 - bgt _080A79C8 - movs r0, 0x3 - strh r0, [r1, 0xC] -_080A79C8: - ldr r0, _080A79E4 @ =sub_80A760C - str r0, [r1] - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A79DC: .4byte gBattleAnimTarget -_080A79E0: .4byte gTasks -_080A79E4: .4byte sub_80A760C - thumb_func_end sub_80A76F0 - - thumb_func_start sub_80A79E8 -sub_80A79E8: @ 80A79E8 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0 - bl sub_8075160 - ldr r0, _080A7A10 @ =gUnknown_83E3D18 - ldrh r0, [r0, 0x2] - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 20 - movs r1, 0x80 - lsls r1, 1 - adds r0, r1 - strh r0, [r4, 0x2E] - ldr r0, _080A7A14 @ =sub_80A7A18 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A7A10: .4byte gUnknown_83E3D18 -_080A7A14: .4byte sub_80A7A18 - thumb_func_end sub_80A79E8 - - thumb_func_start sub_80A7A18 -sub_80A7A18: @ 80A7A18 - push {r4-r7,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - bne _080A7A7C - movs r0, 0 - strh r0, [r4, 0x30] - ldrh r5, [r4, 0x2E] - ldr r1, _080A7A84 @ =gPlttBufferFaded - adds r0, r5, 0 - adds r0, 0x8 - lsls r0, 1 - adds r0, r1 - ldrh r7, [r0] - adds r6, r1, 0 - adds r1, r5, 0 - adds r1, 0x9 - lsls r0, r5, 1 - adds r0, r6 - adds r2, r0, 0 - adds r2, 0x10 - movs r3, 0x7 - lsls r1, 1 - adds r1, r6 -_080A7A50: - ldrh r0, [r1] - strh r0, [r2] - adds r1, 0x2 - adds r2, 0x2 - subs r3, 0x1 - cmp r3, 0 - bge _080A7A50 - adds r0, r5, 0 - adds r0, 0xF - lsls r0, 1 - adds r0, r6 - strh r7, [r0] - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x18 - bne _080A7A7C - adds r0, r4, 0 - bl DestroyAnimSprite -_080A7A7C: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A7A84: .4byte gPlttBufferFaded - thumb_func_end sub_80A7A18 - - thumb_func_start sub_80A7A88 -sub_80A7A88: @ 80A7A88 - push {r4-r7,lr} - sub sp, 0x4 - adds r5, r0, 0 - movs r1, 0x1 - bl sub_8075160 - ldr r4, _080A7B28 @ =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r6, r0, 24 - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - ldr r4, _080A7B2C @ =gBattleAnimArgs - lsrs r0, 24 - ldrh r1, [r4, 0x6] - adds r0, r1 - lsls r0, 16 - lsrs r7, r0, 16 - ldr r0, _080A7B30 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080A7ACC - ldrh r0, [r4, 0x4] - negs r0, r0 - strh r0, [r4, 0x4] -_080A7ACC: - lsls r0, r6, 16 - asrs r0, 16 - ldrh r1, [r4, 0x4] - adds r0, r1 - lsls r0, 16 - ldrh r1, [r5, 0x20] - lsrs r6, r0, 16 - asrs r0, 16 - subs r0, r1 - lsls r0, 16 - asrs r0, 16 - ldrh r2, [r5, 0x22] - lsls r1, r7, 16 - asrs r1, 16 - subs r1, r2 - lsls r1, 16 - asrs r1, 16 - bl sub_8075B30 - lsls r0, 16 - movs r1, 0xC0 - lsls r1, 24 - adds r0, r1 - lsrs r0, 16 - movs r3, 0x80 - lsls r3, 1 - str r0, [sp] - adds r0, r5, 0 - movs r1, 0 - adds r2, r3, 0 - bl sub_8075A1C - ldrh r0, [r4, 0x8] - strh r0, [r5, 0x2E] - strh r6, [r5, 0x32] - strh r7, [r5, 0x36] - ldr r0, _080A7B34 @ =sub_80756A4 - str r0, [r5, 0x1C] - ldr r1, _080A7B38 @ =DestroyAnimSprite - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A7B28: .4byte gBattleAnimTarget -_080A7B2C: .4byte gBattleAnimArgs -_080A7B30: .4byte gBattleAnimAttacker -_080A7B34: .4byte sub_80756A4 -_080A7B38: .4byte DestroyAnimSprite - thumb_func_end sub_80A7A88 - - thumb_func_start sub_80A7B3C -sub_80A7B3C: @ 80A7B3C - ldr r1, _080A7B4C @ =0x0000fff0 - strh r1, [r0, 0x32] - ldrh r1, [r0, 0x22] - adds r1, 0x8 - strh r1, [r0, 0x22] - ldr r1, _080A7B50 @ =sub_80A7B54 - str r1, [r0, 0x1C] - bx lr - .align 2, 0 -_080A7B4C: .4byte 0x0000fff0 -_080A7B50: .4byte sub_80A7B54 - thumb_func_end sub_80A7B3C - - thumb_func_start sub_80A7B54 -sub_80A7B54: @ 80A7B54 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r0, 0x80 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 24 - strh r0, [r4, 0x24] - ldr r0, _080A7BC0 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080A7B78 - ldrh r0, [r4, 0x24] - negs r0, r0 - strh r0, [r4, 0x24] -_080A7B78: - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r2, 0x32 - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x30] - adds r0, 0x5 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7E - ble _080A7BB8 - movs r0, 0 - strh r0, [r4, 0x30] - movs r1, 0x32 - ldrsh r0, [r4, r1] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x34] - adds r0, 0x1 - strh r0, [r4, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - bne _080A7BB8 - adds r0, r4, 0 - bl DestroyAnimSprite -_080A7BB8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A7BC0: .4byte gBattleAnimAttacker - thumb_func_end sub_80A7B54 - - thumb_func_start sub_80A7BC4 -sub_80A7BC4: @ 80A7BC4 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl sub_8075160 - movs r0, 0x14 - strh r0, [r4, 0x2E] - ldr r5, _080A7C10 @ =gBattleAnimTarget - ldrb r0, [r5] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x32] - ldrb r0, [r5] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x36] - ldr r0, _080A7C14 @ =sub_8075590 - str r0, [r4, 0x1C] - adds r2, r4, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - ldr r1, _080A7C18 @ =sub_80A7C1C - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A7C10: .4byte gBattleAnimTarget -_080A7C14: .4byte sub_8075590 -_080A7C18: .4byte sub_80A7C1C - thumb_func_end sub_80A7BC4 - - thumb_func_start sub_80A7C1C -sub_80A7C1C: @ 80A7C1C - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x3F - bl sub_8073A44 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 24 - movs r0, 0x9F - bl PlaySE12WithPanning - ldrh r0, [r4, 0x24] - ldrh r1, [r4, 0x20] - adds r0, r1 - movs r1, 0 - strh r0, [r4, 0x20] - ldrh r0, [r4, 0x26] - ldrh r2, [r4, 0x22] - adds r0, r2 - strh r0, [r4, 0x22] - strh r1, [r4, 0x26] - strh r1, [r4, 0x24] - movs r2, 0 - movs r1, 0x7 - adds r0, r4, 0 - adds r0, 0x3C -_080A7C50: - strh r2, [r0] - subs r0, 0x2 - subs r1, 0x1 - cmp r1, 0 - bge _080A7C50 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x7 - ands r0, r1 - ldr r2, _080A7C98 @ =0x0000fff4 - adds r1, r2, 0 - subs r1, r0 - strh r1, [r4, 0x3A] - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA0 - bl __umodsi3 - adds r0, 0xA0 - strh r0, [r4, 0x3C] - ldr r0, _080A7C9C @ =sub_80A7CA0 - str r0, [r4, 0x1C] - adds r2, r4, 0 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A7C98: .4byte 0x0000fff4 -_080A7C9C: .4byte sub_80A7CA0 - thumb_func_end sub_80A7C1C - - thumb_func_start sub_80A7CA0 -sub_80A7CA0: @ 80A7CA0 - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x3C] - ldrh r2, [r4, 0x2E] - adds r0, r1, r2 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r2, r0, 24 - strh r2, [r4, 0x24] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080A7CBE - negs r0, r2 - strh r0, [r4, 0x24] -_080A7CBE: - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r2, 0x3A - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x30] - adds r0, 0x8 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7E - ble _080A7CFE - movs r0, 0 - strh r0, [r4, 0x30] - movs r1, 0x32 - ldrsh r0, [r4, r1] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x34] - adds r0, 0x1 - strh r0, [r4, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - bne _080A7CFE - adds r0, r4, 0 - bl DestroyAnimSprite -_080A7CFE: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A7CA0 - - thumb_func_start sub_80A7D04 -sub_80A7D04: @ 80A7D04 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0 - bl sub_8075160 - ldr r0, _080A7D54 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080A7D22 - ldrh r0, [r4, 0x22] - adds r0, 0x10 - strh r0, [r4, 0x22] -_080A7D22: - ldr r1, _080A7D58 @ =gBattleAnimArgs - ldrh r0, [r1, 0x8] - strh r0, [r4, 0x2E] - ldrh r0, [r1, 0x4] - strh r0, [r4, 0x30] - ldrh r0, [r1, 0xA] - strh r0, [r4, 0x32] - ldrh r0, [r1, 0xC] - strh r0, [r4, 0x34] - ldrh r0, [r1, 0x6] - strh r0, [r4, 0x36] - ldr r0, _080A7D5C @ =sub_8074A80 - str r0, [r4, 0x1C] - ldr r1, _080A7D60 @ =DestroyAnimSprite - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - ldr r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A7D54: .4byte gBattleAnimAttacker -_080A7D58: .4byte gBattleAnimArgs -_080A7D5C: .4byte sub_8074A80 -_080A7D60: .4byte DestroyAnimSprite - thumb_func_end sub_80A7D04 - - thumb_func_start sub_80A7D64 -sub_80A7D64: @ 80A7D64 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r0, 0 - movs r7, 0x20 - ldr r4, _080A7DE0 @ =0x0000ffe0 - movs r0, 0x10 - mov r8, r0 - ldr r6, _080A7DE4 @ =0x0000fff0 - ldr r0, _080A7DE8 @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _080A7D90 - adds r7, r4, 0 - movs r4, 0x20 - mov r8, r6 - movs r6, 0x10 - adds r0, r5, 0 - movs r1, 0x1 - bl StartSpriteAnim -_080A7D90: - lsls r0, r7, 16 - asrs r0, 16 - ldrh r1, [r5, 0x20] - adds r0, r1 - strh r0, [r5, 0x20] - lsls r0, r4, 16 - asrs r0, 16 - ldrh r1, [r5, 0x22] - adds r0, r1 - strh r0, [r5, 0x22] - movs r0, 0x6 - strh r0, [r5, 0x2E] - ldr r4, _080A7DEC @ =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - add r0, r8 - strh r0, [r5, 0x32] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - adds r0, r6 - strh r0, [r5, 0x36] - ldr r0, _080A7DF0 @ =sub_8075590 - str r0, [r5, 0x1C] - ldr r1, _080A7DF4 @ =sub_80A7DF8 - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A7DE0: .4byte 0x0000ffe0 -_080A7DE4: .4byte 0x0000fff0 -_080A7DE8: .4byte gBattleAnimArgs -_080A7DEC: .4byte gBattleAnimTarget -_080A7DF0: .4byte sub_8075590 -_080A7DF4: .4byte sub_80A7DF8 - thumb_func_end sub_80A7D64 - - thumb_func_start sub_80A7DF8 -sub_80A7DF8: @ 80A7DF8 - push {lr} - adds r2, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080A7E0E - adds r0, r2, 0 - bl DestroyAnimSprite -_080A7E0E: - pop {r0} - bx r0 - thumb_func_end sub_80A7DF8 - - thumb_func_start sub_80A7E14 -sub_80A7E14: @ 80A7E14 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r5, r0, 0 - movs r0, 0x20 - mov r8, r0 - ldr r4, _080A7EA8 @ =0x0000ffe0 - movs r2, 0x10 - mov r9, r2 - ldr r6, _080A7EAC @ =0x0000fff0 - ldr r7, _080A7EB0 @ =gBattleAnimArgs - ldrh r1, [r7] - movs r2, 0 - ldrsh r0, [r7, r2] - cmp r0, 0 - beq _080A7E48 - mov r8, r4 - movs r4, 0x20 - mov r9, r6 - movs r6, 0x10 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl StartSpriteAnim -_080A7E48: - mov r0, r8 - lsls r1, r0, 16 - asrs r1, 16 - ldrh r2, [r5, 0x20] - adds r1, r2 - strh r1, [r5, 0x20] - lsls r0, r4, 16 - asrs r0, 16 - ldrh r2, [r5, 0x22] - adds r0, r2 - strh r0, [r5, 0x22] - movs r0, 0x6 - strh r0, [r5, 0x2E] - strh r1, [r5, 0x30] - ldr r4, _080A7EB4 @ =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - add r0, r9 - strh r0, [r5, 0x32] - ldrh r0, [r5, 0x22] - strh r0, [r5, 0x34] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - adds r0, r6 - strh r0, [r5, 0x36] - adds r0, r5, 0 - bl obj_translate_based_on_private_1_2_3_4 - ldrh r0, [r7] - strh r0, [r5, 0x38] - ldrh r0, [r5, 0x2E] - strh r0, [r5, 0x3A] - ldr r0, _080A7EB8 @ =sub_80A7EBC - str r0, [r5, 0x1C] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A7EA8: .4byte 0x0000ffe0 -_080A7EAC: .4byte 0x0000fff0 -_080A7EB0: .4byte gBattleAnimArgs -_080A7EB4: .4byte gBattleAnimTarget -_080A7EB8: .4byte sub_80A7EBC - thumb_func_end sub_80A7E14 - - thumb_func_start sub_80A7EBC -sub_80A7EBC: @ 80A7EBC - push {r4,lr} - adds r4, r0, 0 - bl sub_80755E0 - lsls r0, 24 - cmp r0, 0 - beq _080A7F20 - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080A7F20 - adds r0, r4, 0 - movs r1, 0 - bl SeekSpriteAnim - adds r2, r4, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x40 - orrs r0, r1 - strb r0, [r2] - ldrh r0, [r4, 0x24] - ldrh r1, [r4, 0x20] - adds r0, r1 - movs r2, 0 - strh r0, [r4, 0x20] - ldrh r0, [r4, 0x26] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - movs r0, 0x2 - strh r0, [r4, 0x24] - ldr r0, _080A7F28 @ =0x0000fffe - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x3A] - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x30] - movs r1, 0x1 - eors r0, r1 - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x32] - eors r0, r1 - strh r0, [r4, 0x32] - strh r2, [r4, 0x36] - strh r2, [r4, 0x34] - ldr r0, _080A7F2C @ =sub_80A7F30 - str r0, [r4, 0x1C] -_080A7F20: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A7F28: .4byte 0x0000fffe -_080A7F2C: .4byte sub_80A7F30 - thumb_func_end sub_80A7EBC - - thumb_func_start sub_80A7F30 -sub_80A7F30: @ 80A7F30 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080A7F48 - ldrh r0, [r4, 0x24] - negs r0, r0 - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x26] - negs r0, r0 - strh r0, [r4, 0x26] -_080A7F48: - ldrh r0, [r4, 0x34] - movs r1, 0x1 - eors r0, r1 - movs r1, 0 - strh r0, [r4, 0x34] - ldrh r0, [r4, 0x36] - adds r0, 0x1 - strh r0, [r4, 0x36] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x33 - bne _080A7F8A - strh r1, [r4, 0x26] - strh r1, [r4, 0x24] - strh r1, [r4, 0x36] - strh r1, [r4, 0x34] - adds r2, r4, 0 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x41 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - ldrh r0, [r4, 0x38] - movs r1, 0x1 - eors r1, r0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim - ldr r0, _080A7F90 @ =sub_80A7F94 - str r0, [r4, 0x1C] -_080A7F8A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A7F90: .4byte sub_80A7F94 - thumb_func_end sub_80A7F30 - - thumb_func_start sub_80A7F94 -sub_80A7F94: @ 80A7F94 - push {r4,lr} - adds r4, r0, 0 - bl sub_80755E0 - lsls r0, 24 - cmp r0, 0 - beq _080A7FA8 - adds r0, r4, 0 - bl DestroyAnimSprite -_080A7FA8: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A7F94 - - thumb_func_start sub_80A7FB0 -sub_80A7FB0: @ 80A7FB0 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - movs r0, 0x1 - bl GetAnimBankSpriteId - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_80758E0 - adds r0, r4, 0 - movs r1, 0xD0 - movs r2, 0xD0 - movs r3, 0 - bl obj_id_set_rotscale - ldr r1, _080A8008 @ =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x5] - lsrs r0, 4 - adds r0, 0x10 - movs r1, 0 - bl sub_8075B48 - ldr r1, _080A800C @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r1, 0x50 - strh r1, [r0, 0x8] - ldr r1, _080A8010 @ =sub_80A8014 - str r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A8008: .4byte gSprites -_080A800C: .4byte gTasks -_080A8010: .4byte sub_80A8014 - thumb_func_end sub_80A7FB0 - - thumb_func_start sub_80A8014 -sub_80A8014: @ 80A8014 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _080A806C @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x8] - subs r1, 0x1 - strh r1, [r0, 0x8] - lsls r1, 16 - asrs r1, 16 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _080A8064 - movs r0, 0x1 - bl GetAnimBankSpriteId - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl sub_8075980 - ldr r1, _080A8070 @ =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x5] - lsrs r0, 4 - adds r0, 0x10 - movs r1, 0x1 - bl sub_8075B48 - adds r0, r5, 0 - bl DestroyAnimVisualTask -_080A8064: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A806C: .4byte gTasks -_080A8070: .4byte gSprites - thumb_func_end sub_80A8014 - - thumb_func_start sub_80A8074 -sub_80A8074: @ 80A8074 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, _080A80C0 @ =gTasks - adds r4, r0 - movs r0, 0 - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r0, 24 - movs r5, 0 - strh r0, [r4, 0x8] - movs r1, 0 - bl sub_80758E0 - strh r5, [r4, 0xA] - strh r5, [r4, 0xC] - strh r5, [r4, 0xE] - movs r0, 0x80 - lsls r0, 1 - strh r0, [r4, 0x10] - strh r5, [r4, 0x12] - strh r5, [r4, 0x14] - ldr r0, _080A80C4 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl sub_807685C - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x16] - ldr r0, _080A80C8 @ =sub_80A80CC - str r0, [r4] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A80C0: .4byte gTasks -_080A80C4: .4byte gBattleAnimAttacker -_080A80C8: .4byte sub_80A80CC - thumb_func_end sub_80A8074 - - thumb_func_start sub_80A80CC -sub_80A80CC: @ 80A80CC - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _080A80F0 @ =gTasks - adds r4, r0, r1 - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0x5 - bls _080A80E6 - b _080A81F6 -_080A80E6: - lsls r0, 2 - ldr r1, _080A80F4 @ =_080A80F8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080A80F0: .4byte gTasks -_080A80F4: .4byte _080A80F8 - .align 2, 0 -_080A80F8: - .4byte _080A8110 - .4byte _080A8158 - .4byte _080A818E - .4byte _080A8194 - .4byte _080A81A4 - .4byte _080A81D8 -_080A8110: - movs r2, 0xC - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _080A8120 - cmp r0, 0x3 - beq _080A8120 - cmp r0, 0x6 - bne _080A8128 -_080A8120: - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80A8200 -_080A8128: - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - ldrh r0, [r4, 0x10] - adds r0, 0x28 - strh r0, [r4, 0x10] - ldrb r0, [r4, 0x8] - movs r1, 0x10 - ldrsh r2, [r4, r1] - adds r1, r2, 0 - movs r3, 0 - bl obj_id_set_rotscale - ldrb r0, [r4, 0x8] - bl sub_8076440 - movs r2, 0xC - ldrsh r0, [r4, r2] - cmp r0, 0x20 - bne _080A81F6 - ldrh r0, [r4, 0x12] - adds r0, 0x1 - strh r0, [r4, 0x12] - b _080A81D0 -_080A8158: - movs r1, 0x14 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080A81F6 - movs r2, 0x12 - ldrsh r1, [r4, r2] - cmp r1, 0x3 - bne _080A816E - strh r0, [r4, 0xC] - strh r1, [r4, 0xA] - b _080A81F6 -_080A816E: - strh r0, [r4, 0xC] - strh r0, [r4, 0xE] - movs r2, 0x80 - lsls r2, 1 - strh r2, [r4, 0x10] - ldrb r0, [r4, 0x8] - adds r1, r2, 0 - movs r3, 0 - bl obj_id_set_rotscale - ldrb r0, [r4, 0x8] - bl sub_8076440 - movs r0, 0x2 - strh r0, [r4, 0xA] - b _080A81F6 -_080A818E: - movs r0, 0 - strh r0, [r4, 0xA] - b _080A81F6 -_080A8194: - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x20 - ble _080A81F6 - b _080A81CC -_080A81A4: - ldrh r0, [r4, 0xC] - adds r0, 0x2 - strh r0, [r4, 0xC] - ldrh r0, [r4, 0x10] - subs r0, 0x50 - strh r0, [r4, 0x10] - ldrb r0, [r4, 0x8] - movs r1, 0x10 - ldrsh r2, [r4, r1] - adds r1, r2, 0 - movs r3, 0 - bl obj_id_set_rotscale - ldrb r0, [r4, 0x8] - bl sub_8076440 - movs r2, 0xC - ldrsh r0, [r4, r2] - cmp r0, 0x20 - bne _080A81F6 -_080A81CC: - movs r0, 0 - strh r0, [r4, 0xC] -_080A81D0: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - b _080A81F6 -_080A81D8: - ldrb r0, [r4, 0x8] - bl sub_8075980 - ldr r2, _080A81FC @ =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0 - strh r1, [r0, 0x26] - adds r0, r5, 0 - bl DestroyAnimVisualTask -_080A81F6: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A81FC: .4byte gSprites - thumb_func_end sub_80A80CC - - thumb_func_start sub_80A8200 -sub_80A8200: @ 80A8200 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r7, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - movs r0, 0 - bl duplicate_obj_of_side_rel2move_in_transparent_mode - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - lsls r0, 16 - asrs r4, r0, 16 - cmp r4, 0 - blt _080A82DA - bl AllocOamMatrix - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0xFF - bne _080A8244 - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - ldr r1, _080A8240 @ =gSprites - adds r0, r1 - bl obj_delete_but_dont_free_vram - b _080A82DA - .align 2, 0 -_080A8240: .4byte gSprites -_080A8244: - ldr r5, _080A82E8 @ =gSprites - lsls r3, r4, 4 - adds r3, r4 - lsls r3, 2 - adds r4, r3, r5 - ldrb r1, [r4, 0x1] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - movs r1, 0x3 - orrs r0, r1 - strb r0, [r4, 0x1] - adds r2, r4, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - movs r0, 0x1F - ands r6, r0 - lsls r2, r6, 1 - ldrb r1, [r4, 0x3] - movs r0, 0x3F - negs r0, r0 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, 0x3] - ldrb r0, [r7, 0x16] - ldrb r1, [r7, 0xE] - subs r0, r1 - adds r1, r4, 0 - adds r1, 0x43 - strb r0, [r1] - ldrh r0, [r7, 0xE] - adds r0, 0x1 - strh r0, [r7, 0xE] - ldrh r0, [r7, 0x14] - adds r0, 0x1 - strh r0, [r7, 0x14] - movs r0, 0x10 - strh r0, [r4, 0x2E] - mov r0, r9 - strh r0, [r4, 0x30] - movs r0, 0x6 - strh r0, [r4, 0x32] - adds r5, 0x1C - adds r3, r5 - ldr r0, _080A82EC @ =sub_80A82F0 - str r0, [r3] - mov r1, r8 - lsls r0, r1, 24 - lsrs r0, 24 - movs r1, 0x10 - ldrsh r2, [r7, r1] - adds r1, r2, 0 - movs r3, 0 - bl obj_id_set_rotscale - ldrb r0, [r4, 0x1] - movs r3, 0x4 - negs r3, r3 - ands r3, r0 - movs r0, 0x1 - orrs r3, r0 - strb r3, [r4, 0x1] - lsrs r1, r3, 6 - ldrb r2, [r4, 0x3] - lsrs r2, 6 - lsls r3, 30 - lsrs r3, 30 - adds r0, r4, 0 - bl CalcCenterToCornerVec -_080A82DA: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A82E8: .4byte gSprites -_080A82EC: .4byte sub_80A82F0 - thumb_func_end sub_80A8200 - - thumb_func_start sub_80A82F0 -sub_80A82F0: @ 80A82F0 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - subs r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - cmp r0, 0 - bne _080A832E - ldr r3, _080A8334 @ =gTasks - movs r0, 0x32 - ldrsh r1, [r4, r0] - lsls r1, 1 - movs r0, 0x30 - ldrsh r2, [r4, r0] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r3, 0x8 - adds r1, r3 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - adds r0, r4, 0 - bl obj_delete_but_dont_free_vram -_080A832E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A8334: .4byte gTasks - thumb_func_end sub_80A82F0 - - thumb_func_start sub_80A8338 -sub_80A8338: @ 80A8338 - push {r4,r5,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, _080A835C @ =gTasks - adds r4, r0, r1 - ldr r5, _080A8360 @ =gBattleAnimArgs - movs r1, 0x2 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _080A8364 - adds r0, r2, 0 - bl DestroyAnimVisualTask - b _080A838A - .align 2, 0 -_080A835C: .4byte gTasks -_080A8360: .4byte gBattleAnimArgs -_080A8364: - ldrb r0, [r5] - bl GetAnimBankSpriteId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - movs r2, 0 - strh r1, [r4, 0x8] - strh r2, [r4, 0xA] - ldrh r0, [r5, 0x2] - strh r0, [r4, 0xC] - strh r2, [r4, 0xE] - strh r2, [r4, 0x10] - ldr r2, _080A8390 @ =gUnknown_83E3E60 - adds r0, r4, 0 - bl sub_80762D0 - ldr r0, _080A8394 @ =sub_80A8398 - str r0, [r4] -_080A838A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A8390: .4byte gUnknown_83E3E60 -_080A8394: .4byte sub_80A8398 - thumb_func_end sub_80A8338 - - thumb_func_start sub_80A8398 -sub_80A8398: @ 80A8398 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, _080A83BC @ =gTasks - adds r4, r0, r1 - movs r0, 0xA - ldrsh r5, [r4, r0] - cmp r5, 0x1 - beq _080A8400 - cmp r5, 0x1 - bgt _080A83C0 - cmp r5, 0 - beq _080A83CA - b _080A84A8 - .align 2, 0 -_080A83BC: .4byte gTasks -_080A83C0: - cmp r5, 0x2 - beq _080A8434 - cmp r5, 0x3 - beq _080A8464 - b _080A84A8 -_080A83CA: - adds r0, r4, 0 - bl sub_8076308 - ldrh r2, [r4, 0x10] - adds r2, 0x3 - strh r2, [r4, 0x10] - ldr r3, _080A83FC @ =gSprites - movs r0, 0x8 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r0, 0x26] - adds r1, r2 - strh r1, [r0, 0x26] - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7 - ble _080A84A8 - strh r5, [r4, 0xE] - b _080A845C - .align 2, 0 -_080A83FC: .4byte gSprites -_080A8400: - adds r0, r4, 0 - bl sub_8076308 - ldr r2, _080A8430 @ =gSprites - movs r0, 0x8 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r4, 0x10] - ldrh r2, [r0, 0x26] - adds r1, r2 - strh r1, [r0, 0x26] - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7 - ble _080A84A8 - movs r0, 0 - strh r0, [r4, 0xE] - b _080A845C - .align 2, 0 -_080A8430: .4byte gSprites -_080A8434: - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080A845C - ldr r2, _080A8458 @ =gSprites - movs r0, 0x8 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x26] - subs r1, 0x2 - strh r1, [r0, 0x26] - ldrh r0, [r4, 0x10] - subs r0, 0x2 - strh r0, [r4, 0x10] - b _080A84A8 - .align 2, 0 -_080A8458: .4byte gSprites -_080A845C: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - b _080A84A8 -_080A8464: - adds r0, r4, 0 - bl sub_8076308 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _080A84A8 - ldrh r0, [r4, 0xC] - subs r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - cmp r0, 0 - bne _080A849C - ldr r2, _080A8498 @ =gSprites - movs r0, 0x8 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r5, [r0, 0x26] - adds r0, r6, 0 - bl DestroyAnimVisualTask - b _080A84A8 - .align 2, 0 -_080A8498: .4byte gSprites -_080A849C: - ldrb r1, [r4, 0x8] - ldr r2, _080A84B0 @ =gUnknown_83E3E60 - adds r0, r4, 0 - bl sub_80762D0 - strh r5, [r4, 0xA] -_080A84A8: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A84B0: .4byte gUnknown_83E3E60 - thumb_func_end sub_80A8398 - - thumb_func_start sub_80A84B4 -sub_80A84B4: @ 80A84B4 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, _080A84E4 @ =gTasks - adds r4, r0 - movs r0, 0 - bl GetAnimBankSpriteId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r2, _080A84E8 @ =gUnknown_83E3E80 - adds r0, r4, 0 - bl sub_80762D0 - ldr r0, _080A84EC @ =sub_80A84F0 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A84E4: .4byte gTasks -_080A84E8: .4byte gUnknown_83E3E80 -_080A84EC: .4byte sub_80A84F0 - thumb_func_end sub_80A84B4 - - thumb_func_start sub_80A84F0 -sub_80A84F0: @ 80A84F0 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _080A8518 @ =gTasks - adds r0, r1 - bl sub_8076308 - lsls r0, 24 - cmp r0, 0 - bne _080A8510 - adds r0, r4, 0 - bl DestroyAnimVisualTask -_080A8510: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A8518: .4byte gTasks - thumb_func_end sub_80A84F0 - - thumb_func_start sub_80A851C -sub_80A851C: @ 80A851C - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, _080A854C @ =gBattleAnimAttacker - ldrb r0, [r5] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080A8550 - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAnim - ldrb r0, [r5] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x20 - strh r0, [r4, 0x20] - movs r0, 0x40 - b _080A856A - .align 2, 0 -_080A854C: .4byte gBattleAnimAttacker -_080A8550: - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAnim - ldrb r0, [r5] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x20 - strh r0, [r4, 0x20] - ldr r0, _080A859C @ =0x0000ffc0 -_080A856A: - strh r0, [r4, 0x30] - ldr r0, _080A85A0 @ =gBattleAnimAttacker - ldrb r0, [r0] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - strh r0, [r4, 0x22] - movs r0, 0x34 - strh r0, [r4, 0x2E] - strh r1, [r4, 0x32] - strh r1, [r4, 0x34] - strh r1, [r4, 0x36] - ldr r1, _080A85A4 @ =DestroyAnimSprite - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - ldr r0, _080A85A8 @ =sub_8074D00 - str r0, [r4, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A859C: .4byte 0x0000ffc0 -_080A85A0: .4byte gBattleAnimAttacker -_080A85A4: .4byte DestroyAnimSprite -_080A85A8: .4byte sub_8074D00 - thumb_func_end sub_80A851C - - thumb_func_start sub_80A85AC -sub_80A85AC: @ 80A85AC - push {r4-r6,lr} - adds r6, r0, 0 - ldr r0, _080A85C0 @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080A85C8 - ldr r0, _080A85C4 @ =gBattleAnimAttacker - b _080A85CA - .align 2, 0 -_080A85C0: .4byte gBattleAnimArgs -_080A85C4: .4byte gBattleAnimAttacker -_080A85C8: - ldr r0, _080A8628 @ =gBattleAnimTarget -_080A85CA: - ldrb r5, [r0] - adds r0, r5, 0 - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A85E4 - ldr r1, _080A862C @ =gBattleAnimArgs - movs r2, 0x2 - ldrsh r0, [r1, r2] - negs r0, r0 - strh r0, [r1, 0x2] -_080A85E4: - adds r0, r5, 0 - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - ldr r4, _080A862C @ =gBattleAnimArgs - lsrs r0, 24 - ldrh r1, [r4, 0x2] - adds r0, r1 - strh r0, [r6, 0x20] - adds r0, r5, 0 - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r4, [r4, 0x4] - adds r0, r4 - strh r0, [r6, 0x22] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7 - bgt _080A8616 - movs r0, 0x8 - strh r0, [r6, 0x22] -_080A8616: - ldr r1, _080A8630 @ =move_anim_8074EE0 - adds r0, r6, 0 - bl StoreSpriteCallbackInData6 - ldr r0, _080A8634 @ =sub_8074F50 - str r0, [r6, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A8628: .4byte gBattleAnimTarget -_080A862C: .4byte gBattleAnimArgs -_080A8630: .4byte move_anim_8074EE0 -_080A8634: .4byte sub_8074F50 - thumb_func_end sub_80A85AC - - thumb_func_start sub_80A8638 -sub_80A8638: @ 80A8638 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, _080A866C @ =gTasks - adds r4, r0 - movs r0, 0 - bl GetAnimBankSpriteId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0 - strh r1, [r4, 0x8] - strh r0, [r4, 0xA] - ldr r2, _080A8670 @ =gUnknown_83E3F1C - adds r0, r4, 0 - bl sub_80762D0 - ldr r0, _080A8674 @ =sub_80A8678 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A866C: .4byte gTasks -_080A8670: .4byte gUnknown_83E3F1C -_080A8674: .4byte sub_80A8678 - thumb_func_end sub_80A8638 - - thumb_func_start sub_80A8678 -sub_80A8678: @ 80A8678 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _080A86A0 @ =gTasks - adds r0, r1 - bl sub_8076308 - lsls r0, 24 - cmp r0, 0 - bne _080A8698 - adds r0, r4, 0 - bl DestroyAnimVisualTask -_080A8698: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A86A0: .4byte gTasks - thumb_func_end sub_80A8678 - - thumb_func_start sub_80A86A4 -sub_80A86A4: @ 80A86A4 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _080A8718 @ =gTasks - adds r4, r1, r0 - movs r0, 0 - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r0, 24 - movs r2, 0 - strh r0, [r4, 0x8] - strh r2, [r4, 0xA] - movs r0, 0x4 - strh r0, [r4, 0xC] - movs r0, 0x7 - strh r0, [r4, 0xE] - movs r0, 0x3 - strh r0, [r4, 0x10] - ldr r3, _080A871C @ =gSprites - movs r0, 0x8 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r0, [r0, 0x20] - strh r0, [r4, 0x12] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r0, [r0, 0x22] - strh r0, [r4, 0x14] - strh r2, [r4, 0x16] - strh r2, [r4, 0x18] - movs r0, 0x2 - strh r0, [r4, 0x1A] - ldr r0, _080A8720 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A870E - movs r1, 0xC - ldrsh r0, [r4, r1] - negs r0, r0 - strh r0, [r4, 0xC] -_080A870E: - ldr r0, _080A8724 @ =sub_80A8728 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A8718: .4byte gTasks -_080A871C: .4byte gSprites -_080A8720: .4byte gBattleAnimAttacker -_080A8724: .4byte sub_80A8728 - thumb_func_end sub_80A86A4 - - thumb_func_start sub_80A8728 -sub_80A8728: @ 80A8728 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _080A8770 @ =gTasks - adds r3, r0, r1 - ldrh r0, [r3, 0x16] - adds r0, 0x1 - strh r0, [r3, 0x16] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _080A878E - movs r0, 0 - strh r0, [r3, 0x16] - ldrh r0, [r3, 0x18] - adds r0, 0x1 - strh r0, [r3, 0x18] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080A8778 - ldr r2, _080A8774 @ =gSprites - movs r0, 0x8 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r3, 0x1A] - ldrh r2, [r0, 0x22] - adds r1, r2 - b _080A878C - .align 2, 0 -_080A8770: .4byte gTasks -_080A8774: .4byte gSprites -_080A8778: - ldr r2, _080A87A0 @ =gSprites - movs r5, 0x8 - ldrsh r1, [r3, r5] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x22] - ldrh r2, [r3, 0x1A] - subs r1, r2 -_080A878C: - strh r1, [r0, 0x22] -_080A878E: - movs r1, 0xA - ldrsh r0, [r3, r1] - cmp r0, 0x1 - beq _080A87DC - cmp r0, 0x1 - bgt _080A87A4 - cmp r0, 0 - beq _080A87AA - b _080A886C - .align 2, 0 -_080A87A0: .4byte gSprites -_080A87A4: - cmp r0, 0x2 - beq _080A880C - b _080A886C -_080A87AA: - ldr r2, _080A87D8 @ =gSprites - movs r5, 0x8 - ldrsh r1, [r3, r5] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r3, 0xC] - ldrh r2, [r0, 0x20] - adds r1, r2 - strh r1, [r0, 0x20] - ldrh r0, [r3, 0xE] - subs r0, 0x1 - strh r0, [r3, 0xE] - lsls r0, 16 - cmp r0, 0 - bne _080A886C - movs r0, 0xE - strh r0, [r3, 0xE] - movs r0, 0x1 - strh r0, [r3, 0xA] - b _080A886C - .align 2, 0 -_080A87D8: .4byte gSprites -_080A87DC: - ldr r2, _080A8808 @ =gSprites - movs r5, 0x8 - ldrsh r1, [r3, r5] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x20] - ldrh r2, [r3, 0xC] - subs r1, r2 - strh r1, [r0, 0x20] - ldrh r0, [r3, 0xE] - subs r0, 0x1 - strh r0, [r3, 0xE] - lsls r0, 16 - cmp r0, 0 - bne _080A886C - movs r0, 0x7 - strh r0, [r3, 0xE] - movs r0, 0x2 - strh r0, [r3, 0xA] - b _080A886C - .align 2, 0 -_080A8808: .4byte gSprites -_080A880C: - ldr r2, _080A8844 @ =gSprites - movs r0, 0x8 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r3, 0xC] - ldrh r5, [r0, 0x20] - adds r1, r5 - strh r1, [r0, 0x20] - ldrh r0, [r3, 0xE] - subs r0, 0x1 - strh r0, [r3, 0xE] - lsls r0, 16 - asrs r1, r0, 16 - cmp r1, 0 - bne _080A886C - ldrh r0, [r3, 0x10] - subs r0, 0x1 - strh r0, [r3, 0x10] - lsls r0, 16 - cmp r0, 0 - beq _080A8848 - movs r0, 0x7 - strh r0, [r3, 0xE] - strh r1, [r3, 0xA] - b _080A886C - .align 2, 0 -_080A8844: .4byte gSprites -_080A8848: - ldrh r1, [r3, 0x18] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080A8866 - movs r0, 0x8 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x22] - ldrh r2, [r3, 0x1A] - subs r1, r2 - strh r1, [r0, 0x22] -_080A8866: - adds r0, r4, 0 - bl DestroyAnimVisualTask -_080A886C: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80A8728 - - thumb_func_start sub_80A8874 -sub_80A8874: @ 80A8874 - push {r4-r6,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _080A88C4 @ =gTasks - adds r5, r1, r0 - ldr r4, _080A88C8 @ =gBattleAnimTarget - ldrb r0, [r4] - bl sub_807492C - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x20 - movs r1, 0 - strh r0, [r5, 0x8] - movs r0, 0x4 - strh r0, [r5, 0xA] - strh r1, [r5, 0xC] - strh r1, [r5, 0xE] - strh r1, [r5, 0x10] - strh r1, [r5, 0x12] - ldrb r0, [r4] - bl sub_8076B2C - strh r0, [r5, 0x26] - ldrb r0, [r4] - bl sub_80768B0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A88D4 - ldr r0, _080A88CC @ =gBattle_BG1_X - ldrh r0, [r0] - strh r0, [r5, 0x14] - ldr r0, _080A88D0 @ =0x04000014 - b _080A88DC - .align 2, 0 -_080A88C4: .4byte gTasks -_080A88C8: .4byte gBattleAnimTarget -_080A88CC: .4byte gBattle_BG1_X -_080A88D0: .4byte 0x04000014 -_080A88D4: - ldr r0, _080A8940 @ =gBattle_BG2_X - ldrh r0, [r0] - strh r0, [r5, 0x14] - ldr r0, _080A8944 @ =0x04000018 -_080A88DC: - str r0, [sp] - ldrh r0, [r5, 0x8] - adds r1, r0, 0 - subs r1, 0x40 - lsls r2, r1, 16 - lsls r0, 16 - cmp r2, r0 - bgt _080A891A - ldr r4, _080A8948 @ =gScanlineEffectRegBuffers - movs r0, 0xF0 - lsls r0, 3 - adds r6, r4, r0 -_080A88F4: - asrs r3, r2, 16 - cmp r3, 0 - blt _080A890C - lsls r1, r3, 1 - adds r2, r1, r4 - ldrh r0, [r5, 0x14] - adds r0, 0xF0 - strh r0, [r2] - adds r1, r6 - ldrh r0, [r5, 0x14] - adds r0, 0xF0 - strh r0, [r1] -_080A890C: - adds r0, r3, 0x1 - lsls r2, r0, 16 - asrs r1, r2, 16 - movs r3, 0x8 - ldrsh r0, [r5, r3] - cmp r1, r0 - ble _080A88F4 -_080A891A: - ldr r0, _080A894C @ =0xa2600001 - str r0, [sp, 0x4] - mov r1, sp - movs r2, 0 - movs r0, 0x1 - strb r0, [r1, 0x8] - mov r0, sp - strb r2, [r0, 0x9] - ldr r0, [sp] - ldr r1, [sp, 0x4] - ldr r2, [sp, 0x8] - bl ScanlineEffect_SetParams - ldr r0, _080A8950 @ =sub_80A8954 - str r0, [r5] - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A8940: .4byte gBattle_BG2_X -_080A8944: .4byte 0x04000018 -_080A8948: .4byte gScanlineEffectRegBuffers -_080A894C: .4byte 0xa2600001 -_080A8950: .4byte sub_80A8954 - thumb_func_end sub_80A8874 - - thumb_func_start sub_80A8954 -sub_80A8954: @ 80A8954 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _080A8974 @ =gTasks - adds r3, r0, r1 - movs r1, 0x10 - ldrsh r0, [r3, r1] - cmp r0, 0 - beq _080A8978 - cmp r0, 0x1 - beq _080A898E - b _080A8A0E - .align 2, 0 -_080A8974: .4byte gTasks -_080A8978: - ldrh r0, [r3, 0x12] - adds r0, 0x1 - strh r0, [r3, 0x12] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - ble _080A8A0E - ldrh r0, [r3, 0x10] - adds r0, 0x1 - strh r0, [r3, 0x10] - b _080A8A0E -_080A898E: - ldrh r0, [r3, 0xA] - adds r0, 0x1 - strh r0, [r3, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _080A8A0E - movs r0, 0 - strh r0, [r3, 0xA] - ldrh r1, [r3, 0xE] - movs r0, 0x3 - ands r0, r1 - strh r0, [r3, 0xC] - ldrh r0, [r3, 0x8] - subs r0, r1 - strh r0, [r3, 0x12] - movs r2, 0xC - ldrsh r1, [r3, r2] - cmp r1, 0x1 - beq _080A89C4 - cmp r1, 0x1 - ble _080A89CC - cmp r1, 0x2 - beq _080A89C8 - cmp r1, 0x3 - beq _080A89C8 - b _080A89CC -_080A89C4: - subs r0, 0x2 - b _080A89CA -_080A89C8: - adds r0, 0x1 -_080A89CA: - strh r0, [r3, 0x12] -_080A89CC: - movs r1, 0x12 - ldrsh r0, [r3, r1] - cmp r0, 0 - blt _080A89F0 - ldr r2, _080A8A14 @ =gScanlineEffectRegBuffers - lsls r0, 1 - adds r0, r2 - ldrh r1, [r3, 0x14] - strh r1, [r0] - movs r1, 0x12 - ldrsh r0, [r3, r1] - lsls r0, 1 - movs r1, 0xF0 - lsls r1, 3 - adds r2, r1 - adds r0, r2 - ldrh r1, [r3, 0x14] - strh r1, [r0] -_080A89F0: - ldrh r0, [r3, 0xE] - adds r0, 0x1 - strh r0, [r3, 0xE] - lsls r0, 16 - asrs r0, 16 - movs r2, 0x26 - ldrsh r1, [r3, r2] - cmp r0, r1 - blt _080A8A0E - ldr r1, _080A8A18 @ =gScanlineEffect - movs r0, 0x3 - strb r0, [r1, 0x15] - adds r0, r4, 0 - bl DestroyAnimVisualTask -_080A8A0E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A8A14: .4byte gScanlineEffectRegBuffers -_080A8A18: .4byte gScanlineEffect - thumb_func_end sub_80A8954 - - thumb_func_start sub_80A8A1C -sub_80A8A1C: @ 80A8A1C - push {r4-r6,lr} - adds r4, r0, 0 - ldr r6, _080A8A70 @ =gBattleAnimTarget - ldrb r0, [r6] - movs r1, 0 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x10 - movs r5, 0 - strh r0, [r4, 0x20] - ldrb r0, [r6] - bl sub_807492C - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x10 - strh r0, [r4, 0x22] - strh r5, [r4, 0x2E] - strh r5, [r4, 0x30] - strh r5, [r4, 0x32] - movs r0, 0x10 - strh r0, [r4, 0x34] - strh r5, [r4, 0x36] - ldrb r0, [r6] - movs r1, 0 - bl sub_8076B2C - adds r0, 0x2 - strh r0, [r4, 0x38] - movs r0, 0x3F - bl sub_8073A44 - lsls r0, 24 - asrs r0, 24 - strh r0, [r4, 0x3A] - ldr r0, _080A8A74 @ =sub_80A8A78 - str r0, [r4, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A8A70: .4byte gBattleAnimTarget -_080A8A74: .4byte sub_80A8A78 - thumb_func_end sub_80A8A1C - - thumb_func_start sub_80A8A78 -sub_80A8A78: @ 80A8A78 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x2E - ldrsh r1, [r4, r0] - cmp r1, 0x1 - beq _080A8ADC - cmp r1, 0x1 - bgt _080A8A8E - cmp r1, 0 - beq _080A8A94 - b _080A8BBC -_080A8A8E: - cmp r1, 0x2 - beq _080A8B6E - b _080A8BBC -_080A8A94: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080A8ABE - strh r1, [r4, 0x32] - adds r3, r4, 0 - adds r3, 0x3E - ldrb r2, [r3] - lsrs r1, r2, 2 - movs r0, 0x1 - eors r1, r0 - ands r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] -_080A8ABE: - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x10 - ble _080A8BBC - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x5 - negs r1, r1 - ands r1, r0 - strb r1, [r2] - b _080A8B66 -_080A8ADC: - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _080A8B22 - ldrh r2, [r4, 0x32] - movs r3, 0x32 - ldrsh r1, [r4, r3] - movs r3, 0x38 - ldrsh r0, [r4, r3] - cmp r1, r0 - bge _080A8B22 - movs r0, 0 - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x22] - subs r0, 0x1 - strh r0, [r4, 0x22] - adds r0, r2, 0x1 - strh r0, [r4, 0x32] - movs r1, 0x32 - ldrsh r0, [r4, r1] - movs r1, 0xA - bl __modsi3 - lsls r0, 16 - cmp r0, 0 - bne _080A8B22 - ldrh r1, [r4, 0x3A] - lsls r1, 24 - asrs r1, 24 - movs r0, 0xC6 - bl PlaySE12WithPanning -_080A8B22: - ldrh r0, [r4, 0x34] - ldrh r2, [r4, 0x36] - adds r1, r0, r2 - strh r1, [r4, 0x36] - lsls r0, r1, 16 - asrs r2, r0, 16 - cmp r2, 0x1F - ble _080A8B36 - movs r0, 0x40 - b _080A8B44 -_080A8B36: - movs r0, 0x20 - negs r0, r0 - cmp r2, r0 - bgt _080A8B50 - movs r2, 0x40 - negs r2, r2 - adds r0, r2, 0 -_080A8B44: - subs r0, r1 - strh r0, [r4, 0x36] - movs r3, 0x34 - ldrsh r0, [r4, r3] - negs r0, r0 - strh r0, [r4, 0x34] -_080A8B50: - ldrh r0, [r4, 0x36] - movs r2, 0 - strh r0, [r4, 0x24] - movs r0, 0x38 - ldrsh r1, [r4, r0] - movs r3, 0x32 - ldrsh r0, [r4, r3] - cmp r1, r0 - bne _080A8BBC - strh r2, [r4, 0x30] - strh r2, [r4, 0x32] -_080A8B66: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _080A8BBC -_080A8B6E: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080A8B9A - movs r0, 0 - strh r0, [r4, 0x32] - adds r3, r4, 0 - adds r3, 0x3E - ldrb r2, [r3] - lsrs r1, r2, 2 - movs r0, 0x1 - eors r1, r0 - ands r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] -_080A8B9A: - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x10 - ble _080A8BBC - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r0, r4, 0 - bl DestroyAnimSprite -_080A8BBC: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A8A78 - - thumb_func_start sub_80A8BC4 -sub_80A8BC4: @ 80A8BC4 - push {r4-r7,lr} - sub sp, 0x4 - adds r6, r0, 0 - movs r5, 0 - mov r0, sp - strh r5, [r0] - mov r1, sp - adds r1, 0x2 - strh r5, [r1] - ldr r0, _080A8BE8 @ =gBattleAnimArgs - movs r3, 0x4 - ldrsh r2, [r0, r3] - adds r7, r1, 0 - adds r1, r0, 0 - cmp r2, 0 - bne _080A8BF0 - ldr r0, _080A8BEC @ =gBattleAnimAttacker - b _080A8BF2 - .align 2, 0 -_080A8BE8: .4byte gBattleAnimArgs -_080A8BEC: .4byte gBattleAnimAttacker -_080A8BF0: - ldr r0, _080A8C2C @ =gBattleAnimTarget -_080A8BF2: - ldrb r5, [r0] - ldrb r1, [r1, 0x6] - movs r0, 0x1 - adds r4, r0, 0 - eors r4, r1 - bl sub_8075290 - lsls r0, 24 - cmp r0, 0 - beq _080A8C6A - movs r1, 0x2 - adds r0, r5, 0 - eors r0, r1 - bl sub_8072DF0 - lsls r0, 24 - cmp r0, 0 - beq _080A8C6A - adds r0, r5, 0 - adds r1, r4, 0 - mov r2, sp - adds r3, r7, 0 - bl sub_8076D9C - cmp r4, 0 - bne _080A8C30 - adds r0, r5, 0 - movs r1, 0 - b _080A8C34 - .align 2, 0 -_080A8C2C: .4byte gBattleAnimTarget -_080A8C30: - adds r0, r5, 0 - movs r1, 0x2 -_080A8C34: - bl sub_8074480 - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r5, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080A8C60 - ldr r2, _080A8C5C @ =gBattleAnimArgs - mov r0, sp - ldrh r1, [r0] - subs r1, r4 - ldrh r0, [r2] - subs r1, r0 - subs r0, r1 - strh r0, [r2] - b _080A8C6A - .align 2, 0 -_080A8C5C: .4byte gBattleAnimArgs -_080A8C60: - ldr r1, _080A8C7C @ =gBattleAnimArgs - mov r0, sp - ldrh r0, [r0] - subs r0, r4 - strh r0, [r1] -_080A8C6A: - ldr r1, _080A8C80 @ =sub_8075D9C - str r1, [r6, 0x1C] - adds r0, r6, 0 - bl _call_via_r1 - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A8C7C: .4byte gBattleAnimArgs -_080A8C80: .4byte sub_8075D9C - thumb_func_end sub_80A8BC4 - - thumb_func_start sub_80A8C84 -sub_80A8C84: @ 80A8C84 - push {r4,lr} - adds r4, r0, 0 - bl sub_80755E0 - lsls r0, 24 - cmp r0, 0 - beq _080A8C9E - adds r0, r4, 0 - bl FreeSpriteOamMatrix - adds r0, r4, 0 - bl DestroyAnimSprite -_080A8C9E: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A8C84 - - thumb_func_start sub_80A8CA4 -sub_80A8CA4: @ 80A8CA4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - adds r5, r0, 0 - movs r6, 0 - mov r0, sp - strh r6, [r0] - mov r1, sp - adds r1, 0x2 - strh r6, [r1] - ldr r0, _080A8CD0 @ =gBattleAnimArgs - movs r2, 0xA - ldrsh r0, [r0, r2] - cmp r0, 0 - bne _080A8CDC - ldr r0, _080A8CD4 @ =gBattleAnimAttacker - ldrb r7, [r0] - ldr r0, _080A8CD8 @ =gBattleAnimTarget - b _080A8CE2 - .align 2, 0 -_080A8CD0: .4byte gBattleAnimArgs -_080A8CD4: .4byte gBattleAnimAttacker -_080A8CD8: .4byte gBattleAnimTarget -_080A8CDC: - ldr r0, _080A8CFC @ =gBattleAnimTarget - ldrb r7, [r0] - ldr r0, _080A8D00 @ =gBattleAnimAttacker -_080A8CE2: - ldrb r0, [r0] - mov r8, r0 - ldr r0, _080A8D04 @ =gBattleAnimArgs - movs r3, 0xC - ldrsh r0, [r0, r3] - cmp r0, 0 - bne _080A8D08 - movs r0, 0 - mov r10, r0 - movs r1, 0x1 - str r1, [sp, 0x4] - b _080A8D10 - .align 2, 0 -_080A8CFC: .4byte gBattleAnimTarget -_080A8D00: .4byte gBattleAnimAttacker -_080A8D04: .4byte gBattleAnimArgs -_080A8D08: - movs r2, 0x2 - mov r10, r2 - movs r3, 0x3 - str r3, [sp, 0x4] -_080A8D10: - adds r0, r7, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080A8D6C - adds r0, r7, 0 - mov r1, r10 - bl sub_8074480 - lsls r0, 24 - ldr r1, _080A8D50 @ =gBattleAnimArgs - lsrs r0, 24 - ldrh r1, [r1] - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - movs r0, 0x2 - mov r4, r8 - eors r4, r0 - adds r0, r4, 0 - bl sub_8072DF0 - lsls r0, 24 - cmp r0, 0 - beq _080A8D5C - ldr r2, _080A8D54 @ =gSprites - ldr r0, _080A8D58 @ =gUnknown_2023D44 - adds r0, r4, r0 - b _080A8DEA - .align 2, 0 -_080A8D50: .4byte gBattleAnimArgs -_080A8D54: .4byte gSprites -_080A8D58: .4byte gUnknown_2023D44 -_080A8D5C: - ldr r2, _080A8D64 @ =gSprites - ldr r0, _080A8D68 @ =gUnknown_2023D44 - add r0, r8 - b _080A8DEA - .align 2, 0 -_080A8D64: .4byte gSprites -_080A8D68: .4byte gUnknown_2023D44 -_080A8D6C: - adds r0, r7, 0 - mov r1, r10 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080A8DD4 @ =gBattleAnimArgs - ldrh r1, [r1] - subs r0, r1 - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080A8DE4 - movs r0, 0x2 - adds r4, r7, 0 - eors r4, r0 - adds r0, r4, 0 - bl sub_8072DF0 - lsls r0, 24 - cmp r0, 0 - beq _080A8DE4 - ldr r3, _080A8DD8 @ =gSprites - ldr r2, _080A8DDC @ =gUnknown_2023D44 - adds r0, r7, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r6, r0, r3 - adds r2, r4, r2 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, r0, r3 - movs r0, 0x20 - ldrsh r1, [r6, r0] - movs r3, 0x20 - ldrsh r0, [r2, r3] - cmp r1, r0 - bge _080A8DE0 - adds r0, r2, 0 - adds r0, 0x43 - ldrb r0, [r0] - adds r0, 0x1 - b _080A8DFA - .align 2, 0 -_080A8DD4: .4byte gBattleAnimArgs -_080A8DD8: .4byte gSprites -_080A8DDC: .4byte gUnknown_2023D44 -_080A8DE0: - adds r0, r6, 0 - b _080A8DF4 -_080A8DE4: - ldr r2, _080A8E40 @ =gSprites - ldr r0, _080A8E44 @ =gUnknown_2023D44 - adds r0, r7, r0 -_080A8DEA: - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 -_080A8DF4: - adds r0, 0x43 - ldrb r0, [r0] - subs r0, 0x1 -_080A8DFA: - adds r1, r5, 0 - adds r1, 0x43 - strb r0, [r1] - adds r0, r7, 0 - ldr r1, [sp, 0x4] - bl sub_8074480 - lsls r0, 24 - ldr r4, _080A8E48 @ =gBattleAnimArgs - lsrs r0, 24 - ldrh r1, [r4, 0x2] - adds r0, r1 - lsls r0, 16 - lsrs r6, r0, 16 - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080A8E4C - movs r1, 0x2 - mov r0, r8 - eors r0, r1 - bl sub_8072DF0 - lsls r0, 24 - cmp r0, 0 - beq _080A8E4C - ldrb r1, [r4, 0xC] - mov r0, r8 - mov r2, sp - mov r3, sp - adds r3, 0x2 - bl sub_8076D9C - b _080A8E6C - .align 2, 0 -_080A8E40: .4byte gSprites -_080A8E44: .4byte gUnknown_2023D44 -_080A8E48: .4byte gBattleAnimArgs -_080A8E4C: - mov r4, sp - mov r0, r8 - mov r1, r10 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - mov r0, r8 - ldr r1, [sp, 0x4] - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - mov r2, sp - strh r0, [r2, 0x2] -_080A8E6C: - mov r0, r8 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080A8E90 - mov r3, sp - mov r2, sp - ldr r1, _080A8E8C @ =gBattleAnimArgs - ldrh r0, [r1, 0x6] - ldrh r2, [r2] - adds r0, r2 - strh r0, [r3] - adds r2, r1, 0 - b _080A8E9E - .align 2, 0 -_080A8E8C: .4byte gBattleAnimArgs -_080A8E90: - mov r3, sp - mov r0, sp - ldr r2, _080A8EE0 @ =gBattleAnimArgs - ldrh r0, [r0] - ldrh r1, [r2, 0x6] - subs r0, r1 - strh r0, [r3] -_080A8E9E: - ldrh r1, [r2, 0x8] - mov r3, sp - ldrh r3, [r3, 0x2] - adds r1, r3 - mov r0, sp - strh r1, [r0, 0x2] - mov r3, r9 - strh r3, [r5, 0x30] - strh r3, [r5, 0x20] - strh r6, [r5, 0x34] - strh r6, [r5, 0x22] - ldrh r0, [r0] - strh r0, [r5, 0x32] - strh r1, [r5, 0x36] - ldrh r0, [r2] - strh r0, [r5, 0x2E] - adds r0, r5, 0 - bl obj_translate_based_on_private_1_2_3_4 - ldr r1, _080A8EE4 @ =sub_80A8C84 - str r1, [r5, 0x1C] - adds r0, r5, 0 - bl _call_via_r1 - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A8EE0: .4byte gBattleAnimArgs -_080A8EE4: .4byte sub_80A8C84 - thumb_func_end sub_80A8CA4 - - thumb_func_start sub_80A8EE8 -sub_80A8EE8: @ 80A8EE8 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _080A8F28 @ =0x000027db - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _080A8F0E - lsls r0, 20 - ldr r1, _080A8F2C @ =0x01010000 - adds r0, r1 - lsrs r0, 16 - ldr r1, _080A8F30 @ =gBattleAnimArgs - ldrb r2, [r1, 0xA] - ldrh r3, [r1, 0x8] - movs r1, 0xF - bl BlendPalette -_080A8F0E: - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - ldr r1, _080A8F34 @ =sub_8075D9C - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A8F28: .4byte 0x000027db -_080A8F2C: .4byte 0x01010000 -_080A8F30: .4byte gBattleAnimArgs -_080A8F34: .4byte sub_8075D9C - thumb_func_end sub_80A8EE8 - - thumb_func_start sub_80A8F38 -sub_80A8F38: @ 80A8F38 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0 - bl sub_8075160 - ldr r0, _080A8F6C @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - movs r1, 0xA0 - cmp r0, 0 - beq _080A8F54 - ldr r1, _080A8F70 @ =0x0000ff60 -_080A8F54: - movs r0, 0xE0 - lsls r0, 2 - strh r0, [r4, 0x2E] - strh r1, [r4, 0x30] - ldr r0, _080A8F74 @ =gBattleAnimArgs - ldrh r0, [r0, 0x4] - strh r0, [r4, 0x3C] - ldr r0, _080A8F78 @ =sub_80A8F7C - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A8F6C: .4byte gBattleAnimAttacker -_080A8F70: .4byte 0x0000ff60 -_080A8F74: .4byte gBattleAnimArgs -_080A8F78: .4byte sub_80A8F7C - thumb_func_end sub_80A8F38 - - thumb_func_start sub_80A8F7C -sub_80A8F7C: @ 80A8F7C - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r2, [r4, 0x2E] - lsls r0, r2, 16 - asrs r0, 24 - ldrh r1, [r4, 0x26] - subs r1, r0 - movs r5, 0 - strh r1, [r4, 0x26] - ldrh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 24 - strh r0, [r4, 0x24] - subs r2, 0x20 - strh r2, [r4, 0x2E] - ldr r0, _080A8FE8 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - movs r1, 0xA0 - cmp r0, 0 - beq _080A8FAC - ldr r1, _080A8FEC @ =0x0000ff60 -_080A8FAC: - lsls r0, r1, 16 - asrs r0, 16 - ldrh r1, [r4, 0x30] - adds r0, r1 - strh r0, [r4, 0x30] - ldrh r1, [r4, 0x26] - movs r2, 0x26 - ldrsh r0, [r4, r2] - cmp r0, 0 - ble _080A8FE0 - ldrh r2, [r4, 0x22] - adds r0, r1, r2 - strh r0, [r4, 0x22] - ldrh r0, [r4, 0x24] - ldrh r1, [r4, 0x20] - adds r0, r1 - strh r0, [r4, 0x20] - strh r5, [r4, 0x26] - strh r5, [r4, 0x24] - strh r5, [r4, 0x2E] - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - ldr r0, _080A8FF0 @ =sub_80A8FF4 - str r0, [r4, 0x1C] -_080A8FE0: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A8FE8: .4byte gBattleAnimAttacker -_080A8FEC: .4byte 0x0000ff60 -_080A8FF0: .4byte sub_80A8FF4 - thumb_func_end sub_80A8F7C - - thumb_func_start sub_80A8FF4 -sub_80A8FF4: @ 80A8FF4 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r1, r0, 0x1 - strh r1, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x13 - ble _080A9012 - adds r0, r4, 0 - movs r1, 0x2 - bl StartSpriteAffineAnim - ldr r0, _080A9018 @ =sub_80A901C - str r0, [r4, 0x1C] -_080A9012: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A9018: .4byte sub_80A901C - thumb_func_end sub_80A8FF4 - - thumb_func_start sub_80A901C -sub_80A901C: @ 80A901C - push {r4,lr} - adds r4, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080A9082 - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - movs r0, 0 - strh r0, [r4, 0x2E] - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080A9068 - ldrh r2, [r4, 0x4] - lsls r1, r2, 22 - lsrs r1, 22 - adds r1, 0x10 - ldr r3, _080A905C @ =0x000003ff - adds r0, r3, 0 - ands r1, r0 - ldr r0, _080A9060 @ =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r4, 0x4] - ldr r0, _080A9064 @ =sub_80A9094 - b _080A9080 - .align 2, 0 -_080A905C: .4byte 0x000003ff -_080A9060: .4byte 0xfffffc00 -_080A9064: .4byte sub_80A9094 -_080A9068: - ldrh r2, [r4, 0x4] - lsls r1, r2, 22 - lsrs r1, 22 - adds r1, 0x20 - ldr r3, _080A9088 @ =0x000003ff - adds r0, r3, 0 - ands r1, r0 - ldr r0, _080A908C @ =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r4, 0x4] - ldr r0, _080A9090 @ =sub_80A911C -_080A9080: - str r0, [r4, 0x1C] -_080A9082: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A9088: .4byte 0x000003ff -_080A908C: .4byte 0xfffffc00 -_080A9090: .4byte sub_80A911C - thumb_func_end sub_80A901C - - thumb_func_start sub_80A9094 -sub_80A9094: @ 80A9094 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x26] - subs r0, 0x2 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x9 - bne _080A90CA - movs r0, 0x10 - strh r0, [r4, 0x2E] - movs r0, 0 - strh r0, [r4, 0x30] - movs r1, 0xFD - lsls r1, 6 - movs r0, 0x50 - bl SetGpuReg - ldrh r1, [r4, 0x2E] - movs r0, 0x52 - bl SetGpuReg - ldr r0, _080A90D0 @ =sub_80A90D4 - str r0, [r4, 0x1C] -_080A90CA: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A90D0: .4byte sub_80A90D4 - thumb_func_end sub_80A9094 - - thumb_func_start sub_80A90D4 -sub_80A90D4: @ 80A90D4 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x30] - adds r1, r0, 0x1 - strh r1, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x3 - bl __modsi3 - lsls r0, 16 - cmp r0, 0 - bne _080A9112 - ldrh r1, [r4, 0x2E] - subs r1, 0x1 - strh r1, [r4, 0x2E] - movs r0, 0x10 - subs r0, r1 - lsls r0, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080A9112 - ldr r0, _080A9118 @ =sub_80A911C - str r0, [r4, 0x1C] -_080A9112: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A9118: .4byte sub_80A911C - thumb_func_end sub_80A90D4 - - thumb_func_start sub_80A911C -sub_80A911C: @ 80A911C - push {lr} - adds r3, r0, 0 - ldr r0, _080A9144 @ =gBattleAnimArgs - ldrh r1, [r0, 0xE] - ldr r0, _080A9148 @ =0x0000ffff - cmp r1, r0 - bne _080A9154 - adds r2, r3, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - movs r1, 0x3C - ldrsh r0, [r3, r1] - cmp r0, 0 - bne _080A9150 - ldr r0, _080A914C @ =sub_80A915C - b _080A9152 - .align 2, 0 -_080A9144: .4byte gBattleAnimArgs -_080A9148: .4byte 0x0000ffff -_080A914C: .4byte sub_80A915C -_080A9150: - ldr r0, _080A9158 @ =DestroyAnimSprite -_080A9152: - str r0, [r3, 0x1C] -_080A9154: - pop {r0} - bx r0 - .align 2, 0 -_080A9158: .4byte DestroyAnimSprite - thumb_func_end sub_80A911C - - thumb_func_start sub_80A915C -sub_80A915C: @ 80A915C - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - adds r0, r4, 0 - bl DestroyAnimSprite - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A915C - - thumb_func_start sub_80A917C -sub_80A917C: @ 80A917C - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, _080A91AC @ =gTasks - adds r4, r0 - movs r0, 0 - bl GetAnimBankSpriteId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - strh r1, [r4, 0x8] - ldr r2, _080A91B0 @ =gUnknown_83E4128 - adds r0, r4, 0 - bl sub_80762D0 - ldr r0, _080A91B4 @ =sub_80A91B8 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A91AC: .4byte gTasks -_080A91B0: .4byte gUnknown_83E4128 -_080A91B4: .4byte sub_80A91B8 - thumb_func_end sub_80A917C - - thumb_func_start sub_80A91B8 -sub_80A91B8: @ 80A91B8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _080A9208 @ =gTasks - adds r4, r0, r1 - adds r0, r4, 0 - bl sub_8076308 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0 - bne _080A9202 - ldr r2, _080A920C @ =gSprites - movs r0, 0x8 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r3, [r0, 0x26] - movs r0, 0x8 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - adds r0, r5, 0 - bl DestroyAnimVisualTask -_080A9202: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A9208: .4byte gTasks -_080A920C: .4byte gSprites - thumb_func_end sub_80A91B8 - - thumb_func_start sub_80A9210 -sub_80A9210: @ 80A9210 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _080A9244 @ =gTasks - adds r4, r1, r0 - movs r0, 0 - strh r0, [r4, 0x8] - strh r0, [r4, 0xA] - strh r0, [r4, 0xC] - strh r0, [r4, 0xE] - movs r0, 0x3 - strh r0, [r4, 0x20] - ldr r0, _080A9248 @ =gBattleAnimTarget - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080A9250 - ldr r0, _080A924C @ =0x0000ffff - strh r0, [r4, 0x22] - movs r0, 0x8 - b _080A9256 - .align 2, 0 -_080A9244: .4byte gTasks -_080A9248: .4byte gBattleAnimTarget -_080A924C: .4byte 0x0000ffff -_080A9250: - movs r0, 0x1 - strh r0, [r4, 0x22] - ldr r0, _080A9270 @ =0x0000fff8 -_080A9256: - strh r0, [r4, 0x24] - movs r0, 0x1 - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x26] - ldr r0, _080A9274 @ =sub_80A9278 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A9270: .4byte 0x0000fff8 -_080A9274: .4byte sub_80A9278 - thumb_func_end sub_80A9210 - - thumb_func_start sub_80A9278 -sub_80A9278: @ 80A9278 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _080A929C @ =gTasks - adds r3, r0, r1 - movs r0, 0x8 - ldrsh r4, [r3, r0] - cmp r4, 0x1 - beq _080A92CC - cmp r4, 0x1 - bgt _080A92A0 - cmp r4, 0 - beq _080A92AA - b _080A9392 - .align 2, 0 -_080A929C: .4byte gTasks -_080A92A0: - cmp r4, 0x2 - beq _080A9348 - cmp r4, 0x3 - beq _080A9362 - b _080A9392 -_080A92AA: - ldr r2, _080A92C8 @ =gSprites - movs r0, 0x26 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r3, 0x24] - ldrh r2, [r0, 0x24] - adds r1, r2 - strh r1, [r0, 0x24] - strh r4, [r3, 0xA] - strh r4, [r3, 0xC] - strh r4, [r3, 0xE] - b _080A935A - .align 2, 0 -_080A92C8: .4byte gSprites -_080A92CC: - ldrh r0, [r3, 0xA] - adds r0, 0x1 - strh r0, [r3, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080A9392 - movs r0, 0 - strh r0, [r3, 0xA] - ldrh r0, [r3, 0xC] - adds r0, 0x1 - strh r0, [r3, 0xC] - ands r0, r4 - lsls r0, 16 - cmp r0, 0 - beq _080A9304 - ldr r2, _080A9300 @ =gSprites - movs r4, 0x26 - ldrsh r1, [r3, r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x24] - adds r1, 0x6 - b _080A9316 - .align 2, 0 -_080A9300: .4byte gSprites -_080A9304: - ldr r2, _080A9344 @ =gSprites - movs r0, 0x26 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x24] - subs r1, 0x6 -_080A9316: - strh r1, [r0, 0x24] - ldrh r0, [r3, 0xE] - adds r0, 0x1 - strh r0, [r3, 0xE] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _080A9392 - ldrh r1, [r3, 0xC] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080A935A - movs r1, 0x26 - ldrsh r0, [r3, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrh r0, [r1, 0x24] - subs r0, 0x6 - strh r0, [r1, 0x24] - b _080A935A - .align 2, 0 -_080A9344: .4byte gSprites -_080A9348: - ldrh r0, [r3, 0x20] - subs r0, 0x1 - strh r0, [r3, 0x20] - lsls r0, 16 - cmp r0, 0 - beq _080A935A - movs r0, 0 - strh r0, [r3, 0x8] - b _080A9392 -_080A935A: - ldrh r0, [r3, 0x8] - adds r0, 0x1 - strh r0, [r3, 0x8] - b _080A9392 -_080A9362: - ldr r2, _080A9398 @ =gSprites - movs r4, 0x26 - ldrsh r1, [r3, r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r3, 0x22] - ldrh r4, [r0, 0x24] - adds r1, r4 - strh r1, [r0, 0x24] - movs r0, 0x26 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x24 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080A9392 - adds r0, r5, 0 - bl DestroyAnimVisualTask -_080A9392: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A9398: .4byte gSprites - thumb_func_end sub_80A9278 - - thumb_func_start sub_80A939C -sub_80A939C: @ 80A939C - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, _080A93D8 @ =gTasks - adds r4, r0 - movs r0, 0 - strh r0, [r4, 0x8] - strh r0, [r4, 0xA] - strh r0, [r4, 0xC] - strh r0, [r4, 0xE] - movs r0, 0x1 - strh r0, [r4, 0x10] - movs r0, 0xE - strh r0, [r4, 0x22] - movs r0, 0x2 - strh r0, [r4, 0x24] - movs r0, 0 - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x26] - ldr r0, _080A93DC @ =sub_80A93E0 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A93D8: .4byte gTasks -_080A93DC: .4byte sub_80A93E0 - thumb_func_end sub_80A939C - - thumb_func_start sub_80A93E0 -sub_80A93E0: @ 80A93E0 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _080A9434 @ =gTasks - adds r4, r0, r1 - movs r0, 0x8 - ldrsh r2, [r4, r0] - cmp r2, 0 - bne _080A94A6 - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - movs r3, 0x10 - ldrsh r1, [r4, r3] - cmp r0, r1 - ble _080A94A6 - strh r2, [r4, 0xA] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080A943C - ldr r3, _080A9438 @ =gSprites - movs r6, 0x26 - ldrsh r1, [r4, r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - b _080A9452 - .align 2, 0 -_080A9434: .4byte gTasks -_080A9438: .4byte gSprites -_080A943C: - ldr r3, _080A9484 @ =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 -_080A9452: - strb r1, [r0] - ldrh r0, [r4, 0xE] - adds r0, 0x1 - movs r2, 0 - strh r0, [r4, 0xE] - lsls r0, 16 - asrs r0, 16 - movs r6, 0x22 - ldrsh r1, [r4, r6] - cmp r0, r1 - blt _080A94A6 - ldrh r0, [r4, 0x10] - adds r0, 0x1 - strh r0, [r4, 0x10] - lsls r0, 16 - asrs r0, 16 - movs r6, 0x24 - ldrsh r1, [r4, r6] - cmp r0, r1 - bge _080A9488 - strh r2, [r4, 0xA] - strh r2, [r4, 0xC] - strh r2, [r4, 0xE] - b _080A94A6 - .align 2, 0 -_080A9484: .4byte gSprites -_080A9488: - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - adds r0, r5, 0 - bl DestroyAnimVisualTask -_080A94A6: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80A93E0 - - thumb_func_start sub_80A94AC -sub_80A94AC: @ 80A94AC - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, _080A94FC @ =gTasks - adds r4, r0 - movs r0, 0 - strh r0, [r4, 0x8] - movs r1, 0x4 - strh r1, [r4, 0xA] - strh r0, [r4, 0xC] - strh r0, [r4, 0xE] - strh r0, [r4, 0x10] - strh r0, [r4, 0x12] - strh r0, [r4, 0x14] - strh r0, [r4, 0x16] - strh r0, [r4, 0x18] - strh r0, [r4, 0x22] - ldr r5, _080A9500 @ =gBattleAnimAttacker - ldrb r0, [r5] - movs r1, 0 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x24] - ldrb r0, [r5] - movs r1, 0x1 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x26] - ldr r0, _080A9504 @ =sub_80A9508 - str r0, [r4] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A94FC: .4byte gTasks -_080A9500: .4byte gBattleAnimAttacker -_080A9504: .4byte sub_80A9508 - thumb_func_end sub_80A94AC - - thumb_func_start sub_80A9508 -sub_80A9508: @ 80A9508 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, _080A952C @ =gTasks - adds r4, r0, r1 - movs r0, 0x18 - ldrsh r2, [r4, r0] - cmp r2, 0x1 - beq _080A9574 - cmp r2, 0x1 - bgt _080A9530 - cmp r2, 0 - beq _080A9536 - b _080A9590 - .align 2, 0 -_080A952C: .4byte gTasks -_080A9530: - cmp r2, 0x2 - beq _080A958C - b _080A9590 -_080A9536: - ldrh r0, [r4, 0x10] - adds r0, 0x1 - strh r0, [r4, 0x10] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080A9590 - strh r2, [r4, 0x10] - ldrh r0, [r4, 0x12] - adds r0, 0x1 - movs r1, 0x1 - ands r0, r1 - strh r0, [r4, 0x12] - ldrh r0, [r4, 0x14] - adds r0, 0x1 - strh r0, [r4, 0x14] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - ble _080A9590 - movs r1, 0x16 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080A956E - strh r2, [r4, 0x14] - movs r0, 0x1 - strh r0, [r4, 0x18] - b _080A9590 -_080A956E: - movs r0, 0x2 - strh r0, [r4, 0x18] - b _080A9590 -_080A9574: - movs r1, 0 - strh r1, [r4, 0x12] - ldrh r0, [r4, 0x10] - adds r0, 0x1 - strh r0, [r4, 0x10] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - ble _080A9590 - strh r2, [r4, 0x16] - strh r1, [r4, 0x18] - b _080A9590 -_080A958C: - movs r0, 0x1 - strh r0, [r4, 0x12] -_080A9590: - movs r2, 0x8 - ldrsh r5, [r4, r2] - cmp r5, 0 - beq _080A959E - cmp r5, 0x1 - beq _080A9634 - b _080A9642 -_080A959E: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _080A9642 - strh r5, [r4, 0xA] - ldr r0, _080A9628 @ =gUnknown_83E4154 - movs r3, 0x24 - ldrsh r1, [r4, r3] - movs r3, 0x26 - ldrsh r2, [r4, r3] - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x40 - beq _080A9642 - ldr r0, _080A962C @ =gSprites - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - strh r6, [r1, 0x2E] - movs r0, 0xD - strh r0, [r1, 0x30] - ldr r2, _080A9630 @ =gUnknown_83E416C - movs r3, 0xC - ldrsh r0, [r4, r3] - lsls r0, 1 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - strh r0, [r1, 0x24] - movs r3, 0xC - ldrsh r0, [r4, r3] - lsls r0, 1 - adds r2, 0x1 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - strh r0, [r1, 0x26] - ldrh r0, [r4, 0x22] - adds r0, 0x1 - strh r0, [r4, 0x22] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _080A9642 - strh r5, [r4, 0xC] - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - ble _080A9642 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080A9642 - .align 2, 0 -_080A9628: .4byte gUnknown_83E4154 -_080A962C: .4byte gSprites -_080A9630: .4byte gUnknown_83E416C -_080A9634: - movs r1, 0x22 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080A9642 - adds r0, r6, 0 - bl DestroyAnimVisualTask -_080A9642: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80A9508 - - thumb_func_start sub_80A9648 -sub_80A9648: @ 80A9648 - push {r4,lr} - adds r3, r0, 0 - ldr r4, _080A96B0 @ =gTasks - movs r0, 0x2E - ldrsh r1, [r3, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r4 - movs r1, 0x3E - adds r1, r3 - mov r12, r1 - movs r2, 0x1 - ldrb r1, [r0, 0x12] - ands r1, r2 - lsls r1, 2 - mov r0, r12 - ldrb r2, [r0] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - mov r1, r12 - strb r0, [r1] - adds r0, r3, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080A96AA - movs r0, 0x30 - ldrsh r1, [r3, r0] - lsls r1, 1 - movs r0, 0x2E - ldrsh r2, [r3, r0] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r0, r4, 0 - adds r0, 0x8 - adds r1, r0 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - adds r0, r3, 0 - bl DestroySprite -_080A96AA: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A96B0: .4byte gTasks - thumb_func_end sub_80A9648 - - thumb_func_start sub_80A96B4 -sub_80A96B4: @ 80A96B4 - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, _080A9750 @ =0x000027de - bl IndexOfSpritePaletteTag - mov r1, sp - strb r0, [r1] - movs r4, 0x1 - ldr r0, _080A9754 @ =0x00002710 - adds r5, r0, 0 -_080A96CC: - subs r0, r5, r4 - lsls r0, 16 - lsrs r0, 16 - bl AllocSpritePalette - mov r2, sp - adds r1, r2, r4 - strb r0, [r1] - adds r4, 0x1 - cmp r4, 0x2 - ble _080A96CC - movs r0, 0x80 - lsls r0, 6 - bl AllocZeroed - adds r1, r0, 0 - ldr r0, _080A9758 @ =gMonSpritesGfxPtr - ldr r0, [r0] - movs r2, 0xBE - lsls r2, 1 - adds r0, r2 - str r1, [r0] - ldr r0, _080A975C @ =gFile_graphics_battle_anims_sprites_206_palette - bl LZDecompressWram - movs r4, 0 -_080A9700: - ldr r5, _080A9758 @ =gMonSpritesGfxPtr - ldr r0, [r5] - movs r1, 0xBE - lsls r1, 1 - adds r0, r1 - lsls r1, r4, 6 - ldr r0, [r0] - adds r0, r1 - mov r2, sp - adds r1, r2, r4 - ldrb r1, [r1] - lsls r1, 20 - movs r2, 0x80 - lsls r2, 17 - adds r1, r2 - lsrs r1, 16 - movs r2, 0x20 - bl LoadPalette - adds r4, 0x1 - cmp r4, 0x2 - ble _080A9700 - ldr r0, [r5] - movs r4, 0xBE - lsls r4, 1 - adds r0, r4 - ldr r0, [r0] - bl Free - ldr r0, [r5] - adds r0, r4 - movs r1, 0 - str r1, [r0] - adds r0, r6, 0 - bl DestroyAnimVisualTask - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A9750: .4byte 0x000027de -_080A9754: .4byte 0x00002710 -_080A9758: .4byte gMonSpritesGfxPtr -_080A975C: .4byte gFile_graphics_battle_anims_sprites_206_palette - thumb_func_end sub_80A96B4 - - thumb_func_start sub_80A9760 -sub_80A9760: @ 80A9760 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r5, _080A9784 @ =gUnknown_83E41C8 - movs r4, 0x2 -_080A976A: - ldrh r0, [r5] - bl FreeSpritePaletteByTag - adds r5, 0x2 - subs r4, 0x1 - cmp r4, 0 - bge _080A976A - adds r0, r6, 0 - bl DestroyAnimVisualTask - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A9784: .4byte gUnknown_83E41C8 - thumb_func_end sub_80A9760 - - thumb_func_start sub_80A9788 -sub_80A9788: @ 80A9788 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r1, 24 - lsls r2, 24 - lsrs r3, r2, 24 - movs r0, 0x1 - ands r3, r0 - negs r0, r3 - orrs r0, r3 - asrs r0, 31 - movs r3, 0x20 - ands r0, r3 - ldrh r4, [r5, 0x4] - lsls r3, r4, 22 - lsrs r3, 22 - lsrs r1, 22 - adds r0, r1 - adds r3, r0 - ldr r1, _080A97DC @ =0x000003ff - adds r0, r1, 0 - ands r3, r0 - ldr r0, _080A97E0 @ =0xfffffc00 - ands r0, r4 - orrs r0, r3 - strh r0, [r5, 0x4] - ldr r0, _080A97E4 @ =gUnknown_83E41C8 - lsrs r2, 25 - lsls r2, 1 - adds r2, r0 - ldrh r0, [r2] - bl IndexOfSpritePaletteTag - lsls r0, 4 - ldrb r2, [r5, 0x5] - movs r1, 0xF - ands r1, r2 - orrs r1, r0 - strb r1, [r5, 0x5] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A97DC: .4byte 0x000003ff -_080A97E0: .4byte 0xfffffc00 -_080A97E4: .4byte gUnknown_83E41C8 - thumb_func_end sub_80A9788 - - thumb_func_start sub_80A97E8 -sub_80A97E8: @ 80A97E8 - push {r4-r6,lr} - adds r5, r0, 0 - movs r1, 0 - bl sub_8075160 - ldr r6, _080A9850 @ =gBattleAnimAttacker - ldrb r0, [r6] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080A9808 - ldr r1, _080A9854 @ =gBattleAnimArgs - ldrh r0, [r1, 0x4] - negs r0, r0 - strh r0, [r1, 0x4] -_080A9808: - ldr r4, _080A9854 @ =gBattleAnimArgs - ldrh r0, [r4, 0x8] - strh r0, [r5, 0x2E] - ldrb r0, [r6] - movs r1, 0 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x4] - adds r0, r1 - strh r0, [r5, 0x32] - ldrb r0, [r6] - movs r1, 0x1 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x6] - adds r0, r1 - strh r0, [r5, 0x36] - ldr r0, _080A9858 @ =sub_8075590 - str r0, [r5, 0x1C] - ldr r1, _080A985C @ =DestroyAnimSprite - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 - ldrb r1, [r4, 0xA] - ldrb r2, [r4, 0xC] - adds r0, r5, 0 - bl sub_80A9788 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A9850: .4byte gBattleAnimAttacker -_080A9854: .4byte gBattleAnimArgs -_080A9858: .4byte sub_8075590 -_080A985C: .4byte DestroyAnimSprite - thumb_func_end sub_80A97E8 - - thumb_func_start sub_80A9860 -sub_80A9860: @ 80A9860 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - bne _080A987A - adds r0, r4, 0 - movs r1, 0 - bl sub_8075160 -_080A987A: - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r1, 0x8 - bl Sin - strh r0, [r4, 0x24] - ldrh r2, [r4, 0x32] - lsls r0, r2, 16 - asrs r0, 24 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x30] - adds r0, 0x7 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x30] - subs r2, 0x80 - strh r2, [r4, 0x32] - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x3C - bne _080A98AA - adds r0, r4, 0 - bl DestroyAnimSprite -_080A98AA: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A9860 - - thumb_func_start sub_80A98B0 -sub_80A98B0: @ 80A98B0 - push {r4-r7,lr} - lsls r0, 24 - lsrs r7, r0, 24 - bl sub_8073788 - lsls r0, 24 - movs r6, 0xF0 - cmp r0, 0 - beq _080A98C4 - movs r6, 0x98 -_080A98C4: - movs r5, 0 - ldr r1, _080A9918 @ =gUnknown_2022984 - strh r6, [r1] - ldr r4, _080A991C @ =gUnknown_2022986 - movs r0, 0xA0 - strh r0, [r4] - ldrh r1, [r1] - movs r0, 0x40 - bl SetGpuReg - ldrh r1, [r4] - movs r0, 0x44 - bl SetGpuReg - ldr r1, _080A9920 @ =0x00003f1f - movs r0, 0x48 - bl SetGpuReg - ldr r1, _080A9924 @ =0x00003f3f - movs r0, 0x4A - bl SetGpuReg - movs r0, 0x50 - movs r1, 0xC8 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0x10 - bl SetGpuReg - ldr r1, _080A9928 @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - strh r5, [r0, 0x8] - strh r6, [r0, 0xA] - ldr r1, _080A992C @ =sub_80A9930 - str r1, [r0] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A9918: .4byte gUnknown_2022984 -_080A991C: .4byte gUnknown_2022986 -_080A9920: .4byte 0x00003f1f -_080A9924: .4byte 0x00003f3f -_080A9928: .4byte gTasks -_080A992C: .4byte sub_80A9930 - thumb_func_end sub_80A98B0 - - thumb_func_start sub_80A9930 -sub_80A9930: @ 80A9930 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080A9964 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r3, r1, r2 - ldrh r0, [r3, 0x8] - adds r4, r0, 0 - adds r4, 0xD - strh r4, [r3, 0x8] - ldrh r0, [r3, 0xA] - adds r2, r0, 0 - subs r2, 0xD - strh r2, [r3, 0xA] - lsls r1, r4, 16 - lsls r0, r2, 16 - cmp r1, r0 - blt _080A9970 - ldr r0, _080A9968 @ =gUnknown_2022984 - movs r1, 0 - strh r1, [r0] - ldr r0, _080A996C @ =sub_80A9984 - str r0, [r3] - b _080A9978 - .align 2, 0 -_080A9964: .4byte gTasks -_080A9968: .4byte gUnknown_2022984 -_080A996C: .4byte sub_80A9984 -_080A9970: - ldr r1, _080A9980 @ =gUnknown_2022984 - lsls r0, r4, 8 - orrs r2, r0 - strh r2, [r1] -_080A9978: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A9980: .4byte gUnknown_2022984 - thumb_func_end sub_80A9930 - - thumb_func_start sub_80A9984 -sub_80A9984: @ 80A9984 - push {r4,r5,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - ldr r1, _080A99D0 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r1, r0, r1 - ldrh r0, [r1, 0x1C] - adds r0, 0x1 - movs r4, 0 - strh r0, [r1, 0x1C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - bne _080A99D8 - movs r0, 0x88 - strh r0, [r1, 0x1E] - movs r0, 0x50 - movs r1, 0x88 - bl SetGpuReg - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl sub_8075BE8 - ldr r2, _080A99D4 @ =0x00007fff - movs r1, 0x10 - bl BlendPalettes - b _080A9A0C - .align 2, 0 -_080A99D0: .4byte gTasks -_080A99D4: .4byte 0x00007fff -_080A99D8: - cmp r0, 0x4 - ble _080A9A0C - ldr r0, _080A9A14 @ =gUnknown_2022984 - strh r4, [r0] - ldr r0, _080A9A18 @ =gUnknown_2022986 - strh r4, [r0] - ldr r4, _080A9A1C @ =0x00003f3f - movs r0, 0x48 - adds r1, r4, 0 - bl SetGpuReg - movs r0, 0x4A - adds r1, r4, 0 - bl SetGpuReg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - adds r0, r5, 0 - bl DestroyAnimVisualTask -_080A9A0C: - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A9A14: .4byte gUnknown_2022984 -_080A9A18: .4byte gUnknown_2022986 -_080A9A1C: .4byte 0x00003f3f - thumb_func_end sub_80A9984 - - thumb_func_start sub_80A9A20 -sub_80A9A20: @ 80A9A20 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - adds r6, r0, 0 - movs r0, 0x1 - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _080A9A70 @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r5, r0, r1 - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - bne _080A9A7C - movs r0, 0x1 - bl GetAnimBankSpriteId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r2, _080A9A74 @ =gUnknown_83E4200 - adds r0, r5, 0 - bl sub_80762D0 - ldr r1, _080A9A78 @ =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - movs r1, 0x4 - strh r1, [r0, 0x24] - b _080A9AA4 - .align 2, 0 -_080A9A70: .4byte gTasks -_080A9A74: .4byte gUnknown_83E4200 -_080A9A78: .4byte gSprites -_080A9A7C: - ldr r1, _080A9AAC @ =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r4, r0, r1 - ldrh r0, [r4, 0x24] - negs r0, r0 - strh r0, [r4, 0x24] - adds r0, r5, 0 - bl sub_8076308 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _080A9AA4 - strh r0, [r4, 0x24] - strh r0, [r4, 0x26] - adds r0, r6, 0 - bl DestroyAnimVisualTask -_080A9AA4: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A9AAC: .4byte gSprites - thumb_func_end sub_80A9A20 - - thumb_func_start sub_80A9AB0 -sub_80A9AB0: @ 80A9AB0 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - adds r6, r0, 0 - movs r0, 0 - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _080A9B00 @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r5, r0, r1 - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - bne _080A9B0C - movs r0, 0 - bl GetAnimBankSpriteId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r2, _080A9B04 @ =gUnknown_83E4200 - adds r0, r5, 0 - bl sub_80762D0 - ldr r1, _080A9B08 @ =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - movs r1, 0x4 - strh r1, [r0, 0x24] - b _080A9B34 - .align 2, 0 -_080A9B00: .4byte gTasks -_080A9B04: .4byte gUnknown_83E4200 -_080A9B08: .4byte gSprites -_080A9B0C: - ldr r1, _080A9B3C @ =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r4, r0, r1 - ldrh r0, [r4, 0x24] - negs r0, r0 - strh r0, [r4, 0x24] - adds r0, r5, 0 - bl sub_8076308 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _080A9B34 - strh r0, [r4, 0x24] - strh r0, [r4, 0x26] - adds r0, r6, 0 - bl DestroyAnimVisualTask -_080A9B34: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A9B3C: .4byte gSprites - thumb_func_end sub_80A9AB0 - - thumb_func_start sub_80A9B40 -sub_80A9B40: @ 80A9B40 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl sub_8075160 - movs r0, 0x5F - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x20] - strh r0, [r4, 0x30] - ldr r5, _080A9B84 @ =gBattleAnimTarget - ldrb r0, [r5] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x22] - strh r0, [r4, 0x34] - ldrb r0, [r5] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x36] - adds r0, r4, 0 - bl obj_translate_based_on_private_1_2_3_4 - ldr r0, _080A9B88 @ =sub_80A9B8C - str r0, [r4, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A9B84: .4byte gBattleAnimTarget -_080A9B88: .4byte sub_80A9B8C - thumb_func_end sub_80A9B40 - - thumb_func_start sub_80A9B8C -sub_80A9B8C: @ 80A9B8C - push {r4,lr} - adds r4, r0, 0 - bl sub_80755E0 - lsls r0, 24 - cmp r0, 0 - bne _080A9BB6 - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r1, 0xE - bl Sin - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x38] - adds r0, 0x4 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x38] - b _080A9BBC -_080A9BB6: - adds r0, r4, 0 - bl DestroyAnimSprite -_080A9BBC: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A9B8C - - thumb_func_start sub_80A9BC4 -sub_80A9BC4: @ 80A9BC4 - push {r4,lr} - adds r4, r0, 0 - ldrh r2, [r4, 0x2E] - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080A9BE8 - ldr r1, _080A9BE4 @ =gBattleAnimArgs - ldrh r0, [r1] - strh r0, [r4, 0x30] - ldrh r0, [r1, 0x2] - strh r0, [r4, 0x32] - adds r0, r2, 0x1 - strh r0, [r4, 0x2E] - b _080A9C44 - .align 2, 0 -_080A9BE4: .4byte gBattleAnimArgs -_080A9BE8: - ldrh r0, [r4, 0x30] - ldrh r2, [r4, 0x36] - adds r0, r2 - strh r0, [r4, 0x36] - lsls r0, 16 - asrs r0, 24 - strh r0, [r4, 0x24] - movs r1, 0x34 - ldrsh r0, [r4, r1] - movs r2, 0x32 - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x34] - adds r0, 0x3 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x34] - cmp r0, 0x64 - ble _080A9C36 - movs r0, 0x34 - ldrsh r1, [r4, r0] - lsrs r0, r1, 31 - adds r0, r1, r0 - asrs r0, 1 - lsls r0, 1 - subs r1, r0 - adds r3, r4, 0 - adds r3, 0x3E - movs r0, 0x1 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r3] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] -_080A9C36: - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, 0x78 - ble _080A9C44 - adds r0, r4, 0 - bl DestroyAnimSprite -_080A9C44: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A9BC4 - - thumb_func_start sub_80A9C4C -sub_80A9C4C: @ 80A9C4C - push {lr} - ldr r2, _080A9C70 @ =gBattleAnimArgs - ldrh r1, [r2] - strh r1, [r0, 0x20] - movs r1, 0xA0 - strh r1, [r0, 0x22] - ldrh r1, [r2, 0x4] - strh r1, [r0, 0x2E] - ldrh r1, [r2, 0x2] - strh r1, [r0, 0x30] - ldr r1, _080A9C74 @ =sub_8074C44 - str r1, [r0, 0x1C] - ldr r1, _080A9C78 @ =sub_80A9C7C - bl StoreSpriteCallbackInData6 - pop {r0} - bx r0 - .align 2, 0 -_080A9C70: .4byte gBattleAnimArgs -_080A9C74: .4byte sub_8074C44 -_080A9C78: .4byte sub_80A9C7C - thumb_func_end sub_80A9C4C - - thumb_func_start sub_80A9C7C -sub_80A9C7C: @ 80A9C7C - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x30] - ldrh r1, [r4, 0x32] - adds r0, r1 - strh r0, [r4, 0x32] - lsls r0, 16 - lsrs r0, 24 - negs r0, r0 - strh r0, [r4, 0x26] - movs r1, 0x34 - ldrsh r0, [r4, r1] - movs r1, 0x4 - bl Sin - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x34] - adds r0, 0x3 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x34] - ldrh r0, [r4, 0x26] - ldrh r1, [r4, 0x22] - adds r0, r1 - lsls r0, 16 - asrs r5, r0, 16 - cmp r5, 0x48 - bgt _080A9CE2 - movs r0, 0x34 - ldrsh r1, [r4, r0] - lsrs r0, r1, 31 - adds r0, r1, r0 - asrs r0, 1 - lsls r0, 1 - subs r1, r0 - adds r3, r4, 0 - adds r3, 0x3E - movs r0, 0x1 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r3] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - cmp r5, 0x40 - bgt _080A9CE2 - adds r0, r4, 0 - bl DestroyAnimSprite -_080A9CE2: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80A9C7C - - thumb_func_start sub_80A9CE8 -sub_80A9CE8: @ 80A9CE8 - push {r4,r5,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _080A9DA0 @ =0x00003f42 - movs r0, 0x50 - bl SetGpuReg - movs r1, 0x80 - lsls r1, 5 - movs r0, 0x52 - bl SetGpuReg - movs r0, 0x1 - movs r1, 0x4 - movs r2, 0x3 - bl SetAnimBgAttribute - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl SetAnimBgAttribute - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080A9D2A - movs r0, 0x1 - movs r1, 0x3 - movs r2, 0x1 - bl SetAnimBgAttribute -_080A9D2A: - ldr r0, _080A9DA4 @ =gBattle_BG1_X - movs r1, 0 - strh r1, [r0] - ldr r4, _080A9DA8 @ =gBattle_BG1_Y - strh r1, [r4] - movs r0, 0x14 - movs r1, 0 - bl SetGpuReg - ldrh r1, [r4] - movs r0, 0x16 - bl SetGpuReg - mov r0, sp - bl sub_80752A0 - mov r0, sp - ldrb r0, [r0, 0x9] - ldr r1, _080A9DAC @ =gFile_graphics_battle_anims_backgrounds_attract_tilemap - bl sub_807543C - mov r0, sp - ldrb r0, [r0, 0x9] - ldr r1, _080A9DB0 @ =gFile_graphics_battle_anims_backgrounds_attract_sheet - mov r2, sp - ldrh r2, [r2, 0xA] - bl sub_80753B4 - ldr r0, _080A9DB4 @ =gFile_graphics_battle_anims_backgrounds_attract_palette - mov r1, sp - ldrb r1, [r1, 0x8] - lsls r1, 4 - movs r2, 0x20 - bl LoadCompressedPalette - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - beq _080A9D88 - mov r0, sp - ldrb r0, [r0, 0x8] - ldr r1, [sp, 0x4] - movs r2, 0 - movs r3, 0 - bl sub_80730C0 -_080A9D88: - ldr r0, _080A9DB8 @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, _080A9DBC @ =sub_80A9DC0 - str r0, [r1] - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A9DA0: .4byte 0x00003f42 -_080A9DA4: .4byte gBattle_BG1_X -_080A9DA8: .4byte gBattle_BG1_Y -_080A9DAC: .4byte gFile_graphics_battle_anims_backgrounds_attract_tilemap -_080A9DB0: .4byte gFile_graphics_battle_anims_backgrounds_attract_sheet -_080A9DB4: .4byte gFile_graphics_battle_anims_backgrounds_attract_palette -_080A9DB8: .4byte gTasks -_080A9DBC: .4byte sub_80A9DC0 - thumb_func_end sub_80A9CE8 - - thumb_func_start sub_80A9DC0 -sub_80A9DC0: @ 80A9DC0 - push {r4,r5,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _080A9DE8 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r2, 0x20 - ldrsh r0, [r0, r2] - adds r2, r1, 0 - cmp r0, 0x4 - bls _080A9DDE - b _080A9F08 -_080A9DDE: - lsls r0, 2 - ldr r1, _080A9DEC @ =_080A9DF0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080A9DE8: .4byte gTasks -_080A9DEC: .4byte _080A9DF0 - .align 2, 0 -_080A9DF0: - .4byte _080A9E04 - .4byte _080A9E48 - .4byte _080A9E6A - .4byte _080A9EAE - .4byte _080A9ED4 -_080A9E04: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r4, r0, r2 - ldrh r0, [r4, 0x1C] - adds r0, 0x1 - movs r5, 0 - strh r0, [r4, 0x1C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - bne _080A9F08 - strh r5, [r4, 0x1C] - ldrh r1, [r4, 0x1E] - adds r1, 0x1 - strh r1, [r4, 0x1E] - movs r0, 0x10 - subs r0, r1 - lsls r0, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r1, 0x1E - ldrsh r0, [r4, r1] - cmp r0, 0x10 - bne _080A9F08 - ldrh r0, [r4, 0x20] - adds r0, 0x1 - strh r0, [r4, 0x20] - strh r5, [r4, 0x1E] - b _080A9F08 -_080A9E48: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, r0, r2 - ldrh r0, [r1, 0x1E] - adds r0, 0x1 - strh r0, [r1, 0x1E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x8D - bne _080A9F08 - movs r0, 0x10 - strh r0, [r1, 0x1E] - ldrh r0, [r1, 0x20] - adds r0, 0x1 - strh r0, [r1, 0x20] - b _080A9F08 -_080A9E6A: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r4, r0, r2 - ldrh r0, [r4, 0x1C] - adds r0, 0x1 - strh r0, [r4, 0x1C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - bne _080A9F08 - movs r0, 0 - strh r0, [r4, 0x1C] - ldrh r1, [r4, 0x1E] - subs r1, 0x1 - strh r1, [r4, 0x1E] - movs r0, 0x10 - subs r0, r1 - lsls r0, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r2, 0x1E - ldrsh r1, [r4, r2] - cmp r1, 0 - bne _080A9F08 - ldrh r0, [r4, 0x20] - adds r0, 0x1 - strh r0, [r4, 0x20] - strh r1, [r4, 0x1E] - b _080A9F08 -_080A9EAE: - mov r0, sp - bl sub_80752A0 - mov r0, sp - ldrb r0, [r0, 0x9] - bl sub_8075358 - ldr r1, _080A9ED0 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x20] - adds r1, 0x1 - strh r1, [r0, 0x20] - b _080A9F08 - .align 2, 0 -_080A9ED0: .4byte gTasks -_080A9ED4: - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080A9EE8 - movs r0, 0x1 - movs r1, 0x3 - movs r2, 0 - bl SetAnimBgAttribute -_080A9EE8: - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x1 - movs r1, 0x4 - movs r2, 0x1 - bl SetAnimBgAttribute - adds r0, r4, 0 - bl DestroyAnimVisualTask -_080A9F08: - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80A9DC0 - - thumb_func_start sub_80A9F10 -sub_80A9F10: @ 80A9F10 - push {r4,r5,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _080A9F88 @ =0x00003f42 - movs r0, 0x50 - bl SetGpuReg - movs r1, 0x80 - lsls r1, 5 - movs r0, 0x52 - bl SetGpuReg - movs r0, 0x1 - movs r1, 0x4 - movs r2, 0x1 - bl SetAnimBgAttribute - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl SetAnimBgAttribute - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080A9F52 - movs r0, 0x1 - movs r1, 0x3 - movs r2, 0x1 - bl SetAnimBgAttribute -_080A9F52: - ldr r0, _080A9F8C @ =gBattle_BG1_X - movs r1, 0 - strh r1, [r0] - ldr r4, _080A9F90 @ =gBattle_BG1_Y - strh r1, [r4] - movs r0, 0x14 - movs r1, 0 - bl SetGpuReg - ldrh r1, [r4] - movs r0, 0x16 - bl SetGpuReg - mov r0, sp - bl sub_80752A0 - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - beq _080A9F98 - ldr r0, _080A9F94 @ =gFile_graphics_battle_anims_backgrounds_scary_face_contest_tilemap - ldr r1, [sp, 0x4] - bl LZDecompressVram - b _080A9FC6 - .align 2, 0 -_080A9F88: .4byte 0x00003f42 -_080A9F8C: .4byte gBattle_BG1_X -_080A9F90: .4byte gBattle_BG1_Y -_080A9F94: .4byte gFile_graphics_battle_anims_backgrounds_scary_face_contest_tilemap -_080A9F98: - ldr r0, _080A9FB4 @ =gBattleAnimTarget - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A9FBC - mov r0, sp - ldrb r0, [r0, 0x9] - ldr r1, _080A9FB8 @ =gFile_graphics_battle_anims_backgrounds_scary_face_player_tilemap - bl sub_807543C - b _080A9FC6 - .align 2, 0 -_080A9FB4: .4byte gBattleAnimTarget -_080A9FB8: .4byte gFile_graphics_battle_anims_backgrounds_scary_face_player_tilemap -_080A9FBC: - mov r0, sp - ldrb r0, [r0, 0x9] - ldr r1, _080AA010 @ =gFile_graphics_battle_anims_backgrounds_scary_face_opponent_tilemap - bl sub_807543C -_080A9FC6: - mov r0, sp - ldrb r0, [r0, 0x9] - ldr r1, _080AA014 @ =gFile_graphics_battle_anims_backgrounds_scary_face_sheet - mov r2, sp - ldrh r2, [r2, 0xA] - bl sub_80753B4 - ldr r0, _080AA018 @ =gFile_graphics_battle_anims_backgrounds_scary_face_palette - mov r1, sp - ldrb r1, [r1, 0x8] - lsls r1, 4 - movs r2, 0x20 - bl LoadCompressedPalette - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - beq _080A9FFA - mov r0, sp - ldrb r0, [r0, 0x8] - ldr r1, [sp, 0x4] - movs r2, 0 - movs r3, 0 - bl sub_80730C0 -_080A9FFA: - ldr r0, _080AA01C @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, _080AA020 @ =sub_80AA024 - str r0, [r1] - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AA010: .4byte gFile_graphics_battle_anims_backgrounds_scary_face_opponent_tilemap -_080AA014: .4byte gFile_graphics_battle_anims_backgrounds_scary_face_sheet -_080AA018: .4byte gFile_graphics_battle_anims_backgrounds_scary_face_palette -_080AA01C: .4byte gTasks -_080AA020: .4byte sub_80AA024 - thumb_func_end sub_80A9F10 - - thumb_func_start sub_80AA024 -sub_80AA024: @ 80AA024 - push {r4,r5,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _080AA04C @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r2, 0x20 - ldrsh r0, [r0, r2] - adds r2, r1, 0 - cmp r0, 0x4 - bls _080AA042 - b _080AA168 -_080AA042: - lsls r0, 2 - ldr r1, _080AA050 @ =_080AA054 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080AA04C: .4byte gTasks -_080AA050: .4byte _080AA054 - .align 2, 0 -_080AA054: - .4byte _080AA068 - .4byte _080AA0AC - .4byte _080AA0CE - .4byte _080AA112 - .4byte _080AA134 -_080AA068: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r4, r0, r2 - ldrh r0, [r4, 0x1C] - adds r0, 0x1 - movs r5, 0 - strh r0, [r4, 0x1C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - bne _080AA168 - strh r5, [r4, 0x1C] - ldrh r1, [r4, 0x1E] - adds r1, 0x1 - strh r1, [r4, 0x1E] - movs r0, 0x10 - subs r0, r1 - lsls r0, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r1, 0x1E - ldrsh r0, [r4, r1] - cmp r0, 0xE - bne _080AA168 - ldrh r0, [r4, 0x20] - adds r0, 0x1 - strh r0, [r4, 0x20] - strh r5, [r4, 0x1E] - b _080AA168 -_080AA0AC: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, r0, r2 - ldrh r0, [r1, 0x1E] - adds r0, 0x1 - strh r0, [r1, 0x1E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x15 - bne _080AA168 - movs r0, 0xE - strh r0, [r1, 0x1E] - ldrh r0, [r1, 0x20] - adds r0, 0x1 - strh r0, [r1, 0x20] - b _080AA168 -_080AA0CE: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r4, r0, r2 - ldrh r0, [r4, 0x1C] - adds r0, 0x1 - strh r0, [r4, 0x1C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - bne _080AA168 - movs r0, 0 - strh r0, [r4, 0x1C] - ldrh r1, [r4, 0x1E] - subs r1, 0x1 - strh r1, [r4, 0x1E] - movs r0, 0x10 - subs r0, r1 - lsls r0, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r2, 0x1E - ldrsh r1, [r4, r2] - cmp r1, 0 - bne _080AA168 - ldrh r0, [r4, 0x20] - adds r0, 0x1 - strh r0, [r4, 0x20] - strh r1, [r4, 0x1E] - b _080AA168 -_080AA112: - mov r0, sp - bl sub_80752A0 - movs r0, 0x1 - bl sub_8075358 - movs r0, 0x2 - bl sub_8075358 - ldr r0, _080AA170 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x20] - adds r0, 0x1 - strh r0, [r1, 0x20] -_080AA134: - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080AA148 - movs r0, 0x1 - movs r1, 0x3 - movs r2, 0 - bl SetAnimBgAttribute -_080AA148: - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x1 - movs r1, 0x4 - movs r2, 0x1 - bl SetAnimBgAttribute - adds r0, r4, 0 - bl DestroyAnimVisualTask -_080AA168: - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AA170: .4byte gTasks - thumb_func_end sub_80AA024 - - thumb_func_start sub_80AA174 -sub_80AA174: @ 80AA174 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, _080AA1C8 @ =gBattleAnimAttacker - ldrb r0, [r5] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x20] - ldrb r0, [r5] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x22] - adds r2, r4, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - ldr r1, _080AA1CC @ =gBattleAnimArgs - ldrh r0, [r1] - strh r0, [r4, 0x2E] - ldrh r0, [r1, 0x2] - strh r0, [r4, 0x30] - ldrb r0, [r5] - bl sub_807685C - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x3C] - ldr r1, _080AA1D0 @ =sub_80AA1D4 - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AA1C8: .4byte gBattleAnimAttacker -_080AA1CC: .4byte gBattleAnimArgs -_080AA1D0: .4byte sub_80AA1D4 - thumb_func_end sub_80AA174 - - thumb_func_start sub_80AA1D4 -sub_80AA1D4: @ 80AA1D4 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x30] - subs r0, 0x40 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x7F - bhi _080AA1EA - ldrh r0, [r4, 0x3C] - adds r0, 0x1 - b _080AA1EE -_080AA1EA: - ldrh r0, [r4, 0x3C] - subs r0, 0x1 -_080AA1EE: - adds r1, r4, 0 - adds r1, 0x43 - strb r0, [r1] - movs r1, 0x30 - ldrsh r0, [r4, r1] - ldrh r1, [r4, 0x32] - lsls r1, 16 - asrs r1, 24 - bl Sin - strh r0, [r4, 0x24] - movs r2, 0x30 - ldrsh r0, [r4, r2] - ldrh r1, [r4, 0x34] - lsls r1, 16 - asrs r1, 24 - bl Cos - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x30] - adds r0, 0x9 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x30] - movs r3, 0x38 - ldrsh r2, [r4, r3] - cmp r2, 0 - beq _080AA260 - cmp r2, 0x1 - bne _080AA290 - ldr r1, _080AA258 @ =0xfffffc00 - adds r0, r1, 0 - ldrh r2, [r4, 0x32] - adds r0, r2 - strh r0, [r4, 0x32] - ldr r3, _080AA25C @ =0xffffff00 - adds r0, r3, 0 - ldrh r1, [r4, 0x34] - adds r0, r1 - strh r0, [r4, 0x34] - ldrh r0, [r4, 0x36] - adds r0, 0x1 - strh r0, [r4, 0x36] - lsls r0, 16 - asrs r0, 16 - movs r2, 0x2E - ldrsh r1, [r4, r2] - cmp r0, r1 - bne _080AA290 - movs r0, 0x2 - strh r0, [r4, 0x38] - b _080AA2A0 - .align 2, 0 -_080AA258: .4byte 0xfffffc00 -_080AA25C: .4byte 0xffffff00 -_080AA260: - movs r3, 0x80 - lsls r3, 3 - adds r0, r3, 0 - ldrh r1, [r4, 0x32] - adds r0, r1 - strh r0, [r4, 0x32] - movs r3, 0x80 - lsls r3, 1 - adds r0, r3, 0 - ldrh r1, [r4, 0x34] - adds r0, r1 - strh r0, [r4, 0x34] - ldrh r0, [r4, 0x36] - adds r0, 0x1 - strh r0, [r4, 0x36] - lsls r0, 16 - asrs r0, 16 - movs r3, 0x2E - ldrsh r1, [r4, r3] - cmp r0, r1 - bne _080AA290 - strh r2, [r4, 0x36] - movs r0, 0x1 - strh r0, [r4, 0x38] -_080AA290: - ldr r0, _080AA2A8 @ =gBattleAnimArgs - ldrh r1, [r0, 0xE] - ldr r0, _080AA2AC @ =0x0000ffff - cmp r1, r0 - bne _080AA2A0 - adds r0, r4, 0 - bl DestroyAnimSprite -_080AA2A0: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080AA2A8: .4byte gBattleAnimArgs -_080AA2AC: .4byte 0x0000ffff - thumb_func_end sub_80AA1D4 - - thumb_func_start sub_80AA2B0 -sub_80AA2B0: @ 80AA2B0 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, _080AA2F8 @ =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - ldr r4, _080AA2FC @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r4, r1] - movs r1, 0xA - bl Sin - strh r0, [r5, 0x2E] - movs r1, 0 - ldrsh r0, [r4, r1] - movs r1, 0x7 - bl Cos - strh r0, [r5, 0x30] - ldr r0, _080AA300 @ =sub_80AA304 - str r0, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AA2F8: .4byte gBattleAnimAttacker -_080AA2FC: .4byte gBattleAnimArgs -_080AA300: .4byte sub_80AA304 - thumb_func_end sub_80AA2B0 - - thumb_func_start sub_80AA304 -sub_80AA304: @ 80AA304 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x2E] - ldrh r1, [r2, 0x24] - adds r0, r1 - strh r0, [r2, 0x24] - ldrh r0, [r2, 0x30] - ldrh r3, [r2, 0x26] - adds r0, r3 - strh r0, [r2, 0x26] - movs r1, 0x20 - ldrsh r0, [r2, r1] - movs r3, 0x24 - ldrsh r1, [r2, r3] - adds r0, r1 - adds r0, 0x10 - movs r1, 0x88 - lsls r1, 1 - cmp r0, r1 - bhi _080AA342 - movs r0, 0x22 - ldrsh r1, [r2, r0] - movs r3, 0x26 - ldrsh r0, [r2, r3] - adds r1, r0 - cmp r1, 0xA0 - bgt _080AA342 - movs r0, 0x10 - negs r0, r0 - cmp r1, r0 - bge _080AA348 -_080AA342: - adds r0, r2, 0 - bl DestroyAnimSprite -_080AA348: - pop {r0} - bx r0 - thumb_func_end sub_80AA304 - - thumb_func_start sub_80AA34C -sub_80AA34C: @ 80AA34C - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x2E] - ldrh r1, [r2, 0x24] - adds r0, r1 - strh r0, [r2, 0x24] - ldrh r0, [r2, 0x30] - ldrh r3, [r2, 0x26] - adds r0, r3 - strh r0, [r2, 0x26] - ldrh r0, [r2, 0x34] - adds r1, r0, 0x1 - strh r1, [r2, 0x34] - lsls r0, 16 - asrs r0, 16 - movs r3, 0x32 - ldrsh r1, [r2, r3] - cmp r0, r1 - blt _080AA378 - adds r0, r2, 0 - bl DestroyAnimSprite -_080AA378: - pop {r0} - bx r0 - thumb_func_end sub_80AA34C - - thumb_func_start sub_80AA37C -sub_80AA37C: @ 80AA37C - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, _080AA3C8 @ =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - ldr r4, _080AA3CC @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r4, r1] - movs r1, 0xA - bl Sin - strh r0, [r5, 0x2E] - movs r1, 0 - ldrsh r0, [r4, r1] - movs r1, 0x7 - bl Cos - strh r0, [r5, 0x30] - ldrh r0, [r4, 0x2] - strh r0, [r5, 0x32] - ldr r0, _080AA3D0 @ =sub_80AA34C - str r0, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AA3C8: .4byte gBattleAnimAttacker -_080AA3CC: .4byte gBattleAnimArgs -_080AA3D0: .4byte sub_80AA34C - thumb_func_end sub_80AA37C - - thumb_func_start sub_80AA3D4 -sub_80AA3D4: @ 80AA3D4 - push {lr} - adds r2, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080AA3EA - adds r0, r2, 0 - bl DestroyAnimSprite -_080AA3EA: - pop {r0} - bx r0 - thumb_func_end sub_80AA3D4 - - thumb_func_start sub_80AA3F0 -sub_80AA3F0: @ 80AA3F0 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl sub_8075160 - ldr r0, _080AA404 @ =sub_80AA3D4 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080AA404: .4byte sub_80AA3D4 - thumb_func_end sub_80AA3F0 - - thumb_func_start sub_80AA408 -sub_80AA408: @ 80AA408 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080AA426 - ldr r0, _080AA498 @ =gBattleAnimArgs - ldrh r1, [r0] - ldrh r2, [r4, 0x20] - adds r1, r2 - strh r1, [r4, 0x20] - ldrh r0, [r0, 0x2] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] -_080AA426: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - movs r2, 0x2E - ldrsh r1, [r4, r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r5, r0, 1 - movs r0, 0xFF - ands r5, r0 - adds r0, r5, 0 - movs r1, 0x50 - bl Sin - lsls r0, 16 - asrs r0, 24 - strh r0, [r4, 0x24] - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x4F - bgt _080AA46A - adds r0, r5, 0 - movs r1, 0x50 - bl Cos - movs r2, 0x2E - ldrsh r1, [r4, r2] - lsrs r2, r1, 31 - adds r1, r2 - asrs r1, 1 - lsls r0, 16 - asrs r0, 24 - adds r1, r0 - strh r1, [r4, 0x26] -_080AA46A: - movs r0, 0x2E - ldrsh r2, [r4, r0] - cmp r2, 0x5A - ble _080AA488 - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - movs r0, 0x32 - ldrsh r1, [r4, r0] - lsrs r0, r1, 31 - adds r1, r0 - asrs r1, 1 - ldrh r0, [r4, 0x24] - subs r0, r1 - strh r0, [r4, 0x24] -_080AA488: - cmp r2, 0x64 - ble _080AA492 - adds r0, r4, 0 - bl DestroyAnimSprite -_080AA492: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AA498: .4byte gBattleAnimArgs - thumb_func_end sub_80AA408 - - thumb_func_start sub_80AA49C -sub_80AA49C: @ 80AA49C - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - movs r1, 0x34 - ldrsh r0, [r4, r1] - movs r1, 0x5 - bl Sin - strh r0, [r4, 0x24] - movs r1, 0x38 - ldrsh r0, [r4, r1] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x34] - adds r0, 0x3 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x34] - movs r1, 0x38 - ldrsh r0, [r4, r1] - cmp r0, 0x14 - ble _080AA4F2 - adds r1, r0, 0 - lsrs r0, r1, 31 - adds r0, r1, r0 - asrs r0, 1 - lsls r0, 1 - subs r1, r0 - adds r3, r4, 0 - adds r3, 0x3E - movs r0, 0x1 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r3] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] -_080AA4F2: - movs r1, 0x38 - ldrsh r0, [r4, r1] - cmp r0, 0x1E - ble _080AA500 - adds r0, r4, 0 - bl DestroyAnimSprite -_080AA500: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80AA49C - - thumb_func_start sub_80AA508 -sub_80AA508: @ 80AA508 - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r2, [r4, 0x2E] - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080AA52C - ldr r1, _080AA528 @ =gBattleAnimArgs - ldrh r0, [r1] - strh r0, [r4, 0x30] - ldrh r0, [r1, 0x2] - strh r0, [r4, 0x32] - adds r0, r2, 0x1 - strh r0, [r4, 0x2E] - b _080AA580 - .align 2, 0 -_080AA528: .4byte gBattleAnimArgs -_080AA52C: - ldrh r0, [r4, 0x30] - ldrh r2, [r4, 0x36] - adds r0, r2 - movs r5, 0 - strh r0, [r4, 0x36] - lsls r0, 16 - asrs r0, 24 - strh r0, [r4, 0x24] - movs r1, 0x34 - ldrsh r0, [r4, r1] - movs r2, 0x32 - ldrsh r1, [r4, r2] - bl Sin - adds r2, r0, 0 - strh r2, [r4, 0x26] - ldrh r0, [r4, 0x34] - adds r0, 0x3 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x34] - cmp r0, 0x46 - ble _080AA580 - ldr r0, _080AA588 @ =sub_80AA49C - str r0, [r4, 0x1C] - ldrh r0, [r4, 0x24] - ldrh r1, [r4, 0x20] - adds r0, r1 - strh r0, [r4, 0x20] - ldrh r1, [r4, 0x22] - adds r0, r2, r1 - strh r0, [r4, 0x22] - strh r5, [r4, 0x24] - strh r5, [r4, 0x26] - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xB4 - bl __umodsi3 - strh r0, [r4, 0x34] -_080AA580: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AA588: .4byte sub_80AA49C - thumb_func_end sub_80AA508 - - thumb_func_start sub_80AA58C -sub_80AA58C: @ 80AA58C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080AA5C6 - ldr r1, _080AA688 @ =gBattleAnimArgs - ldrh r0, [r1] - ldrh r2, [r4, 0x20] - adds r0, r2 - strh r0, [r4, 0x20] - ldrh r0, [r1, 0x2] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAnim - ldr r0, _080AA68C @ =gBattleAnimTarget - ldrb r0, [r0] - bl sub_807685C - subs r0, 0x1 - adds r1, r4, 0 - adds r1, 0x43 - strb r0, [r1] - movs r0, 0x1 - strh r0, [r4, 0x32] -_080AA5C6: - ldrh r0, [r4, 0x32] - ldrh r2, [r4, 0x2E] - adds r0, r2 - strh r0, [r4, 0x2E] - movs r1, 0x2E - ldrsh r0, [r4, r1] - lsls r1, r0, 2 - adds r0, r1, 0 - cmp r1, 0 - bge _080AA5DC - adds r0, 0xFF -_080AA5DC: - asrs r0, 8 - lsls r0, 8 - subs r0, r1, r0 - strh r0, [r4, 0x30] - lsls r0, 16 - cmp r0, 0 - bge _080AA5EE - movs r0, 0 - strh r0, [r4, 0x30] -_080AA5EE: - movs r0, 0x30 - ldrsh r2, [r4, r0] - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - bge _080AA5FC - adds r0, 0x3 -_080AA5FC: - asrs r0, 2 - movs r1, 0x1E - subs r1, r0 - adds r0, r2, 0 - bl Cos - strh r0, [r4, 0x24] - movs r0, 0x30 - ldrsh r2, [r4, r0] - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - bge _080AA618 - adds r0, 0x7 -_080AA618: - asrs r0, 3 - movs r1, 0xA - subs r1, r0 - adds r0, r2, 0 - bl Sin - strh r0, [r4, 0x26] - movs r2, 0x30 - ldrsh r0, [r4, r2] - cmp r0, 0x80 - ble _080AA63C - ldrh r1, [r4, 0x32] - movs r2, 0x32 - ldrsh r0, [r4, r2] - cmp r0, 0 - ble _080AA63C - ldr r0, _080AA690 @ =0x0000ffff - strh r0, [r4, 0x32] -_080AA63C: - movs r1, 0x30 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080AA650 - movs r2, 0x32 - ldrsh r0, [r4, r2] - cmp r0, 0 - bge _080AA650 - movs r0, 0x1 - strh r0, [r4, 0x32] -_080AA650: - ldrh r0, [r4, 0x34] - adds r1, r0, 0x1 - strh r1, [r4, 0x34] - subs r0, 0x9 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x46 - bls _080AA694 - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsrs r0, r1, 31 - adds r0, r1, r0 - asrs r0, 1 - lsls r0, 1 - subs r1, r0 - adds r3, r4, 0 - adds r3, 0x3E - movs r0, 0x1 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r3] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - b _080AA6A2 - .align 2, 0 -_080AA688: .4byte gBattleAnimArgs -_080AA68C: .4byte gBattleAnimTarget -_080AA690: .4byte 0x0000ffff -_080AA694: - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] -_080AA6A2: - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, 0x5A - ble _080AA6B0 - adds r0, r4, 0 - bl DestroyAnimSprite -_080AA6B0: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80AA58C - - thumb_func_start sub_80AA6B8 -sub_80AA6B8: @ 80AA6B8 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080AA6EC - ldr r1, _080AA6E8 @ =gBattleAnimArgs - ldrh r0, [r1] - ldrh r2, [r4, 0x20] - adds r0, r2 - strh r0, [r4, 0x20] - ldrh r0, [r1, 0x2] - ldrh r2, [r4, 0x22] - adds r0, r2 - strh r0, [r4, 0x22] - ldrb r1, [r1, 0x4] - adds r0, r4, 0 - bl StartSpriteAnim - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _080AA700 - .align 2, 0 -_080AA6E8: .4byte gBattleAnimArgs -_080AA6EC: - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080AA700 - adds r0, r4, 0 - bl DestroyAnimSprite -_080AA700: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80AA6B8 - - thumb_func_start sub_80AA708 -sub_80AA708: @ 80AA708 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r1, _080AA720 @ =gBattleAnimArgs - movs r2, 0x4 - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _080AA724 - adds r0, r5, 0 - bl DestroyAnimSprite - b _080AA788 - .align 2, 0 -_080AA720: .4byte gBattleAnimArgs -_080AA724: - movs r2, 0 - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _080AA734 - ldr r4, _080AA730 @ =gBattleAnimAttacker - b _080AA736 - .align 2, 0 -_080AA730: .4byte gBattleAnimAttacker -_080AA734: - ldr r4, _080AA764 @ =gBattleAnimTarget -_080AA736: - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - ldr r0, _080AA768 @ =gBattleAnimArgs - movs r2, 0x2 - ldrsh r1, [r0, r2] - adds r2, r0, 0 - cmp r1, 0 - bne _080AA76C - ldrh r0, [r5, 0x20] - adds r0, 0x20 - b _080AA770 - .align 2, 0 -_080AA764: .4byte gBattleAnimTarget -_080AA768: .4byte gBattleAnimArgs -_080AA76C: - ldrh r0, [r5, 0x20] - subs r0, 0x20 -_080AA770: - strh r0, [r5, 0x20] - ldrh r0, [r2, 0x4] - strh r0, [r5, 0x2E] - ldrh r1, [r2, 0x2] - strh r1, [r5, 0x30] - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl StartSpriteAnim - ldr r0, _080AA790 @ =sub_80AA794 - str r0, [r5, 0x1C] -_080AA788: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AA790: .4byte sub_80AA794 - thumb_func_end sub_80AA708 - - thumb_func_start sub_80AA794 -sub_80AA794: @ 80AA794 - push {lr} - adds r2, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080AA7C4 - ldrh r0, [r2, 0x2E] - subs r0, 0x1 - strh r0, [r2, 0x2E] - lsls r0, 16 - cmp r0, 0 - beq _080AA7BE - ldrh r1, [r2, 0x30] - lsls r1, 24 - lsrs r1, 24 - adds r0, r2, 0 - bl StartSpriteAnim - b _080AA7C4 -_080AA7BE: - adds r0, r2, 0 - bl DestroyAnimSprite -_080AA7C4: - pop {r0} - bx r0 - thumb_func_end sub_80AA794 - - thumb_func_start sub_80AA7C8 -sub_80AA7C8: @ 80AA7C8 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r0, _080AA7FC @ =gBattleAnimArgs - ldrb r0, [r0] - bl GetAnimBankSpriteId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - ldr r0, _080AA800 @ =gTasks - adds r4, r0 - ldr r2, _080AA804 @ =gUnknown_83E4410 - adds r0, r4, 0 - bl sub_80762D0 - ldr r0, _080AA808 @ =sub_80AA80C - str r0, [r4] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AA7FC: .4byte gBattleAnimArgs -_080AA800: .4byte gTasks -_080AA804: .4byte gUnknown_83E4410 -_080AA808: .4byte sub_80AA80C - thumb_func_end sub_80AA7C8 - - thumb_func_start sub_80AA80C -sub_80AA80C: @ 80AA80C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _080AA834 @ =gTasks - adds r0, r1 - bl sub_8076308 - lsls r0, 24 - cmp r0, 0 - bne _080AA82C - adds r0, r4, 0 - bl DestroyAnimVisualTask -_080AA82C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080AA834: .4byte gTasks - thumb_func_end sub_80AA80C - - thumb_func_start sub_80AA838 -sub_80AA838: @ 80AA838 - push {r4-r7,lr} - adds r5, r0, 0 - ldr r0, _080AA84C @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080AA854 - ldr r0, _080AA850 @ =gBattleAnimAttacker - b _080AA856 - .align 2, 0 -_080AA84C: .4byte gBattleAnimArgs -_080AA850: .4byte gBattleAnimAttacker -_080AA854: - ldr r0, _080AA8EC @ =gBattleAnimTarget -_080AA856: - ldrb r6, [r0] - adds r0, r6, 0 - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080AA870 - ldr r1, _080AA8F0 @ =gBattleAnimArgs - movs r2, 0x2 - ldrsh r0, [r1, r2] - negs r0, r0 - strh r0, [r1, 0x2] -_080AA870: - adds r0, r6, 0 - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - ldr r7, _080AA8F0 @ =gBattleAnimArgs - lsrs r0, 24 - ldrh r3, [r7, 0x2] - adds r0, r3 - movs r4, 0 - strh r0, [r5, 0x20] - adds r0, r6, 0 - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r7, 0x4] - adds r0, r1 - strh r0, [r5, 0x22] - strh r4, [r5, 0x2E] - ldrh r1, [r5, 0x20] - lsls r1, 3 - strh r1, [r5, 0x30] - lsls r0, 3 - strh r0, [r5, 0x32] - movs r2, 0x2 - ldrsh r0, [r7, r2] - lsls r0, 3 - cmp r0, 0 - bge _080AA8B0 - adds r0, 0x7 -_080AA8B0: - asrs r0, 3 - strh r0, [r5, 0x34] - movs r3, 0x4 - ldrsh r0, [r7, r3] - lsls r0, 3 - cmp r0, 0 - bge _080AA8C0 - adds r0, 0x7 -_080AA8C0: - asrs r0, 3 - strh r0, [r5, 0x36] - ldrh r2, [r5, 0x4] - lsls r1, r2, 22 - lsrs r1, 22 - movs r3, 0x6 - ldrsh r0, [r7, r3] - lsls r0, 4 - adds r1, r0 - ldr r3, _080AA8F4 @ =0x000003ff - adds r0, r3, 0 - ands r1, r0 - ldr r0, _080AA8F8 @ =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r5, 0x4] - ldr r0, _080AA8FC @ =sub_80AA900 - str r0, [r5, 0x1C] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080AA8EC: .4byte gBattleAnimTarget -_080AA8F0: .4byte gBattleAnimArgs -_080AA8F4: .4byte 0x000003ff -_080AA8F8: .4byte 0xfffffc00 -_080AA8FC: .4byte sub_80AA900 - thumb_func_end sub_80AA838 - - thumb_func_start sub_80AA900 -sub_80AA900: @ 80AA900 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x34] - ldrh r1, [r2, 0x30] - adds r0, r1 - strh r0, [r2, 0x30] - ldrh r1, [r2, 0x36] - ldrh r3, [r2, 0x32] - adds r1, r3 - strh r1, [r2, 0x32] - lsls r0, 16 - asrs r0, 19 - strh r0, [r2, 0x20] - lsls r1, 16 - asrs r1, 19 - strh r1, [r2, 0x22] - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x10 - ble _080AA934 - adds r0, r2, 0 - bl DestroyAnimSprite -_080AA934: - pop {r0} - bx r0 - thumb_func_end sub_80AA900 - - thumb_func_start sub_80AA938 -sub_80AA938: @ 80AA938 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080AA95A - ldr r0, _080AA994 @ =gBattleAnimArgs - ldrh r1, [r0] - movs r0, 0x78 - subs r0, r1 - strh r0, [r4, 0x30] - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] -_080AA95A: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - movs r2, 0x30 - ldrsh r1, [r4, r2] - cmp r0, r1 - bne _080AA978 - ldrb r0, [r4, 0x5] - lsrs r0, 4 - adds r0, 0x10 - movs r1, 0 - bl sub_8075B48 -_080AA978: - movs r0, 0x2E - ldrsh r1, [r4, r0] - movs r2, 0x30 - ldrsh r0, [r4, r2] - adds r0, 0x50 - cmp r1, r0 - bne _080AA98C - adds r0, r4, 0 - bl DestroyAnimSprite -_080AA98C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080AA994: .4byte gBattleAnimArgs - thumb_func_end sub_80AA938 - - thumb_func_start sub_80AA998 -sub_80AA998: @ 80AA998 - push {r4-r6,lr} - adds r6, r0, 0 - movs r1, 0x2E - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _080AA9C6 - movs r5, 0x78 - strh r5, [r6, 0x20] - ldr r4, _080AAA48 @ =gBattleAnimArgs - movs r2, 0 - ldrsh r0, [r4, r2] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - subs r0, 0xF - strh r0, [r6, 0x22] - ldrb r1, [r4, 0x2] - adds r0, r6, 0 - bl StartSpriteAnim - strh r5, [r6, 0x38] - ldrh r0, [r4, 0x4] - strh r0, [r6, 0x34] -_080AA9C6: - ldrh r0, [r6, 0x2E] - adds r0, 0x1 - movs r5, 0 - strh r0, [r6, 0x2E] - movs r1, 0x2E - ldrsh r0, [r6, r1] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - strh r0, [r6, 0x30] - movs r2, 0x2E - ldrsh r0, [r6, r2] - lsls r4, r0, 1 - adds r4, r0 - ldrh r0, [r6, 0x34] - adds r4, r0 - movs r2, 0xFF - ldrh r0, [r6, 0x3A] - adds r0, 0xA - movs r1, 0xFF - ands r0, r1 - strh r0, [r6, 0x3A] - ands r4, r2 - adds r0, r4, 0 - movs r1, 0x64 - bl Cos - strh r0, [r6, 0x24] - adds r0, r4, 0 - movs r1, 0xA - bl Sin - adds r4, r0, 0 - movs r1, 0x3A - ldrsh r0, [r6, r1] - movs r1, 0x4 - bl Cos - ldrh r2, [r6, 0x30] - adds r4, r2 - adds r0, r4 - strh r0, [r6, 0x26] - movs r0, 0x2E - ldrsh r1, [r6, r0] - movs r2, 0x38 - ldrsh r0, [r6, r2] - cmp r1, r0 - ble _080AAA42 - ldr r0, _080AAA4C @ =sub_80AAA50 - str r0, [r6, 0x1C] - strh r5, [r6, 0x2E] - adds r0, r6, 0 - bl oamt_add_pos2_onto_pos1 - movs r0, 0x5 - strh r0, [r6, 0x32] - strh r5, [r6, 0x36] - strh r5, [r6, 0x34] - adds r0, r6, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim -_080AAA42: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080AAA48: .4byte gBattleAnimArgs -_080AAA4C: .4byte sub_80AAA50 - thumb_func_end sub_80AA998 - - thumb_func_start sub_80AAA50 -sub_80AAA50: @ 80AAA50 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x2E] - adds r0, 0x1 - strh r0, [r1, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA - ble _080AAA6A - movs r0, 0 - strh r0, [r1, 0x2E] - ldr r0, _080AAA70 @ =sub_80AAA74 - str r0, [r1, 0x1C] -_080AAA6A: - pop {r0} - bx r0 - .align 2, 0 -_080AAA70: .4byte sub_80AAA74 - thumb_func_end sub_80AAA50 - - thumb_func_start sub_80AAA74 -sub_80AAA74: @ 80AAA74 - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x32] - ldrh r2, [r4, 0x34] - adds r0, r1, r2 - strh r0, [r4, 0x34] - strh r0, [r4, 0x26] - adds r1, 0x1 - strh r1, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x30 - ble _080AAA9E - lsls r0, r1, 16 - cmp r0, 0 - ble _080AAA9E - ldrh r0, [r4, 0x36] - subs r1, r0, 0x5 - strh r1, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x36] -_080AAA9E: - movs r1, 0x36 - ldrsh r0, [r4, r1] - cmp r0, 0x3 - ble _080AAAD0 - movs r2, 0x32 - ldrsh r1, [r4, r2] - lsrs r0, r1, 31 - adds r0, r1, r0 - asrs r0, 1 - lsls r0, 1 - subs r1, r0 - adds r3, r4, 0 - adds r3, 0x3E - movs r0, 0x1 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r3] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - adds r0, r4, 0 - bl DestroyAnimSprite -_080AAAD0: - movs r1, 0x36 - ldrsh r0, [r4, r1] - cmp r0, 0x4 - bne _080AAADE - adds r0, r4, 0 - bl DestroyAnimSprite -_080AAADE: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80AAA74 - - thumb_func_start sub_80AAAE4 -sub_80AAAE4: @ 80AAAE4 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, _080AAB28 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080AAB30 - ldr r4, _080AAB2C @ =gBattleAnimAttacker - ldrb r1, [r4] - movs r0, 0x2 - eors r0, r1 - bl sub_8072DF0 - lsls r0, 24 - cmp r0, 0 - beq _080AAB30 - ldrb r0, [r4] - adds r2, r5, 0 - adds r2, 0x20 - adds r3, r5, 0 - adds r3, 0x22 - movs r1, 0 - bl sub_8076D9C - ldrh r0, [r5, 0x22] - adds r0, 0x28 - strh r0, [r5, 0x22] - adds r0, r5, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - b _080AAB50 - .align 2, 0 -_080AAB28: .4byte gBattleTypeFlags -_080AAB2C: .4byte gBattleAnimAttacker -_080AAB30: - ldr r4, _080AAB70 @ =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x28 - strh r0, [r5, 0x22] -_080AAB50: - movs r0, 0xD - strh r0, [r5, 0x2E] - ldrh r0, [r5, 0x20] - strh r0, [r5, 0x32] - ldrh r0, [r5, 0x22] - subs r0, 0x48 - strh r0, [r5, 0x36] - ldr r0, _080AAB74 @ =sub_8075590 - str r0, [r5, 0x1C] - ldr r1, _080AAB78 @ =DestroyAnimSprite - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AAB70: .4byte gBattleAnimAttacker -_080AAB74: .4byte sub_8075590 -_080AAB78: .4byte DestroyAnimSprite - thumb_func_end sub_80AAAE4 - - thumb_func_start sub_80AAB7C -sub_80AAB7C: @ 80AAB7C - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r3, _080AAB98 @ =gBattleAnimArgs - ldr r1, _080AAB9C @ =gUnknown_2037EE4 - ldr r1, [r1] - ldrb r2, [r1, 0x10] - movs r1, 0x1 - ands r1, r2 - strh r1, [r3, 0xE] - bl DestroyAnimVisualTask - pop {r0} - bx r0 - .align 2, 0 -_080AAB98: .4byte gBattleAnimArgs -_080AAB9C: .4byte gUnknown_2037EE4 - thumb_func_end sub_80AAB7C - - thumb_func_start update_fury_cutter_counter_copy -update_fury_cutter_counter_copy: @ 80AABA0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080AABB8 @ =gBattleAnimArgs - ldr r1, _080AABBC @ =gUnknown_2037EE4 - ldr r1, [r1] - ldrb r1, [r1, 0x10] - strh r1, [r2, 0xE] - bl DestroyAnimVisualTask - pop {r0} - bx r0 - .align 2, 0 -_080AABB8: .4byte gBattleAnimArgs -_080AABBC: .4byte gUnknown_2037EE4 - thumb_func_end update_fury_cutter_counter_copy - - thumb_func_start sub_80AABC0 -sub_80AABC0: @ 80AABC0 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - adds r6, r0, 0 - ldr r1, _080AAC48 @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r5, r0, r1 - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _080AABE8 - ldr r1, _080AAC4C @ =gBattleAnimArgs - ldrh r0, [r1] - strh r0, [r5, 0xA] - ldrh r0, [r1, 0x2] - strh r0, [r5, 0xC] - ldrh r0, [r1, 0x4] - strh r0, [r5, 0xE] -_080AABE8: - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - movs r2, 0x8 - ldrsh r0, [r5, r2] - movs r2, 0xC - ldrsh r1, [r5, r2] - bl __modsi3 - cmp r0, 0x1 - bne _080AAC30 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xF0 - bl __umodsi3 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x50 - bl __umodsi3 - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - ldr r0, _080AAC50 @ =gUnknown_83E5898 - adds r1, r4, 0 - movs r3, 0x4 - bl CreateSprite -_080AAC30: - movs r0, 0x8 - ldrsh r1, [r5, r0] - movs r2, 0xE - ldrsh r0, [r5, r2] - cmp r1, r0 - bne _080AAC42 - adds r0, r6, 0 - bl DestroyAnimVisualTask -_080AAC42: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080AAC48: .4byte gTasks -_080AAC4C: .4byte gBattleAnimArgs -_080AAC50: .4byte gUnknown_83E5898 - thumb_func_end sub_80AABC0 - - thumb_func_start sub_80AAC54 -sub_80AAC54: @ 80AAC54 - ldr r1, _080AAC5C @ =sub_80AAC60 - str r1, [r0, 0x1C] - bx lr - .align 2, 0 -_080AAC5C: .4byte sub_80AAC60 - thumb_func_end sub_80AAC54 - - thumb_func_start sub_80AAC60 -sub_80AAC60: @ 80AAC60 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xD - bgt _080AAC7E - ldrh r0, [r2, 0x24] - adds r0, 0x1 - strh r0, [r2, 0x24] - ldrh r0, [r2, 0x26] - adds r0, 0x4 - strh r0, [r2, 0x26] -_080AAC7E: - adds r0, r2, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080AAC92 - adds r0, r2, 0 - bl DestroySprite -_080AAC92: - pop {r0} - bx r0 - thumb_func_end sub_80AAC60 - - thumb_func_start sub_80AAC98 -sub_80AAC98: @ 80AAC98 - push {r4-r6,lr} - adds r6, r0, 0 - ldr r5, _080AACC0 @ =gBattleAnimAttacker - ldrb r0, [r5] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080AACC8 - ldrb r0, [r5] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldr r4, _080AACC4 @ =gBattleAnimArgs - ldrh r1, [r4] - subs r0, r1 - b _080AACDA - .align 2, 0 -_080AACC0: .4byte gBattleAnimAttacker -_080AACC4: .4byte gBattleAnimArgs -_080AACC8: - ldrb r0, [r5] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - ldr r4, _080AADA0 @ =gBattleAnimArgs - lsrs r0, 24 - ldrh r1, [r4] - adds r0, r1 -_080AACDA: - strh r0, [r6, 0x20] - ldrb r0, [r5] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r4, [r4, 0x2] - adds r0, r4 - strh r0, [r6, 0x22] - adds r2, r6, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x40 - orrs r0, r1 - strb r0, [r2] - ldr r0, _080AADA4 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080AAD10 - ldr r1, _080AADA0 @ =gBattleAnimArgs - ldrh r0, [r1, 0x4] - negs r0, r0 - strh r0, [r1, 0x4] -_080AAD10: - ldr r5, _080AADA0 @ =gBattleAnimArgs - ldrh r0, [r5, 0xC] - strh r0, [r6, 0x2E] - ldrh r0, [r6, 0x20] - strh r0, [r6, 0x30] - ldr r4, _080AADA8 @ =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x32] - ldrh r0, [r6, 0x22] - strh r0, [r6, 0x34] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x36] - adds r0, r6, 0 - bl obj_translate_based_on_private_1_2_3_4 - ldr r0, _080AADAC @ =SpriteCallbackDummy - bl CreateInvisibleSpriteWithCallback - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - strh r4, [r6, 0x38] - ldrb r0, [r5, 0x8] - movs r2, 0x4 - ldrsh r1, [r5, r2] - bl Sin - ldrh r1, [r6, 0x20] - subs r1, r0 - strh r1, [r6, 0x20] - ldrb r0, [r5, 0x8] - movs r2, 0x6 - ldrsh r1, [r5, r2] - bl Cos - ldrh r1, [r6, 0x22] - subs r1, r0 - strh r1, [r6, 0x22] - ldr r0, _080AADB0 @ =gSprites - lsls r1, r4, 4 - adds r1, r4 - lsls r1, 2 - adds r1, r0 - ldrh r0, [r5, 0x4] - strh r0, [r1, 0x2E] - ldrh r0, [r5, 0x6] - strh r0, [r1, 0x30] - ldrh r0, [r5, 0xA] - strh r0, [r1, 0x32] - ldrb r0, [r5, 0x8] - lsls r0, 8 - strh r0, [r1, 0x34] - ldrh r0, [r5, 0xC] - strh r0, [r1, 0x36] - ldr r1, _080AADB4 @ =sub_80AADB8 - str r1, [r6, 0x1C] - adds r0, r6, 0 - bl _call_via_r1 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080AADA0: .4byte gBattleAnimArgs -_080AADA4: .4byte gBattleAnimAttacker -_080AADA8: .4byte gBattleAnimTarget -_080AADAC: .4byte SpriteCallbackDummy -_080AADB0: .4byte gSprites -_080AADB4: .4byte sub_80AADB8 - thumb_func_end sub_80AAC98 - - thumb_func_start sub_80AADB8 -sub_80AADB8: @ 80AADB8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r5, r0, 0 - ldrh r1, [r5, 0x38] - lsls r1, 24 - lsrs r1, 24 - ldr r2, _080AAE20 @ =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r7, r0, r2 - ldrh r4, [r7, 0x36] - lsls r4, 24 - lsrs r4, 24 - ldrh r0, [r7, 0x34] - mov r8, r0 - movs r0, 0x1 - strh r0, [r5, 0x2E] - adds r0, r5, 0 - bl sub_80755E0 - mov r1, r8 - lsrs r6, r1, 8 - movs r0, 0x2E - ldrsh r1, [r7, r0] - adds r0, r6, 0 - bl Sin - ldrh r1, [r5, 0x24] - adds r0, r1 - strh r0, [r5, 0x24] - movs r0, 0x30 - ldrsh r1, [r7, r0] - adds r0, r6, 0 - bl Cos - ldrh r1, [r5, 0x26] - adds r0, r1 - strh r0, [r5, 0x26] - ldrh r0, [r7, 0x32] - mov r1, r8 - adds r1, r0 - strh r1, [r7, 0x34] - subs r4, 0x1 - lsls r4, 24 - lsrs r4, 24 - cmp r4, 0 - beq _080AAE24 - strh r4, [r7, 0x36] - b _080AAE2E - .align 2, 0 -_080AAE20: .4byte gSprites -_080AAE24: - ldr r0, _080AAE3C @ =sub_80AAE40 - str r0, [r5, 0x1C] - adds r0, r7, 0 - bl DestroySprite -_080AAE2E: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080AAE3C: .4byte sub_80AAE40 - thumb_func_end sub_80AADB8 - - thumb_func_start sub_80AAE40 -sub_80AAE40: @ 80AAE40 - push {lr} - adds r3, r0, 0 - adds r3, 0x2C - ldrb r2, [r3] - movs r1, 0x41 - negs r1, r1 - ands r1, r2 - strb r1, [r3] - ldr r1, _080AAE60 @ =sub_8074F6C - str r1, [r0, 0x1C] - ldr r1, _080AAE64 @ =sub_80AAE68 - bl StoreSpriteCallbackInData6 - pop {r0} - bx r0 - .align 2, 0 -_080AAE60: .4byte sub_8074F6C -_080AAE64: .4byte sub_80AAE68 - thumb_func_end sub_80AAE40 - - thumb_func_start sub_80AAE68 -sub_80AAE68: @ 80AAE68 - push {lr} - movs r1, 0xA - strh r1, [r0, 0x2E] - ldr r1, _080AAE7C @ =sub_8074C44 - str r1, [r0, 0x1C] - ldr r1, _080AAE80 @ =move_anim_8074EE0 - bl StoreSpriteCallbackInData6 - pop {r0} - bx r0 - .align 2, 0 -_080AAE7C: .4byte sub_8074C44 -_080AAE80: .4byte move_anim_8074EE0 - thumb_func_end sub_80AAE68 - - thumb_func_start sub_80AAE84 -sub_80AAE84: @ 80AAE84 - push {r4-r7,lr} - adds r5, r0, 0 - movs r1, 0x1 - bl sub_8075160 - ldr r0, _080AAEAC @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080AAEB4 - ldr r1, _080AAEB0 @ =gBattleAnimArgs - ldrh r0, [r1, 0x4] - negs r0, r0 - lsls r0, 16 - lsrs r6, r0, 16 - adds r7, r1, 0 - b _080AAEBA - .align 2, 0 -_080AAEAC: .4byte gBattleAnimAttacker -_080AAEB0: .4byte gBattleAnimArgs -_080AAEB4: - ldr r0, _080AAF10 @ =gBattleAnimArgs - ldrh r6, [r0, 0x4] - adds r7, r0, 0 -_080AAEBA: - ldrh r0, [r7, 0x8] - strh r0, [r5, 0x2E] - ldrh r0, [r5, 0x20] - strh r0, [r5, 0x30] - ldr r4, _080AAF14 @ =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - adds r0, r6 - strh r0, [r5, 0x32] - ldrh r0, [r5, 0x22] - strh r0, [r5, 0x34] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r7, [r7, 0x6] - adds r0, r7 - strh r0, [r5, 0x36] - adds r0, r5, 0 - bl obj_translate_based_on_private_1_2_3_4 - ldr r0, _080AAF18 @ =sub_80AAF1C - str r0, [r5, 0x1C] - adds r2, r5, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - ldr r1, [r5, 0x1C] - adds r0, r5, 0 - bl _call_via_r1 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080AAF10: .4byte gBattleAnimArgs -_080AAF14: .4byte gBattleAnimTarget -_080AAF18: .4byte sub_80AAF1C - thumb_func_end sub_80AAE84 - - thumb_func_start sub_80AAF1C -sub_80AAF1C: @ 80AAF1C - push {r4,lr} - adds r4, r0, 0 - ldr r0, _080AAF58 @ =gBattleAnimArgs - ldrh r1, [r0, 0xE] - ldr r0, _080AAF5C @ =0x0000ffff - cmp r1, r0 - bne _080AAF3E - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAnim - adds r2, r4, 0 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] -_080AAF3E: - adds r0, r4, 0 - bl sub_80755E0 - lsls r0, 24 - cmp r0, 0 - beq _080AAF50 - adds r0, r4, 0 - bl DestroyAnimSprite -_080AAF50: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080AAF58: .4byte gBattleAnimArgs -_080AAF5C: .4byte 0x0000ffff - thumb_func_end sub_80AAF1C - - thumb_func_start sub_80AAF60 -sub_80AAF60: @ 80AAF60 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080AAF94 @ =gTasks - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - adds r4, r1 - ldr r0, _080AAF98 @ =gBattleAnimArgs - ldrh r0, [r0] - strh r0, [r4, 0x8] - ldr r0, _080AAF9C @ =0x0000279c - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 20 - movs r1, 0x80 - lsls r1, 1 - adds r0, r1 - strh r0, [r4, 0xC] - ldr r0, _080AAFA0 @ =sub_80AAFA4 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080AAF94: .4byte gTasks -_080AAF98: .4byte gBattleAnimArgs -_080AAF9C: .4byte 0x0000279c -_080AAFA0: .4byte sub_80AAFA4 - thumb_func_end sub_80AAF60 - - thumb_func_start sub_80AAFA4 -sub_80AAFA4: @ 80AAFA4 - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _080AB01C @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r2, r0, r1 - ldrh r0, [r2, 0x1C] - adds r0, 0x1 - strh r0, [r2, 0x1C] - lsls r0, 16 - asrs r0, 16 - mov r12, r1 - cmp r0, 0x3 - bne _080AAFF6 - movs r0, 0 - strh r0, [r2, 0x1C] - ldrh r0, [r2, 0xC] - adds r0, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - ldr r1, _080AB020 @ =gPlttBufferFaded - lsls r0, r5, 1 - adds r0, r1 - ldrh r6, [r0] - adds r7, r1, 0 - adds r3, r0, 0x2 - movs r1, 0x6 - adds r2, r0, 0 -_080AAFE0: - ldrh r0, [r3] - strh r0, [r2] - adds r3, 0x2 - adds r2, 0x2 - subs r1, 0x1 - cmp r1, 0 - bge _080AAFE0 - adds r0, r5, 0x7 - lsls r0, 1 - adds r0, r7 - strh r6, [r0] -_080AAFF6: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - add r0, r12 - ldrh r1, [r0, 0x1E] - adds r1, 0x1 - strh r1, [r0, 0x1E] - lsls r1, 16 - asrs r1, 16 - movs r2, 0x8 - ldrsh r0, [r0, r2] - cmp r1, r0 - bne _080AB016 - adds r0, r4, 0 - bl DestroyAnimVisualTask -_080AB016: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080AB01C: .4byte gTasks -_080AB020: .4byte gPlttBufferFaded - thumb_func_end sub_80AAFA4 - - thumb_func_start sub_80AB024 -sub_80AB024: @ 80AB024 - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x1 - bl sub_8075160 - movs r0, 0x1E - strh r0, [r5, 0x2E] - ldrh r0, [r5, 0x20] - strh r0, [r5, 0x30] - ldr r4, _080AB08C @ =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x32] - ldrh r0, [r5, 0x22] - strh r0, [r5, 0x34] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x36] - adds r0, r5, 0 - bl obj_translate_based_on_private_1_2_3_4 - movs r0, 0x2E - ldrsh r1, [r5, r0] - movs r0, 0xD2 - lsls r0, 8 - bl __divsi3 - strh r0, [r5, 0x38] - ldr r0, _080AB090 @ =gBattleAnimArgs - ldrh r2, [r0, 0x6] - strh r2, [r5, 0x3C] - ldrh r1, [r0, 0xE] - movs r3, 0xE - ldrsh r0, [r0, r3] - cmp r0, 0x7F - ble _080AB094 - adds r0, r1, 0 - subs r0, 0x7F - lsls r0, 8 - strh r0, [r5, 0x3A] - negs r0, r2 - strh r0, [r5, 0x3C] - b _080AB098 - .align 2, 0 -_080AB08C: .4byte gBattleAnimTarget -_080AB090: .4byte gBattleAnimArgs -_080AB094: - lsls r0, r1, 8 - strh r0, [r5, 0x3A] -_080AB098: - ldr r1, _080AB0A8 @ =sub_80AB0AC - str r1, [r5, 0x1C] - adds r0, r5, 0 - bl _call_via_r1 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AB0A8: .4byte sub_80AB0AC - thumb_func_end sub_80AB024 - - thumb_func_start sub_80AB0AC -sub_80AB0AC: @ 80AB0AC - push {r4,lr} - adds r4, r0, 0 - bl sub_80755E0 - lsls r0, 24 - cmp r0, 0 - beq _080AB0C0 - adds r0, r4, 0 - bl DestroyAnimSprite -_080AB0C0: - ldrh r0, [r4, 0x3A] - lsls r0, 16 - asrs r0, 24 - movs r2, 0x3C - ldrsh r1, [r4, r2] - bl Sin - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - movs r2, 0x3A - ldrsh r0, [r4, r2] - movs r2, 0x38 - ldrsh r1, [r4, r2] - adds r0, r1 - asrs r0, 8 - cmp r0, 0x7F - ble _080AB0F0 - movs r0, 0 - strh r0, [r4, 0x3A] - ldrh r0, [r4, 0x3C] - negs r0, r0 - strh r0, [r4, 0x3C] - b _080AB0F8 -_080AB0F0: - ldrh r0, [r4, 0x38] - ldrh r1, [r4, 0x3A] - adds r0, r1 - strh r0, [r4, 0x3A] -_080AB0F8: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80AB0AC - - thumb_func_start sub_80AB100 -sub_80AB100: @ 80AB100 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080AB120 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r3, _080AB124 @ =gBattleAnimArgs - ldrh r0, [r3] - movs r2, 0 - strh r0, [r1, 0x8] - strh r2, [r3, 0xE] - ldr r0, _080AB128 @ =sub_80AB12C - str r0, [r1] - bx lr - .align 2, 0 -_080AB120: .4byte gTasks -_080AB124: .4byte gBattleAnimArgs -_080AB128: .4byte sub_80AB12C - thumb_func_end sub_80AB100 - - thumb_func_start sub_80AB12C -sub_80AB12C: @ 80AB12C - push {lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r2, _080AB160 @ =gBattleAnimArgs - ldrh r0, [r2, 0xE] - adds r0, 0x3 - movs r1, 0xFF - ands r0, r1 - strh r0, [r2, 0xE] - ldr r1, _080AB164 @ =gTasks - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x8] - subs r1, 0x1 - strh r1, [r0, 0x8] - lsls r1, 16 - cmp r1, 0 - bne _080AB15A - adds r0, r3, 0 - bl DestroyAnimVisualTask -_080AB15A: - pop {r0} - bx r0 - .align 2, 0 -_080AB160: .4byte gBattleAnimArgs -_080AB164: .4byte gTasks - thumb_func_end sub_80AB12C - - thumb_func_start sub_80AB168 -sub_80AB168: @ 80AB168 - push {r4-r7,lr} - adds r4, r0, 0 - ldr r7, _080AB1B4 @ =gBattleAnimAttacker - ldrb r0, [r7] - movs r1, 0 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x20] - ldrb r0, [r7] - movs r1, 0x1 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x22] - ldr r6, _080AB1B8 @ =0x0000fff6 - strh r6, [r4, 0x26] - ldrb r0, [r7] - bl sub_807685C - lsls r0, 24 - lsrs r5, r0, 24 - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080AB1C2 - ldrb r0, [r7] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080AB1BC - movs r0, 0xA - strh r0, [r4, 0x24] - b _080AB1C4 - .align 2, 0 -_080AB1B4: .4byte gBattleAnimAttacker -_080AB1B8: .4byte 0x0000fff6 -_080AB1BC: - strh r6, [r4, 0x24] - subs r0, r5, 0x2 - b _080AB1C6 -_080AB1C2: - strh r6, [r4, 0x24] -_080AB1C4: - adds r0, r5, 0x2 -_080AB1C6: - adds r1, r4, 0 - adds r1, 0x43 - strb r0, [r1] - ldr r0, _080AB1D8 @ =sub_80AB1DC - str r0, [r4, 0x1C] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080AB1D8: .4byte sub_80AB1DC - thumb_func_end sub_80AB168 - - thumb_func_start sub_80AB1DC -sub_80AB1DC: @ 80AB1DC - push {lr} - adds r2, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080AB1F2 - adds r0, r2, 0 - bl DestroyAnimSprite -_080AB1F2: - pop {r0} - bx r0 - thumb_func_end sub_80AB1DC - - thumb_func_start sub_80AB1F8 -sub_80AB1F8: @ 80AB1F8 - push {r4-r7,lr} - adds r6, r0, 0 - ldr r5, _080AB2B8 @ =gBattleAnimAttacker - ldrb r0, [r5] - bl GetBattlerSide - adds r4, r0, 0 - ldr r0, _080AB2BC @ =gBattleAnimTarget - ldrb r0, [r0] - bl GetBattlerSide - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - bne _080AB242 - ldr r4, _080AB2C0 @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r4, r1] - negs r0, r0 - strh r0, [r4] - ldrb r0, [r5] - bl GetBattlerPosition - lsls r0, 24 - cmp r0, 0 - beq _080AB23A - ldrb r0, [r5] - bl GetBattlerPosition - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080AB242 -_080AB23A: - movs r1, 0 - ldrsh r0, [r4, r1] - negs r0, r0 - strh r0, [r4] -_080AB242: - ldr r5, _080AB2C0 @ =gBattleAnimArgs - movs r1, 0xA - ldrsh r0, [r5, r1] - movs r1, 0xFF - lsls r1, 8 - ands r0, r1 - movs r1, 0 - cmp r0, 0 - bne _080AB256 - movs r1, 0x1 -_080AB256: - ldrb r0, [r5, 0xA] - movs r7, 0x1 - cmp r0, 0 - bne _080AB260 - movs r7, 0x3 -_080AB260: - adds r0, r6, 0 - bl sub_8075160 - ldr r0, _080AB2B8 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080AB27A - ldrh r0, [r5, 0x4] - negs r0, r0 - strh r0, [r5, 0x4] -_080AB27A: - ldrh r0, [r5, 0x8] - strh r0, [r6, 0x2E] - ldr r4, _080AB2BC @ =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r5, 0x4] - adds r0, r1 - strh r0, [r6, 0x32] - ldrb r0, [r4] - adds r1, r7, 0 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r5, [r5, 0x6] - adds r0, r5 - strh r0, [r6, 0x36] - ldr r0, _080AB2C4 @ =sub_8075590 - str r0, [r6, 0x1C] - ldr r1, _080AB2C8 @ =DestroyAnimSprite - adds r0, r6, 0 - bl StoreSpriteCallbackInData6 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080AB2B8: .4byte gBattleAnimAttacker -_080AB2BC: .4byte gBattleAnimTarget -_080AB2C0: .4byte gBattleAnimArgs -_080AB2C4: .4byte sub_8075590 -_080AB2C8: .4byte DestroyAnimSprite - thumb_func_end sub_80AB1F8 - - thumb_func_start sub_80AB2CC -sub_80AB2CC: @ 80AB2CC - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl sub_8075114 - ldr r0, _080AB2FC @ =gBattleAnimArgs - ldrh r1, [r0, 0x8] - strh r1, [r4, 0x2E] - ldrh r0, [r0, 0x4] - ldrh r2, [r4, 0x20] - adds r0, r2 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x22] - adds r1, r0 - strh r1, [r4, 0x36] - ldr r0, _080AB300 @ =sub_8075590 - str r0, [r4, 0x1C] - ldr r1, _080AB304 @ =DestroyAnimSprite - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080AB2FC: .4byte gBattleAnimArgs -_080AB300: .4byte sub_8075590 -_080AB304: .4byte DestroyAnimSprite - thumb_func_end sub_80AB2CC - - thumb_func_start sub_80AB308 -sub_80AB308: @ 80AB308 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _080AB320 @ =gBattleAnimArgs - movs r1, 0x6 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _080AB324 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_8075114 - b _080AB32C - .align 2, 0 -_080AB320: .4byte gBattleAnimArgs -_080AB324: - adds r0, r4, 0 - movs r1, 0x1 - bl sub_8075160 -_080AB32C: - ldr r0, _080AB33C @ =gBattleAnimArgs - ldrh r0, [r0, 0x4] - strh r0, [r4, 0x3C] - ldr r0, _080AB340 @ =sub_80AB344 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080AB33C: .4byte gBattleAnimArgs -_080AB340: .4byte sub_80AB344 - thumb_func_end sub_80AB308 - - thumb_func_start sub_80AB344 -sub_80AB344: @ 80AB344 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r0, 0xB - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x2E] - movs r1, 0x2E - ldrsh r0, [r4, r1] - movs r1, 0x4 - bl Sin - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x30] - adds r0, 0x30 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 24 - negs r0, r0 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x3C] - subs r0, 0x1 - strh r0, [r4, 0x3C] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _080AB384 - adds r0, r4, 0 - bl DestroyAnimSprite -_080AB384: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80AB344 - - thumb_func_start sub_80AB38C -sub_80AB38C: @ 80AB38C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - ldr r1, _080AB3FC @ =0x00003f42 - movs r0, 0x50 - bl SetGpuReg - movs r1, 0x80 - lsls r1, 5 - movs r0, 0x52 - bl SetGpuReg - movs r0, 0x1 - movs r1, 0x4 - movs r2, 0x1 - bl SetAnimBgAttribute - movs r0, 0x1 - movs r1, 0 - movs r2, 0x1 - bl SetAnimBgAttribute - mov r0, sp - bl sub_80752A0 - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080AB418 - movs r0, 0x1 - movs r1, 0x3 - movs r2, 0x1 - bl SetAnimBgAttribute - ldr r0, _080AB400 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080AB408 - mov r0, sp - ldrb r0, [r0, 0x9] - ldr r1, _080AB404 @ =gFile_graphics_unknown_unknown_E81D14_tilemap - bl sub_807543C - b _080AB42E - .align 2, 0 -_080AB3FC: .4byte 0x00003f42 -_080AB400: .4byte gBattleAnimAttacker -_080AB404: .4byte gFile_graphics_unknown_unknown_E81D14_tilemap -_080AB408: - mov r0, sp - ldrb r0, [r0, 0x9] - ldr r1, _080AB414 @ =gFile_graphics_unknown_unknown_E81FE4_tilemap - bl sub_807543C - b _080AB42E - .align 2, 0 -_080AB414: .4byte gFile_graphics_unknown_unknown_E81FE4_tilemap -_080AB418: - ldr r0, _080AB458 @ =gFile_graphics_unknown_unknown_E822B8_tilemap - ldr r1, [sp, 0x4] - bl LZDecompressVram - mov r0, sp - ldrb r0, [r0, 0x8] - ldr r1, [sp, 0x4] - movs r2, 0 - movs r3, 0x1 - bl sub_80730C0 -_080AB42E: - mov r0, sp - ldrb r0, [r0, 0x9] - ldr r1, _080AB45C @ =gFile_graphics_battle_anims_backgrounds_water_sheet - mov r2, sp - ldrh r2, [r2, 0xA] - bl sub_80753B4 - ldr r0, _080AB460 @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080AB468 - ldr r0, _080AB464 @ =gFile_graphics_battle_anims_backgrounds_water_palette - mov r1, sp - ldrb r1, [r1, 0x8] - lsls r1, 4 - movs r2, 0x20 - bl LoadCompressedPalette - b _080AB476 - .align 2, 0 -_080AB458: .4byte gFile_graphics_unknown_unknown_E822B8_tilemap -_080AB45C: .4byte gFile_graphics_battle_anims_backgrounds_water_sheet -_080AB460: .4byte gBattleAnimArgs -_080AB464: .4byte gFile_graphics_battle_anims_backgrounds_water_palette -_080AB468: - ldr r0, _080AB4E0 @ =gFile_graphics_battle_anims_backgrounds_water_muddy_palette - mov r1, sp - ldrb r1, [r1, 0x8] - lsls r1, 4 - movs r2, 0x20 - bl LoadCompressedPalette -_080AB476: - ldr r0, _080AB4E4 @ =sub_80AB79C - ldr r4, _080AB4E8 @ =gTasks - mov r2, r10 - lsls r5, r2, 2 - adds r1, r5, r2 - lsls r1, 3 - adds r6, r1, r4 - ldrb r1, [r6, 0x7] - adds r1, 0x1 - lsls r1, 24 - lsrs r1, 24 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r0, 0 - mov r9, r0 - mov r1, r8 - strh r1, [r6, 0x26] - mov r2, r8 - lsls r0, r2, 2 - add r0, r8 - lsls r0, 3 - adds r7, r0, r4 - mov r0, r9 - strh r0, [r7, 0x8] - movs r0, 0x80 - lsls r0, 5 - strh r0, [r7, 0xA] - strh r0, [r7, 0xC] - bl sub_8073788 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - beq _080AB4F8 - ldr r1, _080AB4EC @ =0x0000ffb0 - adds r0, r1, 0 - ldr r2, _080AB4F0 @ =gBattle_BG1_X - strh r0, [r2] - adds r1, 0x20 - adds r0, r1, 0 - ldr r2, _080AB4F4 @ =gBattle_BG1_Y - strh r0, [r2] - movs r0, 0x2 - strh r0, [r6, 0x8] - movs r0, 0x1 - strh r0, [r6, 0xA] - mov r0, r9 - strh r0, [r7, 0xE] - b _080AB552 - .align 2, 0 -_080AB4E0: .4byte gFile_graphics_battle_anims_backgrounds_water_muddy_palette -_080AB4E4: .4byte sub_80AB79C -_080AB4E8: .4byte gTasks -_080AB4EC: .4byte 0x0000ffb0 -_080AB4F0: .4byte gBattle_BG1_X -_080AB4F4: .4byte gBattle_BG1_Y -_080AB4F8: - ldr r0, _080AB528 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x1 - bne _080AB53C - ldr r2, _080AB52C @ =0x0000ff20 - adds r0, r2, 0 - ldr r2, _080AB530 @ =gBattle_BG1_X - strh r0, [r2] - movs r2, 0x80 - lsls r2, 1 - adds r0, r2, 0 - ldr r2, _080AB534 @ =gBattle_BG1_Y - strh r0, [r2] - movs r0, 0x2 - strh r0, [r6, 0x8] - ldr r0, _080AB538 @ =0x0000ffff - strh r0, [r6, 0xA] - strh r1, [r7, 0xE] - b _080AB552 - .align 2, 0 -_080AB528: .4byte gBattleAnimAttacker -_080AB52C: .4byte 0x0000ff20 -_080AB530: .4byte gBattle_BG1_X -_080AB534: .4byte gBattle_BG1_Y -_080AB538: .4byte 0x0000ffff -_080AB53C: - ldr r0, _080AB584 @ =gBattle_BG1_X - strh r4, [r0] - ldr r1, _080AB588 @ =0x0000ffd0 - adds r0, r1, 0 - ldr r2, _080AB58C @ =gBattle_BG1_Y - strh r0, [r2] - ldr r0, _080AB590 @ =0x0000fffe - strh r0, [r6, 0x8] - movs r0, 0x1 - strh r0, [r6, 0xA] - strh r4, [r7, 0xE] -_080AB552: - ldr r0, _080AB584 @ =gBattle_BG1_X - ldrh r1, [r0] - movs r0, 0x14 - bl SetGpuReg - ldr r2, _080AB58C @ =gBattle_BG1_Y - ldrh r1, [r2] - movs r0, 0x16 - bl SetGpuReg - ldr r1, _080AB594 @ =gTasks - mov r2, r8 - lsls r0, r2, 2 - add r0, r8 - lsls r0, 3 - adds r1, r0, r1 - movs r2, 0xE - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _080AB598 - movs r0, 0x30 - strh r0, [r1, 0x10] - movs r0, 0x70 - b _080AB59C - .align 2, 0 -_080AB584: .4byte gBattle_BG1_X -_080AB588: .4byte 0x0000ffd0 -_080AB58C: .4byte gBattle_BG1_Y -_080AB590: .4byte 0x0000fffe -_080AB594: .4byte gTasks -_080AB598: - movs r0, 0 - strh r0, [r1, 0x10] -_080AB59C: - strh r0, [r1, 0x12] - ldr r1, _080AB5C0 @ =gTasks - mov r2, r10 - adds r0, r5, r2 - lsls r0, 3 - adds r0, r1 - movs r1, 0x1 - strh r1, [r0, 0x14] - ldr r1, _080AB5C4 @ =sub_80AB5C8 - str r1, [r0] - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080AB5C0: .4byte gTasks -_080AB5C4: .4byte sub_80AB5C8 - thumb_func_end sub_80AB38C - - thumb_func_start sub_80AB5C8 -sub_80AB5C8: @ 80AB5C8 - push {r4-r7,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _080AB6F4 @ =gBattle_BG1_X - ldr r2, _080AB6F8 @ =gBattle_BG1_Y - ldr r0, _080AB6FC @ =gTasks - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - adds r4, r0 - ldrh r0, [r4, 0x8] - ldrh r3, [r1] - adds r0, r3 - strh r0, [r1] - ldrh r0, [r4, 0xA] - ldrh r1, [r2] - adds r0, r1 - strh r0, [r2] - mov r0, sp - bl sub_80752A0 - ldrh r0, [r4, 0xA] - ldrh r3, [r4, 0xC] - adds r0, r3 - strh r0, [r4, 0xC] - ldrh r0, [r4, 0x12] - adds r0, 0x1 - strh r0, [r4, 0x12] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - bne _080AB65C - ldr r1, _080AB700 @ =gPlttBufferFaded - mov r0, sp - ldrb r0, [r0, 0x8] - lsls r0, 4 - adds r0, 0x7 - lsls r0, 1 - adds r0, r1 - ldrh r6, [r0] - movs r2, 0x6 - adds r7, r1, 0 - adds r3, r7, 0 - mov r4, sp -_080AB622: - ldrb r0, [r4, 0x8] - lsls r0, 4 - adds r1, r2, 0x1 - adds r0, r1 - lsls r1, r0, 1 - adds r1, r3 - subs r0, 0x1 - lsls r0, 1 - adds r0, r3 - ldrh r0, [r0] - strh r0, [r1] - subs r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - bne _080AB622 - mov r0, sp - ldrb r0, [r0, 0x8] - lsls r0, 4 - adds r0, 0x1 - lsls r0, 1 - adds r0, r7 - strh r6, [r0] - ldr r1, _080AB6FC @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - strh r2, [r0, 0x12] -_080AB65C: - ldr r1, _080AB6FC @ =gTasks - lsls r2, r5, 2 - adds r0, r2, r5 - lsls r0, 3 - adds r3, r0, r1 - ldrh r0, [r3, 0x14] - adds r0, 0x1 - strh r0, [r3, 0x14] - lsls r0, 16 - asrs r0, 16 - adds r4, r1, 0 - adds r6, r2, 0 - cmp r0, 0x1 - ble _080AB6CA - movs r0, 0 - strh r0, [r3, 0x14] - ldrh r0, [r3, 0xE] - adds r2, r0, 0x1 - strh r2, [r3, 0xE] - lsls r0, r2, 16 - asrs r0, 16 - cmp r0, 0xD - bgt _080AB6A6 - movs r1, 0x26 - ldrsh r0, [r3, r1] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r4 - movs r0, 0x10 - subs r0, r2 - lsls r0, 8 - orrs r2, r0 - strh r2, [r1, 0xA] - ldrh r0, [r3, 0x10] - adds r0, 0x1 - strh r0, [r3, 0x10] -_080AB6A6: - movs r1, 0xE - ldrsh r0, [r3, r1] - cmp r0, 0x36 - ble _080AB6CA - ldrh r2, [r3, 0x10] - subs r2, 0x1 - strh r2, [r3, 0x10] - movs r1, 0x26 - ldrsh r0, [r3, r1] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r4 - movs r0, 0x10 - subs r0, r2 - lsls r0, 8 - orrs r2, r0 - strh r2, [r1, 0xA] -_080AB6CA: - adds r0, r6, r5 - lsls r0, 3 - adds r2, r0, r4 - movs r3, 0x26 - ldrsh r1, [r2, r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r4 - ldrh r0, [r0, 0xA] - movs r3, 0x1F - ands r3, r0 - cmp r3, 0 - bne _080AB6EC - strh r3, [r2, 0x8] - ldr r0, _080AB704 @ =sub_80AB708 - str r0, [r2] -_080AB6EC: - add sp, 0x10 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080AB6F4: .4byte gBattle_BG1_X -_080AB6F8: .4byte gBattle_BG1_Y -_080AB6FC: .4byte gTasks -_080AB700: .4byte gPlttBufferFaded -_080AB704: .4byte sub_80AB708 - thumb_func_end sub_80AB5C8 - - thumb_func_start sub_80AB708 -sub_80AB708: @ 80AB708 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - ldr r7, _080AB740 @ =gBattle_BG1_X - ldr r0, _080AB744 @ =gBattle_BG1_Y - mov r8, r0 - ldr r6, _080AB748 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r6 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080AB74C - movs r0, 0x1 - bl sub_8075358 - movs r0, 0x2 - bl sub_8075358 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080AB78E - .align 2, 0 -_080AB740: .4byte gBattle_BG1_X -_080AB744: .4byte gBattle_BG1_Y -_080AB748: .4byte gTasks -_080AB74C: - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080AB760 - movs r0, 0x1 - movs r1, 0x3 - movs r2, 0 - bl SetAnimBgAttribute -_080AB760: - movs r0, 0 - strh r0, [r7] - mov r1, r8 - strh r0, [r1] - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r6 - ldr r1, _080AB798 @ =0x0000ffff - strh r1, [r0, 0x26] - adds r0, r5, 0 - bl DestroyAnimVisualTask -_080AB78E: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080AB798: .4byte 0x0000ffff - thumb_func_end sub_80AB708 - - thumb_func_start sub_80AB79C -sub_80AB79C: @ 80AB79C - push {r4-r7,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r7, r0, 24 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - ldr r1, _080AB7C4 @ =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - bne _080AB7B8 - b _080AB8F0 -_080AB7B8: - cmp r0, 0x1 - bgt _080AB7C8 - cmp r0, 0 - beq _080AB7D0 - b _080ABA66 - .align 2, 0 -_080AB7C4: .4byte gTasks -_080AB7C8: - cmp r0, 0x2 - bne _080AB7CE - b _080AB9BC -_080AB7CE: - b _080ABA66 -_080AB7D0: - movs r3, 0 - movs r2, 0x10 - ldrsh r0, [r4, r2] - ldr r1, _080AB8A0 @ =gScanlineEffectRegBuffers - mov r12, r1 - cmp r3, r0 - bge _080AB80E - mov r7, r12 - movs r5, 0xF0 - lsls r5, 3 - add r5, r12 - ldr r6, _080AB8A4 @ =0x0000ffff -_080AB7E8: - lsls r2, r3, 16 - asrs r2, 16 - lsls r1, r2, 1 - adds r3, r1, r7 - adds r1, r5 - ldrh r0, [r4, 0xC] - strh r0, [r1] - ldrh r1, [r4, 0xC] - adds r0, r6, 0 - ands r0, r1 - strh r0, [r3] - adds r2, 0x1 - lsls r2, 16 - lsrs r3, r2, 16 - asrs r2, 16 - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r2, r0 - blt _080AB7E8 -_080AB80E: - ldrh r3, [r4, 0x10] - lsls r2, r3, 16 - asrs r1, r2, 16 - movs r3, 0x12 - ldrsh r0, [r4, r3] - cmp r1, r0 - bge _080AB848 - ldr r5, _080AB8A0 @ =gScanlineEffectRegBuffers - movs r0, 0xF0 - lsls r0, 3 - adds r6, r5, r0 - ldr r7, _080AB8A4 @ =0x0000ffff -_080AB826: - asrs r2, 16 - lsls r1, r2, 1 - adds r3, r1, r5 - adds r1, r6 - ldrh r0, [r4, 0xA] - strh r0, [r1] - ldrh r1, [r4, 0xA] - adds r0, r7, 0 - ands r0, r1 - strh r0, [r3] - adds r2, 0x1 - lsls r2, 16 - asrs r1, r2, 16 - movs r3, 0x12 - ldrsh r0, [r4, r3] - cmp r1, r0 - blt _080AB826 -_080AB848: - ldrh r3, [r4, 0x12] - lsls r2, r3, 16 - asrs r0, r2, 16 - cmp r0, 0x9F - bgt _080AB87E - ldr r5, _080AB8A0 @ =gScanlineEffectRegBuffers - movs r0, 0xF0 - lsls r0, 3 - adds r6, r5, r0 - ldr r7, _080AB8A4 @ =0x0000ffff -_080AB85C: - asrs r2, 16 - lsls r1, r2, 1 - adds r3, r1, r5 - adds r1, r6 - ldrh r0, [r4, 0xC] - strh r0, [r1] - ldrh r1, [r4, 0xC] - adds r0, r7, 0 - ands r0, r1 - strh r0, [r3] - adds r2, 0x1 - lsls r2, 16 - lsrs r3, r2, 16 - lsls r2, r3, 16 - asrs r0, r2, 16 - cmp r0, 0x9F - ble _080AB85C -_080AB87E: - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080AB8A8 - lsls r0, r3, 16 - asrs r0, 15 - mov r3, r12 - adds r2, r0, r3 - movs r1, 0xF0 - lsls r1, 3 - add r1, r12 - adds r0, r1 - ldrh r1, [r4, 0xA] - strh r1, [r0] - ldrh r0, [r4, 0xA] - b _080AB8BE - .align 2, 0 -_080AB8A0: .4byte gScanlineEffectRegBuffers -_080AB8A4: .4byte 0x0000ffff -_080AB8A8: - lsls r0, r3, 16 - asrs r0, 15 - mov r1, r12 - adds r2, r0, r1 - movs r1, 0xF0 - lsls r1, 3 - add r1, r12 - adds r0, r1 - ldrh r1, [r4, 0xC] - strh r1, [r0] - ldrh r0, [r4, 0xC] -_080AB8BE: - strh r0, [r2] - ldr r0, _080AB8E8 @ =0x04000052 - str r0, [sp] - ldr r0, _080AB8EC @ =0xa2600001 - str r0, [sp, 0x4] - mov r1, sp - movs r2, 0 - movs r0, 0x1 - strb r0, [r1, 0x8] - mov r0, sp - strb r2, [r0, 0x9] - ldr r0, [sp] - ldr r1, [sp, 0x4] - ldr r2, [sp, 0x8] - bl ScanlineEffect_SetParams - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080ABA66 - .align 2, 0 -_080AB8E8: .4byte 0x04000052 -_080AB8EC: .4byte 0xa2600001 -_080AB8F0: - movs r2, 0xE - ldrsh r1, [r4, r2] - cmp r1, 0 - bne _080AB908 - ldrh r0, [r4, 0x10] - subs r0, 0x1 - strh r0, [r4, 0x10] - lsls r0, 16 - cmp r0, 0 - bgt _080AB91C - strh r1, [r4, 0x10] - b _080AB916 -_080AB908: - ldrh r0, [r4, 0x12] - adds r0, 0x1 - strh r0, [r4, 0x12] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x6F - ble _080AB91C -_080AB916: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080AB91C: - movs r3, 0 - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r3, r0 - bge _080AB950 - ldr r6, _080AB9B4 @ =gScanlineEffectRegBuffers - ldr r5, _080AB9B8 @ =gScanlineEffect -_080AB92A: - lsls r1, r3, 16 - asrs r1, 16 - lsls r3, r1, 1 - ldrb r2, [r5, 0x14] - lsls r0, r2, 4 - subs r0, r2 - lsls r0, 7 - adds r3, r0 - adds r3, r6 - ldrh r0, [r4, 0xC] - strh r0, [r3] - adds r1, 0x1 - lsls r1, 16 - lsrs r3, r1, 16 - asrs r1, 16 - movs r2, 0x10 - ldrsh r0, [r4, r2] - cmp r1, r0 - blt _080AB92A -_080AB950: - ldrh r3, [r4, 0x10] - lsls r2, r3, 16 - asrs r1, r2, 16 - movs r3, 0x12 - ldrsh r0, [r4, r3] - cmp r1, r0 - bge _080AB984 - ldr r6, _080AB9B4 @ =gScanlineEffectRegBuffers - ldr r5, _080AB9B8 @ =gScanlineEffect -_080AB962: - asrs r3, r2, 16 - lsls r2, r3, 1 - ldrb r1, [r5, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - adds r2, r0 - adds r2, r6 - ldrh r0, [r4, 0xA] - strh r0, [r2] - adds r3, 0x1 - lsls r2, r3, 16 - asrs r1, r2, 16 - movs r3, 0x12 - ldrsh r0, [r4, r3] - cmp r1, r0 - blt _080AB962 -_080AB984: - ldrh r3, [r4, 0x12] - lsls r1, r3, 16 - asrs r0, r1, 16 - cmp r0, 0x9F - bgt _080ABA66 - ldr r6, _080AB9B4 @ =gScanlineEffectRegBuffers - ldr r5, _080AB9B8 @ =gScanlineEffect -_080AB992: - asrs r3, r1, 16 - lsls r2, r3, 1 - ldrb r1, [r5, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - adds r2, r0 - adds r2, r6 - ldrh r0, [r4, 0xC] - strh r0, [r2] - adds r3, 0x1 - lsls r1, r3, 16 - asrs r0, r1, 16 - cmp r0, 0x9F - ble _080AB992 - b _080ABA66 - .align 2, 0 -_080AB9B4: .4byte gScanlineEffectRegBuffers -_080AB9B8: .4byte gScanlineEffect -_080AB9BC: - movs r3, 0 - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r3, r0 - bge _080AB9F0 - ldr r6, _080ABA70 @ =gScanlineEffectRegBuffers - ldr r5, _080ABA74 @ =gScanlineEffect -_080AB9CA: - lsls r1, r3, 16 - asrs r1, 16 - lsls r3, r1, 1 - ldrb r2, [r5, 0x14] - lsls r0, r2, 4 - subs r0, r2 - lsls r0, 7 - adds r3, r0 - adds r3, r6 - ldrh r0, [r4, 0xC] - strh r0, [r3] - adds r1, 0x1 - lsls r1, 16 - lsrs r3, r1, 16 - asrs r1, 16 - movs r2, 0x10 - ldrsh r0, [r4, r2] - cmp r1, r0 - blt _080AB9CA -_080AB9F0: - ldrh r3, [r4, 0x10] - lsls r2, r3, 16 - asrs r1, r2, 16 - movs r3, 0x12 - ldrsh r0, [r4, r3] - cmp r1, r0 - bge _080ABA24 - ldr r6, _080ABA70 @ =gScanlineEffectRegBuffers - ldr r5, _080ABA74 @ =gScanlineEffect -_080ABA02: - asrs r3, r2, 16 - lsls r2, r3, 1 - ldrb r1, [r5, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - adds r2, r0 - adds r2, r6 - ldrh r0, [r4, 0xA] - strh r0, [r2] - adds r3, 0x1 - lsls r2, r3, 16 - asrs r1, r2, 16 - movs r3, 0x12 - ldrsh r0, [r4, r3] - cmp r1, r0 - blt _080ABA02 -_080ABA24: - ldrh r3, [r4, 0x12] - lsls r1, r3, 16 - asrs r0, r1, 16 - cmp r0, 0x9F - bgt _080ABA50 - ldr r6, _080ABA70 @ =gScanlineEffectRegBuffers - ldr r5, _080ABA74 @ =gScanlineEffect -_080ABA32: - asrs r3, r1, 16 - lsls r2, r3, 1 - ldrb r1, [r5, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - adds r2, r0 - adds r2, r6 - ldrh r0, [r4, 0xC] - strh r0, [r2] - adds r3, 0x1 - lsls r1, r3, 16 - asrs r0, r1, 16 - cmp r0, 0x9F - ble _080ABA32 -_080ABA50: - movs r0, 0x26 - ldrsh r1, [r4, r0] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _080ABA66 - bl ScanlineEffect_Stop - adds r0, r7, 0 - bl DestroyTask -_080ABA66: - add sp, 0xC - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080ABA70: .4byte gScanlineEffectRegBuffers -_080ABA74: .4byte gScanlineEffect - thumb_func_end sub_80AB79C - - thumb_func_start sub_80ABA78 -sub_80ABA78: @ 80ABA78 - push {r4-r6,lr} - adds r4, r0, 0 - ldrh r2, [r4, 0x4] - lsls r1, r2, 22 - lsrs r1, 22 - adds r1, 0x8 - ldr r3, _080ABACC @ =0x000003ff - adds r0, r3, 0 - ands r1, r0 - ldr r0, _080ABAD0 @ =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r4, 0x4] - adds r0, r4, 0 - movs r1, 0x1 - bl sub_8075114 - bl Random - movs r5, 0xFF - ands r5, r0 - movs r0, 0x80 - lsls r0, 1 - adds r6, r0, 0 - orrs r5, r6 - bl Random - ldr r1, _080ABAD4 @ =0x000001ff - ands r1, r0 - adds r0, r1, 0 - cmp r0, 0xFF - ble _080ABABE - subs r0, r6, r0 - lsls r0, 16 - lsrs r1, r0, 16 -_080ABABE: - strh r5, [r4, 0x30] - strh r1, [r4, 0x32] - ldr r0, _080ABAD8 @ =sub_80ABADC - str r0, [r4, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080ABACC: .4byte 0x000003ff -_080ABAD0: .4byte 0xfffffc00 -_080ABAD4: .4byte 0x000001ff -_080ABAD8: .4byte sub_80ABADC - thumb_func_end sub_80ABA78 - - thumb_func_start sub_80ABADC -sub_80ABADC: @ 80ABADC - push {r4,lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x30] - ldrh r1, [r2, 0x34] - adds r3, r0, r1 - strh r3, [r2, 0x34] - ldrh r1, [r2, 0x32] - ldrh r4, [r2, 0x36] - adds r1, r4 - strh r1, [r2, 0x36] - movs r1, 0x1 - ands r1, r0 - cmp r1, 0 - beq _080ABB00 - lsls r0, r3, 16 - asrs r0, 24 - negs r0, r0 - b _080ABB04 -_080ABB00: - lsls r0, r3, 16 - asrs r0, 24 -_080ABB04: - strh r0, [r2, 0x24] - ldrh r0, [r2, 0x36] - lsls r0, 16 - asrs r0, 24 - strh r0, [r2, 0x26] - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x15 - bne _080ABB22 - adds r0, r2, 0 - bl DestroyAnimSprite -_080ABB22: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80ABADC - - thumb_func_start sub_80ABB28 -sub_80ABB28: @ 80ABB28 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, _080ABB78 @ =gTasks - adds r4, r0 - movs r0, 0 - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x26] - ldr r2, _080ABB7C @ =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x22] - strh r0, [r4, 0x12] - bl sub_80ABDC8 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl sub_80758E0 - ldr r0, _080ABB80 @ =sub_80ABB84 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080ABB78: .4byte gTasks -_080ABB7C: .4byte gSprites -_080ABB80: .4byte sub_80ABB84 - thumb_func_end sub_80ABB28 - - thumb_func_start sub_80ABB84 -sub_80ABB84: @ 80ABB84 - push {r4-r6,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, _080ABBAC @ =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x7 - bls _080ABBA0 - b _080ABDBE -_080ABBA0: - lsls r0, 2 - ldr r1, _080ABBB0 @ =_080ABBB4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080ABBAC: .4byte gTasks -_080ABBB0: .4byte _080ABBB4 - .align 2, 0 -_080ABBB4: - .4byte _080ABBD4 - .4byte _080ABBFA - .4byte _080ABC8C - .4byte _080ABCC2 - .4byte _080ABCD6 - .4byte _080ABCE4 - .4byte _080ABD64 - .4byte _080ABDB0 -_080ABBD4: - ldrh r1, [r4, 0x26] - lsls r1, 24 - lsrs r1, 24 - movs r3, 0x80 - lsls r3, 1 - movs r0, 0xE0 - str r0, [sp] - movs r0, 0x80 - lsls r0, 2 - str r0, [sp, 0x4] - movs r0, 0x20 - str r0, [sp, 0x8] - adds r0, r4, 0 - adds r2, r3, 0 - bl sub_80765D4 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080ABBFA: - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080ABC56 - movs r0, 0 - strh r0, [r4, 0xE] - ldrh r0, [r4, 0x10] - adds r0, 0x1 - strh r0, [r4, 0x10] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080ABC44 - ldr r2, _080ABC40 @ =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x3 - strh r1, [r0, 0x24] - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x22] - adds r1, 0x1 - strh r1, [r0, 0x22] - b _080ABC56 - .align 2, 0 -_080ABC40: .4byte gSprites -_080ABC44: - ldr r2, _080ABC84 @ =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r1, _080ABC88 @ =0x0000fffd - strh r1, [r0, 0x24] -_080ABC56: - adds r0, r4, 0 - bl sub_8076640 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - beq _080ABC66 - b _080ABDBE -_080ABC66: - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - bl sub_8076440 - ldr r2, _080ABC84 @ =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r5, [r0, 0x24] - strh r5, [r4, 0xE] - b _080ABDA0 - .align 2, 0 -_080ABC84: .4byte gSprites -_080ABC88: .4byte 0x0000fffd -_080ABC8C: - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - bgt _080ABC9C - b _080ABDBE -_080ABC9C: - ldrh r1, [r4, 0x26] - lsls r1, 24 - lsrs r1, 24 - movs r3, 0x80 - lsls r3, 2 - movs r0, 0xC0 - lsls r0, 1 - str r0, [sp] - movs r0, 0xE0 - str r0, [sp, 0x4] - movs r0, 0x8 - str r0, [sp, 0x8] - adds r0, r4, 0 - movs r2, 0xE0 - bl sub_80765D4 - movs r0, 0 - strh r0, [r4, 0xE] - b _080ABDA2 -_080ABCC2: - adds r0, r4, 0 - bl sub_8076640 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _080ABDBE - strh r0, [r4, 0xE] - strh r0, [r4, 0x10] - b _080ABDA2 -_080ABCD6: - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_80ABE4C - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080ABCE4: - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080ABDBE - movs r0, 0 - strh r0, [r4, 0xE] - ldrh r0, [r4, 0x10] - adds r0, 0x1 - strh r0, [r4, 0x10] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080ABD1C - ldr r2, _080ABD18 @ =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x26] - adds r1, 0x2 - b _080ABD2E - .align 2, 0 -_080ABD18: .4byte gSprites -_080ABD1C: - ldr r2, _080ABD60 @ =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x26] - subs r1, 0x2 -_080ABD2E: - strh r1, [r0, 0x26] - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r0, 0xA - bne _080ABDBE - ldrh r1, [r4, 0x26] - lsls r1, 24 - lsrs r1, 24 - movs r2, 0xC0 - lsls r2, 1 - movs r0, 0x80 - lsls r0, 1 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0x8 - str r0, [sp, 0x8] - adds r0, r4, 0 - movs r3, 0xE0 - bl sub_80765D4 - movs r0, 0 - strh r0, [r4, 0xE] - strh r0, [r4, 0x10] - b _080ABDA2 - .align 2, 0 -_080ABD60: .4byte gSprites -_080ABD64: - ldr r6, _080ABDAC @ =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldrh r1, [r0, 0x22] - subs r1, 0x1 - strh r1, [r0, 0x22] - adds r0, r4, 0 - bl sub_8076640 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _080ABDBE - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - bl sub_8075980 - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldrh r1, [r4, 0x12] - strh r1, [r0, 0x22] -_080ABDA0: - strh r5, [r4, 0x10] -_080ABDA2: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080ABDBE - .align 2, 0 -_080ABDAC: .4byte gSprites -_080ABDB0: - movs r1, 0xC - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080ABDBE - adds r0, r2, 0 - bl DestroyAnimVisualTask -_080ABDBE: - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80ABB84 - - thumb_func_start sub_80ABDC8 -sub_80ABDC8: @ 80ABDC8 - push {r4,r5,lr} - ldr r4, _080ABDEC @ =gBattleAnimAttacker - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080ABDFC - ldr r1, _080ABDF0 @ =gBattlerPartyIndexes - ldrb r0, [r4] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, _080ABDF4 @ =gPlayerParty - b _080ABE0C - .align 2, 0 -_080ABDEC: .4byte gBattleAnimAttacker -_080ABDF0: .4byte gBattlerPartyIndexes -_080ABDF4: .4byte gPlayerParty -_080ABDF8: - adds r0, r2, 0 - b _080ABE3E -_080ABDFC: - ldr r1, _080ABE44 @ =gBattlerPartyIndexes - ldrb r0, [r4] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, _080ABE48 @ =gEnemyParty -_080ABE0C: - adds r5, r1, r0 - adds r0, r5, 0 - movs r1, 0x3A - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - adds r0, r5, 0 - movs r1, 0x39 - bl GetMonData - lsls r0, 16 - lsrs r3, r0, 16 - lsrs r4, 18 - movs r2, 0 -_080ABE2A: - adds r1, r2, 0x1 - adds r0, r4, 0 - muls r0, r1 - cmp r3, r0 - blt _080ABDF8 - lsls r0, r1, 24 - lsrs r2, r0, 24 - cmp r2, 0x2 - bls _080ABE2A - movs r0, 0x3 -_080ABE3E: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080ABE44: .4byte gBattlerPartyIndexes -_080ABE48: .4byte gEnemyParty - thumb_func_end sub_80ABDC8 - - thumb_func_start sub_80ABE4C -sub_80ABE4C: @ 80ABE4C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - adds r7, r0, 0 - lsls r1, 24 - lsrs r1, 24 - str r1, [sp] - ldr r4, _080ABF54 @ =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r6, r0, 24 - movs r5, 0xAC - ldrb r0, [r4] - bl sub_807685C - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x8] - ldrh r1, [r7, 0xA] - movs r0, 0x4 - subs r0, r1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r0, 0 - bgt _080ABE9C - movs r1, 0x1 -_080ABE9C: - movs r0, 0 - str r0, [sp, 0x4] - lsls r0, r1, 16 - mov r10, r8 - mov r9, r6 - mov r1, r10 - lsls r1, 4 - str r1, [sp, 0xC] - mov r1, r9 - lsls r1, 4 - str r1, [sp, 0x10] - asrs r0, 16 - mov r8, r0 -_080ABEB6: - ldr r0, _080ABF58 @ =gUnknown_83E5AE0 - mov r1, r10 - mov r2, r9 - ldr r3, [sp, 0x8] - bl CreateSprite - lsls r0, 24 - lsrs r2, r0, 24 - lsls r6, r5, 16 - cmp r2, 0x40 - beq _080ABF1E - ldr r1, _080ABF5C @ =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r5, r0, r1 - mov r0, sp - ldrh r0, [r0, 0x4] - strh r0, [r5, 0x30] - mov r1, sp - ldrh r1, [r1, 0xC] - strh r1, [r5, 0x32] - mov r0, sp - ldrh r0, [r0, 0x10] - strh r0, [r5, 0x34] - asrs r4, r6, 16 - adds r0, r4, 0 - movs r1, 0x40 - bl Cos - strh r0, [r5, 0x36] - adds r0, r4, 0 - movs r1, 0x40 - bl Sin - strh r0, [r5, 0x38] - mov r1, sp - ldrh r1, [r1] - strh r1, [r5, 0x3A] - movs r0, 0x2 - strh r0, [r5, 0x3C] - ldrh r1, [r7, 0xC] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080ABF18 - adds r0, r5, 0 - bl sub_80ABF60 -_080ABF18: - ldrh r0, [r7, 0xC] - adds r0, 0x1 - strh r0, [r7, 0xC] -_080ABF1E: - mov r1, r8 - lsls r0, r1, 1 - asrs r1, r6, 16 - adds r1, r0 - lsls r1, 16 - movs r0, 0xFF - lsls r0, 16 - ands r0, r1 - lsrs r5, r0, 16 - ldr r1, [sp, 0x4] - lsls r0, r1, 16 - asrs r0, 16 - add r0, r8 - lsls r0, 16 - lsrs r1, r0, 16 - str r1, [sp, 0x4] - asrs r0, 16 - cmp r0, 0x13 - ble _080ABEB6 - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080ABF54: .4byte gBattleAnimAttacker -_080ABF58: .4byte gUnknown_83E5AE0 -_080ABF5C: .4byte gSprites - thumb_func_end sub_80ABE4C - - thumb_func_start sub_80ABF60 -sub_80ABF60: @ 80ABF60 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080ABF72 - cmp r0, 0x1 - beq _080ABFA8 - b _080AC002 -_080ABF72: - movs r2, 0x30 - ldrsh r0, [r4, r2] - movs r1, 0x6 - bl __modsi3 - lsls r0, 16 - asrs r0, 16 - lsls r1, r0, 1 - adds r1, r0 - ldrh r0, [r4, 0x36] - adds r1, r0 - strh r1, [r4, 0x36] - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r1, 0x3 - bl __modsi3 - lsls r0, 16 - asrs r0, 16 - lsls r1, r0, 1 - adds r1, r0 - ldrh r2, [r4, 0x38] - adds r1, r2 - strh r1, [r4, 0x38] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] -_080ABFA8: - ldrh r0, [r4, 0x36] - ldrh r1, [r4, 0x32] - adds r0, r1 - strh r0, [r4, 0x32] - ldrh r1, [r4, 0x38] - ldrh r2, [r4, 0x34] - adds r1, r2 - strh r1, [r4, 0x34] - lsls r0, 16 - asrs r0, 20 - strh r0, [r4, 0x20] - lsls r1, 16 - asrs r2, r1, 20 - strh r2, [r4, 0x22] - adds r0, 0x8 - lsls r0, 16 - movs r1, 0x80 - lsls r1, 17 - cmp r0, r1 - bhi _080ABFDE - adds r1, r2, 0 - movs r0, 0x8 - negs r0, r0 - cmp r1, r0 - blt _080ABFDE - cmp r1, 0x78 - ble _080AC002 -_080ABFDE: - ldr r3, _080AC008 @ =gTasks - movs r0, 0x3C - ldrsh r1, [r4, r0] - lsls r1, 1 - movs r0, 0x3A - ldrsh r2, [r4, r0] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r3, 0x8 - adds r1, r3 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - adds r0, r4, 0 - bl DestroySprite -_080AC002: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080AC008: .4byte gTasks - thumb_func_end sub_80ABF60 - - thumb_func_start sub_80AC00C -sub_80AC00C: @ 80AC00C - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _080AC03C @ =gTasks - adds r4, r1, r0 - bl sub_80ABDC8 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0xA] - ldr r0, _080AC040 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080AC044 - movs r0, 0x88 - strh r0, [r4, 0x10] - movs r0, 0x28 - b _080AC04A - .align 2, 0 -_080AC03C: .4byte gTasks -_080AC040: .4byte gBattleAnimAttacker -_080AC044: - movs r0, 0x10 - strh r0, [r4, 0x10] - movs r0, 0x50 -_080AC04A: - strh r0, [r4, 0x14] - movs r0, 0x62 - strh r0, [r4, 0x12] - ldrh r0, [r4, 0x10] - adds r0, 0x31 - strh r0, [r4, 0x16] - movs r0, 0xA - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r0, r1 - adds r0, 0x5 - strh r0, [r4, 0x20] - ldr r0, _080AC06C @ =sub_80AC070 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080AC06C: .4byte sub_80AC070 - thumb_func_end sub_80AC00C - - thumb_func_start sub_80AC070 -sub_80AC070: @ 80AC070 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r1, r0, 24 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r7, _080AC094 @ =gTasks - adds r4, r0, r7 - movs r0, 0x8 - ldrsh r2, [r4, r0] - cmp r2, 0 - beq _080AC098 - cmp r2, 0x1 - beq _080AC148 - b _080AC156 - .align 2, 0 -_080AC094: .4byte gTasks -_080AC098: - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _080AC0AE - strh r2, [r4, 0xC] - adds r0, r4, 0 - bl sub_80AC160 -_080AC0AE: - movs r1, 0x1C - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080AC128 - movs r2, 0x22 - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _080AC128 - ldr r5, _080AC13C @ =gBattleAnimArgs - movs r1, 0x1 - mov r8, r1 - mov r2, r8 - strh r2, [r5] - strh r0, [r5, 0x2] - movs r0, 0xC - strh r0, [r5, 0x4] - ldr r6, _080AC140 @ =sub_80B94B4 - adds r0, r6, 0 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xFF - beq _080AC0F8 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r7 - ldr r1, [r0] - adds r0, r2, 0 - bl _call_via_r1 - ldr r1, _080AC144 @ =gUnknown_2037EE2 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_080AC0F8: - movs r0, 0x3 - strh r0, [r5] - adds r0, r6, 0 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xFF - beq _080AC124 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r7 - ldr r1, [r0] - adds r0, r2, 0 - bl _call_via_r1 - ldr r1, _080AC144 @ =gUnknown_2037EE2 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_080AC124: - mov r0, r8 - strh r0, [r4, 0x22] -_080AC128: - movs r2, 0x1E - ldrsh r1, [r4, r2] - movs r2, 0x20 - ldrsh r0, [r4, r2] - cmp r1, r0 - blt _080AC156 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080AC156 - .align 2, 0 -_080AC13C: .4byte gBattleAnimArgs -_080AC140: .4byte sub_80B94B4 -_080AC144: .4byte gUnknown_2037EE2 -_080AC148: - movs r2, 0x1A - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _080AC156 - adds r0, r1, 0 - bl DestroyAnimVisualTask -_080AC156: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80AC070 - - thumb_func_start sub_80AC160 -sub_80AC160: @ 80AC160 - push {r4-r6,lr} - adds r4, r0, 0 - lsls r1, 24 - lsrs r6, r1, 24 - ldr r1, _080AC1EC @ =gSineTable - movs r2, 0x18 - ldrsh r0, [r4, r2] - lsls r0, 1 - adds r0, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - adds r0, 0x3 - asrs r0, 4 - ldrh r2, [r4, 0x14] - adds r0, r2 - lsls r0, 16 - lsrs r5, r0, 16 - ldr r0, _080AC1F0 @ =gUnknown_83E5AE0 - movs r2, 0x16 - ldrsh r1, [r4, r2] - movs r2, 0 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _080AC1BA - ldr r3, _080AC1F4 @ =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r3, 0 - adds r1, 0x1C - adds r1, r0, r1 - ldr r2, _080AC1F8 @ =sub_80AC204 - str r2, [r1] - adds r0, r3 - strh r5, [r0, 0x38] - strh r6, [r0, 0x3A] - movs r1, 0x9 - strh r1, [r0, 0x3C] - ldrh r0, [r4, 0x1A] - adds r0, 0x1 - strh r0, [r4, 0x1A] -_080AC1BA: - ldrh r0, [r4, 0x1E] - adds r0, 0x1 - strh r0, [r4, 0x1E] - ldrh r0, [r4, 0x18] - adds r0, 0x27 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x18] - movs r0, 0x16 - ldrsh r1, [r4, r0] - ldr r0, _080AC1FC @ =0x41c64e6d - muls r0, r1 - ldr r1, _080AC200 @ =0x00003039 - adds r0, r1 - movs r2, 0x12 - ldrsh r1, [r4, r2] - bl __modsi3 - ldrh r1, [r4, 0x10] - adds r1, r0 - strh r1, [r4, 0x16] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080AC1EC: .4byte gSineTable -_080AC1F0: .4byte gUnknown_83E5AE0 -_080AC1F4: .4byte gSprites -_080AC1F8: .4byte sub_80AC204 -_080AC1FC: .4byte 0x41c64e6d -_080AC200: .4byte 0x00003039 - thumb_func_end sub_80AC160 - - thumb_func_start sub_80AC204 -sub_80AC204: @ 80AC204 - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x2E - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _080AC29A - ldrh r0, [r5, 0x22] - adds r0, 0x8 - strh r0, [r5, 0x22] - lsls r0, 16 - asrs r0, 16 - movs r2, 0x38 - ldrsh r1, [r5, r2] - cmp r0, r1 - blt _080AC29A - ldr r2, _080AC2A0 @ =gTasks - movs r3, 0x3A - ldrsh r1, [r5, r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r1, 0x1 - strh r1, [r0, 0x1C] - ldr r0, _080AC2A4 @ =gUnknown_83E7C38 - movs r2, 0x20 - ldrsh r1, [r5, r2] - movs r3, 0x22 - ldrsh r2, [r5, r3] - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x30] - cmp r0, 0x40 - beq _080AC294 - movs r0, 0x30 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _080AC2A8 @ =gSprites - adds r0, r4 - movs r1, 0x3 - bl StartSpriteAffineAnim - movs r2, 0x30 - ldrsh r1, [r5, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r5, 0x3A] - strh r1, [r0, 0x3A] - movs r3, 0x30 - ldrsh r1, [r5, r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r5, 0x3C] - strh r1, [r0, 0x3C] - movs r0, 0x30 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r4, 0x1C - adds r0, r4 - ldr r1, _080AC2AC @ =sub_80AC2B0 - str r1, [r0] -_080AC294: - adds r0, r5, 0 - bl DestroySprite -_080AC29A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AC2A0: .4byte gTasks -_080AC2A4: .4byte gUnknown_83E7C38 -_080AC2A8: .4byte gSprites -_080AC2AC: .4byte sub_80AC2B0 - thumb_func_end sub_80AC204 - - thumb_func_start sub_80AC2B0 -sub_80AC2B0: @ 80AC2B0 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080AC31C - movs r0, 0 - strh r0, [r4, 0x30] - adds r3, r4, 0 - adds r3, 0x3E - ldrb r2, [r3] - lsls r0, r2, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xC - bne _080AC31C - ldr r3, _080AC324 @ =gTasks - movs r0, 0x3C - ldrsh r1, [r4, r0] - lsls r1, 1 - movs r0, 0x3A - ldrsh r2, [r4, r0] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r3, 0x8 - adds r1, r3 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - adds r0, r4, 0 - bl DestroySprite -_080AC31C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080AC324: .4byte gTasks - thumb_func_end sub_80AC2B0 - - thumb_func_start sub_80AC328 -sub_80AC328: @ 80AC328 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _080AC3AC @ =gTasks - adds r5, r1, r0 - ldr r4, _080AC3B0 @ =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - movs r6, 0 - strh r0, [r5, 0xE] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x10] - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - movs r2, 0x1 - negs r2, r2 - adds r1, r2, 0 - cmp r0, 0 - bne _080AC36C - movs r1, 0x1 -_080AC36C: - strh r1, [r5, 0x16] - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - beq _080AC380 - movs r1, 0x16 - ldrsh r0, [r5, r1] - negs r0, r0 - strh r0, [r5, 0x16] -_080AC380: - movs r2, 0x16 - ldrsh r0, [r5, r2] - lsls r0, 3 - ldrh r1, [r5, 0xE] - adds r0, r1 - strh r0, [r5, 0x12] - movs r2, 0x16 - ldrsh r1, [r5, r2] - lsls r1, 3 - ldrh r0, [r5, 0x10] - subs r0, r1 - strh r0, [r5, 0x14] - ldr r0, _080AC3B4 @ =0x0000ffe0 - strh r0, [r5, 0x1A] - strh r6, [r5, 0xA] - strh r6, [r5, 0x8] - ldr r0, _080AC3B8 @ =sub_80AC3BC - str r0, [r5] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080AC3AC: .4byte gTasks -_080AC3B0: .4byte gBattleAnimAttacker -_080AC3B4: .4byte 0x0000ffe0 -_080AC3B8: .4byte sub_80AC3BC - thumb_func_end sub_80AC328 - - thumb_func_start sub_80AC3BC -sub_80AC3BC: @ 80AC3BC - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, _080AC3E0 @ =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x6 - bls _080AC3D6 - b _080AC4F6 -_080AC3D6: - lsls r0, 2 - ldr r1, _080AC3E4 @ =_080AC3E8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080AC3E0: .4byte gTasks -_080AC3E4: .4byte _080AC3E8 - .align 2, 0 -_080AC3E8: - .4byte _080AC404 - .4byte _080AC414 - .4byte _080AC42E - .4byte _080AC470 - .4byte _080AC492 - .4byte _080AC4C0 - .4byte _080AC4E6 -_080AC404: - adds r0, r4, 0 - bl sub_80AC504 - movs r1, 0x1C - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080AC4FC - b _080AC4EE -_080AC414: - adds r0, r4, 0 - bl sub_80AC504 - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x10 - ble _080AC4FC - movs r0, 0 - strh r0, [r4, 0xA] - b _080AC4EE -_080AC42E: - adds r0, r4, 0 - bl sub_80AC504 - movs r1, 0x16 - ldrsh r0, [r4, r1] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 1 - ldrh r0, [r4, 0x12] - adds r1, r0 - movs r2, 0 - strh r1, [r4, 0x12] - adds r1, 0x10 - lsls r1, 16 - movs r0, 0x88 - lsls r0, 17 - cmp r1, r0 - bls _080AC4FC - ldrh r0, [r4, 0x20] - adds r0, 0x1 - strh r0, [r4, 0x20] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _080AC46C - movs r0, 0x1 - strh r0, [r4, 0x22] - movs r0, 0x6 - strh r0, [r4, 0x8] - strh r2, [r4, 0xA] - b _080AC4FC -_080AC46C: - strh r2, [r4, 0xA] - b _080AC4EE -_080AC470: - adds r0, r4, 0 - bl sub_80AC504 - movs r0, 0x16 - ldrsh r1, [r4, r0] - lsls r1, 1 - ldrh r0, [r4, 0x14] - subs r0, r1 - strh r0, [r4, 0x14] - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7 - ble _080AC4FC - b _080AC4EE -_080AC492: - adds r0, r4, 0 - bl sub_80AC504 - movs r1, 0x16 - ldrsh r0, [r4, r1] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 1 - ldrh r0, [r4, 0x12] - subs r0, r1 - strh r0, [r4, 0x12] - adds r0, 0x10 - lsls r0, 16 - movs r1, 0x88 - lsls r1, 17 - cmp r0, r1 - bls _080AC4FC - ldrh r0, [r4, 0x20] - adds r0, 0x1 - strh r0, [r4, 0x20] - movs r0, 0 - strh r0, [r4, 0xA] - b _080AC4EE -_080AC4C0: - adds r0, r4, 0 - bl sub_80AC504 - movs r0, 0x16 - ldrsh r1, [r4, r0] - lsls r1, 1 - ldrh r0, [r4, 0x14] - subs r0, r1 - strh r0, [r4, 0x14] - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7 - ble _080AC4FC - movs r0, 0x2 - strh r0, [r4, 0x8] - b _080AC4FC -_080AC4E6: - movs r1, 0x18 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080AC4FC -_080AC4EE: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080AC4FC -_080AC4F6: - adds r0, r2, 0 - bl DestroyAnimVisualTask -_080AC4FC: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80AC3BC - - thumb_func_start sub_80AC504 -sub_80AC504: @ 80AC504 - push {r4-r6,lr} - adds r6, r0, 0 - ldrh r0, [r6, 0xC] - adds r0, 0x1 - strh r0, [r6, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080AC55E - movs r0, 0 - strh r0, [r6, 0xC] - ldr r0, _080AC564 @ =gUnknown_83E5AE0 - movs r2, 0xE - ldrsh r1, [r6, r2] - movs r3, 0x10 - ldrsh r2, [r6, r3] - movs r3, 0xA - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _080AC55E - ldr r5, _080AC568 @ =gSprites - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - adds r0, r4, r5 - movs r1, 0x10 - strh r1, [r0, 0x2E] - ldrh r1, [r6, 0x12] - strh r1, [r0, 0x32] - ldrh r1, [r6, 0x14] - strh r1, [r0, 0x36] - ldrh r1, [r6, 0x1A] - strh r1, [r0, 0x38] - bl sub_8075068 - adds r5, 0x1C - adds r4, r5 - ldr r0, _080AC56C @ =sub_80AC570 - str r0, [r4] - ldrh r0, [r6, 0x18] - adds r0, 0x1 - strh r0, [r6, 0x18] -_080AC55E: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080AC564: .4byte gUnknown_83E5AE0 -_080AC568: .4byte gSprites -_080AC56C: .4byte sub_80AC570 - thumb_func_end sub_80AC504 - - thumb_func_start sub_80AC570 -sub_80AC570: @ 80AC570 - push {r4-r6,lr} - adds r6, r0, 0 - bl AnimateBallThrow - lsls r0, 24 - cmp r0, 0 - beq _080AC5CA - ldrh r0, [r6, 0x24] - ldrh r1, [r6, 0x20] - adds r0, r1 - strh r0, [r6, 0x20] - ldrh r0, [r6, 0x26] - ldrh r1, [r6, 0x22] - adds r0, r1 - strh r0, [r6, 0x22] - movs r0, 0x6 - strh r0, [r6, 0x2E] - bl Random - movs r4, 0x1F - adds r1, r4, 0 - ands r1, r0 - ldr r5, _080AC5D0 @ =0x0000fff0 - adds r1, r5 - ldrh r0, [r6, 0x20] - adds r1, r0 - strh r1, [r6, 0x32] - bl Random - ands r4, r0 - adds r4, r5 - ldrh r1, [r6, 0x22] - adds r4, r1 - strh r4, [r6, 0x36] - bl Random - movs r1, 0x7 - ands r1, r0 - mvns r1, r1 - strh r1, [r6, 0x38] - adds r0, r6, 0 - bl sub_8075068 - ldr r0, _080AC5D4 @ =sub_80AC5D8 - str r0, [r6, 0x1C] -_080AC5CA: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080AC5D0: .4byte 0x0000fff0 -_080AC5D4: .4byte sub_80AC5D8 - thumb_func_end sub_80AC570 - - thumb_func_start sub_80AC5D8 -sub_80AC5D8: @ 80AC5D8 - push {r4-r6,lr} - adds r5, r0, 0 - bl AnimateBallThrow - lsls r0, 24 - cmp r0, 0 - beq _080AC614 - movs r4, 0 - ldr r6, _080AC61C @ =gTasks -_080AC5EA: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r2, r0, r6 - ldr r1, [r2] - ldr r0, _080AC620 @ =sub_80AC3BC - cmp r1, r0 - bne _080AC60A - movs r0, 0x1 - strh r0, [r2, 0x1C] - ldrh r0, [r2, 0x18] - subs r0, 0x1 - strh r0, [r2, 0x18] - adds r0, r5, 0 - bl DestroySprite -_080AC60A: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0xF - bls _080AC5EA -_080AC614: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080AC61C: .4byte gTasks -_080AC620: .4byte sub_80AC3BC - thumb_func_end sub_80AC5D8 - - thumb_func_start sub_80AC624 -sub_80AC624: @ 80AC624 - ldr r2, _080AC644 @ =gBattleAnimArgs - ldrh r1, [r2] - strh r1, [r0, 0x20] - ldrh r1, [r2, 0x2] - strh r1, [r0, 0x22] - ldrh r1, [r2, 0x4] - strh r1, [r0, 0x2E] - ldrh r1, [r2, 0x6] - strh r1, [r0, 0x30] - ldrh r1, [r2, 0x8] - strh r1, [r0, 0x32] - ldrh r1, [r2, 0xA] - strh r1, [r0, 0x34] - ldr r1, _080AC648 @ =sub_80AC64C - str r1, [r0, 0x1C] - bx lr - .align 2, 0 -_080AC644: .4byte gBattleAnimArgs -_080AC648: .4byte sub_80AC64C - thumb_func_end sub_80AC624 - - thumb_func_start sub_80AC64C -sub_80AC64C: @ 80AC64C - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x36] - ldrh r1, [r4, 0x2E] - subs r0, r1 - strh r0, [r4, 0x36] - movs r1, 0x36 - ldrsh r0, [r4, r1] - movs r1, 0xA - bl __divsi3 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x30] - ldrh r2, [r4, 0x38] - adds r0, r2 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x38] - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r2, 0x32 - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x34] - subs r0, 0x1 - strh r0, [r4, 0x34] - lsls r0, 16 - cmp r0, 0 - bne _080AC690 - adds r0, r4, 0 - bl DestroyAnimSprite -_080AC690: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80AC64C - - thumb_func_start sub_80AC698 -sub_80AC698: @ 80AC698 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x30] - ldrh r1, [r4, 0x34] - adds r0, r1 - strh r0, [r4, 0x34] - ldrh r1, [r4, 0x32] - ldrh r2, [r4, 0x36] - adds r1, r2 - strh r1, [r4, 0x36] - lsls r0, 16 - asrs r0, 23 - strh r0, [r4, 0x24] - lsls r1, 16 - asrs r1, 23 - strh r1, [r4, 0x26] - ldrh r0, [r4, 0x2E] - subs r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - cmp r0, 0 - bne _080AC6D0 - adds r0, r4, 0 - bl FreeSpriteOamMatrix - adds r0, r4, 0 - bl DestroySprite -_080AC6D0: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80AC698 - - thumb_func_start sub_80AC6D8 -sub_80AC6D8: @ 80AC6D8 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl sub_8075160 - ldr r5, _080AC714 @ =gBattleAnimTarget - ldrb r0, [r5] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x30] - ldrb r0, [r5] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x32] - ldr r1, _080AC718 @ =gBattleAnimArgs - ldrh r0, [r1, 0x4] - strh r0, [r4, 0x34] - ldrh r0, [r1, 0x6] - strh r0, [r4, 0x36] - ldr r0, _080AC71C @ =sub_80AC720 - str r0, [r4, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AC714: .4byte gBattleAnimTarget -_080AC718: .4byte gBattleAnimArgs -_080AC71C: .4byte sub_80AC720 - thumb_func_end sub_80AC6D8 - - thumb_func_start sub_80AC720 -sub_80AC720: @ 80AC720 - push {r4-r6,lr} - adds r4, r0, 0 - movs r0, 0x30 - ldrsh r1, [r4, r0] - movs r2, 0x20 - ldrsh r0, [r4, r2] - subs r6, r1, r0 - movs r0, 0x32 - ldrsh r1, [r4, r0] - movs r2, 0x22 - ldrsh r0, [r4, r2] - subs r5, r1, r0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - muls r0, r6 - movs r2, 0x34 - ldrsh r1, [r4, r2] - bl __divsi3 - strh r0, [r4, 0x24] - movs r1, 0x2E - ldrsh r0, [r4, r1] - muls r0, r5 - movs r2, 0x34 - ldrsh r1, [r4, r2] - bl __divsi3 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - lsls r0, 16 - asrs r0, 16 - movs r2, 0x36 - ldrsh r1, [r4, r2] - cmp r0, r1 - bne _080AC778 - movs r0, 0 - strh r0, [r4, 0x38] - adds r0, r4, 0 - adds r1, r6, 0 - adds r2, r5, 0 - bl sub_80AC798 -_080AC778: - movs r0, 0x34 - ldrsh r1, [r4, r0] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r1, r0 - bne _080AC78A - adds r0, r4, 0 - bl DestroyAnimSprite -_080AC78A: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80AC720 - - thumb_func_start sub_80AC798 -sub_80AC798: @ 80AC798 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x18 - adds r4, r1, 0 - adds r5, r2, 0 - movs r2, 0x2E - ldrsh r1, [r0, r2] - lsrs r2, r1, 31 - adds r1, r2 - lsls r1, 15 - lsrs r1, 16 - str r1, [sp] - ldrh r1, [r0, 0x24] - ldrh r3, [r0, 0x20] - adds r1, r3 - lsls r1, 16 - lsrs r1, 16 - mov r8, r1 - ldrh r1, [r0, 0x26] - ldrh r0, [r0, 0x22] - adds r1, r0 - lsls r1, 16 - lsrs r1, 16 - mov r10, r1 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA - bl __umodsi3 - adds r0, r5, r0 - subs r0, 0x5 - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - bl Random - negs r4, r4 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA - bl __umodsi3 - adds r4, r0 - subs r4, 0x5 - lsls r4, 16 - lsrs r7, r4, 16 - movs r6, 0 - mov r0, r8 - lsls r0, 16 - mov r8, r0 - mov r1, r10 - lsls r1, 16 - str r1, [sp, 0xC] - ldr r2, [sp] - lsls r2, 16 - str r2, [sp, 0x10] - asrs r1, 16 - lsls r0, r7, 16 - asrs r5, r0, 16 - str r0, [sp, 0x14] - negs r3, r5 - str r3, [sp, 0x4] - asrs r0, r2, 16 - adds r1, r0 - lsls r1, 16 - mov r10, r1 -_080AC826: - ldr r0, _080AC868 @ =gUnknown_83E5B88 - mov r2, r8 - asrs r1, r2, 16 - mov r3, r10 - asrs r2, r3, 16 - movs r3, 0x82 - bl CreateSprite - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, _080AC86C @ =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r4, r0, r1 - movs r0, 0x14 - strh r0, [r4, 0x2E] - mov r0, r9 - strh r0, [r4, 0x30] - ldr r0, _080AC870 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl sub_807685C - subs r0, 0x1 - adds r1, r4, 0 - adds r1, 0x43 - strb r0, [r1] - cmp r5, 0 - bge _080AC874 - mov r1, sp - ldrh r1, [r1, 0x4] - strh r1, [r4, 0x32] - b _080AC876 - .align 2, 0 -_080AC868: .4byte gUnknown_83E5B88 -_080AC86C: .4byte gSprites -_080AC870: .4byte gBattleAnimAttacker -_080AC874: - strh r7, [r4, 0x32] -_080AC876: - lsls r0, r6, 16 - movs r2, 0x80 - lsls r2, 9 - adds r0, r2 - lsrs r6, r0, 16 - cmp r0, 0 - ble _080AC826 - movs r6, 0 - ldr r3, [sp, 0xC] - asrs r1, r3, 16 - ldr r0, [sp, 0x14] - asrs r5, r0, 16 - negs r2, r5 - str r2, [sp, 0x8] - ldr r3, [sp, 0x10] - asrs r0, r3, 16 - subs r1, r0 - lsls r1, 16 - mov r10, r1 -_080AC89C: - ldr r0, _080AC8E0 @ =gUnknown_83E5B88 - mov r2, r8 - asrs r1, r2, 16 - mov r3, r10 - asrs r2, r3, 16 - movs r3, 0x82 - bl CreateSprite - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, _080AC8E4 @ =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r4, r0, r1 - movs r0, 0x14 - strh r0, [r4, 0x2E] - mov r0, r9 - strh r0, [r4, 0x30] - ldr r0, _080AC8E8 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl sub_807685C - subs r0, 0x1 - adds r1, r4, 0 - adds r1, 0x43 - strb r0, [r1] - cmp r5, 0 - ble _080AC8EC - mov r1, sp - ldrh r1, [r1, 0x8] - strh r1, [r4, 0x32] - b _080AC8EE - .align 2, 0 -_080AC8E0: .4byte gUnknown_83E5B88 -_080AC8E4: .4byte gSprites -_080AC8E8: .4byte gBattleAnimAttacker -_080AC8EC: - strh r7, [r4, 0x32] -_080AC8EE: - lsls r0, r6, 16 - movs r2, 0x80 - lsls r2, 9 - adds r0, r2 - lsrs r6, r0, 16 - cmp r0, 0 - ble _080AC89C - add sp, 0x18 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80AC798 - - thumb_func_start sub_80AC90C -sub_80AC90C: @ 80AC90C - push {r4,lr} - adds r4, r0, 0 - ldr r0, _080AC940 @ =gBattleAnimArgs - ldrh r0, [r0] - strh r0, [r4, 0x2E] - movs r0, 0x3C - strh r0, [r4, 0x30] - movs r0, 0x9 - strh r0, [r4, 0x32] - movs r0, 0x1E - strh r0, [r4, 0x34] - movs r0, 0xFE - lsls r0, 8 - strh r0, [r4, 0x36] - ldr r1, _080AC944 @ =DestroyAnimSprite - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - ldr r1, _080AC948 @ =sub_8074AE0 - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080AC940: .4byte gBattleAnimArgs -_080AC944: .4byte DestroyAnimSprite -_080AC948: .4byte sub_8074AE0 - thumb_func_end sub_80AC90C - - thumb_func_start sub_80AC94C -sub_80AC94C: @ 80AC94C - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, _080AC984 @ =gBattleAnimArgs - movs r0, 0 - ldrsh r1, [r5, r0] - adds r0, r4, 0 - bl sub_8074FF8 - ldrh r0, [r5, 0x2] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - ldrh r0, [r5, 0x8] - strh r0, [r4, 0x2E] - ldrh r0, [r5, 0x4] - strh r0, [r4, 0x30] - ldrh r0, [r5, 0x6] - strh r0, [r4, 0x32] - ldr r0, _080AC988 @ =sub_8074D00 - str r0, [r4, 0x1C] - ldr r1, _080AC98C @ =DestroyAnimSprite - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AC984: .4byte gBattleAnimArgs -_080AC988: .4byte sub_8074D00 -_080AC98C: .4byte DestroyAnimSprite - thumb_func_end sub_80AC94C - - thumb_func_start sub_80AC990 -sub_80AC990: @ 80AC990 - push {r4,lr} - adds r4, r0, 0 - bl sub_8074FCC - ldr r0, _080AC9C4 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080AC9CC - ldr r2, _080AC9C8 @ =gBattleAnimArgs - ldrh r0, [r4, 0x20] - ldrh r1, [r2] - subs r0, r1 - strh r0, [r4, 0x20] - ldrh r0, [r2, 0x2] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - ldrh r0, [r2, 0x8] - negs r0, r0 - strh r0, [r4, 0x32] - adds r1, r2, 0 - b _080AC9E2 - .align 2, 0 -_080AC9C4: .4byte gBattleAnimAttacker -_080AC9C8: .4byte gBattleAnimArgs -_080AC9CC: - ldr r1, _080AC9F8 @ =gBattleAnimArgs - ldrh r0, [r1] - ldrh r2, [r4, 0x20] - adds r0, r2 - strh r0, [r4, 0x20] - ldrh r0, [r1, 0x2] - ldrh r2, [r4, 0x22] - adds r0, r2 - strh r0, [r4, 0x22] - ldrh r0, [r1, 0x8] - strh r0, [r4, 0x32] -_080AC9E2: - ldrh r0, [r1, 0x4] - strh r0, [r4, 0x30] - ldrh r0, [r1, 0x6] - strh r0, [r4, 0x36] - ldrh r0, [r1, 0xA] - strh r0, [r4, 0x34] - ldr r0, _080AC9FC @ =sub_80ACA6C - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080AC9F8: .4byte gBattleAnimArgs -_080AC9FC: .4byte sub_80ACA6C - thumb_func_end sub_80AC990 - - thumb_func_start sub_80ACA00 -sub_80ACA00: @ 80ACA00 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _080ACA2C @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080ACA34 - ldr r2, _080ACA30 @ =gBattleAnimArgs - ldrh r0, [r4, 0x20] - ldrh r1, [r2] - subs r0, r1 - strh r0, [r4, 0x20] - ldrh r0, [r2, 0x2] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - ldrh r0, [r2, 0x8] - strh r0, [r4, 0x32] - adds r1, r2, 0 - b _080ACA4C - .align 2, 0 -_080ACA2C: .4byte gBattleAnimAttacker -_080ACA30: .4byte gBattleAnimArgs -_080ACA34: - ldr r1, _080ACA64 @ =gBattleAnimArgs - ldrh r0, [r1] - ldrh r2, [r4, 0x20] - adds r0, r2 - strh r0, [r4, 0x20] - ldrh r0, [r1, 0x2] - ldrh r2, [r4, 0x22] - adds r0, r2 - strh r0, [r4, 0x22] - ldrh r0, [r1, 0x8] - negs r0, r0 - strh r0, [r4, 0x32] -_080ACA4C: - ldrh r0, [r1, 0x4] - strh r0, [r4, 0x30] - ldrh r0, [r1, 0x6] - strh r0, [r4, 0x36] - ldrh r0, [r1, 0xA] - strh r0, [r4, 0x34] - ldr r0, _080ACA68 @ =sub_80ACA6C - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080ACA64: .4byte gBattleAnimArgs -_080ACA68: .4byte sub_80ACA6C - thumb_func_end sub_80ACA00 - - thumb_func_start sub_80ACA6C -sub_80ACA6C: @ 80ACA6C - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] - lsls r0, 16 - asrs r0, 16 - movs r3, 0x36 - ldrsh r1, [r2, r3] - cmp r0, r1 - bge _080ACA92 - ldrh r0, [r2, 0x32] - ldrh r1, [r2, 0x24] - adds r0, r1 - strh r0, [r2, 0x24] - ldrh r0, [r2, 0x34] - ldrh r3, [r2, 0x26] - adds r0, r3 - strh r0, [r2, 0x26] -_080ACA92: - movs r0, 0x2E - ldrsh r1, [r2, r0] - movs r3, 0x30 - ldrsh r0, [r2, r3] - cmp r1, r0 - bne _080ACAA4 - adds r0, r2, 0 - bl move_anim_8074EE0 -_080ACAA4: - pop {r0} - bx r0 - thumb_func_end sub_80ACA6C - - thumb_func_start sub_80ACAA8 -sub_80ACAA8: @ 80ACAA8 - push {r4,lr} - adds r4, r0, 0 - bl sub_8074FCC - ldr r0, _080ACACC @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080ACAD4 - ldr r0, _080ACAD0 @ =gBattleAnimArgs - ldrh r1, [r4, 0x20] - ldrh r2, [r0] - subs r1, r2 - strh r1, [r4, 0x20] - b _080ACAE6 - .align 2, 0 -_080ACACC: .4byte gBattleAnimAttacker -_080ACAD0: .4byte gBattleAnimArgs -_080ACAD4: - ldr r0, _080ACB14 @ =gBattleAnimArgs - ldrh r1, [r0] - ldrh r2, [r4, 0x20] - adds r1, r2 - strh r1, [r4, 0x20] - adds r2, r4, 0 - adds r2, 0x43 - movs r1, 0x8 - strb r1, [r2] -_080ACAE6: - adds r2, r0, 0 - ldrh r0, [r2, 0x2] - ldrh r1, [r4, 0x22] - adds r0, r1 - movs r1, 0 - strh r0, [r4, 0x22] - ldrh r0, [r2, 0x4] - strh r0, [r4, 0x2E] - ldrh r0, [r2, 0x6] - strh r0, [r4, 0x30] - ldrh r0, [r2, 0x8] - strh r0, [r4, 0x32] - ldrh r0, [r2, 0xA] - strh r0, [r4, 0x34] - ldrh r0, [r2, 0xC] - strh r0, [r4, 0x36] - strh r1, [r4, 0x38] - ldr r0, _080ACB18 @ =sub_80ACB1C - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080ACB14: .4byte gBattleAnimArgs -_080ACB18: .4byte sub_80ACB1C - thumb_func_end sub_80ACAA8 - - thumb_func_start sub_80ACB1C -sub_80ACB1C: @ 80ACB1C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080ACBA4 - movs r2, 0x38 - ldrsh r1, [r4, r2] - ldr r0, _080ACB88 @ =0x00002710 - cmp r1, r0 - ble _080ACB3A - adds r1, r4, 0 - adds r1, 0x43 - movs r0, 0x1 - strb r0, [r1] -_080ACB3A: - movs r1, 0x2E - ldrsh r0, [r4, r1] - ldrh r1, [r4, 0x38] - lsls r1, 16 - asrs r1, 24 - ldrh r2, [r4, 0x30] - adds r1, r2 - lsls r1, 16 - asrs r1, 16 - bl Sin - strh r0, [r4, 0x24] - movs r1, 0x2E - ldrsh r0, [r4, r1] - ldrh r1, [r4, 0x38] - lsls r1, 16 - asrs r1, 24 - ldrh r2, [r4, 0x30] - adds r1, r2 - lsls r1, 16 - asrs r1, 16 - bl Cos - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - ldrh r2, [r4, 0x2E] - adds r1, r0, r2 - strh r1, [r4, 0x2E] - ldrh r0, [r4, 0x36] - ldrh r2, [r4, 0x38] - adds r0, r2 - strh r0, [r4, 0x38] - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0xFF - ble _080ACB90 - ldr r2, _080ACB8C @ =0xffffff00 - b _080ACB98 - .align 2, 0 -_080ACB88: .4byte 0x00002710 -_080ACB8C: .4byte 0xffffff00 -_080ACB90: - cmp r0, 0 - bge _080ACB9C - movs r2, 0x80 - lsls r2, 1 -_080ACB98: - adds r0, r1, r2 - strh r0, [r4, 0x2E] -_080ACB9C: - ldrh r0, [r4, 0x34] - subs r0, 0x1 - strh r0, [r4, 0x34] - b _080ACBAA -_080ACBA4: - adds r0, r4, 0 - bl move_anim_8074EE0 -_080ACBAA: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80ACB1C - - thumb_func_start sub_80ACBB0 -sub_80ACBB0: @ 80ACBB0 - push {lr} - movs r1, 0 - strh r1, [r0, 0x20] - strh r1, [r0, 0x22] - movs r1, 0x3C - strh r1, [r0, 0x2E] - movs r1, 0x8C - strh r1, [r0, 0x32] - movs r1, 0x50 - strh r1, [r0, 0x36] - ldr r1, _080ACBD4 @ =sub_8075590 - str r1, [r0, 0x1C] - ldr r1, _080ACBD8 @ =DestroyAnimSprite - bl StoreSpriteCallbackInData6 - pop {r0} - bx r0 - .align 2, 0 -_080ACBD4: .4byte sub_8075590 -_080ACBD8: .4byte DestroyAnimSprite - thumb_func_end sub_80ACBB0 - - thumb_func_start sub_80ACBDC -sub_80ACBDC: @ 80ACBDC - push {r4-r6,lr} - adds r6, r0, 0 - ldr r5, _080ACC34 @ =gBattleAnimAttacker - ldrb r0, [r5] - bl GetBattlerSide - adds r4, r0, 0 - ldr r0, _080ACC38 @ =gBattleAnimTarget - ldrb r0, [r0] - bl GetBattlerSide - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - bne _080ACC22 - movs r0, 0x2 - bl GetBattlerAtPosition - ldrb r1, [r5] - lsls r0, 24 - lsrs r0, 24 - cmp r1, r0 - beq _080ACC1A - movs r0, 0x3 - bl GetBattlerAtPosition - ldrb r1, [r5] - lsls r0, 24 - lsrs r0, 24 - cmp r1, r0 - bne _080ACC22 -_080ACC1A: - ldr r1, _080ACC3C @ =gBattleAnimArgs - ldrh r0, [r1, 0x4] - negs r0, r0 - strh r0, [r1, 0x4] -_080ACC22: - ldr r1, _080ACC40 @ =sub_8075F0C - str r1, [r6, 0x1C] - adds r0, r6, 0 - bl _call_via_r1 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080ACC34: .4byte gBattleAnimAttacker -_080ACC38: .4byte gBattleAnimTarget -_080ACC3C: .4byte gBattleAnimArgs -_080ACC40: .4byte sub_8075F0C - thumb_func_end sub_80ACBDC - - thumb_func_start sub_80ACC44 -sub_80ACC44: @ 80ACC44 - ldr r2, _080ACC58 @ =gBattleAnimArgs - ldrh r1, [r2] - negs r1, r1 - strh r1, [r2] - ldrh r1, [r2, 0x4] - negs r1, r1 - strh r1, [r2, 0x4] - ldr r1, _080ACC5C @ =sub_8075F0C - str r1, [r0, 0x1C] - bx lr - .align 2, 0 -_080ACC58: .4byte gBattleAnimArgs -_080ACC5C: .4byte sub_8075F0C - thumb_func_end sub_80ACC44 - - thumb_func_start sub_80ACC60 -sub_80ACC60: @ 80ACC60 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl sub_8075160 - ldr r0, _080ACC80 @ =gBattleAnimArgs - ldrh r0, [r0, 0x4] - movs r1, 0 - strh r0, [r4, 0x3C] - strh r1, [r4, 0x2E] - ldr r0, _080ACC84 @ =sub_80ACC88 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080ACC80: .4byte gBattleAnimArgs -_080ACC84: .4byte sub_80ACC88 - thumb_func_end sub_80ACC60 - - thumb_func_start sub_80ACC88 -sub_80ACC88: @ 80ACC88 - push {r4,r5,lr} - adds r5, r0, 0 - bl sub_80ACD7C - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x12 - bne _080ACCD2 - movs r0, 0x19 - strh r0, [r5, 0x2E] - ldrh r0, [r5, 0x20] - strh r0, [r5, 0x30] - ldr r4, _080ACCD8 @ =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x32] - ldrh r0, [r5, 0x22] - strh r0, [r5, 0x34] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x36] - adds r0, r5, 0 - bl obj_translate_based_on_private_1_2_3_4 - ldr r0, _080ACCDC @ =sub_80ACCE0 - str r0, [r5, 0x1C] -_080ACCD2: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080ACCD8: .4byte gBattleAnimTarget -_080ACCDC: .4byte sub_80ACCE0 - thumb_func_end sub_80ACC88 - - thumb_func_start sub_80ACCE0 -sub_80ACCE0: @ 80ACCE0 - push {r4-r6,lr} - adds r6, r0, 0 - bl sub_80755E0 - lsls r0, 24 - cmp r0, 0 - beq _080ACD28 - movs r4, 0 - strh r4, [r6, 0x2E] - ldr r5, _080ACD20 @ =gBattleAnimTarget - ldrb r0, [r5] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x20] - ldrb r0, [r5] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x22] - strh r4, [r6, 0x26] - strh r4, [r6, 0x24] - ldr r1, _080ACD24 @ =sub_80ACD58 - str r1, [r6, 0x1C] - adds r0, r6, 0 - bl _call_via_r1 - b _080ACD52 - .align 2, 0 -_080ACD20: .4byte gBattleAnimTarget -_080ACD24: .4byte sub_80ACD58 -_080ACD28: - movs r1, 0x3C - ldrsh r0, [r6, r1] - movs r1, 0x1C - bl Sin - ldrh r1, [r6, 0x24] - adds r0, r1 - strh r0, [r6, 0x24] - movs r1, 0x3C - ldrsh r0, [r6, r1] - movs r1, 0x1C - bl Cos - ldrh r1, [r6, 0x26] - adds r0, r1 - strh r0, [r6, 0x26] - ldrh r0, [r6, 0x3C] - adds r0, 0x14 - movs r1, 0xFF - ands r0, r1 - strh r0, [r6, 0x3C] -_080ACD52: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80ACCE0 - - thumb_func_start sub_80ACD58 -sub_80ACD58: @ 80ACD58 - push {r4,lr} - adds r4, r0, 0 - bl sub_80ACD7C - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1F - bne _080ACD74 - adds r0, r4, 0 - bl DestroyAnimSprite -_080ACD74: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80ACD58 - - thumb_func_start sub_80ACD7C -sub_80ACD7C: @ 80ACD7C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x3C - ldrsh r0, [r4, r1] - movs r1, 0x1C - bl Sin - strh r0, [r4, 0x24] - movs r1, 0x3C - ldrsh r0, [r4, r1] - movs r1, 0x1C - bl Cos - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x3C] - adds r0, 0x14 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x3C] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80ACD7C - - thumb_func_start sub_80ACDA8 -sub_80ACDA8: @ 80ACDA8 - push {r4,lr} - adds r4, r0, 0 - ldr r1, _080ACDDC @ =gBattleAnimArgs - ldrh r0, [r1] - ldrh r2, [r4, 0x20] - adds r0, r2 - strh r0, [r4, 0x20] - ldrh r0, [r1, 0x2] - ldrh r2, [r4, 0x22] - adds r0, r2 - strh r0, [r4, 0x22] - ldrh r0, [r1, 0x4] - strh r0, [r4, 0x2E] - ldrh r0, [r1, 0x6] - strh r0, [r4, 0x30] - ldrh r0, [r1, 0x8] - strh r0, [r4, 0x32] - ldr r1, _080ACDE0 @ =DestroyAnimSprite - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - ldr r0, _080ACDE4 @ =sub_8074CD0 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080ACDDC: .4byte gBattleAnimArgs -_080ACDE0: .4byte DestroyAnimSprite -_080ACDE4: .4byte sub_8074CD0 - thumb_func_end sub_80ACDA8 - - thumb_func_start sub_80ACDE8 -sub_80ACDE8: @ 80ACDE8 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl sub_8075160 - ldr r1, _080ACE1C @ =gBattleAnimArgs - ldrh r0, [r1, 0x4] - strh r0, [r4, 0x30] - ldrh r0, [r1, 0x6] - strh r0, [r4, 0x2E] - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, _080ACE20 @ =sub_8074C44 - str r0, [r4, 0x1C] - ldr r1, _080ACE24 @ =sub_80ACE28 - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080ACE1C: .4byte gBattleAnimArgs -_080ACE20: .4byte sub_8074C44 -_080ACE24: .4byte sub_80ACE28 - thumb_func_end sub_80ACDE8 - - thumb_func_start sub_80ACE28 -sub_80ACE28: @ 80ACE28 - push {lr} - adds r3, r0, 0 - adds r3, 0x3E - ldrb r2, [r3] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r3] - ldrh r1, [r0, 0x30] - movs r2, 0 - strh r1, [r0, 0x2E] - strh r2, [r0, 0x30] - ldr r1, _080ACE4C @ =sub_80ACE50 - str r1, [r0, 0x1C] - bl _call_via_r1 - pop {r0} - bx r0 - .align 2, 0 -_080ACE4C: .4byte sub_80ACE50 - thumb_func_end sub_80ACE28 - - thumb_func_start sub_80ACE50 -sub_80ACE50: @ 80ACE50 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x30 - ldrsh r0, [r4, r1] - ldrh r1, [r4, 0x32] - lsls r1, 16 - asrs r1, 24 - bl Sin - strh r0, [r4, 0x24] - movs r1, 0x30 - ldrsh r0, [r4, r1] - ldrh r1, [r4, 0x32] - lsls r1, 16 - asrs r1, 24 - bl Cos - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x30] - adds r0, 0xA - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x32] - adds r0, 0xD0 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x2E] - subs r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _080ACE9C - adds r0, r4, 0 - bl DestroyAnimSprite -_080ACE9C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80ACE50 - - thumb_func_start sub_80ACEA4 -sub_80ACEA4: @ 80ACEA4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, _080ACF04 @ =gTasks - adds r4, r0 - movs r0, 0 - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r0, 24 - movs r5, 0 - strh r0, [r4, 0x26] - strh r5, [r4, 0x8] - strh r5, [r4, 0xA] - strh r5, [r4, 0xC] - strh r5, [r4, 0xE] - ldr r2, _080ACF08 @ =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x22] - strh r0, [r4, 0x10] - ldr r0, _080ACF0C @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x12] - strh r5, [r4, 0x14] - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl sub_80758E0 - ldr r0, _080ACF10 @ =sub_80ACF14 - str r0, [r4] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080ACF04: .4byte gTasks -_080ACF08: .4byte gSprites -_080ACF0C: .4byte gBattleAnimAttacker -_080ACF10: .4byte sub_80ACF14 - thumb_func_end sub_80ACEA4 - - thumb_func_start sub_80ACF14 -sub_80ACF14: @ 80ACF14 - push {r4,r5,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _080ACF3C @ =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x6 - bls _080ACF30 - b _080AD1EE -_080ACF30: - lsls r0, 2 - ldr r1, _080ACF40 @ =_080ACF44 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080ACF3C: .4byte gTasks -_080ACF40: .4byte _080ACF44 - .align 2, 0 -_080ACF44: - .4byte _080ACF60 - .4byte _080ACF86 - .4byte _080AD038 - .4byte _080AD098 - .4byte _080AD0B6 - .4byte _080AD18C - .4byte _080AD1E0 -_080ACF60: - ldrh r1, [r4, 0x26] - lsls r1, 24 - lsrs r1, 24 - movs r3, 0x80 - lsls r3, 1 - movs r0, 0xE0 - str r0, [sp] - movs r0, 0x80 - lsls r0, 2 - str r0, [sp, 0x4] - movs r0, 0x20 - str r0, [sp, 0x8] - adds r0, r4, 0 - adds r2, r3, 0 - bl sub_80765D4 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080ACF86: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080ACFCE - movs r0, 0 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080ACFBC - ldr r2, _080ACFB8 @ =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x3 - b _080ACFCC - .align 2, 0 -_080ACFB8: .4byte gSprites -_080ACFBC: - ldr r2, _080AD030 @ =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r1, _080AD034 @ =0x0000fffd -_080ACFCC: - strh r1, [r0, 0x24] -_080ACFCE: - movs r1, 0x12 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080ACFFC - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _080ACFFC - movs r0, 0 - strh r0, [r4, 0xE] - ldr r2, _080AD030 @ =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x22] - adds r1, 0x1 - strh r1, [r0, 0x22] -_080ACFFC: - adds r0, r4, 0 - bl sub_8076640 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - beq _080AD00C - b _080AD1EE -_080AD00C: - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - bl sub_8076440 - ldr r2, _080AD030 @ =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r5, [r0, 0x24] - strh r5, [r4, 0xA] - strh r5, [r4, 0xC] - strh r5, [r4, 0xE] - b _080AD1D4 - .align 2, 0 -_080AD030: .4byte gSprites -_080AD034: .4byte 0x0000fffd -_080AD038: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - bgt _080AD048 - b _080AD1EE -_080AD048: - movs r1, 0x12 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080AD072 - ldrh r1, [r4, 0x26] - lsls r1, 24 - lsrs r1, 24 - movs r3, 0x80 - lsls r3, 2 - movs r0, 0xC0 - lsls r0, 1 - str r0, [sp] - movs r0, 0xF0 - str r0, [sp, 0x4] - movs r0, 0x6 - str r0, [sp, 0x8] - adds r0, r4, 0 - movs r2, 0xE0 - bl sub_80765D4 - b _080AD092 -_080AD072: - ldrh r1, [r4, 0x26] - lsls r1, 24 - lsrs r1, 24 - movs r3, 0x80 - lsls r3, 2 - movs r0, 0xC0 - lsls r0, 1 - str r0, [sp] - movs r0, 0xC0 - str r0, [sp, 0x4] - movs r0, 0x6 - str r0, [sp, 0x8] - adds r0, r4, 0 - movs r2, 0xE0 - bl sub_80765D4 -_080AD092: - movs r0, 0 - strh r0, [r4, 0xA] - b _080AD1D4 -_080AD098: - adds r0, r4, 0 - bl sub_8076640 - lsls r0, 24 - cmp r0, 0 - beq _080AD0A6 - b _080AD1EE -_080AD0A6: - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - adds r1, r5, 0 - movs r2, 0x6 - bl sub_80AD1F8 - b _080AD1D4 -_080AD0B6: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080AD104 - movs r0, 0 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080AD0F0 - ldr r2, _080AD0EC @ =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x26] - adds r1, 0x3 - b _080AD102 - .align 2, 0 -_080AD0EC: .4byte gSprites -_080AD0F0: - ldr r2, _080AD13C @ =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x26] - subs r1, 0x3 -_080AD102: - strh r1, [r0, 0x26] -_080AD104: - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x18 - ble _080AD1EE - movs r1, 0x12 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080AD140 - ldrh r1, [r4, 0x26] - lsls r1, 24 - lsrs r1, 24 - movs r2, 0xC0 - lsls r2, 1 - movs r0, 0x80 - lsls r0, 1 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0x8 - str r0, [sp, 0x8] - adds r0, r4, 0 - movs r3, 0xF0 - bl sub_80765D4 - b _080AD15E - .align 2, 0 -_080AD13C: .4byte gSprites -_080AD140: - ldrh r1, [r4, 0x26] - lsls r1, 24 - lsrs r1, 24 - movs r2, 0xC0 - lsls r2, 1 - movs r0, 0x80 - lsls r0, 1 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0x8 - str r0, [sp, 0x8] - adds r0, r4, 0 - movs r3, 0xC0 - bl sub_80765D4 -_080AD15E: - ldrh r1, [r4, 0xC] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080AD17C - ldr r2, _080AD188 @ =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x26] - subs r1, 0x3 - strh r1, [r0, 0x26] -_080AD17C: - movs r0, 0 - strh r0, [r4, 0xA] - strh r0, [r4, 0xC] - strh r0, [r4, 0xE] - b _080AD1D4 - .align 2, 0 -_080AD188: .4byte gSprites -_080AD18C: - movs r1, 0x12 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080AD1A8 - ldr r2, _080AD1DC @ =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x22] - subs r1, 0x1 - strh r1, [r0, 0x22] -_080AD1A8: - adds r0, r4, 0 - bl sub_8076640 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _080AD1EE - ldr r2, _080AD1DC @ =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r4, 0x10] - strh r1, [r0, 0x22] - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - bl sub_8075980 - strh r5, [r4, 0xC] -_080AD1D4: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080AD1EE - .align 2, 0 -_080AD1DC: .4byte gSprites -_080AD1E0: - movs r1, 0x14 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080AD1EE - adds r0, r5, 0 - bl DestroyAnimVisualTask -_080AD1EE: - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80ACF14 - - thumb_func_start sub_80AD1F8 -sub_80AD1F8: @ 80AD1F8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - adds r0, r4, 0 - bl sub_80AD374 - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - ldr r1, _080AD248 @ =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - ldrh r4, [r0, 0x20] - ldr r0, _080AD24C @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080AD250 - adds r0, r4, 0 - subs r0, 0xC - lsls r0, 16 - lsrs r4, r0, 16 - movs r0, 0x1 - b _080AD25A - .align 2, 0 -_080AD248: .4byte gSprites -_080AD24C: .4byte gBattleAnimAttacker -_080AD250: - adds r0, r4, 0 - adds r0, 0x10 - lsls r0, 16 - lsrs r4, r0, 16 - movs r0, 0xFF -_080AD25A: - movs r6, 0 - movs r5, 0 - lsls r4, 16 - str r4, [sp, 0x8] - mov r1, r9 - lsls r1, 16 - str r1, [sp, 0x4] - ldr r2, _080AD314 @ =gUnknown_83E5E44 - mov r9, r2 - lsls r0, 24 - asrs r0, 24 - str r0, [sp] - mov r3, r8 - lsls r3, 1 - mov r10, r3 -_080AD278: - ldr r0, _080AD318 @ =gUnknown_83E5E2C - ldr r2, [sp, 0x8] - asrs r1, r2, 16 - ldr r3, [sp, 0x4] - asrs r2, r3, 16 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x40 - beq _080AD2FA - ldr r1, _080AD31C @ =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r4, r0, r1 - ldrh r2, [r4, 0x4] - lsls r1, r2, 22 - lsrs r1, 22 - lsls r0, r5, 2 - adds r0, 0x40 - adds r1, r0 - ldr r3, _080AD320 @ =0x000003ff - adds r0, r3, 0 - ands r1, r0 - ldr r3, _080AD324 @ =0xfffffc00 - adds r0, r3, 0 - ands r2, r0 - orrs r2, r1 - strh r2, [r4, 0x4] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x4 - bls _080AD2C2 - movs r5, 0 -_080AD2C2: - lsls r2, r6, 2 - mov r1, r9 - adds r0, r2, r1 - ldrh r0, [r0] - ldr r3, [sp] - adds r1, r0, 0 - muls r1, r3 - lsls r1, 16 - asrs r1, 16 - ldr r0, _080AD328 @ =gUnknown_83E5E46 - adds r2, r0 - movs r3, 0 - ldrsh r2, [r2, r3] - adds r0, r4, 0 - bl sub_80AD3C8 - strh r7, [r4, 0x3A] - mov r0, r8 - strh r0, [r4, 0x3C] - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - add r0, r10 - ldr r1, _080AD32C @ =gTasks+0x8 - adds r0, r1 - ldrh r1, [r0] - adds r1, 0x1 - strh r1, [r0] -_080AD2FA: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x6 - bls _080AD278 - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080AD314: .4byte gUnknown_83E5E44 -_080AD318: .4byte gUnknown_83E5E2C -_080AD31C: .4byte gSprites -_080AD320: .4byte 0x000003ff -_080AD324: .4byte 0xfffffc00 -_080AD328: .4byte gUnknown_83E5E46 -_080AD32C: .4byte gTasks+0x8 - thumb_func_end sub_80AD1F8 - - thumb_func_start sub_80AD330 -sub_80AD330: @ 80AD330 - push {r4,lr} - adds r4, r0, 0 - bl sub_80AD3E4 - adds r0, r4, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080AD36A - ldr r3, _080AD370 @ =gTasks - movs r0, 0x3C - ldrsh r1, [r4, r0] - lsls r1, 1 - movs r0, 0x3A - ldrsh r2, [r4, r0] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r3, 0x8 - adds r1, r3 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - adds r0, r4, 0 - bl DestroySprite -_080AD36A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080AD370: .4byte gTasks - thumb_func_end sub_80AD330 - - thumb_func_start sub_80AD374 -sub_80AD374: @ 80AD374 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080AD3AC @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrh r2, [r1, 0x26] - ldrh r0, [r1, 0x22] - adds r2, r0 - adds r1, 0x29 - movs r0, 0 - ldrsb r0, [r1, r0] - adds r0, r2 - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, _080AD3B0 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080AD3B4 - lsls r0, r4, 16 - movs r1, 0x94 - lsls r1, 15 - b _080AD3BA - .align 2, 0 -_080AD3AC: .4byte gSprites -_080AD3B0: .4byte gBattleAnimAttacker -_080AD3B4: - lsls r0, r4, 16 - movs r1, 0xB0 - lsls r1, 14 -_080AD3BA: - adds r0, r1 - lsrs r4, r0, 16 - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80AD374 - - thumb_func_start sub_80AD3C8 -sub_80AD3C8: @ 80AD3C8 - movs r3, 0 - strh r3, [r0, 0x2E] - strh r3, [r0, 0x30] - ldrh r3, [r0, 0x20] - lsls r3, 3 - strh r3, [r0, 0x32] - ldrh r3, [r0, 0x22] - lsls r3, 3 - strh r3, [r0, 0x34] - lsls r1, 3 - strh r1, [r0, 0x36] - lsls r2, 3 - strh r2, [r0, 0x38] - bx lr - thumb_func_end sub_80AD3C8 - - thumb_func_start sub_80AD3E4 -sub_80AD3E4: @ 80AD3E4 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _080AD40E - movs r0, 0 - strh r0, [r2, 0x2E] - ldrh r0, [r2, 0x30] - adds r0, 0x1 - strh r0, [r2, 0x30] - ldrh r0, [r2, 0x30] - adds r1, r0, 0 - muls r1, r0 - adds r0, r1, 0 - ldrh r3, [r2, 0x34] - adds r0, r3 - strh r0, [r2, 0x34] -_080AD40E: - ldrh r0, [r2, 0x36] - ldrh r1, [r2, 0x32] - adds r0, r1 - strh r0, [r2, 0x32] - lsls r0, 16 - asrs r0, 19 - strh r0, [r2, 0x20] - ldrh r1, [r2, 0x38] - ldrh r3, [r2, 0x34] - adds r1, r3 - strh r1, [r2, 0x34] - lsls r1, 16 - asrs r3, r1, 19 - strh r3, [r2, 0x22] - adds r0, 0x8 - lsls r0, 16 - movs r1, 0x80 - lsls r1, 17 - cmp r0, r1 - bhi _080AD444 - adds r1, r3, 0 - movs r0, 0x8 - negs r0, r0 - cmp r1, r0 - blt _080AD444 - cmp r1, 0x78 - ble _080AD450 -_080AD444: - adds r0, r2, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_080AD450: - pop {r0} - bx r0 - thumb_func_end sub_80AD3E4 - - thumb_func_start sub_80AD454 -sub_80AD454: @ 80AD454 - push {r4,r5,lr} - ldr r3, _080AD498 @ =gBattleAnimArgs - ldrh r1, [r3] - movs r2, 0 - strh r1, [r0, 0x20] - ldrh r1, [r3, 0x2] - strh r1, [r0, 0x22] - strh r2, [r0, 0x2E] - strh r2, [r0, 0x30] - strh r2, [r0, 0x32] - ldrh r1, [r3, 0x4] - strh r1, [r0, 0x3A] - ldrh r1, [r3, 0x6] - strh r1, [r0, 0x3C] - ldrh r4, [r0, 0x4] - lsls r2, r4, 22 - lsrs r2, 22 - movs r5, 0x8 - ldrsh r1, [r3, r5] - lsls r1, 4 - adds r2, r1 - ldr r3, _080AD49C @ =0x000003ff - adds r1, r3, 0 - ands r2, r1 - ldr r1, _080AD4A0 @ =0xfffffc00 - ands r1, r4 - orrs r1, r2 - strh r1, [r0, 0x4] - ldr r1, _080AD4A4 @ =sub_80AD4A8 - str r1, [r0, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AD498: .4byte gBattleAnimArgs -_080AD49C: .4byte 0x000003ff -_080AD4A0: .4byte 0xfffffc00 -_080AD4A4: .4byte sub_80AD4A8 - thumb_func_end sub_80AD454 - - thumb_func_start sub_80AD4A8 -sub_80AD4A8: @ 80AD4A8 - push {r4,lr} - adds r2, r0, 0 - movs r1, 0x2E - ldrsh r0, [r2, r1] - cmp r0, 0x1 - beq _080AD4DA - cmp r0, 0x1 - bgt _080AD4BE - cmp r0, 0 - beq _080AD4C4 - b _080AD538 -_080AD4BE: - cmp r0, 0x2 - beq _080AD4F8 - b _080AD538 -_080AD4C4: - ldrh r1, [r2, 0x3A] - movs r3, 0x3A - ldrsh r0, [r2, r3] - cmp r0, 0 - beq _080AD4D4 - subs r0, r1, 0x1 - strh r0, [r2, 0x3A] - b _080AD538 -_080AD4D4: - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] -_080AD4DA: - ldrh r0, [r2, 0x22] - adds r0, 0x8 - strh r0, [r2, 0x22] - lsls r0, 16 - asrs r0, 16 - ldrh r3, [r2, 0x3C] - movs r4, 0x3C - ldrsh r1, [r2, r4] - cmp r0, r1 - blt _080AD538 - strh r3, [r2, 0x22] - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] - b _080AD538 -_080AD4F8: - ldrh r0, [r2, 0x30] - adds r0, 0x1 - strh r0, [r2, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080AD524 - movs r0, 0 - strh r0, [r2, 0x30] - ldrh r0, [r2, 0x32] - adds r0, 0x1 - strh r0, [r2, 0x32] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080AD520 - ldr r0, _080AD51C @ =0x0000fffd - b _080AD522 - .align 2, 0 -_080AD51C: .4byte 0x0000fffd -_080AD520: - movs r0, 0x3 -_080AD522: - strh r0, [r2, 0x26] -_080AD524: - ldrh r0, [r2, 0x34] - adds r0, 0x1 - strh r0, [r2, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x10 - ble _080AD538 - adds r0, r2, 0 - bl DestroyAnimSprite -_080AD538: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80AD4A8 - - thumb_func_start sub_80AD540 -sub_80AD540: @ 80AD540 - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x2E - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _080AD5B4 - cmp r0, 0x1 - bgt _080AD556 - cmp r0, 0 - beq _080AD55C - b _080AD682 -_080AD556: - cmp r0, 0x2 - beq _080AD612 - b _080AD682 -_080AD55C: - adds r0, r5, 0 - movs r1, 0 - bl sub_8075160 - ldr r4, _080AD584 @ =gBattleAnimArgs - ldrb r1, [r4, 0x4] - adds r0, r5, 0 - bl StartSpriteAnim - ldrh r0, [r4, 0x4] - strh r0, [r5, 0x3C] - ldr r0, _080AD588 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080AD58C - movs r0, 0x4 - b _080AD58E - .align 2, 0 -_080AD584: .4byte gBattleAnimArgs -_080AD588: .4byte gBattleAnimAttacker -_080AD58C: - ldr r0, _080AD5AC @ =0x0000fffc -_080AD58E: - strh r0, [r5, 0x36] - ldr r0, _080AD5B0 @ =gBattleAnimTarget - ldrb r0, [r0] - bl sub_8076884 - movs r1, 0x3 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r5, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x5] - b _080AD60A - .align 2, 0 -_080AD5AC: .4byte 0x0000fffc -_080AD5B0: .4byte gBattleAnimTarget -_080AD5B4: - ldrh r0, [r5, 0x30] - adds r0, 0xC0 - strh r0, [r5, 0x30] - ldr r0, _080AD5D4 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080AD5D8 - ldrh r0, [r5, 0x30] - lsls r0, 16 - asrs r0, 24 - negs r0, r0 - b _080AD5DE - .align 2, 0 -_080AD5D4: .4byte gBattleAnimAttacker -_080AD5D8: - ldrh r0, [r5, 0x30] - lsls r0, 16 - asrs r0, 24 -_080AD5DE: - strh r0, [r5, 0x26] - movs r2, 0x32 - ldrsh r0, [r5, r2] - movs r2, 0x36 - ldrsh r1, [r5, r2] - bl Sin - strh r0, [r5, 0x24] - ldrh r0, [r5, 0x32] - adds r0, 0x4 - movs r1, 0xFF - ands r0, r1 - strh r0, [r5, 0x32] - ldrh r0, [r5, 0x34] - adds r0, 0x1 - strh r0, [r5, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - bne _080AD682 - movs r0, 0 - strh r0, [r5, 0x34] -_080AD60A: - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - b _080AD682 -_080AD612: - movs r1, 0x32 - ldrsh r0, [r5, r1] - movs r2, 0x36 - ldrsh r1, [r5, r2] - bl Sin - adds r2, r0, 0 - movs r3, 0 - strh r2, [r5, 0x24] - ldrh r0, [r5, 0x32] - adds r0, 0x4 - movs r1, 0xFF - ands r0, r1 - strh r0, [r5, 0x32] - ldrh r0, [r5, 0x34] - adds r0, 0x1 - strh r0, [r5, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1F - bne _080AD682 - ldrh r0, [r5, 0x20] - adds r1, r2, r0 - strh r1, [r5, 0x20] - ldrh r0, [r5, 0x26] - ldrh r2, [r5, 0x22] - adds r0, r2 - strh r0, [r5, 0x22] - strh r3, [r5, 0x26] - strh r3, [r5, 0x24] - movs r0, 0x80 - lsls r0, 1 - strh r0, [r5, 0x2E] - strh r1, [r5, 0x30] - ldr r4, _080AD688 @ =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x32] - ldrh r0, [r5, 0x22] - strh r0, [r5, 0x34] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x36] - adds r0, r5, 0 - bl sub_8075678 - ldr r0, _080AD68C @ =sub_80AD690 - str r0, [r5, 0x1C] -_080AD682: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AD688: .4byte gBattleAnimTarget -_080AD68C: .4byte sub_80AD690 - thumb_func_end sub_80AD540 - - thumb_func_start sub_80AD690 -sub_80AD690: @ 80AD690 - push {r4,lr} - adds r4, r0, 0 - bl sub_80755E0 - lsls r0, 24 - cmp r0, 0 - bne _080AD6E8 - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r1, 0x10 - bl Sin - ldrh r1, [r4, 0x24] - adds r0, r1 - strh r0, [r4, 0x24] - ldrh r2, [r4, 0x38] - adds r0, r2, 0x4 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x38] - ldrh r0, [r4, 0x38] - lsls r2, 16 - asrs r2, 16 - cmp r2, 0 - beq _080AD6C6 - cmp r2, 0xC4 - ble _080AD6EE -_080AD6C6: - lsls r0, 16 - cmp r0, 0 - ble _080AD6EE - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080AD6EE - ldr r0, _080AD6E4 @ =gUnknown_2037F24 - movs r1, 0 - ldrsb r1, [r0, r1] - movs r0, 0x89 - bl PlaySE12WithPanning - b _080AD6EE - .align 2, 0 -_080AD6E4: .4byte gUnknown_2037F24 -_080AD6E8: - adds r0, r4, 0 - bl DestroyAnimSprite -_080AD6EE: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80AD690 - - thumb_func_start sub_80AD6F4 -sub_80AD6F4: @ 80AD6F4 - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x2E] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _080AD70C - ldr r0, _080AD778 @ =gBattleAnimArgs - ldrh r0, [r0] - strh r0, [r4, 0x30] - adds r0, r1, 0x1 - strh r0, [r4, 0x2E] -_080AD70C: - movs r0, 0xC0 - lsls r0, 1 - adds r1, r0, 0 - ldrh r2, [r4, 0x34] - adds r1, r2 - strh r1, [r4, 0x34] - ldrh r0, [r4, 0x36] - adds r0, 0xA0 - strh r0, [r4, 0x36] - movs r2, 0x30 - ldrsh r0, [r4, r2] - lsls r1, 16 - asrs r1, 24 - bl Sin - strh r0, [r4, 0x24] - movs r1, 0x30 - ldrsh r0, [r4, r1] - ldrh r1, [r4, 0x36] - lsls r1, 16 - asrs r1, 24 - bl Cos - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x30] - adds r0, 0x7 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x30] - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080AD7A8 - ldrh r0, [r4, 0x30] - subs r0, 0x40 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x83 - bls _080AD780 - ldr r0, _080AD77C @ =gBattleAnimTarget - ldrb r0, [r0] - bl sub_8076884 - movs r1, 0x3 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r4, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x5] - b _080AD7C4 - .align 2, 0 -_080AD778: .4byte gBattleAnimArgs -_080AD77C: .4byte gBattleAnimTarget -_080AD780: - ldr r0, _080AD7A4 @ =gBattleAnimTarget - ldrb r0, [r0] - bl sub_8076884 - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x1 - movs r1, 0x3 - ands r0, r1 - lsls r0, 2 - ldrb r2, [r4, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r4, 0x5] - b _080AD7C4 - .align 2, 0 -_080AD7A4: .4byte gBattleAnimTarget -_080AD7A8: - ldrh r0, [r4, 0x30] - subs r0, 0x40 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x83 - bls _080AD7BC - adds r1, r4, 0 - adds r1, 0x43 - movs r0, 0x1D - b _080AD7C2 -_080AD7BC: - adds r1, r4, 0 - adds r1, 0x43 - movs r0, 0x1F -_080AD7C2: - strb r0, [r1] -_080AD7C4: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - ble _080AD7EC - adds r3, r4, 0 - adds r3, 0x3E - ldrb r2, [r3] - lsls r0, r2, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] -_080AD7EC: - movs r2, 0x32 - ldrsh r0, [r4, r2] - cmp r0, 0x1E - bne _080AD7FA - adds r0, r4, 0 - bl DestroyAnimSprite -_080AD7FA: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80AD6F4 - - thumb_func_start sub_80AD800 -sub_80AD800: @ 80AD800 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _080AD860 @ =gTasks - adds r4, r1, r0 - ldr r0, _080AD864 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - movs r2, 0x1 - negs r2, r2 - adds r1, r2, 0 - cmp r0, 0 - bne _080AD826 - movs r1, 0x1 -_080AD826: - strh r1, [r4, 0x20] - ldr r0, _080AD868 @ =gBattleAnimTarget - ldrb r1, [r0] - movs r0, 0x2 - eors r0, r1 - bl sub_8072DF0 - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x1 - strh r0, [r4, 0x22] - movs r0, 0x1 - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x24] - movs r0, 0x3 - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x26] - ldr r0, _080AD86C @ =sub_80AD870 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080AD860: .4byte gTasks -_080AD864: .4byte gBattleAnimAttacker -_080AD868: .4byte gBattleAnimTarget -_080AD86C: .4byte sub_80AD870 - thumb_func_end sub_80AD800 - - thumb_func_start sub_80AD870 -sub_80AD870: @ 80AD870 - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _080AD894 @ =gTasks - adds r2, r0, r1 - movs r0, 0x8 - ldrsh r3, [r2, r0] - cmp r3, 0x1 - beq _080AD938 - cmp r3, 0x1 - bgt _080AD898 - cmp r3, 0 - beq _080AD8A6 - b _080ADA98 - .align 2, 0 -_080AD894: .4byte gTasks -_080AD898: - cmp r3, 0x2 - bne _080AD89E - b _080AD9C0 -_080AD89E: - cmp r3, 0x3 - bne _080AD8A4 - b _080ADA54 -_080AD8A4: - b _080ADA98 -_080AD8A6: - movs r1, 0x20 - ldrsh r0, [r2, r1] - lsls r0, 1 - ldrh r5, [r2, 0x1C] - adds r0, r5 - strh r0, [r2, 0x1C] - ldrh r0, [r2, 0xA] - adds r0, 0x1 - strh r0, [r2, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080AD8D8 - strh r3, [r2, 0xA] - ldrh r0, [r2, 0xC] - adds r0, 0x1 - strh r0, [r2, 0xC] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080AD8D4 - movs r0, 0x2 - b _080AD8D6 -_080AD8D4: - ldr r0, _080AD930 @ =0x0000fffe -_080AD8D6: - strh r0, [r2, 0x1E] -_080AD8D8: - movs r1, 0 - strh r1, [r2, 0xE] - movs r7, 0x22 - ldrsh r0, [r2, r7] - cmp r1, r0 - bge _080AD91A - ldr r4, _080AD934 @ =gSprites - adds r3, r2, 0 - adds r3, 0x8 -_080AD8EA: - movs r1, 0xE - ldrsh r0, [r2, r1] - adds r0, 0xE - lsls r0, 1 - adds r0, r3, r0 - movs r5, 0 - ldrsh r0, [r0, r5] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrh r0, [r2, 0x1E] - ldrh r7, [r2, 0x1C] - adds r0, r7 - strh r0, [r1, 0x24] - ldrh r0, [r2, 0xE] - adds r0, 0x1 - strh r0, [r2, 0xE] - lsls r0, 16 - asrs r0, 16 - movs r5, 0x22 - ldrsh r1, [r2, r5] - cmp r0, r1 - blt _080AD8EA -_080AD91A: - ldrh r0, [r2, 0x1A] - adds r0, 0x1 - strh r0, [r2, 0x1A] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x10 - beq _080AD92A - b _080ADA98 -_080AD92A: - movs r0, 0 - strh r0, [r2, 0x1A] - b _080ADA44 - .align 2, 0 -_080AD930: .4byte 0x0000fffe -_080AD934: .4byte gSprites -_080AD938: - ldrh r0, [r2, 0xA] - adds r0, 0x1 - strh r0, [r2, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _080AD960 - movs r0, 0 - strh r0, [r2, 0xA] - ldrh r0, [r2, 0xC] - adds r0, 0x1 - strh r0, [r2, 0xC] - ands r0, r3 - lsls r0, 16 - cmp r0, 0 - beq _080AD95C - movs r0, 0x2 - b _080AD95E -_080AD95C: - ldr r0, _080AD9B8 @ =0x0000fffe -_080AD95E: - strh r0, [r2, 0x1E] -_080AD960: - movs r1, 0 - strh r1, [r2, 0xE] - movs r7, 0x22 - ldrsh r0, [r2, r7] - cmp r1, r0 - bge _080AD9A2 - ldr r4, _080AD9BC @ =gSprites - adds r3, r2, 0 - adds r3, 0x8 -_080AD972: - movs r1, 0xE - ldrsh r0, [r2, r1] - adds r0, 0xE - lsls r0, 1 - adds r0, r3, r0 - movs r5, 0 - ldrsh r0, [r0, r5] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrh r0, [r2, 0x1E] - ldrh r7, [r2, 0x1C] - adds r0, r7 - strh r0, [r1, 0x24] - ldrh r0, [r2, 0xE] - adds r0, 0x1 - strh r0, [r2, 0xE] - lsls r0, 16 - asrs r0, 16 - movs r5, 0x22 - ldrsh r1, [r2, r5] - cmp r0, r1 - blt _080AD972 -_080AD9A2: - ldrh r0, [r2, 0x1A] - adds r0, 0x1 - strh r0, [r2, 0x1A] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x60 - bne _080ADA98 - movs r0, 0 - strh r0, [r2, 0x1A] - b _080ADA44 - .align 2, 0 -_080AD9B8: .4byte 0x0000fffe -_080AD9BC: .4byte gSprites -_080AD9C0: - movs r7, 0x20 - ldrsh r1, [r2, r7] - lsls r1, 1 - ldrh r0, [r2, 0x1C] - subs r0, r1 - strh r0, [r2, 0x1C] - ldrh r0, [r2, 0xA] - adds r0, 0x1 - strh r0, [r2, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080AD9F4 - movs r0, 0 - strh r0, [r2, 0xA] - ldrh r0, [r2, 0xC] - adds r0, 0x1 - strh r0, [r2, 0xC] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080AD9F0 - strh r3, [r2, 0x1E] - b _080AD9F4 -_080AD9F0: - ldr r0, _080ADA4C @ =0x0000fffe - strh r0, [r2, 0x1E] -_080AD9F4: - movs r1, 0 - strh r1, [r2, 0xE] - movs r3, 0x22 - ldrsh r0, [r2, r3] - cmp r1, r0 - bge _080ADA36 - ldr r4, _080ADA50 @ =gSprites - adds r3, r2, 0 - adds r3, 0x8 -_080ADA06: - movs r5, 0xE - ldrsh r0, [r2, r5] - adds r0, 0xE - lsls r0, 1 - adds r0, r3, r0 - movs r7, 0 - ldrsh r0, [r0, r7] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrh r0, [r2, 0x1E] - ldrh r5, [r2, 0x1C] - adds r0, r5 - strh r0, [r1, 0x24] - ldrh r0, [r2, 0xE] - adds r0, 0x1 - strh r0, [r2, 0xE] - lsls r0, 16 - asrs r0, 16 - movs r7, 0x22 - ldrsh r1, [r2, r7] - cmp r0, r1 - blt _080ADA06 -_080ADA36: - ldrh r0, [r2, 0x1A] - adds r0, 0x1 - strh r0, [r2, 0x1A] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x10 - bne _080ADA98 -_080ADA44: - ldrh r0, [r2, 0x8] - adds r0, 0x1 - strh r0, [r2, 0x8] - b _080ADA98 - .align 2, 0 -_080ADA4C: .4byte 0x0000fffe -_080ADA50: .4byte gSprites -_080ADA54: - movs r1, 0 - strh r1, [r2, 0xE] - movs r3, 0x22 - ldrsh r0, [r2, r3] - cmp r1, r0 - bge _080ADA92 - ldr r6, _080ADAA0 @ =gSprites - adds r3, r2, 0 - adds r3, 0x8 - movs r5, 0 -_080ADA68: - movs r7, 0xE - ldrsh r0, [r2, r7] - adds r0, 0xE - lsls r0, 1 - adds r0, r3, r0 - movs r7, 0 - ldrsh r1, [r0, r7] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - strh r5, [r0, 0x24] - ldrh r0, [r2, 0xE] - adds r0, 0x1 - strh r0, [r2, 0xE] - lsls r0, 16 - asrs r0, 16 - movs r7, 0x22 - ldrsh r1, [r2, r7] - cmp r0, r1 - blt _080ADA68 -_080ADA92: - adds r0, r4, 0 - bl DestroyAnimVisualTask -_080ADA98: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080ADAA0: .4byte gSprites - thumb_func_end sub_80AD870 - - thumb_func_start sub_80ADAA4 -sub_80ADAA4: @ 80ADAA4 - push {r4,lr} - sub sp, 0x10 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - mov r0, sp - bl sub_80752A0 - mov r0, sp - ldrb r0, [r0, 0x8] - lsls r0, 4 - ldr r1, _080ADAD4 @ =gBattleAnimArgs - ldrb r2, [r1] - ldrh r3, [r1, 0x2] - movs r1, 0x10 - bl BlendPalette - adds r0, r4, 0 - bl DestroyAnimVisualTask - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080ADAD4: .4byte gBattleAnimArgs - thumb_func_end sub_80ADAA4 - - thumb_func_start sub_80ADAD8 -sub_80ADAD8: @ 80ADAD8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r1, _080ADB30 @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r2, r0, r1 - movs r3, 0x8 - ldrsh r0, [r2, r3] - mov r9, r1 - ldr r4, _080ADB34 @ =gBattleAnimArgs - mov r8, r4 - cmp r0, 0 - bne _080ADB0E - ldrh r0, [r4] - strh r0, [r2, 0xA] - ldrh r0, [r4, 0x2] - strh r0, [r2, 0xC] - ldrh r0, [r4, 0x4] - strh r0, [r2, 0xE] - ldrh r0, [r4, 0x6] - strh r0, [r2, 0x10] -_080ADB0E: - ldrh r0, [r2, 0x8] - adds r0, 0x1 - strh r0, [r2, 0x8] - ldr r1, _080ADB38 @ =gUnknown_2023D44 - ldr r0, _080ADB3C @ =gBattleAnimTarget - ldrb r0, [r0] - adds r0, r1 - ldrb r6, [r0] - movs r5, 0x10 - ldrsh r0, [r2, r5] - cmp r0, 0 - bne _080ADB44 - ldr r4, _080ADB40 @ =gUnknown_83E5EFC - movs r1, 0x8 - ldrsh r0, [r2, r1] - b _080ADB4A - .align 2, 0 -_080ADB30: .4byte gTasks -_080ADB34: .4byte gBattleAnimArgs -_080ADB38: .4byte gUnknown_2023D44 -_080ADB3C: .4byte gBattleAnimTarget -_080ADB40: .4byte gUnknown_83E5EFC -_080ADB44: - ldr r4, _080ADB90 @ =gUnknown_83E5F0C - movs r3, 0x8 - ldrsh r0, [r2, r3] -_080ADB4A: - movs r1, 0xA - bl __modsi3 - lsls r0, 16 - asrs r0, 16 - adds r0, r4 - ldrb r5, [r0] - lsls r0, r7, 2 - adds r1, r0, r7 - lsls r1, 3 - add r1, r9 - movs r4, 0xE - ldrsh r1, [r1, r4] - mov r12, r0 - cmp r1, 0x1 - bne _080ADB98 - ldr r2, _080ADB94 @ =gSprites - lsls r3, r6, 4 - adds r0, r3, r6 - lsls r0, 2 - adds r0, r2 - mov r10, r0 - mov r0, r8 - movs r4, 0x2 - ldrsh r1, [r0, r4] - lsls r0, r5, 24 - asrs r0, 24 - muls r0, r1 - cmp r0, 0 - bge _080ADB88 - negs r0, r0 -_080ADB88: - mov r5, r10 - strh r0, [r5, 0x26] - b _080ADBB2 - .align 2, 0 -_080ADB90: .4byte gUnknown_83E5F0C -_080ADB94: .4byte gSprites -_080ADB98: - ldr r3, _080ADBE8 @ =gSprites - lsls r4, r6, 4 - adds r2, r4, r6 - lsls r2, 2 - adds r2, r3 - lsls r0, r5, 24 - asrs r0, 24 - mov r5, r8 - ldrh r1, [r5, 0x2] - muls r0, r1 - strh r0, [r2, 0x24] - adds r2, r3, 0 - adds r3, r4, 0 -_080ADBB2: - mov r1, r12 - adds r0, r1, r7 - lsls r0, 3 - add r0, r9 - movs r4, 0x8 - ldrsh r1, [r0, r4] - movs r5, 0xA - ldrsh r0, [r0, r5] - cmp r1, r0 - bne _080ADBD8 - adds r0, r3, r6 - lsls r0, 2 - adds r0, r2 - movs r1, 0 - strh r1, [r0, 0x24] - strh r1, [r0, 0x26] - adds r0, r7, 0 - bl DestroyAnimVisualTask -_080ADBD8: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080ADBE8: .4byte gSprites - thumb_func_end sub_80ADAD8 - - thumb_func_start sub_80ADBEC -sub_80ADBEC: @ 80ADBEC - push {r4,lr} - adds r4, r0, 0 - ldr r0, _080ADC0C @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080ADC14 - ldr r0, _080ADC10 @ =gBattleAnimArgs - ldrh r1, [r4, 0x20] - ldrh r2, [r0] - subs r1, r2 - strh r1, [r4, 0x20] - b _080ADC20 - .align 2, 0 -_080ADC0C: .4byte gBattleAnimAttacker -_080ADC10: .4byte gBattleAnimArgs -_080ADC14: - ldr r1, _080ADC34 @ =gBattleAnimArgs - ldrh r0, [r1] - ldrh r2, [r4, 0x20] - adds r0, r2 - strh r0, [r4, 0x20] - adds r0, r1, 0 -_080ADC20: - ldrh r0, [r0, 0x2] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - ldr r0, _080ADC38 @ =sub_80ADC3C - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080ADC34: .4byte gBattleAnimArgs -_080ADC38: .4byte sub_80ADC3C - thumb_func_end sub_80ADBEC - - thumb_func_start sub_80ADC3C -sub_80ADC3C: @ 80ADC3C - push {lr} - adds r2, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080ADC52 - adds r0, r2, 0 - bl DestroyAnimSprite -_080ADC52: - pop {r0} - bx r0 - thumb_func_end sub_80ADC3C - - thumb_func_start sub_80ADC58 -sub_80ADC58: @ 80ADC58 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _080ADC78 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080ADC80 - ldr r0, _080ADC7C @ =gBattleAnimArgs - ldrh r1, [r4, 0x20] - ldrh r0, [r0] - subs r1, r0 - strh r1, [r4, 0x20] - b _080ADC8A - .align 2, 0 -_080ADC78: .4byte gBattleAnimAttacker -_080ADC7C: .4byte gBattleAnimArgs -_080ADC80: - ldr r0, _080ADC94 @ =gBattleAnimArgs - ldrh r0, [r0] - ldrh r1, [r4, 0x20] - adds r0, r1 - strh r0, [r4, 0x20] -_080ADC8A: - ldr r0, _080ADC98 @ =sub_80ADC9C - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080ADC94: .4byte gBattleAnimArgs -_080ADC98: .4byte sub_80ADC9C - thumb_func_end sub_80ADC58 - - thumb_func_start sub_80ADC9C -sub_80ADC9C: @ 80ADC9C - push {lr} - adds r2, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080ADCB2 - adds r0, r2, 0 - bl move_anim_8074EE0 -_080ADCB2: - pop {r0} - bx r0 - thumb_func_end sub_80ADC9C - - thumb_func_start sub_80ADCB8 -sub_80ADCB8: @ 80ADCB8 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, _080ADCFC @ =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - ldr r0, _080ADD00 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080ADD08 - ldr r2, _080ADD04 @ =gBattleAnimArgs - ldrh r0, [r5, 0x20] - ldrh r1, [r2] - subs r0, r1 - strh r0, [r5, 0x20] - ldrh r0, [r5, 0x22] - ldrh r1, [r2, 0x2] - subs r0, r1 - strh r0, [r5, 0x22] - b _080ADD1C - .align 2, 0 -_080ADCFC: .4byte gBattleAnimTarget -_080ADD00: .4byte gBattleAnimAttacker -_080ADD04: .4byte gBattleAnimArgs -_080ADD08: - ldr r0, _080ADD40 @ =gBattleAnimArgs - ldrh r1, [r0] - ldrh r2, [r5, 0x20] - adds r1, r2 - strh r1, [r5, 0x20] - ldrh r1, [r0, 0x2] - ldrh r2, [r5, 0x22] - adds r1, r2 - strh r1, [r5, 0x22] - adds r2, r0, 0 -_080ADD1C: - movs r0, 0 - strh r0, [r5, 0x2E] - ldrh r0, [r2, 0x4] - strh r0, [r5, 0x30] - ldrh r0, [r2, 0x6] - strh r0, [r5, 0x32] - ldrh r0, [r2, 0x8] - strh r0, [r5, 0x34] - ldr r1, _080ADD44 @ =move_anim_8074EE0 - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 - ldr r0, _080ADD48 @ =sub_8074A80 - str r0, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080ADD40: .4byte gBattleAnimArgs -_080ADD44: .4byte move_anim_8074EE0 -_080ADD48: .4byte sub_8074A80 - thumb_func_end sub_80ADCB8 - - thumb_func_start sub_80ADD4C -sub_80ADD4C: @ 80ADD4C - push {r4-r7,lr} - adds r5, r0, 0 - ldr r0, _080ADD64 @ =gBattleAnimArgs - movs r1, 0x8 - ldrsh r0, [r0, r1] - cmp r0, 0x1 - beq _080ADDC4 - cmp r0, 0x1 - bgt _080ADD68 - cmp r0, 0 - beq _080ADD72 - b _080ADDC4 - .align 2, 0 -_080ADD64: .4byte gBattleAnimArgs -_080ADD68: - cmp r0, 0x2 - beq _080ADD7C - cmp r0, 0x3 - beq _080ADDA0 - b _080ADDC4 -_080ADD72: - ldr r0, _080ADD78 @ =gBattleAnimAttacker - b _080ADDC6 - .align 2, 0 -_080ADD78: .4byte gBattleAnimAttacker -_080ADD7C: - ldr r4, _080ADD94 @ =gBattleAnimAttacker - ldrb r0, [r4] - movs r6, 0x2 - eors r0, r6 - bl sub_8072DF0 - lsls r0, 24 - cmp r0, 0 - bne _080ADD98 - ldrb r4, [r4] - b _080ADDC8 - .align 2, 0 -_080ADD94: .4byte gBattleAnimAttacker -_080ADD98: - ldrb r0, [r4] - adds r4, r6, 0 - eors r4, r0 - b _080ADDC8 -_080ADDA0: - ldr r0, _080ADDBC @ =gBattleAnimAttacker - ldrb r0, [r0] - movs r4, 0x2 - eors r0, r4 - bl sub_8072DF0 - lsls r0, 24 - cmp r0, 0 - beq _080ADDC4 - ldr r0, _080ADDC0 @ =gBattleAnimTarget - ldrb r0, [r0] - eors r4, r0 - b _080ADDC8 - .align 2, 0 -_080ADDBC: .4byte gBattleAnimAttacker -_080ADDC0: .4byte gBattleAnimTarget -_080ADDC4: - ldr r0, _080ADDE8 @ =gBattleAnimTarget -_080ADDC6: - ldrb r4, [r0] -_080ADDC8: - ldr r0, _080ADDEC @ =gBattleAnimArgs - movs r2, 0xA - ldrsh r0, [r0, r2] - cmp r0, 0 - bne _080ADDF0 - adds r0, r4, 0 - movs r1, 0 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - adds r0, r4, 0 - movs r1, 0x1 - b _080ADE02 - .align 2, 0 -_080ADDE8: .4byte gBattleAnimTarget -_080ADDEC: .4byte gBattleAnimArgs -_080ADDF0: - adds r0, r4, 0 - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - adds r0, r4, 0 - movs r1, 0x3 -_080ADE02: - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - ldr r7, _080ADEA0 @ =gSineTable - ldr r6, _080ADEA4 @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r6, r1] - lsls r0, 1 - adds r0, r7 - movs r2, 0 - ldrsh r1, [r0, r2] - movs r2, 0x2 - ldrsh r0, [r6, r2] - muls r0, r1 - asrs r0, 8 - strh r0, [r5, 0x24] - movs r1, 0 - ldrsh r0, [r6, r1] - adds r0, 0x40 - lsls r0, 1 - adds r0, r7 - movs r2, 0 - ldrsh r1, [r0, r2] - movs r2, 0x2 - ldrsh r0, [r6, r2] - muls r0, r1 - asrs r0, 8 - strh r0, [r5, 0x26] - ldrh r1, [r6, 0xC] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080ADE66 - adds r0, r4, 0 - bl sub_8076884 - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x1 - movs r1, 0x3 - ands r0, r1 - lsls r0, 2 - ldrb r2, [r5, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r5, 0x5] -_080ADE66: - ldrb r2, [r5, 0x3] - lsls r2, 26 - lsrs r2, 27 - movs r0, 0x4 - ldrsh r1, [r6, r0] - lsls r0, r1, 1 - adds r0, r7 - ldrh r0, [r0] - ldr r3, _080ADEA8 @ =gOamMatrices - lsls r2, 3 - adds r2, r3 - adds r1, 0x40 - lsls r1, 1 - adds r1, r7 - ldrh r1, [r1] - strh r1, [r2, 0x6] - strh r1, [r2] - strh r0, [r2, 0x2] - lsls r0, 16 - asrs r0, 16 - negs r0, r0 - strh r0, [r2, 0x4] - ldrh r0, [r6, 0x6] - strh r0, [r5, 0x2E] - ldr r0, _080ADEAC @ =sub_80B1D3C - str r0, [r5, 0x1C] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080ADEA0: .4byte gSineTable -_080ADEA4: .4byte gBattleAnimArgs -_080ADEA8: .4byte gOamMatrices -_080ADEAC: .4byte sub_80B1D3C - thumb_func_end sub_80ADD4C - - thumb_func_start sub_80ADEB0 -sub_80ADEB0: @ 80ADEB0 - push {r4-r6,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl sub_8075160 - ldr r5, _080ADF24 @ =gBattleAnimArgs - ldrh r0, [r5, 0x6] - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x20] - strh r0, [r4, 0x30] - ldr r6, _080ADF28 @ =gBattleAnimTarget - ldrb r0, [r6] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x22] - strh r0, [r4, 0x34] - ldrb r0, [r6] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x36] - adds r0, r4, 0 - bl obj_translate_based_on_private_1_2_3_4 - ldrh r0, [r5, 0x4] - strh r0, [r4, 0x38] - ldrh r0, [r5, 0xA] - strh r0, [r4, 0x3A] - ldrh r0, [r5, 0x8] - strh r0, [r4, 0x3C] - ldrh r2, [r4, 0x4] - lsls r1, r2, 22 - lsrs r1, 22 - movs r3, 0xC - ldrsh r0, [r5, r3] - lsls r0, 2 - adds r1, r0 - ldr r3, _080ADF2C @ =0x000003ff - adds r0, r3, 0 - ands r1, r0 - ldr r0, _080ADF30 @ =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r4, 0x4] - ldr r1, _080ADF34 @ =sub_80ADF38 - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080ADF24: .4byte gBattleAnimArgs -_080ADF28: .4byte gBattleAnimTarget -_080ADF2C: .4byte 0x000003ff -_080ADF30: .4byte 0xfffffc00 -_080ADF34: .4byte sub_80ADF38 - thumb_func_end sub_80ADEB0 - - thumb_func_start sub_80ADF38 -sub_80ADF38: @ 80ADF38 - push {r4,lr} - adds r4, r0, 0 - bl sub_80755E0 - lsls r0, 24 - cmp r0, 0 - bne _080ADFA2 - movs r1, 0x3C - ldrsh r0, [r4, r1] - movs r2, 0x38 - ldrsh r1, [r4, r2] - bl Sin - ldrh r1, [r4, 0x24] - adds r0, r1 - strh r0, [r4, 0x24] - movs r2, 0x3C - ldrsh r0, [r4, r2] - movs r2, 0x38 - ldrsh r1, [r4, r2] - bl Cos - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x3A] - ldrh r2, [r4, 0x3C] - adds r0, r2 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x3C] - movs r1, 0x3C - ldrsh r0, [r4, r1] - movs r1, 0x3 - bl __modsi3 - lsls r0, 16 - cmp r0, 0 - bne _080ADFA8 - adds r3, r4, 0 - adds r3, 0x3E - ldrb r2, [r3] - lsls r0, r2, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - b _080ADFA8 -_080ADFA2: - adds r0, r4, 0 - bl DestroyAnimSprite -_080ADFA8: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80ADF38 - - thumb_func_start sub_80ADFB0 -sub_80ADFB0: @ 80ADFB0 - push {lr} - adds r3, r0, 0 - ldrh r0, [r3, 0x38] - subs r0, 0x1 - strh r0, [r3, 0x38] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _080ADFE8 - movs r0, 0x3E - adds r0, r3 - mov r12, r0 - ldrb r2, [r0] - lsls r0, r2, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - mov r1, r12 - strb r0, [r1] - ldrh r0, [r3, 0x36] - strh r0, [r3, 0x38] -_080ADFE8: - ldrh r0, [r3, 0x34] - subs r1, r0, 0x1 - strh r1, [r3, 0x34] - lsls r0, 16 - cmp r0, 0 - bgt _080ADFFA - adds r0, r3, 0 - bl DestroyAnimSprite -_080ADFFA: - pop {r0} - bx r0 - thumb_func_end sub_80ADFB0 - - thumb_func_start sub_80AE000 -sub_80AE000: @ 80AE000 - push {r4-r6,lr} - adds r6, r0, 0 - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080AE01C - ldr r0, _080AE060 @ =gBattleAnimTarget - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080AE024 -_080AE01C: - ldr r1, _080AE064 @ =gBattleAnimArgs - ldrh r0, [r1, 0x2] - negs r0, r0 - strh r0, [r1, 0x2] -_080AE024: - ldr r5, _080AE060 @ =gBattleAnimTarget - ldrb r0, [r5] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - ldr r4, _080AE064 @ =gBattleAnimArgs - lsrs r0, 24 - ldrh r1, [r4, 0x2] - adds r0, r1 - strh r0, [r6, 0x20] - ldrb r0, [r5] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x4] - adds r0, r1 - strh r0, [r6, 0x22] - ldrh r0, [r4] - strh r0, [r6, 0x34] - ldrh r0, [r4, 0x6] - strh r0, [r6, 0x36] - strh r0, [r6, 0x38] - ldr r0, _080AE068 @ =sub_80ADFB0 - str r0, [r6, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080AE060: .4byte gBattleAnimTarget -_080AE064: .4byte gBattleAnimArgs -_080AE068: .4byte sub_80ADFB0 - thumb_func_end sub_80AE000 - - thumb_func_start sub_80AE06C -sub_80AE06C: @ 80AE06C - push {r4-r6,lr} - adds r5, r0, 0 - ldr r1, _080AE088 @ =gBattleAnimArgs - ldrh r0, [r1, 0x6] - strh r0, [r5, 0x2E] - movs r2, 0xE - ldrsh r0, [r1, r2] - movs r1, 0x80 - lsls r1, 8 - ands r0, r1 - cmp r0, 0 - beq _080AE090 - ldr r0, _080AE08C @ =gBattleAnimTarget - b _080AE092 - .align 2, 0 -_080AE088: .4byte gBattleAnimArgs -_080AE08C: .4byte gBattleAnimTarget -_080AE090: - ldr r0, _080AE118 @ =gBattleAnimAttacker -_080AE092: - ldrb r6, [r0] - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080AE0AA - adds r0, r6, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080AE0B2 -_080AE0AA: - ldr r1, _080AE11C @ =gBattleAnimArgs - ldrh r0, [r1] - negs r0, r0 - strh r0, [r1] -_080AE0B2: - adds r0, r6, 0 - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - ldr r4, _080AE11C @ =gBattleAnimArgs - lsrs r0, 24 - ldrh r3, [r4] - adds r0, r3 - strh r0, [r5, 0x20] - adds r0, r6, 0 - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x2] - adds r0, r1 - strh r0, [r5, 0x22] - ldrh r1, [r4, 0xE] - ldr r0, _080AE120 @ =0x00007fff - ands r0, r1 - strh r0, [r5, 0x36] - ldrh r0, [r4, 0x4] - strh r0, [r5, 0x38] - ldrh r0, [r4, 0xA] - strh r0, [r5, 0x3A] - ldrh r0, [r4, 0x8] - strh r0, [r5, 0x3C] - ldrh r2, [r5, 0x4] - lsls r1, r2, 22 - lsrs r1, 22 - movs r3, 0xC - ldrsh r0, [r4, r3] - lsls r0, 2 - adds r1, r0 - ldr r3, _080AE124 @ =0x000003ff - adds r0, r3, 0 - ands r1, r0 - ldr r0, _080AE128 @ =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r5, 0x4] - ldr r1, _080AE12C @ =sub_80AE130 - str r1, [r5, 0x1C] - adds r0, r5, 0 - bl _call_via_r1 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080AE118: .4byte gBattleAnimAttacker -_080AE11C: .4byte gBattleAnimArgs -_080AE120: .4byte 0x00007fff -_080AE124: .4byte 0x000003ff -_080AE128: .4byte 0xfffffc00 -_080AE12C: .4byte sub_80AE130 - thumb_func_end sub_80AE06C - - thumb_func_start sub_80AE130 -sub_80AE130: @ 80AE130 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x3C - ldrsh r0, [r4, r1] - movs r2, 0x38 - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r4, 0x24] - movs r1, 0x3C - ldrsh r0, [r4, r1] - movs r2, 0x38 - ldrsh r1, [r4, r2] - bl Cos - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x3A] - ldrh r1, [r4, 0x3C] - adds r0, r1 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x3C] - movs r2, 0x3C - ldrsh r0, [r4, r2] - movs r2, 0x36 - ldrsh r1, [r4, r2] - bl __modsi3 - cmp r0, 0 - bne _080AE186 - adds r3, r4, 0 - adds r3, 0x3E - ldrb r2, [r3] - lsls r0, r2, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] -_080AE186: - ldrh r0, [r4, 0x2E] - subs r1, r0, 0x1 - strh r1, [r4, 0x2E] - lsls r0, 16 - cmp r0, 0 - bgt _080AE198 - adds r0, r4, 0 - bl DestroyAnimSprite -_080AE198: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80AE130 - - thumb_func_start sub_80AE1A0 -sub_80AE1A0: @ 80AE1A0 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0 - bl sub_8075114 - ldrh r2, [r4, 0x4] - lsls r1, r2, 22 - lsrs r1, 22 - ldr r3, _080AE1DC @ =gBattleAnimArgs - movs r5, 0x6 - ldrsh r0, [r3, r5] - lsls r0, 2 - adds r1, r0 - ldr r5, _080AE1E0 @ =0x000003ff - adds r0, r5, 0 - ands r1, r0 - ldr r0, _080AE1E4 @ =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r4, 0x4] - movs r1, 0x6 - ldrsh r0, [r3, r1] - cmp r0, 0x1 - bne _080AE1E8 - ldrb r0, [r4, 0x3] - movs r1, 0x3F - negs r1, r1 - ands r1, r0 - movs r0, 0x10 - b _080AE1F6 - .align 2, 0 -_080AE1DC: .4byte gBattleAnimArgs -_080AE1E0: .4byte 0x000003ff -_080AE1E4: .4byte 0xfffffc00 -_080AE1E8: - cmp r0, 0x2 - bne _080AE1FA - ldrb r0, [r4, 0x3] - movs r1, 0x3F - negs r1, r1 - ands r1, r0 - movs r0, 0x20 -_080AE1F6: - orrs r1, r0 - strb r1, [r4, 0x3] -_080AE1FA: - ldr r0, _080AE214 @ =gBattleAnimArgs - ldrh r0, [r0, 0x4] - strh r0, [r4, 0x2E] - ldr r0, _080AE218 @ =sub_8074C44 - str r0, [r4, 0x1C] - ldr r1, _080AE21C @ =DestroyAnimSprite - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AE214: .4byte gBattleAnimArgs -_080AE218: .4byte sub_8074C44 -_080AE21C: .4byte DestroyAnimSprite - thumb_func_end sub_80AE1A0 - - thumb_func_start sub_80AE220 -sub_80AE220: @ 80AE220 - push {r4-r6,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r6, _080AE268 @ =gBattleAnimTarget - ldrb r0, [r6] - movs r1, 0 - bl sub_8074480 - ldr r1, _080AE26C @ =gTasks - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - adds r4, r1 - lsls r0, 24 - ldr r5, _080AE270 @ =gBattleAnimArgs - lsrs r0, 24 - ldrh r1, [r5] - adds r0, r1 - strh r0, [r4, 0x8] - ldrb r0, [r6] - movs r1, 0x1 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r5, 0x2] - adds r0, r1 - strh r0, [r4, 0xA] - ldrh r0, [r5, 0x4] - strh r0, [r4, 0xC] - ldr r0, _080AE274 @ =sub_80AE278 - str r0, [r4] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080AE268: .4byte gBattleAnimTarget -_080AE26C: .4byte gTasks -_080AE270: .4byte gBattleAnimArgs -_080AE274: .4byte sub_80AE278 - thumb_func_end sub_80AE220 - - thumb_func_start sub_80AE278 -sub_80AE278: @ 80AE278 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - movs r5, 0 - movs r7, 0 - ldr r1, _080AE2B8 @ =gTasks - lsls r0, 2 - add r0, r9 - lsls r0, 3 - adds r0, r1 - ldrb r2, [r0, 0xC] - str r2, [sp] - ldrh r4, [r0, 0x8] - ldrh r6, [r0, 0xA] - movs r3, 0xC - ldrsh r0, [r0, r3] - mov r10, r1 - cmp r0, 0 - bne _080AE2BC - movs r0, 0 - mov r8, r0 - movs r2, 0x1 - movs r1, 0x10 - mov r12, r1 - b _080AE2C6 - .align 2, 0 -_080AE2B8: .4byte gTasks -_080AE2BC: - movs r2, 0x10 - mov r12, r2 - movs r3, 0x8 - mov r8, r3 - movs r2, 0x4 -_080AE2C6: - mov r0, r9 - lsls r1, r0, 2 - adds r0, r1, r0 - lsls r0, 3 - add r0, r10 - movs r3, 0x1C - ldrsh r0, [r0, r3] - mov r10, r1 - cmp r0, 0xA - bhi _080AE3BC - lsls r0, 2 - ldr r1, _080AE2E4 @ =_080AE2E8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080AE2E4: .4byte _080AE2E8 - .align 2, 0 -_080AE2E8: - .4byte _080AE314 - .4byte _080AE3BC - .4byte _080AE328 - .4byte _080AE3BC - .4byte _080AE348 - .4byte _080AE3BC - .4byte _080AE35E - .4byte _080AE3BC - .4byte _080AE380 - .4byte _080AE3BC - .4byte _080AE3B4 -_080AE314: - ldr r0, _080AE324 @ =gUnknown_83E60A0 - lsls r1, r4, 16 - asrs r1, 16 - lsls r2, r6, 16 - asrs r2, 16 - mov r4, r12 - lsls r3, r4, 16 - b _080AE396 - .align 2, 0 -_080AE324: .4byte gUnknown_83E60A0 -_080AE328: - mov r0, r12 - lsls r3, r0, 17 - mov r1, r8 - adds r0, r1, r2 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - ldr r0, _080AE344 @ =gUnknown_83E60A0 - lsls r1, r4, 16 - asrs r1, 16 - lsls r2, r6, 16 - asrs r2, 16 - b _080AE396 - .align 2, 0 -_080AE344: .4byte gUnknown_83E60A0 -_080AE348: - mov r3, r12 - lsls r0, r3, 16 - asrs r0, 16 - lsls r3, r0, 1 - adds r3, r0 - lsls r0, r2, 1 - add r0, r8 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - b _080AE38A -_080AE35E: - mov r0, r12 - lsls r3, r0, 18 - lsls r0, r2, 1 - adds r0, r2 - add r0, r8 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - ldr r0, _080AE37C @ =gUnknown_83E60A0 - lsls r1, r4, 16 - asrs r1, 16 - lsls r2, r6, 16 - asrs r2, 16 - b _080AE396 - .align 2, 0 -_080AE37C: .4byte gUnknown_83E60A0 -_080AE380: - mov r1, r12 - lsls r0, r1, 16 - asrs r0, 16 - lsls r3, r0, 2 - adds r3, r0 -_080AE38A: - ldr r0, _080AE3B0 @ =gUnknown_83E60A0 - lsls r1, r4, 16 - asrs r1, 16 - lsls r2, r6, 16 - asrs r2, 16 - lsls r3, 16 -_080AE396: - asrs r3, 16 - adds r2, r3 - lsls r2, 16 - asrs r2, 16 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - b _080AE3BC - .align 2, 0 -_080AE3B0: .4byte gUnknown_83E60A0 -_080AE3B4: - mov r0, r9 - bl DestroyAnimVisualTask - b _080AE400 -_080AE3BC: - cmp r7, 0 - beq _080AE3F0 - ldr r4, _080AE410 @ =gSprites - lsls r3, r5, 4 - adds r3, r5 - lsls r3, 2 - adds r0, r3, r4 - ldrh r5, [r0, 0x4] - lsls r2, r5, 22 - lsrs r2, 22 - add r2, r8 - ldr r6, _080AE414 @ =0x000003ff - adds r1, r6, 0 - ands r2, r1 - ldr r1, _080AE418 @ =0xfffffc00 - ands r1, r5 - orrs r1, r2 - strh r1, [r0, 0x4] - mov r1, sp - ldrh r1, [r1] - strh r1, [r0, 0x2E] - adds r4, 0x1C - adds r3, r4 - ldr r1, [r3] - bl _call_via_r1 -_080AE3F0: - ldr r0, _080AE41C @ =gTasks - mov r1, r10 - add r1, r9 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x1C] - adds r0, 0x1 - strh r0, [r1, 0x1C] -_080AE400: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080AE410: .4byte gSprites -_080AE414: .4byte 0x000003ff -_080AE418: .4byte 0xfffffc00 -_080AE41C: .4byte gTasks - thumb_func_end sub_80AE278 - - thumb_func_start sub_80AE420 -sub_80AE420: @ 80AE420 - push {lr} - adds r3, r0, 0 - movs r1, 0x2E - ldrsh r0, [r3, r1] - cmp r0, 0 - bne _080AE442 - ldrb r1, [r3, 0x1] - movs r2, 0x3F - adds r0, r2, 0 - ands r0, r1 - movs r1, 0x80 - orrs r0, r1 - strb r0, [r3, 0x1] - ldrb r0, [r3, 0x3] - ands r2, r0 - strb r2, [r3, 0x3] - b _080AE456 -_080AE442: - ldrb r2, [r3, 0x1] - movs r1, 0x3F - adds r0, r1, 0 - ands r0, r2 - strb r0, [r3, 0x1] - ldrb r0, [r3, 0x3] - ands r1, r0 - movs r0, 0x40 - orrs r1, r0 - strb r1, [r3, 0x3] -_080AE456: - ldrh r0, [r3, 0x30] - adds r0, 0x1 - strh r0, [r3, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xF - bne _080AE46A - adds r0, r3, 0 - bl DestroySprite -_080AE46A: - pop {r0} - bx r0 - thumb_func_end sub_80AE420 - - thumb_func_start sub_80AE470 -sub_80AE470: @ 80AE470 - push {r4-r7,lr} - adds r4, r0, 0 - ldr r0, _080AE4D8 @ =gBattleAnimArgs - ldrh r1, [r0] - ldrh r2, [r4, 0x20] - adds r1, r2 - strh r1, [r4, 0x20] - ldrh r0, [r0, 0x2] - ldrh r3, [r4, 0x22] - adds r0, r3 - strh r0, [r4, 0x22] - ldr r0, _080AE4DC @ =gUnknown_83E60B8 - adds r1, 0x20 - lsls r1, 16 - asrs r1, 16 - movs r7, 0x22 - ldrsh r2, [r4, r7] - adds r3, r4, 0 - adds r3, 0x43 - ldrb r3, [r3] - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r3, _080AE4E0 @ =gSprites - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r6, r2, r3 - ldrh r5, [r6, 0x4] - lsls r1, r5, 22 - lsrs r1, 22 - adds r1, 0x8 - ldr r7, _080AE4E4 @ =0x000003ff - adds r0, r7, 0 - ands r1, r0 - ldr r0, _080AE4E8 @ =0xfffffc00 - ands r0, r5 - orrs r0, r1 - strh r0, [r6, 0x4] - ldr r1, _080AE4EC @ =gUnknown_2037EE2 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - adds r3, 0x1C - adds r2, r3 - ldr r0, _080AE4F0 @ =sub_80AE4F4 - str r0, [r2] - str r0, [r4, 0x1C] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080AE4D8: .4byte gBattleAnimArgs -_080AE4DC: .4byte gUnknown_83E60B8 -_080AE4E0: .4byte gSprites -_080AE4E4: .4byte 0x000003ff -_080AE4E8: .4byte 0xfffffc00 -_080AE4EC: .4byte gUnknown_2037EE2 -_080AE4F0: .4byte sub_80AE4F4 - thumb_func_end sub_80AE470 - - thumb_func_start sub_80AE4F4 -sub_80AE4F4: @ 80AE4F4 - push {lr} - adds r3, r0, 0 - ldrh r0, [r3, 0x2E] - adds r0, 0x1 - strh r0, [r3, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - bne _080AE528 - movs r0, 0 - strh r0, [r3, 0x2E] - movs r0, 0x3E - adds r0, r3 - mov r12, r0 - ldrb r2, [r0] - lsls r0, r2, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - mov r1, r12 - strb r0, [r1] -_080AE528: - ldrh r0, [r3, 0x30] - adds r0, 0x1 - strh r0, [r3, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x33 - bne _080AE53C - adds r0, r3, 0 - bl DestroyAnimSprite -_080AE53C: - pop {r0} - bx r0 - thumb_func_end sub_80AE4F4 - - thumb_func_start sub_80AE540 -sub_80AE540: @ 80AE540 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _080AE560 @ =gTasks - adds r5, r1, r0 - ldr r0, _080AE564 @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080AE56C - ldr r4, _080AE568 @ =gBattleAnimAttacker - b _080AE56E - .align 2, 0 -_080AE560: .4byte gTasks -_080AE564: .4byte gBattleAnimArgs -_080AE568: .4byte gBattleAnimAttacker -_080AE56C: - ldr r4, _080AE5B0 @ =gBattleAnimTarget -_080AE56E: - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x24] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x26] - ldr r2, _080AE5B4 @ =gBattleAnimArgs - ldrh r0, [r2, 0x2] - movs r1, 0 - strh r0, [r5, 0x14] - strh r1, [r5, 0x16] - strh r1, [r5, 0x18] - strh r1, [r5, 0x1A] - strh r1, [r5, 0x1C] - ldrh r0, [r2, 0x6] - strh r0, [r5, 0x1E] - strh r1, [r5, 0x20] - ldrh r0, [r2, 0x4] - strh r0, [r5, 0x22] - ldr r0, _080AE5B8 @ =sub_80AE5BC - str r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AE5B0: .4byte gBattleAnimTarget -_080AE5B4: .4byte gBattleAnimArgs -_080AE5B8: .4byte sub_80AE5BC - thumb_func_end sub_80AE540 - - thumb_func_start sub_80AE5BC -sub_80AE5BC: @ 80AE5BC - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - adds r2, r6, 0 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, _080AE6A4 @ =gTasks - adds r5, r0, r1 - movs r1, 0x14 - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _080AE6BC - ldrh r0, [r5, 0x20] - adds r0, 0x1 - movs r7, 0 - strh r0, [r5, 0x20] - lsls r0, 16 - asrs r0, 16 - movs r2, 0x22 - ldrsh r1, [r5, r2] - cmp r0, r1 - ble _080AE6CA - strh r7, [r5, 0x20] - ldr r0, _080AE6A8 @ =gUnknown_83E6120 - movs r3, 0x24 - ldrsh r1, [r5, r3] - movs r3, 0x26 - ldrsh r2, [r5, r3] - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _080AE6CA - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, _080AE6AC @ =gSprites - adds r4, r0 - ldr r1, _080AE6B0 @ =gUnknown_83E60D0 - movs r2, 0x1A - ldrsh r0, [r5, r2] - lsls r0, 1 - adds r0, r1 - movs r3, 0 - ldrsb r3, [r0, r3] - ldrh r0, [r4, 0x20] - adds r3, r0 - strh r3, [r4, 0x20] - movs r2, 0x1A - ldrsh r0, [r5, r2] - lsls r0, 1 - adds r1, 0x1 - adds r0, r1 - movs r2, 0 - ldrsb r2, [r0, r2] - ldrh r0, [r4, 0x22] - adds r2, r0 - strh r2, [r4, 0x22] - movs r1, 0x18 - ldrsh r0, [r5, r1] - lsls r1, r0, 2 - adds r1, r0 - movs r0, 0x28 - subs r0, r1 - strh r0, [r4, 0x2E] - strh r3, [r4, 0x30] - ldrh r0, [r5, 0x24] - strh r0, [r4, 0x32] - strh r2, [r4, 0x34] - ldrh r0, [r5, 0x26] - strh r0, [r4, 0x36] - strh r6, [r4, 0x38] - adds r0, r4, 0 - bl obj_translate_based_on_private_1_2_3_4 - ldr r1, _080AE6B4 @ =sub_80AE704 - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - ldr r0, _080AE6B8 @ =sub_8074F6C - str r0, [r4, 0x1C] - ldrh r0, [r5, 0x1A] - adds r0, 0x1 - strh r0, [r5, 0x1A] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xF - ble _080AE674 - strh r7, [r5, 0x1A] -_080AE674: - ldrh r0, [r5, 0x1C] - adds r0, 0x1 - strh r0, [r5, 0x1C] - lsls r0, 16 - asrs r0, 16 - movs r2, 0x1E - ldrsh r1, [r5, r2] - cmp r0, r1 - blt _080AE696 - strh r7, [r5, 0x1C] - ldrh r1, [r5, 0x18] - movs r3, 0x18 - ldrsh r0, [r5, r3] - cmp r0, 0x5 - bgt _080AE696 - adds r0, r1, 0x1 - strh r0, [r5, 0x18] -_080AE696: - ldrh r0, [r5, 0x16] - adds r0, 0x1 - strh r0, [r5, 0x16] - ldrh r0, [r5, 0x14] - subs r0, 0x1 - strh r0, [r5, 0x14] - b _080AE6CA - .align 2, 0 -_080AE6A4: .4byte gTasks -_080AE6A8: .4byte gUnknown_83E6120 -_080AE6AC: .4byte gSprites -_080AE6B0: .4byte gUnknown_83E60D0 -_080AE6B4: .4byte sub_80AE704 -_080AE6B8: .4byte sub_8074F6C -_080AE6BC: - movs r1, 0x16 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _080AE6CA - adds r0, r2, 0 - bl DestroyAnimVisualTask -_080AE6CA: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80AE5BC - - thumb_func_start sub_80AE6D0 -sub_80AE6D0: @ 80AE6D0 - push {r4,lr} - adds r4, r0, 0 - bl sub_80755E0 - lsls r0, 24 - cmp r0, 0 - beq _080AE6F8 - ldr r2, _080AE700 @ =gTasks - movs r0, 0x38 - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrh r1, [r0, 0x16] - subs r1, 0x1 - strh r1, [r0, 0x16] - adds r0, r4, 0 - bl DestroySprite -_080AE6F8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080AE700: .4byte gTasks - thumb_func_end sub_80AE6D0 - - thumb_func_start sub_80AE704 -sub_80AE704: @ 80AE704 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl StartSpriteAnim - ldr r0, _080AE718 @ =sub_80AE6D0 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080AE718: .4byte sub_80AE6D0 - thumb_func_end sub_80AE704 - - thumb_func_start sub_80AE71C -sub_80AE71C: @ 80AE71C - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, _080AE730 @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080AE738 - ldr r4, _080AE734 @ =gBattleAnimAttacker - b _080AE73A - .align 2, 0 -_080AE730: .4byte gBattleAnimArgs -_080AE734: .4byte gBattleAnimAttacker -_080AE738: - ldr r4, _080AE768 @ =gBattleAnimTarget -_080AE73A: - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - ldr r1, _080AE76C @ =move_anim_8074EE0 - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 - ldr r0, _080AE770 @ =sub_8074F50 - str r0, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AE768: .4byte gBattleAnimTarget -_080AE76C: .4byte move_anim_8074EE0 -_080AE770: .4byte sub_8074F50 - thumb_func_end sub_80AE71C - - thumb_func_start sub_80AE774 -sub_80AE774: @ 80AE774 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, _080AE788 @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080AE790 - ldr r4, _080AE78C @ =gBattleAnimAttacker - b _080AE792 - .align 2, 0 -_080AE788: .4byte gBattleAnimArgs -_080AE78C: .4byte gBattleAnimAttacker -_080AE790: - ldr r4, _080AE7CC @ =gBattleAnimTarget -_080AE792: - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - ldr r1, _080AE7D0 @ =gBattleAnimArgs - ldrh r0, [r1, 0x2] - strh r0, [r5, 0x24] - ldrh r0, [r1, 0x4] - strh r0, [r5, 0x26] - ldr r1, _080AE7D4 @ =DestroyAnimSprite - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 - ldr r0, _080AE7D8 @ =sub_8074F6C - str r0, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AE7CC: .4byte gBattleAnimTarget -_080AE7D0: .4byte gBattleAnimArgs -_080AE7D4: .4byte DestroyAnimSprite -_080AE7D8: .4byte sub_8074F6C - thumb_func_end sub_80AE774 - - thumb_func_start sub_80AE7DC -sub_80AE7DC: @ 80AE7DC - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - ldr r4, _080AE834 @ =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - movs r0, 0 - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x3A] - movs r0, 0x10 - strh r0, [r5, 0x3C] - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080AE82A - movs r1, 0x3C - ldrsh r0, [r5, r1] - negs r0, r0 - strh r0, [r5, 0x3C] -_080AE82A: - ldr r0, _080AE838 @ =sub_80AE83C - str r0, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AE834: .4byte gBattleAnimAttacker -_080AE838: .4byte sub_80AE83C - thumb_func_end sub_80AE7DC - - thumb_func_start sub_80AE83C -sub_80AE83C: @ 80AE83C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080AE84E - cmp r0, 0x1 - beq _080AE864 - b _080AE894 -_080AE84E: - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x28 - ble _080AE894 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _080AE894 -_080AE864: - ldrh r2, [r4, 0x3C] - ldrh r1, [r4, 0x20] - adds r0, r2, r1 - strh r0, [r4, 0x20] - ldr r3, _080AE89C @ =gSprites - movs r0, 0x3A - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r0, 0x24] - adds r2, r1 - strh r2, [r0, 0x24] - ldrh r0, [r4, 0x20] - adds r0, 0x50 - lsls r0, 16 - movs r1, 0xC8 - lsls r1, 17 - cmp r0, r1 - bls _080AE894 - adds r0, r4, 0 - bl move_anim_8074EE0 -_080AE894: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080AE89C: .4byte gSprites - thumb_func_end sub_80AE83C - - thumb_func_start sub_80AE8A0 -sub_80AE8A0: @ 80AE8A0 - push {r4-r6,lr} - lsls r0, 24 - lsrs r3, r0, 24 - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 3 - ldr r1, _080AE8C4 @ =gTasks - adds r5, r0, r1 - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _080AE934 - cmp r0, 0x1 - bgt _080AE8C8 - cmp r0, 0 - beq _080AE8D4 - b _080AEA04 - .align 2, 0 -_080AE8C4: .4byte gTasks -_080AE8C8: - cmp r0, 0x2 - beq _080AE990 - cmp r0, 0x3 - bne _080AE8D2 - b _080AE9E4 -_080AE8D2: - b _080AEA04 -_080AE8D4: - movs r0, 0 - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r0, 24 - movs r6, 0 - strh r0, [r5, 0x26] - ldr r4, _080AE908 @ =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x24] - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080AE910 - ldr r0, _080AE90C @ =0x0000ffe0 - strh r0, [r5, 0x24] - movs r0, 0x2 - b _080AE916 - .align 2, 0 -_080AE908: .4byte gBattleAnimAttacker -_080AE90C: .4byte 0x0000ffe0 -_080AE910: - movs r0, 0x20 - strh r0, [r5, 0x24] - ldr r0, _080AE92C @ =0x0000fffe -_080AE916: - strh r0, [r5, 0x22] - ldr r2, _080AE930 @ =gSprites - movs r0, 0x26 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r5, 0x24] - strh r1, [r0, 0x24] - b _080AE9D6 - .align 2, 0 -_080AE92C: .4byte 0x0000fffe -_080AE930: .4byte gSprites -_080AE934: - ldrh r0, [r5, 0xA] - adds r0, 0x1 - strh r0, [r5, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080AEA04 - movs r0, 0 - strh r0, [r5, 0xA] - ldr r4, _080AE98C @ =gSprites - movs r1, 0x26 - ldrsh r0, [r5, r1] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r4 - adds r2, 0x3E - ldrb r3, [r2] - lsls r0, r3, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2] - ldrh r1, [r5, 0x24] - movs r2, 0x24 - ldrsh r0, [r5, r2] - cmp r0, 0 - beq _080AE9D6 - ldrh r2, [r5, 0x22] - adds r2, r1, r2 - strh r2, [r5, 0x24] - movs r0, 0x26 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r2, [r0, 0x24] - b _080AEA04 - .align 2, 0 -_080AE98C: .4byte gSprites -_080AE990: - ldrh r0, [r5, 0xA] - adds r0, 0x1 - strh r0, [r5, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080AEA04 - movs r0, 0 - strh r0, [r5, 0xA] - ldr r1, _080AE9E0 @ =gSprites - movs r2, 0x26 - ldrsh r0, [r5, r2] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r1 - adds r2, 0x3E - ldrb r3, [r2] - lsls r0, r3, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2] - ldrh r0, [r5, 0xC] - adds r0, 0x1 - strh r0, [r5, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x8 - bne _080AEA04 -_080AE9D6: - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - b _080AEA04 - .align 2, 0 -_080AE9E0: .4byte gSprites -_080AE9E4: - ldr r2, _080AEA0C @ =gSprites - movs r0, 0x26 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - adds r0, r3, 0 - bl DestroyAnimVisualTask -_080AEA04: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080AEA0C: .4byte gSprites - thumb_func_end sub_80AE8A0 - - thumb_func_start sub_80AEA10 -sub_80AEA10: @ 80AEA10 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _080AEA34 @ =gTasks - adds r5, r0, r1 - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - bne _080AEA2A - b _080AEB50 -_080AEA2A: - cmp r0, 0x1 - bgt _080AEA38 - cmp r0, 0 - beq _080AEA40 - b _080AEB92 - .align 2, 0 -_080AEA34: .4byte gTasks -_080AEA38: - cmp r0, 0x2 - bne _080AEA3E - b _080AEB84 -_080AEA3E: - b _080AEB92 -_080AEA40: - ldr r4, _080AEA80 @ =gBattleAnimAttacker - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - movs r2, 0x1 - negs r2, r2 - adds r1, r2, 0 - cmp r0, 0 - bne _080AEA56 - movs r1, 0x1 -_080AEA56: - movs r6, 0 - strh r1, [r5, 0xA] - ldr r0, _080AEA84 @ =gBattleAnimArgs - movs r1, 0 - ldrsh r2, [r0, r1] - adds r3, r0, 0 - cmp r2, 0 - beq _080AEA8C - cmp r2, 0x4 - beq _080AEAB4 - ldrh r1, [r3] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080AEAEC - movs r0, 0x80 - lsls r0, 1 - strh r0, [r5, 0xE] - ldr r0, _080AEA88 @ =0x0000fff0 - b _080AEAF4 - .align 2, 0 -_080AEA80: .4byte gBattleAnimAttacker -_080AEA84: .4byte gBattleAnimArgs -_080AEA88: .4byte 0x0000fff0 -_080AEA8C: - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0xE] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x12] - movs r2, 0xA - ldrsh r0, [r5, r2] - lsls r0, 7 - adds r0, 0x78 - strh r0, [r5, 0x10] - b _080AEB2A -_080AEAB4: - movs r0, 0xA - ldrsh r1, [r5, r0] - lsls r1, 7 - movs r0, 0x78 - subs r0, r1 - strh r0, [r5, 0xE] - ldr r4, _080AEAE8 @ =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x12] - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - movs r2, 0xA - ldrsh r1, [r5, r2] - lsls r1, 5 - subs r0, r1 - strh r0, [r5, 0x10] - b _080AEB2A - .align 2, 0 -_080AEAE8: .4byte gBattleAnimTarget -_080AEAEC: - ldr r0, _080AEB10 @ =0x0000fff0 - strh r0, [r5, 0xE] - movs r0, 0x80 - lsls r0, 1 -_080AEAF4: - strh r0, [r5, 0x10] - movs r1, 0xA - ldrsh r0, [r5, r1] - cmp r0, 0x1 - bne _080AEB14 - movs r2, 0 - ldrsh r0, [r3, r2] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 1 - movs r0, 0x50 - subs r0, r1 - strh r0, [r5, 0x12] - b _080AEB2A - .align 2, 0 -_080AEB10: .4byte 0x0000fff0 -_080AEB14: - movs r0, 0 - ldrsh r1, [r3, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 1 - adds r0, 0x28 - strh r0, [r5, 0x12] - ldrh r1, [r5, 0xE] - ldrh r0, [r5, 0x10] - strh r0, [r5, 0xE] - strh r1, [r5, 0x10] -_080AEB2A: - movs r2, 0xE - ldrsh r1, [r5, r2] - movs r2, 0x10 - ldrsh r0, [r5, r2] - cmp r1, r0 - bge _080AEB40 - movs r1, 0 - movs r0, 0x1 - strh r0, [r5, 0xA] - strh r1, [r5, 0x14] - b _080AEB7C -_080AEB40: - ldr r0, _080AEB4C @ =0x0000ffff - strh r0, [r5, 0xA] - movs r0, 0x3 - strh r0, [r5, 0x14] - b _080AEB7C - .align 2, 0 -_080AEB4C: .4byte 0x0000ffff -_080AEB50: - ldrh r0, [r5, 0xC] - adds r0, 0x1 - strh r0, [r5, 0xC] - lsls r0, 16 - cmp r0, 0 - ble _080AEB92 - movs r0, 0 - strh r0, [r5, 0xC] - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_80AEB98 - lsls r0, 24 - cmp r0, 0 - bne _080AEB7C - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_80AEB98 - lsls r0, 24 - cmp r0, 0 - beq _080AEB92 -_080AEB7C: - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - b _080AEB92 -_080AEB84: - movs r1, 0x16 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _080AEB92 - adds r0, r4, 0 - bl DestroyAnimVisualTask -_080AEB92: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80AEA10 - - thumb_func_start sub_80AEB98 -sub_80AEB98: @ 80AEB98 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - ldr r0, _080AEC24 @ =gUnknown_83E6278 - movs r2, 0xE - ldrsh r1, [r4, r2] - movs r3, 0x12 - ldrsh r2, [r4, r3] - movs r3, 0x23 - bl CreateSprite - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x40 - beq _080AEBCE - ldr r1, _080AEC28 @ =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - strh r5, [r0, 0x3A] - movs r1, 0x7 - strh r1, [r0, 0x3C] - ldrh r0, [r4, 0x16] - adds r0, 0x1 - strh r0, [r4, 0x16] -_080AEBCE: - ldrh r1, [r4, 0xA] - ldrh r5, [r4, 0x14] - adds r0, r1, r5 - strh r0, [r4, 0x14] - lsls r0, 16 - cmp r0, 0 - bge _080AEBE0 - movs r0, 0x3 - strh r0, [r4, 0x14] -_080AEBE0: - movs r2, 0x14 - ldrsh r0, [r4, r2] - cmp r0, 0x3 - ble _080AEBEC - movs r0, 0 - strh r0, [r4, 0x14] -_080AEBEC: - movs r3, 0xA - ldrsh r0, [r4, r3] - lsls r0, 4 - ldrh r5, [r4, 0xE] - adds r2, r0, r5 - strh r2, [r4, 0xE] - lsls r0, r1, 16 - asrs r3, r0, 16 - cmp r3, 0x1 - bne _080AEC0C - lsls r0, r2, 16 - asrs r0, 16 - movs r5, 0x10 - ldrsh r1, [r4, r5] - cmp r0, r1 - bge _080AEC20 -_080AEC0C: - movs r0, 0x1 - negs r0, r0 - cmp r3, r0 - bne _080AEC2C - lsls r0, r2, 16 - asrs r0, 16 - movs r2, 0x10 - ldrsh r1, [r4, r2] - cmp r0, r1 - bgt _080AEC2C -_080AEC20: - movs r0, 0x1 - b _080AEC2E - .align 2, 0 -_080AEC24: .4byte gUnknown_83E6278 -_080AEC28: .4byte gSprites -_080AEC2C: - movs r0, 0 -_080AEC2E: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80AEB98 - - thumb_func_start sub_80AEC34 -sub_80AEC34: @ 80AEC34 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xC - ble _080AEC74 - ldr r3, _080AEC7C @ =gTasks - movs r0, 0x3C - ldrsh r1, [r4, r0] - lsls r1, 1 - movs r0, 0x3A - ldrsh r2, [r4, r0] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r3, 0x8 - adds r1, r3 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - adds r0, r4, 0 - bl DestroySprite -_080AEC74: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080AEC7C: .4byte gTasks - thumb_func_end sub_80AEC34 - - thumb_func_start sub_80AEC80 -sub_80AEC80: @ 80AEC80 - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x2E - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _080AEC92 - cmp r0, 0x1 - beq _080AECC4 - b _080AECD8 -_080AEC92: - ldr r4, _080AECC0 @ =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - adds r0, r5, 0 - movs r1, 0x2 - bl StartSpriteAffineAnim - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - b _080AECD8 - .align 2, 0 -_080AECC0: .4byte gBattleAnimAttacker -_080AECC4: - adds r0, r5, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080AECD8 - adds r0, r5, 0 - bl move_anim_8074EE0 -_080AECD8: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80AEC80 - - thumb_func_start sub_80AECE0 -sub_80AECE0: @ 80AECE0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, _080AED04 @ =gTasks - adds r5, r0, r1 - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0x4 - bls _080AECFA - b _080AEE6C -_080AECFA: - lsls r0, 2 - ldr r1, _080AED08 @ =_080AED0C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080AED04: .4byte gTasks -_080AED08: .4byte _080AED0C - .align 2, 0 -_080AED0C: - .4byte _080AED20 - .4byte _080AEDB0 - .4byte _080AEDEC - .4byte _080AEE48 - .4byte _080AEE58 -_080AED20: - ldr r4, _080AEDA4 @ =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x14] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x16] - movs r0, 0x4 - strh r0, [r5, 0x18] - ldr r0, _080AEDA8 @ =gBattleAnimTarget - ldrb r0, [r0] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x1C] - movs r2, 0x1C - ldrsh r0, [r5, r2] - movs r2, 0x14 - ldrsh r1, [r5, r2] - subs r0, r1 - movs r1, 0x5 - bl __divsi3 - strh r0, [r5, 0x1A] - movs r0, 0x7 - strh r0, [r5, 0x10] - ldr r0, _080AEDAC @ =0x0000ffff - strh r0, [r5, 0x12] - movs r0, 0xC - strh r0, [r5, 0x1E] - subs r0, 0x4C - bl sub_8073A44 - lsls r0, 24 - asrs r0, 24 - strh r0, [r5, 0x20] - movs r0, 0x3F - bl sub_8073A44 - lsls r0, 24 - asrs r0, 24 - strh r0, [r5, 0x22] - ldrh r0, [r5, 0x20] - strh r0, [r5, 0x24] - movs r1, 0x22 - ldrsh r0, [r5, r1] - movs r2, 0x20 - ldrsh r1, [r5, r2] - subs r0, r1 - movs r1, 0x3 - bl __divsi3 - strh r0, [r5, 0x26] - ldrh r0, [r5, 0x8] - adds r0, 0x1 - b _080AEE6A - .align 2, 0 -_080AEDA4: .4byte gBattleAnimAttacker -_080AEDA8: .4byte gBattleAnimTarget -_080AEDAC: .4byte 0x0000ffff -_080AEDB0: - ldrh r0, [r5, 0xA] - adds r0, 0x1 - strh r0, [r5, 0xA] - lsls r0, 16 - cmp r0, 0 - ble _080AEDE0 - movs r0, 0 - strh r0, [r5, 0xA] - adds r0, r5, 0 - adds r1, r2, 0 - bl sub_80AEE74 - lsls r0, 24 - cmp r0, 0 - beq _080AEDE0 - movs r1, 0xC - ldrsh r0, [r5, r1] - cmp r0, 0x5 - bne _080AEDDA - movs r0, 0x3 - b _080AEDDE -_080AEDDA: - ldrh r0, [r5, 0x8] - adds r0, 0x1 -_080AEDDE: - strh r0, [r5, 0x8] -_080AEDE0: - ldrh r1, [r5, 0x1E] - movs r2, 0x1E - ldrsh r0, [r5, r2] - cmp r0, 0 - beq _080AEE6C - b _080AEE62 -_080AEDEC: - ldrh r1, [r5, 0x1E] - movs r2, 0x1E - ldrsh r0, [r5, r2] - cmp r0, 0 - beq _080AEDFA - subs r0, r1, 0x1 - strh r0, [r5, 0x1E] -_080AEDFA: - ldrh r0, [r5, 0xA] - adds r0, 0x1 - movs r3, 0 - strh r0, [r5, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _080AEE6C - strh r3, [r5, 0xA] - ldrh r1, [r5, 0xC] - movs r2, 0x1 - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - beq _080AEE26 - movs r0, 0x4 - strh r0, [r5, 0x16] - movs r0, 0x44 - strh r0, [r5, 0x18] - strh r3, [r5, 0x10] - strh r2, [r5, 0x12] - b _080AEE36 -_080AEE26: - movs r0, 0x44 - strh r0, [r5, 0x16] - movs r0, 0x4 - strh r0, [r5, 0x18] - movs r0, 0x7 - strh r0, [r5, 0x10] - ldr r0, _080AEE44 @ =0x0000ffff - strh r0, [r5, 0x12] -_080AEE36: - movs r1, 0x1E - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _080AEE68 - movs r0, 0x4 - b _080AEE6A - .align 2, 0 -_080AEE44: .4byte 0x0000ffff -_080AEE48: - movs r1, 0xE - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _080AEE6C - adds r0, r2, 0 - bl DestroyAnimVisualTask - b _080AEE6C -_080AEE58: - ldrh r1, [r5, 0x1E] - movs r2, 0x1E - ldrsh r0, [r5, r2] - cmp r0, 0 - beq _080AEE68 -_080AEE62: - subs r0, r1, 0x1 - strh r0, [r5, 0x1E] - b _080AEE6C -_080AEE68: - movs r0, 0x1 -_080AEE6A: - strh r0, [r5, 0x8] -_080AEE6C: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80AECE0 - - thumb_func_start sub_80AEE74 -sub_80AEE74: @ 80AEE74 - push {r4-r6,lr} - adds r4, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - ldr r0, _080AEF3C @ =gUnknown_83E62A8 - movs r2, 0x14 - ldrsh r1, [r4, r2] - movs r3, 0x16 - ldrsh r2, [r4, r3] - movs r3, 0x23 - bl CreateSprite - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x40 - beq _080AEEE0 - ldr r1, _080AEF40 @ =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r3, r0, r1 - ldrh r2, [r3, 0x4] - lsls r1, r2, 22 - lsrs r1, 22 - ldrh r6, [r4, 0x10] - adds r1, r6 - ldr r6, _080AEF44 @ =0x000003ff - adds r0, r6, 0 - ands r1, r0 - ldr r0, _080AEF48 @ =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r3, 0x4] - ldrh r0, [r4, 0x12] - ldrh r1, [r4, 0x10] - adds r0, r1 - strh r0, [r4, 0x10] - lsls r0, 16 - cmp r0, 0 - bge _080AEEC8 - movs r0, 0x7 - strh r0, [r4, 0x10] -_080AEEC8: - movs r2, 0x10 - ldrsh r0, [r4, r2] - cmp r0, 0x7 - ble _080AEED4 - movs r0, 0 - strh r0, [r4, 0x10] -_080AEED4: - strh r5, [r3, 0x3A] - movs r0, 0x3 - strh r0, [r3, 0x3C] - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] -_080AEEE0: - movs r3, 0x10 - ldrsh r0, [r4, r3] - cmp r0, 0 - bne _080AEF02 - movs r5, 0x12 - ldrsh r0, [r4, r5] - cmp r0, 0 - ble _080AEF02 - ldrh r1, [r4, 0x26] - ldrh r6, [r4, 0x24] - adds r1, r6 - strh r1, [r4, 0x24] - lsls r1, 24 - asrs r1, 24 - movs r0, 0x6F - bl PlaySE12WithPanning -_080AEF02: - movs r0, 0x12 - ldrsh r3, [r4, r0] - ldrh r2, [r4, 0x16] - cmp r3, 0 - bge _080AEF18 - lsls r0, r2, 16 - asrs r0, 16 - movs r5, 0x18 - ldrsh r1, [r4, r5] - cmp r0, r1 - ble _080AEF28 -_080AEF18: - cmp r3, 0 - ble _080AEF4C - lsls r0, r2, 16 - asrs r0, 16 - movs r6, 0x18 - ldrsh r1, [r4, r6] - cmp r0, r1 - blt _080AEF4C -_080AEF28: - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - ldrh r0, [r4, 0x1A] - ldrh r1, [r4, 0x14] - adds r0, r1 - strh r0, [r4, 0x14] - movs r0, 0x1 - b _080AEF58 - .align 2, 0 -_080AEF3C: .4byte gUnknown_83E62A8 -_080AEF40: .4byte gSprites -_080AEF44: .4byte 0x000003ff -_080AEF48: .4byte 0xfffffc00 -_080AEF4C: - movs r3, 0x12 - ldrsh r0, [r4, r3] - lsls r0, 3 - adds r0, r2, r0 - strh r0, [r4, 0x16] - movs r0, 0 -_080AEF58: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80AEE74 - - thumb_func_start sub_80AEF60 -sub_80AEF60: @ 80AEF60 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xC - ble _080AEF96 - ldr r3, _080AEF9C @ =gTasks - movs r0, 0x3C - ldrsh r1, [r4, r0] - lsls r1, 1 - movs r0, 0x3A - ldrsh r2, [r4, r0] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r3, 0x8 - adds r1, r3 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - adds r0, r4, 0 - bl DestroySprite -_080AEF96: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080AEF9C: .4byte gTasks - thumb_func_end sub_80AEF60 - - thumb_func_start sub_80AEFA0 -sub_80AEFA0: @ 80AEFA0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, _080AEFC4 @ =gTasks - adds r5, r0, r1 - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _080AF01C - cmp r0, 0x1 - bgt _080AEFC8 - cmp r0, 0 - beq _080AEFCE - b _080AF052 - .align 2, 0 -_080AEFC4: .4byte gTasks -_080AEFC8: - cmp r0, 0x2 - beq _080AF044 - b _080AF052 -_080AEFCE: - ldr r0, _080AF018 @ =gBattleAnimTarget - ldrb r0, [r0] - movs r1, 0x1 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x20 - strh r0, [r5, 0x26] - strh r0, [r5, 0x24] - cmp r0, 0x10 - ble _080AEFF8 - adds r2, r0, 0 -_080AEFE8: - adds r1, r2, 0 - subs r1, 0x20 - adds r2, r1, 0 - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0x10 - bgt _080AEFE8 - strh r1, [r5, 0x24] -_080AEFF8: - ldr r4, _080AF018 @ =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - ldrb r0, [r4] - bl sub_807685C - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x2 - strh r0, [r5, 0x20] - b _080AF03C - .align 2, 0 -_080AF018: .4byte gBattleAnimTarget -_080AF01C: - ldrh r0, [r5, 0xA] - adds r0, 0x1 - strh r0, [r5, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080AF052 - movs r0, 0 - strh r0, [r5, 0xA] - adds r0, r5, 0 - adds r1, r2, 0 - bl sub_80AF058 - lsls r0, 24 - cmp r0, 0 - beq _080AF052 -_080AF03C: - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - b _080AF052 -_080AF044: - movs r1, 0x1C - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _080AF052 - adds r0, r2, 0 - bl DestroyAnimVisualTask -_080AF052: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80AEFA0 - thumb_func_start sub_80AF058 sub_80AF058: @ 80AF058 push {r4,r5,lr} diff --git a/asm/battle_anim_effects_1.s b/asm/battle_anim_effects_1.s new file mode 100644 index 000000000..d9df7add2 --- /dev/null +++ b/asm/battle_anim_effects_1.s @@ -0,0 +1,9882 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start sub_80A22E8 +sub_80A22E8: @ 80A22E8 + push {r4,r5,lr} + adds r4, r0, 0 + ldr r5, _080A231C @ =gBattleAnimArgs + ldrh r0, [r5] + ldrh r1, [r4, 0x20] + adds r0, r1 + strh r0, [r4, 0x20] + ldrh r0, [r5, 0x2] + ldrh r1, [r4, 0x22] + adds r0, r1 + strh r0, [r4, 0x22] + ldrh r0, [r5, 0x4] + strh r0, [r4, 0x2E] + ldrh r0, [r5, 0x6] + strh r0, [r4, 0x30] + ldr r0, _080A2320 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080A2324 + ldrh r0, [r5, 0x8] + negs r0, r0 + b _080A2326 + .align 2, 0 +_080A231C: .4byte gBattleAnimArgs +_080A2320: .4byte gBattleAnimAttacker +_080A2324: + ldrh r0, [r5, 0x8] +_080A2326: + strh r0, [r4, 0x34] + ldr r0, _080A2338 @ =gBattleAnimArgs + ldrh r0, [r0, 0xA] + strh r0, [r4, 0x36] + ldr r0, _080A233C @ =sub_80A2340 + str r0, [r4, 0x1C] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A2338: .4byte gBattleAnimArgs +_080A233C: .4byte sub_80A2340 + thumb_func_end sub_80A22E8 + + thumb_func_start sub_80A2340 +sub_80A2340: @ 80A2340 + push {r4,lr} + adds r4, r0, 0 + ldrh r1, [r4, 0x2E] + movs r2, 0x2E + ldrsh r0, [r4, r2] + cmp r0, 0 + ble _080A237C + subs r0, r1, 0x1 + strh r0, [r4, 0x2E] + ldrh r1, [r4, 0x32] + lsls r0, r1, 16 + asrs r0, 24 + strh r0, [r4, 0x26] + ldrh r0, [r4, 0x30] + adds r1, r0 + strh r1, [r4, 0x32] + movs r1, 0x38 + ldrsh r0, [r4, r1] + movs r2, 0x34 + ldrsh r1, [r4, r2] + bl Sin + strh r0, [r4, 0x24] + ldrh r0, [r4, 0x36] + ldrh r1, [r4, 0x38] + adds r0, r1 + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0x38] + b _080A2382 +_080A237C: + adds r0, r4, 0 + bl DestroyAnimSprite +_080A2382: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80A2340 + + thumb_func_start sub_80A2388 +sub_80A2388: @ 80A2388 + push {r4,r5,lr} + adds r4, r0, 0 + movs r1, 0x1 + bl sub_8075160 + ldr r0, _080A23C8 @ =gBattleAnimArgs + ldrh r0, [r0, 0x4] + strh r0, [r4, 0x2E] + ldr r5, _080A23CC @ =gBattleAnimAttacker + ldrb r0, [r5] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x32] + ldrb r0, [r5] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x36] + ldr r0, _080A23D0 @ =sub_8075590 + str r0, [r4, 0x1C] + ldr r1, _080A23D4 @ =move_anim_8074EE0 + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A23C8: .4byte gBattleAnimArgs +_080A23CC: .4byte gBattleAnimAttacker +_080A23D0: .4byte sub_8075590 +_080A23D4: .4byte move_anim_8074EE0 + thumb_func_end sub_80A2388 + + thumb_func_start sub_80A23D8 +sub_80A23D8: @ 80A23D8 + push {r4,r5,lr} + adds r4, r0, 0 + movs r1, 0x1 + bl sub_8075160 + ldr r5, _080A2420 @ =gBattleAnimArgs + ldrb r1, [r5, 0x6] + adds r0, r4, 0 + bl StartSpriteAnim + ldrh r0, [r5, 0x4] + strh r0, [r4, 0x2E] + ldr r5, _080A2424 @ =gBattleAnimTarget + ldrb r0, [r5] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x32] + ldrb r0, [r5] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x36] + ldr r0, _080A2428 @ =sub_8075590 + str r0, [r4, 0x1C] + ldr r1, _080A242C @ =DestroyAnimSprite + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A2420: .4byte gBattleAnimArgs +_080A2424: .4byte gBattleAnimTarget +_080A2428: .4byte sub_8075590 +_080A242C: .4byte DestroyAnimSprite + thumb_func_end sub_80A23D8 + + thumb_func_start sub_80A2430 +sub_80A2430: @ 80A2430 + push {r4-r6,lr} + adds r4, r0, 0 + movs r1, 0x1 + bl sub_8075160 + ldr r6, _080A2480 @ =gBattleAnimArgs + ldrh r0, [r6, 0x4] + strh r0, [r4, 0x2E] + ldrh r0, [r4, 0x20] + strh r0, [r4, 0x30] + ldr r5, _080A2484 @ =gBattleAnimTarget + ldrb r0, [r5] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x32] + ldrh r0, [r4, 0x22] + strh r0, [r4, 0x34] + ldrb r0, [r5] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x36] + adds r0, r4, 0 + bl obj_translate_based_on_private_1_2_3_4 + ldrh r0, [r6, 0x6] + strh r0, [r4, 0x38] + ldr r1, _080A2488 @ =sub_80A248C + str r1, [r4, 0x1C] + adds r0, r4, 0 + bl _call_via_r1 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080A2480: .4byte gBattleAnimArgs +_080A2484: .4byte gBattleAnimTarget +_080A2488: .4byte sub_80A248C + thumb_func_end sub_80A2430 + + thumb_func_start sub_80A248C +sub_80A248C: @ 80A248C + push {r4,lr} + adds r4, r0, 0 + bl sub_80755E0 + lsls r0, 24 + cmp r0, 0 + beq _080A24A2 + adds r0, r4, 0 + bl DestroySprite + b _080A24F6 +_080A24A2: + movs r1, 0x38 + ldrsh r0, [r4, r1] + cmp r0, 0x7F + ble _080A24BC + ldr r0, _080A24B8 @ =gBattleAnimTarget + ldrb r0, [r0] + bl sub_807685C + adds r0, 0x1 + b _080A24C6 + .align 2, 0 +_080A24B8: .4byte gBattleAnimTarget +_080A24BC: + ldr r0, _080A24FC @ =gBattleAnimTarget + ldrb r0, [r0] + bl sub_807685C + adds r0, 0x6 +_080A24C6: + adds r1, r4, 0 + adds r1, 0x43 + strb r0, [r1] + movs r1, 0x38 + ldrsh r0, [r4, r1] + movs r1, 0x5 + bl Sin + ldrh r1, [r4, 0x24] + adds r0, r1 + strh r0, [r4, 0x24] + movs r1, 0x38 + ldrsh r0, [r4, r1] + movs r1, 0xE + bl Cos + ldrh r1, [r4, 0x26] + adds r0, r1 + strh r0, [r4, 0x26] + ldrh r0, [r4, 0x38] + adds r0, 0xF + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0x38] +_080A24F6: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A24FC: .4byte gBattleAnimTarget + thumb_func_end sub_80A248C + + thumb_func_start sub_80A2500 +sub_80A2500: @ 80A2500 + push {r4-r6,lr} + lsls r0, 24 + lsrs r0, 24 + adds r6, r0, 0 + ldr r1, _080A2570 @ =gTasks + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + adds r5, r0, r1 + ldrh r0, [r5, 0x8] + subs r0, 0x1 + movs r2, 0 + strh r0, [r5, 0x8] + lsls r0, 16 + asrs r0, 16 + movs r1, 0x1 + negs r1, r1 + cmp r0, r1 + bne _080A255A + ldrh r0, [r5, 0xA] + adds r0, 0x1 + strh r0, [r5, 0xA] + movs r0, 0x6 + strh r0, [r5, 0x8] + ldr r1, _080A2574 @ =gBattleAnimArgs + movs r0, 0xF + strh r0, [r1] + strh r2, [r1, 0x2] + movs r0, 0x50 + strh r0, [r1, 0x4] + strh r2, [r1, 0x6] + ldr r4, _080A2578 @ =gUnknown_83E2A88 + ldr r0, _080A257C @ =gBattleAnimTarget + ldrb r0, [r0] + bl sub_807685C + adds r3, r0, 0 + adds r3, 0x1 + lsls r3, 24 + lsrs r3, 24 + adds r0, r4, 0 + movs r1, 0 + movs r2, 0 + bl CreateSpriteAndAnimate +_080A255A: + movs r1, 0xA + ldrsh r0, [r5, r1] + cmp r0, 0xF + bne _080A2568 + adds r0, r6, 0 + bl DestroyAnimVisualTask +_080A2568: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080A2570: .4byte gTasks +_080A2574: .4byte gBattleAnimArgs +_080A2578: .4byte gUnknown_83E2A88 +_080A257C: .4byte gBattleAnimTarget + thumb_func_end sub_80A2500 + + thumb_func_start sub_80A2580 +sub_80A2580: @ 80A2580 + push {r4-r6,lr} + adds r4, r0, 0 + movs r1, 0x1 + bl sub_8075114 + ldr r6, _080A25C4 @ =gBattleAnimArgs + ldrh r0, [r6, 0x6] + strh r0, [r4, 0x2E] + ldr r5, _080A25C8 @ =gBattleAnimAttacker + ldrb r0, [r5] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x32] + ldrb r0, [r5] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x36] + ldrh r0, [r6, 0x4] + strh r0, [r4, 0x38] + adds r0, r4, 0 + bl sub_8075068 + ldr r0, _080A25CC @ =sub_80A25D0 + str r0, [r4, 0x1C] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080A25C4: .4byte gBattleAnimArgs +_080A25C8: .4byte gBattleAnimAttacker +_080A25CC: .4byte sub_80A25D0 + thumb_func_end sub_80A2580 + + thumb_func_start sub_80A25D0 +sub_80A25D0: @ 80A25D0 + push {r4,lr} + adds r4, r0, 0 + bl AnimateBallThrow + lsls r0, 24 + cmp r0, 0 + beq _080A25E4 + adds r0, r4, 0 + bl DestroyAnimSprite +_080A25E4: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80A25D0 + + thumb_func_start sub_80A25EC +sub_80A25EC: @ 80A25EC + push {r4,r5,lr} + adds r5, r0, 0 + bl Random + adds r1, r0, 0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x7 + ands r1, r0 + adds r0, r5, 0 + bl StartSpriteAnim + ldr r4, _080A2634 @ =gBattleAnimAttacker + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x20] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x22] + ldrb r0, [r4] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080A2638 + ldrh r0, [r5, 0x20] + subs r0, 0x14 + b _080A263C + .align 2, 0 +_080A2634: .4byte gBattleAnimAttacker +_080A2638: + ldrh r0, [r5, 0x20] + adds r0, 0x14 +_080A263C: + strh r0, [r5, 0x20] + bl Random + lsls r0, 16 + lsrs r0, 16 + movs r1, 0x1F + ands r0, r1 + adds r0, 0x40 + strh r0, [r5, 0x2E] + ldrh r0, [r5, 0x20] + strh r0, [r5, 0x30] + ldr r4, _080A269C @ =gBattleAnimTarget + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x32] + ldrh r0, [r5, 0x22] + strh r0, [r5, 0x34] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x36] + adds r0, r5, 0 + bl sub_8075804 + bl Random + movs r1, 0xFF + ands r1, r0 + strh r1, [r5, 0x38] + adds r0, r5, 0 + adds r0, 0x43 + ldrb r0, [r0] + strh r0, [r5, 0x3A] + ldr r1, _080A26A0 @ =sub_80A26A4 + str r1, [r5, 0x1C] + adds r0, r5, 0 + bl _call_via_r1 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A269C: .4byte gBattleAnimTarget +_080A26A0: .4byte sub_80A26A4 + thumb_func_end sub_80A25EC + + thumb_func_start sub_80A26A4 +sub_80A26A4: @ 80A26A4 + push {r4,lr} + adds r4, r0, 0 + bl sub_807578C + lsls r0, 24 + cmp r0, 0 + beq _080A26BA + adds r0, r4, 0 + bl DestroyAnimSprite + b _080A26EA +_080A26BA: + movs r1, 0x38 + ldrsh r0, [r4, r1] + movs r1, 0xC + bl Cos + ldrh r1, [r4, 0x26] + adds r0, r1 + strh r0, [r4, 0x26] + movs r1, 0x38 + ldrsh r0, [r4, r1] + cmp r0, 0x7E + bgt _080A26D6 + ldrh r0, [r4, 0x3A] + b _080A26DA +_080A26D6: + ldrh r0, [r4, 0x3A] + adds r0, 0x1 +_080A26DA: + adds r1, r4, 0 + adds r1, 0x43 + strb r0, [r1] + ldrh r0, [r4, 0x38] + adds r0, 0x18 + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0x38] +_080A26EA: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80A26A4 + + thumb_func_start sub_80A26F0 +sub_80A26F0: @ 80A26F0 + push {r4-r6,lr} + adds r6, r0, 0 + movs r1, 0x1 + bl sub_8075160 + ldr r0, _080A2750 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080A2710 + ldr r1, _080A2754 @ =gBattleAnimArgs + ldrh r0, [r1, 0x4] + negs r0, r0 + strh r0, [r1, 0x4] +_080A2710: + ldr r4, _080A2754 @ =gBattleAnimArgs + ldrh r0, [r4, 0x8] + strh r0, [r6, 0x2E] + ldr r5, _080A2758 @ =gBattleAnimTarget + ldrb r0, [r5] + movs r1, 0 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r1, [r4, 0x4] + adds r0, r1 + strh r0, [r6, 0x32] + ldrb r0, [r5] + movs r1, 0x1 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r1, [r4, 0x6] + adds r0, r1 + strh r0, [r6, 0x36] + ldrh r0, [r4, 0xA] + strh r0, [r6, 0x38] + adds r0, r6, 0 + bl sub_8075068 + ldr r0, _080A275C @ =sub_80A2760 + str r0, [r6, 0x1C] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080A2750: .4byte gBattleAnimAttacker +_080A2754: .4byte gBattleAnimArgs +_080A2758: .4byte gBattleAnimTarget +_080A275C: .4byte sub_80A2760 + thumb_func_end sub_80A26F0 + + thumb_func_start sub_80A2760 +sub_80A2760: @ 80A2760 + push {r4,lr} + adds r4, r0, 0 + bl AnimateBallThrow + lsls r0, 24 + cmp r0, 0 + beq _080A278A + adds r2, r4, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] + movs r0, 0xA + strh r0, [r4, 0x2E] + ldr r0, _080A2790 @ =sub_8074C44 + str r0, [r4, 0x1C] + ldr r1, _080A2794 @ =sub_80A2798 + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 +_080A278A: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A2790: .4byte sub_8074C44 +_080A2794: .4byte sub_80A2798 + thumb_func_end sub_80A2760 + + thumb_func_start sub_80A2798 +sub_80A2798: @ 80A2798 + push {r4,lr} + adds r4, r0, 0 + adds r2, r4, 0 + adds r2, 0x3E + ldrb r1, [r2] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + strb r0, [r2] + adds r0, r4, 0 + movs r1, 0x1 + bl StartSpriteAnim + movs r0, 0x3C + strh r0, [r4, 0x2E] + ldr r0, _080A27C8 @ =sub_8074C44 + str r0, [r4, 0x1C] + ldr r1, _080A27CC @ =DestroyAnimSprite + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A27C8: .4byte sub_8074C44 +_080A27CC: .4byte DestroyAnimSprite + thumb_func_end sub_80A2798 + + thumb_func_start sub_80A27D0 +sub_80A27D0: @ 80A27D0 + push {r4,r5,lr} + adds r4, r0, 0 + movs r1, 0x1 + bl sub_8075114 + ldr r5, _080A2814 @ =gBattleAnimArgs + ldrb r1, [r5, 0x8] + adds r0, r4, 0 + bl StartSpriteAnim + movs r1, 0x8 + ldrsh r0, [r5, r1] + cmp r0, 0x1 + bne _080A27FA + ldrb r0, [r4, 0x1] + movs r1, 0xD + negs r1, r1 + ands r1, r0 + movs r0, 0x4 + orrs r1, r0 + strb r1, [r4, 0x1] +_080A27FA: + ldrh r0, [r5, 0x6] + strh r0, [r4, 0x2E] + ldrh r0, [r5, 0x4] + strh r0, [r4, 0x30] + ldr r1, _080A2818 @ =sub_80A281C + str r1, [r4, 0x1C] + adds r0, r4, 0 + bl _call_via_r1 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A2814: .4byte gBattleAnimArgs +_080A2818: .4byte sub_80A281C + thumb_func_end sub_80A27D0 + + thumb_func_start sub_80A281C +sub_80A281C: @ 80A281C + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x30 + ldrsh r0, [r4, r1] + movs r1, 0x20 + bl Sin + strh r0, [r4, 0x24] + movs r1, 0x30 + ldrsh r0, [r4, r1] + movs r1, 0x3 + negs r1, r1 + bl Cos + ldrh r1, [r4, 0x32] + adds r1, 0x18 + strh r1, [r4, 0x32] + lsls r1, 16 + asrs r1, 24 + adds r0, r1 + strh r0, [r4, 0x26] + ldrh r0, [r4, 0x30] + subs r0, 0x40 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x7F + bhi _080A2870 + ldr r0, _080A286C @ =gBattleAnimTarget + ldrb r0, [r0] + bl sub_8076884 + movs r1, 0x3 + ands r1, r0 + lsls r1, 2 + ldrb r2, [r4, 0x5] + movs r0, 0xD + negs r0, r0 + ands r0, r2 + orrs r0, r1 + b _080A2894 + .align 2, 0 +_080A286C: .4byte gBattleAnimTarget +_080A2870: + ldr r0, _080A28C0 @ =gBattleAnimTarget + ldrb r0, [r0] + bl sub_8076884 + adds r0, 0x1 + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0x3 + bls _080A2884 + movs r2, 0x3 +_080A2884: + movs r0, 0x3 + ands r2, r0 + lsls r2, 2 + ldrb r1, [r4, 0x5] + movs r0, 0xD + negs r0, r0 + ands r0, r1 + orrs r0, r2 +_080A2894: + strb r0, [r4, 0x5] + ldrh r0, [r4, 0x30] + adds r0, 0x2 + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0x30] + ldrh r0, [r4, 0x2E] + subs r0, 0x1 + strh r0, [r4, 0x2E] + lsls r0, 16 + asrs r0, 16 + movs r1, 0x1 + negs r1, r1 + cmp r0, r1 + bne _080A28B8 + adds r0, r4, 0 + bl DestroyAnimSprite +_080A28B8: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A28C0: .4byte gBattleAnimTarget + thumb_func_end sub_80A281C + + thumb_func_start sub_80A28C4 +sub_80A28C4: @ 80A28C4 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080A28DE + bl sub_8075290 + lsls r0, 24 + cmp r0, 0 + bne _080A28E6 +_080A28DE: + adds r0, r4, 0 + bl DestroyAnimVisualTask + b _080A2918 +_080A28E6: + ldr r0, _080A2904 @ =gBattleAnimTarget + ldrb r0, [r0] + bl sub_80768B0 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080A2908 + movs r0, 0x2 + movs r1, 0x4 + movs r2, 0x3 + bl SetAnimBgAttribute + b _080A2912 + .align 2, 0 +_080A2904: .4byte gBattleAnimTarget +_080A2908: + movs r0, 0x1 + movs r1, 0x4 + movs r2, 0x1 + bl SetAnimBgAttribute +_080A2912: + adds r0, r4, 0 + bl DestroyAnimVisualTask +_080A2918: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80A28C4 + + thumb_func_start sub_80A2920 +sub_80A2920: @ 80A2920 + push {r4,r5,lr} + adds r4, r0, 0 + movs r1, 0 + bl sub_8075160 + ldr r5, _080A2968 @ =gBattleAnimArgs + ldrh r0, [r5, 0x6] + strh r0, [r4, 0x2E] + ldrh r0, [r4, 0x20] + strh r0, [r4, 0x30] + strh r0, [r4, 0x32] + ldrh r0, [r4, 0x22] + strh r0, [r4, 0x34] + ldr r0, _080A296C @ =gBattleAnimAttacker + ldrb r0, [r0] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r5, [r5, 0x4] + adds r0, r5 + strh r0, [r4, 0x36] + adds r0, r4, 0 + bl obj_translate_based_on_private_1_2_3_4 + movs r0, 0x40 + strh r0, [r4, 0x38] + ldr r1, _080A2970 @ =sub_80A2974 + str r1, [r4, 0x1C] + adds r0, r4, 0 + bl _call_via_r1 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A2968: .4byte gBattleAnimArgs +_080A296C: .4byte gBattleAnimAttacker +_080A2970: .4byte sub_80A2974 + thumb_func_end sub_80A2920 + + thumb_func_start sub_80A2974 +sub_80A2974: @ 80A2974 + push {r4,lr} + adds r4, r0, 0 + bl sub_80755E0 + lsls r0, 24 + cmp r0, 0 + bne _080A29E0 + movs r1, 0x38 + ldrsh r0, [r4, r1] + movs r1, 0x20 + bl Sin + ldrh r1, [r4, 0x24] + adds r0, r1 + strh r0, [r4, 0x24] + movs r1, 0x38 + ldrsh r0, [r4, r1] + movs r1, 0x5 + negs r1, r1 + bl Cos + ldrh r1, [r4, 0x26] + adds r0, r1 + strh r0, [r4, 0x26] + ldrh r0, [r4, 0x38] + subs r0, 0x40 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x7F + bhi _080A29C0 + ldr r0, _080A29BC @ =gBattleAnimAttacker + ldrb r0, [r0] + bl sub_807685C + subs r0, 0x1 + b _080A29CA + .align 2, 0 +_080A29BC: .4byte gBattleAnimAttacker +_080A29C0: + ldr r0, _080A29DC @ =gBattleAnimAttacker + ldrb r0, [r0] + bl sub_807685C + adds r0, 0x1 +_080A29CA: + adds r1, r4, 0 + adds r1, 0x43 + strb r0, [r1] + ldrh r0, [r4, 0x38] + adds r0, 0x5 + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0x38] + b _080A29E6 + .align 2, 0 +_080A29DC: .4byte gBattleAnimAttacker +_080A29E0: + adds r0, r4, 0 + bl DestroyAnimSprite +_080A29E6: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80A2974 + + thumb_func_start sub_80A29EC +sub_80A29EC: @ 80A29EC + push {r4,r5,lr} + adds r4, r0, 0 + movs r1, 0x1 + bl sub_8075160 + ldr r5, _080A2A34 @ =gBattleAnimArgs + ldrh r0, [r5, 0x6] + strh r0, [r4, 0x2E] + ldrh r0, [r4, 0x20] + strh r0, [r4, 0x30] + strh r0, [r4, 0x32] + ldrh r0, [r4, 0x22] + strh r0, [r4, 0x34] + ldr r0, _080A2A38 @ =gBattleAnimAttacker + ldrb r0, [r0] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r5, [r5, 0x4] + adds r0, r5 + strh r0, [r4, 0x36] + adds r0, r4, 0 + bl obj_translate_based_on_private_1_2_3_4 + movs r0, 0x40 + strh r0, [r4, 0x38] + ldr r1, _080A2A3C @ =sub_80A2A40 + str r1, [r4, 0x1C] + adds r0, r4, 0 + bl _call_via_r1 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A2A34: .4byte gBattleAnimArgs +_080A2A38: .4byte gBattleAnimAttacker +_080A2A3C: .4byte sub_80A2A40 + thumb_func_end sub_80A29EC + + thumb_func_start sub_80A2A40 +sub_80A2A40: @ 80A2A40 + push {r4,lr} + adds r4, r0, 0 + bl sub_80755E0 + lsls r0, 24 + cmp r0, 0 + bne _080A2A98 + movs r1, 0x38 + ldrsh r0, [r4, r1] + movs r1, 0x8 + bl Sin + ldrh r1, [r4, 0x24] + adds r0, r1 + strh r0, [r4, 0x24] + ldrh r1, [r4, 0x38] + adds r0, r1, 0 + subs r0, 0x3B + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x4 + bls _080A2A78 + adds r0, r1, 0 + subs r0, 0xBB + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x4 + bhi _080A2A8C +_080A2A78: + ldrb r2, [r4, 0x3] + lsls r1, r2, 26 + lsrs r1, 27 + movs r0, 0x8 + eors r1, r0 + lsls r1, 1 + subs r0, 0x47 + ands r0, r2 + orrs r0, r1 + strb r0, [r4, 0x3] +_080A2A8C: + ldrh r0, [r4, 0x38] + adds r0, 0x5 + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0x38] + b _080A2A9E +_080A2A98: + adds r0, r4, 0 + bl DestroyAnimSprite +_080A2A9E: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80A2A40 + + thumb_func_start sub_80A2AA4 +sub_80A2AA4: @ 80A2AA4 + push {r4,r5,lr} + adds r4, r0, 0 + ldr r5, _080A2AE0 @ =gBattleAnimAttacker + ldrb r0, [r5] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x20] + ldrb r0, [r5] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x22] + ldr r1, _080A2AE4 @ =gBattleAnimArgs + ldrh r0, [r1] + strh r0, [r4, 0x2E] + ldrh r0, [r1, 0x2] + strh r0, [r4, 0x30] + ldrh r0, [r1, 0x4] + strh r0, [r4, 0x32] + ldr r0, _080A2AE8 @ =sub_80A2AEC + str r0, [r4, 0x1C] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A2AE0: .4byte gBattleAnimAttacker +_080A2AE4: .4byte gBattleAnimArgs +_080A2AE8: .4byte sub_80A2AEC + thumb_func_end sub_80A2AA4 + + thumb_func_start sub_80A2AEC +sub_80A2AEC: @ 80A2AEC + push {lr} + adds r1, r0, 0 + ldrh r0, [r1, 0x32] + movs r2, 0x32 + ldrsh r3, [r1, r2] + cmp r3, 0 + bne _080A2B20 + ldrh r0, [r1, 0x30] + movs r2, 0x1 + ands r2, r0 + cmp r2, 0 + beq _080A2B0E + movs r0, 0x80 + strh r0, [r1, 0x2E] + strh r3, [r1, 0x30] + strh r3, [r1, 0x32] + b _080A2B14 +_080A2B0E: + strh r2, [r1, 0x2E] + strh r2, [r1, 0x30] + strh r2, [r1, 0x32] +_080A2B14: + ldr r0, _080A2B1C @ =sub_80A2B38 + str r0, [r1, 0x1C] + b _080A2B34 + .align 2, 0 +_080A2B1C: .4byte sub_80A2B38 +_080A2B20: + subs r0, 0x1 + strh r0, [r1, 0x32] + ldrh r0, [r1, 0x2E] + ldrh r2, [r1, 0x20] + adds r0, r2 + strh r0, [r1, 0x20] + ldrh r0, [r1, 0x30] + ldrh r2, [r1, 0x22] + adds r0, r2 + strh r0, [r1, 0x22] +_080A2B34: + pop {r0} + bx r0 + thumb_func_end sub_80A2AEC + + thumb_func_start sub_80A2B38 +sub_80A2B38: @ 80A2B38 + push {r4,lr} + adds r4, r0, 0 + ldr r0, _080A2B58 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080A2B5C + movs r1, 0x2E + ldrsh r0, [r4, r1] + movs r1, 0x19 + bl Sin + negs r0, r0 + b _080A2B66 + .align 2, 0 +_080A2B58: .4byte gBattleAnimAttacker +_080A2B5C: + movs r1, 0x2E + ldrsh r0, [r4, r1] + movs r1, 0x19 + bl Sin +_080A2B66: + strh r0, [r4, 0x24] + ldrh r0, [r4, 0x2E] + adds r0, 0x2 + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0x2E] + ldrh r0, [r4, 0x30] + adds r0, 0x1 + strh r0, [r4, 0x30] + movs r1, 0x1 + ands r0, r1 + cmp r0, 0 + bne _080A2B86 + ldrh r0, [r4, 0x26] + adds r0, 0x1 + strh r0, [r4, 0x26] +_080A2B86: + movs r1, 0x30 + ldrsh r0, [r4, r1] + cmp r0, 0x50 + ble _080A2B94 + adds r0, r4, 0 + bl DestroyAnimSprite +_080A2B94: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80A2B38 + + thumb_func_start sub_80A2B9C +sub_80A2B9C: @ 80A2B9C + push {r4-r6,lr} + adds r5, r0, 0 + movs r1, 0x1 + bl sub_8075160 + ldr r0, _080A2BF0 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080A2BBC + ldr r1, _080A2BF4 @ =gBattleAnimArgs + ldrh r0, [r1, 0x4] + negs r0, r0 + strh r0, [r1, 0x4] +_080A2BBC: + ldr r6, _080A2BF4 @ =gBattleAnimArgs + ldrh r0, [r6, 0x8] + strh r0, [r5, 0x2E] + movs r1, 0xC + ldrsh r0, [r6, r1] + cmp r0, 0 + bne _080A2BFC + ldr r4, _080A2BF8 @ =gBattleAnimTarget + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r1, [r6, 0x4] + adds r0, r1 + strh r0, [r5, 0x32] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r6, [r6, 0x6] + adds r0, r6 + b _080A2C1C + .align 2, 0 +_080A2BF0: .4byte gBattleAnimAttacker +_080A2BF4: .4byte gBattleAnimArgs +_080A2BF8: .4byte gBattleAnimTarget +_080A2BFC: + ldr r0, _080A2C48 @ =gBattleAnimTarget + ldrb r0, [r0] + adds r2, r5, 0 + adds r2, 0x32 + adds r3, r5, 0 + adds r3, 0x36 + movs r1, 0x1 + bl sub_8076D9C + ldrh r0, [r6, 0x4] + ldrh r1, [r5, 0x32] + adds r0, r1 + strh r0, [r5, 0x32] + ldrh r0, [r6, 0x6] + ldrh r1, [r5, 0x36] + adds r0, r1 +_080A2C1C: + strh r0, [r5, 0x36] + ldr r0, _080A2C4C @ =gBattleAnimArgs + ldrh r0, [r0, 0xA] + strh r0, [r5, 0x38] + adds r0, r5, 0 + bl sub_8075068 + ldr r0, _080A2C50 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + adds r4, r0, 0 + ldr r0, _080A2C48 @ =gBattleAnimTarget + ldrb r0, [r0] + bl GetBattlerSide + lsls r4, 24 + lsls r0, 24 + cmp r4, r0 + bne _080A2C54 + movs r0, 0x1 + b _080A2C56 + .align 2, 0 +_080A2C48: .4byte gBattleAnimTarget +_080A2C4C: .4byte gBattleAnimArgs +_080A2C50: .4byte gBattleAnimAttacker +_080A2C54: + movs r0, 0 +_080A2C56: + strh r0, [r5, 0x2E] + ldr r0, _080A2C64 @ =sub_80A2C68 + str r0, [r5, 0x1C] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080A2C64: .4byte sub_80A2C68 + thumb_func_end sub_80A2B9C + + thumb_func_start sub_80A2C68 +sub_80A2C68: @ 80A2C68 + push {r4-r7,lr} + adds r6, r0, 0 + movs r7, 0 + ldrh r5, [r6, 0x2E] + ldrh r4, [r6, 0x3C] + movs r0, 0x1 + strh r0, [r6, 0x2E] + adds r0, r6, 0 + bl AnimateBallThrow + ldrh r0, [r6, 0x3C] + strh r5, [r6, 0x2E] + lsls r4, 16 + asrs r4, 16 + cmp r4, 0xC8 + ble _080A2C9A + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x37 + bgt _080A2C9A + ldrh r0, [r6, 0x6] + cmp r0, 0 + bne _080A2CA0 + adds r0, 0x1 + strh r0, [r6, 0x6] +_080A2C9A: + ldrh r0, [r6, 0x6] + cmp r0, 0 + beq _080A2CD2 +_080A2CA0: + movs r1, 0x2E + ldrsh r0, [r6, r1] + cmp r0, 0 + beq _080A2CD2 + adds r3, r6, 0 + adds r3, 0x3E + ldrb r2, [r3] + lsls r0, r2, 29 + lsrs r0, 31 + movs r1, 0x1 + eors r1, r0 + lsls r1, 2 + movs r0, 0x5 + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r3] + ldrh r0, [r6, 0x6] + adds r0, 0x1 + strh r0, [r6, 0x6] + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x1E + bne _080A2CD2 + movs r7, 0x1 +_080A2CD2: + movs r2, 0x20 + ldrsh r0, [r6, r2] + movs r2, 0x24 + ldrsh r1, [r6, r2] + adds r0, r1 + adds r0, 0x10 + movs r1, 0x88 + lsls r1, 1 + cmp r0, r1 + bhi _080A2CFC + movs r0, 0x22 + ldrsh r1, [r6, r0] + movs r2, 0x26 + ldrsh r0, [r6, r2] + adds r1, r0 + cmp r1, 0xA0 + bgt _080A2CFC + movs r0, 0x10 + negs r0, r0 + cmp r1, r0 + bge _080A2CFE +_080A2CFC: + movs r7, 0x1 +_080A2CFE: + cmp r7, 0 + beq _080A2D08 + adds r0, r6, 0 + bl DestroyAnimSprite +_080A2D08: + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80A2C68 + + thumb_func_start sub_80A2D10 +sub_80A2D10: @ 80A2D10 + push {r4,lr} + adds r4, r0, 0 + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080A2D3C + bl sub_8075290 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080A2D3C + ldr r0, _080A2D64 @ =gBattleAnimTarget + ldrb r0, [r0] + adds r2, r4, 0 + adds r2, 0x20 + adds r3, r4, 0 + adds r3, 0x22 + movs r1, 0x1 + bl sub_8076D9C +_080A2D3C: + ldrh r0, [r4, 0x22] + adds r0, 0x20 + strh r0, [r4, 0x22] + ldr r1, _080A2D68 @ =gBattleAnimArgs + ldrh r0, [r1] + strh r0, [r4, 0x2E] + ldrh r0, [r1, 0x2] + strh r0, [r4, 0x30] + ldrh r0, [r1, 0x4] + strh r0, [r4, 0x32] + ldrh r0, [r1, 0x6] + strh r0, [r4, 0x34] + ldrh r0, [r1, 0x8] + strh r0, [r4, 0x36] + ldr r0, _080A2D6C @ =sub_80A2D70 + str r0, [r4, 0x1C] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A2D64: .4byte gBattleAnimTarget +_080A2D68: .4byte gBattleAnimArgs +_080A2D6C: .4byte sub_80A2D70 + thumb_func_end sub_80A2D10 + + thumb_func_start sub_80A2D70 +sub_80A2D70: @ 80A2D70 + push {r4,r5,lr} + adds r4, r0, 0 + ldrh r1, [r4, 0x30] + movs r2, 0x30 + ldrsh r0, [r4, r2] + cmp r0, 0xFF + bne _080A2D86 + ldrh r0, [r4, 0x22] + subs r0, 0x2 + strh r0, [r4, 0x22] + b _080A2D94 +_080A2D86: + cmp r0, 0 + ble _080A2D94 + ldrh r0, [r4, 0x22] + subs r0, 0x2 + strh r0, [r4, 0x22] + subs r0, r1, 0x2 + strh r0, [r4, 0x30] +_080A2D94: + ldrh r3, [r4, 0x32] + ldrh r5, [r4, 0x38] + adds r2, r3, r5 + strh r2, [r4, 0x38] + movs r0, 0x2E + ldrsh r1, [r4, r0] + movs r5, 0x36 + ldrsh r0, [r4, r5] + cmp r1, r0 + bge _080A2DAC + adds r0, r2, r3 + strh r0, [r4, 0x38] +_080A2DAC: + ldrh r1, [r4, 0x38] + movs r0, 0xFF + ands r0, r1 + strh r0, [r4, 0x38] + movs r1, 0x38 + ldrsh r0, [r4, r1] + movs r2, 0x34 + ldrsh r1, [r4, r2] + bl Cos + strh r0, [r4, 0x24] + movs r5, 0x38 + ldrsh r0, [r4, r5] + movs r1, 0x5 + bl Sin + strh r0, [r4, 0x26] + movs r1, 0x38 + ldrsh r0, [r4, r1] + cmp r0, 0x7F + bgt _080A2DEC + ldr r0, _080A2DE8 @ =gBattleAnimTarget + ldrb r0, [r0] + bl sub_8076884 + lsls r0, 24 + lsrs r0, 24 + subs r0, 0x1 + b _080A2DFA + .align 2, 0 +_080A2DE8: .4byte gBattleAnimTarget +_080A2DEC: + ldr r0, _080A2E24 @ =gBattleAnimTarget + ldrb r0, [r0] + bl sub_8076884 + lsls r0, 24 + lsrs r0, 24 + adds r0, 0x1 +_080A2DFA: + movs r1, 0x3 + ands r0, r1 + lsls r0, 2 + ldrb r2, [r4, 0x5] + movs r1, 0xD + negs r1, r1 + ands r1, r2 + orrs r1, r0 + strb r1, [r4, 0x5] + ldrh r0, [r4, 0x2E] + subs r0, 0x1 + strh r0, [r4, 0x2E] + lsls r0, 16 + cmp r0, 0 + bne _080A2E1E + adds r0, r4, 0 + bl DestroyAnimSprite +_080A2E1E: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A2E24: .4byte gBattleAnimTarget + thumb_func_end sub_80A2D70 + + thumb_func_start sub_80A2E28 +sub_80A2E28: @ 80A2E28 + push {r4,r5,lr} + adds r5, r0, 0 + movs r1, 0 + bl sub_8075114 + adds r2, r5, 0 + adds r2, 0x2C + ldrb r0, [r2] + movs r1, 0x80 + orrs r0, r1 + strb r0, [r2] + ldr r4, _080A2E5C @ =gBattleAnimArgs + ldrb r1, [r4, 0x4] + adds r0, r5, 0 + bl StartSpriteAffineAnim + ldrh r0, [r4, 0x4] + strh r0, [r5, 0x3A] + ldrh r0, [r4, 0x6] + strh r0, [r5, 0x3C] + ldr r0, _080A2E60 @ =sub_80A2E64 + str r0, [r5, 0x1C] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A2E5C: .4byte gBattleAnimArgs +_080A2E60: .4byte sub_80A2E64 + thumb_func_end sub_80A2E28 + + thumb_func_start sub_80A2E64 +sub_80A2E64: @ 80A2E64 + push {r4,lr} + adds r4, r0, 0 + ldr r0, _080A2E94 @ =gBattleAnimArgs + ldrh r1, [r0, 0xE] + ldr r0, _080A2E98 @ =0x0000ffff + cmp r1, r0 + bne _080A2E8E + adds r2, r4, 0 + adds r2, 0x2C + ldrb r1, [r2] + movs r0, 0x7F + ands r0, r1 + strb r0, [r2] + movs r0, 0x1 + bl GetAnimBankSpriteId + movs r0, 0x80 + lsls r0, 1 + strh r0, [r4, 0x2E] + ldr r0, _080A2E9C @ =sub_80A2EA0 + str r0, [r4, 0x1C] +_080A2E8E: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A2E94: .4byte gBattleAnimArgs +_080A2E98: .4byte 0x0000ffff +_080A2E9C: .4byte sub_80A2EA0 + thumb_func_end sub_80A2E64 + + thumb_func_start sub_80A2EA0 +sub_80A2EA0: @ 80A2EA0 + push {r4,lr} + adds r4, r0, 0 + movs r0, 0x1 + bl GetAnimBankSpriteId + movs r1, 0x32 + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080A2EB8 + ldrh r0, [r4, 0x2E] + adds r0, 0xB + b _080A2EBC +_080A2EB8: + ldrh r0, [r4, 0x2E] + subs r0, 0xB +_080A2EBC: + strh r0, [r4, 0x2E] + ldrh r0, [r4, 0x30] + adds r0, 0x1 + strh r0, [r4, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x6 + bne _080A2ED8 + movs r0, 0 + strh r0, [r4, 0x30] + ldrh r0, [r4, 0x32] + movs r1, 0x1 + eors r0, r1 + strh r0, [r4, 0x32] +_080A2ED8: + adds r0, r4, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x20 + ands r0, r1 + cmp r0, 0 + beq _080A2F06 + ldrh r0, [r4, 0x3C] + subs r0, 0x1 + strh r0, [r4, 0x3C] + lsls r0, 16 + cmp r0, 0 + ble _080A2F00 + ldrh r1, [r4, 0x3A] + lsls r1, 24 + lsrs r1, 24 + adds r0, r4, 0 + bl StartSpriteAffineAnim + b _080A2F06 +_080A2F00: + adds r0, r4, 0 + bl DestroyAnimSprite +_080A2F06: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80A2EA0 + + thumb_func_start sub_80A2F0C +sub_80A2F0C: @ 80A2F0C + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + movs r0, 0x1 + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r2, r0, 24 + ldr r1, _080A2F38 @ =gSprites + lsls r0, r2, 4 + adds r0, r2 + lsls r0, 2 + adds r0, r1 + adds r0, 0x3E + ldrb r0, [r0] + lsls r0, 29 + cmp r0, 0 + bge _080A2F3C + adds r0, r4, 0 + bl DestroyAnimVisualTask + b _080A2F62 + .align 2, 0 +_080A2F38: .4byte gSprites +_080A2F3C: + adds r0, r2, 0 + movs r1, 0x1 + bl sub_80758E0 + ldr r1, _080A2F68 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r2, _080A2F6C @ =gBattleAnimArgs + ldrh r1, [r2] + strh r1, [r0, 0x8] + ldrh r1, [r2, 0x2] + strh r1, [r0, 0xA] + movs r1, 0x80 + lsls r1, 1 + strh r1, [r0, 0x1E] + ldr r1, _080A2F70 @ =sub_80A2F74 + str r1, [r0] +_080A2F62: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A2F68: .4byte gTasks +_080A2F6C: .4byte gBattleAnimArgs +_080A2F70: .4byte sub_80A2F74 + thumb_func_end sub_80A2F0C + + thumb_func_start sub_80A2F74 +sub_80A2F74: @ 80A2F74 + push {r4-r6,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0x1 + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r0, 24 + adds r6, r0, 0 + ldr r1, _080A2FF4 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r4, r0, r1 + ldrh r1, [r4, 0x8] + ldrh r0, [r4, 0x1C] + adds r1, r0 + strh r1, [r4, 0x1C] + ldr r2, _080A2FF8 @ =gSprites + lsls r0, r6, 4 + adds r0, r6 + lsls r0, 2 + adds r5, r0, r2 + lsls r1, 16 + asrs r1, 24 + strh r1, [r5, 0x24] + ldr r0, _080A2FFC @ =gBattleAnimTarget + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080A2FBE + ldrh r0, [r5, 0x24] + negs r0, r0 + strh r0, [r5, 0x24] +_080A2FBE: + ldrh r0, [r4, 0x1E] + adds r0, 0x10 + strh r0, [r4, 0x1E] + movs r0, 0x1E + ldrsh r2, [r4, r0] + adds r0, r6, 0 + adds r1, r2, 0 + movs r3, 0 + bl obj_id_set_rotscale + adds r0, r6, 0 + bl sub_8076440 + ldrh r0, [r4, 0xA] + subs r0, 0x1 + strh r0, [r4, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0 + bne _080A2FEC + strh r0, [r4, 0x8] + ldr r0, _080A3000 @ =sub_80A3004 + str r0, [r4] +_080A2FEC: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080A2FF4: .4byte gTasks +_080A2FF8: .4byte gSprites +_080A2FFC: .4byte gBattleAnimTarget +_080A3000: .4byte sub_80A3004 + thumb_func_end sub_80A2F74 + + thumb_func_start sub_80A3004 +sub_80A3004: @ 80A3004 + push {r4-r6,lr} + lsls r0, 24 + lsrs r3, r0, 24 + ldr r0, _080A3050 @ =gBattleAnimArgs + ldrh r1, [r0, 0xE] + ldr r0, _080A3054 @ =0x0000ffff + cmp r1, r0 + bne _080A3060 + ldr r0, _080A3058 @ =gTasks + lsls r2, r3, 2 + adds r1, r2, r3 + lsls r1, 3 + adds r6, r1, r0 + movs r1, 0x8 + ldrsh r5, [r6, r1] + adds r4, r0, 0 + cmp r5, 0 + bne _080A3074 + movs r0, 0x1 + bl GetAnimBankSpriteId + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + adds r0, r4, 0 + bl sub_8075980 + ldr r1, _080A305C @ =gSprites + lsls r0, r4, 4 + adds r0, r4 + lsls r0, 2 + adds r0, r1 + strh r5, [r0, 0x24] + strh r5, [r0, 0x26] + ldrh r0, [r6, 0x8] + adds r0, 0x1 + strh r0, [r6, 0x8] + b _080A308E + .align 2, 0 +_080A3050: .4byte gBattleAnimArgs +_080A3054: .4byte 0x0000ffff +_080A3058: .4byte gTasks +_080A305C: .4byte gSprites +_080A3060: + ldr r1, _080A3094 @ =gTasks + lsls r2, r3, 2 + adds r0, r2, r3 + lsls r0, 3 + adds r0, r1 + movs r4, 0x8 + ldrsh r0, [r0, r4] + adds r4, r1, 0 + cmp r0, 0 + beq _080A308E +_080A3074: + adds r1, r2, r3 + lsls r1, 3 + adds r1, r4 + ldrh r0, [r1, 0x8] + adds r0, 0x1 + strh r0, [r1, 0x8] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x3 + bne _080A308E + adds r0, r3, 0 + bl DestroyAnimVisualTask +_080A308E: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080A3094: .4byte gTasks + thumb_func_end sub_80A3004 + + thumb_func_start sub_80A3098 +sub_80A3098: @ 80A3098 + push {r4-r6,lr} + adds r5, r0, 0 + movs r1, 0x2E + ldrsh r0, [r5, r1] + cmp r0, 0 + beq _080A30AA + cmp r0, 0x1 + beq _080A3104 + b _080A3156 +_080A30AA: + ldr r6, _080A30FC @ =gBattleAnimTarget + ldrb r0, [r6] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _080A30C2 + ldr r1, _080A3100 @ =gBattleAnimArgs + movs r2, 0 + ldrsh r0, [r1, r2] + negs r0, r0 + strh r0, [r1] +_080A30C2: + ldrb r0, [r6] + movs r1, 0 + bl sub_8074480 + lsls r0, 24 + ldr r4, _080A3100 @ =gBattleAnimArgs + lsrs r0, 24 + ldrh r1, [r4] + adds r0, r1 + strh r0, [r5, 0x20] + ldrb r0, [r6] + movs r1, 0x1 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r4, [r4, 0x2] + adds r0, r4 + strh r0, [r5, 0x22] + adds r2, r5, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] + ldrh r0, [r5, 0x2E] + adds r0, 0x1 + strh r0, [r5, 0x2E] + b _080A3156 + .align 2, 0 +_080A30FC: .4byte gBattleAnimTarget +_080A3100: .4byte gBattleAnimArgs +_080A3104: + adds r2, r5, 0 + adds r2, 0x3E + ldrb r1, [r2] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + strb r0, [r2] + adds r0, r5, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x20 + ands r0, r1 + cmp r0, 0 + beq _080A3156 + adds r0, r5, 0 + movs r1, 0x1 + bl ChangeSpriteAffineAnim + movs r0, 0x19 + strh r0, [r5, 0x2E] + ldr r4, _080A315C @ =gBattleAnimAttacker + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x32] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x36] + ldr r0, _080A3160 @ =sub_8075764 + str r0, [r5, 0x1C] + ldr r1, _080A3164 @ =DestroyAnimSprite + adds r0, r5, 0 + bl StoreSpriteCallbackInData6 +_080A3156: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080A315C: .4byte gBattleAnimAttacker +_080A3160: .4byte sub_8075764 +_080A3164: .4byte DestroyAnimSprite + thumb_func_end sub_80A3098 + + thumb_func_start sub_80A3168 +sub_80A3168: @ 80A3168 + push {r4,r5,lr} + adds r5, r0, 0 + movs r1, 0x2E + ldrsh r0, [r5, r1] + cmp r0, 0 + bne _080A31D4 + ldr r4, _080A31E0 @ =gBattleAnimAttacker + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x20] + ldrb r0, [r4] + movs r1, 0x1 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x22] + ldr r4, _080A31E4 @ =gBattleAnimArgs + ldrh r0, [r4] + strh r0, [r5, 0x24] + ldrh r0, [r4, 0x2] + strh r0, [r5, 0x26] + ldrb r0, [r4, 0x4] + adds r0, 0x1E + adds r1, r5, 0 + adds r1, 0x43 + strb r0, [r1] + ldrb r1, [r4, 0x6] + adds r0, r5, 0 + bl StartSpriteAnim + ldrh r0, [r4, 0x8] + strh r0, [r5, 0x32] + ldrh r0, [r5, 0x2E] + adds r0, 0x1 + strh r0, [r5, 0x2E] + movs r2, 0x22 + ldrsh r0, [r5, r2] + movs r2, 0x26 + ldrsh r1, [r5, r2] + adds r0, r1 + cmp r0, 0x78 + ble _080A31D4 + ldrh r0, [r5, 0x22] + adds r1, r0, 0 + subs r1, 0x78 + ldrh r2, [r5, 0x26] + adds r0, r2 + adds r1, r0 + strh r1, [r5, 0x22] +_080A31D4: + ldr r0, _080A31E8 @ =sub_80A32DC + str r0, [r5, 0x1C] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A31E0: .4byte gBattleAnimAttacker +_080A31E4: .4byte gBattleAnimArgs +_080A31E8: .4byte sub_80A32DC + thumb_func_end sub_80A3168 + + thumb_func_start sub_80A31EC +sub_80A31EC: @ 80A31EC + push {r4-r6,lr} + mov r6, r10 + mov r5, r9 + mov r4, r8 + push {r4-r6} + sub sp, 0x4 + mov r9, r0 + ldr r4, _080A32C8 @ =gBattleAnimAttacker + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + adds r5, r0, 0 + lsls r5, 24 + lsrs r5, 24 + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + mov r8, r0 + mov r0, r8 + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + ldr r6, _080A32CC @ =gBattleAnimTarget + ldrb r0, [r6] + movs r1, 0x2 + bl sub_8074480 + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldrb r0, [r6] + movs r1, 0x3 + bl sub_8074480 + adds r2, r0, 0 + lsls r2, 24 + subs r4, r5 + lsls r4, 16 + lsrs r2, 24 + mov r1, r8 + subs r2, r1 + lsls r2, 16 + lsrs r2, 16 + lsrs r3, r4, 16 + mov r10, r3 + asrs r4, 16 + ldr r6, _080A32D0 @ =gBattleAnimArgs + movs r1, 0 + ldrsh r0, [r6, r1] + muls r0, r4 + movs r1, 0x64 + str r2, [sp] + bl __divsi3 + adds r5, r0 + mov r3, r9 + strh r5, [r3, 0x20] + ldr r2, [sp] + lsls r0, r2, 16 + asrs r0, 16 + movs r3, 0 + ldrsh r1, [r6, r3] + muls r0, r1 + movs r1, 0x64 + bl __divsi3 + add r8, r0 + mov r1, r8 + mov r0, r9 + strh r1, [r0, 0x22] + ldrh r0, [r6, 0x2] + mov r3, r9 + strh r0, [r3, 0x24] + ldrh r0, [r6, 0x4] + strh r0, [r3, 0x26] + ldrb r0, [r6, 0x6] + adds r0, 0x1E + mov r1, r9 + adds r1, 0x43 + strb r0, [r1] + ldrb r1, [r6, 0x8] + mov r0, r9 + bl StartSpriteAnim + ldrh r0, [r6, 0xA] + mov r1, r9 + strh r0, [r1, 0x32] + ldr r0, _080A32D4 @ =sub_80A32DC + str r0, [r1, 0x1C] + ldr r1, _080A32D8 @ =gUnknown_203999C + mov r3, r9 + ldrh r0, [r3, 0x20] + strh r0, [r1] + ldrh r0, [r3, 0x22] + strh r0, [r1, 0x2] + mov r0, r10 + strh r0, [r1, 0x4] + ldr r2, [sp] + strh r2, [r1, 0x6] + add sp, 0x4 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080A32C8: .4byte gBattleAnimAttacker +_080A32CC: .4byte gBattleAnimTarget +_080A32D0: .4byte gBattleAnimArgs +_080A32D4: .4byte sub_80A32DC +_080A32D8: .4byte gUnknown_203999C + thumb_func_end sub_80A31EC + + thumb_func_start sub_80A32DC +sub_80A32DC: @ 80A32DC + push {lr} + adds r3, r0, 0 + ldrh r1, [r3, 0x2E] + adds r1, 0x1 + strh r1, [r3, 0x2E] + lsls r1, 16 + asrs r1, 16 + movs r2, 0x32 + ldrsh r0, [r3, r2] + subs r0, 0xA + cmp r1, r0 + ble _080A331C + movs r0, 0x2E + ldrsh r1, [r3, r0] + lsrs r0, r1, 31 + adds r0, r1, r0 + asrs r0, 1 + lsls r0, 1 + subs r1, r0 + movs r2, 0x3E + adds r2, r3 + mov r12, r2 + movs r0, 0x1 + ands r1, r0 + lsls r1, 2 + ldrb r2, [r2] + movs r0, 0x5 + negs r0, r0 + ands r0, r2 + orrs r0, r1 + mov r1, r12 + strb r0, [r1] +_080A331C: + movs r2, 0x2E + ldrsh r1, [r3, r2] + movs r2, 0x32 + ldrsh r0, [r3, r2] + cmp r1, r0 + ble _080A332E + adds r0, r3, 0 + bl DestroyAnimSprite +_080A332E: + pop {r0} + bx r0 + thumb_func_end sub_80A32DC + + thumb_func_start sub_80A3334 +sub_80A3334: @ 80A3334 + push {r4-r6,lr} + adds r6, r0, 0 + movs r1, 0x2E + ldrsh r0, [r6, r1] + cmp r0, 0 + bne _080A3374 + ldr r5, _080A33B0 @ =gBattleAnimAttacker + ldrb r0, [r5] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + ldr r4, _080A33B4 @ =gBattleAnimArgs + lsrs r0, 24 + ldrh r2, [r4] + adds r0, r2 + strh r0, [r6, 0x20] + ldrb r0, [r5] + movs r1, 0x1 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r1, [r4, 0x2] + adds r0, r1 + strh r0, [r6, 0x22] + ldrh r0, [r4, 0x4] + strh r0, [r6, 0x30] + ldrh r0, [r4, 0x6] + strh r0, [r6, 0x32] + ldrh r0, [r4, 0x8] + strh r0, [r6, 0x34] +_080A3374: + ldrh r0, [r6, 0x2E] + adds r0, 0x1 + strh r0, [r6, 0x2E] + ldrh r1, [r6, 0x30] + muls r0, r1 + strh r0, [r6, 0x24] + movs r2, 0x2E + ldrsh r1, [r6, r2] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 2 + movs r1, 0xFF + ands r0, r1 + movs r2, 0x32 + ldrsh r1, [r6, r2] + bl Sin + strh r0, [r6, 0x26] + movs r0, 0x2E + ldrsh r1, [r6, r0] + movs r2, 0x34 + ldrsh r0, [r6, r2] + cmp r1, r0 + ble _080A33AA + adds r0, r6, 0 + bl DestroyAnimSprite +_080A33AA: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080A33B0: .4byte gBattleAnimAttacker +_080A33B4: .4byte gBattleAnimArgs + thumb_func_end sub_80A3334 + + thumb_func_start sub_80A33B8 +sub_80A33B8: @ 80A33B8 + push {r4,r5,lr} + movs r2, 0x20 + ldrsh r4, [r0, r2] + lsls r4, 8 + movs r3, 0x22 + ldrsh r2, [r0, r3] + orrs r4, r2 + movs r5, 0x3A + ldrsh r2, [r0, r5] + lsls r2, 8 + movs r5, 0x3C + ldrsh r3, [r0, r5] + orrs r2, r3 + lsls r1, 8 + strh r4, [r0, 0x38] + strh r2, [r0, 0x3A] + strh r1, [r0, 0x3C] + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80A33B8 + + thumb_func_start sub_80A33E0 +sub_80A33E0: @ 80A33E0 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + mov r8, r0 + ldrh r0, [r0, 0x38] + lsrs r1, r0, 8 + mov r10, r1 + lsls r0, 24 + lsrs r0, 24 + mov r9, r0 + mov r1, r8 + ldrh r0, [r1, 0x3A] + lsrs r2, r0, 8 + lsls r0, 24 + lsrs r4, r0, 24 + ldrh r1, [r1, 0x3C] + lsls r0, r1, 16 + asrs r0, 24 + lsls r0, 16 + lsrs r6, r0, 16 + movs r3, 0xFF + ands r3, r1 + cmp r2, 0 + bne _080A341A + movs r2, 0x20 + negs r2, r2 + b _080A3422 +_080A341A: + cmp r2, 0xFF + bne _080A3422 + movs r2, 0x88 + lsls r2, 1 +_080A3422: + mov r0, r9 + subs r4, r0 + lsls r4, 16 + lsrs r4, 16 + mov r1, r10 + subs r0, r2, r1 + lsls r5, r3, 16 + asrs r5, 16 + muls r0, r5 + lsls r1, r6, 16 + asrs r7, r1, 16 + adds r1, r7, 0 + bl __divsi3 + adds r6, r0, 0 + lsls r4, 16 + asrs r4, 16 + adds r0, r4, 0 + muls r0, r5 + adds r1, r7, 0 + bl __divsi3 + add r6, r10 + mov r1, r8 + strh r6, [r1, 0x20] + add r0, r9 + strh r0, [r1, 0x22] + adds r5, 0x1 + lsls r5, 16 + lsrs r3, r5, 16 + asrs r5, 16 + cmp r5, r7 + beq _080A3474 + lsls r1, r7, 8 + lsls r0, r3, 16 + asrs r0, 16 + orrs r0, r1 + mov r1, r8 + strh r0, [r1, 0x3C] + movs r0, 0 + b _080A3476 +_080A3474: + movs r0, 0x1 +_080A3476: + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_80A33E0 + + thumb_func_start sub_80A3484 +sub_80A3484: @ 80A3484 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0xA + bne _080A3498 + adds r0, r4, 0 + movs r1, 0x1 + bl StartSpriteAffineAnim +_080A3498: + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x32 + ble _080A34AC + adds r0, r4, 0 + bl DestroyAnimSprite +_080A34AC: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80A3484 + + thumb_func_start sub_80A34B4 +sub_80A34B4: @ 80A34B4 + push {r4,r5,lr} + adds r4, r0, 0 + movs r1, 0x34 + ldrsh r0, [r4, r1] + lsls r0, 7 + movs r2, 0x36 + ldrsh r1, [r4, r2] + bl __divsi3 + ldrh r1, [r4, 0x2E] + adds r1, r0 + movs r5, 0 + strh r1, [r4, 0x2E] + lsls r1, 16 + asrs r1, 16 + cmp r1, 0x7F + ble _080A34DE + ldrh r0, [r4, 0x30] + adds r0, 0x1 + strh r0, [r4, 0x30] + strh r5, [r4, 0x2E] +_080A34DE: + ldrh r0, [r4, 0x2E] + adds r0, 0x80 + lsls r0, 16 + asrs r0, 16 + movs r1, 0x30 + ldrsh r2, [r4, r1] + lsls r2, 3 + movs r1, 0x1E + subs r1, r2 + lsls r1, 16 + asrs r1, 16 + bl Sin + strh r0, [r4, 0x26] + adds r0, r4, 0 + bl sub_80A33E0 + lsls r0, 24 + cmp r0, 0 + beq _080A350E + strh r5, [r4, 0x26] + strh r5, [r4, 0x2E] + ldr r0, _080A3514 @ =sub_80A3484 + str r0, [r4, 0x1C] +_080A350E: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A3514: .4byte sub_80A3484 + thumb_func_end sub_80A34B4 + + thumb_func_start sub_80A3518 +sub_80A3518: @ 80A3518 + push {r4-r6,lr} + adds r5, r0, 0 + movs r1, 0 + bl sub_8075160 + ldr r4, _080A3560 @ =gBattleAnimTarget + ldrb r0, [r4] + movs r1, 0 + bl sub_8074480 + lsls r0, 24 + lsrs r6, r0, 24 + ldrb r0, [r4] + movs r1, 0x1 + bl sub_8074480 + lsls r0, 24 + lsrs r2, r0, 24 + ldr r0, _080A3564 @ =gBattleAnimAttacker + ldrb r1, [r0] + movs r0, 0x2 + eors r0, r1 + ldrb r4, [r4] + cmp r0, r4 + bne _080A3568 + strh r6, [r5, 0x3A] + adds r0, r2, 0 + adds r0, 0xA + strh r0, [r5, 0x3C] + adds r0, r5, 0 + movs r1, 0x3C + bl sub_80A33B8 + movs r0, 0x1 + b _080A357A + .align 2, 0 +_080A3560: .4byte gBattleAnimTarget +_080A3564: .4byte gBattleAnimAttacker +_080A3568: + strh r6, [r5, 0x3A] + adds r0, r2, 0 + adds r0, 0xA + strh r0, [r5, 0x3C] + adds r0, r5, 0 + movs r1, 0x3C + bl sub_80A33B8 + movs r0, 0x3 +_080A357A: + strh r0, [r5, 0x34] + movs r0, 0x3C + strh r0, [r5, 0x36] + ldr r0, _080A358C @ =sub_80A34B4 + str r0, [r5, 0x1C] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080A358C: .4byte sub_80A34B4 + thumb_func_end sub_80A3518 + + thumb_func_start sub_80A3590 +sub_80A3590: @ 80A3590 + push {r4,r5,lr} + adds r4, r0, 0 + movs r1, 0x34 + ldrsh r0, [r4, r1] + lsls r0, 7 + movs r2, 0x36 + ldrsh r1, [r4, r2] + bl __divsi3 + ldrh r1, [r4, 0x2E] + adds r1, r0 + movs r5, 0 + strh r1, [r4, 0x2E] + lsls r1, 16 + asrs r1, 16 + cmp r1, 0x7F + ble _080A35BA + ldrh r0, [r4, 0x30] + adds r0, 0x1 + strh r0, [r4, 0x30] + strh r5, [r4, 0x2E] +_080A35BA: + ldrh r0, [r4, 0x2E] + adds r0, 0x80 + lsls r0, 16 + asrs r0, 16 + movs r1, 0x30 + ldrsh r2, [r4, r1] + lsls r2, 3 + movs r1, 0x1E + subs r1, r2 + lsls r1, 16 + asrs r1, 16 + bl Sin + strh r0, [r4, 0x26] + adds r0, r4, 0 + bl sub_80A33E0 + lsls r0, 24 + cmp r0, 0 + beq _080A35EC + strh r5, [r4, 0x26] + strh r5, [r4, 0x2E] + adds r0, r4, 0 + bl DestroyAnimSprite +_080A35EC: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80A3590 + + thumb_func_start sub_80A35F4 +sub_80A35F4: @ 80A35F4 + push {r4-r6,lr} + adds r5, r0, 0 + ldr r4, _080A3630 @ =gBattleAnimTarget + ldrb r0, [r4] + movs r1, 0x1 + bl sub_8074480 + lsls r0, 24 + lsrs r6, r0, 24 + ldrb r0, [r4] + bl GetBattlerSide + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0 + bne _080A3638 + strh r0, [r5, 0x3A] + adds r0, r6, 0 + adds r0, 0xA + strh r0, [r5, 0x3C] + adds r0, r5, 0 + movs r1, 0x28 + bl sub_80A33B8 + movs r0, 0x3 + strh r0, [r5, 0x34] + movs r0, 0x3C + strh r0, [r5, 0x36] + ldr r0, _080A3634 @ =sub_80A34B4 + b _080A3662 + .align 2, 0 +_080A3630: .4byte gBattleAnimTarget +_080A3634: .4byte sub_80A34B4 +_080A3638: + movs r0, 0xFF + strh r0, [r5, 0x3A] + adds r0, r6, 0 + adds r0, 0xA + strh r0, [r5, 0x3C] + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + beq _080A3650 + movs r0, 0 + strh r0, [r5, 0x3A] +_080A3650: + adds r0, r5, 0 + movs r1, 0x28 + bl sub_80A33B8 + movs r0, 0x3 + strh r0, [r5, 0x34] + movs r0, 0x3C + strh r0, [r5, 0x36] + ldr r0, _080A366C @ =sub_80A3590 +_080A3662: + str r0, [r5, 0x1C] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080A366C: .4byte sub_80A3590 + thumb_func_end sub_80A35F4 + + thumb_func_start sub_80A3670 +sub_80A3670: @ 80A3670 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080A368A + adds r0, r4, 0 + movs r1, 0 + bl sub_8075114 + ldr r0, _080A36B0 @ =gBattleAnimArgs + ldrh r0, [r0, 0x4] + strh r0, [r4, 0x30] +_080A368A: + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + ldrh r1, [r4, 0x30] + muls r0, r1 + strh r0, [r4, 0x26] + adds r0, r4, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x10 + ands r0, r1 + cmp r0, 0 + beq _080A36AA + adds r0, r4, 0 + bl DestroyAnimSprite +_080A36AA: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A36B0: .4byte gBattleAnimArgs + thumb_func_end sub_80A3670 + + thumb_func_start sub_80A36B4 +sub_80A36B4: @ 80A36B4 + push {r4-r6,lr} + adds r5, r0, 0 + movs r1, 0 + bl sub_8075114 + ldr r4, _080A36FC @ =gBattleAnimAttacker + ldrb r0, [r4] + movs r1, 0 + bl sub_8074480 + lsls r0, 24 + lsrs r6, r0, 24 + ldrb r0, [r4] + movs r1, 0x1 + bl sub_8074480 + lsls r0, 24 + lsrs r2, r0, 24 + ldr r0, _080A3700 @ =gBattleAnimTarget + ldrb r1, [r0] + movs r0, 0x2 + eors r0, r1 + ldrb r4, [r4] + cmp r0, r4 + bne _080A3704 + strh r6, [r5, 0x3A] + adds r0, r2, 0 + adds r0, 0xA + strh r0, [r5, 0x3C] + adds r0, r5, 0 + movs r1, 0x3C + bl sub_80A33B8 + movs r0, 0x1 + b _080A3716 + .align 2, 0 +_080A36FC: .4byte gBattleAnimAttacker +_080A3700: .4byte gBattleAnimTarget +_080A3704: + strh r6, [r5, 0x3A] + adds r0, r2, 0 + adds r0, 0xA + strh r0, [r5, 0x3C] + adds r0, r5, 0 + movs r1, 0x3C + bl sub_80A33B8 + movs r0, 0x3 +_080A3716: + strh r0, [r5, 0x34] + movs r0, 0x3C + strh r0, [r5, 0x36] + ldr r0, _080A3728 @ =sub_80A372C + str r0, [r5, 0x1C] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080A3728: .4byte sub_80A372C + thumb_func_end sub_80A36B4 + + thumb_func_start sub_80A372C +sub_80A372C: @ 80A372C + push {r4,r5,lr} + adds r4, r0, 0 + movs r1, 0x34 + ldrsh r0, [r4, r1] + lsls r0, 7 + movs r2, 0x36 + ldrsh r1, [r4, r2] + bl __divsi3 + ldrh r1, [r4, 0x2E] + adds r1, r0 + movs r5, 0 + strh r1, [r4, 0x2E] + lsls r1, 16 + asrs r1, 16 + cmp r1, 0x7F + ble _080A3756 + ldrh r0, [r4, 0x30] + adds r0, 0x1 + strh r0, [r4, 0x30] + strh r5, [r4, 0x2E] +_080A3756: + ldrh r0, [r4, 0x2E] + adds r0, 0x80 + lsls r0, 16 + asrs r0, 16 + movs r1, 0x30 + ldrsh r2, [r4, r1] + lsls r2, 3 + movs r1, 0x1E + subs r1, r2 + lsls r1, 16 + asrs r1, 16 + bl Sin + strh r0, [r4, 0x26] + lsls r0, 16 + cmp r0, 0 + bne _080A378A + movs r0, 0x3F + bl sub_8073A44 + adds r1, r0, 0 + lsls r1, 24 + asrs r1, 24 + movs r0, 0x76 + bl PlaySE12WithPanning +_080A378A: + adds r0, r4, 0 + bl sub_80A33E0 + lsls r0, 24 + cmp r0, 0 + beq _080A37B2 + strh r5, [r4, 0x26] + strh r5, [r4, 0x2E] + ldr r0, _080A37B8 @ =sub_80A3484 + str r0, [r4, 0x1C] + movs r0, 0x40 + negs r0, r0 + bl sub_8073A44 + adds r1, r0, 0 + lsls r1, 24 + asrs r1, 24 + movs r0, 0x76 + bl PlaySE12WithPanning +_080A37B2: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A37B8: .4byte sub_80A3484 + thumb_func_end sub_80A372C + + thumb_func_start sub_80A37BC +sub_80A37BC: @ 80A37BC + push {r4,r5,lr} + adds r4, r0, 0 + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080A3850 + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080A37E4 + ldr r0, _080A37E0 @ =gBattleAnimArgs + ldrh r1, [r0, 0x2] + strh r1, [r4, 0x30] + movs r1, 0x78 + strh r1, [r4, 0x20] + adds r5, r0, 0 + b _080A3806 + .align 2, 0 +_080A37E0: .4byte gBattleAnimArgs +_080A37E4: + ldr r0, _080A3840 @ =gBattleAnimArgs + movs r1, 0x2 + ldrsh r3, [r0, r1] + adds r1, r3, 0 + subs r1, 0x20 + adds r2, r1, 0 + adds r5, r0, 0 + cmp r1, 0 + bge _080A37FA + adds r2, r3, 0 + adds r2, 0xDF +_080A37FA: + asrs r0, r2, 8 + lsls r0, 8 + subs r0, r1, r0 + strh r0, [r4, 0x30] + movs r0, 0x46 + strh r0, [r4, 0x20] +_080A3806: + ldrh r0, [r5] + strh r0, [r4, 0x22] + strh r0, [r4, 0x32] + movs r0, 0x14 + strh r0, [r4, 0x36] + movs r1, 0x30 + ldrsh r0, [r4, r1] + movs r1, 0x3C + bl Cos + strh r0, [r4, 0x24] + movs r1, 0x30 + ldrsh r0, [r4, r1] + movs r1, 0x14 + bl Sin + strh r0, [r4, 0x26] + ldr r0, _080A3844 @ =sub_80A3858 + str r0, [r4, 0x1C] + ldrh r0, [r4, 0x30] + subs r0, 0x1 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0xBE + bhi _080A3848 + adds r1, r4, 0 + adds r1, 0x43 + movs r0, 0x1F + b _080A384E + .align 2, 0 +_080A3840: .4byte gBattleAnimArgs +_080A3844: .4byte sub_80A3858 +_080A3848: + adds r1, r4, 0 + adds r1, 0x43 + movs r0, 0x1D +_080A384E: + strb r0, [r1] +_080A3850: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80A37BC + + thumb_func_start sub_80A3858 +sub_80A3858: @ 80A3858 + push {r4,r5,lr} + adds r4, r0, 0 + movs r1, 0x34 + ldrsh r0, [r4, r1] + cmp r0, 0 + beq _080A386A + cmp r0, 0x1 + beq _080A389A + b _080A38BA +_080A386A: + ldrh r5, [r4, 0x32] + movs r1, 0x32 + ldrsh r0, [r4, r1] + cmp r0, 0x4E + ble _080A3882 + movs r0, 0x1 + strh r0, [r4, 0x34] + adds r0, r4, 0 + movs r1, 0x1 + bl StartSpriteAffineAnim + b _080A38BA +_080A3882: + movs r1, 0x36 + ldrsh r0, [r4, r1] + movs r1, 0xA + bl __divsi3 + adds r0, r5, r0 + strh r0, [r4, 0x32] + ldrh r1, [r4, 0x36] + adds r1, 0x3 + strh r1, [r4, 0x36] + strh r0, [r4, 0x22] + b _080A38BA +_080A389A: + movs r1, 0x34 + ldrsh r0, [r4, r1] + cmp r0, 0 + beq _080A38BA + adds r0, r4, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x20 + ands r0, r1 + cmp r0, 0 + beq _080A38BA + movs r0, 0 + strh r0, [r4, 0x2E] + strh r0, [r4, 0x32] + ldr r0, _080A38C0 @ =sub_80A38C4 + str r0, [r4, 0x1C] +_080A38BA: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A38C0: .4byte sub_80A38C4 + thumb_func_end sub_80A3858 + + thumb_func_start sub_80A38C4 +sub_80A38C4: @ 80A38C4 + push {r4-r6,lr} + adds r4, r0, 0 + ldr r5, _080A3908 @ =gUnknown_83E2F78 + movs r0, 0x2E + ldrsh r1, [r4, r0] + lsls r0, r1, 1 + adds r3, r0, r1 + adds r0, r5, 0x1 + adds r0, r3, r0 + ldrh r2, [r4, 0x32] + movs r6, 0x32 + ldrsh r1, [r4, r6] + ldrb r0, [r0] + lsls r0, 24 + asrs r0, 24 + cmp r1, r0 + bne _080A3910 + adds r0, r5, 0x2 + adds r0, r3, r0 + ldrb r0, [r0] + lsls r0, 24 + asrs r0, 24 + cmp r0, 0x7F + bne _080A38FC + movs r0, 0 + strh r0, [r4, 0x2E] + ldr r0, _080A390C @ =sub_80A397C + str r0, [r4, 0x1C] +_080A38FC: + movs r0, 0 + strh r0, [r4, 0x32] + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + b _080A3976 + .align 2, 0 +_080A3908: .4byte gUnknown_83E2F78 +_080A390C: .4byte sub_80A397C +_080A3910: + adds r0, r2, 0x1 + strh r0, [r4, 0x32] + movs r0, 0x2E + ldrsh r1, [r4, r0] + lsls r0, r1, 1 + adds r0, r1 + adds r1, r0, r5 + movs r2, 0 + ldrsb r2, [r1, r2] + adds r1, r5, 0x2 + adds r0, r1 + ldrb r0, [r0] + lsls r0, 24 + asrs r0, 24 + muls r0, r2 + ldrh r1, [r4, 0x30] + adds r0, r1 + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0x30] + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080A395E + ldrh r0, [r4, 0x30] + subs r0, 0x1 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0xBE + bhi _080A3956 + adds r1, r4, 0 + adds r1, 0x43 + movs r0, 0x1F + b _080A395C +_080A3956: + adds r1, r4, 0 + adds r1, 0x43 + movs r0, 0x1D +_080A395C: + strb r0, [r1] +_080A395E: + movs r6, 0x30 + ldrsh r0, [r4, r6] + movs r1, 0x3C + bl Cos + strh r0, [r4, 0x24] + movs r1, 0x30 + ldrsh r0, [r4, r1] + movs r1, 0x14 + bl Sin + strh r0, [r4, 0x26] +_080A3976: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_80A38C4 + + thumb_func_start sub_80A397C +sub_80A397C: @ 80A397C + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0x14 + ble _080A398E + adds r0, r4, 0 + bl DestroyAnimSprite +_080A398E: + movs r0, 0x2E + ldrsh r1, [r4, r0] + lsrs r0, r1, 31 + adds r0, r1, r0 + asrs r0, 1 + lsls r0, 1 + subs r1, r0 + adds r3, r4, 0 + adds r3, 0x3E + movs r0, 0x1 + ands r1, r0 + lsls r1, 2 + ldrb r2, [r3] + movs r0, 0x5 + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r3] + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80A397C + + thumb_func_start sub_80A39C0 +sub_80A39C0: @ 80A39C0 + push {r4-r6,lr} + lsls r0, 24 + lsrs r0, 24 + adds r6, r0, 0 + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + ldr r1, _080A3B14 @ =gTasks + adds r5, r0, r1 + ldr r4, _080A3B18 @ =gBattleAnimTarget + ldrb r0, [r4] + bl sub_807685C + lsls r0, 24 + lsrs r0, 24 + subs r0, 0x1 + strh r0, [r5, 0x10] + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x14] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x16] + ldrb r0, [r4] + movs r1, 0x1 + bl sub_8076B2C + strh r0, [r5, 0x1C] + ldrb r0, [r4] + movs r1, 0 + bl sub_8076B2C + strh r0, [r5, 0x1E] + ldrb r0, [r4] + bl GetBattlerSide + lsls r0, 24 + lsrs r0, 24 + movs r2, 0x1 + negs r2, r2 + adds r1, r2, 0 + cmp r0, 0x1 + bne _080A3A28 + movs r1, 0x1 +_080A3A28: + strh r1, [r5, 0x12] + movs r3, 0x12 + ldrsh r0, [r5, r3] + lsls r0, 6 + movs r1, 0x38 + subs r1, r0 + strh r1, [r5, 0x1A] + ldrh r0, [r5, 0x16] + subs r0, r1 + ldrh r1, [r5, 0x14] + adds r0, r1 + strh r0, [r5, 0x18] + ldr r0, _080A3B1C @ =gUnknown_83E2FF0 + movs r2, 0x18 + ldrsh r1, [r5, r2] + movs r3, 0x1A + ldrsh r2, [r5, r3] + ldrb r3, [r5, 0x10] + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0xC] + cmp r0, 0x40 + bne _080A3A60 + adds r0, r6, 0 + bl DestroyAnimVisualTask +_080A3A60: + ldr r4, _080A3B20 @ =gSprites + movs r0, 0xC + ldrsh r1, [r5, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r4 + movs r1, 0xA + strh r1, [r0, 0x2E] + movs r2, 0xC + ldrsh r1, [r5, r2] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r4 + ldrh r1, [r5, 0x18] + strh r1, [r0, 0x30] + movs r3, 0xC + ldrsh r0, [r5, r3] + lsls r2, r0, 4 + adds r2, r0 + lsls r2, 2 + adds r2, r4 + movs r1, 0x1C + ldrsh r0, [r5, r1] + lsrs r1, r0, 31 + adds r0, r1 + asrs r0, 1 + adds r0, 0xA + movs r3, 0x12 + ldrsh r1, [r5, r3] + muls r1, r0 + ldrh r0, [r5, 0x14] + subs r0, r1 + strh r0, [r2, 0x32] + movs r0, 0xC + ldrsh r1, [r5, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r4 + ldrh r1, [r5, 0x1A] + strh r1, [r0, 0x34] + movs r1, 0xC + ldrsh r0, [r5, r1] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r4 + movs r2, 0x1E + ldrsh r0, [r5, r2] + lsrs r2, r0, 31 + adds r0, r2 + asrs r0, 1 + adds r0, 0xA + movs r3, 0x12 + ldrsh r2, [r5, r3] + muls r0, r2 + ldrh r2, [r5, 0x16] + adds r0, r2 + strh r0, [r1, 0x36] + movs r3, 0xC + ldrsh r1, [r5, r3] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r4 + bl sub_80A3F04 + movs r1, 0xC + ldrsh r2, [r5, r1] + lsls r1, r2, 4 + adds r1, r2 + lsls r1, 2 + adds r1, r4 + strh r0, [r1, 0x38] + movs r2, 0xC + ldrsh r1, [r5, r2] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r4 + bl sub_8075068 + ldr r0, _080A3B24 @ =sub_80A3B28 + str r0, [r5] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080A3B14: .4byte gTasks +_080A3B18: .4byte gBattleAnimTarget +_080A3B1C: .4byte gUnknown_83E2FF0 +_080A3B20: .4byte gSprites +_080A3B24: .4byte sub_80A3B28 + thumb_func_end sub_80A39C0 + + thumb_func_start sub_80A3B28 +sub_80A3B28: @ 80A3B28 + push {r4-r6,lr} + lsls r0, 24 + lsrs r2, r0, 24 + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + ldr r1, _080A3B6C @ =gTasks + adds r6, r0, r1 + movs r0, 0xC + ldrsh r1, [r6, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r1, _080A3B70 @ =gSprites + adds r4, r0, r1 + movs r1, 0x8 + ldrsh r5, [r6, r1] + cmp r5, 0x7 + bne _080A3B50 + b _080A3D80 +_080A3B50: + cmp r5, 0x7 + bgt _080A3B9E + cmp r5, 0x3 + bne _080A3B5A + b _080A3C72 +_080A3B5A: + cmp r5, 0x3 + bgt _080A3B74 + cmp r5, 0x1 + beq _080A3C04 + cmp r5, 0x1 + bgt _080A3C54 + cmp r5, 0 + beq _080A3BE6 + b _080A3EFC + .align 2, 0 +_080A3B6C: .4byte gTasks +_080A3B70: .4byte gSprites +_080A3B74: + cmp r5, 0x5 + bne _080A3B7A + b _080A3CE8 +_080A3B7A: + cmp r5, 0x5 + ble _080A3B80 + b _080A3D62 +_080A3B80: + adds r0, r6, 0 + adds r1, r2, 0 + bl sub_80A3F24 + adds r0, r4, 0 + bl AnimateBallThrow + lsls r0, 24 + cmp r0, 0 + bne _080A3B96 + b _080A3EFC +_080A3B96: + movs r0, 0x5 + strh r0, [r6, 0x26] + movs r0, 0xFF + b _080A3EFA +_080A3B9E: + cmp r5, 0xB + bne _080A3BA4 + b _080A3E64 +_080A3BA4: + cmp r5, 0xB + bgt _080A3BD2 + cmp r5, 0x9 + bne _080A3BAE + b _080A3DD2 +_080A3BAE: + cmp r5, 0x9 + ble _080A3BB4 + b _080A3E48 +_080A3BB4: + adds r0, r6, 0 + adds r1, r2, 0 + bl sub_80A3F24 + adds r0, r4, 0 + bl AnimateBallThrow + lsls r0, 24 + cmp r0, 0 + bne _080A3BCA + b _080A3EFC +_080A3BCA: + movs r0, 0x9 + strh r0, [r6, 0x26] + movs r0, 0xFF + b _080A3EFA +_080A3BD2: + cmp r5, 0xD + bne _080A3BD8 + b _080A3ED6 +_080A3BD8: + cmp r5, 0xD + bge _080A3BDE + b _080A3EB6 +_080A3BDE: + cmp r5, 0xFF + bne _080A3BE4 + b _080A3EE6 +_080A3BE4: + b _080A3EFC +_080A3BE6: + adds r0, r6, 0 + adds r1, r2, 0 + bl sub_80A3F24 + adds r0, r4, 0 + bl AnimateBallThrow + lsls r0, 24 + cmp r0, 0 + bne _080A3BFC + b _080A3EFC +_080A3BFC: + movs r0, 0x1 + strh r0, [r6, 0x26] + movs r0, 0xFF + b _080A3EFA +_080A3C04: + ldrh r2, [r4, 0x24] + ldrh r3, [r4, 0x20] + adds r2, r3 + movs r0, 0 + strh r2, [r4, 0x20] + ldrh r1, [r4, 0x26] + ldrh r3, [r4, 0x22] + adds r1, r3 + strh r1, [r4, 0x22] + strh r0, [r4, 0x24] + strh r0, [r4, 0x26] + movs r0, 0xA + strh r0, [r4, 0x2E] + strh r2, [r4, 0x30] + ldrh r0, [r6, 0x14] + strh r0, [r4, 0x32] + strh r1, [r4, 0x34] + ldrh r0, [r6, 0x16] + strh r0, [r4, 0x36] + adds r0, r4, 0 + bl sub_80A3F04 + strh r0, [r4, 0x38] + ldrh r0, [r6, 0x10] + adds r0, 0x2 + strh r0, [r6, 0x10] + strh r5, [r6, 0xE] + adds r1, r4, 0 + adds r1, 0x43 + strb r0, [r1] + ldrb r1, [r6, 0xE] + adds r0, r4, 0 + bl StartSpriteAnim + adds r0, r4, 0 + bl sub_8075068 + ldrh r0, [r6, 0x8] + adds r0, 0x1 + b _080A3EFA +_080A3C54: + adds r0, r6, 0 + adds r1, r2, 0 + bl sub_80A3F24 + adds r0, r4, 0 + bl AnimateBallThrow + lsls r0, 24 + cmp r0, 0 + bne _080A3C6A + b _080A3EFC +_080A3C6A: + movs r0, 0x3 + strh r0, [r6, 0x26] + movs r0, 0xFF + b _080A3EFA +_080A3C72: + ldrh r1, [r4, 0x24] + ldrh r0, [r4, 0x20] + adds r1, r0 + movs r0, 0 + strh r1, [r4, 0x20] + ldrh r2, [r4, 0x26] + ldrh r3, [r4, 0x22] + adds r2, r3 + strh r2, [r4, 0x22] + strh r0, [r4, 0x24] + strh r0, [r4, 0x26] + movs r0, 0xA + strh r0, [r4, 0x2E] + strh r1, [r4, 0x30] + movs r1, 0x1C + ldrsh r0, [r6, r1] + lsrs r1, r0, 31 + adds r0, r1 + asrs r0, 1 + adds r0, 0xA + movs r3, 0x12 + ldrsh r1, [r6, r3] + muls r1, r0 + ldrh r0, [r6, 0x14] + subs r0, r1 + strh r0, [r4, 0x32] + strh r2, [r4, 0x34] + movs r1, 0x1E + ldrsh r0, [r6, r1] + lsrs r1, r0, 31 + adds r0, r1 + asrs r0, 1 + adds r0, 0xA + movs r2, 0x12 + ldrsh r1, [r6, r2] + muls r1, r0 + ldrh r0, [r6, 0x16] + subs r0, r1 + strh r0, [r4, 0x36] + adds r0, r4, 0 + bl sub_80A3F04 + strh r0, [r4, 0x38] + movs r0, 0x2 + strh r0, [r6, 0xE] + ldrh r0, [r6, 0x10] + adds r1, r4, 0 + adds r1, 0x43 + strb r0, [r1] + ldrb r1, [r6, 0xE] + adds r0, r4, 0 + bl StartSpriteAnim + adds r0, r4, 0 + bl sub_8075068 + ldrh r0, [r6, 0x8] + adds r0, 0x1 + b _080A3EFA +_080A3CE8: + ldrh r1, [r4, 0x24] + ldrh r3, [r4, 0x20] + adds r1, r3 + movs r0, 0 + strh r1, [r4, 0x20] + ldrh r2, [r4, 0x26] + ldrh r3, [r4, 0x22] + adds r2, r3 + strh r2, [r4, 0x22] + strh r0, [r4, 0x24] + strh r0, [r4, 0x26] + movs r0, 0xA + strh r0, [r4, 0x2E] + strh r1, [r4, 0x30] + movs r1, 0x1C + ldrsh r0, [r6, r1] + lsrs r1, r0, 31 + adds r0, r1 + asrs r0, 1 + adds r0, 0xA + movs r3, 0x12 + ldrsh r1, [r6, r3] + muls r0, r1 + ldrh r1, [r6, 0x14] + adds r0, r1 + strh r0, [r4, 0x32] + strh r2, [r4, 0x34] + movs r2, 0x1E + ldrsh r0, [r6, r2] + lsrs r1, r0, 31 + adds r0, r1 + asrs r0, 1 + adds r0, 0xA + movs r3, 0x12 + ldrsh r1, [r6, r3] + muls r0, r1 + ldrh r1, [r6, 0x16] + adds r0, r1 + strh r0, [r4, 0x36] + adds r0, r4, 0 + bl sub_80A3F04 + strh r0, [r4, 0x38] + ldrh r1, [r6, 0x10] + subs r1, 0x2 + strh r1, [r6, 0x10] + movs r0, 0x3 + strh r0, [r6, 0xE] + adds r0, r4, 0 + adds r0, 0x43 + strb r1, [r0] + ldrb r1, [r6, 0xE] + adds r0, r4, 0 + bl StartSpriteAnim + adds r0, r4, 0 + bl sub_8075068 + ldrh r0, [r6, 0x8] + adds r0, 0x1 + b _080A3EFA +_080A3D62: + adds r0, r6, 0 + adds r1, r2, 0 + bl sub_80A3F24 + adds r0, r4, 0 + bl AnimateBallThrow + lsls r0, 24 + cmp r0, 0 + bne _080A3D78 + b _080A3EFC +_080A3D78: + movs r0, 0x7 + strh r0, [r6, 0x26] + movs r0, 0xFF + b _080A3EFA +_080A3D80: + ldrh r2, [r4, 0x24] + ldrh r3, [r4, 0x20] + adds r2, r3 + movs r0, 0 + strh r2, [r4, 0x20] + ldrh r1, [r4, 0x26] + ldrh r3, [r4, 0x22] + adds r1, r3 + strh r1, [r4, 0x22] + strh r0, [r4, 0x24] + strh r0, [r4, 0x26] + movs r0, 0xA + strh r0, [r4, 0x2E] + strh r2, [r4, 0x30] + ldrh r0, [r6, 0x14] + strh r0, [r4, 0x32] + strh r1, [r4, 0x34] + ldrh r0, [r6, 0x16] + strh r0, [r4, 0x36] + adds r0, r4, 0 + bl sub_80A3F04 + strh r0, [r4, 0x38] + ldrh r1, [r6, 0x10] + adds r1, 0x2 + strh r1, [r6, 0x10] + movs r0, 0x4 + strh r0, [r6, 0xE] + adds r0, r4, 0 + adds r0, 0x43 + strb r1, [r0] + ldrb r1, [r6, 0xE] + adds r0, r4, 0 + bl StartSpriteAnim + adds r0, r4, 0 + bl sub_8075068 + ldrh r0, [r6, 0x8] + adds r0, 0x1 + b _080A3EFA +_080A3DD2: + ldrh r1, [r4, 0x24] + ldrh r0, [r4, 0x20] + adds r1, r0 + movs r0, 0 + strh r1, [r4, 0x20] + ldrh r2, [r4, 0x26] + ldrh r3, [r4, 0x22] + adds r2, r3 + strh r2, [r4, 0x22] + strh r0, [r4, 0x24] + strh r0, [r4, 0x26] + movs r0, 0xA + strh r0, [r4, 0x2E] + strh r1, [r4, 0x30] + movs r1, 0x1C + ldrsh r0, [r6, r1] + lsrs r1, r0, 31 + adds r0, r1 + asrs r0, 1 + adds r0, 0xA + movs r3, 0x12 + ldrsh r1, [r6, r3] + muls r1, r0 + ldrh r0, [r6, 0x14] + subs r0, r1 + strh r0, [r4, 0x32] + strh r2, [r4, 0x34] + movs r1, 0x1E + ldrsh r0, [r6, r1] + lsrs r1, r0, 31 + adds r0, r1 + asrs r0, 1 + adds r0, 0xA + movs r2, 0x12 + ldrsh r1, [r6, r2] + muls r0, r1 + ldrh r3, [r6, 0x16] + adds r0, r3 + strh r0, [r4, 0x36] + adds r0, r4, 0 + bl sub_80A3F04 + strh r0, [r4, 0x38] + movs r0, 0x5 + strh r0, [r6, 0xE] + ldrh r0, [r6, 0x10] + adds r1, r4, 0 + adds r1, 0x43 + strb r0, [r1] + ldrb r1, [r6, 0xE] + adds r0, r4, 0 + bl StartSpriteAnim + adds r0, r4, 0 + bl sub_8075068 + ldrh r0, [r6, 0x8] + adds r0, 0x1 + b _080A3EFA +_080A3E48: + adds r0, r6, 0 + adds r1, r2, 0 + bl sub_80A3F24 + adds r0, r4, 0 + bl AnimateBallThrow + lsls r0, 24 + cmp r0, 0 + beq _080A3EFC + movs r0, 0xB + strh r0, [r6, 0x26] + movs r0, 0xFF + b _080A3EFA +_080A3E64: + ldrh r2, [r4, 0x24] + ldrh r0, [r4, 0x20] + adds r2, r0 + movs r0, 0 + strh r2, [r4, 0x20] + ldrh r1, [r4, 0x26] + ldrh r3, [r4, 0x22] + adds r1, r3 + strh r1, [r4, 0x22] + strh r0, [r4, 0x24] + strh r0, [r4, 0x26] + movs r0, 0xA + strh r0, [r4, 0x2E] + strh r2, [r4, 0x30] + ldrh r0, [r6, 0x18] + strh r0, [r4, 0x32] + strh r1, [r4, 0x34] + ldrh r0, [r6, 0x1A] + strh r0, [r4, 0x36] + adds r0, r4, 0 + bl sub_80A3F04 + strh r0, [r4, 0x38] + ldrh r1, [r6, 0x10] + subs r1, 0x2 + strh r1, [r6, 0x10] + movs r0, 0x6 + strh r0, [r6, 0xE] + adds r0, r4, 0 + adds r0, 0x43 + strb r1, [r0] + ldrb r1, [r6, 0xE] + adds r0, r4, 0 + bl StartSpriteAnim + adds r0, r4, 0 + bl sub_8075068 + ldrh r0, [r6, 0x8] + adds r0, 0x1 + b _080A3EFA +_080A3EB6: + adds r0, r6, 0 + adds r1, r2, 0 + bl sub_80A3F24 + adds r0, r4, 0 + bl AnimateBallThrow + lsls r0, 24 + cmp r0, 0 + beq _080A3EFC + adds r0, r4, 0 + bl DestroySprite + ldrh r0, [r6, 0x8] + adds r0, 0x1 + b _080A3EFA +_080A3ED6: + movs r1, 0x20 + ldrsh r0, [r6, r1] + cmp r0, 0 + bne _080A3EFC + adds r0, r2, 0 + bl DestroyAnimVisualTask + b _080A3EFC +_080A3EE6: + ldrh r0, [r6, 0xA] + adds r0, 0x1 + strh r0, [r6, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x5 + ble _080A3EFC + movs r0, 0 + strh r0, [r6, 0xA] + ldrh r0, [r6, 0x26] +_080A3EFA: + strh r0, [r6, 0x8] +_080A3EFC: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_80A3B28 + + thumb_func_start sub_80A3F04 +sub_80A3F04: @ 80A3F04 + push {lr} + movs r2, 0x8 + movs r3, 0x36 + ldrsh r1, [r0, r3] + movs r3, 0x22 + ldrsh r0, [r0, r3] + cmp r1, r0 + bge _080A3F1A + negs r0, r2 + lsls r0, 16 + lsrs r2, r0, 16 +_080A3F1A: + lsls r0, r2, 16 + asrs r0, 16 + pop {r1} + bx r1 + thumb_func_end sub_80A3F04 + + thumb_func_start sub_80A3F24 +sub_80A3F24: @ 80A3F24 + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r6, r0, 0 + lsls r1, 24 + lsrs r7, r1, 24 + ldrh r0, [r6, 0x24] + adds r0, 0x1 + strh r0, [r6, 0x24] + lsls r0, 16 + cmp r0, 0 + ble _080A3FBA + movs r0, 0 + strh r0, [r6, 0x24] + ldr r0, _080A3FC4 @ =gSprites + mov r8, r0 + movs r2, 0xC + ldrsh r1, [r6, r2] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + add r0, r8 + ldrh r1, [r0, 0x24] + ldrh r2, [r0, 0x20] + adds r1, r2 + ldrh r2, [r0, 0x26] + ldrh r0, [r0, 0x22] + adds r2, r0 + ldr r0, _080A3FC8 @ =gUnknown_83E2FF0 + lsls r1, 16 + asrs r1, 16 + lsls r2, 16 + asrs r2, 16 + ldrb r3, [r6, 0x10] + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x40 + beq _080A3FBA + lsls r5, r0, 4 + adds r5, r0 + lsls r5, 2 + mov r0, r8 + adds r4, r5, r0 + strh r7, [r4, 0x3A] + movs r0, 0xC + strh r0, [r4, 0x3C] + ldr r0, _080A3FCC @ =gTasks + lsls r1, r7, 2 + adds r1, r7 + lsls r1, 3 + adds r1, r0 + ldrh r0, [r1, 0x20] + adds r0, 0x1 + strh r0, [r1, 0x20] + ldrh r2, [r6, 0x22] + movs r0, 0x1 + ands r0, r2 + strh r0, [r4, 0x2E] + ldrh r0, [r1, 0x22] + adds r0, 0x1 + strh r0, [r1, 0x22] + ldrb r1, [r6, 0xE] + adds r0, r4, 0 + bl StartSpriteAnim + ldrh r0, [r6, 0x10] + adds r4, 0x43 + strb r0, [r4] + mov r0, r8 + adds r0, 0x1C + adds r5, r0 + ldr r0, _080A3FD0 @ =sub_80A3FD4 + str r0, [r5] +_080A3FBA: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080A3FC4: .4byte gSprites +_080A3FC8: .4byte gUnknown_83E2FF0 +_080A3FCC: .4byte gTasks +_080A3FD0: .4byte sub_80A3FD4 + thumb_func_end sub_80A3F24 + + thumb_func_start sub_80A3FD4 +sub_80A3FD4: @ 80A3FD4 + push {r4,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + ble _080A4036 + movs r0, 0 + strh r0, [r4, 0x2E] + adds r3, r4, 0 + adds r3, 0x3E + ldrb r2, [r3] + lsls r0, r2, 29 + lsrs r0, 31 + movs r1, 0x1 + eors r1, r0 + lsls r1, 2 + movs r0, 0x5 + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r3] + ldrh r0, [r4, 0x30] + adds r0, 0x1 + strh r0, [r4, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x8 + ble _080A4036 + ldr r3, _080A403C @ =gTasks + movs r0, 0x3C + ldrsh r1, [r4, r0] + lsls r1, 1 + movs r0, 0x3A + ldrsh r2, [r4, r0] + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + adds r1, r0 + adds r3, 0x8 + adds r1, r3 + ldrh r0, [r1] + subs r0, 0x1 + strh r0, [r1] + adds r0, r4, 0 + bl DestroySprite +_080A4036: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A403C: .4byte gTasks + thumb_func_end sub_80A3FD4 + + thumb_func_start sub_80A4040 +sub_80A4040: @ 80A4040 + push {r4-r7,lr} + adds r4, r0, 0 + ldr r0, _080A4054 @ =gBattleAnimArgs + movs r1, 0xC + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _080A405C + ldr r0, _080A4058 @ =gBattleAnimAttacker + b _080A405E + .align 2, 0 +_080A4054: .4byte gBattleAnimArgs +_080A4058: .4byte gBattleAnimAttacker +_080A405C: + ldr r0, _080A407C @ =gBattleAnimTarget +_080A405E: + ldrb r6, [r0] + adds r0, r6, 0 + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080A4088 + movs r0, 0 + strh r0, [r4, 0x36] + ldr r1, _080A4080 @ =gBattleAnimArgs + ldrh r0, [r1, 0x6] + strh r0, [r4, 0x32] + ldr r0, _080A4084 @ =0x0000fff0 + b _080A4098 + .align 2, 0 +_080A407C: .4byte gBattleAnimTarget +_080A4080: .4byte gBattleAnimArgs +_080A4084: .4byte 0x0000fff0 +_080A4088: + movs r0, 0x1 + strh r0, [r4, 0x36] + ldr r1, _080A40BC @ =gBattleAnimArgs + ldrh r0, [r1, 0x6] + negs r0, r0 + strh r0, [r4, 0x32] + movs r0, 0x80 + lsls r0, 1 +_080A4098: + strh r0, [r4, 0x20] + adds r7, r1, 0 + adds r5, r7, 0 + ldrh r0, [r5, 0x2] + strh r0, [r4, 0x30] + ldrh r0, [r5, 0x4] + strh r0, [r4, 0x2E] + ldrh r0, [r5, 0x8] + strh r0, [r4, 0x34] + movs r1, 0xA + ldrsh r0, [r5, r1] + cmp r0, 0x1 + beq _080A40CE + cmp r0, 0x1 + bgt _080A40C0 + cmp r0, 0 + beq _080A40CA + b _080A4138 + .align 2, 0 +_080A40BC: .4byte gBattleAnimArgs +_080A40C0: + cmp r0, 0x2 + beq _080A40D4 + cmp r0, 0x3 + beq _080A4100 + b _080A4138 +_080A40CA: + ldrh r0, [r5] + b _080A40E4 +_080A40CE: + ldrh r0, [r5] + strh r0, [r4, 0x22] + b _080A411A +_080A40D4: + adds r0, r6, 0 + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r5, [r5] + adds r0, r5 +_080A40E4: + strh r0, [r4, 0x22] + adds r0, r6, 0 + bl sub_8076884 + movs r1, 0x3 + ands r1, r0 + lsls r1, 2 + ldrb r2, [r4, 0x5] + movs r0, 0xD + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r4, 0x5] + b _080A4138 +_080A4100: + ldr r0, _080A4144 @ =gBattleAnimTarget + ldrb r0, [r0] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r7, [r7] + adds r0, r7 + strh r0, [r4, 0x22] + movs r0, 0x1 + bl GetAnimBankSpriteId +_080A411A: + adds r0, r6, 0 + bl sub_8076884 + lsls r0, 24 + lsrs r0, 24 + adds r0, 0x1 + movs r1, 0x3 + ands r0, r1 + lsls r0, 2 + ldrb r2, [r4, 0x5] + movs r1, 0xD + negs r1, r1 + ands r1, r2 + orrs r1, r0 + strb r1, [r4, 0x5] +_080A4138: + ldr r0, _080A4148 @ =sub_80A414C + str r0, [r4, 0x1C] + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080A4144: .4byte gBattleAnimTarget +_080A4148: .4byte sub_80A414C + thumb_func_end sub_80A4040 + + thumb_func_start sub_80A414C +sub_80A414C: @ 80A414C + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0x3C + ldrsh r3, [r4, r0] + ldrh r0, [r4, 0x3C] + adds r0, 0x1 + strh r0, [r4, 0x3C] + movs r1, 0x30 + ldrsh r2, [r4, r1] + ldr r1, _080A41A0 @ =gSineTable + movs r5, 0x2E + ldrsh r0, [r4, r5] + lsls r0, 1 + adds r0, r1 + movs r1, 0 + ldrsh r0, [r0, r1] + muls r0, r2 + asrs r0, 8 + strh r0, [r4, 0x26] + movs r2, 0x32 + ldrsh r0, [r4, r2] + muls r0, r3 + strh r0, [r4, 0x24] + movs r5, 0x34 + ldrsh r0, [r4, r5] + muls r0, r3 + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0x2E] + movs r1, 0x36 + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080A41A4 + movs r2, 0x24 + ldrsh r0, [r4, r2] + movs r5, 0x20 + ldrsh r1, [r4, r5] + adds r0, r1 + cmp r0, 0xF7 + ble _080A41BC + b _080A41B6 + .align 2, 0 +_080A41A0: .4byte gSineTable +_080A41A4: + movs r1, 0x24 + ldrsh r0, [r4, r1] + movs r2, 0x20 + ldrsh r1, [r4, r2] + adds r0, r1 + movs r1, 0x10 + negs r1, r1 + cmp r0, r1 + bgt _080A41BC +_080A41B6: + adds r0, r4, 0 + bl move_anim_8074EE0 +_080A41BC: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80A414C + + thumb_func_start sub_80A41C4 +sub_80A41C4: @ 80A41C4 + push {r4-r7,lr} + lsls r0, 24 + lsrs r6, r0, 24 + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + ldr r1, _080A41E4 @ =gTasks + adds r5, r0, r1 + movs r1, 0x8 + ldrsh r0, [r5, r1] + cmp r0, 0 + beq _080A41E8 + cmp r0, 0x1 + beq _080A421C + b _080A4276 + .align 2, 0 +_080A41E4: .4byte gTasks +_080A41E8: + ldr r0, _080A4214 @ =0x0000274f + bl IndexOfSpritePaletteTag + lsls r0, 24 + lsrs r0, 20 + movs r2, 0x80 + lsls r2, 1 + adds r4, r2, 0 + adds r0, r4 + strh r0, [r5, 0x18] + ldr r0, _080A4218 @ =0x000027b0 + bl IndexOfSpritePaletteTag + lsls r0, 24 + lsrs r0, 20 + adds r0, r4 + strh r0, [r5, 0x20] + ldrh r0, [r5, 0x8] + adds r0, 0x1 + strh r0, [r5, 0x8] + b _080A4276 + .align 2, 0 +_080A4214: .4byte 0x0000274f +_080A4218: .4byte 0x000027b0 +_080A421C: + ldrh r0, [r5, 0x1A] + adds r0, 0x1 + movs r7, 0 + strh r0, [r5, 0x1A] + lsls r0, 16 + cmp r0, 0 + blt _080A4276 + strh r7, [r5, 0x1A] + ldrh r0, [r5, 0x18] + ldrb r2, [r5, 0x1C] + ldr r4, _080A4290 @ =gUnknown_83E30F0 + movs r3, 0x1E + ldrsh r1, [r5, r3] + lsls r1, 1 + adds r1, r4 + ldrh r3, [r1] + movs r1, 0x10 + bl BlendPalette + ldrh r0, [r5, 0x20] + ldrb r2, [r5, 0x1C] + movs r3, 0x1E + ldrsh r1, [r5, r3] + lsls r1, 1 + adds r1, r4 + ldrh r3, [r1] + movs r1, 0x10 + bl BlendPalette + ldrh r0, [r5, 0x1C] + adds r0, 0x1 + strh r0, [r5, 0x1C] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x11 + bne _080A4276 + strh r7, [r5, 0x1C] + ldrh r0, [r5, 0x1E] + adds r0, 0x1 + strh r0, [r5, 0x1E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x7 + bne _080A4276 + strh r7, [r5, 0x1E] +_080A4276: + ldr r0, _080A4294 @ =gBattleAnimArgs + movs r2, 0xE + ldrsh r1, [r0, r2] + movs r0, 0x1 + negs r0, r0 + cmp r1, r0 + bne _080A428A + adds r0, r6, 0 + bl DestroyAnimVisualTask +_080A428A: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080A4290: .4byte gUnknown_83E30F0 +_080A4294: .4byte gBattleAnimArgs + thumb_func_end sub_80A41C4 + + thumb_func_start sub_80A4298 +sub_80A4298: @ 80A4298 + push {r4-r7,lr} + sub sp, 0x4 + adds r6, r0, 0 + ldr r1, _080A42B0 @ =gBattleAnimArgs + movs r2, 0x8 + ldrsh r0, [r1, r2] + cmp r0, 0 + bne _080A42B4 + adds r0, r6, 0 + bl DestroyAnimSprite + b _080A438E + .align 2, 0 +_080A42B0: .4byte gBattleAnimArgs +_080A42B4: + movs r3, 0 + ldrsh r0, [r1, r3] + cmp r0, 0 + bne _080A42C4 + ldr r4, _080A42C0 @ =gBattleAnimAttacker + b _080A42C6 + .align 2, 0 +_080A42C0: .4byte gBattleAnimAttacker +_080A42C4: + ldr r4, _080A4300 @ =gBattleAnimTarget +_080A42C6: + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r5, r0, 24 + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r2, r0, 24 + ldr r0, _080A4304 @ =gBattleAnimArgs + ldrh r1, [r0, 0x8] + strh r1, [r6, 0x2E] + movs r3, 0x2 + ldrsh r1, [r0, r3] + adds r7, r0, 0 + cmp r1, 0 + bne _080A4308 + ldrh r0, [r7, 0x4] + adds r0, r5 + strh r0, [r6, 0x20] + ldrh r0, [r7, 0x6] + adds r0, r2 + strh r0, [r6, 0x22] + strh r5, [r6, 0x38] + strh r2, [r6, 0x3A] + b _080A4318 + .align 2, 0 +_080A4300: .4byte gBattleAnimTarget +_080A4304: .4byte gBattleAnimArgs +_080A4308: + strh r5, [r6, 0x20] + strh r2, [r6, 0x22] + ldrh r0, [r7, 0x4] + adds r0, r5 + strh r0, [r6, 0x38] + ldrh r0, [r7, 0x6] + adds r0, r2 + strh r0, [r6, 0x3A] +_080A4318: + ldrh r4, [r6, 0x20] + lsls r0, r4, 4 + strh r0, [r6, 0x30] + ldrh r5, [r6, 0x22] + lsls r0, r5, 4 + strh r0, [r6, 0x32] + movs r1, 0x38 + ldrsh r0, [r6, r1] + movs r2, 0x20 + ldrsh r1, [r6, r2] + subs r0, r1 + lsls r0, 4 + movs r3, 0x8 + ldrsh r1, [r7, r3] + bl __divsi3 + strh r0, [r6, 0x34] + movs r1, 0x3A + ldrsh r0, [r6, r1] + movs r2, 0x22 + ldrsh r1, [r6, r2] + subs r0, r1 + lsls r0, 4 + movs r3, 0x8 + ldrsh r1, [r7, r3] + bl __divsi3 + strh r0, [r6, 0x36] + ldrh r0, [r6, 0x38] + subs r0, r4 + lsls r0, 16 + asrs r0, 16 + ldrh r1, [r6, 0x3A] + subs r1, r5 + lsls r1, 16 + asrs r1, 16 + bl sub_8075B30 + lsls r0, 16 + lsrs r4, r0, 16 + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + beq _080A437A + ldr r1, _080A4398 @ =0xffff8000 + adds r0, r4, r1 + lsls r0, 16 + lsrs r4, r0, 16 +_080A437A: + movs r3, 0x80 + lsls r3, 1 + str r4, [sp] + adds r0, r6, 0 + movs r1, 0 + adds r2, r3, 0 + bl sub_8075A1C + ldr r0, _080A439C @ =sub_80A43A0 + str r0, [r6, 0x1C] +_080A438E: + add sp, 0x4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080A4398: .4byte 0xffff8000 +_080A439C: .4byte sub_80A43A0 + thumb_func_end sub_80A4298 + + thumb_func_start sub_80A43A0 +sub_80A43A0: @ 80A43A0 + push {r4,lr} + adds r2, r0, 0 + ldrh r3, [r2, 0x2E] + movs r1, 0x2E + ldrsh r0, [r2, r1] + cmp r0, 0 + beq _080A43D0 + ldrh r0, [r2, 0x34] + ldrh r4, [r2, 0x30] + adds r0, r4 + strh r0, [r2, 0x30] + ldrh r1, [r2, 0x36] + ldrh r4, [r2, 0x32] + adds r1, r4 + strh r1, [r2, 0x32] + lsls r0, 16 + asrs r0, 20 + strh r0, [r2, 0x20] + lsls r1, 16 + asrs r1, 20 + strh r1, [r2, 0x22] + subs r0, r3, 0x1 + strh r0, [r2, 0x2E] + b _080A43D6 +_080A43D0: + adds r0, r2, 0 + bl move_anim_8074EE0 +_080A43D6: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80A43A0 + + thumb_func_start sub_80A43DC +sub_80A43DC: @ 80A43DC + push {lr} + adds r2, r0, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x10 + ands r0, r1 + cmp r0, 0 + beq _080A43F2 + adds r0, r2, 0 + bl DestroyAnimSprite +_080A43F2: + pop {r0} + bx r0 + thumb_func_end sub_80A43DC + + thumb_func_start sub_80A43F8 +sub_80A43F8: @ 80A43F8 + push {r4,lr} + adds r4, r0, 0 + ldr r0, _080A4418 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080A4420 + ldr r2, _080A441C @ =gBattleAnimArgs + ldrh r0, [r4, 0x20] + ldrh r1, [r2] + subs r0, r1 + strh r0, [r4, 0x20] + ldrh r0, [r2, 0x2] + b _080A442C + .align 2, 0 +_080A4418: .4byte gBattleAnimAttacker +_080A441C: .4byte gBattleAnimArgs +_080A4420: + ldr r0, _080A4444 @ =gBattleAnimArgs + ldrh r1, [r0] + ldrh r2, [r4, 0x20] + adds r1, r2 + strh r1, [r4, 0x20] + ldrh r0, [r0, 0x2] +_080A442C: + ldrh r1, [r4, 0x22] + adds r0, r1 + strh r0, [r4, 0x22] + ldr r0, _080A4448 @ =sub_8074F6C + str r0, [r4, 0x1C] + ldr r1, _080A444C @ =DestroyAnimSprite + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A4444: .4byte gBattleAnimArgs +_080A4448: .4byte sub_8074F6C +_080A444C: .4byte DestroyAnimSprite + thumb_func_end sub_80A43F8 + + thumb_func_start sub_80A4450 +sub_80A4450: @ 80A4450 + push {r4,r5,lr} + adds r5, r0, 0 + ldr r0, _080A4488 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _080A446A + adds r0, r5, 0 + movs r1, 0x1 + bl StartSpriteAnim +_080A446A: + ldr r0, _080A448C @ =sub_80A43DC + str r0, [r5, 0x1C] + ldr r4, _080A4490 @ =gBattleAnimArgs + movs r0, 0 + ldrsh r1, [r4, r0] + adds r0, r5, 0 + bl sub_8074FF8 + ldrh r0, [r4, 0x2] + ldrh r1, [r5, 0x22] + adds r0, r1 + strh r0, [r5, 0x22] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A4488: .4byte gBattleAnimAttacker +_080A448C: .4byte sub_80A43DC +_080A4490: .4byte gBattleAnimArgs + thumb_func_end sub_80A4450 + + thumb_func_start sub_80A4494 +sub_80A4494: @ 80A4494 + push {r4,lr} + adds r4, r0, 0 + ldr r1, _080A44D4 @ =gBattleAnimArgs + ldrh r0, [r1] + ldrh r2, [r4, 0x20] + adds r0, r2 + strh r0, [r4, 0x20] + ldrh r0, [r1, 0x2] + ldrh r2, [r4, 0x22] + adds r0, r2 + strh r0, [r4, 0x22] + ldrh r0, [r1, 0x4] + strh r0, [r4, 0x2E] + ldrh r0, [r1, 0x6] + strh r0, [r4, 0x30] + ldrh r0, [r1, 0x8] + strh r0, [r4, 0x34] + ldrh r0, [r1, 0xA] + strh r0, [r4, 0x38] + ldrb r1, [r1, 0xC] + adds r0, r4, 0 + bl StartSpriteAffineAnim + ldr r1, _080A44D8 @ =move_anim_8074EE0 + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 + ldr r0, _080A44DC @ =sub_8074E70 + str r0, [r4, 0x1C] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A44D4: .4byte gBattleAnimArgs +_080A44D8: .4byte move_anim_8074EE0 +_080A44DC: .4byte sub_8074E70 + thumb_func_end sub_80A4494 + + thumb_func_start sub_80A44E0 +sub_80A44E0: @ 80A44E0 + push {r4,r5,lr} + adds r5, r0, 0 + ldr r4, _080A4530 @ =gBattleAnimTarget + ldrb r0, [r4] + movs r1, 0 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x20] + ldrb r0, [r4] + movs r1, 0x1 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x22] + ldrb r0, [r4] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _080A4514 + ldrh r0, [r5, 0x22] + adds r0, 0x8 + strh r0, [r5, 0x22] +_080A4514: + ldr r0, _080A4534 @ =sub_80A46CC + str r0, [r5, 0x1C] + ldr r0, _080A4538 @ =gBattleAnimArgs + movs r2, 0x4 + ldrsh r1, [r0, r2] + adds r3, r0, 0 + cmp r1, 0 + bne _080A453C + ldrh r0, [r3] + ldrh r1, [r5, 0x20] + adds r0, r1 + strh r0, [r5, 0x20] + b _080A4550 + .align 2, 0 +_080A4530: .4byte gBattleAnimTarget +_080A4534: .4byte sub_80A46CC +_080A4538: .4byte gBattleAnimArgs +_080A453C: + ldrh r0, [r5, 0x20] + ldrh r1, [r3] + subs r0, r1 + strh r0, [r5, 0x20] + adds r2, r5, 0 + adds r2, 0x3F + ldrb r0, [r2] + movs r1, 0x1 + orrs r0, r1 + strb r0, [r2] +_080A4550: + ldrh r0, [r3, 0x2] + ldrh r2, [r5, 0x22] + adds r0, r2 + strh r0, [r5, 0x22] + ldr r1, _080A4584 @ =0xfffffc00 + adds r0, r1, 0 + ldrh r2, [r5, 0x30] + adds r1, r0, r2 + strh r1, [r5, 0x30] + movs r2, 0x80 + lsls r2, 3 + adds r0, r2, 0 + ldrh r2, [r5, 0x32] + adds r0, r2 + strh r0, [r5, 0x32] + ldrh r0, [r3, 0x4] + strh r0, [r5, 0x38] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + bne _080A457E + negs r0, r1 + strh r0, [r5, 0x30] +_080A457E: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A4584: .4byte 0xfffffc00 + thumb_func_end sub_80A44E0 + + thumb_func_start sub_80A4588 +sub_80A4588: @ 80A4588 + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r6, r0, 0 + ldr r0, _080A45A4 @ =gBattleAnimArgs + movs r1, 0x6 + ldrsh r0, [r0, r1] + cmp r0, 0x1 + beq _080A45A8 + cmp r0, 0x1 + ble _080A4624 + cmp r0, 0x2 + beq _080A45C8 + b _080A4624 + .align 2, 0 +_080A45A4: .4byte gBattleAnimArgs +_080A45A8: + ldr r5, _080A45C4 @ =gBattleAnimTarget + ldrb r0, [r5] + movs r4, 0x2 + eors r0, r4 + movs r1, 0 + bl sub_8074480 + lsls r0, 24 + lsrs r7, r0, 24 + ldrb r0, [r5] + eors r4, r0 + adds r0, r4, 0 + b _080A4634 + .align 2, 0 +_080A45C4: .4byte gBattleAnimTarget +_080A45C8: + ldr r5, _080A4620 @ =gBattleAnimTarget + ldrb r0, [r5] + movs r1, 0 + bl sub_8074480 + lsls r0, 24 + lsrs r7, r0, 24 + ldrb r0, [r5] + movs r1, 0x1 + bl sub_8074480 + lsls r0, 24 + lsrs r4, r0, 24 + ldrb r0, [r5] + movs r2, 0x2 + mov r8, r2 + mov r1, r8 + eors r0, r1 + bl sub_8072DF0 + lsls r0, 24 + cmp r0, 0 + beq _080A463E + ldrb r0, [r5] + mov r2, r8 + eors r0, r2 + movs r1, 0 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + adds r0, r7 + lsrs r7, r0, 1 + ldrb r0, [r5] + mov r1, r8 + eors r0, r1 + movs r1, 0x1 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + adds r0, r4 + lsrs r4, r0, 1 + b _080A463E + .align 2, 0 +_080A4620: .4byte gBattleAnimTarget +_080A4624: + ldr r4, _080A4670 @ =gBattleAnimTarget + ldrb r0, [r4] + movs r1, 0 + bl sub_8074480 + lsls r0, 24 + lsrs r7, r0, 24 + ldrb r0, [r4] +_080A4634: + movs r1, 0x1 + bl sub_8074480 + lsls r0, 24 + lsrs r4, r0, 24 +_080A463E: + strh r7, [r6, 0x20] + strh r4, [r6, 0x22] + ldr r0, _080A4670 @ =gBattleAnimTarget + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _080A4656 + ldrh r0, [r6, 0x22] + adds r0, 0x8 + strh r0, [r6, 0x22] +_080A4656: + ldr r0, _080A4674 @ =sub_80A46CC + str r0, [r6, 0x1C] + ldr r0, _080A4678 @ =gBattleAnimArgs + movs r2, 0x4 + ldrsh r1, [r0, r2] + adds r3, r0, 0 + cmp r1, 0 + bne _080A467C + ldrh r0, [r3] + ldrh r1, [r6, 0x20] + adds r0, r1 + strh r0, [r6, 0x20] + b _080A4690 + .align 2, 0 +_080A4670: .4byte gBattleAnimTarget +_080A4674: .4byte sub_80A46CC +_080A4678: .4byte gBattleAnimArgs +_080A467C: + ldrh r0, [r6, 0x20] + ldrh r1, [r3] + subs r0, r1 + strh r0, [r6, 0x20] + adds r2, r6, 0 + adds r2, 0x3F + ldrb r0, [r2] + movs r1, 0x1 + orrs r0, r1 + strb r0, [r2] +_080A4690: + ldrh r0, [r3, 0x2] + ldrh r2, [r6, 0x22] + adds r0, r2 + strh r0, [r6, 0x22] + ldr r1, _080A46C8 @ =0xfffffc00 + adds r0, r1, 0 + ldrh r2, [r6, 0x30] + adds r1, r0, r2 + strh r1, [r6, 0x30] + movs r2, 0x80 + lsls r2, 3 + adds r0, r2, 0 + ldrh r2, [r6, 0x32] + adds r0, r2 + strh r0, [r6, 0x32] + ldrh r0, [r3, 0x4] + strh r0, [r6, 0x38] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + bne _080A46BE + negs r0, r1 + strh r0, [r6, 0x30] +_080A46BE: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080A46C8: .4byte 0xfffffc00 + thumb_func_end sub_80A4588 + + thumb_func_start sub_80A46CC +sub_80A46CC: @ 80A46CC + push {r4,lr} + adds r4, r0, 0 + ldrh r1, [r4, 0x30] + ldrh r2, [r4, 0x34] + adds r0, r1, r2 + strh r0, [r4, 0x34] + ldrh r0, [r4, 0x32] + ldrh r2, [r4, 0x36] + adds r0, r2 + strh r0, [r4, 0x36] + movs r2, 0x38 + ldrsh r0, [r4, r2] + cmp r0, 0 + bne _080A46EE + adds r0, r1, 0 + adds r0, 0x18 + b _080A46F2 +_080A46EE: + adds r0, r1, 0 + subs r0, 0x18 +_080A46F2: + strh r0, [r4, 0x30] + ldrh r0, [r4, 0x32] + subs r0, 0x18 + strh r0, [r4, 0x32] + ldrh r0, [r4, 0x34] + lsls r0, 16 + asrs r0, 24 + strh r0, [r4, 0x24] + ldrh r0, [r4, 0x36] + lsls r0, 16 + asrs r0, 24 + strh r0, [r4, 0x26] + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x14 + bne _080A4728 + ldr r1, _080A4730 @ =DestroyAnimSprite + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 + movs r0, 0x3 + strh r0, [r4, 0x2E] + ldr r0, _080A4734 @ =sub_8074C44 + str r0, [r4, 0x1C] +_080A4728: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A4730: .4byte DestroyAnimSprite +_080A4734: .4byte sub_8074C44 + thumb_func_end sub_80A46CC + + thumb_func_start sub_80A4738 +sub_80A4738: @ 80A4738 + push {r4,r5,lr} + adds r5, r0, 0 + ldrh r1, [r5, 0x32] + movs r2, 0x32 + ldrsh r0, [r5, r2] + cmp r0, 0x1 + ble _080A47DC + ldrh r1, [r5, 0x34] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080A4794 + adds r3, r5, 0 + adds r3, 0x3E + ldrb r1, [r3] + movs r2, 0x5 + negs r2, r2 + adds r0, r2, 0 + ands r0, r1 + strb r0, [r3] + ldr r4, _080A4790 @ =gSprites + movs r0, 0x2E + ldrsh r1, [r5, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r4 + adds r0, 0x3E + ldrb r3, [r0] + adds r1, r2, 0 + ands r1, r3 + strb r1, [r0] + movs r0, 0x30 + ldrsh r1, [r5, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r4 + adds r0, 0x3E + ldrb r1, [r0] + ands r2, r1 + strb r2, [r0] + b _080A47CA + .align 2, 0 +_080A4790: .4byte gSprites +_080A4794: + adds r1, r5, 0 + adds r1, 0x3E + ldrb r0, [r1] + movs r2, 0x4 + orrs r0, r2 + strb r0, [r1] + ldr r3, _080A47D8 @ =gSprites + movs r0, 0x2E + ldrsh r1, [r5, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r3 + adds r0, 0x3E + ldrb r1, [r0] + orrs r1, r2 + strb r1, [r0] + movs r0, 0x30 + ldrsh r1, [r5, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r3 + adds r0, 0x3E + ldrb r1, [r0] + orrs r1, r2 + strb r1, [r0] +_080A47CA: + movs r0, 0 + strh r0, [r5, 0x32] + ldrh r0, [r5, 0x34] + adds r0, 0x1 + strh r0, [r5, 0x34] + b _080A47E0 + .align 2, 0 +_080A47D8: .4byte gSprites +_080A47DC: + adds r0, r1, 0x1 + strh r0, [r5, 0x32] +_080A47E0: + movs r1, 0x34 + ldrsh r0, [r5, r1] + cmp r0, 0xA + bne _080A4810 + movs r2, 0x2E + ldrsh r1, [r5, r2] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r4, _080A4818 @ =gSprites + adds r0, r4 + bl DestroySprite + movs r0, 0x30 + ldrsh r1, [r5, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r4 + bl DestroySprite + adds r0, r5, 0 + bl DestroyAnimSprite +_080A4810: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A4818: .4byte gSprites + thumb_func_end sub_80A4738 + + thumb_func_start sub_80A481C +sub_80A481C: @ 80A481C + push {r4,r5,lr} + adds r5, r0, 0 + ldr r4, _080A483C @ =gBattleAnimArgs + ldrh r0, [r4, 0x4] + strh r0, [r5, 0x2E] + ldr r0, _080A4840 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080A4844 + ldrh r0, [r5, 0x20] + ldrh r1, [r4] + subs r0, r1 + b _080A484A + .align 2, 0 +_080A483C: .4byte gBattleAnimArgs +_080A4840: .4byte gBattleAnimAttacker +_080A4844: + ldrh r0, [r4] + ldrh r1, [r5, 0x20] + adds r0, r1 +_080A484A: + strh r0, [r5, 0x20] + ldr r4, _080A4878 @ =gBattleAnimArgs + ldrb r1, [r4, 0xA] + adds r0, r5, 0 + bl StartSpriteAnim + ldrh r0, [r4, 0x6] + negs r0, r0 + strh r0, [r5, 0x30] + ldrh r0, [r4, 0x2] + ldrh r1, [r5, 0x22] + adds r0, r1 + strh r0, [r5, 0x22] + ldrh r0, [r4, 0x8] + strh r0, [r5, 0x34] + ldr r1, _080A487C @ =sub_80A4880 + str r1, [r5, 0x1C] + adds r0, r5, 0 + bl _call_via_r1 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A4878: .4byte gBattleAnimArgs +_080A487C: .4byte sub_80A4880 + thumb_func_end sub_80A481C + + thumb_func_start sub_80A4880 +sub_80A4880: @ 80A4880 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x2E + ldrsh r0, [r4, r1] + movs r1, 0x64 + bl Cos + strh r0, [r4, 0x24] + movs r2, 0x2E + ldrsh r0, [r4, r2] + movs r1, 0x14 + bl Sin + strh r0, [r4, 0x26] + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0x7F + bgt _080A48AC + adds r1, r4, 0 + adds r1, 0x43 + movs r0, 0 + b _080A48B2 +_080A48AC: + adds r1, r4, 0 + adds r1, 0x43 + movs r0, 0xE +_080A48B2: + strb r0, [r1] + ldrh r0, [r4, 0x30] + ldrh r2, [r4, 0x2E] + adds r0, r2 + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0x2E] + ldrh r0, [r4, 0x38] + adds r0, 0x82 + strh r0, [r4, 0x38] + lsls r0, 16 + asrs r0, 24 + ldrh r1, [r4, 0x26] + adds r0, r1 + strh r0, [r4, 0x26] + ldrh r0, [r4, 0x32] + adds r0, 0x1 + strh r0, [r4, 0x32] + lsls r0, 16 + asrs r0, 16 + movs r2, 0x34 + ldrsh r1, [r4, r2] + cmp r0, r1 + bne _080A48E8 + adds r0, r4, 0 + bl DestroyAnimSprite +_080A48E8: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80A4880 + + thumb_func_start sub_80A48F0 +sub_80A48F0: @ 80A48F0 + push {r4-r6,lr} + adds r5, r0, 0 + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + beq _080A4906 + ldr r1, _080A4964 @ =gBattleAnimArgs + ldrh r0, [r1, 0x2] + adds r0, 0x8 + strh r0, [r1, 0x2] +_080A4906: + ldr r6, _080A4968 @ =gBattleAnimAttacker + ldrb r0, [r6] + movs r1, 0 + bl sub_8074844 + lsls r0, 24 + ldr r4, _080A4964 @ =gBattleAnimArgs + lsrs r0, 24 + ldrh r1, [r4] + adds r0, r1 + strh r0, [r5, 0x20] + ldrb r0, [r6] + movs r1, 0x1 + bl sub_8074844 + lsls r0, 24 + lsrs r0, 24 + ldrh r4, [r4, 0x2] + adds r0, r4 + strh r0, [r5, 0x22] + ldrb r0, [r6] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080A4944 + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + beq _080A496C +_080A4944: + ldrb r0, [r6] + bl sub_8076884 + lsls r0, 24 + lsrs r0, 24 + adds r0, 0x1 + movs r1, 0x3 + ands r0, r1 + lsls r0, 2 + ldrb r2, [r5, 0x5] + movs r1, 0xD + negs r1, r1 + ands r1, r2 + orrs r1, r0 + strb r1, [r5, 0x5] + b _080A4984 + .align 2, 0 +_080A4964: .4byte gBattleAnimArgs +_080A4968: .4byte gBattleAnimAttacker +_080A496C: + ldrb r0, [r6] + bl sub_8076884 + movs r1, 0x3 + ands r1, r0 + lsls r1, 2 + ldrb r2, [r5, 0x5] + movs r0, 0xD + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r5, 0x5] +_080A4984: + ldr r0, _080A49C8 @ =gBattleAnimArgs + ldrh r0, [r0, 0x4] + strh r0, [r5, 0x2E] + ldr r0, _080A49CC @ =0x00002828 + bl IndexOfSpritePaletteTag + lsls r0, 24 + lsrs r0, 20 + movs r1, 0x80 + lsls r1, 1 + adds r0, r1 + strh r0, [r5, 0x32] + movs r4, 0x10 + movs r0, 0x10 + strh r0, [r5, 0x3C] + movs r1, 0xFD + lsls r1, 6 + movs r0, 0x50 + bl SetGpuReg + ldrh r0, [r5, 0x3C] + lsls r1, r0, 8 + subs r4, r0 + orrs r1, r4 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + ldr r0, _080A49D0 @ =sub_80A49D4 + str r0, [r5, 0x1C] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080A49C8: .4byte gBattleAnimArgs +_080A49CC: .4byte 0x00002828 +_080A49D0: .4byte sub_80A49D4 + thumb_func_end sub_80A48F0 + + thumb_func_start sub_80A49D4 +sub_80A49D4: @ 80A49D4 + push {r4-r6,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x38] + adds r0, 0x60 + strh r0, [r4, 0x38] + lsls r0, 16 + asrs r0, 24 + negs r0, r0 + strh r0, [r4, 0x24] + ldrh r0, [r4, 0x30] + adds r0, 0x1 + strh r0, [r4, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + ble _080A4A32 + movs r0, 0 + strh r0, [r4, 0x30] + ldr r1, _080A4A7C @ =gPlttBufferFaded + movs r2, 0x32 + ldrsh r0, [r4, r2] + adds r0, 0x1 + lsls r0, 1 + adds r0, r1 + ldrh r5, [r0] + movs r2, 0 + adds r6, r1, 0 + adds r3, r6, 0 +_080A4A0C: + movs r1, 0x32 + ldrsh r0, [r4, r1] + adds r2, 0x1 + adds r0, r2 + lsls r1, r0, 1 + adds r1, r3 + adds r0, 0x1 + lsls r0, 1 + adds r0, r3 + ldrh r0, [r0] + strh r0, [r1] + cmp r2, 0x5 + ble _080A4A0C + movs r2, 0x32 + ldrsh r0, [r4, r2] + adds r0, 0x7 + lsls r0, 1 + adds r0, r6 + strh r5, [r0] +_080A4A32: + ldrh r2, [r4, 0x3C] + movs r1, 0x3C + ldrsh r0, [r4, r1] + cmp r0, 0x6 + ble _080A4A6C + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0 + ble _080A4A80 + ldrh r0, [r4, 0x3A] + adds r0, 0x1 + strh r0, [r4, 0x3A] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + ble _080A4A6C + movs r0, 0 + strh r0, [r4, 0x3A] + subs r2, 0x1 + strh r2, [r4, 0x3C] + lsls r1, r2, 8 + movs r0, 0x10 + subs r0, r2 + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg +_080A4A6C: + ldrh r1, [r4, 0x2E] + movs r2, 0x2E + ldrsh r0, [r4, r2] + cmp r0, 0 + ble _080A4A80 + subs r0, r1, 0x1 + strh r0, [r4, 0x2E] + b _080A4AC2 + .align 2, 0 +_080A4A7C: .4byte gPlttBufferFaded +_080A4A80: + ldrh r0, [r4, 0x3A] + adds r0, 0x1 + strh r0, [r4, 0x3A] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + ble _080A4AC2 + movs r0, 0 + strh r0, [r4, 0x3A] + ldrh r2, [r4, 0x3C] + adds r2, 0x1 + strh r2, [r4, 0x3C] + lsls r1, r2, 8 + movs r0, 0x10 + subs r0, r2 + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + movs r1, 0x3C + ldrsh r0, [r4, r1] + cmp r0, 0x10 + bne _080A4AC2 + adds r2, r4, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] + ldr r0, _080A4AC8 @ =sub_8074F88 + str r0, [r4, 0x1C] +_080A4AC2: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080A4AC8: .4byte sub_8074F88 + thumb_func_end sub_80A49D4 + + thumb_func_start sub_80A4ACC +sub_80A4ACC: @ 80A4ACC + push {r4-r6,lr} + adds r4, r0, 0 + ldr r6, _080A4B2C @ =gBattleAnimTarget + ldrb r0, [r6] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + movs r5, 0 + strh r0, [r4, 0x20] + ldrb r0, [r6] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldr r1, _080A4B30 @ =0x0000ffe8 + adds r0, r1 + strh r0, [r4, 0x22] + strh r5, [r4, 0x2E] + strh r5, [r4, 0x30] + strh r5, [r4, 0x32] + strh r5, [r4, 0x34] + strh r5, [r4, 0x36] + strh r5, [r4, 0x3A] + movs r0, 0x10 + strh r0, [r4, 0x3C] + movs r1, 0xFD + lsls r1, 6 + movs r0, 0x50 + bl SetGpuReg + ldrh r1, [r4, 0x3C] + lsls r1, 8 + ldrh r0, [r4, 0x3A] + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + ldr r0, _080A4B34 @ =sub_80A4B38 + str r0, [r4, 0x1C] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080A4B2C: .4byte gBattleAnimTarget +_080A4B30: .4byte 0x0000ffe8 +_080A4B34: .4byte sub_80A4B38 + thumb_func_end sub_80A4ACC + + thumb_func_start sub_80A4B38 +sub_80A4B38: @ 80A4B38 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0x4 + bls _080A4B46 + b _080A4C90 +_080A4B46: + lsls r0, 2 + ldr r1, _080A4B50 @ =_080A4B54 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080A4B50: .4byte _080A4B54 + .align 2, 0 +_080A4B54: + .4byte _080A4B68 + .4byte _080A4BCC + .4byte _080A4BE8 + .4byte _080A4C66 + .4byte _080A4C7A +_080A4B68: + ldrh r0, [r4, 0x32] + adds r0, 0x1 + strh r0, [r4, 0x32] + lsls r0, 16 + cmp r0, 0 + bgt _080A4B76 + b _080A4C90 +_080A4B76: + movs r0, 0 + strh r0, [r4, 0x32] + ldrh r0, [r4, 0x30] + adds r0, 0x1 + strh r0, [r4, 0x30] + movs r1, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080A4B98 + ldrh r1, [r4, 0x3A] + movs r2, 0x3A + ldrsh r0, [r4, r2] + cmp r0, 0xF + bgt _080A4BA6 + adds r0, r1, 0x1 + strh r0, [r4, 0x3A] + b _080A4BA6 +_080A4B98: + ldrh r1, [r4, 0x3C] + movs r2, 0x3C + ldrsh r0, [r4, r2] + cmp r0, 0 + ble _080A4BA6 + subs r0, r1, 0x1 + strh r0, [r4, 0x3C] +_080A4BA6: + ldrh r1, [r4, 0x3C] + lsls r1, 8 + ldrh r0, [r4, 0x3A] + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + movs r1, 0x3A + ldrsh r0, [r4, r1] + cmp r0, 0x10 + bne _080A4C90 + movs r2, 0x3C + ldrsh r0, [r4, r2] + cmp r0, 0 + bne _080A4C90 + strh r0, [r4, 0x30] + b _080A4C72 +_080A4BCC: + ldrh r0, [r4, 0x30] + adds r0, 0x1 + strh r0, [r4, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x8 + ble _080A4C90 + movs r0, 0 + strh r0, [r4, 0x30] + adds r0, r4, 0 + movs r1, 0x1 + bl StartSpriteAffineAnim + b _080A4C72 +_080A4BE8: + adds r0, r4, 0 + movs r1, 0x10 + movs r2, 0x4 + bl sub_80A4C98 + ldrh r0, [r4, 0x30] + adds r0, 0x1 + strh r0, [r4, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x2 + ble _080A4C0A + movs r0, 0 + strh r0, [r4, 0x30] + ldrh r0, [r4, 0x22] + adds r0, 0x1 + strh r0, [r4, 0x22] +_080A4C0A: + ldrh r0, [r4, 0x32] + adds r1, r0, 0x1 + strh r1, [r4, 0x32] + lsls r0, r1, 16 + asrs r0, 16 + cmp r0, 0x1D + ble _080A4C90 + movs r0, 0x1 + ands r1, r0 + cmp r1, 0 + beq _080A4C30 + ldrh r1, [r4, 0x3A] + movs r2, 0x3A + ldrsh r0, [r4, r2] + cmp r0, 0 + ble _080A4C3E + subs r0, r1, 0x1 + strh r0, [r4, 0x3A] + b _080A4C3E +_080A4C30: + ldrh r1, [r4, 0x3C] + movs r2, 0x3C + ldrsh r0, [r4, r2] + cmp r0, 0xF + bgt _080A4C3E + adds r0, r1, 0x1 + strh r0, [r4, 0x3C] +_080A4C3E: + ldrh r1, [r4, 0x3C] + lsls r1, 8 + ldrh r0, [r4, 0x3A] + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + movs r0, 0x3A + ldrsh r1, [r4, r0] + cmp r1, 0 + bne _080A4C90 + movs r2, 0x3C + ldrsh r0, [r4, r2] + cmp r0, 0x10 + bne _080A4C90 + strh r1, [r4, 0x30] + strh r1, [r4, 0x32] + b _080A4C72 +_080A4C66: + adds r2, r4, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] +_080A4C72: + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + b _080A4C90 +_080A4C7A: + movs r0, 0x50 + movs r1, 0 + bl SetGpuReg + movs r0, 0x52 + movs r1, 0 + bl SetGpuReg + adds r0, r4, 0 + bl DestroyAnimSprite +_080A4C90: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80A4B38 + + thumb_func_start sub_80A4C98 +sub_80A4C98: @ 80A4C98 + push {r4,r5,lr} + adds r4, r0, 0 + movs r1, 0x34 + ldrsh r0, [r4, r1] + cmp r0, 0xB + bgt _080A4CAA + ldrh r0, [r4, 0x36] + adds r0, 0x2 + strh r0, [r4, 0x36] +_080A4CAA: + ldrh r5, [r4, 0x34] + adds r0, r5, 0 + subs r0, 0x12 + lsls r0, 16 + lsrs r0, 16 + adds r1, r5, 0 + cmp r0, 0x17 + bhi _080A4CC0 + ldrh r0, [r4, 0x36] + subs r0, 0x2 + strh r0, [r4, 0x36] +_080A4CC0: + lsls r0, r1, 16 + asrs r0, 16 + cmp r0, 0x2F + ble _080A4CCE + ldrh r0, [r4, 0x36] + adds r0, 0x2 + strh r0, [r4, 0x36] +_080A4CCE: + movs r1, 0x36 + ldrsh r0, [r4, r1] + movs r1, 0x9 + bl __divsi3 + strh r0, [r4, 0x24] + movs r1, 0x36 + ldrsh r0, [r4, r1] + movs r1, 0xE + bl __divsi3 + strh r0, [r4, 0x26] + lsls r0, 16 + cmp r0, 0 + bge _080A4CF4 + movs r1, 0x26 + ldrsh r0, [r4, r1] + negs r0, r0 + strh r0, [r4, 0x26] +_080A4CF4: + adds r0, r5, 0x1 + strh r0, [r4, 0x34] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x3B + ble _080A4D04 + movs r0, 0 + strh r0, [r4, 0x34] +_080A4D04: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80A4C98 + + thumb_func_start sub_80A4D0C +sub_80A4D0C: @ 80A4D0C + push {r4,r5,lr} + adds r4, r0, 0 + ldr r5, _080A4D50 @ =gBattleAnimArgs + movs r1, 0x4 + ldrsh r0, [r5, r1] + cmp r0, 0 + bne _080A4D20 + adds r0, r4, 0 + bl sub_8074FCC +_080A4D20: + movs r0, 0 + ldrsh r1, [r5, r0] + adds r0, r4, 0 + bl sub_8074FF8 + ldrh r0, [r5, 0x2] + ldrh r1, [r4, 0x22] + adds r0, r1 + strh r0, [r4, 0x22] + ldrh r0, [r5, 0xA] + strh r0, [r4, 0x2E] + ldrh r0, [r5, 0x6] + strh r0, [r4, 0x30] + ldrh r0, [r5, 0x8] + strh r0, [r4, 0x32] + ldr r1, _080A4D54 @ =DestroyAnimSprite + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 + ldr r0, _080A4D58 @ =sub_8074D00 + str r0, [r4, 0x1C] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A4D50: .4byte gBattleAnimArgs +_080A4D54: .4byte DestroyAnimSprite +_080A4D58: .4byte sub_8074D00 + thumb_func_end sub_80A4D0C + + thumb_func_start sub_80A4D5C +sub_80A4D5C: @ 80A4D5C + push {r4-r6,lr} + adds r5, r0, 0 + ldr r0, _080A4D70 @ =gBattleAnimArgs + movs r1, 0x4 + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _080A4D78 + ldr r0, _080A4D74 @ =gBattleAnimAttacker + b _080A4D7A + .align 2, 0 +_080A4D70: .4byte gBattleAnimArgs +_080A4D74: .4byte gBattleAnimAttacker +_080A4D78: + ldr r0, _080A4DBC @ =gBattleAnimTarget +_080A4D7A: + ldrb r6, [r0] + bl sub_8075290 + lsls r0, 24 + cmp r0, 0 + beq _080A4DC4 + movs r1, 0x2 + adds r0, r6, 0 + eors r0, r1 + bl sub_8072DF0 + lsls r0, 24 + cmp r0, 0 + beq _080A4DC4 + ldr r4, _080A4DC0 @ =gBattleAnimArgs + ldrb r1, [r4, 0xC] + adds r2, r5, 0 + adds r2, 0x20 + adds r3, r5, 0 + adds r3, 0x22 + adds r0, r6, 0 + bl sub_8076D9C + movs r2, 0 + ldrsh r1, [r4, r2] + adds r0, r5, 0 + bl sub_8074FF8 + ldrh r0, [r4, 0x2] + ldrh r1, [r5, 0x22] + adds r0, r1 + strh r0, [r5, 0x22] + b _080A4E14 + .align 2, 0 +_080A4DBC: .4byte gBattleAnimTarget +_080A4DC0: .4byte gBattleAnimArgs +_080A4DC4: + ldr r4, _080A4DE4 @ =gBattleAnimArgs + movs r2, 0xC + ldrsh r0, [r4, r2] + cmp r0, 0 + bne _080A4DE8 + adds r0, r6, 0 + movs r1, 0 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x20] + adds r0, r6, 0 + movs r1, 0x1 + b _080A4DFA + .align 2, 0 +_080A4DE4: .4byte gBattleAnimArgs +_080A4DE8: + adds r0, r6, 0 + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x20] + adds r0, r6, 0 + movs r1, 0x3 +_080A4DFA: + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r4, [r4, 0x2] + adds r0, r4 + strh r0, [r5, 0x22] + ldr r0, _080A4E34 @ =gBattleAnimArgs + movs r2, 0 + ldrsh r1, [r0, r2] + adds r0, r5, 0 + bl sub_8074FF8 +_080A4E14: + ldr r1, _080A4E34 @ =gBattleAnimArgs + ldrh r0, [r1, 0xA] + strh r0, [r5, 0x2E] + ldrh r0, [r1, 0x6] + strh r0, [r5, 0x30] + ldrh r0, [r1, 0x8] + strh r0, [r5, 0x32] + ldr r1, _080A4E38 @ =DestroyAnimSprite + adds r0, r5, 0 + bl StoreSpriteCallbackInData6 + ldr r0, _080A4E3C @ =sub_8074D00 + str r0, [r5, 0x1C] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080A4E34: .4byte gBattleAnimArgs +_080A4E38: .4byte DestroyAnimSprite +_080A4E3C: .4byte sub_8074D00 + thumb_func_end sub_80A4D5C + + thumb_func_start sub_80A4E40 +sub_80A4E40: @ 80A4E40 + push {r4,lr} + adds r4, r0, 0 + bl sub_8074FCC + ldr r0, _080A4E6C @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _080A4E74 + ldr r0, _080A4E70 @ =gBattleAnimArgs + ldrh r1, [r0] + ldrh r2, [r4, 0x20] + adds r1, r2 + strh r1, [r4, 0x20] + ldrh r0, [r0, 0x2] + ldrh r1, [r4, 0x22] + adds r0, r1 + strh r0, [r4, 0x22] + b _080A4E8E + .align 2, 0 +_080A4E6C: .4byte gBattleAnimAttacker +_080A4E70: .4byte gBattleAnimArgs +_080A4E74: + ldr r2, _080A4E98 @ =gBattleAnimArgs + ldrh r0, [r4, 0x20] + ldrh r1, [r2] + subs r0, r1 + strh r0, [r4, 0x20] + ldrh r0, [r2, 0x2] + ldrh r2, [r4, 0x22] + adds r0, r2 + strh r0, [r4, 0x22] + adds r0, r4, 0 + movs r1, 0x1 + bl StartSpriteAnim +_080A4E8E: + ldr r0, _080A4E9C @ =sub_80A4EA0 + str r0, [r4, 0x1C] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A4E98: .4byte gBattleAnimArgs +_080A4E9C: .4byte sub_80A4EA0 + thumb_func_end sub_80A4E40 + + thumb_func_start sub_80A4EA0 +sub_80A4EA0: @ 80A4EA0 + push {r4,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1E + ble _080A4ED8 + movs r0, 0x2E + ldrsh r1, [r4, r0] + movs r0, 0x1E + subs r0, r1 + movs r1, 0x3 + bl __divsi3 + strh r0, [r4, 0x26] + movs r1, 0x30 + ldrsh r0, [r4, r1] + lsls r0, 18 + asrs r0, 16 + movs r1, 0x3 + bl Sin + strh r0, [r4, 0x24] + ldrh r0, [r4, 0x30] + adds r0, 0x1 + strh r0, [r4, 0x30] +_080A4ED8: + adds r0, r4, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x10 + ands r0, r1 + cmp r0, 0 + beq _080A4EEC + adds r0, r4, 0 + bl DestroyAnimSprite +_080A4EEC: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80A4EA0 + + thumb_func_start sub_80A4EF4 +sub_80A4EF4: @ 80A4EF4 + push {r4,lr} + adds r4, r0, 0 + bl sub_8074FCC + ldr r0, _080A4F24 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _080A4F2C + ldr r1, _080A4F28 @ =gBattleAnimArgs + ldrh r0, [r1] + ldrh r2, [r4, 0x20] + adds r0, r2 + strh r0, [r4, 0x20] + ldrh r0, [r1, 0x2] + ldrh r1, [r4, 0x22] + adds r0, r1 + strh r0, [r4, 0x22] + movs r0, 0x1 + strh r0, [r4, 0x34] + b _080A4F4A + .align 2, 0 +_080A4F24: .4byte gBattleAnimAttacker +_080A4F28: .4byte gBattleAnimArgs +_080A4F2C: + ldr r2, _080A4F54 @ =gBattleAnimArgs + ldrh r0, [r4, 0x20] + ldrh r1, [r2] + subs r0, r1 + strh r0, [r4, 0x20] + ldrh r0, [r2, 0x2] + ldrh r2, [r4, 0x22] + adds r0, r2 + strh r0, [r4, 0x22] + ldr r0, _080A4F58 @ =0x0000ffff + strh r0, [r4, 0x34] + adds r0, r4, 0 + movs r1, 0x1 + bl StartSpriteAffineAnim +_080A4F4A: + ldr r0, _080A4F5C @ =sub_80A4F60 + str r0, [r4, 0x1C] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A4F54: .4byte gBattleAnimArgs +_080A4F58: .4byte 0x0000ffff +_080A4F5C: .4byte sub_80A4F60 + thumb_func_end sub_80A4EF4 + + thumb_func_start sub_80A4F60 +sub_80A4F60: @ 80A4F60 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x2E + ldrsh r0, [r4, r1] + movs r1, 0x28 + bl __divsi3 + negs r0, r0 + strh r0, [r4, 0x26] + movs r2, 0x36 + ldrsh r0, [r4, r2] + movs r1, 0xA + bl __divsi3 + strh r0, [r4, 0x24] + movs r1, 0x34 + ldrsh r0, [r4, r1] + lsls r0, 1 + ldrh r2, [r4, 0x36] + adds r0, r2 + strh r0, [r4, 0x36] + ldrh r0, [r4, 0x30] + ldrh r2, [r4, 0x2E] + adds r1, r0, r2 + strh r1, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x3C + ble _080A4FA4 + adds r0, r4, 0 + bl move_anim_8074EE0 +_080A4FA4: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80A4F60 + + thumb_func_start sub_80A4FAC +sub_80A4FAC: @ 80A4FAC + push {lr} + ldrh r1, [r0, 0x20] + subs r1, 0x20 + strh r1, [r0, 0x20] + ldrh r1, [r0, 0x22] + subs r1, 0x20 + strh r1, [r0, 0x22] + movs r1, 0x14 + strh r1, [r0, 0x2E] + ldr r1, _080A4FCC @ =sub_8074C44 + str r1, [r0, 0x1C] + ldr r1, _080A4FD0 @ =sub_80A4FD4 + bl StoreSpriteCallbackInData6 + pop {r0} + bx r0 + .align 2, 0 +_080A4FCC: .4byte sub_8074C44 +_080A4FD0: .4byte sub_80A4FD4 + thumb_func_end sub_80A4FAC + + thumb_func_start sub_80A4FD4 +sub_80A4FD4: @ 80A4FD4 + push {r4-r6,lr} + adds r5, r0, 0 + ldrh r6, [r5, 0x38] + movs r1, 0x1 + adds r0, r1, 0 + ands r0, r6 + cmp r0, 0 + beq _080A4FEA + cmp r0, 0x1 + beq _080A5004 + b _080A506A +_080A4FEA: + strh r1, [r5, 0x2E] + ldr r0, _080A4FFC @ =sub_8074C44 + str r0, [r5, 0x1C] + ldr r1, _080A5000 @ =sub_80A4FD4 + adds r0, r5, 0 + bl StoreSpriteCallbackInData6 + b _080A506A + .align 2, 0 +_080A4FFC: .4byte sub_8074C44 +_080A5000: .4byte sub_80A4FD4 +_080A5004: + ldrh r3, [r5, 0x24] + ldrh r0, [r5, 0x20] + adds r3, r0 + movs r0, 0 + strh r3, [r5, 0x20] + ldrh r4, [r5, 0x26] + ldrh r1, [r5, 0x22] + adds r4, r1 + strh r4, [r5, 0x22] + strh r0, [r5, 0x26] + strh r0, [r5, 0x24] + movs r0, 0x8 + strh r0, [r5, 0x2E] + ldr r2, _080A5078 @ =gUnknown_83E3548 + lsls r0, r6, 16 + asrs r0, 24 + lsls r0, 1 + adds r1, r0, r2 + ldrb r1, [r1] + lsls r1, 24 + asrs r1, 24 + adds r3, r1 + strh r3, [r5, 0x32] + adds r2, 0x1 + adds r0, r2 + ldrb r0, [r0] + lsls r0, 24 + asrs r0, 24 + adds r4, r0 + strh r4, [r5, 0x36] + ldr r0, _080A507C @ =sub_8075590 + str r0, [r5, 0x1C] + ldr r1, _080A5080 @ =sub_80A5084 + adds r0, r5, 0 + bl StoreSpriteCallbackInData6 + movs r1, 0x80 + lsls r1, 1 + adds r0, r1, 0 + ldrh r1, [r5, 0x38] + adds r0, r1 + strh r0, [r5, 0x38] + movs r0, 0x3F + bl sub_8073A44 + adds r1, r0, 0 + lsls r1, 24 + asrs r1, 24 + movs r0, 0xCB + bl PlaySE12WithPanning +_080A506A: + ldrh r0, [r5, 0x38] + movs r1, 0x1 + eors r0, r1 + strh r0, [r5, 0x38] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080A5078: .4byte gUnknown_83E3548 +_080A507C: .4byte sub_8075590 +_080A5080: .4byte sub_80A5084 + thumb_func_end sub_80A4FD4 + + thumb_func_start sub_80A5084 +sub_80A5084: @ 80A5084 + push {lr} + adds r2, r0, 0 + ldrh r0, [r2, 0x38] + lsls r0, 16 + asrs r0, 24 + cmp r0, 0x4 + bne _080A50AC + movs r0, 0xA + strh r0, [r2, 0x2E] + ldr r0, _080A50A4 @ =sub_8074C44 + str r0, [r2, 0x1C] + ldr r1, _080A50A8 @ =sub_80A50B8 + adds r0, r2, 0 + bl StoreSpriteCallbackInData6 + b _080A50B0 + .align 2, 0 +_080A50A4: .4byte sub_8074C44 +_080A50A8: .4byte sub_80A50B8 +_080A50AC: + ldr r0, _080A50B4 @ =sub_80A4FD4 + str r0, [r2, 0x1C] +_080A50B0: + pop {r0} + bx r0 + .align 2, 0 +_080A50B4: .4byte sub_80A4FD4 + thumb_func_end sub_80A5084 + + thumb_func_start sub_80A50B8 +sub_80A50B8: @ 80A50B8 + push {r4-r7,lr} + adds r5, r0, 0 + ldrh r1, [r5, 0x6] + cmp r1, 0 + bne _080A50E0 + movs r0, 0x3 + strh r0, [r5, 0x2E] + strh r1, [r5, 0x30] + strh r1, [r5, 0x32] + ldr r0, _080A50D8 @ =sub_8074C44 + str r0, [r5, 0x1C] + ldr r1, _080A50DC @ =sub_80A5174 + adds r0, r5, 0 + bl StoreSpriteCallbackInData6 + b _080A5160 + .align 2, 0 +_080A50D8: .4byte sub_8074C44 +_080A50DC: .4byte sub_80A5174 +_080A50E0: + ldrh r0, [r5, 0x6] + cmp r0, 0x2 + beq _080A5100 + cmp r0, 0x2 + bgt _080A50F0 + cmp r0, 0x1 + beq _080A50F6 + b _080A5114 +_080A50F0: + cmp r0, 0x3 + beq _080A5108 + b _080A5114 +_080A50F6: + ldr r6, _080A50FC @ =0x0000fff8 + adds r7, r6, 0 + b _080A5118 + .align 2, 0 +_080A50FC: .4byte 0x0000fff8 +_080A5100: + ldr r7, _080A5104 @ =0x0000fff8 + b _080A5116 + .align 2, 0 +_080A5104: .4byte 0x0000fff8 +_080A5108: + movs r7, 0x8 + ldr r6, _080A5110 @ =0x0000fff8 + b _080A5118 + .align 2, 0 +_080A5110: .4byte 0x0000fff8 +_080A5114: + movs r7, 0x8 +_080A5116: + movs r6, 0x8 +_080A5118: + ldrh r0, [r5, 0x24] + ldrh r1, [r5, 0x20] + adds r0, r1 + movs r1, 0 + strh r0, [r5, 0x20] + ldrh r0, [r5, 0x26] + ldrh r2, [r5, 0x22] + adds r0, r2 + strh r0, [r5, 0x22] + strh r1, [r5, 0x26] + strh r1, [r5, 0x24] + movs r0, 0x6 + strh r0, [r5, 0x2E] + ldr r4, _080A5168 @ =gBattleAnimTarget + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + adds r0, r7 + strh r0, [r5, 0x32] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + adds r0, r6 + strh r0, [r5, 0x36] + ldr r0, _080A516C @ =sub_8075590 + str r0, [r5, 0x1C] + ldr r1, _080A5170 @ =sub_80A5220 + adds r0, r5, 0 + bl StoreSpriteCallbackInData6 +_080A5160: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080A5168: .4byte gBattleAnimTarget +_080A516C: .4byte sub_8075590 +_080A5170: .4byte sub_80A5220 + thumb_func_end sub_80A50B8 + + thumb_func_start sub_80A5174 +sub_80A5174: @ 80A5174 + push {r4,lr} + sub sp, 0xC + adds r4, r0, 0 + movs r1, 0x32 + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080A5194 + ldrh r0, [r4, 0x30] + adds r0, 0x3 + strh r0, [r4, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x10 + ble _080A51A4 + movs r0, 0x10 + b _080A51A2 +_080A5194: + ldrh r0, [r4, 0x30] + subs r0, 0x3 + strh r0, [r4, 0x30] + lsls r0, 16 + cmp r0, 0 + bge _080A51A4 + movs r0, 0 +_080A51A2: + strh r0, [r4, 0x30] +_080A51A4: + movs r0, 0x1 + str r0, [sp] + movs r0, 0 + str r0, [sp, 0x4] + str r0, [sp, 0x8] + movs r0, 0x1 + movs r1, 0x1 + movs r2, 0x1 + movs r3, 0x1 + bl sub_8075BE8 + ldrh r1, [r4, 0x30] + lsls r1, 24 + lsrs r1, 24 + ldr r2, _080A5200 @ =0x00007fff + bl BlendPalettes + movs r3, 0x30 + ldrsh r0, [r4, r3] + cmp r0, 0x10 + bne _080A520C + ldrh r0, [r4, 0x32] + adds r0, 0x1 + strh r0, [r4, 0x32] + ldrb r1, [r4, 0x5] + lsrs r1, 4 + lsls r0, r1, 5 + ldr r2, _080A5204 @ =gPlttBufferUnfaded + 0x210 + adds r0, r2 + lsls r1, 4 + ldr r3, _080A5208 @ =0x00000101 + adds r2, r3, 0 + orrs r1, r2 + movs r2, 0x4 + bl LoadPalette + movs r0, 0x3F + bl sub_8073A44 + adds r1, r0, 0 + lsls r1, 24 + asrs r1, 24 + movs r0, 0xB9 + bl PlaySE12WithPanning + b _080A5214 + .align 2, 0 +_080A5200: .4byte 0x00007fff +_080A5204: .4byte gPlttBufferUnfaded + 0x210 +_080A5208: .4byte 0x00000101 +_080A520C: + cmp r0, 0 + bne _080A5214 + ldr r0, _080A521C @ =sub_80A5220 + str r0, [r4, 0x1C] +_080A5214: + add sp, 0xC + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A521C: .4byte sub_80A5220 + thumb_func_end sub_80A5174 + + thumb_func_start sub_80A5220 +sub_80A5220: @ 80A5220 + push {lr} + adds r2, r0, 0 + ldr r0, _080A523C @ =gBattleAnimArgs + ldrh r1, [r0, 0xE] + ldr r0, _080A5240 @ =0x0000ffff + cmp r1, r0 + bne _080A5238 + movs r0, 0 + strh r0, [r2, 0x30] + strh r0, [r2, 0x2E] + ldr r0, _080A5244 @ =sub_80A5248 + str r0, [r2, 0x1C] +_080A5238: + pop {r0} + bx r0 + .align 2, 0 +_080A523C: .4byte gBattleAnimArgs +_080A5240: .4byte 0x0000ffff +_080A5244: .4byte sub_80A5248 + thumb_func_end sub_80A5220 + + thumb_func_start sub_80A5248 +sub_80A5248: @ 80A5248 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x2E + ldrsh r0, [r4, r1] + movs r1, 0x3 + bl __modsi3 + lsls r0, 16 + cmp r0, 0 + bne _080A527C + ldrh r0, [r4, 0x30] + adds r0, 0x1 + strh r0, [r4, 0x30] + adds r3, r4, 0 + adds r3, 0x3E + ldrb r2, [r3] + lsls r0, r2, 29 + lsrs r0, 31 + movs r1, 0x1 + eors r1, r0 + lsls r1, 2 + movs r0, 0x5 + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r3] +_080A527C: + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + movs r1, 0x30 + ldrsh r0, [r4, r1] + cmp r0, 0x8 + bne _080A5290 + adds r0, r4, 0 + bl DestroyAnimSprite +_080A5290: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80A5248 + + thumb_func_start sub_80A5298 +sub_80A5298: @ 80A5298 + push {r4,lr} + adds r3, r0, 0 + ldr r0, _080A52B8 @ =gBattleAnimArgs + ldrh r0, [r0] + strh r0, [r3, 0x6] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + bne _080A52BC + ldrh r0, [r3, 0x20] + subs r0, 0x18 + strh r0, [r3, 0x20] + ldrh r0, [r3, 0x22] + subs r0, 0x18 + strh r0, [r3, 0x22] + b _080A530E + .align 2, 0 +_080A52B8: .4byte gBattleAnimArgs +_080A52BC: + cmp r0, 0x2 + bne _080A52D8 + ldrh r0, [r3, 0x20] + subs r0, 0x18 + strh r0, [r3, 0x20] + ldrh r0, [r3, 0x22] + adds r0, 0x18 + strh r0, [r3, 0x22] + ldrb r1, [r3, 0x3] + movs r0, 0x3F + negs r0, r0 + ands r0, r1 + movs r1, 0x20 + b _080A530A +_080A52D8: + cmp r0, 0x3 + bne _080A52F4 + ldrh r0, [r3, 0x20] + adds r0, 0x18 + strh r0, [r3, 0x20] + ldrh r0, [r3, 0x22] + subs r0, 0x18 + strh r0, [r3, 0x22] + ldrb r1, [r3, 0x3] + movs r0, 0x3F + negs r0, r0 + ands r0, r1 + movs r1, 0x10 + b _080A530A +_080A52F4: + ldrh r0, [r3, 0x20] + adds r0, 0x18 + strh r0, [r3, 0x20] + ldrh r0, [r3, 0x22] + adds r0, 0x18 + strh r0, [r3, 0x22] + ldrb r1, [r3, 0x3] + movs r0, 0x3F + negs r0, r0 + ands r0, r1 + movs r1, 0x30 +_080A530A: + orrs r0, r1 + strb r0, [r3, 0x3] +_080A530E: + ldrh r2, [r3, 0x4] + lsls r1, r2, 22 + lsrs r1, 22 + adds r1, 0x10 + ldr r4, _080A5334 @ =0x000003ff + adds r0, r4, 0 + ands r1, r0 + ldr r0, _080A5338 @ =0xfffffc00 + ands r0, r2 + orrs r0, r1 + strh r0, [r3, 0x4] + ldr r1, _080A533C @ =sub_80A4FAC + str r1, [r3, 0x1C] + adds r0, r3, 0 + bl _call_via_r1 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A5334: .4byte 0x000003ff +_080A5338: .4byte 0xfffffc00 +_080A533C: .4byte sub_80A4FAC + thumb_func_end sub_80A5298 + + thumb_func_start sub_80A5340 +sub_80A5340: @ 80A5340 + push {lr} + adds r3, r0, 0 + adds r2, r3, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] + movs r0, 0 + strh r0, [r3, 0x2E] + ldr r0, _080A5368 @ =gBattleAnimArgs + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r0, 0x1 + beq _080A537C + cmp r0, 0x1 + bgt _080A536C + cmp r0, 0 + beq _080A5372 + b _080A538C + .align 2, 0 +_080A5368: .4byte gBattleAnimArgs +_080A536C: + cmp r0, 0x2 + beq _080A5384 + b _080A538C +_080A5372: + ldr r0, _080A5378 @ =sub_80A5398 + b _080A538E + .align 2, 0 +_080A5378: .4byte sub_80A5398 +_080A537C: + ldr r0, _080A5380 @ =sub_80A5474 + b _080A538E + .align 2, 0 +_080A5380: .4byte sub_80A5474 +_080A5384: + ldr r0, _080A5388 @ =sub_80A54C4 + b _080A538E + .align 2, 0 +_080A5388: .4byte sub_80A54C4 +_080A538C: + ldr r0, _080A5394 @ =sub_80A5584 +_080A538E: + str r0, [r3, 0x1C] + pop {r0} + bx r0 + .align 2, 0 +_080A5394: .4byte sub_80A5584 + thumb_func_end sub_80A5340 + + thumb_func_start sub_80A5398 +sub_80A5398: @ 80A5398 + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0x6 + strh r0, [r4, 0x2E] + ldr r5, _080A53D8 @ =gBattleAnimAttacker + ldrb r0, [r5] + bl GetBattlerSide + lsls r0, 24 + movs r2, 0x2 + negs r2, r2 + adds r1, r2, 0 + cmp r0, 0 + beq _080A53B6 + movs r1, 0x2 +_080A53B6: + strh r1, [r4, 0x30] + movs r0, 0 + strh r0, [r4, 0x32] + ldr r1, _080A53DC @ =gUnknown_2023D44 + ldrb r0, [r5] + adds r0, r1 + ldrb r0, [r0] + strh r0, [r4, 0x34] + ldr r1, _080A53E0 @ =sub_80A53E8 + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 + ldr r0, _080A53E4 @ =sub_8074DC4 + str r0, [r4, 0x1C] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A53D8: .4byte gBattleAnimAttacker +_080A53DC: .4byte gUnknown_2023D44 +_080A53E0: .4byte sub_80A53E8 +_080A53E4: .4byte sub_8074DC4 + thumb_func_end sub_80A5398 + + thumb_func_start sub_80A53E8 +sub_80A53E8: @ 80A53E8 + push {r4-r6,lr} + adds r5, r0, 0 + movs r0, 0x2E + ldrsh r6, [r5, r0] + cmp r6, 0 + bne _080A5424 + ldr r1, _080A5464 @ =gUnknown_2023D44 + ldr r4, _080A5468 @ =gBattleAnimAttacker + ldrb r0, [r4] + adds r0, r1 + ldrb r0, [r0] + strh r0, [r5, 0x34] + movs r1, 0 + bl sub_80758E0 + ldrb r0, [r4] + bl GetBattlerSide + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x3A] + ldr r2, _080A546C @ =0xfffffd00 + adds r1, r2, 0 + cmp r0, 0 + beq _080A5420 + movs r0, 0xC0 + lsls r0, 2 + adds r1, r0, 0 +_080A5420: + strh r1, [r5, 0x36] + strh r6, [r5, 0x38] +_080A5424: + ldrh r0, [r5, 0x36] + ldrh r1, [r5, 0x38] + adds r0, r1 + strh r0, [r5, 0x38] + ldrh r0, [r5, 0x34] + lsls r0, 24 + lsrs r0, 24 + movs r2, 0x80 + lsls r2, 1 + ldrh r3, [r5, 0x38] + adds r1, r2, 0 + bl obj_id_set_rotscale + ldrh r0, [r5, 0x34] + lsls r0, 24 + lsrs r0, 24 + bl sub_80759DC + ldrh r0, [r5, 0x2E] + adds r0, 0x1 + strh r0, [r5, 0x2E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x3 + ble _080A545E + movs r0, 0 + strh r0, [r5, 0x2E] + ldr r0, _080A5470 @ =sub_80A5584 + str r0, [r5, 0x1C] +_080A545E: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080A5464: .4byte gUnknown_2023D44 +_080A5468: .4byte gBattleAnimAttacker +_080A546C: .4byte 0xfffffd00 +_080A5470: .4byte sub_80A5584 + thumb_func_end sub_80A53E8 + + thumb_func_start sub_80A5474 +sub_80A5474: @ 80A5474 + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0x4 + strh r0, [r4, 0x2E] + ldr r5, _080A54B4 @ =gBattleAnimAttacker + ldrb r0, [r5] + bl GetBattlerSide + lsls r0, 24 + movs r1, 0x3 + cmp r0, 0 + beq _080A5492 + movs r0, 0x3 + negs r0, r0 + adds r1, r0, 0 +_080A5492: + strh r1, [r4, 0x30] + movs r0, 0 + strh r0, [r4, 0x32] + ldr r1, _080A54B8 @ =gUnknown_2023D44 + ldrb r0, [r5] + adds r0, r1 + ldrb r0, [r0] + strh r0, [r4, 0x34] + ldr r1, _080A54BC @ =sub_80A5584 + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 + ldr r0, _080A54C0 @ =sub_8074DC4 + str r0, [r4, 0x1C] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A54B4: .4byte gBattleAnimAttacker +_080A54B8: .4byte gUnknown_2023D44 +_080A54BC: .4byte sub_80A5584 +_080A54C0: .4byte sub_8074DC4 + thumb_func_end sub_80A5474 + + thumb_func_start sub_80A54C4 +sub_80A54C4: @ 80A54C4 + push {lr} + adds r1, r0, 0 + ldrh r0, [r1, 0x2E] + adds r0, 0x1 + strh r0, [r1, 0x2E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x8 + ble _080A54DE + movs r0, 0 + strh r0, [r1, 0x2E] + ldr r0, _080A54E4 @ =sub_80A54E8 + str r0, [r1, 0x1C] +_080A54DE: + pop {r0} + bx r0 + .align 2, 0 +_080A54E4: .4byte sub_80A54E8 + thumb_func_end sub_80A54C4 + + thumb_func_start sub_80A54E8 +sub_80A54E8: @ 80A54E8 + push {r4,r5,lr} + adds r5, r0, 0 + movs r1, 0x2E + ldrsh r0, [r5, r1] + cmp r0, 0 + bne _080A5538 + ldr r1, _080A5524 @ =gUnknown_2023D44 + ldr r4, _080A5528 @ =gBattleAnimAttacker + ldrb r0, [r4] + adds r0, r1 + ldrb r0, [r0] + strh r0, [r5, 0x34] + ldrb r0, [r4] + bl GetBattlerSide + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x3A] + ldrb r0, [r4] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080A552C + movs r0, 0xFC + lsls r0, 8 + strh r0, [r5, 0x36] + movs r0, 0xC0 + lsls r0, 4 + b _080A5536 + .align 2, 0 +_080A5524: .4byte gUnknown_2023D44 +_080A5528: .4byte gBattleAnimAttacker +_080A552C: + movs r0, 0x80 + lsls r0, 3 + strh r0, [r5, 0x36] + movs r0, 0xF4 + lsls r0, 8 +_080A5536: + strh r0, [r5, 0x38] +_080A5538: + ldrh r0, [r5, 0x36] + ldrh r1, [r5, 0x38] + adds r0, r1 + strh r0, [r5, 0x38] + ldrh r0, [r5, 0x34] + lsls r0, 24 + lsrs r0, 24 + movs r2, 0x80 + lsls r2, 1 + ldrh r3, [r5, 0x38] + adds r1, r2, 0 + bl obj_id_set_rotscale + ldrh r0, [r5, 0x34] + lsls r0, 24 + lsrs r0, 24 + bl sub_80759DC + ldrh r0, [r5, 0x2E] + adds r0, 0x1 + strh r0, [r5, 0x2E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x2 + ble _080A5578 + ldrh r0, [r5, 0x34] + lsls r0, 24 + lsrs r0, 24 + bl sub_8075980 + ldr r0, _080A5580 @ =sub_80A5584 + str r0, [r5, 0x1C] +_080A5578: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A5580: .4byte sub_80A5584 + thumb_func_end sub_80A54E8 + + thumb_func_start sub_80A5584 +sub_80A5584: @ 80A5584 + push {lr} + bl DestroyAnimSprite + pop {r0} + bx r0 + thumb_func_end sub_80A5584 + + thumb_func_start sub_80A5590 +sub_80A5590: @ 80A5590 + movs r1, 0 + strh r1, [r0, 0x2E] + ldr r1, _080A559C @ =sub_80A55A0 + str r1, [r0, 0x1C] + bx lr + .align 2, 0 +_080A559C: .4byte sub_80A55A0 + thumb_func_end sub_80A5590 + + thumb_func_start sub_80A55A0 +sub_80A55A0: @ 80A55A0 + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0x2E + ldrsh r5, [r4, r0] + cmp r5, 0x1 + beq _080A55FA + cmp r5, 0x1 + bgt _080A55B6 + cmp r5, 0 + beq _080A55BC + b _080A568E +_080A55B6: + cmp r5, 0x2 + beq _080A564C + b _080A568E +_080A55BC: + strh r5, [r4, 0x30] + ldr r1, _080A5640 @ =gUnknown_2023D44 + ldr r2, _080A5644 @ =gBattleAnimAttacker + ldrb r0, [r2] + adds r0, r1 + ldrb r0, [r0] + strh r0, [r4, 0x32] + ldrb r0, [r2] + bl GetBattlerSide + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x34] + ldr r2, _080A5648 @ =0xfffffe00 + adds r1, r2, 0 + cmp r0, 0 + beq _080A55E4 + movs r0, 0x80 + lsls r0, 2 + adds r1, r0, 0 +_080A55E4: + strh r1, [r4, 0x36] + strh r5, [r4, 0x38] + ldrh r0, [r4, 0x32] + lsls r0, 24 + lsrs r0, 24 + movs r1, 0 + bl sub_80758E0 + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] +_080A55FA: + ldrh r0, [r4, 0x36] + ldrh r1, [r4, 0x38] + adds r0, r1 + strh r0, [r4, 0x38] + ldrh r0, [r4, 0x32] + lsls r0, 24 + lsrs r0, 24 + movs r2, 0x80 + lsls r2, 1 + ldrh r3, [r4, 0x38] + adds r1, r2, 0 + bl obj_id_set_rotscale + ldrh r0, [r4, 0x32] + lsls r0, 24 + lsrs r0, 24 + bl sub_80759DC + ldrh r0, [r4, 0x30] + adds r0, 0x1 + strh r0, [r4, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x3 + ble _080A568E + movs r0, 0 + strh r0, [r4, 0x30] + movs r2, 0x36 + ldrsh r0, [r4, r2] + negs r0, r0 + strh r0, [r4, 0x36] + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + b _080A568E + .align 2, 0 +_080A5640: .4byte gUnknown_2023D44 +_080A5644: .4byte gBattleAnimAttacker +_080A5648: .4byte 0xfffffe00 +_080A564C: + ldrh r0, [r4, 0x36] + ldrh r1, [r4, 0x38] + adds r0, r1 + strh r0, [r4, 0x38] + ldrh r0, [r4, 0x32] + lsls r0, 24 + lsrs r0, 24 + movs r2, 0x80 + lsls r2, 1 + ldrh r3, [r4, 0x38] + adds r1, r2, 0 + bl obj_id_set_rotscale + ldrh r0, [r4, 0x32] + lsls r0, 24 + lsrs r0, 24 + bl sub_80759DC + ldrh r0, [r4, 0x30] + adds r0, 0x1 + strh r0, [r4, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x3 + ble _080A568E + ldrh r0, [r4, 0x32] + lsls r0, 24 + lsrs r0, 24 + bl sub_8075980 + adds r0, r4, 0 + bl DestroyAnimSprite +_080A568E: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80A55A0 + + thumb_func_start sub_80A5694 +sub_80A5694: @ 80A5694 + push {r4-r6,lr} + lsls r0, 24 + lsrs r6, r0, 24 + ldr r1, _080A56D8 @ =gTasks + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + adds r5, r0, r1 + ldr r1, _080A56DC @ =gUnknown_2023D44 + ldr r2, _080A56E0 @ =gBattleAnimAttacker + ldrb r0, [r2] + adds r0, r1 + ldrb r0, [r0] + movs r4, 0 + strh r0, [r5, 0x8] + ldrb r0, [r2] + bl GetBattlerSide + lsls r0, 24 + lsrs r2, r0, 24 + strh r2, [r5, 0xA] + strh r4, [r5, 0xC] + ldr r0, _080A56E4 @ =gBattleAnimArgs + movs r3, 0 + ldrsh r1, [r0, r3] + cmp r1, 0 + beq _080A56E8 + cmp r1, 0x1 + beq _080A5704 + adds r0, r6, 0 + bl DestroyAnimVisualTask + b _080A5722 + .align 2, 0 +_080A56D8: .4byte gTasks +_080A56DC: .4byte gUnknown_2023D44 +_080A56E0: .4byte gBattleAnimAttacker +_080A56E4: .4byte gBattleAnimArgs +_080A56E8: + strh r1, [r5, 0xC] + movs r0, 0x8 + strh r0, [r5, 0xE] + strh r1, [r5, 0x10] + movs r0, 0x3 + strh r0, [r5, 0x12] + cmp r2, 0 + bne _080A56FC + negs r0, r0 + strh r0, [r5, 0x12] +_080A56FC: + ldr r0, _080A5700 @ =sub_80A572C + b _080A5720 + .align 2, 0 +_080A5700: .4byte sub_80A572C +_080A5704: + movs r0, 0x8 + strh r0, [r5, 0xE] + movs r0, 0xC0 + lsls r0, 3 + strh r0, [r5, 0x10] + movs r1, 0xC0 + strh r1, [r5, 0x12] + cmp r2, 0 + bne _080A571E + negs r0, r0 + strh r0, [r5, 0x10] + negs r0, r1 + strh r0, [r5, 0x12] +_080A571E: + ldr r0, _080A5728 @ =sub_80A58EC +_080A5720: + str r0, [r5] +_080A5722: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080A5728: .4byte sub_80A58EC + thumb_func_end sub_80A5694 + + thumb_func_start sub_80A572C +sub_80A572C: @ 80A572C + push {r4,lr} + lsls r0, 24 + lsrs r2, r0, 24 + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + ldr r1, _080A5750 @ =gTasks + adds r4, r0, r1 + movs r1, 0xC + ldrsh r0, [r4, r1] + cmp r0, 0x4 + bls _080A5746 + b _080A58E6 +_080A5746: + lsls r0, 2 + ldr r1, _080A5754 @ =_080A5758 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080A5750: .4byte gTasks +_080A5754: .4byte _080A5758 + .align 2, 0 +_080A5758: + .4byte _080A576C + .4byte _080A579E + .4byte _080A57F8 + .4byte _080A5870 + .4byte _080A58B4 +_080A576C: + movs r2, 0xE + ldrsh r1, [r4, r2] + cmp r1, 0 + beq _080A577C + ldrh r2, [r4, 0x12] + ldrh r3, [r4, 0x10] + adds r2, r3 + b _080A58C2 +_080A577C: + movs r0, 0x8 + strh r0, [r4, 0xE] + strh r1, [r4, 0x10] + movs r1, 0xA + ldrsh r0, [r4, r1] + movs r1, 0xC0 + cmp r0, 0 + bne _080A5792 + movs r2, 0xC0 + negs r2, r2 + adds r1, r2, 0 +_080A5792: + strh r1, [r4, 0x12] + ldrb r0, [r4, 0x8] + movs r1, 0 + bl sub_80758E0 + b _080A58A8 +_080A579E: + movs r3, 0xE + ldrsh r0, [r4, r3] + cmp r0, 0 + beq _080A57C4 + ldrh r0, [r4, 0x12] + ldrh r1, [r4, 0x10] + adds r0, r1 + strh r0, [r4, 0x10] + ldrb r0, [r4, 0x8] + movs r2, 0x80 + lsls r2, 1 + ldrh r3, [r4, 0x10] + adds r1, r2, 0 + bl obj_id_set_rotscale + ldrb r0, [r4, 0x8] + bl sub_80759DC + b _080A58D4 +_080A57C4: + movs r0, 0x8 + strh r0, [r4, 0xE] + ldr r2, _080A57F4 @ =gSprites + movs r3, 0x8 + ldrsh r1, [r4, r3] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r0, [r0, 0x24] + strh r0, [r4, 0x10] + movs r1, 0xA + ldrsh r0, [r4, r1] + movs r2, 0x2 + negs r2, r2 + adds r1, r2, 0 + cmp r0, 0 + bne _080A57EA + movs r1, 0x2 +_080A57EA: + strh r1, [r4, 0x12] + movs r0, 0x1 + strh r0, [r4, 0x14] + b _080A58A8 + .align 2, 0 +_080A57F4: .4byte gSprites +_080A57F8: + ldrh r2, [r4, 0xE] + movs r3, 0xE + ldrsh r0, [r4, r3] + cmp r0, 0 + beq _080A5854 + ldrh r1, [r4, 0x14] + movs r3, 0x14 + ldrsh r0, [r4, r3] + cmp r0, 0 + beq _080A5812 + subs r0, r1, 0x1 + strh r0, [r4, 0x14] + b _080A58E6 +_080A5812: + movs r0, 0x1 + ands r0, r2 + cmp r0, 0 + beq _080A5834 + ldr r2, _080A5830 @ =gSprites + movs r0, 0x8 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r1, [r4, 0x12] + ldrh r2, [r4, 0x10] + adds r1, r2 + b _080A5848 + .align 2, 0 +_080A5830: .4byte gSprites +_080A5834: + ldr r2, _080A5850 @ =gSprites + movs r3, 0x8 + ldrsh r1, [r4, r3] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r1, [r4, 0x10] + ldrh r2, [r4, 0x12] + subs r1, r2 +_080A5848: + strh r1, [r0, 0x24] + movs r0, 0x1 + strh r0, [r4, 0x14] + b _080A58D4 + .align 2, 0 +_080A5850: .4byte gSprites +_080A5854: + ldr r2, _080A586C @ =gSprites + movs r0, 0x8 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r1, [r4, 0x10] + strh r1, [r0, 0x24] + movs r0, 0xC + strh r0, [r4, 0xE] + b _080A58A8 + .align 2, 0 +_080A586C: .4byte gSprites +_080A5870: + ldrh r1, [r4, 0xE] + movs r2, 0xE + ldrsh r0, [r4, r2] + cmp r0, 0 + beq _080A5880 + subs r0, r1, 0x1 + strh r0, [r4, 0xE] + b _080A58E6 +_080A5880: + movs r0, 0x3 + strh r0, [r4, 0xE] + ldr r2, _080A58B0 @ =gSprites + movs r3, 0x8 + ldrsh r1, [r4, r3] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r0, [r0, 0x24] + strh r0, [r4, 0x10] + movs r1, 0xA + ldrsh r0, [r4, r1] + movs r2, 0x8 + negs r2, r2 + adds r1, r2, 0 + cmp r0, 0 + bne _080A58A6 + movs r1, 0x8 +_080A58A6: + strh r1, [r4, 0x12] +_080A58A8: + ldrh r0, [r4, 0xC] + adds r0, 0x1 + strh r0, [r4, 0xC] + b _080A58E6 + .align 2, 0 +_080A58B0: .4byte gSprites +_080A58B4: + movs r3, 0xE + ldrsh r0, [r4, r3] + cmp r0, 0 + beq _080A58E0 + ldrh r2, [r4, 0x12] + ldrh r0, [r4, 0x10] + adds r2, r0 +_080A58C2: + strh r2, [r4, 0x10] + ldr r3, _080A58DC @ =gSprites + movs r0, 0x8 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r3 + strh r2, [r0, 0x24] +_080A58D4: + ldrh r0, [r4, 0xE] + subs r0, 0x1 + strh r0, [r4, 0xE] + b _080A58E6 + .align 2, 0 +_080A58DC: .4byte gSprites +_080A58E0: + adds r0, r2, 0 + bl DestroyAnimVisualTask +_080A58E6: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80A572C + + thumb_func_start sub_80A58EC +sub_80A58EC: @ 80A58EC + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + ldr r1, _080A5928 @ =gTasks + adds r4, r0, r1 + movs r1, 0xE + ldrsh r0, [r4, r1] + cmp r0, 0 + beq _080A592C + ldrh r0, [r4, 0x10] + ldrh r1, [r4, 0x12] + subs r0, r1 + strh r0, [r4, 0x10] + ldrb r0, [r4, 0x8] + movs r2, 0x80 + lsls r2, 1 + ldrh r3, [r4, 0x10] + adds r1, r2, 0 + bl obj_id_set_rotscale + ldrb r0, [r4, 0x8] + bl sub_80759DC + ldrh r0, [r4, 0xE] + subs r0, 0x1 + strh r0, [r4, 0xE] + b _080A5938 + .align 2, 0 +_080A5928: .4byte gTasks +_080A592C: + ldrb r0, [r4, 0x8] + bl sub_8075980 + adds r0, r5, 0 + bl DestroyAnimVisualTask +_080A5938: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80A58EC + + thumb_func_start sub_80A5940 +sub_80A5940: @ 80A5940 + push {r4-r6,lr} + adds r5, r0, 0 + ldr r6, _080A5954 @ =gBattleAnimArgs + movs r1, 0 + ldrsh r0, [r6, r1] + cmp r0, 0 + bne _080A595C + ldr r4, _080A5958 @ =gBattleAnimAttacker + b _080A595E + .align 2, 0 +_080A5954: .4byte gBattleAnimArgs +_080A5958: .4byte gBattleAnimAttacker +_080A595C: + ldr r4, _080A599C @ =gBattleAnimTarget +_080A595E: + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r1, [r6, 0x2] + adds r0, r1 + strh r0, [r5, 0x20] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r6, [r6, 0x4] + adds r0, r6 + strh r0, [r5, 0x22] + movs r0, 0 + strh r0, [r5, 0x2E] + strh r0, [r5, 0x30] + ldr r1, _080A59A0 @ =sub_80A5A8C + adds r0, r5, 0 + bl StoreSpriteCallbackInData6 + ldr r0, _080A59A4 @ =sub_8074F6C + str r0, [r5, 0x1C] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080A599C: .4byte gBattleAnimTarget +_080A59A0: .4byte sub_80A5A8C +_080A59A4: .4byte sub_8074F6C + thumb_func_end sub_80A5940 + + thumb_func_start sub_80A59A8 +sub_80A59A8: @ 80A59A8 + push {r4,r5,lr} + adds r4, r0, 0 + ldr r5, _080A59E0 @ =gBattleAnimTarget + ldrb r0, [r5] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldr r1, _080A59E4 @ =0x0000ffd0 + adds r0, r1 + strh r0, [r4, 0x20] + ldrb r0, [r5] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x22] + ldr r1, _080A59E8 @ =sub_80A5A44 + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 + ldr r0, _080A59EC @ =sub_8074F6C + str r0, [r4, 0x1C] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A59E0: .4byte gBattleAnimTarget +_080A59E4: .4byte 0x0000ffd0 +_080A59E8: .4byte sub_80A5A44 +_080A59EC: .4byte sub_8074F6C + thumb_func_end sub_80A59A8 + + thumb_func_start sub_80A59F0 +sub_80A59F0: @ 80A59F0 + push {r4-r6,lr} + adds r4, r0, 0 + ldr r5, _080A5A34 @ =gBattleAnimTarget + ldrb r0, [r5] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldr r1, _080A5A38 @ =gBattleAnimArgs + ldr r2, _080A5A3C @ =0x0000ffd0 + adds r0, r2 + ldrh r1, [r1] + adds r0, r1 + movs r6, 0 + strh r0, [r4, 0x20] + ldrb r0, [r5] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x22] + adds r0, r4, 0 + movs r1, 0x1 + bl StartSpriteAnim + strh r6, [r4, 0x2E] + strh r6, [r4, 0x30] + ldr r0, _080A5A40 @ =sub_80A5A8C + str r0, [r4, 0x1C] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080A5A34: .4byte gBattleAnimTarget +_080A5A38: .4byte gBattleAnimArgs +_080A5A3C: .4byte 0x0000ffd0 +_080A5A40: .4byte sub_80A5A8C + thumb_func_end sub_80A59F0 + + thumb_func_start sub_80A5A44 +sub_80A5A44: @ 80A5A44 + push {r4,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x8 + ble _080A5A6E + movs r0, 0xC + strh r0, [r4, 0x2E] + movs r0, 0x8 + strh r0, [r4, 0x30] + movs r0, 0 + strh r0, [r4, 0x32] + ldr r1, _080A5A74 @ =sub_80A5A7C + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 + ldr r0, _080A5A78 @ =sub_8074CD0 + str r0, [r4, 0x1C] +_080A5A6E: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A5A74: .4byte sub_80A5A7C +_080A5A78: .4byte sub_8074CD0 + thumb_func_end sub_80A5A44 + + thumb_func_start sub_80A5A7C +sub_80A5A7C: @ 80A5A7C + movs r1, 0 + strh r1, [r0, 0x2E] + strh r1, [r0, 0x30] + ldr r1, _080A5A88 @ =sub_80A5A8C + str r1, [r0, 0x1C] + bx lr + .align 2, 0 +_080A5A88: .4byte sub_80A5A8C + thumb_func_end sub_80A5A7C + + thumb_func_start sub_80A5A8C +sub_80A5A8C: @ 80A5A8C + push {lr} + adds r3, r0, 0 + ldrh r0, [r3, 0x2E] + adds r0, 0x1 + strh r0, [r3, 0x2E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + ble _080A5AD4 + movs r0, 0 + strh r0, [r3, 0x2E] + movs r0, 0x3E + adds r0, r3 + mov r12, r0 + ldrb r2, [r0] + lsrs r1, r2, 2 + movs r0, 0x1 + eors r1, r0 + ands r1, r0 + lsls r1, 2 + movs r0, 0x5 + negs r0, r0 + ands r0, r2 + orrs r0, r1 + mov r1, r12 + strb r0, [r1] + ldrh r0, [r3, 0x30] + adds r0, 0x1 + strh r0, [r3, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x8 + ble _080A5AD4 + adds r0, r3, 0 + bl DestroyAnimSprite +_080A5AD4: + pop {r0} + bx r0 + thumb_func_end sub_80A5A8C + + thumb_func_start sub_80A5AD8 +sub_80A5AD8: @ 80A5AD8 + push {r4-r6,lr} + adds r5, r0, 0 + ldr r6, _080A5AEC @ =gBattleAnimArgs + movs r1, 0 + ldrsh r0, [r6, r1] + cmp r0, 0 + bne _080A5AF4 + ldr r4, _080A5AF0 @ =gBattleAnimAttacker + b _080A5AF6 + .align 2, 0 +_080A5AEC: .4byte gBattleAnimArgs +_080A5AF0: .4byte gBattleAnimAttacker +_080A5AF4: + ldr r4, _080A5B30 @ =gBattleAnimTarget +_080A5AF6: + ldrb r0, [r4] + movs r1, 0 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r1, [r6, 0x2] + adds r0, r1 + strh r0, [r5, 0x20] + ldrb r0, [r4] + movs r1, 0x1 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r6, [r6, 0x4] + adds r0, r6 + strh r0, [r5, 0x22] + movs r0, 0 + strh r0, [r5, 0x2E] + ldr r0, _080A5B34 @ =gBattleAnimArgs + ldrh r0, [r0, 0x6] + strh r0, [r5, 0x30] + ldr r0, _080A5B38 @ =sub_80A5B3C + str r0, [r5, 0x1C] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080A5B30: .4byte gBattleAnimTarget +_080A5B34: .4byte gBattleAnimArgs +_080A5B38: .4byte sub_80A5B3C + thumb_func_end sub_80A5AD8 + + thumb_func_start sub_80A5B3C +sub_80A5B3C: @ 80A5B3C + push {lr} + adds r2, r0, 0 + ldrh r0, [r2, 0x2E] + adds r0, 0x1 + strh r0, [r2, 0x2E] + lsls r0, 16 + asrs r0, 16 + movs r3, 0x30 + ldrsh r1, [r2, r3] + cmp r0, r1 + ble _080A5B5C + movs r0, 0 + strh r0, [r2, 0x2E] + ldrh r0, [r2, 0x22] + subs r0, 0x1 + strh r0, [r2, 0x22] +_080A5B5C: + ldrh r0, [r2, 0x22] + ldrh r1, [r2, 0x2E] + subs r0, r1 + strh r0, [r2, 0x22] + adds r0, r2, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x10 + ands r0, r1 + cmp r0, 0 + beq _080A5B78 + adds r0, r2, 0 + bl DestroyAnimSprite +_080A5B78: + pop {r0} + bx r0 + thumb_func_end sub_80A5B3C + + thumb_func_start sub_80A5B7C +sub_80A5B7C: @ 80A5B7C + push {r4-r6,lr} + adds r4, r0, 0 + ldr r6, _080A5BC4 @ =gBattleAnimAttacker + ldrb r0, [r6] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + movs r5, 0 + strh r0, [r4, 0x20] + ldrb r0, [r6] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + subs r0, 0xC + strh r0, [r4, 0x22] + strh r5, [r4, 0x2E] + movs r0, 0x2 + strh r0, [r4, 0x30] + strh r5, [r4, 0x32] + strh r5, [r4, 0x34] + strh r5, [r4, 0x36] + subs r0, 0x42 + bl sub_8073A44 + lsls r0, 24 + asrs r0, 24 + strh r0, [r4, 0x38] + ldr r0, _080A5BC8 @ =sub_80A5BCC + str r0, [r4, 0x1C] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080A5BC4: .4byte gBattleAnimAttacker +_080A5BC8: .4byte sub_80A5BCC + thumb_func_end sub_80A5B7C + + thumb_func_start sub_80A5BCC +sub_80A5BCC: @ 80A5BCC + push {r4,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + lsls r0, 16 + asrs r0, 16 + movs r2, 0x30 + ldrsh r1, [r4, r2] + cmp r0, r1 + blt _080A5C38 + adds r3, r4, 0 + adds r3, 0x3E + ldrb r2, [r3] + lsrs r1, r2, 2 + movs r0, 0x1 + eors r1, r0 + ands r1, r0 + lsls r1, 2 + movs r0, 0x5 + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r3] + movs r1, 0x4 + ands r0, r1 + cmp r0, 0 + bne _080A5C1E + ldrh r0, [r4, 0x36] + adds r0, 0x1 + strh r0, [r4, 0x36] + movs r1, 0x1 + ands r0, r1 + cmp r0, 0 + bne _080A5C1E + ldrh r1, [r4, 0x38] + lsls r1, 24 + asrs r1, 24 + movs r0, 0xBB + bl PlaySE12WithPanning +_080A5C1E: + movs r1, 0 + strh r1, [r4, 0x2E] + ldrh r0, [r4, 0x32] + adds r0, 0x1 + strh r0, [r4, 0x32] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + ble _080A5C38 + strh r1, [r4, 0x32] + ldrh r0, [r4, 0x30] + adds r0, 0x1 + strh r0, [r4, 0x30] +_080A5C38: + adds r0, r4, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x10 + ands r0, r1 + cmp r0, 0 + beq _080A5C62 + movs r1, 0x30 + ldrsh r0, [r4, r1] + cmp r0, 0x10 + ble _080A5C62 + adds r0, r4, 0 + adds r0, 0x3E + ldrb r1, [r0] + movs r0, 0x4 + ands r0, r1 + cmp r0, 0 + beq _080A5C62 + adds r0, r4, 0 + bl DestroyAnimSprite +_080A5C62: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80A5BCC + + thumb_func_start sub_80A5C68 +sub_80A5C68: @ 80A5C68 + push {r4-r6,lr} + adds r6, r0, 0 + movs r1, 0x2E + ldrsh r0, [r6, r1] + cmp r0, 0 + bne _080A5CB2 + ldr r4, _080A5CC8 @ =gBattleAnimAttacker + ldrb r0, [r4] + movs r1, 0 + bl sub_8074480 + lsls r0, 24 + ldr r5, _080A5CCC @ =gBattleAnimArgs + lsrs r0, 24 + ldrh r1, [r5] + adds r0, r1 + strh r0, [r6, 0x20] + ldrb r0, [r4] + movs r1, 0x1 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r5, [r5, 0x2] + adds r0, r5 + strh r0, [r6, 0x22] + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + beq _080A5CAC + ldrh r0, [r6, 0x22] + adds r0, 0xA + strh r0, [r6, 0x22] +_080A5CAC: + ldrh r0, [r6, 0x2E] + adds r0, 0x1 + strh r0, [r6, 0x2E] +_080A5CB2: + ldr r0, _080A5CCC @ =gBattleAnimArgs + ldrh r1, [r0, 0xE] + ldr r0, _080A5CD0 @ =0x0000ffff + cmp r1, r0 + bne _080A5CC2 + adds r0, r6, 0 + bl DestroyAnimSprite +_080A5CC2: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080A5CC8: .4byte gBattleAnimAttacker +_080A5CCC: .4byte gBattleAnimArgs +_080A5CD0: .4byte 0x0000ffff + thumb_func_end sub_80A5C68 + + thumb_func_start sub_80A5CD4 +sub_80A5CD4: @ 80A5CD4 + push {r4,lr} + lsls r0, 24 + lsrs r2, r0, 24 + ldr r1, _080A5CF4 @ =gTasks + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + adds r4, r0, r1 + movs r1, 0xC + ldrsh r0, [r4, r1] + cmp r0, 0x1 + bne _080A5D00 + ldr r1, _080A5CF8 @ =gBattleAnimArgs + ldr r0, _080A5CFC @ =0x0000ffff + strh r0, [r1, 0xE] + b _080A5D3E + .align 2, 0 +_080A5CF4: .4byte gTasks +_080A5CF8: .4byte gBattleAnimArgs +_080A5CFC: .4byte 0x0000ffff +_080A5D00: + cmp r0, 0x2 + bne _080A5D0C + adds r0, r2, 0 + bl DestroyAnimVisualTask + b _080A5D44 +_080A5D0C: + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x4 + bne _080A5D44 + movs r0, 0 + strh r0, [r4, 0x8] + ldrh r2, [r4, 0xA] + adds r2, 0x1 + strh r2, [r4, 0xA] + lsls r1, r2, 8 + movs r0, 0x10 + subs r0, r2 + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + movs r1, 0xA + ldrsh r0, [r4, r1] + cmp r0, 0x10 + bne _080A5D44 +_080A5D3E: + ldrh r0, [r4, 0xC] + adds r0, 0x1 + strh r0, [r4, 0xC] +_080A5D44: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80A5CD4 + + thumb_func_start sub_80A5D4C +sub_80A5D4C: @ 80A5D4C + push {r4,lr} + adds r4, r0, 0 + movs r1, 0 + bl sub_8075114 + adds r2, r4, 0 + adds r2, 0x2C + ldrb r0, [r2] + movs r1, 0x40 + orrs r0, r1 + strb r0, [r2] + ldr r0, _080A5D74 @ =gBattleAnimArgs + ldrh r0, [r0, 0x4] + strh r0, [r4, 0x2E] + ldr r0, _080A5D78 @ =sub_80A5D7C + str r0, [r4, 0x1C] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A5D74: .4byte gBattleAnimArgs +_080A5D78: .4byte sub_80A5D7C + thumb_func_end sub_80A5D4C + + thumb_func_start sub_80A5D7C +sub_80A5D7C: @ 80A5D7C + push {r4,r5,lr} + adds r5, r0, 0 + ldrh r1, [r5, 0x2E] + movs r2, 0x2E + ldrsh r0, [r5, r2] + cmp r0, 0 + beq _080A5D90 + subs r0, r1, 0x1 + strh r0, [r5, 0x2E] + b _080A5DCC +_080A5D90: + adds r2, r5, 0 + adds r2, 0x2C + ldrb r1, [r2] + movs r0, 0x41 + negs r0, r0 + ands r0, r1 + strb r0, [r2] + movs r0, 0x1E + strh r0, [r5, 0x2E] + ldr r4, _080A5DD4 @ =gBattleAnimAttacker + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x32] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x36] + ldr r0, _080A5DD8 @ =sub_8075590 + str r0, [r5, 0x1C] + ldr r1, _080A5DDC @ =DestroyAnimSprite + adds r0, r5, 0 + bl StoreSpriteCallbackInData6 +_080A5DCC: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A5DD4: .4byte gBattleAnimAttacker +_080A5DD8: .4byte sub_8075590 +_080A5DDC: .4byte DestroyAnimSprite + thumb_func_end sub_80A5D7C + + thumb_func_start sub_80A5DE0 +sub_80A5DE0: @ 80A5DE0 + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + ldr r1, _080A5E30 @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r4, r0, r1 + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x4 + bne _080A5E28 + movs r0, 0 + strh r0, [r4, 0x8] + ldrh r1, [r4, 0xA] + adds r1, 0x1 + strh r1, [r4, 0xA] + movs r0, 0x10 + subs r0, r1 + lsls r0, 8 + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + movs r1, 0xA + ldrsh r0, [r4, r1] + cmp r0, 0x10 + bne _080A5E28 + adds r0, r5, 0 + bl DestroyAnimVisualTask +_080A5E28: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A5E30: .4byte gTasks + thumb_func_end sub_80A5DE0 + + thumb_func_start sub_80A5E34 +sub_80A5E34: @ 80A5E34 + push {r4-r7,lr} + lsls r0, 24 + lsrs r7, r0, 24 + movs r4, 0 + ldr r0, _080A5E9C @ =gBattlersCount + ldrb r0, [r0] + cmp r4, r0 + bcs _080A5E90 + ldr r6, _080A5EA0 @ =gBattleAnimArgs + ldr r5, _080A5EA4 @ =gUnknown_3004FF0 +_080A5E48: + movs r1, 0 + ldrsh r0, [r6, r1] + cmp r0, 0x1 + bne _080A5E64 + adds r0, r4, 0 + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _080A5E64 + adds r0, r4, r5 + ldrb r0, [r0] + bl SetHealthboxSpriteInvisible +_080A5E64: + movs r1, 0x2 + ldrsh r0, [r6, r1] + cmp r0, 0x1 + bne _080A5E82 + adds r0, r4, 0 + bl GetBattlerSide + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080A5E82 + adds r0, r4, r5 + ldrb r0, [r0] + bl SetHealthboxSpriteInvisible +_080A5E82: + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _080A5E9C @ =gBattlersCount + ldrb r0, [r0] + cmp r4, r0 + bcc _080A5E48 +_080A5E90: + adds r0, r7, 0 + bl DestroyAnimVisualTask + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080A5E9C: .4byte gBattlersCount +_080A5EA0: .4byte gBattleAnimArgs +_080A5EA4: .4byte gUnknown_3004FF0 + thumb_func_end sub_80A5E34 + + thumb_func_start sub_80A5EA8 +sub_80A5EA8: @ 80A5EA8 + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + movs r4, 0 + b _080A5EC2 +_080A5EB2: + ldr r0, _080A5ED8 @ =gUnknown_3004FF0 + adds r0, r4, r0 + ldrb r0, [r0] + bl SetHealthboxSpriteVisible + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 +_080A5EC2: + ldr r0, _080A5EDC @ =gBattlersCount + ldrb r0, [r0] + cmp r4, r0 + bcc _080A5EB2 + adds r0, r5, 0 + bl DestroyAnimVisualTask + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A5ED8: .4byte gUnknown_3004FF0 +_080A5EDC: .4byte gBattlersCount + thumb_func_end sub_80A5EA8 + + thumb_func_start sub_80A5EE0 +sub_80A5EE0: @ 80A5EE0 + push {r4,lr} + adds r4, r0, 0 + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + beq _080A5EF6 + movs r0, 0x30 + strh r0, [r4, 0x20] + movs r0, 0x28 + b _080A5EFE +_080A5EF6: + ldr r0, _080A5F20 @ =gBattleAnimArgs + ldrh r1, [r0] + strh r1, [r4, 0x20] + ldrh r0, [r0, 0x2] +_080A5EFE: + strh r0, [r4, 0x22] + ldrb r1, [r4, 0x1] + movs r0, 0x3F + ands r0, r1 + strb r0, [r4, 0x1] + ldrb r0, [r4, 0x3] + movs r1, 0xC0 + orrs r0, r1 + strb r0, [r4, 0x3] + movs r0, 0 + strh r0, [r4, 0x2E] + ldr r0, _080A5F24 @ =sub_80A5F28 + str r0, [r4, 0x1C] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A5F20: .4byte gBattleAnimArgs +_080A5F24: .4byte sub_80A5F28 + thumb_func_end sub_80A5EE0 + + thumb_func_start sub_80A5F28 +sub_80A5F28: @ 80A5F28 + push {lr} + adds r1, r0, 0 + movs r2, 0x2E + ldrsh r0, [r1, r2] + cmp r0, 0 + beq _080A5F3A + adds r0, r1, 0 + bl DestroyAnimSprite +_080A5F3A: + pop {r0} + bx r0 + thumb_func_end sub_80A5F28 + + thumb_func_start sub_80A5F40 +sub_80A5F40: @ 80A5F40 + push {r4,lr} + adds r4, r0, 0 + ldr r0, _080A5F78 @ =gBattleAnimAttacker + ldrb r0, [r0] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + ldr r2, _080A5F7C @ =gBattleAnimArgs + lsrs r0, 24 + ldrh r1, [r2] + adds r0, r1 + movs r1, 0 + strh r0, [r4, 0x20] + ldrh r0, [r2, 0x2] + strh r0, [r4, 0x22] + strh r1, [r4, 0x2E] + strh r1, [r4, 0x30] + strh r1, [r4, 0x32] + strh r1, [r4, 0x34] + movs r0, 0x1 + strh r0, [r4, 0x36] + ldr r0, _080A5F80 @ =sub_80A5F84 + str r0, [r4, 0x1C] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A5F78: .4byte gBattleAnimAttacker +_080A5F7C: .4byte gBattleAnimArgs +_080A5F80: .4byte sub_80A5F84 + thumb_func_end sub_80A5F40 + + thumb_func_start sub_80A5F84 +sub_80A5F84: @ 80A5F84 + push {lr} + adds r1, r0, 0 + ldrh r0, [r1, 0x30] + adds r0, 0x1 + strh r0, [r1, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + ble _080A5FAE + movs r0, 0 + strh r0, [r1, 0x30] + ldrh r2, [r1, 0x32] + movs r3, 0x32 + ldrsh r0, [r1, r3] + cmp r0, 0x77 + bgt _080A5FAE + ldrh r0, [r1, 0x22] + adds r0, 0x1 + strh r0, [r1, 0x22] + adds r0, r2, 0x1 + strh r0, [r1, 0x32] +_080A5FAE: + movs r2, 0x2E + ldrsh r0, [r1, r2] + cmp r0, 0 + beq _080A5FBC + adds r0, r1, 0 + bl DestroyAnimSprite +_080A5FBC: + pop {r0} + bx r0 + thumb_func_end sub_80A5F84 + + thumb_func_start sub_80A5FC0 +sub_80A5FC0: @ 80A5FC0 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0xC + lsls r0, 24 + lsrs r7, r0, 24 + movs r4, 0 + str r4, [sp] + str r4, [sp, 0x4] + str r4, [sp, 0x8] + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + movs r3, 0 + bl sub_8075BE8 + mov r8, r0 + ldr r0, _080A6090 @ =0x0000ffff + mov r1, r8 + ands r1, r0 + mov r8, r1 + ldr r0, _080A6094 @ =gTasks + mov r9, r0 + lsls r5, r7, 2 + adds r5, r7 + lsls r5, 3 + adds r6, r5, r0 + strh r4, [r6, 0x8] + strh r4, [r6, 0xA] + strh r4, [r6, 0xC] + strh r1, [r6, 0xE] + strh r4, [r6, 0x10] + strh r4, [r6, 0x12] + strh r4, [r6, 0x14] + movs r0, 0xD + strh r0, [r6, 0x16] + movs r0, 0xE + strh r0, [r6, 0x18] + movs r0, 0xF + strh r0, [r6, 0x1A] + movs r0, 0x1 + movs r1, 0x1 + movs r2, 0x1 + movs r3, 0x1 + bl sub_8075CB8 + mov r10, r0 + mov r1, r8 + orrs r1, r0 + mov r8, r1 + movs r0, 0x8 + add r9, r0 + add r5, r9 + adds r0, r5, 0 + adds r0, 0x1C + adds r5, 0x1E + adds r1, r5, 0 + mov r2, r8 + bl sub_80765C0 + ldr r0, _080A6098 @ =0x000027d2 + bl IndexOfSpritePaletteTag + lsls r0, 24 + lsrs r0, 24 + movs r4, 0x80 + lsls r4, 9 + adds r1, r4, 0 + lsls r1, r0 + mov r0, r10 + orrs r0, r1 + mov r10, r0 + ldr r0, _080A609C @ =0x000027d3 + bl IndexOfSpritePaletteTag + lsls r0, 24 + lsrs r0, 24 + lsls r4, r0 + mov r1, r10 + orrs r4, r1 + ldr r0, _080A60A0 @ =0x00007fbb + str r0, [sp] + adds r0, r4, 0 + movs r1, 0 + movs r2, 0 + movs r3, 0x10 + bl BeginNormalPaletteFade + ldr r1, _080A60A4 @ =sub_80A60A8 + str r1, [r6] + adds r0, r7, 0 + bl _call_via_r1 + add sp, 0xC + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080A6090: .4byte 0x0000ffff +_080A6094: .4byte gTasks +_080A6098: .4byte 0x000027d2 +_080A609C: .4byte 0x000027d3 +_080A60A0: .4byte 0x00007fbb +_080A60A4: .4byte sub_80A60A8 + thumb_func_end sub_80A5FC0 + + thumb_func_start sub_80A60A8 +sub_80A60A8: @ 80A60A8 + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x4 + lsls r0, 24 + lsrs r2, r0, 24 + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + ldr r1, _080A60D0 @ =gTasks + adds r4, r0, r1 + movs r0, 0x8 + ldrsh r1, [r4, r0] + cmp r1, 0x1 + beq _080A6194 + cmp r1, 0x1 + bgt _080A60D4 + cmp r1, 0 + beq _080A60E2 + b _080A6232 + .align 2, 0 +_080A60D0: .4byte gTasks +_080A60D4: + cmp r1, 0x2 + bne _080A60DA + b _080A61EC +_080A60DA: + cmp r1, 0x3 + bne _080A60E0 + b _080A6220 +_080A60E0: + b _080A6232 +_080A60E2: + ldrh r0, [r4, 0xA] + adds r0, 0x1 + strh r0, [r4, 0xA] + lsls r0, 16 + cmp r0, 0 + bgt _080A60F0 + b _080A6232 +_080A60F0: + strh r1, [r4, 0xA] + ldrh r0, [r4, 0xC] + adds r0, 0x1 + strh r0, [r4, 0xC] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xF + bgt _080A613C + ldrh r0, [r4, 0x16] + ldrh r1, [r4, 0x10] + adds r0, r1 + strh r0, [r4, 0x10] + ldrh r2, [r4, 0x18] + ldrh r3, [r4, 0x12] + adds r2, r3 + strh r2, [r4, 0x12] + ldrh r1, [r4, 0x1A] + ldrh r5, [r4, 0x14] + adds r1, r5 + strh r1, [r4, 0x14] + lsls r0, 16 + asrs r0, 19 + lsls r0, 16 + lsrs r0, 16 + lsls r2, 16 + asrs r2, 19 + lsls r2, 16 + lsls r1, 16 + asrs r1, 19 + lsls r1, 16 + lsrs r2, 11 + orrs r0, r2 + lsrs r1, 6 + orrs r0, r1 + lsls r0, 16 + lsrs r0, 16 + mov r12, r0 + b _080A6146 +_080A613C: + ldr r7, _080A618C @ =0x00007fbb + mov r12, r7 + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] +_080A6146: + movs r2, 0x1 + movs r3, 0 + movs r1, 0 +_080A614C: + movs r5, 0xE + ldrsh r0, [r4, r5] + ands r0, r2 + lsls r5, r2, 17 + adds r6, r3, 0 + adds r6, 0x10 + adds r1, 0x1 + mov r8, r1 + cmp r0, 0 + beq _080A6178 + movs r1, 0x1 + ldr r2, _080A6190 @ =gPlttBufferFaded +_080A6164: + adds r0, r3, r1 + lsls r0, 1 + adds r0, r2 + mov r7, r12 + strh r7, [r0] + adds r0, r1, 0x1 + lsls r0, 16 + lsrs r1, r0, 16 + cmp r1, 0xF + bls _080A6164 +_080A6178: + lsrs r2, r5, 16 + lsls r0, r6, 16 + lsrs r3, r0, 16 + mov r1, r8 + lsls r0, r1, 16 + lsrs r1, r0, 16 + cmp r1, 0xF + bls _080A614C + b _080A6232 + .align 2, 0 +_080A618C: .4byte 0x00007fbb +_080A6190: .4byte gPlttBufferFaded +_080A6194: + ldr r0, _080A61DC @ =gPaletteFade + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + bne _080A6232 + movs r2, 0 + ldr r3, _080A61E0 @ =gSprites + movs r5, 0x14 + adds r5, r3 + mov r12, r5 + ldr r7, _080A61E4 @ =gUnknown_83E3734 + mov r8, r7 + ldr r6, _080A61E8 @ =gUnknown_83E3764 + movs r5, 0x1 +_080A61B2: + lsls r0, r2, 4 + adds r0, r2 + lsls r1, r0, 2 + mov r7, r12 + adds r0, r1, r7 + ldr r0, [r0] + cmp r0, r8 + beq _080A61C6 + cmp r0, r6 + bne _080A61CA +_080A61C6: + adds r0, r1, r3 + strh r5, [r0, 0x2E] +_080A61CA: + adds r0, r2, 0x1 + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0x3F + bls _080A61B2 + movs r0, 0 + strh r0, [r4, 0xA] + b _080A6214 + .align 2, 0 +_080A61DC: .4byte gPaletteFade +_080A61E0: .4byte gSprites +_080A61E4: .4byte gUnknown_83E3734 +_080A61E8: .4byte gUnknown_83E3764 +_080A61EC: + ldrh r0, [r4, 0xA] + adds r0, 0x1 + strh r0, [r4, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1E + ble _080A6232 + movs r1, 0x24 + ldrsh r0, [r4, r1] + movs r2, 0x26 + ldrsh r1, [r4, r2] + bl sub_80765C8 + ldr r1, _080A621C @ =0x00007fbb + str r1, [sp] + movs r1, 0 + movs r2, 0x10 + movs r3, 0 + bl BeginNormalPaletteFade +_080A6214: + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] + b _080A6232 + .align 2, 0 +_080A621C: .4byte 0x00007fbb +_080A6220: + ldr r0, _080A6240 @ =gPaletteFade + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + bne _080A6232 + adds r0, r2, 0 + bl DestroyAnimVisualTask +_080A6232: + add sp, 0x4 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080A6240: .4byte gPaletteFade + thumb_func_end sub_80A60A8 + + thumb_func_start sub_80A6244 +sub_80A6244: @ 80A6244 + push {r4-r6,lr} + adds r5, r0, 0 + ldr r6, _080A62C8 @ =gBattleAnimArgs + movs r1, 0x4 + ldrsh r0, [r6, r1] + cmp r0, 0x1 + bgt _080A6256 + movs r0, 0x2 + strh r0, [r6, 0x4] +_080A6256: + movs r1, 0x4 + ldrsh r0, [r6, r1] + cmp r0, 0x7F + ble _080A6262 + movs r0, 0x7F + strh r0, [r6, 0x4] +_080A6262: + movs r0, 0 + strh r0, [r5, 0x2E] + ldrh r0, [r6, 0x4] + strh r0, [r5, 0x30] + ldr r4, _080A62CC @ =gBattleAnimTarget + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r1, [r6] + adds r0, r1 + strh r0, [r5, 0x20] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r6, [r6, 0x2] + adds r0, r6 + strh r0, [r5, 0x22] + ldrh r1, [r5, 0x20] + strh r1, [r5, 0x3A] + strh r0, [r5, 0x3C] + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + beq _080A62D4 + ldrb r1, [r5, 0x3] + movs r0, 0x3F + negs r0, r0 + ands r0, r1 + movs r1, 0x10 + orrs r0, r1 + strb r0, [r5, 0x3] + ldrh r0, [r5, 0x20] + adds r0, 0x28 + strh r0, [r5, 0x20] + ldrh r4, [r5, 0x22] + adds r4, 0x14 + strh r4, [r5, 0x22] + lsls r0, 7 + strh r0, [r5, 0x32] + movs r0, 0x30 + ldrsh r1, [r5, r0] + ldr r0, _080A62D0 @ =0xffffec00 + b _080A62FA + .align 2, 0 +_080A62C8: .4byte gBattleAnimArgs +_080A62CC: .4byte gBattleAnimTarget +_080A62D0: .4byte 0xffffec00 +_080A62D4: + ldr r0, _080A6314 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _080A631C + ldrh r0, [r5, 0x20] + subs r0, 0x28 + strh r0, [r5, 0x20] + ldrh r4, [r5, 0x22] + adds r4, 0x14 + strh r4, [r5, 0x22] + lsls r0, 7 + strh r0, [r5, 0x32] + movs r0, 0x30 + ldrsh r1, [r5, r0] + movs r0, 0xA0 + lsls r0, 5 +_080A62FA: + bl __divsi3 + strh r0, [r5, 0x34] + lsls r4, 7 + strh r4, [r5, 0x36] + movs r0, 0x30 + ldrsh r1, [r5, r0] + ldr r0, _080A6318 @ =0xfffff600 + bl __divsi3 + strh r0, [r5, 0x38] + b _080A6358 + .align 2, 0 +_080A6314: .4byte gBattleAnimAttacker +_080A6318: .4byte 0xfffff600 +_080A631C: + ldrh r0, [r5, 0x20] + adds r0, 0x28 + strh r0, [r5, 0x20] + ldrh r4, [r5, 0x22] + subs r4, 0x14 + strh r4, [r5, 0x22] + lsls r0, 7 + strh r0, [r5, 0x32] + movs r0, 0x30 + ldrsh r1, [r5, r0] + ldr r0, _080A6364 @ =0xffffec00 + bl __divsi3 + strh r0, [r5, 0x34] + lsls r4, 7 + strh r4, [r5, 0x36] + movs r0, 0x30 + ldrsh r1, [r5, r0] + movs r0, 0xA0 + lsls r0, 4 + bl __divsi3 + strh r0, [r5, 0x38] + ldrb r1, [r5, 0x3] + movs r0, 0x3F + negs r0, r0 + ands r0, r1 + movs r1, 0x30 + orrs r0, r1 + strb r0, [r5, 0x3] +_080A6358: + ldr r0, _080A6368 @ =sub_80A636C + str r0, [r5, 0x1C] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080A6364: .4byte 0xffffec00 +_080A6368: .4byte sub_80A636C + thumb_func_end sub_80A6244 + + thumb_func_start sub_80A636C +sub_80A636C: @ 80A636C + push {lr} + adds r2, r0, 0 + ldrh r0, [r2, 0x34] + ldrh r1, [r2, 0x32] + adds r0, r1 + strh r0, [r2, 0x32] + ldrh r1, [r2, 0x38] + ldrh r3, [r2, 0x36] + adds r1, r3 + strh r1, [r2, 0x36] + lsls r0, 16 + asrs r0, 23 + strh r0, [r2, 0x20] + lsls r1, 16 + asrs r1, 23 + strh r1, [r2, 0x22] + ldrh r0, [r2, 0x30] + subs r0, 0x1 + strh r0, [r2, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + bne _080A63A2 + ldrh r0, [r2, 0x3A] + strh r0, [r2, 0x20] + ldrh r0, [r2, 0x3C] + strh r0, [r2, 0x22] +_080A63A2: + movs r1, 0x30 + ldrsh r0, [r2, r1] + cmp r0, 0 + bne _080A63B0 + adds r0, r2, 0 + bl DestroyAnimSprite +_080A63B0: + pop {r0} + bx r0 + thumb_func_end sub_80A636C + + thumb_func_start sub_80A63B4 +sub_80A63B4: @ 80A63B4 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + lsls r0, 2 + add r0, r8 + lsls r0, 3 + ldr r1, _080A6444 @ =gTasks + adds r6, r0, r1 + movs r0, 0 + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r0, 24 + strh r0, [r6, 0x8] + ldr r0, _080A6448 @ =0x00002771 + bl AllocSpritePalette + lsls r0, 24 + lsrs r0, 24 + strh r0, [r6, 0xA] + movs r1, 0xA + ldrsh r0, [r6, r1] + lsls r0, 20 + movs r1, 0x80 + lsls r1, 17 + adds r0, r1 + lsrs r3, r0, 16 + ldr r2, _080A644C @ =gSprites + movs r0, 0x8 + ldrsh r1, [r6, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrb r0, [r0, 0x5] + lsrs r0, 4 + adds r0, 0x10 + lsls r4, r0, 4 + movs r5, 0x1 + ldr r2, _080A6450 @ =gPlttBufferUnfaded +_080A640C: + adds r1, r3, r5 + lsls r1, 1 + adds r1, r2 + adds r0, r4, r5 + lsls r0, 1 + adds r0, r2 + ldrh r0, [r0] + strh r0, [r1] + adds r0, r5, 0x1 + lsls r0, 16 + lsrs r5, r0, 16 + cmp r5, 0xF + bls _080A640C + adds r0, r3, 0 + movs r1, 0x10 + movs r2, 0xB + movs r3, 0 + bl BlendPalette + movs r0, 0 + strh r0, [r6, 0xE] + movs r5, 0 + ldr r7, _080A644C @ =gSprites + movs r1, 0x1C + adds r1, r7 + mov r9, r1 + b _080A6488 + .align 2, 0 +_080A6444: .4byte gTasks +_080A6448: .4byte 0x00002771 +_080A644C: .4byte gSprites +_080A6450: .4byte gPlttBufferUnfaded +_080A6454: + lsls r2, r0, 4 + adds r2, r0 + lsls r2, 2 + adds r4, r2, r7 + ldrb r1, [r6, 0xA] + lsls r1, 4 + ldrb r3, [r4, 0x5] + movs r0, 0xF + ands r0, r3 + orrs r0, r1 + strb r0, [r4, 0x5] + movs r0, 0 + strh r0, [r4, 0x2E] + lsls r0, r5, 7 + strh r0, [r4, 0x30] + mov r0, r8 + strh r0, [r4, 0x32] + add r2, r9 + ldr r0, _080A64BC @ =sub_80A653C + str r0, [r2] + ldrh r0, [r6, 0xE] + adds r0, 0x1 + strh r0, [r6, 0xE] + adds r0, r5, 0x1 + lsls r0, 16 + lsrs r5, r0, 16 +_080A6488: + cmp r5, 0x1 + bhi _080A649A + movs r0, 0 + bl duplicate_obj_of_side_rel2move_in_transparent_mode + lsls r0, 16 + asrs r0, 16 + cmp r0, 0 + bge _080A6454 +_080A649A: + ldr r0, _080A64C0 @ =sub_80A64E0 + str r0, [r6] + ldr r0, _080A64C4 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl sub_80768B0 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080A64C8 + movs r1, 0x80 + lsls r1, 2 + movs r0, 0 + bl ClearGpuRegBits + b _080A64D2 + .align 2, 0 +_080A64BC: .4byte sub_80A653C +_080A64C0: .4byte sub_80A64E0 +_080A64C4: .4byte gBattleAnimAttacker +_080A64C8: + movs r1, 0x80 + lsls r1, 3 + movs r0, 0 + bl ClearGpuRegBits +_080A64D2: + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80A63B4 + + thumb_func_start sub_80A64E0 +sub_80A64E0: @ 80A64E0 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + ldr r1, _080A6514 @ =gTasks + adds r0, r1 + movs r1, 0xE + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _080A6532 + ldr r0, _080A6518 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl sub_80768B0 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080A651C + movs r1, 0x80 + lsls r1, 2 + movs r0, 0 + bl SetGpuRegBits + b _080A6526 + .align 2, 0 +_080A6514: .4byte gTasks +_080A6518: .4byte gBattleAnimAttacker +_080A651C: + movs r1, 0x80 + lsls r1, 3 + movs r0, 0 + bl SetGpuRegBits +_080A6526: + ldr r0, _080A6538 @ =0x00002771 + bl FreeSpritePaletteByTag + adds r0, r4, 0 + bl DestroyAnimVisualTask +_080A6532: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A6538: .4byte 0x00002771 + thumb_func_end sub_80A64E0 + + thumb_func_start sub_80A653C +sub_80A653C: @ 80A653C + push {r4,r5,lr} + adds r5, r0, 0 + ldrh r0, [r5, 0x34] + adds r0, 0x1 + strh r0, [r5, 0x34] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + ble _080A6558 + movs r0, 0 + strh r0, [r5, 0x34] + ldrh r0, [r5, 0x2E] + adds r0, 0x1 + strh r0, [r5, 0x2E] +_080A6558: + movs r1, 0x2E + ldrsh r0, [r5, r1] + cmp r0, 0x40 + ble _080A6580 + ldr r2, _080A657C @ =gTasks + movs r0, 0x32 + ldrsh r1, [r5, r0] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r2 + ldrh r1, [r0, 0xE] + subs r1, 0x1 + strh r1, [r0, 0xE] + adds r0, r5, 0 + bl obj_delete_but_dont_free_vram + b _080A65C2 + .align 2, 0 +_080A657C: .4byte gTasks +_080A6580: + ldr r4, _080A65C8 @ =gSineTable + movs r1, 0x2E + ldrsh r0, [r5, r1] + lsls r0, 1 + adds r0, r4 + movs r2, 0 + ldrsh r0, [r0, r2] + movs r1, 0x6 + bl __divsi3 + strh r0, [r5, 0x36] + movs r1, 0x2E + ldrsh r0, [r5, r1] + lsls r0, 1 + adds r0, r4 + movs r2, 0 + ldrsh r0, [r0, r2] + movs r1, 0xD + bl __divsi3 + strh r0, [r5, 0x38] + ldrh r1, [r5, 0x30] + adds r1, r0 + movs r0, 0xFF + ands r1, r0 + strh r1, [r5, 0x30] + movs r1, 0x30 + ldrsh r0, [r5, r1] + movs r2, 0x36 + ldrsh r1, [r5, r2] + bl Sin + strh r0, [r5, 0x24] +_080A65C2: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A65C8: .4byte gSineTable + thumb_func_end sub_80A653C + + thumb_func_start sub_80A65CC +sub_80A65CC: @ 80A65CC + push {r4,lr} + adds r4, r0, 0 + ldr r1, _080A65E0 @ =DestroyAnimSprite + bl StoreSpriteCallbackInData6 + ldr r0, _080A65E4 @ =sub_8074F6C + str r0, [r4, 0x1C] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A65E0: .4byte DestroyAnimSprite +_080A65E4: .4byte sub_8074F6C + thumb_func_end sub_80A65CC + + thumb_func_start sub_80A65E8 +sub_80A65E8: @ 80A65E8 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + lsls r0, 24 + lsrs r0, 24 + mov r9, r0 + ldr r4, _080A6698 @ =gUnknown_83E3898 + ldrh r0, [r4] + bl IndexOfSpritePaletteTag + lsls r0, 24 + lsrs r3, r0, 24 + cmp r3, 0xFF + beq _080A662C + lsls r0, r3, 20 + movs r1, 0x80 + lsls r1, 17 + adds r0, r1 + lsrs r3, r0, 16 + movs r2, 0x1 + ldr r5, _080A669C @ =gPlttBufferFaded +_080A6614: + adds r1, r3, r2 + lsls r1, 1 + adds r1, r5 + lsls r0, r2, 1 + adds r0, r4 + ldrh r0, [r0] + strh r0, [r1] + adds r0, r2, 0x1 + lsls r0, 16 + lsrs r2, r0, 16 + cmp r2, 0x5 + bls _080A6614 +_080A662C: + movs r4, 0x1 + ldr r0, _080A6698 @ =gUnknown_83E3898 + mov r8, r0 +_080A6632: + lsls r0, r4, 1 + adds r0, r4 + lsls r5, r0, 2 + mov r1, r8 + adds r0, r5, r1 + ldrh r0, [r0] + bl AllocSpritePalette + lsls r0, 24 + lsrs r3, r0, 24 + adds r4, 0x1 + mov r12, r4 + cmp r3, 0xFF + beq _080A667A + lsls r0, r3, 20 + movs r1, 0x80 + lsls r1, 17 + adds r0, r1 + lsrs r3, r0, 16 + movs r2, 0x1 + ldr r7, _080A669C @ =gPlttBufferFaded + ldr r6, _080A6698 @ =gUnknown_83E3898 + adds r4, r5, 0 +_080A6660: + adds r1, r3, r2 + lsls r1, 1 + adds r1, r7 + lsls r0, r2, 1 + adds r0, r4 + adds r0, r6 + ldrh r0, [r0] + strh r0, [r1] + adds r0, r2, 0x1 + lsls r0, 16 + lsrs r2, r0, 16 + cmp r2, 0x5 + bls _080A6660 +_080A667A: + mov r1, r12 + lsls r0, r1, 16 + lsrs r4, r0, 16 + cmp r4, 0x3 + bls _080A6632 + mov r0, r9 + bl DestroyAnimVisualTask + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080A6698: .4byte gUnknown_83E3898 +_080A669C: .4byte gPlttBufferFaded + thumb_func_end sub_80A65E8 + + thumb_func_start sub_80A66A0 +sub_80A66A0: @ 80A66A0 + push {r4-r6,lr} + lsls r0, 24 + lsrs r5, r0, 24 + movs r4, 0x1 + ldr r6, _080A66D0 @ =gUnknown_83E3898 +_080A66AA: + lsls r0, r4, 1 + adds r0, r4 + lsls r0, 2 + adds r0, r6 + ldrh r0, [r0] + bl FreeSpritePaletteByTag + adds r0, r4, 0x1 + lsls r0, 16 + lsrs r4, r0, 16 + cmp r4, 0x3 + bls _080A66AA + adds r0, r5, 0 + bl DestroyAnimVisualTask + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080A66D0: .4byte gUnknown_83E3898 + thumb_func_end sub_80A66A0 + + thumb_func_start sub_80A66D4 +sub_80A66D4: @ 80A66D4 + push {r4-r6,lr} + sub sp, 0x4 + adds r5, r0, 0 + bl sub_8074FCC + ldr r4, _080A672C @ =gBattleAnimArgs + ldrb r1, [r4] + adds r0, r5, 0 + bl StartSpriteAnim + ldr r2, _080A6730 @ =gUnknown_83E3898 + movs r0, 0x2 + ldrsh r1, [r4, r0] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r0, [r0] + bl IndexOfSpritePaletteTag + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0xFF + beq _080A6710 + lsls r2, r0, 4 + ldrb r1, [r5, 0x5] + movs r0, 0xF + ands r0, r1 + orrs r0, r2 + strb r0, [r5, 0x5] +_080A6710: + ldrh r0, [r4, 0x2] + movs r1, 0 + strh r0, [r5, 0x30] + strh r1, [r5, 0x32] + ldrh r0, [r4, 0x4] + strh r0, [r5, 0x34] + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + beq _080A6734 + movs r6, 0x30 + movs r3, 0x28 + b _080A674E + .align 2, 0 +_080A672C: .4byte gBattleAnimArgs +_080A6730: .4byte gUnknown_83E3898 +_080A6734: + ldr r4, _080A6784 @ =gBattleAnimTarget + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r6, r0, 24 + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r3, r0, 24 +_080A674E: + ldrh r0, [r5, 0x20] + lsls r1, r0, 4 + strh r1, [r5, 0x36] + ldrh r1, [r5, 0x22] + lsls r2, r1, 4 + strh r2, [r5, 0x38] + subs r0, r6, r0 + lsls r0, 16 + asrs r0, 16 + subs r1, r3, r1 + lsls r1, 16 + asrs r1, 16 + adds r2, r5, 0 + adds r2, 0x3A + adds r3, r5, 0 + adds r3, 0x3C + movs r4, 0x28 + str r4, [sp] + bl sub_80A678C + ldr r0, _080A6788 @ =sub_80A67E4 + str r0, [r5, 0x1C] + add sp, 0x4 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080A6784: .4byte gBattleAnimTarget +_080A6788: .4byte sub_80A67E4 + thumb_func_end sub_80A66D4 + + thumb_func_start sub_80A678C +sub_80A678C: @ 80A678C + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r7, r2, 0 + mov r8, r3 + ldr r2, [sp, 0x18] + lsls r1, 16 + lsrs r6, r1, 16 + lsls r2, 24 + lsrs r1, r2, 24 + lsls r0, 16 + asrs r2, r0, 16 + cmp r2, 0 + bge _080A67AE + lsls r0, r1, 24 + negs r0, r0 + lsrs r1, r0, 24 +_080A67AE: + lsls r5, r2, 8 + lsls r1, 24 + asrs r1, 24 + adds r0, r5, 0 + bl __divsi3 + adds r4, r0, 0 + cmp r4, 0 + bne _080A67C2 + movs r4, 0x1 +_080A67C2: + adds r0, r5, 0 + adds r1, r4, 0 + bl __divsi3 + strh r0, [r7] + lsls r0, r6, 16 + asrs r0, 8 + adds r1, r4, 0 + bl __divsi3 + mov r1, r8 + strh r0, [r1] + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80A678C + + thumb_func_start sub_80A67E4 +sub_80A67E4: @ 80A67E4 + push {r4,r5,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + movs r5, 0 + strh r0, [r4, 0x2E] + movs r0, 0x2E + ldrsh r1, [r4, r0] + lsls r0, r1, 2 + adds r1, r0, r1 + adds r0, r1, 0 + cmp r1, 0 + bge _080A6800 + adds r0, 0xFF +_080A6800: + asrs r0, 8 + lsls r0, 8 + subs r0, r1, r0 + ldrh r1, [r4, 0x3A] + ldrh r2, [r4, 0x36] + adds r1, r2 + strh r1, [r4, 0x36] + ldrh r2, [r4, 0x3C] + ldrh r3, [r4, 0x38] + adds r2, r3 + strh r2, [r4, 0x38] + lsls r1, 16 + asrs r1, 20 + strh r1, [r4, 0x20] + lsls r2, 16 + asrs r2, 20 + strh r2, [r4, 0x22] + lsls r0, 16 + asrs r0, 16 + movs r1, 0xF + bl Sin + strh r0, [r4, 0x26] + ldrh r2, [r4, 0x22] + ldrh r0, [r4, 0x20] + adds r0, 0x10 + lsls r0, 16 + movs r1, 0x88 + lsls r1, 17 + cmp r0, r1 + bhi _080A684E + lsls r0, r2, 16 + asrs r1, r0, 16 + movs r0, 0x10 + negs r0, r0 + cmp r1, r0 + blt _080A684E + cmp r1, 0x80 + ble _080A6856 +_080A684E: + adds r0, r4, 0 + bl move_anim_8074EE0 + b _080A68A6 +_080A6856: + movs r0, 0x34 + ldrsh r1, [r4, r0] + cmp r1, 0 + beq _080A68A6 + ldrh r0, [r4, 0x32] + adds r0, 0x1 + strh r0, [r4, 0x32] + lsls r0, 16 + asrs r0, 16 + cmp r0, r1 + ble _080A68A6 + strh r5, [r4, 0x32] + ldrh r0, [r4, 0x30] + adds r0, 0x1 + strh r0, [r4, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x3 + ble _080A687E + strh r5, [r4, 0x30] +_080A687E: + ldr r2, _080A68AC @ =gUnknown_83E3898 + movs r3, 0x30 + ldrsh r1, [r4, r3] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r0, [r0] + bl IndexOfSpritePaletteTag + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0xFF + beq _080A68A6 + lsls r2, r0, 4 + ldrb r1, [r4, 0x5] + movs r0, 0xF + ands r0, r1 + orrs r0, r2 + strb r0, [r4, 0x5] +_080A68A6: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A68AC: .4byte gUnknown_83E3898 + thumb_func_end sub_80A67E4 + + thumb_func_start sub_80A68B0 +sub_80A68B0: @ 80A68B0 + push {r4-r7,lr} + adds r6, r0, 0 + ldr r7, _080A6934 @ =gBattleAnimAttacker + ldrb r0, [r7] + bl GetBattlerSide + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080A68CE + ldr r1, _080A6938 @ =gBattleAnimArgs + movs r2, 0x2 + ldrsh r0, [r1, r2] + negs r0, r0 + strh r0, [r1, 0x2] +_080A68CE: + ldrb r0, [r7] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + ldr r4, _080A6938 @ =gBattleAnimArgs + lsrs r0, 24 + ldrh r1, [r4, 0x2] + adds r0, r1 + movs r5, 0 + strh r0, [r6, 0x20] + ldrb r0, [r7] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r2, [r4, 0x4] + adds r0, r2 + strh r0, [r6, 0x22] + ldrb r1, [r4] + adds r0, r6, 0 + bl StartSpriteAnim + strh r5, [r6, 0x32] + strh r5, [r6, 0x34] + ldrh r0, [r6, 0x20] + lsls r0, 4 + strh r0, [r6, 0x36] + ldrh r0, [r6, 0x22] + lsls r0, 4 + strh r0, [r6, 0x38] + movs r1, 0x2 + ldrsh r0, [r4, r1] + lsls r0, 4 + movs r1, 0x5 + bl __divsi3 + strh r0, [r6, 0x3A] + movs r2, 0x4 + ldrsh r0, [r4, r2] + lsls r0, 7 + movs r1, 0x5 + bl __divsi3 + strh r0, [r6, 0x3C] + ldr r0, _080A693C @ =sub_80A6940 + str r0, [r6, 0x1C] + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080A6934: .4byte gBattleAnimAttacker +_080A6938: .4byte gBattleAnimArgs +_080A693C: .4byte sub_80A6940 + thumb_func_end sub_80A68B0 + + thumb_func_start sub_80A6940 +sub_80A6940: @ 80A6940 + push {r4,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x3A] + ldrh r1, [r4, 0x36] + adds r0, r1 + strh r0, [r4, 0x36] + ldrh r1, [r4, 0x3C] + ldrh r2, [r4, 0x38] + adds r1, r2 + strh r1, [r4, 0x38] + lsls r0, 16 + asrs r0, 20 + strh r0, [r4, 0x20] + lsls r1, 16 + asrs r1, 20 + strh r1, [r4, 0x22] + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0x5 + ble _080A699E + movs r2, 0x34 + ldrsh r0, [r4, r2] + cmp r0, 0 + bne _080A699E + ldrh r0, [r4, 0x32] + adds r0, 0x10 + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0x32] + movs r1, 0x32 + ldrsh r0, [r4, r1] + movs r1, 0x12 + bl Cos + strh r0, [r4, 0x24] + movs r2, 0x32 + ldrsh r0, [r4, r2] + movs r1, 0x12 + bl Sin + strh r0, [r4, 0x26] + movs r1, 0x32 + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080A699E + movs r0, 0x1 + strh r0, [r4, 0x34] +_080A699E: + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x30 + bne _080A69B2 + adds r0, r4, 0 + bl move_anim_8074EE0 +_080A69B2: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80A6940 + + thumb_func_start sub_80A69B8 +sub_80A69B8: @ 80A69B8 + push {r4-r6,lr} + adds r5, r0, 0 + ldr r0, _080A69D8 @ =gBattleAnimArgs + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r0, 0x1 + bne _080A69DC + ldrb r0, [r5, 0x3] + movs r1, 0x3F + negs r1, r1 + ands r1, r0 + movs r0, 0x10 + orrs r1, r0 + strb r1, [r5, 0x3] + movs r6, 0x10 + b _080A69DE + .align 2, 0 +_080A69D8: .4byte gBattleAnimArgs +_080A69DC: + ldr r6, _080A6A18 @ =0x0000fff0 +_080A69DE: + ldr r4, _080A6A1C @ =gBattleAnimAttacker + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + adds r0, r6 + strh r0, [r5, 0x20] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + adds r0, 0x8 + strh r0, [r5, 0x22] + movs r0, 0x8 + strh r0, [r5, 0x2E] + ldr r0, _080A6A20 @ =sub_8074C44 + str r0, [r5, 0x1C] + ldr r1, _080A6A24 @ =DestroyAnimSprite + adds r0, r5, 0 + bl StoreSpriteCallbackInData6 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080A6A18: .4byte 0x0000fff0 +_080A6A1C: .4byte gBattleAnimAttacker +_080A6A20: .4byte sub_8074C44 +_080A6A24: .4byte DestroyAnimSprite + thumb_func_end sub_80A69B8 + + thumb_func_start sub_80A6A28 +sub_80A6A28: @ 80A6A28 + push {r4,r5,lr} + adds r4, r0, 0 + bl sub_8074FCC + ldrh r0, [r4, 0x22] + adds r0, 0x8 + strh r0, [r4, 0x22] + ldr r5, _080A6AA0 @ =gBattleAnimArgs + ldrb r1, [r5, 0x2] + adds r0, r4, 0 + bl StartSpriteAnim + ldr r2, _080A6AA4 @ =gUnknown_83E3898 + movs r0, 0x4 + ldrsh r1, [r5, r0] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r0, [r0] + bl IndexOfSpritePaletteTag + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0xFF + beq _080A6A68 + lsls r2, r0, 4 + ldrb r1, [r4, 0x5] + movs r0, 0xF + ands r0, r1 + orrs r0, r2 + strb r0, [r4, 0x5] +_080A6A68: + movs r1, 0 + ldrsh r0, [r5, r1] + movs r2, 0x20 + cmp r0, 0 + bne _080A6A74 + ldr r2, _080A6AA8 @ =0x0000ffe0 +_080A6A74: + movs r0, 0x28 + strh r0, [r4, 0x2E] + ldrh r1, [r4, 0x20] + strh r1, [r4, 0x30] + lsls r0, r2, 16 + asrs r0, 16 + adds r0, r1 + strh r0, [r4, 0x32] + ldrh r0, [r4, 0x22] + strh r0, [r4, 0x34] + subs r0, 0x28 + strh r0, [r4, 0x36] + adds r0, r4, 0 + bl obj_translate_based_on_private_1_2_3_4 + ldrh r0, [r5, 0x6] + strh r0, [r4, 0x38] + ldr r0, _080A6AAC @ =sub_80A6AB0 + str r0, [r4, 0x1C] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A6AA0: .4byte gBattleAnimArgs +_080A6AA4: .4byte gUnknown_83E3898 +_080A6AA8: .4byte 0x0000ffe0 +_080A6AAC: .4byte sub_80A6AB0 + thumb_func_end sub_80A6A28 + + thumb_func_start sub_80A6AB0 +sub_80A6AB0: @ 80A6AB0 + push {r4,lr} + adds r4, r0, 0 + bl sub_80755E0 + lsls r0, 24 + cmp r0, 0 + bne _080A6B00 + movs r1, 0x38 + ldrsh r0, [r4, r1] + movs r1, 0x8 + bl Sin + lsls r0, 16 + lsrs r1, r0, 16 + ldrh r2, [r4, 0x24] + movs r3, 0x24 + ldrsh r0, [r4, r3] + cmp r0, 0 + bge _080A6ADC + lsls r0, r1, 16 + negs r0, r0 + lsrs r1, r0, 16 +_080A6ADC: + lsls r0, r1, 16 + asrs r0, 16 + adds r0, r2 + strh r0, [r4, 0x24] + movs r1, 0x38 + ldrsh r0, [r4, r1] + movs r1, 0x4 + bl Sin + ldrh r3, [r4, 0x26] + adds r0, r3 + strh r0, [r4, 0x26] + ldrh r0, [r4, 0x38] + adds r0, 0x8 + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0x38] + b _080A6B06 +_080A6B00: + adds r0, r4, 0 + bl DestroyAnimSprite +_080A6B06: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80A6AB0 + + thumb_func_start sub_80A6B0C +sub_80A6B0C: @ 80A6B0C + push {r4-r6,lr} + adds r6, r1, 0 + lsls r0, 24 + lsrs r5, r0, 24 + adds r0, r5, 0 + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _080A6B2C + adds r0, r5, 0 + movs r1, 0x5 + bl sub_8076B2C + adds r0, 0x8 + b _080A6B36 +_080A6B2C: + adds r0, r5, 0 + movs r1, 0x4 + bl sub_8076B2C + subs r0, 0x8 +_080A6B36: + strh r0, [r6, 0x20] + adds r0, r5, 0 + movs r1, 0x3 + bl sub_8074480 + adds r4, r0, 0 + adds r0, r5, 0 + movs r1, 0 + bl sub_8076B2C + lsls r4, 24 + lsrs r4, 24 + lsls r0, 16 + asrs r0, 16 + cmp r0, 0 + bge _080A6B58 + adds r0, 0x3 +_080A6B58: + asrs r0, 2 + subs r0, r4, r0 + strh r0, [r6, 0x22] + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_80A6B0C + + thumb_func_start sub_80A6B64 +sub_80A6B64: @ 80A6B64 + push {r4,r5,lr} + adds r5, r0, 0 + ldr r0, _080A6B78 @ =gBattleAnimArgs + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _080A6B80 + ldr r0, _080A6B7C @ =gBattleAnimAttacker + b _080A6B82 + .align 2, 0 +_080A6B78: .4byte gBattleAnimArgs +_080A6B7C: .4byte gBattleAnimAttacker +_080A6B80: + ldr r0, _080A6BC0 @ =gBattleAnimTarget +_080A6B82: + ldrb r4, [r0] + adds r0, r4, 0 + adds r1, r5, 0 + bl sub_80A6B0C + adds r0, r4, 0 + bl GetBattlerSide + lsls r0, 24 + lsrs r0, 24 + negs r1, r0 + orrs r1, r0 + lsrs r1, 31 + ldr r0, _080A6BC4 @ =gBattleAnimArgs + ldrh r0, [r0, 0x2] + strh r0, [r5, 0x2E] + adds r0, r1, 0x2 + strh r0, [r5, 0x30] + adds r0, r5, 0 + bl StartSpriteAnim + ldr r1, _080A6BC8 @ =sub_80A6BD0 + adds r0, r5, 0 + bl StoreSpriteCallbackInData6 + ldr r0, _080A6BCC @ =sub_8074F6C + str r0, [r5, 0x1C] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A6BC0: .4byte gBattleAnimTarget +_080A6BC4: .4byte gBattleAnimArgs +_080A6BC8: .4byte sub_80A6BD0 +_080A6BCC: .4byte sub_8074F6C + thumb_func_end sub_80A6B64 + + thumb_func_start sub_80A6BD0 +sub_80A6BD0: @ 80A6BD0 + push {r4,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x2E] + subs r0, 0x1 + strh r0, [r4, 0x2E] + lsls r0, 16 + cmp r0, 0 + bne _080A6BF8 + ldr r1, _080A6C00 @ =DestroyAnimSprite + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 + ldrh r1, [r4, 0x30] + lsls r1, 24 + lsrs r1, 24 + adds r0, r4, 0 + bl StartSpriteAnim + ldr r0, _080A6C04 @ =sub_8074F6C + str r0, [r4, 0x1C] +_080A6BF8: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A6C00: .4byte DestroyAnimSprite +_080A6C04: .4byte sub_8074F6C + thumb_func_end sub_80A6BD0 + + thumb_func_start sub_80A6C08 +sub_80A6C08: @ 80A6C08 + push {r4,lr} + adds r4, r0, 0 + ldr r0, _080A6C1C @ =gBattleAnimArgs + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _080A6C24 + ldr r0, _080A6C20 @ =gBattleAnimAttacker + b _080A6C26 + .align 2, 0 +_080A6C1C: .4byte gBattleAnimArgs +_080A6C20: .4byte gBattleAnimAttacker +_080A6C24: + ldr r0, _080A6C44 @ =gBattleAnimTarget +_080A6C26: + ldrb r0, [r0] + adds r1, r4, 0 + bl sub_80A6B0C + movs r0, 0 + strh r0, [r4, 0x2E] + ldr r1, _080A6C48 @ =sub_80A6C50 + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 + ldr r0, _080A6C4C @ =sub_8074F50 + str r0, [r4, 0x1C] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A6C44: .4byte gBattleAnimTarget +_080A6C48: .4byte sub_80A6C50 +_080A6C4C: .4byte sub_8074F50 + thumb_func_end sub_80A6C08 + + thumb_func_start sub_80A6C50 +sub_80A6C50: @ 80A6C50 + push {r4,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x10 + ble _080A6C76 + adds r0, r4, 0 + movs r1, 0x1 + bl StartSpriteAffineAnim + ldr r1, _080A6C7C @ =move_anim_8074EE0 + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 + ldr r0, _080A6C80 @ =sub_8074F50 + str r0, [r4, 0x1C] +_080A6C76: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A6C7C: .4byte move_anim_8074EE0 +_080A6C80: .4byte sub_8074F50 + thumb_func_end sub_80A6C50 + + thumb_func_start sub_80A6C84 +sub_80A6C84: @ 80A6C84 + push {r4-r6,lr} + adds r4, r0, 0 + ldr r0, _080A6C98 @ =gBattleAnimArgs + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _080A6CA0 + ldr r0, _080A6C9C @ =gBattleAnimAttacker + b _080A6CA2 + .align 2, 0 +_080A6C98: .4byte gBattleAnimArgs +_080A6C9C: .4byte gBattleAnimAttacker +_080A6CA0: + ldr r0, _080A6CF4 @ =gBattleAnimTarget +_080A6CA2: + ldrb r5, [r0] + adds r0, r5, 0 + movs r1, 0 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + movs r6, 0 + strh r0, [r4, 0x20] + adds r0, r5, 0 + movs r1, 0x2 + bl sub_8076B2C + strh r0, [r4, 0x22] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x9 + bgt _080A6CCA + movs r0, 0xA + strh r0, [r4, 0x22] +_080A6CCA: + movs r0, 0x1 + strh r0, [r4, 0x2E] + strh r6, [r4, 0x30] + adds r1, r4, 0 + adds r1, 0x43 + ldrb r0, [r1] + strh r0, [r4, 0x32] + ldrb r0, [r1] + adds r0, 0x4 + strh r0, [r4, 0x34] + strh r6, [r4, 0x36] + ldr r1, _080A6CF8 @ =sub_80A6D00 + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 + ldr r0, _080A6CFC @ =sub_8074F50 + str r0, [r4, 0x1C] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080A6CF4: .4byte gBattleAnimTarget +_080A6CF8: .4byte sub_80A6D00 +_080A6CFC: .4byte sub_8074F50 + thumb_func_end sub_80A6C84 + + thumb_func_start sub_80A6D00 +sub_80A6D00: @ 80A6D00 + push {lr} + adds r1, r0, 0 + ldrh r0, [r1, 0x36] + adds r0, 0x1 + strh r0, [r1, 0x36] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xC + ble _080A6D16 + ldr r0, _080A6D1C @ =sub_80A6D20 + str r0, [r1, 0x1C] +_080A6D16: + pop {r0} + bx r0 + .align 2, 0 +_080A6D1C: .4byte sub_80A6D20 + thumb_func_end sub_80A6D00 + + thumb_func_start sub_80A6D20 +sub_80A6D20: @ 80A6D20 + push {lr} + adds r2, r0, 0 + ldrh r0, [r2, 0x30] + adds r1, r0, 0x4 + strh r1, [r2, 0x30] + lsls r0, r1, 16 + asrs r0, 16 + cmp r0, 0xFE + ble _080A6D52 + ldrh r0, [r2, 0x2E] + subs r0, 0x1 + strh r0, [r2, 0x2E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0 + bne _080A6D4C + strh r0, [r2, 0x24] + ldr r0, _080A6D48 @ =sub_80A6C50 + str r0, [r2, 0x1C] + b _080A6D88 + .align 2, 0 +_080A6D48: .4byte sub_80A6C50 +_080A6D4C: + movs r0, 0xFF + ands r1, r0 + strh r1, [r2, 0x30] +_080A6D52: + movs r1, 0x30 + ldrsh r0, [r2, r1] + cmp r0, 0x4F + ble _080A6D62 + ldrh r0, [r2, 0x34] + adds r1, r2, 0 + adds r1, 0x43 + strb r0, [r1] +_080A6D62: + movs r3, 0x30 + ldrsh r0, [r2, r3] + cmp r0, 0x9F + ble _080A6D72 + ldrh r0, [r2, 0x32] + adds r1, r2, 0 + adds r1, 0x43 + strb r0, [r1] +_080A6D72: + ldr r1, _080A6D8C @ =gSineTable + movs r3, 0x30 + ldrsh r0, [r2, r3] + lsls r0, 1 + adds r0, r1 + ldrh r0, [r0] + lsls r0, 16 + asrs r0, 19 + asrs r1, r0, 1 + adds r0, r1 + strh r0, [r2, 0x24] +_080A6D88: + pop {r0} + bx r0 + .align 2, 0 +_080A6D8C: .4byte gSineTable + thumb_func_end sub_80A6D20 + + thumb_func_start sub_80A6D90 +sub_80A6D90: @ 80A6D90 + push {r4,r5,lr} + adds r5, r0, 0 + ldr r0, _080A6DA4 @ =gBattleAnimArgs + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _080A6DAC + ldr r0, _080A6DA8 @ =gBattleAnimAttacker + b _080A6DAE + .align 2, 0 +_080A6DA4: .4byte gBattleAnimArgs +_080A6DA8: .4byte gBattleAnimAttacker +_080A6DAC: + ldr r0, _080A6DD0 @ =gBattleAnimTarget +_080A6DAE: + ldrb r4, [r0] + adds r0, r4, 0 + adds r1, r5, 0 + bl sub_80A6B0C + adds r0, r4, 0 + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _080A6DD4 + adds r0, r5, 0 + movs r1, 0 + bl StartSpriteAnim + movs r0, 0x2 + b _080A6DDE + .align 2, 0 +_080A6DD0: .4byte gBattleAnimTarget +_080A6DD4: + adds r0, r5, 0 + movs r1, 0x1 + bl StartSpriteAnim + movs r0, 0x3 +_080A6DDE: + strh r0, [r5, 0x2E] + ldr r0, _080A6DEC @ =sub_80A6DF0 + str r0, [r5, 0x1C] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A6DEC: .4byte sub_80A6DF0 + thumb_func_end sub_80A6D90 + + thumb_func_start sub_80A6DF0 +sub_80A6DF0: @ 80A6DF0 + push {r4,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x30] + adds r0, 0x1 + strh r0, [r4, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xA + ble _080A6E1E + movs r0, 0 + strh r0, [r4, 0x30] + ldrh r1, [r4, 0x2E] + lsls r1, 24 + lsrs r1, 24 + adds r0, r4, 0 + bl StartSpriteAnim + ldr r1, _080A6E24 @ =sub_80A6E2C + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 + ldr r0, _080A6E28 @ =sub_8074F6C + str r0, [r4, 0x1C] +_080A6E1E: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A6E24: .4byte sub_80A6E2C +_080A6E28: .4byte sub_8074F6C + thumb_func_end sub_80A6DF0 + + thumb_func_start sub_80A6E2C +sub_80A6E2C: @ 80A6E2C + push {lr} + adds r1, r0, 0 + ldrh r0, [r1, 0x30] + adds r0, 0x1 + strh r0, [r1, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x5 + ble _080A6E44 + adds r0, r1, 0 + bl DestroyAnimSprite +_080A6E44: + pop {r0} + bx r0 + thumb_func_end sub_80A6E2C + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/battle_anim_effects_2.s b/asm/battle_anim_effects_2.s new file mode 100644 index 000000000..3f3a083a3 --- /dev/null +++ b/asm/battle_anim_effects_2.s @@ -0,0 +1,7946 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start sub_80A6E48 +sub_80A6E48: @ 80A6E48 + push {r4,r5,lr} + adds r4, r0, 0 + bl sub_8074FCC + ldr r5, _080A6E8C @ =gBattleAnimArgs + movs r0, 0 + ldrsh r1, [r5, r0] + adds r0, r4, 0 + bl sub_8074FF8 + ldrh r0, [r5, 0x2] + ldrh r1, [r4, 0x22] + adds r0, r1 + strh r0, [r4, 0x22] + ldrh r0, [r5, 0x4] + strh r0, [r4, 0x30] + ldrh r0, [r5, 0x8] + strh r0, [r4, 0x32] + ldrh r0, [r5, 0xA] + strh r0, [r4, 0x34] + ldrh r0, [r5, 0x6] + strh r0, [r4, 0x36] + ldr r1, _080A6E90 @ =move_anim_8074EE0 + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 + ldr r1, _080A6E94 @ =sub_8074BE4 + str r1, [r4, 0x1C] + adds r0, r4, 0 + bl _call_via_r1 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A6E8C: .4byte gBattleAnimArgs +_080A6E90: .4byte move_anim_8074EE0 +_080A6E94: .4byte sub_8074BE4 + thumb_func_end sub_80A6E48 + + thumb_func_start sub_80A6E98 +sub_80A6E98: @ 80A6E98 + push {r4,lr} + adds r4, r0, 0 + ldr r0, _080A6EAC @ =gBattleAnimArgs + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _080A6EB4 + ldr r0, _080A6EB0 @ =gBattleAnimAttacker + b _080A6EB6 + .align 2, 0 +_080A6EAC: .4byte gBattleAnimArgs +_080A6EB0: .4byte gBattleAnimAttacker +_080A6EB4: + ldr r0, _080A6ED0 @ =gBattleAnimTarget +_080A6EB6: + ldrb r0, [r0] + adds r1, r4, 0 + bl sub_80A6B0C + movs r0, 0 + strh r0, [r4, 0x2E] + strh r0, [r4, 0x30] + ldr r0, _080A6ED4 @ =sub_80A6ED8 + str r0, [r4, 0x1C] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A6ED0: .4byte gBattleAnimTarget +_080A6ED4: .4byte sub_80A6ED8 + thumb_func_end sub_80A6E98 + + thumb_func_start sub_80A6ED8 +sub_80A6ED8: @ 80A6ED8 + push {lr} + adds r1, r0, 0 + movs r2, 0x2E + ldrsh r0, [r1, r2] + cmp r0, 0x1 + beq _080A6F0A + cmp r0, 0x1 + bgt _080A6EEE + cmp r0, 0 + beq _080A6EF4 + b _080A6F38 +_080A6EEE: + cmp r0, 0x2 + beq _080A6F24 + b _080A6F38 +_080A6EF4: + ldrh r0, [r1, 0x26] + subs r0, 0x3 + strh r0, [r1, 0x26] + ldrh r0, [r1, 0x30] + adds r0, 0x1 + strh r0, [r1, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x6 + bne _080A6F38 + b _080A6F1C +_080A6F0A: + ldrh r0, [r1, 0x26] + adds r0, 0x3 + strh r0, [r1, 0x26] + ldrh r0, [r1, 0x30] + subs r0, 0x1 + strh r0, [r1, 0x30] + lsls r0, 16 + cmp r0, 0 + bne _080A6F38 +_080A6F1C: + ldrh r0, [r1, 0x2E] + adds r0, 0x1 + strh r0, [r1, 0x2E] + b _080A6F38 +_080A6F24: + ldrh r0, [r1, 0x30] + adds r0, 0x1 + strh r0, [r1, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x40 + bne _080A6F38 + adds r0, r1, 0 + bl DestroyAnimSprite +_080A6F38: + pop {r0} + bx r0 + thumb_func_end sub_80A6ED8 + + thumb_func_start sub_80A6F3C +sub_80A6F3C: @ 80A6F3C + push {r4,lr} + adds r4, r0, 0 + ldr r3, _080A6F88 @ =gSprites + movs r0, 0x32 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r3 + ldrh r1, [r4, 0x30] + ldrh r2, [r0, 0x24] + adds r1, r2 + strh r1, [r0, 0x24] + movs r1, 0x30 + ldrsh r0, [r4, r1] + negs r0, r0 + strh r0, [r4, 0x30] + movs r0, 0x2E + ldrsh r2, [r4, r0] + cmp r2, 0 + bne _080A6F7A + movs r0, 0x32 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r3 + strh r2, [r0, 0x24] + adds r0, r4, 0 + bl move_anim_8074EE0 +_080A6F7A: + ldrh r0, [r4, 0x2E] + subs r0, 0x1 + strh r0, [r4, 0x2E] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A6F88: .4byte gSprites + thumb_func_end sub_80A6F3C + + thumb_func_start sub_80A6F8C +sub_80A6F8C: @ 80A6F8C + push {r4-r6,lr} + adds r5, r0, 0 + ldr r4, _080A6FD4 @ =gBattleAnimAttacker + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x20] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x22] + ldr r1, _080A6FD8 @ =gUnknown_2023D44 + ldr r0, _080A6FDC @ =gBattleAnimTarget + ldrb r0, [r0] + adds r0, r1 + ldrb r6, [r0] + ldrb r0, [r4] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080A6FE4 + ldr r0, _080A6FE0 @ =gBattleAnimArgs + ldrh r1, [r5, 0x20] + ldrh r2, [r0] + subs r1, r2 + strh r1, [r5, 0x20] + adds r1, r0, 0 + b _080A6FEE + .align 2, 0 +_080A6FD4: .4byte gBattleAnimAttacker +_080A6FD8: .4byte gUnknown_2023D44 +_080A6FDC: .4byte gBattleAnimTarget +_080A6FE0: .4byte gBattleAnimArgs +_080A6FE4: + ldr r1, _080A7018 @ =gBattleAnimArgs + ldrh r0, [r1] + ldrh r2, [r5, 0x20] + adds r0, r2 + strh r0, [r5, 0x20] +_080A6FEE: + ldrh r0, [r1, 0x2] + ldrh r2, [r5, 0x22] + adds r0, r2 + strh r0, [r5, 0x22] + ldrh r0, [r1, 0x4] + strh r0, [r5, 0x2E] + ldrh r0, [r1, 0x6] + strh r0, [r5, 0x30] + strh r6, [r5, 0x32] + ldr r0, _080A701C @ =sub_80A6F3C + str r0, [r5, 0x1C] + adds r2, r5, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080A7018: .4byte gBattleAnimArgs +_080A701C: .4byte sub_80A6F3C + thumb_func_end sub_80A6F8C + + thumb_func_start sub_80A7020 +sub_80A7020: @ 80A7020 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x1 + bl sub_8075160 + ldr r1, _080A704C @ =gBattleAnimArgs + ldrh r0, [r1, 0x4] + strh r0, [r4, 0x2E] + ldrh r0, [r1, 0x6] + strh r0, [r4, 0x30] + ldrh r0, [r1, 0x8] + strh r0, [r4, 0x38] + ldr r0, _080A7050 @ =sub_8074C44 + str r0, [r4, 0x1C] + ldr r1, _080A7054 @ =sub_80A7058 + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A704C: .4byte gBattleAnimArgs +_080A7050: .4byte sub_8074C44 +_080A7054: .4byte sub_80A7058 + thumb_func_end sub_80A7020 + + thumb_func_start sub_80A7058 +sub_80A7058: @ 80A7058 + push {lr} + ldrh r1, [r0, 0x30] + strh r1, [r0, 0x2E] + ldrh r1, [r0, 0x20] + strh r1, [r0, 0x32] + ldrh r1, [r0, 0x22] + adds r1, 0xF + strh r1, [r0, 0x36] + ldr r1, _080A7078 @ =sub_8075590 + str r1, [r0, 0x1C] + ldr r1, _080A707C @ =sub_80A7080 + bl StoreSpriteCallbackInData6 + pop {r0} + bx r0 + .align 2, 0 +_080A7078: .4byte sub_8075590 +_080A707C: .4byte sub_80A7080 + thumb_func_end sub_80A7058 + + thumb_func_start sub_80A7080 +sub_80A7080: @ 80A7080 + push {lr} + adds r1, r0, 0 + ldrh r2, [r1, 0x38] + movs r3, 0x38 + ldrsh r0, [r1, r3] + cmp r0, 0 + bne _080A7096 + adds r0, r1, 0 + bl DestroyAnimSprite + b _080A709A +_080A7096: + subs r0, r2, 0x1 + strh r0, [r1, 0x38] +_080A709A: + pop {r0} + bx r0 + thumb_func_end sub_80A7080 + + thumb_func_start sub_80A70A0 +sub_80A70A0: @ 80A70A0 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r1, _080A70CC @ =gUnknown_2023D44 + ldr r0, _080A70D0 @ =gBattleAnimAttacker + ldrb r0, [r0] + adds r0, r1 + ldrb r0, [r0] + movs r1, 0 + bl sub_80758E0 + ldr r1, _080A70D4 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r1, _080A70D8 @ =sub_80A70DC + str r1, [r0] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A70CC: .4byte gUnknown_2023D44 +_080A70D0: .4byte gBattleAnimAttacker +_080A70D4: .4byte gTasks +_080A70D8: .4byte sub_80A70DC + thumb_func_end sub_80A70A0 + + thumb_func_start sub_80A70DC +sub_80A70DC: @ 80A70DC + push {r4-r6,lr} + lsls r0, 24 + lsrs r5, r0, 24 + ldr r1, _080A710C @ =gUnknown_2023D44 + ldr r0, _080A7110 @ =gBattleAnimAttacker + ldrb r0, [r0] + adds r1, r0, r1 + ldrb r4, [r1] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _080A7118 + ldr r1, _080A7114 @ =gTasks + lsls r2, r5, 2 + adds r0, r2, r5 + lsls r0, 3 + adds r0, r1 + ldrh r0, [r0, 0x8] + negs r0, r0 + lsls r0, 16 + lsrs r3, r0, 16 + adds r6, r2, 0 + b _080A7126 + .align 2, 0 +_080A710C: .4byte gUnknown_2023D44 +_080A7110: .4byte gBattleAnimAttacker +_080A7114: .4byte gTasks +_080A7118: + ldr r2, _080A7158 @ =gTasks + lsls r1, r5, 2 + adds r0, r1, r5 + lsls r0, 3 + adds r0, r2 + ldrh r3, [r0, 0x8] + adds r6, r1, 0 +_080A7126: + movs r2, 0x80 + lsls r2, 1 + adds r0, r4, 0 + adds r1, r2, 0 + bl obj_id_set_rotscale + ldr r1, _080A7158 @ =gTasks + adds r0, r6, r5 + lsls r0, 3 + adds r1, r0, r1 + movs r2, 0xA + ldrsh r0, [r1, r2] + cmp r0, 0 + bne _080A7160 + ldrh r0, [r1, 0x8] + adds r0, 0xB0 + strh r0, [r1, 0x8] + ldr r1, _080A715C @ =gSprites + lsls r0, r4, 4 + adds r0, r4 + lsls r0, 2 + adds r0, r1 + ldrh r1, [r0, 0x26] + adds r1, 0x1 + b _080A718A + .align 2, 0 +_080A7158: .4byte gTasks +_080A715C: .4byte gSprites +_080A7160: + cmp r0, 0x1 + bne _080A7176 + ldrh r0, [r1, 0xE] + adds r0, 0x1 + strh r0, [r1, 0xE] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1E + bne _080A71D0 + movs r0, 0x2 + b _080A71CE +_080A7176: + ldrh r0, [r1, 0x8] + subs r0, 0xB0 + strh r0, [r1, 0x8] + ldr r1, _080A71C4 @ =gSprites + lsls r0, r4, 4 + adds r0, r4 + lsls r0, 2 + adds r0, r1 + ldrh r1, [r0, 0x26] + subs r1, 0x1 +_080A718A: + strh r1, [r0, 0x26] + adds r0, r4, 0 + bl sub_80759DC + ldr r0, _080A71C8 @ =gTasks + adds r1, r6, r5 + lsls r1, 3 + adds r1, r0 + movs r3, 0x8 + ldrsh r2, [r1, r3] + movs r0, 0xF2 + lsls r0, 4 + cmp r2, r0 + beq _080A71AA + cmp r2, 0 + bne _080A71D0 +_080A71AA: + ldrh r2, [r1, 0xA] + movs r3, 0xA + ldrsh r0, [r1, r3] + cmp r0, 0x2 + bne _080A71CC + adds r0, r4, 0 + bl sub_8075980 + adds r0, r5, 0 + bl DestroyAnimVisualTask + b _080A71D0 + .align 2, 0 +_080A71C4: .4byte gSprites +_080A71C8: .4byte gTasks +_080A71CC: + adds r0, r2, 0x1 +_080A71CE: + strh r0, [r1, 0xA] +_080A71D0: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_80A70DC + + thumb_func_start sub_80A71D8 +sub_80A71D8: @ 80A71D8 + push {r4,r5,lr} + adds r4, r0, 0 + bl sub_8074FCC + ldr r0, _080A71FC @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080A7204 + ldr r0, _080A7200 @ =gBattleAnimArgs + ldrh r1, [r4, 0x20] + ldrh r2, [r0] + subs r1, r2 + strh r1, [r4, 0x20] + adds r5, r0, 0 + b _080A7210 + .align 2, 0 +_080A71FC: .4byte gBattleAnimAttacker +_080A7200: .4byte gBattleAnimArgs +_080A7204: + ldr r1, _080A7244 @ =gBattleAnimArgs + ldrh r0, [r1] + ldrh r2, [r4, 0x20] + adds r0, r2 + strh r0, [r4, 0x20] + adds r5, r1, 0 +_080A7210: + ldrh r0, [r5, 0x2] + ldrh r1, [r4, 0x22] + adds r0, r1 + strh r0, [r4, 0x22] + ldr r0, _080A7248 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080A724C + adds r3, r4, 0 + adds r3, 0x3F + ldrb r0, [r3] + movs r1, 0x1 + adds r2, r0, 0 + orrs r2, r1 + strb r2, [r3] + movs r1, 0x4 + ldrsh r0, [r5, r1] + cmp r0, 0 + beq _080A7260 + movs r0, 0x2 + orrs r2, r0 + strb r2, [r3] + b _080A7260 + .align 2, 0 +_080A7244: .4byte gBattleAnimArgs +_080A7248: .4byte gBattleAnimAttacker +_080A724C: + movs r2, 0x4 + ldrsh r0, [r5, r2] + cmp r0, 0 + beq _080A7260 + adds r2, r4, 0 + adds r2, 0x3F + ldrb r0, [r2] + movs r1, 0x2 + orrs r0, r1 + strb r0, [r2] +_080A7260: + ldr r0, _080A7274 @ =sub_8074F6C + str r0, [r4, 0x1C] + ldr r1, _080A7278 @ =DestroyAnimSprite + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A7274: .4byte sub_8074F6C +_080A7278: .4byte DestroyAnimSprite + thumb_func_end sub_80A71D8 + + thumb_func_start sub_80A727C +sub_80A727C: @ 80A727C + push {r4,lr} + adds r4, r0, 0 + movs r1, 0 + bl sub_8075160 + ldr r0, _080A7298 @ =sub_8074F50 + str r0, [r4, 0x1C] + ldr r1, _080A729C @ =sub_80A72A0 + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A7298: .4byte sub_8074F50 +_080A729C: .4byte sub_80A72A0 + thumb_func_end sub_80A727C + + thumb_func_start sub_80A72A0 +sub_80A72A0: @ 80A72A0 + push {lr} + movs r1, 0x6 + strh r1, [r0, 0x2E] + ldrh r1, [r0, 0x20] + strh r1, [r0, 0x32] + ldrh r1, [r0, 0x22] + subs r1, 0x20 + strh r1, [r0, 0x36] + ldr r1, _080A72C0 @ =sub_8075590 + str r1, [r0, 0x1C] + ldr r1, _080A72C4 @ =DestroyAnimSprite + bl StoreSpriteCallbackInData6 + pop {r0} + bx r0 + .align 2, 0 +_080A72C0: .4byte sub_8075590 +_080A72C4: .4byte DestroyAnimSprite + thumb_func_end sub_80A72A0 + + thumb_func_start sub_80A72C8 +sub_80A72C8: @ 80A72C8 + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x4 + adds r5, r0, 0 + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + beq _080A72EC + ldr r1, _080A72E8 @ =gBattleAnimArgs + ldrh r0, [r1, 0x4] + negs r0, r0 + strh r0, [r1, 0x4] + b _080A730E + .align 2, 0 +_080A72E8: .4byte gBattleAnimArgs +_080A72EC: + ldr r0, _080A73B4 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080A730E + ldr r1, _080A73B8 @ =gBattleAnimArgs + ldrh r0, [r1, 0x4] + negs r0, r0 + strh r0, [r1, 0x4] + ldrh r0, [r1, 0x2] + negs r0, r0 + strh r0, [r1, 0x2] + ldrh r0, [r1, 0x6] + negs r0, r0 + strh r0, [r1, 0x6] +_080A730E: + adds r0, r5, 0 + movs r1, 0x1 + bl sub_8075160 + ldr r4, _080A73BC @ =gBattleAnimTarget + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + ldr r6, _080A73B8 @ =gBattleAnimArgs + lsrs r0, 24 + ldrh r1, [r6, 0x4] + adds r0, r1 + lsls r0, 16 + lsrs r0, 16 + mov r8, r0 + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r2, [r6, 0x6] + adds r0, r2 + lsls r0, 16 + lsrs r0, 16 + adds r7, r0, 0 + ldrh r1, [r5, 0x20] + mov r2, r8 + lsls r0, r2, 16 + asrs r0, 16 + subs r0, r1 + lsls r0, 16 + asrs r0, 16 + ldrh r2, [r5, 0x22] + lsls r1, r7, 16 + asrs r1, 16 + subs r1, r2 + lsls r1, 16 + asrs r1, 16 + bl sub_8075B30 + lsls r0, 16 + movs r1, 0xF0 + lsls r1, 24 + adds r0, r1 + lsrs r4, r0, 16 + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + beq _080A7380 + ldr r2, _080A73C0 @ =0xffffa000 + adds r0, r4, r2 + lsls r0, 16 + lsrs r4, r0, 16 +_080A7380: + movs r3, 0x80 + lsls r3, 1 + str r4, [sp] + adds r0, r5, 0 + movs r1, 0 + adds r2, r3, 0 + bl sub_8075A1C + ldrh r0, [r6, 0x8] + strh r0, [r5, 0x2E] + mov r0, r8 + strh r0, [r5, 0x32] + strh r7, [r5, 0x36] + ldr r0, _080A73C4 @ =sub_8075590 + str r0, [r5, 0x1C] + ldr r1, _080A73C8 @ =DestroyAnimSprite + adds r0, r5, 0 + bl StoreSpriteCallbackInData6 + add sp, 0x4 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080A73B4: .4byte gBattleAnimAttacker +_080A73B8: .4byte gBattleAnimArgs +_080A73BC: .4byte gBattleAnimTarget +_080A73C0: .4byte 0xffffa000 +_080A73C4: .4byte sub_8075590 +_080A73C8: .4byte DestroyAnimSprite + thumb_func_end sub_80A72C8 + + thumb_func_start sub_80A73CC +sub_80A73CC: @ 80A73CC + push {lr} + adds r3, r0, 0 + ldrh r0, [r3, 0x2E] + subs r1, r0, 0x1 + strh r1, [r3, 0x2E] + lsls r0, 16 + cmp r0, 0 + bgt _080A73F6 + ldr r2, _080A73FC @ =gTasks + movs r0, 0x3C + ldrsh r1, [r3, r0] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r2 + ldrh r1, [r0, 0xA] + subs r1, 0x1 + strh r1, [r0, 0xA] + adds r0, r3, 0 + bl DestroySprite +_080A73F6: + pop {r0} + bx r0 + .align 2, 0 +_080A73FC: .4byte gTasks + thumb_func_end sub_80A73CC + + thumb_func_start sub_80A7400 +sub_80A7400: @ 80A7400 + push {r4,lr} + adds r2, r0, 0 + movs r0, 0x3C + ldrsh r1, [r2, r0] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + ldr r1, _080A7430 @ =gTasks + adds r4, r0, r1 + movs r3, 0x2E + ldrsh r1, [r2, r3] + movs r3, 0x12 + ldrsh r0, [r4, r3] + cmp r1, r0 + ble _080A7434 + ldrh r0, [r2, 0x34] + ldrh r1, [r2, 0x38] + adds r0, r1 + strh r0, [r2, 0x38] + ldrh r0, [r2, 0x36] + ldrh r3, [r2, 0x3A] + adds r0, r3 + b _080A7442 + .align 2, 0 +_080A7430: .4byte gTasks +_080A7434: + ldrh r0, [r2, 0x38] + ldrh r1, [r2, 0x34] + subs r0, r1 + strh r0, [r2, 0x38] + ldrh r0, [r2, 0x3A] + ldrh r1, [r2, 0x36] + subs r0, r1 +_080A7442: + strh r0, [r2, 0x3A] + ldrh r0, [r2, 0x38] + ldrh r1, [r2, 0x30] + adds r3, r0, r1 + strh r3, [r2, 0x30] + ldrh r0, [r2, 0x3A] + ldrh r1, [r2, 0x32] + adds r0, r1 + strh r0, [r2, 0x32] + ldrh r1, [r4, 0x16] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080A7466 + lsls r0, r3, 16 + lsrs r0, 24 + negs r0, r0 + b _080A746A +_080A7466: + lsls r0, r3, 16 + lsrs r0, 24 +_080A746A: + strh r0, [r2, 0x24] + ldrh r1, [r4, 0x18] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080A747E + ldrh r0, [r2, 0x32] + lsrs r0, 8 + negs r0, r0 + b _080A7482 +_080A747E: + ldrh r0, [r2, 0x32] + lsrs r0, 8 +_080A7482: + strh r0, [r2, 0x26] + ldrh r0, [r2, 0x2E] + subs r1, r0, 0x1 + strh r1, [r2, 0x2E] + lsls r0, 16 + cmp r0, 0 + bgt _080A7498 + movs r0, 0x1E + strh r0, [r2, 0x2E] + ldr r0, _080A74A0 @ =sub_80A73CC + str r0, [r2, 0x1C] +_080A7498: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A74A0: .4byte sub_80A73CC + thumb_func_end sub_80A7400 + + thumb_func_start sub_80A74A4 +sub_80A74A4: @ 80A74A4 + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r7, r0, 0 + movs r0, 0x3C + ldrsh r1, [r7, r0] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + ldr r1, _080A74E8 @ =gTasks + adds r6, r0, r1 + ldrh r2, [r6, 0x16] + movs r1, 0x2 + negs r1, r1 + adds r0, r1, 0 + ands r0, r2 + ldrh r3, [r7, 0x30] + adds r2, r0, r3 + strh r2, [r7, 0x30] + ldrh r0, [r6, 0x18] + ands r1, r0 + ldrh r0, [r7, 0x32] + adds r1, r0 + strh r1, [r7, 0x32] + ldrh r1, [r6, 0x16] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080A74EC + lsls r0, r2, 16 + lsrs r0, 24 + negs r0, r0 + b _080A74F0 + .align 2, 0 +_080A74E8: .4byte gTasks +_080A74EC: + lsls r0, r2, 16 + lsrs r0, 24 +_080A74F0: + strh r0, [r7, 0x24] + ldrh r1, [r6, 0x18] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080A7504 + ldrh r0, [r7, 0x32] + lsrs r0, 8 + negs r0, r0 + b _080A7508 +_080A7504: + ldrh r0, [r7, 0x32] + lsrs r0, 8 +_080A7508: + strh r0, [r7, 0x26] + ldrh r0, [r7, 0x2E] + subs r1, r0, 0x1 + strh r1, [r7, 0x2E] + lsls r0, 16 + cmp r0, 0 + bgt _080A75D4 + movs r4, 0 + movs r0, 0x8 + strh r0, [r7, 0x2E] + movs r0, 0x4 + strh r0, [r6, 0x12] + movs r0, 0x80 + lsls r0, 5 + bl sub_80D8B90 + lsls r0, 16 + lsrs r5, r0, 16 + ldrh r0, [r7, 0x24] + ldrh r1, [r7, 0x20] + adds r2, r0, r1 + strh r2, [r7, 0x20] + ldrh r0, [r7, 0x26] + ldrh r3, [r7, 0x22] + adds r0, r3 + strh r0, [r7, 0x22] + strh r4, [r7, 0x26] + strh r4, [r7, 0x24] + ldrh r3, [r6, 0x1E] + movs r0, 0x1E + ldrsh r1, [r6, r0] + lsls r0, r2, 16 + asrs r0, 16 + cmp r1, r0 + blt _080A7552 + subs r0, r3, r2 + b _080A7554 +_080A7552: + subs r0, r2, r3 +_080A7554: + lsls r0, 24 + lsrs r4, r0, 16 + ldrh r3, [r6, 0x20] + movs r0, 0x20 + ldrsh r1, [r6, r0] + ldrh r2, [r7, 0x22] + movs r6, 0x22 + ldrsh r0, [r7, r6] + cmp r1, r0 + blt _080A756C + subs r0, r3, r2 + b _080A756E +_080A756C: + subs r0, r2, r3 +_080A756E: + lsls r0, 24 + lsrs r0, 16 + mov r8, r0 + movs r0, 0 + strh r0, [r7, 0x32] + strh r0, [r7, 0x30] + strh r0, [r7, 0x3A] + strh r0, [r7, 0x38] + lsls r0, r4, 16 + asrs r0, 16 + lsls r5, 16 + asrs r5, 16 + adds r1, r5, 0 + bl sub_80D8AA0 + adds r4, r0, 0 + lsls r4, 16 + asrs r4, 16 + movs r6, 0xE0 + lsls r6, 1 + adds r0, r6, 0 + bl sub_80D8B90 + adds r1, r0, 0 + lsls r1, 16 + asrs r1, 16 + adds r0, r4, 0 + bl sub_80D8AA0 + strh r0, [r7, 0x34] + mov r1, r8 + lsls r0, r1, 16 + asrs r0, 16 + adds r1, r5, 0 + bl sub_80D8AA0 + adds r4, r0, 0 + lsls r4, 16 + asrs r4, 16 + adds r0, r6, 0 + bl sub_80D8B90 + adds r1, r0, 0 + lsls r1, 16 + asrs r1, 16 + adds r0, r4, 0 + bl sub_80D8AA0 + strh r0, [r7, 0x36] + ldr r0, _080A75E0 @ =sub_80A7400 + str r0, [r7, 0x1C] +_080A75D4: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080A75E0: .4byte sub_80A7400 + thumb_func_end sub_80A74A4 + + thumb_func_start sub_80A75E4 +sub_80A75E4: @ 80A75E4 + push {lr} + lsls r0, 24 + lsrs r2, r0, 24 + ldr r1, _080A7608 @ =gTasks + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + adds r0, r1 + movs r1, 0xA + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _080A7602 + adds r0, r2, 0 + bl DestroyAnimVisualTask +_080A7602: + pop {r0} + bx r0 + .align 2, 0 +_080A7608: .4byte gTasks + thumb_func_end sub_80A75E4 + + thumb_func_start sub_80A760C +sub_80A760C: @ 80A760C + push {r4-r7,lr} + lsls r0, 24 + lsrs r7, r0, 24 + ldr r1, _080A7660 @ =gTasks + lsls r0, r7, 2 + adds r0, r7 + lsls r0, 3 + adds r5, r0, r1 + ldrh r0, [r5, 0x8] + subs r1, r0, 0x1 + strh r1, [r5, 0x8] + lsls r0, 16 + cmp r0, 0 + bgt _080A76E0 + ldr r0, _080A7664 @ =gUnknown_83E3C28 + movs r2, 0x1A + ldrsh r1, [r5, r2] + movs r3, 0x1C + ldrsh r2, [r5, r3] + ldrb r3, [r5, 0xC] + ldrb r4, [r5, 0xA] + subs r3, r4 + lsls r3, 24 + lsrs r3, 24 + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + mov r12, r0 + lsls r0, 4 + add r0, r12 + lsls r0, 2 + ldr r1, _080A7668 @ =gSprites + adds r6, r0, r1 + movs r1, 0x10 + ldrsh r0, [r5, r1] + cmp r0, 0x1 + beq _080A766C + cmp r0, 0x2 + beq _080A7682 + b _080A7690 + .align 2, 0 +_080A7660: .4byte gTasks +_080A7664: .4byte gUnknown_83E3C28 +_080A7668: .4byte gSprites +_080A766C: + ldrb r2, [r6, 0x3] + lsls r1, r2, 26 + lsrs r1, 27 + movs r0, 0x18 + orrs r1, r0 + lsls r1, 1 + subs r0, 0x57 + ands r0, r2 + orrs r0, r1 + strb r0, [r6, 0x3] + b _080A7690 +_080A7682: + ldrb r0, [r6, 0x3] + movs r1, 0x3F + negs r1, r1 + ands r1, r0 + movs r0, 0x10 + orrs r1, r0 + strb r1, [r6, 0x3] +_080A7690: + ldr r3, _080A76E8 @ =gTasks + lsls r2, r7, 2 + adds r2, r7 + lsls r2, 3 + adds r4, r2, r3 + ldrh r0, [r4, 0x12] + ldrh r1, [r4, 0x14] + subs r0, r1 + strh r0, [r6, 0x2E] + strh r7, [r6, 0x3C] + movs r1, 0xA + ldrsh r0, [r4, r1] + adds r0, 0xD + lsls r0, 1 + adds r0, r2 + adds r3, 0x8 + adds r0, r3 + mov r2, r12 + strh r2, [r0] + ldrh r0, [r4, 0xE] + strh r0, [r4, 0x8] + ldrh r0, [r4, 0xA] + adds r0, 0x1 + strh r0, [r4, 0xA] + movs r0, 0x3F + negs r0, r0 + bl sub_8073A44 + adds r1, r0, 0 + lsls r1, 24 + asrs r1, 24 + movs r0, 0x93 + bl PlaySE12WithPanning + movs r3, 0xA + ldrsh r0, [r4, r3] + cmp r0, 0x2 + ble _080A76E0 + ldr r0, _080A76EC @ =sub_80A75E4 + str r0, [r4] +_080A76E0: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080A76E8: .4byte gTasks +_080A76EC: .4byte sub_80A75E4 + thumb_func_end sub_80A760C + + thumb_func_start sub_80A76F0 +sub_80A76F0: @ 80A76F0 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x4 + lsls r0, 24 + lsrs r7, r0, 24 + movs r0, 0 + mov r9, r0 + movs r5, 0 + mov r0, sp + mov r1, r9 + strh r1, [r0] + mov r4, sp + adds r4, 0x2 + strh r1, [r4] + bl sub_8073788 + lsls r0, 24 + mov r10, r4 + cmp r0, 0 + beq _080A775C + ldr r1, _080A774C @ =gTasks + lsls r2, r7, 2 + adds r0, r2, r7 + lsls r0, 3 + adds r0, r1 + movs r1, 0x2 + strh r1, [r0, 0x10] + ldr r3, _080A7750 @ =gBattleAnimArgs + ldrh r0, [r3] + negs r0, r0 + strh r0, [r3] + ldrh r1, [r3, 0x4] + movs r0, 0x1 + ands r0, r1 + mov r8, r2 + cmp r0, 0 + beq _080A7754 + movs r0, 0x2 + negs r0, r0 + ands r0, r1 + strh r0, [r3, 0x4] + b _080A77B6 + .align 2, 0 +_080A774C: .4byte gTasks +_080A7750: .4byte gBattleAnimArgs +_080A7754: + movs r0, 0x1 + orrs r0, r1 + strh r0, [r3, 0x4] + b _080A77B6 +_080A775C: + ldr r1, _080A77A0 @ =gUnknown_2023BD6 + ldr r0, _080A77A4 @ =gBattleAnimTarget + ldrb r0, [r0] + adds r0, r1 + ldrb r1, [r0] + movs r3, 0x1 + adds r0, r3, 0 + ands r0, r1 + lsls r2, r7, 2 + mov r8, r2 + cmp r0, 0 + bne _080A77B6 + ldr r1, _080A77A8 @ =gTasks + adds r0, r2, r7 + lsls r0, 3 + adds r0, r1 + strh r3, [r0, 0x10] + ldr r2, _080A77AC @ =gBattleAnimArgs + ldrh r0, [r2] + negs r0, r0 + strh r0, [r2] + ldrh r0, [r2, 0x2] + negs r0, r0 + strh r0, [r2, 0x2] + ldrh r1, [r2, 0x4] + adds r0, r3, 0 + ands r0, r1 + cmp r0, 0 + beq _080A77B0 + movs r0, 0x2 + negs r0, r0 + ands r0, r1 + b _080A77B4 + .align 2, 0 +_080A77A0: .4byte gUnknown_2023BD6 +_080A77A4: .4byte gBattleAnimTarget +_080A77A8: .4byte gTasks +_080A77AC: .4byte gBattleAnimArgs +_080A77B0: + movs r0, 0x1 + orrs r0, r1 +_080A77B4: + strh r0, [r2, 0x4] +_080A77B6: + ldr r5, _080A7810 @ =gBattleAnimAttacker + ldrb r0, [r5] + movs r1, 0 + bl sub_8074480 + ldr r1, _080A7814 @ =gTasks + mov r3, r8 + adds r4, r3, r7 + lsls r4, 3 + adds r4, r1 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x1A] + adds r6, r0, 0 + ldrb r0, [r5] + movs r1, 0x1 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x1C] + mov r9, r0 + ldr r0, _080A7818 @ =gBattleTypeFlags + ldr r0, [r0] + movs r1, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080A7820 + ldr r4, _080A781C @ =gBattleAnimTarget + ldrb r1, [r4] + movs r0, 0x2 + eors r0, r1 + bl sub_8072DF0 + lsls r0, 24 + cmp r0, 0 + beq _080A7820 + ldrb r0, [r4] + movs r1, 0 + mov r2, sp + mov r3, r10 + bl sub_8076D9C + b _080A7842 + .align 2, 0 +_080A7810: .4byte gBattleAnimAttacker +_080A7814: .4byte gTasks +_080A7818: .4byte gBattleTypeFlags +_080A781C: .4byte gBattleAnimTarget +_080A7820: + mov r5, sp + ldr r4, _080A787C @ =gBattleAnimTarget + ldrb r0, [r4] + movs r1, 0 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5] + ldrb r0, [r4] + movs r1, 0x1 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + mov r1, r10 + strh r0, [r1] +_080A7842: + mov r4, sp + ldr r0, _080A7880 @ =gTasks + mov r2, r8 + adds r1, r2, r7 + lsls r1, 3 + adds r1, r0 + mov r2, sp + ldr r3, _080A7884 @ =gBattleAnimArgs + ldrh r0, [r3] + ldrh r2, [r2] + adds r0, r2 + strh r0, [r1, 0x1E] + strh r0, [r4] + ldrh r0, [r3, 0x2] + mov r3, r10 + ldrh r3, [r3] + adds r0, r3 + strh r0, [r1, 0x20] + mov r1, r10 + strh r0, [r1] + mov r0, sp + ldrh r2, [r0] + movs r3, 0 + ldrsh r0, [r0, r3] + adds r1, r6, 0 + cmp r0, r1 + blt _080A7888 + subs r0, r2, r1 + b _080A788A + .align 2, 0 +_080A787C: .4byte gBattleAnimTarget +_080A7880: .4byte gTasks +_080A7884: .4byte gBattleAnimArgs +_080A7888: + subs r0, r1, r2 +_080A788A: + lsls r0, 16 + lsrs r0, 16 + lsls r4, r0, 16 + asrs r4, 16 + ldr r5, _080A7900 @ =gBattleAnimArgs + ldrh r1, [r5, 0x4] + movs r0, 0x2 + negs r0, r0 + ands r0, r1 + lsls r0, 16 + asrs r0, 16 + bl sub_80D8B90 + adds r1, r0, 0 + lsls r1, 16 + asrs r1, 16 + adds r0, r4, 0 + bl sub_80D8AA0 + ldr r2, _080A7904 @ =gTasks + mov r3, r8 + adds r1, r3, r7 + lsls r1, 3 + adds r6, r1, r2 + strh r0, [r6, 0x12] + movs r1, 0x12 + ldrsh r0, [r6, r1] + movs r1, 0x80 + bl sub_80D8AA0 + strh r0, [r6, 0x14] + ldrh r0, [r5, 0x4] + strh r0, [r6, 0x16] + mov r2, r10 + ldrh r1, [r2] + movs r3, 0 + ldrsh r0, [r2, r3] + mov r4, r9 + cmp r0, r4 + blt _080A7908 + subs r4, r1, r4 + lsls r4, 16 + asrs r4, 16 + movs r1, 0x12 + ldrsh r0, [r6, r1] + bl sub_80D8B90 + adds r1, r0, 0 + lsls r1, 16 + asrs r1, 16 + adds r0, r4, 0 + bl sub_80D8AA0 + movs r1, 0x2 + negs r1, r1 + ands r1, r0 + strh r1, [r6, 0x18] + b _080A7928 + .align 2, 0 +_080A7900: .4byte gBattleAnimArgs +_080A7904: .4byte gTasks +_080A7908: + subs r4, r1 + lsls r4, 16 + asrs r4, 16 + movs r2, 0x12 + ldrsh r0, [r6, r2] + bl sub_80D8B90 + adds r1, r0, 0 + lsls r1, 16 + asrs r1, 16 + adds r0, r4, 0 + bl sub_80D8AA0 + movs r1, 0x1 + orrs r0, r1 + strh r0, [r6, 0x18] +_080A7928: + ldr r1, _080A7968 @ =gTasks + mov r3, r8 + adds r0, r3, r7 + lsls r0, 3 + adds r5, r0, r1 + ldr r4, _080A796C @ =gBattleAnimArgs + ldrh r0, [r4, 0x6] + strh r0, [r5, 0xE] + ldrh r1, [r4, 0x8] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + beq _080A7978 + movs r0, 0x80 + eors r0, r1 + strh r0, [r4, 0x8] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x3F + ble _080A79A0 + ldr r0, _080A7970 @ =gBattleAnimTarget + ldrb r0, [r0] + bl sub_807685C + lsls r0, 24 + lsrs r0, 24 + ldr r2, _080A7974 @ =0x0000ffc0 + adds r1, r2, 0 + ldrh r4, [r4, 0x8] + adds r1, r4 + adds r0, r1 + b _080A79B0 + .align 2, 0 +_080A7968: .4byte gTasks +_080A796C: .4byte gBattleAnimArgs +_080A7970: .4byte gBattleAnimTarget +_080A7974: .4byte 0x0000ffc0 +_080A7978: + lsls r0, r1, 16 + asrs r0, 16 + cmp r0, 0x3F + ble _080A79A0 + ldr r0, _080A7998 @ =gBattleAnimTarget + ldrb r0, [r0] + bl sub_807685C + lsls r0, 24 + lsrs r0, 24 + ldr r3, _080A799C @ =0x0000ffc0 + adds r1, r3, 0 + ldrh r4, [r4, 0x8] + adds r1, r4 + adds r0, r1 + b _080A79B0 + .align 2, 0 +_080A7998: .4byte gBattleAnimTarget +_080A799C: .4byte 0x0000ffc0 +_080A79A0: + ldr r0, _080A79DC @ =gBattleAnimTarget + ldrb r0, [r0] + bl sub_807685C + lsls r0, 24 + lsrs r0, 24 + ldrh r1, [r4, 0x8] + subs r0, r1 +_080A79B0: + strh r0, [r5, 0xC] + ldr r0, _080A79E0 @ =gTasks + mov r2, r8 + adds r1, r2, r7 + lsls r1, 3 + adds r1, r0 + movs r3, 0xC + ldrsh r0, [r1, r3] + cmp r0, 0x2 + bgt _080A79C8 + movs r0, 0x3 + strh r0, [r1, 0xC] +_080A79C8: + ldr r0, _080A79E4 @ =sub_80A760C + str r0, [r1] + add sp, 0x4 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080A79DC: .4byte gBattleAnimTarget +_080A79E0: .4byte gTasks +_080A79E4: .4byte sub_80A760C + thumb_func_end sub_80A76F0 + + thumb_func_start sub_80A79E8 +sub_80A79E8: @ 80A79E8 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0 + bl sub_8075160 + ldr r0, _080A7A10 @ =gUnknown_83E3D18 + ldrh r0, [r0, 0x2] + bl IndexOfSpritePaletteTag + lsls r0, 24 + lsrs r0, 20 + movs r1, 0x80 + lsls r1, 1 + adds r0, r1 + strh r0, [r4, 0x2E] + ldr r0, _080A7A14 @ =sub_80A7A18 + str r0, [r4, 0x1C] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A7A10: .4byte gUnknown_83E3D18 +_080A7A14: .4byte sub_80A7A18 + thumb_func_end sub_80A79E8 + + thumb_func_start sub_80A7A18 +sub_80A7A18: @ 80A7A18 + push {r4-r7,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x30] + adds r0, 0x1 + strh r0, [r4, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x2 + bne _080A7A7C + movs r0, 0 + strh r0, [r4, 0x30] + ldrh r5, [r4, 0x2E] + ldr r1, _080A7A84 @ =gPlttBufferFaded + adds r0, r5, 0 + adds r0, 0x8 + lsls r0, 1 + adds r0, r1 + ldrh r7, [r0] + adds r6, r1, 0 + adds r1, r5, 0 + adds r1, 0x9 + lsls r0, r5, 1 + adds r0, r6 + adds r2, r0, 0 + adds r2, 0x10 + movs r3, 0x7 + lsls r1, 1 + adds r1, r6 +_080A7A50: + ldrh r0, [r1] + strh r0, [r2] + adds r1, 0x2 + adds r2, 0x2 + subs r3, 0x1 + cmp r3, 0 + bge _080A7A50 + adds r0, r5, 0 + adds r0, 0xF + lsls r0, 1 + adds r0, r6 + strh r7, [r0] + ldrh r0, [r4, 0x32] + adds r0, 0x1 + strh r0, [r4, 0x32] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x18 + bne _080A7A7C + adds r0, r4, 0 + bl DestroyAnimSprite +_080A7A7C: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080A7A84: .4byte gPlttBufferFaded + thumb_func_end sub_80A7A18 + + thumb_func_start sub_80A7A88 +sub_80A7A88: @ 80A7A88 + push {r4-r7,lr} + sub sp, 0x4 + adds r5, r0, 0 + movs r1, 0x1 + bl sub_8075160 + ldr r4, _080A7B28 @ =gBattleAnimTarget + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r6, r0, 24 + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + ldr r4, _080A7B2C @ =gBattleAnimArgs + lsrs r0, 24 + ldrh r1, [r4, 0x6] + adds r0, r1 + lsls r0, 16 + lsrs r7, r0, 16 + ldr r0, _080A7B30 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080A7ACC + ldrh r0, [r4, 0x4] + negs r0, r0 + strh r0, [r4, 0x4] +_080A7ACC: + lsls r0, r6, 16 + asrs r0, 16 + ldrh r1, [r4, 0x4] + adds r0, r1 + lsls r0, 16 + ldrh r1, [r5, 0x20] + lsrs r6, r0, 16 + asrs r0, 16 + subs r0, r1 + lsls r0, 16 + asrs r0, 16 + ldrh r2, [r5, 0x22] + lsls r1, r7, 16 + asrs r1, 16 + subs r1, r2 + lsls r1, 16 + asrs r1, 16 + bl sub_8075B30 + lsls r0, 16 + movs r1, 0xC0 + lsls r1, 24 + adds r0, r1 + lsrs r0, 16 + movs r3, 0x80 + lsls r3, 1 + str r0, [sp] + adds r0, r5, 0 + movs r1, 0 + adds r2, r3, 0 + bl sub_8075A1C + ldrh r0, [r4, 0x8] + strh r0, [r5, 0x2E] + strh r6, [r5, 0x32] + strh r7, [r5, 0x36] + ldr r0, _080A7B34 @ =sub_80756A4 + str r0, [r5, 0x1C] + ldr r1, _080A7B38 @ =DestroyAnimSprite + adds r0, r5, 0 + bl StoreSpriteCallbackInData6 + add sp, 0x4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080A7B28: .4byte gBattleAnimTarget +_080A7B2C: .4byte gBattleAnimArgs +_080A7B30: .4byte gBattleAnimAttacker +_080A7B34: .4byte sub_80756A4 +_080A7B38: .4byte DestroyAnimSprite + thumb_func_end sub_80A7A88 + + thumb_func_start sub_80A7B3C +sub_80A7B3C: @ 80A7B3C + ldr r1, _080A7B4C @ =0x0000fff0 + strh r1, [r0, 0x32] + ldrh r1, [r0, 0x22] + adds r1, 0x8 + strh r1, [r0, 0x22] + ldr r1, _080A7B50 @ =sub_80A7B54 + str r1, [r0, 0x1C] + bx lr + .align 2, 0 +_080A7B4C: .4byte 0x0000fff0 +_080A7B50: .4byte sub_80A7B54 + thumb_func_end sub_80A7B3C + + thumb_func_start sub_80A7B54 +sub_80A7B54: @ 80A7B54 + push {r4,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x2E] + adds r0, 0x80 + strh r0, [r4, 0x2E] + lsls r0, 16 + asrs r0, 24 + strh r0, [r4, 0x24] + ldr r0, _080A7BC0 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _080A7B78 + ldrh r0, [r4, 0x24] + negs r0, r0 + strh r0, [r4, 0x24] +_080A7B78: + movs r1, 0x30 + ldrsh r0, [r4, r1] + movs r2, 0x32 + ldrsh r1, [r4, r2] + bl Sin + strh r0, [r4, 0x26] + ldrh r0, [r4, 0x30] + adds r0, 0x5 + strh r0, [r4, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x7E + ble _080A7BB8 + movs r0, 0 + strh r0, [r4, 0x30] + movs r1, 0x32 + ldrsh r0, [r4, r1] + lsrs r1, r0, 31 + adds r0, r1 + asrs r0, 1 + strh r0, [r4, 0x32] + ldrh r0, [r4, 0x34] + adds r0, 0x1 + strh r0, [r4, 0x34] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x2 + bne _080A7BB8 + adds r0, r4, 0 + bl DestroyAnimSprite +_080A7BB8: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A7BC0: .4byte gBattleAnimAttacker + thumb_func_end sub_80A7B54 + + thumb_func_start sub_80A7BC4 +sub_80A7BC4: @ 80A7BC4 + push {r4,r5,lr} + adds r4, r0, 0 + movs r1, 0x1 + bl sub_8075160 + movs r0, 0x14 + strh r0, [r4, 0x2E] + ldr r5, _080A7C10 @ =gBattleAnimTarget + ldrb r0, [r5] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x32] + ldrb r0, [r5] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x36] + ldr r0, _080A7C14 @ =sub_8075590 + str r0, [r4, 0x1C] + adds r2, r4, 0 + adds r2, 0x2C + ldrb r0, [r2] + movs r1, 0x80 + orrs r0, r1 + strb r0, [r2] + ldr r1, _080A7C18 @ =sub_80A7C1C + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A7C10: .4byte gBattleAnimTarget +_080A7C14: .4byte sub_8075590 +_080A7C18: .4byte sub_80A7C1C + thumb_func_end sub_80A7BC4 + + thumb_func_start sub_80A7C1C +sub_80A7C1C: @ 80A7C1C + push {r4,lr} + adds r4, r0, 0 + movs r0, 0x3F + bl sub_8073A44 + adds r1, r0, 0 + lsls r1, 24 + asrs r1, 24 + movs r0, 0x9F + bl PlaySE12WithPanning + ldrh r0, [r4, 0x24] + ldrh r1, [r4, 0x20] + adds r0, r1 + movs r1, 0 + strh r0, [r4, 0x20] + ldrh r0, [r4, 0x26] + ldrh r2, [r4, 0x22] + adds r0, r2 + strh r0, [r4, 0x22] + strh r1, [r4, 0x26] + strh r1, [r4, 0x24] + movs r2, 0 + movs r1, 0x7 + adds r0, r4, 0 + adds r0, 0x3C +_080A7C50: + strh r2, [r0] + subs r0, 0x2 + subs r1, 0x1 + cmp r1, 0 + bge _080A7C50 + bl Random + lsls r0, 16 + lsrs r0, 16 + movs r1, 0x7 + ands r0, r1 + ldr r2, _080A7C98 @ =0x0000fff4 + adds r1, r2, 0 + subs r1, r0 + strh r1, [r4, 0x3A] + bl Random + lsls r0, 16 + lsrs r0, 16 + movs r1, 0xA0 + bl __umodsi3 + adds r0, 0xA0 + strh r0, [r4, 0x3C] + ldr r0, _080A7C9C @ =sub_80A7CA0 + str r0, [r4, 0x1C] + adds r2, r4, 0 + adds r2, 0x2C + ldrb r1, [r2] + movs r0, 0x7F + ands r0, r1 + strb r0, [r2] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A7C98: .4byte 0x0000fff4 +_080A7C9C: .4byte sub_80A7CA0 + thumb_func_end sub_80A7C1C + + thumb_func_start sub_80A7CA0 +sub_80A7CA0: @ 80A7CA0 + push {r4,lr} + adds r4, r0, 0 + ldrh r1, [r4, 0x3C] + ldrh r2, [r4, 0x2E] + adds r0, r1, r2 + strh r0, [r4, 0x2E] + lsls r0, 16 + asrs r2, r0, 24 + strh r2, [r4, 0x24] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080A7CBE + negs r0, r2 + strh r0, [r4, 0x24] +_080A7CBE: + movs r1, 0x30 + ldrsh r0, [r4, r1] + movs r2, 0x3A + ldrsh r1, [r4, r2] + bl Sin + strh r0, [r4, 0x26] + ldrh r0, [r4, 0x30] + adds r0, 0x8 + strh r0, [r4, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x7E + ble _080A7CFE + movs r0, 0 + strh r0, [r4, 0x30] + movs r1, 0x32 + ldrsh r0, [r4, r1] + lsrs r1, r0, 31 + adds r0, r1 + asrs r0, 1 + strh r0, [r4, 0x32] + ldrh r0, [r4, 0x34] + adds r0, 0x1 + strh r0, [r4, 0x34] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + bne _080A7CFE + adds r0, r4, 0 + bl DestroyAnimSprite +_080A7CFE: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80A7CA0 + + thumb_func_start sub_80A7D04 +sub_80A7D04: @ 80A7D04 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0 + bl sub_8075160 + ldr r0, _080A7D54 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _080A7D22 + ldrh r0, [r4, 0x22] + adds r0, 0x10 + strh r0, [r4, 0x22] +_080A7D22: + ldr r1, _080A7D58 @ =gBattleAnimArgs + ldrh r0, [r1, 0x8] + strh r0, [r4, 0x2E] + ldrh r0, [r1, 0x4] + strh r0, [r4, 0x30] + ldrh r0, [r1, 0xA] + strh r0, [r4, 0x32] + ldrh r0, [r1, 0xC] + strh r0, [r4, 0x34] + ldrh r0, [r1, 0x6] + strh r0, [r4, 0x36] + ldr r0, _080A7D5C @ =sub_8074A80 + str r0, [r4, 0x1C] + ldr r1, _080A7D60 @ =DestroyAnimSprite + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 + ldr r1, [r4, 0x1C] + adds r0, r4, 0 + bl _call_via_r1 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A7D54: .4byte gBattleAnimAttacker +_080A7D58: .4byte gBattleAnimArgs +_080A7D5C: .4byte sub_8074A80 +_080A7D60: .4byte DestroyAnimSprite + thumb_func_end sub_80A7D04 + + thumb_func_start sub_80A7D64 +sub_80A7D64: @ 80A7D64 + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r5, r0, 0 + movs r7, 0x20 + ldr r4, _080A7DE0 @ =0x0000ffe0 + movs r0, 0x10 + mov r8, r0 + ldr r6, _080A7DE4 @ =0x0000fff0 + ldr r0, _080A7DE8 @ =gBattleAnimArgs + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r0, 0 + beq _080A7D90 + adds r7, r4, 0 + movs r4, 0x20 + mov r8, r6 + movs r6, 0x10 + adds r0, r5, 0 + movs r1, 0x1 + bl StartSpriteAnim +_080A7D90: + lsls r0, r7, 16 + asrs r0, 16 + ldrh r1, [r5, 0x20] + adds r0, r1 + strh r0, [r5, 0x20] + lsls r0, r4, 16 + asrs r0, 16 + ldrh r1, [r5, 0x22] + adds r0, r1 + strh r0, [r5, 0x22] + movs r0, 0x6 + strh r0, [r5, 0x2E] + ldr r4, _080A7DEC @ =gBattleAnimTarget + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + add r0, r8 + strh r0, [r5, 0x32] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + adds r0, r6 + strh r0, [r5, 0x36] + ldr r0, _080A7DF0 @ =sub_8075590 + str r0, [r5, 0x1C] + ldr r1, _080A7DF4 @ =sub_80A7DF8 + adds r0, r5, 0 + bl StoreSpriteCallbackInData6 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080A7DE0: .4byte 0x0000ffe0 +_080A7DE4: .4byte 0x0000fff0 +_080A7DE8: .4byte gBattleAnimArgs +_080A7DEC: .4byte gBattleAnimTarget +_080A7DF0: .4byte sub_8075590 +_080A7DF4: .4byte sub_80A7DF8 + thumb_func_end sub_80A7D64 + + thumb_func_start sub_80A7DF8 +sub_80A7DF8: @ 80A7DF8 + push {lr} + adds r2, r0, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x10 + ands r0, r1 + cmp r0, 0 + beq _080A7E0E + adds r0, r2, 0 + bl DestroyAnimSprite +_080A7E0E: + pop {r0} + bx r0 + thumb_func_end sub_80A7DF8 + + thumb_func_start sub_80A7E14 +sub_80A7E14: @ 80A7E14 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + adds r5, r0, 0 + movs r0, 0x20 + mov r8, r0 + ldr r4, _080A7EA8 @ =0x0000ffe0 + movs r2, 0x10 + mov r9, r2 + ldr r6, _080A7EAC @ =0x0000fff0 + ldr r7, _080A7EB0 @ =gBattleAnimArgs + ldrh r1, [r7] + movs r2, 0 + ldrsh r0, [r7, r2] + cmp r0, 0 + beq _080A7E48 + mov r8, r4 + movs r4, 0x20 + mov r9, r6 + movs r6, 0x10 + lsls r1, 24 + lsrs r1, 24 + adds r0, r5, 0 + bl StartSpriteAnim +_080A7E48: + mov r0, r8 + lsls r1, r0, 16 + asrs r1, 16 + ldrh r2, [r5, 0x20] + adds r1, r2 + strh r1, [r5, 0x20] + lsls r0, r4, 16 + asrs r0, 16 + ldrh r2, [r5, 0x22] + adds r0, r2 + strh r0, [r5, 0x22] + movs r0, 0x6 + strh r0, [r5, 0x2E] + strh r1, [r5, 0x30] + ldr r4, _080A7EB4 @ =gBattleAnimTarget + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + add r0, r9 + strh r0, [r5, 0x32] + ldrh r0, [r5, 0x22] + strh r0, [r5, 0x34] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + adds r0, r6 + strh r0, [r5, 0x36] + adds r0, r5, 0 + bl obj_translate_based_on_private_1_2_3_4 + ldrh r0, [r7] + strh r0, [r5, 0x38] + ldrh r0, [r5, 0x2E] + strh r0, [r5, 0x3A] + ldr r0, _080A7EB8 @ =sub_80A7EBC + str r0, [r5, 0x1C] + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080A7EA8: .4byte 0x0000ffe0 +_080A7EAC: .4byte 0x0000fff0 +_080A7EB0: .4byte gBattleAnimArgs +_080A7EB4: .4byte gBattleAnimTarget +_080A7EB8: .4byte sub_80A7EBC + thumb_func_end sub_80A7E14 + + thumb_func_start sub_80A7EBC +sub_80A7EBC: @ 80A7EBC + push {r4,lr} + adds r4, r0, 0 + bl sub_80755E0 + lsls r0, 24 + cmp r0, 0 + beq _080A7F20 + adds r0, r4, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x10 + ands r0, r1 + cmp r0, 0 + beq _080A7F20 + adds r0, r4, 0 + movs r1, 0 + bl SeekSpriteAnim + adds r2, r4, 0 + adds r2, 0x2C + ldrb r0, [r2] + movs r1, 0x40 + orrs r0, r1 + strb r0, [r2] + ldrh r0, [r4, 0x24] + ldrh r1, [r4, 0x20] + adds r0, r1 + movs r2, 0 + strh r0, [r4, 0x20] + ldrh r0, [r4, 0x26] + ldrh r1, [r4, 0x22] + adds r0, r1 + strh r0, [r4, 0x22] + movs r0, 0x2 + strh r0, [r4, 0x24] + ldr r0, _080A7F28 @ =0x0000fffe + strh r0, [r4, 0x26] + ldrh r0, [r4, 0x3A] + strh r0, [r4, 0x2E] + ldrh r0, [r4, 0x30] + movs r1, 0x1 + eors r0, r1 + strh r0, [r4, 0x30] + ldrh r0, [r4, 0x32] + eors r0, r1 + strh r0, [r4, 0x32] + strh r2, [r4, 0x36] + strh r2, [r4, 0x34] + ldr r0, _080A7F2C @ =sub_80A7F30 + str r0, [r4, 0x1C] +_080A7F20: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A7F28: .4byte 0x0000fffe +_080A7F2C: .4byte sub_80A7F30 + thumb_func_end sub_80A7EBC + + thumb_func_start sub_80A7F30 +sub_80A7F30: @ 80A7F30 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x34 + ldrsh r0, [r4, r1] + cmp r0, 0 + beq _080A7F48 + ldrh r0, [r4, 0x24] + negs r0, r0 + strh r0, [r4, 0x24] + ldrh r0, [r4, 0x26] + negs r0, r0 + strh r0, [r4, 0x26] +_080A7F48: + ldrh r0, [r4, 0x34] + movs r1, 0x1 + eors r0, r1 + movs r1, 0 + strh r0, [r4, 0x34] + ldrh r0, [r4, 0x36] + adds r0, 0x1 + strh r0, [r4, 0x36] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x33 + bne _080A7F8A + strh r1, [r4, 0x26] + strh r1, [r4, 0x24] + strh r1, [r4, 0x36] + strh r1, [r4, 0x34] + adds r2, r4, 0 + adds r2, 0x2C + ldrb r1, [r2] + movs r0, 0x41 + negs r0, r0 + ands r0, r1 + strb r0, [r2] + ldrh r0, [r4, 0x38] + movs r1, 0x1 + eors r1, r0 + lsls r1, 24 + lsrs r1, 24 + adds r0, r4, 0 + bl StartSpriteAnim + ldr r0, _080A7F90 @ =sub_80A7F94 + str r0, [r4, 0x1C] +_080A7F8A: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A7F90: .4byte sub_80A7F94 + thumb_func_end sub_80A7F30 + + thumb_func_start sub_80A7F94 +sub_80A7F94: @ 80A7F94 + push {r4,lr} + adds r4, r0, 0 + bl sub_80755E0 + lsls r0, 24 + cmp r0, 0 + beq _080A7FA8 + adds r0, r4, 0 + bl DestroyAnimSprite +_080A7FA8: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80A7F94 + + thumb_func_start sub_80A7FB0 +sub_80A7FB0: @ 80A7FB0 + push {r4,r5,lr} + adds r5, r0, 0 + lsls r5, 24 + lsrs r5, 24 + movs r0, 0x1 + bl GetAnimBankSpriteId + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + adds r0, r4, 0 + movs r1, 0x1 + bl sub_80758E0 + adds r0, r4, 0 + movs r1, 0xD0 + movs r2, 0xD0 + movs r3, 0 + bl obj_id_set_rotscale + ldr r1, _080A8008 @ =gSprites + lsls r0, r4, 4 + adds r0, r4 + lsls r0, 2 + adds r0, r1 + ldrb r0, [r0, 0x5] + lsrs r0, 4 + adds r0, 0x10 + movs r1, 0 + bl sub_8075B48 + ldr r1, _080A800C @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r0, r1 + movs r1, 0x50 + strh r1, [r0, 0x8] + ldr r1, _080A8010 @ =sub_80A8014 + str r1, [r0] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A8008: .4byte gSprites +_080A800C: .4byte gTasks +_080A8010: .4byte sub_80A8014 + thumb_func_end sub_80A7FB0 + + thumb_func_start sub_80A8014 +sub_80A8014: @ 80A8014 + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + ldr r1, _080A806C @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r0, r1 + ldrh r1, [r0, 0x8] + subs r1, 0x1 + strh r1, [r0, 0x8] + lsls r1, 16 + asrs r1, 16 + movs r0, 0x1 + negs r0, r0 + cmp r1, r0 + bne _080A8064 + movs r0, 0x1 + bl GetAnimBankSpriteId + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + adds r0, r4, 0 + bl sub_8075980 + ldr r1, _080A8070 @ =gSprites + lsls r0, r4, 4 + adds r0, r4 + lsls r0, 2 + adds r0, r1 + ldrb r0, [r0, 0x5] + lsrs r0, 4 + adds r0, 0x10 + movs r1, 0x1 + bl sub_8075B48 + adds r0, r5, 0 + bl DestroyAnimVisualTask +_080A8064: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A806C: .4byte gTasks +_080A8070: .4byte gSprites + thumb_func_end sub_80A8014 + + thumb_func_start sub_80A8074 +sub_80A8074: @ 80A8074 + push {r4,r5,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r4, r0, 2 + adds r4, r0 + lsls r4, 3 + ldr r0, _080A80C0 @ =gTasks + adds r4, r0 + movs r0, 0 + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r0, 24 + movs r5, 0 + strh r0, [r4, 0x8] + movs r1, 0 + bl sub_80758E0 + strh r5, [r4, 0xA] + strh r5, [r4, 0xC] + strh r5, [r4, 0xE] + movs r0, 0x80 + lsls r0, 1 + strh r0, [r4, 0x10] + strh r5, [r4, 0x12] + strh r5, [r4, 0x14] + ldr r0, _080A80C4 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl sub_807685C + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x16] + ldr r0, _080A80C8 @ =sub_80A80CC + str r0, [r4] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A80C0: .4byte gTasks +_080A80C4: .4byte gBattleAnimAttacker +_080A80C8: .4byte sub_80A80CC + thumb_func_end sub_80A8074 + + thumb_func_start sub_80A80CC +sub_80A80CC: @ 80A80CC + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + ldr r1, _080A80F0 @ =gTasks + adds r4, r0, r1 + movs r1, 0xA + ldrsh r0, [r4, r1] + cmp r0, 0x5 + bls _080A80E6 + b _080A81F6 +_080A80E6: + lsls r0, 2 + ldr r1, _080A80F4 @ =_080A80F8 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080A80F0: .4byte gTasks +_080A80F4: .4byte _080A80F8 + .align 2, 0 +_080A80F8: + .4byte _080A8110 + .4byte _080A8158 + .4byte _080A818E + .4byte _080A8194 + .4byte _080A81A4 + .4byte _080A81D8 +_080A8110: + movs r2, 0xC + ldrsh r0, [r4, r2] + cmp r0, 0 + beq _080A8120 + cmp r0, 0x3 + beq _080A8120 + cmp r0, 0x6 + bne _080A8128 +_080A8120: + adds r0, r4, 0 + adds r1, r5, 0 + bl sub_80A8200 +_080A8128: + ldrh r0, [r4, 0xC] + adds r0, 0x1 + strh r0, [r4, 0xC] + ldrh r0, [r4, 0x10] + adds r0, 0x28 + strh r0, [r4, 0x10] + ldrb r0, [r4, 0x8] + movs r1, 0x10 + ldrsh r2, [r4, r1] + adds r1, r2, 0 + movs r3, 0 + bl obj_id_set_rotscale + ldrb r0, [r4, 0x8] + bl sub_8076440 + movs r2, 0xC + ldrsh r0, [r4, r2] + cmp r0, 0x20 + bne _080A81F6 + ldrh r0, [r4, 0x12] + adds r0, 0x1 + strh r0, [r4, 0x12] + b _080A81D0 +_080A8158: + movs r1, 0x14 + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080A81F6 + movs r2, 0x12 + ldrsh r1, [r4, r2] + cmp r1, 0x3 + bne _080A816E + strh r0, [r4, 0xC] + strh r1, [r4, 0xA] + b _080A81F6 +_080A816E: + strh r0, [r4, 0xC] + strh r0, [r4, 0xE] + movs r2, 0x80 + lsls r2, 1 + strh r2, [r4, 0x10] + ldrb r0, [r4, 0x8] + adds r1, r2, 0 + movs r3, 0 + bl obj_id_set_rotscale + ldrb r0, [r4, 0x8] + bl sub_8076440 + movs r0, 0x2 + strh r0, [r4, 0xA] + b _080A81F6 +_080A818E: + movs r0, 0 + strh r0, [r4, 0xA] + b _080A81F6 +_080A8194: + ldrh r0, [r4, 0xC] + adds r0, 0x1 + strh r0, [r4, 0xC] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x20 + ble _080A81F6 + b _080A81CC +_080A81A4: + ldrh r0, [r4, 0xC] + adds r0, 0x2 + strh r0, [r4, 0xC] + ldrh r0, [r4, 0x10] + subs r0, 0x50 + strh r0, [r4, 0x10] + ldrb r0, [r4, 0x8] + movs r1, 0x10 + ldrsh r2, [r4, r1] + adds r1, r2, 0 + movs r3, 0 + bl obj_id_set_rotscale + ldrb r0, [r4, 0x8] + bl sub_8076440 + movs r2, 0xC + ldrsh r0, [r4, r2] + cmp r0, 0x20 + bne _080A81F6 +_080A81CC: + movs r0, 0 + strh r0, [r4, 0xC] +_080A81D0: + ldrh r0, [r4, 0xA] + adds r0, 0x1 + strh r0, [r4, 0xA] + b _080A81F6 +_080A81D8: + ldrb r0, [r4, 0x8] + bl sub_8075980 + ldr r2, _080A81FC @ =gSprites + movs r0, 0x26 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + movs r1, 0 + strh r1, [r0, 0x26] + adds r0, r5, 0 + bl DestroyAnimVisualTask +_080A81F6: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A81FC: .4byte gSprites + thumb_func_end sub_80A80CC + + thumb_func_start sub_80A8200 +sub_80A8200: @ 80A8200 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + adds r7, r0, 0 + lsls r1, 24 + lsrs r1, 24 + mov r9, r1 + movs r0, 0 + bl duplicate_obj_of_side_rel2move_in_transparent_mode + lsls r0, 16 + lsrs r0, 16 + mov r8, r0 + lsls r0, 16 + asrs r4, r0, 16 + cmp r4, 0 + blt _080A82DA + bl AllocOamMatrix + lsls r0, 24 + lsrs r6, r0, 24 + cmp r6, 0xFF + bne _080A8244 + lsls r0, r4, 4 + adds r0, r4 + lsls r0, 2 + ldr r1, _080A8240 @ =gSprites + adds r0, r1 + bl obj_delete_but_dont_free_vram + b _080A82DA + .align 2, 0 +_080A8240: .4byte gSprites +_080A8244: + ldr r5, _080A82E8 @ =gSprites + lsls r3, r4, 4 + adds r3, r4 + lsls r3, 2 + adds r4, r3, r5 + ldrb r1, [r4, 0x1] + movs r0, 0xD + negs r0, r0 + ands r0, r1 + movs r1, 0x4 + orrs r0, r1 + movs r1, 0x3 + orrs r0, r1 + strb r0, [r4, 0x1] + adds r2, r4, 0 + adds r2, 0x2C + ldrb r0, [r2] + movs r1, 0x80 + orrs r0, r1 + strb r0, [r2] + movs r0, 0x1F + ands r6, r0 + lsls r2, r6, 1 + ldrb r1, [r4, 0x3] + movs r0, 0x3F + negs r0, r0 + ands r0, r1 + orrs r0, r2 + strb r0, [r4, 0x3] + ldrb r0, [r7, 0x16] + ldrb r1, [r7, 0xE] + subs r0, r1 + adds r1, r4, 0 + adds r1, 0x43 + strb r0, [r1] + ldrh r0, [r7, 0xE] + adds r0, 0x1 + strh r0, [r7, 0xE] + ldrh r0, [r7, 0x14] + adds r0, 0x1 + strh r0, [r7, 0x14] + movs r0, 0x10 + strh r0, [r4, 0x2E] + mov r0, r9 + strh r0, [r4, 0x30] + movs r0, 0x6 + strh r0, [r4, 0x32] + adds r5, 0x1C + adds r3, r5 + ldr r0, _080A82EC @ =sub_80A82F0 + str r0, [r3] + mov r1, r8 + lsls r0, r1, 24 + lsrs r0, 24 + movs r1, 0x10 + ldrsh r2, [r7, r1] + adds r1, r2, 0 + movs r3, 0 + bl obj_id_set_rotscale + ldrb r0, [r4, 0x1] + movs r3, 0x4 + negs r3, r3 + ands r3, r0 + movs r0, 0x1 + orrs r3, r0 + strb r3, [r4, 0x1] + lsrs r1, r3, 6 + ldrb r2, [r4, 0x3] + lsrs r2, 6 + lsls r3, 30 + lsrs r3, 30 + adds r0, r4, 0 + bl CalcCenterToCornerVec +_080A82DA: + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080A82E8: .4byte gSprites +_080A82EC: .4byte sub_80A82F0 + thumb_func_end sub_80A8200 + + thumb_func_start sub_80A82F0 +sub_80A82F0: @ 80A82F0 + push {r4,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x2E] + subs r0, 0x1 + strh r0, [r4, 0x2E] + lsls r0, 16 + cmp r0, 0 + bne _080A832E + ldr r3, _080A8334 @ =gTasks + movs r0, 0x32 + ldrsh r1, [r4, r0] + lsls r1, 1 + movs r0, 0x30 + ldrsh r2, [r4, r0] + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + adds r1, r0 + adds r3, 0x8 + adds r1, r3 + ldrh r0, [r1] + subs r0, 0x1 + strh r0, [r1] + ldrb r0, [r4, 0x3] + lsls r0, 26 + lsrs r0, 27 + bl FreeOamMatrix + adds r0, r4, 0 + bl obj_delete_but_dont_free_vram +_080A832E: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A8334: .4byte gTasks + thumb_func_end sub_80A82F0 + + thumb_func_start sub_80A8338 +sub_80A8338: @ 80A8338 + push {r4,r5,lr} + lsls r0, 24 + lsrs r2, r0, 24 + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + ldr r1, _080A835C @ =gTasks + adds r4, r0, r1 + ldr r5, _080A8360 @ =gBattleAnimArgs + movs r1, 0x2 + ldrsh r0, [r5, r1] + cmp r0, 0 + bne _080A8364 + adds r0, r2, 0 + bl DestroyAnimVisualTask + b _080A838A + .align 2, 0 +_080A835C: .4byte gTasks +_080A8360: .4byte gBattleAnimArgs +_080A8364: + ldrb r0, [r5] + bl GetAnimBankSpriteId + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + movs r2, 0 + strh r1, [r4, 0x8] + strh r2, [r4, 0xA] + ldrh r0, [r5, 0x2] + strh r0, [r4, 0xC] + strh r2, [r4, 0xE] + strh r2, [r4, 0x10] + ldr r2, _080A8390 @ =gUnknown_83E3E60 + adds r0, r4, 0 + bl sub_80762D0 + ldr r0, _080A8394 @ =sub_80A8398 + str r0, [r4] +_080A838A: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A8390: .4byte gUnknown_83E3E60 +_080A8394: .4byte sub_80A8398 + thumb_func_end sub_80A8338 + + thumb_func_start sub_80A8398 +sub_80A8398: @ 80A8398 + push {r4-r6,lr} + lsls r0, 24 + lsrs r6, r0, 24 + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + ldr r1, _080A83BC @ =gTasks + adds r4, r0, r1 + movs r0, 0xA + ldrsh r5, [r4, r0] + cmp r5, 0x1 + beq _080A8400 + cmp r5, 0x1 + bgt _080A83C0 + cmp r5, 0 + beq _080A83CA + b _080A84A8 + .align 2, 0 +_080A83BC: .4byte gTasks +_080A83C0: + cmp r5, 0x2 + beq _080A8434 + cmp r5, 0x3 + beq _080A8464 + b _080A84A8 +_080A83CA: + adds r0, r4, 0 + bl sub_8076308 + ldrh r2, [r4, 0x10] + adds r2, 0x3 + strh r2, [r4, 0x10] + ldr r3, _080A83FC @ =gSprites + movs r0, 0x8 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r3 + ldrh r1, [r0, 0x26] + adds r1, r2 + strh r1, [r0, 0x26] + ldrh r0, [r4, 0xE] + adds r0, 0x1 + strh r0, [r4, 0xE] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x7 + ble _080A84A8 + strh r5, [r4, 0xE] + b _080A845C + .align 2, 0 +_080A83FC: .4byte gSprites +_080A8400: + adds r0, r4, 0 + bl sub_8076308 + ldr r2, _080A8430 @ =gSprites + movs r0, 0x8 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r1, [r4, 0x10] + ldrh r2, [r0, 0x26] + adds r1, r2 + strh r1, [r0, 0x26] + ldrh r0, [r4, 0xE] + adds r0, 0x1 + strh r0, [r4, 0xE] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x7 + ble _080A84A8 + movs r0, 0 + strh r0, [r4, 0xE] + b _080A845C + .align 2, 0 +_080A8430: .4byte gSprites +_080A8434: + movs r1, 0x10 + ldrsh r0, [r4, r1] + cmp r0, 0 + beq _080A845C + ldr r2, _080A8458 @ =gSprites + movs r0, 0x8 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r1, [r0, 0x26] + subs r1, 0x2 + strh r1, [r0, 0x26] + ldrh r0, [r4, 0x10] + subs r0, 0x2 + strh r0, [r4, 0x10] + b _080A84A8 + .align 2, 0 +_080A8458: .4byte gSprites +_080A845C: + ldrh r0, [r4, 0xA] + adds r0, 0x1 + strh r0, [r4, 0xA] + b _080A84A8 +_080A8464: + adds r0, r4, 0 + bl sub_8076308 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0 + bne _080A84A8 + ldrh r0, [r4, 0xC] + subs r0, 0x1 + strh r0, [r4, 0xC] + lsls r0, 16 + cmp r0, 0 + bne _080A849C + ldr r2, _080A8498 @ =gSprites + movs r0, 0x8 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + strh r5, [r0, 0x26] + adds r0, r6, 0 + bl DestroyAnimVisualTask + b _080A84A8 + .align 2, 0 +_080A8498: .4byte gSprites +_080A849C: + ldrb r1, [r4, 0x8] + ldr r2, _080A84B0 @ =gUnknown_83E3E60 + adds r0, r4, 0 + bl sub_80762D0 + strh r5, [r4, 0xA] +_080A84A8: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080A84B0: .4byte gUnknown_83E3E60 + thumb_func_end sub_80A8398 + + thumb_func_start sub_80A84B4 +sub_80A84B4: @ 80A84B4 + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r4, r0, 2 + adds r4, r0 + lsls r4, 3 + ldr r0, _080A84E4 @ =gTasks + adds r4, r0 + movs r0, 0 + bl GetAnimBankSpriteId + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + ldr r2, _080A84E8 @ =gUnknown_83E3E80 + adds r0, r4, 0 + bl sub_80762D0 + ldr r0, _080A84EC @ =sub_80A84F0 + str r0, [r4] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A84E4: .4byte gTasks +_080A84E8: .4byte gUnknown_83E3E80 +_080A84EC: .4byte sub_80A84F0 + thumb_func_end sub_80A84B4 + + thumb_func_start sub_80A84F0 +sub_80A84F0: @ 80A84F0 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + ldr r1, _080A8518 @ =gTasks + adds r0, r1 + bl sub_8076308 + lsls r0, 24 + cmp r0, 0 + bne _080A8510 + adds r0, r4, 0 + bl DestroyAnimVisualTask +_080A8510: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A8518: .4byte gTasks + thumb_func_end sub_80A84F0 + + thumb_func_start sub_80A851C +sub_80A851C: @ 80A851C + push {r4,r5,lr} + adds r4, r0, 0 + ldr r5, _080A854C @ =gBattleAnimAttacker + ldrb r0, [r5] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _080A8550 + adds r0, r4, 0 + movs r1, 0 + bl StartSpriteAnim + ldrb r0, [r5] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + adds r0, 0x20 + strh r0, [r4, 0x20] + movs r0, 0x40 + b _080A856A + .align 2, 0 +_080A854C: .4byte gBattleAnimAttacker +_080A8550: + adds r0, r4, 0 + movs r1, 0x1 + bl StartSpriteAnim + ldrb r0, [r5] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + subs r0, 0x20 + strh r0, [r4, 0x20] + ldr r0, _080A859C @ =0x0000ffc0 +_080A856A: + strh r0, [r4, 0x30] + ldr r0, _080A85A0 @ =gBattleAnimAttacker + ldrb r0, [r0] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + movs r1, 0 + strh r0, [r4, 0x22] + movs r0, 0x34 + strh r0, [r4, 0x2E] + strh r1, [r4, 0x32] + strh r1, [r4, 0x34] + strh r1, [r4, 0x36] + ldr r1, _080A85A4 @ =DestroyAnimSprite + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 + ldr r0, _080A85A8 @ =sub_8074D00 + str r0, [r4, 0x1C] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A859C: .4byte 0x0000ffc0 +_080A85A0: .4byte gBattleAnimAttacker +_080A85A4: .4byte DestroyAnimSprite +_080A85A8: .4byte sub_8074D00 + thumb_func_end sub_80A851C + + thumb_func_start sub_80A85AC +sub_80A85AC: @ 80A85AC + push {r4-r6,lr} + adds r6, r0, 0 + ldr r0, _080A85C0 @ =gBattleAnimArgs + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _080A85C8 + ldr r0, _080A85C4 @ =gBattleAnimAttacker + b _080A85CA + .align 2, 0 +_080A85C0: .4byte gBattleAnimArgs +_080A85C4: .4byte gBattleAnimAttacker +_080A85C8: + ldr r0, _080A8628 @ =gBattleAnimTarget +_080A85CA: + ldrb r5, [r0] + adds r0, r5, 0 + bl GetBattlerSide + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080A85E4 + ldr r1, _080A862C @ =gBattleAnimArgs + movs r2, 0x2 + ldrsh r0, [r1, r2] + negs r0, r0 + strh r0, [r1, 0x2] +_080A85E4: + adds r0, r5, 0 + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + ldr r4, _080A862C @ =gBattleAnimArgs + lsrs r0, 24 + ldrh r1, [r4, 0x2] + adds r0, r1 + strh r0, [r6, 0x20] + adds r0, r5, 0 + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r4, [r4, 0x4] + adds r0, r4 + strh r0, [r6, 0x22] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x7 + bgt _080A8616 + movs r0, 0x8 + strh r0, [r6, 0x22] +_080A8616: + ldr r1, _080A8630 @ =move_anim_8074EE0 + adds r0, r6, 0 + bl StoreSpriteCallbackInData6 + ldr r0, _080A8634 @ =sub_8074F50 + str r0, [r6, 0x1C] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080A8628: .4byte gBattleAnimTarget +_080A862C: .4byte gBattleAnimArgs +_080A8630: .4byte move_anim_8074EE0 +_080A8634: .4byte sub_8074F50 + thumb_func_end sub_80A85AC + + thumb_func_start sub_80A8638 +sub_80A8638: @ 80A8638 + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r4, r0, 2 + adds r4, r0 + lsls r4, 3 + ldr r0, _080A866C @ =gTasks + adds r4, r0 + movs r0, 0 + bl GetAnimBankSpriteId + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + movs r0, 0 + strh r1, [r4, 0x8] + strh r0, [r4, 0xA] + ldr r2, _080A8670 @ =gUnknown_83E3F1C + adds r0, r4, 0 + bl sub_80762D0 + ldr r0, _080A8674 @ =sub_80A8678 + str r0, [r4] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A866C: .4byte gTasks +_080A8670: .4byte gUnknown_83E3F1C +_080A8674: .4byte sub_80A8678 + thumb_func_end sub_80A8638 + + thumb_func_start sub_80A8678 +sub_80A8678: @ 80A8678 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + ldr r1, _080A86A0 @ =gTasks + adds r0, r1 + bl sub_8076308 + lsls r0, 24 + cmp r0, 0 + bne _080A8698 + adds r0, r4, 0 + bl DestroyAnimVisualTask +_080A8698: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A86A0: .4byte gTasks + thumb_func_end sub_80A8678 + + thumb_func_start sub_80A86A4 +sub_80A86A4: @ 80A86A4 + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, _080A8718 @ =gTasks + adds r4, r1, r0 + movs r0, 0 + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r0, 24 + movs r2, 0 + strh r0, [r4, 0x8] + strh r2, [r4, 0xA] + movs r0, 0x4 + strh r0, [r4, 0xC] + movs r0, 0x7 + strh r0, [r4, 0xE] + movs r0, 0x3 + strh r0, [r4, 0x10] + ldr r3, _080A871C @ =gSprites + movs r0, 0x8 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r3 + ldrh r0, [r0, 0x20] + strh r0, [r4, 0x12] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r3 + ldrh r0, [r0, 0x22] + strh r0, [r4, 0x14] + strh r2, [r4, 0x16] + strh r2, [r4, 0x18] + movs r0, 0x2 + strh r0, [r4, 0x1A] + ldr r0, _080A8720 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080A870E + movs r1, 0xC + ldrsh r0, [r4, r1] + negs r0, r0 + strh r0, [r4, 0xC] +_080A870E: + ldr r0, _080A8724 @ =sub_80A8728 + str r0, [r4] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A8718: .4byte gTasks +_080A871C: .4byte gSprites +_080A8720: .4byte gBattleAnimAttacker +_080A8724: .4byte sub_80A8728 + thumb_func_end sub_80A86A4 + + thumb_func_start sub_80A8728 +sub_80A8728: @ 80A8728 + push {r4,r5,lr} + lsls r0, 24 + lsrs r4, r0, 24 + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + ldr r1, _080A8770 @ =gTasks + adds r3, r0, r1 + ldrh r0, [r3, 0x16] + adds r0, 0x1 + strh r0, [r3, 0x16] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x2 + ble _080A878E + movs r0, 0 + strh r0, [r3, 0x16] + ldrh r0, [r3, 0x18] + adds r0, 0x1 + strh r0, [r3, 0x18] + movs r1, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080A8778 + ldr r2, _080A8774 @ =gSprites + movs r0, 0x8 + ldrsh r1, [r3, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r1, [r3, 0x1A] + ldrh r2, [r0, 0x22] + adds r1, r2 + b _080A878C + .align 2, 0 +_080A8770: .4byte gTasks +_080A8774: .4byte gSprites +_080A8778: + ldr r2, _080A87A0 @ =gSprites + movs r5, 0x8 + ldrsh r1, [r3, r5] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r1, [r0, 0x22] + ldrh r2, [r3, 0x1A] + subs r1, r2 +_080A878C: + strh r1, [r0, 0x22] +_080A878E: + movs r1, 0xA + ldrsh r0, [r3, r1] + cmp r0, 0x1 + beq _080A87DC + cmp r0, 0x1 + bgt _080A87A4 + cmp r0, 0 + beq _080A87AA + b _080A886C + .align 2, 0 +_080A87A0: .4byte gSprites +_080A87A4: + cmp r0, 0x2 + beq _080A880C + b _080A886C +_080A87AA: + ldr r2, _080A87D8 @ =gSprites + movs r5, 0x8 + ldrsh r1, [r3, r5] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r1, [r3, 0xC] + ldrh r2, [r0, 0x20] + adds r1, r2 + strh r1, [r0, 0x20] + ldrh r0, [r3, 0xE] + subs r0, 0x1 + strh r0, [r3, 0xE] + lsls r0, 16 + cmp r0, 0 + bne _080A886C + movs r0, 0xE + strh r0, [r3, 0xE] + movs r0, 0x1 + strh r0, [r3, 0xA] + b _080A886C + .align 2, 0 +_080A87D8: .4byte gSprites +_080A87DC: + ldr r2, _080A8808 @ =gSprites + movs r5, 0x8 + ldrsh r1, [r3, r5] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r1, [r0, 0x20] + ldrh r2, [r3, 0xC] + subs r1, r2 + strh r1, [r0, 0x20] + ldrh r0, [r3, 0xE] + subs r0, 0x1 + strh r0, [r3, 0xE] + lsls r0, 16 + cmp r0, 0 + bne _080A886C + movs r0, 0x7 + strh r0, [r3, 0xE] + movs r0, 0x2 + strh r0, [r3, 0xA] + b _080A886C + .align 2, 0 +_080A8808: .4byte gSprites +_080A880C: + ldr r2, _080A8844 @ =gSprites + movs r0, 0x8 + ldrsh r1, [r3, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r1, [r3, 0xC] + ldrh r5, [r0, 0x20] + adds r1, r5 + strh r1, [r0, 0x20] + ldrh r0, [r3, 0xE] + subs r0, 0x1 + strh r0, [r3, 0xE] + lsls r0, 16 + asrs r1, r0, 16 + cmp r1, 0 + bne _080A886C + ldrh r0, [r3, 0x10] + subs r0, 0x1 + strh r0, [r3, 0x10] + lsls r0, 16 + cmp r0, 0 + beq _080A8848 + movs r0, 0x7 + strh r0, [r3, 0xE] + strh r1, [r3, 0xA] + b _080A886C + .align 2, 0 +_080A8844: .4byte gSprites +_080A8848: + ldrh r1, [r3, 0x18] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080A8866 + movs r0, 0x8 + ldrsh r1, [r3, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r1, [r0, 0x22] + ldrh r2, [r3, 0x1A] + subs r1, r2 + strh r1, [r0, 0x22] +_080A8866: + adds r0, r4, 0 + bl DestroyAnimVisualTask +_080A886C: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80A8728 + + thumb_func_start sub_80A8874 +sub_80A8874: @ 80A8874 + push {r4-r6,lr} + sub sp, 0xC + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, _080A88C4 @ =gTasks + adds r5, r1, r0 + ldr r4, _080A88C8 @ =gBattleAnimTarget + ldrb r0, [r4] + bl sub_807492C + lsls r0, 24 + lsrs r0, 24 + adds r0, 0x20 + movs r1, 0 + strh r0, [r5, 0x8] + movs r0, 0x4 + strh r0, [r5, 0xA] + strh r1, [r5, 0xC] + strh r1, [r5, 0xE] + strh r1, [r5, 0x10] + strh r1, [r5, 0x12] + ldrb r0, [r4] + bl sub_8076B2C + strh r0, [r5, 0x26] + ldrb r0, [r4] + bl sub_80768B0 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080A88D4 + ldr r0, _080A88CC @ =gBattle_BG1_X + ldrh r0, [r0] + strh r0, [r5, 0x14] + ldr r0, _080A88D0 @ =0x04000014 + b _080A88DC + .align 2, 0 +_080A88C4: .4byte gTasks +_080A88C8: .4byte gBattleAnimTarget +_080A88CC: .4byte gBattle_BG1_X +_080A88D0: .4byte 0x04000014 +_080A88D4: + ldr r0, _080A8940 @ =gBattle_BG2_X + ldrh r0, [r0] + strh r0, [r5, 0x14] + ldr r0, _080A8944 @ =0x04000018 +_080A88DC: + str r0, [sp] + ldrh r0, [r5, 0x8] + adds r1, r0, 0 + subs r1, 0x40 + lsls r2, r1, 16 + lsls r0, 16 + cmp r2, r0 + bgt _080A891A + ldr r4, _080A8948 @ =gScanlineEffectRegBuffers + movs r0, 0xF0 + lsls r0, 3 + adds r6, r4, r0 +_080A88F4: + asrs r3, r2, 16 + cmp r3, 0 + blt _080A890C + lsls r1, r3, 1 + adds r2, r1, r4 + ldrh r0, [r5, 0x14] + adds r0, 0xF0 + strh r0, [r2] + adds r1, r6 + ldrh r0, [r5, 0x14] + adds r0, 0xF0 + strh r0, [r1] +_080A890C: + adds r0, r3, 0x1 + lsls r2, r0, 16 + asrs r1, r2, 16 + movs r3, 0x8 + ldrsh r0, [r5, r3] + cmp r1, r0 + ble _080A88F4 +_080A891A: + ldr r0, _080A894C @ =0xa2600001 + str r0, [sp, 0x4] + mov r1, sp + movs r2, 0 + movs r0, 0x1 + strb r0, [r1, 0x8] + mov r0, sp + strb r2, [r0, 0x9] + ldr r0, [sp] + ldr r1, [sp, 0x4] + ldr r2, [sp, 0x8] + bl ScanlineEffect_SetParams + ldr r0, _080A8950 @ =sub_80A8954 + str r0, [r5] + add sp, 0xC + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080A8940: .4byte gBattle_BG2_X +_080A8944: .4byte 0x04000018 +_080A8948: .4byte gScanlineEffectRegBuffers +_080A894C: .4byte 0xa2600001 +_080A8950: .4byte sub_80A8954 + thumb_func_end sub_80A8874 + + thumb_func_start sub_80A8954 +sub_80A8954: @ 80A8954 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + ldr r1, _080A8974 @ =gTasks + adds r3, r0, r1 + movs r1, 0x10 + ldrsh r0, [r3, r1] + cmp r0, 0 + beq _080A8978 + cmp r0, 0x1 + beq _080A898E + b _080A8A0E + .align 2, 0 +_080A8974: .4byte gTasks +_080A8978: + ldrh r0, [r3, 0x12] + adds r0, 0x1 + strh r0, [r3, 0x12] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x14 + ble _080A8A0E + ldrh r0, [r3, 0x10] + adds r0, 0x1 + strh r0, [r3, 0x10] + b _080A8A0E +_080A898E: + ldrh r0, [r3, 0xA] + adds r0, 0x1 + strh r0, [r3, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x3 + ble _080A8A0E + movs r0, 0 + strh r0, [r3, 0xA] + ldrh r1, [r3, 0xE] + movs r0, 0x3 + ands r0, r1 + strh r0, [r3, 0xC] + ldrh r0, [r3, 0x8] + subs r0, r1 + strh r0, [r3, 0x12] + movs r2, 0xC + ldrsh r1, [r3, r2] + cmp r1, 0x1 + beq _080A89C4 + cmp r1, 0x1 + ble _080A89CC + cmp r1, 0x2 + beq _080A89C8 + cmp r1, 0x3 + beq _080A89C8 + b _080A89CC +_080A89C4: + subs r0, 0x2 + b _080A89CA +_080A89C8: + adds r0, 0x1 +_080A89CA: + strh r0, [r3, 0x12] +_080A89CC: + movs r1, 0x12 + ldrsh r0, [r3, r1] + cmp r0, 0 + blt _080A89F0 + ldr r2, _080A8A14 @ =gScanlineEffectRegBuffers + lsls r0, 1 + adds r0, r2 + ldrh r1, [r3, 0x14] + strh r1, [r0] + movs r1, 0x12 + ldrsh r0, [r3, r1] + lsls r0, 1 + movs r1, 0xF0 + lsls r1, 3 + adds r2, r1 + adds r0, r2 + ldrh r1, [r3, 0x14] + strh r1, [r0] +_080A89F0: + ldrh r0, [r3, 0xE] + adds r0, 0x1 + strh r0, [r3, 0xE] + lsls r0, 16 + asrs r0, 16 + movs r2, 0x26 + ldrsh r1, [r3, r2] + cmp r0, r1 + blt _080A8A0E + ldr r1, _080A8A18 @ =gScanlineEffect + movs r0, 0x3 + strb r0, [r1, 0x15] + adds r0, r4, 0 + bl DestroyAnimVisualTask +_080A8A0E: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A8A14: .4byte gScanlineEffectRegBuffers +_080A8A18: .4byte gScanlineEffect + thumb_func_end sub_80A8954 + + thumb_func_start sub_80A8A1C +sub_80A8A1C: @ 80A8A1C + push {r4-r6,lr} + adds r4, r0, 0 + ldr r6, _080A8A70 @ =gBattleAnimTarget + ldrb r0, [r6] + movs r1, 0 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + subs r0, 0x10 + movs r5, 0 + strh r0, [r4, 0x20] + ldrb r0, [r6] + bl sub_807492C + lsls r0, 24 + lsrs r0, 24 + adds r0, 0x10 + strh r0, [r4, 0x22] + strh r5, [r4, 0x2E] + strh r5, [r4, 0x30] + strh r5, [r4, 0x32] + movs r0, 0x10 + strh r0, [r4, 0x34] + strh r5, [r4, 0x36] + ldrb r0, [r6] + movs r1, 0 + bl sub_8076B2C + adds r0, 0x2 + strh r0, [r4, 0x38] + movs r0, 0x3F + bl sub_8073A44 + lsls r0, 24 + asrs r0, 24 + strh r0, [r4, 0x3A] + ldr r0, _080A8A74 @ =sub_80A8A78 + str r0, [r4, 0x1C] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080A8A70: .4byte gBattleAnimTarget +_080A8A74: .4byte sub_80A8A78 + thumb_func_end sub_80A8A1C + + thumb_func_start sub_80A8A78 +sub_80A8A78: @ 80A8A78 + push {r4,lr} + adds r4, r0, 0 + movs r0, 0x2E + ldrsh r1, [r4, r0] + cmp r1, 0x1 + beq _080A8ADC + cmp r1, 0x1 + bgt _080A8A8E + cmp r1, 0 + beq _080A8A94 + b _080A8BBC +_080A8A8E: + cmp r1, 0x2 + beq _080A8B6E + b _080A8BBC +_080A8A94: + ldrh r0, [r4, 0x32] + adds r0, 0x1 + strh r0, [r4, 0x32] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + ble _080A8ABE + strh r1, [r4, 0x32] + adds r3, r4, 0 + adds r3, 0x3E + ldrb r2, [r3] + lsrs r1, r2, 2 + movs r0, 0x1 + eors r1, r0 + ands r1, r0 + lsls r1, 2 + movs r0, 0x5 + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r3] +_080A8ABE: + ldrh r0, [r4, 0x30] + adds r0, 0x1 + strh r0, [r4, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x10 + ble _080A8BBC + adds r2, r4, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x5 + negs r1, r1 + ands r1, r0 + strb r1, [r2] + b _080A8B66 +_080A8ADC: + ldrh r0, [r4, 0x30] + adds r0, 0x1 + strh r0, [r4, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x3 + ble _080A8B22 + ldrh r2, [r4, 0x32] + movs r3, 0x32 + ldrsh r1, [r4, r3] + movs r3, 0x38 + ldrsh r0, [r4, r3] + cmp r1, r0 + bge _080A8B22 + movs r0, 0 + strh r0, [r4, 0x30] + ldrh r0, [r4, 0x22] + subs r0, 0x1 + strh r0, [r4, 0x22] + adds r0, r2, 0x1 + strh r0, [r4, 0x32] + movs r1, 0x32 + ldrsh r0, [r4, r1] + movs r1, 0xA + bl __modsi3 + lsls r0, 16 + cmp r0, 0 + bne _080A8B22 + ldrh r1, [r4, 0x3A] + lsls r1, 24 + asrs r1, 24 + movs r0, 0xC6 + bl PlaySE12WithPanning +_080A8B22: + ldrh r0, [r4, 0x34] + ldrh r2, [r4, 0x36] + adds r1, r0, r2 + strh r1, [r4, 0x36] + lsls r0, r1, 16 + asrs r2, r0, 16 + cmp r2, 0x1F + ble _080A8B36 + movs r0, 0x40 + b _080A8B44 +_080A8B36: + movs r0, 0x20 + negs r0, r0 + cmp r2, r0 + bgt _080A8B50 + movs r2, 0x40 + negs r2, r2 + adds r0, r2, 0 +_080A8B44: + subs r0, r1 + strh r0, [r4, 0x36] + movs r3, 0x34 + ldrsh r0, [r4, r3] + negs r0, r0 + strh r0, [r4, 0x34] +_080A8B50: + ldrh r0, [r4, 0x36] + movs r2, 0 + strh r0, [r4, 0x24] + movs r0, 0x38 + ldrsh r1, [r4, r0] + movs r3, 0x32 + ldrsh r0, [r4, r3] + cmp r1, r0 + bne _080A8BBC + strh r2, [r4, 0x30] + strh r2, [r4, 0x32] +_080A8B66: + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + b _080A8BBC +_080A8B6E: + ldrh r0, [r4, 0x32] + adds r0, 0x1 + strh r0, [r4, 0x32] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + ble _080A8B9A + movs r0, 0 + strh r0, [r4, 0x32] + adds r3, r4, 0 + adds r3, 0x3E + ldrb r2, [r3] + lsrs r1, r2, 2 + movs r0, 0x1 + eors r1, r0 + ands r1, r0 + lsls r1, 2 + movs r0, 0x5 + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r3] +_080A8B9A: + ldrh r0, [r4, 0x30] + adds r0, 0x1 + strh r0, [r4, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x10 + ble _080A8BBC + adds r2, r4, 0 + adds r2, 0x3E + ldrb r1, [r2] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + strb r0, [r2] + adds r0, r4, 0 + bl DestroyAnimSprite +_080A8BBC: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80A8A78 + + thumb_func_start sub_80A8BC4 +sub_80A8BC4: @ 80A8BC4 + push {r4-r7,lr} + sub sp, 0x4 + adds r6, r0, 0 + movs r5, 0 + mov r0, sp + strh r5, [r0] + mov r1, sp + adds r1, 0x2 + strh r5, [r1] + ldr r0, _080A8BE8 @ =gBattleAnimArgs + movs r3, 0x4 + ldrsh r2, [r0, r3] + adds r7, r1, 0 + adds r1, r0, 0 + cmp r2, 0 + bne _080A8BF0 + ldr r0, _080A8BEC @ =gBattleAnimAttacker + b _080A8BF2 + .align 2, 0 +_080A8BE8: .4byte gBattleAnimArgs +_080A8BEC: .4byte gBattleAnimAttacker +_080A8BF0: + ldr r0, _080A8C2C @ =gBattleAnimTarget +_080A8BF2: + ldrb r5, [r0] + ldrb r1, [r1, 0x6] + movs r0, 0x1 + adds r4, r0, 0 + eors r4, r1 + bl sub_8075290 + lsls r0, 24 + cmp r0, 0 + beq _080A8C6A + movs r1, 0x2 + adds r0, r5, 0 + eors r0, r1 + bl sub_8072DF0 + lsls r0, 24 + cmp r0, 0 + beq _080A8C6A + adds r0, r5, 0 + adds r1, r4, 0 + mov r2, sp + adds r3, r7, 0 + bl sub_8076D9C + cmp r4, 0 + bne _080A8C30 + adds r0, r5, 0 + movs r1, 0 + b _080A8C34 + .align 2, 0 +_080A8C2C: .4byte gBattleAnimTarget +_080A8C30: + adds r0, r5, 0 + movs r1, 0x2 +_080A8C34: + bl sub_8074480 + lsls r0, 24 + lsrs r4, r0, 24 + adds r0, r5, 0 + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080A8C60 + ldr r2, _080A8C5C @ =gBattleAnimArgs + mov r0, sp + ldrh r1, [r0] + subs r1, r4 + ldrh r0, [r2] + subs r1, r0 + subs r0, r1 + strh r0, [r2] + b _080A8C6A + .align 2, 0 +_080A8C5C: .4byte gBattleAnimArgs +_080A8C60: + ldr r1, _080A8C7C @ =gBattleAnimArgs + mov r0, sp + ldrh r0, [r0] + subs r0, r4 + strh r0, [r1] +_080A8C6A: + ldr r1, _080A8C80 @ =sub_8075D9C + str r1, [r6, 0x1C] + adds r0, r6, 0 + bl _call_via_r1 + add sp, 0x4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080A8C7C: .4byte gBattleAnimArgs +_080A8C80: .4byte sub_8075D9C + thumb_func_end sub_80A8BC4 + + thumb_func_start sub_80A8C84 +sub_80A8C84: @ 80A8C84 + push {r4,lr} + adds r4, r0, 0 + bl sub_80755E0 + lsls r0, 24 + cmp r0, 0 + beq _080A8C9E + adds r0, r4, 0 + bl FreeSpriteOamMatrix + adds r0, r4, 0 + bl DestroyAnimSprite +_080A8C9E: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80A8C84 + + thumb_func_start sub_80A8CA4 +sub_80A8CA4: @ 80A8CA4 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x8 + adds r5, r0, 0 + movs r6, 0 + mov r0, sp + strh r6, [r0] + mov r1, sp + adds r1, 0x2 + strh r6, [r1] + ldr r0, _080A8CD0 @ =gBattleAnimArgs + movs r2, 0xA + ldrsh r0, [r0, r2] + cmp r0, 0 + bne _080A8CDC + ldr r0, _080A8CD4 @ =gBattleAnimAttacker + ldrb r7, [r0] + ldr r0, _080A8CD8 @ =gBattleAnimTarget + b _080A8CE2 + .align 2, 0 +_080A8CD0: .4byte gBattleAnimArgs +_080A8CD4: .4byte gBattleAnimAttacker +_080A8CD8: .4byte gBattleAnimTarget +_080A8CDC: + ldr r0, _080A8CFC @ =gBattleAnimTarget + ldrb r7, [r0] + ldr r0, _080A8D00 @ =gBattleAnimAttacker +_080A8CE2: + ldrb r0, [r0] + mov r8, r0 + ldr r0, _080A8D04 @ =gBattleAnimArgs + movs r3, 0xC + ldrsh r0, [r0, r3] + cmp r0, 0 + bne _080A8D08 + movs r0, 0 + mov r10, r0 + movs r1, 0x1 + str r1, [sp, 0x4] + b _080A8D10 + .align 2, 0 +_080A8CFC: .4byte gBattleAnimTarget +_080A8D00: .4byte gBattleAnimAttacker +_080A8D04: .4byte gBattleAnimArgs +_080A8D08: + movs r2, 0x2 + mov r10, r2 + movs r3, 0x3 + str r3, [sp, 0x4] +_080A8D10: + adds r0, r7, 0 + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080A8D6C + adds r0, r7, 0 + mov r1, r10 + bl sub_8074480 + lsls r0, 24 + ldr r1, _080A8D50 @ =gBattleAnimArgs + lsrs r0, 24 + ldrh r1, [r1] + adds r0, r1 + lsls r0, 16 + lsrs r0, 16 + mov r9, r0 + movs r0, 0x2 + mov r4, r8 + eors r4, r0 + adds r0, r4, 0 + bl sub_8072DF0 + lsls r0, 24 + cmp r0, 0 + beq _080A8D5C + ldr r2, _080A8D54 @ =gSprites + ldr r0, _080A8D58 @ =gUnknown_2023D44 + adds r0, r4, r0 + b _080A8DEA + .align 2, 0 +_080A8D50: .4byte gBattleAnimArgs +_080A8D54: .4byte gSprites +_080A8D58: .4byte gUnknown_2023D44 +_080A8D5C: + ldr r2, _080A8D64 @ =gSprites + ldr r0, _080A8D68 @ =gUnknown_2023D44 + add r0, r8 + b _080A8DEA + .align 2, 0 +_080A8D64: .4byte gSprites +_080A8D68: .4byte gUnknown_2023D44 +_080A8D6C: + adds r0, r7, 0 + mov r1, r10 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldr r1, _080A8DD4 @ =gBattleAnimArgs + ldrh r1, [r1] + subs r0, r1 + lsls r0, 16 + lsrs r0, 16 + mov r9, r0 + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080A8DE4 + movs r0, 0x2 + adds r4, r7, 0 + eors r4, r0 + adds r0, r4, 0 + bl sub_8072DF0 + lsls r0, 24 + cmp r0, 0 + beq _080A8DE4 + ldr r3, _080A8DD8 @ =gSprites + ldr r2, _080A8DDC @ =gUnknown_2023D44 + adds r0, r7, r2 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r6, r0, r3 + adds r2, r4, r2 + ldrb r1, [r2] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r2, r0, r3 + movs r0, 0x20 + ldrsh r1, [r6, r0] + movs r3, 0x20 + ldrsh r0, [r2, r3] + cmp r1, r0 + bge _080A8DE0 + adds r0, r2, 0 + adds r0, 0x43 + ldrb r0, [r0] + adds r0, 0x1 + b _080A8DFA + .align 2, 0 +_080A8DD4: .4byte gBattleAnimArgs +_080A8DD8: .4byte gSprites +_080A8DDC: .4byte gUnknown_2023D44 +_080A8DE0: + adds r0, r6, 0 + b _080A8DF4 +_080A8DE4: + ldr r2, _080A8E40 @ =gSprites + ldr r0, _080A8E44 @ =gUnknown_2023D44 + adds r0, r7, r0 +_080A8DEA: + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 +_080A8DF4: + adds r0, 0x43 + ldrb r0, [r0] + subs r0, 0x1 +_080A8DFA: + adds r1, r5, 0 + adds r1, 0x43 + strb r0, [r1] + adds r0, r7, 0 + ldr r1, [sp, 0x4] + bl sub_8074480 + lsls r0, 24 + ldr r4, _080A8E48 @ =gBattleAnimArgs + lsrs r0, 24 + ldrh r1, [r4, 0x2] + adds r0, r1 + lsls r0, 16 + lsrs r6, r0, 16 + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080A8E4C + movs r1, 0x2 + mov r0, r8 + eors r0, r1 + bl sub_8072DF0 + lsls r0, 24 + cmp r0, 0 + beq _080A8E4C + ldrb r1, [r4, 0xC] + mov r0, r8 + mov r2, sp + mov r3, sp + adds r3, 0x2 + bl sub_8076D9C + b _080A8E6C + .align 2, 0 +_080A8E40: .4byte gSprites +_080A8E44: .4byte gUnknown_2023D44 +_080A8E48: .4byte gBattleAnimArgs +_080A8E4C: + mov r4, sp + mov r0, r8 + mov r1, r10 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4] + mov r0, r8 + ldr r1, [sp, 0x4] + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + mov r2, sp + strh r0, [r2, 0x2] +_080A8E6C: + mov r0, r8 + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080A8E90 + mov r3, sp + mov r2, sp + ldr r1, _080A8E8C @ =gBattleAnimArgs + ldrh r0, [r1, 0x6] + ldrh r2, [r2] + adds r0, r2 + strh r0, [r3] + adds r2, r1, 0 + b _080A8E9E + .align 2, 0 +_080A8E8C: .4byte gBattleAnimArgs +_080A8E90: + mov r3, sp + mov r0, sp + ldr r2, _080A8EE0 @ =gBattleAnimArgs + ldrh r0, [r0] + ldrh r1, [r2, 0x6] + subs r0, r1 + strh r0, [r3] +_080A8E9E: + ldrh r1, [r2, 0x8] + mov r3, sp + ldrh r3, [r3, 0x2] + adds r1, r3 + mov r0, sp + strh r1, [r0, 0x2] + mov r3, r9 + strh r3, [r5, 0x30] + strh r3, [r5, 0x20] + strh r6, [r5, 0x34] + strh r6, [r5, 0x22] + ldrh r0, [r0] + strh r0, [r5, 0x32] + strh r1, [r5, 0x36] + ldrh r0, [r2] + strh r0, [r5, 0x2E] + adds r0, r5, 0 + bl obj_translate_based_on_private_1_2_3_4 + ldr r1, _080A8EE4 @ =sub_80A8C84 + str r1, [r5, 0x1C] + adds r0, r5, 0 + bl _call_via_r1 + add sp, 0x8 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080A8EE0: .4byte gBattleAnimArgs +_080A8EE4: .4byte sub_80A8C84 + thumb_func_end sub_80A8CA4 + + thumb_func_start sub_80A8EE8 +sub_80A8EE8: @ 80A8EE8 + push {r4,lr} + adds r4, r0, 0 + ldr r0, _080A8F28 @ =0x000027db + bl IndexOfSpritePaletteTag + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0xFF + beq _080A8F0E + lsls r0, 20 + ldr r1, _080A8F2C @ =0x01010000 + adds r0, r1 + lsrs r0, 16 + ldr r1, _080A8F30 @ =gBattleAnimArgs + ldrb r2, [r1, 0xA] + ldrh r3, [r1, 0x8] + movs r1, 0xF + bl BlendPalette +_080A8F0E: + adds r0, r4, 0 + movs r1, 0x1 + bl StartSpriteAffineAnim + ldr r1, _080A8F34 @ =sub_8075D9C + str r1, [r4, 0x1C] + adds r0, r4, 0 + bl _call_via_r1 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A8F28: .4byte 0x000027db +_080A8F2C: .4byte 0x01010000 +_080A8F30: .4byte gBattleAnimArgs +_080A8F34: .4byte sub_8075D9C + thumb_func_end sub_80A8EE8 + + thumb_func_start sub_80A8F38 +sub_80A8F38: @ 80A8F38 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0 + bl sub_8075160 + ldr r0, _080A8F6C @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + movs r1, 0xA0 + cmp r0, 0 + beq _080A8F54 + ldr r1, _080A8F70 @ =0x0000ff60 +_080A8F54: + movs r0, 0xE0 + lsls r0, 2 + strh r0, [r4, 0x2E] + strh r1, [r4, 0x30] + ldr r0, _080A8F74 @ =gBattleAnimArgs + ldrh r0, [r0, 0x4] + strh r0, [r4, 0x3C] + ldr r0, _080A8F78 @ =sub_80A8F7C + str r0, [r4, 0x1C] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A8F6C: .4byte gBattleAnimAttacker +_080A8F70: .4byte 0x0000ff60 +_080A8F74: .4byte gBattleAnimArgs +_080A8F78: .4byte sub_80A8F7C + thumb_func_end sub_80A8F38 + + thumb_func_start sub_80A8F7C +sub_80A8F7C: @ 80A8F7C + push {r4,r5,lr} + adds r4, r0, 0 + ldrh r2, [r4, 0x2E] + lsls r0, r2, 16 + asrs r0, 24 + ldrh r1, [r4, 0x26] + subs r1, r0 + movs r5, 0 + strh r1, [r4, 0x26] + ldrh r0, [r4, 0x30] + lsls r0, 16 + asrs r0, 24 + strh r0, [r4, 0x24] + subs r2, 0x20 + strh r2, [r4, 0x2E] + ldr r0, _080A8FE8 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + movs r1, 0xA0 + cmp r0, 0 + beq _080A8FAC + ldr r1, _080A8FEC @ =0x0000ff60 +_080A8FAC: + lsls r0, r1, 16 + asrs r0, 16 + ldrh r1, [r4, 0x30] + adds r0, r1 + strh r0, [r4, 0x30] + ldrh r1, [r4, 0x26] + movs r2, 0x26 + ldrsh r0, [r4, r2] + cmp r0, 0 + ble _080A8FE0 + ldrh r2, [r4, 0x22] + adds r0, r1, r2 + strh r0, [r4, 0x22] + ldrh r0, [r4, 0x24] + ldrh r1, [r4, 0x20] + adds r0, r1 + strh r0, [r4, 0x20] + strh r5, [r4, 0x26] + strh r5, [r4, 0x24] + strh r5, [r4, 0x2E] + adds r0, r4, 0 + movs r1, 0x1 + bl StartSpriteAffineAnim + ldr r0, _080A8FF0 @ =sub_80A8FF4 + str r0, [r4, 0x1C] +_080A8FE0: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A8FE8: .4byte gBattleAnimAttacker +_080A8FEC: .4byte 0x0000ff60 +_080A8FF0: .4byte sub_80A8FF4 + thumb_func_end sub_80A8F7C + + thumb_func_start sub_80A8FF4 +sub_80A8FF4: @ 80A8FF4 + push {r4,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x2E] + adds r1, r0, 0x1 + strh r1, [r4, 0x2E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x13 + ble _080A9012 + adds r0, r4, 0 + movs r1, 0x2 + bl StartSpriteAffineAnim + ldr r0, _080A9018 @ =sub_80A901C + str r0, [r4, 0x1C] +_080A9012: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A9018: .4byte sub_80A901C + thumb_func_end sub_80A8FF4 + + thumb_func_start sub_80A901C +sub_80A901C: @ 80A901C + push {r4,lr} + adds r4, r0, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x20 + ands r0, r1 + cmp r0, 0 + beq _080A9082 + adds r0, r4, 0 + movs r1, 0x1 + bl StartSpriteAffineAnim + movs r0, 0 + strh r0, [r4, 0x2E] + movs r1, 0x3C + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080A9068 + ldrh r2, [r4, 0x4] + lsls r1, r2, 22 + lsrs r1, 22 + adds r1, 0x10 + ldr r3, _080A905C @ =0x000003ff + adds r0, r3, 0 + ands r1, r0 + ldr r0, _080A9060 @ =0xfffffc00 + ands r0, r2 + orrs r0, r1 + strh r0, [r4, 0x4] + ldr r0, _080A9064 @ =sub_80A9094 + b _080A9080 + .align 2, 0 +_080A905C: .4byte 0x000003ff +_080A9060: .4byte 0xfffffc00 +_080A9064: .4byte sub_80A9094 +_080A9068: + ldrh r2, [r4, 0x4] + lsls r1, r2, 22 + lsrs r1, 22 + adds r1, 0x20 + ldr r3, _080A9088 @ =0x000003ff + adds r0, r3, 0 + ands r1, r0 + ldr r0, _080A908C @ =0xfffffc00 + ands r0, r2 + orrs r0, r1 + strh r0, [r4, 0x4] + ldr r0, _080A9090 @ =sub_80A911C +_080A9080: + str r0, [r4, 0x1C] +_080A9082: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A9088: .4byte 0x000003ff +_080A908C: .4byte 0xfffffc00 +_080A9090: .4byte sub_80A911C + thumb_func_end sub_80A901C + + thumb_func_start sub_80A9094 +sub_80A9094: @ 80A9094 + push {r4,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x26] + subs r0, 0x2 + strh r0, [r4, 0x26] + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x9 + bne _080A90CA + movs r0, 0x10 + strh r0, [r4, 0x2E] + movs r0, 0 + strh r0, [r4, 0x30] + movs r1, 0xFD + lsls r1, 6 + movs r0, 0x50 + bl SetGpuReg + ldrh r1, [r4, 0x2E] + movs r0, 0x52 + bl SetGpuReg + ldr r0, _080A90D0 @ =sub_80A90D4 + str r0, [r4, 0x1C] +_080A90CA: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A90D0: .4byte sub_80A90D4 + thumb_func_end sub_80A9094 + + thumb_func_start sub_80A90D4 +sub_80A90D4: @ 80A90D4 + push {r4,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x30] + adds r1, r0, 0x1 + strh r1, [r4, 0x30] + lsls r0, 16 + asrs r0, 16 + movs r1, 0x3 + bl __modsi3 + lsls r0, 16 + cmp r0, 0 + bne _080A9112 + ldrh r1, [r4, 0x2E] + subs r1, 0x1 + strh r1, [r4, 0x2E] + movs r0, 0x10 + subs r0, r1 + lsls r0, 8 + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080A9112 + ldr r0, _080A9118 @ =sub_80A911C + str r0, [r4, 0x1C] +_080A9112: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A9118: .4byte sub_80A911C + thumb_func_end sub_80A90D4 + + thumb_func_start sub_80A911C +sub_80A911C: @ 80A911C + push {lr} + adds r3, r0, 0 + ldr r0, _080A9144 @ =gBattleAnimArgs + ldrh r1, [r0, 0xE] + ldr r0, _080A9148 @ =0x0000ffff + cmp r1, r0 + bne _080A9154 + adds r2, r3, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] + movs r1, 0x3C + ldrsh r0, [r3, r1] + cmp r0, 0 + bne _080A9150 + ldr r0, _080A914C @ =sub_80A915C + b _080A9152 + .align 2, 0 +_080A9144: .4byte gBattleAnimArgs +_080A9148: .4byte 0x0000ffff +_080A914C: .4byte sub_80A915C +_080A9150: + ldr r0, _080A9158 @ =DestroyAnimSprite +_080A9152: + str r0, [r3, 0x1C] +_080A9154: + pop {r0} + bx r0 + .align 2, 0 +_080A9158: .4byte DestroyAnimSprite + thumb_func_end sub_80A911C + + thumb_func_start sub_80A915C +sub_80A915C: @ 80A915C + push {r4,lr} + adds r4, r0, 0 + movs r0, 0x50 + movs r1, 0 + bl SetGpuReg + movs r0, 0x52 + movs r1, 0 + bl SetGpuReg + adds r0, r4, 0 + bl DestroyAnimSprite + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80A915C + + thumb_func_start sub_80A917C +sub_80A917C: @ 80A917C + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r4, r0, 2 + adds r4, r0 + lsls r4, 3 + ldr r0, _080A91AC @ =gTasks + adds r4, r0 + movs r0, 0 + bl GetAnimBankSpriteId + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + strh r1, [r4, 0x8] + ldr r2, _080A91B0 @ =gUnknown_83E4128 + adds r0, r4, 0 + bl sub_80762D0 + ldr r0, _080A91B4 @ =sub_80A91B8 + str r0, [r4] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A91AC: .4byte gTasks +_080A91B0: .4byte gUnknown_83E4128 +_080A91B4: .4byte sub_80A91B8 + thumb_func_end sub_80A917C + + thumb_func_start sub_80A91B8 +sub_80A91B8: @ 80A91B8 + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + ldr r1, _080A9208 @ =gTasks + adds r4, r0, r1 + adds r0, r4, 0 + bl sub_8076308 + lsls r0, 24 + lsrs r3, r0, 24 + cmp r3, 0 + bne _080A9202 + ldr r2, _080A920C @ =gSprites + movs r0, 0x8 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + strh r3, [r0, 0x26] + movs r0, 0x8 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + adds r0, 0x3E + ldrb r1, [r0] + movs r2, 0x4 + orrs r1, r2 + strb r1, [r0] + adds r0, r5, 0 + bl DestroyAnimVisualTask +_080A9202: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A9208: .4byte gTasks +_080A920C: .4byte gSprites + thumb_func_end sub_80A91B8 + + thumb_func_start sub_80A9210 +sub_80A9210: @ 80A9210 + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, _080A9244 @ =gTasks + adds r4, r1, r0 + movs r0, 0 + strh r0, [r4, 0x8] + strh r0, [r4, 0xA] + strh r0, [r4, 0xC] + strh r0, [r4, 0xE] + movs r0, 0x3 + strh r0, [r4, 0x20] + ldr r0, _080A9248 @ =gBattleAnimTarget + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _080A9250 + ldr r0, _080A924C @ =0x0000ffff + strh r0, [r4, 0x22] + movs r0, 0x8 + b _080A9256 + .align 2, 0 +_080A9244: .4byte gTasks +_080A9248: .4byte gBattleAnimTarget +_080A924C: .4byte 0x0000ffff +_080A9250: + movs r0, 0x1 + strh r0, [r4, 0x22] + ldr r0, _080A9270 @ =0x0000fff8 +_080A9256: + strh r0, [r4, 0x24] + movs r0, 0x1 + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x26] + ldr r0, _080A9274 @ =sub_80A9278 + str r0, [r4] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A9270: .4byte 0x0000fff8 +_080A9274: .4byte sub_80A9278 + thumb_func_end sub_80A9210 + + thumb_func_start sub_80A9278 +sub_80A9278: @ 80A9278 + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + ldr r1, _080A929C @ =gTasks + adds r3, r0, r1 + movs r0, 0x8 + ldrsh r4, [r3, r0] + cmp r4, 0x1 + beq _080A92CC + cmp r4, 0x1 + bgt _080A92A0 + cmp r4, 0 + beq _080A92AA + b _080A9392 + .align 2, 0 +_080A929C: .4byte gTasks +_080A92A0: + cmp r4, 0x2 + beq _080A9348 + cmp r4, 0x3 + beq _080A9362 + b _080A9392 +_080A92AA: + ldr r2, _080A92C8 @ =gSprites + movs r0, 0x26 + ldrsh r1, [r3, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r1, [r3, 0x24] + ldrh r2, [r0, 0x24] + adds r1, r2 + strh r1, [r0, 0x24] + strh r4, [r3, 0xA] + strh r4, [r3, 0xC] + strh r4, [r3, 0xE] + b _080A935A + .align 2, 0 +_080A92C8: .4byte gSprites +_080A92CC: + ldrh r0, [r3, 0xA] + adds r0, 0x1 + strh r0, [r3, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + ble _080A9392 + movs r0, 0 + strh r0, [r3, 0xA] + ldrh r0, [r3, 0xC] + adds r0, 0x1 + strh r0, [r3, 0xC] + ands r0, r4 + lsls r0, 16 + cmp r0, 0 + beq _080A9304 + ldr r2, _080A9300 @ =gSprites + movs r4, 0x26 + ldrsh r1, [r3, r4] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r1, [r0, 0x24] + adds r1, 0x6 + b _080A9316 + .align 2, 0 +_080A9300: .4byte gSprites +_080A9304: + ldr r2, _080A9344 @ =gSprites + movs r0, 0x26 + ldrsh r1, [r3, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r1, [r0, 0x24] + subs r1, 0x6 +_080A9316: + strh r1, [r0, 0x24] + ldrh r0, [r3, 0xE] + adds r0, 0x1 + strh r0, [r3, 0xE] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x4 + ble _080A9392 + ldrh r1, [r3, 0xC] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080A935A + movs r1, 0x26 + ldrsh r0, [r3, r1] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r2 + ldrh r0, [r1, 0x24] + subs r0, 0x6 + strh r0, [r1, 0x24] + b _080A935A + .align 2, 0 +_080A9344: .4byte gSprites +_080A9348: + ldrh r0, [r3, 0x20] + subs r0, 0x1 + strh r0, [r3, 0x20] + lsls r0, 16 + cmp r0, 0 + beq _080A935A + movs r0, 0 + strh r0, [r3, 0x8] + b _080A9392 +_080A935A: + ldrh r0, [r3, 0x8] + adds r0, 0x1 + strh r0, [r3, 0x8] + b _080A9392 +_080A9362: + ldr r2, _080A9398 @ =gSprites + movs r4, 0x26 + ldrsh r1, [r3, r4] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r1, [r3, 0x22] + ldrh r4, [r0, 0x24] + adds r1, r4 + strh r1, [r0, 0x24] + movs r0, 0x26 + ldrsh r1, [r3, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + movs r1, 0x24 + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _080A9392 + adds r0, r5, 0 + bl DestroyAnimVisualTask +_080A9392: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A9398: .4byte gSprites + thumb_func_end sub_80A9278 + + thumb_func_start sub_80A939C +sub_80A939C: @ 80A939C + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r4, r0, 2 + adds r4, r0 + lsls r4, 3 + ldr r0, _080A93D8 @ =gTasks + adds r4, r0 + movs r0, 0 + strh r0, [r4, 0x8] + strh r0, [r4, 0xA] + strh r0, [r4, 0xC] + strh r0, [r4, 0xE] + movs r0, 0x1 + strh r0, [r4, 0x10] + movs r0, 0xE + strh r0, [r4, 0x22] + movs r0, 0x2 + strh r0, [r4, 0x24] + movs r0, 0 + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x26] + ldr r0, _080A93DC @ =sub_80A93E0 + str r0, [r4] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A93D8: .4byte gTasks +_080A93DC: .4byte sub_80A93E0 + thumb_func_end sub_80A939C + + thumb_func_start sub_80A93E0 +sub_80A93E0: @ 80A93E0 + push {r4-r6,lr} + lsls r0, 24 + lsrs r5, r0, 24 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + ldr r1, _080A9434 @ =gTasks + adds r4, r0, r1 + movs r0, 0x8 + ldrsh r2, [r4, r0] + cmp r2, 0 + bne _080A94A6 + ldrh r0, [r4, 0xA] + adds r0, 0x1 + strh r0, [r4, 0xA] + lsls r0, 16 + asrs r0, 16 + movs r3, 0x10 + ldrsh r1, [r4, r3] + cmp r0, r1 + ble _080A94A6 + strh r2, [r4, 0xA] + ldrh r0, [r4, 0xC] + adds r0, 0x1 + strh r0, [r4, 0xC] + movs r1, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080A943C + ldr r3, _080A9438 @ =gSprites + movs r6, 0x26 + ldrsh r1, [r4, r6] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r3 + adds r0, 0x3E + ldrb r2, [r0] + movs r1, 0x5 + negs r1, r1 + ands r1, r2 + b _080A9452 + .align 2, 0 +_080A9434: .4byte gTasks +_080A9438: .4byte gSprites +_080A943C: + ldr r3, _080A9484 @ =gSprites + movs r0, 0x26 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r3 + adds r0, 0x3E + ldrb r1, [r0] + movs r2, 0x4 + orrs r1, r2 +_080A9452: + strb r1, [r0] + ldrh r0, [r4, 0xE] + adds r0, 0x1 + movs r2, 0 + strh r0, [r4, 0xE] + lsls r0, 16 + asrs r0, 16 + movs r6, 0x22 + ldrsh r1, [r4, r6] + cmp r0, r1 + blt _080A94A6 + ldrh r0, [r4, 0x10] + adds r0, 0x1 + strh r0, [r4, 0x10] + lsls r0, 16 + asrs r0, 16 + movs r6, 0x24 + ldrsh r1, [r4, r6] + cmp r0, r1 + bge _080A9488 + strh r2, [r4, 0xA] + strh r2, [r4, 0xC] + strh r2, [r4, 0xE] + b _080A94A6 + .align 2, 0 +_080A9484: .4byte gSprites +_080A9488: + movs r0, 0x26 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r3 + adds r0, 0x3E + ldrb r2, [r0] + movs r1, 0x5 + negs r1, r1 + ands r1, r2 + strb r1, [r0] + adds r0, r5, 0 + bl DestroyAnimVisualTask +_080A94A6: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_80A93E0 + + thumb_func_start sub_80A94AC +sub_80A94AC: @ 80A94AC + push {r4,r5,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r4, r0, 2 + adds r4, r0 + lsls r4, 3 + ldr r0, _080A94FC @ =gTasks + adds r4, r0 + movs r0, 0 + strh r0, [r4, 0x8] + movs r1, 0x4 + strh r1, [r4, 0xA] + strh r0, [r4, 0xC] + strh r0, [r4, 0xE] + strh r0, [r4, 0x10] + strh r0, [r4, 0x12] + strh r0, [r4, 0x14] + strh r0, [r4, 0x16] + strh r0, [r4, 0x18] + strh r0, [r4, 0x22] + ldr r5, _080A9500 @ =gBattleAnimAttacker + ldrb r0, [r5] + movs r1, 0 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x24] + ldrb r0, [r5] + movs r1, 0x1 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x26] + ldr r0, _080A9504 @ =sub_80A9508 + str r0, [r4] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A94FC: .4byte gTasks +_080A9500: .4byte gBattleAnimAttacker +_080A9504: .4byte sub_80A9508 + thumb_func_end sub_80A94AC + + thumb_func_start sub_80A9508 +sub_80A9508: @ 80A9508 + push {r4-r6,lr} + lsls r0, 24 + lsrs r6, r0, 24 + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + ldr r1, _080A952C @ =gTasks + adds r4, r0, r1 + movs r0, 0x18 + ldrsh r2, [r4, r0] + cmp r2, 0x1 + beq _080A9574 + cmp r2, 0x1 + bgt _080A9530 + cmp r2, 0 + beq _080A9536 + b _080A9590 + .align 2, 0 +_080A952C: .4byte gTasks +_080A9530: + cmp r2, 0x2 + beq _080A958C + b _080A9590 +_080A9536: + ldrh r0, [r4, 0x10] + adds r0, 0x1 + strh r0, [r4, 0x10] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + ble _080A9590 + strh r2, [r4, 0x10] + ldrh r0, [r4, 0x12] + adds r0, 0x1 + movs r1, 0x1 + ands r0, r1 + strh r0, [r4, 0x12] + ldrh r0, [r4, 0x14] + adds r0, 0x1 + strh r0, [r4, 0x14] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x14 + ble _080A9590 + movs r1, 0x16 + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080A956E + strh r2, [r4, 0x14] + movs r0, 0x1 + strh r0, [r4, 0x18] + b _080A9590 +_080A956E: + movs r0, 0x2 + strh r0, [r4, 0x18] + b _080A9590 +_080A9574: + movs r1, 0 + strh r1, [r4, 0x12] + ldrh r0, [r4, 0x10] + adds r0, 0x1 + strh r0, [r4, 0x10] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x14 + ble _080A9590 + strh r2, [r4, 0x16] + strh r1, [r4, 0x18] + b _080A9590 +_080A958C: + movs r0, 0x1 + strh r0, [r4, 0x12] +_080A9590: + movs r2, 0x8 + ldrsh r5, [r4, r2] + cmp r5, 0 + beq _080A959E + cmp r5, 0x1 + beq _080A9634 + b _080A9642 +_080A959E: + ldrh r0, [r4, 0xA] + adds r0, 0x1 + strh r0, [r4, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x4 + ble _080A9642 + strh r5, [r4, 0xA] + ldr r0, _080A9628 @ =gUnknown_83E4154 + movs r3, 0x24 + ldrsh r1, [r4, r3] + movs r3, 0x26 + ldrsh r2, [r4, r3] + movs r3, 0 + bl CreateSprite + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0x40 + beq _080A9642 + ldr r0, _080A962C @ =gSprites + lsls r1, r2, 4 + adds r1, r2 + lsls r1, 2 + adds r1, r0 + strh r6, [r1, 0x2E] + movs r0, 0xD + strh r0, [r1, 0x30] + ldr r2, _080A9630 @ =gUnknown_83E416C + movs r3, 0xC + ldrsh r0, [r4, r3] + lsls r0, 1 + adds r0, r2 + ldrb r0, [r0] + lsls r0, 24 + asrs r0, 24 + strh r0, [r1, 0x24] + movs r3, 0xC + ldrsh r0, [r4, r3] + lsls r0, 1 + adds r2, 0x1 + adds r0, r2 + ldrb r0, [r0] + lsls r0, 24 + asrs r0, 24 + strh r0, [r1, 0x26] + ldrh r0, [r4, 0x22] + adds r0, 0x1 + strh r0, [r4, 0x22] + ldrh r0, [r4, 0xC] + adds r0, 0x1 + strh r0, [r4, 0xC] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x3 + ble _080A9642 + strh r5, [r4, 0xC] + ldrh r0, [r4, 0xE] + adds r0, 0x1 + strh r0, [r4, 0xE] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x5 + ble _080A9642 + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] + b _080A9642 + .align 2, 0 +_080A9628: .4byte gUnknown_83E4154 +_080A962C: .4byte gSprites +_080A9630: .4byte gUnknown_83E416C +_080A9634: + movs r1, 0x22 + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080A9642 + adds r0, r6, 0 + bl DestroyAnimVisualTask +_080A9642: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_80A9508 + + thumb_func_start sub_80A9648 +sub_80A9648: @ 80A9648 + push {r4,lr} + adds r3, r0, 0 + ldr r4, _080A96B0 @ =gTasks + movs r0, 0x2E + ldrsh r1, [r3, r0] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r4 + movs r1, 0x3E + adds r1, r3 + mov r12, r1 + movs r2, 0x1 + ldrb r1, [r0, 0x12] + ands r1, r2 + lsls r1, 2 + mov r0, r12 + ldrb r2, [r0] + movs r0, 0x5 + negs r0, r0 + ands r0, r2 + orrs r0, r1 + mov r1, r12 + strb r0, [r1] + adds r0, r3, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x10 + ands r0, r1 + cmp r0, 0 + beq _080A96AA + movs r0, 0x30 + ldrsh r1, [r3, r0] + lsls r1, 1 + movs r0, 0x2E + ldrsh r2, [r3, r0] + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + adds r1, r0 + adds r0, r4, 0 + adds r0, 0x8 + adds r1, r0 + ldrh r0, [r1] + subs r0, 0x1 + strh r0, [r1] + adds r0, r3, 0 + bl DestroySprite +_080A96AA: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A96B0: .4byte gTasks + thumb_func_end sub_80A9648 + + thumb_func_start sub_80A96B4 +sub_80A96B4: @ 80A96B4 + push {r4-r6,lr} + sub sp, 0x4 + lsls r0, 24 + lsrs r6, r0, 24 + ldr r0, _080A9750 @ =0x000027de + bl IndexOfSpritePaletteTag + mov r1, sp + strb r0, [r1] + movs r4, 0x1 + ldr r0, _080A9754 @ =0x00002710 + adds r5, r0, 0 +_080A96CC: + subs r0, r5, r4 + lsls r0, 16 + lsrs r0, 16 + bl AllocSpritePalette + mov r2, sp + adds r1, r2, r4 + strb r0, [r1] + adds r4, 0x1 + cmp r4, 0x2 + ble _080A96CC + movs r0, 0x80 + lsls r0, 6 + bl AllocZeroed + adds r1, r0, 0 + ldr r0, _080A9758 @ =gMonSpritesGfxPtr + ldr r0, [r0] + movs r2, 0xBE + lsls r2, 1 + adds r0, r2 + str r1, [r0] + ldr r0, _080A975C @ =gFile_graphics_battle_anims_sprites_206_palette + bl LZDecompressWram + movs r4, 0 +_080A9700: + ldr r5, _080A9758 @ =gMonSpritesGfxPtr + ldr r0, [r5] + movs r1, 0xBE + lsls r1, 1 + adds r0, r1 + lsls r1, r4, 6 + ldr r0, [r0] + adds r0, r1 + mov r2, sp + adds r1, r2, r4 + ldrb r1, [r1] + lsls r1, 20 + movs r2, 0x80 + lsls r2, 17 + adds r1, r2 + lsrs r1, 16 + movs r2, 0x20 + bl LoadPalette + adds r4, 0x1 + cmp r4, 0x2 + ble _080A9700 + ldr r0, [r5] + movs r4, 0xBE + lsls r4, 1 + adds r0, r4 + ldr r0, [r0] + bl Free + ldr r0, [r5] + adds r0, r4 + movs r1, 0 + str r1, [r0] + adds r0, r6, 0 + bl DestroyAnimVisualTask + add sp, 0x4 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080A9750: .4byte 0x000027de +_080A9754: .4byte 0x00002710 +_080A9758: .4byte gMonSpritesGfxPtr +_080A975C: .4byte gFile_graphics_battle_anims_sprites_206_palette + thumb_func_end sub_80A96B4 + + thumb_func_start sub_80A9760 +sub_80A9760: @ 80A9760 + push {r4-r6,lr} + lsls r0, 24 + lsrs r6, r0, 24 + ldr r5, _080A9784 @ =gUnknown_83E41C8 + movs r4, 0x2 +_080A976A: + ldrh r0, [r5] + bl FreeSpritePaletteByTag + adds r5, 0x2 + subs r4, 0x1 + cmp r4, 0 + bge _080A976A + adds r0, r6, 0 + bl DestroyAnimVisualTask + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080A9784: .4byte gUnknown_83E41C8 + thumb_func_end sub_80A9760 + + thumb_func_start sub_80A9788 +sub_80A9788: @ 80A9788 + push {r4,r5,lr} + adds r5, r0, 0 + lsls r1, 24 + lsls r2, 24 + lsrs r3, r2, 24 + movs r0, 0x1 + ands r3, r0 + negs r0, r3 + orrs r0, r3 + asrs r0, 31 + movs r3, 0x20 + ands r0, r3 + ldrh r4, [r5, 0x4] + lsls r3, r4, 22 + lsrs r3, 22 + lsrs r1, 22 + adds r0, r1 + adds r3, r0 + ldr r1, _080A97DC @ =0x000003ff + adds r0, r1, 0 + ands r3, r0 + ldr r0, _080A97E0 @ =0xfffffc00 + ands r0, r4 + orrs r0, r3 + strh r0, [r5, 0x4] + ldr r0, _080A97E4 @ =gUnknown_83E41C8 + lsrs r2, 25 + lsls r2, 1 + adds r2, r0 + ldrh r0, [r2] + bl IndexOfSpritePaletteTag + lsls r0, 4 + ldrb r2, [r5, 0x5] + movs r1, 0xF + ands r1, r2 + orrs r1, r0 + strb r1, [r5, 0x5] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A97DC: .4byte 0x000003ff +_080A97E0: .4byte 0xfffffc00 +_080A97E4: .4byte gUnknown_83E41C8 + thumb_func_end sub_80A9788 + + thumb_func_start sub_80A97E8 +sub_80A97E8: @ 80A97E8 + push {r4-r6,lr} + adds r5, r0, 0 + movs r1, 0 + bl sub_8075160 + ldr r6, _080A9850 @ =gBattleAnimAttacker + ldrb r0, [r6] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080A9808 + ldr r1, _080A9854 @ =gBattleAnimArgs + ldrh r0, [r1, 0x4] + negs r0, r0 + strh r0, [r1, 0x4] +_080A9808: + ldr r4, _080A9854 @ =gBattleAnimArgs + ldrh r0, [r4, 0x8] + strh r0, [r5, 0x2E] + ldrb r0, [r6] + movs r1, 0 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r1, [r4, 0x4] + adds r0, r1 + strh r0, [r5, 0x32] + ldrb r0, [r6] + movs r1, 0x1 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r1, [r4, 0x6] + adds r0, r1 + strh r0, [r5, 0x36] + ldr r0, _080A9858 @ =sub_8075590 + str r0, [r5, 0x1C] + ldr r1, _080A985C @ =DestroyAnimSprite + adds r0, r5, 0 + bl StoreSpriteCallbackInData6 + ldrb r1, [r4, 0xA] + ldrb r2, [r4, 0xC] + adds r0, r5, 0 + bl sub_80A9788 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080A9850: .4byte gBattleAnimAttacker +_080A9854: .4byte gBattleAnimArgs +_080A9858: .4byte sub_8075590 +_080A985C: .4byte DestroyAnimSprite + thumb_func_end sub_80A97E8 + + thumb_func_start sub_80A9860 +sub_80A9860: @ 80A9860 + push {r4,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + bne _080A987A + adds r0, r4, 0 + movs r1, 0 + bl sub_8075160 +_080A987A: + movs r1, 0x30 + ldrsh r0, [r4, r1] + movs r1, 0x8 + bl Sin + strh r0, [r4, 0x24] + ldrh r2, [r4, 0x32] + lsls r0, r2, 16 + asrs r0, 24 + strh r0, [r4, 0x26] + ldrh r0, [r4, 0x30] + adds r0, 0x7 + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0x30] + subs r2, 0x80 + strh r2, [r4, 0x32] + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0x3C + bne _080A98AA + adds r0, r4, 0 + bl DestroyAnimSprite +_080A98AA: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80A9860 + + thumb_func_start sub_80A98B0 +sub_80A98B0: @ 80A98B0 + push {r4-r7,lr} + lsls r0, 24 + lsrs r7, r0, 24 + bl sub_8073788 + lsls r0, 24 + movs r6, 0xF0 + cmp r0, 0 + beq _080A98C4 + movs r6, 0x98 +_080A98C4: + movs r5, 0 + ldr r1, _080A9918 @ =gUnknown_2022984 + strh r6, [r1] + ldr r4, _080A991C @ =gUnknown_2022986 + movs r0, 0xA0 + strh r0, [r4] + ldrh r1, [r1] + movs r0, 0x40 + bl SetGpuReg + ldrh r1, [r4] + movs r0, 0x44 + bl SetGpuReg + ldr r1, _080A9920 @ =0x00003f1f + movs r0, 0x48 + bl SetGpuReg + ldr r1, _080A9924 @ =0x00003f3f + movs r0, 0x4A + bl SetGpuReg + movs r0, 0x50 + movs r1, 0xC8 + bl SetGpuReg + movs r0, 0x54 + movs r1, 0x10 + bl SetGpuReg + ldr r1, _080A9928 @ =gTasks + lsls r0, r7, 2 + adds r0, r7 + lsls r0, 3 + adds r0, r1 + strh r5, [r0, 0x8] + strh r6, [r0, 0xA] + ldr r1, _080A992C @ =sub_80A9930 + str r1, [r0] + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080A9918: .4byte gUnknown_2022984 +_080A991C: .4byte gUnknown_2022986 +_080A9920: .4byte 0x00003f1f +_080A9924: .4byte 0x00003f3f +_080A9928: .4byte gTasks +_080A992C: .4byte sub_80A9930 + thumb_func_end sub_80A98B0 + + thumb_func_start sub_80A9930 +sub_80A9930: @ 80A9930 + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + ldr r2, _080A9964 @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r3, r1, r2 + ldrh r0, [r3, 0x8] + adds r4, r0, 0 + adds r4, 0xD + strh r4, [r3, 0x8] + ldrh r0, [r3, 0xA] + adds r2, r0, 0 + subs r2, 0xD + strh r2, [r3, 0xA] + lsls r1, r4, 16 + lsls r0, r2, 16 + cmp r1, r0 + blt _080A9970 + ldr r0, _080A9968 @ =gUnknown_2022984 + movs r1, 0 + strh r1, [r0] + ldr r0, _080A996C @ =sub_80A9984 + str r0, [r3] + b _080A9978 + .align 2, 0 +_080A9964: .4byte gTasks +_080A9968: .4byte gUnknown_2022984 +_080A996C: .4byte sub_80A9984 +_080A9970: + ldr r1, _080A9980 @ =gUnknown_2022984 + lsls r0, r4, 8 + orrs r2, r0 + strh r2, [r1] +_080A9978: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A9980: .4byte gUnknown_2022984 + thumb_func_end sub_80A9930 + + thumb_func_start sub_80A9984 +sub_80A9984: @ 80A9984 + push {r4,r5,lr} + sub sp, 0xC + lsls r0, 24 + lsrs r0, 24 + adds r5, r0, 0 + ldr r1, _080A99D0 @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r1, r0, r1 + ldrh r0, [r1, 0x1C] + adds r0, 0x1 + movs r4, 0 + strh r0, [r1, 0x1C] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x5 + bne _080A99D8 + movs r0, 0x88 + strh r0, [r1, 0x1E] + movs r0, 0x50 + movs r1, 0x88 + bl SetGpuReg + str r4, [sp] + str r4, [sp, 0x4] + str r4, [sp, 0x8] + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + movs r3, 0 + bl sub_8075BE8 + ldr r2, _080A99D4 @ =0x00007fff + movs r1, 0x10 + bl BlendPalettes + b _080A9A0C + .align 2, 0 +_080A99D0: .4byte gTasks +_080A99D4: .4byte 0x00007fff +_080A99D8: + cmp r0, 0x4 + ble _080A9A0C + ldr r0, _080A9A14 @ =gUnknown_2022984 + strh r4, [r0] + ldr r0, _080A9A18 @ =gUnknown_2022986 + strh r4, [r0] + ldr r4, _080A9A1C @ =0x00003f3f + movs r0, 0x48 + adds r1, r4, 0 + bl SetGpuReg + movs r0, 0x4A + adds r1, r4, 0 + bl SetGpuReg + movs r0, 0x50 + movs r1, 0 + bl SetGpuReg + movs r0, 0x54 + movs r1, 0 + bl SetGpuReg + adds r0, r5, 0 + bl DestroyAnimVisualTask +_080A9A0C: + add sp, 0xC + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A9A14: .4byte gUnknown_2022984 +_080A9A18: .4byte gUnknown_2022986 +_080A9A1C: .4byte 0x00003f3f + thumb_func_end sub_80A9984 + + thumb_func_start sub_80A9A20 +sub_80A9A20: @ 80A9A20 + push {r4-r6,lr} + lsls r0, 24 + lsrs r0, 24 + adds r6, r0, 0 + movs r0, 0x1 + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r4, r0, 24 + ldr r1, _080A9A70 @ =gTasks + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + adds r5, r0, r1 + ldrh r0, [r5, 0x8] + adds r0, 0x1 + strh r0, [r5, 0x8] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + bne _080A9A7C + movs r0, 0x1 + bl GetAnimBankSpriteId + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + ldr r2, _080A9A74 @ =gUnknown_83E4200 + adds r0, r5, 0 + bl sub_80762D0 + ldr r1, _080A9A78 @ =gSprites + lsls r0, r4, 4 + adds r0, r4 + lsls r0, 2 + adds r0, r1 + movs r1, 0x4 + strh r1, [r0, 0x24] + b _080A9AA4 + .align 2, 0 +_080A9A70: .4byte gTasks +_080A9A74: .4byte gUnknown_83E4200 +_080A9A78: .4byte gSprites +_080A9A7C: + ldr r1, _080A9AAC @ =gSprites + lsls r0, r4, 4 + adds r0, r4 + lsls r0, 2 + adds r4, r0, r1 + ldrh r0, [r4, 0x24] + negs r0, r0 + strh r0, [r4, 0x24] + adds r0, r5, 0 + bl sub_8076308 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0 + bne _080A9AA4 + strh r0, [r4, 0x24] + strh r0, [r4, 0x26] + adds r0, r6, 0 + bl DestroyAnimVisualTask +_080A9AA4: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080A9AAC: .4byte gSprites + thumb_func_end sub_80A9A20 + + thumb_func_start sub_80A9AB0 +sub_80A9AB0: @ 80A9AB0 + push {r4-r6,lr} + lsls r0, 24 + lsrs r0, 24 + adds r6, r0, 0 + movs r0, 0 + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r4, r0, 24 + ldr r1, _080A9B00 @ =gTasks + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + adds r5, r0, r1 + ldrh r0, [r5, 0x8] + adds r0, 0x1 + strh r0, [r5, 0x8] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + bne _080A9B0C + movs r0, 0 + bl GetAnimBankSpriteId + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + ldr r2, _080A9B04 @ =gUnknown_83E4200 + adds r0, r5, 0 + bl sub_80762D0 + ldr r1, _080A9B08 @ =gSprites + lsls r0, r4, 4 + adds r0, r4 + lsls r0, 2 + adds r0, r1 + movs r1, 0x4 + strh r1, [r0, 0x24] + b _080A9B34 + .align 2, 0 +_080A9B00: .4byte gTasks +_080A9B04: .4byte gUnknown_83E4200 +_080A9B08: .4byte gSprites +_080A9B0C: + ldr r1, _080A9B3C @ =gSprites + lsls r0, r4, 4 + adds r0, r4 + lsls r0, 2 + adds r4, r0, r1 + ldrh r0, [r4, 0x24] + negs r0, r0 + strh r0, [r4, 0x24] + adds r0, r5, 0 + bl sub_8076308 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0 + bne _080A9B34 + strh r0, [r4, 0x24] + strh r0, [r4, 0x26] + adds r0, r6, 0 + bl DestroyAnimVisualTask +_080A9B34: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080A9B3C: .4byte gSprites + thumb_func_end sub_80A9AB0 + + thumb_func_start sub_80A9B40 +sub_80A9B40: @ 80A9B40 + push {r4,r5,lr} + adds r4, r0, 0 + movs r1, 0x1 + bl sub_8075160 + movs r0, 0x5F + strh r0, [r4, 0x2E] + ldrh r0, [r4, 0x20] + strh r0, [r4, 0x30] + ldr r5, _080A9B84 @ =gBattleAnimTarget + ldrb r0, [r5] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x32] + ldrh r0, [r4, 0x22] + strh r0, [r4, 0x34] + ldrb r0, [r5] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x36] + adds r0, r4, 0 + bl obj_translate_based_on_private_1_2_3_4 + ldr r0, _080A9B88 @ =sub_80A9B8C + str r0, [r4, 0x1C] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A9B84: .4byte gBattleAnimTarget +_080A9B88: .4byte sub_80A9B8C + thumb_func_end sub_80A9B40 + + thumb_func_start sub_80A9B8C +sub_80A9B8C: @ 80A9B8C + push {r4,lr} + adds r4, r0, 0 + bl sub_80755E0 + lsls r0, 24 + cmp r0, 0 + bne _080A9BB6 + movs r1, 0x38 + ldrsh r0, [r4, r1] + movs r1, 0xE + bl Sin + ldrh r1, [r4, 0x26] + adds r0, r1 + strh r0, [r4, 0x26] + ldrh r0, [r4, 0x38] + adds r0, 0x4 + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0x38] + b _080A9BBC +_080A9BB6: + adds r0, r4, 0 + bl DestroyAnimSprite +_080A9BBC: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80A9B8C + + thumb_func_start sub_80A9BC4 +sub_80A9BC4: @ 80A9BC4 + push {r4,lr} + adds r4, r0, 0 + ldrh r2, [r4, 0x2E] + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080A9BE8 + ldr r1, _080A9BE4 @ =gBattleAnimArgs + ldrh r0, [r1] + strh r0, [r4, 0x30] + ldrh r0, [r1, 0x2] + strh r0, [r4, 0x32] + adds r0, r2, 0x1 + strh r0, [r4, 0x2E] + b _080A9C44 + .align 2, 0 +_080A9BE4: .4byte gBattleAnimArgs +_080A9BE8: + ldrh r0, [r4, 0x30] + ldrh r2, [r4, 0x36] + adds r0, r2 + strh r0, [r4, 0x36] + lsls r0, 16 + asrs r0, 24 + strh r0, [r4, 0x24] + movs r1, 0x34 + ldrsh r0, [r4, r1] + movs r2, 0x32 + ldrsh r1, [r4, r2] + bl Sin + strh r0, [r4, 0x26] + ldrh r0, [r4, 0x34] + adds r0, 0x3 + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0x34] + cmp r0, 0x64 + ble _080A9C36 + movs r0, 0x34 + ldrsh r1, [r4, r0] + lsrs r0, r1, 31 + adds r0, r1, r0 + asrs r0, 1 + lsls r0, 1 + subs r1, r0 + adds r3, r4, 0 + adds r3, 0x3E + movs r0, 0x1 + ands r1, r0 + lsls r1, 2 + ldrb r2, [r3] + movs r0, 0x5 + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r3] +_080A9C36: + movs r1, 0x34 + ldrsh r0, [r4, r1] + cmp r0, 0x78 + ble _080A9C44 + adds r0, r4, 0 + bl DestroyAnimSprite +_080A9C44: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80A9BC4 + + thumb_func_start sub_80A9C4C +sub_80A9C4C: @ 80A9C4C + push {lr} + ldr r2, _080A9C70 @ =gBattleAnimArgs + ldrh r1, [r2] + strh r1, [r0, 0x20] + movs r1, 0xA0 + strh r1, [r0, 0x22] + ldrh r1, [r2, 0x4] + strh r1, [r0, 0x2E] + ldrh r1, [r2, 0x2] + strh r1, [r0, 0x30] + ldr r1, _080A9C74 @ =sub_8074C44 + str r1, [r0, 0x1C] + ldr r1, _080A9C78 @ =sub_80A9C7C + bl StoreSpriteCallbackInData6 + pop {r0} + bx r0 + .align 2, 0 +_080A9C70: .4byte gBattleAnimArgs +_080A9C74: .4byte sub_8074C44 +_080A9C78: .4byte sub_80A9C7C + thumb_func_end sub_80A9C4C + + thumb_func_start sub_80A9C7C +sub_80A9C7C: @ 80A9C7C + push {r4,r5,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x30] + ldrh r1, [r4, 0x32] + adds r0, r1 + strh r0, [r4, 0x32] + lsls r0, 16 + lsrs r0, 24 + negs r0, r0 + strh r0, [r4, 0x26] + movs r1, 0x34 + ldrsh r0, [r4, r1] + movs r1, 0x4 + bl Sin + strh r0, [r4, 0x24] + ldrh r0, [r4, 0x34] + adds r0, 0x3 + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0x34] + ldrh r0, [r4, 0x26] + ldrh r1, [r4, 0x22] + adds r0, r1 + lsls r0, 16 + asrs r5, r0, 16 + cmp r5, 0x48 + bgt _080A9CE2 + movs r0, 0x34 + ldrsh r1, [r4, r0] + lsrs r0, r1, 31 + adds r0, r1, r0 + asrs r0, 1 + lsls r0, 1 + subs r1, r0 + adds r3, r4, 0 + adds r3, 0x3E + movs r0, 0x1 + ands r1, r0 + lsls r1, 2 + ldrb r2, [r3] + movs r0, 0x5 + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r3] + cmp r5, 0x40 + bgt _080A9CE2 + adds r0, r4, 0 + bl DestroyAnimSprite +_080A9CE2: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80A9C7C + + thumb_func_start sub_80A9CE8 +sub_80A9CE8: @ 80A9CE8 + push {r4,r5,lr} + sub sp, 0x10 + lsls r0, 24 + lsrs r5, r0, 24 + ldr r1, _080A9DA0 @ =0x00003f42 + movs r0, 0x50 + bl SetGpuReg + movs r1, 0x80 + lsls r1, 5 + movs r0, 0x52 + bl SetGpuReg + movs r0, 0x1 + movs r1, 0x4 + movs r2, 0x3 + bl SetAnimBgAttribute + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + bl SetAnimBgAttribute + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080A9D2A + movs r0, 0x1 + movs r1, 0x3 + movs r2, 0x1 + bl SetAnimBgAttribute +_080A9D2A: + ldr r0, _080A9DA4 @ =gBattle_BG1_X + movs r1, 0 + strh r1, [r0] + ldr r4, _080A9DA8 @ =gBattle_BG1_Y + strh r1, [r4] + movs r0, 0x14 + movs r1, 0 + bl SetGpuReg + ldrh r1, [r4] + movs r0, 0x16 + bl SetGpuReg + mov r0, sp + bl sub_80752A0 + mov r0, sp + ldrb r0, [r0, 0x9] + ldr r1, _080A9DAC @ =gFile_graphics_battle_anims_backgrounds_attract_tilemap + bl sub_807543C + mov r0, sp + ldrb r0, [r0, 0x9] + ldr r1, _080A9DB0 @ =gFile_graphics_battle_anims_backgrounds_attract_sheet + mov r2, sp + ldrh r2, [r2, 0xA] + bl sub_80753B4 + ldr r0, _080A9DB4 @ =gFile_graphics_battle_anims_backgrounds_attract_palette + mov r1, sp + ldrb r1, [r1, 0x8] + lsls r1, 4 + movs r2, 0x20 + bl LoadCompressedPalette + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + beq _080A9D88 + mov r0, sp + ldrb r0, [r0, 0x8] + ldr r1, [sp, 0x4] + movs r2, 0 + movs r3, 0 + bl sub_80730C0 +_080A9D88: + ldr r0, _080A9DB8 @ =gTasks + lsls r1, r5, 2 + adds r1, r5 + lsls r1, 3 + adds r1, r0 + ldr r0, _080A9DBC @ =sub_80A9DC0 + str r0, [r1] + add sp, 0x10 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A9DA0: .4byte 0x00003f42 +_080A9DA4: .4byte gBattle_BG1_X +_080A9DA8: .4byte gBattle_BG1_Y +_080A9DAC: .4byte gFile_graphics_battle_anims_backgrounds_attract_tilemap +_080A9DB0: .4byte gFile_graphics_battle_anims_backgrounds_attract_sheet +_080A9DB4: .4byte gFile_graphics_battle_anims_backgrounds_attract_palette +_080A9DB8: .4byte gTasks +_080A9DBC: .4byte sub_80A9DC0 + thumb_func_end sub_80A9CE8 + + thumb_func_start sub_80A9DC0 +sub_80A9DC0: @ 80A9DC0 + push {r4,r5,lr} + sub sp, 0x10 + lsls r0, 24 + lsrs r4, r0, 24 + ldr r1, _080A9DE8 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + movs r2, 0x20 + ldrsh r0, [r0, r2] + adds r2, r1, 0 + cmp r0, 0x4 + bls _080A9DDE + b _080A9F08 +_080A9DDE: + lsls r0, 2 + ldr r1, _080A9DEC @ =_080A9DF0 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080A9DE8: .4byte gTasks +_080A9DEC: .4byte _080A9DF0 + .align 2, 0 +_080A9DF0: + .4byte _080A9E04 + .4byte _080A9E48 + .4byte _080A9E6A + .4byte _080A9EAE + .4byte _080A9ED4 +_080A9E04: + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r4, r0, r2 + ldrh r0, [r4, 0x1C] + adds r0, 0x1 + movs r5, 0 + strh r0, [r4, 0x1C] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x4 + bne _080A9F08 + strh r5, [r4, 0x1C] + ldrh r1, [r4, 0x1E] + adds r1, 0x1 + strh r1, [r4, 0x1E] + movs r0, 0x10 + subs r0, r1 + lsls r0, 8 + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + movs r1, 0x1E + ldrsh r0, [r4, r1] + cmp r0, 0x10 + bne _080A9F08 + ldrh r0, [r4, 0x20] + adds r0, 0x1 + strh r0, [r4, 0x20] + strh r5, [r4, 0x1E] + b _080A9F08 +_080A9E48: + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r1, r0, r2 + ldrh r0, [r1, 0x1E] + adds r0, 0x1 + strh r0, [r1, 0x1E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x8D + bne _080A9F08 + movs r0, 0x10 + strh r0, [r1, 0x1E] + ldrh r0, [r1, 0x20] + adds r0, 0x1 + strh r0, [r1, 0x20] + b _080A9F08 +_080A9E6A: + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r4, r0, r2 + ldrh r0, [r4, 0x1C] + adds r0, 0x1 + strh r0, [r4, 0x1C] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x4 + bne _080A9F08 + movs r0, 0 + strh r0, [r4, 0x1C] + ldrh r1, [r4, 0x1E] + subs r1, 0x1 + strh r1, [r4, 0x1E] + movs r0, 0x10 + subs r0, r1 + lsls r0, 8 + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + movs r2, 0x1E + ldrsh r1, [r4, r2] + cmp r1, 0 + bne _080A9F08 + ldrh r0, [r4, 0x20] + adds r0, 0x1 + strh r0, [r4, 0x20] + strh r1, [r4, 0x1E] + b _080A9F08 +_080A9EAE: + mov r0, sp + bl sub_80752A0 + mov r0, sp + ldrb r0, [r0, 0x9] + bl sub_8075358 + ldr r1, _080A9ED0 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldrh r1, [r0, 0x20] + adds r1, 0x1 + strh r1, [r0, 0x20] + b _080A9F08 + .align 2, 0 +_080A9ED0: .4byte gTasks +_080A9ED4: + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080A9EE8 + movs r0, 0x1 + movs r1, 0x3 + movs r2, 0 + bl SetAnimBgAttribute +_080A9EE8: + movs r0, 0x50 + movs r1, 0 + bl SetGpuReg + movs r0, 0x52 + movs r1, 0 + bl SetGpuReg + movs r0, 0x1 + movs r1, 0x4 + movs r2, 0x1 + bl SetAnimBgAttribute + adds r0, r4, 0 + bl DestroyAnimVisualTask +_080A9F08: + add sp, 0x10 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80A9DC0 + + thumb_func_start sub_80A9F10 +sub_80A9F10: @ 80A9F10 + push {r4,r5,lr} + sub sp, 0x10 + lsls r0, 24 + lsrs r5, r0, 24 + ldr r1, _080A9F88 @ =0x00003f42 + movs r0, 0x50 + bl SetGpuReg + movs r1, 0x80 + lsls r1, 5 + movs r0, 0x52 + bl SetGpuReg + movs r0, 0x1 + movs r1, 0x4 + movs r2, 0x1 + bl SetAnimBgAttribute + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + bl SetAnimBgAttribute + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080A9F52 + movs r0, 0x1 + movs r1, 0x3 + movs r2, 0x1 + bl SetAnimBgAttribute +_080A9F52: + ldr r0, _080A9F8C @ =gBattle_BG1_X + movs r1, 0 + strh r1, [r0] + ldr r4, _080A9F90 @ =gBattle_BG1_Y + strh r1, [r4] + movs r0, 0x14 + movs r1, 0 + bl SetGpuReg + ldrh r1, [r4] + movs r0, 0x16 + bl SetGpuReg + mov r0, sp + bl sub_80752A0 + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + beq _080A9F98 + ldr r0, _080A9F94 @ =gFile_graphics_battle_anims_backgrounds_scary_face_contest_tilemap + ldr r1, [sp, 0x4] + bl LZDecompressVram + b _080A9FC6 + .align 2, 0 +_080A9F88: .4byte 0x00003f42 +_080A9F8C: .4byte gBattle_BG1_X +_080A9F90: .4byte gBattle_BG1_Y +_080A9F94: .4byte gFile_graphics_battle_anims_backgrounds_scary_face_contest_tilemap +_080A9F98: + ldr r0, _080A9FB4 @ =gBattleAnimTarget + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080A9FBC + mov r0, sp + ldrb r0, [r0, 0x9] + ldr r1, _080A9FB8 @ =gFile_graphics_battle_anims_backgrounds_scary_face_player_tilemap + bl sub_807543C + b _080A9FC6 + .align 2, 0 +_080A9FB4: .4byte gBattleAnimTarget +_080A9FB8: .4byte gFile_graphics_battle_anims_backgrounds_scary_face_player_tilemap +_080A9FBC: + mov r0, sp + ldrb r0, [r0, 0x9] + ldr r1, _080AA010 @ =gFile_graphics_battle_anims_backgrounds_scary_face_opponent_tilemap + bl sub_807543C +_080A9FC6: + mov r0, sp + ldrb r0, [r0, 0x9] + ldr r1, _080AA014 @ =gFile_graphics_battle_anims_backgrounds_scary_face_sheet + mov r2, sp + ldrh r2, [r2, 0xA] + bl sub_80753B4 + ldr r0, _080AA018 @ =gFile_graphics_battle_anims_backgrounds_scary_face_palette + mov r1, sp + ldrb r1, [r1, 0x8] + lsls r1, 4 + movs r2, 0x20 + bl LoadCompressedPalette + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + beq _080A9FFA + mov r0, sp + ldrb r0, [r0, 0x8] + ldr r1, [sp, 0x4] + movs r2, 0 + movs r3, 0 + bl sub_80730C0 +_080A9FFA: + ldr r0, _080AA01C @ =gTasks + lsls r1, r5, 2 + adds r1, r5 + lsls r1, 3 + adds r1, r0 + ldr r0, _080AA020 @ =sub_80AA024 + str r0, [r1] + add sp, 0x10 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080AA010: .4byte gFile_graphics_battle_anims_backgrounds_scary_face_opponent_tilemap +_080AA014: .4byte gFile_graphics_battle_anims_backgrounds_scary_face_sheet +_080AA018: .4byte gFile_graphics_battle_anims_backgrounds_scary_face_palette +_080AA01C: .4byte gTasks +_080AA020: .4byte sub_80AA024 + thumb_func_end sub_80A9F10 + + thumb_func_start sub_80AA024 +sub_80AA024: @ 80AA024 + push {r4,r5,lr} + sub sp, 0x10 + lsls r0, 24 + lsrs r4, r0, 24 + ldr r1, _080AA04C @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + movs r2, 0x20 + ldrsh r0, [r0, r2] + adds r2, r1, 0 + cmp r0, 0x4 + bls _080AA042 + b _080AA168 +_080AA042: + lsls r0, 2 + ldr r1, _080AA050 @ =_080AA054 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080AA04C: .4byte gTasks +_080AA050: .4byte _080AA054 + .align 2, 0 +_080AA054: + .4byte _080AA068 + .4byte _080AA0AC + .4byte _080AA0CE + .4byte _080AA112 + .4byte _080AA134 +_080AA068: + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r4, r0, r2 + ldrh r0, [r4, 0x1C] + adds r0, 0x1 + movs r5, 0 + strh r0, [r4, 0x1C] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x2 + bne _080AA168 + strh r5, [r4, 0x1C] + ldrh r1, [r4, 0x1E] + adds r1, 0x1 + strh r1, [r4, 0x1E] + movs r0, 0x10 + subs r0, r1 + lsls r0, 8 + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + movs r1, 0x1E + ldrsh r0, [r4, r1] + cmp r0, 0xE + bne _080AA168 + ldrh r0, [r4, 0x20] + adds r0, 0x1 + strh r0, [r4, 0x20] + strh r5, [r4, 0x1E] + b _080AA168 +_080AA0AC: + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r1, r0, r2 + ldrh r0, [r1, 0x1E] + adds r0, 0x1 + strh r0, [r1, 0x1E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x15 + bne _080AA168 + movs r0, 0xE + strh r0, [r1, 0x1E] + ldrh r0, [r1, 0x20] + adds r0, 0x1 + strh r0, [r1, 0x20] + b _080AA168 +_080AA0CE: + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r4, r0, r2 + ldrh r0, [r4, 0x1C] + adds r0, 0x1 + strh r0, [r4, 0x1C] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x2 + bne _080AA168 + movs r0, 0 + strh r0, [r4, 0x1C] + ldrh r1, [r4, 0x1E] + subs r1, 0x1 + strh r1, [r4, 0x1E] + movs r0, 0x10 + subs r0, r1 + lsls r0, 8 + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + movs r2, 0x1E + ldrsh r1, [r4, r2] + cmp r1, 0 + bne _080AA168 + ldrh r0, [r4, 0x20] + adds r0, 0x1 + strh r0, [r4, 0x20] + strh r1, [r4, 0x1E] + b _080AA168 +_080AA112: + mov r0, sp + bl sub_80752A0 + movs r0, 0x1 + bl sub_8075358 + movs r0, 0x2 + bl sub_8075358 + ldr r0, _080AA170 @ =gTasks + lsls r1, r4, 2 + adds r1, r4 + lsls r1, 3 + adds r1, r0 + ldrh r0, [r1, 0x20] + adds r0, 0x1 + strh r0, [r1, 0x20] +_080AA134: + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080AA148 + movs r0, 0x1 + movs r1, 0x3 + movs r2, 0 + bl SetAnimBgAttribute +_080AA148: + movs r0, 0x50 + movs r1, 0 + bl SetGpuReg + movs r0, 0x52 + movs r1, 0 + bl SetGpuReg + movs r0, 0x1 + movs r1, 0x4 + movs r2, 0x1 + bl SetAnimBgAttribute + adds r0, r4, 0 + bl DestroyAnimVisualTask +_080AA168: + add sp, 0x10 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080AA170: .4byte gTasks + thumb_func_end sub_80AA024 + + thumb_func_start sub_80AA174 +sub_80AA174: @ 80AA174 + push {r4,r5,lr} + adds r4, r0, 0 + ldr r5, _080AA1C8 @ =gBattleAnimAttacker + ldrb r0, [r5] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x20] + ldrb r0, [r5] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x22] + adds r2, r4, 0 + adds r2, 0x2C + ldrb r0, [r2] + movs r1, 0x80 + orrs r0, r1 + strb r0, [r2] + ldr r1, _080AA1CC @ =gBattleAnimArgs + ldrh r0, [r1] + strh r0, [r4, 0x2E] + ldrh r0, [r1, 0x2] + strh r0, [r4, 0x30] + ldrb r0, [r5] + bl sub_807685C + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x3C] + ldr r1, _080AA1D0 @ =sub_80AA1D4 + str r1, [r4, 0x1C] + adds r0, r4, 0 + bl _call_via_r1 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080AA1C8: .4byte gBattleAnimAttacker +_080AA1CC: .4byte gBattleAnimArgs +_080AA1D0: .4byte sub_80AA1D4 + thumb_func_end sub_80AA174 + + thumb_func_start sub_80AA1D4 +sub_80AA1D4: @ 80AA1D4 + push {r4,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x30] + subs r0, 0x40 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x7F + bhi _080AA1EA + ldrh r0, [r4, 0x3C] + adds r0, 0x1 + b _080AA1EE +_080AA1EA: + ldrh r0, [r4, 0x3C] + subs r0, 0x1 +_080AA1EE: + adds r1, r4, 0 + adds r1, 0x43 + strb r0, [r1] + movs r1, 0x30 + ldrsh r0, [r4, r1] + ldrh r1, [r4, 0x32] + lsls r1, 16 + asrs r1, 24 + bl Sin + strh r0, [r4, 0x24] + movs r2, 0x30 + ldrsh r0, [r4, r2] + ldrh r1, [r4, 0x34] + lsls r1, 16 + asrs r1, 24 + bl Cos + strh r0, [r4, 0x26] + ldrh r0, [r4, 0x30] + adds r0, 0x9 + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0x30] + movs r3, 0x38 + ldrsh r2, [r4, r3] + cmp r2, 0 + beq _080AA260 + cmp r2, 0x1 + bne _080AA290 + ldr r1, _080AA258 @ =0xfffffc00 + adds r0, r1, 0 + ldrh r2, [r4, 0x32] + adds r0, r2 + strh r0, [r4, 0x32] + ldr r3, _080AA25C @ =0xffffff00 + adds r0, r3, 0 + ldrh r1, [r4, 0x34] + adds r0, r1 + strh r0, [r4, 0x34] + ldrh r0, [r4, 0x36] + adds r0, 0x1 + strh r0, [r4, 0x36] + lsls r0, 16 + asrs r0, 16 + movs r2, 0x2E + ldrsh r1, [r4, r2] + cmp r0, r1 + bne _080AA290 + movs r0, 0x2 + strh r0, [r4, 0x38] + b _080AA2A0 + .align 2, 0 +_080AA258: .4byte 0xfffffc00 +_080AA25C: .4byte 0xffffff00 +_080AA260: + movs r3, 0x80 + lsls r3, 3 + adds r0, r3, 0 + ldrh r1, [r4, 0x32] + adds r0, r1 + strh r0, [r4, 0x32] + movs r3, 0x80 + lsls r3, 1 + adds r0, r3, 0 + ldrh r1, [r4, 0x34] + adds r0, r1 + strh r0, [r4, 0x34] + ldrh r0, [r4, 0x36] + adds r0, 0x1 + strh r0, [r4, 0x36] + lsls r0, 16 + asrs r0, 16 + movs r3, 0x2E + ldrsh r1, [r4, r3] + cmp r0, r1 + bne _080AA290 + strh r2, [r4, 0x36] + movs r0, 0x1 + strh r0, [r4, 0x38] +_080AA290: + ldr r0, _080AA2A8 @ =gBattleAnimArgs + ldrh r1, [r0, 0xE] + ldr r0, _080AA2AC @ =0x0000ffff + cmp r1, r0 + bne _080AA2A0 + adds r0, r4, 0 + bl DestroyAnimSprite +_080AA2A0: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080AA2A8: .4byte gBattleAnimArgs +_080AA2AC: .4byte 0x0000ffff + thumb_func_end sub_80AA1D4 + + thumb_func_start sub_80AA2B0 +sub_80AA2B0: @ 80AA2B0 + push {r4,r5,lr} + adds r5, r0, 0 + ldr r4, _080AA2F8 @ =gBattleAnimAttacker + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x20] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x22] + ldr r4, _080AA2FC @ =gBattleAnimArgs + movs r1, 0 + ldrsh r0, [r4, r1] + movs r1, 0xA + bl Sin + strh r0, [r5, 0x2E] + movs r1, 0 + ldrsh r0, [r4, r1] + movs r1, 0x7 + bl Cos + strh r0, [r5, 0x30] + ldr r0, _080AA300 @ =sub_80AA304 + str r0, [r5, 0x1C] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080AA2F8: .4byte gBattleAnimAttacker +_080AA2FC: .4byte gBattleAnimArgs +_080AA300: .4byte sub_80AA304 + thumb_func_end sub_80AA2B0 + + thumb_func_start sub_80AA304 +sub_80AA304: @ 80AA304 + push {lr} + adds r2, r0, 0 + ldrh r0, [r2, 0x2E] + ldrh r1, [r2, 0x24] + adds r0, r1 + strh r0, [r2, 0x24] + ldrh r0, [r2, 0x30] + ldrh r3, [r2, 0x26] + adds r0, r3 + strh r0, [r2, 0x26] + movs r1, 0x20 + ldrsh r0, [r2, r1] + movs r3, 0x24 + ldrsh r1, [r2, r3] + adds r0, r1 + adds r0, 0x10 + movs r1, 0x88 + lsls r1, 1 + cmp r0, r1 + bhi _080AA342 + movs r0, 0x22 + ldrsh r1, [r2, r0] + movs r3, 0x26 + ldrsh r0, [r2, r3] + adds r1, r0 + cmp r1, 0xA0 + bgt _080AA342 + movs r0, 0x10 + negs r0, r0 + cmp r1, r0 + bge _080AA348 +_080AA342: + adds r0, r2, 0 + bl DestroyAnimSprite +_080AA348: + pop {r0} + bx r0 + thumb_func_end sub_80AA304 + + thumb_func_start sub_80AA34C +sub_80AA34C: @ 80AA34C + push {lr} + adds r2, r0, 0 + ldrh r0, [r2, 0x2E] + ldrh r1, [r2, 0x24] + adds r0, r1 + strh r0, [r2, 0x24] + ldrh r0, [r2, 0x30] + ldrh r3, [r2, 0x26] + adds r0, r3 + strh r0, [r2, 0x26] + ldrh r0, [r2, 0x34] + adds r1, r0, 0x1 + strh r1, [r2, 0x34] + lsls r0, 16 + asrs r0, 16 + movs r3, 0x32 + ldrsh r1, [r2, r3] + cmp r0, r1 + blt _080AA378 + adds r0, r2, 0 + bl DestroyAnimSprite +_080AA378: + pop {r0} + bx r0 + thumb_func_end sub_80AA34C + + thumb_func_start sub_80AA37C +sub_80AA37C: @ 80AA37C + push {r4,r5,lr} + adds r5, r0, 0 + ldr r4, _080AA3C8 @ =gBattleAnimAttacker + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x20] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x22] + ldr r4, _080AA3CC @ =gBattleAnimArgs + movs r1, 0 + ldrsh r0, [r4, r1] + movs r1, 0xA + bl Sin + strh r0, [r5, 0x2E] + movs r1, 0 + ldrsh r0, [r4, r1] + movs r1, 0x7 + bl Cos + strh r0, [r5, 0x30] + ldrh r0, [r4, 0x2] + strh r0, [r5, 0x32] + ldr r0, _080AA3D0 @ =sub_80AA34C + str r0, [r5, 0x1C] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080AA3C8: .4byte gBattleAnimAttacker +_080AA3CC: .4byte gBattleAnimArgs +_080AA3D0: .4byte sub_80AA34C + thumb_func_end sub_80AA37C + + thumb_func_start sub_80AA3D4 +sub_80AA3D4: @ 80AA3D4 + push {lr} + adds r2, r0, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x10 + ands r0, r1 + cmp r0, 0 + beq _080AA3EA + adds r0, r2, 0 + bl DestroyAnimSprite +_080AA3EA: + pop {r0} + bx r0 + thumb_func_end sub_80AA3D4 + + thumb_func_start sub_80AA3F0 +sub_80AA3F0: @ 80AA3F0 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x1 + bl sub_8075160 + ldr r0, _080AA404 @ =sub_80AA3D4 + str r0, [r4, 0x1C] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080AA404: .4byte sub_80AA3D4 + thumb_func_end sub_80AA3F0 + + thumb_func_start sub_80AA408 +sub_80AA408: @ 80AA408 + push {r4,r5,lr} + adds r4, r0, 0 + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080AA426 + ldr r0, _080AA498 @ =gBattleAnimArgs + ldrh r1, [r0] + ldrh r2, [r4, 0x20] + adds r1, r2 + strh r1, [r4, 0x20] + ldrh r0, [r0, 0x2] + ldrh r1, [r4, 0x22] + adds r0, r1 + strh r0, [r4, 0x22] +_080AA426: + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + movs r2, 0x2E + ldrsh r1, [r4, r2] + lsls r0, r1, 2 + adds r0, r1 + lsls r5, r0, 1 + movs r0, 0xFF + ands r5, r0 + adds r0, r5, 0 + movs r1, 0x50 + bl Sin + lsls r0, 16 + asrs r0, 24 + strh r0, [r4, 0x24] + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0x4F + bgt _080AA46A + adds r0, r5, 0 + movs r1, 0x50 + bl Cos + movs r2, 0x2E + ldrsh r1, [r4, r2] + lsrs r2, r1, 31 + adds r1, r2 + asrs r1, 1 + lsls r0, 16 + asrs r0, 24 + adds r1, r0 + strh r1, [r4, 0x26] +_080AA46A: + movs r0, 0x2E + ldrsh r2, [r4, r0] + cmp r2, 0x5A + ble _080AA488 + ldrh r0, [r4, 0x32] + adds r0, 0x1 + strh r0, [r4, 0x32] + movs r0, 0x32 + ldrsh r1, [r4, r0] + lsrs r0, r1, 31 + adds r1, r0 + asrs r1, 1 + ldrh r0, [r4, 0x24] + subs r0, r1 + strh r0, [r4, 0x24] +_080AA488: + cmp r2, 0x64 + ble _080AA492 + adds r0, r4, 0 + bl DestroyAnimSprite +_080AA492: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080AA498: .4byte gBattleAnimArgs + thumb_func_end sub_80AA408 + + thumb_func_start sub_80AA49C +sub_80AA49C: @ 80AA49C + push {r4,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x38] + adds r0, 0x1 + strh r0, [r4, 0x38] + movs r1, 0x34 + ldrsh r0, [r4, r1] + movs r1, 0x5 + bl Sin + strh r0, [r4, 0x24] + movs r1, 0x38 + ldrsh r0, [r4, r1] + lsrs r1, r0, 31 + adds r0, r1 + asrs r0, 1 + strh r0, [r4, 0x26] + ldrh r0, [r4, 0x34] + adds r0, 0x3 + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0x34] + movs r1, 0x38 + ldrsh r0, [r4, r1] + cmp r0, 0x14 + ble _080AA4F2 + adds r1, r0, 0 + lsrs r0, r1, 31 + adds r0, r1, r0 + asrs r0, 1 + lsls r0, 1 + subs r1, r0 + adds r3, r4, 0 + adds r3, 0x3E + movs r0, 0x1 + ands r1, r0 + lsls r1, 2 + ldrb r2, [r3] + movs r0, 0x5 + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r3] +_080AA4F2: + movs r1, 0x38 + ldrsh r0, [r4, r1] + cmp r0, 0x1E + ble _080AA500 + adds r0, r4, 0 + bl DestroyAnimSprite +_080AA500: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80AA49C + + thumb_func_start sub_80AA508 +sub_80AA508: @ 80AA508 + push {r4,r5,lr} + adds r4, r0, 0 + ldrh r2, [r4, 0x2E] + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080AA52C + ldr r1, _080AA528 @ =gBattleAnimArgs + ldrh r0, [r1] + strh r0, [r4, 0x30] + ldrh r0, [r1, 0x2] + strh r0, [r4, 0x32] + adds r0, r2, 0x1 + strh r0, [r4, 0x2E] + b _080AA580 + .align 2, 0 +_080AA528: .4byte gBattleAnimArgs +_080AA52C: + ldrh r0, [r4, 0x30] + ldrh r2, [r4, 0x36] + adds r0, r2 + movs r5, 0 + strh r0, [r4, 0x36] + lsls r0, 16 + asrs r0, 24 + strh r0, [r4, 0x24] + movs r1, 0x34 + ldrsh r0, [r4, r1] + movs r2, 0x32 + ldrsh r1, [r4, r2] + bl Sin + adds r2, r0, 0 + strh r2, [r4, 0x26] + ldrh r0, [r4, 0x34] + adds r0, 0x3 + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0x34] + cmp r0, 0x46 + ble _080AA580 + ldr r0, _080AA588 @ =sub_80AA49C + str r0, [r4, 0x1C] + ldrh r0, [r4, 0x24] + ldrh r1, [r4, 0x20] + adds r0, r1 + strh r0, [r4, 0x20] + ldrh r1, [r4, 0x22] + adds r0, r2, r1 + strh r0, [r4, 0x22] + strh r5, [r4, 0x24] + strh r5, [r4, 0x26] + bl Random + lsls r0, 16 + lsrs r0, 16 + movs r1, 0xB4 + bl __umodsi3 + strh r0, [r4, 0x34] +_080AA580: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080AA588: .4byte sub_80AA49C + thumb_func_end sub_80AA508 + + thumb_func_start sub_80AA58C +sub_80AA58C: @ 80AA58C + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x34 + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080AA5C6 + ldr r1, _080AA688 @ =gBattleAnimArgs + ldrh r0, [r1] + ldrh r2, [r4, 0x20] + adds r0, r2 + strh r0, [r4, 0x20] + ldrh r0, [r1, 0x2] + ldrh r1, [r4, 0x22] + adds r0, r1 + strh r0, [r4, 0x22] + adds r0, r4, 0 + movs r1, 0 + bl StartSpriteAnim + ldr r0, _080AA68C @ =gBattleAnimTarget + ldrb r0, [r0] + bl sub_807685C + subs r0, 0x1 + adds r1, r4, 0 + adds r1, 0x43 + strb r0, [r1] + movs r0, 0x1 + strh r0, [r4, 0x32] +_080AA5C6: + ldrh r0, [r4, 0x32] + ldrh r2, [r4, 0x2E] + adds r0, r2 + strh r0, [r4, 0x2E] + movs r1, 0x2E + ldrsh r0, [r4, r1] + lsls r1, r0, 2 + adds r0, r1, 0 + cmp r1, 0 + bge _080AA5DC + adds r0, 0xFF +_080AA5DC: + asrs r0, 8 + lsls r0, 8 + subs r0, r1, r0 + strh r0, [r4, 0x30] + lsls r0, 16 + cmp r0, 0 + bge _080AA5EE + movs r0, 0 + strh r0, [r4, 0x30] +_080AA5EE: + movs r0, 0x30 + ldrsh r2, [r4, r0] + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0 + bge _080AA5FC + adds r0, 0x3 +_080AA5FC: + asrs r0, 2 + movs r1, 0x1E + subs r1, r0 + adds r0, r2, 0 + bl Cos + strh r0, [r4, 0x24] + movs r0, 0x30 + ldrsh r2, [r4, r0] + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0 + bge _080AA618 + adds r0, 0x7 +_080AA618: + asrs r0, 3 + movs r1, 0xA + subs r1, r0 + adds r0, r2, 0 + bl Sin + strh r0, [r4, 0x26] + movs r2, 0x30 + ldrsh r0, [r4, r2] + cmp r0, 0x80 + ble _080AA63C + ldrh r1, [r4, 0x32] + movs r2, 0x32 + ldrsh r0, [r4, r2] + cmp r0, 0 + ble _080AA63C + ldr r0, _080AA690 @ =0x0000ffff + strh r0, [r4, 0x32] +_080AA63C: + movs r1, 0x30 + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080AA650 + movs r2, 0x32 + ldrsh r0, [r4, r2] + cmp r0, 0 + bge _080AA650 + movs r0, 0x1 + strh r0, [r4, 0x32] +_080AA650: + ldrh r0, [r4, 0x34] + adds r1, r0, 0x1 + strh r1, [r4, 0x34] + subs r0, 0x9 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x46 + bls _080AA694 + movs r0, 0x2E + ldrsh r1, [r4, r0] + lsrs r0, r1, 31 + adds r0, r1, r0 + asrs r0, 1 + lsls r0, 1 + subs r1, r0 + adds r3, r4, 0 + adds r3, 0x3E + movs r0, 0x1 + ands r1, r0 + lsls r1, 2 + ldrb r2, [r3] + movs r0, 0x5 + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r3] + b _080AA6A2 + .align 2, 0 +_080AA688: .4byte gBattleAnimArgs +_080AA68C: .4byte gBattleAnimTarget +_080AA690: .4byte 0x0000ffff +_080AA694: + adds r2, r4, 0 + adds r2, 0x3E + ldrb r1, [r2] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + strb r0, [r2] +_080AA6A2: + movs r1, 0x34 + ldrsh r0, [r4, r1] + cmp r0, 0x5A + ble _080AA6B0 + adds r0, r4, 0 + bl DestroyAnimSprite +_080AA6B0: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80AA58C + + thumb_func_start sub_80AA6B8 +sub_80AA6B8: @ 80AA6B8 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080AA6EC + ldr r1, _080AA6E8 @ =gBattleAnimArgs + ldrh r0, [r1] + ldrh r2, [r4, 0x20] + adds r0, r2 + strh r0, [r4, 0x20] + ldrh r0, [r1, 0x2] + ldrh r2, [r4, 0x22] + adds r0, r2 + strh r0, [r4, 0x22] + ldrb r1, [r1, 0x4] + adds r0, r4, 0 + bl StartSpriteAnim + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + b _080AA700 + .align 2, 0 +_080AA6E8: .4byte gBattleAnimArgs +_080AA6EC: + adds r0, r4, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x10 + ands r0, r1 + cmp r0, 0 + beq _080AA700 + adds r0, r4, 0 + bl DestroyAnimSprite +_080AA700: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80AA6B8 + + thumb_func_start sub_80AA708 +sub_80AA708: @ 80AA708 + push {r4,r5,lr} + adds r5, r0, 0 + ldr r1, _080AA720 @ =gBattleAnimArgs + movs r2, 0x4 + ldrsh r0, [r1, r2] + cmp r0, 0 + bne _080AA724 + adds r0, r5, 0 + bl DestroyAnimSprite + b _080AA788 + .align 2, 0 +_080AA720: .4byte gBattleAnimArgs +_080AA724: + movs r2, 0 + ldrsh r0, [r1, r2] + cmp r0, 0 + bne _080AA734 + ldr r4, _080AA730 @ =gBattleAnimAttacker + b _080AA736 + .align 2, 0 +_080AA730: .4byte gBattleAnimAttacker +_080AA734: + ldr r4, _080AA764 @ =gBattleAnimTarget +_080AA736: + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x20] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x22] + ldr r0, _080AA768 @ =gBattleAnimArgs + movs r2, 0x2 + ldrsh r1, [r0, r2] + adds r2, r0, 0 + cmp r1, 0 + bne _080AA76C + ldrh r0, [r5, 0x20] + adds r0, 0x20 + b _080AA770 + .align 2, 0 +_080AA764: .4byte gBattleAnimTarget +_080AA768: .4byte gBattleAnimArgs +_080AA76C: + ldrh r0, [r5, 0x20] + subs r0, 0x20 +_080AA770: + strh r0, [r5, 0x20] + ldrh r0, [r2, 0x4] + strh r0, [r5, 0x2E] + ldrh r1, [r2, 0x2] + strh r1, [r5, 0x30] + lsls r1, 24 + lsrs r1, 24 + adds r0, r5, 0 + bl StartSpriteAnim + ldr r0, _080AA790 @ =sub_80AA794 + str r0, [r5, 0x1C] +_080AA788: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080AA790: .4byte sub_80AA794 + thumb_func_end sub_80AA708 + + thumb_func_start sub_80AA794 +sub_80AA794: @ 80AA794 + push {lr} + adds r2, r0, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x10 + ands r0, r1 + cmp r0, 0 + beq _080AA7C4 + ldrh r0, [r2, 0x2E] + subs r0, 0x1 + strh r0, [r2, 0x2E] + lsls r0, 16 + cmp r0, 0 + beq _080AA7BE + ldrh r1, [r2, 0x30] + lsls r1, 24 + lsrs r1, 24 + adds r0, r2, 0 + bl StartSpriteAnim + b _080AA7C4 +_080AA7BE: + adds r0, r2, 0 + bl DestroyAnimSprite +_080AA7C4: + pop {r0} + bx r0 + thumb_func_end sub_80AA794 + + thumb_func_start sub_80AA7C8 +sub_80AA7C8: @ 80AA7C8 + push {r4,r5,lr} + adds r5, r0, 0 + lsls r5, 24 + lsrs r5, 24 + ldr r0, _080AA7FC @ =gBattleAnimArgs + ldrb r0, [r0] + bl GetAnimBankSpriteId + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + lsls r4, r5, 2 + adds r4, r5 + lsls r4, 3 + ldr r0, _080AA800 @ =gTasks + adds r4, r0 + ldr r2, _080AA804 @ =gUnknown_83E4410 + adds r0, r4, 0 + bl sub_80762D0 + ldr r0, _080AA808 @ =sub_80AA80C + str r0, [r4] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080AA7FC: .4byte gBattleAnimArgs +_080AA800: .4byte gTasks +_080AA804: .4byte gUnknown_83E4410 +_080AA808: .4byte sub_80AA80C + thumb_func_end sub_80AA7C8 + + thumb_func_start sub_80AA80C +sub_80AA80C: @ 80AA80C + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + ldr r1, _080AA834 @ =gTasks + adds r0, r1 + bl sub_8076308 + lsls r0, 24 + cmp r0, 0 + bne _080AA82C + adds r0, r4, 0 + bl DestroyAnimVisualTask +_080AA82C: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080AA834: .4byte gTasks + thumb_func_end sub_80AA80C + + thumb_func_start sub_80AA838 +sub_80AA838: @ 80AA838 + push {r4-r7,lr} + adds r5, r0, 0 + ldr r0, _080AA84C @ =gBattleAnimArgs + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _080AA854 + ldr r0, _080AA850 @ =gBattleAnimAttacker + b _080AA856 + .align 2, 0 +_080AA84C: .4byte gBattleAnimArgs +_080AA850: .4byte gBattleAnimAttacker +_080AA854: + ldr r0, _080AA8EC @ =gBattleAnimTarget +_080AA856: + ldrb r6, [r0] + adds r0, r6, 0 + bl GetBattlerSide + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080AA870 + ldr r1, _080AA8F0 @ =gBattleAnimArgs + movs r2, 0x2 + ldrsh r0, [r1, r2] + negs r0, r0 + strh r0, [r1, 0x2] +_080AA870: + adds r0, r6, 0 + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + ldr r7, _080AA8F0 @ =gBattleAnimArgs + lsrs r0, 24 + ldrh r3, [r7, 0x2] + adds r0, r3 + movs r4, 0 + strh r0, [r5, 0x20] + adds r0, r6, 0 + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r1, [r7, 0x4] + adds r0, r1 + strh r0, [r5, 0x22] + strh r4, [r5, 0x2E] + ldrh r1, [r5, 0x20] + lsls r1, 3 + strh r1, [r5, 0x30] + lsls r0, 3 + strh r0, [r5, 0x32] + movs r2, 0x2 + ldrsh r0, [r7, r2] + lsls r0, 3 + cmp r0, 0 + bge _080AA8B0 + adds r0, 0x7 +_080AA8B0: + asrs r0, 3 + strh r0, [r5, 0x34] + movs r3, 0x4 + ldrsh r0, [r7, r3] + lsls r0, 3 + cmp r0, 0 + bge _080AA8C0 + adds r0, 0x7 +_080AA8C0: + asrs r0, 3 + strh r0, [r5, 0x36] + ldrh r2, [r5, 0x4] + lsls r1, r2, 22 + lsrs r1, 22 + movs r3, 0x6 + ldrsh r0, [r7, r3] + lsls r0, 4 + adds r1, r0 + ldr r3, _080AA8F4 @ =0x000003ff + adds r0, r3, 0 + ands r1, r0 + ldr r0, _080AA8F8 @ =0xfffffc00 + ands r0, r2 + orrs r0, r1 + strh r0, [r5, 0x4] + ldr r0, _080AA8FC @ =sub_80AA900 + str r0, [r5, 0x1C] + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080AA8EC: .4byte gBattleAnimTarget +_080AA8F0: .4byte gBattleAnimArgs +_080AA8F4: .4byte 0x000003ff +_080AA8F8: .4byte 0xfffffc00 +_080AA8FC: .4byte sub_80AA900 + thumb_func_end sub_80AA838 + + thumb_func_start sub_80AA900 +sub_80AA900: @ 80AA900 + push {lr} + adds r2, r0, 0 + ldrh r0, [r2, 0x34] + ldrh r1, [r2, 0x30] + adds r0, r1 + strh r0, [r2, 0x30] + ldrh r1, [r2, 0x36] + ldrh r3, [r2, 0x32] + adds r1, r3 + strh r1, [r2, 0x32] + lsls r0, 16 + asrs r0, 19 + strh r0, [r2, 0x20] + lsls r1, 16 + asrs r1, 19 + strh r1, [r2, 0x22] + ldrh r0, [r2, 0x2E] + adds r0, 0x1 + strh r0, [r2, 0x2E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x10 + ble _080AA934 + adds r0, r2, 0 + bl DestroyAnimSprite +_080AA934: + pop {r0} + bx r0 + thumb_func_end sub_80AA900 + + thumb_func_start sub_80AA938 +sub_80AA938: @ 80AA938 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080AA95A + ldr r0, _080AA994 @ =gBattleAnimArgs + ldrh r1, [r0] + movs r0, 0x78 + subs r0, r1 + strh r0, [r4, 0x30] + adds r2, r4, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] +_080AA95A: + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + lsls r0, 16 + asrs r0, 16 + movs r2, 0x30 + ldrsh r1, [r4, r2] + cmp r0, r1 + bne _080AA978 + ldrb r0, [r4, 0x5] + lsrs r0, 4 + adds r0, 0x10 + movs r1, 0 + bl sub_8075B48 +_080AA978: + movs r0, 0x2E + ldrsh r1, [r4, r0] + movs r2, 0x30 + ldrsh r0, [r4, r2] + adds r0, 0x50 + cmp r1, r0 + bne _080AA98C + adds r0, r4, 0 + bl DestroyAnimSprite +_080AA98C: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080AA994: .4byte gBattleAnimArgs + thumb_func_end sub_80AA938 + + thumb_func_start sub_80AA998 +sub_80AA998: @ 80AA998 + push {r4-r6,lr} + adds r6, r0, 0 + movs r1, 0x2E + ldrsh r0, [r6, r1] + cmp r0, 0 + bne _080AA9C6 + movs r5, 0x78 + strh r5, [r6, 0x20] + ldr r4, _080AAA48 @ =gBattleAnimArgs + movs r2, 0 + ldrsh r0, [r4, r2] + lsrs r1, r0, 31 + adds r0, r1 + asrs r0, 1 + subs r0, 0xF + strh r0, [r6, 0x22] + ldrb r1, [r4, 0x2] + adds r0, r6, 0 + bl StartSpriteAnim + strh r5, [r6, 0x38] + ldrh r0, [r4, 0x4] + strh r0, [r6, 0x34] +_080AA9C6: + ldrh r0, [r6, 0x2E] + adds r0, 0x1 + movs r5, 0 + strh r0, [r6, 0x2E] + movs r1, 0x2E + ldrsh r0, [r6, r1] + lsrs r1, r0, 31 + adds r0, r1 + asrs r0, 1 + strh r0, [r6, 0x30] + movs r2, 0x2E + ldrsh r0, [r6, r2] + lsls r4, r0, 1 + adds r4, r0 + ldrh r0, [r6, 0x34] + adds r4, r0 + movs r2, 0xFF + ldrh r0, [r6, 0x3A] + adds r0, 0xA + movs r1, 0xFF + ands r0, r1 + strh r0, [r6, 0x3A] + ands r4, r2 + adds r0, r4, 0 + movs r1, 0x64 + bl Cos + strh r0, [r6, 0x24] + adds r0, r4, 0 + movs r1, 0xA + bl Sin + adds r4, r0, 0 + movs r1, 0x3A + ldrsh r0, [r6, r1] + movs r1, 0x4 + bl Cos + ldrh r2, [r6, 0x30] + adds r4, r2 + adds r0, r4 + strh r0, [r6, 0x26] + movs r0, 0x2E + ldrsh r1, [r6, r0] + movs r2, 0x38 + ldrsh r0, [r6, r2] + cmp r1, r0 + ble _080AAA42 + ldr r0, _080AAA4C @ =sub_80AAA50 + str r0, [r6, 0x1C] + strh r5, [r6, 0x2E] + adds r0, r6, 0 + bl oamt_add_pos2_onto_pos1 + movs r0, 0x5 + strh r0, [r6, 0x32] + strh r5, [r6, 0x36] + strh r5, [r6, 0x34] + adds r0, r6, 0 + movs r1, 0x1 + bl StartSpriteAffineAnim +_080AAA42: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080AAA48: .4byte gBattleAnimArgs +_080AAA4C: .4byte sub_80AAA50 + thumb_func_end sub_80AA998 + + thumb_func_start sub_80AAA50 +sub_80AAA50: @ 80AAA50 + push {lr} + adds r1, r0, 0 + ldrh r0, [r1, 0x2E] + adds r0, 0x1 + strh r0, [r1, 0x2E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xA + ble _080AAA6A + movs r0, 0 + strh r0, [r1, 0x2E] + ldr r0, _080AAA70 @ =sub_80AAA74 + str r0, [r1, 0x1C] +_080AAA6A: + pop {r0} + bx r0 + .align 2, 0 +_080AAA70: .4byte sub_80AAA74 + thumb_func_end sub_80AAA50 + + thumb_func_start sub_80AAA74 +sub_80AAA74: @ 80AAA74 + push {r4,lr} + adds r4, r0, 0 + ldrh r1, [r4, 0x32] + ldrh r2, [r4, 0x34] + adds r0, r1, r2 + strh r0, [r4, 0x34] + strh r0, [r4, 0x26] + adds r1, 0x1 + strh r1, [r4, 0x32] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x30 + ble _080AAA9E + lsls r0, r1, 16 + cmp r0, 0 + ble _080AAA9E + ldrh r0, [r4, 0x36] + subs r1, r0, 0x5 + strh r1, [r4, 0x32] + adds r0, 0x1 + strh r0, [r4, 0x36] +_080AAA9E: + movs r1, 0x36 + ldrsh r0, [r4, r1] + cmp r0, 0x3 + ble _080AAAD0 + movs r2, 0x32 + ldrsh r1, [r4, r2] + lsrs r0, r1, 31 + adds r0, r1, r0 + asrs r0, 1 + lsls r0, 1 + subs r1, r0 + adds r3, r4, 0 + adds r3, 0x3E + movs r0, 0x1 + ands r1, r0 + lsls r1, 2 + ldrb r2, [r3] + movs r0, 0x5 + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r3] + adds r0, r4, 0 + bl DestroyAnimSprite +_080AAAD0: + movs r1, 0x36 + ldrsh r0, [r4, r1] + cmp r0, 0x4 + bne _080AAADE + adds r0, r4, 0 + bl DestroyAnimSprite +_080AAADE: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80AAA74 + + thumb_func_start sub_80AAAE4 +sub_80AAAE4: @ 80AAAE4 + push {r4,r5,lr} + adds r5, r0, 0 + ldr r0, _080AAB28 @ =gBattleTypeFlags + ldr r0, [r0] + movs r1, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080AAB30 + ldr r4, _080AAB2C @ =gBattleAnimAttacker + ldrb r1, [r4] + movs r0, 0x2 + eors r0, r1 + bl sub_8072DF0 + lsls r0, 24 + cmp r0, 0 + beq _080AAB30 + ldrb r0, [r4] + adds r2, r5, 0 + adds r2, 0x20 + adds r3, r5, 0 + adds r3, 0x22 + movs r1, 0 + bl sub_8076D9C + ldrh r0, [r5, 0x22] + adds r0, 0x28 + strh r0, [r5, 0x22] + adds r0, r5, 0 + movs r1, 0x1 + bl StartSpriteAffineAnim + b _080AAB50 + .align 2, 0 +_080AAB28: .4byte gBattleTypeFlags +_080AAB2C: .4byte gBattleAnimAttacker +_080AAB30: + ldr r4, _080AAB70 @ =gBattleAnimAttacker + ldrb r0, [r4] + movs r1, 0 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x20] + ldrb r0, [r4] + movs r1, 0x1 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + adds r0, 0x28 + strh r0, [r5, 0x22] +_080AAB50: + movs r0, 0xD + strh r0, [r5, 0x2E] + ldrh r0, [r5, 0x20] + strh r0, [r5, 0x32] + ldrh r0, [r5, 0x22] + subs r0, 0x48 + strh r0, [r5, 0x36] + ldr r0, _080AAB74 @ =sub_8075590 + str r0, [r5, 0x1C] + ldr r1, _080AAB78 @ =DestroyAnimSprite + adds r0, r5, 0 + bl StoreSpriteCallbackInData6 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080AAB70: .4byte gBattleAnimAttacker +_080AAB74: .4byte sub_8075590 +_080AAB78: .4byte DestroyAnimSprite + thumb_func_end sub_80AAAE4 + + thumb_func_start sub_80AAB7C +sub_80AAB7C: @ 80AAB7C + push {lr} + lsls r0, 24 + lsrs r0, 24 + ldr r3, _080AAB98 @ =gBattleAnimArgs + ldr r1, _080AAB9C @ =gUnknown_2037EE4 + ldr r1, [r1] + ldrb r2, [r1, 0x10] + movs r1, 0x1 + ands r1, r2 + strh r1, [r3, 0xE] + bl DestroyAnimVisualTask + pop {r0} + bx r0 + .align 2, 0 +_080AAB98: .4byte gBattleAnimArgs +_080AAB9C: .4byte gUnknown_2037EE4 + thumb_func_end sub_80AAB7C + + thumb_func_start update_fury_cutter_counter_copy +update_fury_cutter_counter_copy: @ 80AABA0 + push {lr} + lsls r0, 24 + lsrs r0, 24 + ldr r2, _080AABB8 @ =gBattleAnimArgs + ldr r1, _080AABBC @ =gUnknown_2037EE4 + ldr r1, [r1] + ldrb r1, [r1, 0x10] + strh r1, [r2, 0xE] + bl DestroyAnimVisualTask + pop {r0} + bx r0 + .align 2, 0 +_080AABB8: .4byte gBattleAnimArgs +_080AABBC: .4byte gUnknown_2037EE4 + thumb_func_end update_fury_cutter_counter_copy + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/electric.s b/asm/electric.s new file mode 100644 index 000000000..187e30b6d --- /dev/null +++ b/asm/electric.s @@ -0,0 +1,2675 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start sub_80ADBEC +sub_80ADBEC: @ 80ADBEC + push {r4,lr} + adds r4, r0, 0 + ldr r0, _080ADC0C @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080ADC14 + ldr r0, _080ADC10 @ =gBattleAnimArgs + ldrh r1, [r4, 0x20] + ldrh r2, [r0] + subs r1, r2 + strh r1, [r4, 0x20] + b _080ADC20 + .align 2, 0 +_080ADC0C: .4byte gBattleAnimAttacker +_080ADC10: .4byte gBattleAnimArgs +_080ADC14: + ldr r1, _080ADC34 @ =gBattleAnimArgs + ldrh r0, [r1] + ldrh r2, [r4, 0x20] + adds r0, r2 + strh r0, [r4, 0x20] + adds r0, r1, 0 +_080ADC20: + ldrh r0, [r0, 0x2] + ldrh r1, [r4, 0x22] + adds r0, r1 + strh r0, [r4, 0x22] + ldr r0, _080ADC38 @ =sub_80ADC3C + str r0, [r4, 0x1C] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080ADC34: .4byte gBattleAnimArgs +_080ADC38: .4byte sub_80ADC3C + thumb_func_end sub_80ADBEC + + thumb_func_start sub_80ADC3C +sub_80ADC3C: @ 80ADC3C + push {lr} + adds r2, r0, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x10 + ands r0, r1 + cmp r0, 0 + beq _080ADC52 + adds r0, r2, 0 + bl DestroyAnimSprite +_080ADC52: + pop {r0} + bx r0 + thumb_func_end sub_80ADC3C + + thumb_func_start sub_80ADC58 +sub_80ADC58: @ 80ADC58 + push {r4,lr} + adds r4, r0, 0 + ldr r0, _080ADC78 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080ADC80 + ldr r0, _080ADC7C @ =gBattleAnimArgs + ldrh r1, [r4, 0x20] + ldrh r0, [r0] + subs r1, r0 + strh r1, [r4, 0x20] + b _080ADC8A + .align 2, 0 +_080ADC78: .4byte gBattleAnimAttacker +_080ADC7C: .4byte gBattleAnimArgs +_080ADC80: + ldr r0, _080ADC94 @ =gBattleAnimArgs + ldrh r0, [r0] + ldrh r1, [r4, 0x20] + adds r0, r1 + strh r0, [r4, 0x20] +_080ADC8A: + ldr r0, _080ADC98 @ =sub_80ADC9C + str r0, [r4, 0x1C] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080ADC94: .4byte gBattleAnimArgs +_080ADC98: .4byte sub_80ADC9C + thumb_func_end sub_80ADC58 + + thumb_func_start sub_80ADC9C +sub_80ADC9C: @ 80ADC9C + push {lr} + adds r2, r0, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x20 + ands r0, r1 + cmp r0, 0 + beq _080ADCB2 + adds r0, r2, 0 + bl move_anim_8074EE0 +_080ADCB2: + pop {r0} + bx r0 + thumb_func_end sub_80ADC9C + + thumb_func_start sub_80ADCB8 +sub_80ADCB8: @ 80ADCB8 + push {r4,r5,lr} + adds r5, r0, 0 + ldr r4, _080ADCFC @ =gBattleAnimTarget + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x20] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x22] + ldr r0, _080ADD00 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080ADD08 + ldr r2, _080ADD04 @ =gBattleAnimArgs + ldrh r0, [r5, 0x20] + ldrh r1, [r2] + subs r0, r1 + strh r0, [r5, 0x20] + ldrh r0, [r5, 0x22] + ldrh r1, [r2, 0x2] + subs r0, r1 + strh r0, [r5, 0x22] + b _080ADD1C + .align 2, 0 +_080ADCFC: .4byte gBattleAnimTarget +_080ADD00: .4byte gBattleAnimAttacker +_080ADD04: .4byte gBattleAnimArgs +_080ADD08: + ldr r0, _080ADD40 @ =gBattleAnimArgs + ldrh r1, [r0] + ldrh r2, [r5, 0x20] + adds r1, r2 + strh r1, [r5, 0x20] + ldrh r1, [r0, 0x2] + ldrh r2, [r5, 0x22] + adds r1, r2 + strh r1, [r5, 0x22] + adds r2, r0, 0 +_080ADD1C: + movs r0, 0 + strh r0, [r5, 0x2E] + ldrh r0, [r2, 0x4] + strh r0, [r5, 0x30] + ldrh r0, [r2, 0x6] + strh r0, [r5, 0x32] + ldrh r0, [r2, 0x8] + strh r0, [r5, 0x34] + ldr r1, _080ADD44 @ =move_anim_8074EE0 + adds r0, r5, 0 + bl StoreSpriteCallbackInData6 + ldr r0, _080ADD48 @ =sub_8074A80 + str r0, [r5, 0x1C] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080ADD40: .4byte gBattleAnimArgs +_080ADD44: .4byte move_anim_8074EE0 +_080ADD48: .4byte sub_8074A80 + thumb_func_end sub_80ADCB8 + + thumb_func_start sub_80ADD4C +sub_80ADD4C: @ 80ADD4C + push {r4-r7,lr} + adds r5, r0, 0 + ldr r0, _080ADD64 @ =gBattleAnimArgs + movs r1, 0x8 + ldrsh r0, [r0, r1] + cmp r0, 0x1 + beq _080ADDC4 + cmp r0, 0x1 + bgt _080ADD68 + cmp r0, 0 + beq _080ADD72 + b _080ADDC4 + .align 2, 0 +_080ADD64: .4byte gBattleAnimArgs +_080ADD68: + cmp r0, 0x2 + beq _080ADD7C + cmp r0, 0x3 + beq _080ADDA0 + b _080ADDC4 +_080ADD72: + ldr r0, _080ADD78 @ =gBattleAnimAttacker + b _080ADDC6 + .align 2, 0 +_080ADD78: .4byte gBattleAnimAttacker +_080ADD7C: + ldr r4, _080ADD94 @ =gBattleAnimAttacker + ldrb r0, [r4] + movs r6, 0x2 + eors r0, r6 + bl sub_8072DF0 + lsls r0, 24 + cmp r0, 0 + bne _080ADD98 + ldrb r4, [r4] + b _080ADDC8 + .align 2, 0 +_080ADD94: .4byte gBattleAnimAttacker +_080ADD98: + ldrb r0, [r4] + adds r4, r6, 0 + eors r4, r0 + b _080ADDC8 +_080ADDA0: + ldr r0, _080ADDBC @ =gBattleAnimAttacker + ldrb r0, [r0] + movs r4, 0x2 + eors r0, r4 + bl sub_8072DF0 + lsls r0, 24 + cmp r0, 0 + beq _080ADDC4 + ldr r0, _080ADDC0 @ =gBattleAnimTarget + ldrb r0, [r0] + eors r4, r0 + b _080ADDC8 + .align 2, 0 +_080ADDBC: .4byte gBattleAnimAttacker +_080ADDC0: .4byte gBattleAnimTarget +_080ADDC4: + ldr r0, _080ADDE8 @ =gBattleAnimTarget +_080ADDC6: + ldrb r4, [r0] +_080ADDC8: + ldr r0, _080ADDEC @ =gBattleAnimArgs + movs r2, 0xA + ldrsh r0, [r0, r2] + cmp r0, 0 + bne _080ADDF0 + adds r0, r4, 0 + movs r1, 0 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x20] + adds r0, r4, 0 + movs r1, 0x1 + b _080ADE02 + .align 2, 0 +_080ADDE8: .4byte gBattleAnimTarget +_080ADDEC: .4byte gBattleAnimArgs +_080ADDF0: + adds r0, r4, 0 + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x20] + adds r0, r4, 0 + movs r1, 0x3 +_080ADE02: + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x22] + ldr r7, _080ADEA0 @ =gSineTable + ldr r6, _080ADEA4 @ =gBattleAnimArgs + movs r1, 0 + ldrsh r0, [r6, r1] + lsls r0, 1 + adds r0, r7 + movs r2, 0 + ldrsh r1, [r0, r2] + movs r2, 0x2 + ldrsh r0, [r6, r2] + muls r0, r1 + asrs r0, 8 + strh r0, [r5, 0x24] + movs r1, 0 + ldrsh r0, [r6, r1] + adds r0, 0x40 + lsls r0, 1 + adds r0, r7 + movs r2, 0 + ldrsh r1, [r0, r2] + movs r2, 0x2 + ldrsh r0, [r6, r2] + muls r0, r1 + asrs r0, 8 + strh r0, [r5, 0x26] + ldrh r1, [r6, 0xC] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080ADE66 + adds r0, r4, 0 + bl sub_8076884 + lsls r0, 24 + lsrs r0, 24 + adds r0, 0x1 + movs r1, 0x3 + ands r0, r1 + lsls r0, 2 + ldrb r2, [r5, 0x5] + movs r1, 0xD + negs r1, r1 + ands r1, r2 + orrs r1, r0 + strb r1, [r5, 0x5] +_080ADE66: + ldrb r2, [r5, 0x3] + lsls r2, 26 + lsrs r2, 27 + movs r0, 0x4 + ldrsh r1, [r6, r0] + lsls r0, r1, 1 + adds r0, r7 + ldrh r0, [r0] + ldr r3, _080ADEA8 @ =gOamMatrices + lsls r2, 3 + adds r2, r3 + adds r1, 0x40 + lsls r1, 1 + adds r1, r7 + ldrh r1, [r1] + strh r1, [r2, 0x6] + strh r1, [r2] + strh r0, [r2, 0x2] + lsls r0, 16 + asrs r0, 16 + negs r0, r0 + strh r0, [r2, 0x4] + ldrh r0, [r6, 0x6] + strh r0, [r5, 0x2E] + ldr r0, _080ADEAC @ =sub_80B1D3C + str r0, [r5, 0x1C] + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080ADEA0: .4byte gSineTable +_080ADEA4: .4byte gBattleAnimArgs +_080ADEA8: .4byte gOamMatrices +_080ADEAC: .4byte sub_80B1D3C + thumb_func_end sub_80ADD4C + + thumb_func_start sub_80ADEB0 +sub_80ADEB0: @ 80ADEB0 + push {r4-r6,lr} + adds r4, r0, 0 + movs r1, 0x1 + bl sub_8075160 + ldr r5, _080ADF24 @ =gBattleAnimArgs + ldrh r0, [r5, 0x6] + strh r0, [r4, 0x2E] + ldrh r0, [r4, 0x20] + strh r0, [r4, 0x30] + ldr r6, _080ADF28 @ =gBattleAnimTarget + ldrb r0, [r6] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x32] + ldrh r0, [r4, 0x22] + strh r0, [r4, 0x34] + ldrb r0, [r6] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x36] + adds r0, r4, 0 + bl obj_translate_based_on_private_1_2_3_4 + ldrh r0, [r5, 0x4] + strh r0, [r4, 0x38] + ldrh r0, [r5, 0xA] + strh r0, [r4, 0x3A] + ldrh r0, [r5, 0x8] + strh r0, [r4, 0x3C] + ldrh r2, [r4, 0x4] + lsls r1, r2, 22 + lsrs r1, 22 + movs r3, 0xC + ldrsh r0, [r5, r3] + lsls r0, 2 + adds r1, r0 + ldr r3, _080ADF2C @ =0x000003ff + adds r0, r3, 0 + ands r1, r0 + ldr r0, _080ADF30 @ =0xfffffc00 + ands r0, r2 + orrs r0, r1 + strh r0, [r4, 0x4] + ldr r1, _080ADF34 @ =sub_80ADF38 + str r1, [r4, 0x1C] + adds r0, r4, 0 + bl _call_via_r1 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080ADF24: .4byte gBattleAnimArgs +_080ADF28: .4byte gBattleAnimTarget +_080ADF2C: .4byte 0x000003ff +_080ADF30: .4byte 0xfffffc00 +_080ADF34: .4byte sub_80ADF38 + thumb_func_end sub_80ADEB0 + + thumb_func_start sub_80ADF38 +sub_80ADF38: @ 80ADF38 + push {r4,lr} + adds r4, r0, 0 + bl sub_80755E0 + lsls r0, 24 + cmp r0, 0 + bne _080ADFA2 + movs r1, 0x3C + ldrsh r0, [r4, r1] + movs r2, 0x38 + ldrsh r1, [r4, r2] + bl Sin + ldrh r1, [r4, 0x24] + adds r0, r1 + strh r0, [r4, 0x24] + movs r2, 0x3C + ldrsh r0, [r4, r2] + movs r2, 0x38 + ldrsh r1, [r4, r2] + bl Cos + ldrh r1, [r4, 0x26] + adds r0, r1 + strh r0, [r4, 0x26] + ldrh r0, [r4, 0x3A] + ldrh r2, [r4, 0x3C] + adds r0, r2 + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0x3C] + movs r1, 0x3C + ldrsh r0, [r4, r1] + movs r1, 0x3 + bl __modsi3 + lsls r0, 16 + cmp r0, 0 + bne _080ADFA8 + adds r3, r4, 0 + adds r3, 0x3E + ldrb r2, [r3] + lsls r0, r2, 29 + lsrs r0, 31 + movs r1, 0x1 + eors r1, r0 + lsls r1, 2 + movs r0, 0x5 + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r3] + b _080ADFA8 +_080ADFA2: + adds r0, r4, 0 + bl DestroyAnimSprite +_080ADFA8: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80ADF38 + + thumb_func_start sub_80ADFB0 +sub_80ADFB0: @ 80ADFB0 + push {lr} + adds r3, r0, 0 + ldrh r0, [r3, 0x38] + subs r0, 0x1 + strh r0, [r3, 0x38] + lsls r0, 16 + asrs r0, 16 + movs r1, 0x1 + negs r1, r1 + cmp r0, r1 + bne _080ADFE8 + movs r0, 0x3E + adds r0, r3 + mov r12, r0 + ldrb r2, [r0] + lsls r0, r2, 29 + lsrs r0, 31 + movs r1, 0x1 + eors r1, r0 + lsls r1, 2 + movs r0, 0x5 + negs r0, r0 + ands r0, r2 + orrs r0, r1 + mov r1, r12 + strb r0, [r1] + ldrh r0, [r3, 0x36] + strh r0, [r3, 0x38] +_080ADFE8: + ldrh r0, [r3, 0x34] + subs r1, r0, 0x1 + strh r1, [r3, 0x34] + lsls r0, 16 + cmp r0, 0 + bgt _080ADFFA + adds r0, r3, 0 + bl DestroyAnimSprite +_080ADFFA: + pop {r0} + bx r0 + thumb_func_end sub_80ADFB0 + + thumb_func_start sub_80AE000 +sub_80AE000: @ 80AE000 + push {r4-r6,lr} + adds r6, r0, 0 + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080AE01C + ldr r0, _080AE060 @ =gBattleAnimTarget + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _080AE024 +_080AE01C: + ldr r1, _080AE064 @ =gBattleAnimArgs + ldrh r0, [r1, 0x2] + negs r0, r0 + strh r0, [r1, 0x2] +_080AE024: + ldr r5, _080AE060 @ =gBattleAnimTarget + ldrb r0, [r5] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + ldr r4, _080AE064 @ =gBattleAnimArgs + lsrs r0, 24 + ldrh r1, [r4, 0x2] + adds r0, r1 + strh r0, [r6, 0x20] + ldrb r0, [r5] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r1, [r4, 0x4] + adds r0, r1 + strh r0, [r6, 0x22] + ldrh r0, [r4] + strh r0, [r6, 0x34] + ldrh r0, [r4, 0x6] + strh r0, [r6, 0x36] + strh r0, [r6, 0x38] + ldr r0, _080AE068 @ =sub_80ADFB0 + str r0, [r6, 0x1C] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080AE060: .4byte gBattleAnimTarget +_080AE064: .4byte gBattleAnimArgs +_080AE068: .4byte sub_80ADFB0 + thumb_func_end sub_80AE000 + + thumb_func_start sub_80AE06C +sub_80AE06C: @ 80AE06C + push {r4-r6,lr} + adds r5, r0, 0 + ldr r1, _080AE088 @ =gBattleAnimArgs + ldrh r0, [r1, 0x6] + strh r0, [r5, 0x2E] + movs r2, 0xE + ldrsh r0, [r1, r2] + movs r1, 0x80 + lsls r1, 8 + ands r0, r1 + cmp r0, 0 + beq _080AE090 + ldr r0, _080AE08C @ =gBattleAnimTarget + b _080AE092 + .align 2, 0 +_080AE088: .4byte gBattleAnimArgs +_080AE08C: .4byte gBattleAnimTarget +_080AE090: + ldr r0, _080AE118 @ =gBattleAnimAttacker +_080AE092: + ldrb r6, [r0] + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080AE0AA + adds r0, r6, 0 + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _080AE0B2 +_080AE0AA: + ldr r1, _080AE11C @ =gBattleAnimArgs + ldrh r0, [r1] + negs r0, r0 + strh r0, [r1] +_080AE0B2: + adds r0, r6, 0 + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + ldr r4, _080AE11C @ =gBattleAnimArgs + lsrs r0, 24 + ldrh r3, [r4] + adds r0, r3 + strh r0, [r5, 0x20] + adds r0, r6, 0 + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r1, [r4, 0x2] + adds r0, r1 + strh r0, [r5, 0x22] + ldrh r1, [r4, 0xE] + ldr r0, _080AE120 @ =0x00007fff + ands r0, r1 + strh r0, [r5, 0x36] + ldrh r0, [r4, 0x4] + strh r0, [r5, 0x38] + ldrh r0, [r4, 0xA] + strh r0, [r5, 0x3A] + ldrh r0, [r4, 0x8] + strh r0, [r5, 0x3C] + ldrh r2, [r5, 0x4] + lsls r1, r2, 22 + lsrs r1, 22 + movs r3, 0xC + ldrsh r0, [r4, r3] + lsls r0, 2 + adds r1, r0 + ldr r3, _080AE124 @ =0x000003ff + adds r0, r3, 0 + ands r1, r0 + ldr r0, _080AE128 @ =0xfffffc00 + ands r0, r2 + orrs r0, r1 + strh r0, [r5, 0x4] + ldr r1, _080AE12C @ =sub_80AE130 + str r1, [r5, 0x1C] + adds r0, r5, 0 + bl _call_via_r1 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080AE118: .4byte gBattleAnimAttacker +_080AE11C: .4byte gBattleAnimArgs +_080AE120: .4byte 0x00007fff +_080AE124: .4byte 0x000003ff +_080AE128: .4byte 0xfffffc00 +_080AE12C: .4byte sub_80AE130 + thumb_func_end sub_80AE06C + + thumb_func_start sub_80AE130 +sub_80AE130: @ 80AE130 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x3C + ldrsh r0, [r4, r1] + movs r2, 0x38 + ldrsh r1, [r4, r2] + bl Sin + strh r0, [r4, 0x24] + movs r1, 0x3C + ldrsh r0, [r4, r1] + movs r2, 0x38 + ldrsh r1, [r4, r2] + bl Cos + strh r0, [r4, 0x26] + ldrh r0, [r4, 0x3A] + ldrh r1, [r4, 0x3C] + adds r0, r1 + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0x3C] + movs r2, 0x3C + ldrsh r0, [r4, r2] + movs r2, 0x36 + ldrsh r1, [r4, r2] + bl __modsi3 + cmp r0, 0 + bne _080AE186 + adds r3, r4, 0 + adds r3, 0x3E + ldrb r2, [r3] + lsls r0, r2, 29 + lsrs r0, 31 + movs r1, 0x1 + eors r1, r0 + lsls r1, 2 + movs r0, 0x5 + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r3] +_080AE186: + ldrh r0, [r4, 0x2E] + subs r1, r0, 0x1 + strh r1, [r4, 0x2E] + lsls r0, 16 + cmp r0, 0 + bgt _080AE198 + adds r0, r4, 0 + bl DestroyAnimSprite +_080AE198: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80AE130 + + thumb_func_start sub_80AE1A0 +sub_80AE1A0: @ 80AE1A0 + push {r4,r5,lr} + adds r4, r0, 0 + movs r1, 0 + bl sub_8075114 + ldrh r2, [r4, 0x4] + lsls r1, r2, 22 + lsrs r1, 22 + ldr r3, _080AE1DC @ =gBattleAnimArgs + movs r5, 0x6 + ldrsh r0, [r3, r5] + lsls r0, 2 + adds r1, r0 + ldr r5, _080AE1E0 @ =0x000003ff + adds r0, r5, 0 + ands r1, r0 + ldr r0, _080AE1E4 @ =0xfffffc00 + ands r0, r2 + orrs r0, r1 + strh r0, [r4, 0x4] + movs r1, 0x6 + ldrsh r0, [r3, r1] + cmp r0, 0x1 + bne _080AE1E8 + ldrb r0, [r4, 0x3] + movs r1, 0x3F + negs r1, r1 + ands r1, r0 + movs r0, 0x10 + b _080AE1F6 + .align 2, 0 +_080AE1DC: .4byte gBattleAnimArgs +_080AE1E0: .4byte 0x000003ff +_080AE1E4: .4byte 0xfffffc00 +_080AE1E8: + cmp r0, 0x2 + bne _080AE1FA + ldrb r0, [r4, 0x3] + movs r1, 0x3F + negs r1, r1 + ands r1, r0 + movs r0, 0x20 +_080AE1F6: + orrs r1, r0 + strb r1, [r4, 0x3] +_080AE1FA: + ldr r0, _080AE214 @ =gBattleAnimArgs + ldrh r0, [r0, 0x4] + strh r0, [r4, 0x2E] + ldr r0, _080AE218 @ =sub_8074C44 + str r0, [r4, 0x1C] + ldr r1, _080AE21C @ =DestroyAnimSprite + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080AE214: .4byte gBattleAnimArgs +_080AE218: .4byte sub_8074C44 +_080AE21C: .4byte DestroyAnimSprite + thumb_func_end sub_80AE1A0 + + thumb_func_start sub_80AE220 +sub_80AE220: @ 80AE220 + push {r4-r6,lr} + adds r5, r0, 0 + lsls r5, 24 + lsrs r5, 24 + ldr r6, _080AE268 @ =gBattleAnimTarget + ldrb r0, [r6] + movs r1, 0 + bl sub_8074480 + ldr r1, _080AE26C @ =gTasks + lsls r4, r5, 2 + adds r4, r5 + lsls r4, 3 + adds r4, r1 + lsls r0, 24 + ldr r5, _080AE270 @ =gBattleAnimArgs + lsrs r0, 24 + ldrh r1, [r5] + adds r0, r1 + strh r0, [r4, 0x8] + ldrb r0, [r6] + movs r1, 0x1 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r1, [r5, 0x2] + adds r0, r1 + strh r0, [r4, 0xA] + ldrh r0, [r5, 0x4] + strh r0, [r4, 0xC] + ldr r0, _080AE274 @ =sub_80AE278 + str r0, [r4] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080AE268: .4byte gBattleAnimTarget +_080AE26C: .4byte gTasks +_080AE270: .4byte gBattleAnimArgs +_080AE274: .4byte sub_80AE278 + thumb_func_end sub_80AE220 + + thumb_func_start sub_80AE278 +sub_80AE278: @ 80AE278 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x4 + lsls r0, 24 + lsrs r0, 24 + mov r9, r0 + movs r5, 0 + movs r7, 0 + ldr r1, _080AE2B8 @ =gTasks + lsls r0, 2 + add r0, r9 + lsls r0, 3 + adds r0, r1 + ldrb r2, [r0, 0xC] + str r2, [sp] + ldrh r4, [r0, 0x8] + ldrh r6, [r0, 0xA] + movs r3, 0xC + ldrsh r0, [r0, r3] + mov r10, r1 + cmp r0, 0 + bne _080AE2BC + movs r0, 0 + mov r8, r0 + movs r2, 0x1 + movs r1, 0x10 + mov r12, r1 + b _080AE2C6 + .align 2, 0 +_080AE2B8: .4byte gTasks +_080AE2BC: + movs r2, 0x10 + mov r12, r2 + movs r3, 0x8 + mov r8, r3 + movs r2, 0x4 +_080AE2C6: + mov r0, r9 + lsls r1, r0, 2 + adds r0, r1, r0 + lsls r0, 3 + add r0, r10 + movs r3, 0x1C + ldrsh r0, [r0, r3] + mov r10, r1 + cmp r0, 0xA + bhi _080AE3BC + lsls r0, 2 + ldr r1, _080AE2E4 @ =_080AE2E8 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080AE2E4: .4byte _080AE2E8 + .align 2, 0 +_080AE2E8: + .4byte _080AE314 + .4byte _080AE3BC + .4byte _080AE328 + .4byte _080AE3BC + .4byte _080AE348 + .4byte _080AE3BC + .4byte _080AE35E + .4byte _080AE3BC + .4byte _080AE380 + .4byte _080AE3BC + .4byte _080AE3B4 +_080AE314: + ldr r0, _080AE324 @ =gUnknown_83E60A0 + lsls r1, r4, 16 + asrs r1, 16 + lsls r2, r6, 16 + asrs r2, 16 + mov r4, r12 + lsls r3, r4, 16 + b _080AE396 + .align 2, 0 +_080AE324: .4byte gUnknown_83E60A0 +_080AE328: + mov r0, r12 + lsls r3, r0, 17 + mov r1, r8 + adds r0, r1, r2 + lsls r0, 16 + lsrs r0, 16 + mov r8, r0 + ldr r0, _080AE344 @ =gUnknown_83E60A0 + lsls r1, r4, 16 + asrs r1, 16 + lsls r2, r6, 16 + asrs r2, 16 + b _080AE396 + .align 2, 0 +_080AE344: .4byte gUnknown_83E60A0 +_080AE348: + mov r3, r12 + lsls r0, r3, 16 + asrs r0, 16 + lsls r3, r0, 1 + adds r3, r0 + lsls r0, r2, 1 + add r0, r8 + lsls r0, 16 + lsrs r0, 16 + mov r8, r0 + b _080AE38A +_080AE35E: + mov r0, r12 + lsls r3, r0, 18 + lsls r0, r2, 1 + adds r0, r2 + add r0, r8 + lsls r0, 16 + lsrs r0, 16 + mov r8, r0 + ldr r0, _080AE37C @ =gUnknown_83E60A0 + lsls r1, r4, 16 + asrs r1, 16 + lsls r2, r6, 16 + asrs r2, 16 + b _080AE396 + .align 2, 0 +_080AE37C: .4byte gUnknown_83E60A0 +_080AE380: + mov r1, r12 + lsls r0, r1, 16 + asrs r0, 16 + lsls r3, r0, 2 + adds r3, r0 +_080AE38A: + ldr r0, _080AE3B0 @ =gUnknown_83E60A0 + lsls r1, r4, 16 + asrs r1, 16 + lsls r2, r6, 16 + asrs r2, 16 + lsls r3, 16 +_080AE396: + asrs r3, 16 + adds r2, r3 + lsls r2, 16 + asrs r2, 16 + movs r3, 0x2 + bl CreateSprite + lsls r0, 24 + lsrs r5, r0, 24 + adds r0, r7, 0x1 + lsls r0, 24 + lsrs r7, r0, 24 + b _080AE3BC + .align 2, 0 +_080AE3B0: .4byte gUnknown_83E60A0 +_080AE3B4: + mov r0, r9 + bl DestroyAnimVisualTask + b _080AE400 +_080AE3BC: + cmp r7, 0 + beq _080AE3F0 + ldr r4, _080AE410 @ =gSprites + lsls r3, r5, 4 + adds r3, r5 + lsls r3, 2 + adds r0, r3, r4 + ldrh r5, [r0, 0x4] + lsls r2, r5, 22 + lsrs r2, 22 + add r2, r8 + ldr r6, _080AE414 @ =0x000003ff + adds r1, r6, 0 + ands r2, r1 + ldr r1, _080AE418 @ =0xfffffc00 + ands r1, r5 + orrs r1, r2 + strh r1, [r0, 0x4] + mov r1, sp + ldrh r1, [r1] + strh r1, [r0, 0x2E] + adds r4, 0x1C + adds r3, r4 + ldr r1, [r3] + bl _call_via_r1 +_080AE3F0: + ldr r0, _080AE41C @ =gTasks + mov r1, r10 + add r1, r9 + lsls r1, 3 + adds r1, r0 + ldrh r0, [r1, 0x1C] + adds r0, 0x1 + strh r0, [r1, 0x1C] +_080AE400: + add sp, 0x4 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080AE410: .4byte gSprites +_080AE414: .4byte 0x000003ff +_080AE418: .4byte 0xfffffc00 +_080AE41C: .4byte gTasks + thumb_func_end sub_80AE278 + + thumb_func_start sub_80AE420 +sub_80AE420: @ 80AE420 + push {lr} + adds r3, r0, 0 + movs r1, 0x2E + ldrsh r0, [r3, r1] + cmp r0, 0 + bne _080AE442 + ldrb r1, [r3, 0x1] + movs r2, 0x3F + adds r0, r2, 0 + ands r0, r1 + movs r1, 0x80 + orrs r0, r1 + strb r0, [r3, 0x1] + ldrb r0, [r3, 0x3] + ands r2, r0 + strb r2, [r3, 0x3] + b _080AE456 +_080AE442: + ldrb r2, [r3, 0x1] + movs r1, 0x3F + adds r0, r1, 0 + ands r0, r2 + strb r0, [r3, 0x1] + ldrb r0, [r3, 0x3] + ands r1, r0 + movs r0, 0x40 + orrs r1, r0 + strb r1, [r3, 0x3] +_080AE456: + ldrh r0, [r3, 0x30] + adds r0, 0x1 + strh r0, [r3, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xF + bne _080AE46A + adds r0, r3, 0 + bl DestroySprite +_080AE46A: + pop {r0} + bx r0 + thumb_func_end sub_80AE420 + + thumb_func_start sub_80AE470 +sub_80AE470: @ 80AE470 + push {r4-r7,lr} + adds r4, r0, 0 + ldr r0, _080AE4D8 @ =gBattleAnimArgs + ldrh r1, [r0] + ldrh r2, [r4, 0x20] + adds r1, r2 + strh r1, [r4, 0x20] + ldrh r0, [r0, 0x2] + ldrh r3, [r4, 0x22] + adds r0, r3 + strh r0, [r4, 0x22] + ldr r0, _080AE4DC @ =gUnknown_83E60B8 + adds r1, 0x20 + lsls r1, 16 + asrs r1, 16 + movs r7, 0x22 + ldrsh r2, [r4, r7] + adds r3, r4, 0 + adds r3, 0x43 + ldrb r3, [r3] + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + ldr r3, _080AE4E0 @ =gSprites + lsls r2, r0, 4 + adds r2, r0 + lsls r2, 2 + adds r6, r2, r3 + ldrh r5, [r6, 0x4] + lsls r1, r5, 22 + lsrs r1, 22 + adds r1, 0x8 + ldr r7, _080AE4E4 @ =0x000003ff + adds r0, r7, 0 + ands r1, r0 + ldr r0, _080AE4E8 @ =0xfffffc00 + ands r0, r5 + orrs r0, r1 + strh r0, [r6, 0x4] + ldr r1, _080AE4EC @ =gUnknown_2037EE2 + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + adds r3, 0x1C + adds r2, r3 + ldr r0, _080AE4F0 @ =sub_80AE4F4 + str r0, [r2] + str r0, [r4, 0x1C] + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080AE4D8: .4byte gBattleAnimArgs +_080AE4DC: .4byte gUnknown_83E60B8 +_080AE4E0: .4byte gSprites +_080AE4E4: .4byte 0x000003ff +_080AE4E8: .4byte 0xfffffc00 +_080AE4EC: .4byte gUnknown_2037EE2 +_080AE4F0: .4byte sub_80AE4F4 + thumb_func_end sub_80AE470 + + thumb_func_start sub_80AE4F4 +sub_80AE4F4: @ 80AE4F4 + push {lr} + adds r3, r0, 0 + ldrh r0, [r3, 0x2E] + adds r0, 0x1 + strh r0, [r3, 0x2E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x3 + bne _080AE528 + movs r0, 0 + strh r0, [r3, 0x2E] + movs r0, 0x3E + adds r0, r3 + mov r12, r0 + ldrb r2, [r0] + lsls r0, r2, 29 + lsrs r0, 31 + movs r1, 0x1 + eors r1, r0 + lsls r1, 2 + movs r0, 0x5 + negs r0, r0 + ands r0, r2 + orrs r0, r1 + mov r1, r12 + strb r0, [r1] +_080AE528: + ldrh r0, [r3, 0x30] + adds r0, 0x1 + strh r0, [r3, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x33 + bne _080AE53C + adds r0, r3, 0 + bl DestroyAnimSprite +_080AE53C: + pop {r0} + bx r0 + thumb_func_end sub_80AE4F4 + + thumb_func_start sub_80AE540 +sub_80AE540: @ 80AE540 + push {r4,r5,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, _080AE560 @ =gTasks + adds r5, r1, r0 + ldr r0, _080AE564 @ =gBattleAnimArgs + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _080AE56C + ldr r4, _080AE568 @ =gBattleAnimAttacker + b _080AE56E + .align 2, 0 +_080AE560: .4byte gTasks +_080AE564: .4byte gBattleAnimArgs +_080AE568: .4byte gBattleAnimAttacker +_080AE56C: + ldr r4, _080AE5B0 @ =gBattleAnimTarget +_080AE56E: + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x24] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x26] + ldr r2, _080AE5B4 @ =gBattleAnimArgs + ldrh r0, [r2, 0x2] + movs r1, 0 + strh r0, [r5, 0x14] + strh r1, [r5, 0x16] + strh r1, [r5, 0x18] + strh r1, [r5, 0x1A] + strh r1, [r5, 0x1C] + ldrh r0, [r2, 0x6] + strh r0, [r5, 0x1E] + strh r1, [r5, 0x20] + ldrh r0, [r2, 0x4] + strh r0, [r5, 0x22] + ldr r0, _080AE5B8 @ =sub_80AE5BC + str r0, [r5] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080AE5B0: .4byte gBattleAnimTarget +_080AE5B4: .4byte gBattleAnimArgs +_080AE5B8: .4byte sub_80AE5BC + thumb_func_end sub_80AE540 + + thumb_func_start sub_80AE5BC +sub_80AE5BC: @ 80AE5BC + push {r4-r7,lr} + lsls r0, 24 + lsrs r6, r0, 24 + adds r2, r6, 0 + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + ldr r1, _080AE6A4 @ =gTasks + adds r5, r0, r1 + movs r1, 0x14 + ldrsh r0, [r5, r1] + cmp r0, 0 + beq _080AE6BC + ldrh r0, [r5, 0x20] + adds r0, 0x1 + movs r7, 0 + strh r0, [r5, 0x20] + lsls r0, 16 + asrs r0, 16 + movs r2, 0x22 + ldrsh r1, [r5, r2] + cmp r0, r1 + ble _080AE6CA + strh r7, [r5, 0x20] + ldr r0, _080AE6A8 @ =gUnknown_83E6120 + movs r3, 0x24 + ldrsh r1, [r5, r3] + movs r3, 0x26 + ldrsh r2, [r5, r3] + movs r3, 0x2 + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x40 + beq _080AE6CA + lsls r4, r0, 4 + adds r4, r0 + lsls r4, 2 + ldr r0, _080AE6AC @ =gSprites + adds r4, r0 + ldr r1, _080AE6B0 @ =gUnknown_83E60D0 + movs r2, 0x1A + ldrsh r0, [r5, r2] + lsls r0, 1 + adds r0, r1 + movs r3, 0 + ldrsb r3, [r0, r3] + ldrh r0, [r4, 0x20] + adds r3, r0 + strh r3, [r4, 0x20] + movs r2, 0x1A + ldrsh r0, [r5, r2] + lsls r0, 1 + adds r1, 0x1 + adds r0, r1 + movs r2, 0 + ldrsb r2, [r0, r2] + ldrh r0, [r4, 0x22] + adds r2, r0 + strh r2, [r4, 0x22] + movs r1, 0x18 + ldrsh r0, [r5, r1] + lsls r1, r0, 2 + adds r1, r0 + movs r0, 0x28 + subs r0, r1 + strh r0, [r4, 0x2E] + strh r3, [r4, 0x30] + ldrh r0, [r5, 0x24] + strh r0, [r4, 0x32] + strh r2, [r4, 0x34] + ldrh r0, [r5, 0x26] + strh r0, [r4, 0x36] + strh r6, [r4, 0x38] + adds r0, r4, 0 + bl obj_translate_based_on_private_1_2_3_4 + ldr r1, _080AE6B4 @ =sub_80AE704 + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 + ldr r0, _080AE6B8 @ =sub_8074F6C + str r0, [r4, 0x1C] + ldrh r0, [r5, 0x1A] + adds r0, 0x1 + strh r0, [r5, 0x1A] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xF + ble _080AE674 + strh r7, [r5, 0x1A] +_080AE674: + ldrh r0, [r5, 0x1C] + adds r0, 0x1 + strh r0, [r5, 0x1C] + lsls r0, 16 + asrs r0, 16 + movs r2, 0x1E + ldrsh r1, [r5, r2] + cmp r0, r1 + blt _080AE696 + strh r7, [r5, 0x1C] + ldrh r1, [r5, 0x18] + movs r3, 0x18 + ldrsh r0, [r5, r3] + cmp r0, 0x5 + bgt _080AE696 + adds r0, r1, 0x1 + strh r0, [r5, 0x18] +_080AE696: + ldrh r0, [r5, 0x16] + adds r0, 0x1 + strh r0, [r5, 0x16] + ldrh r0, [r5, 0x14] + subs r0, 0x1 + strh r0, [r5, 0x14] + b _080AE6CA + .align 2, 0 +_080AE6A4: .4byte gTasks +_080AE6A8: .4byte gUnknown_83E6120 +_080AE6AC: .4byte gSprites +_080AE6B0: .4byte gUnknown_83E60D0 +_080AE6B4: .4byte sub_80AE704 +_080AE6B8: .4byte sub_8074F6C +_080AE6BC: + movs r1, 0x16 + ldrsh r0, [r5, r1] + cmp r0, 0 + bne _080AE6CA + adds r0, r2, 0 + bl DestroyAnimVisualTask +_080AE6CA: + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80AE5BC + + thumb_func_start sub_80AE6D0 +sub_80AE6D0: @ 80AE6D0 + push {r4,lr} + adds r4, r0, 0 + bl sub_80755E0 + lsls r0, 24 + cmp r0, 0 + beq _080AE6F8 + ldr r2, _080AE700 @ =gTasks + movs r0, 0x38 + ldrsh r1, [r4, r0] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r2 + ldrh r1, [r0, 0x16] + subs r1, 0x1 + strh r1, [r0, 0x16] + adds r0, r4, 0 + bl DestroySprite +_080AE6F8: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080AE700: .4byte gTasks + thumb_func_end sub_80AE6D0 + + thumb_func_start sub_80AE704 +sub_80AE704: @ 80AE704 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x1 + bl StartSpriteAnim + ldr r0, _080AE718 @ =sub_80AE6D0 + str r0, [r4, 0x1C] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080AE718: .4byte sub_80AE6D0 + thumb_func_end sub_80AE704 + + thumb_func_start sub_80AE71C +sub_80AE71C: @ 80AE71C + push {r4,r5,lr} + adds r5, r0, 0 + ldr r0, _080AE730 @ =gBattleAnimArgs + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _080AE738 + ldr r4, _080AE734 @ =gBattleAnimAttacker + b _080AE73A + .align 2, 0 +_080AE730: .4byte gBattleAnimArgs +_080AE734: .4byte gBattleAnimAttacker +_080AE738: + ldr r4, _080AE768 @ =gBattleAnimTarget +_080AE73A: + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x20] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x22] + ldr r1, _080AE76C @ =move_anim_8074EE0 + adds r0, r5, 0 + bl StoreSpriteCallbackInData6 + ldr r0, _080AE770 @ =sub_8074F50 + str r0, [r5, 0x1C] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080AE768: .4byte gBattleAnimTarget +_080AE76C: .4byte move_anim_8074EE0 +_080AE770: .4byte sub_8074F50 + thumb_func_end sub_80AE71C + + thumb_func_start sub_80AE774 +sub_80AE774: @ 80AE774 + push {r4,r5,lr} + adds r5, r0, 0 + ldr r0, _080AE788 @ =gBattleAnimArgs + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _080AE790 + ldr r4, _080AE78C @ =gBattleAnimAttacker + b _080AE792 + .align 2, 0 +_080AE788: .4byte gBattleAnimArgs +_080AE78C: .4byte gBattleAnimAttacker +_080AE790: + ldr r4, _080AE7CC @ =gBattleAnimTarget +_080AE792: + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x20] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x22] + ldr r1, _080AE7D0 @ =gBattleAnimArgs + ldrh r0, [r1, 0x2] + strh r0, [r5, 0x24] + ldrh r0, [r1, 0x4] + strh r0, [r5, 0x26] + ldr r1, _080AE7D4 @ =DestroyAnimSprite + adds r0, r5, 0 + bl StoreSpriteCallbackInData6 + ldr r0, _080AE7D8 @ =sub_8074F6C + str r0, [r5, 0x1C] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080AE7CC: .4byte gBattleAnimTarget +_080AE7D0: .4byte gBattleAnimArgs +_080AE7D4: .4byte DestroyAnimSprite +_080AE7D8: .4byte sub_8074F6C + thumb_func_end sub_80AE774 + + thumb_func_start sub_80AE7DC +sub_80AE7DC: @ 80AE7DC + push {r4,r5,lr} + adds r5, r0, 0 + movs r1, 0x1 + bl StartSpriteAffineAnim + ldr r4, _080AE834 @ =gBattleAnimAttacker + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x20] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x22] + movs r0, 0 + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x3A] + movs r0, 0x10 + strh r0, [r5, 0x3C] + ldrb r0, [r4] + bl GetBattlerSide + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080AE82A + movs r1, 0x3C + ldrsh r0, [r5, r1] + negs r0, r0 + strh r0, [r5, 0x3C] +_080AE82A: + ldr r0, _080AE838 @ =sub_80AE83C + str r0, [r5, 0x1C] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080AE834: .4byte gBattleAnimAttacker +_080AE838: .4byte sub_80AE83C + thumb_func_end sub_80AE7DC + + thumb_func_start sub_80AE83C +sub_80AE83C: @ 80AE83C + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0 + beq _080AE84E + cmp r0, 0x1 + beq _080AE864 + b _080AE894 +_080AE84E: + ldrh r0, [r4, 0x30] + adds r0, 0x1 + strh r0, [r4, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x28 + ble _080AE894 + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + b _080AE894 +_080AE864: + ldrh r2, [r4, 0x3C] + ldrh r1, [r4, 0x20] + adds r0, r2, r1 + strh r0, [r4, 0x20] + ldr r3, _080AE89C @ =gSprites + movs r0, 0x3A + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r3 + ldrh r1, [r0, 0x24] + adds r2, r1 + strh r2, [r0, 0x24] + ldrh r0, [r4, 0x20] + adds r0, 0x50 + lsls r0, 16 + movs r1, 0xC8 + lsls r1, 17 + cmp r0, r1 + bls _080AE894 + adds r0, r4, 0 + bl move_anim_8074EE0 +_080AE894: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080AE89C: .4byte gSprites + thumb_func_end sub_80AE83C + + thumb_func_start sub_80AE8A0 +sub_80AE8A0: @ 80AE8A0 + push {r4-r6,lr} + lsls r0, 24 + lsrs r3, r0, 24 + lsls r0, r3, 2 + adds r0, r3 + lsls r0, 3 + ldr r1, _080AE8C4 @ =gTasks + adds r5, r0, r1 + movs r1, 0x8 + ldrsh r0, [r5, r1] + cmp r0, 0x1 + beq _080AE934 + cmp r0, 0x1 + bgt _080AE8C8 + cmp r0, 0 + beq _080AE8D4 + b _080AEA04 + .align 2, 0 +_080AE8C4: .4byte gTasks +_080AE8C8: + cmp r0, 0x2 + beq _080AE990 + cmp r0, 0x3 + bne _080AE8D2 + b _080AE9E4 +_080AE8D2: + b _080AEA04 +_080AE8D4: + movs r0, 0 + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r0, 24 + movs r6, 0 + strh r0, [r5, 0x26] + ldr r4, _080AE908 @ =gBattleAnimAttacker + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x24] + ldrb r0, [r4] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _080AE910 + ldr r0, _080AE90C @ =0x0000ffe0 + strh r0, [r5, 0x24] + movs r0, 0x2 + b _080AE916 + .align 2, 0 +_080AE908: .4byte gBattleAnimAttacker +_080AE90C: .4byte 0x0000ffe0 +_080AE910: + movs r0, 0x20 + strh r0, [r5, 0x24] + ldr r0, _080AE92C @ =0x0000fffe +_080AE916: + strh r0, [r5, 0x22] + ldr r2, _080AE930 @ =gSprites + movs r0, 0x26 + ldrsh r1, [r5, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r1, [r5, 0x24] + strh r1, [r0, 0x24] + b _080AE9D6 + .align 2, 0 +_080AE92C: .4byte 0x0000fffe +_080AE930: .4byte gSprites +_080AE934: + ldrh r0, [r5, 0xA] + adds r0, 0x1 + strh r0, [r5, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + ble _080AEA04 + movs r0, 0 + strh r0, [r5, 0xA] + ldr r4, _080AE98C @ =gSprites + movs r1, 0x26 + ldrsh r0, [r5, r1] + lsls r2, r0, 4 + adds r2, r0 + lsls r2, 2 + adds r2, r4 + adds r2, 0x3E + ldrb r3, [r2] + lsls r0, r3, 29 + lsrs r0, 31 + movs r1, 0x1 + eors r1, r0 + lsls r1, 2 + movs r0, 0x5 + negs r0, r0 + ands r0, r3 + orrs r0, r1 + strb r0, [r2] + ldrh r1, [r5, 0x24] + movs r2, 0x24 + ldrsh r0, [r5, r2] + cmp r0, 0 + beq _080AE9D6 + ldrh r2, [r5, 0x22] + adds r2, r1, r2 + strh r2, [r5, 0x24] + movs r0, 0x26 + ldrsh r1, [r5, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r4 + strh r2, [r0, 0x24] + b _080AEA04 + .align 2, 0 +_080AE98C: .4byte gSprites +_080AE990: + ldrh r0, [r5, 0xA] + adds r0, 0x1 + strh r0, [r5, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + ble _080AEA04 + movs r0, 0 + strh r0, [r5, 0xA] + ldr r1, _080AE9E0 @ =gSprites + movs r2, 0x26 + ldrsh r0, [r5, r2] + lsls r2, r0, 4 + adds r2, r0 + lsls r2, 2 + adds r2, r1 + adds r2, 0x3E + ldrb r3, [r2] + lsls r0, r3, 29 + lsrs r0, 31 + movs r1, 0x1 + eors r1, r0 + lsls r1, 2 + movs r0, 0x5 + negs r0, r0 + ands r0, r3 + orrs r0, r1 + strb r0, [r2] + ldrh r0, [r5, 0xC] + adds r0, 0x1 + strh r0, [r5, 0xC] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x8 + bne _080AEA04 +_080AE9D6: + ldrh r0, [r5, 0x8] + adds r0, 0x1 + strh r0, [r5, 0x8] + b _080AEA04 + .align 2, 0 +_080AE9E0: .4byte gSprites +_080AE9E4: + ldr r2, _080AEA0C @ =gSprites + movs r0, 0x26 + ldrsh r1, [r5, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + adds r0, 0x3E + ldrb r2, [r0] + movs r1, 0x5 + negs r1, r1 + ands r1, r2 + strb r1, [r0] + adds r0, r3, 0 + bl DestroyAnimVisualTask +_080AEA04: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080AEA0C: .4byte gSprites + thumb_func_end sub_80AE8A0 + + thumb_func_start sub_80AEA10 +sub_80AEA10: @ 80AEA10 + push {r4-r6,lr} + lsls r0, 24 + lsrs r4, r0, 24 + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + ldr r1, _080AEA34 @ =gTasks + adds r5, r0, r1 + movs r1, 0x8 + ldrsh r0, [r5, r1] + cmp r0, 0x1 + bne _080AEA2A + b _080AEB50 +_080AEA2A: + cmp r0, 0x1 + bgt _080AEA38 + cmp r0, 0 + beq _080AEA40 + b _080AEB92 + .align 2, 0 +_080AEA34: .4byte gTasks +_080AEA38: + cmp r0, 0x2 + bne _080AEA3E + b _080AEB84 +_080AEA3E: + b _080AEB92 +_080AEA40: + ldr r4, _080AEA80 @ =gBattleAnimAttacker + ldrb r0, [r4] + bl GetBattlerSide + lsls r0, 24 + movs r2, 0x1 + negs r2, r2 + adds r1, r2, 0 + cmp r0, 0 + bne _080AEA56 + movs r1, 0x1 +_080AEA56: + movs r6, 0 + strh r1, [r5, 0xA] + ldr r0, _080AEA84 @ =gBattleAnimArgs + movs r1, 0 + ldrsh r2, [r0, r1] + adds r3, r0, 0 + cmp r2, 0 + beq _080AEA8C + cmp r2, 0x4 + beq _080AEAB4 + ldrh r1, [r3] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080AEAEC + movs r0, 0x80 + lsls r0, 1 + strh r0, [r5, 0xE] + ldr r0, _080AEA88 @ =0x0000fff0 + b _080AEAF4 + .align 2, 0 +_080AEA80: .4byte gBattleAnimAttacker +_080AEA84: .4byte gBattleAnimArgs +_080AEA88: .4byte 0x0000fff0 +_080AEA8C: + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0xE] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x12] + movs r2, 0xA + ldrsh r0, [r5, r2] + lsls r0, 7 + adds r0, 0x78 + strh r0, [r5, 0x10] + b _080AEB2A +_080AEAB4: + movs r0, 0xA + ldrsh r1, [r5, r0] + lsls r1, 7 + movs r0, 0x78 + subs r0, r1 + strh r0, [r5, 0xE] + ldr r4, _080AEAE8 @ =gBattleAnimTarget + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x12] + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + movs r2, 0xA + ldrsh r1, [r5, r2] + lsls r1, 5 + subs r0, r1 + strh r0, [r5, 0x10] + b _080AEB2A + .align 2, 0 +_080AEAE8: .4byte gBattleAnimTarget +_080AEAEC: + ldr r0, _080AEB10 @ =0x0000fff0 + strh r0, [r5, 0xE] + movs r0, 0x80 + lsls r0, 1 +_080AEAF4: + strh r0, [r5, 0x10] + movs r1, 0xA + ldrsh r0, [r5, r1] + cmp r0, 0x1 + bne _080AEB14 + movs r2, 0 + ldrsh r0, [r3, r2] + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 1 + movs r0, 0x50 + subs r0, r1 + strh r0, [r5, 0x12] + b _080AEB2A + .align 2, 0 +_080AEB10: .4byte 0x0000fff0 +_080AEB14: + movs r0, 0 + ldrsh r1, [r3, r0] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 1 + adds r0, 0x28 + strh r0, [r5, 0x12] + ldrh r1, [r5, 0xE] + ldrh r0, [r5, 0x10] + strh r0, [r5, 0xE] + strh r1, [r5, 0x10] +_080AEB2A: + movs r2, 0xE + ldrsh r1, [r5, r2] + movs r2, 0x10 + ldrsh r0, [r5, r2] + cmp r1, r0 + bge _080AEB40 + movs r1, 0 + movs r0, 0x1 + strh r0, [r5, 0xA] + strh r1, [r5, 0x14] + b _080AEB7C +_080AEB40: + ldr r0, _080AEB4C @ =0x0000ffff + strh r0, [r5, 0xA] + movs r0, 0x3 + strh r0, [r5, 0x14] + b _080AEB7C + .align 2, 0 +_080AEB4C: .4byte 0x0000ffff +_080AEB50: + ldrh r0, [r5, 0xC] + adds r0, 0x1 + strh r0, [r5, 0xC] + lsls r0, 16 + cmp r0, 0 + ble _080AEB92 + movs r0, 0 + strh r0, [r5, 0xC] + adds r0, r5, 0 + adds r1, r4, 0 + bl sub_80AEB98 + lsls r0, 24 + cmp r0, 0 + bne _080AEB7C + adds r0, r5, 0 + adds r1, r4, 0 + bl sub_80AEB98 + lsls r0, 24 + cmp r0, 0 + beq _080AEB92 +_080AEB7C: + ldrh r0, [r5, 0x8] + adds r0, 0x1 + strh r0, [r5, 0x8] + b _080AEB92 +_080AEB84: + movs r1, 0x16 + ldrsh r0, [r5, r1] + cmp r0, 0 + bne _080AEB92 + adds r0, r4, 0 + bl DestroyAnimVisualTask +_080AEB92: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_80AEA10 + + thumb_func_start sub_80AEB98 +sub_80AEB98: @ 80AEB98 + push {r4,r5,lr} + adds r4, r0, 0 + lsls r1, 24 + lsrs r5, r1, 24 + ldr r0, _080AEC24 @ =gUnknown_83E6278 + movs r2, 0xE + ldrsh r1, [r4, r2] + movs r3, 0x12 + ldrsh r2, [r4, r3] + movs r3, 0x23 + bl CreateSprite + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0x40 + beq _080AEBCE + ldr r1, _080AEC28 @ =gSprites + lsls r0, r2, 4 + adds r0, r2 + lsls r0, 2 + adds r0, r1 + strh r5, [r0, 0x3A] + movs r1, 0x7 + strh r1, [r0, 0x3C] + ldrh r0, [r4, 0x16] + adds r0, 0x1 + strh r0, [r4, 0x16] +_080AEBCE: + ldrh r1, [r4, 0xA] + ldrh r5, [r4, 0x14] + adds r0, r1, r5 + strh r0, [r4, 0x14] + lsls r0, 16 + cmp r0, 0 + bge _080AEBE0 + movs r0, 0x3 + strh r0, [r4, 0x14] +_080AEBE0: + movs r2, 0x14 + ldrsh r0, [r4, r2] + cmp r0, 0x3 + ble _080AEBEC + movs r0, 0 + strh r0, [r4, 0x14] +_080AEBEC: + movs r3, 0xA + ldrsh r0, [r4, r3] + lsls r0, 4 + ldrh r5, [r4, 0xE] + adds r2, r0, r5 + strh r2, [r4, 0xE] + lsls r0, r1, 16 + asrs r3, r0, 16 + cmp r3, 0x1 + bne _080AEC0C + lsls r0, r2, 16 + asrs r0, 16 + movs r5, 0x10 + ldrsh r1, [r4, r5] + cmp r0, r1 + bge _080AEC20 +_080AEC0C: + movs r0, 0x1 + negs r0, r0 + cmp r3, r0 + bne _080AEC2C + lsls r0, r2, 16 + asrs r0, 16 + movs r2, 0x10 + ldrsh r1, [r4, r2] + cmp r0, r1 + bgt _080AEC2C +_080AEC20: + movs r0, 0x1 + b _080AEC2E + .align 2, 0 +_080AEC24: .4byte gUnknown_83E6278 +_080AEC28: .4byte gSprites +_080AEC2C: + movs r0, 0 +_080AEC2E: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_80AEB98 + + thumb_func_start sub_80AEC34 +sub_80AEC34: @ 80AEC34 + push {r4,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xC + ble _080AEC74 + ldr r3, _080AEC7C @ =gTasks + movs r0, 0x3C + ldrsh r1, [r4, r0] + lsls r1, 1 + movs r0, 0x3A + ldrsh r2, [r4, r0] + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + adds r1, r0 + adds r3, 0x8 + adds r1, r3 + ldrh r0, [r1] + subs r0, 0x1 + strh r0, [r1] + ldrb r0, [r4, 0x3] + lsls r0, 26 + lsrs r0, 27 + bl FreeOamMatrix + adds r0, r4, 0 + bl DestroySprite +_080AEC74: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080AEC7C: .4byte gTasks + thumb_func_end sub_80AEC34 + + thumb_func_start sub_80AEC80 +sub_80AEC80: @ 80AEC80 + push {r4,r5,lr} + adds r5, r0, 0 + movs r1, 0x2E + ldrsh r0, [r5, r1] + cmp r0, 0 + beq _080AEC92 + cmp r0, 0x1 + beq _080AECC4 + b _080AECD8 +_080AEC92: + ldr r4, _080AECC0 @ =gBattleAnimAttacker + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x20] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x22] + adds r0, r5, 0 + movs r1, 0x2 + bl StartSpriteAffineAnim + ldrh r0, [r5, 0x2E] + adds r0, 0x1 + strh r0, [r5, 0x2E] + b _080AECD8 + .align 2, 0 +_080AECC0: .4byte gBattleAnimAttacker +_080AECC4: + adds r0, r5, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x20 + ands r0, r1 + cmp r0, 0 + beq _080AECD8 + adds r0, r5, 0 + bl move_anim_8074EE0 +_080AECD8: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80AEC80 + + thumb_func_start sub_80AECE0 +sub_80AECE0: @ 80AECE0 + push {r4,r5,lr} + lsls r0, 24 + lsrs r2, r0, 24 + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + ldr r1, _080AED04 @ =gTasks + adds r5, r0, r1 + movs r1, 0x8 + ldrsh r0, [r5, r1] + cmp r0, 0x4 + bls _080AECFA + b _080AEE6C +_080AECFA: + lsls r0, 2 + ldr r1, _080AED08 @ =_080AED0C + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080AED04: .4byte gTasks +_080AED08: .4byte _080AED0C + .align 2, 0 +_080AED0C: + .4byte _080AED20 + .4byte _080AEDB0 + .4byte _080AEDEC + .4byte _080AEE48 + .4byte _080AEE58 +_080AED20: + ldr r4, _080AEDA4 @ =gBattleAnimAttacker + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x14] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x16] + movs r0, 0x4 + strh r0, [r5, 0x18] + ldr r0, _080AEDA8 @ =gBattleAnimTarget + ldrb r0, [r0] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x1C] + movs r2, 0x1C + ldrsh r0, [r5, r2] + movs r2, 0x14 + ldrsh r1, [r5, r2] + subs r0, r1 + movs r1, 0x5 + bl __divsi3 + strh r0, [r5, 0x1A] + movs r0, 0x7 + strh r0, [r5, 0x10] + ldr r0, _080AEDAC @ =0x0000ffff + strh r0, [r5, 0x12] + movs r0, 0xC + strh r0, [r5, 0x1E] + subs r0, 0x4C + bl sub_8073A44 + lsls r0, 24 + asrs r0, 24 + strh r0, [r5, 0x20] + movs r0, 0x3F + bl sub_8073A44 + lsls r0, 24 + asrs r0, 24 + strh r0, [r5, 0x22] + ldrh r0, [r5, 0x20] + strh r0, [r5, 0x24] + movs r1, 0x22 + ldrsh r0, [r5, r1] + movs r2, 0x20 + ldrsh r1, [r5, r2] + subs r0, r1 + movs r1, 0x3 + bl __divsi3 + strh r0, [r5, 0x26] + ldrh r0, [r5, 0x8] + adds r0, 0x1 + b _080AEE6A + .align 2, 0 +_080AEDA4: .4byte gBattleAnimAttacker +_080AEDA8: .4byte gBattleAnimTarget +_080AEDAC: .4byte 0x0000ffff +_080AEDB0: + ldrh r0, [r5, 0xA] + adds r0, 0x1 + strh r0, [r5, 0xA] + lsls r0, 16 + cmp r0, 0 + ble _080AEDE0 + movs r0, 0 + strh r0, [r5, 0xA] + adds r0, r5, 0 + adds r1, r2, 0 + bl sub_80AEE74 + lsls r0, 24 + cmp r0, 0 + beq _080AEDE0 + movs r1, 0xC + ldrsh r0, [r5, r1] + cmp r0, 0x5 + bne _080AEDDA + movs r0, 0x3 + b _080AEDDE +_080AEDDA: + ldrh r0, [r5, 0x8] + adds r0, 0x1 +_080AEDDE: + strh r0, [r5, 0x8] +_080AEDE0: + ldrh r1, [r5, 0x1E] + movs r2, 0x1E + ldrsh r0, [r5, r2] + cmp r0, 0 + beq _080AEE6C + b _080AEE62 +_080AEDEC: + ldrh r1, [r5, 0x1E] + movs r2, 0x1E + ldrsh r0, [r5, r2] + cmp r0, 0 + beq _080AEDFA + subs r0, r1, 0x1 + strh r0, [r5, 0x1E] +_080AEDFA: + ldrh r0, [r5, 0xA] + adds r0, 0x1 + movs r3, 0 + strh r0, [r5, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x4 + ble _080AEE6C + strh r3, [r5, 0xA] + ldrh r1, [r5, 0xC] + movs r2, 0x1 + adds r0, r2, 0 + ands r0, r1 + cmp r0, 0 + beq _080AEE26 + movs r0, 0x4 + strh r0, [r5, 0x16] + movs r0, 0x44 + strh r0, [r5, 0x18] + strh r3, [r5, 0x10] + strh r2, [r5, 0x12] + b _080AEE36 +_080AEE26: + movs r0, 0x44 + strh r0, [r5, 0x16] + movs r0, 0x4 + strh r0, [r5, 0x18] + movs r0, 0x7 + strh r0, [r5, 0x10] + ldr r0, _080AEE44 @ =0x0000ffff + strh r0, [r5, 0x12] +_080AEE36: + movs r1, 0x1E + ldrsh r0, [r5, r1] + cmp r0, 0 + beq _080AEE68 + movs r0, 0x4 + b _080AEE6A + .align 2, 0 +_080AEE44: .4byte 0x0000ffff +_080AEE48: + movs r1, 0xE + ldrsh r0, [r5, r1] + cmp r0, 0 + bne _080AEE6C + adds r0, r2, 0 + bl DestroyAnimVisualTask + b _080AEE6C +_080AEE58: + ldrh r1, [r5, 0x1E] + movs r2, 0x1E + ldrsh r0, [r5, r2] + cmp r0, 0 + beq _080AEE68 +_080AEE62: + subs r0, r1, 0x1 + strh r0, [r5, 0x1E] + b _080AEE6C +_080AEE68: + movs r0, 0x1 +_080AEE6A: + strh r0, [r5, 0x8] +_080AEE6C: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80AECE0 + + thumb_func_start sub_80AEE74 +sub_80AEE74: @ 80AEE74 + push {r4-r6,lr} + adds r4, r0, 0 + lsls r1, 24 + lsrs r5, r1, 24 + ldr r0, _080AEF3C @ =gUnknown_83E62A8 + movs r2, 0x14 + ldrsh r1, [r4, r2] + movs r3, 0x16 + ldrsh r2, [r4, r3] + movs r3, 0x23 + bl CreateSprite + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0x40 + beq _080AEEE0 + ldr r1, _080AEF40 @ =gSprites + lsls r0, r2, 4 + adds r0, r2 + lsls r0, 2 + adds r3, r0, r1 + ldrh r2, [r3, 0x4] + lsls r1, r2, 22 + lsrs r1, 22 + ldrh r6, [r4, 0x10] + adds r1, r6 + ldr r6, _080AEF44 @ =0x000003ff + adds r0, r6, 0 + ands r1, r0 + ldr r0, _080AEF48 @ =0xfffffc00 + ands r0, r2 + orrs r0, r1 + strh r0, [r3, 0x4] + ldrh r0, [r4, 0x12] + ldrh r1, [r4, 0x10] + adds r0, r1 + strh r0, [r4, 0x10] + lsls r0, 16 + cmp r0, 0 + bge _080AEEC8 + movs r0, 0x7 + strh r0, [r4, 0x10] +_080AEEC8: + movs r2, 0x10 + ldrsh r0, [r4, r2] + cmp r0, 0x7 + ble _080AEED4 + movs r0, 0 + strh r0, [r4, 0x10] +_080AEED4: + strh r5, [r3, 0x3A] + movs r0, 0x3 + strh r0, [r3, 0x3C] + ldrh r0, [r4, 0xE] + adds r0, 0x1 + strh r0, [r4, 0xE] +_080AEEE0: + movs r3, 0x10 + ldrsh r0, [r4, r3] + cmp r0, 0 + bne _080AEF02 + movs r5, 0x12 + ldrsh r0, [r4, r5] + cmp r0, 0 + ble _080AEF02 + ldrh r1, [r4, 0x26] + ldrh r6, [r4, 0x24] + adds r1, r6 + strh r1, [r4, 0x24] + lsls r1, 24 + asrs r1, 24 + movs r0, 0x6F + bl PlaySE12WithPanning +_080AEF02: + movs r0, 0x12 + ldrsh r3, [r4, r0] + ldrh r2, [r4, 0x16] + cmp r3, 0 + bge _080AEF18 + lsls r0, r2, 16 + asrs r0, 16 + movs r5, 0x18 + ldrsh r1, [r4, r5] + cmp r0, r1 + ble _080AEF28 +_080AEF18: + cmp r3, 0 + ble _080AEF4C + lsls r0, r2, 16 + asrs r0, 16 + movs r6, 0x18 + ldrsh r1, [r4, r6] + cmp r0, r1 + blt _080AEF4C +_080AEF28: + ldrh r0, [r4, 0xC] + adds r0, 0x1 + strh r0, [r4, 0xC] + ldrh r0, [r4, 0x1A] + ldrh r1, [r4, 0x14] + adds r0, r1 + strh r0, [r4, 0x14] + movs r0, 0x1 + b _080AEF58 + .align 2, 0 +_080AEF3C: .4byte gUnknown_83E62A8 +_080AEF40: .4byte gSprites +_080AEF44: .4byte 0x000003ff +_080AEF48: .4byte 0xfffffc00 +_080AEF4C: + movs r3, 0x12 + ldrsh r0, [r4, r3] + lsls r0, 3 + adds r0, r2, r0 + strh r0, [r4, 0x16] + movs r0, 0 +_080AEF58: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_80AEE74 + + thumb_func_start sub_80AEF60 +sub_80AEF60: @ 80AEF60 + push {r4,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xC + ble _080AEF96 + ldr r3, _080AEF9C @ =gTasks + movs r0, 0x3C + ldrsh r1, [r4, r0] + lsls r1, 1 + movs r0, 0x3A + ldrsh r2, [r4, r0] + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + adds r1, r0 + adds r3, 0x8 + adds r1, r3 + ldrh r0, [r1] + subs r0, 0x1 + strh r0, [r1] + adds r0, r4, 0 + bl DestroySprite +_080AEF96: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080AEF9C: .4byte gTasks + thumb_func_end sub_80AEF60 + + thumb_func_start sub_80AEFA0 +sub_80AEFA0: @ 80AEFA0 + push {r4,r5,lr} + lsls r0, 24 + lsrs r2, r0, 24 + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + ldr r1, _080AEFC4 @ =gTasks + adds r5, r0, r1 + movs r1, 0x8 + ldrsh r0, [r5, r1] + cmp r0, 0x1 + beq _080AF01C + cmp r0, 0x1 + bgt _080AEFC8 + cmp r0, 0 + beq _080AEFCE + b _080AF052 + .align 2, 0 +_080AEFC4: .4byte gTasks +_080AEFC8: + cmp r0, 0x2 + beq _080AF044 + b _080AF052 +_080AEFCE: + ldr r0, _080AF018 @ =gBattleAnimTarget + ldrb r0, [r0] + movs r1, 0x1 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + adds r0, 0x20 + strh r0, [r5, 0x26] + strh r0, [r5, 0x24] + cmp r0, 0x10 + ble _080AEFF8 + adds r2, r0, 0 +_080AEFE8: + adds r1, r2, 0 + subs r1, 0x20 + adds r2, r1, 0 + lsls r0, r1, 16 + asrs r0, 16 + cmp r0, 0x10 + bgt _080AEFE8 + strh r1, [r5, 0x24] +_080AEFF8: + ldr r4, _080AF018 @ =gBattleAnimTarget + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x22] + ldrb r0, [r4] + bl sub_807685C + lsls r0, 24 + lsrs r0, 24 + subs r0, 0x2 + strh r0, [r5, 0x20] + b _080AF03C + .align 2, 0 +_080AF018: .4byte gBattleAnimTarget +_080AF01C: + ldrh r0, [r5, 0xA] + adds r0, 0x1 + strh r0, [r5, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + ble _080AF052 + movs r0, 0 + strh r0, [r5, 0xA] + adds r0, r5, 0 + adds r1, r2, 0 + bl sub_80AF058 + lsls r0, 24 + cmp r0, 0 + beq _080AF052 +_080AF03C: + ldrh r0, [r5, 0x8] + adds r0, 0x1 + strh r0, [r5, 0x8] + b _080AF052 +_080AF044: + movs r1, 0x1C + ldrsh r0, [r5, r1] + cmp r0, 0 + bne _080AF052 + adds r0, r2, 0 + bl DestroyAnimVisualTask +_080AF052: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80AEFA0 + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/fire.s b/asm/fire.s new file mode 100644 index 000000000..0fb8ea1c1 --- /dev/null +++ b/asm/fire.s @@ -0,0 +1,2500 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start sub_80AC90C +sub_80AC90C: @ 80AC90C + push {r4,lr} + adds r4, r0, 0 + ldr r0, _080AC940 @ =gBattleAnimArgs + ldrh r0, [r0] + strh r0, [r4, 0x2E] + movs r0, 0x3C + strh r0, [r4, 0x30] + movs r0, 0x9 + strh r0, [r4, 0x32] + movs r0, 0x1E + strh r0, [r4, 0x34] + movs r0, 0xFE + lsls r0, 8 + strh r0, [r4, 0x36] + ldr r1, _080AC944 @ =DestroyAnimSprite + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 + ldr r1, _080AC948 @ =sub_8074AE0 + str r1, [r4, 0x1C] + adds r0, r4, 0 + bl _call_via_r1 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080AC940: .4byte gBattleAnimArgs +_080AC944: .4byte DestroyAnimSprite +_080AC948: .4byte sub_8074AE0 + thumb_func_end sub_80AC90C + + thumb_func_start sub_80AC94C +sub_80AC94C: @ 80AC94C + push {r4,r5,lr} + adds r4, r0, 0 + ldr r5, _080AC984 @ =gBattleAnimArgs + movs r0, 0 + ldrsh r1, [r5, r0] + adds r0, r4, 0 + bl sub_8074FF8 + ldrh r0, [r5, 0x2] + ldrh r1, [r4, 0x22] + adds r0, r1 + strh r0, [r4, 0x22] + ldrh r0, [r5, 0x8] + strh r0, [r4, 0x2E] + ldrh r0, [r5, 0x4] + strh r0, [r4, 0x30] + ldrh r0, [r5, 0x6] + strh r0, [r4, 0x32] + ldr r0, _080AC988 @ =sub_8074D00 + str r0, [r4, 0x1C] + ldr r1, _080AC98C @ =DestroyAnimSprite + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080AC984: .4byte gBattleAnimArgs +_080AC988: .4byte sub_8074D00 +_080AC98C: .4byte DestroyAnimSprite + thumb_func_end sub_80AC94C + + thumb_func_start sub_80AC990 +sub_80AC990: @ 80AC990 + push {r4,lr} + adds r4, r0, 0 + bl sub_8074FCC + ldr r0, _080AC9C4 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080AC9CC + ldr r2, _080AC9C8 @ =gBattleAnimArgs + ldrh r0, [r4, 0x20] + ldrh r1, [r2] + subs r0, r1 + strh r0, [r4, 0x20] + ldrh r0, [r2, 0x2] + ldrh r1, [r4, 0x22] + adds r0, r1 + strh r0, [r4, 0x22] + ldrh r0, [r2, 0x8] + negs r0, r0 + strh r0, [r4, 0x32] + adds r1, r2, 0 + b _080AC9E2 + .align 2, 0 +_080AC9C4: .4byte gBattleAnimAttacker +_080AC9C8: .4byte gBattleAnimArgs +_080AC9CC: + ldr r1, _080AC9F8 @ =gBattleAnimArgs + ldrh r0, [r1] + ldrh r2, [r4, 0x20] + adds r0, r2 + strh r0, [r4, 0x20] + ldrh r0, [r1, 0x2] + ldrh r2, [r4, 0x22] + adds r0, r2 + strh r0, [r4, 0x22] + ldrh r0, [r1, 0x8] + strh r0, [r4, 0x32] +_080AC9E2: + ldrh r0, [r1, 0x4] + strh r0, [r4, 0x30] + ldrh r0, [r1, 0x6] + strh r0, [r4, 0x36] + ldrh r0, [r1, 0xA] + strh r0, [r4, 0x34] + ldr r0, _080AC9FC @ =sub_80ACA6C + str r0, [r4, 0x1C] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080AC9F8: .4byte gBattleAnimArgs +_080AC9FC: .4byte sub_80ACA6C + thumb_func_end sub_80AC990 + + thumb_func_start sub_80ACA00 +sub_80ACA00: @ 80ACA00 + push {r4,lr} + adds r4, r0, 0 + ldr r0, _080ACA2C @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080ACA34 + ldr r2, _080ACA30 @ =gBattleAnimArgs + ldrh r0, [r4, 0x20] + ldrh r1, [r2] + subs r0, r1 + strh r0, [r4, 0x20] + ldrh r0, [r2, 0x2] + ldrh r1, [r4, 0x22] + adds r0, r1 + strh r0, [r4, 0x22] + ldrh r0, [r2, 0x8] + strh r0, [r4, 0x32] + adds r1, r2, 0 + b _080ACA4C + .align 2, 0 +_080ACA2C: .4byte gBattleAnimAttacker +_080ACA30: .4byte gBattleAnimArgs +_080ACA34: + ldr r1, _080ACA64 @ =gBattleAnimArgs + ldrh r0, [r1] + ldrh r2, [r4, 0x20] + adds r0, r2 + strh r0, [r4, 0x20] + ldrh r0, [r1, 0x2] + ldrh r2, [r4, 0x22] + adds r0, r2 + strh r0, [r4, 0x22] + ldrh r0, [r1, 0x8] + negs r0, r0 + strh r0, [r4, 0x32] +_080ACA4C: + ldrh r0, [r1, 0x4] + strh r0, [r4, 0x30] + ldrh r0, [r1, 0x6] + strh r0, [r4, 0x36] + ldrh r0, [r1, 0xA] + strh r0, [r4, 0x34] + ldr r0, _080ACA68 @ =sub_80ACA6C + str r0, [r4, 0x1C] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080ACA64: .4byte gBattleAnimArgs +_080ACA68: .4byte sub_80ACA6C + thumb_func_end sub_80ACA00 + + thumb_func_start sub_80ACA6C +sub_80ACA6C: @ 80ACA6C + push {lr} + adds r2, r0, 0 + ldrh r0, [r2, 0x2E] + adds r0, 0x1 + strh r0, [r2, 0x2E] + lsls r0, 16 + asrs r0, 16 + movs r3, 0x36 + ldrsh r1, [r2, r3] + cmp r0, r1 + bge _080ACA92 + ldrh r0, [r2, 0x32] + ldrh r1, [r2, 0x24] + adds r0, r1 + strh r0, [r2, 0x24] + ldrh r0, [r2, 0x34] + ldrh r3, [r2, 0x26] + adds r0, r3 + strh r0, [r2, 0x26] +_080ACA92: + movs r0, 0x2E + ldrsh r1, [r2, r0] + movs r3, 0x30 + ldrsh r0, [r2, r3] + cmp r1, r0 + bne _080ACAA4 + adds r0, r2, 0 + bl move_anim_8074EE0 +_080ACAA4: + pop {r0} + bx r0 + thumb_func_end sub_80ACA6C + + thumb_func_start sub_80ACAA8 +sub_80ACAA8: @ 80ACAA8 + push {r4,lr} + adds r4, r0, 0 + bl sub_8074FCC + ldr r0, _080ACACC @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080ACAD4 + ldr r0, _080ACAD0 @ =gBattleAnimArgs + ldrh r1, [r4, 0x20] + ldrh r2, [r0] + subs r1, r2 + strh r1, [r4, 0x20] + b _080ACAE6 + .align 2, 0 +_080ACACC: .4byte gBattleAnimAttacker +_080ACAD0: .4byte gBattleAnimArgs +_080ACAD4: + ldr r0, _080ACB14 @ =gBattleAnimArgs + ldrh r1, [r0] + ldrh r2, [r4, 0x20] + adds r1, r2 + strh r1, [r4, 0x20] + adds r2, r4, 0 + adds r2, 0x43 + movs r1, 0x8 + strb r1, [r2] +_080ACAE6: + adds r2, r0, 0 + ldrh r0, [r2, 0x2] + ldrh r1, [r4, 0x22] + adds r0, r1 + movs r1, 0 + strh r0, [r4, 0x22] + ldrh r0, [r2, 0x4] + strh r0, [r4, 0x2E] + ldrh r0, [r2, 0x6] + strh r0, [r4, 0x30] + ldrh r0, [r2, 0x8] + strh r0, [r4, 0x32] + ldrh r0, [r2, 0xA] + strh r0, [r4, 0x34] + ldrh r0, [r2, 0xC] + strh r0, [r4, 0x36] + strh r1, [r4, 0x38] + ldr r0, _080ACB18 @ =sub_80ACB1C + str r0, [r4, 0x1C] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080ACB14: .4byte gBattleAnimArgs +_080ACB18: .4byte sub_80ACB1C + thumb_func_end sub_80ACAA8 + + thumb_func_start sub_80ACB1C +sub_80ACB1C: @ 80ACB1C + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x34 + ldrsh r0, [r4, r1] + cmp r0, 0 + beq _080ACBA4 + movs r2, 0x38 + ldrsh r1, [r4, r2] + ldr r0, _080ACB88 @ =0x00002710 + cmp r1, r0 + ble _080ACB3A + adds r1, r4, 0 + adds r1, 0x43 + movs r0, 0x1 + strb r0, [r1] +_080ACB3A: + movs r1, 0x2E + ldrsh r0, [r4, r1] + ldrh r1, [r4, 0x38] + lsls r1, 16 + asrs r1, 24 + ldrh r2, [r4, 0x30] + adds r1, r2 + lsls r1, 16 + asrs r1, 16 + bl Sin + strh r0, [r4, 0x24] + movs r1, 0x2E + ldrsh r0, [r4, r1] + ldrh r1, [r4, 0x38] + lsls r1, 16 + asrs r1, 24 + ldrh r2, [r4, 0x30] + adds r1, r2 + lsls r1, 16 + asrs r1, 16 + bl Cos + strh r0, [r4, 0x26] + ldrh r0, [r4, 0x32] + ldrh r2, [r4, 0x2E] + adds r1, r0, r2 + strh r1, [r4, 0x2E] + ldrh r0, [r4, 0x36] + ldrh r2, [r4, 0x38] + adds r0, r2 + strh r0, [r4, 0x38] + lsls r0, r1, 16 + asrs r0, 16 + cmp r0, 0xFF + ble _080ACB90 + ldr r2, _080ACB8C @ =0xffffff00 + b _080ACB98 + .align 2, 0 +_080ACB88: .4byte 0x00002710 +_080ACB8C: .4byte 0xffffff00 +_080ACB90: + cmp r0, 0 + bge _080ACB9C + movs r2, 0x80 + lsls r2, 1 +_080ACB98: + adds r0, r1, r2 + strh r0, [r4, 0x2E] +_080ACB9C: + ldrh r0, [r4, 0x34] + subs r0, 0x1 + strh r0, [r4, 0x34] + b _080ACBAA +_080ACBA4: + adds r0, r4, 0 + bl move_anim_8074EE0 +_080ACBAA: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80ACB1C + + thumb_func_start sub_80ACBB0 +sub_80ACBB0: @ 80ACBB0 + push {lr} + movs r1, 0 + strh r1, [r0, 0x20] + strh r1, [r0, 0x22] + movs r1, 0x3C + strh r1, [r0, 0x2E] + movs r1, 0x8C + strh r1, [r0, 0x32] + movs r1, 0x50 + strh r1, [r0, 0x36] + ldr r1, _080ACBD4 @ =sub_8075590 + str r1, [r0, 0x1C] + ldr r1, _080ACBD8 @ =DestroyAnimSprite + bl StoreSpriteCallbackInData6 + pop {r0} + bx r0 + .align 2, 0 +_080ACBD4: .4byte sub_8075590 +_080ACBD8: .4byte DestroyAnimSprite + thumb_func_end sub_80ACBB0 + + thumb_func_start sub_80ACBDC +sub_80ACBDC: @ 80ACBDC + push {r4-r6,lr} + adds r6, r0, 0 + ldr r5, _080ACC34 @ =gBattleAnimAttacker + ldrb r0, [r5] + bl GetBattlerSide + adds r4, r0, 0 + ldr r0, _080ACC38 @ =gBattleAnimTarget + ldrb r0, [r0] + bl GetBattlerSide + lsls r4, 24 + lsls r0, 24 + cmp r4, r0 + bne _080ACC22 + movs r0, 0x2 + bl GetBattlerAtPosition + ldrb r1, [r5] + lsls r0, 24 + lsrs r0, 24 + cmp r1, r0 + beq _080ACC1A + movs r0, 0x3 + bl GetBattlerAtPosition + ldrb r1, [r5] + lsls r0, 24 + lsrs r0, 24 + cmp r1, r0 + bne _080ACC22 +_080ACC1A: + ldr r1, _080ACC3C @ =gBattleAnimArgs + ldrh r0, [r1, 0x4] + negs r0, r0 + strh r0, [r1, 0x4] +_080ACC22: + ldr r1, _080ACC40 @ =sub_8075F0C + str r1, [r6, 0x1C] + adds r0, r6, 0 + bl _call_via_r1 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080ACC34: .4byte gBattleAnimAttacker +_080ACC38: .4byte gBattleAnimTarget +_080ACC3C: .4byte gBattleAnimArgs +_080ACC40: .4byte sub_8075F0C + thumb_func_end sub_80ACBDC + + thumb_func_start sub_80ACC44 +sub_80ACC44: @ 80ACC44 + ldr r2, _080ACC58 @ =gBattleAnimArgs + ldrh r1, [r2] + negs r1, r1 + strh r1, [r2] + ldrh r1, [r2, 0x4] + negs r1, r1 + strh r1, [r2, 0x4] + ldr r1, _080ACC5C @ =sub_8075F0C + str r1, [r0, 0x1C] + bx lr + .align 2, 0 +_080ACC58: .4byte gBattleAnimArgs +_080ACC5C: .4byte sub_8075F0C + thumb_func_end sub_80ACC44 + + thumb_func_start sub_80ACC60 +sub_80ACC60: @ 80ACC60 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x1 + bl sub_8075160 + ldr r0, _080ACC80 @ =gBattleAnimArgs + ldrh r0, [r0, 0x4] + movs r1, 0 + strh r0, [r4, 0x3C] + strh r1, [r4, 0x2E] + ldr r0, _080ACC84 @ =sub_80ACC88 + str r0, [r4, 0x1C] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080ACC80: .4byte gBattleAnimArgs +_080ACC84: .4byte sub_80ACC88 + thumb_func_end sub_80ACC60 + + thumb_func_start sub_80ACC88 +sub_80ACC88: @ 80ACC88 + push {r4,r5,lr} + adds r5, r0, 0 + bl sub_80ACD7C + ldrh r0, [r5, 0x2E] + adds r0, 0x1 + strh r0, [r5, 0x2E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x12 + bne _080ACCD2 + movs r0, 0x19 + strh r0, [r5, 0x2E] + ldrh r0, [r5, 0x20] + strh r0, [r5, 0x30] + ldr r4, _080ACCD8 @ =gBattleAnimTarget + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x32] + ldrh r0, [r5, 0x22] + strh r0, [r5, 0x34] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x36] + adds r0, r5, 0 + bl obj_translate_based_on_private_1_2_3_4 + ldr r0, _080ACCDC @ =sub_80ACCE0 + str r0, [r5, 0x1C] +_080ACCD2: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080ACCD8: .4byte gBattleAnimTarget +_080ACCDC: .4byte sub_80ACCE0 + thumb_func_end sub_80ACC88 + + thumb_func_start sub_80ACCE0 +sub_80ACCE0: @ 80ACCE0 + push {r4-r6,lr} + adds r6, r0, 0 + bl sub_80755E0 + lsls r0, 24 + cmp r0, 0 + beq _080ACD28 + movs r4, 0 + strh r4, [r6, 0x2E] + ldr r5, _080ACD20 @ =gBattleAnimTarget + ldrb r0, [r5] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r6, 0x20] + ldrb r0, [r5] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r6, 0x22] + strh r4, [r6, 0x26] + strh r4, [r6, 0x24] + ldr r1, _080ACD24 @ =sub_80ACD58 + str r1, [r6, 0x1C] + adds r0, r6, 0 + bl _call_via_r1 + b _080ACD52 + .align 2, 0 +_080ACD20: .4byte gBattleAnimTarget +_080ACD24: .4byte sub_80ACD58 +_080ACD28: + movs r1, 0x3C + ldrsh r0, [r6, r1] + movs r1, 0x1C + bl Sin + ldrh r1, [r6, 0x24] + adds r0, r1 + strh r0, [r6, 0x24] + movs r1, 0x3C + ldrsh r0, [r6, r1] + movs r1, 0x1C + bl Cos + ldrh r1, [r6, 0x26] + adds r0, r1 + strh r0, [r6, 0x26] + ldrh r0, [r6, 0x3C] + adds r0, 0x14 + movs r1, 0xFF + ands r0, r1 + strh r0, [r6, 0x3C] +_080ACD52: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_80ACCE0 + + thumb_func_start sub_80ACD58 +sub_80ACD58: @ 80ACD58 + push {r4,lr} + adds r4, r0, 0 + bl sub_80ACD7C + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1F + bne _080ACD74 + adds r0, r4, 0 + bl DestroyAnimSprite +_080ACD74: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80ACD58 + + thumb_func_start sub_80ACD7C +sub_80ACD7C: @ 80ACD7C + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x3C + ldrsh r0, [r4, r1] + movs r1, 0x1C + bl Sin + strh r0, [r4, 0x24] + movs r1, 0x3C + ldrsh r0, [r4, r1] + movs r1, 0x1C + bl Cos + strh r0, [r4, 0x26] + ldrh r0, [r4, 0x3C] + adds r0, 0x14 + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0x3C] + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80ACD7C + + thumb_func_start sub_80ACDA8 +sub_80ACDA8: @ 80ACDA8 + push {r4,lr} + adds r4, r0, 0 + ldr r1, _080ACDDC @ =gBattleAnimArgs + ldrh r0, [r1] + ldrh r2, [r4, 0x20] + adds r0, r2 + strh r0, [r4, 0x20] + ldrh r0, [r1, 0x2] + ldrh r2, [r4, 0x22] + adds r0, r2 + strh r0, [r4, 0x22] + ldrh r0, [r1, 0x4] + strh r0, [r4, 0x2E] + ldrh r0, [r1, 0x6] + strh r0, [r4, 0x30] + ldrh r0, [r1, 0x8] + strh r0, [r4, 0x32] + ldr r1, _080ACDE0 @ =DestroyAnimSprite + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 + ldr r0, _080ACDE4 @ =sub_8074CD0 + str r0, [r4, 0x1C] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080ACDDC: .4byte gBattleAnimArgs +_080ACDE0: .4byte DestroyAnimSprite +_080ACDE4: .4byte sub_8074CD0 + thumb_func_end sub_80ACDA8 + + thumb_func_start sub_80ACDE8 +sub_80ACDE8: @ 80ACDE8 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x1 + bl sub_8075160 + ldr r1, _080ACE1C @ =gBattleAnimArgs + ldrh r0, [r1, 0x4] + strh r0, [r4, 0x30] + ldrh r0, [r1, 0x6] + strh r0, [r4, 0x2E] + adds r2, r4, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] + ldr r0, _080ACE20 @ =sub_8074C44 + str r0, [r4, 0x1C] + ldr r1, _080ACE24 @ =sub_80ACE28 + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080ACE1C: .4byte gBattleAnimArgs +_080ACE20: .4byte sub_8074C44 +_080ACE24: .4byte sub_80ACE28 + thumb_func_end sub_80ACDE8 + + thumb_func_start sub_80ACE28 +sub_80ACE28: @ 80ACE28 + push {lr} + adds r3, r0, 0 + adds r3, 0x3E + ldrb r2, [r3] + movs r1, 0x5 + negs r1, r1 + ands r1, r2 + strb r1, [r3] + ldrh r1, [r0, 0x30] + movs r2, 0 + strh r1, [r0, 0x2E] + strh r2, [r0, 0x30] + ldr r1, _080ACE4C @ =sub_80ACE50 + str r1, [r0, 0x1C] + bl _call_via_r1 + pop {r0} + bx r0 + .align 2, 0 +_080ACE4C: .4byte sub_80ACE50 + thumb_func_end sub_80ACE28 + + thumb_func_start sub_80ACE50 +sub_80ACE50: @ 80ACE50 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x30 + ldrsh r0, [r4, r1] + ldrh r1, [r4, 0x32] + lsls r1, 16 + asrs r1, 24 + bl Sin + strh r0, [r4, 0x24] + movs r1, 0x30 + ldrsh r0, [r4, r1] + ldrh r1, [r4, 0x32] + lsls r1, 16 + asrs r1, 24 + bl Cos + strh r0, [r4, 0x26] + ldrh r0, [r4, 0x30] + adds r0, 0xA + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0x30] + ldrh r0, [r4, 0x32] + adds r0, 0xD0 + strh r0, [r4, 0x32] + ldrh r0, [r4, 0x2E] + subs r0, 0x1 + strh r0, [r4, 0x2E] + lsls r0, 16 + asrs r0, 16 + movs r1, 0x1 + negs r1, r1 + cmp r0, r1 + bne _080ACE9C + adds r0, r4, 0 + bl DestroyAnimSprite +_080ACE9C: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80ACE50 + + thumb_func_start sub_80ACEA4 +sub_80ACEA4: @ 80ACEA4 + push {r4,r5,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r4, r0, 2 + adds r4, r0 + lsls r4, 3 + ldr r0, _080ACF04 @ =gTasks + adds r4, r0 + movs r0, 0 + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r0, 24 + movs r5, 0 + strh r0, [r4, 0x26] + strh r5, [r4, 0x8] + strh r5, [r4, 0xA] + strh r5, [r4, 0xC] + strh r5, [r4, 0xE] + ldr r2, _080ACF08 @ =gSprites + movs r0, 0x26 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r0, [r0, 0x22] + strh r0, [r4, 0x10] + ldr r0, _080ACF0C @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x12] + strh r5, [r4, 0x14] + ldrh r0, [r4, 0x26] + lsls r0, 24 + lsrs r0, 24 + movs r1, 0 + bl sub_80758E0 + ldr r0, _080ACF10 @ =sub_80ACF14 + str r0, [r4] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080ACF04: .4byte gTasks +_080ACF08: .4byte gSprites +_080ACF0C: .4byte gBattleAnimAttacker +_080ACF10: .4byte sub_80ACF14 + thumb_func_end sub_80ACEA4 + + thumb_func_start sub_80ACF14 +sub_80ACF14: @ 80ACF14 + push {r4,r5,lr} + sub sp, 0xC + lsls r0, 24 + lsrs r5, r0, 24 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + ldr r1, _080ACF3C @ =gTasks + adds r4, r0, r1 + movs r1, 0x8 + ldrsh r0, [r4, r1] + cmp r0, 0x6 + bls _080ACF30 + b _080AD1EE +_080ACF30: + lsls r0, 2 + ldr r1, _080ACF40 @ =_080ACF44 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080ACF3C: .4byte gTasks +_080ACF40: .4byte _080ACF44 + .align 2, 0 +_080ACF44: + .4byte _080ACF60 + .4byte _080ACF86 + .4byte _080AD038 + .4byte _080AD098 + .4byte _080AD0B6 + .4byte _080AD18C + .4byte _080AD1E0 +_080ACF60: + ldrh r1, [r4, 0x26] + lsls r1, 24 + lsrs r1, 24 + movs r3, 0x80 + lsls r3, 1 + movs r0, 0xE0 + str r0, [sp] + movs r0, 0x80 + lsls r0, 2 + str r0, [sp, 0x4] + movs r0, 0x20 + str r0, [sp, 0x8] + adds r0, r4, 0 + adds r2, r3, 0 + bl sub_80765D4 + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] +_080ACF86: + ldrh r0, [r4, 0xA] + adds r0, 0x1 + strh r0, [r4, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + ble _080ACFCE + movs r0, 0 + strh r0, [r4, 0xA] + ldrh r0, [r4, 0xC] + adds r0, 0x1 + strh r0, [r4, 0xC] + movs r1, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080ACFBC + ldr r2, _080ACFB8 @ =gSprites + movs r0, 0x26 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + movs r1, 0x3 + b _080ACFCC + .align 2, 0 +_080ACFB8: .4byte gSprites +_080ACFBC: + ldr r2, _080AD030 @ =gSprites + movs r0, 0x26 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldr r1, _080AD034 @ =0x0000fffd +_080ACFCC: + strh r1, [r0, 0x24] +_080ACFCE: + movs r1, 0x12 + ldrsh r0, [r4, r1] + cmp r0, 0 + beq _080ACFFC + ldrh r0, [r4, 0xE] + adds r0, 0x1 + strh r0, [r4, 0xE] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x4 + ble _080ACFFC + movs r0, 0 + strh r0, [r4, 0xE] + ldr r2, _080AD030 @ =gSprites + movs r0, 0x26 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r1, [r0, 0x22] + adds r1, 0x1 + strh r1, [r0, 0x22] +_080ACFFC: + adds r0, r4, 0 + bl sub_8076640 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0 + beq _080AD00C + b _080AD1EE +_080AD00C: + ldrh r0, [r4, 0x26] + lsls r0, 24 + lsrs r0, 24 + bl sub_8076440 + ldr r2, _080AD030 @ =gSprites + movs r0, 0x26 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + strh r5, [r0, 0x24] + strh r5, [r4, 0xA] + strh r5, [r4, 0xC] + strh r5, [r4, 0xE] + b _080AD1D4 + .align 2, 0 +_080AD030: .4byte gSprites +_080AD034: .4byte 0x0000fffd +_080AD038: + ldrh r0, [r4, 0xA] + adds r0, 0x1 + strh r0, [r4, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x4 + bgt _080AD048 + b _080AD1EE +_080AD048: + movs r1, 0x12 + ldrsh r0, [r4, r1] + cmp r0, 0 + beq _080AD072 + ldrh r1, [r4, 0x26] + lsls r1, 24 + lsrs r1, 24 + movs r3, 0x80 + lsls r3, 2 + movs r0, 0xC0 + lsls r0, 1 + str r0, [sp] + movs r0, 0xF0 + str r0, [sp, 0x4] + movs r0, 0x6 + str r0, [sp, 0x8] + adds r0, r4, 0 + movs r2, 0xE0 + bl sub_80765D4 + b _080AD092 +_080AD072: + ldrh r1, [r4, 0x26] + lsls r1, 24 + lsrs r1, 24 + movs r3, 0x80 + lsls r3, 2 + movs r0, 0xC0 + lsls r0, 1 + str r0, [sp] + movs r0, 0xC0 + str r0, [sp, 0x4] + movs r0, 0x6 + str r0, [sp, 0x8] + adds r0, r4, 0 + movs r2, 0xE0 + bl sub_80765D4 +_080AD092: + movs r0, 0 + strh r0, [r4, 0xA] + b _080AD1D4 +_080AD098: + adds r0, r4, 0 + bl sub_8076640 + lsls r0, 24 + cmp r0, 0 + beq _080AD0A6 + b _080AD1EE +_080AD0A6: + ldrh r0, [r4, 0x26] + lsls r0, 24 + lsrs r0, 24 + adds r1, r5, 0 + movs r2, 0x6 + bl sub_80AD1F8 + b _080AD1D4 +_080AD0B6: + ldrh r0, [r4, 0xA] + adds r0, 0x1 + strh r0, [r4, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + ble _080AD104 + movs r0, 0 + strh r0, [r4, 0xA] + ldrh r0, [r4, 0xC] + adds r0, 0x1 + strh r0, [r4, 0xC] + movs r1, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080AD0F0 + ldr r2, _080AD0EC @ =gSprites + movs r0, 0x26 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r1, [r0, 0x26] + adds r1, 0x3 + b _080AD102 + .align 2, 0 +_080AD0EC: .4byte gSprites +_080AD0F0: + ldr r2, _080AD13C @ =gSprites + movs r0, 0x26 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r1, [r0, 0x26] + subs r1, 0x3 +_080AD102: + strh r1, [r0, 0x26] +_080AD104: + ldrh r0, [r4, 0xE] + adds r0, 0x1 + strh r0, [r4, 0xE] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x18 + ble _080AD1EE + movs r1, 0x12 + ldrsh r0, [r4, r1] + cmp r0, 0 + beq _080AD140 + ldrh r1, [r4, 0x26] + lsls r1, 24 + lsrs r1, 24 + movs r2, 0xC0 + lsls r2, 1 + movs r0, 0x80 + lsls r0, 1 + str r0, [sp] + str r0, [sp, 0x4] + movs r0, 0x8 + str r0, [sp, 0x8] + adds r0, r4, 0 + movs r3, 0xF0 + bl sub_80765D4 + b _080AD15E + .align 2, 0 +_080AD13C: .4byte gSprites +_080AD140: + ldrh r1, [r4, 0x26] + lsls r1, 24 + lsrs r1, 24 + movs r2, 0xC0 + lsls r2, 1 + movs r0, 0x80 + lsls r0, 1 + str r0, [sp] + str r0, [sp, 0x4] + movs r0, 0x8 + str r0, [sp, 0x8] + adds r0, r4, 0 + movs r3, 0xC0 + bl sub_80765D4 +_080AD15E: + ldrh r1, [r4, 0xC] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080AD17C + ldr r2, _080AD188 @ =gSprites + movs r0, 0x26 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r1, [r0, 0x26] + subs r1, 0x3 + strh r1, [r0, 0x26] +_080AD17C: + movs r0, 0 + strh r0, [r4, 0xA] + strh r0, [r4, 0xC] + strh r0, [r4, 0xE] + b _080AD1D4 + .align 2, 0 +_080AD188: .4byte gSprites +_080AD18C: + movs r1, 0x12 + ldrsh r0, [r4, r1] + cmp r0, 0 + beq _080AD1A8 + ldr r2, _080AD1DC @ =gSprites + movs r0, 0x26 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r1, [r0, 0x22] + subs r1, 0x1 + strh r1, [r0, 0x22] +_080AD1A8: + adds r0, r4, 0 + bl sub_8076640 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0 + bne _080AD1EE + ldr r2, _080AD1DC @ =gSprites + movs r0, 0x26 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r1, [r4, 0x10] + strh r1, [r0, 0x22] + ldrh r0, [r4, 0x26] + lsls r0, 24 + lsrs r0, 24 + bl sub_8075980 + strh r5, [r4, 0xC] +_080AD1D4: + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] + b _080AD1EE + .align 2, 0 +_080AD1DC: .4byte gSprites +_080AD1E0: + movs r1, 0x14 + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080AD1EE + adds r0, r5, 0 + bl DestroyAnimVisualTask +_080AD1EE: + add sp, 0xC + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80ACF14 + + thumb_func_start sub_80AD1F8 +sub_80AD1F8: @ 80AD1F8 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0xC + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + lsls r1, 24 + lsrs r7, r1, 24 + lsls r2, 24 + lsrs r2, 24 + mov r8, r2 + adds r0, r4, 0 + bl sub_80AD374 + lsls r0, 16 + lsrs r0, 16 + mov r9, r0 + ldr r1, _080AD248 @ =gSprites + lsls r0, r4, 4 + adds r0, r4 + lsls r0, 2 + adds r0, r1 + ldrh r4, [r0, 0x20] + ldr r0, _080AD24C @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _080AD250 + adds r0, r4, 0 + subs r0, 0xC + lsls r0, 16 + lsrs r4, r0, 16 + movs r0, 0x1 + b _080AD25A + .align 2, 0 +_080AD248: .4byte gSprites +_080AD24C: .4byte gBattleAnimAttacker +_080AD250: + adds r0, r4, 0 + adds r0, 0x10 + lsls r0, 16 + lsrs r4, r0, 16 + movs r0, 0xFF +_080AD25A: + movs r6, 0 + movs r5, 0 + lsls r4, 16 + str r4, [sp, 0x8] + mov r1, r9 + lsls r1, 16 + str r1, [sp, 0x4] + ldr r2, _080AD314 @ =gUnknown_83E5E44 + mov r9, r2 + lsls r0, 24 + asrs r0, 24 + str r0, [sp] + mov r3, r8 + lsls r3, 1 + mov r10, r3 +_080AD278: + ldr r0, _080AD318 @ =gUnknown_83E5E2C + ldr r2, [sp, 0x8] + asrs r1, r2, 16 + ldr r3, [sp, 0x4] + asrs r2, r3, 16 + movs r3, 0x2 + bl CreateSprite + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0x40 + beq _080AD2FA + ldr r1, _080AD31C @ =gSprites + lsls r0, r2, 4 + adds r0, r2 + lsls r0, 2 + adds r4, r0, r1 + ldrh r2, [r4, 0x4] + lsls r1, r2, 22 + lsrs r1, 22 + lsls r0, r5, 2 + adds r0, 0x40 + adds r1, r0 + ldr r3, _080AD320 @ =0x000003ff + adds r0, r3, 0 + ands r1, r0 + ldr r3, _080AD324 @ =0xfffffc00 + adds r0, r3, 0 + ands r2, r0 + orrs r2, r1 + strh r2, [r4, 0x4] + adds r0, r5, 0x1 + lsls r0, 16 + lsrs r5, r0, 16 + cmp r5, 0x4 + bls _080AD2C2 + movs r5, 0 +_080AD2C2: + lsls r2, r6, 2 + mov r1, r9 + adds r0, r2, r1 + ldrh r0, [r0] + ldr r3, [sp] + adds r1, r0, 0 + muls r1, r3 + lsls r1, 16 + asrs r1, 16 + ldr r0, _080AD328 @ =gUnknown_83E5E46 + adds r2, r0 + movs r3, 0 + ldrsh r2, [r2, r3] + adds r0, r4, 0 + bl sub_80AD3C8 + strh r7, [r4, 0x3A] + mov r0, r8 + strh r0, [r4, 0x3C] + lsls r0, r7, 2 + adds r0, r7 + lsls r0, 3 + add r0, r10 + ldr r1, _080AD32C @ =gTasks+0x8 + adds r0, r1 + ldrh r1, [r0] + adds r1, 0x1 + strh r1, [r0] +_080AD2FA: + adds r0, r6, 0x1 + lsls r0, 16 + lsrs r6, r0, 16 + cmp r6, 0x6 + bls _080AD278 + add sp, 0xC + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080AD314: .4byte gUnknown_83E5E44 +_080AD318: .4byte gUnknown_83E5E2C +_080AD31C: .4byte gSprites +_080AD320: .4byte 0x000003ff +_080AD324: .4byte 0xfffffc00 +_080AD328: .4byte gUnknown_83E5E46 +_080AD32C: .4byte gTasks+0x8 + thumb_func_end sub_80AD1F8 + + thumb_func_start sub_80AD330 +sub_80AD330: @ 80AD330 + push {r4,lr} + adds r4, r0, 0 + bl sub_80AD3E4 + adds r0, r4, 0 + adds r0, 0x3E + ldrb r1, [r0] + movs r0, 0x4 + ands r0, r1 + cmp r0, 0 + beq _080AD36A + ldr r3, _080AD370 @ =gTasks + movs r0, 0x3C + ldrsh r1, [r4, r0] + lsls r1, 1 + movs r0, 0x3A + ldrsh r2, [r4, r0] + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + adds r1, r0 + adds r3, 0x8 + adds r1, r3 + ldrh r0, [r1] + subs r0, 0x1 + strh r0, [r1] + adds r0, r4, 0 + bl DestroySprite +_080AD36A: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080AD370: .4byte gTasks + thumb_func_end sub_80AD330 + + thumb_func_start sub_80AD374 +sub_80AD374: @ 80AD374 + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + ldr r2, _080AD3AC @ =gSprites + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r2 + ldrh r2, [r1, 0x26] + ldrh r0, [r1, 0x22] + adds r2, r0 + adds r1, 0x29 + movs r0, 0 + ldrsb r0, [r1, r0] + adds r0, r2 + lsls r0, 16 + lsrs r4, r0, 16 + ldr r0, _080AD3B0 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _080AD3B4 + lsls r0, r4, 16 + movs r1, 0x94 + lsls r1, 15 + b _080AD3BA + .align 2, 0 +_080AD3AC: .4byte gSprites +_080AD3B0: .4byte gBattleAnimAttacker +_080AD3B4: + lsls r0, r4, 16 + movs r1, 0xB0 + lsls r1, 14 +_080AD3BA: + adds r0, r1 + lsrs r4, r0, 16 + adds r0, r4, 0 + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_80AD374 + + thumb_func_start sub_80AD3C8 +sub_80AD3C8: @ 80AD3C8 + movs r3, 0 + strh r3, [r0, 0x2E] + strh r3, [r0, 0x30] + ldrh r3, [r0, 0x20] + lsls r3, 3 + strh r3, [r0, 0x32] + ldrh r3, [r0, 0x22] + lsls r3, 3 + strh r3, [r0, 0x34] + lsls r1, 3 + strh r1, [r0, 0x36] + lsls r2, 3 + strh r2, [r0, 0x38] + bx lr + thumb_func_end sub_80AD3C8 + + thumb_func_start sub_80AD3E4 +sub_80AD3E4: @ 80AD3E4 + push {lr} + adds r2, r0, 0 + ldrh r0, [r2, 0x2E] + adds r0, 0x1 + strh r0, [r2, 0x2E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x2 + ble _080AD40E + movs r0, 0 + strh r0, [r2, 0x2E] + ldrh r0, [r2, 0x30] + adds r0, 0x1 + strh r0, [r2, 0x30] + ldrh r0, [r2, 0x30] + adds r1, r0, 0 + muls r1, r0 + adds r0, r1, 0 + ldrh r3, [r2, 0x34] + adds r0, r3 + strh r0, [r2, 0x34] +_080AD40E: + ldrh r0, [r2, 0x36] + ldrh r1, [r2, 0x32] + adds r0, r1 + strh r0, [r2, 0x32] + lsls r0, 16 + asrs r0, 19 + strh r0, [r2, 0x20] + ldrh r1, [r2, 0x38] + ldrh r3, [r2, 0x34] + adds r1, r3 + strh r1, [r2, 0x34] + lsls r1, 16 + asrs r3, r1, 19 + strh r3, [r2, 0x22] + adds r0, 0x8 + lsls r0, 16 + movs r1, 0x80 + lsls r1, 17 + cmp r0, r1 + bhi _080AD444 + adds r1, r3, 0 + movs r0, 0x8 + negs r0, r0 + cmp r1, r0 + blt _080AD444 + cmp r1, 0x78 + ble _080AD450 +_080AD444: + adds r0, r2, 0 + adds r0, 0x3E + ldrb r1, [r0] + movs r2, 0x4 + orrs r1, r2 + strb r1, [r0] +_080AD450: + pop {r0} + bx r0 + thumb_func_end sub_80AD3E4 + + thumb_func_start sub_80AD454 +sub_80AD454: @ 80AD454 + push {r4,r5,lr} + ldr r3, _080AD498 @ =gBattleAnimArgs + ldrh r1, [r3] + movs r2, 0 + strh r1, [r0, 0x20] + ldrh r1, [r3, 0x2] + strh r1, [r0, 0x22] + strh r2, [r0, 0x2E] + strh r2, [r0, 0x30] + strh r2, [r0, 0x32] + ldrh r1, [r3, 0x4] + strh r1, [r0, 0x3A] + ldrh r1, [r3, 0x6] + strh r1, [r0, 0x3C] + ldrh r4, [r0, 0x4] + lsls r2, r4, 22 + lsrs r2, 22 + movs r5, 0x8 + ldrsh r1, [r3, r5] + lsls r1, 4 + adds r2, r1 + ldr r3, _080AD49C @ =0x000003ff + adds r1, r3, 0 + ands r2, r1 + ldr r1, _080AD4A0 @ =0xfffffc00 + ands r1, r4 + orrs r1, r2 + strh r1, [r0, 0x4] + ldr r1, _080AD4A4 @ =sub_80AD4A8 + str r1, [r0, 0x1C] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080AD498: .4byte gBattleAnimArgs +_080AD49C: .4byte 0x000003ff +_080AD4A0: .4byte 0xfffffc00 +_080AD4A4: .4byte sub_80AD4A8 + thumb_func_end sub_80AD454 + + thumb_func_start sub_80AD4A8 +sub_80AD4A8: @ 80AD4A8 + push {r4,lr} + adds r2, r0, 0 + movs r1, 0x2E + ldrsh r0, [r2, r1] + cmp r0, 0x1 + beq _080AD4DA + cmp r0, 0x1 + bgt _080AD4BE + cmp r0, 0 + beq _080AD4C4 + b _080AD538 +_080AD4BE: + cmp r0, 0x2 + beq _080AD4F8 + b _080AD538 +_080AD4C4: + ldrh r1, [r2, 0x3A] + movs r3, 0x3A + ldrsh r0, [r2, r3] + cmp r0, 0 + beq _080AD4D4 + subs r0, r1, 0x1 + strh r0, [r2, 0x3A] + b _080AD538 +_080AD4D4: + ldrh r0, [r2, 0x2E] + adds r0, 0x1 + strh r0, [r2, 0x2E] +_080AD4DA: + ldrh r0, [r2, 0x22] + adds r0, 0x8 + strh r0, [r2, 0x22] + lsls r0, 16 + asrs r0, 16 + ldrh r3, [r2, 0x3C] + movs r4, 0x3C + ldrsh r1, [r2, r4] + cmp r0, r1 + blt _080AD538 + strh r3, [r2, 0x22] + ldrh r0, [r2, 0x2E] + adds r0, 0x1 + strh r0, [r2, 0x2E] + b _080AD538 +_080AD4F8: + ldrh r0, [r2, 0x30] + adds r0, 0x1 + strh r0, [r2, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + ble _080AD524 + movs r0, 0 + strh r0, [r2, 0x30] + ldrh r0, [r2, 0x32] + adds r0, 0x1 + strh r0, [r2, 0x32] + movs r1, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080AD520 + ldr r0, _080AD51C @ =0x0000fffd + b _080AD522 + .align 2, 0 +_080AD51C: .4byte 0x0000fffd +_080AD520: + movs r0, 0x3 +_080AD522: + strh r0, [r2, 0x26] +_080AD524: + ldrh r0, [r2, 0x34] + adds r0, 0x1 + strh r0, [r2, 0x34] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x10 + ble _080AD538 + adds r0, r2, 0 + bl DestroyAnimSprite +_080AD538: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80AD4A8 + + thumb_func_start sub_80AD540 +sub_80AD540: @ 80AD540 + push {r4,r5,lr} + adds r5, r0, 0 + movs r1, 0x2E + ldrsh r0, [r5, r1] + cmp r0, 0x1 + beq _080AD5B4 + cmp r0, 0x1 + bgt _080AD556 + cmp r0, 0 + beq _080AD55C + b _080AD682 +_080AD556: + cmp r0, 0x2 + beq _080AD612 + b _080AD682 +_080AD55C: + adds r0, r5, 0 + movs r1, 0 + bl sub_8075160 + ldr r4, _080AD584 @ =gBattleAnimArgs + ldrb r1, [r4, 0x4] + adds r0, r5, 0 + bl StartSpriteAnim + ldrh r0, [r4, 0x4] + strh r0, [r5, 0x3C] + ldr r0, _080AD588 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080AD58C + movs r0, 0x4 + b _080AD58E + .align 2, 0 +_080AD584: .4byte gBattleAnimArgs +_080AD588: .4byte gBattleAnimAttacker +_080AD58C: + ldr r0, _080AD5AC @ =0x0000fffc +_080AD58E: + strh r0, [r5, 0x36] + ldr r0, _080AD5B0 @ =gBattleAnimTarget + ldrb r0, [r0] + bl sub_8076884 + movs r1, 0x3 + ands r1, r0 + lsls r1, 2 + ldrb r2, [r5, 0x5] + movs r0, 0xD + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r5, 0x5] + b _080AD60A + .align 2, 0 +_080AD5AC: .4byte 0x0000fffc +_080AD5B0: .4byte gBattleAnimTarget +_080AD5B4: + ldrh r0, [r5, 0x30] + adds r0, 0xC0 + strh r0, [r5, 0x30] + ldr r0, _080AD5D4 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080AD5D8 + ldrh r0, [r5, 0x30] + lsls r0, 16 + asrs r0, 24 + negs r0, r0 + b _080AD5DE + .align 2, 0 +_080AD5D4: .4byte gBattleAnimAttacker +_080AD5D8: + ldrh r0, [r5, 0x30] + lsls r0, 16 + asrs r0, 24 +_080AD5DE: + strh r0, [r5, 0x26] + movs r2, 0x32 + ldrsh r0, [r5, r2] + movs r2, 0x36 + ldrsh r1, [r5, r2] + bl Sin + strh r0, [r5, 0x24] + ldrh r0, [r5, 0x32] + adds r0, 0x4 + movs r1, 0xFF + ands r0, r1 + strh r0, [r5, 0x32] + ldrh r0, [r5, 0x34] + adds r0, 0x1 + strh r0, [r5, 0x34] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + bne _080AD682 + movs r0, 0 + strh r0, [r5, 0x34] +_080AD60A: + ldrh r0, [r5, 0x2E] + adds r0, 0x1 + strh r0, [r5, 0x2E] + b _080AD682 +_080AD612: + movs r1, 0x32 + ldrsh r0, [r5, r1] + movs r2, 0x36 + ldrsh r1, [r5, r2] + bl Sin + adds r2, r0, 0 + movs r3, 0 + strh r2, [r5, 0x24] + ldrh r0, [r5, 0x32] + adds r0, 0x4 + movs r1, 0xFF + ands r0, r1 + strh r0, [r5, 0x32] + ldrh r0, [r5, 0x34] + adds r0, 0x1 + strh r0, [r5, 0x34] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1F + bne _080AD682 + ldrh r0, [r5, 0x20] + adds r1, r2, r0 + strh r1, [r5, 0x20] + ldrh r0, [r5, 0x26] + ldrh r2, [r5, 0x22] + adds r0, r2 + strh r0, [r5, 0x22] + strh r3, [r5, 0x26] + strh r3, [r5, 0x24] + movs r0, 0x80 + lsls r0, 1 + strh r0, [r5, 0x2E] + strh r1, [r5, 0x30] + ldr r4, _080AD688 @ =gBattleAnimTarget + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x32] + ldrh r0, [r5, 0x22] + strh r0, [r5, 0x34] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x36] + adds r0, r5, 0 + bl sub_8075678 + ldr r0, _080AD68C @ =sub_80AD690 + str r0, [r5, 0x1C] +_080AD682: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080AD688: .4byte gBattleAnimTarget +_080AD68C: .4byte sub_80AD690 + thumb_func_end sub_80AD540 + + thumb_func_start sub_80AD690 +sub_80AD690: @ 80AD690 + push {r4,lr} + adds r4, r0, 0 + bl sub_80755E0 + lsls r0, 24 + cmp r0, 0 + bne _080AD6E8 + movs r1, 0x38 + ldrsh r0, [r4, r1] + movs r1, 0x10 + bl Sin + ldrh r1, [r4, 0x24] + adds r0, r1 + strh r0, [r4, 0x24] + ldrh r2, [r4, 0x38] + adds r0, r2, 0x4 + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0x38] + ldrh r0, [r4, 0x38] + lsls r2, 16 + asrs r2, 16 + cmp r2, 0 + beq _080AD6C6 + cmp r2, 0xC4 + ble _080AD6EE +_080AD6C6: + lsls r0, 16 + cmp r0, 0 + ble _080AD6EE + movs r1, 0x3C + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080AD6EE + ldr r0, _080AD6E4 @ =gUnknown_2037F24 + movs r1, 0 + ldrsb r1, [r0, r1] + movs r0, 0x89 + bl PlaySE12WithPanning + b _080AD6EE + .align 2, 0 +_080AD6E4: .4byte gUnknown_2037F24 +_080AD6E8: + adds r0, r4, 0 + bl DestroyAnimSprite +_080AD6EE: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80AD690 + + thumb_func_start sub_80AD6F4 +sub_80AD6F4: @ 80AD6F4 + push {r4,lr} + adds r4, r0, 0 + ldrh r1, [r4, 0x2E] + movs r2, 0x2E + ldrsh r0, [r4, r2] + cmp r0, 0 + bne _080AD70C + ldr r0, _080AD778 @ =gBattleAnimArgs + ldrh r0, [r0] + strh r0, [r4, 0x30] + adds r0, r1, 0x1 + strh r0, [r4, 0x2E] +_080AD70C: + movs r0, 0xC0 + lsls r0, 1 + adds r1, r0, 0 + ldrh r2, [r4, 0x34] + adds r1, r2 + strh r1, [r4, 0x34] + ldrh r0, [r4, 0x36] + adds r0, 0xA0 + strh r0, [r4, 0x36] + movs r2, 0x30 + ldrsh r0, [r4, r2] + lsls r1, 16 + asrs r1, 24 + bl Sin + strh r0, [r4, 0x24] + movs r1, 0x30 + ldrsh r0, [r4, r1] + ldrh r1, [r4, 0x36] + lsls r1, 16 + asrs r1, 24 + bl Cos + strh r0, [r4, 0x26] + ldrh r0, [r4, 0x30] + adds r0, 0x7 + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0x30] + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080AD7A8 + ldrh r0, [r4, 0x30] + subs r0, 0x40 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x83 + bls _080AD780 + ldr r0, _080AD77C @ =gBattleAnimTarget + ldrb r0, [r0] + bl sub_8076884 + movs r1, 0x3 + ands r1, r0 + lsls r1, 2 + ldrb r2, [r4, 0x5] + movs r0, 0xD + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r4, 0x5] + b _080AD7C4 + .align 2, 0 +_080AD778: .4byte gBattleAnimArgs +_080AD77C: .4byte gBattleAnimTarget +_080AD780: + ldr r0, _080AD7A4 @ =gBattleAnimTarget + ldrb r0, [r0] + bl sub_8076884 + lsls r0, 24 + lsrs r0, 24 + adds r0, 0x1 + movs r1, 0x3 + ands r0, r1 + lsls r0, 2 + ldrb r2, [r4, 0x5] + movs r1, 0xD + negs r1, r1 + ands r1, r2 + orrs r1, r0 + strb r1, [r4, 0x5] + b _080AD7C4 + .align 2, 0 +_080AD7A4: .4byte gBattleAnimTarget +_080AD7A8: + ldrh r0, [r4, 0x30] + subs r0, 0x40 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x83 + bls _080AD7BC + adds r1, r4, 0 + adds r1, 0x43 + movs r0, 0x1D + b _080AD7C2 +_080AD7BC: + adds r1, r4, 0 + adds r1, 0x43 + movs r0, 0x1F +_080AD7C2: + strb r0, [r1] +_080AD7C4: + ldrh r0, [r4, 0x32] + adds r0, 0x1 + strh r0, [r4, 0x32] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x14 + ble _080AD7EC + adds r3, r4, 0 + adds r3, 0x3E + ldrb r2, [r3] + lsls r0, r2, 29 + lsrs r0, 31 + movs r1, 0x1 + eors r1, r0 + lsls r1, 2 + movs r0, 0x5 + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r3] +_080AD7EC: + movs r2, 0x32 + ldrsh r0, [r4, r2] + cmp r0, 0x1E + bne _080AD7FA + adds r0, r4, 0 + bl DestroyAnimSprite +_080AD7FA: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80AD6F4 + + thumb_func_start sub_80AD800 +sub_80AD800: @ 80AD800 + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, _080AD860 @ =gTasks + adds r4, r1, r0 + ldr r0, _080AD864 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + movs r2, 0x1 + negs r2, r2 + adds r1, r2, 0 + cmp r0, 0 + bne _080AD826 + movs r1, 0x1 +_080AD826: + strh r1, [r4, 0x20] + ldr r0, _080AD868 @ =gBattleAnimTarget + ldrb r1, [r0] + movs r0, 0x2 + eors r0, r1 + bl sub_8072DF0 + lsls r0, 24 + lsrs r0, 24 + adds r0, 0x1 + strh r0, [r4, 0x22] + movs r0, 0x1 + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x24] + movs r0, 0x3 + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x26] + ldr r0, _080AD86C @ =sub_80AD870 + str r0, [r4] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080AD860: .4byte gTasks +_080AD864: .4byte gBattleAnimAttacker +_080AD868: .4byte gBattleAnimTarget +_080AD86C: .4byte sub_80AD870 + thumb_func_end sub_80AD800 + + thumb_func_start sub_80AD870 +sub_80AD870: @ 80AD870 + push {r4-r7,lr} + lsls r0, 24 + lsrs r4, r0, 24 + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + ldr r1, _080AD894 @ =gTasks + adds r2, r0, r1 + movs r0, 0x8 + ldrsh r3, [r2, r0] + cmp r3, 0x1 + beq _080AD938 + cmp r3, 0x1 + bgt _080AD898 + cmp r3, 0 + beq _080AD8A6 + b _080ADA98 + .align 2, 0 +_080AD894: .4byte gTasks +_080AD898: + cmp r3, 0x2 + bne _080AD89E + b _080AD9C0 +_080AD89E: + cmp r3, 0x3 + bne _080AD8A4 + b _080ADA54 +_080AD8A4: + b _080ADA98 +_080AD8A6: + movs r1, 0x20 + ldrsh r0, [r2, r1] + lsls r0, 1 + ldrh r5, [r2, 0x1C] + adds r0, r5 + strh r0, [r2, 0x1C] + ldrh r0, [r2, 0xA] + adds r0, 0x1 + strh r0, [r2, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + ble _080AD8D8 + strh r3, [r2, 0xA] + ldrh r0, [r2, 0xC] + adds r0, 0x1 + strh r0, [r2, 0xC] + movs r1, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080AD8D4 + movs r0, 0x2 + b _080AD8D6 +_080AD8D4: + ldr r0, _080AD930 @ =0x0000fffe +_080AD8D6: + strh r0, [r2, 0x1E] +_080AD8D8: + movs r1, 0 + strh r1, [r2, 0xE] + movs r7, 0x22 + ldrsh r0, [r2, r7] + cmp r1, r0 + bge _080AD91A + ldr r4, _080AD934 @ =gSprites + adds r3, r2, 0 + adds r3, 0x8 +_080AD8EA: + movs r1, 0xE + ldrsh r0, [r2, r1] + adds r0, 0xE + lsls r0, 1 + adds r0, r3, r0 + movs r5, 0 + ldrsh r0, [r0, r5] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r4 + ldrh r0, [r2, 0x1E] + ldrh r7, [r2, 0x1C] + adds r0, r7 + strh r0, [r1, 0x24] + ldrh r0, [r2, 0xE] + adds r0, 0x1 + strh r0, [r2, 0xE] + lsls r0, 16 + asrs r0, 16 + movs r5, 0x22 + ldrsh r1, [r2, r5] + cmp r0, r1 + blt _080AD8EA +_080AD91A: + ldrh r0, [r2, 0x1A] + adds r0, 0x1 + strh r0, [r2, 0x1A] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x10 + beq _080AD92A + b _080ADA98 +_080AD92A: + movs r0, 0 + strh r0, [r2, 0x1A] + b _080ADA44 + .align 2, 0 +_080AD930: .4byte 0x0000fffe +_080AD934: .4byte gSprites +_080AD938: + ldrh r0, [r2, 0xA] + adds r0, 0x1 + strh r0, [r2, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x4 + ble _080AD960 + movs r0, 0 + strh r0, [r2, 0xA] + ldrh r0, [r2, 0xC] + adds r0, 0x1 + strh r0, [r2, 0xC] + ands r0, r3 + lsls r0, 16 + cmp r0, 0 + beq _080AD95C + movs r0, 0x2 + b _080AD95E +_080AD95C: + ldr r0, _080AD9B8 @ =0x0000fffe +_080AD95E: + strh r0, [r2, 0x1E] +_080AD960: + movs r1, 0 + strh r1, [r2, 0xE] + movs r7, 0x22 + ldrsh r0, [r2, r7] + cmp r1, r0 + bge _080AD9A2 + ldr r4, _080AD9BC @ =gSprites + adds r3, r2, 0 + adds r3, 0x8 +_080AD972: + movs r1, 0xE + ldrsh r0, [r2, r1] + adds r0, 0xE + lsls r0, 1 + adds r0, r3, r0 + movs r5, 0 + ldrsh r0, [r0, r5] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r4 + ldrh r0, [r2, 0x1E] + ldrh r7, [r2, 0x1C] + adds r0, r7 + strh r0, [r1, 0x24] + ldrh r0, [r2, 0xE] + adds r0, 0x1 + strh r0, [r2, 0xE] + lsls r0, 16 + asrs r0, 16 + movs r5, 0x22 + ldrsh r1, [r2, r5] + cmp r0, r1 + blt _080AD972 +_080AD9A2: + ldrh r0, [r2, 0x1A] + adds r0, 0x1 + strh r0, [r2, 0x1A] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x60 + bne _080ADA98 + movs r0, 0 + strh r0, [r2, 0x1A] + b _080ADA44 + .align 2, 0 +_080AD9B8: .4byte 0x0000fffe +_080AD9BC: .4byte gSprites +_080AD9C0: + movs r7, 0x20 + ldrsh r1, [r2, r7] + lsls r1, 1 + ldrh r0, [r2, 0x1C] + subs r0, r1 + strh r0, [r2, 0x1C] + ldrh r0, [r2, 0xA] + adds r0, 0x1 + strh r0, [r2, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + ble _080AD9F4 + movs r0, 0 + strh r0, [r2, 0xA] + ldrh r0, [r2, 0xC] + adds r0, 0x1 + strh r0, [r2, 0xC] + movs r1, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080AD9F0 + strh r3, [r2, 0x1E] + b _080AD9F4 +_080AD9F0: + ldr r0, _080ADA4C @ =0x0000fffe + strh r0, [r2, 0x1E] +_080AD9F4: + movs r1, 0 + strh r1, [r2, 0xE] + movs r3, 0x22 + ldrsh r0, [r2, r3] + cmp r1, r0 + bge _080ADA36 + ldr r4, _080ADA50 @ =gSprites + adds r3, r2, 0 + adds r3, 0x8 +_080ADA06: + movs r5, 0xE + ldrsh r0, [r2, r5] + adds r0, 0xE + lsls r0, 1 + adds r0, r3, r0 + movs r7, 0 + ldrsh r0, [r0, r7] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r4 + ldrh r0, [r2, 0x1E] + ldrh r5, [r2, 0x1C] + adds r0, r5 + strh r0, [r1, 0x24] + ldrh r0, [r2, 0xE] + adds r0, 0x1 + strh r0, [r2, 0xE] + lsls r0, 16 + asrs r0, 16 + movs r7, 0x22 + ldrsh r1, [r2, r7] + cmp r0, r1 + blt _080ADA06 +_080ADA36: + ldrh r0, [r2, 0x1A] + adds r0, 0x1 + strh r0, [r2, 0x1A] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x10 + bne _080ADA98 +_080ADA44: + ldrh r0, [r2, 0x8] + adds r0, 0x1 + strh r0, [r2, 0x8] + b _080ADA98 + .align 2, 0 +_080ADA4C: .4byte 0x0000fffe +_080ADA50: .4byte gSprites +_080ADA54: + movs r1, 0 + strh r1, [r2, 0xE] + movs r3, 0x22 + ldrsh r0, [r2, r3] + cmp r1, r0 + bge _080ADA92 + ldr r6, _080ADAA0 @ =gSprites + adds r3, r2, 0 + adds r3, 0x8 + movs r5, 0 +_080ADA68: + movs r7, 0xE + ldrsh r0, [r2, r7] + adds r0, 0xE + lsls r0, 1 + adds r0, r3, r0 + movs r7, 0 + ldrsh r1, [r0, r7] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r6 + strh r5, [r0, 0x24] + ldrh r0, [r2, 0xE] + adds r0, 0x1 + strh r0, [r2, 0xE] + lsls r0, 16 + asrs r0, 16 + movs r7, 0x22 + ldrsh r1, [r2, r7] + cmp r0, r1 + blt _080ADA68 +_080ADA92: + adds r0, r4, 0 + bl DestroyAnimVisualTask +_080ADA98: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080ADAA0: .4byte gSprites + thumb_func_end sub_80AD870 + + thumb_func_start sub_80ADAA4 +sub_80ADAA4: @ 80ADAA4 + push {r4,lr} + sub sp, 0x10 + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + mov r0, sp + bl sub_80752A0 + mov r0, sp + ldrb r0, [r0, 0x8] + lsls r0, 4 + ldr r1, _080ADAD4 @ =gBattleAnimArgs + ldrb r2, [r1] + ldrh r3, [r1, 0x2] + movs r1, 0x10 + bl BlendPalette + adds r0, r4, 0 + bl DestroyAnimVisualTask + add sp, 0x10 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080ADAD4: .4byte gBattleAnimArgs + thumb_func_end sub_80ADAA4 + + thumb_func_start sub_80ADAD8 +sub_80ADAD8: @ 80ADAD8 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + lsls r0, 24 + lsrs r7, r0, 24 + ldr r1, _080ADB30 @ =gTasks + lsls r0, r7, 2 + adds r0, r7 + lsls r0, 3 + adds r2, r0, r1 + movs r3, 0x8 + ldrsh r0, [r2, r3] + mov r9, r1 + ldr r4, _080ADB34 @ =gBattleAnimArgs + mov r8, r4 + cmp r0, 0 + bne _080ADB0E + ldrh r0, [r4] + strh r0, [r2, 0xA] + ldrh r0, [r4, 0x2] + strh r0, [r2, 0xC] + ldrh r0, [r4, 0x4] + strh r0, [r2, 0xE] + ldrh r0, [r4, 0x6] + strh r0, [r2, 0x10] +_080ADB0E: + ldrh r0, [r2, 0x8] + adds r0, 0x1 + strh r0, [r2, 0x8] + ldr r1, _080ADB38 @ =gUnknown_2023D44 + ldr r0, _080ADB3C @ =gBattleAnimTarget + ldrb r0, [r0] + adds r0, r1 + ldrb r6, [r0] + movs r5, 0x10 + ldrsh r0, [r2, r5] + cmp r0, 0 + bne _080ADB44 + ldr r4, _080ADB40 @ =gUnknown_83E5EFC + movs r1, 0x8 + ldrsh r0, [r2, r1] + b _080ADB4A + .align 2, 0 +_080ADB30: .4byte gTasks +_080ADB34: .4byte gBattleAnimArgs +_080ADB38: .4byte gUnknown_2023D44 +_080ADB3C: .4byte gBattleAnimTarget +_080ADB40: .4byte gUnknown_83E5EFC +_080ADB44: + ldr r4, _080ADB90 @ =gUnknown_83E5F0C + movs r3, 0x8 + ldrsh r0, [r2, r3] +_080ADB4A: + movs r1, 0xA + bl __modsi3 + lsls r0, 16 + asrs r0, 16 + adds r0, r4 + ldrb r5, [r0] + lsls r0, r7, 2 + adds r1, r0, r7 + lsls r1, 3 + add r1, r9 + movs r4, 0xE + ldrsh r1, [r1, r4] + mov r12, r0 + cmp r1, 0x1 + bne _080ADB98 + ldr r2, _080ADB94 @ =gSprites + lsls r3, r6, 4 + adds r0, r3, r6 + lsls r0, 2 + adds r0, r2 + mov r10, r0 + mov r0, r8 + movs r4, 0x2 + ldrsh r1, [r0, r4] + lsls r0, r5, 24 + asrs r0, 24 + muls r0, r1 + cmp r0, 0 + bge _080ADB88 + negs r0, r0 +_080ADB88: + mov r5, r10 + strh r0, [r5, 0x26] + b _080ADBB2 + .align 2, 0 +_080ADB90: .4byte gUnknown_83E5F0C +_080ADB94: .4byte gSprites +_080ADB98: + ldr r3, _080ADBE8 @ =gSprites + lsls r4, r6, 4 + adds r2, r4, r6 + lsls r2, 2 + adds r2, r3 + lsls r0, r5, 24 + asrs r0, 24 + mov r5, r8 + ldrh r1, [r5, 0x2] + muls r0, r1 + strh r0, [r2, 0x24] + adds r2, r3, 0 + adds r3, r4, 0 +_080ADBB2: + mov r1, r12 + adds r0, r1, r7 + lsls r0, 3 + add r0, r9 + movs r4, 0x8 + ldrsh r1, [r0, r4] + movs r5, 0xA + ldrsh r0, [r0, r5] + cmp r1, r0 + bne _080ADBD8 + adds r0, r3, r6 + lsls r0, 2 + adds r0, r2 + movs r1, 0 + strh r1, [r0, 0x24] + strh r1, [r0, 0x26] + adds r0, r7, 0 + bl DestroyAnimVisualTask +_080ADBD8: + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080ADBE8: .4byte gSprites + thumb_func_end sub_80ADAD8 + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/water.s b/asm/water.s new file mode 100644 index 000000000..5518dd33e --- /dev/null +++ b/asm/water.s @@ -0,0 +1,3775 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start sub_80AABC0 +sub_80AABC0: @ 80AABC0 + push {r4-r6,lr} + lsls r0, 24 + lsrs r0, 24 + adds r6, r0, 0 + ldr r1, _080AAC48 @ =gTasks + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + adds r5, r0, r1 + movs r1, 0x8 + ldrsh r0, [r5, r1] + cmp r0, 0 + bne _080AABE8 + ldr r1, _080AAC4C @ =gBattleAnimArgs + ldrh r0, [r1] + strh r0, [r5, 0xA] + ldrh r0, [r1, 0x2] + strh r0, [r5, 0xC] + ldrh r0, [r1, 0x4] + strh r0, [r5, 0xE] +_080AABE8: + ldrh r0, [r5, 0x8] + adds r0, 0x1 + strh r0, [r5, 0x8] + movs r2, 0x8 + ldrsh r0, [r5, r2] + movs r2, 0xC + ldrsh r1, [r5, r2] + bl __modsi3 + cmp r0, 0x1 + bne _080AAC30 + bl Random + lsls r0, 16 + lsrs r0, 16 + movs r1, 0xF0 + bl __umodsi3 + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + bl Random + lsls r0, 16 + lsrs r0, 16 + movs r1, 0x50 + bl __umodsi3 + adds r2, r0, 0 + lsls r2, 24 + lsrs r2, 24 + ldr r0, _080AAC50 @ =gUnknown_83E5898 + adds r1, r4, 0 + movs r3, 0x4 + bl CreateSprite +_080AAC30: + movs r0, 0x8 + ldrsh r1, [r5, r0] + movs r2, 0xE + ldrsh r0, [r5, r2] + cmp r1, r0 + bne _080AAC42 + adds r0, r6, 0 + bl DestroyAnimVisualTask +_080AAC42: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080AAC48: .4byte gTasks +_080AAC4C: .4byte gBattleAnimArgs +_080AAC50: .4byte gUnknown_83E5898 + thumb_func_end sub_80AABC0 + + thumb_func_start sub_80AAC54 +sub_80AAC54: @ 80AAC54 + ldr r1, _080AAC5C @ =sub_80AAC60 + str r1, [r0, 0x1C] + bx lr + .align 2, 0 +_080AAC5C: .4byte sub_80AAC60 + thumb_func_end sub_80AAC54 + + thumb_func_start sub_80AAC60 +sub_80AAC60: @ 80AAC60 + push {lr} + adds r2, r0, 0 + ldrh r0, [r2, 0x2E] + adds r0, 0x1 + strh r0, [r2, 0x2E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xD + bgt _080AAC7E + ldrh r0, [r2, 0x24] + adds r0, 0x1 + strh r0, [r2, 0x24] + ldrh r0, [r2, 0x26] + adds r0, 0x4 + strh r0, [r2, 0x26] +_080AAC7E: + adds r0, r2, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x10 + ands r0, r1 + cmp r0, 0 + beq _080AAC92 + adds r0, r2, 0 + bl DestroySprite +_080AAC92: + pop {r0} + bx r0 + thumb_func_end sub_80AAC60 + + thumb_func_start sub_80AAC98 +sub_80AAC98: @ 80AAC98 + push {r4-r6,lr} + adds r6, r0, 0 + ldr r5, _080AACC0 @ =gBattleAnimAttacker + ldrb r0, [r5] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080AACC8 + ldrb r0, [r5] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldr r4, _080AACC4 @ =gBattleAnimArgs + ldrh r1, [r4] + subs r0, r1 + b _080AACDA + .align 2, 0 +_080AACC0: .4byte gBattleAnimAttacker +_080AACC4: .4byte gBattleAnimArgs +_080AACC8: + ldrb r0, [r5] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + ldr r4, _080AADA0 @ =gBattleAnimArgs + lsrs r0, 24 + ldrh r1, [r4] + adds r0, r1 +_080AACDA: + strh r0, [r6, 0x20] + ldrb r0, [r5] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r4, [r4, 0x2] + adds r0, r4 + strh r0, [r6, 0x22] + adds r2, r6, 0 + adds r2, 0x2C + ldrb r0, [r2] + movs r1, 0x40 + orrs r0, r1 + strb r0, [r2] + ldr r0, _080AADA4 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080AAD10 + ldr r1, _080AADA0 @ =gBattleAnimArgs + ldrh r0, [r1, 0x4] + negs r0, r0 + strh r0, [r1, 0x4] +_080AAD10: + ldr r5, _080AADA0 @ =gBattleAnimArgs + ldrh r0, [r5, 0xC] + strh r0, [r6, 0x2E] + ldrh r0, [r6, 0x20] + strh r0, [r6, 0x30] + ldr r4, _080AADA8 @ =gBattleAnimTarget + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r6, 0x32] + ldrh r0, [r6, 0x22] + strh r0, [r6, 0x34] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r6, 0x36] + adds r0, r6, 0 + bl obj_translate_based_on_private_1_2_3_4 + ldr r0, _080AADAC @ =SpriteCallbackDummy + bl CreateInvisibleSpriteWithCallback + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + strh r4, [r6, 0x38] + ldrb r0, [r5, 0x8] + movs r2, 0x4 + ldrsh r1, [r5, r2] + bl Sin + ldrh r1, [r6, 0x20] + subs r1, r0 + strh r1, [r6, 0x20] + ldrb r0, [r5, 0x8] + movs r2, 0x6 + ldrsh r1, [r5, r2] + bl Cos + ldrh r1, [r6, 0x22] + subs r1, r0 + strh r1, [r6, 0x22] + ldr r0, _080AADB0 @ =gSprites + lsls r1, r4, 4 + adds r1, r4 + lsls r1, 2 + adds r1, r0 + ldrh r0, [r5, 0x4] + strh r0, [r1, 0x2E] + ldrh r0, [r5, 0x6] + strh r0, [r1, 0x30] + ldrh r0, [r5, 0xA] + strh r0, [r1, 0x32] + ldrb r0, [r5, 0x8] + lsls r0, 8 + strh r0, [r1, 0x34] + ldrh r0, [r5, 0xC] + strh r0, [r1, 0x36] + ldr r1, _080AADB4 @ =sub_80AADB8 + str r1, [r6, 0x1C] + adds r0, r6, 0 + bl _call_via_r1 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080AADA0: .4byte gBattleAnimArgs +_080AADA4: .4byte gBattleAnimAttacker +_080AADA8: .4byte gBattleAnimTarget +_080AADAC: .4byte SpriteCallbackDummy +_080AADB0: .4byte gSprites +_080AADB4: .4byte sub_80AADB8 + thumb_func_end sub_80AAC98 + + thumb_func_start sub_80AADB8 +sub_80AADB8: @ 80AADB8 + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x4 + adds r5, r0, 0 + ldrh r1, [r5, 0x38] + lsls r1, 24 + lsrs r1, 24 + ldr r2, _080AAE20 @ =gSprites + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r7, r0, r2 + ldrh r4, [r7, 0x36] + lsls r4, 24 + lsrs r4, 24 + ldrh r0, [r7, 0x34] + mov r8, r0 + movs r0, 0x1 + strh r0, [r5, 0x2E] + adds r0, r5, 0 + bl sub_80755E0 + mov r1, r8 + lsrs r6, r1, 8 + movs r0, 0x2E + ldrsh r1, [r7, r0] + adds r0, r6, 0 + bl Sin + ldrh r1, [r5, 0x24] + adds r0, r1 + strh r0, [r5, 0x24] + movs r0, 0x30 + ldrsh r1, [r7, r0] + adds r0, r6, 0 + bl Cos + ldrh r1, [r5, 0x26] + adds r0, r1 + strh r0, [r5, 0x26] + ldrh r0, [r7, 0x32] + mov r1, r8 + adds r1, r0 + strh r1, [r7, 0x34] + subs r4, 0x1 + lsls r4, 24 + lsrs r4, 24 + cmp r4, 0 + beq _080AAE24 + strh r4, [r7, 0x36] + b _080AAE2E + .align 2, 0 +_080AAE20: .4byte gSprites +_080AAE24: + ldr r0, _080AAE3C @ =sub_80AAE40 + str r0, [r5, 0x1C] + adds r0, r7, 0 + bl DestroySprite +_080AAE2E: + add sp, 0x4 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080AAE3C: .4byte sub_80AAE40 + thumb_func_end sub_80AADB8 + + thumb_func_start sub_80AAE40 +sub_80AAE40: @ 80AAE40 + push {lr} + adds r3, r0, 0 + adds r3, 0x2C + ldrb r2, [r3] + movs r1, 0x41 + negs r1, r1 + ands r1, r2 + strb r1, [r3] + ldr r1, _080AAE60 @ =sub_8074F6C + str r1, [r0, 0x1C] + ldr r1, _080AAE64 @ =sub_80AAE68 + bl StoreSpriteCallbackInData6 + pop {r0} + bx r0 + .align 2, 0 +_080AAE60: .4byte sub_8074F6C +_080AAE64: .4byte sub_80AAE68 + thumb_func_end sub_80AAE40 + + thumb_func_start sub_80AAE68 +sub_80AAE68: @ 80AAE68 + push {lr} + movs r1, 0xA + strh r1, [r0, 0x2E] + ldr r1, _080AAE7C @ =sub_8074C44 + str r1, [r0, 0x1C] + ldr r1, _080AAE80 @ =move_anim_8074EE0 + bl StoreSpriteCallbackInData6 + pop {r0} + bx r0 + .align 2, 0 +_080AAE7C: .4byte sub_8074C44 +_080AAE80: .4byte move_anim_8074EE0 + thumb_func_end sub_80AAE68 + + thumb_func_start sub_80AAE84 +sub_80AAE84: @ 80AAE84 + push {r4-r7,lr} + adds r5, r0, 0 + movs r1, 0x1 + bl sub_8075160 + ldr r0, _080AAEAC @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080AAEB4 + ldr r1, _080AAEB0 @ =gBattleAnimArgs + ldrh r0, [r1, 0x4] + negs r0, r0 + lsls r0, 16 + lsrs r6, r0, 16 + adds r7, r1, 0 + b _080AAEBA + .align 2, 0 +_080AAEAC: .4byte gBattleAnimAttacker +_080AAEB0: .4byte gBattleAnimArgs +_080AAEB4: + ldr r0, _080AAF10 @ =gBattleAnimArgs + ldrh r6, [r0, 0x4] + adds r7, r0, 0 +_080AAEBA: + ldrh r0, [r7, 0x8] + strh r0, [r5, 0x2E] + ldrh r0, [r5, 0x20] + strh r0, [r5, 0x30] + ldr r4, _080AAF14 @ =gBattleAnimTarget + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + adds r0, r6 + strh r0, [r5, 0x32] + ldrh r0, [r5, 0x22] + strh r0, [r5, 0x34] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r7, [r7, 0x6] + adds r0, r7 + strh r0, [r5, 0x36] + adds r0, r5, 0 + bl obj_translate_based_on_private_1_2_3_4 + ldr r0, _080AAF18 @ =sub_80AAF1C + str r0, [r5, 0x1C] + adds r2, r5, 0 + adds r2, 0x2C + ldrb r0, [r2] + movs r1, 0x80 + orrs r0, r1 + strb r0, [r2] + ldr r1, [r5, 0x1C] + adds r0, r5, 0 + bl _call_via_r1 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080AAF10: .4byte gBattleAnimArgs +_080AAF14: .4byte gBattleAnimTarget +_080AAF18: .4byte sub_80AAF1C + thumb_func_end sub_80AAE84 + + thumb_func_start sub_80AAF1C +sub_80AAF1C: @ 80AAF1C + push {r4,lr} + adds r4, r0, 0 + ldr r0, _080AAF58 @ =gBattleAnimArgs + ldrh r1, [r0, 0xE] + ldr r0, _080AAF5C @ =0x0000ffff + cmp r1, r0 + bne _080AAF3E + adds r0, r4, 0 + movs r1, 0x1 + bl StartSpriteAnim + adds r2, r4, 0 + adds r2, 0x2C + ldrb r1, [r2] + movs r0, 0x7F + ands r0, r1 + strb r0, [r2] +_080AAF3E: + adds r0, r4, 0 + bl sub_80755E0 + lsls r0, 24 + cmp r0, 0 + beq _080AAF50 + adds r0, r4, 0 + bl DestroyAnimSprite +_080AAF50: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080AAF58: .4byte gBattleAnimArgs +_080AAF5C: .4byte 0x0000ffff + thumb_func_end sub_80AAF1C + + thumb_func_start sub_80AAF60 +sub_80AAF60: @ 80AAF60 + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + ldr r1, _080AAF94 @ =gTasks + lsls r4, r0, 2 + adds r4, r0 + lsls r4, 3 + adds r4, r1 + ldr r0, _080AAF98 @ =gBattleAnimArgs + ldrh r0, [r0] + strh r0, [r4, 0x8] + ldr r0, _080AAF9C @ =0x0000279c + bl IndexOfSpritePaletteTag + lsls r0, 24 + lsrs r0, 20 + movs r1, 0x80 + lsls r1, 1 + adds r0, r1 + strh r0, [r4, 0xC] + ldr r0, _080AAFA0 @ =sub_80AAFA4 + str r0, [r4] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080AAF94: .4byte gTasks +_080AAF98: .4byte gBattleAnimArgs +_080AAF9C: .4byte 0x0000279c +_080AAFA0: .4byte sub_80AAFA4 + thumb_func_end sub_80AAF60 + + thumb_func_start sub_80AAFA4 +sub_80AAFA4: @ 80AAFA4 + push {r4-r7,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r1, _080AB01C @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r2, r0, r1 + ldrh r0, [r2, 0x1C] + adds r0, 0x1 + strh r0, [r2, 0x1C] + lsls r0, 16 + asrs r0, 16 + mov r12, r1 + cmp r0, 0x3 + bne _080AAFF6 + movs r0, 0 + strh r0, [r2, 0x1C] + ldrh r0, [r2, 0xC] + adds r0, 0x1 + lsls r0, 16 + lsrs r5, r0, 16 + ldr r1, _080AB020 @ =gPlttBufferFaded + lsls r0, r5, 1 + adds r0, r1 + ldrh r6, [r0] + adds r7, r1, 0 + adds r3, r0, 0x2 + movs r1, 0x6 + adds r2, r0, 0 +_080AAFE0: + ldrh r0, [r3] + strh r0, [r2] + adds r3, 0x2 + adds r2, 0x2 + subs r1, 0x1 + cmp r1, 0 + bge _080AAFE0 + adds r0, r5, 0x7 + lsls r0, 1 + adds r0, r7 + strh r6, [r0] +_080AAFF6: + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + add r0, r12 + ldrh r1, [r0, 0x1E] + adds r1, 0x1 + strh r1, [r0, 0x1E] + lsls r1, 16 + asrs r1, 16 + movs r2, 0x8 + ldrsh r0, [r0, r2] + cmp r1, r0 + bne _080AB016 + adds r0, r4, 0 + bl DestroyAnimVisualTask +_080AB016: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080AB01C: .4byte gTasks +_080AB020: .4byte gPlttBufferFaded + thumb_func_end sub_80AAFA4 + + thumb_func_start sub_80AB024 +sub_80AB024: @ 80AB024 + push {r4,r5,lr} + adds r5, r0, 0 + movs r1, 0x1 + bl sub_8075160 + movs r0, 0x1E + strh r0, [r5, 0x2E] + ldrh r0, [r5, 0x20] + strh r0, [r5, 0x30] + ldr r4, _080AB08C @ =gBattleAnimTarget + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x32] + ldrh r0, [r5, 0x22] + strh r0, [r5, 0x34] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x36] + adds r0, r5, 0 + bl obj_translate_based_on_private_1_2_3_4 + movs r0, 0x2E + ldrsh r1, [r5, r0] + movs r0, 0xD2 + lsls r0, 8 + bl __divsi3 + strh r0, [r5, 0x38] + ldr r0, _080AB090 @ =gBattleAnimArgs + ldrh r2, [r0, 0x6] + strh r2, [r5, 0x3C] + ldrh r1, [r0, 0xE] + movs r3, 0xE + ldrsh r0, [r0, r3] + cmp r0, 0x7F + ble _080AB094 + adds r0, r1, 0 + subs r0, 0x7F + lsls r0, 8 + strh r0, [r5, 0x3A] + negs r0, r2 + strh r0, [r5, 0x3C] + b _080AB098 + .align 2, 0 +_080AB08C: .4byte gBattleAnimTarget +_080AB090: .4byte gBattleAnimArgs +_080AB094: + lsls r0, r1, 8 + strh r0, [r5, 0x3A] +_080AB098: + ldr r1, _080AB0A8 @ =sub_80AB0AC + str r1, [r5, 0x1C] + adds r0, r5, 0 + bl _call_via_r1 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080AB0A8: .4byte sub_80AB0AC + thumb_func_end sub_80AB024 + + thumb_func_start sub_80AB0AC +sub_80AB0AC: @ 80AB0AC + push {r4,lr} + adds r4, r0, 0 + bl sub_80755E0 + lsls r0, 24 + cmp r0, 0 + beq _080AB0C0 + adds r0, r4, 0 + bl DestroyAnimSprite +_080AB0C0: + ldrh r0, [r4, 0x3A] + lsls r0, 16 + asrs r0, 24 + movs r2, 0x3C + ldrsh r1, [r4, r2] + bl Sin + ldrh r1, [r4, 0x26] + adds r0, r1 + strh r0, [r4, 0x26] + movs r2, 0x3A + ldrsh r0, [r4, r2] + movs r2, 0x38 + ldrsh r1, [r4, r2] + adds r0, r1 + asrs r0, 8 + cmp r0, 0x7F + ble _080AB0F0 + movs r0, 0 + strh r0, [r4, 0x3A] + ldrh r0, [r4, 0x3C] + negs r0, r0 + strh r0, [r4, 0x3C] + b _080AB0F8 +_080AB0F0: + ldrh r0, [r4, 0x38] + ldrh r1, [r4, 0x3A] + adds r0, r1 + strh r0, [r4, 0x3A] +_080AB0F8: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80AB0AC + + thumb_func_start sub_80AB100 +sub_80AB100: @ 80AB100 + lsls r0, 24 + lsrs r0, 24 + ldr r2, _080AB120 @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + ldr r3, _080AB124 @ =gBattleAnimArgs + ldrh r0, [r3] + movs r2, 0 + strh r0, [r1, 0x8] + strh r2, [r3, 0xE] + ldr r0, _080AB128 @ =sub_80AB12C + str r0, [r1] + bx lr + .align 2, 0 +_080AB120: .4byte gTasks +_080AB124: .4byte gBattleAnimArgs +_080AB128: .4byte sub_80AB12C + thumb_func_end sub_80AB100 + + thumb_func_start sub_80AB12C +sub_80AB12C: @ 80AB12C + push {lr} + lsls r0, 24 + lsrs r3, r0, 24 + ldr r2, _080AB160 @ =gBattleAnimArgs + ldrh r0, [r2, 0xE] + adds r0, 0x3 + movs r1, 0xFF + ands r0, r1 + strh r0, [r2, 0xE] + ldr r1, _080AB164 @ =gTasks + lsls r0, r3, 2 + adds r0, r3 + lsls r0, 3 + adds r0, r1 + ldrh r1, [r0, 0x8] + subs r1, 0x1 + strh r1, [r0, 0x8] + lsls r1, 16 + cmp r1, 0 + bne _080AB15A + adds r0, r3, 0 + bl DestroyAnimVisualTask +_080AB15A: + pop {r0} + bx r0 + .align 2, 0 +_080AB160: .4byte gBattleAnimArgs +_080AB164: .4byte gTasks + thumb_func_end sub_80AB12C + + thumb_func_start sub_80AB168 +sub_80AB168: @ 80AB168 + push {r4-r7,lr} + adds r4, r0, 0 + ldr r7, _080AB1B4 @ =gBattleAnimAttacker + ldrb r0, [r7] + movs r1, 0 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x20] + ldrb r0, [r7] + movs r1, 0x1 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x22] + ldr r6, _080AB1B8 @ =0x0000fff6 + strh r6, [r4, 0x26] + ldrb r0, [r7] + bl sub_807685C + lsls r0, 24 + lsrs r5, r0, 24 + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080AB1C2 + ldrb r0, [r7] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _080AB1BC + movs r0, 0xA + strh r0, [r4, 0x24] + b _080AB1C4 + .align 2, 0 +_080AB1B4: .4byte gBattleAnimAttacker +_080AB1B8: .4byte 0x0000fff6 +_080AB1BC: + strh r6, [r4, 0x24] + subs r0, r5, 0x2 + b _080AB1C6 +_080AB1C2: + strh r6, [r4, 0x24] +_080AB1C4: + adds r0, r5, 0x2 +_080AB1C6: + adds r1, r4, 0 + adds r1, 0x43 + strb r0, [r1] + ldr r0, _080AB1D8 @ =sub_80AB1DC + str r0, [r4, 0x1C] + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080AB1D8: .4byte sub_80AB1DC + thumb_func_end sub_80AB168 + + thumb_func_start sub_80AB1DC +sub_80AB1DC: @ 80AB1DC + push {lr} + adds r2, r0, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x20 + ands r0, r1 + cmp r0, 0 + beq _080AB1F2 + adds r0, r2, 0 + bl DestroyAnimSprite +_080AB1F2: + pop {r0} + bx r0 + thumb_func_end sub_80AB1DC + + thumb_func_start sub_80AB1F8 +sub_80AB1F8: @ 80AB1F8 + push {r4-r7,lr} + adds r6, r0, 0 + ldr r5, _080AB2B8 @ =gBattleAnimAttacker + ldrb r0, [r5] + bl GetBattlerSide + adds r4, r0, 0 + ldr r0, _080AB2BC @ =gBattleAnimTarget + ldrb r0, [r0] + bl GetBattlerSide + lsls r4, 24 + lsls r0, 24 + cmp r4, r0 + bne _080AB242 + ldr r4, _080AB2C0 @ =gBattleAnimArgs + movs r1, 0 + ldrsh r0, [r4, r1] + negs r0, r0 + strh r0, [r4] + ldrb r0, [r5] + bl GetBattlerPosition + lsls r0, 24 + cmp r0, 0 + beq _080AB23A + ldrb r0, [r5] + bl GetBattlerPosition + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080AB242 +_080AB23A: + movs r1, 0 + ldrsh r0, [r4, r1] + negs r0, r0 + strh r0, [r4] +_080AB242: + ldr r5, _080AB2C0 @ =gBattleAnimArgs + movs r1, 0xA + ldrsh r0, [r5, r1] + movs r1, 0xFF + lsls r1, 8 + ands r0, r1 + movs r1, 0 + cmp r0, 0 + bne _080AB256 + movs r1, 0x1 +_080AB256: + ldrb r0, [r5, 0xA] + movs r7, 0x1 + cmp r0, 0 + bne _080AB260 + movs r7, 0x3 +_080AB260: + adds r0, r6, 0 + bl sub_8075160 + ldr r0, _080AB2B8 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080AB27A + ldrh r0, [r5, 0x4] + negs r0, r0 + strh r0, [r5, 0x4] +_080AB27A: + ldrh r0, [r5, 0x8] + strh r0, [r6, 0x2E] + ldr r4, _080AB2BC @ =gBattleAnimTarget + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r1, [r5, 0x4] + adds r0, r1 + strh r0, [r6, 0x32] + ldrb r0, [r4] + adds r1, r7, 0 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r5, [r5, 0x6] + adds r0, r5 + strh r0, [r6, 0x36] + ldr r0, _080AB2C4 @ =sub_8075590 + str r0, [r6, 0x1C] + ldr r1, _080AB2C8 @ =DestroyAnimSprite + adds r0, r6, 0 + bl StoreSpriteCallbackInData6 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080AB2B8: .4byte gBattleAnimAttacker +_080AB2BC: .4byte gBattleAnimTarget +_080AB2C0: .4byte gBattleAnimArgs +_080AB2C4: .4byte sub_8075590 +_080AB2C8: .4byte DestroyAnimSprite + thumb_func_end sub_80AB1F8 + + thumb_func_start sub_80AB2CC +sub_80AB2CC: @ 80AB2CC + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x1 + bl sub_8075114 + ldr r0, _080AB2FC @ =gBattleAnimArgs + ldrh r1, [r0, 0x8] + strh r1, [r4, 0x2E] + ldrh r0, [r0, 0x4] + ldrh r2, [r4, 0x20] + adds r0, r2 + strh r0, [r4, 0x32] + ldrh r0, [r4, 0x22] + adds r1, r0 + strh r1, [r4, 0x36] + ldr r0, _080AB300 @ =sub_8075590 + str r0, [r4, 0x1C] + ldr r1, _080AB304 @ =DestroyAnimSprite + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080AB2FC: .4byte gBattleAnimArgs +_080AB300: .4byte sub_8075590 +_080AB304: .4byte DestroyAnimSprite + thumb_func_end sub_80AB2CC + + thumb_func_start sub_80AB308 +sub_80AB308: @ 80AB308 + push {r4,lr} + adds r4, r0, 0 + ldr r0, _080AB320 @ =gBattleAnimArgs + movs r1, 0x6 + ldrsh r0, [r0, r1] + cmp r0, 0 + beq _080AB324 + adds r0, r4, 0 + movs r1, 0x1 + bl sub_8075114 + b _080AB32C + .align 2, 0 +_080AB320: .4byte gBattleAnimArgs +_080AB324: + adds r0, r4, 0 + movs r1, 0x1 + bl sub_8075160 +_080AB32C: + ldr r0, _080AB33C @ =gBattleAnimArgs + ldrh r0, [r0, 0x4] + strh r0, [r4, 0x3C] + ldr r0, _080AB340 @ =sub_80AB344 + str r0, [r4, 0x1C] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080AB33C: .4byte gBattleAnimArgs +_080AB340: .4byte sub_80AB344 + thumb_func_end sub_80AB308 + + thumb_func_start sub_80AB344 +sub_80AB344: @ 80AB344 + push {r4,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x2E] + adds r0, 0xB + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0x2E] + movs r1, 0x2E + ldrsh r0, [r4, r1] + movs r1, 0x4 + bl Sin + strh r0, [r4, 0x24] + ldrh r0, [r4, 0x30] + adds r0, 0x30 + strh r0, [r4, 0x30] + lsls r0, 16 + asrs r0, 24 + negs r0, r0 + strh r0, [r4, 0x26] + ldrh r0, [r4, 0x3C] + subs r0, 0x1 + strh r0, [r4, 0x3C] + lsls r0, 16 + asrs r0, 16 + movs r1, 0x1 + negs r1, r1 + cmp r0, r1 + bne _080AB384 + adds r0, r4, 0 + bl DestroyAnimSprite +_080AB384: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80AB344 + + thumb_func_start sub_80AB38C +sub_80AB38C: @ 80AB38C + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x10 + lsls r0, 24 + lsrs r0, 24 + mov r10, r0 + ldr r1, _080AB3FC @ =0x00003f42 + movs r0, 0x50 + bl SetGpuReg + movs r1, 0x80 + lsls r1, 5 + movs r0, 0x52 + bl SetGpuReg + movs r0, 0x1 + movs r1, 0x4 + movs r2, 0x1 + bl SetAnimBgAttribute + movs r0, 0x1 + movs r1, 0 + movs r2, 0x1 + bl SetAnimBgAttribute + mov r0, sp + bl sub_80752A0 + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080AB418 + movs r0, 0x1 + movs r1, 0x3 + movs r2, 0x1 + bl SetAnimBgAttribute + ldr r0, _080AB400 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080AB408 + mov r0, sp + ldrb r0, [r0, 0x9] + ldr r1, _080AB404 @ =gFile_graphics_unknown_unknown_E81D14_tilemap + bl sub_807543C + b _080AB42E + .align 2, 0 +_080AB3FC: .4byte 0x00003f42 +_080AB400: .4byte gBattleAnimAttacker +_080AB404: .4byte gFile_graphics_unknown_unknown_E81D14_tilemap +_080AB408: + mov r0, sp + ldrb r0, [r0, 0x9] + ldr r1, _080AB414 @ =gFile_graphics_unknown_unknown_E81FE4_tilemap + bl sub_807543C + b _080AB42E + .align 2, 0 +_080AB414: .4byte gFile_graphics_unknown_unknown_E81FE4_tilemap +_080AB418: + ldr r0, _080AB458 @ =gFile_graphics_unknown_unknown_E822B8_tilemap + ldr r1, [sp, 0x4] + bl LZDecompressVram + mov r0, sp + ldrb r0, [r0, 0x8] + ldr r1, [sp, 0x4] + movs r2, 0 + movs r3, 0x1 + bl sub_80730C0 +_080AB42E: + mov r0, sp + ldrb r0, [r0, 0x9] + ldr r1, _080AB45C @ =gFile_graphics_battle_anims_backgrounds_water_sheet + mov r2, sp + ldrh r2, [r2, 0xA] + bl sub_80753B4 + ldr r0, _080AB460 @ =gBattleAnimArgs + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _080AB468 + ldr r0, _080AB464 @ =gFile_graphics_battle_anims_backgrounds_water_palette + mov r1, sp + ldrb r1, [r1, 0x8] + lsls r1, 4 + movs r2, 0x20 + bl LoadCompressedPalette + b _080AB476 + .align 2, 0 +_080AB458: .4byte gFile_graphics_unknown_unknown_E822B8_tilemap +_080AB45C: .4byte gFile_graphics_battle_anims_backgrounds_water_sheet +_080AB460: .4byte gBattleAnimArgs +_080AB464: .4byte gFile_graphics_battle_anims_backgrounds_water_palette +_080AB468: + ldr r0, _080AB4E0 @ =gFile_graphics_battle_anims_backgrounds_water_muddy_palette + mov r1, sp + ldrb r1, [r1, 0x8] + lsls r1, 4 + movs r2, 0x20 + bl LoadCompressedPalette +_080AB476: + ldr r0, _080AB4E4 @ =sub_80AB79C + ldr r4, _080AB4E8 @ =gTasks + mov r2, r10 + lsls r5, r2, 2 + adds r1, r5, r2 + lsls r1, 3 + adds r6, r1, r4 + ldrb r1, [r6, 0x7] + adds r1, 0x1 + lsls r1, 24 + lsrs r1, 24 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + movs r0, 0 + mov r9, r0 + mov r1, r8 + strh r1, [r6, 0x26] + mov r2, r8 + lsls r0, r2, 2 + add r0, r8 + lsls r0, 3 + adds r7, r0, r4 + mov r0, r9 + strh r0, [r7, 0x8] + movs r0, 0x80 + lsls r0, 5 + strh r0, [r7, 0xA] + strh r0, [r7, 0xC] + bl sub_8073788 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0 + beq _080AB4F8 + ldr r1, _080AB4EC @ =0x0000ffb0 + adds r0, r1, 0 + ldr r2, _080AB4F0 @ =gBattle_BG1_X + strh r0, [r2] + adds r1, 0x20 + adds r0, r1, 0 + ldr r2, _080AB4F4 @ =gBattle_BG1_Y + strh r0, [r2] + movs r0, 0x2 + strh r0, [r6, 0x8] + movs r0, 0x1 + strh r0, [r6, 0xA] + mov r0, r9 + strh r0, [r7, 0xE] + b _080AB552 + .align 2, 0 +_080AB4E0: .4byte gFile_graphics_battle_anims_backgrounds_water_muddy_palette +_080AB4E4: .4byte sub_80AB79C +_080AB4E8: .4byte gTasks +_080AB4EC: .4byte 0x0000ffb0 +_080AB4F0: .4byte gBattle_BG1_X +_080AB4F4: .4byte gBattle_BG1_Y +_080AB4F8: + ldr r0, _080AB528 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + lsrs r1, r0, 24 + cmp r1, 0x1 + bne _080AB53C + ldr r2, _080AB52C @ =0x0000ff20 + adds r0, r2, 0 + ldr r2, _080AB530 @ =gBattle_BG1_X + strh r0, [r2] + movs r2, 0x80 + lsls r2, 1 + adds r0, r2, 0 + ldr r2, _080AB534 @ =gBattle_BG1_Y + strh r0, [r2] + movs r0, 0x2 + strh r0, [r6, 0x8] + ldr r0, _080AB538 @ =0x0000ffff + strh r0, [r6, 0xA] + strh r1, [r7, 0xE] + b _080AB552 + .align 2, 0 +_080AB528: .4byte gBattleAnimAttacker +_080AB52C: .4byte 0x0000ff20 +_080AB530: .4byte gBattle_BG1_X +_080AB534: .4byte gBattle_BG1_Y +_080AB538: .4byte 0x0000ffff +_080AB53C: + ldr r0, _080AB584 @ =gBattle_BG1_X + strh r4, [r0] + ldr r1, _080AB588 @ =0x0000ffd0 + adds r0, r1, 0 + ldr r2, _080AB58C @ =gBattle_BG1_Y + strh r0, [r2] + ldr r0, _080AB590 @ =0x0000fffe + strh r0, [r6, 0x8] + movs r0, 0x1 + strh r0, [r6, 0xA] + strh r4, [r7, 0xE] +_080AB552: + ldr r0, _080AB584 @ =gBattle_BG1_X + ldrh r1, [r0] + movs r0, 0x14 + bl SetGpuReg + ldr r2, _080AB58C @ =gBattle_BG1_Y + ldrh r1, [r2] + movs r0, 0x16 + bl SetGpuReg + ldr r1, _080AB594 @ =gTasks + mov r2, r8 + lsls r0, r2, 2 + add r0, r8 + lsls r0, 3 + adds r1, r0, r1 + movs r2, 0xE + ldrsh r0, [r1, r2] + cmp r0, 0 + bne _080AB598 + movs r0, 0x30 + strh r0, [r1, 0x10] + movs r0, 0x70 + b _080AB59C + .align 2, 0 +_080AB584: .4byte gBattle_BG1_X +_080AB588: .4byte 0x0000ffd0 +_080AB58C: .4byte gBattle_BG1_Y +_080AB590: .4byte 0x0000fffe +_080AB594: .4byte gTasks +_080AB598: + movs r0, 0 + strh r0, [r1, 0x10] +_080AB59C: + strh r0, [r1, 0x12] + ldr r1, _080AB5C0 @ =gTasks + mov r2, r10 + adds r0, r5, r2 + lsls r0, 3 + adds r0, r1 + movs r1, 0x1 + strh r1, [r0, 0x14] + ldr r1, _080AB5C4 @ =sub_80AB5C8 + str r1, [r0] + add sp, 0x10 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080AB5C0: .4byte gTasks +_080AB5C4: .4byte sub_80AB5C8 + thumb_func_end sub_80AB38C + + thumb_func_start sub_80AB5C8 +sub_80AB5C8: @ 80AB5C8 + push {r4-r7,lr} + sub sp, 0x10 + lsls r0, 24 + lsrs r5, r0, 24 + ldr r1, _080AB6F4 @ =gBattle_BG1_X + ldr r2, _080AB6F8 @ =gBattle_BG1_Y + ldr r0, _080AB6FC @ =gTasks + lsls r4, r5, 2 + adds r4, r5 + lsls r4, 3 + adds r4, r0 + ldrh r0, [r4, 0x8] + ldrh r3, [r1] + adds r0, r3 + strh r0, [r1] + ldrh r0, [r4, 0xA] + ldrh r1, [r2] + adds r0, r1 + strh r0, [r2] + mov r0, sp + bl sub_80752A0 + ldrh r0, [r4, 0xA] + ldrh r3, [r4, 0xC] + adds r0, r3 + strh r0, [r4, 0xC] + ldrh r0, [r4, 0x12] + adds r0, 0x1 + strh r0, [r4, 0x12] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x4 + bne _080AB65C + ldr r1, _080AB700 @ =gPlttBufferFaded + mov r0, sp + ldrb r0, [r0, 0x8] + lsls r0, 4 + adds r0, 0x7 + lsls r0, 1 + adds r0, r1 + ldrh r6, [r0] + movs r2, 0x6 + adds r7, r1, 0 + adds r3, r7, 0 + mov r4, sp +_080AB622: + ldrb r0, [r4, 0x8] + lsls r0, 4 + adds r1, r2, 0x1 + adds r0, r1 + lsls r1, r0, 1 + adds r1, r3 + subs r0, 0x1 + lsls r0, 1 + adds r0, r3 + ldrh r0, [r0] + strh r0, [r1] + subs r0, r2, 0x1 + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0 + bne _080AB622 + mov r0, sp + ldrb r0, [r0, 0x8] + lsls r0, 4 + adds r0, 0x1 + lsls r0, 1 + adds r0, r7 + strh r6, [r0] + ldr r1, _080AB6FC @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r0, r1 + strh r2, [r0, 0x12] +_080AB65C: + ldr r1, _080AB6FC @ =gTasks + lsls r2, r5, 2 + adds r0, r2, r5 + lsls r0, 3 + adds r3, r0, r1 + ldrh r0, [r3, 0x14] + adds r0, 0x1 + strh r0, [r3, 0x14] + lsls r0, 16 + asrs r0, 16 + adds r4, r1, 0 + adds r6, r2, 0 + cmp r0, 0x1 + ble _080AB6CA + movs r0, 0 + strh r0, [r3, 0x14] + ldrh r0, [r3, 0xE] + adds r2, r0, 0x1 + strh r2, [r3, 0xE] + lsls r0, r2, 16 + asrs r0, 16 + cmp r0, 0xD + bgt _080AB6A6 + movs r1, 0x26 + ldrsh r0, [r3, r1] + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r4 + movs r0, 0x10 + subs r0, r2 + lsls r0, 8 + orrs r2, r0 + strh r2, [r1, 0xA] + ldrh r0, [r3, 0x10] + adds r0, 0x1 + strh r0, [r3, 0x10] +_080AB6A6: + movs r1, 0xE + ldrsh r0, [r3, r1] + cmp r0, 0x36 + ble _080AB6CA + ldrh r2, [r3, 0x10] + subs r2, 0x1 + strh r2, [r3, 0x10] + movs r1, 0x26 + ldrsh r0, [r3, r1] + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r4 + movs r0, 0x10 + subs r0, r2 + lsls r0, 8 + orrs r2, r0 + strh r2, [r1, 0xA] +_080AB6CA: + adds r0, r6, r5 + lsls r0, 3 + adds r2, r0, r4 + movs r3, 0x26 + ldrsh r1, [r2, r3] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r4 + ldrh r0, [r0, 0xA] + movs r3, 0x1F + ands r3, r0 + cmp r3, 0 + bne _080AB6EC + strh r3, [r2, 0x8] + ldr r0, _080AB704 @ =sub_80AB708 + str r0, [r2] +_080AB6EC: + add sp, 0x10 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080AB6F4: .4byte gBattle_BG1_X +_080AB6F8: .4byte gBattle_BG1_Y +_080AB6FC: .4byte gTasks +_080AB700: .4byte gPlttBufferFaded +_080AB704: .4byte sub_80AB708 + thumb_func_end sub_80AB5C8 + + thumb_func_start sub_80AB708 +sub_80AB708: @ 80AB708 + push {r4-r7,lr} + mov r7, r8 + push {r7} + lsls r0, 24 + lsrs r0, 24 + adds r5, r0, 0 + ldr r7, _080AB740 @ =gBattle_BG1_X + ldr r0, _080AB744 @ =gBattle_BG1_Y + mov r8, r0 + ldr r6, _080AB748 @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r4, r0, r6 + movs r1, 0x8 + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080AB74C + movs r0, 0x1 + bl sub_8075358 + movs r0, 0x2 + bl sub_8075358 + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] + b _080AB78E + .align 2, 0 +_080AB740: .4byte gBattle_BG1_X +_080AB744: .4byte gBattle_BG1_Y +_080AB748: .4byte gTasks +_080AB74C: + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080AB760 + movs r0, 0x1 + movs r1, 0x3 + movs r2, 0 + bl SetAnimBgAttribute +_080AB760: + movs r0, 0 + strh r0, [r7] + mov r1, r8 + strh r0, [r1] + movs r0, 0x50 + movs r1, 0 + bl SetGpuReg + movs r0, 0x52 + movs r1, 0 + bl SetGpuReg + movs r0, 0x26 + ldrsh r1, [r4, r0] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r6 + ldr r1, _080AB798 @ =0x0000ffff + strh r1, [r0, 0x26] + adds r0, r5, 0 + bl DestroyAnimVisualTask +_080AB78E: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080AB798: .4byte 0x0000ffff + thumb_func_end sub_80AB708 + + thumb_func_start sub_80AB79C +sub_80AB79C: @ 80AB79C + push {r4-r7,lr} + sub sp, 0xC + lsls r0, 24 + lsrs r7, r0, 24 + lsls r0, r7, 2 + adds r0, r7 + lsls r0, 3 + ldr r1, _080AB7C4 @ =gTasks + adds r4, r0, r1 + movs r1, 0x8 + ldrsh r0, [r4, r1] + cmp r0, 0x1 + bne _080AB7B8 + b _080AB8F0 +_080AB7B8: + cmp r0, 0x1 + bgt _080AB7C8 + cmp r0, 0 + beq _080AB7D0 + b _080ABA66 + .align 2, 0 +_080AB7C4: .4byte gTasks +_080AB7C8: + cmp r0, 0x2 + bne _080AB7CE + b _080AB9BC +_080AB7CE: + b _080ABA66 +_080AB7D0: + movs r3, 0 + movs r2, 0x10 + ldrsh r0, [r4, r2] + ldr r1, _080AB8A0 @ =gScanlineEffectRegBuffers + mov r12, r1 + cmp r3, r0 + bge _080AB80E + mov r7, r12 + movs r5, 0xF0 + lsls r5, 3 + add r5, r12 + ldr r6, _080AB8A4 @ =0x0000ffff +_080AB7E8: + lsls r2, r3, 16 + asrs r2, 16 + lsls r1, r2, 1 + adds r3, r1, r7 + adds r1, r5 + ldrh r0, [r4, 0xC] + strh r0, [r1] + ldrh r1, [r4, 0xC] + adds r0, r6, 0 + ands r0, r1 + strh r0, [r3] + adds r2, 0x1 + lsls r2, 16 + lsrs r3, r2, 16 + asrs r2, 16 + movs r1, 0x10 + ldrsh r0, [r4, r1] + cmp r2, r0 + blt _080AB7E8 +_080AB80E: + ldrh r3, [r4, 0x10] + lsls r2, r3, 16 + asrs r1, r2, 16 + movs r3, 0x12 + ldrsh r0, [r4, r3] + cmp r1, r0 + bge _080AB848 + ldr r5, _080AB8A0 @ =gScanlineEffectRegBuffers + movs r0, 0xF0 + lsls r0, 3 + adds r6, r5, r0 + ldr r7, _080AB8A4 @ =0x0000ffff +_080AB826: + asrs r2, 16 + lsls r1, r2, 1 + adds r3, r1, r5 + adds r1, r6 + ldrh r0, [r4, 0xA] + strh r0, [r1] + ldrh r1, [r4, 0xA] + adds r0, r7, 0 + ands r0, r1 + strh r0, [r3] + adds r2, 0x1 + lsls r2, 16 + asrs r1, r2, 16 + movs r3, 0x12 + ldrsh r0, [r4, r3] + cmp r1, r0 + blt _080AB826 +_080AB848: + ldrh r3, [r4, 0x12] + lsls r2, r3, 16 + asrs r0, r2, 16 + cmp r0, 0x9F + bgt _080AB87E + ldr r5, _080AB8A0 @ =gScanlineEffectRegBuffers + movs r0, 0xF0 + lsls r0, 3 + adds r6, r5, r0 + ldr r7, _080AB8A4 @ =0x0000ffff +_080AB85C: + asrs r2, 16 + lsls r1, r2, 1 + adds r3, r1, r5 + adds r1, r6 + ldrh r0, [r4, 0xC] + strh r0, [r1] + ldrh r1, [r4, 0xC] + adds r0, r7, 0 + ands r0, r1 + strh r0, [r3] + adds r2, 0x1 + lsls r2, 16 + lsrs r3, r2, 16 + lsls r2, r3, 16 + asrs r0, r2, 16 + cmp r0, 0x9F + ble _080AB85C +_080AB87E: + movs r1, 0x10 + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080AB8A8 + lsls r0, r3, 16 + asrs r0, 15 + mov r3, r12 + adds r2, r0, r3 + movs r1, 0xF0 + lsls r1, 3 + add r1, r12 + adds r0, r1 + ldrh r1, [r4, 0xA] + strh r1, [r0] + ldrh r0, [r4, 0xA] + b _080AB8BE + .align 2, 0 +_080AB8A0: .4byte gScanlineEffectRegBuffers +_080AB8A4: .4byte 0x0000ffff +_080AB8A8: + lsls r0, r3, 16 + asrs r0, 15 + mov r1, r12 + adds r2, r0, r1 + movs r1, 0xF0 + lsls r1, 3 + add r1, r12 + adds r0, r1 + ldrh r1, [r4, 0xC] + strh r1, [r0] + ldrh r0, [r4, 0xC] +_080AB8BE: + strh r0, [r2] + ldr r0, _080AB8E8 @ =0x04000052 + str r0, [sp] + ldr r0, _080AB8EC @ =0xa2600001 + str r0, [sp, 0x4] + mov r1, sp + movs r2, 0 + movs r0, 0x1 + strb r0, [r1, 0x8] + mov r0, sp + strb r2, [r0, 0x9] + ldr r0, [sp] + ldr r1, [sp, 0x4] + ldr r2, [sp, 0x8] + bl ScanlineEffect_SetParams + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] + b _080ABA66 + .align 2, 0 +_080AB8E8: .4byte 0x04000052 +_080AB8EC: .4byte 0xa2600001 +_080AB8F0: + movs r2, 0xE + ldrsh r1, [r4, r2] + cmp r1, 0 + bne _080AB908 + ldrh r0, [r4, 0x10] + subs r0, 0x1 + strh r0, [r4, 0x10] + lsls r0, 16 + cmp r0, 0 + bgt _080AB91C + strh r1, [r4, 0x10] + b _080AB916 +_080AB908: + ldrh r0, [r4, 0x12] + adds r0, 0x1 + strh r0, [r4, 0x12] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x6F + ble _080AB91C +_080AB916: + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] +_080AB91C: + movs r3, 0 + movs r1, 0x10 + ldrsh r0, [r4, r1] + cmp r3, r0 + bge _080AB950 + ldr r6, _080AB9B4 @ =gScanlineEffectRegBuffers + ldr r5, _080AB9B8 @ =gScanlineEffect +_080AB92A: + lsls r1, r3, 16 + asrs r1, 16 + lsls r3, r1, 1 + ldrb r2, [r5, 0x14] + lsls r0, r2, 4 + subs r0, r2 + lsls r0, 7 + adds r3, r0 + adds r3, r6 + ldrh r0, [r4, 0xC] + strh r0, [r3] + adds r1, 0x1 + lsls r1, 16 + lsrs r3, r1, 16 + asrs r1, 16 + movs r2, 0x10 + ldrsh r0, [r4, r2] + cmp r1, r0 + blt _080AB92A +_080AB950: + ldrh r3, [r4, 0x10] + lsls r2, r3, 16 + asrs r1, r2, 16 + movs r3, 0x12 + ldrsh r0, [r4, r3] + cmp r1, r0 + bge _080AB984 + ldr r6, _080AB9B4 @ =gScanlineEffectRegBuffers + ldr r5, _080AB9B8 @ =gScanlineEffect +_080AB962: + asrs r3, r2, 16 + lsls r2, r3, 1 + ldrb r1, [r5, 0x14] + lsls r0, r1, 4 + subs r0, r1 + lsls r0, 7 + adds r2, r0 + adds r2, r6 + ldrh r0, [r4, 0xA] + strh r0, [r2] + adds r3, 0x1 + lsls r2, r3, 16 + asrs r1, r2, 16 + movs r3, 0x12 + ldrsh r0, [r4, r3] + cmp r1, r0 + blt _080AB962 +_080AB984: + ldrh r3, [r4, 0x12] + lsls r1, r3, 16 + asrs r0, r1, 16 + cmp r0, 0x9F + bgt _080ABA66 + ldr r6, _080AB9B4 @ =gScanlineEffectRegBuffers + ldr r5, _080AB9B8 @ =gScanlineEffect +_080AB992: + asrs r3, r1, 16 + lsls r2, r3, 1 + ldrb r1, [r5, 0x14] + lsls r0, r1, 4 + subs r0, r1 + lsls r0, 7 + adds r2, r0 + adds r2, r6 + ldrh r0, [r4, 0xC] + strh r0, [r2] + adds r3, 0x1 + lsls r1, r3, 16 + asrs r0, r1, 16 + cmp r0, 0x9F + ble _080AB992 + b _080ABA66 + .align 2, 0 +_080AB9B4: .4byte gScanlineEffectRegBuffers +_080AB9B8: .4byte gScanlineEffect +_080AB9BC: + movs r3, 0 + movs r1, 0x10 + ldrsh r0, [r4, r1] + cmp r3, r0 + bge _080AB9F0 + ldr r6, _080ABA70 @ =gScanlineEffectRegBuffers + ldr r5, _080ABA74 @ =gScanlineEffect +_080AB9CA: + lsls r1, r3, 16 + asrs r1, 16 + lsls r3, r1, 1 + ldrb r2, [r5, 0x14] + lsls r0, r2, 4 + subs r0, r2 + lsls r0, 7 + adds r3, r0 + adds r3, r6 + ldrh r0, [r4, 0xC] + strh r0, [r3] + adds r1, 0x1 + lsls r1, 16 + lsrs r3, r1, 16 + asrs r1, 16 + movs r2, 0x10 + ldrsh r0, [r4, r2] + cmp r1, r0 + blt _080AB9CA +_080AB9F0: + ldrh r3, [r4, 0x10] + lsls r2, r3, 16 + asrs r1, r2, 16 + movs r3, 0x12 + ldrsh r0, [r4, r3] + cmp r1, r0 + bge _080ABA24 + ldr r6, _080ABA70 @ =gScanlineEffectRegBuffers + ldr r5, _080ABA74 @ =gScanlineEffect +_080ABA02: + asrs r3, r2, 16 + lsls r2, r3, 1 + ldrb r1, [r5, 0x14] + lsls r0, r1, 4 + subs r0, r1 + lsls r0, 7 + adds r2, r0 + adds r2, r6 + ldrh r0, [r4, 0xA] + strh r0, [r2] + adds r3, 0x1 + lsls r2, r3, 16 + asrs r1, r2, 16 + movs r3, 0x12 + ldrsh r0, [r4, r3] + cmp r1, r0 + blt _080ABA02 +_080ABA24: + ldrh r3, [r4, 0x12] + lsls r1, r3, 16 + asrs r0, r1, 16 + cmp r0, 0x9F + bgt _080ABA50 + ldr r6, _080ABA70 @ =gScanlineEffectRegBuffers + ldr r5, _080ABA74 @ =gScanlineEffect +_080ABA32: + asrs r3, r1, 16 + lsls r2, r3, 1 + ldrb r1, [r5, 0x14] + lsls r0, r1, 4 + subs r0, r1 + lsls r0, 7 + adds r2, r0 + adds r2, r6 + ldrh r0, [r4, 0xC] + strh r0, [r2] + adds r3, 0x1 + lsls r1, r3, 16 + asrs r0, r1, 16 + cmp r0, 0x9F + ble _080ABA32 +_080ABA50: + movs r0, 0x26 + ldrsh r1, [r4, r0] + movs r0, 0x1 + negs r0, r0 + cmp r1, r0 + bne _080ABA66 + bl ScanlineEffect_Stop + adds r0, r7, 0 + bl DestroyTask +_080ABA66: + add sp, 0xC + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080ABA70: .4byte gScanlineEffectRegBuffers +_080ABA74: .4byte gScanlineEffect + thumb_func_end sub_80AB79C + + thumb_func_start sub_80ABA78 +sub_80ABA78: @ 80ABA78 + push {r4-r6,lr} + adds r4, r0, 0 + ldrh r2, [r4, 0x4] + lsls r1, r2, 22 + lsrs r1, 22 + adds r1, 0x8 + ldr r3, _080ABACC @ =0x000003ff + adds r0, r3, 0 + ands r1, r0 + ldr r0, _080ABAD0 @ =0xfffffc00 + ands r0, r2 + orrs r0, r1 + strh r0, [r4, 0x4] + adds r0, r4, 0 + movs r1, 0x1 + bl sub_8075114 + bl Random + movs r5, 0xFF + ands r5, r0 + movs r0, 0x80 + lsls r0, 1 + adds r6, r0, 0 + orrs r5, r6 + bl Random + ldr r1, _080ABAD4 @ =0x000001ff + ands r1, r0 + adds r0, r1, 0 + cmp r0, 0xFF + ble _080ABABE + subs r0, r6, r0 + lsls r0, 16 + lsrs r1, r0, 16 +_080ABABE: + strh r5, [r4, 0x30] + strh r1, [r4, 0x32] + ldr r0, _080ABAD8 @ =sub_80ABADC + str r0, [r4, 0x1C] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080ABACC: .4byte 0x000003ff +_080ABAD0: .4byte 0xfffffc00 +_080ABAD4: .4byte 0x000001ff +_080ABAD8: .4byte sub_80ABADC + thumb_func_end sub_80ABA78 + + thumb_func_start sub_80ABADC +sub_80ABADC: @ 80ABADC + push {r4,lr} + adds r2, r0, 0 + ldrh r0, [r2, 0x30] + ldrh r1, [r2, 0x34] + adds r3, r0, r1 + strh r3, [r2, 0x34] + ldrh r1, [r2, 0x32] + ldrh r4, [r2, 0x36] + adds r1, r4 + strh r1, [r2, 0x36] + movs r1, 0x1 + ands r1, r0 + cmp r1, 0 + beq _080ABB00 + lsls r0, r3, 16 + asrs r0, 24 + negs r0, r0 + b _080ABB04 +_080ABB00: + lsls r0, r3, 16 + asrs r0, 24 +_080ABB04: + strh r0, [r2, 0x24] + ldrh r0, [r2, 0x36] + lsls r0, 16 + asrs r0, 24 + strh r0, [r2, 0x26] + ldrh r0, [r2, 0x2E] + adds r0, 0x1 + strh r0, [r2, 0x2E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x15 + bne _080ABB22 + adds r0, r2, 0 + bl DestroyAnimSprite +_080ABB22: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80ABADC + + thumb_func_start sub_80ABB28 +sub_80ABB28: @ 80ABB28 + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r4, r0, 2 + adds r4, r0 + lsls r4, 3 + ldr r0, _080ABB78 @ =gTasks + adds r4, r0 + movs r0, 0 + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x26] + ldr r2, _080ABB7C @ =gSprites + movs r0, 0x26 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r0, [r0, 0x22] + strh r0, [r4, 0x12] + bl sub_80ABDC8 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0xA] + ldrh r0, [r4, 0x26] + lsls r0, 24 + lsrs r0, 24 + movs r1, 0 + bl sub_80758E0 + ldr r0, _080ABB80 @ =sub_80ABB84 + str r0, [r4] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080ABB78: .4byte gTasks +_080ABB7C: .4byte gSprites +_080ABB80: .4byte sub_80ABB84 + thumb_func_end sub_80ABB28 + + thumb_func_start sub_80ABB84 +sub_80ABB84: @ 80ABB84 + push {r4-r6,lr} + sub sp, 0xC + lsls r0, 24 + lsrs r2, r0, 24 + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + ldr r1, _080ABBAC @ =gTasks + adds r4, r0, r1 + movs r1, 0x8 + ldrsh r0, [r4, r1] + cmp r0, 0x7 + bls _080ABBA0 + b _080ABDBE +_080ABBA0: + lsls r0, 2 + ldr r1, _080ABBB0 @ =_080ABBB4 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080ABBAC: .4byte gTasks +_080ABBB0: .4byte _080ABBB4 + .align 2, 0 +_080ABBB4: + .4byte _080ABBD4 + .4byte _080ABBFA + .4byte _080ABC8C + .4byte _080ABCC2 + .4byte _080ABCD6 + .4byte _080ABCE4 + .4byte _080ABD64 + .4byte _080ABDB0 +_080ABBD4: + ldrh r1, [r4, 0x26] + lsls r1, 24 + lsrs r1, 24 + movs r3, 0x80 + lsls r3, 1 + movs r0, 0xE0 + str r0, [sp] + movs r0, 0x80 + lsls r0, 2 + str r0, [sp, 0x4] + movs r0, 0x20 + str r0, [sp, 0x8] + adds r0, r4, 0 + adds r2, r3, 0 + bl sub_80765D4 + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] +_080ABBFA: + ldrh r0, [r4, 0xE] + adds r0, 0x1 + strh r0, [r4, 0xE] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + ble _080ABC56 + movs r0, 0 + strh r0, [r4, 0xE] + ldrh r0, [r4, 0x10] + adds r0, 0x1 + strh r0, [r4, 0x10] + movs r1, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080ABC44 + ldr r2, _080ABC40 @ =gSprites + movs r0, 0x26 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + movs r1, 0x3 + strh r1, [r0, 0x24] + movs r0, 0x26 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r1, [r0, 0x22] + adds r1, 0x1 + strh r1, [r0, 0x22] + b _080ABC56 + .align 2, 0 +_080ABC40: .4byte gSprites +_080ABC44: + ldr r2, _080ABC84 @ =gSprites + movs r0, 0x26 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldr r1, _080ABC88 @ =0x0000fffd + strh r1, [r0, 0x24] +_080ABC56: + adds r0, r4, 0 + bl sub_8076640 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0 + beq _080ABC66 + b _080ABDBE +_080ABC66: + ldrh r0, [r4, 0x26] + lsls r0, 24 + lsrs r0, 24 + bl sub_8076440 + ldr r2, _080ABC84 @ =gSprites + movs r0, 0x26 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + strh r5, [r0, 0x24] + strh r5, [r4, 0xE] + b _080ABDA0 + .align 2, 0 +_080ABC84: .4byte gSprites +_080ABC88: .4byte 0x0000fffd +_080ABC8C: + ldrh r0, [r4, 0xE] + adds r0, 0x1 + strh r0, [r4, 0xE] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x4 + bgt _080ABC9C + b _080ABDBE +_080ABC9C: + ldrh r1, [r4, 0x26] + lsls r1, 24 + lsrs r1, 24 + movs r3, 0x80 + lsls r3, 2 + movs r0, 0xC0 + lsls r0, 1 + str r0, [sp] + movs r0, 0xE0 + str r0, [sp, 0x4] + movs r0, 0x8 + str r0, [sp, 0x8] + adds r0, r4, 0 + movs r2, 0xE0 + bl sub_80765D4 + movs r0, 0 + strh r0, [r4, 0xE] + b _080ABDA2 +_080ABCC2: + adds r0, r4, 0 + bl sub_8076640 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0 + bne _080ABDBE + strh r0, [r4, 0xE] + strh r0, [r4, 0x10] + b _080ABDA2 +_080ABCD6: + adds r0, r4, 0 + adds r1, r2, 0 + bl sub_80ABE4C + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] +_080ABCE4: + ldrh r0, [r4, 0xE] + adds r0, 0x1 + strh r0, [r4, 0xE] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + ble _080ABDBE + movs r0, 0 + strh r0, [r4, 0xE] + ldrh r0, [r4, 0x10] + adds r0, 0x1 + strh r0, [r4, 0x10] + movs r1, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080ABD1C + ldr r2, _080ABD18 @ =gSprites + movs r0, 0x26 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r1, [r0, 0x26] + adds r1, 0x2 + b _080ABD2E + .align 2, 0 +_080ABD18: .4byte gSprites +_080ABD1C: + ldr r2, _080ABD60 @ =gSprites + movs r0, 0x26 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r1, [r0, 0x26] + subs r1, 0x2 +_080ABD2E: + strh r1, [r0, 0x26] + movs r1, 0x10 + ldrsh r0, [r4, r1] + cmp r0, 0xA + bne _080ABDBE + ldrh r1, [r4, 0x26] + lsls r1, 24 + lsrs r1, 24 + movs r2, 0xC0 + lsls r2, 1 + movs r0, 0x80 + lsls r0, 1 + str r0, [sp] + str r0, [sp, 0x4] + movs r0, 0x8 + str r0, [sp, 0x8] + adds r0, r4, 0 + movs r3, 0xE0 + bl sub_80765D4 + movs r0, 0 + strh r0, [r4, 0xE] + strh r0, [r4, 0x10] + b _080ABDA2 + .align 2, 0 +_080ABD60: .4byte gSprites +_080ABD64: + ldr r6, _080ABDAC @ =gSprites + movs r0, 0x26 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r6 + ldrh r1, [r0, 0x22] + subs r1, 0x1 + strh r1, [r0, 0x22] + adds r0, r4, 0 + bl sub_8076640 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0 + bne _080ABDBE + ldrh r0, [r4, 0x26] + lsls r0, 24 + lsrs r0, 24 + bl sub_8075980 + movs r0, 0x26 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r6 + ldrh r1, [r4, 0x12] + strh r1, [r0, 0x22] +_080ABDA0: + strh r5, [r4, 0x10] +_080ABDA2: + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] + b _080ABDBE + .align 2, 0 +_080ABDAC: .4byte gSprites +_080ABDB0: + movs r1, 0xC + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080ABDBE + adds r0, r2, 0 + bl DestroyAnimVisualTask +_080ABDBE: + add sp, 0xC + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_80ABB84 + + thumb_func_start sub_80ABDC8 +sub_80ABDC8: @ 80ABDC8 + push {r4,r5,lr} + ldr r4, _080ABDEC @ =gBattleAnimAttacker + ldrb r0, [r4] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _080ABDFC + ldr r1, _080ABDF0 @ =gBattlerPartyIndexes + ldrb r0, [r4] + lsls r0, 1 + adds r0, r1 + ldrh r1, [r0] + movs r0, 0x64 + muls r1, r0 + ldr r0, _080ABDF4 @ =gPlayerParty + b _080ABE0C + .align 2, 0 +_080ABDEC: .4byte gBattleAnimAttacker +_080ABDF0: .4byte gBattlerPartyIndexes +_080ABDF4: .4byte gPlayerParty +_080ABDF8: + adds r0, r2, 0 + b _080ABE3E +_080ABDFC: + ldr r1, _080ABE44 @ =gBattlerPartyIndexes + ldrb r0, [r4] + lsls r0, 1 + adds r0, r1 + ldrh r1, [r0] + movs r0, 0x64 + muls r1, r0 + ldr r0, _080ABE48 @ =gEnemyParty +_080ABE0C: + adds r5, r1, r0 + adds r0, r5, 0 + movs r1, 0x3A + bl GetMonData + adds r4, r0, 0 + lsls r4, 16 + adds r0, r5, 0 + movs r1, 0x39 + bl GetMonData + lsls r0, 16 + lsrs r3, r0, 16 + lsrs r4, 18 + movs r2, 0 +_080ABE2A: + adds r1, r2, 0x1 + adds r0, r4, 0 + muls r0, r1 + cmp r3, r0 + blt _080ABDF8 + lsls r0, r1, 24 + lsrs r2, r0, 24 + cmp r2, 0x2 + bls _080ABE2A + movs r0, 0x3 +_080ABE3E: + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_080ABE44: .4byte gBattlerPartyIndexes +_080ABE48: .4byte gEnemyParty + thumb_func_end sub_80ABDC8 + + thumb_func_start sub_80ABE4C +sub_80ABE4C: @ 80ABE4C + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x14 + adds r7, r0, 0 + lsls r1, 24 + lsrs r1, 24 + str r1, [sp] + ldr r4, _080ABF54 @ =gBattleAnimAttacker + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r6, r0, 24 + movs r5, 0xAC + ldrb r0, [r4] + bl sub_807685C + subs r0, 0x1 + lsls r0, 24 + lsrs r0, 24 + str r0, [sp, 0x8] + ldrh r1, [r7, 0xA] + movs r0, 0x4 + subs r0, r1 + lsls r0, 16 + lsrs r1, r0, 16 + cmp r0, 0 + bgt _080ABE9C + movs r1, 0x1 +_080ABE9C: + movs r0, 0 + str r0, [sp, 0x4] + lsls r0, r1, 16 + mov r10, r8 + mov r9, r6 + mov r1, r10 + lsls r1, 4 + str r1, [sp, 0xC] + mov r1, r9 + lsls r1, 4 + str r1, [sp, 0x10] + asrs r0, 16 + mov r8, r0 +_080ABEB6: + ldr r0, _080ABF58 @ =gUnknown_83E5AE0 + mov r1, r10 + mov r2, r9 + ldr r3, [sp, 0x8] + bl CreateSprite + lsls r0, 24 + lsrs r2, r0, 24 + lsls r6, r5, 16 + cmp r2, 0x40 + beq _080ABF1E + ldr r1, _080ABF5C @ =gSprites + lsls r0, r2, 4 + adds r0, r2 + lsls r0, 2 + adds r5, r0, r1 + mov r0, sp + ldrh r0, [r0, 0x4] + strh r0, [r5, 0x30] + mov r1, sp + ldrh r1, [r1, 0xC] + strh r1, [r5, 0x32] + mov r0, sp + ldrh r0, [r0, 0x10] + strh r0, [r5, 0x34] + asrs r4, r6, 16 + adds r0, r4, 0 + movs r1, 0x40 + bl Cos + strh r0, [r5, 0x36] + adds r0, r4, 0 + movs r1, 0x40 + bl Sin + strh r0, [r5, 0x38] + mov r1, sp + ldrh r1, [r1] + strh r1, [r5, 0x3A] + movs r0, 0x2 + strh r0, [r5, 0x3C] + ldrh r1, [r7, 0xC] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080ABF18 + adds r0, r5, 0 + bl sub_80ABF60 +_080ABF18: + ldrh r0, [r7, 0xC] + adds r0, 0x1 + strh r0, [r7, 0xC] +_080ABF1E: + mov r1, r8 + lsls r0, r1, 1 + asrs r1, r6, 16 + adds r1, r0 + lsls r1, 16 + movs r0, 0xFF + lsls r0, 16 + ands r0, r1 + lsrs r5, r0, 16 + ldr r1, [sp, 0x4] + lsls r0, r1, 16 + asrs r0, 16 + add r0, r8 + lsls r0, 16 + lsrs r1, r0, 16 + str r1, [sp, 0x4] + asrs r0, 16 + cmp r0, 0x13 + ble _080ABEB6 + add sp, 0x14 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080ABF54: .4byte gBattleAnimAttacker +_080ABF58: .4byte gUnknown_83E5AE0 +_080ABF5C: .4byte gSprites + thumb_func_end sub_80ABE4C + + thumb_func_start sub_80ABF60 +sub_80ABF60: @ 80ABF60 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0 + beq _080ABF72 + cmp r0, 0x1 + beq _080ABFA8 + b _080AC002 +_080ABF72: + movs r2, 0x30 + ldrsh r0, [r4, r2] + movs r1, 0x6 + bl __modsi3 + lsls r0, 16 + asrs r0, 16 + lsls r1, r0, 1 + adds r1, r0 + ldrh r0, [r4, 0x36] + adds r1, r0 + strh r1, [r4, 0x36] + movs r1, 0x30 + ldrsh r0, [r4, r1] + movs r1, 0x3 + bl __modsi3 + lsls r0, 16 + asrs r0, 16 + lsls r1, r0, 1 + adds r1, r0 + ldrh r2, [r4, 0x38] + adds r1, r2 + strh r1, [r4, 0x38] + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] +_080ABFA8: + ldrh r0, [r4, 0x36] + ldrh r1, [r4, 0x32] + adds r0, r1 + strh r0, [r4, 0x32] + ldrh r1, [r4, 0x38] + ldrh r2, [r4, 0x34] + adds r1, r2 + strh r1, [r4, 0x34] + lsls r0, 16 + asrs r0, 20 + strh r0, [r4, 0x20] + lsls r1, 16 + asrs r2, r1, 20 + strh r2, [r4, 0x22] + adds r0, 0x8 + lsls r0, 16 + movs r1, 0x80 + lsls r1, 17 + cmp r0, r1 + bhi _080ABFDE + adds r1, r2, 0 + movs r0, 0x8 + negs r0, r0 + cmp r1, r0 + blt _080ABFDE + cmp r1, 0x78 + ble _080AC002 +_080ABFDE: + ldr r3, _080AC008 @ =gTasks + movs r0, 0x3C + ldrsh r1, [r4, r0] + lsls r1, 1 + movs r0, 0x3A + ldrsh r2, [r4, r0] + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + adds r1, r0 + adds r3, 0x8 + adds r1, r3 + ldrh r0, [r1] + subs r0, 0x1 + strh r0, [r1] + adds r0, r4, 0 + bl DestroySprite +_080AC002: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080AC008: .4byte gTasks + thumb_func_end sub_80ABF60 + + thumb_func_start sub_80AC00C +sub_80AC00C: @ 80AC00C + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, _080AC03C @ =gTasks + adds r4, r1, r0 + bl sub_80ABDC8 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0xA] + ldr r0, _080AC040 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _080AC044 + movs r0, 0x88 + strh r0, [r4, 0x10] + movs r0, 0x28 + b _080AC04A + .align 2, 0 +_080AC03C: .4byte gTasks +_080AC040: .4byte gBattleAnimAttacker +_080AC044: + movs r0, 0x10 + strh r0, [r4, 0x10] + movs r0, 0x50 +_080AC04A: + strh r0, [r4, 0x14] + movs r0, 0x62 + strh r0, [r4, 0x12] + ldrh r0, [r4, 0x10] + adds r0, 0x31 + strh r0, [r4, 0x16] + movs r0, 0xA + ldrsh r1, [r4, r0] + lsls r0, r1, 2 + adds r0, r1 + adds r0, 0x5 + strh r0, [r4, 0x20] + ldr r0, _080AC06C @ =sub_80AC070 + str r0, [r4] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080AC06C: .4byte sub_80AC070 + thumb_func_end sub_80AC00C + + thumb_func_start sub_80AC070 +sub_80AC070: @ 80AC070 + push {r4-r7,lr} + mov r7, r8 + push {r7} + lsls r0, 24 + lsrs r1, r0, 24 + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + ldr r7, _080AC094 @ =gTasks + adds r4, r0, r7 + movs r0, 0x8 + ldrsh r2, [r4, r0] + cmp r2, 0 + beq _080AC098 + cmp r2, 0x1 + beq _080AC148 + b _080AC156 + .align 2, 0 +_080AC094: .4byte gTasks +_080AC098: + ldrh r0, [r4, 0xC] + adds r0, 0x1 + strh r0, [r4, 0xC] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x2 + ble _080AC0AE + strh r2, [r4, 0xC] + adds r0, r4, 0 + bl sub_80AC160 +_080AC0AE: + movs r1, 0x1C + ldrsh r0, [r4, r1] + cmp r0, 0 + beq _080AC128 + movs r2, 0x22 + ldrsh r0, [r4, r2] + cmp r0, 0 + bne _080AC128 + ldr r5, _080AC13C @ =gBattleAnimArgs + movs r1, 0x1 + mov r8, r1 + mov r2, r8 + strh r2, [r5] + strh r0, [r5, 0x2] + movs r0, 0xC + strh r0, [r5, 0x4] + ldr r6, _080AC140 @ =sub_80B94B4 + adds r0, r6, 0 + movs r1, 0x50 + bl CreateTask + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0xFF + beq _080AC0F8 + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + adds r0, r7 + ldr r1, [r0] + adds r0, r2, 0 + bl _call_via_r1 + ldr r1, _080AC144 @ =gUnknown_2037EE2 + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] +_080AC0F8: + movs r0, 0x3 + strh r0, [r5] + adds r0, r6, 0 + movs r1, 0x50 + bl CreateTask + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0xFF + beq _080AC124 + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + adds r0, r7 + ldr r1, [r0] + adds r0, r2, 0 + bl _call_via_r1 + ldr r1, _080AC144 @ =gUnknown_2037EE2 + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] +_080AC124: + mov r0, r8 + strh r0, [r4, 0x22] +_080AC128: + movs r2, 0x1E + ldrsh r1, [r4, r2] + movs r2, 0x20 + ldrsh r0, [r4, r2] + cmp r1, r0 + blt _080AC156 + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] + b _080AC156 + .align 2, 0 +_080AC13C: .4byte gBattleAnimArgs +_080AC140: .4byte sub_80B94B4 +_080AC144: .4byte gUnknown_2037EE2 +_080AC148: + movs r2, 0x1A + ldrsh r0, [r4, r2] + cmp r0, 0 + bne _080AC156 + adds r0, r1, 0 + bl DestroyAnimVisualTask +_080AC156: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80AC070 + + thumb_func_start sub_80AC160 +sub_80AC160: @ 80AC160 + push {r4-r6,lr} + adds r4, r0, 0 + lsls r1, 24 + lsrs r6, r1, 24 + ldr r1, _080AC1EC @ =gSineTable + movs r2, 0x18 + ldrsh r0, [r4, r2] + lsls r0, 1 + adds r0, r1 + movs r1, 0 + ldrsh r0, [r0, r1] + adds r0, 0x3 + asrs r0, 4 + ldrh r2, [r4, 0x14] + adds r0, r2 + lsls r0, 16 + lsrs r5, r0, 16 + ldr r0, _080AC1F0 @ =gUnknown_83E5AE0 + movs r2, 0x16 + ldrsh r1, [r4, r2] + movs r2, 0 + movs r3, 0 + bl CreateSprite + lsls r0, 24 + lsrs r1, r0, 24 + cmp r1, 0x40 + beq _080AC1BA + ldr r3, _080AC1F4 @ =gSprites + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r1, r3, 0 + adds r1, 0x1C + adds r1, r0, r1 + ldr r2, _080AC1F8 @ =sub_80AC204 + str r2, [r1] + adds r0, r3 + strh r5, [r0, 0x38] + strh r6, [r0, 0x3A] + movs r1, 0x9 + strh r1, [r0, 0x3C] + ldrh r0, [r4, 0x1A] + adds r0, 0x1 + strh r0, [r4, 0x1A] +_080AC1BA: + ldrh r0, [r4, 0x1E] + adds r0, 0x1 + strh r0, [r4, 0x1E] + ldrh r0, [r4, 0x18] + adds r0, 0x27 + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0x18] + movs r0, 0x16 + ldrsh r1, [r4, r0] + ldr r0, _080AC1FC @ =0x41c64e6d + muls r0, r1 + ldr r1, _080AC200 @ =0x00003039 + adds r0, r1 + movs r2, 0x12 + ldrsh r1, [r4, r2] + bl __modsi3 + ldrh r1, [r4, 0x10] + adds r1, r0 + strh r1, [r4, 0x16] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080AC1EC: .4byte gSineTable +_080AC1F0: .4byte gUnknown_83E5AE0 +_080AC1F4: .4byte gSprites +_080AC1F8: .4byte sub_80AC204 +_080AC1FC: .4byte 0x41c64e6d +_080AC200: .4byte 0x00003039 + thumb_func_end sub_80AC160 + + thumb_func_start sub_80AC204 +sub_80AC204: @ 80AC204 + push {r4,r5,lr} + adds r5, r0, 0 + movs r1, 0x2E + ldrsh r0, [r5, r1] + cmp r0, 0 + bne _080AC29A + ldrh r0, [r5, 0x22] + adds r0, 0x8 + strh r0, [r5, 0x22] + lsls r0, 16 + asrs r0, 16 + movs r2, 0x38 + ldrsh r1, [r5, r2] + cmp r0, r1 + blt _080AC29A + ldr r2, _080AC2A0 @ =gTasks + movs r3, 0x3A + ldrsh r1, [r5, r3] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r2 + movs r1, 0x1 + strh r1, [r0, 0x1C] + ldr r0, _080AC2A4 @ =gUnknown_83E7C38 + movs r2, 0x20 + ldrsh r1, [r5, r2] + movs r3, 0x22 + ldrsh r2, [r5, r3] + movs r3, 0x1 + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x30] + cmp r0, 0x40 + beq _080AC294 + movs r0, 0x30 + ldrsh r1, [r5, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r4, _080AC2A8 @ =gSprites + adds r0, r4 + movs r1, 0x3 + bl StartSpriteAffineAnim + movs r2, 0x30 + ldrsh r1, [r5, r2] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r4 + ldrh r1, [r5, 0x3A] + strh r1, [r0, 0x3A] + movs r3, 0x30 + ldrsh r1, [r5, r3] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r4 + ldrh r1, [r5, 0x3C] + strh r1, [r0, 0x3C] + movs r0, 0x30 + ldrsh r1, [r5, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r4, 0x1C + adds r0, r4 + ldr r1, _080AC2AC @ =sub_80AC2B0 + str r1, [r0] +_080AC294: + adds r0, r5, 0 + bl DestroySprite +_080AC29A: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080AC2A0: .4byte gTasks +_080AC2A4: .4byte gUnknown_83E7C38 +_080AC2A8: .4byte gSprites +_080AC2AC: .4byte sub_80AC2B0 + thumb_func_end sub_80AC204 + + thumb_func_start sub_80AC2B0 +sub_80AC2B0: @ 80AC2B0 + push {r4,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x30] + adds r0, 0x1 + strh r0, [r4, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + ble _080AC31C + movs r0, 0 + strh r0, [r4, 0x30] + adds r3, r4, 0 + adds r3, 0x3E + ldrb r2, [r3] + lsls r0, r2, 29 + lsrs r0, 31 + movs r1, 0x1 + eors r1, r0 + lsls r1, 2 + movs r0, 0x5 + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r3] + ldrh r0, [r4, 0x32] + adds r0, 0x1 + strh r0, [r4, 0x32] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xC + bne _080AC31C + ldr r3, _080AC324 @ =gTasks + movs r0, 0x3C + ldrsh r1, [r4, r0] + lsls r1, 1 + movs r0, 0x3A + ldrsh r2, [r4, r0] + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + adds r1, r0 + adds r3, 0x8 + adds r1, r3 + ldrh r0, [r1] + subs r0, 0x1 + strh r0, [r1] + ldrb r0, [r4, 0x3] + lsls r0, 26 + lsrs r0, 27 + bl FreeOamMatrix + adds r0, r4, 0 + bl DestroySprite +_080AC31C: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080AC324: .4byte gTasks + thumb_func_end sub_80AC2B0 + + thumb_func_start sub_80AC328 +sub_80AC328: @ 80AC328 + push {r4-r6,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, _080AC3AC @ =gTasks + adds r5, r1, r0 + ldr r4, _080AC3B0 @ =gBattleAnimAttacker + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + movs r6, 0 + strh r0, [r5, 0xE] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x10] + ldrb r0, [r4] + bl GetBattlerSide + lsls r0, 24 + movs r2, 0x1 + negs r2, r2 + adds r1, r2, 0 + cmp r0, 0 + bne _080AC36C + movs r1, 0x1 +_080AC36C: + strh r1, [r5, 0x16] + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + beq _080AC380 + movs r1, 0x16 + ldrsh r0, [r5, r1] + negs r0, r0 + strh r0, [r5, 0x16] +_080AC380: + movs r2, 0x16 + ldrsh r0, [r5, r2] + lsls r0, 3 + ldrh r1, [r5, 0xE] + adds r0, r1 + strh r0, [r5, 0x12] + movs r2, 0x16 + ldrsh r1, [r5, r2] + lsls r1, 3 + ldrh r0, [r5, 0x10] + subs r0, r1 + strh r0, [r5, 0x14] + ldr r0, _080AC3B4 @ =0x0000ffe0 + strh r0, [r5, 0x1A] + strh r6, [r5, 0xA] + strh r6, [r5, 0x8] + ldr r0, _080AC3B8 @ =sub_80AC3BC + str r0, [r5] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080AC3AC: .4byte gTasks +_080AC3B0: .4byte gBattleAnimAttacker +_080AC3B4: .4byte 0x0000ffe0 +_080AC3B8: .4byte sub_80AC3BC + thumb_func_end sub_80AC328 + + thumb_func_start sub_80AC3BC +sub_80AC3BC: @ 80AC3BC + push {r4,lr} + lsls r0, 24 + lsrs r2, r0, 24 + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + ldr r1, _080AC3E0 @ =gTasks + adds r4, r0, r1 + movs r1, 0x8 + ldrsh r0, [r4, r1] + cmp r0, 0x6 + bls _080AC3D6 + b _080AC4F6 +_080AC3D6: + lsls r0, 2 + ldr r1, _080AC3E4 @ =_080AC3E8 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080AC3E0: .4byte gTasks +_080AC3E4: .4byte _080AC3E8 + .align 2, 0 +_080AC3E8: + .4byte _080AC404 + .4byte _080AC414 + .4byte _080AC42E + .4byte _080AC470 + .4byte _080AC492 + .4byte _080AC4C0 + .4byte _080AC4E6 +_080AC404: + adds r0, r4, 0 + bl sub_80AC504 + movs r1, 0x1C + ldrsh r0, [r4, r1] + cmp r0, 0 + beq _080AC4FC + b _080AC4EE +_080AC414: + adds r0, r4, 0 + bl sub_80AC504 + ldrh r0, [r4, 0xA] + adds r0, 0x1 + strh r0, [r4, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x10 + ble _080AC4FC + movs r0, 0 + strh r0, [r4, 0xA] + b _080AC4EE +_080AC42E: + adds r0, r4, 0 + bl sub_80AC504 + movs r1, 0x16 + ldrsh r0, [r4, r1] + lsls r1, r0, 1 + adds r1, r0 + lsls r1, 1 + ldrh r0, [r4, 0x12] + adds r1, r0 + movs r2, 0 + strh r1, [r4, 0x12] + adds r1, 0x10 + lsls r1, 16 + movs r0, 0x88 + lsls r0, 17 + cmp r1, r0 + bls _080AC4FC + ldrh r0, [r4, 0x20] + adds r0, 0x1 + strh r0, [r4, 0x20] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x2 + ble _080AC46C + movs r0, 0x1 + strh r0, [r4, 0x22] + movs r0, 0x6 + strh r0, [r4, 0x8] + strh r2, [r4, 0xA] + b _080AC4FC +_080AC46C: + strh r2, [r4, 0xA] + b _080AC4EE +_080AC470: + adds r0, r4, 0 + bl sub_80AC504 + movs r0, 0x16 + ldrsh r1, [r4, r0] + lsls r1, 1 + ldrh r0, [r4, 0x14] + subs r0, r1 + strh r0, [r4, 0x14] + ldrh r0, [r4, 0xA] + adds r0, 0x1 + strh r0, [r4, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x7 + ble _080AC4FC + b _080AC4EE +_080AC492: + adds r0, r4, 0 + bl sub_80AC504 + movs r1, 0x16 + ldrsh r0, [r4, r1] + lsls r1, r0, 1 + adds r1, r0 + lsls r1, 1 + ldrh r0, [r4, 0x12] + subs r0, r1 + strh r0, [r4, 0x12] + adds r0, 0x10 + lsls r0, 16 + movs r1, 0x88 + lsls r1, 17 + cmp r0, r1 + bls _080AC4FC + ldrh r0, [r4, 0x20] + adds r0, 0x1 + strh r0, [r4, 0x20] + movs r0, 0 + strh r0, [r4, 0xA] + b _080AC4EE +_080AC4C0: + adds r0, r4, 0 + bl sub_80AC504 + movs r0, 0x16 + ldrsh r1, [r4, r0] + lsls r1, 1 + ldrh r0, [r4, 0x14] + subs r0, r1 + strh r0, [r4, 0x14] + ldrh r0, [r4, 0xA] + adds r0, 0x1 + strh r0, [r4, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x7 + ble _080AC4FC + movs r0, 0x2 + strh r0, [r4, 0x8] + b _080AC4FC +_080AC4E6: + movs r1, 0x18 + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080AC4FC +_080AC4EE: + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] + b _080AC4FC +_080AC4F6: + adds r0, r2, 0 + bl DestroyAnimVisualTask +_080AC4FC: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80AC3BC + + thumb_func_start sub_80AC504 +sub_80AC504: @ 80AC504 + push {r4-r6,lr} + adds r6, r0, 0 + ldrh r0, [r6, 0xC] + adds r0, 0x1 + strh r0, [r6, 0xC] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + ble _080AC55E + movs r0, 0 + strh r0, [r6, 0xC] + ldr r0, _080AC564 @ =gUnknown_83E5AE0 + movs r2, 0xE + ldrsh r1, [r6, r2] + movs r3, 0x10 + ldrsh r2, [r6, r3] + movs r3, 0xA + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x40 + beq _080AC55E + ldr r5, _080AC568 @ =gSprites + lsls r4, r0, 4 + adds r4, r0 + lsls r4, 2 + adds r0, r4, r5 + movs r1, 0x10 + strh r1, [r0, 0x2E] + ldrh r1, [r6, 0x12] + strh r1, [r0, 0x32] + ldrh r1, [r6, 0x14] + strh r1, [r0, 0x36] + ldrh r1, [r6, 0x1A] + strh r1, [r0, 0x38] + bl sub_8075068 + adds r5, 0x1C + adds r4, r5 + ldr r0, _080AC56C @ =sub_80AC570 + str r0, [r4] + ldrh r0, [r6, 0x18] + adds r0, 0x1 + strh r0, [r6, 0x18] +_080AC55E: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080AC564: .4byte gUnknown_83E5AE0 +_080AC568: .4byte gSprites +_080AC56C: .4byte sub_80AC570 + thumb_func_end sub_80AC504 + + thumb_func_start sub_80AC570 +sub_80AC570: @ 80AC570 + push {r4-r6,lr} + adds r6, r0, 0 + bl AnimateBallThrow + lsls r0, 24 + cmp r0, 0 + beq _080AC5CA + ldrh r0, [r6, 0x24] + ldrh r1, [r6, 0x20] + adds r0, r1 + strh r0, [r6, 0x20] + ldrh r0, [r6, 0x26] + ldrh r1, [r6, 0x22] + adds r0, r1 + strh r0, [r6, 0x22] + movs r0, 0x6 + strh r0, [r6, 0x2E] + bl Random + movs r4, 0x1F + adds r1, r4, 0 + ands r1, r0 + ldr r5, _080AC5D0 @ =0x0000fff0 + adds r1, r5 + ldrh r0, [r6, 0x20] + adds r1, r0 + strh r1, [r6, 0x32] + bl Random + ands r4, r0 + adds r4, r5 + ldrh r1, [r6, 0x22] + adds r4, r1 + strh r4, [r6, 0x36] + bl Random + movs r1, 0x7 + ands r1, r0 + mvns r1, r1 + strh r1, [r6, 0x38] + adds r0, r6, 0 + bl sub_8075068 + ldr r0, _080AC5D4 @ =sub_80AC5D8 + str r0, [r6, 0x1C] +_080AC5CA: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080AC5D0: .4byte 0x0000fff0 +_080AC5D4: .4byte sub_80AC5D8 + thumb_func_end sub_80AC570 + + thumb_func_start sub_80AC5D8 +sub_80AC5D8: @ 80AC5D8 + push {r4-r6,lr} + adds r5, r0, 0 + bl AnimateBallThrow + lsls r0, 24 + cmp r0, 0 + beq _080AC614 + movs r4, 0 + ldr r6, _080AC61C @ =gTasks +_080AC5EA: + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r2, r0, r6 + ldr r1, [r2] + ldr r0, _080AC620 @ =sub_80AC3BC + cmp r1, r0 + bne _080AC60A + movs r0, 0x1 + strh r0, [r2, 0x1C] + ldrh r0, [r2, 0x18] + subs r0, 0x1 + strh r0, [r2, 0x18] + adds r0, r5, 0 + bl DestroySprite +_080AC60A: + adds r0, r4, 0x1 + lsls r0, 16 + lsrs r4, r0, 16 + cmp r4, 0xF + bls _080AC5EA +_080AC614: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080AC61C: .4byte gTasks +_080AC620: .4byte sub_80AC3BC + thumb_func_end sub_80AC5D8 + + thumb_func_start sub_80AC624 +sub_80AC624: @ 80AC624 + ldr r2, _080AC644 @ =gBattleAnimArgs + ldrh r1, [r2] + strh r1, [r0, 0x20] + ldrh r1, [r2, 0x2] + strh r1, [r0, 0x22] + ldrh r1, [r2, 0x4] + strh r1, [r0, 0x2E] + ldrh r1, [r2, 0x6] + strh r1, [r0, 0x30] + ldrh r1, [r2, 0x8] + strh r1, [r0, 0x32] + ldrh r1, [r2, 0xA] + strh r1, [r0, 0x34] + ldr r1, _080AC648 @ =sub_80AC64C + str r1, [r0, 0x1C] + bx lr + .align 2, 0 +_080AC644: .4byte gBattleAnimArgs +_080AC648: .4byte sub_80AC64C + thumb_func_end sub_80AC624 + + thumb_func_start sub_80AC64C +sub_80AC64C: @ 80AC64C + push {r4,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x36] + ldrh r1, [r4, 0x2E] + subs r0, r1 + strh r0, [r4, 0x36] + movs r1, 0x36 + ldrsh r0, [r4, r1] + movs r1, 0xA + bl __divsi3 + strh r0, [r4, 0x26] + ldrh r0, [r4, 0x30] + ldrh r2, [r4, 0x38] + adds r0, r2 + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0x38] + movs r1, 0x38 + ldrsh r0, [r4, r1] + movs r2, 0x32 + ldrsh r1, [r4, r2] + bl Sin + strh r0, [r4, 0x24] + ldrh r0, [r4, 0x34] + subs r0, 0x1 + strh r0, [r4, 0x34] + lsls r0, 16 + cmp r0, 0 + bne _080AC690 + adds r0, r4, 0 + bl DestroyAnimSprite +_080AC690: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80AC64C + + thumb_func_start sub_80AC698 +sub_80AC698: @ 80AC698 + push {r4,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x30] + ldrh r1, [r4, 0x34] + adds r0, r1 + strh r0, [r4, 0x34] + ldrh r1, [r4, 0x32] + ldrh r2, [r4, 0x36] + adds r1, r2 + strh r1, [r4, 0x36] + lsls r0, 16 + asrs r0, 23 + strh r0, [r4, 0x24] + lsls r1, 16 + asrs r1, 23 + strh r1, [r4, 0x26] + ldrh r0, [r4, 0x2E] + subs r0, 0x1 + strh r0, [r4, 0x2E] + lsls r0, 16 + cmp r0, 0 + bne _080AC6D0 + adds r0, r4, 0 + bl FreeSpriteOamMatrix + adds r0, r4, 0 + bl DestroySprite +_080AC6D0: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80AC698 + + thumb_func_start sub_80AC6D8 +sub_80AC6D8: @ 80AC6D8 + push {r4,r5,lr} + adds r4, r0, 0 + movs r1, 0x1 + bl sub_8075160 + ldr r5, _080AC714 @ =gBattleAnimTarget + ldrb r0, [r5] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x30] + ldrb r0, [r5] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x32] + ldr r1, _080AC718 @ =gBattleAnimArgs + ldrh r0, [r1, 0x4] + strh r0, [r4, 0x34] + ldrh r0, [r1, 0x6] + strh r0, [r4, 0x36] + ldr r0, _080AC71C @ =sub_80AC720 + str r0, [r4, 0x1C] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080AC714: .4byte gBattleAnimTarget +_080AC718: .4byte gBattleAnimArgs +_080AC71C: .4byte sub_80AC720 + thumb_func_end sub_80AC6D8 + + thumb_func_start sub_80AC720 +sub_80AC720: @ 80AC720 + push {r4-r6,lr} + adds r4, r0, 0 + movs r0, 0x30 + ldrsh r1, [r4, r0] + movs r2, 0x20 + ldrsh r0, [r4, r2] + subs r6, r1, r0 + movs r0, 0x32 + ldrsh r1, [r4, r0] + movs r2, 0x22 + ldrsh r0, [r4, r2] + subs r5, r1, r0 + movs r1, 0x2E + ldrsh r0, [r4, r1] + muls r0, r6 + movs r2, 0x34 + ldrsh r1, [r4, r2] + bl __divsi3 + strh r0, [r4, 0x24] + movs r1, 0x2E + ldrsh r0, [r4, r1] + muls r0, r5 + movs r2, 0x34 + ldrsh r1, [r4, r2] + bl __divsi3 + strh r0, [r4, 0x26] + ldrh r0, [r4, 0x38] + adds r0, 0x1 + strh r0, [r4, 0x38] + lsls r0, 16 + asrs r0, 16 + movs r2, 0x36 + ldrsh r1, [r4, r2] + cmp r0, r1 + bne _080AC778 + movs r0, 0 + strh r0, [r4, 0x38] + adds r0, r4, 0 + adds r1, r6, 0 + adds r2, r5, 0 + bl sub_80AC798 +_080AC778: + movs r0, 0x34 + ldrsh r1, [r4, r0] + movs r2, 0x2E + ldrsh r0, [r4, r2] + cmp r1, r0 + bne _080AC78A + adds r0, r4, 0 + bl DestroyAnimSprite +_080AC78A: + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_80AC720 + + thumb_func_start sub_80AC798 +sub_80AC798: @ 80AC798 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x18 + adds r4, r1, 0 + adds r5, r2, 0 + movs r2, 0x2E + ldrsh r1, [r0, r2] + lsrs r2, r1, 31 + adds r1, r2 + lsls r1, 15 + lsrs r1, 16 + str r1, [sp] + ldrh r1, [r0, 0x24] + ldrh r3, [r0, 0x20] + adds r1, r3 + lsls r1, 16 + lsrs r1, 16 + mov r8, r1 + ldrh r1, [r0, 0x26] + ldrh r0, [r0, 0x22] + adds r1, r0 + lsls r1, 16 + lsrs r1, 16 + mov r10, r1 + bl Random + lsls r0, 16 + lsrs r0, 16 + movs r1, 0xA + bl __umodsi3 + adds r0, r5, r0 + subs r0, 0x5 + lsls r0, 16 + lsrs r0, 16 + mov r9, r0 + bl Random + negs r4, r4 + lsls r0, 16 + lsrs r0, 16 + movs r1, 0xA + bl __umodsi3 + adds r4, r0 + subs r4, 0x5 + lsls r4, 16 + lsrs r7, r4, 16 + movs r6, 0 + mov r0, r8 + lsls r0, 16 + mov r8, r0 + mov r1, r10 + lsls r1, 16 + str r1, [sp, 0xC] + ldr r2, [sp] + lsls r2, 16 + str r2, [sp, 0x10] + asrs r1, 16 + lsls r0, r7, 16 + asrs r5, r0, 16 + str r0, [sp, 0x14] + negs r3, r5 + str r3, [sp, 0x4] + asrs r0, r2, 16 + adds r1, r0 + lsls r1, 16 + mov r10, r1 +_080AC826: + ldr r0, _080AC868 @ =gUnknown_83E5B88 + mov r2, r8 + asrs r1, r2, 16 + mov r3, r10 + asrs r2, r3, 16 + movs r3, 0x82 + bl CreateSprite + lsls r0, 24 + lsrs r2, r0, 24 + ldr r1, _080AC86C @ =gSprites + lsls r0, r2, 4 + adds r0, r2 + lsls r0, 2 + adds r4, r0, r1 + movs r0, 0x14 + strh r0, [r4, 0x2E] + mov r0, r9 + strh r0, [r4, 0x30] + ldr r0, _080AC870 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl sub_807685C + subs r0, 0x1 + adds r1, r4, 0 + adds r1, 0x43 + strb r0, [r1] + cmp r5, 0 + bge _080AC874 + mov r1, sp + ldrh r1, [r1, 0x4] + strh r1, [r4, 0x32] + b _080AC876 + .align 2, 0 +_080AC868: .4byte gUnknown_83E5B88 +_080AC86C: .4byte gSprites +_080AC870: .4byte gBattleAnimAttacker +_080AC874: + strh r7, [r4, 0x32] +_080AC876: + lsls r0, r6, 16 + movs r2, 0x80 + lsls r2, 9 + adds r0, r2 + lsrs r6, r0, 16 + cmp r0, 0 + ble _080AC826 + movs r6, 0 + ldr r3, [sp, 0xC] + asrs r1, r3, 16 + ldr r0, [sp, 0x14] + asrs r5, r0, 16 + negs r2, r5 + str r2, [sp, 0x8] + ldr r3, [sp, 0x10] + asrs r0, r3, 16 + subs r1, r0 + lsls r1, 16 + mov r10, r1 +_080AC89C: + ldr r0, _080AC8E0 @ =gUnknown_83E5B88 + mov r2, r8 + asrs r1, r2, 16 + mov r3, r10 + asrs r2, r3, 16 + movs r3, 0x82 + bl CreateSprite + lsls r0, 24 + lsrs r2, r0, 24 + ldr r1, _080AC8E4 @ =gSprites + lsls r0, r2, 4 + adds r0, r2 + lsls r0, 2 + adds r4, r0, r1 + movs r0, 0x14 + strh r0, [r4, 0x2E] + mov r0, r9 + strh r0, [r4, 0x30] + ldr r0, _080AC8E8 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl sub_807685C + subs r0, 0x1 + adds r1, r4, 0 + adds r1, 0x43 + strb r0, [r1] + cmp r5, 0 + ble _080AC8EC + mov r1, sp + ldrh r1, [r1, 0x8] + strh r1, [r4, 0x32] + b _080AC8EE + .align 2, 0 +_080AC8E0: .4byte gUnknown_83E5B88 +_080AC8E4: .4byte gSprites +_080AC8E8: .4byte gBattleAnimAttacker +_080AC8EC: + strh r7, [r4, 0x32] +_080AC8EE: + lsls r0, r6, 16 + movs r2, 0x80 + lsls r2, 9 + adds r0, r2 + lsrs r6, r0, 16 + cmp r0, 0 + ble _080AC89C + add sp, 0x18 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80AC798 + + .align 2, 0 @ Don't pad with nop. diff --git a/ld_script.txt b/ld_script.txt index 4b7fafa2e..9797487c4 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -154,6 +154,11 @@ SECTIONS { asm/field_special_scene.o(.text); asm/safari_zone.o(.text); asm/item_use.o(.text); + asm/battle_anim_effects_1.o(.text); + asm/battle_anim_effects_2.o(.text); + asm/water.o(.text); + asm/fire.o(.text); + asm/electric.o(.text); asm/battle_anim_80A22E8.o(.text); asm/bike.o(.text); asm/easy_chat.o(.text); -- cgit v1.2.3 From 81d36fd16ab98b103b75ae29205e11e5c61f4ff1 Mon Sep 17 00:00:00 2001 From: garak Date: Thu, 23 May 2019 17:45:45 -0400 Subject: split battle anims bug, fighting, flying, ice, poison, and psychic --- asm/battle_anim_80A22E8.s | 11077 -------------------------------------------- asm/bug.s | 829 ++++ asm/fighting.s | 1746 +++++++ asm/flying.s | 2945 ++++++++++++ asm/ice.s | 3099 +++++++++++++ asm/poison.s | 326 ++ asm/psychic.s | 2180 +++++++++ ld_script.txt | 6 + 8 files changed, 11131 insertions(+), 11077 deletions(-) create mode 100644 asm/bug.s create mode 100644 asm/fighting.s create mode 100644 asm/flying.s create mode 100644 asm/ice.s create mode 100644 asm/poison.s create mode 100644 asm/psychic.s diff --git a/asm/battle_anim_80A22E8.s b/asm/battle_anim_80A22E8.s index 18e22078e..094b4a1ce 100644 --- a/asm/battle_anim_80A22E8.s +++ b/asm/battle_anim_80A22E8.s @@ -5,11083 +5,6 @@ .text - thumb_func_start sub_80AF058 -sub_80AF058: @ 80AF058 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - ldr r0, _080AF0B4 @ =gUnknown_83E5F38 - movs r2, 0x22 - ldrsh r1, [r4, r2] - movs r3, 0x24 - ldrsh r2, [r4, r3] - ldrh r3, [r4, 0x20] - lsls r3, 24 - lsrs r3, 24 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _080AF09C - ldr r3, _080AF0B8 @ =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r3, 0 - adds r1, 0x1C - adds r1, r0, r1 - ldr r2, _080AF0BC @ =sub_80AF0C8 - str r2, [r1] - adds r0, r3 - strh r5, [r0, 0x3A] - movs r1, 0xA - strh r1, [r0, 0x3C] - ldrh r0, [r4, 0x1C] - adds r0, 0x1 - strh r0, [r4, 0x1C] -_080AF09C: - ldrh r2, [r4, 0x24] - movs r0, 0x24 - ldrsh r1, [r4, r0] - movs r3, 0x26 - ldrsh r0, [r4, r3] - cmp r1, r0 - bge _080AF0C0 - adds r0, r2, 0 - adds r0, 0x20 - strh r0, [r4, 0x24] - movs r0, 0 - b _080AF0C2 - .align 2, 0 -_080AF0B4: .4byte gUnknown_83E5F38 -_080AF0B8: .4byte gSprites -_080AF0BC: .4byte sub_80AF0C8 -_080AF0C0: - movs r0, 0x1 -_080AF0C2: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80AF058 - - thumb_func_start sub_80AF0C8 -sub_80AF0C8: @ 80AF0C8 - push {r4,lr} - adds r4, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080AF0FC - ldr r3, _080AF104 @ =gTasks - movs r0, 0x3C - ldrsh r1, [r4, r0] - lsls r1, 1 - movs r0, 0x3A - ldrsh r2, [r4, r0] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r3, 0x8 - adds r1, r3 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - adds r0, r4, 0 - bl DestroySprite -_080AF0FC: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080AF104: .4byte gTasks - thumb_func_end sub_80AF0C8 - - thumb_func_start sub_80AF108 -sub_80AF108: @ 80AF108 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - adds r5, r0, 0 - ldrh r2, [r5, 0x4] - lsls r1, r2, 22 - lsrs r1, 22 - adds r1, 0x7 - ldr r3, _080AF210 @ =0x000003ff - adds r0, r3, 0 - ands r1, r0 - ldr r0, _080AF214 @ =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r5, 0x4] - ldr r4, _080AF218 @ =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r4, _080AF21C @ =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r3, r0, 24 - ldrb r0, [r4] - movs r1, 0x3 - str r3, [sp] - bl sub_8074480 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, _080AF220 @ =gBattleAnimArgs - ldrh r0, [r1, 0x8] - strh r0, [r5, 0x2E] - ldrh r0, [r1] - ldr r3, [sp] - adds r0, r3 - strh r0, [r5, 0x30] - ldrh r0, [r1, 0x4] - mov r4, r9 - adds r0, r4, r0 - strh r0, [r5, 0x32] - ldrh r0, [r1, 0x2] - adds r0, r6 - strh r0, [r5, 0x34] - ldrh r0, [r1, 0x6] - mov r7, r8 - adds r0, r7, r0 - strh r0, [r5, 0x36] - adds r0, r5, 0 - bl sub_8074C80 - adds r4, 0x20 - movs r0, 0x98 - lsls r0, 1 - mov r12, r0 - ldr r3, [sp] - cmp r4, r12 - bhi _080AF1E2 - adds r0, r7, 0 - adds r0, 0x20 - ldrh r1, [r5, 0x30] - ldrh r2, [r5, 0x32] - cmp r0, 0xE0 - bhi _080AF1E2 - adds r4, r1, 0 - mov r10, r12 -_080AF1AE: - mov r7, r9 - lsls r1, r7, 16 - asrs r1, 16 - adds r1, r4 - lsls r1, 16 - mov r7, r8 - lsls r0, r7, 16 - asrs r0, 16 - adds r0, r2 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - lsrs r0, r1, 16 - mov r9, r0 - movs r7, 0x80 - lsls r7, 14 - adds r1, r7 - lsrs r1, 16 - cmp r1, r10 - bhi _080AF1E2 - mov r1, r8 - lsls r0, r1, 16 - adds r0, r7 - lsrs r0, 16 - cmp r0, 0xE0 - bls _080AF1AE -_080AF1E2: - ldrh r0, [r5, 0x30] - negs r7, r0 - strh r7, [r5, 0x30] - ldrh r0, [r5, 0x32] - negs r4, r0 - strh r4, [r5, 0x32] - lsls r0, r3, 16 - movs r1, 0x80 - lsls r1, 14 - adds r0, r1 - lsrs r0, 16 - movs r2, 0x98 - lsls r2, 1 - mov r12, r2 - ldr r1, _080AF220 @ =gBattleAnimArgs - mov r10, r1 - cmp r0, r12 - bhi _080AF24E - lsls r1, r6, 16 - movs r2, 0x80 - lsls r2, 14 - adds r0, r1, r2 - b _080AF246 - .align 2, 0 -_080AF210: .4byte 0x000003ff -_080AF214: .4byte 0xfffffc00 -_080AF218: .4byte gBattleAnimTarget -_080AF21C: .4byte gBattleAnimAttacker -_080AF220: .4byte gBattleAnimArgs -_080AF224: - lsls r1, r3, 16 - asrs r1, 16 - adds r1, r7 - lsls r1, 16 - asrs r0, r2, 16 - adds r0, r4 - lsls r0, 16 - lsrs r6, r0, 16 - lsrs r3, r1, 16 - movs r0, 0x80 - lsls r0, 14 - adds r1, r0 - lsrs r1, 16 - cmp r1, r12 - bhi _080AF24E - lsls r1, r6, 16 - adds r0, r1, r0 -_080AF246: - lsrs r0, 16 - adds r2, r1, 0 - cmp r0, 0xE0 - bls _080AF224 -_080AF24E: - strh r3, [r5, 0x20] - strh r6, [r5, 0x22] - mov r1, r10 - ldrh r0, [r1, 0x8] - strh r0, [r5, 0x2E] - strh r3, [r5, 0x30] - mov r2, r9 - strh r2, [r5, 0x32] - strh r6, [r5, 0x34] - mov r3, r8 - strh r3, [r5, 0x36] - adds r0, r5, 0 - bl sub_8074C80 - mov r7, r10 - ldrh r0, [r7, 0xA] - strh r0, [r5, 0x34] - ldrh r0, [r7, 0xC] - strh r0, [r5, 0x36] - ldr r0, _080AF288 @ =sub_80AF28C - str r0, [r5, 0x1C] - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080AF288: .4byte sub_80AF28C - thumb_func_end sub_80AF108 - - thumb_func_start sub_80AF28C -sub_80AF28C: @ 80AF28C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080AF2E4 - ldrh r1, [r4, 0x30] - ldrh r2, [r4, 0x38] - adds r1, r2 - strh r1, [r4, 0x38] - ldrh r0, [r4, 0x32] - ldrh r2, [r4, 0x3A] - adds r0, r2 - strh r0, [r4, 0x3A] - strh r1, [r4, 0x24] - strh r0, [r4, 0x26] - movs r1, 0x3C - ldrsh r0, [r4, r1] - movs r2, 0x34 - ldrsh r1, [r4, r2] - bl Sin - ldrh r1, [r4, 0x24] - adds r0, r1 - strh r0, [r4, 0x24] - movs r2, 0x3C - ldrsh r0, [r4, r2] - movs r2, 0x34 - ldrsh r1, [r4, r2] - bl Sin - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x36] - ldrh r2, [r4, 0x3C] - adds r0, r2 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x3C] - ldrh r0, [r4, 0x2E] - subs r0, 0x1 - strh r0, [r4, 0x2E] - b _080AF2EA -_080AF2E4: - adds r0, r4, 0 - bl DestroyAnimSprite -_080AF2EA: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80AF28C - - thumb_func_start sub_80AF2F0 -sub_80AF2F0: @ 80AF2F0 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _080AF324 @ =gBattleAnimArgs - ldrh r0, [r0] - strh r0, [r4, 0x2E] - movs r0, 0x3C - strh r0, [r4, 0x30] - movs r0, 0x9 - strh r0, [r4, 0x32] - movs r0, 0x1E - strh r0, [r4, 0x34] - movs r0, 0xFE - lsls r0, 8 - strh r0, [r4, 0x36] - ldr r1, _080AF328 @ =DestroyAnimSprite - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - ldr r1, _080AF32C @ =sub_8074AE0 - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080AF324: .4byte gBattleAnimArgs -_080AF328: .4byte DestroyAnimSprite -_080AF32C: .4byte sub_8074AE0 - thumb_func_end sub_80AF2F0 - - thumb_func_start sub_80AF330 -sub_80AF330: @ 80AF330 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl sub_8075160 - ldr r0, _080AF364 @ =gBattleAnimTarget - ldrb r0, [r0] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x32] - ldr r0, _080AF368 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080AF370 - ldr r0, _080AF36C @ =gBattleAnimArgs - ldrh r1, [r4, 0x32] - ldrh r0, [r0, 0x4] - subs r1, r0 - strh r1, [r4, 0x32] - b _080AF37A - .align 2, 0 -_080AF364: .4byte gBattleAnimTarget -_080AF368: .4byte gBattleAnimAttacker -_080AF36C: .4byte gBattleAnimArgs -_080AF370: - ldr r0, _080AF3A8 @ =gBattleAnimArgs - ldrh r0, [r0, 0x4] - ldrh r1, [r4, 0x32] - adds r0, r1 - strh r0, [r4, 0x32] -_080AF37A: - ldr r0, _080AF3AC @ =gBattleAnimTarget - ldrb r0, [r0] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - ldr r1, _080AF3A8 @ =gBattleAnimArgs - lsrs r0, 24 - ldrh r2, [r1, 0x6] - adds r0, r2 - strh r0, [r4, 0x36] - ldrh r0, [r1, 0x8] - strh r0, [r4, 0x2E] - ldr r1, _080AF3B0 @ =DestroyAnimSprite - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - ldr r0, _080AF3B4 @ =sub_8075590 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080AF3A8: .4byte gBattleAnimArgs -_080AF3AC: .4byte gBattleAnimTarget -_080AF3B0: .4byte DestroyAnimSprite -_080AF3B4: .4byte sub_8075590 - thumb_func_end sub_80AF330 - - thumb_func_start sub_80AF3B8 -sub_80AF3B8: @ 80AF3B8 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, _080AF3D0 @ =gBattleAnimArgs - movs r1, 0x4 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _080AF3D4 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_8075114 - b _080AF40A - .align 2, 0 -_080AF3D0: .4byte gBattleAnimArgs -_080AF3D4: - ldr r0, _080AF41C @ =gBattleAnimTarget - ldrb r0, [r0] - adds r2, r4, 0 - adds r2, 0x20 - adds r3, r4, 0 - adds r3, 0x22 - movs r1, 0x1 - bl sub_8076D9C - ldr r0, _080AF420 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080AF3FA - ldrh r0, [r5] - negs r0, r0 - strh r0, [r5] -_080AF3FA: - ldrh r0, [r5] - ldrh r1, [r4, 0x20] - adds r0, r1 - strh r0, [r4, 0x20] - ldrh r0, [r5, 0x2] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] -_080AF40A: - ldr r1, _080AF424 @ =sub_80AF42C - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - ldr r0, _080AF428 @ =sub_8074F50 - str r0, [r4, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AF41C: .4byte gBattleAnimTarget -_080AF420: .4byte gBattleAnimAttacker -_080AF424: .4byte sub_80AF42C -_080AF428: .4byte sub_8074F50 - thumb_func_end sub_80AF3B8 - - thumb_func_start sub_80AF42C -sub_80AF42C: @ 80AF42C - push {lr} - adds r3, r0, 0 - movs r0, 0x3E - adds r0, r3 - mov r12, r0 - ldrb r2, [r0] - lsls r0, r2, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - mov r1, r12 - strb r0, [r1] - ldrh r0, [r3, 0x2E] - adds r0, 0x1 - strh r0, [r3, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - bne _080AF462 - adds r0, r3, 0 - bl move_anim_8074EE0 -_080AF462: - pop {r0} - bx r0 - thumb_func_end sub_80AF42C - - thumb_func_start sub_80AF468 -sub_80AF468: @ 80AF468 - push {r4-r7,lr} - sub sp, 0x10 - adds r5, r0, 0 - movs r1, 0x1 - bl sub_8075160 - ldr r6, _080AF4B0 @ =gBattleAnimArgs - ldrh r0, [r6, 0x8] - strh r0, [r5, 0x2E] - ldrh r0, [r5, 0x20] - strh r0, [r5, 0x30] - ldrh r0, [r5, 0x22] - strh r0, [r5, 0x34] - movs r1, 0xA - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _080AF4B8 - ldr r4, _080AF4B4 @ =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x32] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r6, [r6, 0x6] - adds r0, r6 - strh r0, [r5, 0x36] - b _080AF4CA - .align 2, 0 -_080AF4B0: .4byte gBattleAnimArgs -_080AF4B4: .4byte gBattleAnimTarget -_080AF4B8: - ldr r0, _080AF4E4 @ =gBattleAnimTarget - ldrb r0, [r0] - adds r2, r5, 0 - adds r2, 0x32 - adds r3, r5, 0 - adds r3, 0x36 - movs r1, 0x1 - bl sub_8076D9C -_080AF4CA: - ldr r0, _080AF4E8 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080AF4F0 - ldr r0, _080AF4EC @ =gBattleAnimArgs - ldrh r1, [r5, 0x32] - ldrh r0, [r0, 0x4] - subs r1, r0 - strh r1, [r5, 0x32] - b _080AF4FA - .align 2, 0 -_080AF4E4: .4byte gBattleAnimTarget -_080AF4E8: .4byte gBattleAnimAttacker -_080AF4EC: .4byte gBattleAnimArgs -_080AF4F0: - ldr r0, _080AF598 @ =gBattleAnimArgs - ldrh r0, [r0, 0x4] - ldrh r2, [r5, 0x32] - adds r0, r2 - strh r0, [r5, 0x32] -_080AF4FA: - adds r7, r5, 0 - adds r7, 0x2E - adds r2, r7, 0 - mov r1, sp - movs r4, 0x7 -_080AF504: - ldrh r0, [r2] - strh r0, [r1] - adds r2, 0x2 - adds r1, 0x2 - subs r4, 0x1 - cmp r4, 0 - bge _080AF504 - adds r0, r5, 0 - bl sub_8075804 - ldrh r0, [r5, 0x30] - movs r1, 0x1 - eors r0, r1 - strh r0, [r5, 0x30] - ldrh r0, [r5, 0x32] - eors r0, r1 - strh r0, [r5, 0x32] -_080AF526: - movs r0, 0x1 - strh r0, [r5, 0x2E] - adds r0, r5, 0 - bl sub_807578C - movs r0, 0x20 - ldrsh r1, [r5, r0] - movs r2, 0x24 - ldrsh r0, [r5, r2] - adds r1, r0 - adds r1, 0x10 - movs r0, 0x88 - lsls r0, 1 - cmp r1, r0 - bhi _080AF55A - movs r0, 0x22 - ldrsh r1, [r5, r0] - movs r2, 0x26 - ldrsh r0, [r5, r2] - adds r1, r0 - cmp r1, 0xA0 - bgt _080AF55A - movs r0, 0x10 - negs r0, r0 - cmp r1, r0 - bge _080AF526 -_080AF55A: - ldrh r0, [r5, 0x24] - ldrh r1, [r5, 0x20] - adds r0, r1 - movs r1, 0 - strh r0, [r5, 0x20] - ldrh r0, [r5, 0x26] - ldrh r2, [r5, 0x22] - adds r0, r2 - strh r0, [r5, 0x22] - strh r1, [r5, 0x26] - strh r1, [r5, 0x24] - ldr r6, _080AF59C @ =sub_8075830 - ldr r1, _080AF5A0 @ =sub_80AF5A4 - mov r3, sp - adds r2, r7, 0 - movs r4, 0x7 -_080AF57A: - ldrh r0, [r3] - strh r0, [r2] - adds r3, 0x2 - adds r2, 0x2 - subs r4, 0x1 - cmp r4, 0 - bge _080AF57A - str r6, [r5, 0x1C] - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 - add sp, 0x10 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080AF598: .4byte gBattleAnimArgs -_080AF59C: .4byte sub_8075830 -_080AF5A0: .4byte sub_80AF5A4 - thumb_func_end sub_80AF468 - - thumb_func_start sub_80AF5A4 -sub_80AF5A4: @ 80AF5A4 - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x24] - ldrh r1, [r4, 0x20] - adds r0, r1 - movs r5, 0 - strh r0, [r4, 0x20] - ldrh r0, [r4, 0x26] - ldrh r2, [r4, 0x22] - adds r0, r2 - strh r0, [r4, 0x22] - strh r5, [r4, 0x26] - strh r5, [r4, 0x24] - movs r0, 0x80 - strh r0, [r4, 0x2E] - ldr r0, _080AF600 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - ldr r1, _080AF604 @ =0x0000ffec - cmp r0, 0 - beq _080AF5D4 - movs r1, 0x14 -_080AF5D4: - movs r2, 0x2E - ldrsh r0, [r4, r2] - lsls r1, 16 - asrs r1, 16 - bl Sin - strh r0, [r4, 0x34] - movs r1, 0x2E - ldrsh r0, [r4, r1] - movs r1, 0xF - bl Cos - strh r0, [r4, 0x36] - strh r5, [r4, 0x38] - ldr r1, _080AF608 @ =sub_80AF60C - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AF600: .4byte gBattleAnimAttacker -_080AF604: .4byte 0x0000ffec -_080AF608: .4byte sub_80AF60C - thumb_func_end sub_80AF5A4 - - thumb_func_start sub_80AF60C -sub_80AF60C: @ 80AF60C - push {r4,lr} - adds r4, r0, 0 - ldr r0, _080AF660 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - ldr r1, _080AF664 @ =0x0000ffec - cmp r0, 0 - beq _080AF622 - movs r1, 0x14 -_080AF622: - movs r2, 0x38 - ldrsh r0, [r4, r2] - cmp r0, 0x1F - bgt _080AF668 - movs r2, 0x2E - ldrsh r0, [r4, r2] - lsls r1, 16 - asrs r1, 16 - bl Sin - ldrh r1, [r4, 0x34] - subs r0, r1 - strh r0, [r4, 0x24] - movs r1, 0x2E - ldrsh r0, [r4, r1] - movs r1, 0xF - bl Cos - ldrh r1, [r4, 0x36] - subs r0, r1 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x2E] - adds r0, 0x10 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - b _080AF686 - .align 2, 0 -_080AF660: .4byte gBattleAnimAttacker -_080AF664: .4byte 0x0000ffec -_080AF668: - ldrh r0, [r4, 0x24] - ldrh r2, [r4, 0x20] - adds r0, r2 - movs r1, 0 - strh r0, [r4, 0x20] - ldrh r0, [r4, 0x26] - ldrh r2, [r4, 0x22] - adds r0, r2 - strh r0, [r4, 0x22] - strh r1, [r4, 0x26] - strh r1, [r4, 0x24] - strh r1, [r4, 0x36] - strh r1, [r4, 0x34] - ldr r0, _080AF68C @ =sub_80AF690 - str r0, [r4, 0x1C] -_080AF686: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080AF68C: .4byte sub_80AF690 - thumb_func_end sub_80AF60C - - thumb_func_start sub_80AF690 -sub_80AF690: @ 80AF690 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x1 - strh r0, [r4, 0x2E] - adds r0, r4, 0 - bl sub_807578C - movs r1, 0x20 - ldrsh r0, [r4, r1] - movs r2, 0x24 - ldrsh r1, [r4, r2] - adds r0, r1 - adds r0, 0x10 - movs r1, 0x88 - lsls r1, 1 - cmp r0, r1 - bhi _080AF6CC - movs r1, 0x22 - ldrsh r0, [r4, r1] - movs r2, 0x26 - ldrsh r1, [r4, r2] - adds r1, r0, r1 - movs r0, 0x80 - lsls r0, 1 - cmp r1, r0 - bgt _080AF6CC - movs r0, 0x10 - negs r0, r0 - cmp r1, r0 - bge _080AF6D2 -_080AF6CC: - adds r0, r4, 0 - bl DestroyAnimSprite -_080AF6D2: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80AF690 - - thumb_func_start sub_80AF6D8 -sub_80AF6D8: @ 80AF6D8 - push {r4-r7,lr} - sub sp, 0x10 - adds r5, r0, 0 - movs r1, 0x1 - bl sub_8075160 - ldr r1, _080AF71C @ =gBattleAnimArgs - ldrh r0, [r1, 0x8] - strh r0, [r5, 0x2E] - ldrh r0, [r5, 0x20] - strh r0, [r5, 0x30] - ldrh r0, [r5, 0x22] - strh r0, [r5, 0x34] - movs r2, 0xE - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _080AF724 - ldr r4, _080AF720 @ =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x32] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x36] - b _080AF736 - .align 2, 0 -_080AF71C: .4byte gBattleAnimArgs -_080AF720: .4byte gBattleAnimTarget -_080AF724: - ldr r0, _080AF754 @ =gBattleAnimTarget - ldrb r0, [r0] - adds r2, r5, 0 - adds r2, 0x32 - adds r3, r5, 0 - adds r3, 0x36 - movs r1, 0x1 - bl sub_8076D9C -_080AF736: - ldr r0, _080AF758 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080AF760 - ldr r0, _080AF75C @ =gBattleAnimArgs - ldrh r1, [r5, 0x32] - ldrh r2, [r0, 0x4] - subs r1, r2 - strh r1, [r5, 0x32] - adds r1, r0, 0 - b _080AF76A - .align 2, 0 -_080AF754: .4byte gBattleAnimTarget -_080AF758: .4byte gBattleAnimAttacker -_080AF75C: .4byte gBattleAnimArgs -_080AF760: - ldr r1, _080AF814 @ =gBattleAnimArgs - ldrh r0, [r1, 0x4] - ldrh r2, [r5, 0x32] - adds r0, r2 - strh r0, [r5, 0x32] -_080AF76A: - ldrh r0, [r1, 0x6] - ldrh r1, [r5, 0x36] - adds r0, r1 - strh r0, [r5, 0x36] - adds r0, r5, 0 - bl sub_8075804 - adds r7, r5, 0 - adds r7, 0x2E - adds r2, r7, 0 - mov r1, sp - movs r4, 0x7 -_080AF782: - ldrh r0, [r2] - strh r0, [r1] - adds r2, 0x2 - adds r1, 0x2 - subs r4, 0x1 - cmp r4, 0 - bge _080AF782 - ldrh r0, [r5, 0x30] - movs r1, 0x1 - eors r0, r1 - strh r0, [r5, 0x30] - ldrh r0, [r5, 0x32] - eors r0, r1 - strh r0, [r5, 0x32] -_080AF79E: - movs r0, 0x1 - strh r0, [r5, 0x2E] - adds r0, r5, 0 - bl sub_807578C - movs r2, 0x20 - ldrsh r1, [r5, r2] - movs r2, 0x24 - ldrsh r0, [r5, r2] - adds r1, r0 - adds r1, 0x10 - movs r0, 0x88 - lsls r0, 1 - cmp r1, r0 - bhi _080AF7D2 - movs r0, 0x22 - ldrsh r1, [r5, r0] - movs r2, 0x26 - ldrsh r0, [r5, r2] - adds r1, r0 - cmp r1, 0xA0 - bgt _080AF7D2 - movs r0, 0x10 - negs r0, r0 - cmp r1, r0 - bge _080AF79E -_080AF7D2: - ldrh r0, [r5, 0x24] - ldrh r1, [r5, 0x20] - adds r0, r1 - movs r1, 0 - strh r0, [r5, 0x20] - ldrh r0, [r5, 0x26] - ldrh r2, [r5, 0x22] - adds r0, r2 - strh r0, [r5, 0x22] - strh r1, [r5, 0x26] - strh r1, [r5, 0x24] - ldr r1, _080AF814 @ =gBattleAnimArgs - ldr r6, _080AF818 @ =sub_80AF81C - mov r3, sp - adds r2, r7, 0 - movs r4, 0x7 -_080AF7F2: - ldrh r0, [r3] - strh r0, [r2] - adds r3, 0x2 - adds r2, 0x2 - subs r4, 0x1 - cmp r4, 0 - bge _080AF7F2 - ldrh r0, [r1, 0xA] - strh r0, [r5, 0x38] - ldrh r0, [r1, 0xC] - strh r0, [r5, 0x3A] - str r6, [r5, 0x1C] - add sp, 0x10 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080AF814: .4byte gBattleAnimArgs -_080AF818: .4byte sub_80AF81C - thumb_func_end sub_80AF6D8 - - thumb_func_start sub_80AF81C -sub_80AF81C: @ 80AF81C - push {r4,lr} - adds r4, r0, 0 - bl sub_807578C - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080AF830 - movs r0, 0x1 - strh r0, [r4, 0x2E] -_080AF830: - movs r2, 0x3C - ldrsh r0, [r4, r2] - movs r2, 0x38 - ldrsh r1, [r4, r2] - bl Sin - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x3A] - ldrh r2, [r4, 0x3C] - adds r0, r2 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x3C] - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x1 - bne _080AF886 - movs r2, 0x20 - ldrsh r0, [r4, r2] - movs r2, 0x24 - ldrsh r1, [r4, r2] - adds r0, r1 - adds r0, 0x10 - movs r1, 0x88 - lsls r1, 1 - cmp r0, r1 - bhi _080AF880 - movs r0, 0x22 - ldrsh r1, [r4, r0] - movs r2, 0x26 - ldrsh r0, [r4, r2] - adds r1, r0 - cmp r1, 0xA0 - bgt _080AF880 - movs r0, 0x10 - negs r0, r0 - cmp r1, r0 - bge _080AF886 -_080AF880: - adds r0, r4, 0 - bl DestroyAnimSprite -_080AF886: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80AF81C - - thumb_func_start sub_80AF88C -sub_80AF88C: @ 80AF88C - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080AF8F8 - ldr r5, _080AF8AC @ =gBattleAnimArgs - movs r1, 0x4 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _080AF8B0 - adds r0, r4, 0 - movs r1, 0 - bl sub_8075114 - b _080AF8E6 - .align 2, 0 -_080AF8AC: .4byte gBattleAnimArgs -_080AF8B0: - ldr r0, _080AF8F0 @ =gBattleAnimTarget - ldrb r0, [r0] - adds r2, r4, 0 - adds r2, 0x20 - adds r3, r4, 0 - adds r3, 0x22 - movs r1, 0 - bl sub_8076D9C - ldr r0, _080AF8F4 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080AF8D6 - ldrh r0, [r5] - negs r0, r0 - strh r0, [r5] -_080AF8D6: - ldrh r0, [r5] - ldrh r1, [r4, 0x20] - adds r0, r1 - strh r0, [r4, 0x20] - ldrh r0, [r5, 0x2] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] -_080AF8E6: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _080AF90C - .align 2, 0 -_080AF8F0: .4byte gBattleAnimTarget -_080AF8F4: .4byte gBattleAnimAttacker -_080AF8F8: - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080AF90C - adds r0, r4, 0 - bl DestroyAnimSprite -_080AF90C: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80AF88C - - thumb_func_start sub_80AF914 -sub_80AF914: @ 80AF914 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r6, _080AF934 @ =gBattleAnimArgs - movs r1, 0x8 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _080AF984 - movs r1, 0xA - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _080AF938 - adds r0, r5, 0 - movs r1, 0 - bl sub_8075160 - b _080AF976 - .align 2, 0 -_080AF934: .4byte gBattleAnimArgs -_080AF938: - ldr r4, _080AF960 @ =gBattleAnimAttacker - ldrb r0, [r4] - adds r2, r5, 0 - adds r2, 0x20 - adds r3, r5, 0 - adds r3, 0x22 - movs r1, 0 - bl sub_8076D9C - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080AF964 - ldrh r0, [r5, 0x20] - ldrh r1, [r6] - subs r0, r1 - b _080AF96A - .align 2, 0 -_080AF960: .4byte gBattleAnimAttacker -_080AF964: - ldrh r0, [r6] - ldrh r1, [r5, 0x20] - adds r0, r1 -_080AF96A: - strh r0, [r5, 0x20] - ldr r0, _080AF97C @ =gBattleAnimArgs - ldrh r0, [r0, 0x2] - ldrh r1, [r5, 0x22] - adds r0, r1 - strh r0, [r5, 0x22] -_080AF976: - ldr r0, _080AF980 @ =gBattleAnimAttacker - b _080AF9D4 - .align 2, 0 -_080AF97C: .4byte gBattleAnimArgs -_080AF980: .4byte gBattleAnimAttacker -_080AF984: - movs r1, 0xA - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _080AF996 - adds r0, r5, 0 - movs r1, 0 - bl sub_8075114 - b _080AF9D2 -_080AF996: - ldr r4, _080AF9BC @ =gBattleAnimTarget - ldrb r0, [r4] - adds r2, r5, 0 - adds r2, 0x20 - adds r3, r5, 0 - adds r3, 0x22 - movs r1, 0 - bl sub_8076D9C - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080AF9C0 - ldrh r0, [r5, 0x20] - ldrh r1, [r6] - subs r0, r1 - b _080AF9C6 - .align 2, 0 -_080AF9BC: .4byte gBattleAnimTarget -_080AF9C0: - ldrh r0, [r6] - ldrh r1, [r5, 0x20] - adds r0, r1 -_080AF9C6: - strh r0, [r5, 0x20] - ldr r0, _080AF9F0 @ =gBattleAnimArgs - ldrh r0, [r0, 0x2] - ldrh r1, [r5, 0x22] - adds r0, r1 - strh r0, [r5, 0x22] -_080AF9D2: - ldr r0, _080AF9F4 @ =gBattleAnimTarget -_080AF9D4: - ldrb r0, [r0] - strh r0, [r5, 0x3C] - ldr r0, _080AF9F0 @ =gBattleAnimArgs - movs r1, 0xA - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _080AF9EC - bl sub_8075290 - lsls r0, 24 - cmp r0, 0 - bne _080AF9F8 -_080AF9EC: - movs r0, 0x20 - b _080AF9FA - .align 2, 0 -_080AF9F0: .4byte gBattleAnimArgs -_080AF9F4: .4byte gBattleAnimTarget -_080AF9F8: - movs r0, 0x40 -_080AF9FA: - strh r0, [r5, 0x3A] - ldr r0, _080AFA40 @ =gBattleAnimTarget - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080AFA10 - ldrh r0, [r5, 0x22] - adds r0, 0x8 - strh r0, [r5, 0x22] -_080AFA10: - ldr r1, _080AFA44 @ =gBattleAnimArgs - ldrh r0, [r1, 0x6] - strh r0, [r5, 0x2E] - ldrh r0, [r5, 0x20] - strh r0, [r5, 0x30] - strh r0, [r5, 0x32] - ldrh r0, [r5, 0x22] - strh r0, [r5, 0x34] - ldrh r1, [r1, 0x4] - adds r0, r1 - strh r0, [r5, 0x36] - adds r0, r5, 0 - bl obj_translate_based_on_private_1_2_3_4 - movs r0, 0x40 - strh r0, [r5, 0x38] - ldr r1, _080AFA48 @ =sub_80AFA4C - str r1, [r5, 0x1C] - adds r0, r5, 0 - bl _call_via_r1 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080AFA40: .4byte gBattleAnimTarget -_080AFA44: .4byte gBattleAnimArgs -_080AFA48: .4byte sub_80AFA4C - thumb_func_end sub_80AF914 - - thumb_func_start sub_80AFA4C -sub_80AFA4C: @ 80AFA4C - push {r4,lr} - adds r4, r0, 0 - bl sub_80755E0 - lsls r0, 24 - cmp r0, 0 - bne _080AFAD6 - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r2, 0x3A - ldrsh r1, [r4, r2] - bl Sin - ldrh r1, [r4, 0x24] - adds r0, r1 - strh r0, [r4, 0x24] - movs r2, 0x38 - ldrsh r0, [r4, r2] - movs r1, 0x6 - negs r1, r1 - bl Cos - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x38] - subs r0, 0x40 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x7F - bhi _080AFAA8 - ldrh r0, [r4, 0x3C] - lsls r0, 24 - lsrs r0, 24 - bl sub_8076884 - movs r1, 0x3 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r4, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x5] - b _080AFACA -_080AFAA8: - ldrh r0, [r4, 0x3C] - lsls r0, 24 - lsrs r0, 24 - bl sub_8076884 - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x1 - movs r1, 0x3 - ands r0, r1 - lsls r0, 2 - ldrb r2, [r4, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r4, 0x5] -_080AFACA: - ldrh r0, [r4, 0x38] - adds r0, 0x3 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x38] - b _080AFADC -_080AFAD6: - adds r0, r4, 0 - bl DestroyAnimSprite -_080AFADC: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80AFA4C - - thumb_func_start sub_80AFAE4 -sub_80AFAE4: @ 80AFAE4 - push {r4,r5,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _080AFBA0 @ =0x00003f42 - movs r0, 0x50 - bl SetGpuReg - movs r1, 0x80 - lsls r1, 5 - movs r0, 0x52 - bl SetGpuReg - movs r0, 0x1 - movs r1, 0x4 - movs r2, 0x1 - bl SetAnimBgAttribute - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl SetAnimBgAttribute - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080AFB26 - movs r0, 0x1 - movs r1, 0x3 - movs r2, 0x1 - bl SetAnimBgAttribute -_080AFB26: - ldr r0, _080AFBA4 @ =gBattle_BG1_X - movs r1, 0 - strh r1, [r0] - ldr r4, _080AFBA8 @ =gBattle_BG1_Y - strh r1, [r4] - movs r0, 0x14 - movs r1, 0 - bl SetGpuReg - ldrh r1, [r4] - movs r0, 0x16 - bl SetGpuReg - mov r0, sp - bl sub_80752A0 - mov r0, sp - ldrb r0, [r0, 0x9] - ldr r1, _080AFBAC @ =gUnknown_83C3540 - movs r2, 0x80 - lsls r2, 4 - mov r3, sp - ldrh r3, [r3, 0xA] - bl LoadBgTiles - mov r0, sp - ldrb r0, [r0, 0x9] - ldr r1, _080AFBB0 @ =gFile_graphics_battle_anims_backgrounds_fog_tilemap - bl sub_807543C - ldr r0, _080AFBB4 @ =gUnknown_83C2CE0 - mov r1, sp - ldrb r1, [r1, 0x8] - lsls r1, 4 - movs r2, 0x20 - bl LoadPalette - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - beq _080AFB88 - mov r0, sp - ldrb r0, [r0, 0x8] - ldr r1, [sp, 0x4] - movs r2, 0 - movs r3, 0 - bl sub_80730C0 -_080AFB88: - ldr r0, _080AFBB8 @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, _080AFBBC @ =sub_80AFBC0 - str r0, [r1] - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AFBA0: .4byte 0x00003f42 -_080AFBA4: .4byte gBattle_BG1_X -_080AFBA8: .4byte gBattle_BG1_Y -_080AFBAC: .4byte gUnknown_83C3540 -_080AFBB0: .4byte gFile_graphics_battle_anims_backgrounds_fog_tilemap -_080AFBB4: .4byte gUnknown_83C2CE0 -_080AFBB8: .4byte gTasks -_080AFBBC: .4byte sub_80AFBC0 - thumb_func_end sub_80AFAE4 - - thumb_func_start sub_80AFBC0 -sub_80AFBC0: @ 80AFBC0 - push {r4,r5,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _080AFBF4 @ =gBattle_BG1_X - ldr r2, _080AFBF8 @ =0x0000ffff - adds r0, r2, 0 - ldrh r2, [r1] - adds r0, r2 - strh r0, [r1] - ldr r1, _080AFBFC @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r2, 0x20 - ldrsh r0, [r0, r2] - adds r2, r1, 0 - cmp r0, 0x4 - bls _080AFBEA - b _080AFD36 -_080AFBEA: - lsls r0, 2 - ldr r1, _080AFC00 @ =_080AFC04 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080AFBF4: .4byte gBattle_BG1_X -_080AFBF8: .4byte 0x0000ffff -_080AFBFC: .4byte gTasks -_080AFC00: .4byte _080AFC04 - .align 2, 0 -_080AFC04: - .4byte _080AFC18 - .4byte _080AFC70 - .4byte _080AFC92 - .4byte _080AFCD6 - .4byte _080AFCF8 -_080AFC18: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r4, r0, r2 - ldrh r0, [r4, 0x1C] - adds r0, 0x1 - movs r5, 0 - strh r0, [r4, 0x1C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - beq _080AFC32 - b _080AFD36 -_080AFC32: - strh r5, [r4, 0x1C] - ldrh r0, [r4, 0x1A] - adds r0, 0x1 - strh r0, [r4, 0x1A] - ldr r1, _080AFC6C @ =gUnknown_83E64D4 - movs r2, 0x1A - ldrsh r0, [r4, r2] - adds r0, r1 - ldrb r1, [r0] - strh r1, [r4, 0x1E] - movs r0, 0x10 - subs r0, r1 - lsls r0, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r1, 0x1E - ldrsh r0, [r4, r1] - cmp r0, 0x9 - bne _080AFD36 - ldrh r0, [r4, 0x20] - adds r0, 0x1 - strh r0, [r4, 0x20] - strh r5, [r4, 0x1E] - b _080AFD36 - .align 2, 0 -_080AFC6C: .4byte gUnknown_83E64D4 -_080AFC70: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, r0, r2 - ldrh r0, [r1, 0x1E] - adds r0, 0x1 - strh r0, [r1, 0x1E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x51 - bne _080AFD36 - movs r0, 0x9 - strh r0, [r1, 0x1E] - ldrh r0, [r1, 0x20] - adds r0, 0x1 - strh r0, [r1, 0x20] - b _080AFD36 -_080AFC92: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r4, r0, r2 - ldrh r0, [r4, 0x1C] - adds r0, 0x1 - strh r0, [r4, 0x1C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - bne _080AFD36 - movs r0, 0 - strh r0, [r4, 0x1C] - ldrh r1, [r4, 0x1E] - subs r1, 0x1 - strh r1, [r4, 0x1E] - movs r0, 0x10 - subs r0, r1 - lsls r0, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r2, 0x1E - ldrsh r1, [r4, r2] - cmp r1, 0 - bne _080AFD36 - ldrh r0, [r4, 0x20] - adds r0, 0x1 - strh r0, [r4, 0x20] - strh r1, [r4, 0x1E] - b _080AFD36 -_080AFCD6: - mov r0, sp - bl sub_80752A0 - movs r0, 0x1 - bl sub_8075358 - movs r0, 0x2 - bl sub_8075358 - ldr r0, _080AFD40 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x20] - adds r0, 0x1 - strh r0, [r1, 0x20] -_080AFCF8: - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080AFD0C - movs r0, 0x1 - movs r1, 0x3 - movs r2, 0 - bl SetAnimBgAttribute -_080AFD0C: - ldr r0, _080AFD44 @ =gBattle_BG1_X - movs r1, 0 - strh r1, [r0] - ldr r0, _080AFD48 @ =gBattle_BG1_Y - strh r1, [r0] - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x1 - movs r1, 0x4 - movs r2, 0x1 - bl SetAnimBgAttribute - adds r0, r4, 0 - bl DestroyAnimVisualTask -_080AFD36: - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AFD40: .4byte gTasks -_080AFD44: .4byte gBattle_BG1_X -_080AFD48: .4byte gBattle_BG1_Y - thumb_func_end sub_80AFBC0 - - thumb_func_start sub_80AFD4C -sub_80AFD4C: @ 80AFD4C - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, _080AFD78 @ =gBattleAnimAttacker - ldrb r0, [r5] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x20] - ldrb r0, [r5] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x22] - ldr r0, _080AFD7C @ =sub_8075DF4 - str r0, [r4, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AFD78: .4byte gBattleAnimAttacker -_080AFD7C: .4byte sub_8075DF4 - thumb_func_end sub_80AFD4C - - thumb_func_start sub_80AFD80 -sub_80AFD80: @ 80AFD80 - push {r4,r5,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _080AFE40 @ =0x00003f42 - movs r0, 0x50 - bl SetGpuReg - movs r1, 0x80 - lsls r1, 5 - movs r0, 0x52 - bl SetGpuReg - movs r0, 0x1 - movs r1, 0x4 - movs r2, 0x1 - bl SetAnimBgAttribute - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl SetAnimBgAttribute - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080AFDC2 - movs r0, 0x1 - movs r1, 0x3 - movs r2, 0x1 - bl SetAnimBgAttribute -_080AFDC2: - ldr r0, _080AFE44 @ =gBattle_BG1_X - movs r1, 0 - strh r1, [r0] - ldr r4, _080AFE48 @ =gBattle_BG1_Y - strh r1, [r4] - movs r0, 0x14 - movs r1, 0 - bl SetGpuReg - ldrh r1, [r4] - movs r0, 0x16 - bl SetGpuReg - mov r0, sp - bl sub_80752A0 - mov r0, sp - ldrb r0, [r0, 0x9] - ldr r1, _080AFE4C @ =gUnknown_83C3540 - movs r2, 0x80 - lsls r2, 4 - mov r3, sp - ldrh r3, [r3, 0xA] - bl LoadBgTiles - mov r0, sp - ldrb r0, [r0, 0x9] - ldr r1, _080AFE50 @ =gFile_graphics_battle_anims_backgrounds_fog_tilemap - bl sub_807543C - ldr r0, _080AFE54 @ =gUnknown_83C2CE0 - mov r1, sp - ldrb r1, [r1, 0x8] - lsls r1, 4 - movs r2, 0x20 - bl LoadPalette - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - beq _080AFE24 - mov r0, sp - ldrb r0, [r0, 0x8] - ldr r1, [sp, 0x4] - movs r2, 0 - movs r3, 0 - bl sub_80730C0 -_080AFE24: - ldr r1, _080AFE58 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _080AFE5C @ =0x0000ffff - strh r1, [r0, 0x26] - ldr r1, _080AFE60 @ =sub_80AFE64 - str r1, [r0] - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AFE40: .4byte 0x00003f42 -_080AFE44: .4byte gBattle_BG1_X -_080AFE48: .4byte gBattle_BG1_Y -_080AFE4C: .4byte gUnknown_83C3540 -_080AFE50: .4byte gFile_graphics_battle_anims_backgrounds_fog_tilemap -_080AFE54: .4byte gUnknown_83C2CE0 -_080AFE58: .4byte gTasks -_080AFE5C: .4byte 0x0000ffff -_080AFE60: .4byte sub_80AFE64 - thumb_func_end sub_80AFD80 - - thumb_func_start sub_80AFE64 -sub_80AFE64: @ 80AFE64 - push {r4,r5,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r2, _080AFE94 @ =gBattle_BG1_X - ldr r3, _080AFE98 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r3 - ldrh r0, [r1, 0x26] - ldrh r5, [r2] - adds r0, r5 - strh r0, [r2] - movs r2, 0x20 - ldrsh r0, [r1, r2] - cmp r0, 0x4 - bls _080AFE8A - b _080AFFBE -_080AFE8A: - lsls r0, 2 - ldr r1, _080AFE9C @ =_080AFEA0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080AFE94: .4byte gBattle_BG1_X -_080AFE98: .4byte gTasks -_080AFE9C: .4byte _080AFEA0 - .align 2, 0 -_080AFEA0: - .4byte _080AFEB4 - .4byte _080AFEF8 - .4byte _080AFF1A - .4byte _080AFF5E - .4byte _080AFF80 -_080AFEB4: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r4, r0, r3 - ldrh r0, [r4, 0x1A] - adds r0, 0x1 - strh r0, [r4, 0x1A] - ldr r1, _080AFEF4 @ =gUnknown_83E6500 - movs r5, 0x1A - ldrsh r0, [r4, r5] - adds r0, r1 - ldrb r1, [r0] - strh r1, [r4, 0x1E] - movs r0, 0x11 - subs r0, r1 - lsls r0, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r1, 0x1E - ldrsh r0, [r4, r1] - cmp r0, 0x5 - bne _080AFFBE - ldrh r0, [r4, 0x20] - adds r0, 0x1 - strh r0, [r4, 0x20] - movs r0, 0 - strh r0, [r4, 0x1E] - b _080AFFBE - .align 2, 0 -_080AFEF4: .4byte gUnknown_83E6500 -_080AFEF8: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, r0, r3 - ldrh r0, [r1, 0x1E] - adds r0, 0x1 - strh r0, [r1, 0x1E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x51 - bne _080AFFBE - movs r0, 0x5 - strh r0, [r1, 0x1E] - ldrh r0, [r1, 0x20] - adds r0, 0x1 - strh r0, [r1, 0x20] - b _080AFFBE -_080AFF1A: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r4, r0, r3 - ldrh r0, [r4, 0x1C] - adds r0, 0x1 - strh r0, [r4, 0x1C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - bne _080AFFBE - movs r0, 0 - strh r0, [r4, 0x1C] - ldrh r1, [r4, 0x1E] - subs r1, 0x1 - strh r1, [r4, 0x1E] - movs r0, 0x10 - subs r0, r1 - lsls r0, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r2, 0x1E - ldrsh r1, [r4, r2] - cmp r1, 0 - bne _080AFFBE - ldrh r0, [r4, 0x20] - adds r0, 0x1 - strh r0, [r4, 0x20] - strh r1, [r4, 0x1E] - b _080AFFBE -_080AFF5E: - mov r0, sp - bl sub_80752A0 - movs r0, 0x1 - bl sub_8075358 - movs r0, 0x2 - bl sub_8075358 - ldr r0, _080AFFC8 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x20] - adds r0, 0x1 - strh r0, [r1, 0x20] -_080AFF80: - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080AFF94 - movs r0, 0x1 - movs r1, 0x3 - movs r2, 0 - bl SetAnimBgAttribute -_080AFF94: - ldr r0, _080AFFCC @ =gBattle_BG1_X - movs r1, 0 - strh r1, [r0] - ldr r0, _080AFFD0 @ =gBattle_BG1_Y - strh r1, [r0] - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x1 - movs r1, 0x4 - movs r2, 0x1 - bl SetAnimBgAttribute - adds r0, r4, 0 - bl DestroyAnimVisualTask -_080AFFBE: - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AFFC8: .4byte gTasks -_080AFFCC: .4byte gBattle_BG1_X -_080AFFD0: .4byte gBattle_BG1_Y - thumb_func_end sub_80AFE64 - - thumb_func_start sub_80AFFD4 -sub_80AFFD4: @ 80AFFD4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r0, 0 - ldr r6, _080B00BC @ =gBattleAnimArgs - ldrh r0, [r6] - strh r0, [r5, 0x2E] - ldr r0, _080B00C0 @ =gBattleAnimAttacker - mov r8, r0 - ldrb r0, [r0] - movs r1, 0x2 - bl sub_8074480 - adds r4, r0, 0 - ldr r7, _080B00C4 @ =gBattleAnimTarget - ldrb r0, [r7] - movs r1, 0x2 - bl sub_8074480 - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - bcs _080B0008 - movs r0, 0x80 - lsls r0, 8 - strh r0, [r5, 0x3C] -_080B0008: - ldr r3, _080B00C8 @ =gUnknown_2023BD6 - ldrb r0, [r7] - adds r0, r3 - ldrb r1, [r0] - movs r2, 0x1 - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - bne _080B0068 - ldrh r0, [r6, 0x2] - negs r0, r0 - strh r0, [r6, 0x2] - ldrh r0, [r6, 0x6] - negs r0, r0 - strh r0, [r6, 0x6] - movs r1, 0x3C - ldrsh r0, [r5, r1] - movs r1, 0x80 - lsls r1, 8 - ands r0, r1 - cmp r0, 0 - beq _080B0064 - mov r1, r8 - ldrb r0, [r1] - adds r0, r3 - ldrb r1, [r0] - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - bne _080B0064 - movs r0, 0x1 - bl GetAnimBankSpriteId - ldr r2, _080B00CC @ =gSprites - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - adds r1, 0x43 - ldrb r0, [r1] - adds r0, 0x1 - adds r1, r5, 0 - adds r1, 0x43 - strb r0, [r1] -_080B0064: - movs r0, 0x1 - strh r0, [r5, 0x3A] -_080B0068: - ldr r4, _080B00C0 @ =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - ldr r6, _080B00BC @ =gBattleAnimArgs - movs r1, 0xE - ldrsh r0, [r6, r1] - cmp r0, 0 - beq _080B00D0 - ldrh r0, [r6, 0x2] - ldrh r1, [r5, 0x20] - adds r0, r1 - strh r0, [r5, 0x30] - ldr r4, _080B00C4 @ =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r6, 0x6] - adds r0, r1 - strh r0, [r5, 0x32] - ldrh r0, [r6, 0x4] - ldrh r1, [r5, 0x22] - adds r0, r1 - strh r0, [r5, 0x34] - ldrb r0, [r4] - movs r1, 0x3 - b _080B00F8 - .align 2, 0 -_080B00BC: .4byte gBattleAnimArgs -_080B00C0: .4byte gBattleAnimAttacker -_080B00C4: .4byte gBattleAnimTarget -_080B00C8: .4byte gUnknown_2023BD6 -_080B00CC: .4byte gSprites -_080B00D0: - ldrh r0, [r6, 0x2] - ldrh r1, [r5, 0x20] - adds r0, r1 - strh r0, [r5, 0x30] - ldr r4, _080B0140 @ =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r6, 0x6] - adds r0, r1 - strh r0, [r5, 0x32] - ldrh r0, [r6, 0x4] - ldrh r1, [r5, 0x22] - adds r0, r1 - strh r0, [r5, 0x34] - ldrb r0, [r4] - movs r1, 0x1 -_080B00F8: - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r6, [r6, 0x8] - adds r0, r6 - strh r0, [r5, 0x36] - ldrb r0, [r4] - bl sub_8076884 - lsls r0, 24 - lsrs r0, 16 - ldrh r1, [r5, 0x3C] - orrs r0, r1 - strh r0, [r5, 0x3C] - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - beq _080B012C - movs r0, 0x1 - strh r0, [r5, 0x3A] - adds r1, r5, 0 - adds r1, 0x43 - movs r0, 0x80 - strb r0, [r1] -_080B012C: - adds r0, r5, 0 - bl obj_translate_based_on_private_1_2_3_4 - ldr r0, _080B0144 @ =sub_80B0148 - str r0, [r5, 0x1C] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B0140: .4byte gBattleAnimTarget -_080B0144: .4byte sub_80B0148 - thumb_func_end sub_80AFFD4 - - thumb_func_start sub_80B0148 -sub_80B0148: @ 80B0148 - push {r4-r6,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x3C] - movs r5, 0xFF - movs r1, 0xFF - ands r1, r0 - cmp r1, 0x1 - beq _080B0230 - cmp r1, 0x1 - bgt _080B0162 - cmp r1, 0 - beq _080B016A - b _080B0380 -_080B0162: - cmp r1, 0x2 - bne _080B0168 - b _080B0344 -_080B0168: - b _080B0380 -_080B016A: - adds r0, r4, 0 - bl sub_80755E0 - ldr r1, _080B0194 @ =gSineTable - movs r2, 0x38 - ldrsh r0, [r4, r2] - lsls r0, 1 - adds r0, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - asrs r0, 4 - ldrh r2, [r4, 0x24] - adds r0, r2 - strh r0, [r4, 0x24] - movs r1, 0x3A - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080B0198 - ldrh r0, [r4, 0x38] - subs r0, 0x8 - b _080B019C - .align 2, 0 -_080B0194: .4byte gSineTable -_080B0198: - ldrh r0, [r4, 0x38] - adds r0, 0x8 -_080B019C: - ands r0, r5 - strh r0, [r4, 0x38] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0 - ble _080B01AA - b _080B0380 -_080B01AA: - movs r5, 0x50 - strh r5, [r4, 0x2E] - ldr r6, _080B01F8 @ =gBattleAnimTarget - ldrb r0, [r6] - movs r1, 0 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x20] - strh r0, [r4, 0x30] - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x26] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - strh r0, [r4, 0x34] - adds r0, 0x1D - strh r0, [r4, 0x36] - ldrh r0, [r4, 0x3C] - adds r0, 0x1 - strh r0, [r4, 0x3C] - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080B0200 - ldr r1, _080B01FC @ =gUnknown_2023BD6 - ldrb r0, [r6] - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080B0200 - movs r0, 0xCC - strh r0, [r4, 0x38] - b _080B0202 - .align 2, 0 -_080B01F8: .4byte gBattleAnimTarget -_080B01FC: .4byte gUnknown_2023BD6 -_080B0200: - strh r5, [r4, 0x38] -_080B0202: - movs r0, 0 - strh r0, [r4, 0x26] - ldr r1, _080B022C @ =gSineTable - movs r2, 0x38 - ldrsh r0, [r4, r2] - lsls r0, 1 - adds r0, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - asrs r0, 3 - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x38] - adds r0, 0x2 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x38] - adds r0, r4, 0 - bl obj_translate_based_on_private_1_2_3_4 - b _080B0380 - .align 2, 0 -_080B022C: .4byte gSineTable -_080B0230: - adds r0, r4, 0 - bl sub_80755E0 - ldr r1, _080B028C @ =gSineTable - movs r2, 0x38 - ldrsh r0, [r4, r2] - lsls r0, 1 - adds r0, r1 - movs r2, 0 - ldrsh r0, [r0, r2] - asrs r0, 3 - ldrh r2, [r4, 0x24] - adds r0, r2 - strh r0, [r4, 0x24] - movs r2, 0x38 - ldrsh r0, [r4, r2] - adds r0, 0x40 - lsls r0, 1 - adds r0, r1 - movs r2, 0 - ldrsh r1, [r0, r2] - lsls r0, r1, 1 - adds r0, r1 - negs r0, r0 - asrs r0, 8 - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080B02AE - ldrh r1, [r4, 0x38] - adds r0, r1, 0 - subs r0, 0x40 - lsls r0, 16 - lsrs r0, 16 - adds r3, r1, 0 - cmp r0, 0x7F - bhi _080B0290 - ldrh r1, [r4, 0x3C] - lsls r1, 16 - asrs r1, 24 - b _080B0298 - .align 2, 0 -_080B028C: .4byte gSineTable -_080B0290: - ldrh r1, [r4, 0x3C] - lsls r1, 16 - asrs r1, 24 - adds r1, 0x1 -_080B0298: - movs r0, 0x3 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r4, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x5] - adds r0, r3, 0x4 - b _080B02CE -_080B02AE: - ldrh r0, [r4, 0x38] - subs r0, 0x40 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x7F - bhi _080B02C2 - adds r1, r4, 0 - adds r1, 0x43 - movs r0, 0x80 - b _080B02C8 -_080B02C2: - adds r1, r4, 0 - adds r1, 0x43 - movs r0, 0x8C -_080B02C8: - strb r0, [r1] - ldrh r0, [r4, 0x38] - subs r0, 0x4 -_080B02CE: - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x38] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0 - bgt _080B0380 - movs r5, 0 - movs r0, 0xC0 - lsls r0, 2 - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x24] - ldrh r1, [r4, 0x20] - adds r0, r1 - strh r0, [r4, 0x20] - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x26] - ldrh r2, [r4, 0x22] - adds r0, r2 - strh r0, [r4, 0x22] - strh r0, [r4, 0x34] - adds r0, 0x4 - strh r0, [r4, 0x36] - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080B0328 - ldr r1, _080B0320 @ =gUnknown_2023BD6 - ldr r0, _080B0324 @ =gBattleAnimTarget - ldrb r0, [r0] - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080B0328 - movs r0, 0x80 - lsls r0, 1 - b _080B032A - .align 2, 0 -_080B0320: .4byte gUnknown_2023BD6 -_080B0324: .4byte gBattleAnimTarget -_080B0328: - ldr r0, _080B0340 @ =0x0000fff0 -_080B032A: - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x3C] - adds r0, 0x1 - movs r1, 0 - strh r0, [r4, 0x3C] - strh r1, [r4, 0x26] - strh r1, [r4, 0x24] - adds r0, r4, 0 - bl sub_8075678 - b _080B0380 - .align 2, 0 -_080B0340: .4byte 0x0000fff0 -_080B0344: - adds r0, r4, 0 - bl sub_80755E0 - lsls r0, 24 - cmp r0, 0 - beq _080B0380 - ldrb r0, [r4, 0x1] - lsls r0, 30 - lsrs r0, 30 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080B0372 - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - ldrb r1, [r4, 0x1] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x1] -_080B0372: - adds r0, r4, 0 - bl DestroySprite - ldr r1, _080B0388 @ =gUnknown_2037EE2 - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] -_080B0380: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B0388: .4byte gUnknown_2037EE2 - thumb_func_end sub_80B0148 - - thumb_func_start sub_80B038C -sub_80B038C: @ 80B038C - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _080B03A0 @ =gTasks - adds r1, r0 - ldr r0, _080B03A4 @ =sub_80B03A8 - str r0, [r1] - bx lr - .align 2, 0 -_080B03A0: .4byte gTasks -_080B03A4: .4byte sub_80B03A8 - thumb_func_end sub_80B038C - - thumb_func_start sub_80B03A8 -sub_80B03A8: @ 80B03A8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, _080B03CC @ =gTasks - adds r4, r0, r1 - movs r0, 0x8 - ldrsh r5, [r4, r0] - cmp r5, 0x1 - beq _080B03EC - cmp r5, 0x1 - bgt _080B03D0 - cmp r5, 0 - beq _080B03D6 - b _080B0450 - .align 2, 0 -_080B03CC: .4byte gTasks -_080B03D0: - cmp r5, 0x2 - beq _080B0442 - b _080B0450 -_080B03D6: - ldrh r0, [r4, 0x10] - adds r0, 0x1 - strh r0, [r4, 0x10] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _080B0450 - strh r5, [r4, 0x10] - strh r5, [r4, 0x12] - strh r5, [r4, 0xC] - b _080B0428 -_080B03EC: - ldrh r1, [r4, 0x12] - movs r3, 0x12 - ldrsh r0, [r4, r3] - cmp r0, 0 - bne _080B043C - ldrb r0, [r4, 0xE] - ldrb r1, [r4, 0xC] - movs r3, 0x1 - bl sub_80B0458 - lsls r0, 24 - cmp r0, 0 - beq _080B040C - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] -_080B040C: - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - bne _080B0438 - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA - bne _080B0430 -_080B0428: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080B0450 -_080B0430: - ldrh r0, [r4, 0x8] - subs r0, 0x1 - strh r0, [r4, 0x8] - b _080B0450 -_080B0438: - strh r5, [r4, 0x12] - b _080B0450 -_080B043C: - subs r0, r1, 0x1 - strh r0, [r4, 0x12] - b _080B0450 -_080B0442: - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080B0450 - adds r0, r2, 0 - bl DestroyAnimVisualTask -_080B0450: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80B03A8 - - thumb_func_start sub_80B0458 -sub_80B0458: @ 80B0458 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - lsls r0, 24 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - lsls r2, 24 - lsrs r2, 24 - str r2, [sp] - lsls r3, 24 - lsrs r3, 24 - mov r10, r3 - movs r1, 0 - str r1, [sp, 0x4] - ldr r1, _080B04D0 @ =gUnknown_83E652C - lsrs r0, 22 - adds r4, r0, r1 - ldrb r0, [r4, 0x3] - lsls r0, 24 - asrs r0, 28 - mov r8, r0 - cmp r0, 0x2 - beq _080B0544 - ldrh r0, [r4, 0x2] - lsls r0, 20 - lsrs r0, 24 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r5, 0 - bl sub_8072DF0 - lsls r0, 24 - cmp r0, 0 - beq _080B0544 - movs r0, 0x1 - str r0, [sp, 0x4] - adds r0, r5, 0 - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r7, r0, 24 - adds r0, r5, 0 - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r6, r0, 24 - mov r1, r8 - cmp r1, 0 - beq _080B04D4 - cmp r1, 0x1 - beq _080B050A - b _080B0556 - .align 2, 0 -_080B04D0: .4byte gUnknown_83E652C -_080B04D4: - adds r0, r5, 0 - movs r1, 0x1 - bl sub_8076B2C - lsls r0, 16 - asrs r0, 16 - movs r1, 0x6 - bl __divsi3 - lsls r1, r7, 16 - asrs r1, 16 - subs r1, r0 - lsls r1, 16 - lsrs r7, r1, 16 - adds r0, r5, 0 - movs r1, 0 - bl sub_8076B2C - lsls r0, 16 - asrs r0, 16 - movs r1, 0x6 - bl __divsi3 - lsls r1, r6, 16 - asrs r1, 16 - subs r1, r0 - b _080B053E -_080B050A: - adds r0, r5, 0 - movs r1, 0x1 - bl sub_8076B2C - lsls r0, 16 - asrs r0, 16 - movs r1, 0x6 - bl __divsi3 - lsls r1, r7, 16 - asrs r1, 16 - adds r1, r0 - lsls r1, 16 - lsrs r7, r1, 16 - adds r0, r5, 0 - movs r1, 0 - bl sub_8076B2C - lsls r0, 16 - asrs r0, 16 - movs r1, 0x6 - bl __divsi3 - lsls r1, r6, 16 - asrs r1, 16 - adds r1, r0 -_080B053E: - lsls r1, 16 - lsrs r6, r1, 16 - b _080B0556 -_080B0544: - ldrh r0, [r4] - lsls r0, 22 - asrs r0, 6 - lsrs r7, r0, 16 - ldr r0, [r4] - lsls r0, 12 - asrs r0, 22 - lsls r0, 16 - lsrs r6, r0, 16 -_080B0556: - lsls r0, r6, 16 - asrs r0, 16 - adds r0, 0x8 - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - lsls r1, r7, 16 - asrs r1, 16 - subs r1, r0 - ldr r0, _080B05B0 @ =gUnknown_83E65A4 - lsls r1, 16 - asrs r1, 16 - movs r2, 0x8 - negs r2, r2 - movs r3, 0x12 - bl CreateSprite - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x40 - beq _080B05B8 - lsls r4, r5, 4 - adds r4, r5 - lsls r4, 2 - ldr r0, _080B05B4 @ =gSprites - adds r4, r0 - adds r0, r4, 0 - mov r1, r9 - bl StartSpriteAffineAnim - mov r0, sp - ldrh r0, [r0, 0x4] - strh r0, [r4, 0x2E] - strh r7, [r4, 0x34] - strh r6, [r4, 0x36] - mov r1, r9 - strh r1, [r4, 0x38] - mov r0, sp - ldrh r0, [r0] - strh r0, [r4, 0x3A] - mov r1, r10 - strh r1, [r4, 0x3C] - movs r0, 0x1 - b _080B05BA - .align 2, 0 -_080B05B0: .4byte gUnknown_83E65A4 -_080B05B4: .4byte gSprites -_080B05B8: - movs r0, 0 -_080B05BA: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80B0458 - - thumb_func_start sub_80B05CC -sub_80B05CC: @ 80B05CC - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x20] - adds r0, 0x4 - strh r0, [r4, 0x20] - ldrh r1, [r4, 0x22] - adds r2, r1, 0 - adds r2, 0x8 - strh r2, [r4, 0x22] - lsls r0, 16 - asrs r0, 16 - movs r3, 0x34 - ldrsh r1, [r4, r3] - cmp r0, r1 - bge _080B05F6 - lsls r0, r2, 16 - asrs r0, 16 - movs r2, 0x36 - ldrsh r1, [r4, r2] - cmp r0, r1 - blt _080B06A6 -_080B05F6: - movs r3, 0x2E - ldrsh r0, [r4, r3] - cmp r0, 0x1 - bne _080B0678 - movs r1, 0x38 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080B0678 - ldr r0, _080B066C @ =gUnknown_83E63E0 - movs r2, 0x34 - ldrsh r1, [r4, r2] - movs r3, 0x36 - ldrsh r2, [r4, r3] - adds r3, r4, 0 - adds r3, 0x43 - ldrb r3, [r3] - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x2E] - cmp r0, 0x40 - beq _080B065A - ldr r2, _080B0670 @ =gSprites - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r2, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, _080B0674 @ =sub_80B06B0 - str r1, [r0] - movs r3, 0x2E - ldrsh r1, [r4, r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r4, 0x3A] - strh r1, [r0, 0x3A] - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r4, 0x3C] - strh r1, [r0, 0x3C] -_080B065A: - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - adds r0, r4, 0 - bl DestroySprite - b _080B06A6 - .align 2, 0 -_080B066C: .4byte gUnknown_83E63E0 -_080B0670: .4byte gSprites -_080B0674: .4byte sub_80B06B0 -_080B0678: - ldr r3, _080B06AC @ =gTasks - movs r2, 0x3C - ldrsh r1, [r4, r2] - lsls r1, 1 - movs r0, 0x3A - ldrsh r2, [r4, r0] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r3, 0x8 - adds r1, r3 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - adds r0, r4, 0 - bl DestroySprite -_080B06A6: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B06AC: .4byte gTasks - thumb_func_end sub_80B05CC - - thumb_func_start sub_80B06B0 -sub_80B06B0: @ 80B06B0 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - bne _080B06F0 - ldr r3, _080B06F8 @ =gTasks - movs r0, 0x3C - ldrsh r1, [r4, r0] - lsls r1, 1 - movs r0, 0x3A - ldrsh r2, [r4, r0] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r3, 0x8 - adds r1, r3 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - adds r0, r4, 0 - bl DestroySprite -_080B06F0: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B06F8: .4byte gTasks - thumb_func_end sub_80B06B0 - - thumb_func_start unc_080B06FC -unc_080B06FC: @ 80B06FC - push {r4-r6,lr} - adds r5, r0, 0 - ldr r0, _080B077C @ =gUnknown_2037EE4 - ldr r0, [r0] - ldrb r1, [r0, 0x11] - lsrs r0, r1, 4 - lsls r1, 28 - lsrs r1, 28 - subs r0, r1 - subs r0, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x4 - bls _080B071A - movs r1, 0x4 -_080B071A: - adds r0, r5, 0 - bl StartSpriteAffineAnim - adds r0, r5, 0 - movs r1, 0x1 - bl sub_8075160 - ldr r6, _080B0780 @ =gBattleAnimArgs - ldrh r0, [r6, 0x8] - strh r0, [r5, 0x2E] - ldr r0, _080B0784 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080B0742 - ldrh r0, [r6, 0x4] - negs r0, r0 - strh r0, [r6, 0x4] -_080B0742: - ldr r4, _080B0788 @ =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r6, 0x4] - adds r0, r1 - strh r0, [r5, 0x32] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r6, 0x6] - adds r0, r1 - strh r0, [r5, 0x36] - ldrh r0, [r6, 0xA] - strh r0, [r5, 0x38] - adds r0, r5, 0 - bl sub_8075068 - ldr r0, _080B078C @ =sub_80B0790 - str r0, [r5, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B077C: .4byte gUnknown_2037EE4 -_080B0780: .4byte gBattleAnimArgs -_080B0784: .4byte gBattleAnimAttacker -_080B0788: .4byte gBattleAnimTarget -_080B078C: .4byte sub_80B0790 - thumb_func_end unc_080B06FC - - thumb_func_start sub_80B0790 -sub_80B0790: @ 80B0790 - push {r4,lr} - adds r4, r0, 0 - bl AnimateBallThrow - lsls r0, 24 - cmp r0, 0 - beq _080B07B2 - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAnim - ldr r0, _080B07B8 @ =sub_8074F6C - str r0, [r4, 0x1C] - ldr r1, _080B07BC @ =DestroyAnimSprite - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 -_080B07B2: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B07B8: .4byte sub_8074F6C -_080B07BC: .4byte DestroyAnimSprite - thumb_func_end sub_80B0790 - - thumb_func_start sub_80B07C0 -sub_80B07C0: @ 80B07C0 - push {r4-r6,lr} - adds r4, r0, 0 - ldrh r2, [r4, 0x4] - lsls r1, r2, 22 - lsrs r1, 22 - adds r1, 0x8 - ldr r3, _080B0814 @ =0x000003ff - adds r0, r3, 0 - ands r1, r0 - ldr r0, _080B0818 @ =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r4, 0x4] - adds r0, r4, 0 - movs r1, 0x1 - bl sub_8075114 - bl Random - movs r5, 0xFF - ands r5, r0 - movs r0, 0x80 - lsls r0, 1 - adds r6, r0, 0 - orrs r5, r6 - bl Random - ldr r1, _080B081C @ =0x000001ff - ands r1, r0 - adds r0, r1, 0 - cmp r0, 0xFF - ble _080B0806 - subs r0, r6, r0 - lsls r0, 16 - lsrs r1, r0, 16 -_080B0806: - strh r5, [r4, 0x30] - strh r1, [r4, 0x32] - ldr r0, _080B0820 @ =sub_80B0824 - str r0, [r4, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B0814: .4byte 0x000003ff -_080B0818: .4byte 0xfffffc00 -_080B081C: .4byte 0x000001ff -_080B0820: .4byte sub_80B0824 - thumb_func_end sub_80B07C0 - - thumb_func_start sub_80B0824 -sub_80B0824: @ 80B0824 - push {r4,lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x30] - ldrh r1, [r2, 0x34] - adds r3, r0, r1 - strh r3, [r2, 0x34] - ldrh r1, [r2, 0x32] - ldrh r4, [r2, 0x36] - adds r1, r4 - strh r1, [r2, 0x36] - movs r1, 0x1 - ands r1, r0 - cmp r1, 0 - beq _080B0848 - lsls r0, r3, 16 - asrs r0, 24 - negs r0, r0 - b _080B084C -_080B0848: - lsls r0, r3, 16 - asrs r0, 24 -_080B084C: - strh r0, [r2, 0x24] - ldrh r0, [r2, 0x36] - lsls r0, 16 - asrs r0, 24 - strh r0, [r2, 0x26] - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x15 - bne _080B086A - adds r0, r2, 0 - bl DestroyAnimSprite -_080B086A: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80B0824 - - thumb_func_start sub_80B0870 -sub_80B0870: @ 80B0870 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080B0898 @ =gBattleAnimArgs - ldrb r3, [r1] - lsls r3, 1 - adds r3, r1 - ldr r1, _080B089C @ =gUnknown_2037EE4 - ldr r1, [r1] - ldrb r1, [r1, 0x11] - lsrs r2, r1, 4 - lsls r1, 28 - lsrs r1, 28 - subs r2, r1 - subs r2, 0x1 - strh r2, [r3] - bl DestroyAnimVisualTask - pop {r0} - bx r0 - .align 2, 0 -_080B0898: .4byte gBattleAnimArgs -_080B089C: .4byte gUnknown_2037EE4 - thumb_func_end sub_80B0870 - - thumb_func_start unc_080B08A0 -unc_080B08A0: @ 80B08A0 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, _080B08D0 @ =gBattleAnimArgs - movs r0, 0 - ldrsh r1, [r5, r0] - adds r0, r4, 0 - bl sub_8074FF8 - ldrh r0, [r5, 0x2] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - movs r0, 0xF - strh r0, [r4, 0x2E] - ldr r0, _080B08D4 @ =sub_8074C44 - str r0, [r4, 0x1C] - ldr r1, _080B08D8 @ =DestroyAnimSprite - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B08D0: .4byte gBattleAnimArgs -_080B08D4: .4byte sub_8074C44 -_080B08D8: .4byte DestroyAnimSprite - thumb_func_end unc_080B08A0 - - thumb_func_start sub_80B08DC -sub_80B08DC: @ 80B08DC - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, _080B0920 @ =gBattleAnimArgs - movs r1, 0xE - ldrsh r0, [r4, r1] - cmp r0, 0x1 - bne _080B0904 - ldr r0, _080B0924 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080B0904 - ldrh r0, [r4, 0x2] - negs r0, r0 - strh r0, [r4, 0x2] - ldrh r0, [r4, 0x6] - negs r0, r0 - strh r0, [r4, 0x6] -_080B0904: - ldr r4, _080B0920 @ =gBattleAnimArgs - ldrb r1, [r4, 0xC] - adds r0, r5, 0 - bl StartSpriteAnim - movs r0, 0 - strh r0, [r4, 0xC] - adds r0, r5, 0 - bl sub_8075F0C - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B0920: .4byte gBattleAnimArgs -_080B0924: .4byte gBattleAnimAttacker - thumb_func_end sub_80B08DC - - thumb_func_start sub_80B0928 -sub_80B0928: @ 80B0928 - push {r4,lr} - adds r4, r0, 0 - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - beq _080B0944 - ldr r0, _080B0950 @ =gBattleAnimArgs - ldrh r1, [r0, 0x2] - negs r1, r1 - strh r1, [r0, 0x2] - ldrh r1, [r0, 0x6] - negs r1, r1 - strh r1, [r0, 0x6] -_080B0944: - adds r0, r4, 0 - bl sub_80B08DC - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B0950: .4byte gBattleAnimArgs - thumb_func_end sub_80B0928 - - thumb_func_start sub_80B0954 -sub_80B0954: @ 80B0954 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, _080B0974 @ =gBattleAnimArgs - ldrb r1, [r4, 0x8] - bl StartSpriteAnim - movs r1, 0x6 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080B0978 - adds r0, r5, 0 - movs r1, 0x1 - bl sub_8075160 - b _080B0980 - .align 2, 0 -_080B0974: .4byte gBattleAnimArgs -_080B0978: - adds r0, r5, 0 - movs r1, 0x1 - bl sub_8075114 -_080B0980: - ldr r0, _080B0998 @ =gBattleAnimArgs - ldrh r0, [r0, 0x4] - strh r0, [r5, 0x2E] - ldr r0, _080B099C @ =sub_8074C44 - str r0, [r5, 0x1C] - ldr r1, _080B09A0 @ =DestroyAnimSprite - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B0998: .4byte gBattleAnimArgs -_080B099C: .4byte sub_8074C44 -_080B09A0: .4byte DestroyAnimSprite - thumb_func_end sub_80B0954 - - thumb_func_start sub_80B09A4 -sub_80B09A4: @ 80B09A4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r5, r0, 0 - ldr r0, _080B09C0 @ =gBattleAnimArgs - movs r2, 0 - ldrsh r1, [r0, r2] - mov r9, r0 - cmp r1, 0 - bne _080B09C8 - ldr r0, _080B09C4 @ =gBattleAnimAttacker - b _080B09CA - .align 2, 0 -_080B09C0: .4byte gBattleAnimArgs -_080B09C4: .4byte gBattleAnimAttacker -_080B09C8: - ldr r0, _080B0B10 @ =gBattleAnimTarget -_080B09CA: - ldrb r0, [r0] - mov r8, r0 - mov r4, r9 - movs r3, 0x4 - ldrsh r0, [r4, r3] - cmp r0, 0 - bge _080B09E8 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x5 - bl __umodsi3 - strh r0, [r4, 0x4] -_080B09E8: - ldrb r1, [r4, 0x4] - adds r0, r5, 0 - bl StartSpriteAnim - mov r0, r8 - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - mov r0, r8 - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - mov r0, r8 - movs r1, 0x1 - bl sub_8076B2C - lsls r0, 16 - asrs r1, r0, 16 - lsrs r0, 31 - adds r1, r0 - lsls r1, 15 - lsrs r6, r1, 16 - mov r0, r8 - movs r1, 0 - bl sub_8076B2C - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _080B0A32 - adds r0, 0x3 -_080B0A32: - lsls r4, r0, 14 - lsrs r4, 16 - bl Random - lsls r0, 16 - lsrs r0, 16 - lsls r1, r6, 16 - asrs r1, 16 - bl __modsi3 - lsls r0, 16 - lsrs r6, r0, 16 - bl Random - lsls r0, 16 - lsrs r0, 16 - lsls r4, 16 - asrs r4, 16 - adds r1, r4, 0 - bl __modsi3 - lsls r0, 16 - lsrs r4, r0, 16 - bl Random - movs r7, 0x1 - adds r1, r7, 0 - ands r1, r0 - cmp r1, 0 - beq _080B0A74 - lsls r0, r6, 16 - negs r0, r0 - lsrs r6, r0, 16 -_080B0A74: - bl Random - adds r1, r7, 0 - ands r1, r0 - cmp r1, 0 - beq _080B0A86 - lsls r0, r4, 16 - negs r0, r0 - lsrs r4, r0, 16 -_080B0A86: - ldr r0, _080B0B14 @ =gUnknown_2023BD6 - add r0, r8 - ldrb r1, [r0] - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0 - bne _080B0A9C - lsls r0, r4, 16 - ldr r1, _080B0B18 @ =0xfff00000 - adds r0, r1 - lsrs r4, r0, 16 -_080B0A9C: - lsls r0, r6, 16 - asrs r0, 16 - ldrh r2, [r5, 0x20] - adds r0, r2 - strh r0, [r5, 0x20] - lsls r0, r4, 16 - asrs r0, 16 - ldrh r3, [r5, 0x22] - adds r0, r3 - strh r0, [r5, 0x22] - mov r1, r9 - ldrh r0, [r1, 0x2] - strh r0, [r5, 0x2E] - ldr r0, _080B0B1C @ =gUnknown_83E7C08 - movs r2, 0x20 - ldrsh r1, [r5, r2] - movs r3, 0x22 - ldrsh r2, [r5, r3] - adds r3, r5, 0 - adds r3, 0x43 - ldrb r3, [r3] - adds r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x3C] - cmp r0, 0x40 - beq _080B0B00 - movs r0, 0x3C - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _080B0B20 @ =gSprites - adds r0, r4 - movs r1, 0 - bl StartSpriteAffineAnim - movs r2, 0x3C - ldrsh r1, [r5, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r4, 0x1C - adds r0, r4 - ldr r1, _080B0B24 @ =SpriteCallbackDummy - str r1, [r0] -_080B0B00: - ldr r0, _080B0B28 @ =sub_80B0B2C - str r0, [r5, 0x1C] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B0B10: .4byte gBattleAnimTarget -_080B0B14: .4byte gUnknown_2023BD6 -_080B0B18: .4byte 0xfff00000 -_080B0B1C: .4byte gUnknown_83E7C08 -_080B0B20: .4byte gSprites -_080B0B24: .4byte SpriteCallbackDummy -_080B0B28: .4byte sub_80B0B2C - thumb_func_end sub_80B09A4 - - thumb_func_start sub_80B0B2C -sub_80B0B2C: @ 80B0B2C - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r1, [r5, 0x2E] - movs r2, 0x2E - ldrsh r0, [r5, r2] - cmp r0, 0 - bne _080B0B74 - movs r1, 0x3C - ldrsh r0, [r5, r1] - cmp r0, 0x40 - beq _080B0B68 - ldr r4, _080B0B70 @ =gSprites - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r0, [r0, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - movs r0, 0x3C - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite -_080B0B68: - adds r0, r5, 0 - bl DestroyAnimSprite - b _080B0B78 - .align 2, 0 -_080B0B70: .4byte gSprites -_080B0B74: - subs r0, r1, 0x1 - strh r0, [r5, 0x2E] -_080B0B78: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80B0B2C - - thumb_func_start sub_80B0B80 -sub_80B0B80: @ 80B0B80 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl sub_8075114 - movs r0, 0x1E - strh r0, [r4, 0x2E] - ldr r0, _080B0BA0 @ =gBattleAnimArgs - movs r1, 0x4 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080B0BA4 - ldrh r0, [r4, 0x20] - subs r0, 0x14 - strh r0, [r4, 0x32] - b _080B0BB6 - .align 2, 0 -_080B0BA0: .4byte gBattleAnimArgs -_080B0BA4: - ldrh r0, [r4, 0x20] - adds r0, 0x14 - strh r0, [r4, 0x32] - adds r2, r4, 0 - adds r2, 0x3F - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] -_080B0BB6: - ldrh r0, [r4, 0x22] - subs r0, 0x14 - strh r0, [r4, 0x36] - ldr r0, _080B0BD0 @ =sub_8075590 - str r0, [r4, 0x1C] - ldr r1, _080B0BD4 @ =sub_80B0BD8 - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B0BD0: .4byte sub_8075590 -_080B0BD4: .4byte sub_80B0BD8 - thumb_func_end sub_80B0B80 - - thumb_func_start sub_80B0BD8 -sub_80B0BD8: @ 80B0BD8 - push {r4-r6,lr} - adds r5, r0, 0 - ldrh r0, [r5, 0x38] - adds r0, 0x1 - movs r6, 0 - strh r0, [r5, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xB - bne _080B0C18 - ldrh r2, [r5, 0x20] - ldrh r4, [r5, 0x24] - subs r0, r2, r4 - strh r0, [r5, 0x32] - ldrh r1, [r5, 0x22] - ldrh r3, [r5, 0x26] - subs r0, r1, r3 - strh r0, [r5, 0x36] - movs r0, 0x8 - strh r0, [r5, 0x2E] - adds r2, r4 - strh r2, [r5, 0x20] - adds r1, r3 - strh r1, [r5, 0x22] - strh r6, [r5, 0x26] - strh r6, [r5, 0x24] - ldr r0, _080B0C20 @ =sub_8075590 - str r0, [r5, 0x1C] - ldr r1, _080B0C24 @ =DestroyAnimSprite - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 -_080B0C18: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B0C20: .4byte sub_8075590 -_080B0C24: .4byte DestroyAnimSprite - thumb_func_end sub_80B0BD8 - - thumb_func_start sub_80B0C28 -sub_80B0C28: @ 80B0C28 - push {r4-r6,lr} - adds r6, r0, 0 - ldr r0, _080B0CA4 @ =gBattleAnimAttacker - ldrb r1, [r0] - movs r0, 0x2 - ldr r2, _080B0CA8 @ =gBattleAnimTarget - eors r0, r1 - ldrb r1, [r2] - cmp r0, r1 - bne _080B0C54 - ldrb r0, [r2] - bl GetBattlerPosition - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bhi _080B0C54 - ldr r1, _080B0CAC @ =gBattleAnimArgs - movs r2, 0 - ldrsh r0, [r1, r2] - negs r0, r0 - strh r0, [r1] -_080B0C54: - adds r0, r6, 0 - movs r1, 0x1 - bl sub_8075114 - ldr r0, _080B0CA4 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080B0C72 - ldr r1, _080B0CAC @ =gBattleAnimArgs - ldrh r0, [r1, 0x4] - negs r0, r0 - strh r0, [r1, 0x4] -_080B0C72: - ldr r4, _080B0CAC @ =gBattleAnimArgs - ldrh r0, [r4, 0x6] - movs r5, 0 - strh r0, [r6, 0x2E] - ldrh r0, [r6, 0x20] - strh r0, [r6, 0x30] - ldrh r1, [r4, 0x4] - adds r0, r1 - strh r0, [r6, 0x32] - ldrh r0, [r6, 0x22] - strh r0, [r6, 0x34] - strh r0, [r6, 0x36] - adds r0, r6, 0 - bl obj_translate_based_on_private_1_2_3_4 - ldrh r0, [r4, 0xA] - strh r0, [r6, 0x38] - ldrh r0, [r4, 0x8] - strh r0, [r6, 0x3A] - strh r5, [r6, 0x3C] - ldr r0, _080B0CB0 @ =sub_80B0CB4 - str r0, [r6, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B0CA4: .4byte gBattleAnimAttacker -_080B0CA8: .4byte gBattleAnimTarget -_080B0CAC: .4byte gBattleAnimArgs -_080B0CB0: .4byte sub_80B0CB4 - thumb_func_end sub_80B0C28 - - thumb_func_start sub_80B0CB4 -sub_80B0CB4: @ 80B0CB4 - push {r4,lr} - adds r4, r0, 0 - bl sub_80755E0 - lsls r0, 24 - cmp r0, 0 - bne _080B0CE0 - ldrh r0, [r4, 0x3C] - lsls r0, 16 - asrs r0, 24 - movs r2, 0x38 - ldrsh r1, [r4, r2] - bl Sin - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x3A] - ldrh r2, [r4, 0x3C] - adds r0, r2 - strh r0, [r4, 0x3C] - b _080B0CE6 -_080B0CE0: - adds r0, r4, 0 - bl DestroyAnimSprite -_080B0CE6: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80B0CB4 - - thumb_func_start sub_80B0CEC -sub_80B0CEC: @ 80B0CEC - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl sub_8075114 - ldr r5, _080B0D18 @ =gBattleAnimArgs - ldrb r1, [r5, 0x4] - adds r0, r4, 0 - bl StartSpriteAnim - ldrh r0, [r5, 0x6] - strh r0, [r4, 0x2E] - ldr r0, _080B0D1C @ =sub_8074C44 - str r0, [r4, 0x1C] - ldr r1, _080B0D20 @ =sub_80B0D24 - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B0D18: .4byte gBattleAnimArgs -_080B0D1C: .4byte sub_8074C44 -_080B0D20: .4byte sub_80B0D24 - thumb_func_end sub_80B0CEC - - thumb_func_start sub_80B0D24 -sub_80B0D24: @ 80B0D24 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0 - bl StartSpriteAffineAnim - adds r2, r4, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - movs r0, 0x14 - strh r0, [r4, 0x2E] - ldr r0, _080B0D50 @ =sub_8074C44 - str r0, [r4, 0x1C] - ldr r1, _080B0D54 @ =DestroyAnimSprite - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B0D50: .4byte sub_8074C44 -_080B0D54: .4byte DestroyAnimSprite - thumb_func_end sub_80B0D24 - - thumb_func_start sub_80B0D58 -sub_80B0D58: @ 80B0D58 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl sub_8075114 - ldr r0, _080B0D74 @ =gBattleAnimArgs - ldrh r0, [r0, 0x4] - strh r0, [r4, 0x2E] - ldr r0, _080B0D78 @ =sub_80B0D7C - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B0D74: .4byte gBattleAnimArgs -_080B0D78: .4byte sub_80B0D7C - thumb_func_end sub_80B0D58 - - thumb_func_start sub_80B0D7C -sub_80B0D7C: @ 80B0D7C - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r0, [r5, 0x2E] - subs r0, 0x1 - strh r0, [r5, 0x2E] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _080B0DC0 - movs r0, 0x6 - strh r0, [r5, 0x2E] - ldr r4, _080B0DC8 @ =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x32] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x36] - ldr r0, _080B0DCC @ =sub_8075590 - str r0, [r5, 0x1C] - ldr r1, _080B0DD0 @ =sub_80B0DD4 - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 -_080B0DC0: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B0DC8: .4byte gBattleAnimTarget -_080B0DCC: .4byte sub_8075590 -_080B0DD0: .4byte sub_80B0DD4 - thumb_func_end sub_80B0D7C - - thumb_func_start sub_80B0DD4 -sub_80B0DD4: @ 80B0DD4 - push {lr} - movs r1, 0xF - strh r1, [r0, 0x2E] - ldr r1, _080B0DE8 @ =sub_8074C44 - str r1, [r0, 0x1C] - ldr r1, _080B0DEC @ =DestroyAnimSprite - bl StoreSpriteCallbackInData6 - pop {r0} - bx r0 - .align 2, 0 -_080B0DE8: .4byte sub_8074C44 -_080B0DEC: .4byte DestroyAnimSprite - thumb_func_end sub_80B0DD4 - - thumb_func_start sub_80B0DF0 -sub_80B0DF0: @ 80B0DF0 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080B0E1C - adds r0, r4, 0 - movs r1, 0x1 - bl sub_8075114 - ldr r1, _080B0E18 @ =gBattleAnimArgs - ldrh r0, [r1, 0x4] - strh r0, [r4, 0x30] - ldrh r0, [r1, 0x6] - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _080B0E78 - .align 2, 0 -_080B0E18: .4byte gBattleAnimArgs -_080B0E1C: - ldrh r0, [r4, 0x30] - ldrh r2, [r4, 0x36] - adds r0, r2 - strh r0, [r4, 0x36] - lsls r0, 16 - asrs r0, 24 - strh r0, [r4, 0x24] - movs r1, 0x34 - ldrsh r0, [r4, r1] - movs r2, 0x32 - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x34] - adds r0, 0x3 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x34] - cmp r0, 0x64 - ble _080B0E6A - movs r0, 0x34 - ldrsh r1, [r4, r0] - lsrs r0, r1, 31 - adds r0, r1, r0 - asrs r0, 1 - lsls r0, 1 - subs r1, r0 - adds r3, r4, 0 - adds r3, 0x3E - movs r0, 0x1 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r3] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] -_080B0E6A: - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, 0x78 - ble _080B0E78 - adds r0, r4, 0 - bl DestroyAnimSprite -_080B0E78: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80B0DF0 - - thumb_func_start sub_80B0E80 -sub_80B0E80: @ 80B0E80 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, _080B0E94 @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080B0E9C - ldr r4, _080B0E98 @ =gBattleAnimAttacker - b _080B0E9E - .align 2, 0 -_080B0E94: .4byte gBattleAnimArgs -_080B0E98: .4byte gBattleAnimAttacker -_080B0E9C: - ldr r4, _080B0EE4 @ =gBattleAnimTarget -_080B0E9E: - ldrb r0, [r4] - movs r1, 0 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - ldr r1, _080B0EE8 @ =gBattleAnimArgs - ldrh r0, [r1, 0x2] - ldrh r2, [r5, 0x20] - adds r0, r2 - movs r2, 0 - strh r0, [r5, 0x20] - ldrh r0, [r1, 0x4] - ldrh r3, [r5, 0x22] - adds r0, r3 - strh r0, [r5, 0x22] - strh r2, [r5, 0x2E] - ldrh r0, [r1, 0x6] - strh r0, [r5, 0x30] - ldrh r0, [r1, 0x8] - strh r0, [r5, 0x32] - strh r2, [r5, 0x34] - ldr r0, _080B0EEC @ =sub_80B0EF0 - str r0, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B0EE4: .4byte gBattleAnimTarget -_080B0EE8: .4byte gBattleAnimArgs -_080B0EEC: .4byte sub_80B0EF0 - thumb_func_end sub_80B0E80 - - thumb_func_start sub_80B0EF0 -sub_80B0EF0: @ 80B0EF0 - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - cmp r2, 0 - beq _080B0F02 - cmp r2, 0x1 - beq _080B0F26 - b _080B0F60 -_080B0F02: - ldrh r0, [r1, 0x30] - subs r0, 0x1 - strh r0, [r1, 0x30] - lsls r0, 16 - cmp r0, 0 - bne _080B0F60 - movs r2, 0x32 - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _080B0F1E - adds r0, r1, 0 - bl DestroyAnimSprite - b _080B0F60 -_080B0F1E: - ldrh r0, [r1, 0x2E] - adds r0, 0x1 - strh r0, [r1, 0x2E] - b _080B0F60 -_080B0F26: - ldrh r0, [r1, 0x30] - adds r0, 0x1 - strh r0, [r1, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080B0F4E - movs r0, 0 - strh r0, [r1, 0x30] - ldrh r0, [r1, 0x34] - adds r0, 0x1 - strh r0, [r1, 0x34] - ands r0, r2 - lsls r0, 16 - cmp r0, 0 - beq _080B0F4A - movs r0, 0x2 - b _080B0F4C -_080B0F4A: - ldr r0, _080B0F64 @ =0x0000fffe -_080B0F4C: - strh r0, [r1, 0x24] -_080B0F4E: - ldrh r0, [r1, 0x32] - subs r0, 0x1 - strh r0, [r1, 0x32] - lsls r0, 16 - cmp r0, 0 - bne _080B0F60 - adds r0, r1, 0 - bl DestroyAnimSprite -_080B0F60: - pop {r0} - bx r0 - .align 2, 0 -_080B0F64: .4byte 0x0000fffe - thumb_func_end sub_80B0EF0 - - thumb_func_start sub_80B0F68 -sub_80B0F68: @ 80B0F68 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r6, _080B0F8C @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _080B0F94 - ldr r4, _080B0F90 @ =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r2, [r6, 0x4] - adds r0, r2 - b _080B0FA6 - .align 2, 0 -_080B0F8C: .4byte gBattleAnimArgs -_080B0F90: .4byte gBattleAnimAttacker -_080B0F94: - ldr r4, _080B0FF0 @ =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r6, 0x4] - adds r0, r1 -_080B0FA6: - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r6, [r6, 0x6] - adds r0, r6 - strh r0, [r5, 0x22] - ldrh r2, [r5, 0x4] - lsls r1, r2, 22 - lsrs r1, 22 - ldr r3, _080B0FF4 @ =gBattleAnimArgs - movs r4, 0x2 - ldrsh r0, [r3, r4] - lsls r0, 4 - adds r1, r0 - ldr r4, _080B0FF8 @ =0x000003ff - adds r0, r4, 0 - ands r1, r0 - ldr r0, _080B0FFC @ =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r5, 0x4] - movs r1, 0 - movs r0, 0 - strh r0, [r5, 0x2E] - movs r2, 0x2 - ldrsh r0, [r3, r2] - cmp r0, 0x1 - beq _080B1014 - cmp r0, 0x1 - bgt _080B1000 - cmp r0, 0 - beq _080B100A - b _080B103A - .align 2, 0 -_080B0FF0: .4byte gBattleAnimTarget -_080B0FF4: .4byte gBattleAnimArgs -_080B0FF8: .4byte 0x000003ff -_080B0FFC: .4byte 0xfffffc00 -_080B1000: - cmp r0, 0x2 - beq _080B1024 - cmp r0, 0x3 - beq _080B1034 - b _080B103A -_080B100A: - ldr r0, _080B1010 @ =0x0000fffd - b _080B1034 - .align 2, 0 -_080B1010: .4byte 0x0000fffd -_080B1014: - movs r0, 0x3 - strh r0, [r5, 0x3A] - ldr r0, _080B1020 @ =0x0000fffd - strh r0, [r5, 0x3C] - b _080B1042 - .align 2, 0 -_080B1020: .4byte 0x0000fffd -_080B1024: - ldr r0, _080B1030 @ =0x0000fffd - strh r0, [r5, 0x3A] - movs r0, 0x3 - strh r0, [r5, 0x3C] - b _080B1042 - .align 2, 0 -_080B1030: .4byte 0x0000fffd -_080B1034: - strh r0, [r5, 0x3A] - strh r0, [r5, 0x3C] - b _080B1042 -_080B103A: - adds r0, r5, 0 - bl DestroyAnimSprite - b _080B1046 -_080B1042: - ldr r0, _080B104C @ =sub_80B1050 - str r0, [r5, 0x1C] -_080B1046: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B104C: .4byte sub_80B1050 - thumb_func_end sub_80B0F68 - - thumb_func_start sub_80B1050 -sub_80B1050: @ 80B1050 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x3A] - ldrh r2, [r1, 0x20] - adds r0, r2 - strh r0, [r1, 0x20] - ldrh r0, [r1, 0x3C] - ldrh r2, [r1, 0x22] - adds r0, r2 - strh r0, [r1, 0x22] - ldrh r0, [r1, 0x2E] - adds r0, 0x1 - strh r0, [r1, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x28 - ble _080B1078 - adds r0, r1, 0 - bl DestroyAnimSprite -_080B1078: - pop {r0} - bx r0 - thumb_func_end sub_80B1050 - - thumb_func_start sub_80B107C -sub_80B107C: @ 80B107C - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, _080B10C8 @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080B10D8 - ldr r4, _080B10CC @ =sBattler_AI - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - ldr r0, _080B10D0 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl sub_8076884 - movs r1, 0x3 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r5, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x5] - ldr r0, _080B10D4 @ =gBattleAnimTarget - b _080B10F4 - .align 2, 0 -_080B10C8: .4byte gBattleAnimArgs -_080B10CC: .4byte sBattler_AI -_080B10D0: .4byte gBattleAnimAttacker -_080B10D4: .4byte gBattleAnimTarget -_080B10D8: - ldr r0, _080B1110 @ =gBattleAnimTarget - ldrb r0, [r0] - bl sub_8076884 - movs r1, 0x3 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r5, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x5] - ldr r0, _080B1114 @ =gBattleAnimAttacker -_080B10F4: - ldrb r0, [r0] - strh r0, [r5, 0x3C] - movs r0, 0 - strh r0, [r5, 0x2E] - movs r0, 0xC - strh r0, [r5, 0x30] - movs r0, 0x8 - strh r0, [r5, 0x32] - ldr r0, _080B1118 @ =sub_80B111C - str r0, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B1110: .4byte gBattleAnimTarget -_080B1114: .4byte gBattleAnimAttacker -_080B1118: .4byte sub_80B111C - thumb_func_end sub_80B107C - - thumb_func_start sub_80B111C -sub_80B111C: @ 80B111C - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xB4 - bne _080B1178 - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x10 - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x20] - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x3C] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x22] - strh r0, [r4, 0x34] - ldrh r0, [r4, 0x3C] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x36] - adds r0, r4, 0 - bl obj_translate_based_on_private_1_2_3_4 - ldr r1, _080B1180 @ =move_anim_8074EE0 - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - ldr r0, _080B1184 @ =sub_807563C - str r0, [r4, 0x1C] -_080B1178: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B1180: .4byte move_anim_8074EE0 -_080B1184: .4byte sub_807563C - thumb_func_end sub_80B111C - - thumb_func_start sub_80B1188 -sub_80B1188: @ 80B1188 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, _080B11D4 @ =gBattleAnimArgs - ldrh r0, [r4] - strh r0, [r5, 0x20] - movs r2, 0x78 - strh r2, [r5, 0x22] - ldrh r0, [r4, 0x6] - strh r0, [r5, 0x2E] - adds r0, r5, 0 - adds r0, 0x36 - adds r1, r5, 0 - adds r1, 0x38 - lsls r2, 8 - bl sub_80765C0 - ldrh r0, [r4, 0x2] - strh r0, [r5, 0x3A] - ldrh r2, [r5, 0x4] - lsls r1, r2, 22 - lsrs r1, 22 - movs r3, 0x4 - ldrsh r0, [r4, r3] - lsls r0, 2 - adds r1, r0 - ldr r3, _080B11D8 @ =0x000003ff - adds r0, r3, 0 - ands r1, r0 - ldr r0, _080B11DC @ =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r5, 0x4] - ldr r0, _080B11E0 @ =sub_80B11E4 - str r0, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B11D4: .4byte gBattleAnimArgs -_080B11D8: .4byte 0x000003ff -_080B11DC: .4byte 0xfffffc00 -_080B11E0: .4byte sub_80B11E4 - thumb_func_end sub_80B1188 - - thumb_func_start sub_80B11E4 -sub_80B11E4: @ 80B11E4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r7, r0, 0 - movs r1, 0x2E - ldrsh r0, [r7, r1] - cmp r0, 0 - beq _080B1236 - movs r2, 0x36 - ldrsh r0, [r7, r2] - movs r2, 0x38 - ldrsh r1, [r7, r2] - bl sub_80765C8 - adds r4, r0, 0 - movs r1, 0x3A - ldrsh r0, [r7, r1] - subs r4, r0 - adds r0, r7, 0 - adds r0, 0x36 - adds r1, r7, 0 - adds r1, 0x38 - adds r2, r4, 0 - bl sub_80765C0 - asrs r4, 8 - strh r4, [r7, 0x22] - lsls r4, 16 - asrs r4, 16 - movs r0, 0x8 - negs r0, r0 - cmp r4, r0 - bge _080B122E - adds r0, r7, 0 - bl DestroyAnimSprite - b _080B128C -_080B122E: - ldrh r0, [r7, 0x2E] - subs r0, 0x1 - strh r0, [r7, 0x2E] - b _080B128C -_080B1236: - ldr r4, _080B1298 @ =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r2, _080B129C @ =gBattleAnimTarget - mov r8, r2 - ldrb r0, [r2] - movs r1, 0x2 - bl sub_8074480 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - mov r1, r8 - ldrb r0, [r1] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - subs r4, r6 - strh r4, [r7, 0x2E] - lsrs r0, 24 - subs r0, r5 - strh r0, [r7, 0x30] - ldrh r0, [r7, 0x20] - lsls r0, 4 - strh r0, [r7, 0x32] - ldrh r0, [r7, 0x22] - lsls r0, 4 - strh r0, [r7, 0x34] - ldr r0, _080B12A0 @ =sub_80B12A4 - str r0, [r7, 0x1C] -_080B128C: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B1298: .4byte gBattleAnimAttacker -_080B129C: .4byte gBattleAnimTarget -_080B12A0: .4byte sub_80B12A4 - thumb_func_end sub_80B11E4 - - thumb_func_start sub_80B12A4 -sub_80B12A4: @ 80B12A4 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x2E] - ldrh r1, [r2, 0x32] - adds r0, r1 - strh r0, [r2, 0x32] - ldrh r1, [r2, 0x30] - ldrh r3, [r2, 0x34] - adds r1, r3 - strh r1, [r2, 0x34] - lsls r0, 16 - asrs r0, 20 - strh r0, [r2, 0x20] - lsls r1, 16 - asrs r3, r1, 20 - strh r3, [r2, 0x22] - adds r0, 0x8 - lsls r0, 16 - movs r1, 0x80 - lsls r1, 17 - cmp r0, r1 - bhi _080B12DE - adds r1, r3, 0 - movs r0, 0x8 - negs r0, r0 - cmp r1, r0 - blt _080B12DE - cmp r1, 0x78 - ble _080B12E4 -_080B12DE: - adds r0, r2, 0 - bl DestroyAnimSprite -_080B12E4: - pop {r0} - bx r0 - thumb_func_end sub_80B12A4 - - thumb_func_start sub_80B12E8 -sub_80B12E8: @ 80B12E8 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, _080B131C @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080B132C - ldr r4, _080B1320 @ =sBattler_AI - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - ldr r0, _080B1324 @ =gBattleAnimTarget - ldrb r4, [r0] - ldr r0, _080B1328 @ =gBattleAnimAttacker - b _080B1332 - .align 2, 0 -_080B131C: .4byte gBattleAnimArgs -_080B1320: .4byte sBattler_AI -_080B1324: .4byte gBattleAnimTarget -_080B1328: .4byte gBattleAnimAttacker -_080B132C: - ldr r0, _080B1364 @ =gBattleAnimAttacker - ldrb r4, [r0] - ldr r0, _080B1368 @ =gBattleAnimTarget -_080B1332: - ldrb r0, [r0] - bl sub_8076884 - movs r1, 0x3 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r5, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x5] - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - beq _080B136C - ldrb r2, [r5, 0x3] - lsls r1, r2, 26 - lsrs r1, 27 - movs r0, 0x8 - orrs r1, r0 - lsls r1, 1 - subs r0, 0x47 - b _080B1386 - .align 2, 0 -_080B1364: .4byte gBattleAnimAttacker -_080B1368: .4byte gBattleAnimTarget -_080B136C: - adds r0, r4, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080B138C - ldrb r2, [r5, 0x3] - lsls r1, r2, 26 - lsrs r1, 27 - movs r0, 0x18 - orrs r1, r0 - lsls r1, 1 - subs r0, 0x57 -_080B1386: - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x3] -_080B138C: - movs r0, 0x10 - strh r0, [r5, 0x2E] - ldrh r0, [r5, 0x20] - strh r0, [r5, 0x30] - adds r0, r4, 0 - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x32] - ldrh r0, [r5, 0x22] - strh r0, [r5, 0x34] - adds r0, r4, 0 - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x36] - adds r0, r5, 0 - bl obj_translate_based_on_private_1_2_3_4 - ldr r1, _080B13CC @ =DestroyAnimSprite - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 - ldr r0, _080B13D0 @ =sub_807563C - str r0, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B13CC: .4byte DestroyAnimSprite -_080B13D0: .4byte sub_807563C - thumb_func_end sub_80B12E8 - - thumb_func_start sub_80B13D4 -sub_80B13D4: @ 80B13D4 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x2E - ldrsh r1, [r4, r0] - movs r2, 0x36 - ldrsh r0, [r4, r2] - cmp r1, r0 - bne _080B13EA - adds r0, r4, 0 - bl DestroyAnimSprite -_080B13EA: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80B13D4 - - thumb_func_start sub_80B13F8 -sub_80B13F8: @ 80B13F8 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r4, _080B1474 @ =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - ldr r1, _080B1478 @ =gBattleAnimArgs - ldrh r0, [r1, 0x6] - strh r0, [r5, 0x30] - ldrh r0, [r1] - strh r0, [r5, 0x32] - ldrh r0, [r1, 0x2] - strh r0, [r5, 0x34] - ldrh r0, [r1, 0x4] - strh r0, [r5, 0x36] - ldr r0, _080B147C @ =gUnknown_2037F16 - ldrb r6, [r0] - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080B1442 - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_080B1442: - movs r0, 0x1 - ands r6, r0 - cmp r6, 0 - beq _080B1456 - ldrh r0, [r5, 0x32] - negs r0, r0 - strh r0, [r5, 0x32] - ldrh r0, [r5, 0x30] - adds r0, 0x1 - strh r0, [r5, 0x30] -_080B1456: - ldrh r1, [r5, 0x30] - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl StartSpriteAnim - ldrh r0, [r5, 0x32] - strh r0, [r5, 0x24] - ldrh r0, [r5, 0x34] - strh r0, [r5, 0x26] - ldr r0, _080B1480 @ =sub_80B13D4 - str r0, [r5, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B1474: .4byte gBattleAnimTarget -_080B1478: .4byte gBattleAnimArgs -_080B147C: .4byte gUnknown_2037F16 -_080B1480: .4byte sub_80B13D4 - thumb_func_end sub_80B13F8 - - thumb_func_start sub_80B1484 -sub_80B1484: @ 80B1484 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _080B149C @ =gBattleAnimArgs - movs r1, 0x4 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080B14A0 - adds r0, r4, 0 - movs r1, 0 - bl sub_8075160 - b _080B14A8 - .align 2, 0 -_080B149C: .4byte gBattleAnimArgs -_080B14A0: - adds r0, r4, 0 - movs r1, 0 - bl sub_8075114 -_080B14A8: - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - beq _080B14BC - adds r0, r4, 0 - movs r1, 0x2 - bl StartSpriteAnim - b _080B14D2 -_080B14BC: - ldr r0, _080B14E4 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080B14D2 - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAnim -_080B14D2: - ldr r0, _080B14E8 @ =sub_8074F6C - str r0, [r4, 0x1C] - ldr r1, _080B14EC @ =DestroyAnimSprite - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B14E4: .4byte gBattleAnimAttacker -_080B14E8: .4byte sub_8074F6C -_080B14EC: .4byte DestroyAnimSprite - thumb_func_end sub_80B1484 - - thumb_func_start sub_80B14F0 -sub_80B14F0: @ 80B14F0 - push {r4,lr} - adds r4, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080B152A - ldrh r0, [r4, 0x30] - adds r0, 0x28 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x30] - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r1, 0x2 - bl Sin - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x28 - ble _080B152A - adds r0, r4, 0 - bl DestroyAnimSprite -_080B152A: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80B14F0 - - thumb_func_start sub_80B1530 -sub_80B1530: @ 80B1530 - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, _080B1560 @ =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _080B1568 - cmp r0, 0x1 - bgt _080B1582 - cmp r0, 0 - bne _080B1582 - movs r0, 0 - bl sub_8075458 - ldr r0, _080B1564 @ =gBattleAnimArgs - ldrh r0, [r0] - strh r0, [r4, 0x18] - b _080B157A - .align 2, 0 -_080B1560: .4byte gTasks -_080B1564: .4byte gBattleAnimArgs -_080B1568: - ldrh r0, [r4, 0x18] - subs r0, 0x1 - strh r0, [r4, 0x18] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _080B158E -_080B157A: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080B158E -_080B1582: - movs r2, 0xA0 - lsls r2, 3 - adds r0, r2, 0 - ldrh r1, [r4, 0x1A] - adds r0, r1 - strh r0, [r4, 0x1A] -_080B158E: - movs r2, 0xB0 - lsls r2, 4 - adds r0, r2, 0 - ldrh r1, [r4, 0x1C] - adds r0, r1 - strh r0, [r4, 0x1C] - ldr r0, _080B15BC @ =gBattleAnimTarget - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080B15C4 - ldr r1, _080B15C0 @ =gBattle_BG3_X - ldrh r0, [r4, 0x1A] - lsls r0, 16 - asrs r0, 24 - ldrh r2, [r1] - adds r0, r2 - strh r0, [r1] - adds r7, r1, 0 - b _080B15D4 - .align 2, 0 -_080B15BC: .4byte gBattleAnimTarget -_080B15C0: .4byte gBattle_BG3_X -_080B15C4: - ldr r2, _080B1614 @ =gBattle_BG3_X - ldrh r1, [r4, 0x1A] - lsls r1, 16 - asrs r1, 24 - ldrh r0, [r2] - subs r0, r1 - strh r0, [r2] - adds r7, r2, 0 -_080B15D4: - ldr r3, _080B1618 @ =gBattle_BG3_Y - ldrh r2, [r4, 0x1C] - lsls r0, r2, 16 - asrs r0, 24 - ldrh r1, [r3] - adds r0, r1 - strh r0, [r3] - movs r0, 0xFF - ldrb r1, [r4, 0x1A] - movs r5, 0 - strh r1, [r4, 0x1A] - ands r0, r2 - strh r0, [r4, 0x1C] - ldr r0, _080B161C @ =gBattleAnimArgs - movs r2, 0xE - ldrsh r1, [r0, r2] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _080B160C - strh r5, [r7] - strh r5, [r3] - movs r0, 0x1 - bl sub_8075458 - adds r0, r6, 0 - bl DestroyAnimVisualTask -_080B160C: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B1614: .4byte gBattle_BG3_X -_080B1618: .4byte gBattle_BG3_Y -_080B161C: .4byte gBattleAnimArgs - thumb_func_end sub_80B1530 - - thumb_func_start sub_80B1620 -sub_80B1620: @ 80B1620 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, _080B1674 @ =gBattleAnimArgs - movs r1, 0x6 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080B1636 - adds r0, r5, 0 - movs r1, 0x2 - bl StartSpriteAnim -_080B1636: - adds r0, r5, 0 - movs r1, 0x1 - bl sub_8075160 - ldrh r0, [r4, 0x4] - strh r0, [r5, 0x2E] - ldr r4, _080B1678 @ =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x32] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x36] - ldr r0, _080B167C @ =0x0000ffe2 - strh r0, [r5, 0x38] - adds r0, r5, 0 - bl sub_8075068 - ldr r0, _080B1680 @ =sub_80B1684 - str r0, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B1674: .4byte gBattleAnimArgs -_080B1678: .4byte gBattleAnimTarget -_080B167C: .4byte 0x0000ffe2 -_080B1680: .4byte sub_80B1684 - thumb_func_end sub_80B1620 - - thumb_func_start sub_80B1684 -sub_80B1684: @ 80B1684 - push {r4,lr} - adds r4, r0, 0 - bl AnimateBallThrow - lsls r0, 24 - cmp r0, 0 - beq _080B1698 - adds r0, r4, 0 - bl DestroyAnimSprite -_080B1698: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80B1684 - - thumb_func_start sub_80B16A0 -sub_80B16A0: @ 80B16A0 - push {r4-r6,lr} - sub sp, 0x4 - adds r4, r0, 0 - ldr r5, _080B1714 @ =gBattleAnimArgs - movs r1, 0x6 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _080B16B8 - adds r0, r4, 0 - movs r1, 0x2 - bl StartSpriteAnim -_080B16B8: - adds r0, r4, 0 - movs r1, 0x1 - bl sub_8075160 - ldr r0, _080B1718 @ =gBattleAnimTarget - ldrb r0, [r0] - mov r6, sp - adds r6, 0x2 - movs r1, 0x1 - mov r2, sp - adds r3, r6, 0 - bl sub_8076D9C - ldr r0, _080B171C @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080B16E6 - ldrh r0, [r5, 0x8] - negs r0, r0 - strh r0, [r5, 0x8] -_080B16E6: - ldrh r0, [r5, 0x4] - strh r0, [r4, 0x2E] - mov r1, sp - ldrh r0, [r5, 0x8] - ldrh r1, [r1] - adds r0, r1 - strh r0, [r4, 0x32] - ldrh r0, [r5, 0xA] - ldrh r6, [r6] - adds r0, r6 - strh r0, [r4, 0x36] - ldr r0, _080B1720 @ =0x0000ffe2 - strh r0, [r4, 0x38] - adds r0, r4, 0 - bl sub_8075068 - ldr r0, _080B1724 @ =sub_80B1728 - str r0, [r4, 0x1C] - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B1714: .4byte gBattleAnimArgs -_080B1718: .4byte gBattleAnimTarget -_080B171C: .4byte gBattleAnimAttacker -_080B1720: .4byte 0x0000ffe2 -_080B1724: .4byte sub_80B1728 - thumb_func_end sub_80B16A0 - - thumb_func_start sub_80B1728 -sub_80B1728: @ 80B1728 - push {r4,lr} - adds r4, r0, 0 - bl AnimateBallThrow - lsls r0, 24 - cmp r0, 0 - beq _080B173C - adds r0, r4, 0 - bl DestroyAnimSprite -_080B173C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80B1728 - - thumb_func_start sub_80B1744 -sub_80B1744: @ 80B1744 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, _080B1790 @ =gBattleAnimArgs - ldrh r0, [r5, 0x4] - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x20] - strh r0, [r4, 0x30] - ldrh r1, [r5] - adds r0, r1 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x22] - strh r0, [r4, 0x34] - ldrh r1, [r5, 0x2] - adds r0, r1 - strh r0, [r4, 0x36] - adds r0, r4, 0 - bl sub_80754B8 - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r2, 0x4 - ldrsh r1, [r5, r2] - bl __divsi3 - strh r0, [r4, 0x38] - movs r1, 0x32 - ldrsh r0, [r4, r1] - movs r2, 0x4 - ldrsh r1, [r5, r2] - bl __divsi3 - strh r0, [r4, 0x3A] - ldr r0, _080B1794 @ =sub_80B1798 - str r0, [r4, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B1790: .4byte gBattleAnimArgs -_080B1794: .4byte sub_80B1798 - thumb_func_end sub_80B1744 - - thumb_func_start sub_80B1798 -sub_80B1798: @ 80B1798 - push {r4,lr} - adds r4, r0, 0 - bl sub_8074D00 - ldrh r0, [r4, 0x30] - ldrh r1, [r4, 0x38] - subs r0, r1 - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x32] - ldrh r1, [r4, 0x3A] - subs r0, r1 - strh r0, [r4, 0x32] - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080B17BE - adds r0, r4, 0 - bl DestroyAnimSprite -_080B17BE: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80B1798 - - thumb_func_start sub_80B17C4 -sub_80B17C4: @ 80B17C4 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _080B1824 @ =gBattleAnimTarget - ldrb r0, [r0] - adds r2, r4, 0 - adds r2, 0x20 - adds r3, r4, 0 - adds r3, 0x22 - movs r1, 0x1 - bl sub_8076D9C - ldr r0, _080B1828 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080B17F0 - ldr r1, _080B182C @ =gBattleAnimArgs - ldrh r0, [r1] - negs r0, r0 - strh r0, [r1] -_080B17F0: - ldr r0, _080B182C @ =gBattleAnimArgs - ldrh r2, [r0] - ldrh r1, [r4, 0x20] - adds r2, r1 - strh r2, [r4, 0x20] - ldrh r1, [r0, 0x2] - ldrh r3, [r4, 0x22] - adds r1, r3 - strh r1, [r4, 0x22] - ldrh r3, [r0, 0x8] - strh r3, [r4, 0x2E] - ldrh r0, [r0, 0x4] - adds r2, r0 - strh r2, [r4, 0x32] - adds r1, r3 - strh r1, [r4, 0x36] - ldr r0, _080B1830 @ =sub_8075590 - str r0, [r4, 0x1C] - ldr r1, _080B1834 @ =DestroyAnimSprite - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B1824: .4byte gBattleAnimTarget -_080B1828: .4byte gBattleAnimAttacker -_080B182C: .4byte gBattleAnimArgs -_080B1830: .4byte sub_8075590 -_080B1834: .4byte DestroyAnimSprite - thumb_func_end sub_80B17C4 - - thumb_func_start sub_80B1838 -sub_80B1838: @ 80B1838 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, _080B1850 @ =gBattleAnimArgs - movs r1, 0x4 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _080B1854 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_8075114 - b _080B188A - .align 2, 0 -_080B1850: .4byte gBattleAnimArgs -_080B1854: - ldr r0, _080B1894 @ =gBattleAnimTarget - ldrb r0, [r0] - adds r2, r4, 0 - adds r2, 0x20 - adds r3, r4, 0 - adds r3, 0x22 - movs r1, 0x1 - bl sub_8076D9C - ldr r0, _080B1898 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080B187A - ldrh r0, [r5] - negs r0, r0 - strh r0, [r5] -_080B187A: - ldrh r0, [r5] - ldrh r1, [r4, 0x20] - adds r0, r1 - strh r0, [r4, 0x20] - ldrh r0, [r5, 0x2] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] -_080B188A: - ldr r0, _080B189C @ =sub_80B18A0 - str r0, [r4, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B1894: .4byte gBattleAnimTarget -_080B1898: .4byte gBattleAnimAttacker -_080B189C: .4byte sub_80B18A0 - thumb_func_end sub_80B1838 - - thumb_func_start sub_80B18A0 -sub_80B18A0: @ 80B18A0 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r0, 0xB - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x2E] - movs r1, 0x2E - ldrsh r0, [r4, r1] - movs r1, 0x4 - bl Sin - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x30] - adds r0, 0x30 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 24 - negs r0, r0 - strh r0, [r4, 0x26] - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080B18DC - adds r0, r4, 0 - bl DestroyAnimSprite -_080B18DC: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80B18A0 - - thumb_func_start sub_80B18E4 -sub_80B18E4: @ 80B18E4 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0 - bl sub_8075114 - ldrh r0, [r4, 0x22] - adds r0, 0x14 - strh r0, [r4, 0x22] - movs r0, 0xBF - strh r0, [r4, 0x30] - ldr r1, _080B1908 @ =sub_80B190C - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B1908: .4byte sub_80B190C - thumb_func_end sub_80B18E4 - - thumb_func_start sub_80B190C -sub_80B190C: @ 80B190C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r1, 0x20 - bl Sin - strh r0, [r4, 0x24] - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r1, 0x8 - bl Cos - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x30] - adds r0, 0x5 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x47 - bne _080B1946 - adds r0, r4, 0 - bl DestroyAnimSprite -_080B1946: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80B190C - - thumb_func_start sub_80B194C -sub_80B194C: @ 80B194C - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080B197C @ =gTasks - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - adds r4, r1 - ldr r1, _080B1980 @ =gBattleAnimArgs - ldrh r0, [r1, 0x2] - strh r0, [r4, 0x8] - ldrh r0, [r1] - strh r0, [r4, 0xA] - ldr r0, _080B1984 @ =0x00002719 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0xC] - ldr r0, _080B1988 @ =sub_80B198C - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B197C: .4byte gTasks -_080B1980: .4byte gBattleAnimArgs -_080B1984: .4byte 0x00002719 -_080B1988: .4byte sub_80B198C - thumb_func_end sub_80B194C - - thumb_func_start sub_80B198C -sub_80B198C: @ 80B198C - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r2, _080B1A0C @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r3, r0, r2 - ldrh r0, [r3, 0x1C] - adds r1, r0, 0x1 - strh r1, [r3, 0x1C] - lsls r0, 16 - asrs r0, 16 - movs r4, 0xA - ldrsh r1, [r3, r4] - adds r7, r2, 0 - cmp r0, r1 - bne _080B19EA - movs r0, 0 - strh r0, [r3, 0x1C] - ldrb r0, [r3, 0xC] - ldr r2, _080B1A10 @ =gPlttBufferFaded - lsls r0, 4 - movs r3, 0x84 - lsls r3, 1 - adds r1, r0, r3 - lsls r1, 1 - adds r1, r2 - ldrh r6, [r1] - movs r4, 0x7 - mov r12, r0 - ldr r0, _080B1A14 @ =0x00000107 - add r0, r12 - lsls r0, 1 - adds r3, r0, r2 -_080B19D2: - ldrh r0, [r3] - strh r0, [r1] - subs r3, 0x2 - subs r1, 0x2 - subs r4, 0x1 - cmp r4, 0 - bgt _080B19D2 - ldr r0, _080B1A18 @ =0x00000101 - add r0, r12 - lsls r0, 1 - adds r0, r2 - strh r6, [r0] -_080B19EA: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r7 - ldrh r1, [r0, 0x8] - subs r1, 0x1 - strh r1, [r0, 0x8] - lsls r1, 16 - cmp r1, 0 - bne _080B1A04 - adds r0, r5, 0 - bl DestroyAnimVisualTask -_080B1A04: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B1A0C: .4byte gTasks -_080B1A10: .4byte gPlttBufferFaded -_080B1A14: .4byte 0x00000107 -_080B1A18: .4byte 0x00000101 - thumb_func_end sub_80B198C - - thumb_func_start sub_80B1A1C -sub_80B1A1C: @ 80B1A1C - push {r4-r6,lr} - adds r6, r0, 0 - movs r1, 0x1 - bl sub_8075160 - ldr r0, _080B1A88 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080B1A3C - ldr r1, _080B1A8C @ =gBattleAnimArgs - ldrh r0, [r1, 0x4] - negs r0, r0 - strh r0, [r1, 0x4] -_080B1A3C: - ldr r4, _080B1A8C @ =gBattleAnimArgs - ldrh r0, [r4, 0x8] - strh r0, [r6, 0x2E] - ldrh r0, [r6, 0x20] - strh r0, [r6, 0x30] - ldr r5, _080B1A90 @ =gBattleAnimTarget - ldrb r0, [r5] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x4] - adds r0, r1 - strh r0, [r6, 0x32] - ldrh r0, [r6, 0x22] - strh r0, [r6, 0x34] - ldrb r0, [r5] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r4, [r4, 0x6] - adds r0, r4 - strh r0, [r6, 0x36] - adds r0, r6, 0 - bl obj_translate_based_on_private_1_2_3_4 - ldr r0, _080B1A94 @ =sub_8074F50 - str r0, [r6, 0x1C] - ldr r1, _080B1A98 @ =sub_80B1A9C - adds r0, r6, 0 - bl StoreSpriteCallbackInData6 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B1A88: .4byte gBattleAnimAttacker -_080B1A8C: .4byte gBattleAnimArgs -_080B1A90: .4byte gBattleAnimTarget -_080B1A94: .4byte sub_8074F50 -_080B1A98: .4byte sub_80B1A9C - thumb_func_end sub_80B1A1C - - thumb_func_start sub_80B1A9C -sub_80B1A9C: @ 80B1A9C - push {r4,lr} - adds r4, r0, 0 - bl sub_80755E0 - lsls r0, 24 - cmp r0, 0 - beq _080B1AB0 - adds r0, r4, 0 - bl DestroyAnimSprite -_080B1AB0: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80B1A9C - - thumb_func_start sub_80B1AB8 -sub_80B1AB8: @ 80B1AB8 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, _080B1B54 @ =gBattleAnimAttacker - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080B1AE4 - ldr r1, _080B1B58 @ =gBattleAnimArgs - ldrh r0, [r1] - negs r0, r0 - strh r0, [r1] - ldrh r0, [r1, 0x2] - negs r0, r0 - strh r0, [r1, 0x2] - ldrh r0, [r1, 0x4] - negs r0, r0 - strh r0, [r1, 0x4] - ldrh r0, [r1, 0x6] - negs r0, r0 - strh r0, [r1, 0x6] -_080B1AE4: - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - beq _080B1AFC - ldr r0, _080B1B58 @ =gBattleAnimArgs - ldrh r1, [r0, 0x2] - negs r1, r1 - strh r1, [r0, 0x2] - ldrh r1, [r0, 0x6] - negs r1, r1 - strh r1, [r0, 0x6] -_080B1AFC: - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - ldr r2, _080B1B58 @ =gBattleAnimArgs - ldrh r1, [r2] - ldrh r3, [r5, 0x20] - adds r1, r3 - strh r1, [r5, 0x20] - lsrs r0, 24 - ldrh r1, [r2, 0x2] - adds r0, r1 - strh r0, [r5, 0x22] - ldrh r0, [r2, 0x8] - strh r0, [r5, 0x2E] - movs r3, 0xC - ldrsh r0, [r2, r3] - cmp r0, 0 - bne _080B1B60 - ldr r4, _080B1B5C @ =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x32] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x36] - b _080B1B72 - .align 2, 0 -_080B1B54: .4byte gBattleAnimAttacker -_080B1B58: .4byte gBattleAnimArgs -_080B1B5C: .4byte gBattleAnimTarget -_080B1B60: - ldr r0, _080B1BA0 @ =gBattleAnimTarget - ldrb r0, [r0] - adds r2, r5, 0 - adds r2, 0x32 - adds r3, r5, 0 - adds r3, 0x36 - movs r1, 0x1 - bl sub_8076D9C -_080B1B72: - ldr r4, _080B1BA4 @ =gBattleAnimArgs - ldrh r0, [r4, 0x4] - ldrh r1, [r5, 0x32] - adds r0, r1 - strh r0, [r5, 0x32] - ldrh r0, [r4, 0x6] - ldrh r3, [r5, 0x36] - adds r0, r3 - strh r0, [r5, 0x36] - ldr r0, _080B1BA8 @ =sub_8075590 - str r0, [r5, 0x1C] - ldr r1, _080B1BAC @ =DestroyAnimSprite - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 - ldrb r1, [r4, 0xA] - adds r0, r5, 0 - bl SeekSpriteAnim - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B1BA0: .4byte gBattleAnimTarget -_080B1BA4: .4byte gBattleAnimArgs -_080B1BA8: .4byte sub_8075590 -_080B1BAC: .4byte DestroyAnimSprite - thumb_func_end sub_80B1AB8 - - thumb_func_start sub_80B1BB0 -sub_80B1BB0: @ 80B1BB0 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl sub_8075160 - ldr r1, _080B1BEC @ =gBattleAnimArgs - ldrh r0, [r1, 0x4] - strh r0, [r4, 0x2E] - ldrh r0, [r1, 0x6] - strh r0, [r4, 0x30] - ldr r0, _080B1BF0 @ =sub_80B1BF8 - str r0, [r4, 0x1C] - movs r0, 0 - bl GetAnimBankSpriteId - ldr r2, _080B1BF4 @ =gSprites - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B1BEC: .4byte gBattleAnimArgs -_080B1BF0: .4byte sub_80B1BF8 -_080B1BF4: .4byte gSprites - thumb_func_end sub_80B1BB0 - - thumb_func_start sub_80B1BF8 -sub_80B1BF8: @ 80B1BF8 - push {lr} - adds r2, r0, 0 - ldrh r1, [r2, 0x2E] - movs r3, 0x2E - ldrsh r0, [r2, r3] - cmp r0, 0 - ble _080B1C0C - subs r0, r1, 0x1 - strh r0, [r2, 0x2E] - b _080B1C1E -_080B1C0C: - ldrh r0, [r2, 0x30] - ldrh r1, [r2, 0x32] - adds r0, r1 - strh r0, [r2, 0x32] - lsls r0, 16 - asrs r0, 24 - ldrh r1, [r2, 0x26] - subs r1, r0 - strh r1, [r2, 0x26] -_080B1C1E: - movs r3, 0x22 - ldrsh r0, [r2, r3] - movs r3, 0x26 - ldrsh r1, [r2, r3] - adds r0, r1 - movs r1, 0x20 - negs r1, r1 - cmp r0, r1 - bge _080B1C36 - adds r0, r2, 0 - bl DestroyAnimSprite -_080B1C36: - pop {r0} - bx r0 - thumb_func_end sub_80B1BF8 - - thumb_func_start sub_80B1C3C -sub_80B1C3C: @ 80B1C3C - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, _080B1C64 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080B1C6C - movs r0, 0x88 - lsls r0, 1 - strh r0, [r5, 0x20] - ldr r0, _080B1C68 @ =0x0000ffe0 - strh r0, [r5, 0x22] - adds r0, r5, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - b _080B1C72 - .align 2, 0 -_080B1C64: .4byte gBattleAnimAttacker -_080B1C68: .4byte 0x0000ffe0 -_080B1C6C: - ldr r0, _080B1CB0 @ =0x0000ffe0 - strh r0, [r5, 0x20] - strh r0, [r5, 0x22] -_080B1C72: - ldr r0, _080B1CB4 @ =gBattleAnimArgs - ldrh r0, [r0] - strh r0, [r5, 0x2E] - ldrh r0, [r5, 0x20] - strh r0, [r5, 0x30] - ldr r4, _080B1CB8 @ =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x32] - ldrh r0, [r5, 0x22] - strh r0, [r5, 0x34] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x36] - adds r0, r5, 0 - bl obj_translate_based_on_private_1_2_3_4 - ldr r0, _080B1CBC @ =sub_80B1CC0 - str r0, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B1CB0: .4byte 0x0000ffe0 -_080B1CB4: .4byte gBattleAnimArgs -_080B1CB8: .4byte gBattleAnimTarget -_080B1CBC: .4byte sub_80B1CC0 - thumb_func_end sub_80B1C3C - - thumb_func_start sub_80B1CC0 -sub_80B1CC0: @ 80B1CC0 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x1 - strh r0, [r4, 0x2E] - adds r0, r4, 0 - bl sub_80755E0 - ldrh r1, [r4, 0x34] - lsrs r0, r1, 8 - cmp r0, 0xC8 - bls _080B1CE8 - ldrh r0, [r4, 0x24] - ldrh r2, [r4, 0x20] - adds r0, r2 - strh r0, [r4, 0x20] - movs r0, 0 - strh r0, [r4, 0x24] - movs r0, 0xFF - ands r0, r1 - strh r0, [r4, 0x34] -_080B1CE8: - movs r1, 0x20 - ldrsh r0, [r4, r1] - movs r2, 0x24 - ldrsh r1, [r4, r2] - adds r0, r1 - adds r0, 0x20 - movs r1, 0x98 - lsls r1, 1 - cmp r0, r1 - bhi _080B1D0A - movs r1, 0x22 - ldrsh r0, [r4, r1] - movs r2, 0x26 - ldrsh r1, [r4, r2] - adds r0, r1 - cmp r0, 0xA0 - ble _080B1D30 -_080B1D0A: - movs r0, 0 - bl GetAnimBankSpriteId - ldr r2, _080B1D38 @ =gSprites - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - adds r1, 0x3E - ldrb r2, [r1] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - adds r0, r4, 0 - bl DestroyAnimSprite -_080B1D30: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B1D38: .4byte gSprites - thumb_func_end sub_80B1CC0 - - thumb_func_start sub_80B1D3C -sub_80B1D3C: @ 80B1D3C - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - subs r1, r0, 0x1 - strh r1, [r4, 0x2E] - lsls r0, 16 - cmp r0, 0 - bgt _080B1D7C - ldrb r0, [r4, 0x1] - lsls r0, 30 - lsrs r0, 30 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080B1D6E - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - ldrb r1, [r4, 0x1] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x1] -_080B1D6E: - adds r0, r4, 0 - bl DestroySprite - ldr r1, _080B1D84 @ =gUnknown_2037EE2 - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] -_080B1D7C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B1D84: .4byte gUnknown_2037EE2 - thumb_func_end sub_80B1D3C - - thumb_func_start sub_80B1D88 -sub_80B1D88: @ 80B1D88 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r7, r0, 0 - adds r5, r7, 0 - adds r5, 0x2E - ldr r0, _080B1DA8 @ =gBattleAnimArgs - ldrh r1, [r0, 0xE] - movs r0, 0x80 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - beq _080B1DB0 - ldr r0, _080B1DAC @ =gBattleAnimAttacker - b _080B1DB2 - .align 2, 0 -_080B1DA8: .4byte gBattleAnimArgs -_080B1DAC: .4byte gBattleAnimAttacker -_080B1DB0: - ldr r0, _080B1E5C @ =gBattleAnimTarget -_080B1DB2: - ldrb r6, [r0] - adds r0, r6, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080B1DC8 - ldr r1, _080B1E60 @ =gBattleAnimArgs - ldrh r0, [r1] - negs r0, r0 - strh r0, [r1] -_080B1DC8: - adds r0, r6, 0 - movs r1, 0 - bl sub_8074480 - lsls r0, 24 - ldr r4, _080B1E60 @ =gBattleAnimArgs - lsrs r0, 24 - ldrh r1, [r4] - adds r0, r1 - strh r0, [r7, 0x20] - adds r0, r6, 0 - movs r1, 0x1 - bl sub_8074480 - lsls r0, 24 - ldrh r1, [r4, 0x2] - lsrs r0, 24 - adds r1, r0, r1 - strh r1, [r7, 0x22] - lsls r1, 8 - strh r1, [r5, 0x8] - ldrh r1, [r4, 0xC] - adds r0, r1 - lsls r0, 1 - ldrh r2, [r5, 0xE] - movs r1, 0x1 - ands r1, r2 - orrs r1, r0 - strh r1, [r5, 0xE] - ldrb r0, [r5] - movs r2, 0x4 - mov r8, r2 - mov r1, r8 - orrs r0, r1 - strb r0, [r5] - ldrh r0, [r4, 0x4] - ldrb r1, [r4, 0x4] - strh r1, [r5, 0x2] - lsls r0, 16 - lsrs r0, 24 - strh r0, [r5, 0xA] - ldrh r0, [r4, 0x6] - strh r0, [r5, 0x4] - ldrh r0, [r4, 0x8] - strh r0, [r5, 0x6] - ldrh r0, [r4, 0xA] - strh r0, [r5, 0xC] - subs r1, 0x40 - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0x7F - bhi _080B1EBE - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080B1E64 - adds r0, r6, 0 - bl sub_8076884 - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x1 - movs r1, 0x3 - ands r0, r1 - lsls r0, 2 - ldrb r2, [r7, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r7, 0x5] - b _080B1E7C - .align 2, 0 -_080B1E5C: .4byte gBattleAnimTarget -_080B1E60: .4byte gBattleAnimArgs -_080B1E64: - adds r0, r6, 0 - bl sub_8076884 - movs r1, 0x3 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r7, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r7, 0x5] -_080B1E7C: - ldrb r1, [r5, 0xE] - movs r4, 0x2 - negs r4, r4 - adds r0, r4, 0 - ands r0, r1 - strb r0, [r5, 0xE] - movs r2, 0x4 - ldrsh r0, [r5, r2] - movs r1, 0x80 - lsls r1, 8 - ands r0, r1 - cmp r0, 0 - bne _080B1F1E - adds r3, r7, 0 - adds r3, 0x3F - ldrb r2, [r3] - lsls r0, r2, 31 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - adds r0, r4, 0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - lsls r0, 31 - lsrs r0, 31 - adds r1, r7, 0 - adds r1, 0x2A - strb r0, [r1] - ldrb r0, [r3] - movs r1, 0x4 - orrs r0, r1 - b _080B1F16 -_080B1EBE: - adds r0, r6, 0 - bl sub_8076884 - movs r1, 0x3 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r7, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r7, 0x5] - ldrb r0, [r5, 0xE] - movs r4, 0x1 - orrs r0, r4 - strb r0, [r5, 0xE] - movs r1, 0x4 - ldrsh r0, [r5, r1] - movs r1, 0x80 - lsls r1, 8 - ands r0, r1 - cmp r0, 0 - beq _080B1F1E - adds r3, r7, 0 - adds r3, 0x3F - ldrb r2, [r3] - lsls r1, r2, 31 - lsrs r1, 31 - movs r0, 0x1 - eors r1, r0 - ands r1, r4 - movs r0, 0x2 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - lsls r0, 31 - lsrs r0, 31 - adds r1, r7, 0 - adds r1, 0x2A - strb r0, [r1] - ldrb r0, [r3] - mov r2, r8 - orrs r0, r2 -_080B1F16: - movs r1, 0x11 - negs r1, r1 - ands r0, r1 - strb r0, [r3] -_080B1F1E: - ldrh r1, [r5, 0x2] - lsrs r1, 6 - lsls r1, 4 - ldrb r2, [r5] - movs r0, 0xF - ands r0, r2 - orrs r0, r1 - strb r0, [r5] - ldr r3, _080B1F88 @ =gSineTable - ldrh r0, [r5, 0x2] - lsls r0, 1 - adds r0, r3 - movs r2, 0 - ldrsh r1, [r0, r2] - ldrb r0, [r5, 0xC] - muls r0, r1 - asrs r0, 8 - strh r0, [r7, 0x24] - ldrb r2, [r7, 0x3] - lsls r2, 26 - lsrs r2, 27 - movs r1, 0x24 - ldrsh r0, [r7, r1] - negs r0, r0 - asrs r0, 1 - ldrb r5, [r5, 0xA] - adds r0, r5 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r3 - ldrh r4, [r1] - ldr r1, _080B1F8C @ =gOamMatrices - lsls r2, 3 - adds r2, r1 - adds r0, 0x40 - lsls r0, 1 - adds r0, r3 - ldrh r0, [r0] - strh r0, [r2, 0x6] - strh r0, [r2] - strh r4, [r2, 0x2] - lsls r0, r4, 16 - asrs r0, 16 - negs r0, r0 - strh r0, [r2, 0x4] - ldr r0, _080B1F90 @ =sub_80B1F94 - str r0, [r7, 0x1C] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B1F88: .4byte gSineTable -_080B1F8C: .4byte gOamMatrices -_080B1F90: .4byte sub_80B1F94 - thumb_func_end sub_80B1D88 - - thumb_func_start sub_80B1F94 -sub_80B1F94: @ 80B1F94 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r5, r0, 0 - movs r6, 0 - adds r4, r5, 0 - adds r4, 0x2E - ldrb r2, [r4] - movs r7, 0x1 - movs r0, 0x1 - mov r9, r0 - ands r0, r2 - cmp r0, 0 - beq _080B1FCE - ldrb r0, [r4, 0x1] - adds r1, r0, 0 - adds r1, 0xFF - strb r1, [r4, 0x1] - lsls r0, 24 - cmp r0, 0 - beq _080B1FC2 - b _080B24AA -_080B1FC2: - movs r0, 0x2 - negs r0, r0 - ands r0, r2 - strb r0, [r4] - strb r6, [r4, 0x1] - b _080B24AA -_080B1FCE: - ldrh r0, [r4, 0x2] - lsrs r1, r0, 6 - mov r12, r0 - cmp r1, 0x1 - bne _080B1FDA - b _080B20FE -_080B1FDA: - cmp r1, 0x1 - bgt _080B1FE4 - cmp r1, 0 - beq _080B1FF2 - b _080B23F0 -_080B1FE4: - cmp r1, 0x2 - bne _080B1FEA - b _080B21F2 -_080B1FEA: - cmp r1, 0x3 - bne _080B1FF0 - b _080B22E6 -_080B1FF0: - b _080B23F0 -_080B1FF2: - lsls r1, r2, 24 - lsrs r0, r1, 28 - cmp r0, 0x1 - bne _080B2006 - movs r0, 0x8 - orrs r0, r2 - orrs r0, r7 - strb r0, [r4] - strb r6, [r4, 0x1] - b _080B20F4 -_080B2006: - lsrs r0, r1, 28 - cmp r0, 0x3 - bne _080B2028 - lsls r0, r2, 30 - lsrs r0, 31 - movs r1, 0x1 - eors r0, r1 - ands r0, r7 - lsls r0, 1 - movs r1, 0x3 - negs r1, r1 - ands r1, r2 - orrs r1, r0 - orrs r1, r7 - strb r1, [r4] - strb r6, [r4, 0x1] - b _080B20F4 -_080B2028: - movs r0, 0x8 - ands r0, r2 - cmp r0, 0 - beq _080B20F4 - adds r3, r5, 0 - adds r3, 0x3F - ldrb r2, [r3] - lsls r1, r2, 31 - lsrs r1, 31 - movs r6, 0x1 - eors r1, r6 - ands r1, r7 - movs r0, 0x2 - negs r0, r0 - mov r8, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - lsls r0, 31 - lsrs r0, 31 - adds r1, r5, 0 - adds r1, 0x2A - strb r0, [r1] - ldrb r0, [r3] - movs r1, 0x4 - orrs r0, r1 - movs r1, 0x11 - negs r1, r1 - ands r0, r1 - strb r0, [r3] - ldrb r1, [r4] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080B20E6 - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080B20B6 - ldrb r1, [r4, 0xE] - mov r0, r9 - ands r0, r1 - cmp r0, 0 - bne _080B209C - ldrb r2, [r5, 0x5] - lsls r1, r2, 28 - lsrs r1, 30 - subs r1, 0x1 - movs r0, 0x3 - ands r1, r0 - lsls r1, 2 - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x5] - b _080B20D4 -_080B209C: - ldrb r2, [r5, 0x5] - lsls r1, r2, 28 - lsrs r1, 30 - adds r1, 0x1 - movs r0, 0x3 - ands r1, r0 - lsls r1, 2 - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x5] - b _080B20D4 -_080B20B6: - ldrb r1, [r4, 0xE] - mov r0, r9 - ands r0, r1 - cmp r0, 0 - bne _080B20CA - adds r1, r5, 0 - adds r1, 0x43 - ldrb r0, [r1] - subs r0, 0xC - b _080B20D2 -_080B20CA: - adds r1, r5, 0 - adds r1, 0x43 - ldrb r0, [r1] - adds r0, 0xC -_080B20D2: - strb r0, [r1] -_080B20D4: - ldrb r2, [r4, 0xE] - lsls r0, r2, 31 - lsrs r0, 31 - eors r0, r6 - ands r0, r7 - mov r1, r8 - ands r1, r2 - orrs r1, r0 - strb r1, [r4, 0xE] -_080B20E6: - ldrb r1, [r4] - movs r0, 0x9 - negs r0, r0 - ands r0, r1 - strb r0, [r4] - ldrh r1, [r4, 0x2] - mov r12, r1 -_080B20F4: - ldrb r1, [r4] - movs r0, 0xF - ands r0, r1 - strb r0, [r4] - b _080B23F0 -_080B20FE: - lsls r1, r2, 24 - lsrs r0, r1, 28 - cmp r0, 0 - bne _080B210C - movs r0, 0x8 - orrs r0, r2 - b _080B2114 -_080B210C: - lsrs r0, r1, 28 - cmp r0, 0x2 - bne _080B211C - adds r0, r2, 0 -_080B2114: - orrs r0, r7 - strb r0, [r4] - strb r6, [r4, 0x1] - b _080B21E8 -_080B211C: - movs r0, 0x8 - ands r0, r2 - cmp r0, 0 - beq _080B21E8 - adds r3, r5, 0 - adds r3, 0x3F - ldrb r2, [r3] - lsls r1, r2, 31 - lsrs r1, 31 - movs r6, 0x1 - eors r1, r6 - ands r1, r7 - movs r0, 0x2 - negs r0, r0 - mov r8, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - lsls r0, 31 - lsrs r0, 31 - adds r1, r5, 0 - adds r1, 0x2A - strb r0, [r1] - ldrb r0, [r3] - movs r1, 0x4 - orrs r0, r1 - movs r1, 0x11 - negs r1, r1 - ands r0, r1 - strb r0, [r3] - ldrb r1, [r4] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080B21DA - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080B21AA - ldrb r1, [r4, 0xE] - mov r0, r9 - ands r0, r1 - cmp r0, 0 - bne _080B2190 - ldrb r2, [r5, 0x5] - lsls r1, r2, 28 - lsrs r1, 30 - subs r1, 0x1 - movs r0, 0x3 - ands r1, r0 - lsls r1, 2 - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x5] - b _080B21C8 -_080B2190: - ldrb r2, [r5, 0x5] - lsls r1, r2, 28 - lsrs r1, 30 - adds r1, 0x1 - movs r0, 0x3 - ands r1, r0 - lsls r1, 2 - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x5] - b _080B21C8 -_080B21AA: - ldrb r1, [r4, 0xE] - mov r0, r9 - ands r0, r1 - cmp r0, 0 - bne _080B21BE - adds r1, r5, 0 - adds r1, 0x43 - ldrb r0, [r1] - subs r0, 0xC - b _080B21C6 -_080B21BE: - adds r1, r5, 0 - adds r1, 0x43 - ldrb r0, [r1] - adds r0, 0xC -_080B21C6: - strb r0, [r1] -_080B21C8: - ldrb r2, [r4, 0xE] - lsls r0, r2, 31 - lsrs r0, 31 - eors r0, r6 - ands r0, r7 - mov r1, r8 - ands r1, r2 - orrs r1, r0 - strb r1, [r4, 0xE] -_080B21DA: - ldrb r1, [r4] - movs r0, 0x9 - negs r0, r0 - ands r0, r1 - strb r0, [r4] - ldrh r1, [r4, 0x2] - mov r12, r1 -_080B21E8: - ldrb r0, [r4] - movs r1, 0xF - ands r1, r0 - movs r0, 0x10 - b _080B23EC -_080B21F2: - lsls r1, r2, 24 - lsrs r0, r1, 28 - cmp r0, 0x3 - bne _080B2200 - movs r0, 0x8 - orrs r0, r2 - b _080B2208 -_080B2200: - lsrs r0, r1, 28 - cmp r0, 0x1 - bne _080B2210 - adds r0, r2, 0 -_080B2208: - orrs r0, r7 - strb r0, [r4] - strb r6, [r4, 0x1] - b _080B22DC -_080B2210: - movs r0, 0x8 - ands r0, r2 - cmp r0, 0 - beq _080B22DC - adds r3, r5, 0 - adds r3, 0x3F - ldrb r2, [r3] - lsls r1, r2, 31 - lsrs r1, 31 - movs r6, 0x1 - eors r1, r6 - ands r1, r7 - movs r0, 0x2 - negs r0, r0 - mov r8, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - lsls r0, 31 - lsrs r0, 31 - adds r1, r5, 0 - adds r1, 0x2A - strb r0, [r1] - ldrb r0, [r3] - movs r1, 0x4 - orrs r0, r1 - movs r1, 0x11 - negs r1, r1 - ands r0, r1 - strb r0, [r3] - ldrb r1, [r4] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080B22CE - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080B229E - ldrb r1, [r4, 0xE] - mov r0, r9 - ands r0, r1 - cmp r0, 0 - bne _080B2284 - ldrb r2, [r5, 0x5] - lsls r1, r2, 28 - lsrs r1, 30 - subs r1, 0x1 - movs r0, 0x3 - ands r1, r0 - lsls r1, 2 - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x5] - b _080B22BC -_080B2284: - ldrb r2, [r5, 0x5] - lsls r1, r2, 28 - lsrs r1, 30 - adds r1, 0x1 - movs r0, 0x3 - ands r1, r0 - lsls r1, 2 - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x5] - b _080B22BC -_080B229E: - ldrb r1, [r4, 0xE] - mov r0, r9 - ands r0, r1 - cmp r0, 0 - bne _080B22B2 - adds r1, r5, 0 - adds r1, 0x43 - ldrb r0, [r1] - subs r0, 0xC - b _080B22BA -_080B22B2: - adds r1, r5, 0 - adds r1, 0x43 - ldrb r0, [r1] - adds r0, 0xC -_080B22BA: - strb r0, [r1] -_080B22BC: - ldrb r2, [r4, 0xE] - lsls r0, r2, 31 - lsrs r0, 31 - eors r0, r6 - ands r0, r7 - mov r1, r8 - ands r1, r2 - orrs r1, r0 - strb r1, [r4, 0xE] -_080B22CE: - ldrb r1, [r4] - movs r0, 0x9 - negs r0, r0 - ands r0, r1 - strb r0, [r4] - ldrh r1, [r4, 0x2] - mov r12, r1 -_080B22DC: - ldrb r0, [r4] - movs r1, 0xF - ands r1, r0 - movs r0, 0x20 - b _080B23EC -_080B22E6: - lsls r1, r2, 24 - lsrs r0, r1, 28 - cmp r0, 0x2 - bne _080B22F6 - movs r0, 0x8 - orrs r0, r2 - strb r0, [r4] - b _080B23E4 -_080B22F6: - lsrs r0, r1, 28 - cmp r0, 0 - bne _080B2318 - lsls r0, r2, 30 - lsrs r0, 31 - movs r1, 0x1 - eors r0, r1 - ands r0, r7 - lsls r0, 1 - movs r1, 0x3 - negs r1, r1 - ands r1, r2 - orrs r1, r0 - orrs r1, r7 - strb r1, [r4] - strb r6, [r4, 0x1] - b _080B23E4 -_080B2318: - movs r0, 0x8 - ands r0, r2 - cmp r0, 0 - beq _080B23E4 - adds r3, r5, 0 - adds r3, 0x3F - ldrb r2, [r3] - lsls r1, r2, 31 - lsrs r1, 31 - movs r6, 0x1 - eors r1, r6 - ands r1, r7 - movs r0, 0x2 - negs r0, r0 - mov r8, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - lsls r0, 31 - lsrs r0, 31 - adds r1, r5, 0 - adds r1, 0x2A - strb r0, [r1] - ldrb r0, [r3] - movs r1, 0x4 - orrs r0, r1 - movs r1, 0x11 - negs r1, r1 - ands r0, r1 - strb r0, [r3] - ldrb r1, [r4] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080B23D6 - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080B23A6 - ldrb r1, [r4, 0xE] - mov r0, r9 - ands r0, r1 - cmp r0, 0 - bne _080B238C - ldrb r2, [r5, 0x5] - lsls r1, r2, 28 - lsrs r1, 30 - subs r1, 0x1 - movs r0, 0x3 - ands r1, r0 - lsls r1, 2 - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x5] - b _080B23C4 -_080B238C: - ldrb r2, [r5, 0x5] - lsls r1, r2, 28 - lsrs r1, 30 - adds r1, 0x1 - movs r0, 0x3 - ands r1, r0 - lsls r1, 2 - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x5] - b _080B23C4 -_080B23A6: - ldrb r1, [r4, 0xE] - mov r0, r9 - ands r0, r1 - cmp r0, 0 - bne _080B23BA - adds r1, r5, 0 - adds r1, 0x43 - ldrb r0, [r1] - subs r0, 0xC - b _080B23C2 -_080B23BA: - adds r1, r5, 0 - adds r1, 0x43 - ldrb r0, [r1] - adds r0, 0xC -_080B23C2: - strb r0, [r1] -_080B23C4: - ldrb r2, [r4, 0xE] - lsls r0, r2, 31 - lsrs r0, 31 - eors r0, r6 - ands r0, r7 - mov r1, r8 - ands r1, r2 - orrs r1, r0 - strb r1, [r4, 0xE] -_080B23D6: - ldrb r1, [r4] - movs r0, 0x9 - negs r0, r0 - ands r0, r1 - strb r0, [r4] - ldrh r1, [r4, 0x2] - mov r12, r1 -_080B23E4: - ldrb r0, [r4] - movs r1, 0xF - ands r1, r0 - movs r0, 0x30 -_080B23EC: - orrs r1, r0 - strb r1, [r4] -_080B23F0: - ldrb r1, [r4] - lsls r1, 30 - lsrs r1, 31 - adds r0, r4, 0 - adds r0, 0xC - adds r0, r1 - ldrb r1, [r0] - ldr r3, _080B2478 @ =gSineTable - mov r2, r12 - lsls r0, r2, 1 - adds r0, r3 - movs r2, 0 - ldrsh r0, [r0, r2] - muls r0, r1 - asrs r0, 8 - strh r0, [r5, 0x24] - ldrb r2, [r5, 0x3] - lsls r2, 26 - lsrs r2, 27 - movs r1, 0x24 - ldrsh r0, [r5, r1] - negs r0, r0 - asrs r0, 1 - ldrb r1, [r4, 0xA] - adds r0, r1 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r3 - ldrh r6, [r1] - ldr r1, _080B247C @ =gOamMatrices - lsls r2, 3 - adds r2, r1 - adds r0, 0x40 - lsls r0, 1 - adds r0, r3 - ldrh r0, [r0] - strh r0, [r2, 0x6] - strh r0, [r2] - strh r6, [r2, 0x2] - lsls r0, r6, 16 - asrs r0, 16 - negs r0, r0 - strh r0, [r2, 0x4] - ldrh r0, [r4, 0x6] - ldrh r2, [r4, 0x8] - adds r0, r2 - strh r0, [r4, 0x8] - lsls r0, 16 - lsrs r0, 24 - strh r0, [r5, 0x22] - movs r1, 0x4 - ldrsh r0, [r4, r1] - movs r1, 0x80 - lsls r1, 8 - ands r0, r1 - cmp r0, 0 - beq _080B2480 - ldrh r0, [r4, 0x4] - subs r1, 0x1 - ands r1, r0 - ldrh r0, [r4, 0x2] - subs r0, r1 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x2] - b _080B2490 - .align 2, 0 -_080B2478: .4byte gSineTable -_080B247C: .4byte gOamMatrices -_080B2480: - ldrh r0, [r4, 0x4] - ldr r1, _080B24B8 @ =0x00007fff - ands r1, r0 - ldrh r2, [r4, 0x2] - adds r1, r2 - movs r0, 0xFF - ands r1, r0 - strh r1, [r4, 0x2] -_080B2490: - movs r0, 0x22 - ldrsh r1, [r5, r0] - movs r2, 0x26 - ldrsh r0, [r5, r2] - adds r1, r0 - ldrh r0, [r4, 0xE] - lsrs r0, 1 - cmp r1, r0 - blt _080B24AA - movs r0, 0 - strh r0, [r5, 0x2E] - ldr r0, _080B24BC @ =sub_80B1D3C - str r0, [r5, 0x1C] -_080B24AA: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B24B8: .4byte 0x00007fff -_080B24BC: .4byte sub_80B1D3C - thumb_func_end sub_80B1F94 - - thumb_func_start sub_80B24C0 -sub_80B24C0: @ 80B24C0 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r0, _080B2508 @ =gBattleAnimTarget - ldrb r0, [r0] - bl sub_8076884 - movs r1, 0x3 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r4, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x5] - ldr r5, _080B250C @ =gBattleAnimAttacker - ldrb r0, [r5] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x20] - ldrb r0, [r5] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x22] - ldr r0, _080B2510 @ =sub_8075DF4 - str r0, [r4, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B2508: .4byte gBattleAnimTarget -_080B250C: .4byte gBattleAnimAttacker -_080B2510: .4byte sub_8075DF4 - thumb_func_end sub_80B24C0 - - thumb_func_start sub_80B2514 -sub_80B2514: @ 80B2514 - push {r4-r7,lr} - adds r4, r0, 0 - ldr r5, _080B2554 @ =gBattleAnimArgs - ldrh r0, [r5] - strh r0, [r4, 0x30] - ldrh r0, [r5, 0x2] - strh r0, [r4, 0x32] - ldrh r0, [r5, 0x4] - strh r0, [r4, 0x34] - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080B25C4 - ldr r0, _080B2558 @ =gUnknown_2023BD6 - ldr r1, _080B255C @ =gBattleAnimTarget - ldrb r2, [r1] - adds r0, r2, r0 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080B2560 - adds r0, r2, 0 - movs r1, 0x1 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r5, [r5, 0x6] - adds r0, r5 - b _080B256E - .align 2, 0 -_080B2554: .4byte gBattleAnimArgs -_080B2558: .4byte gUnknown_2023BD6 -_080B255C: .4byte gBattleAnimTarget -_080B2560: - adds r0, r2, 0 - movs r1, 0x1 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x28 -_080B256E: - strh r0, [r4, 0x3C] - ldr r0, _080B259C @ =gBattleAnimArgs - movs r1, 0x8 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _080B25A4 - ldr r0, _080B25A0 @ =gBattleAnimTarget - ldrb r0, [r0] - bl sub_8076884 - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x1 - movs r1, 0x3 - ands r0, r1 - lsls r0, 2 - ldrb r2, [r4, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r4, 0x5] - b _080B25D8 - .align 2, 0 -_080B259C: .4byte gBattleAnimArgs -_080B25A0: .4byte gBattleAnimTarget -_080B25A4: - ldr r0, _080B25C0 @ =gBattleAnimTarget - ldrb r0, [r0] - bl sub_8076884 - movs r1, 0x3 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r4, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x5] - b _080B25D8 - .align 2, 0 -_080B25C0: .4byte gBattleAnimTarget -_080B25C4: - ldr r0, _080B267C @ =gBattleAnimTarget - ldrb r0, [r0] - movs r1, 0x1 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r5, [r5, 0x6] - adds r0, r5 - strh r0, [r4, 0x3C] -_080B25D8: - ldr r5, _080B2680 @ =gSineTable - ldrh r3, [r4, 0x30] - movs r1, 0xFF - ands r1, r3 - lsls r0, r1, 1 - adds r0, r5 - ldrh r0, [r0] - movs r2, 0 - strh r0, [r4, 0x36] - adds r1, 0x40 - lsls r1, 1 - adds r1, r5 - ldrh r0, [r1] - negs r0, r0 - strh r0, [r4, 0x38] - strh r2, [r4, 0x3A] - strh r2, [r4, 0x26] - strh r2, [r4, 0x24] - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r6, r0, 27 - lsls r3, 16 - lsrs r3, 24 - strh r3, [r4, 0x30] - bl Random - lsls r0, 16 - asrs r7, r0, 16 - movs r0, 0x80 - lsls r0, 8 - ands r0, r7 - cmp r0, 0 - beq _080B2622 - ldrh r1, [r4, 0x30] - movs r0, 0xFF - subs r0, r1 - strh r0, [r4, 0x30] -_080B2622: - movs r0, 0x30 - ldrsh r1, [r4, r0] - lsls r0, r1, 1 - adds r0, r5 - ldrh r0, [r0] - ldr r3, _080B2684 @ =gOamMatrices - lsls r2, r6, 3 - adds r2, r3 - adds r1, 0x40 - lsls r1, 1 - adds r1, r5 - ldrh r1, [r1] - strh r1, [r2, 0x6] - strh r1, [r2] - strh r0, [r2, 0x2] - lsls r0, 16 - asrs r0, 16 - negs r0, r0 - strh r0, [r2, 0x4] - adds r3, r4, 0 - adds r3, 0x3F - ldrb r0, [r3] - movs r1, 0x4 - orrs r0, r1 - movs r1, 0x11 - negs r1, r1 - ands r0, r1 - strb r0, [r3] - movs r0, 0x1 - ands r0, r7 - cmp r0, 0 - beq _080B2672 - adds r2, r4, 0 - adds r2, 0x2A - movs r1, 0x1 - movs r0, 0x1 - strb r0, [r2] - ldrb r0, [r3] - orrs r0, r1 - strb r0, [r3] -_080B2672: - ldr r0, _080B2688 @ =sub_80B268C - str r0, [r4, 0x1C] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B267C: .4byte gBattleAnimTarget -_080B2680: .4byte gSineTable -_080B2684: .4byte gOamMatrices -_080B2688: .4byte sub_80B268C - thumb_func_end sub_80B2514 - - thumb_func_start sub_80B268C -sub_80B268C: @ 80B268C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - adds r4, r0, 0 - adds r5, r4, 0 - adds r5, 0x2E - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - movs r1, 0 - mov r8, r1 - movs r7, 0 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _080B2770 - movs r2, 0x36 - ldrsh r1, [r4, r2] - movs r2, 0x3A - ldrsh r0, [r4, r2] - muls r0, r1 - asrs r6, r0, 8 - strh r6, [r4, 0x24] - movs r0, 0x38 - ldrsh r1, [r4, r0] - movs r2, 0x3A - ldrsh r0, [r4, r2] - muls r0, r1 - asrs r3, r0, 8 - strh r3, [r4, 0x26] - ldrh r2, [r4, 0x34] - movs r1, 0xFF - adds r0, r1, 0 - ands r0, r2 - ldrh r2, [r4, 0x3A] - adds r0, r2 - strh r0, [r4, 0x3A] - ldrh r2, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - ands r1, r2 - cmp r0, r1 - blt _080B2770 - ldrh r0, [r4, 0x20] - adds r0, r6 - strh r0, [r4, 0x20] - ldrh r0, [r4, 0x22] - adds r0, r3 - strh r0, [r4, 0x22] - strh r7, [r4, 0x24] - strh r7, [r4, 0x26] - mov r0, sp - adds r1, r5, 0 - movs r2, 0x10 - bl memcpy - adds r0, r5, 0 - movs r1, 0 - movs r2, 0x10 - bl memset - ldrh r0, [r4, 0x22] - lsls r0, 8 - strh r0, [r5, 0x8] - mov r0, sp - ldrh r0, [r0, 0x6] - lsrs r1, r0, 8 - strh r1, [r5, 0x6] - strh r7, [r5, 0x2] - mov r0, sp - ldrh r0, [r0, 0x2] - strh r0, [r5, 0xA] - adds r0, r4, 0 - adds r0, 0x2A - ldrb r0, [r0] - cmp r0, 0 - beq _080B2740 - movs r0, 0x8 - ands r1, r0 - cmp r1, 0 - beq _080B2738 - ldr r0, _080B2734 @ =0x00008001 - b _080B274E - .align 2, 0 -_080B2734: .4byte 0x00008001 -_080B2738: - ldr r0, _080B273C @ =0x00008002 - b _080B274E - .align 2, 0 -_080B273C: .4byte 0x00008002 -_080B2740: - movs r0, 0x8 - ands r1, r0 - cmp r1, 0 - beq _080B274C - movs r0, 0x1 - b _080B274E -_080B274C: - movs r0, 0x2 -_080B274E: - strh r0, [r5, 0x4] - mov r0, sp - ldrh r0, [r0, 0x4] - lsrs r0, 8 - strb r0, [r5, 0xC] - subs r0, 0x2 - strb r0, [r5, 0xD] - mov r0, sp - ldrh r1, [r0, 0xE] - lsls r1, 1 - ldrh r2, [r5, 0xE] - movs r0, 0x1 - ands r0, r2 - orrs r0, r1 - strh r0, [r5, 0xE] - ldr r0, _080B277C @ =sub_80B1F94 - str r0, [r4, 0x1C] -_080B2770: - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B277C: .4byte sub_80B1F94 - thumb_func_end sub_80B268C - - thumb_func_start sub_80B2780 -sub_80B2780: @ 80B2780 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, _080B2798 @ =gBattleAnimArgs - movs r1, 0x4 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080B279C - adds r0, r5, 0 - movs r1, 0 - bl sub_8075160 - b _080B27A4 - .align 2, 0 -_080B2798: .4byte gBattleAnimArgs -_080B279C: - adds r0, r5, 0 - movs r1, 0 - bl sub_8075114 -_080B27A4: - ldr r4, _080B280C @ =gBattleAnimArgs - movs r2, 0x4 - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _080B27BC - ldr r0, _080B2810 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080B27D2 -_080B27BC: - movs r1, 0x4 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - bne _080B27D8 - ldr r0, _080B2814 @ =gBattleAnimTarget - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080B27D8 -_080B27D2: - ldrh r0, [r5, 0x20] - adds r0, 0x8 - strh r0, [r5, 0x20] -_080B27D8: - ldr r4, _080B280C @ =gBattleAnimArgs - ldrb r1, [r4, 0x8] - adds r0, r5, 0 - bl SeekSpriteAnim - ldrh r0, [r5, 0x20] - subs r0, 0x20 - strh r0, [r5, 0x20] - ldr r0, _080B2818 @ =0x00000ccc - strh r0, [r5, 0x30] - ldrh r1, [r4, 0x8] - movs r0, 0xC - adds r2, r0, 0 - muls r2, r1 - adds r0, r2, 0 - ldrh r2, [r5, 0x24] - adds r0, r2 - strh r0, [r5, 0x24] - strh r1, [r5, 0x2E] - ldrh r0, [r4, 0x6] - strh r0, [r5, 0x3C] - ldr r0, _080B281C @ =sub_80B2820 - str r0, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B280C: .4byte gBattleAnimArgs -_080B2810: .4byte gBattleAnimAttacker -_080B2814: .4byte gBattleAnimTarget -_080B2818: .4byte 0x00000ccc -_080B281C: .4byte sub_80B2820 - thumb_func_end sub_80B2780 - - thumb_func_start sub_80B2820 -sub_80B2820: @ 80B2820 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 24 - ldrh r1, [r4, 0x24] - adds r0, r1 - movs r1, 0 - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x6 - bne _080B284A - strh r1, [r4, 0x2E] - strh r1, [r4, 0x24] - adds r0, r4, 0 - bl StartSpriteAnim -_080B284A: - ldrh r0, [r4, 0x3C] - subs r0, 0x1 - strh r0, [r4, 0x3C] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _080B2862 - adds r0, r4, 0 - bl DestroyAnimSprite -_080B2862: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80B2820 - - thumb_func_start sub_80B2868 -sub_80B2868: @ 80B2868 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r0, 24 - adds r6, r0, 0 - ldr r1, _080B2900 @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r7, r0, r1 - ldrh r0, [r7, 0x8] - movs r1, 0x1F - ands r0, r1 - cmp r0, 0 - bne _080B28E2 - ldr r1, _080B2904 @ =gUnknown_2037EE2 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r1, 0x8 - ldrsh r0, [r7, r1] - movs r5, 0xD - negs r5, r5 - adds r1, r5, 0 - bl Sin - ldr r4, _080B2908 @ =gBattleAnimArgs - strh r0, [r4] - movs r1, 0x8 - ldrsh r0, [r7, r1] - adds r1, r5, 0 - bl Cos - strh r0, [r4, 0x2] - movs r0, 0x1 - strh r0, [r4, 0x4] - movs r0, 0x3 - strh r0, [r4, 0x6] - ldr r0, _080B290C @ =gUnknown_83E7C98 - mov r8, r0 - ldr r5, _080B2910 @ =gBattleAnimTarget - ldrb r0, [r5] - movs r1, 0x2 - bl sub_8074480 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldrb r0, [r5] - movs r1, 0x3 - bl sub_8074480 - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - mov r0, r8 - adds r1, r4, 0 - movs r3, 0x3 - bl CreateSpriteAndAnimate -_080B28E2: - ldrh r0, [r7, 0x8] - adds r0, 0x8 - strh r0, [r7, 0x8] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xFF - ble _080B28F6 - adds r0, r6, 0 - bl DestroyAnimVisualTask -_080B28F6: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B2900: .4byte gTasks -_080B2904: .4byte gUnknown_2037EE2 -_080B2908: .4byte gBattleAnimArgs -_080B290C: .4byte gUnknown_83E7C98 -_080B2910: .4byte gBattleAnimTarget - thumb_func_end sub_80B2868 - - thumb_func_start sub_80B2914 -sub_80B2914: @ 80B2914 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080B2926 - cmp r0, 0x1 - beq _080B2958 - b _080B296C -_080B2926: - adds r0, r4, 0 - movs r1, 0x1 - bl sub_8075160 - movs r0, 0 - bl GetAnimBankSpriteId - ldr r2, _080B2954 @ =gSprites - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _080B296C - .align 2, 0 -_080B2954: .4byte gSprites -_080B2958: - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080B296C - adds r0, r4, 0 - bl DestroyAnimSprite -_080B296C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80B2914 - - thumb_func_start sub_80B2974 -sub_80B2974: @ 80B2974 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _080B29AC - cmp r0, 0x1 - bgt _080B298A - cmp r0, 0 - beq _080B2990 - b _080B29FE -_080B298A: - cmp r0, 0x2 - beq _080B29C0 - b _080B29FE -_080B2990: - ldr r0, _080B29A8 @ =gBattleAnimTarget - ldrb r0, [r0] - movs r1, 0x1 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x22] - negs r0, r0 - subs r0, 0x20 - strh r0, [r4, 0x26] - b _080B29B8 - .align 2, 0 -_080B29A8: .4byte gBattleAnimTarget -_080B29AC: - ldrh r0, [r4, 0x26] - adds r0, 0xA - strh r0, [r4, 0x26] - lsls r0, 16 - cmp r0, 0 - blt _080B29FE -_080B29B8: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _080B29FE -_080B29C0: - ldrh r0, [r4, 0x26] - subs r0, 0xA - strh r0, [r4, 0x26] - movs r2, 0x22 - ldrsh r0, [r4, r2] - movs r2, 0x26 - ldrsh r1, [r4, r2] - adds r0, r1 - movs r1, 0x20 - negs r1, r1 - cmp r0, r1 - bge _080B29FE - movs r0, 0 - bl GetAnimBankSpriteId - ldr r2, _080B2A04 @ =gSprites - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - adds r1, 0x3E - ldrb r2, [r1] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - adds r0, r4, 0 - bl DestroyAnimSprite -_080B29FE: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B2A04: .4byte gSprites - thumb_func_end sub_80B2974 - - thumb_func_start sub_80B2A08 -sub_80B2A08: @ 80B2A08 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl sub_8075160 - ldr r1, _080B2A44 @ =gBattleAnimArgs - ldrh r0, [r1, 0x4] - strh r0, [r4, 0x2E] - ldrh r0, [r1, 0x6] - strh r0, [r4, 0x30] - ldr r0, _080B2A48 @ =sub_80B2A50 - str r0, [r4, 0x1C] - movs r0, 0 - bl GetAnimBankSpriteId - ldr r2, _080B2A4C @ =gSprites - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B2A44: .4byte gBattleAnimArgs -_080B2A48: .4byte sub_80B2A50 -_080B2A4C: .4byte gSprites - thumb_func_end sub_80B2A08 - - thumb_func_start sub_80B2A50 -sub_80B2A50: @ 80B2A50 - push {lr} - adds r2, r0, 0 - ldrh r1, [r2, 0x2E] - movs r3, 0x2E - ldrsh r0, [r2, r3] - cmp r0, 0 - ble _080B2A64 - subs r0, r1, 0x1 - strh r0, [r2, 0x2E] - b _080B2AA8 -_080B2A64: - movs r1, 0x22 - ldrsh r0, [r2, r1] - movs r3, 0x26 - ldrsh r1, [r2, r3] - adds r0, r1 - movs r1, 0x20 - negs r1, r1 - cmp r0, r1 - ble _080B2A8A - ldrh r0, [r2, 0x30] - ldrh r1, [r2, 0x32] - adds r0, r1 - strh r0, [r2, 0x32] - lsls r0, 16 - asrs r0, 24 - ldrh r1, [r2, 0x26] - subs r1, r0 - strh r1, [r2, 0x26] - b _080B2AA8 -_080B2A8A: - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r3] - ldrh r0, [r2, 0x34] - adds r1, r0, 0x1 - strh r1, [r2, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - ble _080B2AA8 - ldr r0, _080B2AAC @ =sub_80B2AB0 - str r0, [r2, 0x1C] -_080B2AA8: - pop {r0} - bx r0 - .align 2, 0 -_080B2AAC: .4byte sub_80B2AB0 - thumb_func_end sub_80B2A50 - - thumb_func_start sub_80B2AB0 -sub_80B2AB0: @ 80B2AB0 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x32] - lsls r0, 16 - asrs r0, 24 - ldrh r1, [r2, 0x26] - adds r0, r1 - strh r0, [r2, 0x26] - movs r3, 0x22 - ldrsh r0, [r2, r3] - movs r3, 0x26 - ldrsh r1, [r2, r3] - adds r0, r1 - movs r1, 0x20 - negs r1, r1 - cmp r0, r1 - ble _080B2AE0 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r3] -_080B2AE0: - movs r1, 0x26 - ldrsh r0, [r2, r1] - cmp r0, 0 - ble _080B2AEE - adds r0, r2, 0 - bl DestroyAnimSprite -_080B2AEE: - pop {r0} - bx r0 - thumb_func_end sub_80B2AB0 - - thumb_func_start sub_80B2AF4 -sub_80B2AF4: @ 80B2AF4 - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - movs r1, 0x2E - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _080B2B08 - cmp r0, 0x1 - beq _080B2B60 - b _080B2BCC -_080B2B08: - ldr r0, _080B2B18 @ =gBattleAnimArgs - movs r2, 0 - ldrsh r0, [r0, r2] - cmp r0, 0 - bne _080B2B20 - ldr r4, _080B2B1C @ =gBattleAnimAttacker - b _080B2B22 - .align 2, 0 -_080B2B18: .4byte gBattleAnimArgs -_080B2B1C: .4byte gBattleAnimAttacker -_080B2B20: - ldr r4, _080B2B5C @ =gBattleAnimTarget -_080B2B22: - ldrb r0, [r4] - movs r1, 0 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - movs r0, 0 - movs r3, 0x80 - lsls r3, 2 - strh r3, [r5, 0x30] - movs r2, 0x80 - lsls r2, 1 - str r0, [sp] - adds r0, r5, 0 - movs r1, 0 - bl sub_8075A1C - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - b _080B2BCC - .align 2, 0 -_080B2B5C: .4byte gBattleAnimTarget -_080B2B60: - movs r1, 0x32 - ldrsh r0, [r5, r1] - cmp r0, 0xB - bgt _080B2B6E - ldrh r0, [r5, 0x30] - subs r0, 0x28 - b _080B2B72 -_080B2B6E: - ldrh r0, [r5, 0x30] - adds r0, 0x28 -_080B2B72: - strh r0, [r5, 0x30] - ldrh r0, [r5, 0x32] - adds r0, 0x1 - movs r1, 0 - strh r0, [r5, 0x32] - movs r2, 0x80 - lsls r2, 1 - movs r0, 0x30 - ldrsh r3, [r5, r0] - str r1, [sp] - adds r0, r5, 0 - bl sub_8075A1C - ldrb r1, [r5, 0x3] - lsls r1, 26 - lsrs r1, 27 - movs r0, 0xF4 - lsls r0, 6 - ldr r2, _080B2BD4 @ =gOamMatrices - lsls r1, 3 - adds r1, r2 - movs r2, 0x6 - ldrsh r1, [r1, r2] - bl __divsi3 - adds r1, r0, 0x1 - cmp r1, 0x80 - ble _080B2BAC - movs r1, 0x80 -_080B2BAC: - movs r0, 0x40 - subs r0, r1 - lsrs r1, r0, 31 - adds r0, r1 - asrs r1, r0, 1 - strh r1, [r5, 0x26] - movs r1, 0x32 - ldrsh r0, [r5, r1] - cmp r0, 0x18 - bne _080B2BCC - adds r0, r5, 0 - bl sub_8075AD8 - adds r0, r5, 0 - bl DestroyAnimSprite -_080B2BCC: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B2BD4: .4byte gOamMatrices - thumb_func_end sub_80B2AF4 - - thumb_func_start sub_80B2BD8 -sub_80B2BD8: @ 80B2BD8 - push {r4,r5,lr} - adds r5, r0, 0 - bl Random - ldr r4, _080B2BFC @ =0x000001ff - ands r4, r0 - bl Random - movs r1, 0x7F - ands r1, r0 - movs r0, 0x1 - ands r0, r4 - cmp r0, 0 - beq _080B2C00 - movs r2, 0xB8 - lsls r2, 2 - adds r0, r4, r2 - b _080B2C08 - .align 2, 0 -_080B2BFC: .4byte 0x000001ff -_080B2C00: - movs r2, 0xB8 - lsls r2, 2 - adds r0, r2, 0 - subs r0, r4 -_080B2C08: - strh r0, [r5, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080B2C1C - movs r2, 0xE0 - lsls r2, 2 - adds r0, r2, 0 - adds r0, r1, r0 - b _080B2C24 -_080B2C1C: - movs r2, 0xE0 - lsls r2, 2 - adds r0, r2, 0 - subs r0, r1 -_080B2C24: - strh r0, [r5, 0x30] - ldr r2, _080B2C4C @ =gBattleAnimArgs - ldrh r0, [r2] - strh r0, [r5, 0x32] - lsls r0, 16 - cmp r0, 0 - beq _080B2C40 - ldrb r0, [r5, 0x3] - movs r1, 0x3F - negs r1, r1 - ands r1, r0 - movs r0, 0x10 - orrs r1, r0 - strb r1, [r5, 0x3] -_080B2C40: - movs r1, 0x2 - ldrsh r0, [r2, r1] - cmp r0, 0 - bne _080B2C54 - ldr r4, _080B2C50 @ =gBattleAnimAttacker - b _080B2C56 - .align 2, 0 -_080B2C4C: .4byte gBattleAnimArgs -_080B2C50: .4byte gBattleAnimAttacker -_080B2C54: - ldr r4, _080B2C80 @ =gBattleAnimTarget -_080B2C56: - ldrb r0, [r4] - movs r1, 0 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x20 - strh r0, [r5, 0x22] - ldr r0, _080B2C84 @ =sub_80B2C88 - str r0, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B2C80: .4byte gBattleAnimTarget -_080B2C84: .4byte sub_80B2C88 - thumb_func_end sub_80B2BD8 - - thumb_func_start sub_80B2C88 -sub_80B2C88: @ 80B2C88 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080B2CA0 - ldrh r3, [r4, 0x2E] - lsls r0, r3, 16 - asrs r0, 24 - ldrh r1, [r4, 0x24] - adds r0, r1 - b _080B2CAA -_080B2CA0: - ldrh r3, [r4, 0x2E] - lsls r1, r3, 16 - asrs r1, 24 - ldrh r0, [r4, 0x24] - subs r0, r1 -_080B2CAA: - strh r0, [r4, 0x24] - ldrh r2, [r4, 0x30] - lsls r1, r2, 16 - asrs r1, 24 - ldrh r0, [r4, 0x26] - subs r0, r1 - strh r0, [r4, 0x26] - strh r3, [r4, 0x2E] - adds r0, r2, 0 - subs r0, 0x20 - strh r0, [r4, 0x30] - lsls r0, r3, 16 - cmp r0, 0 - bge _080B2CCA - movs r0, 0 - strh r0, [r4, 0x2E] -_080B2CCA: - ldrh r0, [r4, 0x34] - adds r0, 0x1 - strh r0, [r4, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1F - bne _080B2CDE - adds r0, r4, 0 - bl DestroyAnimSprite -_080B2CDE: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80B2C88 - - thumb_func_start sub_80B2CE4 -sub_80B2CE4: @ 80B2CE4 - movs r1, 0 - strh r1, [r0, 0x3A] - movs r1, 0x40 - strh r1, [r0, 0x3C] - ldr r1, _080B2CF4 @ =sub_80B2CF8 - str r1, [r0, 0x1C] - bx lr - .align 2, 0 -_080B2CF4: .4byte sub_80B2CF8 - thumb_func_end sub_80B2CE4 - - thumb_func_start sub_80B2CF8 -sub_80B2CF8: @ 80B2CF8 - push {lr} - adds r3, r0, 0 - movs r0, 0x2E - ldrsh r1, [r3, r0] - cmp r1, 0 - beq _080B2D0A - cmp r1, 0x1 - beq _080B2D58 - b _080B2D5E -_080B2D0A: - ldrh r0, [r3, 0x30] - adds r0, 0x1 - strh r0, [r3, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x8 - ble _080B2D5E - strh r1, [r3, 0x30] - movs r1, 0x3E - adds r1, r3 - mov r12, r1 - ldrb r2, [r1] - lsls r0, r2, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - mov r1, r12 - strb r0, [r1] - ldrh r0, [r3, 0x32] - adds r0, 0x1 - strh r0, [r3, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - ble _080B2D5E - ldrb r1, [r1] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080B2D5E - ldrh r0, [r3, 0x2E] - adds r0, 0x1 - strh r0, [r3, 0x2E] - b _080B2D5E -_080B2D58: - adds r0, r3, 0 - bl DestroyAnimSprite -_080B2D5E: - pop {r0} - bx r0 - thumb_func_end sub_80B2CF8 - - thumb_func_start sub_80B2D64 -sub_80B2D64: @ 80B2D64 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x4 - mov r8, r0 - ldrh r4, [r0, 0x20] - ldrh r5, [r0, 0x22] - ldr r6, _080B2E18 @ =gBattleAnimAttacker - ldrb r0, [r6] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - mov r1, r8 - strh r0, [r1, 0x20] - ldrb r0, [r6] - movs r1, 0x3 - bl sub_8074480 - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - mov r2, r8 - strh r6, [r2, 0x22] - ldrh r0, [r2, 0x20] - mov r9, r0 - mov r1, r9 - lsls r0, r1, 4 - strh r0, [r2, 0x36] - lsls r0, r6, 4 - strh r0, [r2, 0x38] - lsls r4, 16 - asrs r4, 16 - movs r1, 0x20 - ldrsh r0, [r2, r1] - subs r0, r4, r0 - lsls r0, 4 - movs r1, 0xC - bl __divsi3 - mov r2, r8 - strh r0, [r2, 0x3A] - lsls r5, 16 - asrs r5, 16 - movs r1, 0x22 - ldrsh r0, [r2, r1] - subs r0, r5, r0 - lsls r0, 4 - movs r1, 0xC - bl __divsi3 - mov r2, r8 - strh r0, [r2, 0x3C] - mov r0, r9 - subs r4, r0 - lsls r4, 16 - asrs r4, 16 - subs r5, r6 - lsls r5, 16 - asrs r5, 16 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_8075B30 - lsls r0, 16 - movs r1, 0xC0 - lsls r1, 24 - adds r0, r1 - lsrs r0, 16 - movs r3, 0x80 - lsls r3, 1 - str r0, [sp] - mov r0, r8 - movs r1, 0x1 - adds r2, r3, 0 - bl sub_8075A1C - ldr r0, _080B2E1C @ =sub_80B2E20 - mov r2, r8 - str r0, [r2, 0x1C] - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B2E18: .4byte gBattleAnimAttacker -_080B2E1C: .4byte sub_80B2E20 - thumb_func_end sub_80B2D64 - - thumb_func_start sub_80B2E20 -sub_80B2E20: @ 80B2E20 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x3A] - ldrh r1, [r2, 0x36] - adds r0, r1 - strh r0, [r2, 0x36] - ldrh r1, [r2, 0x3C] - ldrh r3, [r2, 0x38] - adds r1, r3 - strh r1, [r2, 0x38] - lsls r0, 16 - asrs r0, 20 - strh r0, [r2, 0x20] - lsls r1, 16 - asrs r3, r1, 20 - strh r3, [r2, 0x22] - adds r0, 0x2D - lsls r0, 16 - movs r1, 0xA5 - lsls r1, 17 - cmp r0, r1 - bhi _080B2E5A - adds r1, r3, 0 - cmp r1, 0x9D - bgt _080B2E5A - movs r0, 0x2D - negs r0, r0 - cmp r1, r0 - bge _080B2E60 -_080B2E5A: - adds r0, r2, 0 - bl move_anim_8074EE0 -_080B2E60: - pop {r0} - bx r0 - thumb_func_end sub_80B2E20 - - thumb_func_start sub_80B2E64 -sub_80B2E64: @ 80B2E64 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080B2E94 @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080B2E9C - movs r0, 0 - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080B2E98 @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - b _080B2EBA - .align 2, 0 -_080B2E94: .4byte gBattleAnimArgs -_080B2E98: .4byte gSprites -_080B2E9C: - movs r0, 0 - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080B2EC8 @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - adds r1, 0x3E - ldrb r2, [r1] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 -_080B2EBA: - strb r0, [r1] - adds r0, r4, 0 - bl DestroyAnimVisualTask - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B2EC8: .4byte gSprites - thumb_func_end sub_80B2E64 - - thumb_func_start sub_80B2ECC -sub_80B2ECC: @ 80B2ECC - push {r4-r7,lr} - adds r6, r0, 0 - ldr r0, _080B2F84 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080B2EE8 - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - beq _080B2EFE -_080B2EE8: - ldrb r1, [r6, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - movs r1, 0x8 - orrs r0, r1 - strb r0, [r6, 0x5] - adds r1, r6, 0 - adds r1, 0x43 - movs r0, 0xC8 - strb r0, [r1] -_080B2EFE: - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080B2F5A - movs r0, 0x1 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r4, r0, 24 - adds r7, r4, 0 - adds r0, r4, 0 - bl sub_80768B0 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - eors r0, r1 - negs r1, r0 - orrs r1, r0 - lsrs r5, r1, 31 - adds r0, r4, 0 - bl sub_8072DF0 - lsls r0, 24 - cmp r0, 0 - beq _080B2F3C - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_8072E48 -_080B2F3C: - movs r0, 0x2 - adds r4, r0, 0 - eors r4, r7 - adds r0, r4, 0 - bl sub_8072DF0 - lsls r0, 24 - cmp r0, 0 - beq _080B2F5A - movs r0, 0x1 - eors r5, r0 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_8072E48 -_080B2F5A: - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080B2F90 - bl sub_8075290 - lsls r0, 24 - cmp r0, 0 - beq _080B2F90 - ldr r0, _080B2F84 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080B2F88 - movs r0, 0x48 - strh r0, [r6, 0x20] - movs r0, 0x50 - b _080B2FCA - .align 2, 0 -_080B2F84: .4byte gBattleAnimAttacker -_080B2F88: - movs r0, 0xB0 - strh r0, [r6, 0x20] - movs r0, 0x28 - b _080B2FCA -_080B2F90: - ldr r5, _080B3000 @ =gBattleAnimAttacker - ldrb r0, [r5] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080B2FA6 - ldr r1, _080B3004 @ =gBattleAnimArgs - ldrh r0, [r1] - negs r0, r0 - strh r0, [r1] -_080B2FA6: - ldrb r0, [r5] - movs r1, 0 - bl sub_8074480 - lsls r0, 24 - ldr r4, _080B3004 @ =gBattleAnimArgs - lsrs r0, 24 - ldrh r1, [r4] - adds r0, r1 - strh r0, [r6, 0x20] - ldrb r0, [r5] - movs r1, 0x1 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r4, [r4, 0x2] - adds r0, r4 -_080B2FCA: - strh r0, [r6, 0x22] - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - beq _080B2FDC - ldrh r0, [r6, 0x22] - adds r0, 0x9 - strh r0, [r6, 0x22] -_080B2FDC: - ldr r0, _080B3004 @ =gBattleAnimArgs - ldrh r0, [r0, 0x4] - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 20 - movs r1, 0x80 - lsls r1, 1 - adds r0, r1 - strh r0, [r6, 0x2E] - ldr r1, _080B3008 @ =sub_80B300C - str r1, [r6, 0x1C] - adds r0, r6, 0 - bl _call_via_r1 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B3000: .4byte gBattleAnimAttacker -_080B3004: .4byte gBattleAnimArgs -_080B3008: .4byte sub_80B300C - thumb_func_end sub_80B2ECC - - thumb_func_start sub_80B300C -sub_80B300C: @ 80B300C - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x34] - movs r1, 0x10 - subs r1, r0 - lsls r1, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - ldrh r1, [r4, 0x34] - movs r2, 0x34 - ldrsh r0, [r4, r2] - cmp r0, 0xD - bne _080B3038 - ldr r0, _080B3034 @ =sub_80B3044 - str r0, [r4, 0x1C] - b _080B303C - .align 2, 0 -_080B3034: .4byte sub_80B3044 -_080B3038: - adds r0, r1, 0x1 - strh r0, [r4, 0x34] -_080B303C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80B300C - - thumb_func_start sub_80B3044 -sub_80B3044: @ 80B3044 - push {r4-r7,lr} - adds r3, r0, 0 - ldrh r0, [r3, 0x30] - adds r0, 0x1 - strh r0, [r3, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - bne _080B30A2 - movs r0, 0 - strh r0, [r3, 0x30] - ldrh r4, [r3, 0x2E] - ldr r1, _080B30A8 @ =gPlttBufferFaded - adds r0, r4, 0 - adds r0, 0x8 - lsls r0, 1 - adds r0, r1 - ldrh r7, [r0] - movs r5, 0x8 - adds r6, r1, 0 - adds r1, r4, 0x7 - lsls r0, r4, 1 - adds r0, r6 - adds r2, r0, 0 - adds r2, 0x10 - lsls r1, 1 - adds r1, r6 -_080B307A: - ldrh r0, [r1] - strh r0, [r2] - subs r1, 0x2 - subs r2, 0x2 - subs r5, 0x1 - cmp r5, 0 - bgt _080B307A - adds r0, r4, 0x1 - lsls r0, 1 - adds r0, r6 - strh r7, [r0] - ldrh r0, [r3, 0x32] - adds r0, 0x1 - strh r0, [r3, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x10 - bne _080B30A2 - ldr r0, _080B30AC @ =sub_80B30B0 - str r0, [r3, 0x1C] -_080B30A2: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B30A8: .4byte gPlttBufferFaded -_080B30AC: .4byte sub_80B30B0 - thumb_func_end sub_80B3044 - - thumb_func_start sub_80B30B0 -sub_80B30B0: @ 80B30B0 - push {r4-r6,lr} - adds r5, r0, 0 - ldrh r0, [r5, 0x34] - movs r1, 0x10 - subs r1, r0 - lsls r1, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - ldrh r0, [r5, 0x34] - subs r0, 0x1 - strh r0, [r5, 0x34] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _080B3156 - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080B3146 - movs r0, 0x1 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r4, r0, 24 - adds r6, r4, 0 - adds r0, r4, 0 - bl sub_8072DF0 - lsls r0, 24 - cmp r0, 0 - beq _080B3118 - ldr r2, _080B315C @ =gSprites - ldr r0, _080B3160 @ =gUnknown_2023D44 - adds r0, r4, r0 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] -_080B3118: - movs r0, 0x2 - adds r4, r0, 0 - eors r4, r6 - adds r0, r4, 0 - bl sub_8072DF0 - lsls r0, 24 - cmp r0, 0 - beq _080B3146 - ldr r2, _080B315C @ =gSprites - ldr r0, _080B3160 @ =gUnknown_2023D44 - adds r0, r4, r0 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] -_080B3146: - adds r2, r5, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, _080B3164 @ =sub_80B3168 - str r0, [r5, 0x1C] -_080B3156: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B315C: .4byte gSprites -_080B3160: .4byte gUnknown_2023D44 -_080B3164: .4byte sub_80B3168 - thumb_func_end sub_80B30B0 - - thumb_func_start sub_80B3168 -sub_80B3168: @ 80B3168 - push {r4-r6,lr} - adds r6, r0, 0 - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080B31C0 - movs r0, 0x1 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r0, 24 - adds r4, r0, 0 - bl sub_80768B0 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - eors r0, r1 - negs r1, r0 - orrs r1, r0 - lsrs r5, r1, 31 - adds r0, r4, 0 - bl sub_8072DF0 - lsls r0, 24 - cmp r0, 0 - beq _080B31A6 - adds r0, r5, 0 - bl sub_8073128 -_080B31A6: - movs r0, 0x2 - eors r4, r0 - adds r0, r4, 0 - bl sub_8072DF0 - lsls r0, 24 - cmp r0, 0 - beq _080B31C0 - movs r0, 0x1 - eors r5, r0 - adds r0, r5, 0 - bl sub_8073128 -_080B31C0: - ldr r0, _080B31CC @ =DestroyAnimSprite - str r0, [r6, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B31CC: .4byte DestroyAnimSprite - thumb_func_end sub_80B3168 - - thumb_func_start sub_80B31D0 -sub_80B31D0: @ 80B31D0 - push {r4-r6,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080B325C - ldr r5, _080B321C @ =gBattleAnimArgs - movs r1, 0x6 - ldrsh r0, [r5, r1] - movs r6, 0 - cmp r0, 0 - bne _080B31EA - movs r6, 0x1 -_080B31EA: - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080B3232 - bl sub_8075290 - lsls r0, 24 - cmp r0, 0 - beq _080B3232 - ldr r0, _080B3220 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080B3224 - ldrh r0, [r5] - movs r1, 0x48 - subs r1, r0 - strh r1, [r4, 0x20] - ldrh r0, [r5, 0x2] - adds r0, 0x50 - strh r0, [r4, 0x22] - b _080B3254 - .align 2, 0 -_080B321C: .4byte gBattleAnimArgs -_080B3220: .4byte gBattleAnimAttacker -_080B3224: - ldrh r0, [r5] - adds r0, 0xB0 - strh r0, [r4, 0x20] - ldrh r0, [r5, 0x2] - adds r0, 0x28 - strh r0, [r4, 0x22] - b _080B3254 -_080B3232: - ldr r0, _080B3248 @ =gBattleAnimArgs - movs r1, 0x4 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080B324C - adds r0, r4, 0 - adds r1, r6, 0 - bl sub_8075160 - b _080B3254 - .align 2, 0 -_080B3248: .4byte gBattleAnimArgs -_080B324C: - adds r0, r4, 0 - adds r1, r6, 0 - bl sub_8075114 -_080B3254: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _080B3270 -_080B325C: - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x30 - ands r0, r1 - cmp r0, 0 - beq _080B3270 - adds r0, r4, 0 - bl move_anim_8074EE0 -_080B3270: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80B31D0 - - thumb_func_start sub_80B3278 -sub_80B3278: @ 80B3278 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, _080B32C0 @ =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080B32C8 - adds r0, r5, 0 - movs r1, 0x1 - bl StartSpriteAnim - ldrh r0, [r5, 0x20] - subs r0, 0x28 - strh r0, [r5, 0x20] - ldrh r0, [r5, 0x22] - adds r0, 0xA - strh r0, [r5, 0x22] - ldr r0, _080B32C4 @ =0x0000ffff - b _080B32D6 - .align 2, 0 -_080B32C0: .4byte gBattleAnimAttacker -_080B32C4: .4byte 0x0000ffff -_080B32C8: - ldrh r0, [r5, 0x20] - adds r0, 0x28 - strh r0, [r5, 0x20] - ldrh r0, [r5, 0x22] - subs r0, 0xA - strh r0, [r5, 0x22] - movs r0, 0x1 -_080B32D6: - strh r0, [r5, 0x30] - ldr r1, _080B32EC @ =DestroyAnimSprite - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 - ldr r0, _080B32F0 @ =sub_8074F6C - str r0, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B32EC: .4byte DestroyAnimSprite -_080B32F0: .4byte sub_8074F6C - thumb_func_end sub_80B3278 - - thumb_func_start sub_80B32F4 -sub_80B32F4: @ 80B32F4 - push {r4-r7,lr} - adds r5, r0, 0 - ldr r6, _080B3378 @ =gBattleAnimAttacker - ldrb r0, [r6] - movs r1, 0x1 - bl sub_8076B2C - lsls r0, 16 - asrs r1, r0, 16 - lsrs r0, 31 - adds r1, r0 - lsls r1, 15 - lsrs r4, r1, 16 - ldrb r0, [r6] - movs r1, 0 - bl sub_8076B2C - lsls r0, 16 - asrs r1, r0, 16 - lsrs r0, 31 - adds r1, r0 - asrs r1, 1 - negs r1, r1 - lsls r1, 16 - lsrs r7, r1, 16 - ldrb r0, [r6] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B333A - lsls r0, r4, 16 - negs r0, r0 - lsrs r4, r0, 16 -_080B333A: - ldrb r0, [r6] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - adds r0, r4 - strh r0, [r5, 0x20] - ldrb r0, [r6] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - adds r0, r7 - strh r0, [r5, 0x22] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xF - bgt _080B3366 - movs r0, 0x10 - strh r0, [r5, 0x22] -_080B3366: - ldr r1, _080B337C @ =sub_80B3384 - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 - ldr r0, _080B3380 @ =sub_8074F6C - str r0, [r5, 0x1C] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B3378: .4byte gBattleAnimAttacker -_080B337C: .4byte sub_80B3384 -_080B3380: .4byte sub_8074F6C - thumb_func_end sub_80B32F4 - - thumb_func_start sub_80B3384 -sub_80B3384: @ 80B3384 - push {r4,lr} - adds r4, r0, 0 - ldrb r1, [r4, 0x1] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r4, 0x1] - ldr r0, _080B33B0 @ =gUnknown_83E6FF0 - str r0, [r4, 0x10] - movs r0, 0 - strh r0, [r4, 0x2E] - adds r0, r4, 0 - bl InitSpriteAffineAnim - ldr r0, _080B33B4 @ =sub_80B33B8 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B33B0: .4byte gUnknown_83E6FF0 -_080B33B4: .4byte sub_80B33B8 - thumb_func_end sub_80B3384 - - thumb_func_start sub_80B33B8 -sub_80B33B8: @ 80B33B8 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080B33CA - cmp r0, 0x1 - beq _080B33F8 - b _080B3410 -_080B33CA: - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080B3410 - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - ldrb r1, [r4, 0x1] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x1] - movs r0, 0x12 - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _080B3410 -_080B33F8: - ldrh r0, [r4, 0x30] - subs r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _080B3410 - adds r0, r4, 0 - bl DestroyAnimSprite -_080B3410: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80B33B8 - - thumb_func_start sub_80B3418 -sub_80B3418: @ 80B3418 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, _080B3448 @ =gTasks - adds r4, r0 - movs r0, 0 - bl GetAnimBankSpriteId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - strh r1, [r4, 0x8] - ldr r2, _080B344C @ =gUnknown_83E700C - adds r0, r4, 0 - bl sub_80762D0 - ldr r0, _080B3450 @ =sub_80B3454 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B3448: .4byte gTasks -_080B344C: .4byte gUnknown_83E700C -_080B3450: .4byte sub_80B3454 - thumb_func_end sub_80B3418 - - thumb_func_start sub_80B3454 -sub_80B3454: @ 80B3454 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _080B347C @ =gTasks - adds r0, r1 - bl sub_8076308 - lsls r0, 24 - cmp r0, 0 - bne _080B3474 - adds r0, r4, 0 - bl DestroyAnimVisualTask -_080B3474: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B347C: .4byte gTasks - thumb_func_end sub_80B3454 - - thumb_func_start sub_80B3480 -sub_80B3480: @ 80B3480 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _080B34CC @ =gTasks - adds r4, r1, r0 - movs r0, 0 - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - strh r0, [r4, 0x8] - strh r1, [r4, 0xA] - strh r1, [r4, 0xC] - ldr r0, _080B34D0 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - movs r1, 0x8 - cmp r0, 0 - beq _080B34B4 - movs r1, 0x4 -_080B34B4: - strh r1, [r4, 0xE] - ldrb r1, [r4, 0x8] - ldr r2, _080B34D4 @ =gUnknown_83E702C - adds r0, r4, 0 - bl sub_80762D0 - ldr r0, _080B34D8 @ =sub_80B34DC - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B34CC: .4byte gTasks -_080B34D0: .4byte gBattleAnimAttacker -_080B34D4: .4byte gUnknown_83E702C -_080B34D8: .4byte sub_80B34DC - thumb_func_end sub_80B3480 - - thumb_func_start sub_80B34DC -sub_80B34DC: @ 80B34DC - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _080B34FC @ =gTasks - adds r4, r0, r1 - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080B3500 - cmp r0, 0x1 - beq _080B351C - b _080B357A - .align 2, 0 -_080B34FC: .4byte gTasks -_080B3500: - adds r0, r4, 0 - bl sub_8076308 - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x13 - ble _080B357A - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - b _080B357A -_080B351C: - movs r1, 0xE - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080B3544 - ldr r2, _080B3540 @ =gSprites - movs r0, 0x8 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x26] - subs r1, 0x8 - strh r1, [r0, 0x26] - ldrh r0, [r4, 0xE] - subs r0, 0x1 - strh r0, [r4, 0xE] - b _080B357A - .align 2, 0 -_080B3540: .4byte gSprites -_080B3544: - ldr r3, _080B3580 @ =gSprites - movs r0, 0x8 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - movs r0, 0x8 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - movs r1, 0x88 - lsls r1, 1 - strh r1, [r0, 0x20] - ldrb r0, [r4, 0x8] - bl sub_8075980 - adds r0, r5, 0 - bl DestroyAnimVisualTask -_080B357A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B3580: .4byte gSprites - thumb_func_end sub_80B34DC - - thumb_func_start sub_80B3584 -sub_80B3584: @ 80B3584 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _080B360C @ =gTasks - adds r5, r1, r0 - movs r1, 0 - movs r0, 0x10 - strh r0, [r5, 0xE] - strh r1, [r5, 0x10] - ldr r4, _080B3610 @ =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x24] - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8076B2C - lsls r0, 16 - asrs r0, 16 - movs r1, 0x3 - bl __divsi3 - lsls r0, 16 - lsrs r6, r0, 16 - ldrb r0, [r4] - movs r1, 0 - bl sub_8076B2C - lsls r0, 16 - asrs r0, 16 - movs r1, 0x3 - bl __divsi3 - lsls r0, 16 - lsrs r0, 16 - adds r1, r0, 0 - cmp r0, r6 - bcs _080B35EE - adds r1, r6, 0 -_080B35EE: - strh r1, [r5, 0x20] - movs r1, 0xFD - lsls r1, 6 - movs r0, 0x50 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0x10 - bl SetGpuReg - ldr r0, _080B3614 @ =sub_80B3618 - str r0, [r5] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B360C: .4byte gTasks -_080B3610: .4byte gBattleAnimAttacker -_080B3614: .4byte sub_80B3618 - thumb_func_end sub_80B3584 - - thumb_func_start sub_80B3618 -sub_80B3618: @ 80B3618 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _080B363C @ =gTasks - adds r4, r0, r1 - movs r0, 0x8 - ldrsh r1, [r4, r0] - cmp r1, 0x1 - beq _080B3718 - cmp r1, 0x1 - bgt _080B3640 - cmp r1, 0 - beq _080B364E - b _080B379E - .align 2, 0 -_080B363C: .4byte gTasks -_080B3640: - cmp r1, 0x2 - bne _080B3646 - b _080B377A -_080B3646: - cmp r1, 0x3 - bne _080B364C - b _080B3788 -_080B364C: - b _080B379E -_080B364E: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x8 - bgt _080B365E - b _080B379E -_080B365E: - strh r1, [r4, 0xA] - ldr r0, _080B369C @ =gUnknown_83E7044 - movs r2, 0x22 - ldrsh r1, [r4, r2] - movs r3, 0x24 - ldrsh r2, [r4, r3] - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r2, r0, 24 - movs r0, 0xC - ldrsh r1, [r4, r0] - adds r1, 0x8 - lsls r1, 1 - adds r0, r4, 0 - adds r0, 0x8 - adds r0, r1 - strh r2, [r0] - cmp r2, 0x40 - beq _080B3702 - movs r1, 0xC - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _080B36BC - cmp r0, 0x1 - bgt _080B36A0 - cmp r0, 0 - beq _080B36AA - b _080B3702 - .align 2, 0 -_080B369C: .4byte gUnknown_83E7044 -_080B36A0: - cmp r0, 0x2 - beq _080B36D4 - cmp r0, 0x3 - beq _080B36EC - b _080B3702 -_080B36AA: - ldr r0, _080B36B8 @ =gSprites - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - ldrh r0, [r4, 0x20] - b _080B36FA - .align 2, 0 -_080B36B8: .4byte gSprites -_080B36BC: - ldr r0, _080B36D0 @ =gSprites - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - ldrh r0, [r4, 0x20] - negs r0, r0 - strh r0, [r1, 0x24] - ldrh r0, [r4, 0x20] - b _080B3700 - .align 2, 0 -_080B36D0: .4byte gSprites -_080B36D4: - ldr r1, _080B36E8 @ =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - ldrh r1, [r4, 0x20] - strh r1, [r0, 0x24] - ldrh r1, [r4, 0x20] - strh r1, [r0, 0x26] - b _080B3702 - .align 2, 0 -_080B36E8: .4byte gSprites -_080B36EC: - ldr r0, _080B3714 @ =gSprites - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - ldrh r0, [r4, 0x20] - negs r0, r0 -_080B36FA: - strh r0, [r1, 0x24] - ldrh r0, [r4, 0x20] - negs r0, r0 -_080B3700: - strh r0, [r1, 0x26] -_080B3702: - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - bne _080B379E - b _080B377A - .align 2, 0 -_080B3714: .4byte gSprites -_080B3718: - ldrh r0, [r4, 0xA] - ands r1, r0 - cmp r1, 0 - beq _080B3728 - ldrh r0, [r4, 0xE] - subs r0, 0x1 - strh r0, [r4, 0xE] - b _080B372E -_080B3728: - ldrh r0, [r4, 0x10] - adds r0, 0x1 - strh r0, [r4, 0x10] -_080B372E: - ldrh r1, [r4, 0x10] - lsls r1, 8 - ldrh r0, [r4, 0xE] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x20 - bne _080B379E - movs r5, 0x8 - adds r6, r4, 0 - adds r6, 0x8 -_080B3754: - lsls r0, r5, 1 - adds r1, r6, r0 - movs r2, 0 - ldrsh r0, [r1, r2] - cmp r0, 0x40 - beq _080B3770 - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080B3784 @ =gSprites - adds r0, r1 - bl DestroySprite -_080B3770: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0xC - bls _080B3754 -_080B377A: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080B379E - .align 2, 0 -_080B3784: .4byte gSprites -_080B3788: - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - adds r0, r5, 0 - bl DestroyAnimVisualTask -_080B379E: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80B3618 - - thumb_func_start sub_80B37A4 -sub_80B37A4: @ 80B37A4 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x30 - ldrsh r1, [r4, r0] - movs r2, 0x2E - ldrsh r0, [r4, r2] - subs r0, 0xA - cmp r1, r0 - ble _080B37CE - ldrh r0, [r4, 0x30] - movs r1, 0x1 - ands r1, r0 - adds r3, r4, 0 - adds r3, 0x3E - lsls r1, 2 - ldrb r2, [r3] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] -_080B37CE: - movs r0, 0x30 - ldrsh r1, [r4, r0] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r1, r0 - bne _080B37E0 - adds r0, r4, 0 - bl DestroyAnimSprite -_080B37E0: - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80B37A4 - - thumb_func_start sub_80B37EC -sub_80B37EC: @ 80B37EC - push {r4-r6,lr} - adds r5, r0, 0 - ldr r6, _080B3828 @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _080B3818 - ldr r4, _080B382C @ =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] -_080B3818: - ldrh r0, [r6, 0x2] - strh r0, [r5, 0x2E] - ldr r0, _080B3830 @ =sub_80B37A4 - str r0, [r5, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B3828: .4byte gBattleAnimArgs -_080B382C: .4byte gBattleAnimAttacker -_080B3830: .4byte sub_80B37A4 - thumb_func_end sub_80B37EC - - thumb_func_start sub_80B3834 -sub_80B3834: @ 80B3834 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _080B3890 @ =gTasks - adds r5, r1, r0 - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - beq _080B38D8 - ldr r0, _080B3894 @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0x1 - bne _080B38A4 - ldr r0, _080B3898 @ =0x0000fff6 - strh r0, [r5, 0x1C] - ldr r4, _080B389C @ =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x5 - bl sub_8076B2C - subs r0, 0x8 - strh r0, [r5, 0x1E] - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8076B2C - adds r0, 0x8 - strh r0, [r5, 0x20] - ldr r4, _080B38A0 @ =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x5 - bl sub_8076B2C - subs r0, 0x8 - strh r0, [r5, 0x22] - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8076B2C - adds r0, 0x8 - b _080B3962 - .align 2, 0 -_080B3890: .4byte gTasks -_080B3894: .4byte gBattleAnimArgs -_080B3898: .4byte 0x0000fff6 -_080B389C: .4byte gBattleAnimTarget -_080B38A0: .4byte gBattleAnimAttacker -_080B38A4: - movs r0, 0xA - strh r0, [r5, 0x1C] - ldr r4, _080B38D0 @ =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x4 - bl sub_8076B2C - adds r0, 0x8 - strh r0, [r5, 0x1E] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8076B2C - subs r0, 0x8 - strh r0, [r5, 0x20] - ldr r4, _080B38D4 @ =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x4 - bl sub_8076B2C - adds r0, 0x8 - b _080B3956 - .align 2, 0 -_080B38D0: .4byte gBattleAnimAttacker -_080B38D4: .4byte gBattleAnimTarget -_080B38D8: - ldr r0, _080B391C @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0x1 - bne _080B392C - ldr r0, _080B3920 @ =0x0000fff6 - strh r0, [r5, 0x1C] - ldr r4, _080B3924 @ =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x4 - bl sub_8076B2C - adds r0, 0x8 - strh r0, [r5, 0x1E] - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8076B2C - adds r0, 0x8 - strh r0, [r5, 0x20] - ldr r4, _080B3928 @ =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x4 - bl sub_8076B2C - adds r0, 0x8 - strh r0, [r5, 0x22] - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8076B2C - adds r0, 0x8 - b _080B3962 - .align 2, 0 -_080B391C: .4byte gBattleAnimArgs -_080B3920: .4byte 0x0000fff6 -_080B3924: .4byte gBattleAnimTarget -_080B3928: .4byte gBattleAnimAttacker -_080B392C: - movs r0, 0xA - strh r0, [r5, 0x1C] - ldr r4, _080B3974 @ =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x5 - bl sub_8076B2C - subs r0, 0x8 - strh r0, [r5, 0x1E] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8076B2C - subs r0, 0x8 - strh r0, [r5, 0x20] - ldr r4, _080B3978 @ =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x5 - bl sub_8076B2C - subs r0, 0x8 -_080B3956: - strh r0, [r5, 0x22] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8076B2C - subs r0, 0x8 -_080B3962: - strh r0, [r5, 0x24] - movs r0, 0x6 - strh r0, [r5, 0xA] - ldr r0, _080B397C @ =sub_80B3980 - str r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B3974: .4byte gBattleAnimAttacker -_080B3978: .4byte gBattleAnimTarget -_080B397C: .4byte sub_80B3980 - thumb_func_end sub_80B3834 - - thumb_func_start sub_80B3980 -sub_80B3980: @ 80B3980 - push {r4,r5,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, _080B39A0 @ =gTasks - adds r5, r0, r1 - movs r0, 0x8 - ldrsh r1, [r5, r0] - cmp r1, 0 - beq _080B39A4 - cmp r1, 0x1 - beq _080B3A18 - b _080B3A2C - .align 2, 0 -_080B39A0: .4byte gTasks -_080B39A4: - ldrh r0, [r5, 0xA] - adds r0, 0x1 - strh r0, [r5, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x6 - ble _080B3A2C - strh r1, [r5, 0xA] - ldr r0, _080B3A10 @ =gUnknown_83E7114 - movs r2, 0x1E - ldrsh r1, [r5, r2] - movs r3, 0x20 - ldrsh r2, [r5, r3] - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _080B39F8 - ldr r0, _080B3A14 @ =gSprites - lsls r4, r1, 4 - adds r4, r1 - lsls r4, 2 - adds r4, r0 - movs r0, 0x10 - strh r0, [r4, 0x2E] - ldrh r0, [r5, 0x22] - strh r0, [r4, 0x32] - ldrh r0, [r5, 0x24] - strh r0, [r4, 0x36] - ldrh r0, [r5, 0x1C] - strh r0, [r4, 0x38] - adds r0, r4, 0 - bl sub_8075068 - ldrb r0, [r5, 0xC] - movs r1, 0x3 - ands r1, r0 - adds r0, r4, 0 - bl StartSpriteAffineAnim -_080B39F8: - ldrh r0, [r5, 0xC] - adds r0, 0x1 - strh r0, [r5, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xC - bne _080B3A2C - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - b _080B3A2C - .align 2, 0 -_080B3A10: .4byte gUnknown_83E7114 -_080B3A14: .4byte gSprites -_080B3A18: - ldrh r0, [r5, 0xA] - adds r0, 0x1 - strh r0, [r5, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x11 - ble _080B3A2C - adds r0, r2, 0 - bl DestroyAnimVisualTask -_080B3A2C: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80B3980 - - thumb_func_start sub_80B3A34 -sub_80B3A34: @ 80B3A34 - push {r4,lr} - adds r4, r0, 0 - bl AnimateBallThrow - lsls r0, 24 - cmp r0, 0 - beq _080B3A52 - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - adds r0, r4, 0 - bl DestroySprite -_080B3A52: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80B3A34 - - thumb_func_start sub_80B3A58 -sub_80B3A58: @ 80B3A58 - push {r4-r6,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _080B3A90 @ =gTasks - adds r4, r1, r0 - ldr r0, _080B3A94 @ =gBattleAnimTarget - ldrb r0, [r0] - bl sub_807492C - lsls r0, 24 - lsrs r1, r0, 24 - adds r0, r1, 0 - subs r0, 0x20 - strh r0, [r4, 0x24] - ldr r0, _080B3A98 @ =gBattleAnimArgs - movs r2, 0 - ldrsh r0, [r0, r2] - cmp r0, 0x1 - beq _080B3AAE - cmp r0, 0x1 - bgt _080B3A9C - cmp r0, 0 - beq _080B3AA2 - b _080B3ACA - .align 2, 0 -_080B3A90: .4byte gTasks -_080B3A94: .4byte gBattleAnimTarget -_080B3A98: .4byte gBattleAnimArgs -_080B3A9C: - cmp r0, 0x2 - beq _080B3ABA - b _080B3ACA -_080B3AA2: - movs r0, 0x2 - strh r0, [r4, 0x1E] - movs r0, 0x5 - strh r0, [r4, 0x20] - movs r0, 0x40 - b _080B3AC2 -_080B3AAE: - movs r0, 0x2 - strh r0, [r4, 0x1E] - movs r0, 0x5 - strh r0, [r4, 0x20] - movs r0, 0xC0 - b _080B3AC2 -_080B3ABA: - movs r0, 0x4 - strh r0, [r4, 0x1E] - strh r0, [r4, 0x20] - movs r0, 0 -_080B3AC2: - strh r0, [r4, 0x22] - adds r0, r1, 0 - adds r0, 0x20 - strh r0, [r4, 0x26] -_080B3ACA: - movs r1, 0x24 - ldrsh r0, [r4, r1] - cmp r0, 0 - bge _080B3AD6 - movs r0, 0 - strh r0, [r4, 0x24] -_080B3AD6: - ldr r0, _080B3AF0 @ =gBattleAnimTarget - ldrb r0, [r0] - bl sub_80768B0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B3AFC - ldr r0, _080B3AF4 @ =gBattle_BG1_X - ldrh r0, [r0] - strh r0, [r4, 0x1C] - ldr r0, _080B3AF8 @ =0x04000014 - b _080B3B04 - .align 2, 0 -_080B3AF0: .4byte gBattleAnimTarget -_080B3AF4: .4byte gBattle_BG1_X -_080B3AF8: .4byte 0x04000014 -_080B3AFC: - ldr r0, _080B3B64 @ =gBattle_BG2_X - ldrh r0, [r0] - strh r0, [r4, 0x1C] - ldr r0, _080B3B68 @ =0x04000018 -_080B3B04: - str r0, [sp] - ldrh r1, [r4, 0x24] - lsls r3, r1, 16 - asrs r1, r3, 16 - movs r2, 0x24 - ldrsh r0, [r4, r2] - adds r0, 0x40 - cmp r1, r0 - bgt _080B3B3E - ldr r5, _080B3B6C @ =gScanlineEffectRegBuffers - movs r0, 0xF0 - lsls r0, 3 - adds r6, r5, r0 -_080B3B1E: - asrs r3, 16 - lsls r1, r3, 1 - adds r2, r1, r5 - ldrh r0, [r4, 0x1C] - strh r0, [r2] - adds r1, r6 - ldrh r0, [r4, 0x1C] - strh r0, [r1] - adds r3, 0x1 - lsls r3, 16 - asrs r1, r3, 16 - movs r2, 0x24 - ldrsh r0, [r4, r2] - adds r0, 0x40 - cmp r1, r0 - ble _080B3B1E -_080B3B3E: - ldr r0, _080B3B70 @ =0xa2600001 - str r0, [sp, 0x4] - mov r1, sp - movs r2, 0 - movs r0, 0x1 - strb r0, [r1, 0x8] - mov r0, sp - strb r2, [r0, 0x9] - ldr r0, [sp] - ldr r1, [sp, 0x4] - ldr r2, [sp, 0x8] - bl ScanlineEffect_SetParams - ldr r0, _080B3B74 @ =sub_80B3B78 - str r0, [r4] - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B3B64: .4byte gBattle_BG2_X -_080B3B68: .4byte 0x04000018 -_080B3B6C: .4byte gScanlineEffectRegBuffers -_080B3B70: .4byte 0xa2600001 -_080B3B74: .4byte sub_80B3B78 - thumb_func_end sub_80B3A58 - - thumb_func_start sub_80B3B78 -sub_80B3B78: @ 80B3B78 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, _080B3BA0 @ =gTasks - adds r5, r0, r1 - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _080B3C52 - cmp r0, 0x1 - bgt _080B3BA4 - cmp r0, 0 - beq _080B3BAA - b _080B3C6A - .align 2, 0 -_080B3BA0: .4byte gTasks -_080B3BA4: - cmp r0, 0x2 - beq _080B3C64 - b _080B3C6A -_080B3BAA: - ldrh r3, [r5, 0x22] - ldrh r4, [r5, 0x24] - movs r2, 0x24 - ldrsh r1, [r5, r2] - movs r2, 0x26 - ldrsh r0, [r5, r2] - cmp r1, r0 - bgt _080B3C42 - ldr r0, _080B3BF4 @ =gSineTable - mov r9, r0 - movs r7, 0x3 - ldr r1, _080B3BF8 @ =gScanlineEffectRegBuffers - mov r12, r1 - movs r2, 0xF0 - lsls r2, 3 - add r2, r12 - mov r8, r2 -_080B3BCC: - lsls r2, r3, 16 - asrs r0, r2, 15 - add r0, r9 - movs r3, 0 - ldrsh r0, [r0, r3] - movs r3, 0x20 - ldrsh r1, [r5, r3] - asrs r0, r1 - lsls r0, 16 - lsrs r1, r0, 16 - asrs r3, r0, 16 - adds r6, r2, 0 - cmp r3, 0 - ble _080B3BFC - ldrh r1, [r5, 0xA] - adds r0, r7, 0 - ands r0, r1 - adds r0, r3, r0 - b _080B3C08 - .align 2, 0 -_080B3BF4: .4byte gSineTable -_080B3BF8: .4byte gScanlineEffectRegBuffers -_080B3BFC: - cmp r3, 0 - bge _080B3C0C - ldrh r1, [r5, 0xA] - adds r0, r7, 0 - ands r0, r1 - subs r0, r3, r0 -_080B3C08: - lsls r0, 16 - lsrs r1, r0, 16 -_080B3C0C: - lsls r2, r4, 16 - asrs r2, 16 - lsls r3, r2, 1 - mov r0, r12 - adds r4, r3, r0 - ldrh r0, [r5, 0x1C] - lsls r1, 16 - asrs r1, 16 - adds r0, r1, r0 - strh r0, [r4] - add r3, r8 - ldrh r0, [r5, 0x1C] - adds r1, r0 - strh r1, [r3] - asrs r0, r6, 16 - ldrh r1, [r5, 0x1E] - adds r0, r1 - lsls r0, 16 - lsrs r3, r0, 16 - adds r2, 0x1 - lsls r2, 16 - lsrs r4, r2, 16 - asrs r2, 16 - movs r1, 0x26 - ldrsh r0, [r5, r1] - cmp r2, r0 - ble _080B3BCC -_080B3C42: - ldrh r0, [r5, 0xA] - adds r0, 0x1 - strh r0, [r5, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x17 - ble _080B3C6A - b _080B3C58 -_080B3C52: - ldr r1, _080B3C60 @ =gScanlineEffect - movs r0, 0x3 - strb r0, [r1, 0x15] -_080B3C58: - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - b _080B3C6A - .align 2, 0 -_080B3C60: .4byte gScanlineEffect -_080B3C64: - adds r0, r2, 0 - bl DestroyAnimVisualTask -_080B3C6A: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80B3B78 - - thumb_func_start sub_80B3C78 -sub_80B3C78: @ 80B3C78 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r4, r0, 24 - mov r8, r4 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _080B3CAC @ =gTasks - adds r7, r0, r1 - bl AllocOamMatrix - lsls r0, 24 - lsrs r5, r0, 24 - mov r10, r5 - adds r6, r5, 0 - cmp r6, 0xFF - bne _080B3CB0 - adds r0, r4, 0 - bl DestroyAnimVisualTask - b _080B3D5A - .align 2, 0 -_080B3CAC: .4byte gTasks -_080B3CB0: - ldr r1, _080B3CD4 @ =gBattleAnimArgs - ldrb r0, [r1] - bl duplicate_obj_of_side_rel2move_in_transparent_mode - lsls r0, 16 - lsrs r1, r0, 16 - mov r9, r1 - asrs r0, 16 - cmp r0, 0 - bge _080B3CD8 - adds r0, r5, 0 - bl FreeOamMatrix - mov r0, r8 - bl DestroyAnimVisualTask - b _080B3D5A - .align 2, 0 -_080B3CD4: .4byte gBattleAnimArgs -_080B3CD8: - ldr r2, _080B3D68 @ =gSprites - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - adds r0, r2, 0 - adds r0, 0x1C - adds r0, r4, r0 - ldr r1, _080B3D6C @ =SpriteCallbackDummy - str r1, [r0] - adds r4, r2 - ldrb r0, [r4, 0x1] - movs r1, 0x3 - orrs r0, r1 - strb r0, [r4, 0x1] - movs r0, 0x1F - ands r6, r0 - lsls r2, r6, 1 - ldrb r1, [r4, 0x3] - movs r0, 0x3F - negs r0, r0 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, 0x3] - adds r2, r4, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - adds r1, r4, 0 - adds r1, 0x43 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - mov r1, r9 - lsls r0, r1, 24 - lsrs r0, 24 - movs r2, 0x80 - lsls r2, 1 - adds r1, r2, 0 - movs r3, 0 - bl obj_id_set_rotscale - ldrb r3, [r4, 0x1] - lsrs r1, r3, 6 - ldrb r2, [r4, 0x3] - lsrs r2, 6 - lsls r3, 30 - lsrs r3, 30 - adds r0, r4, 0 - bl CalcCenterToCornerVec - ldr r1, _080B3D70 @ =gBattleAnimArgs - ldrb r0, [r1] - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r0, 24 - strh r0, [r7, 0x22] - mov r0, r10 - strh r0, [r7, 0x24] - mov r1, r9 - strh r1, [r7, 0x26] - ldr r0, _080B3D74 @ =sub_80B3D78 - str r0, [r7] -_080B3D5A: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B3D68: .4byte gSprites -_080B3D6C: .4byte SpriteCallbackDummy -_080B3D70: .4byte gBattleAnimArgs -_080B3D74: .4byte sub_80B3D78 - thumb_func_end sub_80B3C78 - - thumb_func_start sub_80B3D78 -sub_80B3D78: @ 80B3D78 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _080B3D9C @ =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _080B3DFC - cmp r0, 0x1 - bgt _080B3DA0 - cmp r0, 0 - beq _080B3DAA - b _080B3E7C - .align 2, 0 -_080B3D9C: .4byte gTasks -_080B3DA0: - cmp r0, 0x2 - beq _080B3E4C - cmp r0, 0x3 - beq _080B3E6C - b _080B3E7C -_080B3DAA: - ldrh r0, [r4, 0xA] - adds r0, 0x4 - strh r0, [r4, 0xA] - ldr r1, _080B3DF8 @ =gSineTable - movs r2, 0xA - ldrsh r0, [r4, r2] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - lsls r1, 16 - asrs r1, 17 - movs r2, 0x80 - lsls r2, 1 - adds r0, r2, 0 - subs r0, r1 - strh r0, [r4, 0xC] - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0xC - ldrsh r2, [r4, r1] - adds r1, r2, 0 - movs r3, 0 - bl obj_id_set_rotscale - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x22] - lsls r1, 24 - lsrs r1, 24 - bl sub_8076494 - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r0, 0x30 - bne _080B3E7C - b _080B3E5E - .align 2, 0 -_080B3DF8: .4byte gSineTable -_080B3DFC: - ldrh r0, [r4, 0xA] - subs r0, 0x4 - strh r0, [r4, 0xA] - ldr r1, _080B3E48 @ =gSineTable - movs r2, 0xA - ldrsh r0, [r4, r2] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - lsls r1, 16 - asrs r1, 17 - movs r2, 0x80 - lsls r2, 1 - adds r0, r2, 0 - subs r0, r1 - strh r0, [r4, 0xC] - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0xC - ldrsh r2, [r4, r1] - adds r1, r2, 0 - movs r3, 0 - bl obj_id_set_rotscale - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x22] - lsls r1, 24 - lsrs r1, 24 - bl sub_8076494 - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _080B3E7C - b _080B3E5E - .align 2, 0 -_080B3E48: .4byte gSineTable -_080B3E4C: - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080B3E68 @ =gSprites - adds r0, r1 - bl obj_delete_but_dont_free_vram -_080B3E5E: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080B3E7C - .align 2, 0 -_080B3E68: .4byte gSprites -_080B3E6C: - ldrh r0, [r4, 0x24] - lsls r0, 24 - lsrs r0, 24 - bl FreeOamMatrix - adds r0, r5, 0 - bl DestroyAnimVisualTask -_080B3E7C: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80B3D78 - - thumb_func_start sub_80B3E84 -sub_80B3E84: @ 80B3E84 - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x2E - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _080B3EFC - cmp r0, 0x1 - bgt _080B3E9A - cmp r0, 0 - beq _080B3EA4 - b _080B3FA4 -_080B3E9A: - cmp r0, 0x2 - beq _080B3F2E - cmp r0, 0x3 - beq _080B3F8E - b _080B3FA4 -_080B3EA4: - ldr r4, _080B3EF8 @ =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - beq _080B3ED2 - ldrh r0, [r5, 0x22] - adds r0, 0xC - strh r0, [r5, 0x22] -_080B3ED2: - movs r0, 0x8 - strh r0, [r5, 0x30] - movs r1, 0xFD - lsls r1, 6 - movs r0, 0x50 - bl SetGpuReg - ldrh r0, [r5, 0x30] - movs r1, 0x10 - subs r1, r0 - lsls r1, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - b _080B3F26 - .align 2, 0 -_080B3EF8: .4byte gBattleAnimAttacker -_080B3EFC: - adds r0, r5, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080B3FA4 - movs r0, 0x40 - negs r0, r0 - bl sub_8073A44 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 24 - movs r0, 0xC4 - bl PlaySE12WithPanning - adds r0, r5, 0 - movs r1, 0x1 - bl ChangeSpriteAffineAnim -_080B3F26: - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - b _080B3FA4 -_080B3F2E: - ldrh r0, [r5, 0x32] - adds r1, r0, 0x1 - strh r1, [r5, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080B3F72 - movs r0, 0 - strh r0, [r5, 0x32] - ldrh r1, [r5, 0x30] - subs r1, 0x1 - strh r1, [r5, 0x30] - movs r0, 0x10 - subs r0, r1 - lsls r0, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r1, 0x30 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _080B3F72 - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - adds r2, r5, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] -_080B3F72: - movs r0, 0xE0 - lsls r0, 2 - adds r2, r0, 0 - ldrh r1, [r5, 0x34] - adds r2, r1 - lsls r1, r2, 16 - asrs r1, 24 - ldrh r0, [r5, 0x26] - subs r0, r1 - strh r0, [r5, 0x26] - movs r0, 0xFF - ands r2, r0 - strh r2, [r5, 0x34] - b _080B3FA4 -_080B3F8E: - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - adds r0, r5, 0 - bl DestroyAnimSprite -_080B3FA4: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80B3E84 - - thumb_func_start sub_80B3FAC -sub_80B3FAC: @ 80B3FAC - push {r4-r6,lr} - adds r6, r0, 0 - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - beq _080B3FD8 - adds r0, r6, 0 - movs r1, 0x2 - bl StartSpriteAffineAnim - ldr r0, _080B3FD4 @ =gBattleAnimArgs - ldrh r1, [r0, 0x4] - negs r1, r1 - strh r1, [r0, 0x4] - ldrh r1, [r0] - negs r1, r1 - strh r1, [r0] - b _080B4008 - .align 2, 0 -_080B3FD4: .4byte gBattleAnimArgs -_080B3FD8: - ldr r0, _080B406C @ =gBattleAnimTarget - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080B4008 - adds r0, r6, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - ldr r1, _080B4070 @ =gBattleAnimArgs - ldrh r0, [r1, 0x2] - negs r0, r0 - strh r0, [r1, 0x2] - ldrh r0, [r1, 0x4] - negs r0, r0 - strh r0, [r1, 0x4] - ldrh r0, [r1, 0x6] - negs r0, r0 - strh r0, [r1, 0x6] - ldrh r0, [r1] - negs r0, r0 - strh r0, [r1] -_080B4008: - ldr r5, _080B406C @ =gBattleAnimTarget - ldrb r0, [r5] - movs r1, 0x2 - bl sub_8074844 - lsls r0, 24 - ldr r4, _080B4070 @ =gBattleAnimArgs - lsrs r0, 24 - ldrh r1, [r4] - adds r0, r1 - strh r0, [r6, 0x20] - ldrb r0, [r5] - movs r1, 0x3 - bl sub_8074844 - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x2] - adds r0, r1 - strh r0, [r6, 0x22] - ldrh r0, [r4, 0x8] - strh r0, [r6, 0x2E] - ldrb r0, [r5] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x4] - adds r0, r1 - strh r0, [r6, 0x32] - ldrb r0, [r5] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r4, [r4, 0x6] - adds r0, r4 - strh r0, [r6, 0x36] - ldr r0, _080B4074 @ =sub_8075590 - str r0, [r6, 0x1C] - ldr r1, _080B4078 @ =DestroyAnimSprite - adds r0, r6, 0 - bl StoreSpriteCallbackInData6 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B406C: .4byte gBattleAnimTarget -_080B4070: .4byte gBattleAnimArgs -_080B4074: .4byte sub_8075590 -_080B4078: .4byte DestroyAnimSprite - thumb_func_end sub_80B3FAC - - thumb_func_start sub_80B407C -sub_80B407C: @ 80B407C - push {r4-r6,lr} - adds r6, r0, 0 - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - beq _080B40A0 - ldr r1, _080B409C @ =gBattleAnimArgs - ldrh r0, [r1] - negs r0, r0 - strh r0, [r1] - adds r0, r6, 0 - movs r1, 0x2 - bl StartSpriteAffineAnim - b _080B40BC - .align 2, 0 -_080B409C: .4byte gBattleAnimArgs -_080B40A0: - ldr r0, _080B4118 @ =gBattleAnimTarget - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080B40BC - ldr r0, _080B411C @ =gBattleAnimArgs - ldrh r1, [r0, 0x2] - negs r1, r1 - strh r1, [r0, 0x2] - ldrh r1, [r0] - negs r1, r1 - strh r1, [r0] -_080B40BC: - ldr r5, _080B4118 @ =gBattleAnimTarget - ldrb r0, [r5] - movs r1, 0x2 - bl sub_8074844 - lsls r0, 24 - ldr r4, _080B411C @ =gBattleAnimArgs - lsrs r0, 24 - ldrh r1, [r4] - adds r0, r1 - strh r0, [r6, 0x20] - ldrb r0, [r5] - movs r1, 0x3 - bl sub_8074844 - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x2] - adds r0, r1 - strh r0, [r6, 0x22] - ldrh r0, [r4, 0x4] - strh r0, [r6, 0x2E] - ldrb r0, [r5] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x32] - ldrb r0, [r5] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x36] - ldr r0, _080B4120 @ =sub_8075590 - str r0, [r6, 0x1C] - ldr r1, _080B4124 @ =DestroyAnimSprite - adds r0, r6, 0 - bl StoreSpriteCallbackInData6 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B4118: .4byte gBattleAnimTarget -_080B411C: .4byte gBattleAnimArgs -_080B4120: .4byte sub_8075590 -_080B4124: .4byte DestroyAnimSprite - thumb_func_end sub_80B407C - - thumb_func_start sub_80B4128 -sub_80B4128: @ 80B4128 - push {r4,r5,lr} - adds r5, r0, 0 - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - beq _080B4144 - ldr r0, _080B4184 @ =gBattleAnimArgs - movs r2, 0x4 - ldrsh r1, [r0, r2] - lsrs r2, r1, 31 - adds r1, r2 - asrs r1, 1 - strh r1, [r0, 0x4] -_080B4144: - adds r0, r5, 0 - movs r1, 0x1 - bl sub_8075160 - ldr r1, _080B4184 @ =gBattleAnimArgs - ldrh r0, [r1, 0x4] - strh r0, [r5, 0x2E] - ldrh r0, [r5, 0x20] - strh r0, [r5, 0x30] - ldrh r0, [r5, 0x22] - strh r0, [r5, 0x34] - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _080B418C - ldr r4, _080B4188 @ =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x32] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x36] - b _080B419E - .align 2, 0 -_080B4184: .4byte gBattleAnimArgs -_080B4188: .4byte gBattleAnimTarget -_080B418C: - ldr r0, _080B41B4 @ =gBattleAnimTarget - ldrb r0, [r0] - adds r2, r5, 0 - adds r2, 0x32 - adds r3, r5, 0 - adds r3, 0x36 - movs r1, 0x1 - bl sub_8076D9C -_080B419E: - adds r0, r5, 0 - bl sub_8075678 - ldr r0, _080B41B8 @ =gBattleAnimArgs - ldrh r0, [r0, 0x6] - strh r0, [r5, 0x38] - ldr r0, _080B41BC @ =sub_80B41C0 - str r0, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B41B4: .4byte gBattleAnimTarget -_080B41B8: .4byte gBattleAnimArgs -_080B41BC: .4byte sub_80B41C0 - thumb_func_end sub_80B4128 - - thumb_func_start sub_80B41C0 -sub_80B41C0: @ 80B41C0 - push {r4,lr} - adds r4, r0, 0 - bl sub_80755E0 - lsls r0, 24 - cmp r0, 0 - beq _080B41D6 - adds r0, r4, 0 - bl DestroyAnimSprite - b _080B41F2 -_080B41D6: - movs r1, 0x3A - ldrsh r0, [r4, r1] - movs r2, 0x38 - ldrsh r1, [r4, r2] - bl Sin - ldrh r1, [r4, 0x24] - adds r0, r1 - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x3A] - adds r0, 0xD - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x3A] -_080B41F2: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80B41C0 - - thumb_func_start sub_80B41F8 -sub_80B41F8: @ 80B41F8 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _080B4228 @ =gBattleAnimTarget - ldrb r0, [r0] - adds r2, r4, 0 - adds r2, 0x20 - adds r3, r4, 0 - adds r3, 0x22 - movs r1, 0 - bl sub_8076D9C - ldr r0, _080B422C @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080B4234 - ldr r0, _080B4230 @ =gBattleAnimArgs - ldrh r1, [r4, 0x20] - ldrh r2, [r0] - subs r1, r2 - strh r1, [r4, 0x20] - b _080B4240 - .align 2, 0 -_080B4228: .4byte gBattleAnimTarget -_080B422C: .4byte gBattleAnimAttacker -_080B4230: .4byte gBattleAnimArgs -_080B4234: - ldr r1, _080B4268 @ =gBattleAnimArgs - ldrh r0, [r1] - ldrh r2, [r4, 0x20] - adds r0, r2 - strh r0, [r4, 0x20] - adds r0, r1, 0 -_080B4240: - ldrh r0, [r0, 0x2] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - ldr r0, _080B426C @ =gBattleAnimTarget - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080B425C - ldrh r0, [r4, 0x22] - adds r0, 0x8 - strh r0, [r4, 0x22] -_080B425C: - ldr r0, _080B4270 @ =sub_80B4274 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B4268: .4byte gBattleAnimArgs -_080B426C: .4byte gBattleAnimTarget -_080B4270: .4byte sub_80B4274 - thumb_func_end sub_80B41F8 - - thumb_func_start sub_80B4274 -sub_80B4274: @ 80B4274 - push {lr} - adds r3, r0, 0 - ldrh r0, [r3, 0x2E] - adds r0, 0x1 - strh r0, [r3, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - bne _080B42A8 - movs r0, 0 - strh r0, [r3, 0x2E] - movs r0, 0x3E - adds r0, r3 - mov r12, r0 - ldrb r2, [r0] - lsls r0, r2, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - mov r1, r12 - strb r0, [r1] -_080B42A8: - ldrh r0, [r3, 0x30] - adds r0, 0x1 - strh r0, [r3, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x33 - bne _080B42BC - adds r0, r3, 0 - bl DestroyAnimSprite -_080B42BC: - pop {r0} - bx r0 - thumb_func_end sub_80B4274 - - thumb_func_start sub_80B42C0 -sub_80B42C0: @ 80B42C0 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0xFD - lsls r1, 6 - movs r0, 0x50 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0x10 - bl SetGpuReg - movs r0, 0x10 - strh r0, [r4, 0x2E] - ldr r0, _080B42E4 @ =sub_80B42E8 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B42E4: .4byte sub_80B42E8 - thumb_func_end sub_80B42C0 - - thumb_func_start sub_80B42E8 -sub_80B42E8: @ 80B42E8 - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x32] - movs r2, 0x32 - ldrsh r0, [r4, r2] - cmp r0, 0x13 - bgt _080B42FC - adds r0, r1, 0x1 - strh r0, [r4, 0x32] - b _080B433A -_080B42FC: - ldrh r1, [r4, 0x30] - adds r0, r1, 0x1 - strh r0, [r4, 0x30] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080B433A - ldrh r1, [r4, 0x2E] - subs r1, 0x1 - strh r1, [r4, 0x2E] - movs r0, 0x10 - subs r0, r1 - lsls r0, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080B433A - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, _080B4340 @ =sub_80B4344 - str r0, [r4, 0x1C] -_080B433A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B4340: .4byte sub_80B4344 - thumb_func_end sub_80B42E8 - - thumb_func_start sub_80B4344 -sub_80B4344: @ 80B4344 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - adds r0, r4, 0 - bl DestroyAnimSprite - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80B4344 - - thumb_func_start sub_80B4364 -sub_80B4364: @ 80B4364 - push {r4-r7,lr} - sub sp, 0x4 - adds r7, r0, 0 - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - beq _080B4384 - ldr r1, _080B4380 @ =gBattleAnimArgs - ldrh r0, [r1, 0x4] - negs r0, r0 - strh r0, [r1, 0x4] - b _080B43A6 - .align 2, 0 -_080B4380: .4byte gBattleAnimArgs -_080B4384: - ldr r0, _080B4480 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080B43A6 - ldr r1, _080B4484 @ =gBattleAnimArgs - ldrh r0, [r1, 0x4] - negs r0, r0 - strh r0, [r1, 0x4] - ldrh r0, [r1, 0x2] - negs r0, r0 - strh r0, [r1, 0x2] - ldrh r0, [r1, 0x6] - negs r0, r0 - strh r0, [r1, 0x6] -_080B43A6: - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080B43F6 - ldr r0, _080B4480 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - adds r4, r0, 0 - ldr r5, _080B4488 @ =gBattleAnimTarget - ldrb r0, [r5] - bl GetBattlerSide - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - bne _080B43F6 - ldrb r0, [r5] - bl GetBattlerPosition - lsls r0, 24 - cmp r0, 0 - beq _080B43E4 - ldrb r0, [r5] - bl GetBattlerPosition - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B43F6 -_080B43E4: - ldr r0, _080B4484 @ =gBattleAnimArgs - movs r2, 0x4 - ldrsh r1, [r0, r2] - negs r1, r1 - strh r1, [r0, 0x4] - movs r2, 0 - ldrsh r1, [r0, r2] - negs r1, r1 - strh r1, [r0] -_080B43F6: - adds r0, r7, 0 - movs r1, 0x1 - bl sub_8075160 - ldr r5, _080B4488 @ =gBattleAnimTarget - ldrb r0, [r5] - movs r1, 0x2 - bl sub_8074480 - adds r4, r0, 0 - lsls r4, 24 - ldr r6, _080B4484 @ =gBattleAnimArgs - lsrs r4, 24 - ldrh r0, [r6, 0x4] - adds r4, r0 - lsls r4, 16 - lsrs r4, 16 - ldrb r0, [r5] - movs r1, 0x3 - bl sub_8074480 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldrh r2, [r6, 0x6] - adds r1, r2 - lsls r1, 16 - ldrh r2, [r7, 0x20] - lsls r0, r4, 16 - asrs r0, 16 - subs r0, r2 - lsls r0, 16 - asrs r0, 16 - ldrh r2, [r7, 0x22] - lsrs r5, r1, 16 - asrs r1, 16 - subs r1, r2 - lsls r1, 16 - asrs r1, 16 - bl sub_8075B30 - lsls r0, 16 - movs r1, 0xC0 - lsls r1, 24 - adds r0, r1 - lsrs r0, 16 - movs r3, 0x80 - lsls r3, 1 - str r0, [sp] - adds r0, r7, 0 - movs r1, 0 - adds r2, r3, 0 - bl sub_8075A1C - ldrh r0, [r6, 0x8] - strh r0, [r7, 0x2E] - strh r4, [r7, 0x32] - strh r5, [r7, 0x36] - ldr r0, _080B448C @ =sub_8075590 - str r0, [r7, 0x1C] - ldr r1, _080B4490 @ =DestroyAnimSprite - adds r0, r7, 0 - bl StoreSpriteCallbackInData6 - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B4480: .4byte gBattleAnimAttacker -_080B4484: .4byte gBattleAnimArgs -_080B4488: .4byte gBattleAnimTarget -_080B448C: .4byte sub_8075590 -_080B4490: .4byte DestroyAnimSprite - thumb_func_end sub_80B4364 - - thumb_func_start sub_80B4494 -sub_80B4494: @ 80B4494 - push {r4-r6,lr} - adds r6, r0, 0 - movs r1, 0x1 - bl sub_8075160 - ldr r0, _080B4500 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080B44B4 - ldr r1, _080B4504 @ =gBattleAnimArgs - ldrh r0, [r1, 0x4] - negs r0, r0 - strh r0, [r1, 0x4] -_080B44B4: - ldr r4, _080B4504 @ =gBattleAnimArgs - ldrh r0, [r4, 0x8] - strh r0, [r6, 0x2E] - ldr r5, _080B4508 @ =gBattleAnimTarget - ldrb r0, [r5] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x4] - adds r0, r1 - strh r0, [r6, 0x32] - ldrb r0, [r5] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x6] - adds r0, r1 - strh r0, [r6, 0x36] - ldrh r0, [r4, 0xA] - strh r0, [r6, 0x38] - adds r0, r6, 0 - bl sub_8075068 - ldr r0, _080B450C @ =sub_80B4510 - str r0, [r6, 0x1C] - adds r2, r6, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B4500: .4byte gBattleAnimAttacker -_080B4504: .4byte gBattleAnimArgs -_080B4508: .4byte gBattleAnimTarget -_080B450C: .4byte sub_80B4510 - thumb_func_end sub_80B4494 - - thumb_func_start sub_80B4510 -sub_80B4510: @ 80B4510 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x14 - adds r4, r0, 0 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x5 - negs r1, r1 - ands r1, r0 - strb r1, [r2] - adds r0, r4, 0 - bl AnimateBallThrow - lsls r0, 24 - cmp r0, 0 - beq _080B453C - adds r0, r4, 0 - bl DestroyAnimSprite - b _080B45CC -_080B453C: - movs r0, 0x2E - adds r0, r4 - mov r8, r0 - ldrh r7, [r4, 0x20] - ldrh r5, [r4, 0x24] - ldrh r1, [r4, 0x22] - mov r12, r1 - ldrh r6, [r4, 0x26] - mov r2, r8 - add r1, sp, 0x4 - movs r3, 0x7 -_080B4552: - ldrh r0, [r2] - strh r0, [r1] - adds r2, 0x2 - adds r1, 0x2 - subs r3, 0x1 - cmp r3, 0 - bge _080B4552 - adds r0, r7, r5 - lsls r0, 16 - lsrs r5, r0, 16 - mov r2, r12 - adds r0, r2, r6 - lsls r0, 16 - lsrs r6, r0, 16 - adds r0, r4, 0 - bl AnimateBallThrow - lsls r0, 24 - cmp r0, 0 - bne _080B45CC - ldrh r0, [r4, 0x24] - ldrh r1, [r4, 0x20] - adds r0, r1 - lsls r1, r5, 16 - asrs r1, 16 - subs r0, r1 - lsls r0, 16 - asrs r0, 16 - ldrh r1, [r4, 0x26] - ldrh r2, [r4, 0x22] - adds r1, r2 - lsls r2, r6, 16 - asrs r2, 16 - subs r1, r2 - lsls r1, 16 - asrs r1, 16 - bl sub_8075B30 - lsls r0, 16 - movs r1, 0xC0 - lsls r1, 24 - adds r0, r1 - lsrs r0, 16 - movs r3, 0x80 - lsls r3, 1 - str r0, [sp] - adds r0, r4, 0 - movs r1, 0 - adds r2, r3, 0 - bl sub_8075A1C - add r2, sp, 0x4 - mov r1, r8 - movs r3, 0x7 -_080B45BE: - ldrh r0, [r2] - strh r0, [r1] - adds r2, 0x2 - adds r1, 0x2 - subs r3, 0x1 - cmp r3, 0 - bge _080B45BE -_080B45CC: - add sp, 0x14 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80B4510 - - thumb_func_start sub_80B45D8 -sub_80B45D8: @ 80B45D8 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, _080B45EC @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080B45F4 - ldr r4, _080B45F0 @ =gBattleAnimAttacker - b _080B45F6 - .align 2, 0 -_080B45EC: .4byte gBattleAnimArgs -_080B45F0: .4byte gBattleAnimAttacker -_080B45F4: - ldr r4, _080B4628 @ =gBattleAnimTarget -_080B45F6: - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x12 - strh r0, [r5, 0x22] - ldr r1, _080B462C @ =move_anim_8074EE0 - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 - ldr r0, _080B4630 @ =sub_8074F50 - str r0, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B4628: .4byte gBattleAnimTarget -_080B462C: .4byte move_anim_8074EE0 -_080B4630: .4byte sub_8074F50 - thumb_func_end sub_80B45D8 - thumb_func_start sub_80B4634 sub_80B4634: @ 80B4634 push {r4-r6,lr} diff --git a/asm/bug.s b/asm/bug.s new file mode 100644 index 000000000..6970411d1 --- /dev/null +++ b/asm/bug.s @@ -0,0 +1,829 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start sub_80B3FAC +sub_80B3FAC: @ 80B3FAC + push {r4-r6,lr} + adds r6, r0, 0 + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + beq _080B3FD8 + adds r0, r6, 0 + movs r1, 0x2 + bl StartSpriteAffineAnim + ldr r0, _080B3FD4 @ =gBattleAnimArgs + ldrh r1, [r0, 0x4] + negs r1, r1 + strh r1, [r0, 0x4] + ldrh r1, [r0] + negs r1, r1 + strh r1, [r0] + b _080B4008 + .align 2, 0 +_080B3FD4: .4byte gBattleAnimArgs +_080B3FD8: + ldr r0, _080B406C @ =gBattleAnimTarget + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _080B4008 + adds r0, r6, 0 + movs r1, 0x1 + bl StartSpriteAffineAnim + ldr r1, _080B4070 @ =gBattleAnimArgs + ldrh r0, [r1, 0x2] + negs r0, r0 + strh r0, [r1, 0x2] + ldrh r0, [r1, 0x4] + negs r0, r0 + strh r0, [r1, 0x4] + ldrh r0, [r1, 0x6] + negs r0, r0 + strh r0, [r1, 0x6] + ldrh r0, [r1] + negs r0, r0 + strh r0, [r1] +_080B4008: + ldr r5, _080B406C @ =gBattleAnimTarget + ldrb r0, [r5] + movs r1, 0x2 + bl sub_8074844 + lsls r0, 24 + ldr r4, _080B4070 @ =gBattleAnimArgs + lsrs r0, 24 + ldrh r1, [r4] + adds r0, r1 + strh r0, [r6, 0x20] + ldrb r0, [r5] + movs r1, 0x3 + bl sub_8074844 + lsls r0, 24 + lsrs r0, 24 + ldrh r1, [r4, 0x2] + adds r0, r1 + strh r0, [r6, 0x22] + ldrh r0, [r4, 0x8] + strh r0, [r6, 0x2E] + ldrb r0, [r5] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r1, [r4, 0x4] + adds r0, r1 + strh r0, [r6, 0x32] + ldrb r0, [r5] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r4, [r4, 0x6] + adds r0, r4 + strh r0, [r6, 0x36] + ldr r0, _080B4074 @ =sub_8075590 + str r0, [r6, 0x1C] + ldr r1, _080B4078 @ =DestroyAnimSprite + adds r0, r6, 0 + bl StoreSpriteCallbackInData6 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080B406C: .4byte gBattleAnimTarget +_080B4070: .4byte gBattleAnimArgs +_080B4074: .4byte sub_8075590 +_080B4078: .4byte DestroyAnimSprite + thumb_func_end sub_80B3FAC + + thumb_func_start sub_80B407C +sub_80B407C: @ 80B407C + push {r4-r6,lr} + adds r6, r0, 0 + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + beq _080B40A0 + ldr r1, _080B409C @ =gBattleAnimArgs + ldrh r0, [r1] + negs r0, r0 + strh r0, [r1] + adds r0, r6, 0 + movs r1, 0x2 + bl StartSpriteAffineAnim + b _080B40BC + .align 2, 0 +_080B409C: .4byte gBattleAnimArgs +_080B40A0: + ldr r0, _080B4118 @ =gBattleAnimTarget + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _080B40BC + ldr r0, _080B411C @ =gBattleAnimArgs + ldrh r1, [r0, 0x2] + negs r1, r1 + strh r1, [r0, 0x2] + ldrh r1, [r0] + negs r1, r1 + strh r1, [r0] +_080B40BC: + ldr r5, _080B4118 @ =gBattleAnimTarget + ldrb r0, [r5] + movs r1, 0x2 + bl sub_8074844 + lsls r0, 24 + ldr r4, _080B411C @ =gBattleAnimArgs + lsrs r0, 24 + ldrh r1, [r4] + adds r0, r1 + strh r0, [r6, 0x20] + ldrb r0, [r5] + movs r1, 0x3 + bl sub_8074844 + lsls r0, 24 + lsrs r0, 24 + ldrh r1, [r4, 0x2] + adds r0, r1 + strh r0, [r6, 0x22] + ldrh r0, [r4, 0x4] + strh r0, [r6, 0x2E] + ldrb r0, [r5] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r6, 0x32] + ldrb r0, [r5] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r6, 0x36] + ldr r0, _080B4120 @ =sub_8075590 + str r0, [r6, 0x1C] + ldr r1, _080B4124 @ =DestroyAnimSprite + adds r0, r6, 0 + bl StoreSpriteCallbackInData6 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080B4118: .4byte gBattleAnimTarget +_080B411C: .4byte gBattleAnimArgs +_080B4120: .4byte sub_8075590 +_080B4124: .4byte DestroyAnimSprite + thumb_func_end sub_80B407C + + thumb_func_start sub_80B4128 +sub_80B4128: @ 80B4128 + push {r4,r5,lr} + adds r5, r0, 0 + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + beq _080B4144 + ldr r0, _080B4184 @ =gBattleAnimArgs + movs r2, 0x4 + ldrsh r1, [r0, r2] + lsrs r2, r1, 31 + adds r1, r2 + asrs r1, 1 + strh r1, [r0, 0x4] +_080B4144: + adds r0, r5, 0 + movs r1, 0x1 + bl sub_8075160 + ldr r1, _080B4184 @ =gBattleAnimArgs + ldrh r0, [r1, 0x4] + strh r0, [r5, 0x2E] + ldrh r0, [r5, 0x20] + strh r0, [r5, 0x30] + ldrh r0, [r5, 0x22] + strh r0, [r5, 0x34] + movs r2, 0x8 + ldrsh r0, [r1, r2] + cmp r0, 0 + bne _080B418C + ldr r4, _080B4188 @ =gBattleAnimTarget + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x32] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x36] + b _080B419E + .align 2, 0 +_080B4184: .4byte gBattleAnimArgs +_080B4188: .4byte gBattleAnimTarget +_080B418C: + ldr r0, _080B41B4 @ =gBattleAnimTarget + ldrb r0, [r0] + adds r2, r5, 0 + adds r2, 0x32 + adds r3, r5, 0 + adds r3, 0x36 + movs r1, 0x1 + bl sub_8076D9C +_080B419E: + adds r0, r5, 0 + bl sub_8075678 + ldr r0, _080B41B8 @ =gBattleAnimArgs + ldrh r0, [r0, 0x6] + strh r0, [r5, 0x38] + ldr r0, _080B41BC @ =sub_80B41C0 + str r0, [r5, 0x1C] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080B41B4: .4byte gBattleAnimTarget +_080B41B8: .4byte gBattleAnimArgs +_080B41BC: .4byte sub_80B41C0 + thumb_func_end sub_80B4128 + + thumb_func_start sub_80B41C0 +sub_80B41C0: @ 80B41C0 + push {r4,lr} + adds r4, r0, 0 + bl sub_80755E0 + lsls r0, 24 + cmp r0, 0 + beq _080B41D6 + adds r0, r4, 0 + bl DestroyAnimSprite + b _080B41F2 +_080B41D6: + movs r1, 0x3A + ldrsh r0, [r4, r1] + movs r2, 0x38 + ldrsh r1, [r4, r2] + bl Sin + ldrh r1, [r4, 0x24] + adds r0, r1 + strh r0, [r4, 0x24] + ldrh r0, [r4, 0x3A] + adds r0, 0xD + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0x3A] +_080B41F2: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80B41C0 + + thumb_func_start sub_80B41F8 +sub_80B41F8: @ 80B41F8 + push {r4,lr} + adds r4, r0, 0 + ldr r0, _080B4228 @ =gBattleAnimTarget + ldrb r0, [r0] + adds r2, r4, 0 + adds r2, 0x20 + adds r3, r4, 0 + adds r3, 0x22 + movs r1, 0 + bl sub_8076D9C + ldr r0, _080B422C @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080B4234 + ldr r0, _080B4230 @ =gBattleAnimArgs + ldrh r1, [r4, 0x20] + ldrh r2, [r0] + subs r1, r2 + strh r1, [r4, 0x20] + b _080B4240 + .align 2, 0 +_080B4228: .4byte gBattleAnimTarget +_080B422C: .4byte gBattleAnimAttacker +_080B4230: .4byte gBattleAnimArgs +_080B4234: + ldr r1, _080B4268 @ =gBattleAnimArgs + ldrh r0, [r1] + ldrh r2, [r4, 0x20] + adds r0, r2 + strh r0, [r4, 0x20] + adds r0, r1, 0 +_080B4240: + ldrh r0, [r0, 0x2] + ldrh r1, [r4, 0x22] + adds r0, r1 + strh r0, [r4, 0x22] + ldr r0, _080B426C @ =gBattleAnimTarget + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _080B425C + ldrh r0, [r4, 0x22] + adds r0, 0x8 + strh r0, [r4, 0x22] +_080B425C: + ldr r0, _080B4270 @ =sub_80B4274 + str r0, [r4, 0x1C] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080B4268: .4byte gBattleAnimArgs +_080B426C: .4byte gBattleAnimTarget +_080B4270: .4byte sub_80B4274 + thumb_func_end sub_80B41F8 + + thumb_func_start sub_80B4274 +sub_80B4274: @ 80B4274 + push {lr} + adds r3, r0, 0 + ldrh r0, [r3, 0x2E] + adds r0, 0x1 + strh r0, [r3, 0x2E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x3 + bne _080B42A8 + movs r0, 0 + strh r0, [r3, 0x2E] + movs r0, 0x3E + adds r0, r3 + mov r12, r0 + ldrb r2, [r0] + lsls r0, r2, 29 + lsrs r0, 31 + movs r1, 0x1 + eors r1, r0 + lsls r1, 2 + movs r0, 0x5 + negs r0, r0 + ands r0, r2 + orrs r0, r1 + mov r1, r12 + strb r0, [r1] +_080B42A8: + ldrh r0, [r3, 0x30] + adds r0, 0x1 + strh r0, [r3, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x33 + bne _080B42BC + adds r0, r3, 0 + bl DestroyAnimSprite +_080B42BC: + pop {r0} + bx r0 + thumb_func_end sub_80B4274 + + thumb_func_start sub_80B42C0 +sub_80B42C0: @ 80B42C0 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0xFD + lsls r1, 6 + movs r0, 0x50 + bl SetGpuReg + movs r0, 0x52 + movs r1, 0x10 + bl SetGpuReg + movs r0, 0x10 + strh r0, [r4, 0x2E] + ldr r0, _080B42E4 @ =sub_80B42E8 + str r0, [r4, 0x1C] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080B42E4: .4byte sub_80B42E8 + thumb_func_end sub_80B42C0 + + thumb_func_start sub_80B42E8 +sub_80B42E8: @ 80B42E8 + push {r4,lr} + adds r4, r0, 0 + ldrh r1, [r4, 0x32] + movs r2, 0x32 + ldrsh r0, [r4, r2] + cmp r0, 0x13 + bgt _080B42FC + adds r0, r1, 0x1 + strh r0, [r4, 0x32] + b _080B433A +_080B42FC: + ldrh r1, [r4, 0x30] + adds r0, r1, 0x1 + strh r0, [r4, 0x30] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080B433A + ldrh r1, [r4, 0x2E] + subs r1, 0x1 + strh r1, [r4, 0x2E] + movs r0, 0x10 + subs r0, r1 + lsls r0, 8 + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080B433A + adds r2, r4, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] + ldr r0, _080B4340 @ =sub_80B4344 + str r0, [r4, 0x1C] +_080B433A: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080B4340: .4byte sub_80B4344 + thumb_func_end sub_80B42E8 + + thumb_func_start sub_80B4344 +sub_80B4344: @ 80B4344 + push {r4,lr} + adds r4, r0, 0 + movs r0, 0x50 + movs r1, 0 + bl SetGpuReg + movs r0, 0x52 + movs r1, 0 + bl SetGpuReg + adds r0, r4, 0 + bl DestroyAnimSprite + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80B4344 + + thumb_func_start sub_80B4364 +sub_80B4364: @ 80B4364 + push {r4-r7,lr} + sub sp, 0x4 + adds r7, r0, 0 + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + beq _080B4384 + ldr r1, _080B4380 @ =gBattleAnimArgs + ldrh r0, [r1, 0x4] + negs r0, r0 + strh r0, [r1, 0x4] + b _080B43A6 + .align 2, 0 +_080B4380: .4byte gBattleAnimArgs +_080B4384: + ldr r0, _080B4480 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080B43A6 + ldr r1, _080B4484 @ =gBattleAnimArgs + ldrh r0, [r1, 0x4] + negs r0, r0 + strh r0, [r1, 0x4] + ldrh r0, [r1, 0x2] + negs r0, r0 + strh r0, [r1, 0x2] + ldrh r0, [r1, 0x6] + negs r0, r0 + strh r0, [r1, 0x6] +_080B43A6: + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080B43F6 + ldr r0, _080B4480 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + adds r4, r0, 0 + ldr r5, _080B4488 @ =gBattleAnimTarget + ldrb r0, [r5] + bl GetBattlerSide + lsls r4, 24 + lsls r0, 24 + cmp r4, r0 + bne _080B43F6 + ldrb r0, [r5] + bl GetBattlerPosition + lsls r0, 24 + cmp r0, 0 + beq _080B43E4 + ldrb r0, [r5] + bl GetBattlerPosition + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080B43F6 +_080B43E4: + ldr r0, _080B4484 @ =gBattleAnimArgs + movs r2, 0x4 + ldrsh r1, [r0, r2] + negs r1, r1 + strh r1, [r0, 0x4] + movs r2, 0 + ldrsh r1, [r0, r2] + negs r1, r1 + strh r1, [r0] +_080B43F6: + adds r0, r7, 0 + movs r1, 0x1 + bl sub_8075160 + ldr r5, _080B4488 @ =gBattleAnimTarget + ldrb r0, [r5] + movs r1, 0x2 + bl sub_8074480 + adds r4, r0, 0 + lsls r4, 24 + ldr r6, _080B4484 @ =gBattleAnimArgs + lsrs r4, 24 + ldrh r0, [r6, 0x4] + adds r4, r0 + lsls r4, 16 + lsrs r4, 16 + ldrb r0, [r5] + movs r1, 0x3 + bl sub_8074480 + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + ldrh r2, [r6, 0x6] + adds r1, r2 + lsls r1, 16 + ldrh r2, [r7, 0x20] + lsls r0, r4, 16 + asrs r0, 16 + subs r0, r2 + lsls r0, 16 + asrs r0, 16 + ldrh r2, [r7, 0x22] + lsrs r5, r1, 16 + asrs r1, 16 + subs r1, r2 + lsls r1, 16 + asrs r1, 16 + bl sub_8075B30 + lsls r0, 16 + movs r1, 0xC0 + lsls r1, 24 + adds r0, r1 + lsrs r0, 16 + movs r3, 0x80 + lsls r3, 1 + str r0, [sp] + adds r0, r7, 0 + movs r1, 0 + adds r2, r3, 0 + bl sub_8075A1C + ldrh r0, [r6, 0x8] + strh r0, [r7, 0x2E] + strh r4, [r7, 0x32] + strh r5, [r7, 0x36] + ldr r0, _080B448C @ =sub_8075590 + str r0, [r7, 0x1C] + ldr r1, _080B4490 @ =DestroyAnimSprite + adds r0, r7, 0 + bl StoreSpriteCallbackInData6 + add sp, 0x4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080B4480: .4byte gBattleAnimAttacker +_080B4484: .4byte gBattleAnimArgs +_080B4488: .4byte gBattleAnimTarget +_080B448C: .4byte sub_8075590 +_080B4490: .4byte DestroyAnimSprite + thumb_func_end sub_80B4364 + + thumb_func_start sub_80B4494 +sub_80B4494: @ 80B4494 + push {r4-r6,lr} + adds r6, r0, 0 + movs r1, 0x1 + bl sub_8075160 + ldr r0, _080B4500 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080B44B4 + ldr r1, _080B4504 @ =gBattleAnimArgs + ldrh r0, [r1, 0x4] + negs r0, r0 + strh r0, [r1, 0x4] +_080B44B4: + ldr r4, _080B4504 @ =gBattleAnimArgs + ldrh r0, [r4, 0x8] + strh r0, [r6, 0x2E] + ldr r5, _080B4508 @ =gBattleAnimTarget + ldrb r0, [r5] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r1, [r4, 0x4] + adds r0, r1 + strh r0, [r6, 0x32] + ldrb r0, [r5] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r1, [r4, 0x6] + adds r0, r1 + strh r0, [r6, 0x36] + ldrh r0, [r4, 0xA] + strh r0, [r6, 0x38] + adds r0, r6, 0 + bl sub_8075068 + ldr r0, _080B450C @ =sub_80B4510 + str r0, [r6, 0x1C] + adds r2, r6, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080B4500: .4byte gBattleAnimAttacker +_080B4504: .4byte gBattleAnimArgs +_080B4508: .4byte gBattleAnimTarget +_080B450C: .4byte sub_80B4510 + thumb_func_end sub_80B4494 + + thumb_func_start sub_80B4510 +sub_80B4510: @ 80B4510 + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x14 + adds r4, r0, 0 + adds r2, r4, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x5 + negs r1, r1 + ands r1, r0 + strb r1, [r2] + adds r0, r4, 0 + bl AnimateBallThrow + lsls r0, 24 + cmp r0, 0 + beq _080B453C + adds r0, r4, 0 + bl DestroyAnimSprite + b _080B45CC +_080B453C: + movs r0, 0x2E + adds r0, r4 + mov r8, r0 + ldrh r7, [r4, 0x20] + ldrh r5, [r4, 0x24] + ldrh r1, [r4, 0x22] + mov r12, r1 + ldrh r6, [r4, 0x26] + mov r2, r8 + add r1, sp, 0x4 + movs r3, 0x7 +_080B4552: + ldrh r0, [r2] + strh r0, [r1] + adds r2, 0x2 + adds r1, 0x2 + subs r3, 0x1 + cmp r3, 0 + bge _080B4552 + adds r0, r7, r5 + lsls r0, 16 + lsrs r5, r0, 16 + mov r2, r12 + adds r0, r2, r6 + lsls r0, 16 + lsrs r6, r0, 16 + adds r0, r4, 0 + bl AnimateBallThrow + lsls r0, 24 + cmp r0, 0 + bne _080B45CC + ldrh r0, [r4, 0x24] + ldrh r1, [r4, 0x20] + adds r0, r1 + lsls r1, r5, 16 + asrs r1, 16 + subs r0, r1 + lsls r0, 16 + asrs r0, 16 + ldrh r1, [r4, 0x26] + ldrh r2, [r4, 0x22] + adds r1, r2 + lsls r2, r6, 16 + asrs r2, 16 + subs r1, r2 + lsls r1, 16 + asrs r1, 16 + bl sub_8075B30 + lsls r0, 16 + movs r1, 0xC0 + lsls r1, 24 + adds r0, r1 + lsrs r0, 16 + movs r3, 0x80 + lsls r3, 1 + str r0, [sp] + adds r0, r4, 0 + movs r1, 0 + adds r2, r3, 0 + bl sub_8075A1C + add r2, sp, 0x4 + mov r1, r8 + movs r3, 0x7 +_080B45BE: + ldrh r0, [r2] + strh r0, [r1] + adds r2, 0x2 + adds r1, 0x2 + subs r3, 0x1 + cmp r3, 0 + bge _080B45BE +_080B45CC: + add sp, 0x14 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80B4510 + + thumb_func_start sub_80B45D8 +sub_80B45D8: @ 80B45D8 + push {r4,r5,lr} + adds r5, r0, 0 + ldr r0, _080B45EC @ =gBattleAnimArgs + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _080B45F4 + ldr r4, _080B45F0 @ =gBattleAnimAttacker + b _080B45F6 + .align 2, 0 +_080B45EC: .4byte gBattleAnimArgs +_080B45F0: .4byte gBattleAnimAttacker +_080B45F4: + ldr r4, _080B4628 @ =gBattleAnimTarget +_080B45F6: + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x20] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + adds r0, 0x12 + strh r0, [r5, 0x22] + ldr r1, _080B462C @ =move_anim_8074EE0 + adds r0, r5, 0 + bl StoreSpriteCallbackInData6 + ldr r0, _080B4630 @ =sub_8074F50 + str r0, [r5, 0x1C] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080B4628: .4byte gBattleAnimTarget +_080B462C: .4byte move_anim_8074EE0 +_080B4630: .4byte sub_8074F50 + thumb_func_end sub_80B45D8 + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/fighting.s b/asm/fighting.s new file mode 100644 index 000000000..a7e402498 --- /dev/null +++ b/asm/fighting.s @@ -0,0 +1,1746 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start unc_080B08A0 +unc_080B08A0: @ 80B08A0 + push {r4,r5,lr} + adds r4, r0, 0 + ldr r5, _080B08D0 @ =gBattleAnimArgs + movs r0, 0 + ldrsh r1, [r5, r0] + adds r0, r4, 0 + bl sub_8074FF8 + ldrh r0, [r5, 0x2] + ldrh r1, [r4, 0x22] + adds r0, r1 + strh r0, [r4, 0x22] + movs r0, 0xF + strh r0, [r4, 0x2E] + ldr r0, _080B08D4 @ =sub_8074C44 + str r0, [r4, 0x1C] + ldr r1, _080B08D8 @ =DestroyAnimSprite + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080B08D0: .4byte gBattleAnimArgs +_080B08D4: .4byte sub_8074C44 +_080B08D8: .4byte DestroyAnimSprite + thumb_func_end unc_080B08A0 + + thumb_func_start sub_80B08DC +sub_80B08DC: @ 80B08DC + push {r4,r5,lr} + adds r5, r0, 0 + ldr r4, _080B0920 @ =gBattleAnimArgs + movs r1, 0xE + ldrsh r0, [r4, r1] + cmp r0, 0x1 + bne _080B0904 + ldr r0, _080B0924 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080B0904 + ldrh r0, [r4, 0x2] + negs r0, r0 + strh r0, [r4, 0x2] + ldrh r0, [r4, 0x6] + negs r0, r0 + strh r0, [r4, 0x6] +_080B0904: + ldr r4, _080B0920 @ =gBattleAnimArgs + ldrb r1, [r4, 0xC] + adds r0, r5, 0 + bl StartSpriteAnim + movs r0, 0 + strh r0, [r4, 0xC] + adds r0, r5, 0 + bl sub_8075F0C + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080B0920: .4byte gBattleAnimArgs +_080B0924: .4byte gBattleAnimAttacker + thumb_func_end sub_80B08DC + + thumb_func_start sub_80B0928 +sub_80B0928: @ 80B0928 + push {r4,lr} + adds r4, r0, 0 + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + beq _080B0944 + ldr r0, _080B0950 @ =gBattleAnimArgs + ldrh r1, [r0, 0x2] + negs r1, r1 + strh r1, [r0, 0x2] + ldrh r1, [r0, 0x6] + negs r1, r1 + strh r1, [r0, 0x6] +_080B0944: + adds r0, r4, 0 + bl sub_80B08DC + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080B0950: .4byte gBattleAnimArgs + thumb_func_end sub_80B0928 + + thumb_func_start sub_80B0954 +sub_80B0954: @ 80B0954 + push {r4,r5,lr} + adds r5, r0, 0 + ldr r4, _080B0974 @ =gBattleAnimArgs + ldrb r1, [r4, 0x8] + bl StartSpriteAnim + movs r1, 0x6 + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080B0978 + adds r0, r5, 0 + movs r1, 0x1 + bl sub_8075160 + b _080B0980 + .align 2, 0 +_080B0974: .4byte gBattleAnimArgs +_080B0978: + adds r0, r5, 0 + movs r1, 0x1 + bl sub_8075114 +_080B0980: + ldr r0, _080B0998 @ =gBattleAnimArgs + ldrh r0, [r0, 0x4] + strh r0, [r5, 0x2E] + ldr r0, _080B099C @ =sub_8074C44 + str r0, [r5, 0x1C] + ldr r1, _080B09A0 @ =DestroyAnimSprite + adds r0, r5, 0 + bl StoreSpriteCallbackInData6 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080B0998: .4byte gBattleAnimArgs +_080B099C: .4byte sub_8074C44 +_080B09A0: .4byte DestroyAnimSprite + thumb_func_end sub_80B0954 + + thumb_func_start sub_80B09A4 +sub_80B09A4: @ 80B09A4 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + adds r5, r0, 0 + ldr r0, _080B09C0 @ =gBattleAnimArgs + movs r2, 0 + ldrsh r1, [r0, r2] + mov r9, r0 + cmp r1, 0 + bne _080B09C8 + ldr r0, _080B09C4 @ =gBattleAnimAttacker + b _080B09CA + .align 2, 0 +_080B09C0: .4byte gBattleAnimArgs +_080B09C4: .4byte gBattleAnimAttacker +_080B09C8: + ldr r0, _080B0B10 @ =gBattleAnimTarget +_080B09CA: + ldrb r0, [r0] + mov r8, r0 + mov r4, r9 + movs r3, 0x4 + ldrsh r0, [r4, r3] + cmp r0, 0 + bge _080B09E8 + bl Random + lsls r0, 16 + lsrs r0, 16 + movs r1, 0x5 + bl __umodsi3 + strh r0, [r4, 0x4] +_080B09E8: + ldrb r1, [r4, 0x4] + adds r0, r5, 0 + bl StartSpriteAnim + mov r0, r8 + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x20] + mov r0, r8 + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x22] + mov r0, r8 + movs r1, 0x1 + bl sub_8076B2C + lsls r0, 16 + asrs r1, r0, 16 + lsrs r0, 31 + adds r1, r0 + lsls r1, 15 + lsrs r6, r1, 16 + mov r0, r8 + movs r1, 0 + bl sub_8076B2C + lsls r0, 16 + asrs r0, 16 + cmp r0, 0 + bge _080B0A32 + adds r0, 0x3 +_080B0A32: + lsls r4, r0, 14 + lsrs r4, 16 + bl Random + lsls r0, 16 + lsrs r0, 16 + lsls r1, r6, 16 + asrs r1, 16 + bl __modsi3 + lsls r0, 16 + lsrs r6, r0, 16 + bl Random + lsls r0, 16 + lsrs r0, 16 + lsls r4, 16 + asrs r4, 16 + adds r1, r4, 0 + bl __modsi3 + lsls r0, 16 + lsrs r4, r0, 16 + bl Random + movs r7, 0x1 + adds r1, r7, 0 + ands r1, r0 + cmp r1, 0 + beq _080B0A74 + lsls r0, r6, 16 + negs r0, r0 + lsrs r6, r0, 16 +_080B0A74: + bl Random + adds r1, r7, 0 + ands r1, r0 + cmp r1, 0 + beq _080B0A86 + lsls r0, r4, 16 + negs r0, r0 + lsrs r4, r0, 16 +_080B0A86: + ldr r0, _080B0B14 @ =gUnknown_2023BD6 + add r0, r8 + ldrb r1, [r0] + adds r0, r7, 0 + ands r0, r1 + cmp r0, 0 + bne _080B0A9C + lsls r0, r4, 16 + ldr r1, _080B0B18 @ =0xfff00000 + adds r0, r1 + lsrs r4, r0, 16 +_080B0A9C: + lsls r0, r6, 16 + asrs r0, 16 + ldrh r2, [r5, 0x20] + adds r0, r2 + strh r0, [r5, 0x20] + lsls r0, r4, 16 + asrs r0, 16 + ldrh r3, [r5, 0x22] + adds r0, r3 + strh r0, [r5, 0x22] + mov r1, r9 + ldrh r0, [r1, 0x2] + strh r0, [r5, 0x2E] + ldr r0, _080B0B1C @ =gUnknown_83E7C08 + movs r2, 0x20 + ldrsh r1, [r5, r2] + movs r3, 0x22 + ldrsh r2, [r5, r3] + adds r3, r5, 0 + adds r3, 0x43 + ldrb r3, [r3] + adds r3, 0x1 + lsls r3, 24 + lsrs r3, 24 + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x3C] + cmp r0, 0x40 + beq _080B0B00 + movs r0, 0x3C + ldrsh r1, [r5, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r4, _080B0B20 @ =gSprites + adds r0, r4 + movs r1, 0 + bl StartSpriteAffineAnim + movs r2, 0x3C + ldrsh r1, [r5, r2] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r4, 0x1C + adds r0, r4 + ldr r1, _080B0B24 @ =SpriteCallbackDummy + str r1, [r0] +_080B0B00: + ldr r0, _080B0B28 @ =sub_80B0B2C + str r0, [r5, 0x1C] + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080B0B10: .4byte gBattleAnimTarget +_080B0B14: .4byte gUnknown_2023BD6 +_080B0B18: .4byte 0xfff00000 +_080B0B1C: .4byte gUnknown_83E7C08 +_080B0B20: .4byte gSprites +_080B0B24: .4byte SpriteCallbackDummy +_080B0B28: .4byte sub_80B0B2C + thumb_func_end sub_80B09A4 + + thumb_func_start sub_80B0B2C +sub_80B0B2C: @ 80B0B2C + push {r4,r5,lr} + adds r5, r0, 0 + ldrh r1, [r5, 0x2E] + movs r2, 0x2E + ldrsh r0, [r5, r2] + cmp r0, 0 + bne _080B0B74 + movs r1, 0x3C + ldrsh r0, [r5, r1] + cmp r0, 0x40 + beq _080B0B68 + ldr r4, _080B0B70 @ =gSprites + adds r1, r0, 0 + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r4 + ldrb r0, [r0, 0x3] + lsls r0, 26 + lsrs r0, 27 + bl FreeOamMatrix + movs r0, 0x3C + ldrsh r1, [r5, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r4 + bl DestroySprite +_080B0B68: + adds r0, r5, 0 + bl DestroyAnimSprite + b _080B0B78 + .align 2, 0 +_080B0B70: .4byte gSprites +_080B0B74: + subs r0, r1, 0x1 + strh r0, [r5, 0x2E] +_080B0B78: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80B0B2C + + thumb_func_start sub_80B0B80 +sub_80B0B80: @ 80B0B80 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x1 + bl sub_8075114 + movs r0, 0x1E + strh r0, [r4, 0x2E] + ldr r0, _080B0BA0 @ =gBattleAnimArgs + movs r1, 0x4 + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _080B0BA4 + ldrh r0, [r4, 0x20] + subs r0, 0x14 + strh r0, [r4, 0x32] + b _080B0BB6 + .align 2, 0 +_080B0BA0: .4byte gBattleAnimArgs +_080B0BA4: + ldrh r0, [r4, 0x20] + adds r0, 0x14 + strh r0, [r4, 0x32] + adds r2, r4, 0 + adds r2, 0x3F + ldrb r0, [r2] + movs r1, 0x1 + orrs r0, r1 + strb r0, [r2] +_080B0BB6: + ldrh r0, [r4, 0x22] + subs r0, 0x14 + strh r0, [r4, 0x36] + ldr r0, _080B0BD0 @ =sub_8075590 + str r0, [r4, 0x1C] + ldr r1, _080B0BD4 @ =sub_80B0BD8 + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080B0BD0: .4byte sub_8075590 +_080B0BD4: .4byte sub_80B0BD8 + thumb_func_end sub_80B0B80 + + thumb_func_start sub_80B0BD8 +sub_80B0BD8: @ 80B0BD8 + push {r4-r6,lr} + adds r5, r0, 0 + ldrh r0, [r5, 0x38] + adds r0, 0x1 + movs r6, 0 + strh r0, [r5, 0x38] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xB + bne _080B0C18 + ldrh r2, [r5, 0x20] + ldrh r4, [r5, 0x24] + subs r0, r2, r4 + strh r0, [r5, 0x32] + ldrh r1, [r5, 0x22] + ldrh r3, [r5, 0x26] + subs r0, r1, r3 + strh r0, [r5, 0x36] + movs r0, 0x8 + strh r0, [r5, 0x2E] + adds r2, r4 + strh r2, [r5, 0x20] + adds r1, r3 + strh r1, [r5, 0x22] + strh r6, [r5, 0x26] + strh r6, [r5, 0x24] + ldr r0, _080B0C20 @ =sub_8075590 + str r0, [r5, 0x1C] + ldr r1, _080B0C24 @ =DestroyAnimSprite + adds r0, r5, 0 + bl StoreSpriteCallbackInData6 +_080B0C18: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080B0C20: .4byte sub_8075590 +_080B0C24: .4byte DestroyAnimSprite + thumb_func_end sub_80B0BD8 + + thumb_func_start sub_80B0C28 +sub_80B0C28: @ 80B0C28 + push {r4-r6,lr} + adds r6, r0, 0 + ldr r0, _080B0CA4 @ =gBattleAnimAttacker + ldrb r1, [r0] + movs r0, 0x2 + ldr r2, _080B0CA8 @ =gBattleAnimTarget + eors r0, r1 + ldrb r1, [r2] + cmp r0, r1 + bne _080B0C54 + ldrb r0, [r2] + bl GetBattlerPosition + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bhi _080B0C54 + ldr r1, _080B0CAC @ =gBattleAnimArgs + movs r2, 0 + ldrsh r0, [r1, r2] + negs r0, r0 + strh r0, [r1] +_080B0C54: + adds r0, r6, 0 + movs r1, 0x1 + bl sub_8075114 + ldr r0, _080B0CA4 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080B0C72 + ldr r1, _080B0CAC @ =gBattleAnimArgs + ldrh r0, [r1, 0x4] + negs r0, r0 + strh r0, [r1, 0x4] +_080B0C72: + ldr r4, _080B0CAC @ =gBattleAnimArgs + ldrh r0, [r4, 0x6] + movs r5, 0 + strh r0, [r6, 0x2E] + ldrh r0, [r6, 0x20] + strh r0, [r6, 0x30] + ldrh r1, [r4, 0x4] + adds r0, r1 + strh r0, [r6, 0x32] + ldrh r0, [r6, 0x22] + strh r0, [r6, 0x34] + strh r0, [r6, 0x36] + adds r0, r6, 0 + bl obj_translate_based_on_private_1_2_3_4 + ldrh r0, [r4, 0xA] + strh r0, [r6, 0x38] + ldrh r0, [r4, 0x8] + strh r0, [r6, 0x3A] + strh r5, [r6, 0x3C] + ldr r0, _080B0CB0 @ =sub_80B0CB4 + str r0, [r6, 0x1C] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080B0CA4: .4byte gBattleAnimAttacker +_080B0CA8: .4byte gBattleAnimTarget +_080B0CAC: .4byte gBattleAnimArgs +_080B0CB0: .4byte sub_80B0CB4 + thumb_func_end sub_80B0C28 + + thumb_func_start sub_80B0CB4 +sub_80B0CB4: @ 80B0CB4 + push {r4,lr} + adds r4, r0, 0 + bl sub_80755E0 + lsls r0, 24 + cmp r0, 0 + bne _080B0CE0 + ldrh r0, [r4, 0x3C] + lsls r0, 16 + asrs r0, 24 + movs r2, 0x38 + ldrsh r1, [r4, r2] + bl Sin + ldrh r1, [r4, 0x26] + adds r0, r1 + strh r0, [r4, 0x26] + ldrh r0, [r4, 0x3A] + ldrh r2, [r4, 0x3C] + adds r0, r2 + strh r0, [r4, 0x3C] + b _080B0CE6 +_080B0CE0: + adds r0, r4, 0 + bl DestroyAnimSprite +_080B0CE6: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80B0CB4 + + thumb_func_start sub_80B0CEC +sub_80B0CEC: @ 80B0CEC + push {r4,r5,lr} + adds r4, r0, 0 + movs r1, 0x1 + bl sub_8075114 + ldr r5, _080B0D18 @ =gBattleAnimArgs + ldrb r1, [r5, 0x4] + adds r0, r4, 0 + bl StartSpriteAnim + ldrh r0, [r5, 0x6] + strh r0, [r4, 0x2E] + ldr r0, _080B0D1C @ =sub_8074C44 + str r0, [r4, 0x1C] + ldr r1, _080B0D20 @ =sub_80B0D24 + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080B0D18: .4byte gBattleAnimArgs +_080B0D1C: .4byte sub_8074C44 +_080B0D20: .4byte sub_80B0D24 + thumb_func_end sub_80B0CEC + + thumb_func_start sub_80B0D24 +sub_80B0D24: @ 80B0D24 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0 + bl StartSpriteAffineAnim + adds r2, r4, 0 + adds r2, 0x2C + ldrb r0, [r2] + movs r1, 0x80 + orrs r0, r1 + strb r0, [r2] + movs r0, 0x14 + strh r0, [r4, 0x2E] + ldr r0, _080B0D50 @ =sub_8074C44 + str r0, [r4, 0x1C] + ldr r1, _080B0D54 @ =DestroyAnimSprite + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080B0D50: .4byte sub_8074C44 +_080B0D54: .4byte DestroyAnimSprite + thumb_func_end sub_80B0D24 + + thumb_func_start sub_80B0D58 +sub_80B0D58: @ 80B0D58 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x1 + bl sub_8075114 + ldr r0, _080B0D74 @ =gBattleAnimArgs + ldrh r0, [r0, 0x4] + strh r0, [r4, 0x2E] + ldr r0, _080B0D78 @ =sub_80B0D7C + str r0, [r4, 0x1C] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080B0D74: .4byte gBattleAnimArgs +_080B0D78: .4byte sub_80B0D7C + thumb_func_end sub_80B0D58 + + thumb_func_start sub_80B0D7C +sub_80B0D7C: @ 80B0D7C + push {r4,r5,lr} + adds r5, r0, 0 + ldrh r0, [r5, 0x2E] + subs r0, 0x1 + strh r0, [r5, 0x2E] + lsls r0, 16 + asrs r0, 16 + movs r1, 0x1 + negs r1, r1 + cmp r0, r1 + bne _080B0DC0 + movs r0, 0x6 + strh r0, [r5, 0x2E] + ldr r4, _080B0DC8 @ =gBattleAnimTarget + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x32] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x36] + ldr r0, _080B0DCC @ =sub_8075590 + str r0, [r5, 0x1C] + ldr r1, _080B0DD0 @ =sub_80B0DD4 + adds r0, r5, 0 + bl StoreSpriteCallbackInData6 +_080B0DC0: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080B0DC8: .4byte gBattleAnimTarget +_080B0DCC: .4byte sub_8075590 +_080B0DD0: .4byte sub_80B0DD4 + thumb_func_end sub_80B0D7C + + thumb_func_start sub_80B0DD4 +sub_80B0DD4: @ 80B0DD4 + push {lr} + movs r1, 0xF + strh r1, [r0, 0x2E] + ldr r1, _080B0DE8 @ =sub_8074C44 + str r1, [r0, 0x1C] + ldr r1, _080B0DEC @ =DestroyAnimSprite + bl StoreSpriteCallbackInData6 + pop {r0} + bx r0 + .align 2, 0 +_080B0DE8: .4byte sub_8074C44 +_080B0DEC: .4byte DestroyAnimSprite + thumb_func_end sub_80B0DD4 + + thumb_func_start sub_80B0DF0 +sub_80B0DF0: @ 80B0DF0 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080B0E1C + adds r0, r4, 0 + movs r1, 0x1 + bl sub_8075114 + ldr r1, _080B0E18 @ =gBattleAnimArgs + ldrh r0, [r1, 0x4] + strh r0, [r4, 0x30] + ldrh r0, [r1, 0x6] + strh r0, [r4, 0x32] + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + b _080B0E78 + .align 2, 0 +_080B0E18: .4byte gBattleAnimArgs +_080B0E1C: + ldrh r0, [r4, 0x30] + ldrh r2, [r4, 0x36] + adds r0, r2 + strh r0, [r4, 0x36] + lsls r0, 16 + asrs r0, 24 + strh r0, [r4, 0x24] + movs r1, 0x34 + ldrsh r0, [r4, r1] + movs r2, 0x32 + ldrsh r1, [r4, r2] + bl Sin + strh r0, [r4, 0x26] + ldrh r0, [r4, 0x34] + adds r0, 0x3 + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0x34] + cmp r0, 0x64 + ble _080B0E6A + movs r0, 0x34 + ldrsh r1, [r4, r0] + lsrs r0, r1, 31 + adds r0, r1, r0 + asrs r0, 1 + lsls r0, 1 + subs r1, r0 + adds r3, r4, 0 + adds r3, 0x3E + movs r0, 0x1 + ands r1, r0 + lsls r1, 2 + ldrb r2, [r3] + movs r0, 0x5 + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r3] +_080B0E6A: + movs r1, 0x34 + ldrsh r0, [r4, r1] + cmp r0, 0x78 + ble _080B0E78 + adds r0, r4, 0 + bl DestroyAnimSprite +_080B0E78: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80B0DF0 + + thumb_func_start sub_80B0E80 +sub_80B0E80: @ 80B0E80 + push {r4,r5,lr} + adds r5, r0, 0 + ldr r0, _080B0E94 @ =gBattleAnimArgs + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _080B0E9C + ldr r4, _080B0E98 @ =gBattleAnimAttacker + b _080B0E9E + .align 2, 0 +_080B0E94: .4byte gBattleAnimArgs +_080B0E98: .4byte gBattleAnimAttacker +_080B0E9C: + ldr r4, _080B0EE4 @ =gBattleAnimTarget +_080B0E9E: + ldrb r0, [r4] + movs r1, 0 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x20] + ldrb r0, [r4] + movs r1, 0x1 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x22] + ldr r1, _080B0EE8 @ =gBattleAnimArgs + ldrh r0, [r1, 0x2] + ldrh r2, [r5, 0x20] + adds r0, r2 + movs r2, 0 + strh r0, [r5, 0x20] + ldrh r0, [r1, 0x4] + ldrh r3, [r5, 0x22] + adds r0, r3 + strh r0, [r5, 0x22] + strh r2, [r5, 0x2E] + ldrh r0, [r1, 0x6] + strh r0, [r5, 0x30] + ldrh r0, [r1, 0x8] + strh r0, [r5, 0x32] + strh r2, [r5, 0x34] + ldr r0, _080B0EEC @ =sub_80B0EF0 + str r0, [r5, 0x1C] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080B0EE4: .4byte gBattleAnimTarget +_080B0EE8: .4byte gBattleAnimArgs +_080B0EEC: .4byte sub_80B0EF0 + thumb_func_end sub_80B0E80 + + thumb_func_start sub_80B0EF0 +sub_80B0EF0: @ 80B0EF0 + push {lr} + adds r1, r0, 0 + movs r0, 0x2E + ldrsh r2, [r1, r0] + cmp r2, 0 + beq _080B0F02 + cmp r2, 0x1 + beq _080B0F26 + b _080B0F60 +_080B0F02: + ldrh r0, [r1, 0x30] + subs r0, 0x1 + strh r0, [r1, 0x30] + lsls r0, 16 + cmp r0, 0 + bne _080B0F60 + movs r2, 0x32 + ldrsh r0, [r1, r2] + cmp r0, 0 + bne _080B0F1E + adds r0, r1, 0 + bl DestroyAnimSprite + b _080B0F60 +_080B0F1E: + ldrh r0, [r1, 0x2E] + adds r0, 0x1 + strh r0, [r1, 0x2E] + b _080B0F60 +_080B0F26: + ldrh r0, [r1, 0x30] + adds r0, 0x1 + strh r0, [r1, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + ble _080B0F4E + movs r0, 0 + strh r0, [r1, 0x30] + ldrh r0, [r1, 0x34] + adds r0, 0x1 + strh r0, [r1, 0x34] + ands r0, r2 + lsls r0, 16 + cmp r0, 0 + beq _080B0F4A + movs r0, 0x2 + b _080B0F4C +_080B0F4A: + ldr r0, _080B0F64 @ =0x0000fffe +_080B0F4C: + strh r0, [r1, 0x24] +_080B0F4E: + ldrh r0, [r1, 0x32] + subs r0, 0x1 + strh r0, [r1, 0x32] + lsls r0, 16 + cmp r0, 0 + bne _080B0F60 + adds r0, r1, 0 + bl DestroyAnimSprite +_080B0F60: + pop {r0} + bx r0 + .align 2, 0 +_080B0F64: .4byte 0x0000fffe + thumb_func_end sub_80B0EF0 + + thumb_func_start sub_80B0F68 +sub_80B0F68: @ 80B0F68 + push {r4-r6,lr} + adds r5, r0, 0 + ldr r6, _080B0F8C @ =gBattleAnimArgs + movs r1, 0 + ldrsh r0, [r6, r1] + cmp r0, 0 + bne _080B0F94 + ldr r4, _080B0F90 @ =gBattleAnimAttacker + ldrb r0, [r4] + movs r1, 0 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r2, [r6, 0x4] + adds r0, r2 + b _080B0FA6 + .align 2, 0 +_080B0F8C: .4byte gBattleAnimArgs +_080B0F90: .4byte gBattleAnimAttacker +_080B0F94: + ldr r4, _080B0FF0 @ =gBattleAnimTarget + ldrb r0, [r4] + movs r1, 0 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r1, [r6, 0x4] + adds r0, r1 +_080B0FA6: + strh r0, [r5, 0x20] + ldrb r0, [r4] + movs r1, 0x1 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r6, [r6, 0x6] + adds r0, r6 + strh r0, [r5, 0x22] + ldrh r2, [r5, 0x4] + lsls r1, r2, 22 + lsrs r1, 22 + ldr r3, _080B0FF4 @ =gBattleAnimArgs + movs r4, 0x2 + ldrsh r0, [r3, r4] + lsls r0, 4 + adds r1, r0 + ldr r4, _080B0FF8 @ =0x000003ff + adds r0, r4, 0 + ands r1, r0 + ldr r0, _080B0FFC @ =0xfffffc00 + ands r0, r2 + orrs r0, r1 + strh r0, [r5, 0x4] + movs r1, 0 + movs r0, 0 + strh r0, [r5, 0x2E] + movs r2, 0x2 + ldrsh r0, [r3, r2] + cmp r0, 0x1 + beq _080B1014 + cmp r0, 0x1 + bgt _080B1000 + cmp r0, 0 + beq _080B100A + b _080B103A + .align 2, 0 +_080B0FF0: .4byte gBattleAnimTarget +_080B0FF4: .4byte gBattleAnimArgs +_080B0FF8: .4byte 0x000003ff +_080B0FFC: .4byte 0xfffffc00 +_080B1000: + cmp r0, 0x2 + beq _080B1024 + cmp r0, 0x3 + beq _080B1034 + b _080B103A +_080B100A: + ldr r0, _080B1010 @ =0x0000fffd + b _080B1034 + .align 2, 0 +_080B1010: .4byte 0x0000fffd +_080B1014: + movs r0, 0x3 + strh r0, [r5, 0x3A] + ldr r0, _080B1020 @ =0x0000fffd + strh r0, [r5, 0x3C] + b _080B1042 + .align 2, 0 +_080B1020: .4byte 0x0000fffd +_080B1024: + ldr r0, _080B1030 @ =0x0000fffd + strh r0, [r5, 0x3A] + movs r0, 0x3 + strh r0, [r5, 0x3C] + b _080B1042 + .align 2, 0 +_080B1030: .4byte 0x0000fffd +_080B1034: + strh r0, [r5, 0x3A] + strh r0, [r5, 0x3C] + b _080B1042 +_080B103A: + adds r0, r5, 0 + bl DestroyAnimSprite + b _080B1046 +_080B1042: + ldr r0, _080B104C @ =sub_80B1050 + str r0, [r5, 0x1C] +_080B1046: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080B104C: .4byte sub_80B1050 + thumb_func_end sub_80B0F68 + + thumb_func_start sub_80B1050 +sub_80B1050: @ 80B1050 + push {lr} + adds r1, r0, 0 + ldrh r0, [r1, 0x3A] + ldrh r2, [r1, 0x20] + adds r0, r2 + strh r0, [r1, 0x20] + ldrh r0, [r1, 0x3C] + ldrh r2, [r1, 0x22] + adds r0, r2 + strh r0, [r1, 0x22] + ldrh r0, [r1, 0x2E] + adds r0, 0x1 + strh r0, [r1, 0x2E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x28 + ble _080B1078 + adds r0, r1, 0 + bl DestroyAnimSprite +_080B1078: + pop {r0} + bx r0 + thumb_func_end sub_80B1050 + + thumb_func_start sub_80B107C +sub_80B107C: @ 80B107C + push {r4,r5,lr} + adds r5, r0, 0 + ldr r0, _080B10C8 @ =gBattleAnimArgs + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _080B10D8 + ldr r4, _080B10CC @ =sBattler_AI + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x20] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x22] + ldr r0, _080B10D0 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl sub_8076884 + movs r1, 0x3 + ands r1, r0 + lsls r1, 2 + ldrb r2, [r5, 0x5] + movs r0, 0xD + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r5, 0x5] + ldr r0, _080B10D4 @ =gBattleAnimTarget + b _080B10F4 + .align 2, 0 +_080B10C8: .4byte gBattleAnimArgs +_080B10CC: .4byte sBattler_AI +_080B10D0: .4byte gBattleAnimAttacker +_080B10D4: .4byte gBattleAnimTarget +_080B10D8: + ldr r0, _080B1110 @ =gBattleAnimTarget + ldrb r0, [r0] + bl sub_8076884 + movs r1, 0x3 + ands r1, r0 + lsls r1, 2 + ldrb r2, [r5, 0x5] + movs r0, 0xD + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r5, 0x5] + ldr r0, _080B1114 @ =gBattleAnimAttacker +_080B10F4: + ldrb r0, [r0] + strh r0, [r5, 0x3C] + movs r0, 0 + strh r0, [r5, 0x2E] + movs r0, 0xC + strh r0, [r5, 0x30] + movs r0, 0x8 + strh r0, [r5, 0x32] + ldr r0, _080B1118 @ =sub_80B111C + str r0, [r5, 0x1C] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080B1110: .4byte gBattleAnimTarget +_080B1114: .4byte gBattleAnimAttacker +_080B1118: .4byte sub_80B111C + thumb_func_end sub_80B107C + + thumb_func_start sub_80B111C +sub_80B111C: @ 80B111C + push {r4,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xB4 + bne _080B1178 + movs r0, 0x50 + movs r1, 0 + bl SetGpuReg + movs r0, 0x10 + strh r0, [r4, 0x2E] + ldrh r0, [r4, 0x20] + strh r0, [r4, 0x30] + ldrh r0, [r4, 0x3C] + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x32] + ldrh r0, [r4, 0x22] + strh r0, [r4, 0x34] + ldrh r0, [r4, 0x3C] + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x36] + adds r0, r4, 0 + bl obj_translate_based_on_private_1_2_3_4 + ldr r1, _080B1180 @ =move_anim_8074EE0 + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 + ldr r0, _080B1184 @ =sub_807563C + str r0, [r4, 0x1C] +_080B1178: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080B1180: .4byte move_anim_8074EE0 +_080B1184: .4byte sub_807563C + thumb_func_end sub_80B111C + + thumb_func_start sub_80B1188 +sub_80B1188: @ 80B1188 + push {r4,r5,lr} + adds r5, r0, 0 + ldr r4, _080B11D4 @ =gBattleAnimArgs + ldrh r0, [r4] + strh r0, [r5, 0x20] + movs r2, 0x78 + strh r2, [r5, 0x22] + ldrh r0, [r4, 0x6] + strh r0, [r5, 0x2E] + adds r0, r5, 0 + adds r0, 0x36 + adds r1, r5, 0 + adds r1, 0x38 + lsls r2, 8 + bl sub_80765C0 + ldrh r0, [r4, 0x2] + strh r0, [r5, 0x3A] + ldrh r2, [r5, 0x4] + lsls r1, r2, 22 + lsrs r1, 22 + movs r3, 0x4 + ldrsh r0, [r4, r3] + lsls r0, 2 + adds r1, r0 + ldr r3, _080B11D8 @ =0x000003ff + adds r0, r3, 0 + ands r1, r0 + ldr r0, _080B11DC @ =0xfffffc00 + ands r0, r2 + orrs r0, r1 + strh r0, [r5, 0x4] + ldr r0, _080B11E0 @ =sub_80B11E4 + str r0, [r5, 0x1C] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080B11D4: .4byte gBattleAnimArgs +_080B11D8: .4byte 0x000003ff +_080B11DC: .4byte 0xfffffc00 +_080B11E0: .4byte sub_80B11E4 + thumb_func_end sub_80B1188 + + thumb_func_start sub_80B11E4 +sub_80B11E4: @ 80B11E4 + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r7, r0, 0 + movs r1, 0x2E + ldrsh r0, [r7, r1] + cmp r0, 0 + beq _080B1236 + movs r2, 0x36 + ldrsh r0, [r7, r2] + movs r2, 0x38 + ldrsh r1, [r7, r2] + bl sub_80765C8 + adds r4, r0, 0 + movs r1, 0x3A + ldrsh r0, [r7, r1] + subs r4, r0 + adds r0, r7, 0 + adds r0, 0x36 + adds r1, r7, 0 + adds r1, 0x38 + adds r2, r4, 0 + bl sub_80765C0 + asrs r4, 8 + strh r4, [r7, 0x22] + lsls r4, 16 + asrs r4, 16 + movs r0, 0x8 + negs r0, r0 + cmp r4, r0 + bge _080B122E + adds r0, r7, 0 + bl DestroyAnimSprite + b _080B128C +_080B122E: + ldrh r0, [r7, 0x2E] + subs r0, 0x1 + strh r0, [r7, 0x2E] + b _080B128C +_080B1236: + ldr r4, _080B1298 @ =gBattleAnimAttacker + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + adds r6, r0, 0 + lsls r6, 24 + lsrs r6, 24 + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + adds r5, r0, 0 + lsls r5, 24 + lsrs r5, 24 + ldr r2, _080B129C @ =gBattleAnimTarget + mov r8, r2 + ldrb r0, [r2] + movs r1, 0x2 + bl sub_8074480 + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + mov r1, r8 + ldrb r0, [r1] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + subs r4, r6 + strh r4, [r7, 0x2E] + lsrs r0, 24 + subs r0, r5 + strh r0, [r7, 0x30] + ldrh r0, [r7, 0x20] + lsls r0, 4 + strh r0, [r7, 0x32] + ldrh r0, [r7, 0x22] + lsls r0, 4 + strh r0, [r7, 0x34] + ldr r0, _080B12A0 @ =sub_80B12A4 + str r0, [r7, 0x1C] +_080B128C: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080B1298: .4byte gBattleAnimAttacker +_080B129C: .4byte gBattleAnimTarget +_080B12A0: .4byte sub_80B12A4 + thumb_func_end sub_80B11E4 + + thumb_func_start sub_80B12A4 +sub_80B12A4: @ 80B12A4 + push {lr} + adds r2, r0, 0 + ldrh r0, [r2, 0x2E] + ldrh r1, [r2, 0x32] + adds r0, r1 + strh r0, [r2, 0x32] + ldrh r1, [r2, 0x30] + ldrh r3, [r2, 0x34] + adds r1, r3 + strh r1, [r2, 0x34] + lsls r0, 16 + asrs r0, 20 + strh r0, [r2, 0x20] + lsls r1, 16 + asrs r3, r1, 20 + strh r3, [r2, 0x22] + adds r0, 0x8 + lsls r0, 16 + movs r1, 0x80 + lsls r1, 17 + cmp r0, r1 + bhi _080B12DE + adds r1, r3, 0 + movs r0, 0x8 + negs r0, r0 + cmp r1, r0 + blt _080B12DE + cmp r1, 0x78 + ble _080B12E4 +_080B12DE: + adds r0, r2, 0 + bl DestroyAnimSprite +_080B12E4: + pop {r0} + bx r0 + thumb_func_end sub_80B12A4 + + thumb_func_start sub_80B12E8 +sub_80B12E8: @ 80B12E8 + push {r4,r5,lr} + adds r5, r0, 0 + ldr r0, _080B131C @ =gBattleAnimArgs + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _080B132C + ldr r4, _080B1320 @ =sBattler_AI + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x20] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x22] + ldr r0, _080B1324 @ =gBattleAnimTarget + ldrb r4, [r0] + ldr r0, _080B1328 @ =gBattleAnimAttacker + b _080B1332 + .align 2, 0 +_080B131C: .4byte gBattleAnimArgs +_080B1320: .4byte sBattler_AI +_080B1324: .4byte gBattleAnimTarget +_080B1328: .4byte gBattleAnimAttacker +_080B132C: + ldr r0, _080B1364 @ =gBattleAnimAttacker + ldrb r4, [r0] + ldr r0, _080B1368 @ =gBattleAnimTarget +_080B1332: + ldrb r0, [r0] + bl sub_8076884 + movs r1, 0x3 + ands r1, r0 + lsls r1, 2 + ldrb r2, [r5, 0x5] + movs r0, 0xD + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r5, 0x5] + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + beq _080B136C + ldrb r2, [r5, 0x3] + lsls r1, r2, 26 + lsrs r1, 27 + movs r0, 0x8 + orrs r1, r0 + lsls r1, 1 + subs r0, 0x47 + b _080B1386 + .align 2, 0 +_080B1364: .4byte gBattleAnimAttacker +_080B1368: .4byte gBattleAnimTarget +_080B136C: + adds r0, r4, 0 + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _080B138C + ldrb r2, [r5, 0x3] + lsls r1, r2, 26 + lsrs r1, 27 + movs r0, 0x18 + orrs r1, r0 + lsls r1, 1 + subs r0, 0x57 +_080B1386: + ands r0, r2 + orrs r0, r1 + strb r0, [r5, 0x3] +_080B138C: + movs r0, 0x10 + strh r0, [r5, 0x2E] + ldrh r0, [r5, 0x20] + strh r0, [r5, 0x30] + adds r0, r4, 0 + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x32] + ldrh r0, [r5, 0x22] + strh r0, [r5, 0x34] + adds r0, r4, 0 + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x36] + adds r0, r5, 0 + bl obj_translate_based_on_private_1_2_3_4 + ldr r1, _080B13CC @ =DestroyAnimSprite + adds r0, r5, 0 + bl StoreSpriteCallbackInData6 + ldr r0, _080B13D0 @ =sub_807563C + str r0, [r5, 0x1C] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080B13CC: .4byte DestroyAnimSprite +_080B13D0: .4byte sub_807563C + thumb_func_end sub_80B12E8 + + thumb_func_start sub_80B13D4 +sub_80B13D4: @ 80B13D4 + push {r4,lr} + adds r4, r0, 0 + movs r0, 0x2E + ldrsh r1, [r4, r0] + movs r2, 0x36 + ldrsh r0, [r4, r2] + cmp r1, r0 + bne _080B13EA + adds r0, r4, 0 + bl DestroyAnimSprite +_080B13EA: + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80B13D4 + + thumb_func_start sub_80B13F8 +sub_80B13F8: @ 80B13F8 + push {r4-r6,lr} + adds r5, r0, 0 + ldr r4, _080B1474 @ =gBattleAnimTarget + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x20] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x22] + ldr r1, _080B1478 @ =gBattleAnimArgs + ldrh r0, [r1, 0x6] + strh r0, [r5, 0x30] + ldrh r0, [r1] + strh r0, [r5, 0x32] + ldrh r0, [r1, 0x2] + strh r0, [r5, 0x34] + ldrh r0, [r1, 0x4] + strh r0, [r5, 0x36] + ldr r0, _080B147C @ =gUnknown_2037F16 + ldrb r6, [r0] + ldrb r0, [r4] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _080B1442 + adds r0, r6, 0x1 + lsls r0, 24 + lsrs r6, r0, 24 +_080B1442: + movs r0, 0x1 + ands r6, r0 + cmp r6, 0 + beq _080B1456 + ldrh r0, [r5, 0x32] + negs r0, r0 + strh r0, [r5, 0x32] + ldrh r0, [r5, 0x30] + adds r0, 0x1 + strh r0, [r5, 0x30] +_080B1456: + ldrh r1, [r5, 0x30] + lsls r1, 24 + lsrs r1, 24 + adds r0, r5, 0 + bl StartSpriteAnim + ldrh r0, [r5, 0x32] + strh r0, [r5, 0x24] + ldrh r0, [r5, 0x34] + strh r0, [r5, 0x26] + ldr r0, _080B1480 @ =sub_80B13D4 + str r0, [r5, 0x1C] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080B1474: .4byte gBattleAnimTarget +_080B1478: .4byte gBattleAnimArgs +_080B147C: .4byte gUnknown_2037F16 +_080B1480: .4byte sub_80B13D4 + thumb_func_end sub_80B13F8 + + thumb_func_start sub_80B1484 +sub_80B1484: @ 80B1484 + push {r4,lr} + adds r4, r0, 0 + ldr r0, _080B149C @ =gBattleAnimArgs + movs r1, 0x4 + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _080B14A0 + adds r0, r4, 0 + movs r1, 0 + bl sub_8075160 + b _080B14A8 + .align 2, 0 +_080B149C: .4byte gBattleAnimArgs +_080B14A0: + adds r0, r4, 0 + movs r1, 0 + bl sub_8075114 +_080B14A8: + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + beq _080B14BC + adds r0, r4, 0 + movs r1, 0x2 + bl StartSpriteAnim + b _080B14D2 +_080B14BC: + ldr r0, _080B14E4 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080B14D2 + adds r0, r4, 0 + movs r1, 0x1 + bl StartSpriteAnim +_080B14D2: + ldr r0, _080B14E8 @ =sub_8074F6C + str r0, [r4, 0x1C] + ldr r1, _080B14EC @ =DestroyAnimSprite + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080B14E4: .4byte gBattleAnimAttacker +_080B14E8: .4byte sub_8074F6C +_080B14EC: .4byte DestroyAnimSprite + thumb_func_end sub_80B1484 + + thumb_func_start sub_80B14F0 +sub_80B14F0: @ 80B14F0 + push {r4,lr} + adds r4, r0, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x20 + ands r0, r1 + cmp r0, 0 + beq _080B152A + ldrh r0, [r4, 0x30] + adds r0, 0x28 + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0x30] + movs r1, 0x30 + ldrsh r0, [r4, r1] + movs r1, 0x2 + bl Sin + strh r0, [r4, 0x24] + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x28 + ble _080B152A + adds r0, r4, 0 + bl DestroyAnimSprite +_080B152A: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80B14F0 + + thumb_func_start sub_80B1530 +sub_80B1530: @ 80B1530 + push {r4-r7,lr} + lsls r0, 24 + lsrs r6, r0, 24 + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + ldr r1, _080B1560 @ =gTasks + adds r4, r0, r1 + movs r1, 0x8 + ldrsh r0, [r4, r1] + cmp r0, 0x1 + beq _080B1568 + cmp r0, 0x1 + bgt _080B1582 + cmp r0, 0 + bne _080B1582 + movs r0, 0 + bl sub_8075458 + ldr r0, _080B1564 @ =gBattleAnimArgs + ldrh r0, [r0] + strh r0, [r4, 0x18] + b _080B157A + .align 2, 0 +_080B1560: .4byte gTasks +_080B1564: .4byte gBattleAnimArgs +_080B1568: + ldrh r0, [r4, 0x18] + subs r0, 0x1 + strh r0, [r4, 0x18] + lsls r0, 16 + asrs r0, 16 + movs r1, 0x1 + negs r1, r1 + cmp r0, r1 + bne _080B158E +_080B157A: + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] + b _080B158E +_080B1582: + movs r2, 0xA0 + lsls r2, 3 + adds r0, r2, 0 + ldrh r1, [r4, 0x1A] + adds r0, r1 + strh r0, [r4, 0x1A] +_080B158E: + movs r2, 0xB0 + lsls r2, 4 + adds r0, r2, 0 + ldrh r1, [r4, 0x1C] + adds r0, r1 + strh r0, [r4, 0x1C] + ldr r0, _080B15BC @ =gBattleAnimTarget + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _080B15C4 + ldr r1, _080B15C0 @ =gBattle_BG3_X + ldrh r0, [r4, 0x1A] + lsls r0, 16 + asrs r0, 24 + ldrh r2, [r1] + adds r0, r2 + strh r0, [r1] + adds r7, r1, 0 + b _080B15D4 + .align 2, 0 +_080B15BC: .4byte gBattleAnimTarget +_080B15C0: .4byte gBattle_BG3_X +_080B15C4: + ldr r2, _080B1614 @ =gBattle_BG3_X + ldrh r1, [r4, 0x1A] + lsls r1, 16 + asrs r1, 24 + ldrh r0, [r2] + subs r0, r1 + strh r0, [r2] + adds r7, r2, 0 +_080B15D4: + ldr r3, _080B1618 @ =gBattle_BG3_Y + ldrh r2, [r4, 0x1C] + lsls r0, r2, 16 + asrs r0, 24 + ldrh r1, [r3] + adds r0, r1 + strh r0, [r3] + movs r0, 0xFF + ldrb r1, [r4, 0x1A] + movs r5, 0 + strh r1, [r4, 0x1A] + ands r0, r2 + strh r0, [r4, 0x1C] + ldr r0, _080B161C @ =gBattleAnimArgs + movs r2, 0xE + ldrsh r1, [r0, r2] + movs r0, 0x1 + negs r0, r0 + cmp r1, r0 + bne _080B160C + strh r5, [r7] + strh r5, [r3] + movs r0, 0x1 + bl sub_8075458 + adds r0, r6, 0 + bl DestroyAnimVisualTask +_080B160C: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080B1614: .4byte gBattle_BG3_X +_080B1618: .4byte gBattle_BG3_Y +_080B161C: .4byte gBattleAnimArgs + thumb_func_end sub_80B1530 + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/flying.s b/asm/flying.s new file mode 100644 index 000000000..ada0296c8 --- /dev/null +++ b/asm/flying.s @@ -0,0 +1,2945 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start sub_80B18A0 +sub_80B18A0: @ 80B18A0 + push {r4,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x2E] + adds r0, 0xB + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0x2E] + movs r1, 0x2E + ldrsh r0, [r4, r1] + movs r1, 0x4 + bl Sin + strh r0, [r4, 0x24] + ldrh r0, [r4, 0x30] + adds r0, 0x30 + strh r0, [r4, 0x30] + lsls r0, 16 + asrs r0, 24 + negs r0, r0 + strh r0, [r4, 0x26] + adds r0, r4, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x20 + ands r0, r1 + cmp r0, 0 + beq _080B18DC + adds r0, r4, 0 + bl DestroyAnimSprite +_080B18DC: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80B18A0 + + thumb_func_start sub_80B18E4 +sub_80B18E4: @ 80B18E4 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0 + bl sub_8075114 + ldrh r0, [r4, 0x22] + adds r0, 0x14 + strh r0, [r4, 0x22] + movs r0, 0xBF + strh r0, [r4, 0x30] + ldr r1, _080B1908 @ =sub_80B190C + str r1, [r4, 0x1C] + adds r0, r4, 0 + bl _call_via_r1 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080B1908: .4byte sub_80B190C + thumb_func_end sub_80B18E4 + + thumb_func_start sub_80B190C +sub_80B190C: @ 80B190C + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x30 + ldrsh r0, [r4, r1] + movs r1, 0x20 + bl Sin + strh r0, [r4, 0x24] + movs r1, 0x30 + ldrsh r0, [r4, r1] + movs r1, 0x8 + bl Cos + strh r0, [r4, 0x26] + ldrh r0, [r4, 0x30] + adds r0, 0x5 + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0x30] + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x47 + bne _080B1946 + adds r0, r4, 0 + bl DestroyAnimSprite +_080B1946: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80B190C + + thumb_func_start sub_80B194C +sub_80B194C: @ 80B194C + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + ldr r1, _080B197C @ =gTasks + lsls r4, r0, 2 + adds r4, r0 + lsls r4, 3 + adds r4, r1 + ldr r1, _080B1980 @ =gBattleAnimArgs + ldrh r0, [r1, 0x2] + strh r0, [r4, 0x8] + ldrh r0, [r1] + strh r0, [r4, 0xA] + ldr r0, _080B1984 @ =0x00002719 + bl IndexOfSpritePaletteTag + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0xC] + ldr r0, _080B1988 @ =sub_80B198C + str r0, [r4] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080B197C: .4byte gTasks +_080B1980: .4byte gBattleAnimArgs +_080B1984: .4byte 0x00002719 +_080B1988: .4byte sub_80B198C + thumb_func_end sub_80B194C + + thumb_func_start sub_80B198C +sub_80B198C: @ 80B198C + push {r4-r7,lr} + lsls r0, 24 + lsrs r5, r0, 24 + ldr r2, _080B1A0C @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r3, r0, r2 + ldrh r0, [r3, 0x1C] + adds r1, r0, 0x1 + strh r1, [r3, 0x1C] + lsls r0, 16 + asrs r0, 16 + movs r4, 0xA + ldrsh r1, [r3, r4] + adds r7, r2, 0 + cmp r0, r1 + bne _080B19EA + movs r0, 0 + strh r0, [r3, 0x1C] + ldrb r0, [r3, 0xC] + ldr r2, _080B1A10 @ =gPlttBufferFaded + lsls r0, 4 + movs r3, 0x84 + lsls r3, 1 + adds r1, r0, r3 + lsls r1, 1 + adds r1, r2 + ldrh r6, [r1] + movs r4, 0x7 + mov r12, r0 + ldr r0, _080B1A14 @ =0x00000107 + add r0, r12 + lsls r0, 1 + adds r3, r0, r2 +_080B19D2: + ldrh r0, [r3] + strh r0, [r1] + subs r3, 0x2 + subs r1, 0x2 + subs r4, 0x1 + cmp r4, 0 + bgt _080B19D2 + ldr r0, _080B1A18 @ =0x00000101 + add r0, r12 + lsls r0, 1 + adds r0, r2 + strh r6, [r0] +_080B19EA: + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r0, r7 + ldrh r1, [r0, 0x8] + subs r1, 0x1 + strh r1, [r0, 0x8] + lsls r1, 16 + cmp r1, 0 + bne _080B1A04 + adds r0, r5, 0 + bl DestroyAnimVisualTask +_080B1A04: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080B1A0C: .4byte gTasks +_080B1A10: .4byte gPlttBufferFaded +_080B1A14: .4byte 0x00000107 +_080B1A18: .4byte 0x00000101 + thumb_func_end sub_80B198C + + thumb_func_start sub_80B1A1C +sub_80B1A1C: @ 80B1A1C + push {r4-r6,lr} + adds r6, r0, 0 + movs r1, 0x1 + bl sub_8075160 + ldr r0, _080B1A88 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080B1A3C + ldr r1, _080B1A8C @ =gBattleAnimArgs + ldrh r0, [r1, 0x4] + negs r0, r0 + strh r0, [r1, 0x4] +_080B1A3C: + ldr r4, _080B1A8C @ =gBattleAnimArgs + ldrh r0, [r4, 0x8] + strh r0, [r6, 0x2E] + ldrh r0, [r6, 0x20] + strh r0, [r6, 0x30] + ldr r5, _080B1A90 @ =gBattleAnimTarget + ldrb r0, [r5] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r1, [r4, 0x4] + adds r0, r1 + strh r0, [r6, 0x32] + ldrh r0, [r6, 0x22] + strh r0, [r6, 0x34] + ldrb r0, [r5] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r4, [r4, 0x6] + adds r0, r4 + strh r0, [r6, 0x36] + adds r0, r6, 0 + bl obj_translate_based_on_private_1_2_3_4 + ldr r0, _080B1A94 @ =sub_8074F50 + str r0, [r6, 0x1C] + ldr r1, _080B1A98 @ =sub_80B1A9C + adds r0, r6, 0 + bl StoreSpriteCallbackInData6 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080B1A88: .4byte gBattleAnimAttacker +_080B1A8C: .4byte gBattleAnimArgs +_080B1A90: .4byte gBattleAnimTarget +_080B1A94: .4byte sub_8074F50 +_080B1A98: .4byte sub_80B1A9C + thumb_func_end sub_80B1A1C + + thumb_func_start sub_80B1A9C +sub_80B1A9C: @ 80B1A9C + push {r4,lr} + adds r4, r0, 0 + bl sub_80755E0 + lsls r0, 24 + cmp r0, 0 + beq _080B1AB0 + adds r0, r4, 0 + bl DestroyAnimSprite +_080B1AB0: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80B1A9C + + thumb_func_start sub_80B1AB8 +sub_80B1AB8: @ 80B1AB8 + push {r4,r5,lr} + adds r5, r0, 0 + ldr r4, _080B1B54 @ =gBattleAnimAttacker + ldrb r0, [r4] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080B1AE4 + ldr r1, _080B1B58 @ =gBattleAnimArgs + ldrh r0, [r1] + negs r0, r0 + strh r0, [r1] + ldrh r0, [r1, 0x2] + negs r0, r0 + strh r0, [r1, 0x2] + ldrh r0, [r1, 0x4] + negs r0, r0 + strh r0, [r1, 0x4] + ldrh r0, [r1, 0x6] + negs r0, r0 + strh r0, [r1, 0x6] +_080B1AE4: + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + beq _080B1AFC + ldr r0, _080B1B58 @ =gBattleAnimArgs + ldrh r1, [r0, 0x2] + negs r1, r1 + strh r1, [r0, 0x2] + ldrh r1, [r0, 0x6] + negs r1, r1 + strh r1, [r0, 0x6] +_080B1AFC: + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x20] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + ldr r2, _080B1B58 @ =gBattleAnimArgs + ldrh r1, [r2] + ldrh r3, [r5, 0x20] + adds r1, r3 + strh r1, [r5, 0x20] + lsrs r0, 24 + ldrh r1, [r2, 0x2] + adds r0, r1 + strh r0, [r5, 0x22] + ldrh r0, [r2, 0x8] + strh r0, [r5, 0x2E] + movs r3, 0xC + ldrsh r0, [r2, r3] + cmp r0, 0 + bne _080B1B60 + ldr r4, _080B1B5C @ =gBattleAnimTarget + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x32] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x36] + b _080B1B72 + .align 2, 0 +_080B1B54: .4byte gBattleAnimAttacker +_080B1B58: .4byte gBattleAnimArgs +_080B1B5C: .4byte gBattleAnimTarget +_080B1B60: + ldr r0, _080B1BA0 @ =gBattleAnimTarget + ldrb r0, [r0] + adds r2, r5, 0 + adds r2, 0x32 + adds r3, r5, 0 + adds r3, 0x36 + movs r1, 0x1 + bl sub_8076D9C +_080B1B72: + ldr r4, _080B1BA4 @ =gBattleAnimArgs + ldrh r0, [r4, 0x4] + ldrh r1, [r5, 0x32] + adds r0, r1 + strh r0, [r5, 0x32] + ldrh r0, [r4, 0x6] + ldrh r3, [r5, 0x36] + adds r0, r3 + strh r0, [r5, 0x36] + ldr r0, _080B1BA8 @ =sub_8075590 + str r0, [r5, 0x1C] + ldr r1, _080B1BAC @ =DestroyAnimSprite + adds r0, r5, 0 + bl StoreSpriteCallbackInData6 + ldrb r1, [r4, 0xA] + adds r0, r5, 0 + bl SeekSpriteAnim + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080B1BA0: .4byte gBattleAnimTarget +_080B1BA4: .4byte gBattleAnimArgs +_080B1BA8: .4byte sub_8075590 +_080B1BAC: .4byte DestroyAnimSprite + thumb_func_end sub_80B1AB8 + + thumb_func_start sub_80B1BB0 +sub_80B1BB0: @ 80B1BB0 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x1 + bl sub_8075160 + ldr r1, _080B1BEC @ =gBattleAnimArgs + ldrh r0, [r1, 0x4] + strh r0, [r4, 0x2E] + ldrh r0, [r1, 0x6] + strh r0, [r4, 0x30] + ldr r0, _080B1BF0 @ =sub_80B1BF8 + str r0, [r4, 0x1C] + movs r0, 0 + bl GetAnimBankSpriteId + ldr r2, _080B1BF4 @ =gSprites + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r2 + adds r1, 0x3E + ldrb r0, [r1] + movs r2, 0x4 + orrs r0, r2 + strb r0, [r1] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080B1BEC: .4byte gBattleAnimArgs +_080B1BF0: .4byte sub_80B1BF8 +_080B1BF4: .4byte gSprites + thumb_func_end sub_80B1BB0 + + thumb_func_start sub_80B1BF8 +sub_80B1BF8: @ 80B1BF8 + push {lr} + adds r2, r0, 0 + ldrh r1, [r2, 0x2E] + movs r3, 0x2E + ldrsh r0, [r2, r3] + cmp r0, 0 + ble _080B1C0C + subs r0, r1, 0x1 + strh r0, [r2, 0x2E] + b _080B1C1E +_080B1C0C: + ldrh r0, [r2, 0x30] + ldrh r1, [r2, 0x32] + adds r0, r1 + strh r0, [r2, 0x32] + lsls r0, 16 + asrs r0, 24 + ldrh r1, [r2, 0x26] + subs r1, r0 + strh r1, [r2, 0x26] +_080B1C1E: + movs r3, 0x22 + ldrsh r0, [r2, r3] + movs r3, 0x26 + ldrsh r1, [r2, r3] + adds r0, r1 + movs r1, 0x20 + negs r1, r1 + cmp r0, r1 + bge _080B1C36 + adds r0, r2, 0 + bl DestroyAnimSprite +_080B1C36: + pop {r0} + bx r0 + thumb_func_end sub_80B1BF8 + + thumb_func_start sub_80B1C3C +sub_80B1C3C: @ 80B1C3C + push {r4,r5,lr} + adds r5, r0, 0 + ldr r0, _080B1C64 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080B1C6C + movs r0, 0x88 + lsls r0, 1 + strh r0, [r5, 0x20] + ldr r0, _080B1C68 @ =0x0000ffe0 + strh r0, [r5, 0x22] + adds r0, r5, 0 + movs r1, 0x1 + bl StartSpriteAffineAnim + b _080B1C72 + .align 2, 0 +_080B1C64: .4byte gBattleAnimAttacker +_080B1C68: .4byte 0x0000ffe0 +_080B1C6C: + ldr r0, _080B1CB0 @ =0x0000ffe0 + strh r0, [r5, 0x20] + strh r0, [r5, 0x22] +_080B1C72: + ldr r0, _080B1CB4 @ =gBattleAnimArgs + ldrh r0, [r0] + strh r0, [r5, 0x2E] + ldrh r0, [r5, 0x20] + strh r0, [r5, 0x30] + ldr r4, _080B1CB8 @ =gBattleAnimTarget + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x32] + ldrh r0, [r5, 0x22] + strh r0, [r5, 0x34] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x36] + adds r0, r5, 0 + bl obj_translate_based_on_private_1_2_3_4 + ldr r0, _080B1CBC @ =sub_80B1CC0 + str r0, [r5, 0x1C] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080B1CB0: .4byte 0x0000ffe0 +_080B1CB4: .4byte gBattleAnimArgs +_080B1CB8: .4byte gBattleAnimTarget +_080B1CBC: .4byte sub_80B1CC0 + thumb_func_end sub_80B1C3C + + thumb_func_start sub_80B1CC0 +sub_80B1CC0: @ 80B1CC0 + push {r4,lr} + adds r4, r0, 0 + movs r0, 0x1 + strh r0, [r4, 0x2E] + adds r0, r4, 0 + bl sub_80755E0 + ldrh r1, [r4, 0x34] + lsrs r0, r1, 8 + cmp r0, 0xC8 + bls _080B1CE8 + ldrh r0, [r4, 0x24] + ldrh r2, [r4, 0x20] + adds r0, r2 + strh r0, [r4, 0x20] + movs r0, 0 + strh r0, [r4, 0x24] + movs r0, 0xFF + ands r0, r1 + strh r0, [r4, 0x34] +_080B1CE8: + movs r1, 0x20 + ldrsh r0, [r4, r1] + movs r2, 0x24 + ldrsh r1, [r4, r2] + adds r0, r1 + adds r0, 0x20 + movs r1, 0x98 + lsls r1, 1 + cmp r0, r1 + bhi _080B1D0A + movs r1, 0x22 + ldrsh r0, [r4, r1] + movs r2, 0x26 + ldrsh r1, [r4, r2] + adds r0, r1 + cmp r0, 0xA0 + ble _080B1D30 +_080B1D0A: + movs r0, 0 + bl GetAnimBankSpriteId + ldr r2, _080B1D38 @ =gSprites + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r2 + adds r1, 0x3E + ldrb r2, [r1] + movs r0, 0x5 + negs r0, r0 + ands r0, r2 + strb r0, [r1] + adds r0, r4, 0 + bl DestroyAnimSprite +_080B1D30: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080B1D38: .4byte gSprites + thumb_func_end sub_80B1CC0 + + thumb_func_start sub_80B1D3C +sub_80B1D3C: @ 80B1D3C + push {r4,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x2E] + subs r1, r0, 0x1 + strh r1, [r4, 0x2E] + lsls r0, 16 + cmp r0, 0 + bgt _080B1D7C + ldrb r0, [r4, 0x1] + lsls r0, 30 + lsrs r0, 30 + movs r1, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080B1D6E + ldrb r0, [r4, 0x3] + lsls r0, 26 + lsrs r0, 27 + bl FreeOamMatrix + ldrb r1, [r4, 0x1] + movs r0, 0x4 + negs r0, r0 + ands r0, r1 + strb r0, [r4, 0x1] +_080B1D6E: + adds r0, r4, 0 + bl DestroySprite + ldr r1, _080B1D84 @ =gUnknown_2037EE2 + ldrb r0, [r1] + subs r0, 0x1 + strb r0, [r1] +_080B1D7C: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080B1D84: .4byte gUnknown_2037EE2 + thumb_func_end sub_80B1D3C + + thumb_func_start sub_80B1D88 +sub_80B1D88: @ 80B1D88 + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r7, r0, 0 + adds r5, r7, 0 + adds r5, 0x2E + ldr r0, _080B1DA8 @ =gBattleAnimArgs + ldrh r1, [r0, 0xE] + movs r0, 0x80 + lsls r0, 1 + ands r0, r1 + cmp r0, 0 + beq _080B1DB0 + ldr r0, _080B1DAC @ =gBattleAnimAttacker + b _080B1DB2 + .align 2, 0 +_080B1DA8: .4byte gBattleAnimArgs +_080B1DAC: .4byte gBattleAnimAttacker +_080B1DB0: + ldr r0, _080B1E5C @ =gBattleAnimTarget +_080B1DB2: + ldrb r6, [r0] + adds r0, r6, 0 + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _080B1DC8 + ldr r1, _080B1E60 @ =gBattleAnimArgs + ldrh r0, [r1] + negs r0, r0 + strh r0, [r1] +_080B1DC8: + adds r0, r6, 0 + movs r1, 0 + bl sub_8074480 + lsls r0, 24 + ldr r4, _080B1E60 @ =gBattleAnimArgs + lsrs r0, 24 + ldrh r1, [r4] + adds r0, r1 + strh r0, [r7, 0x20] + adds r0, r6, 0 + movs r1, 0x1 + bl sub_8074480 + lsls r0, 24 + ldrh r1, [r4, 0x2] + lsrs r0, 24 + adds r1, r0, r1 + strh r1, [r7, 0x22] + lsls r1, 8 + strh r1, [r5, 0x8] + ldrh r1, [r4, 0xC] + adds r0, r1 + lsls r0, 1 + ldrh r2, [r5, 0xE] + movs r1, 0x1 + ands r1, r2 + orrs r1, r0 + strh r1, [r5, 0xE] + ldrb r0, [r5] + movs r2, 0x4 + mov r8, r2 + mov r1, r8 + orrs r0, r1 + strb r0, [r5] + ldrh r0, [r4, 0x4] + ldrb r1, [r4, 0x4] + strh r1, [r5, 0x2] + lsls r0, 16 + lsrs r0, 24 + strh r0, [r5, 0xA] + ldrh r0, [r4, 0x6] + strh r0, [r5, 0x4] + ldrh r0, [r4, 0x8] + strh r0, [r5, 0x6] + ldrh r0, [r4, 0xA] + strh r0, [r5, 0xC] + subs r1, 0x40 + lsls r1, 16 + lsrs r1, 16 + cmp r1, 0x7F + bhi _080B1EBE + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080B1E64 + adds r0, r6, 0 + bl sub_8076884 + lsls r0, 24 + lsrs r0, 24 + adds r0, 0x1 + movs r1, 0x3 + ands r0, r1 + lsls r0, 2 + ldrb r2, [r7, 0x5] + movs r1, 0xD + negs r1, r1 + ands r1, r2 + orrs r1, r0 + strb r1, [r7, 0x5] + b _080B1E7C + .align 2, 0 +_080B1E5C: .4byte gBattleAnimTarget +_080B1E60: .4byte gBattleAnimArgs +_080B1E64: + adds r0, r6, 0 + bl sub_8076884 + movs r1, 0x3 + ands r1, r0 + lsls r1, 2 + ldrb r2, [r7, 0x5] + movs r0, 0xD + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r7, 0x5] +_080B1E7C: + ldrb r1, [r5, 0xE] + movs r4, 0x2 + negs r4, r4 + adds r0, r4, 0 + ands r0, r1 + strb r0, [r5, 0xE] + movs r2, 0x4 + ldrsh r0, [r5, r2] + movs r1, 0x80 + lsls r1, 8 + ands r0, r1 + cmp r0, 0 + bne _080B1F1E + adds r3, r7, 0 + adds r3, 0x3F + ldrb r2, [r3] + lsls r0, r2, 31 + lsrs r0, 31 + movs r1, 0x1 + eors r1, r0 + adds r0, r4, 0 + ands r0, r2 + orrs r0, r1 + strb r0, [r3] + lsls r0, 31 + lsrs r0, 31 + adds r1, r7, 0 + adds r1, 0x2A + strb r0, [r1] + ldrb r0, [r3] + movs r1, 0x4 + orrs r0, r1 + b _080B1F16 +_080B1EBE: + adds r0, r6, 0 + bl sub_8076884 + movs r1, 0x3 + ands r1, r0 + lsls r1, 2 + ldrb r2, [r7, 0x5] + movs r0, 0xD + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r7, 0x5] + ldrb r0, [r5, 0xE] + movs r4, 0x1 + orrs r0, r4 + strb r0, [r5, 0xE] + movs r1, 0x4 + ldrsh r0, [r5, r1] + movs r1, 0x80 + lsls r1, 8 + ands r0, r1 + cmp r0, 0 + beq _080B1F1E + adds r3, r7, 0 + adds r3, 0x3F + ldrb r2, [r3] + lsls r1, r2, 31 + lsrs r1, 31 + movs r0, 0x1 + eors r1, r0 + ands r1, r4 + movs r0, 0x2 + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r3] + lsls r0, 31 + lsrs r0, 31 + adds r1, r7, 0 + adds r1, 0x2A + strb r0, [r1] + ldrb r0, [r3] + mov r2, r8 + orrs r0, r2 +_080B1F16: + movs r1, 0x11 + negs r1, r1 + ands r0, r1 + strb r0, [r3] +_080B1F1E: + ldrh r1, [r5, 0x2] + lsrs r1, 6 + lsls r1, 4 + ldrb r2, [r5] + movs r0, 0xF + ands r0, r2 + orrs r0, r1 + strb r0, [r5] + ldr r3, _080B1F88 @ =gSineTable + ldrh r0, [r5, 0x2] + lsls r0, 1 + adds r0, r3 + movs r2, 0 + ldrsh r1, [r0, r2] + ldrb r0, [r5, 0xC] + muls r0, r1 + asrs r0, 8 + strh r0, [r7, 0x24] + ldrb r2, [r7, 0x3] + lsls r2, 26 + lsrs r2, 27 + movs r1, 0x24 + ldrsh r0, [r7, r1] + negs r0, r0 + asrs r0, 1 + ldrb r5, [r5, 0xA] + adds r0, r5 + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 1 + adds r1, r3 + ldrh r4, [r1] + ldr r1, _080B1F8C @ =gOamMatrices + lsls r2, 3 + adds r2, r1 + adds r0, 0x40 + lsls r0, 1 + adds r0, r3 + ldrh r0, [r0] + strh r0, [r2, 0x6] + strh r0, [r2] + strh r4, [r2, 0x2] + lsls r0, r4, 16 + asrs r0, 16 + negs r0, r0 + strh r0, [r2, 0x4] + ldr r0, _080B1F90 @ =sub_80B1F94 + str r0, [r7, 0x1C] + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080B1F88: .4byte gSineTable +_080B1F8C: .4byte gOamMatrices +_080B1F90: .4byte sub_80B1F94 + thumb_func_end sub_80B1D88 + + thumb_func_start sub_80B1F94 +sub_80B1F94: @ 80B1F94 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + adds r5, r0, 0 + movs r6, 0 + adds r4, r5, 0 + adds r4, 0x2E + ldrb r2, [r4] + movs r7, 0x1 + movs r0, 0x1 + mov r9, r0 + ands r0, r2 + cmp r0, 0 + beq _080B1FCE + ldrb r0, [r4, 0x1] + adds r1, r0, 0 + adds r1, 0xFF + strb r1, [r4, 0x1] + lsls r0, 24 + cmp r0, 0 + beq _080B1FC2 + b _080B24AA +_080B1FC2: + movs r0, 0x2 + negs r0, r0 + ands r0, r2 + strb r0, [r4] + strb r6, [r4, 0x1] + b _080B24AA +_080B1FCE: + ldrh r0, [r4, 0x2] + lsrs r1, r0, 6 + mov r12, r0 + cmp r1, 0x1 + bne _080B1FDA + b _080B20FE +_080B1FDA: + cmp r1, 0x1 + bgt _080B1FE4 + cmp r1, 0 + beq _080B1FF2 + b _080B23F0 +_080B1FE4: + cmp r1, 0x2 + bne _080B1FEA + b _080B21F2 +_080B1FEA: + cmp r1, 0x3 + bne _080B1FF0 + b _080B22E6 +_080B1FF0: + b _080B23F0 +_080B1FF2: + lsls r1, r2, 24 + lsrs r0, r1, 28 + cmp r0, 0x1 + bne _080B2006 + movs r0, 0x8 + orrs r0, r2 + orrs r0, r7 + strb r0, [r4] + strb r6, [r4, 0x1] + b _080B20F4 +_080B2006: + lsrs r0, r1, 28 + cmp r0, 0x3 + bne _080B2028 + lsls r0, r2, 30 + lsrs r0, 31 + movs r1, 0x1 + eors r0, r1 + ands r0, r7 + lsls r0, 1 + movs r1, 0x3 + negs r1, r1 + ands r1, r2 + orrs r1, r0 + orrs r1, r7 + strb r1, [r4] + strb r6, [r4, 0x1] + b _080B20F4 +_080B2028: + movs r0, 0x8 + ands r0, r2 + cmp r0, 0 + beq _080B20F4 + adds r3, r5, 0 + adds r3, 0x3F + ldrb r2, [r3] + lsls r1, r2, 31 + lsrs r1, 31 + movs r6, 0x1 + eors r1, r6 + ands r1, r7 + movs r0, 0x2 + negs r0, r0 + mov r8, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r3] + lsls r0, 31 + lsrs r0, 31 + adds r1, r5, 0 + adds r1, 0x2A + strb r0, [r1] + ldrb r0, [r3] + movs r1, 0x4 + orrs r0, r1 + movs r1, 0x11 + negs r1, r1 + ands r0, r1 + strb r0, [r3] + ldrb r1, [r4] + movs r0, 0x4 + ands r0, r1 + cmp r0, 0 + beq _080B20E6 + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080B20B6 + ldrb r1, [r4, 0xE] + mov r0, r9 + ands r0, r1 + cmp r0, 0 + bne _080B209C + ldrb r2, [r5, 0x5] + lsls r1, r2, 28 + lsrs r1, 30 + subs r1, 0x1 + movs r0, 0x3 + ands r1, r0 + lsls r1, 2 + movs r0, 0xD + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r5, 0x5] + b _080B20D4 +_080B209C: + ldrb r2, [r5, 0x5] + lsls r1, r2, 28 + lsrs r1, 30 + adds r1, 0x1 + movs r0, 0x3 + ands r1, r0 + lsls r1, 2 + movs r0, 0xD + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r5, 0x5] + b _080B20D4 +_080B20B6: + ldrb r1, [r4, 0xE] + mov r0, r9 + ands r0, r1 + cmp r0, 0 + bne _080B20CA + adds r1, r5, 0 + adds r1, 0x43 + ldrb r0, [r1] + subs r0, 0xC + b _080B20D2 +_080B20CA: + adds r1, r5, 0 + adds r1, 0x43 + ldrb r0, [r1] + adds r0, 0xC +_080B20D2: + strb r0, [r1] +_080B20D4: + ldrb r2, [r4, 0xE] + lsls r0, r2, 31 + lsrs r0, 31 + eors r0, r6 + ands r0, r7 + mov r1, r8 + ands r1, r2 + orrs r1, r0 + strb r1, [r4, 0xE] +_080B20E6: + ldrb r1, [r4] + movs r0, 0x9 + negs r0, r0 + ands r0, r1 + strb r0, [r4] + ldrh r1, [r4, 0x2] + mov r12, r1 +_080B20F4: + ldrb r1, [r4] + movs r0, 0xF + ands r0, r1 + strb r0, [r4] + b _080B23F0 +_080B20FE: + lsls r1, r2, 24 + lsrs r0, r1, 28 + cmp r0, 0 + bne _080B210C + movs r0, 0x8 + orrs r0, r2 + b _080B2114 +_080B210C: + lsrs r0, r1, 28 + cmp r0, 0x2 + bne _080B211C + adds r0, r2, 0 +_080B2114: + orrs r0, r7 + strb r0, [r4] + strb r6, [r4, 0x1] + b _080B21E8 +_080B211C: + movs r0, 0x8 + ands r0, r2 + cmp r0, 0 + beq _080B21E8 + adds r3, r5, 0 + adds r3, 0x3F + ldrb r2, [r3] + lsls r1, r2, 31 + lsrs r1, 31 + movs r6, 0x1 + eors r1, r6 + ands r1, r7 + movs r0, 0x2 + negs r0, r0 + mov r8, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r3] + lsls r0, 31 + lsrs r0, 31 + adds r1, r5, 0 + adds r1, 0x2A + strb r0, [r1] + ldrb r0, [r3] + movs r1, 0x4 + orrs r0, r1 + movs r1, 0x11 + negs r1, r1 + ands r0, r1 + strb r0, [r3] + ldrb r1, [r4] + movs r0, 0x4 + ands r0, r1 + cmp r0, 0 + beq _080B21DA + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080B21AA + ldrb r1, [r4, 0xE] + mov r0, r9 + ands r0, r1 + cmp r0, 0 + bne _080B2190 + ldrb r2, [r5, 0x5] + lsls r1, r2, 28 + lsrs r1, 30 + subs r1, 0x1 + movs r0, 0x3 + ands r1, r0 + lsls r1, 2 + movs r0, 0xD + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r5, 0x5] + b _080B21C8 +_080B2190: + ldrb r2, [r5, 0x5] + lsls r1, r2, 28 + lsrs r1, 30 + adds r1, 0x1 + movs r0, 0x3 + ands r1, r0 + lsls r1, 2 + movs r0, 0xD + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r5, 0x5] + b _080B21C8 +_080B21AA: + ldrb r1, [r4, 0xE] + mov r0, r9 + ands r0, r1 + cmp r0, 0 + bne _080B21BE + adds r1, r5, 0 + adds r1, 0x43 + ldrb r0, [r1] + subs r0, 0xC + b _080B21C6 +_080B21BE: + adds r1, r5, 0 + adds r1, 0x43 + ldrb r0, [r1] + adds r0, 0xC +_080B21C6: + strb r0, [r1] +_080B21C8: + ldrb r2, [r4, 0xE] + lsls r0, r2, 31 + lsrs r0, 31 + eors r0, r6 + ands r0, r7 + mov r1, r8 + ands r1, r2 + orrs r1, r0 + strb r1, [r4, 0xE] +_080B21DA: + ldrb r1, [r4] + movs r0, 0x9 + negs r0, r0 + ands r0, r1 + strb r0, [r4] + ldrh r1, [r4, 0x2] + mov r12, r1 +_080B21E8: + ldrb r0, [r4] + movs r1, 0xF + ands r1, r0 + movs r0, 0x10 + b _080B23EC +_080B21F2: + lsls r1, r2, 24 + lsrs r0, r1, 28 + cmp r0, 0x3 + bne _080B2200 + movs r0, 0x8 + orrs r0, r2 + b _080B2208 +_080B2200: + lsrs r0, r1, 28 + cmp r0, 0x1 + bne _080B2210 + adds r0, r2, 0 +_080B2208: + orrs r0, r7 + strb r0, [r4] + strb r6, [r4, 0x1] + b _080B22DC +_080B2210: + movs r0, 0x8 + ands r0, r2 + cmp r0, 0 + beq _080B22DC + adds r3, r5, 0 + adds r3, 0x3F + ldrb r2, [r3] + lsls r1, r2, 31 + lsrs r1, 31 + movs r6, 0x1 + eors r1, r6 + ands r1, r7 + movs r0, 0x2 + negs r0, r0 + mov r8, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r3] + lsls r0, 31 + lsrs r0, 31 + adds r1, r5, 0 + adds r1, 0x2A + strb r0, [r1] + ldrb r0, [r3] + movs r1, 0x4 + orrs r0, r1 + movs r1, 0x11 + negs r1, r1 + ands r0, r1 + strb r0, [r3] + ldrb r1, [r4] + movs r0, 0x4 + ands r0, r1 + cmp r0, 0 + beq _080B22CE + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080B229E + ldrb r1, [r4, 0xE] + mov r0, r9 + ands r0, r1 + cmp r0, 0 + bne _080B2284 + ldrb r2, [r5, 0x5] + lsls r1, r2, 28 + lsrs r1, 30 + subs r1, 0x1 + movs r0, 0x3 + ands r1, r0 + lsls r1, 2 + movs r0, 0xD + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r5, 0x5] + b _080B22BC +_080B2284: + ldrb r2, [r5, 0x5] + lsls r1, r2, 28 + lsrs r1, 30 + adds r1, 0x1 + movs r0, 0x3 + ands r1, r0 + lsls r1, 2 + movs r0, 0xD + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r5, 0x5] + b _080B22BC +_080B229E: + ldrb r1, [r4, 0xE] + mov r0, r9 + ands r0, r1 + cmp r0, 0 + bne _080B22B2 + adds r1, r5, 0 + adds r1, 0x43 + ldrb r0, [r1] + subs r0, 0xC + b _080B22BA +_080B22B2: + adds r1, r5, 0 + adds r1, 0x43 + ldrb r0, [r1] + adds r0, 0xC +_080B22BA: + strb r0, [r1] +_080B22BC: + ldrb r2, [r4, 0xE] + lsls r0, r2, 31 + lsrs r0, 31 + eors r0, r6 + ands r0, r7 + mov r1, r8 + ands r1, r2 + orrs r1, r0 + strb r1, [r4, 0xE] +_080B22CE: + ldrb r1, [r4] + movs r0, 0x9 + negs r0, r0 + ands r0, r1 + strb r0, [r4] + ldrh r1, [r4, 0x2] + mov r12, r1 +_080B22DC: + ldrb r0, [r4] + movs r1, 0xF + ands r1, r0 + movs r0, 0x20 + b _080B23EC +_080B22E6: + lsls r1, r2, 24 + lsrs r0, r1, 28 + cmp r0, 0x2 + bne _080B22F6 + movs r0, 0x8 + orrs r0, r2 + strb r0, [r4] + b _080B23E4 +_080B22F6: + lsrs r0, r1, 28 + cmp r0, 0 + bne _080B2318 + lsls r0, r2, 30 + lsrs r0, 31 + movs r1, 0x1 + eors r0, r1 + ands r0, r7 + lsls r0, 1 + movs r1, 0x3 + negs r1, r1 + ands r1, r2 + orrs r1, r0 + orrs r1, r7 + strb r1, [r4] + strb r6, [r4, 0x1] + b _080B23E4 +_080B2318: + movs r0, 0x8 + ands r0, r2 + cmp r0, 0 + beq _080B23E4 + adds r3, r5, 0 + adds r3, 0x3F + ldrb r2, [r3] + lsls r1, r2, 31 + lsrs r1, 31 + movs r6, 0x1 + eors r1, r6 + ands r1, r7 + movs r0, 0x2 + negs r0, r0 + mov r8, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r3] + lsls r0, 31 + lsrs r0, 31 + adds r1, r5, 0 + adds r1, 0x2A + strb r0, [r1] + ldrb r0, [r3] + movs r1, 0x4 + orrs r0, r1 + movs r1, 0x11 + negs r1, r1 + ands r0, r1 + strb r0, [r3] + ldrb r1, [r4] + movs r0, 0x4 + ands r0, r1 + cmp r0, 0 + beq _080B23D6 + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080B23A6 + ldrb r1, [r4, 0xE] + mov r0, r9 + ands r0, r1 + cmp r0, 0 + bne _080B238C + ldrb r2, [r5, 0x5] + lsls r1, r2, 28 + lsrs r1, 30 + subs r1, 0x1 + movs r0, 0x3 + ands r1, r0 + lsls r1, 2 + movs r0, 0xD + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r5, 0x5] + b _080B23C4 +_080B238C: + ldrb r2, [r5, 0x5] + lsls r1, r2, 28 + lsrs r1, 30 + adds r1, 0x1 + movs r0, 0x3 + ands r1, r0 + lsls r1, 2 + movs r0, 0xD + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r5, 0x5] + b _080B23C4 +_080B23A6: + ldrb r1, [r4, 0xE] + mov r0, r9 + ands r0, r1 + cmp r0, 0 + bne _080B23BA + adds r1, r5, 0 + adds r1, 0x43 + ldrb r0, [r1] + subs r0, 0xC + b _080B23C2 +_080B23BA: + adds r1, r5, 0 + adds r1, 0x43 + ldrb r0, [r1] + adds r0, 0xC +_080B23C2: + strb r0, [r1] +_080B23C4: + ldrb r2, [r4, 0xE] + lsls r0, r2, 31 + lsrs r0, 31 + eors r0, r6 + ands r0, r7 + mov r1, r8 + ands r1, r2 + orrs r1, r0 + strb r1, [r4, 0xE] +_080B23D6: + ldrb r1, [r4] + movs r0, 0x9 + negs r0, r0 + ands r0, r1 + strb r0, [r4] + ldrh r1, [r4, 0x2] + mov r12, r1 +_080B23E4: + ldrb r0, [r4] + movs r1, 0xF + ands r1, r0 + movs r0, 0x30 +_080B23EC: + orrs r1, r0 + strb r1, [r4] +_080B23F0: + ldrb r1, [r4] + lsls r1, 30 + lsrs r1, 31 + adds r0, r4, 0 + adds r0, 0xC + adds r0, r1 + ldrb r1, [r0] + ldr r3, _080B2478 @ =gSineTable + mov r2, r12 + lsls r0, r2, 1 + adds r0, r3 + movs r2, 0 + ldrsh r0, [r0, r2] + muls r0, r1 + asrs r0, 8 + strh r0, [r5, 0x24] + ldrb r2, [r5, 0x3] + lsls r2, 26 + lsrs r2, 27 + movs r1, 0x24 + ldrsh r0, [r5, r1] + negs r0, r0 + asrs r0, 1 + ldrb r1, [r4, 0xA] + adds r0, r1 + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 1 + adds r1, r3 + ldrh r6, [r1] + ldr r1, _080B247C @ =gOamMatrices + lsls r2, 3 + adds r2, r1 + adds r0, 0x40 + lsls r0, 1 + adds r0, r3 + ldrh r0, [r0] + strh r0, [r2, 0x6] + strh r0, [r2] + strh r6, [r2, 0x2] + lsls r0, r6, 16 + asrs r0, 16 + negs r0, r0 + strh r0, [r2, 0x4] + ldrh r0, [r4, 0x6] + ldrh r2, [r4, 0x8] + adds r0, r2 + strh r0, [r4, 0x8] + lsls r0, 16 + lsrs r0, 24 + strh r0, [r5, 0x22] + movs r1, 0x4 + ldrsh r0, [r4, r1] + movs r1, 0x80 + lsls r1, 8 + ands r0, r1 + cmp r0, 0 + beq _080B2480 + ldrh r0, [r4, 0x4] + subs r1, 0x1 + ands r1, r0 + ldrh r0, [r4, 0x2] + subs r0, r1 + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0x2] + b _080B2490 + .align 2, 0 +_080B2478: .4byte gSineTable +_080B247C: .4byte gOamMatrices +_080B2480: + ldrh r0, [r4, 0x4] + ldr r1, _080B24B8 @ =0x00007fff + ands r1, r0 + ldrh r2, [r4, 0x2] + adds r1, r2 + movs r0, 0xFF + ands r1, r0 + strh r1, [r4, 0x2] +_080B2490: + movs r0, 0x22 + ldrsh r1, [r5, r0] + movs r2, 0x26 + ldrsh r0, [r5, r2] + adds r1, r0 + ldrh r0, [r4, 0xE] + lsrs r0, 1 + cmp r1, r0 + blt _080B24AA + movs r0, 0 + strh r0, [r5, 0x2E] + ldr r0, _080B24BC @ =sub_80B1D3C + str r0, [r5, 0x1C] +_080B24AA: + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080B24B8: .4byte 0x00007fff +_080B24BC: .4byte sub_80B1D3C + thumb_func_end sub_80B1F94 + + thumb_func_start sub_80B24C0 +sub_80B24C0: @ 80B24C0 + push {r4,r5,lr} + adds r4, r0, 0 + ldr r0, _080B2508 @ =gBattleAnimTarget + ldrb r0, [r0] + bl sub_8076884 + movs r1, 0x3 + ands r1, r0 + lsls r1, 2 + ldrb r2, [r4, 0x5] + movs r0, 0xD + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r4, 0x5] + ldr r5, _080B250C @ =gBattleAnimAttacker + ldrb r0, [r5] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x20] + ldrb r0, [r5] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x22] + ldr r0, _080B2510 @ =sub_8075DF4 + str r0, [r4, 0x1C] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080B2508: .4byte gBattleAnimTarget +_080B250C: .4byte gBattleAnimAttacker +_080B2510: .4byte sub_8075DF4 + thumb_func_end sub_80B24C0 + + thumb_func_start sub_80B2514 +sub_80B2514: @ 80B2514 + push {r4-r7,lr} + adds r4, r0, 0 + ldr r5, _080B2554 @ =gBattleAnimArgs + ldrh r0, [r5] + strh r0, [r4, 0x30] + ldrh r0, [r5, 0x2] + strh r0, [r4, 0x32] + ldrh r0, [r5, 0x4] + strh r0, [r4, 0x34] + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080B25C4 + ldr r0, _080B2558 @ =gUnknown_2023BD6 + ldr r1, _080B255C @ =gBattleAnimTarget + ldrb r2, [r1] + adds r0, r2, r0 + ldrb r1, [r0] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080B2560 + adds r0, r2, 0 + movs r1, 0x1 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r5, [r5, 0x6] + adds r0, r5 + b _080B256E + .align 2, 0 +_080B2554: .4byte gBattleAnimArgs +_080B2558: .4byte gUnknown_2023BD6 +_080B255C: .4byte gBattleAnimTarget +_080B2560: + adds r0, r2, 0 + movs r1, 0x1 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + adds r0, 0x28 +_080B256E: + strh r0, [r4, 0x3C] + ldr r0, _080B259C @ =gBattleAnimArgs + movs r1, 0x8 + ldrsh r0, [r0, r1] + cmp r0, 0 + beq _080B25A4 + ldr r0, _080B25A0 @ =gBattleAnimTarget + ldrb r0, [r0] + bl sub_8076884 + lsls r0, 24 + lsrs r0, 24 + adds r0, 0x1 + movs r1, 0x3 + ands r0, r1 + lsls r0, 2 + ldrb r2, [r4, 0x5] + movs r1, 0xD + negs r1, r1 + ands r1, r2 + orrs r1, r0 + strb r1, [r4, 0x5] + b _080B25D8 + .align 2, 0 +_080B259C: .4byte gBattleAnimArgs +_080B25A0: .4byte gBattleAnimTarget +_080B25A4: + ldr r0, _080B25C0 @ =gBattleAnimTarget + ldrb r0, [r0] + bl sub_8076884 + movs r1, 0x3 + ands r1, r0 + lsls r1, 2 + ldrb r2, [r4, 0x5] + movs r0, 0xD + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r4, 0x5] + b _080B25D8 + .align 2, 0 +_080B25C0: .4byte gBattleAnimTarget +_080B25C4: + ldr r0, _080B267C @ =gBattleAnimTarget + ldrb r0, [r0] + movs r1, 0x1 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r5, [r5, 0x6] + adds r0, r5 + strh r0, [r4, 0x3C] +_080B25D8: + ldr r5, _080B2680 @ =gSineTable + ldrh r3, [r4, 0x30] + movs r1, 0xFF + ands r1, r3 + lsls r0, r1, 1 + adds r0, r5 + ldrh r0, [r0] + movs r2, 0 + strh r0, [r4, 0x36] + adds r1, 0x40 + lsls r1, 1 + adds r1, r5 + ldrh r0, [r1] + negs r0, r0 + strh r0, [r4, 0x38] + strh r2, [r4, 0x3A] + strh r2, [r4, 0x26] + strh r2, [r4, 0x24] + ldrb r0, [r4, 0x3] + lsls r0, 26 + lsrs r6, r0, 27 + lsls r3, 16 + lsrs r3, 24 + strh r3, [r4, 0x30] + bl Random + lsls r0, 16 + asrs r7, r0, 16 + movs r0, 0x80 + lsls r0, 8 + ands r0, r7 + cmp r0, 0 + beq _080B2622 + ldrh r1, [r4, 0x30] + movs r0, 0xFF + subs r0, r1 + strh r0, [r4, 0x30] +_080B2622: + movs r0, 0x30 + ldrsh r1, [r4, r0] + lsls r0, r1, 1 + adds r0, r5 + ldrh r0, [r0] + ldr r3, _080B2684 @ =gOamMatrices + lsls r2, r6, 3 + adds r2, r3 + adds r1, 0x40 + lsls r1, 1 + adds r1, r5 + ldrh r1, [r1] + strh r1, [r2, 0x6] + strh r1, [r2] + strh r0, [r2, 0x2] + lsls r0, 16 + asrs r0, 16 + negs r0, r0 + strh r0, [r2, 0x4] + adds r3, r4, 0 + adds r3, 0x3F + ldrb r0, [r3] + movs r1, 0x4 + orrs r0, r1 + movs r1, 0x11 + negs r1, r1 + ands r0, r1 + strb r0, [r3] + movs r0, 0x1 + ands r0, r7 + cmp r0, 0 + beq _080B2672 + adds r2, r4, 0 + adds r2, 0x2A + movs r1, 0x1 + movs r0, 0x1 + strb r0, [r2] + ldrb r0, [r3] + orrs r0, r1 + strb r0, [r3] +_080B2672: + ldr r0, _080B2688 @ =sub_80B268C + str r0, [r4, 0x1C] + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080B267C: .4byte gBattleAnimTarget +_080B2680: .4byte gSineTable +_080B2684: .4byte gOamMatrices +_080B2688: .4byte sub_80B268C + thumb_func_end sub_80B2514 + + thumb_func_start sub_80B268C +sub_80B268C: @ 80B268C + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x10 + adds r4, r0, 0 + adds r5, r4, 0 + adds r5, 0x2E + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + movs r1, 0 + mov r8, r1 + movs r7, 0 + strh r0, [r4, 0x2E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x4 + ble _080B2770 + movs r2, 0x36 + ldrsh r1, [r4, r2] + movs r2, 0x3A + ldrsh r0, [r4, r2] + muls r0, r1 + asrs r6, r0, 8 + strh r6, [r4, 0x24] + movs r0, 0x38 + ldrsh r1, [r4, r0] + movs r2, 0x3A + ldrsh r0, [r4, r2] + muls r0, r1 + asrs r3, r0, 8 + strh r3, [r4, 0x26] + ldrh r2, [r4, 0x34] + movs r1, 0xFF + adds r0, r1, 0 + ands r0, r2 + ldrh r2, [r4, 0x3A] + adds r0, r2 + strh r0, [r4, 0x3A] + ldrh r2, [r4, 0x32] + lsls r0, 16 + asrs r0, 16 + ands r1, r2 + cmp r0, r1 + blt _080B2770 + ldrh r0, [r4, 0x20] + adds r0, r6 + strh r0, [r4, 0x20] + ldrh r0, [r4, 0x22] + adds r0, r3 + strh r0, [r4, 0x22] + strh r7, [r4, 0x24] + strh r7, [r4, 0x26] + mov r0, sp + adds r1, r5, 0 + movs r2, 0x10 + bl memcpy + adds r0, r5, 0 + movs r1, 0 + movs r2, 0x10 + bl memset + ldrh r0, [r4, 0x22] + lsls r0, 8 + strh r0, [r5, 0x8] + mov r0, sp + ldrh r0, [r0, 0x6] + lsrs r1, r0, 8 + strh r1, [r5, 0x6] + strh r7, [r5, 0x2] + mov r0, sp + ldrh r0, [r0, 0x2] + strh r0, [r5, 0xA] + adds r0, r4, 0 + adds r0, 0x2A + ldrb r0, [r0] + cmp r0, 0 + beq _080B2740 + movs r0, 0x8 + ands r1, r0 + cmp r1, 0 + beq _080B2738 + ldr r0, _080B2734 @ =0x00008001 + b _080B274E + .align 2, 0 +_080B2734: .4byte 0x00008001 +_080B2738: + ldr r0, _080B273C @ =0x00008002 + b _080B274E + .align 2, 0 +_080B273C: .4byte 0x00008002 +_080B2740: + movs r0, 0x8 + ands r1, r0 + cmp r1, 0 + beq _080B274C + movs r0, 0x1 + b _080B274E +_080B274C: + movs r0, 0x2 +_080B274E: + strh r0, [r5, 0x4] + mov r0, sp + ldrh r0, [r0, 0x4] + lsrs r0, 8 + strb r0, [r5, 0xC] + subs r0, 0x2 + strb r0, [r5, 0xD] + mov r0, sp + ldrh r1, [r0, 0xE] + lsls r1, 1 + ldrh r2, [r5, 0xE] + movs r0, 0x1 + ands r0, r2 + orrs r0, r1 + strh r0, [r5, 0xE] + ldr r0, _080B277C @ =sub_80B1F94 + str r0, [r4, 0x1C] +_080B2770: + add sp, 0x10 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080B277C: .4byte sub_80B1F94 + thumb_func_end sub_80B268C + + thumb_func_start sub_80B2780 +sub_80B2780: @ 80B2780 + push {r4,r5,lr} + adds r5, r0, 0 + ldr r0, _080B2798 @ =gBattleAnimArgs + movs r1, 0x4 + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _080B279C + adds r0, r5, 0 + movs r1, 0 + bl sub_8075160 + b _080B27A4 + .align 2, 0 +_080B2798: .4byte gBattleAnimArgs +_080B279C: + adds r0, r5, 0 + movs r1, 0 + bl sub_8075114 +_080B27A4: + ldr r4, _080B280C @ =gBattleAnimArgs + movs r2, 0x4 + ldrsh r0, [r4, r2] + cmp r0, 0 + bne _080B27BC + ldr r0, _080B2810 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080B27D2 +_080B27BC: + movs r1, 0x4 + ldrsh r0, [r4, r1] + cmp r0, 0x1 + bne _080B27D8 + ldr r0, _080B2814 @ =gBattleAnimTarget + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _080B27D8 +_080B27D2: + ldrh r0, [r5, 0x20] + adds r0, 0x8 + strh r0, [r5, 0x20] +_080B27D8: + ldr r4, _080B280C @ =gBattleAnimArgs + ldrb r1, [r4, 0x8] + adds r0, r5, 0 + bl SeekSpriteAnim + ldrh r0, [r5, 0x20] + subs r0, 0x20 + strh r0, [r5, 0x20] + ldr r0, _080B2818 @ =0x00000ccc + strh r0, [r5, 0x30] + ldrh r1, [r4, 0x8] + movs r0, 0xC + adds r2, r0, 0 + muls r2, r1 + adds r0, r2, 0 + ldrh r2, [r5, 0x24] + adds r0, r2 + strh r0, [r5, 0x24] + strh r1, [r5, 0x2E] + ldrh r0, [r4, 0x6] + strh r0, [r5, 0x3C] + ldr r0, _080B281C @ =sub_80B2820 + str r0, [r5, 0x1C] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080B280C: .4byte gBattleAnimArgs +_080B2810: .4byte gBattleAnimAttacker +_080B2814: .4byte gBattleAnimTarget +_080B2818: .4byte 0x00000ccc +_080B281C: .4byte sub_80B2820 + thumb_func_end sub_80B2780 + + thumb_func_start sub_80B2820 +sub_80B2820: @ 80B2820 + push {r4,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x30] + lsls r0, 16 + asrs r0, 24 + ldrh r1, [r4, 0x24] + adds r0, r1 + movs r1, 0 + strh r0, [r4, 0x24] + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x6 + bne _080B284A + strh r1, [r4, 0x2E] + strh r1, [r4, 0x24] + adds r0, r4, 0 + bl StartSpriteAnim +_080B284A: + ldrh r0, [r4, 0x3C] + subs r0, 0x1 + strh r0, [r4, 0x3C] + lsls r0, 16 + asrs r0, 16 + movs r1, 0x1 + negs r1, r1 + cmp r0, r1 + bne _080B2862 + adds r0, r4, 0 + bl DestroyAnimSprite +_080B2862: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80B2820 + + thumb_func_start sub_80B2868 +sub_80B2868: @ 80B2868 + push {r4-r7,lr} + mov r7, r8 + push {r7} + lsls r0, 24 + lsrs r0, 24 + adds r6, r0, 0 + ldr r1, _080B2900 @ =gTasks + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + adds r7, r0, r1 + ldrh r0, [r7, 0x8] + movs r1, 0x1F + ands r0, r1 + cmp r0, 0 + bne _080B28E2 + ldr r1, _080B2904 @ =gUnknown_2037EE2 + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + movs r1, 0x8 + ldrsh r0, [r7, r1] + movs r5, 0xD + negs r5, r5 + adds r1, r5, 0 + bl Sin + ldr r4, _080B2908 @ =gBattleAnimArgs + strh r0, [r4] + movs r1, 0x8 + ldrsh r0, [r7, r1] + adds r1, r5, 0 + bl Cos + strh r0, [r4, 0x2] + movs r0, 0x1 + strh r0, [r4, 0x4] + movs r0, 0x3 + strh r0, [r4, 0x6] + ldr r0, _080B290C @ =gUnknown_83E7C98 + mov r8, r0 + ldr r5, _080B2910 @ =gBattleAnimTarget + ldrb r0, [r5] + movs r1, 0x2 + bl sub_8074480 + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldrb r0, [r5] + movs r1, 0x3 + bl sub_8074480 + adds r2, r0, 0 + lsls r2, 24 + lsrs r2, 24 + mov r0, r8 + adds r1, r4, 0 + movs r3, 0x3 + bl CreateSpriteAndAnimate +_080B28E2: + ldrh r0, [r7, 0x8] + adds r0, 0x8 + strh r0, [r7, 0x8] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xFF + ble _080B28F6 + adds r0, r6, 0 + bl DestroyAnimVisualTask +_080B28F6: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080B2900: .4byte gTasks +_080B2904: .4byte gUnknown_2037EE2 +_080B2908: .4byte gBattleAnimArgs +_080B290C: .4byte gUnknown_83E7C98 +_080B2910: .4byte gBattleAnimTarget + thumb_func_end sub_80B2868 + + thumb_func_start sub_80B2914 +sub_80B2914: @ 80B2914 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0 + beq _080B2926 + cmp r0, 0x1 + beq _080B2958 + b _080B296C +_080B2926: + adds r0, r4, 0 + movs r1, 0x1 + bl sub_8075160 + movs r0, 0 + bl GetAnimBankSpriteId + ldr r2, _080B2954 @ =gSprites + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r2 + adds r1, 0x3E + ldrb r0, [r1] + movs r2, 0x4 + orrs r0, r2 + strb r0, [r1] + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + b _080B296C + .align 2, 0 +_080B2954: .4byte gSprites +_080B2958: + adds r0, r4, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x20 + ands r0, r1 + cmp r0, 0 + beq _080B296C + adds r0, r4, 0 + bl DestroyAnimSprite +_080B296C: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80B2914 + + thumb_func_start sub_80B2974 +sub_80B2974: @ 80B2974 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0x1 + beq _080B29AC + cmp r0, 0x1 + bgt _080B298A + cmp r0, 0 + beq _080B2990 + b _080B29FE +_080B298A: + cmp r0, 0x2 + beq _080B29C0 + b _080B29FE +_080B2990: + ldr r0, _080B29A8 @ =gBattleAnimTarget + ldrb r0, [r0] + movs r1, 0x1 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x22] + negs r0, r0 + subs r0, 0x20 + strh r0, [r4, 0x26] + b _080B29B8 + .align 2, 0 +_080B29A8: .4byte gBattleAnimTarget +_080B29AC: + ldrh r0, [r4, 0x26] + adds r0, 0xA + strh r0, [r4, 0x26] + lsls r0, 16 + cmp r0, 0 + blt _080B29FE +_080B29B8: + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + b _080B29FE +_080B29C0: + ldrh r0, [r4, 0x26] + subs r0, 0xA + strh r0, [r4, 0x26] + movs r2, 0x22 + ldrsh r0, [r4, r2] + movs r2, 0x26 + ldrsh r1, [r4, r2] + adds r0, r1 + movs r1, 0x20 + negs r1, r1 + cmp r0, r1 + bge _080B29FE + movs r0, 0 + bl GetAnimBankSpriteId + ldr r2, _080B2A04 @ =gSprites + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r2 + adds r1, 0x3E + ldrb r2, [r1] + movs r0, 0x5 + negs r0, r0 + ands r0, r2 + strb r0, [r1] + adds r0, r4, 0 + bl DestroyAnimSprite +_080B29FE: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080B2A04: .4byte gSprites + thumb_func_end sub_80B2974 + + thumb_func_start sub_80B2A08 +sub_80B2A08: @ 80B2A08 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x1 + bl sub_8075160 + ldr r1, _080B2A44 @ =gBattleAnimArgs + ldrh r0, [r1, 0x4] + strh r0, [r4, 0x2E] + ldrh r0, [r1, 0x6] + strh r0, [r4, 0x30] + ldr r0, _080B2A48 @ =sub_80B2A50 + str r0, [r4, 0x1C] + movs r0, 0 + bl GetAnimBankSpriteId + ldr r2, _080B2A4C @ =gSprites + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r2 + adds r1, 0x3E + ldrb r0, [r1] + movs r2, 0x4 + orrs r0, r2 + strb r0, [r1] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080B2A44: .4byte gBattleAnimArgs +_080B2A48: .4byte sub_80B2A50 +_080B2A4C: .4byte gSprites + thumb_func_end sub_80B2A08 + + thumb_func_start sub_80B2A50 +sub_80B2A50: @ 80B2A50 + push {lr} + adds r2, r0, 0 + ldrh r1, [r2, 0x2E] + movs r3, 0x2E + ldrsh r0, [r2, r3] + cmp r0, 0 + ble _080B2A64 + subs r0, r1, 0x1 + strh r0, [r2, 0x2E] + b _080B2AA8 +_080B2A64: + movs r1, 0x22 + ldrsh r0, [r2, r1] + movs r3, 0x26 + ldrsh r1, [r2, r3] + adds r0, r1 + movs r1, 0x20 + negs r1, r1 + cmp r0, r1 + ble _080B2A8A + ldrh r0, [r2, 0x30] + ldrh r1, [r2, 0x32] + adds r0, r1 + strh r0, [r2, 0x32] + lsls r0, 16 + asrs r0, 24 + ldrh r1, [r2, 0x26] + subs r1, r0 + strh r1, [r2, 0x26] + b _080B2AA8 +_080B2A8A: + adds r3, r2, 0 + adds r3, 0x3E + ldrb r0, [r3] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r3] + ldrh r0, [r2, 0x34] + adds r1, r0, 0x1 + strh r1, [r2, 0x34] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x14 + ble _080B2AA8 + ldr r0, _080B2AAC @ =sub_80B2AB0 + str r0, [r2, 0x1C] +_080B2AA8: + pop {r0} + bx r0 + .align 2, 0 +_080B2AAC: .4byte sub_80B2AB0 + thumb_func_end sub_80B2A50 + + thumb_func_start sub_80B2AB0 +sub_80B2AB0: @ 80B2AB0 + push {lr} + adds r2, r0, 0 + ldrh r0, [r2, 0x32] + lsls r0, 16 + asrs r0, 24 + ldrh r1, [r2, 0x26] + adds r0, r1 + strh r0, [r2, 0x26] + movs r3, 0x22 + ldrsh r0, [r2, r3] + movs r3, 0x26 + ldrsh r1, [r2, r3] + adds r0, r1 + movs r1, 0x20 + negs r1, r1 + cmp r0, r1 + ble _080B2AE0 + adds r3, r2, 0 + adds r3, 0x3E + ldrb r1, [r3] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + strb r0, [r3] +_080B2AE0: + movs r1, 0x26 + ldrsh r0, [r2, r1] + cmp r0, 0 + ble _080B2AEE + adds r0, r2, 0 + bl DestroyAnimSprite +_080B2AEE: + pop {r0} + bx r0 + thumb_func_end sub_80B2AB0 + + thumb_func_start sub_80B2AF4 +sub_80B2AF4: @ 80B2AF4 + push {r4,r5,lr} + sub sp, 0x4 + adds r5, r0, 0 + movs r1, 0x2E + ldrsh r0, [r5, r1] + cmp r0, 0 + beq _080B2B08 + cmp r0, 0x1 + beq _080B2B60 + b _080B2BCC +_080B2B08: + ldr r0, _080B2B18 @ =gBattleAnimArgs + movs r2, 0 + ldrsh r0, [r0, r2] + cmp r0, 0 + bne _080B2B20 + ldr r4, _080B2B1C @ =gBattleAnimAttacker + b _080B2B22 + .align 2, 0 +_080B2B18: .4byte gBattleAnimArgs +_080B2B1C: .4byte gBattleAnimAttacker +_080B2B20: + ldr r4, _080B2B5C @ =gBattleAnimTarget +_080B2B22: + ldrb r0, [r4] + movs r1, 0 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x20] + ldrb r0, [r4] + movs r1, 0x1 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x22] + movs r0, 0 + movs r3, 0x80 + lsls r3, 2 + strh r3, [r5, 0x30] + movs r2, 0x80 + lsls r2, 1 + str r0, [sp] + adds r0, r5, 0 + movs r1, 0 + bl sub_8075A1C + ldrh r0, [r5, 0x2E] + adds r0, 0x1 + strh r0, [r5, 0x2E] + b _080B2BCC + .align 2, 0 +_080B2B5C: .4byte gBattleAnimTarget +_080B2B60: + movs r1, 0x32 + ldrsh r0, [r5, r1] + cmp r0, 0xB + bgt _080B2B6E + ldrh r0, [r5, 0x30] + subs r0, 0x28 + b _080B2B72 +_080B2B6E: + ldrh r0, [r5, 0x30] + adds r0, 0x28 +_080B2B72: + strh r0, [r5, 0x30] + ldrh r0, [r5, 0x32] + adds r0, 0x1 + movs r1, 0 + strh r0, [r5, 0x32] + movs r2, 0x80 + lsls r2, 1 + movs r0, 0x30 + ldrsh r3, [r5, r0] + str r1, [sp] + adds r0, r5, 0 + bl sub_8075A1C + ldrb r1, [r5, 0x3] + lsls r1, 26 + lsrs r1, 27 + movs r0, 0xF4 + lsls r0, 6 + ldr r2, _080B2BD4 @ =gOamMatrices + lsls r1, 3 + adds r1, r2 + movs r2, 0x6 + ldrsh r1, [r1, r2] + bl __divsi3 + adds r1, r0, 0x1 + cmp r1, 0x80 + ble _080B2BAC + movs r1, 0x80 +_080B2BAC: + movs r0, 0x40 + subs r0, r1 + lsrs r1, r0, 31 + adds r0, r1 + asrs r1, r0, 1 + strh r1, [r5, 0x26] + movs r1, 0x32 + ldrsh r0, [r5, r1] + cmp r0, 0x18 + bne _080B2BCC + adds r0, r5, 0 + bl sub_8075AD8 + adds r0, r5, 0 + bl DestroyAnimSprite +_080B2BCC: + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080B2BD4: .4byte gOamMatrices + thumb_func_end sub_80B2AF4 + + thumb_func_start sub_80B2BD8 +sub_80B2BD8: @ 80B2BD8 + push {r4,r5,lr} + adds r5, r0, 0 + bl Random + ldr r4, _080B2BFC @ =0x000001ff + ands r4, r0 + bl Random + movs r1, 0x7F + ands r1, r0 + movs r0, 0x1 + ands r0, r4 + cmp r0, 0 + beq _080B2C00 + movs r2, 0xB8 + lsls r2, 2 + adds r0, r4, r2 + b _080B2C08 + .align 2, 0 +_080B2BFC: .4byte 0x000001ff +_080B2C00: + movs r2, 0xB8 + lsls r2, 2 + adds r0, r2, 0 + subs r0, r4 +_080B2C08: + strh r0, [r5, 0x2E] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080B2C1C + movs r2, 0xE0 + lsls r2, 2 + adds r0, r2, 0 + adds r0, r1, r0 + b _080B2C24 +_080B2C1C: + movs r2, 0xE0 + lsls r2, 2 + adds r0, r2, 0 + subs r0, r1 +_080B2C24: + strh r0, [r5, 0x30] + ldr r2, _080B2C4C @ =gBattleAnimArgs + ldrh r0, [r2] + strh r0, [r5, 0x32] + lsls r0, 16 + cmp r0, 0 + beq _080B2C40 + ldrb r0, [r5, 0x3] + movs r1, 0x3F + negs r1, r1 + ands r1, r0 + movs r0, 0x10 + orrs r1, r0 + strb r1, [r5, 0x3] +_080B2C40: + movs r1, 0x2 + ldrsh r0, [r2, r1] + cmp r0, 0 + bne _080B2C54 + ldr r4, _080B2C50 @ =gBattleAnimAttacker + b _080B2C56 + .align 2, 0 +_080B2C4C: .4byte gBattleAnimArgs +_080B2C50: .4byte gBattleAnimAttacker +_080B2C54: + ldr r4, _080B2C80 @ =gBattleAnimTarget +_080B2C56: + ldrb r0, [r4] + movs r1, 0 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x20] + ldrb r0, [r4] + movs r1, 0x1 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + adds r0, 0x20 + strh r0, [r5, 0x22] + ldr r0, _080B2C84 @ =sub_80B2C88 + str r0, [r5, 0x1C] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080B2C80: .4byte gBattleAnimTarget +_080B2C84: .4byte sub_80B2C88 + thumb_func_end sub_80B2BD8 + + thumb_func_start sub_80B2C88 +sub_80B2C88: @ 80B2C88 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x32 + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080B2CA0 + ldrh r3, [r4, 0x2E] + lsls r0, r3, 16 + asrs r0, 24 + ldrh r1, [r4, 0x24] + adds r0, r1 + b _080B2CAA +_080B2CA0: + ldrh r3, [r4, 0x2E] + lsls r1, r3, 16 + asrs r1, 24 + ldrh r0, [r4, 0x24] + subs r0, r1 +_080B2CAA: + strh r0, [r4, 0x24] + ldrh r2, [r4, 0x30] + lsls r1, r2, 16 + asrs r1, 24 + ldrh r0, [r4, 0x26] + subs r0, r1 + strh r0, [r4, 0x26] + strh r3, [r4, 0x2E] + adds r0, r2, 0 + subs r0, 0x20 + strh r0, [r4, 0x30] + lsls r0, r3, 16 + cmp r0, 0 + bge _080B2CCA + movs r0, 0 + strh r0, [r4, 0x2E] +_080B2CCA: + ldrh r0, [r4, 0x34] + adds r0, 0x1 + strh r0, [r4, 0x34] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1F + bne _080B2CDE + adds r0, r4, 0 + bl DestroyAnimSprite +_080B2CDE: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80B2C88 + + thumb_func_start sub_80B2CE4 +sub_80B2CE4: @ 80B2CE4 + movs r1, 0 + strh r1, [r0, 0x3A] + movs r1, 0x40 + strh r1, [r0, 0x3C] + ldr r1, _080B2CF4 @ =sub_80B2CF8 + str r1, [r0, 0x1C] + bx lr + .align 2, 0 +_080B2CF4: .4byte sub_80B2CF8 + thumb_func_end sub_80B2CE4 + + thumb_func_start sub_80B2CF8 +sub_80B2CF8: @ 80B2CF8 + push {lr} + adds r3, r0, 0 + movs r0, 0x2E + ldrsh r1, [r3, r0] + cmp r1, 0 + beq _080B2D0A + cmp r1, 0x1 + beq _080B2D58 + b _080B2D5E +_080B2D0A: + ldrh r0, [r3, 0x30] + adds r0, 0x1 + strh r0, [r3, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x8 + ble _080B2D5E + strh r1, [r3, 0x30] + movs r1, 0x3E + adds r1, r3 + mov r12, r1 + ldrb r2, [r1] + lsls r0, r2, 29 + lsrs r0, 31 + movs r1, 0x1 + eors r1, r0 + lsls r1, 2 + movs r0, 0x5 + negs r0, r0 + ands r0, r2 + orrs r0, r1 + mov r1, r12 + strb r0, [r1] + ldrh r0, [r3, 0x32] + adds r0, 0x1 + strh r0, [r3, 0x32] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x5 + ble _080B2D5E + ldrb r1, [r1] + movs r0, 0x4 + ands r0, r1 + cmp r0, 0 + beq _080B2D5E + ldrh r0, [r3, 0x2E] + adds r0, 0x1 + strh r0, [r3, 0x2E] + b _080B2D5E +_080B2D58: + adds r0, r3, 0 + bl DestroyAnimSprite +_080B2D5E: + pop {r0} + bx r0 + thumb_func_end sub_80B2CF8 + + thumb_func_start sub_80B2D64 +sub_80B2D64: @ 80B2D64 + push {r4-r6,lr} + mov r6, r9 + mov r5, r8 + push {r5,r6} + sub sp, 0x4 + mov r8, r0 + ldrh r4, [r0, 0x20] + ldrh r5, [r0, 0x22] + ldr r6, _080B2E18 @ =gBattleAnimAttacker + ldrb r0, [r6] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + mov r1, r8 + strh r0, [r1, 0x20] + ldrb r0, [r6] + movs r1, 0x3 + bl sub_8074480 + adds r6, r0, 0 + lsls r6, 24 + lsrs r6, 24 + mov r2, r8 + strh r6, [r2, 0x22] + ldrh r0, [r2, 0x20] + mov r9, r0 + mov r1, r9 + lsls r0, r1, 4 + strh r0, [r2, 0x36] + lsls r0, r6, 4 + strh r0, [r2, 0x38] + lsls r4, 16 + asrs r4, 16 + movs r1, 0x20 + ldrsh r0, [r2, r1] + subs r0, r4, r0 + lsls r0, 4 + movs r1, 0xC + bl __divsi3 + mov r2, r8 + strh r0, [r2, 0x3A] + lsls r5, 16 + asrs r5, 16 + movs r1, 0x22 + ldrsh r0, [r2, r1] + subs r0, r5, r0 + lsls r0, 4 + movs r1, 0xC + bl __divsi3 + mov r2, r8 + strh r0, [r2, 0x3C] + mov r0, r9 + subs r4, r0 + lsls r4, 16 + asrs r4, 16 + subs r5, r6 + lsls r5, 16 + asrs r5, 16 + adds r0, r4, 0 + adds r1, r5, 0 + bl sub_8075B30 + lsls r0, 16 + movs r1, 0xC0 + lsls r1, 24 + adds r0, r1 + lsrs r0, 16 + movs r3, 0x80 + lsls r3, 1 + str r0, [sp] + mov r0, r8 + movs r1, 0x1 + adds r2, r3, 0 + bl sub_8075A1C + ldr r0, _080B2E1C @ =sub_80B2E20 + mov r2, r8 + str r0, [r2, 0x1C] + add sp, 0x4 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080B2E18: .4byte gBattleAnimAttacker +_080B2E1C: .4byte sub_80B2E20 + thumb_func_end sub_80B2D64 + + thumb_func_start sub_80B2E20 +sub_80B2E20: @ 80B2E20 + push {lr} + adds r2, r0, 0 + ldrh r0, [r2, 0x3A] + ldrh r1, [r2, 0x36] + adds r0, r1 + strh r0, [r2, 0x36] + ldrh r1, [r2, 0x3C] + ldrh r3, [r2, 0x38] + adds r1, r3 + strh r1, [r2, 0x38] + lsls r0, 16 + asrs r0, 20 + strh r0, [r2, 0x20] + lsls r1, 16 + asrs r3, r1, 20 + strh r3, [r2, 0x22] + adds r0, 0x2D + lsls r0, 16 + movs r1, 0xA5 + lsls r1, 17 + cmp r0, r1 + bhi _080B2E5A + adds r1, r3, 0 + cmp r1, 0x9D + bgt _080B2E5A + movs r0, 0x2D + negs r0, r0 + cmp r1, r0 + bge _080B2E60 +_080B2E5A: + adds r0, r2, 0 + bl move_anim_8074EE0 +_080B2E60: + pop {r0} + bx r0 + thumb_func_end sub_80B2E20 + + thumb_func_start sub_80B2E64 +sub_80B2E64: @ 80B2E64 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _080B2E94 @ =gBattleAnimArgs + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _080B2E9C + movs r0, 0 + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r0, 24 + ldr r2, _080B2E98 @ =gSprites + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r2 + adds r1, 0x3E + ldrb r0, [r1] + movs r2, 0x4 + orrs r0, r2 + b _080B2EBA + .align 2, 0 +_080B2E94: .4byte gBattleAnimArgs +_080B2E98: .4byte gSprites +_080B2E9C: + movs r0, 0 + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r0, 24 + ldr r2, _080B2EC8 @ =gSprites + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r2 + adds r1, 0x3E + ldrb r2, [r1] + movs r0, 0x5 + negs r0, r0 + ands r0, r2 +_080B2EBA: + strb r0, [r1] + adds r0, r4, 0 + bl DestroyAnimVisualTask + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080B2EC8: .4byte gSprites + thumb_func_end sub_80B2E64 + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/ice.s b/asm/ice.s new file mode 100644 index 000000000..f7c71fdbf --- /dev/null +++ b/asm/ice.s @@ -0,0 +1,3099 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start sub_80AF058 +sub_80AF058: @ 80AF058 + push {r4,r5,lr} + adds r4, r0, 0 + lsls r1, 24 + lsrs r5, r1, 24 + ldr r0, _080AF0B4 @ =gUnknown_83E5F38 + movs r2, 0x22 + ldrsh r1, [r4, r2] + movs r3, 0x24 + ldrsh r2, [r4, r3] + ldrh r3, [r4, 0x20] + lsls r3, 24 + lsrs r3, 24 + bl CreateSprite + lsls r0, 24 + lsrs r1, r0, 24 + cmp r1, 0x40 + beq _080AF09C + ldr r3, _080AF0B8 @ =gSprites + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r1, r3, 0 + adds r1, 0x1C + adds r1, r0, r1 + ldr r2, _080AF0BC @ =sub_80AF0C8 + str r2, [r1] + adds r0, r3 + strh r5, [r0, 0x3A] + movs r1, 0xA + strh r1, [r0, 0x3C] + ldrh r0, [r4, 0x1C] + adds r0, 0x1 + strh r0, [r4, 0x1C] +_080AF09C: + ldrh r2, [r4, 0x24] + movs r0, 0x24 + ldrsh r1, [r4, r0] + movs r3, 0x26 + ldrsh r0, [r4, r3] + cmp r1, r0 + bge _080AF0C0 + adds r0, r2, 0 + adds r0, 0x20 + strh r0, [r4, 0x24] + movs r0, 0 + b _080AF0C2 + .align 2, 0 +_080AF0B4: .4byte gUnknown_83E5F38 +_080AF0B8: .4byte gSprites +_080AF0BC: .4byte sub_80AF0C8 +_080AF0C0: + movs r0, 0x1 +_080AF0C2: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_80AF058 + + thumb_func_start sub_80AF0C8 +sub_80AF0C8: @ 80AF0C8 + push {r4,lr} + adds r4, r0, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x10 + ands r0, r1 + cmp r0, 0 + beq _080AF0FC + ldr r3, _080AF104 @ =gTasks + movs r0, 0x3C + ldrsh r1, [r4, r0] + lsls r1, 1 + movs r0, 0x3A + ldrsh r2, [r4, r0] + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + adds r1, r0 + adds r3, 0x8 + adds r1, r3 + ldrh r0, [r1] + subs r0, 0x1 + strh r0, [r1] + adds r0, r4, 0 + bl DestroySprite +_080AF0FC: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080AF104: .4byte gTasks + thumb_func_end sub_80AF0C8 + + thumb_func_start sub_80AF108 +sub_80AF108: @ 80AF108 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x4 + adds r5, r0, 0 + ldrh r2, [r5, 0x4] + lsls r1, r2, 22 + lsrs r1, 22 + adds r1, 0x7 + ldr r3, _080AF210 @ =0x000003ff + adds r0, r3, 0 + ands r1, r0 + ldr r0, _080AF214 @ =0xfffffc00 + ands r0, r2 + orrs r0, r1 + strh r0, [r5, 0x4] + ldr r4, _080AF218 @ =gBattleAnimTarget + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + mov r9, r0 + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + ldr r4, _080AF21C @ =gBattleAnimAttacker + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r3, r0, 24 + ldrb r0, [r4] + movs r1, 0x3 + str r3, [sp] + bl sub_8074480 + lsls r0, 24 + lsrs r6, r0, 24 + ldr r1, _080AF220 @ =gBattleAnimArgs + ldrh r0, [r1, 0x8] + strh r0, [r5, 0x2E] + ldrh r0, [r1] + ldr r3, [sp] + adds r0, r3 + strh r0, [r5, 0x30] + ldrh r0, [r1, 0x4] + mov r4, r9 + adds r0, r4, r0 + strh r0, [r5, 0x32] + ldrh r0, [r1, 0x2] + adds r0, r6 + strh r0, [r5, 0x34] + ldrh r0, [r1, 0x6] + mov r7, r8 + adds r0, r7, r0 + strh r0, [r5, 0x36] + adds r0, r5, 0 + bl sub_8074C80 + adds r4, 0x20 + movs r0, 0x98 + lsls r0, 1 + mov r12, r0 + ldr r3, [sp] + cmp r4, r12 + bhi _080AF1E2 + adds r0, r7, 0 + adds r0, 0x20 + ldrh r1, [r5, 0x30] + ldrh r2, [r5, 0x32] + cmp r0, 0xE0 + bhi _080AF1E2 + adds r4, r1, 0 + mov r10, r12 +_080AF1AE: + mov r7, r9 + lsls r1, r7, 16 + asrs r1, 16 + adds r1, r4 + lsls r1, 16 + mov r7, r8 + lsls r0, r7, 16 + asrs r0, 16 + adds r0, r2 + lsls r0, 16 + lsrs r0, 16 + mov r8, r0 + lsrs r0, r1, 16 + mov r9, r0 + movs r7, 0x80 + lsls r7, 14 + adds r1, r7 + lsrs r1, 16 + cmp r1, r10 + bhi _080AF1E2 + mov r1, r8 + lsls r0, r1, 16 + adds r0, r7 + lsrs r0, 16 + cmp r0, 0xE0 + bls _080AF1AE +_080AF1E2: + ldrh r0, [r5, 0x30] + negs r7, r0 + strh r7, [r5, 0x30] + ldrh r0, [r5, 0x32] + negs r4, r0 + strh r4, [r5, 0x32] + lsls r0, r3, 16 + movs r1, 0x80 + lsls r1, 14 + adds r0, r1 + lsrs r0, 16 + movs r2, 0x98 + lsls r2, 1 + mov r12, r2 + ldr r1, _080AF220 @ =gBattleAnimArgs + mov r10, r1 + cmp r0, r12 + bhi _080AF24E + lsls r1, r6, 16 + movs r2, 0x80 + lsls r2, 14 + adds r0, r1, r2 + b _080AF246 + .align 2, 0 +_080AF210: .4byte 0x000003ff +_080AF214: .4byte 0xfffffc00 +_080AF218: .4byte gBattleAnimTarget +_080AF21C: .4byte gBattleAnimAttacker +_080AF220: .4byte gBattleAnimArgs +_080AF224: + lsls r1, r3, 16 + asrs r1, 16 + adds r1, r7 + lsls r1, 16 + asrs r0, r2, 16 + adds r0, r4 + lsls r0, 16 + lsrs r6, r0, 16 + lsrs r3, r1, 16 + movs r0, 0x80 + lsls r0, 14 + adds r1, r0 + lsrs r1, 16 + cmp r1, r12 + bhi _080AF24E + lsls r1, r6, 16 + adds r0, r1, r0 +_080AF246: + lsrs r0, 16 + adds r2, r1, 0 + cmp r0, 0xE0 + bls _080AF224 +_080AF24E: + strh r3, [r5, 0x20] + strh r6, [r5, 0x22] + mov r1, r10 + ldrh r0, [r1, 0x8] + strh r0, [r5, 0x2E] + strh r3, [r5, 0x30] + mov r2, r9 + strh r2, [r5, 0x32] + strh r6, [r5, 0x34] + mov r3, r8 + strh r3, [r5, 0x36] + adds r0, r5, 0 + bl sub_8074C80 + mov r7, r10 + ldrh r0, [r7, 0xA] + strh r0, [r5, 0x34] + ldrh r0, [r7, 0xC] + strh r0, [r5, 0x36] + ldr r0, _080AF288 @ =sub_80AF28C + str r0, [r5, 0x1C] + add sp, 0x4 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080AF288: .4byte sub_80AF28C + thumb_func_end sub_80AF108 + + thumb_func_start sub_80AF28C +sub_80AF28C: @ 80AF28C + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0 + beq _080AF2E4 + ldrh r1, [r4, 0x30] + ldrh r2, [r4, 0x38] + adds r1, r2 + strh r1, [r4, 0x38] + ldrh r0, [r4, 0x32] + ldrh r2, [r4, 0x3A] + adds r0, r2 + strh r0, [r4, 0x3A] + strh r1, [r4, 0x24] + strh r0, [r4, 0x26] + movs r1, 0x3C + ldrsh r0, [r4, r1] + movs r2, 0x34 + ldrsh r1, [r4, r2] + bl Sin + ldrh r1, [r4, 0x24] + adds r0, r1 + strh r0, [r4, 0x24] + movs r2, 0x3C + ldrsh r0, [r4, r2] + movs r2, 0x34 + ldrsh r1, [r4, r2] + bl Sin + ldrh r1, [r4, 0x26] + adds r0, r1 + strh r0, [r4, 0x26] + ldrh r0, [r4, 0x36] + ldrh r2, [r4, 0x3C] + adds r0, r2 + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0x3C] + ldrh r0, [r4, 0x2E] + subs r0, 0x1 + strh r0, [r4, 0x2E] + b _080AF2EA +_080AF2E4: + adds r0, r4, 0 + bl DestroyAnimSprite +_080AF2EA: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80AF28C + + thumb_func_start sub_80AF2F0 +sub_80AF2F0: @ 80AF2F0 + push {r4,lr} + adds r4, r0, 0 + ldr r0, _080AF324 @ =gBattleAnimArgs + ldrh r0, [r0] + strh r0, [r4, 0x2E] + movs r0, 0x3C + strh r0, [r4, 0x30] + movs r0, 0x9 + strh r0, [r4, 0x32] + movs r0, 0x1E + strh r0, [r4, 0x34] + movs r0, 0xFE + lsls r0, 8 + strh r0, [r4, 0x36] + ldr r1, _080AF328 @ =DestroyAnimSprite + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 + ldr r1, _080AF32C @ =sub_8074AE0 + str r1, [r4, 0x1C] + adds r0, r4, 0 + bl _call_via_r1 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080AF324: .4byte gBattleAnimArgs +_080AF328: .4byte DestroyAnimSprite +_080AF32C: .4byte sub_8074AE0 + thumb_func_end sub_80AF2F0 + + thumb_func_start sub_80AF330 +sub_80AF330: @ 80AF330 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x1 + bl sub_8075160 + ldr r0, _080AF364 @ =gBattleAnimTarget + ldrb r0, [r0] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x32] + ldr r0, _080AF368 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080AF370 + ldr r0, _080AF36C @ =gBattleAnimArgs + ldrh r1, [r4, 0x32] + ldrh r0, [r0, 0x4] + subs r1, r0 + strh r1, [r4, 0x32] + b _080AF37A + .align 2, 0 +_080AF364: .4byte gBattleAnimTarget +_080AF368: .4byte gBattleAnimAttacker +_080AF36C: .4byte gBattleAnimArgs +_080AF370: + ldr r0, _080AF3A8 @ =gBattleAnimArgs + ldrh r0, [r0, 0x4] + ldrh r1, [r4, 0x32] + adds r0, r1 + strh r0, [r4, 0x32] +_080AF37A: + ldr r0, _080AF3AC @ =gBattleAnimTarget + ldrb r0, [r0] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + ldr r1, _080AF3A8 @ =gBattleAnimArgs + lsrs r0, 24 + ldrh r2, [r1, 0x6] + adds r0, r2 + strh r0, [r4, 0x36] + ldrh r0, [r1, 0x8] + strh r0, [r4, 0x2E] + ldr r1, _080AF3B0 @ =DestroyAnimSprite + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 + ldr r0, _080AF3B4 @ =sub_8075590 + str r0, [r4, 0x1C] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080AF3A8: .4byte gBattleAnimArgs +_080AF3AC: .4byte gBattleAnimTarget +_080AF3B0: .4byte DestroyAnimSprite +_080AF3B4: .4byte sub_8075590 + thumb_func_end sub_80AF330 + + thumb_func_start sub_80AF3B8 +sub_80AF3B8: @ 80AF3B8 + push {r4,r5,lr} + adds r4, r0, 0 + ldr r5, _080AF3D0 @ =gBattleAnimArgs + movs r1, 0x4 + ldrsh r0, [r5, r1] + cmp r0, 0 + bne _080AF3D4 + adds r0, r4, 0 + movs r1, 0x1 + bl sub_8075114 + b _080AF40A + .align 2, 0 +_080AF3D0: .4byte gBattleAnimArgs +_080AF3D4: + ldr r0, _080AF41C @ =gBattleAnimTarget + ldrb r0, [r0] + adds r2, r4, 0 + adds r2, 0x20 + adds r3, r4, 0 + adds r3, 0x22 + movs r1, 0x1 + bl sub_8076D9C + ldr r0, _080AF420 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080AF3FA + ldrh r0, [r5] + negs r0, r0 + strh r0, [r5] +_080AF3FA: + ldrh r0, [r5] + ldrh r1, [r4, 0x20] + adds r0, r1 + strh r0, [r4, 0x20] + ldrh r0, [r5, 0x2] + ldrh r1, [r4, 0x22] + adds r0, r1 + strh r0, [r4, 0x22] +_080AF40A: + ldr r1, _080AF424 @ =sub_80AF42C + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 + ldr r0, _080AF428 @ =sub_8074F50 + str r0, [r4, 0x1C] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080AF41C: .4byte gBattleAnimTarget +_080AF420: .4byte gBattleAnimAttacker +_080AF424: .4byte sub_80AF42C +_080AF428: .4byte sub_8074F50 + thumb_func_end sub_80AF3B8 + + thumb_func_start sub_80AF42C +sub_80AF42C: @ 80AF42C + push {lr} + adds r3, r0, 0 + movs r0, 0x3E + adds r0, r3 + mov r12, r0 + ldrb r2, [r0] + lsls r0, r2, 29 + lsrs r0, 31 + movs r1, 0x1 + eors r1, r0 + lsls r1, 2 + movs r0, 0x5 + negs r0, r0 + ands r0, r2 + orrs r0, r1 + mov r1, r12 + strb r0, [r1] + ldrh r0, [r3, 0x2E] + adds r0, 0x1 + strh r0, [r3, 0x2E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x14 + bne _080AF462 + adds r0, r3, 0 + bl move_anim_8074EE0 +_080AF462: + pop {r0} + bx r0 + thumb_func_end sub_80AF42C + + thumb_func_start sub_80AF468 +sub_80AF468: @ 80AF468 + push {r4-r7,lr} + sub sp, 0x10 + adds r5, r0, 0 + movs r1, 0x1 + bl sub_8075160 + ldr r6, _080AF4B0 @ =gBattleAnimArgs + ldrh r0, [r6, 0x8] + strh r0, [r5, 0x2E] + ldrh r0, [r5, 0x20] + strh r0, [r5, 0x30] + ldrh r0, [r5, 0x22] + strh r0, [r5, 0x34] + movs r1, 0xA + ldrsh r0, [r6, r1] + cmp r0, 0 + bne _080AF4B8 + ldr r4, _080AF4B4 @ =gBattleAnimTarget + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x32] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r6, [r6, 0x6] + adds r0, r6 + strh r0, [r5, 0x36] + b _080AF4CA + .align 2, 0 +_080AF4B0: .4byte gBattleAnimArgs +_080AF4B4: .4byte gBattleAnimTarget +_080AF4B8: + ldr r0, _080AF4E4 @ =gBattleAnimTarget + ldrb r0, [r0] + adds r2, r5, 0 + adds r2, 0x32 + adds r3, r5, 0 + adds r3, 0x36 + movs r1, 0x1 + bl sub_8076D9C +_080AF4CA: + ldr r0, _080AF4E8 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080AF4F0 + ldr r0, _080AF4EC @ =gBattleAnimArgs + ldrh r1, [r5, 0x32] + ldrh r0, [r0, 0x4] + subs r1, r0 + strh r1, [r5, 0x32] + b _080AF4FA + .align 2, 0 +_080AF4E4: .4byte gBattleAnimTarget +_080AF4E8: .4byte gBattleAnimAttacker +_080AF4EC: .4byte gBattleAnimArgs +_080AF4F0: + ldr r0, _080AF598 @ =gBattleAnimArgs + ldrh r0, [r0, 0x4] + ldrh r2, [r5, 0x32] + adds r0, r2 + strh r0, [r5, 0x32] +_080AF4FA: + adds r7, r5, 0 + adds r7, 0x2E + adds r2, r7, 0 + mov r1, sp + movs r4, 0x7 +_080AF504: + ldrh r0, [r2] + strh r0, [r1] + adds r2, 0x2 + adds r1, 0x2 + subs r4, 0x1 + cmp r4, 0 + bge _080AF504 + adds r0, r5, 0 + bl sub_8075804 + ldrh r0, [r5, 0x30] + movs r1, 0x1 + eors r0, r1 + strh r0, [r5, 0x30] + ldrh r0, [r5, 0x32] + eors r0, r1 + strh r0, [r5, 0x32] +_080AF526: + movs r0, 0x1 + strh r0, [r5, 0x2E] + adds r0, r5, 0 + bl sub_807578C + movs r0, 0x20 + ldrsh r1, [r5, r0] + movs r2, 0x24 + ldrsh r0, [r5, r2] + adds r1, r0 + adds r1, 0x10 + movs r0, 0x88 + lsls r0, 1 + cmp r1, r0 + bhi _080AF55A + movs r0, 0x22 + ldrsh r1, [r5, r0] + movs r2, 0x26 + ldrsh r0, [r5, r2] + adds r1, r0 + cmp r1, 0xA0 + bgt _080AF55A + movs r0, 0x10 + negs r0, r0 + cmp r1, r0 + bge _080AF526 +_080AF55A: + ldrh r0, [r5, 0x24] + ldrh r1, [r5, 0x20] + adds r0, r1 + movs r1, 0 + strh r0, [r5, 0x20] + ldrh r0, [r5, 0x26] + ldrh r2, [r5, 0x22] + adds r0, r2 + strh r0, [r5, 0x22] + strh r1, [r5, 0x26] + strh r1, [r5, 0x24] + ldr r6, _080AF59C @ =sub_8075830 + ldr r1, _080AF5A0 @ =sub_80AF5A4 + mov r3, sp + adds r2, r7, 0 + movs r4, 0x7 +_080AF57A: + ldrh r0, [r3] + strh r0, [r2] + adds r3, 0x2 + adds r2, 0x2 + subs r4, 0x1 + cmp r4, 0 + bge _080AF57A + str r6, [r5, 0x1C] + adds r0, r5, 0 + bl StoreSpriteCallbackInData6 + add sp, 0x10 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080AF598: .4byte gBattleAnimArgs +_080AF59C: .4byte sub_8075830 +_080AF5A0: .4byte sub_80AF5A4 + thumb_func_end sub_80AF468 + + thumb_func_start sub_80AF5A4 +sub_80AF5A4: @ 80AF5A4 + push {r4,r5,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x24] + ldrh r1, [r4, 0x20] + adds r0, r1 + movs r5, 0 + strh r0, [r4, 0x20] + ldrh r0, [r4, 0x26] + ldrh r2, [r4, 0x22] + adds r0, r2 + strh r0, [r4, 0x22] + strh r5, [r4, 0x26] + strh r5, [r4, 0x24] + movs r0, 0x80 + strh r0, [r4, 0x2E] + ldr r0, _080AF600 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + ldr r1, _080AF604 @ =0x0000ffec + cmp r0, 0 + beq _080AF5D4 + movs r1, 0x14 +_080AF5D4: + movs r2, 0x2E + ldrsh r0, [r4, r2] + lsls r1, 16 + asrs r1, 16 + bl Sin + strh r0, [r4, 0x34] + movs r1, 0x2E + ldrsh r0, [r4, r1] + movs r1, 0xF + bl Cos + strh r0, [r4, 0x36] + strh r5, [r4, 0x38] + ldr r1, _080AF608 @ =sub_80AF60C + str r1, [r4, 0x1C] + adds r0, r4, 0 + bl _call_via_r1 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080AF600: .4byte gBattleAnimAttacker +_080AF604: .4byte 0x0000ffec +_080AF608: .4byte sub_80AF60C + thumb_func_end sub_80AF5A4 + + thumb_func_start sub_80AF60C +sub_80AF60C: @ 80AF60C + push {r4,lr} + adds r4, r0, 0 + ldr r0, _080AF660 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + ldr r1, _080AF664 @ =0x0000ffec + cmp r0, 0 + beq _080AF622 + movs r1, 0x14 +_080AF622: + movs r2, 0x38 + ldrsh r0, [r4, r2] + cmp r0, 0x1F + bgt _080AF668 + movs r2, 0x2E + ldrsh r0, [r4, r2] + lsls r1, 16 + asrs r1, 16 + bl Sin + ldrh r1, [r4, 0x34] + subs r0, r1 + strh r0, [r4, 0x24] + movs r1, 0x2E + ldrsh r0, [r4, r1] + movs r1, 0xF + bl Cos + ldrh r1, [r4, 0x36] + subs r0, r1 + strh r0, [r4, 0x26] + ldrh r0, [r4, 0x2E] + adds r0, 0x10 + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0x2E] + ldrh r0, [r4, 0x38] + adds r0, 0x1 + strh r0, [r4, 0x38] + b _080AF686 + .align 2, 0 +_080AF660: .4byte gBattleAnimAttacker +_080AF664: .4byte 0x0000ffec +_080AF668: + ldrh r0, [r4, 0x24] + ldrh r2, [r4, 0x20] + adds r0, r2 + movs r1, 0 + strh r0, [r4, 0x20] + ldrh r0, [r4, 0x26] + ldrh r2, [r4, 0x22] + adds r0, r2 + strh r0, [r4, 0x22] + strh r1, [r4, 0x26] + strh r1, [r4, 0x24] + strh r1, [r4, 0x36] + strh r1, [r4, 0x34] + ldr r0, _080AF68C @ =sub_80AF690 + str r0, [r4, 0x1C] +_080AF686: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080AF68C: .4byte sub_80AF690 + thumb_func_end sub_80AF60C + + thumb_func_start sub_80AF690 +sub_80AF690: @ 80AF690 + push {r4,lr} + adds r4, r0, 0 + movs r0, 0x1 + strh r0, [r4, 0x2E] + adds r0, r4, 0 + bl sub_807578C + movs r1, 0x20 + ldrsh r0, [r4, r1] + movs r2, 0x24 + ldrsh r1, [r4, r2] + adds r0, r1 + adds r0, 0x10 + movs r1, 0x88 + lsls r1, 1 + cmp r0, r1 + bhi _080AF6CC + movs r1, 0x22 + ldrsh r0, [r4, r1] + movs r2, 0x26 + ldrsh r1, [r4, r2] + adds r1, r0, r1 + movs r0, 0x80 + lsls r0, 1 + cmp r1, r0 + bgt _080AF6CC + movs r0, 0x10 + negs r0, r0 + cmp r1, r0 + bge _080AF6D2 +_080AF6CC: + adds r0, r4, 0 + bl DestroyAnimSprite +_080AF6D2: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80AF690 + + thumb_func_start sub_80AF6D8 +sub_80AF6D8: @ 80AF6D8 + push {r4-r7,lr} + sub sp, 0x10 + adds r5, r0, 0 + movs r1, 0x1 + bl sub_8075160 + ldr r1, _080AF71C @ =gBattleAnimArgs + ldrh r0, [r1, 0x8] + strh r0, [r5, 0x2E] + ldrh r0, [r5, 0x20] + strh r0, [r5, 0x30] + ldrh r0, [r5, 0x22] + strh r0, [r5, 0x34] + movs r2, 0xE + ldrsh r0, [r1, r2] + cmp r0, 0 + bne _080AF724 + ldr r4, _080AF720 @ =gBattleAnimTarget + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x32] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x36] + b _080AF736 + .align 2, 0 +_080AF71C: .4byte gBattleAnimArgs +_080AF720: .4byte gBattleAnimTarget +_080AF724: + ldr r0, _080AF754 @ =gBattleAnimTarget + ldrb r0, [r0] + adds r2, r5, 0 + adds r2, 0x32 + adds r3, r5, 0 + adds r3, 0x36 + movs r1, 0x1 + bl sub_8076D9C +_080AF736: + ldr r0, _080AF758 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080AF760 + ldr r0, _080AF75C @ =gBattleAnimArgs + ldrh r1, [r5, 0x32] + ldrh r2, [r0, 0x4] + subs r1, r2 + strh r1, [r5, 0x32] + adds r1, r0, 0 + b _080AF76A + .align 2, 0 +_080AF754: .4byte gBattleAnimTarget +_080AF758: .4byte gBattleAnimAttacker +_080AF75C: .4byte gBattleAnimArgs +_080AF760: + ldr r1, _080AF814 @ =gBattleAnimArgs + ldrh r0, [r1, 0x4] + ldrh r2, [r5, 0x32] + adds r0, r2 + strh r0, [r5, 0x32] +_080AF76A: + ldrh r0, [r1, 0x6] + ldrh r1, [r5, 0x36] + adds r0, r1 + strh r0, [r5, 0x36] + adds r0, r5, 0 + bl sub_8075804 + adds r7, r5, 0 + adds r7, 0x2E + adds r2, r7, 0 + mov r1, sp + movs r4, 0x7 +_080AF782: + ldrh r0, [r2] + strh r0, [r1] + adds r2, 0x2 + adds r1, 0x2 + subs r4, 0x1 + cmp r4, 0 + bge _080AF782 + ldrh r0, [r5, 0x30] + movs r1, 0x1 + eors r0, r1 + strh r0, [r5, 0x30] + ldrh r0, [r5, 0x32] + eors r0, r1 + strh r0, [r5, 0x32] +_080AF79E: + movs r0, 0x1 + strh r0, [r5, 0x2E] + adds r0, r5, 0 + bl sub_807578C + movs r2, 0x20 + ldrsh r1, [r5, r2] + movs r2, 0x24 + ldrsh r0, [r5, r2] + adds r1, r0 + adds r1, 0x10 + movs r0, 0x88 + lsls r0, 1 + cmp r1, r0 + bhi _080AF7D2 + movs r0, 0x22 + ldrsh r1, [r5, r0] + movs r2, 0x26 + ldrsh r0, [r5, r2] + adds r1, r0 + cmp r1, 0xA0 + bgt _080AF7D2 + movs r0, 0x10 + negs r0, r0 + cmp r1, r0 + bge _080AF79E +_080AF7D2: + ldrh r0, [r5, 0x24] + ldrh r1, [r5, 0x20] + adds r0, r1 + movs r1, 0 + strh r0, [r5, 0x20] + ldrh r0, [r5, 0x26] + ldrh r2, [r5, 0x22] + adds r0, r2 + strh r0, [r5, 0x22] + strh r1, [r5, 0x26] + strh r1, [r5, 0x24] + ldr r1, _080AF814 @ =gBattleAnimArgs + ldr r6, _080AF818 @ =sub_80AF81C + mov r3, sp + adds r2, r7, 0 + movs r4, 0x7 +_080AF7F2: + ldrh r0, [r3] + strh r0, [r2] + adds r3, 0x2 + adds r2, 0x2 + subs r4, 0x1 + cmp r4, 0 + bge _080AF7F2 + ldrh r0, [r1, 0xA] + strh r0, [r5, 0x38] + ldrh r0, [r1, 0xC] + strh r0, [r5, 0x3A] + str r6, [r5, 0x1C] + add sp, 0x10 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080AF814: .4byte gBattleAnimArgs +_080AF818: .4byte sub_80AF81C + thumb_func_end sub_80AF6D8 + + thumb_func_start sub_80AF81C +sub_80AF81C: @ 80AF81C + push {r4,lr} + adds r4, r0, 0 + bl sub_807578C + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080AF830 + movs r0, 0x1 + strh r0, [r4, 0x2E] +_080AF830: + movs r2, 0x3C + ldrsh r0, [r4, r2] + movs r2, 0x38 + ldrsh r1, [r4, r2] + bl Sin + ldrh r1, [r4, 0x26] + adds r0, r1 + strh r0, [r4, 0x26] + ldrh r0, [r4, 0x3A] + ldrh r2, [r4, 0x3C] + adds r0, r2 + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0x3C] + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0x1 + bne _080AF886 + movs r2, 0x20 + ldrsh r0, [r4, r2] + movs r2, 0x24 + ldrsh r1, [r4, r2] + adds r0, r1 + adds r0, 0x10 + movs r1, 0x88 + lsls r1, 1 + cmp r0, r1 + bhi _080AF880 + movs r0, 0x22 + ldrsh r1, [r4, r0] + movs r2, 0x26 + ldrsh r0, [r4, r2] + adds r1, r0 + cmp r1, 0xA0 + bgt _080AF880 + movs r0, 0x10 + negs r0, r0 + cmp r1, r0 + bge _080AF886 +_080AF880: + adds r0, r4, 0 + bl DestroyAnimSprite +_080AF886: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80AF81C + + thumb_func_start sub_80AF88C +sub_80AF88C: @ 80AF88C + push {r4,r5,lr} + adds r4, r0, 0 + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080AF8F8 + ldr r5, _080AF8AC @ =gBattleAnimArgs + movs r1, 0x4 + ldrsh r0, [r5, r1] + cmp r0, 0 + bne _080AF8B0 + adds r0, r4, 0 + movs r1, 0 + bl sub_8075114 + b _080AF8E6 + .align 2, 0 +_080AF8AC: .4byte gBattleAnimArgs +_080AF8B0: + ldr r0, _080AF8F0 @ =gBattleAnimTarget + ldrb r0, [r0] + adds r2, r4, 0 + adds r2, 0x20 + adds r3, r4, 0 + adds r3, 0x22 + movs r1, 0 + bl sub_8076D9C + ldr r0, _080AF8F4 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080AF8D6 + ldrh r0, [r5] + negs r0, r0 + strh r0, [r5] +_080AF8D6: + ldrh r0, [r5] + ldrh r1, [r4, 0x20] + adds r0, r1 + strh r0, [r4, 0x20] + ldrh r0, [r5, 0x2] + ldrh r1, [r4, 0x22] + adds r0, r1 + strh r0, [r4, 0x22] +_080AF8E6: + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + b _080AF90C + .align 2, 0 +_080AF8F0: .4byte gBattleAnimTarget +_080AF8F4: .4byte gBattleAnimAttacker +_080AF8F8: + adds r0, r4, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x10 + ands r0, r1 + cmp r0, 0 + beq _080AF90C + adds r0, r4, 0 + bl DestroyAnimSprite +_080AF90C: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80AF88C + + thumb_func_start sub_80AF914 +sub_80AF914: @ 80AF914 + push {r4-r6,lr} + adds r5, r0, 0 + ldr r6, _080AF934 @ =gBattleAnimArgs + movs r1, 0x8 + ldrsh r0, [r6, r1] + cmp r0, 0 + bne _080AF984 + movs r1, 0xA + ldrsh r0, [r6, r1] + cmp r0, 0 + bne _080AF938 + adds r0, r5, 0 + movs r1, 0 + bl sub_8075160 + b _080AF976 + .align 2, 0 +_080AF934: .4byte gBattleAnimArgs +_080AF938: + ldr r4, _080AF960 @ =gBattleAnimAttacker + ldrb r0, [r4] + adds r2, r5, 0 + adds r2, 0x20 + adds r3, r5, 0 + adds r3, 0x22 + movs r1, 0 + bl sub_8076D9C + ldrb r0, [r4] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080AF964 + ldrh r0, [r5, 0x20] + ldrh r1, [r6] + subs r0, r1 + b _080AF96A + .align 2, 0 +_080AF960: .4byte gBattleAnimAttacker +_080AF964: + ldrh r0, [r6] + ldrh r1, [r5, 0x20] + adds r0, r1 +_080AF96A: + strh r0, [r5, 0x20] + ldr r0, _080AF97C @ =gBattleAnimArgs + ldrh r0, [r0, 0x2] + ldrh r1, [r5, 0x22] + adds r0, r1 + strh r0, [r5, 0x22] +_080AF976: + ldr r0, _080AF980 @ =gBattleAnimAttacker + b _080AF9D4 + .align 2, 0 +_080AF97C: .4byte gBattleAnimArgs +_080AF980: .4byte gBattleAnimAttacker +_080AF984: + movs r1, 0xA + ldrsh r0, [r6, r1] + cmp r0, 0 + bne _080AF996 + adds r0, r5, 0 + movs r1, 0 + bl sub_8075114 + b _080AF9D2 +_080AF996: + ldr r4, _080AF9BC @ =gBattleAnimTarget + ldrb r0, [r4] + adds r2, r5, 0 + adds r2, 0x20 + adds r3, r5, 0 + adds r3, 0x22 + movs r1, 0 + bl sub_8076D9C + ldrb r0, [r4] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080AF9C0 + ldrh r0, [r5, 0x20] + ldrh r1, [r6] + subs r0, r1 + b _080AF9C6 + .align 2, 0 +_080AF9BC: .4byte gBattleAnimTarget +_080AF9C0: + ldrh r0, [r6] + ldrh r1, [r5, 0x20] + adds r0, r1 +_080AF9C6: + strh r0, [r5, 0x20] + ldr r0, _080AF9F0 @ =gBattleAnimArgs + ldrh r0, [r0, 0x2] + ldrh r1, [r5, 0x22] + adds r0, r1 + strh r0, [r5, 0x22] +_080AF9D2: + ldr r0, _080AF9F4 @ =gBattleAnimTarget +_080AF9D4: + ldrb r0, [r0] + strh r0, [r5, 0x3C] + ldr r0, _080AF9F0 @ =gBattleAnimArgs + movs r1, 0xA + ldrsh r0, [r0, r1] + cmp r0, 0 + beq _080AF9EC + bl sub_8075290 + lsls r0, 24 + cmp r0, 0 + bne _080AF9F8 +_080AF9EC: + movs r0, 0x20 + b _080AF9FA + .align 2, 0 +_080AF9F0: .4byte gBattleAnimArgs +_080AF9F4: .4byte gBattleAnimTarget +_080AF9F8: + movs r0, 0x40 +_080AF9FA: + strh r0, [r5, 0x3A] + ldr r0, _080AFA40 @ =gBattleAnimTarget + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _080AFA10 + ldrh r0, [r5, 0x22] + adds r0, 0x8 + strh r0, [r5, 0x22] +_080AFA10: + ldr r1, _080AFA44 @ =gBattleAnimArgs + ldrh r0, [r1, 0x6] + strh r0, [r5, 0x2E] + ldrh r0, [r5, 0x20] + strh r0, [r5, 0x30] + strh r0, [r5, 0x32] + ldrh r0, [r5, 0x22] + strh r0, [r5, 0x34] + ldrh r1, [r1, 0x4] + adds r0, r1 + strh r0, [r5, 0x36] + adds r0, r5, 0 + bl obj_translate_based_on_private_1_2_3_4 + movs r0, 0x40 + strh r0, [r5, 0x38] + ldr r1, _080AFA48 @ =sub_80AFA4C + str r1, [r5, 0x1C] + adds r0, r5, 0 + bl _call_via_r1 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080AFA40: .4byte gBattleAnimTarget +_080AFA44: .4byte gBattleAnimArgs +_080AFA48: .4byte sub_80AFA4C + thumb_func_end sub_80AF914 + + thumb_func_start sub_80AFA4C +sub_80AFA4C: @ 80AFA4C + push {r4,lr} + adds r4, r0, 0 + bl sub_80755E0 + lsls r0, 24 + cmp r0, 0 + bne _080AFAD6 + movs r1, 0x38 + ldrsh r0, [r4, r1] + movs r2, 0x3A + ldrsh r1, [r4, r2] + bl Sin + ldrh r1, [r4, 0x24] + adds r0, r1 + strh r0, [r4, 0x24] + movs r2, 0x38 + ldrsh r0, [r4, r2] + movs r1, 0x6 + negs r1, r1 + bl Cos + ldrh r1, [r4, 0x26] + adds r0, r1 + strh r0, [r4, 0x26] + ldrh r0, [r4, 0x38] + subs r0, 0x40 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x7F + bhi _080AFAA8 + ldrh r0, [r4, 0x3C] + lsls r0, 24 + lsrs r0, 24 + bl sub_8076884 + movs r1, 0x3 + ands r1, r0 + lsls r1, 2 + ldrb r2, [r4, 0x5] + movs r0, 0xD + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r4, 0x5] + b _080AFACA +_080AFAA8: + ldrh r0, [r4, 0x3C] + lsls r0, 24 + lsrs r0, 24 + bl sub_8076884 + lsls r0, 24 + lsrs r0, 24 + adds r0, 0x1 + movs r1, 0x3 + ands r0, r1 + lsls r0, 2 + ldrb r2, [r4, 0x5] + movs r1, 0xD + negs r1, r1 + ands r1, r2 + orrs r1, r0 + strb r1, [r4, 0x5] +_080AFACA: + ldrh r0, [r4, 0x38] + adds r0, 0x3 + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0x38] + b _080AFADC +_080AFAD6: + adds r0, r4, 0 + bl DestroyAnimSprite +_080AFADC: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80AFA4C + + thumb_func_start sub_80AFAE4 +sub_80AFAE4: @ 80AFAE4 + push {r4,r5,lr} + sub sp, 0x10 + lsls r0, 24 + lsrs r5, r0, 24 + ldr r1, _080AFBA0 @ =0x00003f42 + movs r0, 0x50 + bl SetGpuReg + movs r1, 0x80 + lsls r1, 5 + movs r0, 0x52 + bl SetGpuReg + movs r0, 0x1 + movs r1, 0x4 + movs r2, 0x1 + bl SetAnimBgAttribute + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + bl SetAnimBgAttribute + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080AFB26 + movs r0, 0x1 + movs r1, 0x3 + movs r2, 0x1 + bl SetAnimBgAttribute +_080AFB26: + ldr r0, _080AFBA4 @ =gBattle_BG1_X + movs r1, 0 + strh r1, [r0] + ldr r4, _080AFBA8 @ =gBattle_BG1_Y + strh r1, [r4] + movs r0, 0x14 + movs r1, 0 + bl SetGpuReg + ldrh r1, [r4] + movs r0, 0x16 + bl SetGpuReg + mov r0, sp + bl sub_80752A0 + mov r0, sp + ldrb r0, [r0, 0x9] + ldr r1, _080AFBAC @ =gUnknown_83C3540 + movs r2, 0x80 + lsls r2, 4 + mov r3, sp + ldrh r3, [r3, 0xA] + bl LoadBgTiles + mov r0, sp + ldrb r0, [r0, 0x9] + ldr r1, _080AFBB0 @ =gFile_graphics_battle_anims_backgrounds_fog_tilemap + bl sub_807543C + ldr r0, _080AFBB4 @ =gUnknown_83C2CE0 + mov r1, sp + ldrb r1, [r1, 0x8] + lsls r1, 4 + movs r2, 0x20 + bl LoadPalette + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + beq _080AFB88 + mov r0, sp + ldrb r0, [r0, 0x8] + ldr r1, [sp, 0x4] + movs r2, 0 + movs r3, 0 + bl sub_80730C0 +_080AFB88: + ldr r0, _080AFBB8 @ =gTasks + lsls r1, r5, 2 + adds r1, r5 + lsls r1, 3 + adds r1, r0 + ldr r0, _080AFBBC @ =sub_80AFBC0 + str r0, [r1] + add sp, 0x10 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080AFBA0: .4byte 0x00003f42 +_080AFBA4: .4byte gBattle_BG1_X +_080AFBA8: .4byte gBattle_BG1_Y +_080AFBAC: .4byte gUnknown_83C3540 +_080AFBB0: .4byte gFile_graphics_battle_anims_backgrounds_fog_tilemap +_080AFBB4: .4byte gUnknown_83C2CE0 +_080AFBB8: .4byte gTasks +_080AFBBC: .4byte sub_80AFBC0 + thumb_func_end sub_80AFAE4 + + thumb_func_start sub_80AFBC0 +sub_80AFBC0: @ 80AFBC0 + push {r4,r5,lr} + sub sp, 0x10 + lsls r0, 24 + lsrs r4, r0, 24 + ldr r1, _080AFBF4 @ =gBattle_BG1_X + ldr r2, _080AFBF8 @ =0x0000ffff + adds r0, r2, 0 + ldrh r2, [r1] + adds r0, r2 + strh r0, [r1] + ldr r1, _080AFBFC @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + movs r2, 0x20 + ldrsh r0, [r0, r2] + adds r2, r1, 0 + cmp r0, 0x4 + bls _080AFBEA + b _080AFD36 +_080AFBEA: + lsls r0, 2 + ldr r1, _080AFC00 @ =_080AFC04 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080AFBF4: .4byte gBattle_BG1_X +_080AFBF8: .4byte 0x0000ffff +_080AFBFC: .4byte gTasks +_080AFC00: .4byte _080AFC04 + .align 2, 0 +_080AFC04: + .4byte _080AFC18 + .4byte _080AFC70 + .4byte _080AFC92 + .4byte _080AFCD6 + .4byte _080AFCF8 +_080AFC18: + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r4, r0, r2 + ldrh r0, [r4, 0x1C] + adds r0, 0x1 + movs r5, 0 + strh r0, [r4, 0x1C] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x4 + beq _080AFC32 + b _080AFD36 +_080AFC32: + strh r5, [r4, 0x1C] + ldrh r0, [r4, 0x1A] + adds r0, 0x1 + strh r0, [r4, 0x1A] + ldr r1, _080AFC6C @ =gUnknown_83E64D4 + movs r2, 0x1A + ldrsh r0, [r4, r2] + adds r0, r1 + ldrb r1, [r0] + strh r1, [r4, 0x1E] + movs r0, 0x10 + subs r0, r1 + lsls r0, 8 + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + movs r1, 0x1E + ldrsh r0, [r4, r1] + cmp r0, 0x9 + bne _080AFD36 + ldrh r0, [r4, 0x20] + adds r0, 0x1 + strh r0, [r4, 0x20] + strh r5, [r4, 0x1E] + b _080AFD36 + .align 2, 0 +_080AFC6C: .4byte gUnknown_83E64D4 +_080AFC70: + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r1, r0, r2 + ldrh r0, [r1, 0x1E] + adds r0, 0x1 + strh r0, [r1, 0x1E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x51 + bne _080AFD36 + movs r0, 0x9 + strh r0, [r1, 0x1E] + ldrh r0, [r1, 0x20] + adds r0, 0x1 + strh r0, [r1, 0x20] + b _080AFD36 +_080AFC92: + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r4, r0, r2 + ldrh r0, [r4, 0x1C] + adds r0, 0x1 + strh r0, [r4, 0x1C] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x4 + bne _080AFD36 + movs r0, 0 + strh r0, [r4, 0x1C] + ldrh r1, [r4, 0x1E] + subs r1, 0x1 + strh r1, [r4, 0x1E] + movs r0, 0x10 + subs r0, r1 + lsls r0, 8 + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + movs r2, 0x1E + ldrsh r1, [r4, r2] + cmp r1, 0 + bne _080AFD36 + ldrh r0, [r4, 0x20] + adds r0, 0x1 + strh r0, [r4, 0x20] + strh r1, [r4, 0x1E] + b _080AFD36 +_080AFCD6: + mov r0, sp + bl sub_80752A0 + movs r0, 0x1 + bl sub_8075358 + movs r0, 0x2 + bl sub_8075358 + ldr r0, _080AFD40 @ =gTasks + lsls r1, r4, 2 + adds r1, r4 + lsls r1, 3 + adds r1, r0 + ldrh r0, [r1, 0x20] + adds r0, 0x1 + strh r0, [r1, 0x20] +_080AFCF8: + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080AFD0C + movs r0, 0x1 + movs r1, 0x3 + movs r2, 0 + bl SetAnimBgAttribute +_080AFD0C: + ldr r0, _080AFD44 @ =gBattle_BG1_X + movs r1, 0 + strh r1, [r0] + ldr r0, _080AFD48 @ =gBattle_BG1_Y + strh r1, [r0] + movs r0, 0x50 + movs r1, 0 + bl SetGpuReg + movs r0, 0x52 + movs r1, 0 + bl SetGpuReg + movs r0, 0x1 + movs r1, 0x4 + movs r2, 0x1 + bl SetAnimBgAttribute + adds r0, r4, 0 + bl DestroyAnimVisualTask +_080AFD36: + add sp, 0x10 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080AFD40: .4byte gTasks +_080AFD44: .4byte gBattle_BG1_X +_080AFD48: .4byte gBattle_BG1_Y + thumb_func_end sub_80AFBC0 + + thumb_func_start sub_80AFD4C +sub_80AFD4C: @ 80AFD4C + push {r4,r5,lr} + adds r4, r0, 0 + ldr r5, _080AFD78 @ =gBattleAnimAttacker + ldrb r0, [r5] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x20] + ldrb r0, [r5] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x22] + ldr r0, _080AFD7C @ =sub_8075DF4 + str r0, [r4, 0x1C] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080AFD78: .4byte gBattleAnimAttacker +_080AFD7C: .4byte sub_8075DF4 + thumb_func_end sub_80AFD4C + + thumb_func_start sub_80AFD80 +sub_80AFD80: @ 80AFD80 + push {r4,r5,lr} + sub sp, 0x10 + lsls r0, 24 + lsrs r5, r0, 24 + ldr r1, _080AFE40 @ =0x00003f42 + movs r0, 0x50 + bl SetGpuReg + movs r1, 0x80 + lsls r1, 5 + movs r0, 0x52 + bl SetGpuReg + movs r0, 0x1 + movs r1, 0x4 + movs r2, 0x1 + bl SetAnimBgAttribute + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + bl SetAnimBgAttribute + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080AFDC2 + movs r0, 0x1 + movs r1, 0x3 + movs r2, 0x1 + bl SetAnimBgAttribute +_080AFDC2: + ldr r0, _080AFE44 @ =gBattle_BG1_X + movs r1, 0 + strh r1, [r0] + ldr r4, _080AFE48 @ =gBattle_BG1_Y + strh r1, [r4] + movs r0, 0x14 + movs r1, 0 + bl SetGpuReg + ldrh r1, [r4] + movs r0, 0x16 + bl SetGpuReg + mov r0, sp + bl sub_80752A0 + mov r0, sp + ldrb r0, [r0, 0x9] + ldr r1, _080AFE4C @ =gUnknown_83C3540 + movs r2, 0x80 + lsls r2, 4 + mov r3, sp + ldrh r3, [r3, 0xA] + bl LoadBgTiles + mov r0, sp + ldrb r0, [r0, 0x9] + ldr r1, _080AFE50 @ =gFile_graphics_battle_anims_backgrounds_fog_tilemap + bl sub_807543C + ldr r0, _080AFE54 @ =gUnknown_83C2CE0 + mov r1, sp + ldrb r1, [r1, 0x8] + lsls r1, 4 + movs r2, 0x20 + bl LoadPalette + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + beq _080AFE24 + mov r0, sp + ldrb r0, [r0, 0x8] + ldr r1, [sp, 0x4] + movs r2, 0 + movs r3, 0 + bl sub_80730C0 +_080AFE24: + ldr r1, _080AFE58 @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r0, r1 + ldr r1, _080AFE5C @ =0x0000ffff + strh r1, [r0, 0x26] + ldr r1, _080AFE60 @ =sub_80AFE64 + str r1, [r0] + add sp, 0x10 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080AFE40: .4byte 0x00003f42 +_080AFE44: .4byte gBattle_BG1_X +_080AFE48: .4byte gBattle_BG1_Y +_080AFE4C: .4byte gUnknown_83C3540 +_080AFE50: .4byte gFile_graphics_battle_anims_backgrounds_fog_tilemap +_080AFE54: .4byte gUnknown_83C2CE0 +_080AFE58: .4byte gTasks +_080AFE5C: .4byte 0x0000ffff +_080AFE60: .4byte sub_80AFE64 + thumb_func_end sub_80AFD80 + + thumb_func_start sub_80AFE64 +sub_80AFE64: @ 80AFE64 + push {r4,r5,lr} + sub sp, 0x10 + lsls r0, 24 + lsrs r4, r0, 24 + ldr r2, _080AFE94 @ =gBattle_BG1_X + ldr r3, _080AFE98 @ =gTasks + lsls r1, r4, 2 + adds r1, r4 + lsls r1, 3 + adds r1, r3 + ldrh r0, [r1, 0x26] + ldrh r5, [r2] + adds r0, r5 + strh r0, [r2] + movs r2, 0x20 + ldrsh r0, [r1, r2] + cmp r0, 0x4 + bls _080AFE8A + b _080AFFBE +_080AFE8A: + lsls r0, 2 + ldr r1, _080AFE9C @ =_080AFEA0 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080AFE94: .4byte gBattle_BG1_X +_080AFE98: .4byte gTasks +_080AFE9C: .4byte _080AFEA0 + .align 2, 0 +_080AFEA0: + .4byte _080AFEB4 + .4byte _080AFEF8 + .4byte _080AFF1A + .4byte _080AFF5E + .4byte _080AFF80 +_080AFEB4: + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r4, r0, r3 + ldrh r0, [r4, 0x1A] + adds r0, 0x1 + strh r0, [r4, 0x1A] + ldr r1, _080AFEF4 @ =gUnknown_83E6500 + movs r5, 0x1A + ldrsh r0, [r4, r5] + adds r0, r1 + ldrb r1, [r0] + strh r1, [r4, 0x1E] + movs r0, 0x11 + subs r0, r1 + lsls r0, 8 + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + movs r1, 0x1E + ldrsh r0, [r4, r1] + cmp r0, 0x5 + bne _080AFFBE + ldrh r0, [r4, 0x20] + adds r0, 0x1 + strh r0, [r4, 0x20] + movs r0, 0 + strh r0, [r4, 0x1E] + b _080AFFBE + .align 2, 0 +_080AFEF4: .4byte gUnknown_83E6500 +_080AFEF8: + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r1, r0, r3 + ldrh r0, [r1, 0x1E] + adds r0, 0x1 + strh r0, [r1, 0x1E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x51 + bne _080AFFBE + movs r0, 0x5 + strh r0, [r1, 0x1E] + ldrh r0, [r1, 0x20] + adds r0, 0x1 + strh r0, [r1, 0x20] + b _080AFFBE +_080AFF1A: + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r4, r0, r3 + ldrh r0, [r4, 0x1C] + adds r0, 0x1 + strh r0, [r4, 0x1C] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x4 + bne _080AFFBE + movs r0, 0 + strh r0, [r4, 0x1C] + ldrh r1, [r4, 0x1E] + subs r1, 0x1 + strh r1, [r4, 0x1E] + movs r0, 0x10 + subs r0, r1 + lsls r0, 8 + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + movs r2, 0x1E + ldrsh r1, [r4, r2] + cmp r1, 0 + bne _080AFFBE + ldrh r0, [r4, 0x20] + adds r0, 0x1 + strh r0, [r4, 0x20] + strh r1, [r4, 0x1E] + b _080AFFBE +_080AFF5E: + mov r0, sp + bl sub_80752A0 + movs r0, 0x1 + bl sub_8075358 + movs r0, 0x2 + bl sub_8075358 + ldr r0, _080AFFC8 @ =gTasks + lsls r1, r4, 2 + adds r1, r4 + lsls r1, 3 + adds r1, r0 + ldrh r0, [r1, 0x20] + adds r0, 0x1 + strh r0, [r1, 0x20] +_080AFF80: + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080AFF94 + movs r0, 0x1 + movs r1, 0x3 + movs r2, 0 + bl SetAnimBgAttribute +_080AFF94: + ldr r0, _080AFFCC @ =gBattle_BG1_X + movs r1, 0 + strh r1, [r0] + ldr r0, _080AFFD0 @ =gBattle_BG1_Y + strh r1, [r0] + movs r0, 0x50 + movs r1, 0 + bl SetGpuReg + movs r0, 0x52 + movs r1, 0 + bl SetGpuReg + movs r0, 0x1 + movs r1, 0x4 + movs r2, 0x1 + bl SetAnimBgAttribute + adds r0, r4, 0 + bl DestroyAnimVisualTask +_080AFFBE: + add sp, 0x10 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080AFFC8: .4byte gTasks +_080AFFCC: .4byte gBattle_BG1_X +_080AFFD0: .4byte gBattle_BG1_Y + thumb_func_end sub_80AFE64 + + thumb_func_start sub_80AFFD4 +sub_80AFFD4: @ 80AFFD4 + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r5, r0, 0 + ldr r6, _080B00BC @ =gBattleAnimArgs + ldrh r0, [r6] + strh r0, [r5, 0x2E] + ldr r0, _080B00C0 @ =gBattleAnimAttacker + mov r8, r0 + ldrb r0, [r0] + movs r1, 0x2 + bl sub_8074480 + adds r4, r0, 0 + ldr r7, _080B00C4 @ =gBattleAnimTarget + ldrb r0, [r7] + movs r1, 0x2 + bl sub_8074480 + lsls r4, 24 + lsls r0, 24 + cmp r4, r0 + bcs _080B0008 + movs r0, 0x80 + lsls r0, 8 + strh r0, [r5, 0x3C] +_080B0008: + ldr r3, _080B00C8 @ =gUnknown_2023BD6 + ldrb r0, [r7] + adds r0, r3 + ldrb r1, [r0] + movs r2, 0x1 + adds r0, r2, 0 + ands r0, r1 + cmp r0, 0 + bne _080B0068 + ldrh r0, [r6, 0x2] + negs r0, r0 + strh r0, [r6, 0x2] + ldrh r0, [r6, 0x6] + negs r0, r0 + strh r0, [r6, 0x6] + movs r1, 0x3C + ldrsh r0, [r5, r1] + movs r1, 0x80 + lsls r1, 8 + ands r0, r1 + cmp r0, 0 + beq _080B0064 + mov r1, r8 + ldrb r0, [r1] + adds r0, r3 + ldrb r1, [r0] + adds r0, r2, 0 + ands r0, r1 + cmp r0, 0 + bne _080B0064 + movs r0, 0x1 + bl GetAnimBankSpriteId + ldr r2, _080B00CC @ =gSprites + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r2 + adds r1, 0x43 + ldrb r0, [r1] + adds r0, 0x1 + adds r1, r5, 0 + adds r1, 0x43 + strb r0, [r1] +_080B0064: + movs r0, 0x1 + strh r0, [r5, 0x3A] +_080B0068: + ldr r4, _080B00C0 @ =gBattleAnimAttacker + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x20] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x22] + ldr r6, _080B00BC @ =gBattleAnimArgs + movs r1, 0xE + ldrsh r0, [r6, r1] + cmp r0, 0 + beq _080B00D0 + ldrh r0, [r6, 0x2] + ldrh r1, [r5, 0x20] + adds r0, r1 + strh r0, [r5, 0x30] + ldr r4, _080B00C4 @ =gBattleAnimTarget + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r1, [r6, 0x6] + adds r0, r1 + strh r0, [r5, 0x32] + ldrh r0, [r6, 0x4] + ldrh r1, [r5, 0x22] + adds r0, r1 + strh r0, [r5, 0x34] + ldrb r0, [r4] + movs r1, 0x3 + b _080B00F8 + .align 2, 0 +_080B00BC: .4byte gBattleAnimArgs +_080B00C0: .4byte gBattleAnimAttacker +_080B00C4: .4byte gBattleAnimTarget +_080B00C8: .4byte gUnknown_2023BD6 +_080B00CC: .4byte gSprites +_080B00D0: + ldrh r0, [r6, 0x2] + ldrh r1, [r5, 0x20] + adds r0, r1 + strh r0, [r5, 0x30] + ldr r4, _080B0140 @ =gBattleAnimTarget + ldrb r0, [r4] + movs r1, 0 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r1, [r6, 0x6] + adds r0, r1 + strh r0, [r5, 0x32] + ldrh r0, [r6, 0x4] + ldrh r1, [r5, 0x22] + adds r0, r1 + strh r0, [r5, 0x34] + ldrb r0, [r4] + movs r1, 0x1 +_080B00F8: + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r6, [r6, 0x8] + adds r0, r6 + strh r0, [r5, 0x36] + ldrb r0, [r4] + bl sub_8076884 + lsls r0, 24 + lsrs r0, 16 + ldrh r1, [r5, 0x3C] + orrs r0, r1 + strh r0, [r5, 0x3C] + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + beq _080B012C + movs r0, 0x1 + strh r0, [r5, 0x3A] + adds r1, r5, 0 + adds r1, 0x43 + movs r0, 0x80 + strb r0, [r1] +_080B012C: + adds r0, r5, 0 + bl obj_translate_based_on_private_1_2_3_4 + ldr r0, _080B0144 @ =sub_80B0148 + str r0, [r5, 0x1C] + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080B0140: .4byte gBattleAnimTarget +_080B0144: .4byte sub_80B0148 + thumb_func_end sub_80AFFD4 + + thumb_func_start sub_80B0148 +sub_80B0148: @ 80B0148 + push {r4-r6,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x3C] + movs r5, 0xFF + movs r1, 0xFF + ands r1, r0 + cmp r1, 0x1 + beq _080B0230 + cmp r1, 0x1 + bgt _080B0162 + cmp r1, 0 + beq _080B016A + b _080B0380 +_080B0162: + cmp r1, 0x2 + bne _080B0168 + b _080B0344 +_080B0168: + b _080B0380 +_080B016A: + adds r0, r4, 0 + bl sub_80755E0 + ldr r1, _080B0194 @ =gSineTable + movs r2, 0x38 + ldrsh r0, [r4, r2] + lsls r0, 1 + adds r0, r1 + movs r1, 0 + ldrsh r0, [r0, r1] + asrs r0, 4 + ldrh r2, [r4, 0x24] + adds r0, r2 + strh r0, [r4, 0x24] + movs r1, 0x3A + ldrsh r0, [r4, r1] + cmp r0, 0 + beq _080B0198 + ldrh r0, [r4, 0x38] + subs r0, 0x8 + b _080B019C + .align 2, 0 +_080B0194: .4byte gSineTable +_080B0198: + ldrh r0, [r4, 0x38] + adds r0, 0x8 +_080B019C: + ands r0, r5 + strh r0, [r4, 0x38] + movs r2, 0x2E + ldrsh r0, [r4, r2] + cmp r0, 0 + ble _080B01AA + b _080B0380 +_080B01AA: + movs r5, 0x50 + strh r5, [r4, 0x2E] + ldr r6, _080B01F8 @ =gBattleAnimTarget + ldrb r0, [r6] + movs r1, 0 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x20] + strh r0, [r4, 0x30] + strh r0, [r4, 0x32] + ldrh r0, [r4, 0x26] + ldrh r1, [r4, 0x22] + adds r0, r1 + strh r0, [r4, 0x22] + strh r0, [r4, 0x34] + adds r0, 0x1D + strh r0, [r4, 0x36] + ldrh r0, [r4, 0x3C] + adds r0, 0x1 + strh r0, [r4, 0x3C] + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080B0200 + ldr r1, _080B01FC @ =gUnknown_2023BD6 + ldrb r0, [r6] + adds r0, r1 + ldrb r1, [r0] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080B0200 + movs r0, 0xCC + strh r0, [r4, 0x38] + b _080B0202 + .align 2, 0 +_080B01F8: .4byte gBattleAnimTarget +_080B01FC: .4byte gUnknown_2023BD6 +_080B0200: + strh r5, [r4, 0x38] +_080B0202: + movs r0, 0 + strh r0, [r4, 0x26] + ldr r1, _080B022C @ =gSineTable + movs r2, 0x38 + ldrsh r0, [r4, r2] + lsls r0, 1 + adds r0, r1 + movs r1, 0 + ldrsh r0, [r0, r1] + asrs r0, 3 + strh r0, [r4, 0x24] + ldrh r0, [r4, 0x38] + adds r0, 0x2 + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0x38] + adds r0, r4, 0 + bl obj_translate_based_on_private_1_2_3_4 + b _080B0380 + .align 2, 0 +_080B022C: .4byte gSineTable +_080B0230: + adds r0, r4, 0 + bl sub_80755E0 + ldr r1, _080B028C @ =gSineTable + movs r2, 0x38 + ldrsh r0, [r4, r2] + lsls r0, 1 + adds r0, r1 + movs r2, 0 + ldrsh r0, [r0, r2] + asrs r0, 3 + ldrh r2, [r4, 0x24] + adds r0, r2 + strh r0, [r4, 0x24] + movs r2, 0x38 + ldrsh r0, [r4, r2] + adds r0, 0x40 + lsls r0, 1 + adds r0, r1 + movs r2, 0 + ldrsh r1, [r0, r2] + lsls r0, r1, 1 + adds r0, r1 + negs r0, r0 + asrs r0, 8 + ldrh r1, [r4, 0x26] + adds r0, r1 + strh r0, [r4, 0x26] + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080B02AE + ldrh r1, [r4, 0x38] + adds r0, r1, 0 + subs r0, 0x40 + lsls r0, 16 + lsrs r0, 16 + adds r3, r1, 0 + cmp r0, 0x7F + bhi _080B0290 + ldrh r1, [r4, 0x3C] + lsls r1, 16 + asrs r1, 24 + b _080B0298 + .align 2, 0 +_080B028C: .4byte gSineTable +_080B0290: + ldrh r1, [r4, 0x3C] + lsls r1, 16 + asrs r1, 24 + adds r1, 0x1 +_080B0298: + movs r0, 0x3 + ands r1, r0 + lsls r1, 2 + ldrb r2, [r4, 0x5] + movs r0, 0xD + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r4, 0x5] + adds r0, r3, 0x4 + b _080B02CE +_080B02AE: + ldrh r0, [r4, 0x38] + subs r0, 0x40 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x7F + bhi _080B02C2 + adds r1, r4, 0 + adds r1, 0x43 + movs r0, 0x80 + b _080B02C8 +_080B02C2: + adds r1, r4, 0 + adds r1, 0x43 + movs r0, 0x8C +_080B02C8: + strb r0, [r1] + ldrh r0, [r4, 0x38] + subs r0, 0x4 +_080B02CE: + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0x38] + movs r2, 0x2E + ldrsh r0, [r4, r2] + cmp r0, 0 + bgt _080B0380 + movs r5, 0 + movs r0, 0xC0 + lsls r0, 2 + strh r0, [r4, 0x2E] + ldrh r0, [r4, 0x24] + ldrh r1, [r4, 0x20] + adds r0, r1 + strh r0, [r4, 0x20] + strh r0, [r4, 0x30] + ldrh r0, [r4, 0x26] + ldrh r2, [r4, 0x22] + adds r0, r2 + strh r0, [r4, 0x22] + strh r0, [r4, 0x34] + adds r0, 0x4 + strh r0, [r4, 0x36] + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080B0328 + ldr r1, _080B0320 @ =gUnknown_2023BD6 + ldr r0, _080B0324 @ =gBattleAnimTarget + ldrb r0, [r0] + adds r0, r1 + ldrb r1, [r0] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080B0328 + movs r0, 0x80 + lsls r0, 1 + b _080B032A + .align 2, 0 +_080B0320: .4byte gUnknown_2023BD6 +_080B0324: .4byte gBattleAnimTarget +_080B0328: + ldr r0, _080B0340 @ =0x0000fff0 +_080B032A: + strh r0, [r4, 0x32] + ldrh r0, [r4, 0x3C] + adds r0, 0x1 + movs r1, 0 + strh r0, [r4, 0x3C] + strh r1, [r4, 0x26] + strh r1, [r4, 0x24] + adds r0, r4, 0 + bl sub_8075678 + b _080B0380 + .align 2, 0 +_080B0340: .4byte 0x0000fff0 +_080B0344: + adds r0, r4, 0 + bl sub_80755E0 + lsls r0, 24 + cmp r0, 0 + beq _080B0380 + ldrb r0, [r4, 0x1] + lsls r0, 30 + lsrs r0, 30 + movs r1, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080B0372 + ldrb r0, [r4, 0x3] + lsls r0, 26 + lsrs r0, 27 + bl FreeOamMatrix + ldrb r1, [r4, 0x1] + movs r0, 0x4 + negs r0, r0 + ands r0, r1 + strb r0, [r4, 0x1] +_080B0372: + adds r0, r4, 0 + bl DestroySprite + ldr r1, _080B0388 @ =gUnknown_2037EE2 + ldrb r0, [r1] + subs r0, 0x1 + strb r0, [r1] +_080B0380: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080B0388: .4byte gUnknown_2037EE2 + thumb_func_end sub_80B0148 + + thumb_func_start sub_80B038C +sub_80B038C: @ 80B038C + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, _080B03A0 @ =gTasks + adds r1, r0 + ldr r0, _080B03A4 @ =sub_80B03A8 + str r0, [r1] + bx lr + .align 2, 0 +_080B03A0: .4byte gTasks +_080B03A4: .4byte sub_80B03A8 + thumb_func_end sub_80B038C + + thumb_func_start sub_80B03A8 +sub_80B03A8: @ 80B03A8 + push {r4,r5,lr} + lsls r0, 24 + lsrs r2, r0, 24 + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + ldr r1, _080B03CC @ =gTasks + adds r4, r0, r1 + movs r0, 0x8 + ldrsh r5, [r4, r0] + cmp r5, 0x1 + beq _080B03EC + cmp r5, 0x1 + bgt _080B03D0 + cmp r5, 0 + beq _080B03D6 + b _080B0450 + .align 2, 0 +_080B03CC: .4byte gTasks +_080B03D0: + cmp r5, 0x2 + beq _080B0442 + b _080B0450 +_080B03D6: + ldrh r0, [r4, 0x10] + adds r0, 0x1 + strh r0, [r4, 0x10] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x2 + ble _080B0450 + strh r5, [r4, 0x10] + strh r5, [r4, 0x12] + strh r5, [r4, 0xC] + b _080B0428 +_080B03EC: + ldrh r1, [r4, 0x12] + movs r3, 0x12 + ldrsh r0, [r4, r3] + cmp r0, 0 + bne _080B043C + ldrb r0, [r4, 0xE] + ldrb r1, [r4, 0xC] + movs r3, 0x1 + bl sub_80B0458 + lsls r0, 24 + cmp r0, 0 + beq _080B040C + ldrh r0, [r4, 0xA] + adds r0, 0x1 + strh r0, [r4, 0xA] +_080B040C: + ldrh r0, [r4, 0xC] + adds r0, 0x1 + strh r0, [r4, 0xC] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x3 + bne _080B0438 + ldrh r0, [r4, 0xE] + adds r0, 0x1 + strh r0, [r4, 0xE] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xA + bne _080B0430 +_080B0428: + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] + b _080B0450 +_080B0430: + ldrh r0, [r4, 0x8] + subs r0, 0x1 + strh r0, [r4, 0x8] + b _080B0450 +_080B0438: + strh r5, [r4, 0x12] + b _080B0450 +_080B043C: + subs r0, r1, 0x1 + strh r0, [r4, 0x12] + b _080B0450 +_080B0442: + movs r1, 0xA + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080B0450 + adds r0, r2, 0 + bl DestroyAnimVisualTask +_080B0450: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80B03A8 + + thumb_func_start sub_80B0458 +sub_80B0458: @ 80B0458 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x8 + lsls r0, 24 + lsls r1, 24 + lsrs r1, 24 + mov r9, r1 + lsls r2, 24 + lsrs r2, 24 + str r2, [sp] + lsls r3, 24 + lsrs r3, 24 + mov r10, r3 + movs r1, 0 + str r1, [sp, 0x4] + ldr r1, _080B04D0 @ =gUnknown_83E652C + lsrs r0, 22 + adds r4, r0, r1 + ldrb r0, [r4, 0x3] + lsls r0, 24 + asrs r0, 28 + mov r8, r0 + cmp r0, 0x2 + beq _080B0544 + ldrh r0, [r4, 0x2] + lsls r0, 20 + lsrs r0, 24 + bl GetBattlerAtPosition + lsls r0, 24 + lsrs r5, r0, 24 + adds r0, r5, 0 + bl sub_8072DF0 + lsls r0, 24 + cmp r0, 0 + beq _080B0544 + movs r0, 0x1 + str r0, [sp, 0x4] + adds r0, r5, 0 + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r7, r0, 24 + adds r0, r5, 0 + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r6, r0, 24 + mov r1, r8 + cmp r1, 0 + beq _080B04D4 + cmp r1, 0x1 + beq _080B050A + b _080B0556 + .align 2, 0 +_080B04D0: .4byte gUnknown_83E652C +_080B04D4: + adds r0, r5, 0 + movs r1, 0x1 + bl sub_8076B2C + lsls r0, 16 + asrs r0, 16 + movs r1, 0x6 + bl __divsi3 + lsls r1, r7, 16 + asrs r1, 16 + subs r1, r0 + lsls r1, 16 + lsrs r7, r1, 16 + adds r0, r5, 0 + movs r1, 0 + bl sub_8076B2C + lsls r0, 16 + asrs r0, 16 + movs r1, 0x6 + bl __divsi3 + lsls r1, r6, 16 + asrs r1, 16 + subs r1, r0 + b _080B053E +_080B050A: + adds r0, r5, 0 + movs r1, 0x1 + bl sub_8076B2C + lsls r0, 16 + asrs r0, 16 + movs r1, 0x6 + bl __divsi3 + lsls r1, r7, 16 + asrs r1, 16 + adds r1, r0 + lsls r1, 16 + lsrs r7, r1, 16 + adds r0, r5, 0 + movs r1, 0 + bl sub_8076B2C + lsls r0, 16 + asrs r0, 16 + movs r1, 0x6 + bl __divsi3 + lsls r1, r6, 16 + asrs r1, 16 + adds r1, r0 +_080B053E: + lsls r1, 16 + lsrs r6, r1, 16 + b _080B0556 +_080B0544: + ldrh r0, [r4] + lsls r0, 22 + asrs r0, 6 + lsrs r7, r0, 16 + ldr r0, [r4] + lsls r0, 12 + asrs r0, 22 + lsls r0, 16 + lsrs r6, r0, 16 +_080B0556: + lsls r0, r6, 16 + asrs r0, 16 + adds r0, 0x8 + lsrs r1, r0, 31 + adds r0, r1 + asrs r0, 1 + lsls r1, r7, 16 + asrs r1, 16 + subs r1, r0 + ldr r0, _080B05B0 @ =gUnknown_83E65A4 + lsls r1, 16 + asrs r1, 16 + movs r2, 0x8 + negs r2, r2 + movs r3, 0x12 + bl CreateSprite + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0x40 + beq _080B05B8 + lsls r4, r5, 4 + adds r4, r5 + lsls r4, 2 + ldr r0, _080B05B4 @ =gSprites + adds r4, r0 + adds r0, r4, 0 + mov r1, r9 + bl StartSpriteAffineAnim + mov r0, sp + ldrh r0, [r0, 0x4] + strh r0, [r4, 0x2E] + strh r7, [r4, 0x34] + strh r6, [r4, 0x36] + mov r1, r9 + strh r1, [r4, 0x38] + mov r0, sp + ldrh r0, [r0] + strh r0, [r4, 0x3A] + mov r1, r10 + strh r1, [r4, 0x3C] + movs r0, 0x1 + b _080B05BA + .align 2, 0 +_080B05B0: .4byte gUnknown_83E65A4 +_080B05B4: .4byte gSprites +_080B05B8: + movs r0, 0 +_080B05BA: + add sp, 0x8 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_80B0458 + + thumb_func_start sub_80B05CC +sub_80B05CC: @ 80B05CC + push {r4,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x20] + adds r0, 0x4 + strh r0, [r4, 0x20] + ldrh r1, [r4, 0x22] + adds r2, r1, 0 + adds r2, 0x8 + strh r2, [r4, 0x22] + lsls r0, 16 + asrs r0, 16 + movs r3, 0x34 + ldrsh r1, [r4, r3] + cmp r0, r1 + bge _080B05F6 + lsls r0, r2, 16 + asrs r0, 16 + movs r2, 0x36 + ldrsh r1, [r4, r2] + cmp r0, r1 + blt _080B06A6 +_080B05F6: + movs r3, 0x2E + ldrsh r0, [r4, r3] + cmp r0, 0x1 + bne _080B0678 + movs r1, 0x38 + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080B0678 + ldr r0, _080B066C @ =gUnknown_83E63E0 + movs r2, 0x34 + ldrsh r1, [r4, r2] + movs r3, 0x36 + ldrsh r2, [r4, r3] + adds r3, r4, 0 + adds r3, 0x43 + ldrb r3, [r3] + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x2E] + cmp r0, 0x40 + beq _080B065A + ldr r2, _080B0670 @ =gSprites + movs r0, 0x2E + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r1, r2, 0 + adds r1, 0x1C + adds r0, r1 + ldr r1, _080B0674 @ =sub_80B06B0 + str r1, [r0] + movs r3, 0x2E + ldrsh r1, [r4, r3] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r1, [r4, 0x3A] + strh r1, [r0, 0x3A] + movs r0, 0x2E + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r1, [r4, 0x3C] + strh r1, [r0, 0x3C] +_080B065A: + ldrb r0, [r4, 0x3] + lsls r0, 26 + lsrs r0, 27 + bl FreeOamMatrix + adds r0, r4, 0 + bl DestroySprite + b _080B06A6 + .align 2, 0 +_080B066C: .4byte gUnknown_83E63E0 +_080B0670: .4byte gSprites +_080B0674: .4byte sub_80B06B0 +_080B0678: + ldr r3, _080B06AC @ =gTasks + movs r2, 0x3C + ldrsh r1, [r4, r2] + lsls r1, 1 + movs r0, 0x3A + ldrsh r2, [r4, r0] + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + adds r1, r0 + adds r3, 0x8 + adds r1, r3 + ldrh r0, [r1] + subs r0, 0x1 + strh r0, [r1] + ldrb r0, [r4, 0x3] + lsls r0, 26 + lsrs r0, 27 + bl FreeOamMatrix + adds r0, r4, 0 + bl DestroySprite +_080B06A6: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080B06AC: .4byte gTasks + thumb_func_end sub_80B05CC + + thumb_func_start sub_80B06B0 +sub_80B06B0: @ 80B06B0 + push {r4,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x14 + bne _080B06F0 + ldr r3, _080B06F8 @ =gTasks + movs r0, 0x3C + ldrsh r1, [r4, r0] + lsls r1, 1 + movs r0, 0x3A + ldrsh r2, [r4, r0] + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + adds r1, r0 + adds r3, 0x8 + adds r1, r3 + ldrh r0, [r1] + subs r0, 0x1 + strh r0, [r1] + ldrb r0, [r4, 0x3] + lsls r0, 26 + lsrs r0, 27 + bl FreeOamMatrix + adds r0, r4, 0 + bl DestroySprite +_080B06F0: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080B06F8: .4byte gTasks + thumb_func_end sub_80B06B0 + + thumb_func_start unc_080B06FC +unc_080B06FC: @ 80B06FC + push {r4-r6,lr} + adds r5, r0, 0 + ldr r0, _080B077C @ =gUnknown_2037EE4 + ldr r0, [r0] + ldrb r1, [r0, 0x11] + lsrs r0, r1, 4 + lsls r1, 28 + lsrs r1, 28 + subs r0, r1 + subs r0, 0x1 + lsls r0, 24 + lsrs r1, r0, 24 + cmp r1, 0x4 + bls _080B071A + movs r1, 0x4 +_080B071A: + adds r0, r5, 0 + bl StartSpriteAffineAnim + adds r0, r5, 0 + movs r1, 0x1 + bl sub_8075160 + ldr r6, _080B0780 @ =gBattleAnimArgs + ldrh r0, [r6, 0x8] + strh r0, [r5, 0x2E] + ldr r0, _080B0784 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080B0742 + ldrh r0, [r6, 0x4] + negs r0, r0 + strh r0, [r6, 0x4] +_080B0742: + ldr r4, _080B0788 @ =gBattleAnimTarget + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r1, [r6, 0x4] + adds r0, r1 + strh r0, [r5, 0x32] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r1, [r6, 0x6] + adds r0, r1 + strh r0, [r5, 0x36] + ldrh r0, [r6, 0xA] + strh r0, [r5, 0x38] + adds r0, r5, 0 + bl sub_8075068 + ldr r0, _080B078C @ =sub_80B0790 + str r0, [r5, 0x1C] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080B077C: .4byte gUnknown_2037EE4 +_080B0780: .4byte gBattleAnimArgs +_080B0784: .4byte gBattleAnimAttacker +_080B0788: .4byte gBattleAnimTarget +_080B078C: .4byte sub_80B0790 + thumb_func_end unc_080B06FC + + thumb_func_start sub_80B0790 +sub_80B0790: @ 80B0790 + push {r4,lr} + adds r4, r0, 0 + bl AnimateBallThrow + lsls r0, 24 + cmp r0, 0 + beq _080B07B2 + adds r0, r4, 0 + movs r1, 0x1 + bl StartSpriteAnim + ldr r0, _080B07B8 @ =sub_8074F6C + str r0, [r4, 0x1C] + ldr r1, _080B07BC @ =DestroyAnimSprite + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 +_080B07B2: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080B07B8: .4byte sub_8074F6C +_080B07BC: .4byte DestroyAnimSprite + thumb_func_end sub_80B0790 + + thumb_func_start sub_80B07C0 +sub_80B07C0: @ 80B07C0 + push {r4-r6,lr} + adds r4, r0, 0 + ldrh r2, [r4, 0x4] + lsls r1, r2, 22 + lsrs r1, 22 + adds r1, 0x8 + ldr r3, _080B0814 @ =0x000003ff + adds r0, r3, 0 + ands r1, r0 + ldr r0, _080B0818 @ =0xfffffc00 + ands r0, r2 + orrs r0, r1 + strh r0, [r4, 0x4] + adds r0, r4, 0 + movs r1, 0x1 + bl sub_8075114 + bl Random + movs r5, 0xFF + ands r5, r0 + movs r0, 0x80 + lsls r0, 1 + adds r6, r0, 0 + orrs r5, r6 + bl Random + ldr r1, _080B081C @ =0x000001ff + ands r1, r0 + adds r0, r1, 0 + cmp r0, 0xFF + ble _080B0806 + subs r0, r6, r0 + lsls r0, 16 + lsrs r1, r0, 16 +_080B0806: + strh r5, [r4, 0x30] + strh r1, [r4, 0x32] + ldr r0, _080B0820 @ =sub_80B0824 + str r0, [r4, 0x1C] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080B0814: .4byte 0x000003ff +_080B0818: .4byte 0xfffffc00 +_080B081C: .4byte 0x000001ff +_080B0820: .4byte sub_80B0824 + thumb_func_end sub_80B07C0 + + thumb_func_start sub_80B0824 +sub_80B0824: @ 80B0824 + push {r4,lr} + adds r2, r0, 0 + ldrh r0, [r2, 0x30] + ldrh r1, [r2, 0x34] + adds r3, r0, r1 + strh r3, [r2, 0x34] + ldrh r1, [r2, 0x32] + ldrh r4, [r2, 0x36] + adds r1, r4 + strh r1, [r2, 0x36] + movs r1, 0x1 + ands r1, r0 + cmp r1, 0 + beq _080B0848 + lsls r0, r3, 16 + asrs r0, 24 + negs r0, r0 + b _080B084C +_080B0848: + lsls r0, r3, 16 + asrs r0, 24 +_080B084C: + strh r0, [r2, 0x24] + ldrh r0, [r2, 0x36] + lsls r0, 16 + asrs r0, 24 + strh r0, [r2, 0x26] + ldrh r0, [r2, 0x2E] + adds r0, 0x1 + strh r0, [r2, 0x2E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x15 + bne _080B086A + adds r0, r2, 0 + bl DestroyAnimSprite +_080B086A: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80B0824 + + thumb_func_start sub_80B0870 +sub_80B0870: @ 80B0870 + push {lr} + lsls r0, 24 + lsrs r0, 24 + ldr r1, _080B0898 @ =gBattleAnimArgs + ldrb r3, [r1] + lsls r3, 1 + adds r3, r1 + ldr r1, _080B089C @ =gUnknown_2037EE4 + ldr r1, [r1] + ldrb r1, [r1, 0x11] + lsrs r2, r1, 4 + lsls r1, 28 + lsrs r1, 28 + subs r2, r1 + subs r2, 0x1 + strh r2, [r3] + bl DestroyAnimVisualTask + pop {r0} + bx r0 + .align 2, 0 +_080B0898: .4byte gBattleAnimArgs +_080B089C: .4byte gUnknown_2037EE4 + thumb_func_end sub_80B0870 + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/poison.s b/asm/poison.s new file mode 100644 index 000000000..adaa51dbd --- /dev/null +++ b/asm/poison.s @@ -0,0 +1,326 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start sub_80B1620 +sub_80B1620: @ 80B1620 + push {r4,r5,lr} + adds r5, r0, 0 + ldr r4, _080B1674 @ =gBattleAnimArgs + movs r1, 0x6 + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080B1636 + adds r0, r5, 0 + movs r1, 0x2 + bl StartSpriteAnim +_080B1636: + adds r0, r5, 0 + movs r1, 0x1 + bl sub_8075160 + ldrh r0, [r4, 0x4] + strh r0, [r5, 0x2E] + ldr r4, _080B1678 @ =gBattleAnimTarget + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x32] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x36] + ldr r0, _080B167C @ =0x0000ffe2 + strh r0, [r5, 0x38] + adds r0, r5, 0 + bl sub_8075068 + ldr r0, _080B1680 @ =sub_80B1684 + str r0, [r5, 0x1C] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080B1674: .4byte gBattleAnimArgs +_080B1678: .4byte gBattleAnimTarget +_080B167C: .4byte 0x0000ffe2 +_080B1680: .4byte sub_80B1684 + thumb_func_end sub_80B1620 + + thumb_func_start sub_80B1684 +sub_80B1684: @ 80B1684 + push {r4,lr} + adds r4, r0, 0 + bl AnimateBallThrow + lsls r0, 24 + cmp r0, 0 + beq _080B1698 + adds r0, r4, 0 + bl DestroyAnimSprite +_080B1698: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80B1684 + + thumb_func_start sub_80B16A0 +sub_80B16A0: @ 80B16A0 + push {r4-r6,lr} + sub sp, 0x4 + adds r4, r0, 0 + ldr r5, _080B1714 @ =gBattleAnimArgs + movs r1, 0x6 + ldrsh r0, [r5, r1] + cmp r0, 0 + bne _080B16B8 + adds r0, r4, 0 + movs r1, 0x2 + bl StartSpriteAnim +_080B16B8: + adds r0, r4, 0 + movs r1, 0x1 + bl sub_8075160 + ldr r0, _080B1718 @ =gBattleAnimTarget + ldrb r0, [r0] + mov r6, sp + adds r6, 0x2 + movs r1, 0x1 + mov r2, sp + adds r3, r6, 0 + bl sub_8076D9C + ldr r0, _080B171C @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080B16E6 + ldrh r0, [r5, 0x8] + negs r0, r0 + strh r0, [r5, 0x8] +_080B16E6: + ldrh r0, [r5, 0x4] + strh r0, [r4, 0x2E] + mov r1, sp + ldrh r0, [r5, 0x8] + ldrh r1, [r1] + adds r0, r1 + strh r0, [r4, 0x32] + ldrh r0, [r5, 0xA] + ldrh r6, [r6] + adds r0, r6 + strh r0, [r4, 0x36] + ldr r0, _080B1720 @ =0x0000ffe2 + strh r0, [r4, 0x38] + adds r0, r4, 0 + bl sub_8075068 + ldr r0, _080B1724 @ =sub_80B1728 + str r0, [r4, 0x1C] + add sp, 0x4 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080B1714: .4byte gBattleAnimArgs +_080B1718: .4byte gBattleAnimTarget +_080B171C: .4byte gBattleAnimAttacker +_080B1720: .4byte 0x0000ffe2 +_080B1724: .4byte sub_80B1728 + thumb_func_end sub_80B16A0 + + thumb_func_start sub_80B1728 +sub_80B1728: @ 80B1728 + push {r4,lr} + adds r4, r0, 0 + bl AnimateBallThrow + lsls r0, 24 + cmp r0, 0 + beq _080B173C + adds r0, r4, 0 + bl DestroyAnimSprite +_080B173C: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80B1728 + + thumb_func_start sub_80B1744 +sub_80B1744: @ 80B1744 + push {r4,r5,lr} + adds r4, r0, 0 + ldr r5, _080B1790 @ =gBattleAnimArgs + ldrh r0, [r5, 0x4] + strh r0, [r4, 0x2E] + ldrh r0, [r4, 0x20] + strh r0, [r4, 0x30] + ldrh r1, [r5] + adds r0, r1 + strh r0, [r4, 0x32] + ldrh r0, [r4, 0x22] + strh r0, [r4, 0x34] + ldrh r1, [r5, 0x2] + adds r0, r1 + strh r0, [r4, 0x36] + adds r0, r4, 0 + bl sub_80754B8 + movs r1, 0x30 + ldrsh r0, [r4, r1] + movs r2, 0x4 + ldrsh r1, [r5, r2] + bl __divsi3 + strh r0, [r4, 0x38] + movs r1, 0x32 + ldrsh r0, [r4, r1] + movs r2, 0x4 + ldrsh r1, [r5, r2] + bl __divsi3 + strh r0, [r4, 0x3A] + ldr r0, _080B1794 @ =sub_80B1798 + str r0, [r4, 0x1C] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080B1790: .4byte gBattleAnimArgs +_080B1794: .4byte sub_80B1798 + thumb_func_end sub_80B1744 + + thumb_func_start sub_80B1798 +sub_80B1798: @ 80B1798 + push {r4,lr} + adds r4, r0, 0 + bl sub_8074D00 + ldrh r0, [r4, 0x30] + ldrh r1, [r4, 0x38] + subs r0, r1 + strh r0, [r4, 0x30] + ldrh r0, [r4, 0x32] + ldrh r1, [r4, 0x3A] + subs r0, r1 + strh r0, [r4, 0x32] + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080B17BE + adds r0, r4, 0 + bl DestroyAnimSprite +_080B17BE: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80B1798 + + thumb_func_start sub_80B17C4 +sub_80B17C4: @ 80B17C4 + push {r4,lr} + adds r4, r0, 0 + ldr r0, _080B1824 @ =gBattleAnimTarget + ldrb r0, [r0] + adds r2, r4, 0 + adds r2, 0x20 + adds r3, r4, 0 + adds r3, 0x22 + movs r1, 0x1 + bl sub_8076D9C + ldr r0, _080B1828 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080B17F0 + ldr r1, _080B182C @ =gBattleAnimArgs + ldrh r0, [r1] + negs r0, r0 + strh r0, [r1] +_080B17F0: + ldr r0, _080B182C @ =gBattleAnimArgs + ldrh r2, [r0] + ldrh r1, [r4, 0x20] + adds r2, r1 + strh r2, [r4, 0x20] + ldrh r1, [r0, 0x2] + ldrh r3, [r4, 0x22] + adds r1, r3 + strh r1, [r4, 0x22] + ldrh r3, [r0, 0x8] + strh r3, [r4, 0x2E] + ldrh r0, [r0, 0x4] + adds r2, r0 + strh r2, [r4, 0x32] + adds r1, r3 + strh r1, [r4, 0x36] + ldr r0, _080B1830 @ =sub_8075590 + str r0, [r4, 0x1C] + ldr r1, _080B1834 @ =DestroyAnimSprite + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080B1824: .4byte gBattleAnimTarget +_080B1828: .4byte gBattleAnimAttacker +_080B182C: .4byte gBattleAnimArgs +_080B1830: .4byte sub_8075590 +_080B1834: .4byte DestroyAnimSprite + thumb_func_end sub_80B17C4 + + thumb_func_start sub_80B1838 +sub_80B1838: @ 80B1838 + push {r4,r5,lr} + adds r4, r0, 0 + ldr r5, _080B1850 @ =gBattleAnimArgs + movs r1, 0x4 + ldrsh r0, [r5, r1] + cmp r0, 0 + bne _080B1854 + adds r0, r4, 0 + movs r1, 0x1 + bl sub_8075114 + b _080B188A + .align 2, 0 +_080B1850: .4byte gBattleAnimArgs +_080B1854: + ldr r0, _080B1894 @ =gBattleAnimTarget + ldrb r0, [r0] + adds r2, r4, 0 + adds r2, 0x20 + adds r3, r4, 0 + adds r3, 0x22 + movs r1, 0x1 + bl sub_8076D9C + ldr r0, _080B1898 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080B187A + ldrh r0, [r5] + negs r0, r0 + strh r0, [r5] +_080B187A: + ldrh r0, [r5] + ldrh r1, [r4, 0x20] + adds r0, r1 + strh r0, [r4, 0x20] + ldrh r0, [r5, 0x2] + ldrh r1, [r4, 0x22] + adds r0, r1 + strh r0, [r4, 0x22] +_080B188A: + ldr r0, _080B189C @ =sub_80B18A0 + str r0, [r4, 0x1C] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080B1894: .4byte gBattleAnimTarget +_080B1898: .4byte gBattleAnimAttacker +_080B189C: .4byte sub_80B18A0 + thumb_func_end sub_80B1838 + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/psychic.s b/asm/psychic.s new file mode 100644 index 000000000..9e2d8e28f --- /dev/null +++ b/asm/psychic.s @@ -0,0 +1,2180 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start sub_80B2ECC +sub_80B2ECC: @ 80B2ECC + push {r4-r7,lr} + adds r6, r0, 0 + ldr r0, _080B2F84 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080B2EE8 + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + beq _080B2EFE +_080B2EE8: + ldrb r1, [r6, 0x5] + movs r0, 0xD + negs r0, r0 + ands r0, r1 + movs r1, 0x8 + orrs r0, r1 + strb r0, [r6, 0x5] + adds r1, r6, 0 + adds r1, 0x43 + movs r0, 0xC8 + strb r0, [r1] +_080B2EFE: + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080B2F5A + movs r0, 0x1 + bl GetBattlerAtPosition + lsls r0, 24 + lsrs r4, r0, 24 + adds r7, r4, 0 + adds r0, r4, 0 + bl sub_80768B0 + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x1 + eors r0, r1 + negs r1, r0 + orrs r1, r0 + lsrs r5, r1, 31 + adds r0, r4, 0 + bl sub_8072DF0 + lsls r0, 24 + cmp r0, 0 + beq _080B2F3C + adds r0, r4, 0 + adds r1, r5, 0 + bl sub_8072E48 +_080B2F3C: + movs r0, 0x2 + adds r4, r0, 0 + eors r4, r7 + adds r0, r4, 0 + bl sub_8072DF0 + lsls r0, 24 + cmp r0, 0 + beq _080B2F5A + movs r0, 0x1 + eors r5, r0 + adds r0, r4, 0 + adds r1, r5, 0 + bl sub_8072E48 +_080B2F5A: + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080B2F90 + bl sub_8075290 + lsls r0, 24 + cmp r0, 0 + beq _080B2F90 + ldr r0, _080B2F84 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _080B2F88 + movs r0, 0x48 + strh r0, [r6, 0x20] + movs r0, 0x50 + b _080B2FCA + .align 2, 0 +_080B2F84: .4byte gBattleAnimAttacker +_080B2F88: + movs r0, 0xB0 + strh r0, [r6, 0x20] + movs r0, 0x28 + b _080B2FCA +_080B2F90: + ldr r5, _080B3000 @ =gBattleAnimAttacker + ldrb r0, [r5] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080B2FA6 + ldr r1, _080B3004 @ =gBattleAnimArgs + ldrh r0, [r1] + negs r0, r0 + strh r0, [r1] +_080B2FA6: + ldrb r0, [r5] + movs r1, 0 + bl sub_8074480 + lsls r0, 24 + ldr r4, _080B3004 @ =gBattleAnimArgs + lsrs r0, 24 + ldrh r1, [r4] + adds r0, r1 + strh r0, [r6, 0x20] + ldrb r0, [r5] + movs r1, 0x1 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r4, [r4, 0x2] + adds r0, r4 +_080B2FCA: + strh r0, [r6, 0x22] + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + beq _080B2FDC + ldrh r0, [r6, 0x22] + adds r0, 0x9 + strh r0, [r6, 0x22] +_080B2FDC: + ldr r0, _080B3004 @ =gBattleAnimArgs + ldrh r0, [r0, 0x4] + bl IndexOfSpritePaletteTag + lsls r0, 24 + lsrs r0, 20 + movs r1, 0x80 + lsls r1, 1 + adds r0, r1 + strh r0, [r6, 0x2E] + ldr r1, _080B3008 @ =sub_80B300C + str r1, [r6, 0x1C] + adds r0, r6, 0 + bl _call_via_r1 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080B3000: .4byte gBattleAnimAttacker +_080B3004: .4byte gBattleAnimArgs +_080B3008: .4byte sub_80B300C + thumb_func_end sub_80B2ECC + + thumb_func_start sub_80B300C +sub_80B300C: @ 80B300C + push {r4,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x34] + movs r1, 0x10 + subs r1, r0 + lsls r1, 8 + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + ldrh r1, [r4, 0x34] + movs r2, 0x34 + ldrsh r0, [r4, r2] + cmp r0, 0xD + bne _080B3038 + ldr r0, _080B3034 @ =sub_80B3044 + str r0, [r4, 0x1C] + b _080B303C + .align 2, 0 +_080B3034: .4byte sub_80B3044 +_080B3038: + adds r0, r1, 0x1 + strh r0, [r4, 0x34] +_080B303C: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80B300C + + thumb_func_start sub_80B3044 +sub_80B3044: @ 80B3044 + push {r4-r7,lr} + adds r3, r0, 0 + ldrh r0, [r3, 0x30] + adds r0, 0x1 + strh r0, [r3, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x2 + bne _080B30A2 + movs r0, 0 + strh r0, [r3, 0x30] + ldrh r4, [r3, 0x2E] + ldr r1, _080B30A8 @ =gPlttBufferFaded + adds r0, r4, 0 + adds r0, 0x8 + lsls r0, 1 + adds r0, r1 + ldrh r7, [r0] + movs r5, 0x8 + adds r6, r1, 0 + adds r1, r4, 0x7 + lsls r0, r4, 1 + adds r0, r6 + adds r2, r0, 0 + adds r2, 0x10 + lsls r1, 1 + adds r1, r6 +_080B307A: + ldrh r0, [r1] + strh r0, [r2] + subs r1, 0x2 + subs r2, 0x2 + subs r5, 0x1 + cmp r5, 0 + bgt _080B307A + adds r0, r4, 0x1 + lsls r0, 1 + adds r0, r6 + strh r7, [r0] + ldrh r0, [r3, 0x32] + adds r0, 0x1 + strh r0, [r3, 0x32] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x10 + bne _080B30A2 + ldr r0, _080B30AC @ =sub_80B30B0 + str r0, [r3, 0x1C] +_080B30A2: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080B30A8: .4byte gPlttBufferFaded +_080B30AC: .4byte sub_80B30B0 + thumb_func_end sub_80B3044 + + thumb_func_start sub_80B30B0 +sub_80B30B0: @ 80B30B0 + push {r4-r6,lr} + adds r5, r0, 0 + ldrh r0, [r5, 0x34] + movs r1, 0x10 + subs r1, r0 + lsls r1, 8 + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + ldrh r0, [r5, 0x34] + subs r0, 0x1 + strh r0, [r5, 0x34] + lsls r0, 16 + asrs r0, 16 + movs r1, 0x1 + negs r1, r1 + cmp r0, r1 + bne _080B3156 + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080B3146 + movs r0, 0x1 + bl GetBattlerAtPosition + lsls r0, 24 + lsrs r4, r0, 24 + adds r6, r4, 0 + adds r0, r4, 0 + bl sub_8072DF0 + lsls r0, 24 + cmp r0, 0 + beq _080B3118 + ldr r2, _080B315C @ =gSprites + ldr r0, _080B3160 @ =gUnknown_2023D44 + adds r0, r4, r0 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + adds r0, 0x3E + ldrb r2, [r0] + movs r1, 0x5 + negs r1, r1 + ands r1, r2 + strb r1, [r0] +_080B3118: + movs r0, 0x2 + adds r4, r0, 0 + eors r4, r6 + adds r0, r4, 0 + bl sub_8072DF0 + lsls r0, 24 + cmp r0, 0 + beq _080B3146 + ldr r2, _080B315C @ =gSprites + ldr r0, _080B3160 @ =gUnknown_2023D44 + adds r0, r4, r0 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + adds r0, 0x3E + ldrb r2, [r0] + movs r1, 0x5 + negs r1, r1 + ands r1, r2 + strb r1, [r0] +_080B3146: + adds r2, r5, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] + ldr r0, _080B3164 @ =sub_80B3168 + str r0, [r5, 0x1C] +_080B3156: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080B315C: .4byte gSprites +_080B3160: .4byte gUnknown_2023D44 +_080B3164: .4byte sub_80B3168 + thumb_func_end sub_80B30B0 + + thumb_func_start sub_80B3168 +sub_80B3168: @ 80B3168 + push {r4-r6,lr} + adds r6, r0, 0 + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080B31C0 + movs r0, 0x1 + bl GetBattlerAtPosition + lsls r0, 24 + lsrs r0, 24 + adds r4, r0, 0 + bl sub_80768B0 + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x1 + eors r0, r1 + negs r1, r0 + orrs r1, r0 + lsrs r5, r1, 31 + adds r0, r4, 0 + bl sub_8072DF0 + lsls r0, 24 + cmp r0, 0 + beq _080B31A6 + adds r0, r5, 0 + bl sub_8073128 +_080B31A6: + movs r0, 0x2 + eors r4, r0 + adds r0, r4, 0 + bl sub_8072DF0 + lsls r0, 24 + cmp r0, 0 + beq _080B31C0 + movs r0, 0x1 + eors r5, r0 + adds r0, r5, 0 + bl sub_8073128 +_080B31C0: + ldr r0, _080B31CC @ =DestroyAnimSprite + str r0, [r6, 0x1C] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080B31CC: .4byte DestroyAnimSprite + thumb_func_end sub_80B3168 + + thumb_func_start sub_80B31D0 +sub_80B31D0: @ 80B31D0 + push {r4-r6,lr} + adds r4, r0, 0 + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080B325C + ldr r5, _080B321C @ =gBattleAnimArgs + movs r1, 0x6 + ldrsh r0, [r5, r1] + movs r6, 0 + cmp r0, 0 + bne _080B31EA + movs r6, 0x1 +_080B31EA: + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080B3232 + bl sub_8075290 + lsls r0, 24 + cmp r0, 0 + beq _080B3232 + ldr r0, _080B3220 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _080B3224 + ldrh r0, [r5] + movs r1, 0x48 + subs r1, r0 + strh r1, [r4, 0x20] + ldrh r0, [r5, 0x2] + adds r0, 0x50 + strh r0, [r4, 0x22] + b _080B3254 + .align 2, 0 +_080B321C: .4byte gBattleAnimArgs +_080B3220: .4byte gBattleAnimAttacker +_080B3224: + ldrh r0, [r5] + adds r0, 0xB0 + strh r0, [r4, 0x20] + ldrh r0, [r5, 0x2] + adds r0, 0x28 + strh r0, [r4, 0x22] + b _080B3254 +_080B3232: + ldr r0, _080B3248 @ =gBattleAnimArgs + movs r1, 0x4 + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _080B324C + adds r0, r4, 0 + adds r1, r6, 0 + bl sub_8075160 + b _080B3254 + .align 2, 0 +_080B3248: .4byte gBattleAnimArgs +_080B324C: + adds r0, r4, 0 + adds r1, r6, 0 + bl sub_8075114 +_080B3254: + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + b _080B3270 +_080B325C: + adds r0, r4, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x30 + ands r0, r1 + cmp r0, 0 + beq _080B3270 + adds r0, r4, 0 + bl move_anim_8074EE0 +_080B3270: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_80B31D0 + + thumb_func_start sub_80B3278 +sub_80B3278: @ 80B3278 + push {r4,r5,lr} + adds r5, r0, 0 + ldr r4, _080B32C0 @ =gBattleAnimAttacker + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x20] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x22] + ldrb r0, [r4] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080B32C8 + adds r0, r5, 0 + movs r1, 0x1 + bl StartSpriteAnim + ldrh r0, [r5, 0x20] + subs r0, 0x28 + strh r0, [r5, 0x20] + ldrh r0, [r5, 0x22] + adds r0, 0xA + strh r0, [r5, 0x22] + ldr r0, _080B32C4 @ =0x0000ffff + b _080B32D6 + .align 2, 0 +_080B32C0: .4byte gBattleAnimAttacker +_080B32C4: .4byte 0x0000ffff +_080B32C8: + ldrh r0, [r5, 0x20] + adds r0, 0x28 + strh r0, [r5, 0x20] + ldrh r0, [r5, 0x22] + subs r0, 0xA + strh r0, [r5, 0x22] + movs r0, 0x1 +_080B32D6: + strh r0, [r5, 0x30] + ldr r1, _080B32EC @ =DestroyAnimSprite + adds r0, r5, 0 + bl StoreSpriteCallbackInData6 + ldr r0, _080B32F0 @ =sub_8074F6C + str r0, [r5, 0x1C] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080B32EC: .4byte DestroyAnimSprite +_080B32F0: .4byte sub_8074F6C + thumb_func_end sub_80B3278 + + thumb_func_start sub_80B32F4 +sub_80B32F4: @ 80B32F4 + push {r4-r7,lr} + adds r5, r0, 0 + ldr r6, _080B3378 @ =gBattleAnimAttacker + ldrb r0, [r6] + movs r1, 0x1 + bl sub_8076B2C + lsls r0, 16 + asrs r1, r0, 16 + lsrs r0, 31 + adds r1, r0 + lsls r1, 15 + lsrs r4, r1, 16 + ldrb r0, [r6] + movs r1, 0 + bl sub_8076B2C + lsls r0, 16 + asrs r1, r0, 16 + lsrs r0, 31 + adds r1, r0 + asrs r1, 1 + negs r1, r1 + lsls r1, 16 + lsrs r7, r1, 16 + ldrb r0, [r6] + bl GetBattlerSide + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080B333A + lsls r0, r4, 16 + negs r0, r0 + lsrs r4, r0, 16 +_080B333A: + ldrb r0, [r6] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + adds r0, r4 + strh r0, [r5, 0x20] + ldrb r0, [r6] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + adds r0, r7 + strh r0, [r5, 0x22] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xF + bgt _080B3366 + movs r0, 0x10 + strh r0, [r5, 0x22] +_080B3366: + ldr r1, _080B337C @ =sub_80B3384 + adds r0, r5, 0 + bl StoreSpriteCallbackInData6 + ldr r0, _080B3380 @ =sub_8074F6C + str r0, [r5, 0x1C] + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080B3378: .4byte gBattleAnimAttacker +_080B337C: .4byte sub_80B3384 +_080B3380: .4byte sub_8074F6C + thumb_func_end sub_80B32F4 + + thumb_func_start sub_80B3384 +sub_80B3384: @ 80B3384 + push {r4,lr} + adds r4, r0, 0 + ldrb r1, [r4, 0x1] + movs r0, 0x4 + negs r0, r0 + ands r0, r1 + movs r1, 0x1 + orrs r0, r1 + strb r0, [r4, 0x1] + ldr r0, _080B33B0 @ =gUnknown_83E6FF0 + str r0, [r4, 0x10] + movs r0, 0 + strh r0, [r4, 0x2E] + adds r0, r4, 0 + bl InitSpriteAffineAnim + ldr r0, _080B33B4 @ =sub_80B33B8 + str r0, [r4, 0x1C] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080B33B0: .4byte gUnknown_83E6FF0 +_080B33B4: .4byte sub_80B33B8 + thumb_func_end sub_80B3384 + + thumb_func_start sub_80B33B8 +sub_80B33B8: @ 80B33B8 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0 + beq _080B33CA + cmp r0, 0x1 + beq _080B33F8 + b _080B3410 +_080B33CA: + adds r0, r4, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x20 + ands r0, r1 + cmp r0, 0 + beq _080B3410 + ldrb r0, [r4, 0x3] + lsls r0, 26 + lsrs r0, 27 + bl FreeOamMatrix + ldrb r1, [r4, 0x1] + movs r0, 0x4 + negs r0, r0 + ands r0, r1 + strb r0, [r4, 0x1] + movs r0, 0x12 + strh r0, [r4, 0x30] + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + b _080B3410 +_080B33F8: + ldrh r0, [r4, 0x30] + subs r0, 0x1 + strh r0, [r4, 0x30] + lsls r0, 16 + asrs r0, 16 + movs r1, 0x1 + negs r1, r1 + cmp r0, r1 + bne _080B3410 + adds r0, r4, 0 + bl DestroyAnimSprite +_080B3410: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80B33B8 + + thumb_func_start sub_80B3418 +sub_80B3418: @ 80B3418 + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r4, r0, 2 + adds r4, r0 + lsls r4, 3 + ldr r0, _080B3448 @ =gTasks + adds r4, r0 + movs r0, 0 + bl GetAnimBankSpriteId + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + strh r1, [r4, 0x8] + ldr r2, _080B344C @ =gUnknown_83E700C + adds r0, r4, 0 + bl sub_80762D0 + ldr r0, _080B3450 @ =sub_80B3454 + str r0, [r4] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080B3448: .4byte gTasks +_080B344C: .4byte gUnknown_83E700C +_080B3450: .4byte sub_80B3454 + thumb_func_end sub_80B3418 + + thumb_func_start sub_80B3454 +sub_80B3454: @ 80B3454 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + ldr r1, _080B347C @ =gTasks + adds r0, r1 + bl sub_8076308 + lsls r0, 24 + cmp r0, 0 + bne _080B3474 + adds r0, r4, 0 + bl DestroyAnimVisualTask +_080B3474: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080B347C: .4byte gTasks + thumb_func_end sub_80B3454 + + thumb_func_start sub_80B3480 +sub_80B3480: @ 80B3480 + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, _080B34CC @ =gTasks + adds r4, r1, r0 + movs r0, 0 + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r0, 24 + movs r1, 0 + strh r0, [r4, 0x8] + strh r1, [r4, 0xA] + strh r1, [r4, 0xC] + ldr r0, _080B34D0 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + movs r1, 0x8 + cmp r0, 0 + beq _080B34B4 + movs r1, 0x4 +_080B34B4: + strh r1, [r4, 0xE] + ldrb r1, [r4, 0x8] + ldr r2, _080B34D4 @ =gUnknown_83E702C + adds r0, r4, 0 + bl sub_80762D0 + ldr r0, _080B34D8 @ =sub_80B34DC + str r0, [r4] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080B34CC: .4byte gTasks +_080B34D0: .4byte gBattleAnimAttacker +_080B34D4: .4byte gUnknown_83E702C +_080B34D8: .4byte sub_80B34DC + thumb_func_end sub_80B3480 + + thumb_func_start sub_80B34DC +sub_80B34DC: @ 80B34DC + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + ldr r1, _080B34FC @ =gTasks + adds r4, r0, r1 + movs r1, 0xA + ldrsh r0, [r4, r1] + cmp r0, 0 + beq _080B3500 + cmp r0, 0x1 + beq _080B351C + b _080B357A + .align 2, 0 +_080B34FC: .4byte gTasks +_080B3500: + adds r0, r4, 0 + bl sub_8076308 + ldrh r0, [r4, 0xC] + adds r0, 0x1 + strh r0, [r4, 0xC] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x13 + ble _080B357A + ldrh r0, [r4, 0xA] + adds r0, 0x1 + strh r0, [r4, 0xA] + b _080B357A +_080B351C: + movs r1, 0xE + ldrsh r0, [r4, r1] + cmp r0, 0 + beq _080B3544 + ldr r2, _080B3540 @ =gSprites + movs r0, 0x8 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r1, [r0, 0x26] + subs r1, 0x8 + strh r1, [r0, 0x26] + ldrh r0, [r4, 0xE] + subs r0, 0x1 + strh r0, [r4, 0xE] + b _080B357A + .align 2, 0 +_080B3540: .4byte gSprites +_080B3544: + ldr r3, _080B3580 @ =gSprites + movs r0, 0x8 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r3 + adds r0, 0x3E + ldrb r1, [r0] + movs r2, 0x4 + orrs r1, r2 + strb r1, [r0] + movs r0, 0x8 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r3 + movs r1, 0x88 + lsls r1, 1 + strh r1, [r0, 0x20] + ldrb r0, [r4, 0x8] + bl sub_8075980 + adds r0, r5, 0 + bl DestroyAnimVisualTask +_080B357A: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080B3580: .4byte gSprites + thumb_func_end sub_80B34DC + + thumb_func_start sub_80B3584 +sub_80B3584: @ 80B3584 + push {r4-r6,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, _080B360C @ =gTasks + adds r5, r1, r0 + movs r1, 0 + movs r0, 0x10 + strh r0, [r5, 0xE] + strh r1, [r5, 0x10] + ldr r4, _080B3610 @ =gBattleAnimAttacker + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x22] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x24] + ldrb r0, [r4] + movs r1, 0x1 + bl sub_8076B2C + lsls r0, 16 + asrs r0, 16 + movs r1, 0x3 + bl __divsi3 + lsls r0, 16 + lsrs r6, r0, 16 + ldrb r0, [r4] + movs r1, 0 + bl sub_8076B2C + lsls r0, 16 + asrs r0, 16 + movs r1, 0x3 + bl __divsi3 + lsls r0, 16 + lsrs r0, 16 + adds r1, r0, 0 + cmp r0, r6 + bcs _080B35EE + adds r1, r6, 0 +_080B35EE: + strh r1, [r5, 0x20] + movs r1, 0xFD + lsls r1, 6 + movs r0, 0x50 + bl SetGpuReg + movs r0, 0x52 + movs r1, 0x10 + bl SetGpuReg + ldr r0, _080B3614 @ =sub_80B3618 + str r0, [r5] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080B360C: .4byte gTasks +_080B3610: .4byte gBattleAnimAttacker +_080B3614: .4byte sub_80B3618 + thumb_func_end sub_80B3584 + + thumb_func_start sub_80B3618 +sub_80B3618: @ 80B3618 + push {r4-r6,lr} + lsls r0, 24 + lsrs r5, r0, 24 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + ldr r1, _080B363C @ =gTasks + adds r4, r0, r1 + movs r0, 0x8 + ldrsh r1, [r4, r0] + cmp r1, 0x1 + beq _080B3718 + cmp r1, 0x1 + bgt _080B3640 + cmp r1, 0 + beq _080B364E + b _080B379E + .align 2, 0 +_080B363C: .4byte gTasks +_080B3640: + cmp r1, 0x2 + bne _080B3646 + b _080B377A +_080B3646: + cmp r1, 0x3 + bne _080B364C + b _080B3788 +_080B364C: + b _080B379E +_080B364E: + ldrh r0, [r4, 0xA] + adds r0, 0x1 + strh r0, [r4, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x8 + bgt _080B365E + b _080B379E +_080B365E: + strh r1, [r4, 0xA] + ldr r0, _080B369C @ =gUnknown_83E7044 + movs r2, 0x22 + ldrsh r1, [r4, r2] + movs r3, 0x24 + ldrsh r2, [r4, r3] + movs r3, 0 + bl CreateSprite + lsls r0, 24 + lsrs r2, r0, 24 + movs r0, 0xC + ldrsh r1, [r4, r0] + adds r1, 0x8 + lsls r1, 1 + adds r0, r4, 0 + adds r0, 0x8 + adds r0, r1 + strh r2, [r0] + cmp r2, 0x40 + beq _080B3702 + movs r1, 0xC + ldrsh r0, [r4, r1] + cmp r0, 0x1 + beq _080B36BC + cmp r0, 0x1 + bgt _080B36A0 + cmp r0, 0 + beq _080B36AA + b _080B3702 + .align 2, 0 +_080B369C: .4byte gUnknown_83E7044 +_080B36A0: + cmp r0, 0x2 + beq _080B36D4 + cmp r0, 0x3 + beq _080B36EC + b _080B3702 +_080B36AA: + ldr r0, _080B36B8 @ =gSprites + lsls r1, r2, 4 + adds r1, r2 + lsls r1, 2 + adds r1, r0 + ldrh r0, [r4, 0x20] + b _080B36FA + .align 2, 0 +_080B36B8: .4byte gSprites +_080B36BC: + ldr r0, _080B36D0 @ =gSprites + lsls r1, r2, 4 + adds r1, r2 + lsls r1, 2 + adds r1, r0 + ldrh r0, [r4, 0x20] + negs r0, r0 + strh r0, [r1, 0x24] + ldrh r0, [r4, 0x20] + b _080B3700 + .align 2, 0 +_080B36D0: .4byte gSprites +_080B36D4: + ldr r1, _080B36E8 @ =gSprites + lsls r0, r2, 4 + adds r0, r2 + lsls r0, 2 + adds r0, r1 + ldrh r1, [r4, 0x20] + strh r1, [r0, 0x24] + ldrh r1, [r4, 0x20] + strh r1, [r0, 0x26] + b _080B3702 + .align 2, 0 +_080B36E8: .4byte gSprites +_080B36EC: + ldr r0, _080B3714 @ =gSprites + lsls r1, r2, 4 + adds r1, r2 + lsls r1, 2 + adds r1, r0 + ldrh r0, [r4, 0x20] + negs r0, r0 +_080B36FA: + strh r0, [r1, 0x24] + ldrh r0, [r4, 0x20] + negs r0, r0 +_080B3700: + strh r0, [r1, 0x26] +_080B3702: + ldrh r0, [r4, 0xC] + adds r0, 0x1 + strh r0, [r4, 0xC] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x5 + bne _080B379E + b _080B377A + .align 2, 0 +_080B3714: .4byte gSprites +_080B3718: + ldrh r0, [r4, 0xA] + ands r1, r0 + cmp r1, 0 + beq _080B3728 + ldrh r0, [r4, 0xE] + subs r0, 0x1 + strh r0, [r4, 0xE] + b _080B372E +_080B3728: + ldrh r0, [r4, 0x10] + adds r0, 0x1 + strh r0, [r4, 0x10] +_080B372E: + ldrh r1, [r4, 0x10] + lsls r1, 8 + ldrh r0, [r4, 0xE] + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + ldrh r0, [r4, 0xA] + adds r0, 0x1 + strh r0, [r4, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x20 + bne _080B379E + movs r5, 0x8 + adds r6, r4, 0 + adds r6, 0x8 +_080B3754: + lsls r0, r5, 1 + adds r1, r6, r0 + movs r2, 0 + ldrsh r0, [r1, r2] + cmp r0, 0x40 + beq _080B3770 + adds r1, r0, 0 + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r1, _080B3784 @ =gSprites + adds r0, r1 + bl DestroySprite +_080B3770: + adds r0, r5, 0x1 + lsls r0, 16 + lsrs r5, r0, 16 + cmp r5, 0xC + bls _080B3754 +_080B377A: + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] + b _080B379E + .align 2, 0 +_080B3784: .4byte gSprites +_080B3788: + movs r0, 0x52 + movs r1, 0 + bl SetGpuReg + movs r0, 0x50 + movs r1, 0 + bl SetGpuReg + adds r0, r5, 0 + bl DestroyAnimVisualTask +_080B379E: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_80B3618 + + thumb_func_start sub_80B37A4 +sub_80B37A4: @ 80B37A4 + push {r4,lr} + adds r4, r0, 0 + movs r0, 0x30 + ldrsh r1, [r4, r0] + movs r2, 0x2E + ldrsh r0, [r4, r2] + subs r0, 0xA + cmp r1, r0 + ble _080B37CE + ldrh r0, [r4, 0x30] + movs r1, 0x1 + ands r1, r0 + adds r3, r4, 0 + adds r3, 0x3E + lsls r1, 2 + ldrb r2, [r3] + movs r0, 0x5 + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r3] +_080B37CE: + movs r0, 0x30 + ldrsh r1, [r4, r0] + movs r2, 0x2E + ldrsh r0, [r4, r2] + cmp r1, r0 + bne _080B37E0 + adds r0, r4, 0 + bl DestroyAnimSprite +_080B37E0: + ldrh r0, [r4, 0x30] + adds r0, 0x1 + strh r0, [r4, 0x30] + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80B37A4 + + thumb_func_start sub_80B37EC +sub_80B37EC: @ 80B37EC + push {r4-r6,lr} + adds r5, r0, 0 + ldr r6, _080B3828 @ =gBattleAnimArgs + movs r1, 0 + ldrsh r0, [r6, r1] + cmp r0, 0 + bne _080B3818 + ldr r4, _080B382C @ =gBattleAnimAttacker + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x20] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x22] +_080B3818: + ldrh r0, [r6, 0x2] + strh r0, [r5, 0x2E] + ldr r0, _080B3830 @ =sub_80B37A4 + str r0, [r5, 0x1C] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080B3828: .4byte gBattleAnimArgs +_080B382C: .4byte gBattleAnimAttacker +_080B3830: .4byte sub_80B37A4 + thumb_func_end sub_80B37EC + + thumb_func_start sub_80B3834 +sub_80B3834: @ 80B3834 + push {r4,r5,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, _080B3890 @ =gTasks + adds r5, r1, r0 + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + beq _080B38D8 + ldr r0, _080B3894 @ =gBattleAnimArgs + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r0, 0x1 + bne _080B38A4 + ldr r0, _080B3898 @ =0x0000fff6 + strh r0, [r5, 0x1C] + ldr r4, _080B389C @ =gBattleAnimTarget + ldrb r0, [r4] + movs r1, 0x5 + bl sub_8076B2C + subs r0, 0x8 + strh r0, [r5, 0x1E] + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8076B2C + adds r0, 0x8 + strh r0, [r5, 0x20] + ldr r4, _080B38A0 @ =gBattleAnimAttacker + ldrb r0, [r4] + movs r1, 0x5 + bl sub_8076B2C + subs r0, 0x8 + strh r0, [r5, 0x22] + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8076B2C + adds r0, 0x8 + b _080B3962 + .align 2, 0 +_080B3890: .4byte gTasks +_080B3894: .4byte gBattleAnimArgs +_080B3898: .4byte 0x0000fff6 +_080B389C: .4byte gBattleAnimTarget +_080B38A0: .4byte gBattleAnimAttacker +_080B38A4: + movs r0, 0xA + strh r0, [r5, 0x1C] + ldr r4, _080B38D0 @ =gBattleAnimAttacker + ldrb r0, [r4] + movs r1, 0x4 + bl sub_8076B2C + adds r0, 0x8 + strh r0, [r5, 0x1E] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8076B2C + subs r0, 0x8 + strh r0, [r5, 0x20] + ldr r4, _080B38D4 @ =gBattleAnimTarget + ldrb r0, [r4] + movs r1, 0x4 + bl sub_8076B2C + adds r0, 0x8 + b _080B3956 + .align 2, 0 +_080B38D0: .4byte gBattleAnimAttacker +_080B38D4: .4byte gBattleAnimTarget +_080B38D8: + ldr r0, _080B391C @ =gBattleAnimArgs + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r0, 0x1 + bne _080B392C + ldr r0, _080B3920 @ =0x0000fff6 + strh r0, [r5, 0x1C] + ldr r4, _080B3924 @ =gBattleAnimTarget + ldrb r0, [r4] + movs r1, 0x4 + bl sub_8076B2C + adds r0, 0x8 + strh r0, [r5, 0x1E] + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8076B2C + adds r0, 0x8 + strh r0, [r5, 0x20] + ldr r4, _080B3928 @ =gBattleAnimAttacker + ldrb r0, [r4] + movs r1, 0x4 + bl sub_8076B2C + adds r0, 0x8 + strh r0, [r5, 0x22] + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8076B2C + adds r0, 0x8 + b _080B3962 + .align 2, 0 +_080B391C: .4byte gBattleAnimArgs +_080B3920: .4byte 0x0000fff6 +_080B3924: .4byte gBattleAnimTarget +_080B3928: .4byte gBattleAnimAttacker +_080B392C: + movs r0, 0xA + strh r0, [r5, 0x1C] + ldr r4, _080B3974 @ =gBattleAnimAttacker + ldrb r0, [r4] + movs r1, 0x5 + bl sub_8076B2C + subs r0, 0x8 + strh r0, [r5, 0x1E] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8076B2C + subs r0, 0x8 + strh r0, [r5, 0x20] + ldr r4, _080B3978 @ =gBattleAnimTarget + ldrb r0, [r4] + movs r1, 0x5 + bl sub_8076B2C + subs r0, 0x8 +_080B3956: + strh r0, [r5, 0x22] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8076B2C + subs r0, 0x8 +_080B3962: + strh r0, [r5, 0x24] + movs r0, 0x6 + strh r0, [r5, 0xA] + ldr r0, _080B397C @ =sub_80B3980 + str r0, [r5] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080B3974: .4byte gBattleAnimAttacker +_080B3978: .4byte gBattleAnimTarget +_080B397C: .4byte sub_80B3980 + thumb_func_end sub_80B3834 + + thumb_func_start sub_80B3980 +sub_80B3980: @ 80B3980 + push {r4,r5,lr} + lsls r0, 24 + lsrs r2, r0, 24 + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + ldr r1, _080B39A0 @ =gTasks + adds r5, r0, r1 + movs r0, 0x8 + ldrsh r1, [r5, r0] + cmp r1, 0 + beq _080B39A4 + cmp r1, 0x1 + beq _080B3A18 + b _080B3A2C + .align 2, 0 +_080B39A0: .4byte gTasks +_080B39A4: + ldrh r0, [r5, 0xA] + adds r0, 0x1 + strh r0, [r5, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x6 + ble _080B3A2C + strh r1, [r5, 0xA] + ldr r0, _080B3A10 @ =gUnknown_83E7114 + movs r2, 0x1E + ldrsh r1, [r5, r2] + movs r3, 0x20 + ldrsh r2, [r5, r3] + movs r3, 0 + bl CreateSprite + lsls r0, 24 + lsrs r1, r0, 24 + cmp r1, 0x40 + beq _080B39F8 + ldr r0, _080B3A14 @ =gSprites + lsls r4, r1, 4 + adds r4, r1 + lsls r4, 2 + adds r4, r0 + movs r0, 0x10 + strh r0, [r4, 0x2E] + ldrh r0, [r5, 0x22] + strh r0, [r4, 0x32] + ldrh r0, [r5, 0x24] + strh r0, [r4, 0x36] + ldrh r0, [r5, 0x1C] + strh r0, [r4, 0x38] + adds r0, r4, 0 + bl sub_8075068 + ldrb r0, [r5, 0xC] + movs r1, 0x3 + ands r1, r0 + adds r0, r4, 0 + bl StartSpriteAffineAnim +_080B39F8: + ldrh r0, [r5, 0xC] + adds r0, 0x1 + strh r0, [r5, 0xC] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xC + bne _080B3A2C + ldrh r0, [r5, 0x8] + adds r0, 0x1 + strh r0, [r5, 0x8] + b _080B3A2C + .align 2, 0 +_080B3A10: .4byte gUnknown_83E7114 +_080B3A14: .4byte gSprites +_080B3A18: + ldrh r0, [r5, 0xA] + adds r0, 0x1 + strh r0, [r5, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x11 + ble _080B3A2C + adds r0, r2, 0 + bl DestroyAnimVisualTask +_080B3A2C: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80B3980 + + thumb_func_start sub_80B3A34 +sub_80B3A34: @ 80B3A34 + push {r4,lr} + adds r4, r0, 0 + bl AnimateBallThrow + lsls r0, 24 + cmp r0, 0 + beq _080B3A52 + ldrb r0, [r4, 0x3] + lsls r0, 26 + lsrs r0, 27 + bl FreeOamMatrix + adds r0, r4, 0 + bl DestroySprite +_080B3A52: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80B3A34 + + thumb_func_start sub_80B3A58 +sub_80B3A58: @ 80B3A58 + push {r4-r6,lr} + sub sp, 0xC + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, _080B3A90 @ =gTasks + adds r4, r1, r0 + ldr r0, _080B3A94 @ =gBattleAnimTarget + ldrb r0, [r0] + bl sub_807492C + lsls r0, 24 + lsrs r1, r0, 24 + adds r0, r1, 0 + subs r0, 0x20 + strh r0, [r4, 0x24] + ldr r0, _080B3A98 @ =gBattleAnimArgs + movs r2, 0 + ldrsh r0, [r0, r2] + cmp r0, 0x1 + beq _080B3AAE + cmp r0, 0x1 + bgt _080B3A9C + cmp r0, 0 + beq _080B3AA2 + b _080B3ACA + .align 2, 0 +_080B3A90: .4byte gTasks +_080B3A94: .4byte gBattleAnimTarget +_080B3A98: .4byte gBattleAnimArgs +_080B3A9C: + cmp r0, 0x2 + beq _080B3ABA + b _080B3ACA +_080B3AA2: + movs r0, 0x2 + strh r0, [r4, 0x1E] + movs r0, 0x5 + strh r0, [r4, 0x20] + movs r0, 0x40 + b _080B3AC2 +_080B3AAE: + movs r0, 0x2 + strh r0, [r4, 0x1E] + movs r0, 0x5 + strh r0, [r4, 0x20] + movs r0, 0xC0 + b _080B3AC2 +_080B3ABA: + movs r0, 0x4 + strh r0, [r4, 0x1E] + strh r0, [r4, 0x20] + movs r0, 0 +_080B3AC2: + strh r0, [r4, 0x22] + adds r0, r1, 0 + adds r0, 0x20 + strh r0, [r4, 0x26] +_080B3ACA: + movs r1, 0x24 + ldrsh r0, [r4, r1] + cmp r0, 0 + bge _080B3AD6 + movs r0, 0 + strh r0, [r4, 0x24] +_080B3AD6: + ldr r0, _080B3AF0 @ =gBattleAnimTarget + ldrb r0, [r0] + bl sub_80768B0 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080B3AFC + ldr r0, _080B3AF4 @ =gBattle_BG1_X + ldrh r0, [r0] + strh r0, [r4, 0x1C] + ldr r0, _080B3AF8 @ =0x04000014 + b _080B3B04 + .align 2, 0 +_080B3AF0: .4byte gBattleAnimTarget +_080B3AF4: .4byte gBattle_BG1_X +_080B3AF8: .4byte 0x04000014 +_080B3AFC: + ldr r0, _080B3B64 @ =gBattle_BG2_X + ldrh r0, [r0] + strh r0, [r4, 0x1C] + ldr r0, _080B3B68 @ =0x04000018 +_080B3B04: + str r0, [sp] + ldrh r1, [r4, 0x24] + lsls r3, r1, 16 + asrs r1, r3, 16 + movs r2, 0x24 + ldrsh r0, [r4, r2] + adds r0, 0x40 + cmp r1, r0 + bgt _080B3B3E + ldr r5, _080B3B6C @ =gScanlineEffectRegBuffers + movs r0, 0xF0 + lsls r0, 3 + adds r6, r5, r0 +_080B3B1E: + asrs r3, 16 + lsls r1, r3, 1 + adds r2, r1, r5 + ldrh r0, [r4, 0x1C] + strh r0, [r2] + adds r1, r6 + ldrh r0, [r4, 0x1C] + strh r0, [r1] + adds r3, 0x1 + lsls r3, 16 + asrs r1, r3, 16 + movs r2, 0x24 + ldrsh r0, [r4, r2] + adds r0, 0x40 + cmp r1, r0 + ble _080B3B1E +_080B3B3E: + ldr r0, _080B3B70 @ =0xa2600001 + str r0, [sp, 0x4] + mov r1, sp + movs r2, 0 + movs r0, 0x1 + strb r0, [r1, 0x8] + mov r0, sp + strb r2, [r0, 0x9] + ldr r0, [sp] + ldr r1, [sp, 0x4] + ldr r2, [sp, 0x8] + bl ScanlineEffect_SetParams + ldr r0, _080B3B74 @ =sub_80B3B78 + str r0, [r4] + add sp, 0xC + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080B3B64: .4byte gBattle_BG2_X +_080B3B68: .4byte 0x04000018 +_080B3B6C: .4byte gScanlineEffectRegBuffers +_080B3B70: .4byte 0xa2600001 +_080B3B74: .4byte sub_80B3B78 + thumb_func_end sub_80B3A58 + + thumb_func_start sub_80B3B78 +sub_80B3B78: @ 80B3B78 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + lsls r0, 24 + lsrs r2, r0, 24 + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + ldr r1, _080B3BA0 @ =gTasks + adds r5, r0, r1 + movs r1, 0x8 + ldrsh r0, [r5, r1] + cmp r0, 0x1 + beq _080B3C52 + cmp r0, 0x1 + bgt _080B3BA4 + cmp r0, 0 + beq _080B3BAA + b _080B3C6A + .align 2, 0 +_080B3BA0: .4byte gTasks +_080B3BA4: + cmp r0, 0x2 + beq _080B3C64 + b _080B3C6A +_080B3BAA: + ldrh r3, [r5, 0x22] + ldrh r4, [r5, 0x24] + movs r2, 0x24 + ldrsh r1, [r5, r2] + movs r2, 0x26 + ldrsh r0, [r5, r2] + cmp r1, r0 + bgt _080B3C42 + ldr r0, _080B3BF4 @ =gSineTable + mov r9, r0 + movs r7, 0x3 + ldr r1, _080B3BF8 @ =gScanlineEffectRegBuffers + mov r12, r1 + movs r2, 0xF0 + lsls r2, 3 + add r2, r12 + mov r8, r2 +_080B3BCC: + lsls r2, r3, 16 + asrs r0, r2, 15 + add r0, r9 + movs r3, 0 + ldrsh r0, [r0, r3] + movs r3, 0x20 + ldrsh r1, [r5, r3] + asrs r0, r1 + lsls r0, 16 + lsrs r1, r0, 16 + asrs r3, r0, 16 + adds r6, r2, 0 + cmp r3, 0 + ble _080B3BFC + ldrh r1, [r5, 0xA] + adds r0, r7, 0 + ands r0, r1 + adds r0, r3, r0 + b _080B3C08 + .align 2, 0 +_080B3BF4: .4byte gSineTable +_080B3BF8: .4byte gScanlineEffectRegBuffers +_080B3BFC: + cmp r3, 0 + bge _080B3C0C + ldrh r1, [r5, 0xA] + adds r0, r7, 0 + ands r0, r1 + subs r0, r3, r0 +_080B3C08: + lsls r0, 16 + lsrs r1, r0, 16 +_080B3C0C: + lsls r2, r4, 16 + asrs r2, 16 + lsls r3, r2, 1 + mov r0, r12 + adds r4, r3, r0 + ldrh r0, [r5, 0x1C] + lsls r1, 16 + asrs r1, 16 + adds r0, r1, r0 + strh r0, [r4] + add r3, r8 + ldrh r0, [r5, 0x1C] + adds r1, r0 + strh r1, [r3] + asrs r0, r6, 16 + ldrh r1, [r5, 0x1E] + adds r0, r1 + lsls r0, 16 + lsrs r3, r0, 16 + adds r2, 0x1 + lsls r2, 16 + lsrs r4, r2, 16 + asrs r2, 16 + movs r1, 0x26 + ldrsh r0, [r5, r1] + cmp r2, r0 + ble _080B3BCC +_080B3C42: + ldrh r0, [r5, 0xA] + adds r0, 0x1 + strh r0, [r5, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x17 + ble _080B3C6A + b _080B3C58 +_080B3C52: + ldr r1, _080B3C60 @ =gScanlineEffect + movs r0, 0x3 + strb r0, [r1, 0x15] +_080B3C58: + ldrh r0, [r5, 0x8] + adds r0, 0x1 + strh r0, [r5, 0x8] + b _080B3C6A + .align 2, 0 +_080B3C60: .4byte gScanlineEffect +_080B3C64: + adds r0, r2, 0 + bl DestroyAnimVisualTask +_080B3C6A: + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80B3B78 + + thumb_func_start sub_80B3C78 +sub_80B3C78: @ 80B3C78 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + lsls r0, 24 + lsrs r4, r0, 24 + mov r8, r4 + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + ldr r1, _080B3CAC @ =gTasks + adds r7, r0, r1 + bl AllocOamMatrix + lsls r0, 24 + lsrs r5, r0, 24 + mov r10, r5 + adds r6, r5, 0 + cmp r6, 0xFF + bne _080B3CB0 + adds r0, r4, 0 + bl DestroyAnimVisualTask + b _080B3D5A + .align 2, 0 +_080B3CAC: .4byte gTasks +_080B3CB0: + ldr r1, _080B3CD4 @ =gBattleAnimArgs + ldrb r0, [r1] + bl duplicate_obj_of_side_rel2move_in_transparent_mode + lsls r0, 16 + lsrs r1, r0, 16 + mov r9, r1 + asrs r0, 16 + cmp r0, 0 + bge _080B3CD8 + adds r0, r5, 0 + bl FreeOamMatrix + mov r0, r8 + bl DestroyAnimVisualTask + b _080B3D5A + .align 2, 0 +_080B3CD4: .4byte gBattleAnimArgs +_080B3CD8: + ldr r2, _080B3D68 @ =gSprites + lsls r4, r0, 4 + adds r4, r0 + lsls r4, 2 + adds r0, r2, 0 + adds r0, 0x1C + adds r0, r4, r0 + ldr r1, _080B3D6C @ =SpriteCallbackDummy + str r1, [r0] + adds r4, r2 + ldrb r0, [r4, 0x1] + movs r1, 0x3 + orrs r0, r1 + strb r0, [r4, 0x1] + movs r0, 0x1F + ands r6, r0 + lsls r2, r6, 1 + ldrb r1, [r4, 0x3] + movs r0, 0x3F + negs r0, r0 + ands r0, r1 + orrs r0, r2 + strb r0, [r4, 0x3] + adds r2, r4, 0 + adds r2, 0x2C + ldrb r0, [r2] + movs r1, 0x80 + orrs r0, r1 + strb r0, [r2] + adds r1, r4, 0 + adds r1, 0x43 + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + mov r1, r9 + lsls r0, r1, 24 + lsrs r0, 24 + movs r2, 0x80 + lsls r2, 1 + adds r1, r2, 0 + movs r3, 0 + bl obj_id_set_rotscale + ldrb r3, [r4, 0x1] + lsrs r1, r3, 6 + ldrb r2, [r4, 0x3] + lsrs r2, 6 + lsls r3, 30 + lsrs r3, 30 + adds r0, r4, 0 + bl CalcCenterToCornerVec + ldr r1, _080B3D70 @ =gBattleAnimArgs + ldrb r0, [r1] + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r0, 24 + strh r0, [r7, 0x22] + mov r0, r10 + strh r0, [r7, 0x24] + mov r1, r9 + strh r1, [r7, 0x26] + ldr r0, _080B3D74 @ =sub_80B3D78 + str r0, [r7] +_080B3D5A: + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080B3D68: .4byte gSprites +_080B3D6C: .4byte SpriteCallbackDummy +_080B3D70: .4byte gBattleAnimArgs +_080B3D74: .4byte sub_80B3D78 + thumb_func_end sub_80B3C78 + + thumb_func_start sub_80B3D78 +sub_80B3D78: @ 80B3D78 + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + ldr r1, _080B3D9C @ =gTasks + adds r4, r0, r1 + movs r1, 0x8 + ldrsh r0, [r4, r1] + cmp r0, 0x1 + beq _080B3DFC + cmp r0, 0x1 + bgt _080B3DA0 + cmp r0, 0 + beq _080B3DAA + b _080B3E7C + .align 2, 0 +_080B3D9C: .4byte gTasks +_080B3DA0: + cmp r0, 0x2 + beq _080B3E4C + cmp r0, 0x3 + beq _080B3E6C + b _080B3E7C +_080B3DAA: + ldrh r0, [r4, 0xA] + adds r0, 0x4 + strh r0, [r4, 0xA] + ldr r1, _080B3DF8 @ =gSineTable + movs r2, 0xA + ldrsh r0, [r4, r2] + lsls r0, 1 + adds r0, r1 + ldrh r1, [r0] + lsls r1, 16 + asrs r1, 17 + movs r2, 0x80 + lsls r2, 1 + adds r0, r2, 0 + subs r0, r1 + strh r0, [r4, 0xC] + ldrh r0, [r4, 0x26] + lsls r0, 24 + lsrs r0, 24 + movs r1, 0xC + ldrsh r2, [r4, r1] + adds r1, r2, 0 + movs r3, 0 + bl obj_id_set_rotscale + ldrh r0, [r4, 0x26] + lsls r0, 24 + lsrs r0, 24 + ldrh r1, [r4, 0x22] + lsls r1, 24 + lsrs r1, 24 + bl sub_8076494 + movs r2, 0xA + ldrsh r0, [r4, r2] + cmp r0, 0x30 + bne _080B3E7C + b _080B3E5E + .align 2, 0 +_080B3DF8: .4byte gSineTable +_080B3DFC: + ldrh r0, [r4, 0xA] + subs r0, 0x4 + strh r0, [r4, 0xA] + ldr r1, _080B3E48 @ =gSineTable + movs r2, 0xA + ldrsh r0, [r4, r2] + lsls r0, 1 + adds r0, r1 + ldrh r1, [r0] + lsls r1, 16 + asrs r1, 17 + movs r2, 0x80 + lsls r2, 1 + adds r0, r2, 0 + subs r0, r1 + strh r0, [r4, 0xC] + ldrh r0, [r4, 0x26] + lsls r0, 24 + lsrs r0, 24 + movs r1, 0xC + ldrsh r2, [r4, r1] + adds r1, r2, 0 + movs r3, 0 + bl obj_id_set_rotscale + ldrh r0, [r4, 0x26] + lsls r0, 24 + lsrs r0, 24 + ldrh r1, [r4, 0x22] + lsls r1, 24 + lsrs r1, 24 + bl sub_8076494 + movs r2, 0xA + ldrsh r0, [r4, r2] + cmp r0, 0 + bne _080B3E7C + b _080B3E5E + .align 2, 0 +_080B3E48: .4byte gSineTable +_080B3E4C: + movs r0, 0x26 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r1, _080B3E68 @ =gSprites + adds r0, r1 + bl obj_delete_but_dont_free_vram +_080B3E5E: + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] + b _080B3E7C + .align 2, 0 +_080B3E68: .4byte gSprites +_080B3E6C: + ldrh r0, [r4, 0x24] + lsls r0, 24 + lsrs r0, 24 + bl FreeOamMatrix + adds r0, r5, 0 + bl DestroyAnimVisualTask +_080B3E7C: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80B3D78 + + thumb_func_start sub_80B3E84 +sub_80B3E84: @ 80B3E84 + push {r4,r5,lr} + adds r5, r0, 0 + movs r1, 0x2E + ldrsh r0, [r5, r1] + cmp r0, 0x1 + beq _080B3EFC + cmp r0, 0x1 + bgt _080B3E9A + cmp r0, 0 + beq _080B3EA4 + b _080B3FA4 +_080B3E9A: + cmp r0, 0x2 + beq _080B3F2E + cmp r0, 0x3 + beq _080B3F8E + b _080B3FA4 +_080B3EA4: + ldr r4, _080B3EF8 @ =gBattleAnimAttacker + ldrb r0, [r4] + movs r1, 0 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x20] + ldrb r0, [r4] + movs r1, 0x1 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x22] + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + beq _080B3ED2 + ldrh r0, [r5, 0x22] + adds r0, 0xC + strh r0, [r5, 0x22] +_080B3ED2: + movs r0, 0x8 + strh r0, [r5, 0x30] + movs r1, 0xFD + lsls r1, 6 + movs r0, 0x50 + bl SetGpuReg + ldrh r0, [r5, 0x30] + movs r1, 0x10 + subs r1, r0 + lsls r1, 8 + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + b _080B3F26 + .align 2, 0 +_080B3EF8: .4byte gBattleAnimAttacker +_080B3EFC: + adds r0, r5, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x20 + ands r0, r1 + cmp r0, 0 + beq _080B3FA4 + movs r0, 0x40 + negs r0, r0 + bl sub_8073A44 + adds r1, r0, 0 + lsls r1, 24 + asrs r1, 24 + movs r0, 0xC4 + bl PlaySE12WithPanning + adds r0, r5, 0 + movs r1, 0x1 + bl ChangeSpriteAffineAnim +_080B3F26: + ldrh r0, [r5, 0x2E] + adds r0, 0x1 + strh r0, [r5, 0x2E] + b _080B3FA4 +_080B3F2E: + ldrh r0, [r5, 0x32] + adds r1, r0, 0x1 + strh r1, [r5, 0x32] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + ble _080B3F72 + movs r0, 0 + strh r0, [r5, 0x32] + ldrh r1, [r5, 0x30] + subs r1, 0x1 + strh r1, [r5, 0x30] + movs r0, 0x10 + subs r0, r1 + lsls r0, 8 + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + movs r1, 0x30 + ldrsh r0, [r5, r1] + cmp r0, 0 + bne _080B3F72 + ldrh r0, [r5, 0x2E] + adds r0, 0x1 + strh r0, [r5, 0x2E] + adds r2, r5, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] +_080B3F72: + movs r0, 0xE0 + lsls r0, 2 + adds r2, r0, 0 + ldrh r1, [r5, 0x34] + adds r2, r1 + lsls r1, r2, 16 + asrs r1, 24 + ldrh r0, [r5, 0x26] + subs r0, r1 + strh r0, [r5, 0x26] + movs r0, 0xFF + ands r2, r0 + strh r2, [r5, 0x34] + b _080B3FA4 +_080B3F8E: + movs r0, 0x50 + movs r1, 0 + bl SetGpuReg + movs r0, 0x52 + movs r1, 0 + bl SetGpuReg + adds r0, r5, 0 + bl DestroyAnimSprite +_080B3FA4: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80B3E84 + + .align 2, 0 @ Don't pad with nop. diff --git a/ld_script.txt b/ld_script.txt index 9797487c4..e8b0c8519 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -159,6 +159,12 @@ SECTIONS { asm/water.o(.text); asm/fire.o(.text); asm/electric.o(.text); + asm/ice.o(.text); + asm/fighting.o(.text); + asm/poison.o(.text); + asm/flying.o(.text); + asm/psychic.o(.text); + asm/bug.o(.text); asm/battle_anim_80A22E8.o(.text); asm/bike.o(.text); asm/easy_chat.o(.text); -- cgit v1.2.3 From 3f26e88ecdb165cd7ca0e4cb3135179835449cef Mon Sep 17 00:00:00 2001 From: garak Date: Thu, 23 May 2019 18:19:00 -0400 Subject: split battle anim utility funcs, dark, dragon, ghost, ground, normal, and rock --- asm/battle_anim_80A22E8.s | 17621 -------------------------------------- asm/battle_anim_utility_funcs.s | 5133 +++++++++++ asm/dark.s | 2323 +++++ asm/dragon.s | 835 ++ asm/ghost.s | 4055 +++++++++ asm/ground.s | 1787 ++++ asm/normal.s | 1978 +++++ asm/rock.s | 1558 ++++ ld_script.txt | 8 +- 9 files changed, 17676 insertions(+), 17622 deletions(-) delete mode 100644 asm/battle_anim_80A22E8.s create mode 100644 asm/battle_anim_utility_funcs.s create mode 100644 asm/dark.s create mode 100644 asm/dragon.s create mode 100644 asm/ghost.s create mode 100644 asm/ground.s create mode 100644 asm/normal.s create mode 100644 asm/rock.s diff --git a/asm/battle_anim_80A22E8.s b/asm/battle_anim_80A22E8.s deleted file mode 100644 index 094b4a1ce..000000000 --- a/asm/battle_anim_80A22E8.s +++ /dev/null @@ -1,17621 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_80B4634 -sub_80B4634: @ 80B4634 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r6, _080B46A0 @ =gBattleAnimArgs - movs r1, 0x6 - ldrsh r0, [r6, r1] - cmp r0, 0 - beq _080B4654 - ldr r0, _080B46A4 @ =gBattleAnimTarget - ldrb r0, [r0] - adds r2, r5, 0 - adds r2, 0x20 - adds r3, r5, 0 - adds r3, 0x22 - movs r1, 0 - bl sub_8076D9C -_080B4654: - ldrh r0, [r6] - ldrh r1, [r5, 0x20] - adds r0, r1 - movs r4, 0 - strh r0, [r5, 0x20] - ldrh r0, [r5, 0x22] - adds r0, 0xE - strh r0, [r5, 0x22] - ldrb r1, [r6, 0x2] - adds r0, r5, 0 - bl StartSpriteAnim - adds r0, r5, 0 - bl AnimateSprite - strh r4, [r5, 0x2E] - strh r4, [r5, 0x30] - movs r0, 0x4 - strh r0, [r5, 0x32] - movs r0, 0x10 - strh r0, [r5, 0x34] - ldr r0, _080B46A8 @ =0x0000ffba - strh r0, [r5, 0x36] - ldrh r0, [r6, 0x4] - strh r0, [r5, 0x38] - ldr r1, _080B46AC @ =sub_80B46B4 - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 - ldr r1, _080B46B0 @ =sub_8074BE4 - str r1, [r5, 0x1C] - adds r0, r5, 0 - bl _call_via_r1 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B46A0: .4byte gBattleAnimArgs -_080B46A4: .4byte gBattleAnimTarget -_080B46A8: .4byte 0x0000ffba -_080B46AC: .4byte sub_80B46B4 -_080B46B0: .4byte sub_8074BE4 - thumb_func_end sub_80B4634 - - thumb_func_start sub_80B46B4 -sub_80B46B4: @ 80B46B4 - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x38] - ldrh r2, [r4, 0x20] - adds r0, r1, r2 - strh r0, [r4, 0x20] - movs r0, 0xC0 - strh r0, [r4, 0x2E] - strh r1, [r4, 0x30] - movs r0, 0x4 - strh r0, [r4, 0x32] - movs r0, 0x20 - strh r0, [r4, 0x34] - ldr r0, _080B46EC @ =0x0000ffe8 - strh r0, [r4, 0x36] - ldr r1, _080B46F0 @ =move_anim_8074EE0 - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - ldr r1, _080B46F4 @ =sub_8074BE4 - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B46EC: .4byte 0x0000ffe8 -_080B46F0: .4byte move_anim_8074EE0 -_080B46F4: .4byte sub_8074BE4 - thumb_func_end sub_80B46B4 - - thumb_func_start sub_80B46F8 -sub_80B46F8: @ 80B46F8 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, _080B4720 @ =gBattleAnimArgs - ldrb r1, [r4, 0xA] - bl StartSpriteAnim - adds r0, r5, 0 - bl AnimateSprite - ldr r0, _080B4724 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080B4728 - ldrh r0, [r5, 0x20] - ldrh r1, [r4] - subs r0, r1 - b _080B472E - .align 2, 0 -_080B4720: .4byte gBattleAnimArgs -_080B4724: .4byte gBattleAnimAttacker -_080B4728: - ldrh r0, [r4] - ldrh r1, [r5, 0x20] - adds r0, r1 -_080B472E: - strh r0, [r5, 0x20] - ldr r3, _080B4770 @ =gBattleAnimArgs - ldrh r2, [r3, 0x2] - ldrh r0, [r5, 0x22] - adds r2, r0 - movs r4, 0 - strh r2, [r5, 0x22] - ldrh r0, [r3, 0x8] - strh r0, [r5, 0x2E] - ldrh r0, [r5, 0x20] - strh r0, [r5, 0x30] - ldrh r1, [r3, 0x4] - adds r0, r1 - strh r0, [r5, 0x32] - strh r2, [r5, 0x34] - ldrh r0, [r3, 0x6] - adds r2, r0 - strh r2, [r5, 0x36] - adds r0, r5, 0 - bl sub_80754B8 - strh r4, [r5, 0x34] - strh r4, [r5, 0x36] - ldr r0, _080B4774 @ =sub_8074D00 - str r0, [r5, 0x1C] - ldr r1, _080B4778 @ =move_anim_8074EE0 - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B4770: .4byte gBattleAnimArgs -_080B4774: .4byte sub_8074D00 -_080B4778: .4byte move_anim_8074EE0 - thumb_func_end sub_80B46F8 - - thumb_func_start sub_80B477C -sub_80B477C: @ 80B477C - push {r4,lr} - adds r4, r0, 0 - ldr r0, _080B4794 @ =gBattleAnimArgs - movs r1, 0xC - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080B4798 - adds r0, r4, 0 - movs r1, 0 - bl sub_8075160 - b _080B47A0 - .align 2, 0 -_080B4794: .4byte gBattleAnimArgs -_080B4798: - adds r0, r4, 0 - movs r1, 0 - bl sub_8075114 -_080B47A0: - ldr r1, _080B47BC @ =gBattleAnimArgs - ldrh r0, [r1, 0x6] - strh r0, [r4, 0x2E] - ldrh r0, [r1, 0x4] - strh r0, [r4, 0x30] - ldrh r0, [r1, 0x8] - strh r0, [r4, 0x32] - ldrh r0, [r1, 0xA] - strh r0, [r4, 0x34] - ldr r0, _080B47C0 @ =sub_80B47C4 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B47BC: .4byte gBattleAnimArgs -_080B47C0: .4byte sub_80B47C4 - thumb_func_end sub_80B477C - - thumb_func_start sub_80B47C4 -sub_80B47C4: @ 80B47C4 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x30] - ldrh r1, [r4, 0x36] - adds r0, r1 - strh r0, [r4, 0x36] - lsls r0, 16 - asrs r0, 24 - negs r0, r0 - strh r0, [r4, 0x26] - movs r2, 0x38 - ldrsh r0, [r4, r2] - movs r2, 0x34 - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x32] - ldrh r1, [r4, 0x38] - adds r0, r1 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x38] - ldrh r0, [r4, 0x2E] - subs r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _080B480A - adds r0, r4, 0 - bl DestroyAnimSprite -_080B480A: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80B47C4 - - thumb_func_start do_boulder_dust -do_boulder_dust: @ 80B4810 - push {r4-r6,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r6, r0, 24 - movs r5, 0 - ldr r1, _080B48E4 @ =0x00003f42 - movs r0, 0x50 - bl SetGpuReg - movs r1, 0x80 - lsls r1, 5 - movs r0, 0x52 - bl SetGpuReg - movs r0, 0x1 - movs r1, 0x4 - movs r2, 0x1 - bl SetAnimBgAttribute - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl SetAnimBgAttribute - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080B4854 - movs r0, 0x1 - movs r1, 0x3 - movs r2, 0x1 - bl SetAnimBgAttribute -_080B4854: - ldr r0, _080B48E8 @ =gBattle_BG1_X - strh r5, [r0] - ldr r4, _080B48EC @ =gBattle_BG1_Y - strh r5, [r4] - movs r0, 0x14 - movs r1, 0 - bl SetGpuReg - ldrh r1, [r4] - movs r0, 0x16 - bl SetGpuReg - mov r0, sp - bl sub_80752A0 - mov r0, sp - ldrb r0, [r0, 0x9] - ldr r1, _080B48F0 @ =gFile_graphics_battle_anims_backgrounds_sandstorm_brew_tilemap - bl sub_807543C - mov r0, sp - ldrb r0, [r0, 0x9] - ldr r1, _080B48F4 @ =gFile_graphics_battle_anims_backgrounds_sandstorm_brew_sheet - mov r2, sp - ldrh r2, [r2, 0xA] - bl sub_80753B4 - ldr r0, _080B48F8 @ =gFile_graphics_battle_anims_sprites_261_palette - mov r1, sp - ldrb r1, [r1, 0x8] - lsls r1, 4 - movs r2, 0x20 - bl LoadCompressedPalette - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - beq _080B48B0 - mov r0, sp - ldrb r0, [r0, 0x8] - ldr r1, [sp, 0x4] - movs r2, 0 - movs r3, 0 - bl sub_80730C0 -_080B48B0: - ldr r0, _080B48FC @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _080B48CA - ldr r0, _080B4900 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080B48CA - movs r5, 0x1 -_080B48CA: - ldr r0, _080B4904 @ =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - strh r5, [r1, 0x8] - ldr r0, _080B4908 @ =sub_80B490C - str r0, [r1] - add sp, 0x10 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B48E4: .4byte 0x00003f42 -_080B48E8: .4byte gBattle_BG1_X -_080B48EC: .4byte gBattle_BG1_Y -_080B48F0: .4byte gFile_graphics_battle_anims_backgrounds_sandstorm_brew_tilemap -_080B48F4: .4byte gFile_graphics_battle_anims_backgrounds_sandstorm_brew_sheet -_080B48F8: .4byte gFile_graphics_battle_anims_sprites_261_palette -_080B48FC: .4byte gBattleAnimArgs -_080B4900: .4byte gBattleAnimAttacker -_080B4904: .4byte gTasks -_080B4908: .4byte sub_80B490C - thumb_func_end do_boulder_dust - - thumb_func_start sub_80B490C -sub_80B490C: @ 80B490C - push {r4,r5,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _080B4934 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r2, 0x8 - ldrsh r0, [r0, r2] - adds r2, r1, 0 - cmp r0, 0 - bne _080B4940 - ldr r1, _080B4938 @ =gBattle_BG1_X - ldr r3, _080B493C @ =0x0000fffa - adds r0, r3, 0 - ldrh r3, [r1] - adds r0, r3 - b _080B4946 - .align 2, 0 -_080B4934: .4byte gTasks -_080B4938: .4byte gBattle_BG1_X -_080B493C: .4byte 0x0000fffa -_080B4940: - ldr r1, _080B4974 @ =gBattle_BG1_X - ldrh r0, [r1] - adds r0, 0x6 -_080B4946: - strh r0, [r1] - ldr r1, _080B4978 @ =gBattle_BG1_Y - ldr r3, _080B497C @ =0x0000ffff - adds r0, r3, 0 - ldrh r3, [r1] - adds r0, r3 - strh r0, [r1] - lsls r1, r5, 2 - adds r0, r1, r5 - lsls r0, 3 - adds r0, r2 - movs r3, 0x20 - ldrsh r0, [r0, r3] - adds r4, r1, 0 - cmp r0, 0x4 - bls _080B4968 - b _080B4A96 -_080B4968: - lsls r0, 2 - ldr r1, _080B4980 @ =_080B4984 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080B4974: .4byte gBattle_BG1_X -_080B4978: .4byte gBattle_BG1_Y -_080B497C: .4byte 0x0000ffff -_080B4980: .4byte _080B4984 - .align 2, 0 -_080B4984: - .4byte _080B4998 - .4byte _080B49DA - .4byte _080B49F4 - .4byte _080B4A36 - .4byte _080B4A58 -_080B4998: - adds r0, r4, r5 - lsls r0, 3 - adds r4, r0, r2 - ldrh r0, [r4, 0x1C] - adds r0, 0x1 - movs r5, 0 - strh r0, [r4, 0x1C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - bne _080B4A96 - strh r5, [r4, 0x1C] - ldrh r1, [r4, 0x1E] - adds r1, 0x1 - strh r1, [r4, 0x1E] - movs r0, 0x10 - subs r0, r1 - lsls r0, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r1, 0x1E - ldrsh r0, [r4, r1] - cmp r0, 0x7 - bne _080B4A96 - ldrh r0, [r4, 0x20] - adds r0, 0x1 - strh r0, [r4, 0x20] - strh r5, [r4, 0x1E] - b _080B4A96 -_080B49DA: - adds r0, r4, r5 - lsls r0, 3 - adds r1, r0, r2 - ldrh r0, [r1, 0x1E] - adds r0, 0x1 - strh r0, [r1, 0x1E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x65 - bne _080B4A96 - movs r0, 0x7 - strh r0, [r1, 0x1E] - b _080B4A4C -_080B49F4: - adds r0, r4, r5 - lsls r0, 3 - adds r4, r0, r2 - ldrh r0, [r4, 0x1C] - adds r0, 0x1 - strh r0, [r4, 0x1C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - bne _080B4A96 - movs r0, 0 - strh r0, [r4, 0x1C] - ldrh r1, [r4, 0x1E] - subs r1, 0x1 - strh r1, [r4, 0x1E] - movs r0, 0x10 - subs r0, r1 - lsls r0, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r2, 0x1E - ldrsh r1, [r4, r2] - cmp r1, 0 - bne _080B4A96 - ldrh r0, [r4, 0x20] - adds r0, 0x1 - strh r0, [r4, 0x20] - strh r1, [r4, 0x1E] - b _080B4A96 -_080B4A36: - mov r0, sp - bl sub_80752A0 - mov r0, sp - ldrb r0, [r0, 0x9] - bl sub_8075358 - ldr r0, _080B4A54 @ =gTasks - adds r1, r4, r5 - lsls r1, 3 - adds r1, r0 -_080B4A4C: - ldrh r0, [r1, 0x20] - adds r0, 0x1 - strh r0, [r1, 0x20] - b _080B4A96 - .align 2, 0 -_080B4A54: .4byte gTasks -_080B4A58: - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080B4A6C - movs r0, 0x1 - movs r1, 0x3 - movs r2, 0 - bl SetAnimBgAttribute -_080B4A6C: - ldr r0, _080B4AA0 @ =gBattle_BG1_X - movs r1, 0 - strh r1, [r0] - ldr r0, _080B4AA4 @ =gBattle_BG1_Y - strh r1, [r0] - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x1 - movs r1, 0x4 - movs r2, 0x1 - bl SetAnimBgAttribute - adds r0, r5, 0 - bl DestroyAnimVisualTask -_080B4A96: - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B4AA0: .4byte gBattle_BG1_X -_080B4AA4: .4byte gBattle_BG1_Y - thumb_func_end sub_80B490C - - thumb_func_start sub_80B4AA8 -sub_80B4AA8: @ 80B4AA8 - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x2E - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _080B4B24 - ldr r4, _080B4AEC @ =gBattleAnimArgs - movs r2, 0x6 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _080B4AF4 - ldr r0, _080B4AF0 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080B4AF4 - movs r0, 0x98 - lsls r0, 1 - strh r0, [r5, 0x20] - ldrh r0, [r4, 0x2] - negs r0, r0 - strh r0, [r4, 0x2] - movs r0, 0x1 - strh r0, [r5, 0x38] - ldrb r1, [r5, 0x3] - subs r0, 0x40 - ands r0, r1 - movs r1, 0x10 - orrs r0, r1 - strb r0, [r5, 0x3] - b _080B4AF8 - .align 2, 0 -_080B4AEC: .4byte gBattleAnimArgs -_080B4AF0: .4byte gBattleAnimAttacker -_080B4AF4: - ldr r0, _080B4B18 @ =0x0000ffc0 - strh r0, [r5, 0x20] -_080B4AF8: - ldr r4, _080B4B1C @ =gBattleAnimArgs - ldrh r0, [r4] - strh r0, [r5, 0x22] - ldr r1, _080B4B20 @ =gUnknown_83E7470 - adds r0, r5, 0 - bl SetSubspriteTables - ldrh r0, [r4, 0x2] - strh r0, [r5, 0x30] - ldrh r0, [r4, 0x4] - strh r0, [r5, 0x32] - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - b _080B4B80 - .align 2, 0 -_080B4B18: .4byte 0x0000ffc0 -_080B4B1C: .4byte gBattleAnimArgs -_080B4B20: .4byte gUnknown_83E7470 -_080B4B24: - ldrh r1, [r5, 0x30] - ldrh r3, [r5, 0x34] - adds r1, r3 - ldrh r2, [r5, 0x32] - ldrh r0, [r5, 0x36] - adds r2, r0 - lsls r0, r1, 16 - asrs r0, 24 - ldrh r3, [r5, 0x24] - adds r0, r3 - strh r0, [r5, 0x24] - lsls r0, r2, 16 - asrs r0, 24 - ldrh r3, [r5, 0x26] - adds r0, r3 - strh r0, [r5, 0x26] - movs r0, 0xFF - ands r1, r0 - strh r1, [r5, 0x34] - ands r2, r0 - strh r2, [r5, 0x36] - movs r1, 0x38 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _080B4B6A - movs r2, 0x20 - ldrsh r0, [r5, r2] - movs r3, 0x24 - ldrsh r1, [r5, r3] - adds r0, r1 - movs r1, 0x88 - lsls r1, 1 - cmp r0, r1 - ble _080B4B80 - b _080B4B7C -_080B4B6A: - movs r1, 0x20 - ldrsh r0, [r5, r1] - movs r2, 0x24 - ldrsh r1, [r5, r2] - adds r0, r1 - movs r1, 0x20 - negs r1, r1 - cmp r0, r1 - bge _080B4B80 -_080B4B7C: - ldr r0, _080B4B88 @ =DestroyAnimSprite - str r0, [r5, 0x1C] -_080B4B80: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B4B88: .4byte DestroyAnimSprite - thumb_func_end sub_80B4AA8 - - thumb_func_start sub_80B4B8C -sub_80B4B8C: @ 80B4B8C - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, _080B4BC4 @ =gBattleAnimArgs - ldrb r1, [r5, 0x8] - bl StartSpriteAnim - adds r0, r4, 0 - movs r1, 0 - bl sub_8075160 - ldrh r0, [r5, 0x6] - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x20] - strh r0, [r4, 0x32] - ldrh r0, [r5, 0x4] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x36] - ldr r0, _080B4BC8 @ =sub_8075590 - str r0, [r4, 0x1C] - ldr r1, _080B4BCC @ =DestroyAnimSprite - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B4BC4: .4byte gBattleAnimArgs -_080B4BC8: .4byte sub_8075590 -_080B4BCC: .4byte DestroyAnimSprite - thumb_func_end sub_80B4B8C - - thumb_func_start sub_80B4BD0 -sub_80B4BD0: @ 80B4BD0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _080B4C50 @ =gTasks - adds r6, r1, r0 - ldr r5, _080B4C54 @ =gBattleAnimAttacker - ldrb r0, [r5] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldrb r0, [r5] - movs r1, 0x1 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 8 - movs r1, 0xC0 - lsls r1, 13 - adds r0, r1 - lsrs r7, r0, 16 - ldr r4, _080B4C58 @ =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 8 - movs r2, 0xC0 - lsls r2, 13 - adds r0, r2 - lsrs r0, 16 - mov r8, r0 - ldrb r1, [r5] - movs r0, 0x2 - eors r0, r1 - ldrb r4, [r4] - cmp r0, r4 - bne _080B4C40 - mov r8, r7 -_080B4C40: - bl sub_80B4FB8 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x1 - bne _080B4C5C - movs r0, 0x20 - b _080B4C62 - .align 2, 0 -_080B4C50: .4byte gTasks -_080B4C54: .4byte gBattleAnimAttacker -_080B4C58: .4byte gBattleAnimTarget -_080B4C5C: - lsls r1, r5, 3 - movs r0, 0x30 - subs r0, r1 -_080B4C62: - strh r0, [r6, 0x18] - movs r4, 0 - strh r4, [r6, 0x8] - strh r4, [r6, 0x1E] - strh r4, [r6, 0x1A] - movs r0, 0x1 - strh r0, [r6, 0x20] - movs r1, 0x18 - ldrsh r0, [r6, r1] - cmp r0, 0 - bge _080B4C7A - adds r0, 0x7 -_080B4C7A: - asrs r0, 3 - subs r0, 0x1 - strh r0, [r6, 0x1C] - mov r2, r9 - lsls r0, r2, 3 - strh r0, [r6, 0xC] - lsls r0, r7, 3 - strh r0, [r6, 0xE] - mov r1, r10 - subs r0, r1, r2 - lsls r0, 3 - movs r2, 0x18 - ldrsh r1, [r6, r2] - bl __divsi3 - strh r0, [r6, 0x10] - mov r1, r8 - subs r0, r1, r7 - lsls r0, 3 - movs r2, 0x18 - ldrsh r1, [r6, r2] - bl __divsi3 - strh r0, [r6, 0x12] - strh r4, [r6, 0x14] - strh r4, [r6, 0x16] - movs r0, 0x40 - negs r0, r0 - bl sub_8073A44 - adds r4, r0, 0 - lsls r4, 24 - asrs r4, 8 - lsrs r4, 16 - movs r0, 0x3F - bl sub_8073A44 - lsls r0, 24 - strh r4, [r6, 0x22] - asrs r0, 24 - lsls r4, 16 - asrs r4, 16 - subs r0, r4 - movs r2, 0x18 - ldrsh r1, [r6, r2] - bl __divsi3 - strh r0, [r6, 0x24] - strh r5, [r6, 0xA] - movs r0, 0 - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x26] - ldr r0, _080B4CFC @ =sub_80B4D00 - str r0, [r6] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B4CFC: .4byte sub_80B4D00 - thumb_func_end sub_80B4BD0 - - thumb_func_start sub_80B4D00 -sub_80B4D00: @ 80B4D00 - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, _080B4D24 @ =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x4 - bls _080B4D1A - b _080B4E68 -_080B4D1A: - lsls r0, 2 - ldr r1, _080B4D28 @ =_080B4D2C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080B4D24: .4byte gTasks -_080B4D28: .4byte _080B4D2C - .align 2, 0 -_080B4D2C: - .4byte _080B4D40 - .4byte _080B4DA4 - .4byte _080B4DAC - .4byte _080B4E08 - .4byte _080B4E5A -_080B4D40: - ldrh r2, [r4, 0x14] - ldrh r0, [r4, 0x10] - subs r2, r0 - strh r2, [r4, 0x14] - ldrh r0, [r4, 0x16] - ldrh r1, [r4, 0x12] - subs r0, r1 - strh r0, [r4, 0x16] - ldr r3, _080B4DA0 @ =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - lsls r2, 16 - asrs r2, 19 - strh r2, [r0, 0x24] - movs r1, 0x26 - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrh r0, [r4, 0x16] - lsls r0, 16 - asrs r0, 19 - strh r0, [r1, 0x26] - ldrh r0, [r4, 0x1A] - adds r0, 0x1 - strh r0, [r4, 0x1A] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA - bne _080B4D90 - movs r0, 0x14 - strh r0, [r4, 0x1E] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080B4D90: - ldrh r1, [r4, 0x22] - lsls r1, 24 - asrs r1, 24 - movs r0, 0x9B - bl PlaySE12WithPanning - b _080B4E68 - .align 2, 0 -_080B4DA0: .4byte gSprites -_080B4DA4: - ldrh r0, [r4, 0x1E] - subs r0, 0x1 - strh r0, [r4, 0x1E] - b _080B4E4C -_080B4DAC: - ldrh r0, [r4, 0x1A] - subs r0, 0x1 - strh r0, [r4, 0x1A] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - beq _080B4DCC - ldrh r0, [r4, 0x10] - ldrh r2, [r4, 0x14] - adds r0, r2 - strh r0, [r4, 0x14] - ldrh r0, [r4, 0x12] - ldrh r1, [r4, 0x16] - adds r0, r1 - strh r0, [r4, 0x16] - b _080B4DD6 -_080B4DCC: - strh r0, [r4, 0x14] - strh r0, [r4, 0x16] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080B4DD6: - ldr r2, _080B4E04 @ =gSprites - movs r1, 0x26 - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrh r0, [r4, 0x14] - lsls r0, 16 - asrs r0, 19 - strh r0, [r1, 0x24] - movs r1, 0x26 - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrh r0, [r4, 0x16] - lsls r0, 16 - asrs r0, 19 - strh r0, [r1, 0x26] - b _080B4E68 - .align 2, 0 -_080B4E04: .4byte gSprites -_080B4E08: - ldrh r0, [r4, 0x10] - ldrh r2, [r4, 0xC] - adds r0, r2 - strh r0, [r4, 0xC] - ldrh r0, [r4, 0x12] - ldrh r1, [r4, 0xE] - adds r0, r1 - strh r0, [r4, 0xE] - ldrh r0, [r4, 0x1A] - adds r0, 0x1 - strh r0, [r4, 0x1A] - lsls r0, 16 - asrs r0, 16 - movs r2, 0x1C - ldrsh r1, [r4, r2] - cmp r0, r1 - blt _080B4E46 - movs r0, 0 - strh r0, [r4, 0x1A] - adds r0, r4, 0 - bl sub_80B4E70 - ldrh r1, [r4, 0x24] - ldrh r0, [r4, 0x22] - adds r1, r0 - strh r1, [r4, 0x22] - lsls r1, 24 - asrs r1, 24 - movs r0, 0xA8 - bl PlaySE12WithPanning -_080B4E46: - ldrh r0, [r4, 0x18] - subs r0, 0x1 - strh r0, [r4, 0x18] -_080B4E4C: - lsls r0, 16 - cmp r0, 0 - bne _080B4E68 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080B4E68 -_080B4E5A: - movs r1, 0x1E - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080B4E68 - adds r0, r2, 0 - bl DestroyAnimVisualTask -_080B4E68: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80B4D00 - - thumb_func_start sub_80B4E70 -sub_80B4E70: @ 80B4E70 - push {r4-r7,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0xA] - subs r0, 0x1 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - bhi _080B4F60 - lsls r0, 2 - ldr r1, _080B4E8C @ =_080B4E90 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080B4E8C: .4byte _080B4E90 - .align 2, 0 -_080B4E90: - .4byte _080B4EA4 - .4byte _080B4EB0 - .4byte _080B4EB0 - .4byte _080B4EBC - .4byte _080B4EC8 -_080B4EA4: - ldr r3, _080B4EAC @ =gUnknown_83E74D8 - movs r5, 0 - b _080B4ECC - .align 2, 0 -_080B4EAC: .4byte gUnknown_83E74D8 -_080B4EB0: - ldr r3, _080B4EB8 @ =gUnknown_83E74F0 - movs r5, 0x50 - b _080B4ECC - .align 2, 0 -_080B4EB8: .4byte gUnknown_83E74F0 -_080B4EBC: - ldr r3, _080B4EC4 @ =gUnknown_83E74F0 - movs r5, 0x40 - b _080B4ECC - .align 2, 0 -_080B4EC4: .4byte gUnknown_83E74F0 -_080B4EC8: - ldr r3, _080B4F68 @ =gUnknown_83E74F0 - movs r5, 0x30 -_080B4ECC: - ldrh r1, [r4, 0xC] - lsls r1, 16 - asrs r1, 19 - lsls r1, 16 - lsrs r1, 16 - ldrh r2, [r4, 0xE] - lsls r2, 16 - asrs r2, 19 - lsls r2, 16 - movs r6, 0x20 - ldrsh r0, [r4, r6] - lsls r0, 2 - adds r1, r0 - lsls r1, 16 - lsrs r6, r1, 16 - asrs r1, 16 - lsrs r7, r2, 16 - asrs r2, 16 - adds r0, r3, 0 - movs r3, 0x23 - bl CreateSprite - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x40 - beq _080B4F58 - ldr r1, _080B4F6C @ =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - movs r1, 0x12 - strh r1, [r0, 0x2E] - movs r2, 0x20 - ldrsh r1, [r4, r2] - lsls r2, r1, 2 - adds r2, r1 - lsls r2, 2 - adds r2, r6, r2 - movs r6, 0xA - ldrsh r3, [r4, r6] - lsls r1, r3, 1 - adds r1, r3 - adds r2, r1 - strh r2, [r0, 0x32] - strh r7, [r0, 0x36] - movs r1, 0xA - ldrsh r2, [r4, r1] - lsls r2, 1 - movs r3, 0x10 - negs r3, r3 - adds r1, r3, 0 - subs r1, r2 - strh r1, [r0, 0x38] - ldrh r3, [r0, 0x4] - lsls r2, r3, 22 - lsrs r2, 22 - adds r2, r5 - ldr r5, _080B4F70 @ =0x000003ff - adds r1, r5, 0 - ands r2, r1 - ldr r1, _080B4F74 @ =0xfffffc00 - ands r1, r3 - orrs r1, r2 - strh r1, [r0, 0x4] - bl sub_8075068 - ldrh r0, [r4, 0x1E] - adds r0, 0x1 - strh r0, [r4, 0x1E] -_080B4F58: - movs r6, 0x20 - ldrsh r0, [r4, r6] - negs r0, r0 - strh r0, [r4, 0x20] -_080B4F60: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B4F68: .4byte gUnknown_83E74F0 -_080B4F6C: .4byte gSprites -_080B4F70: .4byte 0x000003ff -_080B4F74: .4byte 0xfffffc00 - thumb_func_end sub_80B4E70 - - thumb_func_start sub_80B4F78 -sub_80B4F78: @ 80B4F78 - push {r4,lr} - adds r4, r0, 0 - bl AnimateBallThrow - lsls r0, 24 - cmp r0, 0 - beq _080B4FAA - ldr r0, _080B4FB0 @ =sub_80B4D00 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xFF - beq _080B4FA4 - ldr r0, _080B4FB4 @ =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x1E] - subs r0, 0x1 - strh r0, [r1, 0x1E] -_080B4FA4: - adds r0, r4, 0 - bl DestroySprite -_080B4FAA: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B4FB0: .4byte sub_80B4D00 -_080B4FB4: .4byte gTasks - thumb_func_end sub_80B4F78 - - thumb_func_start sub_80B4FB8 -sub_80B4FB8: @ 80B4FB8 - push {lr} - ldr r0, _080B4FE0 @ =gUnknown_2037EE4 - ldr r0, [r0] - ldrb r1, [r0, 0x11] - lsrs r0, r1, 4 - lsls r1, 28 - lsrs r1, 28 - subs r0, r1 - lsls r0, 24 - lsrs r1, r0, 24 - movs r2, 0xFF - lsls r2, 24 - adds r0, r2 - lsrs r0, 24 - cmp r0, 0x4 - bls _080B4FDA - movs r1, 0x1 -_080B4FDA: - adds r0, r1, 0 - pop {r1} - bx r1 - .align 2, 0 -_080B4FE0: .4byte gUnknown_2037EE4 - thumb_func_end sub_80B4FB8 - - thumb_func_start sub_80B4FE4 -sub_80B4FE4: @ 80B4FE4 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, _080B501C @ =gBattleAnimArgs - ldrb r1, [r5, 0x8] - bl StartSpriteAnim - ldrh r0, [r5] - strh r0, [r4, 0x24] - ldrh r0, [r5, 0x2] - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x34] - ldrh r1, [r5, 0x4] - subs r0, r1 - strh r0, [r4, 0x34] - movs r0, 0x3 - strh r0, [r4, 0x2E] - ldrh r0, [r5, 0x6] - strh r0, [r4, 0x30] - ldr r0, _080B5020 @ =sub_80B5024 - str r0, [r4, 0x1C] - adds r4, 0x3E - ldrb r0, [r4] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r4] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B501C: .4byte gBattleAnimArgs -_080B5020: .4byte sub_80B5024 - thumb_func_end sub_80B4FE4 - - thumb_func_start sub_80B5024 -sub_80B5024: @ 80B5024 - push {lr} - adds r2, r0, 0 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x5 - negs r1, r1 - ands r1, r0 - strb r1, [r3] - ldrh r1, [r2, 0x34] - movs r3, 0x34 - ldrsh r0, [r2, r3] - cmp r0, 0 - beq _080B505C - ldrh r3, [r2, 0x32] - adds r0, r1, r3 - strh r0, [r2, 0x26] - ldrh r0, [r2, 0x2E] - adds r1, r0 - strh r1, [r2, 0x34] - adds r0, 0x1 - strh r0, [r2, 0x2E] - lsls r1, 16 - cmp r1, 0 - ble _080B506E - movs r0, 0 - strh r0, [r2, 0x34] - b _080B506E -_080B505C: - ldrh r0, [r2, 0x30] - subs r0, 0x1 - strh r0, [r2, 0x30] - lsls r0, 16 - cmp r0, 0 - bne _080B506E - adds r0, r2, 0 - bl DestroyAnimSprite -_080B506E: - pop {r0} - bx r0 - thumb_func_end sub_80B5024 - - thumb_func_start sub_80B5074 -sub_80B5074: @ 80B5074 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _080B509C @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B5090 - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim -_080B5090: - adds r0, r4, 0 - bl sub_8075DF4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B509C: .4byte gBattleAnimAttacker - thumb_func_end sub_80B5074 - - thumb_func_start sub_80B50A0 -sub_80B50A0: @ 80B50A0 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, _080B50EC @ =gBattleAnimTarget - ldrb r0, [r5] - movs r1, 0 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x20] - ldrb r0, [r5] - movs r1, 0x1 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080B50F0 @ =gBattleAnimArgs - ldrh r3, [r2] - ldrh r5, [r4, 0x20] - adds r1, r3, r5 - strh r1, [r4, 0x20] - ldrh r1, [r2, 0x2] - adds r0, r1 - strh r0, [r4, 0x22] - strh r3, [r4, 0x30] - strh r1, [r4, 0x32] - ldrh r0, [r2, 0x4] - strh r0, [r4, 0x38] - ldrb r1, [r2, 0x6] - adds r0, r4, 0 - bl StartSpriteAnim - ldr r0, _080B50F4 @ =sub_80B50F8 - str r0, [r4, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B50EC: .4byte gBattleAnimTarget -_080B50F0: .4byte gBattleAnimArgs -_080B50F4: .4byte sub_80B50F8 - thumb_func_end sub_80B50A0 - - thumb_func_start sub_80B50F8 -sub_80B50F8: @ 80B50F8 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r0, 0x8 - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x30] - ldrh r1, [r4, 0x34] - adds r0, r1 - strh r0, [r4, 0x34] - ldrh r0, [r4, 0x32] - ldrh r2, [r4, 0x36] - adds r0, r2 - strh r0, [r4, 0x36] - movs r1, 0x34 - ldrsh r0, [r4, r1] - movs r1, 0x28 - bl __divsi3 - ldrh r1, [r4, 0x24] - adds r1, r0 - strh r1, [r4, 0x24] - movs r2, 0x2E - ldrsh r0, [r4, r2] - movs r2, 0x38 - ldrsh r1, [r4, r2] - bl Sin - ldrh r1, [r4, 0x26] - subs r1, r0 - strh r1, [r4, 0x26] - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x8C - ble _080B5142 - adds r0, r4, 0 - bl DestroyAnimSprite -_080B5142: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80B50F8 - - thumb_func_start sub_80B5148 -sub_80B5148: @ 80B5148 - push {lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r2, _080B5180 @ =gUnknown_2037EE8 - ldr r0, [r2] - cmp r0, 0x20 - bgt _080B515C - ldr r1, _080B5184 @ =gBattleAnimArgs - movs r0, 0 - strh r0, [r1, 0xE] -_080B515C: - ldr r2, [r2] - adds r0, r2, 0 - subs r0, 0x21 - cmp r0, 0x20 - bhi _080B516C - ldr r1, _080B5184 @ =gBattleAnimArgs - movs r0, 0x1 - strh r0, [r1, 0xE] -_080B516C: - cmp r2, 0x41 - ble _080B5176 - ldr r1, _080B5184 @ =gBattleAnimArgs - movs r0, 0x2 - strh r0, [r1, 0xE] -_080B5176: - adds r0, r3, 0 - bl DestroyAnimVisualTask - pop {r0} - bx r0 - .align 2, 0 -_080B5180: .4byte gUnknown_2037EE8 -_080B5184: .4byte gBattleAnimArgs - thumb_func_end sub_80B5148 - - thumb_func_start sub_80B5188 -sub_80B5188: @ 80B5188 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, _080B51E4 @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r5, r0, r1 - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _080B51AA - movs r0, 0 - bl sub_8075458 - movs r0, 0xC8 - strh r0, [r5, 0xA] -_080B51AA: - ldr r4, _080B51E8 @ =gBattle_BG3_Y - movs r1, 0xA - ldrsh r0, [r5, r1] - movs r1, 0xA - bl __divsi3 - ldrh r1, [r4] - adds r1, r0 - strh r1, [r4] - ldrh r0, [r5, 0xA] - subs r0, 0x3 - strh r0, [r5, 0xA] - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0x78 - bne _080B51D6 - movs r0, 0x1 - bl sub_8075458 - adds r0, r6, 0 - bl DestroyAnimVisualTask -_080B51D6: - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B51E4: .4byte gTasks -_080B51E8: .4byte gBattle_BG3_Y - thumb_func_end sub_80B5188 - - thumb_func_start sub_80B51EC -sub_80B51EC: @ 80B51EC - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - ldr r1, _080B5258 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080B5218 - movs r0, 0 - bl sub_8075458 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - ldr r0, _080B525C @ =gBattle_BG3_Y - ldrh r0, [r0] - strh r0, [r4, 0xC] -_080B5218: - ldrh r0, [r4, 0xA] - adds r0, 0x50 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0xA] - ldr r6, _080B525C @ =gBattle_BG3_Y - movs r2, 0xA - ldrsh r1, [r4, r2] - movs r0, 0x4 - bl Cos - ldrh r4, [r4, 0xC] - adds r0, r4 - strh r0, [r6] - ldr r0, _080B5260 @ =gBattleAnimArgs - movs r2, 0xE - ldrsh r1, [r0, r2] - ldr r0, _080B5264 @ =0x00000fff - cmp r1, r0 - bne _080B5250 - movs r0, 0 - strh r0, [r6] - movs r0, 0x1 - bl sub_8075458 - adds r0, r5, 0 - bl DestroyAnimVisualTask -_080B5250: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B5258: .4byte gTasks -_080B525C: .4byte gBattle_BG3_Y -_080B5260: .4byte gBattleAnimArgs -_080B5264: .4byte 0x00000fff - thumb_func_end sub_80B51EC - - thumb_func_start sub_80B5268 -sub_80B5268: @ 80B5268 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl sub_8075160 - ldr r0, _080B52C4 @ =gBattleAnimArgs - ldrh r0, [r0, 0x4] - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x20] - strh r0, [r4, 0x30] - ldr r5, _080B52C8 @ =gBattleAnimTarget - ldrb r0, [r5] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x22] - strh r0, [r4, 0x34] - ldrb r0, [r5] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x36] - adds r0, r4, 0 - bl sub_8075678 - ldr r0, _080B52CC @ =sub_80B52D0 - str r0, [r4, 0x1C] - movs r0, 0x10 - strh r0, [r4, 0x3A] - movs r1, 0xFD - lsls r1, 6 - movs r0, 0x50 - bl SetGpuReg - ldrh r1, [r4, 0x3A] - movs r0, 0x52 - bl SetGpuReg - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B52C4: .4byte gBattleAnimArgs -_080B52C8: .4byte gBattleAnimTarget -_080B52CC: .4byte sub_80B52D0 - thumb_func_end sub_80B5268 - - thumb_func_start sub_80B52D0 -sub_80B52D0: @ 80B52D0 - push {r4,lr} - adds r4, r0, 0 - bl sub_80B53C0 - adds r0, r4, 0 - bl sub_80755E0 - lsls r0, 24 - cmp r0, 0 - beq _080B52F0 - ldr r0, _080B52EC @ =sub_80B5344 - str r0, [r4, 0x1C] - b _080B533A - .align 2, 0 -_080B52EC: .4byte sub_80B5344 -_080B52F0: - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r1, 0xA - bl Sin - ldrh r1, [r4, 0x24] - adds r0, r1 - strh r0, [r4, 0x24] - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r1, 0xF - bl Cos - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - ldrh r2, [r4, 0x38] - adds r0, r2, 0x5 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x38] - ldrh r0, [r4, 0x38] - lsls r2, 16 - asrs r2, 16 - cmp r2, 0 - beq _080B5328 - cmp r2, 0xC4 - ble _080B533A -_080B5328: - lsls r0, 16 - cmp r0, 0 - ble _080B533A - ldr r0, _080B5340 @ =gUnknown_2037F24 - movs r1, 0 - ldrsb r1, [r0, r1] - movs r0, 0xBD - bl PlaySE12WithPanning -_080B533A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B5340: .4byte gUnknown_2037F24 - thumb_func_end sub_80B52D0 - - thumb_func_start sub_80B5344 -sub_80B5344: @ 80B5344 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x1 - strh r0, [r4, 0x2E] - adds r0, r4, 0 - bl sub_80755E0 - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r1, 0xA - bl Sin - ldrh r1, [r4, 0x24] - adds r0, r1 - strh r0, [r4, 0x24] - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r1, 0xF - bl Cos - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - ldrh r2, [r4, 0x38] - adds r0, r2, 0x5 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x38] - ldrh r0, [r4, 0x38] - lsls r2, 16 - asrs r2, 16 - cmp r2, 0 - beq _080B538A - cmp r2, 0xC4 - ble _080B5396 -_080B538A: - lsls r0, 16 - cmp r0, 0 - ble _080B5396 - movs r0, 0xBD - bl PlaySE -_080B5396: - movs r1, 0x3A - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080B53B4 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, _080B53B0 @ =sub_8074F88 - str r0, [r4, 0x1C] - b _080B53BA - .align 2, 0 -_080B53B0: .4byte sub_8074F88 -_080B53B4: - adds r0, r4, 0 - bl sub_80B53C0 -_080B53BA: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80B5344 - - thumb_func_start sub_80B53C0 -sub_80B53C0: @ 80B53C0 - push {r4,lr} - adds r4, r0, 0 - ldrh r2, [r4, 0x3A] - movs r1, 0x3A - ldrsh r0, [r4, r1] - cmp r0, 0xFF - ble _080B53E4 - adds r0, r2, 0x1 - strh r0, [r4, 0x3A] - lsls r0, 16 - ldr r1, _080B53E0 @ =0x010d0000 - cmp r0, r1 - bne _080B544A - movs r0, 0 - b _080B5448 - .align 2, 0 -_080B53E0: .4byte 0x010d0000 -_080B53E4: - ldrh r1, [r4, 0x3C] - adds r3, r1, 0x1 - strh r3, [r4, 0x3C] - movs r0, 0xFF - ands r0, r1 - cmp r0, 0 - bne _080B544A - ldr r1, _080B5408 @ =0xffffff00 - ands r1, r3 - strh r1, [r4, 0x3C] - movs r0, 0x80 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - beq _080B540C - adds r0, r2, 0x1 - b _080B540E - .align 2, 0 -_080B5408: .4byte 0xffffff00 -_080B540C: - subs r0, r2, 0x1 -_080B540E: - strh r0, [r4, 0x3A] - ldrh r0, [r4, 0x3A] - movs r1, 0x10 - subs r1, r0 - lsls r1, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r2, 0x3A - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _080B5430 - cmp r0, 0x10 - bne _080B543C -_080B5430: - ldrh r0, [r4, 0x3C] - movs r2, 0x80 - lsls r2, 1 - adds r1, r2, 0 - eors r0, r1 - strh r0, [r4, 0x3C] -_080B543C: - movs r1, 0x3A - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080B544A - movs r0, 0x80 - lsls r0, 1 -_080B5448: - strh r0, [r4, 0x3A] -_080B544A: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80B53C0 - - thumb_func_start sub_80B5450 -sub_80B5450: @ 80B5450 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl sub_8075114 - ldr r1, _080B546C @ =sub_80B5470 - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B546C: .4byte sub_80B5470 - thumb_func_end sub_80B5450 - - thumb_func_start sub_80B5470 -sub_80B5470: @ 80B5470 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - movs r1, 0x20 - bl Sin - strh r0, [r4, 0x24] - movs r1, 0x2E - ldrsh r0, [r4, r1] - movs r1, 0x8 - bl Cos - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x2E] - subs r0, 0x41 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x82 - bhi _080B54A4 - ldrb r0, [r4, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r0 - movs r0, 0x8 - b _080B54AE -_080B54A4: - ldrb r0, [r4, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r0 - movs r0, 0x4 -_080B54AE: - orrs r1, r0 - strb r1, [r4, 0x5] - ldrh r0, [r4, 0x2E] - adds r0, 0x13 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x32] - adds r0, 0x50 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 24 - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x3C] - adds r0, 0x1 - strh r0, [r4, 0x3C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3D - bne _080B54E0 - adds r0, r4, 0 - bl DestroyAnimSprite -_080B54E0: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80B5470 - - thumb_func_start sub_80B54E8 -sub_80B54E8: @ 80B54E8 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - movs r1, 0xFD - lsls r1, 6 - movs r0, 0x50 - bl SetGpuReg - movs r1, 0x80 - lsls r1, 5 - movs r0, 0x52 - bl SetGpuReg - movs r0, 0 - bl GetAnimBankSpriteId - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_80758E0 - adds r0, r4, 0 - movs r1, 0x80 - movs r2, 0x80 - movs r3, 0 - bl obj_id_set_rotscale - ldr r1, _080B5560 @ =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - ldr r1, _080B5564 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r2, 0 - movs r1, 0x80 - strh r1, [r0, 0x8] - ldr r1, _080B5568 @ =gBattleAnimArgs - ldrh r1, [r1] - strh r1, [r0, 0xA] - strh r2, [r0, 0xC] - movs r1, 0x10 - strh r1, [r0, 0xE] - ldr r1, _080B556C @ =sub_80B5570 - str r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B5560: .4byte gSprites -_080B5564: .4byte gTasks -_080B5568: .4byte gBattleAnimArgs -_080B556C: .4byte sub_80B5570 - thumb_func_end sub_80B54E8 - - thumb_func_start sub_80B5570 -sub_80B5570: @ 80B5570 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080B55C0 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - ldrh r0, [r4, 0x1C] - adds r0, 0x1 - strh r0, [r4, 0x1C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - bne _080B55B8 - movs r0, 0 - strh r0, [r4, 0x1C] - ldrh r1, [r4, 0xC] - adds r1, 0x1 - strh r1, [r4, 0xC] - ldrh r0, [r4, 0xE] - subs r0, 0x1 - strh r0, [r4, 0xE] - lsls r0, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r1, 0xC - ldrsh r0, [r4, r1] - cmp r0, 0x9 - bne _080B55B8 - ldr r0, _080B55C4 @ =sub_80B55C8 - str r0, [r4] -_080B55B8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B55C0: .4byte gTasks -_080B55C4: .4byte sub_80B55C8 - thumb_func_end sub_80B5570 - - thumb_func_start sub_80B55C8 -sub_80B55C8: @ 80B55C8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - ldr r1, _080B55EC @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - ldrh r1, [r4, 0xA] - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r0, 0 - ble _080B55F0 - subs r0, r1, 0x1 - strh r0, [r4, 0xA] - b _080B5634 - .align 2, 0 -_080B55EC: .4byte gTasks -_080B55F0: - movs r0, 0 - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r1, r0, 24 - ldrh r0, [r4, 0x8] - adds r0, 0x8 - strh r0, [r4, 0x8] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xFF - bgt _080B5618 - movs r0, 0x8 - ldrsh r2, [r4, r0] - adds r0, r1, 0 - adds r1, r2, 0 - movs r3, 0 - bl obj_id_set_rotscale - b _080B5634 -_080B5618: - adds r0, r1, 0 - bl sub_8075980 - adds r0, r5, 0 - bl DestroyAnimVisualTask - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg -_080B5634: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80B55C8 - - thumb_func_start sub_80B563C -sub_80B563C: @ 80B563C - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x4 - adds r4, r0, 0 - ldrh r5, [r4, 0x20] - ldrh r6, [r4, 0x22] - ldr r0, _080B56D8 @ =gBattleAnimAttacker - mov r8, r0 - ldrb r0, [r0] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - mov r9, r1 - strh r0, [r4, 0x20] - mov r1, r8 - ldrb r0, [r1] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x22] - mov r1, r9 - strh r1, [r4, 0x2E] - ldr r2, _080B56DC @ =gBattleAnimArgs - ldrh r1, [r2] - strh r1, [r4, 0x30] - ldrh r1, [r2, 0x2] - strh r1, [r4, 0x32] - ldrh r1, [r2, 0x4] - strh r1, [r4, 0x34] - ldrh r1, [r4, 0x20] - lsls r1, 4 - strh r1, [r4, 0x36] - lsls r0, 4 - strh r0, [r4, 0x38] - lsls r5, 16 - asrs r5, 16 - movs r1, 0x20 - ldrsh r0, [r4, r1] - subs r5, r0 - lsls r5, 4 - movs r0, 0 - ldrsh r1, [r2, r0] - lsls r1, 1 - adds r0, r5, 0 - str r2, [sp] - bl __divsi3 - strh r0, [r4, 0x3A] - lsls r6, 16 - asrs r6, 16 - movs r1, 0x22 - ldrsh r0, [r4, r1] - subs r6, r0 - lsls r6, 4 - ldr r2, [sp] - movs r0, 0 - ldrsh r1, [r2, r0] - lsls r1, 1 - adds r0, r6, 0 - bl __divsi3 - strh r0, [r4, 0x3C] - ldr r0, _080B56E0 @ =sub_80B56E4 - str r0, [r4, 0x1C] - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B56D8: .4byte gBattleAnimAttacker -_080B56DC: .4byte gBattleAnimArgs -_080B56E0: .4byte sub_80B56E4 - thumb_func_end sub_80B563C - - thumb_func_start sub_80B56E4 -sub_80B56E4: @ 80B56E4 - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x2E - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _080B572E - cmp r0, 0x1 - bgt _080B56FA - cmp r0, 0 - beq _080B5704 - b _080B57F2 -_080B56FA: - cmp r0, 0x2 - beq _080B5798 - cmp r0, 0x3 - beq _080B57EC - b _080B57F2 -_080B5704: - ldrh r0, [r5, 0x3A] - ldrh r2, [r5, 0x36] - adds r0, r2 - strh r0, [r5, 0x36] - ldrh r1, [r5, 0x3C] - ldrh r2, [r5, 0x38] - adds r1, r2 - strh r1, [r5, 0x38] - lsls r0, 16 - asrs r0, 20 - strh r0, [r5, 0x20] - lsls r1, 16 - asrs r1, 20 - strh r1, [r5, 0x22] - ldrh r0, [r5, 0x30] - subs r0, 0x1 - strh r0, [r5, 0x30] - lsls r0, 16 - cmp r0, 0 - bgt _080B57F2 - b _080B57DE -_080B572E: - ldrh r0, [r5, 0x32] - subs r0, 0x1 - strh r0, [r5, 0x32] - lsls r0, 16 - cmp r0, 0 - bgt _080B57F2 - ldr r4, _080B5794 @ =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x30] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x32] - ldrh r0, [r5, 0x20] - lsls r0, 4 - strh r0, [r5, 0x36] - ldrh r0, [r5, 0x22] - lsls r0, 4 - strh r0, [r5, 0x38] - movs r1, 0x30 - ldrsh r0, [r5, r1] - movs r2, 0x20 - ldrsh r1, [r5, r2] - subs r0, r1 - lsls r0, 4 - movs r2, 0x34 - ldrsh r1, [r5, r2] - bl __divsi3 - strh r0, [r5, 0x3A] - movs r1, 0x32 - ldrsh r0, [r5, r1] - movs r2, 0x22 - ldrsh r1, [r5, r2] - subs r0, r1 - lsls r0, 4 - movs r2, 0x34 - ldrsh r1, [r5, r2] - bl __divsi3 - strh r0, [r5, 0x3C] - b _080B57DE - .align 2, 0 -_080B5794: .4byte gBattleAnimTarget -_080B5798: - ldrh r0, [r5, 0x3A] - ldrh r1, [r5, 0x36] - adds r0, r1 - strh r0, [r5, 0x36] - ldrh r1, [r5, 0x3C] - ldrh r2, [r5, 0x38] - adds r1, r2 - strh r1, [r5, 0x38] - lsls r0, 16 - asrs r0, 20 - strh r0, [r5, 0x20] - lsls r1, 16 - asrs r1, 20 - strh r1, [r5, 0x22] - ldrh r0, [r5, 0x34] - subs r0, 0x1 - strh r0, [r5, 0x34] - lsls r0, 16 - cmp r0, 0 - bgt _080B57F2 - ldr r4, _080B57E8 @ =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] -_080B57DE: - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - b _080B57F2 - .align 2, 0 -_080B57E8: .4byte gBattleAnimTarget -_080B57EC: - adds r0, r5, 0 - bl move_anim_8074EE0 -_080B57F2: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80B56E4 - - thumb_func_start sub_80B57F8 -sub_80B57F8: @ 80B57F8 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl sub_8075114 - ldr r0, _080B580C @ =sub_80B5810 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B580C: .4byte sub_80B5810 - thumb_func_end sub_80B57F8 - - thumb_func_start sub_80B5810 -sub_80B5810: @ 80B5810 - push {r4-r6,lr} - adds r3, r0, 0 - movs r5, 0 - movs r6, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080B58A6 - adds r1, r3, 0 - adds r1, 0x3E - ldrb r2, [r1] - movs r0, 0x4 - ands r0, r2 - adds r4, r1, 0 - cmp r0, 0 - bne _080B583A - movs r0, 0x4 - orrs r0, r2 - strb r0, [r4] -_080B583A: - movs r1, 0x2E - ldrsh r0, [r3, r1] - cmp r0, 0 - beq _080B584A - cmp r0, 0x1 - beq _080B5854 - movs r6, 0x1 - b _080B585E -_080B584A: - movs r1, 0x30 - ldrsh r0, [r3, r1] - cmp r0, 0x2 - bne _080B585E - b _080B5862 -_080B5854: - movs r1, 0x30 - ldrsh r0, [r3, r1] - cmp r0, 0x4 - bne _080B585E - movs r5, 0x1 -_080B585E: - cmp r5, 0 - beq _080B5894 -_080B5862: - ldrb r2, [r4] - lsls r0, r2, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4] - ldrh r0, [r3, 0x32] - adds r0, 0x1 - movs r1, 0 - strh r0, [r3, 0x32] - strh r1, [r3, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - bne _080B58A6 - strh r1, [r3, 0x32] - ldrh r0, [r3, 0x2E] - adds r0, 0x1 - strh r0, [r3, 0x2E] - b _080B58A6 -_080B5894: - cmp r6, 0 - beq _080B58A0 - adds r0, r3, 0 - bl DestroyAnimSprite - b _080B58A6 -_080B58A0: - ldrh r0, [r3, 0x30] - adds r0, 0x1 - strh r0, [r3, 0x30] -_080B58A6: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80B5810 - - thumb_func_start sub_80B58AC -sub_80B58AC: @ 80B58AC - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _080B58D8 @ =gTasks - adds r5, r0, r1 - movs r0, 0x1 - bl duplicate_obj_of_side_rel2move_in_transparent_mode - movs r6, 0 - movs r1, 0 - strh r0, [r5, 0x8] - lsls r0, 16 - cmp r0, 0 - bge _080B58DC - adds r0, r4, 0 - bl DestroyAnimVisualTask - b _080B59B8 - .align 2, 0 -_080B58D8: .4byte gTasks -_080B58DC: - strh r1, [r5, 0xA] - movs r0, 0xF - strh r0, [r5, 0xC] - movs r0, 0x2 - strh r0, [r5, 0xE] - strh r1, [r5, 0x10] - movs r1, 0xFD - lsls r1, 6 - movs r0, 0x50 - bl SetGpuReg - ldrh r1, [r5, 0xE] - lsls r1, 8 - ldrh r0, [r5, 0xC] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - ldr r4, _080B5944 @ =gSprites - movs r0, 0x8 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x50 - strh r1, [r0, 0x2E] - ldr r0, _080B5948 @ =gBattleAnimTarget - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080B5950 - movs r0, 0x8 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, _080B594C @ =0x0000ff70 - strh r1, [r0, 0x30] - movs r0, 0x8 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x70 - b _080B596E - .align 2, 0 -_080B5944: .4byte gSprites -_080B5948: .4byte gBattleAnimTarget -_080B594C: .4byte 0x0000ff70 -_080B5950: - movs r0, 0x8 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x90 - strh r1, [r0, 0x30] - movs r0, 0x8 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, _080B59C0 @ =0x0000ff90 -_080B596E: - strh r1, [r0, 0x32] - ldr r4, _080B59C4 @ =gSprites - movs r0, 0x8 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r2, 0 - strh r2, [r0, 0x34] - movs r0, 0x8 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r2, [r0, 0x36] - movs r0, 0x8 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, _080B59C8 @ =SpriteCallbackDummy - bl StoreSpriteCallbackInData6 - movs r0, 0x8 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r4, 0x1C - adds r0, r4 - ldr r1, _080B59CC @ =sub_8074D00 - str r1, [r0] - ldr r0, _080B59D0 @ =sub_80B59D4 - str r0, [r5] -_080B59B8: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B59C0: .4byte 0x0000ff90 -_080B59C4: .4byte gSprites -_080B59C8: .4byte SpriteCallbackDummy -_080B59CC: .4byte sub_8074D00 -_080B59D0: .4byte sub_80B59D4 - thumb_func_end sub_80B58AC - - thumb_func_start sub_80B59D4 -sub_80B59D4: @ 80B59D4 - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, _080B59F8 @ =gTasks - adds r4, r0, r1 - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _080B5A78 - cmp r0, 0x1 - bgt _080B59FC - cmp r0, 0 - beq _080B5A02 - b _080B5AA4 - .align 2, 0 -_080B59F8: .4byte gTasks -_080B59FC: - cmp r0, 0x2 - beq _080B5A9E - b _080B5AA4 -_080B5A02: - ldrh r1, [r4, 0xA] - adds r1, 0x1 - strh r1, [r4, 0xA] - movs r0, 0x3 - ands r0, r1 - strh r0, [r4, 0x12] - cmp r0, 0x1 - bne _080B5A20 - ldrh r1, [r4, 0xC] - movs r2, 0xC - ldrsh r0, [r4, r2] - cmp r0, 0 - ble _080B5A20 - subs r0, r1, 0x1 - strh r0, [r4, 0xC] -_080B5A20: - movs r1, 0x12 - ldrsh r0, [r4, r1] - cmp r0, 0x3 - bne _080B5A36 - ldrh r1, [r4, 0xE] - movs r2, 0xE - ldrsh r0, [r4, r2] - cmp r0, 0xF - bgt _080B5A36 - adds r0, r1, 0x1 - strh r0, [r4, 0xE] -_080B5A36: - ldrh r1, [r4, 0xE] - lsls r1, 8 - ldrh r0, [r4, 0xC] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - ldr r1, [r4, 0xC] - movs r0, 0x80 - lsls r0, 13 - cmp r1, r0 - bne _080B5AA4 - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0x50 - ble _080B5AA4 - movs r2, 0x8 - ldrsh r1, [r4, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080B5A74 @ =gSprites - adds r0, r1 - bl obj_delete_but_dont_free_vram - movs r0, 0x1 - strh r0, [r4, 0x10] - b _080B5AA4 - .align 2, 0 -_080B5A74: .4byte gSprites -_080B5A78: - ldrh r0, [r4, 0x14] - adds r0, 0x1 - strh r0, [r4, 0x14] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080B5AA4 - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - ldrh r0, [r4, 0x10] - adds r0, 0x1 - strh r0, [r4, 0x10] - b _080B5AA4 -_080B5A9E: - adds r0, r2, 0 - bl DestroyAnimVisualTask -_080B5AA4: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80B59D4 - - thumb_func_start sub_80B5AAC -sub_80B5AAC: @ 80B5AAC - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r2, _080B5ACC @ =gTasks - adds r1, r2 - movs r2, 0 - strh r2, [r1, 0x26] - ldr r2, _080B5AD0 @ =sub_80B5AD4 - str r2, [r1] - bl _call_via_r2 - pop {r0} - bx r0 - .align 2, 0 -_080B5ACC: .4byte gTasks -_080B5AD0: .4byte sub_80B5AD4 - thumb_func_end sub_80B5AAC - - thumb_func_start sub_80B5AD4 -sub_80B5AD4: @ 80B5AD4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xC - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _080B5B0C @ =gTasks - adds r5, r0, r1 - ldr r0, _080B5B10 @ =gBattleAnimTarget - ldrb r0, [r0] - bl sub_80768B0 - lsls r0, 24 - lsrs r6, r0, 24 - movs r1, 0x26 - ldrsh r0, [r5, r1] - cmp r0, 0x4 - bls _080B5B00 - b _080B5D22 -_080B5B00: - lsls r0, 2 - ldr r1, _080B5B14 @ =_080B5B18 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080B5B0C: .4byte gTasks -_080B5B10: .4byte gBattleAnimTarget -_080B5B14: .4byte _080B5B18 - .align 2, 0 -_080B5B18: - .4byte _080B5B2C - .4byte _080B5C2C - .4byte _080B5C70 - .4byte _080B5CD8 - .4byte _080B5D04 -_080B5B2C: - ldr r7, _080B5B64 @ =0x00002771 - adds r0, r7, 0 - bl AllocSpritePalette - lsls r0, 24 - lsrs r0, 24 - movs r2, 0 - mov r8, r2 - strh r0, [r5, 0x24] - cmp r0, 0xFF - beq _080B5B5A - cmp r0, 0xF - beq _080B5B5A - movs r0, 0x1 - bl duplicate_obj_of_side_rel2move_in_transparent_mode - strh r0, [r5, 0x8] - lsls r0, 16 - cmp r0, 0 - bge _080B5B68 - adds r0, r7, 0 - bl FreeSpritePaletteByTag -_080B5B5A: - adds r0, r4, 0 - bl DestroyAnimVisualTask - b _080B5D28 - .align 2, 0 -_080B5B64: .4byte 0x00002771 -_080B5B68: - ldr r4, _080B5C14 @ =gSprites - movs r1, 0x8 - ldrsh r0, [r5, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrh r2, [r5, 0x24] - lsls r2, 4 - ldrb r3, [r1, 0x5] - movs r0, 0xF - ands r0, r3 - orrs r0, r2 - strb r0, [r1, 0x5] - movs r2, 0x8 - ldrsh r0, [r5, r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r2, [r1, 0x1] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x1] - movs r0, 0x8 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0, 0x5] - movs r2, 0xC - orrs r1, r2 - strb r1, [r0, 0x5] - movs r1, 0x8 - ldrsh r0, [r5, r1] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r4 - ldr r0, _080B5C18 @ =gUnknown_2024018 - ldr r1, [r0] - ldr r0, _080B5C1C @ =gBattleAnimTarget - ldrb r0, [r0] - ldr r1, [r1] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - lsls r1, 31 - adds r2, 0x3E - lsrs r1, 31 - lsls r1, 2 - ldrb r3, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2] - mov r2, r8 - strh r2, [r5, 0xA] - strh r2, [r5, 0xC] - movs r0, 0x10 - strh r0, [r5, 0xE] - movs r0, 0x1 - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - movs r0, 0x22 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r0, [r0, 0x5] - lsrs r0, 4 - adds r0, 0x10 - lsls r0, 4 - strh r0, [r5, 0x10] - cmp r6, 0x1 - bne _080B5C20 - movs r1, 0x80 - lsls r1, 2 - b _080B5C24 - .align 2, 0 -_080B5C14: .4byte gSprites -_080B5C18: .4byte gUnknown_2024018 -_080B5C1C: .4byte gBattleAnimTarget -_080B5C20: - movs r1, 0x80 - lsls r1, 3 -_080B5C24: - movs r0, 0 - bl ClearGpuRegBits - b _080B5D22 -_080B5C2C: - movs r1, 0x24 - ldrsh r0, [r5, r1] - adds r0, 0x10 - lsls r0, 4 - strh r0, [r5, 0x24] - movs r2, 0x10 - ldrsh r0, [r5, r2] - lsls r0, 1 - ldr r1, _080B5C60 @ =gPlttBufferUnfaded - adds r0, r1 - movs r2, 0x24 - ldrsh r1, [r5, r2] - lsls r1, 1 - ldr r2, _080B5C64 @ =gPlttBufferFaded - adds r1, r2 - ldr r2, _080B5C68 @ =0x04000008 - bl CpuSet - ldrh r0, [r5, 0x10] - ldr r3, _080B5C6C @ =0x00003c0d - movs r1, 0x10 - movs r2, 0xA - bl BlendPalette - b _080B5D22 - .align 2, 0 -_080B5C60: .4byte gPlttBufferUnfaded -_080B5C64: .4byte gPlttBufferFaded -_080B5C68: .4byte 0x04000008 -_080B5C6C: .4byte 0x00003c0d -_080B5C70: - ldr r2, _080B5CAC @ =gSprites - movs r0, 0x22 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x26] - ldrh r0, [r0, 0x22] - adds r1, r0 - subs r1, 0x20 - lsls r1, 16 - lsrs r2, r1, 16 - cmp r1, 0 - bge _080B5C90 - movs r2, 0 -_080B5C90: - cmp r6, 0x1 - bne _080B5CB0 - lsls r0, r2, 24 - lsrs r0, 24 - adds r1, r2, 0 - adds r1, 0x40 - lsls r1, 24 - lsrs r1, 24 - movs r2, 0 - str r2, [sp] - movs r2, 0x4 - str r2, [sp, 0x4] - str r6, [sp, 0x8] - b _080B5CC8 - .align 2, 0 -_080B5CAC: .4byte gSprites -_080B5CB0: - lsls r0, r2, 24 - lsrs r0, 24 - adds r1, r2, 0 - adds r1, 0x40 - lsls r1, 24 - lsrs r1, 24 - movs r2, 0 - str r2, [sp] - movs r2, 0x8 - str r2, [sp, 0x4] - movs r2, 0x1 - str r2, [sp, 0x8] -_080B5CC8: - movs r2, 0x2 - movs r3, 0x6 - bl ScanlineEffect_InitWave - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x1C] - b _080B5D22 -_080B5CD8: - cmp r6, 0x1 - bne _080B5CEC - ldr r1, _080B5CE8 @ =0x00003f42 - movs r0, 0x50 - bl SetGpuReg - b _080B5CF4 - .align 2, 0 -_080B5CE8: .4byte 0x00003f42 -_080B5CEC: - ldr r1, _080B5D00 @ =0x00003f44 - movs r0, 0x50 - bl SetGpuReg -_080B5CF4: - movs r1, 0x80 - lsls r1, 5 - movs r0, 0x52 - bl SetGpuReg - b _080B5D22 - .align 2, 0 -_080B5D00: .4byte 0x00003f44 -_080B5D04: - cmp r6, 0x1 - bne _080B5D14 - movs r1, 0x80 - lsls r1, 2 - movs r0, 0 - bl SetGpuRegBits - b _080B5D1E -_080B5D14: - movs r1, 0x80 - lsls r1, 3 - movs r0, 0 - bl SetGpuRegBits -_080B5D1E: - ldr r0, _080B5D34 @ =sub_80B5D38 - str r0, [r5] -_080B5D22: - ldrh r0, [r5, 0x26] - adds r0, 0x1 - strh r0, [r5, 0x26] -_080B5D28: - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B5D34: .4byte sub_80B5D38 - thumb_func_end sub_80B5AD4 - - thumb_func_start sub_80B5D38 -sub_80B5D38: @ 80B5D38 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _080B5DC0 @ =gTasks - adds r4, r0, r1 - ldrh r1, [r4, 0xA] - adds r1, 0x1 - strh r1, [r4, 0xA] - movs r0, 0x1 - ands r0, r1 - strh r0, [r4, 0x12] - cmp r0, 0 - bne _080B5D70 - ldr r1, _080B5DC4 @ =gSineTable - movs r2, 0xA - ldrsh r0, [r4, r2] - lsls r0, 1 - adds r0, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - movs r1, 0x12 - bl __divsi3 - strh r0, [r4, 0xC] -_080B5D70: - movs r2, 0x12 - ldrsh r0, [r4, r2] - cmp r0, 0x1 - bne _080B5D92 - ldr r1, _080B5DC4 @ =gSineTable - movs r2, 0xA - ldrsh r0, [r4, r2] - lsls r0, 1 - adds r0, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - movs r1, 0x12 - bl __divsi3 - movs r1, 0x10 - subs r1, r0 - strh r1, [r4, 0xE] -_080B5D92: - ldrh r1, [r4, 0xE] - lsls r1, 8 - ldrh r0, [r4, 0xC] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r0, 0x80 - bne _080B5DBA - movs r0, 0 - strh r0, [r4, 0x26] - ldr r1, _080B5DC8 @ =sub_80B5DCC - str r1, [r4] - adds r0, r5, 0 - bl _call_via_r1 -_080B5DBA: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B5DC0: .4byte gTasks -_080B5DC4: .4byte gSineTable -_080B5DC8: .4byte sub_80B5DCC - thumb_func_end sub_80B5D38 - - thumb_func_start sub_80B5DCC -sub_80B5DCC: @ 80B5DCC - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _080B5DFC @ =gTasks - adds r4, r0, r1 - ldr r0, _080B5E00 @ =gBattleAnimTarget - ldrb r0, [r0] - bl sub_80768B0 - lsls r0, 24 - lsrs r6, r0, 24 - movs r1, 0x26 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _080B5E38 - cmp r0, 0x1 - bgt _080B5E04 - cmp r0, 0 - beq _080B5E0A - b _080B5EB4 - .align 2, 0 -_080B5DFC: .4byte gTasks -_080B5E00: .4byte gBattleAnimTarget -_080B5E04: - cmp r0, 0x2 - beq _080B5E4C - b _080B5EB4 -_080B5E0A: - ldr r1, _080B5E28 @ =gScanlineEffect - movs r0, 0x3 - strb r0, [r1, 0x15] - movs r0, 0x1 - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x24] - cmp r6, 0x1 - bne _080B5E2C - movs r1, 0x80 - lsls r1, 2 - b _080B5E30 - .align 2, 0 -_080B5E28: .4byte gScanlineEffect -_080B5E2C: - movs r1, 0x80 - lsls r1, 3 -_080B5E30: - movs r0, 0 - bl ClearGpuRegBits - b _080B5EB4 -_080B5E38: - ldrh r0, [r4, 0x10] - ldr r3, _080B5E48 @ =0x00003c0d - movs r1, 0x10 - movs r2, 0 - bl BlendPalette - b _080B5EB4 - .align 2, 0 -_080B5E48: .4byte 0x00003c0d -_080B5E4C: - ldr r3, _080B5E9C @ =gSprites - movs r0, 0x24 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - movs r0, 0x8 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - bl obj_delete_but_dont_free_vram - ldr r0, _080B5EA0 @ =0x00002771 - bl FreeSpritePaletteByTag - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - cmp r6, 0x1 - bne _080B5EA4 - movs r1, 0x80 - lsls r1, 2 - movs r0, 0 - bl SetGpuRegBits - b _080B5EAE - .align 2, 0 -_080B5E9C: .4byte gSprites -_080B5EA0: .4byte 0x00002771 -_080B5EA4: - movs r1, 0x80 - lsls r1, 3 - movs r0, 0 - bl SetGpuRegBits -_080B5EAE: - adds r0, r5, 0 - bl DestroyAnimVisualTask -_080B5EB4: - ldrh r0, [r4, 0x26] - adds r0, 0x1 - strh r0, [r4, 0x26] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80B5DCC - - thumb_func_start sub_80B5EC0 -sub_80B5EC0: @ 80B5EC0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r7, r0, 0 - ldr r0, _080B5EFC @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080B5F08 - ldr r4, _080B5F00 @ =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0 - bl sub_8074480 - lsls r0, 24 - lsrs r6, r0, 24 - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 8 - movs r2, 0xE0 - lsls r2, 13 - adds r0, r2 - lsrs r5, r0, 16 - ldr r4, _080B5F04 @ =gBattleAnimTarget - b _080B5F2C - .align 2, 0 -_080B5EFC: .4byte gBattleAnimArgs -_080B5F00: .4byte gBattleAnimAttacker -_080B5F04: .4byte gBattleAnimTarget -_080B5F08: - ldr r4, _080B5FD0 @ =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0 - bl sub_8074480 - lsls r0, 24 - lsrs r6, r0, 24 - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 8 - movs r2, 0xE0 - lsls r2, 13 - adds r0, r2 - lsrs r5, r0, 16 - ldr r4, _080B5FD4 @ =gBattleAnimAttacker -_080B5F2C: - ldrb r0, [r4] - movs r1, 0 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 8 - movs r1, 0xE0 - lsls r1, 13 - adds r0, r1 - lsrs r0, 16 - mov r9, r0 - mov r8, r5 - mov r2, r9 - subs r4, r2, r5 - lsls r4, 16 - lsrs r4, 16 - lsls r0, r6, 4 - strh r0, [r7, 0x2E] - lsls r0, r5, 4 - strh r0, [r7, 0x30] - mov r1, r10 - subs r0, r1, r6 - lsls r0, 4 - ldr r5, _080B5FD8 @ =gBattleAnimArgs - movs r2, 0x2 - ldrsh r1, [r5, r2] - bl __divsi3 - strh r0, [r7, 0x32] - lsls r4, 16 - asrs r4, 12 - movs r0, 0x2 - ldrsh r1, [r5, r0] - adds r0, r4, 0 - bl __divsi3 - strh r0, [r7, 0x34] - ldrh r0, [r5, 0x2] - strh r0, [r7, 0x36] - mov r1, r10 - strh r1, [r7, 0x38] - mov r2, r9 - strh r2, [r7, 0x3A] - movs r1, 0x36 - ldrsh r0, [r7, r1] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - strh r0, [r7, 0x3C] - ldrb r1, [r7, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - movs r1, 0x8 - orrs r0, r1 - strb r0, [r7, 0x5] - strh r6, [r7, 0x20] - mov r2, r8 - strh r2, [r7, 0x22] - ldr r0, _080B5FDC @ =sub_80B5FE0 - str r0, [r7, 0x1C] - adds r2, r7, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B5FD0: .4byte gBattleAnimTarget -_080B5FD4: .4byte gBattleAnimAttacker -_080B5FD8: .4byte gBattleAnimArgs -_080B5FDC: .4byte sub_80B5FE0 - thumb_func_end sub_80B5EC0 - - thumb_func_start sub_80B5FE0 -sub_80B5FE0: @ 80B5FE0 - push {r4,lr} - adds r2, r0, 0 - ldrh r3, [r2, 0x36] - movs r1, 0x36 - ldrsh r0, [r2, r1] - cmp r0, 0 - beq _080B6018 - ldrh r0, [r2, 0x32] - ldrh r4, [r2, 0x2E] - adds r0, r4 - strh r0, [r2, 0x2E] - ldrh r1, [r2, 0x34] - ldrh r4, [r2, 0x30] - adds r1, r4 - strh r1, [r2, 0x30] - lsls r0, 16 - asrs r0, 20 - strh r0, [r2, 0x20] - lsls r1, 16 - asrs r1, 20 - strh r1, [r2, 0x22] - subs r0, r3, 0x1 - strh r0, [r2, 0x36] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bne _080B6018 - strh r0, [r2, 0x2E] -_080B6018: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80B5FE0 - - thumb_func_start sub_80B6020 -sub_80B6020: @ 80B6020 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _080B6170 @ =gTasks - adds r1, r0 - str r1, [sp] - movs r1, 0xFD - lsls r1, 6 - movs r0, 0x50 - bl SetGpuReg - movs r1, 0x80 - lsls r1, 5 - movs r0, 0x52 - bl SetGpuReg - movs r0, 0 - ldr r1, [sp] - strh r0, [r1, 0x12] - strh r0, [r1, 0x14] - strh r0, [r1, 0x16] - strh r0, [r1, 0x18] - movs r0, 0x10 - strh r0, [r1, 0x1A] - ldr r2, _080B6174 @ =gBattleAnimArgs - ldrh r0, [r2] - strh r0, [r1, 0x1C] - ldr r4, _080B6178 @ =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8076B2C - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x8] - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - beq _080B6090 - b _080B618C -_080B6090: - movs r4, 0 -_080B6092: - lsls r1, r4, 16 - asrs r3, r1, 16 - ldr r0, _080B6178 @ =gBattleAnimAttacker - ldrb r2, [r0] - str r1, [sp, 0x10] - cmp r3, r2 - beq _080B615E - movs r0, 0x2 - eors r2, r0 - cmp r3, r2 - beq _080B615E - lsls r0, r4, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl sub_8072DF0 - lsls r0, 24 - cmp r0, 0 - beq _080B615E - ldr r6, [sp, 0x4] - ldr r3, [sp, 0x8] - lsls r0, r3, 16 - asrs r7, r0, 16 - ldr r0, _080B617C @ =gUnknown_83E7668 - adds r1, r6, 0 - adds r2, r7, 0 - movs r3, 0x37 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - cmp r0, 0x40 - beq _080B615E - adds r0, r4, 0 - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - adds r0, r4, 0 - movs r1, 0x3 - bl sub_8076B2C - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - mov r0, r8 - lsls r5, r0, 4 - add r5, r8 - lsls r5, 2 - ldr r1, _080B6180 @ =gSprites - adds r4, r5, r1 - lsls r0, r6, 4 - strh r0, [r4, 0x2E] - lsls r0, r7, 4 - strh r0, [r4, 0x30] - mov r2, r10 - subs r0, r2, r6 - lsls r0, 4 - ldr r3, _080B6174 @ =gBattleAnimArgs - movs r2, 0x2 - ldrsh r1, [r3, r2] - bl __divsi3 - strh r0, [r4, 0x32] - mov r3, r9 - lsls r0, r3, 16 - asrs r0, 16 - subs r0, r7 - lsls r0, 4 - ldr r2, _080B6174 @ =gBattleAnimArgs - movs r3, 0x2 - ldrsh r1, [r2, r3] - bl __divsi3 - strh r0, [r4, 0x34] - ldr r1, _080B6174 @ =gBattleAnimArgs - ldrh r0, [r1, 0x2] - strh r0, [r4, 0x36] - mov r2, r10 - strh r2, [r4, 0x38] - mov r3, r9 - strh r3, [r4, 0x3A] - ldr r0, _080B6184 @ =gSprites + 0x1C - adds r5, r0 - ldr r0, _080B6188 @ =sub_80B5FE0 - str r0, [r5] - ldr r2, [sp] - movs r3, 0x20 - ldrsh r1, [r2, r3] - adds r1, 0xD - lsls r1, 1 - adds r0, r2, 0 - adds r0, 0x8 - adds r0, r1 - mov r1, r8 - strh r1, [r0] - ldrh r0, [r2, 0x20] - adds r0, 0x1 - strh r0, [r2, 0x20] -_080B615E: - ldr r2, [sp, 0x10] - movs r3, 0x80 - lsls r3, 9 - adds r0, r2, r3 - lsrs r4, r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _080B6092 - b _080B6210 - .align 2, 0 -_080B6170: .4byte gTasks -_080B6174: .4byte gBattleAnimArgs -_080B6178: .4byte gBattleAnimAttacker -_080B617C: .4byte gUnknown_83E7668 -_080B6180: .4byte gSprites -_080B6184: .4byte gSprites + 0x1C -_080B6188: .4byte sub_80B5FE0 -_080B618C: - ldr r0, _080B6228 @ =gUnknown_83E7668 - ldr r7, [sp, 0x4] - ldr r2, [sp, 0x8] - lsls r1, r2, 16 - asrs r1, 16 - str r1, [sp, 0xC] - adds r1, r7, 0 - ldr r2, [sp, 0xC] - movs r3, 0x37 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - cmp r0, 0x40 - beq _080B6210 - movs r3, 0x30 - mov r10, r3 - movs r0, 0x28 - mov r9, r0 - ldr r6, _080B622C @ =gSprites - mov r1, r8 - lsls r5, r1, 4 - add r5, r8 - lsls r5, 2 - adds r4, r5, r6 - lsls r0, r7, 4 - strh r0, [r4, 0x2E] - ldr r2, [sp, 0xC] - lsls r0, r2, 4 - strh r0, [r4, 0x30] - subs r0, r3, r7 - lsls r0, 4 - ldr r3, _080B6230 @ =gBattleAnimArgs - movs r2, 0x2 - ldrsh r1, [r3, r2] - bl __divsi3 - strh r0, [r4, 0x32] - mov r3, r9 - ldr r1, [sp, 0xC] - subs r0, r3, r1 - lsls r0, 4 - ldr r2, _080B6230 @ =gBattleAnimArgs - movs r3, 0x2 - ldrsh r1, [r2, r3] - bl __divsi3 - strh r0, [r4, 0x34] - ldr r1, _080B6230 @ =gBattleAnimArgs - ldrh r0, [r1, 0x2] - strh r0, [r4, 0x36] - mov r2, r10 - strh r2, [r4, 0x38] - mov r3, r9 - strh r3, [r4, 0x3A] - adds r6, 0x1C - adds r5, r6 - ldr r0, _080B6234 @ =sub_80B5FE0 - str r0, [r5] - mov r1, r8 - ldr r0, [sp] - strh r1, [r0, 0x22] - movs r0, 0x1 - ldr r2, [sp] - strh r0, [r2, 0x20] -_080B6210: - ldr r0, _080B6238 @ =sub_80B623C - ldr r3, [sp] - str r0, [r3] - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B6228: .4byte gUnknown_83E7668 -_080B622C: .4byte gSprites -_080B6230: .4byte gBattleAnimArgs -_080B6234: .4byte sub_80B5FE0 -_080B6238: .4byte sub_80B623C - thumb_func_end sub_80B6020 - - thumb_func_start sub_80B623C -sub_80B623C: @ 80B623C - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _080B6260 @ =gTasks - adds r4, r0, r1 - movs r0, 0x8 - ldrsh r1, [r4, r0] - cmp r1, 0x1 - beq _080B62F2 - cmp r1, 0x1 - bgt _080B6264 - cmp r1, 0 - beq _080B6272 - b _080B63AE - .align 2, 0 -_080B6260: .4byte gTasks -_080B6264: - cmp r1, 0x2 - bne _080B626A - b _080B6384 -_080B626A: - cmp r1, 0x3 - bne _080B6270 - b _080B6398 -_080B6270: - b _080B63AE -_080B6272: - movs r2, 0x14 - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _080B62D8 - ldrh r0, [r4, 0x12] - adds r0, 0x1 - strh r0, [r4, 0x12] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080B62D8 - strh r1, [r4, 0x12] - ldrh r0, [r4, 0x16] - adds r0, 0x1 - strh r0, [r4, 0x16] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080B62A8 - ldrh r1, [r4, 0x18] - movs r2, 0x18 - ldrsh r0, [r4, r2] - cmp r0, 0xF - bgt _080B62B6 - adds r0, r1, 0x1 - strh r0, [r4, 0x18] - b _080B62B6 -_080B62A8: - ldrh r1, [r4, 0x1A] - movs r2, 0x1A - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _080B62B6 - subs r0, r1, 0x1 - strh r0, [r4, 0x1A] -_080B62B6: - ldrh r1, [r4, 0x1A] - lsls r1, 8 - ldrh r0, [r4, 0x18] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r1, 0x16 - ldrsh r0, [r4, r1] - cmp r0, 0x17 - ble _080B62D8 - movs r0, 0 - strh r0, [r4, 0x16] - movs r0, 0x1 - strh r0, [r4, 0x14] -_080B62D8: - ldrh r1, [r4, 0x1C] - movs r2, 0x1C - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _080B62E8 - subs r0, r1, 0x1 - strh r0, [r4, 0x1C] - b _080B63AE -_080B62E8: - movs r1, 0x14 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080B63AE - b _080B6390 -_080B62F2: - ldrh r0, [r4, 0x12] - adds r0, 0x1 - strh r0, [r4, 0x12] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080B63AE - movs r0, 0 - strh r0, [r4, 0x12] - ldrh r0, [r4, 0x16] - adds r0, 0x1 - strh r0, [r4, 0x16] - ands r0, r1 - lsls r0, 16 - cmp r0, 0 - beq _080B6322 - ldrh r1, [r4, 0x18] - movs r2, 0x18 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _080B6330 - subs r0, r1, 0x1 - strh r0, [r4, 0x18] - b _080B6330 -_080B6322: - ldrh r1, [r4, 0x1A] - movs r2, 0x1A - ldrsh r0, [r4, r2] - cmp r0, 0xF - bgt _080B6330 - adds r0, r1, 0x1 - strh r0, [r4, 0x1A] -_080B6330: - ldrh r1, [r4, 0x1A] - lsls r1, 8 - ldrh r0, [r4, 0x18] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - ldr r1, [r4, 0x18] - movs r0, 0x80 - lsls r0, 13 - cmp r1, r0 - bne _080B63AE - movs r5, 0 - b _080B6374 -_080B6350: - adds r1, r5, 0 - adds r1, 0xD - lsls r1, 1 - adds r0, r4, 0 - adds r0, 0x8 - adds r0, r1 - movs r2, 0 - ldrsh r1, [r0, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080B6380 @ =gSprites - adds r0, r1 - bl DestroySprite - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 -_080B6374: - movs r1, 0x20 - ldrsh r0, [r4, r1] - cmp r5, r0 - blt _080B6350 - b _080B6390 - .align 2, 0 -_080B6380: .4byte gSprites -_080B6384: - ldrh r0, [r4, 0x12] - adds r0, 0x1 - strh r0, [r4, 0x12] - lsls r0, 16 - cmp r0, 0 - ble _080B63AE -_080B6390: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080B63AE -_080B6398: - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - adds r0, r5, 0 - bl DestroyAnimVisualTask -_080B63AE: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80B623C - - thumb_func_start sub_80B63B4 -sub_80B63B4: @ 80B63B4 - push {r4-r7,lr} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, _080B6400 @ =gUnknown_2022984 - movs r1, 0 - strh r1, [r0] - ldr r0, _080B6404 @ =gUnknown_2022986 - strh r1, [r0] - ldr r1, _080B6408 @ =0x00003f3f - movs r0, 0x48 - bl SetGpuReg - ldr r1, _080B640C @ =0x00003f1f - movs r0, 0x4A - bl SetGpuReg - movs r0, 0x50 - movs r1, 0xC8 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0x10 - bl SetGpuReg - ldr r0, _080B6410 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080B63FC - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - beq _080B6414 -_080B63FC: - movs r6, 0x28 - b _080B6416 - .align 2, 0 -_080B6400: .4byte gUnknown_2022984 -_080B6404: .4byte gUnknown_2022986 -_080B6408: .4byte 0x00003f3f -_080B640C: .4byte 0x00003f1f -_080B6410: .4byte gBattleAnimAttacker -_080B6414: - movs r6, 0xC8 -_080B6416: - ldr r1, _080B6454 @ =gUnknown_2022984 - lsls r3, r6, 16 - asrs r2, r3, 16 - lsls r0, r2, 8 - orrs r0, r2 - strh r0, [r1] - ldr r1, _080B6458 @ =gUnknown_2022986 - movs r5, 0x28 - ldr r0, _080B645C @ =0x00002828 - strh r0, [r1] - lsrs r3, 16 - movs r1, 0xF0 - subs r1, r2 - movs r4, 0x48 - ldr r2, _080B6460 @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r2 - strh r3, [r0, 0xA] - strh r1, [r0, 0xC] - strh r5, [r0, 0xE] - strh r4, [r0, 0x10] - strh r6, [r0, 0x12] - strh r5, [r0, 0x14] - ldr r1, _080B6464 @ =sub_80B6468 - str r1, [r0] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B6454: .4byte gUnknown_2022984 -_080B6458: .4byte gUnknown_2022986 -_080B645C: .4byte 0x00002828 -_080B6460: .4byte gTasks -_080B6464: .4byte sub_80B6468 - thumb_func_end sub_80B63B4 - - thumb_func_start sub_80B6468 -sub_80B6468: @ 80B6468 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x20 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080B6588 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - ldrh r1, [r4, 0x8] - adds r0, r1, 0x1 - strh r0, [r4, 0x8] - ldrh r5, [r4, 0xA] - ldrh r7, [r4, 0xC] - ldrh r0, [r4, 0xE] - mov r10, r0 - ldrh r2, [r4, 0x10] - str r2, [sp, 0xC] - ldrh r0, [r4, 0x12] - ldrh r2, [r4, 0x14] - mov r8, r2 - lsls r1, 16 - asrs r6, r1, 16 - cmp r6, 0xF - ble _080B64A4 - b _080B6594 -_080B64A4: - lsls r0, 16 - asrs r0, 16 - bl __floatsidf - str r0, [sp, 0x10] - str r1, [sp, 0x14] - lsls r0, r5, 16 - asrs r0, 16 - bl __floatsidf - ldr r2, _080B658C @ =0x3fb00000 - ldr r3, _080B6590 @ =0x00000000 - bl __muldf3 - adds r5, r1, 0 - adds r4, r0, 0 - adds r0, r6, 0 - bl __floatsidf - str r0, [sp, 0x18] - str r1, [sp, 0x1C] - adds r1, r5, 0 - adds r0, r4, 0 - ldr r2, [sp, 0x18] - ldr r3, [sp, 0x1C] - bl __muldf3 - adds r3, r1, 0 - adds r2, r0, 0 - ldr r0, [sp, 0x10] - ldr r1, [sp, 0x14] - bl __subdf3 - bl __fixunsdfsi - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - lsls r0, r7, 16 - asrs r0, 16 - bl __floatsidf - ldr r2, _080B658C @ =0x3fb00000 - ldr r3, _080B6590 @ =0x00000000 - bl __muldf3 - ldr r2, [sp, 0x18] - ldr r3, [sp, 0x1C] - bl __muldf3 - adds r3, r1, 0 - adds r2, r0, 0 - ldr r0, [sp, 0x10] - ldr r1, [sp, 0x14] - bl __adddf3 - bl __fixunsdfsi - lsls r0, 16 - lsrs r7, r0, 16 - mov r1, r8 - lsls r0, r1, 16 - asrs r0, 16 - bl __floatsidf - adds r5, r1, 0 - adds r4, r0, 0 - mov r2, r10 - lsls r0, r2, 16 - asrs r0, 16 - bl __floatsidf - ldr r2, _080B658C @ =0x3fb00000 - ldr r3, _080B6590 @ =0x00000000 - bl __muldf3 - ldr r2, [sp, 0x18] - ldr r3, [sp, 0x1C] - bl __muldf3 - adds r3, r1, 0 - adds r2, r0, 0 - adds r1, r5, 0 - adds r0, r4, 0 - bl __subdf3 - bl __fixunsdfsi - lsls r0, 16 - lsrs r6, r0, 16 - ldr r1, [sp, 0xC] - lsls r0, r1, 16 - asrs r0, 16 - bl __floatsidf - ldr r2, _080B658C @ =0x3fb00000 - ldr r3, _080B6590 @ =0x00000000 - bl __muldf3 - ldr r2, [sp, 0x18] - ldr r3, [sp, 0x1C] - bl __muldf3 - adds r3, r1, 0 - adds r2, r0, 0 - adds r1, r5, 0 - adds r0, r4, 0 - bl __adddf3 - bl __fixunsdfsi - lsls r0, 16 - lsrs r5, r0, 16 - b _080B65C2 - .align 2, 0 -_080B6588: .4byte gTasks -_080B658C: .4byte 0x3fb00000 -_080B6590: .4byte 0x00000000 -_080B6594: - movs r2, 0 - mov r9, r2 - movs r7, 0xF0 - movs r6, 0 - movs r5, 0x70 - str r6, [sp] - str r6, [sp, 0x4] - str r6, [sp, 0x8] - movs r0, 0x1 - movs r1, 0 - movs r3, 0 - bl sub_8075BE8 - lsls r0, 16 - lsrs r0, 16 - str r6, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, _080B65E4 @ =sub_80B65F0 - str r0, [r4] -_080B65C2: - ldr r1, _080B65E8 @ =gUnknown_2022984 - mov r2, r9 - lsls r0, r2, 8 - orrs r7, r0 - strh r7, [r1] - ldr r1, _080B65EC @ =gUnknown_2022986 - lsls r0, r6, 8 - orrs r5, r0 - strh r5, [r1] - add sp, 0x20 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B65E4: .4byte sub_80B65F0 -_080B65E8: .4byte gUnknown_2022984 -_080B65EC: .4byte gUnknown_2022986 - thumb_func_end sub_80B6468 - - thumb_func_start sub_80B65F0 -sub_80B65F0: @ 80B65F0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _080B663C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _080B6636 - ldr r0, _080B6640 @ =gUnknown_2022984 - strh r1, [r0] - ldr r0, _080B6644 @ =gUnknown_2022986 - strh r1, [r0] - ldr r4, _080B6648 @ =0x00003f3f - movs r0, 0x48 - adds r1, r4, 0 - bl SetGpuReg - movs r0, 0x4A - adds r1, r4, 0 - bl SetGpuReg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - adds r0, r5, 0 - bl DestroyAnimVisualTask -_080B6636: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B663C: .4byte gPaletteFade -_080B6640: .4byte gUnknown_2022984 -_080B6644: .4byte gUnknown_2022986 -_080B6648: .4byte 0x00003f3f - thumb_func_end sub_80B65F0 - - thumb_func_start sub_80B664C -sub_80B664C: @ 80B664C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl sub_8075160 - ldr r0, _080B6678 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080B6680 - movs r2, 0x18 - ldr r3, _080B667C @ =0x0000fffe - ldrb r0, [r4, 0x3] - movs r1, 0x3F - negs r1, r1 - ands r1, r0 - movs r0, 0x10 - orrs r1, r0 - strb r1, [r4, 0x3] - b _080B6684 - .align 2, 0 -_080B6678: .4byte gBattleAnimAttacker -_080B667C: .4byte 0x0000fffe -_080B6680: - ldr r2, _080B66A0 @ =0x0000ffe8 - movs r3, 0x2 -_080B6684: - lsls r0, r2, 16 - asrs r0, 16 - ldrh r1, [r4, 0x20] - adds r0, r1 - strh r0, [r4, 0x20] - strh r3, [r4, 0x30] - movs r0, 0x3C - strh r0, [r4, 0x2E] - ldr r0, _080B66A4 @ =sub_80B66A8 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B66A0: .4byte 0x0000ffe8 -_080B66A4: .4byte sub_80B66A8 - thumb_func_end sub_80B664C - - thumb_func_start sub_80B66A8 -sub_80B66A8: @ 80B66A8 - push {r4,lr} - adds r3, r0, 0 - ldrh r1, [r3, 0x2E] - movs r2, 0x2E - ldrsh r0, [r3, r2] - cmp r0, 0 - ble _080B66BA - subs r0, r1, 0x1 - b _080B671E -_080B66BA: - ldrh r0, [r3, 0x30] - ldrh r4, [r3, 0x24] - adds r1, r0, r4 - strh r1, [r3, 0x24] - adds r0, r1, 0x7 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xE - bls _080B6720 - ldrh r0, [r3, 0x20] - adds r0, r1 - strh r0, [r3, 0x20] - movs r0, 0 - strh r0, [r3, 0x24] - ldrh r2, [r3, 0x4] - lsls r1, r2, 22 - lsrs r1, 22 - adds r1, 0x8 - ldr r4, _080B670C @ =0x000003ff - adds r0, r4, 0 - ands r1, r0 - ldr r0, _080B6710 @ =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r3, 0x4] - ldrh r0, [r3, 0x32] - adds r0, 0x1 - strh r0, [r3, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - bne _080B671C - movs r0, 0x1E - strh r0, [r3, 0x2E] - ldr r0, _080B6714 @ =sub_8074C44 - str r0, [r3, 0x1C] - ldr r1, _080B6718 @ =sub_80B6728 - adds r0, r3, 0 - bl StoreSpriteCallbackInData6 - b _080B6720 - .align 2, 0 -_080B670C: .4byte 0x000003ff -_080B6710: .4byte 0xfffffc00 -_080B6714: .4byte sub_8074C44 -_080B6718: .4byte sub_80B6728 -_080B671C: - movs r0, 0x28 -_080B671E: - strh r0, [r3, 0x2E] -_080B6720: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80B66A8 - - thumb_func_start sub_80B6728 -sub_80B6728: @ 80B6728 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x2E - ldrsh r5, [r4, r0] - cmp r5, 0 - bne _080B6752 - movs r1, 0xFD - lsls r1, 6 - movs r0, 0x50 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0x10 - bl SetGpuReg - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - strh r5, [r4, 0x30] - strh r5, [r4, 0x32] - b _080B6796 -_080B6752: - ldrh r1, [r4, 0x30] - movs r2, 0x30 - ldrsh r0, [r4, r2] - cmp r0, 0x1 - bgt _080B6762 - adds r0, r1, 0x1 - strh r0, [r4, 0x30] - b _080B6796 -_080B6762: - movs r0, 0 - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - movs r1, 0x10 - subs r1, r0 - lsls r0, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0x10 - bne _080B6796 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, _080B679C @ =sub_80B67A0 - str r0, [r4, 0x1C] -_080B6796: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B679C: .4byte sub_80B67A0 - thumb_func_end sub_80B6728 - - thumb_func_start sub_80B67A0 -sub_80B67A0: @ 80B67A0 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - ldr r0, _080B67CC @ =gUnknown_2022984 - movs r1, 0 - strh r1, [r0] - ldr r0, _080B67D0 @ =gUnknown_2022986 - strh r1, [r0] - adds r0, r4, 0 - bl DestroyAnimSprite - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B67CC: .4byte gUnknown_2022984 -_080B67D0: .4byte gUnknown_2022986 - thumb_func_end sub_80B67A0 - - thumb_func_start sub_80B67D4 -sub_80B67D4: @ 80B67D4 - push {r4-r7,lr} - adds r5, r0, 0 - movs r1, 0x2E - ldrsh r0, [r5, r1] - movs r1, 0xC - bl Sin - strh r0, [r5, 0x24] - ldr r0, _080B683C @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080B67F8 - ldrh r0, [r5, 0x24] - negs r0, r0 - strh r0, [r5, 0x24] -_080B67F8: - ldrh r0, [r5, 0x2E] - adds r0, 0x6 - movs r1, 0xFF - ands r0, r1 - strh r0, [r5, 0x2E] - movs r1, 0x80 - lsls r1, 1 - adds r0, r1, 0 - ldrh r1, [r5, 0x30] - adds r0, r1 - strh r0, [r5, 0x30] - lsls r0, 16 - asrs r0, 24 - negs r0, r0 - strh r0, [r5, 0x26] - ldrh r0, [r5, 0x3C] - adds r0, 0x1 - strh r0, [r5, 0x3C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - bne _080B6844 - ldr r0, _080B6840 @ =0x0000050b - strh r0, [r5, 0x3A] - movs r1, 0xFD - lsls r1, 6 - movs r0, 0x50 - bl SetGpuReg - ldrh r1, [r5, 0x3A] - movs r0, 0x52 - bl SetGpuReg - b _080B689C - .align 2, 0 -_080B683C: .4byte gBattleAnimAttacker -_080B6840: .4byte 0x0000050b -_080B6844: - cmp r0, 0x1E - ble _080B689C - ldrh r0, [r5, 0x32] - adds r0, 0x1 - strh r0, [r5, 0x32] - ldrh r1, [r5, 0x3A] - lsls r0, r1, 16 - asrs r0, 24 - lsls r0, 16 - movs r6, 0xFF - ands r6, r1 - movs r1, 0x80 - lsls r1, 9 - adds r0, r1 - lsrs r7, r0, 16 - cmp r7, 0x10 - bls _080B6868 - movs r7, 0x10 -_080B6868: - subs r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r0, 0 - bge _080B6874 - movs r6, 0 -_080B6874: - lsls r4, r7, 8 - orrs r4, r6 - lsls r1, r4, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - strh r4, [r5, 0x3A] - cmp r7, 0x10 - bne _080B689C - cmp r6, 0 - bne _080B689C - adds r2, r5, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, _080B68A4 @ =sub_80B68A8 - str r0, [r5, 0x1C] -_080B689C: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B68A4: .4byte sub_80B68A8 - thumb_func_end sub_80B67D4 - - thumb_func_start sub_80B68A8 -sub_80B68A8: @ 80B68A8 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - adds r0, r4, 0 - bl DestroyAnimSprite - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80B68A8 - - thumb_func_start sub_80B68C8 -sub_80B68C8: @ 80B68C8 - push {r4-r6,lr} - mov r6, r8 - push {r6} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, _080B6960 @ =gTasks - adds r4, r0 - movs r6, 0 - strh r6, [r4, 0x8] - movs r0, 0x10 - mov r8, r0 - mov r0, r8 - strh r0, [r4, 0xA] - ldr r5, _080B6964 @ =gBattleAnimAttacker - ldrb r0, [r5] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x1A] - ldrb r0, [r5] - bl sub_807492C - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x1C] - ldrb r0, [r5] - movs r1, 0x1 - bl sub_8076B2C - lsls r0, 16 - asrs r1, r0, 16 - lsrs r0, 31 - adds r1, r0 - asrs r1, 1 - adds r1, 0x8 - strh r1, [r4, 0x1E] - strh r6, [r4, 0x16] - ldrb r0, [r5] - bl sub_8076884 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x12] - ldrb r0, [r5] - bl sub_807685C - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x2 - strh r0, [r4, 0x14] - strh r6, [r4, 0xE] - mov r0, r8 - strh r0, [r4, 0x10] - movs r1, 0xFD - lsls r1, 6 - movs r0, 0x50 - bl SetGpuReg - movs r1, 0x80 - lsls r1, 5 - movs r0, 0x52 - bl SetGpuReg - strh r6, [r4, 0x18] - ldr r0, _080B6968 @ =sub_80B696C - str r0, [r4] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B6960: .4byte gTasks -_080B6964: .4byte gBattleAnimAttacker -_080B6968: .4byte sub_80B696C - thumb_func_end sub_80B68C8 - - thumb_func_start sub_80B696C -sub_80B696C: @ 80B696C - push {r4-r7,lr} - lsls r0, 24 - lsrs r7, r0, 24 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - ldr r1, _080B6990 @ =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x5 - bls _080B6986 - b _080B6AF2 -_080B6986: - lsls r0, 2 - ldr r1, _080B6994 @ =_080B6998 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080B6990: .4byte gTasks -_080B6994: .4byte _080B6998 - .align 2, 0 -_080B6998: - .4byte _080B69B0 - .4byte _080B6A20 - .4byte _080B6A62 - .4byte _080B6A76 - .4byte _080B6ACC - .4byte _080B6ADC -_080B69B0: - movs r6, 0 -_080B69B2: - movs r2, 0x1A - ldrsh r1, [r4, r2] - movs r0, 0x1C - ldrsh r2, [r4, r0] - ldrb r3, [r4, 0x14] - ldr r0, _080B6A14 @ =gUnknown_83E76E0 - bl CreateSprite - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x40 - beq _080B6A06 - ldr r1, _080B6A18 @ =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r5, r0, r1 - strh r7, [r5, 0x2E] - ldr r0, _080B6A1C @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - movs r1, 0 - lsls r0, 24 - cmp r0, 0 - bne _080B69E8 - movs r1, 0x1 -_080B69E8: - strh r1, [r5, 0x30] - movs r0, 0x2A - muls r0, r6 - movs r1, 0xFF - ands r0, r1 - strh r0, [r5, 0x32] - ldrh r0, [r4, 0x1E] - strh r0, [r5, 0x34] - lsls r0, r6, 1 - adds r0, r6 - lsls r0, 1 - strh r0, [r5, 0x38] - ldrh r0, [r4, 0x16] - adds r0, 0x1 - strh r0, [r4, 0x16] -_080B6A06: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x5 - bls _080B69B2 - b _080B6AD4 - .align 2, 0 -_080B6A14: .4byte gUnknown_83E76E0 -_080B6A18: .4byte gSprites -_080B6A1C: .4byte gBattleAnimAttacker -_080B6A20: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080B6A3E - ldrh r1, [r4, 0xE] - movs r2, 0xE - ldrsh r0, [r4, r2] - cmp r0, 0xD - bgt _080B6A4C - adds r0, r1, 0x1 - strh r0, [r4, 0xE] - b _080B6A4C -_080B6A3E: - ldrh r1, [r4, 0x10] - movs r2, 0x10 - ldrsh r0, [r4, r2] - cmp r0, 0x4 - ble _080B6A4C - subs r0, r1, 0x1 - strh r0, [r4, 0x10] -_080B6A4C: - movs r1, 0xE - ldrsh r0, [r4, r1] - ldrh r2, [r4, 0xE] - ldrh r1, [r4, 0x10] - cmp r0, 0xE - bne _080B6ABC - cmp r1, 0x4 - bne _080B6ABC - movs r0, 0 - strh r0, [r4, 0xA] - b _080B6AB6 -_080B6A62: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1E - ble _080B6AF2 - movs r0, 0 - strh r0, [r4, 0xA] - b _080B6AD4 -_080B6A76: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080B6A94 - ldrh r1, [r4, 0xE] - movs r2, 0xE - ldrsh r0, [r4, r2] - cmp r0, 0 - ble _080B6AA2 - subs r0, r1, 0x1 - strh r0, [r4, 0xE] - b _080B6AA2 -_080B6A94: - ldrh r1, [r4, 0x10] - movs r2, 0x10 - ldrsh r0, [r4, r2] - cmp r0, 0xF - bgt _080B6AA2 - adds r0, r1, 0x1 - strh r0, [r4, 0x10] -_080B6AA2: - movs r1, 0xE - ldrsh r0, [r4, r1] - ldrh r2, [r4, 0xE] - ldrh r1, [r4, 0x10] - cmp r0, 0 - bne _080B6ABC - cmp r1, 0x10 - bne _080B6ABC - movs r0, 0x1 - strh r0, [r4, 0x18] -_080B6AB6: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080B6ABC: - lsls r1, 8 - orrs r1, r2 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - b _080B6AF2 -_080B6ACC: - movs r2, 0x16 - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _080B6AF2 -_080B6AD4: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080B6AF2 -_080B6ADC: - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - adds r0, r7, 0 - bl DestroyAnimVisualTask -_080B6AF2: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80B696C - - thumb_func_start sub_80B6AF8 -sub_80B6AF8: @ 80B6AF8 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x30 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080B6B0A - ldrh r0, [r4, 0x32] - adds r0, 0x2 - b _080B6B0E -_080B6B0A: - ldrh r0, [r4, 0x32] - subs r0, 0x2 -_080B6B0E: - strh r0, [r4, 0x32] - ldrh r1, [r4, 0x32] - movs r0, 0xFF - ands r0, r1 - strh r0, [r4, 0x32] - movs r2, 0x32 - ldrsh r0, [r4, r2] - movs r2, 0x34 - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x32] - subs r0, 0x41 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x7E - bhi _080B6B50 - ldr r2, _080B6B4C @ =gTasks - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrh r1, [r0, 0x12] - adds r1, 0x1 - movs r0, 0x3 - ands r1, r0 - b _080B6B64 - .align 2, 0 -_080B6B4C: .4byte gTasks -_080B6B50: - ldr r2, _080B6BB8 @ =gTasks - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0x3 - ldrb r1, [r0, 0x12] - ands r1, r2 -_080B6B64: - lsls r1, 2 - ldrb r2, [r4, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x5] - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - movs r1, 0x38 - ldrsh r0, [r4, r1] - lsls r0, 3 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x3A] - movs r2, 0x3A - ldrsh r0, [r4, r2] - movs r1, 0x7 - bl Sin - strh r0, [r4, 0x26] - ldr r2, _080B6BB8 @ =gTasks - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r1, r0, r2 - movs r2, 0x18 - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _080B6BB2 - ldrh r0, [r1, 0x16] - subs r0, 0x1 - strh r0, [r1, 0x16] - adds r0, r4, 0 - bl DestroySprite -_080B6BB2: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B6BB8: .4byte gTasks - thumb_func_end sub_80B6AF8 - - thumb_func_start sub_80B6BBC -sub_80B6BBC: @ 80B6BBC - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r2, _080B6BDC @ =gTasks - adds r1, r2 - movs r2, 0 - strh r2, [r1, 0x26] - ldr r2, _080B6BE0 @ =sub_80B6BE4 - str r2, [r1] - bl _call_via_r2 - pop {r0} - bx r0 - .align 2, 0 -_080B6BDC: .4byte gTasks -_080B6BE0: .4byte sub_80B6BE4 - thumb_func_end sub_80B6BBC - - thumb_func_start sub_80B6BE4 -sub_80B6BE4: @ 80B6BE4 - push {r4-r6,lr} - sub sp, 0x1C - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _080B6C18 @ =gTasks - adds r6, r1, r0 - ldr r0, _080B6C1C @ =gBattleAnimAttacker - ldrb r0, [r0] - bl sub_80768B0 - lsls r0, 24 - lsrs r4, r0, 24 - movs r1, 0x26 - ldrsh r0, [r6, r1] - cmp r0, 0x7 - bls _080B6C0C - b _080B6F1E -_080B6C0C: - lsls r0, 2 - ldr r1, _080B6C20 @ =_080B6C24 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080B6C18: .4byte gTasks -_080B6C1C: .4byte gBattleAnimAttacker -_080B6C20: .4byte _080B6C24 - .align 2, 0 -_080B6C24: - .4byte _080B6C44 - .4byte _080B6CCC - .4byte _080B6D28 - .4byte _080B6D8C - .4byte _080B6E04 - .4byte _080B6E6C - .4byte _080B6E82 - .4byte _080B6EEC -_080B6C44: - movs r0, 0x1 - movs r1, 0x4 - movs r2, 0x2 - bl SetAnimBgAttribute - movs r0, 0x2 - movs r1, 0x4 - movs r2, 0x1 - bl SetAnimBgAttribute - movs r0, 0 - strh r0, [r6, 0xA] - strh r0, [r6, 0xC] - movs r0, 0x10 - strh r0, [r6, 0xE] - movs r0, 0 - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x10] - ldr r3, _080B6CC8 @ =gSprites - movs r2, 0x10 - ldrsh r1, [r6, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrb r0, [r0, 0x5] - lsls r0, 28 - lsrs r0, 30 - strh r0, [r6, 0x12] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrb r0, [r0, 0x5] - lsrs r0, 4 - adds r0, 0x10 - lsls r0, 4 - strh r0, [r6, 0x14] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrb r2, [r0, 0x1] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0, 0x1] - movs r0, 0x10 - ldrsh r1, [r6, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrb r1, [r0, 0x5] - movs r2, 0xC - orrs r1, r2 - strb r1, [r0, 0x5] - movs r0, 0x80 - strh r0, [r6, 0x16] - b _080B6F1E - .align 2, 0 -_080B6CC8: .4byte gSprites -_080B6CCC: - ldrh r0, [r6, 0xA] - adds r0, 0x1 - strh r0, [r6, 0xA] - movs r5, 0x1 - ands r5, r0 - cmp r5, 0 - beq _080B6CDC - b _080B6F24 -_080B6CDC: - ldrh r0, [r6, 0x14] - ldrb r2, [r6, 0xC] - ldr r4, _080B6D08 @ =0x000066e0 - movs r1, 0x10 - adds r3, r4, 0 - bl BlendPalette - ldrh r0, [r6, 0x16] - ldrb r2, [r6, 0xC] - movs r1, 0x10 - adds r3, r4, 0 - bl BlendPalette - ldrh r1, [r6, 0xC] - movs r2, 0xC - ldrsh r0, [r6, r2] - cmp r0, 0xB - bgt _080B6D0C - adds r0, r1, 0x1 - strh r0, [r6, 0xC] - b _080B6F24 - .align 2, 0 -_080B6D08: .4byte 0x000066e0 -_080B6D0C: - strh r5, [r6, 0xA] - strh r5, [r6, 0xC] - ldr r1, _080B6D24 @ =0x00003f44 - movs r0, 0x50 - bl SetGpuReg - movs r1, 0x80 - lsls r1, 5 - movs r0, 0x52 - bl SetGpuReg - b _080B6F1E - .align 2, 0 -_080B6D24: .4byte 0x00003f44 -_080B6D28: - movs r0, 0x2 - movs r1, 0x3 - movs r2, 0x1 - bl SetAnimBgAttribute - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl SetAnimBgAttribute - ldr r0, _080B6D7C @ =gBattle_BG2_X - movs r1, 0 - strh r1, [r0] - ldr r4, _080B6D80 @ =gBattle_BG2_Y - strh r1, [r4] - movs r0, 0x18 - movs r1, 0 - bl SetGpuReg - ldrh r1, [r4] - movs r0, 0x1A - bl SetGpuReg - add r0, sp, 0xC - movs r1, 0x2 - bl sub_80752C8 - add r0, sp, 0xC - ldrb r0, [r0, 0x9] - ldr r1, _080B6D84 @ =gFile_graphics_battle_anims_backgrounds_scary_face_sheet - add r2, sp, 0xC - ldrh r2, [r2, 0xA] - bl sub_80753B4 - ldr r0, _080B6D88 @ =gFile_graphics_battle_anims_backgrounds_scary_face_palette - add r1, sp, 0xC - ldrb r1, [r1, 0x8] - lsls r1, 4 - movs r2, 0x20 - bl LoadCompressedPalette - b _080B6F1E - .align 2, 0 -_080B6D7C: .4byte gBattle_BG2_X -_080B6D80: .4byte gBattle_BG2_Y -_080B6D84: .4byte gFile_graphics_battle_anims_backgrounds_scary_face_sheet -_080B6D88: .4byte gFile_graphics_battle_anims_backgrounds_scary_face_palette -_080B6D8C: - add r0, sp, 0xC - movs r1, 0x2 - bl sub_80752C8 - movs r0, 0x80 - lsls r0, 6 - bl AllocZeroed - adds r1, r0, 0 - ldr r5, _080B6DFC @ =gMonSpritesGfxPtr - ldr r0, [r5] - movs r4, 0xBE - lsls r4, 1 - adds r0, r4 - str r1, [r0] - ldr r0, _080B6E00 @ =gFile_graphics_battle_anims_backgrounds_scary_face_player_tilemap - bl LZDecompressWram - add r0, sp, 0xC - ldrb r0, [r0, 0x8] - ldr r1, [r5] - adds r1, r4 - ldr r1, [r1] - movs r2, 0x80 - lsls r2, 1 - movs r3, 0 - bl sub_80730C0 - add r0, sp, 0xC - ldrb r0, [r0, 0x9] - ldr r1, [r5] - adds r1, r4 - ldr r1, [r1] - movs r2, 0x20 - str r2, [sp] - str r2, [sp, 0x4] - movs r2, 0x11 - str r2, [sp, 0x8] - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBufferRect_ChangePalette - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - ldr r0, [r5] - adds r0, r4 - ldr r0, [r0] - bl Free - ldr r0, [r5] - adds r0, r4 - movs r1, 0 - str r1, [r0] - b _080B6F1E - .align 2, 0 -_080B6DFC: .4byte gMonSpritesGfxPtr -_080B6E00: .4byte gFile_graphics_battle_anims_backgrounds_scary_face_player_tilemap -_080B6E04: - ldrh r0, [r6, 0xA] - adds r0, 0x1 - strh r0, [r6, 0xA] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080B6E14 - b _080B6F24 -_080B6E14: - ldrh r1, [r6, 0xC] - adds r1, 0x1 - strh r1, [r6, 0xC] - ldrh r0, [r6, 0xE] - subs r0, 0x1 - strh r0, [r6, 0xE] - lsls r0, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r1, 0xE - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _080B6F24 - strh r0, [r6, 0xA] - strh r0, [r6, 0xC] - movs r0, 0x10 - strh r0, [r6, 0xE] - ldr r1, _080B6E68 @ =0x00003f42 - movs r0, 0x50 - bl SetGpuReg - movs r1, 0x80 - lsls r1, 5 - movs r0, 0x52 - bl SetGpuReg - movs r0, 0x1 - movs r1, 0x4 - movs r2, 0x1 - bl SetAnimBgAttribute - movs r0, 0x2 - movs r1, 0x4 - movs r2, 0x2 - bl SetAnimBgAttribute - b _080B6F1E - .align 2, 0 -_080B6E68: .4byte 0x00003f42 -_080B6E6C: - cmp r4, 0x1 - bne _080B6E76 - movs r1, 0x80 - lsls r1, 2 - b _080B6E7A -_080B6E76: - movs r1, 0x80 - lsls r1, 3 -_080B6E7A: - movs r0, 0 - bl ClearGpuRegBits - b _080B6F1E -_080B6E82: - ldr r2, _080B6EC0 @ =gSprites - movs r0, 0x10 - ldrsh r1, [r6, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x26] - ldrh r0, [r0, 0x22] - adds r1, r0 - subs r1, 0x20 - lsls r1, 16 - lsrs r2, r1, 16 - cmp r1, 0 - bge _080B6EA2 - movs r2, 0 -_080B6EA2: - cmp r4, 0x1 - bne _080B6EC4 - lsls r0, r2, 24 - lsrs r0, 24 - adds r1, r2, 0 - adds r1, 0x40 - lsls r1, 24 - lsrs r1, 24 - movs r2, 0 - str r2, [sp] - movs r2, 0x4 - str r2, [sp, 0x4] - str r4, [sp, 0x8] - b _080B6EDE - .align 2, 0 -_080B6EC0: .4byte gSprites -_080B6EC4: - lsls r0, r2, 24 - lsrs r0, 24 - adds r1, r2, 0 - adds r1, 0x40 - lsls r1, 24 - lsrs r1, 24 - movs r2, 0 - str r2, [sp] - movs r2, 0x8 - str r2, [sp, 0x4] - movs r2, 0x1 - str r2, [sp, 0x8] - movs r2, 0x4 -_080B6EDE: - movs r3, 0x8 - bl ScanlineEffect_InitWave - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x1C] - b _080B6F1E -_080B6EEC: - ldrh r0, [r6, 0x16] - ldr r3, _080B6F08 @ =0x000077ff - movs r1, 0x10 - movs r2, 0xC - bl BlendPalette - cmp r4, 0x1 - bne _080B6F0C - movs r1, 0x80 - lsls r1, 2 - movs r0, 0 - bl SetGpuRegBits - b _080B6F16 - .align 2, 0 -_080B6F08: .4byte 0x000077ff -_080B6F0C: - movs r1, 0x80 - lsls r1, 3 - movs r0, 0 - bl SetGpuRegBits -_080B6F16: - ldr r0, _080B6F2C @ =sub_80B6F30 - str r0, [r6] - movs r0, 0 - strh r0, [r6, 0x26] -_080B6F1E: - ldrh r0, [r6, 0x26] - adds r0, 0x1 - strh r0, [r6, 0x26] -_080B6F24: - add sp, 0x1C - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B6F2C: .4byte sub_80B6F30 - thumb_func_end sub_80B6BE4 - - thumb_func_start sub_80B6F30 -sub_80B6F30: @ 80B6F30 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _080B6FB8 @ =gTasks - adds r4, r0, r1 - ldrh r1, [r4, 0xA] - adds r1, 0x1 - strh r1, [r4, 0xA] - movs r0, 0x1 - ands r0, r1 - strh r0, [r4, 0x18] - cmp r0, 0 - bne _080B6F68 - ldr r1, _080B6FBC @ =gSineTable - movs r2, 0xA - ldrsh r0, [r4, r2] - lsls r0, 1 - adds r0, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - movs r1, 0x12 - bl __divsi3 - strh r0, [r4, 0xC] -_080B6F68: - movs r2, 0x18 - ldrsh r0, [r4, r2] - cmp r0, 0x1 - bne _080B6F8A - ldr r1, _080B6FBC @ =gSineTable - movs r2, 0xA - ldrsh r0, [r4, r2] - lsls r0, 1 - adds r0, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - movs r1, 0x12 - bl __divsi3 - movs r1, 0x10 - subs r1, r0 - strh r1, [r4, 0xE] -_080B6F8A: - ldrh r1, [r4, 0xE] - lsls r1, 8 - ldrh r0, [r4, 0xC] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r0, 0x80 - bne _080B6FB2 - movs r0, 0 - strh r0, [r4, 0x26] - ldr r1, _080B6FC0 @ =sub_80B6FC4 - str r1, [r4] - adds r0, r5, 0 - bl _call_via_r1 -_080B6FB2: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B6FB8: .4byte gTasks -_080B6FBC: .4byte gSineTable -_080B6FC0: .4byte sub_80B6FC4 - thumb_func_end sub_80B6F30 - - thumb_func_start sub_80B6FC4 -sub_80B6FC4: @ 80B6FC4 - push {r4-r7,lr} - lsls r0, 24 - lsrs r7, r0, 24 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - ldr r1, _080B6FE8 @ =gTasks - adds r6, r0, r1 - movs r1, 0x26 - ldrsh r0, [r6, r1] - cmp r0, 0x5 - bls _080B6FDE - b _080B7148 -_080B6FDE: - lsls r0, 2 - ldr r1, _080B6FEC @ =_080B6FF0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080B6FE8: .4byte gTasks -_080B6FEC: .4byte _080B6FF0 - .align 2, 0 -_080B6FF0: - .4byte _080B7008 - .4byte _080B7024 - .4byte _080B7044 - .4byte _080B707C - .4byte _080B709C - .4byte _080B70E8 -_080B7008: - ldr r1, _080B701C @ =gScanlineEffect - movs r0, 0x3 - strb r0, [r1, 0x15] - ldrh r0, [r6, 0x16] - ldr r3, _080B7020 @ =0x000066e0 - movs r1, 0x10 - movs r2, 0xC - bl BlendPalette - b _080B7148 - .align 2, 0 -_080B701C: .4byte gScanlineEffect -_080B7020: .4byte 0x000066e0 -_080B7024: - ldr r1, _080B7040 @ =0x00003f44 - movs r0, 0x50 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0x10 - bl SetGpuReg - movs r1, 0 - movs r0, 0x10 - strh r0, [r6, 0xC] - strh r1, [r6, 0xE] - b _080B7148 - .align 2, 0 -_080B7040: .4byte 0x00003f44 -_080B7044: - ldrh r1, [r6, 0xC] - subs r1, 0x1 - strh r1, [r6, 0xC] - ldrh r0, [r6, 0xE] - adds r0, 0x1 - strh r0, [r6, 0xE] - lsls r0, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r2, 0xE - ldrsh r0, [r6, r2] - cmp r0, 0xF - ble _080B714E - movs r0, 0x1 - movs r1, 0x4 - movs r2, 0x2 - bl SetAnimBgAttribute - movs r0, 0x2 - movs r1, 0x4 - movs r2, 0x2 - bl SetAnimBgAttribute - b _080B7148 -_080B707C: - movs r0, 0x2 - bl sub_8075358 - movs r0, 0 - movs r1, 0x90 - movs r2, 0x20 - bl FillPalette - movs r0, 0x2 - movs r1, 0x3 - movs r2, 0 - bl SetAnimBgAttribute - movs r0, 0xC - strh r0, [r6, 0xA] - b _080B7148 -_080B709C: - ldrh r0, [r6, 0x14] - ldrb r2, [r6, 0xA] - ldr r4, _080B70C8 @ =0x000066e0 - movs r1, 0x10 - adds r3, r4, 0 - bl BlendPalette - ldrh r0, [r6, 0x16] - ldrb r2, [r6, 0xA] - movs r1, 0x10 - adds r3, r4, 0 - bl BlendPalette - ldrh r0, [r6, 0xA] - movs r2, 0xA - ldrsh r1, [r6, r2] - cmp r1, 0 - beq _080B70CC - subs r0, 0x1 - strh r0, [r6, 0xA] - b _080B714E - .align 2, 0 -_080B70C8: .4byte 0x000066e0 -_080B70CC: - strh r1, [r6, 0xA] - ldr r1, _080B70E4 @ =0x00003f44 - movs r0, 0x50 - bl SetGpuReg - movs r1, 0x80 - lsls r1, 5 - movs r0, 0x52 - bl SetGpuReg - b _080B7148 - .align 2, 0 -_080B70E4: .4byte 0x00003f44 -_080B70E8: - ldr r5, _080B7154 @ =gSprites - movs r1, 0x10 - ldrsh r0, [r6, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - movs r0, 0x3 - ldrb r2, [r6, 0x12] - ands r2, r0 - lsls r2, 2 - ldrb r4, [r1, 0x5] - movs r3, 0xD - negs r3, r3 - adds r0, r3, 0 - ands r0, r4 - orrs r0, r2 - strb r0, [r1, 0x5] - movs r2, 0x10 - ldrsh r1, [r6, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrb r1, [r0, 0x1] - ands r3, r1 - strb r3, [r0, 0x1] - movs r0, 0x1 - movs r1, 0x4 - movs r2, 0x1 - bl SetAnimBgAttribute - movs r0, 0x2 - movs r1, 0x4 - movs r2, 0x1 - bl SetAnimBgAttribute - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - adds r0, r7, 0 - bl DestroyAnimVisualTask -_080B7148: - ldrh r0, [r6, 0x26] - adds r0, 0x1 - strh r0, [r6, 0x26] -_080B714E: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B7154: .4byte gSprites - thumb_func_end sub_80B6FC4 - - thumb_func_start sub_80B7158 -sub_80B7158: @ 80B7158 - adds r3, r0, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r3] - ldr r2, _080B719C @ =gUnknown_2023D44 - ldr r1, _080B71A0 @ =gBattleAnimAttacker - ldrb r1, [r1] - adds r1, r2 - ldrb r1, [r1] - strh r1, [r0, 0x38] - movs r1, 0x80 - strh r1, [r0, 0x2E] - movs r1, 0xA - strh r1, [r0, 0x30] - ldr r2, _080B71A4 @ =gBattleAnimArgs - ldrh r1, [r2] - strh r1, [r0, 0x32] - ldrh r1, [r2, 0x2] - strh r1, [r0, 0x34] - ldr r1, _080B71A8 @ =sub_80B71B0 - str r1, [r0, 0x1C] - ldr r2, _080B71AC @ =gSprites - movs r3, 0x38 - ldrsh r1, [r0, r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x22] - adds r1, 0x8 - strh r1, [r0, 0x22] - bx lr - .align 2, 0 -_080B719C: .4byte gUnknown_2023D44 -_080B71A0: .4byte gBattleAnimAttacker -_080B71A4: .4byte gBattleAnimArgs -_080B71A8: .4byte sub_80B71B0 -_080B71AC: .4byte gSprites - thumb_func_end sub_80B7158 - - thumb_func_start sub_80B71B0 -sub_80B71B0: @ 80B71B0 - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r0, [r5, 0x34] - movs r1, 0x34 - ldrsh r3, [r5, r1] - cmp r3, 0 - beq _080B7218 - subs r0, 0x1 - strh r0, [r5, 0x34] - movs r2, 0x2E - ldrsh r0, [r5, r2] - movs r2, 0x30 - ldrsh r1, [r5, r2] - bl Sin - ldr r4, _080B7210 @ =gSprites - movs r1, 0x38 - ldrsh r2, [r5, r1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r4 - strh r0, [r1, 0x24] - movs r2, 0x2E - ldrsh r0, [r5, r2] - movs r2, 0x30 - ldrsh r1, [r5, r2] - bl Cos - movs r1, 0x38 - ldrsh r2, [r5, r1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r4 - strh r0, [r1, 0x26] - ldrh r0, [r5, 0x32] - ldrh r2, [r5, 0x2E] - adds r1, r0, r2 - strh r1, [r5, 0x2E] - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0xFF - ble _080B724C - ldr r2, _080B7214 @ =0xffffff00 - adds r0, r1, r2 - strh r0, [r5, 0x2E] - b _080B724C - .align 2, 0 -_080B7210: .4byte gSprites -_080B7214: .4byte 0xffffff00 -_080B7218: - ldr r2, _080B7254 @ =gSprites - movs r0, 0x38 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r3, [r0, 0x24] - movs r0, 0x38 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r3, [r0, 0x26] - movs r0, 0x38 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x22] - subs r1, 0x8 - strh r1, [r0, 0x22] - ldr r0, _080B7258 @ =move_anim_8074EE0 - str r0, [r5, 0x1C] -_080B724C: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B7254: .4byte gSprites -_080B7258: .4byte move_anim_8074EE0 - thumb_func_end sub_80B71B0 - - thumb_func_start sub_80B725C -sub_80B725C: @ 80B725C - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, _080B72A4 @ =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080B72AC - ldr r2, _080B72A8 @ =gBattleAnimArgs - ldrh r0, [r5, 0x20] - ldrh r1, [r2] - subs r0, r1 - strh r0, [r5, 0x20] - ldrh r0, [r2, 0x6] - negs r0, r0 - strh r0, [r2, 0x6] - ldrh r0, [r2, 0x8] - negs r0, r0 - strh r0, [r2, 0x8] - adds r1, r2, 0 - b _080B72B6 - .align 2, 0 -_080B72A4: .4byte gBattleAnimAttacker -_080B72A8: .4byte gBattleAnimArgs -_080B72AC: - ldr r1, _080B72EC @ =gBattleAnimArgs - ldrh r0, [r1] - ldrh r2, [r5, 0x20] - adds r0, r2 - strh r0, [r5, 0x20] -_080B72B6: - ldrh r0, [r1, 0x2] - ldrh r2, [r5, 0x22] - adds r0, r2 - strh r0, [r5, 0x22] - ldrh r0, [r1, 0x4] - strh r0, [r5, 0x2E] - ldrh r0, [r1, 0x6] - strh r0, [r5, 0x30] - ldrh r0, [r1, 0x8] - strh r0, [r5, 0x34] - ldrh r0, [r1, 0xA] - strh r0, [r5, 0x38] - adds r2, r5, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r1, _080B72F0 @ =move_anim_8074EE0 - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 - ldr r0, _080B72F4 @ =sub_8074E70 - str r0, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B72EC: .4byte gBattleAnimArgs -_080B72F0: .4byte move_anim_8074EE0 -_080B72F4: .4byte sub_8074E70 - thumb_func_end sub_80B725C - - thumb_func_start sub_80B72F8 -sub_80B72F8: @ 80B72F8 - push {r4,r5,lr} - adds r5, r0, 0 - bl sub_8074FCC - ldr r4, _080B7350 @ =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x32] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x36] - ldr r0, _080B7354 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080B735C - ldr r2, _080B7358 @ =gBattleAnimArgs - ldrh r0, [r5, 0x20] - ldrh r1, [r2, 0x2] - subs r0, r1 - strh r0, [r5, 0x20] - ldrh r0, [r5, 0x22] - adds r1, r0 - strh r1, [r5, 0x22] - ldrh r0, [r5, 0x32] - ldrh r1, [r2, 0x4] - subs r0, r1 - strh r0, [r5, 0x32] - ldrh r0, [r2, 0x6] - ldrh r1, [r5, 0x36] - adds r0, r1 - strh r0, [r5, 0x36] - b _080B7386 - .align 2, 0 -_080B7350: .4byte gBattleAnimTarget -_080B7354: .4byte gBattleAnimAttacker -_080B7358: .4byte gBattleAnimArgs -_080B735C: - ldr r1, _080B73A0 @ =gBattleAnimArgs - ldrh r0, [r1] - ldrh r2, [r5, 0x20] - adds r0, r2 - strh r0, [r5, 0x20] - ldrh r0, [r1, 0x2] - ldrh r2, [r5, 0x22] - adds r0, r2 - strh r0, [r5, 0x22] - ldrh r0, [r1, 0x4] - ldrh r2, [r5, 0x32] - adds r0, r2 - strh r0, [r5, 0x32] - ldrh r0, [r1, 0x6] - ldrh r1, [r5, 0x36] - adds r0, r1 - strh r0, [r5, 0x36] - adds r0, r5, 0 - movs r1, 0x1 - bl StartSpriteAnim -_080B7386: - ldr r0, _080B73A0 @ =gBattleAnimArgs - ldrh r0, [r0, 0x8] - strh r0, [r5, 0x2E] - ldr r0, _080B73A4 @ =sub_8075590 - str r0, [r5, 0x1C] - ldr r1, _080B73A8 @ =move_anim_8074EE0 - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B73A0: .4byte gBattleAnimArgs -_080B73A4: .4byte sub_8075590 -_080B73A8: .4byte move_anim_8074EE0 - thumb_func_end sub_80B72F8 - - thumb_func_start sub_80B73AC -sub_80B73AC: @ 80B73AC - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, _080B73C0 @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080B73C8 - ldr r4, _080B73C4 @ =gBattleAnimAttacker - b _080B73CA - .align 2, 0 -_080B73C0: .4byte gBattleAnimArgs -_080B73C4: .4byte gBattleAnimAttacker -_080B73C8: - ldr r4, _080B740C @ =gBattleAnimTarget -_080B73CA: - ldrb r0, [r4] - movs r1, 0 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - ldr r4, _080B7410 @ =gBattleAnimArgs - movs r0, 0x2 - ldrsh r1, [r4, r0] - adds r0, r5, 0 - bl sub_8074FF8 - ldrh r0, [r4, 0x4] - ldrh r1, [r5, 0x22] - adds r0, r1 - strh r0, [r5, 0x22] - ldr r0, _080B7414 @ =sub_8074F6C - str r0, [r5, 0x1C] - ldr r1, _080B7418 @ =move_anim_8074EE0 - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B740C: .4byte gBattleAnimTarget -_080B7410: .4byte gBattleAnimArgs -_080B7414: .4byte sub_8074F6C -_080B7418: .4byte move_anim_8074EE0 - thumb_func_end sub_80B73AC - - thumb_func_start sub_80B741C -sub_80B741C: @ 80B741C - push {r4,lr} - adds r4, r0, 0 - ldr r0, _080B7444 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080B7436 - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim -_080B7436: - adds r0, r4, 0 - bl sub_80B72F8 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B7444: .4byte gBattleAnimAttacker - thumb_func_end sub_80B741C - - thumb_func_start sub_80B7448 -sub_80B7448: @ 80B7448 - push {r4-r7,lr} - adds r6, r0, 0 - ldr r4, _080B749C @ =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - movs r5, 0 - strh r0, [r6, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x22] - strh r5, [r6, 0x36] - movs r0, 0x1 - strh r0, [r6, 0x38] - ldr r0, _080B74A0 @ =gBattleAnimArgs - ldrh r0, [r0] - strh r0, [r6, 0x3A] - ldr r4, _080B74A4 @ =sBattler_AI - ldrb r0, [r4] - movs r1, 0 - bl sub_8076B2C - lsls r7, r0, 16 - lsrs r5, r7, 16 - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8076B2C - lsls r1, r0, 16 - lsrs r0, r1, 16 - cmp r5, r0 - bls _080B74A8 - lsrs r0, r7, 17 - b _080B74AA - .align 2, 0 -_080B749C: .4byte gBattleAnimAttacker -_080B74A0: .4byte gBattleAnimArgs -_080B74A4: .4byte sBattler_AI -_080B74A8: - lsrs r0, r1, 17 -_080B74AA: - strh r0, [r6, 0x3C] - movs r1, 0x3A - ldrsh r0, [r6, r1] - movs r2, 0x3C - ldrsh r1, [r6, r2] - bl Cos - strh r0, [r6, 0x24] - movs r1, 0x3A - ldrsh r0, [r6, r1] - movs r2, 0x3C - ldrsh r1, [r6, r2] - bl Sin - strh r0, [r6, 0x26] - ldr r0, _080B74D4 @ =sub_80B74D8 - str r0, [r6, 0x1C] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B74D4: .4byte sub_80B74D8 - thumb_func_end sub_80B7448 - - thumb_func_start sub_80B74D8 -sub_80B74D8: @ 80B74D8 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x2E - ldrsh r5, [r4, r0] - cmp r5, 0 - beq _080B74EA - cmp r5, 0x1 - beq _080B7556 - b _080B75DA -_080B74EA: - ldrh r0, [r4, 0x3A] - ldrh r1, [r4, 0x38] - subs r0, r1 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x3A] - movs r1, 0x3A - ldrsh r0, [r4, r1] - movs r2, 0x3C - ldrsh r1, [r4, r2] - bl Cos - strh r0, [r4, 0x24] - movs r1, 0x3A - ldrsh r0, [r4, r1] - movs r2, 0x3C - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x36] - adds r0, 0x1 - strh r0, [r4, 0x36] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - ble _080B753C - strh r5, [r4, 0x36] - ldrh r1, [r4, 0x38] - movs r2, 0x38 - ldrsh r0, [r4, r2] - cmp r0, 0xF - bgt _080B753C - adds r0, r1, 0x1 - strh r0, [r4, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xF - ble _080B753C - movs r0, 0x10 - strh r0, [r4, 0x38] -_080B753C: - ldrh r0, [r4, 0x34] - adds r0, 0x1 - strh r0, [r4, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3C - ble _080B75DA - movs r0, 0 - strh r0, [r4, 0x34] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _080B75DA -_080B7556: - ldrh r0, [r4, 0x3A] - ldrh r1, [r4, 0x38] - subs r0, r1 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x3A] - ldrh r1, [r4, 0x3C] - movs r2, 0x3C - ldrsh r0, [r4, r2] - cmp r0, 0x95 - bgt _080B757E - adds r0, r1, 0 - adds r0, 0x8 - strh r0, [r4, 0x3C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x95 - ble _080B757E - movs r0, 0x96 - strh r0, [r4, 0x3C] -_080B757E: - movs r1, 0x3A - ldrsh r0, [r4, r1] - movs r2, 0x3C - ldrsh r1, [r4, r2] - bl Cos - strh r0, [r4, 0x24] - movs r1, 0x3A - ldrsh r0, [r4, r1] - movs r2, 0x3C - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x36] - adds r0, 0x1 - strh r0, [r4, 0x36] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - ble _080B75C6 - movs r0, 0 - strh r0, [r4, 0x36] - ldrh r1, [r4, 0x38] - movs r2, 0x38 - ldrsh r0, [r4, r2] - cmp r0, 0xF - bgt _080B75C6 - adds r0, r1, 0x1 - strh r0, [r4, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xF - ble _080B75C6 - movs r0, 0x10 - strh r0, [r4, 0x38] -_080B75C6: - ldrh r0, [r4, 0x34] - adds r0, 0x1 - strh r0, [r4, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - ble _080B75DA - adds r0, r4, 0 - bl DestroyAnimSprite -_080B75DA: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80B74D8 - - thumb_func_start sub_80B75E0 -sub_80B75E0: @ 80B75E0 - push {r4-r6,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _080B760C @ =gTasks - adds r4, r1, r0 - ldr r0, _080B7610 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl sub_80768B0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B761C - ldr r0, _080B7614 @ =0x04000014 - str r0, [sp] - ldr r0, _080B7618 @ =gBattle_BG1_X - b _080B7622 - .align 2, 0 -_080B760C: .4byte gTasks -_080B7610: .4byte gBattleAnimAttacker -_080B7614: .4byte 0x04000014 -_080B7618: .4byte gBattle_BG1_X -_080B761C: - ldr r0, _080B7698 @ =0x04000018 - str r0, [sp] - ldr r0, _080B769C @ =gBattle_BG2_X -_080B7622: - ldrh r0, [r0] - strh r0, [r4, 0xC] - ldr r0, _080B76A0 @ =0xa2600001 - str r0, [sp, 0x4] - mov r1, sp - movs r5, 0 - movs r0, 0x1 - strb r0, [r1, 0x8] - mov r0, sp - strb r5, [r0, 0x9] - ldr r0, _080B76A4 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl sub_807492C - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - subs r1, 0x20 - strh r1, [r4, 0xE] - adds r0, 0x20 - strh r0, [r4, 0x10] - cmp r1, 0 - bge _080B7652 - strh r5, [r4, 0xE] -_080B7652: - ldrh r3, [r4, 0xE] - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r3, r0 - bgt _080B7680 - ldr r5, _080B76A8 @ =gScanlineEffectRegBuffers - movs r0, 0xF0 - lsls r0, 3 - adds r6, r5, r0 -_080B7664: - lsls r1, r3, 1 - adds r2, r1, r5 - ldrh r0, [r4, 0xC] - strh r0, [r2] - adds r1, r6 - ldrh r0, [r4, 0xC] - strh r0, [r1] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r3, r0 - ble _080B7664 -_080B7680: - ldr r0, [sp] - ldr r1, [sp, 0x4] - ldr r2, [sp, 0x8] - bl ScanlineEffect_SetParams - ldr r0, _080B76AC @ =sub_80B76B0 - str r0, [r4] - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B7698: .4byte 0x04000018 -_080B769C: .4byte gBattle_BG2_X -_080B76A0: .4byte 0xa2600001 -_080B76A4: .4byte gBattleAnimAttacker -_080B76A8: .4byte gScanlineEffectRegBuffers -_080B76AC: .4byte sub_80B76B0 - thumb_func_end sub_80B75E0 - - thumb_func_start sub_80B76B0 -sub_80B76B0: @ 80B76B0 - push {lr} - lsls r0, 24 - lsrs r3, r0, 24 - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 3 - ldr r1, _080B76D4 @ =gTasks - adds r2, r0, r1 - movs r1, 0x8 - ldrsh r0, [r2, r1] - cmp r0, 0x4 - bhi _080B7766 - lsls r0, 2 - ldr r1, _080B76D8 @ =_080B76DC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080B76D4: .4byte gTasks -_080B76D8: .4byte _080B76DC - .align 2, 0 -_080B76DC: - .4byte _080B76F0 - .4byte _080B7712 - .4byte _080B7722 - .4byte _080B774E - .4byte _080B7760 -_080B76F0: - ldrh r0, [r2, 0x16] - adds r0, 0x1 - strh r0, [r2, 0x16] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080B7746 - movs r0, 0 - strh r0, [r2, 0x16] - ldrh r0, [r2, 0x14] - adds r0, 0x1 - strh r0, [r2, 0x14] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - bne _080B7746 - b _080B7740 -_080B7712: - ldrh r0, [r2, 0xA] - adds r0, 0x1 - strh r0, [r2, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3C - ble _080B7746 - b _080B7740 -_080B7722: - ldrh r0, [r2, 0x16] - adds r0, 0x1 - strh r0, [r2, 0x16] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080B7746 - movs r0, 0 - strh r0, [r2, 0x16] - ldrh r0, [r2, 0x14] - subs r0, 0x1 - strh r0, [r2, 0x14] - lsls r0, 16 - cmp r0, 0 - bne _080B7746 -_080B7740: - ldrh r0, [r2, 0x8] - adds r0, 0x1 - strh r0, [r2, 0x8] -_080B7746: - adds r0, r2, 0 - bl sub_80B776C - b _080B7766 -_080B774E: - ldr r1, _080B775C @ =gScanlineEffect - movs r0, 0x3 - strb r0, [r1, 0x15] - ldrh r0, [r2, 0x8] - adds r0, 0x1 - strh r0, [r2, 0x8] - b _080B7766 - .align 2, 0 -_080B775C: .4byte gScanlineEffect -_080B7760: - adds r0, r3, 0 - bl DestroyAnimVisualTask -_080B7766: - pop {r0} - bx r0 - thumb_func_end sub_80B76B0 - - thumb_func_start sub_80B776C -sub_80B776C: @ 80B776C - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r0, 0 - ldrh r3, [r5, 0x12] - ldrh r4, [r5, 0xE] - movs r1, 0x10 - ldrsh r0, [r5, r1] - cmp r4, r0 - bgt _080B77C2 - ldr r7, _080B77D8 @ =gScanlineEffectRegBuffers - mov r12, r7 - ldr r0, _080B77DC @ =gSineTable - mov r8, r0 - ldr r6, _080B77E0 @ =gScanlineEffect -_080B778A: - lsls r2, r4, 1 - ldrb r1, [r6, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - adds r2, r0 - add r2, r12 - lsls r0, r3, 1 - add r0, r8 - movs r7, 0 - ldrsh r1, [r0, r7] - movs r7, 0x14 - ldrsh r0, [r5, r7] - muls r0, r1 - asrs r0, 7 - ldrh r1, [r5, 0xC] - adds r0, r1 - strh r0, [r2] - adds r3, 0x8 - movs r0, 0xFF - ands r3, r0 - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - movs r7, 0x10 - ldrsh r0, [r5, r7] - cmp r4, r0 - ble _080B778A -_080B77C2: - ldrh r0, [r5, 0x12] - adds r0, 0x9 - movs r1, 0xFF - ands r0, r1 - strh r0, [r5, 0x12] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B77D8: .4byte gScanlineEffectRegBuffers -_080B77DC: .4byte gSineTable -_080B77E0: .4byte gScanlineEffect - thumb_func_end sub_80B776C - - thumb_func_start sub_80B77E4 -sub_80B77E4: @ 80B77E4 - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r4, r0, 0 - ldr r5, _080B7884 @ =gBattleAnimArgs - movs r0, 0x4 - ldrsh r1, [r5, r0] - lsls r0, r1, 1 - adds r0, r1 - movs r1, 0x5 - bl __divsi3 - adds r6, r0, 0 - ldr r1, _080B7888 @ =gBattleAnimAttacker - mov r8, r1 - ldrb r0, [r1] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x20] - mov r2, r8 - ldrb r0, [r2] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r3, [r5, 0x8] - adds r0, r3 - strh r0, [r4, 0x22] - movs r1, 0x2 - ldrsh r0, [r5, r1] - movs r2, 0x4 - ldrsh r1, [r5, r2] - bl Cos - strh r0, [r4, 0x30] - movs r3, 0x2 - ldrsh r0, [r5, r3] - lsls r6, 16 - asrs r6, 16 - adds r1, r6, 0 - bl Sin - strh r0, [r4, 0x32] - ldrh r1, [r4, 0x30] - ldrh r2, [r5] - adds r3, r2, 0 - muls r3, r1 - adds r1, r3, 0 - ldrh r3, [r4, 0x20] - adds r1, r3 - strh r1, [r4, 0x20] - adds r1, r2, 0 - muls r1, r0 - adds r0, r1, 0 - ldrh r2, [r4, 0x22] - adds r0, r2 - strh r0, [r4, 0x22] - ldrh r0, [r5, 0x6] - strh r0, [r4, 0x34] - ldr r0, _080B788C @ =sub_80B7894 - str r0, [r4, 0x1C] - adds r4, 0x2E - ldr r2, _080B7890 @ =gUnknown_20399A4 - movs r1, 0x6 -_080B786C: - ldrh r0, [r4] - strh r0, [r2] - adds r4, 0x2 - adds r2, 0x2 - subs r1, 0x1 - cmp r1, 0 - bge _080B786C - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B7884: .4byte gBattleAnimArgs -_080B7888: .4byte gBattleAnimAttacker -_080B788C: .4byte sub_80B7894 -_080B7890: .4byte gUnknown_20399A4 - thumb_func_end sub_80B77E4 - - thumb_func_start sub_80B7894 -sub_80B7894: @ 80B7894 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x30] - ldrh r1, [r4, 0x36] - adds r0, r1 - strh r0, [r4, 0x36] - ldrh r0, [r4, 0x32] - ldrh r2, [r4, 0x38] - adds r0, r2 - strh r0, [r4, 0x38] - movs r1, 0x36 - ldrsh r0, [r4, r1] - movs r1, 0xA - bl __divsi3 - strh r0, [r4, 0x24] - movs r2, 0x38 - ldrsh r0, [r4, r2] - movs r1, 0xA - bl __divsi3 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - movs r2, 0x34 - ldrsh r1, [r4, r2] - cmp r0, r1 - ble _080B78D8 - adds r0, r4, 0 - bl DestroyAnimSprite -_080B78D8: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80B7894 - - thumb_func_start sub_80B78E0 -sub_80B78E0: @ 80B78E0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _080B791C @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _080B7920 @ =gBattleAnimArgs - ldrh r1, [r1] - strh r1, [r0, 0x8] - ldr r1, _080B7924 @ =gBattleAnimAttacker - ldrb r4, [r1] - movs r1, 0x10 - strh r1, [r0, 0xA] - movs r0, 0x52 - bl SetGpuReg - adds r0, r4, 0 - bl sub_80768B0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B792C - ldr r1, _080B7928 @ =0x00003f42 - movs r0, 0x50 - bl SetGpuReg - b _080B7934 - .align 2, 0 -_080B791C: .4byte gTasks -_080B7920: .4byte gBattleAnimArgs -_080B7924: .4byte gBattleAnimAttacker -_080B7928: .4byte 0x00003f42 -_080B792C: - ldr r1, _080B7948 @ =0x00003f44 - movs r0, 0x50 - bl SetGpuReg -_080B7934: - ldr r0, _080B794C @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, _080B7950 @ =sub_80B7954 - str r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B7948: .4byte 0x00003f44 -_080B794C: .4byte gTasks -_080B7950: .4byte sub_80B7954 - thumb_func_end sub_80B78E0 - - thumb_func_start sub_80B7954 -sub_80B7954: @ 80B7954 - push {r4-r7,lr} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r1, _080B79C0 @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r6, r0, r1 - ldrh r0, [r6, 0xA] - lsrs r4, r0, 8 - lsls r0, 24 - lsrs r1, r0, 24 - movs r2, 0xC - ldrsh r0, [r6, r2] - ldrb r2, [r6, 0x8] - cmp r0, r2 - bne _080B79D0 - adds r4, 0x1 - lsls r4, 24 - lsrs r4, 24 - subs r0, r1, 0x1 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r4, 8 - orrs r1, r0 - movs r5, 0 - strh r1, [r6, 0xA] - ldrh r1, [r6, 0xA] - movs r0, 0x52 - bl SetGpuReg - strh r5, [r6, 0xC] - cmp r4, 0x10 - bne _080B79D6 - ldr r2, _080B79C4 @ =gSprites - ldr r1, _080B79C8 @ =gUnknown_2023D44 - ldr r0, _080B79CC @ =gBattleAnimAttacker - ldrb r0, [r0] - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - adds r0, r7, 0 - bl DestroyAnimVisualTask - b _080B79D6 - .align 2, 0 -_080B79C0: .4byte gTasks -_080B79C4: .4byte gSprites -_080B79C8: .4byte gUnknown_2023D44 -_080B79CC: .4byte gBattleAnimAttacker -_080B79D0: - ldrh r0, [r6, 0xC] - adds r0, 0x1 - strh r0, [r6, 0xC] -_080B79D6: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80B7954 - - thumb_func_start sub_80B79DC -sub_80B79DC: @ 80B79DC - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080B7A08 @ =gTasks - lsls r2, r0, 2 - adds r2, r0 - lsls r2, 3 - adds r2, r1 - ldr r0, _080B7A0C @ =gBattleAnimArgs - ldrh r0, [r0] - strh r0, [r2, 0x8] - movs r1, 0x80 - lsls r1, 5 - strh r1, [r2, 0xA] - ldr r0, _080B7A10 @ =sub_80B7A14 - str r0, [r2] - movs r0, 0x52 - bl SetGpuReg - pop {r0} - bx r0 - .align 2, 0 -_080B7A08: .4byte gTasks -_080B7A0C: .4byte gBattleAnimArgs -_080B7A10: .4byte sub_80B7A14 - thumb_func_end sub_80B79DC - - thumb_func_start sub_80B7A14 -sub_80B7A14: @ 80B7A14 - push {r4-r7,lr} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r1, _080B7A70 @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r6, r0, r1 - ldrh r0, [r6, 0xA] - lsrs r4, r0, 8 - lsls r0, 24 - lsrs r1, r0, 24 - movs r2, 0xC - ldrsh r0, [r6, r2] - ldrb r2, [r6, 0x8] - cmp r0, r2 - bne _080B7A74 - subs r4, 0x1 - lsls r4, 24 - lsrs r4, 24 - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r4, 8 - orrs r1, r0 - movs r5, 0 - strh r1, [r6, 0xA] - ldrh r1, [r6, 0xA] - movs r0, 0x52 - bl SetGpuReg - strh r5, [r6, 0xC] - cmp r4, 0 - bne _080B7A7A - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - adds r0, r7, 0 - bl DestroyAnimVisualTask - b _080B7A7A - .align 2, 0 -_080B7A70: .4byte gTasks -_080B7A74: - ldrh r0, [r6, 0xC] - adds r0, 0x1 - strh r0, [r6, 0xC] -_080B7A7A: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80B7A14 - - thumb_func_start sub_80B7A80 -sub_80B7A80: @ 80B7A80 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r1, 0x80 - lsls r1, 5 - movs r0, 0x52 - bl SetGpuReg - ldr r0, _080B7AAC @ =gBattleAnimAttacker - ldrb r0, [r0] - bl sub_80768B0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B7AB4 - ldr r1, _080B7AB0 @ =0x00003f42 - movs r0, 0x50 - bl SetGpuReg - b _080B7ABC - .align 2, 0 -_080B7AAC: .4byte gBattleAnimAttacker -_080B7AB0: .4byte 0x00003f42 -_080B7AB4: - ldr r1, _080B7AC8 @ =0x00003f44 - movs r0, 0x50 - bl SetGpuReg -_080B7ABC: - adds r0, r4, 0 - bl DestroyAnimVisualTask - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B7AC8: .4byte 0x00003f44 - thumb_func_end sub_80B7A80 - - thumb_func_start sub_80B7ACC -sub_80B7ACC: @ 80B7ACC - push {r4-r6,lr} - adds r4, r0, 0 - ldr r6, _080B7B38 @ =gBattleAnimTarget - ldrb r0, [r6] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x30] - ldr r5, _080B7B3C @ =gBattleAnimAttacker - ldrb r0, [r5] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x32] - ldrb r0, [r6] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x34] - ldrb r0, [r5] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x36] - movs r0, 0x7E - strh r0, [r4, 0x2E] - adds r0, r4, 0 - bl sub_80754B8 - ldrh r0, [r4, 0x30] - negs r0, r0 - strh r0, [r4, 0x34] - ldrh r0, [r4, 0x32] - negs r0, r0 - strh r0, [r4, 0x36] - ldr r0, _080B7B40 @ =0x0000ffd8 - strh r0, [r4, 0x3A] - ldr r1, _080B7B44 @ =sub_80B7B48 - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B7B38: .4byte gBattleAnimTarget -_080B7B3C: .4byte gBattleAnimAttacker -_080B7B40: .4byte 0x0000ffd8 -_080B7B44: .4byte sub_80B7B48 - thumb_func_end sub_80B7ACC - - thumb_func_start sub_80B7B48 -sub_80B7B48: @ 80B7B48 - push {r4-r6,lr} - adds r4, r0, 0 - ldrh r5, [r4, 0x30] - ldrh r0, [r4, 0x34] - adds r2, r5, r0 - strh r2, [r4, 0x34] - ldrh r3, [r4, 0x32] - ldrh r6, [r4, 0x36] - adds r1, r3, r6 - strh r1, [r4, 0x36] - lsls r0, r2, 16 - asrs r0, 24 - strh r0, [r4, 0x24] - lsls r0, r1, 16 - asrs r0, 24 - strh r0, [r4, 0x26] - movs r6, 0x3C - ldrsh r0, [r4, r6] - cmp r0, 0 - bne _080B7B8A - adds r0, r2, r5 - strh r0, [r4, 0x34] - adds r1, r3 - strh r1, [r4, 0x36] - lsls r0, 16 - asrs r0, 24 - strh r0, [r4, 0x24] - lsls r1, 16 - asrs r1, 24 - strh r1, [r4, 0x26] - ldrh r0, [r4, 0x2E] - subs r0, 0x1 - strh r0, [r4, 0x2E] -_080B7B8A: - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r2, 0x3A - ldrsh r1, [r4, r2] - bl Sin - ldrh r6, [r4, 0x26] - adds r0, r6 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x38] - adds r0, 0x3 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x38] - cmp r0, 0x7F - ble _080B7BBA - movs r0, 0 - strh r0, [r4, 0x38] - ldrh r0, [r4, 0x3A] - adds r0, 0x14 - strh r0, [r4, 0x3A] - ldrh r0, [r4, 0x3C] - adds r0, 0x1 - strh r0, [r4, 0x3C] -_080B7BBA: - ldrh r0, [r4, 0x2E] - subs r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - cmp r0, 0 - bne _080B7BCC - adds r0, r4, 0 - bl DestroyAnimSprite -_080B7BCC: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80B7B48 - - thumb_func_start sub_80B7BD4 -sub_80B7BD4: @ 80B7BD4 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, _080B7C08 @ =gBattleAnimArgs - ldrh r0, [r5] - ldrh r1, [r4, 0x20] - adds r0, r1 - strh r0, [r4, 0x20] - ldrh r0, [r5, 0x2] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - ldrb r1, [r5, 0x4] - adds r0, r4, 0 - bl StartSpriteAffineAnim - ldrh r0, [r5, 0x6] - strh r0, [r4, 0x2E] - ldrh r0, [r5, 0x8] - strh r0, [r4, 0x30] - ldrh r0, [r5, 0xA] - strh r0, [r4, 0x32] - ldr r0, _080B7C0C @ =sub_80B7C10 - str r0, [r4, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B7C08: .4byte gBattleAnimArgs -_080B7C0C: .4byte sub_80B7C10 - thumb_func_end sub_80B7BD4 - - thumb_func_start sub_80B7C10 -sub_80B7C10: @ 80B7C10 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x2E] - ldrh r1, [r2, 0x36] - adds r0, r1 - strh r0, [r2, 0x36] - ldrh r1, [r2, 0x30] - ldrh r3, [r2, 0x38] - adds r1, r3 - strh r1, [r2, 0x38] - lsls r0, 16 - asrs r0, 24 - strh r0, [r2, 0x24] - lsls r1, 16 - asrs r1, 24 - strh r1, [r2, 0x26] - ldrh r0, [r2, 0x34] - adds r0, 0x1 - strh r0, [r2, 0x34] - lsls r0, 16 - asrs r0, 16 - movs r3, 0x32 - ldrsh r1, [r2, r3] - cmp r0, r1 - bne _080B7C46 - ldr r0, _080B7C4C @ =sub_80B7C50 - str r0, [r2, 0x1C] -_080B7C46: - pop {r0} - bx r0 - .align 2, 0 -_080B7C4C: .4byte sub_80B7C50 - thumb_func_end sub_80B7C10 - - thumb_func_start sub_80B7C50 -sub_80B7C50: @ 80B7C50 - push {lr} - adds r3, r0, 0 - ldrh r1, [r3, 0x36] - ldrh r0, [r3, 0x2E] - subs r1, r0 - strh r1, [r3, 0x36] - ldrh r0, [r3, 0x38] - ldrh r2, [r3, 0x30] - subs r0, r2 - strh r0, [r3, 0x38] - lsls r1, 16 - asrs r1, 24 - strh r1, [r3, 0x24] - lsls r0, 16 - asrs r0, 24 - strh r0, [r3, 0x26] - ldrh r0, [r3, 0x34] - subs r0, 0x1 - strh r0, [r3, 0x34] - lsls r0, 16 - cmp r0, 0 - bne _080B7C82 - adds r0, r3, 0 - bl move_anim_8074EE0 -_080B7C82: - pop {r0} - bx r0 - thumb_func_end sub_80B7C50 - - thumb_func_start sub_80B7C88 -sub_80B7C88: @ 80B7C88 - push {r4-r7,lr} - adds r4, r0, 0 - ldr r0, _080B7C9C @ =gBattleAnimArgs - movs r2, 0 - ldrsh r1, [r0, r2] - adds r3, r0, 0 - cmp r1, 0 - bne _080B7CA4 - ldr r0, _080B7CA0 @ =gBattleAnimAttacker - b _080B7CA6 - .align 2, 0 -_080B7C9C: .4byte gBattleAnimArgs -_080B7CA0: .4byte gBattleAnimAttacker -_080B7CA4: - ldr r0, _080B7CD4 @ =gBattleAnimTarget -_080B7CA6: - ldrb r5, [r0] - movs r6, 0x14 - ldrh r2, [r4, 0x4] - lsls r1, r2, 22 - lsrs r1, 22 - adds r1, 0x4 - ldr r7, _080B7CD8 @ =0x000003ff - adds r0, r7, 0 - ands r1, r0 - ldr r0, _080B7CDC @ =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r4, 0x4] - movs r1, 0x2 - ldrsh r0, [r3, r1] - cmp r0, 0x1 - beq _080B7D04 - cmp r0, 0x1 - bgt _080B7CE0 - cmp r0, 0 - beq _080B7CEA - b _080B7D58 - .align 2, 0 -_080B7CD4: .4byte gBattleAnimTarget -_080B7CD8: .4byte 0x000003ff -_080B7CDC: .4byte 0xfffffc00 -_080B7CE0: - cmp r0, 0x2 - beq _080B7D1E - cmp r0, 0x3 - beq _080B7D36 - b _080B7D58 -_080B7CEA: - adds r0, r5, 0 - movs r1, 0x5 - bl sub_8076B2C - subs r0, 0x8 - strh r0, [r4, 0x20] - adds r0, r5, 0 - movs r1, 0x2 - bl sub_8076B2C - adds r0, 0x8 - strh r0, [r4, 0x22] - b _080B7D58 -_080B7D04: - adds r0, r5, 0 - movs r1, 0x5 - bl sub_8076B2C - subs r0, 0xE - strh r0, [r4, 0x20] - adds r0, r5, 0 - movs r1, 0x2 - bl sub_8076B2C - adds r0, 0x10 - strh r0, [r4, 0x22] - b _080B7D58 -_080B7D1E: - adds r0, r5, 0 - movs r1, 0x4 - bl sub_8076B2C - adds r0, 0x8 - strh r0, [r4, 0x20] - adds r0, r5, 0 - movs r1, 0x2 - bl sub_8076B2C - adds r0, 0x8 - b _080B7D4C -_080B7D36: - adds r0, r5, 0 - movs r1, 0x4 - bl sub_8076B2C - adds r0, 0xE - strh r0, [r4, 0x20] - adds r0, r5, 0 - movs r1, 0x2 - bl sub_8076B2C - adds r0, 0x10 -_080B7D4C: - strh r0, [r4, 0x22] - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - movs r6, 0xEC -_080B7D58: - movs r0, 0x20 - strh r0, [r4, 0x2E] - lsls r0, r6, 24 - asrs r0, 24 - ldrh r2, [r4, 0x20] - adds r0, r2 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x22] - adds r0, 0xC - strh r0, [r4, 0x36] - ldr r0, _080B7D80 @ =0x0000fff4 - strh r0, [r4, 0x38] - adds r0, r4, 0 - bl sub_8075068 - ldr r0, _080B7D84 @ =sub_80B7D88 - str r0, [r4, 0x1C] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B7D80: .4byte 0x0000fff4 -_080B7D84: .4byte sub_80B7D88 - thumb_func_end sub_80B7C88 - - thumb_func_start sub_80B7D88 -sub_80B7D88: @ 80B7D88 - push {r4,lr} - adds r4, r0, 0 - bl AnimateBallThrow - lsls r0, 24 - cmp r0, 0 - beq _080B7D9C - adds r0, r4, 0 - bl move_anim_8074EE0 -_080B7D9C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80B7D88 - - thumb_func_start sub_80B7DA4 -sub_80B7DA4: @ 80B7DA4 - push {r4-r7,lr} - sub sp, 0x1C - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _080B7E08 @ =gTasks - adds r5, r1, r0 - ldr r4, _080B7E0C @ =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x1F - movs r6, 0 - strh r0, [r5, 0x16] - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8076B2C - subs r0, 0x7 - strh r0, [r5, 0x14] - ldrh r1, [r5, 0x16] - strh r1, [r5, 0x12] - strh r0, [r5, 0x10] - subs r1, r0 - lsls r1, 8 - strh r1, [r5, 0x22] - ldrb r0, [r4] - movs r1, 0 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - subs r1, 0x20 - strh r1, [r5, 0x24] - adds r0, 0x20 - strh r0, [r5, 0x26] - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080B7E14 - ldr r0, _080B7E10 @ =0x0000fff4 - b _080B7E16 - .align 2, 0 -_080B7E08: .4byte gTasks -_080B7E0C: .4byte gBattleAnimAttacker -_080B7E10: .4byte 0x0000fff4 -_080B7E14: - ldr r0, _080B7E60 @ =0x0000ffc0 -_080B7E16: - strh r0, [r5, 0x18] - ldr r0, _080B7E64 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl sub_80768B0 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0xE] - cmp r0, 0x1 - bne _080B7E78 - add r4, sp, 0xC - adds r0, r4, 0 - bl sub_80752A0 - ldr r0, _080B7E68 @ =gBattle_BG1_Y - ldrh r0, [r0] - strh r0, [r5, 0x1C] - ldr r1, _080B7E6C @ =0x00003f42 - movs r0, 0x50 - bl SetGpuReg - ldrb r1, [r4, 0x8] - lsls r1, 4 - movs r0, 0 - movs r2, 0x20 - bl FillPalette - ldr r0, _080B7E70 @ =0x04000016 - str r0, [sp] - movs r7, 0x2 - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080B7EA8 - ldr r1, _080B7E74 @ =gBattle_BG2_X - b _080B7EA2 - .align 2, 0 -_080B7E60: .4byte 0x0000ffc0 -_080B7E64: .4byte gBattleAnimAttacker -_080B7E68: .4byte gBattle_BG1_Y -_080B7E6C: .4byte 0x00003f42 -_080B7E70: .4byte 0x04000016 -_080B7E74: .4byte gBattle_BG2_X -_080B7E78: - ldr r0, _080B7F30 @ =gBattle_BG2_Y - ldrh r0, [r0] - strh r0, [r5, 0x1C] - ldr r1, _080B7F34 @ =0x00003f44 - movs r0, 0x50 - bl SetGpuReg - movs r0, 0 - movs r1, 0x90 - movs r2, 0x20 - bl FillPalette - ldr r0, _080B7F38 @ =0x0400001a - str r0, [sp] - movs r7, 0x4 - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080B7EA8 - ldr r1, _080B7F3C @ =gBattle_BG1_X -_080B7EA2: - ldrh r0, [r1] - adds r0, 0xF0 - strh r0, [r1] -_080B7EA8: - ldr r0, _080B7F40 @ =0xa2600001 - str r0, [sp, 0x4] - mov r2, sp - movs r1, 0 - movs r0, 0x1 - strb r0, [r2, 0x8] - mov r0, sp - strb r1, [r0, 0x9] - strh r1, [r5, 0x1E] - movs r0, 0x10 - strh r0, [r5, 0x20] - strh r1, [r5, 0x8] - strh r1, [r5, 0xA] - strh r1, [r5, 0xC] - movs r0, 0x3 - bl sub_80B856C - movs r3, 0 - ldr r4, _080B7F44 @ =gScanlineEffectRegBuffers - movs r0, 0xF0 - lsls r0, 3 - adds r6, r4, r0 -_080B7ED4: - lsls r1, r3, 1 - adds r2, r1, r4 - ldrh r0, [r5, 0x1C] - strh r0, [r2] - adds r1, r6 - ldrh r0, [r5, 0x1C] - strh r0, [r1] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x6F - bls _080B7ED4 - ldr r0, [sp] - ldr r1, [sp, 0x4] - ldr r2, [sp, 0x8] - bl ScanlineEffect_SetParams - movs r0, 0x3F - eors r7, r0 - movs r1, 0xFC - lsls r1, 6 - adds r0, r1, 0 - orrs r7, r0 - movs r0, 0x4A - adds r1, r7, 0 - bl SetGpuReg - ldr r1, _080B7F48 @ =0x00003f3f - movs r0, 0x48 - bl SetGpuReg - ldr r2, _080B7F4C @ =gUnknown_2022984 - ldrh r0, [r5, 0x24] - lsls r0, 8 - ldrh r1, [r5, 0x26] - orrs r0, r1 - strh r0, [r2] - ldr r1, _080B7F50 @ =gUnknown_2022986 - movs r0, 0xA0 - strh r0, [r1] - ldr r0, _080B7F54 @ =sub_80B7F58 - str r0, [r5] - add sp, 0x1C - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B7F30: .4byte gBattle_BG2_Y -_080B7F34: .4byte 0x00003f44 -_080B7F38: .4byte 0x0400001a -_080B7F3C: .4byte gBattle_BG1_X -_080B7F40: .4byte 0xa2600001 -_080B7F44: .4byte gScanlineEffectRegBuffers -_080B7F48: .4byte 0x00003f3f -_080B7F4C: .4byte gUnknown_2022984 -_080B7F50: .4byte gUnknown_2022986 -_080B7F54: .4byte sub_80B7F58 - thumb_func_end sub_80B7DA4 - - thumb_func_start sub_80B7F58 -sub_80B7F58: @ 80B7F58 - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, _080B7F7C @ =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x4 - bls _080B7F72 - b _080B806A -_080B7F72: - lsls r0, 2 - ldr r1, _080B7F80 @ =_080B7F84 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080B7F7C: .4byte gTasks -_080B7F80: .4byte _080B7F84 - .align 2, 0 -_080B7F84: - .4byte _080B7F98 - .4byte _080B7FFA - .4byte _080B8014 - .4byte _080B8050 - .4byte _080B8064 -_080B7F98: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080B806A - movs r0, 0 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080B7FC8 - ldrh r1, [r4, 0x1E] - movs r2, 0x1E - ldrsh r0, [r4, r2] - cmp r0, 0xC - beq _080B7FD6 - adds r0, r1, 0x1 - strh r0, [r4, 0x1E] - b _080B7FD6 -_080B7FC8: - ldrh r1, [r4, 0x20] - movs r2, 0x20 - ldrsh r0, [r4, r2] - cmp r0, 0x8 - beq _080B7FD6 - subs r0, r1, 0x1 - strh r0, [r4, 0x20] -_080B7FD6: - ldrh r1, [r4, 0x20] - lsls r1, 8 - ldrh r0, [r4, 0x1E] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r1, 0x1E - ldrsh r0, [r4, r1] - cmp r0, 0xC - bne _080B806A - movs r2, 0x20 - ldrsh r0, [r4, r2] - cmp r0, 0x8 - bne _080B806A - b _080B8056 -_080B7FFA: - ldrh r0, [r4, 0x10] - subs r0, 0x8 - strh r0, [r4, 0x10] - adds r0, r4, 0 - bl sub_80B843C - movs r0, 0x10 - ldrsh r1, [r4, r0] - movs r2, 0x18 - ldrsh r0, [r4, r2] - cmp r1, r0 - bge _080B806A - b _080B8056 -_080B8014: - ldrh r0, [r4, 0x10] - subs r0, 0x8 - strh r0, [r4, 0x10] - adds r0, r4, 0 - bl sub_80B843C - ldrh r1, [r4, 0x24] - adds r1, 0x4 - strh r1, [r4, 0x24] - ldrh r0, [r4, 0x26] - subs r2, r0, 0x4 - strh r2, [r4, 0x26] - lsls r1, 16 - lsls r0, r2, 16 - cmp r1, r0 - blt _080B8036 - strh r2, [r4, 0x24] -_080B8036: - ldr r3, _080B804C @ =gUnknown_2022984 - ldrh r2, [r4, 0x24] - lsls r0, r2, 8 - ldrh r1, [r4, 0x26] - orrs r0, r1 - strh r0, [r3] - lsls r2, 16 - lsls r1, 16 - cmp r2, r1 - bne _080B806A - b _080B8056 - .align 2, 0 -_080B804C: .4byte gUnknown_2022984 -_080B8050: - ldr r1, _080B8060 @ =gScanlineEffect - movs r0, 0x3 - strb r0, [r1, 0x15] -_080B8056: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080B806A - .align 2, 0 -_080B8060: .4byte gScanlineEffect -_080B8064: - adds r0, r2, 0 - bl DestroyAnimVisualTask -_080B806A: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80B7F58 - - thumb_func_start sub_80B8070 -sub_80B8070: @ 80B8070 - push {r4-r7,lr} - sub sp, 0x1C - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, _080B8098 @ =gTasks - adds r5, r0, r1 - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0x4 - bls _080B808C - b _080B829E -_080B808C: - lsls r0, 2 - ldr r1, _080B809C @ =_080B80A0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080B8098: .4byte gTasks -_080B809C: .4byte _080B80A0 - .align 2, 0 -_080B80A0: - .4byte _080B80B4 - .4byte _080B8138 - .4byte _080B817C - .4byte _080B81E8 - .4byte _080B8250 -_080B80B4: - bl sub_8073788 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B80F0 - ldr r0, _080B80E4 @ =gUnknown_2022984 - movs r1, 0 - strh r1, [r0] - ldr r0, _080B80E8 @ =gUnknown_2022986 - strh r1, [r0] - ldr r4, _080B80EC @ =0x00003f3f - movs r0, 0x48 - adds r1, r4, 0 - bl SetGpuReg - movs r0, 0x4A - adds r1, r4, 0 - bl SetGpuReg - adds r0, r6, 0 - bl DestroyAnimVisualTask - b _080B829E - .align 2, 0 -_080B80E4: .4byte gUnknown_2022984 -_080B80E8: .4byte gUnknown_2022986 -_080B80EC: .4byte 0x00003f3f -_080B80F0: - ldr r0, _080B8110 @ =gBattleAnimTarget - ldrb r0, [r0] - bl sub_80768B0 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0xE] - cmp r0, 0x1 - bne _080B811C - ldr r1, _080B8114 @ =0x00003f42 - movs r0, 0x50 - bl SetGpuReg - ldr r1, _080B8118 @ =gBattle_BG2_X - b _080B8126 - .align 2, 0 -_080B8110: .4byte gBattleAnimTarget -_080B8114: .4byte 0x00003f42 -_080B8118: .4byte gBattle_BG2_X -_080B811C: - ldr r1, _080B8130 @ =0x00003f44 - movs r0, 0x50 - bl SetGpuReg - ldr r1, _080B8134 @ =gBattle_BG1_X -_080B8126: - ldrh r0, [r1] - adds r0, 0xF0 - strh r0, [r1] - b _080B823C - .align 2, 0 -_080B8130: .4byte 0x00003f44 -_080B8134: .4byte gBattle_BG1_X -_080B8138: - movs r1, 0xE - ldrsh r0, [r5, r1] - cmp r0, 0x1 - bne _080B8160 - mov r0, sp - bl sub_80752A0 - ldr r0, _080B815C @ =gBattle_BG1_Y - ldrh r0, [r0] - strh r0, [r5, 0x1C] - mov r0, sp - ldrb r1, [r0, 0x8] - lsls r1, 4 - movs r0, 0 - movs r2, 0x20 - bl FillPalette - b _080B8170 - .align 2, 0 -_080B815C: .4byte gBattle_BG1_Y -_080B8160: - ldr r0, _080B8178 @ =gBattle_BG2_Y - ldrh r0, [r0] - strh r0, [r5, 0x1C] - movs r0, 0 - movs r1, 0x90 - movs r2, 0x20 - bl FillPalette -_080B8170: - movs r0, 0x3 - bl sub_80B856C - b _080B823C - .align 2, 0 -_080B8178: .4byte gBattle_BG2_Y -_080B817C: - ldr r4, _080B81C8 @ =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x1F - movs r6, 0 - strh r0, [r5, 0x16] - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8076B2C - subs r0, 0x7 - strh r0, [r5, 0x14] - ldrh r1, [r5, 0x16] - subs r1, r0 - lsls r1, 8 - strh r1, [r5, 0x22] - ldrb r0, [r4] - movs r1, 0 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - subs r1, r0, 0x4 - strh r1, [r5, 0x24] - adds r0, 0x4 - strh r0, [r5, 0x26] - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080B81D0 - ldr r0, _080B81CC @ =0x0000fff4 - b _080B81D2 - .align 2, 0 -_080B81C8: .4byte gBattleAnimTarget -_080B81CC: .4byte 0x0000fff4 -_080B81D0: - ldr r0, _080B81E4 @ =0x0000ffc0 -_080B81D2: - strh r0, [r5, 0x18] - ldrh r0, [r5, 0x18] - strh r0, [r5, 0x10] - strh r0, [r5, 0x12] - movs r0, 0xC - strh r0, [r5, 0x1E] - movs r0, 0x8 - strh r0, [r5, 0x20] - b _080B823C - .align 2, 0 -_080B81E4: .4byte 0x0000ffc0 -_080B81E8: - movs r1, 0xE - ldrsh r0, [r5, r1] - cmp r0, 0x1 - bne _080B81F8 - ldr r0, _080B81F4 @ =0x04000016 - b _080B81FA - .align 2, 0 -_080B81F4: .4byte 0x04000016 -_080B81F8: - ldr r0, _080B8244 @ =0x0400001a -_080B81FA: - str r0, [sp, 0x10] - movs r3, 0 - add r4, sp, 0x10 - ldr r6, _080B8248 @ =gScanlineEffectRegBuffers - movs r0, 0xF0 - lsls r0, 3 - adds r7, r6, r0 -_080B8208: - lsls r1, r3, 1 - adds r2, r1, r6 - ldrh r0, [r5, 0x1C] - adds r0, 0x9F - subs r0, r3 - strh r0, [r2] - adds r1, r7 - ldrh r0, [r5, 0x1C] - adds r0, 0x9F - subs r0, r3 - strh r0, [r1] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x6F - bls _080B8208 - ldr r1, _080B824C @ =0xa2600001 - str r1, [r4, 0x4] - movs r2, 0 - movs r0, 0x1 - strb r0, [r4, 0x8] - strb r2, [r4, 0x9] - ldr r0, [sp, 0x10] - ldr r2, [r4, 0x8] - bl ScanlineEffect_SetParams -_080B823C: - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - b _080B829E - .align 2, 0 -_080B8244: .4byte 0x0400001a -_080B8248: .4byte gScanlineEffectRegBuffers -_080B824C: .4byte 0xa2600001 -_080B8250: - movs r1, 0xE - ldrsh r0, [r5, r1] - cmp r0, 0x1 - bne _080B8268 - ldr r1, _080B8264 @ =0x00003f3d - movs r0, 0x4A - bl SetGpuReg - b _080B8270 - .align 2, 0 -_080B8264: .4byte 0x00003f3d -_080B8268: - ldr r1, _080B82A8 @ =0x00003f3b - movs r0, 0x4A - bl SetGpuReg -_080B8270: - ldr r1, _080B82AC @ =0x00003f3f - movs r0, 0x48 - bl SetGpuReg - ldr r2, _080B82B0 @ =gUnknown_2022984 - ldrh r0, [r5, 0x24] - lsls r0, 8 - ldrh r1, [r5, 0x26] - orrs r0, r1 - strh r0, [r2] - ldr r1, _080B82B4 @ =gUnknown_2022986 - movs r0, 0xA0 - strh r0, [r1] - movs r0, 0 - strh r0, [r5, 0x8] - strh r0, [r5, 0xA] - strh r0, [r5, 0xC] - ldr r1, _080B82B8 @ =0x0000080c - movs r0, 0x52 - bl SetGpuReg - ldr r0, _080B82BC @ =sub_80B82C0 - str r0, [r5] -_080B829E: - add sp, 0x1C - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B82A8: .4byte 0x00003f3b -_080B82AC: .4byte 0x00003f3f -_080B82B0: .4byte gUnknown_2022984 -_080B82B4: .4byte gUnknown_2022986 -_080B82B8: .4byte 0x0000080c -_080B82BC: .4byte sub_80B82C0 - thumb_func_end sub_80B8070 - - thumb_func_start sub_80B82C0 -sub_80B82C0: @ 80B82C0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _080B82E4 @ =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x4 - bls _080B82DA - b _080B842A -_080B82DA: - lsls r0, 2 - ldr r1, _080B82E8 @ =_080B82EC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080B82E4: .4byte gTasks -_080B82E8: .4byte _080B82EC - .align 2, 0 -_080B82EC: - .4byte _080B8300 - .4byte _080B832C - .4byte _080B8394 - .4byte _080B83F6 - .4byte _080B8408 -_080B8300: - ldrh r0, [r4, 0x12] - adds r0, 0x8 - strh r0, [r4, 0x12] - lsls r0, 16 - asrs r0, 16 - ldrh r2, [r4, 0x16] - movs r3, 0x16 - ldrsh r1, [r4, r3] - cmp r0, r1 - blt _080B8316 - strh r2, [r4, 0x12] -_080B8316: - adds r0, r4, 0 - bl sub_80B843C - movs r0, 0x12 - ldrsh r1, [r4, r0] - movs r2, 0x16 - ldrsh r0, [r4, r2] - cmp r1, r0 - beq _080B832A - b _080B842A -_080B832A: - b _080B83FC -_080B832C: - movs r3, 0x26 - ldrsh r0, [r4, r3] - movs r2, 0x24 - ldrsh r1, [r4, r2] - subs r0, r1 - cmp r0, 0x3F - bgt _080B8348 - ldrh r0, [r4, 0x24] - subs r0, 0x4 - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x26] - adds r0, 0x4 - strh r0, [r4, 0x26] - b _080B834C -_080B8348: - movs r0, 0x1 - strh r0, [r4, 0xA] -_080B834C: - ldr r2, _080B8390 @ =gUnknown_2022984 - ldrh r0, [r4, 0x24] - lsls r0, 8 - ldrh r1, [r4, 0x26] - orrs r0, r1 - strh r0, [r2] - ldrh r0, [r4, 0x10] - adds r0, 0x8 - strh r0, [r4, 0x10] - lsls r0, 16 - asrs r0, 16 - ldrh r2, [r4, 0x14] - movs r3, 0x14 - ldrsh r1, [r4, r3] - cmp r0, r1 - blt _080B836E - strh r2, [r4, 0x10] -_080B836E: - adds r0, r4, 0 - bl sub_80B843C - movs r0, 0x10 - ldrsh r1, [r4, r0] - movs r2, 0x14 - ldrsh r0, [r4, r2] - cmp r1, r0 - bne _080B842A - movs r3, 0xA - ldrsh r0, [r4, r3] - cmp r0, 0 - beq _080B842A - movs r0, 0 - strh r0, [r4, 0xA] - b _080B83FC - .align 2, 0 -_080B8390: .4byte gUnknown_2022984 -_080B8394: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080B842A - movs r0, 0 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080B83C4 - ldrh r1, [r4, 0x1E] - movs r2, 0x1E - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _080B83D2 - subs r0, r1, 0x1 - strh r0, [r4, 0x1E] - b _080B83D2 -_080B83C4: - ldrh r1, [r4, 0x20] - movs r3, 0x20 - ldrsh r0, [r4, r3] - cmp r0, 0xF - bgt _080B83D2 - adds r0, r1, 0x1 - strh r0, [r4, 0x20] -_080B83D2: - ldrh r1, [r4, 0x20] - lsls r1, 8 - ldrh r0, [r4, 0x1E] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r1, 0x1E - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080B842A - movs r2, 0x20 - ldrsh r0, [r4, r2] - cmp r0, 0x10 - bne _080B842A - b _080B83FC -_080B83F6: - ldr r1, _080B8404 @ =gScanlineEffect - movs r0, 0x3 - strb r0, [r1, 0x15] -_080B83FC: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080B842A - .align 2, 0 -_080B8404: .4byte gScanlineEffect -_080B8408: - ldr r0, _080B8430 @ =gUnknown_2022984 - movs r1, 0 - strh r1, [r0] - ldr r0, _080B8434 @ =gUnknown_2022986 - strh r1, [r0] - ldr r4, _080B8438 @ =0x00003f3f - movs r0, 0x48 - adds r1, r4, 0 - bl SetGpuReg - movs r0, 0x4A - adds r1, r4, 0 - bl SetGpuReg - adds r0, r5, 0 - bl DestroyAnimVisualTask -_080B842A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B8430: .4byte gUnknown_2022984 -_080B8434: .4byte gUnknown_2022986 -_080B8438: .4byte 0x00003f3f - thumb_func_end sub_80B82C0 - - thumb_func_start sub_80B843C -sub_80B843C: @ 80B843C - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - ldrh r0, [r6, 0x12] - ldrh r4, [r6, 0x10] - subs r0, r4 - lsls r0, 16 - asrs r1, r0, 16 - cmp r1, 0 - beq _080B8530 - movs r2, 0x22 - ldrsh r0, [r6, r2] - bl __divsi3 - mov r8, r0 - movs r3, 0x14 - ldrsh r0, [r6, r3] - lsls r5, r0, 8 - lsls r0, r4, 16 - movs r4, 0 - cmp r0, 0 - ble _080B849C - ldr r0, _080B8528 @ =gScanlineEffectRegBuffers - mov r12, r0 - ldr r7, _080B852C @ =gScanlineEffect -_080B8470: - lsls r2, r4, 16 - asrs r2, 16 - lsls r3, r2, 1 - ldrb r1, [r7, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - adds r3, r0 - add r3, r12 - adds r1, r2, 0 - subs r1, 0x9F - ldrh r0, [r6, 0x1C] - subs r0, r1 - strh r0, [r3] - adds r2, 0x1 - lsls r2, 16 - lsrs r4, r2, 16 - asrs r2, 16 - movs r1, 0x10 - ldrsh r0, [r6, r1] - cmp r2, r0 - blt _080B8470 -_080B849C: - ldrh r4, [r6, 0x10] - lsls r3, r4, 16 - asrs r1, r3, 16 - movs r2, 0x12 - ldrsh r0, [r6, r2] - cmp r1, r0 - bgt _080B84E6 - ldr r0, _080B8528 @ =gScanlineEffectRegBuffers - mov r12, r0 - ldr r7, _080B852C @ =gScanlineEffect -_080B84B0: - asrs r4, r3, 16 - cmp r4, 0 - blt _080B84D2 - asrs r1, r5, 8 - subs r1, r4 - lsls r3, r4, 1 - ldrb r2, [r7, 0x14] - lsls r0, r2, 4 - subs r0, r2 - lsls r0, 7 - adds r3, r0 - add r3, r12 - lsls r1, 16 - asrs r1, 16 - ldrh r2, [r6, 0x1C] - adds r1, r2 - strh r1, [r3] -_080B84D2: - add r5, r8 - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - lsls r3, r4, 16 - asrs r1, r3, 16 - movs r2, 0x12 - ldrsh r0, [r6, r2] - cmp r1, r0 - ble _080B84B0 -_080B84E6: - movs r3, 0x1C - ldrsh r0, [r6, r3] - adds r0, 0x9F - lsls r2, r4, 16 - asrs r1, r2, 16 - subs r5, r0, r1 - movs r3, 0x16 - ldrsh r0, [r6, r3] - cmp r1, r0 - bge _080B855E - ldr r7, _080B8528 @ =gScanlineEffectRegBuffers - ldr r4, _080B852C @ =gScanlineEffect -_080B84FE: - asrs r3, r2, 16 - cmp r3, 0 - blt _080B8516 - lsls r2, r3, 1 - ldrb r1, [r4, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - adds r2, r0 - adds r2, r7 - strh r5, [r2] - subs r5, 0x1 -_080B8516: - adds r0, r3, 0x1 - lsls r2, r0, 16 - asrs r1, r2, 16 - movs r3, 0x16 - ldrsh r0, [r6, r3] - cmp r1, r0 - blt _080B84FE - b _080B855E - .align 2, 0 -_080B8528: .4byte gScanlineEffectRegBuffers -_080B852C: .4byte gScanlineEffect -_080B8530: - movs r1, 0x1C - ldrsh r0, [r6, r1] - adds r5, r0, 0 - adds r5, 0x9F - movs r4, 0 - ldr r3, _080B8568 @ =gScanlineEffectRegBuffers - movs r2, 0xF0 - lsls r2, 3 - adds r6, r3, r2 -_080B8542: - lsls r0, r4, 16 - asrs r0, 16 - lsls r2, r0, 1 - adds r1, r2, r3 - strh r5, [r1] - adds r2, r6 - strh r5, [r2] - subs r5, 0x1 - adds r0, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - asrs r0, 16 - cmp r0, 0x6F - ble _080B8542 -_080B855E: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B8568: .4byte gScanlineEffectRegBuffers - thumb_func_end sub_80B843C - - thumb_func_start sub_80B856C -sub_80B856C: @ 80B856C - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - movs r4, 0 - ldr r7, _080B85B4 @ =gSprites - movs r1, 0x3 - ands r0, r1 - lsls r5, r0, 2 - movs r0, 0xD - negs r0, r0 - adds r6, r0, 0 -_080B8582: - lsls r0, r4, 24 - lsrs r0, 24 - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _080B85A2 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r7 - ldrb r0, [r1, 0x5] - ands r0, r6 - orrs r0, r5 - strb r0, [r1, 0x5] -_080B85A2: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x3 - bls _080B8582 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B85B4: .4byte gSprites - thumb_func_end sub_80B856C - - thumb_func_start sub_80B85B8 -sub_80B85B8: @ 80B85B8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - ldr r6, _080B8658 @ =gBattleAnimAttacker - ldrb r0, [r6] - bl sub_80768B0 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - eors r0, r1 - negs r1, r0 - orrs r1, r0 - lsrs r4, r1, 31 - ldrb r0, [r6] - adds r1, r4, 0 - bl sub_8072E48 - ldr r0, _080B865C @ =gSprites - mov r9, r0 - ldr r0, _080B8660 @ =gUnknown_2023D44 - mov r8, r0 - ldrb r0, [r6] - add r0, r8 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r9 - adds r1, 0x3E - ldrb r2, [r1] - movs r7, 0x5 - negs r7, r7 - adds r0, r7, 0 - ands r0, r2 - strb r0, [r1] - ldrb r0, [r6] - movs r5, 0x2 - eors r0, r5 - bl sub_8072DF0 - lsls r0, 24 - cmp r0, 0 - beq _080B8642 - ldrb r0, [r6] - eors r0, r5 - movs r1, 0x1 - eors r4, r1 - adds r1, r4, 0 - bl sub_8072E48 - ldrb r0, [r6] - eors r0, r5 - add r0, r8 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r9 - adds r0, 0x3E - ldrb r2, [r0] - adds r1, r7, 0 - ands r1, r2 - strb r1, [r0] -_080B8642: - mov r0, r10 - bl DestroyAnimVisualTask - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B8658: .4byte gBattleAnimAttacker -_080B865C: .4byte gSprites -_080B8660: .4byte gUnknown_2023D44 - thumb_func_end sub_80B85B8 - - thumb_func_start sub_80B8664 -sub_80B8664: @ 80B8664 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r4, _080B86AC @ =gBattleAnimAttacker - ldrb r0, [r4] - bl sub_80768B0 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - eors r0, r1 - negs r1, r0 - orrs r1, r0 - lsrs r5, r1, 31 - adds r0, r5, 0 - bl sub_8073128 - ldrb r1, [r4] - movs r0, 0x2 - eors r0, r1 - bl sub_8072DF0 - lsls r0, 24 - cmp r0, 0 - beq _080B86A0 - movs r0, 0x1 - eors r5, r0 - adds r0, r5, 0 - bl sub_8073128 -_080B86A0: - adds r0, r6, 0 - bl DestroyAnimVisualTask - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B86AC: .4byte gBattleAnimAttacker - thumb_func_end sub_80B8664 - - thumb_func_start sub_80B86B0 -sub_80B86B0: @ 80B86B0 - push {r4,lr} - adds r4, r0, 0 - ldr r1, _080B86E0 @ =gBattleAnimArgs - ldrh r0, [r1] - ldrh r2, [r4, 0x20] - adds r0, r2 - strh r0, [r4, 0x20] - ldrh r0, [r1, 0x2] - ldrh r2, [r4, 0x22] - adds r0, r2 - strh r0, [r4, 0x22] - ldrb r1, [r1, 0x4] - adds r0, r4, 0 - bl StartSpriteAnim - ldr r0, _080B86E4 @ =sub_8074F6C - str r0, [r4, 0x1C] - ldr r1, _080B86E8 @ =DestroyAnimSprite - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B86E0: .4byte gBattleAnimArgs -_080B86E4: .4byte sub_8074F6C -_080B86E8: .4byte DestroyAnimSprite - thumb_func_end sub_80B86B0 - - thumb_func_start sub_80B86EC -sub_80B86EC: @ 80B86EC - push {r4-r7,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r7, r0, 24 - movs r6, 0 - ldr r0, _080B87EC @ =gUnknown_2022984 - strh r6, [r0] - ldr r0, _080B87F0 @ =gUnknown_2022986 - strh r6, [r0] - ldr r1, _080B87F4 @ =0x00003f3f - movs r0, 0x48 - bl SetGpuReg - ldr r1, _080B87F8 @ =0x00003f3d - movs r0, 0x4A - bl SetGpuReg - movs r1, 0x80 - lsls r1, 8 - movs r0, 0 - bl SetGpuRegBits - ldr r1, _080B87FC @ =0x00003f42 - movs r0, 0x50 - bl SetGpuReg - ldr r1, _080B8800 @ =0x00000c08 - movs r0, 0x52 - bl SetGpuReg - movs r0, 0x1 - movs r1, 0x4 - movs r2, 0 - bl SetAnimBgAttribute - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl SetAnimBgAttribute - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080B8750 - movs r0, 0x1 - movs r1, 0x3 - movs r2, 0x1 - bl SetAnimBgAttribute -_080B8750: - bl sub_8075290 - lsls r0, 24 - cmp r0, 0 - beq _080B87CA - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080B87CA - ldr r4, _080B8804 @ =gBattleAnimAttacker - ldrb r0, [r4] - bl GetBattlerPosition - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - beq _080B8780 - ldrb r0, [r4] - bl GetBattlerPosition - lsls r0, 24 - cmp r0, 0 - bne _080B87CA -_080B8780: - ldrb r0, [r4] - movs r5, 0x2 - eors r0, r5 - bl sub_8072DF0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B87CA - ldr r3, _080B8808 @ =gSprites - ldr r1, _080B880C @ =gUnknown_2023D44 - ldrb r0, [r4] - eors r0, r5 - adds r0, r1 - ldrb r0, [r0] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r3 - ldrb r3, [r2, 0x5] - lsls r1, r3, 28 - lsrs r1, 30 - subs r1, 0x1 - movs r0, 0x3 - ands r1, r0 - lsls r1, 2 - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x5] - movs r0, 0x1 - movs r1, 0x4 - movs r2, 0x1 - bl SetAnimBgAttribute - movs r6, 0x1 -_080B87CA: - ldr r4, _080B8804 @ =gBattleAnimAttacker - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080B8818 - ldr r1, _080B8810 @ =gBattlerPartyIndexes - ldrb r0, [r4] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080B8814 @ =gEnemyParty - b _080B8828 - .align 2, 0 -_080B87EC: .4byte gUnknown_2022984 -_080B87F0: .4byte gUnknown_2022986 -_080B87F4: .4byte 0x00003f3f -_080B87F8: .4byte 0x00003f3d -_080B87FC: .4byte 0x00003f42 -_080B8800: .4byte 0x00000c08 -_080B8804: .4byte gBattleAnimAttacker -_080B8808: .4byte gSprites -_080B880C: .4byte gUnknown_2023D44 -_080B8810: .4byte gBattlerPartyIndexes -_080B8814: .4byte gEnemyParty -_080B8818: - ldr r1, _080B88B8 @ =gBattlerPartyIndexes - ldrb r0, [r4] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080B88BC @ =gPlayerParty -_080B8828: - adds r0, r1 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - movs r0, 0 - bl GetAnimBankSpriteId - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _080B88C0 @ =gBattleAnimAttacker - ldrb r0, [r0] - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_8076E34 - lsls r0, 24 - lsrs r5, r0, 24 - mov r0, sp - bl sub_80752A0 - mov r0, sp - ldrb r0, [r0, 0x9] - ldr r1, _080B88C4 @ =gFile_graphics_battle_anims_masks_metal_shine_tilemap - bl sub_807543C - mov r0, sp - ldrb r0, [r0, 0x9] - ldr r1, _080B88C8 @ =gFile_graphics_battle_anims_masks_metal_shine_sheet - mov r2, sp - ldrh r2, [r2, 0xA] - bl sub_80753B4 - ldr r0, _080B88CC @ =gFile_graphics_battle_anims_masks_metal_shine_palette - mov r1, sp - ldrb r1, [r1, 0x8] - lsls r1, 4 - movs r2, 0x20 - bl LoadCompressedPalette - ldr r2, _080B88D0 @ =gBattle_BG1_X - ldr r0, _080B88D4 @ =gSprites - lsls r1, r4, 4 - adds r1, r4 - lsls r1, 2 - adds r1, r0 - ldrh r0, [r1, 0x20] - negs r0, r0 - adds r0, 0x60 - strh r0, [r2] - ldr r2, _080B88D8 @ =gBattle_BG1_Y - ldrh r0, [r1, 0x22] - negs r0, r0 - adds r0, 0x20 - strh r0, [r2] - ldrb r0, [r1, 0x5] - lsrs r0, 4 - adds r0, 0x10 - adds r1, r0, 0 - ldr r2, _080B88DC @ =gBattleAnimArgs - movs r3, 0x2 - ldrsh r0, [r2, r3] - cmp r0, 0 - bne _080B88E0 - adds r0, r1, 0 - movs r1, 0 - bl sub_8075B48 - b _080B88EC - .align 2, 0 -_080B88B8: .4byte gBattlerPartyIndexes -_080B88BC: .4byte gPlayerParty -_080B88C0: .4byte gBattleAnimAttacker -_080B88C4: .4byte gFile_graphics_battle_anims_masks_metal_shine_tilemap -_080B88C8: .4byte gFile_graphics_battle_anims_masks_metal_shine_sheet -_080B88CC: .4byte gFile_graphics_battle_anims_masks_metal_shine_palette -_080B88D0: .4byte gBattle_BG1_X -_080B88D4: .4byte gSprites -_080B88D8: .4byte gBattle_BG1_Y -_080B88DC: .4byte gBattleAnimArgs -_080B88E0: - lsls r0, r1, 4 - ldrh r3, [r2, 0x4] - movs r1, 0x10 - movs r2, 0xB - bl BlendPalette -_080B88EC: - ldr r1, _080B8914 @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - strh r5, [r0, 0x8] - ldr r2, _080B8918 @ =gBattleAnimArgs - ldrh r1, [r2] - strh r1, [r0, 0xA] - ldrh r1, [r2, 0x2] - strh r1, [r0, 0xC] - ldrh r1, [r2, 0x4] - strh r1, [r0, 0xE] - strh r6, [r0, 0x14] - ldr r1, _080B891C @ =sub_80B8920 - str r1, [r0] - add sp, 0x10 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B8914: .4byte gTasks -_080B8918: .4byte gBattleAnimArgs -_080B891C: .4byte sub_80B8920 - thumb_func_end sub_80B86EC - - thumb_func_start sub_80B8920 -sub_80B8920: @ 80B8920 - push {r4-r6,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r0, 24 - adds r6, r0, 0 - ldr r1, _080B89E8 @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r4, r0, r1 - ldrh r0, [r4, 0x1C] - adds r0, 0x4 - movs r5, 0 - strh r0, [r4, 0x1C] - ldr r2, _080B89EC @ =gBattle_BG1_X - ldrh r3, [r2] - subs r1, r3, 0x4 - strh r1, [r2] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x80 - beq _080B894E - b _080B8A5E -_080B894E: - strh r5, [r4, 0x1C] - adds r0, r3, 0 - adds r0, 0x7C - strh r0, [r2] - ldrh r0, [r4, 0x1E] - adds r0, 0x1 - strh r0, [r4, 0x1E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - bne _080B89FC - movs r0, 0 - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r0, 24 - ldr r5, _080B89F0 @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - ldrb r0, [r1, 0x5] - lsrs r0, 4 - adds r0, 0x10 - adds r1, r0, 0 - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _080B8990 - adds r0, r1, 0 - movs r1, 0x1 - bl sub_8075B48 -_080B8990: - movs r0, 0x8 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - bl DestroySprite - mov r0, sp - bl sub_80752A0 - mov r0, sp - ldrb r0, [r0, 0x9] - bl sub_8075358 - movs r1, 0x14 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - bne _080B8A5E - ldr r2, _080B89F4 @ =gUnknown_2023D44 - ldr r0, _080B89F8 @ =gBattleAnimAttacker - ldrb r1, [r0] - movs r0, 0x2 - eors r0, r1 - adds r0, r2 - ldrb r0, [r0] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r5 - ldrb r3, [r2, 0x5] - lsls r1, r3, 28 - lsrs r1, 30 - adds r1, 0x1 - movs r0, 0x3 - ands r1, r0 - lsls r1, 2 - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x5] - b _080B8A5E - .align 2, 0 -_080B89E8: .4byte gTasks -_080B89EC: .4byte gBattle_BG1_X -_080B89F0: .4byte gSprites -_080B89F4: .4byte gUnknown_2023D44 -_080B89F8: .4byte gBattleAnimAttacker -_080B89FC: - cmp r0, 0x3 - bne _080B8A5E - ldr r0, _080B8A68 @ =gUnknown_2022984 - strh r5, [r0] - ldr r0, _080B8A6C @ =gUnknown_2022986 - strh r5, [r0] - ldr r4, _080B8A70 @ =0x00003f3f - movs r0, 0x48 - adds r1, r4, 0 - bl SetGpuReg - movs r0, 0x4A - adds r1, r4, 0 - bl SetGpuReg - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080B8A2E - movs r0, 0x1 - movs r1, 0x3 - movs r2, 0 - bl SetAnimBgAttribute -_080B8A2E: - movs r0, 0 - bl GetGpuReg - adds r1, r0, 0 - movs r2, 0x80 - lsls r2, 8 - adds r0, r2, 0 - eors r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0 - bl SetGpuReg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - adds r0, r6, 0 - bl DestroyAnimVisualTask -_080B8A5E: - add sp, 0x10 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B8A68: .4byte gUnknown_2022984 -_080B8A6C: .4byte gUnknown_2022986 -_080B8A70: .4byte 0x00003f3f - thumb_func_end sub_80B8920 - - thumb_func_start sub_80B8A74 -sub_80B8A74: @ 80B8A74 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - ldr r0, _080B8A94 @ =gBattleAnimArgs - movs r2, 0 - ldrsh r1, [r0, r2] - adds r2, r0, 0 - cmp r1, 0x7 - bhi _080B8AD8 - lsls r0, r1, 2 - ldr r1, _080B8A98 @ =_080B8A9C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080B8A94: .4byte gBattleAnimArgs -_080B8A98: .4byte _080B8A9C - .align 2, 0 -_080B8A9C: - .4byte _080B8ABC - .4byte _080B8ABC - .4byte _080B8ABC - .4byte _080B8ABC - .4byte _080B8AC8 - .4byte _080B8ACC - .4byte _080B8AD0 - .4byte _080B8AD4 -_080B8ABC: - ldrb r0, [r2] - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r2, r0, 24 - b _080B8ADA -_080B8AC8: - movs r4, 0 - b _080B8AE0 -_080B8ACC: - movs r4, 0x2 - b _080B8AE0 -_080B8AD0: - movs r4, 0x1 - b _080B8AE0 -_080B8AD4: - movs r4, 0x3 - b _080B8AE0 -_080B8AD8: - movs r2, 0xFF -_080B8ADA: - movs r0, 0 - cmp r0, 0 - beq _080B8B06 -_080B8AE0: - adds r0, r4, 0 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl sub_8072DF0 - lsls r0, 24 - cmp r0, 0 - beq _080B8B04 - ldr r0, _080B8B00 @ =gUnknown_2023D44 - adds r0, r4, r0 - ldrb r2, [r0] - b _080B8B06 - .align 2, 0 -_080B8B00: .4byte gUnknown_2023D44 -_080B8B04: - movs r2, 0xFF -_080B8B06: - cmp r2, 0xFF - beq _080B8B22 - ldr r1, _080B8B30 @ =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x5] - lsrs r0, 4 - adds r0, 0x10 - ldr r1, _080B8B34 @ =gBattleAnimArgs - ldrb r1, [r1, 0x2] - bl sub_8075B48 -_080B8B22: - adds r0, r5, 0 - bl DestroyAnimVisualTask - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B8B30: .4byte gSprites -_080B8B34: .4byte gBattleAnimArgs - thumb_func_end sub_80B8A74 - - thumb_func_start sub_80B8B38 -sub_80B8B38: @ 80B8B38 - push {lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r2, _080B8B64 @ =gUnknown_2037F16 - ldrb r0, [r2] - cmp r0, 0x1 - bhi _080B8B4C - ldr r1, _080B8B68 @ =gBattleAnimArgs - movs r0, 0 - strh r0, [r1, 0xE] -_080B8B4C: - ldrb r0, [r2] - cmp r0, 0x2 - bne _080B8B58 - ldr r1, _080B8B68 @ =gBattleAnimArgs - movs r0, 0x1 - strh r0, [r1, 0xE] -_080B8B58: - adds r0, r3, 0 - bl DestroyAnimVisualTask - pop {r0} - bx r0 - .align 2, 0 -_080B8B64: .4byte gUnknown_2037F16 -_080B8B68: .4byte gBattleAnimArgs - thumb_func_end sub_80B8B38 - - thumb_func_start sub_80B8B6C -sub_80B8B6C: @ 80B8B6C - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, _080B8BC4 @ =gBattleAnimAttacker - ldrb r0, [r5] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x20] - ldrb r0, [r5] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x22] - movs r0, 0x14 - strh r0, [r4, 0x2E] - ldr r5, _080B8BC8 @ =gBattleAnimTarget - ldrb r0, [r5] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x32] - ldrb r0, [r5] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x36] - ldr r0, _080B8BCC @ =0x0000ffd8 - strh r0, [r4, 0x38] - adds r0, r4, 0 - bl sub_8075068 - ldr r0, _080B8BD0 @ =sub_80B8BD4 - str r0, [r4, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B8BC4: .4byte gBattleAnimAttacker -_080B8BC8: .4byte gBattleAnimTarget -_080B8BCC: .4byte 0x0000ffd8 -_080B8BD0: .4byte sub_80B8BD4 - thumb_func_end sub_80B8B6C - - thumb_func_start sub_80B8BD4 -sub_80B8BD4: @ 80B8BD4 - push {r4,r5,lr} - adds r5, r0, 0 - bl AnimateBallThrow - lsls r0, 24 - cmp r0, 0 - beq _080B8C28 - ldrh r0, [r5, 0x24] - ldrh r1, [r5, 0x20] - adds r0, r1 - movs r1, 0 - strh r0, [r5, 0x20] - ldrh r0, [r5, 0x26] - ldrh r2, [r5, 0x22] - adds r0, r2 - strh r0, [r5, 0x22] - strh r1, [r5, 0x26] - strh r1, [r5, 0x24] - movs r0, 0x14 - strh r0, [r5, 0x2E] - ldr r4, _080B8C30 @ =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x32] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x36] - movs r0, 0x28 - strh r0, [r5, 0x38] - adds r0, r5, 0 - bl sub_8075068 - ldr r0, _080B8C34 @ =sub_80B8C38 - str r0, [r5, 0x1C] -_080B8C28: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B8C30: .4byte gBattleAnimAttacker -_080B8C34: .4byte sub_80B8C38 - thumb_func_end sub_80B8BD4 - - thumb_func_start sub_80B8C38 -sub_80B8C38: @ 80B8C38 - push {r4,lr} - adds r4, r0, 0 - bl AnimateBallThrow - lsls r0, 24 - cmp r0, 0 - beq _080B8C4C - adds r0, r4, 0 - bl DestroyAnimSprite -_080B8C4C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80B8C38 - - thumb_func_start sub_80B8C54 -sub_80B8C54: @ 80B8C54 - push {r4-r6,lr} - adds r6, r0, 0 - movs r1, 0x1 - bl sub_8075114 - ldr r0, _080B8CB4 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080B8C74 - ldr r1, _080B8CB8 @ =gBattleAnimArgs - ldrh r0, [r1, 0x4] - negs r0, r0 - strh r0, [r1, 0x4] -_080B8C74: - ldr r4, _080B8CB8 @ =gBattleAnimArgs - ldrh r0, [r4, 0x8] - strh r0, [r6, 0x2E] - ldr r5, _080B8CBC @ =gBattleAnimTarget - ldrb r0, [r5] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x4] - adds r0, r1 - strh r0, [r6, 0x32] - ldrb r0, [r5] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r4, [r4, 0x6] - adds r0, r4 - strh r0, [r6, 0x36] - ldr r0, _080B8CC0 @ =sub_8075590 - str r0, [r6, 0x1C] - ldr r1, _080B8CC4 @ =DestroyAnimSprite - adds r0, r6, 0 - bl StoreSpriteCallbackInData6 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B8CB4: .4byte gBattleAnimAttacker -_080B8CB8: .4byte gBattleAnimArgs -_080B8CBC: .4byte gBattleAnimTarget -_080B8CC0: .4byte sub_8075590 -_080B8CC4: .4byte DestroyAnimSprite - thumb_func_end sub_80B8C54 - - thumb_func_start sub_80B8CC8 -sub_80B8CC8: @ 80B8CC8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - movs r1, 0x1 - bl sub_8075160 - ldr r4, _080B8D48 @ =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074844 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074844 - lsls r0, 24 - lsrs r7, r0, 24 - bl Random - movs r4, 0x1F - adds r5, r4, 0 - ands r5, r0 - bl Random - ands r4, r0 - adds r1, r5, 0 - cmp r1, 0x10 - ble _080B8D10 - movs r0, 0x10 - subs r0, r1 - lsls r0, 16 - lsrs r5, r0, 16 -_080B8D10: - lsls r0, r4, 16 - asrs r1, r0, 16 - cmp r1, 0x10 - ble _080B8D20 - movs r0, 0x10 - subs r0, r1 - lsls r0, 16 - lsrs r4, r0, 16 -_080B8D20: - ldr r0, _080B8D4C @ =gBattleAnimArgs - ldrh r0, [r0, 0x4] - strh r0, [r6, 0x2E] - mov r1, r8 - adds r0, r1, r5 - strh r0, [r6, 0x32] - adds r0, r7, r4 - strh r0, [r6, 0x36] - ldr r0, _080B8D50 @ =sub_8075590 - str r0, [r6, 0x1C] - ldr r1, _080B8D54 @ =move_anim_8074EE0 - adds r0, r6, 0 - bl StoreSpriteCallbackInData6 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B8D48: .4byte gBattleAnimTarget -_080B8D4C: .4byte gBattleAnimArgs -_080B8D50: .4byte sub_8075590 -_080B8D54: .4byte move_anim_8074EE0 - thumb_func_end sub_80B8CC8 - - thumb_func_start sub_80B8D58 -sub_80B8D58: @ 80B8D58 - push {r4-r6,lr} - adds r5, r0, 0 - ldrh r2, [r5, 0x4] - lsls r1, r2, 22 - lsrs r1, 22 - adds r1, 0x1 - ldr r3, _080B8DB8 @ =0x000003ff - adds r0, r3, 0 - ands r1, r0 - ldr r0, _080B8DBC @ =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r5, 0x4] - ldr r6, _080B8DC0 @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _080B8DCC - ldr r4, _080B8DC4 @ =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r2, [r6, 0x2] - adds r0, r2 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r3, [r6, 0x4] - adds r0, r3 - strh r0, [r5, 0x22] - movs r1, 0x2 - ldrsh r0, [r6, r1] - movs r2, 0x1 - negs r2, r2 - adds r1, r2, 0 - cmp r0, 0 - ble _080B8DB2 - movs r1, 0x1 -_080B8DB2: - strh r1, [r5, 0x2E] - ldr r0, _080B8DC8 @ =sub_80B8DE8 - b _080B8DDA - .align 2, 0 -_080B8DB8: .4byte 0x000003ff -_080B8DBC: .4byte 0xfffffc00 -_080B8DC0: .4byte gBattleAnimArgs -_080B8DC4: .4byte gBattleAnimAttacker -_080B8DC8: .4byte sub_80B8DE8 -_080B8DCC: - ldrh r0, [r6, 0x2] - strh r0, [r5, 0x20] - ldrh r0, [r6, 0x4] - strh r0, [r5, 0x22] - negs r0, r0 - strh r0, [r5, 0x26] - ldr r0, _080B8DE4 @ =sub_80B8E24 -_080B8DDA: - str r0, [r5, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B8DE4: .4byte sub_80B8E24 - thumb_func_end sub_80B8D58 - - thumb_func_start sub_80B8DE8 -sub_80B8DE8: @ 80B8DE8 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x30] - adds r0, 0x1 - strh r0, [r2, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080B8E06 - movs r0, 0 - strh r0, [r2, 0x30] - ldrh r0, [r2, 0x2E] - ldrh r1, [r2, 0x20] - adds r0, r1 - strh r0, [r2, 0x20] -_080B8E06: - ldrh r0, [r2, 0x22] - subs r0, 0x4 - strh r0, [r2, 0x22] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x4 - negs r1, r1 - cmp r0, r1 - bge _080B8E1E - adds r0, r2, 0 - bl DestroyAnimSprite -_080B8E1E: - pop {r0} - bx r0 - thumb_func_end sub_80B8DE8 - - thumb_func_start sub_80B8E24 -sub_80B8E24: @ 80B8E24 - push {lr} - adds r3, r0, 0 - movs r0, 0x2E - ldrsh r1, [r3, r0] - cmp r1, 0 - beq _080B8E36 - cmp r1, 0x1 - beq _080B8E4C - b _080B8E8E -_080B8E36: - ldrh r0, [r3, 0x26] - adds r0, 0x4 - strh r0, [r3, 0x26] - lsls r0, 16 - cmp r0, 0 - blt _080B8E8E - strh r1, [r3, 0x26] - ldrh r0, [r3, 0x2E] - adds r0, 0x1 - strh r0, [r3, 0x2E] - b _080B8E8E -_080B8E4C: - ldrh r0, [r3, 0x30] - adds r0, 0x1 - strh r0, [r3, 0x30] - lsls r0, 16 - cmp r0, 0 - ble _080B8E8E - movs r0, 0 - strh r0, [r3, 0x30] - movs r1, 0x3E - adds r1, r3 - mov r12, r1 - ldrb r2, [r1] - lsls r0, r2, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - mov r1, r12 - strb r0, [r1] - ldrh r0, [r3, 0x32] - adds r0, 0x1 - strh r0, [r3, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA - bne _080B8E8E - adds r0, r3, 0 - bl DestroyAnimSprite -_080B8E8E: - pop {r0} - bx r0 - thumb_func_end sub_80B8E24 - - thumb_func_start sub_80B8E94 -sub_80B8E94: @ 80B8E94 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, _080B8EB4 @ =gTasks - adds r1, r0, r1 - ldr r0, _080B8EB8 @ =gBattleAnimArgs - movs r3, 0 - ldrsh r0, [r0, r3] - cmp r0, 0 - bne _080B8EC0 - ldr r0, _080B8EBC @ =sub_80B8ED4 - b _080B8EC2 - .align 2, 0 -_080B8EB4: .4byte gTasks -_080B8EB8: .4byte gBattleAnimArgs -_080B8EBC: .4byte sub_80B8ED4 -_080B8EC0: - ldr r0, _080B8ED0 @ =sub_80B908C -_080B8EC2: - str r0, [r1] - ldr r1, [r1] - adds r0, r2, 0 - bl _call_via_r1 - pop {r0} - bx r0 - .align 2, 0 -_080B8ED0: .4byte sub_80B908C - thumb_func_end sub_80B8E94 - - thumb_func_start sub_80B8ED4 -sub_80B8ED4: @ 80B8ED4 - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, _080B8EF8 @ =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x4 - bls _080B8EEE - b _080B9082 -_080B8EEE: - lsls r0, 2 - ldr r1, _080B8EFC @ =_080B8F00 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080B8EF8: .4byte gTasks -_080B8EFC: .4byte _080B8F00 - .align 2, 0 -_080B8F00: - .4byte _080B8F14 - .4byte _080B8F9C - .4byte _080B8FAC - .4byte _080B9050 - .4byte _080B9064 -_080B8F14: - movs r0, 0 - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x1C] - ldr r0, _080B8F3C @ =gBattleAnimAttacker - ldrb r0, [r0] - bl sub_80768B0 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x1E] - cmp r0, 0x1 - bne _080B8F48 - ldr r0, _080B8F40 @ =gBattle_BG1_X - ldrh r0, [r0] - strh r0, [r4, 0x20] - ldr r0, _080B8F44 @ =gBattle_BG1_Y - b _080B8F50 - .align 2, 0 -_080B8F3C: .4byte gBattleAnimAttacker -_080B8F40: .4byte gBattle_BG1_X -_080B8F44: .4byte gBattle_BG1_Y -_080B8F48: - ldr r0, _080B8F8C @ =gBattle_BG2_X - ldrh r0, [r0] - strh r0, [r4, 0x20] - ldr r0, _080B8F90 @ =gBattle_BG2_Y -_080B8F50: - ldrh r0, [r0] - strh r0, [r4, 0x22] - ldr r0, _080B8F94 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl sub_807492C - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - subs r1, 0x20 - strh r1, [r4, 0x24] - adds r0, 0x20 - strh r0, [r4, 0x26] - cmp r1, 0 - bge _080B8F72 - movs r0, 0 - strh r0, [r4, 0x24] -_080B8F72: - ldr r2, _080B8F98 @ =gSprites - movs r3, 0x1C - ldrsh r1, [r4, r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - b _080B9056 - .align 2, 0 -_080B8F8C: .4byte gBattle_BG2_X -_080B8F90: .4byte gBattle_BG2_Y -_080B8F94: .4byte gBattleAnimAttacker -_080B8F98: .4byte gSprites -_080B8F9C: - ldrb r0, [r4, 0x1E] - movs r2, 0x24 - ldrsh r1, [r4, r2] - movs r3, 0x26 - ldrsh r2, [r4, r3] - bl sub_80B92B8 - b _080B9056 -_080B8FAC: - ldrh r0, [r4, 0xC] - adds r0, 0x6 - movs r1, 0x7F - ands r0, r1 - strh r0, [r4, 0xC] - ldrh r0, [r4, 0x10] - adds r0, 0x1 - strh r0, [r4, 0x10] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _080B8FCE - movs r0, 0 - strh r0, [r4, 0x10] - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] -_080B8FCE: - ldr r1, _080B8FF0 @ =gSineTable - movs r2, 0xC - ldrsh r0, [r4, r2] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - lsls r0, 16 - asrs r0, 20 - ldrh r3, [r4, 0xE] - adds r2, r0, r3 - strh r2, [r4, 0x12] - movs r1, 0x1E - ldrsh r0, [r4, r1] - cmp r0, 0x1 - bne _080B8FF8 - ldr r1, _080B8FF4 @ =gBattle_BG1_Y - b _080B8FFA - .align 2, 0 -_080B8FF0: .4byte gSineTable -_080B8FF4: .4byte gBattle_BG1_Y -_080B8FF8: - ldr r1, _080B901C @ =gBattle_BG2_Y -_080B8FFA: - ldrh r0, [r4, 0x22] - subs r0, r2 - strh r0, [r1] - movs r2, 0x12 - ldrsh r0, [r4, r2] - cmp r0, 0x3F - ble _080B9082 - ldrh r0, [r4, 0x24] - movs r1, 0x78 - subs r2, r1, r0 - strh r2, [r4, 0x12] - movs r3, 0x1E - ldrsh r0, [r4, r3] - cmp r0, 0x1 - bne _080B9024 - ldr r1, _080B9020 @ =gBattle_BG1_Y - b _080B9026 - .align 2, 0 -_080B901C: .4byte gBattle_BG2_Y -_080B9020: .4byte gBattle_BG1_Y -_080B9024: - ldr r1, _080B9048 @ =gBattle_BG2_Y -_080B9026: - ldrh r0, [r4, 0x22] - subs r0, r2 - strh r0, [r1] - ldr r2, _080B904C @ =gSprites - movs r1, 0x1C - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrh r2, [r1, 0x20] - movs r3, 0x88 - lsls r3, 1 - adds r0, r3, 0 - subs r0, r2 - strh r0, [r1, 0x24] - b _080B9056 - .align 2, 0 -_080B9048: .4byte gBattle_BG2_Y -_080B904C: .4byte gSprites -_080B9050: - ldr r1, _080B9060 @ =gScanlineEffect - movs r0, 0x3 - strb r0, [r1, 0x15] -_080B9056: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080B9082 - .align 2, 0 -_080B9060: .4byte gScanlineEffect -_080B9064: - adds r0, r2, 0 - bl DestroyAnimVisualTask - ldr r2, _080B9088 @ =gSprites - movs r0, 0x1C - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_080B9082: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B9088: .4byte gSprites - thumb_func_end sub_80B8ED4 - - thumb_func_start sub_80B908C -sub_80B908C: @ 80B908C - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r0, 0 - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080B90CC @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - adds r3, r1, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r3] - movs r4, 0 - strh r4, [r1, 0x24] - strh r4, [r1, 0x26] - ldr r0, _080B90D0 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl sub_80768B0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B90D8 - ldr r0, _080B90D4 @ =gBattle_BG1_Y - b _080B90DA - .align 2, 0 -_080B90CC: .4byte gSprites -_080B90D0: .4byte gBattleAnimAttacker -_080B90D4: .4byte gBattle_BG1_Y -_080B90D8: - ldr r0, _080B90E8 @ =gBattle_BG2_Y -_080B90DA: - strh r4, [r0] - adds r0, r5, 0 - bl DestroyAnimVisualTask - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B90E8: .4byte gBattle_BG2_Y - thumb_func_end sub_80B908C - - thumb_func_start sub_80B90EC -sub_80B90EC: @ 80B90EC - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, _080B910C @ =gTasks - adds r1, r0, r1 - ldr r0, _080B9110 @ =gBattleAnimArgs - movs r3, 0 - ldrsh r0, [r0, r3] - cmp r0, 0 - bne _080B9118 - ldr r0, _080B9114 @ =sub_80B912C - b _080B911A - .align 2, 0 -_080B910C: .4byte gTasks -_080B9110: .4byte gBattleAnimArgs -_080B9114: .4byte sub_80B912C -_080B9118: - ldr r0, _080B9128 @ =sub_80B91B0 -_080B911A: - str r0, [r1] - ldr r1, [r1] - adds r0, r2, 0 - bl _call_via_r1 - pop {r0} - bx r0 - .align 2, 0 -_080B9128: .4byte sub_80B91B0 - thumb_func_end sub_80B90EC - - thumb_func_start sub_80B912C -sub_80B912C: @ 80B912C - push {r4,r5,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, _080B914C @ =gTasks - adds r4, r0, r1 - movs r0, 0x8 - ldrsh r5, [r4, r0] - cmp r5, 0 - beq _080B9150 - cmp r5, 0x1 - beq _080B91A4 - b _080B91AA - .align 2, 0 -_080B914C: .4byte gTasks -_080B9150: - movs r0, 0 - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x1C] - ldr r3, _080B91A0 @ =gSprites - movs r0, 0x1C - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - movs r0, 0x1C - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r5, [r0, 0x24] - movs r1, 0x1C - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrh r2, [r1, 0x22] - movs r0, 0xA0 - subs r0, r2 - strh r0, [r1, 0x26] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080B91AA - .align 2, 0 -_080B91A0: .4byte gSprites -_080B91A4: - adds r0, r2, 0 - bl DestroyAnimVisualTask -_080B91AA: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80B912C - - thumb_func_start sub_80B91B0 -sub_80B91B0: @ 80B91B0 - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, _080B91D4 @ =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x4 - bhi _080B92B2 - lsls r0, 2 - ldr r1, _080B91D8 @ =_080B91DC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080B91D4: .4byte gTasks -_080B91D8: .4byte _080B91DC - .align 2, 0 -_080B91DC: - .4byte _080B91F0 - .4byte _080B9244 - .4byte _080B9252 - .4byte _080B926C - .4byte _080B92AC -_080B91F0: - movs r0, 0 - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x1C] - ldr r0, _080B9214 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl sub_80768B0 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x1E] - cmp r0, 0x1 - bne _080B921C - ldr r0, _080B9218 @ =gBattle_BG1_X - b _080B921E - .align 2, 0 -_080B9214: .4byte gBattleAnimAttacker -_080B9218: .4byte gBattle_BG1_X -_080B921C: - ldr r0, _080B923C @ =gBattle_BG2_X -_080B921E: - ldrh r0, [r0] - strh r0, [r4, 0x20] - ldr r0, _080B9240 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl sub_807492C - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - subs r1, 0x20 - strh r1, [r4, 0x24] - adds r0, 0x20 - strh r0, [r4, 0x26] - b _080B929A - .align 2, 0 -_080B923C: .4byte gBattle_BG2_X -_080B9240: .4byte gBattleAnimAttacker -_080B9244: - ldrb r0, [r4, 0x1E] - movs r1, 0x26 - ldrsh r2, [r4, r1] - movs r1, 0 - bl sub_80B92B8 - b _080B929A -_080B9252: - ldr r2, _080B9268 @ =gSprites - movs r0, 0x1C - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x60 - strh r1, [r0, 0x26] - b _080B929A - .align 2, 0 -_080B9268: .4byte gSprites -_080B926C: - ldr r2, _080B92A4 @ =gSprites - movs r0, 0x1C - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x26] - subs r1, 0x8 - strh r1, [r0, 0x26] - movs r0, 0x1C - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x26 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080B92B2 - ldr r1, _080B92A8 @ =gScanlineEffect - movs r0, 0x3 - strb r0, [r1, 0x15] -_080B929A: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080B92B2 - .align 2, 0 -_080B92A4: .4byte gSprites -_080B92A8: .4byte gScanlineEffect -_080B92AC: - adds r0, r2, 0 - bl DestroyAnimVisualTask -_080B92B2: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80B91B0 - - thumb_func_start sub_80B92B8 -sub_80B92B8: @ 80B92B8 - push {r4-r6,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsrs r4, r2, 16 - cmp r0, 0x1 - bne _080B92DC - ldr r0, _080B92D4 @ =gBattle_BG1_X - ldrh r3, [r0] - ldr r0, _080B92D8 @ =0x04000014 - b _080B92E2 - .align 2, 0 -_080B92D4: .4byte gBattle_BG1_X -_080B92D8: .4byte 0x04000014 -_080B92DC: - ldr r0, _080B9368 @ =gBattle_BG2_X - ldrh r3, [r0] - ldr r0, _080B936C @ =0x04000018 -_080B92E2: - str r0, [sp] - lsls r0, r1, 16 - cmp r0, 0 - bge _080B92EC - movs r1, 0 -_080B92EC: - lsls r2, r1, 16 - lsls r0, r4, 16 - asrs r4, r0, 16 - cmp r2, r0 - bge _080B9318 - ldr r5, _080B9370 @ =gScanlineEffectRegBuffers - movs r0, 0xF0 - lsls r0, 3 - adds r6, r5, r0 -_080B92FE: - asrs r2, 16 - lsls r1, r2, 1 - adds r0, r1, r5 - strh r3, [r0] - adds r1, r6 - strh r3, [r1] - adds r2, 0x1 - lsls r2, 16 - lsrs r1, r2, 16 - lsls r2, r1, 16 - asrs r0, r2, 16 - cmp r0, r4 - blt _080B92FE -_080B9318: - lsls r1, 16 - asrs r0, r1, 16 - cmp r0, 0x9F - bgt _080B9346 - ldr r4, _080B9370 @ =gScanlineEffectRegBuffers - lsls r0, r3, 16 - asrs r0, 16 - adds r3, r0, 0 - adds r3, 0xF0 - movs r0, 0xF0 - lsls r0, 3 - adds r5, r4, r0 -_080B9330: - asrs r2, r1, 16 - lsls r1, r2, 1 - adds r0, r1, r4 - strh r3, [r0] - adds r1, r5 - strh r3, [r1] - adds r2, 0x1 - lsls r1, r2, 16 - asrs r0, r1, 16 - cmp r0, 0x9F - ble _080B9330 -_080B9346: - ldr r0, _080B9374 @ =0xa2600001 - str r0, [sp, 0x4] - mov r1, sp - movs r2, 0 - movs r0, 0x1 - strb r0, [r1, 0x8] - mov r0, sp - strb r2, [r0, 0x9] - ldr r0, [sp] - ldr r1, [sp, 0x4] - ldr r2, [sp, 0x8] - bl ScanlineEffect_SetParams - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B9368: .4byte gBattle_BG2_X -_080B936C: .4byte 0x04000018 -_080B9370: .4byte gScanlineEffectRegBuffers -_080B9374: .4byte 0xa2600001 - thumb_func_end sub_80B92B8 - - thumb_func_start sub_80B9378 -sub_80B9378: @ 80B9378 - push {r4-r7,lr} - adds r5, r0, 0 - ldr r0, _080B938C @ =gBattleAnimArgs - movs r2, 0 - ldrsh r1, [r0, r2] - adds r7, r0, 0 - cmp r1, 0 - bne _080B9394 - ldr r0, _080B9390 @ =gBattleAnimAttacker - b _080B9396 - .align 2, 0 -_080B938C: .4byte gBattleAnimArgs -_080B9390: .4byte gBattleAnimAttacker -_080B9394: - ldr r0, _080B93F8 @ =gBattleAnimTarget -_080B9396: - ldrb r4, [r0] - movs r6, 0x18 - adds r1, r7, 0 - movs r2, 0x2 - ldrsh r0, [r1, r2] - cmp r0, 0x1 - bne _080B93B2 - negs r0, r6 - lsls r0, 16 - lsrs r6, r0, 16 - movs r2, 0x4 - ldrsh r0, [r1, r2] - negs r0, r0 - strh r0, [r1, 0x4] -_080B93B2: - adds r0, r4, 0 - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - adds r0, r6 - strh r0, [r5, 0x20] - adds r0, r4, 0 - bl sub_807492C - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x1E - strh r0, [r5, 0x22] - ldrh r1, [r7, 0xA] - strh r1, [r5, 0x2E] - ldrh r1, [r7, 0x4] - ldrh r2, [r5, 0x20] - adds r1, r2 - strh r1, [r5, 0x32] - ldrh r1, [r7, 0x6] - adds r0, r1 - strh r0, [r5, 0x36] - ldrh r0, [r7, 0x8] - strh r0, [r5, 0x38] - adds r0, r5, 0 - bl sub_8075068 - ldr r0, _080B93FC @ =sub_80B9400 - str r0, [r5, 0x1C] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B93F8: .4byte gBattleAnimTarget -_080B93FC: .4byte sub_80B9400 - thumb_func_end sub_80B9378 - - thumb_func_start sub_80B9400 -sub_80B9400: @ 80B9400 - push {r4,lr} - adds r4, r0, 0 - bl AnimateBallThrow - lsls r0, 24 - cmp r0, 0 - beq _080B9414 - adds r0, r4, 0 - bl DestroyAnimSprite -_080B9414: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80B9400 - - thumb_func_start sub_80B941C -sub_80B941C: @ 80B941C - push {r4-r6,lr} - adds r6, r0, 0 - ldr r0, _080B9430 @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080B9438 - ldr r0, _080B9434 @ =gBattleAnimAttacker - b _080B943A - .align 2, 0 -_080B9430: .4byte gBattleAnimArgs -_080B9434: .4byte gBattleAnimAttacker -_080B9438: - ldr r0, _080B9498 @ =gBattleAnimTarget -_080B943A: - ldrb r5, [r0] - adds r0, r5, 0 - movs r1, 0 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080B949C @ =0x0000fff0 - adds r0, r2 - ldr r4, _080B94A0 @ =gBattleAnimArgs - movs r3, 0x2 - ldrsh r1, [r4, r3] - lsls r1, 5 - adds r0, r1 - strh r0, [r6, 0x20] - adds r0, r5, 0 - bl sub_807492C - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x20 - strh r0, [r6, 0x22] - ldrh r2, [r6, 0x4] - lsls r1, r2, 22 - lsrs r1, 22 - movs r3, 0x2 - ldrsh r0, [r4, r3] - lsls r0, 3 - adds r1, r0 - ldr r3, _080B94A4 @ =0x000003ff - adds r0, r3, 0 - ands r1, r0 - ldr r0, _080B94A8 @ =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r6, 0x4] - ldr r1, _080B94AC @ =DestroyAnimSprite - adds r0, r6, 0 - bl StoreSpriteCallbackInData6 - ldrh r0, [r4, 0x4] - strh r0, [r6, 0x2E] - ldr r0, _080B94B0 @ =sub_8074C44 - str r0, [r6, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B9498: .4byte gBattleAnimTarget -_080B949C: .4byte 0x0000fff0 -_080B94A0: .4byte gBattleAnimArgs -_080B94A4: .4byte 0x000003ff -_080B94A8: .4byte 0xfffffc00 -_080B94AC: .4byte DestroyAnimSprite -_080B94B0: .4byte sub_8074C44 - thumb_func_end sub_80B941C - - thumb_func_start sub_80B94B4 -sub_80B94B4: @ 80B94B4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _080B94D8 @ =gTasks - adds r4, r0, r1 - ldr r0, _080B94DC @ =gBattleAnimArgs - ldrh r2, [r0, 0x2] - movs r3, 0x2 - ldrsh r1, [r0, r3] - adds r6, r0, 0 - cmp r1, 0 - beq _080B94E0 - adds r0, r2, 0x3 - b _080B94EC - .align 2, 0 -_080B94D8: .4byte gTasks -_080B94DC: .4byte gBattleAnimArgs -_080B94E0: - ldr r0, _080B950C @ =gUnknown_2037EEC - ldrh r0, [r0] - movs r1, 0xA - bl __udivsi3 - adds r0, 0x3 -_080B94EC: - strh r0, [r4, 0x26] - strh r0, [r4, 0x24] - adds r1, r6, 0 - ldrh r0, [r1, 0x4] - strh r0, [r4, 0xE] - movs r2, 0 - ldrsh r0, [r1, r2] - cmp r0, 0x4 - beq _080B9518 - cmp r0, 0x5 - bne _080B9558 - ldr r0, _080B9510 @ =gBattle_BG3_X - ldrh r0, [r0] - strh r0, [r4, 0x22] - ldr r0, _080B9514 @ =sub_80B9584 - b _080B9576 - .align 2, 0 -_080B950C: .4byte gUnknown_2037EEC -_080B9510: .4byte gBattle_BG3_X -_080B9514: .4byte sub_80B9584 -_080B9518: - movs r0, 0 - strh r0, [r4, 0x22] - movs r5, 0 -_080B951E: - lsls r0, r5, 24 - lsrs r0, 24 - bl sub_8072DF0 - lsls r0, 24 - cmp r0, 0 - beq _080B9548 - movs r3, 0x22 - ldrsh r0, [r4, r3] - adds r0, 0x9 - lsls r0, 1 - adds r1, r4, 0 - adds r1, 0x8 - adds r1, r0 - ldr r0, _080B9554 @ =gUnknown_2023D44 - adds r0, r5, r0 - ldrb r0, [r0] - strh r0, [r1] - ldrh r0, [r4, 0x22] - adds r0, 0x1 - strh r0, [r4, 0x22] -_080B9548: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x3 - bls _080B951E - b _080B9574 - .align 2, 0 -_080B9554: .4byte gUnknown_2023D44 -_080B9558: - ldrb r0, [r6] - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x1A] - cmp r0, 0xFF - bne _080B9570 - adds r0, r5, 0 - bl DestroyAnimVisualTask - b _080B9578 -_080B9570: - movs r0, 0x1 - strh r0, [r4, 0x22] -_080B9574: - ldr r0, _080B9580 @ =sub_80B967C -_080B9576: - str r0, [r4] -_080B9578: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B9580: .4byte sub_80B967C - thumb_func_end sub_80B94B4 - - thumb_func_start sub_80B9584 -sub_80B9584: @ 80B9584 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, _080B95A8 @ =gTasks - adds r3, r0, r1 - movs r0, 0x8 - ldrsh r1, [r3, r0] - cmp r1, 0x1 - beq _080B9608 - cmp r1, 0x1 - bgt _080B95AC - cmp r1, 0 - beq _080B95B2 - b _080B9674 - .align 2, 0 -_080B95A8: .4byte gTasks -_080B95AC: - cmp r1, 0x2 - beq _080B9668 - b _080B9674 -_080B95B2: - ldrh r0, [r3, 0xA] - adds r0, 0x1 - strh r0, [r3, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080B9674 - strh r1, [r3, 0xA] - ldrh r1, [r3, 0xC] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080B95DC - ldr r1, _080B95D8 @ =gBattle_BG3_X - ldrh r0, [r3, 0x26] - ldrh r2, [r3, 0x22] - adds r0, r2 - strh r0, [r1] - b _080B95E6 - .align 2, 0 -_080B95D8: .4byte gBattle_BG3_X -_080B95DC: - ldr r0, _080B9604 @ =gBattle_BG3_X - ldrh r1, [r3, 0x22] - ldrh r2, [r3, 0x26] - subs r1, r2 - strh r1, [r0] -_080B95E6: - ldrh r0, [r3, 0xC] - adds r0, 0x1 - strh r0, [r3, 0xC] - lsls r0, 16 - asrs r0, 16 - movs r2, 0xE - ldrsh r1, [r3, r2] - cmp r0, r1 - bne _080B9674 - movs r0, 0 - strh r0, [r3, 0xC] - ldrh r0, [r3, 0x24] - subs r0, 0x1 - strh r0, [r3, 0x24] - b _080B965C - .align 2, 0 -_080B9604: .4byte gBattle_BG3_X -_080B9608: - ldrh r0, [r3, 0xA] - adds r0, 0x1 - strh r0, [r3, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080B9674 - movs r0, 0 - strh r0, [r3, 0xA] - ldrh r0, [r3, 0xC] - ands r1, r0 - cmp r1, 0 - bne _080B9634 - ldr r1, _080B9630 @ =gBattle_BG3_X - ldrh r0, [r3, 0x24] - ldrh r2, [r3, 0x22] - adds r0, r2 - strh r0, [r1] - b _080B963E - .align 2, 0 -_080B9630: .4byte gBattle_BG3_X -_080B9634: - ldr r0, _080B9664 @ =gBattle_BG3_X - ldrh r1, [r3, 0x22] - ldrh r2, [r3, 0x24] - subs r1, r2 - strh r1, [r0] -_080B963E: - ldrh r0, [r3, 0xC] - adds r0, 0x1 - strh r0, [r3, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - bne _080B9674 - movs r0, 0 - strh r0, [r3, 0xC] - ldrh r0, [r3, 0x24] - subs r0, 0x1 - strh r0, [r3, 0x24] - lsls r0, 16 - cmp r0, 0 - bne _080B9674 -_080B965C: - ldrh r0, [r3, 0x8] - adds r0, 0x1 - strh r0, [r3, 0x8] - b _080B9674 - .align 2, 0 -_080B9664: .4byte gBattle_BG3_X -_080B9668: - ldr r1, _080B9678 @ =gBattle_BG3_X - ldrh r0, [r3, 0x22] - strh r0, [r1] - adds r0, r2, 0 - bl DestroyAnimVisualTask -_080B9674: - pop {r0} - bx r0 - .align 2, 0 -_080B9678: .4byte gBattle_BG3_X - thumb_func_end sub_80B9584 - - thumb_func_start sub_80B967C -sub_80B967C: @ 80B967C - push {r4-r7,lr} - lsls r0, 24 - lsrs r3, r0, 24 - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 3 - ldr r1, _080B96A0 @ =gTasks - adds r4, r0, r1 - movs r0, 0x8 - ldrsh r5, [r4, r0] - cmp r5, 0x1 - beq _080B96DC - cmp r5, 0x1 - bgt _080B96A4 - cmp r5, 0 - beq _080B96AA - b _080B9756 - .align 2, 0 -_080B96A0: .4byte gTasks -_080B96A4: - cmp r5, 0x2 - beq _080B9718 - b _080B9756 -_080B96AA: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080B9756 - strh r5, [r4, 0xA] - adds r0, r4, 0 - bl sub_80B9760 - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - movs r2, 0xE - ldrsh r1, [r4, r2] - cmp r0, r1 - bne _080B9756 - strh r5, [r4, 0xC] - ldrh r0, [r4, 0x24] - subs r0, 0x1 - strh r0, [r4, 0x24] - b _080B9710 -_080B96DC: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - movs r5, 0 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080B9756 - strh r5, [r4, 0xA] - adds r0, r4, 0 - bl sub_80B9760 - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - bne _080B9756 - strh r5, [r4, 0xC] - ldrh r0, [r4, 0x24] - subs r0, 0x1 - strh r0, [r4, 0x24] - lsls r0, 16 - cmp r0, 0 - bne _080B9756 -_080B9710: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080B9756 -_080B9718: - movs r2, 0 - movs r7, 0x22 - ldrsh r0, [r4, r7] - cmp r2, r0 - bge _080B9750 - ldr r0, _080B975C @ =gSprites - mov r12, r0 - adds r5, r4, 0 - adds r5, 0x8 - movs r6, 0 -_080B972C: - adds r0, r2, 0 - adds r0, 0x9 - lsls r0, 1 - adds r0, r5, r0 - movs r7, 0 - ldrsh r1, [r0, r7] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r12 - strh r6, [r0, 0x24] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - movs r1, 0x22 - ldrsh r0, [r4, r1] - cmp r2, r0 - blt _080B972C -_080B9750: - adds r0, r3, 0 - bl DestroyAnimVisualTask -_080B9756: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B975C: .4byte gSprites - thumb_func_end sub_80B967C - - thumb_func_start sub_80B9760 -sub_80B9760: @ 80B9760 - push {r4-r7,lr} - adds r3, r0, 0 - ldrh r1, [r3, 0xC] - movs r4, 0x1 - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - bne _080B9788 - movs r0, 0x24 - ldrsh r1, [r3, r0] - lsrs r0, r1, 31 - adds r1, r0 - asrs r1, 1 - ldrh r2, [r3, 0x24] - adds r0, r4, 0 - ands r0, r2 - adds r1, r0 - lsls r1, 16 - lsrs r4, r1, 16 - b _080B9798 -_080B9788: - movs r1, 0x24 - ldrsh r0, [r3, r1] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - negs r0, r0 - lsls r0, 16 - lsrs r4, r0, 16 -_080B9798: - movs r2, 0 - movs r7, 0x22 - ldrsh r0, [r3, r7] - cmp r2, r0 - bge _080B97CC - ldr r6, _080B97D4 @ =gSprites - adds r5, r3, 0 - adds r5, 0x8 -_080B97A8: - adds r0, r2, 0 - adds r0, 0x9 - lsls r0, 1 - adds r0, r5, r0 - movs r7, 0 - ldrsh r1, [r0, r7] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - strh r4, [r0, 0x24] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - movs r1, 0x22 - ldrsh r0, [r3, r1] - cmp r2, r0 - blt _080B97A8 -_080B97CC: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B97D4: .4byte gSprites - thumb_func_end sub_80B9760 - - thumb_func_start sub_80B97D8 -sub_80B97D8: @ 80B97D8 - push {lr} - lsls r0, 24 - lsrs r1, r0, 24 - ldr r3, _080B97F8 @ =gBattleAnimArgs - movs r2, 0 - ldr r0, _080B97FC @ =gUnknown_2037EEC - ldrh r0, [r0] - cmp r0, 0x63 - bls _080B97EC - movs r2, 0x1 -_080B97EC: - strh r2, [r3, 0x1E] - adds r0, r1, 0 - bl DestroyAnimVisualTask - pop {r0} - bx r0 - .align 2, 0 -_080B97F8: .4byte gBattleAnimArgs -_080B97FC: .4byte gUnknown_2037EEC - thumb_func_end sub_80B97D8 - - thumb_func_start sub_80B9800 -sub_80B9800: @ 80B9800 - push {r4-r7,lr} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r2, _080B9818 @ =gBattleAnimArgs - ldrh r1, [r2] - movs r0, 0x1 - ands r0, r1 - adds r6, r2, 0 - cmp r0, 0 - beq _080B9820 - ldr r0, _080B981C @ =gBattleAnimTarget - b _080B9822 - .align 2, 0 -_080B9818: .4byte gBattleAnimArgs -_080B981C: .4byte gBattleAnimTarget -_080B9820: - ldr r0, _080B9890 @ =gBattleAnimAttacker -_080B9822: - ldrb r0, [r0] - adds r5, r0, 0 - movs r1, 0 - ldrsh r0, [r6, r1] - cmp r0, 0x1 - ble _080B9832 - movs r0, 0x2 - eors r5, r0 -_080B9832: - ldr r0, _080B9894 @ =sub_80B98A8 - ldrb r1, [r6, 0x2] - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, _080B9898 @ =gTasks - adds r4, r0 - adds r0, r5, 0 - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x20 - subs r1, r0 - ldr r2, _080B989C @ =0x000001ff - adds r0, r2, 0 - ands r1, r0 - strh r1, [r4, 0xA] - adds r0, r5, 0 - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x40 - subs r1, r0 - movs r0, 0xFF - ands r1, r0 - strh r1, [r4, 0xC] - ldr r2, _080B98A0 @ =gBattle_BG3_X - ldrh r0, [r4, 0xA] - strh r0, [r2] - ldr r0, _080B98A4 @ =gBattle_BG3_Y - strh r1, [r0] - ldrh r0, [r6, 0x4] - strh r0, [r4, 0xE] - adds r0, r7, 0 - bl DestroyAnimVisualTask - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B9890: .4byte gBattleAnimAttacker -_080B9894: .4byte sub_80B98A8 -_080B9898: .4byte gTasks -_080B989C: .4byte 0x000001ff -_080B98A0: .4byte gBattle_BG3_X -_080B98A4: .4byte gBattle_BG3_Y - thumb_func_end sub_80B9800 - - thumb_func_start sub_80B98A8 -sub_80B98A8: @ 80B98A8 - push {r4,lr} - lsls r0, 24 - lsrs r3, r0, 24 - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 3 - ldr r1, _080B98D8 @ =gTasks - adds r2, r0, r1 - ldr r0, _080B98DC @ =gBattleAnimArgs - movs r4, 0xE - ldrsh r1, [r0, r4] - movs r4, 0xE - ldrsh r0, [r2, r4] - cmp r1, r0 - bne _080B98E8 - ldr r0, _080B98E0 @ =gBattle_BG3_X - movs r1, 0 - strh r1, [r0] - ldr r0, _080B98E4 @ =gBattle_BG3_Y - strh r1, [r0] - adds r0, r3, 0 - bl DestroyTask - b _080B98F4 - .align 2, 0 -_080B98D8: .4byte gTasks -_080B98DC: .4byte gBattleAnimArgs -_080B98E0: .4byte gBattle_BG3_X -_080B98E4: .4byte gBattle_BG3_Y -_080B98E8: - ldr r1, _080B98FC @ =gBattle_BG3_X - ldrh r0, [r2, 0xA] - strh r0, [r1] - ldr r1, _080B9900 @ =gBattle_BG3_Y - ldrh r0, [r2, 0xC] - strh r0, [r1] -_080B98F4: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B98FC: .4byte gBattle_BG3_X -_080B9900: .4byte gBattle_BG3_Y - thumb_func_end sub_80B98A8 - - thumb_func_start sub_80B9904 -sub_80B9904: @ 80B9904 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, _080B993C @ =gBattleAnimArgs - ldrh r0, [r5] - ldrh r1, [r4, 0x20] - adds r0, r1 - strh r0, [r4, 0x20] - ldrh r0, [r5, 0x2] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - ldrh r0, [r5, 0x4] - strh r0, [r4, 0x2E] - ldr r0, _080B9940 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _080B9944 - ldrh r0, [r5, 0x6] - negs r0, r0 - strh r0, [r4, 0x30] - movs r0, 0x1 - strh r0, [r4, 0x36] - b _080B9952 - .align 2, 0 -_080B993C: .4byte gBattleAnimArgs -_080B9940: .4byte gBattleAnimAttacker -_080B9944: - ldrh r0, [r5, 0x6] - strh r0, [r4, 0x30] - strh r1, [r4, 0x36] - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAnim -_080B9952: - ldr r0, _080B9968 @ =gBattleAnimArgs - ldrh r0, [r0, 0x8] - strh r0, [r4, 0x34] - ldr r1, _080B996C @ =sub_80B9970 - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B9968: .4byte gBattleAnimArgs -_080B996C: .4byte sub_80B9970 - thumb_func_end sub_80B9904 - - thumb_func_start sub_80B9970 -sub_80B9970: @ 80B9970 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - movs r1, 0x1E - bl Cos - strh r0, [r4, 0x24] - movs r2, 0x2E - ldrsh r0, [r4, r2] - movs r1, 0xA - bl Sin - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x2E] - cmp r0, 0x7F - bhi _080B99A2 - ldrb r0, [r4, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r0 - movs r0, 0x4 - orrs r1, r0 - strb r1, [r4, 0x5] - b _080B99AA -_080B99A2: - ldrb r0, [r4, 0x5] - movs r1, 0xC - orrs r0, r1 - strb r0, [r4, 0x5] -_080B99AA: - ldrh r0, [r4, 0x30] - ldrh r1, [r4, 0x2E] - adds r0, r1 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - movs r2, 0x34 - ldrsh r1, [r4, r2] - cmp r0, r1 - bne _080B99CE - adds r0, r4, 0 - bl DestroyAnimSprite -_080B99CE: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80B9970 - - thumb_func_start sub_80B99D4 -sub_80B99D4: @ 80B99D4 - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - ldr r4, _080B9A0C @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r4, r1] - bl sub_80B9A14 - movs r1, 0x2 - ldrsb r1, [r4, r1] - ldrb r2, [r4, 0x4] - ldrb r3, [r4, 0x6] - ldrh r4, [r4, 0x8] - str r4, [sp] - bl BeginNormalPaletteFade - adds r2, r5, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, _080B9A10 @ =sub_80B9A5C - str r0, [r5, 0x1C] - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B9A0C: .4byte gBattleAnimArgs -_080B9A10: .4byte sub_80B9A5C - thumb_func_end sub_80B99D4 - - thumb_func_start sub_80B9A14 -sub_80B9A14: @ 80B9A14 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0xC - lsls r0, 16 - lsrs r0, 16 - movs r4, 0x1 - mov r8, r0 - mov r1, r8 - ands r1, r4 - mov r8, r1 - lsls r0, 16 - asrs r1, r0, 17 - ands r1, r4 - asrs r2, r0, 18 - ands r2, r4 - asrs r3, r0, 19 - ands r3, r4 - asrs r6, r0, 20 - ands r6, r4 - asrs r5, r0, 21 - ands r5, r4 - asrs r0, 22 - ands r0, r4 - str r6, [sp] - str r5, [sp, 0x4] - str r0, [sp, 0x8] - mov r0, r8 - bl sub_8075BE8 - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80B9A14 - - thumb_func_start sub_80B9A5C -sub_80B9A5C: @ 80B9A5C - push {lr} - adds r2, r0, 0 - ldr r0, _080B9A78 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080B9A72 - adds r0, r2, 0 - bl DestroyAnimSprite -_080B9A72: - pop {r0} - bx r0 - .align 2, 0 -_080B9A78: .4byte gPaletteFade - thumb_func_end sub_80B9A5C - - thumb_func_start sub_80B9A7C -sub_80B9A7C: @ 80B9A7C - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, _080B9AC8 @ =gBattleAnimArgs - ldrh r0, [r4, 0x2] - strh r0, [r5, 0x2E] - strh r0, [r5, 0x30] - ldrh r0, [r4, 0x4] - strh r0, [r5, 0x32] - ldrh r0, [r4, 0x6] - strh r0, [r5, 0x34] - ldrh r0, [r4, 0x8] - strh r0, [r5, 0x36] - ldrh r0, [r4, 0xA] - strh r0, [r5, 0x38] - ldrh r0, [r4, 0xC] - strh r0, [r5, 0x3A] - ldrh r0, [r4] - strh r0, [r5, 0x3C] - movs r1, 0x3C - ldrsh r0, [r5, r1] - bl sub_80B9A14 - ldrb r1, [r4, 0x8] - ldrh r2, [r4, 0x6] - bl BlendPalettes - adds r2, r5, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, _080B9ACC @ =sub_80B9AD0 - str r0, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B9AC8: .4byte gBattleAnimArgs -_080B9ACC: .4byte sub_80B9AD0 - thumb_func_end sub_80B9A7C - - thumb_func_start sub_80B9AD0 -sub_80B9AD0: @ 80B9AD0 - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x2E] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0 - ble _080B9AE4 - subs r0, r1, 0x1 - strh r0, [r4, 0x2E] - b _080B9B54 -_080B9AE4: - ldr r0, _080B9B00 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080B9B54 - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080B9B08 - ldr r0, _080B9B04 @ =sub_80B9B5C - str r0, [r4, 0x1C] - b _080B9B54 - .align 2, 0 -_080B9B00: .4byte gPaletteFade -_080B9B04: .4byte sub_80B9B5C -_080B9B08: - movs r2, 0x3C - ldrsh r0, [r4, r2] - bl sub_80B9A14 - adds r3, r0, 0 - ldrh r1, [r4, 0x30] - movs r0, 0x80 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - beq _080B9B2E - ldrh r1, [r4, 0x36] - lsls r1, 24 - lsrs r1, 24 - ldrh r2, [r4, 0x34] - adds r0, r3, 0 - bl BlendPalettes - b _080B9B3C -_080B9B2E: - ldrh r1, [r4, 0x3A] - lsls r1, 24 - lsrs r1, 24 - ldrh r2, [r4, 0x38] - adds r0, r3, 0 - bl BlendPalettes -_080B9B3C: - ldrh r0, [r4, 0x30] - movs r2, 0x80 - lsls r2, 1 - adds r1, r2, 0 - eors r0, r1 - strh r0, [r4, 0x30] - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x32] - subs r0, 0x1 - strh r0, [r4, 0x32] -_080B9B54: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80B9AD0 - - thumb_func_start sub_80B9B5C -sub_80B9B5C: @ 80B9B5C - push {r4,lr} - adds r4, r0, 0 - ldr r0, _080B9B88 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080B9B82 - movs r1, 0x3C - ldrsh r0, [r4, r1] - bl sub_80B9A14 - movs r1, 0 - movs r2, 0 - bl BlendPalettes - adds r0, r4, 0 - bl DestroyAnimSprite -_080B9B82: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B9B88: .4byte gPaletteFade - thumb_func_end sub_80B9B5C - - thumb_func_start sub_80B9B8C -sub_80B9B8C: @ 80B9B8C - push {r4,lr} - adds r4, r0, 0 - ldr r1, _080B9BD0 @ =gBattleAnimArgs - ldrh r0, [r1] - ldrh r2, [r4, 0x20] - adds r0, r2 - movs r2, 0 - strh r0, [r4, 0x20] - ldrh r0, [r1, 0x2] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - strh r2, [r4, 0x2E] - movs r0, 0xA - strh r0, [r4, 0x30] - movs r0, 0x8 - strh r0, [r4, 0x32] - movs r0, 0x28 - strh r0, [r4, 0x34] - movs r0, 0x70 - strh r0, [r4, 0x36] - strh r2, [r4, 0x38] - ldr r1, _080B9BD4 @ =move_anim_8074EE0 - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - ldr r1, _080B9BD8 @ =sub_8074AE0 - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B9BD0: .4byte gBattleAnimArgs -_080B9BD4: .4byte move_anim_8074EE0 -_080B9BD8: .4byte sub_8074AE0 - thumb_func_end sub_80B9B8C - - thumb_func_start sub_80B9BDC -sub_80B9BDC: @ 80B9BDC - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080B9C20 @ =gTasks - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - adds r4, r1 - ldr r3, _080B9C24 @ =gBattleAnimArgs - ldrh r1, [r3] - movs r5, 0 - strh r1, [r4, 0x8] - ldrh r1, [r3, 0x2] - strh r1, [r4, 0xA] - ldrh r1, [r3, 0x4] - strh r1, [r4, 0xC] - ldrh r1, [r3, 0x6] - strh r1, [r4, 0xE] - ldrh r2, [r3, 0x8] - strh r2, [r4, 0x10] - ldrh r1, [r3, 0xA] - strh r1, [r4, 0x12] - strh r5, [r4, 0x18] - lsls r2, 24 - lsrs r2, 24 - movs r1, 0 - bl sub_80B9C2C - ldr r0, _080B9C28 @ =sub_80B9C7C - str r0, [r4] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B9C20: .4byte gTasks -_080B9C24: .4byte gBattleAnimArgs -_080B9C28: .4byte sub_80B9C7C - thumb_func_end sub_80B9BDC - - thumb_func_start sub_80B9C2C -sub_80B9C2C: @ 80B9C2C - push {r4-r6,lr} - sub sp, 0x4 - adds r5, r1, 0 - adds r6, r2, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - ldr r1, _080B9C78 @ =gTasks - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - adds r4, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - bl sub_80B9A14 - movs r1, 0xA - ldrsb r1, [r4, r1] - ldrh r2, [r4, 0x12] - str r2, [sp] - adds r2, r5, 0 - adds r3, r6, 0 - bl BeginNormalPaletteFade - ldrh r0, [r4, 0xC] - subs r0, 0x1 - strh r0, [r4, 0xC] - ldrh r0, [r4, 0x18] - movs r1, 0x1 - eors r0, r1 - strh r0, [r4, 0x18] - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B9C78: .4byte gTasks - thumb_func_end sub_80B9C2C - - thumb_func_start sub_80B9C7C -sub_80B9C7C: @ 80B9C7C - push {r4-r6,lr} - lsls r0, 24 - lsrs r3, r0, 24 - adds r4, r3, 0 - ldr r0, _080B9CB4 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080B9CDE - ldr r1, _080B9CB8 @ =gTasks - lsls r2, r3, 2 - adds r0, r2, r3 - lsls r0, 3 - adds r3, r0, r1 - movs r5, 0xC - ldrsh r0, [r3, r5] - adds r6, r1, 0 - adds r5, r2, 0 - cmp r0, 0 - ble _080B9CD8 - movs r1, 0x18 - ldrsh r0, [r3, r1] - cmp r0, 0 - bne _080B9CBC - ldrb r1, [r3, 0xE] - ldrb r2, [r3, 0x10] - b _080B9CC0 - .align 2, 0 -_080B9CB4: .4byte gPaletteFade -_080B9CB8: .4byte gTasks -_080B9CBC: - ldrb r1, [r3, 0x10] - ldrb r2, [r3, 0xE] -_080B9CC0: - adds r0, r5, r4 - lsls r0, 3 - adds r0, r6 - movs r3, 0xC - ldrsh r0, [r0, r3] - cmp r0, 0x1 - bne _080B9CD0 - movs r2, 0 -_080B9CD0: - adds r0, r4, 0 - bl sub_80B9C2C - b _080B9CDE -_080B9CD8: - adds r0, r4, 0 - bl DestroyAnimVisualTask -_080B9CDE: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80B9C7C - - thumb_func_start sub_80B9CE4 -sub_80B9CE4: @ 80B9CE4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r6, r0, 24 - movs r5, 0 - ldr r3, _080B9D88 @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r3 - ldr r2, _080B9D8C @ =gBattleAnimArgs - ldrh r1, [r2] - strh r1, [r0, 0x8] - ldrh r1, [r2, 0x2] - strh r1, [r0, 0xA] - ldrh r1, [r2, 0x4] - strh r1, [r0, 0xC] - ldrh r1, [r2, 0x6] - strh r1, [r0, 0xE] - ldrh r1, [r2, 0x8] - strh r1, [r0, 0x10] - ldrh r1, [r2, 0xA] - strh r1, [r0, 0x12] - strh r5, [r0, 0x18] - movs r4, 0 - ldr r0, _080B9D90 @ =gBattlersCount - ldrb r1, [r0] - mov r9, r3 - mov r8, r2 - cmp r5, r1 - bge _080B9D4C - ldr r0, _080B9D94 @ =gBattleAnimAttacker - ldrb r3, [r0] - ldr r7, _080B9D98 @ =gBattleAnimTarget - movs r0, 0x1 - mov r12, r0 - adds r2, r1, 0 -_080B9D32: - cmp r4, r3 - beq _080B9D46 - ldrb r1, [r7] - cmp r4, r1 - beq _080B9D46 - adds r1, r4, 0 - adds r1, 0x10 - mov r0, r12 - lsls r0, r1 - orrs r5, r0 -_080B9D46: - adds r4, 0x1 - cmp r4, r2 - blt _080B9D32 -_080B9D4C: - mov r2, r8 - movs r1, 0 - ldrsh r0, [r2, r1] - cmp r0, 0x1 - bne _080B9D5A - movs r0, 0xE - orrs r5, r0 -_080B9D5A: - lsls r4, r6, 2 - adds r4, r6 - lsls r4, 3 - add r4, r9 - lsrs r0, r5, 16 - strh r0, [r4, 0x1A] - movs r0, 0xFF - ands r5, r0 - strh r5, [r4, 0x1C] - ldrb r2, [r4, 0x10] - adds r0, r6, 0 - movs r1, 0 - bl sub_80B9DA0 - ldr r0, _080B9D9C @ =sub_80B9DF0 - str r0, [r4] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B9D88: .4byte gTasks -_080B9D8C: .4byte gBattleAnimArgs -_080B9D90: .4byte gBattlersCount -_080B9D94: .4byte gBattleAnimAttacker -_080B9D98: .4byte gBattleAnimTarget -_080B9D9C: .4byte sub_80B9DF0 - thumb_func_end sub_80B9CE4 - - thumb_func_start sub_80B9DA0 -sub_80B9DA0: @ 80B9DA0 - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r1, 0 - adds r3, r2, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r3, 24 - lsrs r3, 24 - ldr r1, _080B9DEC @ =gTasks - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - adds r4, r1 - ldrh r0, [r4, 0x1A] - lsls r0, 16 - ldrh r1, [r4, 0x1C] - orrs r0, r1 - movs r1, 0xA - ldrsb r1, [r4, r1] - ldrh r2, [r4, 0x12] - str r2, [sp] - adds r2, r5, 0 - bl BeginNormalPaletteFade - ldrh r0, [r4, 0xC] - subs r0, 0x1 - strh r0, [r4, 0xC] - ldrh r0, [r4, 0x18] - movs r1, 0x1 - eors r0, r1 - strh r0, [r4, 0x18] - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B9DEC: .4byte gTasks - thumb_func_end sub_80B9DA0 - - thumb_func_start sub_80B9DF0 -sub_80B9DF0: @ 80B9DF0 - push {r4-r6,lr} - lsls r0, 24 - lsrs r3, r0, 24 - adds r4, r3, 0 - ldr r0, _080B9E28 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080B9E52 - ldr r1, _080B9E2C @ =gTasks - lsls r2, r3, 2 - adds r0, r2, r3 - lsls r0, 3 - adds r3, r0, r1 - movs r5, 0xC - ldrsh r0, [r3, r5] - adds r6, r1, 0 - adds r5, r2, 0 - cmp r0, 0 - ble _080B9E4C - movs r1, 0x18 - ldrsh r0, [r3, r1] - cmp r0, 0 - bne _080B9E30 - ldrb r1, [r3, 0xE] - ldrb r2, [r3, 0x10] - b _080B9E34 - .align 2, 0 -_080B9E28: .4byte gPaletteFade -_080B9E2C: .4byte gTasks -_080B9E30: - ldrb r1, [r3, 0x10] - ldrb r2, [r3, 0xE] -_080B9E34: - adds r0, r5, r4 - lsls r0, 3 - adds r0, r6 - movs r3, 0xC - ldrsh r0, [r0, r3] - cmp r0, 0x1 - bne _080B9E44 - movs r2, 0 -_080B9E44: - adds r0, r4, 0 - bl sub_80B9DA0 - b _080B9E52 -_080B9E4C: - adds r0, r4, 0 - bl DestroyAnimVisualTask -_080B9E52: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80B9DF0 - - thumb_func_start sub_80B9E58 -sub_80B9E58: @ 80B9E58 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080B9E9C @ =gTasks - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - adds r4, r1 - ldr r3, _080B9EA0 @ =gBattleAnimArgs - ldrh r1, [r3] - movs r5, 0 - strh r1, [r4, 0x8] - ldrh r1, [r3, 0x2] - strh r1, [r4, 0xA] - ldrh r1, [r3, 0x4] - strh r1, [r4, 0xC] - ldrh r1, [r3, 0x6] - strh r1, [r4, 0xE] - ldrh r2, [r3, 0x8] - strh r2, [r4, 0x10] - ldrh r1, [r3, 0xA] - strh r1, [r4, 0x12] - strh r5, [r4, 0x18] - lsls r2, 24 - lsrs r2, 24 - movs r1, 0 - bl sub_80B9EA8 - ldr r0, _080B9EA4 @ =sub_80B9F04 - str r0, [r4] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B9E9C: .4byte gTasks -_080B9EA0: .4byte gBattleAnimArgs -_080B9EA4: .4byte sub_80B9F04 - thumb_func_end sub_80B9E58 - - thumb_func_start sub_80B9EA8 -sub_80B9EA8: @ 80B9EA8 - push {r4-r6,lr} - sub sp, 0x4 - adds r5, r1, 0 - adds r6, r2, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - ldr r1, _080B9F00 @ =gTasks - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - adds r4, r1 - ldrh r0, [r4, 0x8] - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x10 - movs r2, 0x1 - lsls r2, r0 - movs r1, 0xA - ldrsb r1, [r4, r1] - ldrh r0, [r4, 0x12] - str r0, [sp] - adds r0, r2, 0 - adds r2, r5, 0 - adds r3, r6, 0 - bl BeginNormalPaletteFade - ldrh r0, [r4, 0xC] - subs r0, 0x1 - strh r0, [r4, 0xC] - ldrh r0, [r4, 0x18] - movs r1, 0x1 - eors r0, r1 - strh r0, [r4, 0x18] - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B9F00: .4byte gTasks - thumb_func_end sub_80B9EA8 - - thumb_func_start sub_80B9F04 -sub_80B9F04: @ 80B9F04 - push {r4-r6,lr} - lsls r0, 24 - lsrs r3, r0, 24 - adds r4, r3, 0 - ldr r0, _080B9F3C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080B9F66 - ldr r1, _080B9F40 @ =gTasks - lsls r2, r3, 2 - adds r0, r2, r3 - lsls r0, 3 - adds r3, r0, r1 - movs r5, 0xC - ldrsh r0, [r3, r5] - adds r6, r1, 0 - adds r5, r2, 0 - cmp r0, 0 - ble _080B9F60 - movs r1, 0x18 - ldrsh r0, [r3, r1] - cmp r0, 0 - bne _080B9F44 - ldrb r1, [r3, 0xE] - ldrb r2, [r3, 0x10] - b _080B9F48 - .align 2, 0 -_080B9F3C: .4byte gPaletteFade -_080B9F40: .4byte gTasks -_080B9F44: - ldrb r1, [r3, 0x10] - ldrb r2, [r3, 0xE] -_080B9F48: - adds r0, r5, r4 - lsls r0, 3 - adds r0, r6 - movs r3, 0xC - ldrsh r0, [r0, r3] - cmp r0, 0x1 - bne _080B9F58 - movs r2, 0 -_080B9F58: - adds r0, r4, 0 - bl sub_80B9EA8 - b _080B9F66 -_080B9F60: - adds r0, r4, 0 - bl DestroyAnimVisualTask -_080B9F66: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80B9F04 - - thumb_func_start sub_80B9F6C -sub_80B9F6C: @ 80B9F6C - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080B9FCC @ =gTasks - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - adds r4, r1 - ldr r5, _080B9FD0 @ =gBattleAnimArgs - ldrh r0, [r5, 0x2] - strh r0, [r4, 0x8] - ldrh r0, [r5, 0x2] - strh r0, [r4, 0xA] - ldrh r0, [r5, 0x4] - strh r0, [r4, 0xC] - ldrh r0, [r5, 0x6] - strh r0, [r4, 0xE] - ldrh r0, [r5, 0x8] - strh r0, [r4, 0x10] - ldrh r0, [r5, 0xA] - strh r0, [r4, 0x12] - ldrh r0, [r5, 0xC] - strh r0, [r4, 0x14] - ldrh r0, [r5] - strh r0, [r4, 0x16] - ldrh r0, [r5] - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x10 - movs r1, 0x1 - lsls r1, r0 - ldrb r3, [r5, 0x8] - ldrh r0, [r5, 0x6] - str r0, [sp] - adds r0, r1, 0 - movs r1, 0 - adds r2, r3, 0 - bl BeginNormalPaletteFade - ldr r0, _080B9FD4 @ =sub_80B9FD8 - str r0, [r4] - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B9FCC: .4byte gTasks -_080B9FD0: .4byte gBattleAnimArgs -_080B9FD4: .4byte sub_80B9FD8 - thumb_func_end sub_80B9F6C - - thumb_func_start sub_80B9FD8 -sub_80B9FD8: @ 80B9FD8 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _080B9FFC @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - ldrh r1, [r4, 0x8] - movs r2, 0x8 - ldrsh r0, [r4, r2] - cmp r0, 0 - ble _080BA000 - subs r0, r1, 0x1 - strh r0, [r4, 0x8] - b _080BA084 - .align 2, 0 -_080B9FFC: .4byte gTasks -_080BA000: - ldr r0, _080BA01C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080BA084 - movs r3, 0xC - ldrsh r0, [r4, r3] - cmp r0, 0 - bne _080BA024 - ldr r0, _080BA020 @ =sub_80BA090 - str r0, [r4] - b _080BA084 - .align 2, 0 -_080BA01C: .4byte gPaletteFade -_080BA020: .4byte sub_80BA090 -_080BA024: - ldrh r0, [r4, 0x16] - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x10 - movs r2, 0x1 - lsls r2, r0 - ldrh r1, [r4, 0xA] - movs r0, 0x80 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - beq _080BA052 - ldrb r3, [r4, 0x10] - ldrh r0, [r4, 0xE] - str r0, [sp] - adds r0, r2, 0 - movs r1, 0 - adds r2, r3, 0 - bl BeginNormalPaletteFade - b _080BA062 -_080BA052: - ldrb r3, [r4, 0x14] - ldrh r0, [r4, 0x12] - str r0, [sp] - adds r0, r2, 0 - movs r1, 0 - adds r2, r3, 0 - bl BeginNormalPaletteFade -_080BA062: - ldr r0, _080BA08C @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0xA] - movs r3, 0x80 - lsls r3, 1 - adds r2, r3, 0 - eors r0, r2 - strh r0, [r1, 0xA] - movs r2, 0xFF - ands r0, r2 - strh r0, [r1, 0x8] - ldrh r0, [r1, 0xC] - subs r0, 0x1 - strh r0, [r1, 0xC] -_080BA084: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080BA08C: .4byte gTasks - thumb_func_end sub_80B9FD8 - - thumb_func_start sub_80BA090 -sub_80BA090: @ 80BA090 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080BA0E0 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _080BA0D6 - ldr r1, _080BA0E4 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldrh r0, [r0, 0x16] - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x10 - movs r1, 0x1 - lsls r1, r0 - str r5, [sp] - adds r0, r1, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl BeginNormalPaletteFade - adds r0, r4, 0 - bl DestroyAnimVisualTask -_080BA0D6: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080BA0E0: .4byte gPaletteFade -_080BA0E4: .4byte gTasks - thumb_func_end sub_80BA090 - - thumb_func_start sub_80BA0E8 -sub_80BA0E8: @ 80BA0E8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r2, 0 - ldr r0, _080BA160 @ =gBattleAnimAttacker - ldrb r6, [r0] - ldr r0, _080BA164 @ =gBattleAnimTarget - ldrb r7, [r0] - ldr r4, _080BA168 @ =gBattleAnimArgs - ldrh r1, [r4] - movs r5, 0x80 - lsls r5, 1 - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - beq _080BA122 - str r2, [sp] - str r2, [sp, 0x4] - str r2, [sp, 0x8] - movs r0, 0x1 - movs r1, 0 - movs r3, 0 - bl sub_8075BE8 - adds r2, r0, 0 -_080BA122: - ldrh r1, [r4, 0x2] - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - beq _080BA134 - movs r0, 0x80 - lsls r0, 9 - lsls r0, r6 - orrs r2, r0 -_080BA134: - ldrh r1, [r4, 0x4] - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - beq _080BA146 - movs r0, 0x80 - lsls r0, 9 - lsls r0, r7 - orrs r2, r0 -_080BA146: - adds r0, r2, 0 - bl InvertPlttBuffer - mov r0, r8 - bl DestroyAnimVisualTask - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080BA160: .4byte gBattleAnimAttacker -_080BA164: .4byte gBattleAnimTarget -_080BA168: .4byte gBattleAnimArgs - thumb_func_end sub_80BA0E8 - - thumb_func_start sub_80BA16C -sub_80BA16C: @ 80BA16C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r5, 0 - ldr r1, _080BA260 @ =gTasks - lsls r0, 2 - add r0, r8 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080BA1AE - ldr r1, _080BA264 @ =gBattleAnimArgs - ldrh r0, [r1] - strh r0, [r4, 0xC] - ldrh r0, [r1, 0x2] - strh r0, [r4, 0xE] - ldrh r0, [r1, 0x4] - strh r0, [r4, 0x10] - ldrh r0, [r1, 0x6] - strh r0, [r4, 0xA] - ldrh r0, [r1, 0x8] - strh r0, [r4, 0x12] - ldrh r0, [r1, 0xA] - strh r0, [r4, 0x14] - ldrh r0, [r1, 0xC] - strh r0, [r4, 0x16] -_080BA1AE: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - ldr r0, _080BA268 @ =gBattleAnimAttacker - ldrb r0, [r0] - mov r9, r0 - ldr r0, _080BA26C @ =gBattleAnimTarget - ldrb r0, [r0] - mov r10, r0 - ldrh r1, [r4, 0xC] - movs r7, 0x80 - lsls r7, 1 - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0 - beq _080BA1D0 - ldr r5, _080BA270 @ =0x0000ffff -_080BA1D0: - movs r6, 0x1 - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - beq _080BA200 - ldr r2, _080BA274 @ =gSprites - ldr r0, _080BA278 @ =gUnknown_3004FF0 - add r0, r9 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x14 - adds r0, r2 - ldr r0, [r0] - ldrh r0, [r0, 0x2] - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - adds r1, r6, 0 - lsls r1, r0 - lsls r1, 16 - orrs r5, r1 -_080BA200: - ldrh r1, [r4, 0xE] - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0 - beq _080BA214 - adds r0, r6, 0 - mov r2, r9 - lsls r0, r2 - lsls r0, 16 - orrs r5, r0 -_080BA214: - ldrh r1, [r4, 0x10] - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0 - beq _080BA228 - adds r0, r6, 0 - mov r1, r10 - lsls r0, r1 - lsls r0, 16 - orrs r5, r0 -_080BA228: - movs r1, 0x12 - ldrsb r1, [r4, r1] - movs r2, 0x14 - ldrsb r2, [r4, r2] - movs r3, 0x16 - ldrsb r3, [r4, r3] - adds r0, r5, 0 - bl TintPlttBuffer - movs r2, 0x8 - ldrsh r1, [r4, r2] - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r1, r0 - bne _080BA252 - adds r0, r5, 0 - bl UnfadePlttBuffer - mov r0, r8 - bl DestroyAnimVisualTask -_080BA252: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080BA260: .4byte gTasks -_080BA264: .4byte gBattleAnimArgs -_080BA268: .4byte gBattleAnimAttacker -_080BA26C: .4byte gBattleAnimTarget -_080BA270: .4byte 0x0000ffff -_080BA274: .4byte gSprites -_080BA278: .4byte gUnknown_3004FF0 - thumb_func_end sub_80BA16C - - thumb_func_start sub_80BA27C -sub_80BA27C: @ 80BA27C - push {r4,lr} - adds r4, r0, 0 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r1, _080BA2B0 @ =gBattleAnimArgs - ldrh r0, [r1] - negs r0, r0 - strh r0, [r4, 0x2E] - ldrh r0, [r1, 0x2] - strh r0, [r4, 0x30] - strh r0, [r4, 0x32] - ldrh r0, [r1, 0x4] - strh r0, [r4, 0x34] - movs r2, 0x6 - ldrsh r0, [r1, r2] - cmp r0, 0x1 - beq _080BA2C4 - cmp r0, 0x1 - bgt _080BA2B4 - cmp r0, 0 - beq _080BA2BA - b _080BA2DC - .align 2, 0 -_080BA2B0: .4byte gBattleAnimArgs -_080BA2B4: - cmp r0, 0x2 - beq _080BA2CC - b _080BA2DC -_080BA2BA: - ldr r1, _080BA2C0 @ =gBattle_BG3_X - b _080BA2CE - .align 2, 0 -_080BA2C0: .4byte gBattle_BG3_X -_080BA2C4: - ldr r1, _080BA2C8 @ =gBattle_BG3_Y - b _080BA2CE - .align 2, 0 -_080BA2C8: .4byte gBattle_BG3_Y -_080BA2CC: - ldr r1, _080BA2D8 @ =gSpriteCoordOffsetX -_080BA2CE: - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - b _080BA2E4 - .align 2, 0 -_080BA2D8: .4byte gSpriteCoordOffsetX -_080BA2DC: - ldr r1, _080BA314 @ =gSpriteCoordOffsetY - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 -_080BA2E4: - movs r0, 0x3A - ldrsh r1, [r4, r0] - movs r2, 0x3C - ldrsh r0, [r4, r2] - lsls r0, 16 - orrs r1, r0 - ldrh r0, [r1] - strh r0, [r4, 0x36] - ldr r0, _080BA318 @ =gBattleAnimArgs - ldrh r0, [r0, 0x6] - strh r0, [r4, 0x38] - subs r0, 0x2 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bhi _080BA308 - bl sub_80BA3CC -_080BA308: - ldr r0, _080BA31C @ =sub_80BA320 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080BA314: .4byte gSpriteCoordOffsetY -_080BA318: .4byte gBattleAnimArgs -_080BA31C: .4byte sub_80BA320 - thumb_func_end sub_80BA27C - - thumb_func_start sub_80BA320 -sub_80BA320: @ 80BA320 - push {r4-r7,lr} - adds r3, r0, 0 - ldrh r1, [r3, 0x34] - movs r2, 0x34 - ldrsh r0, [r3, r2] - cmp r0, 0 - ble _080BA362 - subs r0, r1, 0x1 - strh r0, [r3, 0x34] - ldrh r1, [r3, 0x30] - movs r2, 0x30 - ldrsh r0, [r3, r2] - cmp r0, 0 - ble _080BA342 - subs r0, r1, 0x1 - strh r0, [r3, 0x30] - b _080BA3BA -_080BA342: - ldrh r0, [r3, 0x32] - strh r0, [r3, 0x30] - movs r0, 0x3A - ldrsh r1, [r3, r0] - movs r2, 0x3C - ldrsh r0, [r3, r2] - lsls r0, 16 - orrs r1, r0 - ldrh r0, [r3, 0x2E] - ldrh r2, [r1] - adds r0, r2 - strh r0, [r1] - ldrh r0, [r3, 0x2E] - negs r0, r0 - strh r0, [r3, 0x2E] - b _080BA3BA -_080BA362: - movs r0, 0x3A - ldrsh r1, [r3, r0] - movs r2, 0x3C - ldrsh r0, [r3, r2] - lsls r0, 16 - orrs r1, r0 - ldrh r0, [r3, 0x36] - strh r0, [r1] - ldrh r0, [r3, 0x38] - subs r0, 0x2 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bhi _080BA3B4 - movs r4, 0 - ldr r5, _080BA3C0 @ =gBattlersCount - ldrb r0, [r5] - cmp r4, r0 - bcs _080BA3B4 - ldr r2, _080BA3C4 @ =gSprites - mov r12, r2 - ldr r6, _080BA3C8 @ =gUnknown_2023D44 - movs r7, 0x3 - negs r7, r7 -_080BA392: - adds r0, r4, r6 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r12 - adds r1, 0x3E - ldrb r2, [r1] - adds r0, r7, 0 - ands r0, r2 - strb r0, [r1] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - ldrb r0, [r5] - cmp r4, r0 - bcc _080BA392 -_080BA3B4: - adds r0, r3, 0 - bl DestroyAnimSprite -_080BA3BA: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080BA3C0: .4byte gBattlersCount -_080BA3C4: .4byte gSprites -_080BA3C8: .4byte gUnknown_2023D44 - thumb_func_end sub_80BA320 - - thumb_func_start sub_80BA3CC -sub_80BA3CC: @ 80BA3CC - push {r4-r6,lr} - ldr r6, _080BA440 @ =gSprites - ldr r4, _080BA444 @ =gUnknown_2023D44 - ldr r5, _080BA448 @ =gBattleAnimAttacker - ldrb r0, [r5] - adds r0, r4 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - adds r1, 0x3E - ldrb r3, [r1] - movs r2, 0x3 - negs r2, r2 - adds r0, r2, 0 - ands r0, r3 - strb r0, [r1] - ldr r3, _080BA44C @ =gBattleAnimTarget - ldrb r0, [r3] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x3E - ldrb r1, [r0] - ands r2, r1 - strb r2, [r0] - ldr r0, _080BA450 @ =gBattleAnimArgs - movs r1, 0x8 - ldrsh r0, [r0, r1] - cmp r0, 0x2 - bne _080BA454 - ldrb r0, [r5] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x2 - orrs r1, r2 - strb r1, [r0] - ldrb r0, [r3] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x3E - ldrb r1, [r0] - b _080BA470 - .align 2, 0 -_080BA440: .4byte gSprites -_080BA444: .4byte gUnknown_2023D44 -_080BA448: .4byte gBattleAnimAttacker -_080BA44C: .4byte gBattleAnimTarget -_080BA450: .4byte gBattleAnimArgs -_080BA454: - cmp r0, 0 - bne _080BA45C - ldrb r0, [r5] - b _080BA45E -_080BA45C: - ldrb r0, [r3] -_080BA45E: - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x2 -_080BA470: - orrs r1, r2 - strb r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80BA3CC - - thumb_func_start sub_80BA47C -sub_80BA47C: @ 80BA47C - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080BA4BC @ =gTasks - lsls r2, r0, 2 - adds r2, r0 - lsls r2, 3 - adds r2, r1 - ldr r3, _080BA4C0 @ =gBattleAnimArgs - ldrh r1, [r3] - strh r1, [r2, 0x8] - ldrh r1, [r3, 0x2] - strh r1, [r2, 0xA] - ldrh r1, [r3, 0x4] - strh r1, [r2, 0xC] - ldrh r1, [r3, 0x6] - strh r1, [r2, 0xE] - ldrh r1, [r3, 0x6] - strh r1, [r2, 0x18] - ldr r4, _080BA4C4 @ =gBattle_BG3_X - ldrh r1, [r3] - strh r1, [r4] - ldr r4, _080BA4C8 @ =gBattle_BG3_Y - ldrh r1, [r3, 0x2] - strh r1, [r4] - ldr r1, _080BA4CC @ =sub_80BA4D0 - str r1, [r2] - bl _call_via_r1 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080BA4BC: .4byte gTasks -_080BA4C0: .4byte gBattleAnimArgs -_080BA4C4: .4byte gBattle_BG3_X -_080BA4C8: .4byte gBattle_BG3_Y -_080BA4CC: .4byte sub_80BA4D0 - thumb_func_end sub_80BA47C - - thumb_func_start sub_80BA4D0 -sub_80BA4D0: @ 80BA4D0 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _080BA500 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r3, r0, r1 - ldrh r2, [r3, 0xE] - movs r4, 0xE - ldrsh r0, [r3, r4] - mov r12, r1 - cmp r0, 0 - bne _080BA556 - ldr r0, _080BA504 @ =gBattle_BG3_X - ldrh r2, [r0] - movs r7, 0x8 - ldrsh r1, [r3, r7] - adds r6, r0, 0 - cmp r2, r1 - bne _080BA508 - ldrh r0, [r3, 0x8] - negs r0, r0 - b _080BA50A - .align 2, 0 -_080BA500: .4byte gTasks -_080BA504: .4byte gBattle_BG3_X -_080BA508: - ldrh r0, [r3, 0x8] -_080BA50A: - strh r0, [r6] - ldr r2, _080BA528 @ =gBattle_BG3_Y - ldrh r3, [r2] - lsls r1, r5, 2 - adds r0, r1, r5 - lsls r0, 3 - mov r7, r12 - adds r4, r0, r7 - movs r7, 0xA - ldrsh r0, [r4, r7] - cmn r3, r0 - bne _080BA52C - movs r0, 0 - b _080BA530 - .align 2, 0 -_080BA528: .4byte gBattle_BG3_Y -_080BA52C: - ldrh r0, [r4, 0xA] - negs r0, r0 -_080BA530: - strh r0, [r2] - adds r0, r1, r5 - lsls r0, 3 - add r0, r12 - ldrh r1, [r0, 0x18] - strh r1, [r0, 0xE] - ldrh r1, [r0, 0xC] - subs r1, 0x1 - strh r1, [r0, 0xC] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0 - bne _080BA55A - strh r1, [r6] - strh r1, [r2] - adds r0, r5, 0 - bl DestroyAnimVisualTask - b _080BA55A -_080BA556: - subs r0, r2, 0x1 - strh r0, [r3, 0xE] -_080BA55A: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80BA4D0 - - thumb_func_start sub_80BA560 -sub_80BA560: @ 80BA560 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, _080BA580 @ =gBattleAnimArgs - ldrb r1, [r4, 0x6] - bl StartSpriteAffineAnim - movs r1, 0x4 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080BA584 - adds r0, r5, 0 - movs r1, 0x1 - bl sub_8075160 - b _080BA58C - .align 2, 0 -_080BA580: .4byte gBattleAnimArgs -_080BA584: - adds r0, r5, 0 - movs r1, 0x1 - bl sub_8075114 -_080BA58C: - ldr r0, _080BA5A0 @ =sub_8074F50 - str r0, [r5, 0x1C] - ldr r1, _080BA5A4 @ =DestroyAnimSprite - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080BA5A0: .4byte sub_8074F50 -_080BA5A4: .4byte DestroyAnimSprite - thumb_func_end sub_80BA560 - - thumb_func_start sub_80BA5A8 -sub_80BA5A8: @ 80BA5A8 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, _080BA5C8 @ =gBattleAnimArgs - ldrb r1, [r4, 0x6] - bl StartSpriteAffineAnim - movs r1, 0x4 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080BA5CC - adds r0, r5, 0 - movs r1, 0x1 - bl sub_8075160 - b _080BA5D4 - .align 2, 0 -_080BA5C8: .4byte gBattleAnimArgs -_080BA5CC: - adds r0, r5, 0 - movs r1, 0x1 - bl sub_8075114 -_080BA5D4: - ldr r0, _080BA5EC @ =gBattleAnimArgs - ldrh r0, [r0, 0x8] - strh r0, [r5, 0x2E] - ldr r0, _080BA5F0 @ =sub_8074F50 - str r0, [r5, 0x1C] - ldr r1, _080BA5F4 @ =sub_80B1D3C - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080BA5EC: .4byte gBattleAnimArgs -_080BA5F0: .4byte sub_8074F50 -_080BA5F4: .4byte sub_80B1D3C - thumb_func_end sub_80BA5A8 - - thumb_func_start sub_80BA5F8 -sub_80BA5F8: @ 80BA5F8 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _080BA628 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080BA61C - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080BA61C - ldr r1, _080BA62C @ =gBattleAnimArgs - ldrh r0, [r1, 0x2] - negs r0, r0 - strh r0, [r1, 0x2] -_080BA61C: - adds r0, r4, 0 - bl sub_80BA560 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080BA628: .4byte gBattleAnimAttacker -_080BA62C: .4byte gBattleAnimArgs - thumb_func_end sub_80BA5F8 - - thumb_func_start sub_80BA630 -sub_80BA630: @ 80BA630 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, _080BA668 @ =gBattleAnimArgs - movs r0, 0x2 - ldrsh r1, [r5, r0] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _080BA64C - bl Random - movs r1, 0x3 - ands r1, r0 - strh r1, [r5, 0x2] -_080BA64C: - ldrb r1, [r5, 0x2] - adds r0, r4, 0 - bl StartSpriteAffineAnim - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _080BA66C - adds r0, r4, 0 - movs r1, 0 - bl sub_8075160 - b _080BA674 - .align 2, 0 -_080BA668: .4byte gBattleAnimArgs -_080BA66C: - adds r0, r4, 0 - movs r1, 0 - bl sub_8075114 -_080BA674: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x30 - bl __umodsi3 - ldr r1, _080BA6B8 @ =0x0000ffe8 - adds r0, r1 - ldrh r1, [r4, 0x24] - adds r0, r1 - strh r0, [r4, 0x24] - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x18 - bl __umodsi3 - ldr r1, _080BA6BC @ =0x0000fff4 - adds r0, r1 - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - ldr r1, _080BA6C0 @ =move_anim_8074EE0 - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - ldr r0, _080BA6C4 @ =sub_8074F50 - str r0, [r4, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080BA6B8: .4byte 0x0000ffe8 -_080BA6BC: .4byte 0x0000fff4 -_080BA6C0: .4byte move_anim_8074EE0 -_080BA6C4: .4byte sub_8074F50 - thumb_func_end sub_80BA630 - - thumb_func_start sub_80BA6C8 -sub_80BA6C8: @ 80BA6C8 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, _080BA728 @ =gBattleAnimArgs - ldrb r0, [r5] - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x2E] - ldr r2, _080BA72C @ =gSprites - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x24] - ldrh r0, [r0, 0x20] - adds r1, r0 - strh r1, [r4, 0x20] - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x26] - ldrh r0, [r0, 0x22] - adds r1, r0 - strh r1, [r4, 0x22] - ldrh r0, [r5, 0x2] - strh r0, [r4, 0x24] - ldrh r0, [r5, 0x4] - strh r0, [r4, 0x26] - ldrb r1, [r5, 0x6] - adds r0, r4, 0 - bl StartSpriteAffineAnim - ldr r1, _080BA730 @ =move_anim_8074EE0 - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - ldr r0, _080BA734 @ =sub_8074F50 - str r0, [r4, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080BA728: .4byte gBattleAnimArgs -_080BA72C: .4byte gSprites -_080BA730: .4byte move_anim_8074EE0 -_080BA734: .4byte sub_8074F50 - thumb_func_end sub_80BA6C8 - - thumb_func_start sub_80BA738 -sub_80BA738: @ 80BA738 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _080BA750 @ =gBattleAnimArgs - movs r1, 0x4 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080BA754 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_8075160 - b _080BA75C - .align 2, 0 -_080BA750: .4byte gBattleAnimArgs -_080BA754: - adds r0, r4, 0 - movs r1, 0x1 - bl sub_8075114 -_080BA75C: - ldr r0, _080BA774 @ =gBattleAnimArgs - ldrh r0, [r0, 0x6] - strh r0, [r4, 0x2E] - ldr r1, _080BA778 @ =DestroyAnimSprite - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - ldr r0, _080BA77C @ =sub_8074C44 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080BA774: .4byte gBattleAnimArgs -_080BA778: .4byte DestroyAnimSprite -_080BA77C: .4byte sub_8074C44 - thumb_func_end sub_80BA738 - - thumb_func_start sub_80BA780 -sub_80BA780: @ 80BA780 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, _080BA7A0 @ =gBattleAnimArgs - ldrb r1, [r4, 0x6] - bl StartSpriteAffineAnim - movs r1, 0x4 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080BA7A4 - adds r0, r5, 0 - movs r1, 0x1 - bl sub_8075160 - b _080BA7AC - .align 2, 0 -_080BA7A0: .4byte gBattleAnimArgs -_080BA7A4: - adds r0, r5, 0 - movs r1, 0x1 - bl sub_8075114 -_080BA7AC: - ldr r0, _080BA7B8 @ =sub_80BA7BC - str r0, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080BA7B8: .4byte sub_80BA7BC - thumb_func_end sub_80BA780 - - thumb_func_start sub_80BA7BC -sub_80BA7BC: @ 80BA7BC - push {lr} - adds r3, r0, 0 - movs r0, 0x3E - adds r0, r3 - mov r12, r0 - ldrb r2, [r0] - lsls r0, r2, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - mov r1, r12 - strb r0, [r1] - ldrh r0, [r3, 0x2E] - adds r1, r0, 0x1 - strh r1, [r3, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xC - ble _080BA7F2 - adds r0, r3, 0 - bl DestroyAnimSprite -_080BA7F2: - pop {r0} - bx r0 - thumb_func_end sub_80BA7BC - - thumb_func_start sub_80BA7F8 -sub_80BA7F8: @ 80BA7F8 - push {r4-r6,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r4, _080BA838 @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r4, r1] - bl sub_80B9A14 - adds r6, r0, 0 - ldrh r3, [r4] - lsls r3, 16 - asrs r0, r3, 23 - movs r4, 0x1 - ands r0, r4 - asrs r1, r3, 24 - ands r1, r4 - asrs r2, r3, 25 - ands r2, r4 - asrs r3, 26 - ands r3, r4 - bl sub_8075CB8 - orrs r6, r0 - adds r0, r5, 0 - adds r1, r6, 0 - bl sub_80BAA4C - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080BA838: .4byte gBattleAnimArgs - thumb_func_end sub_80BA7F8 - - thumb_func_start sub_80BA83C -sub_80BA83C: @ 80BA83C - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r7, r0, 24 - mov r1, sp - movs r0, 0xFF - strb r0, [r1, 0x1] - movs r0, 0x1 - bl sub_80B9A14 - adds r5, r0, 0 - ldr r0, _080BA868 @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0x7 - bhi _080BA8E6 - lsls r0, 2 - ldr r1, _080BA86C @ =_080BA870 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080BA868: .4byte gBattleAnimArgs -_080BA86C: .4byte _080BA870 - .align 2, 0 -_080BA870: - .4byte _080BA892 - .4byte _080BA89E - .4byte _080BA890 - .4byte _080BA89C - .4byte _080BA8AC - .4byte _080BA8C4 - .4byte _080BA8CC - .4byte _080BA8D8 -_080BA890: - movs r5, 0 -_080BA892: - mov r0, sp - ldr r1, _080BA898 @ =gBattleAnimAttacker - b _080BA8A2 - .align 2, 0 -_080BA898: .4byte gBattleAnimAttacker -_080BA89C: - movs r5, 0 -_080BA89E: - mov r0, sp - ldr r1, _080BA8A8 @ =gBattleAnimTarget -_080BA8A2: - ldrb r1, [r1] - strb r1, [r0] - b _080BA8E6 - .align 2, 0 -_080BA8A8: .4byte gBattleAnimTarget -_080BA8AC: - mov r1, sp - ldr r0, _080BA8BC @ =gBattleAnimAttacker - ldrb r0, [r0] - strb r0, [r1] - ldr r0, _080BA8C0 @ =gBattleAnimTarget - ldrb r0, [r0] - strb r0, [r1, 0x1] - b _080BA8E6 - .align 2, 0 -_080BA8BC: .4byte gBattleAnimAttacker -_080BA8C0: .4byte gBattleAnimTarget -_080BA8C4: - mov r1, sp - movs r0, 0xFF - strb r0, [r1] - b _080BA8E6 -_080BA8CC: - movs r5, 0 - mov r2, sp - ldr r0, _080BA8D4 @ =gBattleAnimAttacker - b _080BA8DE - .align 2, 0 -_080BA8D4: .4byte gBattleAnimAttacker -_080BA8D8: - movs r5, 0 - mov r2, sp - ldr r0, _080BA930 @ =gBattleAnimTarget -_080BA8DE: - ldrb r0, [r0] - movs r1, 0x2 - eors r0, r1 - strb r0, [r2] -_080BA8E6: - movs r4, 0 - mov r6, sp -_080BA8EA: - ldrb r0, [r6] - cmp r4, r0 - beq _080BA914 - ldrb r0, [r6, 0x1] - cmp r4, r0 - beq _080BA914 - adds r0, r4, 0 - bl sub_8072DF0 - lsls r0, 24 - cmp r0, 0 - beq _080BA914 - adds r0, r4, 0 - bl sub_8075D80 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x80 - lsls r1, 9 - lsls r1, r0 - orrs r5, r1 -_080BA914: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _080BA8EA - adds r0, r7, 0 - adds r1, r5, 0 - bl sub_80BAA4C - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080BA930: .4byte gBattleAnimTarget - thumb_func_end sub_80BA83C - - thumb_func_start sub_80BA934 -sub_80BA934: @ 80BA934 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080BA958 @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - bl sub_80B9A14 - adds r2, r0, 0 - ldr r0, _080BA95C @ =gUnknown_2022B50 - ldrb r0, [r0] - cmp r0, 0x9 - bhi _080BAA0A - lsls r0, 2 - ldr r1, _080BA960 @ =_080BA964 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080BA958: .4byte gBattleAnimArgs -_080BA95C: .4byte gUnknown_2022B50 -_080BA960: .4byte _080BA964 - .align 2, 0 -_080BA964: - .4byte _080BA98C - .4byte _080BA99C - .4byte _080BA9A8 - .4byte _080BA9B8 - .4byte _080BA9C4 - .4byte _080BA9D4 - .4byte _080BA9E4 - .4byte _080BA9F4 - .4byte _080BAA04 - .4byte _080BAA04 -_080BA98C: - ldr r1, _080BA994 @ =gBattleAnimArgs - ldr r0, _080BA998 @ =0x00000b0c - b _080BAA08 - .align 2, 0 -_080BA994: .4byte gBattleAnimArgs -_080BA998: .4byte 0x00000b0c -_080BA99C: - ldr r1, _080BA9A4 @ =gBattleAnimArgs - movs r0, 0x9E - lsls r0, 4 - b _080BAA08 - .align 2, 0 -_080BA9A4: .4byte gBattleAnimArgs -_080BA9A8: - ldr r1, _080BA9B0 @ =gBattleAnimArgs - ldr r0, _080BA9B4 @ =0x00002f1e - b _080BAA08 - .align 2, 0 -_080BA9B0: .4byte gBattleAnimArgs -_080BA9B4: .4byte 0x00002f1e -_080BA9B8: - ldr r1, _080BA9C0 @ =gBattleAnimArgs - movs r0, 0x90 - lsls r0, 7 - b _080BAA08 - .align 2, 0 -_080BA9C0: .4byte gBattleAnimArgs -_080BA9C4: - ldr r1, _080BA9CC @ =gBattleAnimArgs - ldr r0, _080BA9D0 @ =0x00007ecb - b _080BAA08 - .align 2, 0 -_080BA9CC: .4byte gBattleAnimArgs -_080BA9D0: .4byte 0x00007ecb -_080BA9D4: - ldr r1, _080BA9DC @ =gBattleAnimArgs - ldr r0, _080BA9E0 @ =0x00007ecb - b _080BAA08 - .align 2, 0 -_080BA9DC: .4byte gBattleAnimArgs -_080BA9E0: .4byte 0x00007ecb -_080BA9E4: - ldr r1, _080BA9EC @ =gBattleAnimArgs - ldr r0, _080BA9F0 @ =0x00002a16 - b _080BAA08 - .align 2, 0 -_080BA9EC: .4byte gBattleAnimArgs -_080BA9F0: .4byte 0x00002a16 -_080BA9F4: - ldr r1, _080BA9FC @ =gBattleAnimArgs - ldr r0, _080BAA00 @ =0x00000d2e - b _080BAA08 - .align 2, 0 -_080BA9FC: .4byte gBattleAnimArgs -_080BAA00: .4byte 0x00000d2e -_080BAA04: - ldr r1, _080BAA18 @ =gBattleAnimArgs - ldr r0, _080BAA1C @ =0x00007fff -_080BAA08: - strh r0, [r1, 0x8] -_080BAA0A: - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_80BAA4C - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080BAA18: .4byte gBattleAnimArgs -_080BAA1C: .4byte 0x00007fff - thumb_func_end sub_80BA934 - - thumb_func_start sub_80BAA20 -sub_80BAA20: @ 80BAA20 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _080BAA48 @ =gBattleAnimArgs - ldrh r0, [r0] - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x10 - movs r1, 0x1 - lsls r1, r0 - adds r0, r4, 0 - bl sub_80BAA4C - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080BAA48: .4byte gBattleAnimArgs - thumb_func_end sub_80BAA20 - - thumb_func_start sub_80BAA4C -sub_80BAA4C: @ 80BAA4C - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r3, _080BAA84 @ =gTasks - lsls r2, r0, 2 - adds r2, r0 - lsls r2, 3 - adds r2, r3 - strh r1, [r2, 0x8] - lsrs r1, 16 - strh r1, [r2, 0xA] - ldr r3, _080BAA88 @ =gBattleAnimArgs - ldrh r1, [r3, 0x2] - strh r1, [r2, 0xC] - ldrh r1, [r3, 0x4] - strh r1, [r2, 0xE] - ldrh r1, [r3, 0x6] - strh r1, [r2, 0x10] - ldrh r1, [r3, 0x8] - strh r1, [r2, 0x12] - ldrh r1, [r3, 0x4] - strh r1, [r2, 0x1C] - ldr r1, _080BAA8C @ =sub_80BAA90 - str r1, [r2] - bl _call_via_r1 - pop {r0} - bx r0 - .align 2, 0 -_080BAA84: .4byte gTasks -_080BAA88: .4byte gBattleAnimArgs -_080BAA8C: .4byte sub_80BAA90 - thumb_func_end sub_80BAA4C - - thumb_func_start sub_80BAA90 -sub_80BAA90: @ 80BAA90 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r7, r0, 24 - movs r6, 0 - ldr r2, _080BAB10 @ =gTasks - lsls r5, r7, 2 - adds r0, r5, r7 - lsls r0, 3 - adds r3, r0, r2 - ldrh r0, [r3, 0x1A] - mov r8, r0 - movs r4, 0x1A - ldrsh r1, [r3, r4] - movs r4, 0xC - ldrsh r0, [r3, r4] - mov r9, r2 - cmp r1, r0 - bne _080BAB26 - strh r6, [r3, 0x1A] - movs r0, 0x8 - ldrsh r4, [r3, r0] - movs r1, 0xA - ldrsh r0, [r3, r1] - lsls r0, 16 - orrs r4, r0 - mov r8, r5 - cmp r4, 0 - beq _080BAAF2 - adds r5, r3, 0 -_080BAAD0: - movs r0, 0x1 - ands r0, r4 - cmp r0, 0 - beq _080BAAE4 - ldrb r2, [r5, 0x1C] - ldrh r3, [r5, 0x12] - adds r0, r6, 0 - movs r1, 0x10 - bl BlendPalette -_080BAAE4: - adds r0, r6, 0 - adds r0, 0x10 - lsls r0, 16 - lsrs r6, r0, 16 - lsrs r4, 1 - cmp r4, 0 - bne _080BAAD0 -_080BAAF2: - mov r4, r8 - adds r0, r4, r7 - lsls r0, 3 - mov r1, r9 - adds r2, r0, r1 - ldrh r0, [r2, 0x1C] - movs r4, 0x1C - ldrsh r3, [r2, r4] - movs r4, 0x10 - ldrsh r1, [r2, r4] - cmp r3, r1 - bge _080BAB14 - adds r0, 0x1 - strh r0, [r2, 0x1C] - b _080BAB2C - .align 2, 0 -_080BAB10: .4byte gTasks -_080BAB14: - cmp r3, r1 - ble _080BAB1E - subs r0, 0x1 - strh r0, [r2, 0x1C] - b _080BAB2C -_080BAB1E: - adds r0, r7, 0 - bl DestroyAnimVisualTask - b _080BAB2C -_080BAB26: - mov r0, r8 - adds r0, 0x1 - strh r0, [r3, 0x1A] -_080BAB2C: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80BAA90 - - thumb_func_start sub_80BAB38 -sub_80BAB38: @ 80BAB38 - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r4, _080BAB6C @ =gBattleAnimArgs - ldrb r0, [r4] - ldrb r1, [r4, 0x2] - ldrb r2, [r4, 0x4] - ldrb r3, [r4, 0x6] - ldrb r4, [r4, 0x8] - str r4, [sp] - bl BeginHardwarePaletteFade - ldr r1, _080BAB70 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _080BAB74 @ =sub_80BAB78 - str r1, [r0] - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080BAB6C: .4byte gBattleAnimArgs -_080BAB70: .4byte gTasks -_080BAB74: .4byte sub_80BAB78 - thumb_func_end sub_80BAB38 - - thumb_func_start sub_80BAB78 -sub_80BAB78: @ 80BAB78 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _080BAB94 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080BAB90 - adds r0, r2, 0 - bl DestroyAnimVisualTask -_080BAB90: - pop {r0} - bx r0 - .align 2, 0 -_080BAB94: .4byte gPaletteFade - thumb_func_end sub_80BAB78 - - thumb_func_start sub_80BAB98 -sub_80BAB98: @ 80BAB98 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _080BABC4 @ =gTasks - adds r1, r0 - ldr r2, _080BABC8 @ =gBattleAnimArgs - ldrh r0, [r2] - movs r3, 0 - strh r0, [r1, 0x8] - strh r3, [r1, 0xA] - ldrh r0, [r2, 0x2] - strh r0, [r1, 0xC] - ldrh r0, [r2, 0x4] - strh r0, [r1, 0xE] - ldrh r0, [r2, 0x6] - strh r0, [r1, 0x10] - strh r3, [r1, 0x12] - ldr r0, _080BABCC @ =sub_80BABD0 - str r0, [r1] - bx lr - .align 2, 0 -_080BABC4: .4byte gTasks -_080BABC8: .4byte gBattleAnimArgs -_080BABCC: .4byte sub_80BABD0 - thumb_func_end sub_80BAB98 - - thumb_func_start sub_80BABD0 -sub_80BABD0: @ 80BABD0 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r2, r5, 0 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _080BABFC @ =gTasks - adds r4, r0, r1 - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080BAC94 - ldrh r1, [r4, 0xA] - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _080BAC00 - subs r0, r1, 0x1 - strh r0, [r4, 0xA] - b _080BACA2 - .align 2, 0 -_080BABFC: .4byte gTasks -_080BAC00: - ldrb r0, [r4, 0x8] - bl duplicate_obj_of_side_rel2move_in_transparent_mode - strh r0, [r4, 0x14] - lsls r0, 16 - cmp r0, 0 - blt _080BAC7E - ldr r6, _080BAC8C @ =gSprites - movs r1, 0x14 - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r3, r1, r6 - movs r2, 0x8 - ldrsh r0, [r4, r2] - movs r2, 0x2 - cmp r0, 0 - beq _080BAC28 - movs r2, 0x1 -_080BAC28: - lsls r2, 2 - ldrb r1, [r3, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - orrs r0, r2 - strb r0, [r3, 0x5] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldrh r1, [r4, 0xE] - strh r1, [r0, 0x2E] - movs r2, 0x14 - ldrsh r1, [r4, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - strh r5, [r0, 0x30] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x5 - strh r1, [r0, 0x32] - movs r2, 0x14 - ldrsh r1, [r4, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r6, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, _080BAC90 @ =sub_80BACA8 - str r1, [r0] - ldrh r0, [r4, 0x12] - adds r0, 0x1 - strh r0, [r4, 0x12] -_080BAC7E: - ldrh r0, [r4, 0x10] - subs r0, 0x1 - strh r0, [r4, 0x10] - ldrh r0, [r4, 0xC] - strh r0, [r4, 0xA] - b _080BACA2 - .align 2, 0 -_080BAC8C: .4byte gSprites -_080BAC90: .4byte sub_80BACA8 -_080BAC94: - movs r1, 0x12 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080BACA2 - adds r0, r2, 0 - bl DestroyAnimVisualTask -_080BACA2: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80BABD0 - - thumb_func_start sub_80BACA8 -sub_80BACA8: @ 80BACA8 - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x2E] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _080BACBC - subs r0, r1, 0x1 - strh r0, [r4, 0x2E] - b _080BACE0 -_080BACBC: - ldr r3, _080BACE8 @ =gTasks - movs r0, 0x32 - ldrsh r1, [r4, r0] - lsls r1, 1 - movs r0, 0x30 - ldrsh r2, [r4, r0] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r3, 0x8 - adds r1, r3 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - adds r0, r4, 0 - bl obj_delete_but_dont_free_vram -_080BACE0: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080BACE8: .4byte gTasks - thumb_func_end sub_80BACA8 - - thumb_func_start sub_80BACEC -sub_80BACEC: @ 80BACEC - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x14 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - movs r7, 0 - ldr r0, _080BAE20 @ =gUnknown_2022984 - strh r7, [r0] - ldr r0, _080BAE24 @ =gUnknown_2022986 - strh r7, [r0] - ldr r1, _080BAE28 @ =0x00003f3f - movs r0, 0x48 - bl SetGpuReg - ldr r1, _080BAE2C @ =0x00003f3d - movs r0, 0x4A - bl SetGpuReg - movs r1, 0x80 - lsls r1, 8 - movs r0, 0 - bl SetGpuRegBits - ldr r1, _080BAE30 @ =0x00003f42 - movs r0, 0x50 - bl SetGpuReg - ldr r1, _080BAE34 @ =0x00000c08 - movs r0, 0x52 - bl SetGpuReg - movs r0, 0xA - bl GetGpuReg - add r4, sp, 0x10 - strh r0, [r4] - ldrb r1, [r4] - movs r0, 0x4 - negs r0, r0 - mov r8, r0 - ands r0, r1 - strb r0, [r4] - mov r2, sp - adds r2, 0x11 - ldrb r1, [r2] - movs r0, 0x3F - ands r0, r1 - strb r0, [r2] - ldrh r1, [r4] - movs r0, 0xA - bl SetGpuReg - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080BAD7A - ldrb r1, [r4] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r4] - ldrh r1, [r4] - movs r0, 0xA - bl SetGpuReg -_080BAD7A: - bl sub_8075290 - lsls r0, 24 - cmp r0, 0 - beq _080BADFE - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080BADFE - ldr r5, _080BAE38 @ =gBattleAnimAttacker - ldrb r0, [r5] - bl GetBattlerPosition - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - beq _080BADAA - ldrb r0, [r5] - bl GetBattlerPosition - lsls r0, 24 - cmp r0, 0 - bne _080BADFE -_080BADAA: - ldrb r0, [r5] - movs r6, 0x2 - eors r0, r6 - bl sub_8072DF0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080BADFE - ldr r3, _080BAE3C @ =gSprites - ldr r1, _080BAE40 @ =gUnknown_2023D44 - ldrb r0, [r5] - eors r0, r6 - adds r0, r1 - ldrb r0, [r0] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r3 - ldrb r3, [r2, 0x5] - lsls r1, r3, 28 - lsrs r1, 30 - subs r1, 0x1 - movs r0, 0x3 - ands r1, r0 - lsls r1, 2 - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x5] - ldrb r1, [r4] - mov r0, r8 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r4] - ldrh r1, [r4] - movs r0, 0xA - bl SetGpuReg - movs r7, 0x1 -_080BADFE: - ldr r4, _080BAE38 @ =gBattleAnimAttacker - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080BAE4C - ldr r1, _080BAE44 @ =gBattlerPartyIndexes - ldrb r0, [r4] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080BAE48 @ =gEnemyParty - b _080BAE5C - .align 2, 0 -_080BAE20: .4byte gUnknown_2022984 -_080BAE24: .4byte gUnknown_2022986 -_080BAE28: .4byte 0x00003f3f -_080BAE2C: .4byte 0x00003f3d -_080BAE30: .4byte 0x00003f42 -_080BAE34: .4byte 0x00000c08 -_080BAE38: .4byte gBattleAnimAttacker -_080BAE3C: .4byte gSprites -_080BAE40: .4byte gUnknown_2023D44 -_080BAE44: .4byte gBattlerPartyIndexes -_080BAE48: .4byte gEnemyParty -_080BAE4C: - ldr r1, _080BAF0C @ =gBattlerPartyIndexes - ldrb r0, [r4] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080BAF10 @ =gPlayerParty -_080BAE5C: - adds r0, r1 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r4, r0, 16 - movs r0, 0 - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - ldr r0, _080BAF14 @ =gBattleAnimAttacker - ldrb r0, [r0] - adds r1, r5, 0 - adds r2, r4, 0 - bl sub_8076E34 - lsls r0, 24 - lsrs r4, r0, 24 - mov r0, sp - bl sub_80752A0 - mov r0, sp - ldrb r0, [r0, 0x9] - ldr r1, _080BAF18 @ =gFile_graphics_battle_anims_masks_curse_tilemap - bl sub_807543C - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - beq _080BAEAC - mov r0, sp - ldrb r0, [r0, 0x8] - ldr r1, [sp, 0x4] - movs r2, 0 - movs r3, 0 - bl sub_80730C0 -_080BAEAC: - mov r0, sp - ldrb r0, [r0, 0x9] - ldr r1, _080BAF1C @ =gFile_graphics_battle_anims_masks_curse_sheet - mov r2, sp - ldrh r2, [r2, 0xA] - bl sub_80753B4 - ldr r0, _080BAF20 @ =gUnknown_83E7CC8 - mov r1, sp - ldrb r1, [r1, 0x8] - lsls r1, 4 - adds r1, 0x1 - movs r2, 0x2 - bl LoadPalette - ldr r2, _080BAF24 @ =gBattle_BG1_X - ldr r0, _080BAF28 @ =gSprites - lsls r1, r5, 4 - adds r1, r5 - lsls r1, 2 - adds r1, r0 - ldrh r0, [r1, 0x20] - negs r0, r0 - adds r0, 0x20 - strh r0, [r2] - ldr r2, _080BAF2C @ =gBattle_BG1_Y - ldrh r0, [r1, 0x22] - negs r0, r0 - adds r0, 0x20 - strh r0, [r2] - ldr r1, _080BAF30 @ =gTasks - mov r2, r9 - lsls r0, r2, 2 - add r0, r9 - lsls r0, 3 - adds r0, r1 - strh r4, [r0, 0x8] - strh r7, [r0, 0x14] - ldr r1, _080BAF34 @ =sub_80BAF38 - str r1, [r0] - add sp, 0x14 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080BAF0C: .4byte gBattlerPartyIndexes -_080BAF10: .4byte gPlayerParty -_080BAF14: .4byte gBattleAnimAttacker -_080BAF18: .4byte gFile_graphics_battle_anims_masks_curse_tilemap -_080BAF1C: .4byte gFile_graphics_battle_anims_masks_curse_sheet -_080BAF20: .4byte gUnknown_83E7CC8 -_080BAF24: .4byte gBattle_BG1_X -_080BAF28: .4byte gSprites -_080BAF2C: .4byte gBattle_BG1_Y -_080BAF30: .4byte gTasks -_080BAF34: .4byte sub_80BAF38 - thumb_func_end sub_80BACEC - - thumb_func_start sub_80BAF38 -sub_80BAF38: @ 80BAF38 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x14 - lsls r0, 24 - lsrs r0, 24 - adds r6, r0, 0 - ldr r1, _080BB068 @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r5, r0, r1 - ldrh r0, [r5, 0x1C] - adds r0, 0x4 - movs r1, 0 - mov r8, r1 - strh r0, [r5, 0x1C] - ldr r7, _080BB06C @ =gBattle_BG1_Y - ldrh r2, [r7] - subs r1, r2, 0x4 - strh r1, [r7] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x40 - bne _080BB05A - mov r0, r8 - strh r0, [r5, 0x1C] - adds r0, r2, 0 - adds r0, 0x3C - strh r0, [r7] - ldrh r0, [r5, 0x1E] - adds r0, 0x1 - strh r0, [r5, 0x1E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - bne _080BB05A - movs r0, 0 - bl sub_8073128 - ldr r0, _080BB070 @ =gUnknown_2022984 - mov r1, r8 - strh r1, [r0] - ldr r0, _080BB074 @ =gUnknown_2022986 - strh r1, [r0] - ldr r4, _080BB078 @ =0x00003f3f - movs r0, 0x48 - adds r1, r4, 0 - bl SetGpuReg - movs r0, 0x4A - adds r1, r4, 0 - bl SetGpuReg - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080BAFCA - movs r0, 0xA - bl GetGpuReg - add r1, sp, 0x10 - strh r0, [r1] - ldrb r2, [r1] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - strb r0, [r1] - ldrh r1, [r1] - movs r0, 0xA - bl SetGpuReg -_080BAFCA: - movs r0, 0 - bl GetGpuReg - adds r1, r0, 0 - movs r2, 0x80 - lsls r2, 8 - adds r0, r2, 0 - eors r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0 - bl SetGpuReg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0 - bl GetAnimBankSpriteId - ldr r4, _080BB07C @ =gSprites - movs r0, 0x8 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - mov r0, sp - bl sub_80752A0 - mov r0, sp - ldrb r0, [r0, 0x9] - bl sub_8075358 - movs r1, 0x14 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - bne _080BB050 - ldr r2, _080BB080 @ =gUnknown_2023D44 - ldr r0, _080BB084 @ =gBattleAnimAttacker - ldrb r1, [r0] - movs r0, 0x2 - eors r0, r1 - adds r0, r2 - ldrb r0, [r0] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r4 - ldrb r3, [r2, 0x5] - lsls r1, r3, 28 - lsrs r1, 30 - adds r1, 0x1 - movs r0, 0x3 - ands r1, r0 - lsls r1, 2 - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x5] -_080BB050: - mov r2, r8 - strh r2, [r7] - adds r0, r6, 0 - bl DestroyAnimVisualTask -_080BB05A: - add sp, 0x14 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080BB068: .4byte gTasks -_080BB06C: .4byte gBattle_BG1_Y -_080BB070: .4byte gUnknown_2022984 -_080BB074: .4byte gUnknown_2022986 -_080BB078: .4byte 0x00003f3f -_080BB07C: .4byte gSprites -_080BB080: .4byte gUnknown_2023D44 -_080BB084: .4byte gBattleAnimAttacker - thumb_func_end sub_80BAF38 - - thumb_func_start sub_80BB088 -sub_80BB088: @ 80BB088 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, _080BB0C8 @ =gUnknown_20399B4 - movs r0, 0x18 - bl AllocZeroed - str r0, [r4] - movs r2, 0 - ldr r3, _080BB0CC @ =gBattleAnimArgs -_080BB09C: - ldr r1, [r4] - lsls r0, r2, 1 - adds r1, 0x4 - adds r1, r0 - adds r0, r3 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x7 - bls _080BB09C - ldr r0, _080BB0D0 @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, _080BB0D4 @ =sub_80BB0D8 - str r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080BB0C8: .4byte gUnknown_20399B4 -_080BB0CC: .4byte gBattleAnimArgs -_080BB0D0: .4byte gTasks -_080BB0D4: .4byte sub_80BB0D8 - thumb_func_end sub_80BB088 - - thumb_func_start sub_80BB0D8 -sub_80BB0D8: @ 80BB0D8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, _080BB0F0 @ =gUnknown_20399B4 - ldr r1, [r0] - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _080BB0F8 - ldr r0, _080BB0F4 @ =gBattleAnimAttacker - b _080BB0FA - .align 2, 0 -_080BB0F0: .4byte gUnknown_20399B4 -_080BB0F4: .4byte gBattleAnimAttacker -_080BB0F8: - ldr r0, _080BB230 @ =gBattleAnimTarget -_080BB0FA: - ldrb r0, [r0] - strb r0, [r1] - ldr r4, _080BB234 @ =gUnknown_20399B4 - ldr r2, [r4] - ldrb r0, [r2] - movs r1, 0x2 - eors r0, r1 - strb r0, [r2, 0x1] - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080BB12A - ldr r1, [r4] - movs r2, 0xA - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _080BB130 - ldrb r0, [r1, 0x1] - bl sub_8072DF0 - lsls r0, 24 - cmp r0, 0 - bne _080BB130 -_080BB12A: - ldr r1, [r4] - movs r0, 0 - strh r0, [r1, 0xA] -_080BB130: - ldr r0, _080BB238 @ =gUnknown_2022984 - movs r1, 0 - strh r1, [r0] - ldr r0, _080BB23C @ =gUnknown_2022986 - strh r1, [r0] - ldr r1, _080BB240 @ =0x00003f3f - movs r0, 0x48 - bl SetGpuReg - ldr r1, _080BB244 @ =0x00003f3d - movs r0, 0x4A - bl SetGpuReg - movs r1, 0x80 - lsls r1, 8 - movs r0, 0 - bl SetGpuRegBits - ldr r1, _080BB248 @ =0x00003f42 - movs r0, 0x50 - bl SetGpuReg - movs r1, 0x80 - lsls r1, 5 - movs r0, 0x52 - bl SetGpuReg - movs r0, 0x1 - movs r1, 0x4 - movs r2, 0 - bl SetAnimBgAttribute - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl SetAnimBgAttribute - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080BB18E - movs r0, 0x1 - movs r1, 0x3 - movs r2, 0x1 - bl SetAnimBgAttribute -_080BB18E: - bl sub_8075290 - lsls r0, 24 - cmp r0, 0 - beq _080BB20A - ldr r4, _080BB234 @ =gUnknown_20399B4 - ldr r1, [r4] - movs r2, 0xA - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _080BB20A - ldrb r0, [r1] - bl GetBattlerPosition - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - beq _080BB1C0 - ldr r0, [r4] - ldrb r0, [r0] - bl GetBattlerPosition - lsls r0, 24 - cmp r0, 0 - bne _080BB20A -_080BB1C0: - ldr r0, [r4] - ldrb r0, [r0, 0x1] - bl sub_8072DF0 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x1 - bne _080BB20A - ldr r3, _080BB24C @ =gSprites - ldr r1, _080BB250 @ =gUnknown_2023D44 - ldr r0, [r4] - ldrb r0, [r0, 0x1] - adds r0, r1 - ldrb r0, [r0] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r3 - ldrb r3, [r2, 0x5] - lsls r1, r3, 28 - lsrs r1, 30 - subs r1, 0x1 - movs r0, 0x3 - ands r1, r0 - lsls r1, 2 - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x5] - movs r0, 0x1 - movs r1, 0x4 - movs r2, 0x1 - bl SetAnimBgAttribute - ldr r0, [r4] - strb r5, [r0, 0x2] -_080BB20A: - ldr r4, _080BB234 @ =gUnknown_20399B4 - ldr r0, [r4] - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080BB25C - ldr r1, _080BB254 @ =gBattlerPartyIndexes - ldr r0, [r4] - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080BB258 @ =gEnemyParty - b _080BB26E - .align 2, 0 -_080BB230: .4byte gBattleAnimTarget -_080BB234: .4byte gUnknown_20399B4 -_080BB238: .4byte gUnknown_2022984 -_080BB23C: .4byte gUnknown_2022986 -_080BB240: .4byte 0x00003f3f -_080BB244: .4byte 0x00003f3d -_080BB248: .4byte 0x00003f42 -_080BB24C: .4byte gSprites -_080BB250: .4byte gUnknown_2023D44 -_080BB254: .4byte gBattlerPartyIndexes -_080BB258: .4byte gEnemyParty -_080BB25C: - ldr r1, _080BB290 @ =gBattlerPartyIndexes - ldr r0, [r4] - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080BB294 @ =gPlayerParty -_080BB26E: - adds r0, r1 - movs r1, 0xB - bl GetMonData - ldr r1, [r4] - strh r0, [r1, 0x14] - ldr r0, _080BB298 @ =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - ldr r0, _080BB29C @ =sub_80BB2A0 - str r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080BB290: .4byte gBattlerPartyIndexes -_080BB294: .4byte gPlayerParty -_080BB298: .4byte gTasks -_080BB29C: .4byte sub_80BB2A0 - thumb_func_end sub_80BB0D8 - - thumb_func_start sub_80BB2A0 -sub_80BB2A0: @ 80BB2A0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - lsls r0, 24 - lsrs r5, r0, 24 - movs r0, 0 - mov r8, r0 - ldr r6, _080BB300 @ =gUnknown_2023D44 - ldr r4, _080BB304 @ =gUnknown_20399B4 - ldr r2, [r4] - ldrb r0, [r2] - adds r1, r0, r6 - ldrb r1, [r1] - ldrh r2, [r2, 0x14] - bl sub_8076E34 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r2, [r4] - movs r1, 0xA - ldrsh r0, [r2, r1] - cmp r0, 0 - beq _080BB2E2 - ldrb r0, [r2, 0x1] - adds r1, r0, r6 - ldrb r1, [r1] - ldrh r2, [r2, 0x14] - bl sub_8076E34 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 -_080BB2E2: - mov r0, sp - bl sub_80752A0 - ldr r0, [r4] - movs r4, 0x4 - ldrsh r0, [r0, r4] - cmp r0, 0 - bne _080BB30C - mov r0, sp - ldrb r0, [r0, 0x9] - ldr r1, _080BB308 @ =gFile_graphics_battle_anims_masks_stat_tilemap_1_tilemap - bl sub_807543C - b _080BB316 - .align 2, 0 -_080BB300: .4byte gUnknown_2023D44 -_080BB304: .4byte gUnknown_20399B4 -_080BB308: .4byte gFile_graphics_battle_anims_masks_stat_tilemap_1_tilemap -_080BB30C: - mov r0, sp - ldrb r0, [r0, 0x9] - ldr r1, _080BB354 @ =gFile_graphics_battle_anims_masks_stat_tilemap_2_tilemap - bl sub_807543C -_080BB316: - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - beq _080BB32E - mov r0, sp - ldrb r0, [r0, 0x8] - ldr r1, [sp, 0x4] - movs r2, 0 - movs r3, 0 - bl sub_80730C0 -_080BB32E: - mov r0, sp - ldrb r0, [r0, 0x9] - ldr r1, _080BB358 @ =gFile_graphics_battle_anims_masks_stat_sheet - mov r2, sp - ldrh r2, [r2, 0xA] - bl sub_80753B4 - ldr r0, _080BB35C @ =gUnknown_20399B4 - ldr r0, [r0] - movs r1, 0x6 - ldrsh r0, [r0, r1] - cmp r0, 0x6 - bhi _080BB3C4 - lsls r0, 2 - ldr r1, _080BB360 @ =_080BB364 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080BB354: .4byte gFile_graphics_battle_anims_masks_stat_tilemap_2_tilemap -_080BB358: .4byte gFile_graphics_battle_anims_masks_stat_sheet -_080BB35C: .4byte gUnknown_20399B4 -_080BB360: .4byte _080BB364 - .align 2, 0 -_080BB364: - .4byte _080BB380 - .4byte _080BB388 - .4byte _080BB390 - .4byte _080BB398 - .4byte _080BB3A0 - .4byte _080BB3A8 - .4byte _080BB3B0 -_080BB380: - ldr r0, _080BB384 @ =gFile_graphics_battle_anims_masks_stat2_palette - b _080BB3B2 - .align 2, 0 -_080BB384: .4byte gFile_graphics_battle_anims_masks_stat2_palette -_080BB388: - ldr r0, _080BB38C @ =gFile_graphics_battle_anims_masks_stat1_palette - b _080BB3B2 - .align 2, 0 -_080BB38C: .4byte gFile_graphics_battle_anims_masks_stat1_palette -_080BB390: - ldr r0, _080BB394 @ =gFile_graphics_battle_anims_masks_stat3_palette - b _080BB3B2 - .align 2, 0 -_080BB394: .4byte gFile_graphics_battle_anims_masks_stat3_palette -_080BB398: - ldr r0, _080BB39C @ =gFile_graphics_battle_anims_masks_stat4_palette - b _080BB3B2 - .align 2, 0 -_080BB39C: .4byte gFile_graphics_battle_anims_masks_stat4_palette -_080BB3A0: - ldr r0, _080BB3A4 @ =gFile_graphics_battle_anims_masks_stat6_palette - b _080BB3B2 - .align 2, 0 -_080BB3A4: .4byte gFile_graphics_battle_anims_masks_stat6_palette -_080BB3A8: - ldr r0, _080BB3AC @ =gFile_graphics_battle_anims_masks_stat7_palette - b _080BB3B2 - .align 2, 0 -_080BB3AC: .4byte gFile_graphics_battle_anims_masks_stat7_palette -_080BB3B0: - ldr r0, _080BB3C0 @ =gFile_graphics_battle_anims_masks_stat8_palette -_080BB3B2: - mov r1, sp - ldrb r1, [r1, 0x8] - lsls r1, 4 - movs r2, 0x20 - bl LoadCompressedPalette - b _080BB3D2 - .align 2, 0 -_080BB3C0: .4byte gFile_graphics_battle_anims_masks_stat8_palette -_080BB3C4: - ldr r0, _080BB3FC @ =gFile_graphics_battle_anims_masks_stat5_palette - mov r1, sp - ldrb r1, [r1, 0x8] - lsls r1, 4 - movs r2, 0x20 - bl LoadCompressedPalette -_080BB3D2: - ldr r3, _080BB400 @ =gBattle_BG1_X - movs r2, 0 - strh r2, [r3] - ldr r0, _080BB404 @ =gBattle_BG1_Y - strh r2, [r0] - ldr r1, _080BB408 @ =gUnknown_20399B4 - ldr r0, [r1] - movs r4, 0x4 - ldrsh r0, [r0, r4] - adds r4, r1, 0 - cmp r0, 0x1 - bne _080BB414 - movs r0, 0x40 - strh r0, [r3] - ldr r2, _080BB40C @ =gTasks - lsls r3, r5, 2 - adds r0, r3, r5 - lsls r0, 3 - adds r0, r2 - ldr r1, _080BB410 @ =0x0000fffd - b _080BB420 - .align 2, 0 -_080BB3FC: .4byte gFile_graphics_battle_anims_masks_stat5_palette -_080BB400: .4byte gBattle_BG1_X -_080BB404: .4byte gBattle_BG1_Y -_080BB408: .4byte gUnknown_20399B4 -_080BB40C: .4byte gTasks -_080BB410: .4byte 0x0000fffd -_080BB414: - ldr r2, _080BB43C @ =gTasks - lsls r3, r5, 2 - adds r0, r3, r5 - lsls r0, 3 - adds r0, r2 - movs r1, 0x3 -_080BB420: - strh r1, [r0, 0xA] - ldr r0, [r4] - movs r1, 0xC - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080BB440 - adds r0, r3, r5 - lsls r0, 3 - adds r0, r2 - movs r1, 0xA - strh r1, [r0, 0x10] - movs r1, 0x14 - b _080BB44C - .align 2, 0 -_080BB43C: .4byte gTasks -_080BB440: - adds r0, r3, r5 - lsls r0, 3 - adds r0, r2 - movs r1, 0xD - strh r1, [r0, 0x10] - movs r1, 0x1E -_080BB44C: - strh r1, [r0, 0x12] - adds r1, r3, r5 - lsls r1, 3 - adds r1, r2 - strh r7, [r1, 0x8] - ldr r3, [r4] - ldrh r0, [r3, 0xA] - strh r0, [r1, 0xC] - mov r4, r8 - strh r4, [r1, 0xE] - ldrb r0, [r3, 0x2] - strh r0, [r1, 0x14] - ldr r2, _080BB490 @ =gUnknown_2023D44 - ldrb r0, [r3, 0x1] - adds r0, r2 - ldrb r0, [r0] - strh r0, [r1, 0x16] - ldr r0, _080BB494 @ =sub_80BB4B8 - str r0, [r1] - movs r1, 0x4 - ldrsh r0, [r3, r1] - cmp r0, 0 - bne _080BB498 - movs r0, 0x40 - negs r0, r0 - bl sub_8073B08 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 24 - movs r0, 0xE8 - bl PlaySE12WithPanning - b _080BB4AC - .align 2, 0 -_080BB490: .4byte gUnknown_2023D44 -_080BB494: .4byte sub_80BB4B8 -_080BB498: - movs r0, 0x40 - negs r0, r0 - bl sub_8073B08 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 24 - movs r0, 0xEE - bl PlaySE12WithPanning -_080BB4AC: - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80BB2A0 - - thumb_func_start sub_80BB4B8 -sub_80BB4B8: @ 80BB4B8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r2, _080BB4E4 @ =gBattle_BG1_Y - ldr r1, _080BB4E8 @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r5, r0, r1 - ldrh r0, [r5, 0xA] - ldrh r1, [r2] - adds r0, r1 - strh r0, [r2] - movs r0, 0x26 - ldrsh r2, [r5, r0] - cmp r2, 0x1 - beq _080BB52E - cmp r2, 0x1 - bgt _080BB4EC - cmp r2, 0 - beq _080BB4F6 - b _080BB644 - .align 2, 0 -_080BB4E4: .4byte gBattle_BG1_Y -_080BB4E8: .4byte gTasks -_080BB4EC: - cmp r2, 0x2 - beq _080BB544 - cmp r2, 0x3 - beq _080BB582 - b _080BB644 -_080BB4F6: - ldrh r0, [r5, 0x1E] - adds r1, r0, 0x1 - strh r1, [r5, 0x1E] - lsls r0, 16 - cmp r0, 0 - bgt _080BB504 - b _080BB644 -_080BB504: - strh r2, [r5, 0x1E] - ldrh r1, [r5, 0x20] - adds r1, 0x1 - strh r1, [r5, 0x20] - movs r0, 0x10 - subs r0, r1 - lsls r0, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r2, 0x20 - ldrsh r1, [r5, r2] - movs r2, 0x10 - ldrsh r0, [r5, r2] - cmp r1, r0 - beq _080BB52C - b _080BB644 -_080BB52C: - b _080BB57A -_080BB52E: - ldrh r0, [r5, 0x1C] - adds r0, 0x1 - strh r0, [r5, 0x1C] - lsls r0, 16 - asrs r0, 16 - movs r2, 0x12 - ldrsh r1, [r5, r2] - cmp r0, r1 - beq _080BB542 - b _080BB644 -_080BB542: - b _080BB57A -_080BB544: - ldrh r0, [r5, 0x1E] - adds r1, r0, 0x1 - strh r1, [r5, 0x1E] - lsls r0, 16 - cmp r0, 0 - ble _080BB644 - movs r0, 0 - strh r0, [r5, 0x1E] - ldrh r1, [r5, 0x20] - subs r1, 0x1 - strh r1, [r5, 0x20] - movs r0, 0x10 - subs r0, r1 - lsls r0, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r1, 0x20 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _080BB644 - movs r0, 0 - bl sub_8073128 -_080BB57A: - ldrh r0, [r5, 0x26] - adds r0, 0x1 - strh r0, [r5, 0x26] - b _080BB644 -_080BB582: - ldr r0, _080BB64C @ =gUnknown_2022984 - movs r1, 0 - strh r1, [r0] - ldr r0, _080BB650 @ =gUnknown_2022986 - strh r1, [r0] - ldr r4, _080BB654 @ =0x00003f3f - movs r0, 0x48 - adds r1, r4, 0 - bl SetGpuReg - movs r0, 0x4A - adds r1, r4, 0 - bl SetGpuReg - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080BB5B2 - movs r0, 0x1 - movs r1, 0x3 - movs r2, 0 - bl SetAnimBgAttribute -_080BB5B2: - movs r0, 0 - bl GetGpuReg - adds r1, r0, 0 - movs r2, 0x80 - lsls r2, 8 - adds r0, r2, 0 - eors r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0 - bl SetGpuReg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x8 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _080BB658 @ =gSprites - adds r0, r4 - bl DestroySprite - movs r1, 0xC - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _080BB606 - movs r2, 0xE - ldrsh r1, [r5, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite -_080BB606: - movs r1, 0x14 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - bne _080BB632 - movs r2, 0x16 - ldrsh r0, [r5, r2] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r4 - ldrb r3, [r2, 0x5] - lsls r1, r3, 28 - lsrs r1, 30 - adds r1, 0x1 - movs r0, 0x3 - ands r1, r0 - lsls r1, 2 - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x5] -_080BB632: - ldr r4, _080BB65C @ =gUnknown_20399B4 - ldr r0, [r4] - bl Free - movs r0, 0 - str r0, [r4] - adds r0, r6, 0 - bl DestroyAnimVisualTask -_080BB644: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080BB64C: .4byte gUnknown_2022984 -_080BB650: .4byte gUnknown_2022986 -_080BB654: .4byte 0x00003f3f -_080BB658: .4byte gSprites -_080BB65C: .4byte gUnknown_20399B4 - thumb_func_end sub_80BB4B8 - - thumb_func_start sub_80BB660 -sub_80BB660: @ 80BB660 - push {r4-r6,lr} - sub sp, 0xC - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0x1 - movs r3, 0x1 - bl sub_8075CB8 - adds r6, r0, 0 - movs r1, 0 - bl sub_80BB790 - ldr r0, _080BB6C0 @ =gTasks - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - adds r4, r0 - lsrs r0, r6, 16 - movs r5, 0 - strh r0, [r4, 0x24] - str r5, [sp] - str r5, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl sub_8075BE8 - adds r6, r0, 0 - ldr r1, _080BB6C4 @ =0x0000ffff - ands r6, r1 - adds r0, r6, 0 - bl sub_80BB790 - strh r6, [r4, 0x26] - strh r5, [r4, 0x8] - strh r5, [r4, 0xA] - ldr r0, _080BB6C8 @ =sub_80BB6CC - str r0, [r4] - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080BB6C0: .4byte gTasks -_080BB6C4: .4byte 0x0000ffff -_080BB6C8: .4byte sub_80BB6CC - thumb_func_end sub_80BB660 - - thumb_func_start sub_80BB6CC -sub_80BB6CC: @ 80BB6CC - push {r4-r6,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, _080BB6F0 @ =gTasks - adds r4, r0, r1 - movs r0, 0x8 - ldrsh r1, [r4, r0] - cmp r1, 0x1 - beq _080BB710 - cmp r1, 0x1 - bgt _080BB6F4 - cmp r1, 0 - beq _080BB6FA - b _080BB78A - .align 2, 0 -_080BB6F0: .4byte gTasks -_080BB6F4: - cmp r1, 0x2 - beq _080BB784 - b _080BB78A -_080BB6FA: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x6 - ble _080BB78A - strh r1, [r4, 0xA] - movs r0, 0x10 - strh r0, [r4, 0xC] - b _080BB778 -_080BB710: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080BB78A - movs r0, 0 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0xC] - subs r0, 0x1 - strh r0, [r4, 0xC] - movs r5, 0 - movs r6, 0x1 -_080BB72C: - movs r1, 0x26 - ldrsh r0, [r4, r1] - asrs r0, r5 - ands r0, r6 - cmp r0, 0 - beq _080BB746 - lsls r0, r5, 20 - lsrs r0, 16 - ldrb r2, [r4, 0xC] - movs r1, 0x10 - ldr r3, _080BB780 @ =0x0000ffff - bl BlendPalette -_080BB746: - movs r1, 0x24 - ldrsh r0, [r4, r1] - asrs r0, r5 - ands r0, r6 - cmp r0, 0 - beq _080BB766 - lsls r0, r5, 20 - movs r1, 0x80 - lsls r1, 17 - adds r0, r1 - lsrs r0, 16 - ldrb r2, [r4, 0xC] - movs r1, 0x10 - movs r3, 0 - bl BlendPalette -_080BB766: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0xF - bls _080BB72C - movs r1, 0xC - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080BB78A -_080BB778: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080BB78A - .align 2, 0 -_080BB780: .4byte 0x0000ffff -_080BB784: - adds r0, r2, 0 - bl DestroyAnimVisualTask -_080BB78A: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80BB6CC - - thumb_func_start sub_80BB790 -sub_80BB790: @ 80BB790 - push {r4-r6,lr} - adds r3, r0, 0 - lsls r1, 16 - lsrs r6, r1, 16 - movs r2, 0 -_080BB79A: - movs r0, 0x1 - ands r0, r3 - lsrs r4, r3, 1 - adds r5, r2, 0x1 - cmp r0, 0 - beq _080BB7C6 - lsls r0, r2, 20 - lsrs r2, r0, 16 - adds r0, r2, 0 - adds r0, 0x10 - cmp r2, r0 - bge _080BB7C6 - ldr r1, _080BB7D8 @ =gPlttBufferFaded - adds r3, r0, 0 -_080BB7B6: - lsls r0, r2, 1 - adds r0, r1 - strh r6, [r0] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, r3 - blt _080BB7B6 -_080BB7C6: - adds r3, r4, 0 - lsls r0, r5, 16 - lsrs r2, r0, 16 - cmp r2, 0x1F - bls _080BB79A - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080BB7D8: .4byte gPlttBufferFaded - thumb_func_end sub_80BB790 - - thumb_func_start sub_80BB7DC -sub_80BB7DC: @ 80BB7DC - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - movs r4, 0 - movs r2, 0 - ldr r0, _080BB824 @ =gBattleAnimAttacker - ldrb r3, [r0] - movs r5, 0x1 -_080BB7EC: - cmp r3, r2 - beq _080BB7FA - adds r1, r2, 0 - adds r1, 0x10 - adds r0, r5, 0 - lsls r0, r1 - orrs r4, r0 -_080BB7FA: - adds r2, 0x1 - cmp r2, 0x3 - bls _080BB7EC - movs r2, 0x5 - ldr r0, _080BB828 @ =gBattleAnimArgs - adds r1, r0, 0 - adds r1, 0x8 -_080BB808: - ldrh r0, [r1] - strh r0, [r1, 0x2] - subs r1, 0x2 - subs r2, 0x1 - cmp r2, 0 - bne _080BB808 - adds r0, r6, 0 - adds r1, r4, 0 - bl sub_80BAA4C - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080BB824: .4byte gBattleAnimAttacker -_080BB828: .4byte gBattleAnimArgs - thumb_func_end sub_80BB7DC - - thumb_func_start sub_80BB82C -sub_80BB82C: @ 80BB82C - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - movs r0, 0 - bl sub_8075458 - ldr r0, _080BB894 @ =sub_80BB8A4 - movs r1, 0x5 - bl CreateTask - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, _080BB898 @ =gBattleAnimArgs - movs r1, 0x4 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080BB868 - ldr r0, _080BB89C @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080BB868 - ldrh r0, [r4] - negs r0, r0 - strh r0, [r4] - ldrh r0, [r4, 0x2] - negs r0, r0 - strh r0, [r4, 0x2] -_080BB868: - ldr r0, _080BB8A0 @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r2, _080BB898 @ =gBattleAnimArgs - ldrh r0, [r2] - strh r0, [r1, 0xA] - ldrh r0, [r2, 0x2] - strh r0, [r1, 0xC] - ldrh r0, [r2, 0x6] - strh r0, [r1, 0xE] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - adds r0, r6, 0 - bl DestroyAnimVisualTask - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080BB894: .4byte sub_80BB8A4 -_080BB898: .4byte gBattleAnimArgs -_080BB89C: .4byte gBattleAnimAttacker -_080BB8A0: .4byte gTasks - thumb_func_end sub_80BB82C - - thumb_func_start sub_80BB8A4 -sub_80BB8A4: @ 80BB8A4 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _080BB910 @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldrh r3, [r1, 0xA] - ldrh r0, [r1, 0x1C] - adds r3, r0 - movs r4, 0 - mov r12, r4 - strh r3, [r1, 0x1C] - ldrh r2, [r1, 0xC] - ldrh r7, [r1, 0x1E] - adds r2, r7 - strh r2, [r1, 0x1E] - ldr r6, _080BB914 @ =gBattle_BG3_X - lsls r0, r3, 16 - asrs r0, 24 - ldrh r4, [r6] - adds r0, r4 - strh r0, [r6] - ldr r4, _080BB918 @ =gBattle_BG3_Y - lsls r0, r2, 16 - asrs r0, 24 - ldrh r7, [r4] - adds r0, r7 - strh r0, [r4] - movs r0, 0xFF - ands r3, r0 - strh r3, [r1, 0x1C] - ands r2, r0 - strh r2, [r1, 0x1E] - ldr r0, _080BB91C @ =gBattleAnimArgs - movs r3, 0xE - ldrsh r2, [r0, r3] - movs r7, 0xE - ldrsh r0, [r1, r7] - cmp r2, r0 - bne _080BB90A - mov r0, r12 - strh r0, [r6] - strh r0, [r4] - movs r0, 0x1 - bl sub_8075458 - adds r0, r5, 0 - bl DestroyTask -_080BB90A: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080BB910: .4byte gTasks -_080BB914: .4byte gBattle_BG3_X -_080BB918: .4byte gBattle_BG3_Y -_080BB91C: .4byte gBattleAnimArgs - thumb_func_end sub_80BB8A4 - - thumb_func_start sub_80BB920 -sub_80BB920: @ 80BB920 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _080BB944 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - ldr r1, _080BB948 @ =gBattleAnimArgs - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0xE] - adds r0, r4, 0 - bl DestroyAnimVisualTask - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080BB944: .4byte gBattleAnimAttacker -_080BB948: .4byte gBattleAnimArgs - thumb_func_end sub_80BB920 - - thumb_func_start sub_80BB94C -sub_80BB94C: @ 80BB94C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _080BB970 @ =gBattleAnimTarget - ldrb r0, [r0] - bl GetBattlerSide - ldr r1, _080BB974 @ =gBattleAnimArgs - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0xE] - adds r0, r4, 0 - bl DestroyAnimVisualTask - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080BB970: .4byte gBattleAnimTarget -_080BB974: .4byte gBattleAnimArgs - thumb_func_end sub_80BB94C - - thumb_func_start sub_80BB978 -sub_80BB978: @ 80BB978 - push {r4,r5,lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r5, _080BB9A4 @ =gBattleAnimArgs - movs r4, 0 - ldr r0, _080BB9A8 @ =gBattleAnimAttacker - ldrb r2, [r0] - movs r0, 0x2 - ldr r1, _080BB9AC @ =gBattleAnimTarget - eors r0, r2 - ldrb r1, [r1] - cmp r0, r1 - bne _080BB994 - movs r4, 0x1 -_080BB994: - strh r4, [r5, 0xE] - adds r0, r3, 0 - bl DestroyAnimVisualTask - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080BB9A4: .4byte gBattleAnimArgs -_080BB9A8: .4byte gBattleAnimAttacker -_080BB9AC: .4byte gBattleAnimTarget - thumb_func_end sub_80BB978 - - thumb_func_start sub_80BB9B0 -sub_80BB9B0: @ 80BB9B0 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - ldr r6, _080BBA10 @ =gSprites -_080BB9BA: - ldr r0, _080BBA14 @ =gBattleAnimAttacker - ldrb r0, [r0] - cmp r4, r0 - beq _080BB9F8 - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_8072DF0 - lsls r0, 24 - cmp r0, 0 - beq _080BB9F8 - ldr r0, _080BBA18 @ =gUnknown_2023D44 - adds r0, r4, r0 - ldrb r0, [r0] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r6 - ldr r1, _080BBA1C @ =gBattleAnimArgs - adds r2, 0x3E - movs r0, 0x1 - ldrb r3, [r1] - ands r3, r0 - lsls r3, 2 - ldrb r0, [r2] - movs r7, 0x5 - negs r7, r7 - adds r1, r7, 0 - ands r0, r1 - orrs r0, r3 - strb r0, [r2] -_080BB9F8: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x3 - bls _080BB9BA - adds r0, r5, 0 - bl DestroyAnimVisualTask - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080BBA10: .4byte gSprites -_080BBA14: .4byte gBattleAnimAttacker -_080BBA18: .4byte gUnknown_2023D44 -_080BBA1C: .4byte gBattleAnimArgs - thumb_func_end sub_80BB9B0 - - thumb_func_start sub_80BBA20 -sub_80BBA20: @ 80BBA20 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x24 - ldr r1, [sp, 0x44] - ldr r4, [sp, 0x48] - ldr r5, [sp, 0x4C] - ldr r6, [sp, 0x50] - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - lsls r2, 16 - lsrs r2, 16 - str r2, [sp, 0x14] - lsls r3, 24 - lsrs r7, r3, 24 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - lsls r4, 24 - lsrs r4, 24 - str r4, [sp, 0x18] - lsls r5, 24 - lsrs r5, 24 - str r5, [sp, 0x1C] - lsls r6, 24 - lsrs r6, 24 - mov r10, r6 - movs r0, 0 - str r0, [sp, 0x20] - movs r0, 0x2 - adds r6, r7, 0 - eors r6, r0 - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080BBA82 - mov r1, r8 - cmp r1, 0 - beq _080BBA86 - adds r0, r6, 0 - bl sub_8072DF0 - lsls r0, 24 - cmp r0, 0 - bne _080BBA86 -_080BBA82: - movs r2, 0 - mov r8, r2 -_080BBA86: - ldr r0, _080BBB20 @ =gUnknown_2022984 - movs r1, 0 - strh r1, [r0] - ldr r0, _080BBB24 @ =gUnknown_2022986 - strh r1, [r0] - ldr r1, _080BBB28 @ =0x00003f3f - movs r0, 0x48 - bl SetGpuReg - ldr r1, _080BBB2C @ =0x00003f3d - movs r0, 0x4A - bl SetGpuReg - movs r1, 0x80 - lsls r1, 8 - movs r0, 0 - bl SetGpuRegBits - ldr r1, _080BBB30 @ =0x00003f42 - movs r0, 0x50 - bl SetGpuReg - movs r1, 0x80 - lsls r1, 5 - movs r0, 0x52 - bl SetGpuReg - movs r0, 0xA - bl GetGpuReg - add r4, sp, 0x10 - strh r0, [r4] - ldrb r1, [r4] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - strb r0, [r4] - mov r2, sp - adds r2, 0x11 - ldrb r1, [r2] - movs r0, 0x3F - ands r0, r1 - strb r0, [r2] - ldrb r0, [r2] - movs r1, 0x20 - orrs r0, r1 - strb r0, [r2] - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080BBAFC - ldrb r0, [r4] - movs r1, 0xD - negs r1, r1 - ands r1, r0 - movs r0, 0x4 - orrs r1, r0 - strb r1, [r4] -_080BBAFC: - ldrh r1, [r4] - movs r0, 0xA - bl SetGpuReg - adds r0, r7, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080BBB3C - ldr r1, _080BBB34 @ =gBattlerPartyIndexes - lsls r0, r7, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080BBB38 @ =gEnemyParty - b _080BBB4A - .align 2, 0 -_080BBB20: .4byte gUnknown_2022984 -_080BBB24: .4byte gUnknown_2022986 -_080BBB28: .4byte 0x00003f3f -_080BBB2C: .4byte 0x00003f3d -_080BBB30: .4byte 0x00003f42 -_080BBB34: .4byte gBattlerPartyIndexes -_080BBB38: .4byte gEnemyParty -_080BBB3C: - ldr r1, _080BBC10 @ =gBattlerPartyIndexes - lsls r0, r7, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080BBC14 @ =gPlayerParty -_080BBB4A: - adds r0, r1 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r4, r0, 16 - ldr r5, _080BBC18 @ =gUnknown_2023D44 - adds r0, r7, r5 - ldrb r1, [r0] - adds r0, r7, 0 - adds r2, r4, 0 - bl sub_8076E34 - lsls r0, 24 - lsrs r7, r0, 24 - mov r0, r8 - cmp r0, 0 - beq _080BBB80 - adds r0, r6, r5 - ldrb r1, [r0] - adds r0, r6, 0 - adds r2, r4, 0 - bl sub_8076E34 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x20] -_080BBB80: - mov r0, sp - bl sub_80752A0 - mov r0, sp - ldrb r0, [r0, 0x9] - ldr r1, [sp, 0x58] - bl sub_807543C - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - beq _080BBBA8 - mov r0, sp - ldrb r0, [r0, 0x8] - ldr r1, [sp, 0x4] - movs r2, 0 - movs r3, 0 - bl sub_80730C0 -_080BBBA8: - mov r0, sp - ldrb r0, [r0, 0x9] - mov r1, sp - ldrh r2, [r1, 0xA] - ldr r1, [sp, 0x54] - bl sub_80753B4 - mov r0, sp - ldrb r1, [r0, 0x8] - lsls r1, 4 - ldr r0, [sp, 0x5C] - movs r2, 0x20 - bl LoadCompressedPalette - ldr r0, _080BBC1C @ =gBattle_BG1_X - movs r1, 0 - strh r1, [r0] - ldr r0, _080BBC20 @ =gBattle_BG1_Y - strh r1, [r0] - ldr r1, _080BBC24 @ =gTasks - mov r2, r9 - lsls r0, r2, 2 - add r0, r9 - lsls r0, 3 - adds r0, r1 - mov r1, sp - ldrh r1, [r1, 0x14] - strh r1, [r0, 0xA] - mov r2, sp - ldrh r2, [r2, 0x18] - strh r2, [r0, 0x10] - mov r1, r10 - strh r1, [r0, 0x12] - mov r2, sp - ldrh r2, [r2, 0x1C] - strh r2, [r0, 0x14] - strh r7, [r0, 0x8] - mov r1, r8 - strh r1, [r0, 0xC] - mov r2, sp - ldrh r2, [r2, 0x20] - strh r2, [r0, 0xE] - ldr r1, _080BBC28 @ =sub_80BBC2C - str r1, [r0] - add sp, 0x24 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080BBC10: .4byte gBattlerPartyIndexes -_080BBC14: .4byte gPlayerParty -_080BBC18: .4byte gUnknown_2023D44 -_080BBC1C: .4byte gBattle_BG1_X -_080BBC20: .4byte gBattle_BG1_Y -_080BBC24: .4byte gTasks -_080BBC28: .4byte sub_80BBC2C - thumb_func_end sub_80BBA20 - - thumb_func_start sub_80BBC2C -sub_80BBC2C: @ 80BBC2C - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, _080BBC68 @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r3, r0, r1 - movs r0, 0xA - ldrsh r2, [r3, r0] - adds r5, r1, 0 - cmp r2, 0 - bge _080BBC4A - negs r2, r2 -_080BBC4A: - ldrh r0, [r3, 0x22] - adds r4, r0, r2 - strh r4, [r3, 0x22] - movs r1, 0xA - ldrsh r0, [r3, r1] - cmp r0, 0 - bge _080BBC70 - ldr r2, _080BBC6C @ =gBattle_BG1_Y - lsls r1, r4, 16 - asrs r1, 24 - ldrh r0, [r2] - subs r0, r1 - strh r0, [r2] - b _080BBC7C - .align 2, 0 -_080BBC68: .4byte gTasks -_080BBC6C: .4byte gBattle_BG1_Y -_080BBC70: - ldr r1, _080BBCA0 @ =gBattle_BG1_Y - lsls r0, r4, 16 - asrs r0, 24 - ldrh r2, [r1] - adds r0, r2 - strh r0, [r1] -_080BBC7C: - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r5, r0, r5 - ldrh r1, [r5, 0x22] - movs r0, 0xFF - ands r0, r1 - movs r2, 0 - strh r0, [r5, 0x22] - movs r3, 0x26 - ldrsh r0, [r5, r3] - cmp r0, 0x1 - beq _080BBCE6 - cmp r0, 0x1 - bgt _080BBCA4 - cmp r0, 0 - beq _080BBCAA - b _080BBDD8 - .align 2, 0 -_080BBCA0: .4byte gBattle_BG1_Y -_080BBCA4: - cmp r0, 0x2 - beq _080BBD00 - b _080BBDD8 -_080BBCAA: - ldrh r0, [r5, 0x1E] - adds r1, r0, 0x1 - strh r1, [r5, 0x1E] - lsls r0, 16 - asrs r0, 16 - movs r3, 0x14 - ldrsh r1, [r5, r3] - cmp r0, r1 - bge _080BBCBE - b _080BBDD8 -_080BBCBE: - strh r2, [r5, 0x1E] - ldrh r1, [r5, 0x20] - adds r1, 0x1 - strh r1, [r5, 0x20] - movs r0, 0x10 - subs r0, r1 - lsls r0, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r0, 0x20 - ldrsh r1, [r5, r0] - movs r2, 0x10 - ldrsh r0, [r5, r2] - cmp r1, r0 - bne _080BBDD8 - b _080BBCF8 -_080BBCE6: - ldrh r0, [r5, 0x1C] - adds r0, 0x1 - strh r0, [r5, 0x1C] - lsls r0, 16 - asrs r0, 16 - movs r3, 0x12 - ldrsh r1, [r5, r3] - cmp r0, r1 - bne _080BBDD8 -_080BBCF8: - ldrh r0, [r5, 0x26] - adds r0, 0x1 - strh r0, [r5, 0x26] - b _080BBDD8 -_080BBD00: - ldrh r0, [r5, 0x1E] - adds r1, r0, 0x1 - strh r1, [r5, 0x1E] - lsls r0, 16 - asrs r0, 16 - movs r3, 0x14 - ldrsh r1, [r5, r3] - cmp r0, r1 - blt _080BBDD8 - strh r2, [r5, 0x1E] - ldrh r1, [r5, 0x20] - subs r1, 0x1 - strh r1, [r5, 0x20] - movs r0, 0x10 - subs r0, r1 - lsls r0, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r0, 0x20 - ldrsh r4, [r5, r0] - cmp r4, 0 - bne _080BBDD8 - movs r0, 0 - bl sub_8073128 - ldr r0, _080BBDE0 @ =gUnknown_2022984 - strh r4, [r0] - ldr r0, _080BBDE4 @ =gUnknown_2022986 - strh r4, [r0] - ldr r4, _080BBDE8 @ =0x00003f3f - movs r0, 0x48 - adds r1, r4, 0 - bl SetGpuReg - movs r0, 0x4A - adds r1, r4, 0 - bl SetGpuReg - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080BBD7E - movs r0, 0xA - bl GetGpuReg - mov r1, sp - strh r0, [r1] - mov r2, sp - ldrb r1, [r2] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - strb r0, [r2] - mov r0, sp - ldrh r1, [r0] - movs r0, 0xA - bl SetGpuReg -_080BBD7E: - movs r0, 0 - bl GetGpuReg - adds r1, r0, 0 - movs r2, 0x80 - lsls r2, 8 - adds r0, r2, 0 - eors r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0 - bl SetGpuReg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r3, 0x8 - ldrsh r1, [r5, r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _080BBDEC @ =gSprites - adds r0, r4 - bl DestroySprite - movs r1, 0xC - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _080BBDD2 - movs r2, 0xE - ldrsh r1, [r5, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite -_080BBDD2: - adds r0, r6, 0 - bl DestroyAnimVisualTask -_080BBDD8: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080BBDE0: .4byte gUnknown_2022984 -_080BBDE4: .4byte gUnknown_2022986 -_080BBDE8: .4byte 0x00003f3f -_080BBDEC: .4byte gSprites - thumb_func_end sub_80BBC2C - - thumb_func_start sub_80BBDF0 -sub_80BBDF0: @ 80BBDF0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080BBE08 @ =gBattleAnimArgs - ldr r1, _080BBE0C @ =gUnknown_2022B50 - ldrb r1, [r1] - strh r1, [r2] - bl DestroyAnimVisualTask - pop {r0} - bx r0 - .align 2, 0 -_080BBE08: .4byte gBattleAnimArgs -_080BBE0C: .4byte gUnknown_2022B50 - thumb_func_end sub_80BBDF0 - - thumb_func_start sub_80BBE10 -sub_80BBE10: @ 80BBE10 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x80 - lsls r0, 6 - bl AllocZeroed - ldr r1, _080BBE38 @ =gMonSpritesGfxPtr - ldr r1, [r1] - movs r2, 0xBE - lsls r2, 1 - adds r1, r2 - str r0, [r1] - adds r0, r4, 0 - bl DestroyAnimVisualTask - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080BBE38: .4byte gMonSpritesGfxPtr - thumb_func_end sub_80BBE10 - - thumb_func_start sub_80BBE3C -sub_80BBE3C: @ 80BBE3C - push {r4-r6,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r6, _080BBE68 @ =gMonSpritesGfxPtr - ldr r0, [r6] - movs r5, 0xBE - lsls r5, 1 - adds r0, r5 - ldr r0, [r0] - bl Free - ldr r0, [r6] - adds r0, r5 - movs r1, 0 - str r1, [r0] - adds r0, r4, 0 - bl DestroyAnimVisualTask - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080BBE68: .4byte gMonSpritesGfxPtr - thumb_func_end sub_80BBE3C - - thumb_func_start sub_80BBE6C -sub_80BBE6C: @ 80BBE6C - push {r4,r5,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - ldr r0, _080BBEAC @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080BBEB0 - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl sub_8075BE8 - adds r1, r0, 0 - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080BBEC8 - movs r2, 0x1 -_080BBE9E: - lsrs r1, 1 - adds r4, 0x1 - adds r0, r1, 0 - ands r0, r2 - cmp r0, 0 - beq _080BBE9E - b _080BBEC8 - .align 2, 0 -_080BBEAC: .4byte gBattleAnimArgs -_080BBEB0: - cmp r0, 0x1 - bne _080BBEBC - ldr r0, _080BBEB8 @ =gBattleAnimAttacker - b _080BBEC2 - .align 2, 0 -_080BBEB8: .4byte gBattleAnimAttacker -_080BBEBC: - cmp r0, 0x2 - bne _080BBEC8 - ldr r0, _080BBEF8 @ =gBattleAnimTarget -_080BBEC2: - ldrb r0, [r0] - adds r4, r0, 0 - adds r4, 0x10 -_080BBEC8: - ldr r0, _080BBEFC @ =gMonSpritesGfxPtr - ldr r1, [r0] - ldr r0, _080BBF00 @ =gBattleAnimArgs - movs r2, 0x2 - ldrsh r0, [r0, r2] - movs r2, 0xBE - lsls r2, 1 - adds r1, r2 - ldr r1, [r1] - lsls r0, 5 - adds r0, r1 - lsls r1, r4, 5 - ldr r2, _080BBF04 @ =gPlttBufferUnfaded - adds r1, r2 - movs r2, 0x20 - bl memcpy - adds r0, r5, 0 - bl DestroyAnimVisualTask - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080BBEF8: .4byte gBattleAnimTarget -_080BBEFC: .4byte gMonSpritesGfxPtr -_080BBF00: .4byte gBattleAnimArgs -_080BBF04: .4byte gPlttBufferUnfaded - thumb_func_end sub_80BBE6C - - thumb_func_start sub_80BBF08 -sub_80BBF08: @ 80BBF08 - push {r4,r5,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - ldr r0, _080BBF48 @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080BBF4C - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl sub_8075BE8 - adds r1, r0, 0 - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080BBF64 - movs r2, 0x1 -_080BBF3A: - lsrs r1, 1 - adds r4, 0x1 - adds r0, r1, 0 - ands r0, r2 - cmp r0, 0 - beq _080BBF3A - b _080BBF64 - .align 2, 0 -_080BBF48: .4byte gBattleAnimArgs -_080BBF4C: - cmp r0, 0x1 - bne _080BBF58 - ldr r0, _080BBF54 @ =gBattleAnimAttacker - b _080BBF5E - .align 2, 0 -_080BBF54: .4byte gBattleAnimAttacker -_080BBF58: - cmp r0, 0x2 - bne _080BBF64 - ldr r0, _080BBF94 @ =gBattleAnimTarget -_080BBF5E: - ldrb r0, [r0] - adds r4, r0, 0 - adds r4, 0x10 -_080BBF64: - lsls r0, r4, 5 - ldr r1, _080BBF98 @ =gPlttBufferUnfaded - adds r0, r1 - ldr r1, _080BBF9C @ =gMonSpritesGfxPtr - ldr r2, [r1] - ldr r1, _080BBFA0 @ =gBattleAnimArgs - movs r3, 0x2 - ldrsh r1, [r1, r3] - movs r3, 0xBE - lsls r3, 1 - adds r2, r3 - ldr r2, [r2] - lsls r1, 5 - adds r1, r2 - movs r2, 0x20 - bl memcpy - adds r0, r5, 0 - bl DestroyAnimVisualTask - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080BBF94: .4byte gBattleAnimTarget -_080BBF98: .4byte gPlttBufferUnfaded -_080BBF9C: .4byte gMonSpritesGfxPtr -_080BBFA0: .4byte gBattleAnimArgs - thumb_func_end sub_80BBF08 - - thumb_func_start sub_80BBFA4 -sub_80BBFA4: @ 80BBFA4 - push {r4,r5,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - ldr r0, _080BBFE4 @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080BBFE8 - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl sub_8075BE8 - adds r1, r0, 0 - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080BC000 - movs r2, 0x1 -_080BBFD6: - lsrs r1, 1 - adds r4, 0x1 - adds r0, r1, 0 - ands r0, r2 - cmp r0, 0 - beq _080BBFD6 - b _080BC000 - .align 2, 0 -_080BBFE4: .4byte gBattleAnimArgs -_080BBFE8: - cmp r0, 0x1 - bne _080BBFF4 - ldr r0, _080BBFF0 @ =gBattleAnimAttacker - b _080BBFFA - .align 2, 0 -_080BBFF0: .4byte gBattleAnimAttacker -_080BBFF4: - cmp r0, 0x2 - bne _080BC000 - ldr r0, _080BC020 @ =gBattleAnimTarget -_080BBFFA: - ldrb r0, [r0] - adds r4, r0, 0 - adds r4, 0x10 -_080BC000: - lsls r1, r4, 5 - ldr r0, _080BC024 @ =gPlttBufferUnfaded - adds r0, r1, r0 - ldr r2, _080BC028 @ =gPlttBufferFaded - adds r1, r2 - movs r2, 0x20 - bl memcpy - adds r0, r5, 0 - bl DestroyAnimVisualTask - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080BC020: .4byte gBattleAnimTarget -_080BC024: .4byte gPlttBufferUnfaded -_080BC028: .4byte gPlttBufferFaded - thumb_func_end sub_80BBFA4 - - thumb_func_start sub_80BC02C -sub_80BC02C: @ 80BC02C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_8073788 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _080BC04C - ldr r1, _080BC048 @ =gBattleAnimArgs - movs r0, 0x1 - strh r0, [r1, 0xE] - b _080BC050 - .align 2, 0 -_080BC048: .4byte gBattleAnimArgs -_080BC04C: - ldr r0, _080BC05C @ =gBattleAnimArgs - strh r1, [r0, 0xE] -_080BC050: - adds r0, r4, 0 - bl DestroyAnimVisualTask - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080BC05C: .4byte gBattleAnimArgs - thumb_func_end sub_80BC02C - - thumb_func_start sub_80BC060 -sub_80BC060: @ 80BC060 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080BC080 @ =gBattleAnimAttacker - ldr r1, _080BC084 @ =gBattlerTarget - ldrb r1, [r1] - strb r1, [r2] - ldr r2, _080BC088 @ =gBattleAnimTarget - ldr r1, _080BC08C @ =gUnknown_2023D6E - ldrb r1, [r1] - strb r1, [r2] - bl DestroyAnimVisualTask - pop {r0} - bx r0 - .align 2, 0 -_080BC080: .4byte gBattleAnimAttacker -_080BC084: .4byte gBattlerTarget -_080BC088: .4byte gBattleAnimTarget -_080BC08C: .4byte gUnknown_2023D6E - thumb_func_end sub_80BC060 - - thumb_func_start sub_80BC090 -sub_80BC090: @ 80BC090 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _080BC0B8 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - adds r4, r0, 0 - ldr r0, _080BC0BC @ =gBattleAnimTarget - ldrb r0, [r0] - bl GetBattlerSide - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - bne _080BC0C4 - ldr r1, _080BC0C0 @ =gBattleAnimArgs - movs r0, 0x1 - b _080BC0C8 - .align 2, 0 -_080BC0B8: .4byte gBattleAnimAttacker -_080BC0BC: .4byte gBattleAnimTarget -_080BC0C0: .4byte gBattleAnimArgs -_080BC0C4: - ldr r1, _080BC0D8 @ =gBattleAnimArgs - movs r0, 0 -_080BC0C8: - strh r0, [r1, 0xE] - adds r0, r5, 0 - bl DestroyAnimVisualTask - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080BC0D8: .4byte gBattleAnimArgs - thumb_func_end sub_80BC090 - - thumb_func_start sub_80BC0DC -sub_80BC0DC: @ 80BC0DC - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080BC0F4 @ =gBattleAnimTarget - ldr r1, _080BC0F8 @ =gBattlerTarget - ldrb r1, [r1] - strb r1, [r2] - bl DestroyAnimVisualTask - pop {r0} - bx r0 - .align 2, 0 -_080BC0F4: .4byte gBattleAnimTarget -_080BC0F8: .4byte gBattlerTarget - thumb_func_end sub_80BC0DC - - thumb_func_start sub_80BC0FC -sub_80BC0FC: @ 80BC0FC - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080BC11C @ =gBattleAnimAttacker - ldr r1, _080BC120 @ =sBattler_AI - ldrb r1, [r1] - strb r1, [r2] - ldr r2, _080BC124 @ =gBattleAnimTarget - ldr r1, _080BC128 @ =gUnknown_2023D6E - ldrb r1, [r1] - strb r1, [r2] - bl DestroyAnimVisualTask - pop {r0} - bx r0 - .align 2, 0 -_080BC11C: .4byte gBattleAnimAttacker -_080BC120: .4byte sBattler_AI -_080BC124: .4byte gBattleAnimTarget -_080BC128: .4byte gUnknown_2023D6E - thumb_func_end sub_80BC0FC - - thumb_func_start sub_80BC12C -sub_80BC12C: @ 80BC12C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - beq _080BC144 - adds r0, r4, 0 - bl DestroyAnimVisualTask - b _080BC180 -_080BC144: - ldr r0, _080BC188 @ =gTasks - lsls r3, r4, 2 - adds r3, r4 - lsls r3, 3 - adds r3, r0 - ldr r0, _080BC18C @ =gUnknown_2024018 - ldr r4, [r0] - ldr r2, _080BC190 @ =gBattleAnimAttacker - ldrb r0, [r2] - ldr r1, [r4] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - lsls r0, 31 - lsrs r0, 31 - strh r0, [r3, 0x8] - ldrb r1, [r2] - ldr r0, [r4] - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1] - movs r2, 0x1 - orrs r0, r2 - strb r0, [r1] - ldr r0, _080BC194 @ =sub_80BC19C - str r0, [r3] - ldr r1, _080BC198 @ =gUnknown_2037EE2 - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] -_080BC180: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080BC188: .4byte gTasks -_080BC18C: .4byte gUnknown_2024018 -_080BC190: .4byte gBattleAnimAttacker -_080BC194: .4byte sub_80BC19C -_080BC198: .4byte gUnknown_2037EE2 - thumb_func_end sub_80BC12C - - thumb_func_start sub_80BC19C -sub_80BC19C: @ 80BC19C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080BC1E8 @ =gBattleAnimArgs - movs r2, 0xE - ldrsh r1, [r0, r2] - movs r0, 0x80 - lsls r0, 5 - cmp r1, r0 - bne _080BC1E0 - ldr r0, _080BC1EC @ =gUnknown_2024018 - ldr r1, [r0] - ldr r0, _080BC1F0 @ =gBattleAnimAttacker - ldrb r3, [r0] - ldr r0, [r1] - lsls r3, 2 - adds r3, r0 - ldr r1, _080BC1F4 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldrb r0, [r0, 0x8] - movs r1, 0x1 - ands r1, r0 - ldrb r2, [r3] - movs r0, 0x2 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - adds r0, r4, 0 - bl DestroyTask -_080BC1E0: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080BC1E8: .4byte gBattleAnimArgs -_080BC1EC: .4byte gUnknown_2024018 -_080BC1F0: .4byte gBattleAnimAttacker -_080BC1F4: .4byte gTasks - thumb_func_end sub_80BC19C - - thumb_func_start SetAnimBgAttribute -SetAnimBgAttribute: @ 80BC1F8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - lsls r2, 24 - lsrs r4, r2, 24 - cmp r6, 0x3 - bls _080BC20C - b _080BC2FE -_080BC20C: - ldr r0, _080BC228 @ =gUnknown_83E7CCA - adds r0, r6, r0 - ldrb r0, [r0] - bl GetGpuReg - ldr r1, _080BC22C @ =gUnknown_20399B8 - strh r0, [r1] - cmp r5, 0x6 - bhi _080BC2F0 - lsls r0, r5, 2 - ldr r1, _080BC230 @ =_080BC234 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080BC228: .4byte gUnknown_83E7CCA -_080BC22C: .4byte gUnknown_20399B8 -_080BC230: .4byte _080BC234 - .align 2, 0 -_080BC234: - .4byte _080BC250 - .4byte _080BC264 - .4byte _080BC27C - .4byte _080BC294 - .4byte _080BC2AC - .4byte _080BC2C8 - .4byte _080BC2DC -_080BC250: - ldr r2, _080BC260 @ =gUnknown_20399B8 - lsls r3, r4, 6 - ldrb r1, [r2, 0x1] - movs r0, 0x3F - ands r0, r1 - orrs r0, r3 - strb r0, [r2, 0x1] - b _080BC2F0 - .align 2, 0 -_080BC260: .4byte gUnknown_20399B8 -_080BC264: - ldr r3, _080BC278 @ =gUnknown_20399B8 - movs r0, 0x1 - adds r1, r4, 0 - ands r1, r0 - lsls r1, 5 - ldrb r2, [r3, 0x1] - movs r0, 0x21 - negs r0, r0 - b _080BC2EA - .align 2, 0 -_080BC278: .4byte gUnknown_20399B8 -_080BC27C: - ldr r3, _080BC290 @ =gUnknown_20399B8 - movs r0, 0x1 - adds r1, r4, 0 - ands r1, r0 - lsls r1, 6 - ldrb r2, [r3] - movs r0, 0x41 - negs r0, r0 - b _080BC2BA - .align 2, 0 -_080BC290: .4byte gUnknown_20399B8 -_080BC294: - ldr r3, _080BC2A8 @ =gUnknown_20399B8 - movs r0, 0x3 - adds r1, r4, 0 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r3] - movs r0, 0xD - negs r0, r0 - b _080BC2BA - .align 2, 0 -_080BC2A8: .4byte gUnknown_20399B8 -_080BC2AC: - ldr r3, _080BC2C4 @ =gUnknown_20399B8 - movs r0, 0x3 - adds r1, r4, 0 - ands r1, r0 - ldrb r2, [r3] - movs r0, 0x4 - negs r0, r0 -_080BC2BA: - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - b _080BC2F0 - .align 2, 0 -_080BC2C4: .4byte gUnknown_20399B8 -_080BC2C8: - ldr r2, _080BC2D8 @ =gUnknown_20399B8 - lsls r3, r4, 7 - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - orrs r0, r3 - strb r0, [r2] - b _080BC2F0 - .align 2, 0 -_080BC2D8: .4byte gUnknown_20399B8 -_080BC2DC: - ldr r3, _080BC304 @ =gUnknown_20399B8 - movs r0, 0x1F - adds r1, r4, 0 - ands r1, r0 - ldrb r2, [r3, 0x1] - movs r0, 0x20 - negs r0, r0 -_080BC2EA: - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x1] -_080BC2F0: - ldr r0, _080BC308 @ =gUnknown_83E7CCA - adds r0, r6, r0 - ldrb r0, [r0] - ldr r1, _080BC304 @ =gUnknown_20399B8 - ldrh r1, [r1] - bl SetGpuReg -_080BC2FE: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080BC304: .4byte gUnknown_20399B8 -_080BC308: .4byte gUnknown_83E7CCA - thumb_func_end SetAnimBgAttribute - - thumb_func_start sub_80BC30C -sub_80BC30C: @ 80BC30C - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r2, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - cmp r2, 0x3 - bhi _080BC394 - ldr r0, _080BC338 @ =gUnknown_83E7CCE - adds r0, r2, r0 - ldrb r0, [r0] - bl GetGpuReg - mov r1, sp - strh r0, [r1] - cmp r4, 0x6 - bhi _080BC394 - lsls r0, r4, 2 - ldr r1, _080BC33C @ =_080BC340 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080BC338: .4byte gUnknown_83E7CCE -_080BC33C: .4byte _080BC340 - .align 2, 0 -_080BC340: - .4byte _080BC35C - .4byte _080BC364 - .4byte _080BC36C - .4byte _080BC374 - .4byte _080BC37C - .4byte _080BC384 - .4byte _080BC38C -_080BC35C: - ldr r0, [sp] - lsls r0, 16 - lsrs r0, 30 - b _080BC396 -_080BC364: - ldr r0, [sp] - lsls r0, 18 - lsrs r0, 31 - b _080BC396 -_080BC36C: - ldr r0, [sp] - lsls r0, 25 - lsrs r0, 31 - b _080BC396 -_080BC374: - ldr r0, [sp] - lsls r0, 28 - lsrs r0, 30 - b _080BC396 -_080BC37C: - ldr r0, [sp] - lsls r0, 30 - lsrs r0, 30 - b _080BC396 -_080BC384: - ldr r0, [sp] - lsls r0, 24 - lsrs r0, 31 - b _080BC396 -_080BC38C: - ldr r0, [sp] - lsls r0, 19 - lsrs r0, 27 - b _080BC396 -_080BC394: - movs r0, 0 -_080BC396: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80BC30C - - thumb_func_start sub_80BC3A0 -sub_80BC3A0: @ 80BC3A0 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080BC3B8 @ =gBattleTypeFlags - ldr r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080BC3C0 - ldr r0, _080BC3BC @ =sub_80BCC4C - b _080BC3E8 - .align 2, 0 -_080BC3B8: .4byte gBattleTypeFlags -_080BC3BC: .4byte sub_80BCC4C -_080BC3C0: - movs r0, 0x80 - lsls r0, 5 - ands r1, r0 - cmp r1, 0 - beq _080BC3E0 - ldr r0, _080BC3D8 @ =gGameVersion - ldrb r0, [r0] - cmp r0, 0x2 - beq _080BC3E0 - movs r4, 0x3 - ldr r0, _080BC3DC @ =task00_battle_intro_80BC6C8 - b _080BC3E8 - .align 2, 0 -_080BC3D8: .4byte gGameVersion -_080BC3DC: .4byte task00_battle_intro_80BC6C8 -_080BC3E0: - ldr r1, _080BC414 @ =gUnknown_83E7CD4 - lsls r0, r4, 2 - adds r0, r1 - ldr r0, [r0] -_080BC3E8: - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _080BC418 @ =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - movs r0, 0 - strh r0, [r1, 0x8] - strh r4, [r1, 0xA] - strh r0, [r1, 0xC] - strh r0, [r1, 0xE] - strh r0, [r1, 0x10] - strh r0, [r1, 0x12] - strh r0, [r1, 0x14] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080BC414: .4byte gUnknown_83E7CD4 -_080BC418: .4byte gTasks - thumb_func_end sub_80BC3A0 - - thumb_func_start sub_80BC41C -sub_80BC41C: @ 80BC41C - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - ldr r0, _080BC468 @ =gBattle_BG1_X - movs r1, 0 - strh r1, [r0] - ldr r0, _080BC46C @ =gBattle_BG1_Y - strh r1, [r0] - ldr r0, _080BC470 @ =gBattle_BG2_X - strh r1, [r0] - ldr r0, _080BC474 @ =gBattle_BG2_Y - strh r1, [r0] - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - ldr r4, _080BC478 @ =0x00003f3f - movs r0, 0x48 - adds r1, r4, 0 - bl SetGpuReg - movs r0, 0x4A - adds r1, r4, 0 - bl SetGpuReg - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080BC468: .4byte gBattle_BG1_X -_080BC46C: .4byte gBattle_BG1_Y -_080BC470: .4byte gBattle_BG2_X -_080BC474: .4byte gBattle_BG2_Y -_080BC478: .4byte 0x00003f3f - thumb_func_end sub_80BC41C - - thumb_func_start task_battle_intro_80BC47C -task_battle_intro_80BC47C: @ 80BC47C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _080BC4B4 @ =gBattle_BG1_X - ldrh r0, [r1] - adds r0, 0x6 - strh r0, [r1] - ldr r1, _080BC4B8 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r2, 0x8 - ldrsh r0, [r0, r2] - mov r8, r1 - cmp r0, 0x4 - bls _080BC4A8 - b _080BC6BA -_080BC4A8: - lsls r0, 2 - ldr r1, _080BC4BC @ =_080BC4C0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080BC4B4: .4byte gBattle_BG1_X -_080BC4B8: .4byte gTasks -_080BC4BC: .4byte _080BC4C0 - .align 2, 0 -_080BC4C0: - .4byte _080BC4D4 - .4byte _080BC504 - .4byte _080BC52C - .4byte _080BC574 - .4byte _080BC6B4 -_080BC4D4: - ldr r0, _080BC4EC @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080BC4F0 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - add r0, r8 - movs r1, 0x10 - b _080BC4FA - .align 2, 0 -_080BC4EC: .4byte gBattleTypeFlags -_080BC4F0: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - add r0, r8 - movs r1, 0x1 -_080BC4FA: - strh r1, [r0, 0xC] - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - b _080BC6BA -_080BC504: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - mov r3, r8 - adds r1, r0, r3 - ldrh r0, [r1, 0xC] - subs r0, 0x1 - strh r0, [r1, 0xC] - lsls r0, 16 - cmp r0, 0 - beq _080BC51C - b _080BC6BA -_080BC51C: - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - movs r0, 0x48 - movs r1, 0x3F - bl SetGpuReg - b _080BC6BA -_080BC52C: - ldr r1, _080BC568 @ =gUnknown_2022986 - ldrh r0, [r1] - subs r0, 0xFF - strh r0, [r1] - movs r1, 0xFF - lsls r1, 8 - ands r0, r1 - movs r1, 0xC0 - lsls r1, 6 - cmp r0, r1 - beq _080BC544 - b _080BC6BA -_080BC544: - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - add r1, r8 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - movs r0, 0xF0 - strh r0, [r1, 0xC] - movs r0, 0x20 - strh r0, [r1, 0xE] - ldr r2, _080BC56C @ =gUnknown_2023F4C - ldrh r1, [r2] - ldr r0, _080BC570 @ =0x0000fffe - ands r0, r1 - strh r0, [r2] - b _080BC6BA - .align 2, 0 -_080BC568: .4byte gUnknown_2022986 -_080BC56C: .4byte gUnknown_2023F4C -_080BC570: .4byte 0x0000fffe -_080BC574: - lsls r0, r4, 2 - adds r1, r0, r4 - lsls r1, 3 - mov r5, r8 - adds r2, r1, r5 - ldrh r3, [r2, 0xE] - movs r5, 0xE - ldrsh r1, [r2, r5] - mov r12, r0 - cmp r1, 0 - beq _080BC590 - subs r0, r3, 0x1 - strh r0, [r2, 0xE] - b _080BC5BE -_080BC590: - movs r1, 0xA - ldrsh r0, [r2, r1] - cmp r0, 0x1 - bne _080BC5B0 - ldr r2, _080BC5A8 @ =gBattle_BG1_Y - ldrh r1, [r2] - ldr r0, _080BC5AC @ =0x0000ffb0 - cmp r1, r0 - beq _080BC5BE - subs r0, r1, 0x2 - b _080BC5BC - .align 2, 0 -_080BC5A8: .4byte gBattle_BG1_Y -_080BC5AC: .4byte 0x0000ffb0 -_080BC5B0: - ldr r2, _080BC690 @ =gBattle_BG1_Y - ldrh r1, [r2] - ldr r0, _080BC694 @ =0x0000ffc8 - cmp r1, r0 - beq _080BC5BE - subs r0, r1, 0x1 -_080BC5BC: - strh r0, [r2] -_080BC5BE: - ldr r2, _080BC698 @ =gUnknown_2022986 - ldrh r1, [r2] - movs r0, 0xFF - lsls r0, 8 - ands r0, r1 - cmp r0, 0 - beq _080BC5D2 - ldr r3, _080BC69C @ =0xfffffc04 - adds r0, r1, r3 - strh r0, [r2] -_080BC5D2: - mov r5, r12 - adds r0, r5, r4 - lsls r0, 3 - mov r2, r8 - adds r1, r0, r2 - ldrh r2, [r1, 0xC] - movs r3, 0xC - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _080BC5EA - subs r0, r2, 0x2 - strh r0, [r1, 0xC] -_080BC5EA: - movs r3, 0 - ldr r5, _080BC6A0 @ =gScanlineEffect - mov r9, r5 - ldr r7, _080BC6A4 @ =gScanlineEffectRegBuffers - mov r6, r9 - adds r5, r1, 0 -_080BC5F6: - lsls r2, r3, 1 - ldrb r1, [r6, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - adds r2, r0 - adds r2, r7 - ldrh r0, [r5, 0xC] - strh r0, [r2] - adds r3, 0x1 - cmp r3, 0x4F - ble _080BC5F6 - cmp r3, 0x9F - bgt _080BC63A - ldr r7, _080BC6A4 @ =gScanlineEffectRegBuffers - ldr r6, _080BC6A0 @ =gScanlineEffect - ldr r1, _080BC6A8 @ =gTasks - mov r2, r12 - adds r0, r2, r4 - lsls r0, 3 - adds r5, r0, r1 -_080BC620: - lsls r2, r3, 1 - ldrb r1, [r6, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - adds r2, r0 - adds r2, r7 - ldrh r0, [r5, 0xC] - negs r0, r0 - strh r0, [r2] - adds r3, 0x1 - cmp r3, 0x9F - ble _080BC620 -_080BC63A: - mov r3, r12 - adds r0, r3, r4 - lsls r0, 3 - mov r5, r8 - adds r1, r0, r5 - movs r0, 0xC - ldrsh r2, [r1, r0] - cmp r2, 0 - bne _080BC6BA - movs r0, 0x3 - mov r3, r9 - strb r0, [r3, 0x15] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - str r2, [sp] - ldr r1, _080BC6AC @ =0x0600e000 - ldr r2, _080BC6B0 @ =0x05000200 - mov r0, sp - bl CpuSet - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0 - bl SetBgAttribute - movs r0, 0x2 - movs r1, 0x1 - movs r2, 0 - bl SetBgAttribute - movs r1, 0x9C - lsls r1, 8 - movs r0, 0xA - bl SetGpuReg - movs r1, 0xBC - lsls r1, 7 - movs r0, 0xC - bl SetGpuReg - b _080BC6BA - .align 2, 0 -_080BC690: .4byte gBattle_BG1_Y -_080BC694: .4byte 0x0000ffc8 -_080BC698: .4byte gUnknown_2022986 -_080BC69C: .4byte 0xfffffc04 -_080BC6A0: .4byte gScanlineEffect -_080BC6A4: .4byte gScanlineEffectRegBuffers -_080BC6A8: .4byte gTasks -_080BC6AC: .4byte 0x0600e000 -_080BC6B0: .4byte 0x05000200 -_080BC6B4: - adds r0, r4, 0 - bl sub_80BC41C -_080BC6BA: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end task_battle_intro_80BC47C - - thumb_func_start task00_battle_intro_80BC6C8 -task00_battle_intro_80BC6C8: @ 80BC6C8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _080BC6F4 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r2, 0xA - ldrsh r0, [r0, r2] - adds r2, r1, 0 - cmp r0, 0x3 - beq _080BC708 - cmp r0, 0x3 - bgt _080BC6F8 - cmp r0, 0x2 - beq _080BC6FC - b _080BC710 - .align 2, 0 -_080BC6F4: .4byte gTasks -_080BC6F8: - cmp r0, 0x4 - bne _080BC710 -_080BC6FC: - ldr r1, _080BC704 @ =gBattle_BG1_X - ldrh r0, [r1] - adds r0, 0x8 - b _080BC70E - .align 2, 0 -_080BC704: .4byte gBattle_BG1_X -_080BC708: - ldr r1, _080BC74C @ =gBattle_BG1_X - ldrh r0, [r1] - adds r0, 0x6 -_080BC70E: - strh r0, [r1] -_080BC710: - lsls r0, r5, 2 - adds r1, r0, r5 - lsls r1, 3 - adds r4, r1, r2 - movs r3, 0xA - ldrsh r1, [r4, r3] - adds r6, r0, 0 - cmp r1, 0x4 - bne _080BC774 - ldr r7, _080BC750 @ =gBattle_BG1_Y - ldrh r0, [r4, 0x14] - bl Cos2 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _080BC736 - ldr r1, _080BC754 @ =0x000001ff - adds r0, r1 -_080BC736: - asrs r0, 9 - subs r0, 0x8 - strh r0, [r7] - ldrh r1, [r4, 0x14] - movs r2, 0x14 - ldrsh r0, [r4, r2] - cmp r0, 0xB3 - bgt _080BC758 - adds r0, r1, 0x4 - b _080BC75A - .align 2, 0 -_080BC74C: .4byte gBattle_BG1_X -_080BC750: .4byte gBattle_BG1_Y -_080BC754: .4byte 0x000001ff -_080BC758: - adds r0, r1, 0x6 -_080BC75A: - strh r0, [r4, 0x14] - ldr r2, _080BC790 @ =gTasks - adds r0, r6, r5 - lsls r0, 3 - adds r3, r0, r2 - movs r0, 0x14 - ldrsh r1, [r3, r0] - movs r0, 0xB4 - lsls r0, 1 - cmp r1, r0 - bne _080BC774 - movs r0, 0 - strh r0, [r3, 0x14] -_080BC774: - adds r0, r6, r5 - lsls r0, 3 - adds r0, r2 - movs r1, 0x8 - ldrsh r0, [r0, r1] - cmp r0, 0x4 - bls _080BC784 - b _080BC9AA -_080BC784: - lsls r0, 2 - ldr r1, _080BC794 @ =_080BC798 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080BC790: .4byte gTasks -_080BC794: .4byte _080BC798 - .align 2, 0 -_080BC798: - .4byte _080BC7AC - .4byte _080BC7DC - .4byte _080BC808 - .4byte _080BC858 - .4byte _080BC9A4 -_080BC7AC: - ldr r1, _080BC7C8 @ =gTasks - adds r0, r6, r5 - lsls r0, 3 - adds r2, r0, r1 - movs r3, 0x10 - strh r3, [r2, 0x10] - ldr r0, _080BC7CC @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080BC7D0 - strh r3, [r2, 0xC] - b _080BC7D4 - .align 2, 0 -_080BC7C8: .4byte gTasks -_080BC7CC: .4byte gBattleTypeFlags -_080BC7D0: - movs r0, 0x1 - strh r0, [r2, 0xC] -_080BC7D4: - ldrh r0, [r2, 0x8] - adds r0, 0x1 - strh r0, [r2, 0x8] - b _080BC9AA -_080BC7DC: - ldr r0, _080BC804 @ =gTasks - adds r1, r6, r5 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0xC] - subs r0, 0x1 - strh r0, [r1, 0xC] - lsls r0, 16 - cmp r0, 0 - beq _080BC7F2 - b _080BC9AA -_080BC7F2: - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - movs r0, 0x48 - movs r1, 0x3F - bl SetGpuReg - b _080BC9AA - .align 2, 0 -_080BC804: .4byte gTasks -_080BC808: - ldr r1, _080BC848 @ =gUnknown_2022986 - ldrh r0, [r1] - subs r0, 0xFF - strh r0, [r1] - movs r1, 0xFF - lsls r1, 8 - ands r0, r1 - movs r1, 0xC0 - lsls r1, 6 - cmp r0, r1 - beq _080BC820 - b _080BC9AA -_080BC820: - ldr r0, _080BC84C @ =gTasks - adds r1, r6, r5 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - movs r0, 0xF0 - strh r0, [r1, 0xC] - movs r0, 0x20 - strh r0, [r1, 0xE] - movs r0, 0x1 - strh r0, [r1, 0x12] - ldr r2, _080BC850 @ =gUnknown_2023F4C - ldrh r1, [r2] - ldr r0, _080BC854 @ =0x0000fffe - ands r0, r1 - strh r0, [r2] - b _080BC9AA - .align 2, 0 -_080BC848: .4byte gUnknown_2022986 -_080BC84C: .4byte gTasks -_080BC850: .4byte gUnknown_2023F4C -_080BC854: .4byte 0x0000fffe -_080BC858: - ldr r0, _080BC890 @ =gTasks - adds r1, r6, r5 - lsls r1, 3 - adds r1, r0 - ldrh r2, [r1, 0xE] - movs r3, 0xE - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _080BC898 - subs r0, r2, 0x1 - strh r0, [r1, 0xE] - lsls r0, 16 - cmp r0, 0 - bne _080BC8B8 - ldr r1, _080BC894 @ =0x00001842 - movs r0, 0x50 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0xF - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - b _080BC8B8 - .align 2, 0 -_080BC890: .4byte gTasks -_080BC894: .4byte 0x00001842 -_080BC898: - ldrh r2, [r1, 0x10] - movs r0, 0x1F - ands r0, r2 - cmp r0, 0 - beq _080BC8B8 - ldrh r0, [r1, 0x12] - subs r0, 0x1 - strh r0, [r1, 0x12] - lsls r0, 16 - cmp r0, 0 - bne _080BC8B8 - adds r0, r2, 0 - adds r0, 0xFF - strh r0, [r1, 0x10] - movs r0, 0x4 - strh r0, [r1, 0x12] -_080BC8B8: - ldr r2, _080BC988 @ =gUnknown_2022986 - ldrh r1, [r2] - movs r0, 0xFF - lsls r0, 8 - ands r0, r1 - cmp r0, 0 - beq _080BC8CC - ldr r3, _080BC98C @ =0xfffffc04 - adds r0, r1, r3 - strh r0, [r2] -_080BC8CC: - ldr r0, _080BC990 @ =gTasks - adds r1, r6, r5 - lsls r1, 3 - adds r1, r0 - ldrh r2, [r1, 0xC] - movs r3, 0xC - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _080BC8E2 - subs r0, r2, 0x2 - strh r0, [r1, 0xC] -_080BC8E2: - movs r3, 0 - ldr r0, _080BC994 @ =gScanlineEffect - mov r8, r0 - ldr r2, _080BC998 @ =gScanlineEffectRegBuffers - mov r12, r2 - mov r7, r8 - adds r4, r1, 0 -_080BC8F0: - lsls r2, r3, 1 - ldrb r1, [r7, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - adds r2, r0 - add r2, r12 - ldrh r0, [r4, 0xC] - strh r0, [r2] - adds r3, 0x1 - cmp r3, 0x4F - ble _080BC8F0 - cmp r3, 0x9F - bgt _080BC934 - ldr r0, _080BC998 @ =gScanlineEffectRegBuffers - mov r12, r0 - ldr r7, _080BC994 @ =gScanlineEffect - ldr r1, _080BC990 @ =gTasks - adds r0, r6, r5 - lsls r0, 3 - adds r4, r0, r1 -_080BC91A: - lsls r2, r3, 1 - ldrb r1, [r7, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - adds r2, r0 - add r2, r12 - ldrh r0, [r4, 0xC] - negs r0, r0 - strh r0, [r2] - adds r3, 0x1 - cmp r3, 0x9F - ble _080BC91A -_080BC934: - ldr r1, _080BC990 @ =gTasks - adds r0, r6, r5 - lsls r0, 3 - adds r1, r0, r1 - movs r3, 0xC - ldrsh r2, [r1, r3] - cmp r2, 0 - bne _080BC9AA - movs r0, 0x3 - mov r3, r8 - strb r0, [r3, 0x15] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - str r2, [sp] - ldr r1, _080BC99C @ =0x0600e000 - ldr r2, _080BC9A0 @ =0x05000200 - mov r0, sp - bl CpuSet - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0 - bl SetBgAttribute - movs r0, 0x2 - movs r1, 0x1 - movs r2, 0 - bl SetBgAttribute - movs r1, 0x9C - lsls r1, 8 - movs r0, 0xA - bl SetGpuReg - movs r1, 0xBC - lsls r1, 7 - movs r0, 0xC - bl SetGpuReg - b _080BC9AA - .align 2, 0 -_080BC988: .4byte gUnknown_2022986 -_080BC98C: .4byte 0xfffffc04 -_080BC990: .4byte gTasks -_080BC994: .4byte gScanlineEffect -_080BC998: .4byte gScanlineEffectRegBuffers -_080BC99C: .4byte 0x0600e000 -_080BC9A0: .4byte 0x05000200 -_080BC9A4: - adds r0, r5, 0 - bl sub_80BC41C -_080BC9AA: - ldr r0, _080BC9D0 @ =gTasks - adds r1, r6, r5 - lsls r1, 3 - adds r1, r0 - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0x4 - beq _080BC9C2 - ldrh r1, [r1, 0x10] - movs r0, 0x52 - bl SetGpuReg -_080BC9C2: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080BC9D0: .4byte gTasks - thumb_func_end task00_battle_intro_80BC6C8 - - thumb_func_start task_battle_intro_anim -task_battle_intro_anim: @ 80BC9D4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _080BCA08 @ =gBattle_BG1_X - ldrh r0, [r1] - adds r0, 0x8 - strh r0, [r1] - ldr r1, _080BCA0C @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r2, 0x8 - ldrsh r0, [r0, r2] - adds r4, r1, 0 - cmp r0, 0x4 - bls _080BC9FE - b _080BCC22 -_080BC9FE: - lsls r0, 2 - ldr r1, _080BCA10 @ =_080BCA14 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080BCA08: .4byte gBattle_BG1_X -_080BCA0C: .4byte gTasks -_080BCA10: .4byte _080BCA14 - .align 2, 0 -_080BCA14: - .4byte _080BCA28 - .4byte _080BCA7C - .4byte _080BCAA8 - .4byte _080BCAF8 - .4byte _080BCC1C -_080BCA28: - ldr r1, _080BCA60 @ =0x00001842 - movs r0, 0x50 - bl SetGpuReg - ldr r4, _080BCA64 @ =0x00000808 - movs r0, 0x52 - adds r1, r4, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - ldr r1, _080BCA68 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r2, r0, r1 - strh r4, [r2, 0x10] - ldr r0, _080BCA6C @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080BCA70 - movs r0, 0x10 - b _080BCA72 - .align 2, 0 -_080BCA60: .4byte 0x00001842 -_080BCA64: .4byte 0x00000808 -_080BCA68: .4byte gTasks -_080BCA6C: .4byte gBattleTypeFlags -_080BCA70: - movs r0, 0x1 -_080BCA72: - strh r0, [r2, 0xC] - ldrh r0, [r2, 0x8] - adds r0, 0x1 - strh r0, [r2, 0x8] - b _080BCC22 -_080BCA7C: - ldr r0, _080BCAA4 @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0xC] - subs r0, 0x1 - strh r0, [r1, 0xC] - lsls r0, 16 - cmp r0, 0 - beq _080BCA94 - b _080BCC22 -_080BCA94: - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - movs r0, 0x48 - movs r1, 0x3F - bl SetGpuReg - b _080BCC22 - .align 2, 0 -_080BCAA4: .4byte gTasks -_080BCAA8: - ldr r1, _080BCAE8 @ =gUnknown_2022986 - ldrh r0, [r1] - subs r0, 0xFF - strh r0, [r1] - movs r1, 0xFF - lsls r1, 8 - ands r0, r1 - movs r1, 0xC0 - lsls r1, 6 - cmp r0, r1 - beq _080BCAC0 - b _080BCC22 -_080BCAC0: - ldr r0, _080BCAEC @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - movs r0, 0xF0 - strh r0, [r1, 0xC] - movs r0, 0x20 - strh r0, [r1, 0xE] - movs r0, 0x1 - strh r0, [r1, 0x12] - ldr r2, _080BCAF0 @ =gUnknown_2023F4C - ldrh r1, [r2] - ldr r0, _080BCAF4 @ =0x0000fffe - ands r0, r1 - strh r0, [r2] - b _080BCC22 - .align 2, 0 -_080BCAE8: .4byte gUnknown_2022986 -_080BCAEC: .4byte gTasks -_080BCAF0: .4byte gUnknown_2023F4C -_080BCAF4: .4byte 0x0000fffe -_080BCAF8: - lsls r0, r5, 2 - adds r1, r0, r5 - lsls r1, 3 - adds r2, r1, r4 - ldrh r3, [r2, 0xE] - movs r6, 0xE - ldrsh r1, [r2, r6] - mov r12, r0 - cmp r1, 0 - beq _080BCB12 - subs r0, r3, 0x1 - strh r0, [r2, 0xE] - b _080BCB32 -_080BCB12: - ldrh r1, [r2, 0x10] - movs r0, 0xF - ands r0, r1 - cmp r0, 0 - beq _080BCB32 - ldrh r0, [r2, 0x12] - subs r0, 0x1 - strh r0, [r2, 0x12] - lsls r0, 16 - cmp r0, 0 - bne _080BCB32 - adds r0, r1, 0 - adds r0, 0xFF - strh r0, [r2, 0x10] - movs r0, 0x6 - strh r0, [r2, 0x12] -_080BCB32: - ldr r2, _080BCC00 @ =gUnknown_2022986 - ldrh r1, [r2] - movs r0, 0xFF - lsls r0, 8 - ands r0, r1 - cmp r0, 0 - beq _080BCB46 - ldr r3, _080BCC04 @ =0xfffffc04 - adds r0, r1, r3 - strh r0, [r2] -_080BCB46: - mov r6, r12 - adds r0, r6, r5 - lsls r0, 3 - adds r1, r0, r4 - ldrh r2, [r1, 0xC] - movs r3, 0xC - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _080BCB5C - subs r0, r2, 0x2 - strh r0, [r1, 0xC] -_080BCB5C: - movs r3, 0 - ldr r6, _080BCC08 @ =gScanlineEffect - mov r8, r6 - ldr r7, _080BCC0C @ =gScanlineEffectRegBuffers - adds r4, r1, 0 -_080BCB66: - lsls r2, r3, 1 - ldrb r1, [r6, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - adds r2, r0 - adds r2, r7 - ldrh r0, [r4, 0xC] - strh r0, [r2] - adds r3, 0x1 - cmp r3, 0x4F - ble _080BCB66 - cmp r3, 0x9F - bgt _080BCBAA - ldr r7, _080BCC0C @ =gScanlineEffectRegBuffers - ldr r6, _080BCC08 @ =gScanlineEffect - ldr r1, _080BCC10 @ =gTasks - mov r2, r12 - adds r0, r2, r5 - lsls r0, 3 - adds r4, r0, r1 -_080BCB90: - lsls r2, r3, 1 - ldrb r1, [r6, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - adds r2, r0 - adds r2, r7 - ldrh r0, [r4, 0xC] - negs r0, r0 - strh r0, [r2] - adds r3, 0x1 - cmp r3, 0x9F - ble _080BCB90 -_080BCBAA: - ldr r1, _080BCC10 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r1, r0, r1 - movs r3, 0xC - ldrsh r2, [r1, r3] - cmp r2, 0 - bne _080BCC22 - movs r0, 0x3 - mov r6, r8 - strb r0, [r6, 0x15] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - str r2, [sp] - ldr r1, _080BCC14 @ =0x0600e000 - ldr r2, _080BCC18 @ =0x05000200 - mov r0, sp - bl CpuSet - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0 - bl SetBgAttribute - movs r0, 0x2 - movs r1, 0x1 - movs r2, 0 - bl SetBgAttribute - movs r1, 0x9C - lsls r1, 8 - movs r0, 0xA - bl SetGpuReg - movs r1, 0xBC - lsls r1, 7 - movs r0, 0xC - bl SetGpuReg - b _080BCC22 - .align 2, 0 -_080BCC00: .4byte gUnknown_2022986 -_080BCC04: .4byte 0xfffffc04 -_080BCC08: .4byte gScanlineEffect -_080BCC0C: .4byte gScanlineEffectRegBuffers -_080BCC10: .4byte gTasks -_080BCC14: .4byte 0x0600e000 -_080BCC18: .4byte 0x05000200 -_080BCC1C: - adds r0, r5, 0 - bl sub_80BC41C -_080BCC22: - ldr r0, _080BCC48 @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0x4 - beq _080BCC3C - ldrh r1, [r1, 0x10] - movs r0, 0x52 - bl SetGpuReg -_080BCC3C: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080BCC48: .4byte gTasks - thumb_func_end task_battle_intro_anim - - thumb_func_start sub_80BCC4C -sub_80BCC4C: @ 80BCC4C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, _080BCC98 @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r7, r0, r1 - movs r1, 0x8 - ldrsh r0, [r7, r1] - cmp r0, 0x1 - ble _080BCCC2 - movs r2, 0x10 - ldrsh r0, [r7, r2] - cmp r0, 0 - bne _080BCCC2 - ldr r2, _080BCC9C @ =gBattle_BG1_X - ldrh r1, [r2] - movs r0, 0x80 - lsls r0, 8 - ands r0, r1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0 - bne _080BCC8A - cmp r1, 0x4F - bhi _080BCCA4 -_080BCC8A: - adds r0, r1, 0x3 - strh r0, [r2] - ldr r1, _080BCCA0 @ =gBattle_BG2_X - ldrh r0, [r1] - subs r0, 0x3 - strh r0, [r1] - b _080BCCC2 - .align 2, 0 -_080BCC98: .4byte gTasks -_080BCC9C: .4byte gBattle_BG1_X -_080BCCA0: .4byte gBattle_BG2_X -_080BCCA4: - str r5, [sp] - ldr r1, _080BCCE4 @ =0x0600e000 - ldr r4, _080BCCE8 @ =0x05000200 - mov r0, sp - adds r2, r4, 0 - bl CpuSet - str r5, [sp, 0x4] - add r0, sp, 0x4 - ldr r1, _080BCCEC @ =0x0600f000 - adds r2, r4, 0 - bl CpuSet - movs r0, 0x1 - strh r0, [r7, 0x10] -_080BCCC2: - ldr r0, _080BCCF0 @ =gTasks - lsls r2, r6, 2 - adds r1, r2, r6 - lsls r1, 3 - adds r1, r0 - movs r3, 0x8 - ldrsh r1, [r1, r3] - mov r9, r0 - adds r5, r2, 0 - cmp r1, 0x4 - bls _080BCCDA - b _080BCEE6 -_080BCCDA: - lsls r0, r1, 2 - ldr r1, _080BCCF4 @ =_080BCCF8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080BCCE4: .4byte 0x0600e000 -_080BCCE8: .4byte 0x05000200 -_080BCCEC: .4byte 0x0600f000 -_080BCCF0: .4byte gTasks -_080BCCF4: .4byte _080BCCF8 - .align 2, 0 -_080BCCF8: - .4byte _080BCD0C - .4byte _080BCD1E - .4byte _080BCDC4 - .4byte _080BCE08 - .4byte _080BCEE0 -_080BCD0C: - adds r0, r5, r6 - lsls r0, 3 - add r0, r9 - movs r1, 0x20 - strh r1, [r0, 0xC] - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - b _080BCEE6 -_080BCD1E: - adds r0, r5, r6 - lsls r0, 3 - mov r2, r9 - adds r1, r0, r2 - ldrh r0, [r1, 0xC] - subs r0, 0x1 - strh r0, [r1, 0xC] - lsls r0, 16 - cmp r0, 0 - beq _080BCD34 - b _080BCEE6 -_080BCD34: - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - ldr r4, _080BCDB4 @ =gSprites - ldr r5, _080BCDB8 @ =gBattleStruct - ldr r0, [r5] - adds r0, 0x7D - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r3, [r1, 0x1] - movs r2, 0xD - negs r2, r2 - adds r0, r2, 0 - ands r0, r3 - movs r3, 0x8 - mov r9, r3 - mov r3, r9 - orrs r0, r3 - strb r0, [r1, 0x1] - ldr r3, [r5] - adds r0, r3, 0 - adds r0, 0x7D - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - movs r1, 0x1C - adds r1, r4 - mov r8, r1 - add r0, r8 - ldr r6, _080BCDBC @ =sub_801182C - str r6, [r0] - adds r3, 0x7E - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0, 0x1] - ands r2, r1 - mov r3, r9 - orrs r2, r3 - strb r2, [r0, 0x1] - ldr r0, [r5] - adds r0, 0x7E - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - str r6, [r0] - movs r0, 0x48 - movs r1, 0x3F - bl SetGpuReg - ldr r1, _080BCDC0 @ =0x00003f06 - movs r0, 0x4A - bl SetGpuReg - b _080BCEE6 - .align 2, 0 -_080BCDB4: .4byte gSprites -_080BCDB8: .4byte gBattleStruct -_080BCDBC: .4byte sub_801182C -_080BCDC0: .4byte 0x00003f06 -_080BCDC4: - ldr r1, _080BCDFC @ =gUnknown_2022986 - ldrh r0, [r1] - subs r0, 0xFF - strh r0, [r1] - movs r1, 0xFF - lsls r1, 8 - ands r0, r1 - movs r1, 0xC0 - lsls r1, 6 - cmp r0, r1 - beq _080BCDDC - b _080BCEE6 -_080BCDDC: - adds r1, r5, r6 - lsls r1, 3 - add r1, r9 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - movs r0, 0xF0 - strh r0, [r1, 0xC] - movs r0, 0x20 - strh r0, [r1, 0xE] - ldr r2, _080BCE00 @ =gUnknown_2023F4C - ldrh r1, [r2] - ldr r0, _080BCE04 @ =0x0000fffe - ands r0, r1 - strh r0, [r2] - b _080BCEE6 - .align 2, 0 -_080BCDFC: .4byte gUnknown_2022986 -_080BCE00: .4byte gUnknown_2023F4C -_080BCE04: .4byte 0x0000fffe -_080BCE08: - ldr r2, _080BCECC @ =gUnknown_2022986 - ldrh r1, [r2] - movs r0, 0xFF - lsls r0, 8 - ands r0, r1 - cmp r0, 0 - beq _080BCE1C - ldr r3, _080BCED0 @ =0xfffffc04 - adds r0, r1, r3 - strh r0, [r2] -_080BCE1C: - adds r0, r5, r6 - lsls r0, 3 - mov r2, r9 - adds r1, r0, r2 - ldrh r2, [r1, 0xC] - movs r3, 0xC - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _080BCE32 - subs r0, r2, 0x2 - strh r0, [r1, 0xC] -_080BCE32: - movs r3, 0 - ldr r0, _080BCED4 @ =gScanlineEffect - mov r12, r0 - ldr r2, _080BCED8 @ =gScanlineEffectRegBuffers - mov r8, r2 - mov r7, r12 - adds r4, r1, 0 -_080BCE40: - lsls r2, r3, 1 - ldrb r1, [r7, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - adds r2, r0 - add r2, r8 - ldrh r0, [r4, 0xC] - strh r0, [r2] - adds r3, 0x1 - cmp r3, 0x4F - ble _080BCE40 - cmp r3, 0x9F - bgt _080BCE84 - ldr r0, _080BCED8 @ =gScanlineEffectRegBuffers - mov r8, r0 - ldr r7, _080BCED4 @ =gScanlineEffect - ldr r1, _080BCEDC @ =gTasks - adds r0, r5, r6 - lsls r0, 3 - adds r4, r0, r1 -_080BCE6A: - lsls r2, r3, 1 - ldrb r1, [r7, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - adds r2, r0 - add r2, r8 - ldrh r0, [r4, 0xC] - negs r0, r0 - strh r0, [r2] - adds r3, 0x1 - cmp r3, 0x9F - ble _080BCE6A -_080BCE84: - adds r0, r5, r6 - lsls r0, 3 - mov r2, r9 - adds r1, r0, r2 - movs r3, 0xC - ldrsh r0, [r1, r3] - cmp r0, 0 - bne _080BCEE6 - movs r0, 0x3 - mov r2, r12 - strb r0, [r2, 0x15] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0 - bl SetBgAttribute - movs r0, 0x2 - movs r1, 0x1 - movs r2, 0 - bl SetBgAttribute - movs r1, 0x9C - lsls r1, 8 - movs r0, 0xA - bl SetGpuReg - movs r1, 0xBC - lsls r1, 7 - movs r0, 0xC - bl SetGpuReg - b _080BCEE6 - .align 2, 0 -_080BCECC: .4byte gUnknown_2022986 -_080BCED0: .4byte 0xfffffc04 -_080BCED4: .4byte gScanlineEffect -_080BCED8: .4byte gScanlineEffectRegBuffers -_080BCEDC: .4byte gTasks -_080BCEE0: - adds r0, r6, 0 - bl sub_80BC41C -_080BCEE6: - add sp, 0x8 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80BCC4C - - thumb_func_start sub_80BCEF4 -sub_80BCEF4: @ 80BCEF4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - str r0, [sp] - adds r6, r2, 0 - adds r4, r3, 0 - ldr r0, [sp, 0x24] - ldr r7, [sp, 0x28] - ldr r2, [sp, 0x2C] - mov r9, r2 - ldr r5, [sp, 0x30] - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - lsls r6, 24 - lsrs r6, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - lsls r5, 16 - lsrs r5, 16 - adds r0, r4, 0 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080BCFC4 @ =gMonSpritesGfxPtr - ldr r2, [r1] - lsls r4, 2 - adds r2, 0x4 - adds r2, r4 - ldr r1, _080BCFC8 @ =gBattleMonForms - adds r0, r1 - ldrb r1, [r0] - lsls r1, 11 - ldr r0, [r2] - adds r0, r1 - movs r2, 0x80 - lsls r2, 3 - adds r1, r7, 0 - bl CpuSet - ldr r1, [sp] - lsls r0, r1, 24 - lsrs r0, 24 - movs r2, 0x80 - lsls r2, 5 - adds r1, r7, 0 - adds r3, r5, 0 - bl LoadBgTiles - adds r0, r6, 0 - adds r0, 0x8 - cmp r6, r0 - bge _080BCFA0 - mov r12, r0 - mov r2, r8 - lsls r7, r2, 1 -_080BCF72: - mov r1, r8 - adds r2, r1, 0 - adds r2, 0x8 - adds r4, r6, 0x1 - cmp r1, r2 - bge _080BCF9A - mov r0, r10 - lsls r3, r0, 12 - lsls r0, r6, 6 - add r0, r9 - adds r6, r7, r0 - subs r1, r2, r1 -_080BCF8A: - adds r0, r5, 0 - orrs r0, r3 - strh r0, [r6] - adds r5, 0x1 - adds r6, 0x2 - subs r1, 0x1 - cmp r1, 0 - bne _080BCF8A -_080BCF9A: - adds r6, r4, 0 - cmp r6, r12 - blt _080BCF72 -_080BCFA0: - ldr r1, [sp] - lsls r0, r1, 24 - lsrs r0, 24 - movs r2, 0x80 - lsls r2, 4 - mov r1, r9 - movs r3, 0 - bl LoadBgTilemap - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080BCFC4: .4byte gMonSpritesGfxPtr -_080BCFC8: .4byte gBattleMonForms - thumb_func_end sub_80BCEF4 - - thumb_func_start sub_80BCFCC -sub_80BCFCC: @ 80BCFCC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - ldr r4, [sp, 0x24] - ldr r5, [sp, 0x28] - mov r8, r5 - ldr r5, [sp, 0x2C] - ldr r6, [sp, 0x30] - mov r9, r6 - lsls r0, 24 - lsrs r0, 24 - mov r12, r0 - lsls r1, 24 - lsls r2, 24 - lsls r3, 24 - lsls r4, 24 - lsrs r4, 24 - mov r10, r4 - mov r7, r8 - lsls r7, 16 - lsrs r6, r7, 16 - lsls r5, 24 - lsrs r5, 24 - mov r0, r9 - lsls r0, 24 - mov r9, r0 - ldr r4, _080BD090 @ =0x040000d4 - ldr r0, _080BD094 @ =gMonSpritesGfxPtr - ldr r0, [r0] - lsrs r2, 22 - adds r0, 0x4 - adds r0, r2 - lsrs r3, 13 - ldr r0, [r0] - adds r0, r3 - str r0, [r4] - movs r0, 0xC0 - lsls r0, 19 - adds r6, r0 - str r6, [r4, 0x4] - ldr r0, _080BD098 @ =0x80000400 - str r0, [r4, 0x8] - ldr r0, [r4, 0x8] - adds r2, r7, 0 - lsrs r2, 21 - mov r6, r9 - lsrs r6, 15 - subs r4, r2, r6 - lsrs r0, r1, 24 - adds r1, r0, 0 - adds r1, 0x8 - cmp r0, r1 - bge _080BD080 - mov r9, r1 - mov r7, r12 - lsls r7, 1 - mov r8, r7 - lsls r5, 11 - str r5, [sp] -_080BD048: - mov r2, r12 - adds r3, r2, 0 - adds r3, 0x8 - adds r5, r0, 0x1 - cmp r2, r3 - bge _080BD07A - mov r1, r10 - lsls r6, r1, 12 - lsls r0, 6 - movs r7, 0xC0 - lsls r7, 19 - adds r0, r7 - ldr r1, [sp] - adds r0, r1, r0 - mov r7, r8 - adds r1, r7, r0 - subs r2, r3, r2 -_080BD06A: - adds r0, r4, 0 - orrs r0, r6 - strh r0, [r1] - adds r4, 0x1 - adds r1, 0x2 - subs r2, 0x1 - cmp r2, 0 - bne _080BD06A -_080BD07A: - adds r0, r5, 0 - cmp r0, r9 - blt _080BD048 -_080BD080: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080BD090: .4byte 0x040000d4 -_080BD094: .4byte gMonSpritesGfxPtr -_080BD098: .4byte 0x80000400 - thumb_func_end sub_80BCFCC - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/battle_anim_utility_funcs.s b/asm/battle_anim_utility_funcs.s new file mode 100644 index 000000000..b5902ddae --- /dev/null +++ b/asm/battle_anim_utility_funcs.s @@ -0,0 +1,5133 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start sub_80BA7F8 +sub_80BA7F8: @ 80BA7F8 + push {r4-r6,lr} + adds r5, r0, 0 + lsls r5, 24 + lsrs r5, 24 + ldr r4, _080BA838 @ =gBattleAnimArgs + movs r1, 0 + ldrsh r0, [r4, r1] + bl sub_80B9A14 + adds r6, r0, 0 + ldrh r3, [r4] + lsls r3, 16 + asrs r0, r3, 23 + movs r4, 0x1 + ands r0, r4 + asrs r1, r3, 24 + ands r1, r4 + asrs r2, r3, 25 + ands r2, r4 + asrs r3, 26 + ands r3, r4 + bl sub_8075CB8 + orrs r6, r0 + adds r0, r5, 0 + adds r1, r6, 0 + bl sub_80BAA4C + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080BA838: .4byte gBattleAnimArgs + thumb_func_end sub_80BA7F8 + + thumb_func_start sub_80BA83C +sub_80BA83C: @ 80BA83C + push {r4-r7,lr} + sub sp, 0x4 + lsls r0, 24 + lsrs r7, r0, 24 + mov r1, sp + movs r0, 0xFF + strb r0, [r1, 0x1] + movs r0, 0x1 + bl sub_80B9A14 + adds r5, r0, 0 + ldr r0, _080BA868 @ =gBattleAnimArgs + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r0, 0x7 + bhi _080BA8E6 + lsls r0, 2 + ldr r1, _080BA86C @ =_080BA870 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080BA868: .4byte gBattleAnimArgs +_080BA86C: .4byte _080BA870 + .align 2, 0 +_080BA870: + .4byte _080BA892 + .4byte _080BA89E + .4byte _080BA890 + .4byte _080BA89C + .4byte _080BA8AC + .4byte _080BA8C4 + .4byte _080BA8CC + .4byte _080BA8D8 +_080BA890: + movs r5, 0 +_080BA892: + mov r0, sp + ldr r1, _080BA898 @ =gBattleAnimAttacker + b _080BA8A2 + .align 2, 0 +_080BA898: .4byte gBattleAnimAttacker +_080BA89C: + movs r5, 0 +_080BA89E: + mov r0, sp + ldr r1, _080BA8A8 @ =gBattleAnimTarget +_080BA8A2: + ldrb r1, [r1] + strb r1, [r0] + b _080BA8E6 + .align 2, 0 +_080BA8A8: .4byte gBattleAnimTarget +_080BA8AC: + mov r1, sp + ldr r0, _080BA8BC @ =gBattleAnimAttacker + ldrb r0, [r0] + strb r0, [r1] + ldr r0, _080BA8C0 @ =gBattleAnimTarget + ldrb r0, [r0] + strb r0, [r1, 0x1] + b _080BA8E6 + .align 2, 0 +_080BA8BC: .4byte gBattleAnimAttacker +_080BA8C0: .4byte gBattleAnimTarget +_080BA8C4: + mov r1, sp + movs r0, 0xFF + strb r0, [r1] + b _080BA8E6 +_080BA8CC: + movs r5, 0 + mov r2, sp + ldr r0, _080BA8D4 @ =gBattleAnimAttacker + b _080BA8DE + .align 2, 0 +_080BA8D4: .4byte gBattleAnimAttacker +_080BA8D8: + movs r5, 0 + mov r2, sp + ldr r0, _080BA930 @ =gBattleAnimTarget +_080BA8DE: + ldrb r0, [r0] + movs r1, 0x2 + eors r0, r1 + strb r0, [r2] +_080BA8E6: + movs r4, 0 + mov r6, sp +_080BA8EA: + ldrb r0, [r6] + cmp r4, r0 + beq _080BA914 + ldrb r0, [r6, 0x1] + cmp r4, r0 + beq _080BA914 + adds r0, r4, 0 + bl sub_8072DF0 + lsls r0, 24 + cmp r0, 0 + beq _080BA914 + adds r0, r4, 0 + bl sub_8075D80 + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x80 + lsls r1, 9 + lsls r1, r0 + orrs r5, r1 +_080BA914: + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0x3 + bls _080BA8EA + adds r0, r7, 0 + adds r1, r5, 0 + bl sub_80BAA4C + add sp, 0x4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080BA930: .4byte gBattleAnimTarget + thumb_func_end sub_80BA83C + + thumb_func_start sub_80BA934 +sub_80BA934: @ 80BA934 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _080BA958 @ =gBattleAnimArgs + movs r1, 0 + ldrsh r0, [r0, r1] + bl sub_80B9A14 + adds r2, r0, 0 + ldr r0, _080BA95C @ =gUnknown_2022B50 + ldrb r0, [r0] + cmp r0, 0x9 + bhi _080BAA0A + lsls r0, 2 + ldr r1, _080BA960 @ =_080BA964 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080BA958: .4byte gBattleAnimArgs +_080BA95C: .4byte gUnknown_2022B50 +_080BA960: .4byte _080BA964 + .align 2, 0 +_080BA964: + .4byte _080BA98C + .4byte _080BA99C + .4byte _080BA9A8 + .4byte _080BA9B8 + .4byte _080BA9C4 + .4byte _080BA9D4 + .4byte _080BA9E4 + .4byte _080BA9F4 + .4byte _080BAA04 + .4byte _080BAA04 +_080BA98C: + ldr r1, _080BA994 @ =gBattleAnimArgs + ldr r0, _080BA998 @ =0x00000b0c + b _080BAA08 + .align 2, 0 +_080BA994: .4byte gBattleAnimArgs +_080BA998: .4byte 0x00000b0c +_080BA99C: + ldr r1, _080BA9A4 @ =gBattleAnimArgs + movs r0, 0x9E + lsls r0, 4 + b _080BAA08 + .align 2, 0 +_080BA9A4: .4byte gBattleAnimArgs +_080BA9A8: + ldr r1, _080BA9B0 @ =gBattleAnimArgs + ldr r0, _080BA9B4 @ =0x00002f1e + b _080BAA08 + .align 2, 0 +_080BA9B0: .4byte gBattleAnimArgs +_080BA9B4: .4byte 0x00002f1e +_080BA9B8: + ldr r1, _080BA9C0 @ =gBattleAnimArgs + movs r0, 0x90 + lsls r0, 7 + b _080BAA08 + .align 2, 0 +_080BA9C0: .4byte gBattleAnimArgs +_080BA9C4: + ldr r1, _080BA9CC @ =gBattleAnimArgs + ldr r0, _080BA9D0 @ =0x00007ecb + b _080BAA08 + .align 2, 0 +_080BA9CC: .4byte gBattleAnimArgs +_080BA9D0: .4byte 0x00007ecb +_080BA9D4: + ldr r1, _080BA9DC @ =gBattleAnimArgs + ldr r0, _080BA9E0 @ =0x00007ecb + b _080BAA08 + .align 2, 0 +_080BA9DC: .4byte gBattleAnimArgs +_080BA9E0: .4byte 0x00007ecb +_080BA9E4: + ldr r1, _080BA9EC @ =gBattleAnimArgs + ldr r0, _080BA9F0 @ =0x00002a16 + b _080BAA08 + .align 2, 0 +_080BA9EC: .4byte gBattleAnimArgs +_080BA9F0: .4byte 0x00002a16 +_080BA9F4: + ldr r1, _080BA9FC @ =gBattleAnimArgs + ldr r0, _080BAA00 @ =0x00000d2e + b _080BAA08 + .align 2, 0 +_080BA9FC: .4byte gBattleAnimArgs +_080BAA00: .4byte 0x00000d2e +_080BAA04: + ldr r1, _080BAA18 @ =gBattleAnimArgs + ldr r0, _080BAA1C @ =0x00007fff +_080BAA08: + strh r0, [r1, 0x8] +_080BAA0A: + adds r0, r4, 0 + adds r1, r2, 0 + bl sub_80BAA4C + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080BAA18: .4byte gBattleAnimArgs +_080BAA1C: .4byte 0x00007fff + thumb_func_end sub_80BA934 + + thumb_func_start sub_80BAA20 +sub_80BAA20: @ 80BAA20 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r0, _080BAA48 @ =gBattleAnimArgs + ldrh r0, [r0] + bl IndexOfSpritePaletteTag + lsls r0, 24 + lsrs r0, 24 + adds r0, 0x10 + movs r1, 0x1 + lsls r1, r0 + adds r0, r4, 0 + bl sub_80BAA4C + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080BAA48: .4byte gBattleAnimArgs + thumb_func_end sub_80BAA20 + + thumb_func_start sub_80BAA4C +sub_80BAA4C: @ 80BAA4C + push {lr} + lsls r0, 24 + lsrs r0, 24 + ldr r3, _080BAA84 @ =gTasks + lsls r2, r0, 2 + adds r2, r0 + lsls r2, 3 + adds r2, r3 + strh r1, [r2, 0x8] + lsrs r1, 16 + strh r1, [r2, 0xA] + ldr r3, _080BAA88 @ =gBattleAnimArgs + ldrh r1, [r3, 0x2] + strh r1, [r2, 0xC] + ldrh r1, [r3, 0x4] + strh r1, [r2, 0xE] + ldrh r1, [r3, 0x6] + strh r1, [r2, 0x10] + ldrh r1, [r3, 0x8] + strh r1, [r2, 0x12] + ldrh r1, [r3, 0x4] + strh r1, [r2, 0x1C] + ldr r1, _080BAA8C @ =sub_80BAA90 + str r1, [r2] + bl _call_via_r1 + pop {r0} + bx r0 + .align 2, 0 +_080BAA84: .4byte gTasks +_080BAA88: .4byte gBattleAnimArgs +_080BAA8C: .4byte sub_80BAA90 + thumb_func_end sub_80BAA4C + + thumb_func_start sub_80BAA90 +sub_80BAA90: @ 80BAA90 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + lsls r0, 24 + lsrs r7, r0, 24 + movs r6, 0 + ldr r2, _080BAB10 @ =gTasks + lsls r5, r7, 2 + adds r0, r5, r7 + lsls r0, 3 + adds r3, r0, r2 + ldrh r0, [r3, 0x1A] + mov r8, r0 + movs r4, 0x1A + ldrsh r1, [r3, r4] + movs r4, 0xC + ldrsh r0, [r3, r4] + mov r9, r2 + cmp r1, r0 + bne _080BAB26 + strh r6, [r3, 0x1A] + movs r0, 0x8 + ldrsh r4, [r3, r0] + movs r1, 0xA + ldrsh r0, [r3, r1] + lsls r0, 16 + orrs r4, r0 + mov r8, r5 + cmp r4, 0 + beq _080BAAF2 + adds r5, r3, 0 +_080BAAD0: + movs r0, 0x1 + ands r0, r4 + cmp r0, 0 + beq _080BAAE4 + ldrb r2, [r5, 0x1C] + ldrh r3, [r5, 0x12] + adds r0, r6, 0 + movs r1, 0x10 + bl BlendPalette +_080BAAE4: + adds r0, r6, 0 + adds r0, 0x10 + lsls r0, 16 + lsrs r6, r0, 16 + lsrs r4, 1 + cmp r4, 0 + bne _080BAAD0 +_080BAAF2: + mov r4, r8 + adds r0, r4, r7 + lsls r0, 3 + mov r1, r9 + adds r2, r0, r1 + ldrh r0, [r2, 0x1C] + movs r4, 0x1C + ldrsh r3, [r2, r4] + movs r4, 0x10 + ldrsh r1, [r2, r4] + cmp r3, r1 + bge _080BAB14 + adds r0, 0x1 + strh r0, [r2, 0x1C] + b _080BAB2C + .align 2, 0 +_080BAB10: .4byte gTasks +_080BAB14: + cmp r3, r1 + ble _080BAB1E + subs r0, 0x1 + strh r0, [r2, 0x1C] + b _080BAB2C +_080BAB1E: + adds r0, r7, 0 + bl DestroyAnimVisualTask + b _080BAB2C +_080BAB26: + mov r0, r8 + adds r0, 0x1 + strh r0, [r3, 0x1A] +_080BAB2C: + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80BAA90 + + thumb_func_start sub_80BAB38 +sub_80BAB38: @ 80BAB38 + push {r4,r5,lr} + sub sp, 0x4 + adds r5, r0, 0 + lsls r5, 24 + lsrs r5, 24 + ldr r4, _080BAB6C @ =gBattleAnimArgs + ldrb r0, [r4] + ldrb r1, [r4, 0x2] + ldrb r2, [r4, 0x4] + ldrb r3, [r4, 0x6] + ldrb r4, [r4, 0x8] + str r4, [sp] + bl BeginHardwarePaletteFade + ldr r1, _080BAB70 @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r0, r1 + ldr r1, _080BAB74 @ =sub_80BAB78 + str r1, [r0] + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080BAB6C: .4byte gBattleAnimArgs +_080BAB70: .4byte gTasks +_080BAB74: .4byte sub_80BAB78 + thumb_func_end sub_80BAB38 + + thumb_func_start sub_80BAB78 +sub_80BAB78: @ 80BAB78 + push {lr} + lsls r0, 24 + lsrs r2, r0, 24 + ldr r0, _080BAB94 @ =gPaletteFade + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + bne _080BAB90 + adds r0, r2, 0 + bl DestroyAnimVisualTask +_080BAB90: + pop {r0} + bx r0 + .align 2, 0 +_080BAB94: .4byte gPaletteFade + thumb_func_end sub_80BAB78 + + thumb_func_start sub_80BAB98 +sub_80BAB98: @ 80BAB98 + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, _080BABC4 @ =gTasks + adds r1, r0 + ldr r2, _080BABC8 @ =gBattleAnimArgs + ldrh r0, [r2] + movs r3, 0 + strh r0, [r1, 0x8] + strh r3, [r1, 0xA] + ldrh r0, [r2, 0x2] + strh r0, [r1, 0xC] + ldrh r0, [r2, 0x4] + strh r0, [r1, 0xE] + ldrh r0, [r2, 0x6] + strh r0, [r1, 0x10] + strh r3, [r1, 0x12] + ldr r0, _080BABCC @ =sub_80BABD0 + str r0, [r1] + bx lr + .align 2, 0 +_080BABC4: .4byte gTasks +_080BABC8: .4byte gBattleAnimArgs +_080BABCC: .4byte sub_80BABD0 + thumb_func_end sub_80BAB98 + + thumb_func_start sub_80BABD0 +sub_80BABD0: @ 80BABD0 + push {r4-r6,lr} + lsls r0, 24 + lsrs r5, r0, 24 + adds r2, r5, 0 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + ldr r1, _080BABFC @ =gTasks + adds r4, r0, r1 + movs r1, 0x10 + ldrsh r0, [r4, r1] + cmp r0, 0 + beq _080BAC94 + ldrh r1, [r4, 0xA] + movs r2, 0xA + ldrsh r0, [r4, r2] + cmp r0, 0 + beq _080BAC00 + subs r0, r1, 0x1 + strh r0, [r4, 0xA] + b _080BACA2 + .align 2, 0 +_080BABFC: .4byte gTasks +_080BAC00: + ldrb r0, [r4, 0x8] + bl duplicate_obj_of_side_rel2move_in_transparent_mode + strh r0, [r4, 0x14] + lsls r0, 16 + cmp r0, 0 + blt _080BAC7E + ldr r6, _080BAC8C @ =gSprites + movs r1, 0x14 + ldrsh r0, [r4, r1] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r3, r1, r6 + movs r2, 0x8 + ldrsh r0, [r4, r2] + movs r2, 0x2 + cmp r0, 0 + beq _080BAC28 + movs r2, 0x1 +_080BAC28: + lsls r2, 2 + ldrb r1, [r3, 0x5] + movs r0, 0xD + negs r0, r0 + ands r0, r1 + orrs r0, r2 + strb r0, [r3, 0x5] + movs r0, 0x14 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r6 + ldrh r1, [r4, 0xE] + strh r1, [r0, 0x2E] + movs r2, 0x14 + ldrsh r1, [r4, r2] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r6 + strh r5, [r0, 0x30] + movs r0, 0x14 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r6 + movs r1, 0x5 + strh r1, [r0, 0x32] + movs r2, 0x14 + ldrsh r1, [r4, r2] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r1, r6, 0 + adds r1, 0x1C + adds r0, r1 + ldr r1, _080BAC90 @ =sub_80BACA8 + str r1, [r0] + ldrh r0, [r4, 0x12] + adds r0, 0x1 + strh r0, [r4, 0x12] +_080BAC7E: + ldrh r0, [r4, 0x10] + subs r0, 0x1 + strh r0, [r4, 0x10] + ldrh r0, [r4, 0xC] + strh r0, [r4, 0xA] + b _080BACA2 + .align 2, 0 +_080BAC8C: .4byte gSprites +_080BAC90: .4byte sub_80BACA8 +_080BAC94: + movs r1, 0x12 + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080BACA2 + adds r0, r2, 0 + bl DestroyAnimVisualTask +_080BACA2: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_80BABD0 + + thumb_func_start sub_80BACA8 +sub_80BACA8: @ 80BACA8 + push {r4,lr} + adds r4, r0, 0 + ldrh r1, [r4, 0x2E] + movs r2, 0x2E + ldrsh r0, [r4, r2] + cmp r0, 0 + beq _080BACBC + subs r0, r1, 0x1 + strh r0, [r4, 0x2E] + b _080BACE0 +_080BACBC: + ldr r3, _080BACE8 @ =gTasks + movs r0, 0x32 + ldrsh r1, [r4, r0] + lsls r1, 1 + movs r0, 0x30 + ldrsh r2, [r4, r0] + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + adds r1, r0 + adds r3, 0x8 + adds r1, r3 + ldrh r0, [r1] + subs r0, 0x1 + strh r0, [r1] + adds r0, r4, 0 + bl obj_delete_but_dont_free_vram +_080BACE0: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080BACE8: .4byte gTasks + thumb_func_end sub_80BACA8 + + thumb_func_start sub_80BACEC +sub_80BACEC: @ 80BACEC + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + sub sp, 0x14 + lsls r0, 24 + lsrs r0, 24 + mov r9, r0 + movs r7, 0 + ldr r0, _080BAE20 @ =gUnknown_2022984 + strh r7, [r0] + ldr r0, _080BAE24 @ =gUnknown_2022986 + strh r7, [r0] + ldr r1, _080BAE28 @ =0x00003f3f + movs r0, 0x48 + bl SetGpuReg + ldr r1, _080BAE2C @ =0x00003f3d + movs r0, 0x4A + bl SetGpuReg + movs r1, 0x80 + lsls r1, 8 + movs r0, 0 + bl SetGpuRegBits + ldr r1, _080BAE30 @ =0x00003f42 + movs r0, 0x50 + bl SetGpuReg + ldr r1, _080BAE34 @ =0x00000c08 + movs r0, 0x52 + bl SetGpuReg + movs r0, 0xA + bl GetGpuReg + add r4, sp, 0x10 + strh r0, [r4] + ldrb r1, [r4] + movs r0, 0x4 + negs r0, r0 + mov r8, r0 + ands r0, r1 + strb r0, [r4] + mov r2, sp + adds r2, 0x11 + ldrb r1, [r2] + movs r0, 0x3F + ands r0, r1 + strb r0, [r2] + ldrh r1, [r4] + movs r0, 0xA + bl SetGpuReg + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080BAD7A + ldrb r1, [r4] + movs r0, 0xD + negs r0, r0 + ands r0, r1 + movs r1, 0x4 + orrs r0, r1 + strb r0, [r4] + ldrh r1, [r4] + movs r0, 0xA + bl SetGpuReg +_080BAD7A: + bl sub_8075290 + lsls r0, 24 + cmp r0, 0 + beq _080BADFE + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080BADFE + ldr r5, _080BAE38 @ =gBattleAnimAttacker + ldrb r0, [r5] + bl GetBattlerPosition + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x3 + beq _080BADAA + ldrb r0, [r5] + bl GetBattlerPosition + lsls r0, 24 + cmp r0, 0 + bne _080BADFE +_080BADAA: + ldrb r0, [r5] + movs r6, 0x2 + eors r0, r6 + bl sub_8072DF0 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080BADFE + ldr r3, _080BAE3C @ =gSprites + ldr r1, _080BAE40 @ =gUnknown_2023D44 + ldrb r0, [r5] + eors r0, r6 + adds r0, r1 + ldrb r0, [r0] + lsls r2, r0, 4 + adds r2, r0 + lsls r2, 2 + adds r2, r3 + ldrb r3, [r2, 0x5] + lsls r1, r3, 28 + lsrs r1, 30 + subs r1, 0x1 + movs r0, 0x3 + ands r1, r0 + lsls r1, 2 + movs r0, 0xD + negs r0, r0 + ands r0, r3 + orrs r0, r1 + strb r0, [r2, 0x5] + ldrb r1, [r4] + mov r0, r8 + ands r0, r1 + movs r1, 0x1 + orrs r0, r1 + strb r0, [r4] + ldrh r1, [r4] + movs r0, 0xA + bl SetGpuReg + movs r7, 0x1 +_080BADFE: + ldr r4, _080BAE38 @ =gBattleAnimAttacker + ldrb r0, [r4] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080BAE4C + ldr r1, _080BAE44 @ =gBattlerPartyIndexes + ldrb r0, [r4] + lsls r0, 1 + adds r0, r1 + ldrh r1, [r0] + movs r0, 0x64 + muls r0, r1 + ldr r1, _080BAE48 @ =gEnemyParty + b _080BAE5C + .align 2, 0 +_080BAE20: .4byte gUnknown_2022984 +_080BAE24: .4byte gUnknown_2022986 +_080BAE28: .4byte 0x00003f3f +_080BAE2C: .4byte 0x00003f3d +_080BAE30: .4byte 0x00003f42 +_080BAE34: .4byte 0x00000c08 +_080BAE38: .4byte gBattleAnimAttacker +_080BAE3C: .4byte gSprites +_080BAE40: .4byte gUnknown_2023D44 +_080BAE44: .4byte gBattlerPartyIndexes +_080BAE48: .4byte gEnemyParty +_080BAE4C: + ldr r1, _080BAF0C @ =gBattlerPartyIndexes + ldrb r0, [r4] + lsls r0, 1 + adds r0, r1 + ldrh r1, [r0] + movs r0, 0x64 + muls r0, r1 + ldr r1, _080BAF10 @ =gPlayerParty +_080BAE5C: + adds r0, r1 + movs r1, 0xB + bl GetMonData + lsls r0, 16 + lsrs r4, r0, 16 + movs r0, 0 + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r0, 24 + adds r5, r0, 0 + ldr r0, _080BAF14 @ =gBattleAnimAttacker + ldrb r0, [r0] + adds r1, r5, 0 + adds r2, r4, 0 + bl sub_8076E34 + lsls r0, 24 + lsrs r4, r0, 24 + mov r0, sp + bl sub_80752A0 + mov r0, sp + ldrb r0, [r0, 0x9] + ldr r1, _080BAF18 @ =gFile_graphics_battle_anims_masks_curse_tilemap + bl sub_807543C + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + beq _080BAEAC + mov r0, sp + ldrb r0, [r0, 0x8] + ldr r1, [sp, 0x4] + movs r2, 0 + movs r3, 0 + bl sub_80730C0 +_080BAEAC: + mov r0, sp + ldrb r0, [r0, 0x9] + ldr r1, _080BAF1C @ =gFile_graphics_battle_anims_masks_curse_sheet + mov r2, sp + ldrh r2, [r2, 0xA] + bl sub_80753B4 + ldr r0, _080BAF20 @ =gUnknown_83E7CC8 + mov r1, sp + ldrb r1, [r1, 0x8] + lsls r1, 4 + adds r1, 0x1 + movs r2, 0x2 + bl LoadPalette + ldr r2, _080BAF24 @ =gBattle_BG1_X + ldr r0, _080BAF28 @ =gSprites + lsls r1, r5, 4 + adds r1, r5 + lsls r1, 2 + adds r1, r0 + ldrh r0, [r1, 0x20] + negs r0, r0 + adds r0, 0x20 + strh r0, [r2] + ldr r2, _080BAF2C @ =gBattle_BG1_Y + ldrh r0, [r1, 0x22] + negs r0, r0 + adds r0, 0x20 + strh r0, [r2] + ldr r1, _080BAF30 @ =gTasks + mov r2, r9 + lsls r0, r2, 2 + add r0, r9 + lsls r0, 3 + adds r0, r1 + strh r4, [r0, 0x8] + strh r7, [r0, 0x14] + ldr r1, _080BAF34 @ =sub_80BAF38 + str r1, [r0] + add sp, 0x14 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080BAF0C: .4byte gBattlerPartyIndexes +_080BAF10: .4byte gPlayerParty +_080BAF14: .4byte gBattleAnimAttacker +_080BAF18: .4byte gFile_graphics_battle_anims_masks_curse_tilemap +_080BAF1C: .4byte gFile_graphics_battle_anims_masks_curse_sheet +_080BAF20: .4byte gUnknown_83E7CC8 +_080BAF24: .4byte gBattle_BG1_X +_080BAF28: .4byte gSprites +_080BAF2C: .4byte gBattle_BG1_Y +_080BAF30: .4byte gTasks +_080BAF34: .4byte sub_80BAF38 + thumb_func_end sub_80BACEC + + thumb_func_start sub_80BAF38 +sub_80BAF38: @ 80BAF38 + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x14 + lsls r0, 24 + lsrs r0, 24 + adds r6, r0, 0 + ldr r1, _080BB068 @ =gTasks + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + adds r5, r0, r1 + ldrh r0, [r5, 0x1C] + adds r0, 0x4 + movs r1, 0 + mov r8, r1 + strh r0, [r5, 0x1C] + ldr r7, _080BB06C @ =gBattle_BG1_Y + ldrh r2, [r7] + subs r1, r2, 0x4 + strh r1, [r7] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x40 + bne _080BB05A + mov r0, r8 + strh r0, [r5, 0x1C] + adds r0, r2, 0 + adds r0, 0x3C + strh r0, [r7] + ldrh r0, [r5, 0x1E] + adds r0, 0x1 + strh r0, [r5, 0x1E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x4 + bne _080BB05A + movs r0, 0 + bl sub_8073128 + ldr r0, _080BB070 @ =gUnknown_2022984 + mov r1, r8 + strh r1, [r0] + ldr r0, _080BB074 @ =gUnknown_2022986 + strh r1, [r0] + ldr r4, _080BB078 @ =0x00003f3f + movs r0, 0x48 + adds r1, r4, 0 + bl SetGpuReg + movs r0, 0x4A + adds r1, r4, 0 + bl SetGpuReg + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080BAFCA + movs r0, 0xA + bl GetGpuReg + add r1, sp, 0x10 + strh r0, [r1] + ldrb r2, [r1] + movs r0, 0xD + negs r0, r0 + ands r0, r2 + strb r0, [r1] + ldrh r1, [r1] + movs r0, 0xA + bl SetGpuReg +_080BAFCA: + movs r0, 0 + bl GetGpuReg + adds r1, r0, 0 + movs r2, 0x80 + lsls r2, 8 + adds r0, r2, 0 + eors r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0 + bl SetGpuReg + movs r0, 0x50 + movs r1, 0 + bl SetGpuReg + movs r0, 0x52 + movs r1, 0 + bl SetGpuReg + movs r0, 0 + bl GetAnimBankSpriteId + ldr r4, _080BB07C @ =gSprites + movs r0, 0x8 + ldrsh r1, [r5, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r4 + bl DestroySprite + mov r0, sp + bl sub_80752A0 + mov r0, sp + ldrb r0, [r0, 0x9] + bl sub_8075358 + movs r1, 0x14 + ldrsh r0, [r5, r1] + cmp r0, 0x1 + bne _080BB050 + ldr r2, _080BB080 @ =gUnknown_2023D44 + ldr r0, _080BB084 @ =gBattleAnimAttacker + ldrb r1, [r0] + movs r0, 0x2 + eors r0, r1 + adds r0, r2 + ldrb r0, [r0] + lsls r2, r0, 4 + adds r2, r0 + lsls r2, 2 + adds r2, r4 + ldrb r3, [r2, 0x5] + lsls r1, r3, 28 + lsrs r1, 30 + adds r1, 0x1 + movs r0, 0x3 + ands r1, r0 + lsls r1, 2 + movs r0, 0xD + negs r0, r0 + ands r0, r3 + orrs r0, r1 + strb r0, [r2, 0x5] +_080BB050: + mov r2, r8 + strh r2, [r7] + adds r0, r6, 0 + bl DestroyAnimVisualTask +_080BB05A: + add sp, 0x14 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080BB068: .4byte gTasks +_080BB06C: .4byte gBattle_BG1_Y +_080BB070: .4byte gUnknown_2022984 +_080BB074: .4byte gUnknown_2022986 +_080BB078: .4byte 0x00003f3f +_080BB07C: .4byte gSprites +_080BB080: .4byte gUnknown_2023D44 +_080BB084: .4byte gBattleAnimAttacker + thumb_func_end sub_80BAF38 + + thumb_func_start sub_80BB088 +sub_80BB088: @ 80BB088 + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + ldr r4, _080BB0C8 @ =gUnknown_20399B4 + movs r0, 0x18 + bl AllocZeroed + str r0, [r4] + movs r2, 0 + ldr r3, _080BB0CC @ =gBattleAnimArgs +_080BB09C: + ldr r1, [r4] + lsls r0, r2, 1 + adds r1, 0x4 + adds r1, r0 + adds r0, r3 + ldrh r0, [r0] + strh r0, [r1] + adds r0, r2, 0x1 + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0x7 + bls _080BB09C + ldr r0, _080BB0D0 @ =gTasks + lsls r1, r5, 2 + adds r1, r5 + lsls r1, 3 + adds r1, r0 + ldr r0, _080BB0D4 @ =sub_80BB0D8 + str r0, [r1] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080BB0C8: .4byte gUnknown_20399B4 +_080BB0CC: .4byte gBattleAnimArgs +_080BB0D0: .4byte gTasks +_080BB0D4: .4byte sub_80BB0D8 + thumb_func_end sub_80BB088 + + thumb_func_start sub_80BB0D8 +sub_80BB0D8: @ 80BB0D8 + push {r4-r6,lr} + lsls r0, 24 + lsrs r6, r0, 24 + ldr r0, _080BB0F0 @ =gUnknown_20399B4 + ldr r1, [r0] + movs r2, 0x8 + ldrsh r0, [r1, r2] + cmp r0, 0 + bne _080BB0F8 + ldr r0, _080BB0F4 @ =gBattleAnimAttacker + b _080BB0FA + .align 2, 0 +_080BB0F0: .4byte gUnknown_20399B4 +_080BB0F4: .4byte gBattleAnimAttacker +_080BB0F8: + ldr r0, _080BB230 @ =gBattleAnimTarget +_080BB0FA: + ldrb r0, [r0] + strb r0, [r1] + ldr r4, _080BB234 @ =gUnknown_20399B4 + ldr r2, [r4] + ldrb r0, [r2] + movs r1, 0x2 + eors r0, r1 + strb r0, [r2, 0x1] + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080BB12A + ldr r1, [r4] + movs r2, 0xA + ldrsh r0, [r1, r2] + cmp r0, 0 + beq _080BB130 + ldrb r0, [r1, 0x1] + bl sub_8072DF0 + lsls r0, 24 + cmp r0, 0 + bne _080BB130 +_080BB12A: + ldr r1, [r4] + movs r0, 0 + strh r0, [r1, 0xA] +_080BB130: + ldr r0, _080BB238 @ =gUnknown_2022984 + movs r1, 0 + strh r1, [r0] + ldr r0, _080BB23C @ =gUnknown_2022986 + strh r1, [r0] + ldr r1, _080BB240 @ =0x00003f3f + movs r0, 0x48 + bl SetGpuReg + ldr r1, _080BB244 @ =0x00003f3d + movs r0, 0x4A + bl SetGpuReg + movs r1, 0x80 + lsls r1, 8 + movs r0, 0 + bl SetGpuRegBits + ldr r1, _080BB248 @ =0x00003f42 + movs r0, 0x50 + bl SetGpuReg + movs r1, 0x80 + lsls r1, 5 + movs r0, 0x52 + bl SetGpuReg + movs r0, 0x1 + movs r1, 0x4 + movs r2, 0 + bl SetAnimBgAttribute + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + bl SetAnimBgAttribute + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080BB18E + movs r0, 0x1 + movs r1, 0x3 + movs r2, 0x1 + bl SetAnimBgAttribute +_080BB18E: + bl sub_8075290 + lsls r0, 24 + cmp r0, 0 + beq _080BB20A + ldr r4, _080BB234 @ =gUnknown_20399B4 + ldr r1, [r4] + movs r2, 0xA + ldrsh r0, [r1, r2] + cmp r0, 0 + bne _080BB20A + ldrb r0, [r1] + bl GetBattlerPosition + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x3 + beq _080BB1C0 + ldr r0, [r4] + ldrb r0, [r0] + bl GetBattlerPosition + lsls r0, 24 + cmp r0, 0 + bne _080BB20A +_080BB1C0: + ldr r0, [r4] + ldrb r0, [r0, 0x1] + bl sub_8072DF0 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0x1 + bne _080BB20A + ldr r3, _080BB24C @ =gSprites + ldr r1, _080BB250 @ =gUnknown_2023D44 + ldr r0, [r4] + ldrb r0, [r0, 0x1] + adds r0, r1 + ldrb r0, [r0] + lsls r2, r0, 4 + adds r2, r0 + lsls r2, 2 + adds r2, r3 + ldrb r3, [r2, 0x5] + lsls r1, r3, 28 + lsrs r1, 30 + subs r1, 0x1 + movs r0, 0x3 + ands r1, r0 + lsls r1, 2 + movs r0, 0xD + negs r0, r0 + ands r0, r3 + orrs r0, r1 + strb r0, [r2, 0x5] + movs r0, 0x1 + movs r1, 0x4 + movs r2, 0x1 + bl SetAnimBgAttribute + ldr r0, [r4] + strb r5, [r0, 0x2] +_080BB20A: + ldr r4, _080BB234 @ =gUnknown_20399B4 + ldr r0, [r4] + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080BB25C + ldr r1, _080BB254 @ =gBattlerPartyIndexes + ldr r0, [r4] + ldrb r0, [r0] + lsls r0, 1 + adds r0, r1 + ldrh r1, [r0] + movs r0, 0x64 + muls r0, r1 + ldr r1, _080BB258 @ =gEnemyParty + b _080BB26E + .align 2, 0 +_080BB230: .4byte gBattleAnimTarget +_080BB234: .4byte gUnknown_20399B4 +_080BB238: .4byte gUnknown_2022984 +_080BB23C: .4byte gUnknown_2022986 +_080BB240: .4byte 0x00003f3f +_080BB244: .4byte 0x00003f3d +_080BB248: .4byte 0x00003f42 +_080BB24C: .4byte gSprites +_080BB250: .4byte gUnknown_2023D44 +_080BB254: .4byte gBattlerPartyIndexes +_080BB258: .4byte gEnemyParty +_080BB25C: + ldr r1, _080BB290 @ =gBattlerPartyIndexes + ldr r0, [r4] + ldrb r0, [r0] + lsls r0, 1 + adds r0, r1 + ldrh r1, [r0] + movs r0, 0x64 + muls r0, r1 + ldr r1, _080BB294 @ =gPlayerParty +_080BB26E: + adds r0, r1 + movs r1, 0xB + bl GetMonData + ldr r1, [r4] + strh r0, [r1, 0x14] + ldr r0, _080BB298 @ =gTasks + lsls r1, r6, 2 + adds r1, r6 + lsls r1, 3 + adds r1, r0 + ldr r0, _080BB29C @ =sub_80BB2A0 + str r0, [r1] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080BB290: .4byte gBattlerPartyIndexes +_080BB294: .4byte gPlayerParty +_080BB298: .4byte gTasks +_080BB29C: .4byte sub_80BB2A0 + thumb_func_end sub_80BB0D8 + + thumb_func_start sub_80BB2A0 +sub_80BB2A0: @ 80BB2A0 + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x10 + lsls r0, 24 + lsrs r5, r0, 24 + movs r0, 0 + mov r8, r0 + ldr r6, _080BB300 @ =gUnknown_2023D44 + ldr r4, _080BB304 @ =gUnknown_20399B4 + ldr r2, [r4] + ldrb r0, [r2] + adds r1, r0, r6 + ldrb r1, [r1] + ldrh r2, [r2, 0x14] + bl sub_8076E34 + lsls r0, 24 + lsrs r7, r0, 24 + ldr r2, [r4] + movs r1, 0xA + ldrsh r0, [r2, r1] + cmp r0, 0 + beq _080BB2E2 + ldrb r0, [r2, 0x1] + adds r1, r0, r6 + ldrb r1, [r1] + ldrh r2, [r2, 0x14] + bl sub_8076E34 + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 +_080BB2E2: + mov r0, sp + bl sub_80752A0 + ldr r0, [r4] + movs r4, 0x4 + ldrsh r0, [r0, r4] + cmp r0, 0 + bne _080BB30C + mov r0, sp + ldrb r0, [r0, 0x9] + ldr r1, _080BB308 @ =gFile_graphics_battle_anims_masks_stat_tilemap_1_tilemap + bl sub_807543C + b _080BB316 + .align 2, 0 +_080BB300: .4byte gUnknown_2023D44 +_080BB304: .4byte gUnknown_20399B4 +_080BB308: .4byte gFile_graphics_battle_anims_masks_stat_tilemap_1_tilemap +_080BB30C: + mov r0, sp + ldrb r0, [r0, 0x9] + ldr r1, _080BB354 @ =gFile_graphics_battle_anims_masks_stat_tilemap_2_tilemap + bl sub_807543C +_080BB316: + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + beq _080BB32E + mov r0, sp + ldrb r0, [r0, 0x8] + ldr r1, [sp, 0x4] + movs r2, 0 + movs r3, 0 + bl sub_80730C0 +_080BB32E: + mov r0, sp + ldrb r0, [r0, 0x9] + ldr r1, _080BB358 @ =gFile_graphics_battle_anims_masks_stat_sheet + mov r2, sp + ldrh r2, [r2, 0xA] + bl sub_80753B4 + ldr r0, _080BB35C @ =gUnknown_20399B4 + ldr r0, [r0] + movs r1, 0x6 + ldrsh r0, [r0, r1] + cmp r0, 0x6 + bhi _080BB3C4 + lsls r0, 2 + ldr r1, _080BB360 @ =_080BB364 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080BB354: .4byte gFile_graphics_battle_anims_masks_stat_tilemap_2_tilemap +_080BB358: .4byte gFile_graphics_battle_anims_masks_stat_sheet +_080BB35C: .4byte gUnknown_20399B4 +_080BB360: .4byte _080BB364 + .align 2, 0 +_080BB364: + .4byte _080BB380 + .4byte _080BB388 + .4byte _080BB390 + .4byte _080BB398 + .4byte _080BB3A0 + .4byte _080BB3A8 + .4byte _080BB3B0 +_080BB380: + ldr r0, _080BB384 @ =gFile_graphics_battle_anims_masks_stat2_palette + b _080BB3B2 + .align 2, 0 +_080BB384: .4byte gFile_graphics_battle_anims_masks_stat2_palette +_080BB388: + ldr r0, _080BB38C @ =gFile_graphics_battle_anims_masks_stat1_palette + b _080BB3B2 + .align 2, 0 +_080BB38C: .4byte gFile_graphics_battle_anims_masks_stat1_palette +_080BB390: + ldr r0, _080BB394 @ =gFile_graphics_battle_anims_masks_stat3_palette + b _080BB3B2 + .align 2, 0 +_080BB394: .4byte gFile_graphics_battle_anims_masks_stat3_palette +_080BB398: + ldr r0, _080BB39C @ =gFile_graphics_battle_anims_masks_stat4_palette + b _080BB3B2 + .align 2, 0 +_080BB39C: .4byte gFile_graphics_battle_anims_masks_stat4_palette +_080BB3A0: + ldr r0, _080BB3A4 @ =gFile_graphics_battle_anims_masks_stat6_palette + b _080BB3B2 + .align 2, 0 +_080BB3A4: .4byte gFile_graphics_battle_anims_masks_stat6_palette +_080BB3A8: + ldr r0, _080BB3AC @ =gFile_graphics_battle_anims_masks_stat7_palette + b _080BB3B2 + .align 2, 0 +_080BB3AC: .4byte gFile_graphics_battle_anims_masks_stat7_palette +_080BB3B0: + ldr r0, _080BB3C0 @ =gFile_graphics_battle_anims_masks_stat8_palette +_080BB3B2: + mov r1, sp + ldrb r1, [r1, 0x8] + lsls r1, 4 + movs r2, 0x20 + bl LoadCompressedPalette + b _080BB3D2 + .align 2, 0 +_080BB3C0: .4byte gFile_graphics_battle_anims_masks_stat8_palette +_080BB3C4: + ldr r0, _080BB3FC @ =gFile_graphics_battle_anims_masks_stat5_palette + mov r1, sp + ldrb r1, [r1, 0x8] + lsls r1, 4 + movs r2, 0x20 + bl LoadCompressedPalette +_080BB3D2: + ldr r3, _080BB400 @ =gBattle_BG1_X + movs r2, 0 + strh r2, [r3] + ldr r0, _080BB404 @ =gBattle_BG1_Y + strh r2, [r0] + ldr r1, _080BB408 @ =gUnknown_20399B4 + ldr r0, [r1] + movs r4, 0x4 + ldrsh r0, [r0, r4] + adds r4, r1, 0 + cmp r0, 0x1 + bne _080BB414 + movs r0, 0x40 + strh r0, [r3] + ldr r2, _080BB40C @ =gTasks + lsls r3, r5, 2 + adds r0, r3, r5 + lsls r0, 3 + adds r0, r2 + ldr r1, _080BB410 @ =0x0000fffd + b _080BB420 + .align 2, 0 +_080BB3FC: .4byte gFile_graphics_battle_anims_masks_stat5_palette +_080BB400: .4byte gBattle_BG1_X +_080BB404: .4byte gBattle_BG1_Y +_080BB408: .4byte gUnknown_20399B4 +_080BB40C: .4byte gTasks +_080BB410: .4byte 0x0000fffd +_080BB414: + ldr r2, _080BB43C @ =gTasks + lsls r3, r5, 2 + adds r0, r3, r5 + lsls r0, 3 + adds r0, r2 + movs r1, 0x3 +_080BB420: + strh r1, [r0, 0xA] + ldr r0, [r4] + movs r1, 0xC + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _080BB440 + adds r0, r3, r5 + lsls r0, 3 + adds r0, r2 + movs r1, 0xA + strh r1, [r0, 0x10] + movs r1, 0x14 + b _080BB44C + .align 2, 0 +_080BB43C: .4byte gTasks +_080BB440: + adds r0, r3, r5 + lsls r0, 3 + adds r0, r2 + movs r1, 0xD + strh r1, [r0, 0x10] + movs r1, 0x1E +_080BB44C: + strh r1, [r0, 0x12] + adds r1, r3, r5 + lsls r1, 3 + adds r1, r2 + strh r7, [r1, 0x8] + ldr r3, [r4] + ldrh r0, [r3, 0xA] + strh r0, [r1, 0xC] + mov r4, r8 + strh r4, [r1, 0xE] + ldrb r0, [r3, 0x2] + strh r0, [r1, 0x14] + ldr r2, _080BB490 @ =gUnknown_2023D44 + ldrb r0, [r3, 0x1] + adds r0, r2 + ldrb r0, [r0] + strh r0, [r1, 0x16] + ldr r0, _080BB494 @ =sub_80BB4B8 + str r0, [r1] + movs r1, 0x4 + ldrsh r0, [r3, r1] + cmp r0, 0 + bne _080BB498 + movs r0, 0x40 + negs r0, r0 + bl sub_8073B08 + adds r1, r0, 0 + lsls r1, 24 + asrs r1, 24 + movs r0, 0xE8 + bl PlaySE12WithPanning + b _080BB4AC + .align 2, 0 +_080BB490: .4byte gUnknown_2023D44 +_080BB494: .4byte sub_80BB4B8 +_080BB498: + movs r0, 0x40 + negs r0, r0 + bl sub_8073B08 + adds r1, r0, 0 + lsls r1, 24 + asrs r1, 24 + movs r0, 0xEE + bl PlaySE12WithPanning +_080BB4AC: + add sp, 0x10 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80BB2A0 + + thumb_func_start sub_80BB4B8 +sub_80BB4B8: @ 80BB4B8 + push {r4-r6,lr} + lsls r0, 24 + lsrs r6, r0, 24 + ldr r2, _080BB4E4 @ =gBattle_BG1_Y + ldr r1, _080BB4E8 @ =gTasks + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + adds r5, r0, r1 + ldrh r0, [r5, 0xA] + ldrh r1, [r2] + adds r0, r1 + strh r0, [r2] + movs r0, 0x26 + ldrsh r2, [r5, r0] + cmp r2, 0x1 + beq _080BB52E + cmp r2, 0x1 + bgt _080BB4EC + cmp r2, 0 + beq _080BB4F6 + b _080BB644 + .align 2, 0 +_080BB4E4: .4byte gBattle_BG1_Y +_080BB4E8: .4byte gTasks +_080BB4EC: + cmp r2, 0x2 + beq _080BB544 + cmp r2, 0x3 + beq _080BB582 + b _080BB644 +_080BB4F6: + ldrh r0, [r5, 0x1E] + adds r1, r0, 0x1 + strh r1, [r5, 0x1E] + lsls r0, 16 + cmp r0, 0 + bgt _080BB504 + b _080BB644 +_080BB504: + strh r2, [r5, 0x1E] + ldrh r1, [r5, 0x20] + adds r1, 0x1 + strh r1, [r5, 0x20] + movs r0, 0x10 + subs r0, r1 + lsls r0, 8 + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + movs r2, 0x20 + ldrsh r1, [r5, r2] + movs r2, 0x10 + ldrsh r0, [r5, r2] + cmp r1, r0 + beq _080BB52C + b _080BB644 +_080BB52C: + b _080BB57A +_080BB52E: + ldrh r0, [r5, 0x1C] + adds r0, 0x1 + strh r0, [r5, 0x1C] + lsls r0, 16 + asrs r0, 16 + movs r2, 0x12 + ldrsh r1, [r5, r2] + cmp r0, r1 + beq _080BB542 + b _080BB644 +_080BB542: + b _080BB57A +_080BB544: + ldrh r0, [r5, 0x1E] + adds r1, r0, 0x1 + strh r1, [r5, 0x1E] + lsls r0, 16 + cmp r0, 0 + ble _080BB644 + movs r0, 0 + strh r0, [r5, 0x1E] + ldrh r1, [r5, 0x20] + subs r1, 0x1 + strh r1, [r5, 0x20] + movs r0, 0x10 + subs r0, r1 + lsls r0, 8 + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + movs r1, 0x20 + ldrsh r0, [r5, r1] + cmp r0, 0 + bne _080BB644 + movs r0, 0 + bl sub_8073128 +_080BB57A: + ldrh r0, [r5, 0x26] + adds r0, 0x1 + strh r0, [r5, 0x26] + b _080BB644 +_080BB582: + ldr r0, _080BB64C @ =gUnknown_2022984 + movs r1, 0 + strh r1, [r0] + ldr r0, _080BB650 @ =gUnknown_2022986 + strh r1, [r0] + ldr r4, _080BB654 @ =0x00003f3f + movs r0, 0x48 + adds r1, r4, 0 + bl SetGpuReg + movs r0, 0x4A + adds r1, r4, 0 + bl SetGpuReg + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080BB5B2 + movs r0, 0x1 + movs r1, 0x3 + movs r2, 0 + bl SetAnimBgAttribute +_080BB5B2: + movs r0, 0 + bl GetGpuReg + adds r1, r0, 0 + movs r2, 0x80 + lsls r2, 8 + adds r0, r2, 0 + eors r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0 + bl SetGpuReg + movs r0, 0x50 + movs r1, 0 + bl SetGpuReg + movs r0, 0x52 + movs r1, 0 + bl SetGpuReg + movs r0, 0x8 + ldrsh r1, [r5, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r4, _080BB658 @ =gSprites + adds r0, r4 + bl DestroySprite + movs r1, 0xC + ldrsh r0, [r5, r1] + cmp r0, 0 + beq _080BB606 + movs r2, 0xE + ldrsh r1, [r5, r2] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r4 + bl DestroySprite +_080BB606: + movs r1, 0x14 + ldrsh r0, [r5, r1] + cmp r0, 0x1 + bne _080BB632 + movs r2, 0x16 + ldrsh r0, [r5, r2] + lsls r2, r0, 4 + adds r2, r0 + lsls r2, 2 + adds r2, r4 + ldrb r3, [r2, 0x5] + lsls r1, r3, 28 + lsrs r1, 30 + adds r1, 0x1 + movs r0, 0x3 + ands r1, r0 + lsls r1, 2 + movs r0, 0xD + negs r0, r0 + ands r0, r3 + orrs r0, r1 + strb r0, [r2, 0x5] +_080BB632: + ldr r4, _080BB65C @ =gUnknown_20399B4 + ldr r0, [r4] + bl Free + movs r0, 0 + str r0, [r4] + adds r0, r6, 0 + bl DestroyAnimVisualTask +_080BB644: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080BB64C: .4byte gUnknown_2022984 +_080BB650: .4byte gUnknown_2022986 +_080BB654: .4byte 0x00003f3f +_080BB658: .4byte gSprites +_080BB65C: .4byte gUnknown_20399B4 + thumb_func_end sub_80BB4B8 + + thumb_func_start sub_80BB660 +sub_80BB660: @ 80BB660 + push {r4-r6,lr} + sub sp, 0xC + adds r5, r0, 0 + lsls r5, 24 + lsrs r5, 24 + movs r0, 0x1 + movs r1, 0x1 + movs r2, 0x1 + movs r3, 0x1 + bl sub_8075CB8 + adds r6, r0, 0 + movs r1, 0 + bl sub_80BB790 + ldr r0, _080BB6C0 @ =gTasks + lsls r4, r5, 2 + adds r4, r5 + lsls r4, 3 + adds r4, r0 + lsrs r0, r6, 16 + movs r5, 0 + strh r0, [r4, 0x24] + str r5, [sp] + str r5, [sp, 0x4] + str r5, [sp, 0x8] + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + movs r3, 0 + bl sub_8075BE8 + adds r6, r0, 0 + ldr r1, _080BB6C4 @ =0x0000ffff + ands r6, r1 + adds r0, r6, 0 + bl sub_80BB790 + strh r6, [r4, 0x26] + strh r5, [r4, 0x8] + strh r5, [r4, 0xA] + ldr r0, _080BB6C8 @ =sub_80BB6CC + str r0, [r4] + add sp, 0xC + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080BB6C0: .4byte gTasks +_080BB6C4: .4byte 0x0000ffff +_080BB6C8: .4byte sub_80BB6CC + thumb_func_end sub_80BB660 + + thumb_func_start sub_80BB6CC +sub_80BB6CC: @ 80BB6CC + push {r4-r6,lr} + lsls r0, 24 + lsrs r2, r0, 24 + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + ldr r1, _080BB6F0 @ =gTasks + adds r4, r0, r1 + movs r0, 0x8 + ldrsh r1, [r4, r0] + cmp r1, 0x1 + beq _080BB710 + cmp r1, 0x1 + bgt _080BB6F4 + cmp r1, 0 + beq _080BB6FA + b _080BB78A + .align 2, 0 +_080BB6F0: .4byte gTasks +_080BB6F4: + cmp r1, 0x2 + beq _080BB784 + b _080BB78A +_080BB6FA: + ldrh r0, [r4, 0xA] + adds r0, 0x1 + strh r0, [r4, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x6 + ble _080BB78A + strh r1, [r4, 0xA] + movs r0, 0x10 + strh r0, [r4, 0xC] + b _080BB778 +_080BB710: + ldrh r0, [r4, 0xA] + adds r0, 0x1 + strh r0, [r4, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + ble _080BB78A + movs r0, 0 + strh r0, [r4, 0xA] + ldrh r0, [r4, 0xC] + subs r0, 0x1 + strh r0, [r4, 0xC] + movs r5, 0 + movs r6, 0x1 +_080BB72C: + movs r1, 0x26 + ldrsh r0, [r4, r1] + asrs r0, r5 + ands r0, r6 + cmp r0, 0 + beq _080BB746 + lsls r0, r5, 20 + lsrs r0, 16 + ldrb r2, [r4, 0xC] + movs r1, 0x10 + ldr r3, _080BB780 @ =0x0000ffff + bl BlendPalette +_080BB746: + movs r1, 0x24 + ldrsh r0, [r4, r1] + asrs r0, r5 + ands r0, r6 + cmp r0, 0 + beq _080BB766 + lsls r0, r5, 20 + movs r1, 0x80 + lsls r1, 17 + adds r0, r1 + lsrs r0, 16 + ldrb r2, [r4, 0xC] + movs r1, 0x10 + movs r3, 0 + bl BlendPalette +_080BB766: + adds r0, r5, 0x1 + lsls r0, 16 + lsrs r5, r0, 16 + cmp r5, 0xF + bls _080BB72C + movs r1, 0xC + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080BB78A +_080BB778: + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] + b _080BB78A + .align 2, 0 +_080BB780: .4byte 0x0000ffff +_080BB784: + adds r0, r2, 0 + bl DestroyAnimVisualTask +_080BB78A: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_80BB6CC + + thumb_func_start sub_80BB790 +sub_80BB790: @ 80BB790 + push {r4-r6,lr} + adds r3, r0, 0 + lsls r1, 16 + lsrs r6, r1, 16 + movs r2, 0 +_080BB79A: + movs r0, 0x1 + ands r0, r3 + lsrs r4, r3, 1 + adds r5, r2, 0x1 + cmp r0, 0 + beq _080BB7C6 + lsls r0, r2, 20 + lsrs r2, r0, 16 + adds r0, r2, 0 + adds r0, 0x10 + cmp r2, r0 + bge _080BB7C6 + ldr r1, _080BB7D8 @ =gPlttBufferFaded + adds r3, r0, 0 +_080BB7B6: + lsls r0, r2, 1 + adds r0, r1 + strh r6, [r0] + adds r0, r2, 0x1 + lsls r0, 16 + lsrs r2, r0, 16 + cmp r2, r3 + blt _080BB7B6 +_080BB7C6: + adds r3, r4, 0 + lsls r0, r5, 16 + lsrs r2, r0, 16 + cmp r2, 0x1F + bls _080BB79A + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080BB7D8: .4byte gPlttBufferFaded + thumb_func_end sub_80BB790 + + thumb_func_start sub_80BB7DC +sub_80BB7DC: @ 80BB7DC + push {r4-r6,lr} + lsls r0, 24 + lsrs r6, r0, 24 + movs r4, 0 + movs r2, 0 + ldr r0, _080BB824 @ =gBattleAnimAttacker + ldrb r3, [r0] + movs r5, 0x1 +_080BB7EC: + cmp r3, r2 + beq _080BB7FA + adds r1, r2, 0 + adds r1, 0x10 + adds r0, r5, 0 + lsls r0, r1 + orrs r4, r0 +_080BB7FA: + adds r2, 0x1 + cmp r2, 0x3 + bls _080BB7EC + movs r2, 0x5 + ldr r0, _080BB828 @ =gBattleAnimArgs + adds r1, r0, 0 + adds r1, 0x8 +_080BB808: + ldrh r0, [r1] + strh r0, [r1, 0x2] + subs r1, 0x2 + subs r2, 0x1 + cmp r2, 0 + bne _080BB808 + adds r0, r6, 0 + adds r1, r4, 0 + bl sub_80BAA4C + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080BB824: .4byte gBattleAnimAttacker +_080BB828: .4byte gBattleAnimArgs + thumb_func_end sub_80BB7DC + + thumb_func_start sub_80BB82C +sub_80BB82C: @ 80BB82C + push {r4-r6,lr} + lsls r0, 24 + lsrs r6, r0, 24 + movs r0, 0 + bl sub_8075458 + ldr r0, _080BB894 @ =sub_80BB8A4 + movs r1, 0x5 + bl CreateTask + lsls r0, 24 + lsrs r5, r0, 24 + ldr r4, _080BB898 @ =gBattleAnimArgs + movs r1, 0x4 + ldrsh r0, [r4, r1] + cmp r0, 0 + beq _080BB868 + ldr r0, _080BB89C @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080BB868 + ldrh r0, [r4] + negs r0, r0 + strh r0, [r4] + ldrh r0, [r4, 0x2] + negs r0, r0 + strh r0, [r4, 0x2] +_080BB868: + ldr r0, _080BB8A0 @ =gTasks + lsls r1, r5, 2 + adds r1, r5 + lsls r1, 3 + adds r1, r0 + ldr r2, _080BB898 @ =gBattleAnimArgs + ldrh r0, [r2] + strh r0, [r1, 0xA] + ldrh r0, [r2, 0x2] + strh r0, [r1, 0xC] + ldrh r0, [r2, 0x6] + strh r0, [r1, 0xE] + ldrh r0, [r1, 0x8] + adds r0, 0x1 + strh r0, [r1, 0x8] + adds r0, r6, 0 + bl DestroyAnimVisualTask + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080BB894: .4byte sub_80BB8A4 +_080BB898: .4byte gBattleAnimArgs +_080BB89C: .4byte gBattleAnimAttacker +_080BB8A0: .4byte gTasks + thumb_func_end sub_80BB82C + + thumb_func_start sub_80BB8A4 +sub_80BB8A4: @ 80BB8A4 + push {r4-r7,lr} + lsls r0, 24 + lsrs r5, r0, 24 + ldr r0, _080BB910 @ =gTasks + lsls r1, r5, 2 + adds r1, r5 + lsls r1, 3 + adds r1, r0 + ldrh r3, [r1, 0xA] + ldrh r0, [r1, 0x1C] + adds r3, r0 + movs r4, 0 + mov r12, r4 + strh r3, [r1, 0x1C] + ldrh r2, [r1, 0xC] + ldrh r7, [r1, 0x1E] + adds r2, r7 + strh r2, [r1, 0x1E] + ldr r6, _080BB914 @ =gBattle_BG3_X + lsls r0, r3, 16 + asrs r0, 24 + ldrh r4, [r6] + adds r0, r4 + strh r0, [r6] + ldr r4, _080BB918 @ =gBattle_BG3_Y + lsls r0, r2, 16 + asrs r0, 24 + ldrh r7, [r4] + adds r0, r7 + strh r0, [r4] + movs r0, 0xFF + ands r3, r0 + strh r3, [r1, 0x1C] + ands r2, r0 + strh r2, [r1, 0x1E] + ldr r0, _080BB91C @ =gBattleAnimArgs + movs r3, 0xE + ldrsh r2, [r0, r3] + movs r7, 0xE + ldrsh r0, [r1, r7] + cmp r2, r0 + bne _080BB90A + mov r0, r12 + strh r0, [r6] + strh r0, [r4] + movs r0, 0x1 + bl sub_8075458 + adds r0, r5, 0 + bl DestroyTask +_080BB90A: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080BB910: .4byte gTasks +_080BB914: .4byte gBattle_BG3_X +_080BB918: .4byte gBattle_BG3_Y +_080BB91C: .4byte gBattleAnimArgs + thumb_func_end sub_80BB8A4 + + thumb_func_start sub_80BB920 +sub_80BB920: @ 80BB920 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r0, _080BB944 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + ldr r1, _080BB948 @ =gBattleAnimArgs + lsls r0, 24 + lsrs r0, 24 + strh r0, [r1, 0xE] + adds r0, r4, 0 + bl DestroyAnimVisualTask + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080BB944: .4byte gBattleAnimAttacker +_080BB948: .4byte gBattleAnimArgs + thumb_func_end sub_80BB920 + + thumb_func_start sub_80BB94C +sub_80BB94C: @ 80BB94C + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r0, _080BB970 @ =gBattleAnimTarget + ldrb r0, [r0] + bl GetBattlerSide + ldr r1, _080BB974 @ =gBattleAnimArgs + lsls r0, 24 + lsrs r0, 24 + strh r0, [r1, 0xE] + adds r0, r4, 0 + bl DestroyAnimVisualTask + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080BB970: .4byte gBattleAnimTarget +_080BB974: .4byte gBattleAnimArgs + thumb_func_end sub_80BB94C + + thumb_func_start sub_80BB978 +sub_80BB978: @ 80BB978 + push {r4,r5,lr} + lsls r0, 24 + lsrs r3, r0, 24 + ldr r5, _080BB9A4 @ =gBattleAnimArgs + movs r4, 0 + ldr r0, _080BB9A8 @ =gBattleAnimAttacker + ldrb r2, [r0] + movs r0, 0x2 + ldr r1, _080BB9AC @ =gBattleAnimTarget + eors r0, r2 + ldrb r1, [r1] + cmp r0, r1 + bne _080BB994 + movs r4, 0x1 +_080BB994: + strh r4, [r5, 0xE] + adds r0, r3, 0 + bl DestroyAnimVisualTask + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080BB9A4: .4byte gBattleAnimArgs +_080BB9A8: .4byte gBattleAnimAttacker +_080BB9AC: .4byte gBattleAnimTarget + thumb_func_end sub_80BB978 + + thumb_func_start sub_80BB9B0 +sub_80BB9B0: @ 80BB9B0 + push {r4-r7,lr} + lsls r0, 24 + lsrs r5, r0, 24 + movs r4, 0 + ldr r6, _080BBA10 @ =gSprites +_080BB9BA: + ldr r0, _080BBA14 @ =gBattleAnimAttacker + ldrb r0, [r0] + cmp r4, r0 + beq _080BB9F8 + lsls r0, r4, 24 + lsrs r0, 24 + bl sub_8072DF0 + lsls r0, 24 + cmp r0, 0 + beq _080BB9F8 + ldr r0, _080BBA18 @ =gUnknown_2023D44 + adds r0, r4, r0 + ldrb r0, [r0] + lsls r2, r0, 4 + adds r2, r0 + lsls r2, 2 + adds r2, r6 + ldr r1, _080BBA1C @ =gBattleAnimArgs + adds r2, 0x3E + movs r0, 0x1 + ldrb r3, [r1] + ands r3, r0 + lsls r3, 2 + ldrb r0, [r2] + movs r7, 0x5 + negs r7, r7 + adds r1, r7, 0 + ands r0, r1 + orrs r0, r3 + strb r0, [r2] +_080BB9F8: + adds r0, r4, 0x1 + lsls r0, 16 + lsrs r4, r0, 16 + cmp r4, 0x3 + bls _080BB9BA + adds r0, r5, 0 + bl DestroyAnimVisualTask + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080BBA10: .4byte gSprites +_080BBA14: .4byte gBattleAnimAttacker +_080BBA18: .4byte gUnknown_2023D44 +_080BBA1C: .4byte gBattleAnimArgs + thumb_func_end sub_80BB9B0 + + thumb_func_start sub_80BBA20 +sub_80BBA20: @ 80BBA20 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x24 + ldr r1, [sp, 0x44] + ldr r4, [sp, 0x48] + ldr r5, [sp, 0x4C] + ldr r6, [sp, 0x50] + lsls r0, 24 + lsrs r0, 24 + mov r9, r0 + lsls r2, 16 + lsrs r2, 16 + str r2, [sp, 0x14] + lsls r3, 24 + lsrs r7, r3, 24 + lsls r1, 24 + lsrs r1, 24 + mov r8, r1 + lsls r4, 24 + lsrs r4, 24 + str r4, [sp, 0x18] + lsls r5, 24 + lsrs r5, 24 + str r5, [sp, 0x1C] + lsls r6, 24 + lsrs r6, 24 + mov r10, r6 + movs r0, 0 + str r0, [sp, 0x20] + movs r0, 0x2 + adds r6, r7, 0 + eors r6, r0 + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080BBA82 + mov r1, r8 + cmp r1, 0 + beq _080BBA86 + adds r0, r6, 0 + bl sub_8072DF0 + lsls r0, 24 + cmp r0, 0 + bne _080BBA86 +_080BBA82: + movs r2, 0 + mov r8, r2 +_080BBA86: + ldr r0, _080BBB20 @ =gUnknown_2022984 + movs r1, 0 + strh r1, [r0] + ldr r0, _080BBB24 @ =gUnknown_2022986 + strh r1, [r0] + ldr r1, _080BBB28 @ =0x00003f3f + movs r0, 0x48 + bl SetGpuReg + ldr r1, _080BBB2C @ =0x00003f3d + movs r0, 0x4A + bl SetGpuReg + movs r1, 0x80 + lsls r1, 8 + movs r0, 0 + bl SetGpuRegBits + ldr r1, _080BBB30 @ =0x00003f42 + movs r0, 0x50 + bl SetGpuReg + movs r1, 0x80 + lsls r1, 5 + movs r0, 0x52 + bl SetGpuReg + movs r0, 0xA + bl GetGpuReg + add r4, sp, 0x10 + strh r0, [r4] + ldrb r1, [r4] + movs r0, 0x4 + negs r0, r0 + ands r0, r1 + strb r0, [r4] + mov r2, sp + adds r2, 0x11 + ldrb r1, [r2] + movs r0, 0x3F + ands r0, r1 + strb r0, [r2] + ldrb r0, [r2] + movs r1, 0x20 + orrs r0, r1 + strb r0, [r2] + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080BBAFC + ldrb r0, [r4] + movs r1, 0xD + negs r1, r1 + ands r1, r0 + movs r0, 0x4 + orrs r1, r0 + strb r1, [r4] +_080BBAFC: + ldrh r1, [r4] + movs r0, 0xA + bl SetGpuReg + adds r0, r7, 0 + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080BBB3C + ldr r1, _080BBB34 @ =gBattlerPartyIndexes + lsls r0, r7, 1 + adds r0, r1 + ldrh r1, [r0] + movs r0, 0x64 + muls r0, r1 + ldr r1, _080BBB38 @ =gEnemyParty + b _080BBB4A + .align 2, 0 +_080BBB20: .4byte gUnknown_2022984 +_080BBB24: .4byte gUnknown_2022986 +_080BBB28: .4byte 0x00003f3f +_080BBB2C: .4byte 0x00003f3d +_080BBB30: .4byte 0x00003f42 +_080BBB34: .4byte gBattlerPartyIndexes +_080BBB38: .4byte gEnemyParty +_080BBB3C: + ldr r1, _080BBC10 @ =gBattlerPartyIndexes + lsls r0, r7, 1 + adds r0, r1 + ldrh r1, [r0] + movs r0, 0x64 + muls r0, r1 + ldr r1, _080BBC14 @ =gPlayerParty +_080BBB4A: + adds r0, r1 + movs r1, 0xB + bl GetMonData + lsls r0, 16 + lsrs r4, r0, 16 + ldr r5, _080BBC18 @ =gUnknown_2023D44 + adds r0, r7, r5 + ldrb r1, [r0] + adds r0, r7, 0 + adds r2, r4, 0 + bl sub_8076E34 + lsls r0, 24 + lsrs r7, r0, 24 + mov r0, r8 + cmp r0, 0 + beq _080BBB80 + adds r0, r6, r5 + ldrb r1, [r0] + adds r0, r6, 0 + adds r2, r4, 0 + bl sub_8076E34 + lsls r0, 24 + lsrs r0, 24 + str r0, [sp, 0x20] +_080BBB80: + mov r0, sp + bl sub_80752A0 + mov r0, sp + ldrb r0, [r0, 0x9] + ldr r1, [sp, 0x58] + bl sub_807543C + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + beq _080BBBA8 + mov r0, sp + ldrb r0, [r0, 0x8] + ldr r1, [sp, 0x4] + movs r2, 0 + movs r3, 0 + bl sub_80730C0 +_080BBBA8: + mov r0, sp + ldrb r0, [r0, 0x9] + mov r1, sp + ldrh r2, [r1, 0xA] + ldr r1, [sp, 0x54] + bl sub_80753B4 + mov r0, sp + ldrb r1, [r0, 0x8] + lsls r1, 4 + ldr r0, [sp, 0x5C] + movs r2, 0x20 + bl LoadCompressedPalette + ldr r0, _080BBC1C @ =gBattle_BG1_X + movs r1, 0 + strh r1, [r0] + ldr r0, _080BBC20 @ =gBattle_BG1_Y + strh r1, [r0] + ldr r1, _080BBC24 @ =gTasks + mov r2, r9 + lsls r0, r2, 2 + add r0, r9 + lsls r0, 3 + adds r0, r1 + mov r1, sp + ldrh r1, [r1, 0x14] + strh r1, [r0, 0xA] + mov r2, sp + ldrh r2, [r2, 0x18] + strh r2, [r0, 0x10] + mov r1, r10 + strh r1, [r0, 0x12] + mov r2, sp + ldrh r2, [r2, 0x1C] + strh r2, [r0, 0x14] + strh r7, [r0, 0x8] + mov r1, r8 + strh r1, [r0, 0xC] + mov r2, sp + ldrh r2, [r2, 0x20] + strh r2, [r0, 0xE] + ldr r1, _080BBC28 @ =sub_80BBC2C + str r1, [r0] + add sp, 0x24 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080BBC10: .4byte gBattlerPartyIndexes +_080BBC14: .4byte gPlayerParty +_080BBC18: .4byte gUnknown_2023D44 +_080BBC1C: .4byte gBattle_BG1_X +_080BBC20: .4byte gBattle_BG1_Y +_080BBC24: .4byte gTasks +_080BBC28: .4byte sub_80BBC2C + thumb_func_end sub_80BBA20 + + thumb_func_start sub_80BBC2C +sub_80BBC2C: @ 80BBC2C + push {r4-r6,lr} + sub sp, 0x4 + lsls r0, 24 + lsrs r6, r0, 24 + ldr r1, _080BBC68 @ =gTasks + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + adds r3, r0, r1 + movs r0, 0xA + ldrsh r2, [r3, r0] + adds r5, r1, 0 + cmp r2, 0 + bge _080BBC4A + negs r2, r2 +_080BBC4A: + ldrh r0, [r3, 0x22] + adds r4, r0, r2 + strh r4, [r3, 0x22] + movs r1, 0xA + ldrsh r0, [r3, r1] + cmp r0, 0 + bge _080BBC70 + ldr r2, _080BBC6C @ =gBattle_BG1_Y + lsls r1, r4, 16 + asrs r1, 24 + ldrh r0, [r2] + subs r0, r1 + strh r0, [r2] + b _080BBC7C + .align 2, 0 +_080BBC68: .4byte gTasks +_080BBC6C: .4byte gBattle_BG1_Y +_080BBC70: + ldr r1, _080BBCA0 @ =gBattle_BG1_Y + lsls r0, r4, 16 + asrs r0, 24 + ldrh r2, [r1] + adds r0, r2 + strh r0, [r1] +_080BBC7C: + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + adds r5, r0, r5 + ldrh r1, [r5, 0x22] + movs r0, 0xFF + ands r0, r1 + movs r2, 0 + strh r0, [r5, 0x22] + movs r3, 0x26 + ldrsh r0, [r5, r3] + cmp r0, 0x1 + beq _080BBCE6 + cmp r0, 0x1 + bgt _080BBCA4 + cmp r0, 0 + beq _080BBCAA + b _080BBDD8 + .align 2, 0 +_080BBCA0: .4byte gBattle_BG1_Y +_080BBCA4: + cmp r0, 0x2 + beq _080BBD00 + b _080BBDD8 +_080BBCAA: + ldrh r0, [r5, 0x1E] + adds r1, r0, 0x1 + strh r1, [r5, 0x1E] + lsls r0, 16 + asrs r0, 16 + movs r3, 0x14 + ldrsh r1, [r5, r3] + cmp r0, r1 + bge _080BBCBE + b _080BBDD8 +_080BBCBE: + strh r2, [r5, 0x1E] + ldrh r1, [r5, 0x20] + adds r1, 0x1 + strh r1, [r5, 0x20] + movs r0, 0x10 + subs r0, r1 + lsls r0, 8 + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + movs r0, 0x20 + ldrsh r1, [r5, r0] + movs r2, 0x10 + ldrsh r0, [r5, r2] + cmp r1, r0 + bne _080BBDD8 + b _080BBCF8 +_080BBCE6: + ldrh r0, [r5, 0x1C] + adds r0, 0x1 + strh r0, [r5, 0x1C] + lsls r0, 16 + asrs r0, 16 + movs r3, 0x12 + ldrsh r1, [r5, r3] + cmp r0, r1 + bne _080BBDD8 +_080BBCF8: + ldrh r0, [r5, 0x26] + adds r0, 0x1 + strh r0, [r5, 0x26] + b _080BBDD8 +_080BBD00: + ldrh r0, [r5, 0x1E] + adds r1, r0, 0x1 + strh r1, [r5, 0x1E] + lsls r0, 16 + asrs r0, 16 + movs r3, 0x14 + ldrsh r1, [r5, r3] + cmp r0, r1 + blt _080BBDD8 + strh r2, [r5, 0x1E] + ldrh r1, [r5, 0x20] + subs r1, 0x1 + strh r1, [r5, 0x20] + movs r0, 0x10 + subs r0, r1 + lsls r0, 8 + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + movs r0, 0x20 + ldrsh r4, [r5, r0] + cmp r4, 0 + bne _080BBDD8 + movs r0, 0 + bl sub_8073128 + ldr r0, _080BBDE0 @ =gUnknown_2022984 + strh r4, [r0] + ldr r0, _080BBDE4 @ =gUnknown_2022986 + strh r4, [r0] + ldr r4, _080BBDE8 @ =0x00003f3f + movs r0, 0x48 + adds r1, r4, 0 + bl SetGpuReg + movs r0, 0x4A + adds r1, r4, 0 + bl SetGpuReg + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080BBD7E + movs r0, 0xA + bl GetGpuReg + mov r1, sp + strh r0, [r1] + mov r2, sp + ldrb r1, [r2] + movs r0, 0xD + negs r0, r0 + ands r0, r1 + strb r0, [r2] + mov r0, sp + ldrh r1, [r0] + movs r0, 0xA + bl SetGpuReg +_080BBD7E: + movs r0, 0 + bl GetGpuReg + adds r1, r0, 0 + movs r2, 0x80 + lsls r2, 8 + adds r0, r2, 0 + eors r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0 + bl SetGpuReg + movs r0, 0x50 + movs r1, 0 + bl SetGpuReg + movs r0, 0x52 + movs r1, 0 + bl SetGpuReg + movs r3, 0x8 + ldrsh r1, [r5, r3] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r4, _080BBDEC @ =gSprites + adds r0, r4 + bl DestroySprite + movs r1, 0xC + ldrsh r0, [r5, r1] + cmp r0, 0 + beq _080BBDD2 + movs r2, 0xE + ldrsh r1, [r5, r2] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r4 + bl DestroySprite +_080BBDD2: + adds r0, r6, 0 + bl DestroyAnimVisualTask +_080BBDD8: + add sp, 0x4 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080BBDE0: .4byte gUnknown_2022984 +_080BBDE4: .4byte gUnknown_2022986 +_080BBDE8: .4byte 0x00003f3f +_080BBDEC: .4byte gSprites + thumb_func_end sub_80BBC2C + + thumb_func_start sub_80BBDF0 +sub_80BBDF0: @ 80BBDF0 + push {lr} + lsls r0, 24 + lsrs r0, 24 + ldr r2, _080BBE08 @ =gBattleAnimArgs + ldr r1, _080BBE0C @ =gUnknown_2022B50 + ldrb r1, [r1] + strh r1, [r2] + bl DestroyAnimVisualTask + pop {r0} + bx r0 + .align 2, 0 +_080BBE08: .4byte gBattleAnimArgs +_080BBE0C: .4byte gUnknown_2022B50 + thumb_func_end sub_80BBDF0 + + thumb_func_start sub_80BBE10 +sub_80BBE10: @ 80BBE10 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0x80 + lsls r0, 6 + bl AllocZeroed + ldr r1, _080BBE38 @ =gMonSpritesGfxPtr + ldr r1, [r1] + movs r2, 0xBE + lsls r2, 1 + adds r1, r2 + str r0, [r1] + adds r0, r4, 0 + bl DestroyAnimVisualTask + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080BBE38: .4byte gMonSpritesGfxPtr + thumb_func_end sub_80BBE10 + + thumb_func_start sub_80BBE3C +sub_80BBE3C: @ 80BBE3C + push {r4-r6,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r6, _080BBE68 @ =gMonSpritesGfxPtr + ldr r0, [r6] + movs r5, 0xBE + lsls r5, 1 + adds r0, r5 + ldr r0, [r0] + bl Free + ldr r0, [r6] + adds r0, r5 + movs r1, 0 + str r1, [r0] + adds r0, r4, 0 + bl DestroyAnimVisualTask + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080BBE68: .4byte gMonSpritesGfxPtr + thumb_func_end sub_80BBE3C + + thumb_func_start sub_80BBE6C +sub_80BBE6C: @ 80BBE6C + push {r4,r5,lr} + sub sp, 0xC + lsls r0, 24 + lsrs r5, r0, 24 + movs r4, 0 + ldr r0, _080BBEAC @ =gBattleAnimArgs + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _080BBEB0 + str r4, [sp] + str r4, [sp, 0x4] + str r4, [sp, 0x8] + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + movs r3, 0 + bl sub_8075BE8 + adds r1, r0, 0 + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + bne _080BBEC8 + movs r2, 0x1 +_080BBE9E: + lsrs r1, 1 + adds r4, 0x1 + adds r0, r1, 0 + ands r0, r2 + cmp r0, 0 + beq _080BBE9E + b _080BBEC8 + .align 2, 0 +_080BBEAC: .4byte gBattleAnimArgs +_080BBEB0: + cmp r0, 0x1 + bne _080BBEBC + ldr r0, _080BBEB8 @ =gBattleAnimAttacker + b _080BBEC2 + .align 2, 0 +_080BBEB8: .4byte gBattleAnimAttacker +_080BBEBC: + cmp r0, 0x2 + bne _080BBEC8 + ldr r0, _080BBEF8 @ =gBattleAnimTarget +_080BBEC2: + ldrb r0, [r0] + adds r4, r0, 0 + adds r4, 0x10 +_080BBEC8: + ldr r0, _080BBEFC @ =gMonSpritesGfxPtr + ldr r1, [r0] + ldr r0, _080BBF00 @ =gBattleAnimArgs + movs r2, 0x2 + ldrsh r0, [r0, r2] + movs r2, 0xBE + lsls r2, 1 + adds r1, r2 + ldr r1, [r1] + lsls r0, 5 + adds r0, r1 + lsls r1, r4, 5 + ldr r2, _080BBF04 @ =gPlttBufferUnfaded + adds r1, r2 + movs r2, 0x20 + bl memcpy + adds r0, r5, 0 + bl DestroyAnimVisualTask + add sp, 0xC + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080BBEF8: .4byte gBattleAnimTarget +_080BBEFC: .4byte gMonSpritesGfxPtr +_080BBF00: .4byte gBattleAnimArgs +_080BBF04: .4byte gPlttBufferUnfaded + thumb_func_end sub_80BBE6C + + thumb_func_start sub_80BBF08 +sub_80BBF08: @ 80BBF08 + push {r4,r5,lr} + sub sp, 0xC + lsls r0, 24 + lsrs r5, r0, 24 + movs r4, 0 + ldr r0, _080BBF48 @ =gBattleAnimArgs + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _080BBF4C + str r4, [sp] + str r4, [sp, 0x4] + str r4, [sp, 0x8] + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + movs r3, 0 + bl sub_8075BE8 + adds r1, r0, 0 + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + bne _080BBF64 + movs r2, 0x1 +_080BBF3A: + lsrs r1, 1 + adds r4, 0x1 + adds r0, r1, 0 + ands r0, r2 + cmp r0, 0 + beq _080BBF3A + b _080BBF64 + .align 2, 0 +_080BBF48: .4byte gBattleAnimArgs +_080BBF4C: + cmp r0, 0x1 + bne _080BBF58 + ldr r0, _080BBF54 @ =gBattleAnimAttacker + b _080BBF5E + .align 2, 0 +_080BBF54: .4byte gBattleAnimAttacker +_080BBF58: + cmp r0, 0x2 + bne _080BBF64 + ldr r0, _080BBF94 @ =gBattleAnimTarget +_080BBF5E: + ldrb r0, [r0] + adds r4, r0, 0 + adds r4, 0x10 +_080BBF64: + lsls r0, r4, 5 + ldr r1, _080BBF98 @ =gPlttBufferUnfaded + adds r0, r1 + ldr r1, _080BBF9C @ =gMonSpritesGfxPtr + ldr r2, [r1] + ldr r1, _080BBFA0 @ =gBattleAnimArgs + movs r3, 0x2 + ldrsh r1, [r1, r3] + movs r3, 0xBE + lsls r3, 1 + adds r2, r3 + ldr r2, [r2] + lsls r1, 5 + adds r1, r2 + movs r2, 0x20 + bl memcpy + adds r0, r5, 0 + bl DestroyAnimVisualTask + add sp, 0xC + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080BBF94: .4byte gBattleAnimTarget +_080BBF98: .4byte gPlttBufferUnfaded +_080BBF9C: .4byte gMonSpritesGfxPtr +_080BBFA0: .4byte gBattleAnimArgs + thumb_func_end sub_80BBF08 + + thumb_func_start sub_80BBFA4 +sub_80BBFA4: @ 80BBFA4 + push {r4,r5,lr} + sub sp, 0xC + lsls r0, 24 + lsrs r5, r0, 24 + movs r4, 0 + ldr r0, _080BBFE4 @ =gBattleAnimArgs + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _080BBFE8 + str r4, [sp] + str r4, [sp, 0x4] + str r4, [sp, 0x8] + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + movs r3, 0 + bl sub_8075BE8 + adds r1, r0, 0 + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + bne _080BC000 + movs r2, 0x1 +_080BBFD6: + lsrs r1, 1 + adds r4, 0x1 + adds r0, r1, 0 + ands r0, r2 + cmp r0, 0 + beq _080BBFD6 + b _080BC000 + .align 2, 0 +_080BBFE4: .4byte gBattleAnimArgs +_080BBFE8: + cmp r0, 0x1 + bne _080BBFF4 + ldr r0, _080BBFF0 @ =gBattleAnimAttacker + b _080BBFFA + .align 2, 0 +_080BBFF0: .4byte gBattleAnimAttacker +_080BBFF4: + cmp r0, 0x2 + bne _080BC000 + ldr r0, _080BC020 @ =gBattleAnimTarget +_080BBFFA: + ldrb r0, [r0] + adds r4, r0, 0 + adds r4, 0x10 +_080BC000: + lsls r1, r4, 5 + ldr r0, _080BC024 @ =gPlttBufferUnfaded + adds r0, r1, r0 + ldr r2, _080BC028 @ =gPlttBufferFaded + adds r1, r2 + movs r2, 0x20 + bl memcpy + adds r0, r5, 0 + bl DestroyAnimVisualTask + add sp, 0xC + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080BC020: .4byte gBattleAnimTarget +_080BC024: .4byte gPlttBufferUnfaded +_080BC028: .4byte gPlttBufferFaded + thumb_func_end sub_80BBFA4 + + thumb_func_start sub_80BC02C +sub_80BC02C: @ 80BC02C + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + bl sub_8073788 + lsls r0, 24 + lsrs r1, r0, 24 + cmp r1, 0 + beq _080BC04C + ldr r1, _080BC048 @ =gBattleAnimArgs + movs r0, 0x1 + strh r0, [r1, 0xE] + b _080BC050 + .align 2, 0 +_080BC048: .4byte gBattleAnimArgs +_080BC04C: + ldr r0, _080BC05C @ =gBattleAnimArgs + strh r1, [r0, 0xE] +_080BC050: + adds r0, r4, 0 + bl DestroyAnimVisualTask + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080BC05C: .4byte gBattleAnimArgs + thumb_func_end sub_80BC02C + + thumb_func_start sub_80BC060 +sub_80BC060: @ 80BC060 + push {lr} + lsls r0, 24 + lsrs r0, 24 + ldr r2, _080BC080 @ =gBattleAnimAttacker + ldr r1, _080BC084 @ =gBattlerTarget + ldrb r1, [r1] + strb r1, [r2] + ldr r2, _080BC088 @ =gBattleAnimTarget + ldr r1, _080BC08C @ =gUnknown_2023D6E + ldrb r1, [r1] + strb r1, [r2] + bl DestroyAnimVisualTask + pop {r0} + bx r0 + .align 2, 0 +_080BC080: .4byte gBattleAnimAttacker +_080BC084: .4byte gBattlerTarget +_080BC088: .4byte gBattleAnimTarget +_080BC08C: .4byte gUnknown_2023D6E + thumb_func_end sub_80BC060 + + thumb_func_start sub_80BC090 +sub_80BC090: @ 80BC090 + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + ldr r0, _080BC0B8 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + adds r4, r0, 0 + ldr r0, _080BC0BC @ =gBattleAnimTarget + ldrb r0, [r0] + bl GetBattlerSide + lsls r4, 24 + lsls r0, 24 + cmp r4, r0 + bne _080BC0C4 + ldr r1, _080BC0C0 @ =gBattleAnimArgs + movs r0, 0x1 + b _080BC0C8 + .align 2, 0 +_080BC0B8: .4byte gBattleAnimAttacker +_080BC0BC: .4byte gBattleAnimTarget +_080BC0C0: .4byte gBattleAnimArgs +_080BC0C4: + ldr r1, _080BC0D8 @ =gBattleAnimArgs + movs r0, 0 +_080BC0C8: + strh r0, [r1, 0xE] + adds r0, r5, 0 + bl DestroyAnimVisualTask + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080BC0D8: .4byte gBattleAnimArgs + thumb_func_end sub_80BC090 + + thumb_func_start sub_80BC0DC +sub_80BC0DC: @ 80BC0DC + push {lr} + lsls r0, 24 + lsrs r0, 24 + ldr r2, _080BC0F4 @ =gBattleAnimTarget + ldr r1, _080BC0F8 @ =gBattlerTarget + ldrb r1, [r1] + strb r1, [r2] + bl DestroyAnimVisualTask + pop {r0} + bx r0 + .align 2, 0 +_080BC0F4: .4byte gBattleAnimTarget +_080BC0F8: .4byte gBattlerTarget + thumb_func_end sub_80BC0DC + + thumb_func_start sub_80BC0FC +sub_80BC0FC: @ 80BC0FC + push {lr} + lsls r0, 24 + lsrs r0, 24 + ldr r2, _080BC11C @ =gBattleAnimAttacker + ldr r1, _080BC120 @ =sBattler_AI + ldrb r1, [r1] + strb r1, [r2] + ldr r2, _080BC124 @ =gBattleAnimTarget + ldr r1, _080BC128 @ =gUnknown_2023D6E + ldrb r1, [r1] + strb r1, [r2] + bl DestroyAnimVisualTask + pop {r0} + bx r0 + .align 2, 0 +_080BC11C: .4byte gBattleAnimAttacker +_080BC120: .4byte sBattler_AI +_080BC124: .4byte gBattleAnimTarget +_080BC128: .4byte gUnknown_2023D6E + thumb_func_end sub_80BC0FC + + thumb_func_start sub_80BC12C +sub_80BC12C: @ 80BC12C + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + beq _080BC144 + adds r0, r4, 0 + bl DestroyAnimVisualTask + b _080BC180 +_080BC144: + ldr r0, _080BC188 @ =gTasks + lsls r3, r4, 2 + adds r3, r4 + lsls r3, 3 + adds r3, r0 + ldr r0, _080BC18C @ =gUnknown_2024018 + ldr r4, [r0] + ldr r2, _080BC190 @ =gBattleAnimAttacker + ldrb r0, [r2] + ldr r1, [r4] + lsls r0, 2 + adds r0, r1 + ldr r0, [r0] + lsls r0, 31 + lsrs r0, 31 + strh r0, [r3, 0x8] + ldrb r1, [r2] + ldr r0, [r4] + lsls r1, 2 + adds r1, r0 + ldrb r0, [r1] + movs r2, 0x1 + orrs r0, r2 + strb r0, [r1] + ldr r0, _080BC194 @ =sub_80BC19C + str r0, [r3] + ldr r1, _080BC198 @ =gUnknown_2037EE2 + ldrb r0, [r1] + subs r0, 0x1 + strb r0, [r1] +_080BC180: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080BC188: .4byte gTasks +_080BC18C: .4byte gUnknown_2024018 +_080BC190: .4byte gBattleAnimAttacker +_080BC194: .4byte sub_80BC19C +_080BC198: .4byte gUnknown_2037EE2 + thumb_func_end sub_80BC12C + + thumb_func_start sub_80BC19C +sub_80BC19C: @ 80BC19C + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _080BC1E8 @ =gBattleAnimArgs + movs r2, 0xE + ldrsh r1, [r0, r2] + movs r0, 0x80 + lsls r0, 5 + cmp r1, r0 + bne _080BC1E0 + ldr r0, _080BC1EC @ =gUnknown_2024018 + ldr r1, [r0] + ldr r0, _080BC1F0 @ =gBattleAnimAttacker + ldrb r3, [r0] + ldr r0, [r1] + lsls r3, 2 + adds r3, r0 + ldr r1, _080BC1F4 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldrb r0, [r0, 0x8] + movs r1, 0x1 + ands r1, r0 + ldrb r2, [r3] + movs r0, 0x2 + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r3] + adds r0, r4, 0 + bl DestroyTask +_080BC1E0: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080BC1E8: .4byte gBattleAnimArgs +_080BC1EC: .4byte gUnknown_2024018 +_080BC1F0: .4byte gBattleAnimAttacker +_080BC1F4: .4byte gTasks + thumb_func_end sub_80BC19C + + thumb_func_start SetAnimBgAttribute +SetAnimBgAttribute: @ 80BC1F8 + push {r4-r6,lr} + lsls r0, 24 + lsrs r6, r0, 24 + lsls r1, 24 + lsrs r5, r1, 24 + lsls r2, 24 + lsrs r4, r2, 24 + cmp r6, 0x3 + bls _080BC20C + b _080BC2FE +_080BC20C: + ldr r0, _080BC228 @ =gUnknown_83E7CCA + adds r0, r6, r0 + ldrb r0, [r0] + bl GetGpuReg + ldr r1, _080BC22C @ =gUnknown_20399B8 + strh r0, [r1] + cmp r5, 0x6 + bhi _080BC2F0 + lsls r0, r5, 2 + ldr r1, _080BC230 @ =_080BC234 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080BC228: .4byte gUnknown_83E7CCA +_080BC22C: .4byte gUnknown_20399B8 +_080BC230: .4byte _080BC234 + .align 2, 0 +_080BC234: + .4byte _080BC250 + .4byte _080BC264 + .4byte _080BC27C + .4byte _080BC294 + .4byte _080BC2AC + .4byte _080BC2C8 + .4byte _080BC2DC +_080BC250: + ldr r2, _080BC260 @ =gUnknown_20399B8 + lsls r3, r4, 6 + ldrb r1, [r2, 0x1] + movs r0, 0x3F + ands r0, r1 + orrs r0, r3 + strb r0, [r2, 0x1] + b _080BC2F0 + .align 2, 0 +_080BC260: .4byte gUnknown_20399B8 +_080BC264: + ldr r3, _080BC278 @ =gUnknown_20399B8 + movs r0, 0x1 + adds r1, r4, 0 + ands r1, r0 + lsls r1, 5 + ldrb r2, [r3, 0x1] + movs r0, 0x21 + negs r0, r0 + b _080BC2EA + .align 2, 0 +_080BC278: .4byte gUnknown_20399B8 +_080BC27C: + ldr r3, _080BC290 @ =gUnknown_20399B8 + movs r0, 0x1 + adds r1, r4, 0 + ands r1, r0 + lsls r1, 6 + ldrb r2, [r3] + movs r0, 0x41 + negs r0, r0 + b _080BC2BA + .align 2, 0 +_080BC290: .4byte gUnknown_20399B8 +_080BC294: + ldr r3, _080BC2A8 @ =gUnknown_20399B8 + movs r0, 0x3 + adds r1, r4, 0 + ands r1, r0 + lsls r1, 2 + ldrb r2, [r3] + movs r0, 0xD + negs r0, r0 + b _080BC2BA + .align 2, 0 +_080BC2A8: .4byte gUnknown_20399B8 +_080BC2AC: + ldr r3, _080BC2C4 @ =gUnknown_20399B8 + movs r0, 0x3 + adds r1, r4, 0 + ands r1, r0 + ldrb r2, [r3] + movs r0, 0x4 + negs r0, r0 +_080BC2BA: + ands r0, r2 + orrs r0, r1 + strb r0, [r3] + b _080BC2F0 + .align 2, 0 +_080BC2C4: .4byte gUnknown_20399B8 +_080BC2C8: + ldr r2, _080BC2D8 @ =gUnknown_20399B8 + lsls r3, r4, 7 + ldrb r1, [r2] + movs r0, 0x7F + ands r0, r1 + orrs r0, r3 + strb r0, [r2] + b _080BC2F0 + .align 2, 0 +_080BC2D8: .4byte gUnknown_20399B8 +_080BC2DC: + ldr r3, _080BC304 @ =gUnknown_20399B8 + movs r0, 0x1F + adds r1, r4, 0 + ands r1, r0 + ldrb r2, [r3, 0x1] + movs r0, 0x20 + negs r0, r0 +_080BC2EA: + ands r0, r2 + orrs r0, r1 + strb r0, [r3, 0x1] +_080BC2F0: + ldr r0, _080BC308 @ =gUnknown_83E7CCA + adds r0, r6, r0 + ldrb r0, [r0] + ldr r1, _080BC304 @ =gUnknown_20399B8 + ldrh r1, [r1] + bl SetGpuReg +_080BC2FE: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080BC304: .4byte gUnknown_20399B8 +_080BC308: .4byte gUnknown_83E7CCA + thumb_func_end SetAnimBgAttribute + + thumb_func_start sub_80BC30C +sub_80BC30C: @ 80BC30C + push {r4,lr} + sub sp, 0x4 + lsls r0, 24 + lsrs r2, r0, 24 + lsls r1, 24 + lsrs r4, r1, 24 + cmp r2, 0x3 + bhi _080BC394 + ldr r0, _080BC338 @ =gUnknown_83E7CCE + adds r0, r2, r0 + ldrb r0, [r0] + bl GetGpuReg + mov r1, sp + strh r0, [r1] + cmp r4, 0x6 + bhi _080BC394 + lsls r0, r4, 2 + ldr r1, _080BC33C @ =_080BC340 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080BC338: .4byte gUnknown_83E7CCE +_080BC33C: .4byte _080BC340 + .align 2, 0 +_080BC340: + .4byte _080BC35C + .4byte _080BC364 + .4byte _080BC36C + .4byte _080BC374 + .4byte _080BC37C + .4byte _080BC384 + .4byte _080BC38C +_080BC35C: + ldr r0, [sp] + lsls r0, 16 + lsrs r0, 30 + b _080BC396 +_080BC364: + ldr r0, [sp] + lsls r0, 18 + lsrs r0, 31 + b _080BC396 +_080BC36C: + ldr r0, [sp] + lsls r0, 25 + lsrs r0, 31 + b _080BC396 +_080BC374: + ldr r0, [sp] + lsls r0, 28 + lsrs r0, 30 + b _080BC396 +_080BC37C: + ldr r0, [sp] + lsls r0, 30 + lsrs r0, 30 + b _080BC396 +_080BC384: + ldr r0, [sp] + lsls r0, 24 + lsrs r0, 31 + b _080BC396 +_080BC38C: + ldr r0, [sp] + lsls r0, 19 + lsrs r0, 27 + b _080BC396 +_080BC394: + movs r0, 0 +_080BC396: + add sp, 0x4 + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_80BC30C + + thumb_func_start sub_80BC3A0 +sub_80BC3A0: @ 80BC3A0 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _080BC3B8 @ =gBattleTypeFlags + ldr r1, [r0] + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _080BC3C0 + ldr r0, _080BC3BC @ =sub_80BCC4C + b _080BC3E8 + .align 2, 0 +_080BC3B8: .4byte gBattleTypeFlags +_080BC3BC: .4byte sub_80BCC4C +_080BC3C0: + movs r0, 0x80 + lsls r0, 5 + ands r1, r0 + cmp r1, 0 + beq _080BC3E0 + ldr r0, _080BC3D8 @ =gGameVersion + ldrb r0, [r0] + cmp r0, 0x2 + beq _080BC3E0 + movs r4, 0x3 + ldr r0, _080BC3DC @ =task00_battle_intro_80BC6C8 + b _080BC3E8 + .align 2, 0 +_080BC3D8: .4byte gGameVersion +_080BC3DC: .4byte task00_battle_intro_80BC6C8 +_080BC3E0: + ldr r1, _080BC414 @ =gUnknown_83E7CD4 + lsls r0, r4, 2 + adds r0, r1 + ldr r0, [r0] +_080BC3E8: + movs r1, 0 + bl CreateTask + lsls r0, 24 + lsrs r2, r0, 24 + ldr r0, _080BC418 @ =gTasks + lsls r1, r2, 2 + adds r1, r2 + lsls r1, 3 + adds r1, r0 + movs r0, 0 + strh r0, [r1, 0x8] + strh r4, [r1, 0xA] + strh r0, [r1, 0xC] + strh r0, [r1, 0xE] + strh r0, [r1, 0x10] + strh r0, [r1, 0x12] + strh r0, [r1, 0x14] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080BC414: .4byte gUnknown_83E7CD4 +_080BC418: .4byte gTasks + thumb_func_end sub_80BC3A0 + + thumb_func_start sub_80BC41C +sub_80BC41C: @ 80BC41C + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + bl DestroyTask + ldr r0, _080BC468 @ =gBattle_BG1_X + movs r1, 0 + strh r1, [r0] + ldr r0, _080BC46C @ =gBattle_BG1_Y + strh r1, [r0] + ldr r0, _080BC470 @ =gBattle_BG2_X + strh r1, [r0] + ldr r0, _080BC474 @ =gBattle_BG2_Y + strh r1, [r0] + movs r0, 0x50 + movs r1, 0 + bl SetGpuReg + movs r0, 0x52 + movs r1, 0 + bl SetGpuReg + movs r0, 0x54 + movs r1, 0 + bl SetGpuReg + ldr r4, _080BC478 @ =0x00003f3f + movs r0, 0x48 + adds r1, r4, 0 + bl SetGpuReg + movs r0, 0x4A + adds r1, r4, 0 + bl SetGpuReg + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080BC468: .4byte gBattle_BG1_X +_080BC46C: .4byte gBattle_BG1_Y +_080BC470: .4byte gBattle_BG2_X +_080BC474: .4byte gBattle_BG2_Y +_080BC478: .4byte 0x00003f3f + thumb_func_end sub_80BC41C + + thumb_func_start task_battle_intro_80BC47C +task_battle_intro_80BC47C: @ 80BC47C + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + sub sp, 0x4 + lsls r0, 24 + lsrs r4, r0, 24 + ldr r1, _080BC4B4 @ =gBattle_BG1_X + ldrh r0, [r1] + adds r0, 0x6 + strh r0, [r1] + ldr r1, _080BC4B8 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + movs r2, 0x8 + ldrsh r0, [r0, r2] + mov r8, r1 + cmp r0, 0x4 + bls _080BC4A8 + b _080BC6BA +_080BC4A8: + lsls r0, 2 + ldr r1, _080BC4BC @ =_080BC4C0 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080BC4B4: .4byte gBattle_BG1_X +_080BC4B8: .4byte gTasks +_080BC4BC: .4byte _080BC4C0 + .align 2, 0 +_080BC4C0: + .4byte _080BC4D4 + .4byte _080BC504 + .4byte _080BC52C + .4byte _080BC574 + .4byte _080BC6B4 +_080BC4D4: + ldr r0, _080BC4EC @ =gBattleTypeFlags + ldr r0, [r0] + movs r1, 0x2 + ands r0, r1 + cmp r0, 0 + beq _080BC4F0 + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + add r0, r8 + movs r1, 0x10 + b _080BC4FA + .align 2, 0 +_080BC4EC: .4byte gBattleTypeFlags +_080BC4F0: + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + add r0, r8 + movs r1, 0x1 +_080BC4FA: + strh r1, [r0, 0xC] + ldrh r1, [r0, 0x8] + adds r1, 0x1 + strh r1, [r0, 0x8] + b _080BC6BA +_080BC504: + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + mov r3, r8 + adds r1, r0, r3 + ldrh r0, [r1, 0xC] + subs r0, 0x1 + strh r0, [r1, 0xC] + lsls r0, 16 + cmp r0, 0 + beq _080BC51C + b _080BC6BA +_080BC51C: + ldrh r0, [r1, 0x8] + adds r0, 0x1 + strh r0, [r1, 0x8] + movs r0, 0x48 + movs r1, 0x3F + bl SetGpuReg + b _080BC6BA +_080BC52C: + ldr r1, _080BC568 @ =gUnknown_2022986 + ldrh r0, [r1] + subs r0, 0xFF + strh r0, [r1] + movs r1, 0xFF + lsls r1, 8 + ands r0, r1 + movs r1, 0xC0 + lsls r1, 6 + cmp r0, r1 + beq _080BC544 + b _080BC6BA +_080BC544: + lsls r1, r4, 2 + adds r1, r4 + lsls r1, 3 + add r1, r8 + ldrh r0, [r1, 0x8] + adds r0, 0x1 + strh r0, [r1, 0x8] + movs r0, 0xF0 + strh r0, [r1, 0xC] + movs r0, 0x20 + strh r0, [r1, 0xE] + ldr r2, _080BC56C @ =gUnknown_2023F4C + ldrh r1, [r2] + ldr r0, _080BC570 @ =0x0000fffe + ands r0, r1 + strh r0, [r2] + b _080BC6BA + .align 2, 0 +_080BC568: .4byte gUnknown_2022986 +_080BC56C: .4byte gUnknown_2023F4C +_080BC570: .4byte 0x0000fffe +_080BC574: + lsls r0, r4, 2 + adds r1, r0, r4 + lsls r1, 3 + mov r5, r8 + adds r2, r1, r5 + ldrh r3, [r2, 0xE] + movs r5, 0xE + ldrsh r1, [r2, r5] + mov r12, r0 + cmp r1, 0 + beq _080BC590 + subs r0, r3, 0x1 + strh r0, [r2, 0xE] + b _080BC5BE +_080BC590: + movs r1, 0xA + ldrsh r0, [r2, r1] + cmp r0, 0x1 + bne _080BC5B0 + ldr r2, _080BC5A8 @ =gBattle_BG1_Y + ldrh r1, [r2] + ldr r0, _080BC5AC @ =0x0000ffb0 + cmp r1, r0 + beq _080BC5BE + subs r0, r1, 0x2 + b _080BC5BC + .align 2, 0 +_080BC5A8: .4byte gBattle_BG1_Y +_080BC5AC: .4byte 0x0000ffb0 +_080BC5B0: + ldr r2, _080BC690 @ =gBattle_BG1_Y + ldrh r1, [r2] + ldr r0, _080BC694 @ =0x0000ffc8 + cmp r1, r0 + beq _080BC5BE + subs r0, r1, 0x1 +_080BC5BC: + strh r0, [r2] +_080BC5BE: + ldr r2, _080BC698 @ =gUnknown_2022986 + ldrh r1, [r2] + movs r0, 0xFF + lsls r0, 8 + ands r0, r1 + cmp r0, 0 + beq _080BC5D2 + ldr r3, _080BC69C @ =0xfffffc04 + adds r0, r1, r3 + strh r0, [r2] +_080BC5D2: + mov r5, r12 + adds r0, r5, r4 + lsls r0, 3 + mov r2, r8 + adds r1, r0, r2 + ldrh r2, [r1, 0xC] + movs r3, 0xC + ldrsh r0, [r1, r3] + cmp r0, 0 + beq _080BC5EA + subs r0, r2, 0x2 + strh r0, [r1, 0xC] +_080BC5EA: + movs r3, 0 + ldr r5, _080BC6A0 @ =gScanlineEffect + mov r9, r5 + ldr r7, _080BC6A4 @ =gScanlineEffectRegBuffers + mov r6, r9 + adds r5, r1, 0 +_080BC5F6: + lsls r2, r3, 1 + ldrb r1, [r6, 0x14] + lsls r0, r1, 4 + subs r0, r1 + lsls r0, 7 + adds r2, r0 + adds r2, r7 + ldrh r0, [r5, 0xC] + strh r0, [r2] + adds r3, 0x1 + cmp r3, 0x4F + ble _080BC5F6 + cmp r3, 0x9F + bgt _080BC63A + ldr r7, _080BC6A4 @ =gScanlineEffectRegBuffers + ldr r6, _080BC6A0 @ =gScanlineEffect + ldr r1, _080BC6A8 @ =gTasks + mov r2, r12 + adds r0, r2, r4 + lsls r0, 3 + adds r5, r0, r1 +_080BC620: + lsls r2, r3, 1 + ldrb r1, [r6, 0x14] + lsls r0, r1, 4 + subs r0, r1 + lsls r0, 7 + adds r2, r0 + adds r2, r7 + ldrh r0, [r5, 0xC] + negs r0, r0 + strh r0, [r2] + adds r3, 0x1 + cmp r3, 0x9F + ble _080BC620 +_080BC63A: + mov r3, r12 + adds r0, r3, r4 + lsls r0, 3 + mov r5, r8 + adds r1, r0, r5 + movs r0, 0xC + ldrsh r2, [r1, r0] + cmp r2, 0 + bne _080BC6BA + movs r0, 0x3 + mov r3, r9 + strb r0, [r3, 0x15] + ldrh r0, [r1, 0x8] + adds r0, 0x1 + strh r0, [r1, 0x8] + str r2, [sp] + ldr r1, _080BC6AC @ =0x0600e000 + ldr r2, _080BC6B0 @ =0x05000200 + mov r0, sp + bl CpuSet + movs r0, 0x1 + movs r1, 0x1 + movs r2, 0 + bl SetBgAttribute + movs r0, 0x2 + movs r1, 0x1 + movs r2, 0 + bl SetBgAttribute + movs r1, 0x9C + lsls r1, 8 + movs r0, 0xA + bl SetGpuReg + movs r1, 0xBC + lsls r1, 7 + movs r0, 0xC + bl SetGpuReg + b _080BC6BA + .align 2, 0 +_080BC690: .4byte gBattle_BG1_Y +_080BC694: .4byte 0x0000ffc8 +_080BC698: .4byte gUnknown_2022986 +_080BC69C: .4byte 0xfffffc04 +_080BC6A0: .4byte gScanlineEffect +_080BC6A4: .4byte gScanlineEffectRegBuffers +_080BC6A8: .4byte gTasks +_080BC6AC: .4byte 0x0600e000 +_080BC6B0: .4byte 0x05000200 +_080BC6B4: + adds r0, r4, 0 + bl sub_80BC41C +_080BC6BA: + add sp, 0x4 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end task_battle_intro_80BC47C + + thumb_func_start task00_battle_intro_80BC6C8 +task00_battle_intro_80BC6C8: @ 80BC6C8 + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x4 + lsls r0, 24 + lsrs r5, r0, 24 + ldr r1, _080BC6F4 @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r0, r1 + movs r2, 0xA + ldrsh r0, [r0, r2] + adds r2, r1, 0 + cmp r0, 0x3 + beq _080BC708 + cmp r0, 0x3 + bgt _080BC6F8 + cmp r0, 0x2 + beq _080BC6FC + b _080BC710 + .align 2, 0 +_080BC6F4: .4byte gTasks +_080BC6F8: + cmp r0, 0x4 + bne _080BC710 +_080BC6FC: + ldr r1, _080BC704 @ =gBattle_BG1_X + ldrh r0, [r1] + adds r0, 0x8 + b _080BC70E + .align 2, 0 +_080BC704: .4byte gBattle_BG1_X +_080BC708: + ldr r1, _080BC74C @ =gBattle_BG1_X + ldrh r0, [r1] + adds r0, 0x6 +_080BC70E: + strh r0, [r1] +_080BC710: + lsls r0, r5, 2 + adds r1, r0, r5 + lsls r1, 3 + adds r4, r1, r2 + movs r3, 0xA + ldrsh r1, [r4, r3] + adds r6, r0, 0 + cmp r1, 0x4 + bne _080BC774 + ldr r7, _080BC750 @ =gBattle_BG1_Y + ldrh r0, [r4, 0x14] + bl Cos2 + lsls r0, 16 + asrs r0, 16 + cmp r0, 0 + bge _080BC736 + ldr r1, _080BC754 @ =0x000001ff + adds r0, r1 +_080BC736: + asrs r0, 9 + subs r0, 0x8 + strh r0, [r7] + ldrh r1, [r4, 0x14] + movs r2, 0x14 + ldrsh r0, [r4, r2] + cmp r0, 0xB3 + bgt _080BC758 + adds r0, r1, 0x4 + b _080BC75A + .align 2, 0 +_080BC74C: .4byte gBattle_BG1_X +_080BC750: .4byte gBattle_BG1_Y +_080BC754: .4byte 0x000001ff +_080BC758: + adds r0, r1, 0x6 +_080BC75A: + strh r0, [r4, 0x14] + ldr r2, _080BC790 @ =gTasks + adds r0, r6, r5 + lsls r0, 3 + adds r3, r0, r2 + movs r0, 0x14 + ldrsh r1, [r3, r0] + movs r0, 0xB4 + lsls r0, 1 + cmp r1, r0 + bne _080BC774 + movs r0, 0 + strh r0, [r3, 0x14] +_080BC774: + adds r0, r6, r5 + lsls r0, 3 + adds r0, r2 + movs r1, 0x8 + ldrsh r0, [r0, r1] + cmp r0, 0x4 + bls _080BC784 + b _080BC9AA +_080BC784: + lsls r0, 2 + ldr r1, _080BC794 @ =_080BC798 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080BC790: .4byte gTasks +_080BC794: .4byte _080BC798 + .align 2, 0 +_080BC798: + .4byte _080BC7AC + .4byte _080BC7DC + .4byte _080BC808 + .4byte _080BC858 + .4byte _080BC9A4 +_080BC7AC: + ldr r1, _080BC7C8 @ =gTasks + adds r0, r6, r5 + lsls r0, 3 + adds r2, r0, r1 + movs r3, 0x10 + strh r3, [r2, 0x10] + ldr r0, _080BC7CC @ =gBattleTypeFlags + ldr r0, [r0] + movs r1, 0x2 + ands r0, r1 + cmp r0, 0 + beq _080BC7D0 + strh r3, [r2, 0xC] + b _080BC7D4 + .align 2, 0 +_080BC7C8: .4byte gTasks +_080BC7CC: .4byte gBattleTypeFlags +_080BC7D0: + movs r0, 0x1 + strh r0, [r2, 0xC] +_080BC7D4: + ldrh r0, [r2, 0x8] + adds r0, 0x1 + strh r0, [r2, 0x8] + b _080BC9AA +_080BC7DC: + ldr r0, _080BC804 @ =gTasks + adds r1, r6, r5 + lsls r1, 3 + adds r1, r0 + ldrh r0, [r1, 0xC] + subs r0, 0x1 + strh r0, [r1, 0xC] + lsls r0, 16 + cmp r0, 0 + beq _080BC7F2 + b _080BC9AA +_080BC7F2: + ldrh r0, [r1, 0x8] + adds r0, 0x1 + strh r0, [r1, 0x8] + movs r0, 0x48 + movs r1, 0x3F + bl SetGpuReg + b _080BC9AA + .align 2, 0 +_080BC804: .4byte gTasks +_080BC808: + ldr r1, _080BC848 @ =gUnknown_2022986 + ldrh r0, [r1] + subs r0, 0xFF + strh r0, [r1] + movs r1, 0xFF + lsls r1, 8 + ands r0, r1 + movs r1, 0xC0 + lsls r1, 6 + cmp r0, r1 + beq _080BC820 + b _080BC9AA +_080BC820: + ldr r0, _080BC84C @ =gTasks + adds r1, r6, r5 + lsls r1, 3 + adds r1, r0 + ldrh r0, [r1, 0x8] + adds r0, 0x1 + strh r0, [r1, 0x8] + movs r0, 0xF0 + strh r0, [r1, 0xC] + movs r0, 0x20 + strh r0, [r1, 0xE] + movs r0, 0x1 + strh r0, [r1, 0x12] + ldr r2, _080BC850 @ =gUnknown_2023F4C + ldrh r1, [r2] + ldr r0, _080BC854 @ =0x0000fffe + ands r0, r1 + strh r0, [r2] + b _080BC9AA + .align 2, 0 +_080BC848: .4byte gUnknown_2022986 +_080BC84C: .4byte gTasks +_080BC850: .4byte gUnknown_2023F4C +_080BC854: .4byte 0x0000fffe +_080BC858: + ldr r0, _080BC890 @ =gTasks + adds r1, r6, r5 + lsls r1, 3 + adds r1, r0 + ldrh r2, [r1, 0xE] + movs r3, 0xE + ldrsh r0, [r1, r3] + cmp r0, 0 + beq _080BC898 + subs r0, r2, 0x1 + strh r0, [r1, 0xE] + lsls r0, 16 + cmp r0, 0 + bne _080BC8B8 + ldr r1, _080BC894 @ =0x00001842 + movs r0, 0x50 + bl SetGpuReg + movs r0, 0x52 + movs r1, 0xF + bl SetGpuReg + movs r0, 0x54 + movs r1, 0 + bl SetGpuReg + b _080BC8B8 + .align 2, 0 +_080BC890: .4byte gTasks +_080BC894: .4byte 0x00001842 +_080BC898: + ldrh r2, [r1, 0x10] + movs r0, 0x1F + ands r0, r2 + cmp r0, 0 + beq _080BC8B8 + ldrh r0, [r1, 0x12] + subs r0, 0x1 + strh r0, [r1, 0x12] + lsls r0, 16 + cmp r0, 0 + bne _080BC8B8 + adds r0, r2, 0 + adds r0, 0xFF + strh r0, [r1, 0x10] + movs r0, 0x4 + strh r0, [r1, 0x12] +_080BC8B8: + ldr r2, _080BC988 @ =gUnknown_2022986 + ldrh r1, [r2] + movs r0, 0xFF + lsls r0, 8 + ands r0, r1 + cmp r0, 0 + beq _080BC8CC + ldr r3, _080BC98C @ =0xfffffc04 + adds r0, r1, r3 + strh r0, [r2] +_080BC8CC: + ldr r0, _080BC990 @ =gTasks + adds r1, r6, r5 + lsls r1, 3 + adds r1, r0 + ldrh r2, [r1, 0xC] + movs r3, 0xC + ldrsh r0, [r1, r3] + cmp r0, 0 + beq _080BC8E2 + subs r0, r2, 0x2 + strh r0, [r1, 0xC] +_080BC8E2: + movs r3, 0 + ldr r0, _080BC994 @ =gScanlineEffect + mov r8, r0 + ldr r2, _080BC998 @ =gScanlineEffectRegBuffers + mov r12, r2 + mov r7, r8 + adds r4, r1, 0 +_080BC8F0: + lsls r2, r3, 1 + ldrb r1, [r7, 0x14] + lsls r0, r1, 4 + subs r0, r1 + lsls r0, 7 + adds r2, r0 + add r2, r12 + ldrh r0, [r4, 0xC] + strh r0, [r2] + adds r3, 0x1 + cmp r3, 0x4F + ble _080BC8F0 + cmp r3, 0x9F + bgt _080BC934 + ldr r0, _080BC998 @ =gScanlineEffectRegBuffers + mov r12, r0 + ldr r7, _080BC994 @ =gScanlineEffect + ldr r1, _080BC990 @ =gTasks + adds r0, r6, r5 + lsls r0, 3 + adds r4, r0, r1 +_080BC91A: + lsls r2, r3, 1 + ldrb r1, [r7, 0x14] + lsls r0, r1, 4 + subs r0, r1 + lsls r0, 7 + adds r2, r0 + add r2, r12 + ldrh r0, [r4, 0xC] + negs r0, r0 + strh r0, [r2] + adds r3, 0x1 + cmp r3, 0x9F + ble _080BC91A +_080BC934: + ldr r1, _080BC990 @ =gTasks + adds r0, r6, r5 + lsls r0, 3 + adds r1, r0, r1 + movs r3, 0xC + ldrsh r2, [r1, r3] + cmp r2, 0 + bne _080BC9AA + movs r0, 0x3 + mov r3, r8 + strb r0, [r3, 0x15] + ldrh r0, [r1, 0x8] + adds r0, 0x1 + strh r0, [r1, 0x8] + str r2, [sp] + ldr r1, _080BC99C @ =0x0600e000 + ldr r2, _080BC9A0 @ =0x05000200 + mov r0, sp + bl CpuSet + movs r0, 0x1 + movs r1, 0x1 + movs r2, 0 + bl SetBgAttribute + movs r0, 0x2 + movs r1, 0x1 + movs r2, 0 + bl SetBgAttribute + movs r1, 0x9C + lsls r1, 8 + movs r0, 0xA + bl SetGpuReg + movs r1, 0xBC + lsls r1, 7 + movs r0, 0xC + bl SetGpuReg + b _080BC9AA + .align 2, 0 +_080BC988: .4byte gUnknown_2022986 +_080BC98C: .4byte 0xfffffc04 +_080BC990: .4byte gTasks +_080BC994: .4byte gScanlineEffect +_080BC998: .4byte gScanlineEffectRegBuffers +_080BC99C: .4byte 0x0600e000 +_080BC9A0: .4byte 0x05000200 +_080BC9A4: + adds r0, r5, 0 + bl sub_80BC41C +_080BC9AA: + ldr r0, _080BC9D0 @ =gTasks + adds r1, r6, r5 + lsls r1, 3 + adds r1, r0 + movs r2, 0x8 + ldrsh r0, [r1, r2] + cmp r0, 0x4 + beq _080BC9C2 + ldrh r1, [r1, 0x10] + movs r0, 0x52 + bl SetGpuReg +_080BC9C2: + add sp, 0x4 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080BC9D0: .4byte gTasks + thumb_func_end task00_battle_intro_80BC6C8 + + thumb_func_start task_battle_intro_anim +task_battle_intro_anim: @ 80BC9D4 + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x4 + lsls r0, 24 + lsrs r5, r0, 24 + ldr r1, _080BCA08 @ =gBattle_BG1_X + ldrh r0, [r1] + adds r0, 0x8 + strh r0, [r1] + ldr r1, _080BCA0C @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r0, r1 + movs r2, 0x8 + ldrsh r0, [r0, r2] + adds r4, r1, 0 + cmp r0, 0x4 + bls _080BC9FE + b _080BCC22 +_080BC9FE: + lsls r0, 2 + ldr r1, _080BCA10 @ =_080BCA14 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080BCA08: .4byte gBattle_BG1_X +_080BCA0C: .4byte gTasks +_080BCA10: .4byte _080BCA14 + .align 2, 0 +_080BCA14: + .4byte _080BCA28 + .4byte _080BCA7C + .4byte _080BCAA8 + .4byte _080BCAF8 + .4byte _080BCC1C +_080BCA28: + ldr r1, _080BCA60 @ =0x00001842 + movs r0, 0x50 + bl SetGpuReg + ldr r4, _080BCA64 @ =0x00000808 + movs r0, 0x52 + adds r1, r4, 0 + bl SetGpuReg + movs r0, 0x54 + movs r1, 0 + bl SetGpuReg + ldr r1, _080BCA68 @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r2, r0, r1 + strh r4, [r2, 0x10] + ldr r0, _080BCA6C @ =gBattleTypeFlags + ldr r0, [r0] + movs r1, 0x2 + ands r0, r1 + cmp r0, 0 + beq _080BCA70 + movs r0, 0x10 + b _080BCA72 + .align 2, 0 +_080BCA60: .4byte 0x00001842 +_080BCA64: .4byte 0x00000808 +_080BCA68: .4byte gTasks +_080BCA6C: .4byte gBattleTypeFlags +_080BCA70: + movs r0, 0x1 +_080BCA72: + strh r0, [r2, 0xC] + ldrh r0, [r2, 0x8] + adds r0, 0x1 + strh r0, [r2, 0x8] + b _080BCC22 +_080BCA7C: + ldr r0, _080BCAA4 @ =gTasks + lsls r1, r5, 2 + adds r1, r5 + lsls r1, 3 + adds r1, r0 + ldrh r0, [r1, 0xC] + subs r0, 0x1 + strh r0, [r1, 0xC] + lsls r0, 16 + cmp r0, 0 + beq _080BCA94 + b _080BCC22 +_080BCA94: + ldrh r0, [r1, 0x8] + adds r0, 0x1 + strh r0, [r1, 0x8] + movs r0, 0x48 + movs r1, 0x3F + bl SetGpuReg + b _080BCC22 + .align 2, 0 +_080BCAA4: .4byte gTasks +_080BCAA8: + ldr r1, _080BCAE8 @ =gUnknown_2022986 + ldrh r0, [r1] + subs r0, 0xFF + strh r0, [r1] + movs r1, 0xFF + lsls r1, 8 + ands r0, r1 + movs r1, 0xC0 + lsls r1, 6 + cmp r0, r1 + beq _080BCAC0 + b _080BCC22 +_080BCAC0: + ldr r0, _080BCAEC @ =gTasks + lsls r1, r5, 2 + adds r1, r5 + lsls r1, 3 + adds r1, r0 + ldrh r0, [r1, 0x8] + adds r0, 0x1 + strh r0, [r1, 0x8] + movs r0, 0xF0 + strh r0, [r1, 0xC] + movs r0, 0x20 + strh r0, [r1, 0xE] + movs r0, 0x1 + strh r0, [r1, 0x12] + ldr r2, _080BCAF0 @ =gUnknown_2023F4C + ldrh r1, [r2] + ldr r0, _080BCAF4 @ =0x0000fffe + ands r0, r1 + strh r0, [r2] + b _080BCC22 + .align 2, 0 +_080BCAE8: .4byte gUnknown_2022986 +_080BCAEC: .4byte gTasks +_080BCAF0: .4byte gUnknown_2023F4C +_080BCAF4: .4byte 0x0000fffe +_080BCAF8: + lsls r0, r5, 2 + adds r1, r0, r5 + lsls r1, 3 + adds r2, r1, r4 + ldrh r3, [r2, 0xE] + movs r6, 0xE + ldrsh r1, [r2, r6] + mov r12, r0 + cmp r1, 0 + beq _080BCB12 + subs r0, r3, 0x1 + strh r0, [r2, 0xE] + b _080BCB32 +_080BCB12: + ldrh r1, [r2, 0x10] + movs r0, 0xF + ands r0, r1 + cmp r0, 0 + beq _080BCB32 + ldrh r0, [r2, 0x12] + subs r0, 0x1 + strh r0, [r2, 0x12] + lsls r0, 16 + cmp r0, 0 + bne _080BCB32 + adds r0, r1, 0 + adds r0, 0xFF + strh r0, [r2, 0x10] + movs r0, 0x6 + strh r0, [r2, 0x12] +_080BCB32: + ldr r2, _080BCC00 @ =gUnknown_2022986 + ldrh r1, [r2] + movs r0, 0xFF + lsls r0, 8 + ands r0, r1 + cmp r0, 0 + beq _080BCB46 + ldr r3, _080BCC04 @ =0xfffffc04 + adds r0, r1, r3 + strh r0, [r2] +_080BCB46: + mov r6, r12 + adds r0, r6, r5 + lsls r0, 3 + adds r1, r0, r4 + ldrh r2, [r1, 0xC] + movs r3, 0xC + ldrsh r0, [r1, r3] + cmp r0, 0 + beq _080BCB5C + subs r0, r2, 0x2 + strh r0, [r1, 0xC] +_080BCB5C: + movs r3, 0 + ldr r6, _080BCC08 @ =gScanlineEffect + mov r8, r6 + ldr r7, _080BCC0C @ =gScanlineEffectRegBuffers + adds r4, r1, 0 +_080BCB66: + lsls r2, r3, 1 + ldrb r1, [r6, 0x14] + lsls r0, r1, 4 + subs r0, r1 + lsls r0, 7 + adds r2, r0 + adds r2, r7 + ldrh r0, [r4, 0xC] + strh r0, [r2] + adds r3, 0x1 + cmp r3, 0x4F + ble _080BCB66 + cmp r3, 0x9F + bgt _080BCBAA + ldr r7, _080BCC0C @ =gScanlineEffectRegBuffers + ldr r6, _080BCC08 @ =gScanlineEffect + ldr r1, _080BCC10 @ =gTasks + mov r2, r12 + adds r0, r2, r5 + lsls r0, 3 + adds r4, r0, r1 +_080BCB90: + lsls r2, r3, 1 + ldrb r1, [r6, 0x14] + lsls r0, r1, 4 + subs r0, r1 + lsls r0, 7 + adds r2, r0 + adds r2, r7 + ldrh r0, [r4, 0xC] + negs r0, r0 + strh r0, [r2] + adds r3, 0x1 + cmp r3, 0x9F + ble _080BCB90 +_080BCBAA: + ldr r1, _080BCC10 @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r1, r0, r1 + movs r3, 0xC + ldrsh r2, [r1, r3] + cmp r2, 0 + bne _080BCC22 + movs r0, 0x3 + mov r6, r8 + strb r0, [r6, 0x15] + ldrh r0, [r1, 0x8] + adds r0, 0x1 + strh r0, [r1, 0x8] + str r2, [sp] + ldr r1, _080BCC14 @ =0x0600e000 + ldr r2, _080BCC18 @ =0x05000200 + mov r0, sp + bl CpuSet + movs r0, 0x1 + movs r1, 0x1 + movs r2, 0 + bl SetBgAttribute + movs r0, 0x2 + movs r1, 0x1 + movs r2, 0 + bl SetBgAttribute + movs r1, 0x9C + lsls r1, 8 + movs r0, 0xA + bl SetGpuReg + movs r1, 0xBC + lsls r1, 7 + movs r0, 0xC + bl SetGpuReg + b _080BCC22 + .align 2, 0 +_080BCC00: .4byte gUnknown_2022986 +_080BCC04: .4byte 0xfffffc04 +_080BCC08: .4byte gScanlineEffect +_080BCC0C: .4byte gScanlineEffectRegBuffers +_080BCC10: .4byte gTasks +_080BCC14: .4byte 0x0600e000 +_080BCC18: .4byte 0x05000200 +_080BCC1C: + adds r0, r5, 0 + bl sub_80BC41C +_080BCC22: + ldr r0, _080BCC48 @ =gTasks + lsls r1, r5, 2 + adds r1, r5 + lsls r1, 3 + adds r1, r0 + movs r2, 0x8 + ldrsh r0, [r1, r2] + cmp r0, 0x4 + beq _080BCC3C + ldrh r1, [r1, 0x10] + movs r0, 0x52 + bl SetGpuReg +_080BCC3C: + add sp, 0x4 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080BCC48: .4byte gTasks + thumb_func_end task_battle_intro_anim + + thumb_func_start sub_80BCC4C +sub_80BCC4C: @ 80BCC4C + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + sub sp, 0x8 + lsls r0, 24 + lsrs r6, r0, 24 + ldr r1, _080BCC98 @ =gTasks + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + adds r7, r0, r1 + movs r1, 0x8 + ldrsh r0, [r7, r1] + cmp r0, 0x1 + ble _080BCCC2 + movs r2, 0x10 + ldrsh r0, [r7, r2] + cmp r0, 0 + bne _080BCCC2 + ldr r2, _080BCC9C @ =gBattle_BG1_X + ldrh r1, [r2] + movs r0, 0x80 + lsls r0, 8 + ands r0, r1 + lsls r0, 16 + lsrs r5, r0, 16 + cmp r5, 0 + bne _080BCC8A + cmp r1, 0x4F + bhi _080BCCA4 +_080BCC8A: + adds r0, r1, 0x3 + strh r0, [r2] + ldr r1, _080BCCA0 @ =gBattle_BG2_X + ldrh r0, [r1] + subs r0, 0x3 + strh r0, [r1] + b _080BCCC2 + .align 2, 0 +_080BCC98: .4byte gTasks +_080BCC9C: .4byte gBattle_BG1_X +_080BCCA0: .4byte gBattle_BG2_X +_080BCCA4: + str r5, [sp] + ldr r1, _080BCCE4 @ =0x0600e000 + ldr r4, _080BCCE8 @ =0x05000200 + mov r0, sp + adds r2, r4, 0 + bl CpuSet + str r5, [sp, 0x4] + add r0, sp, 0x4 + ldr r1, _080BCCEC @ =0x0600f000 + adds r2, r4, 0 + bl CpuSet + movs r0, 0x1 + strh r0, [r7, 0x10] +_080BCCC2: + ldr r0, _080BCCF0 @ =gTasks + lsls r2, r6, 2 + adds r1, r2, r6 + lsls r1, 3 + adds r1, r0 + movs r3, 0x8 + ldrsh r1, [r1, r3] + mov r9, r0 + adds r5, r2, 0 + cmp r1, 0x4 + bls _080BCCDA + b _080BCEE6 +_080BCCDA: + lsls r0, r1, 2 + ldr r1, _080BCCF4 @ =_080BCCF8 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080BCCE4: .4byte 0x0600e000 +_080BCCE8: .4byte 0x05000200 +_080BCCEC: .4byte 0x0600f000 +_080BCCF0: .4byte gTasks +_080BCCF4: .4byte _080BCCF8 + .align 2, 0 +_080BCCF8: + .4byte _080BCD0C + .4byte _080BCD1E + .4byte _080BCDC4 + .4byte _080BCE08 + .4byte _080BCEE0 +_080BCD0C: + adds r0, r5, r6 + lsls r0, 3 + add r0, r9 + movs r1, 0x20 + strh r1, [r0, 0xC] + ldrh r1, [r0, 0x8] + adds r1, 0x1 + strh r1, [r0, 0x8] + b _080BCEE6 +_080BCD1E: + adds r0, r5, r6 + lsls r0, 3 + mov r2, r9 + adds r1, r0, r2 + ldrh r0, [r1, 0xC] + subs r0, 0x1 + strh r0, [r1, 0xC] + lsls r0, 16 + cmp r0, 0 + beq _080BCD34 + b _080BCEE6 +_080BCD34: + ldrh r0, [r1, 0x8] + adds r0, 0x1 + strh r0, [r1, 0x8] + ldr r4, _080BCDB4 @ =gSprites + ldr r5, _080BCDB8 @ =gBattleStruct + ldr r0, [r5] + adds r0, 0x7D + ldrb r0, [r0] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r4 + ldrb r3, [r1, 0x1] + movs r2, 0xD + negs r2, r2 + adds r0, r2, 0 + ands r0, r3 + movs r3, 0x8 + mov r9, r3 + mov r3, r9 + orrs r0, r3 + strb r0, [r1, 0x1] + ldr r3, [r5] + adds r0, r3, 0 + adds r0, 0x7D + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + movs r1, 0x1C + adds r1, r4 + mov r8, r1 + add r0, r8 + ldr r6, _080BCDBC @ =sub_801182C + str r6, [r0] + adds r3, 0x7E + ldrb r1, [r3] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r4 + ldrb r1, [r0, 0x1] + ands r2, r1 + mov r3, r9 + orrs r2, r3 + strb r2, [r0, 0x1] + ldr r0, [r5] + adds r0, 0x7E + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + add r0, r8 + str r6, [r0] + movs r0, 0x48 + movs r1, 0x3F + bl SetGpuReg + ldr r1, _080BCDC0 @ =0x00003f06 + movs r0, 0x4A + bl SetGpuReg + b _080BCEE6 + .align 2, 0 +_080BCDB4: .4byte gSprites +_080BCDB8: .4byte gBattleStruct +_080BCDBC: .4byte sub_801182C +_080BCDC0: .4byte 0x00003f06 +_080BCDC4: + ldr r1, _080BCDFC @ =gUnknown_2022986 + ldrh r0, [r1] + subs r0, 0xFF + strh r0, [r1] + movs r1, 0xFF + lsls r1, 8 + ands r0, r1 + movs r1, 0xC0 + lsls r1, 6 + cmp r0, r1 + beq _080BCDDC + b _080BCEE6 +_080BCDDC: + adds r1, r5, r6 + lsls r1, 3 + add r1, r9 + ldrh r0, [r1, 0x8] + adds r0, 0x1 + strh r0, [r1, 0x8] + movs r0, 0xF0 + strh r0, [r1, 0xC] + movs r0, 0x20 + strh r0, [r1, 0xE] + ldr r2, _080BCE00 @ =gUnknown_2023F4C + ldrh r1, [r2] + ldr r0, _080BCE04 @ =0x0000fffe + ands r0, r1 + strh r0, [r2] + b _080BCEE6 + .align 2, 0 +_080BCDFC: .4byte gUnknown_2022986 +_080BCE00: .4byte gUnknown_2023F4C +_080BCE04: .4byte 0x0000fffe +_080BCE08: + ldr r2, _080BCECC @ =gUnknown_2022986 + ldrh r1, [r2] + movs r0, 0xFF + lsls r0, 8 + ands r0, r1 + cmp r0, 0 + beq _080BCE1C + ldr r3, _080BCED0 @ =0xfffffc04 + adds r0, r1, r3 + strh r0, [r2] +_080BCE1C: + adds r0, r5, r6 + lsls r0, 3 + mov r2, r9 + adds r1, r0, r2 + ldrh r2, [r1, 0xC] + movs r3, 0xC + ldrsh r0, [r1, r3] + cmp r0, 0 + beq _080BCE32 + subs r0, r2, 0x2 + strh r0, [r1, 0xC] +_080BCE32: + movs r3, 0 + ldr r0, _080BCED4 @ =gScanlineEffect + mov r12, r0 + ldr r2, _080BCED8 @ =gScanlineEffectRegBuffers + mov r8, r2 + mov r7, r12 + adds r4, r1, 0 +_080BCE40: + lsls r2, r3, 1 + ldrb r1, [r7, 0x14] + lsls r0, r1, 4 + subs r0, r1 + lsls r0, 7 + adds r2, r0 + add r2, r8 + ldrh r0, [r4, 0xC] + strh r0, [r2] + adds r3, 0x1 + cmp r3, 0x4F + ble _080BCE40 + cmp r3, 0x9F + bgt _080BCE84 + ldr r0, _080BCED8 @ =gScanlineEffectRegBuffers + mov r8, r0 + ldr r7, _080BCED4 @ =gScanlineEffect + ldr r1, _080BCEDC @ =gTasks + adds r0, r5, r6 + lsls r0, 3 + adds r4, r0, r1 +_080BCE6A: + lsls r2, r3, 1 + ldrb r1, [r7, 0x14] + lsls r0, r1, 4 + subs r0, r1 + lsls r0, 7 + adds r2, r0 + add r2, r8 + ldrh r0, [r4, 0xC] + negs r0, r0 + strh r0, [r2] + adds r3, 0x1 + cmp r3, 0x9F + ble _080BCE6A +_080BCE84: + adds r0, r5, r6 + lsls r0, 3 + mov r2, r9 + adds r1, r0, r2 + movs r3, 0xC + ldrsh r0, [r1, r3] + cmp r0, 0 + bne _080BCEE6 + movs r0, 0x3 + mov r2, r12 + strb r0, [r2, 0x15] + ldrh r0, [r1, 0x8] + adds r0, 0x1 + strh r0, [r1, 0x8] + movs r0, 0x1 + movs r1, 0x1 + movs r2, 0 + bl SetBgAttribute + movs r0, 0x2 + movs r1, 0x1 + movs r2, 0 + bl SetBgAttribute + movs r1, 0x9C + lsls r1, 8 + movs r0, 0xA + bl SetGpuReg + movs r1, 0xBC + lsls r1, 7 + movs r0, 0xC + bl SetGpuReg + b _080BCEE6 + .align 2, 0 +_080BCECC: .4byte gUnknown_2022986 +_080BCED0: .4byte 0xfffffc04 +_080BCED4: .4byte gScanlineEffect +_080BCED8: .4byte gScanlineEffectRegBuffers +_080BCEDC: .4byte gTasks +_080BCEE0: + adds r0, r6, 0 + bl sub_80BC41C +_080BCEE6: + add sp, 0x8 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80BCC4C + + thumb_func_start sub_80BCEF4 +sub_80BCEF4: @ 80BCEF4 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x4 + str r0, [sp] + adds r6, r2, 0 + adds r4, r3, 0 + ldr r0, [sp, 0x24] + ldr r7, [sp, 0x28] + ldr r2, [sp, 0x2C] + mov r9, r2 + ldr r5, [sp, 0x30] + lsls r1, 24 + lsrs r1, 24 + mov r8, r1 + lsls r6, 24 + lsrs r6, 24 + lsls r4, 24 + lsrs r4, 24 + lsls r0, 24 + lsrs r0, 24 + mov r10, r0 + lsls r5, 16 + lsrs r5, 16 + adds r0, r4, 0 + bl GetBattlerAtPosition + lsls r0, 24 + lsrs r0, 24 + ldr r1, _080BCFC4 @ =gMonSpritesGfxPtr + ldr r2, [r1] + lsls r4, 2 + adds r2, 0x4 + adds r2, r4 + ldr r1, _080BCFC8 @ =gBattleMonForms + adds r0, r1 + ldrb r1, [r0] + lsls r1, 11 + ldr r0, [r2] + adds r0, r1 + movs r2, 0x80 + lsls r2, 3 + adds r1, r7, 0 + bl CpuSet + ldr r1, [sp] + lsls r0, r1, 24 + lsrs r0, 24 + movs r2, 0x80 + lsls r2, 5 + adds r1, r7, 0 + adds r3, r5, 0 + bl LoadBgTiles + adds r0, r6, 0 + adds r0, 0x8 + cmp r6, r0 + bge _080BCFA0 + mov r12, r0 + mov r2, r8 + lsls r7, r2, 1 +_080BCF72: + mov r1, r8 + adds r2, r1, 0 + adds r2, 0x8 + adds r4, r6, 0x1 + cmp r1, r2 + bge _080BCF9A + mov r0, r10 + lsls r3, r0, 12 + lsls r0, r6, 6 + add r0, r9 + adds r6, r7, r0 + subs r1, r2, r1 +_080BCF8A: + adds r0, r5, 0 + orrs r0, r3 + strh r0, [r6] + adds r5, 0x1 + adds r6, 0x2 + subs r1, 0x1 + cmp r1, 0 + bne _080BCF8A +_080BCF9A: + adds r6, r4, 0 + cmp r6, r12 + blt _080BCF72 +_080BCFA0: + ldr r1, [sp] + lsls r0, r1, 24 + lsrs r0, 24 + movs r2, 0x80 + lsls r2, 4 + mov r1, r9 + movs r3, 0 + bl LoadBgTilemap + add sp, 0x4 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080BCFC4: .4byte gMonSpritesGfxPtr +_080BCFC8: .4byte gBattleMonForms + thumb_func_end sub_80BCEF4 + + thumb_func_start sub_80BCFCC +sub_80BCFCC: @ 80BCFCC + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x4 + ldr r4, [sp, 0x24] + ldr r5, [sp, 0x28] + mov r8, r5 + ldr r5, [sp, 0x2C] + ldr r6, [sp, 0x30] + mov r9, r6 + lsls r0, 24 + lsrs r0, 24 + mov r12, r0 + lsls r1, 24 + lsls r2, 24 + lsls r3, 24 + lsls r4, 24 + lsrs r4, 24 + mov r10, r4 + mov r7, r8 + lsls r7, 16 + lsrs r6, r7, 16 + lsls r5, 24 + lsrs r5, 24 + mov r0, r9 + lsls r0, 24 + mov r9, r0 + ldr r4, _080BD090 @ =0x040000d4 + ldr r0, _080BD094 @ =gMonSpritesGfxPtr + ldr r0, [r0] + lsrs r2, 22 + adds r0, 0x4 + adds r0, r2 + lsrs r3, 13 + ldr r0, [r0] + adds r0, r3 + str r0, [r4] + movs r0, 0xC0 + lsls r0, 19 + adds r6, r0 + str r6, [r4, 0x4] + ldr r0, _080BD098 @ =0x80000400 + str r0, [r4, 0x8] + ldr r0, [r4, 0x8] + adds r2, r7, 0 + lsrs r2, 21 + mov r6, r9 + lsrs r6, 15 + subs r4, r2, r6 + lsrs r0, r1, 24 + adds r1, r0, 0 + adds r1, 0x8 + cmp r0, r1 + bge _080BD080 + mov r9, r1 + mov r7, r12 + lsls r7, 1 + mov r8, r7 + lsls r5, 11 + str r5, [sp] +_080BD048: + mov r2, r12 + adds r3, r2, 0 + adds r3, 0x8 + adds r5, r0, 0x1 + cmp r2, r3 + bge _080BD07A + mov r1, r10 + lsls r6, r1, 12 + lsls r0, 6 + movs r7, 0xC0 + lsls r7, 19 + adds r0, r7 + ldr r1, [sp] + adds r0, r1, r0 + mov r7, r8 + adds r1, r7, r0 + subs r2, r3, r2 +_080BD06A: + adds r0, r4, 0 + orrs r0, r6 + strh r0, [r1] + adds r4, 0x1 + adds r1, 0x2 + subs r2, 0x1 + cmp r2, 0 + bne _080BD06A +_080BD07A: + adds r0, r5, 0 + cmp r0, r9 + blt _080BD048 +_080BD080: + add sp, 0x4 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080BD090: .4byte 0x040000d4 +_080BD094: .4byte gMonSpritesGfxPtr +_080BD098: .4byte 0x80000400 + thumb_func_end sub_80BCFCC + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/dark.s b/asm/dark.s new file mode 100644 index 000000000..f935382e4 --- /dev/null +++ b/asm/dark.s @@ -0,0 +1,2323 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start sub_80B78E0 +sub_80B78E0: @ 80B78E0 + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + ldr r1, _080B791C @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r0, r1 + ldr r1, _080B7920 @ =gBattleAnimArgs + ldrh r1, [r1] + strh r1, [r0, 0x8] + ldr r1, _080B7924 @ =gBattleAnimAttacker + ldrb r4, [r1] + movs r1, 0x10 + strh r1, [r0, 0xA] + movs r0, 0x52 + bl SetGpuReg + adds r0, r4, 0 + bl sub_80768B0 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080B792C + ldr r1, _080B7928 @ =0x00003f42 + movs r0, 0x50 + bl SetGpuReg + b _080B7934 + .align 2, 0 +_080B791C: .4byte gTasks +_080B7920: .4byte gBattleAnimArgs +_080B7924: .4byte gBattleAnimAttacker +_080B7928: .4byte 0x00003f42 +_080B792C: + ldr r1, _080B7948 @ =0x00003f44 + movs r0, 0x50 + bl SetGpuReg +_080B7934: + ldr r0, _080B794C @ =gTasks + lsls r1, r5, 2 + adds r1, r5 + lsls r1, 3 + adds r1, r0 + ldr r0, _080B7950 @ =sub_80B7954 + str r0, [r1] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080B7948: .4byte 0x00003f44 +_080B794C: .4byte gTasks +_080B7950: .4byte sub_80B7954 + thumb_func_end sub_80B78E0 + + thumb_func_start sub_80B7954 +sub_80B7954: @ 80B7954 + push {r4-r7,lr} + lsls r0, 24 + lsrs r7, r0, 24 + ldr r1, _080B79C0 @ =gTasks + lsls r0, r7, 2 + adds r0, r7 + lsls r0, 3 + adds r6, r0, r1 + ldrh r0, [r6, 0xA] + lsrs r4, r0, 8 + lsls r0, 24 + lsrs r1, r0, 24 + movs r2, 0xC + ldrsh r0, [r6, r2] + ldrb r2, [r6, 0x8] + cmp r0, r2 + bne _080B79D0 + adds r4, 0x1 + lsls r4, 24 + lsrs r4, 24 + subs r0, r1, 0x1 + lsls r0, 24 + lsrs r0, 24 + lsls r1, r4, 8 + orrs r1, r0 + movs r5, 0 + strh r1, [r6, 0xA] + ldrh r1, [r6, 0xA] + movs r0, 0x52 + bl SetGpuReg + strh r5, [r6, 0xC] + cmp r4, 0x10 + bne _080B79D6 + ldr r2, _080B79C4 @ =gSprites + ldr r1, _080B79C8 @ =gUnknown_2023D44 + ldr r0, _080B79CC @ =gBattleAnimAttacker + ldrb r0, [r0] + adds r0, r1 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + adds r0, 0x3E + ldrb r1, [r0] + movs r2, 0x4 + orrs r1, r2 + strb r1, [r0] + adds r0, r7, 0 + bl DestroyAnimVisualTask + b _080B79D6 + .align 2, 0 +_080B79C0: .4byte gTasks +_080B79C4: .4byte gSprites +_080B79C8: .4byte gUnknown_2023D44 +_080B79CC: .4byte gBattleAnimAttacker +_080B79D0: + ldrh r0, [r6, 0xC] + adds r0, 0x1 + strh r0, [r6, 0xC] +_080B79D6: + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80B7954 + + thumb_func_start sub_80B79DC +sub_80B79DC: @ 80B79DC + push {lr} + lsls r0, 24 + lsrs r0, 24 + ldr r1, _080B7A08 @ =gTasks + lsls r2, r0, 2 + adds r2, r0 + lsls r2, 3 + adds r2, r1 + ldr r0, _080B7A0C @ =gBattleAnimArgs + ldrh r0, [r0] + strh r0, [r2, 0x8] + movs r1, 0x80 + lsls r1, 5 + strh r1, [r2, 0xA] + ldr r0, _080B7A10 @ =sub_80B7A14 + str r0, [r2] + movs r0, 0x52 + bl SetGpuReg + pop {r0} + bx r0 + .align 2, 0 +_080B7A08: .4byte gTasks +_080B7A0C: .4byte gBattleAnimArgs +_080B7A10: .4byte sub_80B7A14 + thumb_func_end sub_80B79DC + + thumb_func_start sub_80B7A14 +sub_80B7A14: @ 80B7A14 + push {r4-r7,lr} + lsls r0, 24 + lsrs r7, r0, 24 + ldr r1, _080B7A70 @ =gTasks + lsls r0, r7, 2 + adds r0, r7 + lsls r0, 3 + adds r6, r0, r1 + ldrh r0, [r6, 0xA] + lsrs r4, r0, 8 + lsls r0, 24 + lsrs r1, r0, 24 + movs r2, 0xC + ldrsh r0, [r6, r2] + ldrb r2, [r6, 0x8] + cmp r0, r2 + bne _080B7A74 + subs r4, 0x1 + lsls r4, 24 + lsrs r4, 24 + adds r0, r1, 0x1 + lsls r0, 24 + lsrs r0, 24 + lsls r1, r4, 8 + orrs r1, r0 + movs r5, 0 + strh r1, [r6, 0xA] + ldrh r1, [r6, 0xA] + movs r0, 0x52 + bl SetGpuReg + strh r5, [r6, 0xC] + cmp r4, 0 + bne _080B7A7A + movs r0, 0x50 + movs r1, 0 + bl SetGpuReg + movs r0, 0x52 + movs r1, 0 + bl SetGpuReg + adds r0, r7, 0 + bl DestroyAnimVisualTask + b _080B7A7A + .align 2, 0 +_080B7A70: .4byte gTasks +_080B7A74: + ldrh r0, [r6, 0xC] + adds r0, 0x1 + strh r0, [r6, 0xC] +_080B7A7A: + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80B7A14 + + thumb_func_start sub_80B7A80 +sub_80B7A80: @ 80B7A80 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + movs r1, 0x80 + lsls r1, 5 + movs r0, 0x52 + bl SetGpuReg + ldr r0, _080B7AAC @ =gBattleAnimAttacker + ldrb r0, [r0] + bl sub_80768B0 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080B7AB4 + ldr r1, _080B7AB0 @ =0x00003f42 + movs r0, 0x50 + bl SetGpuReg + b _080B7ABC + .align 2, 0 +_080B7AAC: .4byte gBattleAnimAttacker +_080B7AB0: .4byte 0x00003f42 +_080B7AB4: + ldr r1, _080B7AC8 @ =0x00003f44 + movs r0, 0x50 + bl SetGpuReg +_080B7ABC: + adds r0, r4, 0 + bl DestroyAnimVisualTask + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080B7AC8: .4byte 0x00003f44 + thumb_func_end sub_80B7A80 + + thumb_func_start sub_80B7ACC +sub_80B7ACC: @ 80B7ACC + push {r4-r6,lr} + adds r4, r0, 0 + ldr r6, _080B7B38 @ =gBattleAnimTarget + ldrb r0, [r6] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x30] + ldr r5, _080B7B3C @ =gBattleAnimAttacker + ldrb r0, [r5] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x32] + ldrb r0, [r6] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x34] + ldrb r0, [r5] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x36] + movs r0, 0x7E + strh r0, [r4, 0x2E] + adds r0, r4, 0 + bl sub_80754B8 + ldrh r0, [r4, 0x30] + negs r0, r0 + strh r0, [r4, 0x34] + ldrh r0, [r4, 0x32] + negs r0, r0 + strh r0, [r4, 0x36] + ldr r0, _080B7B40 @ =0x0000ffd8 + strh r0, [r4, 0x3A] + ldr r1, _080B7B44 @ =sub_80B7B48 + str r1, [r4, 0x1C] + adds r0, r4, 0 + bl _call_via_r1 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080B7B38: .4byte gBattleAnimTarget +_080B7B3C: .4byte gBattleAnimAttacker +_080B7B40: .4byte 0x0000ffd8 +_080B7B44: .4byte sub_80B7B48 + thumb_func_end sub_80B7ACC + + thumb_func_start sub_80B7B48 +sub_80B7B48: @ 80B7B48 + push {r4-r6,lr} + adds r4, r0, 0 + ldrh r5, [r4, 0x30] + ldrh r0, [r4, 0x34] + adds r2, r5, r0 + strh r2, [r4, 0x34] + ldrh r3, [r4, 0x32] + ldrh r6, [r4, 0x36] + adds r1, r3, r6 + strh r1, [r4, 0x36] + lsls r0, r2, 16 + asrs r0, 24 + strh r0, [r4, 0x24] + lsls r0, r1, 16 + asrs r0, 24 + strh r0, [r4, 0x26] + movs r6, 0x3C + ldrsh r0, [r4, r6] + cmp r0, 0 + bne _080B7B8A + adds r0, r2, r5 + strh r0, [r4, 0x34] + adds r1, r3 + strh r1, [r4, 0x36] + lsls r0, 16 + asrs r0, 24 + strh r0, [r4, 0x24] + lsls r1, 16 + asrs r1, 24 + strh r1, [r4, 0x26] + ldrh r0, [r4, 0x2E] + subs r0, 0x1 + strh r0, [r4, 0x2E] +_080B7B8A: + movs r1, 0x38 + ldrsh r0, [r4, r1] + movs r2, 0x3A + ldrsh r1, [r4, r2] + bl Sin + ldrh r6, [r4, 0x26] + adds r0, r6 + strh r0, [r4, 0x26] + ldrh r0, [r4, 0x38] + adds r0, 0x3 + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0x38] + cmp r0, 0x7F + ble _080B7BBA + movs r0, 0 + strh r0, [r4, 0x38] + ldrh r0, [r4, 0x3A] + adds r0, 0x14 + strh r0, [r4, 0x3A] + ldrh r0, [r4, 0x3C] + adds r0, 0x1 + strh r0, [r4, 0x3C] +_080B7BBA: + ldrh r0, [r4, 0x2E] + subs r0, 0x1 + strh r0, [r4, 0x2E] + lsls r0, 16 + cmp r0, 0 + bne _080B7BCC + adds r0, r4, 0 + bl DestroyAnimSprite +_080B7BCC: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_80B7B48 + + thumb_func_start sub_80B7BD4 +sub_80B7BD4: @ 80B7BD4 + push {r4,r5,lr} + adds r4, r0, 0 + ldr r5, _080B7C08 @ =gBattleAnimArgs + ldrh r0, [r5] + ldrh r1, [r4, 0x20] + adds r0, r1 + strh r0, [r4, 0x20] + ldrh r0, [r5, 0x2] + ldrh r1, [r4, 0x22] + adds r0, r1 + strh r0, [r4, 0x22] + ldrb r1, [r5, 0x4] + adds r0, r4, 0 + bl StartSpriteAffineAnim + ldrh r0, [r5, 0x6] + strh r0, [r4, 0x2E] + ldrh r0, [r5, 0x8] + strh r0, [r4, 0x30] + ldrh r0, [r5, 0xA] + strh r0, [r4, 0x32] + ldr r0, _080B7C0C @ =sub_80B7C10 + str r0, [r4, 0x1C] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080B7C08: .4byte gBattleAnimArgs +_080B7C0C: .4byte sub_80B7C10 + thumb_func_end sub_80B7BD4 + + thumb_func_start sub_80B7C10 +sub_80B7C10: @ 80B7C10 + push {lr} + adds r2, r0, 0 + ldrh r0, [r2, 0x2E] + ldrh r1, [r2, 0x36] + adds r0, r1 + strh r0, [r2, 0x36] + ldrh r1, [r2, 0x30] + ldrh r3, [r2, 0x38] + adds r1, r3 + strh r1, [r2, 0x38] + lsls r0, 16 + asrs r0, 24 + strh r0, [r2, 0x24] + lsls r1, 16 + asrs r1, 24 + strh r1, [r2, 0x26] + ldrh r0, [r2, 0x34] + adds r0, 0x1 + strh r0, [r2, 0x34] + lsls r0, 16 + asrs r0, 16 + movs r3, 0x32 + ldrsh r1, [r2, r3] + cmp r0, r1 + bne _080B7C46 + ldr r0, _080B7C4C @ =sub_80B7C50 + str r0, [r2, 0x1C] +_080B7C46: + pop {r0} + bx r0 + .align 2, 0 +_080B7C4C: .4byte sub_80B7C50 + thumb_func_end sub_80B7C10 + + thumb_func_start sub_80B7C50 +sub_80B7C50: @ 80B7C50 + push {lr} + adds r3, r0, 0 + ldrh r1, [r3, 0x36] + ldrh r0, [r3, 0x2E] + subs r1, r0 + strh r1, [r3, 0x36] + ldrh r0, [r3, 0x38] + ldrh r2, [r3, 0x30] + subs r0, r2 + strh r0, [r3, 0x38] + lsls r1, 16 + asrs r1, 24 + strh r1, [r3, 0x24] + lsls r0, 16 + asrs r0, 24 + strh r0, [r3, 0x26] + ldrh r0, [r3, 0x34] + subs r0, 0x1 + strh r0, [r3, 0x34] + lsls r0, 16 + cmp r0, 0 + bne _080B7C82 + adds r0, r3, 0 + bl move_anim_8074EE0 +_080B7C82: + pop {r0} + bx r0 + thumb_func_end sub_80B7C50 + + thumb_func_start sub_80B7C88 +sub_80B7C88: @ 80B7C88 + push {r4-r7,lr} + adds r4, r0, 0 + ldr r0, _080B7C9C @ =gBattleAnimArgs + movs r2, 0 + ldrsh r1, [r0, r2] + adds r3, r0, 0 + cmp r1, 0 + bne _080B7CA4 + ldr r0, _080B7CA0 @ =gBattleAnimAttacker + b _080B7CA6 + .align 2, 0 +_080B7C9C: .4byte gBattleAnimArgs +_080B7CA0: .4byte gBattleAnimAttacker +_080B7CA4: + ldr r0, _080B7CD4 @ =gBattleAnimTarget +_080B7CA6: + ldrb r5, [r0] + movs r6, 0x14 + ldrh r2, [r4, 0x4] + lsls r1, r2, 22 + lsrs r1, 22 + adds r1, 0x4 + ldr r7, _080B7CD8 @ =0x000003ff + adds r0, r7, 0 + ands r1, r0 + ldr r0, _080B7CDC @ =0xfffffc00 + ands r0, r2 + orrs r0, r1 + strh r0, [r4, 0x4] + movs r1, 0x2 + ldrsh r0, [r3, r1] + cmp r0, 0x1 + beq _080B7D04 + cmp r0, 0x1 + bgt _080B7CE0 + cmp r0, 0 + beq _080B7CEA + b _080B7D58 + .align 2, 0 +_080B7CD4: .4byte gBattleAnimTarget +_080B7CD8: .4byte 0x000003ff +_080B7CDC: .4byte 0xfffffc00 +_080B7CE0: + cmp r0, 0x2 + beq _080B7D1E + cmp r0, 0x3 + beq _080B7D36 + b _080B7D58 +_080B7CEA: + adds r0, r5, 0 + movs r1, 0x5 + bl sub_8076B2C + subs r0, 0x8 + strh r0, [r4, 0x20] + adds r0, r5, 0 + movs r1, 0x2 + bl sub_8076B2C + adds r0, 0x8 + strh r0, [r4, 0x22] + b _080B7D58 +_080B7D04: + adds r0, r5, 0 + movs r1, 0x5 + bl sub_8076B2C + subs r0, 0xE + strh r0, [r4, 0x20] + adds r0, r5, 0 + movs r1, 0x2 + bl sub_8076B2C + adds r0, 0x10 + strh r0, [r4, 0x22] + b _080B7D58 +_080B7D1E: + adds r0, r5, 0 + movs r1, 0x4 + bl sub_8076B2C + adds r0, 0x8 + strh r0, [r4, 0x20] + adds r0, r5, 0 + movs r1, 0x2 + bl sub_8076B2C + adds r0, 0x8 + b _080B7D4C +_080B7D36: + adds r0, r5, 0 + movs r1, 0x4 + bl sub_8076B2C + adds r0, 0xE + strh r0, [r4, 0x20] + adds r0, r5, 0 + movs r1, 0x2 + bl sub_8076B2C + adds r0, 0x10 +_080B7D4C: + strh r0, [r4, 0x22] + adds r0, r4, 0 + movs r1, 0x1 + bl StartSpriteAffineAnim + movs r6, 0xEC +_080B7D58: + movs r0, 0x20 + strh r0, [r4, 0x2E] + lsls r0, r6, 24 + asrs r0, 24 + ldrh r2, [r4, 0x20] + adds r0, r2 + strh r0, [r4, 0x32] + ldrh r0, [r4, 0x22] + adds r0, 0xC + strh r0, [r4, 0x36] + ldr r0, _080B7D80 @ =0x0000fff4 + strh r0, [r4, 0x38] + adds r0, r4, 0 + bl sub_8075068 + ldr r0, _080B7D84 @ =sub_80B7D88 + str r0, [r4, 0x1C] + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080B7D80: .4byte 0x0000fff4 +_080B7D84: .4byte sub_80B7D88 + thumb_func_end sub_80B7C88 + + thumb_func_start sub_80B7D88 +sub_80B7D88: @ 80B7D88 + push {r4,lr} + adds r4, r0, 0 + bl AnimateBallThrow + lsls r0, 24 + cmp r0, 0 + beq _080B7D9C + adds r0, r4, 0 + bl move_anim_8074EE0 +_080B7D9C: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80B7D88 + + thumb_func_start sub_80B7DA4 +sub_80B7DA4: @ 80B7DA4 + push {r4-r7,lr} + sub sp, 0x1C + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, _080B7E08 @ =gTasks + adds r5, r1, r0 + ldr r4, _080B7E0C @ =gBattleAnimAttacker + ldrb r0, [r4] + movs r1, 0x1 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + adds r0, 0x1F + movs r6, 0 + strh r0, [r5, 0x16] + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8076B2C + subs r0, 0x7 + strh r0, [r5, 0x14] + ldrh r1, [r5, 0x16] + strh r1, [r5, 0x12] + strh r0, [r5, 0x10] + subs r1, r0 + lsls r1, 8 + strh r1, [r5, 0x22] + ldrb r0, [r4] + movs r1, 0 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + adds r1, r0, 0 + subs r1, 0x20 + strh r1, [r5, 0x24] + adds r0, 0x20 + strh r0, [r5, 0x26] + ldrb r0, [r4] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _080B7E14 + ldr r0, _080B7E10 @ =0x0000fff4 + b _080B7E16 + .align 2, 0 +_080B7E08: .4byte gTasks +_080B7E0C: .4byte gBattleAnimAttacker +_080B7E10: .4byte 0x0000fff4 +_080B7E14: + ldr r0, _080B7E60 @ =0x0000ffc0 +_080B7E16: + strh r0, [r5, 0x18] + ldr r0, _080B7E64 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl sub_80768B0 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0xE] + cmp r0, 0x1 + bne _080B7E78 + add r4, sp, 0xC + adds r0, r4, 0 + bl sub_80752A0 + ldr r0, _080B7E68 @ =gBattle_BG1_Y + ldrh r0, [r0] + strh r0, [r5, 0x1C] + ldr r1, _080B7E6C @ =0x00003f42 + movs r0, 0x50 + bl SetGpuReg + ldrb r1, [r4, 0x8] + lsls r1, 4 + movs r0, 0 + movs r2, 0x20 + bl FillPalette + ldr r0, _080B7E70 @ =0x04000016 + str r0, [sp] + movs r7, 0x2 + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080B7EA8 + ldr r1, _080B7E74 @ =gBattle_BG2_X + b _080B7EA2 + .align 2, 0 +_080B7E60: .4byte 0x0000ffc0 +_080B7E64: .4byte gBattleAnimAttacker +_080B7E68: .4byte gBattle_BG1_Y +_080B7E6C: .4byte 0x00003f42 +_080B7E70: .4byte 0x04000016 +_080B7E74: .4byte gBattle_BG2_X +_080B7E78: + ldr r0, _080B7F30 @ =gBattle_BG2_Y + ldrh r0, [r0] + strh r0, [r5, 0x1C] + ldr r1, _080B7F34 @ =0x00003f44 + movs r0, 0x50 + bl SetGpuReg + movs r0, 0 + movs r1, 0x90 + movs r2, 0x20 + bl FillPalette + ldr r0, _080B7F38 @ =0x0400001a + str r0, [sp] + movs r7, 0x4 + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080B7EA8 + ldr r1, _080B7F3C @ =gBattle_BG1_X +_080B7EA2: + ldrh r0, [r1] + adds r0, 0xF0 + strh r0, [r1] +_080B7EA8: + ldr r0, _080B7F40 @ =0xa2600001 + str r0, [sp, 0x4] + mov r2, sp + movs r1, 0 + movs r0, 0x1 + strb r0, [r2, 0x8] + mov r0, sp + strb r1, [r0, 0x9] + strh r1, [r5, 0x1E] + movs r0, 0x10 + strh r0, [r5, 0x20] + strh r1, [r5, 0x8] + strh r1, [r5, 0xA] + strh r1, [r5, 0xC] + movs r0, 0x3 + bl sub_80B856C + movs r3, 0 + ldr r4, _080B7F44 @ =gScanlineEffectRegBuffers + movs r0, 0xF0 + lsls r0, 3 + adds r6, r4, r0 +_080B7ED4: + lsls r1, r3, 1 + adds r2, r1, r4 + ldrh r0, [r5, 0x1C] + strh r0, [r2] + adds r1, r6 + ldrh r0, [r5, 0x1C] + strh r0, [r1] + adds r0, r3, 0x1 + lsls r0, 16 + lsrs r3, r0, 16 + cmp r3, 0x6F + bls _080B7ED4 + ldr r0, [sp] + ldr r1, [sp, 0x4] + ldr r2, [sp, 0x8] + bl ScanlineEffect_SetParams + movs r0, 0x3F + eors r7, r0 + movs r1, 0xFC + lsls r1, 6 + adds r0, r1, 0 + orrs r7, r0 + movs r0, 0x4A + adds r1, r7, 0 + bl SetGpuReg + ldr r1, _080B7F48 @ =0x00003f3f + movs r0, 0x48 + bl SetGpuReg + ldr r2, _080B7F4C @ =gUnknown_2022984 + ldrh r0, [r5, 0x24] + lsls r0, 8 + ldrh r1, [r5, 0x26] + orrs r0, r1 + strh r0, [r2] + ldr r1, _080B7F50 @ =gUnknown_2022986 + movs r0, 0xA0 + strh r0, [r1] + ldr r0, _080B7F54 @ =sub_80B7F58 + str r0, [r5] + add sp, 0x1C + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080B7F30: .4byte gBattle_BG2_Y +_080B7F34: .4byte 0x00003f44 +_080B7F38: .4byte 0x0400001a +_080B7F3C: .4byte gBattle_BG1_X +_080B7F40: .4byte 0xa2600001 +_080B7F44: .4byte gScanlineEffectRegBuffers +_080B7F48: .4byte 0x00003f3f +_080B7F4C: .4byte gUnknown_2022984 +_080B7F50: .4byte gUnknown_2022986 +_080B7F54: .4byte sub_80B7F58 + thumb_func_end sub_80B7DA4 + + thumb_func_start sub_80B7F58 +sub_80B7F58: @ 80B7F58 + push {r4,lr} + lsls r0, 24 + lsrs r2, r0, 24 + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + ldr r1, _080B7F7C @ =gTasks + adds r4, r0, r1 + movs r1, 0x8 + ldrsh r0, [r4, r1] + cmp r0, 0x4 + bls _080B7F72 + b _080B806A +_080B7F72: + lsls r0, 2 + ldr r1, _080B7F80 @ =_080B7F84 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080B7F7C: .4byte gTasks +_080B7F80: .4byte _080B7F84 + .align 2, 0 +_080B7F84: + .4byte _080B7F98 + .4byte _080B7FFA + .4byte _080B8014 + .4byte _080B8050 + .4byte _080B8064 +_080B7F98: + ldrh r0, [r4, 0xA] + adds r0, 0x1 + strh r0, [r4, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + ble _080B806A + movs r0, 0 + strh r0, [r4, 0xA] + ldrh r0, [r4, 0xC] + adds r0, 0x1 + strh r0, [r4, 0xC] + movs r1, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080B7FC8 + ldrh r1, [r4, 0x1E] + movs r2, 0x1E + ldrsh r0, [r4, r2] + cmp r0, 0xC + beq _080B7FD6 + adds r0, r1, 0x1 + strh r0, [r4, 0x1E] + b _080B7FD6 +_080B7FC8: + ldrh r1, [r4, 0x20] + movs r2, 0x20 + ldrsh r0, [r4, r2] + cmp r0, 0x8 + beq _080B7FD6 + subs r0, r1, 0x1 + strh r0, [r4, 0x20] +_080B7FD6: + ldrh r1, [r4, 0x20] + lsls r1, 8 + ldrh r0, [r4, 0x1E] + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + movs r1, 0x1E + ldrsh r0, [r4, r1] + cmp r0, 0xC + bne _080B806A + movs r2, 0x20 + ldrsh r0, [r4, r2] + cmp r0, 0x8 + bne _080B806A + b _080B8056 +_080B7FFA: + ldrh r0, [r4, 0x10] + subs r0, 0x8 + strh r0, [r4, 0x10] + adds r0, r4, 0 + bl sub_80B843C + movs r0, 0x10 + ldrsh r1, [r4, r0] + movs r2, 0x18 + ldrsh r0, [r4, r2] + cmp r1, r0 + bge _080B806A + b _080B8056 +_080B8014: + ldrh r0, [r4, 0x10] + subs r0, 0x8 + strh r0, [r4, 0x10] + adds r0, r4, 0 + bl sub_80B843C + ldrh r1, [r4, 0x24] + adds r1, 0x4 + strh r1, [r4, 0x24] + ldrh r0, [r4, 0x26] + subs r2, r0, 0x4 + strh r2, [r4, 0x26] + lsls r1, 16 + lsls r0, r2, 16 + cmp r1, r0 + blt _080B8036 + strh r2, [r4, 0x24] +_080B8036: + ldr r3, _080B804C @ =gUnknown_2022984 + ldrh r2, [r4, 0x24] + lsls r0, r2, 8 + ldrh r1, [r4, 0x26] + orrs r0, r1 + strh r0, [r3] + lsls r2, 16 + lsls r1, 16 + cmp r2, r1 + bne _080B806A + b _080B8056 + .align 2, 0 +_080B804C: .4byte gUnknown_2022984 +_080B8050: + ldr r1, _080B8060 @ =gScanlineEffect + movs r0, 0x3 + strb r0, [r1, 0x15] +_080B8056: + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] + b _080B806A + .align 2, 0 +_080B8060: .4byte gScanlineEffect +_080B8064: + adds r0, r2, 0 + bl DestroyAnimVisualTask +_080B806A: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80B7F58 + + thumb_func_start sub_80B8070 +sub_80B8070: @ 80B8070 + push {r4-r7,lr} + sub sp, 0x1C + lsls r0, 24 + lsrs r6, r0, 24 + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + ldr r1, _080B8098 @ =gTasks + adds r5, r0, r1 + movs r1, 0x8 + ldrsh r0, [r5, r1] + cmp r0, 0x4 + bls _080B808C + b _080B829E +_080B808C: + lsls r0, 2 + ldr r1, _080B809C @ =_080B80A0 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080B8098: .4byte gTasks +_080B809C: .4byte _080B80A0 + .align 2, 0 +_080B80A0: + .4byte _080B80B4 + .4byte _080B8138 + .4byte _080B817C + .4byte _080B81E8 + .4byte _080B8250 +_080B80B4: + bl sub_8073788 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080B80F0 + ldr r0, _080B80E4 @ =gUnknown_2022984 + movs r1, 0 + strh r1, [r0] + ldr r0, _080B80E8 @ =gUnknown_2022986 + strh r1, [r0] + ldr r4, _080B80EC @ =0x00003f3f + movs r0, 0x48 + adds r1, r4, 0 + bl SetGpuReg + movs r0, 0x4A + adds r1, r4, 0 + bl SetGpuReg + adds r0, r6, 0 + bl DestroyAnimVisualTask + b _080B829E + .align 2, 0 +_080B80E4: .4byte gUnknown_2022984 +_080B80E8: .4byte gUnknown_2022986 +_080B80EC: .4byte 0x00003f3f +_080B80F0: + ldr r0, _080B8110 @ =gBattleAnimTarget + ldrb r0, [r0] + bl sub_80768B0 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0xE] + cmp r0, 0x1 + bne _080B811C + ldr r1, _080B8114 @ =0x00003f42 + movs r0, 0x50 + bl SetGpuReg + ldr r1, _080B8118 @ =gBattle_BG2_X + b _080B8126 + .align 2, 0 +_080B8110: .4byte gBattleAnimTarget +_080B8114: .4byte 0x00003f42 +_080B8118: .4byte gBattle_BG2_X +_080B811C: + ldr r1, _080B8130 @ =0x00003f44 + movs r0, 0x50 + bl SetGpuReg + ldr r1, _080B8134 @ =gBattle_BG1_X +_080B8126: + ldrh r0, [r1] + adds r0, 0xF0 + strh r0, [r1] + b _080B823C + .align 2, 0 +_080B8130: .4byte 0x00003f44 +_080B8134: .4byte gBattle_BG1_X +_080B8138: + movs r1, 0xE + ldrsh r0, [r5, r1] + cmp r0, 0x1 + bne _080B8160 + mov r0, sp + bl sub_80752A0 + ldr r0, _080B815C @ =gBattle_BG1_Y + ldrh r0, [r0] + strh r0, [r5, 0x1C] + mov r0, sp + ldrb r1, [r0, 0x8] + lsls r1, 4 + movs r0, 0 + movs r2, 0x20 + bl FillPalette + b _080B8170 + .align 2, 0 +_080B815C: .4byte gBattle_BG1_Y +_080B8160: + ldr r0, _080B8178 @ =gBattle_BG2_Y + ldrh r0, [r0] + strh r0, [r5, 0x1C] + movs r0, 0 + movs r1, 0x90 + movs r2, 0x20 + bl FillPalette +_080B8170: + movs r0, 0x3 + bl sub_80B856C + b _080B823C + .align 2, 0 +_080B8178: .4byte gBattle_BG2_Y +_080B817C: + ldr r4, _080B81C8 @ =gBattleAnimTarget + ldrb r0, [r4] + movs r1, 0x1 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + adds r0, 0x1F + movs r6, 0 + strh r0, [r5, 0x16] + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8076B2C + subs r0, 0x7 + strh r0, [r5, 0x14] + ldrh r1, [r5, 0x16] + subs r1, r0 + lsls r1, 8 + strh r1, [r5, 0x22] + ldrb r0, [r4] + movs r1, 0 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + subs r1, r0, 0x4 + strh r1, [r5, 0x24] + adds r0, 0x4 + strh r0, [r5, 0x26] + ldrb r0, [r4] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _080B81D0 + ldr r0, _080B81CC @ =0x0000fff4 + b _080B81D2 + .align 2, 0 +_080B81C8: .4byte gBattleAnimTarget +_080B81CC: .4byte 0x0000fff4 +_080B81D0: + ldr r0, _080B81E4 @ =0x0000ffc0 +_080B81D2: + strh r0, [r5, 0x18] + ldrh r0, [r5, 0x18] + strh r0, [r5, 0x10] + strh r0, [r5, 0x12] + movs r0, 0xC + strh r0, [r5, 0x1E] + movs r0, 0x8 + strh r0, [r5, 0x20] + b _080B823C + .align 2, 0 +_080B81E4: .4byte 0x0000ffc0 +_080B81E8: + movs r1, 0xE + ldrsh r0, [r5, r1] + cmp r0, 0x1 + bne _080B81F8 + ldr r0, _080B81F4 @ =0x04000016 + b _080B81FA + .align 2, 0 +_080B81F4: .4byte 0x04000016 +_080B81F8: + ldr r0, _080B8244 @ =0x0400001a +_080B81FA: + str r0, [sp, 0x10] + movs r3, 0 + add r4, sp, 0x10 + ldr r6, _080B8248 @ =gScanlineEffectRegBuffers + movs r0, 0xF0 + lsls r0, 3 + adds r7, r6, r0 +_080B8208: + lsls r1, r3, 1 + adds r2, r1, r6 + ldrh r0, [r5, 0x1C] + adds r0, 0x9F + subs r0, r3 + strh r0, [r2] + adds r1, r7 + ldrh r0, [r5, 0x1C] + adds r0, 0x9F + subs r0, r3 + strh r0, [r1] + adds r0, r3, 0x1 + lsls r0, 16 + lsrs r3, r0, 16 + cmp r3, 0x6F + bls _080B8208 + ldr r1, _080B824C @ =0xa2600001 + str r1, [r4, 0x4] + movs r2, 0 + movs r0, 0x1 + strb r0, [r4, 0x8] + strb r2, [r4, 0x9] + ldr r0, [sp, 0x10] + ldr r2, [r4, 0x8] + bl ScanlineEffect_SetParams +_080B823C: + ldrh r0, [r5, 0x8] + adds r0, 0x1 + strh r0, [r5, 0x8] + b _080B829E + .align 2, 0 +_080B8244: .4byte 0x0400001a +_080B8248: .4byte gScanlineEffectRegBuffers +_080B824C: .4byte 0xa2600001 +_080B8250: + movs r1, 0xE + ldrsh r0, [r5, r1] + cmp r0, 0x1 + bne _080B8268 + ldr r1, _080B8264 @ =0x00003f3d + movs r0, 0x4A + bl SetGpuReg + b _080B8270 + .align 2, 0 +_080B8264: .4byte 0x00003f3d +_080B8268: + ldr r1, _080B82A8 @ =0x00003f3b + movs r0, 0x4A + bl SetGpuReg +_080B8270: + ldr r1, _080B82AC @ =0x00003f3f + movs r0, 0x48 + bl SetGpuReg + ldr r2, _080B82B0 @ =gUnknown_2022984 + ldrh r0, [r5, 0x24] + lsls r0, 8 + ldrh r1, [r5, 0x26] + orrs r0, r1 + strh r0, [r2] + ldr r1, _080B82B4 @ =gUnknown_2022986 + movs r0, 0xA0 + strh r0, [r1] + movs r0, 0 + strh r0, [r5, 0x8] + strh r0, [r5, 0xA] + strh r0, [r5, 0xC] + ldr r1, _080B82B8 @ =0x0000080c + movs r0, 0x52 + bl SetGpuReg + ldr r0, _080B82BC @ =sub_80B82C0 + str r0, [r5] +_080B829E: + add sp, 0x1C + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080B82A8: .4byte 0x00003f3b +_080B82AC: .4byte 0x00003f3f +_080B82B0: .4byte gUnknown_2022984 +_080B82B4: .4byte gUnknown_2022986 +_080B82B8: .4byte 0x0000080c +_080B82BC: .4byte sub_80B82C0 + thumb_func_end sub_80B8070 + + thumb_func_start sub_80B82C0 +sub_80B82C0: @ 80B82C0 + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + ldr r1, _080B82E4 @ =gTasks + adds r4, r0, r1 + movs r1, 0x8 + ldrsh r0, [r4, r1] + cmp r0, 0x4 + bls _080B82DA + b _080B842A +_080B82DA: + lsls r0, 2 + ldr r1, _080B82E8 @ =_080B82EC + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080B82E4: .4byte gTasks +_080B82E8: .4byte _080B82EC + .align 2, 0 +_080B82EC: + .4byte _080B8300 + .4byte _080B832C + .4byte _080B8394 + .4byte _080B83F6 + .4byte _080B8408 +_080B8300: + ldrh r0, [r4, 0x12] + adds r0, 0x8 + strh r0, [r4, 0x12] + lsls r0, 16 + asrs r0, 16 + ldrh r2, [r4, 0x16] + movs r3, 0x16 + ldrsh r1, [r4, r3] + cmp r0, r1 + blt _080B8316 + strh r2, [r4, 0x12] +_080B8316: + adds r0, r4, 0 + bl sub_80B843C + movs r0, 0x12 + ldrsh r1, [r4, r0] + movs r2, 0x16 + ldrsh r0, [r4, r2] + cmp r1, r0 + beq _080B832A + b _080B842A +_080B832A: + b _080B83FC +_080B832C: + movs r3, 0x26 + ldrsh r0, [r4, r3] + movs r2, 0x24 + ldrsh r1, [r4, r2] + subs r0, r1 + cmp r0, 0x3F + bgt _080B8348 + ldrh r0, [r4, 0x24] + subs r0, 0x4 + strh r0, [r4, 0x24] + ldrh r0, [r4, 0x26] + adds r0, 0x4 + strh r0, [r4, 0x26] + b _080B834C +_080B8348: + movs r0, 0x1 + strh r0, [r4, 0xA] +_080B834C: + ldr r2, _080B8390 @ =gUnknown_2022984 + ldrh r0, [r4, 0x24] + lsls r0, 8 + ldrh r1, [r4, 0x26] + orrs r0, r1 + strh r0, [r2] + ldrh r0, [r4, 0x10] + adds r0, 0x8 + strh r0, [r4, 0x10] + lsls r0, 16 + asrs r0, 16 + ldrh r2, [r4, 0x14] + movs r3, 0x14 + ldrsh r1, [r4, r3] + cmp r0, r1 + blt _080B836E + strh r2, [r4, 0x10] +_080B836E: + adds r0, r4, 0 + bl sub_80B843C + movs r0, 0x10 + ldrsh r1, [r4, r0] + movs r2, 0x14 + ldrsh r0, [r4, r2] + cmp r1, r0 + bne _080B842A + movs r3, 0xA + ldrsh r0, [r4, r3] + cmp r0, 0 + beq _080B842A + movs r0, 0 + strh r0, [r4, 0xA] + b _080B83FC + .align 2, 0 +_080B8390: .4byte gUnknown_2022984 +_080B8394: + ldrh r0, [r4, 0xA] + adds r0, 0x1 + strh r0, [r4, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + ble _080B842A + movs r0, 0 + strh r0, [r4, 0xA] + ldrh r0, [r4, 0xC] + adds r0, 0x1 + strh r0, [r4, 0xC] + movs r1, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080B83C4 + ldrh r1, [r4, 0x1E] + movs r2, 0x1E + ldrsh r0, [r4, r2] + cmp r0, 0 + beq _080B83D2 + subs r0, r1, 0x1 + strh r0, [r4, 0x1E] + b _080B83D2 +_080B83C4: + ldrh r1, [r4, 0x20] + movs r3, 0x20 + ldrsh r0, [r4, r3] + cmp r0, 0xF + bgt _080B83D2 + adds r0, r1, 0x1 + strh r0, [r4, 0x20] +_080B83D2: + ldrh r1, [r4, 0x20] + lsls r1, 8 + ldrh r0, [r4, 0x1E] + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + movs r1, 0x1E + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080B842A + movs r2, 0x20 + ldrsh r0, [r4, r2] + cmp r0, 0x10 + bne _080B842A + b _080B83FC +_080B83F6: + ldr r1, _080B8404 @ =gScanlineEffect + movs r0, 0x3 + strb r0, [r1, 0x15] +_080B83FC: + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] + b _080B842A + .align 2, 0 +_080B8404: .4byte gScanlineEffect +_080B8408: + ldr r0, _080B8430 @ =gUnknown_2022984 + movs r1, 0 + strh r1, [r0] + ldr r0, _080B8434 @ =gUnknown_2022986 + strh r1, [r0] + ldr r4, _080B8438 @ =0x00003f3f + movs r0, 0x48 + adds r1, r4, 0 + bl SetGpuReg + movs r0, 0x4A + adds r1, r4, 0 + bl SetGpuReg + adds r0, r5, 0 + bl DestroyAnimVisualTask +_080B842A: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080B8430: .4byte gUnknown_2022984 +_080B8434: .4byte gUnknown_2022986 +_080B8438: .4byte 0x00003f3f + thumb_func_end sub_80B82C0 + + thumb_func_start sub_80B843C +sub_80B843C: @ 80B843C + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r6, r0, 0 + ldrh r0, [r6, 0x12] + ldrh r4, [r6, 0x10] + subs r0, r4 + lsls r0, 16 + asrs r1, r0, 16 + cmp r1, 0 + beq _080B8530 + movs r2, 0x22 + ldrsh r0, [r6, r2] + bl __divsi3 + mov r8, r0 + movs r3, 0x14 + ldrsh r0, [r6, r3] + lsls r5, r0, 8 + lsls r0, r4, 16 + movs r4, 0 + cmp r0, 0 + ble _080B849C + ldr r0, _080B8528 @ =gScanlineEffectRegBuffers + mov r12, r0 + ldr r7, _080B852C @ =gScanlineEffect +_080B8470: + lsls r2, r4, 16 + asrs r2, 16 + lsls r3, r2, 1 + ldrb r1, [r7, 0x14] + lsls r0, r1, 4 + subs r0, r1 + lsls r0, 7 + adds r3, r0 + add r3, r12 + adds r1, r2, 0 + subs r1, 0x9F + ldrh r0, [r6, 0x1C] + subs r0, r1 + strh r0, [r3] + adds r2, 0x1 + lsls r2, 16 + lsrs r4, r2, 16 + asrs r2, 16 + movs r1, 0x10 + ldrsh r0, [r6, r1] + cmp r2, r0 + blt _080B8470 +_080B849C: + ldrh r4, [r6, 0x10] + lsls r3, r4, 16 + asrs r1, r3, 16 + movs r2, 0x12 + ldrsh r0, [r6, r2] + cmp r1, r0 + bgt _080B84E6 + ldr r0, _080B8528 @ =gScanlineEffectRegBuffers + mov r12, r0 + ldr r7, _080B852C @ =gScanlineEffect +_080B84B0: + asrs r4, r3, 16 + cmp r4, 0 + blt _080B84D2 + asrs r1, r5, 8 + subs r1, r4 + lsls r3, r4, 1 + ldrb r2, [r7, 0x14] + lsls r0, r2, 4 + subs r0, r2 + lsls r0, 7 + adds r3, r0 + add r3, r12 + lsls r1, 16 + asrs r1, 16 + ldrh r2, [r6, 0x1C] + adds r1, r2 + strh r1, [r3] +_080B84D2: + add r5, r8 + adds r0, r4, 0x1 + lsls r0, 16 + lsrs r4, r0, 16 + lsls r3, r4, 16 + asrs r1, r3, 16 + movs r2, 0x12 + ldrsh r0, [r6, r2] + cmp r1, r0 + ble _080B84B0 +_080B84E6: + movs r3, 0x1C + ldrsh r0, [r6, r3] + adds r0, 0x9F + lsls r2, r4, 16 + asrs r1, r2, 16 + subs r5, r0, r1 + movs r3, 0x16 + ldrsh r0, [r6, r3] + cmp r1, r0 + bge _080B855E + ldr r7, _080B8528 @ =gScanlineEffectRegBuffers + ldr r4, _080B852C @ =gScanlineEffect +_080B84FE: + asrs r3, r2, 16 + cmp r3, 0 + blt _080B8516 + lsls r2, r3, 1 + ldrb r1, [r4, 0x14] + lsls r0, r1, 4 + subs r0, r1 + lsls r0, 7 + adds r2, r0 + adds r2, r7 + strh r5, [r2] + subs r5, 0x1 +_080B8516: + adds r0, r3, 0x1 + lsls r2, r0, 16 + asrs r1, r2, 16 + movs r3, 0x16 + ldrsh r0, [r6, r3] + cmp r1, r0 + blt _080B84FE + b _080B855E + .align 2, 0 +_080B8528: .4byte gScanlineEffectRegBuffers +_080B852C: .4byte gScanlineEffect +_080B8530: + movs r1, 0x1C + ldrsh r0, [r6, r1] + adds r5, r0, 0 + adds r5, 0x9F + movs r4, 0 + ldr r3, _080B8568 @ =gScanlineEffectRegBuffers + movs r2, 0xF0 + lsls r2, 3 + adds r6, r3, r2 +_080B8542: + lsls r0, r4, 16 + asrs r0, 16 + lsls r2, r0, 1 + adds r1, r2, r3 + strh r5, [r1] + adds r2, r6 + strh r5, [r2] + subs r5, 0x1 + adds r0, 0x1 + lsls r0, 16 + lsrs r4, r0, 16 + asrs r0, 16 + cmp r0, 0x6F + ble _080B8542 +_080B855E: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080B8568: .4byte gScanlineEffectRegBuffers + thumb_func_end sub_80B843C + + thumb_func_start sub_80B856C +sub_80B856C: @ 80B856C + push {r4-r7,lr} + lsls r0, 24 + lsrs r0, 24 + movs r4, 0 + ldr r7, _080B85B4 @ =gSprites + movs r1, 0x3 + ands r0, r1 + lsls r5, r0, 2 + movs r0, 0xD + negs r0, r0 + adds r6, r0, 0 +_080B8582: + lsls r0, r4, 24 + lsrs r0, 24 + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0xFF + beq _080B85A2 + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r7 + ldrb r0, [r1, 0x5] + ands r0, r6 + orrs r0, r5 + strb r0, [r1, 0x5] +_080B85A2: + adds r0, r4, 0x1 + lsls r0, 16 + lsrs r4, r0, 16 + cmp r4, 0x3 + bls _080B8582 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080B85B4: .4byte gSprites + thumb_func_end sub_80B856C + + thumb_func_start sub_80B85B8 +sub_80B85B8: @ 80B85B8 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + lsls r0, 24 + lsrs r0, 24 + mov r10, r0 + ldr r6, _080B8658 @ =gBattleAnimAttacker + ldrb r0, [r6] + bl sub_80768B0 + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x1 + eors r0, r1 + negs r1, r0 + orrs r1, r0 + lsrs r4, r1, 31 + ldrb r0, [r6] + adds r1, r4, 0 + bl sub_8072E48 + ldr r0, _080B865C @ =gSprites + mov r9, r0 + ldr r0, _080B8660 @ =gUnknown_2023D44 + mov r8, r0 + ldrb r0, [r6] + add r0, r8 + ldrb r0, [r0] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + add r1, r9 + adds r1, 0x3E + ldrb r2, [r1] + movs r7, 0x5 + negs r7, r7 + adds r0, r7, 0 + ands r0, r2 + strb r0, [r1] + ldrb r0, [r6] + movs r5, 0x2 + eors r0, r5 + bl sub_8072DF0 + lsls r0, 24 + cmp r0, 0 + beq _080B8642 + ldrb r0, [r6] + eors r0, r5 + movs r1, 0x1 + eors r4, r1 + adds r1, r4, 0 + bl sub_8072E48 + ldrb r0, [r6] + eors r0, r5 + add r0, r8 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + add r0, r9 + adds r0, 0x3E + ldrb r2, [r0] + adds r1, r7, 0 + ands r1, r2 + strb r1, [r0] +_080B8642: + mov r0, r10 + bl DestroyAnimVisualTask + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080B8658: .4byte gBattleAnimAttacker +_080B865C: .4byte gSprites +_080B8660: .4byte gUnknown_2023D44 + thumb_func_end sub_80B85B8 + + thumb_func_start sub_80B8664 +sub_80B8664: @ 80B8664 + push {r4-r6,lr} + lsls r0, 24 + lsrs r6, r0, 24 + ldr r4, _080B86AC @ =gBattleAnimAttacker + ldrb r0, [r4] + bl sub_80768B0 + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x1 + eors r0, r1 + negs r1, r0 + orrs r1, r0 + lsrs r5, r1, 31 + adds r0, r5, 0 + bl sub_8073128 + ldrb r1, [r4] + movs r0, 0x2 + eors r0, r1 + bl sub_8072DF0 + lsls r0, 24 + cmp r0, 0 + beq _080B86A0 + movs r0, 0x1 + eors r5, r0 + adds r0, r5, 0 + bl sub_8073128 +_080B86A0: + adds r0, r6, 0 + bl DestroyAnimVisualTask + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080B86AC: .4byte gBattleAnimAttacker + thumb_func_end sub_80B8664 + + thumb_func_start sub_80B86B0 +sub_80B86B0: @ 80B86B0 + push {r4,lr} + adds r4, r0, 0 + ldr r1, _080B86E0 @ =gBattleAnimArgs + ldrh r0, [r1] + ldrh r2, [r4, 0x20] + adds r0, r2 + strh r0, [r4, 0x20] + ldrh r0, [r1, 0x2] + ldrh r2, [r4, 0x22] + adds r0, r2 + strh r0, [r4, 0x22] + ldrb r1, [r1, 0x4] + adds r0, r4, 0 + bl StartSpriteAnim + ldr r0, _080B86E4 @ =sub_8074F6C + str r0, [r4, 0x1C] + ldr r1, _080B86E8 @ =DestroyAnimSprite + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080B86E0: .4byte gBattleAnimArgs +_080B86E4: .4byte sub_8074F6C +_080B86E8: .4byte DestroyAnimSprite + thumb_func_end sub_80B86B0 + + thumb_func_start sub_80B86EC +sub_80B86EC: @ 80B86EC + push {r4-r7,lr} + sub sp, 0x10 + lsls r0, 24 + lsrs r7, r0, 24 + movs r6, 0 + ldr r0, _080B87EC @ =gUnknown_2022984 + strh r6, [r0] + ldr r0, _080B87F0 @ =gUnknown_2022986 + strh r6, [r0] + ldr r1, _080B87F4 @ =0x00003f3f + movs r0, 0x48 + bl SetGpuReg + ldr r1, _080B87F8 @ =0x00003f3d + movs r0, 0x4A + bl SetGpuReg + movs r1, 0x80 + lsls r1, 8 + movs r0, 0 + bl SetGpuRegBits + ldr r1, _080B87FC @ =0x00003f42 + movs r0, 0x50 + bl SetGpuReg + ldr r1, _080B8800 @ =0x00000c08 + movs r0, 0x52 + bl SetGpuReg + movs r0, 0x1 + movs r1, 0x4 + movs r2, 0 + bl SetAnimBgAttribute + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + bl SetAnimBgAttribute + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080B8750 + movs r0, 0x1 + movs r1, 0x3 + movs r2, 0x1 + bl SetAnimBgAttribute +_080B8750: + bl sub_8075290 + lsls r0, 24 + cmp r0, 0 + beq _080B87CA + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080B87CA + ldr r4, _080B8804 @ =gBattleAnimAttacker + ldrb r0, [r4] + bl GetBattlerPosition + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x3 + beq _080B8780 + ldrb r0, [r4] + bl GetBattlerPosition + lsls r0, 24 + cmp r0, 0 + bne _080B87CA +_080B8780: + ldrb r0, [r4] + movs r5, 0x2 + eors r0, r5 + bl sub_8072DF0 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080B87CA + ldr r3, _080B8808 @ =gSprites + ldr r1, _080B880C @ =gUnknown_2023D44 + ldrb r0, [r4] + eors r0, r5 + adds r0, r1 + ldrb r0, [r0] + lsls r2, r0, 4 + adds r2, r0 + lsls r2, 2 + adds r2, r3 + ldrb r3, [r2, 0x5] + lsls r1, r3, 28 + lsrs r1, 30 + subs r1, 0x1 + movs r0, 0x3 + ands r1, r0 + lsls r1, 2 + movs r0, 0xD + negs r0, r0 + ands r0, r3 + orrs r0, r1 + strb r0, [r2, 0x5] + movs r0, 0x1 + movs r1, 0x4 + movs r2, 0x1 + bl SetAnimBgAttribute + movs r6, 0x1 +_080B87CA: + ldr r4, _080B8804 @ =gBattleAnimAttacker + ldrb r0, [r4] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080B8818 + ldr r1, _080B8810 @ =gBattlerPartyIndexes + ldrb r0, [r4] + lsls r0, 1 + adds r0, r1 + ldrh r1, [r0] + movs r0, 0x64 + muls r0, r1 + ldr r1, _080B8814 @ =gEnemyParty + b _080B8828 + .align 2, 0 +_080B87EC: .4byte gUnknown_2022984 +_080B87F0: .4byte gUnknown_2022986 +_080B87F4: .4byte 0x00003f3f +_080B87F8: .4byte 0x00003f3d +_080B87FC: .4byte 0x00003f42 +_080B8800: .4byte 0x00000c08 +_080B8804: .4byte gBattleAnimAttacker +_080B8808: .4byte gSprites +_080B880C: .4byte gUnknown_2023D44 +_080B8810: .4byte gBattlerPartyIndexes +_080B8814: .4byte gEnemyParty +_080B8818: + ldr r1, _080B88B8 @ =gBattlerPartyIndexes + ldrb r0, [r4] + lsls r0, 1 + adds r0, r1 + ldrh r1, [r0] + movs r0, 0x64 + muls r0, r1 + ldr r1, _080B88BC @ =gPlayerParty +_080B8828: + adds r0, r1 + movs r1, 0xB + bl GetMonData + lsls r0, 16 + lsrs r5, r0, 16 + movs r0, 0 + bl GetAnimBankSpriteId + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r0, _080B88C0 @ =gBattleAnimAttacker + ldrb r0, [r0] + adds r1, r4, 0 + adds r2, r5, 0 + bl sub_8076E34 + lsls r0, 24 + lsrs r5, r0, 24 + mov r0, sp + bl sub_80752A0 + mov r0, sp + ldrb r0, [r0, 0x9] + ldr r1, _080B88C4 @ =gFile_graphics_battle_anims_masks_metal_shine_tilemap + bl sub_807543C + mov r0, sp + ldrb r0, [r0, 0x9] + ldr r1, _080B88C8 @ =gFile_graphics_battle_anims_masks_metal_shine_sheet + mov r2, sp + ldrh r2, [r2, 0xA] + bl sub_80753B4 + ldr r0, _080B88CC @ =gFile_graphics_battle_anims_masks_metal_shine_palette + mov r1, sp + ldrb r1, [r1, 0x8] + lsls r1, 4 + movs r2, 0x20 + bl LoadCompressedPalette + ldr r2, _080B88D0 @ =gBattle_BG1_X + ldr r0, _080B88D4 @ =gSprites + lsls r1, r4, 4 + adds r1, r4 + lsls r1, 2 + adds r1, r0 + ldrh r0, [r1, 0x20] + negs r0, r0 + adds r0, 0x60 + strh r0, [r2] + ldr r2, _080B88D8 @ =gBattle_BG1_Y + ldrh r0, [r1, 0x22] + negs r0, r0 + adds r0, 0x20 + strh r0, [r2] + ldrb r0, [r1, 0x5] + lsrs r0, 4 + adds r0, 0x10 + adds r1, r0, 0 + ldr r2, _080B88DC @ =gBattleAnimArgs + movs r3, 0x2 + ldrsh r0, [r2, r3] + cmp r0, 0 + bne _080B88E0 + adds r0, r1, 0 + movs r1, 0 + bl sub_8075B48 + b _080B88EC + .align 2, 0 +_080B88B8: .4byte gBattlerPartyIndexes +_080B88BC: .4byte gPlayerParty +_080B88C0: .4byte gBattleAnimAttacker +_080B88C4: .4byte gFile_graphics_battle_anims_masks_metal_shine_tilemap +_080B88C8: .4byte gFile_graphics_battle_anims_masks_metal_shine_sheet +_080B88CC: .4byte gFile_graphics_battle_anims_masks_metal_shine_palette +_080B88D0: .4byte gBattle_BG1_X +_080B88D4: .4byte gSprites +_080B88D8: .4byte gBattle_BG1_Y +_080B88DC: .4byte gBattleAnimArgs +_080B88E0: + lsls r0, r1, 4 + ldrh r3, [r2, 0x4] + movs r1, 0x10 + movs r2, 0xB + bl BlendPalette +_080B88EC: + ldr r1, _080B8914 @ =gTasks + lsls r0, r7, 2 + adds r0, r7 + lsls r0, 3 + adds r0, r1 + strh r5, [r0, 0x8] + ldr r2, _080B8918 @ =gBattleAnimArgs + ldrh r1, [r2] + strh r1, [r0, 0xA] + ldrh r1, [r2, 0x2] + strh r1, [r0, 0xC] + ldrh r1, [r2, 0x4] + strh r1, [r0, 0xE] + strh r6, [r0, 0x14] + ldr r1, _080B891C @ =sub_80B8920 + str r1, [r0] + add sp, 0x10 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080B8914: .4byte gTasks +_080B8918: .4byte gBattleAnimArgs +_080B891C: .4byte sub_80B8920 + thumb_func_end sub_80B86EC + + thumb_func_start sub_80B8920 +sub_80B8920: @ 80B8920 + push {r4-r6,lr} + sub sp, 0x10 + lsls r0, 24 + lsrs r0, 24 + adds r6, r0, 0 + ldr r1, _080B89E8 @ =gTasks + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + adds r4, r0, r1 + ldrh r0, [r4, 0x1C] + adds r0, 0x4 + movs r5, 0 + strh r0, [r4, 0x1C] + ldr r2, _080B89EC @ =gBattle_BG1_X + ldrh r3, [r2] + subs r1, r3, 0x4 + strh r1, [r2] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x80 + beq _080B894E + b _080B8A5E +_080B894E: + strh r5, [r4, 0x1C] + adds r0, r3, 0 + adds r0, 0x7C + strh r0, [r2] + ldrh r0, [r4, 0x1E] + adds r0, 0x1 + strh r0, [r4, 0x1E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x2 + bne _080B89FC + movs r0, 0 + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r0, 24 + ldr r5, _080B89F0 @ =gSprites + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r5 + ldrb r0, [r1, 0x5] + lsrs r0, 4 + adds r0, 0x10 + adds r1, r0, 0 + movs r2, 0xA + ldrsh r0, [r4, r2] + cmp r0, 0 + bne _080B8990 + adds r0, r1, 0 + movs r1, 0x1 + bl sub_8075B48 +_080B8990: + movs r0, 0x8 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + bl DestroySprite + mov r0, sp + bl sub_80752A0 + mov r0, sp + ldrb r0, [r0, 0x9] + bl sub_8075358 + movs r1, 0x14 + ldrsh r0, [r4, r1] + cmp r0, 0x1 + bne _080B8A5E + ldr r2, _080B89F4 @ =gUnknown_2023D44 + ldr r0, _080B89F8 @ =gBattleAnimAttacker + ldrb r1, [r0] + movs r0, 0x2 + eors r0, r1 + adds r0, r2 + ldrb r0, [r0] + lsls r2, r0, 4 + adds r2, r0 + lsls r2, 2 + adds r2, r5 + ldrb r3, [r2, 0x5] + lsls r1, r3, 28 + lsrs r1, 30 + adds r1, 0x1 + movs r0, 0x3 + ands r1, r0 + lsls r1, 2 + movs r0, 0xD + negs r0, r0 + ands r0, r3 + orrs r0, r1 + strb r0, [r2, 0x5] + b _080B8A5E + .align 2, 0 +_080B89E8: .4byte gTasks +_080B89EC: .4byte gBattle_BG1_X +_080B89F0: .4byte gSprites +_080B89F4: .4byte gUnknown_2023D44 +_080B89F8: .4byte gBattleAnimAttacker +_080B89FC: + cmp r0, 0x3 + bne _080B8A5E + ldr r0, _080B8A68 @ =gUnknown_2022984 + strh r5, [r0] + ldr r0, _080B8A6C @ =gUnknown_2022986 + strh r5, [r0] + ldr r4, _080B8A70 @ =0x00003f3f + movs r0, 0x48 + adds r1, r4, 0 + bl SetGpuReg + movs r0, 0x4A + adds r1, r4, 0 + bl SetGpuReg + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080B8A2E + movs r0, 0x1 + movs r1, 0x3 + movs r2, 0 + bl SetAnimBgAttribute +_080B8A2E: + movs r0, 0 + bl GetGpuReg + adds r1, r0, 0 + movs r2, 0x80 + lsls r2, 8 + adds r0, r2, 0 + eors r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0 + bl SetGpuReg + movs r0, 0x50 + movs r1, 0 + bl SetGpuReg + movs r0, 0x52 + movs r1, 0 + bl SetGpuReg + adds r0, r6, 0 + bl DestroyAnimVisualTask +_080B8A5E: + add sp, 0x10 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080B8A68: .4byte gUnknown_2022984 +_080B8A6C: .4byte gUnknown_2022986 +_080B8A70: .4byte 0x00003f3f + thumb_func_end sub_80B8920 + + thumb_func_start sub_80B8A74 +sub_80B8A74: @ 80B8A74 + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + movs r4, 0 + ldr r0, _080B8A94 @ =gBattleAnimArgs + movs r2, 0 + ldrsh r1, [r0, r2] + adds r2, r0, 0 + cmp r1, 0x7 + bhi _080B8AD8 + lsls r0, r1, 2 + ldr r1, _080B8A98 @ =_080B8A9C + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080B8A94: .4byte gBattleAnimArgs +_080B8A98: .4byte _080B8A9C + .align 2, 0 +_080B8A9C: + .4byte _080B8ABC + .4byte _080B8ABC + .4byte _080B8ABC + .4byte _080B8ABC + .4byte _080B8AC8 + .4byte _080B8ACC + .4byte _080B8AD0 + .4byte _080B8AD4 +_080B8ABC: + ldrb r0, [r2] + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r2, r0, 24 + b _080B8ADA +_080B8AC8: + movs r4, 0 + b _080B8AE0 +_080B8ACC: + movs r4, 0x2 + b _080B8AE0 +_080B8AD0: + movs r4, 0x1 + b _080B8AE0 +_080B8AD4: + movs r4, 0x3 + b _080B8AE0 +_080B8AD8: + movs r2, 0xFF +_080B8ADA: + movs r0, 0 + cmp r0, 0 + beq _080B8B06 +_080B8AE0: + adds r0, r4, 0 + bl GetBattlerAtPosition + lsls r0, 24 + lsrs r4, r0, 24 + adds r0, r4, 0 + bl sub_8072DF0 + lsls r0, 24 + cmp r0, 0 + beq _080B8B04 + ldr r0, _080B8B00 @ =gUnknown_2023D44 + adds r0, r4, r0 + ldrb r2, [r0] + b _080B8B06 + .align 2, 0 +_080B8B00: .4byte gUnknown_2023D44 +_080B8B04: + movs r2, 0xFF +_080B8B06: + cmp r2, 0xFF + beq _080B8B22 + ldr r1, _080B8B30 @ =gSprites + lsls r0, r2, 4 + adds r0, r2 + lsls r0, 2 + adds r0, r1 + ldrb r0, [r0, 0x5] + lsrs r0, 4 + adds r0, 0x10 + ldr r1, _080B8B34 @ =gBattleAnimArgs + ldrb r1, [r1, 0x2] + bl sub_8075B48 +_080B8B22: + adds r0, r5, 0 + bl DestroyAnimVisualTask + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080B8B30: .4byte gSprites +_080B8B34: .4byte gBattleAnimArgs + thumb_func_end sub_80B8A74 + + thumb_func_start sub_80B8B38 +sub_80B8B38: @ 80B8B38 + push {lr} + lsls r0, 24 + lsrs r3, r0, 24 + ldr r2, _080B8B64 @ =gUnknown_2037F16 + ldrb r0, [r2] + cmp r0, 0x1 + bhi _080B8B4C + ldr r1, _080B8B68 @ =gBattleAnimArgs + movs r0, 0 + strh r0, [r1, 0xE] +_080B8B4C: + ldrb r0, [r2] + cmp r0, 0x2 + bne _080B8B58 + ldr r1, _080B8B68 @ =gBattleAnimArgs + movs r0, 0x1 + strh r0, [r1, 0xE] +_080B8B58: + adds r0, r3, 0 + bl DestroyAnimVisualTask + pop {r0} + bx r0 + .align 2, 0 +_080B8B64: .4byte gUnknown_2037F16 +_080B8B68: .4byte gBattleAnimArgs + thumb_func_end sub_80B8B38 + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/dragon.s b/asm/dragon.s new file mode 100644 index 000000000..66e76017a --- /dev/null +++ b/asm/dragon.s @@ -0,0 +1,835 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start sub_80B725C +sub_80B725C: @ 80B725C + push {r4,r5,lr} + adds r5, r0, 0 + ldr r4, _080B72A4 @ =gBattleAnimAttacker + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x20] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x22] + ldrb r0, [r4] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080B72AC + ldr r2, _080B72A8 @ =gBattleAnimArgs + ldrh r0, [r5, 0x20] + ldrh r1, [r2] + subs r0, r1 + strh r0, [r5, 0x20] + ldrh r0, [r2, 0x6] + negs r0, r0 + strh r0, [r2, 0x6] + ldrh r0, [r2, 0x8] + negs r0, r0 + strh r0, [r2, 0x8] + adds r1, r2, 0 + b _080B72B6 + .align 2, 0 +_080B72A4: .4byte gBattleAnimAttacker +_080B72A8: .4byte gBattleAnimArgs +_080B72AC: + ldr r1, _080B72EC @ =gBattleAnimArgs + ldrh r0, [r1] + ldrh r2, [r5, 0x20] + adds r0, r2 + strh r0, [r5, 0x20] +_080B72B6: + ldrh r0, [r1, 0x2] + ldrh r2, [r5, 0x22] + adds r0, r2 + strh r0, [r5, 0x22] + ldrh r0, [r1, 0x4] + strh r0, [r5, 0x2E] + ldrh r0, [r1, 0x6] + strh r0, [r5, 0x30] + ldrh r0, [r1, 0x8] + strh r0, [r5, 0x34] + ldrh r0, [r1, 0xA] + strh r0, [r5, 0x38] + adds r2, r5, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] + ldr r1, _080B72F0 @ =move_anim_8074EE0 + adds r0, r5, 0 + bl StoreSpriteCallbackInData6 + ldr r0, _080B72F4 @ =sub_8074E70 + str r0, [r5, 0x1C] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080B72EC: .4byte gBattleAnimArgs +_080B72F0: .4byte move_anim_8074EE0 +_080B72F4: .4byte sub_8074E70 + thumb_func_end sub_80B725C + + thumb_func_start sub_80B72F8 +sub_80B72F8: @ 80B72F8 + push {r4,r5,lr} + adds r5, r0, 0 + bl sub_8074FCC + ldr r4, _080B7350 @ =gBattleAnimTarget + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x32] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x36] + ldr r0, _080B7354 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080B735C + ldr r2, _080B7358 @ =gBattleAnimArgs + ldrh r0, [r5, 0x20] + ldrh r1, [r2, 0x2] + subs r0, r1 + strh r0, [r5, 0x20] + ldrh r0, [r5, 0x22] + adds r1, r0 + strh r1, [r5, 0x22] + ldrh r0, [r5, 0x32] + ldrh r1, [r2, 0x4] + subs r0, r1 + strh r0, [r5, 0x32] + ldrh r0, [r2, 0x6] + ldrh r1, [r5, 0x36] + adds r0, r1 + strh r0, [r5, 0x36] + b _080B7386 + .align 2, 0 +_080B7350: .4byte gBattleAnimTarget +_080B7354: .4byte gBattleAnimAttacker +_080B7358: .4byte gBattleAnimArgs +_080B735C: + ldr r1, _080B73A0 @ =gBattleAnimArgs + ldrh r0, [r1] + ldrh r2, [r5, 0x20] + adds r0, r2 + strh r0, [r5, 0x20] + ldrh r0, [r1, 0x2] + ldrh r2, [r5, 0x22] + adds r0, r2 + strh r0, [r5, 0x22] + ldrh r0, [r1, 0x4] + ldrh r2, [r5, 0x32] + adds r0, r2 + strh r0, [r5, 0x32] + ldrh r0, [r1, 0x6] + ldrh r1, [r5, 0x36] + adds r0, r1 + strh r0, [r5, 0x36] + adds r0, r5, 0 + movs r1, 0x1 + bl StartSpriteAnim +_080B7386: + ldr r0, _080B73A0 @ =gBattleAnimArgs + ldrh r0, [r0, 0x8] + strh r0, [r5, 0x2E] + ldr r0, _080B73A4 @ =sub_8075590 + str r0, [r5, 0x1C] + ldr r1, _080B73A8 @ =move_anim_8074EE0 + adds r0, r5, 0 + bl StoreSpriteCallbackInData6 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080B73A0: .4byte gBattleAnimArgs +_080B73A4: .4byte sub_8075590 +_080B73A8: .4byte move_anim_8074EE0 + thumb_func_end sub_80B72F8 + + thumb_func_start sub_80B73AC +sub_80B73AC: @ 80B73AC + push {r4,r5,lr} + adds r5, r0, 0 + ldr r0, _080B73C0 @ =gBattleAnimArgs + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _080B73C8 + ldr r4, _080B73C4 @ =gBattleAnimAttacker + b _080B73CA + .align 2, 0 +_080B73C0: .4byte gBattleAnimArgs +_080B73C4: .4byte gBattleAnimAttacker +_080B73C8: + ldr r4, _080B740C @ =gBattleAnimTarget +_080B73CA: + ldrb r0, [r4] + movs r1, 0 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x20] + ldrb r0, [r4] + movs r1, 0x1 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x22] + ldr r4, _080B7410 @ =gBattleAnimArgs + movs r0, 0x2 + ldrsh r1, [r4, r0] + adds r0, r5, 0 + bl sub_8074FF8 + ldrh r0, [r4, 0x4] + ldrh r1, [r5, 0x22] + adds r0, r1 + strh r0, [r5, 0x22] + ldr r0, _080B7414 @ =sub_8074F6C + str r0, [r5, 0x1C] + ldr r1, _080B7418 @ =move_anim_8074EE0 + adds r0, r5, 0 + bl StoreSpriteCallbackInData6 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080B740C: .4byte gBattleAnimTarget +_080B7410: .4byte gBattleAnimArgs +_080B7414: .4byte sub_8074F6C +_080B7418: .4byte move_anim_8074EE0 + thumb_func_end sub_80B73AC + + thumb_func_start sub_80B741C +sub_80B741C: @ 80B741C + push {r4,lr} + adds r4, r0, 0 + ldr r0, _080B7444 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080B7436 + adds r0, r4, 0 + movs r1, 0x1 + bl StartSpriteAffineAnim +_080B7436: + adds r0, r4, 0 + bl sub_80B72F8 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080B7444: .4byte gBattleAnimAttacker + thumb_func_end sub_80B741C + + thumb_func_start sub_80B7448 +sub_80B7448: @ 80B7448 + push {r4-r7,lr} + adds r6, r0, 0 + ldr r4, _080B749C @ =gBattleAnimAttacker + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + movs r5, 0 + strh r0, [r6, 0x20] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r6, 0x22] + strh r5, [r6, 0x36] + movs r0, 0x1 + strh r0, [r6, 0x38] + ldr r0, _080B74A0 @ =gBattleAnimArgs + ldrh r0, [r0] + strh r0, [r6, 0x3A] + ldr r4, _080B74A4 @ =sBattler_AI + ldrb r0, [r4] + movs r1, 0 + bl sub_8076B2C + lsls r7, r0, 16 + lsrs r5, r7, 16 + ldrb r0, [r4] + movs r1, 0x1 + bl sub_8076B2C + lsls r1, r0, 16 + lsrs r0, r1, 16 + cmp r5, r0 + bls _080B74A8 + lsrs r0, r7, 17 + b _080B74AA + .align 2, 0 +_080B749C: .4byte gBattleAnimAttacker +_080B74A0: .4byte gBattleAnimArgs +_080B74A4: .4byte sBattler_AI +_080B74A8: + lsrs r0, r1, 17 +_080B74AA: + strh r0, [r6, 0x3C] + movs r1, 0x3A + ldrsh r0, [r6, r1] + movs r2, 0x3C + ldrsh r1, [r6, r2] + bl Cos + strh r0, [r6, 0x24] + movs r1, 0x3A + ldrsh r0, [r6, r1] + movs r2, 0x3C + ldrsh r1, [r6, r2] + bl Sin + strh r0, [r6, 0x26] + ldr r0, _080B74D4 @ =sub_80B74D8 + str r0, [r6, 0x1C] + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080B74D4: .4byte sub_80B74D8 + thumb_func_end sub_80B7448 + + thumb_func_start sub_80B74D8 +sub_80B74D8: @ 80B74D8 + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0x2E + ldrsh r5, [r4, r0] + cmp r5, 0 + beq _080B74EA + cmp r5, 0x1 + beq _080B7556 + b _080B75DA +_080B74EA: + ldrh r0, [r4, 0x3A] + ldrh r1, [r4, 0x38] + subs r0, r1 + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0x3A] + movs r1, 0x3A + ldrsh r0, [r4, r1] + movs r2, 0x3C + ldrsh r1, [r4, r2] + bl Cos + strh r0, [r4, 0x24] + movs r1, 0x3A + ldrsh r0, [r4, r1] + movs r2, 0x3C + ldrsh r1, [r4, r2] + bl Sin + strh r0, [r4, 0x26] + ldrh r0, [r4, 0x36] + adds r0, 0x1 + strh r0, [r4, 0x36] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x5 + ble _080B753C + strh r5, [r4, 0x36] + ldrh r1, [r4, 0x38] + movs r2, 0x38 + ldrsh r0, [r4, r2] + cmp r0, 0xF + bgt _080B753C + adds r0, r1, 0x1 + strh r0, [r4, 0x38] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xF + ble _080B753C + movs r0, 0x10 + strh r0, [r4, 0x38] +_080B753C: + ldrh r0, [r4, 0x34] + adds r0, 0x1 + strh r0, [r4, 0x34] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x3C + ble _080B75DA + movs r0, 0 + strh r0, [r4, 0x34] + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + b _080B75DA +_080B7556: + ldrh r0, [r4, 0x3A] + ldrh r1, [r4, 0x38] + subs r0, r1 + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0x3A] + ldrh r1, [r4, 0x3C] + movs r2, 0x3C + ldrsh r0, [r4, r2] + cmp r0, 0x95 + bgt _080B757E + adds r0, r1, 0 + adds r0, 0x8 + strh r0, [r4, 0x3C] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x95 + ble _080B757E + movs r0, 0x96 + strh r0, [r4, 0x3C] +_080B757E: + movs r1, 0x3A + ldrsh r0, [r4, r1] + movs r2, 0x3C + ldrsh r1, [r4, r2] + bl Cos + strh r0, [r4, 0x24] + movs r1, 0x3A + ldrsh r0, [r4, r1] + movs r2, 0x3C + ldrsh r1, [r4, r2] + bl Sin + strh r0, [r4, 0x26] + ldrh r0, [r4, 0x36] + adds r0, 0x1 + strh r0, [r4, 0x36] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x5 + ble _080B75C6 + movs r0, 0 + strh r0, [r4, 0x36] + ldrh r1, [r4, 0x38] + movs r2, 0x38 + ldrsh r0, [r4, r2] + cmp r0, 0xF + bgt _080B75C6 + adds r0, r1, 0x1 + strh r0, [r4, 0x38] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xF + ble _080B75C6 + movs r0, 0x10 + strh r0, [r4, 0x38] +_080B75C6: + ldrh r0, [r4, 0x34] + adds r0, 0x1 + strh r0, [r4, 0x34] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x14 + ble _080B75DA + adds r0, r4, 0 + bl DestroyAnimSprite +_080B75DA: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80B74D8 + + thumb_func_start sub_80B75E0 +sub_80B75E0: @ 80B75E0 + push {r4-r6,lr} + sub sp, 0xC + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, _080B760C @ =gTasks + adds r4, r1, r0 + ldr r0, _080B7610 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl sub_80768B0 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080B761C + ldr r0, _080B7614 @ =0x04000014 + str r0, [sp] + ldr r0, _080B7618 @ =gBattle_BG1_X + b _080B7622 + .align 2, 0 +_080B760C: .4byte gTasks +_080B7610: .4byte gBattleAnimAttacker +_080B7614: .4byte 0x04000014 +_080B7618: .4byte gBattle_BG1_X +_080B761C: + ldr r0, _080B7698 @ =0x04000018 + str r0, [sp] + ldr r0, _080B769C @ =gBattle_BG2_X +_080B7622: + ldrh r0, [r0] + strh r0, [r4, 0xC] + ldr r0, _080B76A0 @ =0xa2600001 + str r0, [sp, 0x4] + mov r1, sp + movs r5, 0 + movs r0, 0x1 + strb r0, [r1, 0x8] + mov r0, sp + strb r5, [r0, 0x9] + ldr r0, _080B76A4 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl sub_807492C + lsls r0, 24 + lsrs r0, 24 + adds r1, r0, 0 + subs r1, 0x20 + strh r1, [r4, 0xE] + adds r0, 0x20 + strh r0, [r4, 0x10] + cmp r1, 0 + bge _080B7652 + strh r5, [r4, 0xE] +_080B7652: + ldrh r3, [r4, 0xE] + movs r1, 0x10 + ldrsh r0, [r4, r1] + cmp r3, r0 + bgt _080B7680 + ldr r5, _080B76A8 @ =gScanlineEffectRegBuffers + movs r0, 0xF0 + lsls r0, 3 + adds r6, r5, r0 +_080B7664: + lsls r1, r3, 1 + adds r2, r1, r5 + ldrh r0, [r4, 0xC] + strh r0, [r2] + adds r1, r6 + ldrh r0, [r4, 0xC] + strh r0, [r1] + adds r0, r3, 0x1 + lsls r0, 16 + lsrs r3, r0, 16 + movs r1, 0x10 + ldrsh r0, [r4, r1] + cmp r3, r0 + ble _080B7664 +_080B7680: + ldr r0, [sp] + ldr r1, [sp, 0x4] + ldr r2, [sp, 0x8] + bl ScanlineEffect_SetParams + ldr r0, _080B76AC @ =sub_80B76B0 + str r0, [r4] + add sp, 0xC + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080B7698: .4byte 0x04000018 +_080B769C: .4byte gBattle_BG2_X +_080B76A0: .4byte 0xa2600001 +_080B76A4: .4byte gBattleAnimAttacker +_080B76A8: .4byte gScanlineEffectRegBuffers +_080B76AC: .4byte sub_80B76B0 + thumb_func_end sub_80B75E0 + + thumb_func_start sub_80B76B0 +sub_80B76B0: @ 80B76B0 + push {lr} + lsls r0, 24 + lsrs r3, r0, 24 + lsls r0, r3, 2 + adds r0, r3 + lsls r0, 3 + ldr r1, _080B76D4 @ =gTasks + adds r2, r0, r1 + movs r1, 0x8 + ldrsh r0, [r2, r1] + cmp r0, 0x4 + bhi _080B7766 + lsls r0, 2 + ldr r1, _080B76D8 @ =_080B76DC + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080B76D4: .4byte gTasks +_080B76D8: .4byte _080B76DC + .align 2, 0 +_080B76DC: + .4byte _080B76F0 + .4byte _080B7712 + .4byte _080B7722 + .4byte _080B774E + .4byte _080B7760 +_080B76F0: + ldrh r0, [r2, 0x16] + adds r0, 0x1 + strh r0, [r2, 0x16] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + ble _080B7746 + movs r0, 0 + strh r0, [r2, 0x16] + ldrh r0, [r2, 0x14] + adds r0, 0x1 + strh r0, [r2, 0x14] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x3 + bne _080B7746 + b _080B7740 +_080B7712: + ldrh r0, [r2, 0xA] + adds r0, 0x1 + strh r0, [r2, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x3C + ble _080B7746 + b _080B7740 +_080B7722: + ldrh r0, [r2, 0x16] + adds r0, 0x1 + strh r0, [r2, 0x16] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + ble _080B7746 + movs r0, 0 + strh r0, [r2, 0x16] + ldrh r0, [r2, 0x14] + subs r0, 0x1 + strh r0, [r2, 0x14] + lsls r0, 16 + cmp r0, 0 + bne _080B7746 +_080B7740: + ldrh r0, [r2, 0x8] + adds r0, 0x1 + strh r0, [r2, 0x8] +_080B7746: + adds r0, r2, 0 + bl sub_80B776C + b _080B7766 +_080B774E: + ldr r1, _080B775C @ =gScanlineEffect + movs r0, 0x3 + strb r0, [r1, 0x15] + ldrh r0, [r2, 0x8] + adds r0, 0x1 + strh r0, [r2, 0x8] + b _080B7766 + .align 2, 0 +_080B775C: .4byte gScanlineEffect +_080B7760: + adds r0, r3, 0 + bl DestroyAnimVisualTask +_080B7766: + pop {r0} + bx r0 + thumb_func_end sub_80B76B0 + + thumb_func_start sub_80B776C +sub_80B776C: @ 80B776C + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r5, r0, 0 + ldrh r3, [r5, 0x12] + ldrh r4, [r5, 0xE] + movs r1, 0x10 + ldrsh r0, [r5, r1] + cmp r4, r0 + bgt _080B77C2 + ldr r7, _080B77D8 @ =gScanlineEffectRegBuffers + mov r12, r7 + ldr r0, _080B77DC @ =gSineTable + mov r8, r0 + ldr r6, _080B77E0 @ =gScanlineEffect +_080B778A: + lsls r2, r4, 1 + ldrb r1, [r6, 0x14] + lsls r0, r1, 4 + subs r0, r1 + lsls r0, 7 + adds r2, r0 + add r2, r12 + lsls r0, r3, 1 + add r0, r8 + movs r7, 0 + ldrsh r1, [r0, r7] + movs r7, 0x14 + ldrsh r0, [r5, r7] + muls r0, r1 + asrs r0, 7 + ldrh r1, [r5, 0xC] + adds r0, r1 + strh r0, [r2] + adds r3, 0x8 + movs r0, 0xFF + ands r3, r0 + adds r0, r4, 0x1 + lsls r0, 16 + lsrs r4, r0, 16 + movs r7, 0x10 + ldrsh r0, [r5, r7] + cmp r4, r0 + ble _080B778A +_080B77C2: + ldrh r0, [r5, 0x12] + adds r0, 0x9 + movs r1, 0xFF + ands r0, r1 + strh r0, [r5, 0x12] + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080B77D8: .4byte gScanlineEffectRegBuffers +_080B77DC: .4byte gSineTable +_080B77E0: .4byte gScanlineEffect + thumb_func_end sub_80B776C + + thumb_func_start sub_80B77E4 +sub_80B77E4: @ 80B77E4 + push {r4-r6,lr} + mov r6, r8 + push {r6} + adds r4, r0, 0 + ldr r5, _080B7884 @ =gBattleAnimArgs + movs r0, 0x4 + ldrsh r1, [r5, r0] + lsls r0, r1, 1 + adds r0, r1 + movs r1, 0x5 + bl __divsi3 + adds r6, r0, 0 + ldr r1, _080B7888 @ =gBattleAnimAttacker + mov r8, r1 + ldrb r0, [r1] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x20] + mov r2, r8 + ldrb r0, [r2] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r3, [r5, 0x8] + adds r0, r3 + strh r0, [r4, 0x22] + movs r1, 0x2 + ldrsh r0, [r5, r1] + movs r2, 0x4 + ldrsh r1, [r5, r2] + bl Cos + strh r0, [r4, 0x30] + movs r3, 0x2 + ldrsh r0, [r5, r3] + lsls r6, 16 + asrs r6, 16 + adds r1, r6, 0 + bl Sin + strh r0, [r4, 0x32] + ldrh r1, [r4, 0x30] + ldrh r2, [r5] + adds r3, r2, 0 + muls r3, r1 + adds r1, r3, 0 + ldrh r3, [r4, 0x20] + adds r1, r3 + strh r1, [r4, 0x20] + adds r1, r2, 0 + muls r1, r0 + adds r0, r1, 0 + ldrh r2, [r4, 0x22] + adds r0, r2 + strh r0, [r4, 0x22] + ldrh r0, [r5, 0x6] + strh r0, [r4, 0x34] + ldr r0, _080B788C @ =sub_80B7894 + str r0, [r4, 0x1C] + adds r4, 0x2E + ldr r2, _080B7890 @ =gUnknown_20399A4 + movs r1, 0x6 +_080B786C: + ldrh r0, [r4] + strh r0, [r2] + adds r4, 0x2 + adds r2, 0x2 + subs r1, 0x1 + cmp r1, 0 + bge _080B786C + pop {r3} + mov r8, r3 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080B7884: .4byte gBattleAnimArgs +_080B7888: .4byte gBattleAnimAttacker +_080B788C: .4byte sub_80B7894 +_080B7890: .4byte gUnknown_20399A4 + thumb_func_end sub_80B77E4 + + thumb_func_start sub_80B7894 +sub_80B7894: @ 80B7894 + push {r4,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x30] + ldrh r1, [r4, 0x36] + adds r0, r1 + strh r0, [r4, 0x36] + ldrh r0, [r4, 0x32] + ldrh r2, [r4, 0x38] + adds r0, r2 + strh r0, [r4, 0x38] + movs r1, 0x36 + ldrsh r0, [r4, r1] + movs r1, 0xA + bl __divsi3 + strh r0, [r4, 0x24] + movs r2, 0x38 + ldrsh r0, [r4, r2] + movs r1, 0xA + bl __divsi3 + strh r0, [r4, 0x26] + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + lsls r0, 16 + asrs r0, 16 + movs r2, 0x34 + ldrsh r1, [r4, r2] + cmp r0, r1 + ble _080B78D8 + adds r0, r4, 0 + bl DestroyAnimSprite +_080B78D8: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80B7894 + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/ghost.s b/asm/ghost.s new file mode 100644 index 000000000..621ed8104 --- /dev/null +++ b/asm/ghost.s @@ -0,0 +1,4055 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start sub_80B5268 +sub_80B5268: @ 80B5268 + push {r4,r5,lr} + adds r4, r0, 0 + movs r1, 0x1 + bl sub_8075160 + ldr r0, _080B52C4 @ =gBattleAnimArgs + ldrh r0, [r0, 0x4] + strh r0, [r4, 0x2E] + ldrh r0, [r4, 0x20] + strh r0, [r4, 0x30] + ldr r5, _080B52C8 @ =gBattleAnimTarget + ldrb r0, [r5] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x32] + ldrh r0, [r4, 0x22] + strh r0, [r4, 0x34] + ldrb r0, [r5] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x36] + adds r0, r4, 0 + bl sub_8075678 + ldr r0, _080B52CC @ =sub_80B52D0 + str r0, [r4, 0x1C] + movs r0, 0x10 + strh r0, [r4, 0x3A] + movs r1, 0xFD + lsls r1, 6 + movs r0, 0x50 + bl SetGpuReg + ldrh r1, [r4, 0x3A] + movs r0, 0x52 + bl SetGpuReg + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080B52C4: .4byte gBattleAnimArgs +_080B52C8: .4byte gBattleAnimTarget +_080B52CC: .4byte sub_80B52D0 + thumb_func_end sub_80B5268 + + thumb_func_start sub_80B52D0 +sub_80B52D0: @ 80B52D0 + push {r4,lr} + adds r4, r0, 0 + bl sub_80B53C0 + adds r0, r4, 0 + bl sub_80755E0 + lsls r0, 24 + cmp r0, 0 + beq _080B52F0 + ldr r0, _080B52EC @ =sub_80B5344 + str r0, [r4, 0x1C] + b _080B533A + .align 2, 0 +_080B52EC: .4byte sub_80B5344 +_080B52F0: + movs r1, 0x38 + ldrsh r0, [r4, r1] + movs r1, 0xA + bl Sin + ldrh r1, [r4, 0x24] + adds r0, r1 + strh r0, [r4, 0x24] + movs r1, 0x38 + ldrsh r0, [r4, r1] + movs r1, 0xF + bl Cos + ldrh r1, [r4, 0x26] + adds r0, r1 + strh r0, [r4, 0x26] + ldrh r2, [r4, 0x38] + adds r0, r2, 0x5 + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0x38] + ldrh r0, [r4, 0x38] + lsls r2, 16 + asrs r2, 16 + cmp r2, 0 + beq _080B5328 + cmp r2, 0xC4 + ble _080B533A +_080B5328: + lsls r0, 16 + cmp r0, 0 + ble _080B533A + ldr r0, _080B5340 @ =gUnknown_2037F24 + movs r1, 0 + ldrsb r1, [r0, r1] + movs r0, 0xBD + bl PlaySE12WithPanning +_080B533A: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080B5340: .4byte gUnknown_2037F24 + thumb_func_end sub_80B52D0 + + thumb_func_start sub_80B5344 +sub_80B5344: @ 80B5344 + push {r4,lr} + adds r4, r0, 0 + movs r0, 0x1 + strh r0, [r4, 0x2E] + adds r0, r4, 0 + bl sub_80755E0 + movs r1, 0x38 + ldrsh r0, [r4, r1] + movs r1, 0xA + bl Sin + ldrh r1, [r4, 0x24] + adds r0, r1 + strh r0, [r4, 0x24] + movs r1, 0x38 + ldrsh r0, [r4, r1] + movs r1, 0xF + bl Cos + ldrh r1, [r4, 0x26] + adds r0, r1 + strh r0, [r4, 0x26] + ldrh r2, [r4, 0x38] + adds r0, r2, 0x5 + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0x38] + ldrh r0, [r4, 0x38] + lsls r2, 16 + asrs r2, 16 + cmp r2, 0 + beq _080B538A + cmp r2, 0xC4 + ble _080B5396 +_080B538A: + lsls r0, 16 + cmp r0, 0 + ble _080B5396 + movs r0, 0xBD + bl PlaySE +_080B5396: + movs r1, 0x3A + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080B53B4 + adds r2, r4, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] + ldr r0, _080B53B0 @ =sub_8074F88 + str r0, [r4, 0x1C] + b _080B53BA + .align 2, 0 +_080B53B0: .4byte sub_8074F88 +_080B53B4: + adds r0, r4, 0 + bl sub_80B53C0 +_080B53BA: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80B5344 + + thumb_func_start sub_80B53C0 +sub_80B53C0: @ 80B53C0 + push {r4,lr} + adds r4, r0, 0 + ldrh r2, [r4, 0x3A] + movs r1, 0x3A + ldrsh r0, [r4, r1] + cmp r0, 0xFF + ble _080B53E4 + adds r0, r2, 0x1 + strh r0, [r4, 0x3A] + lsls r0, 16 + ldr r1, _080B53E0 @ =0x010d0000 + cmp r0, r1 + bne _080B544A + movs r0, 0 + b _080B5448 + .align 2, 0 +_080B53E0: .4byte 0x010d0000 +_080B53E4: + ldrh r1, [r4, 0x3C] + adds r3, r1, 0x1 + strh r3, [r4, 0x3C] + movs r0, 0xFF + ands r0, r1 + cmp r0, 0 + bne _080B544A + ldr r1, _080B5408 @ =0xffffff00 + ands r1, r3 + strh r1, [r4, 0x3C] + movs r0, 0x80 + lsls r0, 1 + ands r0, r1 + cmp r0, 0 + beq _080B540C + adds r0, r2, 0x1 + b _080B540E + .align 2, 0 +_080B5408: .4byte 0xffffff00 +_080B540C: + subs r0, r2, 0x1 +_080B540E: + strh r0, [r4, 0x3A] + ldrh r0, [r4, 0x3A] + movs r1, 0x10 + subs r1, r0 + lsls r1, 8 + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + movs r2, 0x3A + ldrsh r0, [r4, r2] + cmp r0, 0 + beq _080B5430 + cmp r0, 0x10 + bne _080B543C +_080B5430: + ldrh r0, [r4, 0x3C] + movs r2, 0x80 + lsls r2, 1 + adds r1, r2, 0 + eors r0, r1 + strh r0, [r4, 0x3C] +_080B543C: + movs r1, 0x3A + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080B544A + movs r0, 0x80 + lsls r0, 1 +_080B5448: + strh r0, [r4, 0x3A] +_080B544A: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80B53C0 + + thumb_func_start sub_80B5450 +sub_80B5450: @ 80B5450 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x1 + bl sub_8075114 + ldr r1, _080B546C @ =sub_80B5470 + str r1, [r4, 0x1C] + adds r0, r4, 0 + bl _call_via_r1 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080B546C: .4byte sub_80B5470 + thumb_func_end sub_80B5450 + + thumb_func_start sub_80B5470 +sub_80B5470: @ 80B5470 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x2E + ldrsh r0, [r4, r1] + movs r1, 0x20 + bl Sin + strh r0, [r4, 0x24] + movs r1, 0x2E + ldrsh r0, [r4, r1] + movs r1, 0x8 + bl Cos + strh r0, [r4, 0x26] + ldrh r0, [r4, 0x2E] + subs r0, 0x41 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x82 + bhi _080B54A4 + ldrb r0, [r4, 0x5] + movs r1, 0xD + negs r1, r1 + ands r1, r0 + movs r0, 0x8 + b _080B54AE +_080B54A4: + ldrb r0, [r4, 0x5] + movs r1, 0xD + negs r1, r1 + ands r1, r0 + movs r0, 0x4 +_080B54AE: + orrs r1, r0 + strb r1, [r4, 0x5] + ldrh r0, [r4, 0x2E] + adds r0, 0x13 + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0x2E] + ldrh r0, [r4, 0x32] + adds r0, 0x50 + strh r0, [r4, 0x32] + lsls r0, 16 + asrs r0, 24 + ldrh r1, [r4, 0x26] + adds r0, r1 + strh r0, [r4, 0x26] + ldrh r0, [r4, 0x3C] + adds r0, 0x1 + strh r0, [r4, 0x3C] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x3D + bne _080B54E0 + adds r0, r4, 0 + bl DestroyAnimSprite +_080B54E0: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80B5470 + + thumb_func_start sub_80B54E8 +sub_80B54E8: @ 80B54E8 + push {r4,r5,lr} + adds r5, r0, 0 + lsls r5, 24 + lsrs r5, 24 + movs r1, 0xFD + lsls r1, 6 + movs r0, 0x50 + bl SetGpuReg + movs r1, 0x80 + lsls r1, 5 + movs r0, 0x52 + bl SetGpuReg + movs r0, 0 + bl GetAnimBankSpriteId + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + adds r0, r4, 0 + movs r1, 0x1 + bl sub_80758E0 + adds r0, r4, 0 + movs r1, 0x80 + movs r2, 0x80 + movs r3, 0 + bl obj_id_set_rotscale + ldr r1, _080B5560 @ =gSprites + lsls r0, r4, 4 + adds r0, r4 + lsls r0, 2 + adds r0, r1 + adds r0, 0x3E + ldrb r2, [r0] + movs r1, 0x5 + negs r1, r1 + ands r1, r2 + strb r1, [r0] + ldr r1, _080B5564 @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r0, r1 + movs r2, 0 + movs r1, 0x80 + strh r1, [r0, 0x8] + ldr r1, _080B5568 @ =gBattleAnimArgs + ldrh r1, [r1] + strh r1, [r0, 0xA] + strh r2, [r0, 0xC] + movs r1, 0x10 + strh r1, [r0, 0xE] + ldr r1, _080B556C @ =sub_80B5570 + str r1, [r0] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080B5560: .4byte gSprites +_080B5564: .4byte gTasks +_080B5568: .4byte gBattleAnimArgs +_080B556C: .4byte sub_80B5570 + thumb_func_end sub_80B54E8 + + thumb_func_start sub_80B5570 +sub_80B5570: @ 80B5570 + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + ldr r2, _080B55C0 @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r4, r1, r2 + ldrh r0, [r4, 0x1C] + adds r0, 0x1 + strh r0, [r4, 0x1C] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x3 + bne _080B55B8 + movs r0, 0 + strh r0, [r4, 0x1C] + ldrh r1, [r4, 0xC] + adds r1, 0x1 + strh r1, [r4, 0xC] + ldrh r0, [r4, 0xE] + subs r0, 0x1 + strh r0, [r4, 0xE] + lsls r0, 8 + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + movs r1, 0xC + ldrsh r0, [r4, r1] + cmp r0, 0x9 + bne _080B55B8 + ldr r0, _080B55C4 @ =sub_80B55C8 + str r0, [r4] +_080B55B8: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080B55C0: .4byte gTasks +_080B55C4: .4byte sub_80B55C8 + thumb_func_end sub_80B5570 + + thumb_func_start sub_80B55C8 +sub_80B55C8: @ 80B55C8 + push {r4,r5,lr} + lsls r0, 24 + lsrs r0, 24 + adds r5, r0, 0 + ldr r1, _080B55EC @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r4, r0, r1 + ldrh r1, [r4, 0xA] + movs r2, 0xA + ldrsh r0, [r4, r2] + cmp r0, 0 + ble _080B55F0 + subs r0, r1, 0x1 + strh r0, [r4, 0xA] + b _080B5634 + .align 2, 0 +_080B55EC: .4byte gTasks +_080B55F0: + movs r0, 0 + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r1, r0, 24 + ldrh r0, [r4, 0x8] + adds r0, 0x8 + strh r0, [r4, 0x8] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xFF + bgt _080B5618 + movs r0, 0x8 + ldrsh r2, [r4, r0] + adds r0, r1, 0 + adds r1, r2, 0 + movs r3, 0 + bl obj_id_set_rotscale + b _080B5634 +_080B5618: + adds r0, r1, 0 + bl sub_8075980 + adds r0, r5, 0 + bl DestroyAnimVisualTask + movs r0, 0x50 + movs r1, 0 + bl SetGpuReg + movs r0, 0x52 + movs r1, 0 + bl SetGpuReg +_080B5634: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80B55C8 + + thumb_func_start sub_80B563C +sub_80B563C: @ 80B563C + push {r4-r6,lr} + mov r6, r9 + mov r5, r8 + push {r5,r6} + sub sp, 0x4 + adds r4, r0, 0 + ldrh r5, [r4, 0x20] + ldrh r6, [r4, 0x22] + ldr r0, _080B56D8 @ =gBattleAnimAttacker + mov r8, r0 + ldrb r0, [r0] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + movs r1, 0 + mov r9, r1 + strh r0, [r4, 0x20] + mov r1, r8 + ldrb r0, [r1] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x22] + mov r1, r9 + strh r1, [r4, 0x2E] + ldr r2, _080B56DC @ =gBattleAnimArgs + ldrh r1, [r2] + strh r1, [r4, 0x30] + ldrh r1, [r2, 0x2] + strh r1, [r4, 0x32] + ldrh r1, [r2, 0x4] + strh r1, [r4, 0x34] + ldrh r1, [r4, 0x20] + lsls r1, 4 + strh r1, [r4, 0x36] + lsls r0, 4 + strh r0, [r4, 0x38] + lsls r5, 16 + asrs r5, 16 + movs r1, 0x20 + ldrsh r0, [r4, r1] + subs r5, r0 + lsls r5, 4 + movs r0, 0 + ldrsh r1, [r2, r0] + lsls r1, 1 + adds r0, r5, 0 + str r2, [sp] + bl __divsi3 + strh r0, [r4, 0x3A] + lsls r6, 16 + asrs r6, 16 + movs r1, 0x22 + ldrsh r0, [r4, r1] + subs r6, r0 + lsls r6, 4 + ldr r2, [sp] + movs r0, 0 + ldrsh r1, [r2, r0] + lsls r1, 1 + adds r0, r6, 0 + bl __divsi3 + strh r0, [r4, 0x3C] + ldr r0, _080B56E0 @ =sub_80B56E4 + str r0, [r4, 0x1C] + add sp, 0x4 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080B56D8: .4byte gBattleAnimAttacker +_080B56DC: .4byte gBattleAnimArgs +_080B56E0: .4byte sub_80B56E4 + thumb_func_end sub_80B563C + + thumb_func_start sub_80B56E4 +sub_80B56E4: @ 80B56E4 + push {r4,r5,lr} + adds r5, r0, 0 + movs r1, 0x2E + ldrsh r0, [r5, r1] + cmp r0, 0x1 + beq _080B572E + cmp r0, 0x1 + bgt _080B56FA + cmp r0, 0 + beq _080B5704 + b _080B57F2 +_080B56FA: + cmp r0, 0x2 + beq _080B5798 + cmp r0, 0x3 + beq _080B57EC + b _080B57F2 +_080B5704: + ldrh r0, [r5, 0x3A] + ldrh r2, [r5, 0x36] + adds r0, r2 + strh r0, [r5, 0x36] + ldrh r1, [r5, 0x3C] + ldrh r2, [r5, 0x38] + adds r1, r2 + strh r1, [r5, 0x38] + lsls r0, 16 + asrs r0, 20 + strh r0, [r5, 0x20] + lsls r1, 16 + asrs r1, 20 + strh r1, [r5, 0x22] + ldrh r0, [r5, 0x30] + subs r0, 0x1 + strh r0, [r5, 0x30] + lsls r0, 16 + cmp r0, 0 + bgt _080B57F2 + b _080B57DE +_080B572E: + ldrh r0, [r5, 0x32] + subs r0, 0x1 + strh r0, [r5, 0x32] + lsls r0, 16 + cmp r0, 0 + bgt _080B57F2 + ldr r4, _080B5794 @ =gBattleAnimTarget + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x30] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x32] + ldrh r0, [r5, 0x20] + lsls r0, 4 + strh r0, [r5, 0x36] + ldrh r0, [r5, 0x22] + lsls r0, 4 + strh r0, [r5, 0x38] + movs r1, 0x30 + ldrsh r0, [r5, r1] + movs r2, 0x20 + ldrsh r1, [r5, r2] + subs r0, r1 + lsls r0, 4 + movs r2, 0x34 + ldrsh r1, [r5, r2] + bl __divsi3 + strh r0, [r5, 0x3A] + movs r1, 0x32 + ldrsh r0, [r5, r1] + movs r2, 0x22 + ldrsh r1, [r5, r2] + subs r0, r1 + lsls r0, 4 + movs r2, 0x34 + ldrsh r1, [r5, r2] + bl __divsi3 + strh r0, [r5, 0x3C] + b _080B57DE + .align 2, 0 +_080B5794: .4byte gBattleAnimTarget +_080B5798: + ldrh r0, [r5, 0x3A] + ldrh r1, [r5, 0x36] + adds r0, r1 + strh r0, [r5, 0x36] + ldrh r1, [r5, 0x3C] + ldrh r2, [r5, 0x38] + adds r1, r2 + strh r1, [r5, 0x38] + lsls r0, 16 + asrs r0, 20 + strh r0, [r5, 0x20] + lsls r1, 16 + asrs r1, 20 + strh r1, [r5, 0x22] + ldrh r0, [r5, 0x34] + subs r0, 0x1 + strh r0, [r5, 0x34] + lsls r0, 16 + cmp r0, 0 + bgt _080B57F2 + ldr r4, _080B57E8 @ =gBattleAnimTarget + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x20] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x22] +_080B57DE: + ldrh r0, [r5, 0x2E] + adds r0, 0x1 + strh r0, [r5, 0x2E] + b _080B57F2 + .align 2, 0 +_080B57E8: .4byte gBattleAnimTarget +_080B57EC: + adds r0, r5, 0 + bl move_anim_8074EE0 +_080B57F2: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80B56E4 + + thumb_func_start sub_80B57F8 +sub_80B57F8: @ 80B57F8 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x1 + bl sub_8075114 + ldr r0, _080B580C @ =sub_80B5810 + str r0, [r4, 0x1C] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080B580C: .4byte sub_80B5810 + thumb_func_end sub_80B57F8 + + thumb_func_start sub_80B5810 +sub_80B5810: @ 80B5810 + push {r4-r6,lr} + adds r3, r0, 0 + movs r5, 0 + movs r6, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x10 + ands r0, r1 + cmp r0, 0 + beq _080B58A6 + adds r1, r3, 0 + adds r1, 0x3E + ldrb r2, [r1] + movs r0, 0x4 + ands r0, r2 + adds r4, r1, 0 + cmp r0, 0 + bne _080B583A + movs r0, 0x4 + orrs r0, r2 + strb r0, [r4] +_080B583A: + movs r1, 0x2E + ldrsh r0, [r3, r1] + cmp r0, 0 + beq _080B584A + cmp r0, 0x1 + beq _080B5854 + movs r6, 0x1 + b _080B585E +_080B584A: + movs r1, 0x30 + ldrsh r0, [r3, r1] + cmp r0, 0x2 + bne _080B585E + b _080B5862 +_080B5854: + movs r1, 0x30 + ldrsh r0, [r3, r1] + cmp r0, 0x4 + bne _080B585E + movs r5, 0x1 +_080B585E: + cmp r5, 0 + beq _080B5894 +_080B5862: + ldrb r2, [r4] + lsls r0, r2, 29 + lsrs r0, 31 + movs r1, 0x1 + eors r1, r0 + lsls r1, 2 + movs r0, 0x5 + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r4] + ldrh r0, [r3, 0x32] + adds r0, 0x1 + movs r1, 0 + strh r0, [r3, 0x32] + strh r1, [r3, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x5 + bne _080B58A6 + strh r1, [r3, 0x32] + ldrh r0, [r3, 0x2E] + adds r0, 0x1 + strh r0, [r3, 0x2E] + b _080B58A6 +_080B5894: + cmp r6, 0 + beq _080B58A0 + adds r0, r3, 0 + bl DestroyAnimSprite + b _080B58A6 +_080B58A0: + ldrh r0, [r3, 0x30] + adds r0, 0x1 + strh r0, [r3, 0x30] +_080B58A6: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_80B5810 + + thumb_func_start sub_80B58AC +sub_80B58AC: @ 80B58AC + push {r4-r6,lr} + lsls r0, 24 + lsrs r4, r0, 24 + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + ldr r1, _080B58D8 @ =gTasks + adds r5, r0, r1 + movs r0, 0x1 + bl duplicate_obj_of_side_rel2move_in_transparent_mode + movs r6, 0 + movs r1, 0 + strh r0, [r5, 0x8] + lsls r0, 16 + cmp r0, 0 + bge _080B58DC + adds r0, r4, 0 + bl DestroyAnimVisualTask + b _080B59B8 + .align 2, 0 +_080B58D8: .4byte gTasks +_080B58DC: + strh r1, [r5, 0xA] + movs r0, 0xF + strh r0, [r5, 0xC] + movs r0, 0x2 + strh r0, [r5, 0xE] + strh r1, [r5, 0x10] + movs r1, 0xFD + lsls r1, 6 + movs r0, 0x50 + bl SetGpuReg + ldrh r1, [r5, 0xE] + lsls r1, 8 + ldrh r0, [r5, 0xC] + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + ldr r4, _080B5944 @ =gSprites + movs r0, 0x8 + ldrsh r1, [r5, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r4 + movs r1, 0x50 + strh r1, [r0, 0x2E] + ldr r0, _080B5948 @ =gBattleAnimTarget + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _080B5950 + movs r0, 0x8 + ldrsh r1, [r5, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r4 + ldr r1, _080B594C @ =0x0000ff70 + strh r1, [r0, 0x30] + movs r0, 0x8 + ldrsh r1, [r5, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r4 + movs r1, 0x70 + b _080B596E + .align 2, 0 +_080B5944: .4byte gSprites +_080B5948: .4byte gBattleAnimTarget +_080B594C: .4byte 0x0000ff70 +_080B5950: + movs r0, 0x8 + ldrsh r1, [r5, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r4 + movs r1, 0x90 + strh r1, [r0, 0x30] + movs r0, 0x8 + ldrsh r1, [r5, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r4 + ldr r1, _080B59C0 @ =0x0000ff90 +_080B596E: + strh r1, [r0, 0x32] + ldr r4, _080B59C4 @ =gSprites + movs r0, 0x8 + ldrsh r1, [r5, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r4 + movs r2, 0 + strh r2, [r0, 0x34] + movs r0, 0x8 + ldrsh r1, [r5, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r4 + strh r2, [r0, 0x36] + movs r0, 0x8 + ldrsh r1, [r5, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r4 + ldr r1, _080B59C8 @ =SpriteCallbackDummy + bl StoreSpriteCallbackInData6 + movs r0, 0x8 + ldrsh r1, [r5, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r4, 0x1C + adds r0, r4 + ldr r1, _080B59CC @ =sub_8074D00 + str r1, [r0] + ldr r0, _080B59D0 @ =sub_80B59D4 + str r0, [r5] +_080B59B8: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080B59C0: .4byte 0x0000ff90 +_080B59C4: .4byte gSprites +_080B59C8: .4byte SpriteCallbackDummy +_080B59CC: .4byte sub_8074D00 +_080B59D0: .4byte sub_80B59D4 + thumb_func_end sub_80B58AC + + thumb_func_start sub_80B59D4 +sub_80B59D4: @ 80B59D4 + push {r4,lr} + lsls r0, 24 + lsrs r2, r0, 24 + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + ldr r1, _080B59F8 @ =gTasks + adds r4, r0, r1 + movs r1, 0x10 + ldrsh r0, [r4, r1] + cmp r0, 0x1 + beq _080B5A78 + cmp r0, 0x1 + bgt _080B59FC + cmp r0, 0 + beq _080B5A02 + b _080B5AA4 + .align 2, 0 +_080B59F8: .4byte gTasks +_080B59FC: + cmp r0, 0x2 + beq _080B5A9E + b _080B5AA4 +_080B5A02: + ldrh r1, [r4, 0xA] + adds r1, 0x1 + strh r1, [r4, 0xA] + movs r0, 0x3 + ands r0, r1 + strh r0, [r4, 0x12] + cmp r0, 0x1 + bne _080B5A20 + ldrh r1, [r4, 0xC] + movs r2, 0xC + ldrsh r0, [r4, r2] + cmp r0, 0 + ble _080B5A20 + subs r0, r1, 0x1 + strh r0, [r4, 0xC] +_080B5A20: + movs r1, 0x12 + ldrsh r0, [r4, r1] + cmp r0, 0x3 + bne _080B5A36 + ldrh r1, [r4, 0xE] + movs r2, 0xE + ldrsh r0, [r4, r2] + cmp r0, 0xF + bgt _080B5A36 + adds r0, r1, 0x1 + strh r0, [r4, 0xE] +_080B5A36: + ldrh r1, [r4, 0xE] + lsls r1, 8 + ldrh r0, [r4, 0xC] + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + ldr r1, [r4, 0xC] + movs r0, 0x80 + lsls r0, 13 + cmp r1, r0 + bne _080B5AA4 + movs r1, 0xA + ldrsh r0, [r4, r1] + cmp r0, 0x50 + ble _080B5AA4 + movs r2, 0x8 + ldrsh r1, [r4, r2] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r1, _080B5A74 @ =gSprites + adds r0, r1 + bl obj_delete_but_dont_free_vram + movs r0, 0x1 + strh r0, [r4, 0x10] + b _080B5AA4 + .align 2, 0 +_080B5A74: .4byte gSprites +_080B5A78: + ldrh r0, [r4, 0x14] + adds r0, 0x1 + strh r0, [r4, 0x14] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + ble _080B5AA4 + movs r0, 0x50 + movs r1, 0 + bl SetGpuReg + movs r0, 0x52 + movs r1, 0 + bl SetGpuReg + ldrh r0, [r4, 0x10] + adds r0, 0x1 + strh r0, [r4, 0x10] + b _080B5AA4 +_080B5A9E: + adds r0, r2, 0 + bl DestroyAnimVisualTask +_080B5AA4: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80B59D4 + + thumb_func_start sub_80B5AAC +sub_80B5AAC: @ 80B5AAC + push {lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r2, _080B5ACC @ =gTasks + adds r1, r2 + movs r2, 0 + strh r2, [r1, 0x26] + ldr r2, _080B5AD0 @ =sub_80B5AD4 + str r2, [r1] + bl _call_via_r2 + pop {r0} + bx r0 + .align 2, 0 +_080B5ACC: .4byte gTasks +_080B5AD0: .4byte sub_80B5AD4 + thumb_func_end sub_80B5AAC + + thumb_func_start sub_80B5AD4 +sub_80B5AD4: @ 80B5AD4 + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0xC + lsls r0, 24 + lsrs r4, r0, 24 + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + ldr r1, _080B5B0C @ =gTasks + adds r5, r0, r1 + ldr r0, _080B5B10 @ =gBattleAnimTarget + ldrb r0, [r0] + bl sub_80768B0 + lsls r0, 24 + lsrs r6, r0, 24 + movs r1, 0x26 + ldrsh r0, [r5, r1] + cmp r0, 0x4 + bls _080B5B00 + b _080B5D22 +_080B5B00: + lsls r0, 2 + ldr r1, _080B5B14 @ =_080B5B18 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080B5B0C: .4byte gTasks +_080B5B10: .4byte gBattleAnimTarget +_080B5B14: .4byte _080B5B18 + .align 2, 0 +_080B5B18: + .4byte _080B5B2C + .4byte _080B5C2C + .4byte _080B5C70 + .4byte _080B5CD8 + .4byte _080B5D04 +_080B5B2C: + ldr r7, _080B5B64 @ =0x00002771 + adds r0, r7, 0 + bl AllocSpritePalette + lsls r0, 24 + lsrs r0, 24 + movs r2, 0 + mov r8, r2 + strh r0, [r5, 0x24] + cmp r0, 0xFF + beq _080B5B5A + cmp r0, 0xF + beq _080B5B5A + movs r0, 0x1 + bl duplicate_obj_of_side_rel2move_in_transparent_mode + strh r0, [r5, 0x8] + lsls r0, 16 + cmp r0, 0 + bge _080B5B68 + adds r0, r7, 0 + bl FreeSpritePaletteByTag +_080B5B5A: + adds r0, r4, 0 + bl DestroyAnimVisualTask + b _080B5D28 + .align 2, 0 +_080B5B64: .4byte 0x00002771 +_080B5B68: + ldr r4, _080B5C14 @ =gSprites + movs r1, 0x8 + ldrsh r0, [r5, r1] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r4 + ldrh r2, [r5, 0x24] + lsls r2, 4 + ldrb r3, [r1, 0x5] + movs r0, 0xF + ands r0, r3 + orrs r0, r2 + strb r0, [r1, 0x5] + movs r2, 0x8 + ldrsh r0, [r5, r2] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r4 + ldrb r2, [r1, 0x1] + movs r0, 0xD + negs r0, r0 + ands r0, r2 + strb r0, [r1, 0x1] + movs r0, 0x8 + ldrsh r1, [r5, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r4 + ldrb r1, [r0, 0x5] + movs r2, 0xC + orrs r1, r2 + strb r1, [r0, 0x5] + movs r1, 0x8 + ldrsh r0, [r5, r1] + lsls r2, r0, 4 + adds r2, r0 + lsls r2, 2 + adds r2, r4 + ldr r0, _080B5C18 @ =gUnknown_2024018 + ldr r1, [r0] + ldr r0, _080B5C1C @ =gBattleAnimTarget + ldrb r0, [r0] + ldr r1, [r1] + lsls r0, 2 + adds r0, r1 + ldr r1, [r0] + lsls r1, 31 + adds r2, 0x3E + lsrs r1, 31 + lsls r1, 2 + ldrb r3, [r2] + movs r0, 0x5 + negs r0, r0 + ands r0, r3 + orrs r0, r1 + strb r0, [r2] + mov r2, r8 + strh r2, [r5, 0xA] + strh r2, [r5, 0xC] + movs r0, 0x10 + strh r0, [r5, 0xE] + movs r0, 0x1 + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x22] + movs r0, 0x22 + ldrsh r1, [r5, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r4 + ldrb r0, [r0, 0x5] + lsrs r0, 4 + adds r0, 0x10 + lsls r0, 4 + strh r0, [r5, 0x10] + cmp r6, 0x1 + bne _080B5C20 + movs r1, 0x80 + lsls r1, 2 + b _080B5C24 + .align 2, 0 +_080B5C14: .4byte gSprites +_080B5C18: .4byte gUnknown_2024018 +_080B5C1C: .4byte gBattleAnimTarget +_080B5C20: + movs r1, 0x80 + lsls r1, 3 +_080B5C24: + movs r0, 0 + bl ClearGpuRegBits + b _080B5D22 +_080B5C2C: + movs r1, 0x24 + ldrsh r0, [r5, r1] + adds r0, 0x10 + lsls r0, 4 + strh r0, [r5, 0x24] + movs r2, 0x10 + ldrsh r0, [r5, r2] + lsls r0, 1 + ldr r1, _080B5C60 @ =gPlttBufferUnfaded + adds r0, r1 + movs r2, 0x24 + ldrsh r1, [r5, r2] + lsls r1, 1 + ldr r2, _080B5C64 @ =gPlttBufferFaded + adds r1, r2 + ldr r2, _080B5C68 @ =0x04000008 + bl CpuSet + ldrh r0, [r5, 0x10] + ldr r3, _080B5C6C @ =0x00003c0d + movs r1, 0x10 + movs r2, 0xA + bl BlendPalette + b _080B5D22 + .align 2, 0 +_080B5C60: .4byte gPlttBufferUnfaded +_080B5C64: .4byte gPlttBufferFaded +_080B5C68: .4byte 0x04000008 +_080B5C6C: .4byte 0x00003c0d +_080B5C70: + ldr r2, _080B5CAC @ =gSprites + movs r0, 0x22 + ldrsh r1, [r5, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r1, [r0, 0x26] + ldrh r0, [r0, 0x22] + adds r1, r0 + subs r1, 0x20 + lsls r1, 16 + lsrs r2, r1, 16 + cmp r1, 0 + bge _080B5C90 + movs r2, 0 +_080B5C90: + cmp r6, 0x1 + bne _080B5CB0 + lsls r0, r2, 24 + lsrs r0, 24 + adds r1, r2, 0 + adds r1, 0x40 + lsls r1, 24 + lsrs r1, 24 + movs r2, 0 + str r2, [sp] + movs r2, 0x4 + str r2, [sp, 0x4] + str r6, [sp, 0x8] + b _080B5CC8 + .align 2, 0 +_080B5CAC: .4byte gSprites +_080B5CB0: + lsls r0, r2, 24 + lsrs r0, 24 + adds r1, r2, 0 + adds r1, 0x40 + lsls r1, 24 + lsrs r1, 24 + movs r2, 0 + str r2, [sp] + movs r2, 0x8 + str r2, [sp, 0x4] + movs r2, 0x1 + str r2, [sp, 0x8] +_080B5CC8: + movs r2, 0x2 + movs r3, 0x6 + bl ScanlineEffect_InitWave + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x1C] + b _080B5D22 +_080B5CD8: + cmp r6, 0x1 + bne _080B5CEC + ldr r1, _080B5CE8 @ =0x00003f42 + movs r0, 0x50 + bl SetGpuReg + b _080B5CF4 + .align 2, 0 +_080B5CE8: .4byte 0x00003f42 +_080B5CEC: + ldr r1, _080B5D00 @ =0x00003f44 + movs r0, 0x50 + bl SetGpuReg +_080B5CF4: + movs r1, 0x80 + lsls r1, 5 + movs r0, 0x52 + bl SetGpuReg + b _080B5D22 + .align 2, 0 +_080B5D00: .4byte 0x00003f44 +_080B5D04: + cmp r6, 0x1 + bne _080B5D14 + movs r1, 0x80 + lsls r1, 2 + movs r0, 0 + bl SetGpuRegBits + b _080B5D1E +_080B5D14: + movs r1, 0x80 + lsls r1, 3 + movs r0, 0 + bl SetGpuRegBits +_080B5D1E: + ldr r0, _080B5D34 @ =sub_80B5D38 + str r0, [r5] +_080B5D22: + ldrh r0, [r5, 0x26] + adds r0, 0x1 + strh r0, [r5, 0x26] +_080B5D28: + add sp, 0xC + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080B5D34: .4byte sub_80B5D38 + thumb_func_end sub_80B5AD4 + + thumb_func_start sub_80B5D38 +sub_80B5D38: @ 80B5D38 + push {r4,r5,lr} + lsls r0, 24 + lsrs r0, 24 + adds r5, r0, 0 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + ldr r1, _080B5DC0 @ =gTasks + adds r4, r0, r1 + ldrh r1, [r4, 0xA] + adds r1, 0x1 + strh r1, [r4, 0xA] + movs r0, 0x1 + ands r0, r1 + strh r0, [r4, 0x12] + cmp r0, 0 + bne _080B5D70 + ldr r1, _080B5DC4 @ =gSineTable + movs r2, 0xA + ldrsh r0, [r4, r2] + lsls r0, 1 + adds r0, r1 + movs r1, 0 + ldrsh r0, [r0, r1] + movs r1, 0x12 + bl __divsi3 + strh r0, [r4, 0xC] +_080B5D70: + movs r2, 0x12 + ldrsh r0, [r4, r2] + cmp r0, 0x1 + bne _080B5D92 + ldr r1, _080B5DC4 @ =gSineTable + movs r2, 0xA + ldrsh r0, [r4, r2] + lsls r0, 1 + adds r0, r1 + movs r1, 0 + ldrsh r0, [r0, r1] + movs r1, 0x12 + bl __divsi3 + movs r1, 0x10 + subs r1, r0 + strh r1, [r4, 0xE] +_080B5D92: + ldrh r1, [r4, 0xE] + lsls r1, 8 + ldrh r0, [r4, 0xC] + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + movs r2, 0xA + ldrsh r0, [r4, r2] + cmp r0, 0x80 + bne _080B5DBA + movs r0, 0 + strh r0, [r4, 0x26] + ldr r1, _080B5DC8 @ =sub_80B5DCC + str r1, [r4] + adds r0, r5, 0 + bl _call_via_r1 +_080B5DBA: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080B5DC0: .4byte gTasks +_080B5DC4: .4byte gSineTable +_080B5DC8: .4byte sub_80B5DCC + thumb_func_end sub_80B5D38 + + thumb_func_start sub_80B5DCC +sub_80B5DCC: @ 80B5DCC + push {r4-r6,lr} + lsls r0, 24 + lsrs r5, r0, 24 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + ldr r1, _080B5DFC @ =gTasks + adds r4, r0, r1 + ldr r0, _080B5E00 @ =gBattleAnimTarget + ldrb r0, [r0] + bl sub_80768B0 + lsls r0, 24 + lsrs r6, r0, 24 + movs r1, 0x26 + ldrsh r0, [r4, r1] + cmp r0, 0x1 + beq _080B5E38 + cmp r0, 0x1 + bgt _080B5E04 + cmp r0, 0 + beq _080B5E0A + b _080B5EB4 + .align 2, 0 +_080B5DFC: .4byte gTasks +_080B5E00: .4byte gBattleAnimTarget +_080B5E04: + cmp r0, 0x2 + beq _080B5E4C + b _080B5EB4 +_080B5E0A: + ldr r1, _080B5E28 @ =gScanlineEffect + movs r0, 0x3 + strb r0, [r1, 0x15] + movs r0, 0x1 + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x24] + cmp r6, 0x1 + bne _080B5E2C + movs r1, 0x80 + lsls r1, 2 + b _080B5E30 + .align 2, 0 +_080B5E28: .4byte gScanlineEffect +_080B5E2C: + movs r1, 0x80 + lsls r1, 3 +_080B5E30: + movs r0, 0 + bl ClearGpuRegBits + b _080B5EB4 +_080B5E38: + ldrh r0, [r4, 0x10] + ldr r3, _080B5E48 @ =0x00003c0d + movs r1, 0x10 + movs r2, 0 + bl BlendPalette + b _080B5EB4 + .align 2, 0 +_080B5E48: .4byte 0x00003c0d +_080B5E4C: + ldr r3, _080B5E9C @ =gSprites + movs r0, 0x24 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r3 + adds r0, 0x3E + ldrb r1, [r0] + movs r2, 0x4 + orrs r1, r2 + strb r1, [r0] + movs r0, 0x8 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r3 + bl obj_delete_but_dont_free_vram + ldr r0, _080B5EA0 @ =0x00002771 + bl FreeSpritePaletteByTag + movs r0, 0x50 + movs r1, 0 + bl SetGpuReg + movs r0, 0x52 + movs r1, 0 + bl SetGpuReg + cmp r6, 0x1 + bne _080B5EA4 + movs r1, 0x80 + lsls r1, 2 + movs r0, 0 + bl SetGpuRegBits + b _080B5EAE + .align 2, 0 +_080B5E9C: .4byte gSprites +_080B5EA0: .4byte 0x00002771 +_080B5EA4: + movs r1, 0x80 + lsls r1, 3 + movs r0, 0 + bl SetGpuRegBits +_080B5EAE: + adds r0, r5, 0 + bl DestroyAnimVisualTask +_080B5EB4: + ldrh r0, [r4, 0x26] + adds r0, 0x1 + strh r0, [r4, 0x26] + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_80B5DCC + + thumb_func_start sub_80B5EC0 +sub_80B5EC0: @ 80B5EC0 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + adds r7, r0, 0 + ldr r0, _080B5EFC @ =gBattleAnimArgs + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _080B5F08 + ldr r4, _080B5F00 @ =gBattleAnimAttacker + ldrb r0, [r4] + movs r1, 0 + bl sub_8074480 + lsls r0, 24 + lsrs r6, r0, 24 + ldrb r0, [r4] + movs r1, 0x1 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 8 + movs r2, 0xE0 + lsls r2, 13 + adds r0, r2 + lsrs r5, r0, 16 + ldr r4, _080B5F04 @ =gBattleAnimTarget + b _080B5F2C + .align 2, 0 +_080B5EFC: .4byte gBattleAnimArgs +_080B5F00: .4byte gBattleAnimAttacker +_080B5F04: .4byte gBattleAnimTarget +_080B5F08: + ldr r4, _080B5FD0 @ =gBattleAnimTarget + ldrb r0, [r4] + movs r1, 0 + bl sub_8074480 + lsls r0, 24 + lsrs r6, r0, 24 + ldrb r0, [r4] + movs r1, 0x1 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 8 + movs r2, 0xE0 + lsls r2, 13 + adds r0, r2 + lsrs r5, r0, 16 + ldr r4, _080B5FD4 @ =gBattleAnimAttacker +_080B5F2C: + ldrb r0, [r4] + movs r1, 0 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + mov r10, r0 + ldrb r0, [r4] + movs r1, 0x1 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 8 + movs r1, 0xE0 + lsls r1, 13 + adds r0, r1 + lsrs r0, 16 + mov r9, r0 + mov r8, r5 + mov r2, r9 + subs r4, r2, r5 + lsls r4, 16 + lsrs r4, 16 + lsls r0, r6, 4 + strh r0, [r7, 0x2E] + lsls r0, r5, 4 + strh r0, [r7, 0x30] + mov r1, r10 + subs r0, r1, r6 + lsls r0, 4 + ldr r5, _080B5FD8 @ =gBattleAnimArgs + movs r2, 0x2 + ldrsh r1, [r5, r2] + bl __divsi3 + strh r0, [r7, 0x32] + lsls r4, 16 + asrs r4, 12 + movs r0, 0x2 + ldrsh r1, [r5, r0] + adds r0, r4, 0 + bl __divsi3 + strh r0, [r7, 0x34] + ldrh r0, [r5, 0x2] + strh r0, [r7, 0x36] + mov r1, r10 + strh r1, [r7, 0x38] + mov r2, r9 + strh r2, [r7, 0x3A] + movs r1, 0x36 + ldrsh r0, [r7, r1] + lsrs r1, r0, 31 + adds r0, r1 + asrs r0, 1 + strh r0, [r7, 0x3C] + ldrb r1, [r7, 0x5] + movs r0, 0xD + negs r0, r0 + ands r0, r1 + movs r1, 0x8 + orrs r0, r1 + strb r0, [r7, 0x5] + strh r6, [r7, 0x20] + mov r2, r8 + strh r2, [r7, 0x22] + ldr r0, _080B5FDC @ =sub_80B5FE0 + str r0, [r7, 0x1C] + adds r2, r7, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080B5FD0: .4byte gBattleAnimTarget +_080B5FD4: .4byte gBattleAnimAttacker +_080B5FD8: .4byte gBattleAnimArgs +_080B5FDC: .4byte sub_80B5FE0 + thumb_func_end sub_80B5EC0 + + thumb_func_start sub_80B5FE0 +sub_80B5FE0: @ 80B5FE0 + push {r4,lr} + adds r2, r0, 0 + ldrh r3, [r2, 0x36] + movs r1, 0x36 + ldrsh r0, [r2, r1] + cmp r0, 0 + beq _080B6018 + ldrh r0, [r2, 0x32] + ldrh r4, [r2, 0x2E] + adds r0, r4 + strh r0, [r2, 0x2E] + ldrh r1, [r2, 0x34] + ldrh r4, [r2, 0x30] + adds r1, r4 + strh r1, [r2, 0x30] + lsls r0, 16 + asrs r0, 20 + strh r0, [r2, 0x20] + lsls r1, 16 + asrs r1, 20 + strh r1, [r2, 0x22] + subs r0, r3, 0x1 + strh r0, [r2, 0x36] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0 + bne _080B6018 + strh r0, [r2, 0x2E] +_080B6018: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80B5FE0 + + thumb_func_start sub_80B6020 +sub_80B6020: @ 80B6020 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x14 + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, _080B6170 @ =gTasks + adds r1, r0 + str r1, [sp] + movs r1, 0xFD + lsls r1, 6 + movs r0, 0x50 + bl SetGpuReg + movs r1, 0x80 + lsls r1, 5 + movs r0, 0x52 + bl SetGpuReg + movs r0, 0 + ldr r1, [sp] + strh r0, [r1, 0x12] + strh r0, [r1, 0x14] + strh r0, [r1, 0x16] + strh r0, [r1, 0x18] + movs r0, 0x10 + strh r0, [r1, 0x1A] + ldr r2, _080B6174 @ =gBattleAnimArgs + ldrh r0, [r2] + strh r0, [r1, 0x1C] + ldr r4, _080B6178 @ =gBattleAnimAttacker + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + str r0, [sp, 0x4] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8076B2C + lsls r0, 16 + lsrs r0, 16 + str r0, [sp, 0x8] + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + beq _080B6090 + b _080B618C +_080B6090: + movs r4, 0 +_080B6092: + lsls r1, r4, 16 + asrs r3, r1, 16 + ldr r0, _080B6178 @ =gBattleAnimAttacker + ldrb r2, [r0] + str r1, [sp, 0x10] + cmp r3, r2 + beq _080B615E + movs r0, 0x2 + eors r2, r0 + cmp r3, r2 + beq _080B615E + lsls r0, r4, 24 + lsrs r4, r0, 24 + adds r0, r4, 0 + bl sub_8072DF0 + lsls r0, 24 + cmp r0, 0 + beq _080B615E + ldr r6, [sp, 0x4] + ldr r3, [sp, 0x8] + lsls r0, r3, 16 + asrs r7, r0, 16 + ldr r0, _080B617C @ =gUnknown_83E7668 + adds r1, r6, 0 + adds r2, r7, 0 + movs r3, 0x37 + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + cmp r0, 0x40 + beq _080B615E + adds r0, r4, 0 + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + mov r10, r0 + adds r0, r4, 0 + movs r1, 0x3 + bl sub_8076B2C + lsls r0, 16 + lsrs r0, 16 + mov r9, r0 + mov r0, r8 + lsls r5, r0, 4 + add r5, r8 + lsls r5, 2 + ldr r1, _080B6180 @ =gSprites + adds r4, r5, r1 + lsls r0, r6, 4 + strh r0, [r4, 0x2E] + lsls r0, r7, 4 + strh r0, [r4, 0x30] + mov r2, r10 + subs r0, r2, r6 + lsls r0, 4 + ldr r3, _080B6174 @ =gBattleAnimArgs + movs r2, 0x2 + ldrsh r1, [r3, r2] + bl __divsi3 + strh r0, [r4, 0x32] + mov r3, r9 + lsls r0, r3, 16 + asrs r0, 16 + subs r0, r7 + lsls r0, 4 + ldr r2, _080B6174 @ =gBattleAnimArgs + movs r3, 0x2 + ldrsh r1, [r2, r3] + bl __divsi3 + strh r0, [r4, 0x34] + ldr r1, _080B6174 @ =gBattleAnimArgs + ldrh r0, [r1, 0x2] + strh r0, [r4, 0x36] + mov r2, r10 + strh r2, [r4, 0x38] + mov r3, r9 + strh r3, [r4, 0x3A] + ldr r0, _080B6184 @ =gSprites + 0x1C + adds r5, r0 + ldr r0, _080B6188 @ =sub_80B5FE0 + str r0, [r5] + ldr r2, [sp] + movs r3, 0x20 + ldrsh r1, [r2, r3] + adds r1, 0xD + lsls r1, 1 + adds r0, r2, 0 + adds r0, 0x8 + adds r0, r1 + mov r1, r8 + strh r1, [r0] + ldrh r0, [r2, 0x20] + adds r0, 0x1 + strh r0, [r2, 0x20] +_080B615E: + ldr r2, [sp, 0x10] + movs r3, 0x80 + lsls r3, 9 + adds r0, r2, r3 + lsrs r4, r0, 16 + asrs r0, 16 + cmp r0, 0x3 + ble _080B6092 + b _080B6210 + .align 2, 0 +_080B6170: .4byte gTasks +_080B6174: .4byte gBattleAnimArgs +_080B6178: .4byte gBattleAnimAttacker +_080B617C: .4byte gUnknown_83E7668 +_080B6180: .4byte gSprites +_080B6184: .4byte gSprites + 0x1C +_080B6188: .4byte sub_80B5FE0 +_080B618C: + ldr r0, _080B6228 @ =gUnknown_83E7668 + ldr r7, [sp, 0x4] + ldr r2, [sp, 0x8] + lsls r1, r2, 16 + asrs r1, 16 + str r1, [sp, 0xC] + adds r1, r7, 0 + ldr r2, [sp, 0xC] + movs r3, 0x37 + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + cmp r0, 0x40 + beq _080B6210 + movs r3, 0x30 + mov r10, r3 + movs r0, 0x28 + mov r9, r0 + ldr r6, _080B622C @ =gSprites + mov r1, r8 + lsls r5, r1, 4 + add r5, r8 + lsls r5, 2 + adds r4, r5, r6 + lsls r0, r7, 4 + strh r0, [r4, 0x2E] + ldr r2, [sp, 0xC] + lsls r0, r2, 4 + strh r0, [r4, 0x30] + subs r0, r3, r7 + lsls r0, 4 + ldr r3, _080B6230 @ =gBattleAnimArgs + movs r2, 0x2 + ldrsh r1, [r3, r2] + bl __divsi3 + strh r0, [r4, 0x32] + mov r3, r9 + ldr r1, [sp, 0xC] + subs r0, r3, r1 + lsls r0, 4 + ldr r2, _080B6230 @ =gBattleAnimArgs + movs r3, 0x2 + ldrsh r1, [r2, r3] + bl __divsi3 + strh r0, [r4, 0x34] + ldr r1, _080B6230 @ =gBattleAnimArgs + ldrh r0, [r1, 0x2] + strh r0, [r4, 0x36] + mov r2, r10 + strh r2, [r4, 0x38] + mov r3, r9 + strh r3, [r4, 0x3A] + adds r6, 0x1C + adds r5, r6 + ldr r0, _080B6234 @ =sub_80B5FE0 + str r0, [r5] + mov r1, r8 + ldr r0, [sp] + strh r1, [r0, 0x22] + movs r0, 0x1 + ldr r2, [sp] + strh r0, [r2, 0x20] +_080B6210: + ldr r0, _080B6238 @ =sub_80B623C + ldr r3, [sp] + str r0, [r3] + add sp, 0x14 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080B6228: .4byte gUnknown_83E7668 +_080B622C: .4byte gSprites +_080B6230: .4byte gBattleAnimArgs +_080B6234: .4byte sub_80B5FE0 +_080B6238: .4byte sub_80B623C + thumb_func_end sub_80B6020 + + thumb_func_start sub_80B623C +sub_80B623C: @ 80B623C + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + ldr r1, _080B6260 @ =gTasks + adds r4, r0, r1 + movs r0, 0x8 + ldrsh r1, [r4, r0] + cmp r1, 0x1 + beq _080B62F2 + cmp r1, 0x1 + bgt _080B6264 + cmp r1, 0 + beq _080B6272 + b _080B63AE + .align 2, 0 +_080B6260: .4byte gTasks +_080B6264: + cmp r1, 0x2 + bne _080B626A + b _080B6384 +_080B626A: + cmp r1, 0x3 + bne _080B6270 + b _080B6398 +_080B6270: + b _080B63AE +_080B6272: + movs r2, 0x14 + ldrsh r0, [r4, r2] + cmp r0, 0 + bne _080B62D8 + ldrh r0, [r4, 0x12] + adds r0, 0x1 + strh r0, [r4, 0x12] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + ble _080B62D8 + strh r1, [r4, 0x12] + ldrh r0, [r4, 0x16] + adds r0, 0x1 + strh r0, [r4, 0x16] + movs r1, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080B62A8 + ldrh r1, [r4, 0x18] + movs r2, 0x18 + ldrsh r0, [r4, r2] + cmp r0, 0xF + bgt _080B62B6 + adds r0, r1, 0x1 + strh r0, [r4, 0x18] + b _080B62B6 +_080B62A8: + ldrh r1, [r4, 0x1A] + movs r2, 0x1A + ldrsh r0, [r4, r2] + cmp r0, 0 + beq _080B62B6 + subs r0, r1, 0x1 + strh r0, [r4, 0x1A] +_080B62B6: + ldrh r1, [r4, 0x1A] + lsls r1, 8 + ldrh r0, [r4, 0x18] + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + movs r1, 0x16 + ldrsh r0, [r4, r1] + cmp r0, 0x17 + ble _080B62D8 + movs r0, 0 + strh r0, [r4, 0x16] + movs r0, 0x1 + strh r0, [r4, 0x14] +_080B62D8: + ldrh r1, [r4, 0x1C] + movs r2, 0x1C + ldrsh r0, [r4, r2] + cmp r0, 0 + beq _080B62E8 + subs r0, r1, 0x1 + strh r0, [r4, 0x1C] + b _080B63AE +_080B62E8: + movs r1, 0x14 + ldrsh r0, [r4, r1] + cmp r0, 0 + beq _080B63AE + b _080B6390 +_080B62F2: + ldrh r0, [r4, 0x12] + adds r0, 0x1 + strh r0, [r4, 0x12] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + ble _080B63AE + movs r0, 0 + strh r0, [r4, 0x12] + ldrh r0, [r4, 0x16] + adds r0, 0x1 + strh r0, [r4, 0x16] + ands r0, r1 + lsls r0, 16 + cmp r0, 0 + beq _080B6322 + ldrh r1, [r4, 0x18] + movs r2, 0x18 + ldrsh r0, [r4, r2] + cmp r0, 0 + beq _080B6330 + subs r0, r1, 0x1 + strh r0, [r4, 0x18] + b _080B6330 +_080B6322: + ldrh r1, [r4, 0x1A] + movs r2, 0x1A + ldrsh r0, [r4, r2] + cmp r0, 0xF + bgt _080B6330 + adds r0, r1, 0x1 + strh r0, [r4, 0x1A] +_080B6330: + ldrh r1, [r4, 0x1A] + lsls r1, 8 + ldrh r0, [r4, 0x18] + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + ldr r1, [r4, 0x18] + movs r0, 0x80 + lsls r0, 13 + cmp r1, r0 + bne _080B63AE + movs r5, 0 + b _080B6374 +_080B6350: + adds r1, r5, 0 + adds r1, 0xD + lsls r1, 1 + adds r0, r4, 0 + adds r0, 0x8 + adds r0, r1 + movs r2, 0 + ldrsh r1, [r0, r2] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r1, _080B6380 @ =gSprites + adds r0, r1 + bl DestroySprite + adds r0, r5, 0x1 + lsls r0, 16 + lsrs r5, r0, 16 +_080B6374: + movs r1, 0x20 + ldrsh r0, [r4, r1] + cmp r5, r0 + blt _080B6350 + b _080B6390 + .align 2, 0 +_080B6380: .4byte gSprites +_080B6384: + ldrh r0, [r4, 0x12] + adds r0, 0x1 + strh r0, [r4, 0x12] + lsls r0, 16 + cmp r0, 0 + ble _080B63AE +_080B6390: + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] + b _080B63AE +_080B6398: + movs r0, 0x50 + movs r1, 0 + bl SetGpuReg + movs r0, 0x52 + movs r1, 0 + bl SetGpuReg + adds r0, r5, 0 + bl DestroyAnimVisualTask +_080B63AE: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80B623C + + thumb_func_start sub_80B63B4 +sub_80B63B4: @ 80B63B4 + push {r4-r7,lr} + lsls r0, 24 + lsrs r7, r0, 24 + ldr r0, _080B6400 @ =gUnknown_2022984 + movs r1, 0 + strh r1, [r0] + ldr r0, _080B6404 @ =gUnknown_2022986 + strh r1, [r0] + ldr r1, _080B6408 @ =0x00003f3f + movs r0, 0x48 + bl SetGpuReg + ldr r1, _080B640C @ =0x00003f1f + movs r0, 0x4A + bl SetGpuReg + movs r0, 0x50 + movs r1, 0xC8 + bl SetGpuReg + movs r0, 0x54 + movs r1, 0x10 + bl SetGpuReg + ldr r0, _080B6410 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _080B63FC + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + beq _080B6414 +_080B63FC: + movs r6, 0x28 + b _080B6416 + .align 2, 0 +_080B6400: .4byte gUnknown_2022984 +_080B6404: .4byte gUnknown_2022986 +_080B6408: .4byte 0x00003f3f +_080B640C: .4byte 0x00003f1f +_080B6410: .4byte gBattleAnimAttacker +_080B6414: + movs r6, 0xC8 +_080B6416: + ldr r1, _080B6454 @ =gUnknown_2022984 + lsls r3, r6, 16 + asrs r2, r3, 16 + lsls r0, r2, 8 + orrs r0, r2 + strh r0, [r1] + ldr r1, _080B6458 @ =gUnknown_2022986 + movs r5, 0x28 + ldr r0, _080B645C @ =0x00002828 + strh r0, [r1] + lsrs r3, 16 + movs r1, 0xF0 + subs r1, r2 + movs r4, 0x48 + ldr r2, _080B6460 @ =gTasks + lsls r0, r7, 2 + adds r0, r7 + lsls r0, 3 + adds r0, r2 + strh r3, [r0, 0xA] + strh r1, [r0, 0xC] + strh r5, [r0, 0xE] + strh r4, [r0, 0x10] + strh r6, [r0, 0x12] + strh r5, [r0, 0x14] + ldr r1, _080B6464 @ =sub_80B6468 + str r1, [r0] + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080B6454: .4byte gUnknown_2022984 +_080B6458: .4byte gUnknown_2022986 +_080B645C: .4byte 0x00002828 +_080B6460: .4byte gTasks +_080B6464: .4byte sub_80B6468 + thumb_func_end sub_80B63B4 + + thumb_func_start sub_80B6468 +sub_80B6468: @ 80B6468 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x20 + lsls r0, 24 + lsrs r0, 24 + ldr r2, _080B6588 @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r4, r1, r2 + ldrh r1, [r4, 0x8] + adds r0, r1, 0x1 + strh r0, [r4, 0x8] + ldrh r5, [r4, 0xA] + ldrh r7, [r4, 0xC] + ldrh r0, [r4, 0xE] + mov r10, r0 + ldrh r2, [r4, 0x10] + str r2, [sp, 0xC] + ldrh r0, [r4, 0x12] + ldrh r2, [r4, 0x14] + mov r8, r2 + lsls r1, 16 + asrs r6, r1, 16 + cmp r6, 0xF + ble _080B64A4 + b _080B6594 +_080B64A4: + lsls r0, 16 + asrs r0, 16 + bl __floatsidf + str r0, [sp, 0x10] + str r1, [sp, 0x14] + lsls r0, r5, 16 + asrs r0, 16 + bl __floatsidf + ldr r2, _080B658C @ =0x3fb00000 + ldr r3, _080B6590 @ =0x00000000 + bl __muldf3 + adds r5, r1, 0 + adds r4, r0, 0 + adds r0, r6, 0 + bl __floatsidf + str r0, [sp, 0x18] + str r1, [sp, 0x1C] + adds r1, r5, 0 + adds r0, r4, 0 + ldr r2, [sp, 0x18] + ldr r3, [sp, 0x1C] + bl __muldf3 + adds r3, r1, 0 + adds r2, r0, 0 + ldr r0, [sp, 0x10] + ldr r1, [sp, 0x14] + bl __subdf3 + bl __fixunsdfsi + lsls r0, 16 + lsrs r0, 16 + mov r9, r0 + lsls r0, r7, 16 + asrs r0, 16 + bl __floatsidf + ldr r2, _080B658C @ =0x3fb00000 + ldr r3, _080B6590 @ =0x00000000 + bl __muldf3 + ldr r2, [sp, 0x18] + ldr r3, [sp, 0x1C] + bl __muldf3 + adds r3, r1, 0 + adds r2, r0, 0 + ldr r0, [sp, 0x10] + ldr r1, [sp, 0x14] + bl __adddf3 + bl __fixunsdfsi + lsls r0, 16 + lsrs r7, r0, 16 + mov r1, r8 + lsls r0, r1, 16 + asrs r0, 16 + bl __floatsidf + adds r5, r1, 0 + adds r4, r0, 0 + mov r2, r10 + lsls r0, r2, 16 + asrs r0, 16 + bl __floatsidf + ldr r2, _080B658C @ =0x3fb00000 + ldr r3, _080B6590 @ =0x00000000 + bl __muldf3 + ldr r2, [sp, 0x18] + ldr r3, [sp, 0x1C] + bl __muldf3 + adds r3, r1, 0 + adds r2, r0, 0 + adds r1, r5, 0 + adds r0, r4, 0 + bl __subdf3 + bl __fixunsdfsi + lsls r0, 16 + lsrs r6, r0, 16 + ldr r1, [sp, 0xC] + lsls r0, r1, 16 + asrs r0, 16 + bl __floatsidf + ldr r2, _080B658C @ =0x3fb00000 + ldr r3, _080B6590 @ =0x00000000 + bl __muldf3 + ldr r2, [sp, 0x18] + ldr r3, [sp, 0x1C] + bl __muldf3 + adds r3, r1, 0 + adds r2, r0, 0 + adds r1, r5, 0 + adds r0, r4, 0 + bl __adddf3 + bl __fixunsdfsi + lsls r0, 16 + lsrs r5, r0, 16 + b _080B65C2 + .align 2, 0 +_080B6588: .4byte gTasks +_080B658C: .4byte 0x3fb00000 +_080B6590: .4byte 0x00000000 +_080B6594: + movs r2, 0 + mov r9, r2 + movs r7, 0xF0 + movs r6, 0 + movs r5, 0x70 + str r6, [sp] + str r6, [sp, 0x4] + str r6, [sp, 0x8] + movs r0, 0x1 + movs r1, 0 + movs r3, 0 + bl sub_8075BE8 + lsls r0, 16 + lsrs r0, 16 + str r6, [sp] + movs r1, 0 + movs r2, 0x10 + movs r3, 0x10 + bl BeginNormalPaletteFade + ldr r0, _080B65E4 @ =sub_80B65F0 + str r0, [r4] +_080B65C2: + ldr r1, _080B65E8 @ =gUnknown_2022984 + mov r2, r9 + lsls r0, r2, 8 + orrs r7, r0 + strh r7, [r1] + ldr r1, _080B65EC @ =gUnknown_2022986 + lsls r0, r6, 8 + orrs r5, r0 + strh r5, [r1] + add sp, 0x20 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080B65E4: .4byte sub_80B65F0 +_080B65E8: .4byte gUnknown_2022984 +_080B65EC: .4byte gUnknown_2022986 + thumb_func_end sub_80B6468 + + thumb_func_start sub_80B65F0 +sub_80B65F0: @ 80B65F0 + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + ldr r0, _080B663C @ =gPaletteFade + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + lsls r0, 24 + lsrs r1, r0, 24 + cmp r1, 0 + bne _080B6636 + ldr r0, _080B6640 @ =gUnknown_2022984 + strh r1, [r0] + ldr r0, _080B6644 @ =gUnknown_2022986 + strh r1, [r0] + ldr r4, _080B6648 @ =0x00003f3f + movs r0, 0x48 + adds r1, r4, 0 + bl SetGpuReg + movs r0, 0x4A + adds r1, r4, 0 + bl SetGpuReg + movs r0, 0x50 + movs r1, 0 + bl SetGpuReg + movs r0, 0x54 + movs r1, 0 + bl SetGpuReg + adds r0, r5, 0 + bl DestroyAnimVisualTask +_080B6636: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080B663C: .4byte gPaletteFade +_080B6640: .4byte gUnknown_2022984 +_080B6644: .4byte gUnknown_2022986 +_080B6648: .4byte 0x00003f3f + thumb_func_end sub_80B65F0 + + thumb_func_start sub_80B664C +sub_80B664C: @ 80B664C + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x1 + bl sub_8075160 + ldr r0, _080B6678 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _080B6680 + movs r2, 0x18 + ldr r3, _080B667C @ =0x0000fffe + ldrb r0, [r4, 0x3] + movs r1, 0x3F + negs r1, r1 + ands r1, r0 + movs r0, 0x10 + orrs r1, r0 + strb r1, [r4, 0x3] + b _080B6684 + .align 2, 0 +_080B6678: .4byte gBattleAnimAttacker +_080B667C: .4byte 0x0000fffe +_080B6680: + ldr r2, _080B66A0 @ =0x0000ffe8 + movs r3, 0x2 +_080B6684: + lsls r0, r2, 16 + asrs r0, 16 + ldrh r1, [r4, 0x20] + adds r0, r1 + strh r0, [r4, 0x20] + strh r3, [r4, 0x30] + movs r0, 0x3C + strh r0, [r4, 0x2E] + ldr r0, _080B66A4 @ =sub_80B66A8 + str r0, [r4, 0x1C] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080B66A0: .4byte 0x0000ffe8 +_080B66A4: .4byte sub_80B66A8 + thumb_func_end sub_80B664C + + thumb_func_start sub_80B66A8 +sub_80B66A8: @ 80B66A8 + push {r4,lr} + adds r3, r0, 0 + ldrh r1, [r3, 0x2E] + movs r2, 0x2E + ldrsh r0, [r3, r2] + cmp r0, 0 + ble _080B66BA + subs r0, r1, 0x1 + b _080B671E +_080B66BA: + ldrh r0, [r3, 0x30] + ldrh r4, [r3, 0x24] + adds r1, r0, r4 + strh r1, [r3, 0x24] + adds r0, r1, 0x7 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0xE + bls _080B6720 + ldrh r0, [r3, 0x20] + adds r0, r1 + strh r0, [r3, 0x20] + movs r0, 0 + strh r0, [r3, 0x24] + ldrh r2, [r3, 0x4] + lsls r1, r2, 22 + lsrs r1, 22 + adds r1, 0x8 + ldr r4, _080B670C @ =0x000003ff + adds r0, r4, 0 + ands r1, r0 + ldr r0, _080B6710 @ =0xfffffc00 + ands r0, r2 + orrs r0, r1 + strh r0, [r3, 0x4] + ldrh r0, [r3, 0x32] + adds r0, 0x1 + strh r0, [r3, 0x32] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x3 + bne _080B671C + movs r0, 0x1E + strh r0, [r3, 0x2E] + ldr r0, _080B6714 @ =sub_8074C44 + str r0, [r3, 0x1C] + ldr r1, _080B6718 @ =sub_80B6728 + adds r0, r3, 0 + bl StoreSpriteCallbackInData6 + b _080B6720 + .align 2, 0 +_080B670C: .4byte 0x000003ff +_080B6710: .4byte 0xfffffc00 +_080B6714: .4byte sub_8074C44 +_080B6718: .4byte sub_80B6728 +_080B671C: + movs r0, 0x28 +_080B671E: + strh r0, [r3, 0x2E] +_080B6720: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80B66A8 + + thumb_func_start sub_80B6728 +sub_80B6728: @ 80B6728 + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0x2E + ldrsh r5, [r4, r0] + cmp r5, 0 + bne _080B6752 + movs r1, 0xFD + lsls r1, 6 + movs r0, 0x50 + bl SetGpuReg + movs r0, 0x52 + movs r1, 0x10 + bl SetGpuReg + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + strh r5, [r4, 0x30] + strh r5, [r4, 0x32] + b _080B6796 +_080B6752: + ldrh r1, [r4, 0x30] + movs r2, 0x30 + ldrsh r0, [r4, r2] + cmp r0, 0x1 + bgt _080B6762 + adds r0, r1, 0x1 + strh r0, [r4, 0x30] + b _080B6796 +_080B6762: + movs r0, 0 + strh r0, [r4, 0x30] + ldrh r0, [r4, 0x32] + adds r0, 0x1 + strh r0, [r4, 0x32] + movs r1, 0x10 + subs r1, r0 + lsls r0, 8 + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + movs r1, 0x32 + ldrsh r0, [r4, r1] + cmp r0, 0x10 + bne _080B6796 + adds r2, r4, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] + ldr r0, _080B679C @ =sub_80B67A0 + str r0, [r4, 0x1C] +_080B6796: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080B679C: .4byte sub_80B67A0 + thumb_func_end sub_80B6728 + + thumb_func_start sub_80B67A0 +sub_80B67A0: @ 80B67A0 + push {r4,lr} + adds r4, r0, 0 + movs r0, 0x50 + movs r1, 0 + bl SetGpuReg + movs r0, 0x52 + movs r1, 0 + bl SetGpuReg + ldr r0, _080B67CC @ =gUnknown_2022984 + movs r1, 0 + strh r1, [r0] + ldr r0, _080B67D0 @ =gUnknown_2022986 + strh r1, [r0] + adds r0, r4, 0 + bl DestroyAnimSprite + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080B67CC: .4byte gUnknown_2022984 +_080B67D0: .4byte gUnknown_2022986 + thumb_func_end sub_80B67A0 + + thumb_func_start sub_80B67D4 +sub_80B67D4: @ 80B67D4 + push {r4-r7,lr} + adds r5, r0, 0 + movs r1, 0x2E + ldrsh r0, [r5, r1] + movs r1, 0xC + bl Sin + strh r0, [r5, 0x24] + ldr r0, _080B683C @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080B67F8 + ldrh r0, [r5, 0x24] + negs r0, r0 + strh r0, [r5, 0x24] +_080B67F8: + ldrh r0, [r5, 0x2E] + adds r0, 0x6 + movs r1, 0xFF + ands r0, r1 + strh r0, [r5, 0x2E] + movs r1, 0x80 + lsls r1, 1 + adds r0, r1, 0 + ldrh r1, [r5, 0x30] + adds r0, r1 + strh r0, [r5, 0x30] + lsls r0, 16 + asrs r0, 24 + negs r0, r0 + strh r0, [r5, 0x26] + ldrh r0, [r5, 0x3C] + adds r0, 0x1 + strh r0, [r5, 0x3C] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + bne _080B6844 + ldr r0, _080B6840 @ =0x0000050b + strh r0, [r5, 0x3A] + movs r1, 0xFD + lsls r1, 6 + movs r0, 0x50 + bl SetGpuReg + ldrh r1, [r5, 0x3A] + movs r0, 0x52 + bl SetGpuReg + b _080B689C + .align 2, 0 +_080B683C: .4byte gBattleAnimAttacker +_080B6840: .4byte 0x0000050b +_080B6844: + cmp r0, 0x1E + ble _080B689C + ldrh r0, [r5, 0x32] + adds r0, 0x1 + strh r0, [r5, 0x32] + ldrh r1, [r5, 0x3A] + lsls r0, r1, 16 + asrs r0, 24 + lsls r0, 16 + movs r6, 0xFF + ands r6, r1 + movs r1, 0x80 + lsls r1, 9 + adds r0, r1 + lsrs r7, r0, 16 + cmp r7, 0x10 + bls _080B6868 + movs r7, 0x10 +_080B6868: + subs r0, r6, 0x1 + lsls r0, 16 + lsrs r6, r0, 16 + cmp r0, 0 + bge _080B6874 + movs r6, 0 +_080B6874: + lsls r4, r7, 8 + orrs r4, r6 + lsls r1, r4, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + strh r4, [r5, 0x3A] + cmp r7, 0x10 + bne _080B689C + cmp r6, 0 + bne _080B689C + adds r2, r5, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] + ldr r0, _080B68A4 @ =sub_80B68A8 + str r0, [r5, 0x1C] +_080B689C: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080B68A4: .4byte sub_80B68A8 + thumb_func_end sub_80B67D4 + + thumb_func_start sub_80B68A8 +sub_80B68A8: @ 80B68A8 + push {r4,lr} + adds r4, r0, 0 + movs r0, 0x50 + movs r1, 0 + bl SetGpuReg + movs r0, 0x52 + movs r1, 0 + bl SetGpuReg + adds r0, r4, 0 + bl DestroyAnimSprite + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80B68A8 + + thumb_func_start sub_80B68C8 +sub_80B68C8: @ 80B68C8 + push {r4-r6,lr} + mov r6, r8 + push {r6} + lsls r0, 24 + lsrs r0, 24 + lsls r4, r0, 2 + adds r4, r0 + lsls r4, 3 + ldr r0, _080B6960 @ =gTasks + adds r4, r0 + movs r6, 0 + strh r6, [r4, 0x8] + movs r0, 0x10 + mov r8, r0 + mov r0, r8 + strh r0, [r4, 0xA] + ldr r5, _080B6964 @ =gBattleAnimAttacker + ldrb r0, [r5] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x1A] + ldrb r0, [r5] + bl sub_807492C + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x1C] + ldrb r0, [r5] + movs r1, 0x1 + bl sub_8076B2C + lsls r0, 16 + asrs r1, r0, 16 + lsrs r0, 31 + adds r1, r0 + asrs r1, 1 + adds r1, 0x8 + strh r1, [r4, 0x1E] + strh r6, [r4, 0x16] + ldrb r0, [r5] + bl sub_8076884 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x12] + ldrb r0, [r5] + bl sub_807685C + lsls r0, 24 + lsrs r0, 24 + subs r0, 0x2 + strh r0, [r4, 0x14] + strh r6, [r4, 0xE] + mov r0, r8 + strh r0, [r4, 0x10] + movs r1, 0xFD + lsls r1, 6 + movs r0, 0x50 + bl SetGpuReg + movs r1, 0x80 + lsls r1, 5 + movs r0, 0x52 + bl SetGpuReg + strh r6, [r4, 0x18] + ldr r0, _080B6968 @ =sub_80B696C + str r0, [r4] + pop {r3} + mov r8, r3 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080B6960: .4byte gTasks +_080B6964: .4byte gBattleAnimAttacker +_080B6968: .4byte sub_80B696C + thumb_func_end sub_80B68C8 + + thumb_func_start sub_80B696C +sub_80B696C: @ 80B696C + push {r4-r7,lr} + lsls r0, 24 + lsrs r7, r0, 24 + lsls r0, r7, 2 + adds r0, r7 + lsls r0, 3 + ldr r1, _080B6990 @ =gTasks + adds r4, r0, r1 + movs r1, 0x8 + ldrsh r0, [r4, r1] + cmp r0, 0x5 + bls _080B6986 + b _080B6AF2 +_080B6986: + lsls r0, 2 + ldr r1, _080B6994 @ =_080B6998 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080B6990: .4byte gTasks +_080B6994: .4byte _080B6998 + .align 2, 0 +_080B6998: + .4byte _080B69B0 + .4byte _080B6A20 + .4byte _080B6A62 + .4byte _080B6A76 + .4byte _080B6ACC + .4byte _080B6ADC +_080B69B0: + movs r6, 0 +_080B69B2: + movs r2, 0x1A + ldrsh r1, [r4, r2] + movs r0, 0x1C + ldrsh r2, [r4, r0] + ldrb r3, [r4, 0x14] + ldr r0, _080B6A14 @ =gUnknown_83E76E0 + bl CreateSprite + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0x40 + beq _080B6A06 + ldr r1, _080B6A18 @ =gSprites + lsls r0, r2, 4 + adds r0, r2 + lsls r0, 2 + adds r5, r0, r1 + strh r7, [r5, 0x2E] + ldr r0, _080B6A1C @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + movs r1, 0 + lsls r0, 24 + cmp r0, 0 + bne _080B69E8 + movs r1, 0x1 +_080B69E8: + strh r1, [r5, 0x30] + movs r0, 0x2A + muls r0, r6 + movs r1, 0xFF + ands r0, r1 + strh r0, [r5, 0x32] + ldrh r0, [r4, 0x1E] + strh r0, [r5, 0x34] + lsls r0, r6, 1 + adds r0, r6 + lsls r0, 1 + strh r0, [r5, 0x38] + ldrh r0, [r4, 0x16] + adds r0, 0x1 + strh r0, [r4, 0x16] +_080B6A06: + adds r0, r6, 0x1 + lsls r0, 16 + lsrs r6, r0, 16 + cmp r6, 0x5 + bls _080B69B2 + b _080B6AD4 + .align 2, 0 +_080B6A14: .4byte gUnknown_83E76E0 +_080B6A18: .4byte gSprites +_080B6A1C: .4byte gBattleAnimAttacker +_080B6A20: + ldrh r0, [r4, 0xA] + adds r0, 0x1 + strh r0, [r4, 0xA] + movs r1, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080B6A3E + ldrh r1, [r4, 0xE] + movs r2, 0xE + ldrsh r0, [r4, r2] + cmp r0, 0xD + bgt _080B6A4C + adds r0, r1, 0x1 + strh r0, [r4, 0xE] + b _080B6A4C +_080B6A3E: + ldrh r1, [r4, 0x10] + movs r2, 0x10 + ldrsh r0, [r4, r2] + cmp r0, 0x4 + ble _080B6A4C + subs r0, r1, 0x1 + strh r0, [r4, 0x10] +_080B6A4C: + movs r1, 0xE + ldrsh r0, [r4, r1] + ldrh r2, [r4, 0xE] + ldrh r1, [r4, 0x10] + cmp r0, 0xE + bne _080B6ABC + cmp r1, 0x4 + bne _080B6ABC + movs r0, 0 + strh r0, [r4, 0xA] + b _080B6AB6 +_080B6A62: + ldrh r0, [r4, 0xA] + adds r0, 0x1 + strh r0, [r4, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1E + ble _080B6AF2 + movs r0, 0 + strh r0, [r4, 0xA] + b _080B6AD4 +_080B6A76: + ldrh r0, [r4, 0xA] + adds r0, 0x1 + strh r0, [r4, 0xA] + movs r1, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080B6A94 + ldrh r1, [r4, 0xE] + movs r2, 0xE + ldrsh r0, [r4, r2] + cmp r0, 0 + ble _080B6AA2 + subs r0, r1, 0x1 + strh r0, [r4, 0xE] + b _080B6AA2 +_080B6A94: + ldrh r1, [r4, 0x10] + movs r2, 0x10 + ldrsh r0, [r4, r2] + cmp r0, 0xF + bgt _080B6AA2 + adds r0, r1, 0x1 + strh r0, [r4, 0x10] +_080B6AA2: + movs r1, 0xE + ldrsh r0, [r4, r1] + ldrh r2, [r4, 0xE] + ldrh r1, [r4, 0x10] + cmp r0, 0 + bne _080B6ABC + cmp r1, 0x10 + bne _080B6ABC + movs r0, 0x1 + strh r0, [r4, 0x18] +_080B6AB6: + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] +_080B6ABC: + lsls r1, 8 + orrs r1, r2 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + b _080B6AF2 +_080B6ACC: + movs r2, 0x16 + ldrsh r0, [r4, r2] + cmp r0, 0 + bne _080B6AF2 +_080B6AD4: + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] + b _080B6AF2 +_080B6ADC: + movs r0, 0x50 + movs r1, 0 + bl SetGpuReg + movs r0, 0x52 + movs r1, 0 + bl SetGpuReg + adds r0, r7, 0 + bl DestroyAnimVisualTask +_080B6AF2: + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80B696C + + thumb_func_start sub_80B6AF8 +sub_80B6AF8: @ 80B6AF8 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x30 + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080B6B0A + ldrh r0, [r4, 0x32] + adds r0, 0x2 + b _080B6B0E +_080B6B0A: + ldrh r0, [r4, 0x32] + subs r0, 0x2 +_080B6B0E: + strh r0, [r4, 0x32] + ldrh r1, [r4, 0x32] + movs r0, 0xFF + ands r0, r1 + strh r0, [r4, 0x32] + movs r2, 0x32 + ldrsh r0, [r4, r2] + movs r2, 0x34 + ldrsh r1, [r4, r2] + bl Sin + strh r0, [r4, 0x24] + ldrh r0, [r4, 0x32] + subs r0, 0x41 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x7E + bhi _080B6B50 + ldr r2, _080B6B4C @ =gTasks + movs r0, 0x2E + ldrsh r1, [r4, r0] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r2 + ldrh r1, [r0, 0x12] + adds r1, 0x1 + movs r0, 0x3 + ands r1, r0 + b _080B6B64 + .align 2, 0 +_080B6B4C: .4byte gTasks +_080B6B50: + ldr r2, _080B6BB8 @ =gTasks + movs r0, 0x2E + ldrsh r1, [r4, r0] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r2 + movs r2, 0x3 + ldrb r1, [r0, 0x12] + ands r1, r2 +_080B6B64: + lsls r1, 2 + ldrb r2, [r4, 0x5] + movs r0, 0xD + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r4, 0x5] + ldrh r0, [r4, 0x38] + adds r0, 0x1 + strh r0, [r4, 0x38] + movs r1, 0x38 + ldrsh r0, [r4, r1] + lsls r0, 3 + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0x3A] + movs r2, 0x3A + ldrsh r0, [r4, r2] + movs r1, 0x7 + bl Sin + strh r0, [r4, 0x26] + ldr r2, _080B6BB8 @ =gTasks + movs r0, 0x2E + ldrsh r1, [r4, r0] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r1, r0, r2 + movs r2, 0x18 + ldrsh r0, [r1, r2] + cmp r0, 0 + beq _080B6BB2 + ldrh r0, [r1, 0x16] + subs r0, 0x1 + strh r0, [r1, 0x16] + adds r0, r4, 0 + bl DestroySprite +_080B6BB2: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080B6BB8: .4byte gTasks + thumb_func_end sub_80B6AF8 + + thumb_func_start sub_80B6BBC +sub_80B6BBC: @ 80B6BBC + push {lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r2, _080B6BDC @ =gTasks + adds r1, r2 + movs r2, 0 + strh r2, [r1, 0x26] + ldr r2, _080B6BE0 @ =sub_80B6BE4 + str r2, [r1] + bl _call_via_r2 + pop {r0} + bx r0 + .align 2, 0 +_080B6BDC: .4byte gTasks +_080B6BE0: .4byte sub_80B6BE4 + thumb_func_end sub_80B6BBC + + thumb_func_start sub_80B6BE4 +sub_80B6BE4: @ 80B6BE4 + push {r4-r6,lr} + sub sp, 0x1C + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, _080B6C18 @ =gTasks + adds r6, r1, r0 + ldr r0, _080B6C1C @ =gBattleAnimAttacker + ldrb r0, [r0] + bl sub_80768B0 + lsls r0, 24 + lsrs r4, r0, 24 + movs r1, 0x26 + ldrsh r0, [r6, r1] + cmp r0, 0x7 + bls _080B6C0C + b _080B6F1E +_080B6C0C: + lsls r0, 2 + ldr r1, _080B6C20 @ =_080B6C24 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080B6C18: .4byte gTasks +_080B6C1C: .4byte gBattleAnimAttacker +_080B6C20: .4byte _080B6C24 + .align 2, 0 +_080B6C24: + .4byte _080B6C44 + .4byte _080B6CCC + .4byte _080B6D28 + .4byte _080B6D8C + .4byte _080B6E04 + .4byte _080B6E6C + .4byte _080B6E82 + .4byte _080B6EEC +_080B6C44: + movs r0, 0x1 + movs r1, 0x4 + movs r2, 0x2 + bl SetAnimBgAttribute + movs r0, 0x2 + movs r1, 0x4 + movs r2, 0x1 + bl SetAnimBgAttribute + movs r0, 0 + strh r0, [r6, 0xA] + strh r0, [r6, 0xC] + movs r0, 0x10 + strh r0, [r6, 0xE] + movs r0, 0 + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r0, 24 + strh r0, [r6, 0x10] + ldr r3, _080B6CC8 @ =gSprites + movs r2, 0x10 + ldrsh r1, [r6, r2] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r3 + ldrb r0, [r0, 0x5] + lsls r0, 28 + lsrs r0, 30 + strh r0, [r6, 0x12] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r3 + ldrb r0, [r0, 0x5] + lsrs r0, 4 + adds r0, 0x10 + lsls r0, 4 + strh r0, [r6, 0x14] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r3 + ldrb r2, [r0, 0x1] + movs r1, 0xD + negs r1, r1 + ands r1, r2 + movs r2, 0x4 + orrs r1, r2 + strb r1, [r0, 0x1] + movs r0, 0x10 + ldrsh r1, [r6, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r3 + ldrb r1, [r0, 0x5] + movs r2, 0xC + orrs r1, r2 + strb r1, [r0, 0x5] + movs r0, 0x80 + strh r0, [r6, 0x16] + b _080B6F1E + .align 2, 0 +_080B6CC8: .4byte gSprites +_080B6CCC: + ldrh r0, [r6, 0xA] + adds r0, 0x1 + strh r0, [r6, 0xA] + movs r5, 0x1 + ands r5, r0 + cmp r5, 0 + beq _080B6CDC + b _080B6F24 +_080B6CDC: + ldrh r0, [r6, 0x14] + ldrb r2, [r6, 0xC] + ldr r4, _080B6D08 @ =0x000066e0 + movs r1, 0x10 + adds r3, r4, 0 + bl BlendPalette + ldrh r0, [r6, 0x16] + ldrb r2, [r6, 0xC] + movs r1, 0x10 + adds r3, r4, 0 + bl BlendPalette + ldrh r1, [r6, 0xC] + movs r2, 0xC + ldrsh r0, [r6, r2] + cmp r0, 0xB + bgt _080B6D0C + adds r0, r1, 0x1 + strh r0, [r6, 0xC] + b _080B6F24 + .align 2, 0 +_080B6D08: .4byte 0x000066e0 +_080B6D0C: + strh r5, [r6, 0xA] + strh r5, [r6, 0xC] + ldr r1, _080B6D24 @ =0x00003f44 + movs r0, 0x50 + bl SetGpuReg + movs r1, 0x80 + lsls r1, 5 + movs r0, 0x52 + bl SetGpuReg + b _080B6F1E + .align 2, 0 +_080B6D24: .4byte 0x00003f44 +_080B6D28: + movs r0, 0x2 + movs r1, 0x3 + movs r2, 0x1 + bl SetAnimBgAttribute + movs r0, 0x2 + movs r1, 0 + movs r2, 0 + bl SetAnimBgAttribute + ldr r0, _080B6D7C @ =gBattle_BG2_X + movs r1, 0 + strh r1, [r0] + ldr r4, _080B6D80 @ =gBattle_BG2_Y + strh r1, [r4] + movs r0, 0x18 + movs r1, 0 + bl SetGpuReg + ldrh r1, [r4] + movs r0, 0x1A + bl SetGpuReg + add r0, sp, 0xC + movs r1, 0x2 + bl sub_80752C8 + add r0, sp, 0xC + ldrb r0, [r0, 0x9] + ldr r1, _080B6D84 @ =gFile_graphics_battle_anims_backgrounds_scary_face_sheet + add r2, sp, 0xC + ldrh r2, [r2, 0xA] + bl sub_80753B4 + ldr r0, _080B6D88 @ =gFile_graphics_battle_anims_backgrounds_scary_face_palette + add r1, sp, 0xC + ldrb r1, [r1, 0x8] + lsls r1, 4 + movs r2, 0x20 + bl LoadCompressedPalette + b _080B6F1E + .align 2, 0 +_080B6D7C: .4byte gBattle_BG2_X +_080B6D80: .4byte gBattle_BG2_Y +_080B6D84: .4byte gFile_graphics_battle_anims_backgrounds_scary_face_sheet +_080B6D88: .4byte gFile_graphics_battle_anims_backgrounds_scary_face_palette +_080B6D8C: + add r0, sp, 0xC + movs r1, 0x2 + bl sub_80752C8 + movs r0, 0x80 + lsls r0, 6 + bl AllocZeroed + adds r1, r0, 0 + ldr r5, _080B6DFC @ =gMonSpritesGfxPtr + ldr r0, [r5] + movs r4, 0xBE + lsls r4, 1 + adds r0, r4 + str r1, [r0] + ldr r0, _080B6E00 @ =gFile_graphics_battle_anims_backgrounds_scary_face_player_tilemap + bl LZDecompressWram + add r0, sp, 0xC + ldrb r0, [r0, 0x8] + ldr r1, [r5] + adds r1, r4 + ldr r1, [r1] + movs r2, 0x80 + lsls r2, 1 + movs r3, 0 + bl sub_80730C0 + add r0, sp, 0xC + ldrb r0, [r0, 0x9] + ldr r1, [r5] + adds r1, r4 + ldr r1, [r1] + movs r2, 0x20 + str r2, [sp] + str r2, [sp, 0x4] + movs r2, 0x11 + str r2, [sp, 0x8] + movs r2, 0 + movs r3, 0 + bl CopyToBgTilemapBufferRect_ChangePalette + movs r0, 0x2 + bl CopyBgTilemapBufferToVram + ldr r0, [r5] + adds r0, r4 + ldr r0, [r0] + bl Free + ldr r0, [r5] + adds r0, r4 + movs r1, 0 + str r1, [r0] + b _080B6F1E + .align 2, 0 +_080B6DFC: .4byte gMonSpritesGfxPtr +_080B6E00: .4byte gFile_graphics_battle_anims_backgrounds_scary_face_player_tilemap +_080B6E04: + ldrh r0, [r6, 0xA] + adds r0, 0x1 + strh r0, [r6, 0xA] + movs r1, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080B6E14 + b _080B6F24 +_080B6E14: + ldrh r1, [r6, 0xC] + adds r1, 0x1 + strh r1, [r6, 0xC] + ldrh r0, [r6, 0xE] + subs r0, 0x1 + strh r0, [r6, 0xE] + lsls r0, 8 + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + movs r1, 0xE + ldrsh r0, [r6, r1] + cmp r0, 0 + bne _080B6F24 + strh r0, [r6, 0xA] + strh r0, [r6, 0xC] + movs r0, 0x10 + strh r0, [r6, 0xE] + ldr r1, _080B6E68 @ =0x00003f42 + movs r0, 0x50 + bl SetGpuReg + movs r1, 0x80 + lsls r1, 5 + movs r0, 0x52 + bl SetGpuReg + movs r0, 0x1 + movs r1, 0x4 + movs r2, 0x1 + bl SetAnimBgAttribute + movs r0, 0x2 + movs r1, 0x4 + movs r2, 0x2 + bl SetAnimBgAttribute + b _080B6F1E + .align 2, 0 +_080B6E68: .4byte 0x00003f42 +_080B6E6C: + cmp r4, 0x1 + bne _080B6E76 + movs r1, 0x80 + lsls r1, 2 + b _080B6E7A +_080B6E76: + movs r1, 0x80 + lsls r1, 3 +_080B6E7A: + movs r0, 0 + bl ClearGpuRegBits + b _080B6F1E +_080B6E82: + ldr r2, _080B6EC0 @ =gSprites + movs r0, 0x10 + ldrsh r1, [r6, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r1, [r0, 0x26] + ldrh r0, [r0, 0x22] + adds r1, r0 + subs r1, 0x20 + lsls r1, 16 + lsrs r2, r1, 16 + cmp r1, 0 + bge _080B6EA2 + movs r2, 0 +_080B6EA2: + cmp r4, 0x1 + bne _080B6EC4 + lsls r0, r2, 24 + lsrs r0, 24 + adds r1, r2, 0 + adds r1, 0x40 + lsls r1, 24 + lsrs r1, 24 + movs r2, 0 + str r2, [sp] + movs r2, 0x4 + str r2, [sp, 0x4] + str r4, [sp, 0x8] + b _080B6EDE + .align 2, 0 +_080B6EC0: .4byte gSprites +_080B6EC4: + lsls r0, r2, 24 + lsrs r0, 24 + adds r1, r2, 0 + adds r1, 0x40 + lsls r1, 24 + lsrs r1, 24 + movs r2, 0 + str r2, [sp] + movs r2, 0x8 + str r2, [sp, 0x4] + movs r2, 0x1 + str r2, [sp, 0x8] + movs r2, 0x4 +_080B6EDE: + movs r3, 0x8 + bl ScanlineEffect_InitWave + lsls r0, 24 + lsrs r0, 24 + strh r0, [r6, 0x1C] + b _080B6F1E +_080B6EEC: + ldrh r0, [r6, 0x16] + ldr r3, _080B6F08 @ =0x000077ff + movs r1, 0x10 + movs r2, 0xC + bl BlendPalette + cmp r4, 0x1 + bne _080B6F0C + movs r1, 0x80 + lsls r1, 2 + movs r0, 0 + bl SetGpuRegBits + b _080B6F16 + .align 2, 0 +_080B6F08: .4byte 0x000077ff +_080B6F0C: + movs r1, 0x80 + lsls r1, 3 + movs r0, 0 + bl SetGpuRegBits +_080B6F16: + ldr r0, _080B6F2C @ =sub_80B6F30 + str r0, [r6] + movs r0, 0 + strh r0, [r6, 0x26] +_080B6F1E: + ldrh r0, [r6, 0x26] + adds r0, 0x1 + strh r0, [r6, 0x26] +_080B6F24: + add sp, 0x1C + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080B6F2C: .4byte sub_80B6F30 + thumb_func_end sub_80B6BE4 + + thumb_func_start sub_80B6F30 +sub_80B6F30: @ 80B6F30 + push {r4,r5,lr} + lsls r0, 24 + lsrs r0, 24 + adds r5, r0, 0 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + ldr r1, _080B6FB8 @ =gTasks + adds r4, r0, r1 + ldrh r1, [r4, 0xA] + adds r1, 0x1 + strh r1, [r4, 0xA] + movs r0, 0x1 + ands r0, r1 + strh r0, [r4, 0x18] + cmp r0, 0 + bne _080B6F68 + ldr r1, _080B6FBC @ =gSineTable + movs r2, 0xA + ldrsh r0, [r4, r2] + lsls r0, 1 + adds r0, r1 + movs r1, 0 + ldrsh r0, [r0, r1] + movs r1, 0x12 + bl __divsi3 + strh r0, [r4, 0xC] +_080B6F68: + movs r2, 0x18 + ldrsh r0, [r4, r2] + cmp r0, 0x1 + bne _080B6F8A + ldr r1, _080B6FBC @ =gSineTable + movs r2, 0xA + ldrsh r0, [r4, r2] + lsls r0, 1 + adds r0, r1 + movs r1, 0 + ldrsh r0, [r0, r1] + movs r1, 0x12 + bl __divsi3 + movs r1, 0x10 + subs r1, r0 + strh r1, [r4, 0xE] +_080B6F8A: + ldrh r1, [r4, 0xE] + lsls r1, 8 + ldrh r0, [r4, 0xC] + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + movs r2, 0xA + ldrsh r0, [r4, r2] + cmp r0, 0x80 + bne _080B6FB2 + movs r0, 0 + strh r0, [r4, 0x26] + ldr r1, _080B6FC0 @ =sub_80B6FC4 + str r1, [r4] + adds r0, r5, 0 + bl _call_via_r1 +_080B6FB2: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080B6FB8: .4byte gTasks +_080B6FBC: .4byte gSineTable +_080B6FC0: .4byte sub_80B6FC4 + thumb_func_end sub_80B6F30 + + thumb_func_start sub_80B6FC4 +sub_80B6FC4: @ 80B6FC4 + push {r4-r7,lr} + lsls r0, 24 + lsrs r7, r0, 24 + lsls r0, r7, 2 + adds r0, r7 + lsls r0, 3 + ldr r1, _080B6FE8 @ =gTasks + adds r6, r0, r1 + movs r1, 0x26 + ldrsh r0, [r6, r1] + cmp r0, 0x5 + bls _080B6FDE + b _080B7148 +_080B6FDE: + lsls r0, 2 + ldr r1, _080B6FEC @ =_080B6FF0 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080B6FE8: .4byte gTasks +_080B6FEC: .4byte _080B6FF0 + .align 2, 0 +_080B6FF0: + .4byte _080B7008 + .4byte _080B7024 + .4byte _080B7044 + .4byte _080B707C + .4byte _080B709C + .4byte _080B70E8 +_080B7008: + ldr r1, _080B701C @ =gScanlineEffect + movs r0, 0x3 + strb r0, [r1, 0x15] + ldrh r0, [r6, 0x16] + ldr r3, _080B7020 @ =0x000066e0 + movs r1, 0x10 + movs r2, 0xC + bl BlendPalette + b _080B7148 + .align 2, 0 +_080B701C: .4byte gScanlineEffect +_080B7020: .4byte 0x000066e0 +_080B7024: + ldr r1, _080B7040 @ =0x00003f44 + movs r0, 0x50 + bl SetGpuReg + movs r0, 0x52 + movs r1, 0x10 + bl SetGpuReg + movs r1, 0 + movs r0, 0x10 + strh r0, [r6, 0xC] + strh r1, [r6, 0xE] + b _080B7148 + .align 2, 0 +_080B7040: .4byte 0x00003f44 +_080B7044: + ldrh r1, [r6, 0xC] + subs r1, 0x1 + strh r1, [r6, 0xC] + ldrh r0, [r6, 0xE] + adds r0, 0x1 + strh r0, [r6, 0xE] + lsls r0, 8 + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + movs r2, 0xE + ldrsh r0, [r6, r2] + cmp r0, 0xF + ble _080B714E + movs r0, 0x1 + movs r1, 0x4 + movs r2, 0x2 + bl SetAnimBgAttribute + movs r0, 0x2 + movs r1, 0x4 + movs r2, 0x2 + bl SetAnimBgAttribute + b _080B7148 +_080B707C: + movs r0, 0x2 + bl sub_8075358 + movs r0, 0 + movs r1, 0x90 + movs r2, 0x20 + bl FillPalette + movs r0, 0x2 + movs r1, 0x3 + movs r2, 0 + bl SetAnimBgAttribute + movs r0, 0xC + strh r0, [r6, 0xA] + b _080B7148 +_080B709C: + ldrh r0, [r6, 0x14] + ldrb r2, [r6, 0xA] + ldr r4, _080B70C8 @ =0x000066e0 + movs r1, 0x10 + adds r3, r4, 0 + bl BlendPalette + ldrh r0, [r6, 0x16] + ldrb r2, [r6, 0xA] + movs r1, 0x10 + adds r3, r4, 0 + bl BlendPalette + ldrh r0, [r6, 0xA] + movs r2, 0xA + ldrsh r1, [r6, r2] + cmp r1, 0 + beq _080B70CC + subs r0, 0x1 + strh r0, [r6, 0xA] + b _080B714E + .align 2, 0 +_080B70C8: .4byte 0x000066e0 +_080B70CC: + strh r1, [r6, 0xA] + ldr r1, _080B70E4 @ =0x00003f44 + movs r0, 0x50 + bl SetGpuReg + movs r1, 0x80 + lsls r1, 5 + movs r0, 0x52 + bl SetGpuReg + b _080B7148 + .align 2, 0 +_080B70E4: .4byte 0x00003f44 +_080B70E8: + ldr r5, _080B7154 @ =gSprites + movs r1, 0x10 + ldrsh r0, [r6, r1] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r5 + movs r0, 0x3 + ldrb r2, [r6, 0x12] + ands r2, r0 + lsls r2, 2 + ldrb r4, [r1, 0x5] + movs r3, 0xD + negs r3, r3 + adds r0, r3, 0 + ands r0, r4 + orrs r0, r2 + strb r0, [r1, 0x5] + movs r2, 0x10 + ldrsh r1, [r6, r2] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + ldrb r1, [r0, 0x1] + ands r3, r1 + strb r3, [r0, 0x1] + movs r0, 0x1 + movs r1, 0x4 + movs r2, 0x1 + bl SetAnimBgAttribute + movs r0, 0x2 + movs r1, 0x4 + movs r2, 0x1 + bl SetAnimBgAttribute + movs r0, 0x50 + movs r1, 0 + bl SetGpuReg + movs r0, 0x52 + movs r1, 0 + bl SetGpuReg + adds r0, r7, 0 + bl DestroyAnimVisualTask +_080B7148: + ldrh r0, [r6, 0x26] + adds r0, 0x1 + strh r0, [r6, 0x26] +_080B714E: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080B7154: .4byte gSprites + thumb_func_end sub_80B6FC4 + + thumb_func_start sub_80B7158 +sub_80B7158: @ 80B7158 + adds r3, r0, 0 + adds r3, 0x3E + ldrb r1, [r3] + movs r2, 0x4 + orrs r1, r2 + strb r1, [r3] + ldr r2, _080B719C @ =gUnknown_2023D44 + ldr r1, _080B71A0 @ =gBattleAnimAttacker + ldrb r1, [r1] + adds r1, r2 + ldrb r1, [r1] + strh r1, [r0, 0x38] + movs r1, 0x80 + strh r1, [r0, 0x2E] + movs r1, 0xA + strh r1, [r0, 0x30] + ldr r2, _080B71A4 @ =gBattleAnimArgs + ldrh r1, [r2] + strh r1, [r0, 0x32] + ldrh r1, [r2, 0x2] + strh r1, [r0, 0x34] + ldr r1, _080B71A8 @ =sub_80B71B0 + str r1, [r0, 0x1C] + ldr r2, _080B71AC @ =gSprites + movs r3, 0x38 + ldrsh r1, [r0, r3] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r1, [r0, 0x22] + adds r1, 0x8 + strh r1, [r0, 0x22] + bx lr + .align 2, 0 +_080B719C: .4byte gUnknown_2023D44 +_080B71A0: .4byte gBattleAnimAttacker +_080B71A4: .4byte gBattleAnimArgs +_080B71A8: .4byte sub_80B71B0 +_080B71AC: .4byte gSprites + thumb_func_end sub_80B7158 + + thumb_func_start sub_80B71B0 +sub_80B71B0: @ 80B71B0 + push {r4,r5,lr} + adds r5, r0, 0 + ldrh r0, [r5, 0x34] + movs r1, 0x34 + ldrsh r3, [r5, r1] + cmp r3, 0 + beq _080B7218 + subs r0, 0x1 + strh r0, [r5, 0x34] + movs r2, 0x2E + ldrsh r0, [r5, r2] + movs r2, 0x30 + ldrsh r1, [r5, r2] + bl Sin + ldr r4, _080B7210 @ =gSprites + movs r1, 0x38 + ldrsh r2, [r5, r1] + lsls r1, r2, 4 + adds r1, r2 + lsls r1, 2 + adds r1, r4 + strh r0, [r1, 0x24] + movs r2, 0x2E + ldrsh r0, [r5, r2] + movs r2, 0x30 + ldrsh r1, [r5, r2] + bl Cos + movs r1, 0x38 + ldrsh r2, [r5, r1] + lsls r1, r2, 4 + adds r1, r2 + lsls r1, 2 + adds r1, r4 + strh r0, [r1, 0x26] + ldrh r0, [r5, 0x32] + ldrh r2, [r5, 0x2E] + adds r1, r0, r2 + strh r1, [r5, 0x2E] + lsls r0, r1, 16 + asrs r0, 16 + cmp r0, 0xFF + ble _080B724C + ldr r2, _080B7214 @ =0xffffff00 + adds r0, r1, r2 + strh r0, [r5, 0x2E] + b _080B724C + .align 2, 0 +_080B7210: .4byte gSprites +_080B7214: .4byte 0xffffff00 +_080B7218: + ldr r2, _080B7254 @ =gSprites + movs r0, 0x38 + ldrsh r1, [r5, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + strh r3, [r0, 0x24] + movs r0, 0x38 + ldrsh r1, [r5, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + strh r3, [r0, 0x26] + movs r0, 0x38 + ldrsh r1, [r5, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r1, [r0, 0x22] + subs r1, 0x8 + strh r1, [r0, 0x22] + ldr r0, _080B7258 @ =move_anim_8074EE0 + str r0, [r5, 0x1C] +_080B724C: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080B7254: .4byte gSprites +_080B7258: .4byte move_anim_8074EE0 + thumb_func_end sub_80B71B0 + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/ground.s b/asm/ground.s new file mode 100644 index 000000000..678049327 --- /dev/null +++ b/asm/ground.s @@ -0,0 +1,1787 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start sub_80B8B6C +sub_80B8B6C: @ 80B8B6C + push {r4,r5,lr} + adds r4, r0, 0 + ldr r5, _080B8BC4 @ =gBattleAnimAttacker + ldrb r0, [r5] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x20] + ldrb r0, [r5] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x22] + movs r0, 0x14 + strh r0, [r4, 0x2E] + ldr r5, _080B8BC8 @ =gBattleAnimTarget + ldrb r0, [r5] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x32] + ldrb r0, [r5] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x36] + ldr r0, _080B8BCC @ =0x0000ffd8 + strh r0, [r4, 0x38] + adds r0, r4, 0 + bl sub_8075068 + ldr r0, _080B8BD0 @ =sub_80B8BD4 + str r0, [r4, 0x1C] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080B8BC4: .4byte gBattleAnimAttacker +_080B8BC8: .4byte gBattleAnimTarget +_080B8BCC: .4byte 0x0000ffd8 +_080B8BD0: .4byte sub_80B8BD4 + thumb_func_end sub_80B8B6C + + thumb_func_start sub_80B8BD4 +sub_80B8BD4: @ 80B8BD4 + push {r4,r5,lr} + adds r5, r0, 0 + bl AnimateBallThrow + lsls r0, 24 + cmp r0, 0 + beq _080B8C28 + ldrh r0, [r5, 0x24] + ldrh r1, [r5, 0x20] + adds r0, r1 + movs r1, 0 + strh r0, [r5, 0x20] + ldrh r0, [r5, 0x26] + ldrh r2, [r5, 0x22] + adds r0, r2 + strh r0, [r5, 0x22] + strh r1, [r5, 0x26] + strh r1, [r5, 0x24] + movs r0, 0x14 + strh r0, [r5, 0x2E] + ldr r4, _080B8C30 @ =gBattleAnimAttacker + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x32] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x36] + movs r0, 0x28 + strh r0, [r5, 0x38] + adds r0, r5, 0 + bl sub_8075068 + ldr r0, _080B8C34 @ =sub_80B8C38 + str r0, [r5, 0x1C] +_080B8C28: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080B8C30: .4byte gBattleAnimAttacker +_080B8C34: .4byte sub_80B8C38 + thumb_func_end sub_80B8BD4 + + thumb_func_start sub_80B8C38 +sub_80B8C38: @ 80B8C38 + push {r4,lr} + adds r4, r0, 0 + bl AnimateBallThrow + lsls r0, 24 + cmp r0, 0 + beq _080B8C4C + adds r0, r4, 0 + bl DestroyAnimSprite +_080B8C4C: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80B8C38 + + thumb_func_start sub_80B8C54 +sub_80B8C54: @ 80B8C54 + push {r4-r6,lr} + adds r6, r0, 0 + movs r1, 0x1 + bl sub_8075114 + ldr r0, _080B8CB4 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080B8C74 + ldr r1, _080B8CB8 @ =gBattleAnimArgs + ldrh r0, [r1, 0x4] + negs r0, r0 + strh r0, [r1, 0x4] +_080B8C74: + ldr r4, _080B8CB8 @ =gBattleAnimArgs + ldrh r0, [r4, 0x8] + strh r0, [r6, 0x2E] + ldr r5, _080B8CBC @ =gBattleAnimTarget + ldrb r0, [r5] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r1, [r4, 0x4] + adds r0, r1 + strh r0, [r6, 0x32] + ldrb r0, [r5] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r4, [r4, 0x6] + adds r0, r4 + strh r0, [r6, 0x36] + ldr r0, _080B8CC0 @ =sub_8075590 + str r0, [r6, 0x1C] + ldr r1, _080B8CC4 @ =DestroyAnimSprite + adds r0, r6, 0 + bl StoreSpriteCallbackInData6 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080B8CB4: .4byte gBattleAnimAttacker +_080B8CB8: .4byte gBattleAnimArgs +_080B8CBC: .4byte gBattleAnimTarget +_080B8CC0: .4byte sub_8075590 +_080B8CC4: .4byte DestroyAnimSprite + thumb_func_end sub_80B8C54 + + thumb_func_start sub_80B8CC8 +sub_80B8CC8: @ 80B8CC8 + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r6, r0, 0 + movs r1, 0x1 + bl sub_8075160 + ldr r4, _080B8D48 @ =gBattleAnimTarget + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074844 + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074844 + lsls r0, 24 + lsrs r7, r0, 24 + bl Random + movs r4, 0x1F + adds r5, r4, 0 + ands r5, r0 + bl Random + ands r4, r0 + adds r1, r5, 0 + cmp r1, 0x10 + ble _080B8D10 + movs r0, 0x10 + subs r0, r1 + lsls r0, 16 + lsrs r5, r0, 16 +_080B8D10: + lsls r0, r4, 16 + asrs r1, r0, 16 + cmp r1, 0x10 + ble _080B8D20 + movs r0, 0x10 + subs r0, r1 + lsls r0, 16 + lsrs r4, r0, 16 +_080B8D20: + ldr r0, _080B8D4C @ =gBattleAnimArgs + ldrh r0, [r0, 0x4] + strh r0, [r6, 0x2E] + mov r1, r8 + adds r0, r1, r5 + strh r0, [r6, 0x32] + adds r0, r7, r4 + strh r0, [r6, 0x36] + ldr r0, _080B8D50 @ =sub_8075590 + str r0, [r6, 0x1C] + ldr r1, _080B8D54 @ =move_anim_8074EE0 + adds r0, r6, 0 + bl StoreSpriteCallbackInData6 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080B8D48: .4byte gBattleAnimTarget +_080B8D4C: .4byte gBattleAnimArgs +_080B8D50: .4byte sub_8075590 +_080B8D54: .4byte move_anim_8074EE0 + thumb_func_end sub_80B8CC8 + + thumb_func_start sub_80B8D58 +sub_80B8D58: @ 80B8D58 + push {r4-r6,lr} + adds r5, r0, 0 + ldrh r2, [r5, 0x4] + lsls r1, r2, 22 + lsrs r1, 22 + adds r1, 0x1 + ldr r3, _080B8DB8 @ =0x000003ff + adds r0, r3, 0 + ands r1, r0 + ldr r0, _080B8DBC @ =0xfffffc00 + ands r0, r2 + orrs r0, r1 + strh r0, [r5, 0x4] + ldr r6, _080B8DC0 @ =gBattleAnimArgs + movs r1, 0 + ldrsh r0, [r6, r1] + cmp r0, 0 + bne _080B8DCC + ldr r4, _080B8DC4 @ =gBattleAnimAttacker + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r2, [r6, 0x2] + adds r0, r2 + strh r0, [r5, 0x20] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r3, [r6, 0x4] + adds r0, r3 + strh r0, [r5, 0x22] + movs r1, 0x2 + ldrsh r0, [r6, r1] + movs r2, 0x1 + negs r2, r2 + adds r1, r2, 0 + cmp r0, 0 + ble _080B8DB2 + movs r1, 0x1 +_080B8DB2: + strh r1, [r5, 0x2E] + ldr r0, _080B8DC8 @ =sub_80B8DE8 + b _080B8DDA + .align 2, 0 +_080B8DB8: .4byte 0x000003ff +_080B8DBC: .4byte 0xfffffc00 +_080B8DC0: .4byte gBattleAnimArgs +_080B8DC4: .4byte gBattleAnimAttacker +_080B8DC8: .4byte sub_80B8DE8 +_080B8DCC: + ldrh r0, [r6, 0x2] + strh r0, [r5, 0x20] + ldrh r0, [r6, 0x4] + strh r0, [r5, 0x22] + negs r0, r0 + strh r0, [r5, 0x26] + ldr r0, _080B8DE4 @ =sub_80B8E24 +_080B8DDA: + str r0, [r5, 0x1C] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080B8DE4: .4byte sub_80B8E24 + thumb_func_end sub_80B8D58 + + thumb_func_start sub_80B8DE8 +sub_80B8DE8: @ 80B8DE8 + push {lr} + adds r2, r0, 0 + ldrh r0, [r2, 0x30] + adds r0, 0x1 + strh r0, [r2, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + ble _080B8E06 + movs r0, 0 + strh r0, [r2, 0x30] + ldrh r0, [r2, 0x2E] + ldrh r1, [r2, 0x20] + adds r0, r1 + strh r0, [r2, 0x20] +_080B8E06: + ldrh r0, [r2, 0x22] + subs r0, 0x4 + strh r0, [r2, 0x22] + lsls r0, 16 + asrs r0, 16 + movs r1, 0x4 + negs r1, r1 + cmp r0, r1 + bge _080B8E1E + adds r0, r2, 0 + bl DestroyAnimSprite +_080B8E1E: + pop {r0} + bx r0 + thumb_func_end sub_80B8DE8 + + thumb_func_start sub_80B8E24 +sub_80B8E24: @ 80B8E24 + push {lr} + adds r3, r0, 0 + movs r0, 0x2E + ldrsh r1, [r3, r0] + cmp r1, 0 + beq _080B8E36 + cmp r1, 0x1 + beq _080B8E4C + b _080B8E8E +_080B8E36: + ldrh r0, [r3, 0x26] + adds r0, 0x4 + strh r0, [r3, 0x26] + lsls r0, 16 + cmp r0, 0 + blt _080B8E8E + strh r1, [r3, 0x26] + ldrh r0, [r3, 0x2E] + adds r0, 0x1 + strh r0, [r3, 0x2E] + b _080B8E8E +_080B8E4C: + ldrh r0, [r3, 0x30] + adds r0, 0x1 + strh r0, [r3, 0x30] + lsls r0, 16 + cmp r0, 0 + ble _080B8E8E + movs r0, 0 + strh r0, [r3, 0x30] + movs r1, 0x3E + adds r1, r3 + mov r12, r1 + ldrb r2, [r1] + lsls r0, r2, 29 + lsrs r0, 31 + movs r1, 0x1 + eors r1, r0 + lsls r1, 2 + movs r0, 0x5 + negs r0, r0 + ands r0, r2 + orrs r0, r1 + mov r1, r12 + strb r0, [r1] + ldrh r0, [r3, 0x32] + adds r0, 0x1 + strh r0, [r3, 0x32] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xA + bne _080B8E8E + adds r0, r3, 0 + bl DestroyAnimSprite +_080B8E8E: + pop {r0} + bx r0 + thumb_func_end sub_80B8E24 + + thumb_func_start sub_80B8E94 +sub_80B8E94: @ 80B8E94 + push {lr} + lsls r0, 24 + lsrs r2, r0, 24 + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + ldr r1, _080B8EB4 @ =gTasks + adds r1, r0, r1 + ldr r0, _080B8EB8 @ =gBattleAnimArgs + movs r3, 0 + ldrsh r0, [r0, r3] + cmp r0, 0 + bne _080B8EC0 + ldr r0, _080B8EBC @ =sub_80B8ED4 + b _080B8EC2 + .align 2, 0 +_080B8EB4: .4byte gTasks +_080B8EB8: .4byte gBattleAnimArgs +_080B8EBC: .4byte sub_80B8ED4 +_080B8EC0: + ldr r0, _080B8ED0 @ =sub_80B908C +_080B8EC2: + str r0, [r1] + ldr r1, [r1] + adds r0, r2, 0 + bl _call_via_r1 + pop {r0} + bx r0 + .align 2, 0 +_080B8ED0: .4byte sub_80B908C + thumb_func_end sub_80B8E94 + + thumb_func_start sub_80B8ED4 +sub_80B8ED4: @ 80B8ED4 + push {r4,lr} + lsls r0, 24 + lsrs r2, r0, 24 + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + ldr r1, _080B8EF8 @ =gTasks + adds r4, r0, r1 + movs r1, 0x8 + ldrsh r0, [r4, r1] + cmp r0, 0x4 + bls _080B8EEE + b _080B9082 +_080B8EEE: + lsls r0, 2 + ldr r1, _080B8EFC @ =_080B8F00 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080B8EF8: .4byte gTasks +_080B8EFC: .4byte _080B8F00 + .align 2, 0 +_080B8F00: + .4byte _080B8F14 + .4byte _080B8F9C + .4byte _080B8FAC + .4byte _080B9050 + .4byte _080B9064 +_080B8F14: + movs r0, 0 + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x1C] + ldr r0, _080B8F3C @ =gBattleAnimAttacker + ldrb r0, [r0] + bl sub_80768B0 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x1E] + cmp r0, 0x1 + bne _080B8F48 + ldr r0, _080B8F40 @ =gBattle_BG1_X + ldrh r0, [r0] + strh r0, [r4, 0x20] + ldr r0, _080B8F44 @ =gBattle_BG1_Y + b _080B8F50 + .align 2, 0 +_080B8F3C: .4byte gBattleAnimAttacker +_080B8F40: .4byte gBattle_BG1_X +_080B8F44: .4byte gBattle_BG1_Y +_080B8F48: + ldr r0, _080B8F8C @ =gBattle_BG2_X + ldrh r0, [r0] + strh r0, [r4, 0x20] + ldr r0, _080B8F90 @ =gBattle_BG2_Y +_080B8F50: + ldrh r0, [r0] + strh r0, [r4, 0x22] + ldr r0, _080B8F94 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl sub_807492C + lsls r0, 24 + lsrs r0, 24 + adds r1, r0, 0 + subs r1, 0x20 + strh r1, [r4, 0x24] + adds r0, 0x20 + strh r0, [r4, 0x26] + cmp r1, 0 + bge _080B8F72 + movs r0, 0 + strh r0, [r4, 0x24] +_080B8F72: + ldr r2, _080B8F98 @ =gSprites + movs r3, 0x1C + ldrsh r1, [r4, r3] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + adds r0, 0x3E + ldrb r1, [r0] + movs r2, 0x4 + orrs r1, r2 + strb r1, [r0] + b _080B9056 + .align 2, 0 +_080B8F8C: .4byte gBattle_BG2_X +_080B8F90: .4byte gBattle_BG2_Y +_080B8F94: .4byte gBattleAnimAttacker +_080B8F98: .4byte gSprites +_080B8F9C: + ldrb r0, [r4, 0x1E] + movs r2, 0x24 + ldrsh r1, [r4, r2] + movs r3, 0x26 + ldrsh r2, [r4, r3] + bl sub_80B92B8 + b _080B9056 +_080B8FAC: + ldrh r0, [r4, 0xC] + adds r0, 0x6 + movs r1, 0x7F + ands r0, r1 + strh r0, [r4, 0xC] + ldrh r0, [r4, 0x10] + adds r0, 0x1 + strh r0, [r4, 0x10] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x2 + ble _080B8FCE + movs r0, 0 + strh r0, [r4, 0x10] + ldrh r0, [r4, 0xE] + adds r0, 0x1 + strh r0, [r4, 0xE] +_080B8FCE: + ldr r1, _080B8FF0 @ =gSineTable + movs r2, 0xC + ldrsh r0, [r4, r2] + lsls r0, 1 + adds r0, r1 + ldrh r0, [r0] + lsls r0, 16 + asrs r0, 20 + ldrh r3, [r4, 0xE] + adds r2, r0, r3 + strh r2, [r4, 0x12] + movs r1, 0x1E + ldrsh r0, [r4, r1] + cmp r0, 0x1 + bne _080B8FF8 + ldr r1, _080B8FF4 @ =gBattle_BG1_Y + b _080B8FFA + .align 2, 0 +_080B8FF0: .4byte gSineTable +_080B8FF4: .4byte gBattle_BG1_Y +_080B8FF8: + ldr r1, _080B901C @ =gBattle_BG2_Y +_080B8FFA: + ldrh r0, [r4, 0x22] + subs r0, r2 + strh r0, [r1] + movs r2, 0x12 + ldrsh r0, [r4, r2] + cmp r0, 0x3F + ble _080B9082 + ldrh r0, [r4, 0x24] + movs r1, 0x78 + subs r2, r1, r0 + strh r2, [r4, 0x12] + movs r3, 0x1E + ldrsh r0, [r4, r3] + cmp r0, 0x1 + bne _080B9024 + ldr r1, _080B9020 @ =gBattle_BG1_Y + b _080B9026 + .align 2, 0 +_080B901C: .4byte gBattle_BG2_Y +_080B9020: .4byte gBattle_BG1_Y +_080B9024: + ldr r1, _080B9048 @ =gBattle_BG2_Y +_080B9026: + ldrh r0, [r4, 0x22] + subs r0, r2 + strh r0, [r1] + ldr r2, _080B904C @ =gSprites + movs r1, 0x1C + ldrsh r0, [r4, r1] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r2 + ldrh r2, [r1, 0x20] + movs r3, 0x88 + lsls r3, 1 + adds r0, r3, 0 + subs r0, r2 + strh r0, [r1, 0x24] + b _080B9056 + .align 2, 0 +_080B9048: .4byte gBattle_BG2_Y +_080B904C: .4byte gSprites +_080B9050: + ldr r1, _080B9060 @ =gScanlineEffect + movs r0, 0x3 + strb r0, [r1, 0x15] +_080B9056: + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] + b _080B9082 + .align 2, 0 +_080B9060: .4byte gScanlineEffect +_080B9064: + adds r0, r2, 0 + bl DestroyAnimVisualTask + ldr r2, _080B9088 @ =gSprites + movs r0, 0x1C + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + adds r0, 0x3E + ldrb r1, [r0] + movs r2, 0x4 + orrs r1, r2 + strb r1, [r0] +_080B9082: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080B9088: .4byte gSprites + thumb_func_end sub_80B8ED4 + + thumb_func_start sub_80B908C +sub_80B908C: @ 80B908C + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + movs r0, 0 + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r0, 24 + ldr r2, _080B90CC @ =gSprites + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r2 + adds r3, r1, 0 + adds r3, 0x3E + ldrb r0, [r3] + movs r2, 0x4 + orrs r0, r2 + strb r0, [r3] + movs r4, 0 + strh r4, [r1, 0x24] + strh r4, [r1, 0x26] + ldr r0, _080B90D0 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl sub_80768B0 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080B90D8 + ldr r0, _080B90D4 @ =gBattle_BG1_Y + b _080B90DA + .align 2, 0 +_080B90CC: .4byte gSprites +_080B90D0: .4byte gBattleAnimAttacker +_080B90D4: .4byte gBattle_BG1_Y +_080B90D8: + ldr r0, _080B90E8 @ =gBattle_BG2_Y +_080B90DA: + strh r4, [r0] + adds r0, r5, 0 + bl DestroyAnimVisualTask + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080B90E8: .4byte gBattle_BG2_Y + thumb_func_end sub_80B908C + + thumb_func_start sub_80B90EC +sub_80B90EC: @ 80B90EC + push {lr} + lsls r0, 24 + lsrs r2, r0, 24 + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + ldr r1, _080B910C @ =gTasks + adds r1, r0, r1 + ldr r0, _080B9110 @ =gBattleAnimArgs + movs r3, 0 + ldrsh r0, [r0, r3] + cmp r0, 0 + bne _080B9118 + ldr r0, _080B9114 @ =sub_80B912C + b _080B911A + .align 2, 0 +_080B910C: .4byte gTasks +_080B9110: .4byte gBattleAnimArgs +_080B9114: .4byte sub_80B912C +_080B9118: + ldr r0, _080B9128 @ =sub_80B91B0 +_080B911A: + str r0, [r1] + ldr r1, [r1] + adds r0, r2, 0 + bl _call_via_r1 + pop {r0} + bx r0 + .align 2, 0 +_080B9128: .4byte sub_80B91B0 + thumb_func_end sub_80B90EC + + thumb_func_start sub_80B912C +sub_80B912C: @ 80B912C + push {r4,r5,lr} + lsls r0, 24 + lsrs r2, r0, 24 + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + ldr r1, _080B914C @ =gTasks + adds r4, r0, r1 + movs r0, 0x8 + ldrsh r5, [r4, r0] + cmp r5, 0 + beq _080B9150 + cmp r5, 0x1 + beq _080B91A4 + b _080B91AA + .align 2, 0 +_080B914C: .4byte gTasks +_080B9150: + movs r0, 0 + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x1C] + ldr r3, _080B91A0 @ =gSprites + movs r0, 0x1C + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r3 + adds r0, 0x3E + ldrb r2, [r0] + movs r1, 0x5 + negs r1, r1 + ands r1, r2 + strb r1, [r0] + movs r0, 0x1C + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r3 + strh r5, [r0, 0x24] + movs r1, 0x1C + ldrsh r0, [r4, r1] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r3 + ldrh r2, [r1, 0x22] + movs r0, 0xA0 + subs r0, r2 + strh r0, [r1, 0x26] + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] + b _080B91AA + .align 2, 0 +_080B91A0: .4byte gSprites +_080B91A4: + adds r0, r2, 0 + bl DestroyAnimVisualTask +_080B91AA: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80B912C + + thumb_func_start sub_80B91B0 +sub_80B91B0: @ 80B91B0 + push {r4,lr} + lsls r0, 24 + lsrs r2, r0, 24 + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + ldr r1, _080B91D4 @ =gTasks + adds r4, r0, r1 + movs r1, 0x8 + ldrsh r0, [r4, r1] + cmp r0, 0x4 + bhi _080B92B2 + lsls r0, 2 + ldr r1, _080B91D8 @ =_080B91DC + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080B91D4: .4byte gTasks +_080B91D8: .4byte _080B91DC + .align 2, 0 +_080B91DC: + .4byte _080B91F0 + .4byte _080B9244 + .4byte _080B9252 + .4byte _080B926C + .4byte _080B92AC +_080B91F0: + movs r0, 0 + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x1C] + ldr r0, _080B9214 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl sub_80768B0 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x1E] + cmp r0, 0x1 + bne _080B921C + ldr r0, _080B9218 @ =gBattle_BG1_X + b _080B921E + .align 2, 0 +_080B9214: .4byte gBattleAnimAttacker +_080B9218: .4byte gBattle_BG1_X +_080B921C: + ldr r0, _080B923C @ =gBattle_BG2_X +_080B921E: + ldrh r0, [r0] + strh r0, [r4, 0x20] + ldr r0, _080B9240 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl sub_807492C + lsls r0, 24 + lsrs r0, 24 + adds r1, r0, 0 + subs r1, 0x20 + strh r1, [r4, 0x24] + adds r0, 0x20 + strh r0, [r4, 0x26] + b _080B929A + .align 2, 0 +_080B923C: .4byte gBattle_BG2_X +_080B9240: .4byte gBattleAnimAttacker +_080B9244: + ldrb r0, [r4, 0x1E] + movs r1, 0x26 + ldrsh r2, [r4, r1] + movs r1, 0 + bl sub_80B92B8 + b _080B929A +_080B9252: + ldr r2, _080B9268 @ =gSprites + movs r0, 0x1C + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + movs r1, 0x60 + strh r1, [r0, 0x26] + b _080B929A + .align 2, 0 +_080B9268: .4byte gSprites +_080B926C: + ldr r2, _080B92A4 @ =gSprites + movs r0, 0x1C + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r1, [r0, 0x26] + subs r1, 0x8 + strh r1, [r0, 0x26] + movs r0, 0x1C + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + movs r1, 0x26 + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _080B92B2 + ldr r1, _080B92A8 @ =gScanlineEffect + movs r0, 0x3 + strb r0, [r1, 0x15] +_080B929A: + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] + b _080B92B2 + .align 2, 0 +_080B92A4: .4byte gSprites +_080B92A8: .4byte gScanlineEffect +_080B92AC: + adds r0, r2, 0 + bl DestroyAnimVisualTask +_080B92B2: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80B91B0 + + thumb_func_start sub_80B92B8 +sub_80B92B8: @ 80B92B8 + push {r4-r6,lr} + sub sp, 0xC + lsls r0, 24 + lsrs r0, 24 + lsls r1, 16 + lsrs r1, 16 + lsls r2, 16 + lsrs r4, r2, 16 + cmp r0, 0x1 + bne _080B92DC + ldr r0, _080B92D4 @ =gBattle_BG1_X + ldrh r3, [r0] + ldr r0, _080B92D8 @ =0x04000014 + b _080B92E2 + .align 2, 0 +_080B92D4: .4byte gBattle_BG1_X +_080B92D8: .4byte 0x04000014 +_080B92DC: + ldr r0, _080B9368 @ =gBattle_BG2_X + ldrh r3, [r0] + ldr r0, _080B936C @ =0x04000018 +_080B92E2: + str r0, [sp] + lsls r0, r1, 16 + cmp r0, 0 + bge _080B92EC + movs r1, 0 +_080B92EC: + lsls r2, r1, 16 + lsls r0, r4, 16 + asrs r4, r0, 16 + cmp r2, r0 + bge _080B9318 + ldr r5, _080B9370 @ =gScanlineEffectRegBuffers + movs r0, 0xF0 + lsls r0, 3 + adds r6, r5, r0 +_080B92FE: + asrs r2, 16 + lsls r1, r2, 1 + adds r0, r1, r5 + strh r3, [r0] + adds r1, r6 + strh r3, [r1] + adds r2, 0x1 + lsls r2, 16 + lsrs r1, r2, 16 + lsls r2, r1, 16 + asrs r0, r2, 16 + cmp r0, r4 + blt _080B92FE +_080B9318: + lsls r1, 16 + asrs r0, r1, 16 + cmp r0, 0x9F + bgt _080B9346 + ldr r4, _080B9370 @ =gScanlineEffectRegBuffers + lsls r0, r3, 16 + asrs r0, 16 + adds r3, r0, 0 + adds r3, 0xF0 + movs r0, 0xF0 + lsls r0, 3 + adds r5, r4, r0 +_080B9330: + asrs r2, r1, 16 + lsls r1, r2, 1 + adds r0, r1, r4 + strh r3, [r0] + adds r1, r5 + strh r3, [r1] + adds r2, 0x1 + lsls r1, r2, 16 + asrs r0, r1, 16 + cmp r0, 0x9F + ble _080B9330 +_080B9346: + ldr r0, _080B9374 @ =0xa2600001 + str r0, [sp, 0x4] + mov r1, sp + movs r2, 0 + movs r0, 0x1 + strb r0, [r1, 0x8] + mov r0, sp + strb r2, [r0, 0x9] + ldr r0, [sp] + ldr r1, [sp, 0x4] + ldr r2, [sp, 0x8] + bl ScanlineEffect_SetParams + add sp, 0xC + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080B9368: .4byte gBattle_BG2_X +_080B936C: .4byte 0x04000018 +_080B9370: .4byte gScanlineEffectRegBuffers +_080B9374: .4byte 0xa2600001 + thumb_func_end sub_80B92B8 + + thumb_func_start sub_80B9378 +sub_80B9378: @ 80B9378 + push {r4-r7,lr} + adds r5, r0, 0 + ldr r0, _080B938C @ =gBattleAnimArgs + movs r2, 0 + ldrsh r1, [r0, r2] + adds r7, r0, 0 + cmp r1, 0 + bne _080B9394 + ldr r0, _080B9390 @ =gBattleAnimAttacker + b _080B9396 + .align 2, 0 +_080B938C: .4byte gBattleAnimArgs +_080B9390: .4byte gBattleAnimAttacker +_080B9394: + ldr r0, _080B93F8 @ =gBattleAnimTarget +_080B9396: + ldrb r4, [r0] + movs r6, 0x18 + adds r1, r7, 0 + movs r2, 0x2 + ldrsh r0, [r1, r2] + cmp r0, 0x1 + bne _080B93B2 + negs r0, r6 + lsls r0, 16 + lsrs r6, r0, 16 + movs r2, 0x4 + ldrsh r0, [r1, r2] + negs r0, r0 + strh r0, [r1, 0x4] +_080B93B2: + adds r0, r4, 0 + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + adds r0, r6 + strh r0, [r5, 0x20] + adds r0, r4, 0 + bl sub_807492C + lsls r0, 24 + lsrs r0, 24 + adds r0, 0x1E + strh r0, [r5, 0x22] + ldrh r1, [r7, 0xA] + strh r1, [r5, 0x2E] + ldrh r1, [r7, 0x4] + ldrh r2, [r5, 0x20] + adds r1, r2 + strh r1, [r5, 0x32] + ldrh r1, [r7, 0x6] + adds r0, r1 + strh r0, [r5, 0x36] + ldrh r0, [r7, 0x8] + strh r0, [r5, 0x38] + adds r0, r5, 0 + bl sub_8075068 + ldr r0, _080B93FC @ =sub_80B9400 + str r0, [r5, 0x1C] + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080B93F8: .4byte gBattleAnimTarget +_080B93FC: .4byte sub_80B9400 + thumb_func_end sub_80B9378 + + thumb_func_start sub_80B9400 +sub_80B9400: @ 80B9400 + push {r4,lr} + adds r4, r0, 0 + bl AnimateBallThrow + lsls r0, 24 + cmp r0, 0 + beq _080B9414 + adds r0, r4, 0 + bl DestroyAnimSprite +_080B9414: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80B9400 + + thumb_func_start sub_80B941C +sub_80B941C: @ 80B941C + push {r4-r6,lr} + adds r6, r0, 0 + ldr r0, _080B9430 @ =gBattleAnimArgs + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _080B9438 + ldr r0, _080B9434 @ =gBattleAnimAttacker + b _080B943A + .align 2, 0 +_080B9430: .4byte gBattleAnimArgs +_080B9434: .4byte gBattleAnimAttacker +_080B9438: + ldr r0, _080B9498 @ =gBattleAnimTarget +_080B943A: + ldrb r5, [r0] + adds r0, r5, 0 + movs r1, 0 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldr r2, _080B949C @ =0x0000fff0 + adds r0, r2 + ldr r4, _080B94A0 @ =gBattleAnimArgs + movs r3, 0x2 + ldrsh r1, [r4, r3] + lsls r1, 5 + adds r0, r1 + strh r0, [r6, 0x20] + adds r0, r5, 0 + bl sub_807492C + lsls r0, 24 + lsrs r0, 24 + adds r0, 0x20 + strh r0, [r6, 0x22] + ldrh r2, [r6, 0x4] + lsls r1, r2, 22 + lsrs r1, 22 + movs r3, 0x2 + ldrsh r0, [r4, r3] + lsls r0, 3 + adds r1, r0 + ldr r3, _080B94A4 @ =0x000003ff + adds r0, r3, 0 + ands r1, r0 + ldr r0, _080B94A8 @ =0xfffffc00 + ands r0, r2 + orrs r0, r1 + strh r0, [r6, 0x4] + ldr r1, _080B94AC @ =DestroyAnimSprite + adds r0, r6, 0 + bl StoreSpriteCallbackInData6 + ldrh r0, [r4, 0x4] + strh r0, [r6, 0x2E] + ldr r0, _080B94B0 @ =sub_8074C44 + str r0, [r6, 0x1C] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080B9498: .4byte gBattleAnimTarget +_080B949C: .4byte 0x0000fff0 +_080B94A0: .4byte gBattleAnimArgs +_080B94A4: .4byte 0x000003ff +_080B94A8: .4byte 0xfffffc00 +_080B94AC: .4byte DestroyAnimSprite +_080B94B0: .4byte sub_8074C44 + thumb_func_end sub_80B941C + + thumb_func_start sub_80B94B4 +sub_80B94B4: @ 80B94B4 + push {r4-r6,lr} + lsls r0, 24 + lsrs r5, r0, 24 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + ldr r1, _080B94D8 @ =gTasks + adds r4, r0, r1 + ldr r0, _080B94DC @ =gBattleAnimArgs + ldrh r2, [r0, 0x2] + movs r3, 0x2 + ldrsh r1, [r0, r3] + adds r6, r0, 0 + cmp r1, 0 + beq _080B94E0 + adds r0, r2, 0x3 + b _080B94EC + .align 2, 0 +_080B94D8: .4byte gTasks +_080B94DC: .4byte gBattleAnimArgs +_080B94E0: + ldr r0, _080B950C @ =gUnknown_2037EEC + ldrh r0, [r0] + movs r1, 0xA + bl __udivsi3 + adds r0, 0x3 +_080B94EC: + strh r0, [r4, 0x26] + strh r0, [r4, 0x24] + adds r1, r6, 0 + ldrh r0, [r1, 0x4] + strh r0, [r4, 0xE] + movs r2, 0 + ldrsh r0, [r1, r2] + cmp r0, 0x4 + beq _080B9518 + cmp r0, 0x5 + bne _080B9558 + ldr r0, _080B9510 @ =gBattle_BG3_X + ldrh r0, [r0] + strh r0, [r4, 0x22] + ldr r0, _080B9514 @ =sub_80B9584 + b _080B9576 + .align 2, 0 +_080B950C: .4byte gUnknown_2037EEC +_080B9510: .4byte gBattle_BG3_X +_080B9514: .4byte sub_80B9584 +_080B9518: + movs r0, 0 + strh r0, [r4, 0x22] + movs r5, 0 +_080B951E: + lsls r0, r5, 24 + lsrs r0, 24 + bl sub_8072DF0 + lsls r0, 24 + cmp r0, 0 + beq _080B9548 + movs r3, 0x22 + ldrsh r0, [r4, r3] + adds r0, 0x9 + lsls r0, 1 + adds r1, r4, 0 + adds r1, 0x8 + adds r1, r0 + ldr r0, _080B9554 @ =gUnknown_2023D44 + adds r0, r5, r0 + ldrb r0, [r0] + strh r0, [r1] + ldrh r0, [r4, 0x22] + adds r0, 0x1 + strh r0, [r4, 0x22] +_080B9548: + adds r0, r5, 0x1 + lsls r0, 16 + lsrs r5, r0, 16 + cmp r5, 0x3 + bls _080B951E + b _080B9574 + .align 2, 0 +_080B9554: .4byte gUnknown_2023D44 +_080B9558: + ldrb r0, [r6] + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x1A] + cmp r0, 0xFF + bne _080B9570 + adds r0, r5, 0 + bl DestroyAnimVisualTask + b _080B9578 +_080B9570: + movs r0, 0x1 + strh r0, [r4, 0x22] +_080B9574: + ldr r0, _080B9580 @ =sub_80B967C +_080B9576: + str r0, [r4] +_080B9578: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080B9580: .4byte sub_80B967C + thumb_func_end sub_80B94B4 + + thumb_func_start sub_80B9584 +sub_80B9584: @ 80B9584 + push {lr} + lsls r0, 24 + lsrs r2, r0, 24 + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + ldr r1, _080B95A8 @ =gTasks + adds r3, r0, r1 + movs r0, 0x8 + ldrsh r1, [r3, r0] + cmp r1, 0x1 + beq _080B9608 + cmp r1, 0x1 + bgt _080B95AC + cmp r1, 0 + beq _080B95B2 + b _080B9674 + .align 2, 0 +_080B95A8: .4byte gTasks +_080B95AC: + cmp r1, 0x2 + beq _080B9668 + b _080B9674 +_080B95B2: + ldrh r0, [r3, 0xA] + adds r0, 0x1 + strh r0, [r3, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + ble _080B9674 + strh r1, [r3, 0xA] + ldrh r1, [r3, 0xC] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + bne _080B95DC + ldr r1, _080B95D8 @ =gBattle_BG3_X + ldrh r0, [r3, 0x26] + ldrh r2, [r3, 0x22] + adds r0, r2 + strh r0, [r1] + b _080B95E6 + .align 2, 0 +_080B95D8: .4byte gBattle_BG3_X +_080B95DC: + ldr r0, _080B9604 @ =gBattle_BG3_X + ldrh r1, [r3, 0x22] + ldrh r2, [r3, 0x26] + subs r1, r2 + strh r1, [r0] +_080B95E6: + ldrh r0, [r3, 0xC] + adds r0, 0x1 + strh r0, [r3, 0xC] + lsls r0, 16 + asrs r0, 16 + movs r2, 0xE + ldrsh r1, [r3, r2] + cmp r0, r1 + bne _080B9674 + movs r0, 0 + strh r0, [r3, 0xC] + ldrh r0, [r3, 0x24] + subs r0, 0x1 + strh r0, [r3, 0x24] + b _080B965C + .align 2, 0 +_080B9604: .4byte gBattle_BG3_X +_080B9608: + ldrh r0, [r3, 0xA] + adds r0, 0x1 + strh r0, [r3, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + ble _080B9674 + movs r0, 0 + strh r0, [r3, 0xA] + ldrh r0, [r3, 0xC] + ands r1, r0 + cmp r1, 0 + bne _080B9634 + ldr r1, _080B9630 @ =gBattle_BG3_X + ldrh r0, [r3, 0x24] + ldrh r2, [r3, 0x22] + adds r0, r2 + strh r0, [r1] + b _080B963E + .align 2, 0 +_080B9630: .4byte gBattle_BG3_X +_080B9634: + ldr r0, _080B9664 @ =gBattle_BG3_X + ldrh r1, [r3, 0x22] + ldrh r2, [r3, 0x24] + subs r1, r2 + strh r1, [r0] +_080B963E: + ldrh r0, [r3, 0xC] + adds r0, 0x1 + strh r0, [r3, 0xC] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x4 + bne _080B9674 + movs r0, 0 + strh r0, [r3, 0xC] + ldrh r0, [r3, 0x24] + subs r0, 0x1 + strh r0, [r3, 0x24] + lsls r0, 16 + cmp r0, 0 + bne _080B9674 +_080B965C: + ldrh r0, [r3, 0x8] + adds r0, 0x1 + strh r0, [r3, 0x8] + b _080B9674 + .align 2, 0 +_080B9664: .4byte gBattle_BG3_X +_080B9668: + ldr r1, _080B9678 @ =gBattle_BG3_X + ldrh r0, [r3, 0x22] + strh r0, [r1] + adds r0, r2, 0 + bl DestroyAnimVisualTask +_080B9674: + pop {r0} + bx r0 + .align 2, 0 +_080B9678: .4byte gBattle_BG3_X + thumb_func_end sub_80B9584 + + thumb_func_start sub_80B967C +sub_80B967C: @ 80B967C + push {r4-r7,lr} + lsls r0, 24 + lsrs r3, r0, 24 + lsls r0, r3, 2 + adds r0, r3 + lsls r0, 3 + ldr r1, _080B96A0 @ =gTasks + adds r4, r0, r1 + movs r0, 0x8 + ldrsh r5, [r4, r0] + cmp r5, 0x1 + beq _080B96DC + cmp r5, 0x1 + bgt _080B96A4 + cmp r5, 0 + beq _080B96AA + b _080B9756 + .align 2, 0 +_080B96A0: .4byte gTasks +_080B96A4: + cmp r5, 0x2 + beq _080B9718 + b _080B9756 +_080B96AA: + ldrh r0, [r4, 0xA] + adds r0, 0x1 + strh r0, [r4, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + ble _080B9756 + strh r5, [r4, 0xA] + adds r0, r4, 0 + bl sub_80B9760 + ldrh r0, [r4, 0xC] + adds r0, 0x1 + strh r0, [r4, 0xC] + lsls r0, 16 + asrs r0, 16 + movs r2, 0xE + ldrsh r1, [r4, r2] + cmp r0, r1 + bne _080B9756 + strh r5, [r4, 0xC] + ldrh r0, [r4, 0x24] + subs r0, 0x1 + strh r0, [r4, 0x24] + b _080B9710 +_080B96DC: + ldrh r0, [r4, 0xA] + adds r0, 0x1 + movs r5, 0 + strh r0, [r4, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + ble _080B9756 + strh r5, [r4, 0xA] + adds r0, r4, 0 + bl sub_80B9760 + ldrh r0, [r4, 0xC] + adds r0, 0x1 + strh r0, [r4, 0xC] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x4 + bne _080B9756 + strh r5, [r4, 0xC] + ldrh r0, [r4, 0x24] + subs r0, 0x1 + strh r0, [r4, 0x24] + lsls r0, 16 + cmp r0, 0 + bne _080B9756 +_080B9710: + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] + b _080B9756 +_080B9718: + movs r2, 0 + movs r7, 0x22 + ldrsh r0, [r4, r7] + cmp r2, r0 + bge _080B9750 + ldr r0, _080B975C @ =gSprites + mov r12, r0 + adds r5, r4, 0 + adds r5, 0x8 + movs r6, 0 +_080B972C: + adds r0, r2, 0 + adds r0, 0x9 + lsls r0, 1 + adds r0, r5, r0 + movs r7, 0 + ldrsh r1, [r0, r7] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + add r0, r12 + strh r6, [r0, 0x24] + adds r0, r2, 0x1 + lsls r0, 16 + lsrs r2, r0, 16 + movs r1, 0x22 + ldrsh r0, [r4, r1] + cmp r2, r0 + blt _080B972C +_080B9750: + adds r0, r3, 0 + bl DestroyAnimVisualTask +_080B9756: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080B975C: .4byte gSprites + thumb_func_end sub_80B967C + + thumb_func_start sub_80B9760 +sub_80B9760: @ 80B9760 + push {r4-r7,lr} + adds r3, r0, 0 + ldrh r1, [r3, 0xC] + movs r4, 0x1 + adds r0, r4, 0 + ands r0, r1 + cmp r0, 0 + bne _080B9788 + movs r0, 0x24 + ldrsh r1, [r3, r0] + lsrs r0, r1, 31 + adds r1, r0 + asrs r1, 1 + ldrh r2, [r3, 0x24] + adds r0, r4, 0 + ands r0, r2 + adds r1, r0 + lsls r1, 16 + lsrs r4, r1, 16 + b _080B9798 +_080B9788: + movs r1, 0x24 + ldrsh r0, [r3, r1] + lsrs r1, r0, 31 + adds r0, r1 + asrs r0, 1 + negs r0, r0 + lsls r0, 16 + lsrs r4, r0, 16 +_080B9798: + movs r2, 0 + movs r7, 0x22 + ldrsh r0, [r3, r7] + cmp r2, r0 + bge _080B97CC + ldr r6, _080B97D4 @ =gSprites + adds r5, r3, 0 + adds r5, 0x8 +_080B97A8: + adds r0, r2, 0 + adds r0, 0x9 + lsls r0, 1 + adds r0, r5, r0 + movs r7, 0 + ldrsh r1, [r0, r7] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r6 + strh r4, [r0, 0x24] + adds r0, r2, 0x1 + lsls r0, 16 + lsrs r2, r0, 16 + movs r1, 0x22 + ldrsh r0, [r3, r1] + cmp r2, r0 + blt _080B97A8 +_080B97CC: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080B97D4: .4byte gSprites + thumb_func_end sub_80B9760 + + thumb_func_start sub_80B97D8 +sub_80B97D8: @ 80B97D8 + push {lr} + lsls r0, 24 + lsrs r1, r0, 24 + ldr r3, _080B97F8 @ =gBattleAnimArgs + movs r2, 0 + ldr r0, _080B97FC @ =gUnknown_2037EEC + ldrh r0, [r0] + cmp r0, 0x63 + bls _080B97EC + movs r2, 0x1 +_080B97EC: + strh r2, [r3, 0x1E] + adds r0, r1, 0 + bl DestroyAnimVisualTask + pop {r0} + bx r0 + .align 2, 0 +_080B97F8: .4byte gBattleAnimArgs +_080B97FC: .4byte gUnknown_2037EEC + thumb_func_end sub_80B97D8 + + thumb_func_start sub_80B9800 +sub_80B9800: @ 80B9800 + push {r4-r7,lr} + lsls r0, 24 + lsrs r7, r0, 24 + ldr r2, _080B9818 @ =gBattleAnimArgs + ldrh r1, [r2] + movs r0, 0x1 + ands r0, r1 + adds r6, r2, 0 + cmp r0, 0 + beq _080B9820 + ldr r0, _080B981C @ =gBattleAnimTarget + b _080B9822 + .align 2, 0 +_080B9818: .4byte gBattleAnimArgs +_080B981C: .4byte gBattleAnimTarget +_080B9820: + ldr r0, _080B9890 @ =gBattleAnimAttacker +_080B9822: + ldrb r0, [r0] + adds r5, r0, 0 + movs r1, 0 + ldrsh r0, [r6, r1] + cmp r0, 0x1 + ble _080B9832 + movs r0, 0x2 + eors r5, r0 +_080B9832: + ldr r0, _080B9894 @ =sub_80B98A8 + ldrb r1, [r6, 0x2] + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + lsls r4, r0, 2 + adds r4, r0 + lsls r4, 3 + ldr r0, _080B9898 @ =gTasks + adds r4, r0 + adds r0, r5, 0 + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x20 + subs r1, r0 + ldr r2, _080B989C @ =0x000001ff + adds r0, r2, 0 + ands r1, r0 + strh r1, [r4, 0xA] + adds r0, r5, 0 + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x40 + subs r1, r0 + movs r0, 0xFF + ands r1, r0 + strh r1, [r4, 0xC] + ldr r2, _080B98A0 @ =gBattle_BG3_X + ldrh r0, [r4, 0xA] + strh r0, [r2] + ldr r0, _080B98A4 @ =gBattle_BG3_Y + strh r1, [r0] + ldrh r0, [r6, 0x4] + strh r0, [r4, 0xE] + adds r0, r7, 0 + bl DestroyAnimVisualTask + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080B9890: .4byte gBattleAnimAttacker +_080B9894: .4byte sub_80B98A8 +_080B9898: .4byte gTasks +_080B989C: .4byte 0x000001ff +_080B98A0: .4byte gBattle_BG3_X +_080B98A4: .4byte gBattle_BG3_Y + thumb_func_end sub_80B9800 + + thumb_func_start sub_80B98A8 +sub_80B98A8: @ 80B98A8 + push {r4,lr} + lsls r0, 24 + lsrs r3, r0, 24 + lsls r0, r3, 2 + adds r0, r3 + lsls r0, 3 + ldr r1, _080B98D8 @ =gTasks + adds r2, r0, r1 + ldr r0, _080B98DC @ =gBattleAnimArgs + movs r4, 0xE + ldrsh r1, [r0, r4] + movs r4, 0xE + ldrsh r0, [r2, r4] + cmp r1, r0 + bne _080B98E8 + ldr r0, _080B98E0 @ =gBattle_BG3_X + movs r1, 0 + strh r1, [r0] + ldr r0, _080B98E4 @ =gBattle_BG3_Y + strh r1, [r0] + adds r0, r3, 0 + bl DestroyTask + b _080B98F4 + .align 2, 0 +_080B98D8: .4byte gTasks +_080B98DC: .4byte gBattleAnimArgs +_080B98E0: .4byte gBattle_BG3_X +_080B98E4: .4byte gBattle_BG3_Y +_080B98E8: + ldr r1, _080B98FC @ =gBattle_BG3_X + ldrh r0, [r2, 0xA] + strh r0, [r1] + ldr r1, _080B9900 @ =gBattle_BG3_Y + ldrh r0, [r2, 0xC] + strh r0, [r1] +_080B98F4: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080B98FC: .4byte gBattle_BG3_X +_080B9900: .4byte gBattle_BG3_Y + thumb_func_end sub_80B98A8 + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/normal.s b/asm/normal.s new file mode 100644 index 000000000..ab75382c1 --- /dev/null +++ b/asm/normal.s @@ -0,0 +1,1978 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start sub_80B9904 +sub_80B9904: @ 80B9904 + push {r4,r5,lr} + adds r4, r0, 0 + ldr r5, _080B993C @ =gBattleAnimArgs + ldrh r0, [r5] + ldrh r1, [r4, 0x20] + adds r0, r1 + strh r0, [r4, 0x20] + ldrh r0, [r5, 0x2] + ldrh r1, [r4, 0x22] + adds r0, r1 + strh r0, [r4, 0x22] + ldrh r0, [r5, 0x4] + strh r0, [r4, 0x2E] + ldr r0, _080B9940 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + lsrs r1, r0, 24 + cmp r1, 0 + beq _080B9944 + ldrh r0, [r5, 0x6] + negs r0, r0 + strh r0, [r4, 0x30] + movs r0, 0x1 + strh r0, [r4, 0x36] + b _080B9952 + .align 2, 0 +_080B993C: .4byte gBattleAnimArgs +_080B9940: .4byte gBattleAnimAttacker +_080B9944: + ldrh r0, [r5, 0x6] + strh r0, [r4, 0x30] + strh r1, [r4, 0x36] + adds r0, r4, 0 + movs r1, 0x1 + bl StartSpriteAnim +_080B9952: + ldr r0, _080B9968 @ =gBattleAnimArgs + ldrh r0, [r0, 0x8] + strh r0, [r4, 0x34] + ldr r1, _080B996C @ =sub_80B9970 + str r1, [r4, 0x1C] + adds r0, r4, 0 + bl _call_via_r1 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080B9968: .4byte gBattleAnimArgs +_080B996C: .4byte sub_80B9970 + thumb_func_end sub_80B9904 + + thumb_func_start sub_80B9970 +sub_80B9970: @ 80B9970 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x2E + ldrsh r0, [r4, r1] + movs r1, 0x1E + bl Cos + strh r0, [r4, 0x24] + movs r2, 0x2E + ldrsh r0, [r4, r2] + movs r1, 0xA + bl Sin + strh r0, [r4, 0x26] + ldrh r0, [r4, 0x2E] + cmp r0, 0x7F + bhi _080B99A2 + ldrb r0, [r4, 0x5] + movs r1, 0xD + negs r1, r1 + ands r1, r0 + movs r0, 0x4 + orrs r1, r0 + strb r1, [r4, 0x5] + b _080B99AA +_080B99A2: + ldrb r0, [r4, 0x5] + movs r1, 0xC + orrs r0, r1 + strb r0, [r4, 0x5] +_080B99AA: + ldrh r0, [r4, 0x30] + ldrh r1, [r4, 0x2E] + adds r0, r1 + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0x2E] + ldrh r0, [r4, 0x32] + adds r0, 0x1 + strh r0, [r4, 0x32] + lsls r0, 16 + asrs r0, 16 + movs r2, 0x34 + ldrsh r1, [r4, r2] + cmp r0, r1 + bne _080B99CE + adds r0, r4, 0 + bl DestroyAnimSprite +_080B99CE: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80B9970 + + thumb_func_start sub_80B99D4 +sub_80B99D4: @ 80B99D4 + push {r4,r5,lr} + sub sp, 0x4 + adds r5, r0, 0 + ldr r4, _080B9A0C @ =gBattleAnimArgs + movs r1, 0 + ldrsh r0, [r4, r1] + bl sub_80B9A14 + movs r1, 0x2 + ldrsb r1, [r4, r1] + ldrb r2, [r4, 0x4] + ldrb r3, [r4, 0x6] + ldrh r4, [r4, 0x8] + str r4, [sp] + bl BeginNormalPaletteFade + adds r2, r5, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] + ldr r0, _080B9A10 @ =sub_80B9A5C + str r0, [r5, 0x1C] + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080B9A0C: .4byte gBattleAnimArgs +_080B9A10: .4byte sub_80B9A5C + thumb_func_end sub_80B99D4 + + thumb_func_start sub_80B9A14 +sub_80B9A14: @ 80B9A14 + push {r4-r6,lr} + mov r6, r8 + push {r6} + sub sp, 0xC + lsls r0, 16 + lsrs r0, 16 + movs r4, 0x1 + mov r8, r0 + mov r1, r8 + ands r1, r4 + mov r8, r1 + lsls r0, 16 + asrs r1, r0, 17 + ands r1, r4 + asrs r2, r0, 18 + ands r2, r4 + asrs r3, r0, 19 + ands r3, r4 + asrs r6, r0, 20 + ands r6, r4 + asrs r5, r0, 21 + ands r5, r4 + asrs r0, 22 + ands r0, r4 + str r6, [sp] + str r5, [sp, 0x4] + str r0, [sp, 0x8] + mov r0, r8 + bl sub_8075BE8 + add sp, 0xC + pop {r3} + mov r8, r3 + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_80B9A14 + + thumb_func_start sub_80B9A5C +sub_80B9A5C: @ 80B9A5C + push {lr} + adds r2, r0, 0 + ldr r0, _080B9A78 @ =gPaletteFade + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + bne _080B9A72 + adds r0, r2, 0 + bl DestroyAnimSprite +_080B9A72: + pop {r0} + bx r0 + .align 2, 0 +_080B9A78: .4byte gPaletteFade + thumb_func_end sub_80B9A5C + + thumb_func_start sub_80B9A7C +sub_80B9A7C: @ 80B9A7C + push {r4,r5,lr} + adds r5, r0, 0 + ldr r4, _080B9AC8 @ =gBattleAnimArgs + ldrh r0, [r4, 0x2] + strh r0, [r5, 0x2E] + strh r0, [r5, 0x30] + ldrh r0, [r4, 0x4] + strh r0, [r5, 0x32] + ldrh r0, [r4, 0x6] + strh r0, [r5, 0x34] + ldrh r0, [r4, 0x8] + strh r0, [r5, 0x36] + ldrh r0, [r4, 0xA] + strh r0, [r5, 0x38] + ldrh r0, [r4, 0xC] + strh r0, [r5, 0x3A] + ldrh r0, [r4] + strh r0, [r5, 0x3C] + movs r1, 0x3C + ldrsh r0, [r5, r1] + bl sub_80B9A14 + ldrb r1, [r4, 0x8] + ldrh r2, [r4, 0x6] + bl BlendPalettes + adds r2, r5, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] + ldr r0, _080B9ACC @ =sub_80B9AD0 + str r0, [r5, 0x1C] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080B9AC8: .4byte gBattleAnimArgs +_080B9ACC: .4byte sub_80B9AD0 + thumb_func_end sub_80B9A7C + + thumb_func_start sub_80B9AD0 +sub_80B9AD0: @ 80B9AD0 + push {r4,lr} + adds r4, r0, 0 + ldrh r1, [r4, 0x2E] + movs r2, 0x2E + ldrsh r0, [r4, r2] + cmp r0, 0 + ble _080B9AE4 + subs r0, r1, 0x1 + strh r0, [r4, 0x2E] + b _080B9B54 +_080B9AE4: + ldr r0, _080B9B00 @ =gPaletteFade + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + bne _080B9B54 + movs r1, 0x32 + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080B9B08 + ldr r0, _080B9B04 @ =sub_80B9B5C + str r0, [r4, 0x1C] + b _080B9B54 + .align 2, 0 +_080B9B00: .4byte gPaletteFade +_080B9B04: .4byte sub_80B9B5C +_080B9B08: + movs r2, 0x3C + ldrsh r0, [r4, r2] + bl sub_80B9A14 + adds r3, r0, 0 + ldrh r1, [r4, 0x30] + movs r0, 0x80 + lsls r0, 1 + ands r0, r1 + cmp r0, 0 + beq _080B9B2E + ldrh r1, [r4, 0x36] + lsls r1, 24 + lsrs r1, 24 + ldrh r2, [r4, 0x34] + adds r0, r3, 0 + bl BlendPalettes + b _080B9B3C +_080B9B2E: + ldrh r1, [r4, 0x3A] + lsls r1, 24 + lsrs r1, 24 + ldrh r2, [r4, 0x38] + adds r0, r3, 0 + bl BlendPalettes +_080B9B3C: + ldrh r0, [r4, 0x30] + movs r2, 0x80 + lsls r2, 1 + adds r1, r2, 0 + eors r0, r1 + strh r0, [r4, 0x30] + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0x2E] + ldrh r0, [r4, 0x32] + subs r0, 0x1 + strh r0, [r4, 0x32] +_080B9B54: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80B9AD0 + + thumb_func_start sub_80B9B5C +sub_80B9B5C: @ 80B9B5C + push {r4,lr} + adds r4, r0, 0 + ldr r0, _080B9B88 @ =gPaletteFade + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + bne _080B9B82 + movs r1, 0x3C + ldrsh r0, [r4, r1] + bl sub_80B9A14 + movs r1, 0 + movs r2, 0 + bl BlendPalettes + adds r0, r4, 0 + bl DestroyAnimSprite +_080B9B82: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080B9B88: .4byte gPaletteFade + thumb_func_end sub_80B9B5C + + thumb_func_start sub_80B9B8C +sub_80B9B8C: @ 80B9B8C + push {r4,lr} + adds r4, r0, 0 + ldr r1, _080B9BD0 @ =gBattleAnimArgs + ldrh r0, [r1] + ldrh r2, [r4, 0x20] + adds r0, r2 + movs r2, 0 + strh r0, [r4, 0x20] + ldrh r0, [r1, 0x2] + ldrh r1, [r4, 0x22] + adds r0, r1 + strh r0, [r4, 0x22] + strh r2, [r4, 0x2E] + movs r0, 0xA + strh r0, [r4, 0x30] + movs r0, 0x8 + strh r0, [r4, 0x32] + movs r0, 0x28 + strh r0, [r4, 0x34] + movs r0, 0x70 + strh r0, [r4, 0x36] + strh r2, [r4, 0x38] + ldr r1, _080B9BD4 @ =move_anim_8074EE0 + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 + ldr r1, _080B9BD8 @ =sub_8074AE0 + str r1, [r4, 0x1C] + adds r0, r4, 0 + bl _call_via_r1 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080B9BD0: .4byte gBattleAnimArgs +_080B9BD4: .4byte move_anim_8074EE0 +_080B9BD8: .4byte sub_8074AE0 + thumb_func_end sub_80B9B8C + + thumb_func_start sub_80B9BDC +sub_80B9BDC: @ 80B9BDC + push {r4,r5,lr} + lsls r0, 24 + lsrs r0, 24 + ldr r1, _080B9C20 @ =gTasks + lsls r4, r0, 2 + adds r4, r0 + lsls r4, 3 + adds r4, r1 + ldr r3, _080B9C24 @ =gBattleAnimArgs + ldrh r1, [r3] + movs r5, 0 + strh r1, [r4, 0x8] + ldrh r1, [r3, 0x2] + strh r1, [r4, 0xA] + ldrh r1, [r3, 0x4] + strh r1, [r4, 0xC] + ldrh r1, [r3, 0x6] + strh r1, [r4, 0xE] + ldrh r2, [r3, 0x8] + strh r2, [r4, 0x10] + ldrh r1, [r3, 0xA] + strh r1, [r4, 0x12] + strh r5, [r4, 0x18] + lsls r2, 24 + lsrs r2, 24 + movs r1, 0 + bl sub_80B9C2C + ldr r0, _080B9C28 @ =sub_80B9C7C + str r0, [r4] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080B9C20: .4byte gTasks +_080B9C24: .4byte gBattleAnimArgs +_080B9C28: .4byte sub_80B9C7C + thumb_func_end sub_80B9BDC + + thumb_func_start sub_80B9C2C +sub_80B9C2C: @ 80B9C2C + push {r4-r6,lr} + sub sp, 0x4 + adds r5, r1, 0 + adds r6, r2, 0 + lsls r0, 24 + lsrs r0, 24 + lsls r5, 24 + lsrs r5, 24 + lsls r6, 24 + lsrs r6, 24 + ldr r1, _080B9C78 @ =gTasks + lsls r4, r0, 2 + adds r4, r0 + lsls r4, 3 + adds r4, r1 + movs r1, 0x8 + ldrsh r0, [r4, r1] + bl sub_80B9A14 + movs r1, 0xA + ldrsb r1, [r4, r1] + ldrh r2, [r4, 0x12] + str r2, [sp] + adds r2, r5, 0 + adds r3, r6, 0 + bl BeginNormalPaletteFade + ldrh r0, [r4, 0xC] + subs r0, 0x1 + strh r0, [r4, 0xC] + ldrh r0, [r4, 0x18] + movs r1, 0x1 + eors r0, r1 + strh r0, [r4, 0x18] + add sp, 0x4 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080B9C78: .4byte gTasks + thumb_func_end sub_80B9C2C + + thumb_func_start sub_80B9C7C +sub_80B9C7C: @ 80B9C7C + push {r4-r6,lr} + lsls r0, 24 + lsrs r3, r0, 24 + adds r4, r3, 0 + ldr r0, _080B9CB4 @ =gPaletteFade + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + bne _080B9CDE + ldr r1, _080B9CB8 @ =gTasks + lsls r2, r3, 2 + adds r0, r2, r3 + lsls r0, 3 + adds r3, r0, r1 + movs r5, 0xC + ldrsh r0, [r3, r5] + adds r6, r1, 0 + adds r5, r2, 0 + cmp r0, 0 + ble _080B9CD8 + movs r1, 0x18 + ldrsh r0, [r3, r1] + cmp r0, 0 + bne _080B9CBC + ldrb r1, [r3, 0xE] + ldrb r2, [r3, 0x10] + b _080B9CC0 + .align 2, 0 +_080B9CB4: .4byte gPaletteFade +_080B9CB8: .4byte gTasks +_080B9CBC: + ldrb r1, [r3, 0x10] + ldrb r2, [r3, 0xE] +_080B9CC0: + adds r0, r5, r4 + lsls r0, 3 + adds r0, r6 + movs r3, 0xC + ldrsh r0, [r0, r3] + cmp r0, 0x1 + bne _080B9CD0 + movs r2, 0 +_080B9CD0: + adds r0, r4, 0 + bl sub_80B9C2C + b _080B9CDE +_080B9CD8: + adds r0, r4, 0 + bl DestroyAnimVisualTask +_080B9CDE: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_80B9C7C + + thumb_func_start sub_80B9CE4 +sub_80B9CE4: @ 80B9CE4 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + lsls r0, 24 + lsrs r6, r0, 24 + movs r5, 0 + ldr r3, _080B9D88 @ =gTasks + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + adds r0, r3 + ldr r2, _080B9D8C @ =gBattleAnimArgs + ldrh r1, [r2] + strh r1, [r0, 0x8] + ldrh r1, [r2, 0x2] + strh r1, [r0, 0xA] + ldrh r1, [r2, 0x4] + strh r1, [r0, 0xC] + ldrh r1, [r2, 0x6] + strh r1, [r0, 0xE] + ldrh r1, [r2, 0x8] + strh r1, [r0, 0x10] + ldrh r1, [r2, 0xA] + strh r1, [r0, 0x12] + strh r5, [r0, 0x18] + movs r4, 0 + ldr r0, _080B9D90 @ =gBattlersCount + ldrb r1, [r0] + mov r9, r3 + mov r8, r2 + cmp r5, r1 + bge _080B9D4C + ldr r0, _080B9D94 @ =gBattleAnimAttacker + ldrb r3, [r0] + ldr r7, _080B9D98 @ =gBattleAnimTarget + movs r0, 0x1 + mov r12, r0 + adds r2, r1, 0 +_080B9D32: + cmp r4, r3 + beq _080B9D46 + ldrb r1, [r7] + cmp r4, r1 + beq _080B9D46 + adds r1, r4, 0 + adds r1, 0x10 + mov r0, r12 + lsls r0, r1 + orrs r5, r0 +_080B9D46: + adds r4, 0x1 + cmp r4, r2 + blt _080B9D32 +_080B9D4C: + mov r2, r8 + movs r1, 0 + ldrsh r0, [r2, r1] + cmp r0, 0x1 + bne _080B9D5A + movs r0, 0xE + orrs r5, r0 +_080B9D5A: + lsls r4, r6, 2 + adds r4, r6 + lsls r4, 3 + add r4, r9 + lsrs r0, r5, 16 + strh r0, [r4, 0x1A] + movs r0, 0xFF + ands r5, r0 + strh r5, [r4, 0x1C] + ldrb r2, [r4, 0x10] + adds r0, r6, 0 + movs r1, 0 + bl sub_80B9DA0 + ldr r0, _080B9D9C @ =sub_80B9DF0 + str r0, [r4] + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080B9D88: .4byte gTasks +_080B9D8C: .4byte gBattleAnimArgs +_080B9D90: .4byte gBattlersCount +_080B9D94: .4byte gBattleAnimAttacker +_080B9D98: .4byte gBattleAnimTarget +_080B9D9C: .4byte sub_80B9DF0 + thumb_func_end sub_80B9CE4 + + thumb_func_start sub_80B9DA0 +sub_80B9DA0: @ 80B9DA0 + push {r4,r5,lr} + sub sp, 0x4 + adds r5, r1, 0 + adds r3, r2, 0 + lsls r0, 24 + lsrs r0, 24 + lsls r5, 24 + lsrs r5, 24 + lsls r3, 24 + lsrs r3, 24 + ldr r1, _080B9DEC @ =gTasks + lsls r4, r0, 2 + adds r4, r0 + lsls r4, 3 + adds r4, r1 + ldrh r0, [r4, 0x1A] + lsls r0, 16 + ldrh r1, [r4, 0x1C] + orrs r0, r1 + movs r1, 0xA + ldrsb r1, [r4, r1] + ldrh r2, [r4, 0x12] + str r2, [sp] + adds r2, r5, 0 + bl BeginNormalPaletteFade + ldrh r0, [r4, 0xC] + subs r0, 0x1 + strh r0, [r4, 0xC] + ldrh r0, [r4, 0x18] + movs r1, 0x1 + eors r0, r1 + strh r0, [r4, 0x18] + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080B9DEC: .4byte gTasks + thumb_func_end sub_80B9DA0 + + thumb_func_start sub_80B9DF0 +sub_80B9DF0: @ 80B9DF0 + push {r4-r6,lr} + lsls r0, 24 + lsrs r3, r0, 24 + adds r4, r3, 0 + ldr r0, _080B9E28 @ =gPaletteFade + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + bne _080B9E52 + ldr r1, _080B9E2C @ =gTasks + lsls r2, r3, 2 + adds r0, r2, r3 + lsls r0, 3 + adds r3, r0, r1 + movs r5, 0xC + ldrsh r0, [r3, r5] + adds r6, r1, 0 + adds r5, r2, 0 + cmp r0, 0 + ble _080B9E4C + movs r1, 0x18 + ldrsh r0, [r3, r1] + cmp r0, 0 + bne _080B9E30 + ldrb r1, [r3, 0xE] + ldrb r2, [r3, 0x10] + b _080B9E34 + .align 2, 0 +_080B9E28: .4byte gPaletteFade +_080B9E2C: .4byte gTasks +_080B9E30: + ldrb r1, [r3, 0x10] + ldrb r2, [r3, 0xE] +_080B9E34: + adds r0, r5, r4 + lsls r0, 3 + adds r0, r6 + movs r3, 0xC + ldrsh r0, [r0, r3] + cmp r0, 0x1 + bne _080B9E44 + movs r2, 0 +_080B9E44: + adds r0, r4, 0 + bl sub_80B9DA0 + b _080B9E52 +_080B9E4C: + adds r0, r4, 0 + bl DestroyAnimVisualTask +_080B9E52: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_80B9DF0 + + thumb_func_start sub_80B9E58 +sub_80B9E58: @ 80B9E58 + push {r4,r5,lr} + lsls r0, 24 + lsrs r0, 24 + ldr r1, _080B9E9C @ =gTasks + lsls r4, r0, 2 + adds r4, r0 + lsls r4, 3 + adds r4, r1 + ldr r3, _080B9EA0 @ =gBattleAnimArgs + ldrh r1, [r3] + movs r5, 0 + strh r1, [r4, 0x8] + ldrh r1, [r3, 0x2] + strh r1, [r4, 0xA] + ldrh r1, [r3, 0x4] + strh r1, [r4, 0xC] + ldrh r1, [r3, 0x6] + strh r1, [r4, 0xE] + ldrh r2, [r3, 0x8] + strh r2, [r4, 0x10] + ldrh r1, [r3, 0xA] + strh r1, [r4, 0x12] + strh r5, [r4, 0x18] + lsls r2, 24 + lsrs r2, 24 + movs r1, 0 + bl sub_80B9EA8 + ldr r0, _080B9EA4 @ =sub_80B9F04 + str r0, [r4] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080B9E9C: .4byte gTasks +_080B9EA0: .4byte gBattleAnimArgs +_080B9EA4: .4byte sub_80B9F04 + thumb_func_end sub_80B9E58 + + thumb_func_start sub_80B9EA8 +sub_80B9EA8: @ 80B9EA8 + push {r4-r6,lr} + sub sp, 0x4 + adds r5, r1, 0 + adds r6, r2, 0 + lsls r0, 24 + lsrs r0, 24 + lsls r5, 24 + lsrs r5, 24 + lsls r6, 24 + lsrs r6, 24 + ldr r1, _080B9F00 @ =gTasks + lsls r4, r0, 2 + adds r4, r0 + lsls r4, 3 + adds r4, r1 + ldrh r0, [r4, 0x8] + bl IndexOfSpritePaletteTag + lsls r0, 24 + lsrs r0, 24 + adds r0, 0x10 + movs r2, 0x1 + lsls r2, r0 + movs r1, 0xA + ldrsb r1, [r4, r1] + ldrh r0, [r4, 0x12] + str r0, [sp] + adds r0, r2, 0 + adds r2, r5, 0 + adds r3, r6, 0 + bl BeginNormalPaletteFade + ldrh r0, [r4, 0xC] + subs r0, 0x1 + strh r0, [r4, 0xC] + ldrh r0, [r4, 0x18] + movs r1, 0x1 + eors r0, r1 + strh r0, [r4, 0x18] + add sp, 0x4 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080B9F00: .4byte gTasks + thumb_func_end sub_80B9EA8 + + thumb_func_start sub_80B9F04 +sub_80B9F04: @ 80B9F04 + push {r4-r6,lr} + lsls r0, 24 + lsrs r3, r0, 24 + adds r4, r3, 0 + ldr r0, _080B9F3C @ =gPaletteFade + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + bne _080B9F66 + ldr r1, _080B9F40 @ =gTasks + lsls r2, r3, 2 + adds r0, r2, r3 + lsls r0, 3 + adds r3, r0, r1 + movs r5, 0xC + ldrsh r0, [r3, r5] + adds r6, r1, 0 + adds r5, r2, 0 + cmp r0, 0 + ble _080B9F60 + movs r1, 0x18 + ldrsh r0, [r3, r1] + cmp r0, 0 + bne _080B9F44 + ldrb r1, [r3, 0xE] + ldrb r2, [r3, 0x10] + b _080B9F48 + .align 2, 0 +_080B9F3C: .4byte gPaletteFade +_080B9F40: .4byte gTasks +_080B9F44: + ldrb r1, [r3, 0x10] + ldrb r2, [r3, 0xE] +_080B9F48: + adds r0, r5, r4 + lsls r0, 3 + adds r0, r6 + movs r3, 0xC + ldrsh r0, [r0, r3] + cmp r0, 0x1 + bne _080B9F58 + movs r2, 0 +_080B9F58: + adds r0, r4, 0 + bl sub_80B9EA8 + b _080B9F66 +_080B9F60: + adds r0, r4, 0 + bl DestroyAnimVisualTask +_080B9F66: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_80B9F04 + + thumb_func_start sub_80B9F6C +sub_80B9F6C: @ 80B9F6C + push {r4,r5,lr} + sub sp, 0x4 + lsls r0, 24 + lsrs r0, 24 + ldr r1, _080B9FCC @ =gTasks + lsls r4, r0, 2 + adds r4, r0 + lsls r4, 3 + adds r4, r1 + ldr r5, _080B9FD0 @ =gBattleAnimArgs + ldrh r0, [r5, 0x2] + strh r0, [r4, 0x8] + ldrh r0, [r5, 0x2] + strh r0, [r4, 0xA] + ldrh r0, [r5, 0x4] + strh r0, [r4, 0xC] + ldrh r0, [r5, 0x6] + strh r0, [r4, 0xE] + ldrh r0, [r5, 0x8] + strh r0, [r4, 0x10] + ldrh r0, [r5, 0xA] + strh r0, [r4, 0x12] + ldrh r0, [r5, 0xC] + strh r0, [r4, 0x14] + ldrh r0, [r5] + strh r0, [r4, 0x16] + ldrh r0, [r5] + bl IndexOfSpritePaletteTag + lsls r0, 24 + lsrs r0, 24 + adds r0, 0x10 + movs r1, 0x1 + lsls r1, r0 + ldrb r3, [r5, 0x8] + ldrh r0, [r5, 0x6] + str r0, [sp] + adds r0, r1, 0 + movs r1, 0 + adds r2, r3, 0 + bl BeginNormalPaletteFade + ldr r0, _080B9FD4 @ =sub_80B9FD8 + str r0, [r4] + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080B9FCC: .4byte gTasks +_080B9FD0: .4byte gBattleAnimArgs +_080B9FD4: .4byte sub_80B9FD8 + thumb_func_end sub_80B9F6C + + thumb_func_start sub_80B9FD8 +sub_80B9FD8: @ 80B9FD8 + push {r4,r5,lr} + sub sp, 0x4 + lsls r0, 24 + lsrs r5, r0, 24 + ldr r1, _080B9FFC @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r4, r0, r1 + ldrh r1, [r4, 0x8] + movs r2, 0x8 + ldrsh r0, [r4, r2] + cmp r0, 0 + ble _080BA000 + subs r0, r1, 0x1 + strh r0, [r4, 0x8] + b _080BA084 + .align 2, 0 +_080B9FFC: .4byte gTasks +_080BA000: + ldr r0, _080BA01C @ =gPaletteFade + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + bne _080BA084 + movs r3, 0xC + ldrsh r0, [r4, r3] + cmp r0, 0 + bne _080BA024 + ldr r0, _080BA020 @ =sub_80BA090 + str r0, [r4] + b _080BA084 + .align 2, 0 +_080BA01C: .4byte gPaletteFade +_080BA020: .4byte sub_80BA090 +_080BA024: + ldrh r0, [r4, 0x16] + bl IndexOfSpritePaletteTag + lsls r0, 24 + lsrs r0, 24 + adds r0, 0x10 + movs r2, 0x1 + lsls r2, r0 + ldrh r1, [r4, 0xA] + movs r0, 0x80 + lsls r0, 1 + ands r0, r1 + cmp r0, 0 + beq _080BA052 + ldrb r3, [r4, 0x10] + ldrh r0, [r4, 0xE] + str r0, [sp] + adds r0, r2, 0 + movs r1, 0 + adds r2, r3, 0 + bl BeginNormalPaletteFade + b _080BA062 +_080BA052: + ldrb r3, [r4, 0x14] + ldrh r0, [r4, 0x12] + str r0, [sp] + adds r0, r2, 0 + movs r1, 0 + adds r2, r3, 0 + bl BeginNormalPaletteFade +_080BA062: + ldr r0, _080BA08C @ =gTasks + lsls r1, r5, 2 + adds r1, r5 + lsls r1, 3 + adds r1, r0 + ldrh r0, [r1, 0xA] + movs r3, 0x80 + lsls r3, 1 + adds r2, r3, 0 + eors r0, r2 + strh r0, [r1, 0xA] + movs r2, 0xFF + ands r0, r2 + strh r0, [r1, 0x8] + ldrh r0, [r1, 0xC] + subs r0, 0x1 + strh r0, [r1, 0xC] +_080BA084: + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080BA08C: .4byte gTasks + thumb_func_end sub_80B9FD8 + + thumb_func_start sub_80BA090 +sub_80BA090: @ 80BA090 + push {r4,r5,lr} + sub sp, 0x4 + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _080BA0E0 @ =gPaletteFade + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0 + bne _080BA0D6 + ldr r1, _080BA0E4 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldrh r0, [r0, 0x16] + bl IndexOfSpritePaletteTag + lsls r0, 24 + lsrs r0, 24 + adds r0, 0x10 + movs r1, 0x1 + lsls r1, r0 + str r5, [sp] + adds r0, r1, 0 + movs r1, 0 + movs r2, 0 + movs r3, 0 + bl BeginNormalPaletteFade + adds r0, r4, 0 + bl DestroyAnimVisualTask +_080BA0D6: + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080BA0E0: .4byte gPaletteFade +_080BA0E4: .4byte gTasks + thumb_func_end sub_80BA090 + + thumb_func_start sub_80BA0E8 +sub_80BA0E8: @ 80BA0E8 + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0xC + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + movs r2, 0 + ldr r0, _080BA160 @ =gBattleAnimAttacker + ldrb r6, [r0] + ldr r0, _080BA164 @ =gBattleAnimTarget + ldrb r7, [r0] + ldr r4, _080BA168 @ =gBattleAnimArgs + ldrh r1, [r4] + movs r5, 0x80 + lsls r5, 1 + adds r0, r5, 0 + ands r0, r1 + cmp r0, 0 + beq _080BA122 + str r2, [sp] + str r2, [sp, 0x4] + str r2, [sp, 0x8] + movs r0, 0x1 + movs r1, 0 + movs r3, 0 + bl sub_8075BE8 + adds r2, r0, 0 +_080BA122: + ldrh r1, [r4, 0x2] + adds r0, r5, 0 + ands r0, r1 + cmp r0, 0 + beq _080BA134 + movs r0, 0x80 + lsls r0, 9 + lsls r0, r6 + orrs r2, r0 +_080BA134: + ldrh r1, [r4, 0x4] + adds r0, r5, 0 + ands r0, r1 + cmp r0, 0 + beq _080BA146 + movs r0, 0x80 + lsls r0, 9 + lsls r0, r7 + orrs r2, r0 +_080BA146: + adds r0, r2, 0 + bl InvertPlttBuffer + mov r0, r8 + bl DestroyAnimVisualTask + add sp, 0xC + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080BA160: .4byte gBattleAnimAttacker +_080BA164: .4byte gBattleAnimTarget +_080BA168: .4byte gBattleAnimArgs + thumb_func_end sub_80BA0E8 + + thumb_func_start sub_80BA16C +sub_80BA16C: @ 80BA16C + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + movs r5, 0 + ldr r1, _080BA260 @ =gTasks + lsls r0, 2 + add r0, r8 + lsls r0, 3 + adds r4, r0, r1 + movs r1, 0x8 + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080BA1AE + ldr r1, _080BA264 @ =gBattleAnimArgs + ldrh r0, [r1] + strh r0, [r4, 0xC] + ldrh r0, [r1, 0x2] + strh r0, [r4, 0xE] + ldrh r0, [r1, 0x4] + strh r0, [r4, 0x10] + ldrh r0, [r1, 0x6] + strh r0, [r4, 0xA] + ldrh r0, [r1, 0x8] + strh r0, [r4, 0x12] + ldrh r0, [r1, 0xA] + strh r0, [r4, 0x14] + ldrh r0, [r1, 0xC] + strh r0, [r4, 0x16] +_080BA1AE: + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] + ldr r0, _080BA268 @ =gBattleAnimAttacker + ldrb r0, [r0] + mov r9, r0 + ldr r0, _080BA26C @ =gBattleAnimTarget + ldrb r0, [r0] + mov r10, r0 + ldrh r1, [r4, 0xC] + movs r7, 0x80 + lsls r7, 1 + adds r0, r7, 0 + ands r0, r1 + cmp r0, 0 + beq _080BA1D0 + ldr r5, _080BA270 @ =0x0000ffff +_080BA1D0: + movs r6, 0x1 + adds r0, r6, 0 + ands r0, r1 + cmp r0, 0 + beq _080BA200 + ldr r2, _080BA274 @ =gSprites + ldr r0, _080BA278 @ =gUnknown_3004FF0 + add r0, r9 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r2, 0x14 + adds r0, r2 + ldr r0, [r0] + ldrh r0, [r0, 0x2] + bl IndexOfSpritePaletteTag + lsls r0, 24 + lsrs r0, 24 + adds r1, r6, 0 + lsls r1, r0 + lsls r1, 16 + orrs r5, r1 +_080BA200: + ldrh r1, [r4, 0xE] + adds r0, r7, 0 + ands r0, r1 + cmp r0, 0 + beq _080BA214 + adds r0, r6, 0 + mov r2, r9 + lsls r0, r2 + lsls r0, 16 + orrs r5, r0 +_080BA214: + ldrh r1, [r4, 0x10] + adds r0, r7, 0 + ands r0, r1 + cmp r0, 0 + beq _080BA228 + adds r0, r6, 0 + mov r1, r10 + lsls r0, r1 + lsls r0, 16 + orrs r5, r0 +_080BA228: + movs r1, 0x12 + ldrsb r1, [r4, r1] + movs r2, 0x14 + ldrsb r2, [r4, r2] + movs r3, 0x16 + ldrsb r3, [r4, r3] + adds r0, r5, 0 + bl TintPlttBuffer + movs r2, 0x8 + ldrsh r1, [r4, r2] + movs r2, 0xA + ldrsh r0, [r4, r2] + cmp r1, r0 + bne _080BA252 + adds r0, r5, 0 + bl UnfadePlttBuffer + mov r0, r8 + bl DestroyAnimVisualTask +_080BA252: + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080BA260: .4byte gTasks +_080BA264: .4byte gBattleAnimArgs +_080BA268: .4byte gBattleAnimAttacker +_080BA26C: .4byte gBattleAnimTarget +_080BA270: .4byte 0x0000ffff +_080BA274: .4byte gSprites +_080BA278: .4byte gUnknown_3004FF0 + thumb_func_end sub_80BA16C + + thumb_func_start sub_80BA27C +sub_80BA27C: @ 80BA27C + push {r4,lr} + adds r4, r0, 0 + adds r2, r4, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] + ldr r1, _080BA2B0 @ =gBattleAnimArgs + ldrh r0, [r1] + negs r0, r0 + strh r0, [r4, 0x2E] + ldrh r0, [r1, 0x2] + strh r0, [r4, 0x30] + strh r0, [r4, 0x32] + ldrh r0, [r1, 0x4] + strh r0, [r4, 0x34] + movs r2, 0x6 + ldrsh r0, [r1, r2] + cmp r0, 0x1 + beq _080BA2C4 + cmp r0, 0x1 + bgt _080BA2B4 + cmp r0, 0 + beq _080BA2BA + b _080BA2DC + .align 2, 0 +_080BA2B0: .4byte gBattleAnimArgs +_080BA2B4: + cmp r0, 0x2 + beq _080BA2CC + b _080BA2DC +_080BA2BA: + ldr r1, _080BA2C0 @ =gBattle_BG3_X + b _080BA2CE + .align 2, 0 +_080BA2C0: .4byte gBattle_BG3_X +_080BA2C4: + ldr r1, _080BA2C8 @ =gBattle_BG3_Y + b _080BA2CE + .align 2, 0 +_080BA2C8: .4byte gBattle_BG3_Y +_080BA2CC: + ldr r1, _080BA2D8 @ =gSpriteCoordOffsetX +_080BA2CE: + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 + b _080BA2E4 + .align 2, 0 +_080BA2D8: .4byte gSpriteCoordOffsetX +_080BA2DC: + ldr r1, _080BA314 @ =gSpriteCoordOffsetY + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 +_080BA2E4: + movs r0, 0x3A + ldrsh r1, [r4, r0] + movs r2, 0x3C + ldrsh r0, [r4, r2] + lsls r0, 16 + orrs r1, r0 + ldrh r0, [r1] + strh r0, [r4, 0x36] + ldr r0, _080BA318 @ =gBattleAnimArgs + ldrh r0, [r0, 0x6] + strh r0, [r4, 0x38] + subs r0, 0x2 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x1 + bhi _080BA308 + bl sub_80BA3CC +_080BA308: + ldr r0, _080BA31C @ =sub_80BA320 + str r0, [r4, 0x1C] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080BA314: .4byte gSpriteCoordOffsetY +_080BA318: .4byte gBattleAnimArgs +_080BA31C: .4byte sub_80BA320 + thumb_func_end sub_80BA27C + + thumb_func_start sub_80BA320 +sub_80BA320: @ 80BA320 + push {r4-r7,lr} + adds r3, r0, 0 + ldrh r1, [r3, 0x34] + movs r2, 0x34 + ldrsh r0, [r3, r2] + cmp r0, 0 + ble _080BA362 + subs r0, r1, 0x1 + strh r0, [r3, 0x34] + ldrh r1, [r3, 0x30] + movs r2, 0x30 + ldrsh r0, [r3, r2] + cmp r0, 0 + ble _080BA342 + subs r0, r1, 0x1 + strh r0, [r3, 0x30] + b _080BA3BA +_080BA342: + ldrh r0, [r3, 0x32] + strh r0, [r3, 0x30] + movs r0, 0x3A + ldrsh r1, [r3, r0] + movs r2, 0x3C + ldrsh r0, [r3, r2] + lsls r0, 16 + orrs r1, r0 + ldrh r0, [r3, 0x2E] + ldrh r2, [r1] + adds r0, r2 + strh r0, [r1] + ldrh r0, [r3, 0x2E] + negs r0, r0 + strh r0, [r3, 0x2E] + b _080BA3BA +_080BA362: + movs r0, 0x3A + ldrsh r1, [r3, r0] + movs r2, 0x3C + ldrsh r0, [r3, r2] + lsls r0, 16 + orrs r1, r0 + ldrh r0, [r3, 0x36] + strh r0, [r1] + ldrh r0, [r3, 0x38] + subs r0, 0x2 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x1 + bhi _080BA3B4 + movs r4, 0 + ldr r5, _080BA3C0 @ =gBattlersCount + ldrb r0, [r5] + cmp r4, r0 + bcs _080BA3B4 + ldr r2, _080BA3C4 @ =gSprites + mov r12, r2 + ldr r6, _080BA3C8 @ =gUnknown_2023D44 + movs r7, 0x3 + negs r7, r7 +_080BA392: + adds r0, r4, r6 + ldrb r0, [r0] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + add r1, r12 + adds r1, 0x3E + ldrb r2, [r1] + adds r0, r7, 0 + ands r0, r2 + strb r0, [r1] + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + ldrb r0, [r5] + cmp r4, r0 + bcc _080BA392 +_080BA3B4: + adds r0, r3, 0 + bl DestroyAnimSprite +_080BA3BA: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080BA3C0: .4byte gBattlersCount +_080BA3C4: .4byte gSprites +_080BA3C8: .4byte gUnknown_2023D44 + thumb_func_end sub_80BA320 + + thumb_func_start sub_80BA3CC +sub_80BA3CC: @ 80BA3CC + push {r4-r6,lr} + ldr r6, _080BA440 @ =gSprites + ldr r4, _080BA444 @ =gUnknown_2023D44 + ldr r5, _080BA448 @ =gBattleAnimAttacker + ldrb r0, [r5] + adds r0, r4 + ldrb r0, [r0] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r6 + adds r1, 0x3E + ldrb r3, [r1] + movs r2, 0x3 + negs r2, r2 + adds r0, r2, 0 + ands r0, r3 + strb r0, [r1] + ldr r3, _080BA44C @ =gBattleAnimTarget + ldrb r0, [r3] + adds r0, r4 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r6 + adds r0, 0x3E + ldrb r1, [r0] + ands r2, r1 + strb r2, [r0] + ldr r0, _080BA450 @ =gBattleAnimArgs + movs r1, 0x8 + ldrsh r0, [r0, r1] + cmp r0, 0x2 + bne _080BA454 + ldrb r0, [r5] + adds r0, r4 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r6 + adds r0, 0x3E + ldrb r1, [r0] + movs r2, 0x2 + orrs r1, r2 + strb r1, [r0] + ldrb r0, [r3] + adds r0, r4 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r6 + adds r0, 0x3E + ldrb r1, [r0] + b _080BA470 + .align 2, 0 +_080BA440: .4byte gSprites +_080BA444: .4byte gUnknown_2023D44 +_080BA448: .4byte gBattleAnimAttacker +_080BA44C: .4byte gBattleAnimTarget +_080BA450: .4byte gBattleAnimArgs +_080BA454: + cmp r0, 0 + bne _080BA45C + ldrb r0, [r5] + b _080BA45E +_080BA45C: + ldrb r0, [r3] +_080BA45E: + adds r0, r4 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r6 + adds r0, 0x3E + ldrb r1, [r0] + movs r2, 0x2 +_080BA470: + orrs r1, r2 + strb r1, [r0] + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_80BA3CC + + thumb_func_start sub_80BA47C +sub_80BA47C: @ 80BA47C + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + ldr r1, _080BA4BC @ =gTasks + lsls r2, r0, 2 + adds r2, r0 + lsls r2, 3 + adds r2, r1 + ldr r3, _080BA4C0 @ =gBattleAnimArgs + ldrh r1, [r3] + strh r1, [r2, 0x8] + ldrh r1, [r3, 0x2] + strh r1, [r2, 0xA] + ldrh r1, [r3, 0x4] + strh r1, [r2, 0xC] + ldrh r1, [r3, 0x6] + strh r1, [r2, 0xE] + ldrh r1, [r3, 0x6] + strh r1, [r2, 0x18] + ldr r4, _080BA4C4 @ =gBattle_BG3_X + ldrh r1, [r3] + strh r1, [r4] + ldr r4, _080BA4C8 @ =gBattle_BG3_Y + ldrh r1, [r3, 0x2] + strh r1, [r4] + ldr r1, _080BA4CC @ =sub_80BA4D0 + str r1, [r2] + bl _call_via_r1 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080BA4BC: .4byte gTasks +_080BA4C0: .4byte gBattleAnimArgs +_080BA4C4: .4byte gBattle_BG3_X +_080BA4C8: .4byte gBattle_BG3_Y +_080BA4CC: .4byte sub_80BA4D0 + thumb_func_end sub_80BA47C + + thumb_func_start sub_80BA4D0 +sub_80BA4D0: @ 80BA4D0 + push {r4-r7,lr} + lsls r0, 24 + lsrs r5, r0, 24 + ldr r1, _080BA500 @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r3, r0, r1 + ldrh r2, [r3, 0xE] + movs r4, 0xE + ldrsh r0, [r3, r4] + mov r12, r1 + cmp r0, 0 + bne _080BA556 + ldr r0, _080BA504 @ =gBattle_BG3_X + ldrh r2, [r0] + movs r7, 0x8 + ldrsh r1, [r3, r7] + adds r6, r0, 0 + cmp r2, r1 + bne _080BA508 + ldrh r0, [r3, 0x8] + negs r0, r0 + b _080BA50A + .align 2, 0 +_080BA500: .4byte gTasks +_080BA504: .4byte gBattle_BG3_X +_080BA508: + ldrh r0, [r3, 0x8] +_080BA50A: + strh r0, [r6] + ldr r2, _080BA528 @ =gBattle_BG3_Y + ldrh r3, [r2] + lsls r1, r5, 2 + adds r0, r1, r5 + lsls r0, 3 + mov r7, r12 + adds r4, r0, r7 + movs r7, 0xA + ldrsh r0, [r4, r7] + cmn r3, r0 + bne _080BA52C + movs r0, 0 + b _080BA530 + .align 2, 0 +_080BA528: .4byte gBattle_BG3_Y +_080BA52C: + ldrh r0, [r4, 0xA] + negs r0, r0 +_080BA530: + strh r0, [r2] + adds r0, r1, r5 + lsls r0, 3 + add r0, r12 + ldrh r1, [r0, 0x18] + strh r1, [r0, 0xE] + ldrh r1, [r0, 0xC] + subs r1, 0x1 + strh r1, [r0, 0xC] + lsls r1, 16 + asrs r1, 16 + cmp r1, 0 + bne _080BA55A + strh r1, [r6] + strh r1, [r2] + adds r0, r5, 0 + bl DestroyAnimVisualTask + b _080BA55A +_080BA556: + subs r0, r2, 0x1 + strh r0, [r3, 0xE] +_080BA55A: + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80BA4D0 + + thumb_func_start sub_80BA560 +sub_80BA560: @ 80BA560 + push {r4,r5,lr} + adds r5, r0, 0 + ldr r4, _080BA580 @ =gBattleAnimArgs + ldrb r1, [r4, 0x6] + bl StartSpriteAffineAnim + movs r1, 0x4 + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080BA584 + adds r0, r5, 0 + movs r1, 0x1 + bl sub_8075160 + b _080BA58C + .align 2, 0 +_080BA580: .4byte gBattleAnimArgs +_080BA584: + adds r0, r5, 0 + movs r1, 0x1 + bl sub_8075114 +_080BA58C: + ldr r0, _080BA5A0 @ =sub_8074F50 + str r0, [r5, 0x1C] + ldr r1, _080BA5A4 @ =DestroyAnimSprite + adds r0, r5, 0 + bl StoreSpriteCallbackInData6 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080BA5A0: .4byte sub_8074F50 +_080BA5A4: .4byte DestroyAnimSprite + thumb_func_end sub_80BA560 + + thumb_func_start sub_80BA5A8 +sub_80BA5A8: @ 80BA5A8 + push {r4,r5,lr} + adds r5, r0, 0 + ldr r4, _080BA5C8 @ =gBattleAnimArgs + ldrb r1, [r4, 0x6] + bl StartSpriteAffineAnim + movs r1, 0x4 + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080BA5CC + adds r0, r5, 0 + movs r1, 0x1 + bl sub_8075160 + b _080BA5D4 + .align 2, 0 +_080BA5C8: .4byte gBattleAnimArgs +_080BA5CC: + adds r0, r5, 0 + movs r1, 0x1 + bl sub_8075114 +_080BA5D4: + ldr r0, _080BA5EC @ =gBattleAnimArgs + ldrh r0, [r0, 0x8] + strh r0, [r5, 0x2E] + ldr r0, _080BA5F0 @ =sub_8074F50 + str r0, [r5, 0x1C] + ldr r1, _080BA5F4 @ =sub_80B1D3C + adds r0, r5, 0 + bl StoreSpriteCallbackInData6 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080BA5EC: .4byte gBattleAnimArgs +_080BA5F0: .4byte sub_8074F50 +_080BA5F4: .4byte sub_80B1D3C + thumb_func_end sub_80BA5A8 + + thumb_func_start sub_80BA5F8 +sub_80BA5F8: @ 80BA5F8 + push {r4,lr} + adds r4, r0, 0 + ldr r0, _080BA628 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080BA61C + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080BA61C + ldr r1, _080BA62C @ =gBattleAnimArgs + ldrh r0, [r1, 0x2] + negs r0, r0 + strh r0, [r1, 0x2] +_080BA61C: + adds r0, r4, 0 + bl sub_80BA560 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080BA628: .4byte gBattleAnimAttacker +_080BA62C: .4byte gBattleAnimArgs + thumb_func_end sub_80BA5F8 + + thumb_func_start sub_80BA630 +sub_80BA630: @ 80BA630 + push {r4,r5,lr} + adds r4, r0, 0 + ldr r5, _080BA668 @ =gBattleAnimArgs + movs r0, 0x2 + ldrsh r1, [r5, r0] + movs r0, 0x1 + negs r0, r0 + cmp r1, r0 + bne _080BA64C + bl Random + movs r1, 0x3 + ands r1, r0 + strh r1, [r5, 0x2] +_080BA64C: + ldrb r1, [r5, 0x2] + adds r0, r4, 0 + bl StartSpriteAffineAnim + movs r1, 0 + ldrsh r0, [r5, r1] + cmp r0, 0 + bne _080BA66C + adds r0, r4, 0 + movs r1, 0 + bl sub_8075160 + b _080BA674 + .align 2, 0 +_080BA668: .4byte gBattleAnimArgs +_080BA66C: + adds r0, r4, 0 + movs r1, 0 + bl sub_8075114 +_080BA674: + bl Random + lsls r0, 16 + lsrs r0, 16 + movs r1, 0x30 + bl __umodsi3 + ldr r1, _080BA6B8 @ =0x0000ffe8 + adds r0, r1 + ldrh r1, [r4, 0x24] + adds r0, r1 + strh r0, [r4, 0x24] + bl Random + lsls r0, 16 + lsrs r0, 16 + movs r1, 0x18 + bl __umodsi3 + ldr r1, _080BA6BC @ =0x0000fff4 + adds r0, r1 + ldrh r1, [r4, 0x26] + adds r0, r1 + strh r0, [r4, 0x26] + ldr r1, _080BA6C0 @ =move_anim_8074EE0 + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 + ldr r0, _080BA6C4 @ =sub_8074F50 + str r0, [r4, 0x1C] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080BA6B8: .4byte 0x0000ffe8 +_080BA6BC: .4byte 0x0000fff4 +_080BA6C0: .4byte move_anim_8074EE0 +_080BA6C4: .4byte sub_8074F50 + thumb_func_end sub_80BA630 + + thumb_func_start sub_80BA6C8 +sub_80BA6C8: @ 80BA6C8 + push {r4,r5,lr} + adds r4, r0, 0 + ldr r5, _080BA728 @ =gBattleAnimArgs + ldrb r0, [r5] + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x2E] + ldr r2, _080BA72C @ =gSprites + movs r0, 0x2E + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r1, [r0, 0x24] + ldrh r0, [r0, 0x20] + adds r1, r0 + strh r1, [r4, 0x20] + movs r0, 0x2E + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r1, [r0, 0x26] + ldrh r0, [r0, 0x22] + adds r1, r0 + strh r1, [r4, 0x22] + ldrh r0, [r5, 0x2] + strh r0, [r4, 0x24] + ldrh r0, [r5, 0x4] + strh r0, [r4, 0x26] + ldrb r1, [r5, 0x6] + adds r0, r4, 0 + bl StartSpriteAffineAnim + ldr r1, _080BA730 @ =move_anim_8074EE0 + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 + ldr r0, _080BA734 @ =sub_8074F50 + str r0, [r4, 0x1C] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080BA728: .4byte gBattleAnimArgs +_080BA72C: .4byte gSprites +_080BA730: .4byte move_anim_8074EE0 +_080BA734: .4byte sub_8074F50 + thumb_func_end sub_80BA6C8 + + thumb_func_start sub_80BA738 +sub_80BA738: @ 80BA738 + push {r4,lr} + adds r4, r0, 0 + ldr r0, _080BA750 @ =gBattleAnimArgs + movs r1, 0x4 + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _080BA754 + adds r0, r4, 0 + movs r1, 0x1 + bl sub_8075160 + b _080BA75C + .align 2, 0 +_080BA750: .4byte gBattleAnimArgs +_080BA754: + adds r0, r4, 0 + movs r1, 0x1 + bl sub_8075114 +_080BA75C: + ldr r0, _080BA774 @ =gBattleAnimArgs + ldrh r0, [r0, 0x6] + strh r0, [r4, 0x2E] + ldr r1, _080BA778 @ =DestroyAnimSprite + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 + ldr r0, _080BA77C @ =sub_8074C44 + str r0, [r4, 0x1C] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080BA774: .4byte gBattleAnimArgs +_080BA778: .4byte DestroyAnimSprite +_080BA77C: .4byte sub_8074C44 + thumb_func_end sub_80BA738 + + thumb_func_start sub_80BA780 +sub_80BA780: @ 80BA780 + push {r4,r5,lr} + adds r5, r0, 0 + ldr r4, _080BA7A0 @ =gBattleAnimArgs + ldrb r1, [r4, 0x6] + bl StartSpriteAffineAnim + movs r1, 0x4 + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080BA7A4 + adds r0, r5, 0 + movs r1, 0x1 + bl sub_8075160 + b _080BA7AC + .align 2, 0 +_080BA7A0: .4byte gBattleAnimArgs +_080BA7A4: + adds r0, r5, 0 + movs r1, 0x1 + bl sub_8075114 +_080BA7AC: + ldr r0, _080BA7B8 @ =sub_80BA7BC + str r0, [r5, 0x1C] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080BA7B8: .4byte sub_80BA7BC + thumb_func_end sub_80BA780 + + thumb_func_start sub_80BA7BC +sub_80BA7BC: @ 80BA7BC + push {lr} + adds r3, r0, 0 + movs r0, 0x3E + adds r0, r3 + mov r12, r0 + ldrb r2, [r0] + lsls r0, r2, 29 + lsrs r0, 31 + movs r1, 0x1 + eors r1, r0 + lsls r1, 2 + movs r0, 0x5 + negs r0, r0 + ands r0, r2 + orrs r0, r1 + mov r1, r12 + strb r0, [r1] + ldrh r0, [r3, 0x2E] + adds r1, r0, 0x1 + strh r1, [r3, 0x2E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xC + ble _080BA7F2 + adds r0, r3, 0 + bl DestroyAnimSprite +_080BA7F2: + pop {r0} + bx r0 + thumb_func_end sub_80BA7BC + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/rock.s b/asm/rock.s new file mode 100644 index 000000000..1708b77a5 --- /dev/null +++ b/asm/rock.s @@ -0,0 +1,1558 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start sub_80B4634 +sub_80B4634: @ 80B4634 + push {r4-r6,lr} + adds r5, r0, 0 + ldr r6, _080B46A0 @ =gBattleAnimArgs + movs r1, 0x6 + ldrsh r0, [r6, r1] + cmp r0, 0 + beq _080B4654 + ldr r0, _080B46A4 @ =gBattleAnimTarget + ldrb r0, [r0] + adds r2, r5, 0 + adds r2, 0x20 + adds r3, r5, 0 + adds r3, 0x22 + movs r1, 0 + bl sub_8076D9C +_080B4654: + ldrh r0, [r6] + ldrh r1, [r5, 0x20] + adds r0, r1 + movs r4, 0 + strh r0, [r5, 0x20] + ldrh r0, [r5, 0x22] + adds r0, 0xE + strh r0, [r5, 0x22] + ldrb r1, [r6, 0x2] + adds r0, r5, 0 + bl StartSpriteAnim + adds r0, r5, 0 + bl AnimateSprite + strh r4, [r5, 0x2E] + strh r4, [r5, 0x30] + movs r0, 0x4 + strh r0, [r5, 0x32] + movs r0, 0x10 + strh r0, [r5, 0x34] + ldr r0, _080B46A8 @ =0x0000ffba + strh r0, [r5, 0x36] + ldrh r0, [r6, 0x4] + strh r0, [r5, 0x38] + ldr r1, _080B46AC @ =sub_80B46B4 + adds r0, r5, 0 + bl StoreSpriteCallbackInData6 + ldr r1, _080B46B0 @ =sub_8074BE4 + str r1, [r5, 0x1C] + adds r0, r5, 0 + bl _call_via_r1 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080B46A0: .4byte gBattleAnimArgs +_080B46A4: .4byte gBattleAnimTarget +_080B46A8: .4byte 0x0000ffba +_080B46AC: .4byte sub_80B46B4 +_080B46B0: .4byte sub_8074BE4 + thumb_func_end sub_80B4634 + + thumb_func_start sub_80B46B4 +sub_80B46B4: @ 80B46B4 + push {r4,lr} + adds r4, r0, 0 + ldrh r1, [r4, 0x38] + ldrh r2, [r4, 0x20] + adds r0, r1, r2 + strh r0, [r4, 0x20] + movs r0, 0xC0 + strh r0, [r4, 0x2E] + strh r1, [r4, 0x30] + movs r0, 0x4 + strh r0, [r4, 0x32] + movs r0, 0x20 + strh r0, [r4, 0x34] + ldr r0, _080B46EC @ =0x0000ffe8 + strh r0, [r4, 0x36] + ldr r1, _080B46F0 @ =move_anim_8074EE0 + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 + ldr r1, _080B46F4 @ =sub_8074BE4 + str r1, [r4, 0x1C] + adds r0, r4, 0 + bl _call_via_r1 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080B46EC: .4byte 0x0000ffe8 +_080B46F0: .4byte move_anim_8074EE0 +_080B46F4: .4byte sub_8074BE4 + thumb_func_end sub_80B46B4 + + thumb_func_start sub_80B46F8 +sub_80B46F8: @ 80B46F8 + push {r4,r5,lr} + adds r5, r0, 0 + ldr r4, _080B4720 @ =gBattleAnimArgs + ldrb r1, [r4, 0xA] + bl StartSpriteAnim + adds r0, r5, 0 + bl AnimateSprite + ldr r0, _080B4724 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080B4728 + ldrh r0, [r5, 0x20] + ldrh r1, [r4] + subs r0, r1 + b _080B472E + .align 2, 0 +_080B4720: .4byte gBattleAnimArgs +_080B4724: .4byte gBattleAnimAttacker +_080B4728: + ldrh r0, [r4] + ldrh r1, [r5, 0x20] + adds r0, r1 +_080B472E: + strh r0, [r5, 0x20] + ldr r3, _080B4770 @ =gBattleAnimArgs + ldrh r2, [r3, 0x2] + ldrh r0, [r5, 0x22] + adds r2, r0 + movs r4, 0 + strh r2, [r5, 0x22] + ldrh r0, [r3, 0x8] + strh r0, [r5, 0x2E] + ldrh r0, [r5, 0x20] + strh r0, [r5, 0x30] + ldrh r1, [r3, 0x4] + adds r0, r1 + strh r0, [r5, 0x32] + strh r2, [r5, 0x34] + ldrh r0, [r3, 0x6] + adds r2, r0 + strh r2, [r5, 0x36] + adds r0, r5, 0 + bl sub_80754B8 + strh r4, [r5, 0x34] + strh r4, [r5, 0x36] + ldr r0, _080B4774 @ =sub_8074D00 + str r0, [r5, 0x1C] + ldr r1, _080B4778 @ =move_anim_8074EE0 + adds r0, r5, 0 + bl StoreSpriteCallbackInData6 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080B4770: .4byte gBattleAnimArgs +_080B4774: .4byte sub_8074D00 +_080B4778: .4byte move_anim_8074EE0 + thumb_func_end sub_80B46F8 + + thumb_func_start sub_80B477C +sub_80B477C: @ 80B477C + push {r4,lr} + adds r4, r0, 0 + ldr r0, _080B4794 @ =gBattleAnimArgs + movs r1, 0xC + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _080B4798 + adds r0, r4, 0 + movs r1, 0 + bl sub_8075160 + b _080B47A0 + .align 2, 0 +_080B4794: .4byte gBattleAnimArgs +_080B4798: + adds r0, r4, 0 + movs r1, 0 + bl sub_8075114 +_080B47A0: + ldr r1, _080B47BC @ =gBattleAnimArgs + ldrh r0, [r1, 0x6] + strh r0, [r4, 0x2E] + ldrh r0, [r1, 0x4] + strh r0, [r4, 0x30] + ldrh r0, [r1, 0x8] + strh r0, [r4, 0x32] + ldrh r0, [r1, 0xA] + strh r0, [r4, 0x34] + ldr r0, _080B47C0 @ =sub_80B47C4 + str r0, [r4, 0x1C] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080B47BC: .4byte gBattleAnimArgs +_080B47C0: .4byte sub_80B47C4 + thumb_func_end sub_80B477C + + thumb_func_start sub_80B47C4 +sub_80B47C4: @ 80B47C4 + push {r4,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x30] + ldrh r1, [r4, 0x36] + adds r0, r1 + strh r0, [r4, 0x36] + lsls r0, 16 + asrs r0, 24 + negs r0, r0 + strh r0, [r4, 0x26] + movs r2, 0x38 + ldrsh r0, [r4, r2] + movs r2, 0x34 + ldrsh r1, [r4, r2] + bl Sin + strh r0, [r4, 0x24] + ldrh r0, [r4, 0x32] + ldrh r1, [r4, 0x38] + adds r0, r1 + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0x38] + ldrh r0, [r4, 0x2E] + subs r0, 0x1 + strh r0, [r4, 0x2E] + lsls r0, 16 + asrs r0, 16 + movs r1, 0x1 + negs r1, r1 + cmp r0, r1 + bne _080B480A + adds r0, r4, 0 + bl DestroyAnimSprite +_080B480A: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80B47C4 + + thumb_func_start do_boulder_dust +do_boulder_dust: @ 80B4810 + push {r4-r6,lr} + sub sp, 0x10 + lsls r0, 24 + lsrs r6, r0, 24 + movs r5, 0 + ldr r1, _080B48E4 @ =0x00003f42 + movs r0, 0x50 + bl SetGpuReg + movs r1, 0x80 + lsls r1, 5 + movs r0, 0x52 + bl SetGpuReg + movs r0, 0x1 + movs r1, 0x4 + movs r2, 0x1 + bl SetAnimBgAttribute + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + bl SetAnimBgAttribute + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080B4854 + movs r0, 0x1 + movs r1, 0x3 + movs r2, 0x1 + bl SetAnimBgAttribute +_080B4854: + ldr r0, _080B48E8 @ =gBattle_BG1_X + strh r5, [r0] + ldr r4, _080B48EC @ =gBattle_BG1_Y + strh r5, [r4] + movs r0, 0x14 + movs r1, 0 + bl SetGpuReg + ldrh r1, [r4] + movs r0, 0x16 + bl SetGpuReg + mov r0, sp + bl sub_80752A0 + mov r0, sp + ldrb r0, [r0, 0x9] + ldr r1, _080B48F0 @ =gFile_graphics_battle_anims_backgrounds_sandstorm_brew_tilemap + bl sub_807543C + mov r0, sp + ldrb r0, [r0, 0x9] + ldr r1, _080B48F4 @ =gFile_graphics_battle_anims_backgrounds_sandstorm_brew_sheet + mov r2, sp + ldrh r2, [r2, 0xA] + bl sub_80753B4 + ldr r0, _080B48F8 @ =gFile_graphics_battle_anims_sprites_261_palette + mov r1, sp + ldrb r1, [r1, 0x8] + lsls r1, 4 + movs r2, 0x20 + bl LoadCompressedPalette + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + beq _080B48B0 + mov r0, sp + ldrb r0, [r0, 0x8] + ldr r1, [sp, 0x4] + movs r2, 0 + movs r3, 0 + bl sub_80730C0 +_080B48B0: + ldr r0, _080B48FC @ =gBattleAnimArgs + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r0, 0 + beq _080B48CA + ldr r0, _080B4900 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080B48CA + movs r5, 0x1 +_080B48CA: + ldr r0, _080B4904 @ =gTasks + lsls r1, r6, 2 + adds r1, r6 + lsls r1, 3 + adds r1, r0 + strh r5, [r1, 0x8] + ldr r0, _080B4908 @ =sub_80B490C + str r0, [r1] + add sp, 0x10 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080B48E4: .4byte 0x00003f42 +_080B48E8: .4byte gBattle_BG1_X +_080B48EC: .4byte gBattle_BG1_Y +_080B48F0: .4byte gFile_graphics_battle_anims_backgrounds_sandstorm_brew_tilemap +_080B48F4: .4byte gFile_graphics_battle_anims_backgrounds_sandstorm_brew_sheet +_080B48F8: .4byte gFile_graphics_battle_anims_sprites_261_palette +_080B48FC: .4byte gBattleAnimArgs +_080B4900: .4byte gBattleAnimAttacker +_080B4904: .4byte gTasks +_080B4908: .4byte sub_80B490C + thumb_func_end do_boulder_dust + + thumb_func_start sub_80B490C +sub_80B490C: @ 80B490C + push {r4,r5,lr} + sub sp, 0x10 + lsls r0, 24 + lsrs r5, r0, 24 + ldr r1, _080B4934 @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r0, r1 + movs r2, 0x8 + ldrsh r0, [r0, r2] + adds r2, r1, 0 + cmp r0, 0 + bne _080B4940 + ldr r1, _080B4938 @ =gBattle_BG1_X + ldr r3, _080B493C @ =0x0000fffa + adds r0, r3, 0 + ldrh r3, [r1] + adds r0, r3 + b _080B4946 + .align 2, 0 +_080B4934: .4byte gTasks +_080B4938: .4byte gBattle_BG1_X +_080B493C: .4byte 0x0000fffa +_080B4940: + ldr r1, _080B4974 @ =gBattle_BG1_X + ldrh r0, [r1] + adds r0, 0x6 +_080B4946: + strh r0, [r1] + ldr r1, _080B4978 @ =gBattle_BG1_Y + ldr r3, _080B497C @ =0x0000ffff + adds r0, r3, 0 + ldrh r3, [r1] + adds r0, r3 + strh r0, [r1] + lsls r1, r5, 2 + adds r0, r1, r5 + lsls r0, 3 + adds r0, r2 + movs r3, 0x20 + ldrsh r0, [r0, r3] + adds r4, r1, 0 + cmp r0, 0x4 + bls _080B4968 + b _080B4A96 +_080B4968: + lsls r0, 2 + ldr r1, _080B4980 @ =_080B4984 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080B4974: .4byte gBattle_BG1_X +_080B4978: .4byte gBattle_BG1_Y +_080B497C: .4byte 0x0000ffff +_080B4980: .4byte _080B4984 + .align 2, 0 +_080B4984: + .4byte _080B4998 + .4byte _080B49DA + .4byte _080B49F4 + .4byte _080B4A36 + .4byte _080B4A58 +_080B4998: + adds r0, r4, r5 + lsls r0, 3 + adds r4, r0, r2 + ldrh r0, [r4, 0x1C] + adds r0, 0x1 + movs r5, 0 + strh r0, [r4, 0x1C] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x4 + bne _080B4A96 + strh r5, [r4, 0x1C] + ldrh r1, [r4, 0x1E] + adds r1, 0x1 + strh r1, [r4, 0x1E] + movs r0, 0x10 + subs r0, r1 + lsls r0, 8 + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + movs r1, 0x1E + ldrsh r0, [r4, r1] + cmp r0, 0x7 + bne _080B4A96 + ldrh r0, [r4, 0x20] + adds r0, 0x1 + strh r0, [r4, 0x20] + strh r5, [r4, 0x1E] + b _080B4A96 +_080B49DA: + adds r0, r4, r5 + lsls r0, 3 + adds r1, r0, r2 + ldrh r0, [r1, 0x1E] + adds r0, 0x1 + strh r0, [r1, 0x1E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x65 + bne _080B4A96 + movs r0, 0x7 + strh r0, [r1, 0x1E] + b _080B4A4C +_080B49F4: + adds r0, r4, r5 + lsls r0, 3 + adds r4, r0, r2 + ldrh r0, [r4, 0x1C] + adds r0, 0x1 + strh r0, [r4, 0x1C] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x4 + bne _080B4A96 + movs r0, 0 + strh r0, [r4, 0x1C] + ldrh r1, [r4, 0x1E] + subs r1, 0x1 + strh r1, [r4, 0x1E] + movs r0, 0x10 + subs r0, r1 + lsls r0, 8 + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + movs r2, 0x1E + ldrsh r1, [r4, r2] + cmp r1, 0 + bne _080B4A96 + ldrh r0, [r4, 0x20] + adds r0, 0x1 + strh r0, [r4, 0x20] + strh r1, [r4, 0x1E] + b _080B4A96 +_080B4A36: + mov r0, sp + bl sub_80752A0 + mov r0, sp + ldrb r0, [r0, 0x9] + bl sub_8075358 + ldr r0, _080B4A54 @ =gTasks + adds r1, r4, r5 + lsls r1, 3 + adds r1, r0 +_080B4A4C: + ldrh r0, [r1, 0x20] + adds r0, 0x1 + strh r0, [r1, 0x20] + b _080B4A96 + .align 2, 0 +_080B4A54: .4byte gTasks +_080B4A58: + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080B4A6C + movs r0, 0x1 + movs r1, 0x3 + movs r2, 0 + bl SetAnimBgAttribute +_080B4A6C: + ldr r0, _080B4AA0 @ =gBattle_BG1_X + movs r1, 0 + strh r1, [r0] + ldr r0, _080B4AA4 @ =gBattle_BG1_Y + strh r1, [r0] + movs r0, 0x50 + movs r1, 0 + bl SetGpuReg + movs r0, 0x52 + movs r1, 0 + bl SetGpuReg + movs r0, 0x1 + movs r1, 0x4 + movs r2, 0x1 + bl SetAnimBgAttribute + adds r0, r5, 0 + bl DestroyAnimVisualTask +_080B4A96: + add sp, 0x10 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080B4AA0: .4byte gBattle_BG1_X +_080B4AA4: .4byte gBattle_BG1_Y + thumb_func_end sub_80B490C + + thumb_func_start sub_80B4AA8 +sub_80B4AA8: @ 80B4AA8 + push {r4,r5,lr} + adds r5, r0, 0 + movs r1, 0x2E + ldrsh r0, [r5, r1] + cmp r0, 0 + bne _080B4B24 + ldr r4, _080B4AEC @ =gBattleAnimArgs + movs r2, 0x6 + ldrsh r0, [r4, r2] + cmp r0, 0 + beq _080B4AF4 + ldr r0, _080B4AF0 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080B4AF4 + movs r0, 0x98 + lsls r0, 1 + strh r0, [r5, 0x20] + ldrh r0, [r4, 0x2] + negs r0, r0 + strh r0, [r4, 0x2] + movs r0, 0x1 + strh r0, [r5, 0x38] + ldrb r1, [r5, 0x3] + subs r0, 0x40 + ands r0, r1 + movs r1, 0x10 + orrs r0, r1 + strb r0, [r5, 0x3] + b _080B4AF8 + .align 2, 0 +_080B4AEC: .4byte gBattleAnimArgs +_080B4AF0: .4byte gBattleAnimAttacker +_080B4AF4: + ldr r0, _080B4B18 @ =0x0000ffc0 + strh r0, [r5, 0x20] +_080B4AF8: + ldr r4, _080B4B1C @ =gBattleAnimArgs + ldrh r0, [r4] + strh r0, [r5, 0x22] + ldr r1, _080B4B20 @ =gUnknown_83E7470 + adds r0, r5, 0 + bl SetSubspriteTables + ldrh r0, [r4, 0x2] + strh r0, [r5, 0x30] + ldrh r0, [r4, 0x4] + strh r0, [r5, 0x32] + ldrh r0, [r5, 0x2E] + adds r0, 0x1 + strh r0, [r5, 0x2E] + b _080B4B80 + .align 2, 0 +_080B4B18: .4byte 0x0000ffc0 +_080B4B1C: .4byte gBattleAnimArgs +_080B4B20: .4byte gUnknown_83E7470 +_080B4B24: + ldrh r1, [r5, 0x30] + ldrh r3, [r5, 0x34] + adds r1, r3 + ldrh r2, [r5, 0x32] + ldrh r0, [r5, 0x36] + adds r2, r0 + lsls r0, r1, 16 + asrs r0, 24 + ldrh r3, [r5, 0x24] + adds r0, r3 + strh r0, [r5, 0x24] + lsls r0, r2, 16 + asrs r0, 24 + ldrh r3, [r5, 0x26] + adds r0, r3 + strh r0, [r5, 0x26] + movs r0, 0xFF + ands r1, r0 + strh r1, [r5, 0x34] + ands r2, r0 + strh r2, [r5, 0x36] + movs r1, 0x38 + ldrsh r0, [r5, r1] + cmp r0, 0 + bne _080B4B6A + movs r2, 0x20 + ldrsh r0, [r5, r2] + movs r3, 0x24 + ldrsh r1, [r5, r3] + adds r0, r1 + movs r1, 0x88 + lsls r1, 1 + cmp r0, r1 + ble _080B4B80 + b _080B4B7C +_080B4B6A: + movs r1, 0x20 + ldrsh r0, [r5, r1] + movs r2, 0x24 + ldrsh r1, [r5, r2] + adds r0, r1 + movs r1, 0x20 + negs r1, r1 + cmp r0, r1 + bge _080B4B80 +_080B4B7C: + ldr r0, _080B4B88 @ =DestroyAnimSprite + str r0, [r5, 0x1C] +_080B4B80: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080B4B88: .4byte DestroyAnimSprite + thumb_func_end sub_80B4AA8 + + thumb_func_start sub_80B4B8C +sub_80B4B8C: @ 80B4B8C + push {r4,r5,lr} + adds r4, r0, 0 + ldr r5, _080B4BC4 @ =gBattleAnimArgs + ldrb r1, [r5, 0x8] + bl StartSpriteAnim + adds r0, r4, 0 + movs r1, 0 + bl sub_8075160 + ldrh r0, [r5, 0x6] + strh r0, [r4, 0x2E] + ldrh r0, [r4, 0x20] + strh r0, [r4, 0x32] + ldrh r0, [r5, 0x4] + ldrh r1, [r4, 0x22] + adds r0, r1 + strh r0, [r4, 0x36] + ldr r0, _080B4BC8 @ =sub_8075590 + str r0, [r4, 0x1C] + ldr r1, _080B4BCC @ =DestroyAnimSprite + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080B4BC4: .4byte gBattleAnimArgs +_080B4BC8: .4byte sub_8075590 +_080B4BCC: .4byte DestroyAnimSprite + thumb_func_end sub_80B4B8C + + thumb_func_start sub_80B4BD0 +sub_80B4BD0: @ 80B4BD0 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, _080B4C50 @ =gTasks + adds r6, r1, r0 + ldr r5, _080B4C54 @ =gBattleAnimAttacker + ldrb r0, [r5] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + mov r9, r0 + ldrb r0, [r5] + movs r1, 0x1 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 8 + movs r1, 0xC0 + lsls r1, 13 + adds r0, r1 + lsrs r7, r0, 16 + ldr r4, _080B4C58 @ =gBattleAnimTarget + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + mov r10, r0 + ldrb r0, [r4] + movs r1, 0x1 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 8 + movs r2, 0xC0 + lsls r2, 13 + adds r0, r2 + lsrs r0, 16 + mov r8, r0 + ldrb r1, [r5] + movs r0, 0x2 + eors r0, r1 + ldrb r4, [r4] + cmp r0, r4 + bne _080B4C40 + mov r8, r7 +_080B4C40: + bl sub_80B4FB8 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0x1 + bne _080B4C5C + movs r0, 0x20 + b _080B4C62 + .align 2, 0 +_080B4C50: .4byte gTasks +_080B4C54: .4byte gBattleAnimAttacker +_080B4C58: .4byte gBattleAnimTarget +_080B4C5C: + lsls r1, r5, 3 + movs r0, 0x30 + subs r0, r1 +_080B4C62: + strh r0, [r6, 0x18] + movs r4, 0 + strh r4, [r6, 0x8] + strh r4, [r6, 0x1E] + strh r4, [r6, 0x1A] + movs r0, 0x1 + strh r0, [r6, 0x20] + movs r1, 0x18 + ldrsh r0, [r6, r1] + cmp r0, 0 + bge _080B4C7A + adds r0, 0x7 +_080B4C7A: + asrs r0, 3 + subs r0, 0x1 + strh r0, [r6, 0x1C] + mov r2, r9 + lsls r0, r2, 3 + strh r0, [r6, 0xC] + lsls r0, r7, 3 + strh r0, [r6, 0xE] + mov r1, r10 + subs r0, r1, r2 + lsls r0, 3 + movs r2, 0x18 + ldrsh r1, [r6, r2] + bl __divsi3 + strh r0, [r6, 0x10] + mov r1, r8 + subs r0, r1, r7 + lsls r0, 3 + movs r2, 0x18 + ldrsh r1, [r6, r2] + bl __divsi3 + strh r0, [r6, 0x12] + strh r4, [r6, 0x14] + strh r4, [r6, 0x16] + movs r0, 0x40 + negs r0, r0 + bl sub_8073A44 + adds r4, r0, 0 + lsls r4, 24 + asrs r4, 8 + lsrs r4, 16 + movs r0, 0x3F + bl sub_8073A44 + lsls r0, 24 + strh r4, [r6, 0x22] + asrs r0, 24 + lsls r4, 16 + asrs r4, 16 + subs r0, r4 + movs r2, 0x18 + ldrsh r1, [r6, r2] + bl __divsi3 + strh r0, [r6, 0x24] + strh r5, [r6, 0xA] + movs r0, 0 + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r0, 24 + strh r0, [r6, 0x26] + ldr r0, _080B4CFC @ =sub_80B4D00 + str r0, [r6] + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080B4CFC: .4byte sub_80B4D00 + thumb_func_end sub_80B4BD0 + + thumb_func_start sub_80B4D00 +sub_80B4D00: @ 80B4D00 + push {r4,lr} + lsls r0, 24 + lsrs r2, r0, 24 + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + ldr r1, _080B4D24 @ =gTasks + adds r4, r0, r1 + movs r1, 0x8 + ldrsh r0, [r4, r1] + cmp r0, 0x4 + bls _080B4D1A + b _080B4E68 +_080B4D1A: + lsls r0, 2 + ldr r1, _080B4D28 @ =_080B4D2C + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080B4D24: .4byte gTasks +_080B4D28: .4byte _080B4D2C + .align 2, 0 +_080B4D2C: + .4byte _080B4D40 + .4byte _080B4DA4 + .4byte _080B4DAC + .4byte _080B4E08 + .4byte _080B4E5A +_080B4D40: + ldrh r2, [r4, 0x14] + ldrh r0, [r4, 0x10] + subs r2, r0 + strh r2, [r4, 0x14] + ldrh r0, [r4, 0x16] + ldrh r1, [r4, 0x12] + subs r0, r1 + strh r0, [r4, 0x16] + ldr r3, _080B4DA0 @ =gSprites + movs r0, 0x26 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r3 + lsls r2, 16 + asrs r2, 19 + strh r2, [r0, 0x24] + movs r1, 0x26 + ldrsh r0, [r4, r1] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r3 + ldrh r0, [r4, 0x16] + lsls r0, 16 + asrs r0, 19 + strh r0, [r1, 0x26] + ldrh r0, [r4, 0x1A] + adds r0, 0x1 + strh r0, [r4, 0x1A] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xA + bne _080B4D90 + movs r0, 0x14 + strh r0, [r4, 0x1E] + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] +_080B4D90: + ldrh r1, [r4, 0x22] + lsls r1, 24 + asrs r1, 24 + movs r0, 0x9B + bl PlaySE12WithPanning + b _080B4E68 + .align 2, 0 +_080B4DA0: .4byte gSprites +_080B4DA4: + ldrh r0, [r4, 0x1E] + subs r0, 0x1 + strh r0, [r4, 0x1E] + b _080B4E4C +_080B4DAC: + ldrh r0, [r4, 0x1A] + subs r0, 0x1 + strh r0, [r4, 0x1A] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0 + beq _080B4DCC + ldrh r0, [r4, 0x10] + ldrh r2, [r4, 0x14] + adds r0, r2 + strh r0, [r4, 0x14] + ldrh r0, [r4, 0x12] + ldrh r1, [r4, 0x16] + adds r0, r1 + strh r0, [r4, 0x16] + b _080B4DD6 +_080B4DCC: + strh r0, [r4, 0x14] + strh r0, [r4, 0x16] + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] +_080B4DD6: + ldr r2, _080B4E04 @ =gSprites + movs r1, 0x26 + ldrsh r0, [r4, r1] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r2 + ldrh r0, [r4, 0x14] + lsls r0, 16 + asrs r0, 19 + strh r0, [r1, 0x24] + movs r1, 0x26 + ldrsh r0, [r4, r1] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r2 + ldrh r0, [r4, 0x16] + lsls r0, 16 + asrs r0, 19 + strh r0, [r1, 0x26] + b _080B4E68 + .align 2, 0 +_080B4E04: .4byte gSprites +_080B4E08: + ldrh r0, [r4, 0x10] + ldrh r2, [r4, 0xC] + adds r0, r2 + strh r0, [r4, 0xC] + ldrh r0, [r4, 0x12] + ldrh r1, [r4, 0xE] + adds r0, r1 + strh r0, [r4, 0xE] + ldrh r0, [r4, 0x1A] + adds r0, 0x1 + strh r0, [r4, 0x1A] + lsls r0, 16 + asrs r0, 16 + movs r2, 0x1C + ldrsh r1, [r4, r2] + cmp r0, r1 + blt _080B4E46 + movs r0, 0 + strh r0, [r4, 0x1A] + adds r0, r4, 0 + bl sub_80B4E70 + ldrh r1, [r4, 0x24] + ldrh r0, [r4, 0x22] + adds r1, r0 + strh r1, [r4, 0x22] + lsls r1, 24 + asrs r1, 24 + movs r0, 0xA8 + bl PlaySE12WithPanning +_080B4E46: + ldrh r0, [r4, 0x18] + subs r0, 0x1 + strh r0, [r4, 0x18] +_080B4E4C: + lsls r0, 16 + cmp r0, 0 + bne _080B4E68 + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] + b _080B4E68 +_080B4E5A: + movs r1, 0x1E + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080B4E68 + adds r0, r2, 0 + bl DestroyAnimVisualTask +_080B4E68: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80B4D00 + + thumb_func_start sub_80B4E70 +sub_80B4E70: @ 80B4E70 + push {r4-r7,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0xA] + subs r0, 0x1 + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x4 + bhi _080B4F60 + lsls r0, 2 + ldr r1, _080B4E8C @ =_080B4E90 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080B4E8C: .4byte _080B4E90 + .align 2, 0 +_080B4E90: + .4byte _080B4EA4 + .4byte _080B4EB0 + .4byte _080B4EB0 + .4byte _080B4EBC + .4byte _080B4EC8 +_080B4EA4: + ldr r3, _080B4EAC @ =gUnknown_83E74D8 + movs r5, 0 + b _080B4ECC + .align 2, 0 +_080B4EAC: .4byte gUnknown_83E74D8 +_080B4EB0: + ldr r3, _080B4EB8 @ =gUnknown_83E74F0 + movs r5, 0x50 + b _080B4ECC + .align 2, 0 +_080B4EB8: .4byte gUnknown_83E74F0 +_080B4EBC: + ldr r3, _080B4EC4 @ =gUnknown_83E74F0 + movs r5, 0x40 + b _080B4ECC + .align 2, 0 +_080B4EC4: .4byte gUnknown_83E74F0 +_080B4EC8: + ldr r3, _080B4F68 @ =gUnknown_83E74F0 + movs r5, 0x30 +_080B4ECC: + ldrh r1, [r4, 0xC] + lsls r1, 16 + asrs r1, 19 + lsls r1, 16 + lsrs r1, 16 + ldrh r2, [r4, 0xE] + lsls r2, 16 + asrs r2, 19 + lsls r2, 16 + movs r6, 0x20 + ldrsh r0, [r4, r6] + lsls r0, 2 + adds r1, r0 + lsls r1, 16 + lsrs r6, r1, 16 + asrs r1, 16 + lsrs r7, r2, 16 + asrs r2, 16 + adds r0, r3, 0 + movs r3, 0x23 + bl CreateSprite + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0x40 + beq _080B4F58 + ldr r1, _080B4F6C @ =gSprites + lsls r0, r2, 4 + adds r0, r2 + lsls r0, 2 + adds r0, r1 + movs r1, 0x12 + strh r1, [r0, 0x2E] + movs r2, 0x20 + ldrsh r1, [r4, r2] + lsls r2, r1, 2 + adds r2, r1 + lsls r2, 2 + adds r2, r6, r2 + movs r6, 0xA + ldrsh r3, [r4, r6] + lsls r1, r3, 1 + adds r1, r3 + adds r2, r1 + strh r2, [r0, 0x32] + strh r7, [r0, 0x36] + movs r1, 0xA + ldrsh r2, [r4, r1] + lsls r2, 1 + movs r3, 0x10 + negs r3, r3 + adds r1, r3, 0 + subs r1, r2 + strh r1, [r0, 0x38] + ldrh r3, [r0, 0x4] + lsls r2, r3, 22 + lsrs r2, 22 + adds r2, r5 + ldr r5, _080B4F70 @ =0x000003ff + adds r1, r5, 0 + ands r2, r1 + ldr r1, _080B4F74 @ =0xfffffc00 + ands r1, r3 + orrs r1, r2 + strh r1, [r0, 0x4] + bl sub_8075068 + ldrh r0, [r4, 0x1E] + adds r0, 0x1 + strh r0, [r4, 0x1E] +_080B4F58: + movs r6, 0x20 + ldrsh r0, [r4, r6] + negs r0, r0 + strh r0, [r4, 0x20] +_080B4F60: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080B4F68: .4byte gUnknown_83E74F0 +_080B4F6C: .4byte gSprites +_080B4F70: .4byte 0x000003ff +_080B4F74: .4byte 0xfffffc00 + thumb_func_end sub_80B4E70 + + thumb_func_start sub_80B4F78 +sub_80B4F78: @ 80B4F78 + push {r4,lr} + adds r4, r0, 0 + bl AnimateBallThrow + lsls r0, 24 + cmp r0, 0 + beq _080B4FAA + ldr r0, _080B4FB0 @ =sub_80B4D00 + bl FindTaskIdByFunc + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0xFF + beq _080B4FA4 + ldr r0, _080B4FB4 @ =gTasks + lsls r1, r2, 2 + adds r1, r2 + lsls r1, 3 + adds r1, r0 + ldrh r0, [r1, 0x1E] + subs r0, 0x1 + strh r0, [r1, 0x1E] +_080B4FA4: + adds r0, r4, 0 + bl DestroySprite +_080B4FAA: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080B4FB0: .4byte sub_80B4D00 +_080B4FB4: .4byte gTasks + thumb_func_end sub_80B4F78 + + thumb_func_start sub_80B4FB8 +sub_80B4FB8: @ 80B4FB8 + push {lr} + ldr r0, _080B4FE0 @ =gUnknown_2037EE4 + ldr r0, [r0] + ldrb r1, [r0, 0x11] + lsrs r0, r1, 4 + lsls r1, 28 + lsrs r1, 28 + subs r0, r1 + lsls r0, 24 + lsrs r1, r0, 24 + movs r2, 0xFF + lsls r2, 24 + adds r0, r2 + lsrs r0, 24 + cmp r0, 0x4 + bls _080B4FDA + movs r1, 0x1 +_080B4FDA: + adds r0, r1, 0 + pop {r1} + bx r1 + .align 2, 0 +_080B4FE0: .4byte gUnknown_2037EE4 + thumb_func_end sub_80B4FB8 + + thumb_func_start sub_80B4FE4 +sub_80B4FE4: @ 80B4FE4 + push {r4,r5,lr} + adds r4, r0, 0 + ldr r5, _080B501C @ =gBattleAnimArgs + ldrb r1, [r5, 0x8] + bl StartSpriteAnim + ldrh r0, [r5] + strh r0, [r4, 0x24] + ldrh r0, [r5, 0x2] + strh r0, [r4, 0x32] + ldrh r0, [r4, 0x34] + ldrh r1, [r5, 0x4] + subs r0, r1 + strh r0, [r4, 0x34] + movs r0, 0x3 + strh r0, [r4, 0x2E] + ldrh r0, [r5, 0x6] + strh r0, [r4, 0x30] + ldr r0, _080B5020 @ =sub_80B5024 + str r0, [r4, 0x1C] + adds r4, 0x3E + ldrb r0, [r4] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r4] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080B501C: .4byte gBattleAnimArgs +_080B5020: .4byte sub_80B5024 + thumb_func_end sub_80B4FE4 + + thumb_func_start sub_80B5024 +sub_80B5024: @ 80B5024 + push {lr} + adds r2, r0, 0 + adds r3, r2, 0 + adds r3, 0x3E + ldrb r0, [r3] + movs r1, 0x5 + negs r1, r1 + ands r1, r0 + strb r1, [r3] + ldrh r1, [r2, 0x34] + movs r3, 0x34 + ldrsh r0, [r2, r3] + cmp r0, 0 + beq _080B505C + ldrh r3, [r2, 0x32] + adds r0, r1, r3 + strh r0, [r2, 0x26] + ldrh r0, [r2, 0x2E] + adds r1, r0 + strh r1, [r2, 0x34] + adds r0, 0x1 + strh r0, [r2, 0x2E] + lsls r1, 16 + cmp r1, 0 + ble _080B506E + movs r0, 0 + strh r0, [r2, 0x34] + b _080B506E +_080B505C: + ldrh r0, [r2, 0x30] + subs r0, 0x1 + strh r0, [r2, 0x30] + lsls r0, 16 + cmp r0, 0 + bne _080B506E + adds r0, r2, 0 + bl DestroyAnimSprite +_080B506E: + pop {r0} + bx r0 + thumb_func_end sub_80B5024 + + thumb_func_start sub_80B5074 +sub_80B5074: @ 80B5074 + push {r4,lr} + adds r4, r0, 0 + ldr r0, _080B509C @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080B5090 + adds r0, r4, 0 + movs r1, 0x1 + bl StartSpriteAffineAnim +_080B5090: + adds r0, r4, 0 + bl sub_8075DF4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080B509C: .4byte gBattleAnimAttacker + thumb_func_end sub_80B5074 + + thumb_func_start sub_80B50A0 +sub_80B50A0: @ 80B50A0 + push {r4,r5,lr} + adds r4, r0, 0 + ldr r5, _080B50EC @ =gBattleAnimTarget + ldrb r0, [r5] + movs r1, 0 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x20] + ldrb r0, [r5] + movs r1, 0x1 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldr r2, _080B50F0 @ =gBattleAnimArgs + ldrh r3, [r2] + ldrh r5, [r4, 0x20] + adds r1, r3, r5 + strh r1, [r4, 0x20] + ldrh r1, [r2, 0x2] + adds r0, r1 + strh r0, [r4, 0x22] + strh r3, [r4, 0x30] + strh r1, [r4, 0x32] + ldrh r0, [r2, 0x4] + strh r0, [r4, 0x38] + ldrb r1, [r2, 0x6] + adds r0, r4, 0 + bl StartSpriteAnim + ldr r0, _080B50F4 @ =sub_80B50F8 + str r0, [r4, 0x1C] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080B50EC: .4byte gBattleAnimTarget +_080B50F0: .4byte gBattleAnimArgs +_080B50F4: .4byte sub_80B50F8 + thumb_func_end sub_80B50A0 + + thumb_func_start sub_80B50F8 +sub_80B50F8: @ 80B50F8 + push {r4,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x2E] + adds r0, 0x8 + strh r0, [r4, 0x2E] + ldrh r0, [r4, 0x30] + ldrh r1, [r4, 0x34] + adds r0, r1 + strh r0, [r4, 0x34] + ldrh r0, [r4, 0x32] + ldrh r2, [r4, 0x36] + adds r0, r2 + strh r0, [r4, 0x36] + movs r1, 0x34 + ldrsh r0, [r4, r1] + movs r1, 0x28 + bl __divsi3 + ldrh r1, [r4, 0x24] + adds r1, r0 + strh r1, [r4, 0x24] + movs r2, 0x2E + ldrsh r0, [r4, r2] + movs r2, 0x38 + ldrsh r1, [r4, r2] + bl Sin + ldrh r1, [r4, 0x26] + subs r1, r0 + strh r1, [r4, 0x26] + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0x8C + ble _080B5142 + adds r0, r4, 0 + bl DestroyAnimSprite +_080B5142: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80B50F8 + + thumb_func_start sub_80B5148 +sub_80B5148: @ 80B5148 + push {lr} + lsls r0, 24 + lsrs r3, r0, 24 + ldr r2, _080B5180 @ =gUnknown_2037EE8 + ldr r0, [r2] + cmp r0, 0x20 + bgt _080B515C + ldr r1, _080B5184 @ =gBattleAnimArgs + movs r0, 0 + strh r0, [r1, 0xE] +_080B515C: + ldr r2, [r2] + adds r0, r2, 0 + subs r0, 0x21 + cmp r0, 0x20 + bhi _080B516C + ldr r1, _080B5184 @ =gBattleAnimArgs + movs r0, 0x1 + strh r0, [r1, 0xE] +_080B516C: + cmp r2, 0x41 + ble _080B5176 + ldr r1, _080B5184 @ =gBattleAnimArgs + movs r0, 0x2 + strh r0, [r1, 0xE] +_080B5176: + adds r0, r3, 0 + bl DestroyAnimVisualTask + pop {r0} + bx r0 + .align 2, 0 +_080B5180: .4byte gUnknown_2037EE8 +_080B5184: .4byte gBattleAnimArgs + thumb_func_end sub_80B5148 + + thumb_func_start sub_80B5188 +sub_80B5188: @ 80B5188 + push {r4-r6,lr} + lsls r0, 24 + lsrs r6, r0, 24 + ldr r1, _080B51E4 @ =gTasks + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + adds r5, r0, r1 + movs r1, 0x8 + ldrsh r0, [r5, r1] + cmp r0, 0 + bne _080B51AA + movs r0, 0 + bl sub_8075458 + movs r0, 0xC8 + strh r0, [r5, 0xA] +_080B51AA: + ldr r4, _080B51E8 @ =gBattle_BG3_Y + movs r1, 0xA + ldrsh r0, [r5, r1] + movs r1, 0xA + bl __divsi3 + ldrh r1, [r4] + adds r1, r0 + strh r1, [r4] + ldrh r0, [r5, 0xA] + subs r0, 0x3 + strh r0, [r5, 0xA] + movs r1, 0x8 + ldrsh r0, [r5, r1] + cmp r0, 0x78 + bne _080B51D6 + movs r0, 0x1 + bl sub_8075458 + adds r0, r6, 0 + bl DestroyAnimVisualTask +_080B51D6: + ldrh r0, [r5, 0x8] + adds r0, 0x1 + strh r0, [r5, 0x8] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080B51E4: .4byte gTasks +_080B51E8: .4byte gBattle_BG3_Y + thumb_func_end sub_80B5188 + + thumb_func_start sub_80B51EC +sub_80B51EC: @ 80B51EC + push {r4-r6,lr} + lsls r0, 24 + lsrs r0, 24 + adds r5, r0, 0 + ldr r1, _080B5258 @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r4, r0, r1 + movs r1, 0x8 + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080B5218 + movs r0, 0 + bl sub_8075458 + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] + ldr r0, _080B525C @ =gBattle_BG3_Y + ldrh r0, [r0] + strh r0, [r4, 0xC] +_080B5218: + ldrh r0, [r4, 0xA] + adds r0, 0x50 + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0xA] + ldr r6, _080B525C @ =gBattle_BG3_Y + movs r2, 0xA + ldrsh r1, [r4, r2] + movs r0, 0x4 + bl Cos + ldrh r4, [r4, 0xC] + adds r0, r4 + strh r0, [r6] + ldr r0, _080B5260 @ =gBattleAnimArgs + movs r2, 0xE + ldrsh r1, [r0, r2] + ldr r0, _080B5264 @ =0x00000fff + cmp r1, r0 + bne _080B5250 + movs r0, 0 + strh r0, [r6] + movs r0, 0x1 + bl sub_8075458 + adds r0, r5, 0 + bl DestroyAnimVisualTask +_080B5250: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080B5258: .4byte gTasks +_080B525C: .4byte gBattle_BG3_Y +_080B5260: .4byte gBattleAnimArgs +_080B5264: .4byte 0x00000fff + thumb_func_end sub_80B51EC + + .align 2, 0 @ Don't pad with nop. diff --git a/ld_script.txt b/ld_script.txt index e8b0c8519..c0ebec726 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -165,7 +165,13 @@ SECTIONS { asm/flying.o(.text); asm/psychic.o(.text); asm/bug.o(.text); - asm/battle_anim_80A22E8.o(.text); + asm/rock.o(.text); + asm/ghost.o(.text); + asm/dragon.o(.text); + asm/dark.o(.text); + asm/ground.o(.text); + asm/normal.o(.text); + asm/battle_anim_utility_funcs.o(.text); asm/bike.o(.text); asm/easy_chat.o(.text); asm/mon_markings.o(.text); -- cgit v1.2.3 From d81aaaad6779d4f48e0df10c9ebba263298d2491 Mon Sep 17 00:00:00 2001 From: garak Date: Thu, 23 May 2019 18:33:21 -0400 Subject: name some more battle anim globals --- asm/battle_2.s | 4 +- asm/battle_anim.s | 54 ++++++++--------- asm/battle_anim_8074480.s | 30 +++++----- asm/battle_anim_8078178.s | 4 +- asm/battle_anim_80989F8.s | 32 +++++----- asm/battle_anim_80DE2C0.s | 20 +++---- asm/battle_anim_80EEC0C.s | 68 ++++++++++----------- asm/battle_anim_effects_1.s | 24 ++++---- asm/battle_anim_effects_2.s | 36 ++++++------ asm/battle_anim_utility_funcs.s | 28 ++++----- asm/battle_controller_link_opponent.s | 72 +++++++++++------------ asm/battle_controller_link_partner.s | 76 ++++++++++++------------ asm/battle_controller_oak.s | 68 ++++++++++----------- asm/battle_controller_opponent.s | 80 ++++++++++++------------- asm/battle_controller_player.s | 108 +++++++++++++++++----------------- asm/battle_controller_pokedude.s | 76 ++++++++++++------------ asm/battle_controller_safari.s | 8 +-- asm/battle_gfx_sfx_util.s | 32 +++++----- asm/dark.s | 24 ++++---- asm/fighting.s | 4 +- asm/fire.s | 4 +- asm/ghost.s | 4 +- asm/ground.s | 4 +- asm/ice.s | 8 +-- asm/normal.s | 8 +-- asm/pokeball.s | 24 ++++---- asm/psychic.s | 6 +- asm/reshow_battle_screen.s | 14 ++--- asm/rock.s | 4 +- sym_ewram.txt | 6 +- 30 files changed, 465 insertions(+), 465 deletions(-) diff --git a/asm/battle_2.s b/asm/battle_2.s index b4414ad71..7929762d8 100644 --- a/asm/battle_2.s +++ b/asm/battle_2.s @@ -4511,7 +4511,7 @@ _080121D4: .4byte SpriteCB_HealthBoxBounce _080121D8: .4byte gUnknown_3004FF0 _080121DC: .4byte gSprites _080121E0: - ldr r0, _0801224C @ =gUnknown_2023D44 + ldr r0, _0801224C @ =gBattlerSpriteIds adds r0, r4, r0 ldrb r7, [r0] ldr r2, _08012250 @ =gUnknown_2024018 @@ -4567,7 +4567,7 @@ _0801223C: pop {r0} bx r0 .align 2, 0 -_0801224C: .4byte gUnknown_2023D44 +_0801224C: .4byte gBattlerSpriteIds _08012250: .4byte gUnknown_2024018 _08012254: .4byte gSprites thumb_func_end dp11b_obj_instanciate diff --git a/asm/battle_anim.s b/asm/battle_anim.s index ba5f9bc03..7e698830f 100644 --- a/asm/battle_anim.s +++ b/asm/battle_anim.s @@ -20,7 +20,7 @@ ClearBattleAnimationVars: @ 80724C0 strb r1, [r0] ldr r0, _08072560 @ =gUnknown_2037EE3 strb r1, [r0] - ldr r0, _08072564 @ =gUnknown_2037EE4 + ldr r0, _08072564 @ =gAnimDisableStructPtr movs r1, 0 str r1, [r0] ldr r0, _08072568 @ =gUnknown_2037EE8 @@ -31,7 +31,7 @@ ClearBattleAnimationVars: @ 80724C0 ldr r0, _08072570 @ =gUnknown_2037EFE strb r2, [r0] ldr r4, _08072574 @ =gUnknown_2037F14 - ldr r5, _08072578 @ =gUnknown_2037F16 + ldr r5, _08072578 @ =gAnimMoveTurn ldr r6, _0807257C @ =gUnknown_2037F17 ldr r7, _08072580 @ =gUnknown_2037F18 ldr r0, _08072584 @ =gBattleAnimAttacker @@ -88,12 +88,12 @@ _08072554: .4byte gUnknown_2037EE0 _08072558: .4byte gUnknown_2037EE1 _0807255C: .4byte gUnknown_2037EE2 _08072560: .4byte gUnknown_2037EE3 -_08072564: .4byte gUnknown_2037EE4 +_08072564: .4byte gAnimDisableStructPtr _08072568: .4byte gUnknown_2037EE8 _0807256C: .4byte gUnknown_2037EEC _08072570: .4byte gUnknown_2037EFE _08072574: .4byte gUnknown_2037F14 -_08072578: .4byte gUnknown_2037F16 +_08072578: .4byte gAnimMoveTurn _0807257C: .4byte gUnknown_2037F17 _08072580: .4byte gUnknown_2037F18 _08072584: .4byte gBattleAnimAttacker @@ -1008,7 +1008,7 @@ _08072C88: adds r0, r5, 0 adds r1, r7, 0 bl sub_8072E48 - ldr r0, _08072CDC @ =gUnknown_2023D44 + ldr r0, _08072CDC @ =gBattlerSpriteIds adds r0, r5, r0 ldrb r4, [r0] ldr r0, _08072CE0 @ =task_pA_ma0A_obj_to_bg_pal @@ -1044,7 +1044,7 @@ _08072C88: b _08072CFC .align 2, 0 _08072CD8: .4byte gBattleAnimTarget -_08072CDC: .4byte gUnknown_2023D44 +_08072CDC: .4byte gBattlerSpriteIds _08072CE0: .4byte task_pA_ma0A_obj_to_bg_pal _08072CE4: .4byte gTasks _08072CE8: .4byte gSprites @@ -1092,7 +1092,7 @@ _08072D3E: adds r0, r5, 0 adds r1, r7, 0 bl sub_8072E48 - ldr r0, _08072D9C @ =gUnknown_2023D44 + ldr r0, _08072D9C @ =gBattlerSpriteIds adds r0, r5, r0 ldrb r4, [r0] ldr r0, _08072DA0 @ =task_pA_ma0A_obj_to_bg_pal @@ -1131,7 +1131,7 @@ _08072D8C: .4byte gBattle_BG2_X _08072D90: .4byte gBattle_BG2_Y _08072D94: .4byte gTasks _08072D98: .4byte gUnknown_2037F14 -_08072D9C: .4byte gUnknown_2023D44 +_08072D9C: .4byte gBattlerSpriteIds _08072DA0: .4byte task_pA_ma0A_obj_to_bg_pal _08072DA4: .4byte gSprites _08072DA8: .4byte gBattle_BG1_X @@ -1190,7 +1190,7 @@ sub_8072DF0: @ 8072DF0 cmp r0, 0 beq _08072E30 ldr r2, _08072E38 @ =gSprites - ldr r0, _08072E3C @ =gUnknown_2023D44 + ldr r0, _08072E3C @ =gBattlerSpriteIds adds r0, r4, r0 ldrb r1, [r0] lsls r0, r1, 4 @@ -1208,7 +1208,7 @@ _08072E30: .align 2, 0 _08072E34: .4byte gUnknown_2024018 _08072E38: .4byte gSprites -_08072E3C: .4byte gUnknown_2023D44 +_08072E3C: .4byte gBattlerSpriteIds _08072E40: movs r0, 0 _08072E42: @@ -1268,7 +1268,7 @@ _08072E5E: movs r1, 0x1 movs r2, 0 bl SetAnimBgAttribute - ldr r2, _08072F6C @ =gUnknown_2023D44 + ldr r2, _08072F6C @ =gBattlerSpriteIds adds r2, r7, r2 ldrb r0, [r2] ldr r5, _08072F70 @ =gBattle_BG1_X @@ -1349,7 +1349,7 @@ _08072F5C: .4byte 0x06004000 _08072F60: .4byte 0x0600e000 _08072F64: .4byte 0x01000800 _08072F68: .4byte 0x01000400 -_08072F6C: .4byte gUnknown_2023D44 +_08072F6C: .4byte gBattlerSpriteIds _08072F70: .4byte gBattle_BG1_X _08072F74: .4byte gSprites _08072F78: .4byte gBattle_BG1_Y @@ -1401,7 +1401,7 @@ _08072F84: movs r1, 0x1 movs r2, 0 bl SetAnimBgAttribute - ldr r2, _080730A4 @ =gUnknown_2023D44 + ldr r2, _080730A4 @ =gBattlerSpriteIds adds r2, r7, r2 ldrb r0, [r2] ldr r5, _080730A8 @ =gBattle_BG2_X @@ -1483,7 +1483,7 @@ _08073094: .4byte 0x06006000 _08073098: .4byte 0x0600f000 _0807309C: .4byte 0x01000800 _080730A0: .4byte 0x01000400 -_080730A4: .4byte gUnknown_2023D44 +_080730A4: .4byte gBattlerSpriteIds _080730A8: .4byte gBattle_BG2_X _080730AC: .4byte gSprites _080730B0: .4byte gBattle_BG2_Y @@ -1728,7 +1728,7 @@ _0807327E: cmp r0, 0xFF beq _080732A4 ldr r2, _080732DC @ =gSprites - ldr r0, _080732E0 @ =gUnknown_2023D44 + ldr r0, _080732E0 @ =gBattlerSpriteIds adds r0, r5, r0 ldrb r1, [r0] lsls r0, r1, 4 @@ -1748,7 +1748,7 @@ _080732A4: cmp r0, 0xFF beq _080732E4 ldr r3, _080732DC @ =gSprites - ldr r2, _080732E0 @ =gUnknown_2023D44 + ldr r2, _080732E0 @ =gBattlerSpriteIds movs r1, 0x2 adds r0, r5, 0 eors r0, r1 @@ -1769,7 +1769,7 @@ _080732A4: _080732D4: .4byte gBattleAnimTarget _080732D8: .4byte gUnknown_2037F14 _080732DC: .4byte gSprites -_080732E0: .4byte gUnknown_2023D44 +_080732E0: .4byte gBattlerSpriteIds _080732E4: movs r4, 0 _080732E6: @@ -1916,7 +1916,7 @@ _080733F4: adds r0, r4, 0 bl sub_8072E48 ldr r2, _08073478 @ =gSprites - ldr r0, _0807347C @ =gUnknown_2023D44 + ldr r0, _0807347C @ =gBattlerSpriteIds adds r0, r4, r0 ldrb r1, [r0] lsls r0, r1, 4 @@ -1954,7 +1954,7 @@ _08073442: adds r0, r4, 0 bl sub_8072E48 ldr r2, _08073478 @ =gSprites - ldr r0, _0807347C @ =gUnknown_2023D44 + ldr r0, _0807347C @ =gBattlerSpriteIds adds r0, r4, r0 ldrb r1, [r0] lsls r0, r1, 4 @@ -1978,7 +1978,7 @@ _08073464: .align 2, 0 _08073474: .4byte gBattleAnimTarget _08073478: .4byte gSprites -_0807347C: .4byte gUnknown_2023D44 +_0807347C: .4byte gBattlerSpriteIds _08073480: .4byte gUnknown_2037ED4 thumb_func_end sub_807339C @@ -2021,7 +2021,7 @@ _080734B6: cmp r0, 0 beq _080734E0 ldr r2, _08073518 @ =gSprites - ldr r0, _0807351C @ =gUnknown_2023D44 + ldr r0, _0807351C @ =gBattlerSpriteIds adds r0, r6, r0 ldrb r1, [r0] lsls r0, r1, 4 @@ -2046,7 +2046,7 @@ _080734E0: cmp r0, 0 beq _08073520 ldr r2, _08073518 @ =gSprites - ldr r0, _0807351C @ =gUnknown_2023D44 + ldr r0, _0807351C @ =gBattlerSpriteIds adds r0, r4, r0 ldrb r1, [r0] lsls r0, r1, 4 @@ -2063,7 +2063,7 @@ _080734E0: .align 2, 0 _08073514: .4byte gBattleAnimTarget _08073518: .4byte gSprites -_0807351C: .4byte gUnknown_2023D44 +_0807351C: .4byte gBattlerSpriteIds _08073520: movs r5, 0 _08073522: @@ -2309,7 +2309,7 @@ ScriptCmd_choosetwoturnanim: @ 80736E0 ldr r2, [r3] adds r0, r2, 0x1 str r0, [r3] - ldr r0, _0807371C @ =gUnknown_2037F16 + ldr r0, _0807371C @ =gAnimMoveTurn ldrb r1, [r0] movs r0, 0x1 ands r0, r1 @@ -2334,7 +2334,7 @@ _080736FA: bx r0 .align 2, 0 _08073718: .4byte gUnknown_2037ED4 -_0807371C: .4byte gUnknown_2037F16 +_0807371C: .4byte gAnimMoveTurn thumb_func_end ScriptCmd_choosetwoturnanim thumb_func_start ScriptCmd_jumpifmoveturn @@ -2347,7 +2347,7 @@ ScriptCmd_jumpifmoveturn: @ 8073720 ldrb r1, [r4, 0x1] adds r3, r2, 0x1 str r3, [r5] - ldr r0, _08073754 @ =gUnknown_2037F16 + ldr r0, _08073754 @ =gAnimMoveTurn ldrb r0, [r0] cmp r1, r0 bne _08073758 @@ -2365,7 +2365,7 @@ ScriptCmd_jumpifmoveturn: @ 8073720 b _0807375C .align 2, 0 _08073750: .4byte gUnknown_2037ED4 -_08073754: .4byte gUnknown_2037F16 +_08073754: .4byte gAnimMoveTurn _08073758: adds r0, r4, 0x6 str r0, [r5] diff --git a/asm/battle_anim_8074480.s b/asm/battle_anim_8074480.s index abd00d1c7..aded063d4 100644 --- a/asm/battle_anim_8074480.s +++ b/asm/battle_anim_8074480.s @@ -717,12 +717,12 @@ GetAnimBankSpriteId: @ 80749D4 lsls r0, 24 cmp r0, 0 beq _08074A4A - ldr r1, _080749F8 @ =gUnknown_2023D44 + ldr r1, _080749F8 @ =gBattlerSpriteIds ldrb r0, [r4] b _08074A5A .align 2, 0 _080749F4: .4byte gBattleAnimAttacker -_080749F8: .4byte gUnknown_2023D44 +_080749F8: .4byte gBattlerSpriteIds _080749FC: cmp r0, 0x1 bne _08074A1C @@ -732,12 +732,12 @@ _080749FC: lsls r0, 24 cmp r0, 0 beq _08074A4A - ldr r1, _08074A18 @ =gUnknown_2023D44 + ldr r1, _08074A18 @ =gBattlerSpriteIds ldrb r0, [r4] b _08074A5A .align 2, 0 _08074A14: .4byte gBattleAnimTarget -_08074A18: .4byte gUnknown_2023D44 +_08074A18: .4byte gBattlerSpriteIds _08074A1C: cmp r1, 0x2 bne _08074A38 @@ -767,7 +767,7 @@ _08074A4A: .align 2, 0 _08074A50: .4byte gBattleAnimTarget _08074A54: - ldr r1, _08074A64 @ =gUnknown_2023D44 + ldr r1, _08074A64 @ =gBattlerSpriteIds ldrb r0, [r5] eors r0, r4 _08074A5A: @@ -778,7 +778,7 @@ _08074A5E: pop {r1} bx r1 .align 2, 0 -_08074A64: .4byte gUnknown_2023D44 +_08074A64: .4byte gBattlerSpriteIds thumb_func_end GetAnimBankSpriteId thumb_func_start StoreSpriteCallbackInData6 @@ -4428,7 +4428,7 @@ sub_80764EC: @ 80764EC lsls r0, 24 lsrs r5, r0, 24 movs r4, 0 - ldr r1, _0807654C @ =gUnknown_2023D44 + ldr r1, _0807654C @ =gBattlerSpriteIds ldr r6, _08076550 @ =gBattlerPartyIndexes _08076508: adds r0, r4, r1 @@ -4463,7 +4463,7 @@ _08076508: b _0807655E .align 2, 0 _08076548: .4byte gSprites -_0807654C: .4byte gUnknown_2023D44 +_0807654C: .4byte gBattlerSpriteIds _08076550: .4byte gBattlerPartyIndexes _08076554: .4byte gUnknown_2024018 _08076558: .4byte gPlayerParty @@ -4706,7 +4706,7 @@ sub_80766EC: @ 80766EC cmp r0, 0 beq _0807672C ldr r2, _080767E4 @ =gSprites - ldr r1, _080767E8 @ =gUnknown_2023D44 + ldr r1, _080767E8 @ =gBattlerSpriteIds ldrb r0, [r6] adds r0, r1 ldrb r0, [r0] @@ -4733,7 +4733,7 @@ _0807672C: cmp r0, 0 beq _08076764 ldr r2, _080767E4 @ =gSprites - ldr r1, _080767E8 @ =gUnknown_2023D44 + ldr r1, _080767E8 @ =gBattlerSpriteIds mov r3, r8 ldrb r0, [r3] adds r0, r1 @@ -4761,7 +4761,7 @@ _08076764: cmp r0, 0 beq _0807679C ldr r2, _080767E4 @ =gSprites - ldr r1, _080767E8 @ =gUnknown_2023D44 + ldr r1, _080767E8 @ =gBattlerSpriteIds ldrb r0, [r6] eors r0, r5 adds r0, r1 @@ -4789,7 +4789,7 @@ _0807679C: cmp r0, 0 beq _080767D4 ldr r2, _080767E4 @ =gSprites - ldr r1, _080767E8 @ =gUnknown_2023D44 + ldr r1, _080767E8 @ =gBattlerSpriteIds mov r3, r8 ldrb r0, [r3] eors r0, r5 @@ -4817,7 +4817,7 @@ _080767D4: .align 2, 0 _080767E0: .4byte gBattleAnimTarget _080767E4: .4byte gSprites -_080767E8: .4byte gUnknown_2023D44 +_080767E8: .4byte gBattlerSpriteIds _080767EC: .4byte gBattleAnimAttacker thumb_func_end sub_80766EC @@ -4840,7 +4840,7 @@ _080767FE: beq _08076840 adds r0, r4, 0 bl sub_807685C - ldr r3, _08076858 @ =gUnknown_2023D44 + ldr r3, _08076858 @ =gBattlerSpriteIds adds r3, r5, r3 ldrb r2, [r3] lsls r1, r2, 4 @@ -4875,7 +4875,7 @@ _0807684A: .align 2, 0 _08076850: .4byte gBattlersCount _08076854: .4byte gSprites -_08076858: .4byte gUnknown_2023D44 +_08076858: .4byte gBattlerSpriteIds thumb_func_end sub_80767F0 thumb_func_start sub_807685C diff --git a/asm/battle_anim_8078178.s b/asm/battle_anim_8078178.s index 36d9c2e85..5530fd869 100644 --- a/asm/battle_anim_8078178.s +++ b/asm/battle_anim_8078178.s @@ -16,7 +16,7 @@ sub_8078178: @ 8078178 lsrs r4, 24 lsls r5, 24 lsrs r5, 24 - ldr r0, _0807821C @ =gUnknown_2023D44 + ldr r0, _0807821C @ =gBattlerSpriteIds adds r0, r4, r0 ldrb r6, [r0] ldr r0, _08078220 @ =sub_80782BC @@ -88,7 +88,7 @@ _08078210: bls _080781CC b _08078298 .align 2, 0 -_0807821C: .4byte gUnknown_2023D44 +_0807821C: .4byte gBattlerSpriteIds _08078220: .4byte sub_80782BC _08078224: .4byte gUnknown_83AD048 _08078228: .4byte gUnknown_83AD950 diff --git a/asm/battle_anim_80989F8.s b/asm/battle_anim_80989F8.s index f1a36c2d0..14cc141cd 100644 --- a/asm/battle_anim_80989F8.s +++ b/asm/battle_anim_80989F8.s @@ -217,13 +217,13 @@ _08098B72: bne _08098B88 movs r6, 0x1 _08098B88: - ldr r0, _08098B90 @ =gUnknown_2023D44 + ldr r0, _08098B90 @ =gBattlerSpriteIds adds r0, r4, r0 b _08098B9C .align 2, 0 -_08098B90: .4byte gUnknown_2023D44 +_08098B90: .4byte gBattlerSpriteIds _08098B94: - ldr r1, _08098BAC @ =gUnknown_2023D44 + ldr r1, _08098BAC @ =gBattlerSpriteIds ldr r0, _08098BB0 @ =gBattleAnimAttacker ldrb r0, [r0] adds r0, r1 @@ -237,7 +237,7 @@ _08098BA2: bl DestroyAnimVisualTask b _08098BF2 .align 2, 0 -_08098BAC: .4byte gUnknown_2023D44 +_08098BAC: .4byte gBattlerSpriteIds _08098BB0: .4byte gBattleAnimAttacker _08098BB4: ldr r1, _08098BF8 @ =gSprites @@ -929,7 +929,7 @@ _080990E0: movs r0, 0 strh r2, [r4, 0x2E] strh r0, [r4, 0x32] - ldr r1, _08099110 @ =gUnknown_2023D44 + ldr r1, _08099110 @ =gBattlerSpriteIds ldr r0, _08099114 @ =gBattleAnimAttacker ldrb r0, [r0] adds r0, r1 @@ -946,7 +946,7 @@ _080990E0: bx r0 .align 2, 0 _0809910C: .4byte gBattleAnimArgs -_08099110: .4byte gUnknown_2023D44 +_08099110: .4byte gBattlerSpriteIds _08099114: .4byte gBattleAnimAttacker _08099118: .4byte sub_8099120 _0809911C: .4byte sub_8074DC4 @@ -1037,15 +1037,15 @@ sub_80991B4: @ 80991B4 ldrsh r0, [r0, r1] cmp r0, 0 bne _080991D8 - ldr r1, _080991D0 @ =gUnknown_2023D44 + ldr r1, _080991D0 @ =gBattlerSpriteIds ldr r0, _080991D4 @ =gBattleAnimAttacker b _080991DC .align 2, 0 _080991CC: .4byte gBattleAnimArgs -_080991D0: .4byte gUnknown_2023D44 +_080991D0: .4byte gBattlerSpriteIds _080991D4: .4byte gBattleAnimAttacker _080991D8: - ldr r1, _0809923C @ =gUnknown_2023D44 + ldr r1, _0809923C @ =gBattlerSpriteIds ldr r0, _08099240 @ =gBattleAnimTarget _080991DC: ldrb r0, [r0] @@ -1095,7 +1095,7 @@ _080991DC: strh r3, [r6, 0x32] b _08099252 .align 2, 0 -_0809923C: .4byte gUnknown_2023D44 +_0809923C: .4byte gBattlerSpriteIds _08099240: .4byte gBattleAnimTarget _08099244: .4byte gBattleAnimArgs _08099248: .4byte gSprites @@ -1202,7 +1202,7 @@ _080992FC: ldr r0, _0809937C @ =gBattleAnimTarget _080992FE: ldrb r2, [r0] - ldr r0, _08099380 @ =gUnknown_2023D44 + ldr r0, _08099380 @ =gBattlerSpriteIds adds r0, r2, r0 ldrb r6, [r0] adds r0, r2, 0 @@ -1264,7 +1264,7 @@ _08099328: bx r0 .align 2, 0 _0809937C: .4byte gBattleAnimTarget -_08099380: .4byte gUnknown_2023D44 +_08099380: .4byte gBattlerSpriteIds _08099384: .4byte gBattleAnimArgs _08099388: .4byte gSprites _0809938C: .4byte DestroyAnimSprite @@ -1295,7 +1295,7 @@ _080993BC: ldr r0, _0809943C @ =gBattleAnimTarget _080993BE: ldrb r1, [r0] - ldr r0, _08099440 @ =gUnknown_2023D44 + ldr r0, _08099440 @ =gBattlerSpriteIds adds r0, r1, r0 ldrb r7, [r0] adds r0, r1, 0 @@ -1357,7 +1357,7 @@ _080993E8: b _08099458 .align 2, 0 _0809943C: .4byte gBattleAnimTarget -_08099440: .4byte gUnknown_2023D44 +_08099440: .4byte gBattlerSpriteIds _08099444: .4byte gBattleAnimArgs _08099448: .4byte gSprites _0809944C: .4byte DestroyAnimSprite @@ -1620,7 +1620,7 @@ _08099636: lsls r0, 24 cmp r0, 0 beq _0809965C - ldr r1, _08099658 @ =gUnknown_2023D44 + ldr r1, _08099658 @ =gBattlerSpriteIds ldrb r0, [r5] eors r0, r4 adds r0, r1 @@ -1628,7 +1628,7 @@ _08099636: b _08099664 .align 2, 0 _08099654: .4byte gBattleAnimTarget -_08099658: .4byte gUnknown_2023D44 +_08099658: .4byte gBattlerSpriteIds _0809965C: adds r0, r6, 0 bl DestroyAnimVisualTask diff --git a/asm/battle_anim_80DE2C0.s b/asm/battle_anim_80DE2C0.s index 215771273..74f6ef9fc 100644 --- a/asm/battle_anim_80DE2C0.s +++ b/asm/battle_anim_80DE2C0.s @@ -3301,7 +3301,7 @@ c3_80DFBE4: @ 80DFBE4 lsrs r0, 24 ldr r4, _080DFC14 @ =gBattleAnimArgs ldr r3, _080DFC18 @ =gSprites - ldr r2, _080DFC1C @ =gUnknown_2023D44 + ldr r2, _080DFC1C @ =gBattlerSpriteIds ldr r1, _080DFC20 @ =gBattleAnimAttacker ldrb r1, [r1] adds r1, r2 @@ -3322,7 +3322,7 @@ c3_80DFBE4: @ 80DFBE4 .align 2, 0 _080DFC14: .4byte gBattleAnimArgs _080DFC18: .4byte gSprites -_080DFC1C: .4byte gUnknown_2023D44 +_080DFC1C: .4byte gBattlerSpriteIds _080DFC20: .4byte gBattleAnimAttacker thumb_func_end c3_80DFBE4 @@ -7441,7 +7441,7 @@ sub_80E1C48: @ 80E1C48 lsls r0, 3 mov r1, r8 adds r4, r0, r1 - ldr r1, _080E1CAC @ =gUnknown_2023D44 + ldr r1, _080E1CAC @ =gBattlerSpriteIds ldr r2, _080E1CB0 @ =gBattleAnimAttacker ldrb r0, [r2] adds r0, r1 @@ -7478,7 +7478,7 @@ _080E1C8C: b _080E1D2C .align 2, 0 _080E1CA8: .4byte gTasks -_080E1CAC: .4byte gUnknown_2023D44 +_080E1CAC: .4byte gBattlerSpriteIds _080E1CB0: .4byte gBattleAnimAttacker _080E1CB4: .4byte gBattleAnimArgs _080E1CB8: .4byte 0xffff8000 @@ -12088,7 +12088,7 @@ _080E4048: .4byte gBattleAnimAttacker _080E404C: .4byte gBattleAnimTarget _080E4050: .4byte gTasks _080E4054: - ldr r1, _080E4090 @ =gUnknown_2023D44 + ldr r1, _080E4090 @ =gBattlerSpriteIds ldr r0, _080E4094 @ =gBattleAnimAttacker ldrb r0, [r0] adds r0, r1 @@ -12119,7 +12119,7 @@ _080E4054: ldrsh r1, [r2, r3] b _080E4122 .align 2, 0 -_080E4090: .4byte gUnknown_2023D44 +_080E4090: .4byte gBattlerSpriteIds _080E4094: .4byte gBattleAnimAttacker _080E4098: .4byte gSprites _080E409C: @@ -12147,7 +12147,7 @@ _080E40B0: strh r1, [r0, 0x26] b _080E414C _080E40C8: - ldr r1, _080E4108 @ =gUnknown_2023D44 + ldr r1, _080E4108 @ =gBattlerSpriteIds ldr r0, _080E410C @ =gBattleAnimAttacker ldrb r0, [r0] adds r0, r1 @@ -12180,7 +12180,7 @@ _080E40C8: bgt _080E414C b _080E4126 .align 2, 0 -_080E4108: .4byte gUnknown_2023D44 +_080E4108: .4byte gBattlerSpriteIds _080E410C: .4byte gBattleAnimAttacker _080E4110: .4byte gSprites _080E4114: @@ -12200,7 +12200,7 @@ _080E4126: strh r0, [r2, 0x26] b _080E414C _080E412E: - ldr r1, _080E4154 @ =gUnknown_2023D44 + ldr r1, _080E4154 @ =gBattlerSpriteIds ldr r0, _080E4158 @ =gBattleAnimAttacker ldrb r0, [r0] adds r0, r1 @@ -12219,7 +12219,7 @@ _080E414C: pop {r0} bx r0 .align 2, 0 -_080E4154: .4byte gUnknown_2023D44 +_080E4154: .4byte gBattlerSpriteIds _080E4158: .4byte gBattleAnimAttacker _080E415C: .4byte gSprites thumb_func_end sub_80E3FC0 diff --git a/asm/battle_anim_80EEC0C.s b/asm/battle_anim_80EEC0C.s index 50b382600..704a1e9a7 100644 --- a/asm/battle_anim_80EEC0C.s +++ b/asm/battle_anim_80EEC0C.s @@ -809,7 +809,7 @@ sub_80EF298: @ 80EF298 push {r4-r6,lr} lsls r0, 24 lsrs r6, r0, 24 - ldr r1, _080EF2C4 @ =gUnknown_2023D44 + ldr r1, _080EF2C4 @ =gBattlerSpriteIds ldr r0, _080EF2C8 @ =gBattleAnimAttacker ldrb r0, [r0] adds r0, r1 @@ -829,7 +829,7 @@ sub_80EF298: @ 80EF298 beq _080EF2D6 b _080EF338 .align 2, 0 -_080EF2C4: .4byte gUnknown_2023D44 +_080EF2C4: .4byte gBattlerSpriteIds _080EF2C8: .4byte gBattleAnimAttacker _080EF2CC: .4byte gTasks _080EF2D0: @@ -900,7 +900,7 @@ sub_80EF344: @ 80EF344 sub sp, 0xC lsls r0, 24 lsrs r5, r0, 24 - ldr r1, _080EF37C @ =gUnknown_2023D44 + ldr r1, _080EF37C @ =gBattlerSpriteIds ldr r4, _080EF380 @ =gBattleAnimAttacker ldrb r0, [r4] adds r1, r0, r1 @@ -920,7 +920,7 @@ sub_80EF344: @ 80EF344 ldr r1, _080EF388 @ =gPlayerParty b _080EF39C .align 2, 0 -_080EF37C: .4byte gUnknown_2023D44 +_080EF37C: .4byte gBattlerSpriteIds _080EF380: .4byte gBattleAnimAttacker _080EF384: .4byte gBattlerPartyIndexes _080EF388: .4byte gPlayerParty @@ -1260,7 +1260,7 @@ sub_80EF5AC: @ 80EF5AC ldr r0, _080EF688 @ =gUnknown_2024018 ldr r0, [r0] ldr r3, [r0, 0x8] - ldr r1, _080EF68C @ =gUnknown_2023D44 + ldr r1, _080EF68C @ =gBattlerSpriteIds mov r2, r8 ldrb r0, [r2] adds r0, r1 @@ -1303,7 +1303,7 @@ _080EF67C: .4byte gSprites _080EF680: .4byte gBattleAnimTarget _080EF684: .4byte sub_80EF8C0 _080EF688: .4byte gUnknown_2024018 -_080EF68C: .4byte gUnknown_2023D44 +_080EF68C: .4byte gBattlerSpriteIds _080EF690: .4byte gTasks _080EF694: .4byte sub_80EF698 thumb_func_end sub_80EF5AC @@ -1430,7 +1430,7 @@ _080EF708: str r0, [r4] movs r0, 0 bl GetBattlerAtPosition - ldr r1, _080EF7DC @ =gUnknown_2023D44 + ldr r1, _080EF7DC @ =gBattlerSpriteIds lsls r0, 24 lsrs r0, 24 adds r0, r1 @@ -1462,7 +1462,7 @@ _080EF7CC: .4byte gUnknown_82606F4 _080EF7D0: .4byte gSprites _080EF7D4: .4byte gBattleAnimTarget _080EF7D8: .4byte SpriteCallbackDummy -_080EF7DC: .4byte gUnknown_2023D44 +_080EF7DC: .4byte gBattlerSpriteIds _080EF7E0: .4byte sub_8012354 _080EF7E4: .4byte gTasks _080EF7E8: .4byte sub_80EF7EC @@ -1476,7 +1476,7 @@ sub_80EF7EC: @ 80EF7EC ldr r6, _080EF84C @ =gSprites movs r0, 0 bl GetBattlerAtPosition - ldr r1, _080EF850 @ =gUnknown_2023D44 + ldr r1, _080EF850 @ =gBattlerSpriteIds lsls r0, 24 lsrs r0, 24 adds r0, r1 @@ -1518,7 +1518,7 @@ _080EF846: bx r0 .align 2, 0 _080EF84C: .4byte gSprites -_080EF850: .4byte gUnknown_2023D44 +_080EF850: .4byte gBattlerSpriteIds _080EF854: .4byte gTasks _080EF858: .4byte sub_80EF8C0 _080EF85C: .4byte sub_80EF864 @@ -1533,7 +1533,7 @@ sub_80EF864: @ 80EF864 ldr r6, _080EF8B8 @ =gSprites movs r0, 0 bl GetBattlerAtPosition - ldr r4, _080EF8BC @ =gUnknown_2023D44 + ldr r4, _080EF8BC @ =gBattlerSpriteIds lsls r0, 24 lsrs r0, 24 adds r0, r4 @@ -1567,7 +1567,7 @@ _080EF8B0: bx r0 .align 2, 0 _080EF8B8: .4byte gSprites -_080EF8BC: .4byte gUnknown_2023D44 +_080EF8BC: .4byte gBattlerSpriteIds thumb_func_end sub_80EF864 thumb_func_start sub_80EF8C0 @@ -1711,7 +1711,7 @@ sub_80EF9B4: @ 80EF9B4 ldr r0, _080EF9FC @ =sub_80EFA0C str r0, [r4, 0x1C] ldr r2, _080EFA00 @ =gSprites - ldr r1, _080EFA04 @ =gUnknown_2023D44 + ldr r1, _080EFA04 @ =gBattlerSpriteIds ldr r0, _080EFA08 @ =gBattleAnimTarget ldrb r0, [r0] adds r0, r1 @@ -1730,7 +1730,7 @@ _080EF9F0: _080EF9F8: .4byte TaskDummy _080EF9FC: .4byte sub_80EFA0C _080EFA00: .4byte gSprites -_080EFA04: .4byte gUnknown_2023D44 +_080EFA04: .4byte gBattlerSpriteIds _080EFA08: .4byte gBattleAnimTarget thumb_func_end sub_80EF9B4 @@ -1738,7 +1738,7 @@ _080EFA08: .4byte gBattleAnimTarget sub_80EFA0C: @ 80EFA0C push {r4-r7,lr} adds r7, r0, 0 - ldr r1, _080EFA50 @ =gUnknown_2023D44 + ldr r1, _080EFA50 @ =gBattlerSpriteIds ldr r0, _080EFA54 @ =gBattleAnimTarget ldrb r0, [r0] adds r0, r1 @@ -1771,7 +1771,7 @@ _080EFA3E: beq _080EFA62 b _080EFB20 .align 2, 0 -_080EFA50: .4byte gUnknown_2023D44 +_080EFA50: .4byte gBattlerSpriteIds _080EFA54: .4byte gBattleAnimTarget _080EFA58: .4byte gTasks _080EFA5C: @@ -2555,7 +2555,7 @@ _080F004C: cmp r1, r0 bne _080F0088 ldr r5, _080F0098 @ =gSprites - ldr r4, _080F009C @ =gUnknown_2023D44 + ldr r4, _080F009C @ =gBattlerSpriteIds ldrb r0, [r7] adds r0, r4 ldrb r1, [r0] @@ -2589,7 +2589,7 @@ _080F0088: .align 2, 0 _080F0094: .4byte 0x0000013b _080F0098: .4byte gSprites -_080F009C: .4byte gUnknown_2023D44 +_080F009C: .4byte gBattlerSpriteIds _080F00A0: .4byte sub_80F00A4 thumb_func_end sub_80EFFC4 @@ -2901,7 +2901,7 @@ sub_80F02B0: @ 80F02B0 bl LaunchBallFadeMonTask _080F0302: ldr r6, _080F0370 @ =gSprites - ldr r5, _080F0374 @ =gUnknown_2023D44 + ldr r5, _080F0374 @ =gBattlerSpriteIds ldr r4, _080F036C @ =gBattleAnimTarget ldrb r0, [r4] adds r0, r5 @@ -2952,7 +2952,7 @@ _080F0364: .4byte sub_80F0378 _080F0368: .4byte gUnknown_2023D68 _080F036C: .4byte gBattleAnimTarget _080F0370: .4byte gSprites -_080F0374: .4byte gUnknown_2023D44 +_080F0374: .4byte gBattlerSpriteIds thumb_func_end sub_80F02B0 thumb_func_start sub_80F0378 @@ -2974,7 +2974,7 @@ sub_80F0378: @ 80F0378 strb r0, [r2] _080F0396: ldr r4, _080F03C4 @ =gSprites - ldr r3, _080F03C8 @ =gUnknown_2023D44 + ldr r3, _080F03C8 @ =gBattlerSpriteIds ldr r2, _080F03CC @ =gBattleAnimTarget ldrb r0, [r2] adds r0, r3 @@ -2996,7 +2996,7 @@ _080F0396: b _080F03F0 .align 2, 0 _080F03C4: .4byte gSprites -_080F03C8: .4byte gUnknown_2023D44 +_080F03C8: .4byte gBattlerSpriteIds _080F03CC: .4byte gBattleAnimTarget _080F03D0: ldr r6, _080F045C @ =0xfffffee0 @@ -3026,7 +3026,7 @@ _080F03F0: cmp r5, 0 beq _080F0456 ldr r4, _080F0460 @ =gSprites - ldr r3, _080F0464 @ =gUnknown_2023D44 + ldr r3, _080F0464 @ =gBattlerSpriteIds ldr r2, _080F0468 @ =gBattleAnimTarget ldrb r0, [r2] adds r0, r3 @@ -3073,7 +3073,7 @@ _080F0456: .align 2, 0 _080F045C: .4byte 0xfffffee0 _080F0460: .4byte gSprites -_080F0464: .4byte gUnknown_2023D44 +_080F0464: .4byte gBattlerSpriteIds _080F0468: .4byte gBattleAnimTarget _080F046C: .4byte gUnknown_2024018 _080F0470: .4byte sub_80F018C @@ -5082,7 +5082,7 @@ sub_80F1420: @ 80F1420 lsrs r7, r0, 24 movs r0, 0 mov r8, r0 - ldr r0, _080F1454 @ =gUnknown_2023D44 + ldr r0, _080F1454 @ =gBattlerSpriteIds ldr r3, _080F1458 @ =gBattleAnimAttacker ldrb r2, [r3] adds r0, r2, r0 @@ -5102,7 +5102,7 @@ sub_80F1420: @ 80F1420 beq _080F1466 b _080F15BA .align 2, 0 -_080F1454: .4byte gUnknown_2023D44 +_080F1454: .4byte gBattlerSpriteIds _080F1458: .4byte gBattleAnimAttacker _080F145C: .4byte gTasks _080F1460: @@ -5379,7 +5379,7 @@ _080F1644: strh r0, [r4, 0x26] b _080F16B4 _080F167E: - ldr r1, _080F16BC @ =gUnknown_2023D44 + ldr r1, _080F16BC @ =gBattlerSpriteIds ldr r4, _080F16C0 @ =gBattleAnimAttacker ldrb r0, [r4] adds r0, r1 @@ -5408,7 +5408,7 @@ _080F16B4: pop {r0} bx r0 .align 2, 0 -_080F16BC: .4byte gUnknown_2023D44 +_080F16BC: .4byte gBattlerSpriteIds _080F16C0: .4byte gBattleAnimAttacker _080F16C4: .4byte gSprites _080F16C8: .4byte 0x06010000 @@ -6013,7 +6013,7 @@ sub_80F1B3C: @ 80F1B3C adds r0, r4, 0 bl sub_8075068 ldr r2, _080F1BB8 @ =gSprites - ldr r1, _080F1BBC @ =gUnknown_2023D44 + ldr r1, _080F1BBC @ =gBattlerSpriteIds ldr r0, _080F1BC0 @ =gBattleAnimAttacker ldrb r0, [r0] adds r0, r1 @@ -6034,7 +6034,7 @@ sub_80F1B3C: @ 80F1B3C _080F1BB0: .4byte gBattleAnimArgs _080F1BB4: .4byte 0x0000ffe0 _080F1BB8: .4byte gSprites -_080F1BBC: .4byte gUnknown_2023D44 +_080F1BBC: .4byte gBattlerSpriteIds _080F1BC0: .4byte gBattleAnimAttacker _080F1BC4: .4byte sub_8012354 _080F1BC8: .4byte sub_80F1BCC @@ -6045,7 +6045,7 @@ sub_80F1BCC: @ 80F1BCC push {lr} adds r3, r0, 0 ldr r2, _080F1BF4 @ =gSprites - ldr r1, _080F1BF8 @ =gUnknown_2023D44 + ldr r1, _080F1BF8 @ =gBattlerSpriteIds ldr r0, _080F1BFC @ =gBattleAnimAttacker ldrb r0, [r0] adds r0, r1 @@ -6065,7 +6065,7 @@ _080F1BF0: bx r0 .align 2, 0 _080F1BF4: .4byte gSprites -_080F1BF8: .4byte gUnknown_2023D44 +_080F1BF8: .4byte gBattlerSpriteIds _080F1BFC: .4byte gBattleAnimAttacker _080F1C00: .4byte sub_80F1C04 thumb_func_end sub_80F1BCC @@ -6101,7 +6101,7 @@ sub_80F1C30: @ 80F1C30 push {r4,r5,lr} adds r4, r0, 0 ldr r5, _080F1C80 @ =gSprites - ldr r3, _080F1C84 @ =gUnknown_2023D44 + ldr r3, _080F1C84 @ =gBattlerSpriteIds ldr r2, _080F1C88 @ =gBattleAnimAttacker ldrb r0, [r2] adds r0, r3 @@ -6138,7 +6138,7 @@ _080F1C78: bx r0 .align 2, 0 _080F1C80: .4byte gSprites -_080F1C84: .4byte gUnknown_2023D44 +_080F1C84: .4byte gBattlerSpriteIds _080F1C88: .4byte gBattleAnimAttacker thumb_func_end sub_80F1C30 diff --git a/asm/battle_anim_effects_1.s b/asm/battle_anim_effects_1.s index d9df7add2..18289e193 100644 --- a/asm/battle_anim_effects_1.s +++ b/asm/battle_anim_effects_1.s @@ -6380,7 +6380,7 @@ _080A53B6: strh r1, [r4, 0x30] movs r0, 0 strh r0, [r4, 0x32] - ldr r1, _080A53DC @ =gUnknown_2023D44 + ldr r1, _080A53DC @ =gBattlerSpriteIds ldrb r0, [r5] adds r0, r1 ldrb r0, [r0] @@ -6395,7 +6395,7 @@ _080A53B6: bx r0 .align 2, 0 _080A53D8: .4byte gBattleAnimAttacker -_080A53DC: .4byte gUnknown_2023D44 +_080A53DC: .4byte gBattlerSpriteIds _080A53E0: .4byte sub_80A53E8 _080A53E4: .4byte sub_8074DC4 thumb_func_end sub_80A5398 @@ -6408,7 +6408,7 @@ sub_80A53E8: @ 80A53E8 ldrsh r6, [r5, r0] cmp r6, 0 bne _080A5424 - ldr r1, _080A5464 @ =gUnknown_2023D44 + ldr r1, _080A5464 @ =gBattlerSpriteIds ldr r4, _080A5468 @ =gBattleAnimAttacker ldrb r0, [r4] adds r0, r1 @@ -6464,7 +6464,7 @@ _080A545E: pop {r0} bx r0 .align 2, 0 -_080A5464: .4byte gUnknown_2023D44 +_080A5464: .4byte gBattlerSpriteIds _080A5468: .4byte gBattleAnimAttacker _080A546C: .4byte 0xfffffd00 _080A5470: .4byte sub_80A5584 @@ -6490,7 +6490,7 @@ _080A5492: strh r1, [r4, 0x30] movs r0, 0 strh r0, [r4, 0x32] - ldr r1, _080A54B8 @ =gUnknown_2023D44 + ldr r1, _080A54B8 @ =gBattlerSpriteIds ldrb r0, [r5] adds r0, r1 ldrb r0, [r0] @@ -6505,7 +6505,7 @@ _080A5492: bx r0 .align 2, 0 _080A54B4: .4byte gBattleAnimAttacker -_080A54B8: .4byte gUnknown_2023D44 +_080A54B8: .4byte gBattlerSpriteIds _080A54BC: .4byte sub_80A5584 _080A54C0: .4byte sub_8074DC4 thumb_func_end sub_80A5474 @@ -6540,7 +6540,7 @@ sub_80A54E8: @ 80A54E8 ldrsh r0, [r5, r1] cmp r0, 0 bne _080A5538 - ldr r1, _080A5524 @ =gUnknown_2023D44 + ldr r1, _080A5524 @ =gBattlerSpriteIds ldr r4, _080A5528 @ =gBattleAnimAttacker ldrb r0, [r4] adds r0, r1 @@ -6563,7 +6563,7 @@ sub_80A54E8: @ 80A54E8 lsls r0, 4 b _080A5536 .align 2, 0 -_080A5524: .4byte gUnknown_2023D44 +_080A5524: .4byte gBattlerSpriteIds _080A5528: .4byte gBattleAnimAttacker _080A552C: movs r0, 0x80 @@ -6649,7 +6649,7 @@ _080A55B6: b _080A568E _080A55BC: strh r5, [r4, 0x30] - ldr r1, _080A5640 @ =gUnknown_2023D44 + ldr r1, _080A5640 @ =gBattlerSpriteIds ldr r2, _080A5644 @ =gBattleAnimAttacker ldrb r0, [r2] adds r0, r1 @@ -6713,7 +6713,7 @@ _080A55FA: strh r0, [r4, 0x2E] b _080A568E .align 2, 0 -_080A5640: .4byte gUnknown_2023D44 +_080A5640: .4byte gBattlerSpriteIds _080A5644: .4byte gBattleAnimAttacker _080A5648: .4byte 0xfffffe00 _080A564C: @@ -6762,7 +6762,7 @@ sub_80A5694: @ 80A5694 adds r0, r6 lsls r0, 3 adds r5, r0, r1 - ldr r1, _080A56DC @ =gUnknown_2023D44 + ldr r1, _080A56DC @ =gBattlerSpriteIds ldr r2, _080A56E0 @ =gBattleAnimAttacker ldrb r0, [r2] adds r0, r1 @@ -6787,7 +6787,7 @@ sub_80A5694: @ 80A5694 b _080A5722 .align 2, 0 _080A56D8: .4byte gTasks -_080A56DC: .4byte gUnknown_2023D44 +_080A56DC: .4byte gBattlerSpriteIds _080A56E0: .4byte gBattleAnimAttacker _080A56E4: .4byte gBattleAnimArgs _080A56E8: diff --git a/asm/battle_anim_effects_2.s b/asm/battle_anim_effects_2.s index 3f3a083a3..34bb0db27 100644 --- a/asm/battle_anim_effects_2.s +++ b/asm/battle_anim_effects_2.s @@ -195,7 +195,7 @@ sub_80A6F8C: @ 80A6F8C lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] - ldr r1, _080A6FD8 @ =gUnknown_2023D44 + ldr r1, _080A6FD8 @ =gBattlerSpriteIds ldr r0, _080A6FDC @ =gBattleAnimTarget ldrb r0, [r0] adds r0, r1 @@ -214,7 +214,7 @@ sub_80A6F8C: @ 80A6F8C b _080A6FEE .align 2, 0 _080A6FD4: .4byte gBattleAnimAttacker -_080A6FD8: .4byte gUnknown_2023D44 +_080A6FD8: .4byte gBattlerSpriteIds _080A6FDC: .4byte gBattleAnimTarget _080A6FE0: .4byte gBattleAnimArgs _080A6FE4: @@ -323,7 +323,7 @@ sub_80A70A0: @ 80A70A0 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r1, _080A70CC @ =gUnknown_2023D44 + ldr r1, _080A70CC @ =gBattlerSpriteIds ldr r0, _080A70D0 @ =gBattleAnimAttacker ldrb r0, [r0] adds r0, r1 @@ -341,7 +341,7 @@ sub_80A70A0: @ 80A70A0 pop {r0} bx r0 .align 2, 0 -_080A70CC: .4byte gUnknown_2023D44 +_080A70CC: .4byte gBattlerSpriteIds _080A70D0: .4byte gBattleAnimAttacker _080A70D4: .4byte gTasks _080A70D8: .4byte sub_80A70DC @@ -352,7 +352,7 @@ sub_80A70DC: @ 80A70DC push {r4-r6,lr} lsls r0, 24 lsrs r5, r0, 24 - ldr r1, _080A710C @ =gUnknown_2023D44 + ldr r1, _080A710C @ =gBattlerSpriteIds ldr r0, _080A7110 @ =gBattleAnimAttacker ldrb r0, [r0] adds r1, r0, r1 @@ -373,7 +373,7 @@ sub_80A70DC: @ 80A70DC adds r6, r2, 0 b _080A7126 .align 2, 0 -_080A710C: .4byte gUnknown_2023D44 +_080A710C: .4byte gBattlerSpriteIds _080A7110: .4byte gBattleAnimAttacker _080A7114: .4byte gTasks _080A7118: @@ -4013,21 +4013,21 @@ _080A8D10: cmp r0, 0 beq _080A8D5C ldr r2, _080A8D54 @ =gSprites - ldr r0, _080A8D58 @ =gUnknown_2023D44 + ldr r0, _080A8D58 @ =gBattlerSpriteIds adds r0, r4, r0 b _080A8DEA .align 2, 0 _080A8D50: .4byte gBattleAnimArgs _080A8D54: .4byte gSprites -_080A8D58: .4byte gUnknown_2023D44 +_080A8D58: .4byte gBattlerSpriteIds _080A8D5C: ldr r2, _080A8D64 @ =gSprites - ldr r0, _080A8D68 @ =gUnknown_2023D44 + ldr r0, _080A8D68 @ =gBattlerSpriteIds add r0, r8 b _080A8DEA .align 2, 0 _080A8D64: .4byte gSprites -_080A8D68: .4byte gUnknown_2023D44 +_080A8D68: .4byte gBattlerSpriteIds _080A8D6C: adds r0, r7, 0 mov r1, r10 @@ -4053,7 +4053,7 @@ _080A8D6C: cmp r0, 0 beq _080A8DE4 ldr r3, _080A8DD8 @ =gSprites - ldr r2, _080A8DDC @ =gUnknown_2023D44 + ldr r2, _080A8DDC @ =gBattlerSpriteIds adds r0, r7, r2 ldrb r1, [r0] lsls r0, r1, 4 @@ -4080,13 +4080,13 @@ _080A8D6C: .align 2, 0 _080A8DD4: .4byte gBattleAnimArgs _080A8DD8: .4byte gSprites -_080A8DDC: .4byte gUnknown_2023D44 +_080A8DDC: .4byte gBattlerSpriteIds _080A8DE0: adds r0, r6, 0 b _080A8DF4 _080A8DE4: ldr r2, _080A8E40 @ =gSprites - ldr r0, _080A8E44 @ =gUnknown_2023D44 + ldr r0, _080A8E44 @ =gBattlerSpriteIds adds r0, r7, r0 _080A8DEA: ldrb r1, [r0] @@ -4132,7 +4132,7 @@ _080A8DFA: b _080A8E6C .align 2, 0 _080A8E40: .4byte gSprites -_080A8E44: .4byte gUnknown_2023D44 +_080A8E44: .4byte gBattlerSpriteIds _080A8E48: .4byte gBattleAnimArgs _080A8E4C: mov r4, sp @@ -7911,7 +7911,7 @@ sub_80AAB7C: @ 80AAB7C lsls r0, 24 lsrs r0, 24 ldr r3, _080AAB98 @ =gBattleAnimArgs - ldr r1, _080AAB9C @ =gUnknown_2037EE4 + ldr r1, _080AAB9C @ =gAnimDisableStructPtr ldr r1, [r1] ldrb r2, [r1, 0x10] movs r1, 0x1 @@ -7922,7 +7922,7 @@ sub_80AAB7C: @ 80AAB7C bx r0 .align 2, 0 _080AAB98: .4byte gBattleAnimArgs -_080AAB9C: .4byte gUnknown_2037EE4 +_080AAB9C: .4byte gAnimDisableStructPtr thumb_func_end sub_80AAB7C thumb_func_start update_fury_cutter_counter_copy @@ -7931,7 +7931,7 @@ update_fury_cutter_counter_copy: @ 80AABA0 lsls r0, 24 lsrs r0, 24 ldr r2, _080AABB8 @ =gBattleAnimArgs - ldr r1, _080AABBC @ =gUnknown_2037EE4 + ldr r1, _080AABBC @ =gAnimDisableStructPtr ldr r1, [r1] ldrb r1, [r1, 0x10] strh r1, [r2, 0xE] @@ -7940,7 +7940,7 @@ update_fury_cutter_counter_copy: @ 80AABA0 bx r0 .align 2, 0 _080AABB8: .4byte gBattleAnimArgs -_080AABBC: .4byte gUnknown_2037EE4 +_080AABBC: .4byte gAnimDisableStructPtr thumb_func_end update_fury_cutter_counter_copy .align 2, 0 @ Don't pad with nop. diff --git a/asm/battle_anim_utility_funcs.s b/asm/battle_anim_utility_funcs.s index b5902ddae..d33f51842 100644 --- a/asm/battle_anim_utility_funcs.s +++ b/asm/battle_anim_utility_funcs.s @@ -752,7 +752,7 @@ _080BADAA: cmp r0, 0x1 bne _080BADFE ldr r3, _080BAE3C @ =gSprites - ldr r1, _080BAE40 @ =gUnknown_2023D44 + ldr r1, _080BAE40 @ =gBattlerSpriteIds ldrb r0, [r5] eors r0, r6 adds r0, r1 @@ -808,7 +808,7 @@ _080BAE30: .4byte 0x00003f42 _080BAE34: .4byte 0x00000c08 _080BAE38: .4byte gBattleAnimAttacker _080BAE3C: .4byte gSprites -_080BAE40: .4byte gUnknown_2023D44 +_080BAE40: .4byte gBattlerSpriteIds _080BAE44: .4byte gBattlerPartyIndexes _080BAE48: .4byte gEnemyParty _080BAE4C: @@ -1020,7 +1020,7 @@ _080BAFCA: ldrsh r0, [r5, r1] cmp r0, 0x1 bne _080BB050 - ldr r2, _080BB080 @ =gUnknown_2023D44 + ldr r2, _080BB080 @ =gBattlerSpriteIds ldr r0, _080BB084 @ =gBattleAnimAttacker ldrb r1, [r0] movs r0, 0x2 @@ -1062,7 +1062,7 @@ _080BB070: .4byte gUnknown_2022984 _080BB074: .4byte gUnknown_2022986 _080BB078: .4byte 0x00003f3f _080BB07C: .4byte gSprites -_080BB080: .4byte gUnknown_2023D44 +_080BB080: .4byte gBattlerSpriteIds _080BB084: .4byte gBattleAnimAttacker thumb_func_end sub_80BAF38 @@ -1223,7 +1223,7 @@ _080BB1C0: cmp r5, 0x1 bne _080BB20A ldr r3, _080BB24C @ =gSprites - ldr r1, _080BB250 @ =gUnknown_2023D44 + ldr r1, _080BB250 @ =gBattlerSpriteIds ldr r0, [r4] ldrb r0, [r0, 0x1] adds r0, r1 @@ -1277,7 +1277,7 @@ _080BB240: .4byte 0x00003f3f _080BB244: .4byte 0x00003f3d _080BB248: .4byte 0x00003f42 _080BB24C: .4byte gSprites -_080BB250: .4byte gUnknown_2023D44 +_080BB250: .4byte gBattlerSpriteIds _080BB254: .4byte gBattlerPartyIndexes _080BB258: .4byte gEnemyParty _080BB25C: @@ -1323,7 +1323,7 @@ sub_80BB2A0: @ 80BB2A0 lsrs r5, r0, 24 movs r0, 0 mov r8, r0 - ldr r6, _080BB300 @ =gUnknown_2023D44 + ldr r6, _080BB300 @ =gBattlerSpriteIds ldr r4, _080BB304 @ =gUnknown_20399B4 ldr r2, [r4] ldrb r0, [r2] @@ -1360,7 +1360,7 @@ _080BB2E2: bl sub_807543C b _080BB316 .align 2, 0 -_080BB300: .4byte gUnknown_2023D44 +_080BB300: .4byte gBattlerSpriteIds _080BB304: .4byte gUnknown_20399B4 _080BB308: .4byte gFile_graphics_battle_anims_masks_stat_tilemap_1_tilemap _080BB30C: @@ -1531,7 +1531,7 @@ _080BB44C: strh r4, [r1, 0xE] ldrb r0, [r3, 0x2] strh r0, [r1, 0x14] - ldr r2, _080BB490 @ =gUnknown_2023D44 + ldr r2, _080BB490 @ =gBattlerSpriteIds ldrb r0, [r3, 0x1] adds r0, r2 ldrb r0, [r0] @@ -1552,7 +1552,7 @@ _080BB44C: bl PlaySE12WithPanning b _080BB4AC .align 2, 0 -_080BB490: .4byte gUnknown_2023D44 +_080BB490: .4byte gBattlerSpriteIds _080BB494: .4byte sub_80BB4B8 _080BB498: movs r0, 0x40 @@ -2238,7 +2238,7 @@ _080BB9BA: lsls r0, 24 cmp r0, 0 beq _080BB9F8 - ldr r0, _080BBA18 @ =gUnknown_2023D44 + ldr r0, _080BBA18 @ =gBattlerSpriteIds adds r0, r4, r0 ldrb r0, [r0] lsls r2, r0, 4 @@ -2272,7 +2272,7 @@ _080BB9F8: .align 2, 0 _080BBA10: .4byte gSprites _080BBA14: .4byte gBattleAnimAttacker -_080BBA18: .4byte gUnknown_2023D44 +_080BBA18: .4byte gBattlerSpriteIds _080BBA1C: .4byte gBattleAnimArgs thumb_func_end sub_80BB9B0 @@ -2420,7 +2420,7 @@ _080BBB4A: bl GetMonData lsls r0, 16 lsrs r4, r0, 16 - ldr r5, _080BBC18 @ =gUnknown_2023D44 + ldr r5, _080BBC18 @ =gBattlerSpriteIds adds r0, r7, r5 ldrb r1, [r0] adds r0, r7, 0 @@ -2510,7 +2510,7 @@ _080BBBA8: .align 2, 0 _080BBC10: .4byte gBattlerPartyIndexes _080BBC14: .4byte gPlayerParty -_080BBC18: .4byte gUnknown_2023D44 +_080BBC18: .4byte gBattlerSpriteIds _080BBC1C: .4byte gBattle_BG1_X _080BBC20: .4byte gBattle_BG1_Y _080BBC24: .4byte gTasks diff --git a/asm/battle_controller_link_opponent.s b/asm/battle_controller_link_opponent.s index 18b83bac6..a03003f30 100644 --- a/asm/battle_controller_link_opponent.s +++ b/asm/battle_controller_link_opponent.s @@ -70,7 +70,7 @@ _0803A6D0: sub_803A6D4: @ 803A6D4 push {lr} ldr r2, _0803A6FC @ =gSprites - ldr r1, _0803A700 @ =gUnknown_2023D44 + ldr r1, _0803A700 @ =gBattlerSpriteIds ldr r0, _0803A704 @ =gActiveBattler ldrb r0, [r0] adds r0, r1 @@ -90,7 +90,7 @@ _0803A6F8: bx r0 .align 2, 0 _0803A6FC: .4byte gSprites -_0803A700: .4byte gUnknown_2023D44 +_0803A700: .4byte gBattlerSpriteIds _0803A704: .4byte gActiveBattler _0803A708: .4byte SpriteCallbackDummy thumb_func_end sub_803A6D4 @@ -99,7 +99,7 @@ _0803A708: .4byte SpriteCallbackDummy sub_803A70C: @ 803A70C push {r4-r6,lr} ldr r4, _0803A784 @ =gSprites - ldr r6, _0803A788 @ =gUnknown_2023D44 + ldr r6, _0803A788 @ =gBattlerSpriteIds ldr r5, _0803A78C @ =gActiveBattler ldrb r0, [r5] adds r0, r6 @@ -155,7 +155,7 @@ _0803A77C: bx r0 .align 2, 0 _0803A784: .4byte gSprites -_0803A788: .4byte gUnknown_2023D44 +_0803A788: .4byte gBattlerSpriteIds _0803A78C: .4byte gActiveBattler _0803A790: .4byte SpriteCallbackDummy _0803A794: .4byte 0x000003ff @@ -714,7 +714,7 @@ _0803AC10: .4byte sub_803A7E4 sub_803AC14: @ 803AC14 push {r4-r7,lr} ldr r2, _0803AC70 @ =gSprites - ldr r0, _0803AC74 @ =gUnknown_2023D44 + ldr r0, _0803AC74 @ =gBattlerSpriteIds ldr r7, _0803AC78 @ =gActiveBattler ldrb r3, [r7] adds r0, r3, r0 @@ -758,7 +758,7 @@ sub_803AC14: @ 803AC14 b _0803ACC0 .align 2, 0 _0803AC70: .4byte gSprites -_0803AC74: .4byte gUnknown_2023D44 +_0803AC74: .4byte gBattlerSpriteIds _0803AC78: .4byte gActiveBattler _0803AC7C: .4byte gUnknown_2024018 _0803AC80: .4byte gBattlerPartyIndexes @@ -842,7 +842,7 @@ _0803AD18: sub_803AD20: @ 803AD20 push {lr} ldr r2, _0803AD54 @ =gSprites - ldr r0, _0803AD58 @ =gUnknown_2023D44 + ldr r0, _0803AD58 @ =gBattlerSpriteIds ldr r1, _0803AD5C @ =gActiveBattler ldrb r3, [r1] adds r0, r3, r0 @@ -866,7 +866,7 @@ _0803AD4E: bx r0 .align 2, 0 _0803AD54: .4byte gSprites -_0803AD58: .4byte gUnknown_2023D44 +_0803AD58: .4byte gBattlerSpriteIds _0803AD5C: .4byte gActiveBattler _0803AD60: .4byte gUnknown_3004FF0 thumb_func_end sub_803AD20 @@ -888,7 +888,7 @@ sub_803AD64: @ 803AD64 ands r0, r1 cmp r0, 0 bne _0803ADBE - ldr r5, _0803ADCC @ =gUnknown_2023D44 + ldr r5, _0803ADCC @ =gBattlerSpriteIds adds r0, r2, r5 ldrb r1, [r0] lsls r0, r1, 4 @@ -920,7 +920,7 @@ _0803ADBE: .align 2, 0 _0803ADC4: .4byte gUnknown_2024018 _0803ADC8: .4byte gActiveBattler -_0803ADCC: .4byte gUnknown_2023D44 +_0803ADCC: .4byte gBattlerSpriteIds _0803ADD0: .4byte gSprites _0803ADD4: .4byte gUnknown_3004FF0 thumb_func_end sub_803AD64 @@ -942,7 +942,7 @@ _0803ADEA: thumb_func_start DoHitAnimBlinkSpriteEffect_4 DoHitAnimBlinkSpriteEffect_4: @ 803ADF0 push {r4,lr} - ldr r1, _0803AE2C @ =gUnknown_2023D44 + ldr r1, _0803AE2C @ =gBattlerSpriteIds ldr r0, _0803AE30 @ =gActiveBattler ldrb r0, [r0] adds r0, r1 @@ -970,7 +970,7 @@ DoHitAnimBlinkSpriteEffect_4: @ 803ADF0 bl RecordedOpponentBufferExecCompleted b _0803AE66 .align 2, 0 -_0803AE2C: .4byte gUnknown_2023D44 +_0803AE2C: .4byte gBattlerSpriteIds _0803AE30: .4byte gActiveBattler _0803AE34: .4byte gSprites _0803AE38: .4byte gUnknown_2024005 @@ -1132,7 +1132,7 @@ sub_803AF28: @ 803AF28 bl FreeSpriteTilesByTag adds r0, r4, 0 bl FreeSpritePaletteByTag - ldr r1, _0803AFE0 @ =gUnknown_2023D44 + ldr r1, _0803AFE0 @ =gBattlerSpriteIds ldrb r0, [r5] adds r0, r1 ldrb r1, [r0] @@ -1179,7 +1179,7 @@ _0803AFCC: _0803AFD4: .4byte gUnknown_2024018 _0803AFD8: .4byte gActiveBattler _0803AFDC: .4byte 0x000027f9 -_0803AFE0: .4byte gUnknown_2023D44 +_0803AFE0: .4byte gBattlerSpriteIds _0803AFE4: .4byte gSprites _0803AFE8: .4byte gUnknown_3004FF0 _0803AFEC: .4byte gBattlerPartyIndexes @@ -3599,7 +3599,7 @@ LinkOpponentHandleLoadPokeSprite: @ 803C3B4 adds r1, r5, 0 adds r2, r4, 0 bl CreateSprite - ldr r4, _0803C4EC @ =gUnknown_2023D44 + ldr r4, _0803C4EC @ =gBattlerSpriteIds ldrb r1, [r6] adds r1, r4 strb r0, [r1] @@ -3678,7 +3678,7 @@ _0803C4DC: .4byte gBattlerPartyIndexes _0803C4E0: .4byte gActiveBattler _0803C4E4: .4byte gEnemyParty _0803C4E8: .4byte gMultiuseSpriteTemplate -_0803C4EC: .4byte gUnknown_2023D44 +_0803C4EC: .4byte gBattlerSpriteIds _0803C4F0: .4byte gSprites _0803C4F4: .4byte 0x0000ff10 _0803C4F8: .4byte gBattleMonForms @@ -3803,7 +3803,7 @@ sub_803C550: @ 803C550 adds r1, r5, 0 adds r2, r4, 0 bl CreateSprite - ldr r4, _0803C6C4 @ =gUnknown_2023D44 + ldr r4, _0803C6C4 @ =gBattlerSpriteIds adds r4, r6, r4 strb r0, [r4] ldr r5, _0803C6C8 @ =gSprites @@ -3893,7 +3893,7 @@ _0803C6B4: .4byte gEnemyParty _0803C6B8: .4byte sub_8033E3C _0803C6BC: .4byte gUnknown_3004FFC _0803C6C0: .4byte gMultiuseSpriteTemplate -_0803C6C4: .4byte gUnknown_2023D44 +_0803C6C4: .4byte gBattlerSpriteIds _0803C6C8: .4byte gSprites _0803C6CC: .4byte gBattleMonForms _0803C6D0: .4byte SpriteCallbackDummy @@ -3933,7 +3933,7 @@ _0803C710: .4byte gUnknown_2024018 _0803C714: .4byte gUnknown_3004FE0 _0803C718: .4byte sub_803C76C _0803C71C: - ldr r5, _0803C760 @ =gUnknown_2023D44 + ldr r5, _0803C760 @ =gBattlerSpriteIds adds r0, r2, r5 ldrb r1, [r0] lsls r0, r1, 4 @@ -3963,7 +3963,7 @@ _0803C758: pop {r0} bx r0 .align 2, 0 -_0803C760: .4byte gUnknown_2023D44 +_0803C760: .4byte gBattlerSpriteIds _0803C764: .4byte gSprites _0803C768: .4byte gUnknown_3004FF0 thumb_func_end LinkOpponentHandleReturnPokeToBall @@ -4278,7 +4278,7 @@ _0803C992: adds r1, r6, 0 adds r2, r4, 0 bl CreateSprite - ldr r5, _0803CAD8 @ =gUnknown_2023D44 + ldr r5, _0803CAD8 @ =gBattlerSpriteIds mov r2, r8 ldrb r1, [r2] adds r1, r5 @@ -4392,7 +4392,7 @@ _0803CAC8: .4byte gFacilityClassToPicIndex _0803CACC: .4byte gActiveBattler _0803CAD0: .4byte gMultiuseSpriteTemplate _0803CAD4: .4byte gUnknown_823932C -_0803CAD8: .4byte gUnknown_2023D44 +_0803CAD8: .4byte gBattlerSpriteIds _0803CADC: .4byte gSprites _0803CAE0: .4byte 0x0000ff10 _0803CAE4: .4byte gTrainerFrontPicPaletteTable @@ -4415,7 +4415,7 @@ sub_803CB00: @ 803CB00 thumb_func_start sub_803CB0C sub_803CB0C: @ 803CB0C push {r4-r6,lr} - ldr r6, _0803CB9C @ =gUnknown_2023D44 + ldr r6, _0803CB9C @ =gBattlerSpriteIds ldr r4, _0803CBA0 @ =gActiveBattler ldrb r0, [r4] adds r0, r6 @@ -4484,7 +4484,7 @@ sub_803CB0C: @ 803CB0C pop {r0} bx r0 .align 2, 0 -_0803CB9C: .4byte gUnknown_2023D44 +_0803CB9C: .4byte gBattlerSpriteIds _0803CBA0: .4byte gActiveBattler _0803CBA4: .4byte gSprites _0803CBA8: .4byte sub_8075590 @@ -4548,7 +4548,7 @@ _0803CC0C: movs r1, 0x3F bl PlaySE12WithPanning ldr r2, _0803CC50 @ =gSprites - ldr r1, _0803CC54 @ =gUnknown_2023D44 + ldr r1, _0803CC54 @ =gBattlerSpriteIds ldrb r0, [r5] adds r0, r1 ldrb r1, [r0] @@ -4571,7 +4571,7 @@ _0803CC48: bx r0 .align 2, 0 _0803CC50: .4byte gSprites -_0803CC54: .4byte gUnknown_2023D44 +_0803CC54: .4byte gBattlerSpriteIds _0803CC58: .4byte sub_8011EA0 _0803CC5C: .4byte gUnknown_3004FE0 _0803CC60: .4byte sub_803AD20 @@ -4633,7 +4633,7 @@ _0803CCA6: ldrb r1, [r1] lsls r1, 8 orrs r0, r1 - ldr r5, _0803CD80 @ =gUnknown_2037F16 + ldr r5, _0803CD80 @ =gAnimMoveTurn mov r1, r12 adds r1, 0x3 adds r2, r1 @@ -4701,7 +4701,7 @@ _0803CCA6: lsls r1, 8 orrs r3, r1 strh r3, [r4] - ldr r3, _0803CD94 @ =gUnknown_2037EE4 + ldr r3, _0803CD94 @ =gAnimDisableStructPtr ldrb r2, [r6] lsls r2, 9 mov r1, r12 @@ -4725,12 +4725,12 @@ _0803CCA6: .align 2, 0 _0803CD78: .4byte gActiveBattler _0803CD7C: .4byte gUnknown_2022BC4 -_0803CD80: .4byte gUnknown_2037F16 +_0803CD80: .4byte gAnimMoveTurn _0803CD84: .4byte gUnknown_2037EEC _0803CD88: .4byte gUnknown_2037EE8 _0803CD8C: .4byte gUnknown_2037EFE _0803CD90: .4byte gUnknown_2037F00 -_0803CD94: .4byte gUnknown_2037EE4 +_0803CD94: .4byte gAnimDisableStructPtr _0803CD98: .4byte gUnknown_2024008 _0803CD9C: ldr r0, _0803CDC0 @ =gUnknown_2024018 @@ -5437,7 +5437,7 @@ _0803D2F0: .4byte gUnknown_2022870 RecordedOpponentHandleHitAnimation: @ 803D2F4 push {r4,lr} ldr r3, _0803D31C @ =gSprites - ldr r2, _0803D320 @ =gUnknown_2023D44 + ldr r2, _0803D320 @ =gBattlerSpriteIds ldr r4, _0803D324 @ =gActiveBattler ldrb r0, [r4] adds r0, r2 @@ -5455,7 +5455,7 @@ RecordedOpponentHandleHitAnimation: @ 803D2F4 b _0803D352 .align 2, 0 _0803D31C: .4byte gSprites -_0803D320: .4byte gUnknown_2023D44 +_0803D320: .4byte gBattlerSpriteIds _0803D324: .4byte gActiveBattler _0803D328: ldr r1, _0803D358 @ =gUnknown_2024005 @@ -5612,7 +5612,7 @@ _0803D450: .4byte gUnknown_2023F4C thumb_func_start sub_803D454 sub_803D454: @ 803D454 push {r4-r6,lr} - ldr r5, _0803D534 @ =gUnknown_2023D44 + ldr r5, _0803D534 @ =gBattlerSpriteIds ldr r6, _0803D538 @ =gActiveBattler ldrb r0, [r6] adds r0, r5 @@ -5722,7 +5722,7 @@ _0803D516: pop {r0} bx r0 .align 2, 0 -_0803D534: .4byte gUnknown_2023D44 +_0803D534: .4byte gBattlerSpriteIds _0803D538: .4byte gActiveBattler _0803D53C: .4byte gSprites _0803D540: .4byte sub_8075590 @@ -6100,7 +6100,7 @@ RecordedOpponentHandleSpriteInvisibility: @ 803D834 cmp r0, 0 beq _0803D87A ldr r3, _0803D888 @ =gSprites - ldr r0, _0803D88C @ =gUnknown_2023D44 + ldr r0, _0803D88C @ =gBattlerSpriteIds ldrb r1, [r4] adds r0, r1, r0 ldrb r0, [r0] @@ -6133,7 +6133,7 @@ _0803D87A: .align 2, 0 _0803D884: .4byte gActiveBattler _0803D888: .4byte gSprites -_0803D88C: .4byte gUnknown_2023D44 +_0803D88C: .4byte gBattlerSpriteIds _0803D890: .4byte gUnknown_2022BC4 thumb_func_end RecordedOpponentHandleSpriteInvisibility diff --git a/asm/battle_controller_link_partner.s b/asm/battle_controller_link_partner.s index 0398914cb..f47740d91 100644 --- a/asm/battle_controller_link_partner.s +++ b/asm/battle_controller_link_partner.s @@ -70,7 +70,7 @@ _080D426C: sub_80D4270: @ 80D4270 push {lr} ldr r2, _080D4298 @ =gSprites - ldr r1, _080D429C @ =gUnknown_2023D44 + ldr r1, _080D429C @ =gBattlerSpriteIds ldr r0, _080D42A0 @ =gActiveBattler ldrb r0, [r0] adds r0, r1 @@ -90,7 +90,7 @@ _080D4294: bx r0 .align 2, 0 _080D4298: .4byte gSprites -_080D429C: .4byte gUnknown_2023D44 +_080D429C: .4byte gBattlerSpriteIds _080D42A0: .4byte gActiveBattler _080D42A4: .4byte SpriteCallbackDummy thumb_func_end sub_80D4270 @@ -99,7 +99,7 @@ _080D42A4: .4byte SpriteCallbackDummy sub_80D42A8: @ 80D42A8 push {r4-r6,lr} ldr r6, _080D4300 @ =gSprites - ldr r5, _080D4304 @ =gUnknown_2023D44 + ldr r5, _080D4304 @ =gBattlerSpriteIds ldr r4, _080D4308 @ =gActiveBattler ldrb r0, [r4] adds r0, r5 @@ -139,7 +139,7 @@ _080D42F8: bx r0 .align 2, 0 _080D4300: .4byte gSprites -_080D4304: .4byte gUnknown_2023D44 +_080D4304: .4byte gBattlerSpriteIds _080D4308: .4byte gActiveBattler _080D430C: .4byte SpriteCallbackDummy thumb_func_end sub_80D42A8 @@ -456,7 +456,7 @@ _080D458C: .4byte sub_80D4358 sub_80D4590: @ 80D4590 push {lr} ldr r2, _080D45C4 @ =gSprites - ldr r1, _080D45C8 @ =gUnknown_2023D44 + ldr r1, _080D45C8 @ =gBattlerSpriteIds ldr r0, _080D45CC @ =gActiveBattler ldrb r0, [r0] adds r0, r1 @@ -481,7 +481,7 @@ _080D45BE: bx r0 .align 2, 0 _080D45C4: .4byte gSprites -_080D45C8: .4byte gUnknown_2023D44 +_080D45C8: .4byte gBattlerSpriteIds _080D45CC: .4byte gActiveBattler thumb_func_end sub_80D4590 @@ -543,7 +543,7 @@ _080D463C: .4byte gPlayerParty sub_80D4640: @ 80D4640 push {r4-r6,lr} ldr r6, _080D4698 @ =gSprites - ldr r5, _080D469C @ =gUnknown_2023D44 + ldr r5, _080D469C @ =gBattlerSpriteIds ldr r4, _080D46A0 @ =gActiveBattler ldrb r0, [r4] adds r0, r5 @@ -583,7 +583,7 @@ _080D4690: bx r0 .align 2, 0 _080D4698: .4byte gSprites -_080D469C: .4byte gUnknown_2023D44 +_080D469C: .4byte gBattlerSpriteIds _080D46A0: .4byte gActiveBattler _080D46A4: .4byte gUnknown_3004FF0 thumb_func_end sub_80D4640 @@ -605,7 +605,7 @@ sub_80D46A8: @ 80D46A8 ands r0, r1 cmp r0, 0 bne _080D46FC - ldr r5, _080D470C @ =gUnknown_2023D44 + ldr r5, _080D470C @ =gBattlerSpriteIds adds r0, r2, r5 ldrb r1, [r0] lsls r0, r1, 4 @@ -635,7 +635,7 @@ _080D46FC: .align 2, 0 _080D4704: .4byte gUnknown_2024018 _080D4708: .4byte gActiveBattler -_080D470C: .4byte gUnknown_2023D44 +_080D470C: .4byte gBattlerSpriteIds _080D4710: .4byte gSprites _080D4714: .4byte gUnknown_3004FF0 thumb_func_end sub_80D46A8 @@ -657,7 +657,7 @@ _080D472A: thumb_func_start sub_80D4730 sub_80D4730: @ 80D4730 push {r4,lr} - ldr r1, _080D476C @ =gUnknown_2023D44 + ldr r1, _080D476C @ =gBattlerSpriteIds ldr r0, _080D4770 @ =gActiveBattler ldrb r0, [r0] adds r0, r1 @@ -685,7 +685,7 @@ sub_80D4730: @ 80D4730 bl sub_80D49E8 b _080D47A6 .align 2, 0 -_080D476C: .4byte gUnknown_2023D44 +_080D476C: .4byte gBattlerSpriteIds _080D4770: .4byte gActiveBattler _080D4774: .4byte gSprites _080D4778: .4byte gUnknown_2024005 @@ -852,7 +852,7 @@ sub_80D484C: @ 80D484C ldr r5, _080D492C @ =gPlayerParty adds r0, r5 bl HandleLowHpMusicChange - ldr r1, _080D4930 @ =gUnknown_2023D44 + ldr r1, _080D4930 @ =gBattlerSpriteIds ldrb r0, [r7] adds r0, r1 ldrb r1, [r0] @@ -901,7 +901,7 @@ _080D4920: .4byte 0x000027f9 _080D4924: .4byte c3_0802FDF4 _080D4928: .4byte gBattlerPartyIndexes _080D492C: .4byte gPlayerParty -_080D4930: .4byte gUnknown_2023D44 +_080D4930: .4byte gBattlerSpriteIds _080D4934: .4byte gSprites _080D4938: .4byte gUnknown_3004FF0 _080D493C: .4byte gUnknown_3004FE0 @@ -3393,7 +3393,7 @@ LinkPartnerHandleLoadPokeSprite: @ 80D5DB4 adds r1, r5, 0 adds r2, r4, 0 bl CreateSprite - ldr r4, _080D5EB8 @ =gUnknown_2023D44 + ldr r4, _080D5EB8 @ =gBattlerSpriteIds ldrb r1, [r6] adds r1, r4 strb r0, [r1] @@ -3455,7 +3455,7 @@ _080D5EA8: .4byte gBattlerPartyIndexes _080D5EAC: .4byte gActiveBattler _080D5EB0: .4byte gPlayerParty _080D5EB4: .4byte gMultiuseSpriteTemplate -_080D5EB8: .4byte gUnknown_2023D44 +_080D5EB8: .4byte gBattlerSpriteIds _080D5EBC: .4byte gSprites _080D5EC0: .4byte 0x0000ff10 _080D5EC4: .4byte gBattleMonForms @@ -3585,7 +3585,7 @@ sub_80D5F40: @ 80D5F40 adds r1, r5, 0 adds r2, r4, 0 bl CreateSprite - ldr r4, _080D609C @ =gUnknown_2023D44 + ldr r4, _080D609C @ =gBattlerSpriteIds adds r4, r6, r4 strb r0, [r4] ldr r5, _080D60A0 @ =gSprites @@ -3675,7 +3675,7 @@ _080D608C: .4byte gPlayerParty _080D6090: .4byte sub_8033E3C _080D6094: .4byte gUnknown_3004FFC _080D6098: .4byte gMultiuseSpriteTemplate -_080D609C: .4byte gUnknown_2023D44 +_080D609C: .4byte gBattlerSpriteIds _080D60A0: .4byte gSprites _080D60A4: .4byte gBattleMonForms _080D60A8: .4byte SpriteCallbackDummy @@ -3715,7 +3715,7 @@ _080D60E8: .4byte gUnknown_2024018 _080D60EC: .4byte gUnknown_3004FE0 _080D60F0: .4byte sub_80D613C _080D60F4: - ldr r5, _080D6130 @ =gUnknown_2023D44 + ldr r5, _080D6130 @ =gBattlerSpriteIds adds r0, r2, r5 ldrb r1, [r0] lsls r0, r1, 4 @@ -3743,7 +3743,7 @@ _080D612A: pop {r0} bx r0 .align 2, 0 -_080D6130: .4byte gUnknown_2023D44 +_080D6130: .4byte gBattlerSpriteIds _080D6134: .4byte gSprites _080D6138: .4byte gUnknown_3004FF0 thumb_func_end LinkPartnerHandleReturnPokeToBall @@ -3926,7 +3926,7 @@ _080D6258: mov r1, r8 adds r2, r4, 0 bl CreateSprite - ldr r6, _080D6324 @ =gUnknown_2023D44 + ldr r6, _080D6324 @ =gBattlerSpriteIds ldrb r1, [r5] adds r1, r6 strb r0, [r1] @@ -3987,7 +3987,7 @@ _080D6258: _080D6318: .4byte gActiveBattler _080D631C: .4byte gMultiuseSpriteTemplate _080D6320: .4byte gUnknown_8239F8C -_080D6324: .4byte gUnknown_2023D44 +_080D6324: .4byte gBattlerSpriteIds _080D6328: .4byte gSprites _080D632C: .4byte 0x0000fffe _080D6330: .4byte sub_8033EEC @@ -4006,7 +4006,7 @@ sub_80D633C: @ 80D633C thumb_func_start sub_80D6348 sub_80D6348: @ 80D6348 push {r4-r6,lr} - ldr r6, _080D63D4 @ =gUnknown_2023D44 + ldr r6, _080D63D4 @ =gBattlerSpriteIds ldr r4, _080D63D8 @ =gActiveBattler ldrb r0, [r4] adds r0, r6 @@ -4074,7 +4074,7 @@ sub_80D6348: @ 80D6348 pop {r0} bx r0 .align 2, 0 -_080D63D4: .4byte gUnknown_2023D44 +_080D63D4: .4byte gBattlerSpriteIds _080D63D8: .4byte gActiveBattler _080D63DC: .4byte gSprites _080D63E0: .4byte 0x0000ffd8 @@ -4150,7 +4150,7 @@ _080D6448: movs r0, 0x10 bl PlaySE12WithPanning ldr r2, _080D64CC @ =gSprites - ldr r3, _080D64D0 @ =gUnknown_2023D44 + ldr r3, _080D64D0 @ =gBattlerSpriteIds ldrb r0, [r5] adds r0, r3 ldrb r1, [r0] @@ -4192,7 +4192,7 @@ _080D64BE: _080D64C4: .4byte gBattlerPartyIndexes _080D64C8: .4byte gPlayerParty _080D64CC: .4byte gSprites -_080D64D0: .4byte gUnknown_2023D44 +_080D64D0: .4byte gBattlerSpriteIds _080D64D4: .4byte sub_8012110 _080D64D8: .4byte gUnknown_3004FE0 _080D64DC: .4byte sub_80D4640 @@ -4254,7 +4254,7 @@ _080D6522: ldrb r1, [r1] lsls r1, 8 orrs r0, r1 - ldr r5, _080D65FC @ =gUnknown_2037F16 + ldr r5, _080D65FC @ =gAnimMoveTurn mov r1, r12 adds r1, 0x3 adds r2, r1 @@ -4322,7 +4322,7 @@ _080D6522: lsls r1, 8 orrs r3, r1 strh r3, [r4] - ldr r3, _080D6610 @ =gUnknown_2037EE4 + ldr r3, _080D6610 @ =gAnimDisableStructPtr ldrb r2, [r6] lsls r2, 9 mov r1, r12 @@ -4346,12 +4346,12 @@ _080D6522: .align 2, 0 _080D65F4: .4byte gActiveBattler _080D65F8: .4byte gUnknown_2022BC4 -_080D65FC: .4byte gUnknown_2037F16 +_080D65FC: .4byte gAnimMoveTurn _080D6600: .4byte gUnknown_2037EEC _080D6604: .4byte gUnknown_2037EE8 _080D6608: .4byte gUnknown_2037EFE _080D660C: .4byte gUnknown_2037F00 -_080D6610: .4byte gUnknown_2037EE4 +_080D6610: .4byte gAnimDisableStructPtr _080D6614: .4byte gUnknown_2024008 _080D6618: ldr r0, _080D663C @ =gUnknown_2024018 @@ -5058,7 +5058,7 @@ _080D6B6C: .4byte gUnknown_2022870 LinkPartnerHandleHitAnimation: @ 80D6B70 push {r4,lr} ldr r3, _080D6B98 @ =gSprites - ldr r2, _080D6B9C @ =gUnknown_2023D44 + ldr r2, _080D6B9C @ =gBattlerSpriteIds ldr r4, _080D6BA0 @ =gActiveBattler ldrb r0, [r4] adds r0, r2 @@ -5076,7 +5076,7 @@ LinkPartnerHandleHitAnimation: @ 80D6B70 b _080D6BCE .align 2, 0 _080D6B98: .4byte gSprites -_080D6B9C: .4byte gUnknown_2023D44 +_080D6B9C: .4byte gBattlerSpriteIds _080D6BA0: .4byte gActiveBattler _080D6BA4: ldr r1, _080D6BD4 @ =gUnknown_2024005 @@ -5234,7 +5234,7 @@ _080D6CD0: .4byte gUnknown_2023F4C thumb_func_start sub_80D6CD4 sub_80D6CD4: @ 80D6CD4 push {r4-r7,lr} - ldr r5, _080D6DDC @ =gUnknown_2023D44 + ldr r5, _080D6DDC @ =gBattlerSpriteIds ldr r6, _080D6DE0 @ =gActiveBattler ldrb r0, [r6] adds r0, r5 @@ -5358,7 +5358,7 @@ _080D6DC2: adds r0, 0x2 b _080D6E0C .align 2, 0 -_080D6DDC: .4byte gUnknown_2023D44 +_080D6DDC: .4byte gBattlerSpriteIds _080D6DE0: .4byte gActiveBattler _080D6DE4: .4byte gSprites _080D6DE8: .4byte 0x0000ffd8 @@ -5386,7 +5386,7 @@ _080D6E0C: movs r2, 0x20 bl LoadCompressedPalette ldr r2, _080D6EA8 @ =gSprites - ldr r1, _080D6EAC @ =gUnknown_2023D44 + ldr r1, _080D6EAC @ =gBattlerSpriteIds ldr r5, _080D6EB0 @ =gActiveBattler ldrb r0, [r5] adds r0, r1 @@ -5453,7 +5453,7 @@ _080D6E86: .align 2, 0 _080D6EA4: .4byte gUnknown_8239FD4 _080D6EA8: .4byte gSprites -_080D6EAC: .4byte gUnknown_2023D44 +_080D6EAC: .4byte gBattlerSpriteIds _080D6EB0: .4byte gActiveBattler _080D6EB4: .4byte sub_80D6ED0 _080D6EB8: .4byte gTasks @@ -5781,7 +5781,7 @@ LinkPartnerHandleSpriteInvisibility: @ 80D7144 cmp r0, 0 beq _080D718A ldr r3, _080D7198 @ =gSprites - ldr r0, _080D719C @ =gUnknown_2023D44 + ldr r0, _080D719C @ =gBattlerSpriteIds ldrb r1, [r4] adds r0, r1, r0 ldrb r0, [r0] @@ -5814,7 +5814,7 @@ _080D718A: .align 2, 0 _080D7194: .4byte gActiveBattler _080D7198: .4byte gSprites -_080D719C: .4byte gUnknown_2023D44 +_080D719C: .4byte gBattlerSpriteIds _080D71A0: .4byte gUnknown_2022BC4 thumb_func_end LinkPartnerHandleSpriteInvisibility diff --git a/asm/battle_controller_oak.s b/asm/battle_controller_oak.s index cd2495a35..abc839dce 100644 --- a/asm/battle_controller_oak.s +++ b/asm/battle_controller_oak.s @@ -422,7 +422,7 @@ _080E78D8: sub_80E78E0: @ 80E78E0 push {lr} ldr r2, _080E7908 @ =gSprites - ldr r1, _080E790C @ =gUnknown_2023D44 + ldr r1, _080E790C @ =gBattlerSpriteIds ldr r0, _080E7910 @ =gActiveBattler ldrb r0, [r0] adds r0, r1 @@ -442,7 +442,7 @@ _080E7904: bx r0 .align 2, 0 _080E7908: .4byte gSprites -_080E790C: .4byte gUnknown_2023D44 +_080E790C: .4byte gBattlerSpriteIds _080E7910: .4byte gActiveBattler _080E7914: .4byte SpriteCallbackDummy thumb_func_end sub_80E78E0 @@ -1653,7 +1653,7 @@ _080E82F0: .4byte sub_80E8930 sub_80E82F4: @ 80E82F4 push {r4-r6,lr} ldr r6, _080E834C @ =gSprites - ldr r5, _080E8350 @ =gUnknown_2023D44 + ldr r5, _080E8350 @ =gBattlerSpriteIds ldr r4, _080E8354 @ =gActiveBattler ldrb r0, [r4] adds r0, r5 @@ -1693,7 +1693,7 @@ _080E8344: bx r0 .align 2, 0 _080E834C: .4byte gSprites -_080E8350: .4byte gUnknown_2023D44 +_080E8350: .4byte gBattlerSpriteIds _080E8354: .4byte gActiveBattler _080E8358: .4byte gUnknown_3004FF0 thumb_func_end sub_80E82F4 @@ -2432,7 +2432,7 @@ _080E8942: thumb_func_start DoHitAnimBlinkSpriteEffect_3 DoHitAnimBlinkSpriteEffect_3: @ 80E8948 push {r4,lr} - ldr r1, _080E8984 @ =gUnknown_2023D44 + ldr r1, _080E8984 @ =gBattlerSpriteIds ldr r0, _080E8988 @ =gActiveBattler ldrb r0, [r0] adds r0, r1 @@ -2460,7 +2460,7 @@ DoHitAnimBlinkSpriteEffect_3: @ 80E8948 bl WallyBufferExecCompleted b _080E89BE .align 2, 0 -_080E8984: .4byte gUnknown_2023D44 +_080E8984: .4byte gBattlerSpriteIds _080E8988: .4byte gActiveBattler _080E898C: .4byte gSprites _080E8990: .4byte gUnknown_2024005 @@ -2510,7 +2510,7 @@ sub_80E89C4: @ 80E89C4 ands r0, r1 cmp r0, 0 bne _080E8A18 - ldr r5, _080E8A28 @ =gUnknown_2023D44 + ldr r5, _080E8A28 @ =gBattlerSpriteIds adds r0, r2, r5 ldrb r1, [r0] lsls r0, r1, 4 @@ -2540,7 +2540,7 @@ _080E8A18: .align 2, 0 _080E8A20: .4byte gUnknown_2024018 _080E8A24: .4byte gActiveBattler -_080E8A28: .4byte gUnknown_2023D44 +_080E8A28: .4byte gBattlerSpriteIds _080E8A2C: .4byte gSprites _080E8A30: .4byte gUnknown_3004FF0 thumb_func_end sub_80E89C4 @@ -2549,7 +2549,7 @@ _080E8A30: .4byte gUnknown_3004FF0 sub_80E8A34: @ 80E8A34 push {lr} ldr r2, _080E8A5C @ =gSprites - ldr r1, _080E8A60 @ =gUnknown_2023D44 + ldr r1, _080E8A60 @ =gBattlerSpriteIds ldr r0, _080E8A64 @ =gActiveBattler ldrb r0, [r0] adds r0, r1 @@ -2569,7 +2569,7 @@ _080E8A58: bx r0 .align 2, 0 _080E8A5C: .4byte gSprites -_080E8A60: .4byte gUnknown_2023D44 +_080E8A60: .4byte gBattlerSpriteIds _080E8A64: .4byte gActiveBattler _080E8A68: .4byte SpriteCallbackDummy thumb_func_end sub_80E8A34 @@ -4919,7 +4919,7 @@ _080E9E18: .4byte gActiveBattler _080E9E1C: .4byte gUnknown_3004FE0 _080E9E20: .4byte sub_80E89C4 _080E9E24: - ldr r5, _080E9E60 @ =gUnknown_2023D44 + ldr r5, _080E9E60 @ =gBattlerSpriteIds adds r0, r2, r5 ldrb r1, [r0] lsls r0, r1, 4 @@ -4947,7 +4947,7 @@ _080E9E5A: pop {r0} bx r0 .align 2, 0 -_080E9E60: .4byte gUnknown_2023D44 +_080E9E60: .4byte gBattlerSpriteIds _080E9E64: .4byte gSprites _080E9E68: .4byte gUnknown_3004FF0 thumb_func_end WallyHandleReturnMonToBall @@ -4993,7 +4993,7 @@ sub_80E9E6C: @ 80E9E6C movs r1, 0x50 movs r3, 0x1E bl CreateSprite - ldr r2, _080E9EDC @ =gUnknown_2023D44 + ldr r2, _080E9EDC @ =gBattlerSpriteIds ldrb r1, [r6] b _080E9F1C .align 2, 0 @@ -5002,7 +5002,7 @@ _080E9ECC: .4byte gSaveBlock2Ptr _080E9ED0: .4byte gActiveBattler _080E9ED4: .4byte gMultiuseSpriteTemplate _080E9ED8: .4byte gUnknown_8239F8C -_080E9EDC: .4byte gUnknown_2023D44 +_080E9EDC: .4byte gBattlerSpriteIds _080E9EE0: ldr r4, _080E9F8C @ =gActiveBattler ldrb r1, [r4] @@ -5028,13 +5028,13 @@ _080E9EE0: movs r1, 0x50 movs r3, 0x1E bl CreateSprite - ldr r2, _080E9F98 @ =gUnknown_2023D44 + ldr r2, _080E9F98 @ =gBattlerSpriteIds ldrb r1, [r4] _080E9F1C: adds r1, r2 strb r0, [r1] ldr r4, _080E9F9C @ =gSprites - ldr r5, _080E9F98 @ =gUnknown_2023D44 + ldr r5, _080E9F98 @ =gBattlerSpriteIds ldr r6, _080E9F8C @ =gActiveBattler ldrb r3, [r6] adds r0, r3, r5 @@ -5090,7 +5090,7 @@ _080E9F1C: _080E9F8C: .4byte gActiveBattler _080E9F90: .4byte gMultiuseSpriteTemplate _080E9F94: .4byte gUnknown_8239F8C -_080E9F98: .4byte gUnknown_2023D44 +_080E9F98: .4byte gBattlerSpriteIds _080E9F9C: .4byte gSprites _080E9FA0: .4byte 0x0000fffe _080E9FA4: .4byte sub_8033EEC @@ -5139,7 +5139,7 @@ sub_80E9FB0: @ 80E9FB0 movs r1, 0x50 movs r3, 0x1E bl CreateSprite - ldr r2, _080EA020 @ =gUnknown_2023D44 + ldr r2, _080EA020 @ =gBattlerSpriteIds ldrb r1, [r6] b _080EA060 .align 2, 0 @@ -5148,7 +5148,7 @@ _080EA010: .4byte gSaveBlock2Ptr _080EA014: .4byte gActiveBattler _080EA018: .4byte gMultiuseSpriteTemplate _080EA01C: .4byte gUnknown_8239F8C -_080EA020: .4byte gUnknown_2023D44 +_080EA020: .4byte gBattlerSpriteIds _080EA024: ldr r4, _080EA0D0 @ =gActiveBattler ldrb r1, [r4] @@ -5174,13 +5174,13 @@ _080EA024: movs r1, 0x50 movs r3, 0x1E bl CreateSprite - ldr r2, _080EA0DC @ =gUnknown_2023D44 + ldr r2, _080EA0DC @ =gBattlerSpriteIds ldrb r1, [r4] _080EA060: adds r1, r2 strb r0, [r1] ldr r4, _080EA0E0 @ =gSprites - ldr r5, _080EA0DC @ =gUnknown_2023D44 + ldr r5, _080EA0DC @ =gBattlerSpriteIds ldr r6, _080EA0D0 @ =gActiveBattler ldrb r3, [r6] adds r0, r3, r5 @@ -5236,7 +5236,7 @@ _080EA060: _080EA0D0: .4byte gActiveBattler _080EA0D4: .4byte gMultiuseSpriteTemplate _080EA0D8: .4byte gUnknown_8239F8C -_080EA0DC: .4byte gUnknown_2023D44 +_080EA0DC: .4byte gBattlerSpriteIds _080EA0E0: .4byte gSprites _080EA0E4: .4byte 0x0000ffa0 _080EA0E8: .4byte sub_8033EEC @@ -5318,7 +5318,7 @@ _080EA154: movs r0, 0x10 bl PlaySE12WithPanning ldr r2, _080EA1D8 @ =gSprites - ldr r3, _080EA1DC @ =gUnknown_2023D44 + ldr r3, _080EA1DC @ =gBattlerSpriteIds ldrb r0, [r5] adds r0, r3 ldrb r1, [r0] @@ -5360,7 +5360,7 @@ _080EA1CA: _080EA1D0: .4byte gBattlerPartyIndexes _080EA1D4: .4byte gPlayerParty _080EA1D8: .4byte gSprites -_080EA1DC: .4byte gUnknown_2023D44 +_080EA1DC: .4byte gBattlerSpriteIds _080EA1E0: .4byte sub_8012110 _080EA1E4: .4byte gUnknown_3004FE0 _080EA1E8: .4byte sub_80E82F4 @@ -5483,7 +5483,7 @@ sub_80EA2B8: @ 80EA2B8 ldrb r1, [r1] lsls r1, 8 orrs r0, r1 - ldr r5, _080EA394 @ =gUnknown_2037F16 + ldr r5, _080EA394 @ =gAnimMoveTurn mov r1, r12 adds r1, 0x3 adds r2, r1 @@ -5551,7 +5551,7 @@ sub_80EA2B8: @ 80EA2B8 lsls r1, 8 orrs r3, r1 strh r3, [r4] - ldr r3, _080EA3A8 @ =gUnknown_2037EE4 + ldr r3, _080EA3A8 @ =gAnimDisableStructPtr ldrb r2, [r6] lsls r2, 9 mov r1, r12 @@ -5575,12 +5575,12 @@ sub_80EA2B8: @ 80EA2B8 .align 2, 0 _080EA38C: .4byte gUnknown_2022BC4 _080EA390: .4byte gActiveBattler -_080EA394: .4byte gUnknown_2037F16 +_080EA394: .4byte gAnimMoveTurn _080EA398: .4byte gUnknown_2037EEC _080EA39C: .4byte gUnknown_2037EE8 _080EA3A0: .4byte gUnknown_2037EFE _080EA3A4: .4byte gUnknown_2037F00 -_080EA3A8: .4byte gUnknown_2037EE4 +_080EA3A8: .4byte gAnimDisableStructPtr _080EA3AC: .4byte gUnknown_2024008 _080EA3B0: ldr r0, _080EA3D4 @ =gUnknown_2024018 @@ -6641,7 +6641,7 @@ sub_80EABFC: @ 80EABFC sub_80EAC08: @ 80EAC08 push {r4,lr} ldr r3, _080EAC30 @ =gSprites - ldr r2, _080EAC34 @ =gUnknown_2023D44 + ldr r2, _080EAC34 @ =gBattlerSpriteIds ldr r4, _080EAC38 @ =gActiveBattler ldrb r0, [r4] adds r0, r2 @@ -6659,7 +6659,7 @@ sub_80EAC08: @ 80EAC08 b _080EAC66 .align 2, 0 _080EAC30: .4byte gSprites -_080EAC34: .4byte gUnknown_2023D44 +_080EAC34: .4byte gBattlerSpriteIds _080EAC38: .4byte gActiveBattler _080EAC3C: ldr r1, _080EAC6C @ =gUnknown_2024005 @@ -6812,7 +6812,7 @@ sub_80EAD54: @ 80EAD54 bne _080EAD64 b _080EAEE4 _080EAD64: - ldr r6, _080EAEA4 @ =gUnknown_2023D44 + ldr r6, _080EAEA4 @ =gBattlerSpriteIds ldr r7, _080EAEA8 @ =gActiveBattler ldrb r0, [r7] adds r0, r6 @@ -6966,7 +6966,7 @@ _080EAE84: b _080EAF18 .align 2, 0 _080EAEA0: .4byte gBattleTypeFlags -_080EAEA4: .4byte gUnknown_2023D44 +_080EAEA4: .4byte gBattlerSpriteIds _080EAEA8: .4byte gActiveBattler _080EAEAC: .4byte gSprites _080EAEB0: .4byte 0x0000ffd8 @@ -7094,7 +7094,7 @@ sub_80EAF34: @ 80EAF34 adds r1, r5, 0 adds r2, r4, 0 bl CreateSprite - ldr r4, _080EB098 @ =gUnknown_2023D44 + ldr r4, _080EB098 @ =gBattlerSpriteIds adds r4, r6, r4 strb r0, [r4] ldr r5, _080EB09C @ =gSprites @@ -7185,7 +7185,7 @@ _080EB088: .4byte gPlayerParty _080EB08C: .4byte sub_8033E3C _080EB090: .4byte gUnknown_3004FFC _080EB094: .4byte gMultiuseSpriteTemplate -_080EB098: .4byte gUnknown_2023D44 +_080EB098: .4byte gBattlerSpriteIds _080EB09C: .4byte gSprites _080EB0A0: .4byte gBattleMonForms _080EB0A4: .4byte SpriteCallbackDummy diff --git a/asm/battle_controller_opponent.s b/asm/battle_controller_opponent.s index c7223984e..0c94035ee 100644 --- a/asm/battle_controller_opponent.s +++ b/asm/battle_controller_opponent.s @@ -70,7 +70,7 @@ _08035AE4: sub_8035AE8: @ 8035AE8 push {lr} ldr r2, _08035B10 @ =gSprites - ldr r1, _08035B14 @ =gUnknown_2023D44 + ldr r1, _08035B14 @ =gBattlerSpriteIds ldr r0, _08035B18 @ =gActiveBattler ldrb r0, [r0] adds r0, r1 @@ -90,7 +90,7 @@ _08035B0C: bx r0 .align 2, 0 _08035B10: .4byte gSprites -_08035B14: .4byte gUnknown_2023D44 +_08035B14: .4byte gBattlerSpriteIds _08035B18: .4byte gActiveBattler _08035B1C: .4byte SpriteCallbackDummy thumb_func_end sub_8035AE8 @@ -99,7 +99,7 @@ _08035B1C: .4byte SpriteCallbackDummy sub_8035B20: @ 8035B20 push {lr} ldr r2, _08035B48 @ =gSprites - ldr r1, _08035B4C @ =gUnknown_2023D44 + ldr r1, _08035B4C @ =gBattlerSpriteIds ldr r0, _08035B50 @ =gActiveBattler ldrb r0, [r0] adds r0, r1 @@ -119,7 +119,7 @@ _08035B44: bx r0 .align 2, 0 _08035B48: .4byte gSprites -_08035B4C: .4byte gUnknown_2023D44 +_08035B4C: .4byte gBattlerSpriteIds _08035B50: .4byte gActiveBattler _08035B54: .4byte SpriteCallbackDummy thumb_func_end sub_8035B20 @@ -128,7 +128,7 @@ _08035B54: .4byte SpriteCallbackDummy sub_8035B58: @ 8035B58 push {r4-r6,lr} ldr r4, _08035BD0 @ =gSprites - ldr r6, _08035BD4 @ =gUnknown_2023D44 + ldr r6, _08035BD4 @ =gBattlerSpriteIds ldr r5, _08035BD8 @ =gActiveBattler ldrb r0, [r5] adds r0, r6 @@ -184,7 +184,7 @@ _08035BC8: bx r0 .align 2, 0 _08035BD0: .4byte gSprites -_08035BD4: .4byte gUnknown_2023D44 +_08035BD4: .4byte gBattlerSpriteIds _08035BD8: .4byte gActiveBattler _08035BDC: .4byte SpriteCallbackDummy _08035BE0: .4byte 0x000003ff @@ -685,7 +685,7 @@ _08035FE4: .4byte sub_8035C30 sub_8035FE8: @ 8035FE8 push {r4-r7,lr} ldr r2, _08036044 @ =gSprites - ldr r0, _08036048 @ =gUnknown_2023D44 + ldr r0, _08036048 @ =gBattlerSpriteIds ldr r7, _0803604C @ =gActiveBattler ldrb r3, [r7] adds r0, r3, r0 @@ -729,7 +729,7 @@ sub_8035FE8: @ 8035FE8 b _08036094 .align 2, 0 _08036044: .4byte gSprites -_08036048: .4byte gUnknown_2023D44 +_08036048: .4byte gBattlerSpriteIds _0803604C: .4byte gActiveBattler _08036050: .4byte gUnknown_2024018 _08036054: .4byte gBattlerPartyIndexes @@ -838,7 +838,7 @@ _08036124: sub_803612C: @ 803612C push {lr} ldr r2, _08036160 @ =gSprites - ldr r0, _08036164 @ =gUnknown_2023D44 + ldr r0, _08036164 @ =gBattlerSpriteIds ldr r1, _08036168 @ =gActiveBattler ldrb r3, [r1] adds r0, r3, r0 @@ -862,7 +862,7 @@ _0803615A: bx r0 .align 2, 0 _08036160: .4byte gSprites -_08036164: .4byte gUnknown_2023D44 +_08036164: .4byte gBattlerSpriteIds _08036168: .4byte gActiveBattler _0803616C: .4byte gUnknown_3004FF0 thumb_func_end sub_803612C @@ -884,7 +884,7 @@ sub_8036170: @ 8036170 ands r0, r1 cmp r0, 0 bne _080361CA - ldr r5, _080361D8 @ =gUnknown_2023D44 + ldr r5, _080361D8 @ =gBattlerSpriteIds adds r0, r2, r5 ldrb r1, [r0] lsls r0, r1, 4 @@ -916,7 +916,7 @@ _080361CA: .align 2, 0 _080361D0: .4byte gUnknown_2024018 _080361D4: .4byte gActiveBattler -_080361D8: .4byte gUnknown_2023D44 +_080361D8: .4byte gBattlerSpriteIds _080361DC: .4byte gSprites _080361E0: .4byte gUnknown_3004FF0 thumb_func_end sub_8036170 @@ -938,7 +938,7 @@ _080361F6: thumb_func_start sub_80361FC sub_80361FC: @ 80361FC push {r4,lr} - ldr r1, _08036238 @ =gUnknown_2023D44 + ldr r1, _08036238 @ =gBattlerSpriteIds ldr r0, _0803623C @ =gActiveBattler ldrb r0, [r0] adds r0, r1 @@ -966,7 +966,7 @@ sub_80361FC: @ 80361FC bl OpponentBufferExecCompleted b _08036272 .align 2, 0 -_08036238: .4byte gUnknown_2023D44 +_08036238: .4byte gBattlerSpriteIds _0803623C: .4byte gActiveBattler _08036240: .4byte gSprites _08036244: .4byte gUnknown_2024005 @@ -1128,7 +1128,7 @@ sub_8036334: @ 8036334 bl FreeSpriteTilesByTag adds r0, r4, 0 bl FreeSpritePaletteByTag - ldr r1, _080363EC @ =gUnknown_2023D44 + ldr r1, _080363EC @ =gBattlerSpriteIds ldrb r0, [r5] adds r0, r1 ldrb r1, [r0] @@ -1175,7 +1175,7 @@ _080363D8: _080363E0: .4byte gUnknown_2024018 _080363E4: .4byte gActiveBattler _080363E8: .4byte 0x000027f9 -_080363EC: .4byte gUnknown_2023D44 +_080363EC: .4byte gBattlerSpriteIds _080363F0: .4byte gSprites _080363F4: .4byte gUnknown_3004FF0 _080363F8: .4byte gBattlerPartyIndexes @@ -3666,7 +3666,7 @@ _080378AA: adds r1, r4, 0 adds r2, r5, 0 bl CreateSprite - ldr r4, _080379A4 @ =gUnknown_2023D44 + ldr r4, _080379A4 @ =gBattlerSpriteIds ldrb r1, [r7] adds r1, r4 strb r0, [r1] @@ -3759,7 +3759,7 @@ _08037986: .align 2, 0 _0803799C: .4byte gActiveBattler _080379A0: .4byte gMultiuseSpriteTemplate -_080379A4: .4byte gUnknown_2023D44 +_080379A4: .4byte gBattlerSpriteIds _080379A8: .4byte gSprites _080379AC: .4byte 0x0000ff10 _080379B0: .4byte gBattleMonForms @@ -3895,7 +3895,7 @@ sub_8037A28: @ 8037A28 adds r1, r5, 0 adds r2, r4, 0 bl CreateSprite - ldr r4, _08037B9C @ =gUnknown_2023D44 + ldr r4, _08037B9C @ =gBattlerSpriteIds adds r4, r6, r4 strb r0, [r4] ldr r5, _08037BA0 @ =gSprites @@ -3985,7 +3985,7 @@ _08037B8C: .4byte gEnemyParty _08037B90: .4byte sub_8033E3C _08037B94: .4byte gUnknown_3004FFC _08037B98: .4byte gMultiuseSpriteTemplate -_08037B9C: .4byte gUnknown_2023D44 +_08037B9C: .4byte gBattlerSpriteIds _08037BA0: .4byte gSprites _08037BA4: .4byte gBattleMonForms _08037BA8: .4byte SpriteCallbackDummy @@ -4025,7 +4025,7 @@ _08037BE8: .4byte gUnknown_2024018 _08037BEC: .4byte gUnknown_3004FE0 _08037BF0: .4byte sub_8037C44 _08037BF4: - ldr r5, _08037C38 @ =gUnknown_2023D44 + ldr r5, _08037C38 @ =gBattlerSpriteIds adds r0, r2, r5 ldrb r1, [r0] lsls r0, r1, 4 @@ -4055,7 +4055,7 @@ _08037C30: pop {r0} bx r0 .align 2, 0 -_08037C38: .4byte gUnknown_2023D44 +_08037C38: .4byte gBattlerSpriteIds _08037C3C: .4byte gSprites _08037C40: .4byte gUnknown_3004FF0 thumb_func_end sub_8037BAC @@ -4227,7 +4227,7 @@ _08037D3A: movs r1, 0xB0 adds r2, r4, 0 bl CreateSprite - ldr r5, _08037E7C @ =gUnknown_2023D44 + ldr r5, _08037E7C @ =gBattlerSpriteIds mov r2, r8 ldrb r1, [r2] adds r1, r5 @@ -4341,7 +4341,7 @@ _08037E6C: .4byte gTrainers _08037E70: .4byte gActiveBattler _08037E74: .4byte gMultiuseSpriteTemplate _08037E78: .4byte gUnknown_823932C -_08037E7C: .4byte gUnknown_2023D44 +_08037E7C: .4byte gBattlerSpriteIds _08037E80: .4byte gSprites _08037E84: .4byte 0x0000ff10 _08037E88: .4byte gTrainerFrontPicPaletteTable @@ -4439,7 +4439,7 @@ _08037F0E: movs r1, 0xB0 movs r3, 0x1E bl CreateSprite - ldr r5, _08038050 @ =gUnknown_2023D44 + ldr r5, _08038050 @ =gBattlerSpriteIds mov r2, r8 ldrb r1, [r2] adds r1, r5 @@ -4561,7 +4561,7 @@ _08038040: .4byte gTrainers _08038044: .4byte gActiveBattler _08038048: .4byte gMultiuseSpriteTemplate _0803804C: .4byte gUnknown_823932C -_08038050: .4byte gUnknown_2023D44 +_08038050: .4byte gBattlerSpriteIds _08038054: .4byte gSprites _08038058: .4byte 0x0000fffe _0803805C: .4byte gTrainerFrontPicPaletteTable @@ -4576,7 +4576,7 @@ _08038074: .4byte sub_8035B20 thumb_func_start sub_8038078 sub_8038078: @ 8038078 push {r4-r6,lr} - ldr r6, _08038108 @ =gUnknown_2023D44 + ldr r6, _08038108 @ =gBattlerSpriteIds ldr r4, _0803810C @ =gActiveBattler ldrb r0, [r4] adds r0, r6 @@ -4645,7 +4645,7 @@ sub_8038078: @ 8038078 pop {r0} bx r0 .align 2, 0 -_08038108: .4byte gUnknown_2023D44 +_08038108: .4byte gBattlerSpriteIds _0803810C: .4byte gActiveBattler _08038110: .4byte gSprites _08038114: .4byte sub_8075590 @@ -4709,7 +4709,7 @@ _08038178: movs r1, 0x3F bl PlaySE12WithPanning ldr r2, _080381BC @ =gSprites - ldr r1, _080381C0 @ =gUnknown_2023D44 + ldr r1, _080381C0 @ =gBattlerSpriteIds ldrb r0, [r5] adds r0, r1 ldrb r1, [r0] @@ -4732,7 +4732,7 @@ _080381B4: bx r0 .align 2, 0 _080381BC: .4byte gSprites -_080381C0: .4byte gUnknown_2023D44 +_080381C0: .4byte gBattlerSpriteIds _080381C4: .4byte sub_8011EA0 _080381C8: .4byte gUnknown_3004FE0 _080381CC: .4byte sub_803612C @@ -4794,7 +4794,7 @@ _08038212: ldrb r1, [r1] lsls r1, 8 orrs r0, r1 - ldr r5, _080382EC @ =gUnknown_2037F16 + ldr r5, _080382EC @ =gAnimMoveTurn mov r1, r12 adds r1, 0x3 adds r2, r1 @@ -4862,7 +4862,7 @@ _08038212: lsls r1, 8 orrs r3, r1 strh r3, [r4] - ldr r3, _08038300 @ =gUnknown_2037EE4 + ldr r3, _08038300 @ =gAnimDisableStructPtr ldrb r2, [r6] lsls r2, 9 mov r1, r12 @@ -4886,12 +4886,12 @@ _08038212: .align 2, 0 _080382E4: .4byte gActiveBattler _080382E8: .4byte gUnknown_2022BC4 -_080382EC: .4byte gUnknown_2037F16 +_080382EC: .4byte gAnimMoveTurn _080382F0: .4byte gUnknown_2037EEC _080382F4: .4byte gUnknown_2037EE8 _080382F8: .4byte gUnknown_2037EFE _080382FC: .4byte gUnknown_2037F00 -_08038300: .4byte gUnknown_2037EE4 +_08038300: .4byte gAnimDisableStructPtr _08038304: .4byte gUnknown_2024008 _08038308: ldr r0, _0803832C @ =gUnknown_2024018 @@ -5926,7 +5926,7 @@ _08038B1C: .4byte gUnknown_2022870 OpponentHandleHitAnimation: @ 8038B20 push {r4,lr} ldr r3, _08038B48 @ =gSprites - ldr r2, _08038B4C @ =gUnknown_2023D44 + ldr r2, _08038B4C @ =gBattlerSpriteIds ldr r4, _08038B50 @ =gActiveBattler ldrb r0, [r4] adds r0, r2 @@ -5944,7 +5944,7 @@ OpponentHandleHitAnimation: @ 8038B20 b _08038B7E .align 2, 0 _08038B48: .4byte gSprites -_08038B4C: .4byte gUnknown_2023D44 +_08038B4C: .4byte gBattlerSpriteIds _08038B50: .4byte gActiveBattler _08038B54: ldr r1, _08038B84 @ =gUnknown_2024005 @@ -6101,7 +6101,7 @@ _08038C7C: .4byte gUnknown_2023F4C thumb_func_start sub_8038C80 sub_8038C80: @ 8038C80 push {r4-r6,lr} - ldr r5, _08038D60 @ =gUnknown_2023D44 + ldr r5, _08038D60 @ =gBattlerSpriteIds ldr r6, _08038D64 @ =gActiveBattler ldrb r0, [r6] adds r0, r5 @@ -6211,7 +6211,7 @@ _08038D42: pop {r0} bx r0 .align 2, 0 -_08038D60: .4byte gUnknown_2023D44 +_08038D60: .4byte gBattlerSpriteIds _08038D64: .4byte gActiveBattler _08038D68: .4byte gSprites _08038D6C: .4byte sub_8075590 @@ -6589,7 +6589,7 @@ sub_8039060: @ 8039060 cmp r0, 0 beq _080390A6 ldr r3, _080390B4 @ =gSprites - ldr r0, _080390B8 @ =gUnknown_2023D44 + ldr r0, _080390B8 @ =gBattlerSpriteIds ldrb r1, [r4] adds r0, r1, r0 ldrb r0, [r0] @@ -6622,7 +6622,7 @@ _080390A6: .align 2, 0 _080390B0: .4byte gActiveBattler _080390B4: .4byte gSprites -_080390B8: .4byte gUnknown_2023D44 +_080390B8: .4byte gBattlerSpriteIds _080390BC: .4byte gUnknown_2022BC4 thumb_func_end sub_8039060 diff --git a/asm/battle_controller_player.s b/asm/battle_controller_player.s index 370fa7ee8..75754d645 100644 --- a/asm/battle_controller_player.s +++ b/asm/battle_controller_player.s @@ -131,7 +131,7 @@ _0802E400: CompleteOnBankSpritePosX_0: @ 802E404 push {lr} ldr r2, _0802E42C @ =gSprites - ldr r1, _0802E430 @ =gUnknown_2023D44 + ldr r1, _0802E430 @ =gBattlerSpriteIds ldr r0, _0802E434 @ =gActiveBattler ldrb r0, [r0] adds r0, r1 @@ -150,7 +150,7 @@ _0802E426: bx r0 .align 2, 0 _0802E42C: .4byte gSprites -_0802E430: .4byte gUnknown_2023D44 +_0802E430: .4byte gBattlerSpriteIds _0802E434: .4byte gActiveBattler thumb_func_end CompleteOnBankSpritePosX_0 @@ -480,7 +480,7 @@ _0802E6B6: movs r0, 0x5 bl PlaySE ldr r2, _0802E718 @ =gSprites - ldr r1, _0802E71C @ =gUnknown_2023D44 + ldr r1, _0802E71C @ =gBattlerSpriteIds ldr r4, _0802E70C @ =gUnknown_3004FF4 ldrb r0, [r4] adds r0, r1 @@ -514,7 +514,7 @@ _0802E70C: .4byte gUnknown_3004FF4 _0802E710: .4byte gBattlersCount _0802E714: .4byte gMain _0802E718: .4byte gSprites -_0802E71C: .4byte gUnknown_2023D44 +_0802E71C: .4byte gBattlerSpriteIds _0802E720: .4byte sub_8012098 _0802E724: .4byte gUnknown_2023FFC _0802E728: .4byte gActiveBattler @@ -526,7 +526,7 @@ _0802E72C: movs r0, 0x5 bl PlaySE ldr r2, _0802E784 @ =gSprites - ldr r1, _0802E788 @ =gUnknown_2023D44 + ldr r1, _0802E788 @ =gBattlerSpriteIds ldr r5, _0802E78C @ =gUnknown_3004FF4 ldrb r0, [r5] adds r0, r1 @@ -561,7 +561,7 @@ _0802E72C: b _0802E9DC .align 2, 0 _0802E784: .4byte gSprites -_0802E788: .4byte gUnknown_2023D44 +_0802E788: .4byte gBattlerSpriteIds _0802E78C: .4byte gUnknown_3004FF4 _0802E790: .4byte sub_8012098 _0802E794: .4byte gUnknown_3004FE0 @@ -577,7 +577,7 @@ _0802E7AA: movs r0, 0x5 bl PlaySE ldr r2, _0802E7DC @ =gSprites - ldr r1, _0802E7E0 @ =gUnknown_2023D44 + ldr r1, _0802E7E0 @ =gBattlerSpriteIds ldr r3, _0802E7E4 @ =gUnknown_3004FF4 ldrb r0, [r3] adds r0, r1 @@ -600,7 +600,7 @@ _0802E7CC: b _0802E7F6 .align 2, 0 _0802E7DC: .4byte gSprites -_0802E7E0: .4byte gUnknown_2023D44 +_0802E7E0: .4byte gBattlerSpriteIds _0802E7E4: .4byte gUnknown_3004FF4 _0802E7E8: .4byte sub_8012098 _0802E7EC: @@ -718,7 +718,7 @@ _0802E8CE: movs r0, 0x5 bl PlaySE ldr r2, _0802E900 @ =gSprites - ldr r1, _0802E904 @ =gUnknown_2023D44 + ldr r1, _0802E904 @ =gBattlerSpriteIds ldr r3, _0802E908 @ =gUnknown_3004FF4 ldrb r0, [r3] adds r0, r1 @@ -741,7 +741,7 @@ _0802E8F0: b _0802E91A .align 2, 0 _0802E900: .4byte gSprites -_0802E904: .4byte gUnknown_2023D44 +_0802E904: .4byte gBattlerSpriteIds _0802E908: .4byte gUnknown_3004FF4 _0802E90C: .4byte sub_8012098 _0802E910: @@ -841,7 +841,7 @@ _0802E9C0: beq _0802E8F0 _0802E9C4: ldr r2, _0802EA04 @ =gSprites - ldr r1, _0802EA08 @ =gUnknown_2023D44 + ldr r1, _0802EA08 @ =gBattlerSpriteIds ldrb r0, [r0] adds r0, r1 ldrb r1, [r0] @@ -867,7 +867,7 @@ _0802E9F8: .4byte gAbsentBattlerFlags _0802E9FC: .4byte gBitTable _0802EA00: .4byte gUnknown_3004FF4 _0802EA04: .4byte gSprites -_0802EA08: .4byte gUnknown_2023D44 +_0802EA08: .4byte gBattlerSpriteIds _0802EA0C: .4byte sub_8012044 thumb_func_end sub_802E674 @@ -1095,7 +1095,7 @@ _0802EBDE: _0802EBE4: strb r0, [r1] ldr r2, _0802EC04 @ =gSprites - ldr r1, _0802EC08 @ =gUnknown_2023D44 + ldr r1, _0802EC08 @ =gBattlerSpriteIds ldr r0, _0802EC00 @ =gUnknown_3004FF4 ldrb r0, [r0] adds r0, r1 @@ -1110,7 +1110,7 @@ _0802EBE4: .align 2, 0 _0802EC00: .4byte gUnknown_3004FF4 _0802EC04: .4byte gSprites -_0802EC08: .4byte gUnknown_2023D44 +_0802EC08: .4byte gBattlerSpriteIds _0802EC0C: .4byte sub_8012044 _0802EC10: movs r7, 0x2 @@ -2462,7 +2462,7 @@ _0802F72C: .4byte gUnknown_3004F80 sub_802F730: @ 802F730 push {lr} ldr r2, _0802F758 @ =gSprites - ldr r1, _0802F75C @ =gUnknown_2023D44 + ldr r1, _0802F75C @ =gBattlerSpriteIds ldr r0, _0802F760 @ =gActiveBattler ldrb r0, [r0] adds r0, r1 @@ -2482,7 +2482,7 @@ _0802F754: bx r0 .align 2, 0 _0802F758: .4byte gSprites -_0802F75C: .4byte gUnknown_2023D44 +_0802F75C: .4byte gBattlerSpriteIds _0802F760: .4byte gActiveBattler _0802F764: .4byte SpriteCallbackDummy thumb_func_end sub_802F730 @@ -2491,7 +2491,7 @@ _0802F764: .4byte SpriteCallbackDummy sub_802F768: @ 802F768 push {lr} ldr r2, _0802F790 @ =gSprites - ldr r1, _0802F794 @ =gUnknown_2023D44 + ldr r1, _0802F794 @ =gBattlerSpriteIds ldr r0, _0802F798 @ =gActiveBattler ldrb r0, [r0] adds r0, r1 @@ -2511,7 +2511,7 @@ _0802F78C: bx r0 .align 2, 0 _0802F790: .4byte gSprites -_0802F794: .4byte gUnknown_2023D44 +_0802F794: .4byte gBattlerSpriteIds _0802F798: .4byte gActiveBattler _0802F79C: .4byte SpriteCallbackDummy thumb_func_end sub_802F768 @@ -2520,7 +2520,7 @@ _0802F79C: .4byte SpriteCallbackDummy sub_802F7A0: @ 802F7A0 push {r4-r6,lr} ldr r6, _0802F7FC @ =gSprites - ldr r5, _0802F800 @ =gUnknown_2023D44 + ldr r5, _0802F800 @ =gBattlerSpriteIds ldr r4, _0802F804 @ =gActiveBattler ldrb r0, [r4] adds r0, r5 @@ -2562,7 +2562,7 @@ _0802F7F4: bx r0 .align 2, 0 _0802F7FC: .4byte gSprites -_0802F800: .4byte gUnknown_2023D44 +_0802F800: .4byte gBattlerSpriteIds _0802F804: .4byte gActiveBattler _0802F808: .4byte SpriteCallbackDummy _0802F80C: .4byte gSaveBlock2Ptr @@ -4010,7 +4010,7 @@ sub_80303A8: @ 80303A8 negs r1, r0 orrs r1, r0 lsrs r6, r1, 31 - ldr r0, _08030400 @ =gUnknown_2023D44 + ldr r0, _08030400 @ =gBattlerSpriteIds adds r0, r7, r0 ldrb r1, [r0] lsls r0, r1, 4 @@ -4031,7 +4031,7 @@ _080303F0: mov pc, r0 .align 2, 0 _080303FC: .4byte gTasks+0x8 -_08030400: .4byte gUnknown_2023D44 +_08030400: .4byte gBattlerSpriteIds _08030404: .4byte gSprites _08030408: .4byte _0803040C .align 2, 0 @@ -4179,7 +4179,7 @@ _08030534: .4byte sub_802FE94 sub_8030538: @ 8030538 push {r4-r6,lr} ldr r6, _08030590 @ =gSprites - ldr r5, _08030594 @ =gUnknown_2023D44 + ldr r5, _08030594 @ =gBattlerSpriteIds ldr r4, _08030598 @ =gActiveBattler ldrb r0, [r4] adds r0, r5 @@ -4219,7 +4219,7 @@ _08030588: bx r0 .align 2, 0 _08030590: .4byte gSprites -_08030594: .4byte gUnknown_2023D44 +_08030594: .4byte gBattlerSpriteIds _08030598: .4byte gActiveBattler _0803059C: .4byte gUnknown_3004FF0 thumb_func_end sub_8030538 @@ -4241,7 +4241,7 @@ sub_80305A0: @ 80305A0 ands r0, r1 cmp r0, 0 bne _080305F4 - ldr r5, _08030604 @ =gUnknown_2023D44 + ldr r5, _08030604 @ =gBattlerSpriteIds adds r0, r2, r5 ldrb r1, [r0] lsls r0, r1, 4 @@ -4271,7 +4271,7 @@ _080305F4: .align 2, 0 _080305FC: .4byte gUnknown_2024018 _08030600: .4byte gActiveBattler -_08030604: .4byte gUnknown_2023D44 +_08030604: .4byte gBattlerSpriteIds _08030608: .4byte gSprites _0803060C: .4byte gUnknown_3004FF0 thumb_func_end sub_80305A0 @@ -4485,7 +4485,7 @@ _080307B0: .4byte gActiveBattler thumb_func_start DoHitAnimBlinkSpriteEffect DoHitAnimBlinkSpriteEffect: @ 80307B4 push {r4,lr} - ldr r1, _080307F0 @ =gUnknown_2023D44 + ldr r1, _080307F0 @ =gBattlerSpriteIds ldr r0, _080307F4 @ =gActiveBattler ldrb r0, [r0] adds r0, r1 @@ -4513,7 +4513,7 @@ DoHitAnimBlinkSpriteEffect: @ 80307B4 bl PlayerBufferExecCompleted b _0803082A .align 2, 0 -_080307F0: .4byte gUnknown_2023D44 +_080307F0: .4byte gBattlerSpriteIds _080307F4: .4byte gActiveBattler _080307F8: .4byte gSprites _080307FC: .4byte gUnknown_2024005 @@ -7299,7 +7299,7 @@ PlayerHandleLoadMonSprite: @ 8031F00 adds r0, r2 bl sub_8034498 ldr r2, _08031F58 @ =gSprites - ldr r0, _08031F5C @ =gUnknown_2023D44 + ldr r0, _08031F5C @ =gBattlerSpriteIds ldrb r3, [r4] adds r0, r3, r0 ldrb r0, [r0] @@ -7327,7 +7327,7 @@ _08031F4C: .4byte gBattlerPartyIndexes _08031F50: .4byte gActiveBattler _08031F54: .4byte gPlayerParty _08031F58: .4byte gSprites -_08031F5C: .4byte gUnknown_2023D44 +_08031F5C: .4byte gBattlerSpriteIds _08031F60: .4byte gUnknown_3004FE0 _08031F64: .4byte CompleteOnBankSpritePosX_0 thumb_func_end PlayerHandleLoadMonSprite @@ -7465,7 +7465,7 @@ sub_8031FF4: @ 8031FF4 adds r1, r5, 0 adds r2, r4, 0 bl CreateSprite - ldr r4, _08032150 @ =gUnknown_2023D44 + ldr r4, _08032150 @ =gBattlerSpriteIds adds r4, r6, r4 strb r0, [r4] ldr r5, _08032154 @ =gSprites @@ -7555,7 +7555,7 @@ _08032140: .4byte gPlayerParty _08032144: .4byte sub_8033E3C _08032148: .4byte gUnknown_3004FFC _0803214C: .4byte gMultiuseSpriteTemplate -_08032150: .4byte gUnknown_2023D44 +_08032150: .4byte gBattlerSpriteIds _08032154: .4byte gSprites _08032158: .4byte gBattleMonForms _0803215C: .4byte SpriteCallbackDummy @@ -7595,7 +7595,7 @@ _0803219C: .4byte gUnknown_2024018 _080321A0: .4byte gUnknown_3004FE0 _080321A4: .4byte sub_80321F0 _080321A8: - ldr r5, _080321E4 @ =gUnknown_2023D44 + ldr r5, _080321E4 @ =gBattlerSpriteIds adds r0, r2, r5 ldrb r1, [r0] lsls r0, r1, 4 @@ -7623,7 +7623,7 @@ _080321DE: pop {r0} bx r0 .align 2, 0 -_080321E4: .4byte gUnknown_2023D44 +_080321E4: .4byte gBattlerSpriteIds _080321E8: .4byte gSprites _080321EC: .4byte gUnknown_3004FF0 thumb_func_end PlayerHandleReturnPokeToBall @@ -7833,7 +7833,7 @@ _08032342: mov r1, r8 adds r2, r4, 0 bl CreateSprite - ldr r6, _08032410 @ =gUnknown_2023D44 + ldr r6, _08032410 @ =gBattlerSpriteIds ldrb r1, [r5] adds r1, r6 strb r0, [r1] @@ -7895,7 +7895,7 @@ _08032400: .4byte gSaveBlock2Ptr _08032404: .4byte gActiveBattler _08032408: .4byte gMultiuseSpriteTemplate _0803240C: .4byte gUnknown_8239F8C -_08032410: .4byte gUnknown_2023D44 +_08032410: .4byte gBattlerSpriteIds _08032414: .4byte gSprites _08032418: .4byte 0x0000fffe _0803241C: .4byte sub_8033EEC @@ -8003,7 +8003,7 @@ _080324BE: movs r1, 0x50 movs r3, 0x1E bl CreateSprite - ldr r6, _08032578 @ =gUnknown_2023D44 + ldr r6, _08032578 @ =gBattlerSpriteIds ldrb r1, [r5] adds r1, r6 strb r0, [r1] @@ -8063,7 +8063,7 @@ _08032568: .4byte gSaveBlock2Ptr _0803256C: .4byte gActiveBattler _08032570: .4byte gMultiuseSpriteTemplate _08032574: .4byte gUnknown_8239F8C -_08032578: .4byte gUnknown_2023D44 +_08032578: .4byte gBattlerSpriteIds _0803257C: .4byte gSprites _08032580: .4byte 0x0000ffa0 _08032584: .4byte sub_8033EEC @@ -8074,7 +8074,7 @@ _0803258C: .4byte sub_802F768 thumb_func_start PlayerHandleTrainerSlideBack PlayerHandleTrainerSlideBack: @ 8032590 push {r4-r6,lr} - ldr r5, _08032630 @ =gUnknown_2023D44 + ldr r5, _08032630 @ =gBattlerSpriteIds ldr r6, _08032634 @ =gActiveBattler ldrb r0, [r6] adds r0, r5 @@ -8151,7 +8151,7 @@ PlayerHandleTrainerSlideBack: @ 8032590 pop {r0} bx r0 .align 2, 0 -_08032630: .4byte gUnknown_2023D44 +_08032630: .4byte gBattlerSpriteIds _08032634: .4byte gActiveBattler _08032638: .4byte gSprites _0803263C: .4byte 0x0000ffd8 @@ -8227,7 +8227,7 @@ _080326A4: movs r0, 0x10 bl PlaySE12WithPanning ldr r2, _08032728 @ =gSprites - ldr r3, _0803272C @ =gUnknown_2023D44 + ldr r3, _0803272C @ =gBattlerSpriteIds ldrb r0, [r5] adds r0, r3 ldrb r1, [r0] @@ -8269,7 +8269,7 @@ _0803271A: _08032720: .4byte gBattlerPartyIndexes _08032724: .4byte gPlayerParty _08032728: .4byte gSprites -_0803272C: .4byte gUnknown_2023D44 +_0803272C: .4byte gBattlerSpriteIds _08032730: .4byte sub_8012110 _08032734: .4byte gUnknown_3004FE0 _08032738: .4byte sub_8030538 @@ -8428,7 +8428,7 @@ _08032852: ldrb r1, [r1] lsls r1, 8 orrs r0, r1 - ldr r5, _0803292C @ =gUnknown_2037F16 + ldr r5, _0803292C @ =gAnimMoveTurn mov r1, r12 adds r1, 0x3 adds r2, r1 @@ -8496,7 +8496,7 @@ _08032852: lsls r1, 8 orrs r3, r1 strh r3, [r4] - ldr r3, _08032940 @ =gUnknown_2037EE4 + ldr r3, _08032940 @ =gAnimDisableStructPtr ldrb r2, [r6] lsls r2, 9 mov r1, r12 @@ -8520,12 +8520,12 @@ _08032852: .align 2, 0 _08032924: .4byte gActiveBattler _08032928: .4byte gUnknown_2022BC4 -_0803292C: .4byte gUnknown_2037F16 +_0803292C: .4byte gAnimMoveTurn _08032930: .4byte gUnknown_2037EEC _08032934: .4byte gUnknown_2037EE8 _08032938: .4byte gUnknown_2037EFE _0803293C: .4byte gUnknown_2037F00 -_08032940: .4byte gUnknown_2037EE4 +_08032940: .4byte gAnimDisableStructPtr _08032944: .4byte gUnknown_2024008 _08032948: ldr r0, _0803296C @ =gUnknown_2024018 @@ -9754,7 +9754,7 @@ _08033310: .4byte gUnknown_2022870 PlayerHandleHitAnimation: @ 8033314 push {r4,lr} ldr r3, _0803333C @ =gSprites - ldr r2, _08033340 @ =gUnknown_2023D44 + ldr r2, _08033340 @ =gBattlerSpriteIds ldr r4, _08033344 @ =gActiveBattler ldrb r0, [r4] adds r0, r2 @@ -9772,7 +9772,7 @@ PlayerHandleHitAnimation: @ 8033314 b _08033372 .align 2, 0 _0803333C: .4byte gSprites -_08033340: .4byte gUnknown_2023D44 +_08033340: .4byte gBattlerSpriteIds _08033344: .4byte gActiveBattler _08033348: ldr r1, _08033378 @ =gUnknown_2024005 @@ -9930,7 +9930,7 @@ _08033474: .4byte gUnknown_2023F4C thumb_func_start PlayerHandleIntroTrainerBallThrow PlayerHandleIntroTrainerBallThrow: @ 8033478 push {r4-r7,lr} - ldr r6, _080335B8 @ =gUnknown_2023D44 + ldr r6, _080335B8 @ =gBattlerSpriteIds ldr r7, _080335BC @ =gActiveBattler ldrb r0, [r7] adds r0, r6 @@ -10085,7 +10085,7 @@ _0803359A: pop {r0} bx r0 .align 2, 0 -_080335B8: .4byte gUnknown_2023D44 +_080335B8: .4byte gBattlerSpriteIds _080335BC: .4byte gActiveBattler _080335C0: .4byte gSprites _080335C4: .4byte 0x0000ffd8 @@ -10129,7 +10129,7 @@ sub_80335F8: @ 80335F8 adds r0, r1 adds r1, r4, 0 bl sub_8034498 - ldr r0, _08033658 @ =gUnknown_2023D44 + ldr r0, _08033658 @ =gBattlerSpriteIds adds r4, r0 ldrb r1, [r4] lsls r0, r1, 4 @@ -10145,7 +10145,7 @@ sub_80335F8: @ 80335F8 .align 2, 0 _08033650: .4byte gBattlerPartyIndexes _08033654: .4byte gPlayerParty -_08033658: .4byte gUnknown_2023D44 +_08033658: .4byte gBattlerSpriteIds _0803365C: .4byte gSprites thumb_func_end sub_80335F8 @@ -10476,7 +10476,7 @@ PlayerHandleSpriteInvisibility: @ 80338EC cmp r0, 0 beq _08033932 ldr r3, _08033940 @ =gSprites - ldr r0, _08033944 @ =gUnknown_2023D44 + ldr r0, _08033944 @ =gBattlerSpriteIds ldrb r1, [r4] adds r0, r1, r0 ldrb r0, [r0] @@ -10509,7 +10509,7 @@ _08033932: .align 2, 0 _0803393C: .4byte gActiveBattler _08033940: .4byte gSprites -_08033944: .4byte gUnknown_2023D44 +_08033944: .4byte gBattlerSpriteIds _08033948: .4byte gUnknown_2022BC4 thumb_func_end PlayerHandleSpriteInvisibility diff --git a/asm/battle_controller_pokedude.s b/asm/battle_controller_pokedude.s index 3eb6ecb33..2629a8544 100644 --- a/asm/battle_controller_pokedude.s +++ b/asm/battle_controller_pokedude.s @@ -98,7 +98,7 @@ sub_8156140: @ 8156140 sub_815614C: @ 815614C push {lr} ldr r2, _08156174 @ =gSprites - ldr r1, _08156178 @ =gUnknown_2023D44 + ldr r1, _08156178 @ =gBattlerSpriteIds ldr r0, _0815617C @ =gActiveBattler ldrb r0, [r0] adds r0, r1 @@ -118,7 +118,7 @@ _08156170: bx r0 .align 2, 0 _08156174: .4byte gSprites -_08156178: .4byte gUnknown_2023D44 +_08156178: .4byte gBattlerSpriteIds _0815617C: .4byte gActiveBattler _08156180: .4byte SpriteCallbackDummy thumb_func_end sub_815614C @@ -127,7 +127,7 @@ _08156180: .4byte SpriteCallbackDummy sub_8156184: @ 8156184 push {r4-r7,lr} ldr r2, _081561E0 @ =gSprites - ldr r0, _081561E4 @ =gUnknown_2023D44 + ldr r0, _081561E4 @ =gBattlerSpriteIds ldr r7, _081561E8 @ =gActiveBattler ldrb r3, [r7] adds r0, r3, r0 @@ -171,7 +171,7 @@ sub_8156184: @ 8156184 b _08156230 .align 2, 0 _081561E0: .4byte gSprites -_081561E4: .4byte gUnknown_2023D44 +_081561E4: .4byte gBattlerSpriteIds _081561E8: .4byte gActiveBattler _081561EC: .4byte gUnknown_2024018 _081561F0: .4byte gBattlerPartyIndexes @@ -1635,7 +1635,7 @@ sub_8156DCC: @ 8156DCC cmp r0, 0 bne _08156E3C ldr r6, _08156E30 @ =gSprites - ldr r5, _08156E34 @ =gUnknown_2023D44 + ldr r5, _08156E34 @ =gBattlerSpriteIds ldrb r0, [r4] adds r0, r5 ldrb r1, [r0] @@ -1672,11 +1672,11 @@ sub_8156DCC: @ 8156DCC .align 2, 0 _08156E2C: .4byte gActiveBattler _08156E30: .4byte gSprites -_08156E34: .4byte gUnknown_2023D44 +_08156E34: .4byte gBattlerSpriteIds _08156E38: .4byte gUnknown_3004FF0 _08156E3C: ldr r2, _08156E6C @ =gSprites - ldr r0, _08156E70 @ =gUnknown_2023D44 + ldr r0, _08156E70 @ =gBattlerSpriteIds ldrb r3, [r4] adds r0, r3, r0 ldrb r1, [r0] @@ -1700,7 +1700,7 @@ _08156E66: bx r0 .align 2, 0 _08156E6C: .4byte gSprites -_08156E70: .4byte gUnknown_2023D44 +_08156E70: .4byte gBattlerSpriteIds _08156E74: .4byte gUnknown_3004FF0 thumb_func_end sub_8156DCC @@ -1775,7 +1775,7 @@ _08156EFA: thumb_func_start sub_8156F00 sub_8156F00: @ 8156F00 push {r4,lr} - ldr r1, _08156F3C @ =gUnknown_2023D44 + ldr r1, _08156F3C @ =gBattlerSpriteIds ldr r0, _08156F40 @ =gActiveBattler ldrb r0, [r0] adds r0, r1 @@ -1803,7 +1803,7 @@ sub_8156F00: @ 8156F00 bl PlayerPartnerBufferExecCompleted b _08156F76 .align 2, 0 -_08156F3C: .4byte gUnknown_2023D44 +_08156F3C: .4byte gBattlerSpriteIds _08156F40: .4byte gActiveBattler _08156F44: .4byte gSprites _08156F48: .4byte gUnknown_2024005 @@ -1853,7 +1853,7 @@ sub_8156F7C: @ 8156F7C ands r0, r1 cmp r0, 0 bne _08156FD0 - ldr r5, _08156FE0 @ =gUnknown_2023D44 + ldr r5, _08156FE0 @ =gBattlerSpriteIds adds r0, r2, r5 ldrb r1, [r0] lsls r0, r1, 4 @@ -1883,7 +1883,7 @@ _08156FD0: .align 2, 0 _08156FD8: .4byte gUnknown_2024018 _08156FDC: .4byte gActiveBattler -_08156FE0: .4byte gUnknown_2023D44 +_08156FE0: .4byte gBattlerSpriteIds _08156FE4: .4byte gSprites _08156FE8: .4byte gUnknown_3004FF0 thumb_func_end sub_8156F7C @@ -1892,7 +1892,7 @@ _08156FE8: .4byte gUnknown_3004FF0 sub_8156FEC: @ 8156FEC push {lr} ldr r2, _08157014 @ =gSprites - ldr r1, _08157018 @ =gUnknown_2023D44 + ldr r1, _08157018 @ =gBattlerSpriteIds ldr r0, _0815701C @ =gActiveBattler ldrb r0, [r0] adds r0, r1 @@ -1912,7 +1912,7 @@ _08157010: bx r0 .align 2, 0 _08157014: .4byte gSprites -_08157018: .4byte gUnknown_2023D44 +_08157018: .4byte gBattlerSpriteIds _0815701C: .4byte gActiveBattler _08157020: .4byte SpriteCallbackDummy thumb_func_end sub_8156FEC @@ -3950,7 +3950,7 @@ sub_81580E0: @ 81580E0 adds r1, r4, 0 adds r2, r5, 0 bl CreateSprite - ldr r4, _08158224 @ =gUnknown_2023D44 + ldr r4, _08158224 @ =gBattlerSpriteIds ldrb r1, [r6] adds r1, r4 strb r0, [r1] @@ -4038,7 +4038,7 @@ _08158214: .4byte gActiveBattler _08158218: .4byte gBattlerPartyIndexes _0815821C: .4byte gEnemyParty _08158220: .4byte gMultiuseSpriteTemplate -_08158224: .4byte gUnknown_2023D44 +_08158224: .4byte gBattlerSpriteIds _08158228: .4byte gSprites _0815822C: .4byte 0x0000ff10 _08158230: .4byte gBattleMonForms @@ -4135,7 +4135,7 @@ _081582F0: .4byte gActiveBattler _081582F4: .4byte gUnknown_3004FE0 _081582F8: .4byte sub_8156F7C _081582FC: - ldr r5, _08158338 @ =gUnknown_2023D44 + ldr r5, _08158338 @ =gBattlerSpriteIds adds r0, r2, r5 ldrb r1, [r0] lsls r0, r1, 4 @@ -4163,7 +4163,7 @@ _08158332: pop {r0} bx r0 .align 2, 0 -_08158338: .4byte gUnknown_2023D44 +_08158338: .4byte gBattlerSpriteIds _0815833C: .4byte gSprites _08158340: .4byte gUnknown_3004FF0 thumb_func_end sub_81582C0 @@ -4202,7 +4202,7 @@ sub_8158344: @ 8158344 movs r1, 0x50 movs r3, 0x1E bl CreateSprite - ldr r5, _081583E4 @ =gUnknown_2023D44 + ldr r5, _081583E4 @ =gBattlerSpriteIds ldrb r1, [r7] adds r1, r5 strb r0, [r1] @@ -4243,7 +4243,7 @@ sub_8158344: @ 8158344 _081583D8: .4byte gActiveBattler _081583DC: .4byte gMultiuseSpriteTemplate _081583E0: .4byte gUnknown_8239F8C -_081583E4: .4byte gUnknown_2023D44 +_081583E4: .4byte gBattlerSpriteIds _081583E8: .4byte gSprites _081583EC: .4byte 0x0000fffe _081583F0: @@ -4281,7 +4281,7 @@ _081583F0: movs r1, 0xB0 adds r2, r4, 0 bl CreateSprite - ldr r5, _08158518 @ =gUnknown_2023D44 + ldr r5, _08158518 @ =gBattlerSpriteIds ldrb r1, [r7] adds r1, r5 strb r0, [r1] @@ -4387,7 +4387,7 @@ _081584E2: .align 2, 0 _08158510: .4byte gMultiuseSpriteTemplate _08158514: .4byte gUnknown_823932C -_08158518: .4byte gUnknown_2023D44 +_08158518: .4byte gBattlerSpriteIds _0815851C: .4byte gSprites _08158520: .4byte 0x0000ff10 _08158524: .4byte gTrainerFrontPicPaletteTable @@ -4427,7 +4427,7 @@ sub_8158544: @ 8158544 movs r1, 0x50 movs r3, 0x1E bl CreateSprite - ldr r6, _081585F8 @ =gUnknown_2023D44 + ldr r6, _081585F8 @ =gBattlerSpriteIds ldrb r1, [r4] adds r1, r6 strb r0, [r1] @@ -4486,7 +4486,7 @@ sub_8158544: @ 8158544 _081585EC: .4byte gActiveBattler _081585F0: .4byte gMultiuseSpriteTemplate _081585F4: .4byte gUnknown_8239F8C -_081585F8: .4byte gUnknown_2023D44 +_081585F8: .4byte gBattlerSpriteIds _081585FC: .4byte gSprites _08158600: .4byte 0x0000ffa0 _08158604: .4byte sub_8033EEC @@ -4574,7 +4574,7 @@ _08158670: movs r0, 0x10 bl PlaySE12WithPanning ldr r2, _081586F0 @ =gSprites - ldr r3, _081586F4 @ =gUnknown_2023D44 + ldr r3, _081586F4 @ =gBattlerSpriteIds ldrb r0, [r5] adds r0, r3 ldrb r1, [r0] @@ -4606,14 +4606,14 @@ _08158670: _081586E8: .4byte gBattlerPartyIndexes _081586EC: .4byte gPlayerParty _081586F0: .4byte gSprites -_081586F4: .4byte gUnknown_2023D44 +_081586F4: .4byte gBattlerSpriteIds _081586F8: .4byte sub_8012110 _081586FC: movs r0, 0x10 movs r1, 0x3F bl PlaySE12WithPanning ldr r2, _08158730 @ =gSprites - ldr r1, _08158734 @ =gUnknown_2023D44 + ldr r1, _08158734 @ =gBattlerSpriteIds ldrb r0, [r5] adds r0, r1 ldrb r1, [r0] @@ -4638,7 +4638,7 @@ _0815872A: bx r0 .align 2, 0 _08158730: .4byte gSprites -_08158734: .4byte gUnknown_2023D44 +_08158734: .4byte gBattlerSpriteIds _08158738: .4byte sub_8011EA0 _0815873C: .4byte gUnknown_3004FE0 _08158740: .4byte gActiveBattler @@ -4762,7 +4762,7 @@ sub_8158814: @ 8158814 ldrb r1, [r1] lsls r1, 8 orrs r0, r1 - ldr r5, _081588F0 @ =gUnknown_2037F16 + ldr r5, _081588F0 @ =gAnimMoveTurn mov r1, r12 adds r1, 0x3 adds r2, r1 @@ -4830,7 +4830,7 @@ sub_8158814: @ 8158814 lsls r1, 8 orrs r3, r1 strh r3, [r4] - ldr r3, _08158904 @ =gUnknown_2037EE4 + ldr r3, _08158904 @ =gAnimDisableStructPtr ldrb r2, [r6] lsls r2, 9 mov r1, r12 @@ -4854,12 +4854,12 @@ sub_8158814: @ 8158814 .align 2, 0 _081588E8: .4byte gUnknown_2022BC4 _081588EC: .4byte gActiveBattler -_081588F0: .4byte gUnknown_2037F16 +_081588F0: .4byte gAnimMoveTurn _081588F4: .4byte gUnknown_2037EEC _081588F8: .4byte gUnknown_2037EE8 _081588FC: .4byte gUnknown_2037EFE _08158900: .4byte gUnknown_2037F00 -_08158904: .4byte gUnknown_2037EE4 +_08158904: .4byte gAnimDisableStructPtr _08158908: .4byte gUnknown_2024008 _0815890C: ldr r0, _08158930 @ =gUnknown_2024018 @@ -5936,7 +5936,7 @@ sub_8159184: @ 8159184 sub_8159190: @ 8159190 push {r4,lr} ldr r3, _081591B8 @ =gSprites - ldr r2, _081591BC @ =gUnknown_2023D44 + ldr r2, _081591BC @ =gBattlerSpriteIds ldr r4, _081591C0 @ =gActiveBattler ldrb r0, [r4] adds r0, r2 @@ -5954,7 +5954,7 @@ sub_8159190: @ 8159190 b _081591EE .align 2, 0 _081591B8: .4byte gSprites -_081591BC: .4byte gUnknown_2023D44 +_081591BC: .4byte gBattlerSpriteIds _081591C0: .4byte gActiveBattler _081591C4: ldr r1, _081591F4 @ =gUnknown_2024005 @@ -6119,7 +6119,7 @@ _08159300: .4byte gUnknown_2023F4C thumb_func_start sub_8159304 sub_8159304: @ 8159304 push {r4-r7,lr} - ldr r6, _0815943C @ =gUnknown_2023D44 + ldr r6, _0815943C @ =gBattlerSpriteIds ldr r7, _08159440 @ =gActiveBattler ldrb r0, [r7] adds r0, r6 @@ -6269,7 +6269,7 @@ _0815941C: pop {r0} bx r0 .align 2, 0 -_0815943C: .4byte gUnknown_2023D44 +_0815943C: .4byte gBattlerSpriteIds _08159440: .4byte gActiveBattler _08159444: .4byte gSprites _08159448: .4byte 0x0000ffd8 @@ -6359,7 +6359,7 @@ sub_8159478: @ 8159478 adds r1, r5, 0 adds r2, r4, 0 bl CreateSprite - ldr r4, _081595DC @ =gUnknown_2023D44 + ldr r4, _081595DC @ =gBattlerSpriteIds adds r4, r6, r4 strb r0, [r4] ldr r5, _081595E0 @ =gSprites @@ -6450,7 +6450,7 @@ _081595CC: .4byte gPlayerParty _081595D0: .4byte sub_8033E3C _081595D4: .4byte gUnknown_3004FFC _081595D8: .4byte gMultiuseSpriteTemplate -_081595DC: .4byte gUnknown_2023D44 +_081595DC: .4byte gBattlerSpriteIds _081595E0: .4byte gSprites _081595E4: .4byte gBattleMonForms _081595E8: .4byte SpriteCallbackDummy diff --git a/asm/battle_controller_safari.s b/asm/battle_controller_safari.s index e8edcb7fd..b0f53b7d9 100644 --- a/asm/battle_controller_safari.s +++ b/asm/battle_controller_safari.s @@ -259,7 +259,7 @@ _080DD724: .4byte gActiveBattler sub_80DD728: @ 80DD728 push {lr} ldr r2, _080DD750 @ =gSprites - ldr r1, _080DD754 @ =gUnknown_2023D44 + ldr r1, _080DD754 @ =gBattlerSpriteIds ldr r0, _080DD758 @ =gActiveBattler ldrb r0, [r0] adds r0, r1 @@ -279,7 +279,7 @@ _080DD74C: bx r0 .align 2, 0 _080DD750: .4byte gSprites -_080DD754: .4byte gUnknown_2023D44 +_080DD754: .4byte gBattlerSpriteIds _080DD758: .4byte gActiveBattler _080DD75C: .4byte SpriteCallbackDummy thumb_func_end sub_80DD728 @@ -646,7 +646,7 @@ SafariHandleDrawTrainerPic: @ 80DD9C4 movs r1, 0x50 movs r3, 0x1E bl CreateSprite - ldr r6, _080DDA8C @ =gUnknown_2023D44 + ldr r6, _080DDA8C @ =gBattlerSpriteIds ldrb r1, [r5] adds r1, r6 strb r0, [r1] @@ -706,7 +706,7 @@ _080DDA7C: .4byte gSaveBlock2Ptr _080DDA80: .4byte gActiveBattler _080DDA84: .4byte gMultiuseSpriteTemplate _080DDA88: .4byte gUnknown_8239F8C -_080DDA8C: .4byte gUnknown_2023D44 +_080DDA8C: .4byte gBattlerSpriteIds _080DDA90: .4byte gSprites _080DDA94: .4byte 0x0000fffe _080DDA98: .4byte sub_8033EEC diff --git a/asm/battle_gfx_sfx_util.s b/asm/battle_gfx_sfx_util.s index b1b4b172a..efbd89e9e 100644 --- a/asm/battle_gfx_sfx_util.s +++ b/asm/battle_gfx_sfx_util.s @@ -394,7 +394,7 @@ _08034094: cmp r5, 0x2 bne _080340E0 ldr r1, _080340D8 @ =gSprites - ldr r0, _080340DC @ =gUnknown_2023D44 + ldr r0, _080340DC @ =gBattlerSpriteIds adds r0, r6, r0 ldrb r2, [r0] lsls r0, r2, 4 @@ -415,7 +415,7 @@ _08034094: b _08034132 .align 2, 0 _080340D8: .4byte gSprites -_080340DC: .4byte gUnknown_2023D44 +_080340DC: .4byte gBattlerSpriteIds _080340E0: ldr r0, _08034144 @ =gBattleAnimAttacker mov r2, r10 @@ -1718,7 +1718,7 @@ CopyAllBattleSpritesInvisibilities: @ 8034B40 negs r0, r0 mov r8, r0 ldr r7, _08034BAC @ =gUnknown_2024018 - ldr r6, _08034BB0 @ =gUnknown_2023D44 + ldr r6, _08034BB0 @ =gBattlerSpriteIds _08034B64: ldr r0, [r7] ldr r0, [r0] @@ -1756,7 +1756,7 @@ _08034B96: _08034BA4: .4byte gBattlersCount _08034BA8: .4byte gSprites _08034BAC: .4byte gUnknown_2024018 -_08034BB0: .4byte gUnknown_2023D44 +_08034BB0: .4byte gBattlerSpriteIds thumb_func_end CopyAllBattleSpritesInvisibilities thumb_func_start CopyBattleSpriteInvisibility @@ -1769,7 +1769,7 @@ CopyBattleSpriteInvisibility: @ 8034BB4 lsls r3, r0, 2 adds r3, r1 ldr r2, _08034BEC @ =gSprites - ldr r1, _08034BF0 @ =gUnknown_2023D44 + ldr r1, _08034BF0 @ =gBattlerSpriteIds adds r0, r1 ldrb r1, [r0] lsls r0, r1, 4 @@ -1790,7 +1790,7 @@ CopyBattleSpriteInvisibility: @ 8034BB4 .align 2, 0 _08034BE8: .4byte gUnknown_2024018 _08034BEC: .4byte gSprites -_08034BF0: .4byte gUnknown_2023D44 +_08034BF0: .4byte gBattlerSpriteIds thumb_func_end CopyBattleSpriteInvisibility thumb_func_start sub_8034BF4 @@ -1869,7 +1869,7 @@ _08034C16: adds r0, r5 ldr r2, [r0] ldr r5, _08034D68 @ =gSprites - ldr r4, _08034D6C @ =gUnknown_2023D44 + ldr r4, _08034D6C @ =gBattlerSpriteIds add r4, r9 ldrb r1, [r4] lsls r0, r1, 4 @@ -1964,7 +1964,7 @@ _08034D5C: .4byte gEnemyParty _08034D60: .4byte gMonFrontPicTable _08034D64: .4byte gMonSpritesGfxPtr _08034D68: .4byte gSprites -_08034D6C: .4byte gUnknown_2023D44 +_08034D6C: .4byte gBattlerSpriteIds _08034D70: .4byte 0x06010000 _08034D74: .4byte 0x040000d4 _08034D78: .4byte 0x84000200 @@ -1974,7 +1974,7 @@ _08034D84: .4byte gUnknown_3004FF0 _08034D88: cmp r2, 0 beq _08034E4C - ldr r0, _08034E28 @ =gUnknown_2023D44 + ldr r0, _08034E28 @ =gBattlerSpriteIds mov r3, r9 adds r5, r3, r0 ldrb r1, [r5] @@ -2048,7 +2048,7 @@ _08034E0E: strh r0, [r1, 0x22] b _08035062 .align 2, 0 -_08034E28: .4byte gUnknown_2023D44 +_08034E28: .4byte gBattlerSpriteIds _08034E2C: .4byte gSprites _08034E30: .4byte gUnknown_2024018 _08034E34: .4byte gBattleStruct @@ -2189,7 +2189,7 @@ _08034F5E: adds r0, 0x4 adds r0, r5 ldr r2, [r0] - ldr r0, _08035088 @ =gUnknown_2023D44 + ldr r0, _08035088 @ =gBattlerSpriteIds add r0, r9 str r0, [sp, 0x10] ldrb r1, [r0] @@ -2318,7 +2318,7 @@ _08035078: .4byte gEnemyParty _0803507C: .4byte gMonFrontPicTable _08035080: .4byte gMonSpritesGfxPtr _08035084: .4byte gUnknown_2024008 -_08035088: .4byte gUnknown_2023D44 +_08035088: .4byte gBattlerSpriteIds _0803508C: .4byte gSprites _08035090: .4byte 0x06010000 _08035094: .4byte 0x040000d4 @@ -2820,7 +2820,7 @@ _0803547C: cmp r0, 0 beq _08035514 ldr r4, _080354E4 @ =gSprites - ldr r0, _080354E8 @ =gUnknown_2023D44 + ldr r0, _080354E8 @ =gBattlerSpriteIds adds r3, r5, r0 ldrb r1, [r3] lsls r0, r1, 4 @@ -2864,7 +2864,7 @@ _0803547C: .align 2, 0 _080354E0: .4byte gBattlersCount _080354E4: .4byte gSprites -_080354E8: .4byte gUnknown_2023D44 +_080354E8: .4byte gBattlerSpriteIds _080354EC: .4byte gUnknown_2024018 _080354F0: ldrb r0, [r3] @@ -3026,7 +3026,7 @@ SpriteCB_EnemyShadow: @ 8035624 ldrh r0, [r5, 0x2E] lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _08035668 @ =gUnknown_2023D44 + ldr r0, _08035668 @ =gBattlerSpriteIds adds r0, r4, r0 ldrb r1, [r0] lsls r0, r1, 4 @@ -3051,7 +3051,7 @@ _08035660: str r0, [r5, 0x1C] b _080356EA .align 2, 0 -_08035668: .4byte gUnknown_2023D44 +_08035668: .4byte gBattlerSpriteIds _0803566C: .4byte gSprites _08035670: .4byte SpriteCB_SetInvisible _08035674: diff --git a/asm/dark.s b/asm/dark.s index f935382e4..a232c19ad 100644 --- a/asm/dark.s +++ b/asm/dark.s @@ -96,7 +96,7 @@ sub_80B7954: @ 80B7954 cmp r4, 0x10 bne _080B79D6 ldr r2, _080B79C4 @ =gSprites - ldr r1, _080B79C8 @ =gUnknown_2023D44 + ldr r1, _080B79C8 @ =gBattlerSpriteIds ldr r0, _080B79CC @ =gBattleAnimAttacker ldrb r0, [r0] adds r0, r1 @@ -116,7 +116,7 @@ sub_80B7954: @ 80B7954 .align 2, 0 _080B79C0: .4byte gTasks _080B79C4: .4byte gSprites -_080B79C8: .4byte gUnknown_2023D44 +_080B79C8: .4byte gBattlerSpriteIds _080B79CC: .4byte gBattleAnimAttacker _080B79D0: ldrh r0, [r6, 0xC] @@ -1666,7 +1666,7 @@ sub_80B85B8: @ 80B85B8 bl sub_8072E48 ldr r0, _080B865C @ =gSprites mov r9, r0 - ldr r0, _080B8660 @ =gUnknown_2023D44 + ldr r0, _080B8660 @ =gBattlerSpriteIds mov r8, r0 ldrb r0, [r6] add r0, r8 @@ -1721,7 +1721,7 @@ _080B8642: .align 2, 0 _080B8658: .4byte gBattleAnimAttacker _080B865C: .4byte gSprites -_080B8660: .4byte gUnknown_2023D44 +_080B8660: .4byte gBattlerSpriteIds thumb_func_end sub_80B85B8 thumb_func_start sub_80B8664 @@ -1866,7 +1866,7 @@ _080B8780: cmp r0, 0x1 bne _080B87CA ldr r3, _080B8808 @ =gSprites - ldr r1, _080B880C @ =gUnknown_2023D44 + ldr r1, _080B880C @ =gBattlerSpriteIds ldrb r0, [r4] eors r0, r5 adds r0, r1 @@ -1917,7 +1917,7 @@ _080B87FC: .4byte 0x00003f42 _080B8800: .4byte 0x00000c08 _080B8804: .4byte gBattleAnimAttacker _080B8808: .4byte gSprites -_080B880C: .4byte gUnknown_2023D44 +_080B880C: .4byte gBattlerSpriteIds _080B8810: .4byte gBattlerPartyIndexes _080B8814: .4byte gEnemyParty _080B8818: @@ -2111,7 +2111,7 @@ _080B8990: ldrsh r0, [r4, r1] cmp r0, 0x1 bne _080B8A5E - ldr r2, _080B89F4 @ =gUnknown_2023D44 + ldr r2, _080B89F4 @ =gBattlerSpriteIds ldr r0, _080B89F8 @ =gBattleAnimAttacker ldrb r1, [r0] movs r0, 0x2 @@ -2139,7 +2139,7 @@ _080B8990: _080B89E8: .4byte gTasks _080B89EC: .4byte gBattle_BG1_X _080B89F0: .4byte gSprites -_080B89F4: .4byte gUnknown_2023D44 +_080B89F4: .4byte gBattlerSpriteIds _080B89F8: .4byte gBattleAnimAttacker _080B89FC: cmp r0, 0x3 @@ -2258,12 +2258,12 @@ _080B8AE0: lsls r0, 24 cmp r0, 0 beq _080B8B04 - ldr r0, _080B8B00 @ =gUnknown_2023D44 + ldr r0, _080B8B00 @ =gBattlerSpriteIds adds r0, r4, r0 ldrb r2, [r0] b _080B8B06 .align 2, 0 -_080B8B00: .4byte gUnknown_2023D44 +_080B8B00: .4byte gBattlerSpriteIds _080B8B04: movs r2, 0xFF _080B8B06: @@ -2296,7 +2296,7 @@ sub_80B8B38: @ 80B8B38 push {lr} lsls r0, 24 lsrs r3, r0, 24 - ldr r2, _080B8B64 @ =gUnknown_2037F16 + ldr r2, _080B8B64 @ =gAnimMoveTurn ldrb r0, [r2] cmp r0, 0x1 bhi _080B8B4C @@ -2316,7 +2316,7 @@ _080B8B58: pop {r0} bx r0 .align 2, 0 -_080B8B64: .4byte gUnknown_2037F16 +_080B8B64: .4byte gAnimMoveTurn _080B8B68: .4byte gBattleAnimArgs thumb_func_end sub_80B8B38 diff --git a/asm/fighting.s b/asm/fighting.s index a7e402498..518927a3c 100644 --- a/asm/fighting.s +++ b/asm/fighting.s @@ -1492,7 +1492,7 @@ sub_80B13F8: @ 80B13F8 strh r0, [r5, 0x34] ldrh r0, [r1, 0x4] strh r0, [r5, 0x36] - ldr r0, _080B147C @ =gUnknown_2037F16 + ldr r0, _080B147C @ =gAnimMoveTurn ldrb r6, [r0] ldrb r0, [r4] bl GetBattlerSide @@ -1531,7 +1531,7 @@ _080B1456: .align 2, 0 _080B1474: .4byte gBattleAnimTarget _080B1478: .4byte gBattleAnimArgs -_080B147C: .4byte gUnknown_2037F16 +_080B147C: .4byte gAnimMoveTurn _080B1480: .4byte sub_80B13D4 thumb_func_end sub_80B13F8 diff --git a/asm/fire.s b/asm/fire.s index 0fb8ea1c1..f4b89300a 100644 --- a/asm/fire.s +++ b/asm/fire.s @@ -2391,7 +2391,7 @@ _080ADB0E: ldrh r0, [r2, 0x8] adds r0, 0x1 strh r0, [r2, 0x8] - ldr r1, _080ADB38 @ =gUnknown_2023D44 + ldr r1, _080ADB38 @ =gBattlerSpriteIds ldr r0, _080ADB3C @ =gBattleAnimTarget ldrb r0, [r0] adds r0, r1 @@ -2407,7 +2407,7 @@ _080ADB0E: .align 2, 0 _080ADB30: .4byte gTasks _080ADB34: .4byte gBattleAnimArgs -_080ADB38: .4byte gUnknown_2023D44 +_080ADB38: .4byte gBattlerSpriteIds _080ADB3C: .4byte gBattleAnimTarget _080ADB40: .4byte gUnknown_83E5EFC _080ADB44: diff --git a/asm/ghost.s b/asm/ghost.s index 621ed8104..e3665a210 100644 --- a/asm/ghost.s +++ b/asm/ghost.s @@ -3929,7 +3929,7 @@ sub_80B7158: @ 80B7158 movs r2, 0x4 orrs r1, r2 strb r1, [r3] - ldr r2, _080B719C @ =gUnknown_2023D44 + ldr r2, _080B719C @ =gBattlerSpriteIds ldr r1, _080B71A0 @ =gBattleAnimAttacker ldrb r1, [r1] adds r1, r2 @@ -3958,7 +3958,7 @@ sub_80B7158: @ 80B7158 strh r1, [r0, 0x22] bx lr .align 2, 0 -_080B719C: .4byte gUnknown_2023D44 +_080B719C: .4byte gBattlerSpriteIds _080B71A0: .4byte gBattleAnimAttacker _080B71A4: .4byte gBattleAnimArgs _080B71A8: .4byte sub_80B71B0 diff --git a/asm/ground.s b/asm/ground.s index 678049327..4009c7056 100644 --- a/asm/ground.s +++ b/asm/ground.s @@ -1268,7 +1268,7 @@ _080B951E: adds r1, r4, 0 adds r1, 0x8 adds r1, r0 - ldr r0, _080B9554 @ =gUnknown_2023D44 + ldr r0, _080B9554 @ =gBattlerSpriteIds adds r0, r5, r0 ldrb r0, [r0] strh r0, [r1] @@ -1283,7 +1283,7 @@ _080B9548: bls _080B951E b _080B9574 .align 2, 0 -_080B9554: .4byte gUnknown_2023D44 +_080B9554: .4byte gBattlerSpriteIds _080B9558: ldrb r0, [r6] bl GetAnimBankSpriteId diff --git a/asm/ice.s b/asm/ice.s index f7c71fdbf..c04715b95 100644 --- a/asm/ice.s +++ b/asm/ice.s @@ -2886,7 +2886,7 @@ _080B06F8: .4byte gTasks unc_080B06FC: @ 80B06FC push {r4-r6,lr} adds r5, r0, 0 - ldr r0, _080B077C @ =gUnknown_2037EE4 + ldr r0, _080B077C @ =gAnimDisableStructPtr ldr r0, [r0] ldrb r1, [r0, 0x11] lsrs r0, r1, 4 @@ -2945,7 +2945,7 @@ _080B0742: pop {r0} bx r0 .align 2, 0 -_080B077C: .4byte gUnknown_2037EE4 +_080B077C: .4byte gAnimDisableStructPtr _080B0780: .4byte gBattleAnimArgs _080B0784: .4byte gBattleAnimAttacker _080B0788: .4byte gBattleAnimTarget @@ -3079,7 +3079,7 @@ sub_80B0870: @ 80B0870 ldrb r3, [r1] lsls r3, 1 adds r3, r1 - ldr r1, _080B089C @ =gUnknown_2037EE4 + ldr r1, _080B089C @ =gAnimDisableStructPtr ldr r1, [r1] ldrb r1, [r1, 0x11] lsrs r2, r1, 4 @@ -3093,7 +3093,7 @@ sub_80B0870: @ 80B0870 bx r0 .align 2, 0 _080B0898: .4byte gBattleAnimArgs -_080B089C: .4byte gUnknown_2037EE4 +_080B089C: .4byte gAnimDisableStructPtr thumb_func_end sub_80B0870 .align 2, 0 @ Don't pad with nop. diff --git a/asm/normal.s b/asm/normal.s index ab75382c1..165fa150f 100644 --- a/asm/normal.s +++ b/asm/normal.s @@ -1405,7 +1405,7 @@ _080BA362: bcs _080BA3B4 ldr r2, _080BA3C4 @ =gSprites mov r12, r2 - ldr r6, _080BA3C8 @ =gUnknown_2023D44 + ldr r6, _080BA3C8 @ =gBattlerSpriteIds movs r7, 0x3 negs r7, r7 _080BA392: @@ -1436,14 +1436,14 @@ _080BA3BA: .align 2, 0 _080BA3C0: .4byte gBattlersCount _080BA3C4: .4byte gSprites -_080BA3C8: .4byte gUnknown_2023D44 +_080BA3C8: .4byte gBattlerSpriteIds thumb_func_end sub_80BA320 thumb_func_start sub_80BA3CC sub_80BA3CC: @ 80BA3CC push {r4-r6,lr} ldr r6, _080BA440 @ =gSprites - ldr r4, _080BA444 @ =gUnknown_2023D44 + ldr r4, _080BA444 @ =gBattlerSpriteIds ldr r5, _080BA448 @ =gBattleAnimAttacker ldrb r0, [r5] adds r0, r4 @@ -1500,7 +1500,7 @@ sub_80BA3CC: @ 80BA3CC b _080BA470 .align 2, 0 _080BA440: .4byte gSprites -_080BA444: .4byte gUnknown_2023D44 +_080BA444: .4byte gBattlerSpriteIds _080BA448: .4byte gBattleAnimAttacker _080BA44C: .4byte gBattleAnimTarget _080BA450: .4byte gBattleAnimArgs diff --git a/asm/pokeball.s b/asm/pokeball.s index 58c9ac77c..eace88832 100644 --- a/asm/pokeball.s +++ b/asm/pokeball.s @@ -432,7 +432,7 @@ sub_804AC94: @ 804AC94 strh r7, [r6, 0x38] ldr r0, _0804ACF4 @ =sub_804AD00 str r0, [r6, 0x1C] - ldr r5, _0804ACF8 @ =gUnknown_2023D44 + ldr r5, _0804ACF8 @ =gBattlerSpriteIds movs r1, 0x3A ldrsh r0, [r6, r1] adds r0, r5 @@ -468,7 +468,7 @@ _0804ACEE: bx r0 .align 2, 0 _0804ACF4: .4byte sub_804AD00 -_0804ACF8: .4byte gUnknown_2023D44 +_0804ACF8: .4byte gBattlerSpriteIds _0804ACFC: .4byte gSprites thumb_func_end sub_804AC94 @@ -487,7 +487,7 @@ sub_804AD00: @ 804AD00 bl PlaySE _0804AD18: ldr r6, _0804AD64 @ =gSprites - ldr r5, _0804AD68 @ =gUnknown_2023D44 + ldr r5, _0804AD68 @ =gBattlerSpriteIds movs r1, 0x3A ldrsh r0, [r4, r1] adds r0, r5 @@ -525,7 +525,7 @@ _0804AD18: b _0804AD90 .align 2, 0 _0804AD64: .4byte gSprites -_0804AD68: .4byte gUnknown_2023D44 +_0804AD68: .4byte gBattlerSpriteIds _0804AD6C: .4byte sub_804AD98 _0804AD70: ldrh r0, [r1, 0x30] @@ -1363,7 +1363,7 @@ _0804B3F2: strh r7, [r1, 0x10] strh r2, [r1, 0x26] _0804B420: - ldr r5, _0804B47C @ =gUnknown_2023D44 + ldr r5, _0804B47C @ =gBattlerSpriteIds movs r1, 0x3A ldrsh r0, [r6, r1] adds r0, r5 @@ -1405,7 +1405,7 @@ _0804B420: .align 2, 0 _0804B474: .4byte Task_PlayCryWhenReleasedFromBall _0804B478: .4byte gTasks -_0804B47C: .4byte gUnknown_2023D44 +_0804B47C: .4byte gBattlerSpriteIds _0804B480: .4byte gSprites thumb_func_end sub_804B268 @@ -1437,7 +1437,7 @@ HandleBallAnimEnd: @ 804B4A4 lsls r0, 24 lsrs r6, r0, 24 ldr r4, _0804B508 @ =gSprites - ldr r0, _0804B50C @ =gUnknown_2023D44 + ldr r0, _0804B50C @ =gBattlerSpriteIds adds r3, r6, r0 ldrb r1, [r3] lsls r0, r1, 4 @@ -1482,7 +1482,7 @@ _0804B4E6: b _0804B52C .align 2, 0 _0804B508: .4byte gSprites -_0804B50C: .4byte gUnknown_2023D44 +_0804B50C: .4byte gBattlerSpriteIds _0804B510: ldr r2, _0804B5B4 @ =0xfffffee0 adds r0, r2, 0 @@ -1509,7 +1509,7 @@ _0804B52C: cmp r7, 0 beq _0804B5AE ldr r2, _0804B5B8 @ =gSprites - ldr r0, _0804B5BC @ =gUnknown_2023D44 + ldr r0, _0804B5BC @ =gBattlerSpriteIds adds r0, r6, r0 ldrb r1, [r0] lsls r0, r1, 4 @@ -1571,7 +1571,7 @@ _0804B5AE: .align 2, 0 _0804B5B4: .4byte 0xfffffee0 _0804B5B8: .4byte gSprites -_0804B5BC: .4byte gUnknown_2023D44 +_0804B5BC: .4byte gBattlerSpriteIds _0804B5C0: .4byte gUnknown_2024005 _0804B5C4: .4byte gUnknown_2024018 thumb_func_end HandleBallAnimEnd @@ -1607,7 +1607,7 @@ _0804B600: cmp r1, r0 bne _0804B666 ldr r5, _0804B670 @ =gSprites - ldr r4, _0804B674 @ =gUnknown_2023D44 + ldr r4, _0804B674 @ =gBattlerSpriteIds movs r1, 0x3A ldrsh r0, [r6, r1] adds r0, r4 @@ -1658,7 +1658,7 @@ _0804B666: .align 2, 0 _0804B66C: .4byte 0x0000013b _0804B670: .4byte gSprites -_0804B674: .4byte gUnknown_2023D44 +_0804B674: .4byte gBattlerSpriteIds _0804B678: .4byte gMain _0804B67C: .4byte 0x00000439 _0804B680: .4byte gUnknown_2024018 diff --git a/asm/psychic.s b/asm/psychic.s index 9e2d8e28f..ef0fc1385 100644 --- a/asm/psychic.s +++ b/asm/psychic.s @@ -286,7 +286,7 @@ sub_80B30B0: @ 80B30B0 cmp r0, 0 beq _080B3118 ldr r2, _080B315C @ =gSprites - ldr r0, _080B3160 @ =gUnknown_2023D44 + ldr r0, _080B3160 @ =gBattlerSpriteIds adds r0, r4, r0 ldrb r1, [r0] lsls r0, r1, 4 @@ -309,7 +309,7 @@ _080B3118: cmp r0, 0 beq _080B3146 ldr r2, _080B315C @ =gSprites - ldr r0, _080B3160 @ =gUnknown_2023D44 + ldr r0, _080B3160 @ =gBattlerSpriteIds adds r0, r4, r0 ldrb r1, [r0] lsls r0, r1, 4 @@ -337,7 +337,7 @@ _080B3156: bx r0 .align 2, 0 _080B315C: .4byte gSprites -_080B3160: .4byte gUnknown_2023D44 +_080B3160: .4byte gBattlerSpriteIds _080B3164: .4byte sub_80B3168 thumb_func_end sub_80B30B0 diff --git a/asm/reshow_battle_screen.s b/asm/reshow_battle_screen.s index a9f23d1d4..9ec3e3580 100644 --- a/asm/reshow_battle_screen.s +++ b/asm/reshow_battle_screen.s @@ -678,7 +678,7 @@ _08077CD2: adds r1, r4, 0 mov r2, r8 bl CreateSprite - ldr r4, _08077D9C @ =gUnknown_2023D44 + ldr r4, _08077D9C @ =gBattlerSpriteIds adds r4, r7, r4 strb r0, [r4] ldr r5, _08077DA0 @ =gSprites @@ -735,7 +735,7 @@ _08077CD2: _08077D90: .4byte gBattlerPartyIndexes _08077D94: .4byte gEnemyParty _08077D98: .4byte gMultiuseSpriteTemplate -_08077D9C: .4byte gUnknown_2023D44 +_08077D9C: .4byte gBattlerSpriteIds _08077DA0: .4byte gSprites _08077DA4: .4byte SpriteCallbackDummy _08077DA8: .4byte gBattleMonForms @@ -820,7 +820,7 @@ _08077E54: movs r1, 0x50 adds r2, r4, 0 bl CreateSprite - ldr r3, _08077E9C @ =gUnknown_2023D44 + ldr r3, _08077E9C @ =gBattlerSpriteIds strb r0, [r3] ldr r4, _08077EA0 @ =gSprites ldrb r0, [r3] @@ -851,7 +851,7 @@ _08077E54: .align 2, 0 _08077E94: .4byte gMultiuseSpriteTemplate _08077E98: .4byte gUnknown_8239F8C -_08077E9C: .4byte gUnknown_2023D44 +_08077E9C: .4byte gBattlerSpriteIds _08077EA0: .4byte gSprites _08077EA4: .4byte SpriteCallbackDummy _08077EA8: @@ -904,7 +904,7 @@ _08077EA8: adds r1, r4, 0 mov r2, r8 bl CreateSprite - ldr r4, _08077FD0 @ =gUnknown_2023D44 + ldr r4, _08077FD0 @ =gBattlerSpriteIds adds r4, r7, r4 strb r0, [r4] ldr r5, _08077FD4 @ =gSprites @@ -958,7 +958,7 @@ _08077EA8: bl StartSpriteAnim _08077F84: ldr r1, _08077FD4 @ =gSprites - ldr r0, _08077FD0 @ =gUnknown_2023D44 + ldr r0, _08077FD0 @ =gBattlerSpriteIds adds r0, r7, r0 ldrb r0, [r0] lsls r2, r0, 4 @@ -993,7 +993,7 @@ _08077FB4: _08077FC4: .4byte gBattlerPartyIndexes _08077FC8: .4byte gPlayerParty _08077FCC: .4byte gMultiuseSpriteTemplate -_08077FD0: .4byte gUnknown_2023D44 +_08077FD0: .4byte gBattlerSpriteIds _08077FD4: .4byte gSprites _08077FD8: .4byte SpriteCallbackDummy _08077FDC: .4byte gBattleMonForms diff --git a/asm/rock.s b/asm/rock.s index 1708b77a5..50687a86e 100644 --- a/asm/rock.s +++ b/asm/rock.s @@ -1198,7 +1198,7 @@ _080B4FB4: .4byte gTasks thumb_func_start sub_80B4FB8 sub_80B4FB8: @ 80B4FB8 push {lr} - ldr r0, _080B4FE0 @ =gUnknown_2037EE4 + ldr r0, _080B4FE0 @ =gAnimDisableStructPtr ldr r0, [r0] ldrb r1, [r0, 0x11] lsrs r0, r1, 4 @@ -1219,7 +1219,7 @@ _080B4FDA: pop {r1} bx r1 .align 2, 0 -_080B4FE0: .4byte gUnknown_2037EE4 +_080B4FE0: .4byte gAnimDisableStructPtr thumb_func_end sub_80B4FB8 thumb_func_start sub_80B4FE4 diff --git a/sym_ewram.txt b/sym_ewram.txt index c496c8764..d97599e8c 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -254,7 +254,7 @@ gUnknown_2023C30: @ 2023C30 gUnknown_2023C34: @ 2023C34 .space 0x110 -gUnknown_2023D44: @ 2023D44 +gBattlerSpriteIds: @ 2023D44 .space 0x4 gUnknown_2023D48: @ 2023D48 @@ -746,7 +746,7 @@ gUnknown_2037EE2: @ 2037EE2 gUnknown_2037EE3: @ 2037EE3 .space 0x1 -gUnknown_2037EE4: @ 2037EE4 +gAnimDisableStructPtr: @ 2037EE4 .space 0x4 gUnknown_2037EE8: @ 2037EE8 @@ -773,7 +773,7 @@ gUnknown_2037F12: @ 2037F12 gUnknown_2037F14: @ 2037F14 .space 0x2 -gUnknown_2037F16: @ 2037F16 +gAnimMoveTurn: @ 2037F16 .space 0x1 gUnknown_2037F17: @ 2037F17 -- cgit v1.2.3 From e4136de32e7518521d595e601a86e9e8f6349aba Mon Sep 17 00:00:00 2001 From: garak Date: Thu, 23 May 2019 19:00:16 -0400 Subject: rename remaining battle anim files --- asm/battle_anim_8074480.s | 6343 ------------------ asm/battle_anim_8078178.s | 977 --- asm/battle_anim_80989F8.s | 2588 -------- asm/battle_anim_80DE2C0.s | 12857 ------------------------------------- asm/battle_anim_80EEC0C.s | 6299 ------------------ asm/battle_anim_effects_3.s | 12857 +++++++++++++++++++++++++++++++++++++ asm/battle_anim_mon_movement.s | 2588 ++++++++ asm/battle_anim_mons.s | 6343 ++++++++++++++++++ asm/battle_anim_special.s | 6299 ++++++++++++++++++ asm/battle_anim_status_effects.s | 977 +++ ld_script.txt | 10 +- 11 files changed, 29069 insertions(+), 29069 deletions(-) delete mode 100644 asm/battle_anim_8074480.s delete mode 100644 asm/battle_anim_8078178.s delete mode 100644 asm/battle_anim_80989F8.s delete mode 100644 asm/battle_anim_80DE2C0.s delete mode 100644 asm/battle_anim_80EEC0C.s create mode 100644 asm/battle_anim_effects_3.s create mode 100644 asm/battle_anim_mon_movement.s create mode 100644 asm/battle_anim_mons.s create mode 100644 asm/battle_anim_special.s create mode 100644 asm/battle_anim_status_effects.s diff --git a/asm/battle_anim_8074480.s b/asm/battle_anim_8074480.s deleted file mode 100644 index aded063d4..000000000 --- a/asm/battle_anim_8074480.s +++ /dev/null @@ -1,6343 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_8074480 -sub_8074480: @ 8074480 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - cmp r4, 0x4 - bhi _08074500 - lsls r0, r4, 2 - ldr r1, _08074498 @ =_0807449C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08074498: .4byte _0807449C - .align 2, 0 -_0807449C: - .4byte _080744B0 - .4byte _080744D8 - .4byte _080744B0 - .4byte _08074500 - .4byte _08074500 -_080744B0: - ldr r4, _080744D0 @ =gUnknown_83AE01C - adds r0, r5, 0 - bl GetBattlerPosition - lsls r0, 24 - lsrs r0, 22 - ldr r1, _080744D4 @ =gBattleTypeFlags - ldr r1, [r1] - movs r2, 0x1 - ands r1, r2 - lsls r1, 4 - adds r0, r1 - adds r0, r4 - ldrb r0, [r0] - b _08074588 - .align 2, 0 -_080744D0: .4byte gUnknown_83AE01C -_080744D4: .4byte gBattleTypeFlags -_080744D8: - ldr r4, _080744F8 @ =gUnknown_83AE01C - adds r0, r5, 0 - bl GetBattlerPosition - lsls r0, 24 - lsrs r0, 22 - ldr r1, _080744FC @ =gBattleTypeFlags - ldr r1, [r1] - movs r2, 0x1 - ands r1, r2 - lsls r1, 4 - adds r0, r1 - adds r0, r4 - ldrb r0, [r0, 0x1] - b _08074588 - .align 2, 0 -_080744F8: .4byte gUnknown_83AE01C -_080744FC: .4byte gBattleTypeFlags -_08074500: - adds r0, r5, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _08074538 - ldr r0, _0807452C @ =gUnknown_2024018 - ldr r0, [r0] - ldr r1, [r0] - lsls r0, r5, 2 - adds r1, r0, r1 - ldrh r0, [r1, 0x2] - cmp r0, 0 - bne _08074570 - ldr r1, _08074530 @ =gBattlerPartyIndexes - lsls r0, r5, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08074534 @ =gEnemyParty - b _08074556 - .align 2, 0 -_0807452C: .4byte gUnknown_2024018 -_08074530: .4byte gBattlerPartyIndexes -_08074534: .4byte gEnemyParty -_08074538: - ldr r0, _08074564 @ =gUnknown_2024018 - ldr r0, [r0] - ldr r1, [r0] - lsls r0, r5, 2 - adds r1, r0, r1 - ldrh r0, [r1, 0x2] - cmp r0, 0 - bne _08074570 - ldr r1, _08074568 @ =gBattlerPartyIndexes - lsls r0, r5, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0807456C @ =gPlayerParty -_08074556: - adds r0, r1 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r1, r0, 16 - b _08074572 - .align 2, 0 -_08074564: .4byte gUnknown_2024018 -_08074568: .4byte gBattlerPartyIndexes -_0807456C: .4byte gPlayerParty -_08074570: - ldrh r1, [r1, 0x2] -_08074572: - cmp r4, 0x3 - bne _0807457C - adds r0, r5, 0 - movs r2, 0x1 - b _08074580 -_0807457C: - adds r0, r5, 0 - movs r2, 0 -_08074580: - bl sub_80747AC - lsls r0, 24 - lsrs r0, 24 -_08074588: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8074480 - - thumb_func_start sub_8074590 -sub_8074590: @ 8074590 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r6, r5, 0 - lsls r1, 16 - lsrs r4, r1, 16 - adds r7, r4, 0 - adds r0, r5, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _08074674 - cmp r4, 0xC9 - bne _08074638 - ldr r0, _080745D8 @ =gUnknown_2024018 - ldr r0, [r0] - ldr r0, [r0] - lsls r1, r5, 2 - adds r0, r1, r0 - ldrh r0, [r0, 0x2] - cmp r0, 0 - bne _080745E4 - ldr r1, _080745DC @ =gBattlerPartyIndexes - lsls r0, r5, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080745E0 @ =gPlayerParty - adds r0, r1 - movs r1, 0 - bl GetMonData - adds r2, r0, 0 - b _080745EA - .align 2, 0 -_080745D8: .4byte gUnknown_2024018 -_080745DC: .4byte gBattlerPartyIndexes -_080745E0: .4byte gPlayerParty -_080745E4: - ldr r0, _08074620 @ =gUnknown_2024008 - adds r0, r1, r0 - ldr r2, [r0] -_080745EA: - movs r0, 0xC0 - lsls r0, 18 - ands r0, r2 - lsrs r0, 18 - movs r1, 0xC0 - lsls r1, 10 - ands r1, r2 - lsrs r1, 12 - orrs r0, r1 - movs r1, 0xC0 - lsls r1, 2 - ands r1, r2 - lsrs r1, 6 - orrs r0, r1 - movs r1, 0x3 - ands r1, r2 - orrs r0, r1 - movs r1, 0x1C - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - bne _08074624 - adds r0, r7, 0 - b _0807462E - .align 2, 0 -_08074620: .4byte gUnknown_2024008 -_08074624: - movs r1, 0xCE - lsls r1, 1 - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 -_0807462E: - ldr r1, _08074634 @ =gUnknown_8235E6C - lsls r0, 2 - b _0807473C - .align 2, 0 -_08074634: .4byte gUnknown_8235E6C -_08074638: - ldr r0, _0807464C @ =0x00000181 - cmp r4, r0 - bne _08074658 - ldr r0, _08074650 @ =gUnknown_83AE050 - ldr r1, _08074654 @ =gBattleMonForms - adds r1, r5, r1 - ldrb r1, [r1] - adds r1, r0 - ldrb r0, [r1] - b _08074740 - .align 2, 0 -_0807464C: .4byte 0x00000181 -_08074650: .4byte gUnknown_83AE050 -_08074654: .4byte gBattleMonForms -_08074658: - movs r0, 0xCE - lsls r0, 1 - cmp r4, r0 - bls _08074668 - ldr r0, _08074664 @ =gUnknown_8235E6C - b _0807473E - .align 2, 0 -_08074664: .4byte gUnknown_8235E6C -_08074668: - ldr r1, _08074670 @ =gUnknown_8235E6C - lsls r0, r4, 2 - b _0807473C - .align 2, 0 -_08074670: .4byte gUnknown_8235E6C -_08074674: - cmp r4, 0xC9 - bne _08074704 - ldr r0, _080746A4 @ =gUnknown_2024018 - ldr r0, [r0] - ldr r0, [r0] - lsls r1, r5, 2 - adds r0, r1, r0 - ldrh r0, [r0, 0x2] - cmp r0, 0 - bne _080746B0 - ldr r1, _080746A8 @ =gBattlerPartyIndexes - lsls r0, r5, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080746AC @ =gEnemyParty - adds r0, r1 - movs r1, 0 - bl GetMonData - adds r2, r0, 0 - b _080746B6 - .align 2, 0 -_080746A4: .4byte gUnknown_2024018 -_080746A8: .4byte gBattlerPartyIndexes -_080746AC: .4byte gEnemyParty -_080746B0: - ldr r0, _080746EC @ =gUnknown_2024008 - adds r0, r1, r0 - ldr r2, [r0] -_080746B6: - movs r0, 0xC0 - lsls r0, 18 - ands r0, r2 - lsrs r0, 18 - movs r1, 0xC0 - lsls r1, 10 - ands r1, r2 - lsrs r1, 12 - orrs r0, r1 - movs r1, 0xC0 - lsls r1, 2 - ands r1, r2 - lsrs r1, 6 - orrs r0, r1 - movs r1, 0x3 - ands r1, r2 - orrs r0, r1 - movs r1, 0x1C - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - bne _080746F0 - adds r0, r7, 0 - b _080746FA - .align 2, 0 -_080746EC: .4byte gUnknown_2024008 -_080746F0: - movs r1, 0xCE - lsls r1, 1 - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 -_080746FA: - ldr r1, _08074700 @ =gUnknown_82349CC - lsls r0, 2 - b _0807473C - .align 2, 0 -_08074700: .4byte gUnknown_82349CC -_08074704: - ldr r0, _0807471C @ =0x00000181 - cmp r4, r0 - bne _08074728 - ldr r0, _08074720 @ =gUnknown_83AE03C - ldr r1, _08074724 @ =gBattleMonForms - adds r1, r6, r1 - ldrb r1, [r1] - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0x1] - b _08074740 - .align 2, 0 -_0807471C: .4byte 0x00000181 -_08074720: .4byte gUnknown_83AE03C -_08074724: .4byte gBattleMonForms -_08074728: - movs r0, 0xCE - lsls r0, 1 - cmp r4, r0 - bls _08074738 - ldr r0, _08074734 @ =gUnknown_82349CC - b _0807473E - .align 2, 0 -_08074734: .4byte gUnknown_82349CC -_08074738: - ldr r1, _08074748 @ =gUnknown_82349CC - lsls r0, r7, 2 -_0807473C: - adds r0, r1 -_0807473E: - ldrb r0, [r0, 0x1] -_08074740: - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08074748: .4byte gUnknown_82349CC - thumb_func_end sub_8074590 - - thumb_func_start sub_807474C -sub_807474C: @ 807474C - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 16 - lsrs r4, r1, 16 - adds r7, r4, 0 - movs r5, 0 - adds r0, r6, 0 - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0807479E - ldr r0, _0807477C @ =0x00000181 - cmp r4, r0 - bne _08074788 - ldr r0, _08074780 @ =gUnknown_83AE04C - ldr r1, _08074784 @ =gBattleMonForms - adds r1, r6, r1 - ldrb r1, [r1] - adds r1, r0 - ldrb r5, [r1] - b _0807479E - .align 2, 0 -_0807477C: .4byte 0x00000181 -_08074780: .4byte gUnknown_83AE04C -_08074784: .4byte gBattleMonForms -_08074788: - movs r0, 0xCE - lsls r0, 1 - cmp r4, r0 - bls _08074798 - ldr r0, _08074794 @ =gUnknown_823A004 - b _0807479C - .align 2, 0 -_08074794: .4byte gUnknown_823A004 -_08074798: - ldr r0, _080747A8 @ =gUnknown_823A004 - adds r0, r7, r0 -_0807479C: - ldrb r5, [r0] -_0807479E: - adds r0, r5, 0 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080747A8: .4byte gUnknown_823A004 - thumb_func_end sub_807474C - - thumb_func_start sub_80747AC -sub_80747AC: @ 80747AC - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 16 - lsrs r4, r1, 16 - lsls r2, 24 - lsrs r7, r2, 24 - adds r0, r6, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080747D4 - adds r0, r6, 0 - adds r1, r4, 0 - bl sub_8074590 - lsls r0, 24 - lsrs r5, r0, 24 - b _080747F2 -_080747D4: - adds r0, r6, 0 - adds r1, r4, 0 - bl sub_8074590 - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r6, 0 - adds r1, r4, 0 - bl sub_807474C - lsls r0, 24 - lsrs r0, 24 - subs r0, r5, r0 - lsls r0, 16 - lsrs r5, r0, 16 -_080747F2: - adds r0, r6, 0 - bl GetBattlerPosition - ldr r3, _0807483C @ =gUnknown_83AE01C - lsls r0, 24 - lsrs r0, 22 - ldr r1, _08074840 @ =gBattleTypeFlags - ldr r1, [r1] - movs r2, 0x1 - ands r1, r2 - lsls r1, 4 - adds r0, r1 - adds r0, r3 - ldrb r0, [r0, 0x1] - adds r0, r5 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r7, 0 - beq _08074832 - adds r0, r6, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _0807482C - adds r0, r4, 0 - adds r0, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 -_0807482C: - cmp r4, 0x68 - bls _08074832 - movs r4, 0x68 -_08074832: - adds r0, r4, 0 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0807483C: .4byte gUnknown_83AE01C -_08074840: .4byte gBattleTypeFlags - thumb_func_end sub_80747AC - - thumb_func_start sub_8074844 -sub_8074844: @ 8074844 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r1, 24 - lsrs r3, r1, 24 - movs r0, 0xFD - lsls r0, 24 - adds r1, r0 - lsrs r1, 24 - cmp r1, 0x1 - bhi _08074896 - ldr r0, _08074874 @ =gUnknown_2024018 - ldr r0, [r0] - ldr r1, [r0] - lsls r0, r2, 2 - adds r1, r0, r1 - ldrh r0, [r1, 0x2] - cmp r0, 0 - bne _0807487C - ldr r1, _08074878 @ =gUnknown_2037F1C - lsls r0, r2, 1 - adds r0, r1 - ldrh r1, [r0] - b _0807487E - .align 2, 0 -_08074874: .4byte gUnknown_2024018 -_08074878: .4byte gUnknown_2037F1C -_0807487C: - ldrh r1, [r1, 0x2] -_0807487E: - cmp r3, 0x3 - bne _0807488C - adds r0, r2, 0 - movs r2, 0x1 - bl sub_80747AC - b _0807489E -_0807488C: - adds r0, r2, 0 - movs r2, 0 - bl sub_80747AC - b _0807489E -_08074896: - adds r0, r2, 0 - adds r1, r3, 0 - bl sub_8074480 -_0807489E: - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_8074844 - - thumb_func_start GetBankSpriteDefault_Y -GetBankSpriteDefault_Y: @ 80748A8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x4 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end GetBankSpriteDefault_Y - - thumb_func_start GetSubstituteSpriteDefault_Y -GetSubstituteSpriteDefault_Y: @ 80748BC - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080748E0 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 8 - movs r1, 0x80 - lsls r1, 13 - b _080748F0 -_080748E0: - adds r0, r4, 0 - movs r1, 0x1 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 8 - movs r1, 0x88 - lsls r1, 13 -_080748F0: - adds r0, r1 - lsrs r0, 16 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - thumb_func_end GetSubstituteSpriteDefault_Y - - thumb_func_start sub_8074900 -sub_8074900: @ 8074900 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0807491A - adds r0, r4, 0 - movs r1, 0x1 - b _0807491E -_0807491A: - adds r0, r4, 0 - movs r1, 0x4 -_0807491E: - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8074900 - - thumb_func_start sub_807492C -sub_807492C: @ 807492C - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r5, 0 - movs r1, 0x1 - bl sub_8074480 - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r5, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _08074978 - ldr r0, _0807496C @ =gUnknown_2024018 - ldr r0, [r0] - ldr r1, [r0] - lsls r0, r5, 2 - adds r1, r0, r1 - ldrh r0, [r1, 0x2] - cmp r0, 0 - bne _080749B0 - ldr r1, _08074970 @ =gBattlerPartyIndexes - lsls r0, r5, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08074974 @ =gEnemyParty - b _08074996 - .align 2, 0 -_0807496C: .4byte gUnknown_2024018 -_08074970: .4byte gBattlerPartyIndexes -_08074974: .4byte gEnemyParty -_08074978: - ldr r0, _080749A4 @ =gUnknown_2024018 - ldr r0, [r0] - ldr r1, [r0] - lsls r0, r5, 2 - adds r1, r0, r1 - ldrh r0, [r1, 0x2] - cmp r0, 0 - bne _080749B0 - ldr r1, _080749A8 @ =gBattlerPartyIndexes - lsls r0, r5, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080749AC @ =gPlayerParty -_08074996: - adds r0, r1 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r4, r0, 16 - b _080749B2 - .align 2, 0 -_080749A4: .4byte gUnknown_2024018 -_080749A8: .4byte gBattlerPartyIndexes -_080749AC: .4byte gPlayerParty -_080749B0: - ldrh r4, [r1, 0x2] -_080749B2: - adds r0, r5, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080749CC - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_807474C - subs r0, r6, r0 - lsls r0, 24 - lsrs r6, r0, 24 -_080749CC: - adds r0, r6, 0 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_807492C - - thumb_func_start GetAnimBankSpriteId -GetAnimBankSpriteId: @ 80749D4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0 - bne _080749FC - ldr r4, _080749F4 @ =gBattleAnimAttacker - ldrb r0, [r4] - bl sub_8075224 - lsls r0, 24 - cmp r0, 0 - beq _08074A4A - ldr r1, _080749F8 @ =gBattlerSpriteIds - ldrb r0, [r4] - b _08074A5A - .align 2, 0 -_080749F4: .4byte gBattleAnimAttacker -_080749F8: .4byte gBattlerSpriteIds -_080749FC: - cmp r0, 0x1 - bne _08074A1C - ldr r4, _08074A14 @ =gBattleAnimTarget - ldrb r0, [r4] - bl sub_8075224 - lsls r0, 24 - cmp r0, 0 - beq _08074A4A - ldr r1, _08074A18 @ =gBattlerSpriteIds - ldrb r0, [r4] - b _08074A5A - .align 2, 0 -_08074A14: .4byte gBattleAnimTarget -_08074A18: .4byte gBattlerSpriteIds -_08074A1C: - cmp r1, 0x2 - bne _08074A38 - ldr r5, _08074A34 @ =gBattleAnimAttacker - ldrb r0, [r5] - movs r4, 0x2 - eors r0, r4 - bl sub_8072DF0 - lsls r0, 24 - cmp r0, 0 - beq _08074A4A - b _08074A54 - .align 2, 0 -_08074A34: .4byte gBattleAnimAttacker -_08074A38: - ldr r5, _08074A50 @ =gBattleAnimTarget - ldrb r0, [r5] - movs r4, 0x2 - eors r0, r4 - bl sub_8072DF0 - lsls r0, 24 - cmp r0, 0 - bne _08074A54 -_08074A4A: - movs r0, 0xFF - b _08074A5E - .align 2, 0 -_08074A50: .4byte gBattleAnimTarget -_08074A54: - ldr r1, _08074A64 @ =gBattlerSpriteIds - ldrb r0, [r5] - eors r0, r4 -_08074A5A: - adds r0, r1 - ldrb r0, [r0] -_08074A5E: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08074A64: .4byte gBattlerSpriteIds - thumb_func_end GetAnimBankSpriteId - - thumb_func_start StoreSpriteCallbackInData6 -StoreSpriteCallbackInData6: @ 8074A68 - strh r1, [r0, 0x3A] - lsrs r1, 16 - strh r1, [r0, 0x3C] - bx lr - thumb_func_end StoreSpriteCallbackInData6 - - thumb_func_start SetCallbackToStoredInData -SetCallbackToStoredInData: @ 8074A70 - ldrh r2, [r0, 0x3A] - movs r3, 0x3C - ldrsh r1, [r0, r3] - lsls r1, 16 - orrs r2, r1 - str r2, [r0, 0x1C] - bx lr - thumb_func_end SetCallbackToStoredInData - - thumb_func_start sub_8074A80 -sub_8074A80: @ 8074A80 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _08074AD4 - movs r2, 0x2E - ldrsh r0, [r4, r2] - movs r2, 0x30 - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r4, 0x24] - movs r1, 0x2E - ldrsh r0, [r4, r1] - movs r2, 0x30 - ldrsh r1, [r4, r2] - bl Cos - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - ldrh r2, [r4, 0x2E] - adds r1, r0, r2 - strh r1, [r4, 0x2E] - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0xFF - ble _08074AC0 - ldr r2, _08074ABC @ =0xffffff00 - b _08074AC8 - .align 2, 0 -_08074ABC: .4byte 0xffffff00 -_08074AC0: - cmp r0, 0 - bge _08074ACC - movs r2, 0x80 - lsls r2, 1 -_08074AC8: - adds r0, r1, r2 - strh r0, [r4, 0x2E] -_08074ACC: - ldrh r0, [r4, 0x34] - subs r0, 0x1 - strh r0, [r4, 0x34] - b _08074ADA -_08074AD4: - adds r0, r4, 0 - bl SetCallbackToStoredInData -_08074ADA: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8074A80 - - thumb_func_start sub_8074AE0 -sub_8074AE0: @ 8074AE0 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _08074B50 - movs r2, 0x2E - ldrsh r0, [r4, r2] - ldrh r1, [r4, 0x38] - lsls r1, 16 - asrs r1, 24 - ldrh r2, [r4, 0x30] - adds r1, r2 - lsls r1, 16 - asrs r1, 16 - bl Sin - strh r0, [r4, 0x24] - movs r1, 0x2E - ldrsh r0, [r4, r1] - ldrh r1, [r4, 0x38] - lsls r1, 16 - asrs r1, 24 - ldrh r2, [r4, 0x30] - adds r1, r2 - lsls r1, 16 - asrs r1, 16 - bl Cos - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - ldrh r2, [r4, 0x2E] - adds r1, r0, r2 - strh r1, [r4, 0x2E] - ldrh r0, [r4, 0x36] - ldrh r2, [r4, 0x38] - adds r0, r2 - strh r0, [r4, 0x38] - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0xFF - ble _08074B3C - ldr r2, _08074B38 @ =0xffffff00 - b _08074B44 - .align 2, 0 -_08074B38: .4byte 0xffffff00 -_08074B3C: - cmp r0, 0 - bge _08074B48 - movs r2, 0x80 - lsls r2, 1 -_08074B44: - adds r0, r1, r2 - strh r0, [r4, 0x2E] -_08074B48: - ldrh r0, [r4, 0x34] - subs r0, 0x1 - strh r0, [r4, 0x34] - b _08074B56 -_08074B50: - adds r0, r4, 0 - bl SetCallbackToStoredInData -_08074B56: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8074AE0 - - thumb_func_start sub_8074B5C -sub_8074B5C: @ 8074B5C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _08074BD8 - movs r2, 0x2E - ldrsh r0, [r4, r2] - movs r2, 0x30 - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r4, 0x24] - movs r1, 0x36 - ldrsh r0, [r4, r1] - movs r2, 0x30 - ldrsh r1, [r4, r2] - bl Cos - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - ldrh r2, [r4, 0x2E] - adds r1, r0, r2 - strh r1, [r4, 0x2E] - ldrh r0, [r4, 0x38] - ldrh r2, [r4, 0x36] - adds r0, r2 - strh r0, [r4, 0x36] - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0xFF - ble _08074BA4 - ldr r2, _08074BA0 @ =0xffffff00 - b _08074BAC - .align 2, 0 -_08074BA0: .4byte 0xffffff00 -_08074BA4: - cmp r0, 0 - bge _08074BB0 - movs r2, 0x80 - lsls r2, 1 -_08074BAC: - adds r0, r1, r2 - strh r0, [r4, 0x2E] -_08074BB0: - ldrh r1, [r4, 0x36] - movs r2, 0x36 - ldrsh r0, [r4, r2] - cmp r0, 0xFF - ble _08074BC4 - ldr r2, _08074BC0 @ =0xffffff00 - b _08074BCC - .align 2, 0 -_08074BC0: .4byte 0xffffff00 -_08074BC4: - cmp r0, 0 - bge _08074BD0 - movs r2, 0x80 - lsls r2, 1 -_08074BCC: - adds r0, r1, r2 - strh r0, [r4, 0x36] -_08074BD0: - ldrh r0, [r4, 0x34] - subs r0, 0x1 - strh r0, [r4, 0x34] - b _08074BDE -_08074BD8: - adds r0, r4, 0 - bl SetCallbackToStoredInData -_08074BDE: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8074B5C - - thumb_func_start sub_8074BE4 -sub_8074BE4: @ 8074BE4 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _08074C38 - movs r2, 0x2E - ldrsh r0, [r4, r2] - movs r2, 0x30 - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r4, 0x24] - movs r1, 0x2E - ldrsh r0, [r4, r1] - movs r2, 0x36 - ldrsh r1, [r4, r2] - bl Cos - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - ldrh r2, [r4, 0x2E] - adds r1, r0, r2 - strh r1, [r4, 0x2E] - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0xFF - ble _08074C24 - ldr r2, _08074C20 @ =0xffffff00 - b _08074C2C - .align 2, 0 -_08074C20: .4byte 0xffffff00 -_08074C24: - cmp r0, 0 - bge _08074C30 - movs r2, 0x80 - lsls r2, 1 -_08074C2C: - adds r0, r1, r2 - strh r0, [r4, 0x2E] -_08074C30: - ldrh r0, [r4, 0x34] - subs r0, 0x1 - strh r0, [r4, 0x34] - b _08074C3E -_08074C38: - adds r0, r4, 0 - bl SetCallbackToStoredInData -_08074C3E: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8074BE4 - - thumb_func_start sub_8074C44 -sub_8074C44: @ 8074C44 - push {lr} - adds r1, r0, 0 - ldrh r2, [r1, 0x2E] - movs r3, 0x2E - ldrsh r0, [r1, r3] - cmp r0, 0 - ble _08074C58 - subs r0, r2, 0x1 - strh r0, [r1, 0x2E] - b _08074C5E -_08074C58: - adds r0, r1, 0 - bl SetCallbackToStoredInData -_08074C5E: - pop {r0} - bx r0 - thumb_func_end sub_8074C44 - - thumb_func_start sub_8074C64 -sub_8074C64: @ 8074C64 - push {r4,lr} - adds r4, r0, 0 - bl sub_8074C80 - ldr r1, _08074C7C @ =sub_8074CD0 - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08074C7C: .4byte sub_8074CD0 - thumb_func_end sub_8074C64 - - thumb_func_start sub_8074C80 -sub_8074C80: @ 8074C80 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x30 - ldrsh r1, [r4, r0] - movs r2, 0x32 - ldrsh r0, [r4, r2] - cmp r1, r0 - ble _08074C96 - ldrh r0, [r4, 0x2E] - negs r0, r0 - strh r0, [r4, 0x2E] -_08074C96: - movs r1, 0x32 - ldrsh r0, [r4, r1] - movs r2, 0x30 - ldrsh r1, [r4, r2] - subs r0, r1 - ldrh r5, [r4, 0x2E] - movs r2, 0x2E - ldrsh r1, [r4, r2] - bl __divsi3 - cmp r0, 0 - bge _08074CB0 - negs r0, r0 -_08074CB0: - strh r0, [r4, 0x2E] - movs r1, 0x36 - ldrsh r0, [r4, r1] - movs r2, 0x34 - ldrsh r1, [r4, r2] - subs r0, r1 - movs r2, 0x2E - ldrsh r1, [r4, r2] - bl __divsi3 - strh r0, [r4, 0x32] - strh r5, [r4, 0x30] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8074C80 - - thumb_func_start sub_8074CD0 -sub_8074CD0: @ 8074CD0 - push {lr} - adds r1, r0, 0 - ldrh r2, [r1, 0x2E] - movs r3, 0x2E - ldrsh r0, [r1, r3] - cmp r0, 0 - ble _08074CF4 - subs r0, r2, 0x1 - strh r0, [r1, 0x2E] - ldrh r0, [r1, 0x30] - ldrh r2, [r1, 0x24] - adds r0, r2 - strh r0, [r1, 0x24] - ldrh r0, [r1, 0x32] - ldrh r3, [r1, 0x26] - adds r0, r3 - strh r0, [r1, 0x26] - b _08074CFA -_08074CF4: - adds r0, r1, 0 - bl SetCallbackToStoredInData -_08074CFA: - pop {r0} - bx r0 - thumb_func_end sub_8074CD0 - - thumb_func_start sub_8074D00 -sub_8074D00: @ 8074D00 - push {lr} - adds r2, r0, 0 - ldrh r1, [r2, 0x2E] - movs r3, 0x2E - ldrsh r0, [r2, r3] - cmp r0, 0 - ble _08074D30 - subs r0, r1, 0x1 - strh r0, [r2, 0x2E] - ldrh r0, [r2, 0x30] - ldrh r1, [r2, 0x34] - adds r0, r1 - strh r0, [r2, 0x34] - ldrh r1, [r2, 0x32] - ldrh r3, [r2, 0x36] - adds r1, r3 - strh r1, [r2, 0x36] - lsls r0, 16 - asrs r0, 24 - strh r0, [r2, 0x24] - lsls r1, 16 - asrs r1, 24 - strh r1, [r2, 0x26] - b _08074D36 -_08074D30: - adds r0, r2, 0 - bl SetCallbackToStoredInData -_08074D36: - pop {r0} - bx r0 - thumb_func_end sub_8074D00 - - thumb_func_start sub_8074D3C -sub_8074D3C: @ 8074D3C - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x2E] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0 - ble _08074D6C - subs r0, r1, 0x1 - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x30] - ldrh r1, [r4, 0x34] - adds r0, r1 - strh r0, [r4, 0x34] - ldrh r1, [r4, 0x32] - ldrh r2, [r4, 0x36] - adds r1, r2 - strh r1, [r4, 0x36] - lsls r0, 16 - asrs r0, 24 - strh r0, [r4, 0x24] - lsls r1, 16 - asrs r1, 24 - strh r1, [r4, 0x26] - b _08074D72 -_08074D6C: - adds r0, r4, 0 - bl SetCallbackToStoredInData -_08074D72: - adds r0, r4, 0 - bl UpdateMonIconFrame - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8074D3C - - thumb_func_start sub_8074D80 -sub_8074D80: @ 8074D80 - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x24] - ldrh r1, [r4, 0x20] - adds r0, r1 - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x26] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x34] - ldr r5, _08074DBC @ =gBattleAnimTarget - ldrb r0, [r5] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x32] - ldrb r0, [r5] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x36] - ldr r0, _08074DC0 @ =sub_8074C64 - str r0, [r4, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08074DBC: .4byte gBattleAnimTarget -_08074DC0: .4byte sub_8074C64 - thumb_func_end sub_8074D80 - - thumb_func_start sub_8074DC4 -sub_8074DC4: @ 8074DC4 - push {r4,lr} - adds r3, r0, 0 - ldrh r1, [r3, 0x2E] - movs r2, 0x2E - ldrsh r0, [r3, r2] - cmp r0, 0 - ble _08074E08 - subs r0, r1, 0x1 - strh r0, [r3, 0x2E] - ldr r2, _08074E04 @ =gSprites - movs r4, 0x34 - ldrsh r1, [r3, r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r3, 0x30] - ldrh r4, [r0, 0x24] - adds r1, r4 - strh r1, [r0, 0x24] - movs r0, 0x34 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r3, 0x32] - ldrh r2, [r0, 0x26] - adds r1, r2 - strh r1, [r0, 0x26] - b _08074E0E - .align 2, 0 -_08074E04: .4byte gSprites -_08074E08: - adds r0, r3, 0 - bl SetCallbackToStoredInData -_08074E0E: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8074DC4 - - thumb_func_start sub_8074E14 -sub_8074E14: @ 8074E14 - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x2E] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0 - ble _08074E64 - subs r0, r1, 0x1 - strh r0, [r4, 0x2E] - ldrh r1, [r4, 0x30] - ldrh r0, [r4, 0x34] - adds r1, r0 - strh r1, [r4, 0x34] - ldrh r0, [r4, 0x32] - ldrh r2, [r4, 0x36] - adds r0, r2 - strh r0, [r4, 0x36] - ldr r3, _08074E60 @ =gSprites - movs r0, 0x38 - ldrsh r2, [r4, r0] - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r3 - lsls r1, 16 - asrs r1, 24 - strh r1, [r0, 0x24] - movs r1, 0x38 - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrh r0, [r4, 0x36] - lsls r0, 16 - asrs r0, 24 - strh r0, [r1, 0x26] - b _08074E6A - .align 2, 0 -_08074E60: .4byte gSprites -_08074E64: - adds r0, r4, 0 - bl SetCallbackToStoredInData -_08074E6A: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8074E14 - - thumb_func_start sub_8074E70 -sub_8074E70: @ 8074E70 - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x2E] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0 - ble _08074ED2 - subs r0, r1, 0x1 - strh r0, [r4, 0x2E] - ldrh r1, [r4, 0x32] - lsls r0, r1, 16 - asrs r0, 24 - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x30] - adds r1, r0 - strh r1, [r4, 0x32] - ldrh r1, [r4, 0x36] - lsls r0, r1, 16 - asrs r0, 24 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x34] - adds r1, r0 - strh r1, [r4, 0x36] - movs r1, 0x2E - ldrsh r0, [r4, r1] - movs r2, 0x38 - ldrsh r1, [r4, r2] - bl __modsi3 - cmp r0, 0 - bne _08074ED8 - movs r1, 0x38 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _08074ED8 - adds r3, r4, 0 - adds r3, 0x3E - ldrb r2, [r3] - lsls r0, r2, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - b _08074ED8 -_08074ED2: - adds r0, r4, 0 - bl SetCallbackToStoredInData -_08074ED8: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8074E70 - - thumb_func_start move_anim_8074EE0 -move_anim_8074EE0: @ 8074EE0 - push {r4,lr} - adds r4, r0, 0 - bl FreeSpriteOamMatrix - adds r0, r4, 0 - bl DestroyAnimSprite - pop {r4} - pop {r0} - bx r0 - thumb_func_end move_anim_8074EE0 - - thumb_func_start sub_8074EF4 -sub_8074EF4: @ 8074EF4 - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x24] - ldrh r1, [r4, 0x20] - adds r0, r1 - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x26] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x34] - ldr r5, _08074F30 @ =gBattleAnimAttacker - ldrb r0, [r5] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x32] - ldrb r0, [r5] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x36] - ldr r0, _08074F34 @ =sub_8074C64 - str r0, [r4, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08074F30: .4byte gBattleAnimAttacker -_08074F34: .4byte sub_8074C64 - thumb_func_end sub_8074EF4 - - thumb_func_start sub_8074F38 -sub_8074F38: @ 8074F38 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x38] - bl ResetPaletteStructByUid - adds r0, r4, 0 - bl move_anim_8074EE0 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8074F38 - - thumb_func_start sub_8074F50 -sub_8074F50: @ 8074F50 - push {lr} - adds r2, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _08074F66 - adds r0, r2, 0 - bl SetCallbackToStoredInData -_08074F66: - pop {r0} - bx r0 - thumb_func_end sub_8074F50 - - thumb_func_start sub_8074F6C -sub_8074F6C: @ 8074F6C - push {lr} - adds r2, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08074F82 - adds r0, r2, 0 - bl SetCallbackToStoredInData -_08074F82: - pop {r0} - bx r0 - thumb_func_end sub_8074F6C - - thumb_func_start sub_8074F88 -sub_8074F88: @ 8074F88 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - adds r0, r4, 0 - bl DestroyAnimSprite - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8074F88 - - thumb_func_start sub_8074FA8 -sub_8074FA8: @ 8074FA8 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - adds r0, r4, 0 - bl DestroyAnimVisualTask - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8074FA8 - - thumb_func_start sub_8074FCC -sub_8074FCC: @ 8074FCC - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, _08074FF4 @ =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08074FF4: .4byte gBattleAnimAttacker - thumb_func_end sub_8074FCC - - thumb_func_start sub_8074FF8 -sub_8074FF8: @ 8074FF8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r0, 0 - lsls r1, 16 - lsrs r5, r1, 16 - mov r8, r5 - ldr r7, _08075030 @ =gBattleAnimAttacker - ldrb r0, [r7] - movs r1, 0 - bl sub_8074480 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, _08075034 @ =gBattleAnimTarget - ldrb r0, [r0] - movs r1, 0 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - cmp r6, r0 - bhi _08075044 - cmp r6, r0 - bcs _08075038 - lsls r0, r5, 16 - b _08075054 - .align 2, 0 -_08075030: .4byte gBattleAnimAttacker -_08075034: .4byte gBattleAnimTarget -_08075038: - ldrb r0, [r7] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _08075050 -_08075044: - ldrh r1, [r4, 0x20] - lsls r0, r5, 16 - asrs r0, 16 - subs r1, r0 - strh r1, [r4, 0x20] - b _0807505C -_08075050: - mov r1, r8 - lsls r0, r1, 16 -_08075054: - asrs r0, 16 - ldrh r1, [r4, 0x20] - adds r0, r1 - strh r0, [r4, 0x20] -_0807505C: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8074FF8 - - thumb_func_start sub_8075068 -sub_8075068: @ 8075068 - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x20] - movs r5, 0 - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x22] - strh r0, [r4, 0x34] - adds r0, r4, 0 - bl obj_translate_based_on_private_1_2_3_4 - movs r0, 0x2E - ldrsh r1, [r4, r0] - movs r0, 0x80 - lsls r0, 8 - bl __divsi3 - strh r0, [r4, 0x3A] - strh r5, [r4, 0x3C] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8075068 - - thumb_func_start AnimateBallThrow -AnimateBallThrow: @ 8075094 - push {r4,lr} - adds r4, r0, 0 - bl sub_80755E0 - lsls r0, 24 - cmp r0, 0 - bne _080750C0 - ldrh r0, [r4, 0x3A] - ldrh r1, [r4, 0x3C] - adds r0, r1 - strh r0, [r4, 0x3C] - lsls r0, 16 - lsrs r0, 24 - movs r2, 0x38 - ldrsh r1, [r4, r2] - bl Sin - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - movs r0, 0 - b _080750C2 -_080750C0: - movs r0, 0x1 -_080750C2: - pop {r4} - pop {r1} - bx r1 - thumb_func_end AnimateBallThrow - - thumb_func_start sub_80750C8 -sub_80750C8: @ 80750C8 - push {r4,lr} - adds r4, r0, 0 - bl sub_80755E0 - lsls r0, 24 - cmp r0, 0 - bne _080750F4 - ldrh r0, [r4, 0x3A] - ldrh r1, [r4, 0x3C] - adds r0, r1 - strh r0, [r4, 0x3C] - lsls r0, 16 - lsrs r0, 24 - movs r2, 0x38 - ldrsh r1, [r4, r2] - bl Sin - ldrh r1, [r4, 0x24] - adds r0, r1 - strh r0, [r4, 0x24] - movs r0, 0 - b _080750F6 -_080750F4: - movs r0, 0x1 -_080750F6: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80750C8 - - thumb_func_start oamt_add_pos2_onto_pos1 -oamt_add_pos2_onto_pos1: @ 80750FC - ldrh r1, [r0, 0x24] - ldrh r2, [r0, 0x20] - adds r1, r2 - movs r2, 0 - strh r1, [r0, 0x20] - ldrh r1, [r0, 0x26] - ldrh r3, [r0, 0x22] - adds r1, r3 - strh r1, [r0, 0x22] - strh r2, [r0, 0x24] - strh r2, [r0, 0x26] - bx lr - thumb_func_end oamt_add_pos2_onto_pos1 - - thumb_func_start sub_8075114 -sub_8075114: @ 8075114 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r1, 24 - cmp r1, 0 - bne _0807513C - ldr r4, _08075158 @ =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0 - bl sub_8074844 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8074844 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] -_0807513C: - ldr r4, _0807515C @ =gBattleAnimArgs - movs r0, 0 - ldrsh r1, [r4, r0] - adds r0, r5, 0 - bl sub_8074FF8 - ldrh r0, [r4, 0x2] - ldrh r1, [r5, 0x22] - adds r0, r1 - strh r0, [r5, 0x22] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08075158: .4byte gBattleAnimTarget -_0807515C: .4byte gBattleAnimArgs - thumb_func_end sub_8075114 - - thumb_func_start sub_8075160 -sub_8075160: @ 8075160 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r1, 24 - cmp r1, 0 - bne _08075184 - ldr r4, _08075180 @ =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0 - bl sub_8074844 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x1 - b _08075198 - .align 2, 0 -_08075180: .4byte gBattleAnimAttacker -_08075184: - ldr r4, _080751BC @ =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074844 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 -_08075198: - bl sub_8074844 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - ldr r4, _080751C0 @ =gBattleAnimArgs - movs r0, 0 - ldrsh r1, [r4, r0] - adds r0, r5, 0 - bl sub_8074FF8 - ldrh r0, [r4, 0x2] - ldrh r1, [r5, 0x22] - adds r0, r1 - strh r0, [r5, 0x22] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080751BC: .4byte gBattleAnimAttacker -_080751C0: .4byte gBattleAnimArgs - thumb_func_end sub_8075160 - - thumb_func_start GetBattlerSide -GetBattlerSide: @ 80751C4 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080751D4 @ =gUnknown_2023BD6 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - bx lr - .align 2, 0 -_080751D4: .4byte gUnknown_2023BD6 - thumb_func_end GetBattlerSide - - thumb_func_start GetBattlerPosition -GetBattlerPosition: @ 80751D8 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080751E4 @ =gUnknown_2023BD6 - adds r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_080751E4: .4byte gUnknown_2023BD6 - thumb_func_end GetBattlerPosition - - thumb_func_start GetBattlerAtPosition -GetBattlerAtPosition: @ 80751E8 - push {r4,lr} - lsls r0, 24 - lsrs r3, r0, 24 - movs r1, 0 - ldr r0, _0807521C @ =gBattlersCount - ldrb r2, [r0] - cmp r1, r2 - bcs _08075212 - ldr r4, _08075220 @ =gUnknown_2023BD6 - ldrb r0, [r4] - cmp r0, r3 - beq _08075212 -_08075200: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, r2 - bcs _08075212 - adds r0, r1, r4 - ldrb r0, [r0] - cmp r0, r3 - bne _08075200 -_08075212: - adds r0, r1, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0807521C: .4byte gBattlersCount -_08075220: .4byte gUnknown_2023BD6 - thumb_func_end GetBattlerAtPosition - - thumb_func_start sub_8075224 -sub_8075224: @ 8075224 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - ldr r0, _08075254 @ =gUnknown_2023BD6 - adds r0, r4, r0 - ldrb r0, [r0] - cmp r0, 0xFF - beq _08075288 - adds r0, r4, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _08075260 - ldr r1, _08075258 @ =gBattlerPartyIndexes - lsls r0, r4, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0807525C @ =gEnemyParty - b _0807526E - .align 2, 0 -_08075254: .4byte gUnknown_2023BD6 -_08075258: .4byte gBattlerPartyIndexes -_0807525C: .4byte gEnemyParty -_08075260: - ldr r1, _08075280 @ =gBattlerPartyIndexes - lsls r0, r5, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08075284 @ =gPlayerParty -_0807526E: - adds r0, r1 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _08075288 - movs r0, 0x1 - b _0807528A - .align 2, 0 -_08075280: .4byte gBattlerPartyIndexes -_08075284: .4byte gPlayerParty -_08075288: - movs r0, 0 -_0807528A: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8075224 - - thumb_func_start sub_8075290 -sub_8075290: @ 8075290 - ldr r0, _0807529C @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x1 - ands r0, r1 - bx lr - .align 2, 0 -_0807529C: .4byte gBattleTypeFlags - thumb_func_end sub_8075290 - - thumb_func_start sub_80752A0 -sub_80752A0: @ 80752A0 - ldr r1, _080752C0 @ =gUnknown_2022BB8 - ldr r1, [r1] - str r1, [r0] - ldr r1, _080752C4 @ =gUnknown_2022BBC - ldr r1, [r1] - str r1, [r0, 0x4] - movs r2, 0 - movs r1, 0x8 - strb r1, [r0, 0x8] - movs r1, 0x1 - strb r1, [r0, 0x9] - movs r1, 0x80 - lsls r1, 2 - strh r1, [r0, 0xA] - strh r2, [r0, 0xC] - bx lr - .align 2, 0 -_080752C0: .4byte gUnknown_2022BB8 -_080752C4: .4byte gUnknown_2022BBC - thumb_func_end sub_80752A0 - - thumb_func_start sub_80752C8 -sub_80752C8: @ 80752C8 - push {lr} - adds r2, r0, 0 - cmp r1, 0x1 - bne _080752D6 - bl sub_80752A0 - b _080752F4 -_080752D6: - ldr r0, _080752F8 @ =gUnknown_2022BB8 - ldr r0, [r0] - str r0, [r2] - ldr r0, _080752FC @ =gUnknown_2022BBC - ldr r0, [r0] - str r0, [r2, 0x4] - movs r1, 0 - movs r0, 0x9 - strb r0, [r2, 0x8] - movs r0, 0x2 - strb r0, [r2, 0x9] - movs r0, 0xC0 - lsls r0, 2 - strh r0, [r2, 0xA] - strh r1, [r2, 0xC] -_080752F4: - pop {r0} - bx r0 - .align 2, 0 -_080752F8: .4byte gUnknown_2022BB8 -_080752FC: .4byte gUnknown_2022BBC - thumb_func_end sub_80752C8 - - thumb_func_start sub_8075300 -sub_8075300: @ 8075300 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _08075334 @ =gUnknown_2022BB8 - ldr r0, [r0] - str r0, [r4] - ldr r0, _08075338 @ =gUnknown_2022BBC - ldr r0, [r0] - str r0, [r4, 0x4] - ldr r0, _0807533C @ =gBattleAnimAttacker - ldrb r0, [r0] - bl sub_80768B0 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x1 - bne _08075340 - movs r0, 0 - movs r1, 0x8 - strb r1, [r4, 0x8] - strb r2, [r4, 0x9] - movs r1, 0x80 - lsls r1, 2 - strh r1, [r4, 0xA] - strh r0, [r4, 0xC] - b _08075352 - .align 2, 0 -_08075334: .4byte gUnknown_2022BB8 -_08075338: .4byte gUnknown_2022BBC -_0807533C: .4byte gBattleAnimAttacker -_08075340: - movs r1, 0 - movs r0, 0x9 - strb r0, [r4, 0x8] - movs r0, 0x2 - strb r0, [r4, 0x9] - movs r0, 0xC0 - lsls r0, 2 - strh r0, [r4, 0xA] - strh r1, [r4, 0xC] -_08075352: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8075300 - - thumb_func_start sub_8075358 -sub_8075358: @ 8075358 - push {r4,lr} - sub sp, 0x20 - adds r4, r0, 0 - add r0, sp, 0xC - adds r1, r4, 0 - bl sub_80752C8 - movs r0, 0 - str r0, [sp, 0x1C] - add r0, sp, 0x1C - ldr r1, [sp, 0xC] - ldr r2, _080753B0 @ =0x05000800 - bl CpuSet - lsls r4, 24 - lsrs r4, 24 - ldr r1, [sp, 0xC] - movs r2, 0x80 - lsls r2, 6 - add r0, sp, 0xC - ldrh r3, [r0, 0xA] - adds r0, r4, 0 - bl LoadBgTiles - movs r0, 0x20 - str r0, [sp] - movs r0, 0x40 - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - adds r0, r4, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect - adds r0, r4, 0 - bl CopyBgTilemapBufferToVram - add sp, 0x20 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080753B0: .4byte 0x05000800 - thumb_func_end sub_8075358 - - thumb_func_start sub_80753B4 -sub_80753B4: @ 80753B4 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x4 - adds r5, r0, 0 - mov r8, r1 - adds r6, r2, 0 - movs r0, 0 - str r0, [sp] - ldr r4, _080753FC @ =gUnknown_2022BB8 - ldr r1, [r4] - ldr r2, _08075400 @ =0x05000800 - mov r0, sp - bl CpuSet - ldr r1, [r4] - mov r0, r8 - bl LZDecompressWram - lsls r5, 24 - lsrs r5, 24 - ldr r1, [r4] - movs r2, 0x80 - lsls r2, 6 - lsls r6, 16 - lsrs r6, 16 - adds r0, r5, 0 - adds r3, r6, 0 - bl LoadBgTiles - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080753FC: .4byte gUnknown_2022BB8 -_08075400: .4byte 0x05000800 - thumb_func_end sub_80753B4 - - thumb_func_start sub_8075404 -sub_8075404: @ 8075404 - push {r4,r5,lr} - sub sp, 0xC - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x20 - str r0, [sp] - movs r0, 0x40 - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - adds r0, r4, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8075404 - - thumb_func_start sub_807543C -sub_807543C: @ 807543C - push {r4,lr} - adds r4, r0, 0 - bl sub_8075404 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl CopyBgTilemapBufferToVram - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_807543C - - thumb_func_start sub_8075454 -sub_8075454: @ 8075454 - movs r0, 0x2 - bx lr - thumb_func_end sub_8075454 - - thumb_func_start sub_8075458 -sub_8075458: @ 8075458 - push {lr} - lsls r0, 24 - cmp r0, 0 - bne _08075476 - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl SetAnimBgAttribute - movs r0, 0x3 - movs r1, 0x1 - movs r2, 0x1 - bl SetAnimBgAttribute - b _0807548A -_08075476: - movs r0, 0x3 - movs r1, 0 - movs r2, 0x1 - bl SetAnimBgAttribute - movs r0, 0x3 - movs r1, 0x1 - movs r2, 0 - bl SetAnimBgAttribute -_0807548A: - pop {r0} - bx r0 - thumb_func_end sub_8075458 - - thumb_func_start sub_8075490 -sub_8075490: @ 8075490 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x20] - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x22] - strh r0, [r4, 0x34] - adds r0, r4, 0 - bl sub_80754B8 - ldr r1, _080754B4 @ =sub_8074D3C - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080754B4: .4byte sub_8074D3C - thumb_func_end sub_8075490 - - thumb_func_start sub_80754B8 -sub_80754B8: @ 80754B8 - push {r4-r6,lr} - adds r5, r0, 0 - ldrh r0, [r5, 0x32] - ldrh r1, [r5, 0x30] - subs r0, r1 - ldrh r4, [r5, 0x36] - ldrh r1, [r5, 0x34] - subs r4, r1 - lsls r4, 24 - lsrs r4, 16 - lsls r0, 24 - asrs r0, 16 - movs r2, 0x2E - ldrsh r1, [r5, r2] - bl __divsi3 - movs r6, 0 - strh r0, [r5, 0x30] - lsls r4, 16 - asrs r4, 16 - movs r0, 0x2E - ldrsh r1, [r5, r0] - adds r0, r4, 0 - bl __divsi3 - strh r0, [r5, 0x32] - strh r6, [r5, 0x36] - strh r6, [r5, 0x34] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80754B8 - - thumb_func_start obj_translate_based_on_private_1_2_3_4 -obj_translate_based_on_private_1_2_3_4: @ 80754F8 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r7, r0, 0 - movs r0, 0x32 - ldrsh r1, [r7, r0] - movs r2, 0x30 - ldrsh r0, [r7, r2] - subs r1, r0 - movs r3, 0x36 - ldrsh r2, [r7, r3] - movs r3, 0x34 - ldrsh r0, [r7, r3] - subs r2, r0 - lsrs r0, r1, 31 - mov r8, r0 - lsrs r3, r2, 31 - mov r9, r3 - cmp r1, 0 - bge _08075524 - negs r1, r1 -_08075524: - lsls r0, r1, 24 - lsrs r6, r0, 16 - adds r0, r2, 0 - cmp r0, 0 - bge _08075530 - negs r0, r0 -_08075530: - lsls r0, 24 - lsrs r5, r0, 16 - movs r0, 0x2E - ldrsh r4, [r7, r0] - adds r0, r6, 0 - adds r1, r4, 0 - bl __divsi3 - lsls r0, 16 - lsrs r6, r0, 16 - adds r0, r5, 0 - adds r1, r4, 0 - bl __divsi3 - lsls r0, 16 - lsrs r5, r0, 16 - mov r2, r8 - cmp r2, 0 - beq _0807555C - movs r0, 0x1 - orrs r6, r0 - b _08075560 -_0807555C: - ldr r0, _0807556C @ =0x0000fffe - ands r6, r0 -_08075560: - mov r3, r9 - cmp r3, 0 - beq _08075570 - movs r0, 0x1 - orrs r5, r0 - b _08075574 - .align 2, 0 -_0807556C: .4byte 0x0000fffe -_08075570: - ldr r0, _0807558C @ =0x0000fffe - ands r5, r0 -_08075574: - movs r0, 0 - strh r6, [r7, 0x30] - strh r5, [r7, 0x32] - strh r0, [r7, 0x36] - strh r0, [r7, 0x34] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0807558C: .4byte 0x0000fffe - thumb_func_end obj_translate_based_on_private_1_2_3_4 - - thumb_func_start sub_8075590 -sub_8075590: @ 8075590 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x20] - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x22] - strh r0, [r4, 0x34] - adds r0, r4, 0 - bl obj_translate_based_on_private_1_2_3_4 - ldr r1, _080755B4 @ =sub_807563C - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080755B4: .4byte sub_807563C - thumb_func_end sub_8075590 - - thumb_func_start sub_80755B8 -sub_80755B8: @ 80755B8 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x20] - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x22] - strh r0, [r4, 0x34] - adds r0, r4, 0 - bl obj_translate_based_on_private_1_2_3_4 - ldr r1, _080755DC @ =sub_8075658 - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080755DC: .4byte sub_8075658 - thumb_func_end sub_80755B8 - - thumb_func_start sub_80755E0 -sub_80755E0: @ 80755E0 - push {r4-r6,lr} - adds r2, r0, 0 - movs r1, 0x2E - ldrsh r0, [r2, r1] - cmp r0, 0 - bne _080755F0 - movs r0, 0x1 - b _08075634 -_080755F0: - ldrh r1, [r2, 0x30] - ldrh r4, [r2, 0x32] - ldrh r6, [r2, 0x34] - ldrh r5, [r2, 0x36] - adds r0, r6, r1 - lsls r3, r0, 16 - lsrs r6, r3, 16 - adds r0, r5, r4 - lsls r0, 16 - lsrs r5, r0, 16 - movs r0, 0x1 - ands r1, r0 - cmp r1, 0 - beq _08075612 - lsrs r0, r3, 24 - negs r0, r0 - b _08075614 -_08075612: - lsrs r0, r3, 24 -_08075614: - strh r0, [r2, 0x24] - movs r0, 0x1 - ands r4, r0 - cmp r4, 0 - beq _08075624 - lsrs r0, r5, 8 - negs r0, r0 - b _08075626 -_08075624: - lsrs r0, r5, 8 -_08075626: - strh r0, [r2, 0x26] - strh r6, [r2, 0x34] - strh r5, [r2, 0x36] - ldrh r0, [r2, 0x2E] - subs r0, 0x1 - strh r0, [r2, 0x2E] - movs r0, 0 -_08075634: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80755E0 - - thumb_func_start sub_807563C -sub_807563C: @ 807563C - push {r4,lr} - adds r4, r0, 0 - bl sub_80755E0 - lsls r0, 24 - cmp r0, 0 - beq _08075650 - adds r0, r4, 0 - bl SetCallbackToStoredInData -_08075650: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_807563C - - thumb_func_start sub_8075658 -sub_8075658: @ 8075658 - push {r4,lr} - adds r4, r0, 0 - bl sub_801236C - adds r0, r4, 0 - bl sub_80755E0 - lsls r0, 24 - cmp r0, 0 - beq _08075672 - adds r0, r4, 0 - bl SetCallbackToStoredInData -_08075672: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8075658 - - thumb_func_start sub_8075678 -sub_8075678: @ 8075678 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r1, [r4, r0] - movs r2, 0x30 - ldrsh r0, [r4, r2] - subs r0, r1, r0 - cmp r0, 0 - bge _0807568C - negs r0, r0 -_0807568C: - lsls r0, 8 - movs r2, 0x2E - ldrsh r1, [r4, r2] - bl __divsi3 - strh r0, [r4, 0x2E] - adds r0, r4, 0 - bl obj_translate_based_on_private_1_2_3_4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8075678 - - thumb_func_start sub_80756A4 -sub_80756A4: @ 80756A4 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x20] - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x22] - strh r0, [r4, 0x34] - adds r0, r4, 0 - bl sub_8075678 - ldr r1, _080756C8 @ =sub_807563C - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080756C8: .4byte sub_807563C - thumb_func_end sub_80756A4 - - thumb_func_start sub_80756CC -sub_80756CC: @ 80756CC - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r7, r0, 0 - movs r0, 0x32 - ldrsh r1, [r7, r0] - movs r2, 0x30 - ldrsh r0, [r7, r2] - subs r1, r0 - movs r3, 0x36 - ldrsh r2, [r7, r3] - movs r3, 0x34 - ldrsh r0, [r7, r3] - subs r2, r0 - lsrs r0, r1, 31 - mov r8, r0 - lsrs r3, r2, 31 - mov r9, r3 - cmp r1, 0 - bge _080756F8 - negs r1, r1 -_080756F8: - lsls r0, r1, 20 - lsrs r6, r0, 16 - adds r0, r2, 0 - cmp r0, 0 - bge _08075704 - negs r0, r0 -_08075704: - lsls r0, 20 - lsrs r5, r0, 16 - movs r0, 0x2E - ldrsh r4, [r7, r0] - adds r0, r6, 0 - adds r1, r4, 0 - bl __divsi3 - lsls r0, 16 - lsrs r6, r0, 16 - adds r0, r5, 0 - adds r1, r4, 0 - bl __divsi3 - lsls r0, 16 - lsrs r5, r0, 16 - mov r2, r8 - cmp r2, 0 - beq _08075730 - movs r0, 0x1 - orrs r6, r0 - b _08075734 -_08075730: - ldr r0, _08075740 @ =0x0000fffe - ands r6, r0 -_08075734: - mov r3, r9 - cmp r3, 0 - beq _08075744 - movs r0, 0x1 - orrs r5, r0 - b _08075748 - .align 2, 0 -_08075740: .4byte 0x0000fffe -_08075744: - ldr r0, _08075760 @ =0x0000fffe - ands r5, r0 -_08075748: - movs r0, 0 - strh r6, [r7, 0x30] - strh r5, [r7, 0x32] - strh r0, [r7, 0x36] - strh r0, [r7, 0x34] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08075760: .4byte 0x0000fffe - thumb_func_end sub_80756CC - - thumb_func_start sub_8075764 -sub_8075764: @ 8075764 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x20] - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x22] - strh r0, [r4, 0x34] - adds r0, r4, 0 - bl sub_80756CC - ldr r1, _08075788 @ =sub_80757E8 - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08075788: .4byte sub_80757E8 - thumb_func_end sub_8075764 - - thumb_func_start sub_807578C -sub_807578C: @ 807578C - push {r4-r6,lr} - adds r2, r0, 0 - movs r1, 0x2E - ldrsh r0, [r2, r1] - cmp r0, 0 - bne _0807579C - movs r0, 0x1 - b _080757E0 -_0807579C: - ldrh r1, [r2, 0x30] - ldrh r4, [r2, 0x32] - ldrh r6, [r2, 0x34] - ldrh r5, [r2, 0x36] - adds r0, r6, r1 - lsls r3, r0, 16 - lsrs r6, r3, 16 - adds r0, r5, r4 - lsls r0, 16 - lsrs r5, r0, 16 - movs r0, 0x1 - ands r1, r0 - cmp r1, 0 - beq _080757BE - lsrs r0, r3, 20 - negs r0, r0 - b _080757C0 -_080757BE: - lsrs r0, r3, 20 -_080757C0: - strh r0, [r2, 0x24] - movs r0, 0x1 - ands r4, r0 - cmp r4, 0 - beq _080757D0 - lsrs r0, r5, 4 - negs r0, r0 - b _080757D2 -_080757D0: - lsrs r0, r5, 4 -_080757D2: - strh r0, [r2, 0x26] - strh r6, [r2, 0x34] - strh r5, [r2, 0x36] - ldrh r0, [r2, 0x2E] - subs r0, 0x1 - strh r0, [r2, 0x2E] - movs r0, 0 -_080757E0: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_807578C - - thumb_func_start sub_80757E8 -sub_80757E8: @ 80757E8 - push {r4,lr} - adds r4, r0, 0 - bl sub_807578C - lsls r0, 24 - cmp r0, 0 - beq _080757FC - adds r0, r4, 0 - bl SetCallbackToStoredInData -_080757FC: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80757E8 - - thumb_func_start sub_8075804 -sub_8075804: @ 8075804 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r1, [r4, r0] - movs r2, 0x30 - ldrsh r0, [r4, r2] - subs r0, r1, r0 - cmp r0, 0 - bge _08075818 - negs r0, r0 -_08075818: - lsls r0, 4 - movs r2, 0x2E - ldrsh r1, [r4, r2] - bl __divsi3 - strh r0, [r4, 0x2E] - adds r0, r4, 0 - bl sub_80756CC - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8075804 - - thumb_func_start sub_8075830 -sub_8075830: @ 8075830 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x20] - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x22] - strh r0, [r4, 0x34] - adds r0, r4, 0 - bl sub_8075804 - ldr r1, _08075854 @ =sub_80757E8 - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08075854: .4byte sub_80757E8 - thumb_func_end sub_8075830 - - thumb_func_start obj_id_set_rotscale -obj_id_set_rotscale: @ 8075858 - push {r4,r5,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 16 - lsls r3, 16 - lsrs r3, 16 - ldr r5, _080758D0 @ =0xffff0000 - lsls r2, 16 - lsrs r1, 16 - orrs r1, r2 - str r1, [sp] - ldr r0, [sp, 0x4] - ands r0, r5 - orrs r0, r3 - str r0, [sp, 0x4] - bl sub_80758DC - lsls r0, 24 - cmp r0, 0 - beq _08075894 - mov r0, sp - ldrh r0, [r0] - negs r0, r0 - lsls r0, 16 - lsrs r0, 16 - ldr r1, [sp] - ands r1, r5 - orrs r1, r0 - str r1, [sp] -_08075894: - ldr r1, _080758D4 @ =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - ldrb r4, [r0, 0x3] - lsls r4, 26 - lsrs r4, 27 - add r5, sp, 0x8 - mov r0, sp - adds r1, r5, 0 - movs r2, 0x1 - movs r3, 0x2 - bl ObjAffineSet - ldr r0, _080758D8 @ =gOamMatrices - lsls r4, 3 - adds r4, r0 - ldrh r0, [r5] - strh r0, [r4] - ldrh r0, [r5, 0x2] - strh r0, [r4, 0x2] - ldrh r0, [r5, 0x4] - strh r0, [r4, 0x4] - ldrh r0, [r5, 0x6] - strh r0, [r4, 0x6] - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080758D0: .4byte 0xffff0000 -_080758D4: .4byte gSprites -_080758D8: .4byte gOamMatrices - thumb_func_end obj_id_set_rotscale - - thumb_func_start sub_80758DC -sub_80758DC: @ 80758DC - movs r0, 0 - bx lr - thumb_func_end sub_80758DC - - thumb_func_start sub_80758E0 -sub_80758E0: @ 80758E0 - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - ldr r2, _08075978 @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r4, r1, r2 - ldrh r0, [r4, 0x2E] - lsls r0, 24 - lsrs r0, 24 - adds r6, r0, 0 - bl sub_8072DF0 - lsls r0, 24 - cmp r0, 0 - beq _08075914 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] -_08075914: - movs r7, 0x3 - ands r5, r7 - lsls r2, r5, 2 - ldrb r1, [r4, 0x1] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, 0x1] - adds r2, r4, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - ldrb r0, [r4, 0x1] - lsls r0, 30 - cmp r0, 0 - bne _0807595C - ldr r0, _0807597C @ =gUnknown_2024018 - ldr r0, [r0] - ldr r1, [r0, 0x4] - lsls r0, r6, 1 - adds r0, r6 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x6] - movs r0, 0x1F - ands r1, r0 - lsls r1, 1 - ldrb r2, [r4, 0x3] - movs r0, 0x3F - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x3] -_0807595C: - ldrb r3, [r4, 0x1] - orrs r3, r7 - strb r3, [r4, 0x1] - lsrs r1, r3, 6 - ldrb r2, [r4, 0x3] - lsrs r2, 6 - lsls r3, 30 - lsrs r3, 30 - adds r0, r4, 0 - bl CalcCenterToCornerVec - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08075978: .4byte gSprites -_0807597C: .4byte gUnknown_2024018 - thumb_func_end sub_80758E0 - - thumb_func_start sub_8075980 -sub_8075980: @ 8075980 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r2, 0x80 - lsls r2, 1 - adds r0, r4, 0 - adds r1, r2, 0 - movs r3, 0 - bl obj_id_set_rotscale - ldr r1, _080759D8 @ =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - ldrb r2, [r0, 0x1] - movs r1, 0x4 - negs r1, r1 - ands r1, r2 - movs r2, 0x1 - orrs r1, r2 - movs r2, 0xD - negs r2, r2 - ands r1, r2 - strb r1, [r0, 0x1] - adds r3, r0, 0 - adds r3, 0x2C - ldrb r2, [r3] - movs r1, 0x7F - ands r1, r2 - strb r1, [r3] - ldrb r3, [r0, 0x1] - lsrs r1, r3, 6 - ldrb r2, [r0, 0x3] - lsrs r2, 6 - lsls r3, 30 - lsrs r3, 30 - bl CalcCenterToCornerVec - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080759D8: .4byte gSprites - thumb_func_end sub_8075980 - - thumb_func_start sub_80759DC -sub_80759DC: @ 80759DC - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08075A14 @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r2, r1, r2 - ldrb r0, [r2, 0x3] - lsls r0, 26 - lsrs r0, 27 - ldr r1, _08075A18 @ =gOamMatrices - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x4] - movs r3, 0x4 - ldrsh r0, [r0, r3] - cmp r0, 0 - bge _08075A08 - negs r0, r0 - lsls r0, 16 - lsrs r1, r0, 16 -_08075A08: - lsls r0, r1, 16 - asrs r0, 19 - strh r0, [r2, 0x26] - pop {r0} - bx r0 - .align 2, 0 -_08075A14: .4byte gSprites -_08075A18: .4byte gOamMatrices - thumb_func_end sub_80759DC - - thumb_func_start sub_8075A1C -sub_8075A1C: @ 8075A1C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - adds r4, r0, 0 - ldr r0, [sp, 0x28] - lsls r1, 24 - lsrs r6, r1, 24 - lsls r2, 16 - lsrs r5, r2, 16 - lsls r3, 16 - lsrs r7, r3, 16 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - ldrb r0, [r4, 0x1] - lsls r0, 30 - lsrs r0, 30 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08075AC2 - adds r0, r4, 0 - adds r0, 0x2C - ldrb r1, [r0] - movs r2, 0x80 - orrs r1, r2 - strb r1, [r0] - cmp r6, 0 - beq _08075A6A - ldrb r3, [r4, 0x1] - lsrs r1, r3, 6 - ldrb r2, [r4, 0x3] - lsrs r2, 6 - lsls r3, 30 - lsrs r3, 30 - adds r0, r4, 0 - bl CalcCenterToCornerVec -_08075A6A: - ldr r6, _08075AD0 @ =0xffff0000 - lsls r0, r7, 16 - orrs r5, r0 - str r5, [sp] - ldr r0, [sp, 0x4] - ands r0, r6 - mov r1, r8 - orrs r0, r1 - str r0, [sp, 0x4] - bl sub_80758DC - lsls r0, 24 - cmp r0, 0 - beq _08075A98 - mov r0, sp - ldrh r0, [r0] - negs r0, r0 - lsls r0, 16 - lsrs r0, 16 - ldr r1, [sp] - ands r1, r6 - orrs r1, r0 - str r1, [sp] -_08075A98: - ldrb r4, [r4, 0x3] - lsls r4, 26 - lsrs r4, 27 - add r5, sp, 0x8 - mov r0, sp - adds r1, r5, 0 - movs r2, 0x1 - movs r3, 0x2 - bl ObjAffineSet - ldr r0, _08075AD4 @ =gOamMatrices - lsls r4, 3 - adds r4, r0 - ldrh r0, [r5] - strh r0, [r4] - ldrh r0, [r5, 0x2] - strh r0, [r4, 0x2] - ldrh r0, [r5, 0x4] - strh r0, [r4, 0x4] - ldrh r0, [r5, 0x6] - strh r0, [r4, 0x6] -_08075AC2: - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08075AD0: .4byte 0xffff0000 -_08075AD4: .4byte gOamMatrices - thumb_func_end sub_8075A1C - - thumb_func_start sub_8075AD8 -sub_8075AD8: @ 8075AD8 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - movs r3, 0x80 - lsls r3, 1 - movs r0, 0 - str r0, [sp] - adds r0, r4, 0 - movs r1, 0x1 - adds r2, r3, 0 - bl sub_8075A1C - adds r2, r4, 0 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] - ldrb r3, [r4, 0x1] - lsrs r1, r3, 6 - ldrb r2, [r4, 0x3] - lsrs r2, 6 - lsls r3, 30 - lsrs r3, 30 - adds r0, r4, 0 - bl CalcCenterToCornerVec - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8075AD8 - - thumb_func_start ArcTan2_ -ArcTan2_: @ 8075B18 - push {lr} - lsls r0, 16 - asrs r0, 16 - lsls r1, 16 - asrs r1, 16 - bl ArcTan2 - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end ArcTan2_ - - thumb_func_start sub_8075B30 -sub_8075B30: @ 8075B30 - push {lr} - lsls r0, 16 - asrs r0, 16 - lsls r1, 16 - asrs r1, 16 - bl ArcTan2_ - lsls r0, 16 - negs r0, r0 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end sub_8075B30 - - thumb_func_start sub_8075B48 -sub_8075B48: @ 8075B48 - push {r4-r7,lr} - lsls r1, 24 - lsls r0, 20 - lsrs r0, 16 - cmp r1, 0 - bne _08075BC4 - ldr r2, _08075BB8 @ =gPlttBufferUnfaded - ldr r1, _08075BBC @ =gPlttBufferFaded - lsls r0, 1 - adds r4, r0, r1 - adds r5, r0, r2 - movs r6, 0xF -_08075B60: - ldr r0, [r5] - lsls r2, r0, 27 - lsrs r2, 27 - lsls r1, r0, 22 - lsrs r1, 27 - adds r2, r1 - lsls r0, 17 - lsrs r0, 27 - adds r0, r2 - movs r1, 0x3 - bl __udivsi3 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1F - ands r0, r1 - ldrb r1, [r4] - movs r3, 0x20 - negs r3, r3 - adds r2, r3, 0 - ands r1, r2 - orrs r1, r0 - strb r1, [r4] - lsls r3, r0, 5 - ldrh r1, [r4] - ldr r7, _08075BC0 @ =0xfffffc1f - adds r2, r7, 0 - ands r1, r2 - orrs r1, r3 - strh r1, [r4] - lsls r0, 2 - ldrb r1, [r4, 0x1] - movs r3, 0x7D - negs r3, r3 - adds r2, r3, 0 - ands r1, r2 - orrs r1, r0 - strb r1, [r4, 0x1] - adds r4, 0x2 - adds r5, 0x2 - subs r6, 0x1 - cmp r6, 0 - bge _08075B60 - b _08075BD4 - .align 2, 0 -_08075BB8: .4byte gPlttBufferUnfaded -_08075BBC: .4byte gPlttBufferFaded -_08075BC0: .4byte 0xfffffc1f -_08075BC4: - lsls r1, r0, 1 - ldr r0, _08075BDC @ =gPlttBufferUnfaded - adds r0, r1, r0 - ldr r2, _08075BE0 @ =gPlttBufferFaded - adds r1, r2 - ldr r2, _08075BE4 @ =0x04000008 - bl CpuSet -_08075BD4: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08075BDC: .4byte gPlttBufferUnfaded -_08075BE0: .4byte gPlttBufferFaded -_08075BE4: .4byte 0x04000008 - thumb_func_end sub_8075B48 - - thumb_func_start sub_8075BE8 -sub_8075BE8: @ 8075BE8 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r4, [sp, 0x1C] - ldr r5, [sp, 0x20] - ldr r6, [sp, 0x24] - lsls r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - lsls r4, 24 - lsrs r7, r4, 24 - lsls r5, 24 - lsrs r5, 24 - mov r8, r5 - lsls r6, 24 - lsrs r6, 24 - mov r9, r6 - movs r4, 0 - cmp r0, 0 - beq _08075C1C - movs r4, 0xE -_08075C1C: - cmp r1, 0 - beq _08075C2E - ldr r0, _08075CB0 @ =gBattleAnimAttacker - ldrb r0, [r0] - adds r1, r0, 0 - adds r1, 0x10 - movs r0, 0x1 - lsls r0, r1 - orrs r4, r0 -_08075C2E: - cmp r2, 0 - beq _08075C40 - ldr r0, _08075CB4 @ =gBattleAnimTarget - ldrb r0, [r0] - adds r1, r0, 0 - adds r1, 0x10 - movs r0, 0x1 - lsls r0, r1 - orrs r4, r0 -_08075C40: - cmp r3, 0 - beq _08075C64 - ldr r6, _08075CB0 @ =gBattleAnimAttacker - ldrb r0, [r6] - movs r5, 0x2 - eors r0, r5 - bl sub_8072DF0 - lsls r0, 24 - cmp r0, 0 - beq _08075C64 - ldrb r0, [r6] - eors r0, r5 - adds r1, r0, 0 - adds r1, 0x10 - movs r0, 0x1 - lsls r0, r1 - orrs r4, r0 -_08075C64: - cmp r7, 0 - beq _08075C88 - ldr r6, _08075CB4 @ =gBattleAnimTarget - ldrb r0, [r6] - movs r5, 0x2 - eors r0, r5 - bl sub_8072DF0 - lsls r0, 24 - cmp r0, 0 - beq _08075C88 - ldrb r0, [r6] - eors r0, r5 - adds r1, r0, 0 - adds r1, 0x10 - movs r0, 0x1 - lsls r0, r1 - orrs r4, r0 -_08075C88: - mov r0, r8 - cmp r0, 0 - beq _08075C94 - movs r0, 0x80 - lsls r0, 1 - orrs r4, r0 -_08075C94: - mov r0, r9 - cmp r0, 0 - beq _08075CA0 - movs r0, 0x80 - lsls r0, 2 - orrs r4, r0 -_08075CA0: - adds r0, r4, 0 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08075CB0: .4byte gBattleAnimAttacker -_08075CB4: .4byte gBattleAnimTarget - thumb_func_end sub_8075BE8 - - thumb_func_start sub_8075CB8 -sub_8075CB8: @ 8075CB8 - push {r4-r7,lr} - lsls r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - lsls r2, 24 - lsrs r6, r2, 24 - lsls r3, 24 - lsrs r7, r3, 24 - movs r4, 0 - cmp r0, 0 - beq _08075CF2 - movs r0, 0 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r0, 24 - bl sub_8072DF0 - lsls r0, 24 - cmp r0, 0 - beq _08075CF2 - movs r0, 0 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x10 - movs r4, 0x1 - lsls r4, r0 -_08075CF2: - cmp r5, 0 - beq _08075D1E - movs r0, 0x2 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r0, 24 - bl sub_8072DF0 - lsls r0, 24 - cmp r0, 0 - beq _08075D1E - movs r0, 0x2 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - adds r1, 0x10 - movs r0, 0x1 - lsls r0, r1 - orrs r4, r0 -_08075D1E: - cmp r6, 0 - beq _08075D4A - movs r0, 0x1 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r0, 24 - bl sub_8072DF0 - lsls r0, 24 - cmp r0, 0 - beq _08075D4A - movs r0, 0x1 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - adds r1, 0x10 - movs r0, 0x1 - lsls r0, r1 - orrs r4, r0 -_08075D4A: - cmp r7, 0 - beq _08075D76 - movs r0, 0x3 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r0, 24 - bl sub_8072DF0 - lsls r0, 24 - cmp r0, 0 - beq _08075D76 - movs r0, 0x3 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - adds r1, 0x10 - movs r0, 0x1 - lsls r0, r1 - orrs r4, r0 -_08075D76: - adds r0, r4, 0 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8075CB8 - - thumb_func_start sub_8075D80 -sub_8075D80: @ 8075D80 - lsls r0, 24 - lsrs r0, 24 - bx lr - thumb_func_end sub_8075D80 - - thumb_func_start sub_8075D88 -sub_8075D88: @ 8075D88 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_8075D88 - - thumb_func_start sub_8075D9C -sub_8075D9C: @ 8075D9C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08075DDA - ldr r2, _08075DC8 @ =gBattleAnimArgs - movs r3, 0x6 - ldrsh r0, [r2, r3] - movs r1, 0 - cmp r0, 0 - bne _08075DB6 - movs r1, 0x1 -_08075DB6: - movs r3, 0x4 - ldrsh r0, [r2, r3] - cmp r0, 0 - bne _08075DCC - adds r0, r4, 0 - bl sub_8075160 - b _08075DD2 - .align 2, 0 -_08075DC8: .4byte gBattleAnimArgs -_08075DCC: - adds r0, r4, 0 - bl sub_8075114 -_08075DD2: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _08075DEE -_08075DDA: - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x30 - ands r0, r1 - cmp r0, 0 - beq _08075DEE - adds r0, r4, 0 - bl move_anim_8074EE0 -_08075DEE: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8075D9C - - thumb_func_start sub_8075DF4 -sub_8075DF4: @ 8075DF4 - push {r4-r7,lr} - adds r5, r0, 0 - ldr r6, _08075E6C @ =gBattleAnimArgs - movs r1, 0xA - ldrsh r0, [r6, r1] - movs r1, 0xFF - lsls r1, 8 - ands r0, r1 - movs r1, 0 - cmp r0, 0 - bne _08075E0C - movs r1, 0x1 -_08075E0C: - ldrb r0, [r6, 0xA] - movs r7, 0x1 - cmp r0, 0 - bne _08075E16 - movs r7, 0x3 -_08075E16: - adds r0, r5, 0 - bl sub_8075160 - ldr r0, _08075E70 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _08075E30 - ldrh r0, [r6, 0x4] - negs r0, r0 - strh r0, [r6, 0x4] -_08075E30: - ldrh r0, [r6, 0x8] - strh r0, [r5, 0x2E] - ldr r4, _08075E74 @ =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r6, 0x4] - adds r0, r1 - strh r0, [r5, 0x32] - ldrb r0, [r4] - adds r1, r7, 0 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r6, [r6, 0x6] - adds r0, r6 - strh r0, [r5, 0x36] - ldr r0, _08075E78 @ =sub_8075590 - str r0, [r5, 0x1C] - ldr r1, _08075E7C @ =DestroyAnimSprite - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08075E6C: .4byte gBattleAnimArgs -_08075E70: .4byte gBattleAnimAttacker -_08075E74: .4byte gBattleAnimTarget -_08075E78: .4byte sub_8075590 -_08075E7C: .4byte DestroyAnimSprite - thumb_func_end sub_8075DF4 - - thumb_func_start sub_8075E80 -sub_8075E80: @ 8075E80 - push {r4-r6,lr} - adds r6, r0, 0 - movs r1, 0x1 - bl sub_8075160 - ldr r0, _08075EE0 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _08075EA0 - ldr r1, _08075EE4 @ =gBattleAnimArgs - ldrh r0, [r1, 0x4] - negs r0, r0 - strh r0, [r1, 0x4] -_08075EA0: - ldr r4, _08075EE4 @ =gBattleAnimArgs - ldrh r0, [r4, 0x8] - strh r0, [r6, 0x2E] - ldr r5, _08075EE8 @ =gBattleAnimTarget - ldrb r0, [r5] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x4] - adds r0, r1 - strh r0, [r6, 0x32] - ldrb r0, [r5] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x6] - adds r0, r1 - strh r0, [r6, 0x36] - ldrh r0, [r4, 0xA] - strh r0, [r6, 0x38] - adds r0, r6, 0 - bl sub_8075068 - ldr r0, _08075EEC @ =sub_8075EF0 - str r0, [r6, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08075EE0: .4byte gBattleAnimAttacker -_08075EE4: .4byte gBattleAnimArgs -_08075EE8: .4byte gBattleAnimTarget -_08075EEC: .4byte sub_8075EF0 - thumb_func_end sub_8075E80 - - thumb_func_start sub_8075EF0 -sub_8075EF0: @ 8075EF0 - push {r4,lr} - adds r4, r0, 0 - bl AnimateBallThrow - lsls r0, 24 - cmp r0, 0 - beq _08075F04 - adds r0, r4, 0 - bl DestroyAnimSprite -_08075F04: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8075EF0 - - thumb_func_start sub_8075F0C -sub_8075F0C: @ 8075F0C - push {r4-r7,lr} - adds r5, r0, 0 - ldr r0, _08075F20 @ =gBattleAnimArgs - movs r2, 0xC - ldrsh r1, [r0, r2] - cmp r1, 0 - bne _08075F24 - movs r4, 0x1 - movs r7, 0x3 - b _08075F28 - .align 2, 0 -_08075F20: .4byte gBattleAnimArgs -_08075F24: - movs r4, 0 - movs r7, 0x1 -_08075F28: - movs r1, 0xA - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _08075F40 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_8075160 - ldr r0, _08075F3C @ =gBattleAnimAttacker - b _08075F4A - .align 2, 0 -_08075F3C: .4byte gBattleAnimAttacker -_08075F40: - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_8075114 - ldr r0, _08075FA8 @ =gBattleAnimTarget -_08075F4A: - ldrb r6, [r0] - ldr r0, _08075FAC @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _08075F62 - ldr r1, _08075FB0 @ =gBattleAnimArgs - ldrh r0, [r1, 0x4] - negs r0, r0 - strh r0, [r1, 0x4] -_08075F62: - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_8075114 - ldr r4, _08075FB0 @ =gBattleAnimArgs - ldrh r0, [r4, 0x8] - strh r0, [r5, 0x2E] - adds r0, r6, 0 - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r2, [r4, 0x4] - adds r0, r2 - strh r0, [r5, 0x32] - adds r0, r6, 0 - adds r1, r7, 0 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r4, [r4, 0x6] - adds r0, r4 - strh r0, [r5, 0x36] - ldr r0, _08075FB4 @ =sub_8075590 - str r0, [r5, 0x1C] - ldr r1, _08075FB8 @ =DestroyAnimSprite - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08075FA8: .4byte gBattleAnimTarget -_08075FAC: .4byte gBattleAnimAttacker -_08075FB0: .4byte gBattleAnimArgs -_08075FB4: .4byte sub_8075590 -_08075FB8: .4byte DestroyAnimSprite - thumb_func_end sub_8075F0C - - thumb_func_start duplicate_obj_of_side_rel2move_in_transparent_mode -duplicate_obj_of_side_rel2move_in_transparent_mode: @ 8075FBC - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0xFF - beq _08076026 - movs r6, 0 - ldr r2, _08076018 @ =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r1, r0, 2 -_08075FD8: - lsls r0, r6, 4 - adds r0, r6 - lsls r0, 2 - adds r4, r0, r2 - adds r5, r4, 0 - adds r5, 0x3E - ldrb r0, [r5] - lsls r0, 31 - cmp r0, 0 - bne _0807601C - adds r0, r4, 0 - adds r1, r2 - movs r2, 0x44 - bl memcpy - ldrb r1, [r4, 0x1] - movs r2, 0xD - negs r2, r2 - adds r0, r2, 0 - ands r1, r0 - movs r0, 0x4 - orrs r1, r0 - strb r1, [r4, 0x1] - ldrb r0, [r5] - adds r2, 0x8 - adds r1, r2, 0 - ands r0, r1 - strb r0, [r5] - lsls r0, r6, 16 - asrs r0, 16 - b _0807602A - .align 2, 0 -_08076018: .4byte gSprites -_0807601C: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x3F - bls _08075FD8 -_08076026: - movs r0, 0x1 - negs r0, r0 -_0807602A: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end duplicate_obj_of_side_rel2move_in_transparent_mode - - thumb_func_start obj_delete_but_dont_free_vram -obj_delete_but_dont_free_vram: @ 8076030 - push {lr} - adds r3, r0, 0 - adds r3, 0x3F - ldrb r1, [r3] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r3] - bl DestroySprite - pop {r0} - bx r0 - thumb_func_end obj_delete_but_dont_free_vram - - thumb_func_start sub_8076048 -sub_8076048: @ 8076048 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r6, 0 - movs r3, 0 - ldr r2, _080760C0 @ =gBattleAnimArgs - movs r0, 0x4 - ldrsh r1, [r2, r0] - movs r4, 0 - ldrsh r0, [r2, r4] - cmp r1, r0 - ble _08076062 - movs r3, 0x1 -_08076062: - cmp r1, r0 - bge _08076068 - ldr r3, _080760C4 @ =0x0000ffff -_08076068: - movs r0, 0x6 - ldrsh r1, [r2, r0] - movs r4, 0x2 - ldrsh r0, [r2, r4] - cmp r1, r0 - ble _08076076 - movs r6, 0x1 -_08076076: - cmp r1, r0 - bge _0807607C - ldr r6, _080760C4 @ =0x0000ffff -_0807607C: - ldr r0, _080760C8 @ =gTasks - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - adds r4, r0 - movs r1, 0 - strh r1, [r4, 0x8] - ldrh r0, [r2, 0x8] - strh r0, [r4, 0xA] - strh r1, [r4, 0xC] - ldrh r0, [r2] - strh r0, [r4, 0xE] - ldrh r0, [r2, 0x2] - strh r0, [r4, 0x10] - strh r3, [r4, 0x12] - strh r6, [r4, 0x14] - ldrh r0, [r2, 0x4] - strh r0, [r4, 0x16] - ldrh r0, [r2, 0x6] - strh r0, [r4, 0x18] - ldrh r1, [r2, 0x2] - lsls r1, 8 - ldrh r0, [r2] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - ldr r0, _080760CC @ =sub_80760D0 - str r0, [r4] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080760C0: .4byte gBattleAnimArgs -_080760C4: .4byte 0x0000ffff -_080760C8: .4byte gTasks -_080760CC: .4byte sub_80760D0 - thumb_func_end sub_8076048 - - thumb_func_start sub_80760D0 -sub_80760D0: @ 80760D0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0807611C @ =gTasks - adds r4, r0, r1 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - lsls r0, 16 - asrs r0, 16 - movs r2, 0xA - ldrsh r1, [r4, r2] - cmp r0, r1 - ble _08076164 - movs r0, 0 - strh r0, [r4, 0x8] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08076120 - ldrh r2, [r4, 0xE] - movs r3, 0xE - ldrsh r1, [r4, r3] - movs r3, 0x16 - ldrsh r0, [r4, r3] - cmp r1, r0 - beq _08076134 - ldrh r0, [r4, 0x12] - adds r0, r2, r0 - strh r0, [r4, 0xE] - b _08076134 - .align 2, 0 -_0807611C: .4byte gTasks -_08076120: - ldrh r2, [r4, 0x10] - movs r0, 0x10 - ldrsh r1, [r4, r0] - movs r3, 0x18 - ldrsh r0, [r4, r3] - cmp r1, r0 - beq _08076134 - ldrh r0, [r4, 0x14] - adds r0, r2, r0 - strh r0, [r4, 0x10] -_08076134: - ldrh r1, [r4, 0x10] - lsls r1, 8 - ldrh r0, [r4, 0xE] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r0, 0xE - ldrsh r1, [r4, r0] - movs r2, 0x16 - ldrsh r0, [r4, r2] - cmp r1, r0 - bne _08076164 - movs r3, 0x10 - ldrsh r1, [r4, r3] - movs r2, 0x18 - ldrsh r0, [r4, r2] - cmp r1, r0 - bne _08076164 - adds r0, r5, 0 - bl DestroyAnimVisualTask -_08076164: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80760D0 - - thumb_func_start sub_807616C -sub_807616C: @ 807616C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0807618C @ =gBattleAnimArgs - ldrb r0, [r0] - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0xFF - bne _08076190 - adds r0, r4, 0 - bl DestroyAnimVisualTask - b _080761B6 - .align 2, 0 -_0807618C: .4byte gBattleAnimArgs -_08076190: - ldr r1, _080761BC @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r2, _080761C0 @ =gSprites - lsls r1, r3, 4 - adds r1, r3 - lsls r1, 2 - adds r1, r2 - ldrb r1, [r1, 0x5] - lsrs r1, 4 - lsls r1, 4 - ldr r3, _080761C4 @ =0x00000101 - adds r2, r3, 0 - adds r1, r2 - strh r1, [r0, 0x8] - bl sub_80761C8 -_080761B6: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080761BC: .4byte gTasks -_080761C0: .4byte gSprites -_080761C4: .4byte 0x00000101 - thumb_func_end sub_807616C - - thumb_func_start sub_80761C8 -sub_80761C8: @ 80761C8 - ldr r3, _080761E8 @ =gBattleAnimArgs - ldrh r1, [r3, 0x2] - movs r2, 0 - strh r1, [r0, 0xA] - strh r2, [r0, 0xC] - ldrh r1, [r3, 0x4] - strh r1, [r0, 0xE] - strh r2, [r0, 0x10] - ldrh r1, [r3, 0x6] - strh r1, [r0, 0x12] - strh r2, [r0, 0x14] - ldrh r1, [r3, 0x8] - strh r1, [r0, 0x16] - ldr r1, _080761EC @ =sub_80761F0 - str r1, [r0] - bx lr - .align 2, 0 -_080761E8: .4byte gBattleAnimArgs -_080761EC: .4byte sub_80761F0 - thumb_func_end sub_80761C8 - - thumb_func_start sub_80761F0 -sub_80761F0: @ 80761F0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _08076248 @ =gTasks - adds r4, r0, r1 - ldrh r0, [r4, 0x10] - adds r0, 0x1 - strh r0, [r4, 0x10] - lsls r0, 16 - asrs r0, 16 - movs r2, 0x12 - ldrsh r1, [r4, r2] - cmp r0, r1 - blt _08076280 - movs r0, 0 - strh r0, [r4, 0x10] - movs r1, 0x14 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0807624C - ldrh r2, [r4, 0xC] - adds r2, 0x1 - strh r2, [r4, 0xC] - ldrh r0, [r4, 0x8] - lsls r2, 24 - lsrs r2, 24 - ldrh r3, [r4, 0xA] - movs r1, 0xF - bl BlendPalette - movs r2, 0xC - ldrsh r1, [r4, r2] - movs r2, 0xE - ldrsh r0, [r4, r2] - cmp r1, r0 - bne _08076280 - movs r0, 0x1 - strh r0, [r4, 0x14] - b _08076280 - .align 2, 0 -_08076248: .4byte gTasks -_0807624C: - ldrh r2, [r4, 0xC] - subs r2, 0x1 - strh r2, [r4, 0xC] - ldrh r0, [r4, 0x8] - lsls r2, 24 - lsrs r2, 24 - ldrh r3, [r4, 0xA] - movs r1, 0xF - bl BlendPalette - movs r0, 0xC - ldrsh r1, [r4, r0] - cmp r1, 0 - bne _08076280 - ldrh r0, [r4, 0x16] - subs r0, 0x1 - strh r0, [r4, 0x16] - lsls r0, 16 - cmp r0, 0 - beq _0807627A - strh r1, [r4, 0x10] - strh r1, [r4, 0x14] - b _08076280 -_0807627A: - adds r0, r5, 0 - bl DestroyAnimVisualTask -_08076280: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80761F0 - - thumb_func_start sub_8076288 -sub_8076288: @ 8076288 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080762A8 @ =gBattleAnimArgs - ldrh r0, [r0] - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xFF - bne _080762AC - adds r0, r4, 0 - bl DestroyAnimVisualTask - b _080762C2 - .align 2, 0 -_080762A8: .4byte gBattleAnimArgs -_080762AC: - ldr r1, _080762C8 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - lsls r1, r2, 4 - ldr r2, _080762CC @ =0x00000101 - adds r1, r2 - strh r1, [r0, 0x8] - bl sub_80761C8 -_080762C2: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080762C8: .4byte gTasks -_080762CC: .4byte 0x00000101 - thumb_func_end sub_8076288 - - thumb_func_start sub_80762D0 -sub_80762D0: @ 80762D0 - push {r4,lr} - adds r3, r0, 0 - adds r4, r1, 0 - lsls r4, 24 - lsrs r4, 24 - movs r1, 0 - strh r1, [r3, 0x16] - strh r1, [r3, 0x18] - strh r1, [r3, 0x1A] - strh r4, [r3, 0x26] - movs r0, 0x80 - lsls r0, 1 - strh r0, [r3, 0x1C] - strh r0, [r3, 0x1E] - strh r1, [r3, 0x20] - adds r0, r3, 0 - adds r0, 0x22 - adds r3, 0x24 - adds r1, r3, 0 - bl sub_80765C0 - adds r0, r4, 0 - movs r1, 0 - bl sub_80758E0 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80762D0 - - thumb_func_start sub_8076308 -sub_8076308: @ 8076308 - push {r4-r6,lr} - adds r4, r0, 0 - ldr r5, _080763A8 @ =gUnknown_2037F28 - movs r1, 0x22 - ldrsh r0, [r4, r1] - movs r2, 0x24 - ldrsh r1, [r4, r2] - bl sub_80765C8 - movs r3, 0x16 - ldrsh r1, [r4, r3] - lsls r1, 3 - adds r1, r0, r1 - str r1, [r5] - movs r6, 0 - ldrsh r2, [r1, r6] - ldr r0, _080763AC @ =0x00007ffe - cmp r2, r0 - beq _080763B0 - cmp r2, r0 - bgt _08076410 - subs r0, 0x1 - cmp r2, r0 - beq _080763B6 - ldrb r0, [r1, 0x5] - cmp r0, 0 - bne _08076356 - ldrh r0, [r1] - strh r0, [r4, 0x1C] - ldrh r0, [r1, 0x2] - strh r0, [r4, 0x1E] - ldrb r0, [r1, 0x4] - strh r0, [r4, 0x20] - ldrh r0, [r4, 0x16] - adds r0, 0x1 - strh r0, [r4, 0x16] - adds r0, r1, 0 - adds r0, 0x8 - str r0, [r5] -_08076356: - ldr r1, [r5] - ldrh r0, [r1] - ldrh r2, [r4, 0x1C] - adds r0, r2 - strh r0, [r4, 0x1C] - ldrh r0, [r1, 0x2] - ldrh r3, [r4, 0x1E] - adds r0, r3 - strh r0, [r4, 0x1E] - ldrh r0, [r4, 0x20] - ldrb r1, [r1, 0x4] - adds r0, r1 - strh r0, [r4, 0x20] - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - movs r6, 0x1C - ldrsh r1, [r4, r6] - movs r3, 0x1E - ldrsh r2, [r4, r3] - ldrh r3, [r4, 0x20] - bl obj_id_set_rotscale - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - bl sub_8076440 - ldrh r0, [r4, 0x18] - adds r0, 0x1 - strh r0, [r4, 0x18] - lsls r0, 16 - asrs r0, 16 - ldr r1, [r5] - ldrb r1, [r1, 0x5] - cmp r0, r1 - blt _08076436 - movs r0, 0 - strh r0, [r4, 0x18] - b _08076408 - .align 2, 0 -_080763A8: .4byte gUnknown_2037F28 -_080763AC: .4byte 0x00007ffe -_080763B0: - ldrh r0, [r1, 0x2] - strh r0, [r4, 0x16] - b _08076436 -_080763B6: - ldrh r2, [r1, 0x2] - movs r6, 0x2 - ldrsh r0, [r1, r6] - cmp r0, 0 - beq _08076408 - ldrh r1, [r4, 0x1A] - movs r3, 0x1A - ldrsh r0, [r4, r3] - cmp r0, 0 - beq _080763D6 - subs r0, r1, 0x1 - strh r0, [r4, 0x1A] - lsls r0, 16 - cmp r0, 0 - bne _080763D8 - b _08076408 -_080763D6: - strh r2, [r4, 0x1A] -_080763D8: - movs r6, 0x16 - ldrsh r0, [r4, r6] - cmp r0, 0 - beq _08076436 - ldr r3, _08076400 @ =gUnknown_2037F28 - ldr r5, _08076404 @ =0x00007ffd -_080763E4: - ldrh r2, [r4, 0x16] - subs r1, r2, 0x1 - strh r1, [r4, 0x16] - ldr r0, [r3] - subs r0, 0x8 - str r0, [r3] - movs r6, 0 - ldrsh r0, [r0, r6] - cmp r0, r5 - beq _08076434 - lsls r0, r1, 16 - cmp r0, 0 - bne _080763E4 - b _08076436 - .align 2, 0 -_08076400: .4byte gUnknown_2037F28 -_08076404: .4byte 0x00007ffd -_08076408: - ldrh r0, [r4, 0x16] - adds r0, 0x1 - strh r0, [r4, 0x16] - b _08076436 -_08076410: - ldr r2, _08076430 @ =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0 - strh r1, [r0, 0x26] - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - bl sub_8075980 - movs r0, 0 - b _08076438 - .align 2, 0 -_08076430: .4byte gSprites -_08076434: - strh r2, [r4, 0x16] -_08076436: - movs r0, 0x1 -_08076438: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8076308 - - thumb_func_start sub_8076440 -sub_8076440: @ 8076440 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl sub_80764EC - lsls r0, 16 - lsrs r0, 15 - movs r1, 0x40 - subs r5, r1, r0 - ldr r1, _0807648C @ =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r4, r0, r1 - ldrb r1, [r4, 0x3] - lsls r1, 26 - lsrs r1, 27 - lsls r0, r5, 8 - ldr r2, _08076490 @ =gOamMatrices - lsls r1, 3 - adds r1, r2 - movs r2, 0x6 - ldrsh r1, [r1, r2] - bl __divsi3 - cmp r0, 0x80 - ble _0807647C - movs r0, 0x80 -_0807647C: - subs r0, r5, r0 - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - strh r0, [r4, 0x26] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0807648C: .4byte gSprites -_08076490: .4byte gOamMatrices - thumb_func_end sub_8076440 - - thumb_func_start sub_8076494 -sub_8076494: @ 8076494 - push {r4,r5,lr} - adds r4, r0, 0 - adds r0, r1, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r0, 24 - lsrs r0, 24 - bl sub_80764EC - lsls r0, 16 - lsrs r0, 15 - movs r1, 0x40 - subs r5, r1, r0 - ldr r1, _080764E4 @ =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r4, r0, r1 - ldrb r1, [r4, 0x3] - lsls r1, 26 - lsrs r1, 27 - lsls r0, r5, 8 - ldr r2, _080764E8 @ =gOamMatrices - lsls r1, 3 - adds r1, r2 - movs r2, 0x6 - ldrsh r1, [r1, r2] - bl __divsi3 - cmp r0, 0x80 - ble _080764D4 - movs r0, 0x80 -_080764D4: - subs r0, r5, r0 - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - strh r0, [r4, 0x26] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080764E4: .4byte gSprites -_080764E8: .4byte gOamMatrices - thumb_func_end sub_8076494 - - thumb_func_start sub_80764EC -sub_80764EC: @ 80764EC - push {r4-r6,lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, _08076548 @ =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - ldrh r0, [r0, 0x2E] - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - ldr r1, _0807654C @ =gBattlerSpriteIds - ldr r6, _08076550 @ =gBattlerPartyIndexes -_08076508: - adds r0, r4, r1 - ldrb r0, [r0] - cmp r0, r2 - bne _080765AC - lsls r0, r4, 24 - lsrs r0, 24 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _08076568 - ldr r0, _08076554 @ =gUnknown_2024018 - ldr r0, [r0] - ldr r1, [r0] - lsls r0, r5, 2 - adds r1, r0, r1 - ldrh r0, [r1, 0x2] - cmp r0, 0 - bne _0807655C - lsls r0, r4, 1 - adds r0, r6 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08076558 @ =gPlayerParty - adds r0, r1 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r1, r0, 16 - b _0807655E - .align 2, 0 -_08076548: .4byte gSprites -_0807654C: .4byte gBattlerSpriteIds -_08076550: .4byte gBattlerPartyIndexes -_08076554: .4byte gUnknown_2024018 -_08076558: .4byte gPlayerParty -_0807655C: - ldrh r1, [r1, 0x2] -_0807655E: - ldr r0, _08076564 @ =gUnknown_8235E6C - b _080765A0 - .align 2, 0 -_08076564: .4byte gUnknown_8235E6C -_08076568: - ldr r0, _08076594 @ =gUnknown_2024018 - ldr r0, [r0] - ldr r1, [r0] - lsls r0, r5, 2 - adds r1, r0, r1 - ldrh r0, [r1, 0x2] - cmp r0, 0 - bne _0807659C - lsls r0, r4, 1 - adds r0, r6 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08076598 @ =gEnemyParty - adds r0, r1 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r1, r0, 16 - b _0807659E - .align 2, 0 -_08076594: .4byte gUnknown_2024018 -_08076598: .4byte gEnemyParty -_0807659C: - ldrh r1, [r1, 0x2] -_0807659E: - ldr r0, _080765A8 @ =gUnknown_82349CC -_080765A0: - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0x1] - b _080765B8 - .align 2, 0 -_080765A8: .4byte gUnknown_82349CC -_080765AC: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x3 - bls _08076508 - movs r0, 0x40 -_080765B8: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80764EC - - thumb_func_start sub_80765C0 -sub_80765C0: @ 80765C0 - strh r2, [r0] - asrs r2, 16 - strh r2, [r1] - bx lr - thumb_func_end sub_80765C0 - - thumb_func_start sub_80765C8 -sub_80765C8: @ 80765C8 - lsls r0, 16 - lsrs r0, 16 - lsls r1, 16 - orrs r0, r1 - bx lr - thumb_func_end sub_80765C8 - - thumb_func_start sub_80765D4 -sub_80765D4: @ 80765D4 - push {r4-r6,lr} - mov r6, r8 - push {r6} - mov r8, r0 - adds r5, r3, 0 - ldr r0, [sp, 0x14] - ldr r4, [sp, 0x18] - ldr r6, [sp, 0x1C] - lsls r1, 24 - lsrs r1, 24 - lsls r2, 16 - lsrs r2, 16 - lsls r5, 16 - lsrs r5, 16 - lsls r0, 16 - lsrs r0, 16 - lsls r4, 16 - lsrs r4, 16 - lsls r6, 16 - lsrs r6, 16 - mov r3, r8 - strh r6, [r3, 0x18] - strh r1, [r3, 0x26] - strh r2, [r3, 0x1A] - strh r5, [r3, 0x1C] - strh r0, [r3, 0x22] - strh r4, [r3, 0x24] - lsls r0, 16 - asrs r0, 16 - lsls r2, 16 - asrs r2, 16 - subs r0, r2 - adds r1, r6, 0 - bl __divsi3 - mov r1, r8 - strh r0, [r1, 0x1E] - lsls r4, 16 - asrs r4, 16 - lsls r5, 16 - asrs r5, 16 - subs r4, r5 - adds r0, r4, 0 - adds r1, r6, 0 - bl __divsi3 - mov r3, r8 - strh r0, [r3, 0x20] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80765D4 - - thumb_func_start sub_8076640 -sub_8076640: @ 8076640 - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x18] - movs r2, 0x18 - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _08076652 - movs r0, 0 - b _080766AE -_08076652: - subs r0, r1, 0x1 - strh r0, [r4, 0x18] - lsls r0, 16 - cmp r0, 0 - beq _0807666C - ldrh r0, [r4, 0x1E] - ldrh r3, [r4, 0x1A] - adds r0, r3 - strh r0, [r4, 0x1A] - ldrh r0, [r4, 0x20] - ldrh r1, [r4, 0x1C] - adds r0, r1 - b _08076672 -_0807666C: - ldrh r0, [r4, 0x22] - strh r0, [r4, 0x1A] - ldrh r0, [r4, 0x24] -_08076672: - strh r0, [r4, 0x1C] - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - movs r2, 0x1A - ldrsh r1, [r4, r2] - movs r3, 0x1C - ldrsh r2, [r4, r3] - movs r3, 0 - bl obj_id_set_rotscale - movs r0, 0x18 - ldrsh r3, [r4, r0] - cmp r3, 0 - beq _0807669C - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - bl sub_8076440 - b _080766AC -_0807669C: - ldr r2, _080766B4 @ =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r3, [r0, 0x26] -_080766AC: - ldrb r0, [r4, 0x18] -_080766AE: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080766B4: .4byte gSprites - thumb_func_end sub_8076640 - - thumb_func_start sub_80766B8 -sub_80766B8: @ 80766B8 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _080766E4 @ =gUnknown_2037EFE - ldrb r0, [r0] - movs r1, 0 - cmp r0, 0x1E - bls _080766D6 - movs r1, 0x1 - cmp r0, 0x64 - bls _080766D6 - movs r1, 0x3 - cmp r0, 0xC8 - bhi _080766D6 - movs r1, 0x2 -_080766D6: - ldr r0, _080766E8 @ =gBattleAnimArgs - strh r1, [r0, 0xE] - adds r0, r2, 0 - bl DestroyAnimVisualTask - pop {r0} - bx r0 - .align 2, 0 -_080766E4: .4byte gUnknown_2037EFE -_080766E8: .4byte gBattleAnimArgs - thumb_func_end sub_80766B8 - - thumb_func_start sub_80766EC -sub_80766EC: @ 80766EC - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r4, r0, 24 - adds r7, r4, 0 - ldr r6, _080767E0 @ =gBattleAnimTarget - ldrb r0, [r6] - bl sub_8072DF0 - lsls r0, 24 - cmp r0, 0 - beq _0807672C - ldr r2, _080767E4 @ =gSprites - ldr r1, _080767E8 @ =gBattlerSpriteIds - ldrb r0, [r6] - adds r0, r1 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x3 - adds r2, r4, 0 - ands r2, r0 - lsls r2, 2 - ldrb r3, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r2 - strb r0, [r1, 0x5] -_0807672C: - ldr r0, _080767EC @ =gBattleAnimAttacker - mov r8, r0 - ldrb r0, [r0] - bl sub_8072DF0 - lsls r0, 24 - cmp r0, 0 - beq _08076764 - ldr r2, _080767E4 @ =gSprites - ldr r1, _080767E8 @ =gBattlerSpriteIds - mov r3, r8 - ldrb r0, [r3] - adds r0, r1 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x3 - adds r2, r4, 0 - ands r2, r0 - lsls r2, 2 - ldrb r3, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r2 - strb r0, [r1, 0x5] -_08076764: - ldrb r0, [r6] - movs r5, 0x2 - eors r0, r5 - bl sub_8072DF0 - lsls r0, 24 - cmp r0, 0 - beq _0807679C - ldr r2, _080767E4 @ =gSprites - ldr r1, _080767E8 @ =gBattlerSpriteIds - ldrb r0, [r6] - eors r0, r5 - adds r0, r1 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x3 - adds r2, r4, 0 - ands r2, r0 - lsls r2, 2 - ldrb r3, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r2 - strb r0, [r1, 0x5] -_0807679C: - mov r1, r8 - ldrb r0, [r1] - eors r0, r5 - bl sub_8072DF0 - lsls r0, 24 - cmp r0, 0 - beq _080767D4 - ldr r2, _080767E4 @ =gSprites - ldr r1, _080767E8 @ =gBattlerSpriteIds - mov r3, r8 - ldrb r0, [r3] - eors r0, r5 - adds r0, r1 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x3 - ands r7, r0 - lsls r3, r7, 2 - ldrb r2, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r3 - strb r0, [r1, 0x5] -_080767D4: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080767E0: .4byte gBattleAnimTarget -_080767E4: .4byte gSprites -_080767E8: .4byte gBattlerSpriteIds -_080767EC: .4byte gBattleAnimAttacker - thumb_func_end sub_80766EC - - thumb_func_start sub_80767F0 -sub_80767F0: @ 80767F0 - push {r4-r6,lr} - movs r5, 0 - ldr r0, _08076850 @ =gBattlersCount - ldrb r0, [r0] - cmp r5, r0 - bge _0807684A - ldr r6, _08076854 @ =gSprites -_080767FE: - lsls r0, r5, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl sub_8072DF0 - lsls r0, 24 - cmp r0, 0 - beq _08076840 - adds r0, r4, 0 - bl sub_807685C - ldr r3, _08076858 @ =gBattlerSpriteIds - adds r3, r5, r3 - ldrb r2, [r3] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r6 - adds r1, 0x43 - strb r0, [r1] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldrb r2, [r0, 0x5] - movs r3, 0xD - negs r3, r3 - adds r1, r3, 0 - ands r2, r1 - movs r1, 0x8 - orrs r2, r1 - strb r2, [r0, 0x5] -_08076840: - adds r5, 0x1 - ldr r0, _08076850 @ =gBattlersCount - ldrb r0, [r0] - cmp r5, r0 - blt _080767FE -_0807684A: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08076850: .4byte gBattlersCount -_08076854: .4byte gSprites -_08076858: .4byte gBattlerSpriteIds - thumb_func_end sub_80767F0 - - thumb_func_start sub_807685C -sub_807685C: @ 807685C - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl GetBattlerPosition - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1E - cmp r0, 0 - beq _0807687E - movs r1, 0x14 - cmp r0, 0x2 - beq _0807687E - movs r1, 0x32 - cmp r0, 0x1 - bne _0807687E - movs r1, 0x28 -_0807687E: - adds r0, r1, 0 - pop {r1} - bx r1 - thumb_func_end sub_807685C - - thumb_func_start sub_8076884 -sub_8076884: @ 8076884 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl GetBattlerPosition - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _0807689A - cmp r0, 0x3 - bne _0807689E -_0807689A: - movs r0, 0x2 - b _080768A0 -_0807689E: - movs r0, 0x1 -_080768A0: - movs r1, 0x4 - bl sub_80BC30C - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_8076884 - - thumb_func_start sub_80768B0 -sub_80768B0: @ 80768B0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl GetBattlerPosition - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _080768C6 - cmp r0, 0x3 - bne _080768CA -_080768C6: - movs r0, 0x2 - b _080768CC -_080768CA: - movs r0, 0x1 -_080768CC: - pop {r1} - bx r1 - thumb_func_end sub_80768B0 - - thumb_func_start sub_80768D0 -sub_80768D0: @ 80768D0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - ldr r4, [sp, 0x30] - ldr r5, [sp, 0x34] - ldr r6, [sp, 0x38] - mov r8, r6 - lsls r0, 16 - lsrs r6, r0, 16 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - lsls r2, 24 - lsrs r7, r2, 24 - lsls r3, 16 - lsrs r3, 16 - mov r10, r3 - lsls r4, 16 - lsrs r4, 16 - str r4, [sp, 0x4] - lsls r5, 24 - lsrs r5, 24 - str r5, [sp, 0x8] - lsls r0, r7, 3 - ldr r1, _080769B0 @ =gUnknown_83AE084 - adds r0, r1 - bl LoadSpriteSheet - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0xC] - ldr r1, _080769B4 @ =gUnknown_83AE054 - lsls r0, r7, 1 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldrh r0, [r0, 0x2] - bl AllocSpritePalette - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, _080769B8 @ =gMonSpritesGfxPtr - ldr r0, [r4] - cmp r0, 0 - beq _0807694E - movs r1, 0xBE - lsls r1, 1 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - bne _0807694E - movs r0, 0x80 - lsls r0, 6 - bl AllocZeroed - ldr r1, [r4] - movs r2, 0xBE - lsls r2, 1 - adds r1, r2 - str r0, [r1] -_0807694E: - mov r3, r9 - cmp r3, 0 - bne _080769EC - adds r0, r6, 0 - ldr r1, [sp, 0x3C] - mov r2, r8 - bl GetFrontSpritePalFromSpeciesAndPersonality - lsls r1, r5, 20 - movs r2, 0x80 - lsls r2, 17 - adds r1, r2 - lsrs r1, 16 - movs r2, 0x20 - bl LoadCompressedPalette - ldr r3, [sp, 0x44] - cmp r3, 0x1 - beq _0807699A - ldr r0, [sp, 0x40] - lsls r1, r0, 24 - lsrs r1, 24 - movs r0, 0x5 - bl sub_804455C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0807699A - ldr r0, _080769BC @ =gUnknown_2024018 - ldr r0, [r0] - ldr r1, [r0] - ldr r2, [sp, 0x40] - lsls r0, r2, 2 - adds r0, r1 - ldrh r0, [r0, 0x2] - cmp r0, 0 - beq _080769C4 -_0807699A: - lsls r0, r6, 3 - ldr r1, _080769C0 @ =gMonFrontPicTable - adds r0, r1 - ldr r1, _080769B8 @ =gMonSpritesGfxPtr - ldr r1, [r1] - movs r3, 0xBE - lsls r3, 1 - adds r1, r3 - ldr r1, [r1] - movs r2, 0x1 - b _08076A46 - .align 2, 0 -_080769B0: .4byte gUnknown_83AE084 -_080769B4: .4byte gUnknown_83AE054 -_080769B8: .4byte gMonSpritesGfxPtr -_080769BC: .4byte gUnknown_2024018 -_080769C0: .4byte gMonFrontPicTable -_080769C4: - lsls r0, r6, 3 - ldr r1, _080769E4 @ =gMonFrontPicTable - adds r0, r1 - ldr r1, _080769E8 @ =gMonSpritesGfxPtr - ldr r1, [r1] - movs r2, 0xBE - lsls r2, 1 - adds r1, r2 - ldr r1, [r1] - movs r2, 0x1 - str r2, [sp] - adds r2, r6, 0 - mov r3, r8 - bl LoadSpecialPokePic - b _08076A7C - .align 2, 0 -_080769E4: .4byte gMonFrontPicTable -_080769E8: .4byte gMonSpritesGfxPtr -_080769EC: - adds r0, r6, 0 - ldr r1, [sp, 0x3C] - mov r2, r8 - bl GetFrontSpritePalFromSpeciesAndPersonality - lsls r1, r5, 20 - movs r3, 0x80 - lsls r3, 17 - adds r1, r3 - lsrs r1, 16 - movs r2, 0x20 - bl LoadCompressedPalette - ldr r0, [sp, 0x44] - cmp r0, 0x1 - beq _08076A32 - ldr r2, [sp, 0x40] - lsls r1, r2, 24 - lsrs r1, 24 - movs r0, 0x5 - bl sub_804455C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08076A32 - ldr r0, _08076A54 @ =gUnknown_2024018 - ldr r0, [r0] - ldr r1, [r0] - ldr r3, [sp, 0x40] - lsls r0, r3, 2 - adds r0, r1 - ldrh r2, [r0, 0x2] - cmp r2, 0 - beq _08076A60 -_08076A32: - lsls r0, r6, 3 - ldr r1, _08076A58 @ =gMonBackPicTable - adds r0, r1 - ldr r1, _08076A5C @ =gMonSpritesGfxPtr - ldr r1, [r1] - movs r2, 0xBE - lsls r2, 1 - adds r1, r2 - ldr r1, [r1] - movs r2, 0 -_08076A46: - str r2, [sp] - adds r2, r6, 0 - mov r3, r8 - bl LoadSpecialPokePic_DontHandleDeoxys - b _08076A7C - .align 2, 0 -_08076A54: .4byte gUnknown_2024018 -_08076A58: .4byte gMonBackPicTable -_08076A5C: .4byte gMonSpritesGfxPtr -_08076A60: - lsls r0, r6, 3 - ldr r1, _08076AC8 @ =gMonBackPicTable - adds r0, r1 - ldr r1, _08076ACC @ =gMonSpritesGfxPtr - ldr r1, [r1] - movs r3, 0xBE - lsls r3, 1 - adds r1, r3 - ldr r1, [r1] - str r2, [sp] - adds r2, r6, 0 - mov r3, r8 - bl LoadSpecialPokePic -_08076A7C: - ldr r5, _08076ACC @ =gMonSpritesGfxPtr - ldr r0, [r5] - movs r4, 0xBE - lsls r4, 1 - adds r0, r4 - ldr r0, [r0] - ldr r2, [sp, 0xC] - lsls r1, r2, 5 - ldr r3, _08076AD0 @ =0x06010000 - adds r1, r3 - movs r2, 0x80 - lsls r2, 4 - movs r3, 0x1 - bl RequestDma3Copy - ldr r0, [r5] - adds r0, r4 - ldr r0, [r0] - bl Free - ldr r0, [r5] - adds r0, r4 - movs r1, 0 - str r1, [r0] - mov r0, r9 - cmp r0, 0 - bne _08076ADC - lsls r0, r7, 1 - adds r0, r7 - lsls r0, 3 - ldr r1, _08076AD4 @ =gUnknown_83AE054 - adds r0, r1 - mov r2, r10 - lsls r1, r2, 16 - asrs r1, 16 - ldr r3, _08076AD8 @ =gUnknown_82349CC - b _08076AEE - .align 2, 0 -_08076AC8: .4byte gMonBackPicTable -_08076ACC: .4byte gMonSpritesGfxPtr -_08076AD0: .4byte 0x06010000 -_08076AD4: .4byte gUnknown_83AE054 -_08076AD8: .4byte gUnknown_82349CC -_08076ADC: - lsls r0, r7, 1 - adds r0, r7 - lsls r0, 3 - ldr r1, _08076B18 @ =gUnknown_83AE054 - adds r0, r1 - mov r2, r10 - lsls r1, r2, 16 - asrs r1, 16 - ldr r3, _08076B1C @ =gUnknown_8235E6C -_08076AEE: - lsls r2, r6, 2 - adds r2, r3 - ldrb r2, [r2, 0x1] - ldr r3, [sp, 0x4] - adds r2, r3 - lsls r2, 16 - asrs r2, 16 - ldr r3, [sp, 0x8] - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08076B18: .4byte gUnknown_83AE054 -_08076B1C: .4byte gUnknown_8235E6C - thumb_func_end sub_80768D0 - - thumb_func_start sub_8076B20 -sub_8076B20: @ 8076B20 - push {lr} - bl DestroySpriteAndFreeResources - pop {r0} - bx r0 - thumb_func_end sub_8076B20 - - thumb_func_start sub_8076B2C -sub_8076B2C: @ 8076B2C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _08076C08 - ldr r0, _08076B88 @ =gUnknown_2024018 - ldr r0, [r0] - ldr r0, [r0] - mov r1, r8 - lsls r2, r1, 2 - adds r1, r2, r0 - ldrh r0, [r1, 0x2] - cmp r0, 0 - bne _08076B94 - ldr r0, _08076B8C @ =gBattlerPartyIndexes - mov r1, r8 - lsls r4, r1, 1 - adds r4, r0 - ldrh r0, [r4] - movs r6, 0x64 - muls r0, r6 - ldr r5, _08076B90 @ =gPlayerParty - adds r0, r5 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r7, r0, 16 - ldrh r0, [r4] - muls r0, r6 - adds r0, r5 - movs r1, 0 - bl GetMonData - adds r2, r0, 0 - b _08076B9C - .align 2, 0 -_08076B88: .4byte gUnknown_2024018 -_08076B8C: .4byte gBattlerPartyIndexes -_08076B90: .4byte gPlayerParty -_08076B94: - ldrh r7, [r1, 0x2] - ldr r0, _08076BD4 @ =gUnknown_2024008 - adds r0, r2, r0 - ldr r2, [r0] -_08076B9C: - cmp r7, 0xC9 - bne _08076BEC - movs r0, 0xC0 - lsls r0, 18 - ands r0, r2 - lsrs r0, 18 - movs r1, 0xC0 - lsls r1, 10 - ands r1, r2 - lsrs r1, 12 - orrs r0, r1 - movs r1, 0xC0 - lsls r1, 2 - ands r1, r2 - lsrs r1, 6 - orrs r0, r1 - movs r1, 0x3 - ands r1, r2 - orrs r0, r1 - movs r1, 0x1C - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - bne _08076BD8 - movs r0, 0xC9 - b _08076BE2 - .align 2, 0 -_08076BD4: .4byte gUnknown_2024008 -_08076BD8: - movs r1, 0xCE - lsls r1, 1 - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 -_08076BE2: - lsls r1, r0, 2 - ldr r0, _08076BE8 @ =gUnknown_8235E6C - b _08076CDC - .align 2, 0 -_08076BE8: .4byte gUnknown_8235E6C -_08076BEC: - movs r0, 0xCE - lsls r0, 1 - cmp r7, r0 - bls _08076BFC - ldr r4, _08076BF8 @ =gUnknown_8235E6C - b _08076CDE - .align 2, 0 -_08076BF8: .4byte gUnknown_8235E6C -_08076BFC: - lsls r1, r7, 2 - ldr r0, _08076C04 @ =gUnknown_8235E6C - b _08076CDC - .align 2, 0 -_08076C04: .4byte gUnknown_8235E6C -_08076C08: - ldr r0, _08076C48 @ =gUnknown_2024018 - ldr r0, [r0] - ldr r0, [r0] - mov r1, r8 - lsls r2, r1, 2 - adds r1, r2, r0 - ldrh r0, [r1, 0x2] - cmp r0, 0 - bne _08076C54 - ldr r0, _08076C4C @ =gBattlerPartyIndexes - mov r1, r8 - lsls r4, r1, 1 - adds r4, r0 - ldrh r0, [r4] - movs r6, 0x64 - muls r0, r6 - ldr r5, _08076C50 @ =gEnemyParty - adds r0, r5 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r7, r0, 16 - ldrh r0, [r4] - muls r0, r6 - adds r0, r5 - movs r1, 0 - bl GetMonData - adds r2, r0, 0 - b _08076C5C - .align 2, 0 -_08076C48: .4byte gUnknown_2024018 -_08076C4C: .4byte gBattlerPartyIndexes -_08076C50: .4byte gEnemyParty -_08076C54: - ldrh r7, [r1, 0x2] - ldr r0, _08076C94 @ =gUnknown_2024008 - adds r0, r2, r0 - ldr r2, [r0] -_08076C5C: - cmp r7, 0xC9 - bne _08076CA6 - movs r0, 0xC0 - lsls r0, 18 - ands r0, r2 - lsrs r0, 18 - movs r1, 0xC0 - lsls r1, 10 - ands r1, r2 - lsrs r1, 12 - orrs r0, r1 - movs r1, 0xC0 - lsls r1, 2 - ands r1, r2 - lsrs r1, 6 - orrs r0, r1 - movs r1, 0x3 - ands r1, r2 - orrs r0, r1 - movs r1, 0x1C - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - bne _08076C98 - movs r0, 0xC9 - b _08076CA2 - .align 2, 0 -_08076C94: .4byte gUnknown_2024008 -_08076C98: - movs r1, 0xCE - lsls r1, 1 - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 -_08076CA2: - lsls r1, r0, 2 - b _08076CDA -_08076CA6: - ldr r0, _08076CBC @ =0x00000181 - cmp r7, r0 - bne _08076CC8 - ldr r0, _08076CC0 @ =gBattleMonForms - add r0, r8 - ldrb r0, [r0] - lsls r0, 2 - ldr r1, _08076CC4 @ =gUnknown_83AE03C - adds r4, r0, r1 - b _08076CDE - .align 2, 0 -_08076CBC: .4byte 0x00000181 -_08076CC0: .4byte gBattleMonForms -_08076CC4: .4byte gUnknown_83AE03C -_08076CC8: - movs r0, 0xCE - lsls r0, 1 - cmp r7, r0 - bls _08076CD8 - ldr r4, _08076CD4 @ =gUnknown_82349CC - b _08076CDE - .align 2, 0 -_08076CD4: .4byte gUnknown_82349CC -_08076CD8: - lsls r1, r7, 2 -_08076CDA: - ldr r0, _08076CF0 @ =gUnknown_82349CC -_08076CDC: - adds r4, r1, r0 -_08076CDE: - mov r0, r9 - cmp r0, 0x6 - bhi _08076D8E - lsls r0, 2 - ldr r1, _08076CF4 @ =_08076CF8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08076CF0: .4byte gUnknown_82349CC -_08076CF4: .4byte _08076CF8 - .align 2, 0 -_08076CF8: - .4byte _08076D14 - .4byte _08076D1E - .4byte _08076D4A - .4byte _08076D62 - .4byte _08076D26 - .4byte _08076D38 - .4byte _08076D7A -_08076D14: - ldrb r1, [r4] - movs r0, 0xF - ands r0, r1 - lsls r0, 3 - b _08076D90 -_08076D1E: - ldrb r0, [r4] - lsrs r0, 4 - lsls r0, 3 - b _08076D90 -_08076D26: - mov r0, r8 - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r4] - lsrs r1, 4 - b _08076D5C -_08076D38: - mov r0, r8 - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r4] - lsrs r1, 4 - b _08076D74 -_08076D4A: - mov r0, r8 - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrb r2, [r4] - movs r1, 0xF - ands r1, r2 -_08076D5C: - lsls r1, 2 - subs r0, r1 - b _08076D90 -_08076D62: - mov r0, r8 - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrb r2, [r4] - movs r1, 0xF - ands r1, r2 -_08076D74: - lsls r1, 2 - adds r0, r1 - b _08076D90 -_08076D7A: - mov r0, r8 - movs r1, 0x1 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x1F - ldrb r1, [r4, 0x1] - subs r0, r1 - b _08076D90 -_08076D8E: - movs r0, 0 -_08076D90: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8076B2C - - thumb_func_start sub_8076D9C -sub_8076D9C: @ 8076D9C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - mov r9, r2 - mov r10, r3 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - cmp r1, 0 - bne _08076DBA - movs r5, 0 - movs r6, 0x1 - b _08076DBE -_08076DBA: - movs r5, 0x2 - movs r6, 0x3 -_08076DBE: - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - adds r0, r4, 0 - adds r1, r6, 0 - bl sub_8074480 - lsls r0, 24 - lsrs r7, r0, 24 - bl sub_8075290 - lsls r0, 24 - cmp r0, 0 - beq _08076E06 - movs r0, 0x2 - eors r4, r0 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_8074480 - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r4, 0 - adds r1, r6, 0 - bl sub_8074480 - lsls r0, 24 - lsrs r3, r0, 24 - mov r0, r8 - lsls r1, r0, 16 - lsls r2, r7, 16 - b _08076E12 -_08076E06: - mov r0, r8 - lsls r1, r0, 16 - lsrs r5, r1, 16 - lsls r0, r7, 16 - lsrs r3, r0, 16 - adds r2, r0, 0 -_08076E12: - asrs r0, r1, 16 - adds r0, r5 - asrs r0, 1 - mov r1, r9 - strh r0, [r1] - asrs r0, r2, 16 - adds r0, r3 - asrs r0, 1 - mov r1, r10 - strh r0, [r1] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8076D9C - - thumb_func_start sub_8076E34 -sub_8076E34: @ 8076E34 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - sub sp, 0x4 - lsls r6, r1, 24 - lsrs r6, 24 - ldr r0, _08076ECC @ =SpriteCallbackDummy - mov r10, r0 - bl CreateInvisibleSpriteWithCallback - mov r8, r0 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, _08076ED0 @ =gSprites - mov r9, r0 - mov r0, r8 - lsls r3, r0, 4 - add r3, r8 - lsls r3, 2 - mov r0, r9 - adds r5, r3, r0 - lsls r4, r6, 4 - adds r4, r6 - lsls r4, 2 - add r4, r9 - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x44 - str r3, [sp] - bl memcpy - adds r2, r5, 0 - adds r2, 0x3F - ldrb r0, [r2] - movs r1, 0x40 - orrs r0, r1 - strb r0, [r2] - ldrb r2, [r5, 0x5] - movs r1, 0xD - negs r1, r1 - adds r0, r1, 0 - ands r0, r2 - strb r0, [r5, 0x5] - ldrb r0, [r5, 0x1] - ands r1, r0 - movs r0, 0x8 - orrs r1, r0 - strb r1, [r5, 0x1] - ldrh r1, [r4, 0x4] - lsls r1, 22 - lsrs r1, 22 - ldrh r2, [r5, 0x4] - ldr r0, _08076ED4 @ =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r5, 0x4] - movs r0, 0x1C - add r9, r0 - ldr r3, [sp] - add r3, r9 - mov r0, r10 - str r0, [r3] - mov r0, r8 - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08076ECC: .4byte SpriteCallbackDummy -_08076ED0: .4byte gSprites -_08076ED4: .4byte 0xfffffc00 - thumb_func_end sub_8076E34 - - thumb_func_start sub_8076ED8 -sub_8076ED8: @ 8076ED8 - push {r4,lr} - adds r4, r0, 0 - bl sub_8074FCC - ldr r0, _08076F10 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _08076F18 - ldr r2, _08076F14 @ =gBattleAnimArgs - ldrh r0, [r4, 0x20] - ldrh r1, [r2] - subs r0, r1 - strh r0, [r4, 0x20] - ldrh r0, [r2, 0x6] - negs r0, r0 - strh r0, [r2, 0x6] - adds r3, r4, 0 - adds r3, 0x3F - ldrb r0, [r3] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r3] - adds r1, r2, 0 - b _08076F22 - .align 2, 0 -_08076F10: .4byte gBattleAnimAttacker -_08076F14: .4byte gBattleAnimArgs -_08076F18: - ldr r1, _08076F4C @ =gBattleAnimArgs - ldrh r0, [r1] - ldrh r2, [r4, 0x20] - adds r0, r2 - strh r0, [r4, 0x20] -_08076F22: - ldrh r0, [r1, 0x2] - ldrh r2, [r4, 0x22] - adds r0, r2 - strh r0, [r4, 0x22] - ldrh r0, [r1, 0x4] - strh r0, [r4, 0x2E] - ldrh r0, [r1, 0x6] - strh r0, [r4, 0x30] - ldrh r0, [r1, 0x8] - strh r0, [r4, 0x34] - ldrh r0, [r1, 0xA] - strh r0, [r4, 0x38] - ldr r1, _08076F50 @ =move_anim_8074EE0 - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - ldr r0, _08076F54 @ =sub_8074E70 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08076F4C: .4byte gBattleAnimArgs -_08076F50: .4byte move_anim_8074EE0 -_08076F54: .4byte sub_8074E70 - thumb_func_end sub_8076ED8 - - thumb_func_start sub_8076F58 -sub_8076F58: @ 8076F58 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _08076F80 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _08076F88 - ldr r2, _08076F84 @ =gBattleAnimArgs - ldrh r0, [r4, 0x20] - ldrh r1, [r2] - subs r0, r1 - strh r0, [r4, 0x20] - movs r1, 0x6 - ldrsh r0, [r2, r1] - negs r0, r0 - strh r0, [r2, 0x6] - adds r1, r2, 0 - b _08076F92 - .align 2, 0 -_08076F80: .4byte gBattleAnimAttacker -_08076F84: .4byte gBattleAnimArgs -_08076F88: - ldr r1, _08076FC4 @ =gBattleAnimArgs - ldrh r0, [r1] - ldrh r2, [r4, 0x20] - adds r0, r2 - strh r0, [r4, 0x20] -_08076F92: - ldrh r0, [r1, 0x2] - ldrh r2, [r4, 0x22] - adds r0, r2 - strh r0, [r4, 0x22] - ldrh r0, [r1, 0x4] - strh r0, [r4, 0x2E] - ldrh r0, [r1, 0x6] - strh r0, [r4, 0x30] - ldrh r0, [r1, 0x8] - strh r0, [r4, 0x34] - ldrh r0, [r1, 0xA] - strh r0, [r4, 0x38] - ldrb r1, [r1, 0xC] - adds r0, r4, 0 - bl StartSpriteAnim - ldr r1, _08076FC8 @ =move_anim_8074EE0 - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - ldr r0, _08076FCC @ =sub_8074E70 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08076FC4: .4byte gBattleAnimArgs -_08076FC8: .4byte move_anim_8074EE0 -_08076FCC: .4byte sub_8074E70 - thumb_func_end sub_8076F58 - - thumb_func_start sub_8076FD0 -sub_8076FD0: @ 8076FD0 - push {r4,lr} - adds r4, r0, 0 - bl sub_8074FCC - ldr r0, _08076FF4 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _08076FFC - ldr r0, _08076FF8 @ =gBattleAnimArgs - ldrh r1, [r4, 0x20] - ldrh r2, [r0] - subs r1, r2 - strh r1, [r4, 0x20] - b _08077008 - .align 2, 0 -_08076FF4: .4byte gBattleAnimAttacker -_08076FF8: .4byte gBattleAnimArgs -_08076FFC: - ldr r1, _08077024 @ =gBattleAnimArgs - ldrh r0, [r1] - ldrh r2, [r4, 0x20] - adds r0, r2 - strh r0, [r4, 0x20] - adds r0, r1, 0 -_08077008: - ldrh r0, [r0, 0x2] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - ldr r0, _08077028 @ =sub_8074F6C - str r0, [r4, 0x1C] - ldr r1, _0807702C @ =DestroyAnimSprite - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08077024: .4byte gBattleAnimArgs -_08077028: .4byte sub_8074F6C -_0807702C: .4byte DestroyAnimSprite - thumb_func_end sub_8076FD0 - - thumb_func_start sub_8077030 -sub_8077030: @ 8077030 - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _080770C4 @ =gTasks - adds r5, r1, r0 - movs r0, 0 - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r0, 24 - movs r6, 0 - strh r0, [r5, 0x8] - ldr r7, _080770C8 @ =gBattleAnimAttacker - ldrb r0, [r7] - bl GetBattlerSide - lsls r0, 24 - movs r1, 0x8 - cmp r0, 0 - beq _08077064 - movs r0, 0x8 - negs r0, r0 - adds r1, r0, 0 -_08077064: - strh r1, [r5, 0xA] - strh r6, [r5, 0xC] - strh r6, [r5, 0xE] - ldr r4, _080770CC @ =gSprites - movs r0, 0x8 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x24] - ldrh r2, [r5, 0x8] - subs r1, r2 - strh r1, [r0, 0x24] - ldr r0, _080770D0 @ =0x00002771 - bl AllocSpritePalette - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x10] - strh r6, [r5, 0x12] - movs r1, 0x10 - ldrsh r0, [r5, r1] - adds r0, 0x10 - lsls r0, 20 - lsrs r6, r0, 16 - movs r0, 0x8 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r0, [r0, 0x5] - lsrs r0, 4 - adds r0, 0x10 - lsls r4, r0, 4 - ldrb r0, [r7] - bl sub_807685C - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x14] - cmp r0, 0x14 - beq _080770C0 - cmp r0, 0x28 - bne _080770D4 -_080770C0: - movs r0, 0x2 - b _080770D6 - .align 2, 0 -_080770C4: .4byte gTasks -_080770C8: .4byte gBattleAnimAttacker -_080770CC: .4byte gSprites -_080770D0: .4byte 0x00002771 -_080770D4: - movs r0, 0x3 -_080770D6: - strh r0, [r5, 0x14] - lsls r0, r4, 1 - ldr r1, _08077104 @ =gPlttBufferUnfaded - adds r0, r1 - lsls r1, r6, 1 - ldr r2, _08077108 @ =gPlttBufferFaded - adds r1, r2 - ldr r2, _0807710C @ =0x04000008 - bl CpuSet - ldr r0, _08077110 @ =gBattleAnimArgs - ldrb r2, [r0, 0x2] - ldrh r3, [r0] - adds r0, r6, 0 - movs r1, 0x10 - bl BlendPalette - ldr r0, _08077114 @ =sub_8077118 - str r0, [r5] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08077104: .4byte gPlttBufferUnfaded -_08077108: .4byte gPlttBufferFaded -_0807710C: .4byte 0x04000008 -_08077110: .4byte gBattleAnimArgs -_08077114: .4byte sub_8077118 - thumb_func_end sub_8077030 - - thumb_func_start sub_8077118 -sub_8077118: @ 8077118 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0807713C @ =gTasks - adds r4, r0, r1 - movs r1, 0xC - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _0807717C - cmp r0, 0x1 - bgt _08077140 - cmp r0, 0 - beq _08077146 - b _080771D8 - .align 2, 0 -_0807713C: .4byte gTasks -_08077140: - cmp r0, 0x2 - beq _080771C4 - b _080771D8 -_08077146: - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80771E4 - ldr r2, _08077178 @ =gSprites - movs r0, 0x8 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r4, 0xA] - ldrh r2, [r0, 0x24] - adds r1, r2 - strh r1, [r0, 0x24] - ldrh r1, [r4, 0xE] - adds r0, r1, 0x1 - strh r0, [r4, 0xE] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - bne _080771D8 - strh r1, [r4, 0xE] - b _080771B6 - .align 2, 0 -_08077178: .4byte gSprites -_0807717C: - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80771E4 - ldr r3, _080771C0 @ =gSprites - movs r0, 0x8 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r0, 0x24] - ldrh r2, [r4, 0xA] - subs r1, r2 - strh r1, [r0, 0x24] - ldrh r0, [r4, 0xE] - subs r0, 0x1 - strh r0, [r4, 0xE] - lsls r0, 16 - asrs r2, r0, 16 - cmp r2, 0 - bne _080771D8 - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - strh r2, [r1, 0x24] -_080771B6: - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - b _080771D8 - .align 2, 0 -_080771C0: .4byte gSprites -_080771C4: - movs r2, 0x12 - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _080771D8 - ldr r0, _080771E0 @ =0x00002771 - bl FreeSpritePaletteByTag - adds r0, r5, 0 - bl DestroyAnimVisualTask -_080771D8: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080771E0: .4byte 0x00002771 - thumb_func_end sub_8077118 - - thumb_func_start sub_80771E4 -sub_80771E4: @ 80771E4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - movs r0, 0 - bl duplicate_obj_of_side_rel2move_in_transparent_mode - lsls r0, 16 - lsrs r7, r0, 16 - asrs r0, 16 - cmp r0, 0 - blt _08077254 - ldr r5, _08077260 @ =gSprites - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - adds r3, r4, r5 - movs r0, 0x3 - ldrb r1, [r6, 0x14] - ands r1, r0 - lsls r1, 2 - ldrb r2, [r3, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x5] - ldrb r1, [r6, 0x10] - lsls r1, 4 - movs r2, 0xF - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x5] - movs r0, 0x8 - strh r0, [r3, 0x2E] - mov r0, r8 - strh r0, [r3, 0x30] - strh r7, [r3, 0x32] - movs r0, 0x8 - ldrsh r1, [r6, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrh r0, [r0, 0x24] - strh r0, [r3, 0x24] - adds r5, 0x1C - adds r4, r5 - ldr r0, _08077264 @ =sub_8077268 - str r0, [r4] - ldrh r0, [r6, 0x12] - adds r0, 0x1 - strh r0, [r6, 0x12] -_08077254: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08077260: .4byte gSprites -_08077264: .4byte sub_8077268 - thumb_func_end sub_80771E4 - - thumb_func_start sub_8077268 -sub_8077268: @ 8077268 - push {lr} - adds r3, r0, 0 - ldrh r0, [r3, 0x2E] - subs r0, 0x1 - strh r0, [r3, 0x2E] - lsls r0, 16 - cmp r0, 0 - bne _08077292 - ldr r2, _08077298 @ =gTasks - movs r0, 0x30 - ldrsh r1, [r3, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrh r1, [r0, 0x12] - subs r1, 0x1 - strh r1, [r0, 0x12] - adds r0, r3, 0 - bl obj_delete_but_dont_free_vram -_08077292: - pop {r0} - bx r0 - .align 2, 0 -_08077298: .4byte gTasks - thumb_func_end sub_8077268 - - thumb_func_start sub_807729C -sub_807729C: @ 807729C - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, _080772D0 @ =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080772D4 - movs r0, 0x5 - b _080772D6 - .align 2, 0 -_080772D0: .4byte gBattleAnimAttacker -_080772D4: - ldr r0, _080772E8 @ =0x0000fff6 -_080772D6: - strh r0, [r5, 0x2E] - ldr r0, _080772EC @ =0x0000ffd8 - strh r0, [r5, 0x30] - ldr r0, _080772F0 @ =sub_80772F4 - str r0, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080772E8: .4byte 0x0000fff6 -_080772EC: .4byte 0x0000ffd8 -_080772F0: .4byte sub_80772F4 - thumb_func_end sub_807729C - - thumb_func_start sub_80772F4 -sub_80772F4: @ 80772F4 - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - ldrh r1, [r4, 0x32] - adds r0, r1 - strh r0, [r4, 0x32] - ldrh r5, [r4, 0x30] - ldrh r2, [r4, 0x34] - adds r0, r5, r2 - strh r0, [r4, 0x34] - movs r1, 0x32 - ldrsh r0, [r4, r1] - movs r1, 0xA - bl __divsi3 - strh r0, [r4, 0x24] - movs r2, 0x34 - ldrsh r0, [r4, r2] - movs r1, 0xA - bl __divsi3 - strh r0, [r4, 0x26] - lsls r0, r5, 16 - asrs r0, 16 - movs r1, 0x14 - negs r1, r1 - cmp r0, r1 - bge _08077330 - adds r0, r5, 0x1 - strh r0, [r4, 0x30] -_08077330: - movs r1, 0x22 - ldrsh r0, [r4, r1] - movs r2, 0x26 - ldrsh r1, [r4, r2] - adds r0, r1 - movs r1, 0x20 - negs r1, r1 - cmp r0, r1 - bge _08077348 - adds r0, r4, 0 - bl DestroyAnimSprite -_08077348: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80772F4 - - thumb_func_start sub_8077350 -sub_8077350: @ 8077350 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, _08077388 @ =gBattleAnimArgs - ldrh r0, [r5, 0x4] - strh r0, [r4, 0x2E] - ldrh r0, [r5, 0x8] - ldrh r1, [r4, 0x20] - adds r0, r1 - strh r0, [r4, 0x32] - ldrh r0, [r5, 0xA] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x36] - ldr r0, _0807738C @ =gBattleAnimTarget - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _08077390 - ldrh r0, [r5, 0x8] - adds r0, 0x1E - ldrh r1, [r4, 0x20] - adds r0, r1 - strh r0, [r4, 0x20] - ldrh r0, [r5, 0xA] - subs r0, 0x14 - b _0807739E - .align 2, 0 -_08077388: .4byte gBattleAnimArgs -_0807738C: .4byte gBattleAnimTarget -_08077390: - ldrh r0, [r5, 0x8] - subs r0, 0x1E - ldrh r1, [r4, 0x20] - adds r0, r1 - strh r0, [r4, 0x20] - ldrh r0, [r5, 0xA] - subs r0, 0x50 -_0807739E: - strh r0, [r4, 0x22] - ldr r0, _080773B4 @ =sub_8075590 - str r0, [r4, 0x1C] - ldr r1, _080773B8 @ =DestroyAnimSprite - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080773B4: .4byte sub_8075590 -_080773B8: .4byte DestroyAnimSprite - thumb_func_end sub_8077350 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/battle_anim_8078178.s b/asm/battle_anim_8078178.s deleted file mode 100644 index 5530fd869..000000000 --- a/asm/battle_anim_8078178.s +++ /dev/null @@ -1,977 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_8078178 -sub_8078178: @ 8078178 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - ldr r0, _0807821C @ =gBattlerSpriteIds - adds r0, r4, r0 - ldrb r6, [r0] - ldr r0, _08078220 @ =sub_80782BC - movs r1, 0xA - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, _08078224 @ =gUnknown_83AD048 - bl sub_800F034 - ldr r0, _08078228 @ =gUnknown_83AD950 - bl sub_800F078 - ldr r1, _0807822C @ =gTasks - mov r2, r8 - lsls r0, r2, 2 - add r0, r8 - lsls r0, 3 - adds r1, r0, r1 - strh r4, [r1, 0x8] - cmp r5, 0 - beq _08078238 - movs r0, 0x1F - strh r0, [r1, 0xA] - movs r5, 0 - lsls r0, r6, 4 - ldr r7, _08078230 @ =gSprites - adds r0, r6 - lsls r0, 2 - adds r6, r0, r7 -_080781CC: - movs r0, 0x20 - ldrsh r1, [r6, r0] - ldrh r2, [r6, 0x22] - adds r2, 0x20 - lsls r2, 16 - asrs r2, 16 - ldr r0, _08078234 @ =gUnknown_83BF574 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r3, r0, r7 - lsls r0, r5, 1 - adds r0, r5 - lsls r1, r0, 4 - adds r0, r1 - strh r0, [r3, 0x2E] - movs r0, 0xFF - lsls r0, 8 - strh r0, [r3, 0x30] - adds r2, r3, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - cmp r5, 0x4 - bls _08078210 - movs r0, 0x15 - strh r0, [r3, 0x3A] -_08078210: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x9 - bls _080781CC - b _08078298 - .align 2, 0 -_0807821C: .4byte gBattlerSpriteIds -_08078220: .4byte sub_80782BC -_08078224: .4byte gUnknown_83AD048 -_08078228: .4byte gUnknown_83AD950 -_0807822C: .4byte gTasks -_08078230: .4byte gSprites -_08078234: .4byte gUnknown_83BF574 -_08078238: - movs r0, 0xF8 - lsls r0, 7 - strh r0, [r1, 0xA] - movs r5, 0 - lsls r0, r6, 4 - ldr r7, _080782B4 @ =gSprites - adds r0, r6 - lsls r0, 2 - adds r6, r0, r7 -_0807824A: - movs r2, 0x20 - ldrsh r1, [r6, r2] - ldrh r2, [r6, 0x22] - subs r2, 0x20 - lsls r2, 16 - asrs r2, 16 - ldr r0, _080782B8 @ =gUnknown_83BF574 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r3, r0, r7 - lsls r0, r5, 1 - adds r0, r5 - lsls r1, r0, 4 - adds r0, r1 - strh r0, [r3, 0x2E] - movs r0, 0x80 - lsls r0, 1 - strh r0, [r3, 0x30] - adds r2, r3, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - cmp r5, 0x4 - bls _0807828E - movs r0, 0x15 - strh r0, [r3, 0x3A] -_0807828E: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x9 - bls _0807824A -_08078298: - ldr r0, _080782B4 @ =gSprites - lsls r1, r4, 4 - adds r1, r4 - lsls r1, 2 - adds r1, r0 - movs r0, 0x1 - strh r0, [r1, 0x3C] - mov r0, r8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080782B4: .4byte gSprites -_080782B8: .4byte gUnknown_83BF574 - thumb_func_end sub_8078178 - - thumb_func_start sub_80782BC -sub_80782BC: @ 80782BC - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _08078314 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - ldrh r1, [r4, 0xC] - movs r2, 0xC - ldrsh r0, [r4, r2] - cmp r0, 0x2 - bne _08078342 - movs r0, 0 - strh r0, [r4, 0xC] - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 20 - movs r2, 0x80 - lsls r2, 17 - adds r0, r2 - lsrs r0, 16 - ldrb r2, [r4, 0x10] - ldrh r3, [r4, 0xA] - movs r1, 0x10 - bl BlendPalette - ldrh r2, [r4, 0x12] - movs r1, 0x12 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08078318 - ldrh r0, [r4, 0x10] - adds r0, 0x1 - strh r0, [r4, 0x10] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x8 - ble _08078346 - movs r0, 0x1 - eors r0, r2 - strh r0, [r4, 0x12] - b _08078346 - .align 2, 0 -_08078314: .4byte gTasks -_08078318: - ldrh r1, [r4, 0x10] - subs r0, r1, 0x1 - strh r0, [r4, 0x10] - lsls r0, 16 - cmp r0, 0 - bge _08078346 - strh r1, [r4, 0x10] - movs r0, 0x1 - eors r0, r2 - strh r0, [r4, 0x12] - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - bne _08078346 - adds r0, r5, 0 - bl DestroyTask - b _08078346 -_08078342: - adds r0, r1, 0x1 - strh r0, [r4, 0xC] -_08078346: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80782BC - - thumb_func_start sub_807834C -sub_807834C: @ 807834C - push {lr} - adds r2, r0, 0 - ldrh r1, [r2, 0x3A] - movs r3, 0x3A - ldrsh r0, [r2, r3] - cmp r0, 0 - bne _08078378 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x5 - negs r1, r1 - ands r1, r0 - strb r1, [r3] - ldr r1, _08078374 @ =sub_8078380 - str r1, [r2, 0x1C] - adds r0, r2, 0 - bl _call_via_r1 - b _0807837C - .align 2, 0 -_08078374: .4byte sub_8078380 -_08078378: - subs r0, r1, 0x1 - strh r0, [r2, 0x3A] -_0807837C: - pop {r0} - bx r0 - thumb_func_end sub_807834C - - thumb_func_start sub_8078380 -sub_8078380: @ 8078380 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - movs r1, 0x20 - bl Cos - strh r0, [r4, 0x24] - movs r1, 0x2E - ldrsh r0, [r4, r1] - movs r1, 0x8 - bl Sin - strh r0, [r4, 0x26] - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x7F - bgt _080783AC - adds r1, r4, 0 - adds r1, 0x43 - movs r0, 0x1D - b _080783B2 -_080783AC: - adds r1, r4, 0 - adds r1, 0x43 - movs r0, 0x1F -_080783B2: - strb r0, [r1] - ldrh r0, [r4, 0x2E] - adds r0, 0x8 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x30] - ldrh r1, [r4, 0x38] - adds r0, r1 - strh r0, [r4, 0x38] - lsls r0, 16 - asrs r0, 24 - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x34 - bne _080783F4 - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080783EE - adds r0, r4, 0 - bl DestroySpriteAndFreeResources - b _080783F4 -_080783EE: - adds r0, r4, 0 - bl DestroySprite -_080783F4: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8078380 - - thumb_func_start sub_80783FC -sub_80783FC: @ 80783FC - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r4, _080784AC @ =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 8 - ldr r1, _080784B0 @ =0xffe00000 - adds r0, r1 - lsrs r5, r0, 16 - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 8 - ldr r1, _080784B4 @ =0xffdc0000 - adds r0, r1 - lsrs r4, r0, 16 - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - beq _0807843A - lsls r0, r5, 16 - ldr r1, _080784B8 @ =0xfffa0000 - adds r0, r1 - lsrs r5, r0, 16 -_0807843A: - movs r1, 0xFD - lsls r1, 6 - movs r0, 0x50 - bl SetGpuReg - movs r1, 0x80 - lsls r1, 5 - movs r0, 0x52 - bl SetGpuReg - ldr r0, _080784BC @ =gUnknown_83BF55C - lsls r1, r5, 16 - asrs r1, 16 - lsls r2, r4, 16 - asrs r2, 16 - movs r3, 0x4 - bl CreateSprite - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080784C0 @ =0x0000271a - bl GetSpriteTileStartByTag - lsls r0, 16 - ldr r1, _080784C4 @ =0xffff0000 - cmp r0, r1 - bne _08078484 - ldr r1, _080784C8 @ =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_08078484: - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - ldr r1, _080784C8 @ =gSprites - adds r0, r1 - ldr r1, _080784CC @ =gUnknown_83BF554 - bl SetSubspriteTables - ldr r1, _080784D0 @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - strh r4, [r0, 0x26] - ldr r1, _080784D4 @ =sub_80784D8 - str r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080784AC: .4byte gBattleAnimTarget -_080784B0: .4byte 0xffe00000 -_080784B4: .4byte 0xffdc0000 -_080784B8: .4byte 0xfffa0000 -_080784BC: .4byte gUnknown_83BF55C -_080784C0: .4byte 0x0000271a -_080784C4: .4byte 0xffff0000 -_080784C8: .4byte gSprites -_080784CC: .4byte gUnknown_83BF554 -_080784D0: .4byte gTasks -_080784D4: .4byte sub_80784D8 - thumb_func_end sub_80783FC - - thumb_func_start sub_80784D8 -sub_80784D8: @ 80784D8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08078504 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrh r0, [r1, 0xA] - adds r0, 0x1 - adds r2, r0, 0 - strh r0, [r1, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA - bne _0807850C - ldr r0, _08078508 @ =sub_8078528 - str r0, [r1] - movs r0, 0 - strh r0, [r1, 0xA] - b _08078522 - .align 2, 0 -_08078504: .4byte gTasks -_08078508: .4byte sub_8078528 -_0807850C: - lsls r0, r2, 24 - lsrs r0, 24 - movs r1, 0x10 - subs r1, r0 - lsls r1, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg -_08078522: - pop {r0} - bx r0 - thumb_func_end sub_80784D8 - - thumb_func_start sub_8078528 -sub_8078528: @ 8078528 - push {r4-r6,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _080785C0 @ =0x0000271a - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, _080785C4 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r5, r0, r1 - ldrh r0, [r5, 0xA] - adds r1, r0, 0x1 - strh r1, [r5, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xD - ble _080785B8 - ldrh r0, [r5, 0xC] - adds r0, 0x1 - movs r6, 0 - strh r0, [r5, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - bne _080785B8 - ldr r3, _080785C8 @ =gPlttBufferFaded - lsls r2, 4 - mov r12, r2 - ldr r1, _080785CC @ =0x0000010d - add r1, r12 - lsls r1, 1 - adds r1, r3 - ldrh r4, [r1] - movs r2, 0x87 - lsls r2, 1 - add r2, r12 - lsls r2, 1 - adds r2, r3 - ldrh r0, [r2] - strh r0, [r1] - ldr r0, _080785D0 @ =0x0000010f - add r0, r12 - lsls r0, 1 - adds r0, r3 - ldrh r1, [r0] - strh r1, [r2] - strh r4, [r0] - strh r6, [r5, 0xC] - ldrh r0, [r5, 0xE] - adds r0, 0x1 - strh r0, [r5, 0xE] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - bne _080785B8 - strh r6, [r5, 0xE] - strh r6, [r5, 0xA] - ldrh r0, [r5, 0x10] - adds r0, 0x1 - strh r0, [r5, 0x10] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - bne _080785B8 - movs r0, 0x9 - strh r0, [r5, 0xA] - ldr r0, _080785D4 @ =sub_80785D8 - str r0, [r5] -_080785B8: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080785C0: .4byte 0x0000271a -_080785C4: .4byte gTasks -_080785C8: .4byte gPlttBufferFaded -_080785CC: .4byte 0x0000010d -_080785D0: .4byte 0x0000010f -_080785D4: .4byte sub_80785D8 - thumb_func_end sub_8078528 - - thumb_func_start sub_80785D8 -sub_80785D8: @ 80785D8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08078608 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r2, r1, r2 - ldrh r0, [r2, 0xA] - subs r0, 0x1 - adds r3, r0, 0 - strh r0, [r2, 0xA] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _08078610 - ldr r0, _0807860C @ =sub_807862C - str r0, [r2] - movs r0, 0 - strh r0, [r2, 0xA] - b _08078626 - .align 2, 0 -_08078608: .4byte gTasks -_0807860C: .4byte sub_807862C -_08078610: - lsls r0, r3, 24 - lsrs r0, 24 - movs r1, 0x10 - subs r1, r0 - lsls r1, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg -_08078626: - pop {r0} - bx r0 - thumb_func_end sub_80785D8 - - thumb_func_start sub_807862C -sub_807862C: @ 807862C - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - adds r4, r0, 0 - ldr r1, _0807866C @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, r0, r1 - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x25 - bne _08078674 - ldrh r0, [r1, 0x26] - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, _08078670 @ =gSprites - adds r4, r0 - adds r0, r4, 0 - bl FreeSpriteOamMatrix - adds r0, r4, 0 - bl DestroySprite - b _0807868E - .align 2, 0 -_0807866C: .4byte gTasks -_08078670: .4byte gSprites -_08078674: - cmp r0, 0x27 - bne _0807868E - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - adds r0, r4, 0 - bl DestroyAnimVisualTask -_0807868E: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_807862C - - thumb_func_start sub_8078694 -sub_8078694: @ 8078694 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r3, 0 - ldr r0, _080786B8 @ =gUnknown_2024018 - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrh r0, [r0] - subs r0, 0xF - cmp r0, 0x2B - bls _080786AC - b _08078830 -_080786AC: - lsls r0, 2 - ldr r1, _080786BC @ =_080786C0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080786B8: .4byte gUnknown_2024018 -_080786BC: .4byte _080786C0 - .align 2, 0 -_080786C0: - .4byte _08078770 - .4byte _08078776 - .4byte _0807877C - .4byte _08078782 - .4byte _08078788 - .4byte _0807878E - .4byte _08078794 - .4byte _0807879A - .4byte _080787A0 - .4byte _080787A6 - .4byte _080787AC - .4byte _080787B2 - .4byte _080787B8 - .4byte _080787BE - .4byte _08078830 - .4byte _08078830 - .4byte _08078830 - .4byte _08078830 - .4byte _08078830 - .4byte _08078830 - .4byte _08078830 - .4byte _08078830 - .4byte _08078830 - .4byte _08078830 - .4byte _080787C4 - .4byte _080787C8 - .4byte _080787CC - .4byte _080787D0 - .4byte _080787D4 - .4byte _080787D8 - .4byte _080787DC - .4byte _080787E0 - .4byte _080787E8 - .4byte _080787F0 - .4byte _080787F8 - .4byte _08078800 - .4byte _08078808 - .4byte _08078810 - .4byte _08078830 - .4byte _08078830 - .4byte _08078818 - .4byte _0807881C - .4byte _08078820 - .4byte _08078828 -_08078770: - movs r5, 0 - movs r2, 0 - b _08078838 -_08078776: - movs r5, 0 - movs r2, 0x1 - b _08078838 -_0807877C: - movs r5, 0 - movs r2, 0x3 - b _08078838 -_08078782: - movs r5, 0 - movs r2, 0x5 - b _08078838 -_08078788: - movs r5, 0 - movs r2, 0x6 - b _08078838 -_0807878E: - movs r5, 0 - movs r2, 0x2 - b _08078838 -_08078794: - movs r5, 0 - movs r2, 0x4 - b _08078838 -_0807879A: - movs r5, 0x1 - movs r2, 0 - b _08078838 -_080787A0: - movs r5, 0x1 - movs r2, 0x1 - b _08078838 -_080787A6: - movs r5, 0x1 - movs r2, 0x3 - b _08078838 -_080787AC: - movs r5, 0x1 - movs r2, 0x5 - b _08078838 -_080787B2: - movs r5, 0x1 - movs r2, 0x6 - b _08078838 -_080787B8: - movs r5, 0x1 - movs r2, 0x2 - b _08078838 -_080787BE: - movs r5, 0x1 - movs r2, 0x4 - b _08078838 -_080787C4: - movs r5, 0 - b _080787E2 -_080787C8: - movs r5, 0 - b _080787EA -_080787CC: - movs r5, 0 - b _080787F2 -_080787D0: - movs r5, 0 - b _080787FA -_080787D4: - movs r5, 0 - b _08078802 -_080787D8: - movs r5, 0 - b _0807880A -_080787DC: - movs r5, 0 - b _08078812 -_080787E0: - movs r5, 0x1 -_080787E2: - movs r2, 0 - movs r3, 0x1 - b _08078838 -_080787E8: - movs r5, 0x1 -_080787EA: - movs r2, 0x1 - movs r3, 0x1 - b _08078838 -_080787F0: - movs r5, 0x1 -_080787F2: - movs r2, 0x3 - movs r3, 0x1 - b _08078838 -_080787F8: - movs r5, 0x1 -_080787FA: - movs r2, 0x5 - movs r3, 0x1 - b _08078838 -_08078800: - movs r5, 0x1 -_08078802: - movs r2, 0x6 - movs r3, 0x1 - b _08078838 -_08078808: - movs r5, 0x1 -_0807880A: - movs r2, 0x2 - movs r3, 0x1 - b _08078838 -_08078810: - movs r5, 0x1 -_08078812: - movs r2, 0x4 - movs r3, 0x1 - b _08078838 -_08078818: - movs r5, 0 - b _08078822 -_0807881C: - movs r5, 0 - b _0807882A -_08078820: - movs r5, 0x1 -_08078822: - movs r2, 0xFF - movs r3, 0 - b _08078838 -_08078828: - movs r5, 0x1 -_0807882A: - movs r2, 0xFF - movs r3, 0x1 - b _08078838 -_08078830: - adds r0, r4, 0 - bl DestroyAnimVisualTask - b _0807885A -_08078838: - ldr r0, _08078860 @ =gBattleAnimArgs - movs r1, 0 - strh r5, [r0] - strh r2, [r0, 0x2] - strh r1, [r0, 0x4] - strh r1, [r0, 0x6] - strh r3, [r0, 0x8] - ldr r1, _08078864 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _08078868 @ =sub_80BB088 - str r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 -_0807885A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08078860: .4byte gBattleAnimArgs -_08078864: .4byte gTasks -_08078868: .4byte sub_80BB088 - thumb_func_end sub_8078694 - - thumb_func_start LaunchStatusAnimation -LaunchStatusAnimation: @ 807886C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r1, 24 - lsrs r1, 24 - ldr r0, _080788A8 @ =gBattleAnimAttacker - strb r4, [r0] - ldr r0, _080788AC @ =gBattleAnimTarget - strb r4, [r0] - ldr r0, _080788B0 @ =gUnknown_81C6E84 - movs r2, 0 - bl sub_80725D4 - ldr r0, _080788B4 @ =task0A_80788BC - movs r1, 0xA - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080788B8 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0x8] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080788A8: .4byte gBattleAnimAttacker -_080788AC: .4byte gBattleAnimTarget -_080788B0: .4byte gUnknown_81C6E84 -_080788B4: .4byte task0A_80788BC -_080788B8: .4byte gTasks - thumb_func_end LaunchStatusAnimation - - thumb_func_start task0A_80788BC -task0A_80788BC: @ 80788BC - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08078904 @ =gUnknown_2037EDC - ldr r0, [r0] - bl _call_via_r0 - ldr r0, _08078908 @ =gUnknown_2037EE1 - ldrb r0, [r0] - cmp r0, 0 - bne _080788FE - ldr r0, _0807890C @ =gUnknown_2024018 - ldr r2, [r0] - ldr r1, _08078910 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0x8 - ldrsh r0, [r0, r1] - ldr r2, [r2, 0x4] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r2, [r1] - movs r0, 0x11 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - adds r0, r4, 0 - bl DestroyTask -_080788FE: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08078904: .4byte gUnknown_2037EDC -_08078908: .4byte gUnknown_2037EE1 -_0807890C: .4byte gUnknown_2024018 -_08078910: .4byte gTasks - thumb_func_end task0A_80788BC - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/battle_anim_80989F8.s b/asm/battle_anim_80989F8.s deleted file mode 100644 index 14cc141cd..000000000 --- a/asm/battle_anim_80989F8.s +++ /dev/null @@ -1,2588 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_80989F8 -sub_80989F8: @ 80989F8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, _08098A18 @ =gBattleAnimArgs - ldrb r0, [r4] - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xFF - bne _08098A1C - adds r0, r5, 0 - bl DestroyAnimVisualTask - b _08098A58 - .align 2, 0 -_08098A18: .4byte gBattleAnimArgs -_08098A1C: - ldr r1, _08098A60 @ =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - ldrh r1, [r4, 0x2] - strh r1, [r0, 0x24] - ldrh r1, [r4, 0x4] - strh r1, [r0, 0x26] - ldr r1, _08098A64 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - strh r2, [r0, 0x8] - ldrh r1, [r4, 0x6] - strh r1, [r0, 0xA] - ldrh r1, [r4, 0x8] - strh r1, [r0, 0xC] - ldrh r1, [r4, 0x8] - strh r1, [r0, 0xE] - ldrh r1, [r4, 0x2] - strh r1, [r0, 0x10] - ldrh r1, [r4, 0x4] - strh r1, [r0, 0x12] - ldr r1, _08098A68 @ =sub_8098A6C - str r1, [r0] - adds r0, r5, 0 - bl _call_via_r1 -_08098A58: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08098A60: .4byte gSprites -_08098A64: .4byte gTasks -_08098A68: .4byte sub_8098A6C - thumb_func_end sub_80989F8 - - thumb_func_start sub_8098A6C -sub_8098A6C: @ 8098A6C - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _08098AA8 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r3, r0, r1 - ldrh r0, [r3, 0xE] - movs r2, 0xE - ldrsh r5, [r3, r2] - adds r7, r1, 0 - cmp r5, 0 - bne _08098B12 - ldr r2, _08098AAC @ =gSprites - movs r6, 0x8 - ldrsh r1, [r3, r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r2 - movs r6, 0x24 - ldrsh r0, [r1, r6] - adds r6, r2, 0 - cmp r0, 0 - bne _08098AB0 - ldrh r0, [r3, 0x10] - strh r0, [r1, 0x24] - b _08098AB2 - .align 2, 0 -_08098AA8: .4byte gTasks -_08098AAC: .4byte gSprites -_08098AB0: - strh r5, [r1, 0x24] -_08098AB2: - lsls r2, r4, 2 - adds r0, r2, r4 - lsls r0, 3 - adds r3, r0, r7 - movs r0, 0x8 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r6 - movs r5, 0x26 - ldrsh r0, [r1, r5] - cmp r0, 0 - bne _08098AD2 - ldrh r0, [r3, 0x12] - b _08098AD4 -_08098AD2: - movs r0, 0 -_08098AD4: - strh r0, [r1, 0x26] - adds r0, r2, r4 - lsls r0, 3 - adds r2, r0, r7 - ldrh r0, [r2, 0xC] - strh r0, [r2, 0xE] - ldrh r0, [r2, 0xA] - subs r0, 0x1 - strh r0, [r2, 0xA] - lsls r0, 16 - asrs r3, r0, 16 - cmp r3, 0 - bne _08098B16 - movs r0, 0x8 - ldrsh r1, [r2, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - strh r3, [r0, 0x24] - movs r5, 0x8 - ldrsh r1, [r2, r5] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - strh r3, [r0, 0x26] - adds r0, r4, 0 - bl DestroyAnimVisualTask - b _08098B16 -_08098B12: - subs r0, 0x1 - strh r0, [r3, 0xE] -_08098B16: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8098A6C - - thumb_func_start sub_8098B1C -sub_8098B1C: @ 8098B1C - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r6, 0 - ldr r2, _08098B44 @ =gBattleAnimArgs - ldrh r0, [r2] - movs r3, 0 - ldrsh r1, [r2, r3] - cmp r1, 0x3 - bgt _08098B48 - lsls r0, 24 - lsrs r0, 24 - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0xFF - bne _08098B9E - b _08098BA2 - .align 2, 0 -_08098B44: .4byte gBattleAnimArgs -_08098B48: - cmp r1, 0x8 - beq _08098B94 - movs r1, 0 - ldrsh r0, [r2, r1] - cmp r0, 0x5 - beq _08098B68 - cmp r0, 0x5 - bgt _08098B5E - cmp r0, 0x4 - beq _08098B64 - b _08098B70 -_08098B5E: - cmp r0, 0x6 - beq _08098B6C - b _08098B70 -_08098B64: - movs r0, 0 - b _08098B72 -_08098B68: - movs r0, 0x2 - b _08098B72 -_08098B6C: - movs r0, 0x1 - b _08098B72 -_08098B70: - movs r0, 0x3 -_08098B72: - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl sub_8072DF0 - lsls r0, 24 - cmp r0, 0 - bne _08098B88 - movs r6, 0x1 -_08098B88: - ldr r0, _08098B90 @ =gBattlerSpriteIds - adds r0, r4, r0 - b _08098B9C - .align 2, 0 -_08098B90: .4byte gBattlerSpriteIds -_08098B94: - ldr r1, _08098BAC @ =gBattlerSpriteIds - ldr r0, _08098BB0 @ =gBattleAnimAttacker - ldrb r0, [r0] - adds r0, r1 -_08098B9C: - ldrb r3, [r0] -_08098B9E: - cmp r6, 0 - beq _08098BB4 -_08098BA2: - adds r0, r5, 0 - bl DestroyAnimVisualTask - b _08098BF2 - .align 2, 0 -_08098BAC: .4byte gBattlerSpriteIds -_08098BB0: .4byte gBattleAnimAttacker -_08098BB4: - ldr r1, _08098BF8 @ =gSprites - lsls r0, r3, 4 - adds r0, r3 - lsls r0, 2 - adds r0, r1 - ldr r2, _08098BFC @ =gBattleAnimArgs - ldrh r1, [r2, 0x2] - strh r1, [r0, 0x24] - ldrh r1, [r2, 0x4] - strh r1, [r0, 0x26] - ldr r1, _08098C00 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - strh r3, [r0, 0x8] - ldrh r1, [r2, 0x6] - strh r1, [r0, 0xA] - ldrh r1, [r2, 0x8] - strh r1, [r0, 0xC] - ldrh r1, [r2, 0x8] - strh r1, [r0, 0xE] - ldrh r1, [r2, 0x2] - strh r1, [r0, 0x10] - ldrh r1, [r2, 0x4] - strh r1, [r0, 0x12] - ldr r1, _08098C04 @ =sub_8098C08 - str r1, [r0] - adds r0, r5, 0 - bl _call_via_r1 -_08098BF2: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08098BF8: .4byte gSprites -_08098BFC: .4byte gBattleAnimArgs -_08098C00: .4byte gTasks -_08098C04: .4byte sub_8098C08 - thumb_func_end sub_8098B1C - - thumb_func_start sub_8098C08 -sub_8098C08: @ 8098C08 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, _08098C4C @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r3, r0, r1 - ldrh r2, [r3, 0xE] - movs r4, 0xE - ldrsh r0, [r3, r4] - mov r12, r1 - cmp r0, 0 - bne _08098CC0 - ldr r2, _08098C50 @ =gSprites - movs r7, 0x8 - ldrsh r1, [r3, r7] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r4, r0, r2 - movs r0, 0x24 - ldrsh r1, [r4, r0] - ldrh r5, [r3, 0x10] - movs r7, 0x10 - ldrsh r0, [r3, r7] - adds r7, r2, 0 - cmp r1, r0 - bne _08098C54 - negs r0, r5 - strh r0, [r4, 0x24] - b _08098C56 - .align 2, 0 -_08098C4C: .4byte gTasks -_08098C50: .4byte gSprites -_08098C54: - strh r5, [r4, 0x24] -_08098C56: - lsls r3, r6, 2 - adds r1, r3, r6 - lsls r1, 3 - add r1, r12 - movs r0, 0x8 - ldrsh r2, [r1, r0] - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r4, r0, r7 - movs r0, 0x26 - ldrsh r2, [r4, r0] - mov r8, r2 - ldrh r5, [r1, 0x12] - movs r2, 0x12 - ldrsh r0, [r1, r2] - cmp r8, r0 - bne _08098C80 - negs r0, r5 - strh r0, [r4, 0x26] - b _08098C82 -_08098C80: - strh r5, [r4, 0x26] -_08098C82: - adds r0, r3, r6 - lsls r0, 3 - mov r4, r12 - adds r3, r0, r4 - ldrh r0, [r3, 0xC] - strh r0, [r3, 0xE] - ldrh r0, [r3, 0xA] - subs r0, 0x1 - strh r0, [r3, 0xA] - lsls r0, 16 - asrs r2, r0, 16 - cmp r2, 0 - bne _08098CC4 - movs r0, 0x8 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x24] - movs r4, 0x8 - ldrsh r1, [r3, r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x26] - adds r0, r6, 0 - bl DestroyAnimVisualTask - b _08098CC4 -_08098CC0: - subs r0, r2, 0x1 - strh r0, [r3, 0xE] -_08098CC4: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8098C08 - - thumb_func_start sub_8098CD0 -sub_8098CD0: @ 8098CD0 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, _08098CF0 @ =gBattleAnimArgs - ldrb r0, [r4] - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0xFF - bne _08098CF4 - adds r0, r5, 0 - bl DestroyAnimVisualTask - b _08098D42 - .align 2, 0 -_08098CF0: .4byte gBattleAnimArgs -_08098CF4: - ldr r0, _08098D48 @ =gSprites - lsls r1, r3, 4 - adds r1, r3 - lsls r1, 2 - adds r1, r0 - ldrh r0, [r4, 0x2] - ldrh r2, [r1, 0x24] - adds r0, r2 - movs r2, 0 - strh r0, [r1, 0x24] - ldrh r0, [r4, 0x4] - ldrh r6, [r1, 0x26] - adds r0, r6 - strh r0, [r1, 0x26] - ldr r0, _08098D4C @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - strh r3, [r1, 0x8] - strh r2, [r1, 0xA] - ldrh r0, [r4, 0x6] - strh r0, [r1, 0xC] - strh r2, [r1, 0xE] - ldrh r0, [r4, 0x8] - strh r0, [r1, 0x10] - movs r2, 0x2 - ldrsh r0, [r4, r2] - lsls r0, 1 - strh r0, [r1, 0x12] - movs r6, 0x4 - ldrsh r0, [r4, r6] - lsls r0, 1 - strh r0, [r1, 0x14] - ldr r2, _08098D50 @ =sub_8098D54 - str r2, [r1] - adds r0, r5, 0 - bl _call_via_r2 -_08098D42: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08098D48: .4byte gSprites -_08098D4C: .4byte gTasks -_08098D50: .4byte sub_8098D54 - thumb_func_end sub_8098CD0 - - thumb_func_start sub_8098D54 -sub_8098D54: @ 8098D54 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _08098DAC @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - ldrh r2, [r4, 0xE] - movs r3, 0xE - ldrsh r0, [r4, r3] - adds r6, r1, 0 - cmp r0, 0 - beq _08098D72 - b _08098E84 -_08098D72: - ldrh r1, [r4, 0xA] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08098DB4 - ldr r2, _08098DB0 @ =gSprites - movs r0, 0x8 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r4, 0x12] - ldrh r3, [r0, 0x24] - adds r1, r3 - strh r1, [r0, 0x24] - movs r0, 0x8 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r4, 0x14] - ldrh r3, [r0, 0x26] - adds r1, r3 - strh r1, [r0, 0x26] - adds r3, r2, 0 - b _08098DDE - .align 2, 0 -_08098DAC: .4byte gTasks -_08098DB0: .4byte gSprites -_08098DB4: - ldr r3, _08098E40 @ =gSprites - movs r0, 0x8 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r0, 0x24] - ldrh r2, [r4, 0x12] - subs r1, r2 - strh r1, [r0, 0x24] - movs r2, 0x8 - ldrsh r1, [r4, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r0, 0x26] - ldrh r2, [r4, 0x14] - subs r1, r2 - strh r1, [r0, 0x26] -_08098DDE: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r6 - ldrh r0, [r4, 0x10] - strh r0, [r4, 0xE] - ldrh r0, [r4, 0xA] - adds r2, r0, 0x1 - strh r2, [r4, 0xA] - lsls r0, r2, 16 - asrs r0, 16 - movs r6, 0xC - ldrsh r1, [r4, r6] - cmp r0, r1 - blt _08098E88 - movs r0, 0x1 - ands r2, r0 - cmp r2, 0 - beq _08098E44 - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - movs r2, 0x12 - ldrsh r0, [r4, r2] - lsrs r2, r0, 31 - adds r0, r2 - asrs r0, 1 - ldrh r6, [r1, 0x24] - adds r0, r6 - strh r0, [r1, 0x24] - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - movs r2, 0x14 - ldrsh r0, [r4, r2] - lsrs r2, r0, 31 - adds r0, r2 - asrs r0, 1 - ldrh r3, [r1, 0x26] - adds r0, r3 - strh r0, [r1, 0x26] - b _08098E7C - .align 2, 0 -_08098E40: .4byte gSprites -_08098E44: - movs r6, 0x8 - ldrsh r0, [r4, r6] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r3 - movs r0, 0x12 - ldrsh r1, [r4, r0] - lsrs r0, r1, 31 - adds r1, r0 - asrs r1, 1 - ldrh r0, [r2, 0x24] - subs r0, r1 - strh r0, [r2, 0x24] - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r3 - movs r3, 0x14 - ldrsh r1, [r4, r3] - lsrs r0, r1, 31 - adds r1, r0 - asrs r1, 1 - ldrh r0, [r2, 0x26] - subs r0, r1 - strh r0, [r2, 0x26] -_08098E7C: - adds r0, r5, 0 - bl DestroyAnimVisualTask - b _08098E88 -_08098E84: - subs r0, r2, 0x1 - strh r0, [r4, 0xE] -_08098E88: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8098D54 - - thumb_func_start sub_8098E90 -sub_8098E90: @ 8098E90 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, _08098EE0 @ =gBattleAnimArgs - ldrb r0, [r5] - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08098EE4 @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrh r2, [r5, 0x2] - strh r2, [r1, 0x24] - ldr r2, _08098EE8 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r2 - strh r0, [r1, 0x8] - ldrh r0, [r5, 0x2] - strh r0, [r1, 0xA] - ldrh r0, [r5, 0x4] - strh r0, [r1, 0xC] - ldrh r0, [r5, 0x6] - strh r0, [r1, 0xE] - ldrh r0, [r5, 0x8] - strh r0, [r1, 0x10] - ldr r2, _08098EEC @ =sub_8098EF0 - str r2, [r1] - adds r0, r4, 0 - bl _call_via_r2 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08098EE0: .4byte gBattleAnimArgs -_08098EE4: .4byte gSprites -_08098EE8: .4byte gTasks -_08098EEC: .4byte sub_8098EF0 - thumb_func_end sub_8098E90 - - thumb_func_start sub_8098EF0 -sub_8098EF0: @ 8098EF0 - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r2, _08098F7C @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r3, r0, r2 - ldrb r5, [r3, 0x8] - ldrh r4, [r3, 0xA] - ldrh r1, [r3, 0x18] - adds r0, r1, 0x1 - strh r0, [r3, 0x18] - movs r7, 0xC - ldrsh r0, [r3, r7] - lsls r1, 16 - asrs r1, 16 - mov r12, r2 - ldr r7, _08098F80 @ =gSprites - cmp r0, r1 - bne _08098F42 - movs r0, 0 - strh r0, [r3, 0x18] - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - adds r1, r0, r7 - ldrh r3, [r1, 0x24] - movs r0, 0x24 - ldrsh r2, [r1, r0] - lsls r0, r4, 16 - asrs r0, 16 - cmp r2, r0 - bne _08098F3A - negs r0, r2 - lsls r0, 16 - lsrs r4, r0, 16 -_08098F3A: - lsls r0, r4, 16 - asrs r0, 16 - adds r0, r3 - strh r0, [r1, 0x24] -_08098F42: - lsls r2, r6, 2 - adds r2, r6 - lsls r2, 3 - add r2, r12 - strh r4, [r2, 0xA] - ldrh r1, [r2, 0xE] - ldrh r0, [r2, 0x1A] - adds r1, r0 - strh r1, [r2, 0x1A] - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - adds r0, r7 - lsls r1, 16 - asrs r1, 24 - strh r1, [r0, 0x26] - ldrh r0, [r2, 0x10] - subs r0, 0x1 - strh r0, [r2, 0x10] - lsls r0, 16 - cmp r0, 0 - bne _08098F74 - adds r0, r6, 0 - bl DestroyAnimVisualTask -_08098F74: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08098F7C: .4byte gTasks -_08098F80: .4byte gSprites - thumb_func_end sub_8098EF0 - - thumb_func_start sub_8098F84 -sub_8098F84: @ 8098F84 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r5, r0, 24 - movs r6, 0x1 - ldr r4, _08098FF8 @ =gBattleAnimArgs - ldrb r0, [r4] - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r7, r0, 24 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x5 - ble _08098FA8 - movs r0, 0x5 - strh r0, [r4, 0x8] -_08098FA8: - movs r1, 0 - movs r2, 0x8 - ldrsh r0, [r4, r2] - adds r3, r4, 0 - ldr r2, _08098FFC @ =gTasks - mov r12, r2 - lsls r4, r5, 2 - ldr r2, _08099000 @ =sub_8099004 - mov r8, r2 - cmp r1, r0 - bge _08098FCE - adds r2, r0, 0 -_08098FC0: - lsls r0, r6, 25 - lsrs r6, r0, 24 - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, r2 - blt _08098FC0 -_08098FCE: - adds r0, r4, r5 - lsls r0, 3 - add r0, r12 - strh r7, [r0, 0x8] - ldrh r1, [r3, 0x2] - strh r1, [r0, 0xA] - ldrh r1, [r3, 0x4] - strh r1, [r0, 0xC] - ldrh r1, [r3, 0x6] - strh r1, [r0, 0xE] - strh r6, [r0, 0x10] - mov r1, r8 - str r1, [r0] - adds r0, r5, 0 - bl _call_via_r8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08098FF8: .4byte gBattleAnimArgs -_08098FFC: .4byte gTasks -_08099000: .4byte sub_8099004 - thumb_func_end sub_8098F84 - - thumb_func_start sub_8099004 -sub_8099004: @ 8099004 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - adds r6, r0, 0 - ldr r1, _08099074 @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r5, r0, r1 - ldrb r4, [r5, 0x8] - movs r1, 0x12 - ldrsh r0, [r5, r1] - movs r2, 0xA - ldrsh r1, [r5, r2] - bl Sin - ldr r2, _08099078 @ =gSprites - lsls r1, r4, 4 - adds r1, r4 - lsls r1, 2 - adds r4, r1, r2 - strh r0, [r4, 0x24] - movs r1, 0x12 - ldrsh r0, [r5, r1] - movs r2, 0xC - ldrsh r1, [r5, r2] - bl Cos - negs r0, r0 - strh r0, [r4, 0x26] - ldrh r1, [r5, 0xC] - adds r0, r1 - strh r0, [r4, 0x26] - ldrh r0, [r5, 0x10] - ldrh r1, [r5, 0x12] - adds r0, r1 - movs r1, 0xFF - ands r0, r1 - strh r0, [r5, 0x12] - cmp r0, 0 - bne _0809905C - ldrh r0, [r5, 0xE] - subs r0, 0x1 - strh r0, [r5, 0xE] -_0809905C: - movs r2, 0xE - ldrsh r0, [r5, r2] - cmp r0, 0 - bne _0809906E - strh r0, [r4, 0x24] - strh r0, [r4, 0x26] - adds r0, r6, 0 - bl DestroyAnimVisualTask -_0809906E: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08099074: .4byte gTasks -_08099078: .4byte gSprites - thumb_func_end sub_8099004 - - thumb_func_start sub_809907C -sub_809907C: @ 809907C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080990A4 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _08099098 - ldr r1, _080990A8 @ =gBattleAnimArgs - ldrh r0, [r1, 0x2] - negs r0, r0 - strh r0, [r1, 0x2] -_08099098: - adds r0, r4, 0 - bl sub_8098F84 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080990A4: .4byte gBattleAnimAttacker -_080990A8: .4byte gBattleAnimArgs - thumb_func_end sub_809907C - - thumb_func_start sub_80990AC -sub_80990AC: @ 80990AC - push {r4,lr} - adds r4, r0, 0 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, _080990D4 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080990DC - ldr r1, _080990D8 @ =gBattleAnimArgs - ldrh r0, [r1, 0x2] - negs r0, r0 - b _080990E0 - .align 2, 0 -_080990D4: .4byte gBattleAnimAttacker -_080990D8: .4byte gBattleAnimArgs -_080990DC: - ldr r1, _0809910C @ =gBattleAnimArgs - ldrh r0, [r1, 0x2] -_080990E0: - strh r0, [r4, 0x30] - ldrh r2, [r1] - movs r0, 0 - strh r2, [r4, 0x2E] - strh r0, [r4, 0x32] - ldr r1, _08099110 @ =gBattlerSpriteIds - ldr r0, _08099114 @ =gBattleAnimAttacker - ldrb r0, [r0] - adds r0, r1 - ldrb r0, [r0] - strh r0, [r4, 0x34] - strh r2, [r4, 0x36] - ldr r1, _08099118 @ =sub_8099120 - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - ldr r0, _0809911C @ =sub_8074DC4 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809910C: .4byte gBattleAnimArgs -_08099110: .4byte gBattlerSpriteIds -_08099114: .4byte gBattleAnimAttacker -_08099118: .4byte sub_8099120 -_0809911C: .4byte sub_8074DC4 - thumb_func_end sub_80990AC - - thumb_func_start sub_8099120 -sub_8099120: @ 8099120 - push {lr} - ldrh r1, [r0, 0x36] - strh r1, [r0, 0x2E] - ldrh r1, [r0, 0x30] - negs r1, r1 - strh r1, [r0, 0x30] - ldr r1, _0809913C @ =sub_8074DC4 - str r1, [r0, 0x1C] - ldr r1, _08099140 @ =DestroyAnimSprite - bl StoreSpriteCallbackInData6 - pop {r0} - bx r0 - .align 2, 0 -_0809913C: .4byte sub_8074DC4 -_08099140: .4byte DestroyAnimSprite - thumb_func_end sub_8099120 - - thumb_func_start sub_8099144 -sub_8099144: @ 8099144 - push {r4,r5,lr} - adds r4, r0, 0 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r5, _08099184 @ =gBattleAnimArgs - ldrb r0, [r5, 0x4] - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r0, 24 - ldrh r2, [r5] - movs r1, 0 - strh r2, [r4, 0x2E] - strh r1, [r4, 0x30] - ldrh r1, [r5, 0x2] - strh r1, [r4, 0x32] - strh r0, [r4, 0x34] - strh r2, [r4, 0x36] - ldr r1, _08099188 @ =sub_8099190 - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - ldr r0, _0809918C @ =sub_8074DC4 - str r0, [r4, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08099184: .4byte gBattleAnimArgs -_08099188: .4byte sub_8099190 -_0809918C: .4byte sub_8074DC4 - thumb_func_end sub_8099144 - - thumb_func_start sub_8099190 -sub_8099190: @ 8099190 - push {lr} - ldrh r1, [r0, 0x36] - strh r1, [r0, 0x2E] - ldrh r1, [r0, 0x32] - negs r1, r1 - strh r1, [r0, 0x32] - ldr r1, _080991AC @ =sub_8074DC4 - str r1, [r0, 0x1C] - ldr r1, _080991B0 @ =DestroyAnimSprite - bl StoreSpriteCallbackInData6 - pop {r0} - bx r0 - .align 2, 0 -_080991AC: .4byte sub_8074DC4 -_080991B0: .4byte DestroyAnimSprite - thumb_func_end sub_8099190 - - thumb_func_start sub_80991B4 -sub_80991B4: @ 80991B4 - push {r4-r7,lr} - sub sp, 0x4 - adds r6, r0, 0 - ldr r0, _080991CC @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080991D8 - ldr r1, _080991D0 @ =gBattlerSpriteIds - ldr r0, _080991D4 @ =gBattleAnimAttacker - b _080991DC - .align 2, 0 -_080991CC: .4byte gBattleAnimArgs -_080991D0: .4byte gBattlerSpriteIds -_080991D4: .4byte gBattleAnimAttacker -_080991D8: - ldr r1, _0809923C @ =gBattlerSpriteIds - ldr r0, _08099240 @ =gBattleAnimTarget -_080991DC: - ldrb r0, [r0] - adds r0, r1 - ldrb r7, [r0] - ldr r5, _08099244 @ =gBattleAnimArgs - ldrh r0, [r5, 0x4] - movs r3, 0 - strh r0, [r6, 0x2E] - ldr r0, _08099248 @ =gSprites - lsls r4, r7, 4 - adds r4, r7 - lsls r4, 2 - adds r4, r0 - ldrh r0, [r4, 0x24] - ldrh r1, [r4, 0x20] - adds r0, r1 - strh r0, [r6, 0x30] - ldrh r0, [r4, 0x20] - strh r0, [r6, 0x32] - ldrh r0, [r4, 0x26] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r6, 0x34] - ldrh r0, [r4, 0x22] - strh r0, [r6, 0x36] - adds r0, r6, 0 - str r3, [sp] - bl sub_80754B8 - ldr r3, [sp] - strh r3, [r6, 0x34] - strh r3, [r6, 0x36] - ldrh r0, [r4, 0x24] - strh r0, [r6, 0x38] - ldrh r0, [r4, 0x26] - strh r0, [r6, 0x3A] - adds r2, r6, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - movs r1, 0x2 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - bne _0809924C - strh r3, [r6, 0x32] - b _08099252 - .align 2, 0 -_0809923C: .4byte gBattlerSpriteIds -_08099240: .4byte gBattleAnimTarget -_08099244: .4byte gBattleAnimArgs -_08099248: .4byte gSprites -_0809924C: - cmp r0, 0x2 - bne _08099252 - strh r3, [r6, 0x30] -_08099252: - ldr r0, _08099268 @ =gBattleAnimArgs - ldrh r1, [r0, 0x2] - lsls r0, r7, 8 - orrs r0, r1 - strh r0, [r6, 0x3C] - ldr r0, _0809926C @ =sub_8099270 - str r0, [r6, 0x1C] - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08099268: .4byte gBattleAnimArgs -_0809926C: .4byte sub_8099270 - thumb_func_end sub_80991B4 - - thumb_func_start sub_8099270 -sub_8099270: @ 8099270 - push {r4-r6,lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x3C] - lsls r1, r0, 24 - lsrs r4, r1, 24 - adds r5, r4, 0 - lsls r0, 16 - asrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _080992AC @ =gSprites - adds r3, r1, r0 - ldrh r0, [r2, 0x2E] - movs r6, 0x2E - ldrsh r1, [r2, r6] - cmp r1, 0 - bne _080992B0 - cmp r4, 0x1 - bhi _0809929A - strh r1, [r3, 0x24] -_0809929A: - cmp r5, 0x2 - beq _080992A2 - cmp r5, 0 - bne _080992A4 -_080992A2: - strh r1, [r3, 0x26] -_080992A4: - adds r0, r2, 0 - bl DestroyAnimSprite - b _080992DA - .align 2, 0 -_080992AC: .4byte gSprites -_080992B0: - subs r0, 0x1 - strh r0, [r2, 0x2E] - ldrh r1, [r2, 0x30] - ldrh r0, [r2, 0x34] - adds r1, r0 - strh r1, [r2, 0x34] - ldrh r0, [r2, 0x32] - ldrh r4, [r2, 0x36] - adds r0, r4 - strh r0, [r2, 0x36] - lsls r1, 16 - asrs r1, 24 - ldrh r6, [r2, 0x38] - adds r1, r6 - strh r1, [r3, 0x24] - ldrh r0, [r2, 0x36] - lsls r0, 16 - asrs r0, 24 - ldrh r2, [r2, 0x3A] - adds r0, r2 - strh r0, [r3, 0x26] -_080992DA: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8099270 - - thumb_func_start sub_80992E0 -sub_80992E0: @ 80992E0 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r0, _080992F4 @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080992FC - ldr r0, _080992F8 @ =gBattleAnimAttacker - b _080992FE - .align 2, 0 -_080992F4: .4byte gBattleAnimArgs -_080992F8: .4byte gBattleAnimAttacker -_080992FC: - ldr r0, _0809937C @ =gBattleAnimTarget -_080992FE: - ldrb r2, [r0] - ldr r0, _08099380 @ =gBattlerSpriteIds - adds r0, r2, r0 - ldrb r6, [r0] - adds r0, r2, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _08099328 - ldr r1, _08099384 @ =gBattleAnimArgs - ldrh r0, [r1, 0x2] - negs r0, r0 - strh r0, [r1, 0x2] - movs r2, 0x6 - ldrsh r0, [r1, r2] - cmp r0, 0x1 - bne _08099328 - ldrh r0, [r1, 0x4] - negs r0, r0 - strh r0, [r1, 0x4] -_08099328: - ldr r2, _08099384 @ =gBattleAnimArgs - ldrh r0, [r2, 0x8] - movs r4, 0 - strh r0, [r5, 0x2E] - ldr r0, _08099388 @ =gSprites - lsls r1, r6, 4 - adds r1, r6 - lsls r1, 2 - adds r1, r0 - ldrh r0, [r1, 0x20] - strh r0, [r5, 0x30] - ldrh r0, [r2, 0x2] - ldrh r3, [r1, 0x20] - adds r0, r3 - strh r0, [r5, 0x32] - ldrh r0, [r1, 0x22] - strh r0, [r5, 0x34] - ldrh r0, [r2, 0x4] - ldrh r1, [r1, 0x22] - adds r0, r1 - strh r0, [r5, 0x36] - adds r0, r5, 0 - bl sub_80754B8 - strh r4, [r5, 0x34] - strh r4, [r5, 0x36] - strh r6, [r5, 0x38] - adds r2, r5, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r1, _0809938C @ =DestroyAnimSprite - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 - ldr r0, _08099390 @ =sub_8074E14 - str r0, [r5, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0809937C: .4byte gBattleAnimTarget -_08099380: .4byte gBattlerSpriteIds -_08099384: .4byte gBattleAnimArgs -_08099388: .4byte gSprites -_0809938C: .4byte DestroyAnimSprite -_08099390: .4byte sub_8074E14 - thumb_func_end sub_80992E0 - - thumb_func_start sub_8099394 -sub_8099394: @ 8099394 - push {r4-r7,lr} - adds r6, r0, 0 - adds r2, r6, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, _080993B4 @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080993BC - ldr r0, _080993B8 @ =gBattleAnimAttacker - b _080993BE - .align 2, 0 -_080993B4: .4byte gBattleAnimArgs -_080993B8: .4byte gBattleAnimAttacker -_080993BC: - ldr r0, _0809943C @ =gBattleAnimTarget -_080993BE: - ldrb r1, [r0] - ldr r0, _08099440 @ =gBattlerSpriteIds - adds r0, r1, r0 - ldrb r7, [r0] - adds r0, r1, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080993E8 - ldr r1, _08099444 @ =gBattleAnimArgs - ldrh r0, [r1, 0x2] - negs r0, r0 - strh r0, [r1, 0x2] - movs r2, 0x6 - ldrsh r0, [r1, r2] - cmp r0, 0x1 - bne _080993E8 - ldrh r0, [r1, 0x4] - negs r0, r0 - strh r0, [r1, 0x4] -_080993E8: - ldr r5, _08099444 @ =gBattleAnimArgs - ldrh r0, [r5, 0x8] - strh r0, [r6, 0x2E] - ldr r0, _08099448 @ =gSprites - lsls r4, r7, 4 - adds r4, r7 - lsls r4, 2 - adds r4, r0 - ldrh r0, [r4, 0x24] - ldrh r1, [r4, 0x20] - adds r0, r1 - strh r0, [r6, 0x30] - ldrh r1, [r5, 0x2] - adds r0, r1 - strh r0, [r6, 0x32] - ldrh r0, [r4, 0x26] - ldrh r2, [r4, 0x22] - adds r0, r2 - strh r0, [r6, 0x34] - ldrh r1, [r5, 0x4] - adds r0, r1 - strh r0, [r6, 0x36] - adds r0, r6, 0 - bl sub_80754B8 - ldrh r0, [r4, 0x24] - lsls r0, 8 - strh r0, [r6, 0x34] - ldrh r0, [r4, 0x26] - lsls r0, 8 - strh r0, [r6, 0x36] - strh r7, [r6, 0x38] - ldrh r0, [r5, 0xA] - strh r0, [r6, 0x3A] - lsls r0, 16 - cmp r0, 0 - bne _08099450 - ldr r1, _0809944C @ =DestroyAnimSprite - adds r0, r6, 0 - bl StoreSpriteCallbackInData6 - b _08099458 - .align 2, 0 -_0809943C: .4byte gBattleAnimTarget -_08099440: .4byte gBattlerSpriteIds -_08099444: .4byte gBattleAnimArgs -_08099448: .4byte gSprites -_0809944C: .4byte DestroyAnimSprite -_08099450: - ldr r1, _08099464 @ =sub_809946C - adds r0, r6, 0 - bl StoreSpriteCallbackInData6 -_08099458: - ldr r0, _08099468 @ =sub_8074E14 - str r0, [r6, 0x1C] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08099464: .4byte sub_809946C -_08099468: .4byte sub_8074E14 - thumb_func_end sub_8099394 - - thumb_func_start sub_809946C -sub_809946C: @ 809946C - push {r4,lr} - ldr r4, _08099498 @ =gSprites - movs r1, 0x38 - ldrsh r2, [r0, r1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r4 - movs r3, 0 - strh r3, [r1, 0x24] - movs r1, 0x38 - ldrsh r2, [r0, r1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r4 - strh r3, [r1, 0x26] - bl DestroyAnimSprite - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08099498: .4byte gSprites - thumb_func_end sub_809946C - - thumb_func_start sub_809949C -sub_809949C: @ 809949C - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r5, _08099520 @ =gBattleAnimArgs - movs r0, 0x6 - ldrsh r1, [r5, r0] - movs r0, 0x80 - lsls r0, 8 - bl __divsi3 - lsls r0, 16 - lsrs r7, r0, 16 - ldr r0, _08099524 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080994CE - ldrh r0, [r5, 0x2] - negs r0, r0 - strh r0, [r5, 0x2] - ldrh r0, [r5, 0xA] - negs r0, r0 - strh r0, [r5, 0xA] -_080994CE: - ldrb r0, [r5] - bl GetAnimBankSpriteId - ldr r1, _08099528 @ =gTasks - lsls r4, r6, 2 - adds r4, r6 - lsls r4, 3 - adds r4, r1 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x8] - movs r1, 0x2 - ldrsh r0, [r5, r1] - lsls r0, 8 - movs r2, 0x6 - ldrsh r1, [r5, r2] - bl __divsi3 - strh r0, [r4, 0xA] - ldrh r0, [r5, 0x4] - strh r0, [r4, 0xC] - ldrh r0, [r5, 0x6] - strh r0, [r4, 0xE] - ldrh r0, [r5, 0x8] - strh r0, [r4, 0x10] - movs r1, 0xA - ldrsh r0, [r5, r1] - lsls r0, 8 - movs r2, 0xC - ldrsh r1, [r5, r2] - bl __divsi3 - strh r0, [r4, 0x12] - ldrh r0, [r5, 0xC] - strh r0, [r4, 0x14] - strh r7, [r4, 0x16] - ldr r0, _0809952C @ =sub_8099530 - str r0, [r4] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08099520: .4byte gBattleAnimArgs -_08099524: .4byte gBattleAnimAttacker -_08099528: .4byte gTasks -_0809952C: .4byte sub_8099530 - thumb_func_end sub_809949C - - thumb_func_start sub_8099530 -sub_8099530: @ 8099530 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08099588 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r5, r1, r2 - ldrb r1, [r5, 0x8] - ldrh r0, [r5, 0xA] - ldrh r2, [r5, 0x1E] - adds r0, r2 - strh r0, [r5, 0x1E] - ldr r2, _0809958C @ =gSprites - lsls r4, r1, 4 - adds r4, r1 - lsls r4, 2 - adds r4, r2 - lsls r0, 16 - asrs r0, 24 - strh r0, [r4, 0x24] - ldrh r0, [r5, 0x1C] - lsrs r0, 8 - movs r2, 0xC - ldrsh r1, [r5, r2] - bl Sin - strh r0, [r4, 0x26] - ldrh r0, [r5, 0x16] - ldrh r1, [r5, 0x1C] - adds r0, r1 - strh r0, [r5, 0x1C] - ldrh r0, [r5, 0xE] - subs r0, 0x1 - strh r0, [r5, 0xE] - lsls r0, 16 - cmp r0, 0 - bne _08099580 - ldr r0, _08099590 @ =sub_8099594 - str r0, [r5] -_08099580: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08099588: .4byte gTasks -_0809958C: .4byte gSprites -_08099590: .4byte sub_8099594 - thumb_func_end sub_8099530 - - thumb_func_start sub_8099594 -sub_8099594: @ 8099594 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - ldr r1, _080995B8 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - ldrh r1, [r4, 0x10] - movs r2, 0x10 - ldrsh r0, [r4, r2] - cmp r0, 0 - ble _080995BC - subs r0, r1, 0x1 - strh r0, [r4, 0x10] - b _080995F0 - .align 2, 0 -_080995B8: .4byte gTasks -_080995BC: - ldrb r0, [r4, 0x8] - ldrh r2, [r4, 0x12] - ldrh r1, [r4, 0x20] - adds r2, r1 - strh r2, [r4, 0x20] - ldr r3, _080995F8 @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - lsls r2, 16 - asrs r2, 24 - ldrh r0, [r4, 0x1E] - lsls r0, 16 - asrs r0, 24 - adds r2, r0 - strh r2, [r1, 0x24] - ldrh r0, [r4, 0x14] - subs r0, 0x1 - strh r0, [r4, 0x14] - lsls r0, 16 - cmp r0, 0 - bne _080995F0 - adds r0, r5, 0 - bl DestroyAnimVisualTask -_080995F0: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080995F8: .4byte gSprites - thumb_func_end sub_8099594 - - thumb_func_start sub_80995FC -sub_80995FC: @ 80995FC - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, _08099620 @ =gBattleAnimArgs - movs r2, 0 - ldrsh r0, [r1, r2] - cmp r0, 0x2 - beq _0809962A - cmp r0, 0x2 - bgt _08099624 - cmp r0, 0 - blt _0809965C - ldrb r0, [r1] - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r2, r0, 24 - b _08099664 - .align 2, 0 -_08099620: .4byte gBattleAnimArgs -_08099624: - cmp r0, 0x3 - beq _08099634 - b _0809965C -_0809962A: - ldr r5, _08099630 @ =gBattleAnimAttacker - b _08099636 - .align 2, 0 -_08099630: .4byte gBattleAnimAttacker -_08099634: - ldr r5, _08099654 @ =gBattleAnimTarget -_08099636: - ldrb r0, [r5] - movs r4, 0x2 - eors r0, r4 - bl sub_8072DF0 - lsls r0, 24 - cmp r0, 0 - beq _0809965C - ldr r1, _08099658 @ =gBattlerSpriteIds - ldrb r0, [r5] - eors r0, r4 - adds r0, r1 - ldrb r2, [r0] - b _08099664 - .align 2, 0 -_08099654: .4byte gBattleAnimTarget -_08099658: .4byte gBattlerSpriteIds -_0809965C: - adds r0, r6, 0 - bl DestroyAnimVisualTask - b _080996A4 -_08099664: - ldr r1, _08099684 @ =gTasks - lsls r4, r6, 2 - adds r0, r4, r6 - lsls r0, 3 - adds r5, r0, r1 - strh r2, [r5, 0x8] - ldr r0, _08099688 @ =gBattleAnimTarget - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _08099690 - ldr r0, _0809968C @ =gBattleAnimArgs - ldrh r0, [r0, 0x2] - b _08099696 - .align 2, 0 -_08099684: .4byte gTasks -_08099688: .4byte gBattleAnimTarget -_0809968C: .4byte gBattleAnimArgs -_08099690: - ldr r0, _080996AC @ =gBattleAnimArgs - ldrh r0, [r0, 0x2] - negs r0, r0 -_08099696: - strh r0, [r5, 0xA] - ldr r0, _080996B0 @ =gTasks - adds r1, r4, r6 - lsls r1, 3 - adds r1, r0 - ldr r0, _080996B4 @ =sub_80996B8 - str r0, [r1] -_080996A4: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080996AC: .4byte gBattleAnimArgs -_080996B0: .4byte gTasks -_080996B4: .4byte sub_80996B8 - thumb_func_end sub_80995FC - - thumb_func_start sub_80996B8 -sub_80996B8: @ 80996B8 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080996FC @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldrb r2, [r1, 0x8] - ldr r3, _08099700 @ =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r1, 0xA] - ldrh r2, [r0, 0x24] - adds r1, r2 - strh r1, [r0, 0x24] - movs r2, 0x24 - ldrsh r1, [r0, r2] - movs r2, 0x20 - ldrsh r0, [r0, r2] - adds r1, r0 - adds r1, 0x20 - movs r0, 0x98 - lsls r0, 1 - cmp r1, r0 - bls _080996F6 - adds r0, r4, 0 - bl DestroyAnimVisualTask -_080996F6: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080996FC: .4byte gTasks -_08099700: .4byte gSprites - thumb_func_end sub_80996B8 - - thumb_func_start sub_8099704 -sub_8099704: @ 8099704 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r6, _08099754 @ =gBattleAnimAttacker - ldrb r0, [r6] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _08099720 - ldr r1, _08099758 @ =gBattleAnimArgs - ldrh r0, [r1, 0x2] - negs r0, r0 - strh r0, [r1, 0x2] -_08099720: - ldr r4, _08099758 @ =gBattleAnimArgs - ldrb r0, [r4, 0x8] - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0809975C @ =gTasks - lsls r3, r5, 2 - adds r1, r3, r5 - lsls r1, 3 - adds r2, r1, r2 - ldrh r1, [r4] - strh r1, [r2, 0x8] - ldrh r1, [r4, 0x2] - strh r1, [r2, 0xA] - ldrh r1, [r4, 0x4] - strh r1, [r2, 0xC] - ldrh r1, [r4, 0x6] - strh r1, [r2, 0xE] - strh r0, [r2, 0x10] - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08099760 - ldrb r0, [r6] - b _08099764 - .align 2, 0 -_08099754: .4byte gBattleAnimAttacker -_08099758: .4byte gBattleAnimArgs -_0809975C: .4byte gTasks -_08099760: - ldr r0, _0809977C @ =gBattleAnimTarget - ldrb r0, [r0] -_08099764: - strh r0, [r2, 0x12] - ldr r1, _08099780 @ =gTasks - adds r0, r3, r5 - lsls r0, 3 - adds r0, r1 - movs r1, 0x1 - strh r1, [r0, 0x20] - ldr r1, _08099784 @ =sub_8099788 - str r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0809977C: .4byte gBattleAnimTarget -_08099780: .4byte gTasks -_08099784: .4byte sub_8099788 - thumb_func_end sub_8099704 - - thumb_func_start sub_8099788 -sub_8099788: @ 8099788 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, _080997D8 @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r4, r0, r1 - ldrb r7, [r4, 0x10] - ldrh r0, [r4, 0xC] - ldrh r1, [r4, 0x1C] - adds r0, r1 - lsls r1, r0, 16 - strh r0, [r4, 0x1C] - lsrs r1, 24 - mov r8, r1 - mov r0, r8 - movs r2, 0xA - ldrsh r1, [r4, r2] - bl Sin - lsls r0, 16 - lsrs r5, r0, 16 - mov r9, r5 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080997E0 - ldr r0, _080997DC @ =gSprites - lsls r2, r7, 4 - adds r1, r2, r7 - lsls r1, 2 - adds r1, r0 - strh r5, [r1, 0x24] - mov r9, r0 - adds r4, r2, 0 - b _08099826 - .align 2, 0 -_080997D8: .4byte gTasks -_080997DC: .4byte gSprites -_080997E0: - ldrb r0, [r4, 0x12] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _08099808 - ldr r1, _08099804 @ =gSprites - lsls r2, r7, 4 - adds r0, r2, r7 - lsls r0, 2 - adds r3, r0, r1 - lsls r0, r5, 16 - asrs r0, 16 - mov r9, r1 - adds r4, r2, 0 - cmp r0, 0 - bge _08099824 - b _08099822 - .align 2, 0 -_08099804: .4byte gSprites -_08099808: - ldr r1, _080998A8 @ =gSprites - lsls r2, r7, 4 - adds r0, r2, r7 - lsls r0, 2 - adds r3, r0, r1 - mov r4, r9 - lsls r0, r4, 16 - asrs r0, 16 - mov r9, r1 - adds r4, r2, 0 - cmp r0, 0 - bge _08099822 - negs r0, r0 -_08099822: - negs r0, r0 -_08099824: - strh r0, [r3, 0x26] -_08099826: - mov r5, r8 - cmp r5, 0x7F - bls _08099848 - ldr r1, _080998AC @ =gTasks - lsls r2, r6, 2 - adds r0, r2, r6 - lsls r0, 3 - adds r3, r0, r1 - movs r5, 0x1E - ldrsh r0, [r3, r5] - adds r5, r1, 0 - cmp r0, 0 - bne _08099848 - movs r1, 0x20 - ldrsh r0, [r3, r1] - cmp r0, 0x1 - beq _0809986A -_08099848: - mov r2, r8 - cmp r2, 0x7E - bhi _0809989C - ldr r1, _080998AC @ =gTasks - lsls r2, r6, 2 - adds r0, r2, r6 - lsls r0, 3 - adds r3, r0, r1 - movs r5, 0x1E - ldrsh r0, [r3, r5] - adds r5, r1, 0 - cmp r0, 0x1 - bne _0809989C - movs r1, 0x20 - ldrsh r0, [r3, r1] - cmp r0, 0 - bne _0809989C -_0809986A: - adds r1, r2, r6 - lsls r1, 3 - adds r1, r5 - ldrh r0, [r1, 0x1E] - movs r2, 0x1 - eors r0, r2 - strh r0, [r1, 0x1E] - ldrh r0, [r1, 0x20] - eors r0, r2 - strh r0, [r1, 0x20] - ldrh r0, [r1, 0xE] - subs r0, 0x1 - strh r0, [r1, 0xE] - lsls r0, 16 - asrs r3, r0, 16 - cmp r3, 0 - bne _0809989C - adds r0, r4, r7 - lsls r0, 2 - add r0, r9 - strh r3, [r0, 0x24] - strh r3, [r0, 0x26] - adds r0, r6, 0 - bl DestroyAnimVisualTask -_0809989C: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080998A8: .4byte gSprites -_080998AC: .4byte gTasks - thumb_func_end sub_8099788 - - thumb_func_start sub_80998B0 -sub_80998B0: @ 80998B0 - push {r4-r6,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r6, _080998FC @ =gBattleAnimArgs - ldrb r0, [r6, 0x6] - bl GetAnimBankSpriteId - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldrb r1, [r6, 0x8] - adds r0, r5, 0 - bl sub_80758E0 - ldr r1, _08099900 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r6] - strh r1, [r0, 0x8] - ldrh r1, [r6, 0x2] - strh r1, [r0, 0xA] - ldrh r1, [r6, 0x4] - strh r1, [r0, 0xC] - ldrh r1, [r6, 0x4] - strh r1, [r0, 0xE] - strh r5, [r0, 0x10] - movs r1, 0x80 - lsls r1, 1 - strh r1, [r0, 0x1C] - strh r1, [r0, 0x1E] - ldr r1, _08099904 @ =sub_8099908 - str r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080998FC: .4byte gBattleAnimArgs -_08099900: .4byte gTasks -_08099904: .4byte sub_8099908 - thumb_func_end sub_80998B0 - - thumb_func_start sub_8099908 -sub_8099908: @ 8099908 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - ldr r1, _08099968 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - ldrh r0, [r4, 0x8] - ldrh r1, [r4, 0x1C] - adds r0, r1 - strh r0, [r4, 0x1C] - ldrh r0, [r4, 0xA] - ldrh r3, [r4, 0x1E] - adds r0, r3 - strh r0, [r4, 0x1E] - ldrb r0, [r4, 0x10] - adds r6, r0, 0 - movs r0, 0x1C - ldrsh r1, [r4, r0] - movs r3, 0x1E - ldrsh r2, [r4, r3] - adds r0, r6, 0 - movs r3, 0 - bl obj_id_set_rotscale - ldrh r0, [r4, 0xC] - subs r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r1, r0, 16 - cmp r1, 0 - bne _08099978 - ldrh r2, [r4, 0xE] - movs r3, 0xE - ldrsh r0, [r4, r3] - cmp r0, 0 - ble _0809996C - ldrh r0, [r4, 0x8] - negs r0, r0 - strh r0, [r4, 0x8] - ldrh r0, [r4, 0xA] - negs r0, r0 - strh r0, [r4, 0xA] - strh r2, [r4, 0xC] - strh r1, [r4, 0xE] - b _08099978 - .align 2, 0 -_08099968: .4byte gTasks -_0809996C: - adds r0, r6, 0 - bl sub_8075980 - adds r0, r5, 0 - bl DestroyAnimVisualTask -_08099978: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8099908 - - thumb_func_start sub_8099980 -sub_8099980: @ 8099980 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r4, _080999BC @ =gBattleAnimArgs - ldrb r0, [r4, 0x4] - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r1, 0 - bl sub_80758E0 - ldr r1, _080999C0 @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r2, r0, r1 - movs r1, 0 - strh r1, [r2, 0xA] - ldrh r0, [r4] - strh r0, [r2, 0xC] - movs r3, 0x6 - ldrsh r0, [r4, r3] - cmp r0, 0x1 - beq _080999C4 - strh r1, [r2, 0xE] - b _080999D0 - .align 2, 0 -_080999BC: .4byte gBattleAnimArgs -_080999C0: .4byte gTasks -_080999C4: - ldrh r0, [r4] - ldrh r1, [r4, 0x2] - adds r3, r0, 0 - muls r3, r1 - adds r0, r3, 0 - strh r0, [r2, 0xE] -_080999D0: - ldr r1, _080999FC @ =gTasks - lsls r4, r7, 2 - adds r0, r4, r7 - lsls r0, 3 - adds r5, r0, r1 - ldr r6, _08099A00 @ =gBattleAnimArgs - ldrh r0, [r6, 0x2] - strh r0, [r5, 0x10] - mov r0, r8 - strh r0, [r5, 0x12] - ldrh r0, [r6, 0x6] - strh r0, [r5, 0x14] - bl sub_8073788 - lsls r0, 24 - mov r8, r4 - cmp r0, 0 - beq _08099A04 - movs r0, 0x1 - strh r0, [r5, 0x16] - b _08099A28 - .align 2, 0 -_080999FC: .4byte gTasks -_08099A00: .4byte gBattleAnimArgs -_08099A04: - movs r1, 0x4 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _08099A14 - ldr r0, _08099A10 @ =gBattleAnimAttacker - b _08099A16 - .align 2, 0 -_08099A10: .4byte gBattleAnimAttacker -_08099A14: - ldr r0, _08099A6C @ =gBattleAnimTarget -_08099A16: - ldrb r0, [r0] - bl GetBattlerSide - movs r1, 0 - lsls r0, 24 - cmp r0, 0 - bne _08099A26 - movs r1, 0x1 -_08099A26: - strh r1, [r5, 0x16] -_08099A28: - ldr r0, _08099A70 @ =gTasks - mov r2, r8 - adds r1, r2, r7 - lsls r1, 3 - adds r4, r1, r0 - movs r3, 0x16 - ldrsh r0, [r4, r3] - cmp r0, 0 - beq _08099A54 - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _08099A54 - movs r1, 0xE - ldrsh r0, [r4, r1] - negs r0, r0 - strh r0, [r4, 0xE] - movs r2, 0x10 - ldrsh r0, [r4, r2] - negs r0, r0 - strh r0, [r4, 0x10] -_08099A54: - ldr r0, _08099A70 @ =gTasks - mov r3, r8 - adds r1, r3, r7 - lsls r1, 3 - adds r1, r0 - ldr r0, _08099A74 @ =sub_8099B54 - str r0, [r1] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08099A6C: .4byte gBattleAnimTarget -_08099A70: .4byte gTasks -_08099A74: .4byte sub_8099B54 - thumb_func_end sub_8099980 - - thumb_func_start sub_8099A78 -sub_8099A78: @ 8099A78 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, _08099AB4 @ =gBattleAnimArgs - ldrb r0, [r4, 0x4] - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r1, 0 - bl sub_80758E0 - ldr r1, _08099AB8 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0xA] - ldrh r1, [r4] - strh r1, [r0, 0xC] - movs r1, 0x4 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08099AC0 - ldr r0, _08099ABC @ =gBattleAnimAttacker - b _08099AC2 - .align 2, 0 -_08099AB4: .4byte gBattleAnimArgs -_08099AB8: .4byte gTasks -_08099ABC: .4byte gBattleAnimAttacker -_08099AC0: - ldr r0, _08099AF0 @ =gBattleAnimTarget -_08099AC2: - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _08099AD4 - ldrh r0, [r4, 0x2] - negs r0, r0 - strh r0, [r4, 0x2] -_08099AD4: - ldr r0, _08099AF4 @ =gBattleAnimArgs - movs r2, 0x6 - ldrsh r1, [r0, r2] - adds r6, r0, 0 - cmp r1, 0x1 - beq _08099AFC - ldr r2, _08099AF8 @ =gTasks - lsls r3, r5, 2 - adds r0, r3, r5 - lsls r0, 3 - adds r0, r2 - movs r1, 0 - strh r1, [r0, 0xE] - b _08099B16 - .align 2, 0 -_08099AF0: .4byte gBattleAnimTarget -_08099AF4: .4byte gBattleAnimArgs -_08099AF8: .4byte gTasks -_08099AFC: - ldr r3, _08099B4C @ =gTasks - lsls r4, r5, 2 - adds r0, r4, r5 - lsls r0, 3 - adds r0, r3 - ldrh r2, [r6] - ldrh r1, [r6, 0x2] - adds r7, r2, 0 - muls r7, r1 - adds r1, r7, 0 - strh r1, [r0, 0xE] - adds r2, r3, 0 - adds r3, r4, 0 -_08099B16: - adds r1, r3, r5 - lsls r1, 3 - adds r1, r2 - ldrh r0, [r6, 0x2] - strh r0, [r1, 0x10] - mov r0, r8 - strh r0, [r1, 0x12] - ldrh r0, [r6, 0x6] - strh r0, [r1, 0x14] - movs r0, 0x1 - strh r0, [r1, 0x16] - movs r2, 0xE - ldrsh r0, [r1, r2] - negs r0, r0 - strh r0, [r1, 0xE] - movs r7, 0x10 - ldrsh r0, [r1, r7] - negs r0, r0 - strh r0, [r1, 0x10] - ldr r0, _08099B50 @ =sub_8099B54 - str r0, [r1] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08099B4C: .4byte gTasks -_08099B50: .4byte sub_8099B54 - thumb_func_end sub_8099A78 - - thumb_func_start sub_8099B54 -sub_8099B54: @ 8099B54 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _08099BAC @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - ldrh r0, [r4, 0x10] - ldrh r1, [r4, 0xE] - adds r0, r1 - strh r0, [r4, 0xE] - ldrb r0, [r4, 0x12] - movs r2, 0x80 - lsls r2, 1 - ldrh r3, [r4, 0xE] - adds r1, r2, 0 - bl obj_id_set_rotscale - movs r2, 0x16 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _08099B88 - ldrb r0, [r4, 0x12] - bl sub_80759DC -_08099B88: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - movs r2, 0xC - ldrsh r1, [r4, r2] - cmp r0, r1 - blt _08099BCE - movs r1, 0x14 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _08099BB0 - cmp r0, 0x1 - ble _08099BB6 - cmp r0, 0x2 - beq _08099BBE - b _08099BB6 - .align 2, 0 -_08099BAC: .4byte gTasks -_08099BB0: - ldrb r0, [r4, 0x12] - bl sub_8075980 -_08099BB6: - adds r0, r5, 0 - bl DestroyAnimVisualTask - b _08099BCE -_08099BBE: - movs r0, 0 - strh r0, [r4, 0xA] - movs r2, 0x10 - ldrsh r0, [r4, r2] - negs r0, r0 - strh r0, [r4, 0x10] - movs r0, 0x1 - strh r0, [r4, 0x14] -_08099BCE: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8099B54 - - thumb_func_start sub_8099BD4 -sub_8099BD4: @ 8099BD4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, _08099C00 @ =gBattleAnimArgs - movs r2, 0 - ldrsh r1, [r0, r2] - mov r8, r0 - cmp r1, 0 - bne _08099C0C - ldr r4, _08099C04 @ =gTasks - lsls r5, r7, 2 - adds r0, r5, r7 - lsls r0, 3 - adds r6, r0, r4 - ldr r0, _08099C08 @ =gUnknown_2037EEC - ldrh r0, [r0] - movs r1, 0xC - bl __udivsi3 - b _08099C20 - .align 2, 0 -_08099C00: .4byte gBattleAnimArgs -_08099C04: .4byte gTasks -_08099C08: .4byte gUnknown_2037EEC -_08099C0C: - ldr r4, _08099CA8 @ =gTasks - lsls r5, r7, 2 - adds r0, r5, r7 - lsls r0, 3 - adds r6, r0, r4 - ldr r0, _08099CAC @ =gUnknown_2037EE8 - ldr r0, [r0] - movs r1, 0xC - bl __divsi3 -_08099C20: - strh r0, [r6, 0x26] - lsls r0, 16 - adds r1, r4, 0 - cmp r0, 0 - bgt _08099C2E - movs r0, 0x1 - strh r0, [r6, 0x26] -_08099C2E: - movs r2, 0x26 - ldrsh r0, [r6, r2] - cmp r0, 0x10 - ble _08099C3A - movs r0, 0x10 - strh r0, [r6, 0x26] -_08099C3A: - adds r4, r5, r7 - lsls r4, 3 - adds r4, r1 - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsrs r0, r1, 31 - adds r1, r0 - asrs r1, 1 - movs r5, 0 - strh r1, [r4, 0x24] - ldrh r2, [r4, 0x26] - movs r0, 0x1 - ands r0, r2 - adds r1, r0 - strh r1, [r4, 0x22] - strh r5, [r4, 0x20] - mov r1, r8 - ldrh r0, [r1, 0x6] - strh r0, [r4, 0x1C] - ldrh r0, [r1, 0x8] - strh r0, [r4, 0x1E] - movs r0, 0x1 - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x16] - ldr r2, _08099CB0 @ =gSprites - movs r0, 0x16 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x24] - strh r0, [r4, 0x18] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x26] - strh r0, [r4, 0x1A] - strh r5, [r4, 0x8] - mov r1, r8 - ldrh r0, [r1, 0x2] - strh r0, [r4, 0xA] - ldrh r0, [r1, 0x4] - strh r0, [r4, 0xC] - ldr r0, _08099CB4 @ =sub_8099CB8 - str r0, [r4] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08099CA8: .4byte gTasks -_08099CAC: .4byte gUnknown_2037EE8 -_08099CB0: .4byte gSprites -_08099CB4: .4byte sub_8099CB8 - thumb_func_end sub_8099BD4 - - thumb_func_start sub_8099CB8 -sub_8099CB8: @ 8099CB8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _08099D0C @ =gTasks - adds r3, r0, r1 - ldrh r0, [r3, 0x8] - adds r0, 0x1 - strh r0, [r3, 0x8] - lsls r0, 16 - asrs r0, 16 - movs r2, 0xA - ldrsh r1, [r3, r2] - cmp r0, r1 - ble _08099D96 - movs r0, 0 - strh r0, [r3, 0x8] - ldrh r0, [r3, 0x20] - adds r1, r0, 0x1 - movs r0, 0x1 - ands r1, r0 - strh r1, [r3, 0x20] - movs r2, 0x1C - ldrsh r0, [r3, r2] - cmp r0, 0 - beq _08099D2A - cmp r1, 0 - beq _08099D14 - ldr r2, _08099D10 @ =gSprites - movs r0, 0x16 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r3, 0x22] - ldrh r2, [r3, 0x18] - adds r1, r2 - b _08099D28 - .align 2, 0 -_08099D0C: .4byte gTasks -_08099D10: .4byte gSprites -_08099D14: - ldr r2, _08099D50 @ =gSprites - movs r0, 0x16 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r3, 0x18] - ldrh r2, [r3, 0x24] - subs r1, r2 -_08099D28: - strh r1, [r0, 0x24] -_08099D2A: - movs r1, 0x1E - ldrsh r0, [r3, r1] - cmp r0, 0 - beq _08099D64 - movs r2, 0x20 - ldrsh r4, [r3, r2] - cmp r4, 0 - beq _08099D54 - ldr r2, _08099D50 @ =gSprites - movs r0, 0x16 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r3, 0x26] - strh r1, [r0, 0x26] - b _08099D64 - .align 2, 0 -_08099D50: .4byte gSprites -_08099D54: - ldr r2, _08099D9C @ =gSprites - movs r0, 0x16 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r4, [r0, 0x26] -_08099D64: - ldrh r0, [r3, 0xC] - subs r0, 0x1 - strh r0, [r3, 0xC] - lsls r0, 16 - asrs r4, r0, 16 - cmp r4, 0 - bne _08099D96 - ldr r2, _08099D9C @ =gSprites - movs r0, 0x16 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r4, [r0, 0x24] - movs r0, 0x16 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r4, [r0, 0x26] - adds r0, r5, 0 - bl DestroyAnimVisualTask -_08099D96: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08099D9C: .4byte gSprites - thumb_func_end sub_8099CB8 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/battle_anim_80DE2C0.s b/asm/battle_anim_80DE2C0.s deleted file mode 100644 index 74f6ef9fc..000000000 --- a/asm/battle_anim_80DE2C0.s +++ /dev/null @@ -1,12857 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_80DE2C0 -sub_80DE2C0: @ 80DE2C0 - push {lr} - adds r2, r0, 0 - ldr r1, _080DE2E4 @ =gBattleAnimArgs - ldrh r0, [r1] - ldrh r3, [r2, 0x20] - adds r0, r3 - strh r0, [r2, 0x20] - ldrh r0, [r1, 0x2] - ldrh r3, [r2, 0x22] - adds r0, r3 - strh r0, [r2, 0x22] - movs r3, 0x6 - ldrsh r0, [r1, r3] - cmp r0, 0 - bne _080DE2E8 - ldrh r0, [r1, 0x4] - b _080DE2EC - .align 2, 0 -_080DE2E4: .4byte gBattleAnimArgs -_080DE2E8: - ldrh r0, [r1, 0x4] - negs r0, r0 -_080DE2EC: - strh r0, [r2, 0x2E] - ldrh r0, [r1, 0x8] - strh r0, [r2, 0x30] - ldr r0, _080DE2FC @ =sub_80DE300 - str r0, [r2, 0x1C] - pop {r0} - bx r0 - .align 2, 0 -_080DE2FC: .4byte sub_80DE300 - thumb_func_end sub_80DE2C0 - - thumb_func_start sub_80DE300 -sub_80DE300: @ 80DE300 - push {lr} - adds r3, r0, 0 - movs r1, 0x30 - ldrsh r0, [r3, r1] - cmp r0, 0 - ble _080DE340 - ldrh r1, [r3, 0x32] - lsls r0, r1, 16 - asrs r0, 24 - strh r0, [r3, 0x24] - ldrh r0, [r3, 0x2E] - adds r1, r0 - strh r1, [r3, 0x32] - movs r0, 0x3E - adds r0, r3 - mov r12, r0 - ldrb r2, [r0] - lsls r0, r2, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - mov r1, r12 - strb r0, [r1] - ldrh r0, [r3, 0x30] - subs r0, 0x1 - strh r0, [r3, 0x30] - b _080DE346 -_080DE340: - adds r0, r3, 0 - bl DestroyAnimSprite -_080DE346: - pop {r0} - bx r0 - thumb_func_end sub_80DE300 - - thumb_func_start sub_80DE34C -sub_80DE34C: @ 80DE34C - push {r4-r6,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r6, _080DE398 @ =gBattleAnimTarget - ldrb r0, [r6] - movs r1, 0x2 - bl sub_8074480 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 8 - movs r0, 0x80 - lsls r0, 12 - adds r4, r0 - asrs r4, 16 - ldrb r0, [r6] - movs r1, 0x3 - bl sub_8074480 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 8 - movs r0, 0x80 - lsls r0, 12 - adds r1, r0 - asrs r1, 16 - adds r0, r4, 0 - movs r2, 0 - bl sub_804A76C - adds r0, r5, 0 - bl DestroyAnimVisualTask - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080DE398: .4byte gBattleAnimTarget - thumb_func_end sub_80DE34C - - thumb_func_start sub_80DE39C -sub_80DE39C: @ 80DE39C - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x5A - strh r0, [r4, 0x2E] - ldr r0, _080DE3D8 @ =sub_8074C44 - str r0, [r4, 0x1C] - movs r0, 0x7 - strh r0, [r4, 0x30] - ldr r1, _080DE3DC @ =sub_80DE3E0 - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - movs r1, 0xFD - lsls r1, 6 - movs r0, 0x50 - bl SetGpuReg - ldrh r0, [r4, 0x30] - movs r1, 0x10 - subs r1, r0 - lsls r1, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080DE3D8: .4byte sub_8074C44 -_080DE3DC: .4byte sub_80DE3E0 - thumb_func_end sub_80DE39C - - thumb_func_start sub_80DE3E0 -sub_80DE3E0: @ 80DE3E0 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x30] - movs r1, 0x10 - subs r1, r0 - lsls r1, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - ldrh r0, [r4, 0x30] - subs r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - cmp r0, 0 - bge _080DE414 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, _080DE41C @ =sub_80DE420 - str r0, [r4, 0x1C] -_080DE414: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080DE41C: .4byte sub_80DE420 - thumb_func_end sub_80DE3E0 - - thumb_func_start sub_80DE420 -sub_80DE420: @ 80DE420 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - adds r0, r4, 0 - bl DestroyAnimSprite - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80DE420 - - thumb_func_start sub_80DE440 -sub_80DE440: @ 80DE440 - push {r4-r7,lr} - sub sp, 0x4 - adds r5, r0, 0 - ldr r4, _080DE4CC @ =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - adds r7, r0, 0 - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - adds r6, r0, 0 - adds r0, r5, 0 - movs r1, 0x1 - bl sub_8075114 - ldrh r0, [r5, 0x20] - subs r0, r7 - lsls r0, 16 - asrs r0, 16 - ldrh r1, [r5, 0x22] - subs r1, r6 - lsls r1, 16 - asrs r1, 16 - bl sub_8075B30 - lsls r0, 16 - movs r1, 0xC0 - lsls r1, 23 - adds r0, r1 - lsrs r4, r0, 16 - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - beq _080DE49E - movs r1, 0x80 - lsls r1, 7 - adds r0, r4, r1 - lsls r0, 16 - lsrs r4, r0, 16 -_080DE49E: - movs r3, 0x80 - lsls r3, 1 - str r4, [sp] - adds r0, r5, 0 - movs r1, 0 - adds r2, r3, 0 - bl sub_8075A1C - ldr r0, _080DE4D0 @ =gBattleAnimArgs - ldrh r0, [r0, 0x4] - strh r0, [r5, 0x2E] - strh r7, [r5, 0x32] - strh r6, [r5, 0x36] - ldr r0, _080DE4D4 @ =sub_8075590 - str r0, [r5, 0x1C] - ldr r1, _080DE4D8 @ =DestroyAnimSprite - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080DE4CC: .4byte gBattleAnimTarget -_080DE4D0: .4byte gBattleAnimArgs -_080DE4D4: .4byte sub_8075590 -_080DE4D8: .4byte DestroyAnimSprite - thumb_func_end sub_80DE440 - - thumb_func_start sub_80DE4DC -sub_80DE4DC: @ 80DE4DC - push {r4,lr} - adds r4, r0, 0 - movs r1, 0xFD - lsls r1, 6 - movs r0, 0x50 - bl SetGpuReg - movs r1, 0x80 - lsls r1, 5 - movs r0, 0x52 - bl SetGpuReg - movs r0, 0x4 - strh r0, [r4, 0x2E] - ldr r0, _080DE504 @ =sub_80DE508 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080DE504: .4byte sub_80DE508 - thumb_func_end sub_80DE4DC - - thumb_func_start sub_80DE508 -sub_80DE508: @ 80DE508 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - movs r1, 0x10 - subs r1, r0 - lsls r1, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r1, 0x30 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080DE52E - ldrh r0, [r4, 0x2E] - subs r0, 0x1 - b _080DE532 -_080DE52E: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 -_080DE532: - strh r0, [r4, 0x2E] - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0xF - beq _080DE540 - cmp r0, 0x4 - bne _080DE548 -_080DE540: - ldrh r0, [r4, 0x30] - movs r1, 0x1 - eors r0, r1 - strh r0, [r4, 0x30] -_080DE548: - ldrh r0, [r4, 0x32] - adds r1, r0, 0x1 - strh r1, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x46 - ble _080DE58C - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - movs r0, 0 - strh r0, [r4, 0x32] - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - subs r2, 0x12 - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - ldr r0, _080DE594 @ =sub_80DE598 - str r0, [r4, 0x1C] -_080DE58C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080DE594: .4byte sub_80DE598 - thumb_func_end sub_80DE508 - - thumb_func_start sub_80DE598 -sub_80DE598: @ 80DE598 - push {lr} - adds r3, r0, 0 - ldrh r0, [r3, 0x32] - adds r1, r0, 0x1 - strh r1, [r3, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x9 - ble _080DE5D4 - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - subs r2, 0x12 - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] - adds r0, r3, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080DE5D4 - ldr r0, _080DE5D8 @ =sub_80DE5DC - str r0, [r3, 0x1C] -_080DE5D4: - pop {r0} - bx r0 - .align 2, 0 -_080DE5D8: .4byte sub_80DE5DC - thumb_func_end sub_80DE598 - - thumb_func_start sub_80DE5DC -sub_80DE5DC: @ 80DE5DC - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, 0x6 - bhi _080DE634 - lsls r0, 2 - ldr r1, _080DE5F4 @ =_080DE5F8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080DE5F4: .4byte _080DE5F8 - .align 2, 0 -_080DE5F8: - .4byte _080DE614 - .4byte _080DE614 - .4byte _080DE61E - .4byte _080DE61E - .4byte _080DE62C - .4byte _080DE62C - .4byte _080DE634 -_080DE614: - movs r1, 0 - movs r0, 0x1 - strh r0, [r4, 0x24] - strh r1, [r4, 0x26] - b _080DE63C -_080DE61E: - ldr r0, _080DE628 @ =0x0000ffff - strh r0, [r4, 0x24] - movs r0, 0 - b _080DE63A - .align 2, 0 -_080DE628: .4byte 0x0000ffff -_080DE62C: - movs r0, 0 - strh r0, [r4, 0x24] - movs r0, 0x1 - b _080DE63A -_080DE634: - movs r0, 0 - strh r0, [r4, 0x24] - ldr r0, _080DE680 @ =0x0000ffff -_080DE63A: - strh r0, [r4, 0x26] -_080DE63C: - ldrh r0, [r4, 0x34] - adds r0, 0x1 - movs r2, 0 - strh r0, [r4, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7 - ble _080DE64E - strh r2, [r4, 0x34] -_080DE64E: - ldrh r0, [r4, 0x36] - adds r1, r0, 0x1 - strh r1, [r4, 0x36] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xF - ble _080DE678 - movs r0, 0x10 - strh r0, [r4, 0x2E] - strh r2, [r4, 0x30] - movs r1, 0xFD - lsls r1, 6 - movs r0, 0x50 - bl SetGpuReg - ldrh r1, [r4, 0x2E] - movs r0, 0x52 - bl SetGpuReg - ldr r0, _080DE684 @ =sub_80DE688 - str r0, [r4, 0x1C] -_080DE678: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080DE680: .4byte 0x0000ffff -_080DE684: .4byte sub_80DE688 - thumb_func_end sub_80DE5DC - - thumb_func_start sub_80DE688 -sub_80DE688: @ 80DE688 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - movs r1, 0x10 - subs r1, r0 - lsls r1, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - ldrh r0, [r4, 0x30] - adds r1, r0, 0x1 - strh r1, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080DE6B8 - ldrh r0, [r4, 0x2E] - subs r0, 0x1 - movs r1, 0 - strh r0, [r4, 0x2E] - strh r1, [r4, 0x30] -_080DE6B8: - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080DE6CC - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] -_080DE6CC: - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - bge _080DE6EA - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - adds r0, r4, 0 - bl DestroyAnimSprite -_080DE6EA: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80DE688 - - thumb_func_start sub_80DE6F0 -sub_80DE6F0: @ 80DE6F0 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080DE70C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, _080DE710 @ =sub_80DE718 - str r0, [r1] - ldr r1, _080DE714 @ =gUnknown_2037EE2 - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] - bx lr - .align 2, 0 -_080DE70C: .4byte gTasks -_080DE710: .4byte sub_80DE718 -_080DE714: .4byte gUnknown_2037EE2 - thumb_func_end sub_80DE6F0 - - thumb_func_start sub_80DE718 -sub_80DE718: @ 80DE718 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_8075454 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r7, _080DE7A4 @ =gTasks - lsls r5, r4, 2 - adds r1, r5, r4 - lsls r1, 3 - adds r1, r7 - ldrh r0, [r1, 0x12] - adds r0, 0x1 - strh r0, [r1, 0x12] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - bne _080DE788 - ldr r0, _080DE7A8 @ =gPlttBufferFaded - lsls r2, r6, 4 - adds r1, r2, 0 - adds r1, 0xB - lsls r1, 1 - adds r1, r0 - ldrh r3, [r1] - mov r8, r3 - movs r3, 0xA - mov r9, r7 - adds r7, r5, 0 - mov r12, r0 - adds r5, r2, 0 - lsls r0, r6, 5 - add r0, r12 - adds r2, r0, 0 - adds r2, 0x14 -_080DE766: - ldrh r0, [r2] - strh r0, [r1] - subs r2, 0x2 - subs r1, 0x2 - subs r3, 0x1 - cmp r3, 0 - bgt _080DE766 - adds r0, r5, 0x1 - lsls r0, 1 - add r0, r12 - movs r1, 0 - mov r2, r8 - strh r2, [r0] - adds r0, r7, r4 - lsls r0, 3 - add r0, r9 - strh r1, [r0, 0x12] -_080DE788: - ldr r0, _080DE7AC @ =gBattleAnimArgs - ldrh r1, [r0, 0xE] - ldr r0, _080DE7B0 @ =0x0000ffff - cmp r1, r0 - bne _080DE798 - adds r0, r4, 0 - bl DestroyTask -_080DE798: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080DE7A4: .4byte gTasks -_080DE7A8: .4byte gPlttBufferFaded -_080DE7AC: .4byte gBattleAnimArgs -_080DE7B0: .4byte 0x0000ffff - thumb_func_end sub_80DE718 - - thumb_func_start sub_80DE7B4 -sub_80DE7B4: @ 80DE7B4 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080DE7D0 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, _080DE7D4 @ =sub_80DE7DC - str r0, [r1] - ldr r1, _080DE7D8 @ =gUnknown_2037EE2 - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] - bx lr - .align 2, 0 -_080DE7D0: .4byte gTasks -_080DE7D4: .4byte sub_80DE7DC -_080DE7D8: .4byte gUnknown_2037EE2 - thumb_func_end sub_80DE7B4 - - thumb_func_start sub_80DE7DC -sub_80DE7DC: @ 80DE7DC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - bl sub_8075454 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r5, _080DE89C @ =gTasks - mov r0, r8 - lsls r3, r0, 2 - adds r1, r3, r0 - lsls r1, 3 - adds r1, r5 - ldrh r0, [r1, 0x12] - adds r0, 0x1 - strh r0, [r1, 0x12] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - bne _080DE87E - ldr r0, _080DE8A0 @ =gPlttBufferFaded - lsls r2, r7, 4 - adds r1, r2, 0 - adds r1, 0xB - lsls r1, 1 - adds r1, r0 - ldrh r6, [r1] - movs r4, 0xA - mov r10, r3 - mov r9, r0 - adds r5, r2, 0 - ldr r2, _080DE8A4 @ =gPlttBufferUnfaded - mov r12, r2 - lsls r0, r7, 5 - add r0, r9 - adds r3, r0, 0 - adds r3, 0x14 -_080DE830: - ldrh r0, [r3] - strh r0, [r1] - subs r3, 0x2 - subs r1, 0x2 - subs r4, 0x1 - cmp r4, 0 - bgt _080DE830 - adds r0, r5, 0x1 - lsls r0, 1 - add r0, r9 - strh r6, [r0] - adds r1, r5, 0 - adds r1, 0xB - lsls r1, 1 - add r1, r12 - ldrh r6, [r1] - movs r4, 0xA - lsls r0, r7, 5 - add r0, r12 - adds r2, r0, 0 - adds r2, 0x14 -_080DE85A: - ldrh r0, [r2] - strh r0, [r1] - subs r2, 0x2 - subs r1, 0x2 - subs r4, 0x1 - cmp r4, 0 - bgt _080DE85A - adds r0, r5, 0x1 - lsls r0, 1 - add r0, r12 - movs r1, 0 - strh r6, [r0] - mov r0, r10 - add r0, r8 - lsls r0, 3 - ldr r2, _080DE89C @ =gTasks - adds r0, r2 - strh r1, [r0, 0x12] -_080DE87E: - ldr r0, _080DE8A8 @ =gBattleAnimArgs - ldrh r1, [r0, 0xE] - ldr r0, _080DE8AC @ =0x0000ffff - cmp r1, r0 - bne _080DE88E - mov r0, r8 - bl DestroyTask -_080DE88E: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080DE89C: .4byte gTasks -_080DE8A0: .4byte gPlttBufferFaded -_080DE8A4: .4byte gPlttBufferUnfaded -_080DE8A8: .4byte gBattleAnimArgs -_080DE8AC: .4byte 0x0000ffff - thumb_func_end sub_80DE7DC - - thumb_func_start sub_80DE8B0 -sub_80DE8B0: @ 80DE8B0 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - movs r1, 0x1 - bl sub_8075160 - ldr r0, _080DE914 @ =gBattleAnimTarget - ldrb r0, [r0] - mov r5, sp - adds r5, 0x2 - movs r1, 0 - mov r2, sp - adds r3, r5, 0 - bl sub_8076D9C - ldr r0, _080DE918 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080DE8E4 - ldr r1, _080DE91C @ =gBattleAnimArgs - ldrh r0, [r1, 0x4] - negs r0, r0 - strh r0, [r1, 0x4] -_080DE8E4: - ldr r1, _080DE91C @ =gBattleAnimArgs - ldrh r0, [r1, 0x8] - strh r0, [r4, 0x2E] - mov r2, sp - ldrh r0, [r1, 0x4] - ldrh r2, [r2] - adds r0, r2 - strh r0, [r4, 0x32] - ldrh r0, [r1, 0x6] - ldrh r5, [r5] - adds r0, r5 - strh r0, [r4, 0x36] - ldr r0, _080DE920 @ =0x0000ffce - strh r0, [r4, 0x38] - adds r0, r4, 0 - bl sub_8075068 - ldr r0, _080DE924 @ =sub_80DE928 - str r0, [r4, 0x1C] - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080DE914: .4byte gBattleAnimTarget -_080DE918: .4byte gBattleAnimAttacker -_080DE91C: .4byte gBattleAnimArgs -_080DE920: .4byte 0x0000ffce -_080DE924: .4byte sub_80DE928 - thumb_func_end sub_80DE8B0 - - thumb_func_start sub_80DE928 -sub_80DE928: @ 80DE928 - push {r4,lr} - adds r4, r0, 0 - bl AnimateBallThrow - lsls r0, 24 - cmp r0, 0 - beq _080DE94A - movs r1, 0 - movs r0, 0x1E - strh r0, [r4, 0x2E] - strh r1, [r4, 0x30] - ldr r0, _080DE950 @ =sub_8074C44 - str r0, [r4, 0x1C] - ldr r1, _080DE954 @ =sub_80DE958 - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 -_080DE94A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080DE950: .4byte sub_8074C44 -_080DE954: .4byte sub_80DE958 - thumb_func_end sub_80DE928 - - thumb_func_start sub_80DE958 -sub_80DE958: @ 80DE958 - push {lr} - adds r3, r0, 0 - ldrh r1, [r3, 0x30] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080DE984 - movs r0, 0x3E - adds r0, r3 - mov r12, r0 - ldrb r2, [r0] - lsls r0, r2, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - mov r1, r12 - strb r0, [r1] -_080DE984: - ldrh r0, [r3, 0x30] - adds r0, 0x1 - strh r0, [r3, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x10 - bne _080DE998 - adds r0, r3, 0 - bl DestroyAnimSprite -_080DE998: - pop {r0} - bx r0 - thumb_func_end sub_80DE958 - - thumb_func_start sub_80DE99C -sub_80DE99C: @ 80DE99C - push {r4,r5,lr} - adds r4, r0, 0 - bl sub_8074FCC - ldr r5, _080DE9CC @ =gBattleAnimArgs - movs r0, 0 - ldrsh r1, [r5, r0] - adds r0, r4, 0 - bl sub_8074FF8 - ldrh r0, [r5, 0x2] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - ldr r0, _080DE9D0 @ =sub_8074F6C - str r0, [r4, 0x1C] - ldr r1, _080DE9D4 @ =DestroyAnimSprite - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080DE9CC: .4byte gBattleAnimArgs -_080DE9D0: .4byte sub_8074F6C -_080DE9D4: .4byte DestroyAnimSprite - thumb_func_end sub_80DE99C - - thumb_func_start sub_80DE9D8 -sub_80DE9D8: @ 80DE9D8 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080DEA38 - adds r0, r4, 0 - bl sub_8074FCC - ldr r5, _080DEA14 @ =gBattleAnimArgs - movs r2, 0 - ldrsh r1, [r5, r2] - adds r0, r4, 0 - bl sub_8074FF8 - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080DEA2C - ldr r0, _080DEA18 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080DEA1C - ldrh r0, [r5, 0x4] - b _080DEA32 - .align 2, 0 -_080DEA14: .4byte gBattleAnimArgs -_080DEA18: .4byte gBattleAnimAttacker -_080DEA1C: - movs r1, 0x4 - ldrsh r0, [r5, r1] - negs r0, r0 - strh r0, [r4, 0x30] - movs r2, 0x6 - ldrsh r0, [r5, r2] - negs r0, r0 - b _080DEA36 -_080DEA2C: - movs r1, 0x4 - ldrsh r0, [r5, r1] - negs r0, r0 -_080DEA32: - strh r0, [r4, 0x30] - ldrh r0, [r5, 0x6] -_080DEA36: - strh r0, [r4, 0x32] -_080DEA38: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - movs r2, 0x2E - ldrsh r1, [r4, r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - movs r3, 0xFF - ldrh r1, [r4, 0x30] - ldrh r2, [r4, 0x34] - adds r1, r2 - strh r1, [r4, 0x34] - ldrh r1, [r4, 0x32] - ldrh r2, [r4, 0x36] - adds r1, r2 - strh r1, [r4, 0x36] - movs r2, 0x34 - ldrsh r1, [r4, r2] - lsrs r2, r1, 31 - adds r1, r2 - asrs r1, 1 - strh r1, [r4, 0x24] - ands r0, r3 - movs r1, 0x5 - bl Sin - movs r2, 0x36 - ldrsh r1, [r4, r2] - lsrs r2, r1, 31 - adds r1, r2 - asrs r1, 1 - adds r0, r1 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x24] - ldrh r1, [r4, 0x20] - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xF0 - bls _080DEA90 - adds r0, r4, 0 - bl DestroyAnimSprite -_080DEA90: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80DE9D8 - - thumb_func_start sub_80DEA98 -sub_80DEA98: @ 80DEA98 - push {lr} - adds r2, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080DEAAE - adds r0, r2, 0 - bl DestroyAnimSprite -_080DEAAE: - pop {r0} - bx r0 - thumb_func_end sub_80DEA98 - - thumb_func_start sub_80DEAB4 -sub_80DEAB4: @ 80DEAB4 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080DEAD0 @ =gBattleAnimTarget - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080DEAD8 - ldr r1, _080DEAD4 @ =gBattleAnimArgs - movs r0, 0 - b _080DEADC - .align 2, 0 -_080DEAD0: .4byte gBattleAnimTarget -_080DEAD4: .4byte gBattleAnimArgs -_080DEAD8: - ldr r1, _080DEAEC @ =gBattleAnimArgs - movs r0, 0x1 -_080DEADC: - strh r0, [r1, 0xE] - adds r0, r4, 0 - bl DestroyAnimVisualTask - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080DEAEC: .4byte gBattleAnimArgs - thumb_func_end sub_80DEAB4 - - thumb_func_start sub_80DEAF0 -sub_80DEAF0: @ 80DEAF0 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _080DEB04 @ =gUnknown_2037EE8 - ldr r0, [r0] - cmp r0, 0 - ble _080DEB0C - ldr r1, _080DEB08 @ =gBattleAnimArgs - movs r0, 0 - b _080DEB10 - .align 2, 0 -_080DEB04: .4byte gUnknown_2037EE8 -_080DEB08: .4byte gBattleAnimArgs -_080DEB0C: - ldr r1, _080DEB1C @ =gBattleAnimArgs - movs r0, 0x1 -_080DEB10: - strh r0, [r1, 0xE] - adds r0, r2, 0 - bl DestroyAnimVisualTask - pop {r0} - bx r0 - .align 2, 0 -_080DEB1C: .4byte gBattleAnimArgs - thumb_func_end sub_80DEAF0 - - thumb_func_start sub_80DEB20 -sub_80DEB20: @ 80DEB20 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r1, _080DEB7C @ =0x00001f3f - movs r0, 0x4A - bl SetGpuReg - movs r1, 0x80 - lsls r1, 8 - movs r0, 0 - bl SetGpuRegBits - ldr r0, _080DEB80 @ =gUnknown_2022984 - movs r1, 0 - strh r1, [r0] - ldr r4, _080DEB84 @ =gUnknown_2022986 - strh r1, [r4] - movs r0, 0x40 - movs r1, 0 - bl SetGpuReg - ldrh r1, [r4] - movs r0, 0x44 - bl SetGpuReg - adds r0, r5, 0 - movs r1, 0 - bl sub_8075114 - ldrb r1, [r5, 0x1] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - movs r1, 0x8 - orrs r0, r1 - strb r0, [r5, 0x1] - adds r2, r5, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, _080DEB88 @ =sub_80DEB8C - str r0, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080DEB7C: .4byte 0x00001f3f -_080DEB80: .4byte gUnknown_2022984 -_080DEB84: .4byte gUnknown_2022986 -_080DEB88: .4byte sub_80DEB8C - thumb_func_end sub_80DEB20 - - thumb_func_start sub_80DEB8C -sub_80DEB8C: @ 80DEB8C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x5 - bhi _080DEC4C - lsls r0, 2 - ldr r1, _080DEBA4 @ =_080DEBA8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080DEBA4: .4byte _080DEBA8 - .align 2, 0 -_080DEBA8: - .4byte _080DEBC0 - .4byte _080DEBDE - .4byte _080DEBFE - .4byte _080DEBDE - .4byte _080DEC1E - .4byte _080DEC2E -_080DEBC0: - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080DEC4C - b _080DEC26 -_080DEBDE: - ldrh r0, [r4, 0x30] - adds r0, 0x75 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 24 - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x15 - bne _080DEC4C - movs r0, 0 - strh r0, [r4, 0x32] - b _080DEC26 -_080DEBFE: - ldrh r0, [r4, 0x30] - subs r0, 0x75 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 24 - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x29 - bne _080DEC4C - movs r0, 0 - strh r0, [r4, 0x32] - b _080DEC26 -_080DEC1E: - adds r0, r4, 0 - movs r1, 0x1 - bl ChangeSpriteAffineAnim -_080DEC26: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _080DEC4C -_080DEC2E: - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080DEC4C - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, _080DEC54 @ =sub_80DEC58 - str r0, [r4, 0x1C] -_080DEC4C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080DEC54: .4byte sub_80DEC58 - thumb_func_end sub_80DEB8C - - thumb_func_start sub_80DEC58 -sub_80DEC58: @ 80DEC58 - push {r4,lr} - adds r4, r0, 0 - ldr r1, _080DEC8C @ =0x00003f3f - movs r0, 0x4A - bl SetGpuReg - movs r0, 0 - bl GetGpuReg - adds r1, r0, 0 - movs r2, 0x80 - lsls r2, 8 - adds r0, r2, 0 - eors r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0 - bl SetGpuReg - adds r0, r4, 0 - bl DestroyAnimSprite - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080DEC8C: .4byte 0x00003f3f - thumb_func_end sub_80DEC58 - - thumb_func_start sub_80DEC90 -sub_80DEC90: @ 80DEC90 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r6, _080DED04 @ =gBattleAnimArgs - movs r1, 0x6 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _080DECBC - ldr r4, _080DED08 @ =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] -_080DECBC: - ldrh r0, [r6] - ldrh r2, [r5, 0x20] - adds r0, r2 - movs r3, 0 - strh r0, [r5, 0x20] - ldrh r0, [r6, 0x2] - ldrh r4, [r5, 0x22] - adds r0, r4 - strh r0, [r5, 0x22] - ldrh r2, [r5, 0x4] - lsls r1, r2, 22 - lsrs r1, 22 - adds r1, 0x10 - ldr r4, _080DED0C @ =0x000003ff - adds r0, r4, 0 - ands r1, r0 - ldr r0, _080DED10 @ =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r5, 0x4] - movs r1, 0x4 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _080DED18 - ldrb r1, [r5, 0x3] - movs r0, 0x3F - negs r0, r0 - ands r0, r1 - movs r1, 0x10 - orrs r0, r1 - strb r0, [r5, 0x3] - ldr r0, _080DED14 @ =0x0000fff4 - strh r0, [r5, 0x24] - movs r0, 0x2 - b _080DED1E - .align 2, 0 -_080DED04: .4byte gBattleAnimArgs -_080DED08: .4byte gBattleAnimAttacker -_080DED0C: .4byte 0x000003ff -_080DED10: .4byte 0xfffffc00 -_080DED14: .4byte 0x0000fff4 -_080DED18: - movs r0, 0xC - strh r0, [r5, 0x24] - ldr r0, _080DED3C @ =0x0000fffe -_080DED1E: - strh r0, [r5, 0x30] - ldr r1, _080DED40 @ =gBattleAnimArgs - ldrh r0, [r1, 0x8] - strh r0, [r5, 0x2E] - movs r2, 0x34 - ldrsh r0, [r5, r2] - cmp r0, 0xFF - beq _080DED32 - ldrh r0, [r1, 0x4] - strh r0, [r5, 0x34] -_080DED32: - ldr r0, _080DED44 @ =sub_80DED48 - str r0, [r5, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080DED3C: .4byte 0x0000fffe -_080DED40: .4byte gBattleAnimArgs -_080DED44: .4byte sub_80DED48 - thumb_func_end sub_80DEC90 - - thumb_func_start sub_80DED48 -sub_80DED48: @ 80DED48 - push {r4,lr} - adds r4, r0, 0 - ldrh r2, [r4, 0x32] - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080DED86 - ldrh r0, [r4, 0x30] - ldrh r1, [r4, 0x24] - adds r0, r1 - strh r0, [r4, 0x24] - lsls r0, 16 - cmp r0, 0 - bne _080DEDA6 - adds r0, r2, 0x1 - strh r0, [r4, 0x32] - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080DEDA6 - movs r0, 0x40 - negs r0, r0 - bl sub_8073A44 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 24 - movs r0, 0xD7 - bl PlaySE1WithPanning - b _080DEDA6 -_080DED86: - ldrh r0, [r4, 0x24] - ldrh r1, [r4, 0x30] - subs r0, r1 - strh r0, [r4, 0x24] - movs r1, 0x24 - ldrsh r0, [r4, r1] - cmp r0, 0 - bge _080DED98 - negs r0, r0 -_080DED98: - cmp r0, 0xC - bne _080DEDA6 - ldrh r0, [r4, 0x2E] - subs r0, 0x1 - strh r0, [r4, 0x2E] - subs r0, r2, 0x1 - strh r0, [r4, 0x32] -_080DEDA6: - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080DEDB4 - adds r0, r4, 0 - bl DestroyAnimSprite -_080DEDB4: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80DED48 - - thumb_func_start sub_80DEDBC -sub_80DEDBC: @ 80DEDBC - push {lr} - ldrb r2, [r0, 0x1] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - movs r2, 0x8 - orrs r1, r2 - strb r1, [r0, 0x1] - movs r1, 0xFF - strh r1, [r0, 0x34] - bl sub_80DEC90 - pop {r0} - bx r0 - thumb_func_end sub_80DEDBC - - thumb_func_start sub_80DEDD8 -sub_80DEDD8: @ 80DEDD8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - beq _080DEE2C - ldr r1, _080DEE14 @ =0x00001f3f - movs r0, 0x48 - bl SetGpuReg - ldr r1, _080DEE18 @ =gUnknown_2022988 - ldr r2, _080DEE1C @ =0x000098f0 - adds r0, r2, 0 - strh r0, [r1] - ldr r1, _080DEE20 @ =gUnknown_202298A - movs r0, 0xA0 - strh r0, [r1] - ldr r0, _080DEE24 @ =gUnknown_2022984 - ldrh r1, [r0] - movs r0, 0x42 - bl SetGpuReg - ldr r0, _080DEE28 @ =gUnknown_2022986 - ldrh r1, [r0] - movs r0, 0x46 - bl SetGpuReg - b _080DEE5C - .align 2, 0 -_080DEE14: .4byte 0x00001f3f -_080DEE18: .4byte gUnknown_2022988 -_080DEE1C: .4byte 0x000098f0 -_080DEE20: .4byte gUnknown_202298A -_080DEE24: .4byte gUnknown_2022984 -_080DEE28: .4byte gUnknown_2022986 -_080DEE2C: - ldr r1, _080DEE68 @ =0x00001f3f - movs r0, 0x48 - bl SetGpuReg - ldr r1, _080DEE6C @ =gUnknown_2022988 - movs r0, 0xF0 - strh r0, [r1] - ldr r4, _080DEE70 @ =gUnknown_202298A - ldr r1, _080DEE74 @ =0x000078a0 - adds r0, r1, 0 - strh r0, [r4] - movs r0, 0x42 - movs r1, 0xF0 - bl SetGpuReg - ldrh r1, [r4] - movs r0, 0x46 - bl SetGpuReg - movs r1, 0x80 - lsls r1, 7 - movs r0, 0 - bl SetGpuRegBits -_080DEE5C: - adds r0, r5, 0 - bl DestroyAnimVisualTask - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080DEE68: .4byte 0x00001f3f -_080DEE6C: .4byte gUnknown_2022988 -_080DEE70: .4byte gUnknown_202298A -_080DEE74: .4byte 0x000078a0 - thumb_func_end sub_80DEDD8 - - thumb_func_start sub_80DEE78 -sub_80DEE78: @ 80DEE78 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _080DEEB0 @ =0x00003f3f - movs r0, 0x48 - bl SetGpuReg - ldr r0, _080DEEB4 @ =gUnknown_2022988 - movs r1, 0 - strh r1, [r0] - ldr r0, _080DEEB8 @ =gUnknown_202298A - strh r1, [r0] - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080DEEA4 - movs r1, 0x80 - lsls r1, 7 - movs r0, 0 - bl ClearGpuRegBits -_080DEEA4: - adds r0, r4, 0 - bl DestroyAnimVisualTask - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080DEEB0: .4byte 0x00003f3f -_080DEEB4: .4byte gUnknown_2022988 -_080DEEB8: .4byte gUnknown_202298A - thumb_func_end sub_80DEE78 - - thumb_func_start sub_80DEEBC -sub_80DEEBC: @ 80DEEBC - push {r4-r6,lr} - adds r5, r0, 0 - ldr r6, _080DEED0 @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _080DEED8 - ldr r4, _080DEED4 @ =gBattleAnimAttacker - b _080DEEDA - .align 2, 0 -_080DEED0: .4byte gBattleAnimArgs -_080DEED4: .4byte gBattleAnimAttacker -_080DEED8: - ldr r4, _080DEF2C @ =gBattleAnimTarget -_080DEEDA: - ldrb r0, [r4] - movs r1, 0 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r6, [r6, 0x2] - adds r0, r6 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - ldr r2, _080DEF30 @ =gBattleAnimArgs - ldrh r0, [r2, 0x4] - strh r0, [r5, 0x26] - movs r3, 0 - lsls r0, 16 - asrs r0, 16 - ldrh r4, [r2, 0x6] - movs r6, 0x6 - ldrsh r1, [r2, r6] - cmp r0, r1 - ble _080DEF12 - movs r3, 0x1 -_080DEF12: - strh r3, [r5, 0x2E] - movs r0, 0 - strh r0, [r5, 0x30] - ldrh r0, [r2, 0x8] - strh r0, [r5, 0x32] - ldrh r0, [r2, 0xA] - strh r0, [r5, 0x34] - strh r4, [r5, 0x36] - ldr r0, _080DEF34 @ =sub_80DEF38 - str r0, [r5, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080DEF2C: .4byte gBattleAnimTarget -_080DEF30: .4byte gBattleAnimArgs -_080DEF34: .4byte sub_80DEF38 - thumb_func_end sub_80DEEBC - - thumb_func_start sub_80DEF38 -sub_80DEF38: @ 80DEF38 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x32] - ldrh r1, [r2, 0x30] - adds r0, r1 - movs r1, 0xFF - ands r0, r1 - strh r0, [r2, 0x30] - ldr r1, _080DEF80 @ =gSineTable - movs r3, 0x30 - ldrsh r0, [r2, r3] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - lsls r0, 16 - asrs r0, 20 - strh r0, [r2, 0x24] - ldrh r0, [r2, 0x34] - ldrh r3, [r2, 0x26] - adds r1, r0, r3 - strh r1, [r2, 0x26] - movs r3, 0x2E - ldrsh r0, [r2, r3] - cmp r0, 0 - beq _080DEF84 - lsls r0, r1, 16 - asrs r0, 16 - movs r3, 0x36 - ldrsh r1, [r2, r3] - cmp r0, r1 - bge _080DEF96 - adds r0, r2, 0 - bl DestroyAnimSprite - b _080DEF96 - .align 2, 0 -_080DEF80: .4byte gSineTable -_080DEF84: - lsls r0, r1, 16 - asrs r0, 16 - movs r3, 0x36 - ldrsh r1, [r2, r3] - cmp r0, r1 - ble _080DEF96 - adds r0, r2, 0 - bl DestroyAnimSprite -_080DEF96: - pop {r0} - bx r0 - thumb_func_end sub_80DEF38 - - thumb_func_start sub_80DEF9C -sub_80DEF9C: @ 80DEF9C - push {r4-r7,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _080DEFBC @ =gTasks - adds r5, r1, r0 - ldr r0, _080DEFC0 @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080DEFC8 - ldr r4, _080DEFC4 @ =gBattleAnimAttacker - b _080DEFCA - .align 2, 0 -_080DEFBC: .4byte gTasks -_080DEFC0: .4byte gBattleAnimArgs -_080DEFC4: .4byte gBattleAnimAttacker -_080DEFC8: - ldr r4, _080DF010 @ =gBattleAnimTarget -_080DEFCA: - ldrb r0, [r4] - bl sub_807492C - lsls r0, 24 - lsrs r6, r0, 24 - ldrb r0, [r4] - bl sub_80768B0 - lsls r0, 24 - lsrs r7, r0, 24 - adds r0, r6, 0 - adds r1, r0, 0 - adds r1, 0x24 - movs r2, 0 - strh r1, [r5, 0x8] - strh r1, [r5, 0xA] - subs r0, 0x21 - strh r0, [r5, 0xC] - cmp r0, 0 - bge _080DEFF4 - strh r2, [r5, 0xC] -_080DEFF4: - ldrh r0, [r5, 0x8] - strh r0, [r5, 0xE] - movs r0, 0x8 - strh r0, [r5, 0x10] - ldr r1, _080DF014 @ =gBattleAnimArgs - ldrh r0, [r1, 0x2] - strh r0, [r5, 0x12] - strh r2, [r5, 0x14] - strh r2, [r5, 0x16] - cmp r7, 0x1 - bne _080DF01C - ldr r0, _080DF018 @ =gBattle_BG1_X - b _080DF01E - .align 2, 0 -_080DF010: .4byte gBattleAnimTarget -_080DF014: .4byte gBattleAnimArgs -_080DF018: .4byte gBattle_BG1_X -_080DF01C: - ldr r0, _080DF03C @ =gBattle_BG2_X -_080DF01E: - ldrh r2, [r0] - strh r2, [r5, 0x18] - adds r3, r2, 0 - adds r3, 0xF0 - strh r3, [r5, 0x1A] - ldrh r0, [r1, 0x4] - strh r0, [r5, 0x1C] - movs r4, 0x4 - ldrsh r0, [r1, r4] - cmp r0, 0 - bne _080DF040 - strh r3, [r5, 0x1E] - ldrh r3, [r5, 0x18] - b _080DF044 - .align 2, 0 -_080DF03C: .4byte gBattle_BG2_X -_080DF040: - strh r2, [r5, 0x1E] - ldrh r3, [r5, 0x1A] -_080DF044: - movs r0, 0 - strh r0, [r5, 0x26] - ldrh r1, [r5, 0xC] - lsls r2, r1, 16 - asrs r1, r2, 16 - movs r6, 0xE - ldrsh r0, [r5, r6] - cmp r1, r0 - bgt _080DF07A - ldr r4, _080DF084 @ =gScanlineEffectRegBuffers - movs r0, 0xF0 - lsls r0, 3 - adds r0, r4 - mov r12, r0 -_080DF060: - asrs r2, 16 - lsls r1, r2, 1 - adds r0, r1, r4 - strh r3, [r0] - add r1, r12 - strh r3, [r1] - adds r2, 0x1 - lsls r2, 16 - asrs r1, r2, 16 - movs r6, 0xE - ldrsh r0, [r5, r6] - cmp r1, r0 - ble _080DF060 -_080DF07A: - cmp r7, 0x1 - bne _080DF08C - ldr r0, _080DF088 @ =0x04000014 - b _080DF08E - .align 2, 0 -_080DF084: .4byte gScanlineEffectRegBuffers -_080DF088: .4byte 0x04000014 -_080DF08C: - ldr r0, _080DF0B8 @ =0x04000018 -_080DF08E: - str r0, [sp] - ldr r0, _080DF0BC @ =0xa2600001 - str r0, [sp, 0x4] - mov r1, sp - movs r2, 0 - movs r0, 0x1 - strb r0, [r1, 0x8] - mov r0, sp - strb r2, [r0, 0x9] - ldr r0, [sp] - ldr r1, [sp, 0x4] - ldr r2, [sp, 0x8] - bl ScanlineEffect_SetParams - ldr r0, _080DF0C0 @ =sub_80DF0C4 - str r0, [r5] - add sp, 0xC - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080DF0B8: .4byte 0x04000018 -_080DF0BC: .4byte 0xa2600001 -_080DF0C0: .4byte sub_80DF0C4 - thumb_func_end sub_80DEF9C - - thumb_func_start sub_80DF0C4 -sub_80DF0C4: @ 80DF0C4 - push {r4-r7,lr} - lsls r0, 24 - lsrs r7, r0, 24 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - ldr r1, _080DF114 @ =gTasks - adds r4, r0, r1 - ldrh r0, [r4, 0x8] - ldrh r1, [r4, 0x12] - subs r0, r1 - strh r0, [r4, 0x8] - lsls r0, 16 - asrs r0, 16 - ldrh r2, [r4, 0xC] - movs r3, 0xC - ldrsh r1, [r4, r3] - cmp r0, r1 - bge _080DF0EC - strh r2, [r4, 0x8] -_080DF0EC: - ldrh r1, [r4, 0x10] - movs r2, 0x10 - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _080DF118 - ldrh r0, [r4, 0xA] - ldrh r1, [r4, 0x12] - subs r0, r1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - ldrh r2, [r4, 0xC] - movs r3, 0xC - ldrsh r1, [r4, r3] - cmp r0, r1 - bge _080DF11C - strh r2, [r4, 0xA] - movs r0, 0x1 - strh r0, [r4, 0x26] - b _080DF11C - .align 2, 0 -_080DF114: .4byte gTasks -_080DF118: - subs r0, r1, 0x1 - strh r0, [r4, 0x10] -_080DF11C: - ldrh r0, [r4, 0x14] - adds r0, 0x1 - strh r0, [r4, 0x14] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080DF148 - movs r0, 0 - strh r0, [r4, 0x14] - movs r1, 0 - movs r2, 0x16 - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _080DF13A - movs r1, 0x1 -_080DF13A: - strh r1, [r4, 0x16] - cmp r1, 0 - beq _080DF144 - ldrh r0, [r4, 0x18] - b _080DF146 -_080DF144: - ldrh r0, [r4, 0x1A] -_080DF146: - strh r0, [r4, 0x20] -_080DF148: - ldrh r1, [r4, 0x8] - lsls r3, r1, 16 - asrs r1, r3, 16 - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r1, r0 - bge _080DF17C - ldr r5, _080DF1D4 @ =gScanlineEffectRegBuffers - movs r0, 0xF0 - lsls r0, 3 - adds r6, r5, r0 -_080DF15E: - asrs r3, 16 - lsls r1, r3, 1 - adds r2, r1, r5 - ldrh r0, [r4, 0x20] - strh r0, [r2] - adds r1, r6 - ldrh r0, [r4, 0x20] - strh r0, [r1] - adds r3, 0x1 - lsls r3, 16 - asrs r1, r3, 16 - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r1, r0 - blt _080DF15E -_080DF17C: - ldrh r1, [r4, 0xA] - lsls r3, r1, 16 - asrs r1, r3, 16 - movs r2, 0xE - ldrsh r0, [r4, r2] - cmp r1, r0 - bgt _080DF1B0 - ldr r5, _080DF1D4 @ =gScanlineEffectRegBuffers - movs r0, 0xF0 - lsls r0, 3 - adds r6, r5, r0 -_080DF192: - asrs r3, 16 - lsls r1, r3, 1 - adds r2, r1, r5 - ldrh r0, [r4, 0x1E] - strh r0, [r2] - adds r1, r6 - ldrh r0, [r4, 0x1E] - strh r0, [r1] - adds r3, 0x1 - lsls r3, 16 - asrs r1, r3, 16 - movs r2, 0xE - ldrsh r0, [r4, r2] - cmp r1, r0 - ble _080DF192 -_080DF1B0: - movs r3, 0x26 - ldrsh r0, [r4, r3] - cmp r0, 0 - beq _080DF1CC - movs r1, 0x1C - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080DF1C6 - ldr r1, _080DF1D8 @ =gScanlineEffect - movs r0, 0x3 - strb r0, [r1, 0x15] -_080DF1C6: - adds r0, r7, 0 - bl DestroyAnimVisualTask -_080DF1CC: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080DF1D4: .4byte gScanlineEffectRegBuffers -_080DF1D8: .4byte gScanlineEffect - thumb_func_end sub_80DF0C4 - - thumb_func_start sub_80DF1DC -sub_80DF1DC: @ 80DF1DC - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, _080DF230 @ =gTasks - adds r4, r0 - movs r5, 0 - strh r5, [r4, 0x8] - strh r5, [r4, 0xA] - ldr r6, _080DF234 @ =gBattleAnimAttacker - ldrb r0, [r6] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0xC] - ldrb r0, [r6] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0xE] - movs r0, 0x20 - strh r0, [r4, 0x10] - ldr r0, _080DF238 @ =0x0000ffec - strh r0, [r4, 0x12] - strh r5, [r4, 0x14] - movs r0, 0 - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x26] - ldr r0, _080DF23C @ =sub_80DF240 - str r0, [r4] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080DF230: .4byte gTasks -_080DF234: .4byte gBattleAnimAttacker -_080DF238: .4byte 0x0000ffec -_080DF23C: .4byte sub_80DF240 - thumb_func_end sub_80DF1DC - - thumb_func_start sub_80DF240 -sub_80DF240: @ 80DF240 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, _080DF26C @ =gTasks - adds r6, r0, r1 - movs r1, 0x8 - ldrsh r0, [r6, r1] - cmp r0, 0x5 - bls _080DF260 - b _080DF41A -_080DF260: - lsls r0, 2 - ldr r1, _080DF270 @ =_080DF274 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080DF26C: .4byte gTasks -_080DF270: .4byte _080DF274 - .align 2, 0 -_080DF274: - .4byte _080DF28C - .4byte _080DF34C - .4byte _080DF37A - .4byte _080DF38E - .4byte _080DF3A4 - .4byte _080DF40C -_080DF28C: - movs r0, 0xC - ldrsh r2, [r6, r0] - ldrh r1, [r6, 0xA] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080DF2A2 - movs r1, 0x10 - ldrsh r0, [r6, r1] - subs r0, r2, r0 - b _080DF2A8 -_080DF2A2: - movs r1, 0x10 - ldrsh r0, [r6, r1] - adds r0, r2, r0 -_080DF2A8: - lsls r0, 16 - lsrs r1, r0, 16 - ldrh r2, [r6, 0x12] - ldrh r0, [r6, 0xE] - adds r2, r0 - ldr r0, _080DF33C @ =gUnknown_83E398C - lsls r1, 16 - asrs r1, 16 - lsls r2, 16 - asrs r2, 16 - ldrb r4, [r6, 0xA] - movs r3, 0x6 - subs r3, r4 - lsls r3, 24 - lsrs r3, 24 - bl CreateSprite - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x40 - negs r0, r0 - bl sub_8073A44 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 24 - movs r0, 0xB3 - bl PlaySE12WithPanning - cmp r4, 0x40 - beq _080DF30C - ldr r5, _080DF340 @ =gSprites - lsls r1, r4, 4 - adds r1, r4 - lsls r1, 2 - adds r3, r1, r5 - ldrh r0, [r6, 0xA] - movs r2, 0x1 - ands r2, r0 - adds r3, 0x3F - ldrb r4, [r3] - movs r0, 0x2 - negs r0, r0 - ands r0, r4 - orrs r0, r2 - strb r0, [r3] - adds r5, 0x1C - adds r1, r5 - ldr r0, _080DF344 @ =SpriteCallbackDummy - str r0, [r1] -_080DF30C: - ldrh r1, [r6, 0xA] - movs r4, 0x1 - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - beq _080DF324 - ldrh r0, [r6, 0x10] - subs r0, 0x6 - strh r0, [r6, 0x10] - ldrh r0, [r6, 0x12] - subs r0, 0x6 - strh r0, [r6, 0x12] -_080DF324: - ldrh r1, [r6, 0x26] - lsls r1, 24 - lsrs r1, 24 - ldr r2, _080DF348 @ =gUnknown_83FF080 - adds r0, r6, 0 - bl sub_80762D0 - ldrh r0, [r6, 0xA] - adds r0, 0x1 - strh r0, [r6, 0xA] - strh r4, [r6, 0x8] - b _080DF41A - .align 2, 0 -_080DF33C: .4byte gUnknown_83E398C -_080DF340: .4byte gSprites -_080DF344: .4byte SpriteCallbackDummy -_080DF348: .4byte gUnknown_83FF080 -_080DF34C: - adds r0, r6, 0 - bl sub_8076308 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _080DF41A - movs r2, 0xA - ldrsh r1, [r6, r2] - cmp r1, 0x6 - bne _080DF36C - movs r0, 0x8 - strh r0, [r6, 0x14] - movs r0, 0x3 - strh r0, [r6, 0x8] - b _080DF41A -_080DF36C: - cmp r1, 0x2 - bgt _080DF372 - movs r0, 0xA -_080DF372: - strh r0, [r6, 0x14] - movs r0, 0x2 - strh r0, [r6, 0x8] - b _080DF41A -_080DF37A: - ldrh r0, [r6, 0x14] - movs r2, 0x14 - ldrsh r1, [r6, r2] - cmp r1, 0 - beq _080DF38A - subs r0, 0x1 - strh r0, [r6, 0x14] - b _080DF41A -_080DF38A: - strh r1, [r6, 0x8] - b _080DF41A -_080DF38E: - ldrh r1, [r6, 0x14] - movs r2, 0x14 - ldrsh r0, [r6, r2] - cmp r0, 0 - beq _080DF39E - subs r0, r1, 0x1 - strh r0, [r6, 0x14] - b _080DF41A -_080DF39E: - movs r0, 0x4 - strh r0, [r6, 0x8] - b _080DF41A -_080DF3A4: - movs r5, 0 - movs r7, 0 - ldr r3, _080DF400 @ =gSprites - movs r0, 0x1C - adds r0, r3 - mov r8, r0 -_080DF3B0: - lsls r0, r5, 4 - adds r0, r5 - lsls r4, r0, 2 - adds r0, r3, 0 - adds r0, 0x14 - adds r0, r4, r0 - ldr r1, [r0] - ldr r0, _080DF404 @ =gUnknown_83E398C - cmp r1, r0 - bne _080DF3EC - adds r0, r4, r3 - strh r2, [r0, 0x2E] - movs r1, 0x6 - strh r1, [r0, 0x30] - movs r1, 0x2 - str r2, [sp] - str r3, [sp, 0x4] - bl StartSpriteAnim - mov r0, r8 - adds r1, r4, r0 - ldr r0, _080DF408 @ =sub_80DF428 - str r0, [r1] - adds r0, r7, 0x1 - lsls r0, 16 - lsrs r7, r0, 16 - ldr r2, [sp] - ldr r3, [sp, 0x4] - cmp r7, 0x6 - beq _080DF3F6 -_080DF3EC: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x3F - bls _080DF3B0 -_080DF3F6: - strh r7, [r6, 0x14] - movs r0, 0x5 - strh r0, [r6, 0x8] - b _080DF41A - .align 2, 0 -_080DF400: .4byte gSprites -_080DF404: .4byte gUnknown_83E398C -_080DF408: .4byte sub_80DF428 -_080DF40C: - movs r1, 0x14 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _080DF41A - adds r0, r2, 0 - bl DestroyAnimVisualTask -_080DF41A: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80DF240 - - thumb_func_start sub_80DF428 -sub_80DF428: @ 80DF428 - push {r4,lr} - adds r4, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080DF45C - ldr r3, _080DF464 @ =gTasks - movs r0, 0x30 - ldrsh r1, [r4, r0] - lsls r1, 1 - movs r0, 0x2E - ldrsh r2, [r4, r0] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r3, 0x8 - adds r1, r3 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - adds r0, r4, 0 - bl DestroySprite -_080DF45C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080DF464: .4byte gTasks - thumb_func_end sub_80DF428 - - thumb_func_start sub_80DF468 -sub_80DF468: @ 80DF468 - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x2E - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _080DF47C - adds r0, r5, 0 - movs r1, 0 - bl sub_8075160 -_080DF47C: - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x27 - bgt _080DF4AE - ldrh r0, [r5, 0x2E] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080DF4A0 - adds r2, r5, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - b _080DF4AC -_080DF4A0: - adds r2, r5, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 -_080DF4AC: - strb r0, [r2] -_080DF4AE: - movs r2, 0x2E - ldrsh r0, [r5, r2] - cmp r0, 0x1E - ble _080DF4C4 - adds r2, r5, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] -_080DF4C4: - movs r1, 0x2E - ldrsh r0, [r5, r1] - cmp r0, 0x3D - bne _080DF510 - ldr r1, _080DF518 @ =DestroyAnimSprite - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 - ldrh r0, [r5, 0x24] - ldrh r2, [r5, 0x20] - adds r0, r2 - movs r1, 0 - strh r0, [r5, 0x20] - ldrh r0, [r5, 0x26] - ldrh r2, [r5, 0x22] - adds r0, r2 - strh r0, [r5, 0x22] - strh r1, [r5, 0x24] - strh r1, [r5, 0x26] - movs r0, 0x14 - strh r0, [r5, 0x2E] - ldr r4, _080DF51C @ =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x32] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x36] - ldr r0, _080DF520 @ =sub_8075590 - str r0, [r5, 0x1C] -_080DF510: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080DF518: .4byte DestroyAnimSprite -_080DF51C: .4byte gBattleAnimTarget -_080DF520: .4byte sub_8075590 - thumb_func_end sub_80DF468 - - thumb_func_start sub_80DF524 -sub_80DF524: @ 80DF524 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _080DF544 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080DF548 - cmp r0, 0x1 - beq _080DF568 - b _080DF57A - .align 2, 0 -_080DF544: .4byte gTasks -_080DF548: - movs r0, 0 - bl GetAnimBankSpriteId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r2, _080DF564 @ =gUnknown_83FF130 - adds r0, r4, 0 - bl sub_80762D0 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080DF57A - .align 2, 0 -_080DF564: .4byte gUnknown_83FF130 -_080DF568: - adds r0, r4, 0 - bl sub_8076308 - lsls r0, 24 - cmp r0, 0 - bne _080DF57A - adds r0, r5, 0 - bl DestroyAnimVisualTask -_080DF57A: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80DF524 - - thumb_func_start sub_80DF580 -sub_80DF580: @ 80DF580 - push {r4-r6,lr} - adds r5, r0, 0 - movs r0, 0 - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r6, r0, 24 - movs r1, 0x2E - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _080DF5E0 - cmp r0, 0x1 - bgt _080DF5A0 - cmp r0, 0 - beq _080DF5AA - b _080DF682 -_080DF5A0: - cmp r0, 0x2 - beq _080DF610 - cmp r0, 0x3 - beq _080DF664 - b _080DF682 -_080DF5AA: - ldr r4, _080DF5DC @ =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - adds r0, r6, 0 - movs r1, 0 - bl sub_80758E0 - movs r0, 0x80 - lsls r0, 1 - strh r0, [r5, 0x30] - strh r0, [r5, 0x32] - b _080DF658 - .align 2, 0 -_080DF5DC: .4byte gBattleAnimAttacker -_080DF5E0: - ldrh r0, [r5, 0x30] - adds r0, 0x60 - strh r0, [r5, 0x30] - ldrh r0, [r5, 0x32] - subs r0, 0x1A - strh r0, [r5, 0x32] - movs r2, 0x30 - ldrsh r1, [r5, r2] - movs r0, 0x32 - ldrsh r2, [r5, r0] - adds r0, r6, 0 - movs r3, 0 - bl obj_id_set_rotscale - ldrh r0, [r5, 0x34] - adds r0, 0x1 - strh r0, [r5, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - bne _080DF610 - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] -_080DF610: - ldrh r0, [r5, 0x30] - adds r0, 0x60 - strh r0, [r5, 0x30] - ldrh r0, [r5, 0x32] - adds r0, 0x30 - strh r0, [r5, 0x32] - movs r2, 0x30 - ldrsh r1, [r5, r2] - movs r0, 0x32 - ldrsh r2, [r5, r0] - adds r0, r6, 0 - movs r3, 0 - bl obj_id_set_rotscale - ldrh r0, [r5, 0x34] - adds r0, 0x1 - strh r0, [r5, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x9 - bne _080DF682 - movs r0, 0 - strh r0, [r5, 0x34] - ldr r1, _080DF660 @ =gSprites - lsls r0, r6, 4 - adds r0, r6 - lsls r0, 2 - adds r0, r1 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - adds r0, r6, 0 - bl sub_8075980 -_080DF658: - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - b _080DF682 - .align 2, 0 -_080DF660: .4byte gSprites -_080DF664: - ldrh r0, [r5, 0x26] - subs r0, 0x6 - strh r0, [r5, 0x26] - movs r1, 0x22 - ldrsh r0, [r5, r1] - movs r2, 0x26 - ldrsh r1, [r5, r2] - adds r0, r1 - movs r1, 0x20 - negs r1, r1 - cmp r0, r1 - bge _080DF682 - adds r0, r5, 0 - bl DestroyAnimSprite -_080DF682: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80DF580 - - thumb_func_start sub_80DF688 -sub_80DF688: @ 80DF688 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _080DF6A0 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080DF6A8 - ldr r0, _080DF6A4 @ =0x0000fff0 - b _080DF6AC - .align 2, 0 -_080DF6A0: .4byte gBattleAnimAttacker -_080DF6A4: .4byte 0x0000fff0 -_080DF6A8: - movs r0, 0x80 - lsls r0, 1 -_080DF6AC: - strh r0, [r4, 0x20] - movs r0, 0 - strh r0, [r4, 0x22] - ldr r0, _080DF6BC @ =sub_80DF6C0 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080DF6BC: .4byte sub_80DF6C0 - thumb_func_end sub_80DF688 - - thumb_func_start sub_80DF6C0 -sub_80DF6C0: @ 80DF6C0 - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r0, 0x48 - strh r0, [r4, 0x2E] - ldr r0, _080DF6E0 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080DF6E4 - ldrh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 20 - b _080DF6EC - .align 2, 0 -_080DF6E0: .4byte gBattleAnimAttacker -_080DF6E4: - ldrh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 20 - negs r0, r0 -_080DF6EC: - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x30] - adds r0, 0x10 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 24 - ldrh r1, [r4, 0x26] - adds r5, r0, r1 - strh r5, [r4, 0x26] - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x3 - bl __modsi3 - lsls r0, 16 - cmp r0, 0 - bne _080DF738 - ldr r0, _080DF758 @ =gUnknown_83FF180 - ldrh r1, [r4, 0x24] - ldrh r2, [r4, 0x20] - adds r1, r2 - lsls r1, 16 - asrs r1, 16 - ldrh r2, [r4, 0x22] - adds r2, r5 - lsls r2, 16 - asrs r2, 16 - adds r3, r4, 0 - adds r3, 0x43 - ldrb r3, [r3] - adds r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - bl CreateSpriteAndAnimate -_080DF738: - movs r1, 0x20 - ldrsh r0, [r4, r1] - movs r2, 0x24 - ldrsh r1, [r4, r2] - adds r0, r1 - adds r0, 0x20 - movs r1, 0x98 - lsls r1, 1 - cmp r0, r1 - bls _080DF752 - adds r0, r4, 0 - bl DestroyAnimSprite -_080DF752: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080DF758: .4byte gUnknown_83FF180 - thumb_func_end sub_80DF6C0 - - thumb_func_start sub_80DF75C -sub_80DF75C: @ 80DF75C - push {r4,lr} - adds r4, r0, 0 - bl Random - movs r1, 0x3 - ands r0, r1 - cmp r0, 0 - bne _080DF776 - ldrh r2, [r4, 0x4] - lsls r1, r2, 22 - lsrs r1, 22 - adds r1, 0x4 - b _080DF77E -_080DF776: - ldrh r2, [r4, 0x4] - lsls r1, r2, 22 - lsrs r1, 22 - adds r1, 0x5 -_080DF77E: - ldr r3, _080DF7B0 @ =0x000003ff - adds r0, r3, 0 - ands r1, r0 - ldr r0, _080DF7B4 @ =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r4, 0x4] - bl Random - movs r1, 0x7 - ands r0, r1 - adds r1, r0, 0 - cmp r1, 0x3 - ble _080DF7A0 - negs r0, r1 - lsls r0, 24 - lsrs r0, 24 -_080DF7A0: - lsls r0, 24 - asrs r0, 24 - strh r0, [r4, 0x26] - ldr r0, _080DF7B8 @ =sub_80DF7BC - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080DF7B0: .4byte 0x000003ff -_080DF7B4: .4byte 0xfffffc00 -_080DF7B8: .4byte sub_80DF7BC - thumb_func_end sub_80DF75C - - thumb_func_start sub_80DF7BC -sub_80DF7BC: @ 80DF7BC - push {lr} - adds r3, r0, 0 - ldrh r0, [r3, 0x2E] - adds r0, 0x1 - strh r0, [r3, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1D - bgt _080DF7FE - ldrh r0, [r3, 0x30] - adds r0, 0x1 - strh r0, [r3, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - bne _080DF832 - movs r0, 0x3E - adds r0, r3 - mov r12, r0 - ldrb r2, [r0] - lsls r0, r2, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - mov r1, r12 - strb r0, [r1] - movs r0, 0 - b _080DF830 -_080DF7FE: - movs r1, 0x30 - ldrsh r0, [r3, r1] - cmp r0, 0x2 - bne _080DF814 - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] -_080DF814: - movs r1, 0x30 - ldrsh r0, [r3, r1] - cmp r0, 0x3 - bne _080DF82C - adds r2, r3, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, _080DF844 @ =0x0000ffff - strh r0, [r3, 0x30] -_080DF82C: - ldrh r0, [r3, 0x30] - adds r0, 0x1 -_080DF830: - strh r0, [r3, 0x30] -_080DF832: - movs r1, 0x2E - ldrsh r0, [r3, r1] - cmp r0, 0x3C - ble _080DF840 - adds r0, r3, 0 - bl DestroySprite -_080DF840: - pop {r0} - bx r0 - .align 2, 0 -_080DF844: .4byte 0x0000ffff - thumb_func_end sub_80DF7BC - - thumb_func_start sub_80DF848 -sub_80DF848: @ 80DF848 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - ldr r1, _080DF880 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080DF888 - movs r0, 0 - bl GetAnimBankSpriteId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r2, _080DF884 @ =gUnknown_83FF198 - adds r0, r4, 0 - bl sub_80762D0 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080DF89A - .align 2, 0 -_080DF880: .4byte gTasks -_080DF884: .4byte gUnknown_83FF198 -_080DF888: - adds r0, r4, 0 - bl sub_8076308 - lsls r0, 24 - cmp r0, 0 - bne _080DF89A - adds r0, r5, 0 - bl DestroyAnimVisualTask -_080DF89A: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80DF848 - - thumb_func_start sub_80DF8A0 -sub_80DF8A0: @ 80DF8A0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - ldr r1, _080DF8D8 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080DF8E0 - movs r0, 0 - bl GetAnimBankSpriteId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r2, _080DF8DC @ =gUnknown_83FF1C0 - adds r0, r4, 0 - bl sub_80762D0 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080DF8F2 - .align 2, 0 -_080DF8D8: .4byte gTasks -_080DF8DC: .4byte gUnknown_83FF1C0 -_080DF8E0: - adds r0, r4, 0 - bl sub_8076308 - lsls r0, 24 - cmp r0, 0 - bne _080DF8F2 - adds r0, r5, 0 - bl DestroyAnimVisualTask -_080DF8F2: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80DF8A0 - - thumb_func_start sub_80DF8F8 -sub_80DF8F8: @ 80DF8F8 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080DF90A - cmp r0, 0x1 - beq _080DF934 - b _080DF95C -_080DF90A: - adds r0, r4, 0 - movs r1, 0 - bl sub_8075160 - movs r0, 0x90 - lsls r0, 4 - strh r0, [r4, 0x30] - ldr r0, _080DF930 @ =gBattleAnimAttacker - ldrb r0, [r0] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _080DF95C - .align 2, 0 -_080DF930: .4byte gBattleAnimAttacker -_080DF934: - ldrh r2, [r4, 0x30] - lsls r1, r2, 16 - asrs r1, 24 - ldrh r0, [r4, 0x26] - subs r0, r1 - strh r0, [r4, 0x26] - subs r2, 0x60 - strh r2, [r4, 0x30] - movs r2, 0x22 - ldrsh r0, [r4, r2] - movs r2, 0x26 - ldrsh r1, [r4, r2] - adds r0, r1 - movs r2, 0x32 - ldrsh r1, [r4, r2] - cmp r0, r1 - ble _080DF95C - adds r0, r4, 0 - bl DestroyAnimSprite -_080DF95C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80DF8F8 - - thumb_func_start sub_80DF964 -sub_80DF964: @ 80DF964 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - ldr r1, _080DF99C @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080DF9A4 - movs r0, 0 - bl GetAnimBankSpriteId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r2, _080DF9A0 @ =gUnknown_83FF210 - adds r0, r4, 0 - bl sub_80762D0 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080DF9B6 - .align 2, 0 -_080DF99C: .4byte gTasks -_080DF9A0: .4byte gUnknown_83FF210 -_080DF9A4: - adds r0, r4, 0 - bl sub_8076308 - lsls r0, 24 - cmp r0, 0 - bne _080DF9B6 - adds r0, r5, 0 - bl DestroyAnimVisualTask -_080DF9B6: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80DF964 - - thumb_func_start sub_80DF9BC -sub_80DF9BC: @ 80DF9BC - push {r4-r6,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _080DF9E4 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r2, 0x8 - ldrsh r0, [r0, r2] - adds r3, r1, 0 - cmp r0, 0x4 - bls _080DF9DA - b _080DFBCE -_080DF9DA: - lsls r0, 2 - ldr r1, _080DF9E8 @ =_080DF9EC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080DF9E4: .4byte gTasks -_080DF9E8: .4byte _080DF9EC - .align 2, 0 -_080DF9EC: - .4byte _080DFA00 - .4byte _080DFA4C - .4byte _080DFA86 - .4byte _080DFB1C - .4byte _080DFB58 -_080DFA00: - movs r0, 0x4C - movs r1, 0 - bl SetGpuReg - ldr r0, _080DFA24 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl sub_80768B0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080DFA28 - movs r0, 0x1 - movs r1, 0x2 - movs r2, 0x1 - bl SetAnimBgAttribute - b _080DFA32 - .align 2, 0 -_080DFA24: .4byte gBattleAnimAttacker -_080DFA28: - movs r0, 0x2 - movs r1, 0x2 - movs r2, 0x1 - bl SetAnimBgAttribute -_080DFA32: - ldr r0, _080DFA44 @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, _080DFA48 @ =gBattleAnimArgs - ldrh r0, [r0] - strh r0, [r1, 0x1C] - b _080DFB00 - .align 2, 0 -_080DFA44: .4byte gTasks -_080DFA48: .4byte gBattleAnimArgs -_080DFA4C: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r5, r0, r3 - ldrh r0, [r5, 0xC] - adds r1, r0, 0x1 - strh r1, [r5, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - bgt _080DFA64 - b _080DFBCE -_080DFA64: - movs r0, 0 - strh r0, [r5, 0xC] - ldrh r0, [r5, 0xA] - adds r0, 0x1 - strh r0, [r5, 0xA] - ldrh r4, [r5, 0xA] - lsls r1, r4, 4 - orrs r1, r4 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x4C - bl SetGpuReg - cmp r4, 0xF - beq _080DFA84 - b _080DFBCE -_080DFA84: - b _080DFB50 -_080DFA86: - ldr r6, _080DFAB4 @ =gBattleAnimAttacker - ldrb r0, [r6] - ldr r1, _080DFAB8 @ =gBattleAnimTarget - ldrb r1, [r1] - lsls r4, r5, 2 - adds r2, r4, r5 - lsls r2, 3 - adds r2, r3 - ldrb r2, [r2, 0x1C] - bl sub_8034BF4 - ldrb r1, [r6] - mov r0, sp - bl sub_8075300 - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - beq _080DFABC - movs r1, 0 - b _080DFAC6 - .align 2, 0 -_080DFAB4: .4byte gBattleAnimAttacker -_080DFAB8: .4byte gBattleAnimTarget -_080DFABC: - ldrb r0, [r6] - bl GetBattlerPosition - lsls r0, 24 - lsrs r1, r0, 24 -_080DFAC6: - ldr r0, _080DFB08 @ =gMonSpritesGfxPtr - ldr r2, [r0] - lsls r0, r1, 2 - adds r2, 0x4 - adds r2, r0 - ldr r1, _080DFB0C @ =gBattleMonForms - ldr r0, _080DFB10 @ =gBattleAnimAttacker - ldrb r0, [r0] - adds r0, r1 - ldrb r1, [r0] - lsls r1, 11 - ldr r0, [r2] - adds r0, r1 - ldr r1, [sp] - ldr r2, _080DFB14 @ =0x04000200 - bl CpuSet - ldr r1, [sp] - movs r2, 0x80 - lsls r2, 4 - mov r0, sp - ldrh r3, [r0, 0xA] - movs r0, 0x1 - bl LoadBgTiles - ldr r0, _080DFB18 @ =gTasks - adds r1, r4, r5 - lsls r1, 3 - adds r1, r0 -_080DFB00: - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _080DFBCE - .align 2, 0 -_080DFB08: .4byte gMonSpritesGfxPtr -_080DFB0C: .4byte gBattleMonForms -_080DFB10: .4byte gBattleAnimAttacker -_080DFB14: .4byte 0x04000200 -_080DFB18: .4byte gTasks -_080DFB1C: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r5, r0, r3 - ldrh r0, [r5, 0xC] - adds r1, r0, 0x1 - strh r1, [r5, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080DFBCE - movs r0, 0 - strh r0, [r5, 0xC] - ldrh r0, [r5, 0xA] - subs r0, 0x1 - strh r0, [r5, 0xA] - ldrh r4, [r5, 0xA] - lsls r1, r4, 4 - orrs r1, r4 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x4C - bl SetGpuReg - cmp r4, 0 - bne _080DFBCE -_080DFB50: - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - b _080DFBCE -_080DFB58: - movs r0, 0x4C - movs r1, 0 - bl SetGpuReg - ldr r0, _080DFB7C @ =gBattleAnimAttacker - ldrb r0, [r0] - bl sub_80768B0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080DFB80 - movs r0, 0x1 - movs r1, 0x2 - movs r2, 0 - bl SetAnimBgAttribute - b _080DFB8A - .align 2, 0 -_080DFB7C: .4byte gBattleAnimAttacker -_080DFB80: - movs r0, 0x2 - movs r1, 0x2 - movs r2, 0 - bl SetAnimBgAttribute -_080DFB8A: - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080DFBC8 - ldr r4, _080DFBD8 @ =gBattleAnimAttacker - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080DFBC8 - ldr r0, _080DFBDC @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - movs r2, 0x1C - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _080DFBC8 - ldrb r0, [r4] - ldr r1, _080DFBE0 @ =gUnknown_2024018 - ldr r1, [r1] - ldr r2, [r1] - lsls r1, r0, 2 - adds r1, r2 - ldrh r1, [r1, 0x2] - bl SetBankEnemyShadowSpriteCallback -_080DFBC8: - adds r0, r5, 0 - bl DestroyAnimVisualTask -_080DFBCE: - add sp, 0x10 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080DFBD8: .4byte gBattleAnimAttacker -_080DFBDC: .4byte gTasks -_080DFBE0: .4byte gUnknown_2024018 - thumb_func_end sub_80DF9BC - - thumb_func_start c3_80DFBE4 -c3_80DFBE4: @ 80DFBE4 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r4, _080DFC14 @ =gBattleAnimArgs - ldr r3, _080DFC18 @ =gSprites - ldr r2, _080DFC1C @ =gBattlerSpriteIds - ldr r1, _080DFC20 @ =gBattleAnimAttacker - ldrb r1, [r1] - adds r1, r2 - ldrb r2, [r1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r3 - adds r1, 0x3E - ldrb r1, [r1] - lsls r1, 29 - lsrs r1, 31 - strh r1, [r4, 0xE] - bl DestroyAnimVisualTask - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080DFC14: .4byte gBattleAnimArgs -_080DFC18: .4byte gSprites -_080DFC1C: .4byte gBattlerSpriteIds -_080DFC20: .4byte gBattleAnimAttacker - thumb_func_end c3_80DFBE4 - - thumb_func_start sub_80DFC24 -sub_80DFC24: @ 80DFC24 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _080DFC48 @ =gBattleAnimAttacker - ldrb r0, [r0] - ldr r1, _080DFC4C @ =gBattleAnimTarget - ldrb r1, [r1] - movs r2, 0x1 - bl sub_8034BF4 - adds r0, r4, 0 - bl DestroyAnimVisualTask - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080DFC48: .4byte gBattleAnimAttacker -_080DFC4C: .4byte gBattleAnimTarget - thumb_func_end sub_80DFC24 - - thumb_func_start sub_80DFC50 -sub_80DFC50: @ 80DFC50 - push {r4,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _080DFC78 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r2, 0x8 - ldrsh r0, [r0, r2] - adds r2, r1, 0 - cmp r0, 0x4 - bls _080DFC6E - b _080DFECA -_080DFC6E: - lsls r0, 2 - ldr r1, _080DFC7C @ =_080DFC80 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080DFC78: .4byte gTasks -_080DFC7C: .4byte _080DFC80 - .align 2, 0 -_080DFC80: - .4byte _080DFC94 - .4byte _080DFD90 - .4byte _080DFDE0 - .4byte _080DFE4A - .4byte _080DFE7E -_080DFC94: - ldr r1, _080DFD18 @ =0x00003f42 - movs r0, 0x50 - bl SetGpuReg - movs r1, 0x80 - lsls r1, 5 - movs r0, 0x52 - bl SetGpuReg - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl SetAnimBgAttribute - movs r0, 0x1 - movs r1, 0x4 - movs r2, 0x1 - bl SetAnimBgAttribute - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080DFCCE - movs r0, 0x1 - movs r1, 0x3 - movs r2, 0x1 - bl SetAnimBgAttribute -_080DFCCE: - mov r0, sp - bl sub_80752A0 - mov r0, sp - ldrb r0, [r0, 0x9] - ldr r1, _080DFD1C @ =gFile_graphics_battle_anims_masks_morning_sun_tilemap - bl sub_807543C - mov r0, sp - ldrb r0, [r0, 0x9] - ldr r1, _080DFD20 @ =gFile_graphics_battle_anims_masks_morning_sun_sheet - mov r2, sp - ldrh r2, [r2, 0xA] - bl sub_80753B4 - ldr r0, _080DFD24 @ =gFile_graphics_battle_anims_masks_morning_sun_palette - mov r1, sp - ldrb r1, [r1, 0x8] - lsls r1, 4 - movs r2, 0x20 - bl LoadCompressedPalette - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - beq _080DFD30 - mov r0, sp - ldrb r0, [r0, 0x8] - ldr r1, [sp, 0x4] - movs r2, 0 - movs r3, 0 - bl sub_80730C0 - ldr r1, _080DFD28 @ =gBattle_BG1_X - ldr r3, _080DFD2C @ =0x0000ffc8 - b _080DFD58 - .align 2, 0 -_080DFD18: .4byte 0x00003f42 -_080DFD1C: .4byte gFile_graphics_battle_anims_masks_morning_sun_tilemap -_080DFD20: .4byte gFile_graphics_battle_anims_masks_morning_sun_sheet -_080DFD24: .4byte gFile_graphics_battle_anims_masks_morning_sun_palette -_080DFD28: .4byte gBattle_BG1_X -_080DFD2C: .4byte 0x0000ffc8 -_080DFD30: - ldr r0, _080DFD48 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080DFD54 - ldr r1, _080DFD4C @ =gBattle_BG1_X - ldr r2, _080DFD50 @ =0x0000ff79 - adds r0, r2, 0 - b _080DFD5A - .align 2, 0 -_080DFD48: .4byte gBattleAnimAttacker -_080DFD4C: .4byte gBattle_BG1_X -_080DFD50: .4byte 0x0000ff79 -_080DFD54: - ldr r1, _080DFD80 @ =gBattle_BG1_X - ldr r3, _080DFD84 @ =0x0000fff6 -_080DFD58: - adds r0, r3, 0 -_080DFD5A: - strh r0, [r1] - ldr r1, _080DFD88 @ =gBattle_BG1_Y - movs r0, 0 - strh r0, [r1] - ldr r0, _080DFD8C @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _080DFD80 @ =gBattle_BG1_X - ldrh r0, [r0] - strh r0, [r1, 0x1C] - ldr r0, _080DFD88 @ =gBattle_BG1_Y - ldrh r0, [r0] - strh r0, [r1, 0x1E] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - b _080DFE66 - .align 2, 0 -_080DFD80: .4byte gBattle_BG1_X -_080DFD84: .4byte 0x0000fff6 -_080DFD88: .4byte gBattle_BG1_Y -_080DFD8C: .4byte gTasks -_080DFD90: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r4, r0, r2 - ldrh r0, [r4, 0x10] - adds r1, r0, 0x1 - strh r1, [r4, 0x10] - lsls r0, 16 - cmp r0, 0 - bgt _080DFDA6 - b _080DFECA -_080DFDA6: - movs r0, 0 - strh r0, [r4, 0x10] - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xC - ble _080DFDBC - movs r0, 0xC - strh r0, [r4, 0xA] -_080DFDBC: - ldrh r0, [r4, 0xA] - movs r1, 0x10 - subs r1, r0 - lsls r1, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0xC - bne _080DFECA - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080DFECA -_080DFDE0: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r4, r0, r2 - ldrh r0, [r4, 0xA] - subs r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - cmp r0, 0 - bge _080DFDF8 - movs r0, 0 - strh r0, [r4, 0xA] -_080DFDF8: - ldrh r0, [r4, 0xA] - movs r1, 0x10 - subs r1, r0 - lsls r1, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _080DFECA - ldr r2, _080DFE3C @ =gBattle_BG1_X - ldr r1, _080DFE40 @ =gUnknown_83FF240 - movs r3, 0xC - ldrsh r0, [r4, r3] - adds r0, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - ldrh r1, [r4, 0x1C] - adds r0, r1 - strh r0, [r2] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - bne _080DFE44 - strh r0, [r4, 0x8] - b _080DFECA - .align 2, 0 -_080DFE3C: .4byte gBattle_BG1_X -_080DFE40: .4byte gUnknown_83FF240 -_080DFE44: - movs r0, 0x3 - strh r0, [r4, 0x8] - b _080DFECA -_080DFE4A: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, r0, r2 - ldrh r0, [r1, 0xE] - adds r0, 0x1 - strh r0, [r1, 0xE] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - bne _080DFECA - movs r0, 0 - strh r0, [r1, 0xE] - movs r0, 0x1 -_080DFE66: - strh r0, [r1, 0x8] - movs r0, 0x40 - negs r0, r0 - bl sub_8073A44 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 24 - movs r0, 0xDD - bl PlaySE12WithPanning - b _080DFECA -_080DFE7E: - mov r0, sp - bl sub_80752A0 - mov r0, sp - ldrb r0, [r0, 0x9] - bl sub_8075358 - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080DFEA0 - movs r0, 0x1 - movs r1, 0x3 - movs r2, 0 - bl SetAnimBgAttribute -_080DFEA0: - movs r0, 0x1 - movs r1, 0x4 - movs r2, 0x1 - bl SetAnimBgAttribute - ldr r0, _080DFED4 @ =gBattle_BG1_X - movs r1, 0 - strh r1, [r0] - ldr r0, _080DFED8 @ =gBattle_BG1_Y - strh r1, [r0] - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - adds r0, r4, 0 - bl DestroyAnimVisualTask -_080DFECA: - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080DFED4: .4byte gBattle_BG1_X -_080DFED8: .4byte gBattle_BG1_Y - thumb_func_end sub_80DFC50 - - thumb_func_start sub_80DFEDC -sub_80DFEDC: @ 80DFEDC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - adds r7, r0, 0 - bl Random - lsls r0, 16 - movs r1, 0xFC - lsls r1, 14 - ands r1, r0 - lsrs r5, r1, 16 - adds r1, r5, 0 - cmp r1, 0x1F - ble _080DFF06 - movs r0, 0x20 - subs r0, r1 - lsls r0, 16 - lsrs r5, r0, 16 -_080DFF06: - ldr r4, _080E0000 @ =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - adds r0, r5 - strh r0, [r7, 0x20] - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x20 - strh r0, [r7, 0x22] - ldr r1, _080E0004 @ =gBattleAnimArgs - ldrh r0, [r1] - strh r0, [r7, 0x30] - ldrh r0, [r1, 0x2] - strh r0, [r7, 0x32] - ldr r4, _080E0008 @ =gUnknown_83FF26C - movs r0, 0x20 - ldrsh r1, [r7, r0] - movs r0, 0x22 - ldrsh r2, [r7, r0] - adds r5, r7, 0 - adds r5, 0x43 - ldrb r3, [r5] - adds r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - adds r0, r4, 0 - bl CreateSprite - mov r9, r0 - mov r1, r9 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - movs r0, 0x20 - ldrsh r1, [r7, r0] - movs r0, 0x22 - ldrsh r2, [r7, r0] - ldrb r3, [r5] - adds r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - adds r0, r4, 0 - bl CreateSprite - mov r8, r0 - mov r1, r8 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - mov r0, r9 - lsls r2, r0, 4 - add r2, r9 - lsls r2, 2 - ldr r1, _080E000C @ =gSprites - mov r10, r1 - adds r5, r2, r1 - adds r0, r5, 0 - movs r1, 0x1 - str r2, [sp] - bl StartSpriteAnim - mov r0, r8 - lsls r6, r0, 4 - add r6, r8 - lsls r6, 2 - mov r1, r10 - adds r4, r6, r1 - adds r0, r4, 0 - movs r1, 0x2 - bl StartSpriteAnim - ldr r1, _080E0004 @ =gBattleAnimArgs - ldrh r0, [r1] - strh r0, [r5, 0x30] - ldrh r0, [r1, 0x2] - strh r0, [r5, 0x32] - ldrh r0, [r1] - strh r0, [r4, 0x30] - ldrh r0, [r1, 0x2] - strh r0, [r4, 0x32] - ldr r0, _080E0010 @ =0x0000ffff - strh r0, [r5, 0x3C] - movs r0, 0x1 - negs r0, r0 - strh r0, [r4, 0x3C] - adds r5, 0x3E - ldrb r0, [r5] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r5] - adds r4, 0x3E - ldrb r0, [r4] - orrs r0, r1 - strb r0, [r4] - movs r0, 0x1C - add r10, r0 - ldr r2, [sp] - add r2, r10 - ldr r0, _080E0014 @ =sub_80E0128 - str r0, [r2] - add r6, r10 - str r0, [r6] - mov r1, r9 - strh r1, [r7, 0x3A] - mov r0, r8 - strh r0, [r7, 0x3C] - ldr r0, _080E0018 @ =sub_80E001C - str r0, [r7, 0x1C] - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E0000: .4byte gBattleAnimAttacker -_080E0004: .4byte gBattleAnimArgs -_080E0008: .4byte gUnknown_83FF26C -_080E000C: .4byte gSprites -_080E0010: .4byte 0x0000ffff -_080E0014: .4byte sub_80E0128 -_080E0018: .4byte sub_80E001C - thumb_func_end sub_80DFEDC - - thumb_func_start sub_80E001C -sub_80E001C: @ 80E001C - push {lr} - adds r3, r0, 0 - ldrh r2, [r3, 0x32] - ldrh r0, [r3, 0x34] - adds r2, r0 - lsls r0, r2, 16 - asrs r0, 24 - ldrh r1, [r3, 0x26] - subs r1, r0 - strh r1, [r3, 0x26] - movs r0, 0xFF - ands r2, r0 - strh r2, [r3, 0x34] - movs r2, 0x36 - ldrsh r0, [r3, r2] - cmp r0, 0 - bne _080E006A - lsls r0, r1, 16 - asrs r0, 16 - movs r1, 0x8 - negs r1, r1 - cmp r0, r1 - bge _080E006A - ldr r2, _080E00C4 @ =gSprites - movs r0, 0x3A - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - ldrh r0, [r3, 0x36] - adds r0, 0x1 - strh r0, [r3, 0x36] -_080E006A: - movs r1, 0x36 - ldrsh r0, [r3, r1] - cmp r0, 0x1 - bne _080E009E - movs r2, 0x26 - ldrsh r1, [r3, r2] - movs r0, 0x10 - negs r0, r0 - cmp r1, r0 - bge _080E009E - ldr r2, _080E00C4 @ =gSprites - movs r0, 0x3C - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - ldrh r0, [r3, 0x36] - adds r0, 0x1 - strh r0, [r3, 0x36] -_080E009E: - ldrh r0, [r3, 0x30] - subs r0, 0x1 - strh r0, [r3, 0x30] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _080E00C0 - adds r2, r3, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, _080E00C8 @ =sub_80E00CC - str r0, [r3, 0x1C] -_080E00C0: - pop {r0} - bx r0 - .align 2, 0 -_080E00C4: .4byte gSprites -_080E00C8: .4byte sub_80E00CC - thumb_func_end sub_80E001C - - thumb_func_start sub_80E00CC -sub_80E00CC: @ 80E00CC - push {r4-r6,lr} - adds r4, r0, 0 - ldr r5, _080E0120 @ =gSprites - movs r0, 0x3A - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r3, r0, 2 - adds r6, r5, 0 - adds r6, 0x1C - adds r0, r3, r6 - ldr r2, [r0] - ldr r0, _080E0124 @ =SpriteCallbackDummy - cmp r2, r0 - bne _080E0118 - movs r1, 0x3C - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - ldr r0, [r1] - cmp r0, r2 - bne _080E0118 - adds r0, r3, r5 - bl DestroySprite - movs r0, 0x3C - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - bl DestroySprite - adds r0, r4, 0 - bl DestroyAnimSprite -_080E0118: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080E0120: .4byte gSprites -_080E0124: .4byte SpriteCallbackDummy - thumb_func_end sub_80E00CC - - thumb_func_start sub_80E0128 -sub_80E0128: @ 80E0128 - push {lr} - adds r3, r0, 0 - movs r0, 0x3E - adds r0, r3 - mov r12, r0 - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - bne _080E0174 - ldrh r2, [r3, 0x32] - ldrh r1, [r3, 0x34] - adds r2, r1 - lsls r1, r2, 16 - asrs r1, 24 - ldrh r0, [r3, 0x26] - subs r0, r1 - strh r0, [r3, 0x26] - movs r0, 0xFF - ands r2, r0 - strh r2, [r3, 0x34] - ldrh r0, [r3, 0x30] - subs r0, 0x1 - strh r0, [r3, 0x30] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _080E0174 - mov r1, r12 - ldrb r0, [r1] - movs r1, 0x4 - orrs r0, r1 - mov r1, r12 - strb r0, [r1] - ldr r0, _080E0178 @ =SpriteCallbackDummy - str r0, [r3, 0x1C] -_080E0174: - pop {r0} - bx r0 - .align 2, 0 -_080E0178: .4byte SpriteCallbackDummy - thumb_func_end sub_80E0128 - - thumb_func_start sub_80E017C -sub_80E017C: @ 80E017C - push {r4-r6,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, _080E01A4 @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - movs r2, 0x8 - ldrsh r0, [r0, r2] - adds r4, r1, 0 - cmp r0, 0x5 - bls _080E019A - b _080E0476 -_080E019A: - lsls r0, 2 - ldr r1, _080E01A8 @ =_080E01AC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080E01A4: .4byte gTasks -_080E01A8: .4byte _080E01AC - .align 2, 0 -_080E01AC: - .4byte _080E01C4 - .4byte _080E0304 - .4byte _080E038C - .4byte _080E03C2 - .4byte _080E03F0 - .4byte _080E042A -_080E01C4: - ldr r1, _080E0248 @ =0x00003f42 - movs r0, 0x50 - bl SetGpuReg - ldr r1, _080E024C @ =0x00000d03 - movs r0, 0x52 - bl SetGpuReg - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl SetAnimBgAttribute - movs r0, 0x1 - movs r1, 0x4 - movs r2, 0x1 - bl SetAnimBgAttribute - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080E01FC - movs r0, 0x1 - movs r1, 0x3 - movs r2, 0x1 - bl SetAnimBgAttribute -_080E01FC: - mov r0, sp - bl sub_80752A0 - mov r0, sp - ldrb r0, [r0, 0x9] - ldr r1, _080E0250 @ =gFile_graphics_battle_anims_masks_morning_sun_tilemap - bl sub_807543C - mov r0, sp - ldrb r0, [r0, 0x9] - ldr r1, _080E0254 @ =gFile_graphics_battle_anims_masks_morning_sun_sheet - mov r2, sp - ldrh r2, [r2, 0xA] - bl sub_80753B4 - ldr r0, _080E0258 @ =gFile_graphics_battle_anims_masks_morning_sun_palette - mov r1, sp - ldrb r1, [r1, 0x8] - lsls r1, 4 - movs r2, 0x20 - bl LoadCompressedPalette - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - beq _080E0264 - mov r0, sp - ldrb r0, [r0, 0x8] - ldr r1, [sp, 0x4] - movs r2, 0 - movs r3, 0 - bl sub_80730C0 - ldr r1, _080E025C @ =gBattle_BG1_X - ldr r3, _080E0260 @ =0x0000ffc8 - adds r0, r3, 0 - b _080E02CE - .align 2, 0 -_080E0248: .4byte 0x00003f42 -_080E024C: .4byte 0x00000d03 -_080E0250: .4byte gFile_graphics_battle_anims_masks_morning_sun_tilemap -_080E0254: .4byte gFile_graphics_battle_anims_masks_morning_sun_sheet -_080E0258: .4byte gFile_graphics_battle_anims_masks_morning_sun_palette -_080E025C: .4byte gBattle_BG1_X -_080E0260: .4byte 0x0000ffc8 -_080E0264: - ldr r0, _080E02A4 @ =gBattleAnimTarget - ldrb r0, [r0] - bl GetBattlerPosition - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_8075290 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080E02B8 - ldr r1, _080E02A8 @ =gBattle_BG1_X - cmp r4, 0x1 - bne _080E0288 - ldr r2, _080E02AC @ =0x0000ff65 - adds r0, r2, 0 - strh r0, [r1] -_080E0288: - cmp r4, 0x3 - bne _080E0292 - ldr r3, _080E02B0 @ =0x0000ff8d - adds r0, r3, 0 - strh r0, [r1] -_080E0292: - cmp r4, 0 - bne _080E029A - movs r0, 0xE - strh r0, [r1] -_080E029A: - cmp r4, 0x2 - bne _080E02D0 - ldr r1, _080E02A8 @ =gBattle_BG1_X - ldr r2, _080E02B4 @ =0x0000ffec - b _080E02CC - .align 2, 0 -_080E02A4: .4byte gBattleAnimTarget -_080E02A8: .4byte gBattle_BG1_X -_080E02AC: .4byte 0x0000ff65 -_080E02B0: .4byte 0x0000ff8d -_080E02B4: .4byte 0x0000ffec -_080E02B8: - cmp r4, 0x1 - bne _080E02C4 - ldr r1, _080E02F0 @ =gBattle_BG1_X - ldr r3, _080E02F4 @ =0x0000ff79 - adds r0, r3, 0 - strh r0, [r1] -_080E02C4: - cmp r4, 0 - bne _080E02D0 - ldr r1, _080E02F0 @ =gBattle_BG1_X - ldr r2, _080E02F8 @ =0x0000fff6 -_080E02CC: - adds r0, r2, 0 -_080E02CE: - strh r0, [r1] -_080E02D0: - ldr r1, _080E02FC @ =gBattle_BG1_Y - movs r0, 0 - strh r0, [r1] - ldr r0, _080E0300 @ =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - ldr r0, _080E02F0 @ =gBattle_BG1_X - ldrh r0, [r0] - strh r0, [r1, 0x1C] - ldr r0, _080E02FC @ =gBattle_BG1_Y - ldrh r0, [r0] - strh r0, [r1, 0x1E] - b _080E0384 - .align 2, 0 -_080E02F0: .4byte gBattle_BG1_X -_080E02F4: .4byte 0x0000ff79 -_080E02F8: .4byte 0x0000fff6 -_080E02FC: .4byte gBattle_BG1_Y -_080E0300: .4byte gTasks -_080E0304: - ldr r1, _080E0338 @ =gTasks - lsls r4, r6, 2 - adds r0, r4, r6 - lsls r0, 3 - adds r5, r0, r1 - movs r0, 0 - strh r0, [r5, 0xE] - ldr r0, _080E033C @ =gBattleAnimTarget - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080E0348 - ldr r2, _080E0340 @ =gBattle_BG1_X - ldr r1, _080E0344 @ =gUnknown_83FF284 - movs r3, 0xC - ldrsh r0, [r5, r3] - adds r0, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - ldrh r5, [r5, 0x1C] - adds r0, r5 - b _080E035A - .align 2, 0 -_080E0338: .4byte gTasks -_080E033C: .4byte gBattleAnimTarget -_080E0340: .4byte gBattle_BG1_X -_080E0344: .4byte gUnknown_83FF284 -_080E0348: - ldr r2, _080E0378 @ =gBattle_BG1_X - ldr r1, _080E037C @ =gUnknown_83FF284 - movs r3, 0xC - ldrsh r0, [r5, r3] - adds r0, r1 - movs r1, 0 - ldrsb r1, [r0, r1] - ldrh r0, [r5, 0x1C] - subs r0, r1 -_080E035A: - strh r0, [r2] - ldr r0, _080E0380 @ =gTasks - adds r1, r4, r6 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0xC] - adds r0, 0x1 - strh r0, [r1, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - bne _080E0384 - strh r0, [r1, 0x8] - b _080E0476 - .align 2, 0 -_080E0378: .4byte gBattle_BG1_X -_080E037C: .4byte gUnknown_83FF284 -_080E0380: .4byte gTasks -_080E0384: - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _080E0476 -_080E038C: - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r4, r0, r4 - ldrh r0, [r4, 0xA] - subs r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - bgt _080E03A6 - movs r0, 0x5 - strh r0, [r4, 0xA] -_080E03A6: - ldrh r1, [r4, 0xA] - lsls r1, 8 - movs r0, 0x3 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0x5 - bne _080E0476 - b _080E03E2 -_080E03C2: - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r4, r0, r4 - ldrh r1, [r4, 0xE] - adds r1, 0x1 - strh r1, [r4, 0xE] - lsls r1, 16 - asrs r1, 16 - ldr r2, _080E03EC @ =gUnknown_83FF288 - movs r3, 0xC - ldrsh r0, [r4, r3] - adds r0, r2 - ldrb r0, [r0] - cmp r1, r0 - ble _080E0476 -_080E03E2: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080E0476 - .align 2, 0 -_080E03EC: .4byte gUnknown_83FF288 -_080E03F0: - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r4, r0, r4 - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xD - ble _080E040A - movs r0, 0xD - strh r0, [r4, 0xA] -_080E040A: - ldrh r1, [r4, 0xA] - lsls r1, 8 - movs r0, 0x3 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0xD - bne _080E0476 - movs r0, 0x1 - strh r0, [r4, 0x8] - b _080E0476 -_080E042A: - mov r0, sp - bl sub_80752A0 - mov r0, sp - ldrb r0, [r0, 0x9] - bl sub_8075358 - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080E044C - movs r0, 0x1 - movs r1, 0x3 - movs r2, 0 - bl SetAnimBgAttribute -_080E044C: - movs r0, 0x1 - movs r1, 0x4 - movs r2, 0x1 - bl SetAnimBgAttribute - ldr r0, _080E0480 @ =gBattle_BG1_X - movs r1, 0 - strh r1, [r0] - ldr r0, _080E0484 @ =gBattle_BG1_Y - strh r1, [r0] - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - adds r0, r6, 0 - bl DestroyAnimVisualTask -_080E0476: - add sp, 0x10 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080E0480: .4byte gBattle_BG1_X -_080E0484: .4byte gBattle_BG1_Y - thumb_func_end sub_80E017C - - thumb_func_start sub_80E0488 -sub_80E0488: @ 80E0488 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - ldr r1, _080E04C0 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080E04C8 - movs r0, 0 - bl GetAnimBankSpriteId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r2, _080E04C4 @ =gUnknown_83FF290 - adds r0, r4, 0 - bl sub_80762D0 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080E04DA - .align 2, 0 -_080E04C0: .4byte gTasks -_080E04C4: .4byte gUnknown_83FF290 -_080E04C8: - adds r0, r4, 0 - bl sub_8076308 - lsls r0, 24 - cmp r0, 0 - bne _080E04DA - adds r0, r5, 0 - bl DestroyAnimVisualTask -_080E04DA: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80E0488 - - thumb_func_start sub_80E04E0 -sub_80E04E0: @ 80E04E0 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - movs r2, 0x2E - ldrsh r1, [r4, r2] - cmp r1, 0 - bne _080E04FE - adds r0, r4, 0 - movs r1, 0 - bl sub_8075160 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _080E0552 -_080E04FE: - adds r0, 0x1 - strh r0, [r4, 0x2E] - cmp r1, 0x14 - ble _080E0552 - ldrh r0, [r4, 0x30] - adds r0, 0xA0 - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x32] - adds r0, 0x80 - strh r0, [r4, 0x32] - ldr r0, _080E052C @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080E0530 - ldrh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 24 - negs r0, r0 - b _080E0536 - .align 2, 0 -_080E052C: .4byte gBattleAnimAttacker -_080E0530: - ldrh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 24 -_080E0536: - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 24 - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x40 - ble _080E0552 - adds r0, r4, 0 - bl DestroyAnimSprite -_080E0552: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80E04E0 - - thumb_func_start sub_80E0558 -sub_80E0558: @ 80E0558 - push {r4,r5,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, _080E057C @ =gTasks - adds r4, r0, r1 - ldr r5, _080E0580 @ =gBattleAnimArgs - movs r1, 0x2 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _080E0584 - adds r0, r2, 0 - bl DestroyAnimVisualTask - b _080E0618 - .align 2, 0 -_080E057C: .4byte gTasks -_080E0580: .4byte gBattleAnimArgs -_080E0584: - movs r1, 0x4 - ldrsh r0, [r5, r1] - cmp r0, 0 - bge _080E0590 - movs r0, 0 - strh r0, [r5, 0x4] -_080E0590: - movs r1, 0x4 - ldrsh r0, [r5, r1] - cmp r0, 0x2 - ble _080E059C - movs r0, 0x2 - strh r0, [r5, 0x4] -_080E059C: - movs r0, 0 - strh r0, [r4, 0x8] - strh r0, [r4, 0xA] - strh r0, [r4, 0xC] - movs r0, 0x4 - ldrsh r1, [r5, r0] - lsls r1, 1 - movs r0, 0x8 - subs r0, r1 - strh r0, [r4, 0xE] - movs r1, 0x4 - ldrsh r0, [r5, r1] - lsls r0, 7 - movs r1, 0x80 - lsls r1, 1 - adds r0, r1 - strh r0, [r4, 0x10] - ldrh r0, [r5, 0x4] - adds r0, 0x2 - strh r0, [r4, 0x12] - ldrh r0, [r5, 0x2] - subs r0, 0x1 - strh r0, [r4, 0x14] - ldrb r0, [r5] - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x26] - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _080E05E8 - ldr r0, _080E05E4 @ =gBattleAnimAttacker - b _080E05EA - .align 2, 0 -_080E05E4: .4byte gBattleAnimAttacker -_080E05E8: - ldr r0, _080E0620 @ =gBattleAnimTarget -_080E05EA: - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080E0608 - movs r1, 0x10 - ldrsh r0, [r4, r1] - negs r0, r0 - strh r0, [r4, 0x10] - movs r1, 0x12 - ldrsh r0, [r4, r1] - negs r0, r0 - strh r0, [r4, 0x12] -_080E0608: - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl sub_80758E0 - ldr r0, _080E0624 @ =sub_80E0628 - str r0, [r4] -_080E0618: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E0620: .4byte gBattleAnimTarget -_080E0624: .4byte sub_80E0628 - thumb_func_end sub_80E0558 - - thumb_func_start sub_80E0628 -sub_80E0628: @ 80E0628 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _080E064C @ =gTasks - adds r4, r0, r1 - movs r0, 0x8 - ldrsh r6, [r4, r0] - cmp r6, 0x1 - beq _080E06B0 - cmp r6, 0x1 - bgt _080E0650 - cmp r6, 0 - beq _080E065C - b _080E0788 - .align 2, 0 -_080E064C: .4byte gTasks -_080E0650: - cmp r6, 0x2 - beq _080E0708 - cmp r6, 0x3 - bne _080E065A - b _080E0778 -_080E065A: - b _080E0788 -_080E065C: - ldr r2, _080E06AC @ =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r4, 0x12] - ldrh r2, [r0, 0x24] - adds r1, r2 - strh r1, [r0, 0x24] - ldrh r0, [r4, 0xC] - ldrh r1, [r4, 0x10] - subs r0, r1 - strh r0, [r4, 0xC] - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - movs r2, 0x80 - lsls r2, 1 - ldrh r3, [r4, 0xC] - adds r1, r2, 0 - bl obj_id_set_rotscale - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - bl sub_80759DC - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - movs r2, 0xE - ldrsh r1, [r4, r2] - cmp r0, r1 - blt _080E0788 - strh r6, [r4, 0xA] - b _080E0770 - .align 2, 0 -_080E06AC: .4byte gSprites -_080E06B0: - ldr r2, _080E0704 @ =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x24] - ldrh r2, [r4, 0x12] - subs r1, r2 - strh r1, [r0, 0x24] - ldrh r0, [r4, 0x10] - ldrh r1, [r4, 0xC] - adds r0, r1 - strh r0, [r4, 0xC] - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - movs r2, 0x80 - lsls r2, 1 - ldrh r3, [r4, 0xC] - adds r1, r2, 0 - bl obj_id_set_rotscale - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - bl sub_80759DC - ldrh r1, [r4, 0xA] - adds r1, 0x1 - strh r1, [r4, 0xA] - lsls r1, 16 - asrs r1, 16 - movs r2, 0xE - ldrsh r0, [r4, r2] - lsls r0, 1 - cmp r1, r0 - blt _080E0788 - movs r0, 0 - strh r0, [r4, 0xA] - b _080E0770 - .align 2, 0 -_080E0704: .4byte gSprites -_080E0708: - ldr r2, _080E076C @ =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r4, 0x12] - ldrh r2, [r0, 0x24] - adds r1, r2 - movs r5, 0 - strh r1, [r0, 0x24] - ldrh r0, [r4, 0xC] - ldrh r1, [r4, 0x10] - subs r0, r1 - strh r0, [r4, 0xC] - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - movs r2, 0x80 - lsls r2, 1 - ldrh r3, [r4, 0xC] - adds r1, r2, 0 - bl obj_id_set_rotscale - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - bl sub_80759DC - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - movs r2, 0xE - ldrsh r1, [r4, r2] - cmp r0, r1 - blt _080E0788 - ldrh r1, [r4, 0x14] - movs r2, 0x14 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _080E0770 - subs r0, r1, 0x1 - strh r0, [r4, 0x14] - strh r5, [r4, 0xA] - strh r5, [r4, 0x8] - b _080E0788 - .align 2, 0 -_080E076C: .4byte gSprites -_080E0770: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080E0788 -_080E0778: - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - bl sub_8075980 - adds r0, r5, 0 - bl DestroyAnimVisualTask -_080E0788: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80E0628 - - thumb_func_start sub_80E0790 -sub_80E0790: @ 80E0790 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _080E07AC @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _080E07B4 - strh r0, [r4, 0x20] - ldr r1, _080E07B0 @ =gBattleAnimArgs - ldrh r0, [r1] - b _080E07BE - .align 2, 0 -_080E07AC: .4byte gBattleAnimAttacker -_080E07B0: .4byte gBattleAnimArgs -_080E07B4: - movs r0, 0xF0 - strh r0, [r4, 0x20] - ldr r1, _080E07D8 @ =gBattleAnimArgs - ldrh r0, [r1] - subs r0, 0x1E -_080E07BE: - strh r0, [r4, 0x22] - ldrh r0, [r1, 0x4] - strh r0, [r4, 0x32] - ldrb r1, [r1, 0x2] - adds r0, r4, 0 - bl StartSpriteAnim - ldr r0, _080E07DC @ =sub_80E07E0 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E07D8: .4byte gBattleAnimArgs -_080E07DC: .4byte sub_80E07E0 - thumb_func_end sub_80E0790 - - thumb_func_start sub_80E07E0 -sub_80E07E0: @ 80E07E0 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r0, 0x3 - strh r0, [r4, 0x2E] - ldr r0, _080E0820 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080E0824 - ldrh r1, [r4, 0x20] - adds r1, 0x5 - strh r1, [r4, 0x20] - ldrh r0, [r4, 0x22] - subs r0, 0x1 - strh r0, [r4, 0x22] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0xF0 - ble _080E0812 - adds r0, r4, 0 - bl DestroyAnimSprite -_080E0812: - ldrh r1, [r4, 0x2E] - movs r0, 0xFF - ands r0, r1 - movs r1, 0x10 - bl Sin - b _080E0848 - .align 2, 0 -_080E0820: .4byte gBattleAnimAttacker -_080E0824: - ldrh r1, [r4, 0x20] - subs r1, 0x5 - strh r1, [r4, 0x20] - ldrh r0, [r4, 0x22] - adds r0, 0x1 - strh r0, [r4, 0x22] - lsls r1, 16 - cmp r1, 0 - bge _080E083C - adds r0, r4, 0 - bl DestroyAnimSprite -_080E083C: - ldrh r1, [r4, 0x2E] - movs r0, 0xFF - ands r0, r1 - movs r1, 0x10 - bl Cos -_080E0848: - strh r0, [r4, 0x26] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80E07E0 - - thumb_func_start sub_80E0850 -sub_80E0850: @ 80E0850 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, _080E0898 @ =gTasks - adds r4, r0 - movs r0, 0 - strh r0, [r4, 0x8] - strh r0, [r4, 0xA] - strh r0, [r4, 0xC] - strh r0, [r4, 0xE] - movs r0, 0x20 - strh r0, [r4, 0x20] - movs r0, 0x40 - strh r0, [r4, 0x22] - movs r0, 0x80 - lsls r0, 4 - strh r0, [r4, 0x24] - ldr r0, _080E089C @ =gBattleAnimArgs - ldrb r0, [r0] - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x26] - movs r1, 0 - bl sub_80758E0 - ldr r0, _080E08A0 @ =sub_80E08A4 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E0898: .4byte gTasks -_080E089C: .4byte gBattleAnimArgs -_080E08A0: .4byte sub_80E08A4 - thumb_func_end sub_80E0850 - - thumb_func_start sub_80E08A4 -sub_80E08A4: @ 80E08A4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _080E08D0 @ =gTasks - adds r7, r0, r1 - movs r1, 0x8 - ldrsh r0, [r7, r1] - mov r8, r0 - cmp r0, 0x1 - beq _080E0940 - cmp r0, 0x1 - bgt _080E08D4 - cmp r0, 0 - beq _080E08DC - b _080E09BA - .align 2, 0 -_080E08D0: .4byte gTasks -_080E08D4: - mov r2, r8 - cmp r2, 0x2 - beq _080E09A8 - b _080E09BA -_080E08DC: - movs r3, 0x80 - lsls r3, 2 - adds r0, r3, 0 - ldrh r1, [r7, 0xC] - adds r2, r0, r1 - strh r2, [r7, 0xC] - lsls r0, r2, 16 - asrs r0, 16 - ldrh r3, [r7, 0x24] - mov r8, r3 - movs r3, 0x24 - ldrsh r1, [r7, r3] - cmp r0, r1 - blt _080E09BA - mov r0, r8 - subs r5, r0, r2 - lsls r5, 16 - asrs r5, 16 - adds r6, r1, 0 - lsls r6, 1 - adds r0, r5, 0 - adds r1, r6, 0 - bl __divsi3 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - adds r1, r6, 0 - bl __modsi3 - lsls r0, 16 - lsrs r0, 16 - lsls r4, 16 - asrs r4, 16 - movs r1, 0x1 - ands r4, r1 - cmp r4, 0 - bne _080E0934 - lsls r0, 16 - asrs r0, 16 - mov r2, r8 - subs r0, r2, r0 - b _080E0992 -_080E0934: - lsls r0, 16 - asrs r0, 16 - mov r3, r8 - subs r0, r3 - strh r0, [r7, 0xC] - b _080E09BA -_080E0940: - ldr r1, _080E0998 @ =0xfffffe00 - adds r0, r1, 0 - ldrh r2, [r7, 0xC] - adds r1, r0, r2 - strh r1, [r7, 0xC] - movs r3, 0xC - ldrsh r0, [r7, r3] - movs r2, 0x24 - ldrsh r6, [r7, r2] - cmn r0, r6 - bgt _080E09BA - ldrh r3, [r7, 0x24] - mov r9, r3 - mov r0, r9 - subs r4, r0, r1 - lsls r4, 16 - asrs r4, 16 - lsls r6, 1 - adds r0, r4, 0 - adds r1, r6, 0 - bl __divsi3 - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - adds r0, r4, 0 - adds r1, r6, 0 - bl __modsi3 - lsls r0, 16 - lsrs r2, r0, 16 - mov r1, r8 - ands r1, r5 - lsls r0, r1, 16 - asrs r1, r0, 16 - cmp r1, 0 - bne _080E099C - lsls r0, r2, 16 - asrs r0, 16 - mov r2, r9 - subs r0, r2 -_080E0992: - strh r0, [r7, 0xC] - strh r1, [r7, 0x8] - b _080E09BA - .align 2, 0 -_080E0998: .4byte 0xfffffe00 -_080E099C: - lsls r0, r2, 16 - asrs r0, 16 - mov r3, r9 - subs r0, r3, r0 - strh r0, [r7, 0xC] - b _080E09BA -_080E09A8: - ldrh r0, [r7, 0x26] - lsls r0, 24 - lsrs r0, 24 - bl sub_8075980 - adds r0, r4, 0 - bl DestroyAnimVisualTask - b _080E0A30 -_080E09BA: - ldrh r0, [r7, 0x26] - lsls r0, 24 - lsrs r0, 24 - movs r2, 0x80 - lsls r2, 1 - ldrh r3, [r7, 0xC] - adds r1, r2, 0 - bl obj_id_set_rotscale - ldrh r0, [r7, 0x26] - lsls r0, 24 - lsrs r0, 24 - bl sub_80759DC - ldr r2, _080E0A28 @ =gSprites - movs r0, 0x26 - ldrsh r1, [r7, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r2 - movs r2, 0xC - ldrsh r0, [r7, r2] - cmp r0, 0 - bge _080E09EE - adds r0, 0x3F -_080E09EE: - asrs r0, 6 - negs r0, r0 - strh r0, [r1, 0x24] - ldrh r0, [r7, 0xA] - adds r0, 0x1 - strh r0, [r7, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x8 - ble _080E0A30 - ldrh r1, [r7, 0x20] - movs r3, 0x20 - ldrsh r0, [r7, r3] - cmp r0, 0 - beq _080E0A2C - subs r0, r1, 0x1 - strh r0, [r7, 0x20] - ldrh r0, [r7, 0x24] - ldrh r1, [r7, 0x22] - subs r0, r1 - strh r0, [r7, 0x24] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xF - bgt _080E0A30 - movs r0, 0x10 - strh r0, [r7, 0x24] - b _080E0A30 - .align 2, 0 -_080E0A28: .4byte gSprites -_080E0A2C: - movs r0, 0x2 - strh r0, [r7, 0x8] -_080E0A30: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80E08A4 - - thumb_func_start sub_80E0A3C -sub_80E0A3C: @ 80E0A3C - push {r4-r6,lr} - adds r5, r0, 0 - movs r1, 0x2E - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _080E0A9C - ldr r6, _080E0A94 @ =gBattleAnimArgs - movs r2, 0x4 - ldrsh r0, [r6, r2] - cmp r0, 0 - bne _080E0A70 - ldr r4, _080E0A98 @ =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] -_080E0A70: - ldrh r0, [r6] - ldrh r1, [r5, 0x20] - adds r0, r1 - strh r0, [r5, 0x20] - ldrh r1, [r6, 0x2] - ldrh r2, [r5, 0x22] - adds r0, r1, r2 - strh r0, [r5, 0x22] - movs r0, 0x80 - strh r0, [r5, 0x30] - movs r0, 0xC0 - lsls r0, 2 - strh r0, [r5, 0x32] - strh r1, [r5, 0x34] - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - b _080E0AFA - .align 2, 0 -_080E0A94: .4byte gBattleAnimArgs -_080E0A98: .4byte gBattleAnimAttacker -_080E0A9C: - ldrh r1, [r5, 0x30] - lsls r0, r1, 16 - asrs r0, 24 - strh r0, [r5, 0x24] - ldrh r0, [r5, 0x32] - lsls r0, 16 - asrs r0, 24 - ldrh r2, [r5, 0x26] - adds r0, r2 - strh r0, [r5, 0x26] - movs r2, 0x36 - ldrsh r0, [r5, r2] - adds r4, r1, 0 - cmp r0, 0 - bne _080E0ADA - movs r0, 0x26 - ldrsh r1, [r5, r0] - movs r2, 0x34 - ldrsh r0, [r5, r2] - cmn r1, r0 - ble _080E0ADA - movs r0, 0x1 - strh r0, [r5, 0x36] - movs r1, 0x32 - ldrsh r0, [r5, r1] - negs r0, r0 - movs r1, 0x3 - bl __divsi3 - lsls r0, 1 - strh r0, [r5, 0x32] -_080E0ADA: - adds r0, r4, 0 - adds r0, 0xC0 - strh r0, [r5, 0x30] - ldrh r0, [r5, 0x32] - adds r0, 0x80 - strh r0, [r5, 0x32] - adds r0, r5, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080E0AFA - adds r0, r5, 0 - bl DestroyAnimSprite -_080E0AFA: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80E0A3C - - thumb_func_start sub_80E0B00 -sub_80E0B00: @ 80E0B00 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r0, 24 - adds r7, r0, 0 - ldr r1, _080E0B30 @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r2, r0, r1 - movs r1, 0x8 - ldrsh r0, [r2, r1] - cmp r0, 0 - bne _080E0C0C - ldr r0, _080E0B34 @ =gBattleAnimArgs - movs r3, 0 - ldrsh r1, [r0, r3] - mov r8, r0 - cmp r1, 0 - bne _080E0B3C - ldr r0, _080E0B38 @ =gBattleAnimAttacker - b _080E0B3E - .align 2, 0 -_080E0B30: .4byte gTasks -_080E0B34: .4byte gBattleAnimArgs -_080E0B38: .4byte gBattleAnimAttacker -_080E0B3C: - ldr r0, _080E0B78 @ =gBattleAnimTarget -_080E0B3E: - ldrb r0, [r0] - strh r0, [r2, 0x1E] - mov r1, r8 - ldrb r0, [r1] - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _080E0B7C @ =gTasks - lsls r4, r7, 2 - adds r0, r4, r7 - lsls r0, 3 - adds r6, r0, r1 - strh r5, [r6, 0x1C] - adds r0, r5, 0 - movs r1, 0 - bl sub_80758E0 - mov r2, r8 - movs r3, 0x2 - ldrsh r0, [r2, r3] - cmp r0, 0x1 - beq _080E0BA0 - cmp r0, 0x1 - bgt _080E0B80 - cmp r0, 0 - beq _080E0B88 - lsls r2, r5, 4 - b _080E0BE8 - .align 2, 0 -_080E0B78: .4byte gBattleAnimTarget -_080E0B7C: .4byte gTasks -_080E0B80: - cmp r0, 0x2 - beq _080E0BAA - lsls r2, r5, 4 - b _080E0BE8 -_080E0B88: - movs r2, 0xA0 - lsls r2, 1 - adds r0, r5, 0 - movs r1, 0xE0 - movs r3, 0 - bl obj_id_set_rotscale - adds r0, r5, 0 - bl sub_8076440 - lsls r2, r5, 4 - b _080E0BE8 -_080E0BA0: - movs r2, 0x98 - lsls r2, 1 - movs r3, 0xF0 - lsls r3, 4 - b _080E0BB2 -_080E0BAA: - movs r2, 0x98 - lsls r2, 1 - movs r3, 0xF1 - lsls r3, 8 -_080E0BB2: - adds r0, r5, 0 - movs r1, 0xD0 - bl obj_id_set_rotscale - adds r0, r5, 0 - bl sub_8076440 - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080E0BD8 - ldrb r0, [r6, 0x1E] - bl GetBattlerSide - lsls r0, 24 - lsls r2, r5, 4 - cmp r0, 0 - bne _080E0BE8 -_080E0BD8: - ldr r0, _080E0C04 @ =gSprites - lsls r2, r5, 4 - adds r1, r2, r5 - lsls r1, 2 - adds r1, r0 - ldrh r0, [r1, 0x26] - adds r0, 0x10 - strh r0, [r1, 0x26] -_080E0BE8: - ldr r1, _080E0C04 @ =gSprites - adds r0, r2, r5 - lsls r0, 2 - adds r0, r1 - movs r1, 0x2 - strh r1, [r0, 0x24] - ldr r0, _080E0C08 @ =gTasks - adds r1, r4, r7 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _080E0C58 - .align 2, 0 -_080E0C04: .4byte gSprites -_080E0C08: .4byte gTasks -_080E0C0C: - ldrb r5, [r2, 0x1C] - ldrh r0, [r2, 0xC] - adds r0, 0x1 - movs r4, 0 - strh r0, [r2, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - bne _080E0C30 - strh r4, [r2, 0xC] - ldr r0, _080E0C64 @ =gSprites - lsls r1, r5, 4 - adds r1, r5 - lsls r1, 2 - adds r1, r0 - ldrh r0, [r1, 0x24] - negs r0, r0 - strh r0, [r1, 0x24] -_080E0C30: - ldrh r0, [r2, 0xA] - adds r0, 0x1 - strh r0, [r2, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xD - bne _080E0C58 - adds r0, r5, 0 - bl sub_8075980 - ldr r1, _080E0C64 @ =gSprites - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - adds r0, r1 - strh r4, [r0, 0x24] - strh r4, [r0, 0x26] - adds r0, r7, 0 - bl DestroyAnimVisualTask -_080E0C58: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E0C64: .4byte gSprites - thumb_func_end sub_80E0B00 - - thumb_func_start sub_80E0C68 -sub_80E0C68: @ 80E0C68 - push {r4,r5,lr} - adds r4, r0, 0 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xC - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - ldrh r2, [r4, 0x4] - lsls r1, r2, 22 - lsrs r1, 22 - adds r1, r0 - ldr r3, _080E0CB4 @ =0x000003ff - adds r0, r3, 0 - ands r1, r0 - ldr r0, _080E0CB8 @ =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r4, 0x4] - bl Random - ldr r5, _080E0CBC @ =0x000001ff - ands r5, r0 - bl Random - movs r1, 0xFF - ands r1, r0 - movs r0, 0x1 - ands r0, r5 - cmp r0, 0 - beq _080E0CC0 - movs r2, 0xBC - lsls r2, 3 - adds r0, r5, r2 - b _080E0CC8 - .align 2, 0 -_080E0CB4: .4byte 0x000003ff -_080E0CB8: .4byte 0xfffffc00 -_080E0CBC: .4byte 0x000001ff -_080E0CC0: - movs r3, 0xBC - lsls r3, 3 - adds r0, r3, 0 - subs r0, r5 -_080E0CC8: - strh r0, [r4, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080E0CDA - movs r2, 0x90 - lsls r2, 3 - adds r0, r1, r2 - b _080E0CE2 -_080E0CDA: - movs r3, 0x90 - lsls r3, 3 - adds r0, r3, 0 - subs r0, r1 -_080E0CE2: - strh r0, [r4, 0x30] - ldr r0, _080E0CF4 @ =gBattleAnimArgs - ldrh r0, [r0] - strh r0, [r4, 0x32] - lsls r0, 16 - cmp r0, 0 - bne _080E0CFC - ldr r0, _080E0CF8 @ =0x0000fff8 - b _080E0CFE - .align 2, 0 -_080E0CF4: .4byte gBattleAnimArgs -_080E0CF8: .4byte 0x0000fff8 -_080E0CFC: - movs r0, 0xF8 -_080E0CFE: - strh r0, [r4, 0x20] - movs r0, 0x68 - strh r0, [r4, 0x22] - ldr r0, _080E0D10 @ =sub_80E0D14 - str r0, [r4, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E0D10: .4byte sub_80E0D14 - thumb_func_end sub_80E0C68 - - thumb_func_start sub_80E0D14 -sub_80E0D14: @ 80E0D14 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080E0D2C - ldrh r3, [r4, 0x2E] - lsls r0, r3, 16 - asrs r0, 24 - ldrh r1, [r4, 0x24] - adds r0, r1 - b _080E0D36 -_080E0D2C: - ldrh r3, [r4, 0x2E] - lsls r1, r3, 16 - asrs r1, 24 - ldrh r0, [r4, 0x24] - subs r0, r1 -_080E0D36: - strh r0, [r4, 0x24] - ldrh r2, [r4, 0x30] - lsls r1, r2, 16 - asrs r1, 24 - ldrh r0, [r4, 0x26] - subs r0, r1 - strh r0, [r4, 0x26] - adds r0, r3, 0 - subs r0, 0x16 - strh r0, [r4, 0x2E] - adds r1, r2, 0 - subs r1, 0x30 - strh r1, [r4, 0x30] - lsls r0, 16 - cmp r0, 0 - bge _080E0D5A - movs r0, 0 - strh r0, [r4, 0x2E] -_080E0D5A: - ldrh r0, [r4, 0x34] - adds r0, 0x1 - strh r0, [r4, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1F - bne _080E0D6E - adds r0, r4, 0 - bl DestroyAnimSprite -_080E0D6E: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80E0D14 - - thumb_func_start sub_80E0D74 -sub_80E0D74: @ 80E0D74 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r1, _080E0DD8 @ =0x00001f3f - movs r0, 0x4A - bl SetGpuReg - movs r1, 0x80 - lsls r1, 8 - movs r0, 0 - bl SetGpuRegBits - ldr r0, _080E0DDC @ =gUnknown_2022984 - movs r1, 0 - strh r1, [r0] - ldr r4, _080E0DE0 @ =gUnknown_2022986 - strh r1, [r4] - movs r0, 0x40 - movs r1, 0 - bl SetGpuReg - ldrh r1, [r4] - movs r0, 0x44 - bl SetGpuReg - ldr r0, _080E0DE4 @ =gBattleAnimArgs - ldrh r0, [r0, 0x4] - strh r0, [r5, 0x2E] - adds r0, r5, 0 - movs r1, 0 - bl sub_8075114 - ldrb r1, [r5, 0x1] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - movs r1, 0x8 - orrs r0, r1 - strb r0, [r5, 0x1] - adds r2, r5, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, _080E0DE8 @ =sub_80E0DEC - str r0, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E0DD8: .4byte 0x00001f3f -_080E0DDC: .4byte gUnknown_2022984 -_080E0DE0: .4byte gUnknown_2022986 -_080E0DE4: .4byte gBattleAnimArgs -_080E0DE8: .4byte sub_80E0DEC - thumb_func_end sub_80E0D74 - - thumb_func_start sub_80E0DEC -sub_80E0DEC: @ 80E0DEC - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x30 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _080E0E2A - cmp r0, 0x1 - bgt _080E0E02 - cmp r0, 0 - beq _080E0E0C - b _080E0E8A -_080E0E02: - cmp r0, 0x2 - beq _080E0E40 - cmp r0, 0x3 - beq _080E0E62 - b _080E0E8A -_080E0E0C: - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080E0E8A - b _080E0E5A -_080E0E2A: - ldrh r0, [r4, 0x2E] - subs r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - cmp r0, 0 - bne _080E0E8A - adds r0, r4, 0 - movs r1, 0x1 - bl ChangeSpriteAffineAnim - b _080E0E5A -_080E0E40: - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080E0E8A - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] -_080E0E5A: - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - b _080E0E8A -_080E0E62: - ldr r1, _080E0E90 @ =0x00003f3f - movs r0, 0x4A - bl SetGpuReg - movs r0, 0 - bl GetGpuReg - adds r1, r0, 0 - movs r2, 0x80 - lsls r2, 8 - adds r0, r2, 0 - eors r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0 - bl SetGpuReg - adds r0, r4, 0 - bl DestroyAnimSprite -_080E0E8A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E0E90: .4byte 0x00003f3f - thumb_func_end sub_80E0DEC - - thumb_func_start sub_80E0E94 -sub_80E0E94: @ 80E0E94 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, _080E0ED0 @ =gBattleAnimAttacker - ldrb r0, [r5] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x20] - ldrb r0, [r5] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x22] - ldr r1, _080E0ED4 @ =gBattleAnimArgs - ldrh r0, [r1] - strh r0, [r4, 0x2E] - ldrh r0, [r1, 0x2] - strh r0, [r4, 0x30] - ldr r1, _080E0ED8 @ =sub_80E0EDC - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E0ED0: .4byte gBattleAnimAttacker -_080E0ED4: .4byte gBattleAnimArgs -_080E0ED8: .4byte sub_80E0EDC - thumb_func_end sub_80E0E94 - - thumb_func_start sub_80E0EDC -sub_80E0EDC: @ 80E0EDC - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x30 - ldrsh r0, [r4, r1] - ldrh r1, [r4, 0x32] - lsls r1, 16 - asrs r1, 24 - bl Sin - strh r0, [r4, 0x24] - movs r2, 0x30 - ldrsh r0, [r4, r2] - ldrh r1, [r4, 0x34] - lsls r1, 16 - asrs r1, 24 - bl Cos - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x30] - adds r0, 0x9 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x30] - lsls r1, r0, 16 - cmp r0, 0x3F - bls _080E0F16 - asrs r0, r1, 16 - cmp r0, 0xC3 - ble _080E0F28 -_080E0F16: - ldr r0, _080E0F24 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl sub_807685C - subs r0, 0x1 - b _080E0F32 - .align 2, 0 -_080E0F24: .4byte gBattleAnimAttacker -_080E0F28: - ldr r0, _080E0F74 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl sub_807685C - adds r0, 0x1 -_080E0F32: - adds r1, r4, 0 - adds r1, 0x43 - strb r0, [r1] - movs r3, 0x38 - ldrsh r2, [r4, r3] - cmp r2, 0 - bne _080E0F78 - movs r1, 0x80 - lsls r1, 3 - adds r0, r1, 0 - ldrh r3, [r4, 0x32] - adds r0, r3 - strh r0, [r4, 0x32] - movs r1, 0x80 - lsls r1, 1 - adds r0, r1, 0 - ldrh r3, [r4, 0x34] - adds r0, r3 - strh r0, [r4, 0x34] - ldrh r0, [r4, 0x36] - adds r0, 0x1 - strh r0, [r4, 0x36] - lsls r0, 16 - asrs r0, 16 - movs r3, 0x2E - ldrsh r1, [r4, r3] - cmp r0, r1 - bne _080E0FA8 - strh r2, [r4, 0x36] - movs r0, 0x1 - strh r0, [r4, 0x38] - b _080E0FA8 - .align 2, 0 -_080E0F74: .4byte gBattleAnimAttacker -_080E0F78: - cmp r2, 0x1 - bne _080E0FA8 - ldr r1, _080E0FB0 @ =0xfffffc00 - adds r0, r1, 0 - ldrh r2, [r4, 0x32] - adds r0, r2 - strh r0, [r4, 0x32] - ldr r3, _080E0FB4 @ =0xffffff00 - adds r0, r3, 0 - ldrh r1, [r4, 0x34] - adds r0, r1 - strh r0, [r4, 0x34] - ldrh r0, [r4, 0x36] - adds r0, 0x1 - strh r0, [r4, 0x36] - lsls r0, 16 - asrs r0, 16 - movs r2, 0x2E - ldrsh r1, [r4, r2] - cmp r0, r1 - bne _080E0FA8 - adds r0, r4, 0 - bl DestroyAnimSprite -_080E0FA8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E0FB0: .4byte 0xfffffc00 -_080E0FB4: .4byte 0xffffff00 - thumb_func_end sub_80E0EDC - - thumb_func_start sub_80E0FB8 -sub_80E0FB8: @ 80E0FB8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x20 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x18] - movs r0, 0 - bl GetAnimBankSpriteId - ldr r0, _080E1040 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080E107C - movs r0, 0 - str r0, [sp, 0x1C] - ldr r6, _080E1044 @ =gBattlerPartyIndexes - ldr r4, _080E1048 @ =gBattleAnimTarget - ldrb r0, [r4] - lsls r0, 1 - adds r0, r6 - ldrh r0, [r0] - movs r5, 0x64 - muls r0, r5 - ldr r7, _080E104C @ =gPlayerParty - adds r0, r7 - movs r1, 0 - bl GetMonData - mov r10, r0 - ldrb r0, [r4] - lsls r0, 1 - adds r0, r6 - ldrh r0, [r0] - muls r0, r5 - adds r0, r7 - movs r1, 0x1 - bl GetMonData - mov r9, r0 - ldr r0, _080E1050 @ =gUnknown_2024018 - ldr r0, [r0] - ldrb r2, [r4] - ldr r1, [r0] - lsls r0, r2, 2 - adds r1, r0, r1 - ldrh r0, [r1, 0x2] - cmp r0, 0 - bne _080E1074 - adds r0, r2, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080E1054 - ldrb r0, [r4] - lsls r0, 1 - adds r0, r6 - ldrh r0, [r0] - muls r0, r5 - adds r0, r7 - b _080E1062 - .align 2, 0 -_080E1040: .4byte gBattleAnimAttacker -_080E1044: .4byte gBattlerPartyIndexes -_080E1048: .4byte gBattleAnimTarget -_080E104C: .4byte gPlayerParty -_080E1050: .4byte gUnknown_2024018 -_080E1054: - ldrb r0, [r4] - lsls r0, 1 - adds r0, r6 - ldrh r0, [r0] - muls r0, r5 - ldr r1, _080E1070 @ =gEnemyParty - adds r0, r1 -_080E1062: - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r6, r0, 16 - b _080E1076 - .align 2, 0 -_080E1070: .4byte gEnemyParty -_080E1074: - ldrh r6, [r1, 0x2] -_080E1076: - movs r1, 0x14 - mov r8, r1 - b _080E1112 -_080E107C: - movs r2, 0x1 - str r2, [sp, 0x1C] - ldr r6, _080E10E0 @ =gBattlerPartyIndexes - ldr r4, _080E10E4 @ =gBattleAnimTarget - ldrb r0, [r4] - lsls r0, 1 - adds r0, r6 - ldrh r0, [r0] - movs r5, 0x64 - muls r0, r5 - ldr r7, _080E10E8 @ =gEnemyParty - adds r0, r7 - movs r1, 0 - bl GetMonData - mov r10, r0 - ldrb r0, [r4] - lsls r0, 1 - adds r0, r6 - ldrh r0, [r0] - muls r0, r5 - adds r0, r7 - movs r1, 0x1 - bl GetMonData - mov r9, r0 - ldr r0, _080E10EC @ =gUnknown_2024018 - ldr r0, [r0] - ldrb r2, [r4] - ldr r1, [r0] - lsls r0, r2, 2 - adds r1, r0, r1 - ldrh r0, [r1, 0x2] - cmp r0, 0 - bne _080E110C - adds r0, r2, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080E10F4 - ldrb r0, [r4] - lsls r0, 1 - adds r0, r6 - ldrh r0, [r0] - muls r0, r5 - ldr r1, _080E10F0 @ =gPlayerParty - adds r0, r1 - b _080E1100 - .align 2, 0 -_080E10E0: .4byte gBattlerPartyIndexes -_080E10E4: .4byte gBattleAnimTarget -_080E10E8: .4byte gEnemyParty -_080E10EC: .4byte gUnknown_2024018 -_080E10F0: .4byte gPlayerParty -_080E10F4: - ldrb r0, [r4] - lsls r0, 1 - adds r0, r6 - ldrh r0, [r0] - muls r0, r5 - adds r0, r7 -_080E1100: - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r6, r0, 16 - b _080E110E -_080E110C: - ldrh r6, [r1, 0x2] -_080E110E: - ldr r3, _080E11FC @ =0x0000ffec - mov r8, r3 -_080E1112: - ldr r0, _080E1200 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl sub_8076884 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r5, _080E1200 @ =gBattleAnimAttacker - ldrb r0, [r5] - movs r1, 0 - bl sub_8074480 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldrb r0, [r5] - movs r1, 0x1 - bl sub_8074480 - lsls r0, 24 - mov r2, r8 - lsls r1, r2, 16 - asrs r1, 16 - adds r4, r1 - lsls r4, 16 - asrs r4, 16 - lsrs r0, 24 - str r0, [sp] - movs r0, 0x5 - str r0, [sp, 0x4] - mov r3, r10 - str r3, [sp, 0x8] - mov r0, r9 - str r0, [sp, 0xC] - ldr r0, _080E1204 @ =gBattleAnimTarget - ldrb r0, [r0] - str r0, [sp, 0x10] - movs r0, 0x1 - str r0, [sp, 0x14] - adds r0, r6, 0 - ldr r1, [sp, 0x1C] - movs r2, 0 - adds r3, r4, 0 - bl sub_80768D0 - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - ldr r0, _080E1208 @ =gSprites - lsls r5, r6, 4 - adds r5, r6 - lsls r5, 2 - adds r5, r0 - movs r0, 0x3 - ands r7, r0 - lsls r7, 2 - mov r8, r7 - ldrb r0, [r5, 0x5] - movs r4, 0xD - negs r4, r4 - adds r1, r4, 0 - ands r1, r0 - mov r2, r8 - orrs r1, r2 - strb r1, [r5, 0x5] - ldrb r2, [r5, 0x1] - adds r0, r4, 0 - ands r0, r2 - movs r2, 0x4 - orrs r0, r2 - strb r0, [r5, 0x1] - ldr r0, _080E120C @ =0x00007fff - lsrs r1, 4 - lsls r1, 4 - movs r3, 0x80 - lsls r3, 1 - adds r2, r3, 0 - orrs r1, r2 - movs r2, 0x20 - bl FillPalette - ldrb r0, [r5, 0x5] - ands r4, r0 - mov r0, r8 - orrs r4, r0 - strb r4, [r5, 0x5] - movs r1, 0xFD - lsls r1, 6 - movs r0, 0x50 - bl SetGpuReg - ldr r0, _080E1210 @ =gTasks - ldr r1, [sp, 0x18] - lsls r4, r1, 2 - adds r4, r1 - lsls r4, 3 - adds r4, r0 - ldrh r0, [r4, 0xA] - movs r1, 0x10 - subs r1, r0 - lsls r1, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - strh r6, [r4, 0x8] - ldr r0, _080E1214 @ =sub_80E1218 - str r0, [r4] - add sp, 0x20 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E11FC: .4byte 0x0000ffec -_080E1200: .4byte gBattleAnimAttacker -_080E1204: .4byte gBattleAnimTarget -_080E1208: .4byte gSprites -_080E120C: .4byte 0x00007fff -_080E1210: .4byte gTasks -_080E1214: .4byte sub_80E1218 - thumb_func_end sub_80E0FB8 - - thumb_func_start sub_80E1218 -sub_80E1218: @ 80E1218 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080E126C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - ldrh r0, [r4, 0x1C] - adds r1, r0, 0x1 - strh r1, [r4, 0x1C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080E1266 - movs r0, 0 - strh r0, [r4, 0x1C] - ldrh r1, [r4, 0xA] - adds r1, 0x1 - strh r1, [r4, 0xA] - movs r0, 0x10 - subs r0, r1 - lsls r0, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0xA - bne _080E1266 - movs r0, 0x80 - lsls r0, 1 - strh r0, [r4, 0x1C] - strh r0, [r4, 0x1E] - ldr r0, _080E1270 @ =sub_80E1274 - str r0, [r4] -_080E1266: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E126C: .4byte gTasks -_080E1270: .4byte sub_80E1274 - thumb_func_end sub_80E1218 - - thumb_func_start sub_80E1274 -sub_80E1274: @ 80E1274 - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080E12EC @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r5, r1, r2 - ldrb r2, [r5, 0x8] - ldrh r0, [r5, 0x1C] - subs r0, 0x10 - movs r4, 0 - strh r0, [r5, 0x1C] - ldrh r0, [r5, 0x1E] - adds r0, 0x80 - strh r0, [r5, 0x1E] - ldr r1, _080E12F0 @ =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r6, r0, r1 - ldrb r2, [r6, 0x1] - lsls r1, r2, 30 - lsrs r1, 30 - movs r0, 0x2 - orrs r1, r0 - subs r0, 0x6 - ands r0, r2 - orrs r0, r1 - strb r0, [r6, 0x1] - movs r0, 0x1C - ldrsh r2, [r5, r0] - movs r0, 0x1E - ldrsh r3, [r5, r0] - str r4, [sp] - adds r0, r6, 0 - movs r1, 0x1 - bl sub_8075A1C - ldrh r0, [r5, 0x20] - adds r0, 0x1 - strh r0, [r5, 0x20] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x9 - bne _080E12E2 - adds r0, r6, 0 - bl sub_8075AD8 - adds r0, r6, 0 - bl sub_8076B20 - ldr r0, _080E12F4 @ =sub_8074FA8 - str r0, [r5] -_080E12E2: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080E12EC: .4byte gTasks -_080E12F0: .4byte gSprites -_080E12F4: .4byte sub_8074FA8 - thumb_func_end sub_80E1274 - - thumb_func_start sub_80E12F8 -sub_80E12F8: @ 80E12F8 - push {r4-r7,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _080E1318 @ =gTasks - adds r4, r1, r0 - ldr r0, _080E131C @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080E1324 - ldr r0, _080E1320 @ =gBattleAnimAttacker - b _080E1326 - .align 2, 0 -_080E1318: .4byte gTasks -_080E131C: .4byte gBattleAnimArgs -_080E1320: .4byte gBattleAnimAttacker -_080E1324: - ldr r0, _080E13A4 @ =gBattleAnimTarget -_080E1326: - ldrb r5, [r0] - movs r6, 0 - strh r6, [r4, 0x8] - strh r6, [r4, 0xA] - strh r6, [r4, 0xC] - movs r0, 0x10 - strh r0, [r4, 0xE] - strh r6, [r4, 0x10] - strh r5, [r4, 0x12] - movs r0, 0x20 - strh r0, [r4, 0x14] - strh r6, [r4, 0x16] - movs r0, 0x18 - strh r0, [r4, 0x18] - adds r0, r5, 0 - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080E1358 - movs r1, 0x18 - ldrsh r0, [r4, r1] - negs r0, r0 - strh r0, [r4, 0x18] -_080E1358: - adds r0, r5, 0 - bl sub_807492C - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x22 - strh r0, [r4, 0x22] - cmp r0, 0 - bge _080E136C - strh r6, [r4, 0x22] -_080E136C: - ldrh r0, [r4, 0x22] - adds r0, 0x42 - strh r0, [r4, 0x24] - ldr r0, _080E13A8 @ =gBattleAnimArgs - ldrb r0, [r0] - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x26] - adds r0, r5, 0 - bl sub_80768B0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080E13BC - ldr r0, _080E13AC @ =0x04000014 - str r0, [sp] - ldr r1, _080E13B0 @ =0x00003f42 - movs r0, 0x50 - bl SetGpuReg - ldr r0, _080E13B4 @ =gBattle_BG1_X - ldrh r5, [r0] - ldr r0, _080E13B8 @ =gBattle_BG1_Y - b _080E13CE - .align 2, 0 -_080E13A4: .4byte gBattleAnimTarget -_080E13A8: .4byte gBattleAnimArgs -_080E13AC: .4byte 0x04000014 -_080E13B0: .4byte 0x00003f42 -_080E13B4: .4byte gBattle_BG1_X -_080E13B8: .4byte gBattle_BG1_Y -_080E13BC: - ldr r0, _080E1434 @ =0x04000018 - str r0, [sp] - ldr r1, _080E1438 @ =0x00003f44 - movs r0, 0x50 - bl SetGpuReg - ldr r0, _080E143C @ =gBattle_BG2_X - ldrh r5, [r0] - ldr r0, _080E1440 @ =gBattle_BG2_Y -_080E13CE: - ldrh r3, [r0] - movs r7, 0 - movs r2, 0 - ldr r6, _080E1444 @ =gScanlineEffectRegBuffers - movs r0, 0xF0 - lsls r0, 3 - adds r0, r6 - mov r12, r0 -_080E13DE: - lsls r2, 16 - asrs r2, 16 - lsls r1, r2, 1 - adds r0, r1, r6 - strh r5, [r0] - add r1, r12 - strh r5, [r1] - adds r0, r2, 0x1 - lsls r0, 1 - adds r1, r0, r6 - strh r3, [r1] - add r0, r12 - strh r3, [r0] - lsls r0, r7, 16 - movs r1, 0x80 - lsls r1, 9 - adds r0, r1 - adds r2, 0x2 - lsls r2, 16 - lsrs r2, 16 - lsrs r7, r0, 16 - asrs r0, 16 - cmp r0, 0x9F - ble _080E13DE - ldr r0, _080E1448 @ =0xa6600001 - str r0, [sp, 0x4] - mov r1, sp - movs r2, 0 - movs r0, 0x1 - strb r0, [r1, 0x8] - mov r0, sp - strb r2, [r0, 0x9] - ldr r0, [sp] - ldr r1, [sp, 0x4] - ldr r2, [sp, 0x8] - bl ScanlineEffect_SetParams - ldr r0, _080E144C @ =sub_80E1450 - str r0, [r4] - add sp, 0xC - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E1434: .4byte 0x04000018 -_080E1438: .4byte 0x00003f44 -_080E143C: .4byte gBattle_BG2_X -_080E1440: .4byte gBattle_BG2_Y -_080E1444: .4byte gScanlineEffectRegBuffers -_080E1448: .4byte 0xa6600001 -_080E144C: .4byte sub_80E1450 - thumb_func_end sub_80E12F8 - - thumb_func_start sub_80E1450 -sub_80E1450: @ 80E1450 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _080E1484 @ =gTasks - adds r6, r0, r1 - ldrb r0, [r6, 0x12] - bl sub_80768B0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080E1490 - ldr r0, _080E1488 @ =gBattle_BG1_X - ldrh r0, [r0] - str r0, [sp, 0x4] - ldr r0, _080E148C @ =gBattle_BG1_Y - b _080E1498 - .align 2, 0 -_080E1484: .4byte gTasks -_080E1488: .4byte gBattle_BG1_X -_080E148C: .4byte gBattle_BG1_Y -_080E1490: - ldr r0, _080E14B0 @ =gBattle_BG2_X - ldrh r0, [r0] - str r0, [sp, 0x4] - ldr r0, _080E14B4 @ =gBattle_BG2_Y -_080E1498: - ldrh r0, [r0] - str r0, [sp, 0x8] - movs r1, 0x8 - ldrsh r0, [r6, r1] - cmp r0, 0x1 - bne _080E14A6 - b _080E1684 -_080E14A6: - cmp r0, 0x1 - bgt _080E14B8 - cmp r0, 0 - beq _080E14C6 - b _080E16F4 - .align 2, 0 -_080E14B0: .4byte gBattle_BG2_X -_080E14B4: .4byte gBattle_BG2_Y -_080E14B8: - cmp r0, 0x2 - bne _080E14BE - b _080E16A4 -_080E14BE: - cmp r0, 0x3 - bne _080E14C4 - b _080E16EE -_080E14C4: - b _080E16F4 -_080E14C6: - movs r2, 0x24 - ldrsh r0, [r6, r2] - lsls r0, 17 - lsrs r5, r0, 16 - movs r3, 0 - str r3, [sp] - mov r9, r3 - movs r4, 0 - ldrh r0, [r6, 0xA] - adds r0, 0x2 - movs r1, 0xFF - ands r0, r1 - strh r0, [r6, 0xA] - ldrh r7, [r6, 0xA] - mov r8, r7 - movs r0, 0x14 - ldrsh r1, [r6, r0] - movs r0, 0xFC - lsls r0, 3 - bl __divsi3 - strh r0, [r6, 0x1A] - movs r1, 0x16 - ldrsh r0, [r6, r1] - lsls r0, 1 - movs r2, 0x1A - ldrsh r1, [r6, r2] - bl __divsi3 - negs r0, r0 - strh r0, [r6, 0x1C] - ldrh r0, [r6, 0x16] - strh r0, [r6, 0x1E] - lsls r0, 16 - asrs r0, 21 - lsls r0, 16 - lsrs r7, r0, 16 - strh r7, [r6, 0x20] - ldrh r2, [r6, 0x24] - lsls r3, r2, 16 - mov r12, r3 - asrs r1, r3, 16 - movs r3, 0x22 - ldrsh r0, [r6, r3] - cmp r1, r0 - ble _080E15E6 - ldr r0, _080E163C @ =gScanlineEffect - mov r10, r0 - ldr r1, [sp, 0x4] - lsls r0, r1, 16 - asrs r0, 16 - str r0, [sp, 0x10] - ldr r2, [sp, 0x8] - lsls r0, r2, 16 - asrs r0, 16 - str r0, [sp, 0xC] -_080E1536: - lsls r5, 16 - asrs r5, 16 - adds r2, r5, 0x1 - lsls r2, 1 - mov r3, r10 - ldrb r1, [r3, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - adds r2, r0 - ldr r0, _080E1640 @ =gScanlineEffectRegBuffers - adds r2, r0 - lsls r4, 16 - asrs r4, 16 - mov r1, r9 - lsls r0, r1, 16 - asrs r0, 16 - subs r0, r4, r0 - ldr r3, [sp, 0xC] - adds r0, r3, r0 - strh r0, [r2] - lsls r3, r5, 1 - mov r0, r10 - ldrb r1, [r0, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - adds r3, r0 - ldr r1, _080E1640 @ =gScanlineEffectRegBuffers - adds r3, r1 - lsls r1, r7, 16 - asrs r1, 16 - ldr r2, [sp, 0x10] - adds r1, r2, r1 - mov r7, r8 - lsls r2, r7, 16 - asrs r2, 16 - lsls r0, r2, 1 - ldr r7, _080E1644 @ =gSineTable - adds r0, r7 - ldrh r0, [r0] - lsls r0, 16 - asrs r0, 21 - adds r1, r0 - strh r1, [r3] - adds r2, 0xA - mov r8, r2 - movs r0, 0xFF - mov r1, r8 - ands r1, r0 - mov r8, r1 - ldrh r0, [r6, 0x1C] - ldrh r2, [r6, 0x1E] - adds r0, r2 - strh r0, [r6, 0x1E] - lsls r0, 16 - asrs r0, 21 - lsls r0, 16 - lsrs r7, r0, 16 - strh r7, [r6, 0x20] - adds r4, 0x1 - lsls r4, 16 - lsrs r4, 16 - subs r5, 0x2 - lsls r5, 16 - lsrs r5, 16 - ldr r3, [sp] - lsls r0, r3, 16 - asrs r0, 16 - ldrh r1, [r6, 0x14] - adds r0, r1 - lsls r0, 16 - lsrs r2, r0, 16 - str r2, [sp] - asrs r0, 21 - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - ldr r0, _080E1648 @ =0xffff0000 - add r0, r12 - lsrs r2, r0, 16 - lsls r3, r2, 16 - mov r12, r3 - asrs r1, r3, 16 - movs r3, 0x22 - ldrsh r0, [r6, r3] - cmp r1, r0 - bgt _080E1536 -_080E15E6: - lsls r1, r2, 17 - cmp r1, 0 - blt _080E1612 - ldr r4, _080E1640 @ =gScanlineEffectRegBuffers - ldr r7, [sp, 0x4] - lsls r0, r7, 16 - asrs r0, 16 - adds r3, r0, 0 - adds r3, 0xF0 - movs r0, 0xF0 - lsls r0, 3 - adds r5, r4, r0 -_080E15FE: - asrs r2, r1, 16 - lsls r1, r2, 1 - adds r0, r1, r4 - strh r3, [r0] - adds r1, r5 - strh r3, [r1] - subs r2, 0x2 - lsls r1, r2, 16 - cmp r1, 0 - bge _080E15FE -_080E1612: - ldrh r0, [r6, 0x14] - adds r0, 0x1 - strh r0, [r6, 0x14] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3F - ble _080E167A - movs r0, 0x40 - strh r0, [r6, 0x14] - ldrh r0, [r6, 0xC] - adds r0, 0x1 - strh r0, [r6, 0xC] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080E164C - ldrh r0, [r6, 0xE] - subs r0, 0x1 - strh r0, [r6, 0xE] - b _080E1652 - .align 2, 0 -_080E163C: .4byte gScanlineEffect -_080E1640: .4byte gScanlineEffectRegBuffers -_080E1644: .4byte gSineTable -_080E1648: .4byte 0xffff0000 -_080E164C: - ldrh r0, [r6, 0x10] - adds r0, 0x1 - strh r0, [r6, 0x10] -_080E1652: - ldrh r1, [r6, 0x10] - lsls r1, 8 - ldrh r0, [r6, 0xE] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r2, 0xE - ldrsh r1, [r6, r2] - cmp r1, 0 - bne _080E16F4 - movs r3, 0x10 - ldrsh r0, [r6, r3] - cmp r0, 0x10 - bne _080E16F4 - strh r1, [r6, 0xC] - strh r1, [r6, 0xE] - b _080E16E6 -_080E167A: - ldrh r0, [r6, 0x18] - ldrh r7, [r6, 0x16] - adds r0, r7 - strh r0, [r6, 0x16] - b _080E16F4 -_080E1684: - ldrh r0, [r6, 0xC] - adds r0, 0x1 - strh r0, [r6, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xC - ble _080E16F4 - ldr r1, _080E16A0 @ =gScanlineEffect - movs r0, 0x3 - strb r0, [r1, 0x15] - movs r0, 0 - strh r0, [r6, 0xC] - b _080E16E6 - .align 2, 0 -_080E16A0: .4byte gScanlineEffect -_080E16A4: - ldrh r0, [r6, 0xC] - adds r0, 0x1 - strh r0, [r6, 0xC] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080E16BA - ldrh r0, [r6, 0xE] - adds r0, 0x1 - strh r0, [r6, 0xE] - b _080E16C0 -_080E16BA: - ldrh r0, [r6, 0x10] - subs r0, 0x1 - strh r0, [r6, 0x10] -_080E16C0: - ldrh r1, [r6, 0x10] - lsls r1, 8 - ldrh r0, [r6, 0xE] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r1, 0xE - ldrsh r0, [r6, r1] - cmp r0, 0x10 - bne _080E16F4 - movs r2, 0x10 - ldrsh r0, [r6, r2] - cmp r0, 0 - bne _080E16F4 - strh r0, [r6, 0xC] - strh r0, [r6, 0xE] -_080E16E6: - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] - b _080E16F4 -_080E16EE: - adds r0, r4, 0 - bl DestroyAnimVisualTask -_080E16F4: - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80E1450 - - thumb_func_start sub_80E1704 -sub_80E1704: @ 80E1704 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, _080E173C @ =gTasks - adds r4, r0 - movs r0, 0 - strh r0, [r4, 0x8] - ldr r0, _080E1740 @ =gBattleAnimArgs - ldrb r0, [r0] - bl GetAnimBankSpriteId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - strh r1, [r4, 0x26] - ldr r2, _080E1744 @ =gUnknown_83FF3D0 - adds r0, r4, 0 - bl sub_80762D0 - ldr r0, _080E1748 @ =sub_80E174C - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E173C: .4byte gTasks -_080E1740: .4byte gBattleAnimArgs -_080E1744: .4byte gUnknown_83FF3D0 -_080E1748: .4byte sub_80E174C - thumb_func_end sub_80E1704 - - thumb_func_start sub_80E174C -sub_80E174C: @ 80E174C - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r2, _080E17A4 @ =gTasks - adds r3, r0, r2 - ldrh r0, [r3, 0x8] - adds r1, r0, 0x1 - movs r5, 0 - strh r1, [r3, 0x8] - subs r0, 0x14 - lsls r0, 16 - lsrs r0, 16 - adds r6, r2, 0 - cmp r0, 0x16 - bhi _080E17B0 - ldrh r0, [r3, 0xA] - adds r0, 0x1 - strh r0, [r3, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080E17C0 - strh r5, [r3, 0xA] - ldrh r0, [r3, 0xC] - adds r0, 0x1 - strh r0, [r3, 0xC] - movs r5, 0x1 - ands r0, r5 - cmp r0, 0 - bne _080E17B0 - ldr r2, _080E17A8 @ =gSprites - movs r0, 0x26 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r1, _080E17AC @ =0x0000ffff - strh r1, [r0, 0x24] - b _080E17C0 - .align 2, 0 -_080E17A4: .4byte gTasks -_080E17A8: .4byte gSprites -_080E17AC: .4byte 0x0000ffff -_080E17B0: - ldr r2, _080E17E0 @ =gSprites - movs r0, 0x26 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r5, [r0, 0x24] -_080E17C0: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r6 - bl sub_8076308 - lsls r0, 24 - cmp r0, 0 - bne _080E17D8 - adds r0, r4, 0 - bl DestroyAnimVisualTask -_080E17D8: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080E17E0: .4byte gSprites - thumb_func_end sub_80E174C - - thumb_func_start sub_80E17E4 -sub_80E17E4: @ 80E17E4 - push {r4-r6,lr} - mov r6, r8 - push {r6} - mov r8, r0 - adds r5, r2, 0 - adds r0, r3, 0 - ldr r4, [sp, 0x14] - ldr r6, [sp, 0x18] - lsls r1, 16 - lsrs r1, 16 - lsls r5, 16 - lsrs r5, 16 - lsls r4, 16 - lsrs r4, 16 - lsls r6, 16 - lsrs r6, 16 - mov r2, r8 - strh r1, [r2, 0x20] - strh r5, [r2, 0x22] - lsls r1, 16 - asrs r1, 16 - lsls r2, r1, 4 - mov r3, r8 - strh r2, [r3, 0x36] - lsls r5, 16 - asrs r5, 16 - lsls r2, r5, 4 - strh r2, [r3, 0x38] - lsls r0, 16 - asrs r0, 16 - subs r0, r1 - lsls r0, 4 - adds r1, r6, 0 - bl __divsi3 - mov r1, r8 - strh r0, [r1, 0x3A] - lsls r4, 16 - asrs r4, 16 - subs r4, r5 - lsls r4, 4 - adds r0, r4, 0 - adds r1, r6, 0 - bl __divsi3 - mov r2, r8 - strh r0, [r2, 0x3C] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80E17E4 - - thumb_func_start sub_80E184C -sub_80E184C: @ 80E184C - ldrh r1, [r0, 0x3A] - ldrh r2, [r0, 0x36] - adds r1, r2 - strh r1, [r0, 0x36] - ldrh r2, [r0, 0x3C] - ldrh r3, [r0, 0x38] - adds r2, r3 - strh r2, [r0, 0x38] - lsls r1, 16 - asrs r1, 20 - strh r1, [r0, 0x20] - lsls r2, 16 - asrs r2, 20 - strh r2, [r0, 0x22] - bx lr - thumb_func_end sub_80E184C - - thumb_func_start sub_80E186C -sub_80E186C: @ 80E186C - push {r4-r6,lr} - sub sp, 0x8 - adds r4, r0, 0 - ldrh r6, [r4, 0x20] - ldrh r5, [r4, 0x22] - bl sub_8074FCC - ldr r0, _080E18B4 @ =gBattleAnimArgs - ldrb r1, [r0] - adds r0, r4, 0 - bl StartSpriteAffineAnim - movs r0, 0x20 - ldrsh r1, [r4, r0] - movs r0, 0x22 - ldrsh r2, [r4, r0] - lsls r6, 16 - asrs r6, 16 - lsls r5, 16 - asrs r5, 16 - str r5, [sp] - movs r0, 0x40 - str r0, [sp, 0x4] - adds r0, r4, 0 - adds r3, r6, 0 - bl sub_80E17E4 - movs r0, 0 - strh r0, [r4, 0x2E] - ldr r0, _080E18B8 @ =sub_80E18BC - str r0, [r4, 0x1C] - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080E18B4: .4byte gBattleAnimArgs -_080E18B8: .4byte sub_80E18BC - thumb_func_end sub_80E186C - - thumb_func_start sub_80E18BC -sub_80E18BC: @ 80E18BC - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - movs r0, 0x2E - ldrsh r4, [r5, r0] - lsls r4, 3 - movs r0, 0xFF - ands r4, r0 - adds r0, r5, 0 - bl sub_80E184C - adds r0, r4, 0 - movs r1, 0x8 - bl Sin - strh r0, [r5, 0x26] - movs r1, 0x2E - ldrsh r0, [r5, r1] - cmp r0, 0x3A - ble _080E1922 - ldrh r0, [r5, 0x30] - adds r0, 0x1 - strh r0, [r5, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080E1922 - movs r0, 0 - strh r0, [r5, 0x30] - ldrh r1, [r5, 0x32] - adds r1, 0x1 - strh r1, [r5, 0x32] - movs r0, 0x1 - ands r1, r0 - adds r3, r5, 0 - adds r3, 0x3E - lsls r1, 2 - ldrb r2, [r3] - subs r0, 0x6 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - movs r1, 0x32 - ldrsh r0, [r5, r1] - cmp r0, 0x3 - ble _080E1922 - adds r0, r5, 0 - bl move_anim_8074EE0 -_080E1922: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80E18BC - - thumb_func_start sub_80E1928 -sub_80E1928: @ 80E1928 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r6, _080E1980 @ =gBattleAnimArgs - ldrh r0, [r6, 0x6] - strh r0, [r5, 0x2E] - ldrb r1, [r6] - adds r0, r5, 0 - bl StartSpriteAffineAnim - ldr r0, _080E1984 @ =gBattleAnimTarget - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080E194E - ldrh r0, [r6, 0x2] - negs r0, r0 - strh r0, [r6, 0x2] -_080E194E: - ldr r4, _080E1988 @ =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r6, 0x2] - adds r0, r1 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r6, [r6, 0x4] - adds r0, r6 - strh r0, [r5, 0x22] - ldr r0, _080E198C @ =sub_80B1D3C - str r0, [r5, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080E1980: .4byte gBattleAnimArgs -_080E1984: .4byte gBattleAnimTarget -_080E1988: .4byte gBattleAnimAttacker -_080E198C: .4byte sub_80B1D3C - thumb_func_end sub_80E1928 - - thumb_func_start sub_80E1990 -sub_80E1990: @ 80E1990 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r5, r0, 24 - movs r7, 0 - ldr r2, _080E19E0 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r3, r0, r2 - ldrh r0, [r3, 0x8] - subs r0, 0x1 - strh r0, [r3, 0x8] - movs r1, 0x14 - ldrsh r0, [r3, r1] - movs r1, 0x80 - lsls r1, 8 - ands r0, r1 - mov r8, r2 - cmp r0, 0 - beq _080E1A12 - ldrh r0, [r3, 0xA] - subs r0, 0x1 - strh r0, [r3, 0xA] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _080E1A12 - movs r2, 0x1A - ldrsh r0, [r3, r2] - cmp r0, 0 - bne _080E19E4 - ldrh r0, [r3, 0x10] - strh r0, [r3, 0x1A] - negs r0, r0 - strh r0, [r3, 0x10] - b _080E19E6 - .align 2, 0 -_080E19E0: .4byte gTasks -_080E19E4: - strh r7, [r3, 0x1A] -_080E19E6: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - mov r2, r8 - adds r1, r0, r2 - movs r2, 0x1C - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _080E1A02 - ldrh r0, [r1, 0x12] - strh r0, [r1, 0x1C] - negs r0, r0 - strh r0, [r1, 0x12] - b _080E1A06 -_080E1A02: - movs r0, 0 - strh r0, [r1, 0x1C] -_080E1A06: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - add r0, r8 - ldrh r1, [r0, 0x22] - strh r1, [r0, 0xA] -_080E1A12: - lsls r2, r5, 2 - adds r0, r2, r5 - lsls r0, 3 - mov r1, r8 - adds r4, r0, r1 - ldrh r6, [r4, 0x16] - ldrh r7, [r4, 0x18] - movs r1, 0xC - ldrsh r0, [r4, r1] - movs r1, 0x80 - lsls r1, 8 - ands r0, r1 - mov r12, r2 - cmp r0, 0 - beq _080E1A50 - ldr r3, _080E1A4C @ =gSprites - movs r2, 0x26 - ldrsh r0, [r4, r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - lsrs r2, r6, 8 - ldrh r0, [r4, 0x1A] - subs r0, r2 - strh r0, [r1, 0x24] - adds r2, r3, 0 - b _080E1A66 - .align 2, 0 -_080E1A4C: .4byte gSprites -_080E1A50: - ldr r2, _080E1A94 @ =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - lsrs r1, r6, 8 - ldrh r4, [r4, 0x1A] - adds r1, r4 - strh r1, [r0, 0x24] -_080E1A66: - mov r1, r12 - adds r0, r1, r5 - lsls r0, 3 - mov r1, r8 - adds r4, r0, r1 - movs r1, 0xE - ldrsh r0, [r4, r1] - movs r1, 0x80 - lsls r1, 8 - ands r0, r1 - cmp r0, 0 - beq _080E1A98 - movs r1, 0x26 - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - lsrs r2, r7, 8 - ldrh r0, [r4, 0x1C] - subs r0, r2 - b _080E1AAA - .align 2, 0 -_080E1A94: .4byte gSprites -_080E1A98: - movs r1, 0x26 - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - lsrs r0, r7, 8 - ldrh r4, [r4, 0x1C] - adds r0, r4 -_080E1AAA: - strh r0, [r1, 0x26] - mov r2, r12 - adds r0, r2, r5 - lsls r0, 3 - add r0, r8 - movs r1, 0x8 - ldrsh r0, [r0, r1] - cmp r0, 0 - bgt _080E1ACA - adds r0, r5, 0 - bl DestroyTask - ldr r1, _080E1AD4 @ =gUnknown_2037EE2 - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] -_080E1ACA: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E1AD4: .4byte gUnknown_2037EE2 - thumb_func_end sub_80E1990 - - thumb_func_start sub_80E1AD8 -sub_80E1AD8: @ 80E1AD8 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r6, r0, 24 - movs r7, 0 - ldr r2, _080E1B2C @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r3, r0, r2 - ldrh r0, [r3, 0x8] - subs r0, 0x1 - strh r0, [r3, 0x8] - movs r1, 0x14 - ldrsh r0, [r3, r1] - movs r1, 0x80 - lsls r1, 8 - ands r0, r1 - mov r8, r2 - cmp r0, 0 - beq _080E1B5E - ldrh r0, [r3, 0xA] - subs r0, 0x1 - strh r0, [r3, 0xA] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _080E1B5E - movs r2, 0x1A - ldrsh r0, [r3, r2] - cmp r0, 0 - bne _080E1B30 - ldrh r0, [r3, 0x10] - strh r0, [r3, 0x1A] - negs r0, r0 - strh r0, [r3, 0x10] - b _080E1B32 - .align 2, 0 -_080E1B2C: .4byte gTasks -_080E1B30: - strh r7, [r3, 0x1A] -_080E1B32: - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - mov r2, r8 - adds r1, r0, r2 - movs r2, 0x1C - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _080E1B4E - ldrh r0, [r1, 0x12] - strh r0, [r1, 0x1C] - negs r0, r0 - strh r0, [r1, 0x12] - b _080E1B52 -_080E1B4E: - movs r0, 0 - strh r0, [r1, 0x1C] -_080E1B52: - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - add r0, r8 - ldrh r1, [r0, 0x22] - strh r1, [r0, 0xA] -_080E1B5E: - lsls r3, r6, 2 - adds r0, r3, r6 - lsls r0, 3 - mov r1, r8 - adds r4, r0, r1 - ldrh r2, [r4, 0xC] - ldr r1, _080E1BB0 @ =0x00007fff - adds r0, r1, 0 - ands r0, r2 - ldrh r2, [r4, 0x16] - adds r0, r2 - lsls r5, r0, 16 - lsrs r0, r5, 16 - mov r9, r0 - ldrh r0, [r4, 0xE] - ands r1, r0 - ldrh r2, [r4, 0x18] - adds r1, r2 - lsls r1, 16 - lsrs r7, r1, 16 - movs r1, 0xC - ldrsh r0, [r4, r1] - movs r1, 0x80 - lsls r1, 8 - ands r0, r1 - mov r12, r3 - cmp r0, 0 - beq _080E1BB8 - ldr r3, _080E1BB4 @ =gSprites - movs r2, 0x26 - ldrsh r0, [r4, r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - lsrs r2, r5, 24 - ldrh r0, [r4, 0x1A] - subs r0, r2 - strh r0, [r1, 0x24] - adds r2, r3, 0 - b _080E1BCE - .align 2, 0 -_080E1BB0: .4byte 0x00007fff -_080E1BB4: .4byte gSprites -_080E1BB8: - ldr r2, _080E1BFC @ =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - lsrs r1, r5, 24 - ldrh r4, [r4, 0x1A] - adds r1, r4 - strh r1, [r0, 0x24] -_080E1BCE: - mov r1, r12 - adds r0, r1, r6 - lsls r0, 3 - mov r1, r8 - adds r4, r0, r1 - movs r1, 0xE - ldrsh r0, [r4, r1] - movs r1, 0x80 - lsls r1, 8 - ands r0, r1 - cmp r0, 0 - beq _080E1C00 - movs r1, 0x26 - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - lsrs r2, r7, 8 - ldrh r0, [r4, 0x1C] - subs r0, r2 - b _080E1C12 - .align 2, 0 -_080E1BFC: .4byte gSprites -_080E1C00: - movs r1, 0x26 - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - lsrs r0, r7, 8 - ldrh r4, [r4, 0x1C] - adds r0, r4 -_080E1C12: - strh r0, [r1, 0x26] - mov r2, r12 - adds r0, r2, r6 - lsls r0, 3 - mov r1, r8 - adds r2, r0, r1 - mov r0, r9 - strh r0, [r2, 0x16] - strh r7, [r2, 0x18] - movs r1, 0x8 - ldrsh r0, [r2, r1] - cmp r0, 0 - bgt _080E1C38 - movs r0, 0x1E - strh r0, [r2, 0x8] - movs r0, 0 - strh r0, [r2, 0x22] - ldr r0, _080E1C44 @ =sub_80E1990 - str r0, [r2] -_080E1C38: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E1C44: .4byte sub_80E1990 - thumb_func_end sub_80E1AD8 - - thumb_func_start sub_80E1C48 -sub_80E1C48: @ 80E1C48 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, _080E1CA8 @ =gTasks - mov r8, r0 - lsls r7, r6, 2 - adds r0, r7, r6 - lsls r0, 3 - mov r1, r8 - adds r4, r0, r1 - ldr r1, _080E1CAC @ =gBattlerSpriteIds - ldr r2, _080E1CB0 @ =gBattleAnimAttacker - ldrb r0, [r2] - adds r0, r1 - ldrb r0, [r0] - strh r0, [r4, 0x26] - ldr r5, _080E1CB4 @ =gBattleAnimArgs - ldrh r0, [r5] - strh r0, [r4, 0x24] - ldrh r0, [r5] - strh r0, [r4, 0x8] - ldrh r0, [r5, 0xC] - strh r0, [r4, 0x22] - movs r3, 0x6 - ldrsh r0, [r5, r3] - cmp r0, 0 - beq _080E1C8C - ldrh r0, [r4, 0x14] - ldr r3, _080E1CB8 @ =0xffff8000 - adds r1, r3, 0 - orrs r0, r1 - strh r0, [r4, 0x14] -_080E1C8C: - ldrb r0, [r2] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080E1CBC - ldrh r0, [r5, 0x2] - strh r0, [r4, 0xC] - ldrh r0, [r5, 0x4] - strh r0, [r4, 0xE] - mov r3, r8 - adds r4, r7, 0 - b _080E1D2C - .align 2, 0 -_080E1CA8: .4byte gTasks -_080E1CAC: .4byte gBattlerSpriteIds -_080E1CB0: .4byte gBattleAnimAttacker -_080E1CB4: .4byte gBattleAnimArgs -_080E1CB8: .4byte 0xffff8000 -_080E1CBC: - movs r7, 0x2 - ldrsh r0, [r5, r7] - movs r1, 0x80 - lsls r1, 8 - ands r0, r1 - cmp r0, 0 - beq _080E1CD8 - ldrh r1, [r5, 0x2] - ldr r0, _080E1CD4 @ =0x00007fff - ands r0, r1 - b _080E1CE0 - .align 2, 0 -_080E1CD4: .4byte 0x00007fff -_080E1CD8: - ldrh r0, [r5, 0x2] - ldr r2, _080E1D08 @ =0xffff8000 - adds r1, r2, 0 - orrs r0, r1 -_080E1CE0: - strh r0, [r4, 0xC] - ldr r0, _080E1D0C @ =gBattleAnimArgs - movs r3, 0x4 - ldrsh r1, [r0, r3] - movs r2, 0x80 - lsls r2, 8 - ands r1, r2 - adds r5, r0, 0 - cmp r1, 0 - beq _080E1D18 - ldr r3, _080E1D10 @ =gTasks - lsls r4, r6, 2 - adds r1, r4, r6 - lsls r1, 3 - adds r1, r3 - ldrh r2, [r5, 0x4] - ldr r0, _080E1D14 @ =0x00007fff - ands r0, r2 - b _080E1D2A - .align 2, 0 -_080E1D08: .4byte 0xffff8000 -_080E1D0C: .4byte gBattleAnimArgs -_080E1D10: .4byte gTasks -_080E1D14: .4byte 0x00007fff -_080E1D18: - ldr r3, _080E1D50 @ =gTasks - lsls r4, r6, 2 - adds r1, r4, r6 - lsls r1, 3 - adds r1, r3 - ldrh r2, [r5, 0x4] - ldr r7, _080E1D54 @ =0xffff8000 - adds r0, r7, 0 - orrs r0, r2 -_080E1D2A: - strh r0, [r1, 0xE] -_080E1D2C: - adds r0, r4, r6 - lsls r0, 3 - adds r0, r3 - movs r1, 0 - strh r1, [r0, 0x18] - strh r1, [r0, 0x16] - ldrh r1, [r5, 0x8] - strh r1, [r0, 0x10] - ldrh r1, [r5, 0xA] - strh r1, [r0, 0x12] - ldr r1, _080E1D58 @ =sub_80E1AD8 - str r1, [r0] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E1D50: .4byte gTasks -_080E1D54: .4byte 0xffff8000 -_080E1D58: .4byte sub_80E1AD8 - thumb_func_end sub_80E1C48 - - thumb_func_start sub_80E1D5C -sub_80E1D5C: @ 80E1D5C - push {r4,r5,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, _080E1D94 @ =gTasks - adds r5, r0, r1 - ldr r4, _080E1D98 @ =gBattleAnimArgs - movs r1, 0x2 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080E1D7C - adds r0, r2, 0 - bl DestroyAnimVisualTask -_080E1D7C: - movs r0, 0 - strh r0, [r5, 0x8] - strh r0, [r5, 0xA] - strh r0, [r5, 0xC] - ldrh r0, [r4, 0x2] - strh r0, [r5, 0xE] - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080E1DA0 - ldr r0, _080E1D9C @ =gBattleAnimAttacker - b _080E1DA2 - .align 2, 0 -_080E1D94: .4byte gTasks -_080E1D98: .4byte gBattleAnimArgs -_080E1D9C: .4byte gBattleAnimAttacker -_080E1DA0: - ldr r0, _080E1DF0 @ =gBattleAnimTarget -_080E1DA2: - ldrb r4, [r0] - adds r0, r4, 0 - movs r1, 0 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x10] - adds r0, r4, 0 - movs r1, 0x1 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x12] - adds r0, r4, 0 - bl sub_807685C - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x14] - ldr r0, _080E1DF4 @ =gBattleAnimArgs - ldrb r0, [r0] - bl GetAnimBankSpriteId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - strh r1, [r5, 0x26] - ldr r2, _080E1DF8 @ =gUnknown_83FF52C - adds r0, r5, 0 - bl sub_80762D0 - ldr r0, _080E1DFC @ =sub_80E1E00 - str r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E1DF0: .4byte gBattleAnimTarget -_080E1DF4: .4byte gBattleAnimArgs -_080E1DF8: .4byte gUnknown_83FF52C -_080E1DFC: .4byte sub_80E1E00 - thumb_func_end sub_80E1D5C - - thumb_func_start sub_80E1E00 -sub_80E1E00: @ 80E1E00 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _080E1E20 @ =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080E1E24 - cmp r0, 0x1 - beq _080E1E84 - b _080E1E92 - .align 2, 0 -_080E1E20: .4byte gTasks -_080E1E24: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x6 - bne _080E1E3A - adds r0, r5, 0 - movs r1, 0x1 - bl sub_80E1E98 -_080E1E3A: - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0x12 - bne _080E1E4A - adds r0, r5, 0 - movs r1, 0 - bl sub_80E1E98 -_080E1E4A: - adds r0, r4, 0 - bl sub_8076308 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _080E1E92 - ldrh r0, [r4, 0xE] - subs r0, 0x1 - strh r0, [r4, 0xE] - lsls r0, 16 - cmp r0, 0 - bne _080E1E6C - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080E1E92 -_080E1E6C: - strh r1, [r4, 0xA] - ldrh r1, [r4, 0x26] - lsls r1, 24 - lsrs r1, 24 - ldr r2, _080E1E80 @ =gUnknown_83FF52C - adds r0, r4, 0 - bl sub_80762D0 - b _080E1E92 - .align 2, 0 -_080E1E80: .4byte gUnknown_83FF52C -_080E1E84: - movs r1, 0xC - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080E1E92 - adds r0, r5, 0 - bl DestroyAnimVisualTask -_080E1E92: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80E1E00 - - thumb_func_start sub_80E1E98 -sub_80E1E98: @ 80E1E98 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xC - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r2, _080E1EBC @ =gTasks - adds r4, r0, r2 - cmp r1, 0 - bne _080E1EC0 - movs r1, 0x12 - movs r3, 0xEC - b _080E1EC4 - .align 2, 0 -_080E1EBC: .4byte gTasks -_080E1EC0: - movs r1, 0x1E - movs r3, 0x14 -_080E1EC4: - mov r2, sp - ldrh r0, [r4, 0x10] - subs r0, r1 - strh r0, [r2] - ldrh r0, [r4, 0x10] - subs r0, r1 - subs r0, 0x4 - strh r0, [r2, 0x2] - ldrh r0, [r4, 0x10] - adds r0, r1 - strh r0, [r2, 0x4] - ldrh r0, [r4, 0x10] - adds r0, r1 - adds r0, 0x4 - strh r0, [r2, 0x6] - add r2, sp, 0x8 - lsls r1, r3, 24 - asrs r1, 24 - ldrh r0, [r4, 0x12] - adds r0, r1 - strh r0, [r2] - ldrh r0, [r4, 0x12] - adds r0, r1 - adds r0, 0x6 - strh r0, [r2, 0x2] - movs r5, 0 - mov r8, r2 - ldr r7, _080E1F68 @ =gSprites -_080E1EFC: - lsls r0, r5, 1 - add r0, sp - movs r2, 0 - ldrsh r1, [r0, r2] - movs r0, 0x1 - ands r0, r5 - lsls r0, 1 - add r0, r8 - movs r3, 0 - ldrsh r2, [r0, r3] - ldrb r3, [r4, 0x14] - subs r3, 0x5 - lsls r3, 24 - lsrs r3, 24 - ldr r0, _080E1F6C @ =gUnknown_83FF54C - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _080E1F50 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r7 - movs r0, 0 - strh r0, [r1, 0x2E] - movs r0, 0x2 - cmp r5, 0x1 - bhi _080E1F3E - movs r2, 0x2 - negs r2, r2 - adds r0, r2, 0 -_080E1F3E: - strh r0, [r1, 0x30] - ldr r0, _080E1F70 @ =0x0000ffff - strh r0, [r1, 0x32] - strh r6, [r1, 0x34] - movs r0, 0x2 - strh r0, [r1, 0x36] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] -_080E1F50: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x3 - bls _080E1EFC - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E1F68: .4byte gSprites -_080E1F6C: .4byte gUnknown_83FF54C -_080E1F70: .4byte 0x0000ffff - thumb_func_end sub_80E1E98 - - thumb_func_start sub_80E1F74 -sub_80E1F74: @ 80E1F74 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x30] - ldrh r1, [r4, 0x20] - adds r0, r1 - strh r0, [r4, 0x20] - ldrh r0, [r4, 0x32] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x6 - ble _080E1FBA - ldr r3, _080E1FC0 @ =gTasks - movs r0, 0x36 - ldrsh r1, [r4, r0] - lsls r1, 1 - movs r0, 0x34 - ldrsh r2, [r4, r0] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r3, 0x8 - adds r1, r3 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - adds r0, r4, 0 - bl DestroySprite -_080E1FBA: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E1FC0: .4byte gTasks - thumb_func_end sub_80E1F74 - - thumb_func_start sub_80E1FC4 -sub_80E1FC4: @ 80E1FC4 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080E200C @ =gTasks - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - adds r4, r1 - movs r0, 0 - strh r0, [r4, 0x8] - ldr r1, _080E2010 @ =gBattleAnimArgs - ldrh r0, [r1, 0x2] - strh r0, [r4, 0xA] - ldrb r0, [r1] - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080E2014 @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r0, [r1, 0x5] - lsrs r0, 4 - lsls r0, 4 - movs r2, 0x80 - lsls r2, 1 - adds r1, r2, 0 - adds r0, r1 - strh r0, [r4, 0xC] - ldr r0, _080E2018 @ =sub_80E201C - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E200C: .4byte gTasks -_080E2010: .4byte gBattleAnimArgs -_080E2014: .4byte gSprites -_080E2018: .4byte sub_80E201C - thumb_func_end sub_80E1FC4 - - thumb_func_start sub_80E201C -sub_80E201C: @ 80E201C - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _080E2064 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080E206C - ldrh r0, [r4, 0xC] - ldr r2, _080E2068 @ =gUnknown_83FF564 - movs r3, 0x8 - ldrsh r1, [r4, r3] - lsls r1, 1 - adds r1, r2 - ldrh r3, [r1] - movs r1, 0x10 - movs r2, 0x8 - bl BlendPalette - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x17 - ble _080E205C - movs r0, 0 - strh r0, [r4, 0x8] -_080E205C: - ldrh r0, [r4, 0xA] - subs r0, 0x1 - strh r0, [r4, 0xA] - b _080E207E - .align 2, 0 -_080E2064: .4byte gTasks -_080E2068: .4byte gUnknown_83FF564 -_080E206C: - ldrh r0, [r4, 0xC] - movs r1, 0x10 - movs r2, 0 - movs r3, 0 - bl BlendPalette - adds r0, r5, 0 - bl DestroyAnimVisualTask -_080E207E: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80E201C - - thumb_func_start sub_80E2084 -sub_80E2084: @ 80E2084 - push {lr} - sub sp, 0x1C - lsls r0, 24 - lsrs r0, 24 - movs r2, 0xD0 - lsls r2, 1 - ldr r1, _080E20C0 @ =gBattleAnimAttacker - ldrb r3, [r1] - ldr r1, _080E20C4 @ =gBattleAnimArgs - ldrb r1, [r1] - str r1, [sp] - movs r1, 0xA - str r1, [sp, 0x4] - movs r1, 0x2 - str r1, [sp, 0x8] - movs r1, 0x1E - str r1, [sp, 0xC] - ldr r1, _080E20C8 @ =gFile_graphics_battle_anims_masks_cure_bubbles_sheet - str r1, [sp, 0x10] - ldr r1, _080E20CC @ =gFile_graphics_battle_anims_masks_cure_bubbles_tilemap - str r1, [sp, 0x14] - ldr r1, _080E20D0 @ =gFile_graphics_battle_anims_masks_cure_bubbles_palette - str r1, [sp, 0x18] - movs r1, 0 - bl sub_80BBA20 - add sp, 0x1C - pop {r0} - bx r0 - .align 2, 0 -_080E20C0: .4byte gBattleAnimAttacker -_080E20C4: .4byte gBattleAnimArgs -_080E20C8: .4byte gFile_graphics_battle_anims_masks_cure_bubbles_sheet -_080E20CC: .4byte gFile_graphics_battle_anims_masks_cure_bubbles_tilemap -_080E20D0: .4byte gFile_graphics_battle_anims_masks_cure_bubbles_palette - thumb_func_end sub_80E2084 - - thumb_func_start sub_80E20D4 -sub_80E20D4: @ 80E20D4 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r6, _080E212C @ =gBattleAnimAttacker - ldrb r0, [r6] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080E20F0 - ldr r1, _080E2130 @ =gBattleAnimArgs - ldrh r0, [r1] - negs r0, r0 - strh r0, [r1] -_080E20F0: - ldrb r0, [r6] - movs r1, 0 - bl sub_8074480 - lsls r0, 24 - ldr r4, _080E2130 @ =gBattleAnimArgs - lsrs r0, 24 - ldrh r1, [r4] - adds r0, r1 - strh r0, [r5, 0x20] - ldrb r0, [r6] - movs r1, 0x1 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x2] - adds r0, r1 - strh r0, [r5, 0x22] - movs r1, 0x4 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080E2138 - movs r0, 0xA0 - lsls r0, 2 - strh r0, [r5, 0x2E] - ldr r0, _080E2134 @ =0x0000fd80 - strh r0, [r5, 0x30] - b _080E2160 - .align 2, 0 -_080E212C: .4byte gBattleAnimAttacker -_080E2130: .4byte gBattleAnimArgs -_080E2134: .4byte 0x0000fd80 -_080E2138: - cmp r0, 0x1 - bne _080E2152 - adds r2, r5, 0 - adds r2, 0x3F - ldrb r0, [r2] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2] - movs r0, 0xA0 - lsls r0, 2 - strh r0, [r5, 0x2E] - strh r0, [r5, 0x30] - b _080E2160 -_080E2152: - adds r0, r5, 0 - movs r1, 0x1 - bl StartSpriteAnim - movs r0, 0xA0 - lsls r0, 2 - strh r0, [r5, 0x2E] -_080E2160: - ldr r0, _080E218C @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080E2180 - ldrh r0, [r5, 0x2E] - negs r0, r0 - strh r0, [r5, 0x2E] - adds r2, r5, 0 - adds r2, 0x3F - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] -_080E2180: - ldr r0, _080E2190 @ =sub_80E2194 - str r0, [r5, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080E218C: .4byte gBattleAnimAttacker -_080E2190: .4byte sub_80E2194 - thumb_func_end sub_80E20D4 - - thumb_func_start sub_80E2194 -sub_80E2194: @ 80E2194 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x2E] - ldrh r1, [r2, 0x3A] - adds r0, r1 - strh r0, [r2, 0x3A] - ldrh r1, [r2, 0x30] - ldrh r3, [r2, 0x3C] - adds r1, r3 - strh r1, [r2, 0x3C] - lsls r0, 16 - asrs r0, 24 - strh r0, [r2, 0x24] - lsls r1, 16 - asrs r1, 24 - strh r1, [r2, 0x26] - ldrh r0, [r2, 0x38] - adds r0, 0x1 - strh r0, [r2, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xE - bne _080E21C8 - adds r0, r2, 0 - bl DestroyAnimSprite -_080E21C8: - pop {r0} - bx r0 - thumb_func_end sub_80E2194 - - thumb_func_start sub_80E21CC -sub_80E21CC: @ 80E21CC - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _080E221C @ =gTasks - adds r6, r1, r0 - movs r1, 0 - movs r0, 0xC - strh r0, [r6, 0x12] - movs r0, 0x3 - strh r0, [r6, 0x14] - strh r1, [r6, 0x16] - ldr r5, _080E2220 @ =gBattleAnimAttacker - ldrb r0, [r5] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080E2224 - ldrb r0, [r5] - movs r1, 0x2 - bl sub_8074480 - adds r4, r0, 0 - ldrb r0, [r5] - movs r1, 0 - bl sub_8076B2C - lsls r4, 24 - lsrs r4, 24 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _080E2216 - adds r0, 0x3 -_080E2216: - asrs r0, 2 - adds r0, r4, r0 - b _080E2248 - .align 2, 0 -_080E221C: .4byte gTasks -_080E2220: .4byte gBattleAnimAttacker -_080E2224: - ldrb r0, [r5] - movs r1, 0x2 - bl sub_8074480 - adds r4, r0, 0 - ldrb r0, [r5] - movs r1, 0 - bl sub_8076B2C - lsls r4, 24 - lsrs r4, 24 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _080E2244 - adds r0, 0x3 -_080E2244: - asrs r0, 2 - subs r0, r4, r0 -_080E2248: - strh r0, [r6, 0x1E] - ldr r5, _080E229C @ =gBattleAnimAttacker - ldrb r0, [r5] - movs r1, 0x3 - bl sub_8074480 - adds r4, r0, 0 - ldrb r0, [r5] - movs r1, 0 - bl sub_8076B2C - lsls r4, 24 - lsrs r4, 24 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _080E226C - adds r0, 0x3 -_080E226C: - asrs r0, 2 - subs r0, r4, r0 - strh r0, [r6, 0x20] - ldr r4, _080E22A0 @ =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x22] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x24] - ldr r0, _080E22A4 @ =sub_80E22A8 - str r0, [r6] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080E229C: .4byte gBattleAnimAttacker -_080E22A0: .4byte gBattleAnimTarget -_080E22A4: .4byte sub_80E22A8 - thumb_func_end sub_80E21CC - - thumb_func_start sub_80E22A8 -sub_80E22A8: @ 80E22A8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x14 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - ldr r1, _080E22D0 @ =gTasks - adds r5, r0, r1 - movs r0, 0x8 - ldrsh r1, [r5, r0] - cmp r1, 0 - beq _080E22D4 - cmp r1, 0x1 - bne _080E22CC - b _080E23CC -_080E22CC: - b _080E23DA - .align 2, 0 -_080E22D0: .4byte gTasks -_080E22D4: - ldrh r0, [r5, 0xA] - adds r0, 0x1 - strh r0, [r5, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _080E23DA - strh r1, [r5, 0xA] - movs r1, 0x1E - ldrsh r0, [r5, r1] - movs r2, 0x20 - ldrsh r1, [r5, r2] - movs r3, 0x22 - ldrsh r2, [r5, r3] - movs r4, 0x24 - ldrsh r3, [r5, r4] - ldrb r4, [r5, 0x12] - str r4, [sp] - ldrb r4, [r5, 0xC] - str r4, [sp, 0x4] - add r4, sp, 0x10 - str r4, [sp, 0x8] - adds r4, 0x2 - str r4, [sp, 0xC] - bl sub_80E23E8 - movs r6, 0 - mov r8, r4 - ldr r4, _080E2348 @ =gSprites -_080E230E: - add r0, sp, 0x10 - movs r2, 0 - ldrsh r1, [r0, r2] - mov r3, r8 - movs r0, 0 - ldrsh r2, [r3, r0] - ldr r0, _080E234C @ =gUnknown_83FF5CC - movs r3, 0x23 - bl CreateSprite - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x40 - beq _080E23A2 - movs r1, 0x16 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _080E2362 - cmp r6, 0 - bne _080E2350 - lsls r2, r3, 4 - adds r1, r2, r3 - lsls r1, 2 - adds r1, r4 - ldrh r0, [r5, 0x14] - negs r0, r0 - strh r0, [r1, 0x26] - strh r0, [r1, 0x24] - b _080E238A - .align 2, 0 -_080E2348: .4byte gSprites -_080E234C: .4byte gUnknown_83FF5CC -_080E2350: - lsls r2, r3, 4 - adds r1, r2, r3 - lsls r1, 2 - adds r1, r4 - ldrh r0, [r5, 0x14] - strh r0, [r1, 0x26] - ldrh r0, [r5, 0x14] - strh r0, [r1, 0x24] - b _080E238A -_080E2362: - cmp r6, 0 - bne _080E2378 - lsls r2, r3, 4 - adds r1, r2, r3 - lsls r1, 2 - adds r1, r4 - ldrh r0, [r5, 0x14] - negs r0, r0 - strh r0, [r1, 0x24] - ldrh r0, [r5, 0x14] - b _080E2388 -_080E2378: - lsls r2, r3, 4 - adds r1, r2, r3 - lsls r1, 2 - adds r1, r4 - ldrh r0, [r5, 0x14] - strh r0, [r1, 0x24] - ldrh r0, [r5, 0x14] - negs r0, r0 -_080E2388: - strh r0, [r1, 0x26] -_080E238A: - ldr r1, _080E23C8 @ =gSprites - adds r0, r2, r3 - lsls r0, 2 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x2E] - strh r7, [r0, 0x30] - movs r1, 0xA - strh r1, [r0, 0x32] - ldrh r0, [r5, 0x1C] - adds r0, 0x1 - strh r0, [r5, 0x1C] -_080E23A2: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x1 - bls _080E230E - ldrh r2, [r5, 0xC] - movs r3, 0xC - ldrsh r1, [r5, r3] - movs r4, 0x12 - ldrsh r0, [r5, r4] - cmp r1, r0 - bne _080E23C0 - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] -_080E23C0: - adds r0, r2, 0x1 - strh r0, [r5, 0xC] - b _080E23DA - .align 2, 0 -_080E23C8: .4byte gSprites -_080E23CC: - movs r1, 0x1C - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _080E23DA - adds r0, r7, 0 - bl DestroyAnimVisualTask -_080E23DA: - add sp, 0x14 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80E22A8 - - thumb_func_start sub_80E23E8 -sub_80E23E8: @ 80E23E8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - ldr r4, [sp, 0x28] - ldr r5, [sp, 0x2C] - ldr r6, [sp, 0x30] - mov r9, r6 - ldr r6, [sp, 0x34] - mov r10, r6 - lsls r0, 16 - lsrs r0, 16 - mov r12, r0 - lsls r1, 16 - lsrs r1, 16 - str r1, [sp] - lsls r2, 16 - lsrs r2, 16 - adds r7, r2, 0 - lsls r3, 16 - lsrs r3, 16 - str r3, [sp, 0x4] - lsls r4, 24 - lsrs r6, r4, 24 - lsls r5, 24 - lsrs r5, 24 - mov r8, r5 - cmp r5, 0 - bne _080E2430 - mov r2, r9 - strh r0, [r2] - mov r6, r10 - strh r1, [r6] - b _080E248E -_080E2430: - cmp r5, r6 - bcc _080E243E - mov r0, r9 - strh r2, [r0] - mov r1, r10 - strh r3, [r1] - b _080E248E -_080E243E: - subs r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - mov r2, r12 - lsls r1, r2, 16 - asrs r1, 16 - lsls r5, r1, 8 - lsls r0, r7, 16 - asrs r0, 16 - subs r0, r1 - lsls r0, 8 - adds r1, r6, 0 - bl __divsi3 - mov r1, r8 - muls r1, r0 - adds r0, r1, 0 - adds r5, r0 - ldr r2, [sp] - lsls r1, r2, 16 - asrs r1, 16 - lsls r4, r1, 8 - ldr r2, [sp, 0x4] - lsls r0, r2, 16 - asrs r0, 16 - subs r0, r1 - lsls r0, 8 - adds r1, r6, 0 - bl __divsi3 - mov r6, r8 - muls r6, r0 - adds r0, r6, 0 - adds r4, r0 - asrs r5, 8 - mov r0, r9 - strh r5, [r0] - asrs r4, 8 - mov r1, r10 - strh r4, [r1] -_080E248E: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80E23E8 - - thumb_func_start sub_80E24A0 -sub_80E24A0: @ 80E24A0 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x24 - ble _080E24D6 - ldr r3, _080E24DC @ =gTasks - movs r0, 0x32 - ldrsh r1, [r4, r0] - lsls r1, 1 - movs r0, 0x30 - ldrsh r2, [r4, r0] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r3, 0x8 - adds r1, r3 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - adds r0, r4, 0 - bl DestroySprite -_080E24D6: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E24DC: .4byte gTasks - thumb_func_end sub_80E24A0 - - thumb_func_start sub_80E24E0 -sub_80E24E0: @ 80E24E0 - push {r4,lr} - adds r4, r0, 0 - ldr r1, _080E250C @ =gBattleAnimArgs - ldrh r0, [r1] - strh r0, [r4, 0x20] - ldrh r0, [r1, 0x2] - strh r0, [r4, 0x22] - ldrh r0, [r1, 0x4] - strh r0, [r4, 0x32] - ldrh r0, [r1, 0x6] - strh r0, [r4, 0x36] - ldrh r0, [r1, 0x8] - strh r0, [r4, 0x2E] - ldr r1, _080E2510 @ =DestroyAnimSprite - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - ldr r0, _080E2514 @ =sub_8075764 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E250C: .4byte gBattleAnimArgs -_080E2510: .4byte DestroyAnimSprite -_080E2514: .4byte sub_8075764 - thumb_func_end sub_80E24E0 - - thumb_func_start sub_80E2518 -sub_80E2518: @ 80E2518 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - lsls r0, 2 - add r0, r9 - lsls r0, 3 - ldr r1, _080E2638 @ =gTasks - adds r7, r0, r1 - ldr r0, _080E263C @ =gBattleAnimAttacker - mov r10, r0 - ldrb r0, [r0] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r7, 0x1E] - mov r1, r10 - ldrb r0, [r1] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r7, 0x20] - ldr r0, _080E2640 @ =gBattleAnimTarget - mov r8, r0 - ldrb r0, [r0] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r7, 0x22] - mov r1, r8 - ldrb r0, [r1] - movs r1, 0x3 - bl sub_8074480 - adds r4, r0, 0 - mov r1, r8 - ldrb r0, [r1] - movs r1, 0 - bl sub_8076B2C - lsls r4, 24 - lsrs r4, 24 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _080E258A - adds r0, 0x3 -_080E258A: - asrs r0, 2 - adds r0, r4, r0 - strh r0, [r7, 0x24] - ldr r4, _080E2644 @ =gUnknown_83FF62C - movs r0, 0x1E - ldrsh r5, [r7, r0] - movs r1, 0x20 - ldrsh r6, [r7, r1] - mov r1, r8 - ldrb r0, [r1] - bl sub_807685C - adds r3, r0, 0 - subs r3, 0x5 - lsls r3, 24 - lsrs r3, 24 - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r6, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - strh r0, [r7, 0x26] - cmp r0, 0x40 - beq _080E2654 - ldr r4, _080E2648 @ =gSprites - movs r0, 0x26 - ldrsh r1, [r7, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x10 - strh r1, [r0, 0x2E] - movs r0, 0x26 - ldrsh r1, [r7, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r7, 0x22] - strh r1, [r0, 0x32] - movs r0, 0x26 - ldrsh r1, [r7, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r7, 0x24] - strh r1, [r0, 0x36] - movs r0, 0x26 - ldrsh r1, [r7, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, _080E264C @ =0x0000ffe0 - strh r1, [r0, 0x38] - movs r0, 0x26 - ldrsh r1, [r7, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl sub_8075068 - mov r1, r10 - ldrb r0, [r1] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080E2632 - movs r0, 0x26 - ldrsh r1, [r7, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x1 - bl StartSpriteAffineAnim -_080E2632: - ldr r0, _080E2650 @ =sub_80E2668 - str r0, [r7] - b _080E265A - .align 2, 0 -_080E2638: .4byte gTasks -_080E263C: .4byte gBattleAnimAttacker -_080E2640: .4byte gBattleAnimTarget -_080E2644: .4byte gUnknown_83FF62C -_080E2648: .4byte gSprites -_080E264C: .4byte 0x0000ffe0 -_080E2650: .4byte sub_80E2668 -_080E2654: - mov r0, r9 - bl DestroyAnimVisualTask -_080E265A: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80E2518 - - thumb_func_start sub_80E2668 -sub_80E2668: @ 80E2668 - push {r4,r5,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, _080E268C @ =gTasks - adds r4, r0, r1 - movs r0, 0x8 - ldrsh r1, [r4, r0] - cmp r1, 0x1 - beq _080E26D0 - cmp r1, 0x1 - bgt _080E2690 - cmp r1, 0 - beq _080E269A - b _080E276E - .align 2, 0 -_080E268C: .4byte gTasks -_080E2690: - cmp r1, 0x2 - beq _080E26F4 - cmp r1, 0x3 - beq _080E2768 - b _080E276E -_080E269A: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080E276E - strh r1, [r4, 0xA] - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080E26CC @ =gSprites - adds r0, r1 - bl AnimateBallThrow - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7 - ble _080E276E - b _080E275A - .align 2, 0 -_080E26CC: .4byte gSprites -_080E26D0: - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080E26F0 @ =gSprites - adds r0, r1 - bl AnimateBallThrow - lsls r0, 24 - cmp r0, 0 - beq _080E276E - movs r0, 0 - strh r0, [r4, 0xA] - strh r0, [r4, 0xC] - b _080E275A - .align 2, 0 -_080E26F0: .4byte gSprites -_080E26F4: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080E276E - movs r0, 0 - strh r0, [r4, 0xA] - ldrh r2, [r4, 0xC] - adds r2, 0x1 - strh r2, [r4, 0xC] - ldr r5, _080E2764 @ =gSprites - movs r1, 0x26 - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - movs r0, 0x1 - ands r2, r0 - adds r1, 0x3E - lsls r2, 2 - ldrb r3, [r1] - subs r0, 0x6 - ands r0, r3 - orrs r0, r2 - strb r0, [r1] - movs r1, 0xC - ldrsh r0, [r4, r1] - cmp r0, 0x10 - bne _080E276E - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrb r0, [r0, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - bl DestroySprite -_080E275A: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080E276E - .align 2, 0 -_080E2764: .4byte gSprites -_080E2768: - adds r0, r2, 0 - bl DestroyAnimVisualTask -_080E276E: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80E2668 - - thumb_func_start sub_80E2774 -sub_80E2774: @ 80E2774 - push {r4-r6,lr} - adds r4, r0, 0 - ldr r0, _080E2788 @ =gBattleAnimArgs - movs r2, 0 - ldrsh r1, [r0, r2] - adds r6, r0, 0 - cmp r1, 0 - bne _080E2790 - ldr r0, _080E278C @ =gBattleAnimAttacker - b _080E2792 - .align 2, 0 -_080E2788: .4byte gBattleAnimArgs -_080E278C: .4byte gBattleAnimAttacker -_080E2790: - ldr r0, _080E27F8 @ =gBattleAnimTarget -_080E2792: - ldrb r5, [r0] - ldrh r2, [r4, 0x4] - lsls r1, r2, 22 - lsrs r1, 22 - adds r1, 0x10 - ldr r3, _080E27FC @ =0x000003ff - adds r0, r3, 0 - ands r1, r0 - ldr r0, _080E2800 @ =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r4, 0x4] - adds r1, r6, 0 - ldrh r0, [r1, 0x4] - strh r0, [r4, 0x3A] - movs r2, 0x2 - ldrsh r0, [r1, r2] - movs r1, 0x1 - cmp r0, 0 - bne _080E27C0 - movs r3, 0x1 - negs r3, r3 - adds r1, r3, 0 -_080E27C0: - strh r1, [r4, 0x3C] - adds r0, r5, 0 - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x22] - movs r1, 0x2 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _080E2804 - ldrb r2, [r4, 0x3] - lsls r1, r2, 26 - lsrs r1, 27 - movs r0, 0x8 - orrs r1, r0 - lsls r1, 1 - subs r0, 0x47 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x3] - adds r0, r5, 0 - movs r1, 0x4 - bl sub_8076B2C - subs r0, 0x8 - b _080E280E - .align 2, 0 -_080E27F8: .4byte gBattleAnimTarget -_080E27FC: .4byte 0x000003ff -_080E2800: .4byte 0xfffffc00 -_080E2804: - adds r0, r5, 0 - movs r1, 0x5 - bl sub_8076B2C - adds r0, 0x8 -_080E280E: - strh r0, [r4, 0x20] - ldr r0, _080E281C @ =sub_80E2820 - str r0, [r4, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080E281C: .4byte sub_80E2820 - thumb_func_end sub_80E2774 - - thumb_func_start sub_80E2820 -sub_80E2820: @ 80E2820 - push {lr} - adds r2, r0, 0 - movs r0, 0x2E - ldrsh r1, [r2, r0] - cmp r1, 0x1 - beq _080E2868 - cmp r1, 0x1 - bgt _080E2836 - cmp r1, 0 - beq _080E2840 - b _080E28D8 -_080E2836: - cmp r1, 0x2 - beq _080E2878 - cmp r1, 0x3 - beq _080E289E - b _080E28D8 -_080E2840: - ldrh r0, [r2, 0x30] - adds r0, 0x1 - strh r0, [r2, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080E28D8 - strh r1, [r2, 0x30] - ldrh r0, [r2, 0x3C] - ldrh r1, [r2, 0x24] - adds r0, r1 - strh r0, [r2, 0x24] - ldrh r0, [r2, 0x32] - adds r0, 0x1 - strh r0, [r2, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xC - bne _080E28D8 - b _080E2896 -_080E2868: - ldrh r0, [r2, 0x30] - adds r0, 0x1 - strh r0, [r2, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x8 - bne _080E28D8 - b _080E2892 -_080E2878: - movs r0, 0x3C - ldrsh r1, [r2, r0] - lsls r1, 2 - ldrh r0, [r2, 0x24] - subs r0, r1 - strh r0, [r2, 0x24] - ldrh r0, [r2, 0x30] - adds r0, 0x1 - strh r0, [r2, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x6 - bne _080E28D8 -_080E2892: - movs r0, 0 - strh r0, [r2, 0x30] -_080E2896: - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] - b _080E28D8 -_080E289E: - movs r0, 0x3C - ldrsh r1, [r2, r0] - lsls r0, r1, 1 - adds r0, r1 - ldrh r1, [r2, 0x24] - adds r0, r1 - strh r0, [r2, 0x24] - ldrh r0, [r2, 0x30] - adds r0, 0x1 - strh r0, [r2, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x8 - bne _080E28D8 - ldrh r0, [r2, 0x3A] - subs r0, 0x1 - strh r0, [r2, 0x3A] - lsls r0, 16 - cmp r0, 0 - beq _080E28D2 - movs r0, 0 - strh r0, [r2, 0x30] - ldrh r0, [r2, 0x2E] - subs r0, 0x1 - strh r0, [r2, 0x2E] - b _080E28D8 -_080E28D2: - adds r0, r2, 0 - bl DestroyAnimSprite -_080E28D8: - pop {r0} - bx r0 - thumb_func_end sub_80E2820 - - thumb_func_start sub_80E28DC -sub_80E28DC: @ 80E28DC - push {r4,lr} - lsls r0, 24 - lsrs r1, r0, 24 - ldr r2, _080E28F4 @ =gBattleAnimArgs - movs r3, 0 - ldrsh r0, [r2, r3] - cmp r0, 0 - bne _080E28F8 - adds r0, r1, 0 - bl DestroyAnimVisualTask - b _080E2920 - .align 2, 0 -_080E28F4: .4byte gBattleAnimArgs -_080E28F8: - ldr r0, _080E2928 @ =gTasks - lsls r4, r1, 2 - adds r4, r1 - lsls r4, 3 - adds r4, r0 - ldrh r0, [r2, 0x2] - strh r0, [r4, 0x8] - ldrb r0, [r2] - bl GetAnimBankSpriteId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - strh r1, [r4, 0x26] - ldr r2, _080E292C @ =gUnknown_83FF65C - adds r0, r4, 0 - bl sub_80762D0 - ldr r0, _080E2930 @ =sub_80E2934 - str r0, [r4] -_080E2920: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E2928: .4byte gTasks -_080E292C: .4byte gUnknown_83FF65C -_080E2930: .4byte sub_80E2934 - thumb_func_end sub_80E28DC - - thumb_func_start sub_80E2934 -sub_80E2934: @ 80E2934 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, _080E2974 @ =gTasks - adds r4, r0, r1 - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080E298E - movs r0, 0 - strh r0, [r4, 0xA] - ldrh r1, [r4, 0xC] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080E297C - ldr r2, _080E2978 @ =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x2 - b _080E298C - .align 2, 0 -_080E2974: .4byte gTasks -_080E2978: .4byte gSprites -_080E297C: - ldr r2, _080E29D4 @ =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r1, _080E29D8 @ =0x0000fffe -_080E298C: - strh r1, [r0, 0x24] -_080E298E: - adds r0, r4, 0 - bl sub_8076308 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _080E29EA - ldr r2, _080E29D4 @ =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r5, [r0, 0x24] - ldrh r0, [r4, 0x8] - subs r0, 0x1 - strh r0, [r4, 0x8] - lsls r0, 16 - cmp r0, 0 - beq _080E29E4 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, _080E29DC @ =gTasks - adds r0, r1 - ldrh r1, [r0, 0x26] - lsls r1, 24 - lsrs r1, 24 - ldr r2, _080E29E0 @ =gUnknown_83FF65C - bl sub_80762D0 - strh r5, [r4, 0xA] - strh r5, [r4, 0xC] - b _080E29EA - .align 2, 0 -_080E29D4: .4byte gSprites -_080E29D8: .4byte 0x0000fffe -_080E29DC: .4byte gTasks -_080E29E0: .4byte gUnknown_83FF65C -_080E29E4: - adds r0, r6, 0 - bl DestroyAnimVisualTask -_080E29EA: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80E2934 - - thumb_func_start sub_80E29F0 -sub_80E29F0: @ 80E29F0 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, _080E2A04 @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080E2A0C - ldr r4, _080E2A08 @ =gBattleAnimAttacker - b _080E2A0E - .align 2, 0 -_080E2A04: .4byte gBattleAnimArgs -_080E2A08: .4byte gBattleAnimAttacker -_080E2A0C: - ldr r4, _080E2A4C @ =gBattleAnimTarget -_080E2A0E: - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8076B2C - strh r0, [r5, 0x22] - movs r1, 0x22 - ldrsh r0, [r5, r1] - cmp r0, 0x7 - bgt _080E2A32 - movs r0, 0x8 - strh r0, [r5, 0x22] -_080E2A32: - movs r2, 0 - strh r2, [r5, 0x2E] - ldr r1, _080E2A50 @ =gBattleAnimArgs - ldrh r0, [r1, 0x2] - strh r0, [r5, 0x30] - strh r2, [r5, 0x32] - ldrh r0, [r1, 0x4] - strh r0, [r5, 0x34] - ldr r0, _080E2A54 @ =sub_80E2A58 - str r0, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E2A4C: .4byte gBattleAnimTarget -_080E2A50: .4byte gBattleAnimArgs -_080E2A54: .4byte sub_80E2A58 - thumb_func_end sub_80E29F0 - - thumb_func_start sub_80E2A58 -sub_80E2A58: @ 80E2A58 - push {lr} - adds r3, r0, 0 - ldrh r0, [r3, 0x2E] - adds r0, 0x1 - strh r0, [r3, 0x2E] - lsls r0, 16 - asrs r0, 16 - movs r2, 0x30 - ldrsh r1, [r3, r2] - cmp r0, r1 - blt _080E2AAC - movs r0, 0 - strh r0, [r3, 0x2E] - ldrh r1, [r3, 0x32] - adds r1, 0x1 - movs r0, 0x1 - ands r1, r0 - strh r1, [r3, 0x32] - movs r0, 0x3E - adds r0, r3 - mov r12, r0 - lsls r1, 2 - ldrb r2, [r0] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - mov r1, r12 - strb r0, [r1] - movs r2, 0x32 - ldrsh r0, [r3, r2] - cmp r0, 0 - beq _080E2AAC - ldrh r0, [r3, 0x34] - subs r0, 0x1 - strh r0, [r3, 0x34] - lsls r0, 16 - cmp r0, 0 - bne _080E2AAC - adds r0, r3, 0 - bl DestroyAnimSprite -_080E2AAC: - pop {r0} - bx r0 - thumb_func_end sub_80E2A58 - - thumb_func_start sub_80E2AB0 -sub_80E2AB0: @ 80E2AB0 - push {lr} - adds r3, r0, 0 - ldr r0, _080E2ADC @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080E2AE0 - ldrb r2, [r3, 0x3] - lsls r1, r2, 26 - lsrs r1, 27 - movs r0, 0x8 - orrs r1, r0 - lsls r1, 1 - subs r0, 0x47 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x3] - movs r0, 0x64 - strh r0, [r3, 0x20] - movs r0, 0x1 - b _080E2AE6 - .align 2, 0 -_080E2ADC: .4byte gBattleAnimArgs -_080E2AE0: - movs r0, 0x8C - strh r0, [r3, 0x20] - ldr r0, _080E2AF4 @ =0x0000ffff -_080E2AE6: - strh r0, [r3, 0x3C] - movs r0, 0x38 - strh r0, [r3, 0x22] - ldr r0, _080E2AF8 @ =sub_80E2AFC - str r0, [r3, 0x1C] - pop {r0} - bx r0 - .align 2, 0 -_080E2AF4: .4byte 0x0000ffff -_080E2AF8: .4byte sub_80E2AFC - thumb_func_end sub_80E2AB0 - - thumb_func_start sub_80E2AFC -sub_80E2AFC: @ 80E2AFC - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x8 - bls _080E2B0A - b _080E2CDC -_080E2B0A: - lsls r0, 2 - ldr r1, _080E2B14 @ =_080E2B18 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080E2B14: .4byte _080E2B18 - .align 2, 0 -_080E2B18: - .4byte _080E2B3C - .4byte _080E2B6E - .4byte _080E2B80 - .4byte _080E2BC0 - .4byte _080E2BD2 - .4byte _080E2C10 - .4byte _080E2C74 - .4byte _080E2C94 - .4byte _080E2CBA -_080E2B3C: - movs r3, 0x3C - ldrsh r0, [r4, r3] - lsls r0, 1 - ldrh r1, [r4, 0x22] - subs r1, r0 - strh r1, [r4, 0x22] - ldrh r2, [r4, 0x30] - movs r0, 0x1 - ands r0, r2 - cmp r0, 0 - beq _080E2B5E - movs r0, 0x3C - ldrsh r1, [r4, r0] - lsls r1, 1 - ldrh r0, [r4, 0x20] - subs r0, r1 - strh r0, [r4, 0x20] -_080E2B5E: - adds r0, r2, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x9 - beq _080E2B6C - b _080E2CDC -_080E2B6C: - b _080E2CAE -_080E2B6E: - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - beq _080E2B7E - b _080E2CDC -_080E2B7E: - b _080E2CAE -_080E2B80: - ldrh r2, [r4, 0x30] - adds r2, 0x1 - strh r2, [r4, 0x30] - movs r3, 0x3C - ldrsh r1, [r4, r3] - lsls r0, r1, 1 - adds r0, r1 - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - ldr r3, _080E2BBC @ =gSineTable - movs r0, 0x30 - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r0, [r0] - lsls r0, 16 - asrs r0, 19 - ldrh r1, [r4, 0x3C] - muls r0, r1 - strh r0, [r4, 0x24] - lsls r2, 16 - asrs r2, 16 - cmp r2, 0xC - beq _080E2BB8 - b _080E2CDC -_080E2BB8: - b _080E2CAE - .align 2, 0 -_080E2BBC: .4byte gSineTable -_080E2BC0: - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - beq _080E2BD0 - b _080E2CDC -_080E2BD0: - b _080E2CAE -_080E2BD2: - ldrh r2, [r4, 0x30] - adds r2, 0x1 - strh r2, [r4, 0x30] - movs r1, 0x3C - ldrsh r0, [r4, r1] - lsls r1, r0, 1 - adds r1, r0 - ldrh r0, [r4, 0x22] - subs r0, r1 - strh r0, [r4, 0x22] - ldr r3, _080E2C0C @ =gSineTable - movs r0, 0x30 - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r0, [r0] - lsls r0, 16 - asrs r0, 19 - ldrh r1, [r4, 0x3C] - muls r0, r1 - strh r0, [r4, 0x24] - lsls r2, 16 - asrs r2, 16 - cmp r2, 0xC - bne _080E2CDC - b _080E2CB2 - .align 2, 0 -_080E2C0C: .4byte gSineTable -_080E2C10: - ldrh r2, [r4, 0x30] - adds r2, 0x1 - strh r2, [r4, 0x30] - movs r3, 0x3C - ldrsh r1, [r4, r3] - lsls r0, r1, 1 - adds r0, r1 - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - ldr r3, _080E2C68 @ =gSineTable - movs r0, 0x30 - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r0, [r0] - lsls r0, 16 - asrs r0, 19 - ldrh r1, [r4, 0x3C] - muls r0, r1 - strh r0, [r4, 0x24] - lsls r2, 16 - asrs r2, 16 - cmp r2, 0xF - bne _080E2C5C - ldrh r2, [r4, 0x4] - lsls r1, r2, 22 - lsrs r1, 22 - adds r1, 0x10 - ldr r3, _080E2C6C @ =0x000003ff - adds r0, r3, 0 - ands r1, r0 - ldr r0, _080E2C70 @ =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r4, 0x4] -_080E2C5C: - movs r1, 0x30 - ldrsh r0, [r4, r1] - cmp r0, 0x12 - bne _080E2CDC - b _080E2CAE - .align 2, 0 -_080E2C68: .4byte gSineTable -_080E2C6C: .4byte 0x000003ff -_080E2C70: .4byte 0xfffffc00 -_080E2C74: - movs r3, 0x3C - ldrsh r0, [r4, r3] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 1 - ldrh r0, [r4, 0x20] - adds r1, r0 - strh r1, [r4, 0x20] - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x9 - bne _080E2CDC - b _080E2CAE -_080E2C94: - movs r1, 0x3C - ldrsh r0, [r4, r1] - lsls r0, 1 - ldrh r3, [r4, 0x20] - adds r0, r3 - strh r0, [r4, 0x20] - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - bne _080E2CDC -_080E2CAE: - movs r0, 0 - strh r0, [r4, 0x30] -_080E2CB2: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _080E2CDC -_080E2CBA: - movs r1, 0x3C - ldrsh r0, [r4, r1] - lsls r1, r0, 1 - adds r1, r0 - ldrh r0, [r4, 0x20] - subs r0, r1 - strh r0, [r4, 0x20] - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - bne _080E2CDC - adds r0, r4, 0 - bl DestroyAnimSprite -_080E2CDC: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80E2AFC - - thumb_func_start sub_80E2CE4 -sub_80E2CE4: @ 80E2CE4 - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _080E2D34 @ =gTasks - adds r6, r1, r0 - movs r0, 0 - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x26] - bl sub_8075290 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x1 - bne _080E2D44 - ldr r5, _080E2D38 @ =gBattleAnimAttacker - ldrb r0, [r5] - movs r1, 0 - bl sub_8074480 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldrb r1, [r5] - movs r0, 0x2 - eors r0, r1 - movs r1, 0 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - ble _080E2D3C - strh r7, [r6, 0x24] - b _080E2D64 - .align 2, 0 -_080E2D34: .4byte gTasks -_080E2D38: .4byte gBattleAnimAttacker -_080E2D3C: - ldr r0, _080E2D40 @ =0x0000ffff - b _080E2D62 - .align 2, 0 -_080E2D40: .4byte 0x0000ffff -_080E2D44: - ldr r0, _080E2D58 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080E2D60 - ldr r0, _080E2D5C @ =0x0000ffff - b _080E2D62 - .align 2, 0 -_080E2D58: .4byte gBattleAnimAttacker -_080E2D5C: .4byte 0x0000ffff -_080E2D60: - movs r0, 0x1 -_080E2D62: - strh r0, [r6, 0x24] -_080E2D64: - ldr r0, _080E2D70 @ =sub_80E2D74 - str r0, [r6] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E2D70: .4byte sub_80E2D74 - thumb_func_end sub_80E2CE4 - - thumb_func_start sub_80E2D74 -sub_80E2D74: @ 80E2D74 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _080E2D98 @ =gTasks - adds r3, r0, r1 - movs r1, 0x8 - ldrsh r0, [r3, r1] - cmp r0, 0x8 - bls _080E2D8E - b _080E2F08 -_080E2D8E: - lsls r0, 2 - ldr r1, _080E2D9C @ =_080E2DA0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080E2D98: .4byte gTasks -_080E2D9C: .4byte _080E2DA0 - .align 2, 0 -_080E2DA0: - .4byte _080E2DC4 - .4byte _080E2DD6 - .4byte _080E2E08 - .4byte _080E2E38 - .4byte _080E2E5E - .4byte _080E2E88 - .4byte _080E2E98 - .4byte _080E2EB8 - .4byte _080E2EF0 -_080E2DC4: - ldrh r0, [r3, 0xA] - adds r0, 0x1 - strh r0, [r3, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xD - beq _080E2DD4 - b _080E2F08 -_080E2DD4: - b _080E2EE0 -_080E2DD6: - ldr r2, _080E2E04 @ =gSprites - movs r1, 0x26 - ldrsh r0, [r3, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r2, 0x24 - ldrsh r0, [r3, r2] - lsls r2, r0, 1 - adds r2, r0 - ldrh r0, [r1, 0x24] - subs r0, r2 - strh r0, [r1, 0x24] - ldrh r0, [r3, 0xA] - adds r0, 0x1 - strh r0, [r3, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x6 - beq _080E2E02 - b _080E2F08 -_080E2E02: - b _080E2EE0 - .align 2, 0 -_080E2E04: .4byte gSprites -_080E2E08: - ldr r2, _080E2E34 @ =gSprites - movs r1, 0x26 - ldrsh r0, [r3, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x24 - ldrsh r2, [r3, r0] - lsls r0, r2, 1 - adds r0, r2 - ldrh r2, [r1, 0x24] - adds r0, r2 - strh r0, [r1, 0x24] - ldrh r0, [r3, 0xA] - adds r0, 0x1 - strh r0, [r3, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x6 - bne _080E2F08 - b _080E2EE0 - .align 2, 0 -_080E2E34: .4byte gSprites -_080E2E38: - ldrh r0, [r3, 0xA] - adds r0, 0x1 - strh r0, [r3, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - bne _080E2F08 - movs r0, 0 - strh r0, [r3, 0xA] - ldrh r1, [r3, 0xC] - movs r2, 0xC - ldrsh r0, [r3, r2] - cmp r0, 0 - bne _080E2EE4 - adds r0, r1, 0x1 - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0x8] - b _080E2F08 -_080E2E5E: - ldr r2, _080E2E84 @ =gSprites - movs r0, 0x26 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r3, 0x24] - ldrh r2, [r0, 0x24] - adds r1, r2 - strh r1, [r0, 0x24] - ldrh r0, [r3, 0xA] - adds r0, 0x1 - strh r0, [r3, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - bne _080E2F08 - b _080E2EE0 - .align 2, 0 -_080E2E84: .4byte gSprites -_080E2E88: - ldrh r0, [r3, 0xA] - adds r0, 0x1 - strh r0, [r3, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x6 - bne _080E2F08 - b _080E2EE0 -_080E2E98: - ldr r2, _080E2EB4 @ =gSprites - movs r1, 0x26 - ldrsh r0, [r3, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x24 - ldrsh r2, [r3, r0] - lsls r2, 2 - ldrh r0, [r1, 0x24] - subs r0, r2 - b _080E2ED0 - .align 2, 0 -_080E2EB4: .4byte gSprites -_080E2EB8: - ldr r2, _080E2EEC @ =gSprites - movs r1, 0x26 - ldrsh r0, [r3, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r2, 0x24 - ldrsh r0, [r3, r2] - lsls r0, 2 - ldrh r2, [r1, 0x24] - adds r0, r2 -_080E2ED0: - strh r0, [r1, 0x24] - ldrh r0, [r3, 0xA] - adds r0, 0x1 - strh r0, [r3, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - bne _080E2F08 -_080E2EE0: - movs r0, 0 - strh r0, [r3, 0xA] -_080E2EE4: - ldrh r0, [r3, 0x8] - adds r0, 0x1 - strh r0, [r3, 0x8] - b _080E2F08 - .align 2, 0 -_080E2EEC: .4byte gSprites -_080E2EF0: - ldr r2, _080E2F10 @ =gSprites - movs r0, 0x26 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0 - strh r1, [r0, 0x24] - adds r0, r4, 0 - bl DestroyAnimVisualTask -_080E2F08: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E2F10: .4byte gSprites - thumb_func_end sub_80E2D74 - - thumb_func_start sub_80E2F14 -sub_80E2F14: @ 80E2F14 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _080E2F30 @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080E2F38 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_8075160 - ldr r0, _080E2F34 @ =gBattleAnimAttacker - b _080E2F3A - .align 2, 0 -_080E2F30: .4byte gBattleAnimArgs -_080E2F34: .4byte gBattleAnimAttacker -_080E2F38: - ldr r0, _080E2F90 @ =gBattleAnimTarget -_080E2F3A: - ldrb r0, [r0] - strh r0, [r4, 0x3C] - ldrh r0, [r4, 0x3C] - lsls r0, 24 - lsrs r0, 24 - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080E2F5E - ldrb r0, [r4, 0x3] - movs r1, 0x3F - negs r1, r1 - ands r1, r0 - movs r0, 0x10 - orrs r1, r0 - strb r1, [r4, 0x3] -_080E2F5E: - ldrh r0, [r4, 0x3C] - lsls r0, 24 - lsrs r0, 24 - bl sub_8076884 - movs r2, 0x3 - ands r2, r0 - lsls r2, 2 - ldrb r3, [r4, 0x5] - movs r1, 0xD - negs r1, r1 - adds r0, r1, 0 - ands r0, r3 - orrs r0, r2 - strb r0, [r4, 0x5] - ldrb r0, [r4, 0x1] - ands r1, r0 - movs r0, 0x4 - orrs r1, r0 - strb r1, [r4, 0x1] - ldr r0, _080E2F94 @ =sub_80E2F98 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E2F90: .4byte gBattleAnimTarget -_080E2F94: .4byte sub_80E2F98 - thumb_func_end sub_80E2F14 - - thumb_func_start sub_80E2F98 -sub_80E2F98: @ 80E2F98 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x38 - ldrsh r0, [r4, r1] - cmp r0, 0x4 - bls _080E2FA6 - b _080E3196 -_080E2FA6: - lsls r0, 2 - ldr r1, _080E2FB0 @ =_080E2FB4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080E2FB0: .4byte _080E2FB4 - .align 2, 0 -_080E2FB4: - .4byte _080E2FC8 - .4byte _080E30C8 - .4byte _080E3130 - .4byte _080E3144 - .4byte _080E3190 -_080E2FC8: - movs r2, 0x3A - ldrsh r0, [r4, r2] - cmp r0, 0x5 - bhi _080E2FF8 - lsls r0, 2 - ldr r1, _080E2FDC @ =_080E2FE0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080E2FDC: .4byte _080E2FE0 - .align 2, 0 -_080E2FE0: - .4byte _080E2FFC - .4byte _080E3018 - .4byte _080E303A - .4byte _080E3056 - .4byte _080E2FFC - .4byte _080E307C -_080E2FF8: - movs r0, 0 - strh r0, [r4, 0x3A] -_080E2FFC: - ldrh r0, [r4, 0x3C] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x5 - bl sub_8076B2C - subs r0, 0x4 - lsls r0, 16 - lsrs r5, r0, 16 - ldrh r0, [r4, 0x3C] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x3 - b _080E3070 -_080E3018: - ldrh r0, [r4, 0x3C] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x5 - bl sub_8076B2C - subs r0, 0x4 - lsls r0, 16 - lsrs r5, r0, 16 - ldrh r0, [r4, 0x3C] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - bl sub_8076B2C - adds r0, 0x4 - b _080E3076 -_080E303A: - ldrh r0, [r4, 0x3C] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x4 - bl sub_8076B2C - adds r0, 0x4 - lsls r0, 16 - lsrs r5, r0, 16 - ldrh r0, [r4, 0x3C] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x3 - b _080E3070 -_080E3056: - ldrh r0, [r4, 0x3C] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x4 - bl sub_8076B2C - adds r0, 0x4 - lsls r0, 16 - lsrs r5, r0, 16 - ldrh r0, [r4, 0x3C] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 -_080E3070: - bl sub_8076B2C - subs r0, 0x4 -_080E3076: - lsls r0, 16 - lsrs r1, r0, 16 - b _080E309C -_080E307C: - ldrh r0, [r4, 0x3C] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r5, r0, 24 - ldrh r0, [r4, 0x3C] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r1, r0, 24 -_080E309C: - movs r2, 0x3A - ldrsh r0, [r4, r2] - cmp r0, 0x4 - bne _080E30A8 - movs r0, 0x18 - b _080E30B2 -_080E30A8: - cmp r0, 0x5 - bne _080E30B0 - movs r0, 0x6 - b _080E30B2 -_080E30B0: - movs r0, 0xC -_080E30B2: - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x20] - strh r0, [r4, 0x30] - strh r5, [r4, 0x32] - ldrh r0, [r4, 0x22] - strh r0, [r4, 0x34] - strh r1, [r4, 0x36] - adds r0, r4, 0 - bl obj_translate_based_on_private_1_2_3_4 - b _080E3188 -_080E30C8: - adds r0, r4, 0 - bl sub_80755E0 - lsls r0, 24 - cmp r0, 0 - beq _080E3196 - movs r1, 0x3A - ldrsh r0, [r4, r1] - cmp r0, 0x4 - beq _080E3100 - cmp r0, 0x5 - beq _080E3120 - ldrh r0, [r4, 0x24] - ldrh r2, [r4, 0x20] - adds r0, r2 - movs r1, 0 - strh r0, [r4, 0x20] - ldrh r0, [r4, 0x26] - ldrh r2, [r4, 0x22] - adds r0, r2 - strh r0, [r4, 0x22] - strh r1, [r4, 0x26] - strh r1, [r4, 0x24] - strh r1, [r4, 0x2E] - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - b _080E3118 -_080E3100: - ldrh r0, [r4, 0x24] - ldrh r1, [r4, 0x20] - adds r0, r1 - movs r1, 0 - strh r0, [r4, 0x20] - ldrh r0, [r4, 0x26] - ldrh r2, [r4, 0x22] - adds r0, r2 - strh r0, [r4, 0x22] - strh r1, [r4, 0x26] - strh r1, [r4, 0x24] - strh r1, [r4, 0x38] -_080E3118: - ldrh r0, [r4, 0x3A] - adds r0, 0x1 - strh r0, [r4, 0x3A] - b _080E3196 -_080E3120: - movs r0, 0 - strh r0, [r4, 0x2E] - movs r1, 0x10 - strh r1, [r4, 0x30] - strh r0, [r4, 0x32] - movs r0, 0x3 - strh r0, [r4, 0x38] - b _080E3196 -_080E3130: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - bne _080E3196 - movs r0, 0 - strh r0, [r4, 0x38] - b _080E3196 -_080E3144: - ldrh r1, [r4, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080E3156 - ldrh r0, [r4, 0x30] - subs r0, 0x1 - strh r0, [r4, 0x30] - b _080E315C -_080E3156: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] -_080E315C: - ldrh r1, [r4, 0x32] - lsls r1, 8 - ldrh r0, [r4, 0x30] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x20 - bne _080E3196 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] -_080E3188: - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - b _080E3196 -_080E3190: - adds r0, r4, 0 - bl DestroyAnimSprite -_080E3196: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80E2F98 - - thumb_func_start sub_80E319C -sub_80E319C: @ 80E319C - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - movs r2, 0x2E - ldrsh r1, [r4, r2] - subs r0, r1 - movs r2, 0x38 - ldrsh r1, [r4, r2] - muls r0, r1 - movs r2, 0x36 - ldrsh r1, [r4, r2] - bl __divsi3 - adds r5, r0, 0 - strh r5, [r4, 0x24] - movs r1, 0x34 - ldrsh r0, [r4, r1] - movs r2, 0x30 - ldrsh r1, [r4, r2] - subs r0, r1 - movs r2, 0x38 - ldrsh r1, [r4, r2] - muls r0, r1 - movs r2, 0x36 - ldrsh r1, [r4, r2] - bl __divsi3 - adds r3, r0, 0 - strh r3, [r4, 0x26] - ldrh r1, [r4, 0x38] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080E31FA - ldr r0, _080E3218 @ =gUnknown_83FF180 - ldrh r1, [r4, 0x20] - adds r1, r5 - lsls r1, 16 - asrs r1, 16 - ldrh r2, [r4, 0x22] - adds r2, r3 - lsls r2, 16 - asrs r2, 16 - movs r3, 0x5 - bl CreateSprite -_080E31FA: - movs r0, 0x38 - ldrsh r1, [r4, r0] - movs r2, 0x36 - ldrsh r0, [r4, r2] - cmp r1, r0 - bne _080E320C - adds r0, r4, 0 - bl DestroyAnimSprite -_080E320C: - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E3218: .4byte gUnknown_83FF180 - thumb_func_end sub_80E319C - - thumb_func_start sub_80E321C -sub_80E321C: @ 80E321C - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, _080E3250 @ =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8074480 - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080E3258 - ldr r2, _080E3254 @ =gBattleAnimArgs - ldrh r1, [r5, 0x20] - ldrh r0, [r2] - subs r0, r1, r0 - strh r0, [r5, 0x2E] - ldrh r0, [r2, 0x4] - subs r1, r0 - b _080E3266 - .align 2, 0 -_080E3250: .4byte gBattleAnimTarget -_080E3254: .4byte gBattleAnimArgs -_080E3258: - ldr r2, _080E328C @ =gBattleAnimArgs - ldrh r1, [r5, 0x20] - ldrh r0, [r2] - adds r0, r1, r0 - strh r0, [r5, 0x2E] - ldrh r0, [r2, 0x4] - adds r1, r0 -_080E3266: - strh r1, [r5, 0x32] - adds r3, r2, 0 - ldrh r1, [r5, 0x22] - ldrh r2, [r3, 0x2] - adds r2, r1, r2 - strh r2, [r5, 0x30] - ldrh r0, [r3, 0x6] - adds r1, r0 - strh r1, [r5, 0x34] - ldrh r0, [r3, 0x8] - strh r0, [r5, 0x36] - ldrh r0, [r5, 0x2E] - strh r0, [r5, 0x20] - strh r2, [r5, 0x22] - ldr r0, _080E3290 @ =sub_80E319C - str r0, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E328C: .4byte gBattleAnimArgs -_080E3290: .4byte sub_80E319C - thumb_func_end sub_80E321C - - thumb_func_start sub_80E3294 -sub_80E3294: @ 80E3294 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r6, r0, 24 - movs r0, 0 - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r5, r0, 24 - adds r2, r5, 0 - ldr r0, _080E32D8 @ =gTasks - mov r9, r0 - lsls r7, r6, 2 - adds r0, r7, r6 - lsls r0, 3 - mov r8, r0 - mov r4, r8 - add r4, r9 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080E32DC - adds r0, r5, 0 - movs r1, 0 - bl sub_80758E0 - movs r0, 0x80 - lsls r0, 1 - strh r0, [r4, 0xA] - strh r0, [r4, 0xC] - b _080E3328 - .align 2, 0 -_080E32D8: .4byte gTasks -_080E32DC: - cmp r0, 0x1 - bne _080E3334 - ldrh r0, [r4, 0xA] - adds r0, 0x60 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0xC] - subs r0, 0xD - strh r0, [r4, 0xC] - movs r2, 0xA - ldrsh r1, [r4, r2] - movs r0, 0xC - ldrsh r2, [r4, r0] - adds r0, r5, 0 - movs r3, 0 - bl obj_id_set_rotscale - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x9 - bne _080E3360 - movs r0, 0 - strh r0, [r4, 0xE] - adds r0, r5, 0 - bl sub_8075980 - ldr r1, _080E3330 @ =gSprites - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - adds r0, r1 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_080E3328: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080E3360 - .align 2, 0 -_080E3330: .4byte gSprites -_080E3334: - ldr r0, _080E336C @ =gBattleAnimAttacker - ldrb r0, [r0] - movs r1, 0 - bl LoadBattleMonGfxAndAnimate - adds r3, r7, 0 - mov r4, r9 - movs r1, 0xF - mov r2, r8 - adds r0, r4, r2 - adds r0, 0x26 - movs r2, 0 -_080E334C: - strh r2, [r0] - subs r0, 0x2 - subs r1, 0x1 - cmp r1, 0 - bge _080E334C - adds r0, r3, r6 - lsls r0, 3 - adds r0, r4 - ldr r1, _080E3370 @ =sub_80E3374 - str r1, [r0] -_080E3360: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E336C: .4byte gBattleAnimAttacker -_080E3370: .4byte sub_80E3374 - thumb_func_end sub_80E3294 - - thumb_func_start sub_80E3374 -sub_80E3374: @ 80E3374 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - movs r0, 0 - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r3, r0, 24 - ldr r1, _080E33A0 @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r4, r0, r1 - movs r0, 0x8 - ldrsh r5, [r4, r0] - cmp r5, 0x1 - beq _080E33D8 - cmp r5, 0x1 - bgt _080E33A4 - cmp r5, 0 - beq _080E33AE - b _080E34C6 - .align 2, 0 -_080E33A0: .4byte gTasks -_080E33A4: - cmp r5, 0x2 - beq _080E3444 - cmp r5, 0x3 - beq _080E3480 - b _080E34C6 -_080E33AE: - ldr r0, _080E33D0 @ =gSprites - lsls r1, r3, 4 - adds r1, r3 - lsls r1, 2 - adds r1, r0 - ldr r0, _080E33D4 @ =0x0000ff38 - strh r0, [r1, 0x26] - movs r0, 0xC8 - strh r0, [r1, 0x24] - adds r1, 0x3E - ldrb r2, [r1] - subs r0, 0xCD - ands r0, r2 - strb r0, [r1] - strh r5, [r4, 0x1C] - b _080E3472 - .align 2, 0 -_080E33D0: .4byte gSprites -_080E33D4: .4byte 0x0000ff38 -_080E33D8: - ldrh r1, [r4, 0x1C] - adds r1, 0x70 - movs r5, 0 - strh r1, [r4, 0x1C] - ldr r2, _080E343C @ =gSprites - lsls r0, r3, 4 - adds r0, r3 - lsls r0, 2 - adds r2, r0, r2 - lsls r1, 16 - asrs r1, 24 - ldrh r3, [r2, 0x26] - adds r1, r3 - strh r1, [r2, 0x26] - movs r1, 0x22 - ldrsh r0, [r2, r1] - movs r3, 0x26 - ldrsh r1, [r2, r3] - adds r0, r1 - movs r1, 0x20 - negs r1, r1 - cmp r0, r1 - blt _080E3408 - strh r5, [r2, 0x24] -_080E3408: - movs r1, 0x26 - ldrsh r0, [r2, r1] - cmp r0, 0 - ble _080E3412 - strh r5, [r2, 0x26] -_080E3412: - movs r3, 0x26 - ldrsh r0, [r2, r3] - cmp r0, 0 - bne _080E34C6 - movs r0, 0x40 - negs r0, r0 - bl sub_8073A44 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 24 - movs r0, 0x76 - bl PlaySE12WithPanning - ldr r1, _080E3440 @ =0xfffff800 - adds r0, r1, 0 - ldrh r2, [r4, 0x1C] - adds r0, r2 - strh r0, [r4, 0x1C] - b _080E3472 - .align 2, 0 -_080E343C: .4byte gSprites -_080E3440: .4byte 0xfffff800 -_080E3444: - ldrh r0, [r4, 0x1C] - subs r0, 0x70 - strh r0, [r4, 0x1C] - lsls r0, 16 - cmp r0, 0 - bge _080E3454 - movs r0, 0 - strh r0, [r4, 0x1C] -_080E3454: - ldr r0, _080E347C @ =gSprites - lsls r1, r3, 4 - adds r1, r3 - lsls r1, 2 - adds r1, r0 - ldrh r2, [r4, 0x1C] - lsls r2, 16 - asrs r2, 24 - ldrh r0, [r1, 0x26] - subs r0, r2 - strh r0, [r1, 0x26] - movs r3, 0x1C - ldrsh r0, [r4, r3] - cmp r0, 0 - bne _080E34C6 -_080E3472: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080E34C6 - .align 2, 0 -_080E347C: .4byte gSprites -_080E3480: - ldrh r0, [r4, 0x1C] - adds r0, 0x70 - strh r0, [r4, 0x1C] - ldr r2, _080E34CC @ =gSprites - lsls r1, r3, 4 - adds r1, r3 - lsls r1, 2 - adds r1, r2 - lsls r0, 16 - asrs r0, 24 - ldrh r2, [r1, 0x26] - adds r0, r2 - strh r0, [r1, 0x26] - lsls r0, 16 - cmp r0, 0 - ble _080E34A4 - movs r0, 0 - strh r0, [r1, 0x26] -_080E34A4: - movs r3, 0x26 - ldrsh r0, [r1, r3] - cmp r0, 0 - bne _080E34C6 - movs r0, 0x40 - negs r0, r0 - bl sub_8073A44 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 24 - movs r0, 0x76 - bl PlaySE12WithPanning - adds r0, r6, 0 - bl DestroyAnimVisualTask -_080E34C6: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080E34CC: .4byte gSprites - thumb_func_end sub_80E3374 - - thumb_func_start sub_80E34D0 -sub_80E34D0: @ 80E34D0 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, _080E34F4 @ =gBattleAnimTarget - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080E34FC - ldrb r0, [r4] - bl sub_807685C - subs r0, 0x2 - adds r1, r5, 0 - adds r1, 0x43 - strb r0, [r1] - ldr r4, _080E34F8 @ =0x0000ff70 - b _080E350C - .align 2, 0 -_080E34F4: .4byte gBattleAnimTarget -_080E34F8: .4byte 0x0000ff70 -_080E34FC: - ldrb r0, [r4] - bl sub_807685C - adds r0, 0x2 - adds r1, r5, 0 - adds r1, 0x43 - strb r0, [r1] - ldr r4, _080E3528 @ =0x0000ffa0 -_080E350C: - ldr r0, _080E352C @ =gBattleAnimTarget - ldrb r0, [r0] - movs r1, 0x3 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - strh r4, [r5, 0x26] - ldr r0, _080E3530 @ =sub_80E3534 - str r0, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E3528: .4byte 0x0000ffa0 -_080E352C: .4byte gBattleAnimTarget -_080E3530: .4byte sub_80E3534 - thumb_func_end sub_80E34D0 - - thumb_func_start sub_80E3534 -sub_80E3534: @ 80E3534 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x4 - bls _080E3542 - b _080E365E -_080E3542: - lsls r0, 2 - ldr r1, _080E354C @ =_080E3550 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080E354C: .4byte _080E3550 - .align 2, 0 -_080E3550: - .4byte _080E3564 - .4byte _080E3588 - .4byte _080E35C8 - .4byte _080E35F8 - .4byte _080E3624 -_080E3564: - ldrh r0, [r4, 0x26] - adds r0, 0xA - strh r0, [r4, 0x26] - lsls r0, 16 - cmp r0, 0 - blt _080E365E - movs r0, 0x3F - bl sub_8073A44 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 24 - movs r0, 0xC6 - bl PlaySE12WithPanning - movs r0, 0 - strh r0, [r4, 0x26] - b _080E361C -_080E3588: - ldrh r1, [r4, 0x30] - adds r1, 0x4 - movs r5, 0 - strh r1, [r4, 0x30] - ldr r2, _080E35C4 @ =gSineTable - movs r3, 0x30 - ldrsh r0, [r4, r3] - lsls r0, 1 - adds r0, r2 - ldrh r0, [r0] - lsls r0, 16 - asrs r0, 19 - negs r0, r0 - strh r0, [r4, 0x26] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0x7F - ble _080E365E - movs r0, 0x3F - bl sub_8073A44 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 24 - movs r0, 0xC6 - bl PlaySE12WithPanning - strh r5, [r4, 0x30] - strh r5, [r4, 0x26] - b _080E361C - .align 2, 0 -_080E35C4: .4byte gSineTable -_080E35C8: - ldrh r1, [r4, 0x30] - adds r1, 0x6 - movs r3, 0 - strh r1, [r4, 0x30] - ldr r2, _080E35F4 @ =gSineTable - movs r5, 0x30 - ldrsh r0, [r4, r5] - lsls r0, 1 - adds r0, r2 - ldrh r0, [r0] - lsls r0, 16 - asrs r0, 20 - negs r0, r0 - strh r0, [r4, 0x26] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0x7F - ble _080E365E - strh r3, [r4, 0x30] - strh r3, [r4, 0x26] - b _080E361C - .align 2, 0 -_080E35F4: .4byte gSineTable -_080E35F8: - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x8 - ble _080E365E - movs r0, 0x3F - bl sub_8073A44 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 24 - movs r0, 0xB9 - bl PlaySE12WithPanning - movs r0, 0 - strh r0, [r4, 0x30] -_080E361C: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _080E365E -_080E3624: - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x8 - ble _080E365E - movs r0, 0 - strh r0, [r4, 0x30] - ldrh r1, [r4, 0x32] - adds r1, 0x1 - strh r1, [r4, 0x32] - movs r0, 0x1 - ands r1, r0 - adds r3, r4, 0 - adds r3, 0x3E - lsls r1, 2 - ldrb r2, [r3] - subs r0, 0x6 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0x7 - bne _080E365E - adds r0, r4, 0 - bl DestroyAnimSprite -_080E365E: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80E3534 - - thumb_func_start sub_80E3664 -sub_80E3664: @ 80E3664 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r7, r0, 24 - movs r0, 0x1 - bl duplicate_obj_of_side_rel2move_in_transparent_mode - lsls r0, 16 - lsrs r1, r0, 16 - str r1, [sp] - asrs r6, r0, 16 - cmp r6, 0 - blt _080E36A6 - movs r0, 0x1 - bl duplicate_obj_of_side_rel2move_in_transparent_mode - lsls r0, 16 - lsrs r1, r0, 16 - mov r9, r1 - asrs r1, r0, 16 - cmp r1, 0 - bge _080E36B4 - lsls r0, r6, 4 - adds r0, r6 - lsls r0, 2 - ldr r1, _080E36B0 @ =gSprites - adds r0, r1 - bl obj_delete_but_dont_free_vram -_080E36A6: - adds r0, r7, 0 - bl DestroyAnimVisualTask - b _080E37BA - .align 2, 0 -_080E36B0: .4byte gSprites -_080E36B4: - ldr r4, _080E3744 @ =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r5, r0, r4 - ldrh r0, [r5, 0x24] - adds r0, 0x18 - movs r1, 0 - strh r0, [r5, 0x24] - lsls r0, r6, 4 - adds r0, r6 - lsls r0, 2 - adds r6, r0, r4 - ldrh r0, [r6, 0x24] - subs r0, 0x18 - strh r0, [r6, 0x24] - strh r1, [r5, 0x2E] - strh r1, [r6, 0x2E] - strh r1, [r5, 0x30] - strh r1, [r6, 0x30] - strh r1, [r5, 0x32] - strh r1, [r6, 0x32] - movs r0, 0x10 - strh r0, [r5, 0x34] - ldr r0, _080E3748 @ =0x0000fff0 - strh r0, [r6, 0x34] - strh r1, [r5, 0x36] - movs r0, 0x80 - strh r0, [r6, 0x36] - movs r0, 0x18 - strh r0, [r5, 0x38] - strh r0, [r6, 0x38] - strh r7, [r5, 0x3A] - strh r7, [r6, 0x3A] - strh r1, [r5, 0x3C] - strh r1, [r6, 0x3C] - ldr r2, _080E374C @ =gTasks - lsls r3, r7, 2 - adds r0, r3, r7 - lsls r0, 3 - adds r0, r2 - movs r1, 0x2 - strh r1, [r0, 0x8] - ldr r0, _080E3750 @ =gUnknown_2024018 - ldr r1, [r0] - ldr r0, _080E3754 @ =gBattleAnimTarget - ldrb r0, [r0] - ldr r1, [r1] - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - mov r12, r4 - mov r10, r2 - mov r8, r3 - cmp r0, 0 - bne _080E3758 - adds r2, r5, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r2, r6, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - b _080E376E - .align 2, 0 -_080E3744: .4byte gSprites -_080E3748: .4byte 0x0000fff0 -_080E374C: .4byte gTasks -_080E3750: .4byte gUnknown_2024018 -_080E3754: .4byte gBattleAnimTarget -_080E3758: - adds r1, r5, 0 - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - adds r1, r6, 0 - adds r1, 0x3E - ldrb r0, [r1] - orrs r0, r2 - strb r0, [r1] -_080E376E: - mov r1, r9 - lsls r0, r1, 16 - asrs r0, 16 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - mov r0, r12 - adds r4, r2, r0 - ldrb r1, [r4, 0x1] - movs r3, 0xD - negs r3, r3 - adds r0, r3, 0 - ands r0, r1 - strb r0, [r4, 0x1] - ldr r1, [sp] - lsls r0, r1, 16 - asrs r0, 16 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - mov r0, r12 - adds r4, r1, r0 - ldrb r0, [r4, 0x1] - ands r3, r0 - strb r3, [r4, 0x1] - mov r3, r12 - adds r3, 0x1C - adds r2, r3 - ldr r0, _080E37CC @ =sub_80E37FC - str r0, [r2] - adds r1, r3 - str r0, [r1] - mov r1, r8 - adds r0, r1, r7 - lsls r0, 3 - add r0, r10 - ldr r1, _080E37D0 @ =sub_80E37D4 - str r1, [r0] -_080E37BA: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E37CC: .4byte sub_80E37FC -_080E37D0: .4byte sub_80E37D4 - thumb_func_end sub_80E3664 - - thumb_func_start sub_80E37D4 -sub_80E37D4: @ 80E37D4 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, _080E37F8 @ =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r1 - movs r1, 0x8 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080E37F2 - adds r0, r2, 0 - bl DestroyAnimVisualTask -_080E37F2: - pop {r0} - bx r0 - .align 2, 0 -_080E37F8: .4byte gTasks - thumb_func_end sub_80E37D4 - - thumb_func_start sub_80E37FC -sub_80E37FC: @ 80E37FC - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080E3846 - movs r0, 0 - strh r0, [r4, 0x30] - ldr r0, _080E3870 @ =gUnknown_2024018 - ldr r1, [r0] - ldr r0, _080E3874 @ =gBattleAnimTarget - ldrb r0, [r0] - ldr r1, [r1] - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080E3846 - adds r3, r4, 0 - adds r3, 0x3E - ldrb r2, [r3] - lsls r1, r2, 29 - lsrs r1, 31 - movs r0, 0x1 - eors r1, r0 - ands r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] -_080E3846: - ldrh r0, [r4, 0x34] - ldrh r1, [r4, 0x36] - adds r0, r1 - movs r5, 0 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x36] - movs r2, 0x36 - ldrsh r0, [r4, r2] - movs r2, 0x38 - ldrsh r1, [r4, r2] - bl Cos - strh r0, [r4, 0x24] - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080E3878 - cmp r0, 0x1 - beq _080E3890 - b _080E38CE - .align 2, 0 -_080E3870: .4byte gUnknown_2024018 -_080E3874: .4byte gBattleAnimTarget -_080E3878: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3C - bne _080E38CE - strh r5, [r4, 0x32] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _080E38CE -_080E3890: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - cmp r0, 0 - ble _080E38CE - strh r5, [r4, 0x32] - ldrh r0, [r4, 0x38] - subs r0, 0x2 - strh r0, [r4, 0x38] - lsls r0, 16 - cmp r0, 0 - bge _080E38CE - ldr r3, _080E38D4 @ =gTasks - movs r2, 0x3C - ldrsh r1, [r4, r2] - lsls r1, 1 - movs r0, 0x3A - ldrsh r2, [r4, r0] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r3, 0x8 - adds r1, r3 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - adds r0, r4, 0 - bl obj_delete_but_dont_free_vram -_080E38CE: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E38D4: .4byte gTasks - thumb_func_end sub_80E37FC - - thumb_func_start sub_80E38D8 -sub_80E38D8: @ 80E38D8 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r3, _080E3924 @ =gBattleAnimArgs - movs r2, 0 - strh r2, [r3, 0xE] - ldr r1, _080E3928 @ =gUnknown_2037EFE - ldrb r0, [r1] - ldrb r1, [r1] - adds r0, r1, 0 - subs r0, 0x3D - lsls r0, 24 - lsrs r0, 24 - adds r2, r1, 0 - cmp r0, 0x1E - bhi _080E38FC - movs r0, 0x1 - strh r0, [r3, 0xE] -_080E38FC: - adds r0, r2, 0 - subs r0, 0x5C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x6C - bhi _080E390C - movs r0, 0x2 - strh r0, [r3, 0xE] -_080E390C: - lsls r0, r1, 24 - lsrs r0, 24 - cmp r0, 0xC8 - bls _080E3918 - movs r0, 0x3 - strh r0, [r3, 0xE] -_080E3918: - adds r0, r4, 0 - bl DestroyAnimVisualTask - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E3924: .4byte gBattleAnimArgs -_080E3928: .4byte gUnknown_2037EFE - thumb_func_end sub_80E38D8 - - thumb_func_start sub_80E392C -sub_80E392C: @ 80E392C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r1, _080E395C @ =gTasks - lsls r0, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0x8 - ldrsh r0, [r0, r1] - cmp r0, 0x4 - bls _080E3952 - b _080E3E6C -_080E3952: - lsls r0, 2 - ldr r1, _080E3960 @ =_080E3964 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080E395C: .4byte gTasks -_080E3960: .4byte _080E3964 - .align 2, 0 -_080E3964: - .4byte _080E3978 - .4byte _080E3A2C - .4byte _080E3BEC - .4byte _080E3D0C - .4byte _080E3D90 -_080E3978: - movs r0, 0 - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r7, r0, 24 - ldr r1, _080E39C4 @ =gTasks - mov r2, r8 - lsls r4, r2, 2 - adds r0, r4, r2 - lsls r0, 3 - adds r6, r0, r1 - movs r3, 0x80 - lsls r3, 4 - adds r0, r3, 0 - ldrh r1, [r6, 0xA] - adds r0, r1 - strh r0, [r6, 0xA] - ldr r0, _080E39C8 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - mov r9, r4 - cmp r0, 0 - bne _080E39D0 - ldr r2, _080E39CC @ =gSprites - lsls r3, r7, 4 - adds r1, r3, r7 - lsls r1, 2 - adds r1, r2 - ldrh r0, [r6, 0xA] - lsls r0, 16 - asrs r0, 24 - ldrh r4, [r1, 0x24] - adds r0, r4 - strh r0, [r1, 0x24] - b _080E39EA - .align 2, 0 -_080E39C4: .4byte gTasks -_080E39C8: .4byte gBattleAnimAttacker -_080E39CC: .4byte gSprites -_080E39D0: - ldr r3, _080E3A24 @ =gSprites - lsls r4, r7, 4 - adds r2, r4, r7 - lsls r2, 2 - adds r2, r3 - ldrh r1, [r6, 0xA] - lsls r1, 16 - asrs r1, 24 - ldrh r0, [r2, 0x24] - subs r0, r1 - strh r0, [r2, 0x24] - adds r2, r3, 0 - adds r3, r4, 0 -_080E39EA: - ldr r1, _080E3A28 @ =gTasks - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r4, r0, r1 - ldrb r0, [r4, 0xA] - strh r0, [r4, 0xA] - adds r1, r3, r7 - lsls r1, 2 - adds r1, r2 - ldrh r0, [r1, 0x24] - ldrh r1, [r1, 0x20] - adds r0, r1 - lsls r0, 16 - movs r1, 0x80 - lsls r1, 14 - adds r0, r1 - movs r1, 0x98 - lsls r1, 17 - cmp r0, r1 - bhi _080E3A16 - b _080E3E6C -_080E3A16: - movs r0, 0 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080E3E6C - .align 2, 0 -_080E3A24: .4byte gSprites -_080E3A28: .4byte gTasks -_080E3A2C: - ldr r4, _080E3A90 @ =gBattleAnimAttacker - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080E3ACC - ldr r7, _080E3A94 @ =gBattlerPartyIndexes - ldrb r0, [r4] - lsls r0, 1 - adds r0, r7 - ldrh r0, [r0] - movs r6, 0x64 - muls r0, r6 - ldr r5, _080E3A98 @ =gPlayerParty - adds r0, r5 - movs r1, 0 - bl GetMonData - mov r10, r0 - ldrb r0, [r4] - lsls r0, 1 - adds r0, r7 - ldrh r0, [r0] - muls r0, r6 - adds r0, r5 - movs r1, 0x1 - bl GetMonData - mov r9, r0 - ldr r0, _080E3A9C @ =gUnknown_2024018 - ldr r0, [r0] - ldrb r2, [r4] - ldr r1, [r0] - lsls r0, r2, 2 - adds r1, r0, r1 - ldrh r0, [r1, 0x2] - cmp r0, 0 - bne _080E3AA0 - lsls r0, r2, 1 - adds r0, r7 - ldrh r0, [r0] - muls r0, r6 - adds r0, r5 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - b _080E3AA2 - .align 2, 0 -_080E3A90: .4byte gBattleAnimAttacker -_080E3A94: .4byte gBattlerPartyIndexes -_080E3A98: .4byte gPlayerParty -_080E3A9C: .4byte gUnknown_2024018 -_080E3AA0: - ldrh r5, [r1, 0x2] -_080E3AA2: - movs r0, 0x1 - bl GetAnimBankSpriteId - ldr r2, _080E3AC8 @ =gSprites - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - adds r1, 0x43 - ldrb r0, [r1] - adds r0, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - movs r7, 0 - movs r6, 0x88 - lsls r6, 1 - b _080E3B54 - .align 2, 0 -_080E3AC8: .4byte gSprites -_080E3ACC: - ldr r7, _080E3B24 @ =gBattlerPartyIndexes - ldrb r0, [r4] - lsls r0, 1 - adds r0, r7 - ldrh r0, [r0] - movs r6, 0x64 - muls r0, r6 - ldr r5, _080E3B28 @ =gEnemyParty - adds r0, r5 - movs r1, 0 - bl GetMonData - mov r10, r0 - ldrb r0, [r4] - lsls r0, 1 - adds r0, r7 - ldrh r0, [r0] - muls r0, r6 - adds r0, r5 - movs r1, 0x1 - bl GetMonData - mov r9, r0 - ldr r0, _080E3B2C @ =gUnknown_2024018 - ldr r0, [r0] - ldrb r2, [r4] - ldr r1, [r0] - lsls r0, r2, 2 - adds r1, r0, r1 - ldrh r0, [r1, 0x2] - cmp r0, 0 - bne _080E3B30 - lsls r0, r2, 1 - adds r0, r7 - ldrh r0, [r0] - muls r0, r6 - adds r0, r5 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - b _080E3B32 - .align 2, 0 -_080E3B24: .4byte gBattlerPartyIndexes -_080E3B28: .4byte gEnemyParty -_080E3B2C: .4byte gUnknown_2024018 -_080E3B30: - ldrh r5, [r1, 0x2] -_080E3B32: - movs r0, 0x1 - bl GetAnimBankSpriteId - ldr r2, _080E3BD0 @ =gSprites - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - adds r1, 0x43 - ldrb r0, [r1] - subs r0, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - movs r7, 0x1 - ldr r6, _080E3BD4 @ =0x0000ffe0 -_080E3B54: - ldr r0, _080E3BD8 @ =gBattleAnimTarget - ldrb r0, [r0] - movs r1, 0x1 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - lsls r3, r6, 16 - asrs r3, 16 - str r0, [sp] - str r4, [sp, 0x4] - mov r2, r10 - str r2, [sp, 0x8] - mov r4, r9 - str r4, [sp, 0xC] - ldr r4, _080E3BDC @ =gBattleAnimAttacker - ldrb r0, [r4] - str r0, [sp, 0x10] - movs r0, 0 - str r0, [sp, 0x14] - adds r0, r5, 0 - adds r1, r7, 0 - movs r2, 0 - bl sub_80768D0 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _080E3BE0 @ =gUnknown_2024018 - ldr r1, [r0] - ldrb r0, [r4] - ldr r1, [r1] - lsls r0, 2 - adds r0, r1 - ldrh r0, [r0, 0x2] - cmp r0, 0 - beq _080E3BBE - ldr r1, _080E3BD0 @ =gSprites - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x5] - lsrs r0, 4 - lsls r0, 4 - movs r2, 0x80 - lsls r2, 1 - adds r1, r2, 0 - orrs r0, r1 - ldr r3, _080E3BE4 @ =0x00007fff - movs r1, 0x10 - movs r2, 0x6 - bl BlendPalette -_080E3BBE: - ldr r0, _080E3BE8 @ =gTasks - mov r3, r8 - lsls r1, r3, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - strh r5, [r1, 0x26] - b _080E3D82 - .align 2, 0 -_080E3BD0: .4byte gSprites -_080E3BD4: .4byte 0x0000ffe0 -_080E3BD8: .4byte gBattleAnimTarget -_080E3BDC: .4byte gBattleAnimAttacker -_080E3BE0: .4byte gUnknown_2024018 -_080E3BE4: .4byte 0x00007fff -_080E3BE8: .4byte gTasks -_080E3BEC: - ldr r1, _080E3C38 @ =gTasks - mov r0, r8 - lsls r4, r0, 2 - adds r0, r4, r0 - lsls r0, 3 - adds r6, r0, r1 - ldrh r0, [r6, 0x26] - lsls r0, 24 - lsrs r5, r0, 24 - movs r1, 0x80 - lsls r1, 4 - adds r0, r1, 0 - ldrh r2, [r6, 0xA] - adds r0, r2 - strh r0, [r6, 0xA] - ldr r0, _080E3C3C @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - mov r9, r4 - cmp r0, 0 - bne _080E3C44 - ldr r3, _080E3C40 @ =gSprites - lsls r4, r5, 4 - adds r2, r4, r5 - lsls r2, 2 - adds r2, r3 - ldrh r1, [r6, 0xA] - lsls r1, 16 - asrs r1, 24 - ldrh r0, [r2, 0x24] - subs r0, r1 - strh r0, [r2, 0x24] - adds r2, r3, 0 - adds r3, r4, 0 - b _080E3C5A - .align 2, 0 -_080E3C38: .4byte gTasks -_080E3C3C: .4byte gBattleAnimAttacker -_080E3C40: .4byte gSprites -_080E3C44: - ldr r2, _080E3CA8 @ =gSprites - lsls r3, r5, 4 - adds r1, r3, r5 - lsls r1, 2 - adds r1, r2 - ldrh r0, [r6, 0xA] - lsls r0, 16 - asrs r0, 24 - ldrh r4, [r1, 0x24] - adds r0, r4 - strh r0, [r1, 0x24] -_080E3C5A: - ldr r1, _080E3CAC @ =gTasks - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r6, r0, r1 - ldrb r0, [r6, 0xA] - strh r0, [r6, 0xA] - adds r1, r3, r5 - lsls r1, 2 - adds r1, r2 - ldrh r0, [r1, 0x24] - ldrh r1, [r1, 0x20] - adds r0, r1 - lsls r0, 16 - lsrs r5, r0, 16 - movs r1, 0x24 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _080E3CDA - ldr r0, _080E3CB0 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080E3CB8 - lsls r4, r5, 16 - asrs r4, 16 - ldr r0, _080E3CB4 @ =gBattleAnimTarget - ldrb r0, [r0] - movs r1, 0 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bge _080E3CDA - b _080E3CCE - .align 2, 0 -_080E3CA8: .4byte gSprites -_080E3CAC: .4byte gTasks -_080E3CB0: .4byte gBattleAnimAttacker -_080E3CB4: .4byte gBattleAnimTarget -_080E3CB8: - lsls r4, r5, 16 - asrs r4, 16 - ldr r0, _080E3CFC @ =gBattleAnimTarget - ldrb r0, [r0] - movs r1, 0 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - ble _080E3CDA -_080E3CCE: - ldrh r0, [r6, 0x24] - adds r0, 0x1 - strh r0, [r6, 0x24] - ldr r1, _080E3D00 @ =gBattleAnimArgs - ldr r0, _080E3D04 @ =0x0000ffff - strh r0, [r1, 0xE] -_080E3CDA: - lsls r0, r5, 16 - movs r2, 0x80 - lsls r2, 14 - adds r0, r2 - movs r1, 0x98 - lsls r1, 17 - cmp r0, r1 - bhi _080E3CEC - b _080E3E6C -_080E3CEC: - ldr r0, _080E3D08 @ =gTasks - mov r1, r9 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0 - strh r0, [r1, 0xA] - b _080E3D82 - .align 2, 0 -_080E3CFC: .4byte gBattleAnimTarget -_080E3D00: .4byte gBattleAnimArgs -_080E3D04: .4byte 0x0000ffff -_080E3D08: .4byte gTasks -_080E3D0C: - movs r0, 0 - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r7, r0, 24 - ldr r1, _080E3D58 @ =gTasks - mov r3, r8 - lsls r4, r3, 2 - adds r0, r4, r3 - lsls r0, 3 - adds r0, r1 - ldrh r0, [r0, 0x26] - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - ldr r5, _080E3D5C @ =gSprites - adds r0, r5 - bl sub_8076B20 - ldr r0, _080E3D60 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - mov r9, r4 - cmp r0, 0 - bne _080E3D64 - lsls r1, r7, 4 - adds r1, r7 - lsls r1, 2 - adds r1, r5 - ldrh r0, [r1, 0x20] - negs r0, r0 - subs r0, 0x20 - strh r0, [r1, 0x24] - b _080E3D78 - .align 2, 0 -_080E3D58: .4byte gTasks -_080E3D5C: .4byte gSprites -_080E3D60: .4byte gBattleAnimAttacker -_080E3D64: - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - adds r0, r5 - ldrh r2, [r0, 0x20] - movs r4, 0x88 - lsls r4, 1 - adds r1, r4, 0 - subs r1, r2 - strh r1, [r0, 0x24] -_080E3D78: - ldr r0, _080E3D8C @ =gTasks - mov r1, r9 - add r1, r8 - lsls r1, 3 - adds r1, r0 -_080E3D82: - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _080E3E6C - .align 2, 0 -_080E3D8C: .4byte gTasks -_080E3D90: - movs r0, 0 - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r7, r0, 24 - ldr r1, _080E3E04 @ =gTasks - mov r0, r8 - lsls r4, r0, 2 - adds r0, r4, r0 - lsls r0, 3 - adds r2, r0, r1 - movs r1, 0x80 - lsls r1, 4 - adds r0, r1, 0 - ldrh r3, [r2, 0xA] - adds r0, r3 - strh r0, [r2, 0xA] - ldr r0, _080E3E08 @ =gBattleAnimAttacker - mov r10, r0 - ldrb r0, [r0] - str r2, [sp, 0x18] - bl GetBattlerSide - lsls r0, 24 - mov r9, r4 - ldr r2, [sp, 0x18] - cmp r0, 0 - bne _080E3E10 - ldr r1, _080E3E0C @ =gSprites - lsls r5, r7, 4 - adds r0, r5, r7 - lsls r0, 2 - adds r6, r0, r1 - ldrh r0, [r2, 0xA] - lsls r0, 16 - asrs r0, 24 - ldrh r1, [r6, 0x24] - adds r0, r1 - strh r0, [r6, 0x24] - movs r2, 0x24 - ldrsh r4, [r6, r2] - movs r3, 0x20 - ldrsh r0, [r6, r3] - adds r4, r0 - mov r1, r10 - ldrb r0, [r1] - movs r1, 0 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - adds r3, r5, 0 - cmp r4, r0 - blt _080E3E48 - movs r2, 0 - strh r2, [r6, 0x24] - b _080E3E48 - .align 2, 0 -_080E3E04: .4byte gTasks -_080E3E08: .4byte gBattleAnimAttacker -_080E3E0C: .4byte gSprites -_080E3E10: - ldr r1, _080E3E7C @ =gSprites - lsls r5, r7, 4 - adds r0, r5, r7 - lsls r0, 2 - adds r6, r0, r1 - ldrh r1, [r2, 0xA] - lsls r1, 16 - asrs r1, 24 - ldrh r0, [r6, 0x24] - subs r0, r1 - strh r0, [r6, 0x24] - movs r3, 0x24 - ldrsh r4, [r6, r3] - movs r1, 0x20 - ldrsh r0, [r6, r1] - adds r4, r0 - mov r2, r10 - ldrb r0, [r2] - movs r1, 0 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - adds r3, r5, 0 - cmp r4, r0 - bgt _080E3E48 - movs r4, 0 - strh r4, [r6, 0x24] -_080E3E48: - ldr r1, _080E3E80 @ =gTasks - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r0, r1 - ldrb r1, [r0, 0xA] - strh r1, [r0, 0xA] - ldr r1, _080E3E7C @ =gSprites - adds r0, r3, r7 - lsls r0, 2 - adds r0, r1 - movs r1, 0x24 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080E3E6C - mov r0, r8 - bl DestroyAnimVisualTask -_080E3E6C: - add sp, 0x1C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E3E7C: .4byte gSprites -_080E3E80: .4byte gTasks - thumb_func_end sub_80E392C - - thumb_func_start sub_80E3E84 -sub_80E3E84: @ 80E3E84 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080E3E96 - cmp r0, 0x1 - beq _080E3F36 - b _080E3FB8 -_080E3E96: - ldr r0, _080E3F14 @ =gBattleAnimArgs - movs r2, 0xE - ldrsh r1, [r0, r2] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _080E3F28 - movs r0, 0x3F - bl sub_8073A44 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 24 - movs r0, 0x73 - bl PlaySE12WithPanning - ldr r0, _080E3F18 @ =gBattleAnimTarget - ldrb r0, [r0] - movs r1, 0x1 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x10 - strh r0, [r4, 0x22] - ldr r0, _080E3F1C @ =0x0000ffe0 - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x3C] - adds r0, 0x1 - strh r0, [r4, 0x3C] - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - ldr r0, _080E3F20 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080E3FB8 - movs r0, 0x1 - bl GetAnimBankSpriteId - ldr r2, _080E3F24 @ =gSprites - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - adds r1, 0x43 - ldrb r0, [r1] - subs r0, 0x1 - adds r1, r4, 0 - adds r1, 0x43 - strb r0, [r1] - b _080E3FB8 - .align 2, 0 -_080E3F14: .4byte gBattleAnimArgs -_080E3F18: .4byte gBattleAnimTarget -_080E3F1C: .4byte 0x0000ffe0 -_080E3F20: .4byte gBattleAnimAttacker -_080E3F24: .4byte gSprites -_080E3F28: - adds r0, r4, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - b _080E3FB8 -_080E3F36: - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r2, 0x2E - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r4, 0x26] - ldrh r2, [r4, 0x30] - adds r0, r2, 0x5 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7F - ble _080E3F6A - movs r1, 0x2E - ldrsh r0, [r4, r1] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x34] - adds r0, 0x1 - strh r0, [r4, 0x34] - adds r0, r2, 0 - subs r0, 0x7A - strh r0, [r4, 0x30] -_080E3F6A: - movs r2, 0x80 - lsls r2, 1 - adds r0, r2, 0 - ldrh r1, [r4, 0x32] - adds r0, r1 - strh r0, [r4, 0x32] - ldr r0, _080E3F94 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080E3F98 - ldrh r2, [r4, 0x32] - lsls r1, r2, 16 - asrs r1, 24 - ldrh r0, [r4, 0x24] - subs r0, r1 - strh r0, [r4, 0x24] - adds r1, r2, 0 - b _080E3FA4 - .align 2, 0 -_080E3F94: .4byte gBattleAnimAttacker -_080E3F98: - ldrh r1, [r4, 0x32] - lsls r0, r1, 16 - asrs r0, 24 - ldrh r2, [r4, 0x24] - adds r0, r2 - strh r0, [r4, 0x24] -_080E3FA4: - movs r0, 0xFF - ands r0, r1 - strh r0, [r4, 0x32] - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, 0x2 - bne _080E3FB8 - adds r0, r4, 0 - bl DestroyAnimSprite -_080E3FB8: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80E3E84 - - thumb_func_start sub_80E3FC0 -sub_80E3FC0: @ 80E3FC0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _080E3FE8 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r2, 0x26 - ldrsh r0, [r0, r2] - adds r3, r1, 0 - cmp r0, 0x4 - bls _080E3FDC - b _080E412E -_080E3FDC: - lsls r0, 2 - ldr r1, _080E3FEC @ =_080E3FF0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080E3FE8: .4byte gTasks -_080E3FEC: .4byte _080E3FF0 - .align 2, 0 -_080E3FF0: - .4byte _080E4004 - .4byte _080E4054 - .4byte _080E40B0 - .4byte _080E40C8 - .4byte _080E412E -_080E4004: - ldr r0, _080E4048 @ =gBattleAnimAttacker - ldrb r0, [r0] - movs r1, 0 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - ldr r0, _080E404C @ =gBattleAnimTarget - ldrb r0, [r0] - movs r1, 0 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - adds r2, r0, 0 - ldr r1, _080E4050 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, r0, r1 - movs r0, 0x6 - strh r0, [r1, 0x8] - cmp r5, r2 - ble _080E403A - negs r0, r0 - strh r0, [r1, 0x8] -_080E403A: - strh r5, [r1, 0xA] - strh r2, [r1, 0xC] - ldrh r0, [r1, 0x26] - adds r0, 0x1 - strh r0, [r1, 0x26] - b _080E414C - .align 2, 0 -_080E4048: .4byte gBattleAnimAttacker -_080E404C: .4byte gBattleAnimTarget -_080E4050: .4byte gTasks -_080E4054: - ldr r1, _080E4090 @ =gBattlerSpriteIds - ldr r0, _080E4094 @ =gBattleAnimAttacker - ldrb r0, [r0] - adds r0, r1 - ldrb r2, [r0] - ldr r1, _080E4098 @ =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r1, r0, r1 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r2, r0, r3 - ldrh r0, [r2, 0x8] - ldrh r3, [r1, 0x24] - adds r0, r3 - strh r0, [r1, 0x24] - movs r3, 0x8 - ldrsh r0, [r2, r3] - cmp r0, 0 - ble _080E409C - movs r3, 0x20 - ldrsh r0, [r1, r3] - movs r3, 0x24 - ldrsh r1, [r1, r3] - adds r0, r1 - movs r3, 0xC - ldrsh r1, [r2, r3] - b _080E4122 - .align 2, 0 -_080E4090: .4byte gBattlerSpriteIds -_080E4094: .4byte gBattleAnimAttacker -_080E4098: .4byte gSprites -_080E409C: - movs r3, 0x20 - ldrsh r0, [r1, r3] - movs r3, 0x24 - ldrsh r1, [r1, r3] - adds r0, r1 - movs r3, 0xC - ldrsh r1, [r2, r3] - cmp r0, r1 - bgt _080E414C - b _080E4126 -_080E40B0: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r3 - movs r2, 0x8 - ldrsh r1, [r0, r2] - negs r1, r1 - strh r1, [r0, 0x8] - ldrh r1, [r0, 0x26] - adds r1, 0x1 - strh r1, [r0, 0x26] - b _080E414C -_080E40C8: - ldr r1, _080E4108 @ =gBattlerSpriteIds - ldr r0, _080E410C @ =gBattleAnimAttacker - ldrb r0, [r0] - adds r0, r1 - ldrb r2, [r0] - ldr r1, _080E4110 @ =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r1, r0, r1 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r2, r0, r3 - ldrh r0, [r2, 0x8] - ldrh r3, [r1, 0x24] - adds r0, r3 - strh r0, [r1, 0x24] - movs r3, 0x8 - ldrsh r0, [r2, r3] - cmp r0, 0 - bge _080E4114 - movs r3, 0x20 - ldrsh r0, [r1, r3] - movs r3, 0x24 - ldrsh r1, [r1, r3] - adds r0, r1 - movs r3, 0xA - ldrsh r1, [r2, r3] - cmp r0, r1 - bgt _080E414C - b _080E4126 - .align 2, 0 -_080E4108: .4byte gBattlerSpriteIds -_080E410C: .4byte gBattleAnimAttacker -_080E4110: .4byte gSprites -_080E4114: - movs r3, 0x20 - ldrsh r0, [r1, r3] - movs r3, 0x24 - ldrsh r1, [r1, r3] - adds r0, r1 - movs r3, 0xA - ldrsh r1, [r2, r3] -_080E4122: - cmp r0, r1 - blt _080E414C -_080E4126: - ldrh r0, [r2, 0x26] - adds r0, 0x1 - strh r0, [r2, 0x26] - b _080E414C -_080E412E: - ldr r1, _080E4154 @ =gBattlerSpriteIds - ldr r0, _080E4158 @ =gBattleAnimAttacker - ldrb r0, [r0] - adds r0, r1 - ldrb r2, [r0] - ldr r1, _080E415C @ =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x24] - adds r0, r4, 0 - bl DestroyAnimVisualTask -_080E414C: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E4154: .4byte gBattlerSpriteIds -_080E4158: .4byte gBattleAnimAttacker -_080E415C: .4byte gSprites - thumb_func_end sub_80E3FC0 - - thumb_func_start sub_80E4160 -sub_80E4160: @ 80E4160 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _080E41C8 @ =gTasks - adds r4, r1, r0 - movs r0, 0 - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r0, 24 - movs r5, 0 - strh r0, [r4, 0xE] - ldr r0, _080E41CC @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - movs r2, 0x1 - negs r2, r2 - adds r1, r2, 0 - cmp r0, 0 - bne _080E4194 - movs r1, 0x1 -_080E4194: - strh r1, [r4, 0x10] - ldr r2, _080E41D0 @ =gSprites - movs r0, 0xE - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x22] - strh r0, [r4, 0x14] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x20] - strh r0, [r4, 0x12] - strh r5, [r4, 0x1A] - strh r5, [r4, 0x1E] - movs r0, 0x1 - strh r0, [r4, 0x1C] - strh r5, [r4, 0x20] - ldr r0, _080E41D4 @ =sub_80E41D8 - str r0, [r4] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E41C8: .4byte gTasks -_080E41CC: .4byte gBattleAnimAttacker -_080E41D0: .4byte gSprites -_080E41D4: .4byte sub_80E41D8 - thumb_func_end sub_80E4160 - - thumb_func_start sub_80E41D8 -sub_80E41D8: @ 80E41D8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, _080E41FC @ =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _080E4280 - cmp r0, 0x1 - bgt _080E4200 - cmp r0, 0 - beq _080E4206 - b _080E42D6 - .align 2, 0 -_080E41FC: .4byte gTasks -_080E4200: - cmp r0, 0x2 - beq _080E42D0 - b _080E42D6 -_080E4206: - ldrh r0, [r4, 0x1E] - adds r0, 0x8 - movs r2, 0xFF - ands r0, r2 - strh r0, [r4, 0x1E] - ldr r5, _080E4278 @ =gSprites - movs r6, 0xE - ldrsh r0, [r4, r6] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - ldr r3, _080E427C @ =gSineTable - movs r6, 0x1E - ldrsh r0, [r4, r6] - lsls r0, 1 - adds r0, r3 - ldrh r0, [r0] - lsls r0, 16 - asrs r0, 21 - strh r0, [r1, 0x24] - ldrh r0, [r4, 0x1A] - adds r0, 0x2 - ands r0, r2 - strh r0, [r4, 0x1A] - movs r1, 0xE - ldrsh r0, [r4, r1] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r5 - movs r6, 0x1A - ldrsh r0, [r4, r6] - lsls r0, 1 - adds r0, r3 - ldrh r0, [r0] - lsls r0, 16 - asrs r0, 19 - ldrh r1, [r4, 0x10] - muls r0, r1 - ldrh r1, [r4, 0x12] - adds r0, r1 - strh r0, [r2, 0x20] - movs r6, 0x1A - ldrsh r0, [r4, r6] - cmp r0, 0 - bne _080E42D6 - movs r0, 0xE - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrh r1, [r4, 0x12] - strh r1, [r0, 0x20] - b _080E42C0 - .align 2, 0 -_080E4278: .4byte gSprites -_080E427C: .4byte gSineTable -_080E4280: - ldrh r0, [r4, 0x1E] - adds r0, 0x8 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x1E] - ldr r3, _080E42C8 @ =gSprites - movs r1, 0xE - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldr r2, _080E42CC @ =gSineTable - movs r5, 0x1E - ldrsh r0, [r4, r5] - lsls r0, 1 - adds r0, r2 - ldrh r0, [r0] - lsls r0, 16 - asrs r0, 21 - strh r0, [r1, 0x24] - movs r6, 0x1E - ldrsh r2, [r4, r6] - cmp r2, 0 - bne _080E42D6 - movs r1, 0xE - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - strh r2, [r1, 0x24] -_080E42C0: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080E42D6 - .align 2, 0 -_080E42C8: .4byte gSprites -_080E42CC: .4byte gSineTable -_080E42D0: - adds r0, r2, 0 - bl DestroyAnimVisualTask -_080E42D6: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80E41D8 - - thumb_func_start sub_80E42DC -sub_80E42DC: @ 80E42DC - push {r4,lr} - adds r4, r0, 0 - ldr r0, _080E4330 @ =gBattleAnimTarget - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - ldrh r0, [r4, 0x2E] - ldrh r1, [r4, 0x30] - adds r0, r1 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x30] - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r1, 0x14 - bl Cos - strh r0, [r4, 0x24] - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r1, 0x14 - bl Sin - strh r0, [r4, 0x26] - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080E4322 - adds r0, r4, 0 - bl DestroyAnimSprite -_080E4322: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E4330: .4byte gBattleAnimTarget - thumb_func_end sub_80E42DC - - thumb_func_start sub_80E4334 -sub_80E4334: @ 80E4334 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _080E436C @ =gBattleAnimTarget - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080E4378 - ldr r2, _080E4370 @ =gBattleAnimArgs - ldrh r0, [r4, 0x20] - ldrh r1, [r2] - subs r0, r1 - strh r0, [r4, 0x20] - ldrh r0, [r2, 0x2] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - ldr r0, _080E4374 @ =0x0000fff5 - strh r0, [r4, 0x2E] - movs r0, 0xC0 - strh r0, [r4, 0x30] - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - b _080E4392 - .align 2, 0 -_080E436C: .4byte gBattleAnimTarget -_080E4370: .4byte gBattleAnimArgs -_080E4374: .4byte 0x0000fff5 -_080E4378: - movs r0, 0xB - strh r0, [r4, 0x2E] - movs r0, 0xC0 - strh r0, [r4, 0x30] - ldr r1, _080E439C @ =gBattleAnimArgs - ldrh r0, [r1] - ldrh r2, [r4, 0x20] - adds r0, r2 - strh r0, [r4, 0x20] - ldrh r0, [r1, 0x2] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] -_080E4392: - ldr r0, _080E43A0 @ =sub_80E42DC - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E439C: .4byte gBattleAnimArgs -_080E43A0: .4byte sub_80E42DC - thumb_func_end sub_80E4334 - - thumb_func_start sub_80E43A4 -sub_80E43A4: @ 80E43A4 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, _080E43E8 @ =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8076B2C - strh r0, [r5, 0x22] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xF - bgt _080E43CE - movs r0, 0x10 - strh r0, [r5, 0x22] -_080E43CE: - movs r0, 0 - strh r0, [r5, 0x3A] - movs r1, 0x10 - strh r1, [r5, 0x3C] - ldr r0, _080E43EC @ =sub_80E43F0 - str r0, [r5, 0x1C] - lsls r1, 8 - movs r0, 0x52 - bl SetGpuReg - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E43E8: .4byte gBattleAnimAttacker -_080E43EC: .4byte sub_80E43F0 - thumb_func_end sub_80E43A4 - - thumb_func_start sub_80E43F0 -sub_80E43F0: @ 80E43F0 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r1, [r4, r0] - cmp r1, 0x1 - beq _080E4468 - cmp r1, 0x1 - bgt _080E4406 - cmp r1, 0 - beq _080E4410 - b _080E44E4 -_080E4406: - cmp r1, 0x2 - beq _080E447E - cmp r1, 0x3 - beq _080E44DE - b _080E44E4 -_080E4410: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080E44E4 - strh r1, [r4, 0x2E] - ldrh r1, [r4, 0x30] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080E443A - ldrh r2, [r4, 0x3A] - movs r3, 0x3A - ldrsh r0, [r4, r3] - cmp r0, 0xF - bgt _080E4448 - adds r0, r2, 0x1 - strh r0, [r4, 0x3A] - b _080E4448 -_080E443A: - ldrh r2, [r4, 0x3C] - movs r3, 0x3C - ldrsh r0, [r4, r3] - cmp r0, 0 - beq _080E4448 - subs r0, r2, 0x1 - strh r0, [r4, 0x3C] -_080E4448: - adds r0, r1, 0x1 - strh r0, [r4, 0x30] - ldrh r1, [r4, 0x3C] - lsls r1, 8 - ldrh r0, [r4, 0x3A] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080E44E4 - b _080E44D6 -_080E4468: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - movs r1, 0 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA - bne _080E44E4 - strh r1, [r4, 0x2E] - strh r1, [r4, 0x30] - b _080E44D6 -_080E447E: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080E44E4 - movs r0, 0 - strh r0, [r4, 0x2E] - ldrh r1, [r4, 0x30] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080E44AA - ldrh r2, [r4, 0x3A] - movs r3, 0x3A - ldrsh r0, [r4, r3] - cmp r0, 0 - beq _080E44B8 - subs r0, r2, 0x1 - strh r0, [r4, 0x3A] - b _080E44B8 -_080E44AA: - ldrh r2, [r4, 0x3C] - movs r3, 0x3C - ldrsh r0, [r4, r3] - cmp r0, 0xF - bgt _080E44B8 - adds r0, r2, 0x1 - strh r0, [r4, 0x3C] -_080E44B8: - adds r0, r1, 0x1 - strh r0, [r4, 0x30] - ldrh r1, [r4, 0x3C] - lsls r1, 8 - ldrh r0, [r4, 0x3A] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0x10 - bne _080E44E4 -_080E44D6: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - b _080E44E4 -_080E44DE: - adds r0, r4, 0 - bl move_anim_8074EE0 -_080E44E4: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80E43F0 - - thumb_func_start sub_80E44EC -sub_80E44EC: @ 80E44EC - push {lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r2, _080E4508 @ =gBattleAnimArgs - movs r0, 0 - strh r0, [r2, 0xE] - ldr r0, _080E450C @ =gUnknown_2037F00 - ldrh r1, [r0] - movs r0, 0x60 - ands r0, r1 - cmp r0, 0 - beq _080E4510 - movs r0, 0x1 - b _080E4532 - .align 2, 0 -_080E4508: .4byte gBattleAnimArgs -_080E450C: .4byte gUnknown_2037F00 -_080E4510: - movs r0, 0x7 - ands r0, r1 - cmp r0, 0 - beq _080E451C - movs r0, 0x2 - b _080E4532 -_080E451C: - movs r0, 0x18 - ands r0, r1 - cmp r0, 0 - beq _080E4528 - movs r0, 0x3 - b _080E4532 -_080E4528: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080E4534 - movs r0, 0x4 -_080E4532: - strh r0, [r2, 0xE] -_080E4534: - adds r0, r3, 0 - bl DestroyAnimVisualTask - pop {r0} - bx r0 - thumb_func_end sub_80E44EC - - thumb_func_start sub_80E4540 -sub_80E4540: @ 80E4540 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, _080E4578 @ =gTasks - adds r4, r0 - movs r0, 0 - strh r0, [r4, 0x8] - ldr r0, _080E457C @ =gBattleAnimArgs - ldrb r0, [r0] - bl GetAnimBankSpriteId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - strh r1, [r4, 0x26] - ldr r2, _080E4580 @ =gUnknown_83FF7A8 - adds r0, r4, 0 - bl sub_80762D0 - ldr r0, _080E4584 @ =sub_80E4588 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E4578: .4byte gTasks -_080E457C: .4byte gBattleAnimArgs -_080E4580: .4byte gUnknown_83FF7A8 -_080E4584: .4byte sub_80E4588 - thumb_func_end sub_80E4540 - - thumb_func_start sub_80E4588 -sub_80E4588: @ 80E4588 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r2, _080E45E0 @ =gTasks - adds r3, r0, r2 - ldrh r0, [r3, 0x8] - adds r1, r0, 0x1 - movs r5, 0 - strh r1, [r3, 0x8] - subs r0, 0x10 - lsls r0, 16 - lsrs r0, 16 - adds r6, r2, 0 - cmp r0, 0x16 - bhi _080E45EC - ldrh r0, [r3, 0xA] - adds r0, 0x1 - strh r0, [r3, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _080E45FC - strh r5, [r3, 0xA] - ldrh r0, [r3, 0xC] - adds r0, 0x1 - strh r0, [r3, 0xC] - movs r5, 0x1 - ands r0, r5 - cmp r0, 0 - bne _080E45EC - ldr r2, _080E45E4 @ =gSprites - movs r0, 0x26 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r1, _080E45E8 @ =0x0000ffff - strh r1, [r0, 0x24] - b _080E45FC - .align 2, 0 -_080E45E0: .4byte gTasks -_080E45E4: .4byte gSprites -_080E45E8: .4byte 0x0000ffff -_080E45EC: - ldr r2, _080E461C @ =gSprites - movs r0, 0x26 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r5, [r0, 0x24] -_080E45FC: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r6 - bl sub_8076308 - lsls r0, 24 - cmp r0, 0 - bne _080E4614 - adds r0, r4, 0 - bl DestroyAnimVisualTask -_080E4614: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080E461C: .4byte gSprites - thumb_func_end sub_80E4588 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/battle_anim_80EEC0C.s b/asm/battle_anim_80EEC0C.s deleted file mode 100644 index 704a1e9a7..000000000 --- a/asm/battle_anim_80EEC0C.s +++ /dev/null @@ -1,6299 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_80EEC0C -sub_80EEC0C: @ 80EEC0C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x10] - ldr r0, _080EEDB4 @ =gBattleAnimAttacker - ldrb r4, [r0] - ldr r0, _080EEDB8 @ =gUnknown_2022984 - movs r1, 0 - strh r1, [r0] - ldr r0, _080EEDBC @ =gUnknown_2022986 - strh r1, [r0] - ldr r1, _080EEDC0 @ =0x00003f3f - movs r0, 0x48 - bl SetGpuReg - ldr r1, _080EEDC4 @ =0x00003f3d - movs r0, 0x4A - bl SetGpuReg - movs r1, 0x80 - lsls r1, 8 - movs r0, 0 - bl SetGpuRegBits - ldr r1, _080EEDC8 @ =0x00003f42 - movs r0, 0x50 - bl SetGpuReg - movs r1, 0x80 - lsls r1, 5 - movs r0, 0x52 - bl SetGpuReg - movs r0, 0x1 - movs r1, 0x4 - movs r2, 0 - bl SetAnimBgAttribute - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl SetAnimBgAttribute - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0x1 - bl SetAnimBgAttribute - movs r0, 0x1 - movs r1, 0x3 - movs r2, 0x1 - bl SetAnimBgAttribute - ldr r0, _080EEDCC @ =gUnknown_3004FF0 - adds r4, r0 - ldrb r0, [r4] - ldr r1, _080EEDD0 @ =gSprites - mov r9, r1 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - add r4, r9 - ldrb r7, [r4, 0x6] - ldrh r6, [r4, 0x38] - lsls r6, 24 - lsrs r6, 24 - ldr r0, _080EEDD4 @ =SpriteCallbackDummy - bl CreateInvisibleSpriteWithCallback - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x14] - ldr r0, _080EEDD4 @ =SpriteCallbackDummy - bl CreateInvisibleSpriteWithCallback - mov r10, r0 - mov r2, r10 - lsls r2, 24 - lsrs r2, 24 - mov r10, r2 - ldrb r1, [r4, 0x5] - movs r3, 0xD - negs r3, r3 - adds r0, r3, 0 - ands r0, r1 - movs r1, 0x4 - mov r8, r1 - mov r2, r8 - orrs r0, r2 - strb r0, [r4, 0x5] - lsls r5, r7, 4 - adds r5, r7 - lsls r5, 2 - add r5, r9 - ldrb r1, [r5, 0x5] - adds r0, r3, 0 - ands r0, r1 - orrs r0, r2 - strb r0, [r5, 0x5] - lsls r1, r6, 4 - adds r1, r6 - lsls r1, 2 - add r1, r9 - ldrb r2, [r1, 0x5] - adds r0, r3, 0 - ands r0, r2 - mov r2, r8 - orrs r0, r2 - strb r0, [r1, 0x5] - ldr r0, [sp, 0x14] - lsls r6, r0, 4 - adds r6, r0 - lsls r6, 2 - mov r1, r9 - adds r7, r6, r1 - adds r0, r7, 0 - adds r1, r4, 0 - movs r2, 0x44 - str r3, [sp, 0x18] - bl memcpy - mov r2, r10 - lsls r4, r2, 4 - add r4, r10 - lsls r4, 2 - adds r0, r4, 0 - add r0, r9 - mov r8, r0 - adds r1, r5, 0 - movs r2, 0x44 - bl memcpy - ldrb r1, [r7, 0x1] - ldr r3, [sp, 0x18] - adds r0, r3, 0 - ands r0, r1 - movs r1, 0x8 - orrs r0, r1 - strb r0, [r7, 0x1] - mov r2, r8 - ldrb r0, [r2, 0x1] - ands r3, r0 - orrs r3, r1 - strb r3, [r2, 0x1] - movs r0, 0x1C - add r9, r0 - add r6, r9 - ldr r1, _080EEDD4 @ =SpriteCallbackDummy - str r1, [r6] - add r4, r9 - str r1, [r4] - mov r0, sp - bl sub_80752A0 - mov r0, sp - ldrb r0, [r0, 0x9] - ldr r1, _080EEDD8 @ =gFile_graphics_battle_anims_masks_unknown_D2EC24_tilemap - bl sub_807543C - mov r0, sp - ldrb r0, [r0, 0x9] - ldr r1, _080EEDDC @ =gFile_graphics_battle_anims_masks_unknown_D2EC24_sheet - mov r2, sp - ldrh r2, [r2, 0xA] - bl sub_80753B4 - ldr r0, _080EEDE0 @ =gFile_graphics_battle_anims_masks_cure_bubbles_palette - mov r1, sp - ldrb r1, [r1, 0x8] - lsls r1, 4 - movs r2, 0x20 - bl LoadCompressedPalette - ldr r1, _080EEDE4 @ =gBattle_BG1_X - ldrh r0, [r7, 0x20] - negs r0, r0 - adds r0, 0x20 - strh r0, [r1] - ldr r1, _080EEDE8 @ =gBattle_BG1_Y - ldrh r0, [r7, 0x22] - negs r0, r0 - subs r0, 0x20 - strh r0, [r1] - ldr r1, _080EEDEC @ =gTasks - ldr r2, [sp, 0x10] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r1 - movs r1, 0xA0 - lsls r1, 2 - strh r1, [r0, 0xA] - mov r1, sp - ldrh r1, [r1, 0x14] - strh r1, [r0, 0x8] - mov r2, r10 - strh r2, [r0, 0xC] - ldr r1, _080EEDF0 @ =sub_80EEDF4 - str r1, [r0] - add sp, 0x1C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080EEDB4: .4byte gBattleAnimAttacker -_080EEDB8: .4byte gUnknown_2022984 -_080EEDBC: .4byte gUnknown_2022986 -_080EEDC0: .4byte 0x00003f3f -_080EEDC4: .4byte 0x00003f3d -_080EEDC8: .4byte 0x00003f42 -_080EEDCC: .4byte gUnknown_3004FF0 -_080EEDD0: .4byte gSprites -_080EEDD4: .4byte SpriteCallbackDummy -_080EEDD8: .4byte gFile_graphics_battle_anims_masks_unknown_D2EC24_tilemap -_080EEDDC: .4byte gFile_graphics_battle_anims_masks_unknown_D2EC24_sheet -_080EEDE0: .4byte gFile_graphics_battle_anims_masks_cure_bubbles_palette -_080EEDE4: .4byte gBattle_BG1_X -_080EEDE8: .4byte gBattle_BG1_Y -_080EEDEC: .4byte gTasks -_080EEDF0: .4byte sub_80EEDF4 - thumb_func_end sub_80EEC0C - - thumb_func_start sub_80EEDF4 -sub_80EEDF4: @ 80EEDF4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, _080EEE3C @ =gBattleAnimAttacker - ldrb r0, [r0] - mov r8, r0 - ldr r1, _080EEE40 @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r5, r0, r1 - ldrh r1, [r5, 0xA] - ldrh r0, [r5, 0x22] - adds r1, r0 - movs r3, 0 - strh r1, [r5, 0x22] - ldr r2, _080EEE44 @ =gBattle_BG1_Y - lsls r0, r1, 16 - lsrs r0, 24 - ldrh r4, [r2] - adds r0, r4 - strh r0, [r2] - movs r0, 0xFF - ands r1, r0 - strh r1, [r5, 0x22] - movs r1, 0x26 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _080EEE84 - cmp r0, 0x1 - bgt _080EEE48 - cmp r0, 0 - beq _080EEE4E - b _080EEFA8 - .align 2, 0 -_080EEE3C: .4byte gBattleAnimAttacker -_080EEE40: .4byte gTasks -_080EEE44: .4byte gBattle_BG1_Y -_080EEE48: - cmp r0, 0x2 - beq _080EEE9C - b _080EEFA8 -_080EEE4E: - ldrh r0, [r5, 0x1E] - adds r1, r0, 0x1 - strh r1, [r5, 0x1E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - bgt _080EEE5E - b _080EEFA8 -_080EEE5E: - strh r3, [r5, 0x1E] - ldrh r1, [r5, 0x20] - adds r1, 0x1 - strh r1, [r5, 0x20] - movs r0, 0x10 - subs r0, r1 - lsls r0, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r2, 0x20 - ldrsh r0, [r5, r2] - cmp r0, 0x8 - beq _080EEE82 - b _080EEFA8 -_080EEE82: - b _080EEE94 -_080EEE84: - ldrh r0, [r5, 0x1C] - adds r0, 0x1 - strh r0, [r5, 0x1C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1E - beq _080EEE94 - b _080EEFA8 -_080EEE94: - ldrh r0, [r5, 0x26] - adds r0, 0x1 - strh r0, [r5, 0x26] - b _080EEFA8 -_080EEE9C: - ldrh r0, [r5, 0x1E] - adds r1, r0, 0x1 - strh r1, [r5, 0x1E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080EEFA8 - strh r3, [r5, 0x1E] - ldrh r1, [r5, 0x20] - subs r1, 0x1 - strh r1, [r5, 0x20] - movs r0, 0x10 - subs r0, r1 - lsls r0, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r0, 0x20 - ldrsh r4, [r5, r0] - cmp r4, 0 - bne _080EEFA8 - movs r0, 0 - bl sub_8073128 - ldr r0, _080EEFB4 @ =gUnknown_2022984 - strh r4, [r0] - ldr r0, _080EEFB8 @ =gUnknown_2022986 - strh r4, [r0] - ldr r4, _080EEFBC @ =0x00003f3f - movs r0, 0x48 - adds r1, r4, 0 - bl SetGpuReg - movs r0, 0x4A - adds r1, r4, 0 - bl SetGpuReg - bl sub_8073788 - lsls r0, 24 - cmp r0, 0 - bne _080EEF00 - movs r0, 0x1 - movs r1, 0x3 - movs r2, 0 - bl SetAnimBgAttribute -_080EEF00: - movs r0, 0 - bl GetGpuReg - adds r1, r0, 0 - movs r2, 0x80 - lsls r2, 8 - adds r0, r2, 0 - eors r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0 - bl SetGpuReg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r4, 0x8 - ldrsh r1, [r5, r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r6, _080EEFC0 @ =gSprites - adds r0, r6 - bl DestroySprite - movs r0, 0xC - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - bl DestroySprite - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0 - bl SetAnimBgAttribute - ldr r0, _080EEFC4 @ =gUnknown_3004FF0 - add r0, r8 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - ldrb r2, [r1, 0x6] - mov r8, r2 - ldrh r4, [r1, 0x38] - lsls r4, 24 - lsrs r4, 24 - ldrb r3, [r1, 0x5] - movs r2, 0xD - negs r2, r2 - adds r0, r2, 0 - ands r0, r3 - movs r5, 0x4 - orrs r0, r5 - strb r0, [r1, 0x5] - mov r0, r8 - lsls r1, r0, 4 - add r1, r8 - lsls r1, 2 - adds r1, r6 - ldrb r3, [r1, 0x5] - adds r0, r2, 0 - ands r0, r3 - orrs r0, r5 - strb r0, [r1, 0x5] - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r0, r6 - ldrb r1, [r0, 0x5] - ands r2, r1 - orrs r2, r5 - strb r2, [r0, 0x5] - adds r0, r7, 0 - bl DestroyAnimVisualTask -_080EEFA8: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080EEFB4: .4byte gUnknown_2022984 -_080EEFB8: .4byte gUnknown_2022986 -_080EEFBC: .4byte 0x00003f3f -_080EEFC0: .4byte gSprites -_080EEFC4: .4byte gUnknown_3004FF0 - thumb_func_end sub_80EEDF4 - - thumb_func_start sub_80EEFC8 -sub_80EEFC8: @ 80EEFC8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - mov r9, r0 - adds r7, r1, 0 - lsls r2, 24 - lsrs r2, 24 - ldr r0, _080EF0A0 @ =gUnknown_3004FF0 - adds r2, r0 - ldrb r0, [r2] - lsls r5, r0, 4 - adds r5, r0 - lsls r5, 2 - ldr r0, _080EF0A4 @ =gSprites - adds r5, r0 - ldrb r1, [r5, 0x6] - mov r10, r1 - ldrh r4, [r5, 0x38] - lsls r4, 24 - lsrs r4, 24 - ldr r0, _080EF0A8 @ =0x0000d709 - bl AllocSpritePalette - mov r2, r9 - strb r0, [r2] - ldr r0, _080EF0AC @ =0x0000d70a - bl AllocSpritePalette - strb r0, [r7] - ldrb r0, [r5, 0x5] - lsrs r0, 4 - lsls r0, 4 - movs r1, 0x80 - lsls r1, 1 - adds r3, r1, 0 - orrs r0, r3 - lsls r6, r4, 4 - adds r6, r4 - lsls r6, 2 - ldr r2, _080EF0A4 @ =gSprites - adds r6, r2 - ldrb r4, [r6, 0x5] - lsrs r4, 4 - lsls r4, 4 - orrs r4, r3 - lsls r0, 1 - ldr r1, _080EF0B0 @ =gPlttBufferUnfaded - mov r8, r1 - add r0, r8 - mov r2, r9 - ldrb r1, [r2] - lsls r1, 4 - adds r1, r3, r1 - movs r2, 0x20 - str r3, [sp] - bl LoadPalette - lsls r4, 1 - add r4, r8 - ldrb r0, [r7] - lsls r0, 4 - ldr r3, [sp] - adds r3, r0 - adds r0, r4, 0 - adds r1, r3, 0 - movs r2, 0x20 - bl LoadPalette - mov r0, r9 - ldrb r1, [r0] - lsls r1, 4 - ldrb r2, [r5, 0x5] - movs r3, 0xF - adds r0, r3, 0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x5] - mov r2, r10 - lsls r1, r2, 4 - add r1, r10 - lsls r1, 2 - ldr r0, _080EF0A4 @ =gSprites - adds r1, r0 - mov r0, r9 - ldrb r2, [r0] - lsls r2, 4 - ldrb r4, [r1, 0x5] - adds r0, r3, 0 - ands r0, r4 - orrs r0, r2 - strb r0, [r1, 0x5] - ldrb r0, [r7] - lsls r0, 4 - ldrb r1, [r6, 0x5] - ands r3, r1 - orrs r3, r0 - strb r3, [r6, 0x5] - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080EF0A0: .4byte gUnknown_3004FF0 -_080EF0A4: .4byte gSprites -_080EF0A8: .4byte 0x0000d709 -_080EF0AC: .4byte 0x0000d70a -_080EF0B0: .4byte gPlttBufferUnfaded - thumb_func_end sub_80EEFC8 - - thumb_func_start sub_80EF0B4 -sub_80EF0B4: @ 80EF0B4 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - mov r1, sp - adds r1, 0x1 - ldr r0, _080EF0DC @ =gBattleAnimAttacker - ldrb r2, [r0] - mov r0, sp - bl sub_80EEFC8 - adds r0, r4, 0 - bl DestroyAnimVisualTask - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080EF0DC: .4byte gBattleAnimAttacker - thumb_func_end sub_80EF0B4 - - thumb_func_start sub_80EF0E0 -sub_80EF0E0: @ 80EF0E0 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080EF168 @ =gUnknown_3004FF0 - adds r0, r1 - ldrb r0, [r0] - ldr r1, _080EF16C @ =gSprites - mov r8, r1 - lsls r5, r0, 4 - adds r5, r0 - lsls r5, 2 - add r5, r8 - ldrb r0, [r5, 0x6] - mov r9, r0 - ldrh r6, [r5, 0x38] - lsls r6, 24 - lsrs r6, 24 - ldr r0, _080EF170 @ =0x0000d709 - bl FreeSpritePaletteByTag - ldr r0, _080EF174 @ =0x0000d70a - bl FreeSpritePaletteByTag - ldr r0, _080EF178 @ =0x0000d6ff - bl IndexOfSpritePaletteTag - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _080EF17C @ =0x0000d704 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsls r4, 4 - ldrb r2, [r5, 0x5] - movs r3, 0xF - adds r1, r3, 0 - ands r1, r2 - orrs r1, r4 - strb r1, [r5, 0x5] - mov r1, r9 - lsls r2, r1, 4 - add r2, r9 - lsls r2, 2 - add r2, r8 - ldrb r5, [r2, 0x5] - adds r1, r3, 0 - ands r1, r5 - orrs r1, r4 - strb r1, [r2, 0x5] - lsls r1, r6, 4 - adds r1, r6 - lsls r1, 2 - add r1, r8 - lsrs r0, 20 - ldrb r2, [r1, 0x5] - ands r3, r2 - orrs r3, r0 - strb r3, [r1, 0x5] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080EF168: .4byte gUnknown_3004FF0 -_080EF16C: .4byte gSprites -_080EF170: .4byte 0x0000d709 -_080EF174: .4byte 0x0000d70a -_080EF178: .4byte 0x0000d6ff -_080EF17C: .4byte 0x0000d704 - thumb_func_end sub_80EF0E0 - - thumb_func_start sub_80EF180 -sub_80EF180: @ 80EF180 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _080EF19C @ =gBattleAnimAttacker - ldrb r0, [r0] - bl sub_80EF0E0 - adds r0, r4, 0 - bl DestroyAnimVisualTask - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080EF19C: .4byte gBattleAnimAttacker - thumb_func_end sub_80EF180 - - thumb_func_start sub_80EF1A0 -sub_80EF1A0: @ 80EF1A0 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080EF1C0 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r2, _080EF1C4 @ =gBattleAnimArgs - ldrh r0, [r2] - strh r0, [r1, 0x1C] - ldrh r0, [r2, 0x2] - strh r0, [r1, 0x1E] - ldr r0, _080EF1C8 @ =sub_80EF1CC - str r0, [r1] - bx lr - .align 2, 0 -_080EF1C0: .4byte gTasks -_080EF1C4: .4byte gBattleAnimArgs -_080EF1C8: .4byte sub_80EF1CC - thumb_func_end sub_80EF1A0 - - thumb_func_start sub_80EF1CC -sub_80EF1CC: @ 80EF1CC - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _080EF218 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - movs r6, 0 - adds r1, r0, 0x1 - strh r1, [r4, 0x8] - lsls r0, 16 - asrs r0, 16 - movs r2, 0x1E - ldrsh r1, [r4, r2] - cmp r0, r1 - blt _080EF28C - strh r6, [r4, 0x8] - ldr r0, _080EF21C @ =0x0000d709 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r2, r0, 24 - movs r3, 0x1C - ldrsh r0, [r4, r3] - movs r1, 0x2 - cmp r0, 0 - bne _080EF20A - movs r1, 0x6 -_080EF20A: - movs r3, 0xA - ldrsh r0, [r4, r3] - cmp r0, 0 - beq _080EF220 - cmp r0, 0x1 - beq _080EF25C - b _080EF28C - .align 2, 0 -_080EF218: .4byte gTasks -_080EF21C: .4byte 0x0000d709 -_080EF220: - ldrh r0, [r4, 0xC] - adds r0, 0x2 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x10 - ble _080EF232 - movs r0, 0x10 - strh r0, [r4, 0xC] -_080EF232: - lsls r0, r2, 4 - movs r2, 0x80 - lsls r2, 1 - adds r0, r2 - orrs r0, r1 - ldrb r2, [r4, 0xC] - ldr r3, _080EF258 @ =0x00007f74 - movs r1, 0x1 - bl BlendPalette - movs r3, 0xC - ldrsh r0, [r4, r3] - cmp r0, 0x10 - bne _080EF28C - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - b _080EF28C - .align 2, 0 -_080EF258: .4byte 0x00007f74 -_080EF25C: - ldrh r0, [r4, 0xC] - subs r0, 0x2 - strh r0, [r4, 0xC] - lsls r0, 16 - cmp r0, 0 - bge _080EF26A - strh r6, [r4, 0xC] -_080EF26A: - lsls r0, r2, 4 - movs r2, 0x80 - lsls r2, 1 - adds r0, r2 - orrs r0, r1 - ldrb r2, [r4, 0xC] - ldr r3, _080EF294 @ =0x00007f74 - movs r1, 0x1 - bl BlendPalette - movs r3, 0xC - ldrsh r0, [r4, r3] - cmp r0, 0 - bne _080EF28C - adds r0, r5, 0 - bl DestroyAnimVisualTask -_080EF28C: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080EF294: .4byte 0x00007f74 - thumb_func_end sub_80EF1CC - - thumb_func_start sub_80EF298 -sub_80EF298: @ 80EF298 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, _080EF2C4 @ =gBattlerSpriteIds - ldr r0, _080EF2C8 @ =gBattleAnimAttacker - ldrb r0, [r0] - adds r0, r1 - ldrb r5, [r0] - ldr r1, _080EF2CC @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _080EF2E6 - cmp r0, 0x1 - bgt _080EF2D0 - cmp r0, 0 - beq _080EF2D6 - b _080EF338 - .align 2, 0 -_080EF2C4: .4byte gBattlerSpriteIds -_080EF2C8: .4byte gBattleAnimAttacker -_080EF2CC: .4byte gTasks -_080EF2D0: - cmp r0, 0x2 - beq _080EF318 - b _080EF338 -_080EF2D6: - adds r0, r5, 0 - movs r1, 0 - bl sub_80758E0 - movs r0, 0x80 - lsls r0, 1 - strh r0, [r4, 0x1C] - b _080EF30A -_080EF2E6: - ldrh r0, [r4, 0x1C] - adds r0, 0x30 - strh r0, [r4, 0x1C] - movs r0, 0x1C - ldrsh r2, [r4, r0] - adds r0, r5, 0 - adds r1, r2, 0 - movs r3, 0 - bl obj_id_set_rotscale - adds r0, r5, 0 - bl sub_8076440 - movs r0, 0x1C - ldrsh r1, [r4, r0] - ldr r0, _080EF314 @ =0x000002cf - cmp r1, r0 - ble _080EF338 -_080EF30A: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080EF338 - .align 2, 0 -_080EF314: .4byte 0x000002cf -_080EF318: - adds r0, r5, 0 - bl sub_8075980 - ldr r1, _080EF340 @ =gSprites - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - adds r0, r1 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - adds r0, r6, 0 - bl DestroyAnimVisualTask -_080EF338: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080EF340: .4byte gSprites - thumb_func_end sub_80EF298 - - thumb_func_start sub_80EF344 -sub_80EF344: @ 80EF344 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0xC - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _080EF37C @ =gBattlerSpriteIds - ldr r4, _080EF380 @ =gBattleAnimAttacker - ldrb r0, [r4] - adds r1, r0, r1 - ldrb r1, [r1] - mov r9, r1 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080EF38C - ldr r1, _080EF384 @ =gBattlerPartyIndexes - ldrb r0, [r4] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080EF388 @ =gPlayerParty - b _080EF39C - .align 2, 0 -_080EF37C: .4byte gBattlerSpriteIds -_080EF380: .4byte gBattleAnimAttacker -_080EF384: .4byte gBattlerPartyIndexes -_080EF388: .4byte gPlayerParty -_080EF38C: - ldr r1, _080EF3CC @ =gBattlerPartyIndexes - ldrb r0, [r4] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080EF3D0 @ =gEnemyParty -_080EF39C: - adds r0, r1 - movs r1, 0x26 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - bl ItemIdToBallId - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r2, _080EF3D4 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r6, r0, r2 - movs r0, 0x8 - ldrsh r7, [r6, r0] - cmp r7, 0 - beq _080EF3D8 - cmp r7, 0x1 - beq _080EF458 - b _080EF482 - .align 2, 0 -_080EF3CC: .4byte gBattlerPartyIndexes -_080EF3D0: .4byte gEnemyParty -_080EF3D4: .4byte gTasks -_080EF3D8: - ldr r5, _080EF450 @ =gBattleAnimAttacker - ldrb r0, [r5] - movs r1, 0 - bl sub_8074480 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldrb r0, [r5] - movs r1, 0x1 - bl sub_8074480 - adds r1, r0, 0 - lsls r1, 24 - ldr r2, _080EF454 @ =gSprites - mov r3, r9 - lsls r0, r3, 4 - add r0, r9 - lsls r0, 2 - adds r0, r2 - ldrb r2, [r0, 0x5] - lsls r2, 28 - lsrs r2, 30 - adds r0, 0x43 - ldrb r3, [r0] - movs r0, 0x80 - lsls r0, 22 - adds r1, r0 - lsrs r1, 24 - mov r0, r8 - str r0, [sp] - adds r0, r4, 0 - bl LaunchBallStarsTask - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x1C] - str r7, [sp] - str r7, [sp, 0x4] - str r7, [sp, 0x8] - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl sub_8075BE8 - adds r2, r0, 0 - ldrb r1, [r5] - movs r0, 0 - mov r3, r8 - bl LaunchBallFadeMonTask - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x1E] - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] - b _080EF482 - .align 2, 0 -_080EF450: .4byte gBattleAnimAttacker -_080EF454: .4byte gSprites -_080EF458: - movs r1, 0x1C - ldrsh r0, [r6, r1] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrb r0, [r1, 0x4] - cmp r0, 0 - bne _080EF482 - movs r3, 0x1E - ldrsh r0, [r6, r3] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrb r0, [r1, 0x4] - cmp r0, 0 - bne _080EF482 - adds r0, r5, 0 - bl DestroyAnimVisualTask -_080EF482: - add sp, 0xC - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80EF344 - - thumb_func_start sub_80EF490 -sub_80EF490: @ 80EF490 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _080EF4B4 @ =gUnknown_2023D68 - ldrh r0, [r0] - bl ItemIdToBallId - lsls r0, 24 - lsrs r0, 24 - bl LoadBallGfx - adds r0, r4, 0 - bl DestroyAnimVisualTask - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080EF4B4: .4byte gUnknown_2023D68 - thumb_func_end sub_80EF490 - - thumb_func_start sub_80EF4B8 -sub_80EF4B8: @ 80EF4B8 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _080EF4DC @ =gUnknown_2023D68 - ldrh r0, [r0] - bl ItemIdToBallId - lsls r0, 24 - lsrs r0, 24 - bl FreeBallGfx - adds r0, r4, 0 - bl DestroyAnimVisualTask - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080EF4DC: .4byte gUnknown_2023D68 - thumb_func_end sub_80EF4B8 - - thumb_func_start sub_80EF4E0 -sub_80EF4E0: @ 80EF4E0 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _080EF4FC @ =gUnknown_2024018 - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x8] - cmp r0, 0x5 - beq _080EF504 - cmp r0, 0x6 - beq _080EF514 - ldr r1, _080EF500 @ =gBattleAnimArgs - movs r0, 0 - b _080EF518 - .align 2, 0 -_080EF4FC: .4byte gUnknown_2024018 -_080EF500: .4byte gBattleAnimArgs -_080EF504: - ldr r1, _080EF50C @ =gBattleAnimArgs - ldr r0, _080EF510 @ =0x0000ffff - b _080EF518 - .align 2, 0 -_080EF50C: .4byte gBattleAnimArgs -_080EF510: .4byte 0x0000ffff -_080EF514: - ldr r1, _080EF524 @ =gBattleAnimArgs - ldr r0, _080EF528 @ =0x0000fffe -_080EF518: - strh r0, [r1, 0xE] - adds r0, r2, 0 - bl DestroyAnimVisualTask - pop {r0} - bx r0 - .align 2, 0 -_080EF524: .4byte gBattleAnimArgs -_080EF528: .4byte 0x0000fffe - thumb_func_end sub_80EF4E0 - - thumb_func_start ItemIdToBallId -ItemIdToBallId: @ 80EF52C - push {lr} - lsls r0, 16 - lsrs r0, 16 - subs r0, 0x1 - cmp r0, 0xB - bhi _080EF5A4 - lsls r0, 2 - ldr r1, _080EF544 @ =_080EF548 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080EF544: .4byte _080EF548 - .align 2, 0 -_080EF548: - .4byte _080EF578 - .4byte _080EF57C - .4byte _080EF580 - .4byte _080EF5A4 - .4byte _080EF584 - .4byte _080EF588 - .4byte _080EF58C - .4byte _080EF590 - .4byte _080EF594 - .4byte _080EF598 - .4byte _080EF59C - .4byte _080EF5A0 -_080EF578: - movs r0, 0x4 - b _080EF5A6 -_080EF57C: - movs r0, 0x3 - b _080EF5A6 -_080EF580: - movs r0, 0x1 - b _080EF5A6 -_080EF584: - movs r0, 0x2 - b _080EF5A6 -_080EF588: - movs r0, 0x5 - b _080EF5A6 -_080EF58C: - movs r0, 0x6 - b _080EF5A6 -_080EF590: - movs r0, 0x7 - b _080EF5A6 -_080EF594: - movs r0, 0x8 - b _080EF5A6 -_080EF598: - movs r0, 0x9 - b _080EF5A6 -_080EF59C: - movs r0, 0xA - b _080EF5A6 -_080EF5A0: - movs r0, 0xB - b _080EF5A6 -_080EF5A4: - movs r0, 0 -_080EF5A6: - pop {r1} - bx r1 - thumb_func_end ItemIdToBallId - - thumb_func_start sub_80EF5AC -sub_80EF5AC: @ 80EF5AC - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - mov r10, r0 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - ldr r0, _080EF674 @ =gUnknown_2023D68 - ldrh r0, [r0] - bl ItemIdToBallId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - ldr r1, _080EF678 @ =gUnknown_82606F4 - adds r0, r1 - movs r1, 0x20 - movs r2, 0x50 - movs r3, 0x1D - bl CreateSprite - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r1, _080EF67C @ =gSprites - mov r9, r1 - lsls r4, r5, 4 - adds r4, r5 - lsls r4, 2 - adds r6, r4, r1 - movs r0, 0x22 - strh r0, [r6, 0x2E] - ldr r2, _080EF680 @ =gBattleAnimTarget - mov r8, r2 - ldrb r0, [r2] - movs r1, 0 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x30] - mov r1, r8 - ldrb r0, [r1] - movs r1, 0x1 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x10 - strh r0, [r6, 0x32] - mov r0, r9 - adds r0, 0x1C - adds r4, r0 - ldr r0, _080EF684 @ =sub_80EF8C0 - str r0, [r4] - ldr r0, _080EF688 @ =gUnknown_2024018 - ldr r0, [r0] - ldr r3, [r0, 0x8] - ldr r1, _080EF68C @ =gBattlerSpriteIds - mov r2, r8 - ldrb r0, [r2] - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r9 - adds r0, 0x3E - ldrb r1, [r0] - lsls r1, 29 - lsrs r1, 31 - lsls r1, 1 - ldrb r2, [r3, 0x9] - movs r0, 0x3 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x9] - ldr r1, _080EF690 @ =gTasks - mov r2, r10 - lsls r0, r2, 2 - add r0, r10 - lsls r0, 3 - adds r0, r1 - strh r5, [r0, 0x8] - ldr r1, _080EF694 @ =sub_80EF698 - str r1, [r0] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080EF674: .4byte gUnknown_2023D68 -_080EF678: .4byte gUnknown_82606F4 -_080EF67C: .4byte gSprites -_080EF680: .4byte gBattleAnimTarget -_080EF684: .4byte sub_80EF8C0 -_080EF688: .4byte gUnknown_2024018 -_080EF68C: .4byte gBattlerSpriteIds -_080EF690: .4byte gTasks -_080EF694: .4byte sub_80EF698 - thumb_func_end sub_80EF5AC - - thumb_func_start sub_80EF698 -sub_80EF698: @ 80EF698 - push {lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r1, _080EF6C8 @ =gTasks - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 3 - adds r0, r1 - ldrb r1, [r0, 0x8] - ldr r2, _080EF6CC @ =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x2E] - ldr r0, _080EF6D0 @ =0x0000ffff - cmp r1, r0 - bne _080EF6C2 - adds r0, r3, 0 - bl DestroyAnimVisualTask -_080EF6C2: - pop {r0} - bx r0 - .align 2, 0 -_080EF6C8: .4byte gTasks -_080EF6CC: .4byte gSprites -_080EF6D0: .4byte 0x0000ffff - thumb_func_end sub_80EF698 - - thumb_func_start sub_80EF6D4 -sub_80EF6D4: @ 80EF6D4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, _080EF6F4 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 2 - ands r0, r1 - cmp r0, 0 - beq _080EF6F8 - movs r5, 0x1C - movs r6, 0xB - b _080EF708 - .align 2, 0 -_080EF6F4: .4byte gBattleTypeFlags -_080EF6F8: - movs r5, 0x17 - movs r6, 0xB - ldr r0, _080EF7C4 @ =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - cmp r0, 0x1 - bne _080EF708 - movs r6, 0xD -_080EF708: - ldr r0, _080EF7C8 @ =gUnknown_2023D68 - ldrh r0, [r0] - bl ItemIdToBallId - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r0, 24 - bl sub_807685C - adds r3, r0, 0 - adds r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 3 - ldr r1, _080EF7CC @ =gUnknown_82606F4 - adds r0, r1 - movs r1, 0x20 - orrs r5, r1 - movs r1, 0x50 - orrs r6, r1 - adds r1, r5, 0 - adds r2, r6, 0 - bl CreateSprite - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r0, _080EF7D0 @ =gSprites - mov r9, r0 - lsls r4, r5, 4 - adds r4, r5 - lsls r4, 2 - adds r6, r4, r0 - movs r0, 0x22 - strh r0, [r6, 0x2E] - ldr r1, _080EF7D4 @ =gBattleAnimTarget - mov r8, r1 - ldrb r0, [r1] - movs r1, 0 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x30] - mov r1, r8 - ldrb r0, [r1] - movs r1, 0x1 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x10 - strh r0, [r6, 0x32] - movs r0, 0x1C - add r9, r0 - add r4, r9 - ldr r0, _080EF7D8 @ =SpriteCallbackDummy - str r0, [r4] - movs r0, 0 - bl GetBattlerAtPosition - ldr r1, _080EF7DC @ =gBattlerSpriteIds - lsls r0, 24 - lsrs r0, 24 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r9 - ldr r1, _080EF7E0 @ =sub_8012354 - str r1, [r0] - ldr r1, _080EF7E4 @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - strh r5, [r0, 0x8] - ldr r1, _080EF7E8 @ =sub_80EF7EC - str r1, [r0] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080EF7C4: .4byte gSaveBlock2Ptr -_080EF7C8: .4byte gUnknown_2023D68 -_080EF7CC: .4byte gUnknown_82606F4 -_080EF7D0: .4byte gSprites -_080EF7D4: .4byte gBattleAnimTarget -_080EF7D8: .4byte SpriteCallbackDummy -_080EF7DC: .4byte gBattlerSpriteIds -_080EF7E0: .4byte sub_8012354 -_080EF7E4: .4byte gTasks -_080EF7E8: .4byte sub_80EF7EC - thumb_func_end sub_80EF6D4 - - thumb_func_start sub_80EF7EC -sub_80EF7EC: @ 80EF7EC - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r6, _080EF84C @ =gSprites - movs r0, 0 - bl GetBattlerAtPosition - ldr r1, _080EF850 @ =gBattlerSpriteIds - lsls r0, 24 - lsrs r0, 24 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x2B - ldrb r0, [r0] - cmp r0, 0x1 - bne _080EF846 - movs r0, 0x36 - movs r1, 0 - bl PlaySE12WithPanning - ldr r0, _080EF854 @ =gTasks - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - adds r4, r0 - movs r0, 0x8 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r6, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, _080EF858 @ =sub_80EF8C0 - str r1, [r0] - ldr r0, _080EF85C @ =sub_80EF864 - movs r1, 0xA - bl CreateTask - ldr r0, _080EF860 @ =sub_80EF698 - str r0, [r4] -_080EF846: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080EF84C: .4byte gSprites -_080EF850: .4byte gBattlerSpriteIds -_080EF854: .4byte gTasks -_080EF858: .4byte sub_80EF8C0 -_080EF85C: .4byte sub_80EF864 -_080EF860: .4byte sub_80EF698 - thumb_func_end sub_80EF7EC - - thumb_func_start sub_80EF864 -sub_80EF864: @ 80EF864 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r6, _080EF8B8 @ =gSprites - movs r0, 0 - bl GetBattlerAtPosition - ldr r4, _080EF8BC @ =gBattlerSpriteIds - lsls r0, 24 - lsrs r0, 24 - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 27 - cmp r0, 0 - bge _080EF8B0 - movs r0, 0 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r0, 24 - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0 - bl StartSpriteAnim - adds r0, r5, 0 - bl DestroyTask -_080EF8B0: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080EF8B8: .4byte gSprites -_080EF8BC: .4byte gBattlerSpriteIds - thumb_func_end sub_80EF864 - - thumb_func_start sub_80EF8C0 -sub_80EF8C0: @ 80EF8C0 - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x30] - ldrh r2, [r4, 0x32] - ldrh r0, [r4, 0x20] - strh r0, [r4, 0x30] - strh r1, [r4, 0x32] - ldrh r0, [r4, 0x22] - strh r0, [r4, 0x34] - strh r2, [r4, 0x36] - ldr r0, _080EF8E8 @ =0x0000ffd8 - strh r0, [r4, 0x38] - adds r0, r4, 0 - bl sub_8075068 - ldr r0, _080EF8EC @ =sub_80EF8F0 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080EF8E8: .4byte 0x0000ffd8 -_080EF8EC: .4byte sub_80EF8F0 - thumb_func_end sub_80EF8C0 - - thumb_func_start sub_80EF8F0 -sub_80EF8F0: @ 80EF8F0 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - bl AnimateBallThrow - lsls r0, 24 - cmp r0, 0 - beq _080EF99E - ldr r0, _080EF914 @ =gUnknown_2024018 - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x8] - cmp r0, 0x5 - bne _080EF91C - ldr r0, _080EF918 @ =sub_80F0478 - str r0, [r4, 0x1C] - b _080EF99E - .align 2, 0 -_080EF914: .4byte gUnknown_2024018 -_080EF918: .4byte sub_80F0478 -_080EF91C: - cmp r0, 0x6 - bne _080EF92C - ldr r0, _080EF928 @ =sub_80F052C - str r0, [r4, 0x1C] - b _080EF99E - .align 2, 0 -_080EF928: .4byte sub_80F052C -_080EF92C: - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAnim - ldrh r0, [r4, 0x24] - ldrh r1, [r4, 0x20] - adds r0, r1 - movs r1, 0 - strh r0, [r4, 0x20] - ldrh r0, [r4, 0x26] - ldrh r2, [r4, 0x22] - adds r0, r2 - strh r0, [r4, 0x22] - strh r1, [r4, 0x24] - strh r1, [r4, 0x26] - adds r1, r4, 0 - adds r1, 0x2E - movs r2, 0 - adds r0, r4, 0 - adds r0, 0x3C -_080EF954: - strh r2, [r0] - subs r0, 0x2 - cmp r0, r1 - bge _080EF954 - movs r0, 0 - strh r0, [r4, 0x38] - ldr r0, _080EF9A8 @ =sub_80EF9B4 - str r0, [r4, 0x1C] - ldr r0, _080EF9AC @ =gUnknown_2023D68 - ldrh r0, [r0] - bl ItemIdToBallId - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0xB - bgt _080EF99E - cmp r5, 0 - blt _080EF99E - ldrh r0, [r4, 0x20] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x22] - subs r1, 0x5 - lsls r1, 24 - lsrs r1, 24 - str r5, [sp] - movs r2, 0x1 - movs r3, 0x1C - bl LaunchBallStarsTask - ldr r0, _080EF9B0 @ =gBattleAnimTarget - ldrb r1, [r0] - movs r0, 0 - movs r2, 0xE - adds r3, r5, 0 - bl LaunchBallFadeMonTask -_080EF99E: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080EF9A8: .4byte sub_80EF9B4 -_080EF9AC: .4byte gUnknown_2023D68 -_080EF9B0: .4byte gBattleAnimTarget - thumb_func_end sub_80EF8F0 - - thumb_func_start sub_80EF9B4 -sub_80EF9B4: @ 80EF9B4 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA - bne _080EF9F0 - ldr r0, _080EF9F8 @ =TaskDummy - movs r1, 0x32 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x38] - ldr r0, _080EF9FC @ =sub_80EFA0C - str r0, [r4, 0x1C] - ldr r2, _080EFA00 @ =gSprites - ldr r1, _080EFA04 @ =gBattlerSpriteIds - ldr r0, _080EFA08 @ =gBattleAnimTarget - ldrb r0, [r0] - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0 - strh r1, [r0, 0x30] -_080EF9F0: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080EF9F8: .4byte TaskDummy -_080EF9FC: .4byte sub_80EFA0C -_080EFA00: .4byte gSprites -_080EFA04: .4byte gBattlerSpriteIds -_080EFA08: .4byte gBattleAnimTarget - thumb_func_end sub_80EF9B4 - - thumb_func_start sub_80EFA0C -sub_80EFA0C: @ 80EFA0C - push {r4-r7,lr} - adds r7, r0, 0 - ldr r1, _080EFA50 @ =gBattlerSpriteIds - ldr r0, _080EFA54 @ =gBattleAnimTarget - ldrb r0, [r0] - adds r0, r1 - ldrb r4, [r0] - ldrh r0, [r7, 0x38] - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, _080EFA58 @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r5, r0, r1 - ldrh r0, [r5, 0xA] - adds r0, 0x1 - strh r0, [r5, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xB - bne _080EFA3E - movs r0, 0x35 - bl PlaySE -_080EFA3E: - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _080EFAB4 - cmp r0, 0x1 - bgt _080EFA5C - cmp r0, 0 - beq _080EFA62 - b _080EFB20 - .align 2, 0 -_080EFA50: .4byte gBattlerSpriteIds -_080EFA54: .4byte gBattleAnimTarget -_080EFA58: .4byte gTasks -_080EFA5C: - cmp r0, 0x2 - beq _080EFAF8 - b _080EFB20 -_080EFA62: - adds r0, r4, 0 - movs r1, 0 - bl sub_80758E0 - movs r0, 0x80 - lsls r0, 1 - strh r0, [r5, 0x1C] - ldr r1, _080EFAA4 @ =gUnknown_3005424 - movs r0, 0x1C - str r0, [r1] - ldr r2, _080EFAA8 @ =gUnknown_300542C - ldr r1, _080EFAAC @ =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - ldrh r1, [r0, 0x26] - ldrh r0, [r0, 0x22] - adds r1, r0 - ldrh r0, [r7, 0x26] - ldrh r7, [r7, 0x22] - adds r0, r7 - subs r1, r0 - strh r1, [r2] - ldr r4, _080EFAB0 @ =gUnknown_3005428 - ldrh r0, [r2] - lsls r0, 8 - movs r1, 0x1C - bl __udivsi3 - strh r0, [r4] - strh r0, [r5, 0xC] - b _080EFB12 - .align 2, 0 -_080EFAA4: .4byte gUnknown_3005424 -_080EFAA8: .4byte gUnknown_300542C -_080EFAAC: .4byte gSprites -_080EFAB0: .4byte gUnknown_3005428 -_080EFAB4: - ldrh r0, [r5, 0x1C] - adds r0, 0x20 - strh r0, [r5, 0x1C] - movs r0, 0x1C - ldrsh r2, [r5, r0] - adds r0, r4, 0 - adds r1, r2, 0 - movs r3, 0 - bl obj_id_set_rotscale - ldrh r0, [r5, 0xC] - ldrh r1, [r5, 0xE] - adds r0, r1 - strh r0, [r5, 0xE] - ldr r0, _080EFAF0 @ =gSprites - lsls r1, r4, 4 - adds r1, r4 - lsls r1, 2 - adds r1, r0 - movs r2, 0xE - ldrsh r0, [r5, r2] - negs r0, r0 - asrs r0, 8 - strh r0, [r1, 0x26] - movs r0, 0x1C - ldrsh r1, [r5, r0] - ldr r0, _080EFAF4 @ =0x0000047f - cmp r1, r0 - ble _080EFB48 - b _080EFB12 - .align 2, 0 -_080EFAF0: .4byte gSprites -_080EFAF4: .4byte 0x0000047f -_080EFAF8: - adds r0, r4, 0 - bl sub_8075980 - ldr r1, _080EFB1C @ =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_080EFB12: - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - b _080EFB48 - .align 2, 0 -_080EFB1C: .4byte gSprites -_080EFB20: - ldr r0, _080EFB50 @ =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - movs r2, 0xA - ldrsh r0, [r1, r2] - cmp r0, 0xA - ble _080EFB48 - adds r0, r6, 0 - bl DestroyTask - adds r0, r7, 0 - movs r1, 0x2 - bl StartSpriteAnim - movs r0, 0 - strh r0, [r7, 0x38] - ldr r0, _080EFB54 @ =sub_80EFB58 - str r0, [r7, 0x1C] -_080EFB48: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080EFB50: .4byte gTasks -_080EFB54: .4byte sub_80EFB58 - thumb_func_end sub_80EFA0C - - thumb_func_start sub_80EFB58 -sub_80EFB58: @ 80EFB58 - push {r4,lr} - adds r4, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080EFB92 - movs r1, 0 - strh r1, [r4, 0x34] - movs r0, 0x28 - strh r0, [r4, 0x36] - strh r1, [r4, 0x38] - movs r0, 0 - movs r1, 0x28 - bl Cos - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - movs r0, 0x36 - ldrsh r1, [r4, r0] - movs r0, 0 - bl Cos - negs r0, r0 - strh r0, [r4, 0x26] - ldr r0, _080EFB98 @ =sub_80EFB9C - str r0, [r4, 0x1C] -_080EFB92: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080EFB98: .4byte sub_80EFB9C - thumb_func_end sub_80EFB58 - - thumb_func_start sub_80EFB9C -sub_80EFB9C: @ 80EFB9C - push {r4,r5,lr} - adds r4, r0, 0 - movs r5, 0 - ldrh r0, [r4, 0x34] - movs r1, 0xFF - ands r1, r0 - cmp r1, 0 - beq _080EFBB2 - cmp r1, 0x1 - beq _080EFC26 - b _080EFC52 -_080EFBB2: - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r2, 0x36 - ldrsh r1, [r4, r2] - bl Cos - negs r0, r0 - strh r0, [r4, 0x26] - ldrh r1, [r4, 0x38] - adds r1, 0x4 - ldrh r2, [r4, 0x34] - lsls r0, r2, 16 - asrs r0, 24 - adds r1, r0 - strh r1, [r4, 0x38] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0x3F - ble _080EFC52 - ldrh r0, [r4, 0x36] - subs r0, 0xA - strh r0, [r4, 0x36] - ldr r1, _080EFBFC @ =0x00000101 - adds r0, r2, r1 - strh r0, [r4, 0x34] - lsls r0, 16 - asrs r0, 24 - cmp r0, 0x4 - bne _080EFBEE - movs r5, 0x1 -_080EFBEE: - cmp r0, 0x2 - beq _080EFC0E - cmp r0, 0x2 - bgt _080EFC00 - cmp r0, 0x1 - beq _080EFC06 - b _080EFC1E - .align 2, 0 -_080EFBFC: .4byte 0x00000101 -_080EFC00: - cmp r0, 0x3 - beq _080EFC16 - b _080EFC1E -_080EFC06: - movs r0, 0x31 - bl PlaySE - b _080EFC52 -_080EFC0E: - movs r0, 0x32 - bl PlaySE - b _080EFC52 -_080EFC16: - movs r0, 0x33 - bl PlaySE - b _080EFC52 -_080EFC1E: - movs r0, 0x34 - bl PlaySE - b _080EFC52 -_080EFC26: - movs r2, 0x38 - ldrsh r0, [r4, r2] - movs r2, 0x36 - ldrsh r1, [r4, r2] - bl Cos - negs r0, r0 - strh r0, [r4, 0x26] - ldrh r1, [r4, 0x38] - subs r1, 0x4 - ldrh r2, [r4, 0x34] - lsls r0, r2, 16 - asrs r0, 24 - subs r1, r0 - strh r1, [r4, 0x38] - lsls r1, 16 - cmp r1, 0 - bgt _080EFC52 - strh r5, [r4, 0x38] - ldr r0, _080EFC80 @ =0xffffff00 - ands r0, r2 - strh r0, [r4, 0x34] -_080EFC52: - cmp r5, 0 - beq _080EFC96 - movs r5, 0 - strh r5, [r4, 0x34] - movs r0, 0x40 - movs r1, 0x28 - bl Cos - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - strh r5, [r4, 0x26] - ldr r0, _080EFC84 @ =gUnknown_2024018 - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x8] - cmp r0, 0 - bne _080EFC8C - strh r5, [r4, 0x38] - ldr r0, _080EFC88 @ =sub_80EFF80 - str r0, [r4, 0x1C] - b _080EFC96 - .align 2, 0 -_080EFC80: .4byte 0xffffff00 -_080EFC84: .4byte gUnknown_2024018 -_080EFC88: .4byte sub_80EFF80 -_080EFC8C: - ldr r0, _080EFC9C @ =sub_80EFCA0 - str r0, [r4, 0x1C] - movs r0, 0x1 - strh r0, [r4, 0x36] - strh r5, [r4, 0x38] -_080EFC96: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080EFC9C: .4byte sub_80EFCA0 - thumb_func_end sub_80EFB9C - - thumb_func_start sub_80EFCA0 -sub_80EFCA0: @ 80EFCA0 - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x34] - adds r0, 0x1 - movs r5, 0 - strh r0, [r4, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1F - bne _080EFCDC - strh r5, [r4, 0x34] - adds r2, r4, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - ldr r0, _080EFCE4 @ =gUnknown_2024018 - ldr r0, [r0] - ldr r0, [r0, 0x8] - strh r5, [r0, 0xC] - ldr r0, _080EFCE8 @ =sub_80EFCEC - str r0, [r4, 0x1C] - movs r0, 0x17 - bl PlaySE -_080EFCDC: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080EFCE4: .4byte gUnknown_2024018 -_080EFCE8: .4byte sub_80EFCEC - thumb_func_end sub_80EFCA0 - - thumb_func_start sub_80EFCEC -sub_80EFCEC: @ 80EFCEC - push {r4-r6,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x34] - movs r1, 0xFF - ands r1, r0 - cmp r1, 0x6 - bls _080EFCFC - b _080EFF34 -_080EFCFC: - lsls r0, r1, 2 - ldr r1, _080EFD08 @ =_080EFD0C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080EFD08: .4byte _080EFD0C - .align 2, 0 -_080EFD0C: - .4byte _080EFD28 - .4byte _080EFD7A - .4byte _080EFDC0 - .4byte _080EFE20 - .4byte _080EFE70 - .4byte _080EFED4 - .4byte _080EFF34 -_080EFD28: - ldr r1, _080EFD4C @ =gUnknown_2024018 - ldr r5, [r1] - ldr r2, [r5, 0x8] - ldrh r3, [r2, 0xC] - movs r6, 0xC - ldrsh r0, [r2, r6] - adds r6, r1, 0 - cmp r0, 0xFF - ble _080EFD50 - ldrh r0, [r4, 0x36] - ldrh r1, [r4, 0x24] - adds r0, r1 - strh r0, [r4, 0x24] - ldr r1, [r5, 0x8] - ldrb r0, [r1, 0xC] - strh r0, [r1, 0xC] - b _080EFD56 - .align 2, 0 -_080EFD4C: .4byte gUnknown_2024018 -_080EFD50: - adds r0, r3, 0 - adds r0, 0xB0 - strh r0, [r2, 0xC] -_080EFD56: - ldrh r0, [r4, 0x38] - adds r0, 0x1 - movs r3, 0 - strh r0, [r4, 0x38] - adds r2, r4, 0 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] - ldrh r0, [r4, 0x38] - adds r0, 0x7 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xE - bhi _080EFD78 - b _080EFF7A -_080EFD78: - b _080EFE10 -_080EFD7A: - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - bne _080EFE2C - movs r0, 0 - strh r0, [r4, 0x38] - ldrh r0, [r4, 0x36] - negs r0, r0 - strh r0, [r4, 0x36] - ldrh r0, [r4, 0x34] - adds r0, 0x1 - strh r0, [r4, 0x34] - adds r2, r4, 0 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] - movs r6, 0x36 - ldrsh r0, [r4, r6] - cmp r0, 0 - bge _080EFDB6 - adds r0, r4, 0 - movs r1, 0x2 - bl ChangeSpriteAffineAnim - b _080EFF7A -_080EFDB6: - adds r0, r4, 0 - movs r1, 0x1 - bl ChangeSpriteAffineAnim - b _080EFF7A -_080EFDC0: - ldr r1, _080EFDE4 @ =gUnknown_2024018 - ldr r5, [r1] - ldr r2, [r5, 0x8] - ldrh r3, [r2, 0xC] - movs r6, 0xC - ldrsh r0, [r2, r6] - adds r6, r1, 0 - cmp r0, 0xFF - ble _080EFDE8 - ldrh r0, [r4, 0x36] - ldrh r1, [r4, 0x24] - adds r0, r1 - strh r0, [r4, 0x24] - ldr r1, [r5, 0x8] - ldrb r0, [r1, 0xC] - strh r0, [r1, 0xC] - b _080EFDEE - .align 2, 0 -_080EFDE4: .4byte gUnknown_2024018 -_080EFDE8: - adds r0, r3, 0 - adds r0, 0xB0 - strh r0, [r2, 0xC] -_080EFDEE: - ldrh r0, [r4, 0x38] - adds r0, 0x1 - movs r3, 0 - strh r0, [r4, 0x38] - adds r2, r4, 0 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] - ldrh r0, [r4, 0x38] - adds r0, 0xC - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x18 - bhi _080EFE10 - b _080EFF7A -_080EFE10: - ldr r0, [r6] - ldr r0, [r0, 0x8] - strh r3, [r0, 0xC] - ldrh r0, [r4, 0x34] - adds r0, 0x1 - strh r0, [r4, 0x34] - strh r3, [r4, 0x38] - b _080EFF7A -_080EFE20: - ldrh r0, [r4, 0x38] - adds r1, r0, 0x1 - strh r1, [r4, 0x38] - lsls r0, 16 - cmp r0, 0 - bge _080EFE3A -_080EFE2C: - adds r0, r4, 0 - adds r0, 0x2C - ldrb r1, [r0] - movs r2, 0x80 - orrs r1, r2 - strb r1, [r0] - b _080EFF7A -_080EFE3A: - movs r0, 0 - strh r0, [r4, 0x38] - ldrh r0, [r4, 0x36] - negs r0, r0 - strh r0, [r4, 0x36] - ldrh r0, [r4, 0x34] - adds r0, 0x1 - strh r0, [r4, 0x34] - adds r2, r4, 0 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] - movs r6, 0x36 - ldrsh r0, [r4, r6] - cmp r0, 0 - bge _080EFE68 - adds r0, r4, 0 - movs r1, 0x2 - bl ChangeSpriteAffineAnim - b _080EFE70 -_080EFE68: - adds r0, r4, 0 - movs r1, 0x1 - bl ChangeSpriteAffineAnim -_080EFE70: - ldr r1, _080EFE94 @ =gUnknown_2024018 - ldr r5, [r1] - ldr r2, [r5, 0x8] - ldrh r3, [r2, 0xC] - movs r6, 0xC - ldrsh r0, [r2, r6] - adds r6, r1, 0 - cmp r0, 0xFF - ble _080EFE98 - ldrh r0, [r4, 0x36] - ldrh r1, [r4, 0x24] - adds r0, r1 - strh r0, [r4, 0x24] - ldr r1, [r5, 0x8] - ldrb r0, [r1, 0xC] - strh r0, [r1, 0xC] - b _080EFE9E - .align 2, 0 -_080EFE94: .4byte gUnknown_2024018 -_080EFE98: - adds r0, r3, 0 - adds r0, 0xB0 - strh r0, [r2, 0xC] -_080EFE9E: - ldrh r0, [r4, 0x38] - adds r0, 0x1 - movs r3, 0 - strh r0, [r4, 0x38] - adds r2, r4, 0 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] - ldrh r0, [r4, 0x38] - adds r0, 0x4 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x8 - bls _080EFF7A - ldr r0, [r6] - ldr r0, [r0, 0x8] - strh r3, [r0, 0xC] - ldrh r0, [r4, 0x34] - adds r0, 0x1 - strh r0, [r4, 0x34] - strh r3, [r4, 0x38] - ldrh r0, [r4, 0x36] - negs r0, r0 - strh r0, [r4, 0x36] - b _080EFF7A -_080EFED4: - movs r6, 0x80 - lsls r6, 1 - adds r0, r6, 0 - ldrh r1, [r4, 0x34] - adds r0, r1 - strh r0, [r4, 0x34] - lsls r0, 16 - asrs r1, r0, 24 - ldr r0, _080EFF04 @ =gUnknown_2024018 - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x8] - cmp r1, r0 - bne _080EFF0C - adds r2, r4, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - ldr r0, _080EFF08 @ =sub_80EFF80 - str r0, [r4, 0x1C] - b _080EFF7A - .align 2, 0 -_080EFF04: .4byte gUnknown_2024018 -_080EFF08: .4byte sub_80EFF80 -_080EFF0C: - cmp r0, 0x4 - bne _080EFF20 - cmp r1, 0x3 - bne _080EFF20 - ldr r0, _080EFF1C @ =sub_80EFFA4 - str r0, [r4, 0x1C] - b _080EFF26 - .align 2, 0 -_080EFF1C: .4byte sub_80EFFA4 -_080EFF20: - ldrh r0, [r4, 0x34] - adds r0, 0x1 - strh r0, [r4, 0x34] -_080EFF26: - adds r2, r4, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - b _080EFF7A -_080EFF34: - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1F - bne _080EFF7A - movs r0, 0 - strh r0, [r4, 0x38] - ldrh r1, [r4, 0x34] - ldr r0, _080EFF68 @ =0xffffff00 - ands r0, r1 - strh r0, [r4, 0x34] - adds r0, r4, 0 - movs r1, 0x3 - bl StartSpriteAffineAnim - movs r6, 0x36 - ldrsh r0, [r4, r6] - cmp r0, 0 - bge _080EFF6C - adds r0, r4, 0 - movs r1, 0x2 - bl StartSpriteAffineAnim - b _080EFF74 - .align 2, 0 -_080EFF68: .4byte 0xffffff00 -_080EFF6C: - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim -_080EFF74: - movs r0, 0x17 - bl PlaySE -_080EFF7A: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80EFCEC - - thumb_func_start sub_80EFF80 -sub_80EFF80: @ 80EFF80 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x38] - adds r0, 0x1 - strh r0, [r1, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1F - bne _080EFF9A - movs r0, 0 - strh r0, [r1, 0x38] - ldr r0, _080EFFA0 @ =sub_80F02B0 - str r0, [r1, 0x1C] -_080EFF9A: - pop {r0} - bx r0 - .align 2, 0 -_080EFFA0: .4byte sub_80F02B0 - thumb_func_end sub_80EFF80 - - thumb_func_start sub_80EFFA4 -sub_80EFFA4: @ 80EFFA4 - adds r3, r0, 0 - adds r3, 0x2C - ldrb r1, [r3] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r3] - ldr r1, _080EFFC0 @ =sub_80EFFC4 - str r1, [r0, 0x1C] - movs r1, 0 - strh r1, [r0, 0x34] - strh r1, [r0, 0x36] - strh r1, [r0, 0x38] - bx lr - .align 2, 0 -_080EFFC0: .4byte sub_80EFFC4 - thumb_func_end sub_80EFFA4 - - thumb_func_start sub_80EFFC4 -sub_80EFFC4: @ 80EFFC4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r6, r0, 0 - ldr r7, _080F0004 @ =gBattleAnimTarget - ldrh r0, [r6, 0x36] - adds r0, 0x1 - movs r1, 0 - mov r8, r1 - strh r0, [r6, 0x36] - lsls r0, 16 - asrs r1, r0, 16 - cmp r1, 0x28 - bne _080F0008 - movs r0, 0xF7 - bl PlaySE - ldrb r1, [r6, 0x5] - lsrs r1, 4 - movs r0, 0x80 - lsls r0, 9 - lsls r0, r1 - movs r1, 0x6 - movs r2, 0 - bl BlendPalettes - adds r0, r6, 0 - bl sub_80F01B8 - b _080F0088 - .align 2, 0 -_080F0004: .4byte gBattleAnimTarget -_080F0008: - cmp r1, 0x3C - bne _080F0026 - ldrb r1, [r6, 0x5] - lsrs r1, 4 - movs r0, 0x80 - lsls r0, 9 - lsls r0, r1 - mov r1, r8 - str r1, [sp] - movs r1, 0x2 - movs r2, 0x6 - movs r3, 0 - bl BeginNormalPaletteFade - b _080F0088 -_080F0026: - cmp r1, 0x5F - bne _080F004C - ldr r0, _080F0044 @ =gUnknown_2024005 - movs r1, 0 - strb r1, [r0] - movs r0, 0x1 - bl UpdateOamPriorityInAllHealthboxes - bl m4aMPlayAllStop - ldr r0, _080F0048 @ =0x0000013f - bl PlaySE - b _080F0088 - .align 2, 0 -_080F0044: .4byte gUnknown_2024005 -_080F0048: .4byte 0x0000013f -_080F004C: - ldr r0, _080F0094 @ =0x0000013b - cmp r1, r0 - bne _080F0088 - ldr r5, _080F0098 @ =gSprites - ldr r4, _080F009C @ =gBattlerSpriteIds - ldrb r0, [r7] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrb r0, [r0, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - ldrb r0, [r7] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - bl DestroySprite - mov r0, r8 - strh r0, [r6, 0x2E] - ldr r0, _080F00A0 @ =sub_80F00A4 - str r0, [r6, 0x1C] -_080F0088: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080F0094: .4byte 0x0000013b -_080F0098: .4byte gSprites -_080F009C: .4byte gBattlerSpriteIds -_080F00A0: .4byte sub_80F00A4 - thumb_func_end sub_80EFFC4 - - thumb_func_start sub_80F00A4 -sub_80F00A4: @ 80F00A4 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _080F0110 - cmp r0, 0x1 - bgt _080F00BC - cmp r0, 0 - beq _080F00C2 - b _080F0156 -_080F00BC: - cmp r0, 0x2 - beq _080F0142 - b _080F0156 -_080F00C2: - strh r0, [r4, 0x30] - strh r0, [r4, 0x32] - ldrb r1, [r4, 0x1] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r4, 0x1] - movs r1, 0xFD - lsls r1, 6 - movs r0, 0x50 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0x10 - bl SetGpuReg - ldr r0, [r4, 0x14] - ldrh r0, [r0, 0x2] - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x10 - movs r1, 0x1 - lsls r1, r0 - ldr r0, _080F010C @ =0x00007fff - str r0, [sp] - adds r0, r1, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - b _080F014E - .align 2, 0 -_080F010C: .4byte 0x00007fff -_080F0110: - ldrh r0, [r4, 0x30] - adds r1, r0, 0x1 - strh r1, [r4, 0x30] - lsls r0, 16 - cmp r0, 0 - ble _080F017C - movs r0, 0 - strh r0, [r4, 0x30] - ldrh r2, [r4, 0x32] - adds r2, 0x1 - strh r2, [r4, 0x32] - lsls r1, r2, 8 - movs r0, 0x10 - subs r0, r2 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0x10 - bne _080F017C - b _080F014E -_080F0142: - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] -_080F014E: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _080F017C -_080F0156: - ldr r0, _080F0184 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _080F017C - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - strh r5, [r4, 0x2E] - ldr r0, _080F0188 @ =sub_80F018C - str r0, [r4, 0x1C] -_080F017C: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080F0184: .4byte gPaletteFade -_080F0188: .4byte sub_80F018C - thumb_func_end sub_80F00A4 - - thumb_func_start sub_80F018C -sub_80F018C: @ 80F018C - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x2E] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _080F01A4 - ldr r0, _080F01A0 @ =0x0000ffff - strh r0, [r4, 0x2E] - b _080F01B0 - .align 2, 0 -_080F01A0: .4byte 0x0000ffff -_080F01A4: - adds r0, r4, 0 - bl FreeSpriteOamMatrix - adds r0, r4, 0 - bl DestroySprite -_080F01B0: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80F018C - - thumb_func_start sub_80F01B8 -sub_80F01B8: @ 80F01B8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r6, r0, 0 - adds r1, r6, 0 - adds r1, 0x43 - ldrb r0, [r1] - cmp r0, 0 - beq _080F01D8 - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - b _080F01E0 -_080F01D8: - movs r0, 0 - mov r8, r0 - movs r0, 0x1 - strb r0, [r1] -_080F01E0: - movs r0, 0x4 - bl sub_80F05B4 - movs r7, 0 - ldr r2, _080F0264 @ =gSprites - mov r9, r2 - movs r0, 0x1C - add r0, r9 - mov r10, r0 -_080F01F2: - movs r2, 0x20 - ldrsh r1, [r6, r2] - movs r0, 0x22 - ldrsh r2, [r6, r0] - ldr r0, _080F0268 @ =gUnknown_840C104 - mov r3, r8 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _080F024E - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - mov r2, r9 - adds r5, r4, r2 - movs r0, 0x18 - strh r0, [r5, 0x2E] - ldr r0, _080F026C @ =gUnknown_840BF3C - lsls r1, r7, 2 - adds r1, r0 - movs r0, 0 - ldrsb r0, [r1, r0] - ldrh r2, [r6, 0x20] - adds r0, r2 - strh r0, [r5, 0x32] - movs r0, 0x1 - ldrsb r0, [r1, r0] - ldrh r2, [r6, 0x22] - adds r0, r2 - strh r0, [r5, 0x36] - movs r0, 0x2 - ldrsb r0, [r1, r0] - strh r0, [r5, 0x38] - adds r0, r5, 0 - bl sub_8075068 - add r4, r10 - ldr r0, _080F0270 @ =sub_80F0278 - str r0, [r4] - ldr r0, _080F0274 @ =gUnknown_840C068 - ldrb r1, [r0, 0x4] - adds r0, r5, 0 - bl StartSpriteAnim -_080F024E: - adds r7, 0x1 - cmp r7, 0x2 - bls _080F01F2 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080F0264: .4byte gSprites -_080F0268: .4byte gUnknown_840C104 -_080F026C: .4byte gUnknown_840BF3C -_080F0270: .4byte sub_80F0278 -_080F0274: .4byte gUnknown_840C068 - thumb_func_end sub_80F01B8 - - thumb_func_start sub_80F0278 -sub_80F0278: @ 80F0278 - push {r4,lr} - adds r4, r0, 0 - adds r3, r4, 0 - adds r3, 0x3E - ldrb r2, [r3] - lsrs r1, r2, 2 - movs r0, 0x1 - eors r1, r0 - ands r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - adds r0, r4, 0 - bl AnimateBallThrow - lsls r0, 24 - cmp r0, 0 - beq _080F02A8 - adds r0, r4, 0 - bl DestroySprite -_080F02A8: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80F0278 - - thumb_func_start sub_80F02B0 -sub_80F02B0: @ 80F02B0 - push {r4-r6,lr} - sub sp, 0x4 - adds r4, r0, 0 - movs r1, 0x1 - bl StartSpriteAnim - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAffineAnim - ldr r0, _080F0364 @ =sub_80F0378 - str r0, [r4, 0x1C] - ldr r0, _080F0368 @ =gUnknown_2023D68 - ldrh r0, [r0] - bl ItemIdToBallId - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0xB - bgt _080F0302 - cmp r5, 0 - blt _080F0302 - ldrh r0, [r4, 0x20] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x22] - subs r1, 0x5 - lsls r1, 24 - lsrs r1, 24 - str r5, [sp] - movs r2, 0x1 - movs r3, 0x1C - bl LaunchBallStarsTask - ldr r0, _080F036C @ =gBattleAnimTarget - ldrb r1, [r0] - movs r0, 0x1 - movs r2, 0xE - adds r3, r5, 0 - bl LaunchBallFadeMonTask -_080F0302: - ldr r6, _080F0370 @ =gSprites - ldr r5, _080F0374 @ =gBattlerSpriteIds - ldr r4, _080F036C @ =gBattleAnimTarget - ldrb r0, [r4] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - ldrb r0, [r4] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x1 - bl StartSpriteAffineAnim - ldrb r0, [r4] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - bl AnimateSprite - ldrb r0, [r4] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x80 - lsls r1, 5 - strh r1, [r0, 0x30] - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080F0364: .4byte sub_80F0378 -_080F0368: .4byte gUnknown_2023D68 -_080F036C: .4byte gBattleAnimTarget -_080F0370: .4byte gSprites -_080F0374: .4byte gBattlerSpriteIds - thumb_func_end sub_80F02B0 - - thumb_func_start sub_80F0378 -sub_80F0378: @ 80F0378 - push {r4-r7,lr} - adds r7, r0, 0 - movs r5, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080F0396 - adds r2, r7, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] -_080F0396: - ldr r4, _080F03C4 @ =gSprites - ldr r3, _080F03C8 @ =gBattlerSpriteIds - ldr r2, _080F03CC @ =gBattleAnimTarget - ldrb r0, [r2] - adds r0, r3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r4 - adds r0, r1, 0 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 26 - cmp r0, 0 - bge _080F03D0 - adds r0, r1, 0 - movs r1, 0 - bl StartSpriteAffineAnim - movs r5, 0x1 - b _080F03F0 - .align 2, 0 -_080F03C4: .4byte gSprites -_080F03C8: .4byte gBattlerSpriteIds -_080F03CC: .4byte gBattleAnimTarget -_080F03D0: - ldr r6, _080F045C @ =0xfffffee0 - adds r0, r6, 0 - ldrh r6, [r1, 0x30] - adds r0, r6 - strh r0, [r1, 0x30] - ldrb r0, [r2] - adds r0, r3 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrh r0, [r1, 0x30] - lsls r0, 16 - asrs r0, 24 - strh r0, [r1, 0x26] -_080F03F0: - adds r0, r7, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080F0456 - cmp r5, 0 - beq _080F0456 - ldr r4, _080F0460 @ =gSprites - ldr r3, _080F0464 @ =gBattlerSpriteIds - ldr r2, _080F0468 @ =gBattleAnimTarget - ldrb r0, [r2] - adds r0, r3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r6, 0 - movs r5, 0 - strh r5, [r0, 0x26] - ldrb r0, [r2] - adds r0, r3 - ldrb r0, [r0] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r4 - ldr r0, _080F046C @ =gUnknown_2024018 - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r1, [r0, 0x9] - lsls r1, 30 - adds r2, 0x3E - lsrs r1, 31 - lsls r1, 2 - ldrb r3, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2] - strh r5, [r7, 0x2E] - ldr r0, _080F0470 @ =sub_80F018C - str r0, [r7, 0x1C] - ldr r0, _080F0474 @ =gUnknown_2024005 - strb r6, [r0] - movs r0, 0x1 - bl UpdateOamPriorityInAllHealthboxes -_080F0456: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080F045C: .4byte 0xfffffee0 -_080F0460: .4byte gSprites -_080F0464: .4byte gBattlerSpriteIds -_080F0468: .4byte gBattleAnimTarget -_080F046C: .4byte gUnknown_2024018 -_080F0470: .4byte sub_80F018C -_080F0474: .4byte gUnknown_2024005 - thumb_func_end sub_80F0378 - - thumb_func_start sub_80F0478 -sub_80F0478: @ 80F0478 - push {r4,lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x24] - ldrh r1, [r2, 0x20] - adds r0, r1 - movs r1, 0 - strh r0, [r2, 0x20] - ldrh r0, [r2, 0x26] - ldrh r3, [r2, 0x22] - adds r0, r3 - strh r0, [r2, 0x22] - strh r1, [r2, 0x26] - strh r1, [r2, 0x24] - ldr r4, _080F04B0 @ =sub_80F04B4 - movs r3, 0 - movs r1, 0x5 - adds r0, r2, 0 - adds r0, 0x38 -_080F049C: - strh r3, [r0] - subs r0, 0x2 - subs r1, 0x1 - cmp r1, 0 - bge _080F049C - str r4, [r2, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080F04B0: .4byte sub_80F04B4 - thumb_func_end sub_80F0478 - - thumb_func_start sub_80F04B4 -sub_80F04B4: @ 80F04B4 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x80 - lsls r0, 4 - adds r2, r0, 0 - ldrh r1, [r4, 0x2E] - adds r2, r1 - movs r0, 0xD0 - lsls r0, 3 - adds r3, r0, 0 - ldrh r1, [r4, 0x30] - adds r3, r1 - lsls r1, r3, 16 - asrs r1, 24 - ldrh r0, [r4, 0x24] - subs r0, r1 - strh r0, [r4, 0x24] - lsls r0, r2, 16 - asrs r0, 24 - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - movs r0, 0xFF - ands r2, r0 - strh r2, [r4, 0x2E] - ands r3, r0 - strh r3, [r4, 0x30] - movs r2, 0x22 - ldrsh r0, [r4, r2] - movs r2, 0x26 - ldrsh r1, [r4, r2] - adds r0, r1 - cmp r0, 0xA0 - bgt _080F050A - movs r1, 0x20 - ldrsh r0, [r4, r1] - movs r2, 0x24 - ldrsh r1, [r4, r2] - adds r0, r1 - movs r1, 0x8 - negs r1, r1 - cmp r0, r1 - bge _080F051E -_080F050A: - movs r0, 0 - strh r0, [r4, 0x2E] - ldr r0, _080F0524 @ =sub_80F018C - str r0, [r4, 0x1C] - ldr r1, _080F0528 @ =gUnknown_2024005 - movs r0, 0 - strb r0, [r1] - movs r0, 0x1 - bl UpdateOamPriorityInAllHealthboxes -_080F051E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080F0524: .4byte sub_80F018C -_080F0528: .4byte gUnknown_2024005 - thumb_func_end sub_80F04B4 - - thumb_func_start sub_80F052C -sub_80F052C: @ 80F052C - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x24] - ldrh r0, [r4, 0x20] - adds r1, r0 - movs r0, 0 - strh r1, [r4, 0x20] - ldrh r2, [r4, 0x26] - ldrh r3, [r4, 0x22] - adds r2, r3 - strh r2, [r4, 0x22] - strh r0, [r4, 0x26] - strh r0, [r4, 0x24] - movs r0, 0x22 - strh r0, [r4, 0x2E] - strh r1, [r4, 0x30] - subs r1, 0x8 - strh r1, [r4, 0x32] - strh r2, [r4, 0x34] - movs r0, 0x90 - strh r0, [r4, 0x36] - movs r0, 0x20 - strh r0, [r4, 0x38] - adds r0, r4, 0 - bl sub_8075068 - adds r0, r4, 0 - bl sub_80750C8 - ldr r0, _080F0570 @ =sub_80F0574 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080F0570: .4byte sub_80F0574 - thumb_func_end sub_80F052C - - thumb_func_start sub_80F0574 -sub_80F0574: @ 80F0574 - push {r4,lr} - adds r4, r0, 0 - bl sub_80750C8 - lsls r0, 24 - cmp r0, 0 - bne _080F0590 - movs r1, 0x22 - ldrsh r0, [r4, r1] - movs r2, 0x26 - ldrsh r1, [r4, r2] - adds r0, r1 - cmp r0, 0x40 - ble _080F05A4 -_080F0590: - movs r1, 0 - movs r0, 0 - strh r0, [r4, 0x2E] - ldr r0, _080F05AC @ =sub_80F018C - str r0, [r4, 0x1C] - ldr r0, _080F05B0 @ =gUnknown_2024005 - strb r1, [r0] - movs r0, 0x1 - bl UpdateOamPriorityInAllHealthboxes -_080F05A4: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080F05AC: .4byte sub_80F018C -_080F05B0: .4byte gUnknown_2024005 - thumb_func_end sub_80F0574 - - thumb_func_start sub_80F05B4 -sub_80F05B4: @ 80F05B4 - push {r4,r5,lr} - lsls r0, 24 - ldr r1, _080F05E0 @ =gUnknown_840BF48 - lsrs r5, r0, 21 - adds r4, r5, r1 - ldrh r0, [r4, 0x6] - bl GetSpriteTileStartByTag - lsls r0, 16 - ldr r1, _080F05E4 @ =0xffff0000 - cmp r0, r1 - bne _080F05DA - adds r0, r4, 0 - bl sub_800F034 - ldr r0, _080F05E8 @ =gUnknown_840BFA8 - adds r0, r5, r0 - bl sub_800F078 -_080F05DA: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080F05E0: .4byte gUnknown_840BF48 -_080F05E4: .4byte 0xffff0000 -_080F05E8: .4byte gUnknown_840BFA8 - thumb_func_end sub_80F05B4 - - thumb_func_start LaunchBallStarsTask -LaunchBallStarsTask: @ 80F05EC - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - adds r6, r0, 0 - mov r8, r1 - mov r9, r2 - mov r10, r3 - ldr r5, [sp, 0x1C] - lsls r6, 24 - lsrs r6, 24 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - mov r1, r9 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - mov r0, r10 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - lsls r5, 24 - lsrs r5, 24 - adds r0, r5, 0 - bl sub_80F05B4 - ldr r1, _080F066C @ =gUnknown_840C074 - lsls r0, r5, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x5 - bl CreateTask - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, _080F0670 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - strh r6, [r0, 0xA] - mov r1, r8 - strh r1, [r0, 0xC] - mov r1, r9 - strh r1, [r0, 0xE] - mov r1, r10 - strh r1, [r0, 0x10] - strh r5, [r0, 0x26] - movs r0, 0xF - bl PlaySE - adds r0, r4, 0 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080F066C: .4byte gUnknown_840C074 -_080F0670: .4byte gTasks - thumb_func_end LaunchBallStarsTask - - thumb_func_start sub_80F0674 -sub_80F0674: @ 80F0674 - push {lr} - ldr r0, _080F0698 @ =gMain - ldr r1, _080F069C @ =0x00000439 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080F0692 - ldr r0, _080F06A0 @ =gUnknown_2024018 - ldr r0, [r0] - ldr r1, [r0, 0x8] - ldrb r0, [r1, 0xA] - adds r0, 0x1 - strb r0, [r1, 0xA] -_080F0692: - pop {r0} - bx r0 - .align 2, 0 -_080F0698: .4byte gMain -_080F069C: .4byte 0x00000439 -_080F06A0: .4byte gUnknown_2024018 - thumb_func_end sub_80F0674 - - thumb_func_start sub_80F06A4 -sub_80F06A4: @ 80F06A4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r1, _080F0780 @ =gTasks - lsls r0, 2 - add r0, r8 - lsls r0, 3 - adds r6, r0, r1 - ldrh r0, [r6, 0x26] - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - movs r2, 0x8 - ldrsh r0, [r6, r2] - adds r2, r1, 0 - cmp r0, 0xF - bgt _080F079C - ldrb r1, [r6, 0xA] - ldrb r2, [r6, 0xC] - ldrb r4, [r6, 0xE] - mov r9, r4 - ldrb r3, [r6, 0x10] - ldr r4, [sp] - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 3 - ldr r4, _080F0784 @ =gUnknown_840C0A4 - adds r0, r4 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - cmp r0, 0x40 - beq _080F0740 - bl sub_80F0674 - mov r0, r10 - lsls r4, r0, 4 - add r4, r10 - lsls r4, 2 - ldr r5, _080F0788 @ =gSprites - adds r7, r4, r5 - ldr r0, _080F078C @ =gUnknown_840C068 - ldr r1, [sp] - adds r0, r1, r0 - ldrb r1, [r0] - adds r0, r7, 0 - bl StartSpriteAnim - adds r5, 0x1C - adds r4, r5 - ldr r0, _080F0790 @ =sub_80F07BC - str r0, [r4] - movs r0, 0x3 - mov r2, r9 - ands r2, r0 - lsls r2, 2 - ldrb r1, [r7, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - orrs r0, r2 - strb r0, [r7, 0x5] - ldrb r0, [r6, 0x8] - cmp r0, 0x7 - bls _080F073C - subs r0, 0x8 - lsls r0, 24 - lsrs r0, 24 -_080F073C: - lsls r0, 5 - strh r0, [r7, 0x2E] -_080F0740: - ldr r0, _080F0780 @ =gTasks - mov r4, r8 - lsls r1, r4, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r2, 0x8 - ldrsh r1, [r1, r2] - adds r2, r0, 0 - cmp r1, 0xF - bne _080F079C - ldr r0, _080F0794 @ =gMain - ldr r4, _080F0798 @ =0x00000439 - adds r0, r4 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _080F0776 - ldr r0, _080F0788 @ =gSprites - mov r2, r10 - lsls r1, r2, 4 - add r1, r10 - lsls r1, 2 - adds r1, r0 - movs r0, 0x1 - strh r0, [r1, 0x3C] -_080F0776: - mov r0, r8 - bl DestroyTask - b _080F07AC - .align 2, 0 -_080F0780: .4byte gTasks -_080F0784: .4byte gUnknown_840C0A4 -_080F0788: .4byte gSprites -_080F078C: .4byte gUnknown_840C068 -_080F0790: .4byte sub_80F07BC -_080F0794: .4byte gMain -_080F0798: .4byte 0x00000439 -_080F079C: - mov r4, r8 - lsls r0, r4, 2 - add r0, r8 - lsls r0, 3 - adds r0, r2 - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] -_080F07AC: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80F06A4 - - thumb_func_start sub_80F07BC -sub_80F07BC: @ 80F07BC - push {lr} - adds r1, r0, 0 - ldrh r2, [r1, 0x30] - movs r3, 0x30 - ldrsh r0, [r1, r3] - cmp r0, 0 - bne _080F07D4 - ldr r0, _080F07D0 @ =sub_80F07DC - str r0, [r1, 0x1C] - b _080F07D8 - .align 2, 0 -_080F07D0: .4byte sub_80F07DC -_080F07D4: - subs r0, r2, 0x1 - strh r0, [r1, 0x30] -_080F07D8: - pop {r0} - bx r0 - thumb_func_end sub_80F07BC - - thumb_func_start sub_80F07DC -sub_80F07DC: @ 80F07DC - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - movs r2, 0x30 - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r4, 0x24] - movs r1, 0x2E - ldrsh r0, [r4, r1] - movs r2, 0x30 - ldrsh r1, [r4, r2] - bl Cos - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x30] - adds r0, 0x2 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x32 - bne _080F0810 - adds r0, r4, 0 - bl sub_80F1198 -_080F0810: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80F07DC - - thumb_func_start sub_80F0818 -sub_80F0818: @ 80F0818 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldr r0, _080F08FC @ =gTasks - mov r2, r9 - lsls r1, r2, 2 - add r1, r9 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x26] - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldrb r3, [r1, 0xA] - str r3, [sp] - ldrb r0, [r1, 0xC] - str r0, [sp, 0x4] - ldrb r2, [r1, 0xE] - str r2, [sp, 0x8] - ldrb r1, [r1, 0x10] - str r1, [sp, 0xC] - movs r7, 0 - ldr r3, _080F0900 @ =gSprites - mov r10, r3 - mov r1, r8 - lsls r0, r1, 1 - add r0, r8 - lsls r0, 3 - str r0, [sp, 0x10] -_080F085E: - ldr r0, _080F0904 @ =gUnknown_840C0A4 - ldr r2, [sp, 0x10] - adds r0, r2, r0 - ldr r1, [sp] - ldr r2, [sp, 0x4] - ldr r3, [sp, 0xC] - bl CreateSprite - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x40 - beq _080F08BE - bl sub_80F0674 - lsls r4, r6, 4 - adds r4, r6 - lsls r4, 2 - mov r3, r10 - adds r5, r4, r3 - ldr r0, _080F0908 @ =gUnknown_840C068 - add r0, r8 - ldrb r1, [r0] - adds r0, r5, 0 - bl StartSpriteAnim - ldr r0, _080F090C @ =gSprites + 0x1C - adds r4, r0 - ldr r0, _080F0910 @ =sub_80F0D5C - str r0, [r4] - movs r0, 0x3 - ldr r2, [sp, 0x8] - ands r2, r0 - lsls r2, 2 - ldrb r0, [r5, 0x5] - movs r3, 0xD - negs r3, r3 - adds r1, r3, 0 - ands r0, r1 - orrs r0, r2 - strb r0, [r5, 0x5] - lsls r0, r7, 5 - strh r0, [r5, 0x2E] - movs r0, 0xA - strh r0, [r5, 0x36] - movs r0, 0x2 - strh r0, [r5, 0x38] - movs r0, 0x1 - strh r0, [r5, 0x3A] -_080F08BE: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x7 - bls _080F085E - ldr r0, _080F0914 @ =gMain - ldr r1, _080F0918 @ =0x00000439 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _080F08E6 - ldr r0, _080F0900 @ =gSprites - lsls r1, r6, 4 - adds r1, r6 - lsls r1, 2 - adds r1, r0 - movs r0, 0x1 - strh r0, [r1, 0x3C] -_080F08E6: - mov r0, r9 - bl DestroyTask - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080F08FC: .4byte gTasks -_080F0900: .4byte gSprites -_080F0904: .4byte gUnknown_840C0A4 -_080F0908: .4byte gUnknown_840C068 -_080F090C: .4byte gSprites + 0x1C -_080F0910: .4byte sub_80F0D5C -_080F0914: .4byte gMain -_080F0918: .4byte 0x00000439 - thumb_func_end sub_80F0818 - - thumb_func_start sub_80F091C -sub_80F091C: @ 80F091C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldr r0, _080F0A00 @ =gTasks - mov r2, r9 - lsls r1, r2, 2 - add r1, r9 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x26] - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldrb r3, [r1, 0xA] - str r3, [sp] - ldrb r0, [r1, 0xC] - str r0, [sp, 0x4] - ldrb r2, [r1, 0xE] - str r2, [sp, 0x8] - ldrb r1, [r1, 0x10] - str r1, [sp, 0xC] - movs r7, 0 - ldr r3, _080F0A04 @ =gSprites - mov r10, r3 - mov r1, r8 - lsls r0, r1, 1 - add r0, r8 - lsls r0, 3 - str r0, [sp, 0x10] -_080F0962: - ldr r0, _080F0A08 @ =gUnknown_840C0A4 - ldr r2, [sp, 0x10] - adds r0, r2, r0 - ldr r1, [sp] - ldr r2, [sp, 0x4] - ldr r3, [sp, 0xC] - bl CreateSprite - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x40 - beq _080F09C2 - bl sub_80F0674 - lsls r4, r6, 4 - adds r4, r6 - lsls r4, 2 - mov r3, r10 - adds r5, r4, r3 - ldr r0, _080F0A0C @ =gUnknown_840C068 - add r0, r8 - ldrb r1, [r0] - adds r0, r5, 0 - bl StartSpriteAnim - ldr r0, _080F0A10 @ =gSprites + 0x1C - adds r4, r0 - ldr r0, _080F0A14 @ =sub_80F0D5C - str r0, [r4] - movs r0, 0x3 - ldr r2, [sp, 0x8] - ands r2, r0 - lsls r2, 2 - ldrb r0, [r5, 0x5] - movs r3, 0xD - negs r3, r3 - adds r1, r3, 0 - ands r0, r1 - orrs r0, r2 - strb r0, [r5, 0x5] - lsls r0, r7, 5 - strh r0, [r5, 0x2E] - movs r0, 0xA - strh r0, [r5, 0x36] - movs r0, 0x1 - strh r0, [r5, 0x38] - movs r0, 0x2 - strh r0, [r5, 0x3A] -_080F09C2: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x7 - bls _080F0962 - ldr r0, _080F0A18 @ =gMain - ldr r1, _080F0A1C @ =0x00000439 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _080F09EA - ldr r0, _080F0A04 @ =gSprites - lsls r1, r6, 4 - adds r1, r6 - lsls r1, 2 - adds r1, r0 - movs r0, 0x1 - strh r0, [r1, 0x3C] -_080F09EA: - mov r0, r9 - bl DestroyTask - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080F0A00: .4byte gTasks -_080F0A04: .4byte gSprites -_080F0A08: .4byte gUnknown_840C0A4 -_080F0A0C: .4byte gUnknown_840C068 -_080F0A10: .4byte gSprites + 0x1C -_080F0A14: .4byte sub_80F0D5C -_080F0A18: .4byte gMain -_080F0A1C: .4byte 0x00000439 - thumb_func_end sub_80F091C - - thumb_func_start sub_80F0A20 -sub_80F0A20: @ 80F0A20 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldr r1, _080F0B00 @ =gTasks - lsls r0, 2 - add r0, r9 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x26] - lsls r1, 24 - lsrs r1, 24 - ldrb r2, [r0, 0xA] - str r2, [sp] - ldrb r3, [r0, 0xC] - str r3, [sp, 0x4] - ldrb r2, [r0, 0xE] - str r2, [sp, 0x8] - ldrb r0, [r0, 0x10] - str r0, [sp, 0xC] - movs r7, 0 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - str r0, [sp, 0x10] - ldr r3, _080F0B04 @ =gSprites - mov r8, r3 - ldr r0, _080F0B08 @ =gUnknown_840C068 - adds r1, r0 - mov r10, r1 -_080F0A66: - ldr r0, _080F0B0C @ =gUnknown_840C0A4 - ldr r1, [sp, 0x10] - adds r0, r1, r0 - ldr r1, [sp] - ldr r2, [sp, 0x4] - ldr r3, [sp, 0xC] - bl CreateSprite - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x40 - beq _080F0AC2 - bl sub_80F0674 - lsls r4, r6, 4 - adds r4, r6 - lsls r4, 2 - mov r2, r8 - adds r5, r4, r2 - mov r3, r10 - ldrb r1, [r3] - adds r0, r5, 0 - bl StartSpriteAnim - ldr r0, _080F0B10 @ =gSprites + 0x1C - adds r4, r0 - ldr r0, _080F0B14 @ =sub_80F0D5C - str r0, [r4] - movs r0, 0x3 - ldr r2, [sp, 0x8] - ands r2, r0 - lsls r2, 2 - ldrb r0, [r5, 0x5] - movs r3, 0xD - negs r3, r3 - adds r1, r3, 0 - ands r0, r1 - orrs r0, r2 - strb r0, [r5, 0x5] - lsls r0, r7, 5 - strh r0, [r5, 0x2E] - movs r0, 0x4 - strh r0, [r5, 0x36] - movs r0, 0x1 - strh r0, [r5, 0x38] - strh r0, [r5, 0x3A] -_080F0AC2: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x7 - bls _080F0A66 - ldr r0, _080F0B18 @ =gMain - ldr r1, _080F0B1C @ =0x00000439 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _080F0AEA - ldr r0, _080F0B04 @ =gSprites - lsls r1, r6, 4 - adds r1, r6 - lsls r1, 2 - adds r1, r0 - movs r0, 0x1 - strh r0, [r1, 0x3C] -_080F0AEA: - mov r0, r9 - bl DestroyTask - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080F0B00: .4byte gTasks -_080F0B04: .4byte gSprites -_080F0B08: .4byte gUnknown_840C068 -_080F0B0C: .4byte gUnknown_840C0A4 -_080F0B10: .4byte gSprites + 0x1C -_080F0B14: .4byte sub_80F0D5C -_080F0B18: .4byte gMain -_080F0B1C: .4byte 0x00000439 - thumb_func_end sub_80F0A20 - - thumb_func_start sub_80F0B20 -sub_80F0B20: @ 80F0B20 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldr r0, _080F0C08 @ =gTasks - mov r2, r9 - lsls r1, r2, 2 - add r1, r9 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x26] - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldrb r3, [r1, 0xA] - str r3, [sp] - ldrb r0, [r1, 0xC] - str r0, [sp, 0x4] - ldrb r2, [r1, 0xE] - str r2, [sp, 0x8] - ldrb r1, [r1, 0x10] - str r1, [sp, 0xC] - movs r7, 0 - ldr r3, _080F0C0C @ =gSprites - mov r10, r3 - mov r1, r8 - lsls r0, r1, 1 - add r0, r8 - lsls r0, 3 - str r0, [sp, 0x10] -_080F0B66: - ldr r0, _080F0C10 @ =gUnknown_840C0A4 - ldr r2, [sp, 0x10] - adds r0, r2, r0 - ldr r1, [sp] - ldr r2, [sp, 0x4] - ldr r3, [sp, 0xC] - bl CreateSprite - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x40 - beq _080F0BCA - bl sub_80F0674 - lsls r4, r6, 4 - adds r4, r6 - lsls r4, 2 - mov r3, r10 - adds r5, r4, r3 - ldr r0, _080F0C14 @ =gUnknown_840C068 - add r0, r8 - ldrb r1, [r0] - adds r0, r5, 0 - bl StartSpriteAnim - ldr r0, _080F0C18 @ =gSprites + 0x1C - adds r4, r0 - ldr r0, _080F0C1C @ =sub_80F0D5C - str r0, [r4] - movs r0, 0x3 - ldr r2, [sp, 0x8] - ands r2, r0 - lsls r2, 2 - ldrb r0, [r5, 0x5] - movs r3, 0xD - negs r3, r3 - adds r1, r3, 0 - ands r0, r1 - orrs r0, r2 - strb r0, [r5, 0x5] - lsls r0, r7, 1 - adds r0, r7 - lsls r0, 3 - adds r0, r7 - strh r0, [r5, 0x2E] - movs r0, 0x5 - strh r0, [r5, 0x36] - movs r0, 0x1 - strh r0, [r5, 0x38] - strh r0, [r5, 0x3A] -_080F0BCA: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x9 - bls _080F0B66 - ldr r0, _080F0C20 @ =gMain - ldr r1, _080F0C24 @ =0x00000439 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _080F0BF2 - ldr r0, _080F0C0C @ =gSprites - lsls r1, r6, 4 - adds r1, r6 - lsls r1, 2 - adds r1, r0 - movs r0, 0x1 - strh r0, [r1, 0x3C] -_080F0BF2: - mov r0, r9 - bl DestroyTask - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080F0C08: .4byte gTasks -_080F0C0C: .4byte gSprites -_080F0C10: .4byte gUnknown_840C0A4 -_080F0C14: .4byte gUnknown_840C068 -_080F0C18: .4byte gSprites + 0x1C -_080F0C1C: .4byte sub_80F0D5C -_080F0C20: .4byte gMain -_080F0C24: .4byte 0x00000439 - thumb_func_end sub_80F0B20 - - thumb_func_start sub_80F0C28 -sub_80F0C28: @ 80F0C28 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x18 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r1, _080F0C54 @ =gTasks - lsls r2, r0, 2 - adds r0, r2, r0 - lsls r0, 3 - adds r3, r0, r1 - ldrh r1, [r3, 0x16] - movs r4, 0x16 - ldrsh r0, [r3, r4] - cmp r0, 0 - beq _080F0C58 - subs r0, r1, 0x1 - strh r0, [r3, 0x16] - b _080F0D2A - .align 2, 0 -_080F0C54: .4byte gTasks -_080F0C58: - ldrh r0, [r3, 0x26] - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r3, 0xA] - str r1, [sp] - ldrb r4, [r3, 0xC] - str r4, [sp, 0x4] - ldrb r1, [r3, 0xE] - str r1, [sp, 0x8] - ldrb r3, [r3, 0x10] - str r3, [sp, 0xC] - movs r7, 0 - str r2, [sp, 0x14] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - str r1, [sp, 0x10] - ldr r3, _080F0D3C @ =gSprites - mov r9, r3 - ldr r1, _080F0D40 @ =gUnknown_840C068 - adds r0, r1 - mov r10, r0 -_080F0C84: - ldr r0, _080F0D44 @ =gUnknown_840C0A4 - ldr r4, [sp, 0x10] - adds r0, r4, r0 - ldr r1, [sp] - ldr r2, [sp, 0x4] - ldr r3, [sp, 0xC] - bl CreateSprite - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x40 - beq _080F0CE0 - bl sub_80F0674 - lsls r4, r6, 4 - adds r4, r6 - lsls r4, 2 - mov r0, r9 - adds r5, r4, r0 - mov r3, r10 - ldrb r1, [r3] - adds r0, r5, 0 - bl StartSpriteAnim - ldr r0, _080F0D48 @ =gSprites + 0x1C - adds r4, r0 - ldr r0, _080F0D4C @ =sub_80F0D5C - str r0, [r4] - movs r0, 0x3 - ldr r2, [sp, 0x8] - ands r2, r0 - lsls r2, 2 - ldrb r0, [r5, 0x5] - movs r3, 0xD - negs r3, r3 - adds r1, r3, 0 - ands r0, r1 - orrs r0, r2 - strb r0, [r5, 0x5] - lsls r0, r7, 5 - strh r0, [r5, 0x2E] - movs r0, 0x8 - strh r0, [r5, 0x36] - movs r0, 0x2 - strh r0, [r5, 0x38] - strh r0, [r5, 0x3A] -_080F0CE0: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x7 - bls _080F0C84 - ldr r0, _080F0D50 @ =gTasks - ldr r1, [sp, 0x14] - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0x8 - strh r0, [r1, 0x16] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - lsls r0, 16 - asrs r2, r0, 16 - cmp r2, 0x2 - bne _080F0D2A - ldr r0, _080F0D54 @ =gMain - ldr r4, _080F0D58 @ =0x00000439 - adds r0, r4 - ldrb r1, [r0] - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - bne _080F0D24 - ldr r0, _080F0D3C @ =gSprites - lsls r1, r6, 4 - adds r1, r6 - lsls r1, 2 - adds r1, r0 - movs r0, 0x1 - strh r0, [r1, 0x3C] -_080F0D24: - mov r0, r8 - bl DestroyTask -_080F0D2A: - add sp, 0x18 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080F0D3C: .4byte gSprites -_080F0D40: .4byte gUnknown_840C068 -_080F0D44: .4byte gUnknown_840C0A4 -_080F0D48: .4byte gSprites + 0x1C -_080F0D4C: .4byte sub_80F0D5C -_080F0D50: .4byte gTasks -_080F0D54: .4byte gMain -_080F0D58: .4byte 0x00000439 - thumb_func_end sub_80F0C28 - - thumb_func_start sub_80F0D5C -sub_80F0D5C: @ 80F0D5C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - movs r2, 0x30 - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r4, 0x24] - movs r1, 0x2E - ldrsh r0, [r4, r1] - movs r2, 0x32 - ldrsh r1, [r4, r2] - bl Cos - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x36] - ldrh r1, [r4, 0x2E] - adds r0, r1 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x38] - ldrh r2, [r4, 0x30] - adds r0, r2 - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x3A] - ldrh r1, [r4, 0x32] - adds r0, r1 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x34] - adds r0, 0x1 - strh r0, [r4, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x33 - bne _080F0DAC - adds r0, r4, 0 - bl sub_80F1198 -_080F0DAC: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80F0D5C - - thumb_func_start sub_80F0DB4 -sub_80F0DB4: @ 80F0DB4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldr r1, _080F0E90 @ =gTasks - lsls r0, 2 - add r0, r9 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x26] - lsls r1, 24 - lsrs r1, 24 - ldrb r2, [r0, 0xA] - str r2, [sp] - ldrb r3, [r0, 0xC] - str r3, [sp, 0x4] - ldrb r2, [r0, 0xE] - str r2, [sp, 0x8] - ldrb r0, [r0, 0x10] - str r0, [sp, 0xC] - movs r7, 0 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - str r0, [sp, 0x10] - ldr r3, _080F0E94 @ =gSprites - mov r8, r3 - ldr r0, _080F0E98 @ =gUnknown_840C068 - adds r1, r0 - mov r10, r1 -_080F0DFA: - ldr r0, _080F0E9C @ =gUnknown_840C0A4 - ldr r1, [sp, 0x10] - adds r0, r1, r0 - ldr r1, [sp] - ldr r2, [sp, 0x4] - ldr r3, [sp, 0xC] - bl CreateSprite - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x40 - beq _080F0E52 - bl sub_80F0674 - lsls r4, r6, 4 - adds r4, r6 - lsls r4, 2 - mov r2, r8 - adds r5, r4, r2 - mov r3, r10 - ldrb r1, [r3] - adds r0, r5, 0 - bl StartSpriteAnim - ldr r0, _080F0EA0 @ =gSprites + 0x1C - adds r4, r0 - ldr r0, _080F0EA4 @ =sub_80F0EB0 - str r0, [r4] - movs r0, 0x3 - ldr r2, [sp, 0x8] - ands r2, r0 - lsls r2, 2 - ldrb r0, [r5, 0x5] - movs r3, 0xD - negs r3, r3 - adds r1, r3, 0 - ands r0, r1 - orrs r0, r2 - strb r0, [r5, 0x5] - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 2 - adds r0, r7 - strh r0, [r5, 0x2E] -_080F0E52: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0xB - bls _080F0DFA - ldr r0, _080F0EA8 @ =gMain - ldr r1, _080F0EAC @ =0x00000439 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _080F0E7A - ldr r0, _080F0E94 @ =gSprites - lsls r1, r6, 4 - adds r1, r6 - lsls r1, 2 - adds r1, r0 - movs r0, 0x1 - strh r0, [r1, 0x3C] -_080F0E7A: - mov r0, r9 - bl DestroyTask - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080F0E90: .4byte gTasks -_080F0E94: .4byte gSprites -_080F0E98: .4byte gUnknown_840C068 -_080F0E9C: .4byte gUnknown_840C0A4 -_080F0EA0: .4byte gSprites + 0x1C -_080F0EA4: .4byte sub_80F0EB0 -_080F0EA8: .4byte gMain -_080F0EAC: .4byte 0x00000439 - thumb_func_end sub_80F0DB4 - - thumb_func_start sub_80F0EB0 -sub_80F0EB0: @ 80F0EB0 - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x2E - ldrsh r0, [r5, r1] - movs r2, 0x30 - ldrsh r1, [r5, r2] - bl Sin - strh r0, [r5, 0x24] - movs r0, 0x2E - ldrsh r4, [r5, r0] - movs r2, 0x32 - ldrsh r1, [r5, r2] - adds r0, r4, 0 - bl Sin - adds r1, r0, 0 - lsls r1, 16 - asrs r1, 16 - adds r0, r4, 0 - bl Cos - strh r0, [r5, 0x26] - ldrh r0, [r5, 0x2E] - adds r0, 0x6 - movs r1, 0xFF - ands r0, r1 - strh r0, [r5, 0x2E] - ldrh r0, [r5, 0x30] - adds r0, 0x1 - strh r0, [r5, 0x30] - ldrh r0, [r5, 0x32] - adds r0, 0x1 - strh r0, [r5, 0x32] - ldrh r0, [r5, 0x34] - adds r0, 0x1 - strh r0, [r5, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x33 - bne _080F0F08 - adds r0, r5, 0 - bl sub_80F1198 -_080F0F08: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80F0EB0 - - thumb_func_start sub_80F0F10 -sub_80F0F10: @ 80F0F10 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x18 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - ldr r0, _080F0FC4 @ =gTasks - ldr r2, [sp] - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x26] - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldrb r3, [r1, 0xA] - str r3, [sp, 0x4] - ldrb r0, [r1, 0xC] - str r0, [sp, 0x8] - ldrb r2, [r1, 0xE] - str r2, [sp, 0xC] - ldrb r1, [r1, 0x10] - str r1, [sp, 0x10] - movs r3, 0 - mov r8, r3 - mov r1, r9 - lsls r0, r1, 1 - add r0, r9 - lsls r0, 3 - str r0, [sp, 0x14] -_080F0F54: - movs r7, 0 - movs r2, 0x1 - add r2, r8 - mov r10, r2 -_080F0F5C: - ldr r0, _080F0FC8 @ =gUnknown_840C0A4 - ldr r3, [sp, 0x14] - adds r0, r3, r0 - ldr r1, [sp, 0x4] - ldr r2, [sp, 0x8] - ldr r3, [sp, 0x10] - bl CreateSprite - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x40 - beq _080F0FE4 - bl sub_80F0674 - lsls r4, r6, 4 - adds r4, r6 - lsls r4, 2 - ldr r0, _080F0FCC @ =gSprites - adds r5, r4, r0 - ldr r0, _080F0FD0 @ =gUnknown_840C068 - add r0, r9 - ldrb r1, [r0] - adds r0, r5, 0 - bl StartSpriteAnim - ldr r1, _080F0FD4 @ =gSprites + 0x1C - adds r4, r1 - ldr r0, _080F0FD8 @ =sub_80F0D5C - str r0, [r4] - movs r0, 0x3 - ldr r1, [sp, 0xC] - ands r1, r0 - lsls r1, 2 - ldrb r0, [r5, 0x5] - movs r3, 0xD - negs r3, r3 - adds r2, r3, 0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x5] - lsls r0, r7, 5 - strh r0, [r5, 0x2E] - movs r0, 0x8 - strh r0, [r5, 0x36] - mov r0, r8 - cmp r0, 0 - bne _080F0FDC - movs r0, 0x2 - strh r0, [r5, 0x38] - movs r0, 0x1 - b _080F0FE2 - .align 2, 0 -_080F0FC4: .4byte gTasks -_080F0FC8: .4byte gUnknown_840C0A4 -_080F0FCC: .4byte gSprites -_080F0FD0: .4byte gUnknown_840C068 -_080F0FD4: .4byte gSprites + 0x1C -_080F0FD8: .4byte sub_80F0D5C -_080F0FDC: - movs r0, 0x1 - strh r0, [r5, 0x38] - movs r0, 0x2 -_080F0FE2: - strh r0, [r5, 0x3A] -_080F0FE4: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x7 - bls _080F0F5C - mov r1, r10 - lsls r0, r1, 24 - lsrs r0, 24 - mov r8, r0 - cmp r0, 0x1 - bls _080F0F54 - ldr r0, _080F1030 @ =gMain - ldr r2, _080F1034 @ =0x00000439 - adds r0, r2 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _080F1018 - ldr r0, _080F1038 @ =gSprites - lsls r1, r6, 4 - adds r1, r6 - lsls r1, 2 - adds r1, r0 - movs r0, 0x1 - strh r0, [r1, 0x3C] -_080F1018: - ldr r0, [sp] - bl DestroyTask - add sp, 0x18 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080F1030: .4byte gMain -_080F1034: .4byte 0x00000439 -_080F1038: .4byte gSprites - thumb_func_end sub_80F0F10 - - thumb_func_start sub_80F103C -sub_80F103C: @ 80F103C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldr r1, _080F1114 @ =gTasks - lsls r0, 2 - add r0, r9 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x26] - lsls r1, 24 - lsrs r1, 24 - ldrb r2, [r0, 0xA] - str r2, [sp] - ldrb r3, [r0, 0xC] - str r3, [sp, 0x4] - ldrb r2, [r0, 0xE] - str r2, [sp, 0x8] - ldrb r0, [r0, 0x10] - str r0, [sp, 0xC] - movs r7, 0 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - str r0, [sp, 0x10] - ldr r3, _080F1118 @ =gSprites - mov r8, r3 - ldr r0, _080F111C @ =gUnknown_840C068 - adds r1, r0 - mov r10, r1 -_080F1082: - ldr r0, _080F1120 @ =gUnknown_840C0A4 - ldr r1, [sp, 0x10] - adds r0, r1, r0 - ldr r1, [sp] - ldr r2, [sp, 0x4] - ldr r3, [sp, 0xC] - bl CreateSprite - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x40 - beq _080F10D4 - bl sub_80F0674 - lsls r4, r6, 4 - adds r4, r6 - lsls r4, 2 - mov r2, r8 - adds r5, r4, r2 - mov r3, r10 - ldrb r1, [r3] - adds r0, r5, 0 - bl StartSpriteAnim - ldr r0, _080F1124 @ =gSprites + 0x1C - adds r4, r0 - ldr r0, _080F1128 @ =sub_80F1134 - str r0, [r4] - movs r0, 0x3 - ldr r2, [sp, 0x8] - ands r2, r0 - lsls r2, 2 - ldrb r0, [r5, 0x5] - movs r3, 0xD - negs r3, r3 - adds r1, r3, 0 - ands r0, r1 - orrs r0, r2 - strb r0, [r5, 0x5] - lsls r0, r7, 5 - strh r0, [r5, 0x2E] -_080F10D4: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x7 - bls _080F1082 - ldr r0, _080F112C @ =gMain - ldr r1, _080F1130 @ =0x00000439 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _080F10FC - ldr r0, _080F1118 @ =gSprites - lsls r1, r6, 4 - adds r1, r6 - lsls r1, 2 - adds r1, r0 - movs r0, 0x1 - strh r0, [r1, 0x3C] -_080F10FC: - mov r0, r9 - bl DestroyTask - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080F1114: .4byte gTasks -_080F1118: .4byte gSprites -_080F111C: .4byte gUnknown_840C068 -_080F1120: .4byte gUnknown_840C0A4 -_080F1124: .4byte gSprites + 0x1C -_080F1128: .4byte sub_80F1134 -_080F112C: .4byte gMain -_080F1130: .4byte 0x00000439 - thumb_func_end sub_80F103C - - thumb_func_start sub_80F1134 -sub_80F1134: @ 80F1134 - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x2E - ldrsh r0, [r5, r1] - movs r2, 0x30 - ldrsh r1, [r5, r2] - bl Sin - strh r0, [r5, 0x24] - movs r0, 0x2E - ldrsh r4, [r5, r0] - ldrh r1, [r5, 0x2E] - movs r0, 0x3F - ands r0, r1 - movs r2, 0x32 - ldrsh r1, [r5, r2] - bl Sin - adds r1, r0, 0 - lsls r1, 16 - asrs r1, 16 - adds r0, r4, 0 - bl Cos - strh r0, [r5, 0x26] - ldrh r0, [r5, 0x2E] - adds r0, 0xA - movs r1, 0xFF - ands r0, r1 - strh r0, [r5, 0x2E] - ldrh r0, [r5, 0x30] - adds r0, 0x1 - strh r0, [r5, 0x30] - ldrh r0, [r5, 0x32] - adds r0, 0x1 - strh r0, [r5, 0x32] - ldrh r0, [r5, 0x34] - adds r0, 0x1 - strh r0, [r5, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x33 - bne _080F1190 - adds r0, r5, 0 - bl sub_80F1198 -_080F1190: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80F1134 - - thumb_func_start sub_80F1198 -sub_80F1198: @ 80F1198 - push {r4-r7,lr} - adds r7, r0, 0 - ldr r0, _080F11BC @ =gMain - ldr r1, _080F11C0 @ =0x00000439 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _080F11C4 - movs r1, 0x3C - ldrsh r0, [r7, r1] - cmp r0, 0x1 - bne _080F11F6 - adds r0, r7, 0 - bl DestroySpriteAndFreeResources - b _080F1212 - .align 2, 0 -_080F11BC: .4byte gMain -_080F11C0: .4byte 0x00000439 -_080F11C4: - ldr r2, _080F1200 @ =gUnknown_2024018 - ldr r0, [r2] - ldr r1, [r0, 0x8] - ldrb r0, [r1, 0xA] - subs r0, 0x1 - strb r0, [r1, 0xA] - ldr r0, [r2] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0xA] - cmp r0, 0 - bne _080F120C - movs r6, 0 - ldr r5, _080F1204 @ =gUnknown_840BF48 - ldr r4, _080F1208 @ =gUnknown_840BFA8 -_080F11E0: - ldrh r0, [r5, 0x6] - bl FreeSpriteTilesByTag - ldrh r0, [r4, 0x4] - bl FreeSpritePaletteByTag - adds r5, 0x8 - adds r4, 0x8 - adds r6, 0x1 - cmp r6, 0xB - ble _080F11E0 -_080F11F6: - adds r0, r7, 0 - bl DestroySprite - b _080F1212 - .align 2, 0 -_080F1200: .4byte gUnknown_2024018 -_080F1204: .4byte gUnknown_840BF48 -_080F1208: .4byte gUnknown_840BFA8 -_080F120C: - adds r0, r7, 0 - bl DestroySprite -_080F1212: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80F1198 - - thumb_func_start LaunchBallFadeMonTask -LaunchBallFadeMonTask: @ 80F1218 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - adds r4, r0, 0 - mov r9, r2 - lsls r4, 24 - lsrs r4, 24 - lsls r1, 24 - lsrs r6, r1, 24 - lsls r3, 24 - lsrs r7, r3, 24 - ldr r0, _080F127C @ =sub_80F12E0 - movs r1, 0x5 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r1, _080F1280 @ =gTasks - lsls r0, 2 - add r0, r8 - lsls r0, 3 - adds r5, r0, r1 - strh r7, [r5, 0x26] - strh r6, [r5, 0xE] - mov r0, r9 - strh r0, [r5, 0x1C] - mov r1, r9 - lsrs r0, r1, 16 - strh r0, [r5, 0x1E] - cmp r4, 0 - bne _080F1288 - lsls r0, r6, 20 - movs r2, 0x80 - lsls r2, 17 - adds r0, r2 - lsrs r0, 16 - ldr r2, _080F1284 @ =gUnknown_840C1C4 - lsls r1, r7, 1 - adds r1, r2 - ldrh r3, [r1] - movs r1, 0x10 - movs r2, 0 - bl BlendPalette - movs r0, 0x1 - strh r0, [r5, 0xA] - b _080F12AE - .align 2, 0 -_080F127C: .4byte sub_80F12E0 -_080F1280: .4byte gTasks -_080F1284: .4byte gUnknown_840C1C4 -_080F1288: - lsls r0, r6, 20 - movs r1, 0x80 - lsls r1, 17 - adds r0, r1 - lsrs r0, 16 - ldr r2, _080F12D0 @ =gUnknown_840C1C4 - lsls r1, r7, 1 - adds r1, r2 - ldrh r3, [r1] - movs r1, 0x10 - movs r2, 0x10 - bl BlendPalette - movs r0, 0x10 - strh r0, [r5, 0x8] - ldr r0, _080F12D4 @ =0x0000ffff - strh r0, [r5, 0xA] - ldr r0, _080F12D8 @ =sub_80F1370 - str r0, [r5] -_080F12AE: - ldr r0, _080F12DC @ =0x00007fff - str r0, [sp] - mov r0, r9 - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - mov r0, r8 - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080F12D0: .4byte gUnknown_840C1C4 -_080F12D4: .4byte 0x0000ffff -_080F12D8: .4byte sub_80F1370 -_080F12DC: .4byte 0x00007fff - thumb_func_end LaunchBallFadeMonTask - - thumb_func_start sub_80F12E0 -sub_80F12E0: @ 80F12E0 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - ldr r1, _080F1330 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r1, r0, 24 - movs r2, 0xC - ldrsh r0, [r4, r2] - cmp r0, 0x10 - bgt _080F1338 - movs r2, 0xE - ldrsh r0, [r4, r2] - lsls r0, 20 - movs r2, 0x80 - lsls r2, 17 - adds r0, r2 - lsrs r0, 16 - ldrb r2, [r4, 0x8] - ldr r3, _080F1334 @ =gUnknown_840C1C4 - lsls r1, 1 - adds r1, r3 - ldrh r3, [r1] - movs r1, 0x10 - bl BlendPalette - ldrh r0, [r4, 0xA] - ldrh r1, [r4, 0x8] - adds r0, r1 - strh r0, [r4, 0x8] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - b _080F1360 - .align 2, 0 -_080F1330: .4byte gTasks -_080F1334: .4byte gUnknown_840C1C4 -_080F1338: - ldr r0, _080F1368 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080F1360 - ldrh r0, [r4, 0x1C] - ldrh r1, [r4, 0x1E] - lsls r1, 16 - orrs r0, r1 - ldr r1, _080F136C @ =0x00007fff - str r1, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - adds r0, r5, 0 - bl DestroyTask -_080F1360: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080F1368: .4byte gPaletteFade -_080F136C: .4byte 0x00007fff - thumb_func_end sub_80F12E0 - - thumb_func_start sub_80F1370 -sub_80F1370: @ 80F1370 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _080F13B0 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080F13A8 - ldr r0, _080F13B4 @ =gTasks - lsls r4, r2, 2 - adds r4, r2 - lsls r4, 3 - adds r4, r0 - ldrh r0, [r4, 0x1C] - ldrh r1, [r4, 0x1E] - lsls r1, 16 - orrs r0, r1 - ldr r1, _080F13B8 @ =0x00007fff - str r1, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r0, _080F13BC @ =sub_80F13C0 - str r0, [r4] -_080F13A8: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080F13B0: .4byte gPaletteFade -_080F13B4: .4byte gTasks -_080F13B8: .4byte 0x00007fff -_080F13BC: .4byte sub_80F13C0 - thumb_func_end sub_80F1370 - - thumb_func_start sub_80F13C0 -sub_80F13C0: @ 80F13C0 - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, _080F140C @ =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r4, r0, r1 - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r1, r0, 24 - movs r3, 0xC - ldrsh r0, [r4, r3] - cmp r0, 0x10 - bgt _080F1414 - movs r2, 0xE - ldrsh r0, [r4, r2] - lsls r0, 20 - movs r3, 0x80 - lsls r3, 17 - adds r0, r3 - lsrs r0, 16 - ldrb r2, [r4, 0x8] - ldr r3, _080F1410 @ =gUnknown_840C1C4 - lsls r1, 1 - adds r1, r3 - ldrh r3, [r1] - movs r1, 0x10 - bl BlendPalette - ldrh r0, [r4, 0xA] - ldrh r1, [r4, 0x8] - adds r0, r1 - strh r0, [r4, 0x8] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - b _080F141A - .align 2, 0 -_080F140C: .4byte gTasks -_080F1410: .4byte gUnknown_840C1C4 -_080F1414: - adds r0, r2, 0 - bl DestroyTask -_080F141A: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80F13C0 - - thumb_func_start sub_80F1420 -sub_80F1420: @ 80F1420 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r7, r0, 24 - movs r0, 0 - mov r8, r0 - ldr r0, _080F1454 @ =gBattlerSpriteIds - ldr r3, _080F1458 @ =gBattleAnimAttacker - ldrb r2, [r3] - adds r0, r2, r0 - ldrb r6, [r0] - ldr r1, _080F145C @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r5, r0, r1 - movs r1, 0x1C - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _080F14F8 - cmp r0, 0x1 - bgt _080F1460 - cmp r0, 0 - beq _080F1466 - b _080F15BA - .align 2, 0 -_080F1454: .4byte gBattlerSpriteIds -_080F1458: .4byte gBattleAnimAttacker -_080F145C: .4byte gTasks -_080F1460: - cmp r0, 0x2 - beq _080F150A - b _080F15BA -_080F1466: - ldr r0, _080F14A0 @ =gBattleAnimArgs - ldrh r0, [r0] - strh r0, [r5, 0x1E] - movs r2, 0xA0 - lsls r2, 3 - adds r0, r2, 0 - ldrh r4, [r5, 0x8] - adds r0, r4 - strh r0, [r5, 0x8] - ldrb r0, [r3] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080F14A8 - ldr r2, _080F14A4 @ =gSprites - lsls r3, r6, 4 - adds r1, r3, r6 - lsls r1, 2 - adds r1, r2 - ldrh r0, [r5, 0x8] - lsls r0, 16 - asrs r0, 24 - ldrh r4, [r1, 0x24] - adds r0, r4 - strh r0, [r1, 0x24] - adds r4, r3, 0 - b _080F14C0 - .align 2, 0 -_080F14A0: .4byte gBattleAnimArgs -_080F14A4: .4byte gSprites -_080F14A8: - ldr r3, _080F14F0 @ =gSprites - lsls r4, r6, 4 - adds r2, r4, r6 - lsls r2, 2 - adds r2, r3 - ldrh r1, [r5, 0x8] - lsls r1, 16 - asrs r1, 24 - ldrh r0, [r2, 0x24] - subs r0, r1 - strh r0, [r2, 0x24] - adds r2, r3, 0 -_080F14C0: - ldr r1, _080F14F4 @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r3, r0, r1 - ldrb r0, [r3, 0x8] - strh r0, [r3, 0x8] - adds r0, r4, r6 - lsls r0, 2 - adds r0, r2 - movs r2, 0x20 - ldrsh r1, [r0, r2] - movs r4, 0x24 - ldrsh r0, [r0, r4] - adds r1, r0 - adds r1, 0x20 - movs r0, 0x98 - lsls r0, 1 - cmp r1, r0 - bls _080F15BA - ldrh r0, [r3, 0x1C] - adds r0, 0x1 - strh r0, [r3, 0x1C] - b _080F15BA - .align 2, 0 -_080F14F0: .4byte gSprites -_080F14F4: .4byte gTasks -_080F14F8: - ldrb r1, [r5, 0x1E] - adds r0, r2, 0 - adds r2, r6, 0 - bl LoadBattleMonGfxAndAnimate - ldrh r0, [r5, 0x1C] - adds r0, 0x1 - strh r0, [r5, 0x1C] - b _080F15BA -_080F150A: - movs r1, 0xA0 - lsls r1, 3 - adds r0, r1, 0 - ldrh r2, [r5, 0x8] - adds r0, r2 - strh r0, [r5, 0x8] - ldrb r0, [r3] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080F1540 - ldr r0, _080F153C @ =gSprites - lsls r3, r6, 4 - adds r2, r3, r6 - lsls r2, 2 - adds r2, r0 - ldrh r1, [r5, 0x8] - lsls r1, 16 - asrs r1, 24 - ldrh r0, [r2, 0x24] - subs r0, r1 - strh r0, [r2, 0x24] - adds r4, r3, 0 - b _080F1558 - .align 2, 0 -_080F153C: .4byte gSprites -_080F1540: - ldr r0, _080F158C @ =gSprites - lsls r2, r6, 4 - adds r1, r2, r6 - lsls r1, 2 - adds r1, r0 - ldrh r0, [r5, 0x8] - lsls r0, 16 - asrs r0, 24 - ldrh r3, [r1, 0x24] - adds r0, r3 - strh r0, [r1, 0x24] - adds r4, r2, 0 -_080F1558: - ldr r1, _080F1590 @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldrb r1, [r0, 0x8] - strh r1, [r0, 0x8] - ldr r0, _080F1594 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _080F1598 - ldr r0, _080F158C @ =gSprites - adds r1, r4, r6 - lsls r1, 2 - adds r1, r0 - movs r4, 0x24 - ldrsh r0, [r1, r4] - cmp r0, 0 - bgt _080F15AE - movs r0, 0 - strh r0, [r1, 0x24] - b _080F15B4 - .align 2, 0 -_080F158C: .4byte gSprites -_080F1590: .4byte gTasks -_080F1594: .4byte gBattleAnimAttacker -_080F1598: - ldr r0, _080F15C4 @ =gSprites - adds r1, r4, r6 - lsls r1, 2 - adds r1, r0 - movs r3, 0x24 - ldrsh r0, [r1, r3] - cmp r0, 0 - blt _080F15AE - strh r2, [r1, 0x24] - movs r4, 0x1 - mov r8, r4 -_080F15AE: - mov r0, r8 - cmp r0, 0 - beq _080F15BA -_080F15B4: - adds r0, r7, 0 - bl DestroyAnimVisualTask -_080F15BA: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080F15C4: .4byte gSprites - thumb_func_end sub_80F1420 - - thumb_func_start sub_80F15C8 -sub_80F15C8: @ 80F15C8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _080F15EC @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0x26 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _080F1644 - cmp r0, 0x1 - bgt _080F15F0 - cmp r0, 0 - beq _080F15F6 - b _080F16B4 - .align 2, 0 -_080F15EC: .4byte gTasks -_080F15F0: - cmp r0, 0x2 - beq _080F167E - b _080F16B4 -_080F15F6: - ldr r0, _080F1610 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl sub_80768B0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080F1618 - ldr r1, _080F1614 @ =0x00003f42 - movs r0, 0x50 - bl SetGpuReg - b _080F1620 - .align 2, 0 -_080F1610: .4byte gBattleAnimAttacker -_080F1614: .4byte 0x00003f42 -_080F1618: - ldr r1, _080F163C @ =0x00003f44 - movs r0, 0x50 - bl SetGpuReg -_080F1620: - movs r0, 0x52 - movs r1, 0x10 - bl SetGpuReg - ldr r0, _080F1640 @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x26] - adds r0, 0x1 - strh r0, [r1, 0x26] - b _080F16B4 - .align 2, 0 -_080F163C: .4byte 0x00003f44 -_080F1640: .4byte gTasks -_080F1644: - ldrh r0, [r4, 0xA] - adds r1, r0, 0x1 - strh r1, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080F16B4 - movs r0, 0 - strh r0, [r4, 0xA] - ldrh r2, [r4, 0x8] - adds r2, 0x1 - strh r2, [r4, 0x8] - lsls r1, r2, 8 - movs r0, 0x10 - subs r0, r2 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x10 - bne _080F16B4 - ldrh r0, [r4, 0x26] - adds r0, 0x1 - strh r0, [r4, 0x26] - b _080F16B4 -_080F167E: - ldr r1, _080F16BC @ =gBattlerSpriteIds - ldr r4, _080F16C0 @ =gBattleAnimAttacker - ldrb r0, [r4] - adds r0, r1 - ldrb r1, [r0] - ldr r2, _080F16C4 @ =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x4] - lsls r1, 22 - lsrs r1, 17 - ldr r0, _080F16C8 @ =0x06010000 - adds r1, r0 - movs r2, 0x80 - lsls r2, 4 - movs r0, 0 - movs r3, 0x1 - bl RequestDma3Fill - ldrb r0, [r4] - bl ClearBehindSubstituteBit - adds r0, r5, 0 - bl DestroyAnimVisualTask -_080F16B4: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080F16BC: .4byte gBattlerSpriteIds -_080F16C0: .4byte gBattleAnimAttacker -_080F16C4: .4byte gSprites -_080F16C8: .4byte 0x06010000 - thumb_func_end sub_80F15C8 - - thumb_func_start sub_80F16CC -sub_80F16CC: @ 80F16CC - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r3, _080F16F4 @ =gBattleAnimArgs - ldr r1, _080F16F8 @ =gUnknown_2024018 - ldr r2, [r1] - ldr r1, _080F16FC @ =gBattleAnimAttacker - ldrb r1, [r1] - ldr r2, [r2] - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - lsls r1, 29 - lsrs r1, 31 - strh r1, [r3, 0xE] - bl DestroyAnimVisualTask - pop {r0} - bx r0 - .align 2, 0 -_080F16F4: .4byte gBattleAnimArgs -_080F16F8: .4byte gUnknown_2024018 -_080F16FC: .4byte gBattleAnimAttacker - thumb_func_end sub_80F16CC - - thumb_func_start sub_80F1700 -sub_80F1700: @ 80F1700 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080F1718 @ =gBattleAnimTarget - ldr r1, _080F171C @ =gUnknown_2023D6E - ldrb r1, [r1] - strb r1, [r2] - bl DestroyAnimVisualTask - pop {r0} - bx r0 - .align 2, 0 -_080F1718: .4byte gBattleAnimTarget -_080F171C: .4byte gUnknown_2023D6E - thumb_func_end sub_80F1700 - - thumb_func_start sub_80F1720 -sub_80F1720: @ 80F1720 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r1, 0 - lsls r0, 24 - lsrs r6, r0, 24 - movs r0, 0 - mov r8, r0 - ldr r0, _080F17DC @ =gUnknown_2024018 - ldr r0, [r0] - ldr r1, [r0, 0x4] - lsls r0, r6, 1 - adds r0, r6 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0] - movs r2, 0x80 - orrs r1, r2 - strb r1, [r0] - adds r0, r4, 0 - movs r1, 0x1 - bl GetMonData - adds r5, r0, 0 - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - adds r4, r0, 0 - adds r0, r6, 0 - bl sub_8072DF0 - lsls r0, 24 - cmp r0, 0 - beq _080F17F8 - lsrs r0, r5, 16 - ldr r7, _080F17E0 @ =0x0000ffff - ands r5, r7 - eors r0, r5 - lsrs r1, r4, 16 - eors r0, r1 - ands r4, r7 - eors r0, r4 - cmp r0, 0x7 - bhi _080F177E - movs r0, 0x1 - mov r8, r0 -_080F177E: - mov r0, r8 - cmp r0, 0 - beq _080F17F8 - ldr r0, _080F17E4 @ =0x000027f9 - bl GetSpriteTileStartByTag - lsls r0, 16 - lsrs r0, 16 - cmp r0, r7 - bne _080F179E - ldr r0, _080F17E8 @ =gUnknown_83AD350 - bl sub_800F034 - ldr r0, _080F17EC @ =gUnknown_83ADC58 - bl sub_800F078 -_080F179E: - ldr r5, _080F17F0 @ =sub_80F181C - adds r0, r5, 0 - movs r1, 0xA - bl CreateTask - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - movs r1, 0xA - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r3, _080F17F4 @ =gTasks - lsls r2, r4, 2 - adds r2, r4 - lsls r2, 3 - adds r2, r3 - movs r4, 0 - strh r6, [r2, 0x8] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r3 - strh r6, [r1, 0x8] - strh r4, [r2, 0xA] - movs r0, 0x1 - strh r0, [r1, 0xA] - b _080F180E - .align 2, 0 -_080F17DC: .4byte gUnknown_2024018 -_080F17E0: .4byte 0x0000ffff -_080F17E4: .4byte 0x000027f9 -_080F17E8: .4byte gUnknown_83AD350 -_080F17EC: .4byte gUnknown_83ADC58 -_080F17F0: .4byte sub_80F181C -_080F17F4: .4byte gTasks -_080F17F8: - ldr r0, _080F1818 @ =gUnknown_2024018 - ldr r0, [r0] - ldr r1, [r0, 0x4] - lsls r0, r6, 1 - adds r0, r6 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x1] - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0, 0x1] -_080F180E: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080F1818: .4byte gUnknown_2024018 - thumb_func_end sub_80F1720 - - thumb_func_start sub_80F181C -sub_80F181C: @ 80F181C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r1, _080F1844 @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r4, r0, r1 - ldrh r1, [r4, 0x22] - movs r2, 0x22 - ldrsh r0, [r4, r2] - cmp r0, 0x3B - bgt _080F1848 - adds r0, r1, 0x1 - strh r0, [r4, 0x22] - b _080F19C0 - .align 2, 0 -_080F1844: .4byte gTasks -_080F1848: - ldr r0, _080F189C @ =gUnknown_2024018 - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0xA] - cmp r0, 0 - beq _080F1856 - b _080F19C0 -_080F1856: - ldrh r0, [r4, 0x1C] - adds r1, r0, 0x1 - strh r1, [r4, 0x1C] - lsls r0, 16 - movs r1, 0xC0 - lsls r1, 10 - ands r1, r0 - cmp r1, 0 - beq _080F186A - b _080F19C0 -_080F186A: - ldrb r0, [r4, 0x8] - mov r8, r0 - movs r1, 0 - bl sub_8074480 - lsls r0, 24 - lsrs r5, r0, 24 - mov r0, r8 - movs r1, 0x1 - bl sub_8074480 - lsls r0, 24 - lsrs r2, r0, 24 - movs r1, 0x1E - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080F18A4 - ldr r0, _080F18A0 @ =gUnknown_83FF168 - adds r1, r5, 0 - movs r3, 0x5 - bl CreateSprite - lsls r0, 24 - lsrs r5, r0, 24 - b _080F1906 - .align 2, 0 -_080F189C: .4byte gUnknown_2024018 -_080F18A0: .4byte gUnknown_83FF168 -_080F18A4: - cmp r0, 0 - blt _080F18D8 - cmp r0, 0x3 - bgt _080F18D8 - ldr r0, _080F18D0 @ =gUnknown_83FF180 - adds r1, r5, 0 - movs r3, 0x5 - bl CreateSprite - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _080F18D4 @ =gSprites - lsls r2, r5, 4 - adds r2, r5 - lsls r2, 2 - adds r2, r0 - ldrh r3, [r2, 0x4] - lsls r1, r3, 22 - lsrs r1, 22 - adds r1, 0x4 - b _080F18F8 - .align 2, 0 -_080F18D0: .4byte gUnknown_83FF180 -_080F18D4: .4byte gSprites -_080F18D8: - ldr r0, _080F1930 @ =gUnknown_83FF180 - adds r1, r5, 0 - movs r3, 0x5 - bl CreateSprite - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _080F1934 @ =gSprites - lsls r2, r5, 4 - adds r2, r5 - lsls r2, 2 - adds r2, r0 - ldrh r3, [r2, 0x4] - lsls r1, r3, 22 - lsrs r1, 22 - adds r1, 0x5 -_080F18F8: - ldr r4, _080F1938 @ =0x000003ff - adds r0, r4, 0 - ands r1, r0 - ldr r0, _080F193C @ =0xfffffc00 - ands r0, r3 - orrs r0, r1 - strh r0, [r2, 0x4] -_080F1906: - ldr r2, _080F1940 @ =gTasks - lsls r1, r7, 2 - adds r0, r1, r7 - lsls r0, 3 - adds r6, r0, r2 - movs r2, 0xA - ldrsh r0, [r6, r2] - mov r9, r1 - cmp r0, 0 - bne _080F1948 - ldr r1, _080F1934 @ =gSprites - lsls r2, r5, 4 - adds r0, r2, r5 - lsls r0, 2 - adds r1, 0x1C - adds r0, r1 - ldr r1, _080F1944 @ =sub_80F1A2C - str r1, [r0] - adds r4, r2, 0 - b _080F1990 - .align 2, 0 -_080F1930: .4byte gUnknown_83FF180 -_080F1934: .4byte gSprites -_080F1938: .4byte 0x000003ff -_080F193C: .4byte 0xfffffc00 -_080F1940: .4byte gTasks -_080F1944: .4byte sub_80F1A2C -_080F1948: - ldr r3, _080F19CC @ =gSprites - lsls r4, r5, 4 - adds r1, r4, r5 - lsls r1, 2 - adds r0, r3, 0 - adds r0, 0x1C - adds r0, r1, r0 - ldr r2, _080F19D0 @ =sub_80F1A80 - str r2, [r0] - adds r1, r3 - ldr r0, _080F19D4 @ =0x0000ffe0 - strh r0, [r1, 0x24] - movs r0, 0x20 - strh r0, [r1, 0x26] - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - movs r1, 0x1E - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _080F1990 - mov r0, r8 - bl GetBattlerSide - lsls r0, 24 - movs r1, 0x3F - cmp r0, 0 - bne _080F1986 - movs r1, 0xC0 -_080F1986: - lsls r1, 24 - asrs r1, 24 - movs r0, 0x5F - bl PlaySE12WithPanning -_080F1990: - ldr r1, _080F19CC @ =gSprites - adds r0, r4, r5 - lsls r0, 2 - adds r0, r1 - strh r7, [r0, 0x2E] - ldr r1, _080F19D8 @ =gTasks - mov r2, r9 - adds r0, r2, r7 - lsls r0, 3 - adds r1, r0, r1 - ldrh r0, [r1, 0x1E] - adds r0, 0x1 - strh r0, [r1, 0x1E] - cmp r5, 0x40 - beq _080F19B4 - ldrh r0, [r1, 0x20] - adds r0, 0x1 - strh r0, [r1, 0x20] -_080F19B4: - movs r4, 0x1E - ldrsh r0, [r1, r4] - cmp r0, 0x5 - bne _080F19C0 - ldr r0, _080F19DC @ =sub_80F19E0 - str r0, [r1] -_080F19C0: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080F19CC: .4byte gSprites -_080F19D0: .4byte sub_80F1A80 -_080F19D4: .4byte 0x0000ffe0 -_080F19D8: .4byte gTasks -_080F19DC: .4byte sub_80F19E0 - thumb_func_end sub_80F181C - - thumb_func_start sub_80F19E0 -sub_80F19E0: @ 80F19E0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - adds r3, r0, 0 - ldr r1, _080F1A24 @ =gTasks - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 3 - adds r1, r0, r1 - movs r2, 0x20 - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _080F1A20 - movs r2, 0xA - ldrsh r0, [r1, r2] - cmp r0, 0x1 - bne _080F1A1A - ldrb r1, [r1, 0x8] - ldr r0, _080F1A28 @ =gUnknown_2024018 - ldr r0, [r0] - ldr r2, [r0, 0x4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x1] - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0, 0x1] -_080F1A1A: - adds r0, r3, 0 - bl DestroyTask -_080F1A20: - pop {r0} - bx r0 - .align 2, 0 -_080F1A24: .4byte gTasks -_080F1A28: .4byte gUnknown_2024018 - thumb_func_end sub_80F19E0 - - thumb_func_start sub_80F1A2C -sub_80F1A2C: @ 80F1A2C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r1, 0x18 - bl Sin - strh r0, [r4, 0x24] - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r1, 0x18 - bl Cos - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x30] - adds r0, 0xC - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xFF - ble _080F1A76 - ldr r2, _080F1A7C @ =gTasks - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrh r1, [r0, 0x20] - subs r1, 0x1 - strh r1, [r0, 0x20] - adds r0, r4, 0 - bl FreeSpriteOamMatrix - adds r0, r4, 0 - bl DestroySprite -_080F1A76: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080F1A7C: .4byte gTasks - thumb_func_end sub_80F1A2C - - thumb_func_start sub_80F1A80 -sub_80F1A80: @ 80F1A80 - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x30] - movs r2, 0x30 - ldrsh r0, [r4, r2] - cmp r0, 0x3 - bgt _080F1A94 - adds r0, r1, 0x1 - strh r0, [r4, 0x30] - b _080F1AD6 -_080F1A94: - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - ldrh r1, [r4, 0x24] - adds r1, 0x5 - strh r1, [r4, 0x24] - ldrh r0, [r4, 0x26] - subs r0, 0x5 - strh r0, [r4, 0x26] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0x20 - ble _080F1AD6 - ldr r2, _080F1ADC @ =gTasks - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrh r1, [r0, 0x20] - subs r1, 0x1 - strh r1, [r0, 0x20] - adds r0, r4, 0 - bl FreeSpriteOamMatrix - adds r0, r4, 0 - bl DestroySprite -_080F1AD6: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080F1ADC: .4byte gTasks - thumb_func_end sub_80F1A80 - - thumb_func_start sub_80F1AE0 -sub_80F1AE0: @ 80F1AE0 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _080F1B08 @ =gUnknown_83AD470 - bl sub_800F034 - ldr r0, _080F1B0C @ =gUnknown_83ADD78 - bl sub_800F078 - ldr r0, _080F1B10 @ =0x0000281d - bl IndexOfSpritePaletteTag - adds r0, r4, 0 - bl DestroyAnimVisualTask - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080F1B08: .4byte gUnknown_83AD470 -_080F1B0C: .4byte gUnknown_83ADD78 -_080F1B10: .4byte 0x0000281d - thumb_func_end sub_80F1AE0 - - thumb_func_start sub_80F1B14 -sub_80F1B14: @ 80F1B14 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, _080F1B38 @ =0x0000281d - adds r0, r5, 0 - bl FreeSpriteTilesByTag - adds r0, r5, 0 - bl FreeSpritePaletteByTag - adds r0, r4, 0 - bl DestroyAnimVisualTask - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080F1B38: .4byte 0x0000281d - thumb_func_end sub_80F1B14 - - thumb_func_start sub_80F1B3C -sub_80F1B3C: @ 80F1B3C - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0 - bl sub_8075160 - movs r0, 0x1E - strh r0, [r4, 0x2E] - movs r0, 0x1 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl sub_8074480 - lsls r0, 24 - ldr r5, _080F1BB0 @ =gBattleAnimArgs - lsrs r0, 24 - ldrh r1, [r5, 0x4] - adds r0, r1 - strh r0, [r4, 0x32] - movs r0, 0x1 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - bl sub_8074480 - lsls r0, 24 - lsrs r0, 24 - ldrh r5, [r5, 0x6] - adds r0, r5 - strh r0, [r4, 0x36] - ldr r0, _080F1BB4 @ =0x0000ffe0 - strh r0, [r4, 0x38] - adds r0, r4, 0 - bl sub_8075068 - ldr r2, _080F1BB8 @ =gSprites - ldr r1, _080F1BBC @ =gBattlerSpriteIds - ldr r0, _080F1BC0 @ =gBattleAnimAttacker - ldrb r0, [r0] - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, _080F1BC4 @ =sub_8012354 - str r1, [r0] - ldr r0, _080F1BC8 @ =sub_80F1BCC - str r0, [r4, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080F1BB0: .4byte gBattleAnimArgs -_080F1BB4: .4byte 0x0000ffe0 -_080F1BB8: .4byte gSprites -_080F1BBC: .4byte gBattlerSpriteIds -_080F1BC0: .4byte gBattleAnimAttacker -_080F1BC4: .4byte sub_8012354 -_080F1BC8: .4byte sub_80F1BCC - thumb_func_end sub_80F1B3C - - thumb_func_start sub_80F1BCC -sub_80F1BCC: @ 80F1BCC - push {lr} - adds r3, r0, 0 - ldr r2, _080F1BF4 @ =gSprites - ldr r1, _080F1BF8 @ =gBattlerSpriteIds - ldr r0, _080F1BFC @ =gBattleAnimAttacker - ldrb r0, [r0] - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x2B - ldrb r0, [r0] - cmp r0, 0x1 - bne _080F1BF0 - ldr r0, _080F1C00 @ =sub_80F1C04 - str r0, [r3, 0x1C] -_080F1BF0: - pop {r0} - bx r0 - .align 2, 0 -_080F1BF4: .4byte gSprites -_080F1BF8: .4byte gBattlerSpriteIds -_080F1BFC: .4byte gBattleAnimAttacker -_080F1C00: .4byte sub_80F1C04 - thumb_func_end sub_80F1BCC - - thumb_func_start sub_80F1C04 -sub_80F1C04: @ 80F1C04 - push {r4,lr} - adds r4, r0, 0 - bl AnimateBallThrow - lsls r0, 24 - cmp r0, 0 - beq _080F1C26 - movs r0, 0 - strh r0, [r4, 0x2E] - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, _080F1C2C @ =sub_80F1C30 - str r0, [r4, 0x1C] -_080F1C26: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080F1C2C: .4byte sub_80F1C30 - thumb_func_end sub_80F1C04 - - thumb_func_start sub_80F1C30 -sub_80F1C30: @ 80F1C30 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, _080F1C80 @ =gSprites - ldr r3, _080F1C84 @ =gBattlerSpriteIds - ldr r2, _080F1C88 @ =gBattleAnimAttacker - ldrb r0, [r2] - adds r0, r3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 27 - cmp r0, 0 - bge _080F1C78 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - cmp r0, 0 - ble _080F1C78 - ldrb r0, [r2] - adds r0, r3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r1, 0 - bl StartSpriteAnim - adds r0, r4, 0 - bl DestroyAnimSprite -_080F1C78: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080F1C80: .4byte gSprites -_080F1C84: .4byte gBattlerSpriteIds -_080F1C88: .4byte gBattleAnimAttacker - thumb_func_end sub_80F1C30 - - thumb_func_start sub_80F1C8C -sub_80F1C8C: @ 80F1C8C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080F1CA4 @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _080F1CA8 - cmp r0, 0x1 - beq _080F1CBC - b _080F1CD0 - .align 2, 0 -_080F1CA4: .4byte gBattleAnimArgs -_080F1CA8: - movs r0, 0 - bl GetBattlerAtPosition - ldr r1, _080F1CB8 @ =gBattleAnimAttacker - strb r0, [r1] - movs r0, 0x1 - b _080F1CC8 - .align 2, 0 -_080F1CB8: .4byte gBattleAnimAttacker -_080F1CBC: - movs r0, 0x1 - bl GetBattlerAtPosition - ldr r1, _080F1CDC @ =gBattleAnimAttacker - strb r0, [r1] - movs r0, 0 -_080F1CC8: - bl GetBattlerAtPosition - ldr r1, _080F1CE0 @ =gBattleAnimTarget - strb r0, [r1] -_080F1CD0: - adds r0, r4, 0 - bl DestroyAnimVisualTask - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080F1CDC: .4byte gBattleAnimAttacker -_080F1CE0: .4byte gBattleAnimTarget - thumb_func_end sub_80F1C8C - - thumb_func_start sub_80F1CE4 -sub_80F1CE4: @ 80F1CE4 - push {lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r2, _080F1CF8 @ =gUnknown_2023E82 - ldrb r0, [r2, 0x5] - cmp r0, 0x2 - bls _080F1D00 - ldr r1, _080F1CFC @ =gBattleAnimArgs - movs r0, 0 - b _080F1D04 - .align 2, 0 -_080F1CF8: .4byte gUnknown_2023E82 -_080F1CFC: .4byte gBattleAnimArgs -_080F1D00: - ldr r1, _080F1D10 @ =gBattleAnimArgs - ldrb r0, [r2, 0x5] -_080F1D04: - strh r0, [r1, 0xE] - adds r0, r3, 0 - bl DestroyAnimVisualTask - pop {r0} - bx r0 - .align 2, 0 -_080F1D10: .4byte gBattleAnimArgs - thumb_func_end sub_80F1CE4 - - thumb_func_start sub_80F1D14 -sub_80F1D14: @ 80F1D14 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _080F1D2C @ =gUnknown_2024018 - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrh r1, [r0] - cmp r1, 0x53 - bne _080F1D34 - ldr r1, _080F1D30 @ =gBattleAnimArgs - movs r0, 0x1 - b _080F1D6C - .align 2, 0 -_080F1D2C: .4byte gUnknown_2024018 -_080F1D30: .4byte gBattleAnimArgs -_080F1D34: - cmp r1, 0xFA - bne _080F1D44 - ldr r1, _080F1D40 @ =gBattleAnimArgs - movs r0, 0x2 - b _080F1D6C - .align 2, 0 -_080F1D40: .4byte gBattleAnimArgs -_080F1D44: - cmp r1, 0x80 - bne _080F1D54 - ldr r1, _080F1D50 @ =gBattleAnimArgs - movs r0, 0x3 - b _080F1D6C - .align 2, 0 -_080F1D50: .4byte gBattleAnimArgs -_080F1D54: - movs r0, 0xA4 - lsls r0, 1 - cmp r1, r0 - bne _080F1D68 - ldr r1, _080F1D64 @ =gBattleAnimArgs - movs r0, 0x4 - b _080F1D6C - .align 2, 0 -_080F1D64: .4byte gBattleAnimArgs -_080F1D68: - ldr r1, _080F1D78 @ =gBattleAnimArgs - movs r0, 0 -_080F1D6C: - strh r0, [r1] - adds r0, r2, 0 - bl DestroyAnimVisualTask - pop {r0} - bx r0 - .align 2, 0 -_080F1D78: .4byte gBattleAnimArgs - thumb_func_end sub_80F1D14 - - thumb_func_start sub_80F1D7C -sub_80F1D7C: @ 80F1D7C - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r3, _080F1DA0 @ =gBattleAnimAttacker - ldr r1, _080F1DA4 @ =gUnknown_2024018 - ldr r2, [r1] - ldr r1, [r2, 0x8] - ldrh r1, [r1] - strb r1, [r3] - ldr r3, _080F1DA8 @ =gBattleAnimTarget - ldr r1, [r2, 0x8] - ldrh r1, [r1] - lsrs r1, 8 - strb r1, [r3] - bl DestroyAnimVisualTask - pop {r0} - bx r0 - .align 2, 0 -_080F1DA0: .4byte gBattleAnimAttacker -_080F1DA4: .4byte gUnknown_2024018 -_080F1DA8: .4byte gBattleAnimTarget - thumb_func_end sub_80F1D7C - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/battle_anim_effects_3.s b/asm/battle_anim_effects_3.s new file mode 100644 index 000000000..74f6ef9fc --- /dev/null +++ b/asm/battle_anim_effects_3.s @@ -0,0 +1,12857 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start sub_80DE2C0 +sub_80DE2C0: @ 80DE2C0 + push {lr} + adds r2, r0, 0 + ldr r1, _080DE2E4 @ =gBattleAnimArgs + ldrh r0, [r1] + ldrh r3, [r2, 0x20] + adds r0, r3 + strh r0, [r2, 0x20] + ldrh r0, [r1, 0x2] + ldrh r3, [r2, 0x22] + adds r0, r3 + strh r0, [r2, 0x22] + movs r3, 0x6 + ldrsh r0, [r1, r3] + cmp r0, 0 + bne _080DE2E8 + ldrh r0, [r1, 0x4] + b _080DE2EC + .align 2, 0 +_080DE2E4: .4byte gBattleAnimArgs +_080DE2E8: + ldrh r0, [r1, 0x4] + negs r0, r0 +_080DE2EC: + strh r0, [r2, 0x2E] + ldrh r0, [r1, 0x8] + strh r0, [r2, 0x30] + ldr r0, _080DE2FC @ =sub_80DE300 + str r0, [r2, 0x1C] + pop {r0} + bx r0 + .align 2, 0 +_080DE2FC: .4byte sub_80DE300 + thumb_func_end sub_80DE2C0 + + thumb_func_start sub_80DE300 +sub_80DE300: @ 80DE300 + push {lr} + adds r3, r0, 0 + movs r1, 0x30 + ldrsh r0, [r3, r1] + cmp r0, 0 + ble _080DE340 + ldrh r1, [r3, 0x32] + lsls r0, r1, 16 + asrs r0, 24 + strh r0, [r3, 0x24] + ldrh r0, [r3, 0x2E] + adds r1, r0 + strh r1, [r3, 0x32] + movs r0, 0x3E + adds r0, r3 + mov r12, r0 + ldrb r2, [r0] + lsls r0, r2, 29 + lsrs r0, 31 + movs r1, 0x1 + eors r1, r0 + lsls r1, 2 + movs r0, 0x5 + negs r0, r0 + ands r0, r2 + orrs r0, r1 + mov r1, r12 + strb r0, [r1] + ldrh r0, [r3, 0x30] + subs r0, 0x1 + strh r0, [r3, 0x30] + b _080DE346 +_080DE340: + adds r0, r3, 0 + bl DestroyAnimSprite +_080DE346: + pop {r0} + bx r0 + thumb_func_end sub_80DE300 + + thumb_func_start sub_80DE34C +sub_80DE34C: @ 80DE34C + push {r4-r6,lr} + adds r5, r0, 0 + lsls r5, 24 + lsrs r5, 24 + ldr r6, _080DE398 @ =gBattleAnimTarget + ldrb r0, [r6] + movs r1, 0x2 + bl sub_8074480 + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 8 + movs r0, 0x80 + lsls r0, 12 + adds r4, r0 + asrs r4, 16 + ldrb r0, [r6] + movs r1, 0x3 + bl sub_8074480 + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 8 + movs r0, 0x80 + lsls r0, 12 + adds r1, r0 + asrs r1, 16 + adds r0, r4, 0 + movs r2, 0 + bl sub_804A76C + adds r0, r5, 0 + bl DestroyAnimVisualTask + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080DE398: .4byte gBattleAnimTarget + thumb_func_end sub_80DE34C + + thumb_func_start sub_80DE39C +sub_80DE39C: @ 80DE39C + push {r4,lr} + adds r4, r0, 0 + movs r0, 0x5A + strh r0, [r4, 0x2E] + ldr r0, _080DE3D8 @ =sub_8074C44 + str r0, [r4, 0x1C] + movs r0, 0x7 + strh r0, [r4, 0x30] + ldr r1, _080DE3DC @ =sub_80DE3E0 + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 + movs r1, 0xFD + lsls r1, 6 + movs r0, 0x50 + bl SetGpuReg + ldrh r0, [r4, 0x30] + movs r1, 0x10 + subs r1, r0 + lsls r1, 8 + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080DE3D8: .4byte sub_8074C44 +_080DE3DC: .4byte sub_80DE3E0 + thumb_func_end sub_80DE39C + + thumb_func_start sub_80DE3E0 +sub_80DE3E0: @ 80DE3E0 + push {r4,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x30] + movs r1, 0x10 + subs r1, r0 + lsls r1, 8 + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + ldrh r0, [r4, 0x30] + subs r0, 0x1 + strh r0, [r4, 0x30] + lsls r0, 16 + cmp r0, 0 + bge _080DE414 + adds r2, r4, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] + ldr r0, _080DE41C @ =sub_80DE420 + str r0, [r4, 0x1C] +_080DE414: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080DE41C: .4byte sub_80DE420 + thumb_func_end sub_80DE3E0 + + thumb_func_start sub_80DE420 +sub_80DE420: @ 80DE420 + push {r4,lr} + adds r4, r0, 0 + movs r0, 0x50 + movs r1, 0 + bl SetGpuReg + movs r0, 0x52 + movs r1, 0 + bl SetGpuReg + adds r0, r4, 0 + bl DestroyAnimSprite + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80DE420 + + thumb_func_start sub_80DE440 +sub_80DE440: @ 80DE440 + push {r4-r7,lr} + sub sp, 0x4 + adds r5, r0, 0 + ldr r4, _080DE4CC @ =gBattleAnimTarget + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + adds r7, r0, 0 + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + adds r6, r0, 0 + adds r0, r5, 0 + movs r1, 0x1 + bl sub_8075114 + ldrh r0, [r5, 0x20] + subs r0, r7 + lsls r0, 16 + asrs r0, 16 + ldrh r1, [r5, 0x22] + subs r1, r6 + lsls r1, 16 + asrs r1, 16 + bl sub_8075B30 + lsls r0, 16 + movs r1, 0xC0 + lsls r1, 23 + adds r0, r1 + lsrs r4, r0, 16 + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + beq _080DE49E + movs r1, 0x80 + lsls r1, 7 + adds r0, r4, r1 + lsls r0, 16 + lsrs r4, r0, 16 +_080DE49E: + movs r3, 0x80 + lsls r3, 1 + str r4, [sp] + adds r0, r5, 0 + movs r1, 0 + adds r2, r3, 0 + bl sub_8075A1C + ldr r0, _080DE4D0 @ =gBattleAnimArgs + ldrh r0, [r0, 0x4] + strh r0, [r5, 0x2E] + strh r7, [r5, 0x32] + strh r6, [r5, 0x36] + ldr r0, _080DE4D4 @ =sub_8075590 + str r0, [r5, 0x1C] + ldr r1, _080DE4D8 @ =DestroyAnimSprite + adds r0, r5, 0 + bl StoreSpriteCallbackInData6 + add sp, 0x4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080DE4CC: .4byte gBattleAnimTarget +_080DE4D0: .4byte gBattleAnimArgs +_080DE4D4: .4byte sub_8075590 +_080DE4D8: .4byte DestroyAnimSprite + thumb_func_end sub_80DE440 + + thumb_func_start sub_80DE4DC +sub_80DE4DC: @ 80DE4DC + push {r4,lr} + adds r4, r0, 0 + movs r1, 0xFD + lsls r1, 6 + movs r0, 0x50 + bl SetGpuReg + movs r1, 0x80 + lsls r1, 5 + movs r0, 0x52 + bl SetGpuReg + movs r0, 0x4 + strh r0, [r4, 0x2E] + ldr r0, _080DE504 @ =sub_80DE508 + str r0, [r4, 0x1C] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080DE504: .4byte sub_80DE508 + thumb_func_end sub_80DE4DC + + thumb_func_start sub_80DE508 +sub_80DE508: @ 80DE508 + push {r4,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x2E] + movs r1, 0x10 + subs r1, r0 + lsls r1, 8 + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + movs r1, 0x30 + ldrsh r0, [r4, r1] + cmp r0, 0 + beq _080DE52E + ldrh r0, [r4, 0x2E] + subs r0, 0x1 + b _080DE532 +_080DE52E: + ldrh r0, [r4, 0x2E] + adds r0, 0x1 +_080DE532: + strh r0, [r4, 0x2E] + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0xF + beq _080DE540 + cmp r0, 0x4 + bne _080DE548 +_080DE540: + ldrh r0, [r4, 0x30] + movs r1, 0x1 + eors r0, r1 + strh r0, [r4, 0x30] +_080DE548: + ldrh r0, [r4, 0x32] + adds r1, r0, 0x1 + strh r1, [r4, 0x32] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x46 + ble _080DE58C + movs r0, 0x50 + movs r1, 0 + bl SetGpuReg + movs r0, 0x52 + movs r1, 0 + bl SetGpuReg + adds r0, r4, 0 + movs r1, 0x1 + bl StartSpriteAffineAnim + movs r0, 0 + strh r0, [r4, 0x32] + adds r2, r4, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] + subs r2, 0x12 + ldrb r0, [r2] + movs r1, 0x80 + orrs r0, r1 + strb r0, [r2] + ldr r0, _080DE594 @ =sub_80DE598 + str r0, [r4, 0x1C] +_080DE58C: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080DE594: .4byte sub_80DE598 + thumb_func_end sub_80DE508 + + thumb_func_start sub_80DE598 +sub_80DE598: @ 80DE598 + push {lr} + adds r3, r0, 0 + ldrh r0, [r3, 0x32] + adds r1, r0, 0x1 + strh r1, [r3, 0x32] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x9 + ble _080DE5D4 + adds r2, r3, 0 + adds r2, 0x3E + ldrb r1, [r2] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + strb r0, [r2] + subs r2, 0x12 + ldrb r1, [r2] + movs r0, 0x7F + ands r0, r1 + strb r0, [r2] + adds r0, r3, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x20 + ands r0, r1 + cmp r0, 0 + beq _080DE5D4 + ldr r0, _080DE5D8 @ =sub_80DE5DC + str r0, [r3, 0x1C] +_080DE5D4: + pop {r0} + bx r0 + .align 2, 0 +_080DE5D8: .4byte sub_80DE5DC + thumb_func_end sub_80DE598 + + thumb_func_start sub_80DE5DC +sub_80DE5DC: @ 80DE5DC + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x34 + ldrsh r0, [r4, r1] + cmp r0, 0x6 + bhi _080DE634 + lsls r0, 2 + ldr r1, _080DE5F4 @ =_080DE5F8 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080DE5F4: .4byte _080DE5F8 + .align 2, 0 +_080DE5F8: + .4byte _080DE614 + .4byte _080DE614 + .4byte _080DE61E + .4byte _080DE61E + .4byte _080DE62C + .4byte _080DE62C + .4byte _080DE634 +_080DE614: + movs r1, 0 + movs r0, 0x1 + strh r0, [r4, 0x24] + strh r1, [r4, 0x26] + b _080DE63C +_080DE61E: + ldr r0, _080DE628 @ =0x0000ffff + strh r0, [r4, 0x24] + movs r0, 0 + b _080DE63A + .align 2, 0 +_080DE628: .4byte 0x0000ffff +_080DE62C: + movs r0, 0 + strh r0, [r4, 0x24] + movs r0, 0x1 + b _080DE63A +_080DE634: + movs r0, 0 + strh r0, [r4, 0x24] + ldr r0, _080DE680 @ =0x0000ffff +_080DE63A: + strh r0, [r4, 0x26] +_080DE63C: + ldrh r0, [r4, 0x34] + adds r0, 0x1 + movs r2, 0 + strh r0, [r4, 0x34] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x7 + ble _080DE64E + strh r2, [r4, 0x34] +_080DE64E: + ldrh r0, [r4, 0x36] + adds r1, r0, 0x1 + strh r1, [r4, 0x36] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xF + ble _080DE678 + movs r0, 0x10 + strh r0, [r4, 0x2E] + strh r2, [r4, 0x30] + movs r1, 0xFD + lsls r1, 6 + movs r0, 0x50 + bl SetGpuReg + ldrh r1, [r4, 0x2E] + movs r0, 0x52 + bl SetGpuReg + ldr r0, _080DE684 @ =sub_80DE688 + str r0, [r4, 0x1C] +_080DE678: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080DE680: .4byte 0x0000ffff +_080DE684: .4byte sub_80DE688 + thumb_func_end sub_80DE5DC + + thumb_func_start sub_80DE688 +sub_80DE688: @ 80DE688 + push {r4,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x2E] + movs r1, 0x10 + subs r1, r0 + lsls r1, 8 + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + ldrh r0, [r4, 0x30] + adds r1, r0, 0x1 + strh r1, [r4, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + ble _080DE6B8 + ldrh r0, [r4, 0x2E] + subs r0, 0x1 + movs r1, 0 + strh r0, [r4, 0x2E] + strh r1, [r4, 0x30] +_080DE6B8: + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080DE6CC + adds r2, r4, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] +_080DE6CC: + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0 + bge _080DE6EA + movs r0, 0x50 + movs r1, 0 + bl SetGpuReg + movs r0, 0x52 + movs r1, 0 + bl SetGpuReg + adds r0, r4, 0 + bl DestroyAnimSprite +_080DE6EA: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80DE688 + + thumb_func_start sub_80DE6F0 +sub_80DE6F0: @ 80DE6F0 + lsls r0, 24 + lsrs r0, 24 + ldr r2, _080DE70C @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + ldr r0, _080DE710 @ =sub_80DE718 + str r0, [r1] + ldr r1, _080DE714 @ =gUnknown_2037EE2 + ldrb r0, [r1] + subs r0, 0x1 + strb r0, [r1] + bx lr + .align 2, 0 +_080DE70C: .4byte gTasks +_080DE710: .4byte sub_80DE718 +_080DE714: .4byte gUnknown_2037EE2 + thumb_func_end sub_80DE6F0 + + thumb_func_start sub_80DE718 +sub_80DE718: @ 80DE718 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + lsls r0, 24 + lsrs r4, r0, 24 + bl sub_8075454 + lsls r0, 24 + lsrs r6, r0, 24 + ldr r7, _080DE7A4 @ =gTasks + lsls r5, r4, 2 + adds r1, r5, r4 + lsls r1, 3 + adds r1, r7 + ldrh r0, [r1, 0x12] + adds r0, 0x1 + strh r0, [r1, 0x12] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x4 + bne _080DE788 + ldr r0, _080DE7A8 @ =gPlttBufferFaded + lsls r2, r6, 4 + adds r1, r2, 0 + adds r1, 0xB + lsls r1, 1 + adds r1, r0 + ldrh r3, [r1] + mov r8, r3 + movs r3, 0xA + mov r9, r7 + adds r7, r5, 0 + mov r12, r0 + adds r5, r2, 0 + lsls r0, r6, 5 + add r0, r12 + adds r2, r0, 0 + adds r2, 0x14 +_080DE766: + ldrh r0, [r2] + strh r0, [r1] + subs r2, 0x2 + subs r1, 0x2 + subs r3, 0x1 + cmp r3, 0 + bgt _080DE766 + adds r0, r5, 0x1 + lsls r0, 1 + add r0, r12 + movs r1, 0 + mov r2, r8 + strh r2, [r0] + adds r0, r7, r4 + lsls r0, 3 + add r0, r9 + strh r1, [r0, 0x12] +_080DE788: + ldr r0, _080DE7AC @ =gBattleAnimArgs + ldrh r1, [r0, 0xE] + ldr r0, _080DE7B0 @ =0x0000ffff + cmp r1, r0 + bne _080DE798 + adds r0, r4, 0 + bl DestroyTask +_080DE798: + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080DE7A4: .4byte gTasks +_080DE7A8: .4byte gPlttBufferFaded +_080DE7AC: .4byte gBattleAnimArgs +_080DE7B0: .4byte 0x0000ffff + thumb_func_end sub_80DE718 + + thumb_func_start sub_80DE7B4 +sub_80DE7B4: @ 80DE7B4 + lsls r0, 24 + lsrs r0, 24 + ldr r2, _080DE7D0 @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + ldr r0, _080DE7D4 @ =sub_80DE7DC + str r0, [r1] + ldr r1, _080DE7D8 @ =gUnknown_2037EE2 + ldrb r0, [r1] + subs r0, 0x1 + strb r0, [r1] + bx lr + .align 2, 0 +_080DE7D0: .4byte gTasks +_080DE7D4: .4byte sub_80DE7DC +_080DE7D8: .4byte gUnknown_2037EE2 + thumb_func_end sub_80DE7B4 + + thumb_func_start sub_80DE7DC +sub_80DE7DC: @ 80DE7DC + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + bl sub_8075454 + lsls r0, 24 + lsrs r7, r0, 24 + ldr r5, _080DE89C @ =gTasks + mov r0, r8 + lsls r3, r0, 2 + adds r1, r3, r0 + lsls r1, 3 + adds r1, r5 + ldrh r0, [r1, 0x12] + adds r0, 0x1 + strh r0, [r1, 0x12] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x4 + bne _080DE87E + ldr r0, _080DE8A0 @ =gPlttBufferFaded + lsls r2, r7, 4 + adds r1, r2, 0 + adds r1, 0xB + lsls r1, 1 + adds r1, r0 + ldrh r6, [r1] + movs r4, 0xA + mov r10, r3 + mov r9, r0 + adds r5, r2, 0 + ldr r2, _080DE8A4 @ =gPlttBufferUnfaded + mov r12, r2 + lsls r0, r7, 5 + add r0, r9 + adds r3, r0, 0 + adds r3, 0x14 +_080DE830: + ldrh r0, [r3] + strh r0, [r1] + subs r3, 0x2 + subs r1, 0x2 + subs r4, 0x1 + cmp r4, 0 + bgt _080DE830 + adds r0, r5, 0x1 + lsls r0, 1 + add r0, r9 + strh r6, [r0] + adds r1, r5, 0 + adds r1, 0xB + lsls r1, 1 + add r1, r12 + ldrh r6, [r1] + movs r4, 0xA + lsls r0, r7, 5 + add r0, r12 + adds r2, r0, 0 + adds r2, 0x14 +_080DE85A: + ldrh r0, [r2] + strh r0, [r1] + subs r2, 0x2 + subs r1, 0x2 + subs r4, 0x1 + cmp r4, 0 + bgt _080DE85A + adds r0, r5, 0x1 + lsls r0, 1 + add r0, r12 + movs r1, 0 + strh r6, [r0] + mov r0, r10 + add r0, r8 + lsls r0, 3 + ldr r2, _080DE89C @ =gTasks + adds r0, r2 + strh r1, [r0, 0x12] +_080DE87E: + ldr r0, _080DE8A8 @ =gBattleAnimArgs + ldrh r1, [r0, 0xE] + ldr r0, _080DE8AC @ =0x0000ffff + cmp r1, r0 + bne _080DE88E + mov r0, r8 + bl DestroyTask +_080DE88E: + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080DE89C: .4byte gTasks +_080DE8A0: .4byte gPlttBufferFaded +_080DE8A4: .4byte gPlttBufferUnfaded +_080DE8A8: .4byte gBattleAnimArgs +_080DE8AC: .4byte 0x0000ffff + thumb_func_end sub_80DE7DC + + thumb_func_start sub_80DE8B0 +sub_80DE8B0: @ 80DE8B0 + push {r4,r5,lr} + sub sp, 0x4 + adds r4, r0, 0 + movs r1, 0x1 + bl sub_8075160 + ldr r0, _080DE914 @ =gBattleAnimTarget + ldrb r0, [r0] + mov r5, sp + adds r5, 0x2 + movs r1, 0 + mov r2, sp + adds r3, r5, 0 + bl sub_8076D9C + ldr r0, _080DE918 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080DE8E4 + ldr r1, _080DE91C @ =gBattleAnimArgs + ldrh r0, [r1, 0x4] + negs r0, r0 + strh r0, [r1, 0x4] +_080DE8E4: + ldr r1, _080DE91C @ =gBattleAnimArgs + ldrh r0, [r1, 0x8] + strh r0, [r4, 0x2E] + mov r2, sp + ldrh r0, [r1, 0x4] + ldrh r2, [r2] + adds r0, r2 + strh r0, [r4, 0x32] + ldrh r0, [r1, 0x6] + ldrh r5, [r5] + adds r0, r5 + strh r0, [r4, 0x36] + ldr r0, _080DE920 @ =0x0000ffce + strh r0, [r4, 0x38] + adds r0, r4, 0 + bl sub_8075068 + ldr r0, _080DE924 @ =sub_80DE928 + str r0, [r4, 0x1C] + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080DE914: .4byte gBattleAnimTarget +_080DE918: .4byte gBattleAnimAttacker +_080DE91C: .4byte gBattleAnimArgs +_080DE920: .4byte 0x0000ffce +_080DE924: .4byte sub_80DE928 + thumb_func_end sub_80DE8B0 + + thumb_func_start sub_80DE928 +sub_80DE928: @ 80DE928 + push {r4,lr} + adds r4, r0, 0 + bl AnimateBallThrow + lsls r0, 24 + cmp r0, 0 + beq _080DE94A + movs r1, 0 + movs r0, 0x1E + strh r0, [r4, 0x2E] + strh r1, [r4, 0x30] + ldr r0, _080DE950 @ =sub_8074C44 + str r0, [r4, 0x1C] + ldr r1, _080DE954 @ =sub_80DE958 + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 +_080DE94A: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080DE950: .4byte sub_8074C44 +_080DE954: .4byte sub_80DE958 + thumb_func_end sub_80DE928 + + thumb_func_start sub_80DE958 +sub_80DE958: @ 80DE958 + push {lr} + adds r3, r0, 0 + ldrh r1, [r3, 0x30] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080DE984 + movs r0, 0x3E + adds r0, r3 + mov r12, r0 + ldrb r2, [r0] + lsls r0, r2, 29 + lsrs r0, 31 + movs r1, 0x1 + eors r1, r0 + lsls r1, 2 + movs r0, 0x5 + negs r0, r0 + ands r0, r2 + orrs r0, r1 + mov r1, r12 + strb r0, [r1] +_080DE984: + ldrh r0, [r3, 0x30] + adds r0, 0x1 + strh r0, [r3, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x10 + bne _080DE998 + adds r0, r3, 0 + bl DestroyAnimSprite +_080DE998: + pop {r0} + bx r0 + thumb_func_end sub_80DE958 + + thumb_func_start sub_80DE99C +sub_80DE99C: @ 80DE99C + push {r4,r5,lr} + adds r4, r0, 0 + bl sub_8074FCC + ldr r5, _080DE9CC @ =gBattleAnimArgs + movs r0, 0 + ldrsh r1, [r5, r0] + adds r0, r4, 0 + bl sub_8074FF8 + ldrh r0, [r5, 0x2] + ldrh r1, [r4, 0x22] + adds r0, r1 + strh r0, [r4, 0x22] + ldr r0, _080DE9D0 @ =sub_8074F6C + str r0, [r4, 0x1C] + ldr r1, _080DE9D4 @ =DestroyAnimSprite + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080DE9CC: .4byte gBattleAnimArgs +_080DE9D0: .4byte sub_8074F6C +_080DE9D4: .4byte DestroyAnimSprite + thumb_func_end sub_80DE99C + + thumb_func_start sub_80DE9D8 +sub_80DE9D8: @ 80DE9D8 + push {r4,r5,lr} + adds r4, r0, 0 + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080DEA38 + adds r0, r4, 0 + bl sub_8074FCC + ldr r5, _080DEA14 @ =gBattleAnimArgs + movs r2, 0 + ldrsh r1, [r5, r2] + adds r0, r4, 0 + bl sub_8074FF8 + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080DEA2C + ldr r0, _080DEA18 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _080DEA1C + ldrh r0, [r5, 0x4] + b _080DEA32 + .align 2, 0 +_080DEA14: .4byte gBattleAnimArgs +_080DEA18: .4byte gBattleAnimAttacker +_080DEA1C: + movs r1, 0x4 + ldrsh r0, [r5, r1] + negs r0, r0 + strh r0, [r4, 0x30] + movs r2, 0x6 + ldrsh r0, [r5, r2] + negs r0, r0 + b _080DEA36 +_080DEA2C: + movs r1, 0x4 + ldrsh r0, [r5, r1] + negs r0, r0 +_080DEA32: + strh r0, [r4, 0x30] + ldrh r0, [r5, 0x6] +_080DEA36: + strh r0, [r4, 0x32] +_080DEA38: + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + movs r2, 0x2E + ldrsh r1, [r4, r2] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 2 + movs r3, 0xFF + ldrh r1, [r4, 0x30] + ldrh r2, [r4, 0x34] + adds r1, r2 + strh r1, [r4, 0x34] + ldrh r1, [r4, 0x32] + ldrh r2, [r4, 0x36] + adds r1, r2 + strh r1, [r4, 0x36] + movs r2, 0x34 + ldrsh r1, [r4, r2] + lsrs r2, r1, 31 + adds r1, r2 + asrs r1, 1 + strh r1, [r4, 0x24] + ands r0, r3 + movs r1, 0x5 + bl Sin + movs r2, 0x36 + ldrsh r1, [r4, r2] + lsrs r2, r1, 31 + adds r1, r2 + asrs r1, 1 + adds r0, r1 + strh r0, [r4, 0x26] + ldrh r0, [r4, 0x24] + ldrh r1, [r4, 0x20] + adds r0, r1 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0xF0 + bls _080DEA90 + adds r0, r4, 0 + bl DestroyAnimSprite +_080DEA90: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80DE9D8 + + thumb_func_start sub_80DEA98 +sub_80DEA98: @ 80DEA98 + push {lr} + adds r2, r0, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x10 + ands r0, r1 + cmp r0, 0 + beq _080DEAAE + adds r0, r2, 0 + bl DestroyAnimSprite +_080DEAAE: + pop {r0} + bx r0 + thumb_func_end sub_80DEA98 + + thumb_func_start sub_80DEAB4 +sub_80DEAB4: @ 80DEAB4 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _080DEAD0 @ =gBattleAnimTarget + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080DEAD8 + ldr r1, _080DEAD4 @ =gBattleAnimArgs + movs r0, 0 + b _080DEADC + .align 2, 0 +_080DEAD0: .4byte gBattleAnimTarget +_080DEAD4: .4byte gBattleAnimArgs +_080DEAD8: + ldr r1, _080DEAEC @ =gBattleAnimArgs + movs r0, 0x1 +_080DEADC: + strh r0, [r1, 0xE] + adds r0, r4, 0 + bl DestroyAnimVisualTask + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080DEAEC: .4byte gBattleAnimArgs + thumb_func_end sub_80DEAB4 + + thumb_func_start sub_80DEAF0 +sub_80DEAF0: @ 80DEAF0 + push {lr} + lsls r0, 24 + lsrs r2, r0, 24 + ldr r0, _080DEB04 @ =gUnknown_2037EE8 + ldr r0, [r0] + cmp r0, 0 + ble _080DEB0C + ldr r1, _080DEB08 @ =gBattleAnimArgs + movs r0, 0 + b _080DEB10 + .align 2, 0 +_080DEB04: .4byte gUnknown_2037EE8 +_080DEB08: .4byte gBattleAnimArgs +_080DEB0C: + ldr r1, _080DEB1C @ =gBattleAnimArgs + movs r0, 0x1 +_080DEB10: + strh r0, [r1, 0xE] + adds r0, r2, 0 + bl DestroyAnimVisualTask + pop {r0} + bx r0 + .align 2, 0 +_080DEB1C: .4byte gBattleAnimArgs + thumb_func_end sub_80DEAF0 + + thumb_func_start sub_80DEB20 +sub_80DEB20: @ 80DEB20 + push {r4,r5,lr} + adds r5, r0, 0 + ldr r1, _080DEB7C @ =0x00001f3f + movs r0, 0x4A + bl SetGpuReg + movs r1, 0x80 + lsls r1, 8 + movs r0, 0 + bl SetGpuRegBits + ldr r0, _080DEB80 @ =gUnknown_2022984 + movs r1, 0 + strh r1, [r0] + ldr r4, _080DEB84 @ =gUnknown_2022986 + strh r1, [r4] + movs r0, 0x40 + movs r1, 0 + bl SetGpuReg + ldrh r1, [r4] + movs r0, 0x44 + bl SetGpuReg + adds r0, r5, 0 + movs r1, 0 + bl sub_8075114 + ldrb r1, [r5, 0x1] + movs r0, 0xD + negs r0, r0 + ands r0, r1 + movs r1, 0x8 + orrs r0, r1 + strb r0, [r5, 0x1] + adds r2, r5, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] + ldr r0, _080DEB88 @ =sub_80DEB8C + str r0, [r5, 0x1C] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080DEB7C: .4byte 0x00001f3f +_080DEB80: .4byte gUnknown_2022984 +_080DEB84: .4byte gUnknown_2022986 +_080DEB88: .4byte sub_80DEB8C + thumb_func_end sub_80DEB20 + + thumb_func_start sub_80DEB8C +sub_80DEB8C: @ 80DEB8C + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0x5 + bhi _080DEC4C + lsls r0, 2 + ldr r1, _080DEBA4 @ =_080DEBA8 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080DEBA4: .4byte _080DEBA8 + .align 2, 0 +_080DEBA8: + .4byte _080DEBC0 + .4byte _080DEBDE + .4byte _080DEBFE + .4byte _080DEBDE + .4byte _080DEC1E + .4byte _080DEC2E +_080DEBC0: + adds r2, r4, 0 + adds r2, 0x3E + ldrb r1, [r2] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + strb r0, [r2] + adds r0, r4, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x20 + ands r0, r1 + cmp r0, 0 + beq _080DEC4C + b _080DEC26 +_080DEBDE: + ldrh r0, [r4, 0x30] + adds r0, 0x75 + strh r0, [r4, 0x30] + lsls r0, 16 + asrs r0, 24 + strh r0, [r4, 0x24] + ldrh r0, [r4, 0x32] + adds r0, 0x1 + strh r0, [r4, 0x32] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x15 + bne _080DEC4C + movs r0, 0 + strh r0, [r4, 0x32] + b _080DEC26 +_080DEBFE: + ldrh r0, [r4, 0x30] + subs r0, 0x75 + strh r0, [r4, 0x30] + lsls r0, 16 + asrs r0, 24 + strh r0, [r4, 0x24] + ldrh r0, [r4, 0x32] + adds r0, 0x1 + strh r0, [r4, 0x32] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x29 + bne _080DEC4C + movs r0, 0 + strh r0, [r4, 0x32] + b _080DEC26 +_080DEC1E: + adds r0, r4, 0 + movs r1, 0x1 + bl ChangeSpriteAffineAnim +_080DEC26: + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + b _080DEC4C +_080DEC2E: + adds r0, r4, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x20 + ands r0, r1 + cmp r0, 0 + beq _080DEC4C + adds r2, r4, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] + ldr r0, _080DEC54 @ =sub_80DEC58 + str r0, [r4, 0x1C] +_080DEC4C: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080DEC54: .4byte sub_80DEC58 + thumb_func_end sub_80DEB8C + + thumb_func_start sub_80DEC58 +sub_80DEC58: @ 80DEC58 + push {r4,lr} + adds r4, r0, 0 + ldr r1, _080DEC8C @ =0x00003f3f + movs r0, 0x4A + bl SetGpuReg + movs r0, 0 + bl GetGpuReg + adds r1, r0, 0 + movs r2, 0x80 + lsls r2, 8 + adds r0, r2, 0 + eors r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0 + bl SetGpuReg + adds r0, r4, 0 + bl DestroyAnimSprite + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080DEC8C: .4byte 0x00003f3f + thumb_func_end sub_80DEC58 + + thumb_func_start sub_80DEC90 +sub_80DEC90: @ 80DEC90 + push {r4-r6,lr} + adds r5, r0, 0 + ldr r6, _080DED04 @ =gBattleAnimArgs + movs r1, 0x6 + ldrsh r0, [r6, r1] + cmp r0, 0 + bne _080DECBC + ldr r4, _080DED08 @ =gBattleAnimAttacker + ldrb r0, [r4] + movs r1, 0 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x20] + ldrb r0, [r4] + movs r1, 0x1 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x22] +_080DECBC: + ldrh r0, [r6] + ldrh r2, [r5, 0x20] + adds r0, r2 + movs r3, 0 + strh r0, [r5, 0x20] + ldrh r0, [r6, 0x2] + ldrh r4, [r5, 0x22] + adds r0, r4 + strh r0, [r5, 0x22] + ldrh r2, [r5, 0x4] + lsls r1, r2, 22 + lsrs r1, 22 + adds r1, 0x10 + ldr r4, _080DED0C @ =0x000003ff + adds r0, r4, 0 + ands r1, r0 + ldr r0, _080DED10 @ =0xfffffc00 + ands r0, r2 + orrs r0, r1 + strh r0, [r5, 0x4] + movs r1, 0x4 + ldrsh r0, [r6, r1] + cmp r0, 0 + bne _080DED18 + ldrb r1, [r5, 0x3] + movs r0, 0x3F + negs r0, r0 + ands r0, r1 + movs r1, 0x10 + orrs r0, r1 + strb r0, [r5, 0x3] + ldr r0, _080DED14 @ =0x0000fff4 + strh r0, [r5, 0x24] + movs r0, 0x2 + b _080DED1E + .align 2, 0 +_080DED04: .4byte gBattleAnimArgs +_080DED08: .4byte gBattleAnimAttacker +_080DED0C: .4byte 0x000003ff +_080DED10: .4byte 0xfffffc00 +_080DED14: .4byte 0x0000fff4 +_080DED18: + movs r0, 0xC + strh r0, [r5, 0x24] + ldr r0, _080DED3C @ =0x0000fffe +_080DED1E: + strh r0, [r5, 0x30] + ldr r1, _080DED40 @ =gBattleAnimArgs + ldrh r0, [r1, 0x8] + strh r0, [r5, 0x2E] + movs r2, 0x34 + ldrsh r0, [r5, r2] + cmp r0, 0xFF + beq _080DED32 + ldrh r0, [r1, 0x4] + strh r0, [r5, 0x34] +_080DED32: + ldr r0, _080DED44 @ =sub_80DED48 + str r0, [r5, 0x1C] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080DED3C: .4byte 0x0000fffe +_080DED40: .4byte gBattleAnimArgs +_080DED44: .4byte sub_80DED48 + thumb_func_end sub_80DEC90 + + thumb_func_start sub_80DED48 +sub_80DED48: @ 80DED48 + push {r4,lr} + adds r4, r0, 0 + ldrh r2, [r4, 0x32] + movs r1, 0x32 + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080DED86 + ldrh r0, [r4, 0x30] + ldrh r1, [r4, 0x24] + adds r0, r1 + strh r0, [r4, 0x24] + lsls r0, 16 + cmp r0, 0 + bne _080DEDA6 + adds r0, r2, 0x1 + strh r0, [r4, 0x32] + movs r1, 0x34 + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080DEDA6 + movs r0, 0x40 + negs r0, r0 + bl sub_8073A44 + adds r1, r0, 0 + lsls r1, 24 + asrs r1, 24 + movs r0, 0xD7 + bl PlaySE1WithPanning + b _080DEDA6 +_080DED86: + ldrh r0, [r4, 0x24] + ldrh r1, [r4, 0x30] + subs r0, r1 + strh r0, [r4, 0x24] + movs r1, 0x24 + ldrsh r0, [r4, r1] + cmp r0, 0 + bge _080DED98 + negs r0, r0 +_080DED98: + cmp r0, 0xC + bne _080DEDA6 + ldrh r0, [r4, 0x2E] + subs r0, 0x1 + strh r0, [r4, 0x2E] + subs r0, r2, 0x1 + strh r0, [r4, 0x32] +_080DEDA6: + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080DEDB4 + adds r0, r4, 0 + bl DestroyAnimSprite +_080DEDB4: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80DED48 + + thumb_func_start sub_80DEDBC +sub_80DEDBC: @ 80DEDBC + push {lr} + ldrb r2, [r0, 0x1] + movs r1, 0xD + negs r1, r1 + ands r1, r2 + movs r2, 0x8 + orrs r1, r2 + strb r1, [r0, 0x1] + movs r1, 0xFF + strh r1, [r0, 0x34] + bl sub_80DEC90 + pop {r0} + bx r0 + thumb_func_end sub_80DEDBC + + thumb_func_start sub_80DEDD8 +sub_80DEDD8: @ 80DEDD8 + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + beq _080DEE2C + ldr r1, _080DEE14 @ =0x00001f3f + movs r0, 0x48 + bl SetGpuReg + ldr r1, _080DEE18 @ =gUnknown_2022988 + ldr r2, _080DEE1C @ =0x000098f0 + adds r0, r2, 0 + strh r0, [r1] + ldr r1, _080DEE20 @ =gUnknown_202298A + movs r0, 0xA0 + strh r0, [r1] + ldr r0, _080DEE24 @ =gUnknown_2022984 + ldrh r1, [r0] + movs r0, 0x42 + bl SetGpuReg + ldr r0, _080DEE28 @ =gUnknown_2022986 + ldrh r1, [r0] + movs r0, 0x46 + bl SetGpuReg + b _080DEE5C + .align 2, 0 +_080DEE14: .4byte 0x00001f3f +_080DEE18: .4byte gUnknown_2022988 +_080DEE1C: .4byte 0x000098f0 +_080DEE20: .4byte gUnknown_202298A +_080DEE24: .4byte gUnknown_2022984 +_080DEE28: .4byte gUnknown_2022986 +_080DEE2C: + ldr r1, _080DEE68 @ =0x00001f3f + movs r0, 0x48 + bl SetGpuReg + ldr r1, _080DEE6C @ =gUnknown_2022988 + movs r0, 0xF0 + strh r0, [r1] + ldr r4, _080DEE70 @ =gUnknown_202298A + ldr r1, _080DEE74 @ =0x000078a0 + adds r0, r1, 0 + strh r0, [r4] + movs r0, 0x42 + movs r1, 0xF0 + bl SetGpuReg + ldrh r1, [r4] + movs r0, 0x46 + bl SetGpuReg + movs r1, 0x80 + lsls r1, 7 + movs r0, 0 + bl SetGpuRegBits +_080DEE5C: + adds r0, r5, 0 + bl DestroyAnimVisualTask + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080DEE68: .4byte 0x00001f3f +_080DEE6C: .4byte gUnknown_2022988 +_080DEE70: .4byte gUnknown_202298A +_080DEE74: .4byte 0x000078a0 + thumb_func_end sub_80DEDD8 + + thumb_func_start sub_80DEE78 +sub_80DEE78: @ 80DEE78 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r1, _080DEEB0 @ =0x00003f3f + movs r0, 0x48 + bl SetGpuReg + ldr r0, _080DEEB4 @ =gUnknown_2022988 + movs r1, 0 + strh r1, [r0] + ldr r0, _080DEEB8 @ =gUnknown_202298A + strh r1, [r0] + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080DEEA4 + movs r1, 0x80 + lsls r1, 7 + movs r0, 0 + bl ClearGpuRegBits +_080DEEA4: + adds r0, r4, 0 + bl DestroyAnimVisualTask + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080DEEB0: .4byte 0x00003f3f +_080DEEB4: .4byte gUnknown_2022988 +_080DEEB8: .4byte gUnknown_202298A + thumb_func_end sub_80DEE78 + + thumb_func_start sub_80DEEBC +sub_80DEEBC: @ 80DEEBC + push {r4-r6,lr} + adds r5, r0, 0 + ldr r6, _080DEED0 @ =gBattleAnimArgs + movs r1, 0 + ldrsh r0, [r6, r1] + cmp r0, 0 + bne _080DEED8 + ldr r4, _080DEED4 @ =gBattleAnimAttacker + b _080DEEDA + .align 2, 0 +_080DEED0: .4byte gBattleAnimArgs +_080DEED4: .4byte gBattleAnimAttacker +_080DEED8: + ldr r4, _080DEF2C @ =gBattleAnimTarget +_080DEEDA: + ldrb r0, [r4] + movs r1, 0 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r6, [r6, 0x2] + adds r0, r6 + strh r0, [r5, 0x20] + ldrb r0, [r4] + movs r1, 0x1 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x22] + ldr r2, _080DEF30 @ =gBattleAnimArgs + ldrh r0, [r2, 0x4] + strh r0, [r5, 0x26] + movs r3, 0 + lsls r0, 16 + asrs r0, 16 + ldrh r4, [r2, 0x6] + movs r6, 0x6 + ldrsh r1, [r2, r6] + cmp r0, r1 + ble _080DEF12 + movs r3, 0x1 +_080DEF12: + strh r3, [r5, 0x2E] + movs r0, 0 + strh r0, [r5, 0x30] + ldrh r0, [r2, 0x8] + strh r0, [r5, 0x32] + ldrh r0, [r2, 0xA] + strh r0, [r5, 0x34] + strh r4, [r5, 0x36] + ldr r0, _080DEF34 @ =sub_80DEF38 + str r0, [r5, 0x1C] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080DEF2C: .4byte gBattleAnimTarget +_080DEF30: .4byte gBattleAnimArgs +_080DEF34: .4byte sub_80DEF38 + thumb_func_end sub_80DEEBC + + thumb_func_start sub_80DEF38 +sub_80DEF38: @ 80DEF38 + push {lr} + adds r2, r0, 0 + ldrh r0, [r2, 0x32] + ldrh r1, [r2, 0x30] + adds r0, r1 + movs r1, 0xFF + ands r0, r1 + strh r0, [r2, 0x30] + ldr r1, _080DEF80 @ =gSineTable + movs r3, 0x30 + ldrsh r0, [r2, r3] + lsls r0, 1 + adds r0, r1 + ldrh r0, [r0] + lsls r0, 16 + asrs r0, 20 + strh r0, [r2, 0x24] + ldrh r0, [r2, 0x34] + ldrh r3, [r2, 0x26] + adds r1, r0, r3 + strh r1, [r2, 0x26] + movs r3, 0x2E + ldrsh r0, [r2, r3] + cmp r0, 0 + beq _080DEF84 + lsls r0, r1, 16 + asrs r0, 16 + movs r3, 0x36 + ldrsh r1, [r2, r3] + cmp r0, r1 + bge _080DEF96 + adds r0, r2, 0 + bl DestroyAnimSprite + b _080DEF96 + .align 2, 0 +_080DEF80: .4byte gSineTable +_080DEF84: + lsls r0, r1, 16 + asrs r0, 16 + movs r3, 0x36 + ldrsh r1, [r2, r3] + cmp r0, r1 + ble _080DEF96 + adds r0, r2, 0 + bl DestroyAnimSprite +_080DEF96: + pop {r0} + bx r0 + thumb_func_end sub_80DEF38 + + thumb_func_start sub_80DEF9C +sub_80DEF9C: @ 80DEF9C + push {r4-r7,lr} + sub sp, 0xC + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, _080DEFBC @ =gTasks + adds r5, r1, r0 + ldr r0, _080DEFC0 @ =gBattleAnimArgs + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _080DEFC8 + ldr r4, _080DEFC4 @ =gBattleAnimAttacker + b _080DEFCA + .align 2, 0 +_080DEFBC: .4byte gTasks +_080DEFC0: .4byte gBattleAnimArgs +_080DEFC4: .4byte gBattleAnimAttacker +_080DEFC8: + ldr r4, _080DF010 @ =gBattleAnimTarget +_080DEFCA: + ldrb r0, [r4] + bl sub_807492C + lsls r0, 24 + lsrs r6, r0, 24 + ldrb r0, [r4] + bl sub_80768B0 + lsls r0, 24 + lsrs r7, r0, 24 + adds r0, r6, 0 + adds r1, r0, 0 + adds r1, 0x24 + movs r2, 0 + strh r1, [r5, 0x8] + strh r1, [r5, 0xA] + subs r0, 0x21 + strh r0, [r5, 0xC] + cmp r0, 0 + bge _080DEFF4 + strh r2, [r5, 0xC] +_080DEFF4: + ldrh r0, [r5, 0x8] + strh r0, [r5, 0xE] + movs r0, 0x8 + strh r0, [r5, 0x10] + ldr r1, _080DF014 @ =gBattleAnimArgs + ldrh r0, [r1, 0x2] + strh r0, [r5, 0x12] + strh r2, [r5, 0x14] + strh r2, [r5, 0x16] + cmp r7, 0x1 + bne _080DF01C + ldr r0, _080DF018 @ =gBattle_BG1_X + b _080DF01E + .align 2, 0 +_080DF010: .4byte gBattleAnimTarget +_080DF014: .4byte gBattleAnimArgs +_080DF018: .4byte gBattle_BG1_X +_080DF01C: + ldr r0, _080DF03C @ =gBattle_BG2_X +_080DF01E: + ldrh r2, [r0] + strh r2, [r5, 0x18] + adds r3, r2, 0 + adds r3, 0xF0 + strh r3, [r5, 0x1A] + ldrh r0, [r1, 0x4] + strh r0, [r5, 0x1C] + movs r4, 0x4 + ldrsh r0, [r1, r4] + cmp r0, 0 + bne _080DF040 + strh r3, [r5, 0x1E] + ldrh r3, [r5, 0x18] + b _080DF044 + .align 2, 0 +_080DF03C: .4byte gBattle_BG2_X +_080DF040: + strh r2, [r5, 0x1E] + ldrh r3, [r5, 0x1A] +_080DF044: + movs r0, 0 + strh r0, [r5, 0x26] + ldrh r1, [r5, 0xC] + lsls r2, r1, 16 + asrs r1, r2, 16 + movs r6, 0xE + ldrsh r0, [r5, r6] + cmp r1, r0 + bgt _080DF07A + ldr r4, _080DF084 @ =gScanlineEffectRegBuffers + movs r0, 0xF0 + lsls r0, 3 + adds r0, r4 + mov r12, r0 +_080DF060: + asrs r2, 16 + lsls r1, r2, 1 + adds r0, r1, r4 + strh r3, [r0] + add r1, r12 + strh r3, [r1] + adds r2, 0x1 + lsls r2, 16 + asrs r1, r2, 16 + movs r6, 0xE + ldrsh r0, [r5, r6] + cmp r1, r0 + ble _080DF060 +_080DF07A: + cmp r7, 0x1 + bne _080DF08C + ldr r0, _080DF088 @ =0x04000014 + b _080DF08E + .align 2, 0 +_080DF084: .4byte gScanlineEffectRegBuffers +_080DF088: .4byte 0x04000014 +_080DF08C: + ldr r0, _080DF0B8 @ =0x04000018 +_080DF08E: + str r0, [sp] + ldr r0, _080DF0BC @ =0xa2600001 + str r0, [sp, 0x4] + mov r1, sp + movs r2, 0 + movs r0, 0x1 + strb r0, [r1, 0x8] + mov r0, sp + strb r2, [r0, 0x9] + ldr r0, [sp] + ldr r1, [sp, 0x4] + ldr r2, [sp, 0x8] + bl ScanlineEffect_SetParams + ldr r0, _080DF0C0 @ =sub_80DF0C4 + str r0, [r5] + add sp, 0xC + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080DF0B8: .4byte 0x04000018 +_080DF0BC: .4byte 0xa2600001 +_080DF0C0: .4byte sub_80DF0C4 + thumb_func_end sub_80DEF9C + + thumb_func_start sub_80DF0C4 +sub_80DF0C4: @ 80DF0C4 + push {r4-r7,lr} + lsls r0, 24 + lsrs r7, r0, 24 + lsls r0, r7, 2 + adds r0, r7 + lsls r0, 3 + ldr r1, _080DF114 @ =gTasks + adds r4, r0, r1 + ldrh r0, [r4, 0x8] + ldrh r1, [r4, 0x12] + subs r0, r1 + strh r0, [r4, 0x8] + lsls r0, 16 + asrs r0, 16 + ldrh r2, [r4, 0xC] + movs r3, 0xC + ldrsh r1, [r4, r3] + cmp r0, r1 + bge _080DF0EC + strh r2, [r4, 0x8] +_080DF0EC: + ldrh r1, [r4, 0x10] + movs r2, 0x10 + ldrsh r0, [r4, r2] + cmp r0, 0 + bne _080DF118 + ldrh r0, [r4, 0xA] + ldrh r1, [r4, 0x12] + subs r0, r1 + strh r0, [r4, 0xA] + lsls r0, 16 + asrs r0, 16 + ldrh r2, [r4, 0xC] + movs r3, 0xC + ldrsh r1, [r4, r3] + cmp r0, r1 + bge _080DF11C + strh r2, [r4, 0xA] + movs r0, 0x1 + strh r0, [r4, 0x26] + b _080DF11C + .align 2, 0 +_080DF114: .4byte gTasks +_080DF118: + subs r0, r1, 0x1 + strh r0, [r4, 0x10] +_080DF11C: + ldrh r0, [r4, 0x14] + adds r0, 0x1 + strh r0, [r4, 0x14] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + ble _080DF148 + movs r0, 0 + strh r0, [r4, 0x14] + movs r1, 0 + movs r2, 0x16 + ldrsh r0, [r4, r2] + cmp r0, 0 + bne _080DF13A + movs r1, 0x1 +_080DF13A: + strh r1, [r4, 0x16] + cmp r1, 0 + beq _080DF144 + ldrh r0, [r4, 0x18] + b _080DF146 +_080DF144: + ldrh r0, [r4, 0x1A] +_080DF146: + strh r0, [r4, 0x20] +_080DF148: + ldrh r1, [r4, 0x8] + lsls r3, r1, 16 + asrs r1, r3, 16 + movs r2, 0xA + ldrsh r0, [r4, r2] + cmp r1, r0 + bge _080DF17C + ldr r5, _080DF1D4 @ =gScanlineEffectRegBuffers + movs r0, 0xF0 + lsls r0, 3 + adds r6, r5, r0 +_080DF15E: + asrs r3, 16 + lsls r1, r3, 1 + adds r2, r1, r5 + ldrh r0, [r4, 0x20] + strh r0, [r2] + adds r1, r6 + ldrh r0, [r4, 0x20] + strh r0, [r1] + adds r3, 0x1 + lsls r3, 16 + asrs r1, r3, 16 + movs r2, 0xA + ldrsh r0, [r4, r2] + cmp r1, r0 + blt _080DF15E +_080DF17C: + ldrh r1, [r4, 0xA] + lsls r3, r1, 16 + asrs r1, r3, 16 + movs r2, 0xE + ldrsh r0, [r4, r2] + cmp r1, r0 + bgt _080DF1B0 + ldr r5, _080DF1D4 @ =gScanlineEffectRegBuffers + movs r0, 0xF0 + lsls r0, 3 + adds r6, r5, r0 +_080DF192: + asrs r3, 16 + lsls r1, r3, 1 + adds r2, r1, r5 + ldrh r0, [r4, 0x1E] + strh r0, [r2] + adds r1, r6 + ldrh r0, [r4, 0x1E] + strh r0, [r1] + adds r3, 0x1 + lsls r3, 16 + asrs r1, r3, 16 + movs r2, 0xE + ldrsh r0, [r4, r2] + cmp r1, r0 + ble _080DF192 +_080DF1B0: + movs r3, 0x26 + ldrsh r0, [r4, r3] + cmp r0, 0 + beq _080DF1CC + movs r1, 0x1C + ldrsh r0, [r4, r1] + cmp r0, 0 + beq _080DF1C6 + ldr r1, _080DF1D8 @ =gScanlineEffect + movs r0, 0x3 + strb r0, [r1, 0x15] +_080DF1C6: + adds r0, r7, 0 + bl DestroyAnimVisualTask +_080DF1CC: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080DF1D4: .4byte gScanlineEffectRegBuffers +_080DF1D8: .4byte gScanlineEffect + thumb_func_end sub_80DF0C4 + + thumb_func_start sub_80DF1DC +sub_80DF1DC: @ 80DF1DC + push {r4-r6,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r4, r0, 2 + adds r4, r0 + lsls r4, 3 + ldr r0, _080DF230 @ =gTasks + adds r4, r0 + movs r5, 0 + strh r5, [r4, 0x8] + strh r5, [r4, 0xA] + ldr r6, _080DF234 @ =gBattleAnimAttacker + ldrb r0, [r6] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0xC] + ldrb r0, [r6] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0xE] + movs r0, 0x20 + strh r0, [r4, 0x10] + ldr r0, _080DF238 @ =0x0000ffec + strh r0, [r4, 0x12] + strh r5, [r4, 0x14] + movs r0, 0 + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x26] + ldr r0, _080DF23C @ =sub_80DF240 + str r0, [r4] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080DF230: .4byte gTasks +_080DF234: .4byte gBattleAnimAttacker +_080DF238: .4byte 0x0000ffec +_080DF23C: .4byte sub_80DF240 + thumb_func_end sub_80DF1DC + + thumb_func_start sub_80DF240 +sub_80DF240: @ 80DF240 + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x8 + lsls r0, 24 + lsrs r2, r0, 24 + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + ldr r1, _080DF26C @ =gTasks + adds r6, r0, r1 + movs r1, 0x8 + ldrsh r0, [r6, r1] + cmp r0, 0x5 + bls _080DF260 + b _080DF41A +_080DF260: + lsls r0, 2 + ldr r1, _080DF270 @ =_080DF274 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080DF26C: .4byte gTasks +_080DF270: .4byte _080DF274 + .align 2, 0 +_080DF274: + .4byte _080DF28C + .4byte _080DF34C + .4byte _080DF37A + .4byte _080DF38E + .4byte _080DF3A4 + .4byte _080DF40C +_080DF28C: + movs r0, 0xC + ldrsh r2, [r6, r0] + ldrh r1, [r6, 0xA] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080DF2A2 + movs r1, 0x10 + ldrsh r0, [r6, r1] + subs r0, r2, r0 + b _080DF2A8 +_080DF2A2: + movs r1, 0x10 + ldrsh r0, [r6, r1] + adds r0, r2, r0 +_080DF2A8: + lsls r0, 16 + lsrs r1, r0, 16 + ldrh r2, [r6, 0x12] + ldrh r0, [r6, 0xE] + adds r2, r0 + ldr r0, _080DF33C @ =gUnknown_83E398C + lsls r1, 16 + asrs r1, 16 + lsls r2, 16 + asrs r2, 16 + ldrb r4, [r6, 0xA] + movs r3, 0x6 + subs r3, r4 + lsls r3, 24 + lsrs r3, 24 + bl CreateSprite + lsls r0, 24 + lsrs r4, r0, 24 + movs r0, 0x40 + negs r0, r0 + bl sub_8073A44 + adds r1, r0, 0 + lsls r1, 24 + asrs r1, 24 + movs r0, 0xB3 + bl PlaySE12WithPanning + cmp r4, 0x40 + beq _080DF30C + ldr r5, _080DF340 @ =gSprites + lsls r1, r4, 4 + adds r1, r4 + lsls r1, 2 + adds r3, r1, r5 + ldrh r0, [r6, 0xA] + movs r2, 0x1 + ands r2, r0 + adds r3, 0x3F + ldrb r4, [r3] + movs r0, 0x2 + negs r0, r0 + ands r0, r4 + orrs r0, r2 + strb r0, [r3] + adds r5, 0x1C + adds r1, r5 + ldr r0, _080DF344 @ =SpriteCallbackDummy + str r0, [r1] +_080DF30C: + ldrh r1, [r6, 0xA] + movs r4, 0x1 + adds r0, r4, 0 + ands r0, r1 + cmp r0, 0 + beq _080DF324 + ldrh r0, [r6, 0x10] + subs r0, 0x6 + strh r0, [r6, 0x10] + ldrh r0, [r6, 0x12] + subs r0, 0x6 + strh r0, [r6, 0x12] +_080DF324: + ldrh r1, [r6, 0x26] + lsls r1, 24 + lsrs r1, 24 + ldr r2, _080DF348 @ =gUnknown_83FF080 + adds r0, r6, 0 + bl sub_80762D0 + ldrh r0, [r6, 0xA] + adds r0, 0x1 + strh r0, [r6, 0xA] + strh r4, [r6, 0x8] + b _080DF41A + .align 2, 0 +_080DF33C: .4byte gUnknown_83E398C +_080DF340: .4byte gSprites +_080DF344: .4byte SpriteCallbackDummy +_080DF348: .4byte gUnknown_83FF080 +_080DF34C: + adds r0, r6, 0 + bl sub_8076308 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0 + bne _080DF41A + movs r2, 0xA + ldrsh r1, [r6, r2] + cmp r1, 0x6 + bne _080DF36C + movs r0, 0x8 + strh r0, [r6, 0x14] + movs r0, 0x3 + strh r0, [r6, 0x8] + b _080DF41A +_080DF36C: + cmp r1, 0x2 + bgt _080DF372 + movs r0, 0xA +_080DF372: + strh r0, [r6, 0x14] + movs r0, 0x2 + strh r0, [r6, 0x8] + b _080DF41A +_080DF37A: + ldrh r0, [r6, 0x14] + movs r2, 0x14 + ldrsh r1, [r6, r2] + cmp r1, 0 + beq _080DF38A + subs r0, 0x1 + strh r0, [r6, 0x14] + b _080DF41A +_080DF38A: + strh r1, [r6, 0x8] + b _080DF41A +_080DF38E: + ldrh r1, [r6, 0x14] + movs r2, 0x14 + ldrsh r0, [r6, r2] + cmp r0, 0 + beq _080DF39E + subs r0, r1, 0x1 + strh r0, [r6, 0x14] + b _080DF41A +_080DF39E: + movs r0, 0x4 + strh r0, [r6, 0x8] + b _080DF41A +_080DF3A4: + movs r5, 0 + movs r7, 0 + ldr r3, _080DF400 @ =gSprites + movs r0, 0x1C + adds r0, r3 + mov r8, r0 +_080DF3B0: + lsls r0, r5, 4 + adds r0, r5 + lsls r4, r0, 2 + adds r0, r3, 0 + adds r0, 0x14 + adds r0, r4, r0 + ldr r1, [r0] + ldr r0, _080DF404 @ =gUnknown_83E398C + cmp r1, r0 + bne _080DF3EC + adds r0, r4, r3 + strh r2, [r0, 0x2E] + movs r1, 0x6 + strh r1, [r0, 0x30] + movs r1, 0x2 + str r2, [sp] + str r3, [sp, 0x4] + bl StartSpriteAnim + mov r0, r8 + adds r1, r4, r0 + ldr r0, _080DF408 @ =sub_80DF428 + str r0, [r1] + adds r0, r7, 0x1 + lsls r0, 16 + lsrs r7, r0, 16 + ldr r2, [sp] + ldr r3, [sp, 0x4] + cmp r7, 0x6 + beq _080DF3F6 +_080DF3EC: + adds r0, r5, 0x1 + lsls r0, 16 + lsrs r5, r0, 16 + cmp r5, 0x3F + bls _080DF3B0 +_080DF3F6: + strh r7, [r6, 0x14] + movs r0, 0x5 + strh r0, [r6, 0x8] + b _080DF41A + .align 2, 0 +_080DF400: .4byte gSprites +_080DF404: .4byte gUnknown_83E398C +_080DF408: .4byte sub_80DF428 +_080DF40C: + movs r1, 0x14 + ldrsh r0, [r6, r1] + cmp r0, 0 + bne _080DF41A + adds r0, r2, 0 + bl DestroyAnimVisualTask +_080DF41A: + add sp, 0x8 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80DF240 + + thumb_func_start sub_80DF428 +sub_80DF428: @ 80DF428 + push {r4,lr} + adds r4, r0, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x10 + ands r0, r1 + cmp r0, 0 + beq _080DF45C + ldr r3, _080DF464 @ =gTasks + movs r0, 0x30 + ldrsh r1, [r4, r0] + lsls r1, 1 + movs r0, 0x2E + ldrsh r2, [r4, r0] + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + adds r1, r0 + adds r3, 0x8 + adds r1, r3 + ldrh r0, [r1] + subs r0, 0x1 + strh r0, [r1] + adds r0, r4, 0 + bl DestroySprite +_080DF45C: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080DF464: .4byte gTasks + thumb_func_end sub_80DF428 + + thumb_func_start sub_80DF468 +sub_80DF468: @ 80DF468 + push {r4,r5,lr} + adds r5, r0, 0 + movs r1, 0x2E + ldrsh r0, [r5, r1] + cmp r0, 0 + bne _080DF47C + adds r0, r5, 0 + movs r1, 0 + bl sub_8075160 +_080DF47C: + ldrh r0, [r5, 0x2E] + adds r0, 0x1 + strh r0, [r5, 0x2E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x27 + bgt _080DF4AE + ldrh r0, [r5, 0x2E] + movs r1, 0x1 + ands r0, r1 + cmp r0, 0 + bne _080DF4A0 + adds r2, r5, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + b _080DF4AC +_080DF4A0: + adds r2, r5, 0 + adds r2, 0x3E + ldrb r1, [r2] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 +_080DF4AC: + strb r0, [r2] +_080DF4AE: + movs r2, 0x2E + ldrsh r0, [r5, r2] + cmp r0, 0x1E + ble _080DF4C4 + adds r2, r5, 0 + adds r2, 0x3E + ldrb r1, [r2] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + strb r0, [r2] +_080DF4C4: + movs r1, 0x2E + ldrsh r0, [r5, r1] + cmp r0, 0x3D + bne _080DF510 + ldr r1, _080DF518 @ =DestroyAnimSprite + adds r0, r5, 0 + bl StoreSpriteCallbackInData6 + ldrh r0, [r5, 0x24] + ldrh r2, [r5, 0x20] + adds r0, r2 + movs r1, 0 + strh r0, [r5, 0x20] + ldrh r0, [r5, 0x26] + ldrh r2, [r5, 0x22] + adds r0, r2 + strh r0, [r5, 0x22] + strh r1, [r5, 0x24] + strh r1, [r5, 0x26] + movs r0, 0x14 + strh r0, [r5, 0x2E] + ldr r4, _080DF51C @ =gBattleAnimTarget + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x32] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x36] + ldr r0, _080DF520 @ =sub_8075590 + str r0, [r5, 0x1C] +_080DF510: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080DF518: .4byte DestroyAnimSprite +_080DF51C: .4byte gBattleAnimTarget +_080DF520: .4byte sub_8075590 + thumb_func_end sub_80DF468 + + thumb_func_start sub_80DF524 +sub_80DF524: @ 80DF524 + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + ldr r1, _080DF544 @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r4, r0, r1 + movs r1, 0x8 + ldrsh r0, [r4, r1] + cmp r0, 0 + beq _080DF548 + cmp r0, 0x1 + beq _080DF568 + b _080DF57A + .align 2, 0 +_080DF544: .4byte gTasks +_080DF548: + movs r0, 0 + bl GetAnimBankSpriteId + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + ldr r2, _080DF564 @ =gUnknown_83FF130 + adds r0, r4, 0 + bl sub_80762D0 + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] + b _080DF57A + .align 2, 0 +_080DF564: .4byte gUnknown_83FF130 +_080DF568: + adds r0, r4, 0 + bl sub_8076308 + lsls r0, 24 + cmp r0, 0 + bne _080DF57A + adds r0, r5, 0 + bl DestroyAnimVisualTask +_080DF57A: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80DF524 + + thumb_func_start sub_80DF580 +sub_80DF580: @ 80DF580 + push {r4-r6,lr} + adds r5, r0, 0 + movs r0, 0 + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r6, r0, 24 + movs r1, 0x2E + ldrsh r0, [r5, r1] + cmp r0, 0x1 + beq _080DF5E0 + cmp r0, 0x1 + bgt _080DF5A0 + cmp r0, 0 + beq _080DF5AA + b _080DF682 +_080DF5A0: + cmp r0, 0x2 + beq _080DF610 + cmp r0, 0x3 + beq _080DF664 + b _080DF682 +_080DF5AA: + ldr r4, _080DF5DC @ =gBattleAnimAttacker + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x20] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x22] + adds r0, r6, 0 + movs r1, 0 + bl sub_80758E0 + movs r0, 0x80 + lsls r0, 1 + strh r0, [r5, 0x30] + strh r0, [r5, 0x32] + b _080DF658 + .align 2, 0 +_080DF5DC: .4byte gBattleAnimAttacker +_080DF5E0: + ldrh r0, [r5, 0x30] + adds r0, 0x60 + strh r0, [r5, 0x30] + ldrh r0, [r5, 0x32] + subs r0, 0x1A + strh r0, [r5, 0x32] + movs r2, 0x30 + ldrsh r1, [r5, r2] + movs r0, 0x32 + ldrsh r2, [r5, r0] + adds r0, r6, 0 + movs r3, 0 + bl obj_id_set_rotscale + ldrh r0, [r5, 0x34] + adds r0, 0x1 + strh r0, [r5, 0x34] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x5 + bne _080DF610 + ldrh r0, [r5, 0x2E] + adds r0, 0x1 + strh r0, [r5, 0x2E] +_080DF610: + ldrh r0, [r5, 0x30] + adds r0, 0x60 + strh r0, [r5, 0x30] + ldrh r0, [r5, 0x32] + adds r0, 0x30 + strh r0, [r5, 0x32] + movs r2, 0x30 + ldrsh r1, [r5, r2] + movs r0, 0x32 + ldrsh r2, [r5, r0] + adds r0, r6, 0 + movs r3, 0 + bl obj_id_set_rotscale + ldrh r0, [r5, 0x34] + adds r0, 0x1 + strh r0, [r5, 0x34] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x9 + bne _080DF682 + movs r0, 0 + strh r0, [r5, 0x34] + ldr r1, _080DF660 @ =gSprites + lsls r0, r6, 4 + adds r0, r6 + lsls r0, 2 + adds r0, r1 + adds r0, 0x3E + ldrb r1, [r0] + movs r2, 0x4 + orrs r1, r2 + strb r1, [r0] + adds r0, r6, 0 + bl sub_8075980 +_080DF658: + ldrh r0, [r5, 0x2E] + adds r0, 0x1 + strh r0, [r5, 0x2E] + b _080DF682 + .align 2, 0 +_080DF660: .4byte gSprites +_080DF664: + ldrh r0, [r5, 0x26] + subs r0, 0x6 + strh r0, [r5, 0x26] + movs r1, 0x22 + ldrsh r0, [r5, r1] + movs r2, 0x26 + ldrsh r1, [r5, r2] + adds r0, r1 + movs r1, 0x20 + negs r1, r1 + cmp r0, r1 + bge _080DF682 + adds r0, r5, 0 + bl DestroyAnimSprite +_080DF682: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_80DF580 + + thumb_func_start sub_80DF688 +sub_80DF688: @ 80DF688 + push {r4,lr} + adds r4, r0, 0 + ldr r0, _080DF6A0 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080DF6A8 + ldr r0, _080DF6A4 @ =0x0000fff0 + b _080DF6AC + .align 2, 0 +_080DF6A0: .4byte gBattleAnimAttacker +_080DF6A4: .4byte 0x0000fff0 +_080DF6A8: + movs r0, 0x80 + lsls r0, 1 +_080DF6AC: + strh r0, [r4, 0x20] + movs r0, 0 + strh r0, [r4, 0x22] + ldr r0, _080DF6BC @ =sub_80DF6C0 + str r0, [r4, 0x1C] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080DF6BC: .4byte sub_80DF6C0 + thumb_func_end sub_80DF688 + + thumb_func_start sub_80DF6C0 +sub_80DF6C0: @ 80DF6C0 + push {r4,r5,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x2E] + adds r0, 0x48 + strh r0, [r4, 0x2E] + ldr r0, _080DF6E0 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080DF6E4 + ldrh r0, [r4, 0x2E] + lsls r0, 16 + asrs r0, 20 + b _080DF6EC + .align 2, 0 +_080DF6E0: .4byte gBattleAnimAttacker +_080DF6E4: + ldrh r0, [r4, 0x2E] + lsls r0, 16 + asrs r0, 20 + negs r0, r0 +_080DF6EC: + strh r0, [r4, 0x24] + ldrh r0, [r4, 0x30] + adds r0, 0x10 + strh r0, [r4, 0x30] + lsls r0, 16 + asrs r0, 24 + ldrh r1, [r4, 0x26] + adds r5, r0, r1 + strh r5, [r4, 0x26] + ldrh r0, [r4, 0x32] + adds r0, 0x1 + strh r0, [r4, 0x32] + lsls r0, 16 + asrs r0, 16 + movs r1, 0x3 + bl __modsi3 + lsls r0, 16 + cmp r0, 0 + bne _080DF738 + ldr r0, _080DF758 @ =gUnknown_83FF180 + ldrh r1, [r4, 0x24] + ldrh r2, [r4, 0x20] + adds r1, r2 + lsls r1, 16 + asrs r1, 16 + ldrh r2, [r4, 0x22] + adds r2, r5 + lsls r2, 16 + asrs r2, 16 + adds r3, r4, 0 + adds r3, 0x43 + ldrb r3, [r3] + adds r3, 0x1 + lsls r3, 24 + lsrs r3, 24 + bl CreateSpriteAndAnimate +_080DF738: + movs r1, 0x20 + ldrsh r0, [r4, r1] + movs r2, 0x24 + ldrsh r1, [r4, r2] + adds r0, r1 + adds r0, 0x20 + movs r1, 0x98 + lsls r1, 1 + cmp r0, r1 + bls _080DF752 + adds r0, r4, 0 + bl DestroyAnimSprite +_080DF752: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080DF758: .4byte gUnknown_83FF180 + thumb_func_end sub_80DF6C0 + + thumb_func_start sub_80DF75C +sub_80DF75C: @ 80DF75C + push {r4,lr} + adds r4, r0, 0 + bl Random + movs r1, 0x3 + ands r0, r1 + cmp r0, 0 + bne _080DF776 + ldrh r2, [r4, 0x4] + lsls r1, r2, 22 + lsrs r1, 22 + adds r1, 0x4 + b _080DF77E +_080DF776: + ldrh r2, [r4, 0x4] + lsls r1, r2, 22 + lsrs r1, 22 + adds r1, 0x5 +_080DF77E: + ldr r3, _080DF7B0 @ =0x000003ff + adds r0, r3, 0 + ands r1, r0 + ldr r0, _080DF7B4 @ =0xfffffc00 + ands r0, r2 + orrs r0, r1 + strh r0, [r4, 0x4] + bl Random + movs r1, 0x7 + ands r0, r1 + adds r1, r0, 0 + cmp r1, 0x3 + ble _080DF7A0 + negs r0, r1 + lsls r0, 24 + lsrs r0, 24 +_080DF7A0: + lsls r0, 24 + asrs r0, 24 + strh r0, [r4, 0x26] + ldr r0, _080DF7B8 @ =sub_80DF7BC + str r0, [r4, 0x1C] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080DF7B0: .4byte 0x000003ff +_080DF7B4: .4byte 0xfffffc00 +_080DF7B8: .4byte sub_80DF7BC + thumb_func_end sub_80DF75C + + thumb_func_start sub_80DF7BC +sub_80DF7BC: @ 80DF7BC + push {lr} + adds r3, r0, 0 + ldrh r0, [r3, 0x2E] + adds r0, 0x1 + strh r0, [r3, 0x2E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1D + bgt _080DF7FE + ldrh r0, [r3, 0x30] + adds r0, 0x1 + strh r0, [r3, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x2 + bne _080DF832 + movs r0, 0x3E + adds r0, r3 + mov r12, r0 + ldrb r2, [r0] + lsls r0, r2, 29 + lsrs r0, 31 + movs r1, 0x1 + eors r1, r0 + lsls r1, 2 + movs r0, 0x5 + negs r0, r0 + ands r0, r2 + orrs r0, r1 + mov r1, r12 + strb r0, [r1] + movs r0, 0 + b _080DF830 +_080DF7FE: + movs r1, 0x30 + ldrsh r0, [r3, r1] + cmp r0, 0x2 + bne _080DF814 + adds r2, r3, 0 + adds r2, 0x3E + ldrb r1, [r2] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + strb r0, [r2] +_080DF814: + movs r1, 0x30 + ldrsh r0, [r3, r1] + cmp r0, 0x3 + bne _080DF82C + adds r2, r3, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] + ldr r0, _080DF844 @ =0x0000ffff + strh r0, [r3, 0x30] +_080DF82C: + ldrh r0, [r3, 0x30] + adds r0, 0x1 +_080DF830: + strh r0, [r3, 0x30] +_080DF832: + movs r1, 0x2E + ldrsh r0, [r3, r1] + cmp r0, 0x3C + ble _080DF840 + adds r0, r3, 0 + bl DestroySprite +_080DF840: + pop {r0} + bx r0 + .align 2, 0 +_080DF844: .4byte 0x0000ffff + thumb_func_end sub_80DF7BC + + thumb_func_start sub_80DF848 +sub_80DF848: @ 80DF848 + push {r4,r5,lr} + lsls r0, 24 + lsrs r0, 24 + adds r5, r0, 0 + ldr r1, _080DF880 @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r4, r0, r1 + movs r1, 0x8 + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080DF888 + movs r0, 0 + bl GetAnimBankSpriteId + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + ldr r2, _080DF884 @ =gUnknown_83FF198 + adds r0, r4, 0 + bl sub_80762D0 + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] + b _080DF89A + .align 2, 0 +_080DF880: .4byte gTasks +_080DF884: .4byte gUnknown_83FF198 +_080DF888: + adds r0, r4, 0 + bl sub_8076308 + lsls r0, 24 + cmp r0, 0 + bne _080DF89A + adds r0, r5, 0 + bl DestroyAnimVisualTask +_080DF89A: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80DF848 + + thumb_func_start sub_80DF8A0 +sub_80DF8A0: @ 80DF8A0 + push {r4,r5,lr} + lsls r0, 24 + lsrs r0, 24 + adds r5, r0, 0 + ldr r1, _080DF8D8 @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r4, r0, r1 + movs r1, 0x8 + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080DF8E0 + movs r0, 0 + bl GetAnimBankSpriteId + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + ldr r2, _080DF8DC @ =gUnknown_83FF1C0 + adds r0, r4, 0 + bl sub_80762D0 + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] + b _080DF8F2 + .align 2, 0 +_080DF8D8: .4byte gTasks +_080DF8DC: .4byte gUnknown_83FF1C0 +_080DF8E0: + adds r0, r4, 0 + bl sub_8076308 + lsls r0, 24 + cmp r0, 0 + bne _080DF8F2 + adds r0, r5, 0 + bl DestroyAnimVisualTask +_080DF8F2: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80DF8A0 + + thumb_func_start sub_80DF8F8 +sub_80DF8F8: @ 80DF8F8 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0 + beq _080DF90A + cmp r0, 0x1 + beq _080DF934 + b _080DF95C +_080DF90A: + adds r0, r4, 0 + movs r1, 0 + bl sub_8075160 + movs r0, 0x90 + lsls r0, 4 + strh r0, [r4, 0x30] + ldr r0, _080DF930 @ =gBattleAnimAttacker + ldrb r0, [r0] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x32] + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + b _080DF95C + .align 2, 0 +_080DF930: .4byte gBattleAnimAttacker +_080DF934: + ldrh r2, [r4, 0x30] + lsls r1, r2, 16 + asrs r1, 24 + ldrh r0, [r4, 0x26] + subs r0, r1 + strh r0, [r4, 0x26] + subs r2, 0x60 + strh r2, [r4, 0x30] + movs r2, 0x22 + ldrsh r0, [r4, r2] + movs r2, 0x26 + ldrsh r1, [r4, r2] + adds r0, r1 + movs r2, 0x32 + ldrsh r1, [r4, r2] + cmp r0, r1 + ble _080DF95C + adds r0, r4, 0 + bl DestroyAnimSprite +_080DF95C: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80DF8F8 + + thumb_func_start sub_80DF964 +sub_80DF964: @ 80DF964 + push {r4,r5,lr} + lsls r0, 24 + lsrs r0, 24 + adds r5, r0, 0 + ldr r1, _080DF99C @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r4, r0, r1 + movs r1, 0x8 + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080DF9A4 + movs r0, 0 + bl GetAnimBankSpriteId + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + ldr r2, _080DF9A0 @ =gUnknown_83FF210 + adds r0, r4, 0 + bl sub_80762D0 + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] + b _080DF9B6 + .align 2, 0 +_080DF99C: .4byte gTasks +_080DF9A0: .4byte gUnknown_83FF210 +_080DF9A4: + adds r0, r4, 0 + bl sub_8076308 + lsls r0, 24 + cmp r0, 0 + bne _080DF9B6 + adds r0, r5, 0 + bl DestroyAnimVisualTask +_080DF9B6: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80DF964 + + thumb_func_start sub_80DF9BC +sub_80DF9BC: @ 80DF9BC + push {r4-r6,lr} + sub sp, 0x10 + lsls r0, 24 + lsrs r5, r0, 24 + ldr r1, _080DF9E4 @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r0, r1 + movs r2, 0x8 + ldrsh r0, [r0, r2] + adds r3, r1, 0 + cmp r0, 0x4 + bls _080DF9DA + b _080DFBCE +_080DF9DA: + lsls r0, 2 + ldr r1, _080DF9E8 @ =_080DF9EC + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080DF9E4: .4byte gTasks +_080DF9E8: .4byte _080DF9EC + .align 2, 0 +_080DF9EC: + .4byte _080DFA00 + .4byte _080DFA4C + .4byte _080DFA86 + .4byte _080DFB1C + .4byte _080DFB58 +_080DFA00: + movs r0, 0x4C + movs r1, 0 + bl SetGpuReg + ldr r0, _080DFA24 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl sub_80768B0 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080DFA28 + movs r0, 0x1 + movs r1, 0x2 + movs r2, 0x1 + bl SetAnimBgAttribute + b _080DFA32 + .align 2, 0 +_080DFA24: .4byte gBattleAnimAttacker +_080DFA28: + movs r0, 0x2 + movs r1, 0x2 + movs r2, 0x1 + bl SetAnimBgAttribute +_080DFA32: + ldr r0, _080DFA44 @ =gTasks + lsls r1, r5, 2 + adds r1, r5 + lsls r1, 3 + adds r1, r0 + ldr r0, _080DFA48 @ =gBattleAnimArgs + ldrh r0, [r0] + strh r0, [r1, 0x1C] + b _080DFB00 + .align 2, 0 +_080DFA44: .4byte gTasks +_080DFA48: .4byte gBattleAnimArgs +_080DFA4C: + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r5, r0, r3 + ldrh r0, [r5, 0xC] + adds r1, r0, 0x1 + strh r1, [r5, 0xC] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + bgt _080DFA64 + b _080DFBCE +_080DFA64: + movs r0, 0 + strh r0, [r5, 0xC] + ldrh r0, [r5, 0xA] + adds r0, 0x1 + strh r0, [r5, 0xA] + ldrh r4, [r5, 0xA] + lsls r1, r4, 4 + orrs r1, r4 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x4C + bl SetGpuReg + cmp r4, 0xF + beq _080DFA84 + b _080DFBCE +_080DFA84: + b _080DFB50 +_080DFA86: + ldr r6, _080DFAB4 @ =gBattleAnimAttacker + ldrb r0, [r6] + ldr r1, _080DFAB8 @ =gBattleAnimTarget + ldrb r1, [r1] + lsls r4, r5, 2 + adds r2, r4, r5 + lsls r2, 3 + adds r2, r3 + ldrb r2, [r2, 0x1C] + bl sub_8034BF4 + ldrb r1, [r6] + mov r0, sp + bl sub_8075300 + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + beq _080DFABC + movs r1, 0 + b _080DFAC6 + .align 2, 0 +_080DFAB4: .4byte gBattleAnimAttacker +_080DFAB8: .4byte gBattleAnimTarget +_080DFABC: + ldrb r0, [r6] + bl GetBattlerPosition + lsls r0, 24 + lsrs r1, r0, 24 +_080DFAC6: + ldr r0, _080DFB08 @ =gMonSpritesGfxPtr + ldr r2, [r0] + lsls r0, r1, 2 + adds r2, 0x4 + adds r2, r0 + ldr r1, _080DFB0C @ =gBattleMonForms + ldr r0, _080DFB10 @ =gBattleAnimAttacker + ldrb r0, [r0] + adds r0, r1 + ldrb r1, [r0] + lsls r1, 11 + ldr r0, [r2] + adds r0, r1 + ldr r1, [sp] + ldr r2, _080DFB14 @ =0x04000200 + bl CpuSet + ldr r1, [sp] + movs r2, 0x80 + lsls r2, 4 + mov r0, sp + ldrh r3, [r0, 0xA] + movs r0, 0x1 + bl LoadBgTiles + ldr r0, _080DFB18 @ =gTasks + adds r1, r4, r5 + lsls r1, 3 + adds r1, r0 +_080DFB00: + ldrh r0, [r1, 0x8] + adds r0, 0x1 + strh r0, [r1, 0x8] + b _080DFBCE + .align 2, 0 +_080DFB08: .4byte gMonSpritesGfxPtr +_080DFB0C: .4byte gBattleMonForms +_080DFB10: .4byte gBattleAnimAttacker +_080DFB14: .4byte 0x04000200 +_080DFB18: .4byte gTasks +_080DFB1C: + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r5, r0, r3 + ldrh r0, [r5, 0xC] + adds r1, r0, 0x1 + strh r1, [r5, 0xC] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + ble _080DFBCE + movs r0, 0 + strh r0, [r5, 0xC] + ldrh r0, [r5, 0xA] + subs r0, 0x1 + strh r0, [r5, 0xA] + ldrh r4, [r5, 0xA] + lsls r1, r4, 4 + orrs r1, r4 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x4C + bl SetGpuReg + cmp r4, 0 + bne _080DFBCE +_080DFB50: + ldrh r0, [r5, 0x8] + adds r0, 0x1 + strh r0, [r5, 0x8] + b _080DFBCE +_080DFB58: + movs r0, 0x4C + movs r1, 0 + bl SetGpuReg + ldr r0, _080DFB7C @ =gBattleAnimAttacker + ldrb r0, [r0] + bl sub_80768B0 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080DFB80 + movs r0, 0x1 + movs r1, 0x2 + movs r2, 0 + bl SetAnimBgAttribute + b _080DFB8A + .align 2, 0 +_080DFB7C: .4byte gBattleAnimAttacker +_080DFB80: + movs r0, 0x2 + movs r1, 0x2 + movs r2, 0 + bl SetAnimBgAttribute +_080DFB8A: + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080DFBC8 + ldr r4, _080DFBD8 @ =gBattleAnimAttacker + ldrb r0, [r4] + bl GetBattlerSide + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080DFBC8 + ldr r0, _080DFBDC @ =gTasks + lsls r1, r5, 2 + adds r1, r5 + lsls r1, 3 + adds r1, r0 + movs r2, 0x1C + ldrsh r0, [r1, r2] + cmp r0, 0 + bne _080DFBC8 + ldrb r0, [r4] + ldr r1, _080DFBE0 @ =gUnknown_2024018 + ldr r1, [r1] + ldr r2, [r1] + lsls r1, r0, 2 + adds r1, r2 + ldrh r1, [r1, 0x2] + bl SetBankEnemyShadowSpriteCallback +_080DFBC8: + adds r0, r5, 0 + bl DestroyAnimVisualTask +_080DFBCE: + add sp, 0x10 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080DFBD8: .4byte gBattleAnimAttacker +_080DFBDC: .4byte gTasks +_080DFBE0: .4byte gUnknown_2024018 + thumb_func_end sub_80DF9BC + + thumb_func_start c3_80DFBE4 +c3_80DFBE4: @ 80DFBE4 + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + ldr r4, _080DFC14 @ =gBattleAnimArgs + ldr r3, _080DFC18 @ =gSprites + ldr r2, _080DFC1C @ =gBattlerSpriteIds + ldr r1, _080DFC20 @ =gBattleAnimAttacker + ldrb r1, [r1] + adds r1, r2 + ldrb r2, [r1] + lsls r1, r2, 4 + adds r1, r2 + lsls r1, 2 + adds r1, r3 + adds r1, 0x3E + ldrb r1, [r1] + lsls r1, 29 + lsrs r1, 31 + strh r1, [r4, 0xE] + bl DestroyAnimVisualTask + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080DFC14: .4byte gBattleAnimArgs +_080DFC18: .4byte gSprites +_080DFC1C: .4byte gBattlerSpriteIds +_080DFC20: .4byte gBattleAnimAttacker + thumb_func_end c3_80DFBE4 + + thumb_func_start sub_80DFC24 +sub_80DFC24: @ 80DFC24 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r0, _080DFC48 @ =gBattleAnimAttacker + ldrb r0, [r0] + ldr r1, _080DFC4C @ =gBattleAnimTarget + ldrb r1, [r1] + movs r2, 0x1 + bl sub_8034BF4 + adds r0, r4, 0 + bl DestroyAnimVisualTask + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080DFC48: .4byte gBattleAnimAttacker +_080DFC4C: .4byte gBattleAnimTarget + thumb_func_end sub_80DFC24 + + thumb_func_start sub_80DFC50 +sub_80DFC50: @ 80DFC50 + push {r4,lr} + sub sp, 0x10 + lsls r0, 24 + lsrs r4, r0, 24 + ldr r1, _080DFC78 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + movs r2, 0x8 + ldrsh r0, [r0, r2] + adds r2, r1, 0 + cmp r0, 0x4 + bls _080DFC6E + b _080DFECA +_080DFC6E: + lsls r0, 2 + ldr r1, _080DFC7C @ =_080DFC80 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080DFC78: .4byte gTasks +_080DFC7C: .4byte _080DFC80 + .align 2, 0 +_080DFC80: + .4byte _080DFC94 + .4byte _080DFD90 + .4byte _080DFDE0 + .4byte _080DFE4A + .4byte _080DFE7E +_080DFC94: + ldr r1, _080DFD18 @ =0x00003f42 + movs r0, 0x50 + bl SetGpuReg + movs r1, 0x80 + lsls r1, 5 + movs r0, 0x52 + bl SetGpuReg + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + bl SetAnimBgAttribute + movs r0, 0x1 + movs r1, 0x4 + movs r2, 0x1 + bl SetAnimBgAttribute + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080DFCCE + movs r0, 0x1 + movs r1, 0x3 + movs r2, 0x1 + bl SetAnimBgAttribute +_080DFCCE: + mov r0, sp + bl sub_80752A0 + mov r0, sp + ldrb r0, [r0, 0x9] + ldr r1, _080DFD1C @ =gFile_graphics_battle_anims_masks_morning_sun_tilemap + bl sub_807543C + mov r0, sp + ldrb r0, [r0, 0x9] + ldr r1, _080DFD20 @ =gFile_graphics_battle_anims_masks_morning_sun_sheet + mov r2, sp + ldrh r2, [r2, 0xA] + bl sub_80753B4 + ldr r0, _080DFD24 @ =gFile_graphics_battle_anims_masks_morning_sun_palette + mov r1, sp + ldrb r1, [r1, 0x8] + lsls r1, 4 + movs r2, 0x20 + bl LoadCompressedPalette + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + beq _080DFD30 + mov r0, sp + ldrb r0, [r0, 0x8] + ldr r1, [sp, 0x4] + movs r2, 0 + movs r3, 0 + bl sub_80730C0 + ldr r1, _080DFD28 @ =gBattle_BG1_X + ldr r3, _080DFD2C @ =0x0000ffc8 + b _080DFD58 + .align 2, 0 +_080DFD18: .4byte 0x00003f42 +_080DFD1C: .4byte gFile_graphics_battle_anims_masks_morning_sun_tilemap +_080DFD20: .4byte gFile_graphics_battle_anims_masks_morning_sun_sheet +_080DFD24: .4byte gFile_graphics_battle_anims_masks_morning_sun_palette +_080DFD28: .4byte gBattle_BG1_X +_080DFD2C: .4byte 0x0000ffc8 +_080DFD30: + ldr r0, _080DFD48 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080DFD54 + ldr r1, _080DFD4C @ =gBattle_BG1_X + ldr r2, _080DFD50 @ =0x0000ff79 + adds r0, r2, 0 + b _080DFD5A + .align 2, 0 +_080DFD48: .4byte gBattleAnimAttacker +_080DFD4C: .4byte gBattle_BG1_X +_080DFD50: .4byte 0x0000ff79 +_080DFD54: + ldr r1, _080DFD80 @ =gBattle_BG1_X + ldr r3, _080DFD84 @ =0x0000fff6 +_080DFD58: + adds r0, r3, 0 +_080DFD5A: + strh r0, [r1] + ldr r1, _080DFD88 @ =gBattle_BG1_Y + movs r0, 0 + strh r0, [r1] + ldr r0, _080DFD8C @ =gTasks + lsls r1, r4, 2 + adds r1, r4 + lsls r1, 3 + adds r1, r0 + ldr r0, _080DFD80 @ =gBattle_BG1_X + ldrh r0, [r0] + strh r0, [r1, 0x1C] + ldr r0, _080DFD88 @ =gBattle_BG1_Y + ldrh r0, [r0] + strh r0, [r1, 0x1E] + ldrh r0, [r1, 0x8] + adds r0, 0x1 + b _080DFE66 + .align 2, 0 +_080DFD80: .4byte gBattle_BG1_X +_080DFD84: .4byte 0x0000fff6 +_080DFD88: .4byte gBattle_BG1_Y +_080DFD8C: .4byte gTasks +_080DFD90: + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r4, r0, r2 + ldrh r0, [r4, 0x10] + adds r1, r0, 0x1 + strh r1, [r4, 0x10] + lsls r0, 16 + cmp r0, 0 + bgt _080DFDA6 + b _080DFECA +_080DFDA6: + movs r0, 0 + strh r0, [r4, 0x10] + ldrh r0, [r4, 0xA] + adds r0, 0x1 + strh r0, [r4, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xC + ble _080DFDBC + movs r0, 0xC + strh r0, [r4, 0xA] +_080DFDBC: + ldrh r0, [r4, 0xA] + movs r1, 0x10 + subs r1, r0 + lsls r1, 8 + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + movs r1, 0xA + ldrsh r0, [r4, r1] + cmp r0, 0xC + bne _080DFECA + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] + b _080DFECA +_080DFDE0: + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r4, r0, r2 + ldrh r0, [r4, 0xA] + subs r0, 0x1 + strh r0, [r4, 0xA] + lsls r0, 16 + cmp r0, 0 + bge _080DFDF8 + movs r0, 0 + strh r0, [r4, 0xA] +_080DFDF8: + ldrh r0, [r4, 0xA] + movs r1, 0x10 + subs r1, r0 + lsls r1, 8 + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + movs r2, 0xA + ldrsh r0, [r4, r2] + cmp r0, 0 + bne _080DFECA + ldr r2, _080DFE3C @ =gBattle_BG1_X + ldr r1, _080DFE40 @ =gUnknown_83FF240 + movs r3, 0xC + ldrsh r0, [r4, r3] + adds r0, r1 + ldrb r0, [r0] + lsls r0, 24 + asrs r0, 24 + ldrh r1, [r4, 0x1C] + adds r0, r1 + strh r0, [r2] + ldrh r0, [r4, 0xC] + adds r0, 0x1 + strh r0, [r4, 0xC] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x4 + bne _080DFE44 + strh r0, [r4, 0x8] + b _080DFECA + .align 2, 0 +_080DFE3C: .4byte gBattle_BG1_X +_080DFE40: .4byte gUnknown_83FF240 +_080DFE44: + movs r0, 0x3 + strh r0, [r4, 0x8] + b _080DFECA +_080DFE4A: + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r1, r0, r2 + ldrh r0, [r1, 0xE] + adds r0, 0x1 + strh r0, [r1, 0xE] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x4 + bne _080DFECA + movs r0, 0 + strh r0, [r1, 0xE] + movs r0, 0x1 +_080DFE66: + strh r0, [r1, 0x8] + movs r0, 0x40 + negs r0, r0 + bl sub_8073A44 + adds r1, r0, 0 + lsls r1, 24 + asrs r1, 24 + movs r0, 0xDD + bl PlaySE12WithPanning + b _080DFECA +_080DFE7E: + mov r0, sp + bl sub_80752A0 + mov r0, sp + ldrb r0, [r0, 0x9] + bl sub_8075358 + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080DFEA0 + movs r0, 0x1 + movs r1, 0x3 + movs r2, 0 + bl SetAnimBgAttribute +_080DFEA0: + movs r0, 0x1 + movs r1, 0x4 + movs r2, 0x1 + bl SetAnimBgAttribute + ldr r0, _080DFED4 @ =gBattle_BG1_X + movs r1, 0 + strh r1, [r0] + ldr r0, _080DFED8 @ =gBattle_BG1_Y + strh r1, [r0] + movs r0, 0x50 + movs r1, 0 + bl SetGpuReg + movs r0, 0x52 + movs r1, 0 + bl SetGpuReg + adds r0, r4, 0 + bl DestroyAnimVisualTask +_080DFECA: + add sp, 0x10 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080DFED4: .4byte gBattle_BG1_X +_080DFED8: .4byte gBattle_BG1_Y + thumb_func_end sub_80DFC50 + + thumb_func_start sub_80DFEDC +sub_80DFEDC: @ 80DFEDC + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x4 + adds r7, r0, 0 + bl Random + lsls r0, 16 + movs r1, 0xFC + lsls r1, 14 + ands r1, r0 + lsrs r5, r1, 16 + adds r1, r5, 0 + cmp r1, 0x1F + ble _080DFF06 + movs r0, 0x20 + subs r0, r1 + lsls r0, 16 + lsrs r5, r0, 16 +_080DFF06: + ldr r4, _080E0000 @ =gBattleAnimAttacker + ldrb r0, [r4] + movs r1, 0 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + adds r0, r5 + strh r0, [r7, 0x20] + ldrb r0, [r4] + movs r1, 0x1 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + adds r0, 0x20 + strh r0, [r7, 0x22] + ldr r1, _080E0004 @ =gBattleAnimArgs + ldrh r0, [r1] + strh r0, [r7, 0x30] + ldrh r0, [r1, 0x2] + strh r0, [r7, 0x32] + ldr r4, _080E0008 @ =gUnknown_83FF26C + movs r0, 0x20 + ldrsh r1, [r7, r0] + movs r0, 0x22 + ldrsh r2, [r7, r0] + adds r5, r7, 0 + adds r5, 0x43 + ldrb r3, [r5] + adds r3, 0x1 + lsls r3, 24 + lsrs r3, 24 + adds r0, r4, 0 + bl CreateSprite + mov r9, r0 + mov r1, r9 + lsls r1, 24 + lsrs r1, 24 + mov r9, r1 + movs r0, 0x20 + ldrsh r1, [r7, r0] + movs r0, 0x22 + ldrsh r2, [r7, r0] + ldrb r3, [r5] + adds r3, 0x1 + lsls r3, 24 + lsrs r3, 24 + adds r0, r4, 0 + bl CreateSprite + mov r8, r0 + mov r1, r8 + lsls r1, 24 + lsrs r1, 24 + mov r8, r1 + mov r0, r9 + lsls r2, r0, 4 + add r2, r9 + lsls r2, 2 + ldr r1, _080E000C @ =gSprites + mov r10, r1 + adds r5, r2, r1 + adds r0, r5, 0 + movs r1, 0x1 + str r2, [sp] + bl StartSpriteAnim + mov r0, r8 + lsls r6, r0, 4 + add r6, r8 + lsls r6, 2 + mov r1, r10 + adds r4, r6, r1 + adds r0, r4, 0 + movs r1, 0x2 + bl StartSpriteAnim + ldr r1, _080E0004 @ =gBattleAnimArgs + ldrh r0, [r1] + strh r0, [r5, 0x30] + ldrh r0, [r1, 0x2] + strh r0, [r5, 0x32] + ldrh r0, [r1] + strh r0, [r4, 0x30] + ldrh r0, [r1, 0x2] + strh r0, [r4, 0x32] + ldr r0, _080E0010 @ =0x0000ffff + strh r0, [r5, 0x3C] + movs r0, 0x1 + negs r0, r0 + strh r0, [r4, 0x3C] + adds r5, 0x3E + ldrb r0, [r5] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r5] + adds r4, 0x3E + ldrb r0, [r4] + orrs r0, r1 + strb r0, [r4] + movs r0, 0x1C + add r10, r0 + ldr r2, [sp] + add r2, r10 + ldr r0, _080E0014 @ =sub_80E0128 + str r0, [r2] + add r6, r10 + str r0, [r6] + mov r1, r9 + strh r1, [r7, 0x3A] + mov r0, r8 + strh r0, [r7, 0x3C] + ldr r0, _080E0018 @ =sub_80E001C + str r0, [r7, 0x1C] + add sp, 0x4 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080E0000: .4byte gBattleAnimAttacker +_080E0004: .4byte gBattleAnimArgs +_080E0008: .4byte gUnknown_83FF26C +_080E000C: .4byte gSprites +_080E0010: .4byte 0x0000ffff +_080E0014: .4byte sub_80E0128 +_080E0018: .4byte sub_80E001C + thumb_func_end sub_80DFEDC + + thumb_func_start sub_80E001C +sub_80E001C: @ 80E001C + push {lr} + adds r3, r0, 0 + ldrh r2, [r3, 0x32] + ldrh r0, [r3, 0x34] + adds r2, r0 + lsls r0, r2, 16 + asrs r0, 24 + ldrh r1, [r3, 0x26] + subs r1, r0 + strh r1, [r3, 0x26] + movs r0, 0xFF + ands r2, r0 + strh r2, [r3, 0x34] + movs r2, 0x36 + ldrsh r0, [r3, r2] + cmp r0, 0 + bne _080E006A + lsls r0, r1, 16 + asrs r0, 16 + movs r1, 0x8 + negs r1, r1 + cmp r0, r1 + bge _080E006A + ldr r2, _080E00C4 @ =gSprites + movs r0, 0x3A + ldrsh r1, [r3, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + adds r0, 0x3E + ldrb r2, [r0] + movs r1, 0x5 + negs r1, r1 + ands r1, r2 + strb r1, [r0] + ldrh r0, [r3, 0x36] + adds r0, 0x1 + strh r0, [r3, 0x36] +_080E006A: + movs r1, 0x36 + ldrsh r0, [r3, r1] + cmp r0, 0x1 + bne _080E009E + movs r2, 0x26 + ldrsh r1, [r3, r2] + movs r0, 0x10 + negs r0, r0 + cmp r1, r0 + bge _080E009E + ldr r2, _080E00C4 @ =gSprites + movs r0, 0x3C + ldrsh r1, [r3, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + adds r0, 0x3E + ldrb r2, [r0] + movs r1, 0x5 + negs r1, r1 + ands r1, r2 + strb r1, [r0] + ldrh r0, [r3, 0x36] + adds r0, 0x1 + strh r0, [r3, 0x36] +_080E009E: + ldrh r0, [r3, 0x30] + subs r0, 0x1 + strh r0, [r3, 0x30] + lsls r0, 16 + asrs r0, 16 + movs r1, 0x1 + negs r1, r1 + cmp r0, r1 + bne _080E00C0 + adds r2, r3, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] + ldr r0, _080E00C8 @ =sub_80E00CC + str r0, [r3, 0x1C] +_080E00C0: + pop {r0} + bx r0 + .align 2, 0 +_080E00C4: .4byte gSprites +_080E00C8: .4byte sub_80E00CC + thumb_func_end sub_80E001C + + thumb_func_start sub_80E00CC +sub_80E00CC: @ 80E00CC + push {r4-r6,lr} + adds r4, r0, 0 + ldr r5, _080E0120 @ =gSprites + movs r0, 0x3A + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r3, r0, 2 + adds r6, r5, 0 + adds r6, 0x1C + adds r0, r3, r6 + ldr r2, [r0] + ldr r0, _080E0124 @ =SpriteCallbackDummy + cmp r2, r0 + bne _080E0118 + movs r1, 0x3C + ldrsh r0, [r4, r1] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r6 + ldr r0, [r1] + cmp r0, r2 + bne _080E0118 + adds r0, r3, r5 + bl DestroySprite + movs r0, 0x3C + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + bl DestroySprite + adds r0, r4, 0 + bl DestroyAnimSprite +_080E0118: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080E0120: .4byte gSprites +_080E0124: .4byte SpriteCallbackDummy + thumb_func_end sub_80E00CC + + thumb_func_start sub_80E0128 +sub_80E0128: @ 80E0128 + push {lr} + adds r3, r0, 0 + movs r0, 0x3E + adds r0, r3 + mov r12, r0 + ldrb r1, [r0] + movs r0, 0x4 + ands r0, r1 + cmp r0, 0 + bne _080E0174 + ldrh r2, [r3, 0x32] + ldrh r1, [r3, 0x34] + adds r2, r1 + lsls r1, r2, 16 + asrs r1, 24 + ldrh r0, [r3, 0x26] + subs r0, r1 + strh r0, [r3, 0x26] + movs r0, 0xFF + ands r2, r0 + strh r2, [r3, 0x34] + ldrh r0, [r3, 0x30] + subs r0, 0x1 + strh r0, [r3, 0x30] + lsls r0, 16 + asrs r0, 16 + movs r1, 0x1 + negs r1, r1 + cmp r0, r1 + bne _080E0174 + mov r1, r12 + ldrb r0, [r1] + movs r1, 0x4 + orrs r0, r1 + mov r1, r12 + strb r0, [r1] + ldr r0, _080E0178 @ =SpriteCallbackDummy + str r0, [r3, 0x1C] +_080E0174: + pop {r0} + bx r0 + .align 2, 0 +_080E0178: .4byte SpriteCallbackDummy + thumb_func_end sub_80E0128 + + thumb_func_start sub_80E017C +sub_80E017C: @ 80E017C + push {r4-r6,lr} + sub sp, 0x10 + lsls r0, 24 + lsrs r6, r0, 24 + ldr r1, _080E01A4 @ =gTasks + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + adds r0, r1 + movs r2, 0x8 + ldrsh r0, [r0, r2] + adds r4, r1, 0 + cmp r0, 0x5 + bls _080E019A + b _080E0476 +_080E019A: + lsls r0, 2 + ldr r1, _080E01A8 @ =_080E01AC + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080E01A4: .4byte gTasks +_080E01A8: .4byte _080E01AC + .align 2, 0 +_080E01AC: + .4byte _080E01C4 + .4byte _080E0304 + .4byte _080E038C + .4byte _080E03C2 + .4byte _080E03F0 + .4byte _080E042A +_080E01C4: + ldr r1, _080E0248 @ =0x00003f42 + movs r0, 0x50 + bl SetGpuReg + ldr r1, _080E024C @ =0x00000d03 + movs r0, 0x52 + bl SetGpuReg + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + bl SetAnimBgAttribute + movs r0, 0x1 + movs r1, 0x4 + movs r2, 0x1 + bl SetAnimBgAttribute + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080E01FC + movs r0, 0x1 + movs r1, 0x3 + movs r2, 0x1 + bl SetAnimBgAttribute +_080E01FC: + mov r0, sp + bl sub_80752A0 + mov r0, sp + ldrb r0, [r0, 0x9] + ldr r1, _080E0250 @ =gFile_graphics_battle_anims_masks_morning_sun_tilemap + bl sub_807543C + mov r0, sp + ldrb r0, [r0, 0x9] + ldr r1, _080E0254 @ =gFile_graphics_battle_anims_masks_morning_sun_sheet + mov r2, sp + ldrh r2, [r2, 0xA] + bl sub_80753B4 + ldr r0, _080E0258 @ =gFile_graphics_battle_anims_masks_morning_sun_palette + mov r1, sp + ldrb r1, [r1, 0x8] + lsls r1, 4 + movs r2, 0x20 + bl LoadCompressedPalette + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + beq _080E0264 + mov r0, sp + ldrb r0, [r0, 0x8] + ldr r1, [sp, 0x4] + movs r2, 0 + movs r3, 0 + bl sub_80730C0 + ldr r1, _080E025C @ =gBattle_BG1_X + ldr r3, _080E0260 @ =0x0000ffc8 + adds r0, r3, 0 + b _080E02CE + .align 2, 0 +_080E0248: .4byte 0x00003f42 +_080E024C: .4byte 0x00000d03 +_080E0250: .4byte gFile_graphics_battle_anims_masks_morning_sun_tilemap +_080E0254: .4byte gFile_graphics_battle_anims_masks_morning_sun_sheet +_080E0258: .4byte gFile_graphics_battle_anims_masks_morning_sun_palette +_080E025C: .4byte gBattle_BG1_X +_080E0260: .4byte 0x0000ffc8 +_080E0264: + ldr r0, _080E02A4 @ =gBattleAnimTarget + ldrb r0, [r0] + bl GetBattlerPosition + lsls r0, 24 + lsrs r4, r0, 24 + bl sub_8075290 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080E02B8 + ldr r1, _080E02A8 @ =gBattle_BG1_X + cmp r4, 0x1 + bne _080E0288 + ldr r2, _080E02AC @ =0x0000ff65 + adds r0, r2, 0 + strh r0, [r1] +_080E0288: + cmp r4, 0x3 + bne _080E0292 + ldr r3, _080E02B0 @ =0x0000ff8d + adds r0, r3, 0 + strh r0, [r1] +_080E0292: + cmp r4, 0 + bne _080E029A + movs r0, 0xE + strh r0, [r1] +_080E029A: + cmp r4, 0x2 + bne _080E02D0 + ldr r1, _080E02A8 @ =gBattle_BG1_X + ldr r2, _080E02B4 @ =0x0000ffec + b _080E02CC + .align 2, 0 +_080E02A4: .4byte gBattleAnimTarget +_080E02A8: .4byte gBattle_BG1_X +_080E02AC: .4byte 0x0000ff65 +_080E02B0: .4byte 0x0000ff8d +_080E02B4: .4byte 0x0000ffec +_080E02B8: + cmp r4, 0x1 + bne _080E02C4 + ldr r1, _080E02F0 @ =gBattle_BG1_X + ldr r3, _080E02F4 @ =0x0000ff79 + adds r0, r3, 0 + strh r0, [r1] +_080E02C4: + cmp r4, 0 + bne _080E02D0 + ldr r1, _080E02F0 @ =gBattle_BG1_X + ldr r2, _080E02F8 @ =0x0000fff6 +_080E02CC: + adds r0, r2, 0 +_080E02CE: + strh r0, [r1] +_080E02D0: + ldr r1, _080E02FC @ =gBattle_BG1_Y + movs r0, 0 + strh r0, [r1] + ldr r0, _080E0300 @ =gTasks + lsls r1, r6, 2 + adds r1, r6 + lsls r1, 3 + adds r1, r0 + ldr r0, _080E02F0 @ =gBattle_BG1_X + ldrh r0, [r0] + strh r0, [r1, 0x1C] + ldr r0, _080E02FC @ =gBattle_BG1_Y + ldrh r0, [r0] + strh r0, [r1, 0x1E] + b _080E0384 + .align 2, 0 +_080E02F0: .4byte gBattle_BG1_X +_080E02F4: .4byte 0x0000ff79 +_080E02F8: .4byte 0x0000fff6 +_080E02FC: .4byte gBattle_BG1_Y +_080E0300: .4byte gTasks +_080E0304: + ldr r1, _080E0338 @ =gTasks + lsls r4, r6, 2 + adds r0, r4, r6 + lsls r0, 3 + adds r5, r0, r1 + movs r0, 0 + strh r0, [r5, 0xE] + ldr r0, _080E033C @ =gBattleAnimTarget + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080E0348 + ldr r2, _080E0340 @ =gBattle_BG1_X + ldr r1, _080E0344 @ =gUnknown_83FF284 + movs r3, 0xC + ldrsh r0, [r5, r3] + adds r0, r1 + ldrb r0, [r0] + lsls r0, 24 + asrs r0, 24 + ldrh r5, [r5, 0x1C] + adds r0, r5 + b _080E035A + .align 2, 0 +_080E0338: .4byte gTasks +_080E033C: .4byte gBattleAnimTarget +_080E0340: .4byte gBattle_BG1_X +_080E0344: .4byte gUnknown_83FF284 +_080E0348: + ldr r2, _080E0378 @ =gBattle_BG1_X + ldr r1, _080E037C @ =gUnknown_83FF284 + movs r3, 0xC + ldrsh r0, [r5, r3] + adds r0, r1 + movs r1, 0 + ldrsb r1, [r0, r1] + ldrh r0, [r5, 0x1C] + subs r0, r1 +_080E035A: + strh r0, [r2] + ldr r0, _080E0380 @ =gTasks + adds r1, r4, r6 + lsls r1, 3 + adds r1, r0 + ldrh r0, [r1, 0xC] + adds r0, 0x1 + strh r0, [r1, 0xC] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x5 + bne _080E0384 + strh r0, [r1, 0x8] + b _080E0476 + .align 2, 0 +_080E0378: .4byte gBattle_BG1_X +_080E037C: .4byte gUnknown_83FF284 +_080E0380: .4byte gTasks +_080E0384: + ldrh r0, [r1, 0x8] + adds r0, 0x1 + strh r0, [r1, 0x8] + b _080E0476 +_080E038C: + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + adds r4, r0, r4 + ldrh r0, [r4, 0xA] + subs r0, 0x1 + strh r0, [r4, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x4 + bgt _080E03A6 + movs r0, 0x5 + strh r0, [r4, 0xA] +_080E03A6: + ldrh r1, [r4, 0xA] + lsls r1, 8 + movs r0, 0x3 + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + movs r1, 0xA + ldrsh r0, [r4, r1] + cmp r0, 0x5 + bne _080E0476 + b _080E03E2 +_080E03C2: + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + adds r4, r0, r4 + ldrh r1, [r4, 0xE] + adds r1, 0x1 + strh r1, [r4, 0xE] + lsls r1, 16 + asrs r1, 16 + ldr r2, _080E03EC @ =gUnknown_83FF288 + movs r3, 0xC + ldrsh r0, [r4, r3] + adds r0, r2 + ldrb r0, [r0] + cmp r1, r0 + ble _080E0476 +_080E03E2: + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] + b _080E0476 + .align 2, 0 +_080E03EC: .4byte gUnknown_83FF288 +_080E03F0: + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + adds r4, r0, r4 + ldrh r0, [r4, 0xA] + adds r0, 0x1 + strh r0, [r4, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xD + ble _080E040A + movs r0, 0xD + strh r0, [r4, 0xA] +_080E040A: + ldrh r1, [r4, 0xA] + lsls r1, 8 + movs r0, 0x3 + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + movs r1, 0xA + ldrsh r0, [r4, r1] + cmp r0, 0xD + bne _080E0476 + movs r0, 0x1 + strh r0, [r4, 0x8] + b _080E0476 +_080E042A: + mov r0, sp + bl sub_80752A0 + mov r0, sp + ldrb r0, [r0, 0x9] + bl sub_8075358 + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080E044C + movs r0, 0x1 + movs r1, 0x3 + movs r2, 0 + bl SetAnimBgAttribute +_080E044C: + movs r0, 0x1 + movs r1, 0x4 + movs r2, 0x1 + bl SetAnimBgAttribute + ldr r0, _080E0480 @ =gBattle_BG1_X + movs r1, 0 + strh r1, [r0] + ldr r0, _080E0484 @ =gBattle_BG1_Y + strh r1, [r0] + movs r0, 0x50 + movs r1, 0 + bl SetGpuReg + movs r0, 0x52 + movs r1, 0 + bl SetGpuReg + adds r0, r6, 0 + bl DestroyAnimVisualTask +_080E0476: + add sp, 0x10 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080E0480: .4byte gBattle_BG1_X +_080E0484: .4byte gBattle_BG1_Y + thumb_func_end sub_80E017C + + thumb_func_start sub_80E0488 +sub_80E0488: @ 80E0488 + push {r4,r5,lr} + lsls r0, 24 + lsrs r0, 24 + adds r5, r0, 0 + ldr r1, _080E04C0 @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r4, r0, r1 + movs r1, 0x8 + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080E04C8 + movs r0, 0 + bl GetAnimBankSpriteId + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + ldr r2, _080E04C4 @ =gUnknown_83FF290 + adds r0, r4, 0 + bl sub_80762D0 + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] + b _080E04DA + .align 2, 0 +_080E04C0: .4byte gTasks +_080E04C4: .4byte gUnknown_83FF290 +_080E04C8: + adds r0, r4, 0 + bl sub_8076308 + lsls r0, 24 + cmp r0, 0 + bne _080E04DA + adds r0, r5, 0 + bl DestroyAnimVisualTask +_080E04DA: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80E0488 + + thumb_func_start sub_80E04E0 +sub_80E04E0: @ 80E04E0 + push {r4,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x2E] + movs r2, 0x2E + ldrsh r1, [r4, r2] + cmp r1, 0 + bne _080E04FE + adds r0, r4, 0 + movs r1, 0 + bl sub_8075160 + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + b _080E0552 +_080E04FE: + adds r0, 0x1 + strh r0, [r4, 0x2E] + cmp r1, 0x14 + ble _080E0552 + ldrh r0, [r4, 0x30] + adds r0, 0xA0 + strh r0, [r4, 0x30] + ldrh r0, [r4, 0x32] + adds r0, 0x80 + strh r0, [r4, 0x32] + ldr r0, _080E052C @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080E0530 + ldrh r0, [r4, 0x30] + lsls r0, 16 + asrs r0, 24 + negs r0, r0 + b _080E0536 + .align 2, 0 +_080E052C: .4byte gBattleAnimAttacker +_080E0530: + ldrh r0, [r4, 0x30] + lsls r0, 16 + asrs r0, 24 +_080E0536: + strh r0, [r4, 0x24] + ldrh r0, [r4, 0x32] + lsls r0, 16 + asrs r0, 24 + ldrh r1, [r4, 0x26] + adds r0, r1 + strh r0, [r4, 0x26] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x40 + ble _080E0552 + adds r0, r4, 0 + bl DestroyAnimSprite +_080E0552: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80E04E0 + + thumb_func_start sub_80E0558 +sub_80E0558: @ 80E0558 + push {r4,r5,lr} + lsls r0, 24 + lsrs r2, r0, 24 + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + ldr r1, _080E057C @ =gTasks + adds r4, r0, r1 + ldr r5, _080E0580 @ =gBattleAnimArgs + movs r1, 0x2 + ldrsh r0, [r5, r1] + cmp r0, 0 + bne _080E0584 + adds r0, r2, 0 + bl DestroyAnimVisualTask + b _080E0618 + .align 2, 0 +_080E057C: .4byte gTasks +_080E0580: .4byte gBattleAnimArgs +_080E0584: + movs r1, 0x4 + ldrsh r0, [r5, r1] + cmp r0, 0 + bge _080E0590 + movs r0, 0 + strh r0, [r5, 0x4] +_080E0590: + movs r1, 0x4 + ldrsh r0, [r5, r1] + cmp r0, 0x2 + ble _080E059C + movs r0, 0x2 + strh r0, [r5, 0x4] +_080E059C: + movs r0, 0 + strh r0, [r4, 0x8] + strh r0, [r4, 0xA] + strh r0, [r4, 0xC] + movs r0, 0x4 + ldrsh r1, [r5, r0] + lsls r1, 1 + movs r0, 0x8 + subs r0, r1 + strh r0, [r4, 0xE] + movs r1, 0x4 + ldrsh r0, [r5, r1] + lsls r0, 7 + movs r1, 0x80 + lsls r1, 1 + adds r0, r1 + strh r0, [r4, 0x10] + ldrh r0, [r5, 0x4] + adds r0, 0x2 + strh r0, [r4, 0x12] + ldrh r0, [r5, 0x2] + subs r0, 0x1 + strh r0, [r4, 0x14] + ldrb r0, [r5] + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x26] + movs r1, 0 + ldrsh r0, [r5, r1] + cmp r0, 0 + bne _080E05E8 + ldr r0, _080E05E4 @ =gBattleAnimAttacker + b _080E05EA + .align 2, 0 +_080E05E4: .4byte gBattleAnimAttacker +_080E05E8: + ldr r0, _080E0620 @ =gBattleAnimTarget +_080E05EA: + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080E0608 + movs r1, 0x10 + ldrsh r0, [r4, r1] + negs r0, r0 + strh r0, [r4, 0x10] + movs r1, 0x12 + ldrsh r0, [r4, r1] + negs r0, r0 + strh r0, [r4, 0x12] +_080E0608: + ldrh r0, [r4, 0x26] + lsls r0, 24 + lsrs r0, 24 + movs r1, 0 + bl sub_80758E0 + ldr r0, _080E0624 @ =sub_80E0628 + str r0, [r4] +_080E0618: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080E0620: .4byte gBattleAnimTarget +_080E0624: .4byte sub_80E0628 + thumb_func_end sub_80E0558 + + thumb_func_start sub_80E0628 +sub_80E0628: @ 80E0628 + push {r4-r6,lr} + lsls r0, 24 + lsrs r5, r0, 24 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + ldr r1, _080E064C @ =gTasks + adds r4, r0, r1 + movs r0, 0x8 + ldrsh r6, [r4, r0] + cmp r6, 0x1 + beq _080E06B0 + cmp r6, 0x1 + bgt _080E0650 + cmp r6, 0 + beq _080E065C + b _080E0788 + .align 2, 0 +_080E064C: .4byte gTasks +_080E0650: + cmp r6, 0x2 + beq _080E0708 + cmp r6, 0x3 + bne _080E065A + b _080E0778 +_080E065A: + b _080E0788 +_080E065C: + ldr r2, _080E06AC @ =gSprites + movs r0, 0x26 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r1, [r4, 0x12] + ldrh r2, [r0, 0x24] + adds r1, r2 + strh r1, [r0, 0x24] + ldrh r0, [r4, 0xC] + ldrh r1, [r4, 0x10] + subs r0, r1 + strh r0, [r4, 0xC] + ldrh r0, [r4, 0x26] + lsls r0, 24 + lsrs r0, 24 + movs r2, 0x80 + lsls r2, 1 + ldrh r3, [r4, 0xC] + adds r1, r2, 0 + bl obj_id_set_rotscale + ldrh r0, [r4, 0x26] + lsls r0, 24 + lsrs r0, 24 + bl sub_80759DC + ldrh r0, [r4, 0xA] + adds r0, 0x1 + strh r0, [r4, 0xA] + lsls r0, 16 + asrs r0, 16 + movs r2, 0xE + ldrsh r1, [r4, r2] + cmp r0, r1 + blt _080E0788 + strh r6, [r4, 0xA] + b _080E0770 + .align 2, 0 +_080E06AC: .4byte gSprites +_080E06B0: + ldr r2, _080E0704 @ =gSprites + movs r0, 0x26 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r1, [r0, 0x24] + ldrh r2, [r4, 0x12] + subs r1, r2 + strh r1, [r0, 0x24] + ldrh r0, [r4, 0x10] + ldrh r1, [r4, 0xC] + adds r0, r1 + strh r0, [r4, 0xC] + ldrh r0, [r4, 0x26] + lsls r0, 24 + lsrs r0, 24 + movs r2, 0x80 + lsls r2, 1 + ldrh r3, [r4, 0xC] + adds r1, r2, 0 + bl obj_id_set_rotscale + ldrh r0, [r4, 0x26] + lsls r0, 24 + lsrs r0, 24 + bl sub_80759DC + ldrh r1, [r4, 0xA] + adds r1, 0x1 + strh r1, [r4, 0xA] + lsls r1, 16 + asrs r1, 16 + movs r2, 0xE + ldrsh r0, [r4, r2] + lsls r0, 1 + cmp r1, r0 + blt _080E0788 + movs r0, 0 + strh r0, [r4, 0xA] + b _080E0770 + .align 2, 0 +_080E0704: .4byte gSprites +_080E0708: + ldr r2, _080E076C @ =gSprites + movs r0, 0x26 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r1, [r4, 0x12] + ldrh r2, [r0, 0x24] + adds r1, r2 + movs r5, 0 + strh r1, [r0, 0x24] + ldrh r0, [r4, 0xC] + ldrh r1, [r4, 0x10] + subs r0, r1 + strh r0, [r4, 0xC] + ldrh r0, [r4, 0x26] + lsls r0, 24 + lsrs r0, 24 + movs r2, 0x80 + lsls r2, 1 + ldrh r3, [r4, 0xC] + adds r1, r2, 0 + bl obj_id_set_rotscale + ldrh r0, [r4, 0x26] + lsls r0, 24 + lsrs r0, 24 + bl sub_80759DC + ldrh r0, [r4, 0xA] + adds r0, 0x1 + strh r0, [r4, 0xA] + lsls r0, 16 + asrs r0, 16 + movs r2, 0xE + ldrsh r1, [r4, r2] + cmp r0, r1 + blt _080E0788 + ldrh r1, [r4, 0x14] + movs r2, 0x14 + ldrsh r0, [r4, r2] + cmp r0, 0 + beq _080E0770 + subs r0, r1, 0x1 + strh r0, [r4, 0x14] + strh r5, [r4, 0xA] + strh r5, [r4, 0x8] + b _080E0788 + .align 2, 0 +_080E076C: .4byte gSprites +_080E0770: + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] + b _080E0788 +_080E0778: + ldrh r0, [r4, 0x26] + lsls r0, 24 + lsrs r0, 24 + bl sub_8075980 + adds r0, r5, 0 + bl DestroyAnimVisualTask +_080E0788: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_80E0628 + + thumb_func_start sub_80E0790 +sub_80E0790: @ 80E0790 + push {r4,lr} + adds r4, r0, 0 + ldr r0, _080E07AC @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0 + bne _080E07B4 + strh r0, [r4, 0x20] + ldr r1, _080E07B0 @ =gBattleAnimArgs + ldrh r0, [r1] + b _080E07BE + .align 2, 0 +_080E07AC: .4byte gBattleAnimAttacker +_080E07B0: .4byte gBattleAnimArgs +_080E07B4: + movs r0, 0xF0 + strh r0, [r4, 0x20] + ldr r1, _080E07D8 @ =gBattleAnimArgs + ldrh r0, [r1] + subs r0, 0x1E +_080E07BE: + strh r0, [r4, 0x22] + ldrh r0, [r1, 0x4] + strh r0, [r4, 0x32] + ldrb r1, [r1, 0x2] + adds r0, r4, 0 + bl StartSpriteAnim + ldr r0, _080E07DC @ =sub_80E07E0 + str r0, [r4, 0x1C] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080E07D8: .4byte gBattleAnimArgs +_080E07DC: .4byte sub_80E07E0 + thumb_func_end sub_80E0790 + + thumb_func_start sub_80E07E0 +sub_80E07E0: @ 80E07E0 + push {r4,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x2E] + adds r0, 0x3 + strh r0, [r4, 0x2E] + ldr r0, _080E0820 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _080E0824 + ldrh r1, [r4, 0x20] + adds r1, 0x5 + strh r1, [r4, 0x20] + ldrh r0, [r4, 0x22] + subs r0, 0x1 + strh r0, [r4, 0x22] + lsls r1, 16 + asrs r1, 16 + cmp r1, 0xF0 + ble _080E0812 + adds r0, r4, 0 + bl DestroyAnimSprite +_080E0812: + ldrh r1, [r4, 0x2E] + movs r0, 0xFF + ands r0, r1 + movs r1, 0x10 + bl Sin + b _080E0848 + .align 2, 0 +_080E0820: .4byte gBattleAnimAttacker +_080E0824: + ldrh r1, [r4, 0x20] + subs r1, 0x5 + strh r1, [r4, 0x20] + ldrh r0, [r4, 0x22] + adds r0, 0x1 + strh r0, [r4, 0x22] + lsls r1, 16 + cmp r1, 0 + bge _080E083C + adds r0, r4, 0 + bl DestroyAnimSprite +_080E083C: + ldrh r1, [r4, 0x2E] + movs r0, 0xFF + ands r0, r1 + movs r1, 0x10 + bl Cos +_080E0848: + strh r0, [r4, 0x26] + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80E07E0 + + thumb_func_start sub_80E0850 +sub_80E0850: @ 80E0850 + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r4, r0, 2 + adds r4, r0 + lsls r4, 3 + ldr r0, _080E0898 @ =gTasks + adds r4, r0 + movs r0, 0 + strh r0, [r4, 0x8] + strh r0, [r4, 0xA] + strh r0, [r4, 0xC] + strh r0, [r4, 0xE] + movs r0, 0x20 + strh r0, [r4, 0x20] + movs r0, 0x40 + strh r0, [r4, 0x22] + movs r0, 0x80 + lsls r0, 4 + strh r0, [r4, 0x24] + ldr r0, _080E089C @ =gBattleAnimArgs + ldrb r0, [r0] + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x26] + movs r1, 0 + bl sub_80758E0 + ldr r0, _080E08A0 @ =sub_80E08A4 + str r0, [r4] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080E0898: .4byte gTasks +_080E089C: .4byte gBattleAnimArgs +_080E08A0: .4byte sub_80E08A4 + thumb_func_end sub_80E0850 + + thumb_func_start sub_80E08A4 +sub_80E08A4: @ 80E08A4 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + lsls r0, 24 + lsrs r4, r0, 24 + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + ldr r1, _080E08D0 @ =gTasks + adds r7, r0, r1 + movs r1, 0x8 + ldrsh r0, [r7, r1] + mov r8, r0 + cmp r0, 0x1 + beq _080E0940 + cmp r0, 0x1 + bgt _080E08D4 + cmp r0, 0 + beq _080E08DC + b _080E09BA + .align 2, 0 +_080E08D0: .4byte gTasks +_080E08D4: + mov r2, r8 + cmp r2, 0x2 + beq _080E09A8 + b _080E09BA +_080E08DC: + movs r3, 0x80 + lsls r3, 2 + adds r0, r3, 0 + ldrh r1, [r7, 0xC] + adds r2, r0, r1 + strh r2, [r7, 0xC] + lsls r0, r2, 16 + asrs r0, 16 + ldrh r3, [r7, 0x24] + mov r8, r3 + movs r3, 0x24 + ldrsh r1, [r7, r3] + cmp r0, r1 + blt _080E09BA + mov r0, r8 + subs r5, r0, r2 + lsls r5, 16 + asrs r5, 16 + adds r6, r1, 0 + lsls r6, 1 + adds r0, r5, 0 + adds r1, r6, 0 + bl __divsi3 + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + adds r0, r5, 0 + adds r1, r6, 0 + bl __modsi3 + lsls r0, 16 + lsrs r0, 16 + lsls r4, 16 + asrs r4, 16 + movs r1, 0x1 + ands r4, r1 + cmp r4, 0 + bne _080E0934 + lsls r0, 16 + asrs r0, 16 + mov r2, r8 + subs r0, r2, r0 + b _080E0992 +_080E0934: + lsls r0, 16 + asrs r0, 16 + mov r3, r8 + subs r0, r3 + strh r0, [r7, 0xC] + b _080E09BA +_080E0940: + ldr r1, _080E0998 @ =0xfffffe00 + adds r0, r1, 0 + ldrh r2, [r7, 0xC] + adds r1, r0, r2 + strh r1, [r7, 0xC] + movs r3, 0xC + ldrsh r0, [r7, r3] + movs r2, 0x24 + ldrsh r6, [r7, r2] + cmn r0, r6 + bgt _080E09BA + ldrh r3, [r7, 0x24] + mov r9, r3 + mov r0, r9 + subs r4, r0, r1 + lsls r4, 16 + asrs r4, 16 + lsls r6, 1 + adds r0, r4, 0 + adds r1, r6, 0 + bl __divsi3 + adds r5, r0, 0 + lsls r5, 16 + lsrs r5, 16 + adds r0, r4, 0 + adds r1, r6, 0 + bl __modsi3 + lsls r0, 16 + lsrs r2, r0, 16 + mov r1, r8 + ands r1, r5 + lsls r0, r1, 16 + asrs r1, r0, 16 + cmp r1, 0 + bne _080E099C + lsls r0, r2, 16 + asrs r0, 16 + mov r2, r9 + subs r0, r2 +_080E0992: + strh r0, [r7, 0xC] + strh r1, [r7, 0x8] + b _080E09BA + .align 2, 0 +_080E0998: .4byte 0xfffffe00 +_080E099C: + lsls r0, r2, 16 + asrs r0, 16 + mov r3, r9 + subs r0, r3, r0 + strh r0, [r7, 0xC] + b _080E09BA +_080E09A8: + ldrh r0, [r7, 0x26] + lsls r0, 24 + lsrs r0, 24 + bl sub_8075980 + adds r0, r4, 0 + bl DestroyAnimVisualTask + b _080E0A30 +_080E09BA: + ldrh r0, [r7, 0x26] + lsls r0, 24 + lsrs r0, 24 + movs r2, 0x80 + lsls r2, 1 + ldrh r3, [r7, 0xC] + adds r1, r2, 0 + bl obj_id_set_rotscale + ldrh r0, [r7, 0x26] + lsls r0, 24 + lsrs r0, 24 + bl sub_80759DC + ldr r2, _080E0A28 @ =gSprites + movs r0, 0x26 + ldrsh r1, [r7, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r1, r0, r2 + movs r2, 0xC + ldrsh r0, [r7, r2] + cmp r0, 0 + bge _080E09EE + adds r0, 0x3F +_080E09EE: + asrs r0, 6 + negs r0, r0 + strh r0, [r1, 0x24] + ldrh r0, [r7, 0xA] + adds r0, 0x1 + strh r0, [r7, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x8 + ble _080E0A30 + ldrh r1, [r7, 0x20] + movs r3, 0x20 + ldrsh r0, [r7, r3] + cmp r0, 0 + beq _080E0A2C + subs r0, r1, 0x1 + strh r0, [r7, 0x20] + ldrh r0, [r7, 0x24] + ldrh r1, [r7, 0x22] + subs r0, r1 + strh r0, [r7, 0x24] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xF + bgt _080E0A30 + movs r0, 0x10 + strh r0, [r7, 0x24] + b _080E0A30 + .align 2, 0 +_080E0A28: .4byte gSprites +_080E0A2C: + movs r0, 0x2 + strh r0, [r7, 0x8] +_080E0A30: + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80E08A4 + + thumb_func_start sub_80E0A3C +sub_80E0A3C: @ 80E0A3C + push {r4-r6,lr} + adds r5, r0, 0 + movs r1, 0x2E + ldrsh r0, [r5, r1] + cmp r0, 0 + bne _080E0A9C + ldr r6, _080E0A94 @ =gBattleAnimArgs + movs r2, 0x4 + ldrsh r0, [r6, r2] + cmp r0, 0 + bne _080E0A70 + ldr r4, _080E0A98 @ =gBattleAnimAttacker + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x20] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x22] +_080E0A70: + ldrh r0, [r6] + ldrh r1, [r5, 0x20] + adds r0, r1 + strh r0, [r5, 0x20] + ldrh r1, [r6, 0x2] + ldrh r2, [r5, 0x22] + adds r0, r1, r2 + strh r0, [r5, 0x22] + movs r0, 0x80 + strh r0, [r5, 0x30] + movs r0, 0xC0 + lsls r0, 2 + strh r0, [r5, 0x32] + strh r1, [r5, 0x34] + ldrh r0, [r5, 0x2E] + adds r0, 0x1 + strh r0, [r5, 0x2E] + b _080E0AFA + .align 2, 0 +_080E0A94: .4byte gBattleAnimArgs +_080E0A98: .4byte gBattleAnimAttacker +_080E0A9C: + ldrh r1, [r5, 0x30] + lsls r0, r1, 16 + asrs r0, 24 + strh r0, [r5, 0x24] + ldrh r0, [r5, 0x32] + lsls r0, 16 + asrs r0, 24 + ldrh r2, [r5, 0x26] + adds r0, r2 + strh r0, [r5, 0x26] + movs r2, 0x36 + ldrsh r0, [r5, r2] + adds r4, r1, 0 + cmp r0, 0 + bne _080E0ADA + movs r0, 0x26 + ldrsh r1, [r5, r0] + movs r2, 0x34 + ldrsh r0, [r5, r2] + cmn r1, r0 + ble _080E0ADA + movs r0, 0x1 + strh r0, [r5, 0x36] + movs r1, 0x32 + ldrsh r0, [r5, r1] + negs r0, r0 + movs r1, 0x3 + bl __divsi3 + lsls r0, 1 + strh r0, [r5, 0x32] +_080E0ADA: + adds r0, r4, 0 + adds r0, 0xC0 + strh r0, [r5, 0x30] + ldrh r0, [r5, 0x32] + adds r0, 0x80 + strh r0, [r5, 0x32] + adds r0, r5, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x10 + ands r0, r1 + cmp r0, 0 + beq _080E0AFA + adds r0, r5, 0 + bl DestroyAnimSprite +_080E0AFA: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_80E0A3C + + thumb_func_start sub_80E0B00 +sub_80E0B00: @ 80E0B00 + push {r4-r7,lr} + mov r7, r8 + push {r7} + lsls r0, 24 + lsrs r0, 24 + adds r7, r0, 0 + ldr r1, _080E0B30 @ =gTasks + lsls r0, r7, 2 + adds r0, r7 + lsls r0, 3 + adds r2, r0, r1 + movs r1, 0x8 + ldrsh r0, [r2, r1] + cmp r0, 0 + bne _080E0C0C + ldr r0, _080E0B34 @ =gBattleAnimArgs + movs r3, 0 + ldrsh r1, [r0, r3] + mov r8, r0 + cmp r1, 0 + bne _080E0B3C + ldr r0, _080E0B38 @ =gBattleAnimAttacker + b _080E0B3E + .align 2, 0 +_080E0B30: .4byte gTasks +_080E0B34: .4byte gBattleAnimArgs +_080E0B38: .4byte gBattleAnimAttacker +_080E0B3C: + ldr r0, _080E0B78 @ =gBattleAnimTarget +_080E0B3E: + ldrb r0, [r0] + strh r0, [r2, 0x1E] + mov r1, r8 + ldrb r0, [r1] + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r5, r0, 24 + ldr r1, _080E0B7C @ =gTasks + lsls r4, r7, 2 + adds r0, r4, r7 + lsls r0, 3 + adds r6, r0, r1 + strh r5, [r6, 0x1C] + adds r0, r5, 0 + movs r1, 0 + bl sub_80758E0 + mov r2, r8 + movs r3, 0x2 + ldrsh r0, [r2, r3] + cmp r0, 0x1 + beq _080E0BA0 + cmp r0, 0x1 + bgt _080E0B80 + cmp r0, 0 + beq _080E0B88 + lsls r2, r5, 4 + b _080E0BE8 + .align 2, 0 +_080E0B78: .4byte gBattleAnimTarget +_080E0B7C: .4byte gTasks +_080E0B80: + cmp r0, 0x2 + beq _080E0BAA + lsls r2, r5, 4 + b _080E0BE8 +_080E0B88: + movs r2, 0xA0 + lsls r2, 1 + adds r0, r5, 0 + movs r1, 0xE0 + movs r3, 0 + bl obj_id_set_rotscale + adds r0, r5, 0 + bl sub_8076440 + lsls r2, r5, 4 + b _080E0BE8 +_080E0BA0: + movs r2, 0x98 + lsls r2, 1 + movs r3, 0xF0 + lsls r3, 4 + b _080E0BB2 +_080E0BAA: + movs r2, 0x98 + lsls r2, 1 + movs r3, 0xF1 + lsls r3, 8 +_080E0BB2: + adds r0, r5, 0 + movs r1, 0xD0 + bl obj_id_set_rotscale + adds r0, r5, 0 + bl sub_8076440 + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080E0BD8 + ldrb r0, [r6, 0x1E] + bl GetBattlerSide + lsls r0, 24 + lsls r2, r5, 4 + cmp r0, 0 + bne _080E0BE8 +_080E0BD8: + ldr r0, _080E0C04 @ =gSprites + lsls r2, r5, 4 + adds r1, r2, r5 + lsls r1, 2 + adds r1, r0 + ldrh r0, [r1, 0x26] + adds r0, 0x10 + strh r0, [r1, 0x26] +_080E0BE8: + ldr r1, _080E0C04 @ =gSprites + adds r0, r2, r5 + lsls r0, 2 + adds r0, r1 + movs r1, 0x2 + strh r1, [r0, 0x24] + ldr r0, _080E0C08 @ =gTasks + adds r1, r4, r7 + lsls r1, 3 + adds r1, r0 + ldrh r0, [r1, 0x8] + adds r0, 0x1 + strh r0, [r1, 0x8] + b _080E0C58 + .align 2, 0 +_080E0C04: .4byte gSprites +_080E0C08: .4byte gTasks +_080E0C0C: + ldrb r5, [r2, 0x1C] + ldrh r0, [r2, 0xC] + adds r0, 0x1 + movs r4, 0 + strh r0, [r2, 0xC] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x3 + bne _080E0C30 + strh r4, [r2, 0xC] + ldr r0, _080E0C64 @ =gSprites + lsls r1, r5, 4 + adds r1, r5 + lsls r1, 2 + adds r1, r0 + ldrh r0, [r1, 0x24] + negs r0, r0 + strh r0, [r1, 0x24] +_080E0C30: + ldrh r0, [r2, 0xA] + adds r0, 0x1 + strh r0, [r2, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xD + bne _080E0C58 + adds r0, r5, 0 + bl sub_8075980 + ldr r1, _080E0C64 @ =gSprites + lsls r0, r5, 4 + adds r0, r5 + lsls r0, 2 + adds r0, r1 + strh r4, [r0, 0x24] + strh r4, [r0, 0x26] + adds r0, r7, 0 + bl DestroyAnimVisualTask +_080E0C58: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080E0C64: .4byte gSprites + thumb_func_end sub_80E0B00 + + thumb_func_start sub_80E0C68 +sub_80E0C68: @ 80E0C68 + push {r4,r5,lr} + adds r4, r0, 0 + bl Random + lsls r0, 16 + lsrs r0, 16 + movs r1, 0xC + bl __umodsi3 + lsls r0, 24 + lsrs r0, 24 + ldrh r2, [r4, 0x4] + lsls r1, r2, 22 + lsrs r1, 22 + adds r1, r0 + ldr r3, _080E0CB4 @ =0x000003ff + adds r0, r3, 0 + ands r1, r0 + ldr r0, _080E0CB8 @ =0xfffffc00 + ands r0, r2 + orrs r0, r1 + strh r0, [r4, 0x4] + bl Random + ldr r5, _080E0CBC @ =0x000001ff + ands r5, r0 + bl Random + movs r1, 0xFF + ands r1, r0 + movs r0, 0x1 + ands r0, r5 + cmp r0, 0 + beq _080E0CC0 + movs r2, 0xBC + lsls r2, 3 + adds r0, r5, r2 + b _080E0CC8 + .align 2, 0 +_080E0CB4: .4byte 0x000003ff +_080E0CB8: .4byte 0xfffffc00 +_080E0CBC: .4byte 0x000001ff +_080E0CC0: + movs r3, 0xBC + lsls r3, 3 + adds r0, r3, 0 + subs r0, r5 +_080E0CC8: + strh r0, [r4, 0x2E] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080E0CDA + movs r2, 0x90 + lsls r2, 3 + adds r0, r1, r2 + b _080E0CE2 +_080E0CDA: + movs r3, 0x90 + lsls r3, 3 + adds r0, r3, 0 + subs r0, r1 +_080E0CE2: + strh r0, [r4, 0x30] + ldr r0, _080E0CF4 @ =gBattleAnimArgs + ldrh r0, [r0] + strh r0, [r4, 0x32] + lsls r0, 16 + cmp r0, 0 + bne _080E0CFC + ldr r0, _080E0CF8 @ =0x0000fff8 + b _080E0CFE + .align 2, 0 +_080E0CF4: .4byte gBattleAnimArgs +_080E0CF8: .4byte 0x0000fff8 +_080E0CFC: + movs r0, 0xF8 +_080E0CFE: + strh r0, [r4, 0x20] + movs r0, 0x68 + strh r0, [r4, 0x22] + ldr r0, _080E0D10 @ =sub_80E0D14 + str r0, [r4, 0x1C] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080E0D10: .4byte sub_80E0D14 + thumb_func_end sub_80E0C68 + + thumb_func_start sub_80E0D14 +sub_80E0D14: @ 80E0D14 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x32 + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080E0D2C + ldrh r3, [r4, 0x2E] + lsls r0, r3, 16 + asrs r0, 24 + ldrh r1, [r4, 0x24] + adds r0, r1 + b _080E0D36 +_080E0D2C: + ldrh r3, [r4, 0x2E] + lsls r1, r3, 16 + asrs r1, 24 + ldrh r0, [r4, 0x24] + subs r0, r1 +_080E0D36: + strh r0, [r4, 0x24] + ldrh r2, [r4, 0x30] + lsls r1, r2, 16 + asrs r1, 24 + ldrh r0, [r4, 0x26] + subs r0, r1 + strh r0, [r4, 0x26] + adds r0, r3, 0 + subs r0, 0x16 + strh r0, [r4, 0x2E] + adds r1, r2, 0 + subs r1, 0x30 + strh r1, [r4, 0x30] + lsls r0, 16 + cmp r0, 0 + bge _080E0D5A + movs r0, 0 + strh r0, [r4, 0x2E] +_080E0D5A: + ldrh r0, [r4, 0x34] + adds r0, 0x1 + strh r0, [r4, 0x34] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1F + bne _080E0D6E + adds r0, r4, 0 + bl DestroyAnimSprite +_080E0D6E: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80E0D14 + + thumb_func_start sub_80E0D74 +sub_80E0D74: @ 80E0D74 + push {r4,r5,lr} + adds r5, r0, 0 + ldr r1, _080E0DD8 @ =0x00001f3f + movs r0, 0x4A + bl SetGpuReg + movs r1, 0x80 + lsls r1, 8 + movs r0, 0 + bl SetGpuRegBits + ldr r0, _080E0DDC @ =gUnknown_2022984 + movs r1, 0 + strh r1, [r0] + ldr r4, _080E0DE0 @ =gUnknown_2022986 + strh r1, [r4] + movs r0, 0x40 + movs r1, 0 + bl SetGpuReg + ldrh r1, [r4] + movs r0, 0x44 + bl SetGpuReg + ldr r0, _080E0DE4 @ =gBattleAnimArgs + ldrh r0, [r0, 0x4] + strh r0, [r5, 0x2E] + adds r0, r5, 0 + movs r1, 0 + bl sub_8075114 + ldrb r1, [r5, 0x1] + movs r0, 0xD + negs r0, r0 + ands r0, r1 + movs r1, 0x8 + orrs r0, r1 + strb r0, [r5, 0x1] + adds r2, r5, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] + ldr r0, _080E0DE8 @ =sub_80E0DEC + str r0, [r5, 0x1C] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080E0DD8: .4byte 0x00001f3f +_080E0DDC: .4byte gUnknown_2022984 +_080E0DE0: .4byte gUnknown_2022986 +_080E0DE4: .4byte gBattleAnimArgs +_080E0DE8: .4byte sub_80E0DEC + thumb_func_end sub_80E0D74 + + thumb_func_start sub_80E0DEC +sub_80E0DEC: @ 80E0DEC + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x30 + ldrsh r0, [r4, r1] + cmp r0, 0x1 + beq _080E0E2A + cmp r0, 0x1 + bgt _080E0E02 + cmp r0, 0 + beq _080E0E0C + b _080E0E8A +_080E0E02: + cmp r0, 0x2 + beq _080E0E40 + cmp r0, 0x3 + beq _080E0E62 + b _080E0E8A +_080E0E0C: + adds r2, r4, 0 + adds r2, 0x3E + ldrb r1, [r2] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + strb r0, [r2] + adds r0, r4, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x20 + ands r0, r1 + cmp r0, 0 + beq _080E0E8A + b _080E0E5A +_080E0E2A: + ldrh r0, [r4, 0x2E] + subs r0, 0x1 + strh r0, [r4, 0x2E] + lsls r0, 16 + cmp r0, 0 + bne _080E0E8A + adds r0, r4, 0 + movs r1, 0x1 + bl ChangeSpriteAffineAnim + b _080E0E5A +_080E0E40: + adds r0, r4, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x20 + ands r0, r1 + cmp r0, 0 + beq _080E0E8A + adds r2, r4, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] +_080E0E5A: + ldrh r0, [r4, 0x30] + adds r0, 0x1 + strh r0, [r4, 0x30] + b _080E0E8A +_080E0E62: + ldr r1, _080E0E90 @ =0x00003f3f + movs r0, 0x4A + bl SetGpuReg + movs r0, 0 + bl GetGpuReg + adds r1, r0, 0 + movs r2, 0x80 + lsls r2, 8 + adds r0, r2, 0 + eors r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0 + bl SetGpuReg + adds r0, r4, 0 + bl DestroyAnimSprite +_080E0E8A: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080E0E90: .4byte 0x00003f3f + thumb_func_end sub_80E0DEC + + thumb_func_start sub_80E0E94 +sub_80E0E94: @ 80E0E94 + push {r4,r5,lr} + adds r4, r0, 0 + ldr r5, _080E0ED0 @ =gBattleAnimAttacker + ldrb r0, [r5] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x20] + ldrb r0, [r5] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x22] + ldr r1, _080E0ED4 @ =gBattleAnimArgs + ldrh r0, [r1] + strh r0, [r4, 0x2E] + ldrh r0, [r1, 0x2] + strh r0, [r4, 0x30] + ldr r1, _080E0ED8 @ =sub_80E0EDC + str r1, [r4, 0x1C] + adds r0, r4, 0 + bl _call_via_r1 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080E0ED0: .4byte gBattleAnimAttacker +_080E0ED4: .4byte gBattleAnimArgs +_080E0ED8: .4byte sub_80E0EDC + thumb_func_end sub_80E0E94 + + thumb_func_start sub_80E0EDC +sub_80E0EDC: @ 80E0EDC + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x30 + ldrsh r0, [r4, r1] + ldrh r1, [r4, 0x32] + lsls r1, 16 + asrs r1, 24 + bl Sin + strh r0, [r4, 0x24] + movs r2, 0x30 + ldrsh r0, [r4, r2] + ldrh r1, [r4, 0x34] + lsls r1, 16 + asrs r1, 24 + bl Cos + strh r0, [r4, 0x26] + ldrh r0, [r4, 0x30] + adds r0, 0x9 + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0x30] + lsls r1, r0, 16 + cmp r0, 0x3F + bls _080E0F16 + asrs r0, r1, 16 + cmp r0, 0xC3 + ble _080E0F28 +_080E0F16: + ldr r0, _080E0F24 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl sub_807685C + subs r0, 0x1 + b _080E0F32 + .align 2, 0 +_080E0F24: .4byte gBattleAnimAttacker +_080E0F28: + ldr r0, _080E0F74 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl sub_807685C + adds r0, 0x1 +_080E0F32: + adds r1, r4, 0 + adds r1, 0x43 + strb r0, [r1] + movs r3, 0x38 + ldrsh r2, [r4, r3] + cmp r2, 0 + bne _080E0F78 + movs r1, 0x80 + lsls r1, 3 + adds r0, r1, 0 + ldrh r3, [r4, 0x32] + adds r0, r3 + strh r0, [r4, 0x32] + movs r1, 0x80 + lsls r1, 1 + adds r0, r1, 0 + ldrh r3, [r4, 0x34] + adds r0, r3 + strh r0, [r4, 0x34] + ldrh r0, [r4, 0x36] + adds r0, 0x1 + strh r0, [r4, 0x36] + lsls r0, 16 + asrs r0, 16 + movs r3, 0x2E + ldrsh r1, [r4, r3] + cmp r0, r1 + bne _080E0FA8 + strh r2, [r4, 0x36] + movs r0, 0x1 + strh r0, [r4, 0x38] + b _080E0FA8 + .align 2, 0 +_080E0F74: .4byte gBattleAnimAttacker +_080E0F78: + cmp r2, 0x1 + bne _080E0FA8 + ldr r1, _080E0FB0 @ =0xfffffc00 + adds r0, r1, 0 + ldrh r2, [r4, 0x32] + adds r0, r2 + strh r0, [r4, 0x32] + ldr r3, _080E0FB4 @ =0xffffff00 + adds r0, r3, 0 + ldrh r1, [r4, 0x34] + adds r0, r1 + strh r0, [r4, 0x34] + ldrh r0, [r4, 0x36] + adds r0, 0x1 + strh r0, [r4, 0x36] + lsls r0, 16 + asrs r0, 16 + movs r2, 0x2E + ldrsh r1, [r4, r2] + cmp r0, r1 + bne _080E0FA8 + adds r0, r4, 0 + bl DestroyAnimSprite +_080E0FA8: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080E0FB0: .4byte 0xfffffc00 +_080E0FB4: .4byte 0xffffff00 + thumb_func_end sub_80E0EDC + + thumb_func_start sub_80E0FB8 +sub_80E0FB8: @ 80E0FB8 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x20 + lsls r0, 24 + lsrs r0, 24 + str r0, [sp, 0x18] + movs r0, 0 + bl GetAnimBankSpriteId + ldr r0, _080E1040 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080E107C + movs r0, 0 + str r0, [sp, 0x1C] + ldr r6, _080E1044 @ =gBattlerPartyIndexes + ldr r4, _080E1048 @ =gBattleAnimTarget + ldrb r0, [r4] + lsls r0, 1 + adds r0, r6 + ldrh r0, [r0] + movs r5, 0x64 + muls r0, r5 + ldr r7, _080E104C @ =gPlayerParty + adds r0, r7 + movs r1, 0 + bl GetMonData + mov r10, r0 + ldrb r0, [r4] + lsls r0, 1 + adds r0, r6 + ldrh r0, [r0] + muls r0, r5 + adds r0, r7 + movs r1, 0x1 + bl GetMonData + mov r9, r0 + ldr r0, _080E1050 @ =gUnknown_2024018 + ldr r0, [r0] + ldrb r2, [r4] + ldr r1, [r0] + lsls r0, r2, 2 + adds r1, r0, r1 + ldrh r0, [r1, 0x2] + cmp r0, 0 + bne _080E1074 + adds r0, r2, 0 + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _080E1054 + ldrb r0, [r4] + lsls r0, 1 + adds r0, r6 + ldrh r0, [r0] + muls r0, r5 + adds r0, r7 + b _080E1062 + .align 2, 0 +_080E1040: .4byte gBattleAnimAttacker +_080E1044: .4byte gBattlerPartyIndexes +_080E1048: .4byte gBattleAnimTarget +_080E104C: .4byte gPlayerParty +_080E1050: .4byte gUnknown_2024018 +_080E1054: + ldrb r0, [r4] + lsls r0, 1 + adds r0, r6 + ldrh r0, [r0] + muls r0, r5 + ldr r1, _080E1070 @ =gEnemyParty + adds r0, r1 +_080E1062: + movs r1, 0xB + bl GetMonData + lsls r0, 16 + lsrs r6, r0, 16 + b _080E1076 + .align 2, 0 +_080E1070: .4byte gEnemyParty +_080E1074: + ldrh r6, [r1, 0x2] +_080E1076: + movs r1, 0x14 + mov r8, r1 + b _080E1112 +_080E107C: + movs r2, 0x1 + str r2, [sp, 0x1C] + ldr r6, _080E10E0 @ =gBattlerPartyIndexes + ldr r4, _080E10E4 @ =gBattleAnimTarget + ldrb r0, [r4] + lsls r0, 1 + adds r0, r6 + ldrh r0, [r0] + movs r5, 0x64 + muls r0, r5 + ldr r7, _080E10E8 @ =gEnemyParty + adds r0, r7 + movs r1, 0 + bl GetMonData + mov r10, r0 + ldrb r0, [r4] + lsls r0, 1 + adds r0, r6 + ldrh r0, [r0] + muls r0, r5 + adds r0, r7 + movs r1, 0x1 + bl GetMonData + mov r9, r0 + ldr r0, _080E10EC @ =gUnknown_2024018 + ldr r0, [r0] + ldrb r2, [r4] + ldr r1, [r0] + lsls r0, r2, 2 + adds r1, r0, r1 + ldrh r0, [r1, 0x2] + cmp r0, 0 + bne _080E110C + adds r0, r2, 0 + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _080E10F4 + ldrb r0, [r4] + lsls r0, 1 + adds r0, r6 + ldrh r0, [r0] + muls r0, r5 + ldr r1, _080E10F0 @ =gPlayerParty + adds r0, r1 + b _080E1100 + .align 2, 0 +_080E10E0: .4byte gBattlerPartyIndexes +_080E10E4: .4byte gBattleAnimTarget +_080E10E8: .4byte gEnemyParty +_080E10EC: .4byte gUnknown_2024018 +_080E10F0: .4byte gPlayerParty +_080E10F4: + ldrb r0, [r4] + lsls r0, 1 + adds r0, r6 + ldrh r0, [r0] + muls r0, r5 + adds r0, r7 +_080E1100: + movs r1, 0xB + bl GetMonData + lsls r0, 16 + lsrs r6, r0, 16 + b _080E110E +_080E110C: + ldrh r6, [r1, 0x2] +_080E110E: + ldr r3, _080E11FC @ =0x0000ffec + mov r8, r3 +_080E1112: + ldr r0, _080E1200 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl sub_8076884 + lsls r0, 24 + lsrs r7, r0, 24 + ldr r5, _080E1200 @ =gBattleAnimAttacker + ldrb r0, [r5] + movs r1, 0 + bl sub_8074480 + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldrb r0, [r5] + movs r1, 0x1 + bl sub_8074480 + lsls r0, 24 + mov r2, r8 + lsls r1, r2, 16 + asrs r1, 16 + adds r4, r1 + lsls r4, 16 + asrs r4, 16 + lsrs r0, 24 + str r0, [sp] + movs r0, 0x5 + str r0, [sp, 0x4] + mov r3, r10 + str r3, [sp, 0x8] + mov r0, r9 + str r0, [sp, 0xC] + ldr r0, _080E1204 @ =gBattleAnimTarget + ldrb r0, [r0] + str r0, [sp, 0x10] + movs r0, 0x1 + str r0, [sp, 0x14] + adds r0, r6, 0 + ldr r1, [sp, 0x1C] + movs r2, 0 + adds r3, r4, 0 + bl sub_80768D0 + adds r6, r0, 0 + lsls r6, 24 + lsrs r6, 24 + ldr r0, _080E1208 @ =gSprites + lsls r5, r6, 4 + adds r5, r6 + lsls r5, 2 + adds r5, r0 + movs r0, 0x3 + ands r7, r0 + lsls r7, 2 + mov r8, r7 + ldrb r0, [r5, 0x5] + movs r4, 0xD + negs r4, r4 + adds r1, r4, 0 + ands r1, r0 + mov r2, r8 + orrs r1, r2 + strb r1, [r5, 0x5] + ldrb r2, [r5, 0x1] + adds r0, r4, 0 + ands r0, r2 + movs r2, 0x4 + orrs r0, r2 + strb r0, [r5, 0x1] + ldr r0, _080E120C @ =0x00007fff + lsrs r1, 4 + lsls r1, 4 + movs r3, 0x80 + lsls r3, 1 + adds r2, r3, 0 + orrs r1, r2 + movs r2, 0x20 + bl FillPalette + ldrb r0, [r5, 0x5] + ands r4, r0 + mov r0, r8 + orrs r4, r0 + strb r4, [r5, 0x5] + movs r1, 0xFD + lsls r1, 6 + movs r0, 0x50 + bl SetGpuReg + ldr r0, _080E1210 @ =gTasks + ldr r1, [sp, 0x18] + lsls r4, r1, 2 + adds r4, r1 + lsls r4, 3 + adds r4, r0 + ldrh r0, [r4, 0xA] + movs r1, 0x10 + subs r1, r0 + lsls r1, 8 + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + strh r6, [r4, 0x8] + ldr r0, _080E1214 @ =sub_80E1218 + str r0, [r4] + add sp, 0x20 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080E11FC: .4byte 0x0000ffec +_080E1200: .4byte gBattleAnimAttacker +_080E1204: .4byte gBattleAnimTarget +_080E1208: .4byte gSprites +_080E120C: .4byte 0x00007fff +_080E1210: .4byte gTasks +_080E1214: .4byte sub_80E1218 + thumb_func_end sub_80E0FB8 + + thumb_func_start sub_80E1218 +sub_80E1218: @ 80E1218 + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + ldr r2, _080E126C @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r4, r1, r2 + ldrh r0, [r4, 0x1C] + adds r1, r0, 0x1 + strh r1, [r4, 0x1C] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + ble _080E1266 + movs r0, 0 + strh r0, [r4, 0x1C] + ldrh r1, [r4, 0xA] + adds r1, 0x1 + strh r1, [r4, 0xA] + movs r0, 0x10 + subs r0, r1 + lsls r0, 8 + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + movs r1, 0xA + ldrsh r0, [r4, r1] + cmp r0, 0xA + bne _080E1266 + movs r0, 0x80 + lsls r0, 1 + strh r0, [r4, 0x1C] + strh r0, [r4, 0x1E] + ldr r0, _080E1270 @ =sub_80E1274 + str r0, [r4] +_080E1266: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080E126C: .4byte gTasks +_080E1270: .4byte sub_80E1274 + thumb_func_end sub_80E1218 + + thumb_func_start sub_80E1274 +sub_80E1274: @ 80E1274 + push {r4-r6,lr} + sub sp, 0x4 + lsls r0, 24 + lsrs r0, 24 + ldr r2, _080E12EC @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r5, r1, r2 + ldrb r2, [r5, 0x8] + ldrh r0, [r5, 0x1C] + subs r0, 0x10 + movs r4, 0 + strh r0, [r5, 0x1C] + ldrh r0, [r5, 0x1E] + adds r0, 0x80 + strh r0, [r5, 0x1E] + ldr r1, _080E12F0 @ =gSprites + lsls r0, r2, 4 + adds r0, r2 + lsls r0, 2 + adds r6, r0, r1 + ldrb r2, [r6, 0x1] + lsls r1, r2, 30 + lsrs r1, 30 + movs r0, 0x2 + orrs r1, r0 + subs r0, 0x6 + ands r0, r2 + orrs r0, r1 + strb r0, [r6, 0x1] + movs r0, 0x1C + ldrsh r2, [r5, r0] + movs r0, 0x1E + ldrsh r3, [r5, r0] + str r4, [sp] + adds r0, r6, 0 + movs r1, 0x1 + bl sub_8075A1C + ldrh r0, [r5, 0x20] + adds r0, 0x1 + strh r0, [r5, 0x20] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x9 + bne _080E12E2 + adds r0, r6, 0 + bl sub_8075AD8 + adds r0, r6, 0 + bl sub_8076B20 + ldr r0, _080E12F4 @ =sub_8074FA8 + str r0, [r5] +_080E12E2: + add sp, 0x4 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080E12EC: .4byte gTasks +_080E12F0: .4byte gSprites +_080E12F4: .4byte sub_8074FA8 + thumb_func_end sub_80E1274 + + thumb_func_start sub_80E12F8 +sub_80E12F8: @ 80E12F8 + push {r4-r7,lr} + sub sp, 0xC + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, _080E1318 @ =gTasks + adds r4, r1, r0 + ldr r0, _080E131C @ =gBattleAnimArgs + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _080E1324 + ldr r0, _080E1320 @ =gBattleAnimAttacker + b _080E1326 + .align 2, 0 +_080E1318: .4byte gTasks +_080E131C: .4byte gBattleAnimArgs +_080E1320: .4byte gBattleAnimAttacker +_080E1324: + ldr r0, _080E13A4 @ =gBattleAnimTarget +_080E1326: + ldrb r5, [r0] + movs r6, 0 + strh r6, [r4, 0x8] + strh r6, [r4, 0xA] + strh r6, [r4, 0xC] + movs r0, 0x10 + strh r0, [r4, 0xE] + strh r6, [r4, 0x10] + strh r5, [r4, 0x12] + movs r0, 0x20 + strh r0, [r4, 0x14] + strh r6, [r4, 0x16] + movs r0, 0x18 + strh r0, [r4, 0x18] + adds r0, r5, 0 + bl GetBattlerSide + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080E1358 + movs r1, 0x18 + ldrsh r0, [r4, r1] + negs r0, r0 + strh r0, [r4, 0x18] +_080E1358: + adds r0, r5, 0 + bl sub_807492C + lsls r0, 24 + lsrs r0, 24 + subs r0, 0x22 + strh r0, [r4, 0x22] + cmp r0, 0 + bge _080E136C + strh r6, [r4, 0x22] +_080E136C: + ldrh r0, [r4, 0x22] + adds r0, 0x42 + strh r0, [r4, 0x24] + ldr r0, _080E13A8 @ =gBattleAnimArgs + ldrb r0, [r0] + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x26] + adds r0, r5, 0 + bl sub_80768B0 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080E13BC + ldr r0, _080E13AC @ =0x04000014 + str r0, [sp] + ldr r1, _080E13B0 @ =0x00003f42 + movs r0, 0x50 + bl SetGpuReg + ldr r0, _080E13B4 @ =gBattle_BG1_X + ldrh r5, [r0] + ldr r0, _080E13B8 @ =gBattle_BG1_Y + b _080E13CE + .align 2, 0 +_080E13A4: .4byte gBattleAnimTarget +_080E13A8: .4byte gBattleAnimArgs +_080E13AC: .4byte 0x04000014 +_080E13B0: .4byte 0x00003f42 +_080E13B4: .4byte gBattle_BG1_X +_080E13B8: .4byte gBattle_BG1_Y +_080E13BC: + ldr r0, _080E1434 @ =0x04000018 + str r0, [sp] + ldr r1, _080E1438 @ =0x00003f44 + movs r0, 0x50 + bl SetGpuReg + ldr r0, _080E143C @ =gBattle_BG2_X + ldrh r5, [r0] + ldr r0, _080E1440 @ =gBattle_BG2_Y +_080E13CE: + ldrh r3, [r0] + movs r7, 0 + movs r2, 0 + ldr r6, _080E1444 @ =gScanlineEffectRegBuffers + movs r0, 0xF0 + lsls r0, 3 + adds r0, r6 + mov r12, r0 +_080E13DE: + lsls r2, 16 + asrs r2, 16 + lsls r1, r2, 1 + adds r0, r1, r6 + strh r5, [r0] + add r1, r12 + strh r5, [r1] + adds r0, r2, 0x1 + lsls r0, 1 + adds r1, r0, r6 + strh r3, [r1] + add r0, r12 + strh r3, [r0] + lsls r0, r7, 16 + movs r1, 0x80 + lsls r1, 9 + adds r0, r1 + adds r2, 0x2 + lsls r2, 16 + lsrs r2, 16 + lsrs r7, r0, 16 + asrs r0, 16 + cmp r0, 0x9F + ble _080E13DE + ldr r0, _080E1448 @ =0xa6600001 + str r0, [sp, 0x4] + mov r1, sp + movs r2, 0 + movs r0, 0x1 + strb r0, [r1, 0x8] + mov r0, sp + strb r2, [r0, 0x9] + ldr r0, [sp] + ldr r1, [sp, 0x4] + ldr r2, [sp, 0x8] + bl ScanlineEffect_SetParams + ldr r0, _080E144C @ =sub_80E1450 + str r0, [r4] + add sp, 0xC + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080E1434: .4byte 0x04000018 +_080E1438: .4byte 0x00003f44 +_080E143C: .4byte gBattle_BG2_X +_080E1440: .4byte gBattle_BG2_Y +_080E1444: .4byte gScanlineEffectRegBuffers +_080E1448: .4byte 0xa6600001 +_080E144C: .4byte sub_80E1450 + thumb_func_end sub_80E12F8 + + thumb_func_start sub_80E1450 +sub_80E1450: @ 80E1450 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x14 + lsls r0, 24 + lsrs r4, r0, 24 + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + ldr r1, _080E1484 @ =gTasks + adds r6, r0, r1 + ldrb r0, [r6, 0x12] + bl sub_80768B0 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080E1490 + ldr r0, _080E1488 @ =gBattle_BG1_X + ldrh r0, [r0] + str r0, [sp, 0x4] + ldr r0, _080E148C @ =gBattle_BG1_Y + b _080E1498 + .align 2, 0 +_080E1484: .4byte gTasks +_080E1488: .4byte gBattle_BG1_X +_080E148C: .4byte gBattle_BG1_Y +_080E1490: + ldr r0, _080E14B0 @ =gBattle_BG2_X + ldrh r0, [r0] + str r0, [sp, 0x4] + ldr r0, _080E14B4 @ =gBattle_BG2_Y +_080E1498: + ldrh r0, [r0] + str r0, [sp, 0x8] + movs r1, 0x8 + ldrsh r0, [r6, r1] + cmp r0, 0x1 + bne _080E14A6 + b _080E1684 +_080E14A6: + cmp r0, 0x1 + bgt _080E14B8 + cmp r0, 0 + beq _080E14C6 + b _080E16F4 + .align 2, 0 +_080E14B0: .4byte gBattle_BG2_X +_080E14B4: .4byte gBattle_BG2_Y +_080E14B8: + cmp r0, 0x2 + bne _080E14BE + b _080E16A4 +_080E14BE: + cmp r0, 0x3 + bne _080E14C4 + b _080E16EE +_080E14C4: + b _080E16F4 +_080E14C6: + movs r2, 0x24 + ldrsh r0, [r6, r2] + lsls r0, 17 + lsrs r5, r0, 16 + movs r3, 0 + str r3, [sp] + mov r9, r3 + movs r4, 0 + ldrh r0, [r6, 0xA] + adds r0, 0x2 + movs r1, 0xFF + ands r0, r1 + strh r0, [r6, 0xA] + ldrh r7, [r6, 0xA] + mov r8, r7 + movs r0, 0x14 + ldrsh r1, [r6, r0] + movs r0, 0xFC + lsls r0, 3 + bl __divsi3 + strh r0, [r6, 0x1A] + movs r1, 0x16 + ldrsh r0, [r6, r1] + lsls r0, 1 + movs r2, 0x1A + ldrsh r1, [r6, r2] + bl __divsi3 + negs r0, r0 + strh r0, [r6, 0x1C] + ldrh r0, [r6, 0x16] + strh r0, [r6, 0x1E] + lsls r0, 16 + asrs r0, 21 + lsls r0, 16 + lsrs r7, r0, 16 + strh r7, [r6, 0x20] + ldrh r2, [r6, 0x24] + lsls r3, r2, 16 + mov r12, r3 + asrs r1, r3, 16 + movs r3, 0x22 + ldrsh r0, [r6, r3] + cmp r1, r0 + ble _080E15E6 + ldr r0, _080E163C @ =gScanlineEffect + mov r10, r0 + ldr r1, [sp, 0x4] + lsls r0, r1, 16 + asrs r0, 16 + str r0, [sp, 0x10] + ldr r2, [sp, 0x8] + lsls r0, r2, 16 + asrs r0, 16 + str r0, [sp, 0xC] +_080E1536: + lsls r5, 16 + asrs r5, 16 + adds r2, r5, 0x1 + lsls r2, 1 + mov r3, r10 + ldrb r1, [r3, 0x14] + lsls r0, r1, 4 + subs r0, r1 + lsls r0, 7 + adds r2, r0 + ldr r0, _080E1640 @ =gScanlineEffectRegBuffers + adds r2, r0 + lsls r4, 16 + asrs r4, 16 + mov r1, r9 + lsls r0, r1, 16 + asrs r0, 16 + subs r0, r4, r0 + ldr r3, [sp, 0xC] + adds r0, r3, r0 + strh r0, [r2] + lsls r3, r5, 1 + mov r0, r10 + ldrb r1, [r0, 0x14] + lsls r0, r1, 4 + subs r0, r1 + lsls r0, 7 + adds r3, r0 + ldr r1, _080E1640 @ =gScanlineEffectRegBuffers + adds r3, r1 + lsls r1, r7, 16 + asrs r1, 16 + ldr r2, [sp, 0x10] + adds r1, r2, r1 + mov r7, r8 + lsls r2, r7, 16 + asrs r2, 16 + lsls r0, r2, 1 + ldr r7, _080E1644 @ =gSineTable + adds r0, r7 + ldrh r0, [r0] + lsls r0, 16 + asrs r0, 21 + adds r1, r0 + strh r1, [r3] + adds r2, 0xA + mov r8, r2 + movs r0, 0xFF + mov r1, r8 + ands r1, r0 + mov r8, r1 + ldrh r0, [r6, 0x1C] + ldrh r2, [r6, 0x1E] + adds r0, r2 + strh r0, [r6, 0x1E] + lsls r0, 16 + asrs r0, 21 + lsls r0, 16 + lsrs r7, r0, 16 + strh r7, [r6, 0x20] + adds r4, 0x1 + lsls r4, 16 + lsrs r4, 16 + subs r5, 0x2 + lsls r5, 16 + lsrs r5, 16 + ldr r3, [sp] + lsls r0, r3, 16 + asrs r0, 16 + ldrh r1, [r6, 0x14] + adds r0, r1 + lsls r0, 16 + lsrs r2, r0, 16 + str r2, [sp] + asrs r0, 21 + lsls r0, 16 + lsrs r0, 16 + mov r9, r0 + ldr r0, _080E1648 @ =0xffff0000 + add r0, r12 + lsrs r2, r0, 16 + lsls r3, r2, 16 + mov r12, r3 + asrs r1, r3, 16 + movs r3, 0x22 + ldrsh r0, [r6, r3] + cmp r1, r0 + bgt _080E1536 +_080E15E6: + lsls r1, r2, 17 + cmp r1, 0 + blt _080E1612 + ldr r4, _080E1640 @ =gScanlineEffectRegBuffers + ldr r7, [sp, 0x4] + lsls r0, r7, 16 + asrs r0, 16 + adds r3, r0, 0 + adds r3, 0xF0 + movs r0, 0xF0 + lsls r0, 3 + adds r5, r4, r0 +_080E15FE: + asrs r2, r1, 16 + lsls r1, r2, 1 + adds r0, r1, r4 + strh r3, [r0] + adds r1, r5 + strh r3, [r1] + subs r2, 0x2 + lsls r1, r2, 16 + cmp r1, 0 + bge _080E15FE +_080E1612: + ldrh r0, [r6, 0x14] + adds r0, 0x1 + strh r0, [r6, 0x14] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x3F + ble _080E167A + movs r0, 0x40 + strh r0, [r6, 0x14] + ldrh r0, [r6, 0xC] + adds r0, 0x1 + strh r0, [r6, 0xC] + movs r1, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080E164C + ldrh r0, [r6, 0xE] + subs r0, 0x1 + strh r0, [r6, 0xE] + b _080E1652 + .align 2, 0 +_080E163C: .4byte gScanlineEffect +_080E1640: .4byte gScanlineEffectRegBuffers +_080E1644: .4byte gSineTable +_080E1648: .4byte 0xffff0000 +_080E164C: + ldrh r0, [r6, 0x10] + adds r0, 0x1 + strh r0, [r6, 0x10] +_080E1652: + ldrh r1, [r6, 0x10] + lsls r1, 8 + ldrh r0, [r6, 0xE] + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + movs r2, 0xE + ldrsh r1, [r6, r2] + cmp r1, 0 + bne _080E16F4 + movs r3, 0x10 + ldrsh r0, [r6, r3] + cmp r0, 0x10 + bne _080E16F4 + strh r1, [r6, 0xC] + strh r1, [r6, 0xE] + b _080E16E6 +_080E167A: + ldrh r0, [r6, 0x18] + ldrh r7, [r6, 0x16] + adds r0, r7 + strh r0, [r6, 0x16] + b _080E16F4 +_080E1684: + ldrh r0, [r6, 0xC] + adds r0, 0x1 + strh r0, [r6, 0xC] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xC + ble _080E16F4 + ldr r1, _080E16A0 @ =gScanlineEffect + movs r0, 0x3 + strb r0, [r1, 0x15] + movs r0, 0 + strh r0, [r6, 0xC] + b _080E16E6 + .align 2, 0 +_080E16A0: .4byte gScanlineEffect +_080E16A4: + ldrh r0, [r6, 0xC] + adds r0, 0x1 + strh r0, [r6, 0xC] + movs r1, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080E16BA + ldrh r0, [r6, 0xE] + adds r0, 0x1 + strh r0, [r6, 0xE] + b _080E16C0 +_080E16BA: + ldrh r0, [r6, 0x10] + subs r0, 0x1 + strh r0, [r6, 0x10] +_080E16C0: + ldrh r1, [r6, 0x10] + lsls r1, 8 + ldrh r0, [r6, 0xE] + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + movs r1, 0xE + ldrsh r0, [r6, r1] + cmp r0, 0x10 + bne _080E16F4 + movs r2, 0x10 + ldrsh r0, [r6, r2] + cmp r0, 0 + bne _080E16F4 + strh r0, [r6, 0xC] + strh r0, [r6, 0xE] +_080E16E6: + ldrh r0, [r6, 0x8] + adds r0, 0x1 + strh r0, [r6, 0x8] + b _080E16F4 +_080E16EE: + adds r0, r4, 0 + bl DestroyAnimVisualTask +_080E16F4: + add sp, 0x14 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80E1450 + + thumb_func_start sub_80E1704 +sub_80E1704: @ 80E1704 + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r4, r0, 2 + adds r4, r0 + lsls r4, 3 + ldr r0, _080E173C @ =gTasks + adds r4, r0 + movs r0, 0 + strh r0, [r4, 0x8] + ldr r0, _080E1740 @ =gBattleAnimArgs + ldrb r0, [r0] + bl GetAnimBankSpriteId + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + strh r1, [r4, 0x26] + ldr r2, _080E1744 @ =gUnknown_83FF3D0 + adds r0, r4, 0 + bl sub_80762D0 + ldr r0, _080E1748 @ =sub_80E174C + str r0, [r4] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080E173C: .4byte gTasks +_080E1740: .4byte gBattleAnimArgs +_080E1744: .4byte gUnknown_83FF3D0 +_080E1748: .4byte sub_80E174C + thumb_func_end sub_80E1704 + + thumb_func_start sub_80E174C +sub_80E174C: @ 80E174C + push {r4-r6,lr} + lsls r0, 24 + lsrs r4, r0, 24 + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + ldr r2, _080E17A4 @ =gTasks + adds r3, r0, r2 + ldrh r0, [r3, 0x8] + adds r1, r0, 0x1 + movs r5, 0 + strh r1, [r3, 0x8] + subs r0, 0x14 + lsls r0, 16 + lsrs r0, 16 + adds r6, r2, 0 + cmp r0, 0x16 + bhi _080E17B0 + ldrh r0, [r3, 0xA] + adds r0, 0x1 + strh r0, [r3, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + ble _080E17C0 + strh r5, [r3, 0xA] + ldrh r0, [r3, 0xC] + adds r0, 0x1 + strh r0, [r3, 0xC] + movs r5, 0x1 + ands r0, r5 + cmp r0, 0 + bne _080E17B0 + ldr r2, _080E17A8 @ =gSprites + movs r0, 0x26 + ldrsh r1, [r3, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldr r1, _080E17AC @ =0x0000ffff + strh r1, [r0, 0x24] + b _080E17C0 + .align 2, 0 +_080E17A4: .4byte gTasks +_080E17A8: .4byte gSprites +_080E17AC: .4byte 0x0000ffff +_080E17B0: + ldr r2, _080E17E0 @ =gSprites + movs r0, 0x26 + ldrsh r1, [r3, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + strh r5, [r0, 0x24] +_080E17C0: + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r6 + bl sub_8076308 + lsls r0, 24 + cmp r0, 0 + bne _080E17D8 + adds r0, r4, 0 + bl DestroyAnimVisualTask +_080E17D8: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080E17E0: .4byte gSprites + thumb_func_end sub_80E174C + + thumb_func_start sub_80E17E4 +sub_80E17E4: @ 80E17E4 + push {r4-r6,lr} + mov r6, r8 + push {r6} + mov r8, r0 + adds r5, r2, 0 + adds r0, r3, 0 + ldr r4, [sp, 0x14] + ldr r6, [sp, 0x18] + lsls r1, 16 + lsrs r1, 16 + lsls r5, 16 + lsrs r5, 16 + lsls r4, 16 + lsrs r4, 16 + lsls r6, 16 + lsrs r6, 16 + mov r2, r8 + strh r1, [r2, 0x20] + strh r5, [r2, 0x22] + lsls r1, 16 + asrs r1, 16 + lsls r2, r1, 4 + mov r3, r8 + strh r2, [r3, 0x36] + lsls r5, 16 + asrs r5, 16 + lsls r2, r5, 4 + strh r2, [r3, 0x38] + lsls r0, 16 + asrs r0, 16 + subs r0, r1 + lsls r0, 4 + adds r1, r6, 0 + bl __divsi3 + mov r1, r8 + strh r0, [r1, 0x3A] + lsls r4, 16 + asrs r4, 16 + subs r4, r5 + lsls r4, 4 + adds r0, r4, 0 + adds r1, r6, 0 + bl __divsi3 + mov r2, r8 + strh r0, [r2, 0x3C] + pop {r3} + mov r8, r3 + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_80E17E4 + + thumb_func_start sub_80E184C +sub_80E184C: @ 80E184C + ldrh r1, [r0, 0x3A] + ldrh r2, [r0, 0x36] + adds r1, r2 + strh r1, [r0, 0x36] + ldrh r2, [r0, 0x3C] + ldrh r3, [r0, 0x38] + adds r2, r3 + strh r2, [r0, 0x38] + lsls r1, 16 + asrs r1, 20 + strh r1, [r0, 0x20] + lsls r2, 16 + asrs r2, 20 + strh r2, [r0, 0x22] + bx lr + thumb_func_end sub_80E184C + + thumb_func_start sub_80E186C +sub_80E186C: @ 80E186C + push {r4-r6,lr} + sub sp, 0x8 + adds r4, r0, 0 + ldrh r6, [r4, 0x20] + ldrh r5, [r4, 0x22] + bl sub_8074FCC + ldr r0, _080E18B4 @ =gBattleAnimArgs + ldrb r1, [r0] + adds r0, r4, 0 + bl StartSpriteAffineAnim + movs r0, 0x20 + ldrsh r1, [r4, r0] + movs r0, 0x22 + ldrsh r2, [r4, r0] + lsls r6, 16 + asrs r6, 16 + lsls r5, 16 + asrs r5, 16 + str r5, [sp] + movs r0, 0x40 + str r0, [sp, 0x4] + adds r0, r4, 0 + adds r3, r6, 0 + bl sub_80E17E4 + movs r0, 0 + strh r0, [r4, 0x2E] + ldr r0, _080E18B8 @ =sub_80E18BC + str r0, [r4, 0x1C] + add sp, 0x8 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080E18B4: .4byte gBattleAnimArgs +_080E18B8: .4byte sub_80E18BC + thumb_func_end sub_80E186C + + thumb_func_start sub_80E18BC +sub_80E18BC: @ 80E18BC + push {r4,r5,lr} + adds r5, r0, 0 + ldrh r0, [r5, 0x2E] + adds r0, 0x1 + strh r0, [r5, 0x2E] + movs r0, 0x2E + ldrsh r4, [r5, r0] + lsls r4, 3 + movs r0, 0xFF + ands r4, r0 + adds r0, r5, 0 + bl sub_80E184C + adds r0, r4, 0 + movs r1, 0x8 + bl Sin + strh r0, [r5, 0x26] + movs r1, 0x2E + ldrsh r0, [r5, r1] + cmp r0, 0x3A + ble _080E1922 + ldrh r0, [r5, 0x30] + adds r0, 0x1 + strh r0, [r5, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + ble _080E1922 + movs r0, 0 + strh r0, [r5, 0x30] + ldrh r1, [r5, 0x32] + adds r1, 0x1 + strh r1, [r5, 0x32] + movs r0, 0x1 + ands r1, r0 + adds r3, r5, 0 + adds r3, 0x3E + lsls r1, 2 + ldrb r2, [r3] + subs r0, 0x6 + ands r0, r2 + orrs r0, r1 + strb r0, [r3] + movs r1, 0x32 + ldrsh r0, [r5, r1] + cmp r0, 0x3 + ble _080E1922 + adds r0, r5, 0 + bl move_anim_8074EE0 +_080E1922: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80E18BC + + thumb_func_start sub_80E1928 +sub_80E1928: @ 80E1928 + push {r4-r6,lr} + adds r5, r0, 0 + ldr r6, _080E1980 @ =gBattleAnimArgs + ldrh r0, [r6, 0x6] + strh r0, [r5, 0x2E] + ldrb r1, [r6] + adds r0, r5, 0 + bl StartSpriteAffineAnim + ldr r0, _080E1984 @ =gBattleAnimTarget + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080E194E + ldrh r0, [r6, 0x2] + negs r0, r0 + strh r0, [r6, 0x2] +_080E194E: + ldr r4, _080E1988 @ =gBattleAnimAttacker + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r1, [r6, 0x2] + adds r0, r1 + strh r0, [r5, 0x20] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r6, [r6, 0x4] + adds r0, r6 + strh r0, [r5, 0x22] + ldr r0, _080E198C @ =sub_80B1D3C + str r0, [r5, 0x1C] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080E1980: .4byte gBattleAnimArgs +_080E1984: .4byte gBattleAnimTarget +_080E1988: .4byte gBattleAnimAttacker +_080E198C: .4byte sub_80B1D3C + thumb_func_end sub_80E1928 + + thumb_func_start sub_80E1990 +sub_80E1990: @ 80E1990 + push {r4-r7,lr} + mov r7, r8 + push {r7} + lsls r0, 24 + lsrs r5, r0, 24 + movs r7, 0 + ldr r2, _080E19E0 @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r3, r0, r2 + ldrh r0, [r3, 0x8] + subs r0, 0x1 + strh r0, [r3, 0x8] + movs r1, 0x14 + ldrsh r0, [r3, r1] + movs r1, 0x80 + lsls r1, 8 + ands r0, r1 + mov r8, r2 + cmp r0, 0 + beq _080E1A12 + ldrh r0, [r3, 0xA] + subs r0, 0x1 + strh r0, [r3, 0xA] + lsls r0, 16 + asrs r0, 16 + movs r1, 0x1 + negs r1, r1 + cmp r0, r1 + bne _080E1A12 + movs r2, 0x1A + ldrsh r0, [r3, r2] + cmp r0, 0 + bne _080E19E4 + ldrh r0, [r3, 0x10] + strh r0, [r3, 0x1A] + negs r0, r0 + strh r0, [r3, 0x10] + b _080E19E6 + .align 2, 0 +_080E19E0: .4byte gTasks +_080E19E4: + strh r7, [r3, 0x1A] +_080E19E6: + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + mov r2, r8 + adds r1, r0, r2 + movs r2, 0x1C + ldrsh r0, [r1, r2] + cmp r0, 0 + bne _080E1A02 + ldrh r0, [r1, 0x12] + strh r0, [r1, 0x1C] + negs r0, r0 + strh r0, [r1, 0x12] + b _080E1A06 +_080E1A02: + movs r0, 0 + strh r0, [r1, 0x1C] +_080E1A06: + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + add r0, r8 + ldrh r1, [r0, 0x22] + strh r1, [r0, 0xA] +_080E1A12: + lsls r2, r5, 2 + adds r0, r2, r5 + lsls r0, 3 + mov r1, r8 + adds r4, r0, r1 + ldrh r6, [r4, 0x16] + ldrh r7, [r4, 0x18] + movs r1, 0xC + ldrsh r0, [r4, r1] + movs r1, 0x80 + lsls r1, 8 + ands r0, r1 + mov r12, r2 + cmp r0, 0 + beq _080E1A50 + ldr r3, _080E1A4C @ =gSprites + movs r2, 0x26 + ldrsh r0, [r4, r2] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r3 + lsrs r2, r6, 8 + ldrh r0, [r4, 0x1A] + subs r0, r2 + strh r0, [r1, 0x24] + adds r2, r3, 0 + b _080E1A66 + .align 2, 0 +_080E1A4C: .4byte gSprites +_080E1A50: + ldr r2, _080E1A94 @ =gSprites + movs r0, 0x26 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + lsrs r1, r6, 8 + ldrh r4, [r4, 0x1A] + adds r1, r4 + strh r1, [r0, 0x24] +_080E1A66: + mov r1, r12 + adds r0, r1, r5 + lsls r0, 3 + mov r1, r8 + adds r4, r0, r1 + movs r1, 0xE + ldrsh r0, [r4, r1] + movs r1, 0x80 + lsls r1, 8 + ands r0, r1 + cmp r0, 0 + beq _080E1A98 + movs r1, 0x26 + ldrsh r0, [r4, r1] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r2 + lsrs r2, r7, 8 + ldrh r0, [r4, 0x1C] + subs r0, r2 + b _080E1AAA + .align 2, 0 +_080E1A94: .4byte gSprites +_080E1A98: + movs r1, 0x26 + ldrsh r0, [r4, r1] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r2 + lsrs r0, r7, 8 + ldrh r4, [r4, 0x1C] + adds r0, r4 +_080E1AAA: + strh r0, [r1, 0x26] + mov r2, r12 + adds r0, r2, r5 + lsls r0, 3 + add r0, r8 + movs r1, 0x8 + ldrsh r0, [r0, r1] + cmp r0, 0 + bgt _080E1ACA + adds r0, r5, 0 + bl DestroyTask + ldr r1, _080E1AD4 @ =gUnknown_2037EE2 + ldrb r0, [r1] + subs r0, 0x1 + strb r0, [r1] +_080E1ACA: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080E1AD4: .4byte gUnknown_2037EE2 + thumb_func_end sub_80E1990 + + thumb_func_start sub_80E1AD8 +sub_80E1AD8: @ 80E1AD8 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + lsls r0, 24 + lsrs r6, r0, 24 + movs r7, 0 + ldr r2, _080E1B2C @ =gTasks + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + adds r3, r0, r2 + ldrh r0, [r3, 0x8] + subs r0, 0x1 + strh r0, [r3, 0x8] + movs r1, 0x14 + ldrsh r0, [r3, r1] + movs r1, 0x80 + lsls r1, 8 + ands r0, r1 + mov r8, r2 + cmp r0, 0 + beq _080E1B5E + ldrh r0, [r3, 0xA] + subs r0, 0x1 + strh r0, [r3, 0xA] + lsls r0, 16 + asrs r0, 16 + movs r1, 0x1 + negs r1, r1 + cmp r0, r1 + bne _080E1B5E + movs r2, 0x1A + ldrsh r0, [r3, r2] + cmp r0, 0 + bne _080E1B30 + ldrh r0, [r3, 0x10] + strh r0, [r3, 0x1A] + negs r0, r0 + strh r0, [r3, 0x10] + b _080E1B32 + .align 2, 0 +_080E1B2C: .4byte gTasks +_080E1B30: + strh r7, [r3, 0x1A] +_080E1B32: + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + mov r2, r8 + adds r1, r0, r2 + movs r2, 0x1C + ldrsh r0, [r1, r2] + cmp r0, 0 + bne _080E1B4E + ldrh r0, [r1, 0x12] + strh r0, [r1, 0x1C] + negs r0, r0 + strh r0, [r1, 0x12] + b _080E1B52 +_080E1B4E: + movs r0, 0 + strh r0, [r1, 0x1C] +_080E1B52: + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + add r0, r8 + ldrh r1, [r0, 0x22] + strh r1, [r0, 0xA] +_080E1B5E: + lsls r3, r6, 2 + adds r0, r3, r6 + lsls r0, 3 + mov r1, r8 + adds r4, r0, r1 + ldrh r2, [r4, 0xC] + ldr r1, _080E1BB0 @ =0x00007fff + adds r0, r1, 0 + ands r0, r2 + ldrh r2, [r4, 0x16] + adds r0, r2 + lsls r5, r0, 16 + lsrs r0, r5, 16 + mov r9, r0 + ldrh r0, [r4, 0xE] + ands r1, r0 + ldrh r2, [r4, 0x18] + adds r1, r2 + lsls r1, 16 + lsrs r7, r1, 16 + movs r1, 0xC + ldrsh r0, [r4, r1] + movs r1, 0x80 + lsls r1, 8 + ands r0, r1 + mov r12, r3 + cmp r0, 0 + beq _080E1BB8 + ldr r3, _080E1BB4 @ =gSprites + movs r2, 0x26 + ldrsh r0, [r4, r2] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r3 + lsrs r2, r5, 24 + ldrh r0, [r4, 0x1A] + subs r0, r2 + strh r0, [r1, 0x24] + adds r2, r3, 0 + b _080E1BCE + .align 2, 0 +_080E1BB0: .4byte 0x00007fff +_080E1BB4: .4byte gSprites +_080E1BB8: + ldr r2, _080E1BFC @ =gSprites + movs r0, 0x26 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + lsrs r1, r5, 24 + ldrh r4, [r4, 0x1A] + adds r1, r4 + strh r1, [r0, 0x24] +_080E1BCE: + mov r1, r12 + adds r0, r1, r6 + lsls r0, 3 + mov r1, r8 + adds r4, r0, r1 + movs r1, 0xE + ldrsh r0, [r4, r1] + movs r1, 0x80 + lsls r1, 8 + ands r0, r1 + cmp r0, 0 + beq _080E1C00 + movs r1, 0x26 + ldrsh r0, [r4, r1] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r2 + lsrs r2, r7, 8 + ldrh r0, [r4, 0x1C] + subs r0, r2 + b _080E1C12 + .align 2, 0 +_080E1BFC: .4byte gSprites +_080E1C00: + movs r1, 0x26 + ldrsh r0, [r4, r1] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r2 + lsrs r0, r7, 8 + ldrh r4, [r4, 0x1C] + adds r0, r4 +_080E1C12: + strh r0, [r1, 0x26] + mov r2, r12 + adds r0, r2, r6 + lsls r0, 3 + mov r1, r8 + adds r2, r0, r1 + mov r0, r9 + strh r0, [r2, 0x16] + strh r7, [r2, 0x18] + movs r1, 0x8 + ldrsh r0, [r2, r1] + cmp r0, 0 + bgt _080E1C38 + movs r0, 0x1E + strh r0, [r2, 0x8] + movs r0, 0 + strh r0, [r2, 0x22] + ldr r0, _080E1C44 @ =sub_80E1990 + str r0, [r2] +_080E1C38: + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080E1C44: .4byte sub_80E1990 + thumb_func_end sub_80E1AD8 + + thumb_func_start sub_80E1C48 +sub_80E1C48: @ 80E1C48 + push {r4-r7,lr} + mov r7, r8 + push {r7} + lsls r0, 24 + lsrs r6, r0, 24 + ldr r0, _080E1CA8 @ =gTasks + mov r8, r0 + lsls r7, r6, 2 + adds r0, r7, r6 + lsls r0, 3 + mov r1, r8 + adds r4, r0, r1 + ldr r1, _080E1CAC @ =gBattlerSpriteIds + ldr r2, _080E1CB0 @ =gBattleAnimAttacker + ldrb r0, [r2] + adds r0, r1 + ldrb r0, [r0] + strh r0, [r4, 0x26] + ldr r5, _080E1CB4 @ =gBattleAnimArgs + ldrh r0, [r5] + strh r0, [r4, 0x24] + ldrh r0, [r5] + strh r0, [r4, 0x8] + ldrh r0, [r5, 0xC] + strh r0, [r4, 0x22] + movs r3, 0x6 + ldrsh r0, [r5, r3] + cmp r0, 0 + beq _080E1C8C + ldrh r0, [r4, 0x14] + ldr r3, _080E1CB8 @ =0xffff8000 + adds r1, r3, 0 + orrs r0, r1 + strh r0, [r4, 0x14] +_080E1C8C: + ldrb r0, [r2] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080E1CBC + ldrh r0, [r5, 0x2] + strh r0, [r4, 0xC] + ldrh r0, [r5, 0x4] + strh r0, [r4, 0xE] + mov r3, r8 + adds r4, r7, 0 + b _080E1D2C + .align 2, 0 +_080E1CA8: .4byte gTasks +_080E1CAC: .4byte gBattlerSpriteIds +_080E1CB0: .4byte gBattleAnimAttacker +_080E1CB4: .4byte gBattleAnimArgs +_080E1CB8: .4byte 0xffff8000 +_080E1CBC: + movs r7, 0x2 + ldrsh r0, [r5, r7] + movs r1, 0x80 + lsls r1, 8 + ands r0, r1 + cmp r0, 0 + beq _080E1CD8 + ldrh r1, [r5, 0x2] + ldr r0, _080E1CD4 @ =0x00007fff + ands r0, r1 + b _080E1CE0 + .align 2, 0 +_080E1CD4: .4byte 0x00007fff +_080E1CD8: + ldrh r0, [r5, 0x2] + ldr r2, _080E1D08 @ =0xffff8000 + adds r1, r2, 0 + orrs r0, r1 +_080E1CE0: + strh r0, [r4, 0xC] + ldr r0, _080E1D0C @ =gBattleAnimArgs + movs r3, 0x4 + ldrsh r1, [r0, r3] + movs r2, 0x80 + lsls r2, 8 + ands r1, r2 + adds r5, r0, 0 + cmp r1, 0 + beq _080E1D18 + ldr r3, _080E1D10 @ =gTasks + lsls r4, r6, 2 + adds r1, r4, r6 + lsls r1, 3 + adds r1, r3 + ldrh r2, [r5, 0x4] + ldr r0, _080E1D14 @ =0x00007fff + ands r0, r2 + b _080E1D2A + .align 2, 0 +_080E1D08: .4byte 0xffff8000 +_080E1D0C: .4byte gBattleAnimArgs +_080E1D10: .4byte gTasks +_080E1D14: .4byte 0x00007fff +_080E1D18: + ldr r3, _080E1D50 @ =gTasks + lsls r4, r6, 2 + adds r1, r4, r6 + lsls r1, 3 + adds r1, r3 + ldrh r2, [r5, 0x4] + ldr r7, _080E1D54 @ =0xffff8000 + adds r0, r7, 0 + orrs r0, r2 +_080E1D2A: + strh r0, [r1, 0xE] +_080E1D2C: + adds r0, r4, r6 + lsls r0, 3 + adds r0, r3 + movs r1, 0 + strh r1, [r0, 0x18] + strh r1, [r0, 0x16] + ldrh r1, [r5, 0x8] + strh r1, [r0, 0x10] + ldrh r1, [r5, 0xA] + strh r1, [r0, 0x12] + ldr r1, _080E1D58 @ =sub_80E1AD8 + str r1, [r0] + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080E1D50: .4byte gTasks +_080E1D54: .4byte 0xffff8000 +_080E1D58: .4byte sub_80E1AD8 + thumb_func_end sub_80E1C48 + + thumb_func_start sub_80E1D5C +sub_80E1D5C: @ 80E1D5C + push {r4,r5,lr} + lsls r0, 24 + lsrs r2, r0, 24 + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + ldr r1, _080E1D94 @ =gTasks + adds r5, r0, r1 + ldr r4, _080E1D98 @ =gBattleAnimArgs + movs r1, 0x2 + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080E1D7C + adds r0, r2, 0 + bl DestroyAnimVisualTask +_080E1D7C: + movs r0, 0 + strh r0, [r5, 0x8] + strh r0, [r5, 0xA] + strh r0, [r5, 0xC] + ldrh r0, [r4, 0x2] + strh r0, [r5, 0xE] + movs r1, 0 + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080E1DA0 + ldr r0, _080E1D9C @ =gBattleAnimAttacker + b _080E1DA2 + .align 2, 0 +_080E1D94: .4byte gTasks +_080E1D98: .4byte gBattleAnimArgs +_080E1D9C: .4byte gBattleAnimAttacker +_080E1DA0: + ldr r0, _080E1DF0 @ =gBattleAnimTarget +_080E1DA2: + ldrb r4, [r0] + adds r0, r4, 0 + movs r1, 0 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x10] + adds r0, r4, 0 + movs r1, 0x1 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x12] + adds r0, r4, 0 + bl sub_807685C + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x14] + ldr r0, _080E1DF4 @ =gBattleAnimArgs + ldrb r0, [r0] + bl GetAnimBankSpriteId + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + strh r1, [r5, 0x26] + ldr r2, _080E1DF8 @ =gUnknown_83FF52C + adds r0, r5, 0 + bl sub_80762D0 + ldr r0, _080E1DFC @ =sub_80E1E00 + str r0, [r5] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080E1DF0: .4byte gBattleAnimTarget +_080E1DF4: .4byte gBattleAnimArgs +_080E1DF8: .4byte gUnknown_83FF52C +_080E1DFC: .4byte sub_80E1E00 + thumb_func_end sub_80E1D5C + + thumb_func_start sub_80E1E00 +sub_80E1E00: @ 80E1E00 + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + ldr r1, _080E1E20 @ =gTasks + adds r4, r0, r1 + movs r1, 0x8 + ldrsh r0, [r4, r1] + cmp r0, 0 + beq _080E1E24 + cmp r0, 0x1 + beq _080E1E84 + b _080E1E92 + .align 2, 0 +_080E1E20: .4byte gTasks +_080E1E24: + ldrh r0, [r4, 0xA] + adds r0, 0x1 + strh r0, [r4, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x6 + bne _080E1E3A + adds r0, r5, 0 + movs r1, 0x1 + bl sub_80E1E98 +_080E1E3A: + movs r1, 0xA + ldrsh r0, [r4, r1] + cmp r0, 0x12 + bne _080E1E4A + adds r0, r5, 0 + movs r1, 0 + bl sub_80E1E98 +_080E1E4A: + adds r0, r4, 0 + bl sub_8076308 + lsls r0, 24 + lsrs r1, r0, 24 + cmp r1, 0 + bne _080E1E92 + ldrh r0, [r4, 0xE] + subs r0, 0x1 + strh r0, [r4, 0xE] + lsls r0, 16 + cmp r0, 0 + bne _080E1E6C + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] + b _080E1E92 +_080E1E6C: + strh r1, [r4, 0xA] + ldrh r1, [r4, 0x26] + lsls r1, 24 + lsrs r1, 24 + ldr r2, _080E1E80 @ =gUnknown_83FF52C + adds r0, r4, 0 + bl sub_80762D0 + b _080E1E92 + .align 2, 0 +_080E1E80: .4byte gUnknown_83FF52C +_080E1E84: + movs r1, 0xC + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080E1E92 + adds r0, r5, 0 + bl DestroyAnimVisualTask +_080E1E92: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80E1E00 + + thumb_func_start sub_80E1E98 +sub_80E1E98: @ 80E1E98 + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0xC + lsls r0, 24 + lsrs r6, r0, 24 + lsls r1, 24 + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + ldr r2, _080E1EBC @ =gTasks + adds r4, r0, r2 + cmp r1, 0 + bne _080E1EC0 + movs r1, 0x12 + movs r3, 0xEC + b _080E1EC4 + .align 2, 0 +_080E1EBC: .4byte gTasks +_080E1EC0: + movs r1, 0x1E + movs r3, 0x14 +_080E1EC4: + mov r2, sp + ldrh r0, [r4, 0x10] + subs r0, r1 + strh r0, [r2] + ldrh r0, [r4, 0x10] + subs r0, r1 + subs r0, 0x4 + strh r0, [r2, 0x2] + ldrh r0, [r4, 0x10] + adds r0, r1 + strh r0, [r2, 0x4] + ldrh r0, [r4, 0x10] + adds r0, r1 + adds r0, 0x4 + strh r0, [r2, 0x6] + add r2, sp, 0x8 + lsls r1, r3, 24 + asrs r1, 24 + ldrh r0, [r4, 0x12] + adds r0, r1 + strh r0, [r2] + ldrh r0, [r4, 0x12] + adds r0, r1 + adds r0, 0x6 + strh r0, [r2, 0x2] + movs r5, 0 + mov r8, r2 + ldr r7, _080E1F68 @ =gSprites +_080E1EFC: + lsls r0, r5, 1 + add r0, sp + movs r2, 0 + ldrsh r1, [r0, r2] + movs r0, 0x1 + ands r0, r5 + lsls r0, 1 + add r0, r8 + movs r3, 0 + ldrsh r2, [r0, r3] + ldrb r3, [r4, 0x14] + subs r3, 0x5 + lsls r3, 24 + lsrs r3, 24 + ldr r0, _080E1F6C @ =gUnknown_83FF54C + bl CreateSprite + lsls r0, 24 + lsrs r1, r0, 24 + cmp r1, 0x40 + beq _080E1F50 + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r1, r0, r7 + movs r0, 0 + strh r0, [r1, 0x2E] + movs r0, 0x2 + cmp r5, 0x1 + bhi _080E1F3E + movs r2, 0x2 + negs r2, r2 + adds r0, r2, 0 +_080E1F3E: + strh r0, [r1, 0x30] + ldr r0, _080E1F70 @ =0x0000ffff + strh r0, [r1, 0x32] + strh r6, [r1, 0x34] + movs r0, 0x2 + strh r0, [r1, 0x36] + ldrh r0, [r4, 0xC] + adds r0, 0x1 + strh r0, [r4, 0xC] +_080E1F50: + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0x3 + bls _080E1EFC + add sp, 0xC + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080E1F68: .4byte gSprites +_080E1F6C: .4byte gUnknown_83FF54C +_080E1F70: .4byte 0x0000ffff + thumb_func_end sub_80E1E98 + + thumb_func_start sub_80E1F74 +sub_80E1F74: @ 80E1F74 + push {r4,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x30] + ldrh r1, [r4, 0x20] + adds r0, r1 + strh r0, [r4, 0x20] + ldrh r0, [r4, 0x32] + ldrh r1, [r4, 0x22] + adds r0, r1 + strh r0, [r4, 0x22] + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x6 + ble _080E1FBA + ldr r3, _080E1FC0 @ =gTasks + movs r0, 0x36 + ldrsh r1, [r4, r0] + lsls r1, 1 + movs r0, 0x34 + ldrsh r2, [r4, r0] + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + adds r1, r0 + adds r3, 0x8 + adds r1, r3 + ldrh r0, [r1] + subs r0, 0x1 + strh r0, [r1] + adds r0, r4, 0 + bl DestroySprite +_080E1FBA: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080E1FC0: .4byte gTasks + thumb_func_end sub_80E1F74 + + thumb_func_start sub_80E1FC4 +sub_80E1FC4: @ 80E1FC4 + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + ldr r1, _080E200C @ =gTasks + lsls r4, r0, 2 + adds r4, r0 + lsls r4, 3 + adds r4, r1 + movs r0, 0 + strh r0, [r4, 0x8] + ldr r1, _080E2010 @ =gBattleAnimArgs + ldrh r0, [r1, 0x2] + strh r0, [r4, 0xA] + ldrb r0, [r1] + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r0, 24 + ldr r2, _080E2014 @ =gSprites + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r2 + ldrb r0, [r1, 0x5] + lsrs r0, 4 + lsls r0, 4 + movs r2, 0x80 + lsls r2, 1 + adds r1, r2, 0 + adds r0, r1 + strh r0, [r4, 0xC] + ldr r0, _080E2018 @ =sub_80E201C + str r0, [r4] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080E200C: .4byte gTasks +_080E2010: .4byte gBattleAnimArgs +_080E2014: .4byte gSprites +_080E2018: .4byte sub_80E201C + thumb_func_end sub_80E1FC4 + + thumb_func_start sub_80E201C +sub_80E201C: @ 80E201C + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + ldr r1, _080E2064 @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r4, r0, r1 + movs r1, 0xA + ldrsh r0, [r4, r1] + cmp r0, 0 + beq _080E206C + ldrh r0, [r4, 0xC] + ldr r2, _080E2068 @ =gUnknown_83FF564 + movs r3, 0x8 + ldrsh r1, [r4, r3] + lsls r1, 1 + adds r1, r2 + ldrh r3, [r1] + movs r1, 0x10 + movs r2, 0x8 + bl BlendPalette + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x17 + ble _080E205C + movs r0, 0 + strh r0, [r4, 0x8] +_080E205C: + ldrh r0, [r4, 0xA] + subs r0, 0x1 + strh r0, [r4, 0xA] + b _080E207E + .align 2, 0 +_080E2064: .4byte gTasks +_080E2068: .4byte gUnknown_83FF564 +_080E206C: + ldrh r0, [r4, 0xC] + movs r1, 0x10 + movs r2, 0 + movs r3, 0 + bl BlendPalette + adds r0, r5, 0 + bl DestroyAnimVisualTask +_080E207E: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80E201C + + thumb_func_start sub_80E2084 +sub_80E2084: @ 80E2084 + push {lr} + sub sp, 0x1C + lsls r0, 24 + lsrs r0, 24 + movs r2, 0xD0 + lsls r2, 1 + ldr r1, _080E20C0 @ =gBattleAnimAttacker + ldrb r3, [r1] + ldr r1, _080E20C4 @ =gBattleAnimArgs + ldrb r1, [r1] + str r1, [sp] + movs r1, 0xA + str r1, [sp, 0x4] + movs r1, 0x2 + str r1, [sp, 0x8] + movs r1, 0x1E + str r1, [sp, 0xC] + ldr r1, _080E20C8 @ =gFile_graphics_battle_anims_masks_cure_bubbles_sheet + str r1, [sp, 0x10] + ldr r1, _080E20CC @ =gFile_graphics_battle_anims_masks_cure_bubbles_tilemap + str r1, [sp, 0x14] + ldr r1, _080E20D0 @ =gFile_graphics_battle_anims_masks_cure_bubbles_palette + str r1, [sp, 0x18] + movs r1, 0 + bl sub_80BBA20 + add sp, 0x1C + pop {r0} + bx r0 + .align 2, 0 +_080E20C0: .4byte gBattleAnimAttacker +_080E20C4: .4byte gBattleAnimArgs +_080E20C8: .4byte gFile_graphics_battle_anims_masks_cure_bubbles_sheet +_080E20CC: .4byte gFile_graphics_battle_anims_masks_cure_bubbles_tilemap +_080E20D0: .4byte gFile_graphics_battle_anims_masks_cure_bubbles_palette + thumb_func_end sub_80E2084 + + thumb_func_start sub_80E20D4 +sub_80E20D4: @ 80E20D4 + push {r4-r6,lr} + adds r5, r0, 0 + ldr r6, _080E212C @ =gBattleAnimAttacker + ldrb r0, [r6] + bl GetBattlerSide + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080E20F0 + ldr r1, _080E2130 @ =gBattleAnimArgs + ldrh r0, [r1] + negs r0, r0 + strh r0, [r1] +_080E20F0: + ldrb r0, [r6] + movs r1, 0 + bl sub_8074480 + lsls r0, 24 + ldr r4, _080E2130 @ =gBattleAnimArgs + lsrs r0, 24 + ldrh r1, [r4] + adds r0, r1 + strh r0, [r5, 0x20] + ldrb r0, [r6] + movs r1, 0x1 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r1, [r4, 0x2] + adds r0, r1 + strh r0, [r5, 0x22] + movs r1, 0x4 + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080E2138 + movs r0, 0xA0 + lsls r0, 2 + strh r0, [r5, 0x2E] + ldr r0, _080E2134 @ =0x0000fd80 + strh r0, [r5, 0x30] + b _080E2160 + .align 2, 0 +_080E212C: .4byte gBattleAnimAttacker +_080E2130: .4byte gBattleAnimArgs +_080E2134: .4byte 0x0000fd80 +_080E2138: + cmp r0, 0x1 + bne _080E2152 + adds r2, r5, 0 + adds r2, 0x3F + ldrb r0, [r2] + movs r1, 0x2 + orrs r0, r1 + strb r0, [r2] + movs r0, 0xA0 + lsls r0, 2 + strh r0, [r5, 0x2E] + strh r0, [r5, 0x30] + b _080E2160 +_080E2152: + adds r0, r5, 0 + movs r1, 0x1 + bl StartSpriteAnim + movs r0, 0xA0 + lsls r0, 2 + strh r0, [r5, 0x2E] +_080E2160: + ldr r0, _080E218C @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080E2180 + ldrh r0, [r5, 0x2E] + negs r0, r0 + strh r0, [r5, 0x2E] + adds r2, r5, 0 + adds r2, 0x3F + ldrb r0, [r2] + movs r1, 0x1 + orrs r0, r1 + strb r0, [r2] +_080E2180: + ldr r0, _080E2190 @ =sub_80E2194 + str r0, [r5, 0x1C] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080E218C: .4byte gBattleAnimAttacker +_080E2190: .4byte sub_80E2194 + thumb_func_end sub_80E20D4 + + thumb_func_start sub_80E2194 +sub_80E2194: @ 80E2194 + push {lr} + adds r2, r0, 0 + ldrh r0, [r2, 0x2E] + ldrh r1, [r2, 0x3A] + adds r0, r1 + strh r0, [r2, 0x3A] + ldrh r1, [r2, 0x30] + ldrh r3, [r2, 0x3C] + adds r1, r3 + strh r1, [r2, 0x3C] + lsls r0, 16 + asrs r0, 24 + strh r0, [r2, 0x24] + lsls r1, 16 + asrs r1, 24 + strh r1, [r2, 0x26] + ldrh r0, [r2, 0x38] + adds r0, 0x1 + strh r0, [r2, 0x38] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xE + bne _080E21C8 + adds r0, r2, 0 + bl DestroyAnimSprite +_080E21C8: + pop {r0} + bx r0 + thumb_func_end sub_80E2194 + + thumb_func_start sub_80E21CC +sub_80E21CC: @ 80E21CC + push {r4-r6,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, _080E221C @ =gTasks + adds r6, r1, r0 + movs r1, 0 + movs r0, 0xC + strh r0, [r6, 0x12] + movs r0, 0x3 + strh r0, [r6, 0x14] + strh r1, [r6, 0x16] + ldr r5, _080E2220 @ =gBattleAnimAttacker + ldrb r0, [r5] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _080E2224 + ldrb r0, [r5] + movs r1, 0x2 + bl sub_8074480 + adds r4, r0, 0 + ldrb r0, [r5] + movs r1, 0 + bl sub_8076B2C + lsls r4, 24 + lsrs r4, 24 + lsls r0, 16 + asrs r0, 16 + cmp r0, 0 + bge _080E2216 + adds r0, 0x3 +_080E2216: + asrs r0, 2 + adds r0, r4, r0 + b _080E2248 + .align 2, 0 +_080E221C: .4byte gTasks +_080E2220: .4byte gBattleAnimAttacker +_080E2224: + ldrb r0, [r5] + movs r1, 0x2 + bl sub_8074480 + adds r4, r0, 0 + ldrb r0, [r5] + movs r1, 0 + bl sub_8076B2C + lsls r4, 24 + lsrs r4, 24 + lsls r0, 16 + asrs r0, 16 + cmp r0, 0 + bge _080E2244 + adds r0, 0x3 +_080E2244: + asrs r0, 2 + subs r0, r4, r0 +_080E2248: + strh r0, [r6, 0x1E] + ldr r5, _080E229C @ =gBattleAnimAttacker + ldrb r0, [r5] + movs r1, 0x3 + bl sub_8074480 + adds r4, r0, 0 + ldrb r0, [r5] + movs r1, 0 + bl sub_8076B2C + lsls r4, 24 + lsrs r4, 24 + lsls r0, 16 + asrs r0, 16 + cmp r0, 0 + bge _080E226C + adds r0, 0x3 +_080E226C: + asrs r0, 2 + subs r0, r4, r0 + strh r0, [r6, 0x20] + ldr r4, _080E22A0 @ =gBattleAnimTarget + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r6, 0x22] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r6, 0x24] + ldr r0, _080E22A4 @ =sub_80E22A8 + str r0, [r6] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080E229C: .4byte gBattleAnimAttacker +_080E22A0: .4byte gBattleAnimTarget +_080E22A4: .4byte sub_80E22A8 + thumb_func_end sub_80E21CC + + thumb_func_start sub_80E22A8 +sub_80E22A8: @ 80E22A8 + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x14 + lsls r0, 24 + lsrs r7, r0, 24 + lsls r0, r7, 2 + adds r0, r7 + lsls r0, 3 + ldr r1, _080E22D0 @ =gTasks + adds r5, r0, r1 + movs r0, 0x8 + ldrsh r1, [r5, r0] + cmp r1, 0 + beq _080E22D4 + cmp r1, 0x1 + bne _080E22CC + b _080E23CC +_080E22CC: + b _080E23DA + .align 2, 0 +_080E22D0: .4byte gTasks +_080E22D4: + ldrh r0, [r5, 0xA] + adds r0, 0x1 + strh r0, [r5, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x3 + ble _080E23DA + strh r1, [r5, 0xA] + movs r1, 0x1E + ldrsh r0, [r5, r1] + movs r2, 0x20 + ldrsh r1, [r5, r2] + movs r3, 0x22 + ldrsh r2, [r5, r3] + movs r4, 0x24 + ldrsh r3, [r5, r4] + ldrb r4, [r5, 0x12] + str r4, [sp] + ldrb r4, [r5, 0xC] + str r4, [sp, 0x4] + add r4, sp, 0x10 + str r4, [sp, 0x8] + adds r4, 0x2 + str r4, [sp, 0xC] + bl sub_80E23E8 + movs r6, 0 + mov r8, r4 + ldr r4, _080E2348 @ =gSprites +_080E230E: + add r0, sp, 0x10 + movs r2, 0 + ldrsh r1, [r0, r2] + mov r3, r8 + movs r0, 0 + ldrsh r2, [r3, r0] + ldr r0, _080E234C @ =gUnknown_83FF5CC + movs r3, 0x23 + bl CreateSprite + lsls r0, 24 + lsrs r3, r0, 24 + cmp r3, 0x40 + beq _080E23A2 + movs r1, 0x16 + ldrsh r0, [r5, r1] + cmp r0, 0 + bne _080E2362 + cmp r6, 0 + bne _080E2350 + lsls r2, r3, 4 + adds r1, r2, r3 + lsls r1, 2 + adds r1, r4 + ldrh r0, [r5, 0x14] + negs r0, r0 + strh r0, [r1, 0x26] + strh r0, [r1, 0x24] + b _080E238A + .align 2, 0 +_080E2348: .4byte gSprites +_080E234C: .4byte gUnknown_83FF5CC +_080E2350: + lsls r2, r3, 4 + adds r1, r2, r3 + lsls r1, 2 + adds r1, r4 + ldrh r0, [r5, 0x14] + strh r0, [r1, 0x26] + ldrh r0, [r5, 0x14] + strh r0, [r1, 0x24] + b _080E238A +_080E2362: + cmp r6, 0 + bne _080E2378 + lsls r2, r3, 4 + adds r1, r2, r3 + lsls r1, 2 + adds r1, r4 + ldrh r0, [r5, 0x14] + negs r0, r0 + strh r0, [r1, 0x24] + ldrh r0, [r5, 0x14] + b _080E2388 +_080E2378: + lsls r2, r3, 4 + adds r1, r2, r3 + lsls r1, 2 + adds r1, r4 + ldrh r0, [r5, 0x14] + strh r0, [r1, 0x24] + ldrh r0, [r5, 0x14] + negs r0, r0 +_080E2388: + strh r0, [r1, 0x26] +_080E238A: + ldr r1, _080E23C8 @ =gSprites + adds r0, r2, r3 + lsls r0, 2 + adds r0, r1 + movs r1, 0 + strh r1, [r0, 0x2E] + strh r7, [r0, 0x30] + movs r1, 0xA + strh r1, [r0, 0x32] + ldrh r0, [r5, 0x1C] + adds r0, 0x1 + strh r0, [r5, 0x1C] +_080E23A2: + adds r0, r6, 0x1 + lsls r0, 24 + lsrs r6, r0, 24 + cmp r6, 0x1 + bls _080E230E + ldrh r2, [r5, 0xC] + movs r3, 0xC + ldrsh r1, [r5, r3] + movs r4, 0x12 + ldrsh r0, [r5, r4] + cmp r1, r0 + bne _080E23C0 + ldrh r0, [r5, 0x8] + adds r0, 0x1 + strh r0, [r5, 0x8] +_080E23C0: + adds r0, r2, 0x1 + strh r0, [r5, 0xC] + b _080E23DA + .align 2, 0 +_080E23C8: .4byte gSprites +_080E23CC: + movs r1, 0x1C + ldrsh r0, [r5, r1] + cmp r0, 0 + bne _080E23DA + adds r0, r7, 0 + bl DestroyAnimVisualTask +_080E23DA: + add sp, 0x14 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80E22A8 + + thumb_func_start sub_80E23E8 +sub_80E23E8: @ 80E23E8 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x8 + ldr r4, [sp, 0x28] + ldr r5, [sp, 0x2C] + ldr r6, [sp, 0x30] + mov r9, r6 + ldr r6, [sp, 0x34] + mov r10, r6 + lsls r0, 16 + lsrs r0, 16 + mov r12, r0 + lsls r1, 16 + lsrs r1, 16 + str r1, [sp] + lsls r2, 16 + lsrs r2, 16 + adds r7, r2, 0 + lsls r3, 16 + lsrs r3, 16 + str r3, [sp, 0x4] + lsls r4, 24 + lsrs r6, r4, 24 + lsls r5, 24 + lsrs r5, 24 + mov r8, r5 + cmp r5, 0 + bne _080E2430 + mov r2, r9 + strh r0, [r2] + mov r6, r10 + strh r1, [r6] + b _080E248E +_080E2430: + cmp r5, r6 + bcc _080E243E + mov r0, r9 + strh r2, [r0] + mov r1, r10 + strh r3, [r1] + b _080E248E +_080E243E: + subs r0, r6, 0x1 + lsls r0, 24 + lsrs r6, r0, 24 + mov r2, r12 + lsls r1, r2, 16 + asrs r1, 16 + lsls r5, r1, 8 + lsls r0, r7, 16 + asrs r0, 16 + subs r0, r1 + lsls r0, 8 + adds r1, r6, 0 + bl __divsi3 + mov r1, r8 + muls r1, r0 + adds r0, r1, 0 + adds r5, r0 + ldr r2, [sp] + lsls r1, r2, 16 + asrs r1, 16 + lsls r4, r1, 8 + ldr r2, [sp, 0x4] + lsls r0, r2, 16 + asrs r0, 16 + subs r0, r1 + lsls r0, 8 + adds r1, r6, 0 + bl __divsi3 + mov r6, r8 + muls r6, r0 + adds r0, r6, 0 + adds r4, r0 + asrs r5, 8 + mov r0, r9 + strh r5, [r0] + asrs r4, 8 + mov r1, r10 + strh r4, [r1] +_080E248E: + add sp, 0x8 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80E23E8 + + thumb_func_start sub_80E24A0 +sub_80E24A0: @ 80E24A0 + push {r4,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x24 + ble _080E24D6 + ldr r3, _080E24DC @ =gTasks + movs r0, 0x32 + ldrsh r1, [r4, r0] + lsls r1, 1 + movs r0, 0x30 + ldrsh r2, [r4, r0] + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + adds r1, r0 + adds r3, 0x8 + adds r1, r3 + ldrh r0, [r1] + subs r0, 0x1 + strh r0, [r1] + adds r0, r4, 0 + bl DestroySprite +_080E24D6: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080E24DC: .4byte gTasks + thumb_func_end sub_80E24A0 + + thumb_func_start sub_80E24E0 +sub_80E24E0: @ 80E24E0 + push {r4,lr} + adds r4, r0, 0 + ldr r1, _080E250C @ =gBattleAnimArgs + ldrh r0, [r1] + strh r0, [r4, 0x20] + ldrh r0, [r1, 0x2] + strh r0, [r4, 0x22] + ldrh r0, [r1, 0x4] + strh r0, [r4, 0x32] + ldrh r0, [r1, 0x6] + strh r0, [r4, 0x36] + ldrh r0, [r1, 0x8] + strh r0, [r4, 0x2E] + ldr r1, _080E2510 @ =DestroyAnimSprite + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 + ldr r0, _080E2514 @ =sub_8075764 + str r0, [r4, 0x1C] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080E250C: .4byte gBattleAnimArgs +_080E2510: .4byte DestroyAnimSprite +_080E2514: .4byte sub_8075764 + thumb_func_end sub_80E24E0 + + thumb_func_start sub_80E2518 +sub_80E2518: @ 80E2518 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + lsls r0, 24 + lsrs r0, 24 + mov r9, r0 + lsls r0, 2 + add r0, r9 + lsls r0, 3 + ldr r1, _080E2638 @ =gTasks + adds r7, r0, r1 + ldr r0, _080E263C @ =gBattleAnimAttacker + mov r10, r0 + ldrb r0, [r0] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r7, 0x1E] + mov r1, r10 + ldrb r0, [r1] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r7, 0x20] + ldr r0, _080E2640 @ =gBattleAnimTarget + mov r8, r0 + ldrb r0, [r0] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r7, 0x22] + mov r1, r8 + ldrb r0, [r1] + movs r1, 0x3 + bl sub_8074480 + adds r4, r0, 0 + mov r1, r8 + ldrb r0, [r1] + movs r1, 0 + bl sub_8076B2C + lsls r4, 24 + lsrs r4, 24 + lsls r0, 16 + asrs r0, 16 + cmp r0, 0 + bge _080E258A + adds r0, 0x3 +_080E258A: + asrs r0, 2 + adds r0, r4, r0 + strh r0, [r7, 0x24] + ldr r4, _080E2644 @ =gUnknown_83FF62C + movs r0, 0x1E + ldrsh r5, [r7, r0] + movs r1, 0x20 + ldrsh r6, [r7, r1] + mov r1, r8 + ldrb r0, [r1] + bl sub_807685C + adds r3, r0, 0 + subs r3, 0x5 + lsls r3, 24 + lsrs r3, 24 + adds r0, r4, 0 + adds r1, r5, 0 + adds r2, r6, 0 + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + strh r0, [r7, 0x26] + cmp r0, 0x40 + beq _080E2654 + ldr r4, _080E2648 @ =gSprites + movs r0, 0x26 + ldrsh r1, [r7, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r4 + movs r1, 0x10 + strh r1, [r0, 0x2E] + movs r0, 0x26 + ldrsh r1, [r7, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r4 + ldrh r1, [r7, 0x22] + strh r1, [r0, 0x32] + movs r0, 0x26 + ldrsh r1, [r7, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r4 + ldrh r1, [r7, 0x24] + strh r1, [r0, 0x36] + movs r0, 0x26 + ldrsh r1, [r7, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r4 + ldr r1, _080E264C @ =0x0000ffe0 + strh r1, [r0, 0x38] + movs r0, 0x26 + ldrsh r1, [r7, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r4 + bl sub_8075068 + mov r1, r10 + ldrb r0, [r1] + bl GetBattlerSide + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080E2632 + movs r0, 0x26 + ldrsh r1, [r7, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r4 + movs r1, 0x1 + bl StartSpriteAffineAnim +_080E2632: + ldr r0, _080E2650 @ =sub_80E2668 + str r0, [r7] + b _080E265A + .align 2, 0 +_080E2638: .4byte gTasks +_080E263C: .4byte gBattleAnimAttacker +_080E2640: .4byte gBattleAnimTarget +_080E2644: .4byte gUnknown_83FF62C +_080E2648: .4byte gSprites +_080E264C: .4byte 0x0000ffe0 +_080E2650: .4byte sub_80E2668 +_080E2654: + mov r0, r9 + bl DestroyAnimVisualTask +_080E265A: + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80E2518 + + thumb_func_start sub_80E2668 +sub_80E2668: @ 80E2668 + push {r4,r5,lr} + lsls r0, 24 + lsrs r2, r0, 24 + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + ldr r1, _080E268C @ =gTasks + adds r4, r0, r1 + movs r0, 0x8 + ldrsh r1, [r4, r0] + cmp r1, 0x1 + beq _080E26D0 + cmp r1, 0x1 + bgt _080E2690 + cmp r1, 0 + beq _080E269A + b _080E276E + .align 2, 0 +_080E268C: .4byte gTasks +_080E2690: + cmp r1, 0x2 + beq _080E26F4 + cmp r1, 0x3 + beq _080E2768 + b _080E276E +_080E269A: + ldrh r0, [r4, 0xA] + adds r0, 0x1 + strh r0, [r4, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + ble _080E276E + strh r1, [r4, 0xA] + movs r0, 0x26 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r1, _080E26CC @ =gSprites + adds r0, r1 + bl AnimateBallThrow + ldrh r0, [r4, 0xC] + adds r0, 0x1 + strh r0, [r4, 0xC] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x7 + ble _080E276E + b _080E275A + .align 2, 0 +_080E26CC: .4byte gSprites +_080E26D0: + movs r0, 0x26 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r1, _080E26F0 @ =gSprites + adds r0, r1 + bl AnimateBallThrow + lsls r0, 24 + cmp r0, 0 + beq _080E276E + movs r0, 0 + strh r0, [r4, 0xA] + strh r0, [r4, 0xC] + b _080E275A + .align 2, 0 +_080E26F0: .4byte gSprites +_080E26F4: + ldrh r0, [r4, 0xA] + adds r0, 0x1 + strh r0, [r4, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + ble _080E276E + movs r0, 0 + strh r0, [r4, 0xA] + ldrh r2, [r4, 0xC] + adds r2, 0x1 + strh r2, [r4, 0xC] + ldr r5, _080E2764 @ =gSprites + movs r1, 0x26 + ldrsh r0, [r4, r1] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r5 + movs r0, 0x1 + ands r2, r0 + adds r1, 0x3E + lsls r2, 2 + ldrb r3, [r1] + subs r0, 0x6 + ands r0, r3 + orrs r0, r2 + strb r0, [r1] + movs r1, 0xC + ldrsh r0, [r4, r1] + cmp r0, 0x10 + bne _080E276E + movs r0, 0x26 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + ldrb r0, [r0, 0x3] + lsls r0, 26 + lsrs r0, 27 + bl FreeOamMatrix + movs r0, 0x26 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + bl DestroySprite +_080E275A: + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] + b _080E276E + .align 2, 0 +_080E2764: .4byte gSprites +_080E2768: + adds r0, r2, 0 + bl DestroyAnimVisualTask +_080E276E: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80E2668 + + thumb_func_start sub_80E2774 +sub_80E2774: @ 80E2774 + push {r4-r6,lr} + adds r4, r0, 0 + ldr r0, _080E2788 @ =gBattleAnimArgs + movs r2, 0 + ldrsh r1, [r0, r2] + adds r6, r0, 0 + cmp r1, 0 + bne _080E2790 + ldr r0, _080E278C @ =gBattleAnimAttacker + b _080E2792 + .align 2, 0 +_080E2788: .4byte gBattleAnimArgs +_080E278C: .4byte gBattleAnimAttacker +_080E2790: + ldr r0, _080E27F8 @ =gBattleAnimTarget +_080E2792: + ldrb r5, [r0] + ldrh r2, [r4, 0x4] + lsls r1, r2, 22 + lsrs r1, 22 + adds r1, 0x10 + ldr r3, _080E27FC @ =0x000003ff + adds r0, r3, 0 + ands r1, r0 + ldr r0, _080E2800 @ =0xfffffc00 + ands r0, r2 + orrs r0, r1 + strh r0, [r4, 0x4] + adds r1, r6, 0 + ldrh r0, [r1, 0x4] + strh r0, [r4, 0x3A] + movs r2, 0x2 + ldrsh r0, [r1, r2] + movs r1, 0x1 + cmp r0, 0 + bne _080E27C0 + movs r3, 0x1 + negs r3, r3 + adds r1, r3, 0 +_080E27C0: + strh r1, [r4, 0x3C] + adds r0, r5, 0 + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x22] + movs r1, 0x2 + ldrsh r0, [r6, r1] + cmp r0, 0 + bne _080E2804 + ldrb r2, [r4, 0x3] + lsls r1, r2, 26 + lsrs r1, 27 + movs r0, 0x8 + orrs r1, r0 + lsls r1, 1 + subs r0, 0x47 + ands r0, r2 + orrs r0, r1 + strb r0, [r4, 0x3] + adds r0, r5, 0 + movs r1, 0x4 + bl sub_8076B2C + subs r0, 0x8 + b _080E280E + .align 2, 0 +_080E27F8: .4byte gBattleAnimTarget +_080E27FC: .4byte 0x000003ff +_080E2800: .4byte 0xfffffc00 +_080E2804: + adds r0, r5, 0 + movs r1, 0x5 + bl sub_8076B2C + adds r0, 0x8 +_080E280E: + strh r0, [r4, 0x20] + ldr r0, _080E281C @ =sub_80E2820 + str r0, [r4, 0x1C] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080E281C: .4byte sub_80E2820 + thumb_func_end sub_80E2774 + + thumb_func_start sub_80E2820 +sub_80E2820: @ 80E2820 + push {lr} + adds r2, r0, 0 + movs r0, 0x2E + ldrsh r1, [r2, r0] + cmp r1, 0x1 + beq _080E2868 + cmp r1, 0x1 + bgt _080E2836 + cmp r1, 0 + beq _080E2840 + b _080E28D8 +_080E2836: + cmp r1, 0x2 + beq _080E2878 + cmp r1, 0x3 + beq _080E289E + b _080E28D8 +_080E2840: + ldrh r0, [r2, 0x30] + adds r0, 0x1 + strh r0, [r2, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + ble _080E28D8 + strh r1, [r2, 0x30] + ldrh r0, [r2, 0x3C] + ldrh r1, [r2, 0x24] + adds r0, r1 + strh r0, [r2, 0x24] + ldrh r0, [r2, 0x32] + adds r0, 0x1 + strh r0, [r2, 0x32] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xC + bne _080E28D8 + b _080E2896 +_080E2868: + ldrh r0, [r2, 0x30] + adds r0, 0x1 + strh r0, [r2, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x8 + bne _080E28D8 + b _080E2892 +_080E2878: + movs r0, 0x3C + ldrsh r1, [r2, r0] + lsls r1, 2 + ldrh r0, [r2, 0x24] + subs r0, r1 + strh r0, [r2, 0x24] + ldrh r0, [r2, 0x30] + adds r0, 0x1 + strh r0, [r2, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x6 + bne _080E28D8 +_080E2892: + movs r0, 0 + strh r0, [r2, 0x30] +_080E2896: + ldrh r0, [r2, 0x2E] + adds r0, 0x1 + strh r0, [r2, 0x2E] + b _080E28D8 +_080E289E: + movs r0, 0x3C + ldrsh r1, [r2, r0] + lsls r0, r1, 1 + adds r0, r1 + ldrh r1, [r2, 0x24] + adds r0, r1 + strh r0, [r2, 0x24] + ldrh r0, [r2, 0x30] + adds r0, 0x1 + strh r0, [r2, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x8 + bne _080E28D8 + ldrh r0, [r2, 0x3A] + subs r0, 0x1 + strh r0, [r2, 0x3A] + lsls r0, 16 + cmp r0, 0 + beq _080E28D2 + movs r0, 0 + strh r0, [r2, 0x30] + ldrh r0, [r2, 0x2E] + subs r0, 0x1 + strh r0, [r2, 0x2E] + b _080E28D8 +_080E28D2: + adds r0, r2, 0 + bl DestroyAnimSprite +_080E28D8: + pop {r0} + bx r0 + thumb_func_end sub_80E2820 + + thumb_func_start sub_80E28DC +sub_80E28DC: @ 80E28DC + push {r4,lr} + lsls r0, 24 + lsrs r1, r0, 24 + ldr r2, _080E28F4 @ =gBattleAnimArgs + movs r3, 0 + ldrsh r0, [r2, r3] + cmp r0, 0 + bne _080E28F8 + adds r0, r1, 0 + bl DestroyAnimVisualTask + b _080E2920 + .align 2, 0 +_080E28F4: .4byte gBattleAnimArgs +_080E28F8: + ldr r0, _080E2928 @ =gTasks + lsls r4, r1, 2 + adds r4, r1 + lsls r4, 3 + adds r4, r0 + ldrh r0, [r2, 0x2] + strh r0, [r4, 0x8] + ldrb r0, [r2] + bl GetAnimBankSpriteId + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + strh r1, [r4, 0x26] + ldr r2, _080E292C @ =gUnknown_83FF65C + adds r0, r4, 0 + bl sub_80762D0 + ldr r0, _080E2930 @ =sub_80E2934 + str r0, [r4] +_080E2920: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080E2928: .4byte gTasks +_080E292C: .4byte gUnknown_83FF65C +_080E2930: .4byte sub_80E2934 + thumb_func_end sub_80E28DC + + thumb_func_start sub_80E2934 +sub_80E2934: @ 80E2934 + push {r4-r6,lr} + lsls r0, 24 + lsrs r6, r0, 24 + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + ldr r1, _080E2974 @ =gTasks + adds r4, r0, r1 + ldrh r0, [r4, 0xA] + adds r0, 0x1 + strh r0, [r4, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + ble _080E298E + movs r0, 0 + strh r0, [r4, 0xA] + ldrh r1, [r4, 0xC] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + bne _080E297C + ldr r2, _080E2978 @ =gSprites + movs r0, 0x26 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + movs r1, 0x2 + b _080E298C + .align 2, 0 +_080E2974: .4byte gTasks +_080E2978: .4byte gSprites +_080E297C: + ldr r2, _080E29D4 @ =gSprites + movs r0, 0x26 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldr r1, _080E29D8 @ =0x0000fffe +_080E298C: + strh r1, [r0, 0x24] +_080E298E: + adds r0, r4, 0 + bl sub_8076308 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0 + bne _080E29EA + ldr r2, _080E29D4 @ =gSprites + movs r0, 0x26 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + strh r5, [r0, 0x24] + ldrh r0, [r4, 0x8] + subs r0, 0x1 + strh r0, [r4, 0x8] + lsls r0, 16 + cmp r0, 0 + beq _080E29E4 + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + ldr r1, _080E29DC @ =gTasks + adds r0, r1 + ldrh r1, [r0, 0x26] + lsls r1, 24 + lsrs r1, 24 + ldr r2, _080E29E0 @ =gUnknown_83FF65C + bl sub_80762D0 + strh r5, [r4, 0xA] + strh r5, [r4, 0xC] + b _080E29EA + .align 2, 0 +_080E29D4: .4byte gSprites +_080E29D8: .4byte 0x0000fffe +_080E29DC: .4byte gTasks +_080E29E0: .4byte gUnknown_83FF65C +_080E29E4: + adds r0, r6, 0 + bl DestroyAnimVisualTask +_080E29EA: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_80E2934 + + thumb_func_start sub_80E29F0 +sub_80E29F0: @ 80E29F0 + push {r4,r5,lr} + adds r5, r0, 0 + ldr r0, _080E2A04 @ =gBattleAnimArgs + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _080E2A0C + ldr r4, _080E2A08 @ =gBattleAnimAttacker + b _080E2A0E + .align 2, 0 +_080E2A04: .4byte gBattleAnimArgs +_080E2A08: .4byte gBattleAnimAttacker +_080E2A0C: + ldr r4, _080E2A4C @ =gBattleAnimTarget +_080E2A0E: + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x20] + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8076B2C + strh r0, [r5, 0x22] + movs r1, 0x22 + ldrsh r0, [r5, r1] + cmp r0, 0x7 + bgt _080E2A32 + movs r0, 0x8 + strh r0, [r5, 0x22] +_080E2A32: + movs r2, 0 + strh r2, [r5, 0x2E] + ldr r1, _080E2A50 @ =gBattleAnimArgs + ldrh r0, [r1, 0x2] + strh r0, [r5, 0x30] + strh r2, [r5, 0x32] + ldrh r0, [r1, 0x4] + strh r0, [r5, 0x34] + ldr r0, _080E2A54 @ =sub_80E2A58 + str r0, [r5, 0x1C] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080E2A4C: .4byte gBattleAnimTarget +_080E2A50: .4byte gBattleAnimArgs +_080E2A54: .4byte sub_80E2A58 + thumb_func_end sub_80E29F0 + + thumb_func_start sub_80E2A58 +sub_80E2A58: @ 80E2A58 + push {lr} + adds r3, r0, 0 + ldrh r0, [r3, 0x2E] + adds r0, 0x1 + strh r0, [r3, 0x2E] + lsls r0, 16 + asrs r0, 16 + movs r2, 0x30 + ldrsh r1, [r3, r2] + cmp r0, r1 + blt _080E2AAC + movs r0, 0 + strh r0, [r3, 0x2E] + ldrh r1, [r3, 0x32] + adds r1, 0x1 + movs r0, 0x1 + ands r1, r0 + strh r1, [r3, 0x32] + movs r0, 0x3E + adds r0, r3 + mov r12, r0 + lsls r1, 2 + ldrb r2, [r0] + movs r0, 0x5 + negs r0, r0 + ands r0, r2 + orrs r0, r1 + mov r1, r12 + strb r0, [r1] + movs r2, 0x32 + ldrsh r0, [r3, r2] + cmp r0, 0 + beq _080E2AAC + ldrh r0, [r3, 0x34] + subs r0, 0x1 + strh r0, [r3, 0x34] + lsls r0, 16 + cmp r0, 0 + bne _080E2AAC + adds r0, r3, 0 + bl DestroyAnimSprite +_080E2AAC: + pop {r0} + bx r0 + thumb_func_end sub_80E2A58 + + thumb_func_start sub_80E2AB0 +sub_80E2AB0: @ 80E2AB0 + push {lr} + adds r3, r0, 0 + ldr r0, _080E2ADC @ =gBattleAnimArgs + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _080E2AE0 + ldrb r2, [r3, 0x3] + lsls r1, r2, 26 + lsrs r1, 27 + movs r0, 0x8 + orrs r1, r0 + lsls r1, 1 + subs r0, 0x47 + ands r0, r2 + orrs r0, r1 + strb r0, [r3, 0x3] + movs r0, 0x64 + strh r0, [r3, 0x20] + movs r0, 0x1 + b _080E2AE6 + .align 2, 0 +_080E2ADC: .4byte gBattleAnimArgs +_080E2AE0: + movs r0, 0x8C + strh r0, [r3, 0x20] + ldr r0, _080E2AF4 @ =0x0000ffff +_080E2AE6: + strh r0, [r3, 0x3C] + movs r0, 0x38 + strh r0, [r3, 0x22] + ldr r0, _080E2AF8 @ =sub_80E2AFC + str r0, [r3, 0x1C] + pop {r0} + bx r0 + .align 2, 0 +_080E2AF4: .4byte 0x0000ffff +_080E2AF8: .4byte sub_80E2AFC + thumb_func_end sub_80E2AB0 + + thumb_func_start sub_80E2AFC +sub_80E2AFC: @ 80E2AFC + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0x8 + bls _080E2B0A + b _080E2CDC +_080E2B0A: + lsls r0, 2 + ldr r1, _080E2B14 @ =_080E2B18 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080E2B14: .4byte _080E2B18 + .align 2, 0 +_080E2B18: + .4byte _080E2B3C + .4byte _080E2B6E + .4byte _080E2B80 + .4byte _080E2BC0 + .4byte _080E2BD2 + .4byte _080E2C10 + .4byte _080E2C74 + .4byte _080E2C94 + .4byte _080E2CBA +_080E2B3C: + movs r3, 0x3C + ldrsh r0, [r4, r3] + lsls r0, 1 + ldrh r1, [r4, 0x22] + subs r1, r0 + strh r1, [r4, 0x22] + ldrh r2, [r4, 0x30] + movs r0, 0x1 + ands r0, r2 + cmp r0, 0 + beq _080E2B5E + movs r0, 0x3C + ldrsh r1, [r4, r0] + lsls r1, 1 + ldrh r0, [r4, 0x20] + subs r0, r1 + strh r0, [r4, 0x20] +_080E2B5E: + adds r0, r2, 0x1 + strh r0, [r4, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x9 + beq _080E2B6C + b _080E2CDC +_080E2B6C: + b _080E2CAE +_080E2B6E: + ldrh r0, [r4, 0x30] + adds r0, 0x1 + strh r0, [r4, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x4 + beq _080E2B7E + b _080E2CDC +_080E2B7E: + b _080E2CAE +_080E2B80: + ldrh r2, [r4, 0x30] + adds r2, 0x1 + strh r2, [r4, 0x30] + movs r3, 0x3C + ldrsh r1, [r4, r3] + lsls r0, r1, 1 + adds r0, r1 + ldrh r1, [r4, 0x22] + adds r0, r1 + strh r0, [r4, 0x22] + ldr r3, _080E2BBC @ =gSineTable + movs r0, 0x30 + ldrsh r1, [r4, r0] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 2 + adds r0, r3 + ldrh r0, [r0] + lsls r0, 16 + asrs r0, 19 + ldrh r1, [r4, 0x3C] + muls r0, r1 + strh r0, [r4, 0x24] + lsls r2, 16 + asrs r2, 16 + cmp r2, 0xC + beq _080E2BB8 + b _080E2CDC +_080E2BB8: + b _080E2CAE + .align 2, 0 +_080E2BBC: .4byte gSineTable +_080E2BC0: + ldrh r0, [r4, 0x30] + adds r0, 0x1 + strh r0, [r4, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x2 + beq _080E2BD0 + b _080E2CDC +_080E2BD0: + b _080E2CAE +_080E2BD2: + ldrh r2, [r4, 0x30] + adds r2, 0x1 + strh r2, [r4, 0x30] + movs r1, 0x3C + ldrsh r0, [r4, r1] + lsls r1, r0, 1 + adds r1, r0 + ldrh r0, [r4, 0x22] + subs r0, r1 + strh r0, [r4, 0x22] + ldr r3, _080E2C0C @ =gSineTable + movs r0, 0x30 + ldrsh r1, [r4, r0] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 2 + adds r0, r3 + ldrh r0, [r0] + lsls r0, 16 + asrs r0, 19 + ldrh r1, [r4, 0x3C] + muls r0, r1 + strh r0, [r4, 0x24] + lsls r2, 16 + asrs r2, 16 + cmp r2, 0xC + bne _080E2CDC + b _080E2CB2 + .align 2, 0 +_080E2C0C: .4byte gSineTable +_080E2C10: + ldrh r2, [r4, 0x30] + adds r2, 0x1 + strh r2, [r4, 0x30] + movs r3, 0x3C + ldrsh r1, [r4, r3] + lsls r0, r1, 1 + adds r0, r1 + ldrh r1, [r4, 0x22] + adds r0, r1 + strh r0, [r4, 0x22] + ldr r3, _080E2C68 @ =gSineTable + movs r0, 0x30 + ldrsh r1, [r4, r0] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 2 + adds r0, r3 + ldrh r0, [r0] + lsls r0, 16 + asrs r0, 19 + ldrh r1, [r4, 0x3C] + muls r0, r1 + strh r0, [r4, 0x24] + lsls r2, 16 + asrs r2, 16 + cmp r2, 0xF + bne _080E2C5C + ldrh r2, [r4, 0x4] + lsls r1, r2, 22 + lsrs r1, 22 + adds r1, 0x10 + ldr r3, _080E2C6C @ =0x000003ff + adds r0, r3, 0 + ands r1, r0 + ldr r0, _080E2C70 @ =0xfffffc00 + ands r0, r2 + orrs r0, r1 + strh r0, [r4, 0x4] +_080E2C5C: + movs r1, 0x30 + ldrsh r0, [r4, r1] + cmp r0, 0x12 + bne _080E2CDC + b _080E2CAE + .align 2, 0 +_080E2C68: .4byte gSineTable +_080E2C6C: .4byte 0x000003ff +_080E2C70: .4byte 0xfffffc00 +_080E2C74: + movs r3, 0x3C + ldrsh r0, [r4, r3] + lsls r1, r0, 1 + adds r1, r0 + lsls r1, 1 + ldrh r0, [r4, 0x20] + adds r1, r0 + strh r1, [r4, 0x20] + ldrh r0, [r4, 0x30] + adds r0, 0x1 + strh r0, [r4, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x9 + bne _080E2CDC + b _080E2CAE +_080E2C94: + movs r1, 0x3C + ldrsh r0, [r4, r1] + lsls r0, 1 + ldrh r3, [r4, 0x20] + adds r0, r3 + strh r0, [r4, 0x20] + ldrh r0, [r4, 0x30] + adds r0, 0x1 + strh r0, [r4, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + bne _080E2CDC +_080E2CAE: + movs r0, 0 + strh r0, [r4, 0x30] +_080E2CB2: + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + b _080E2CDC +_080E2CBA: + movs r1, 0x3C + ldrsh r0, [r4, r1] + lsls r1, r0, 1 + adds r1, r0 + ldrh r0, [r4, 0x20] + subs r0, r1 + strh r0, [r4, 0x20] + ldrh r0, [r4, 0x30] + adds r0, 0x1 + strh r0, [r4, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x5 + bne _080E2CDC + adds r0, r4, 0 + bl DestroyAnimSprite +_080E2CDC: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80E2AFC + + thumb_func_start sub_80E2CE4 +sub_80E2CE4: @ 80E2CE4 + push {r4-r7,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, _080E2D34 @ =gTasks + adds r6, r1, r0 + movs r0, 0 + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r0, 24 + strh r0, [r6, 0x26] + bl sub_8075290 + lsls r0, 24 + lsrs r7, r0, 24 + cmp r7, 0x1 + bne _080E2D44 + ldr r5, _080E2D38 @ =gBattleAnimAttacker + ldrb r0, [r5] + movs r1, 0 + bl sub_8074480 + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldrb r1, [r5] + movs r0, 0x2 + eors r0, r1 + movs r1, 0 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + cmp r4, r0 + ble _080E2D3C + strh r7, [r6, 0x24] + b _080E2D64 + .align 2, 0 +_080E2D34: .4byte gTasks +_080E2D38: .4byte gBattleAnimAttacker +_080E2D3C: + ldr r0, _080E2D40 @ =0x0000ffff + b _080E2D62 + .align 2, 0 +_080E2D40: .4byte 0x0000ffff +_080E2D44: + ldr r0, _080E2D58 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _080E2D60 + ldr r0, _080E2D5C @ =0x0000ffff + b _080E2D62 + .align 2, 0 +_080E2D58: .4byte gBattleAnimAttacker +_080E2D5C: .4byte 0x0000ffff +_080E2D60: + movs r0, 0x1 +_080E2D62: + strh r0, [r6, 0x24] +_080E2D64: + ldr r0, _080E2D70 @ =sub_80E2D74 + str r0, [r6] + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080E2D70: .4byte sub_80E2D74 + thumb_func_end sub_80E2CE4 + + thumb_func_start sub_80E2D74 +sub_80E2D74: @ 80E2D74 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + ldr r1, _080E2D98 @ =gTasks + adds r3, r0, r1 + movs r1, 0x8 + ldrsh r0, [r3, r1] + cmp r0, 0x8 + bls _080E2D8E + b _080E2F08 +_080E2D8E: + lsls r0, 2 + ldr r1, _080E2D9C @ =_080E2DA0 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080E2D98: .4byte gTasks +_080E2D9C: .4byte _080E2DA0 + .align 2, 0 +_080E2DA0: + .4byte _080E2DC4 + .4byte _080E2DD6 + .4byte _080E2E08 + .4byte _080E2E38 + .4byte _080E2E5E + .4byte _080E2E88 + .4byte _080E2E98 + .4byte _080E2EB8 + .4byte _080E2EF0 +_080E2DC4: + ldrh r0, [r3, 0xA] + adds r0, 0x1 + strh r0, [r3, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xD + beq _080E2DD4 + b _080E2F08 +_080E2DD4: + b _080E2EE0 +_080E2DD6: + ldr r2, _080E2E04 @ =gSprites + movs r1, 0x26 + ldrsh r0, [r3, r1] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r2 + movs r2, 0x24 + ldrsh r0, [r3, r2] + lsls r2, r0, 1 + adds r2, r0 + ldrh r0, [r1, 0x24] + subs r0, r2 + strh r0, [r1, 0x24] + ldrh r0, [r3, 0xA] + adds r0, 0x1 + strh r0, [r3, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x6 + beq _080E2E02 + b _080E2F08 +_080E2E02: + b _080E2EE0 + .align 2, 0 +_080E2E04: .4byte gSprites +_080E2E08: + ldr r2, _080E2E34 @ =gSprites + movs r1, 0x26 + ldrsh r0, [r3, r1] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r2 + movs r0, 0x24 + ldrsh r2, [r3, r0] + lsls r0, r2, 1 + adds r0, r2 + ldrh r2, [r1, 0x24] + adds r0, r2 + strh r0, [r1, 0x24] + ldrh r0, [r3, 0xA] + adds r0, 0x1 + strh r0, [r3, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x6 + bne _080E2F08 + b _080E2EE0 + .align 2, 0 +_080E2E34: .4byte gSprites +_080E2E38: + ldrh r0, [r3, 0xA] + adds r0, 0x1 + strh r0, [r3, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x2 + bne _080E2F08 + movs r0, 0 + strh r0, [r3, 0xA] + ldrh r1, [r3, 0xC] + movs r2, 0xC + ldrsh r0, [r3, r2] + cmp r0, 0 + bne _080E2EE4 + adds r0, r1, 0x1 + strh r0, [r3, 0xC] + movs r0, 0x1 + strh r0, [r3, 0x8] + b _080E2F08 +_080E2E5E: + ldr r2, _080E2E84 @ =gSprites + movs r0, 0x26 + ldrsh r1, [r3, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r1, [r3, 0x24] + ldrh r2, [r0, 0x24] + adds r1, r2 + strh r1, [r0, 0x24] + ldrh r0, [r3, 0xA] + adds r0, 0x1 + strh r0, [r3, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x3 + bne _080E2F08 + b _080E2EE0 + .align 2, 0 +_080E2E84: .4byte gSprites +_080E2E88: + ldrh r0, [r3, 0xA] + adds r0, 0x1 + strh r0, [r3, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x6 + bne _080E2F08 + b _080E2EE0 +_080E2E98: + ldr r2, _080E2EB4 @ =gSprites + movs r1, 0x26 + ldrsh r0, [r3, r1] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r2 + movs r0, 0x24 + ldrsh r2, [r3, r0] + lsls r2, 2 + ldrh r0, [r1, 0x24] + subs r0, r2 + b _080E2ED0 + .align 2, 0 +_080E2EB4: .4byte gSprites +_080E2EB8: + ldr r2, _080E2EEC @ =gSprites + movs r1, 0x26 + ldrsh r0, [r3, r1] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r2 + movs r2, 0x24 + ldrsh r0, [r3, r2] + lsls r0, 2 + ldrh r2, [r1, 0x24] + adds r0, r2 +_080E2ED0: + strh r0, [r1, 0x24] + ldrh r0, [r3, 0xA] + adds r0, 0x1 + strh r0, [r3, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x5 + bne _080E2F08 +_080E2EE0: + movs r0, 0 + strh r0, [r3, 0xA] +_080E2EE4: + ldrh r0, [r3, 0x8] + adds r0, 0x1 + strh r0, [r3, 0x8] + b _080E2F08 + .align 2, 0 +_080E2EEC: .4byte gSprites +_080E2EF0: + ldr r2, _080E2F10 @ =gSprites + movs r0, 0x26 + ldrsh r1, [r3, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + movs r1, 0 + strh r1, [r0, 0x24] + adds r0, r4, 0 + bl DestroyAnimVisualTask +_080E2F08: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080E2F10: .4byte gSprites + thumb_func_end sub_80E2D74 + + thumb_func_start sub_80E2F14 +sub_80E2F14: @ 80E2F14 + push {r4,lr} + adds r4, r0, 0 + ldr r0, _080E2F30 @ =gBattleAnimArgs + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _080E2F38 + adds r0, r4, 0 + movs r1, 0x1 + bl sub_8075160 + ldr r0, _080E2F34 @ =gBattleAnimAttacker + b _080E2F3A + .align 2, 0 +_080E2F30: .4byte gBattleAnimArgs +_080E2F34: .4byte gBattleAnimAttacker +_080E2F38: + ldr r0, _080E2F90 @ =gBattleAnimTarget +_080E2F3A: + ldrb r0, [r0] + strh r0, [r4, 0x3C] + ldrh r0, [r4, 0x3C] + lsls r0, 24 + lsrs r0, 24 + bl GetBattlerSide + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080E2F5E + ldrb r0, [r4, 0x3] + movs r1, 0x3F + negs r1, r1 + ands r1, r0 + movs r0, 0x10 + orrs r1, r0 + strb r1, [r4, 0x3] +_080E2F5E: + ldrh r0, [r4, 0x3C] + lsls r0, 24 + lsrs r0, 24 + bl sub_8076884 + movs r2, 0x3 + ands r2, r0 + lsls r2, 2 + ldrb r3, [r4, 0x5] + movs r1, 0xD + negs r1, r1 + adds r0, r1, 0 + ands r0, r3 + orrs r0, r2 + strb r0, [r4, 0x5] + ldrb r0, [r4, 0x1] + ands r1, r0 + movs r0, 0x4 + orrs r1, r0 + strb r1, [r4, 0x1] + ldr r0, _080E2F94 @ =sub_80E2F98 + str r0, [r4, 0x1C] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080E2F90: .4byte gBattleAnimTarget +_080E2F94: .4byte sub_80E2F98 + thumb_func_end sub_80E2F14 + + thumb_func_start sub_80E2F98 +sub_80E2F98: @ 80E2F98 + push {r4,r5,lr} + adds r4, r0, 0 + movs r1, 0x38 + ldrsh r0, [r4, r1] + cmp r0, 0x4 + bls _080E2FA6 + b _080E3196 +_080E2FA6: + lsls r0, 2 + ldr r1, _080E2FB0 @ =_080E2FB4 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080E2FB0: .4byte _080E2FB4 + .align 2, 0 +_080E2FB4: + .4byte _080E2FC8 + .4byte _080E30C8 + .4byte _080E3130 + .4byte _080E3144 + .4byte _080E3190 +_080E2FC8: + movs r2, 0x3A + ldrsh r0, [r4, r2] + cmp r0, 0x5 + bhi _080E2FF8 + lsls r0, 2 + ldr r1, _080E2FDC @ =_080E2FE0 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080E2FDC: .4byte _080E2FE0 + .align 2, 0 +_080E2FE0: + .4byte _080E2FFC + .4byte _080E3018 + .4byte _080E303A + .4byte _080E3056 + .4byte _080E2FFC + .4byte _080E307C +_080E2FF8: + movs r0, 0 + strh r0, [r4, 0x3A] +_080E2FFC: + ldrh r0, [r4, 0x3C] + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x5 + bl sub_8076B2C + subs r0, 0x4 + lsls r0, 16 + lsrs r5, r0, 16 + ldrh r0, [r4, 0x3C] + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x3 + b _080E3070 +_080E3018: + ldrh r0, [r4, 0x3C] + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x5 + bl sub_8076B2C + subs r0, 0x4 + lsls r0, 16 + lsrs r5, r0, 16 + ldrh r0, [r4, 0x3C] + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x2 + bl sub_8076B2C + adds r0, 0x4 + b _080E3076 +_080E303A: + ldrh r0, [r4, 0x3C] + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x4 + bl sub_8076B2C + adds r0, 0x4 + lsls r0, 16 + lsrs r5, r0, 16 + ldrh r0, [r4, 0x3C] + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x3 + b _080E3070 +_080E3056: + ldrh r0, [r4, 0x3C] + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x4 + bl sub_8076B2C + adds r0, 0x4 + lsls r0, 16 + lsrs r5, r0, 16 + ldrh r0, [r4, 0x3C] + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x2 +_080E3070: + bl sub_8076B2C + subs r0, 0x4 +_080E3076: + lsls r0, 16 + lsrs r1, r0, 16 + b _080E309C +_080E307C: + ldrh r0, [r4, 0x3C] + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r5, r0, 24 + ldrh r0, [r4, 0x3C] + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r1, r0, 24 +_080E309C: + movs r2, 0x3A + ldrsh r0, [r4, r2] + cmp r0, 0x4 + bne _080E30A8 + movs r0, 0x18 + b _080E30B2 +_080E30A8: + cmp r0, 0x5 + bne _080E30B0 + movs r0, 0x6 + b _080E30B2 +_080E30B0: + movs r0, 0xC +_080E30B2: + strh r0, [r4, 0x2E] + ldrh r0, [r4, 0x20] + strh r0, [r4, 0x30] + strh r5, [r4, 0x32] + ldrh r0, [r4, 0x22] + strh r0, [r4, 0x34] + strh r1, [r4, 0x36] + adds r0, r4, 0 + bl obj_translate_based_on_private_1_2_3_4 + b _080E3188 +_080E30C8: + adds r0, r4, 0 + bl sub_80755E0 + lsls r0, 24 + cmp r0, 0 + beq _080E3196 + movs r1, 0x3A + ldrsh r0, [r4, r1] + cmp r0, 0x4 + beq _080E3100 + cmp r0, 0x5 + beq _080E3120 + ldrh r0, [r4, 0x24] + ldrh r2, [r4, 0x20] + adds r0, r2 + movs r1, 0 + strh r0, [r4, 0x20] + ldrh r0, [r4, 0x26] + ldrh r2, [r4, 0x22] + adds r0, r2 + strh r0, [r4, 0x22] + strh r1, [r4, 0x26] + strh r1, [r4, 0x24] + strh r1, [r4, 0x2E] + ldrh r0, [r4, 0x38] + adds r0, 0x1 + strh r0, [r4, 0x38] + b _080E3118 +_080E3100: + ldrh r0, [r4, 0x24] + ldrh r1, [r4, 0x20] + adds r0, r1 + movs r1, 0 + strh r0, [r4, 0x20] + ldrh r0, [r4, 0x26] + ldrh r2, [r4, 0x22] + adds r0, r2 + strh r0, [r4, 0x22] + strh r1, [r4, 0x26] + strh r1, [r4, 0x24] + strh r1, [r4, 0x38] +_080E3118: + ldrh r0, [r4, 0x3A] + adds r0, 0x1 + strh r0, [r4, 0x3A] + b _080E3196 +_080E3120: + movs r0, 0 + strh r0, [r4, 0x2E] + movs r1, 0x10 + strh r1, [r4, 0x30] + strh r0, [r4, 0x32] + movs r0, 0x3 + strh r0, [r4, 0x38] + b _080E3196 +_080E3130: + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x4 + bne _080E3196 + movs r0, 0 + strh r0, [r4, 0x38] + b _080E3196 +_080E3144: + ldrh r1, [r4, 0x2E] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + bne _080E3156 + ldrh r0, [r4, 0x30] + subs r0, 0x1 + strh r0, [r4, 0x30] + b _080E315C +_080E3156: + ldrh r0, [r4, 0x32] + adds r0, 0x1 + strh r0, [r4, 0x32] +_080E315C: + ldrh r1, [r4, 0x32] + lsls r1, 8 + ldrh r0, [r4, 0x30] + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x20 + bne _080E3196 + adds r2, r4, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] +_080E3188: + ldrh r0, [r4, 0x38] + adds r0, 0x1 + strh r0, [r4, 0x38] + b _080E3196 +_080E3190: + adds r0, r4, 0 + bl DestroyAnimSprite +_080E3196: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80E2F98 + + thumb_func_start sub_80E319C +sub_80E319C: @ 80E319C + push {r4,r5,lr} + adds r4, r0, 0 + movs r1, 0x32 + ldrsh r0, [r4, r1] + movs r2, 0x2E + ldrsh r1, [r4, r2] + subs r0, r1 + movs r2, 0x38 + ldrsh r1, [r4, r2] + muls r0, r1 + movs r2, 0x36 + ldrsh r1, [r4, r2] + bl __divsi3 + adds r5, r0, 0 + strh r5, [r4, 0x24] + movs r1, 0x34 + ldrsh r0, [r4, r1] + movs r2, 0x30 + ldrsh r1, [r4, r2] + subs r0, r1 + movs r2, 0x38 + ldrsh r1, [r4, r2] + muls r0, r1 + movs r2, 0x36 + ldrsh r1, [r4, r2] + bl __divsi3 + adds r3, r0, 0 + strh r3, [r4, 0x26] + ldrh r1, [r4, 0x38] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + bne _080E31FA + ldr r0, _080E3218 @ =gUnknown_83FF180 + ldrh r1, [r4, 0x20] + adds r1, r5 + lsls r1, 16 + asrs r1, 16 + ldrh r2, [r4, 0x22] + adds r2, r3 + lsls r2, 16 + asrs r2, 16 + movs r3, 0x5 + bl CreateSprite +_080E31FA: + movs r0, 0x38 + ldrsh r1, [r4, r0] + movs r2, 0x36 + ldrsh r0, [r4, r2] + cmp r1, r0 + bne _080E320C + adds r0, r4, 0 + bl DestroyAnimSprite +_080E320C: + ldrh r0, [r4, 0x38] + adds r0, 0x1 + strh r0, [r4, 0x38] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080E3218: .4byte gUnknown_83FF180 + thumb_func_end sub_80E319C + + thumb_func_start sub_80E321C +sub_80E321C: @ 80E321C + push {r4,r5,lr} + adds r5, r0, 0 + ldr r4, _080E3250 @ =gBattleAnimTarget + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + ldrb r0, [r4] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _080E3258 + ldr r2, _080E3254 @ =gBattleAnimArgs + ldrh r1, [r5, 0x20] + ldrh r0, [r2] + subs r0, r1, r0 + strh r0, [r5, 0x2E] + ldrh r0, [r2, 0x4] + subs r1, r0 + b _080E3266 + .align 2, 0 +_080E3250: .4byte gBattleAnimTarget +_080E3254: .4byte gBattleAnimArgs +_080E3258: + ldr r2, _080E328C @ =gBattleAnimArgs + ldrh r1, [r5, 0x20] + ldrh r0, [r2] + adds r0, r1, r0 + strh r0, [r5, 0x2E] + ldrh r0, [r2, 0x4] + adds r1, r0 +_080E3266: + strh r1, [r5, 0x32] + adds r3, r2, 0 + ldrh r1, [r5, 0x22] + ldrh r2, [r3, 0x2] + adds r2, r1, r2 + strh r2, [r5, 0x30] + ldrh r0, [r3, 0x6] + adds r1, r0 + strh r1, [r5, 0x34] + ldrh r0, [r3, 0x8] + strh r0, [r5, 0x36] + ldrh r0, [r5, 0x2E] + strh r0, [r5, 0x20] + strh r2, [r5, 0x22] + ldr r0, _080E3290 @ =sub_80E319C + str r0, [r5, 0x1C] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080E328C: .4byte gBattleAnimArgs +_080E3290: .4byte sub_80E319C + thumb_func_end sub_80E321C + + thumb_func_start sub_80E3294 +sub_80E3294: @ 80E3294 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + lsls r0, 24 + lsrs r6, r0, 24 + movs r0, 0 + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r5, r0, 24 + adds r2, r5, 0 + ldr r0, _080E32D8 @ =gTasks + mov r9, r0 + lsls r7, r6, 2 + adds r0, r7, r6 + lsls r0, 3 + mov r8, r0 + mov r4, r8 + add r4, r9 + movs r1, 0x8 + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080E32DC + adds r0, r5, 0 + movs r1, 0 + bl sub_80758E0 + movs r0, 0x80 + lsls r0, 1 + strh r0, [r4, 0xA] + strh r0, [r4, 0xC] + b _080E3328 + .align 2, 0 +_080E32D8: .4byte gTasks +_080E32DC: + cmp r0, 0x1 + bne _080E3334 + ldrh r0, [r4, 0xA] + adds r0, 0x60 + strh r0, [r4, 0xA] + ldrh r0, [r4, 0xC] + subs r0, 0xD + strh r0, [r4, 0xC] + movs r2, 0xA + ldrsh r1, [r4, r2] + movs r0, 0xC + ldrsh r2, [r4, r0] + adds r0, r5, 0 + movs r3, 0 + bl obj_id_set_rotscale + ldrh r0, [r4, 0xE] + adds r0, 0x1 + strh r0, [r4, 0xE] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x9 + bne _080E3360 + movs r0, 0 + strh r0, [r4, 0xE] + adds r0, r5, 0 + bl sub_8075980 + ldr r1, _080E3330 @ =gSprites + lsls r0, r5, 4 + adds r0, r5 + lsls r0, 2 + adds r0, r1 + adds r0, 0x3E + ldrb r1, [r0] + movs r2, 0x4 + orrs r1, r2 + strb r1, [r0] +_080E3328: + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] + b _080E3360 + .align 2, 0 +_080E3330: .4byte gSprites +_080E3334: + ldr r0, _080E336C @ =gBattleAnimAttacker + ldrb r0, [r0] + movs r1, 0 + bl LoadBattleMonGfxAndAnimate + adds r3, r7, 0 + mov r4, r9 + movs r1, 0xF + mov r2, r8 + adds r0, r4, r2 + adds r0, 0x26 + movs r2, 0 +_080E334C: + strh r2, [r0] + subs r0, 0x2 + subs r1, 0x1 + cmp r1, 0 + bge _080E334C + adds r0, r3, r6 + lsls r0, 3 + adds r0, r4 + ldr r1, _080E3370 @ =sub_80E3374 + str r1, [r0] +_080E3360: + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080E336C: .4byte gBattleAnimAttacker +_080E3370: .4byte sub_80E3374 + thumb_func_end sub_80E3294 + + thumb_func_start sub_80E3374 +sub_80E3374: @ 80E3374 + push {r4-r6,lr} + lsls r0, 24 + lsrs r6, r0, 24 + movs r0, 0 + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r3, r0, 24 + ldr r1, _080E33A0 @ =gTasks + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + adds r4, r0, r1 + movs r0, 0x8 + ldrsh r5, [r4, r0] + cmp r5, 0x1 + beq _080E33D8 + cmp r5, 0x1 + bgt _080E33A4 + cmp r5, 0 + beq _080E33AE + b _080E34C6 + .align 2, 0 +_080E33A0: .4byte gTasks +_080E33A4: + cmp r5, 0x2 + beq _080E3444 + cmp r5, 0x3 + beq _080E3480 + b _080E34C6 +_080E33AE: + ldr r0, _080E33D0 @ =gSprites + lsls r1, r3, 4 + adds r1, r3 + lsls r1, 2 + adds r1, r0 + ldr r0, _080E33D4 @ =0x0000ff38 + strh r0, [r1, 0x26] + movs r0, 0xC8 + strh r0, [r1, 0x24] + adds r1, 0x3E + ldrb r2, [r1] + subs r0, 0xCD + ands r0, r2 + strb r0, [r1] + strh r5, [r4, 0x1C] + b _080E3472 + .align 2, 0 +_080E33D0: .4byte gSprites +_080E33D4: .4byte 0x0000ff38 +_080E33D8: + ldrh r1, [r4, 0x1C] + adds r1, 0x70 + movs r5, 0 + strh r1, [r4, 0x1C] + ldr r2, _080E343C @ =gSprites + lsls r0, r3, 4 + adds r0, r3 + lsls r0, 2 + adds r2, r0, r2 + lsls r1, 16 + asrs r1, 24 + ldrh r3, [r2, 0x26] + adds r1, r3 + strh r1, [r2, 0x26] + movs r1, 0x22 + ldrsh r0, [r2, r1] + movs r3, 0x26 + ldrsh r1, [r2, r3] + adds r0, r1 + movs r1, 0x20 + negs r1, r1 + cmp r0, r1 + blt _080E3408 + strh r5, [r2, 0x24] +_080E3408: + movs r1, 0x26 + ldrsh r0, [r2, r1] + cmp r0, 0 + ble _080E3412 + strh r5, [r2, 0x26] +_080E3412: + movs r3, 0x26 + ldrsh r0, [r2, r3] + cmp r0, 0 + bne _080E34C6 + movs r0, 0x40 + negs r0, r0 + bl sub_8073A44 + adds r1, r0, 0 + lsls r1, 24 + asrs r1, 24 + movs r0, 0x76 + bl PlaySE12WithPanning + ldr r1, _080E3440 @ =0xfffff800 + adds r0, r1, 0 + ldrh r2, [r4, 0x1C] + adds r0, r2 + strh r0, [r4, 0x1C] + b _080E3472 + .align 2, 0 +_080E343C: .4byte gSprites +_080E3440: .4byte 0xfffff800 +_080E3444: + ldrh r0, [r4, 0x1C] + subs r0, 0x70 + strh r0, [r4, 0x1C] + lsls r0, 16 + cmp r0, 0 + bge _080E3454 + movs r0, 0 + strh r0, [r4, 0x1C] +_080E3454: + ldr r0, _080E347C @ =gSprites + lsls r1, r3, 4 + adds r1, r3 + lsls r1, 2 + adds r1, r0 + ldrh r2, [r4, 0x1C] + lsls r2, 16 + asrs r2, 24 + ldrh r0, [r1, 0x26] + subs r0, r2 + strh r0, [r1, 0x26] + movs r3, 0x1C + ldrsh r0, [r4, r3] + cmp r0, 0 + bne _080E34C6 +_080E3472: + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] + b _080E34C6 + .align 2, 0 +_080E347C: .4byte gSprites +_080E3480: + ldrh r0, [r4, 0x1C] + adds r0, 0x70 + strh r0, [r4, 0x1C] + ldr r2, _080E34CC @ =gSprites + lsls r1, r3, 4 + adds r1, r3 + lsls r1, 2 + adds r1, r2 + lsls r0, 16 + asrs r0, 24 + ldrh r2, [r1, 0x26] + adds r0, r2 + strh r0, [r1, 0x26] + lsls r0, 16 + cmp r0, 0 + ble _080E34A4 + movs r0, 0 + strh r0, [r1, 0x26] +_080E34A4: + movs r3, 0x26 + ldrsh r0, [r1, r3] + cmp r0, 0 + bne _080E34C6 + movs r0, 0x40 + negs r0, r0 + bl sub_8073A44 + adds r1, r0, 0 + lsls r1, 24 + asrs r1, 24 + movs r0, 0x76 + bl PlaySE12WithPanning + adds r0, r6, 0 + bl DestroyAnimVisualTask +_080E34C6: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080E34CC: .4byte gSprites + thumb_func_end sub_80E3374 + + thumb_func_start sub_80E34D0 +sub_80E34D0: @ 80E34D0 + push {r4,r5,lr} + adds r5, r0, 0 + ldr r4, _080E34F4 @ =gBattleAnimTarget + ldrb r0, [r4] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _080E34FC + ldrb r0, [r4] + bl sub_807685C + subs r0, 0x2 + adds r1, r5, 0 + adds r1, 0x43 + strb r0, [r1] + ldr r4, _080E34F8 @ =0x0000ff70 + b _080E350C + .align 2, 0 +_080E34F4: .4byte gBattleAnimTarget +_080E34F8: .4byte 0x0000ff70 +_080E34FC: + ldrb r0, [r4] + bl sub_807685C + adds r0, 0x2 + adds r1, r5, 0 + adds r1, 0x43 + strb r0, [r1] + ldr r4, _080E3528 @ =0x0000ffa0 +_080E350C: + ldr r0, _080E352C @ =gBattleAnimTarget + ldrb r0, [r0] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x22] + strh r4, [r5, 0x26] + ldr r0, _080E3530 @ =sub_80E3534 + str r0, [r5, 0x1C] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080E3528: .4byte 0x0000ffa0 +_080E352C: .4byte gBattleAnimTarget +_080E3530: .4byte sub_80E3534 + thumb_func_end sub_80E34D0 + + thumb_func_start sub_80E3534 +sub_80E3534: @ 80E3534 + push {r4,r5,lr} + adds r4, r0, 0 + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0x4 + bls _080E3542 + b _080E365E +_080E3542: + lsls r0, 2 + ldr r1, _080E354C @ =_080E3550 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080E354C: .4byte _080E3550 + .align 2, 0 +_080E3550: + .4byte _080E3564 + .4byte _080E3588 + .4byte _080E35C8 + .4byte _080E35F8 + .4byte _080E3624 +_080E3564: + ldrh r0, [r4, 0x26] + adds r0, 0xA + strh r0, [r4, 0x26] + lsls r0, 16 + cmp r0, 0 + blt _080E365E + movs r0, 0x3F + bl sub_8073A44 + adds r1, r0, 0 + lsls r1, 24 + asrs r1, 24 + movs r0, 0xC6 + bl PlaySE12WithPanning + movs r0, 0 + strh r0, [r4, 0x26] + b _080E361C +_080E3588: + ldrh r1, [r4, 0x30] + adds r1, 0x4 + movs r5, 0 + strh r1, [r4, 0x30] + ldr r2, _080E35C4 @ =gSineTable + movs r3, 0x30 + ldrsh r0, [r4, r3] + lsls r0, 1 + adds r0, r2 + ldrh r0, [r0] + lsls r0, 16 + asrs r0, 19 + negs r0, r0 + strh r0, [r4, 0x26] + lsls r1, 16 + asrs r1, 16 + cmp r1, 0x7F + ble _080E365E + movs r0, 0x3F + bl sub_8073A44 + adds r1, r0, 0 + lsls r1, 24 + asrs r1, 24 + movs r0, 0xC6 + bl PlaySE12WithPanning + strh r5, [r4, 0x30] + strh r5, [r4, 0x26] + b _080E361C + .align 2, 0 +_080E35C4: .4byte gSineTable +_080E35C8: + ldrh r1, [r4, 0x30] + adds r1, 0x6 + movs r3, 0 + strh r1, [r4, 0x30] + ldr r2, _080E35F4 @ =gSineTable + movs r5, 0x30 + ldrsh r0, [r4, r5] + lsls r0, 1 + adds r0, r2 + ldrh r0, [r0] + lsls r0, 16 + asrs r0, 20 + negs r0, r0 + strh r0, [r4, 0x26] + lsls r1, 16 + asrs r1, 16 + cmp r1, 0x7F + ble _080E365E + strh r3, [r4, 0x30] + strh r3, [r4, 0x26] + b _080E361C + .align 2, 0 +_080E35F4: .4byte gSineTable +_080E35F8: + ldrh r0, [r4, 0x30] + adds r0, 0x1 + strh r0, [r4, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x8 + ble _080E365E + movs r0, 0x3F + bl sub_8073A44 + adds r1, r0, 0 + lsls r1, 24 + asrs r1, 24 + movs r0, 0xB9 + bl PlaySE12WithPanning + movs r0, 0 + strh r0, [r4, 0x30] +_080E361C: + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + b _080E365E +_080E3624: + ldrh r0, [r4, 0x30] + adds r0, 0x1 + strh r0, [r4, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x8 + ble _080E365E + movs r0, 0 + strh r0, [r4, 0x30] + ldrh r1, [r4, 0x32] + adds r1, 0x1 + strh r1, [r4, 0x32] + movs r0, 0x1 + ands r1, r0 + adds r3, r4, 0 + adds r3, 0x3E + lsls r1, 2 + ldrb r2, [r3] + subs r0, 0x6 + ands r0, r2 + orrs r0, r1 + strb r0, [r3] + movs r1, 0x32 + ldrsh r0, [r4, r1] + cmp r0, 0x7 + bne _080E365E + adds r0, r4, 0 + bl DestroyAnimSprite +_080E365E: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80E3534 + + thumb_func_start sub_80E3664 +sub_80E3664: @ 80E3664 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x4 + lsls r0, 24 + lsrs r7, r0, 24 + movs r0, 0x1 + bl duplicate_obj_of_side_rel2move_in_transparent_mode + lsls r0, 16 + lsrs r1, r0, 16 + str r1, [sp] + asrs r6, r0, 16 + cmp r6, 0 + blt _080E36A6 + movs r0, 0x1 + bl duplicate_obj_of_side_rel2move_in_transparent_mode + lsls r0, 16 + lsrs r1, r0, 16 + mov r9, r1 + asrs r1, r0, 16 + cmp r1, 0 + bge _080E36B4 + lsls r0, r6, 4 + adds r0, r6 + lsls r0, 2 + ldr r1, _080E36B0 @ =gSprites + adds r0, r1 + bl obj_delete_but_dont_free_vram +_080E36A6: + adds r0, r7, 0 + bl DestroyAnimVisualTask + b _080E37BA + .align 2, 0 +_080E36B0: .4byte gSprites +_080E36B4: + ldr r4, _080E3744 @ =gSprites + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r5, r0, r4 + ldrh r0, [r5, 0x24] + adds r0, 0x18 + movs r1, 0 + strh r0, [r5, 0x24] + lsls r0, r6, 4 + adds r0, r6 + lsls r0, 2 + adds r6, r0, r4 + ldrh r0, [r6, 0x24] + subs r0, 0x18 + strh r0, [r6, 0x24] + strh r1, [r5, 0x2E] + strh r1, [r6, 0x2E] + strh r1, [r5, 0x30] + strh r1, [r6, 0x30] + strh r1, [r5, 0x32] + strh r1, [r6, 0x32] + movs r0, 0x10 + strh r0, [r5, 0x34] + ldr r0, _080E3748 @ =0x0000fff0 + strh r0, [r6, 0x34] + strh r1, [r5, 0x36] + movs r0, 0x80 + strh r0, [r6, 0x36] + movs r0, 0x18 + strh r0, [r5, 0x38] + strh r0, [r6, 0x38] + strh r7, [r5, 0x3A] + strh r7, [r6, 0x3A] + strh r1, [r5, 0x3C] + strh r1, [r6, 0x3C] + ldr r2, _080E374C @ =gTasks + lsls r3, r7, 2 + adds r0, r3, r7 + lsls r0, 3 + adds r0, r2 + movs r1, 0x2 + strh r1, [r0, 0x8] + ldr r0, _080E3750 @ =gUnknown_2024018 + ldr r1, [r0] + ldr r0, _080E3754 @ =gBattleAnimTarget + ldrb r0, [r0] + ldr r1, [r1] + lsls r0, 2 + adds r0, r1 + ldrb r1, [r0] + movs r0, 0x1 + ands r0, r1 + mov r12, r4 + mov r10, r2 + mov r8, r3 + cmp r0, 0 + bne _080E3758 + adds r2, r5, 0 + adds r2, 0x3E + ldrb r1, [r2] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + strb r0, [r2] + adds r2, r6, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] + b _080E376E + .align 2, 0 +_080E3744: .4byte gSprites +_080E3748: .4byte 0x0000fff0 +_080E374C: .4byte gTasks +_080E3750: .4byte gUnknown_2024018 +_080E3754: .4byte gBattleAnimTarget +_080E3758: + adds r1, r5, 0 + adds r1, 0x3E + ldrb r0, [r1] + movs r2, 0x4 + orrs r0, r2 + strb r0, [r1] + adds r1, r6, 0 + adds r1, 0x3E + ldrb r0, [r1] + orrs r0, r2 + strb r0, [r1] +_080E376E: + mov r1, r9 + lsls r0, r1, 16 + asrs r0, 16 + lsls r2, r0, 4 + adds r2, r0 + lsls r2, 2 + mov r0, r12 + adds r4, r2, r0 + ldrb r1, [r4, 0x1] + movs r3, 0xD + negs r3, r3 + adds r0, r3, 0 + ands r0, r1 + strb r0, [r4, 0x1] + ldr r1, [sp] + lsls r0, r1, 16 + asrs r0, 16 + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + mov r0, r12 + adds r4, r1, r0 + ldrb r0, [r4, 0x1] + ands r3, r0 + strb r3, [r4, 0x1] + mov r3, r12 + adds r3, 0x1C + adds r2, r3 + ldr r0, _080E37CC @ =sub_80E37FC + str r0, [r2] + adds r1, r3 + str r0, [r1] + mov r1, r8 + adds r0, r1, r7 + lsls r0, 3 + add r0, r10 + ldr r1, _080E37D0 @ =sub_80E37D4 + str r1, [r0] +_080E37BA: + add sp, 0x4 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080E37CC: .4byte sub_80E37FC +_080E37D0: .4byte sub_80E37D4 + thumb_func_end sub_80E3664 + + thumb_func_start sub_80E37D4 +sub_80E37D4: @ 80E37D4 + push {lr} + lsls r0, 24 + lsrs r2, r0, 24 + ldr r1, _080E37F8 @ =gTasks + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + adds r0, r1 + movs r1, 0x8 + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _080E37F2 + adds r0, r2, 0 + bl DestroyAnimVisualTask +_080E37F2: + pop {r0} + bx r0 + .align 2, 0 +_080E37F8: .4byte gTasks + thumb_func_end sub_80E37D4 + + thumb_func_start sub_80E37FC +sub_80E37FC: @ 80E37FC + push {r4,r5,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x30] + adds r0, 0x1 + strh r0, [r4, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + ble _080E3846 + movs r0, 0 + strh r0, [r4, 0x30] + ldr r0, _080E3870 @ =gUnknown_2024018 + ldr r1, [r0] + ldr r0, _080E3874 @ =gBattleAnimTarget + ldrb r0, [r0] + ldr r1, [r1] + lsls r0, 2 + adds r0, r1 + ldrb r1, [r0] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + bne _080E3846 + adds r3, r4, 0 + adds r3, 0x3E + ldrb r2, [r3] + lsls r1, r2, 29 + lsrs r1, 31 + movs r0, 0x1 + eors r1, r0 + ands r1, r0 + lsls r1, 2 + movs r0, 0x5 + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r3] +_080E3846: + ldrh r0, [r4, 0x34] + ldrh r1, [r4, 0x36] + adds r0, r1 + movs r5, 0 + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0x36] + movs r2, 0x36 + ldrsh r0, [r4, r2] + movs r2, 0x38 + ldrsh r1, [r4, r2] + bl Cos + strh r0, [r4, 0x24] + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0 + beq _080E3878 + cmp r0, 0x1 + beq _080E3890 + b _080E38CE + .align 2, 0 +_080E3870: .4byte gUnknown_2024018 +_080E3874: .4byte gBattleAnimTarget +_080E3878: + ldrh r0, [r4, 0x32] + adds r0, 0x1 + strh r0, [r4, 0x32] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x3C + bne _080E38CE + strh r5, [r4, 0x32] + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + b _080E38CE +_080E3890: + ldrh r0, [r4, 0x32] + adds r0, 0x1 + strh r0, [r4, 0x32] + lsls r0, 16 + cmp r0, 0 + ble _080E38CE + strh r5, [r4, 0x32] + ldrh r0, [r4, 0x38] + subs r0, 0x2 + strh r0, [r4, 0x38] + lsls r0, 16 + cmp r0, 0 + bge _080E38CE + ldr r3, _080E38D4 @ =gTasks + movs r2, 0x3C + ldrsh r1, [r4, r2] + lsls r1, 1 + movs r0, 0x3A + ldrsh r2, [r4, r0] + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + adds r1, r0 + adds r3, 0x8 + adds r1, r3 + ldrh r0, [r1] + subs r0, 0x1 + strh r0, [r1] + adds r0, r4, 0 + bl obj_delete_but_dont_free_vram +_080E38CE: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080E38D4: .4byte gTasks + thumb_func_end sub_80E37FC + + thumb_func_start sub_80E38D8 +sub_80E38D8: @ 80E38D8 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r3, _080E3924 @ =gBattleAnimArgs + movs r2, 0 + strh r2, [r3, 0xE] + ldr r1, _080E3928 @ =gUnknown_2037EFE + ldrb r0, [r1] + ldrb r1, [r1] + adds r0, r1, 0 + subs r0, 0x3D + lsls r0, 24 + lsrs r0, 24 + adds r2, r1, 0 + cmp r0, 0x1E + bhi _080E38FC + movs r0, 0x1 + strh r0, [r3, 0xE] +_080E38FC: + adds r0, r2, 0 + subs r0, 0x5C + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x6C + bhi _080E390C + movs r0, 0x2 + strh r0, [r3, 0xE] +_080E390C: + lsls r0, r1, 24 + lsrs r0, 24 + cmp r0, 0xC8 + bls _080E3918 + movs r0, 0x3 + strh r0, [r3, 0xE] +_080E3918: + adds r0, r4, 0 + bl DestroyAnimVisualTask + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080E3924: .4byte gBattleAnimArgs +_080E3928: .4byte gUnknown_2037EFE + thumb_func_end sub_80E38D8 + + thumb_func_start sub_80E392C +sub_80E392C: @ 80E392C + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x1C + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + ldr r1, _080E395C @ =gTasks + lsls r0, 2 + add r0, r8 + lsls r0, 3 + adds r0, r1 + movs r1, 0x8 + ldrsh r0, [r0, r1] + cmp r0, 0x4 + bls _080E3952 + b _080E3E6C +_080E3952: + lsls r0, 2 + ldr r1, _080E3960 @ =_080E3964 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080E395C: .4byte gTasks +_080E3960: .4byte _080E3964 + .align 2, 0 +_080E3964: + .4byte _080E3978 + .4byte _080E3A2C + .4byte _080E3BEC + .4byte _080E3D0C + .4byte _080E3D90 +_080E3978: + movs r0, 0 + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r7, r0, 24 + ldr r1, _080E39C4 @ =gTasks + mov r2, r8 + lsls r4, r2, 2 + adds r0, r4, r2 + lsls r0, 3 + adds r6, r0, r1 + movs r3, 0x80 + lsls r3, 4 + adds r0, r3, 0 + ldrh r1, [r6, 0xA] + adds r0, r1 + strh r0, [r6, 0xA] + ldr r0, _080E39C8 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + mov r9, r4 + cmp r0, 0 + bne _080E39D0 + ldr r2, _080E39CC @ =gSprites + lsls r3, r7, 4 + adds r1, r3, r7 + lsls r1, 2 + adds r1, r2 + ldrh r0, [r6, 0xA] + lsls r0, 16 + asrs r0, 24 + ldrh r4, [r1, 0x24] + adds r0, r4 + strh r0, [r1, 0x24] + b _080E39EA + .align 2, 0 +_080E39C4: .4byte gTasks +_080E39C8: .4byte gBattleAnimAttacker +_080E39CC: .4byte gSprites +_080E39D0: + ldr r3, _080E3A24 @ =gSprites + lsls r4, r7, 4 + adds r2, r4, r7 + lsls r2, 2 + adds r2, r3 + ldrh r1, [r6, 0xA] + lsls r1, 16 + asrs r1, 24 + ldrh r0, [r2, 0x24] + subs r0, r1 + strh r0, [r2, 0x24] + adds r2, r3, 0 + adds r3, r4, 0 +_080E39EA: + ldr r1, _080E3A28 @ =gTasks + mov r0, r9 + add r0, r8 + lsls r0, 3 + adds r4, r0, r1 + ldrb r0, [r4, 0xA] + strh r0, [r4, 0xA] + adds r1, r3, r7 + lsls r1, 2 + adds r1, r2 + ldrh r0, [r1, 0x24] + ldrh r1, [r1, 0x20] + adds r0, r1 + lsls r0, 16 + movs r1, 0x80 + lsls r1, 14 + adds r0, r1 + movs r1, 0x98 + lsls r1, 17 + cmp r0, r1 + bhi _080E3A16 + b _080E3E6C +_080E3A16: + movs r0, 0 + strh r0, [r4, 0xA] + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] + b _080E3E6C + .align 2, 0 +_080E3A24: .4byte gSprites +_080E3A28: .4byte gTasks +_080E3A2C: + ldr r4, _080E3A90 @ =gBattleAnimAttacker + ldrb r0, [r4] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _080E3ACC + ldr r7, _080E3A94 @ =gBattlerPartyIndexes + ldrb r0, [r4] + lsls r0, 1 + adds r0, r7 + ldrh r0, [r0] + movs r6, 0x64 + muls r0, r6 + ldr r5, _080E3A98 @ =gPlayerParty + adds r0, r5 + movs r1, 0 + bl GetMonData + mov r10, r0 + ldrb r0, [r4] + lsls r0, 1 + adds r0, r7 + ldrh r0, [r0] + muls r0, r6 + adds r0, r5 + movs r1, 0x1 + bl GetMonData + mov r9, r0 + ldr r0, _080E3A9C @ =gUnknown_2024018 + ldr r0, [r0] + ldrb r2, [r4] + ldr r1, [r0] + lsls r0, r2, 2 + adds r1, r0, r1 + ldrh r0, [r1, 0x2] + cmp r0, 0 + bne _080E3AA0 + lsls r0, r2, 1 + adds r0, r7 + ldrh r0, [r0] + muls r0, r6 + adds r0, r5 + movs r1, 0xB + bl GetMonData + lsls r0, 16 + lsrs r5, r0, 16 + b _080E3AA2 + .align 2, 0 +_080E3A90: .4byte gBattleAnimAttacker +_080E3A94: .4byte gBattlerPartyIndexes +_080E3A98: .4byte gPlayerParty +_080E3A9C: .4byte gUnknown_2024018 +_080E3AA0: + ldrh r5, [r1, 0x2] +_080E3AA2: + movs r0, 0x1 + bl GetAnimBankSpriteId + ldr r2, _080E3AC8 @ =gSprites + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r2 + adds r1, 0x43 + ldrb r0, [r1] + adds r0, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + movs r7, 0 + movs r6, 0x88 + lsls r6, 1 + b _080E3B54 + .align 2, 0 +_080E3AC8: .4byte gSprites +_080E3ACC: + ldr r7, _080E3B24 @ =gBattlerPartyIndexes + ldrb r0, [r4] + lsls r0, 1 + adds r0, r7 + ldrh r0, [r0] + movs r6, 0x64 + muls r0, r6 + ldr r5, _080E3B28 @ =gEnemyParty + adds r0, r5 + movs r1, 0 + bl GetMonData + mov r10, r0 + ldrb r0, [r4] + lsls r0, 1 + adds r0, r7 + ldrh r0, [r0] + muls r0, r6 + adds r0, r5 + movs r1, 0x1 + bl GetMonData + mov r9, r0 + ldr r0, _080E3B2C @ =gUnknown_2024018 + ldr r0, [r0] + ldrb r2, [r4] + ldr r1, [r0] + lsls r0, r2, 2 + adds r1, r0, r1 + ldrh r0, [r1, 0x2] + cmp r0, 0 + bne _080E3B30 + lsls r0, r2, 1 + adds r0, r7 + ldrh r0, [r0] + muls r0, r6 + adds r0, r5 + movs r1, 0xB + bl GetMonData + lsls r0, 16 + lsrs r5, r0, 16 + b _080E3B32 + .align 2, 0 +_080E3B24: .4byte gBattlerPartyIndexes +_080E3B28: .4byte gEnemyParty +_080E3B2C: .4byte gUnknown_2024018 +_080E3B30: + ldrh r5, [r1, 0x2] +_080E3B32: + movs r0, 0x1 + bl GetAnimBankSpriteId + ldr r2, _080E3BD0 @ =gSprites + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r2 + adds r1, 0x43 + ldrb r0, [r1] + subs r0, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + movs r7, 0x1 + ldr r6, _080E3BD4 @ =0x0000ffe0 +_080E3B54: + ldr r0, _080E3BD8 @ =gBattleAnimTarget + ldrb r0, [r0] + movs r1, 0x1 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + lsls r3, r6, 16 + asrs r3, 16 + str r0, [sp] + str r4, [sp, 0x4] + mov r2, r10 + str r2, [sp, 0x8] + mov r4, r9 + str r4, [sp, 0xC] + ldr r4, _080E3BDC @ =gBattleAnimAttacker + ldrb r0, [r4] + str r0, [sp, 0x10] + movs r0, 0 + str r0, [sp, 0x14] + adds r0, r5, 0 + adds r1, r7, 0 + movs r2, 0 + bl sub_80768D0 + lsls r0, 24 + lsrs r5, r0, 24 + ldr r0, _080E3BE0 @ =gUnknown_2024018 + ldr r1, [r0] + ldrb r0, [r4] + ldr r1, [r1] + lsls r0, 2 + adds r0, r1 + ldrh r0, [r0, 0x2] + cmp r0, 0 + beq _080E3BBE + ldr r1, _080E3BD0 @ =gSprites + lsls r0, r5, 4 + adds r0, r5 + lsls r0, 2 + adds r0, r1 + ldrb r0, [r0, 0x5] + lsrs r0, 4 + lsls r0, 4 + movs r2, 0x80 + lsls r2, 1 + adds r1, r2, 0 + orrs r0, r1 + ldr r3, _080E3BE4 @ =0x00007fff + movs r1, 0x10 + movs r2, 0x6 + bl BlendPalette +_080E3BBE: + ldr r0, _080E3BE8 @ =gTasks + mov r3, r8 + lsls r1, r3, 2 + add r1, r8 + lsls r1, 3 + adds r1, r0 + strh r5, [r1, 0x26] + b _080E3D82 + .align 2, 0 +_080E3BD0: .4byte gSprites +_080E3BD4: .4byte 0x0000ffe0 +_080E3BD8: .4byte gBattleAnimTarget +_080E3BDC: .4byte gBattleAnimAttacker +_080E3BE0: .4byte gUnknown_2024018 +_080E3BE4: .4byte 0x00007fff +_080E3BE8: .4byte gTasks +_080E3BEC: + ldr r1, _080E3C38 @ =gTasks + mov r0, r8 + lsls r4, r0, 2 + adds r0, r4, r0 + lsls r0, 3 + adds r6, r0, r1 + ldrh r0, [r6, 0x26] + lsls r0, 24 + lsrs r5, r0, 24 + movs r1, 0x80 + lsls r1, 4 + adds r0, r1, 0 + ldrh r2, [r6, 0xA] + adds r0, r2 + strh r0, [r6, 0xA] + ldr r0, _080E3C3C @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + mov r9, r4 + cmp r0, 0 + bne _080E3C44 + ldr r3, _080E3C40 @ =gSprites + lsls r4, r5, 4 + adds r2, r4, r5 + lsls r2, 2 + adds r2, r3 + ldrh r1, [r6, 0xA] + lsls r1, 16 + asrs r1, 24 + ldrh r0, [r2, 0x24] + subs r0, r1 + strh r0, [r2, 0x24] + adds r2, r3, 0 + adds r3, r4, 0 + b _080E3C5A + .align 2, 0 +_080E3C38: .4byte gTasks +_080E3C3C: .4byte gBattleAnimAttacker +_080E3C40: .4byte gSprites +_080E3C44: + ldr r2, _080E3CA8 @ =gSprites + lsls r3, r5, 4 + adds r1, r3, r5 + lsls r1, 2 + adds r1, r2 + ldrh r0, [r6, 0xA] + lsls r0, 16 + asrs r0, 24 + ldrh r4, [r1, 0x24] + adds r0, r4 + strh r0, [r1, 0x24] +_080E3C5A: + ldr r1, _080E3CAC @ =gTasks + mov r0, r9 + add r0, r8 + lsls r0, 3 + adds r6, r0, r1 + ldrb r0, [r6, 0xA] + strh r0, [r6, 0xA] + adds r1, r3, r5 + lsls r1, 2 + adds r1, r2 + ldrh r0, [r1, 0x24] + ldrh r1, [r1, 0x20] + adds r0, r1 + lsls r0, 16 + lsrs r5, r0, 16 + movs r1, 0x24 + ldrsh r0, [r6, r1] + cmp r0, 0 + bne _080E3CDA + ldr r0, _080E3CB0 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _080E3CB8 + lsls r4, r5, 16 + asrs r4, 16 + ldr r0, _080E3CB4 @ =gBattleAnimTarget + ldrb r0, [r0] + movs r1, 0 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + cmp r4, r0 + bge _080E3CDA + b _080E3CCE + .align 2, 0 +_080E3CA8: .4byte gSprites +_080E3CAC: .4byte gTasks +_080E3CB0: .4byte gBattleAnimAttacker +_080E3CB4: .4byte gBattleAnimTarget +_080E3CB8: + lsls r4, r5, 16 + asrs r4, 16 + ldr r0, _080E3CFC @ =gBattleAnimTarget + ldrb r0, [r0] + movs r1, 0 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + cmp r4, r0 + ble _080E3CDA +_080E3CCE: + ldrh r0, [r6, 0x24] + adds r0, 0x1 + strh r0, [r6, 0x24] + ldr r1, _080E3D00 @ =gBattleAnimArgs + ldr r0, _080E3D04 @ =0x0000ffff + strh r0, [r1, 0xE] +_080E3CDA: + lsls r0, r5, 16 + movs r2, 0x80 + lsls r2, 14 + adds r0, r2 + movs r1, 0x98 + lsls r1, 17 + cmp r0, r1 + bhi _080E3CEC + b _080E3E6C +_080E3CEC: + ldr r0, _080E3D08 @ =gTasks + mov r1, r9 + add r1, r8 + lsls r1, 3 + adds r1, r0 + movs r0, 0 + strh r0, [r1, 0xA] + b _080E3D82 + .align 2, 0 +_080E3CFC: .4byte gBattleAnimTarget +_080E3D00: .4byte gBattleAnimArgs +_080E3D04: .4byte 0x0000ffff +_080E3D08: .4byte gTasks +_080E3D0C: + movs r0, 0 + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r7, r0, 24 + ldr r1, _080E3D58 @ =gTasks + mov r3, r8 + lsls r4, r3, 2 + adds r0, r4, r3 + lsls r0, 3 + adds r0, r1 + ldrh r0, [r0, 0x26] + lsls r0, 24 + lsrs r5, r0, 24 + lsls r0, r5, 4 + adds r0, r5 + lsls r0, 2 + ldr r5, _080E3D5C @ =gSprites + adds r0, r5 + bl sub_8076B20 + ldr r0, _080E3D60 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + mov r9, r4 + cmp r0, 0 + bne _080E3D64 + lsls r1, r7, 4 + adds r1, r7 + lsls r1, 2 + adds r1, r5 + ldrh r0, [r1, 0x20] + negs r0, r0 + subs r0, 0x20 + strh r0, [r1, 0x24] + b _080E3D78 + .align 2, 0 +_080E3D58: .4byte gTasks +_080E3D5C: .4byte gSprites +_080E3D60: .4byte gBattleAnimAttacker +_080E3D64: + lsls r0, r7, 4 + adds r0, r7 + lsls r0, 2 + adds r0, r5 + ldrh r2, [r0, 0x20] + movs r4, 0x88 + lsls r4, 1 + adds r1, r4, 0 + subs r1, r2 + strh r1, [r0, 0x24] +_080E3D78: + ldr r0, _080E3D8C @ =gTasks + mov r1, r9 + add r1, r8 + lsls r1, 3 + adds r1, r0 +_080E3D82: + ldrh r0, [r1, 0x8] + adds r0, 0x1 + strh r0, [r1, 0x8] + b _080E3E6C + .align 2, 0 +_080E3D8C: .4byte gTasks +_080E3D90: + movs r0, 0 + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r7, r0, 24 + ldr r1, _080E3E04 @ =gTasks + mov r0, r8 + lsls r4, r0, 2 + adds r0, r4, r0 + lsls r0, 3 + adds r2, r0, r1 + movs r1, 0x80 + lsls r1, 4 + adds r0, r1, 0 + ldrh r3, [r2, 0xA] + adds r0, r3 + strh r0, [r2, 0xA] + ldr r0, _080E3E08 @ =gBattleAnimAttacker + mov r10, r0 + ldrb r0, [r0] + str r2, [sp, 0x18] + bl GetBattlerSide + lsls r0, 24 + mov r9, r4 + ldr r2, [sp, 0x18] + cmp r0, 0 + bne _080E3E10 + ldr r1, _080E3E0C @ =gSprites + lsls r5, r7, 4 + adds r0, r5, r7 + lsls r0, 2 + adds r6, r0, r1 + ldrh r0, [r2, 0xA] + lsls r0, 16 + asrs r0, 24 + ldrh r1, [r6, 0x24] + adds r0, r1 + strh r0, [r6, 0x24] + movs r2, 0x24 + ldrsh r4, [r6, r2] + movs r3, 0x20 + ldrsh r0, [r6, r3] + adds r4, r0 + mov r1, r10 + ldrb r0, [r1] + movs r1, 0 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + adds r3, r5, 0 + cmp r4, r0 + blt _080E3E48 + movs r2, 0 + strh r2, [r6, 0x24] + b _080E3E48 + .align 2, 0 +_080E3E04: .4byte gTasks +_080E3E08: .4byte gBattleAnimAttacker +_080E3E0C: .4byte gSprites +_080E3E10: + ldr r1, _080E3E7C @ =gSprites + lsls r5, r7, 4 + adds r0, r5, r7 + lsls r0, 2 + adds r6, r0, r1 + ldrh r1, [r2, 0xA] + lsls r1, 16 + asrs r1, 24 + ldrh r0, [r6, 0x24] + subs r0, r1 + strh r0, [r6, 0x24] + movs r3, 0x24 + ldrsh r4, [r6, r3] + movs r1, 0x20 + ldrsh r0, [r6, r1] + adds r4, r0 + mov r2, r10 + ldrb r0, [r2] + movs r1, 0 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + adds r3, r5, 0 + cmp r4, r0 + bgt _080E3E48 + movs r4, 0 + strh r4, [r6, 0x24] +_080E3E48: + ldr r1, _080E3E80 @ =gTasks + mov r0, r9 + add r0, r8 + lsls r0, 3 + adds r0, r1 + ldrb r1, [r0, 0xA] + strh r1, [r0, 0xA] + ldr r1, _080E3E7C @ =gSprites + adds r0, r3, r7 + lsls r0, 2 + adds r0, r1 + movs r1, 0x24 + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _080E3E6C + mov r0, r8 + bl DestroyAnimVisualTask +_080E3E6C: + add sp, 0x1C + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080E3E7C: .4byte gSprites +_080E3E80: .4byte gTasks + thumb_func_end sub_80E392C + + thumb_func_start sub_80E3E84 +sub_80E3E84: @ 80E3E84 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x3C + ldrsh r0, [r4, r1] + cmp r0, 0 + beq _080E3E96 + cmp r0, 0x1 + beq _080E3F36 + b _080E3FB8 +_080E3E96: + ldr r0, _080E3F14 @ =gBattleAnimArgs + movs r2, 0xE + ldrsh r1, [r0, r2] + movs r0, 0x1 + negs r0, r0 + cmp r1, r0 + bne _080E3F28 + movs r0, 0x3F + bl sub_8073A44 + adds r1, r0, 0 + lsls r1, 24 + asrs r1, 24 + movs r0, 0x73 + bl PlaySE12WithPanning + ldr r0, _080E3F18 @ =gBattleAnimTarget + ldrb r0, [r0] + movs r1, 0x1 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + adds r0, 0x10 + strh r0, [r4, 0x22] + ldr r0, _080E3F1C @ =0x0000ffe0 + strh r0, [r4, 0x2E] + ldrh r0, [r4, 0x3C] + adds r0, 0x1 + strh r0, [r4, 0x3C] + adds r2, r4, 0 + adds r2, 0x3E + ldrb r1, [r2] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + strb r0, [r2] + ldr r0, _080E3F20 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080E3FB8 + movs r0, 0x1 + bl GetAnimBankSpriteId + ldr r2, _080E3F24 @ =gSprites + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r2 + adds r1, 0x43 + ldrb r0, [r1] + subs r0, 0x1 + adds r1, r4, 0 + adds r1, 0x43 + strb r0, [r1] + b _080E3FB8 + .align 2, 0 +_080E3F14: .4byte gBattleAnimArgs +_080E3F18: .4byte gBattleAnimTarget +_080E3F1C: .4byte 0x0000ffe0 +_080E3F20: .4byte gBattleAnimAttacker +_080E3F24: .4byte gSprites +_080E3F28: + adds r0, r4, 0 + adds r0, 0x3E + ldrb r1, [r0] + movs r2, 0x4 + orrs r1, r2 + strb r1, [r0] + b _080E3FB8 +_080E3F36: + movs r1, 0x30 + ldrsh r0, [r4, r1] + movs r2, 0x2E + ldrsh r1, [r4, r2] + bl Sin + strh r0, [r4, 0x26] + ldrh r2, [r4, 0x30] + adds r0, r2, 0x5 + strh r0, [r4, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x7F + ble _080E3F6A + movs r1, 0x2E + ldrsh r0, [r4, r1] + lsrs r1, r0, 31 + adds r0, r1 + asrs r0, 1 + strh r0, [r4, 0x2E] + ldrh r0, [r4, 0x34] + adds r0, 0x1 + strh r0, [r4, 0x34] + adds r0, r2, 0 + subs r0, 0x7A + strh r0, [r4, 0x30] +_080E3F6A: + movs r2, 0x80 + lsls r2, 1 + adds r0, r2, 0 + ldrh r1, [r4, 0x32] + adds r0, r1 + strh r0, [r4, 0x32] + ldr r0, _080E3F94 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _080E3F98 + ldrh r2, [r4, 0x32] + lsls r1, r2, 16 + asrs r1, 24 + ldrh r0, [r4, 0x24] + subs r0, r1 + strh r0, [r4, 0x24] + adds r1, r2, 0 + b _080E3FA4 + .align 2, 0 +_080E3F94: .4byte gBattleAnimAttacker +_080E3F98: + ldrh r1, [r4, 0x32] + lsls r0, r1, 16 + asrs r0, 24 + ldrh r2, [r4, 0x24] + adds r0, r2 + strh r0, [r4, 0x24] +_080E3FA4: + movs r0, 0xFF + ands r0, r1 + strh r0, [r4, 0x32] + movs r1, 0x34 + ldrsh r0, [r4, r1] + cmp r0, 0x2 + bne _080E3FB8 + adds r0, r4, 0 + bl DestroyAnimSprite +_080E3FB8: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80E3E84 + + thumb_func_start sub_80E3FC0 +sub_80E3FC0: @ 80E3FC0 + push {r4,r5,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r1, _080E3FE8 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + movs r2, 0x26 + ldrsh r0, [r0, r2] + adds r3, r1, 0 + cmp r0, 0x4 + bls _080E3FDC + b _080E412E +_080E3FDC: + lsls r0, 2 + ldr r1, _080E3FEC @ =_080E3FF0 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080E3FE8: .4byte gTasks +_080E3FEC: .4byte _080E3FF0 + .align 2, 0 +_080E3FF0: + .4byte _080E4004 + .4byte _080E4054 + .4byte _080E40B0 + .4byte _080E40C8 + .4byte _080E412E +_080E4004: + ldr r0, _080E4048 @ =gBattleAnimAttacker + ldrb r0, [r0] + movs r1, 0 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + adds r5, r0, 0 + ldr r0, _080E404C @ =gBattleAnimTarget + ldrb r0, [r0] + movs r1, 0 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + adds r2, r0, 0 + ldr r1, _080E4050 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r1, r0, r1 + movs r0, 0x6 + strh r0, [r1, 0x8] + cmp r5, r2 + ble _080E403A + negs r0, r0 + strh r0, [r1, 0x8] +_080E403A: + strh r5, [r1, 0xA] + strh r2, [r1, 0xC] + ldrh r0, [r1, 0x26] + adds r0, 0x1 + strh r0, [r1, 0x26] + b _080E414C + .align 2, 0 +_080E4048: .4byte gBattleAnimAttacker +_080E404C: .4byte gBattleAnimTarget +_080E4050: .4byte gTasks +_080E4054: + ldr r1, _080E4090 @ =gBattlerSpriteIds + ldr r0, _080E4094 @ =gBattleAnimAttacker + ldrb r0, [r0] + adds r0, r1 + ldrb r2, [r0] + ldr r1, _080E4098 @ =gSprites + lsls r0, r2, 4 + adds r0, r2 + lsls r0, 2 + adds r1, r0, r1 + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r2, r0, r3 + ldrh r0, [r2, 0x8] + ldrh r3, [r1, 0x24] + adds r0, r3 + strh r0, [r1, 0x24] + movs r3, 0x8 + ldrsh r0, [r2, r3] + cmp r0, 0 + ble _080E409C + movs r3, 0x20 + ldrsh r0, [r1, r3] + movs r3, 0x24 + ldrsh r1, [r1, r3] + adds r0, r1 + movs r3, 0xC + ldrsh r1, [r2, r3] + b _080E4122 + .align 2, 0 +_080E4090: .4byte gBattlerSpriteIds +_080E4094: .4byte gBattleAnimAttacker +_080E4098: .4byte gSprites +_080E409C: + movs r3, 0x20 + ldrsh r0, [r1, r3] + movs r3, 0x24 + ldrsh r1, [r1, r3] + adds r0, r1 + movs r3, 0xC + ldrsh r1, [r2, r3] + cmp r0, r1 + bgt _080E414C + b _080E4126 +_080E40B0: + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r3 + movs r2, 0x8 + ldrsh r1, [r0, r2] + negs r1, r1 + strh r1, [r0, 0x8] + ldrh r1, [r0, 0x26] + adds r1, 0x1 + strh r1, [r0, 0x26] + b _080E414C +_080E40C8: + ldr r1, _080E4108 @ =gBattlerSpriteIds + ldr r0, _080E410C @ =gBattleAnimAttacker + ldrb r0, [r0] + adds r0, r1 + ldrb r2, [r0] + ldr r1, _080E4110 @ =gSprites + lsls r0, r2, 4 + adds r0, r2 + lsls r0, 2 + adds r1, r0, r1 + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r2, r0, r3 + ldrh r0, [r2, 0x8] + ldrh r3, [r1, 0x24] + adds r0, r3 + strh r0, [r1, 0x24] + movs r3, 0x8 + ldrsh r0, [r2, r3] + cmp r0, 0 + bge _080E4114 + movs r3, 0x20 + ldrsh r0, [r1, r3] + movs r3, 0x24 + ldrsh r1, [r1, r3] + adds r0, r1 + movs r3, 0xA + ldrsh r1, [r2, r3] + cmp r0, r1 + bgt _080E414C + b _080E4126 + .align 2, 0 +_080E4108: .4byte gBattlerSpriteIds +_080E410C: .4byte gBattleAnimAttacker +_080E4110: .4byte gSprites +_080E4114: + movs r3, 0x20 + ldrsh r0, [r1, r3] + movs r3, 0x24 + ldrsh r1, [r1, r3] + adds r0, r1 + movs r3, 0xA + ldrsh r1, [r2, r3] +_080E4122: + cmp r0, r1 + blt _080E414C +_080E4126: + ldrh r0, [r2, 0x26] + adds r0, 0x1 + strh r0, [r2, 0x26] + b _080E414C +_080E412E: + ldr r1, _080E4154 @ =gBattlerSpriteIds + ldr r0, _080E4158 @ =gBattleAnimAttacker + ldrb r0, [r0] + adds r0, r1 + ldrb r2, [r0] + ldr r1, _080E415C @ =gSprites + lsls r0, r2, 4 + adds r0, r2 + lsls r0, 2 + adds r0, r1 + movs r1, 0 + strh r1, [r0, 0x24] + adds r0, r4, 0 + bl DestroyAnimVisualTask +_080E414C: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080E4154: .4byte gBattlerSpriteIds +_080E4158: .4byte gBattleAnimAttacker +_080E415C: .4byte gSprites + thumb_func_end sub_80E3FC0 + + thumb_func_start sub_80E4160 +sub_80E4160: @ 80E4160 + push {r4,r5,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, _080E41C8 @ =gTasks + adds r4, r1, r0 + movs r0, 0 + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r0, 24 + movs r5, 0 + strh r0, [r4, 0xE] + ldr r0, _080E41CC @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + movs r2, 0x1 + negs r2, r2 + adds r1, r2, 0 + cmp r0, 0 + bne _080E4194 + movs r1, 0x1 +_080E4194: + strh r1, [r4, 0x10] + ldr r2, _080E41D0 @ =gSprites + movs r0, 0xE + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r0, [r0, 0x22] + strh r0, [r4, 0x14] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r0, [r0, 0x20] + strh r0, [r4, 0x12] + strh r5, [r4, 0x1A] + strh r5, [r4, 0x1E] + movs r0, 0x1 + strh r0, [r4, 0x1C] + strh r5, [r4, 0x20] + ldr r0, _080E41D4 @ =sub_80E41D8 + str r0, [r4] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080E41C8: .4byte gTasks +_080E41CC: .4byte gBattleAnimAttacker +_080E41D0: .4byte gSprites +_080E41D4: .4byte sub_80E41D8 + thumb_func_end sub_80E4160 + + thumb_func_start sub_80E41D8 +sub_80E41D8: @ 80E41D8 + push {r4-r6,lr} + lsls r0, 24 + lsrs r2, r0, 24 + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + ldr r1, _080E41FC @ =gTasks + adds r4, r0, r1 + movs r1, 0x8 + ldrsh r0, [r4, r1] + cmp r0, 0x1 + beq _080E4280 + cmp r0, 0x1 + bgt _080E4200 + cmp r0, 0 + beq _080E4206 + b _080E42D6 + .align 2, 0 +_080E41FC: .4byte gTasks +_080E4200: + cmp r0, 0x2 + beq _080E42D0 + b _080E42D6 +_080E4206: + ldrh r0, [r4, 0x1E] + adds r0, 0x8 + movs r2, 0xFF + ands r0, r2 + strh r0, [r4, 0x1E] + ldr r5, _080E4278 @ =gSprites + movs r6, 0xE + ldrsh r0, [r4, r6] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r5 + ldr r3, _080E427C @ =gSineTable + movs r6, 0x1E + ldrsh r0, [r4, r6] + lsls r0, 1 + adds r0, r3 + ldrh r0, [r0] + lsls r0, 16 + asrs r0, 21 + strh r0, [r1, 0x24] + ldrh r0, [r4, 0x1A] + adds r0, 0x2 + ands r0, r2 + strh r0, [r4, 0x1A] + movs r1, 0xE + ldrsh r0, [r4, r1] + lsls r2, r0, 4 + adds r2, r0 + lsls r2, 2 + adds r2, r5 + movs r6, 0x1A + ldrsh r0, [r4, r6] + lsls r0, 1 + adds r0, r3 + ldrh r0, [r0] + lsls r0, 16 + asrs r0, 19 + ldrh r1, [r4, 0x10] + muls r0, r1 + ldrh r1, [r4, 0x12] + adds r0, r1 + strh r0, [r2, 0x20] + movs r6, 0x1A + ldrsh r0, [r4, r6] + cmp r0, 0 + bne _080E42D6 + movs r0, 0xE + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + ldrh r1, [r4, 0x12] + strh r1, [r0, 0x20] + b _080E42C0 + .align 2, 0 +_080E4278: .4byte gSprites +_080E427C: .4byte gSineTable +_080E4280: + ldrh r0, [r4, 0x1E] + adds r0, 0x8 + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0x1E] + ldr r3, _080E42C8 @ =gSprites + movs r1, 0xE + ldrsh r0, [r4, r1] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r3 + ldr r2, _080E42CC @ =gSineTable + movs r5, 0x1E + ldrsh r0, [r4, r5] + lsls r0, 1 + adds r0, r2 + ldrh r0, [r0] + lsls r0, 16 + asrs r0, 21 + strh r0, [r1, 0x24] + movs r6, 0x1E + ldrsh r2, [r4, r6] + cmp r2, 0 + bne _080E42D6 + movs r1, 0xE + ldrsh r0, [r4, r1] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r3 + strh r2, [r1, 0x24] +_080E42C0: + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] + b _080E42D6 + .align 2, 0 +_080E42C8: .4byte gSprites +_080E42CC: .4byte gSineTable +_080E42D0: + adds r0, r2, 0 + bl DestroyAnimVisualTask +_080E42D6: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_80E41D8 + + thumb_func_start sub_80E42DC +sub_80E42DC: @ 80E42DC + push {r4,lr} + adds r4, r0, 0 + ldr r0, _080E4330 @ =gBattleAnimTarget + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + ldrh r0, [r4, 0x2E] + ldrh r1, [r4, 0x30] + adds r0, r1 + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0x30] + movs r1, 0x30 + ldrsh r0, [r4, r1] + movs r1, 0x14 + bl Cos + strh r0, [r4, 0x24] + movs r1, 0x30 + ldrsh r0, [r4, r1] + movs r1, 0x14 + bl Sin + strh r0, [r4, 0x26] + adds r0, r4, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x10 + ands r0, r1 + cmp r0, 0 + beq _080E4322 + adds r0, r4, 0 + bl DestroyAnimSprite +_080E4322: + ldrh r0, [r4, 0x32] + adds r0, 0x1 + strh r0, [r4, 0x32] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080E4330: .4byte gBattleAnimTarget + thumb_func_end sub_80E42DC + + thumb_func_start sub_80E4334 +sub_80E4334: @ 80E4334 + push {r4,lr} + adds r4, r0, 0 + ldr r0, _080E436C @ =gBattleAnimTarget + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _080E4378 + ldr r2, _080E4370 @ =gBattleAnimArgs + ldrh r0, [r4, 0x20] + ldrh r1, [r2] + subs r0, r1 + strh r0, [r4, 0x20] + ldrh r0, [r2, 0x2] + ldrh r1, [r4, 0x22] + adds r0, r1 + strh r0, [r4, 0x22] + ldr r0, _080E4374 @ =0x0000fff5 + strh r0, [r4, 0x2E] + movs r0, 0xC0 + strh r0, [r4, 0x30] + adds r0, r4, 0 + movs r1, 0x1 + bl StartSpriteAffineAnim + b _080E4392 + .align 2, 0 +_080E436C: .4byte gBattleAnimTarget +_080E4370: .4byte gBattleAnimArgs +_080E4374: .4byte 0x0000fff5 +_080E4378: + movs r0, 0xB + strh r0, [r4, 0x2E] + movs r0, 0xC0 + strh r0, [r4, 0x30] + ldr r1, _080E439C @ =gBattleAnimArgs + ldrh r0, [r1] + ldrh r2, [r4, 0x20] + adds r0, r2 + strh r0, [r4, 0x20] + ldrh r0, [r1, 0x2] + ldrh r1, [r4, 0x22] + adds r0, r1 + strh r0, [r4, 0x22] +_080E4392: + ldr r0, _080E43A0 @ =sub_80E42DC + str r0, [r4, 0x1C] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080E439C: .4byte gBattleAnimArgs +_080E43A0: .4byte sub_80E42DC + thumb_func_end sub_80E4334 + + thumb_func_start sub_80E43A4 +sub_80E43A4: @ 80E43A4 + push {r4,r5,lr} + adds r5, r0, 0 + ldr r4, _080E43E8 @ =gBattleAnimAttacker + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x20] + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8076B2C + strh r0, [r5, 0x22] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xF + bgt _080E43CE + movs r0, 0x10 + strh r0, [r5, 0x22] +_080E43CE: + movs r0, 0 + strh r0, [r5, 0x3A] + movs r1, 0x10 + strh r1, [r5, 0x3C] + ldr r0, _080E43EC @ =sub_80E43F0 + str r0, [r5, 0x1C] + lsls r1, 8 + movs r0, 0x52 + bl SetGpuReg + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080E43E8: .4byte gBattleAnimAttacker +_080E43EC: .4byte sub_80E43F0 + thumb_func_end sub_80E43A4 + + thumb_func_start sub_80E43F0 +sub_80E43F0: @ 80E43F0 + push {r4,lr} + adds r4, r0, 0 + movs r0, 0x32 + ldrsh r1, [r4, r0] + cmp r1, 0x1 + beq _080E4468 + cmp r1, 0x1 + bgt _080E4406 + cmp r1, 0 + beq _080E4410 + b _080E44E4 +_080E4406: + cmp r1, 0x2 + beq _080E447E + cmp r1, 0x3 + beq _080E44DE + b _080E44E4 +_080E4410: + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + ble _080E44E4 + strh r1, [r4, 0x2E] + ldrh r1, [r4, 0x30] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + bne _080E443A + ldrh r2, [r4, 0x3A] + movs r3, 0x3A + ldrsh r0, [r4, r3] + cmp r0, 0xF + bgt _080E4448 + adds r0, r2, 0x1 + strh r0, [r4, 0x3A] + b _080E4448 +_080E443A: + ldrh r2, [r4, 0x3C] + movs r3, 0x3C + ldrsh r0, [r4, r3] + cmp r0, 0 + beq _080E4448 + subs r0, r2, 0x1 + strh r0, [r4, 0x3C] +_080E4448: + adds r0, r1, 0x1 + strh r0, [r4, 0x30] + ldrh r1, [r4, 0x3C] + lsls r1, 8 + ldrh r0, [r4, 0x3A] + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + movs r1, 0x3C + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080E44E4 + b _080E44D6 +_080E4468: + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + movs r1, 0 + strh r0, [r4, 0x2E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xA + bne _080E44E4 + strh r1, [r4, 0x2E] + strh r1, [r4, 0x30] + b _080E44D6 +_080E447E: + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + ble _080E44E4 + movs r0, 0 + strh r0, [r4, 0x2E] + ldrh r1, [r4, 0x30] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + bne _080E44AA + ldrh r2, [r4, 0x3A] + movs r3, 0x3A + ldrsh r0, [r4, r3] + cmp r0, 0 + beq _080E44B8 + subs r0, r2, 0x1 + strh r0, [r4, 0x3A] + b _080E44B8 +_080E44AA: + ldrh r2, [r4, 0x3C] + movs r3, 0x3C + ldrsh r0, [r4, r3] + cmp r0, 0xF + bgt _080E44B8 + adds r0, r2, 0x1 + strh r0, [r4, 0x3C] +_080E44B8: + adds r0, r1, 0x1 + strh r0, [r4, 0x30] + ldrh r1, [r4, 0x3C] + lsls r1, 8 + ldrh r0, [r4, 0x3A] + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + movs r1, 0x3C + ldrsh r0, [r4, r1] + cmp r0, 0x10 + bne _080E44E4 +_080E44D6: + ldrh r0, [r4, 0x32] + adds r0, 0x1 + strh r0, [r4, 0x32] + b _080E44E4 +_080E44DE: + adds r0, r4, 0 + bl move_anim_8074EE0 +_080E44E4: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80E43F0 + + thumb_func_start sub_80E44EC +sub_80E44EC: @ 80E44EC + push {lr} + lsls r0, 24 + lsrs r3, r0, 24 + ldr r2, _080E4508 @ =gBattleAnimArgs + movs r0, 0 + strh r0, [r2, 0xE] + ldr r0, _080E450C @ =gUnknown_2037F00 + ldrh r1, [r0] + movs r0, 0x60 + ands r0, r1 + cmp r0, 0 + beq _080E4510 + movs r0, 0x1 + b _080E4532 + .align 2, 0 +_080E4508: .4byte gBattleAnimArgs +_080E450C: .4byte gUnknown_2037F00 +_080E4510: + movs r0, 0x7 + ands r0, r1 + cmp r0, 0 + beq _080E451C + movs r0, 0x2 + b _080E4532 +_080E451C: + movs r0, 0x18 + ands r0, r1 + cmp r0, 0 + beq _080E4528 + movs r0, 0x3 + b _080E4532 +_080E4528: + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + beq _080E4534 + movs r0, 0x4 +_080E4532: + strh r0, [r2, 0xE] +_080E4534: + adds r0, r3, 0 + bl DestroyAnimVisualTask + pop {r0} + bx r0 + thumb_func_end sub_80E44EC + + thumb_func_start sub_80E4540 +sub_80E4540: @ 80E4540 + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r4, r0, 2 + adds r4, r0 + lsls r4, 3 + ldr r0, _080E4578 @ =gTasks + adds r4, r0 + movs r0, 0 + strh r0, [r4, 0x8] + ldr r0, _080E457C @ =gBattleAnimArgs + ldrb r0, [r0] + bl GetAnimBankSpriteId + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + strh r1, [r4, 0x26] + ldr r2, _080E4580 @ =gUnknown_83FF7A8 + adds r0, r4, 0 + bl sub_80762D0 + ldr r0, _080E4584 @ =sub_80E4588 + str r0, [r4] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080E4578: .4byte gTasks +_080E457C: .4byte gBattleAnimArgs +_080E4580: .4byte gUnknown_83FF7A8 +_080E4584: .4byte sub_80E4588 + thumb_func_end sub_80E4540 + + thumb_func_start sub_80E4588 +sub_80E4588: @ 80E4588 + push {r4-r6,lr} + lsls r0, 24 + lsrs r4, r0, 24 + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + ldr r2, _080E45E0 @ =gTasks + adds r3, r0, r2 + ldrh r0, [r3, 0x8] + adds r1, r0, 0x1 + movs r5, 0 + strh r1, [r3, 0x8] + subs r0, 0x10 + lsls r0, 16 + lsrs r0, 16 + adds r6, r2, 0 + cmp r0, 0x16 + bhi _080E45EC + ldrh r0, [r3, 0xA] + adds r0, 0x1 + strh r0, [r3, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x2 + ble _080E45FC + strh r5, [r3, 0xA] + ldrh r0, [r3, 0xC] + adds r0, 0x1 + strh r0, [r3, 0xC] + movs r5, 0x1 + ands r0, r5 + cmp r0, 0 + bne _080E45EC + ldr r2, _080E45E4 @ =gSprites + movs r0, 0x26 + ldrsh r1, [r3, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldr r1, _080E45E8 @ =0x0000ffff + strh r1, [r0, 0x24] + b _080E45FC + .align 2, 0 +_080E45E0: .4byte gTasks +_080E45E4: .4byte gSprites +_080E45E8: .4byte 0x0000ffff +_080E45EC: + ldr r2, _080E461C @ =gSprites + movs r0, 0x26 + ldrsh r1, [r3, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + strh r5, [r0, 0x24] +_080E45FC: + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r6 + bl sub_8076308 + lsls r0, 24 + cmp r0, 0 + bne _080E4614 + adds r0, r4, 0 + bl DestroyAnimVisualTask +_080E4614: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080E461C: .4byte gSprites + thumb_func_end sub_80E4588 + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/battle_anim_mon_movement.s b/asm/battle_anim_mon_movement.s new file mode 100644 index 000000000..14cc141cd --- /dev/null +++ b/asm/battle_anim_mon_movement.s @@ -0,0 +1,2588 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start sub_80989F8 +sub_80989F8: @ 80989F8 + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + ldr r4, _08098A18 @ =gBattleAnimArgs + ldrb r0, [r4] + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0xFF + bne _08098A1C + adds r0, r5, 0 + bl DestroyAnimVisualTask + b _08098A58 + .align 2, 0 +_08098A18: .4byte gBattleAnimArgs +_08098A1C: + ldr r1, _08098A60 @ =gSprites + lsls r0, r2, 4 + adds r0, r2 + lsls r0, 2 + adds r0, r1 + ldrh r1, [r4, 0x2] + strh r1, [r0, 0x24] + ldrh r1, [r4, 0x4] + strh r1, [r0, 0x26] + ldr r1, _08098A64 @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r0, r1 + strh r2, [r0, 0x8] + ldrh r1, [r4, 0x6] + strh r1, [r0, 0xA] + ldrh r1, [r4, 0x8] + strh r1, [r0, 0xC] + ldrh r1, [r4, 0x8] + strh r1, [r0, 0xE] + ldrh r1, [r4, 0x2] + strh r1, [r0, 0x10] + ldrh r1, [r4, 0x4] + strh r1, [r0, 0x12] + ldr r1, _08098A68 @ =sub_8098A6C + str r1, [r0] + adds r0, r5, 0 + bl _call_via_r1 +_08098A58: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08098A60: .4byte gSprites +_08098A64: .4byte gTasks +_08098A68: .4byte sub_8098A6C + thumb_func_end sub_80989F8 + + thumb_func_start sub_8098A6C +sub_8098A6C: @ 8098A6C + push {r4-r7,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r1, _08098AA8 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r3, r0, r1 + ldrh r0, [r3, 0xE] + movs r2, 0xE + ldrsh r5, [r3, r2] + adds r7, r1, 0 + cmp r5, 0 + bne _08098B12 + ldr r2, _08098AAC @ =gSprites + movs r6, 0x8 + ldrsh r1, [r3, r6] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r1, r0, r2 + movs r6, 0x24 + ldrsh r0, [r1, r6] + adds r6, r2, 0 + cmp r0, 0 + bne _08098AB0 + ldrh r0, [r3, 0x10] + strh r0, [r1, 0x24] + b _08098AB2 + .align 2, 0 +_08098AA8: .4byte gTasks +_08098AAC: .4byte gSprites +_08098AB0: + strh r5, [r1, 0x24] +_08098AB2: + lsls r2, r4, 2 + adds r0, r2, r4 + lsls r0, 3 + adds r3, r0, r7 + movs r0, 0x8 + ldrsh r1, [r3, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r1, r0, r6 + movs r5, 0x26 + ldrsh r0, [r1, r5] + cmp r0, 0 + bne _08098AD2 + ldrh r0, [r3, 0x12] + b _08098AD4 +_08098AD2: + movs r0, 0 +_08098AD4: + strh r0, [r1, 0x26] + adds r0, r2, r4 + lsls r0, 3 + adds r2, r0, r7 + ldrh r0, [r2, 0xC] + strh r0, [r2, 0xE] + ldrh r0, [r2, 0xA] + subs r0, 0x1 + strh r0, [r2, 0xA] + lsls r0, 16 + asrs r3, r0, 16 + cmp r3, 0 + bne _08098B16 + movs r0, 0x8 + ldrsh r1, [r2, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r6 + strh r3, [r0, 0x24] + movs r5, 0x8 + ldrsh r1, [r2, r5] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r6 + strh r3, [r0, 0x26] + adds r0, r4, 0 + bl DestroyAnimVisualTask + b _08098B16 +_08098B12: + subs r0, 0x1 + strh r0, [r3, 0xE] +_08098B16: + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_8098A6C + + thumb_func_start sub_8098B1C +sub_8098B1C: @ 8098B1C + push {r4-r6,lr} + lsls r0, 24 + lsrs r5, r0, 24 + movs r6, 0 + ldr r2, _08098B44 @ =gBattleAnimArgs + ldrh r0, [r2] + movs r3, 0 + ldrsh r1, [r2, r3] + cmp r1, 0x3 + bgt _08098B48 + lsls r0, 24 + lsrs r0, 24 + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r3, r0, 24 + cmp r3, 0xFF + bne _08098B9E + b _08098BA2 + .align 2, 0 +_08098B44: .4byte gBattleAnimArgs +_08098B48: + cmp r1, 0x8 + beq _08098B94 + movs r1, 0 + ldrsh r0, [r2, r1] + cmp r0, 0x5 + beq _08098B68 + cmp r0, 0x5 + bgt _08098B5E + cmp r0, 0x4 + beq _08098B64 + b _08098B70 +_08098B5E: + cmp r0, 0x6 + beq _08098B6C + b _08098B70 +_08098B64: + movs r0, 0 + b _08098B72 +_08098B68: + movs r0, 0x2 + b _08098B72 +_08098B6C: + movs r0, 0x1 + b _08098B72 +_08098B70: + movs r0, 0x3 +_08098B72: + bl GetBattlerAtPosition + lsls r0, 24 + lsrs r4, r0, 24 + adds r0, r4, 0 + bl sub_8072DF0 + lsls r0, 24 + cmp r0, 0 + bne _08098B88 + movs r6, 0x1 +_08098B88: + ldr r0, _08098B90 @ =gBattlerSpriteIds + adds r0, r4, r0 + b _08098B9C + .align 2, 0 +_08098B90: .4byte gBattlerSpriteIds +_08098B94: + ldr r1, _08098BAC @ =gBattlerSpriteIds + ldr r0, _08098BB0 @ =gBattleAnimAttacker + ldrb r0, [r0] + adds r0, r1 +_08098B9C: + ldrb r3, [r0] +_08098B9E: + cmp r6, 0 + beq _08098BB4 +_08098BA2: + adds r0, r5, 0 + bl DestroyAnimVisualTask + b _08098BF2 + .align 2, 0 +_08098BAC: .4byte gBattlerSpriteIds +_08098BB0: .4byte gBattleAnimAttacker +_08098BB4: + ldr r1, _08098BF8 @ =gSprites + lsls r0, r3, 4 + adds r0, r3 + lsls r0, 2 + adds r0, r1 + ldr r2, _08098BFC @ =gBattleAnimArgs + ldrh r1, [r2, 0x2] + strh r1, [r0, 0x24] + ldrh r1, [r2, 0x4] + strh r1, [r0, 0x26] + ldr r1, _08098C00 @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r0, r1 + strh r3, [r0, 0x8] + ldrh r1, [r2, 0x6] + strh r1, [r0, 0xA] + ldrh r1, [r2, 0x8] + strh r1, [r0, 0xC] + ldrh r1, [r2, 0x8] + strh r1, [r0, 0xE] + ldrh r1, [r2, 0x2] + strh r1, [r0, 0x10] + ldrh r1, [r2, 0x4] + strh r1, [r0, 0x12] + ldr r1, _08098C04 @ =sub_8098C08 + str r1, [r0] + adds r0, r5, 0 + bl _call_via_r1 +_08098BF2: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_08098BF8: .4byte gSprites +_08098BFC: .4byte gBattleAnimArgs +_08098C00: .4byte gTasks +_08098C04: .4byte sub_8098C08 + thumb_func_end sub_8098B1C + + thumb_func_start sub_8098C08 +sub_8098C08: @ 8098C08 + push {r4-r7,lr} + mov r7, r8 + push {r7} + lsls r0, 24 + lsrs r6, r0, 24 + ldr r1, _08098C4C @ =gTasks + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + adds r3, r0, r1 + ldrh r2, [r3, 0xE] + movs r4, 0xE + ldrsh r0, [r3, r4] + mov r12, r1 + cmp r0, 0 + bne _08098CC0 + ldr r2, _08098C50 @ =gSprites + movs r7, 0x8 + ldrsh r1, [r3, r7] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r4, r0, r2 + movs r0, 0x24 + ldrsh r1, [r4, r0] + ldrh r5, [r3, 0x10] + movs r7, 0x10 + ldrsh r0, [r3, r7] + adds r7, r2, 0 + cmp r1, r0 + bne _08098C54 + negs r0, r5 + strh r0, [r4, 0x24] + b _08098C56 + .align 2, 0 +_08098C4C: .4byte gTasks +_08098C50: .4byte gSprites +_08098C54: + strh r5, [r4, 0x24] +_08098C56: + lsls r3, r6, 2 + adds r1, r3, r6 + lsls r1, 3 + add r1, r12 + movs r0, 0x8 + ldrsh r2, [r1, r0] + lsls r0, r2, 4 + adds r0, r2 + lsls r0, 2 + adds r4, r0, r7 + movs r0, 0x26 + ldrsh r2, [r4, r0] + mov r8, r2 + ldrh r5, [r1, 0x12] + movs r2, 0x12 + ldrsh r0, [r1, r2] + cmp r8, r0 + bne _08098C80 + negs r0, r5 + strh r0, [r4, 0x26] + b _08098C82 +_08098C80: + strh r5, [r4, 0x26] +_08098C82: + adds r0, r3, r6 + lsls r0, 3 + mov r4, r12 + adds r3, r0, r4 + ldrh r0, [r3, 0xC] + strh r0, [r3, 0xE] + ldrh r0, [r3, 0xA] + subs r0, 0x1 + strh r0, [r3, 0xA] + lsls r0, 16 + asrs r2, r0, 16 + cmp r2, 0 + bne _08098CC4 + movs r0, 0x8 + ldrsh r1, [r3, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r7 + strh r2, [r0, 0x24] + movs r4, 0x8 + ldrsh r1, [r3, r4] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r7 + strh r2, [r0, 0x26] + adds r0, r6, 0 + bl DestroyAnimVisualTask + b _08098CC4 +_08098CC0: + subs r0, r2, 0x1 + strh r0, [r3, 0xE] +_08098CC4: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_8098C08 + + thumb_func_start sub_8098CD0 +sub_8098CD0: @ 8098CD0 + push {r4-r6,lr} + lsls r0, 24 + lsrs r5, r0, 24 + ldr r4, _08098CF0 @ =gBattleAnimArgs + ldrb r0, [r4] + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r3, r0, 24 + cmp r3, 0xFF + bne _08098CF4 + adds r0, r5, 0 + bl DestroyAnimVisualTask + b _08098D42 + .align 2, 0 +_08098CF0: .4byte gBattleAnimArgs +_08098CF4: + ldr r0, _08098D48 @ =gSprites + lsls r1, r3, 4 + adds r1, r3 + lsls r1, 2 + adds r1, r0 + ldrh r0, [r4, 0x2] + ldrh r2, [r1, 0x24] + adds r0, r2 + movs r2, 0 + strh r0, [r1, 0x24] + ldrh r0, [r4, 0x4] + ldrh r6, [r1, 0x26] + adds r0, r6 + strh r0, [r1, 0x26] + ldr r0, _08098D4C @ =gTasks + lsls r1, r5, 2 + adds r1, r5 + lsls r1, 3 + adds r1, r0 + strh r3, [r1, 0x8] + strh r2, [r1, 0xA] + ldrh r0, [r4, 0x6] + strh r0, [r1, 0xC] + strh r2, [r1, 0xE] + ldrh r0, [r4, 0x8] + strh r0, [r1, 0x10] + movs r2, 0x2 + ldrsh r0, [r4, r2] + lsls r0, 1 + strh r0, [r1, 0x12] + movs r6, 0x4 + ldrsh r0, [r4, r6] + lsls r0, 1 + strh r0, [r1, 0x14] + ldr r2, _08098D50 @ =sub_8098D54 + str r2, [r1] + adds r0, r5, 0 + bl _call_via_r2 +_08098D42: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_08098D48: .4byte gSprites +_08098D4C: .4byte gTasks +_08098D50: .4byte sub_8098D54 + thumb_func_end sub_8098CD0 + + thumb_func_start sub_8098D54 +sub_8098D54: @ 8098D54 + push {r4-r6,lr} + lsls r0, 24 + lsrs r5, r0, 24 + ldr r1, _08098DAC @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r4, r0, r1 + ldrh r2, [r4, 0xE] + movs r3, 0xE + ldrsh r0, [r4, r3] + adds r6, r1, 0 + cmp r0, 0 + beq _08098D72 + b _08098E84 +_08098D72: + ldrh r1, [r4, 0xA] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _08098DB4 + ldr r2, _08098DB0 @ =gSprites + movs r0, 0x8 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r1, [r4, 0x12] + ldrh r3, [r0, 0x24] + adds r1, r3 + strh r1, [r0, 0x24] + movs r0, 0x8 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r1, [r4, 0x14] + ldrh r3, [r0, 0x26] + adds r1, r3 + strh r1, [r0, 0x26] + adds r3, r2, 0 + b _08098DDE + .align 2, 0 +_08098DAC: .4byte gTasks +_08098DB0: .4byte gSprites +_08098DB4: + ldr r3, _08098E40 @ =gSprites + movs r0, 0x8 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r3 + ldrh r1, [r0, 0x24] + ldrh r2, [r4, 0x12] + subs r1, r2 + strh r1, [r0, 0x24] + movs r2, 0x8 + ldrsh r1, [r4, r2] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r3 + ldrh r1, [r0, 0x26] + ldrh r2, [r4, 0x14] + subs r1, r2 + strh r1, [r0, 0x26] +_08098DDE: + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r4, r0, r6 + ldrh r0, [r4, 0x10] + strh r0, [r4, 0xE] + ldrh r0, [r4, 0xA] + adds r2, r0, 0x1 + strh r2, [r4, 0xA] + lsls r0, r2, 16 + asrs r0, 16 + movs r6, 0xC + ldrsh r1, [r4, r6] + cmp r0, r1 + blt _08098E88 + movs r0, 0x1 + ands r2, r0 + cmp r2, 0 + beq _08098E44 + movs r1, 0x8 + ldrsh r0, [r4, r1] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r3 + movs r2, 0x12 + ldrsh r0, [r4, r2] + lsrs r2, r0, 31 + adds r0, r2 + asrs r0, 1 + ldrh r6, [r1, 0x24] + adds r0, r6 + strh r0, [r1, 0x24] + movs r1, 0x8 + ldrsh r0, [r4, r1] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r3 + movs r2, 0x14 + ldrsh r0, [r4, r2] + lsrs r2, r0, 31 + adds r0, r2 + asrs r0, 1 + ldrh r3, [r1, 0x26] + adds r0, r3 + strh r0, [r1, 0x26] + b _08098E7C + .align 2, 0 +_08098E40: .4byte gSprites +_08098E44: + movs r6, 0x8 + ldrsh r0, [r4, r6] + lsls r2, r0, 4 + adds r2, r0 + lsls r2, 2 + adds r2, r3 + movs r0, 0x12 + ldrsh r1, [r4, r0] + lsrs r0, r1, 31 + adds r1, r0 + asrs r1, 1 + ldrh r0, [r2, 0x24] + subs r0, r1 + strh r0, [r2, 0x24] + movs r1, 0x8 + ldrsh r0, [r4, r1] + lsls r2, r0, 4 + adds r2, r0 + lsls r2, 2 + adds r2, r3 + movs r3, 0x14 + ldrsh r1, [r4, r3] + lsrs r0, r1, 31 + adds r1, r0 + asrs r1, 1 + ldrh r0, [r2, 0x26] + subs r0, r1 + strh r0, [r2, 0x26] +_08098E7C: + adds r0, r5, 0 + bl DestroyAnimVisualTask + b _08098E88 +_08098E84: + subs r0, r2, 0x1 + strh r0, [r4, 0xE] +_08098E88: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_8098D54 + + thumb_func_start sub_8098E90 +sub_8098E90: @ 8098E90 + push {r4,r5,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r5, _08098EE0 @ =gBattleAnimArgs + ldrb r0, [r5] + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r0, 24 + ldr r2, _08098EE4 @ =gSprites + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r2 + ldrh r2, [r5, 0x2] + strh r2, [r1, 0x24] + ldr r2, _08098EE8 @ =gTasks + lsls r1, r4, 2 + adds r1, r4 + lsls r1, 3 + adds r1, r2 + strh r0, [r1, 0x8] + ldrh r0, [r5, 0x2] + strh r0, [r1, 0xA] + ldrh r0, [r5, 0x4] + strh r0, [r1, 0xC] + ldrh r0, [r5, 0x6] + strh r0, [r1, 0xE] + ldrh r0, [r5, 0x8] + strh r0, [r1, 0x10] + ldr r2, _08098EEC @ =sub_8098EF0 + str r2, [r1] + adds r0, r4, 0 + bl _call_via_r2 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08098EE0: .4byte gBattleAnimArgs +_08098EE4: .4byte gSprites +_08098EE8: .4byte gTasks +_08098EEC: .4byte sub_8098EF0 + thumb_func_end sub_8098E90 + + thumb_func_start sub_8098EF0 +sub_8098EF0: @ 8098EF0 + push {r4-r7,lr} + lsls r0, 24 + lsrs r6, r0, 24 + ldr r2, _08098F7C @ =gTasks + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + adds r3, r0, r2 + ldrb r5, [r3, 0x8] + ldrh r4, [r3, 0xA] + ldrh r1, [r3, 0x18] + adds r0, r1, 0x1 + strh r0, [r3, 0x18] + movs r7, 0xC + ldrsh r0, [r3, r7] + lsls r1, 16 + asrs r1, 16 + mov r12, r2 + ldr r7, _08098F80 @ =gSprites + cmp r0, r1 + bne _08098F42 + movs r0, 0 + strh r0, [r3, 0x18] + lsls r0, r5, 4 + adds r0, r5 + lsls r0, 2 + adds r1, r0, r7 + ldrh r3, [r1, 0x24] + movs r0, 0x24 + ldrsh r2, [r1, r0] + lsls r0, r4, 16 + asrs r0, 16 + cmp r2, r0 + bne _08098F3A + negs r0, r2 + lsls r0, 16 + lsrs r4, r0, 16 +_08098F3A: + lsls r0, r4, 16 + asrs r0, 16 + adds r0, r3 + strh r0, [r1, 0x24] +_08098F42: + lsls r2, r6, 2 + adds r2, r6 + lsls r2, 3 + add r2, r12 + strh r4, [r2, 0xA] + ldrh r1, [r2, 0xE] + ldrh r0, [r2, 0x1A] + adds r1, r0 + strh r1, [r2, 0x1A] + lsls r0, r5, 4 + adds r0, r5 + lsls r0, 2 + adds r0, r7 + lsls r1, 16 + asrs r1, 24 + strh r1, [r0, 0x26] + ldrh r0, [r2, 0x10] + subs r0, 0x1 + strh r0, [r2, 0x10] + lsls r0, 16 + cmp r0, 0 + bne _08098F74 + adds r0, r6, 0 + bl DestroyAnimVisualTask +_08098F74: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08098F7C: .4byte gTasks +_08098F80: .4byte gSprites + thumb_func_end sub_8098EF0 + + thumb_func_start sub_8098F84 +sub_8098F84: @ 8098F84 + push {r4-r7,lr} + mov r7, r8 + push {r7} + lsls r0, 24 + lsrs r5, r0, 24 + movs r6, 0x1 + ldr r4, _08098FF8 @ =gBattleAnimArgs + ldrb r0, [r4] + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r7, r0, 24 + movs r1, 0x8 + ldrsh r0, [r4, r1] + cmp r0, 0x5 + ble _08098FA8 + movs r0, 0x5 + strh r0, [r4, 0x8] +_08098FA8: + movs r1, 0 + movs r2, 0x8 + ldrsh r0, [r4, r2] + adds r3, r4, 0 + ldr r2, _08098FFC @ =gTasks + mov r12, r2 + lsls r4, r5, 2 + ldr r2, _08099000 @ =sub_8099004 + mov r8, r2 + cmp r1, r0 + bge _08098FCE + adds r2, r0, 0 +_08098FC0: + lsls r0, r6, 25 + lsrs r6, r0, 24 + adds r0, r1, 0x1 + lsls r0, 24 + lsrs r1, r0, 24 + cmp r1, r2 + blt _08098FC0 +_08098FCE: + adds r0, r4, r5 + lsls r0, 3 + add r0, r12 + strh r7, [r0, 0x8] + ldrh r1, [r3, 0x2] + strh r1, [r0, 0xA] + ldrh r1, [r3, 0x4] + strh r1, [r0, 0xC] + ldrh r1, [r3, 0x6] + strh r1, [r0, 0xE] + strh r6, [r0, 0x10] + mov r1, r8 + str r1, [r0] + adds r0, r5, 0 + bl _call_via_r8 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08098FF8: .4byte gBattleAnimArgs +_08098FFC: .4byte gTasks +_08099000: .4byte sub_8099004 + thumb_func_end sub_8098F84 + + thumb_func_start sub_8099004 +sub_8099004: @ 8099004 + push {r4-r6,lr} + lsls r0, 24 + lsrs r0, 24 + adds r6, r0, 0 + ldr r1, _08099074 @ =gTasks + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + adds r5, r0, r1 + ldrb r4, [r5, 0x8] + movs r1, 0x12 + ldrsh r0, [r5, r1] + movs r2, 0xA + ldrsh r1, [r5, r2] + bl Sin + ldr r2, _08099078 @ =gSprites + lsls r1, r4, 4 + adds r1, r4 + lsls r1, 2 + adds r4, r1, r2 + strh r0, [r4, 0x24] + movs r1, 0x12 + ldrsh r0, [r5, r1] + movs r2, 0xC + ldrsh r1, [r5, r2] + bl Cos + negs r0, r0 + strh r0, [r4, 0x26] + ldrh r1, [r5, 0xC] + adds r0, r1 + strh r0, [r4, 0x26] + ldrh r0, [r5, 0x10] + ldrh r1, [r5, 0x12] + adds r0, r1 + movs r1, 0xFF + ands r0, r1 + strh r0, [r5, 0x12] + cmp r0, 0 + bne _0809905C + ldrh r0, [r5, 0xE] + subs r0, 0x1 + strh r0, [r5, 0xE] +_0809905C: + movs r2, 0xE + ldrsh r0, [r5, r2] + cmp r0, 0 + bne _0809906E + strh r0, [r4, 0x24] + strh r0, [r4, 0x26] + adds r0, r6, 0 + bl DestroyAnimVisualTask +_0809906E: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_08099074: .4byte gTasks +_08099078: .4byte gSprites + thumb_func_end sub_8099004 + + thumb_func_start sub_809907C +sub_809907C: @ 809907C + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _080990A4 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _08099098 + ldr r1, _080990A8 @ =gBattleAnimArgs + ldrh r0, [r1, 0x2] + negs r0, r0 + strh r0, [r1, 0x2] +_08099098: + adds r0, r4, 0 + bl sub_8098F84 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080990A4: .4byte gBattleAnimAttacker +_080990A8: .4byte gBattleAnimArgs + thumb_func_end sub_809907C + + thumb_func_start sub_80990AC +sub_80990AC: @ 80990AC + push {r4,lr} + adds r4, r0, 0 + adds r2, r4, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] + ldr r0, _080990D4 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080990DC + ldr r1, _080990D8 @ =gBattleAnimArgs + ldrh r0, [r1, 0x2] + negs r0, r0 + b _080990E0 + .align 2, 0 +_080990D4: .4byte gBattleAnimAttacker +_080990D8: .4byte gBattleAnimArgs +_080990DC: + ldr r1, _0809910C @ =gBattleAnimArgs + ldrh r0, [r1, 0x2] +_080990E0: + strh r0, [r4, 0x30] + ldrh r2, [r1] + movs r0, 0 + strh r2, [r4, 0x2E] + strh r0, [r4, 0x32] + ldr r1, _08099110 @ =gBattlerSpriteIds + ldr r0, _08099114 @ =gBattleAnimAttacker + ldrb r0, [r0] + adds r0, r1 + ldrb r0, [r0] + strh r0, [r4, 0x34] + strh r2, [r4, 0x36] + ldr r1, _08099118 @ =sub_8099120 + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 + ldr r0, _0809911C @ =sub_8074DC4 + str r0, [r4, 0x1C] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0809910C: .4byte gBattleAnimArgs +_08099110: .4byte gBattlerSpriteIds +_08099114: .4byte gBattleAnimAttacker +_08099118: .4byte sub_8099120 +_0809911C: .4byte sub_8074DC4 + thumb_func_end sub_80990AC + + thumb_func_start sub_8099120 +sub_8099120: @ 8099120 + push {lr} + ldrh r1, [r0, 0x36] + strh r1, [r0, 0x2E] + ldrh r1, [r0, 0x30] + negs r1, r1 + strh r1, [r0, 0x30] + ldr r1, _0809913C @ =sub_8074DC4 + str r1, [r0, 0x1C] + ldr r1, _08099140 @ =DestroyAnimSprite + bl StoreSpriteCallbackInData6 + pop {r0} + bx r0 + .align 2, 0 +_0809913C: .4byte sub_8074DC4 +_08099140: .4byte DestroyAnimSprite + thumb_func_end sub_8099120 + + thumb_func_start sub_8099144 +sub_8099144: @ 8099144 + push {r4,r5,lr} + adds r4, r0, 0 + adds r2, r4, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] + ldr r5, _08099184 @ =gBattleAnimArgs + ldrb r0, [r5, 0x4] + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r0, 24 + ldrh r2, [r5] + movs r1, 0 + strh r2, [r4, 0x2E] + strh r1, [r4, 0x30] + ldrh r1, [r5, 0x2] + strh r1, [r4, 0x32] + strh r0, [r4, 0x34] + strh r2, [r4, 0x36] + ldr r1, _08099188 @ =sub_8099190 + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 + ldr r0, _0809918C @ =sub_8074DC4 + str r0, [r4, 0x1C] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08099184: .4byte gBattleAnimArgs +_08099188: .4byte sub_8099190 +_0809918C: .4byte sub_8074DC4 + thumb_func_end sub_8099144 + + thumb_func_start sub_8099190 +sub_8099190: @ 8099190 + push {lr} + ldrh r1, [r0, 0x36] + strh r1, [r0, 0x2E] + ldrh r1, [r0, 0x32] + negs r1, r1 + strh r1, [r0, 0x32] + ldr r1, _080991AC @ =sub_8074DC4 + str r1, [r0, 0x1C] + ldr r1, _080991B0 @ =DestroyAnimSprite + bl StoreSpriteCallbackInData6 + pop {r0} + bx r0 + .align 2, 0 +_080991AC: .4byte sub_8074DC4 +_080991B0: .4byte DestroyAnimSprite + thumb_func_end sub_8099190 + + thumb_func_start sub_80991B4 +sub_80991B4: @ 80991B4 + push {r4-r7,lr} + sub sp, 0x4 + adds r6, r0, 0 + ldr r0, _080991CC @ =gBattleAnimArgs + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _080991D8 + ldr r1, _080991D0 @ =gBattlerSpriteIds + ldr r0, _080991D4 @ =gBattleAnimAttacker + b _080991DC + .align 2, 0 +_080991CC: .4byte gBattleAnimArgs +_080991D0: .4byte gBattlerSpriteIds +_080991D4: .4byte gBattleAnimAttacker +_080991D8: + ldr r1, _0809923C @ =gBattlerSpriteIds + ldr r0, _08099240 @ =gBattleAnimTarget +_080991DC: + ldrb r0, [r0] + adds r0, r1 + ldrb r7, [r0] + ldr r5, _08099244 @ =gBattleAnimArgs + ldrh r0, [r5, 0x4] + movs r3, 0 + strh r0, [r6, 0x2E] + ldr r0, _08099248 @ =gSprites + lsls r4, r7, 4 + adds r4, r7 + lsls r4, 2 + adds r4, r0 + ldrh r0, [r4, 0x24] + ldrh r1, [r4, 0x20] + adds r0, r1 + strh r0, [r6, 0x30] + ldrh r0, [r4, 0x20] + strh r0, [r6, 0x32] + ldrh r0, [r4, 0x26] + ldrh r1, [r4, 0x22] + adds r0, r1 + strh r0, [r6, 0x34] + ldrh r0, [r4, 0x22] + strh r0, [r6, 0x36] + adds r0, r6, 0 + str r3, [sp] + bl sub_80754B8 + ldr r3, [sp] + strh r3, [r6, 0x34] + strh r3, [r6, 0x36] + ldrh r0, [r4, 0x24] + strh r0, [r6, 0x38] + ldrh r0, [r4, 0x26] + strh r0, [r6, 0x3A] + adds r2, r6, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] + movs r1, 0x2 + ldrsh r0, [r5, r1] + cmp r0, 0x1 + bne _0809924C + strh r3, [r6, 0x32] + b _08099252 + .align 2, 0 +_0809923C: .4byte gBattlerSpriteIds +_08099240: .4byte gBattleAnimTarget +_08099244: .4byte gBattleAnimArgs +_08099248: .4byte gSprites +_0809924C: + cmp r0, 0x2 + bne _08099252 + strh r3, [r6, 0x30] +_08099252: + ldr r0, _08099268 @ =gBattleAnimArgs + ldrh r1, [r0, 0x2] + lsls r0, r7, 8 + orrs r0, r1 + strh r0, [r6, 0x3C] + ldr r0, _0809926C @ =sub_8099270 + str r0, [r6, 0x1C] + add sp, 0x4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08099268: .4byte gBattleAnimArgs +_0809926C: .4byte sub_8099270 + thumb_func_end sub_80991B4 + + thumb_func_start sub_8099270 +sub_8099270: @ 8099270 + push {r4-r6,lr} + adds r2, r0, 0 + ldrh r0, [r2, 0x3C] + lsls r1, r0, 24 + lsrs r4, r1, 24 + adds r5, r4, 0 + lsls r0, 16 + asrs r0, 24 + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + ldr r0, _080992AC @ =gSprites + adds r3, r1, r0 + ldrh r0, [r2, 0x2E] + movs r6, 0x2E + ldrsh r1, [r2, r6] + cmp r1, 0 + bne _080992B0 + cmp r4, 0x1 + bhi _0809929A + strh r1, [r3, 0x24] +_0809929A: + cmp r5, 0x2 + beq _080992A2 + cmp r5, 0 + bne _080992A4 +_080992A2: + strh r1, [r3, 0x26] +_080992A4: + adds r0, r2, 0 + bl DestroyAnimSprite + b _080992DA + .align 2, 0 +_080992AC: .4byte gSprites +_080992B0: + subs r0, 0x1 + strh r0, [r2, 0x2E] + ldrh r1, [r2, 0x30] + ldrh r0, [r2, 0x34] + adds r1, r0 + strh r1, [r2, 0x34] + ldrh r0, [r2, 0x32] + ldrh r4, [r2, 0x36] + adds r0, r4 + strh r0, [r2, 0x36] + lsls r1, 16 + asrs r1, 24 + ldrh r6, [r2, 0x38] + adds r1, r6 + strh r1, [r3, 0x24] + ldrh r0, [r2, 0x36] + lsls r0, 16 + asrs r0, 24 + ldrh r2, [r2, 0x3A] + adds r0, r2 + strh r0, [r3, 0x26] +_080992DA: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_8099270 + + thumb_func_start sub_80992E0 +sub_80992E0: @ 80992E0 + push {r4-r6,lr} + adds r5, r0, 0 + ldr r0, _080992F4 @ =gBattleAnimArgs + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _080992FC + ldr r0, _080992F8 @ =gBattleAnimAttacker + b _080992FE + .align 2, 0 +_080992F4: .4byte gBattleAnimArgs +_080992F8: .4byte gBattleAnimAttacker +_080992FC: + ldr r0, _0809937C @ =gBattleAnimTarget +_080992FE: + ldrb r2, [r0] + ldr r0, _08099380 @ =gBattlerSpriteIds + adds r0, r2, r0 + ldrb r6, [r0] + adds r0, r2, 0 + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _08099328 + ldr r1, _08099384 @ =gBattleAnimArgs + ldrh r0, [r1, 0x2] + negs r0, r0 + strh r0, [r1, 0x2] + movs r2, 0x6 + ldrsh r0, [r1, r2] + cmp r0, 0x1 + bne _08099328 + ldrh r0, [r1, 0x4] + negs r0, r0 + strh r0, [r1, 0x4] +_08099328: + ldr r2, _08099384 @ =gBattleAnimArgs + ldrh r0, [r2, 0x8] + movs r4, 0 + strh r0, [r5, 0x2E] + ldr r0, _08099388 @ =gSprites + lsls r1, r6, 4 + adds r1, r6 + lsls r1, 2 + adds r1, r0 + ldrh r0, [r1, 0x20] + strh r0, [r5, 0x30] + ldrh r0, [r2, 0x2] + ldrh r3, [r1, 0x20] + adds r0, r3 + strh r0, [r5, 0x32] + ldrh r0, [r1, 0x22] + strh r0, [r5, 0x34] + ldrh r0, [r2, 0x4] + ldrh r1, [r1, 0x22] + adds r0, r1 + strh r0, [r5, 0x36] + adds r0, r5, 0 + bl sub_80754B8 + strh r4, [r5, 0x34] + strh r4, [r5, 0x36] + strh r6, [r5, 0x38] + adds r2, r5, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] + ldr r1, _0809938C @ =DestroyAnimSprite + adds r0, r5, 0 + bl StoreSpriteCallbackInData6 + ldr r0, _08099390 @ =sub_8074E14 + str r0, [r5, 0x1C] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0809937C: .4byte gBattleAnimTarget +_08099380: .4byte gBattlerSpriteIds +_08099384: .4byte gBattleAnimArgs +_08099388: .4byte gSprites +_0809938C: .4byte DestroyAnimSprite +_08099390: .4byte sub_8074E14 + thumb_func_end sub_80992E0 + + thumb_func_start sub_8099394 +sub_8099394: @ 8099394 + push {r4-r7,lr} + adds r6, r0, 0 + adds r2, r6, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] + ldr r0, _080993B4 @ =gBattleAnimArgs + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _080993BC + ldr r0, _080993B8 @ =gBattleAnimAttacker + b _080993BE + .align 2, 0 +_080993B4: .4byte gBattleAnimArgs +_080993B8: .4byte gBattleAnimAttacker +_080993BC: + ldr r0, _0809943C @ =gBattleAnimTarget +_080993BE: + ldrb r1, [r0] + ldr r0, _08099440 @ =gBattlerSpriteIds + adds r0, r1, r0 + ldrb r7, [r0] + adds r0, r1, 0 + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080993E8 + ldr r1, _08099444 @ =gBattleAnimArgs + ldrh r0, [r1, 0x2] + negs r0, r0 + strh r0, [r1, 0x2] + movs r2, 0x6 + ldrsh r0, [r1, r2] + cmp r0, 0x1 + bne _080993E8 + ldrh r0, [r1, 0x4] + negs r0, r0 + strh r0, [r1, 0x4] +_080993E8: + ldr r5, _08099444 @ =gBattleAnimArgs + ldrh r0, [r5, 0x8] + strh r0, [r6, 0x2E] + ldr r0, _08099448 @ =gSprites + lsls r4, r7, 4 + adds r4, r7 + lsls r4, 2 + adds r4, r0 + ldrh r0, [r4, 0x24] + ldrh r1, [r4, 0x20] + adds r0, r1 + strh r0, [r6, 0x30] + ldrh r1, [r5, 0x2] + adds r0, r1 + strh r0, [r6, 0x32] + ldrh r0, [r4, 0x26] + ldrh r2, [r4, 0x22] + adds r0, r2 + strh r0, [r6, 0x34] + ldrh r1, [r5, 0x4] + adds r0, r1 + strh r0, [r6, 0x36] + adds r0, r6, 0 + bl sub_80754B8 + ldrh r0, [r4, 0x24] + lsls r0, 8 + strh r0, [r6, 0x34] + ldrh r0, [r4, 0x26] + lsls r0, 8 + strh r0, [r6, 0x36] + strh r7, [r6, 0x38] + ldrh r0, [r5, 0xA] + strh r0, [r6, 0x3A] + lsls r0, 16 + cmp r0, 0 + bne _08099450 + ldr r1, _0809944C @ =DestroyAnimSprite + adds r0, r6, 0 + bl StoreSpriteCallbackInData6 + b _08099458 + .align 2, 0 +_0809943C: .4byte gBattleAnimTarget +_08099440: .4byte gBattlerSpriteIds +_08099444: .4byte gBattleAnimArgs +_08099448: .4byte gSprites +_0809944C: .4byte DestroyAnimSprite +_08099450: + ldr r1, _08099464 @ =sub_809946C + adds r0, r6, 0 + bl StoreSpriteCallbackInData6 +_08099458: + ldr r0, _08099468 @ =sub_8074E14 + str r0, [r6, 0x1C] + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08099464: .4byte sub_809946C +_08099468: .4byte sub_8074E14 + thumb_func_end sub_8099394 + + thumb_func_start sub_809946C +sub_809946C: @ 809946C + push {r4,lr} + ldr r4, _08099498 @ =gSprites + movs r1, 0x38 + ldrsh r2, [r0, r1] + lsls r1, r2, 4 + adds r1, r2 + lsls r1, 2 + adds r1, r4 + movs r3, 0 + strh r3, [r1, 0x24] + movs r1, 0x38 + ldrsh r2, [r0, r1] + lsls r1, r2, 4 + adds r1, r2 + lsls r1, 2 + adds r1, r4 + strh r3, [r1, 0x26] + bl DestroyAnimSprite + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08099498: .4byte gSprites + thumb_func_end sub_809946C + + thumb_func_start sub_809949C +sub_809949C: @ 809949C + push {r4-r7,lr} + lsls r0, 24 + lsrs r6, r0, 24 + ldr r5, _08099520 @ =gBattleAnimArgs + movs r0, 0x6 + ldrsh r1, [r5, r0] + movs r0, 0x80 + lsls r0, 8 + bl __divsi3 + lsls r0, 16 + lsrs r7, r0, 16 + ldr r0, _08099524 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080994CE + ldrh r0, [r5, 0x2] + negs r0, r0 + strh r0, [r5, 0x2] + ldrh r0, [r5, 0xA] + negs r0, r0 + strh r0, [r5, 0xA] +_080994CE: + ldrb r0, [r5] + bl GetAnimBankSpriteId + ldr r1, _08099528 @ =gTasks + lsls r4, r6, 2 + adds r4, r6 + lsls r4, 3 + adds r4, r1 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x8] + movs r1, 0x2 + ldrsh r0, [r5, r1] + lsls r0, 8 + movs r2, 0x6 + ldrsh r1, [r5, r2] + bl __divsi3 + strh r0, [r4, 0xA] + ldrh r0, [r5, 0x4] + strh r0, [r4, 0xC] + ldrh r0, [r5, 0x6] + strh r0, [r4, 0xE] + ldrh r0, [r5, 0x8] + strh r0, [r4, 0x10] + movs r1, 0xA + ldrsh r0, [r5, r1] + lsls r0, 8 + movs r2, 0xC + ldrsh r1, [r5, r2] + bl __divsi3 + strh r0, [r4, 0x12] + ldrh r0, [r5, 0xC] + strh r0, [r4, 0x14] + strh r7, [r4, 0x16] + ldr r0, _0809952C @ =sub_8099530 + str r0, [r4] + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08099520: .4byte gBattleAnimArgs +_08099524: .4byte gBattleAnimAttacker +_08099528: .4byte gTasks +_0809952C: .4byte sub_8099530 + thumb_func_end sub_809949C + + thumb_func_start sub_8099530 +sub_8099530: @ 8099530 + push {r4,r5,lr} + lsls r0, 24 + lsrs r0, 24 + ldr r2, _08099588 @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r5, r1, r2 + ldrb r1, [r5, 0x8] + ldrh r0, [r5, 0xA] + ldrh r2, [r5, 0x1E] + adds r0, r2 + strh r0, [r5, 0x1E] + ldr r2, _0809958C @ =gSprites + lsls r4, r1, 4 + adds r4, r1 + lsls r4, 2 + adds r4, r2 + lsls r0, 16 + asrs r0, 24 + strh r0, [r4, 0x24] + ldrh r0, [r5, 0x1C] + lsrs r0, 8 + movs r2, 0xC + ldrsh r1, [r5, r2] + bl Sin + strh r0, [r4, 0x26] + ldrh r0, [r5, 0x16] + ldrh r1, [r5, 0x1C] + adds r0, r1 + strh r0, [r5, 0x1C] + ldrh r0, [r5, 0xE] + subs r0, 0x1 + strh r0, [r5, 0xE] + lsls r0, 16 + cmp r0, 0 + bne _08099580 + ldr r0, _08099590 @ =sub_8099594 + str r0, [r5] +_08099580: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08099588: .4byte gTasks +_0809958C: .4byte gSprites +_08099590: .4byte sub_8099594 + thumb_func_end sub_8099530 + + thumb_func_start sub_8099594 +sub_8099594: @ 8099594 + push {r4,r5,lr} + lsls r0, 24 + lsrs r0, 24 + adds r5, r0, 0 + ldr r1, _080995B8 @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r4, r0, r1 + ldrh r1, [r4, 0x10] + movs r2, 0x10 + ldrsh r0, [r4, r2] + cmp r0, 0 + ble _080995BC + subs r0, r1, 0x1 + strh r0, [r4, 0x10] + b _080995F0 + .align 2, 0 +_080995B8: .4byte gTasks +_080995BC: + ldrb r0, [r4, 0x8] + ldrh r2, [r4, 0x12] + ldrh r1, [r4, 0x20] + adds r2, r1 + strh r2, [r4, 0x20] + ldr r3, _080995F8 @ =gSprites + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r3 + lsls r2, 16 + asrs r2, 24 + ldrh r0, [r4, 0x1E] + lsls r0, 16 + asrs r0, 24 + adds r2, r0 + strh r2, [r1, 0x24] + ldrh r0, [r4, 0x14] + subs r0, 0x1 + strh r0, [r4, 0x14] + lsls r0, 16 + cmp r0, 0 + bne _080995F0 + adds r0, r5, 0 + bl DestroyAnimVisualTask +_080995F0: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080995F8: .4byte gSprites + thumb_func_end sub_8099594 + + thumb_func_start sub_80995FC +sub_80995FC: @ 80995FC + push {r4-r6,lr} + lsls r0, 24 + lsrs r6, r0, 24 + ldr r1, _08099620 @ =gBattleAnimArgs + movs r2, 0 + ldrsh r0, [r1, r2] + cmp r0, 0x2 + beq _0809962A + cmp r0, 0x2 + bgt _08099624 + cmp r0, 0 + blt _0809965C + ldrb r0, [r1] + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r2, r0, 24 + b _08099664 + .align 2, 0 +_08099620: .4byte gBattleAnimArgs +_08099624: + cmp r0, 0x3 + beq _08099634 + b _0809965C +_0809962A: + ldr r5, _08099630 @ =gBattleAnimAttacker + b _08099636 + .align 2, 0 +_08099630: .4byte gBattleAnimAttacker +_08099634: + ldr r5, _08099654 @ =gBattleAnimTarget +_08099636: + ldrb r0, [r5] + movs r4, 0x2 + eors r0, r4 + bl sub_8072DF0 + lsls r0, 24 + cmp r0, 0 + beq _0809965C + ldr r1, _08099658 @ =gBattlerSpriteIds + ldrb r0, [r5] + eors r0, r4 + adds r0, r1 + ldrb r2, [r0] + b _08099664 + .align 2, 0 +_08099654: .4byte gBattleAnimTarget +_08099658: .4byte gBattlerSpriteIds +_0809965C: + adds r0, r6, 0 + bl DestroyAnimVisualTask + b _080996A4 +_08099664: + ldr r1, _08099684 @ =gTasks + lsls r4, r6, 2 + adds r0, r4, r6 + lsls r0, 3 + adds r5, r0, r1 + strh r2, [r5, 0x8] + ldr r0, _08099688 @ =gBattleAnimTarget + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _08099690 + ldr r0, _0809968C @ =gBattleAnimArgs + ldrh r0, [r0, 0x2] + b _08099696 + .align 2, 0 +_08099684: .4byte gTasks +_08099688: .4byte gBattleAnimTarget +_0809968C: .4byte gBattleAnimArgs +_08099690: + ldr r0, _080996AC @ =gBattleAnimArgs + ldrh r0, [r0, 0x2] + negs r0, r0 +_08099696: + strh r0, [r5, 0xA] + ldr r0, _080996B0 @ =gTasks + adds r1, r4, r6 + lsls r1, 3 + adds r1, r0 + ldr r0, _080996B4 @ =sub_80996B8 + str r0, [r1] +_080996A4: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080996AC: .4byte gBattleAnimArgs +_080996B0: .4byte gTasks +_080996B4: .4byte sub_80996B8 + thumb_func_end sub_80995FC + + thumb_func_start sub_80996B8 +sub_80996B8: @ 80996B8 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _080996FC @ =gTasks + lsls r1, r4, 2 + adds r1, r4 + lsls r1, 3 + adds r1, r0 + ldrb r2, [r1, 0x8] + ldr r3, _08099700 @ =gSprites + lsls r0, r2, 4 + adds r0, r2 + lsls r0, 2 + adds r0, r3 + ldrh r1, [r1, 0xA] + ldrh r2, [r0, 0x24] + adds r1, r2 + strh r1, [r0, 0x24] + movs r2, 0x24 + ldrsh r1, [r0, r2] + movs r2, 0x20 + ldrsh r0, [r0, r2] + adds r1, r0 + adds r1, 0x20 + movs r0, 0x98 + lsls r0, 1 + cmp r1, r0 + bls _080996F6 + adds r0, r4, 0 + bl DestroyAnimVisualTask +_080996F6: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080996FC: .4byte gTasks +_08099700: .4byte gSprites + thumb_func_end sub_80996B8 + + thumb_func_start sub_8099704 +sub_8099704: @ 8099704 + push {r4-r6,lr} + lsls r0, 24 + lsrs r5, r0, 24 + ldr r6, _08099754 @ =gBattleAnimAttacker + ldrb r0, [r6] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _08099720 + ldr r1, _08099758 @ =gBattleAnimArgs + ldrh r0, [r1, 0x2] + negs r0, r0 + strh r0, [r1, 0x2] +_08099720: + ldr r4, _08099758 @ =gBattleAnimArgs + ldrb r0, [r4, 0x8] + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r0, 24 + ldr r2, _0809975C @ =gTasks + lsls r3, r5, 2 + adds r1, r3, r5 + lsls r1, 3 + adds r2, r1, r2 + ldrh r1, [r4] + strh r1, [r2, 0x8] + ldrh r1, [r4, 0x2] + strh r1, [r2, 0xA] + ldrh r1, [r4, 0x4] + strh r1, [r2, 0xC] + ldrh r1, [r4, 0x6] + strh r1, [r2, 0xE] + strh r0, [r2, 0x10] + movs r1, 0x8 + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _08099760 + ldrb r0, [r6] + b _08099764 + .align 2, 0 +_08099754: .4byte gBattleAnimAttacker +_08099758: .4byte gBattleAnimArgs +_0809975C: .4byte gTasks +_08099760: + ldr r0, _0809977C @ =gBattleAnimTarget + ldrb r0, [r0] +_08099764: + strh r0, [r2, 0x12] + ldr r1, _08099780 @ =gTasks + adds r0, r3, r5 + lsls r0, 3 + adds r0, r1 + movs r1, 0x1 + strh r1, [r0, 0x20] + ldr r1, _08099784 @ =sub_8099788 + str r1, [r0] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0809977C: .4byte gBattleAnimTarget +_08099780: .4byte gTasks +_08099784: .4byte sub_8099788 + thumb_func_end sub_8099704 + + thumb_func_start sub_8099788 +sub_8099788: @ 8099788 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + lsls r0, 24 + lsrs r6, r0, 24 + ldr r1, _080997D8 @ =gTasks + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + adds r4, r0, r1 + ldrb r7, [r4, 0x10] + ldrh r0, [r4, 0xC] + ldrh r1, [r4, 0x1C] + adds r0, r1 + lsls r1, r0, 16 + strh r0, [r4, 0x1C] + lsrs r1, 24 + mov r8, r1 + mov r0, r8 + movs r2, 0xA + ldrsh r1, [r4, r2] + bl Sin + lsls r0, 16 + lsrs r5, r0, 16 + mov r9, r5 + movs r1, 0x8 + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080997E0 + ldr r0, _080997DC @ =gSprites + lsls r2, r7, 4 + adds r1, r2, r7 + lsls r1, 2 + adds r1, r0 + strh r5, [r1, 0x24] + mov r9, r0 + adds r4, r2, 0 + b _08099826 + .align 2, 0 +_080997D8: .4byte gTasks +_080997DC: .4byte gSprites +_080997E0: + ldrb r0, [r4, 0x12] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _08099808 + ldr r1, _08099804 @ =gSprites + lsls r2, r7, 4 + adds r0, r2, r7 + lsls r0, 2 + adds r3, r0, r1 + lsls r0, r5, 16 + asrs r0, 16 + mov r9, r1 + adds r4, r2, 0 + cmp r0, 0 + bge _08099824 + b _08099822 + .align 2, 0 +_08099804: .4byte gSprites +_08099808: + ldr r1, _080998A8 @ =gSprites + lsls r2, r7, 4 + adds r0, r2, r7 + lsls r0, 2 + adds r3, r0, r1 + mov r4, r9 + lsls r0, r4, 16 + asrs r0, 16 + mov r9, r1 + adds r4, r2, 0 + cmp r0, 0 + bge _08099822 + negs r0, r0 +_08099822: + negs r0, r0 +_08099824: + strh r0, [r3, 0x26] +_08099826: + mov r5, r8 + cmp r5, 0x7F + bls _08099848 + ldr r1, _080998AC @ =gTasks + lsls r2, r6, 2 + adds r0, r2, r6 + lsls r0, 3 + adds r3, r0, r1 + movs r5, 0x1E + ldrsh r0, [r3, r5] + adds r5, r1, 0 + cmp r0, 0 + bne _08099848 + movs r1, 0x20 + ldrsh r0, [r3, r1] + cmp r0, 0x1 + beq _0809986A +_08099848: + mov r2, r8 + cmp r2, 0x7E + bhi _0809989C + ldr r1, _080998AC @ =gTasks + lsls r2, r6, 2 + adds r0, r2, r6 + lsls r0, 3 + adds r3, r0, r1 + movs r5, 0x1E + ldrsh r0, [r3, r5] + adds r5, r1, 0 + cmp r0, 0x1 + bne _0809989C + movs r1, 0x20 + ldrsh r0, [r3, r1] + cmp r0, 0 + bne _0809989C +_0809986A: + adds r1, r2, r6 + lsls r1, 3 + adds r1, r5 + ldrh r0, [r1, 0x1E] + movs r2, 0x1 + eors r0, r2 + strh r0, [r1, 0x1E] + ldrh r0, [r1, 0x20] + eors r0, r2 + strh r0, [r1, 0x20] + ldrh r0, [r1, 0xE] + subs r0, 0x1 + strh r0, [r1, 0xE] + lsls r0, 16 + asrs r3, r0, 16 + cmp r3, 0 + bne _0809989C + adds r0, r4, r7 + lsls r0, 2 + add r0, r9 + strh r3, [r0, 0x24] + strh r3, [r0, 0x26] + adds r0, r6, 0 + bl DestroyAnimVisualTask +_0809989C: + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080998A8: .4byte gSprites +_080998AC: .4byte gTasks + thumb_func_end sub_8099788 + + thumb_func_start sub_80998B0 +sub_80998B0: @ 80998B0 + push {r4-r6,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r6, _080998FC @ =gBattleAnimArgs + ldrb r0, [r6, 0x6] + bl GetAnimBankSpriteId + adds r5, r0, 0 + lsls r5, 24 + lsrs r5, 24 + ldrb r1, [r6, 0x8] + adds r0, r5, 0 + bl sub_80758E0 + ldr r1, _08099900 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldrh r1, [r6] + strh r1, [r0, 0x8] + ldrh r1, [r6, 0x2] + strh r1, [r0, 0xA] + ldrh r1, [r6, 0x4] + strh r1, [r0, 0xC] + ldrh r1, [r6, 0x4] + strh r1, [r0, 0xE] + strh r5, [r0, 0x10] + movs r1, 0x80 + lsls r1, 1 + strh r1, [r0, 0x1C] + strh r1, [r0, 0x1E] + ldr r1, _08099904 @ =sub_8099908 + str r1, [r0] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080998FC: .4byte gBattleAnimArgs +_08099900: .4byte gTasks +_08099904: .4byte sub_8099908 + thumb_func_end sub_80998B0 + + thumb_func_start sub_8099908 +sub_8099908: @ 8099908 + push {r4-r6,lr} + lsls r0, 24 + lsrs r0, 24 + adds r5, r0, 0 + ldr r1, _08099968 @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r4, r0, r1 + ldrh r0, [r4, 0x8] + ldrh r1, [r4, 0x1C] + adds r0, r1 + strh r0, [r4, 0x1C] + ldrh r0, [r4, 0xA] + ldrh r3, [r4, 0x1E] + adds r0, r3 + strh r0, [r4, 0x1E] + ldrb r0, [r4, 0x10] + adds r6, r0, 0 + movs r0, 0x1C + ldrsh r1, [r4, r0] + movs r3, 0x1E + ldrsh r2, [r4, r3] + adds r0, r6, 0 + movs r3, 0 + bl obj_id_set_rotscale + ldrh r0, [r4, 0xC] + subs r0, 0x1 + strh r0, [r4, 0xC] + lsls r0, 16 + asrs r1, r0, 16 + cmp r1, 0 + bne _08099978 + ldrh r2, [r4, 0xE] + movs r3, 0xE + ldrsh r0, [r4, r3] + cmp r0, 0 + ble _0809996C + ldrh r0, [r4, 0x8] + negs r0, r0 + strh r0, [r4, 0x8] + ldrh r0, [r4, 0xA] + negs r0, r0 + strh r0, [r4, 0xA] + strh r2, [r4, 0xC] + strh r1, [r4, 0xE] + b _08099978 + .align 2, 0 +_08099968: .4byte gTasks +_0809996C: + adds r0, r6, 0 + bl sub_8075980 + adds r0, r5, 0 + bl DestroyAnimVisualTask +_08099978: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_8099908 + + thumb_func_start sub_8099980 +sub_8099980: @ 8099980 + push {r4-r7,lr} + mov r7, r8 + push {r7} + lsls r0, 24 + lsrs r7, r0, 24 + ldr r4, _080999BC @ =gBattleAnimArgs + ldrb r0, [r4, 0x4] + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + movs r1, 0 + bl sub_80758E0 + ldr r1, _080999C0 @ =gTasks + lsls r0, r7, 2 + adds r0, r7 + lsls r0, 3 + adds r2, r0, r1 + movs r1, 0 + strh r1, [r2, 0xA] + ldrh r0, [r4] + strh r0, [r2, 0xC] + movs r3, 0x6 + ldrsh r0, [r4, r3] + cmp r0, 0x1 + beq _080999C4 + strh r1, [r2, 0xE] + b _080999D0 + .align 2, 0 +_080999BC: .4byte gBattleAnimArgs +_080999C0: .4byte gTasks +_080999C4: + ldrh r0, [r4] + ldrh r1, [r4, 0x2] + adds r3, r0, 0 + muls r3, r1 + adds r0, r3, 0 + strh r0, [r2, 0xE] +_080999D0: + ldr r1, _080999FC @ =gTasks + lsls r4, r7, 2 + adds r0, r4, r7 + lsls r0, 3 + adds r5, r0, r1 + ldr r6, _08099A00 @ =gBattleAnimArgs + ldrh r0, [r6, 0x2] + strh r0, [r5, 0x10] + mov r0, r8 + strh r0, [r5, 0x12] + ldrh r0, [r6, 0x6] + strh r0, [r5, 0x14] + bl sub_8073788 + lsls r0, 24 + mov r8, r4 + cmp r0, 0 + beq _08099A04 + movs r0, 0x1 + strh r0, [r5, 0x16] + b _08099A28 + .align 2, 0 +_080999FC: .4byte gTasks +_08099A00: .4byte gBattleAnimArgs +_08099A04: + movs r1, 0x4 + ldrsh r0, [r6, r1] + cmp r0, 0 + bne _08099A14 + ldr r0, _08099A10 @ =gBattleAnimAttacker + b _08099A16 + .align 2, 0 +_08099A10: .4byte gBattleAnimAttacker +_08099A14: + ldr r0, _08099A6C @ =gBattleAnimTarget +_08099A16: + ldrb r0, [r0] + bl GetBattlerSide + movs r1, 0 + lsls r0, 24 + cmp r0, 0 + bne _08099A26 + movs r1, 0x1 +_08099A26: + strh r1, [r5, 0x16] +_08099A28: + ldr r0, _08099A70 @ =gTasks + mov r2, r8 + adds r1, r2, r7 + lsls r1, 3 + adds r4, r1, r0 + movs r3, 0x16 + ldrsh r0, [r4, r3] + cmp r0, 0 + beq _08099A54 + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _08099A54 + movs r1, 0xE + ldrsh r0, [r4, r1] + negs r0, r0 + strh r0, [r4, 0xE] + movs r2, 0x10 + ldrsh r0, [r4, r2] + negs r0, r0 + strh r0, [r4, 0x10] +_08099A54: + ldr r0, _08099A70 @ =gTasks + mov r3, r8 + adds r1, r3, r7 + lsls r1, 3 + adds r1, r0 + ldr r0, _08099A74 @ =sub_8099B54 + str r0, [r1] + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08099A6C: .4byte gBattleAnimTarget +_08099A70: .4byte gTasks +_08099A74: .4byte sub_8099B54 + thumb_func_end sub_8099980 + + thumb_func_start sub_8099A78 +sub_8099A78: @ 8099A78 + push {r4-r7,lr} + mov r7, r8 + push {r7} + lsls r0, 24 + lsrs r5, r0, 24 + ldr r4, _08099AB4 @ =gBattleAnimArgs + ldrb r0, [r4, 0x4] + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + movs r1, 0 + bl sub_80758E0 + ldr r1, _08099AB8 @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r0, r1 + movs r1, 0 + strh r1, [r0, 0xA] + ldrh r1, [r4] + strh r1, [r0, 0xC] + movs r1, 0x4 + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _08099AC0 + ldr r0, _08099ABC @ =gBattleAnimAttacker + b _08099AC2 + .align 2, 0 +_08099AB4: .4byte gBattleAnimArgs +_08099AB8: .4byte gTasks +_08099ABC: .4byte gBattleAnimAttacker +_08099AC0: + ldr r0, _08099AF0 @ =gBattleAnimTarget +_08099AC2: + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _08099AD4 + ldrh r0, [r4, 0x2] + negs r0, r0 + strh r0, [r4, 0x2] +_08099AD4: + ldr r0, _08099AF4 @ =gBattleAnimArgs + movs r2, 0x6 + ldrsh r1, [r0, r2] + adds r6, r0, 0 + cmp r1, 0x1 + beq _08099AFC + ldr r2, _08099AF8 @ =gTasks + lsls r3, r5, 2 + adds r0, r3, r5 + lsls r0, 3 + adds r0, r2 + movs r1, 0 + strh r1, [r0, 0xE] + b _08099B16 + .align 2, 0 +_08099AF0: .4byte gBattleAnimTarget +_08099AF4: .4byte gBattleAnimArgs +_08099AF8: .4byte gTasks +_08099AFC: + ldr r3, _08099B4C @ =gTasks + lsls r4, r5, 2 + adds r0, r4, r5 + lsls r0, 3 + adds r0, r3 + ldrh r2, [r6] + ldrh r1, [r6, 0x2] + adds r7, r2, 0 + muls r7, r1 + adds r1, r7, 0 + strh r1, [r0, 0xE] + adds r2, r3, 0 + adds r3, r4, 0 +_08099B16: + adds r1, r3, r5 + lsls r1, 3 + adds r1, r2 + ldrh r0, [r6, 0x2] + strh r0, [r1, 0x10] + mov r0, r8 + strh r0, [r1, 0x12] + ldrh r0, [r6, 0x6] + strh r0, [r1, 0x14] + movs r0, 0x1 + strh r0, [r1, 0x16] + movs r2, 0xE + ldrsh r0, [r1, r2] + negs r0, r0 + strh r0, [r1, 0xE] + movs r7, 0x10 + ldrsh r0, [r1, r7] + negs r0, r0 + strh r0, [r1, 0x10] + ldr r0, _08099B50 @ =sub_8099B54 + str r0, [r1] + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08099B4C: .4byte gTasks +_08099B50: .4byte sub_8099B54 + thumb_func_end sub_8099A78 + + thumb_func_start sub_8099B54 +sub_8099B54: @ 8099B54 + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + ldr r1, _08099BAC @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r4, r0, r1 + ldrh r0, [r4, 0x10] + ldrh r1, [r4, 0xE] + adds r0, r1 + strh r0, [r4, 0xE] + ldrb r0, [r4, 0x12] + movs r2, 0x80 + lsls r2, 1 + ldrh r3, [r4, 0xE] + adds r1, r2, 0 + bl obj_id_set_rotscale + movs r2, 0x16 + ldrsh r0, [r4, r2] + cmp r0, 0 + beq _08099B88 + ldrb r0, [r4, 0x12] + bl sub_80759DC +_08099B88: + ldrh r0, [r4, 0xA] + adds r0, 0x1 + strh r0, [r4, 0xA] + lsls r0, 16 + asrs r0, 16 + movs r2, 0xC + ldrsh r1, [r4, r2] + cmp r0, r1 + blt _08099BCE + movs r1, 0x14 + ldrsh r0, [r4, r1] + cmp r0, 0x1 + beq _08099BB0 + cmp r0, 0x1 + ble _08099BB6 + cmp r0, 0x2 + beq _08099BBE + b _08099BB6 + .align 2, 0 +_08099BAC: .4byte gTasks +_08099BB0: + ldrb r0, [r4, 0x12] + bl sub_8075980 +_08099BB6: + adds r0, r5, 0 + bl DestroyAnimVisualTask + b _08099BCE +_08099BBE: + movs r0, 0 + strh r0, [r4, 0xA] + movs r2, 0x10 + ldrsh r0, [r4, r2] + negs r0, r0 + strh r0, [r4, 0x10] + movs r0, 0x1 + strh r0, [r4, 0x14] +_08099BCE: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8099B54 + + thumb_func_start sub_8099BD4 +sub_8099BD4: @ 8099BD4 + push {r4-r7,lr} + mov r7, r8 + push {r7} + lsls r0, 24 + lsrs r7, r0, 24 + ldr r0, _08099C00 @ =gBattleAnimArgs + movs r2, 0 + ldrsh r1, [r0, r2] + mov r8, r0 + cmp r1, 0 + bne _08099C0C + ldr r4, _08099C04 @ =gTasks + lsls r5, r7, 2 + adds r0, r5, r7 + lsls r0, 3 + adds r6, r0, r4 + ldr r0, _08099C08 @ =gUnknown_2037EEC + ldrh r0, [r0] + movs r1, 0xC + bl __udivsi3 + b _08099C20 + .align 2, 0 +_08099C00: .4byte gBattleAnimArgs +_08099C04: .4byte gTasks +_08099C08: .4byte gUnknown_2037EEC +_08099C0C: + ldr r4, _08099CA8 @ =gTasks + lsls r5, r7, 2 + adds r0, r5, r7 + lsls r0, 3 + adds r6, r0, r4 + ldr r0, _08099CAC @ =gUnknown_2037EE8 + ldr r0, [r0] + movs r1, 0xC + bl __divsi3 +_08099C20: + strh r0, [r6, 0x26] + lsls r0, 16 + adds r1, r4, 0 + cmp r0, 0 + bgt _08099C2E + movs r0, 0x1 + strh r0, [r6, 0x26] +_08099C2E: + movs r2, 0x26 + ldrsh r0, [r6, r2] + cmp r0, 0x10 + ble _08099C3A + movs r0, 0x10 + strh r0, [r6, 0x26] +_08099C3A: + adds r4, r5, r7 + lsls r4, 3 + adds r4, r1 + movs r0, 0x26 + ldrsh r1, [r4, r0] + lsrs r0, r1, 31 + adds r1, r0 + asrs r1, 1 + movs r5, 0 + strh r1, [r4, 0x24] + ldrh r2, [r4, 0x26] + movs r0, 0x1 + ands r0, r2 + adds r1, r0 + strh r1, [r4, 0x22] + strh r5, [r4, 0x20] + mov r1, r8 + ldrh r0, [r1, 0x6] + strh r0, [r4, 0x1C] + ldrh r0, [r1, 0x8] + strh r0, [r4, 0x1E] + movs r0, 0x1 + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x16] + ldr r2, _08099CB0 @ =gSprites + movs r0, 0x16 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r0, [r0, 0x24] + strh r0, [r4, 0x18] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r0, [r0, 0x26] + strh r0, [r4, 0x1A] + strh r5, [r4, 0x8] + mov r1, r8 + ldrh r0, [r1, 0x2] + strh r0, [r4, 0xA] + ldrh r0, [r1, 0x4] + strh r0, [r4, 0xC] + ldr r0, _08099CB4 @ =sub_8099CB8 + str r0, [r4] + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08099CA8: .4byte gTasks +_08099CAC: .4byte gUnknown_2037EE8 +_08099CB0: .4byte gSprites +_08099CB4: .4byte sub_8099CB8 + thumb_func_end sub_8099BD4 + + thumb_func_start sub_8099CB8 +sub_8099CB8: @ 8099CB8 + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + ldr r1, _08099D0C @ =gTasks + adds r3, r0, r1 + ldrh r0, [r3, 0x8] + adds r0, 0x1 + strh r0, [r3, 0x8] + lsls r0, 16 + asrs r0, 16 + movs r2, 0xA + ldrsh r1, [r3, r2] + cmp r0, r1 + ble _08099D96 + movs r0, 0 + strh r0, [r3, 0x8] + ldrh r0, [r3, 0x20] + adds r1, r0, 0x1 + movs r0, 0x1 + ands r1, r0 + strh r1, [r3, 0x20] + movs r2, 0x1C + ldrsh r0, [r3, r2] + cmp r0, 0 + beq _08099D2A + cmp r1, 0 + beq _08099D14 + ldr r2, _08099D10 @ =gSprites + movs r0, 0x16 + ldrsh r1, [r3, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r1, [r3, 0x22] + ldrh r2, [r3, 0x18] + adds r1, r2 + b _08099D28 + .align 2, 0 +_08099D0C: .4byte gTasks +_08099D10: .4byte gSprites +_08099D14: + ldr r2, _08099D50 @ =gSprites + movs r0, 0x16 + ldrsh r1, [r3, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r1, [r3, 0x18] + ldrh r2, [r3, 0x24] + subs r1, r2 +_08099D28: + strh r1, [r0, 0x24] +_08099D2A: + movs r1, 0x1E + ldrsh r0, [r3, r1] + cmp r0, 0 + beq _08099D64 + movs r2, 0x20 + ldrsh r4, [r3, r2] + cmp r4, 0 + beq _08099D54 + ldr r2, _08099D50 @ =gSprites + movs r0, 0x16 + ldrsh r1, [r3, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r1, [r3, 0x26] + strh r1, [r0, 0x26] + b _08099D64 + .align 2, 0 +_08099D50: .4byte gSprites +_08099D54: + ldr r2, _08099D9C @ =gSprites + movs r0, 0x16 + ldrsh r1, [r3, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + strh r4, [r0, 0x26] +_08099D64: + ldrh r0, [r3, 0xC] + subs r0, 0x1 + strh r0, [r3, 0xC] + lsls r0, 16 + asrs r4, r0, 16 + cmp r4, 0 + bne _08099D96 + ldr r2, _08099D9C @ =gSprites + movs r0, 0x16 + ldrsh r1, [r3, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + strh r4, [r0, 0x24] + movs r0, 0x16 + ldrsh r1, [r3, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + strh r4, [r0, 0x26] + adds r0, r5, 0 + bl DestroyAnimVisualTask +_08099D96: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08099D9C: .4byte gSprites + thumb_func_end sub_8099CB8 + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/battle_anim_mons.s b/asm/battle_anim_mons.s new file mode 100644 index 000000000..aded063d4 --- /dev/null +++ b/asm/battle_anim_mons.s @@ -0,0 +1,6343 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start sub_8074480 +sub_8074480: @ 8074480 + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + lsls r1, 24 + lsrs r4, r1, 24 + cmp r4, 0x4 + bhi _08074500 + lsls r0, r4, 2 + ldr r1, _08074498 @ =_0807449C + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08074498: .4byte _0807449C + .align 2, 0 +_0807449C: + .4byte _080744B0 + .4byte _080744D8 + .4byte _080744B0 + .4byte _08074500 + .4byte _08074500 +_080744B0: + ldr r4, _080744D0 @ =gUnknown_83AE01C + adds r0, r5, 0 + bl GetBattlerPosition + lsls r0, 24 + lsrs r0, 22 + ldr r1, _080744D4 @ =gBattleTypeFlags + ldr r1, [r1] + movs r2, 0x1 + ands r1, r2 + lsls r1, 4 + adds r0, r1 + adds r0, r4 + ldrb r0, [r0] + b _08074588 + .align 2, 0 +_080744D0: .4byte gUnknown_83AE01C +_080744D4: .4byte gBattleTypeFlags +_080744D8: + ldr r4, _080744F8 @ =gUnknown_83AE01C + adds r0, r5, 0 + bl GetBattlerPosition + lsls r0, 24 + lsrs r0, 22 + ldr r1, _080744FC @ =gBattleTypeFlags + ldr r1, [r1] + movs r2, 0x1 + ands r1, r2 + lsls r1, 4 + adds r0, r1 + adds r0, r4 + ldrb r0, [r0, 0x1] + b _08074588 + .align 2, 0 +_080744F8: .4byte gUnknown_83AE01C +_080744FC: .4byte gBattleTypeFlags +_08074500: + adds r0, r5, 0 + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _08074538 + ldr r0, _0807452C @ =gUnknown_2024018 + ldr r0, [r0] + ldr r1, [r0] + lsls r0, r5, 2 + adds r1, r0, r1 + ldrh r0, [r1, 0x2] + cmp r0, 0 + bne _08074570 + ldr r1, _08074530 @ =gBattlerPartyIndexes + lsls r0, r5, 1 + adds r0, r1 + ldrh r1, [r0] + movs r0, 0x64 + muls r0, r1 + ldr r1, _08074534 @ =gEnemyParty + b _08074556 + .align 2, 0 +_0807452C: .4byte gUnknown_2024018 +_08074530: .4byte gBattlerPartyIndexes +_08074534: .4byte gEnemyParty +_08074538: + ldr r0, _08074564 @ =gUnknown_2024018 + ldr r0, [r0] + ldr r1, [r0] + lsls r0, r5, 2 + adds r1, r0, r1 + ldrh r0, [r1, 0x2] + cmp r0, 0 + bne _08074570 + ldr r1, _08074568 @ =gBattlerPartyIndexes + lsls r0, r5, 1 + adds r0, r1 + ldrh r1, [r0] + movs r0, 0x64 + muls r0, r1 + ldr r1, _0807456C @ =gPlayerParty +_08074556: + adds r0, r1 + movs r1, 0xB + bl GetMonData + lsls r0, 16 + lsrs r1, r0, 16 + b _08074572 + .align 2, 0 +_08074564: .4byte gUnknown_2024018 +_08074568: .4byte gBattlerPartyIndexes +_0807456C: .4byte gPlayerParty +_08074570: + ldrh r1, [r1, 0x2] +_08074572: + cmp r4, 0x3 + bne _0807457C + adds r0, r5, 0 + movs r2, 0x1 + b _08074580 +_0807457C: + adds r0, r5, 0 + movs r2, 0 +_08074580: + bl sub_80747AC + lsls r0, 24 + lsrs r0, 24 +_08074588: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_8074480 + + thumb_func_start sub_8074590 +sub_8074590: @ 8074590 + push {r4-r7,lr} + lsls r0, 24 + lsrs r5, r0, 24 + adds r6, r5, 0 + lsls r1, 16 + lsrs r4, r1, 16 + adds r7, r4, 0 + adds r0, r5, 0 + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _08074674 + cmp r4, 0xC9 + bne _08074638 + ldr r0, _080745D8 @ =gUnknown_2024018 + ldr r0, [r0] + ldr r0, [r0] + lsls r1, r5, 2 + adds r0, r1, r0 + ldrh r0, [r0, 0x2] + cmp r0, 0 + bne _080745E4 + ldr r1, _080745DC @ =gBattlerPartyIndexes + lsls r0, r5, 1 + adds r0, r1 + ldrh r1, [r0] + movs r0, 0x64 + muls r0, r1 + ldr r1, _080745E0 @ =gPlayerParty + adds r0, r1 + movs r1, 0 + bl GetMonData + adds r2, r0, 0 + b _080745EA + .align 2, 0 +_080745D8: .4byte gUnknown_2024018 +_080745DC: .4byte gBattlerPartyIndexes +_080745E0: .4byte gPlayerParty +_080745E4: + ldr r0, _08074620 @ =gUnknown_2024008 + adds r0, r1, r0 + ldr r2, [r0] +_080745EA: + movs r0, 0xC0 + lsls r0, 18 + ands r0, r2 + lsrs r0, 18 + movs r1, 0xC0 + lsls r1, 10 + ands r1, r2 + lsrs r1, 12 + orrs r0, r1 + movs r1, 0xC0 + lsls r1, 2 + ands r1, r2 + lsrs r1, 6 + orrs r0, r1 + movs r1, 0x3 + ands r1, r2 + orrs r0, r1 + movs r1, 0x1C + bl __umodsi3 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0 + bne _08074624 + adds r0, r7, 0 + b _0807462E + .align 2, 0 +_08074620: .4byte gUnknown_2024008 +_08074624: + movs r1, 0xCE + lsls r1, 1 + adds r0, r1 + lsls r0, 16 + lsrs r0, 16 +_0807462E: + ldr r1, _08074634 @ =gUnknown_8235E6C + lsls r0, 2 + b _0807473C + .align 2, 0 +_08074634: .4byte gUnknown_8235E6C +_08074638: + ldr r0, _0807464C @ =0x00000181 + cmp r4, r0 + bne _08074658 + ldr r0, _08074650 @ =gUnknown_83AE050 + ldr r1, _08074654 @ =gBattleMonForms + adds r1, r5, r1 + ldrb r1, [r1] + adds r1, r0 + ldrb r0, [r1] + b _08074740 + .align 2, 0 +_0807464C: .4byte 0x00000181 +_08074650: .4byte gUnknown_83AE050 +_08074654: .4byte gBattleMonForms +_08074658: + movs r0, 0xCE + lsls r0, 1 + cmp r4, r0 + bls _08074668 + ldr r0, _08074664 @ =gUnknown_8235E6C + b _0807473E + .align 2, 0 +_08074664: .4byte gUnknown_8235E6C +_08074668: + ldr r1, _08074670 @ =gUnknown_8235E6C + lsls r0, r4, 2 + b _0807473C + .align 2, 0 +_08074670: .4byte gUnknown_8235E6C +_08074674: + cmp r4, 0xC9 + bne _08074704 + ldr r0, _080746A4 @ =gUnknown_2024018 + ldr r0, [r0] + ldr r0, [r0] + lsls r1, r5, 2 + adds r0, r1, r0 + ldrh r0, [r0, 0x2] + cmp r0, 0 + bne _080746B0 + ldr r1, _080746A8 @ =gBattlerPartyIndexes + lsls r0, r5, 1 + adds r0, r1 + ldrh r1, [r0] + movs r0, 0x64 + muls r0, r1 + ldr r1, _080746AC @ =gEnemyParty + adds r0, r1 + movs r1, 0 + bl GetMonData + adds r2, r0, 0 + b _080746B6 + .align 2, 0 +_080746A4: .4byte gUnknown_2024018 +_080746A8: .4byte gBattlerPartyIndexes +_080746AC: .4byte gEnemyParty +_080746B0: + ldr r0, _080746EC @ =gUnknown_2024008 + adds r0, r1, r0 + ldr r2, [r0] +_080746B6: + movs r0, 0xC0 + lsls r0, 18 + ands r0, r2 + lsrs r0, 18 + movs r1, 0xC0 + lsls r1, 10 + ands r1, r2 + lsrs r1, 12 + orrs r0, r1 + movs r1, 0xC0 + lsls r1, 2 + ands r1, r2 + lsrs r1, 6 + orrs r0, r1 + movs r1, 0x3 + ands r1, r2 + orrs r0, r1 + movs r1, 0x1C + bl __umodsi3 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0 + bne _080746F0 + adds r0, r7, 0 + b _080746FA + .align 2, 0 +_080746EC: .4byte gUnknown_2024008 +_080746F0: + movs r1, 0xCE + lsls r1, 1 + adds r0, r1 + lsls r0, 16 + lsrs r0, 16 +_080746FA: + ldr r1, _08074700 @ =gUnknown_82349CC + lsls r0, 2 + b _0807473C + .align 2, 0 +_08074700: .4byte gUnknown_82349CC +_08074704: + ldr r0, _0807471C @ =0x00000181 + cmp r4, r0 + bne _08074728 + ldr r0, _08074720 @ =gUnknown_83AE03C + ldr r1, _08074724 @ =gBattleMonForms + adds r1, r6, r1 + ldrb r1, [r1] + lsls r1, 2 + adds r1, r0 + ldrb r0, [r1, 0x1] + b _08074740 + .align 2, 0 +_0807471C: .4byte 0x00000181 +_08074720: .4byte gUnknown_83AE03C +_08074724: .4byte gBattleMonForms +_08074728: + movs r0, 0xCE + lsls r0, 1 + cmp r4, r0 + bls _08074738 + ldr r0, _08074734 @ =gUnknown_82349CC + b _0807473E + .align 2, 0 +_08074734: .4byte gUnknown_82349CC +_08074738: + ldr r1, _08074748 @ =gUnknown_82349CC + lsls r0, r7, 2 +_0807473C: + adds r0, r1 +_0807473E: + ldrb r0, [r0, 0x1] +_08074740: + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_08074748: .4byte gUnknown_82349CC + thumb_func_end sub_8074590 + + thumb_func_start sub_807474C +sub_807474C: @ 807474C + push {r4-r7,lr} + lsls r0, 24 + lsrs r6, r0, 24 + lsls r1, 16 + lsrs r4, r1, 16 + adds r7, r4, 0 + movs r5, 0 + adds r0, r6, 0 + bl GetBattlerSide + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0807479E + ldr r0, _0807477C @ =0x00000181 + cmp r4, r0 + bne _08074788 + ldr r0, _08074780 @ =gUnknown_83AE04C + ldr r1, _08074784 @ =gBattleMonForms + adds r1, r6, r1 + ldrb r1, [r1] + adds r1, r0 + ldrb r5, [r1] + b _0807479E + .align 2, 0 +_0807477C: .4byte 0x00000181 +_08074780: .4byte gUnknown_83AE04C +_08074784: .4byte gBattleMonForms +_08074788: + movs r0, 0xCE + lsls r0, 1 + cmp r4, r0 + bls _08074798 + ldr r0, _08074794 @ =gUnknown_823A004 + b _0807479C + .align 2, 0 +_08074794: .4byte gUnknown_823A004 +_08074798: + ldr r0, _080747A8 @ =gUnknown_823A004 + adds r0, r7, r0 +_0807479C: + ldrb r5, [r0] +_0807479E: + adds r0, r5, 0 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_080747A8: .4byte gUnknown_823A004 + thumb_func_end sub_807474C + + thumb_func_start sub_80747AC +sub_80747AC: @ 80747AC + push {r4-r7,lr} + lsls r0, 24 + lsrs r6, r0, 24 + lsls r1, 16 + lsrs r4, r1, 16 + lsls r2, 24 + lsrs r7, r2, 24 + adds r0, r6, 0 + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _080747D4 + adds r0, r6, 0 + adds r1, r4, 0 + bl sub_8074590 + lsls r0, 24 + lsrs r5, r0, 24 + b _080747F2 +_080747D4: + adds r0, r6, 0 + adds r1, r4, 0 + bl sub_8074590 + lsls r0, 24 + lsrs r5, r0, 24 + adds r0, r6, 0 + adds r1, r4, 0 + bl sub_807474C + lsls r0, 24 + lsrs r0, 24 + subs r0, r5, r0 + lsls r0, 16 + lsrs r5, r0, 16 +_080747F2: + adds r0, r6, 0 + bl GetBattlerPosition + ldr r3, _0807483C @ =gUnknown_83AE01C + lsls r0, 24 + lsrs r0, 22 + ldr r1, _08074840 @ =gBattleTypeFlags + ldr r1, [r1] + movs r2, 0x1 + ands r1, r2 + lsls r1, 4 + adds r0, r1 + adds r0, r3 + ldrb r0, [r0, 0x1] + adds r0, r5 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r7, 0 + beq _08074832 + adds r0, r6, 0 + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _0807482C + adds r0, r4, 0 + adds r0, 0x8 + lsls r0, 24 + lsrs r4, r0, 24 +_0807482C: + cmp r4, 0x68 + bls _08074832 + movs r4, 0x68 +_08074832: + adds r0, r4, 0 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_0807483C: .4byte gUnknown_83AE01C +_08074840: .4byte gBattleTypeFlags + thumb_func_end sub_80747AC + + thumb_func_start sub_8074844 +sub_8074844: @ 8074844 + push {lr} + lsls r0, 24 + lsrs r2, r0, 24 + lsls r1, 24 + lsrs r3, r1, 24 + movs r0, 0xFD + lsls r0, 24 + adds r1, r0 + lsrs r1, 24 + cmp r1, 0x1 + bhi _08074896 + ldr r0, _08074874 @ =gUnknown_2024018 + ldr r0, [r0] + ldr r1, [r0] + lsls r0, r2, 2 + adds r1, r0, r1 + ldrh r0, [r1, 0x2] + cmp r0, 0 + bne _0807487C + ldr r1, _08074878 @ =gUnknown_2037F1C + lsls r0, r2, 1 + adds r0, r1 + ldrh r1, [r0] + b _0807487E + .align 2, 0 +_08074874: .4byte gUnknown_2024018 +_08074878: .4byte gUnknown_2037F1C +_0807487C: + ldrh r1, [r1, 0x2] +_0807487E: + cmp r3, 0x3 + bne _0807488C + adds r0, r2, 0 + movs r2, 0x1 + bl sub_80747AC + b _0807489E +_0807488C: + adds r0, r2, 0 + movs r2, 0 + bl sub_80747AC + b _0807489E +_08074896: + adds r0, r2, 0 + adds r1, r3, 0 + bl sub_8074480 +_0807489E: + lsls r0, 24 + lsrs r0, 24 + pop {r1} + bx r1 + thumb_func_end sub_8074844 + + thumb_func_start GetBankSpriteDefault_Y +GetBankSpriteDefault_Y: @ 80748A8 + push {lr} + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x4 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + pop {r1} + bx r1 + thumb_func_end GetBankSpriteDefault_Y + + thumb_func_start GetSubstituteSpriteDefault_Y +GetSubstituteSpriteDefault_Y: @ 80748BC + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + adds r0, r4, 0 + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080748E0 + adds r0, r4, 0 + movs r1, 0x1 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 8 + movs r1, 0x80 + lsls r1, 13 + b _080748F0 +_080748E0: + adds r0, r4, 0 + movs r1, 0x1 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 8 + movs r1, 0x88 + lsls r1, 13 +_080748F0: + adds r0, r1 + lsrs r0, 16 + lsls r0, 24 + lsrs r0, 24 + pop {r4} + pop {r1} + bx r1 + thumb_func_end GetSubstituteSpriteDefault_Y + + thumb_func_start sub_8074900 +sub_8074900: @ 8074900 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + adds r0, r4, 0 + bl GetBattlerSide + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0807491A + adds r0, r4, 0 + movs r1, 0x1 + b _0807491E +_0807491A: + adds r0, r4, 0 + movs r1, 0x4 +_0807491E: + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_8074900 + + thumb_func_start sub_807492C +sub_807492C: @ 807492C + push {r4-r6,lr} + lsls r0, 24 + lsrs r5, r0, 24 + adds r0, r5, 0 + movs r1, 0x1 + bl sub_8074480 + lsls r0, 24 + lsrs r6, r0, 24 + adds r0, r5, 0 + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _08074978 + ldr r0, _0807496C @ =gUnknown_2024018 + ldr r0, [r0] + ldr r1, [r0] + lsls r0, r5, 2 + adds r1, r0, r1 + ldrh r0, [r1, 0x2] + cmp r0, 0 + bne _080749B0 + ldr r1, _08074970 @ =gBattlerPartyIndexes + lsls r0, r5, 1 + adds r0, r1 + ldrh r1, [r0] + movs r0, 0x64 + muls r0, r1 + ldr r1, _08074974 @ =gEnemyParty + b _08074996 + .align 2, 0 +_0807496C: .4byte gUnknown_2024018 +_08074970: .4byte gBattlerPartyIndexes +_08074974: .4byte gEnemyParty +_08074978: + ldr r0, _080749A4 @ =gUnknown_2024018 + ldr r0, [r0] + ldr r1, [r0] + lsls r0, r5, 2 + adds r1, r0, r1 + ldrh r0, [r1, 0x2] + cmp r0, 0 + bne _080749B0 + ldr r1, _080749A8 @ =gBattlerPartyIndexes + lsls r0, r5, 1 + adds r0, r1 + ldrh r1, [r0] + movs r0, 0x64 + muls r0, r1 + ldr r1, _080749AC @ =gPlayerParty +_08074996: + adds r0, r1 + movs r1, 0xB + bl GetMonData + lsls r0, 16 + lsrs r4, r0, 16 + b _080749B2 + .align 2, 0 +_080749A4: .4byte gUnknown_2024018 +_080749A8: .4byte gBattlerPartyIndexes +_080749AC: .4byte gPlayerParty +_080749B0: + ldrh r4, [r1, 0x2] +_080749B2: + adds r0, r5, 0 + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080749CC + adds r0, r5, 0 + adds r1, r4, 0 + bl sub_807474C + subs r0, r6, r0 + lsls r0, 24 + lsrs r6, r0, 24 +_080749CC: + adds r0, r6, 0 + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_807492C + + thumb_func_start GetAnimBankSpriteId +GetAnimBankSpriteId: @ 80749D4 + push {r4,r5,lr} + lsls r0, 24 + lsrs r0, 24 + adds r1, r0, 0 + cmp r0, 0 + bne _080749FC + ldr r4, _080749F4 @ =gBattleAnimAttacker + ldrb r0, [r4] + bl sub_8075224 + lsls r0, 24 + cmp r0, 0 + beq _08074A4A + ldr r1, _080749F8 @ =gBattlerSpriteIds + ldrb r0, [r4] + b _08074A5A + .align 2, 0 +_080749F4: .4byte gBattleAnimAttacker +_080749F8: .4byte gBattlerSpriteIds +_080749FC: + cmp r0, 0x1 + bne _08074A1C + ldr r4, _08074A14 @ =gBattleAnimTarget + ldrb r0, [r4] + bl sub_8075224 + lsls r0, 24 + cmp r0, 0 + beq _08074A4A + ldr r1, _08074A18 @ =gBattlerSpriteIds + ldrb r0, [r4] + b _08074A5A + .align 2, 0 +_08074A14: .4byte gBattleAnimTarget +_08074A18: .4byte gBattlerSpriteIds +_08074A1C: + cmp r1, 0x2 + bne _08074A38 + ldr r5, _08074A34 @ =gBattleAnimAttacker + ldrb r0, [r5] + movs r4, 0x2 + eors r0, r4 + bl sub_8072DF0 + lsls r0, 24 + cmp r0, 0 + beq _08074A4A + b _08074A54 + .align 2, 0 +_08074A34: .4byte gBattleAnimAttacker +_08074A38: + ldr r5, _08074A50 @ =gBattleAnimTarget + ldrb r0, [r5] + movs r4, 0x2 + eors r0, r4 + bl sub_8072DF0 + lsls r0, 24 + cmp r0, 0 + bne _08074A54 +_08074A4A: + movs r0, 0xFF + b _08074A5E + .align 2, 0 +_08074A50: .4byte gBattleAnimTarget +_08074A54: + ldr r1, _08074A64 @ =gBattlerSpriteIds + ldrb r0, [r5] + eors r0, r4 +_08074A5A: + adds r0, r1 + ldrb r0, [r0] +_08074A5E: + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_08074A64: .4byte gBattlerSpriteIds + thumb_func_end GetAnimBankSpriteId + + thumb_func_start StoreSpriteCallbackInData6 +StoreSpriteCallbackInData6: @ 8074A68 + strh r1, [r0, 0x3A] + lsrs r1, 16 + strh r1, [r0, 0x3C] + bx lr + thumb_func_end StoreSpriteCallbackInData6 + + thumb_func_start SetCallbackToStoredInData +SetCallbackToStoredInData: @ 8074A70 + ldrh r2, [r0, 0x3A] + movs r3, 0x3C + ldrsh r1, [r0, r3] + lsls r1, 16 + orrs r2, r1 + str r2, [r0, 0x1C] + bx lr + thumb_func_end SetCallbackToStoredInData + + thumb_func_start sub_8074A80 +sub_8074A80: @ 8074A80 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x34 + ldrsh r0, [r4, r1] + cmp r0, 0 + beq _08074AD4 + movs r2, 0x2E + ldrsh r0, [r4, r2] + movs r2, 0x30 + ldrsh r1, [r4, r2] + bl Sin + strh r0, [r4, 0x24] + movs r1, 0x2E + ldrsh r0, [r4, r1] + movs r2, 0x30 + ldrsh r1, [r4, r2] + bl Cos + strh r0, [r4, 0x26] + ldrh r0, [r4, 0x32] + ldrh r2, [r4, 0x2E] + adds r1, r0, r2 + strh r1, [r4, 0x2E] + lsls r0, r1, 16 + asrs r0, 16 + cmp r0, 0xFF + ble _08074AC0 + ldr r2, _08074ABC @ =0xffffff00 + b _08074AC8 + .align 2, 0 +_08074ABC: .4byte 0xffffff00 +_08074AC0: + cmp r0, 0 + bge _08074ACC + movs r2, 0x80 + lsls r2, 1 +_08074AC8: + adds r0, r1, r2 + strh r0, [r4, 0x2E] +_08074ACC: + ldrh r0, [r4, 0x34] + subs r0, 0x1 + strh r0, [r4, 0x34] + b _08074ADA +_08074AD4: + adds r0, r4, 0 + bl SetCallbackToStoredInData +_08074ADA: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8074A80 + + thumb_func_start sub_8074AE0 +sub_8074AE0: @ 8074AE0 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x34 + ldrsh r0, [r4, r1] + cmp r0, 0 + beq _08074B50 + movs r2, 0x2E + ldrsh r0, [r4, r2] + ldrh r1, [r4, 0x38] + lsls r1, 16 + asrs r1, 24 + ldrh r2, [r4, 0x30] + adds r1, r2 + lsls r1, 16 + asrs r1, 16 + bl Sin + strh r0, [r4, 0x24] + movs r1, 0x2E + ldrsh r0, [r4, r1] + ldrh r1, [r4, 0x38] + lsls r1, 16 + asrs r1, 24 + ldrh r2, [r4, 0x30] + adds r1, r2 + lsls r1, 16 + asrs r1, 16 + bl Cos + strh r0, [r4, 0x26] + ldrh r0, [r4, 0x32] + ldrh r2, [r4, 0x2E] + adds r1, r0, r2 + strh r1, [r4, 0x2E] + ldrh r0, [r4, 0x36] + ldrh r2, [r4, 0x38] + adds r0, r2 + strh r0, [r4, 0x38] + lsls r0, r1, 16 + asrs r0, 16 + cmp r0, 0xFF + ble _08074B3C + ldr r2, _08074B38 @ =0xffffff00 + b _08074B44 + .align 2, 0 +_08074B38: .4byte 0xffffff00 +_08074B3C: + cmp r0, 0 + bge _08074B48 + movs r2, 0x80 + lsls r2, 1 +_08074B44: + adds r0, r1, r2 + strh r0, [r4, 0x2E] +_08074B48: + ldrh r0, [r4, 0x34] + subs r0, 0x1 + strh r0, [r4, 0x34] + b _08074B56 +_08074B50: + adds r0, r4, 0 + bl SetCallbackToStoredInData +_08074B56: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8074AE0 + + thumb_func_start sub_8074B5C +sub_8074B5C: @ 8074B5C + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x34 + ldrsh r0, [r4, r1] + cmp r0, 0 + beq _08074BD8 + movs r2, 0x2E + ldrsh r0, [r4, r2] + movs r2, 0x30 + ldrsh r1, [r4, r2] + bl Sin + strh r0, [r4, 0x24] + movs r1, 0x36 + ldrsh r0, [r4, r1] + movs r2, 0x30 + ldrsh r1, [r4, r2] + bl Cos + strh r0, [r4, 0x26] + ldrh r0, [r4, 0x32] + ldrh r2, [r4, 0x2E] + adds r1, r0, r2 + strh r1, [r4, 0x2E] + ldrh r0, [r4, 0x38] + ldrh r2, [r4, 0x36] + adds r0, r2 + strh r0, [r4, 0x36] + lsls r0, r1, 16 + asrs r0, 16 + cmp r0, 0xFF + ble _08074BA4 + ldr r2, _08074BA0 @ =0xffffff00 + b _08074BAC + .align 2, 0 +_08074BA0: .4byte 0xffffff00 +_08074BA4: + cmp r0, 0 + bge _08074BB0 + movs r2, 0x80 + lsls r2, 1 +_08074BAC: + adds r0, r1, r2 + strh r0, [r4, 0x2E] +_08074BB0: + ldrh r1, [r4, 0x36] + movs r2, 0x36 + ldrsh r0, [r4, r2] + cmp r0, 0xFF + ble _08074BC4 + ldr r2, _08074BC0 @ =0xffffff00 + b _08074BCC + .align 2, 0 +_08074BC0: .4byte 0xffffff00 +_08074BC4: + cmp r0, 0 + bge _08074BD0 + movs r2, 0x80 + lsls r2, 1 +_08074BCC: + adds r0, r1, r2 + strh r0, [r4, 0x36] +_08074BD0: + ldrh r0, [r4, 0x34] + subs r0, 0x1 + strh r0, [r4, 0x34] + b _08074BDE +_08074BD8: + adds r0, r4, 0 + bl SetCallbackToStoredInData +_08074BDE: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8074B5C + + thumb_func_start sub_8074BE4 +sub_8074BE4: @ 8074BE4 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x34 + ldrsh r0, [r4, r1] + cmp r0, 0 + beq _08074C38 + movs r2, 0x2E + ldrsh r0, [r4, r2] + movs r2, 0x30 + ldrsh r1, [r4, r2] + bl Sin + strh r0, [r4, 0x24] + movs r1, 0x2E + ldrsh r0, [r4, r1] + movs r2, 0x36 + ldrsh r1, [r4, r2] + bl Cos + strh r0, [r4, 0x26] + ldrh r0, [r4, 0x32] + ldrh r2, [r4, 0x2E] + adds r1, r0, r2 + strh r1, [r4, 0x2E] + lsls r0, r1, 16 + asrs r0, 16 + cmp r0, 0xFF + ble _08074C24 + ldr r2, _08074C20 @ =0xffffff00 + b _08074C2C + .align 2, 0 +_08074C20: .4byte 0xffffff00 +_08074C24: + cmp r0, 0 + bge _08074C30 + movs r2, 0x80 + lsls r2, 1 +_08074C2C: + adds r0, r1, r2 + strh r0, [r4, 0x2E] +_08074C30: + ldrh r0, [r4, 0x34] + subs r0, 0x1 + strh r0, [r4, 0x34] + b _08074C3E +_08074C38: + adds r0, r4, 0 + bl SetCallbackToStoredInData +_08074C3E: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8074BE4 + + thumb_func_start sub_8074C44 +sub_8074C44: @ 8074C44 + push {lr} + adds r1, r0, 0 + ldrh r2, [r1, 0x2E] + movs r3, 0x2E + ldrsh r0, [r1, r3] + cmp r0, 0 + ble _08074C58 + subs r0, r2, 0x1 + strh r0, [r1, 0x2E] + b _08074C5E +_08074C58: + adds r0, r1, 0 + bl SetCallbackToStoredInData +_08074C5E: + pop {r0} + bx r0 + thumb_func_end sub_8074C44 + + thumb_func_start sub_8074C64 +sub_8074C64: @ 8074C64 + push {r4,lr} + adds r4, r0, 0 + bl sub_8074C80 + ldr r1, _08074C7C @ =sub_8074CD0 + str r1, [r4, 0x1C] + adds r0, r4, 0 + bl _call_via_r1 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08074C7C: .4byte sub_8074CD0 + thumb_func_end sub_8074C64 + + thumb_func_start sub_8074C80 +sub_8074C80: @ 8074C80 + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0x30 + ldrsh r1, [r4, r0] + movs r2, 0x32 + ldrsh r0, [r4, r2] + cmp r1, r0 + ble _08074C96 + ldrh r0, [r4, 0x2E] + negs r0, r0 + strh r0, [r4, 0x2E] +_08074C96: + movs r1, 0x32 + ldrsh r0, [r4, r1] + movs r2, 0x30 + ldrsh r1, [r4, r2] + subs r0, r1 + ldrh r5, [r4, 0x2E] + movs r2, 0x2E + ldrsh r1, [r4, r2] + bl __divsi3 + cmp r0, 0 + bge _08074CB0 + negs r0, r0 +_08074CB0: + strh r0, [r4, 0x2E] + movs r1, 0x36 + ldrsh r0, [r4, r1] + movs r2, 0x34 + ldrsh r1, [r4, r2] + subs r0, r1 + movs r2, 0x2E + ldrsh r1, [r4, r2] + bl __divsi3 + strh r0, [r4, 0x32] + strh r5, [r4, 0x30] + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8074C80 + + thumb_func_start sub_8074CD0 +sub_8074CD0: @ 8074CD0 + push {lr} + adds r1, r0, 0 + ldrh r2, [r1, 0x2E] + movs r3, 0x2E + ldrsh r0, [r1, r3] + cmp r0, 0 + ble _08074CF4 + subs r0, r2, 0x1 + strh r0, [r1, 0x2E] + ldrh r0, [r1, 0x30] + ldrh r2, [r1, 0x24] + adds r0, r2 + strh r0, [r1, 0x24] + ldrh r0, [r1, 0x32] + ldrh r3, [r1, 0x26] + adds r0, r3 + strh r0, [r1, 0x26] + b _08074CFA +_08074CF4: + adds r0, r1, 0 + bl SetCallbackToStoredInData +_08074CFA: + pop {r0} + bx r0 + thumb_func_end sub_8074CD0 + + thumb_func_start sub_8074D00 +sub_8074D00: @ 8074D00 + push {lr} + adds r2, r0, 0 + ldrh r1, [r2, 0x2E] + movs r3, 0x2E + ldrsh r0, [r2, r3] + cmp r0, 0 + ble _08074D30 + subs r0, r1, 0x1 + strh r0, [r2, 0x2E] + ldrh r0, [r2, 0x30] + ldrh r1, [r2, 0x34] + adds r0, r1 + strh r0, [r2, 0x34] + ldrh r1, [r2, 0x32] + ldrh r3, [r2, 0x36] + adds r1, r3 + strh r1, [r2, 0x36] + lsls r0, 16 + asrs r0, 24 + strh r0, [r2, 0x24] + lsls r1, 16 + asrs r1, 24 + strh r1, [r2, 0x26] + b _08074D36 +_08074D30: + adds r0, r2, 0 + bl SetCallbackToStoredInData +_08074D36: + pop {r0} + bx r0 + thumb_func_end sub_8074D00 + + thumb_func_start sub_8074D3C +sub_8074D3C: @ 8074D3C + push {r4,lr} + adds r4, r0, 0 + ldrh r1, [r4, 0x2E] + movs r2, 0x2E + ldrsh r0, [r4, r2] + cmp r0, 0 + ble _08074D6C + subs r0, r1, 0x1 + strh r0, [r4, 0x2E] + ldrh r0, [r4, 0x30] + ldrh r1, [r4, 0x34] + adds r0, r1 + strh r0, [r4, 0x34] + ldrh r1, [r4, 0x32] + ldrh r2, [r4, 0x36] + adds r1, r2 + strh r1, [r4, 0x36] + lsls r0, 16 + asrs r0, 24 + strh r0, [r4, 0x24] + lsls r1, 16 + asrs r1, 24 + strh r1, [r4, 0x26] + b _08074D72 +_08074D6C: + adds r0, r4, 0 + bl SetCallbackToStoredInData +_08074D72: + adds r0, r4, 0 + bl UpdateMonIconFrame + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8074D3C + + thumb_func_start sub_8074D80 +sub_8074D80: @ 8074D80 + push {r4,r5,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x24] + ldrh r1, [r4, 0x20] + adds r0, r1 + strh r0, [r4, 0x30] + ldrh r0, [r4, 0x26] + ldrh r1, [r4, 0x22] + adds r0, r1 + strh r0, [r4, 0x34] + ldr r5, _08074DBC @ =gBattleAnimTarget + ldrb r0, [r5] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x32] + ldrb r0, [r5] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x36] + ldr r0, _08074DC0 @ =sub_8074C64 + str r0, [r4, 0x1C] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08074DBC: .4byte gBattleAnimTarget +_08074DC0: .4byte sub_8074C64 + thumb_func_end sub_8074D80 + + thumb_func_start sub_8074DC4 +sub_8074DC4: @ 8074DC4 + push {r4,lr} + adds r3, r0, 0 + ldrh r1, [r3, 0x2E] + movs r2, 0x2E + ldrsh r0, [r3, r2] + cmp r0, 0 + ble _08074E08 + subs r0, r1, 0x1 + strh r0, [r3, 0x2E] + ldr r2, _08074E04 @ =gSprites + movs r4, 0x34 + ldrsh r1, [r3, r4] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r1, [r3, 0x30] + ldrh r4, [r0, 0x24] + adds r1, r4 + strh r1, [r0, 0x24] + movs r0, 0x34 + ldrsh r1, [r3, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r1, [r3, 0x32] + ldrh r2, [r0, 0x26] + adds r1, r2 + strh r1, [r0, 0x26] + b _08074E0E + .align 2, 0 +_08074E04: .4byte gSprites +_08074E08: + adds r0, r3, 0 + bl SetCallbackToStoredInData +_08074E0E: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8074DC4 + + thumb_func_start sub_8074E14 +sub_8074E14: @ 8074E14 + push {r4,lr} + adds r4, r0, 0 + ldrh r1, [r4, 0x2E] + movs r2, 0x2E + ldrsh r0, [r4, r2] + cmp r0, 0 + ble _08074E64 + subs r0, r1, 0x1 + strh r0, [r4, 0x2E] + ldrh r1, [r4, 0x30] + ldrh r0, [r4, 0x34] + adds r1, r0 + strh r1, [r4, 0x34] + ldrh r0, [r4, 0x32] + ldrh r2, [r4, 0x36] + adds r0, r2 + strh r0, [r4, 0x36] + ldr r3, _08074E60 @ =gSprites + movs r0, 0x38 + ldrsh r2, [r4, r0] + lsls r0, r2, 4 + adds r0, r2 + lsls r0, 2 + adds r0, r3 + lsls r1, 16 + asrs r1, 24 + strh r1, [r0, 0x24] + movs r1, 0x38 + ldrsh r0, [r4, r1] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r3 + ldrh r0, [r4, 0x36] + lsls r0, 16 + asrs r0, 24 + strh r0, [r1, 0x26] + b _08074E6A + .align 2, 0 +_08074E60: .4byte gSprites +_08074E64: + adds r0, r4, 0 + bl SetCallbackToStoredInData +_08074E6A: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8074E14 + + thumb_func_start sub_8074E70 +sub_8074E70: @ 8074E70 + push {r4,lr} + adds r4, r0, 0 + ldrh r1, [r4, 0x2E] + movs r2, 0x2E + ldrsh r0, [r4, r2] + cmp r0, 0 + ble _08074ED2 + subs r0, r1, 0x1 + strh r0, [r4, 0x2E] + ldrh r1, [r4, 0x32] + lsls r0, r1, 16 + asrs r0, 24 + strh r0, [r4, 0x24] + ldrh r0, [r4, 0x30] + adds r1, r0 + strh r1, [r4, 0x32] + ldrh r1, [r4, 0x36] + lsls r0, r1, 16 + asrs r0, 24 + strh r0, [r4, 0x26] + ldrh r0, [r4, 0x34] + adds r1, r0 + strh r1, [r4, 0x36] + movs r1, 0x2E + ldrsh r0, [r4, r1] + movs r2, 0x38 + ldrsh r1, [r4, r2] + bl __modsi3 + cmp r0, 0 + bne _08074ED8 + movs r1, 0x38 + ldrsh r0, [r4, r1] + cmp r0, 0 + beq _08074ED8 + adds r3, r4, 0 + adds r3, 0x3E + ldrb r2, [r3] + lsls r0, r2, 29 + lsrs r0, 31 + movs r1, 0x1 + eors r1, r0 + lsls r1, 2 + movs r0, 0x5 + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r3] + b _08074ED8 +_08074ED2: + adds r0, r4, 0 + bl SetCallbackToStoredInData +_08074ED8: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8074E70 + + thumb_func_start move_anim_8074EE0 +move_anim_8074EE0: @ 8074EE0 + push {r4,lr} + adds r4, r0, 0 + bl FreeSpriteOamMatrix + adds r0, r4, 0 + bl DestroyAnimSprite + pop {r4} + pop {r0} + bx r0 + thumb_func_end move_anim_8074EE0 + + thumb_func_start sub_8074EF4 +sub_8074EF4: @ 8074EF4 + push {r4,r5,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x24] + ldrh r1, [r4, 0x20] + adds r0, r1 + strh r0, [r4, 0x30] + ldrh r0, [r4, 0x26] + ldrh r1, [r4, 0x22] + adds r0, r1 + strh r0, [r4, 0x34] + ldr r5, _08074F30 @ =gBattleAnimAttacker + ldrb r0, [r5] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x32] + ldrb r0, [r5] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x36] + ldr r0, _08074F34 @ =sub_8074C64 + str r0, [r4, 0x1C] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08074F30: .4byte gBattleAnimAttacker +_08074F34: .4byte sub_8074C64 + thumb_func_end sub_8074EF4 + + thumb_func_start sub_8074F38 +sub_8074F38: @ 8074F38 + push {r4,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x38] + bl ResetPaletteStructByUid + adds r0, r4, 0 + bl move_anim_8074EE0 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8074F38 + + thumb_func_start sub_8074F50 +sub_8074F50: @ 8074F50 + push {lr} + adds r2, r0, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x20 + ands r0, r1 + cmp r0, 0 + beq _08074F66 + adds r0, r2, 0 + bl SetCallbackToStoredInData +_08074F66: + pop {r0} + bx r0 + thumb_func_end sub_8074F50 + + thumb_func_start sub_8074F6C +sub_8074F6C: @ 8074F6C + push {lr} + adds r2, r0, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x10 + ands r0, r1 + cmp r0, 0 + beq _08074F82 + adds r0, r2, 0 + bl SetCallbackToStoredInData +_08074F82: + pop {r0} + bx r0 + thumb_func_end sub_8074F6C + + thumb_func_start sub_8074F88 +sub_8074F88: @ 8074F88 + push {r4,lr} + adds r4, r0, 0 + movs r0, 0x50 + movs r1, 0 + bl SetGpuReg + movs r0, 0x52 + movs r1, 0 + bl SetGpuReg + adds r0, r4, 0 + bl DestroyAnimSprite + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8074F88 + + thumb_func_start sub_8074FA8 +sub_8074FA8: @ 8074FA8 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0x50 + movs r1, 0 + bl SetGpuReg + movs r0, 0x52 + movs r1, 0 + bl SetGpuReg + adds r0, r4, 0 + bl DestroyAnimVisualTask + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8074FA8 + + thumb_func_start sub_8074FCC +sub_8074FCC: @ 8074FCC + push {r4,r5,lr} + adds r5, r0, 0 + ldr r4, _08074FF4 @ =gBattleAnimAttacker + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x20] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x22] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08074FF4: .4byte gBattleAnimAttacker + thumb_func_end sub_8074FCC + + thumb_func_start sub_8074FF8 +sub_8074FF8: @ 8074FF8 + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r4, r0, 0 + lsls r1, 16 + lsrs r5, r1, 16 + mov r8, r5 + ldr r7, _08075030 @ =gBattleAnimAttacker + ldrb r0, [r7] + movs r1, 0 + bl sub_8074480 + lsls r0, 24 + lsrs r6, r0, 24 + ldr r0, _08075034 @ =gBattleAnimTarget + ldrb r0, [r0] + movs r1, 0 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + cmp r6, r0 + bhi _08075044 + cmp r6, r0 + bcs _08075038 + lsls r0, r5, 16 + b _08075054 + .align 2, 0 +_08075030: .4byte gBattleAnimAttacker +_08075034: .4byte gBattleAnimTarget +_08075038: + ldrb r0, [r7] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _08075050 +_08075044: + ldrh r1, [r4, 0x20] + lsls r0, r5, 16 + asrs r0, 16 + subs r1, r0 + strh r1, [r4, 0x20] + b _0807505C +_08075050: + mov r1, r8 + lsls r0, r1, 16 +_08075054: + asrs r0, 16 + ldrh r1, [r4, 0x20] + adds r0, r1 + strh r0, [r4, 0x20] +_0807505C: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_8074FF8 + + thumb_func_start sub_8075068 +sub_8075068: @ 8075068 + push {r4,r5,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x20] + movs r5, 0 + strh r0, [r4, 0x30] + ldrh r0, [r4, 0x22] + strh r0, [r4, 0x34] + adds r0, r4, 0 + bl obj_translate_based_on_private_1_2_3_4 + movs r0, 0x2E + ldrsh r1, [r4, r0] + movs r0, 0x80 + lsls r0, 8 + bl __divsi3 + strh r0, [r4, 0x3A] + strh r5, [r4, 0x3C] + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8075068 + + thumb_func_start AnimateBallThrow +AnimateBallThrow: @ 8075094 + push {r4,lr} + adds r4, r0, 0 + bl sub_80755E0 + lsls r0, 24 + cmp r0, 0 + bne _080750C0 + ldrh r0, [r4, 0x3A] + ldrh r1, [r4, 0x3C] + adds r0, r1 + strh r0, [r4, 0x3C] + lsls r0, 16 + lsrs r0, 24 + movs r2, 0x38 + ldrsh r1, [r4, r2] + bl Sin + ldrh r1, [r4, 0x26] + adds r0, r1 + strh r0, [r4, 0x26] + movs r0, 0 + b _080750C2 +_080750C0: + movs r0, 0x1 +_080750C2: + pop {r4} + pop {r1} + bx r1 + thumb_func_end AnimateBallThrow + + thumb_func_start sub_80750C8 +sub_80750C8: @ 80750C8 + push {r4,lr} + adds r4, r0, 0 + bl sub_80755E0 + lsls r0, 24 + cmp r0, 0 + bne _080750F4 + ldrh r0, [r4, 0x3A] + ldrh r1, [r4, 0x3C] + adds r0, r1 + strh r0, [r4, 0x3C] + lsls r0, 16 + lsrs r0, 24 + movs r2, 0x38 + ldrsh r1, [r4, r2] + bl Sin + ldrh r1, [r4, 0x24] + adds r0, r1 + strh r0, [r4, 0x24] + movs r0, 0 + b _080750F6 +_080750F4: + movs r0, 0x1 +_080750F6: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_80750C8 + + thumb_func_start oamt_add_pos2_onto_pos1 +oamt_add_pos2_onto_pos1: @ 80750FC + ldrh r1, [r0, 0x24] + ldrh r2, [r0, 0x20] + adds r1, r2 + movs r2, 0 + strh r1, [r0, 0x20] + ldrh r1, [r0, 0x26] + ldrh r3, [r0, 0x22] + adds r1, r3 + strh r1, [r0, 0x22] + strh r2, [r0, 0x24] + strh r2, [r0, 0x26] + bx lr + thumb_func_end oamt_add_pos2_onto_pos1 + + thumb_func_start sub_8075114 +sub_8075114: @ 8075114 + push {r4,r5,lr} + adds r5, r0, 0 + lsls r1, 24 + cmp r1, 0 + bne _0807513C + ldr r4, _08075158 @ =gBattleAnimTarget + ldrb r0, [r4] + movs r1, 0 + bl sub_8074844 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x20] + ldrb r0, [r4] + movs r1, 0x1 + bl sub_8074844 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x22] +_0807513C: + ldr r4, _0807515C @ =gBattleAnimArgs + movs r0, 0 + ldrsh r1, [r4, r0] + adds r0, r5, 0 + bl sub_8074FF8 + ldrh r0, [r4, 0x2] + ldrh r1, [r5, 0x22] + adds r0, r1 + strh r0, [r5, 0x22] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08075158: .4byte gBattleAnimTarget +_0807515C: .4byte gBattleAnimArgs + thumb_func_end sub_8075114 + + thumb_func_start sub_8075160 +sub_8075160: @ 8075160 + push {r4,r5,lr} + adds r5, r0, 0 + lsls r1, 24 + cmp r1, 0 + bne _08075184 + ldr r4, _08075180 @ =gBattleAnimAttacker + ldrb r0, [r4] + movs r1, 0 + bl sub_8074844 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x20] + ldrb r0, [r4] + movs r1, 0x1 + b _08075198 + .align 2, 0 +_08075180: .4byte gBattleAnimAttacker +_08075184: + ldr r4, _080751BC @ =gBattleAnimAttacker + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074844 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x20] + ldrb r0, [r4] + movs r1, 0x3 +_08075198: + bl sub_8074844 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x22] + ldr r4, _080751C0 @ =gBattleAnimArgs + movs r0, 0 + ldrsh r1, [r4, r0] + adds r0, r5, 0 + bl sub_8074FF8 + ldrh r0, [r4, 0x2] + ldrh r1, [r5, 0x22] + adds r0, r1 + strh r0, [r5, 0x22] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080751BC: .4byte gBattleAnimAttacker +_080751C0: .4byte gBattleAnimArgs + thumb_func_end sub_8075160 + + thumb_func_start GetBattlerSide +GetBattlerSide: @ 80751C4 + lsls r0, 24 + lsrs r0, 24 + ldr r1, _080751D4 @ =gUnknown_2023BD6 + adds r0, r1 + ldrb r1, [r0] + movs r0, 0x1 + ands r0, r1 + bx lr + .align 2, 0 +_080751D4: .4byte gUnknown_2023BD6 + thumb_func_end GetBattlerSide + + thumb_func_start GetBattlerPosition +GetBattlerPosition: @ 80751D8 + lsls r0, 24 + lsrs r0, 24 + ldr r1, _080751E4 @ =gUnknown_2023BD6 + adds r0, r1 + ldrb r0, [r0] + bx lr + .align 2, 0 +_080751E4: .4byte gUnknown_2023BD6 + thumb_func_end GetBattlerPosition + + thumb_func_start GetBattlerAtPosition +GetBattlerAtPosition: @ 80751E8 + push {r4,lr} + lsls r0, 24 + lsrs r3, r0, 24 + movs r1, 0 + ldr r0, _0807521C @ =gBattlersCount + ldrb r2, [r0] + cmp r1, r2 + bcs _08075212 + ldr r4, _08075220 @ =gUnknown_2023BD6 + ldrb r0, [r4] + cmp r0, r3 + beq _08075212 +_08075200: + adds r0, r1, 0x1 + lsls r0, 24 + lsrs r1, r0, 24 + cmp r1, r2 + bcs _08075212 + adds r0, r1, r4 + ldrb r0, [r0] + cmp r0, r3 + bne _08075200 +_08075212: + adds r0, r1, 0 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_0807521C: .4byte gBattlersCount +_08075220: .4byte gUnknown_2023BD6 + thumb_func_end GetBattlerAtPosition + + thumb_func_start sub_8075224 +sub_8075224: @ 8075224 + push {r4,r5,lr} + lsls r0, 24 + lsrs r4, r0, 24 + adds r5, r4, 0 + ldr r0, _08075254 @ =gUnknown_2023BD6 + adds r0, r4, r0 + ldrb r0, [r0] + cmp r0, 0xFF + beq _08075288 + adds r0, r4, 0 + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _08075260 + ldr r1, _08075258 @ =gBattlerPartyIndexes + lsls r0, r4, 1 + adds r0, r1 + ldrh r1, [r0] + movs r0, 0x64 + muls r0, r1 + ldr r1, _0807525C @ =gEnemyParty + b _0807526E + .align 2, 0 +_08075254: .4byte gUnknown_2023BD6 +_08075258: .4byte gBattlerPartyIndexes +_0807525C: .4byte gEnemyParty +_08075260: + ldr r1, _08075280 @ =gBattlerPartyIndexes + lsls r0, r5, 1 + adds r0, r1 + ldrh r1, [r0] + movs r0, 0x64 + muls r0, r1 + ldr r1, _08075284 @ =gPlayerParty +_0807526E: + adds r0, r1 + movs r1, 0x39 + bl GetMonData + cmp r0, 0 + beq _08075288 + movs r0, 0x1 + b _0807528A + .align 2, 0 +_08075280: .4byte gBattlerPartyIndexes +_08075284: .4byte gPlayerParty +_08075288: + movs r0, 0 +_0807528A: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_8075224 + + thumb_func_start sub_8075290 +sub_8075290: @ 8075290 + ldr r0, _0807529C @ =gBattleTypeFlags + ldr r0, [r0] + movs r1, 0x1 + ands r0, r1 + bx lr + .align 2, 0 +_0807529C: .4byte gBattleTypeFlags + thumb_func_end sub_8075290 + + thumb_func_start sub_80752A0 +sub_80752A0: @ 80752A0 + ldr r1, _080752C0 @ =gUnknown_2022BB8 + ldr r1, [r1] + str r1, [r0] + ldr r1, _080752C4 @ =gUnknown_2022BBC + ldr r1, [r1] + str r1, [r0, 0x4] + movs r2, 0 + movs r1, 0x8 + strb r1, [r0, 0x8] + movs r1, 0x1 + strb r1, [r0, 0x9] + movs r1, 0x80 + lsls r1, 2 + strh r1, [r0, 0xA] + strh r2, [r0, 0xC] + bx lr + .align 2, 0 +_080752C0: .4byte gUnknown_2022BB8 +_080752C4: .4byte gUnknown_2022BBC + thumb_func_end sub_80752A0 + + thumb_func_start sub_80752C8 +sub_80752C8: @ 80752C8 + push {lr} + adds r2, r0, 0 + cmp r1, 0x1 + bne _080752D6 + bl sub_80752A0 + b _080752F4 +_080752D6: + ldr r0, _080752F8 @ =gUnknown_2022BB8 + ldr r0, [r0] + str r0, [r2] + ldr r0, _080752FC @ =gUnknown_2022BBC + ldr r0, [r0] + str r0, [r2, 0x4] + movs r1, 0 + movs r0, 0x9 + strb r0, [r2, 0x8] + movs r0, 0x2 + strb r0, [r2, 0x9] + movs r0, 0xC0 + lsls r0, 2 + strh r0, [r2, 0xA] + strh r1, [r2, 0xC] +_080752F4: + pop {r0} + bx r0 + .align 2, 0 +_080752F8: .4byte gUnknown_2022BB8 +_080752FC: .4byte gUnknown_2022BBC + thumb_func_end sub_80752C8 + + thumb_func_start sub_8075300 +sub_8075300: @ 8075300 + push {r4,lr} + adds r4, r0, 0 + ldr r0, _08075334 @ =gUnknown_2022BB8 + ldr r0, [r0] + str r0, [r4] + ldr r0, _08075338 @ =gUnknown_2022BBC + ldr r0, [r0] + str r0, [r4, 0x4] + ldr r0, _0807533C @ =gBattleAnimAttacker + ldrb r0, [r0] + bl sub_80768B0 + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0x1 + bne _08075340 + movs r0, 0 + movs r1, 0x8 + strb r1, [r4, 0x8] + strb r2, [r4, 0x9] + movs r1, 0x80 + lsls r1, 2 + strh r1, [r4, 0xA] + strh r0, [r4, 0xC] + b _08075352 + .align 2, 0 +_08075334: .4byte gUnknown_2022BB8 +_08075338: .4byte gUnknown_2022BBC +_0807533C: .4byte gBattleAnimAttacker +_08075340: + movs r1, 0 + movs r0, 0x9 + strb r0, [r4, 0x8] + movs r0, 0x2 + strb r0, [r4, 0x9] + movs r0, 0xC0 + lsls r0, 2 + strh r0, [r4, 0xA] + strh r1, [r4, 0xC] +_08075352: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8075300 + + thumb_func_start sub_8075358 +sub_8075358: @ 8075358 + push {r4,lr} + sub sp, 0x20 + adds r4, r0, 0 + add r0, sp, 0xC + adds r1, r4, 0 + bl sub_80752C8 + movs r0, 0 + str r0, [sp, 0x1C] + add r0, sp, 0x1C + ldr r1, [sp, 0xC] + ldr r2, _080753B0 @ =0x05000800 + bl CpuSet + lsls r4, 24 + lsrs r4, 24 + ldr r1, [sp, 0xC] + movs r2, 0x80 + lsls r2, 6 + add r0, sp, 0xC + ldrh r3, [r0, 0xA] + adds r0, r4, 0 + bl LoadBgTiles + movs r0, 0x20 + str r0, [sp] + movs r0, 0x40 + str r0, [sp, 0x4] + movs r0, 0x11 + str r0, [sp, 0x8] + adds r0, r4, 0 + movs r1, 0 + movs r2, 0 + movs r3, 0 + bl FillBgTilemapBufferRect + adds r0, r4, 0 + bl CopyBgTilemapBufferToVram + add sp, 0x20 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080753B0: .4byte 0x05000800 + thumb_func_end sub_8075358 + + thumb_func_start sub_80753B4 +sub_80753B4: @ 80753B4 + push {r4-r6,lr} + mov r6, r8 + push {r6} + sub sp, 0x4 + adds r5, r0, 0 + mov r8, r1 + adds r6, r2, 0 + movs r0, 0 + str r0, [sp] + ldr r4, _080753FC @ =gUnknown_2022BB8 + ldr r1, [r4] + ldr r2, _08075400 @ =0x05000800 + mov r0, sp + bl CpuSet + ldr r1, [r4] + mov r0, r8 + bl LZDecompressWram + lsls r5, 24 + lsrs r5, 24 + ldr r1, [r4] + movs r2, 0x80 + lsls r2, 6 + lsls r6, 16 + lsrs r6, 16 + adds r0, r5, 0 + adds r3, r6, 0 + bl LoadBgTiles + add sp, 0x4 + pop {r3} + mov r8, r3 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080753FC: .4byte gUnknown_2022BB8 +_08075400: .4byte 0x05000800 + thumb_func_end sub_80753B4 + + thumb_func_start sub_8075404 +sub_8075404: @ 8075404 + push {r4,r5,lr} + sub sp, 0xC + adds r4, r0, 0 + adds r5, r1, 0 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0x20 + str r0, [sp] + movs r0, 0x40 + str r0, [sp, 0x4] + movs r0, 0x11 + str r0, [sp, 0x8] + adds r0, r4, 0 + movs r1, 0 + movs r2, 0 + movs r3, 0 + bl FillBgTilemapBufferRect + adds r0, r4, 0 + adds r1, r5, 0 + movs r2, 0 + movs r3, 0 + bl CopyToBgTilemapBuffer + add sp, 0xC + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8075404 + + thumb_func_start sub_807543C +sub_807543C: @ 807543C + push {r4,lr} + adds r4, r0, 0 + bl sub_8075404 + lsls r4, 24 + lsrs r4, 24 + adds r0, r4, 0 + bl CopyBgTilemapBufferToVram + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_807543C + + thumb_func_start sub_8075454 +sub_8075454: @ 8075454 + movs r0, 0x2 + bx lr + thumb_func_end sub_8075454 + + thumb_func_start sub_8075458 +sub_8075458: @ 8075458 + push {lr} + lsls r0, 24 + cmp r0, 0 + bne _08075476 + movs r0, 0x3 + movs r1, 0 + movs r2, 0 + bl SetAnimBgAttribute + movs r0, 0x3 + movs r1, 0x1 + movs r2, 0x1 + bl SetAnimBgAttribute + b _0807548A +_08075476: + movs r0, 0x3 + movs r1, 0 + movs r2, 0x1 + bl SetAnimBgAttribute + movs r0, 0x3 + movs r1, 0x1 + movs r2, 0 + bl SetAnimBgAttribute +_0807548A: + pop {r0} + bx r0 + thumb_func_end sub_8075458 + + thumb_func_start sub_8075490 +sub_8075490: @ 8075490 + push {r4,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x20] + strh r0, [r4, 0x30] + ldrh r0, [r4, 0x22] + strh r0, [r4, 0x34] + adds r0, r4, 0 + bl sub_80754B8 + ldr r1, _080754B4 @ =sub_8074D3C + str r1, [r4, 0x1C] + adds r0, r4, 0 + bl _call_via_r1 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080754B4: .4byte sub_8074D3C + thumb_func_end sub_8075490 + + thumb_func_start sub_80754B8 +sub_80754B8: @ 80754B8 + push {r4-r6,lr} + adds r5, r0, 0 + ldrh r0, [r5, 0x32] + ldrh r1, [r5, 0x30] + subs r0, r1 + ldrh r4, [r5, 0x36] + ldrh r1, [r5, 0x34] + subs r4, r1 + lsls r4, 24 + lsrs r4, 16 + lsls r0, 24 + asrs r0, 16 + movs r2, 0x2E + ldrsh r1, [r5, r2] + bl __divsi3 + movs r6, 0 + strh r0, [r5, 0x30] + lsls r4, 16 + asrs r4, 16 + movs r0, 0x2E + ldrsh r1, [r5, r0] + adds r0, r4, 0 + bl __divsi3 + strh r0, [r5, 0x32] + strh r6, [r5, 0x36] + strh r6, [r5, 0x34] + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_80754B8 + + thumb_func_start obj_translate_based_on_private_1_2_3_4 +obj_translate_based_on_private_1_2_3_4: @ 80754F8 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + adds r7, r0, 0 + movs r0, 0x32 + ldrsh r1, [r7, r0] + movs r2, 0x30 + ldrsh r0, [r7, r2] + subs r1, r0 + movs r3, 0x36 + ldrsh r2, [r7, r3] + movs r3, 0x34 + ldrsh r0, [r7, r3] + subs r2, r0 + lsrs r0, r1, 31 + mov r8, r0 + lsrs r3, r2, 31 + mov r9, r3 + cmp r1, 0 + bge _08075524 + negs r1, r1 +_08075524: + lsls r0, r1, 24 + lsrs r6, r0, 16 + adds r0, r2, 0 + cmp r0, 0 + bge _08075530 + negs r0, r0 +_08075530: + lsls r0, 24 + lsrs r5, r0, 16 + movs r0, 0x2E + ldrsh r4, [r7, r0] + adds r0, r6, 0 + adds r1, r4, 0 + bl __divsi3 + lsls r0, 16 + lsrs r6, r0, 16 + adds r0, r5, 0 + adds r1, r4, 0 + bl __divsi3 + lsls r0, 16 + lsrs r5, r0, 16 + mov r2, r8 + cmp r2, 0 + beq _0807555C + movs r0, 0x1 + orrs r6, r0 + b _08075560 +_0807555C: + ldr r0, _0807556C @ =0x0000fffe + ands r6, r0 +_08075560: + mov r3, r9 + cmp r3, 0 + beq _08075570 + movs r0, 0x1 + orrs r5, r0 + b _08075574 + .align 2, 0 +_0807556C: .4byte 0x0000fffe +_08075570: + ldr r0, _0807558C @ =0x0000fffe + ands r5, r0 +_08075574: + movs r0, 0 + strh r6, [r7, 0x30] + strh r5, [r7, 0x32] + strh r0, [r7, 0x36] + strh r0, [r7, 0x34] + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0807558C: .4byte 0x0000fffe + thumb_func_end obj_translate_based_on_private_1_2_3_4 + + thumb_func_start sub_8075590 +sub_8075590: @ 8075590 + push {r4,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x20] + strh r0, [r4, 0x30] + ldrh r0, [r4, 0x22] + strh r0, [r4, 0x34] + adds r0, r4, 0 + bl obj_translate_based_on_private_1_2_3_4 + ldr r1, _080755B4 @ =sub_807563C + str r1, [r4, 0x1C] + adds r0, r4, 0 + bl _call_via_r1 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080755B4: .4byte sub_807563C + thumb_func_end sub_8075590 + + thumb_func_start sub_80755B8 +sub_80755B8: @ 80755B8 + push {r4,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x20] + strh r0, [r4, 0x30] + ldrh r0, [r4, 0x22] + strh r0, [r4, 0x34] + adds r0, r4, 0 + bl obj_translate_based_on_private_1_2_3_4 + ldr r1, _080755DC @ =sub_8075658 + str r1, [r4, 0x1C] + adds r0, r4, 0 + bl _call_via_r1 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080755DC: .4byte sub_8075658 + thumb_func_end sub_80755B8 + + thumb_func_start sub_80755E0 +sub_80755E0: @ 80755E0 + push {r4-r6,lr} + adds r2, r0, 0 + movs r1, 0x2E + ldrsh r0, [r2, r1] + cmp r0, 0 + bne _080755F0 + movs r0, 0x1 + b _08075634 +_080755F0: + ldrh r1, [r2, 0x30] + ldrh r4, [r2, 0x32] + ldrh r6, [r2, 0x34] + ldrh r5, [r2, 0x36] + adds r0, r6, r1 + lsls r3, r0, 16 + lsrs r6, r3, 16 + adds r0, r5, r4 + lsls r0, 16 + lsrs r5, r0, 16 + movs r0, 0x1 + ands r1, r0 + cmp r1, 0 + beq _08075612 + lsrs r0, r3, 24 + negs r0, r0 + b _08075614 +_08075612: + lsrs r0, r3, 24 +_08075614: + strh r0, [r2, 0x24] + movs r0, 0x1 + ands r4, r0 + cmp r4, 0 + beq _08075624 + lsrs r0, r5, 8 + negs r0, r0 + b _08075626 +_08075624: + lsrs r0, r5, 8 +_08075626: + strh r0, [r2, 0x26] + strh r6, [r2, 0x34] + strh r5, [r2, 0x36] + ldrh r0, [r2, 0x2E] + subs r0, 0x1 + strh r0, [r2, 0x2E] + movs r0, 0 +_08075634: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_80755E0 + + thumb_func_start sub_807563C +sub_807563C: @ 807563C + push {r4,lr} + adds r4, r0, 0 + bl sub_80755E0 + lsls r0, 24 + cmp r0, 0 + beq _08075650 + adds r0, r4, 0 + bl SetCallbackToStoredInData +_08075650: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_807563C + + thumb_func_start sub_8075658 +sub_8075658: @ 8075658 + push {r4,lr} + adds r4, r0, 0 + bl sub_801236C + adds r0, r4, 0 + bl sub_80755E0 + lsls r0, 24 + cmp r0, 0 + beq _08075672 + adds r0, r4, 0 + bl SetCallbackToStoredInData +_08075672: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8075658 + + thumb_func_start sub_8075678 +sub_8075678: @ 8075678 + push {r4,lr} + adds r4, r0, 0 + movs r0, 0x32 + ldrsh r1, [r4, r0] + movs r2, 0x30 + ldrsh r0, [r4, r2] + subs r0, r1, r0 + cmp r0, 0 + bge _0807568C + negs r0, r0 +_0807568C: + lsls r0, 8 + movs r2, 0x2E + ldrsh r1, [r4, r2] + bl __divsi3 + strh r0, [r4, 0x2E] + adds r0, r4, 0 + bl obj_translate_based_on_private_1_2_3_4 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8075678 + + thumb_func_start sub_80756A4 +sub_80756A4: @ 80756A4 + push {r4,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x20] + strh r0, [r4, 0x30] + ldrh r0, [r4, 0x22] + strh r0, [r4, 0x34] + adds r0, r4, 0 + bl sub_8075678 + ldr r1, _080756C8 @ =sub_807563C + str r1, [r4, 0x1C] + adds r0, r4, 0 + bl _call_via_r1 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080756C8: .4byte sub_807563C + thumb_func_end sub_80756A4 + + thumb_func_start sub_80756CC +sub_80756CC: @ 80756CC + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + adds r7, r0, 0 + movs r0, 0x32 + ldrsh r1, [r7, r0] + movs r2, 0x30 + ldrsh r0, [r7, r2] + subs r1, r0 + movs r3, 0x36 + ldrsh r2, [r7, r3] + movs r3, 0x34 + ldrsh r0, [r7, r3] + subs r2, r0 + lsrs r0, r1, 31 + mov r8, r0 + lsrs r3, r2, 31 + mov r9, r3 + cmp r1, 0 + bge _080756F8 + negs r1, r1 +_080756F8: + lsls r0, r1, 20 + lsrs r6, r0, 16 + adds r0, r2, 0 + cmp r0, 0 + bge _08075704 + negs r0, r0 +_08075704: + lsls r0, 20 + lsrs r5, r0, 16 + movs r0, 0x2E + ldrsh r4, [r7, r0] + adds r0, r6, 0 + adds r1, r4, 0 + bl __divsi3 + lsls r0, 16 + lsrs r6, r0, 16 + adds r0, r5, 0 + adds r1, r4, 0 + bl __divsi3 + lsls r0, 16 + lsrs r5, r0, 16 + mov r2, r8 + cmp r2, 0 + beq _08075730 + movs r0, 0x1 + orrs r6, r0 + b _08075734 +_08075730: + ldr r0, _08075740 @ =0x0000fffe + ands r6, r0 +_08075734: + mov r3, r9 + cmp r3, 0 + beq _08075744 + movs r0, 0x1 + orrs r5, r0 + b _08075748 + .align 2, 0 +_08075740: .4byte 0x0000fffe +_08075744: + ldr r0, _08075760 @ =0x0000fffe + ands r5, r0 +_08075748: + movs r0, 0 + strh r6, [r7, 0x30] + strh r5, [r7, 0x32] + strh r0, [r7, 0x36] + strh r0, [r7, 0x34] + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08075760: .4byte 0x0000fffe + thumb_func_end sub_80756CC + + thumb_func_start sub_8075764 +sub_8075764: @ 8075764 + push {r4,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x20] + strh r0, [r4, 0x30] + ldrh r0, [r4, 0x22] + strh r0, [r4, 0x34] + adds r0, r4, 0 + bl sub_80756CC + ldr r1, _08075788 @ =sub_80757E8 + str r1, [r4, 0x1C] + adds r0, r4, 0 + bl _call_via_r1 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08075788: .4byte sub_80757E8 + thumb_func_end sub_8075764 + + thumb_func_start sub_807578C +sub_807578C: @ 807578C + push {r4-r6,lr} + adds r2, r0, 0 + movs r1, 0x2E + ldrsh r0, [r2, r1] + cmp r0, 0 + bne _0807579C + movs r0, 0x1 + b _080757E0 +_0807579C: + ldrh r1, [r2, 0x30] + ldrh r4, [r2, 0x32] + ldrh r6, [r2, 0x34] + ldrh r5, [r2, 0x36] + adds r0, r6, r1 + lsls r3, r0, 16 + lsrs r6, r3, 16 + adds r0, r5, r4 + lsls r0, 16 + lsrs r5, r0, 16 + movs r0, 0x1 + ands r1, r0 + cmp r1, 0 + beq _080757BE + lsrs r0, r3, 20 + negs r0, r0 + b _080757C0 +_080757BE: + lsrs r0, r3, 20 +_080757C0: + strh r0, [r2, 0x24] + movs r0, 0x1 + ands r4, r0 + cmp r4, 0 + beq _080757D0 + lsrs r0, r5, 4 + negs r0, r0 + b _080757D2 +_080757D0: + lsrs r0, r5, 4 +_080757D2: + strh r0, [r2, 0x26] + strh r6, [r2, 0x34] + strh r5, [r2, 0x36] + ldrh r0, [r2, 0x2E] + subs r0, 0x1 + strh r0, [r2, 0x2E] + movs r0, 0 +_080757E0: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_807578C + + thumb_func_start sub_80757E8 +sub_80757E8: @ 80757E8 + push {r4,lr} + adds r4, r0, 0 + bl sub_807578C + lsls r0, 24 + cmp r0, 0 + beq _080757FC + adds r0, r4, 0 + bl SetCallbackToStoredInData +_080757FC: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80757E8 + + thumb_func_start sub_8075804 +sub_8075804: @ 8075804 + push {r4,lr} + adds r4, r0, 0 + movs r0, 0x32 + ldrsh r1, [r4, r0] + movs r2, 0x30 + ldrsh r0, [r4, r2] + subs r0, r1, r0 + cmp r0, 0 + bge _08075818 + negs r0, r0 +_08075818: + lsls r0, 4 + movs r2, 0x2E + ldrsh r1, [r4, r2] + bl __divsi3 + strh r0, [r4, 0x2E] + adds r0, r4, 0 + bl sub_80756CC + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8075804 + + thumb_func_start sub_8075830 +sub_8075830: @ 8075830 + push {r4,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x20] + strh r0, [r4, 0x30] + ldrh r0, [r4, 0x22] + strh r0, [r4, 0x34] + adds r0, r4, 0 + bl sub_8075804 + ldr r1, _08075854 @ =sub_80757E8 + str r1, [r4, 0x1C] + adds r0, r4, 0 + bl _call_via_r1 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08075854: .4byte sub_80757E8 + thumb_func_end sub_8075830 + + thumb_func_start obj_id_set_rotscale +obj_id_set_rotscale: @ 8075858 + push {r4,r5,lr} + sub sp, 0x10 + lsls r0, 24 + lsrs r4, r0, 24 + lsls r1, 16 + lsls r3, 16 + lsrs r3, 16 + ldr r5, _080758D0 @ =0xffff0000 + lsls r2, 16 + lsrs r1, 16 + orrs r1, r2 + str r1, [sp] + ldr r0, [sp, 0x4] + ands r0, r5 + orrs r0, r3 + str r0, [sp, 0x4] + bl sub_80758DC + lsls r0, 24 + cmp r0, 0 + beq _08075894 + mov r0, sp + ldrh r0, [r0] + negs r0, r0 + lsls r0, 16 + lsrs r0, 16 + ldr r1, [sp] + ands r1, r5 + orrs r1, r0 + str r1, [sp] +_08075894: + ldr r1, _080758D4 @ =gSprites + lsls r0, r4, 4 + adds r0, r4 + lsls r0, 2 + adds r0, r1 + ldrb r4, [r0, 0x3] + lsls r4, 26 + lsrs r4, 27 + add r5, sp, 0x8 + mov r0, sp + adds r1, r5, 0 + movs r2, 0x1 + movs r3, 0x2 + bl ObjAffineSet + ldr r0, _080758D8 @ =gOamMatrices + lsls r4, 3 + adds r4, r0 + ldrh r0, [r5] + strh r0, [r4] + ldrh r0, [r5, 0x2] + strh r0, [r4, 0x2] + ldrh r0, [r5, 0x4] + strh r0, [r4, 0x4] + ldrh r0, [r5, 0x6] + strh r0, [r4, 0x6] + add sp, 0x10 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080758D0: .4byte 0xffff0000 +_080758D4: .4byte gSprites +_080758D8: .4byte gOamMatrices + thumb_func_end obj_id_set_rotscale + + thumb_func_start sub_80758DC +sub_80758DC: @ 80758DC + movs r0, 0 + bx lr + thumb_func_end sub_80758DC + + thumb_func_start sub_80758E0 +sub_80758E0: @ 80758E0 + push {r4-r7,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, 24 + lsrs r5, r1, 24 + ldr r2, _08075978 @ =gSprites + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r4, r1, r2 + ldrh r0, [r4, 0x2E] + lsls r0, 24 + lsrs r0, 24 + adds r6, r0, 0 + bl sub_8072DF0 + lsls r0, 24 + cmp r0, 0 + beq _08075914 + adds r2, r4, 0 + adds r2, 0x3E + ldrb r1, [r2] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + strb r0, [r2] +_08075914: + movs r7, 0x3 + ands r5, r7 + lsls r2, r5, 2 + ldrb r1, [r4, 0x1] + movs r0, 0xD + negs r0, r0 + ands r0, r1 + orrs r0, r2 + strb r0, [r4, 0x1] + adds r2, r4, 0 + adds r2, 0x2C + ldrb r0, [r2] + movs r1, 0x80 + orrs r0, r1 + strb r0, [r2] + ldrb r0, [r4, 0x1] + lsls r0, 30 + cmp r0, 0 + bne _0807595C + ldr r0, _0807597C @ =gUnknown_2024018 + ldr r0, [r0] + ldr r1, [r0, 0x4] + lsls r0, r6, 1 + adds r0, r6 + lsls r0, 2 + adds r0, r1 + ldrb r1, [r0, 0x6] + movs r0, 0x1F + ands r1, r0 + lsls r1, 1 + ldrb r2, [r4, 0x3] + movs r0, 0x3F + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r4, 0x3] +_0807595C: + ldrb r3, [r4, 0x1] + orrs r3, r7 + strb r3, [r4, 0x1] + lsrs r1, r3, 6 + ldrb r2, [r4, 0x3] + lsrs r2, 6 + lsls r3, 30 + lsrs r3, 30 + adds r0, r4, 0 + bl CalcCenterToCornerVec + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08075978: .4byte gSprites +_0807597C: .4byte gUnknown_2024018 + thumb_func_end sub_80758E0 + + thumb_func_start sub_8075980 +sub_8075980: @ 8075980 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + movs r2, 0x80 + lsls r2, 1 + adds r0, r4, 0 + adds r1, r2, 0 + movs r3, 0 + bl obj_id_set_rotscale + ldr r1, _080759D8 @ =gSprites + lsls r0, r4, 4 + adds r0, r4 + lsls r0, 2 + adds r0, r1 + ldrb r2, [r0, 0x1] + movs r1, 0x4 + negs r1, r1 + ands r1, r2 + movs r2, 0x1 + orrs r1, r2 + movs r2, 0xD + negs r2, r2 + ands r1, r2 + strb r1, [r0, 0x1] + adds r3, r0, 0 + adds r3, 0x2C + ldrb r2, [r3] + movs r1, 0x7F + ands r1, r2 + strb r1, [r3] + ldrb r3, [r0, 0x1] + lsrs r1, r3, 6 + ldrb r2, [r0, 0x3] + lsrs r2, 6 + lsls r3, 30 + lsrs r3, 30 + bl CalcCenterToCornerVec + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080759D8: .4byte gSprites + thumb_func_end sub_8075980 + + thumb_func_start sub_80759DC +sub_80759DC: @ 80759DC + push {lr} + lsls r0, 24 + lsrs r0, 24 + ldr r2, _08075A14 @ =gSprites + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r2, r1, r2 + ldrb r0, [r2, 0x3] + lsls r0, 26 + lsrs r0, 27 + ldr r1, _08075A18 @ =gOamMatrices + lsls r0, 3 + adds r0, r1 + ldrh r1, [r0, 0x4] + movs r3, 0x4 + ldrsh r0, [r0, r3] + cmp r0, 0 + bge _08075A08 + negs r0, r0 + lsls r0, 16 + lsrs r1, r0, 16 +_08075A08: + lsls r0, r1, 16 + asrs r0, 19 + strh r0, [r2, 0x26] + pop {r0} + bx r0 + .align 2, 0 +_08075A14: .4byte gSprites +_08075A18: .4byte gOamMatrices + thumb_func_end sub_80759DC + + thumb_func_start sub_8075A1C +sub_8075A1C: @ 8075A1C + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x10 + adds r4, r0, 0 + ldr r0, [sp, 0x28] + lsls r1, 24 + lsrs r6, r1, 24 + lsls r2, 16 + lsrs r5, r2, 16 + lsls r3, 16 + lsrs r7, r3, 16 + lsls r0, 16 + lsrs r0, 16 + mov r8, r0 + ldrb r0, [r4, 0x1] + lsls r0, 30 + lsrs r0, 30 + movs r1, 0x1 + ands r0, r1 + cmp r0, 0 + beq _08075AC2 + adds r0, r4, 0 + adds r0, 0x2C + ldrb r1, [r0] + movs r2, 0x80 + orrs r1, r2 + strb r1, [r0] + cmp r6, 0 + beq _08075A6A + ldrb r3, [r4, 0x1] + lsrs r1, r3, 6 + ldrb r2, [r4, 0x3] + lsrs r2, 6 + lsls r3, 30 + lsrs r3, 30 + adds r0, r4, 0 + bl CalcCenterToCornerVec +_08075A6A: + ldr r6, _08075AD0 @ =0xffff0000 + lsls r0, r7, 16 + orrs r5, r0 + str r5, [sp] + ldr r0, [sp, 0x4] + ands r0, r6 + mov r1, r8 + orrs r0, r1 + str r0, [sp, 0x4] + bl sub_80758DC + lsls r0, 24 + cmp r0, 0 + beq _08075A98 + mov r0, sp + ldrh r0, [r0] + negs r0, r0 + lsls r0, 16 + lsrs r0, 16 + ldr r1, [sp] + ands r1, r6 + orrs r1, r0 + str r1, [sp] +_08075A98: + ldrb r4, [r4, 0x3] + lsls r4, 26 + lsrs r4, 27 + add r5, sp, 0x8 + mov r0, sp + adds r1, r5, 0 + movs r2, 0x1 + movs r3, 0x2 + bl ObjAffineSet + ldr r0, _08075AD4 @ =gOamMatrices + lsls r4, 3 + adds r4, r0 + ldrh r0, [r5] + strh r0, [r4] + ldrh r0, [r5, 0x2] + strh r0, [r4, 0x2] + ldrh r0, [r5, 0x4] + strh r0, [r4, 0x4] + ldrh r0, [r5, 0x6] + strh r0, [r4, 0x6] +_08075AC2: + add sp, 0x10 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08075AD0: .4byte 0xffff0000 +_08075AD4: .4byte gOamMatrices + thumb_func_end sub_8075A1C + + thumb_func_start sub_8075AD8 +sub_8075AD8: @ 8075AD8 + push {r4,lr} + sub sp, 0x4 + adds r4, r0, 0 + movs r3, 0x80 + lsls r3, 1 + movs r0, 0 + str r0, [sp] + adds r0, r4, 0 + movs r1, 0x1 + adds r2, r3, 0 + bl sub_8075A1C + adds r2, r4, 0 + adds r2, 0x2C + ldrb r1, [r2] + movs r0, 0x7F + ands r0, r1 + strb r0, [r2] + ldrb r3, [r4, 0x1] + lsrs r1, r3, 6 + ldrb r2, [r4, 0x3] + lsrs r2, 6 + lsls r3, 30 + lsrs r3, 30 + adds r0, r4, 0 + bl CalcCenterToCornerVec + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8075AD8 + + thumb_func_start ArcTan2_ +ArcTan2_: @ 8075B18 + push {lr} + lsls r0, 16 + asrs r0, 16 + lsls r1, 16 + asrs r1, 16 + bl ArcTan2 + lsls r0, 16 + lsrs r0, 16 + pop {r1} + bx r1 + thumb_func_end ArcTan2_ + + thumb_func_start sub_8075B30 +sub_8075B30: @ 8075B30 + push {lr} + lsls r0, 16 + asrs r0, 16 + lsls r1, 16 + asrs r1, 16 + bl ArcTan2_ + lsls r0, 16 + negs r0, r0 + lsrs r0, 16 + pop {r1} + bx r1 + thumb_func_end sub_8075B30 + + thumb_func_start sub_8075B48 +sub_8075B48: @ 8075B48 + push {r4-r7,lr} + lsls r1, 24 + lsls r0, 20 + lsrs r0, 16 + cmp r1, 0 + bne _08075BC4 + ldr r2, _08075BB8 @ =gPlttBufferUnfaded + ldr r1, _08075BBC @ =gPlttBufferFaded + lsls r0, 1 + adds r4, r0, r1 + adds r5, r0, r2 + movs r6, 0xF +_08075B60: + ldr r0, [r5] + lsls r2, r0, 27 + lsrs r2, 27 + lsls r1, r0, 22 + lsrs r1, 27 + adds r2, r1 + lsls r0, 17 + lsrs r0, 27 + adds r0, r2 + movs r1, 0x3 + bl __udivsi3 + lsls r0, 16 + lsrs r0, 16 + movs r1, 0x1F + ands r0, r1 + ldrb r1, [r4] + movs r3, 0x20 + negs r3, r3 + adds r2, r3, 0 + ands r1, r2 + orrs r1, r0 + strb r1, [r4] + lsls r3, r0, 5 + ldrh r1, [r4] + ldr r7, _08075BC0 @ =0xfffffc1f + adds r2, r7, 0 + ands r1, r2 + orrs r1, r3 + strh r1, [r4] + lsls r0, 2 + ldrb r1, [r4, 0x1] + movs r3, 0x7D + negs r3, r3 + adds r2, r3, 0 + ands r1, r2 + orrs r1, r0 + strb r1, [r4, 0x1] + adds r4, 0x2 + adds r5, 0x2 + subs r6, 0x1 + cmp r6, 0 + bge _08075B60 + b _08075BD4 + .align 2, 0 +_08075BB8: .4byte gPlttBufferUnfaded +_08075BBC: .4byte gPlttBufferFaded +_08075BC0: .4byte 0xfffffc1f +_08075BC4: + lsls r1, r0, 1 + ldr r0, _08075BDC @ =gPlttBufferUnfaded + adds r0, r1, r0 + ldr r2, _08075BE0 @ =gPlttBufferFaded + adds r1, r2 + ldr r2, _08075BE4 @ =0x04000008 + bl CpuSet +_08075BD4: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08075BDC: .4byte gPlttBufferUnfaded +_08075BE0: .4byte gPlttBufferFaded +_08075BE4: .4byte 0x04000008 + thumb_func_end sub_8075B48 + + thumb_func_start sub_8075BE8 +sub_8075BE8: @ 8075BE8 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + ldr r4, [sp, 0x1C] + ldr r5, [sp, 0x20] + ldr r6, [sp, 0x24] + lsls r0, 24 + lsls r1, 24 + lsrs r1, 24 + lsls r2, 24 + lsrs r2, 24 + lsls r3, 24 + lsrs r3, 24 + lsls r4, 24 + lsrs r7, r4, 24 + lsls r5, 24 + lsrs r5, 24 + mov r8, r5 + lsls r6, 24 + lsrs r6, 24 + mov r9, r6 + movs r4, 0 + cmp r0, 0 + beq _08075C1C + movs r4, 0xE +_08075C1C: + cmp r1, 0 + beq _08075C2E + ldr r0, _08075CB0 @ =gBattleAnimAttacker + ldrb r0, [r0] + adds r1, r0, 0 + adds r1, 0x10 + movs r0, 0x1 + lsls r0, r1 + orrs r4, r0 +_08075C2E: + cmp r2, 0 + beq _08075C40 + ldr r0, _08075CB4 @ =gBattleAnimTarget + ldrb r0, [r0] + adds r1, r0, 0 + adds r1, 0x10 + movs r0, 0x1 + lsls r0, r1 + orrs r4, r0 +_08075C40: + cmp r3, 0 + beq _08075C64 + ldr r6, _08075CB0 @ =gBattleAnimAttacker + ldrb r0, [r6] + movs r5, 0x2 + eors r0, r5 + bl sub_8072DF0 + lsls r0, 24 + cmp r0, 0 + beq _08075C64 + ldrb r0, [r6] + eors r0, r5 + adds r1, r0, 0 + adds r1, 0x10 + movs r0, 0x1 + lsls r0, r1 + orrs r4, r0 +_08075C64: + cmp r7, 0 + beq _08075C88 + ldr r6, _08075CB4 @ =gBattleAnimTarget + ldrb r0, [r6] + movs r5, 0x2 + eors r0, r5 + bl sub_8072DF0 + lsls r0, 24 + cmp r0, 0 + beq _08075C88 + ldrb r0, [r6] + eors r0, r5 + adds r1, r0, 0 + adds r1, 0x10 + movs r0, 0x1 + lsls r0, r1 + orrs r4, r0 +_08075C88: + mov r0, r8 + cmp r0, 0 + beq _08075C94 + movs r0, 0x80 + lsls r0, 1 + orrs r4, r0 +_08075C94: + mov r0, r9 + cmp r0, 0 + beq _08075CA0 + movs r0, 0x80 + lsls r0, 2 + orrs r4, r0 +_08075CA0: + adds r0, r4, 0 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_08075CB0: .4byte gBattleAnimAttacker +_08075CB4: .4byte gBattleAnimTarget + thumb_func_end sub_8075BE8 + + thumb_func_start sub_8075CB8 +sub_8075CB8: @ 8075CB8 + push {r4-r7,lr} + lsls r0, 24 + lsls r1, 24 + lsrs r5, r1, 24 + lsls r2, 24 + lsrs r6, r2, 24 + lsls r3, 24 + lsrs r7, r3, 24 + movs r4, 0 + cmp r0, 0 + beq _08075CF2 + movs r0, 0 + bl GetBattlerAtPosition + lsls r0, 24 + lsrs r0, 24 + bl sub_8072DF0 + lsls r0, 24 + cmp r0, 0 + beq _08075CF2 + movs r0, 0 + bl GetBattlerAtPosition + lsls r0, 24 + lsrs r0, 24 + adds r0, 0x10 + movs r4, 0x1 + lsls r4, r0 +_08075CF2: + cmp r5, 0 + beq _08075D1E + movs r0, 0x2 + bl GetBattlerAtPosition + lsls r0, 24 + lsrs r0, 24 + bl sub_8072DF0 + lsls r0, 24 + cmp r0, 0 + beq _08075D1E + movs r0, 0x2 + bl GetBattlerAtPosition + lsls r0, 24 + lsrs r0, 24 + adds r1, r0, 0 + adds r1, 0x10 + movs r0, 0x1 + lsls r0, r1 + orrs r4, r0 +_08075D1E: + cmp r6, 0 + beq _08075D4A + movs r0, 0x1 + bl GetBattlerAtPosition + lsls r0, 24 + lsrs r0, 24 + bl sub_8072DF0 + lsls r0, 24 + cmp r0, 0 + beq _08075D4A + movs r0, 0x1 + bl GetBattlerAtPosition + lsls r0, 24 + lsrs r0, 24 + adds r1, r0, 0 + adds r1, 0x10 + movs r0, 0x1 + lsls r0, r1 + orrs r4, r0 +_08075D4A: + cmp r7, 0 + beq _08075D76 + movs r0, 0x3 + bl GetBattlerAtPosition + lsls r0, 24 + lsrs r0, 24 + bl sub_8072DF0 + lsls r0, 24 + cmp r0, 0 + beq _08075D76 + movs r0, 0x3 + bl GetBattlerAtPosition + lsls r0, 24 + lsrs r0, 24 + adds r1, r0, 0 + adds r1, 0x10 + movs r0, 0x1 + lsls r0, r1 + orrs r4, r0 +_08075D76: + adds r0, r4, 0 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_8075CB8 + + thumb_func_start sub_8075D80 +sub_8075D80: @ 8075D80 + lsls r0, 24 + lsrs r0, 24 + bx lr + thumb_func_end sub_8075D80 + + thumb_func_start sub_8075D88 +sub_8075D88: @ 8075D88 + push {lr} + lsls r0, 24 + lsrs r0, 24 + bl GetBattlerAtPosition + lsls r0, 24 + lsrs r0, 24 + pop {r1} + bx r1 + thumb_func_end sub_8075D88 + + thumb_func_start sub_8075D9C +sub_8075D9C: @ 8075D9C + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _08075DDA + ldr r2, _08075DC8 @ =gBattleAnimArgs + movs r3, 0x6 + ldrsh r0, [r2, r3] + movs r1, 0 + cmp r0, 0 + bne _08075DB6 + movs r1, 0x1 +_08075DB6: + movs r3, 0x4 + ldrsh r0, [r2, r3] + cmp r0, 0 + bne _08075DCC + adds r0, r4, 0 + bl sub_8075160 + b _08075DD2 + .align 2, 0 +_08075DC8: .4byte gBattleAnimArgs +_08075DCC: + adds r0, r4, 0 + bl sub_8075114 +_08075DD2: + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + b _08075DEE +_08075DDA: + adds r0, r4, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x30 + ands r0, r1 + cmp r0, 0 + beq _08075DEE + adds r0, r4, 0 + bl move_anim_8074EE0 +_08075DEE: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8075D9C + + thumb_func_start sub_8075DF4 +sub_8075DF4: @ 8075DF4 + push {r4-r7,lr} + adds r5, r0, 0 + ldr r6, _08075E6C @ =gBattleAnimArgs + movs r1, 0xA + ldrsh r0, [r6, r1] + movs r1, 0xFF + lsls r1, 8 + ands r0, r1 + movs r1, 0 + cmp r0, 0 + bne _08075E0C + movs r1, 0x1 +_08075E0C: + ldrb r0, [r6, 0xA] + movs r7, 0x1 + cmp r0, 0 + bne _08075E16 + movs r7, 0x3 +_08075E16: + adds r0, r5, 0 + bl sub_8075160 + ldr r0, _08075E70 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _08075E30 + ldrh r0, [r6, 0x4] + negs r0, r0 + strh r0, [r6, 0x4] +_08075E30: + ldrh r0, [r6, 0x8] + strh r0, [r5, 0x2E] + ldr r4, _08075E74 @ =gBattleAnimTarget + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r1, [r6, 0x4] + adds r0, r1 + strh r0, [r5, 0x32] + ldrb r0, [r4] + adds r1, r7, 0 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r6, [r6, 0x6] + adds r0, r6 + strh r0, [r5, 0x36] + ldr r0, _08075E78 @ =sub_8075590 + str r0, [r5, 0x1C] + ldr r1, _08075E7C @ =DestroyAnimSprite + adds r0, r5, 0 + bl StoreSpriteCallbackInData6 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08075E6C: .4byte gBattleAnimArgs +_08075E70: .4byte gBattleAnimAttacker +_08075E74: .4byte gBattleAnimTarget +_08075E78: .4byte sub_8075590 +_08075E7C: .4byte DestroyAnimSprite + thumb_func_end sub_8075DF4 + + thumb_func_start sub_8075E80 +sub_8075E80: @ 8075E80 + push {r4-r6,lr} + adds r6, r0, 0 + movs r1, 0x1 + bl sub_8075160 + ldr r0, _08075EE0 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _08075EA0 + ldr r1, _08075EE4 @ =gBattleAnimArgs + ldrh r0, [r1, 0x4] + negs r0, r0 + strh r0, [r1, 0x4] +_08075EA0: + ldr r4, _08075EE4 @ =gBattleAnimArgs + ldrh r0, [r4, 0x8] + strh r0, [r6, 0x2E] + ldr r5, _08075EE8 @ =gBattleAnimTarget + ldrb r0, [r5] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r1, [r4, 0x4] + adds r0, r1 + strh r0, [r6, 0x32] + ldrb r0, [r5] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r1, [r4, 0x6] + adds r0, r1 + strh r0, [r6, 0x36] + ldrh r0, [r4, 0xA] + strh r0, [r6, 0x38] + adds r0, r6, 0 + bl sub_8075068 + ldr r0, _08075EEC @ =sub_8075EF0 + str r0, [r6, 0x1C] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_08075EE0: .4byte gBattleAnimAttacker +_08075EE4: .4byte gBattleAnimArgs +_08075EE8: .4byte gBattleAnimTarget +_08075EEC: .4byte sub_8075EF0 + thumb_func_end sub_8075E80 + + thumb_func_start sub_8075EF0 +sub_8075EF0: @ 8075EF0 + push {r4,lr} + adds r4, r0, 0 + bl AnimateBallThrow + lsls r0, 24 + cmp r0, 0 + beq _08075F04 + adds r0, r4, 0 + bl DestroyAnimSprite +_08075F04: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8075EF0 + + thumb_func_start sub_8075F0C +sub_8075F0C: @ 8075F0C + push {r4-r7,lr} + adds r5, r0, 0 + ldr r0, _08075F20 @ =gBattleAnimArgs + movs r2, 0xC + ldrsh r1, [r0, r2] + cmp r1, 0 + bne _08075F24 + movs r4, 0x1 + movs r7, 0x3 + b _08075F28 + .align 2, 0 +_08075F20: .4byte gBattleAnimArgs +_08075F24: + movs r4, 0 + movs r7, 0x1 +_08075F28: + movs r1, 0xA + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _08075F40 + adds r0, r5, 0 + adds r1, r4, 0 + bl sub_8075160 + ldr r0, _08075F3C @ =gBattleAnimAttacker + b _08075F4A + .align 2, 0 +_08075F3C: .4byte gBattleAnimAttacker +_08075F40: + adds r0, r5, 0 + adds r1, r4, 0 + bl sub_8075114 + ldr r0, _08075FA8 @ =gBattleAnimTarget +_08075F4A: + ldrb r6, [r0] + ldr r0, _08075FAC @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _08075F62 + ldr r1, _08075FB0 @ =gBattleAnimArgs + ldrh r0, [r1, 0x4] + negs r0, r0 + strh r0, [r1, 0x4] +_08075F62: + adds r0, r5, 0 + adds r1, r4, 0 + bl sub_8075114 + ldr r4, _08075FB0 @ =gBattleAnimArgs + ldrh r0, [r4, 0x8] + strh r0, [r5, 0x2E] + adds r0, r6, 0 + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r2, [r4, 0x4] + adds r0, r2 + strh r0, [r5, 0x32] + adds r0, r6, 0 + adds r1, r7, 0 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r4, [r4, 0x6] + adds r0, r4 + strh r0, [r5, 0x36] + ldr r0, _08075FB4 @ =sub_8075590 + str r0, [r5, 0x1C] + ldr r1, _08075FB8 @ =DestroyAnimSprite + adds r0, r5, 0 + bl StoreSpriteCallbackInData6 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08075FA8: .4byte gBattleAnimTarget +_08075FAC: .4byte gBattleAnimAttacker +_08075FB0: .4byte gBattleAnimArgs +_08075FB4: .4byte sub_8075590 +_08075FB8: .4byte DestroyAnimSprite + thumb_func_end sub_8075F0C + + thumb_func_start duplicate_obj_of_side_rel2move_in_transparent_mode +duplicate_obj_of_side_rel2move_in_transparent_mode: @ 8075FBC + push {r4-r6,lr} + lsls r0, 24 + lsrs r0, 24 + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r1, r0, 24 + cmp r1, 0xFF + beq _08076026 + movs r6, 0 + ldr r2, _08076018 @ =gSprites + lsls r0, r1, 4 + adds r0, r1 + lsls r1, r0, 2 +_08075FD8: + lsls r0, r6, 4 + adds r0, r6 + lsls r0, 2 + adds r4, r0, r2 + adds r5, r4, 0 + adds r5, 0x3E + ldrb r0, [r5] + lsls r0, 31 + cmp r0, 0 + bne _0807601C + adds r0, r4, 0 + adds r1, r2 + movs r2, 0x44 + bl memcpy + ldrb r1, [r4, 0x1] + movs r2, 0xD + negs r2, r2 + adds r0, r2, 0 + ands r1, r0 + movs r0, 0x4 + orrs r1, r0 + strb r1, [r4, 0x1] + ldrb r0, [r5] + adds r2, 0x8 + adds r1, r2, 0 + ands r0, r1 + strb r0, [r5] + lsls r0, r6, 16 + asrs r0, 16 + b _0807602A + .align 2, 0 +_08076018: .4byte gSprites +_0807601C: + adds r0, r6, 0x1 + lsls r0, 16 + lsrs r6, r0, 16 + cmp r6, 0x3F + bls _08075FD8 +_08076026: + movs r0, 0x1 + negs r0, r0 +_0807602A: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end duplicate_obj_of_side_rel2move_in_transparent_mode + + thumb_func_start obj_delete_but_dont_free_vram +obj_delete_but_dont_free_vram: @ 8076030 + push {lr} + adds r3, r0, 0 + adds r3, 0x3F + ldrb r1, [r3] + movs r2, 0x40 + orrs r1, r2 + strb r1, [r3] + bl DestroySprite + pop {r0} + bx r0 + thumb_func_end obj_delete_but_dont_free_vram + + thumb_func_start sub_8076048 +sub_8076048: @ 8076048 + push {r4-r6,lr} + lsls r0, 24 + lsrs r5, r0, 24 + movs r6, 0 + movs r3, 0 + ldr r2, _080760C0 @ =gBattleAnimArgs + movs r0, 0x4 + ldrsh r1, [r2, r0] + movs r4, 0 + ldrsh r0, [r2, r4] + cmp r1, r0 + ble _08076062 + movs r3, 0x1 +_08076062: + cmp r1, r0 + bge _08076068 + ldr r3, _080760C4 @ =0x0000ffff +_08076068: + movs r0, 0x6 + ldrsh r1, [r2, r0] + movs r4, 0x2 + ldrsh r0, [r2, r4] + cmp r1, r0 + ble _08076076 + movs r6, 0x1 +_08076076: + cmp r1, r0 + bge _0807607C + ldr r6, _080760C4 @ =0x0000ffff +_0807607C: + ldr r0, _080760C8 @ =gTasks + lsls r4, r5, 2 + adds r4, r5 + lsls r4, 3 + adds r4, r0 + movs r1, 0 + strh r1, [r4, 0x8] + ldrh r0, [r2, 0x8] + strh r0, [r4, 0xA] + strh r1, [r4, 0xC] + ldrh r0, [r2] + strh r0, [r4, 0xE] + ldrh r0, [r2, 0x2] + strh r0, [r4, 0x10] + strh r3, [r4, 0x12] + strh r6, [r4, 0x14] + ldrh r0, [r2, 0x4] + strh r0, [r4, 0x16] + ldrh r0, [r2, 0x6] + strh r0, [r4, 0x18] + ldrh r1, [r2, 0x2] + lsls r1, 8 + ldrh r0, [r2] + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + ldr r0, _080760CC @ =sub_80760D0 + str r0, [r4] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080760C0: .4byte gBattleAnimArgs +_080760C4: .4byte 0x0000ffff +_080760C8: .4byte gTasks +_080760CC: .4byte sub_80760D0 + thumb_func_end sub_8076048 + + thumb_func_start sub_80760D0 +sub_80760D0: @ 80760D0 + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + ldr r1, _0807611C @ =gTasks + adds r4, r0, r1 + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] + lsls r0, 16 + asrs r0, 16 + movs r2, 0xA + ldrsh r1, [r4, r2] + cmp r0, r1 + ble _08076164 + movs r0, 0 + strh r0, [r4, 0x8] + ldrh r0, [r4, 0xC] + adds r0, 0x1 + strh r0, [r4, 0xC] + movs r1, 0x1 + ands r0, r1 + cmp r0, 0 + beq _08076120 + ldrh r2, [r4, 0xE] + movs r3, 0xE + ldrsh r1, [r4, r3] + movs r3, 0x16 + ldrsh r0, [r4, r3] + cmp r1, r0 + beq _08076134 + ldrh r0, [r4, 0x12] + adds r0, r2, r0 + strh r0, [r4, 0xE] + b _08076134 + .align 2, 0 +_0807611C: .4byte gTasks +_08076120: + ldrh r2, [r4, 0x10] + movs r0, 0x10 + ldrsh r1, [r4, r0] + movs r3, 0x18 + ldrsh r0, [r4, r3] + cmp r1, r0 + beq _08076134 + ldrh r0, [r4, 0x14] + adds r0, r2, r0 + strh r0, [r4, 0x10] +_08076134: + ldrh r1, [r4, 0x10] + lsls r1, 8 + ldrh r0, [r4, 0xE] + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + movs r0, 0xE + ldrsh r1, [r4, r0] + movs r2, 0x16 + ldrsh r0, [r4, r2] + cmp r1, r0 + bne _08076164 + movs r3, 0x10 + ldrsh r1, [r4, r3] + movs r2, 0x18 + ldrsh r0, [r4, r2] + cmp r1, r0 + bne _08076164 + adds r0, r5, 0 + bl DestroyAnimVisualTask +_08076164: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80760D0 + + thumb_func_start sub_807616C +sub_807616C: @ 807616C + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _0807618C @ =gBattleAnimArgs + ldrb r0, [r0] + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r3, r0, 24 + cmp r3, 0xFF + bne _08076190 + adds r0, r4, 0 + bl DestroyAnimVisualTask + b _080761B6 + .align 2, 0 +_0807618C: .4byte gBattleAnimArgs +_08076190: + ldr r1, _080761BC @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r2, _080761C0 @ =gSprites + lsls r1, r3, 4 + adds r1, r3 + lsls r1, 2 + adds r1, r2 + ldrb r1, [r1, 0x5] + lsrs r1, 4 + lsls r1, 4 + ldr r3, _080761C4 @ =0x00000101 + adds r2, r3, 0 + adds r1, r2 + strh r1, [r0, 0x8] + bl sub_80761C8 +_080761B6: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080761BC: .4byte gTasks +_080761C0: .4byte gSprites +_080761C4: .4byte 0x00000101 + thumb_func_end sub_807616C + + thumb_func_start sub_80761C8 +sub_80761C8: @ 80761C8 + ldr r3, _080761E8 @ =gBattleAnimArgs + ldrh r1, [r3, 0x2] + movs r2, 0 + strh r1, [r0, 0xA] + strh r2, [r0, 0xC] + ldrh r1, [r3, 0x4] + strh r1, [r0, 0xE] + strh r2, [r0, 0x10] + ldrh r1, [r3, 0x6] + strh r1, [r0, 0x12] + strh r2, [r0, 0x14] + ldrh r1, [r3, 0x8] + strh r1, [r0, 0x16] + ldr r1, _080761EC @ =sub_80761F0 + str r1, [r0] + bx lr + .align 2, 0 +_080761E8: .4byte gBattleAnimArgs +_080761EC: .4byte sub_80761F0 + thumb_func_end sub_80761C8 + + thumb_func_start sub_80761F0 +sub_80761F0: @ 80761F0 + push {r4,r5,lr} + lsls r0, 24 + lsrs r0, 24 + adds r5, r0, 0 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + ldr r1, _08076248 @ =gTasks + adds r4, r0, r1 + ldrh r0, [r4, 0x10] + adds r0, 0x1 + strh r0, [r4, 0x10] + lsls r0, 16 + asrs r0, 16 + movs r2, 0x12 + ldrsh r1, [r4, r2] + cmp r0, r1 + blt _08076280 + movs r0, 0 + strh r0, [r4, 0x10] + movs r1, 0x14 + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _0807624C + ldrh r2, [r4, 0xC] + adds r2, 0x1 + strh r2, [r4, 0xC] + ldrh r0, [r4, 0x8] + lsls r2, 24 + lsrs r2, 24 + ldrh r3, [r4, 0xA] + movs r1, 0xF + bl BlendPalette + movs r2, 0xC + ldrsh r1, [r4, r2] + movs r2, 0xE + ldrsh r0, [r4, r2] + cmp r1, r0 + bne _08076280 + movs r0, 0x1 + strh r0, [r4, 0x14] + b _08076280 + .align 2, 0 +_08076248: .4byte gTasks +_0807624C: + ldrh r2, [r4, 0xC] + subs r2, 0x1 + strh r2, [r4, 0xC] + ldrh r0, [r4, 0x8] + lsls r2, 24 + lsrs r2, 24 + ldrh r3, [r4, 0xA] + movs r1, 0xF + bl BlendPalette + movs r0, 0xC + ldrsh r1, [r4, r0] + cmp r1, 0 + bne _08076280 + ldrh r0, [r4, 0x16] + subs r0, 0x1 + strh r0, [r4, 0x16] + lsls r0, 16 + cmp r0, 0 + beq _0807627A + strh r1, [r4, 0x10] + strh r1, [r4, 0x14] + b _08076280 +_0807627A: + adds r0, r5, 0 + bl DestroyAnimVisualTask +_08076280: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80761F0 + + thumb_func_start sub_8076288 +sub_8076288: @ 8076288 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _080762A8 @ =gBattleAnimArgs + ldrh r0, [r0] + bl IndexOfSpritePaletteTag + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0xFF + bne _080762AC + adds r0, r4, 0 + bl DestroyAnimVisualTask + b _080762C2 + .align 2, 0 +_080762A8: .4byte gBattleAnimArgs +_080762AC: + ldr r1, _080762C8 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + lsls r1, r2, 4 + ldr r2, _080762CC @ =0x00000101 + adds r1, r2 + strh r1, [r0, 0x8] + bl sub_80761C8 +_080762C2: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080762C8: .4byte gTasks +_080762CC: .4byte 0x00000101 + thumb_func_end sub_8076288 + + thumb_func_start sub_80762D0 +sub_80762D0: @ 80762D0 + push {r4,lr} + adds r3, r0, 0 + adds r4, r1, 0 + lsls r4, 24 + lsrs r4, 24 + movs r1, 0 + strh r1, [r3, 0x16] + strh r1, [r3, 0x18] + strh r1, [r3, 0x1A] + strh r4, [r3, 0x26] + movs r0, 0x80 + lsls r0, 1 + strh r0, [r3, 0x1C] + strh r0, [r3, 0x1E] + strh r1, [r3, 0x20] + adds r0, r3, 0 + adds r0, 0x22 + adds r3, 0x24 + adds r1, r3, 0 + bl sub_80765C0 + adds r0, r4, 0 + movs r1, 0 + bl sub_80758E0 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80762D0 + + thumb_func_start sub_8076308 +sub_8076308: @ 8076308 + push {r4-r6,lr} + adds r4, r0, 0 + ldr r5, _080763A8 @ =gUnknown_2037F28 + movs r1, 0x22 + ldrsh r0, [r4, r1] + movs r2, 0x24 + ldrsh r1, [r4, r2] + bl sub_80765C8 + movs r3, 0x16 + ldrsh r1, [r4, r3] + lsls r1, 3 + adds r1, r0, r1 + str r1, [r5] + movs r6, 0 + ldrsh r2, [r1, r6] + ldr r0, _080763AC @ =0x00007ffe + cmp r2, r0 + beq _080763B0 + cmp r2, r0 + bgt _08076410 + subs r0, 0x1 + cmp r2, r0 + beq _080763B6 + ldrb r0, [r1, 0x5] + cmp r0, 0 + bne _08076356 + ldrh r0, [r1] + strh r0, [r4, 0x1C] + ldrh r0, [r1, 0x2] + strh r0, [r4, 0x1E] + ldrb r0, [r1, 0x4] + strh r0, [r4, 0x20] + ldrh r0, [r4, 0x16] + adds r0, 0x1 + strh r0, [r4, 0x16] + adds r0, r1, 0 + adds r0, 0x8 + str r0, [r5] +_08076356: + ldr r1, [r5] + ldrh r0, [r1] + ldrh r2, [r4, 0x1C] + adds r0, r2 + strh r0, [r4, 0x1C] + ldrh r0, [r1, 0x2] + ldrh r3, [r4, 0x1E] + adds r0, r3 + strh r0, [r4, 0x1E] + ldrh r0, [r4, 0x20] + ldrb r1, [r1, 0x4] + adds r0, r1 + strh r0, [r4, 0x20] + ldrh r0, [r4, 0x26] + lsls r0, 24 + lsrs r0, 24 + movs r6, 0x1C + ldrsh r1, [r4, r6] + movs r3, 0x1E + ldrsh r2, [r4, r3] + ldrh r3, [r4, 0x20] + bl obj_id_set_rotscale + ldrh r0, [r4, 0x26] + lsls r0, 24 + lsrs r0, 24 + bl sub_8076440 + ldrh r0, [r4, 0x18] + adds r0, 0x1 + strh r0, [r4, 0x18] + lsls r0, 16 + asrs r0, 16 + ldr r1, [r5] + ldrb r1, [r1, 0x5] + cmp r0, r1 + blt _08076436 + movs r0, 0 + strh r0, [r4, 0x18] + b _08076408 + .align 2, 0 +_080763A8: .4byte gUnknown_2037F28 +_080763AC: .4byte 0x00007ffe +_080763B0: + ldrh r0, [r1, 0x2] + strh r0, [r4, 0x16] + b _08076436 +_080763B6: + ldrh r2, [r1, 0x2] + movs r6, 0x2 + ldrsh r0, [r1, r6] + cmp r0, 0 + beq _08076408 + ldrh r1, [r4, 0x1A] + movs r3, 0x1A + ldrsh r0, [r4, r3] + cmp r0, 0 + beq _080763D6 + subs r0, r1, 0x1 + strh r0, [r4, 0x1A] + lsls r0, 16 + cmp r0, 0 + bne _080763D8 + b _08076408 +_080763D6: + strh r2, [r4, 0x1A] +_080763D8: + movs r6, 0x16 + ldrsh r0, [r4, r6] + cmp r0, 0 + beq _08076436 + ldr r3, _08076400 @ =gUnknown_2037F28 + ldr r5, _08076404 @ =0x00007ffd +_080763E4: + ldrh r2, [r4, 0x16] + subs r1, r2, 0x1 + strh r1, [r4, 0x16] + ldr r0, [r3] + subs r0, 0x8 + str r0, [r3] + movs r6, 0 + ldrsh r0, [r0, r6] + cmp r0, r5 + beq _08076434 + lsls r0, r1, 16 + cmp r0, 0 + bne _080763E4 + b _08076436 + .align 2, 0 +_08076400: .4byte gUnknown_2037F28 +_08076404: .4byte 0x00007ffd +_08076408: + ldrh r0, [r4, 0x16] + adds r0, 0x1 + strh r0, [r4, 0x16] + b _08076436 +_08076410: + ldr r2, _08076430 @ =gSprites + movs r0, 0x26 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + movs r1, 0 + strh r1, [r0, 0x26] + ldrh r0, [r4, 0x26] + lsls r0, 24 + lsrs r0, 24 + bl sub_8075980 + movs r0, 0 + b _08076438 + .align 2, 0 +_08076430: .4byte gSprites +_08076434: + strh r2, [r4, 0x16] +_08076436: + movs r0, 0x1 +_08076438: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_8076308 + + thumb_func_start sub_8076440 +sub_8076440: @ 8076440 + push {r4,r5,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + adds r0, r4, 0 + bl sub_80764EC + lsls r0, 16 + lsrs r0, 15 + movs r1, 0x40 + subs r5, r1, r0 + ldr r1, _0807648C @ =gSprites + lsls r0, r4, 4 + adds r0, r4 + lsls r0, 2 + adds r4, r0, r1 + ldrb r1, [r4, 0x3] + lsls r1, 26 + lsrs r1, 27 + lsls r0, r5, 8 + ldr r2, _08076490 @ =gOamMatrices + lsls r1, 3 + adds r1, r2 + movs r2, 0x6 + ldrsh r1, [r1, r2] + bl __divsi3 + cmp r0, 0x80 + ble _0807647C + movs r0, 0x80 +_0807647C: + subs r0, r5, r0 + lsrs r1, r0, 31 + adds r0, r1 + asrs r0, 1 + strh r0, [r4, 0x26] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0807648C: .4byte gSprites +_08076490: .4byte gOamMatrices + thumb_func_end sub_8076440 + + thumb_func_start sub_8076494 +sub_8076494: @ 8076494 + push {r4,r5,lr} + adds r4, r0, 0 + adds r0, r1, 0 + lsls r4, 24 + lsrs r4, 24 + lsls r0, 24 + lsrs r0, 24 + bl sub_80764EC + lsls r0, 16 + lsrs r0, 15 + movs r1, 0x40 + subs r5, r1, r0 + ldr r1, _080764E4 @ =gSprites + lsls r0, r4, 4 + adds r0, r4 + lsls r0, 2 + adds r4, r0, r1 + ldrb r1, [r4, 0x3] + lsls r1, 26 + lsrs r1, 27 + lsls r0, r5, 8 + ldr r2, _080764E8 @ =gOamMatrices + lsls r1, 3 + adds r1, r2 + movs r2, 0x6 + ldrsh r1, [r1, r2] + bl __divsi3 + cmp r0, 0x80 + ble _080764D4 + movs r0, 0x80 +_080764D4: + subs r0, r5, r0 + lsrs r1, r0, 31 + adds r0, r1 + asrs r0, 1 + strh r0, [r4, 0x26] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080764E4: .4byte gSprites +_080764E8: .4byte gOamMatrices + thumb_func_end sub_8076494 + + thumb_func_start sub_80764EC +sub_80764EC: @ 80764EC + push {r4-r6,lr} + lsls r0, 24 + lsrs r2, r0, 24 + ldr r1, _08076548 @ =gSprites + lsls r0, r2, 4 + adds r0, r2 + lsls r0, 2 + adds r0, r1 + ldrh r0, [r0, 0x2E] + lsls r0, 24 + lsrs r5, r0, 24 + movs r4, 0 + ldr r1, _0807654C @ =gBattlerSpriteIds + ldr r6, _08076550 @ =gBattlerPartyIndexes +_08076508: + adds r0, r4, r1 + ldrb r0, [r0] + cmp r0, r2 + bne _080765AC + lsls r0, r4, 24 + lsrs r0, 24 + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _08076568 + ldr r0, _08076554 @ =gUnknown_2024018 + ldr r0, [r0] + ldr r1, [r0] + lsls r0, r5, 2 + adds r1, r0, r1 + ldrh r0, [r1, 0x2] + cmp r0, 0 + bne _0807655C + lsls r0, r4, 1 + adds r0, r6 + ldrh r1, [r0] + movs r0, 0x64 + muls r0, r1 + ldr r1, _08076558 @ =gPlayerParty + adds r0, r1 + movs r1, 0xB + bl GetMonData + lsls r0, 16 + lsrs r1, r0, 16 + b _0807655E + .align 2, 0 +_08076548: .4byte gSprites +_0807654C: .4byte gBattlerSpriteIds +_08076550: .4byte gBattlerPartyIndexes +_08076554: .4byte gUnknown_2024018 +_08076558: .4byte gPlayerParty +_0807655C: + ldrh r1, [r1, 0x2] +_0807655E: + ldr r0, _08076564 @ =gUnknown_8235E6C + b _080765A0 + .align 2, 0 +_08076564: .4byte gUnknown_8235E6C +_08076568: + ldr r0, _08076594 @ =gUnknown_2024018 + ldr r0, [r0] + ldr r1, [r0] + lsls r0, r5, 2 + adds r1, r0, r1 + ldrh r0, [r1, 0x2] + cmp r0, 0 + bne _0807659C + lsls r0, r4, 1 + adds r0, r6 + ldrh r1, [r0] + movs r0, 0x64 + muls r0, r1 + ldr r1, _08076598 @ =gEnemyParty + adds r0, r1 + movs r1, 0xB + bl GetMonData + lsls r0, 16 + lsrs r1, r0, 16 + b _0807659E + .align 2, 0 +_08076594: .4byte gUnknown_2024018 +_08076598: .4byte gEnemyParty +_0807659C: + ldrh r1, [r1, 0x2] +_0807659E: + ldr r0, _080765A8 @ =gUnknown_82349CC +_080765A0: + lsls r1, 2 + adds r1, r0 + ldrb r0, [r1, 0x1] + b _080765B8 + .align 2, 0 +_080765A8: .4byte gUnknown_82349CC +_080765AC: + adds r0, r4, 0x1 + lsls r0, 16 + lsrs r4, r0, 16 + cmp r4, 0x3 + bls _08076508 + movs r0, 0x40 +_080765B8: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_80764EC + + thumb_func_start sub_80765C0 +sub_80765C0: @ 80765C0 + strh r2, [r0] + asrs r2, 16 + strh r2, [r1] + bx lr + thumb_func_end sub_80765C0 + + thumb_func_start sub_80765C8 +sub_80765C8: @ 80765C8 + lsls r0, 16 + lsrs r0, 16 + lsls r1, 16 + orrs r0, r1 + bx lr + thumb_func_end sub_80765C8 + + thumb_func_start sub_80765D4 +sub_80765D4: @ 80765D4 + push {r4-r6,lr} + mov r6, r8 + push {r6} + mov r8, r0 + adds r5, r3, 0 + ldr r0, [sp, 0x14] + ldr r4, [sp, 0x18] + ldr r6, [sp, 0x1C] + lsls r1, 24 + lsrs r1, 24 + lsls r2, 16 + lsrs r2, 16 + lsls r5, 16 + lsrs r5, 16 + lsls r0, 16 + lsrs r0, 16 + lsls r4, 16 + lsrs r4, 16 + lsls r6, 16 + lsrs r6, 16 + mov r3, r8 + strh r6, [r3, 0x18] + strh r1, [r3, 0x26] + strh r2, [r3, 0x1A] + strh r5, [r3, 0x1C] + strh r0, [r3, 0x22] + strh r4, [r3, 0x24] + lsls r0, 16 + asrs r0, 16 + lsls r2, 16 + asrs r2, 16 + subs r0, r2 + adds r1, r6, 0 + bl __divsi3 + mov r1, r8 + strh r0, [r1, 0x1E] + lsls r4, 16 + asrs r4, 16 + lsls r5, 16 + asrs r5, 16 + subs r4, r5 + adds r0, r4, 0 + adds r1, r6, 0 + bl __divsi3 + mov r3, r8 + strh r0, [r3, 0x20] + pop {r3} + mov r8, r3 + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_80765D4 + + thumb_func_start sub_8076640 +sub_8076640: @ 8076640 + push {r4,lr} + adds r4, r0, 0 + ldrh r1, [r4, 0x18] + movs r2, 0x18 + ldrsh r0, [r4, r2] + cmp r0, 0 + bne _08076652 + movs r0, 0 + b _080766AE +_08076652: + subs r0, r1, 0x1 + strh r0, [r4, 0x18] + lsls r0, 16 + cmp r0, 0 + beq _0807666C + ldrh r0, [r4, 0x1E] + ldrh r3, [r4, 0x1A] + adds r0, r3 + strh r0, [r4, 0x1A] + ldrh r0, [r4, 0x20] + ldrh r1, [r4, 0x1C] + adds r0, r1 + b _08076672 +_0807666C: + ldrh r0, [r4, 0x22] + strh r0, [r4, 0x1A] + ldrh r0, [r4, 0x24] +_08076672: + strh r0, [r4, 0x1C] + ldrh r0, [r4, 0x26] + lsls r0, 24 + lsrs r0, 24 + movs r2, 0x1A + ldrsh r1, [r4, r2] + movs r3, 0x1C + ldrsh r2, [r4, r3] + movs r3, 0 + bl obj_id_set_rotscale + movs r0, 0x18 + ldrsh r3, [r4, r0] + cmp r3, 0 + beq _0807669C + ldrh r0, [r4, 0x26] + lsls r0, 24 + lsrs r0, 24 + bl sub_8076440 + b _080766AC +_0807669C: + ldr r2, _080766B4 @ =gSprites + movs r0, 0x26 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + strh r3, [r0, 0x26] +_080766AC: + ldrb r0, [r4, 0x18] +_080766AE: + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_080766B4: .4byte gSprites + thumb_func_end sub_8076640 + + thumb_func_start sub_80766B8 +sub_80766B8: @ 80766B8 + push {lr} + lsls r0, 24 + lsrs r2, r0, 24 + ldr r0, _080766E4 @ =gUnknown_2037EFE + ldrb r0, [r0] + movs r1, 0 + cmp r0, 0x1E + bls _080766D6 + movs r1, 0x1 + cmp r0, 0x64 + bls _080766D6 + movs r1, 0x3 + cmp r0, 0xC8 + bhi _080766D6 + movs r1, 0x2 +_080766D6: + ldr r0, _080766E8 @ =gBattleAnimArgs + strh r1, [r0, 0xE] + adds r0, r2, 0 + bl DestroyAnimVisualTask + pop {r0} + bx r0 + .align 2, 0 +_080766E4: .4byte gUnknown_2037EFE +_080766E8: .4byte gBattleAnimArgs + thumb_func_end sub_80766B8 + + thumb_func_start sub_80766EC +sub_80766EC: @ 80766EC + push {r4-r7,lr} + mov r7, r8 + push {r7} + lsls r0, 24 + lsrs r4, r0, 24 + adds r7, r4, 0 + ldr r6, _080767E0 @ =gBattleAnimTarget + ldrb r0, [r6] + bl sub_8072DF0 + lsls r0, 24 + cmp r0, 0 + beq _0807672C + ldr r2, _080767E4 @ =gSprites + ldr r1, _080767E8 @ =gBattlerSpriteIds + ldrb r0, [r6] + adds r0, r1 + ldrb r0, [r0] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r2 + movs r0, 0x3 + adds r2, r4, 0 + ands r2, r0 + lsls r2, 2 + ldrb r3, [r1, 0x5] + movs r0, 0xD + negs r0, r0 + ands r0, r3 + orrs r0, r2 + strb r0, [r1, 0x5] +_0807672C: + ldr r0, _080767EC @ =gBattleAnimAttacker + mov r8, r0 + ldrb r0, [r0] + bl sub_8072DF0 + lsls r0, 24 + cmp r0, 0 + beq _08076764 + ldr r2, _080767E4 @ =gSprites + ldr r1, _080767E8 @ =gBattlerSpriteIds + mov r3, r8 + ldrb r0, [r3] + adds r0, r1 + ldrb r0, [r0] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r2 + movs r0, 0x3 + adds r2, r4, 0 + ands r2, r0 + lsls r2, 2 + ldrb r3, [r1, 0x5] + movs r0, 0xD + negs r0, r0 + ands r0, r3 + orrs r0, r2 + strb r0, [r1, 0x5] +_08076764: + ldrb r0, [r6] + movs r5, 0x2 + eors r0, r5 + bl sub_8072DF0 + lsls r0, 24 + cmp r0, 0 + beq _0807679C + ldr r2, _080767E4 @ =gSprites + ldr r1, _080767E8 @ =gBattlerSpriteIds + ldrb r0, [r6] + eors r0, r5 + adds r0, r1 + ldrb r0, [r0] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r2 + movs r0, 0x3 + adds r2, r4, 0 + ands r2, r0 + lsls r2, 2 + ldrb r3, [r1, 0x5] + movs r0, 0xD + negs r0, r0 + ands r0, r3 + orrs r0, r2 + strb r0, [r1, 0x5] +_0807679C: + mov r1, r8 + ldrb r0, [r1] + eors r0, r5 + bl sub_8072DF0 + lsls r0, 24 + cmp r0, 0 + beq _080767D4 + ldr r2, _080767E4 @ =gSprites + ldr r1, _080767E8 @ =gBattlerSpriteIds + mov r3, r8 + ldrb r0, [r3] + eors r0, r5 + adds r0, r1 + ldrb r0, [r0] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r2 + movs r0, 0x3 + ands r7, r0 + lsls r3, r7, 2 + ldrb r2, [r1, 0x5] + movs r0, 0xD + negs r0, r0 + ands r0, r2 + orrs r0, r3 + strb r0, [r1, 0x5] +_080767D4: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080767E0: .4byte gBattleAnimTarget +_080767E4: .4byte gSprites +_080767E8: .4byte gBattlerSpriteIds +_080767EC: .4byte gBattleAnimAttacker + thumb_func_end sub_80766EC + + thumb_func_start sub_80767F0 +sub_80767F0: @ 80767F0 + push {r4-r6,lr} + movs r5, 0 + ldr r0, _08076850 @ =gBattlersCount + ldrb r0, [r0] + cmp r5, r0 + bge _0807684A + ldr r6, _08076854 @ =gSprites +_080767FE: + lsls r0, r5, 24 + lsrs r4, r0, 24 + adds r0, r4, 0 + bl sub_8072DF0 + lsls r0, 24 + cmp r0, 0 + beq _08076840 + adds r0, r4, 0 + bl sub_807685C + ldr r3, _08076858 @ =gBattlerSpriteIds + adds r3, r5, r3 + ldrb r2, [r3] + lsls r1, r2, 4 + adds r1, r2 + lsls r1, 2 + adds r1, r6 + adds r1, 0x43 + strb r0, [r1] + ldrb r1, [r3] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r6 + ldrb r2, [r0, 0x5] + movs r3, 0xD + negs r3, r3 + adds r1, r3, 0 + ands r2, r1 + movs r1, 0x8 + orrs r2, r1 + strb r2, [r0, 0x5] +_08076840: + adds r5, 0x1 + ldr r0, _08076850 @ =gBattlersCount + ldrb r0, [r0] + cmp r5, r0 + blt _080767FE +_0807684A: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_08076850: .4byte gBattlersCount +_08076854: .4byte gSprites +_08076858: .4byte gBattlerSpriteIds + thumb_func_end sub_80767F0 + + thumb_func_start sub_807685C +sub_807685C: @ 807685C + push {lr} + lsls r0, 24 + lsrs r0, 24 + bl GetBattlerPosition + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x1E + cmp r0, 0 + beq _0807687E + movs r1, 0x14 + cmp r0, 0x2 + beq _0807687E + movs r1, 0x32 + cmp r0, 0x1 + bne _0807687E + movs r1, 0x28 +_0807687E: + adds r0, r1, 0 + pop {r1} + bx r1 + thumb_func_end sub_807685C + + thumb_func_start sub_8076884 +sub_8076884: @ 8076884 + push {lr} + lsls r0, 24 + lsrs r0, 24 + bl GetBattlerPosition + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0 + beq _0807689A + cmp r0, 0x3 + bne _0807689E +_0807689A: + movs r0, 0x2 + b _080768A0 +_0807689E: + movs r0, 0x1 +_080768A0: + movs r1, 0x4 + bl sub_80BC30C + lsls r0, 24 + lsrs r0, 24 + pop {r1} + bx r1 + thumb_func_end sub_8076884 + + thumb_func_start sub_80768B0 +sub_80768B0: @ 80768B0 + push {lr} + lsls r0, 24 + lsrs r0, 24 + bl GetBattlerPosition + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0 + beq _080768C6 + cmp r0, 0x3 + bne _080768CA +_080768C6: + movs r0, 0x2 + b _080768CC +_080768CA: + movs r0, 0x1 +_080768CC: + pop {r1} + bx r1 + thumb_func_end sub_80768B0 + + thumb_func_start sub_80768D0 +sub_80768D0: @ 80768D0 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x10 + ldr r4, [sp, 0x30] + ldr r5, [sp, 0x34] + ldr r6, [sp, 0x38] + mov r8, r6 + lsls r0, 16 + lsrs r6, r0, 16 + lsls r1, 24 + lsrs r1, 24 + mov r9, r1 + lsls r2, 24 + lsrs r7, r2, 24 + lsls r3, 16 + lsrs r3, 16 + mov r10, r3 + lsls r4, 16 + lsrs r4, 16 + str r4, [sp, 0x4] + lsls r5, 24 + lsrs r5, 24 + str r5, [sp, 0x8] + lsls r0, r7, 3 + ldr r1, _080769B0 @ =gUnknown_83AE084 + adds r0, r1 + bl LoadSpriteSheet + lsls r0, 16 + lsrs r0, 16 + str r0, [sp, 0xC] + ldr r1, _080769B4 @ =gUnknown_83AE054 + lsls r0, r7, 1 + adds r0, r7 + lsls r0, 3 + adds r0, r1 + ldrh r0, [r0, 0x2] + bl AllocSpritePalette + lsls r0, 24 + lsrs r5, r0, 24 + ldr r4, _080769B8 @ =gMonSpritesGfxPtr + ldr r0, [r4] + cmp r0, 0 + beq _0807694E + movs r1, 0xBE + lsls r1, 1 + adds r0, r1 + ldr r0, [r0] + cmp r0, 0 + bne _0807694E + movs r0, 0x80 + lsls r0, 6 + bl AllocZeroed + ldr r1, [r4] + movs r2, 0xBE + lsls r2, 1 + adds r1, r2 + str r0, [r1] +_0807694E: + mov r3, r9 + cmp r3, 0 + bne _080769EC + adds r0, r6, 0 + ldr r1, [sp, 0x3C] + mov r2, r8 + bl GetFrontSpritePalFromSpeciesAndPersonality + lsls r1, r5, 20 + movs r2, 0x80 + lsls r2, 17 + adds r1, r2 + lsrs r1, 16 + movs r2, 0x20 + bl LoadCompressedPalette + ldr r3, [sp, 0x44] + cmp r3, 0x1 + beq _0807699A + ldr r0, [sp, 0x40] + lsls r1, r0, 24 + lsrs r1, 24 + movs r0, 0x5 + bl sub_804455C + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _0807699A + ldr r0, _080769BC @ =gUnknown_2024018 + ldr r0, [r0] + ldr r1, [r0] + ldr r2, [sp, 0x40] + lsls r0, r2, 2 + adds r0, r1 + ldrh r0, [r0, 0x2] + cmp r0, 0 + beq _080769C4 +_0807699A: + lsls r0, r6, 3 + ldr r1, _080769C0 @ =gMonFrontPicTable + adds r0, r1 + ldr r1, _080769B8 @ =gMonSpritesGfxPtr + ldr r1, [r1] + movs r3, 0xBE + lsls r3, 1 + adds r1, r3 + ldr r1, [r1] + movs r2, 0x1 + b _08076A46 + .align 2, 0 +_080769B0: .4byte gUnknown_83AE084 +_080769B4: .4byte gUnknown_83AE054 +_080769B8: .4byte gMonSpritesGfxPtr +_080769BC: .4byte gUnknown_2024018 +_080769C0: .4byte gMonFrontPicTable +_080769C4: + lsls r0, r6, 3 + ldr r1, _080769E4 @ =gMonFrontPicTable + adds r0, r1 + ldr r1, _080769E8 @ =gMonSpritesGfxPtr + ldr r1, [r1] + movs r2, 0xBE + lsls r2, 1 + adds r1, r2 + ldr r1, [r1] + movs r2, 0x1 + str r2, [sp] + adds r2, r6, 0 + mov r3, r8 + bl LoadSpecialPokePic + b _08076A7C + .align 2, 0 +_080769E4: .4byte gMonFrontPicTable +_080769E8: .4byte gMonSpritesGfxPtr +_080769EC: + adds r0, r6, 0 + ldr r1, [sp, 0x3C] + mov r2, r8 + bl GetFrontSpritePalFromSpeciesAndPersonality + lsls r1, r5, 20 + movs r3, 0x80 + lsls r3, 17 + adds r1, r3 + lsrs r1, 16 + movs r2, 0x20 + bl LoadCompressedPalette + ldr r0, [sp, 0x44] + cmp r0, 0x1 + beq _08076A32 + ldr r2, [sp, 0x40] + lsls r1, r2, 24 + lsrs r1, 24 + movs r0, 0x5 + bl sub_804455C + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _08076A32 + ldr r0, _08076A54 @ =gUnknown_2024018 + ldr r0, [r0] + ldr r1, [r0] + ldr r3, [sp, 0x40] + lsls r0, r3, 2 + adds r0, r1 + ldrh r2, [r0, 0x2] + cmp r2, 0 + beq _08076A60 +_08076A32: + lsls r0, r6, 3 + ldr r1, _08076A58 @ =gMonBackPicTable + adds r0, r1 + ldr r1, _08076A5C @ =gMonSpritesGfxPtr + ldr r1, [r1] + movs r2, 0xBE + lsls r2, 1 + adds r1, r2 + ldr r1, [r1] + movs r2, 0 +_08076A46: + str r2, [sp] + adds r2, r6, 0 + mov r3, r8 + bl LoadSpecialPokePic_DontHandleDeoxys + b _08076A7C + .align 2, 0 +_08076A54: .4byte gUnknown_2024018 +_08076A58: .4byte gMonBackPicTable +_08076A5C: .4byte gMonSpritesGfxPtr +_08076A60: + lsls r0, r6, 3 + ldr r1, _08076AC8 @ =gMonBackPicTable + adds r0, r1 + ldr r1, _08076ACC @ =gMonSpritesGfxPtr + ldr r1, [r1] + movs r3, 0xBE + lsls r3, 1 + adds r1, r3 + ldr r1, [r1] + str r2, [sp] + adds r2, r6, 0 + mov r3, r8 + bl LoadSpecialPokePic +_08076A7C: + ldr r5, _08076ACC @ =gMonSpritesGfxPtr + ldr r0, [r5] + movs r4, 0xBE + lsls r4, 1 + adds r0, r4 + ldr r0, [r0] + ldr r2, [sp, 0xC] + lsls r1, r2, 5 + ldr r3, _08076AD0 @ =0x06010000 + adds r1, r3 + movs r2, 0x80 + lsls r2, 4 + movs r3, 0x1 + bl RequestDma3Copy + ldr r0, [r5] + adds r0, r4 + ldr r0, [r0] + bl Free + ldr r0, [r5] + adds r0, r4 + movs r1, 0 + str r1, [r0] + mov r0, r9 + cmp r0, 0 + bne _08076ADC + lsls r0, r7, 1 + adds r0, r7 + lsls r0, 3 + ldr r1, _08076AD4 @ =gUnknown_83AE054 + adds r0, r1 + mov r2, r10 + lsls r1, r2, 16 + asrs r1, 16 + ldr r3, _08076AD8 @ =gUnknown_82349CC + b _08076AEE + .align 2, 0 +_08076AC8: .4byte gMonBackPicTable +_08076ACC: .4byte gMonSpritesGfxPtr +_08076AD0: .4byte 0x06010000 +_08076AD4: .4byte gUnknown_83AE054 +_08076AD8: .4byte gUnknown_82349CC +_08076ADC: + lsls r0, r7, 1 + adds r0, r7 + lsls r0, 3 + ldr r1, _08076B18 @ =gUnknown_83AE054 + adds r0, r1 + mov r2, r10 + lsls r1, r2, 16 + asrs r1, 16 + ldr r3, _08076B1C @ =gUnknown_8235E6C +_08076AEE: + lsls r2, r6, 2 + adds r2, r3 + ldrb r2, [r2, 0x1] + ldr r3, [sp, 0x4] + adds r2, r3 + lsls r2, 16 + asrs r2, 16 + ldr r3, [sp, 0x8] + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + add sp, 0x10 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_08076B18: .4byte gUnknown_83AE054 +_08076B1C: .4byte gUnknown_8235E6C + thumb_func_end sub_80768D0 + + thumb_func_start sub_8076B20 +sub_8076B20: @ 8076B20 + push {lr} + bl DestroySpriteAndFreeResources + pop {r0} + bx r0 + thumb_func_end sub_8076B20 + + thumb_func_start sub_8076B2C +sub_8076B2C: @ 8076B2C + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + lsls r1, 24 + lsrs r1, 24 + mov r9, r1 + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _08076C08 + ldr r0, _08076B88 @ =gUnknown_2024018 + ldr r0, [r0] + ldr r0, [r0] + mov r1, r8 + lsls r2, r1, 2 + adds r1, r2, r0 + ldrh r0, [r1, 0x2] + cmp r0, 0 + bne _08076B94 + ldr r0, _08076B8C @ =gBattlerPartyIndexes + mov r1, r8 + lsls r4, r1, 1 + adds r4, r0 + ldrh r0, [r4] + movs r6, 0x64 + muls r0, r6 + ldr r5, _08076B90 @ =gPlayerParty + adds r0, r5 + movs r1, 0xB + bl GetMonData + lsls r0, 16 + lsrs r7, r0, 16 + ldrh r0, [r4] + muls r0, r6 + adds r0, r5 + movs r1, 0 + bl GetMonData + adds r2, r0, 0 + b _08076B9C + .align 2, 0 +_08076B88: .4byte gUnknown_2024018 +_08076B8C: .4byte gBattlerPartyIndexes +_08076B90: .4byte gPlayerParty +_08076B94: + ldrh r7, [r1, 0x2] + ldr r0, _08076BD4 @ =gUnknown_2024008 + adds r0, r2, r0 + ldr r2, [r0] +_08076B9C: + cmp r7, 0xC9 + bne _08076BEC + movs r0, 0xC0 + lsls r0, 18 + ands r0, r2 + lsrs r0, 18 + movs r1, 0xC0 + lsls r1, 10 + ands r1, r2 + lsrs r1, 12 + orrs r0, r1 + movs r1, 0xC0 + lsls r1, 2 + ands r1, r2 + lsrs r1, 6 + orrs r0, r1 + movs r1, 0x3 + ands r1, r2 + orrs r0, r1 + movs r1, 0x1C + bl __umodsi3 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0 + bne _08076BD8 + movs r0, 0xC9 + b _08076BE2 + .align 2, 0 +_08076BD4: .4byte gUnknown_2024008 +_08076BD8: + movs r1, 0xCE + lsls r1, 1 + adds r0, r1 + lsls r0, 16 + lsrs r0, 16 +_08076BE2: + lsls r1, r0, 2 + ldr r0, _08076BE8 @ =gUnknown_8235E6C + b _08076CDC + .align 2, 0 +_08076BE8: .4byte gUnknown_8235E6C +_08076BEC: + movs r0, 0xCE + lsls r0, 1 + cmp r7, r0 + bls _08076BFC + ldr r4, _08076BF8 @ =gUnknown_8235E6C + b _08076CDE + .align 2, 0 +_08076BF8: .4byte gUnknown_8235E6C +_08076BFC: + lsls r1, r7, 2 + ldr r0, _08076C04 @ =gUnknown_8235E6C + b _08076CDC + .align 2, 0 +_08076C04: .4byte gUnknown_8235E6C +_08076C08: + ldr r0, _08076C48 @ =gUnknown_2024018 + ldr r0, [r0] + ldr r0, [r0] + mov r1, r8 + lsls r2, r1, 2 + adds r1, r2, r0 + ldrh r0, [r1, 0x2] + cmp r0, 0 + bne _08076C54 + ldr r0, _08076C4C @ =gBattlerPartyIndexes + mov r1, r8 + lsls r4, r1, 1 + adds r4, r0 + ldrh r0, [r4] + movs r6, 0x64 + muls r0, r6 + ldr r5, _08076C50 @ =gEnemyParty + adds r0, r5 + movs r1, 0xB + bl GetMonData + lsls r0, 16 + lsrs r7, r0, 16 + ldrh r0, [r4] + muls r0, r6 + adds r0, r5 + movs r1, 0 + bl GetMonData + adds r2, r0, 0 + b _08076C5C + .align 2, 0 +_08076C48: .4byte gUnknown_2024018 +_08076C4C: .4byte gBattlerPartyIndexes +_08076C50: .4byte gEnemyParty +_08076C54: + ldrh r7, [r1, 0x2] + ldr r0, _08076C94 @ =gUnknown_2024008 + adds r0, r2, r0 + ldr r2, [r0] +_08076C5C: + cmp r7, 0xC9 + bne _08076CA6 + movs r0, 0xC0 + lsls r0, 18 + ands r0, r2 + lsrs r0, 18 + movs r1, 0xC0 + lsls r1, 10 + ands r1, r2 + lsrs r1, 12 + orrs r0, r1 + movs r1, 0xC0 + lsls r1, 2 + ands r1, r2 + lsrs r1, 6 + orrs r0, r1 + movs r1, 0x3 + ands r1, r2 + orrs r0, r1 + movs r1, 0x1C + bl __umodsi3 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0 + bne _08076C98 + movs r0, 0xC9 + b _08076CA2 + .align 2, 0 +_08076C94: .4byte gUnknown_2024008 +_08076C98: + movs r1, 0xCE + lsls r1, 1 + adds r0, r1 + lsls r0, 16 + lsrs r0, 16 +_08076CA2: + lsls r1, r0, 2 + b _08076CDA +_08076CA6: + ldr r0, _08076CBC @ =0x00000181 + cmp r7, r0 + bne _08076CC8 + ldr r0, _08076CC0 @ =gBattleMonForms + add r0, r8 + ldrb r0, [r0] + lsls r0, 2 + ldr r1, _08076CC4 @ =gUnknown_83AE03C + adds r4, r0, r1 + b _08076CDE + .align 2, 0 +_08076CBC: .4byte 0x00000181 +_08076CC0: .4byte gBattleMonForms +_08076CC4: .4byte gUnknown_83AE03C +_08076CC8: + movs r0, 0xCE + lsls r0, 1 + cmp r7, r0 + bls _08076CD8 + ldr r4, _08076CD4 @ =gUnknown_82349CC + b _08076CDE + .align 2, 0 +_08076CD4: .4byte gUnknown_82349CC +_08076CD8: + lsls r1, r7, 2 +_08076CDA: + ldr r0, _08076CF0 @ =gUnknown_82349CC +_08076CDC: + adds r4, r1, r0 +_08076CDE: + mov r0, r9 + cmp r0, 0x6 + bhi _08076D8E + lsls r0, 2 + ldr r1, _08076CF4 @ =_08076CF8 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08076CF0: .4byte gUnknown_82349CC +_08076CF4: .4byte _08076CF8 + .align 2, 0 +_08076CF8: + .4byte _08076D14 + .4byte _08076D1E + .4byte _08076D4A + .4byte _08076D62 + .4byte _08076D26 + .4byte _08076D38 + .4byte _08076D7A +_08076D14: + ldrb r1, [r4] + movs r0, 0xF + ands r0, r1 + lsls r0, 3 + b _08076D90 +_08076D1E: + ldrb r0, [r4] + lsrs r0, 4 + lsls r0, 3 + b _08076D90 +_08076D26: + mov r0, r8 + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrb r1, [r4] + lsrs r1, 4 + b _08076D5C +_08076D38: + mov r0, r8 + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrb r1, [r4] + lsrs r1, 4 + b _08076D74 +_08076D4A: + mov r0, r8 + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrb r2, [r4] + movs r1, 0xF + ands r1, r2 +_08076D5C: + lsls r1, 2 + subs r0, r1 + b _08076D90 +_08076D62: + mov r0, r8 + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrb r2, [r4] + movs r1, 0xF + ands r1, r2 +_08076D74: + lsls r1, 2 + adds r0, r1 + b _08076D90 +_08076D7A: + mov r0, r8 + movs r1, 0x1 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + adds r0, 0x1F + ldrb r1, [r4, 0x1] + subs r0, r1 + b _08076D90 +_08076D8E: + movs r0, 0 +_08076D90: + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_8076B2C + + thumb_func_start sub_8076D9C +sub_8076D9C: @ 8076D9C + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + mov r9, r2 + mov r10, r3 + lsls r0, 24 + lsrs r4, r0, 24 + lsls r1, 24 + cmp r1, 0 + bne _08076DBA + movs r5, 0 + movs r6, 0x1 + b _08076DBE +_08076DBA: + movs r5, 0x2 + movs r6, 0x3 +_08076DBE: + adds r0, r4, 0 + adds r1, r5, 0 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + adds r0, r4, 0 + adds r1, r6, 0 + bl sub_8074480 + lsls r0, 24 + lsrs r7, r0, 24 + bl sub_8075290 + lsls r0, 24 + cmp r0, 0 + beq _08076E06 + movs r0, 0x2 + eors r4, r0 + adds r0, r4, 0 + adds r1, r5, 0 + bl sub_8074480 + lsls r0, 24 + lsrs r5, r0, 24 + adds r0, r4, 0 + adds r1, r6, 0 + bl sub_8074480 + lsls r0, 24 + lsrs r3, r0, 24 + mov r0, r8 + lsls r1, r0, 16 + lsls r2, r7, 16 + b _08076E12 +_08076E06: + mov r0, r8 + lsls r1, r0, 16 + lsrs r5, r1, 16 + lsls r0, r7, 16 + lsrs r3, r0, 16 + adds r2, r0, 0 +_08076E12: + asrs r0, r1, 16 + adds r0, r5 + asrs r0, 1 + mov r1, r9 + strh r0, [r1] + asrs r0, r2, 16 + adds r0, r3 + asrs r0, 1 + mov r1, r10 + strh r0, [r1] + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_8076D9C + + thumb_func_start sub_8076E34 +sub_8076E34: @ 8076E34 + push {r4-r6,lr} + mov r6, r10 + mov r5, r9 + mov r4, r8 + push {r4-r6} + sub sp, 0x4 + lsls r6, r1, 24 + lsrs r6, 24 + ldr r0, _08076ECC @ =SpriteCallbackDummy + mov r10, r0 + bl CreateInvisibleSpriteWithCallback + mov r8, r0 + mov r0, r8 + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + ldr r0, _08076ED0 @ =gSprites + mov r9, r0 + mov r0, r8 + lsls r3, r0, 4 + add r3, r8 + lsls r3, 2 + mov r0, r9 + adds r5, r3, r0 + lsls r4, r6, 4 + adds r4, r6 + lsls r4, 2 + add r4, r9 + adds r0, r5, 0 + adds r1, r4, 0 + movs r2, 0x44 + str r3, [sp] + bl memcpy + adds r2, r5, 0 + adds r2, 0x3F + ldrb r0, [r2] + movs r1, 0x40 + orrs r0, r1 + strb r0, [r2] + ldrb r2, [r5, 0x5] + movs r1, 0xD + negs r1, r1 + adds r0, r1, 0 + ands r0, r2 + strb r0, [r5, 0x5] + ldrb r0, [r5, 0x1] + ands r1, r0 + movs r0, 0x8 + orrs r1, r0 + strb r1, [r5, 0x1] + ldrh r1, [r4, 0x4] + lsls r1, 22 + lsrs r1, 22 + ldrh r2, [r5, 0x4] + ldr r0, _08076ED4 @ =0xfffffc00 + ands r0, r2 + orrs r0, r1 + strh r0, [r5, 0x4] + movs r0, 0x1C + add r9, r0 + ldr r3, [sp] + add r3, r9 + mov r0, r10 + str r0, [r3] + mov r0, r8 + add sp, 0x4 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r6} + pop {r1} + bx r1 + .align 2, 0 +_08076ECC: .4byte SpriteCallbackDummy +_08076ED0: .4byte gSprites +_08076ED4: .4byte 0xfffffc00 + thumb_func_end sub_8076E34 + + thumb_func_start sub_8076ED8 +sub_8076ED8: @ 8076ED8 + push {r4,lr} + adds r4, r0, 0 + bl sub_8074FCC + ldr r0, _08076F10 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _08076F18 + ldr r2, _08076F14 @ =gBattleAnimArgs + ldrh r0, [r4, 0x20] + ldrh r1, [r2] + subs r0, r1 + strh r0, [r4, 0x20] + ldrh r0, [r2, 0x6] + negs r0, r0 + strh r0, [r2, 0x6] + adds r3, r4, 0 + adds r3, 0x3F + ldrb r0, [r3] + movs r1, 0x1 + orrs r0, r1 + strb r0, [r3] + adds r1, r2, 0 + b _08076F22 + .align 2, 0 +_08076F10: .4byte gBattleAnimAttacker +_08076F14: .4byte gBattleAnimArgs +_08076F18: + ldr r1, _08076F4C @ =gBattleAnimArgs + ldrh r0, [r1] + ldrh r2, [r4, 0x20] + adds r0, r2 + strh r0, [r4, 0x20] +_08076F22: + ldrh r0, [r1, 0x2] + ldrh r2, [r4, 0x22] + adds r0, r2 + strh r0, [r4, 0x22] + ldrh r0, [r1, 0x4] + strh r0, [r4, 0x2E] + ldrh r0, [r1, 0x6] + strh r0, [r4, 0x30] + ldrh r0, [r1, 0x8] + strh r0, [r4, 0x34] + ldrh r0, [r1, 0xA] + strh r0, [r4, 0x38] + ldr r1, _08076F50 @ =move_anim_8074EE0 + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 + ldr r0, _08076F54 @ =sub_8074E70 + str r0, [r4, 0x1C] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08076F4C: .4byte gBattleAnimArgs +_08076F50: .4byte move_anim_8074EE0 +_08076F54: .4byte sub_8074E70 + thumb_func_end sub_8076ED8 + + thumb_func_start sub_8076F58 +sub_8076F58: @ 8076F58 + push {r4,lr} + adds r4, r0, 0 + ldr r0, _08076F80 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _08076F88 + ldr r2, _08076F84 @ =gBattleAnimArgs + ldrh r0, [r4, 0x20] + ldrh r1, [r2] + subs r0, r1 + strh r0, [r4, 0x20] + movs r1, 0x6 + ldrsh r0, [r2, r1] + negs r0, r0 + strh r0, [r2, 0x6] + adds r1, r2, 0 + b _08076F92 + .align 2, 0 +_08076F80: .4byte gBattleAnimAttacker +_08076F84: .4byte gBattleAnimArgs +_08076F88: + ldr r1, _08076FC4 @ =gBattleAnimArgs + ldrh r0, [r1] + ldrh r2, [r4, 0x20] + adds r0, r2 + strh r0, [r4, 0x20] +_08076F92: + ldrh r0, [r1, 0x2] + ldrh r2, [r4, 0x22] + adds r0, r2 + strh r0, [r4, 0x22] + ldrh r0, [r1, 0x4] + strh r0, [r4, 0x2E] + ldrh r0, [r1, 0x6] + strh r0, [r4, 0x30] + ldrh r0, [r1, 0x8] + strh r0, [r4, 0x34] + ldrh r0, [r1, 0xA] + strh r0, [r4, 0x38] + ldrb r1, [r1, 0xC] + adds r0, r4, 0 + bl StartSpriteAnim + ldr r1, _08076FC8 @ =move_anim_8074EE0 + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 + ldr r0, _08076FCC @ =sub_8074E70 + str r0, [r4, 0x1C] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08076FC4: .4byte gBattleAnimArgs +_08076FC8: .4byte move_anim_8074EE0 +_08076FCC: .4byte sub_8074E70 + thumb_func_end sub_8076F58 + + thumb_func_start sub_8076FD0 +sub_8076FD0: @ 8076FD0 + push {r4,lr} + adds r4, r0, 0 + bl sub_8074FCC + ldr r0, _08076FF4 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _08076FFC + ldr r0, _08076FF8 @ =gBattleAnimArgs + ldrh r1, [r4, 0x20] + ldrh r2, [r0] + subs r1, r2 + strh r1, [r4, 0x20] + b _08077008 + .align 2, 0 +_08076FF4: .4byte gBattleAnimAttacker +_08076FF8: .4byte gBattleAnimArgs +_08076FFC: + ldr r1, _08077024 @ =gBattleAnimArgs + ldrh r0, [r1] + ldrh r2, [r4, 0x20] + adds r0, r2 + strh r0, [r4, 0x20] + adds r0, r1, 0 +_08077008: + ldrh r0, [r0, 0x2] + ldrh r1, [r4, 0x22] + adds r0, r1 + strh r0, [r4, 0x22] + ldr r0, _08077028 @ =sub_8074F6C + str r0, [r4, 0x1C] + ldr r1, _0807702C @ =DestroyAnimSprite + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08077024: .4byte gBattleAnimArgs +_08077028: .4byte sub_8074F6C +_0807702C: .4byte DestroyAnimSprite + thumb_func_end sub_8076FD0 + + thumb_func_start sub_8077030 +sub_8077030: @ 8077030 + push {r4-r7,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, _080770C4 @ =gTasks + adds r5, r1, r0 + movs r0, 0 + bl GetAnimBankSpriteId + lsls r0, 24 + lsrs r0, 24 + movs r6, 0 + strh r0, [r5, 0x8] + ldr r7, _080770C8 @ =gBattleAnimAttacker + ldrb r0, [r7] + bl GetBattlerSide + lsls r0, 24 + movs r1, 0x8 + cmp r0, 0 + beq _08077064 + movs r0, 0x8 + negs r0, r0 + adds r1, r0, 0 +_08077064: + strh r1, [r5, 0xA] + strh r6, [r5, 0xC] + strh r6, [r5, 0xE] + ldr r4, _080770CC @ =gSprites + movs r0, 0x8 + ldrsh r1, [r5, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r4 + ldrh r1, [r0, 0x24] + ldrh r2, [r5, 0x8] + subs r1, r2 + strh r1, [r0, 0x24] + ldr r0, _080770D0 @ =0x00002771 + bl AllocSpritePalette + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x10] + strh r6, [r5, 0x12] + movs r1, 0x10 + ldrsh r0, [r5, r1] + adds r0, 0x10 + lsls r0, 20 + lsrs r6, r0, 16 + movs r0, 0x8 + ldrsh r1, [r5, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r4 + ldrb r0, [r0, 0x5] + lsrs r0, 4 + adds r0, 0x10 + lsls r4, r0, 4 + ldrb r0, [r7] + bl sub_807685C + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x14] + cmp r0, 0x14 + beq _080770C0 + cmp r0, 0x28 + bne _080770D4 +_080770C0: + movs r0, 0x2 + b _080770D6 + .align 2, 0 +_080770C4: .4byte gTasks +_080770C8: .4byte gBattleAnimAttacker +_080770CC: .4byte gSprites +_080770D0: .4byte 0x00002771 +_080770D4: + movs r0, 0x3 +_080770D6: + strh r0, [r5, 0x14] + lsls r0, r4, 1 + ldr r1, _08077104 @ =gPlttBufferUnfaded + adds r0, r1 + lsls r1, r6, 1 + ldr r2, _08077108 @ =gPlttBufferFaded + adds r1, r2 + ldr r2, _0807710C @ =0x04000008 + bl CpuSet + ldr r0, _08077110 @ =gBattleAnimArgs + ldrb r2, [r0, 0x2] + ldrh r3, [r0] + adds r0, r6, 0 + movs r1, 0x10 + bl BlendPalette + ldr r0, _08077114 @ =sub_8077118 + str r0, [r5] + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08077104: .4byte gPlttBufferUnfaded +_08077108: .4byte gPlttBufferFaded +_0807710C: .4byte 0x04000008 +_08077110: .4byte gBattleAnimArgs +_08077114: .4byte sub_8077118 + thumb_func_end sub_8077030 + + thumb_func_start sub_8077118 +sub_8077118: @ 8077118 + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + ldr r1, _0807713C @ =gTasks + adds r4, r0, r1 + movs r1, 0xC + ldrsh r0, [r4, r1] + cmp r0, 0x1 + beq _0807717C + cmp r0, 0x1 + bgt _08077140 + cmp r0, 0 + beq _08077146 + b _080771D8 + .align 2, 0 +_0807713C: .4byte gTasks +_08077140: + cmp r0, 0x2 + beq _080771C4 + b _080771D8 +_08077146: + adds r0, r4, 0 + adds r1, r5, 0 + bl sub_80771E4 + ldr r2, _08077178 @ =gSprites + movs r0, 0x8 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r1, [r4, 0xA] + ldrh r2, [r0, 0x24] + adds r1, r2 + strh r1, [r0, 0x24] + ldrh r1, [r4, 0xE] + adds r0, r1, 0x1 + strh r0, [r4, 0xE] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x5 + bne _080771D8 + strh r1, [r4, 0xE] + b _080771B6 + .align 2, 0 +_08077178: .4byte gSprites +_0807717C: + adds r0, r4, 0 + adds r1, r5, 0 + bl sub_80771E4 + ldr r3, _080771C0 @ =gSprites + movs r0, 0x8 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r3 + ldrh r1, [r0, 0x24] + ldrh r2, [r4, 0xA] + subs r1, r2 + strh r1, [r0, 0x24] + ldrh r0, [r4, 0xE] + subs r0, 0x1 + strh r0, [r4, 0xE] + lsls r0, 16 + asrs r2, r0, 16 + cmp r2, 0 + bne _080771D8 + movs r1, 0x8 + ldrsh r0, [r4, r1] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r3 + strh r2, [r1, 0x24] +_080771B6: + ldrh r0, [r4, 0xC] + adds r0, 0x1 + strh r0, [r4, 0xC] + b _080771D8 + .align 2, 0 +_080771C0: .4byte gSprites +_080771C4: + movs r2, 0x12 + ldrsh r0, [r4, r2] + cmp r0, 0 + bne _080771D8 + ldr r0, _080771E0 @ =0x00002771 + bl FreeSpritePaletteByTag + adds r0, r5, 0 + bl DestroyAnimVisualTask +_080771D8: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080771E0: .4byte 0x00002771 + thumb_func_end sub_8077118 + + thumb_func_start sub_80771E4 +sub_80771E4: @ 80771E4 + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r6, r0, 0 + lsls r1, 24 + lsrs r1, 24 + mov r8, r1 + movs r0, 0 + bl duplicate_obj_of_side_rel2move_in_transparent_mode + lsls r0, 16 + lsrs r7, r0, 16 + asrs r0, 16 + cmp r0, 0 + blt _08077254 + ldr r5, _08077260 @ =gSprites + lsls r4, r0, 4 + adds r4, r0 + lsls r4, 2 + adds r3, r4, r5 + movs r0, 0x3 + ldrb r1, [r6, 0x14] + ands r1, r0 + lsls r1, 2 + ldrb r2, [r3, 0x5] + movs r0, 0xD + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r3, 0x5] + ldrb r1, [r6, 0x10] + lsls r1, 4 + movs r2, 0xF + ands r0, r2 + orrs r0, r1 + strb r0, [r3, 0x5] + movs r0, 0x8 + strh r0, [r3, 0x2E] + mov r0, r8 + strh r0, [r3, 0x30] + strh r7, [r3, 0x32] + movs r0, 0x8 + ldrsh r1, [r6, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + ldrh r0, [r0, 0x24] + strh r0, [r3, 0x24] + adds r5, 0x1C + adds r4, r5 + ldr r0, _08077264 @ =sub_8077268 + str r0, [r4] + ldrh r0, [r6, 0x12] + adds r0, 0x1 + strh r0, [r6, 0x12] +_08077254: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08077260: .4byte gSprites +_08077264: .4byte sub_8077268 + thumb_func_end sub_80771E4 + + thumb_func_start sub_8077268 +sub_8077268: @ 8077268 + push {lr} + adds r3, r0, 0 + ldrh r0, [r3, 0x2E] + subs r0, 0x1 + strh r0, [r3, 0x2E] + lsls r0, 16 + cmp r0, 0 + bne _08077292 + ldr r2, _08077298 @ =gTasks + movs r0, 0x30 + ldrsh r1, [r3, r0] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r2 + ldrh r1, [r0, 0x12] + subs r1, 0x1 + strh r1, [r0, 0x12] + adds r0, r3, 0 + bl obj_delete_but_dont_free_vram +_08077292: + pop {r0} + bx r0 + .align 2, 0 +_08077298: .4byte gTasks + thumb_func_end sub_8077268 + + thumb_func_start sub_807729C +sub_807729C: @ 807729C + push {r4,r5,lr} + adds r5, r0, 0 + ldr r4, _080772D0 @ =gBattleAnimAttacker + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x20] + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x22] + ldrb r0, [r4] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _080772D4 + movs r0, 0x5 + b _080772D6 + .align 2, 0 +_080772D0: .4byte gBattleAnimAttacker +_080772D4: + ldr r0, _080772E8 @ =0x0000fff6 +_080772D6: + strh r0, [r5, 0x2E] + ldr r0, _080772EC @ =0x0000ffd8 + strh r0, [r5, 0x30] + ldr r0, _080772F0 @ =sub_80772F4 + str r0, [r5, 0x1C] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080772E8: .4byte 0x0000fff6 +_080772EC: .4byte 0x0000ffd8 +_080772F0: .4byte sub_80772F4 + thumb_func_end sub_807729C + + thumb_func_start sub_80772F4 +sub_80772F4: @ 80772F4 + push {r4,r5,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x2E] + ldrh r1, [r4, 0x32] + adds r0, r1 + strh r0, [r4, 0x32] + ldrh r5, [r4, 0x30] + ldrh r2, [r4, 0x34] + adds r0, r5, r2 + strh r0, [r4, 0x34] + movs r1, 0x32 + ldrsh r0, [r4, r1] + movs r1, 0xA + bl __divsi3 + strh r0, [r4, 0x24] + movs r2, 0x34 + ldrsh r0, [r4, r2] + movs r1, 0xA + bl __divsi3 + strh r0, [r4, 0x26] + lsls r0, r5, 16 + asrs r0, 16 + movs r1, 0x14 + negs r1, r1 + cmp r0, r1 + bge _08077330 + adds r0, r5, 0x1 + strh r0, [r4, 0x30] +_08077330: + movs r1, 0x22 + ldrsh r0, [r4, r1] + movs r2, 0x26 + ldrsh r1, [r4, r2] + adds r0, r1 + movs r1, 0x20 + negs r1, r1 + cmp r0, r1 + bge _08077348 + adds r0, r4, 0 + bl DestroyAnimSprite +_08077348: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80772F4 + + thumb_func_start sub_8077350 +sub_8077350: @ 8077350 + push {r4,r5,lr} + adds r4, r0, 0 + ldr r5, _08077388 @ =gBattleAnimArgs + ldrh r0, [r5, 0x4] + strh r0, [r4, 0x2E] + ldrh r0, [r5, 0x8] + ldrh r1, [r4, 0x20] + adds r0, r1 + strh r0, [r4, 0x32] + ldrh r0, [r5, 0xA] + ldrh r1, [r4, 0x22] + adds r0, r1 + strh r0, [r4, 0x36] + ldr r0, _0807738C @ =gBattleAnimTarget + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _08077390 + ldrh r0, [r5, 0x8] + adds r0, 0x1E + ldrh r1, [r4, 0x20] + adds r0, r1 + strh r0, [r4, 0x20] + ldrh r0, [r5, 0xA] + subs r0, 0x14 + b _0807739E + .align 2, 0 +_08077388: .4byte gBattleAnimArgs +_0807738C: .4byte gBattleAnimTarget +_08077390: + ldrh r0, [r5, 0x8] + subs r0, 0x1E + ldrh r1, [r4, 0x20] + adds r0, r1 + strh r0, [r4, 0x20] + ldrh r0, [r5, 0xA] + subs r0, 0x50 +_0807739E: + strh r0, [r4, 0x22] + ldr r0, _080773B4 @ =sub_8075590 + str r0, [r4, 0x1C] + ldr r1, _080773B8 @ =DestroyAnimSprite + adds r0, r4, 0 + bl StoreSpriteCallbackInData6 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080773B4: .4byte sub_8075590 +_080773B8: .4byte DestroyAnimSprite + thumb_func_end sub_8077350 + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/battle_anim_special.s b/asm/battle_anim_special.s new file mode 100644 index 000000000..704a1e9a7 --- /dev/null +++ b/asm/battle_anim_special.s @@ -0,0 +1,6299 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start sub_80EEC0C +sub_80EEC0C: @ 80EEC0C + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x1C + lsls r0, 24 + lsrs r0, 24 + str r0, [sp, 0x10] + ldr r0, _080EEDB4 @ =gBattleAnimAttacker + ldrb r4, [r0] + ldr r0, _080EEDB8 @ =gUnknown_2022984 + movs r1, 0 + strh r1, [r0] + ldr r0, _080EEDBC @ =gUnknown_2022986 + strh r1, [r0] + ldr r1, _080EEDC0 @ =0x00003f3f + movs r0, 0x48 + bl SetGpuReg + ldr r1, _080EEDC4 @ =0x00003f3d + movs r0, 0x4A + bl SetGpuReg + movs r1, 0x80 + lsls r1, 8 + movs r0, 0 + bl SetGpuRegBits + ldr r1, _080EEDC8 @ =0x00003f42 + movs r0, 0x50 + bl SetGpuReg + movs r1, 0x80 + lsls r1, 5 + movs r0, 0x52 + bl SetGpuReg + movs r0, 0x1 + movs r1, 0x4 + movs r2, 0 + bl SetAnimBgAttribute + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + bl SetAnimBgAttribute + movs r0, 0x1 + movs r1, 0x1 + movs r2, 0x1 + bl SetAnimBgAttribute + movs r0, 0x1 + movs r1, 0x3 + movs r2, 0x1 + bl SetAnimBgAttribute + ldr r0, _080EEDCC @ =gUnknown_3004FF0 + adds r4, r0 + ldrb r0, [r4] + ldr r1, _080EEDD0 @ =gSprites + mov r9, r1 + lsls r4, r0, 4 + adds r4, r0 + lsls r4, 2 + add r4, r9 + ldrb r7, [r4, 0x6] + ldrh r6, [r4, 0x38] + lsls r6, 24 + lsrs r6, 24 + ldr r0, _080EEDD4 @ =SpriteCallbackDummy + bl CreateInvisibleSpriteWithCallback + lsls r0, 24 + lsrs r0, 24 + str r0, [sp, 0x14] + ldr r0, _080EEDD4 @ =SpriteCallbackDummy + bl CreateInvisibleSpriteWithCallback + mov r10, r0 + mov r2, r10 + lsls r2, 24 + lsrs r2, 24 + mov r10, r2 + ldrb r1, [r4, 0x5] + movs r3, 0xD + negs r3, r3 + adds r0, r3, 0 + ands r0, r1 + movs r1, 0x4 + mov r8, r1 + mov r2, r8 + orrs r0, r2 + strb r0, [r4, 0x5] + lsls r5, r7, 4 + adds r5, r7 + lsls r5, 2 + add r5, r9 + ldrb r1, [r5, 0x5] + adds r0, r3, 0 + ands r0, r1 + orrs r0, r2 + strb r0, [r5, 0x5] + lsls r1, r6, 4 + adds r1, r6 + lsls r1, 2 + add r1, r9 + ldrb r2, [r1, 0x5] + adds r0, r3, 0 + ands r0, r2 + mov r2, r8 + orrs r0, r2 + strb r0, [r1, 0x5] + ldr r0, [sp, 0x14] + lsls r6, r0, 4 + adds r6, r0 + lsls r6, 2 + mov r1, r9 + adds r7, r6, r1 + adds r0, r7, 0 + adds r1, r4, 0 + movs r2, 0x44 + str r3, [sp, 0x18] + bl memcpy + mov r2, r10 + lsls r4, r2, 4 + add r4, r10 + lsls r4, 2 + adds r0, r4, 0 + add r0, r9 + mov r8, r0 + adds r1, r5, 0 + movs r2, 0x44 + bl memcpy + ldrb r1, [r7, 0x1] + ldr r3, [sp, 0x18] + adds r0, r3, 0 + ands r0, r1 + movs r1, 0x8 + orrs r0, r1 + strb r0, [r7, 0x1] + mov r2, r8 + ldrb r0, [r2, 0x1] + ands r3, r0 + orrs r3, r1 + strb r3, [r2, 0x1] + movs r0, 0x1C + add r9, r0 + add r6, r9 + ldr r1, _080EEDD4 @ =SpriteCallbackDummy + str r1, [r6] + add r4, r9 + str r1, [r4] + mov r0, sp + bl sub_80752A0 + mov r0, sp + ldrb r0, [r0, 0x9] + ldr r1, _080EEDD8 @ =gFile_graphics_battle_anims_masks_unknown_D2EC24_tilemap + bl sub_807543C + mov r0, sp + ldrb r0, [r0, 0x9] + ldr r1, _080EEDDC @ =gFile_graphics_battle_anims_masks_unknown_D2EC24_sheet + mov r2, sp + ldrh r2, [r2, 0xA] + bl sub_80753B4 + ldr r0, _080EEDE0 @ =gFile_graphics_battle_anims_masks_cure_bubbles_palette + mov r1, sp + ldrb r1, [r1, 0x8] + lsls r1, 4 + movs r2, 0x20 + bl LoadCompressedPalette + ldr r1, _080EEDE4 @ =gBattle_BG1_X + ldrh r0, [r7, 0x20] + negs r0, r0 + adds r0, 0x20 + strh r0, [r1] + ldr r1, _080EEDE8 @ =gBattle_BG1_Y + ldrh r0, [r7, 0x22] + negs r0, r0 + subs r0, 0x20 + strh r0, [r1] + ldr r1, _080EEDEC @ =gTasks + ldr r2, [sp, 0x10] + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + adds r0, r1 + movs r1, 0xA0 + lsls r1, 2 + strh r1, [r0, 0xA] + mov r1, sp + ldrh r1, [r1, 0x14] + strh r1, [r0, 0x8] + mov r2, r10 + strh r2, [r0, 0xC] + ldr r1, _080EEDF0 @ =sub_80EEDF4 + str r1, [r0] + add sp, 0x1C + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080EEDB4: .4byte gBattleAnimAttacker +_080EEDB8: .4byte gUnknown_2022984 +_080EEDBC: .4byte gUnknown_2022986 +_080EEDC0: .4byte 0x00003f3f +_080EEDC4: .4byte 0x00003f3d +_080EEDC8: .4byte 0x00003f42 +_080EEDCC: .4byte gUnknown_3004FF0 +_080EEDD0: .4byte gSprites +_080EEDD4: .4byte SpriteCallbackDummy +_080EEDD8: .4byte gFile_graphics_battle_anims_masks_unknown_D2EC24_tilemap +_080EEDDC: .4byte gFile_graphics_battle_anims_masks_unknown_D2EC24_sheet +_080EEDE0: .4byte gFile_graphics_battle_anims_masks_cure_bubbles_palette +_080EEDE4: .4byte gBattle_BG1_X +_080EEDE8: .4byte gBattle_BG1_Y +_080EEDEC: .4byte gTasks +_080EEDF0: .4byte sub_80EEDF4 + thumb_func_end sub_80EEC0C + + thumb_func_start sub_80EEDF4 +sub_80EEDF4: @ 80EEDF4 + push {r4-r7,lr} + mov r7, r8 + push {r7} + lsls r0, 24 + lsrs r7, r0, 24 + ldr r0, _080EEE3C @ =gBattleAnimAttacker + ldrb r0, [r0] + mov r8, r0 + ldr r1, _080EEE40 @ =gTasks + lsls r0, r7, 2 + adds r0, r7 + lsls r0, 3 + adds r5, r0, r1 + ldrh r1, [r5, 0xA] + ldrh r0, [r5, 0x22] + adds r1, r0 + movs r3, 0 + strh r1, [r5, 0x22] + ldr r2, _080EEE44 @ =gBattle_BG1_Y + lsls r0, r1, 16 + lsrs r0, 24 + ldrh r4, [r2] + adds r0, r4 + strh r0, [r2] + movs r0, 0xFF + ands r1, r0 + strh r1, [r5, 0x22] + movs r1, 0x26 + ldrsh r0, [r5, r1] + cmp r0, 0x1 + beq _080EEE84 + cmp r0, 0x1 + bgt _080EEE48 + cmp r0, 0 + beq _080EEE4E + b _080EEFA8 + .align 2, 0 +_080EEE3C: .4byte gBattleAnimAttacker +_080EEE40: .4byte gTasks +_080EEE44: .4byte gBattle_BG1_Y +_080EEE48: + cmp r0, 0x2 + beq _080EEE9C + b _080EEFA8 +_080EEE4E: + ldrh r0, [r5, 0x1E] + adds r1, r0, 0x1 + strh r1, [r5, 0x1E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + bgt _080EEE5E + b _080EEFA8 +_080EEE5E: + strh r3, [r5, 0x1E] + ldrh r1, [r5, 0x20] + adds r1, 0x1 + strh r1, [r5, 0x20] + movs r0, 0x10 + subs r0, r1 + lsls r0, 8 + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + movs r2, 0x20 + ldrsh r0, [r5, r2] + cmp r0, 0x8 + beq _080EEE82 + b _080EEFA8 +_080EEE82: + b _080EEE94 +_080EEE84: + ldrh r0, [r5, 0x1C] + adds r0, 0x1 + strh r0, [r5, 0x1C] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1E + beq _080EEE94 + b _080EEFA8 +_080EEE94: + ldrh r0, [r5, 0x26] + adds r0, 0x1 + strh r0, [r5, 0x26] + b _080EEFA8 +_080EEE9C: + ldrh r0, [r5, 0x1E] + adds r1, r0, 0x1 + strh r1, [r5, 0x1E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + ble _080EEFA8 + strh r3, [r5, 0x1E] + ldrh r1, [r5, 0x20] + subs r1, 0x1 + strh r1, [r5, 0x20] + movs r0, 0x10 + subs r0, r1 + lsls r0, 8 + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + movs r0, 0x20 + ldrsh r4, [r5, r0] + cmp r4, 0 + bne _080EEFA8 + movs r0, 0 + bl sub_8073128 + ldr r0, _080EEFB4 @ =gUnknown_2022984 + strh r4, [r0] + ldr r0, _080EEFB8 @ =gUnknown_2022986 + strh r4, [r0] + ldr r4, _080EEFBC @ =0x00003f3f + movs r0, 0x48 + adds r1, r4, 0 + bl SetGpuReg + movs r0, 0x4A + adds r1, r4, 0 + bl SetGpuReg + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + bne _080EEF00 + movs r0, 0x1 + movs r1, 0x3 + movs r2, 0 + bl SetAnimBgAttribute +_080EEF00: + movs r0, 0 + bl GetGpuReg + adds r1, r0, 0 + movs r2, 0x80 + lsls r2, 8 + adds r0, r2, 0 + eors r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0 + bl SetGpuReg + movs r0, 0x50 + movs r1, 0 + bl SetGpuReg + movs r0, 0x52 + movs r1, 0 + bl SetGpuReg + movs r4, 0x8 + ldrsh r1, [r5, r4] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r6, _080EEFC0 @ =gSprites + adds r0, r6 + bl DestroySprite + movs r0, 0xC + ldrsh r1, [r5, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r6 + bl DestroySprite + movs r0, 0x1 + movs r1, 0x1 + movs r2, 0 + bl SetAnimBgAttribute + ldr r0, _080EEFC4 @ =gUnknown_3004FF0 + add r0, r8 + ldrb r0, [r0] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r6 + ldrb r2, [r1, 0x6] + mov r8, r2 + ldrh r4, [r1, 0x38] + lsls r4, 24 + lsrs r4, 24 + ldrb r3, [r1, 0x5] + movs r2, 0xD + negs r2, r2 + adds r0, r2, 0 + ands r0, r3 + movs r5, 0x4 + orrs r0, r5 + strb r0, [r1, 0x5] + mov r0, r8 + lsls r1, r0, 4 + add r1, r8 + lsls r1, 2 + adds r1, r6 + ldrb r3, [r1, 0x5] + adds r0, r2, 0 + ands r0, r3 + orrs r0, r5 + strb r0, [r1, 0x5] + lsls r0, r4, 4 + adds r0, r4 + lsls r0, 2 + adds r0, r6 + ldrb r1, [r0, 0x5] + ands r2, r1 + orrs r2, r5 + strb r2, [r0, 0x5] + adds r0, r7, 0 + bl DestroyAnimVisualTask +_080EEFA8: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080EEFB4: .4byte gUnknown_2022984 +_080EEFB8: .4byte gUnknown_2022986 +_080EEFBC: .4byte 0x00003f3f +_080EEFC0: .4byte gSprites +_080EEFC4: .4byte gUnknown_3004FF0 + thumb_func_end sub_80EEDF4 + + thumb_func_start sub_80EEFC8 +sub_80EEFC8: @ 80EEFC8 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x4 + mov r9, r0 + adds r7, r1, 0 + lsls r2, 24 + lsrs r2, 24 + ldr r0, _080EF0A0 @ =gUnknown_3004FF0 + adds r2, r0 + ldrb r0, [r2] + lsls r5, r0, 4 + adds r5, r0 + lsls r5, 2 + ldr r0, _080EF0A4 @ =gSprites + adds r5, r0 + ldrb r1, [r5, 0x6] + mov r10, r1 + ldrh r4, [r5, 0x38] + lsls r4, 24 + lsrs r4, 24 + ldr r0, _080EF0A8 @ =0x0000d709 + bl AllocSpritePalette + mov r2, r9 + strb r0, [r2] + ldr r0, _080EF0AC @ =0x0000d70a + bl AllocSpritePalette + strb r0, [r7] + ldrb r0, [r5, 0x5] + lsrs r0, 4 + lsls r0, 4 + movs r1, 0x80 + lsls r1, 1 + adds r3, r1, 0 + orrs r0, r3 + lsls r6, r4, 4 + adds r6, r4 + lsls r6, 2 + ldr r2, _080EF0A4 @ =gSprites + adds r6, r2 + ldrb r4, [r6, 0x5] + lsrs r4, 4 + lsls r4, 4 + orrs r4, r3 + lsls r0, 1 + ldr r1, _080EF0B0 @ =gPlttBufferUnfaded + mov r8, r1 + add r0, r8 + mov r2, r9 + ldrb r1, [r2] + lsls r1, 4 + adds r1, r3, r1 + movs r2, 0x20 + str r3, [sp] + bl LoadPalette + lsls r4, 1 + add r4, r8 + ldrb r0, [r7] + lsls r0, 4 + ldr r3, [sp] + adds r3, r0 + adds r0, r4, 0 + adds r1, r3, 0 + movs r2, 0x20 + bl LoadPalette + mov r0, r9 + ldrb r1, [r0] + lsls r1, 4 + ldrb r2, [r5, 0x5] + movs r3, 0xF + adds r0, r3, 0 + ands r0, r2 + orrs r0, r1 + strb r0, [r5, 0x5] + mov r2, r10 + lsls r1, r2, 4 + add r1, r10 + lsls r1, 2 + ldr r0, _080EF0A4 @ =gSprites + adds r1, r0 + mov r0, r9 + ldrb r2, [r0] + lsls r2, 4 + ldrb r4, [r1, 0x5] + adds r0, r3, 0 + ands r0, r4 + orrs r0, r2 + strb r0, [r1, 0x5] + ldrb r0, [r7] + lsls r0, 4 + ldrb r1, [r6, 0x5] + ands r3, r1 + orrs r3, r0 + strb r3, [r6, 0x5] + add sp, 0x4 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080EF0A0: .4byte gUnknown_3004FF0 +_080EF0A4: .4byte gSprites +_080EF0A8: .4byte 0x0000d709 +_080EF0AC: .4byte 0x0000d70a +_080EF0B0: .4byte gPlttBufferUnfaded + thumb_func_end sub_80EEFC8 + + thumb_func_start sub_80EF0B4 +sub_80EF0B4: @ 80EF0B4 + push {r4,lr} + sub sp, 0x4 + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + mov r1, sp + adds r1, 0x1 + ldr r0, _080EF0DC @ =gBattleAnimAttacker + ldrb r2, [r0] + mov r0, sp + bl sub_80EEFC8 + adds r0, r4, 0 + bl DestroyAnimVisualTask + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080EF0DC: .4byte gBattleAnimAttacker + thumb_func_end sub_80EF0B4 + + thumb_func_start sub_80EF0E0 +sub_80EF0E0: @ 80EF0E0 + push {r4-r6,lr} + mov r6, r9 + mov r5, r8 + push {r5,r6} + lsls r0, 24 + lsrs r0, 24 + ldr r1, _080EF168 @ =gUnknown_3004FF0 + adds r0, r1 + ldrb r0, [r0] + ldr r1, _080EF16C @ =gSprites + mov r8, r1 + lsls r5, r0, 4 + adds r5, r0 + lsls r5, 2 + add r5, r8 + ldrb r0, [r5, 0x6] + mov r9, r0 + ldrh r6, [r5, 0x38] + lsls r6, 24 + lsrs r6, 24 + ldr r0, _080EF170 @ =0x0000d709 + bl FreeSpritePaletteByTag + ldr r0, _080EF174 @ =0x0000d70a + bl FreeSpritePaletteByTag + ldr r0, _080EF178 @ =0x0000d6ff + bl IndexOfSpritePaletteTag + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r0, _080EF17C @ =0x0000d704 + bl IndexOfSpritePaletteTag + lsls r0, 24 + lsls r4, 4 + ldrb r2, [r5, 0x5] + movs r3, 0xF + adds r1, r3, 0 + ands r1, r2 + orrs r1, r4 + strb r1, [r5, 0x5] + mov r1, r9 + lsls r2, r1, 4 + add r2, r9 + lsls r2, 2 + add r2, r8 + ldrb r5, [r2, 0x5] + adds r1, r3, 0 + ands r1, r5 + orrs r1, r4 + strb r1, [r2, 0x5] + lsls r1, r6, 4 + adds r1, r6 + lsls r1, 2 + add r1, r8 + lsrs r0, 20 + ldrb r2, [r1, 0x5] + ands r3, r2 + orrs r3, r0 + strb r3, [r1, 0x5] + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080EF168: .4byte gUnknown_3004FF0 +_080EF16C: .4byte gSprites +_080EF170: .4byte 0x0000d709 +_080EF174: .4byte 0x0000d70a +_080EF178: .4byte 0x0000d6ff +_080EF17C: .4byte 0x0000d704 + thumb_func_end sub_80EF0E0 + + thumb_func_start sub_80EF180 +sub_80EF180: @ 80EF180 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r0, _080EF19C @ =gBattleAnimAttacker + ldrb r0, [r0] + bl sub_80EF0E0 + adds r0, r4, 0 + bl DestroyAnimVisualTask + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080EF19C: .4byte gBattleAnimAttacker + thumb_func_end sub_80EF180 + + thumb_func_start sub_80EF1A0 +sub_80EF1A0: @ 80EF1A0 + lsls r0, 24 + lsrs r0, 24 + ldr r2, _080EF1C0 @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + ldr r2, _080EF1C4 @ =gBattleAnimArgs + ldrh r0, [r2] + strh r0, [r1, 0x1C] + ldrh r0, [r2, 0x2] + strh r0, [r1, 0x1E] + ldr r0, _080EF1C8 @ =sub_80EF1CC + str r0, [r1] + bx lr + .align 2, 0 +_080EF1C0: .4byte gTasks +_080EF1C4: .4byte gBattleAnimArgs +_080EF1C8: .4byte sub_80EF1CC + thumb_func_end sub_80EF1A0 + + thumb_func_start sub_80EF1CC +sub_80EF1CC: @ 80EF1CC + push {r4-r6,lr} + lsls r0, 24 + lsrs r5, r0, 24 + ldr r1, _080EF218 @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r4, r0, r1 + ldrh r0, [r4, 0x8] + adds r0, 0x1 + movs r6, 0 + adds r1, r0, 0x1 + strh r1, [r4, 0x8] + lsls r0, 16 + asrs r0, 16 + movs r2, 0x1E + ldrsh r1, [r4, r2] + cmp r0, r1 + blt _080EF28C + strh r6, [r4, 0x8] + ldr r0, _080EF21C @ =0x0000d709 + bl IndexOfSpritePaletteTag + lsls r0, 24 + lsrs r2, r0, 24 + movs r3, 0x1C + ldrsh r0, [r4, r3] + movs r1, 0x2 + cmp r0, 0 + bne _080EF20A + movs r1, 0x6 +_080EF20A: + movs r3, 0xA + ldrsh r0, [r4, r3] + cmp r0, 0 + beq _080EF220 + cmp r0, 0x1 + beq _080EF25C + b _080EF28C + .align 2, 0 +_080EF218: .4byte gTasks +_080EF21C: .4byte 0x0000d709 +_080EF220: + ldrh r0, [r4, 0xC] + adds r0, 0x2 + strh r0, [r4, 0xC] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x10 + ble _080EF232 + movs r0, 0x10 + strh r0, [r4, 0xC] +_080EF232: + lsls r0, r2, 4 + movs r2, 0x80 + lsls r2, 1 + adds r0, r2 + orrs r0, r1 + ldrb r2, [r4, 0xC] + ldr r3, _080EF258 @ =0x00007f74 + movs r1, 0x1 + bl BlendPalette + movs r3, 0xC + ldrsh r0, [r4, r3] + cmp r0, 0x10 + bne _080EF28C + ldrh r0, [r4, 0xA] + adds r0, 0x1 + strh r0, [r4, 0xA] + b _080EF28C + .align 2, 0 +_080EF258: .4byte 0x00007f74 +_080EF25C: + ldrh r0, [r4, 0xC] + subs r0, 0x2 + strh r0, [r4, 0xC] + lsls r0, 16 + cmp r0, 0 + bge _080EF26A + strh r6, [r4, 0xC] +_080EF26A: + lsls r0, r2, 4 + movs r2, 0x80 + lsls r2, 1 + adds r0, r2 + orrs r0, r1 + ldrb r2, [r4, 0xC] + ldr r3, _080EF294 @ =0x00007f74 + movs r1, 0x1 + bl BlendPalette + movs r3, 0xC + ldrsh r0, [r4, r3] + cmp r0, 0 + bne _080EF28C + adds r0, r5, 0 + bl DestroyAnimVisualTask +_080EF28C: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080EF294: .4byte 0x00007f74 + thumb_func_end sub_80EF1CC + + thumb_func_start sub_80EF298 +sub_80EF298: @ 80EF298 + push {r4-r6,lr} + lsls r0, 24 + lsrs r6, r0, 24 + ldr r1, _080EF2C4 @ =gBattlerSpriteIds + ldr r0, _080EF2C8 @ =gBattleAnimAttacker + ldrb r0, [r0] + adds r0, r1 + ldrb r5, [r0] + ldr r1, _080EF2CC @ =gTasks + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + adds r4, r0, r1 + movs r1, 0x8 + ldrsh r0, [r4, r1] + cmp r0, 0x1 + beq _080EF2E6 + cmp r0, 0x1 + bgt _080EF2D0 + cmp r0, 0 + beq _080EF2D6 + b _080EF338 + .align 2, 0 +_080EF2C4: .4byte gBattlerSpriteIds +_080EF2C8: .4byte gBattleAnimAttacker +_080EF2CC: .4byte gTasks +_080EF2D0: + cmp r0, 0x2 + beq _080EF318 + b _080EF338 +_080EF2D6: + adds r0, r5, 0 + movs r1, 0 + bl sub_80758E0 + movs r0, 0x80 + lsls r0, 1 + strh r0, [r4, 0x1C] + b _080EF30A +_080EF2E6: + ldrh r0, [r4, 0x1C] + adds r0, 0x30 + strh r0, [r4, 0x1C] + movs r0, 0x1C + ldrsh r2, [r4, r0] + adds r0, r5, 0 + adds r1, r2, 0 + movs r3, 0 + bl obj_id_set_rotscale + adds r0, r5, 0 + bl sub_8076440 + movs r0, 0x1C + ldrsh r1, [r4, r0] + ldr r0, _080EF314 @ =0x000002cf + cmp r1, r0 + ble _080EF338 +_080EF30A: + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] + b _080EF338 + .align 2, 0 +_080EF314: .4byte 0x000002cf +_080EF318: + adds r0, r5, 0 + bl sub_8075980 + ldr r1, _080EF340 @ =gSprites + lsls r0, r5, 4 + adds r0, r5 + lsls r0, 2 + adds r0, r1 + adds r0, 0x3E + ldrb r1, [r0] + movs r2, 0x4 + orrs r1, r2 + strb r1, [r0] + adds r0, r6, 0 + bl DestroyAnimVisualTask +_080EF338: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080EF340: .4byte gSprites + thumb_func_end sub_80EF298 + + thumb_func_start sub_80EF344 +sub_80EF344: @ 80EF344 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + sub sp, 0xC + lsls r0, 24 + lsrs r5, r0, 24 + ldr r1, _080EF37C @ =gBattlerSpriteIds + ldr r4, _080EF380 @ =gBattleAnimAttacker + ldrb r0, [r4] + adds r1, r0, r1 + ldrb r1, [r1] + mov r9, r1 + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _080EF38C + ldr r1, _080EF384 @ =gBattlerPartyIndexes + ldrb r0, [r4] + lsls r0, 1 + adds r0, r1 + ldrh r1, [r0] + movs r0, 0x64 + muls r0, r1 + ldr r1, _080EF388 @ =gPlayerParty + b _080EF39C + .align 2, 0 +_080EF37C: .4byte gBattlerSpriteIds +_080EF380: .4byte gBattleAnimAttacker +_080EF384: .4byte gBattlerPartyIndexes +_080EF388: .4byte gPlayerParty +_080EF38C: + ldr r1, _080EF3CC @ =gBattlerPartyIndexes + ldrb r0, [r4] + lsls r0, 1 + adds r0, r1 + ldrh r1, [r0] + movs r0, 0x64 + muls r0, r1 + ldr r1, _080EF3D0 @ =gEnemyParty +_080EF39C: + adds r0, r1 + movs r1, 0x26 + bl GetMonData + lsls r0, 16 + lsrs r0, 16 + bl ItemIdToBallId + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + ldr r2, _080EF3D4 @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r6, r0, r2 + movs r0, 0x8 + ldrsh r7, [r6, r0] + cmp r7, 0 + beq _080EF3D8 + cmp r7, 0x1 + beq _080EF458 + b _080EF482 + .align 2, 0 +_080EF3CC: .4byte gBattlerPartyIndexes +_080EF3D0: .4byte gEnemyParty +_080EF3D4: .4byte gTasks +_080EF3D8: + ldr r5, _080EF450 @ =gBattleAnimAttacker + ldrb r0, [r5] + movs r1, 0 + bl sub_8074480 + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldrb r0, [r5] + movs r1, 0x1 + bl sub_8074480 + adds r1, r0, 0 + lsls r1, 24 + ldr r2, _080EF454 @ =gSprites + mov r3, r9 + lsls r0, r3, 4 + add r0, r9 + lsls r0, 2 + adds r0, r2 + ldrb r2, [r0, 0x5] + lsls r2, 28 + lsrs r2, 30 + adds r0, 0x43 + ldrb r3, [r0] + movs r0, 0x80 + lsls r0, 22 + adds r1, r0 + lsrs r1, 24 + mov r0, r8 + str r0, [sp] + adds r0, r4, 0 + bl LaunchBallStarsTask + lsls r0, 24 + lsrs r0, 24 + strh r0, [r6, 0x1C] + str r7, [sp] + str r7, [sp, 0x4] + str r7, [sp, 0x8] + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + movs r3, 0 + bl sub_8075BE8 + adds r2, r0, 0 + ldrb r1, [r5] + movs r0, 0 + mov r3, r8 + bl LaunchBallFadeMonTask + lsls r0, 24 + lsrs r0, 24 + strh r0, [r6, 0x1E] + ldrh r0, [r6, 0x8] + adds r0, 0x1 + strh r0, [r6, 0x8] + b _080EF482 + .align 2, 0 +_080EF450: .4byte gBattleAnimAttacker +_080EF454: .4byte gSprites +_080EF458: + movs r1, 0x1C + ldrsh r0, [r6, r1] + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + ldrb r0, [r1, 0x4] + cmp r0, 0 + bne _080EF482 + movs r3, 0x1E + ldrsh r0, [r6, r3] + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + ldrb r0, [r1, 0x4] + cmp r0, 0 + bne _080EF482 + adds r0, r5, 0 + bl DestroyAnimVisualTask +_080EF482: + add sp, 0xC + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80EF344 + + thumb_func_start sub_80EF490 +sub_80EF490: @ 80EF490 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r0, _080EF4B4 @ =gUnknown_2023D68 + ldrh r0, [r0] + bl ItemIdToBallId + lsls r0, 24 + lsrs r0, 24 + bl LoadBallGfx + adds r0, r4, 0 + bl DestroyAnimVisualTask + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080EF4B4: .4byte gUnknown_2023D68 + thumb_func_end sub_80EF490 + + thumb_func_start sub_80EF4B8 +sub_80EF4B8: @ 80EF4B8 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r0, _080EF4DC @ =gUnknown_2023D68 + ldrh r0, [r0] + bl ItemIdToBallId + lsls r0, 24 + lsrs r0, 24 + bl FreeBallGfx + adds r0, r4, 0 + bl DestroyAnimVisualTask + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080EF4DC: .4byte gUnknown_2023D68 + thumb_func_end sub_80EF4B8 + + thumb_func_start sub_80EF4E0 +sub_80EF4E0: @ 80EF4E0 + push {lr} + lsls r0, 24 + lsrs r2, r0, 24 + ldr r0, _080EF4FC @ =gUnknown_2024018 + ldr r0, [r0] + ldr r0, [r0, 0x8] + ldrb r0, [r0, 0x8] + cmp r0, 0x5 + beq _080EF504 + cmp r0, 0x6 + beq _080EF514 + ldr r1, _080EF500 @ =gBattleAnimArgs + movs r0, 0 + b _080EF518 + .align 2, 0 +_080EF4FC: .4byte gUnknown_2024018 +_080EF500: .4byte gBattleAnimArgs +_080EF504: + ldr r1, _080EF50C @ =gBattleAnimArgs + ldr r0, _080EF510 @ =0x0000ffff + b _080EF518 + .align 2, 0 +_080EF50C: .4byte gBattleAnimArgs +_080EF510: .4byte 0x0000ffff +_080EF514: + ldr r1, _080EF524 @ =gBattleAnimArgs + ldr r0, _080EF528 @ =0x0000fffe +_080EF518: + strh r0, [r1, 0xE] + adds r0, r2, 0 + bl DestroyAnimVisualTask + pop {r0} + bx r0 + .align 2, 0 +_080EF524: .4byte gBattleAnimArgs +_080EF528: .4byte 0x0000fffe + thumb_func_end sub_80EF4E0 + + thumb_func_start ItemIdToBallId +ItemIdToBallId: @ 80EF52C + push {lr} + lsls r0, 16 + lsrs r0, 16 + subs r0, 0x1 + cmp r0, 0xB + bhi _080EF5A4 + lsls r0, 2 + ldr r1, _080EF544 @ =_080EF548 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080EF544: .4byte _080EF548 + .align 2, 0 +_080EF548: + .4byte _080EF578 + .4byte _080EF57C + .4byte _080EF580 + .4byte _080EF5A4 + .4byte _080EF584 + .4byte _080EF588 + .4byte _080EF58C + .4byte _080EF590 + .4byte _080EF594 + .4byte _080EF598 + .4byte _080EF59C + .4byte _080EF5A0 +_080EF578: + movs r0, 0x4 + b _080EF5A6 +_080EF57C: + movs r0, 0x3 + b _080EF5A6 +_080EF580: + movs r0, 0x1 + b _080EF5A6 +_080EF584: + movs r0, 0x2 + b _080EF5A6 +_080EF588: + movs r0, 0x5 + b _080EF5A6 +_080EF58C: + movs r0, 0x6 + b _080EF5A6 +_080EF590: + movs r0, 0x7 + b _080EF5A6 +_080EF594: + movs r0, 0x8 + b _080EF5A6 +_080EF598: + movs r0, 0x9 + b _080EF5A6 +_080EF59C: + movs r0, 0xA + b _080EF5A6 +_080EF5A0: + movs r0, 0xB + b _080EF5A6 +_080EF5A4: + movs r0, 0 +_080EF5A6: + pop {r1} + bx r1 + thumb_func_end ItemIdToBallId + + thumb_func_start sub_80EF5AC +sub_80EF5AC: @ 80EF5AC + push {r4-r6,lr} + mov r6, r10 + mov r5, r9 + mov r4, r8 + push {r4-r6} + mov r10, r0 + lsls r0, 24 + lsrs r0, 24 + mov r10, r0 + ldr r0, _080EF674 @ =gUnknown_2023D68 + ldrh r0, [r0] + bl ItemIdToBallId + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 3 + ldr r1, _080EF678 @ =gUnknown_82606F4 + adds r0, r1 + movs r1, 0x20 + movs r2, 0x50 + movs r3, 0x1D + bl CreateSprite + adds r5, r0, 0 + lsls r5, 24 + lsrs r5, 24 + ldr r1, _080EF67C @ =gSprites + mov r9, r1 + lsls r4, r5, 4 + adds r4, r5 + lsls r4, 2 + adds r6, r4, r1 + movs r0, 0x22 + strh r0, [r6, 0x2E] + ldr r2, _080EF680 @ =gBattleAnimTarget + mov r8, r2 + ldrb r0, [r2] + movs r1, 0 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r6, 0x30] + mov r1, r8 + ldrb r0, [r1] + movs r1, 0x1 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + subs r0, 0x10 + strh r0, [r6, 0x32] + mov r0, r9 + adds r0, 0x1C + adds r4, r0 + ldr r0, _080EF684 @ =sub_80EF8C0 + str r0, [r4] + ldr r0, _080EF688 @ =gUnknown_2024018 + ldr r0, [r0] + ldr r3, [r0, 0x8] + ldr r1, _080EF68C @ =gBattlerSpriteIds + mov r2, r8 + ldrb r0, [r2] + adds r0, r1 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + add r0, r9 + adds r0, 0x3E + ldrb r1, [r0] + lsls r1, 29 + lsrs r1, 31 + lsls r1, 1 + ldrb r2, [r3, 0x9] + movs r0, 0x3 + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r3, 0x9] + ldr r1, _080EF690 @ =gTasks + mov r2, r10 + lsls r0, r2, 2 + add r0, r10 + lsls r0, 3 + adds r0, r1 + strh r5, [r0, 0x8] + ldr r1, _080EF694 @ =sub_80EF698 + str r1, [r0] + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080EF674: .4byte gUnknown_2023D68 +_080EF678: .4byte gUnknown_82606F4 +_080EF67C: .4byte gSprites +_080EF680: .4byte gBattleAnimTarget +_080EF684: .4byte sub_80EF8C0 +_080EF688: .4byte gUnknown_2024018 +_080EF68C: .4byte gBattlerSpriteIds +_080EF690: .4byte gTasks +_080EF694: .4byte sub_80EF698 + thumb_func_end sub_80EF5AC + + thumb_func_start sub_80EF698 +sub_80EF698: @ 80EF698 + push {lr} + lsls r0, 24 + lsrs r3, r0, 24 + ldr r1, _080EF6C8 @ =gTasks + lsls r0, r3, 2 + adds r0, r3 + lsls r0, 3 + adds r0, r1 + ldrb r1, [r0, 0x8] + ldr r2, _080EF6CC @ =gSprites + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r1, [r0, 0x2E] + ldr r0, _080EF6D0 @ =0x0000ffff + cmp r1, r0 + bne _080EF6C2 + adds r0, r3, 0 + bl DestroyAnimVisualTask +_080EF6C2: + pop {r0} + bx r0 + .align 2, 0 +_080EF6C8: .4byte gTasks +_080EF6CC: .4byte gSprites +_080EF6D0: .4byte 0x0000ffff + thumb_func_end sub_80EF698 + + thumb_func_start sub_80EF6D4 +sub_80EF6D4: @ 80EF6D4 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + lsls r0, 24 + lsrs r7, r0, 24 + ldr r0, _080EF6F4 @ =gBattleTypeFlags + ldr r0, [r0] + movs r1, 0x80 + lsls r1, 2 + ands r0, r1 + cmp r0, 0 + beq _080EF6F8 + movs r5, 0x1C + movs r6, 0xB + b _080EF708 + .align 2, 0 +_080EF6F4: .4byte gBattleTypeFlags +_080EF6F8: + movs r5, 0x17 + movs r6, 0xB + ldr r0, _080EF7C4 @ =gSaveBlock2Ptr + ldr r0, [r0] + ldrb r0, [r0, 0x8] + cmp r0, 0x1 + bne _080EF708 + movs r6, 0xD +_080EF708: + ldr r0, _080EF7C8 @ =gUnknown_2023D68 + ldrh r0, [r0] + bl ItemIdToBallId + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0x1 + bl GetBattlerAtPosition + lsls r0, 24 + lsrs r0, 24 + bl sub_807685C + adds r3, r0, 0 + adds r3, 0x1 + lsls r3, 24 + lsrs r3, 24 + lsls r0, r4, 1 + adds r0, r4 + lsls r0, 3 + ldr r1, _080EF7CC @ =gUnknown_82606F4 + adds r0, r1 + movs r1, 0x20 + orrs r5, r1 + movs r1, 0x50 + orrs r6, r1 + adds r1, r5, 0 + adds r2, r6, 0 + bl CreateSprite + adds r5, r0, 0 + lsls r5, 24 + lsrs r5, 24 + ldr r0, _080EF7D0 @ =gSprites + mov r9, r0 + lsls r4, r5, 4 + adds r4, r5 + lsls r4, 2 + adds r6, r4, r0 + movs r0, 0x22 + strh r0, [r6, 0x2E] + ldr r1, _080EF7D4 @ =gBattleAnimTarget + mov r8, r1 + ldrb r0, [r1] + movs r1, 0 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r6, 0x30] + mov r1, r8 + ldrb r0, [r1] + movs r1, 0x1 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + subs r0, 0x10 + strh r0, [r6, 0x32] + movs r0, 0x1C + add r9, r0 + add r4, r9 + ldr r0, _080EF7D8 @ =SpriteCallbackDummy + str r0, [r4] + movs r0, 0 + bl GetBattlerAtPosition + ldr r1, _080EF7DC @ =gBattlerSpriteIds + lsls r0, 24 + lsrs r0, 24 + adds r0, r1 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + add r0, r9 + ldr r1, _080EF7E0 @ =sub_8012354 + str r1, [r0] + ldr r1, _080EF7E4 @ =gTasks + lsls r0, r7, 2 + adds r0, r7 + lsls r0, 3 + adds r0, r1 + strh r5, [r0, 0x8] + ldr r1, _080EF7E8 @ =sub_80EF7EC + str r1, [r0] + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080EF7C4: .4byte gSaveBlock2Ptr +_080EF7C8: .4byte gUnknown_2023D68 +_080EF7CC: .4byte gUnknown_82606F4 +_080EF7D0: .4byte gSprites +_080EF7D4: .4byte gBattleAnimTarget +_080EF7D8: .4byte SpriteCallbackDummy +_080EF7DC: .4byte gBattlerSpriteIds +_080EF7E0: .4byte sub_8012354 +_080EF7E4: .4byte gTasks +_080EF7E8: .4byte sub_80EF7EC + thumb_func_end sub_80EF6D4 + + thumb_func_start sub_80EF7EC +sub_80EF7EC: @ 80EF7EC + push {r4-r6,lr} + lsls r0, 24 + lsrs r5, r0, 24 + ldr r6, _080EF84C @ =gSprites + movs r0, 0 + bl GetBattlerAtPosition + ldr r1, _080EF850 @ =gBattlerSpriteIds + lsls r0, 24 + lsrs r0, 24 + adds r0, r1 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r6 + adds r0, 0x2B + ldrb r0, [r0] + cmp r0, 0x1 + bne _080EF846 + movs r0, 0x36 + movs r1, 0 + bl PlaySE12WithPanning + ldr r0, _080EF854 @ =gTasks + lsls r4, r5, 2 + adds r4, r5 + lsls r4, 3 + adds r4, r0 + movs r0, 0x8 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r1, r6, 0 + adds r1, 0x1C + adds r0, r1 + ldr r1, _080EF858 @ =sub_80EF8C0 + str r1, [r0] + ldr r0, _080EF85C @ =sub_80EF864 + movs r1, 0xA + bl CreateTask + ldr r0, _080EF860 @ =sub_80EF698 + str r0, [r4] +_080EF846: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080EF84C: .4byte gSprites +_080EF850: .4byte gBattlerSpriteIds +_080EF854: .4byte gTasks +_080EF858: .4byte sub_80EF8C0 +_080EF85C: .4byte sub_80EF864 +_080EF860: .4byte sub_80EF698 + thumb_func_end sub_80EF7EC + + thumb_func_start sub_80EF864 +sub_80EF864: @ 80EF864 + push {r4-r6,lr} + lsls r0, 24 + lsrs r5, r0, 24 + ldr r6, _080EF8B8 @ =gSprites + movs r0, 0 + bl GetBattlerAtPosition + ldr r4, _080EF8BC @ =gBattlerSpriteIds + lsls r0, 24 + lsrs r0, 24 + adds r0, r4 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r6 + adds r0, 0x3F + ldrb r0, [r0] + lsls r0, 27 + cmp r0, 0 + bge _080EF8B0 + movs r0, 0 + bl GetBattlerAtPosition + lsls r0, 24 + lsrs r0, 24 + adds r0, r4 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r6 + movs r1, 0 + bl StartSpriteAnim + adds r0, r5, 0 + bl DestroyTask +_080EF8B0: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080EF8B8: .4byte gSprites +_080EF8BC: .4byte gBattlerSpriteIds + thumb_func_end sub_80EF864 + + thumb_func_start sub_80EF8C0 +sub_80EF8C0: @ 80EF8C0 + push {r4,lr} + adds r4, r0, 0 + ldrh r1, [r4, 0x30] + ldrh r2, [r4, 0x32] + ldrh r0, [r4, 0x20] + strh r0, [r4, 0x30] + strh r1, [r4, 0x32] + ldrh r0, [r4, 0x22] + strh r0, [r4, 0x34] + strh r2, [r4, 0x36] + ldr r0, _080EF8E8 @ =0x0000ffd8 + strh r0, [r4, 0x38] + adds r0, r4, 0 + bl sub_8075068 + ldr r0, _080EF8EC @ =sub_80EF8F0 + str r0, [r4, 0x1C] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080EF8E8: .4byte 0x0000ffd8 +_080EF8EC: .4byte sub_80EF8F0 + thumb_func_end sub_80EF8C0 + + thumb_func_start sub_80EF8F0 +sub_80EF8F0: @ 80EF8F0 + push {r4,r5,lr} + sub sp, 0x4 + adds r4, r0, 0 + bl AnimateBallThrow + lsls r0, 24 + cmp r0, 0 + beq _080EF99E + ldr r0, _080EF914 @ =gUnknown_2024018 + ldr r0, [r0] + ldr r0, [r0, 0x8] + ldrb r0, [r0, 0x8] + cmp r0, 0x5 + bne _080EF91C + ldr r0, _080EF918 @ =sub_80F0478 + str r0, [r4, 0x1C] + b _080EF99E + .align 2, 0 +_080EF914: .4byte gUnknown_2024018 +_080EF918: .4byte sub_80F0478 +_080EF91C: + cmp r0, 0x6 + bne _080EF92C + ldr r0, _080EF928 @ =sub_80F052C + str r0, [r4, 0x1C] + b _080EF99E + .align 2, 0 +_080EF928: .4byte sub_80F052C +_080EF92C: + adds r0, r4, 0 + movs r1, 0x1 + bl StartSpriteAnim + ldrh r0, [r4, 0x24] + ldrh r1, [r4, 0x20] + adds r0, r1 + movs r1, 0 + strh r0, [r4, 0x20] + ldrh r0, [r4, 0x26] + ldrh r2, [r4, 0x22] + adds r0, r2 + strh r0, [r4, 0x22] + strh r1, [r4, 0x24] + strh r1, [r4, 0x26] + adds r1, r4, 0 + adds r1, 0x2E + movs r2, 0 + adds r0, r4, 0 + adds r0, 0x3C +_080EF954: + strh r2, [r0] + subs r0, 0x2 + cmp r0, r1 + bge _080EF954 + movs r0, 0 + strh r0, [r4, 0x38] + ldr r0, _080EF9A8 @ =sub_80EF9B4 + str r0, [r4, 0x1C] + ldr r0, _080EF9AC @ =gUnknown_2023D68 + ldrh r0, [r0] + bl ItemIdToBallId + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0xB + bgt _080EF99E + cmp r5, 0 + blt _080EF99E + ldrh r0, [r4, 0x20] + lsls r0, 24 + lsrs r0, 24 + ldrh r1, [r4, 0x22] + subs r1, 0x5 + lsls r1, 24 + lsrs r1, 24 + str r5, [sp] + movs r2, 0x1 + movs r3, 0x1C + bl LaunchBallStarsTask + ldr r0, _080EF9B0 @ =gBattleAnimTarget + ldrb r1, [r0] + movs r0, 0 + movs r2, 0xE + adds r3, r5, 0 + bl LaunchBallFadeMonTask +_080EF99E: + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080EF9A8: .4byte sub_80EF9B4 +_080EF9AC: .4byte gUnknown_2023D68 +_080EF9B0: .4byte gBattleAnimTarget + thumb_func_end sub_80EF8F0 + + thumb_func_start sub_80EF9B4 +sub_80EF9B4: @ 80EF9B4 + push {r4,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x38] + adds r0, 0x1 + strh r0, [r4, 0x38] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xA + bne _080EF9F0 + ldr r0, _080EF9F8 @ =TaskDummy + movs r1, 0x32 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x38] + ldr r0, _080EF9FC @ =sub_80EFA0C + str r0, [r4, 0x1C] + ldr r2, _080EFA00 @ =gSprites + ldr r1, _080EFA04 @ =gBattlerSpriteIds + ldr r0, _080EFA08 @ =gBattleAnimTarget + ldrb r0, [r0] + adds r0, r1 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + movs r1, 0 + strh r1, [r0, 0x30] +_080EF9F0: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080EF9F8: .4byte TaskDummy +_080EF9FC: .4byte sub_80EFA0C +_080EFA00: .4byte gSprites +_080EFA04: .4byte gBattlerSpriteIds +_080EFA08: .4byte gBattleAnimTarget + thumb_func_end sub_80EF9B4 + + thumb_func_start sub_80EFA0C +sub_80EFA0C: @ 80EFA0C + push {r4-r7,lr} + adds r7, r0, 0 + ldr r1, _080EFA50 @ =gBattlerSpriteIds + ldr r0, _080EFA54 @ =gBattleAnimTarget + ldrb r0, [r0] + adds r0, r1 + ldrb r4, [r0] + ldrh r0, [r7, 0x38] + lsls r0, 24 + lsrs r6, r0, 24 + ldr r1, _080EFA58 @ =gTasks + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + adds r5, r0, r1 + ldrh r0, [r5, 0xA] + adds r0, 0x1 + strh r0, [r5, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xB + bne _080EFA3E + movs r0, 0x35 + bl PlaySE +_080EFA3E: + movs r1, 0x8 + ldrsh r0, [r5, r1] + cmp r0, 0x1 + beq _080EFAB4 + cmp r0, 0x1 + bgt _080EFA5C + cmp r0, 0 + beq _080EFA62 + b _080EFB20 + .align 2, 0 +_080EFA50: .4byte gBattlerSpriteIds +_080EFA54: .4byte gBattleAnimTarget +_080EFA58: .4byte gTasks +_080EFA5C: + cmp r0, 0x2 + beq _080EFAF8 + b _080EFB20 +_080EFA62: + adds r0, r4, 0 + movs r1, 0 + bl sub_80758E0 + movs r0, 0x80 + lsls r0, 1 + strh r0, [r5, 0x1C] + ldr r1, _080EFAA4 @ =gUnknown_3005424 + movs r0, 0x1C + str r0, [r1] + ldr r2, _080EFAA8 @ =gUnknown_300542C + ldr r1, _080EFAAC @ =gSprites + lsls r0, r4, 4 + adds r0, r4 + lsls r0, 2 + adds r0, r1 + ldrh r1, [r0, 0x26] + ldrh r0, [r0, 0x22] + adds r1, r0 + ldrh r0, [r7, 0x26] + ldrh r7, [r7, 0x22] + adds r0, r7 + subs r1, r0 + strh r1, [r2] + ldr r4, _080EFAB0 @ =gUnknown_3005428 + ldrh r0, [r2] + lsls r0, 8 + movs r1, 0x1C + bl __udivsi3 + strh r0, [r4] + strh r0, [r5, 0xC] + b _080EFB12 + .align 2, 0 +_080EFAA4: .4byte gUnknown_3005424 +_080EFAA8: .4byte gUnknown_300542C +_080EFAAC: .4byte gSprites +_080EFAB0: .4byte gUnknown_3005428 +_080EFAB4: + ldrh r0, [r5, 0x1C] + adds r0, 0x20 + strh r0, [r5, 0x1C] + movs r0, 0x1C + ldrsh r2, [r5, r0] + adds r0, r4, 0 + adds r1, r2, 0 + movs r3, 0 + bl obj_id_set_rotscale + ldrh r0, [r5, 0xC] + ldrh r1, [r5, 0xE] + adds r0, r1 + strh r0, [r5, 0xE] + ldr r0, _080EFAF0 @ =gSprites + lsls r1, r4, 4 + adds r1, r4 + lsls r1, 2 + adds r1, r0 + movs r2, 0xE + ldrsh r0, [r5, r2] + negs r0, r0 + asrs r0, 8 + strh r0, [r1, 0x26] + movs r0, 0x1C + ldrsh r1, [r5, r0] + ldr r0, _080EFAF4 @ =0x0000047f + cmp r1, r0 + ble _080EFB48 + b _080EFB12 + .align 2, 0 +_080EFAF0: .4byte gSprites +_080EFAF4: .4byte 0x0000047f +_080EFAF8: + adds r0, r4, 0 + bl sub_8075980 + ldr r1, _080EFB1C @ =gSprites + lsls r0, r4, 4 + adds r0, r4 + lsls r0, 2 + adds r0, r1 + adds r0, 0x3E + ldrb r1, [r0] + movs r2, 0x4 + orrs r1, r2 + strb r1, [r0] +_080EFB12: + ldrh r0, [r5, 0x8] + adds r0, 0x1 + strh r0, [r5, 0x8] + b _080EFB48 + .align 2, 0 +_080EFB1C: .4byte gSprites +_080EFB20: + ldr r0, _080EFB50 @ =gTasks + lsls r1, r6, 2 + adds r1, r6 + lsls r1, 3 + adds r1, r0 + movs r2, 0xA + ldrsh r0, [r1, r2] + cmp r0, 0xA + ble _080EFB48 + adds r0, r6, 0 + bl DestroyTask + adds r0, r7, 0 + movs r1, 0x2 + bl StartSpriteAnim + movs r0, 0 + strh r0, [r7, 0x38] + ldr r0, _080EFB54 @ =sub_80EFB58 + str r0, [r7, 0x1C] +_080EFB48: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080EFB50: .4byte gTasks +_080EFB54: .4byte sub_80EFB58 + thumb_func_end sub_80EFA0C + + thumb_func_start sub_80EFB58 +sub_80EFB58: @ 80EFB58 + push {r4,lr} + adds r4, r0, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x10 + ands r0, r1 + cmp r0, 0 + beq _080EFB92 + movs r1, 0 + strh r1, [r4, 0x34] + movs r0, 0x28 + strh r0, [r4, 0x36] + strh r1, [r4, 0x38] + movs r0, 0 + movs r1, 0x28 + bl Cos + ldrh r1, [r4, 0x22] + adds r0, r1 + strh r0, [r4, 0x22] + movs r0, 0x36 + ldrsh r1, [r4, r0] + movs r0, 0 + bl Cos + negs r0, r0 + strh r0, [r4, 0x26] + ldr r0, _080EFB98 @ =sub_80EFB9C + str r0, [r4, 0x1C] +_080EFB92: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080EFB98: .4byte sub_80EFB9C + thumb_func_end sub_80EFB58 + + thumb_func_start sub_80EFB9C +sub_80EFB9C: @ 80EFB9C + push {r4,r5,lr} + adds r4, r0, 0 + movs r5, 0 + ldrh r0, [r4, 0x34] + movs r1, 0xFF + ands r1, r0 + cmp r1, 0 + beq _080EFBB2 + cmp r1, 0x1 + beq _080EFC26 + b _080EFC52 +_080EFBB2: + movs r1, 0x38 + ldrsh r0, [r4, r1] + movs r2, 0x36 + ldrsh r1, [r4, r2] + bl Cos + negs r0, r0 + strh r0, [r4, 0x26] + ldrh r1, [r4, 0x38] + adds r1, 0x4 + ldrh r2, [r4, 0x34] + lsls r0, r2, 16 + asrs r0, 24 + adds r1, r0 + strh r1, [r4, 0x38] + lsls r1, 16 + asrs r1, 16 + cmp r1, 0x3F + ble _080EFC52 + ldrh r0, [r4, 0x36] + subs r0, 0xA + strh r0, [r4, 0x36] + ldr r1, _080EFBFC @ =0x00000101 + adds r0, r2, r1 + strh r0, [r4, 0x34] + lsls r0, 16 + asrs r0, 24 + cmp r0, 0x4 + bne _080EFBEE + movs r5, 0x1 +_080EFBEE: + cmp r0, 0x2 + beq _080EFC0E + cmp r0, 0x2 + bgt _080EFC00 + cmp r0, 0x1 + beq _080EFC06 + b _080EFC1E + .align 2, 0 +_080EFBFC: .4byte 0x00000101 +_080EFC00: + cmp r0, 0x3 + beq _080EFC16 + b _080EFC1E +_080EFC06: + movs r0, 0x31 + bl PlaySE + b _080EFC52 +_080EFC0E: + movs r0, 0x32 + bl PlaySE + b _080EFC52 +_080EFC16: + movs r0, 0x33 + bl PlaySE + b _080EFC52 +_080EFC1E: + movs r0, 0x34 + bl PlaySE + b _080EFC52 +_080EFC26: + movs r2, 0x38 + ldrsh r0, [r4, r2] + movs r2, 0x36 + ldrsh r1, [r4, r2] + bl Cos + negs r0, r0 + strh r0, [r4, 0x26] + ldrh r1, [r4, 0x38] + subs r1, 0x4 + ldrh r2, [r4, 0x34] + lsls r0, r2, 16 + asrs r0, 24 + subs r1, r0 + strh r1, [r4, 0x38] + lsls r1, 16 + cmp r1, 0 + bgt _080EFC52 + strh r5, [r4, 0x38] + ldr r0, _080EFC80 @ =0xffffff00 + ands r0, r2 + strh r0, [r4, 0x34] +_080EFC52: + cmp r5, 0 + beq _080EFC96 + movs r5, 0 + strh r5, [r4, 0x34] + movs r0, 0x40 + movs r1, 0x28 + bl Cos + ldrh r1, [r4, 0x22] + adds r0, r1 + strh r0, [r4, 0x22] + strh r5, [r4, 0x26] + ldr r0, _080EFC84 @ =gUnknown_2024018 + ldr r0, [r0] + ldr r0, [r0, 0x8] + ldrb r0, [r0, 0x8] + cmp r0, 0 + bne _080EFC8C + strh r5, [r4, 0x38] + ldr r0, _080EFC88 @ =sub_80EFF80 + str r0, [r4, 0x1C] + b _080EFC96 + .align 2, 0 +_080EFC80: .4byte 0xffffff00 +_080EFC84: .4byte gUnknown_2024018 +_080EFC88: .4byte sub_80EFF80 +_080EFC8C: + ldr r0, _080EFC9C @ =sub_80EFCA0 + str r0, [r4, 0x1C] + movs r0, 0x1 + strh r0, [r4, 0x36] + strh r5, [r4, 0x38] +_080EFC96: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080EFC9C: .4byte sub_80EFCA0 + thumb_func_end sub_80EFB9C + + thumb_func_start sub_80EFCA0 +sub_80EFCA0: @ 80EFCA0 + push {r4,r5,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x34] + adds r0, 0x1 + movs r5, 0 + strh r0, [r4, 0x34] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1F + bne _080EFCDC + strh r5, [r4, 0x34] + adds r2, r4, 0 + adds r2, 0x2C + ldrb r0, [r2] + movs r1, 0x80 + orrs r0, r1 + strb r0, [r2] + adds r0, r4, 0 + movs r1, 0x1 + bl StartSpriteAffineAnim + ldr r0, _080EFCE4 @ =gUnknown_2024018 + ldr r0, [r0] + ldr r0, [r0, 0x8] + strh r5, [r0, 0xC] + ldr r0, _080EFCE8 @ =sub_80EFCEC + str r0, [r4, 0x1C] + movs r0, 0x17 + bl PlaySE +_080EFCDC: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080EFCE4: .4byte gUnknown_2024018 +_080EFCE8: .4byte sub_80EFCEC + thumb_func_end sub_80EFCA0 + + thumb_func_start sub_80EFCEC +sub_80EFCEC: @ 80EFCEC + push {r4-r6,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x34] + movs r1, 0xFF + ands r1, r0 + cmp r1, 0x6 + bls _080EFCFC + b _080EFF34 +_080EFCFC: + lsls r0, r1, 2 + ldr r1, _080EFD08 @ =_080EFD0C + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080EFD08: .4byte _080EFD0C + .align 2, 0 +_080EFD0C: + .4byte _080EFD28 + .4byte _080EFD7A + .4byte _080EFDC0 + .4byte _080EFE20 + .4byte _080EFE70 + .4byte _080EFED4 + .4byte _080EFF34 +_080EFD28: + ldr r1, _080EFD4C @ =gUnknown_2024018 + ldr r5, [r1] + ldr r2, [r5, 0x8] + ldrh r3, [r2, 0xC] + movs r6, 0xC + ldrsh r0, [r2, r6] + adds r6, r1, 0 + cmp r0, 0xFF + ble _080EFD50 + ldrh r0, [r4, 0x36] + ldrh r1, [r4, 0x24] + adds r0, r1 + strh r0, [r4, 0x24] + ldr r1, [r5, 0x8] + ldrb r0, [r1, 0xC] + strh r0, [r1, 0xC] + b _080EFD56 + .align 2, 0 +_080EFD4C: .4byte gUnknown_2024018 +_080EFD50: + adds r0, r3, 0 + adds r0, 0xB0 + strh r0, [r2, 0xC] +_080EFD56: + ldrh r0, [r4, 0x38] + adds r0, 0x1 + movs r3, 0 + strh r0, [r4, 0x38] + adds r2, r4, 0 + adds r2, 0x2C + ldrb r1, [r2] + movs r0, 0x7F + ands r0, r1 + strb r0, [r2] + ldrh r0, [r4, 0x38] + adds r0, 0x7 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0xE + bhi _080EFD78 + b _080EFF7A +_080EFD78: + b _080EFE10 +_080EFD7A: + ldrh r0, [r4, 0x38] + adds r0, 0x1 + strh r0, [r4, 0x38] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + bne _080EFE2C + movs r0, 0 + strh r0, [r4, 0x38] + ldrh r0, [r4, 0x36] + negs r0, r0 + strh r0, [r4, 0x36] + ldrh r0, [r4, 0x34] + adds r0, 0x1 + strh r0, [r4, 0x34] + adds r2, r4, 0 + adds r2, 0x2C + ldrb r1, [r2] + movs r0, 0x7F + ands r0, r1 + strb r0, [r2] + movs r6, 0x36 + ldrsh r0, [r4, r6] + cmp r0, 0 + bge _080EFDB6 + adds r0, r4, 0 + movs r1, 0x2 + bl ChangeSpriteAffineAnim + b _080EFF7A +_080EFDB6: + adds r0, r4, 0 + movs r1, 0x1 + bl ChangeSpriteAffineAnim + b _080EFF7A +_080EFDC0: + ldr r1, _080EFDE4 @ =gUnknown_2024018 + ldr r5, [r1] + ldr r2, [r5, 0x8] + ldrh r3, [r2, 0xC] + movs r6, 0xC + ldrsh r0, [r2, r6] + adds r6, r1, 0 + cmp r0, 0xFF + ble _080EFDE8 + ldrh r0, [r4, 0x36] + ldrh r1, [r4, 0x24] + adds r0, r1 + strh r0, [r4, 0x24] + ldr r1, [r5, 0x8] + ldrb r0, [r1, 0xC] + strh r0, [r1, 0xC] + b _080EFDEE + .align 2, 0 +_080EFDE4: .4byte gUnknown_2024018 +_080EFDE8: + adds r0, r3, 0 + adds r0, 0xB0 + strh r0, [r2, 0xC] +_080EFDEE: + ldrh r0, [r4, 0x38] + adds r0, 0x1 + movs r3, 0 + strh r0, [r4, 0x38] + adds r2, r4, 0 + adds r2, 0x2C + ldrb r1, [r2] + movs r0, 0x7F + ands r0, r1 + strb r0, [r2] + ldrh r0, [r4, 0x38] + adds r0, 0xC + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x18 + bhi _080EFE10 + b _080EFF7A +_080EFE10: + ldr r0, [r6] + ldr r0, [r0, 0x8] + strh r3, [r0, 0xC] + ldrh r0, [r4, 0x34] + adds r0, 0x1 + strh r0, [r4, 0x34] + strh r3, [r4, 0x38] + b _080EFF7A +_080EFE20: + ldrh r0, [r4, 0x38] + adds r1, r0, 0x1 + strh r1, [r4, 0x38] + lsls r0, 16 + cmp r0, 0 + bge _080EFE3A +_080EFE2C: + adds r0, r4, 0 + adds r0, 0x2C + ldrb r1, [r0] + movs r2, 0x80 + orrs r1, r2 + strb r1, [r0] + b _080EFF7A +_080EFE3A: + movs r0, 0 + strh r0, [r4, 0x38] + ldrh r0, [r4, 0x36] + negs r0, r0 + strh r0, [r4, 0x36] + ldrh r0, [r4, 0x34] + adds r0, 0x1 + strh r0, [r4, 0x34] + adds r2, r4, 0 + adds r2, 0x2C + ldrb r1, [r2] + movs r0, 0x7F + ands r0, r1 + strb r0, [r2] + movs r6, 0x36 + ldrsh r0, [r4, r6] + cmp r0, 0 + bge _080EFE68 + adds r0, r4, 0 + movs r1, 0x2 + bl ChangeSpriteAffineAnim + b _080EFE70 +_080EFE68: + adds r0, r4, 0 + movs r1, 0x1 + bl ChangeSpriteAffineAnim +_080EFE70: + ldr r1, _080EFE94 @ =gUnknown_2024018 + ldr r5, [r1] + ldr r2, [r5, 0x8] + ldrh r3, [r2, 0xC] + movs r6, 0xC + ldrsh r0, [r2, r6] + adds r6, r1, 0 + cmp r0, 0xFF + ble _080EFE98 + ldrh r0, [r4, 0x36] + ldrh r1, [r4, 0x24] + adds r0, r1 + strh r0, [r4, 0x24] + ldr r1, [r5, 0x8] + ldrb r0, [r1, 0xC] + strh r0, [r1, 0xC] + b _080EFE9E + .align 2, 0 +_080EFE94: .4byte gUnknown_2024018 +_080EFE98: + adds r0, r3, 0 + adds r0, 0xB0 + strh r0, [r2, 0xC] +_080EFE9E: + ldrh r0, [r4, 0x38] + adds r0, 0x1 + movs r3, 0 + strh r0, [r4, 0x38] + adds r2, r4, 0 + adds r2, 0x2C + ldrb r1, [r2] + movs r0, 0x7F + ands r0, r1 + strb r0, [r2] + ldrh r0, [r4, 0x38] + adds r0, 0x4 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x8 + bls _080EFF7A + ldr r0, [r6] + ldr r0, [r0, 0x8] + strh r3, [r0, 0xC] + ldrh r0, [r4, 0x34] + adds r0, 0x1 + strh r0, [r4, 0x34] + strh r3, [r4, 0x38] + ldrh r0, [r4, 0x36] + negs r0, r0 + strh r0, [r4, 0x36] + b _080EFF7A +_080EFED4: + movs r6, 0x80 + lsls r6, 1 + adds r0, r6, 0 + ldrh r1, [r4, 0x34] + adds r0, r1 + strh r0, [r4, 0x34] + lsls r0, 16 + asrs r1, r0, 24 + ldr r0, _080EFF04 @ =gUnknown_2024018 + ldr r0, [r0] + ldr r0, [r0, 0x8] + ldrb r0, [r0, 0x8] + cmp r1, r0 + bne _080EFF0C + adds r2, r4, 0 + adds r2, 0x2C + ldrb r0, [r2] + movs r1, 0x80 + orrs r0, r1 + strb r0, [r2] + ldr r0, _080EFF08 @ =sub_80EFF80 + str r0, [r4, 0x1C] + b _080EFF7A + .align 2, 0 +_080EFF04: .4byte gUnknown_2024018 +_080EFF08: .4byte sub_80EFF80 +_080EFF0C: + cmp r0, 0x4 + bne _080EFF20 + cmp r1, 0x3 + bne _080EFF20 + ldr r0, _080EFF1C @ =sub_80EFFA4 + str r0, [r4, 0x1C] + b _080EFF26 + .align 2, 0 +_080EFF1C: .4byte sub_80EFFA4 +_080EFF20: + ldrh r0, [r4, 0x34] + adds r0, 0x1 + strh r0, [r4, 0x34] +_080EFF26: + adds r2, r4, 0 + adds r2, 0x2C + ldrb r0, [r2] + movs r1, 0x80 + orrs r0, r1 + strb r0, [r2] + b _080EFF7A +_080EFF34: + ldrh r0, [r4, 0x38] + adds r0, 0x1 + strh r0, [r4, 0x38] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1F + bne _080EFF7A + movs r0, 0 + strh r0, [r4, 0x38] + ldrh r1, [r4, 0x34] + ldr r0, _080EFF68 @ =0xffffff00 + ands r0, r1 + strh r0, [r4, 0x34] + adds r0, r4, 0 + movs r1, 0x3 + bl StartSpriteAffineAnim + movs r6, 0x36 + ldrsh r0, [r4, r6] + cmp r0, 0 + bge _080EFF6C + adds r0, r4, 0 + movs r1, 0x2 + bl StartSpriteAffineAnim + b _080EFF74 + .align 2, 0 +_080EFF68: .4byte 0xffffff00 +_080EFF6C: + adds r0, r4, 0 + movs r1, 0x1 + bl StartSpriteAffineAnim +_080EFF74: + movs r0, 0x17 + bl PlaySE +_080EFF7A: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_80EFCEC + + thumb_func_start sub_80EFF80 +sub_80EFF80: @ 80EFF80 + push {lr} + adds r1, r0, 0 + ldrh r0, [r1, 0x38] + adds r0, 0x1 + strh r0, [r1, 0x38] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1F + bne _080EFF9A + movs r0, 0 + strh r0, [r1, 0x38] + ldr r0, _080EFFA0 @ =sub_80F02B0 + str r0, [r1, 0x1C] +_080EFF9A: + pop {r0} + bx r0 + .align 2, 0 +_080EFFA0: .4byte sub_80F02B0 + thumb_func_end sub_80EFF80 + + thumb_func_start sub_80EFFA4 +sub_80EFFA4: @ 80EFFA4 + adds r3, r0, 0 + adds r3, 0x2C + ldrb r1, [r3] + movs r2, 0x40 + orrs r1, r2 + strb r1, [r3] + ldr r1, _080EFFC0 @ =sub_80EFFC4 + str r1, [r0, 0x1C] + movs r1, 0 + strh r1, [r0, 0x34] + strh r1, [r0, 0x36] + strh r1, [r0, 0x38] + bx lr + .align 2, 0 +_080EFFC0: .4byte sub_80EFFC4 + thumb_func_end sub_80EFFA4 + + thumb_func_start sub_80EFFC4 +sub_80EFFC4: @ 80EFFC4 + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x4 + adds r6, r0, 0 + ldr r7, _080F0004 @ =gBattleAnimTarget + ldrh r0, [r6, 0x36] + adds r0, 0x1 + movs r1, 0 + mov r8, r1 + strh r0, [r6, 0x36] + lsls r0, 16 + asrs r1, r0, 16 + cmp r1, 0x28 + bne _080F0008 + movs r0, 0xF7 + bl PlaySE + ldrb r1, [r6, 0x5] + lsrs r1, 4 + movs r0, 0x80 + lsls r0, 9 + lsls r0, r1 + movs r1, 0x6 + movs r2, 0 + bl BlendPalettes + adds r0, r6, 0 + bl sub_80F01B8 + b _080F0088 + .align 2, 0 +_080F0004: .4byte gBattleAnimTarget +_080F0008: + cmp r1, 0x3C + bne _080F0026 + ldrb r1, [r6, 0x5] + lsrs r1, 4 + movs r0, 0x80 + lsls r0, 9 + lsls r0, r1 + mov r1, r8 + str r1, [sp] + movs r1, 0x2 + movs r2, 0x6 + movs r3, 0 + bl BeginNormalPaletteFade + b _080F0088 +_080F0026: + cmp r1, 0x5F + bne _080F004C + ldr r0, _080F0044 @ =gUnknown_2024005 + movs r1, 0 + strb r1, [r0] + movs r0, 0x1 + bl UpdateOamPriorityInAllHealthboxes + bl m4aMPlayAllStop + ldr r0, _080F0048 @ =0x0000013f + bl PlaySE + b _080F0088 + .align 2, 0 +_080F0044: .4byte gUnknown_2024005 +_080F0048: .4byte 0x0000013f +_080F004C: + ldr r0, _080F0094 @ =0x0000013b + cmp r1, r0 + bne _080F0088 + ldr r5, _080F0098 @ =gSprites + ldr r4, _080F009C @ =gBattlerSpriteIds + ldrb r0, [r7] + adds r0, r4 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + ldrb r0, [r0, 0x3] + lsls r0, 26 + lsrs r0, 27 + bl FreeOamMatrix + ldrb r0, [r7] + adds r0, r4 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + bl DestroySprite + mov r0, r8 + strh r0, [r6, 0x2E] + ldr r0, _080F00A0 @ =sub_80F00A4 + str r0, [r6, 0x1C] +_080F0088: + add sp, 0x4 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080F0094: .4byte 0x0000013b +_080F0098: .4byte gSprites +_080F009C: .4byte gBattlerSpriteIds +_080F00A0: .4byte sub_80F00A4 + thumb_func_end sub_80EFFC4 + + thumb_func_start sub_80F00A4 +sub_80F00A4: @ 80F00A4 + push {r4,r5,lr} + sub sp, 0x4 + adds r4, r0, 0 + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0x1 + beq _080F0110 + cmp r0, 0x1 + bgt _080F00BC + cmp r0, 0 + beq _080F00C2 + b _080F0156 +_080F00BC: + cmp r0, 0x2 + beq _080F0142 + b _080F0156 +_080F00C2: + strh r0, [r4, 0x30] + strh r0, [r4, 0x32] + ldrb r1, [r4, 0x1] + movs r0, 0xD + negs r0, r0 + ands r0, r1 + movs r1, 0x4 + orrs r0, r1 + strb r0, [r4, 0x1] + movs r1, 0xFD + lsls r1, 6 + movs r0, 0x50 + bl SetGpuReg + movs r0, 0x52 + movs r1, 0x10 + bl SetGpuReg + ldr r0, [r4, 0x14] + ldrh r0, [r0, 0x2] + bl IndexOfSpritePaletteTag + lsls r0, 24 + lsrs r0, 24 + adds r0, 0x10 + movs r1, 0x1 + lsls r1, r0 + ldr r0, _080F010C @ =0x00007fff + str r0, [sp] + adds r0, r1, 0 + movs r1, 0 + movs r2, 0 + movs r3, 0x10 + bl BeginNormalPaletteFade + b _080F014E + .align 2, 0 +_080F010C: .4byte 0x00007fff +_080F0110: + ldrh r0, [r4, 0x30] + adds r1, r0, 0x1 + strh r1, [r4, 0x30] + lsls r0, 16 + cmp r0, 0 + ble _080F017C + movs r0, 0 + strh r0, [r4, 0x30] + ldrh r2, [r4, 0x32] + adds r2, 0x1 + strh r2, [r4, 0x32] + lsls r1, r2, 8 + movs r0, 0x10 + subs r0, r2 + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + movs r1, 0x32 + ldrsh r0, [r4, r1] + cmp r0, 0x10 + bne _080F017C + b _080F014E +_080F0142: + adds r2, r4, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] +_080F014E: + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + b _080F017C +_080F0156: + ldr r0, _080F0184 @ =gPaletteFade + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0 + bne _080F017C + movs r0, 0x50 + movs r1, 0 + bl SetGpuReg + movs r0, 0x52 + movs r1, 0 + bl SetGpuReg + strh r5, [r4, 0x2E] + ldr r0, _080F0188 @ =sub_80F018C + str r0, [r4, 0x1C] +_080F017C: + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080F0184: .4byte gPaletteFade +_080F0188: .4byte sub_80F018C + thumb_func_end sub_80F00A4 + + thumb_func_start sub_80F018C +sub_80F018C: @ 80F018C + push {r4,lr} + adds r4, r0, 0 + ldrh r1, [r4, 0x2E] + movs r2, 0x2E + ldrsh r0, [r4, r2] + cmp r0, 0 + bne _080F01A4 + ldr r0, _080F01A0 @ =0x0000ffff + strh r0, [r4, 0x2E] + b _080F01B0 + .align 2, 0 +_080F01A0: .4byte 0x0000ffff +_080F01A4: + adds r0, r4, 0 + bl FreeSpriteOamMatrix + adds r0, r4, 0 + bl DestroySprite +_080F01B0: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80F018C + + thumb_func_start sub_80F01B8 +sub_80F01B8: @ 80F01B8 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + adds r6, r0, 0 + adds r1, r6, 0 + adds r1, 0x43 + ldrb r0, [r1] + cmp r0, 0 + beq _080F01D8 + subs r0, 0x1 + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + b _080F01E0 +_080F01D8: + movs r0, 0 + mov r8, r0 + movs r0, 0x1 + strb r0, [r1] +_080F01E0: + movs r0, 0x4 + bl sub_80F05B4 + movs r7, 0 + ldr r2, _080F0264 @ =gSprites + mov r9, r2 + movs r0, 0x1C + add r0, r9 + mov r10, r0 +_080F01F2: + movs r2, 0x20 + ldrsh r1, [r6, r2] + movs r0, 0x22 + ldrsh r2, [r6, r0] + ldr r0, _080F0268 @ =gUnknown_840C104 + mov r3, r8 + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x40 + beq _080F024E + lsls r4, r0, 4 + adds r4, r0 + lsls r4, 2 + mov r2, r9 + adds r5, r4, r2 + movs r0, 0x18 + strh r0, [r5, 0x2E] + ldr r0, _080F026C @ =gUnknown_840BF3C + lsls r1, r7, 2 + adds r1, r0 + movs r0, 0 + ldrsb r0, [r1, r0] + ldrh r2, [r6, 0x20] + adds r0, r2 + strh r0, [r5, 0x32] + movs r0, 0x1 + ldrsb r0, [r1, r0] + ldrh r2, [r6, 0x22] + adds r0, r2 + strh r0, [r5, 0x36] + movs r0, 0x2 + ldrsb r0, [r1, r0] + strh r0, [r5, 0x38] + adds r0, r5, 0 + bl sub_8075068 + add r4, r10 + ldr r0, _080F0270 @ =sub_80F0278 + str r0, [r4] + ldr r0, _080F0274 @ =gUnknown_840C068 + ldrb r1, [r0, 0x4] + adds r0, r5, 0 + bl StartSpriteAnim +_080F024E: + adds r7, 0x1 + cmp r7, 0x2 + bls _080F01F2 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080F0264: .4byte gSprites +_080F0268: .4byte gUnknown_840C104 +_080F026C: .4byte gUnknown_840BF3C +_080F0270: .4byte sub_80F0278 +_080F0274: .4byte gUnknown_840C068 + thumb_func_end sub_80F01B8 + + thumb_func_start sub_80F0278 +sub_80F0278: @ 80F0278 + push {r4,lr} + adds r4, r0, 0 + adds r3, r4, 0 + adds r3, 0x3E + ldrb r2, [r3] + lsrs r1, r2, 2 + movs r0, 0x1 + eors r1, r0 + ands r1, r0 + lsls r1, 2 + movs r0, 0x5 + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r3] + adds r0, r4, 0 + bl AnimateBallThrow + lsls r0, 24 + cmp r0, 0 + beq _080F02A8 + adds r0, r4, 0 + bl DestroySprite +_080F02A8: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80F0278 + + thumb_func_start sub_80F02B0 +sub_80F02B0: @ 80F02B0 + push {r4-r6,lr} + sub sp, 0x4 + adds r4, r0, 0 + movs r1, 0x1 + bl StartSpriteAnim + adds r0, r4, 0 + movs r1, 0 + bl StartSpriteAffineAnim + ldr r0, _080F0364 @ =sub_80F0378 + str r0, [r4, 0x1C] + ldr r0, _080F0368 @ =gUnknown_2023D68 + ldrh r0, [r0] + bl ItemIdToBallId + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0xB + bgt _080F0302 + cmp r5, 0 + blt _080F0302 + ldrh r0, [r4, 0x20] + lsls r0, 24 + lsrs r0, 24 + ldrh r1, [r4, 0x22] + subs r1, 0x5 + lsls r1, 24 + lsrs r1, 24 + str r5, [sp] + movs r2, 0x1 + movs r3, 0x1C + bl LaunchBallStarsTask + ldr r0, _080F036C @ =gBattleAnimTarget + ldrb r1, [r0] + movs r0, 0x1 + movs r2, 0xE + adds r3, r5, 0 + bl LaunchBallFadeMonTask +_080F0302: + ldr r6, _080F0370 @ =gSprites + ldr r5, _080F0374 @ =gBattlerSpriteIds + ldr r4, _080F036C @ =gBattleAnimTarget + ldrb r0, [r4] + adds r0, r5 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r6 + adds r0, 0x3E + ldrb r2, [r0] + movs r1, 0x5 + negs r1, r1 + ands r1, r2 + strb r1, [r0] + ldrb r0, [r4] + adds r0, r5 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r6 + movs r1, 0x1 + bl StartSpriteAffineAnim + ldrb r0, [r4] + adds r0, r5 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r6 + bl AnimateSprite + ldrb r0, [r4] + adds r0, r5 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r6 + movs r1, 0x80 + lsls r1, 5 + strh r1, [r0, 0x30] + add sp, 0x4 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080F0364: .4byte sub_80F0378 +_080F0368: .4byte gUnknown_2023D68 +_080F036C: .4byte gBattleAnimTarget +_080F0370: .4byte gSprites +_080F0374: .4byte gBattlerSpriteIds + thumb_func_end sub_80F02B0 + + thumb_func_start sub_80F0378 +sub_80F0378: @ 80F0378 + push {r4-r7,lr} + adds r7, r0, 0 + movs r5, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x10 + ands r0, r1 + cmp r0, 0 + beq _080F0396 + adds r2, r7, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] +_080F0396: + ldr r4, _080F03C4 @ =gSprites + ldr r3, _080F03C8 @ =gBattlerSpriteIds + ldr r2, _080F03CC @ =gBattleAnimTarget + ldrb r0, [r2] + adds r0, r3 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r1, r0, r4 + adds r0, r1, 0 + adds r0, 0x3F + ldrb r0, [r0] + lsls r0, 26 + cmp r0, 0 + bge _080F03D0 + adds r0, r1, 0 + movs r1, 0 + bl StartSpriteAffineAnim + movs r5, 0x1 + b _080F03F0 + .align 2, 0 +_080F03C4: .4byte gSprites +_080F03C8: .4byte gBattlerSpriteIds +_080F03CC: .4byte gBattleAnimTarget +_080F03D0: + ldr r6, _080F045C @ =0xfffffee0 + adds r0, r6, 0 + ldrh r6, [r1, 0x30] + adds r0, r6 + strh r0, [r1, 0x30] + ldrb r0, [r2] + adds r0, r3 + ldrb r0, [r0] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r4 + ldrh r0, [r1, 0x30] + lsls r0, 16 + asrs r0, 24 + strh r0, [r1, 0x26] +_080F03F0: + adds r0, r7, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x10 + ands r0, r1 + cmp r0, 0 + beq _080F0456 + cmp r5, 0 + beq _080F0456 + ldr r4, _080F0460 @ =gSprites + ldr r3, _080F0464 @ =gBattlerSpriteIds + ldr r2, _080F0468 @ =gBattleAnimTarget + ldrb r0, [r2] + adds r0, r3 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r4 + movs r6, 0 + movs r5, 0 + strh r5, [r0, 0x26] + ldrb r0, [r2] + adds r0, r3 + ldrb r0, [r0] + lsls r2, r0, 4 + adds r2, r0 + lsls r2, 2 + adds r2, r4 + ldr r0, _080F046C @ =gUnknown_2024018 + ldr r0, [r0] + ldr r0, [r0, 0x8] + ldrb r1, [r0, 0x9] + lsls r1, 30 + adds r2, 0x3E + lsrs r1, 31 + lsls r1, 2 + ldrb r3, [r2] + movs r0, 0x5 + negs r0, r0 + ands r0, r3 + orrs r0, r1 + strb r0, [r2] + strh r5, [r7, 0x2E] + ldr r0, _080F0470 @ =sub_80F018C + str r0, [r7, 0x1C] + ldr r0, _080F0474 @ =gUnknown_2024005 + strb r6, [r0] + movs r0, 0x1 + bl UpdateOamPriorityInAllHealthboxes +_080F0456: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080F045C: .4byte 0xfffffee0 +_080F0460: .4byte gSprites +_080F0464: .4byte gBattlerSpriteIds +_080F0468: .4byte gBattleAnimTarget +_080F046C: .4byte gUnknown_2024018 +_080F0470: .4byte sub_80F018C +_080F0474: .4byte gUnknown_2024005 + thumb_func_end sub_80F0378 + + thumb_func_start sub_80F0478 +sub_80F0478: @ 80F0478 + push {r4,lr} + adds r2, r0, 0 + ldrh r0, [r2, 0x24] + ldrh r1, [r2, 0x20] + adds r0, r1 + movs r1, 0 + strh r0, [r2, 0x20] + ldrh r0, [r2, 0x26] + ldrh r3, [r2, 0x22] + adds r0, r3 + strh r0, [r2, 0x22] + strh r1, [r2, 0x26] + strh r1, [r2, 0x24] + ldr r4, _080F04B0 @ =sub_80F04B4 + movs r3, 0 + movs r1, 0x5 + adds r0, r2, 0 + adds r0, 0x38 +_080F049C: + strh r3, [r0] + subs r0, 0x2 + subs r1, 0x1 + cmp r1, 0 + bge _080F049C + str r4, [r2, 0x1C] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080F04B0: .4byte sub_80F04B4 + thumb_func_end sub_80F0478 + + thumb_func_start sub_80F04B4 +sub_80F04B4: @ 80F04B4 + push {r4,lr} + adds r4, r0, 0 + movs r0, 0x80 + lsls r0, 4 + adds r2, r0, 0 + ldrh r1, [r4, 0x2E] + adds r2, r1 + movs r0, 0xD0 + lsls r0, 3 + adds r3, r0, 0 + ldrh r1, [r4, 0x30] + adds r3, r1 + lsls r1, r3, 16 + asrs r1, 24 + ldrh r0, [r4, 0x24] + subs r0, r1 + strh r0, [r4, 0x24] + lsls r0, r2, 16 + asrs r0, 24 + ldrh r1, [r4, 0x26] + adds r0, r1 + strh r0, [r4, 0x26] + movs r0, 0xFF + ands r2, r0 + strh r2, [r4, 0x2E] + ands r3, r0 + strh r3, [r4, 0x30] + movs r2, 0x22 + ldrsh r0, [r4, r2] + movs r2, 0x26 + ldrsh r1, [r4, r2] + adds r0, r1 + cmp r0, 0xA0 + bgt _080F050A + movs r1, 0x20 + ldrsh r0, [r4, r1] + movs r2, 0x24 + ldrsh r1, [r4, r2] + adds r0, r1 + movs r1, 0x8 + negs r1, r1 + cmp r0, r1 + bge _080F051E +_080F050A: + movs r0, 0 + strh r0, [r4, 0x2E] + ldr r0, _080F0524 @ =sub_80F018C + str r0, [r4, 0x1C] + ldr r1, _080F0528 @ =gUnknown_2024005 + movs r0, 0 + strb r0, [r1] + movs r0, 0x1 + bl UpdateOamPriorityInAllHealthboxes +_080F051E: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080F0524: .4byte sub_80F018C +_080F0528: .4byte gUnknown_2024005 + thumb_func_end sub_80F04B4 + + thumb_func_start sub_80F052C +sub_80F052C: @ 80F052C + push {r4,lr} + adds r4, r0, 0 + ldrh r1, [r4, 0x24] + ldrh r0, [r4, 0x20] + adds r1, r0 + movs r0, 0 + strh r1, [r4, 0x20] + ldrh r2, [r4, 0x26] + ldrh r3, [r4, 0x22] + adds r2, r3 + strh r2, [r4, 0x22] + strh r0, [r4, 0x26] + strh r0, [r4, 0x24] + movs r0, 0x22 + strh r0, [r4, 0x2E] + strh r1, [r4, 0x30] + subs r1, 0x8 + strh r1, [r4, 0x32] + strh r2, [r4, 0x34] + movs r0, 0x90 + strh r0, [r4, 0x36] + movs r0, 0x20 + strh r0, [r4, 0x38] + adds r0, r4, 0 + bl sub_8075068 + adds r0, r4, 0 + bl sub_80750C8 + ldr r0, _080F0570 @ =sub_80F0574 + str r0, [r4, 0x1C] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080F0570: .4byte sub_80F0574 + thumb_func_end sub_80F052C + + thumb_func_start sub_80F0574 +sub_80F0574: @ 80F0574 + push {r4,lr} + adds r4, r0, 0 + bl sub_80750C8 + lsls r0, 24 + cmp r0, 0 + bne _080F0590 + movs r1, 0x22 + ldrsh r0, [r4, r1] + movs r2, 0x26 + ldrsh r1, [r4, r2] + adds r0, r1 + cmp r0, 0x40 + ble _080F05A4 +_080F0590: + movs r1, 0 + movs r0, 0 + strh r0, [r4, 0x2E] + ldr r0, _080F05AC @ =sub_80F018C + str r0, [r4, 0x1C] + ldr r0, _080F05B0 @ =gUnknown_2024005 + strb r1, [r0] + movs r0, 0x1 + bl UpdateOamPriorityInAllHealthboxes +_080F05A4: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080F05AC: .4byte sub_80F018C +_080F05B0: .4byte gUnknown_2024005 + thumb_func_end sub_80F0574 + + thumb_func_start sub_80F05B4 +sub_80F05B4: @ 80F05B4 + push {r4,r5,lr} + lsls r0, 24 + ldr r1, _080F05E0 @ =gUnknown_840BF48 + lsrs r5, r0, 21 + adds r4, r5, r1 + ldrh r0, [r4, 0x6] + bl GetSpriteTileStartByTag + lsls r0, 16 + ldr r1, _080F05E4 @ =0xffff0000 + cmp r0, r1 + bne _080F05DA + adds r0, r4, 0 + bl sub_800F034 + ldr r0, _080F05E8 @ =gUnknown_840BFA8 + adds r0, r5, r0 + bl sub_800F078 +_080F05DA: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080F05E0: .4byte gUnknown_840BF48 +_080F05E4: .4byte 0xffff0000 +_080F05E8: .4byte gUnknown_840BFA8 + thumb_func_end sub_80F05B4 + + thumb_func_start LaunchBallStarsTask +LaunchBallStarsTask: @ 80F05EC + push {r4-r6,lr} + mov r6, r10 + mov r5, r9 + mov r4, r8 + push {r4-r6} + adds r6, r0, 0 + mov r8, r1 + mov r9, r2 + mov r10, r3 + ldr r5, [sp, 0x1C] + lsls r6, 24 + lsrs r6, 24 + mov r0, r8 + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + mov r1, r9 + lsls r1, 24 + lsrs r1, 24 + mov r9, r1 + mov r0, r10 + lsls r0, 24 + lsrs r0, 24 + mov r10, r0 + lsls r5, 24 + lsrs r5, 24 + adds r0, r5, 0 + bl sub_80F05B4 + ldr r1, _080F066C @ =gUnknown_840C074 + lsls r0, r5, 2 + adds r0, r1 + ldr r0, [r0] + movs r1, 0x5 + bl CreateTask + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r1, _080F0670 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + strh r6, [r0, 0xA] + mov r1, r8 + strh r1, [r0, 0xC] + mov r1, r9 + strh r1, [r0, 0xE] + mov r1, r10 + strh r1, [r0, 0x10] + strh r5, [r0, 0x26] + movs r0, 0xF + bl PlaySE + adds r0, r4, 0 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r6} + pop {r1} + bx r1 + .align 2, 0 +_080F066C: .4byte gUnknown_840C074 +_080F0670: .4byte gTasks + thumb_func_end LaunchBallStarsTask + + thumb_func_start sub_80F0674 +sub_80F0674: @ 80F0674 + push {lr} + ldr r0, _080F0698 @ =gMain + ldr r1, _080F069C @ =0x00000439 + adds r0, r1 + ldrb r1, [r0] + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _080F0692 + ldr r0, _080F06A0 @ =gUnknown_2024018 + ldr r0, [r0] + ldr r1, [r0, 0x8] + ldrb r0, [r1, 0xA] + adds r0, 0x1 + strb r0, [r1, 0xA] +_080F0692: + pop {r0} + bx r0 + .align 2, 0 +_080F0698: .4byte gMain +_080F069C: .4byte 0x00000439 +_080F06A0: .4byte gUnknown_2024018 + thumb_func_end sub_80F0674 + + thumb_func_start sub_80F06A4 +sub_80F06A4: @ 80F06A4 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x4 + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + ldr r1, _080F0780 @ =gTasks + lsls r0, 2 + add r0, r8 + lsls r0, 3 + adds r6, r0, r1 + ldrh r0, [r6, 0x26] + lsls r0, 24 + lsrs r0, 24 + str r0, [sp] + movs r2, 0x8 + ldrsh r0, [r6, r2] + adds r2, r1, 0 + cmp r0, 0xF + bgt _080F079C + ldrb r1, [r6, 0xA] + ldrb r2, [r6, 0xC] + ldrb r4, [r6, 0xE] + mov r9, r4 + ldrb r3, [r6, 0x10] + ldr r4, [sp] + lsls r0, r4, 1 + adds r0, r4 + lsls r0, 3 + ldr r4, _080F0784 @ =gUnknown_840C0A4 + adds r0, r4 + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + mov r10, r0 + cmp r0, 0x40 + beq _080F0740 + bl sub_80F0674 + mov r0, r10 + lsls r4, r0, 4 + add r4, r10 + lsls r4, 2 + ldr r5, _080F0788 @ =gSprites + adds r7, r4, r5 + ldr r0, _080F078C @ =gUnknown_840C068 + ldr r1, [sp] + adds r0, r1, r0 + ldrb r1, [r0] + adds r0, r7, 0 + bl StartSpriteAnim + adds r5, 0x1C + adds r4, r5 + ldr r0, _080F0790 @ =sub_80F07BC + str r0, [r4] + movs r0, 0x3 + mov r2, r9 + ands r2, r0 + lsls r2, 2 + ldrb r1, [r7, 0x5] + movs r0, 0xD + negs r0, r0 + ands r0, r1 + orrs r0, r2 + strb r0, [r7, 0x5] + ldrb r0, [r6, 0x8] + cmp r0, 0x7 + bls _080F073C + subs r0, 0x8 + lsls r0, 24 + lsrs r0, 24 +_080F073C: + lsls r0, 5 + strh r0, [r7, 0x2E] +_080F0740: + ldr r0, _080F0780 @ =gTasks + mov r4, r8 + lsls r1, r4, 2 + add r1, r8 + lsls r1, 3 + adds r1, r0 + movs r2, 0x8 + ldrsh r1, [r1, r2] + adds r2, r0, 0 + cmp r1, 0xF + bne _080F079C + ldr r0, _080F0794 @ =gMain + ldr r4, _080F0798 @ =0x00000439 + adds r0, r4 + ldrb r1, [r0] + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + bne _080F0776 + ldr r0, _080F0788 @ =gSprites + mov r2, r10 + lsls r1, r2, 4 + add r1, r10 + lsls r1, 2 + adds r1, r0 + movs r0, 0x1 + strh r0, [r1, 0x3C] +_080F0776: + mov r0, r8 + bl DestroyTask + b _080F07AC + .align 2, 0 +_080F0780: .4byte gTasks +_080F0784: .4byte gUnknown_840C0A4 +_080F0788: .4byte gSprites +_080F078C: .4byte gUnknown_840C068 +_080F0790: .4byte sub_80F07BC +_080F0794: .4byte gMain +_080F0798: .4byte 0x00000439 +_080F079C: + mov r4, r8 + lsls r0, r4, 2 + add r0, r8 + lsls r0, 3 + adds r0, r2 + ldrh r1, [r0, 0x8] + adds r1, 0x1 + strh r1, [r0, 0x8] +_080F07AC: + add sp, 0x4 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80F06A4 + + thumb_func_start sub_80F07BC +sub_80F07BC: @ 80F07BC + push {lr} + adds r1, r0, 0 + ldrh r2, [r1, 0x30] + movs r3, 0x30 + ldrsh r0, [r1, r3] + cmp r0, 0 + bne _080F07D4 + ldr r0, _080F07D0 @ =sub_80F07DC + str r0, [r1, 0x1C] + b _080F07D8 + .align 2, 0 +_080F07D0: .4byte sub_80F07DC +_080F07D4: + subs r0, r2, 0x1 + strh r0, [r1, 0x30] +_080F07D8: + pop {r0} + bx r0 + thumb_func_end sub_80F07BC + + thumb_func_start sub_80F07DC +sub_80F07DC: @ 80F07DC + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x2E + ldrsh r0, [r4, r1] + movs r2, 0x30 + ldrsh r1, [r4, r2] + bl Sin + strh r0, [r4, 0x24] + movs r1, 0x2E + ldrsh r0, [r4, r1] + movs r2, 0x30 + ldrsh r1, [r4, r2] + bl Cos + strh r0, [r4, 0x26] + ldrh r0, [r4, 0x30] + adds r0, 0x2 + strh r0, [r4, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x32 + bne _080F0810 + adds r0, r4, 0 + bl sub_80F1198 +_080F0810: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80F07DC + + thumb_func_start sub_80F0818 +sub_80F0818: @ 80F0818 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x14 + lsls r0, 24 + lsrs r0, 24 + mov r9, r0 + ldr r0, _080F08FC @ =gTasks + mov r2, r9 + lsls r1, r2, 2 + add r1, r9 + lsls r1, 3 + adds r1, r0 + ldrh r0, [r1, 0x26] + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + ldrb r3, [r1, 0xA] + str r3, [sp] + ldrb r0, [r1, 0xC] + str r0, [sp, 0x4] + ldrb r2, [r1, 0xE] + str r2, [sp, 0x8] + ldrb r1, [r1, 0x10] + str r1, [sp, 0xC] + movs r7, 0 + ldr r3, _080F0900 @ =gSprites + mov r10, r3 + mov r1, r8 + lsls r0, r1, 1 + add r0, r8 + lsls r0, 3 + str r0, [sp, 0x10] +_080F085E: + ldr r0, _080F0904 @ =gUnknown_840C0A4 + ldr r2, [sp, 0x10] + adds r0, r2, r0 + ldr r1, [sp] + ldr r2, [sp, 0x4] + ldr r3, [sp, 0xC] + bl CreateSprite + lsls r0, 24 + lsrs r6, r0, 24 + cmp r6, 0x40 + beq _080F08BE + bl sub_80F0674 + lsls r4, r6, 4 + adds r4, r6 + lsls r4, 2 + mov r3, r10 + adds r5, r4, r3 + ldr r0, _080F0908 @ =gUnknown_840C068 + add r0, r8 + ldrb r1, [r0] + adds r0, r5, 0 + bl StartSpriteAnim + ldr r0, _080F090C @ =gSprites + 0x1C + adds r4, r0 + ldr r0, _080F0910 @ =sub_80F0D5C + str r0, [r4] + movs r0, 0x3 + ldr r2, [sp, 0x8] + ands r2, r0 + lsls r2, 2 + ldrb r0, [r5, 0x5] + movs r3, 0xD + negs r3, r3 + adds r1, r3, 0 + ands r0, r1 + orrs r0, r2 + strb r0, [r5, 0x5] + lsls r0, r7, 5 + strh r0, [r5, 0x2E] + movs r0, 0xA + strh r0, [r5, 0x36] + movs r0, 0x2 + strh r0, [r5, 0x38] + movs r0, 0x1 + strh r0, [r5, 0x3A] +_080F08BE: + adds r0, r7, 0x1 + lsls r0, 24 + lsrs r7, r0, 24 + cmp r7, 0x7 + bls _080F085E + ldr r0, _080F0914 @ =gMain + ldr r1, _080F0918 @ =0x00000439 + adds r0, r1 + ldrb r1, [r0] + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + bne _080F08E6 + ldr r0, _080F0900 @ =gSprites + lsls r1, r6, 4 + adds r1, r6 + lsls r1, 2 + adds r1, r0 + movs r0, 0x1 + strh r0, [r1, 0x3C] +_080F08E6: + mov r0, r9 + bl DestroyTask + add sp, 0x14 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080F08FC: .4byte gTasks +_080F0900: .4byte gSprites +_080F0904: .4byte gUnknown_840C0A4 +_080F0908: .4byte gUnknown_840C068 +_080F090C: .4byte gSprites + 0x1C +_080F0910: .4byte sub_80F0D5C +_080F0914: .4byte gMain +_080F0918: .4byte 0x00000439 + thumb_func_end sub_80F0818 + + thumb_func_start sub_80F091C +sub_80F091C: @ 80F091C + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x14 + lsls r0, 24 + lsrs r0, 24 + mov r9, r0 + ldr r0, _080F0A00 @ =gTasks + mov r2, r9 + lsls r1, r2, 2 + add r1, r9 + lsls r1, 3 + adds r1, r0 + ldrh r0, [r1, 0x26] + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + ldrb r3, [r1, 0xA] + str r3, [sp] + ldrb r0, [r1, 0xC] + str r0, [sp, 0x4] + ldrb r2, [r1, 0xE] + str r2, [sp, 0x8] + ldrb r1, [r1, 0x10] + str r1, [sp, 0xC] + movs r7, 0 + ldr r3, _080F0A04 @ =gSprites + mov r10, r3 + mov r1, r8 + lsls r0, r1, 1 + add r0, r8 + lsls r0, 3 + str r0, [sp, 0x10] +_080F0962: + ldr r0, _080F0A08 @ =gUnknown_840C0A4 + ldr r2, [sp, 0x10] + adds r0, r2, r0 + ldr r1, [sp] + ldr r2, [sp, 0x4] + ldr r3, [sp, 0xC] + bl CreateSprite + lsls r0, 24 + lsrs r6, r0, 24 + cmp r6, 0x40 + beq _080F09C2 + bl sub_80F0674 + lsls r4, r6, 4 + adds r4, r6 + lsls r4, 2 + mov r3, r10 + adds r5, r4, r3 + ldr r0, _080F0A0C @ =gUnknown_840C068 + add r0, r8 + ldrb r1, [r0] + adds r0, r5, 0 + bl StartSpriteAnim + ldr r0, _080F0A10 @ =gSprites + 0x1C + adds r4, r0 + ldr r0, _080F0A14 @ =sub_80F0D5C + str r0, [r4] + movs r0, 0x3 + ldr r2, [sp, 0x8] + ands r2, r0 + lsls r2, 2 + ldrb r0, [r5, 0x5] + movs r3, 0xD + negs r3, r3 + adds r1, r3, 0 + ands r0, r1 + orrs r0, r2 + strb r0, [r5, 0x5] + lsls r0, r7, 5 + strh r0, [r5, 0x2E] + movs r0, 0xA + strh r0, [r5, 0x36] + movs r0, 0x1 + strh r0, [r5, 0x38] + movs r0, 0x2 + strh r0, [r5, 0x3A] +_080F09C2: + adds r0, r7, 0x1 + lsls r0, 24 + lsrs r7, r0, 24 + cmp r7, 0x7 + bls _080F0962 + ldr r0, _080F0A18 @ =gMain + ldr r1, _080F0A1C @ =0x00000439 + adds r0, r1 + ldrb r1, [r0] + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + bne _080F09EA + ldr r0, _080F0A04 @ =gSprites + lsls r1, r6, 4 + adds r1, r6 + lsls r1, 2 + adds r1, r0 + movs r0, 0x1 + strh r0, [r1, 0x3C] +_080F09EA: + mov r0, r9 + bl DestroyTask + add sp, 0x14 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080F0A00: .4byte gTasks +_080F0A04: .4byte gSprites +_080F0A08: .4byte gUnknown_840C0A4 +_080F0A0C: .4byte gUnknown_840C068 +_080F0A10: .4byte gSprites + 0x1C +_080F0A14: .4byte sub_80F0D5C +_080F0A18: .4byte gMain +_080F0A1C: .4byte 0x00000439 + thumb_func_end sub_80F091C + + thumb_func_start sub_80F0A20 +sub_80F0A20: @ 80F0A20 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x14 + lsls r0, 24 + lsrs r0, 24 + mov r9, r0 + ldr r1, _080F0B00 @ =gTasks + lsls r0, 2 + add r0, r9 + lsls r0, 3 + adds r0, r1 + ldrh r1, [r0, 0x26] + lsls r1, 24 + lsrs r1, 24 + ldrb r2, [r0, 0xA] + str r2, [sp] + ldrb r3, [r0, 0xC] + str r3, [sp, 0x4] + ldrb r2, [r0, 0xE] + str r2, [sp, 0x8] + ldrb r0, [r0, 0x10] + str r0, [sp, 0xC] + movs r7, 0 + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 3 + str r0, [sp, 0x10] + ldr r3, _080F0B04 @ =gSprites + mov r8, r3 + ldr r0, _080F0B08 @ =gUnknown_840C068 + adds r1, r0 + mov r10, r1 +_080F0A66: + ldr r0, _080F0B0C @ =gUnknown_840C0A4 + ldr r1, [sp, 0x10] + adds r0, r1, r0 + ldr r1, [sp] + ldr r2, [sp, 0x4] + ldr r3, [sp, 0xC] + bl CreateSprite + lsls r0, 24 + lsrs r6, r0, 24 + cmp r6, 0x40 + beq _080F0AC2 + bl sub_80F0674 + lsls r4, r6, 4 + adds r4, r6 + lsls r4, 2 + mov r2, r8 + adds r5, r4, r2 + mov r3, r10 + ldrb r1, [r3] + adds r0, r5, 0 + bl StartSpriteAnim + ldr r0, _080F0B10 @ =gSprites + 0x1C + adds r4, r0 + ldr r0, _080F0B14 @ =sub_80F0D5C + str r0, [r4] + movs r0, 0x3 + ldr r2, [sp, 0x8] + ands r2, r0 + lsls r2, 2 + ldrb r0, [r5, 0x5] + movs r3, 0xD + negs r3, r3 + adds r1, r3, 0 + ands r0, r1 + orrs r0, r2 + strb r0, [r5, 0x5] + lsls r0, r7, 5 + strh r0, [r5, 0x2E] + movs r0, 0x4 + strh r0, [r5, 0x36] + movs r0, 0x1 + strh r0, [r5, 0x38] + strh r0, [r5, 0x3A] +_080F0AC2: + adds r0, r7, 0x1 + lsls r0, 24 + lsrs r7, r0, 24 + cmp r7, 0x7 + bls _080F0A66 + ldr r0, _080F0B18 @ =gMain + ldr r1, _080F0B1C @ =0x00000439 + adds r0, r1 + ldrb r1, [r0] + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + bne _080F0AEA + ldr r0, _080F0B04 @ =gSprites + lsls r1, r6, 4 + adds r1, r6 + lsls r1, 2 + adds r1, r0 + movs r0, 0x1 + strh r0, [r1, 0x3C] +_080F0AEA: + mov r0, r9 + bl DestroyTask + add sp, 0x14 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080F0B00: .4byte gTasks +_080F0B04: .4byte gSprites +_080F0B08: .4byte gUnknown_840C068 +_080F0B0C: .4byte gUnknown_840C0A4 +_080F0B10: .4byte gSprites + 0x1C +_080F0B14: .4byte sub_80F0D5C +_080F0B18: .4byte gMain +_080F0B1C: .4byte 0x00000439 + thumb_func_end sub_80F0A20 + + thumb_func_start sub_80F0B20 +sub_80F0B20: @ 80F0B20 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x14 + lsls r0, 24 + lsrs r0, 24 + mov r9, r0 + ldr r0, _080F0C08 @ =gTasks + mov r2, r9 + lsls r1, r2, 2 + add r1, r9 + lsls r1, 3 + adds r1, r0 + ldrh r0, [r1, 0x26] + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + ldrb r3, [r1, 0xA] + str r3, [sp] + ldrb r0, [r1, 0xC] + str r0, [sp, 0x4] + ldrb r2, [r1, 0xE] + str r2, [sp, 0x8] + ldrb r1, [r1, 0x10] + str r1, [sp, 0xC] + movs r7, 0 + ldr r3, _080F0C0C @ =gSprites + mov r10, r3 + mov r1, r8 + lsls r0, r1, 1 + add r0, r8 + lsls r0, 3 + str r0, [sp, 0x10] +_080F0B66: + ldr r0, _080F0C10 @ =gUnknown_840C0A4 + ldr r2, [sp, 0x10] + adds r0, r2, r0 + ldr r1, [sp] + ldr r2, [sp, 0x4] + ldr r3, [sp, 0xC] + bl CreateSprite + lsls r0, 24 + lsrs r6, r0, 24 + cmp r6, 0x40 + beq _080F0BCA + bl sub_80F0674 + lsls r4, r6, 4 + adds r4, r6 + lsls r4, 2 + mov r3, r10 + adds r5, r4, r3 + ldr r0, _080F0C14 @ =gUnknown_840C068 + add r0, r8 + ldrb r1, [r0] + adds r0, r5, 0 + bl StartSpriteAnim + ldr r0, _080F0C18 @ =gSprites + 0x1C + adds r4, r0 + ldr r0, _080F0C1C @ =sub_80F0D5C + str r0, [r4] + movs r0, 0x3 + ldr r2, [sp, 0x8] + ands r2, r0 + lsls r2, 2 + ldrb r0, [r5, 0x5] + movs r3, 0xD + negs r3, r3 + adds r1, r3, 0 + ands r0, r1 + orrs r0, r2 + strb r0, [r5, 0x5] + lsls r0, r7, 1 + adds r0, r7 + lsls r0, 3 + adds r0, r7 + strh r0, [r5, 0x2E] + movs r0, 0x5 + strh r0, [r5, 0x36] + movs r0, 0x1 + strh r0, [r5, 0x38] + strh r0, [r5, 0x3A] +_080F0BCA: + adds r0, r7, 0x1 + lsls r0, 24 + lsrs r7, r0, 24 + cmp r7, 0x9 + bls _080F0B66 + ldr r0, _080F0C20 @ =gMain + ldr r1, _080F0C24 @ =0x00000439 + adds r0, r1 + ldrb r1, [r0] + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + bne _080F0BF2 + ldr r0, _080F0C0C @ =gSprites + lsls r1, r6, 4 + adds r1, r6 + lsls r1, 2 + adds r1, r0 + movs r0, 0x1 + strh r0, [r1, 0x3C] +_080F0BF2: + mov r0, r9 + bl DestroyTask + add sp, 0x14 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080F0C08: .4byte gTasks +_080F0C0C: .4byte gSprites +_080F0C10: .4byte gUnknown_840C0A4 +_080F0C14: .4byte gUnknown_840C068 +_080F0C18: .4byte gSprites + 0x1C +_080F0C1C: .4byte sub_80F0D5C +_080F0C20: .4byte gMain +_080F0C24: .4byte 0x00000439 + thumb_func_end sub_80F0B20 + + thumb_func_start sub_80F0C28 +sub_80F0C28: @ 80F0C28 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x18 + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + ldr r1, _080F0C54 @ =gTasks + lsls r2, r0, 2 + adds r0, r2, r0 + lsls r0, 3 + adds r3, r0, r1 + ldrh r1, [r3, 0x16] + movs r4, 0x16 + ldrsh r0, [r3, r4] + cmp r0, 0 + beq _080F0C58 + subs r0, r1, 0x1 + strh r0, [r3, 0x16] + b _080F0D2A + .align 2, 0 +_080F0C54: .4byte gTasks +_080F0C58: + ldrh r0, [r3, 0x26] + lsls r0, 24 + lsrs r0, 24 + ldrb r1, [r3, 0xA] + str r1, [sp] + ldrb r4, [r3, 0xC] + str r4, [sp, 0x4] + ldrb r1, [r3, 0xE] + str r1, [sp, 0x8] + ldrb r3, [r3, 0x10] + str r3, [sp, 0xC] + movs r7, 0 + str r2, [sp, 0x14] + lsls r1, r0, 1 + adds r1, r0 + lsls r1, 3 + str r1, [sp, 0x10] + ldr r3, _080F0D3C @ =gSprites + mov r9, r3 + ldr r1, _080F0D40 @ =gUnknown_840C068 + adds r0, r1 + mov r10, r0 +_080F0C84: + ldr r0, _080F0D44 @ =gUnknown_840C0A4 + ldr r4, [sp, 0x10] + adds r0, r4, r0 + ldr r1, [sp] + ldr r2, [sp, 0x4] + ldr r3, [sp, 0xC] + bl CreateSprite + lsls r0, 24 + lsrs r6, r0, 24 + cmp r6, 0x40 + beq _080F0CE0 + bl sub_80F0674 + lsls r4, r6, 4 + adds r4, r6 + lsls r4, 2 + mov r0, r9 + adds r5, r4, r0 + mov r3, r10 + ldrb r1, [r3] + adds r0, r5, 0 + bl StartSpriteAnim + ldr r0, _080F0D48 @ =gSprites + 0x1C + adds r4, r0 + ldr r0, _080F0D4C @ =sub_80F0D5C + str r0, [r4] + movs r0, 0x3 + ldr r2, [sp, 0x8] + ands r2, r0 + lsls r2, 2 + ldrb r0, [r5, 0x5] + movs r3, 0xD + negs r3, r3 + adds r1, r3, 0 + ands r0, r1 + orrs r0, r2 + strb r0, [r5, 0x5] + lsls r0, r7, 5 + strh r0, [r5, 0x2E] + movs r0, 0x8 + strh r0, [r5, 0x36] + movs r0, 0x2 + strh r0, [r5, 0x38] + strh r0, [r5, 0x3A] +_080F0CE0: + adds r0, r7, 0x1 + lsls r0, 24 + lsrs r7, r0, 24 + cmp r7, 0x7 + bls _080F0C84 + ldr r0, _080F0D50 @ =gTasks + ldr r1, [sp, 0x14] + add r1, r8 + lsls r1, 3 + adds r1, r0 + movs r0, 0x8 + strh r0, [r1, 0x16] + ldrh r0, [r1, 0x8] + adds r0, 0x1 + strh r0, [r1, 0x8] + lsls r0, 16 + asrs r2, r0, 16 + cmp r2, 0x2 + bne _080F0D2A + ldr r0, _080F0D54 @ =gMain + ldr r4, _080F0D58 @ =0x00000439 + adds r0, r4 + ldrb r1, [r0] + adds r0, r2, 0 + ands r0, r1 + cmp r0, 0 + bne _080F0D24 + ldr r0, _080F0D3C @ =gSprites + lsls r1, r6, 4 + adds r1, r6 + lsls r1, 2 + adds r1, r0 + movs r0, 0x1 + strh r0, [r1, 0x3C] +_080F0D24: + mov r0, r8 + bl DestroyTask +_080F0D2A: + add sp, 0x18 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080F0D3C: .4byte gSprites +_080F0D40: .4byte gUnknown_840C068 +_080F0D44: .4byte gUnknown_840C0A4 +_080F0D48: .4byte gSprites + 0x1C +_080F0D4C: .4byte sub_80F0D5C +_080F0D50: .4byte gTasks +_080F0D54: .4byte gMain +_080F0D58: .4byte 0x00000439 + thumb_func_end sub_80F0C28 + + thumb_func_start sub_80F0D5C +sub_80F0D5C: @ 80F0D5C + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x2E + ldrsh r0, [r4, r1] + movs r2, 0x30 + ldrsh r1, [r4, r2] + bl Sin + strh r0, [r4, 0x24] + movs r1, 0x2E + ldrsh r0, [r4, r1] + movs r2, 0x32 + ldrsh r1, [r4, r2] + bl Cos + strh r0, [r4, 0x26] + ldrh r0, [r4, 0x36] + ldrh r1, [r4, 0x2E] + adds r0, r1 + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0x2E] + ldrh r0, [r4, 0x38] + ldrh r2, [r4, 0x30] + adds r0, r2 + strh r0, [r4, 0x30] + ldrh r0, [r4, 0x3A] + ldrh r1, [r4, 0x32] + adds r0, r1 + strh r0, [r4, 0x32] + ldrh r0, [r4, 0x34] + adds r0, 0x1 + strh r0, [r4, 0x34] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x33 + bne _080F0DAC + adds r0, r4, 0 + bl sub_80F1198 +_080F0DAC: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80F0D5C + + thumb_func_start sub_80F0DB4 +sub_80F0DB4: @ 80F0DB4 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x14 + lsls r0, 24 + lsrs r0, 24 + mov r9, r0 + ldr r1, _080F0E90 @ =gTasks + lsls r0, 2 + add r0, r9 + lsls r0, 3 + adds r0, r1 + ldrh r1, [r0, 0x26] + lsls r1, 24 + lsrs r1, 24 + ldrb r2, [r0, 0xA] + str r2, [sp] + ldrb r3, [r0, 0xC] + str r3, [sp, 0x4] + ldrb r2, [r0, 0xE] + str r2, [sp, 0x8] + ldrb r0, [r0, 0x10] + str r0, [sp, 0xC] + movs r7, 0 + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 3 + str r0, [sp, 0x10] + ldr r3, _080F0E94 @ =gSprites + mov r8, r3 + ldr r0, _080F0E98 @ =gUnknown_840C068 + adds r1, r0 + mov r10, r1 +_080F0DFA: + ldr r0, _080F0E9C @ =gUnknown_840C0A4 + ldr r1, [sp, 0x10] + adds r0, r1, r0 + ldr r1, [sp] + ldr r2, [sp, 0x4] + ldr r3, [sp, 0xC] + bl CreateSprite + lsls r0, 24 + lsrs r6, r0, 24 + cmp r6, 0x40 + beq _080F0E52 + bl sub_80F0674 + lsls r4, r6, 4 + adds r4, r6 + lsls r4, 2 + mov r2, r8 + adds r5, r4, r2 + mov r3, r10 + ldrb r1, [r3] + adds r0, r5, 0 + bl StartSpriteAnim + ldr r0, _080F0EA0 @ =gSprites + 0x1C + adds r4, r0 + ldr r0, _080F0EA4 @ =sub_80F0EB0 + str r0, [r4] + movs r0, 0x3 + ldr r2, [sp, 0x8] + ands r2, r0 + lsls r2, 2 + ldrb r0, [r5, 0x5] + movs r3, 0xD + negs r3, r3 + adds r1, r3, 0 + ands r0, r1 + orrs r0, r2 + strb r0, [r5, 0x5] + lsls r0, r7, 2 + adds r0, r7 + lsls r0, 2 + adds r0, r7 + strh r0, [r5, 0x2E] +_080F0E52: + adds r0, r7, 0x1 + lsls r0, 24 + lsrs r7, r0, 24 + cmp r7, 0xB + bls _080F0DFA + ldr r0, _080F0EA8 @ =gMain + ldr r1, _080F0EAC @ =0x00000439 + adds r0, r1 + ldrb r1, [r0] + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + bne _080F0E7A + ldr r0, _080F0E94 @ =gSprites + lsls r1, r6, 4 + adds r1, r6 + lsls r1, 2 + adds r1, r0 + movs r0, 0x1 + strh r0, [r1, 0x3C] +_080F0E7A: + mov r0, r9 + bl DestroyTask + add sp, 0x14 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080F0E90: .4byte gTasks +_080F0E94: .4byte gSprites +_080F0E98: .4byte gUnknown_840C068 +_080F0E9C: .4byte gUnknown_840C0A4 +_080F0EA0: .4byte gSprites + 0x1C +_080F0EA4: .4byte sub_80F0EB0 +_080F0EA8: .4byte gMain +_080F0EAC: .4byte 0x00000439 + thumb_func_end sub_80F0DB4 + + thumb_func_start sub_80F0EB0 +sub_80F0EB0: @ 80F0EB0 + push {r4,r5,lr} + adds r5, r0, 0 + movs r1, 0x2E + ldrsh r0, [r5, r1] + movs r2, 0x30 + ldrsh r1, [r5, r2] + bl Sin + strh r0, [r5, 0x24] + movs r0, 0x2E + ldrsh r4, [r5, r0] + movs r2, 0x32 + ldrsh r1, [r5, r2] + adds r0, r4, 0 + bl Sin + adds r1, r0, 0 + lsls r1, 16 + asrs r1, 16 + adds r0, r4, 0 + bl Cos + strh r0, [r5, 0x26] + ldrh r0, [r5, 0x2E] + adds r0, 0x6 + movs r1, 0xFF + ands r0, r1 + strh r0, [r5, 0x2E] + ldrh r0, [r5, 0x30] + adds r0, 0x1 + strh r0, [r5, 0x30] + ldrh r0, [r5, 0x32] + adds r0, 0x1 + strh r0, [r5, 0x32] + ldrh r0, [r5, 0x34] + adds r0, 0x1 + strh r0, [r5, 0x34] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x33 + bne _080F0F08 + adds r0, r5, 0 + bl sub_80F1198 +_080F0F08: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80F0EB0 + + thumb_func_start sub_80F0F10 +sub_80F0F10: @ 80F0F10 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x18 + lsls r0, 24 + lsrs r0, 24 + str r0, [sp] + ldr r0, _080F0FC4 @ =gTasks + ldr r2, [sp] + lsls r1, r2, 2 + adds r1, r2 + lsls r1, 3 + adds r1, r0 + ldrh r0, [r1, 0x26] + lsls r0, 24 + lsrs r0, 24 + mov r9, r0 + ldrb r3, [r1, 0xA] + str r3, [sp, 0x4] + ldrb r0, [r1, 0xC] + str r0, [sp, 0x8] + ldrb r2, [r1, 0xE] + str r2, [sp, 0xC] + ldrb r1, [r1, 0x10] + str r1, [sp, 0x10] + movs r3, 0 + mov r8, r3 + mov r1, r9 + lsls r0, r1, 1 + add r0, r9 + lsls r0, 3 + str r0, [sp, 0x14] +_080F0F54: + movs r7, 0 + movs r2, 0x1 + add r2, r8 + mov r10, r2 +_080F0F5C: + ldr r0, _080F0FC8 @ =gUnknown_840C0A4 + ldr r3, [sp, 0x14] + adds r0, r3, r0 + ldr r1, [sp, 0x4] + ldr r2, [sp, 0x8] + ldr r3, [sp, 0x10] + bl CreateSprite + lsls r0, 24 + lsrs r6, r0, 24 + cmp r6, 0x40 + beq _080F0FE4 + bl sub_80F0674 + lsls r4, r6, 4 + adds r4, r6 + lsls r4, 2 + ldr r0, _080F0FCC @ =gSprites + adds r5, r4, r0 + ldr r0, _080F0FD0 @ =gUnknown_840C068 + add r0, r9 + ldrb r1, [r0] + adds r0, r5, 0 + bl StartSpriteAnim + ldr r1, _080F0FD4 @ =gSprites + 0x1C + adds r4, r1 + ldr r0, _080F0FD8 @ =sub_80F0D5C + str r0, [r4] + movs r0, 0x3 + ldr r1, [sp, 0xC] + ands r1, r0 + lsls r1, 2 + ldrb r0, [r5, 0x5] + movs r3, 0xD + negs r3, r3 + adds r2, r3, 0 + ands r0, r2 + orrs r0, r1 + strb r0, [r5, 0x5] + lsls r0, r7, 5 + strh r0, [r5, 0x2E] + movs r0, 0x8 + strh r0, [r5, 0x36] + mov r0, r8 + cmp r0, 0 + bne _080F0FDC + movs r0, 0x2 + strh r0, [r5, 0x38] + movs r0, 0x1 + b _080F0FE2 + .align 2, 0 +_080F0FC4: .4byte gTasks +_080F0FC8: .4byte gUnknown_840C0A4 +_080F0FCC: .4byte gSprites +_080F0FD0: .4byte gUnknown_840C068 +_080F0FD4: .4byte gSprites + 0x1C +_080F0FD8: .4byte sub_80F0D5C +_080F0FDC: + movs r0, 0x1 + strh r0, [r5, 0x38] + movs r0, 0x2 +_080F0FE2: + strh r0, [r5, 0x3A] +_080F0FE4: + adds r0, r7, 0x1 + lsls r0, 24 + lsrs r7, r0, 24 + cmp r7, 0x7 + bls _080F0F5C + mov r1, r10 + lsls r0, r1, 24 + lsrs r0, 24 + mov r8, r0 + cmp r0, 0x1 + bls _080F0F54 + ldr r0, _080F1030 @ =gMain + ldr r2, _080F1034 @ =0x00000439 + adds r0, r2 + ldrb r1, [r0] + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + bne _080F1018 + ldr r0, _080F1038 @ =gSprites + lsls r1, r6, 4 + adds r1, r6 + lsls r1, 2 + adds r1, r0 + movs r0, 0x1 + strh r0, [r1, 0x3C] +_080F1018: + ldr r0, [sp] + bl DestroyTask + add sp, 0x18 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080F1030: .4byte gMain +_080F1034: .4byte 0x00000439 +_080F1038: .4byte gSprites + thumb_func_end sub_80F0F10 + + thumb_func_start sub_80F103C +sub_80F103C: @ 80F103C + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x14 + lsls r0, 24 + lsrs r0, 24 + mov r9, r0 + ldr r1, _080F1114 @ =gTasks + lsls r0, 2 + add r0, r9 + lsls r0, 3 + adds r0, r1 + ldrh r1, [r0, 0x26] + lsls r1, 24 + lsrs r1, 24 + ldrb r2, [r0, 0xA] + str r2, [sp] + ldrb r3, [r0, 0xC] + str r3, [sp, 0x4] + ldrb r2, [r0, 0xE] + str r2, [sp, 0x8] + ldrb r0, [r0, 0x10] + str r0, [sp, 0xC] + movs r7, 0 + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 3 + str r0, [sp, 0x10] + ldr r3, _080F1118 @ =gSprites + mov r8, r3 + ldr r0, _080F111C @ =gUnknown_840C068 + adds r1, r0 + mov r10, r1 +_080F1082: + ldr r0, _080F1120 @ =gUnknown_840C0A4 + ldr r1, [sp, 0x10] + adds r0, r1, r0 + ldr r1, [sp] + ldr r2, [sp, 0x4] + ldr r3, [sp, 0xC] + bl CreateSprite + lsls r0, 24 + lsrs r6, r0, 24 + cmp r6, 0x40 + beq _080F10D4 + bl sub_80F0674 + lsls r4, r6, 4 + adds r4, r6 + lsls r4, 2 + mov r2, r8 + adds r5, r4, r2 + mov r3, r10 + ldrb r1, [r3] + adds r0, r5, 0 + bl StartSpriteAnim + ldr r0, _080F1124 @ =gSprites + 0x1C + adds r4, r0 + ldr r0, _080F1128 @ =sub_80F1134 + str r0, [r4] + movs r0, 0x3 + ldr r2, [sp, 0x8] + ands r2, r0 + lsls r2, 2 + ldrb r0, [r5, 0x5] + movs r3, 0xD + negs r3, r3 + adds r1, r3, 0 + ands r0, r1 + orrs r0, r2 + strb r0, [r5, 0x5] + lsls r0, r7, 5 + strh r0, [r5, 0x2E] +_080F10D4: + adds r0, r7, 0x1 + lsls r0, 24 + lsrs r7, r0, 24 + cmp r7, 0x7 + bls _080F1082 + ldr r0, _080F112C @ =gMain + ldr r1, _080F1130 @ =0x00000439 + adds r0, r1 + ldrb r1, [r0] + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + bne _080F10FC + ldr r0, _080F1118 @ =gSprites + lsls r1, r6, 4 + adds r1, r6 + lsls r1, 2 + adds r1, r0 + movs r0, 0x1 + strh r0, [r1, 0x3C] +_080F10FC: + mov r0, r9 + bl DestroyTask + add sp, 0x14 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080F1114: .4byte gTasks +_080F1118: .4byte gSprites +_080F111C: .4byte gUnknown_840C068 +_080F1120: .4byte gUnknown_840C0A4 +_080F1124: .4byte gSprites + 0x1C +_080F1128: .4byte sub_80F1134 +_080F112C: .4byte gMain +_080F1130: .4byte 0x00000439 + thumb_func_end sub_80F103C + + thumb_func_start sub_80F1134 +sub_80F1134: @ 80F1134 + push {r4,r5,lr} + adds r5, r0, 0 + movs r1, 0x2E + ldrsh r0, [r5, r1] + movs r2, 0x30 + ldrsh r1, [r5, r2] + bl Sin + strh r0, [r5, 0x24] + movs r0, 0x2E + ldrsh r4, [r5, r0] + ldrh r1, [r5, 0x2E] + movs r0, 0x3F + ands r0, r1 + movs r2, 0x32 + ldrsh r1, [r5, r2] + bl Sin + adds r1, r0, 0 + lsls r1, 16 + asrs r1, 16 + adds r0, r4, 0 + bl Cos + strh r0, [r5, 0x26] + ldrh r0, [r5, 0x2E] + adds r0, 0xA + movs r1, 0xFF + ands r0, r1 + strh r0, [r5, 0x2E] + ldrh r0, [r5, 0x30] + adds r0, 0x1 + strh r0, [r5, 0x30] + ldrh r0, [r5, 0x32] + adds r0, 0x1 + strh r0, [r5, 0x32] + ldrh r0, [r5, 0x34] + adds r0, 0x1 + strh r0, [r5, 0x34] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x33 + bne _080F1190 + adds r0, r5, 0 + bl sub_80F1198 +_080F1190: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80F1134 + + thumb_func_start sub_80F1198 +sub_80F1198: @ 80F1198 + push {r4-r7,lr} + adds r7, r0, 0 + ldr r0, _080F11BC @ =gMain + ldr r1, _080F11C0 @ =0x00000439 + adds r0, r1 + ldrb r1, [r0] + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + bne _080F11C4 + movs r1, 0x3C + ldrsh r0, [r7, r1] + cmp r0, 0x1 + bne _080F11F6 + adds r0, r7, 0 + bl DestroySpriteAndFreeResources + b _080F1212 + .align 2, 0 +_080F11BC: .4byte gMain +_080F11C0: .4byte 0x00000439 +_080F11C4: + ldr r2, _080F1200 @ =gUnknown_2024018 + ldr r0, [r2] + ldr r1, [r0, 0x8] + ldrb r0, [r1, 0xA] + subs r0, 0x1 + strb r0, [r1, 0xA] + ldr r0, [r2] + ldr r0, [r0, 0x8] + ldrb r0, [r0, 0xA] + cmp r0, 0 + bne _080F120C + movs r6, 0 + ldr r5, _080F1204 @ =gUnknown_840BF48 + ldr r4, _080F1208 @ =gUnknown_840BFA8 +_080F11E0: + ldrh r0, [r5, 0x6] + bl FreeSpriteTilesByTag + ldrh r0, [r4, 0x4] + bl FreeSpritePaletteByTag + adds r5, 0x8 + adds r4, 0x8 + adds r6, 0x1 + cmp r6, 0xB + ble _080F11E0 +_080F11F6: + adds r0, r7, 0 + bl DestroySprite + b _080F1212 + .align 2, 0 +_080F1200: .4byte gUnknown_2024018 +_080F1204: .4byte gUnknown_840BF48 +_080F1208: .4byte gUnknown_840BFA8 +_080F120C: + adds r0, r7, 0 + bl DestroySprite +_080F1212: + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80F1198 + + thumb_func_start LaunchBallFadeMonTask +LaunchBallFadeMonTask: @ 80F1218 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + sub sp, 0x4 + adds r4, r0, 0 + mov r9, r2 + lsls r4, 24 + lsrs r4, 24 + lsls r1, 24 + lsrs r6, r1, 24 + lsls r3, 24 + lsrs r7, r3, 24 + ldr r0, _080F127C @ =sub_80F12E0 + movs r1, 0x5 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + ldr r1, _080F1280 @ =gTasks + lsls r0, 2 + add r0, r8 + lsls r0, 3 + adds r5, r0, r1 + strh r7, [r5, 0x26] + strh r6, [r5, 0xE] + mov r0, r9 + strh r0, [r5, 0x1C] + mov r1, r9 + lsrs r0, r1, 16 + strh r0, [r5, 0x1E] + cmp r4, 0 + bne _080F1288 + lsls r0, r6, 20 + movs r2, 0x80 + lsls r2, 17 + adds r0, r2 + lsrs r0, 16 + ldr r2, _080F1284 @ =gUnknown_840C1C4 + lsls r1, r7, 1 + adds r1, r2 + ldrh r3, [r1] + movs r1, 0x10 + movs r2, 0 + bl BlendPalette + movs r0, 0x1 + strh r0, [r5, 0xA] + b _080F12AE + .align 2, 0 +_080F127C: .4byte sub_80F12E0 +_080F1280: .4byte gTasks +_080F1284: .4byte gUnknown_840C1C4 +_080F1288: + lsls r0, r6, 20 + movs r1, 0x80 + lsls r1, 17 + adds r0, r1 + lsrs r0, 16 + ldr r2, _080F12D0 @ =gUnknown_840C1C4 + lsls r1, r7, 1 + adds r1, r2 + ldrh r3, [r1] + movs r1, 0x10 + movs r2, 0x10 + bl BlendPalette + movs r0, 0x10 + strh r0, [r5, 0x8] + ldr r0, _080F12D4 @ =0x0000ffff + strh r0, [r5, 0xA] + ldr r0, _080F12D8 @ =sub_80F1370 + str r0, [r5] +_080F12AE: + ldr r0, _080F12DC @ =0x00007fff + str r0, [sp] + mov r0, r9 + movs r1, 0 + movs r2, 0 + movs r3, 0x10 + bl BeginNormalPaletteFade + mov r0, r8 + add sp, 0x4 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_080F12D0: .4byte gUnknown_840C1C4 +_080F12D4: .4byte 0x0000ffff +_080F12D8: .4byte sub_80F1370 +_080F12DC: .4byte 0x00007fff + thumb_func_end LaunchBallFadeMonTask + + thumb_func_start sub_80F12E0 +sub_80F12E0: @ 80F12E0 + push {r4,r5,lr} + sub sp, 0x4 + lsls r0, 24 + lsrs r0, 24 + adds r5, r0, 0 + ldr r1, _080F1330 @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r4, r0, r1 + ldrh r0, [r4, 0x26] + lsls r0, 24 + lsrs r1, r0, 24 + movs r2, 0xC + ldrsh r0, [r4, r2] + cmp r0, 0x10 + bgt _080F1338 + movs r2, 0xE + ldrsh r0, [r4, r2] + lsls r0, 20 + movs r2, 0x80 + lsls r2, 17 + adds r0, r2 + lsrs r0, 16 + ldrb r2, [r4, 0x8] + ldr r3, _080F1334 @ =gUnknown_840C1C4 + lsls r1, 1 + adds r1, r3 + ldrh r3, [r1] + movs r1, 0x10 + bl BlendPalette + ldrh r0, [r4, 0xA] + ldrh r1, [r4, 0x8] + adds r0, r1 + strh r0, [r4, 0x8] + ldrh r0, [r4, 0xC] + adds r0, 0x1 + strh r0, [r4, 0xC] + b _080F1360 + .align 2, 0 +_080F1330: .4byte gTasks +_080F1334: .4byte gUnknown_840C1C4 +_080F1338: + ldr r0, _080F1368 @ =gPaletteFade + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + bne _080F1360 + ldrh r0, [r4, 0x1C] + ldrh r1, [r4, 0x1E] + lsls r1, 16 + orrs r0, r1 + ldr r1, _080F136C @ =0x00007fff + str r1, [sp] + movs r1, 0 + movs r2, 0x10 + movs r3, 0 + bl BeginNormalPaletteFade + adds r0, r5, 0 + bl DestroyTask +_080F1360: + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080F1368: .4byte gPaletteFade +_080F136C: .4byte 0x00007fff + thumb_func_end sub_80F12E0 + + thumb_func_start sub_80F1370 +sub_80F1370: @ 80F1370 + push {r4,lr} + sub sp, 0x4 + lsls r0, 24 + lsrs r2, r0, 24 + ldr r0, _080F13B0 @ =gPaletteFade + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + bne _080F13A8 + ldr r0, _080F13B4 @ =gTasks + lsls r4, r2, 2 + adds r4, r2 + lsls r4, 3 + adds r4, r0 + ldrh r0, [r4, 0x1C] + ldrh r1, [r4, 0x1E] + lsls r1, 16 + orrs r0, r1 + ldr r1, _080F13B8 @ =0x00007fff + str r1, [sp] + movs r1, 0 + movs r2, 0x10 + movs r3, 0 + bl BeginNormalPaletteFade + ldr r0, _080F13BC @ =sub_80F13C0 + str r0, [r4] +_080F13A8: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080F13B0: .4byte gPaletteFade +_080F13B4: .4byte gTasks +_080F13B8: .4byte 0x00007fff +_080F13BC: .4byte sub_80F13C0 + thumb_func_end sub_80F1370 + + thumb_func_start sub_80F13C0 +sub_80F13C0: @ 80F13C0 + push {r4,lr} + lsls r0, 24 + lsrs r2, r0, 24 + ldr r1, _080F140C @ =gTasks + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + adds r4, r0, r1 + ldrh r0, [r4, 0x26] + lsls r0, 24 + lsrs r1, r0, 24 + movs r3, 0xC + ldrsh r0, [r4, r3] + cmp r0, 0x10 + bgt _080F1414 + movs r2, 0xE + ldrsh r0, [r4, r2] + lsls r0, 20 + movs r3, 0x80 + lsls r3, 17 + adds r0, r3 + lsrs r0, 16 + ldrb r2, [r4, 0x8] + ldr r3, _080F1410 @ =gUnknown_840C1C4 + lsls r1, 1 + adds r1, r3 + ldrh r3, [r1] + movs r1, 0x10 + bl BlendPalette + ldrh r0, [r4, 0xA] + ldrh r1, [r4, 0x8] + adds r0, r1 + strh r0, [r4, 0x8] + ldrh r0, [r4, 0xC] + adds r0, 0x1 + strh r0, [r4, 0xC] + b _080F141A + .align 2, 0 +_080F140C: .4byte gTasks +_080F1410: .4byte gUnknown_840C1C4 +_080F1414: + adds r0, r2, 0 + bl DestroyTask +_080F141A: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80F13C0 + + thumb_func_start sub_80F1420 +sub_80F1420: @ 80F1420 + push {r4-r7,lr} + mov r7, r8 + push {r7} + lsls r0, 24 + lsrs r7, r0, 24 + movs r0, 0 + mov r8, r0 + ldr r0, _080F1454 @ =gBattlerSpriteIds + ldr r3, _080F1458 @ =gBattleAnimAttacker + ldrb r2, [r3] + adds r0, r2, r0 + ldrb r6, [r0] + ldr r1, _080F145C @ =gTasks + lsls r0, r7, 2 + adds r0, r7 + lsls r0, 3 + adds r5, r0, r1 + movs r1, 0x1C + ldrsh r0, [r5, r1] + cmp r0, 0x1 + beq _080F14F8 + cmp r0, 0x1 + bgt _080F1460 + cmp r0, 0 + beq _080F1466 + b _080F15BA + .align 2, 0 +_080F1454: .4byte gBattlerSpriteIds +_080F1458: .4byte gBattleAnimAttacker +_080F145C: .4byte gTasks +_080F1460: + cmp r0, 0x2 + beq _080F150A + b _080F15BA +_080F1466: + ldr r0, _080F14A0 @ =gBattleAnimArgs + ldrh r0, [r0] + strh r0, [r5, 0x1E] + movs r2, 0xA0 + lsls r2, 3 + adds r0, r2, 0 + ldrh r4, [r5, 0x8] + adds r0, r4 + strh r0, [r5, 0x8] + ldrb r0, [r3] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080F14A8 + ldr r2, _080F14A4 @ =gSprites + lsls r3, r6, 4 + adds r1, r3, r6 + lsls r1, 2 + adds r1, r2 + ldrh r0, [r5, 0x8] + lsls r0, 16 + asrs r0, 24 + ldrh r4, [r1, 0x24] + adds r0, r4 + strh r0, [r1, 0x24] + adds r4, r3, 0 + b _080F14C0 + .align 2, 0 +_080F14A0: .4byte gBattleAnimArgs +_080F14A4: .4byte gSprites +_080F14A8: + ldr r3, _080F14F0 @ =gSprites + lsls r4, r6, 4 + adds r2, r4, r6 + lsls r2, 2 + adds r2, r3 + ldrh r1, [r5, 0x8] + lsls r1, 16 + asrs r1, 24 + ldrh r0, [r2, 0x24] + subs r0, r1 + strh r0, [r2, 0x24] + adds r2, r3, 0 +_080F14C0: + ldr r1, _080F14F4 @ =gTasks + lsls r0, r7, 2 + adds r0, r7 + lsls r0, 3 + adds r3, r0, r1 + ldrb r0, [r3, 0x8] + strh r0, [r3, 0x8] + adds r0, r4, r6 + lsls r0, 2 + adds r0, r2 + movs r2, 0x20 + ldrsh r1, [r0, r2] + movs r4, 0x24 + ldrsh r0, [r0, r4] + adds r1, r0 + adds r1, 0x20 + movs r0, 0x98 + lsls r0, 1 + cmp r1, r0 + bls _080F15BA + ldrh r0, [r3, 0x1C] + adds r0, 0x1 + strh r0, [r3, 0x1C] + b _080F15BA + .align 2, 0 +_080F14F0: .4byte gSprites +_080F14F4: .4byte gTasks +_080F14F8: + ldrb r1, [r5, 0x1E] + adds r0, r2, 0 + adds r2, r6, 0 + bl LoadBattleMonGfxAndAnimate + ldrh r0, [r5, 0x1C] + adds r0, 0x1 + strh r0, [r5, 0x1C] + b _080F15BA +_080F150A: + movs r1, 0xA0 + lsls r1, 3 + adds r0, r1, 0 + ldrh r2, [r5, 0x8] + adds r0, r2 + strh r0, [r5, 0x8] + ldrb r0, [r3] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + beq _080F1540 + ldr r0, _080F153C @ =gSprites + lsls r3, r6, 4 + adds r2, r3, r6 + lsls r2, 2 + adds r2, r0 + ldrh r1, [r5, 0x8] + lsls r1, 16 + asrs r1, 24 + ldrh r0, [r2, 0x24] + subs r0, r1 + strh r0, [r2, 0x24] + adds r4, r3, 0 + b _080F1558 + .align 2, 0 +_080F153C: .4byte gSprites +_080F1540: + ldr r0, _080F158C @ =gSprites + lsls r2, r6, 4 + adds r1, r2, r6 + lsls r1, 2 + adds r1, r0 + ldrh r0, [r5, 0x8] + lsls r0, 16 + asrs r0, 24 + ldrh r3, [r1, 0x24] + adds r0, r3 + strh r0, [r1, 0x24] + adds r4, r2, 0 +_080F1558: + ldr r1, _080F1590 @ =gTasks + lsls r0, r7, 2 + adds r0, r7 + lsls r0, 3 + adds r0, r1 + ldrb r1, [r0, 0x8] + strh r1, [r0, 0x8] + ldr r0, _080F1594 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0 + beq _080F1598 + ldr r0, _080F158C @ =gSprites + adds r1, r4, r6 + lsls r1, 2 + adds r1, r0 + movs r4, 0x24 + ldrsh r0, [r1, r4] + cmp r0, 0 + bgt _080F15AE + movs r0, 0 + strh r0, [r1, 0x24] + b _080F15B4 + .align 2, 0 +_080F158C: .4byte gSprites +_080F1590: .4byte gTasks +_080F1594: .4byte gBattleAnimAttacker +_080F1598: + ldr r0, _080F15C4 @ =gSprites + adds r1, r4, r6 + lsls r1, 2 + adds r1, r0 + movs r3, 0x24 + ldrsh r0, [r1, r3] + cmp r0, 0 + blt _080F15AE + strh r2, [r1, 0x24] + movs r4, 0x1 + mov r8, r4 +_080F15AE: + mov r0, r8 + cmp r0, 0 + beq _080F15BA +_080F15B4: + adds r0, r7, 0 + bl DestroyAnimVisualTask +_080F15BA: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080F15C4: .4byte gSprites + thumb_func_end sub_80F1420 + + thumb_func_start sub_80F15C8 +sub_80F15C8: @ 80F15C8 + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + ldr r1, _080F15EC @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r4, r0, r1 + movs r1, 0x26 + ldrsh r0, [r4, r1] + cmp r0, 0x1 + beq _080F1644 + cmp r0, 0x1 + bgt _080F15F0 + cmp r0, 0 + beq _080F15F6 + b _080F16B4 + .align 2, 0 +_080F15EC: .4byte gTasks +_080F15F0: + cmp r0, 0x2 + beq _080F167E + b _080F16B4 +_080F15F6: + ldr r0, _080F1610 @ =gBattleAnimAttacker + ldrb r0, [r0] + bl sub_80768B0 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080F1618 + ldr r1, _080F1614 @ =0x00003f42 + movs r0, 0x50 + bl SetGpuReg + b _080F1620 + .align 2, 0 +_080F1610: .4byte gBattleAnimAttacker +_080F1614: .4byte 0x00003f42 +_080F1618: + ldr r1, _080F163C @ =0x00003f44 + movs r0, 0x50 + bl SetGpuReg +_080F1620: + movs r0, 0x52 + movs r1, 0x10 + bl SetGpuReg + ldr r0, _080F1640 @ =gTasks + lsls r1, r5, 2 + adds r1, r5 + lsls r1, 3 + adds r1, r0 + ldrh r0, [r1, 0x26] + adds r0, 0x1 + strh r0, [r1, 0x26] + b _080F16B4 + .align 2, 0 +_080F163C: .4byte 0x00003f44 +_080F1640: .4byte gTasks +_080F1644: + ldrh r0, [r4, 0xA] + adds r1, r0, 0x1 + strh r1, [r4, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + ble _080F16B4 + movs r0, 0 + strh r0, [r4, 0xA] + ldrh r2, [r4, 0x8] + adds r2, 0x1 + strh r2, [r4, 0x8] + lsls r1, r2, 8 + movs r0, 0x10 + subs r0, r2 + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + movs r1, 0x8 + ldrsh r0, [r4, r1] + cmp r0, 0x10 + bne _080F16B4 + ldrh r0, [r4, 0x26] + adds r0, 0x1 + strh r0, [r4, 0x26] + b _080F16B4 +_080F167E: + ldr r1, _080F16BC @ =gBattlerSpriteIds + ldr r4, _080F16C0 @ =gBattleAnimAttacker + ldrb r0, [r4] + adds r0, r1 + ldrb r1, [r0] + ldr r2, _080F16C4 @ =gSprites + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r1, [r0, 0x4] + lsls r1, 22 + lsrs r1, 17 + ldr r0, _080F16C8 @ =0x06010000 + adds r1, r0 + movs r2, 0x80 + lsls r2, 4 + movs r0, 0 + movs r3, 0x1 + bl RequestDma3Fill + ldrb r0, [r4] + bl ClearBehindSubstituteBit + adds r0, r5, 0 + bl DestroyAnimVisualTask +_080F16B4: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080F16BC: .4byte gBattlerSpriteIds +_080F16C0: .4byte gBattleAnimAttacker +_080F16C4: .4byte gSprites +_080F16C8: .4byte 0x06010000 + thumb_func_end sub_80F15C8 + + thumb_func_start sub_80F16CC +sub_80F16CC: @ 80F16CC + push {lr} + lsls r0, 24 + lsrs r0, 24 + ldr r3, _080F16F4 @ =gBattleAnimArgs + ldr r1, _080F16F8 @ =gUnknown_2024018 + ldr r2, [r1] + ldr r1, _080F16FC @ =gBattleAnimAttacker + ldrb r1, [r1] + ldr r2, [r2] + lsls r1, 2 + adds r1, r2 + ldr r1, [r1] + lsls r1, 29 + lsrs r1, 31 + strh r1, [r3, 0xE] + bl DestroyAnimVisualTask + pop {r0} + bx r0 + .align 2, 0 +_080F16F4: .4byte gBattleAnimArgs +_080F16F8: .4byte gUnknown_2024018 +_080F16FC: .4byte gBattleAnimAttacker + thumb_func_end sub_80F16CC + + thumb_func_start sub_80F1700 +sub_80F1700: @ 80F1700 + push {lr} + lsls r0, 24 + lsrs r0, 24 + ldr r2, _080F1718 @ =gBattleAnimTarget + ldr r1, _080F171C @ =gUnknown_2023D6E + ldrb r1, [r1] + strb r1, [r2] + bl DestroyAnimVisualTask + pop {r0} + bx r0 + .align 2, 0 +_080F1718: .4byte gBattleAnimTarget +_080F171C: .4byte gUnknown_2023D6E + thumb_func_end sub_80F1700 + + thumb_func_start sub_80F1720 +sub_80F1720: @ 80F1720 + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r4, r1, 0 + lsls r0, 24 + lsrs r6, r0, 24 + movs r0, 0 + mov r8, r0 + ldr r0, _080F17DC @ =gUnknown_2024018 + ldr r0, [r0] + ldr r1, [r0, 0x4] + lsls r0, r6, 1 + adds r0, r6 + lsls r0, 2 + adds r0, r1 + ldrb r1, [r0] + movs r2, 0x80 + orrs r1, r2 + strb r1, [r0] + adds r0, r4, 0 + movs r1, 0x1 + bl GetMonData + adds r5, r0, 0 + adds r0, r4, 0 + movs r1, 0 + bl GetMonData + adds r4, r0, 0 + adds r0, r6, 0 + bl sub_8072DF0 + lsls r0, 24 + cmp r0, 0 + beq _080F17F8 + lsrs r0, r5, 16 + ldr r7, _080F17E0 @ =0x0000ffff + ands r5, r7 + eors r0, r5 + lsrs r1, r4, 16 + eors r0, r1 + ands r4, r7 + eors r0, r4 + cmp r0, 0x7 + bhi _080F177E + movs r0, 0x1 + mov r8, r0 +_080F177E: + mov r0, r8 + cmp r0, 0 + beq _080F17F8 + ldr r0, _080F17E4 @ =0x000027f9 + bl GetSpriteTileStartByTag + lsls r0, 16 + lsrs r0, 16 + cmp r0, r7 + bne _080F179E + ldr r0, _080F17E8 @ =gUnknown_83AD350 + bl sub_800F034 + ldr r0, _080F17EC @ =gUnknown_83ADC58 + bl sub_800F078 +_080F179E: + ldr r5, _080F17F0 @ =sub_80F181C + adds r0, r5, 0 + movs r1, 0xA + bl CreateTask + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + adds r0, r5, 0 + movs r1, 0xA + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + ldr r3, _080F17F4 @ =gTasks + lsls r2, r4, 2 + adds r2, r4 + lsls r2, 3 + adds r2, r3 + movs r4, 0 + strh r6, [r2, 0x8] + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r3 + strh r6, [r1, 0x8] + strh r4, [r2, 0xA] + movs r0, 0x1 + strh r0, [r1, 0xA] + b _080F180E + .align 2, 0 +_080F17DC: .4byte gUnknown_2024018 +_080F17E0: .4byte 0x0000ffff +_080F17E4: .4byte 0x000027f9 +_080F17E8: .4byte gUnknown_83AD350 +_080F17EC: .4byte gUnknown_83ADC58 +_080F17F0: .4byte sub_80F181C +_080F17F4: .4byte gTasks +_080F17F8: + ldr r0, _080F1818 @ =gUnknown_2024018 + ldr r0, [r0] + ldr r1, [r0, 0x4] + lsls r0, r6, 1 + adds r0, r6 + lsls r0, 2 + adds r0, r1 + ldrb r1, [r0, 0x1] + movs r2, 0x1 + orrs r1, r2 + strb r1, [r0, 0x1] +_080F180E: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080F1818: .4byte gUnknown_2024018 + thumb_func_end sub_80F1720 + + thumb_func_start sub_80F181C +sub_80F181C: @ 80F181C + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + lsls r0, 24 + lsrs r7, r0, 24 + ldr r1, _080F1844 @ =gTasks + lsls r0, r7, 2 + adds r0, r7 + lsls r0, 3 + adds r4, r0, r1 + ldrh r1, [r4, 0x22] + movs r2, 0x22 + ldrsh r0, [r4, r2] + cmp r0, 0x3B + bgt _080F1848 + adds r0, r1, 0x1 + strh r0, [r4, 0x22] + b _080F19C0 + .align 2, 0 +_080F1844: .4byte gTasks +_080F1848: + ldr r0, _080F189C @ =gUnknown_2024018 + ldr r0, [r0] + ldr r0, [r0, 0x8] + ldrb r0, [r0, 0xA] + cmp r0, 0 + beq _080F1856 + b _080F19C0 +_080F1856: + ldrh r0, [r4, 0x1C] + adds r1, r0, 0x1 + strh r1, [r4, 0x1C] + lsls r0, 16 + movs r1, 0xC0 + lsls r1, 10 + ands r1, r0 + cmp r1, 0 + beq _080F186A + b _080F19C0 +_080F186A: + ldrb r0, [r4, 0x8] + mov r8, r0 + movs r1, 0 + bl sub_8074480 + lsls r0, 24 + lsrs r5, r0, 24 + mov r0, r8 + movs r1, 0x1 + bl sub_8074480 + lsls r0, 24 + lsrs r2, r0, 24 + movs r1, 0x1E + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080F18A4 + ldr r0, _080F18A0 @ =gUnknown_83FF168 + adds r1, r5, 0 + movs r3, 0x5 + bl CreateSprite + lsls r0, 24 + lsrs r5, r0, 24 + b _080F1906 + .align 2, 0 +_080F189C: .4byte gUnknown_2024018 +_080F18A0: .4byte gUnknown_83FF168 +_080F18A4: + cmp r0, 0 + blt _080F18D8 + cmp r0, 0x3 + bgt _080F18D8 + ldr r0, _080F18D0 @ =gUnknown_83FF180 + adds r1, r5, 0 + movs r3, 0x5 + bl CreateSprite + lsls r0, 24 + lsrs r5, r0, 24 + ldr r0, _080F18D4 @ =gSprites + lsls r2, r5, 4 + adds r2, r5 + lsls r2, 2 + adds r2, r0 + ldrh r3, [r2, 0x4] + lsls r1, r3, 22 + lsrs r1, 22 + adds r1, 0x4 + b _080F18F8 + .align 2, 0 +_080F18D0: .4byte gUnknown_83FF180 +_080F18D4: .4byte gSprites +_080F18D8: + ldr r0, _080F1930 @ =gUnknown_83FF180 + adds r1, r5, 0 + movs r3, 0x5 + bl CreateSprite + lsls r0, 24 + lsrs r5, r0, 24 + ldr r0, _080F1934 @ =gSprites + lsls r2, r5, 4 + adds r2, r5 + lsls r2, 2 + adds r2, r0 + ldrh r3, [r2, 0x4] + lsls r1, r3, 22 + lsrs r1, 22 + adds r1, 0x5 +_080F18F8: + ldr r4, _080F1938 @ =0x000003ff + adds r0, r4, 0 + ands r1, r0 + ldr r0, _080F193C @ =0xfffffc00 + ands r0, r3 + orrs r0, r1 + strh r0, [r2, 0x4] +_080F1906: + ldr r2, _080F1940 @ =gTasks + lsls r1, r7, 2 + adds r0, r1, r7 + lsls r0, 3 + adds r6, r0, r2 + movs r2, 0xA + ldrsh r0, [r6, r2] + mov r9, r1 + cmp r0, 0 + bne _080F1948 + ldr r1, _080F1934 @ =gSprites + lsls r2, r5, 4 + adds r0, r2, r5 + lsls r0, 2 + adds r1, 0x1C + adds r0, r1 + ldr r1, _080F1944 @ =sub_80F1A2C + str r1, [r0] + adds r4, r2, 0 + b _080F1990 + .align 2, 0 +_080F1930: .4byte gUnknown_83FF180 +_080F1934: .4byte gSprites +_080F1938: .4byte 0x000003ff +_080F193C: .4byte 0xfffffc00 +_080F1940: .4byte gTasks +_080F1944: .4byte sub_80F1A2C +_080F1948: + ldr r3, _080F19CC @ =gSprites + lsls r4, r5, 4 + adds r1, r4, r5 + lsls r1, 2 + adds r0, r3, 0 + adds r0, 0x1C + adds r0, r1, r0 + ldr r2, _080F19D0 @ =sub_80F1A80 + str r2, [r0] + adds r1, r3 + ldr r0, _080F19D4 @ =0x0000ffe0 + strh r0, [r1, 0x24] + movs r0, 0x20 + strh r0, [r1, 0x26] + adds r1, 0x3E + ldrb r0, [r1] + movs r2, 0x4 + orrs r0, r2 + strb r0, [r1] + movs r1, 0x1E + ldrsh r0, [r6, r1] + cmp r0, 0 + bne _080F1990 + mov r0, r8 + bl GetBattlerSide + lsls r0, 24 + movs r1, 0x3F + cmp r0, 0 + bne _080F1986 + movs r1, 0xC0 +_080F1986: + lsls r1, 24 + asrs r1, 24 + movs r0, 0x5F + bl PlaySE12WithPanning +_080F1990: + ldr r1, _080F19CC @ =gSprites + adds r0, r4, r5 + lsls r0, 2 + adds r0, r1 + strh r7, [r0, 0x2E] + ldr r1, _080F19D8 @ =gTasks + mov r2, r9 + adds r0, r2, r7 + lsls r0, 3 + adds r1, r0, r1 + ldrh r0, [r1, 0x1E] + adds r0, 0x1 + strh r0, [r1, 0x1E] + cmp r5, 0x40 + beq _080F19B4 + ldrh r0, [r1, 0x20] + adds r0, 0x1 + strh r0, [r1, 0x20] +_080F19B4: + movs r4, 0x1E + ldrsh r0, [r1, r4] + cmp r0, 0x5 + bne _080F19C0 + ldr r0, _080F19DC @ =sub_80F19E0 + str r0, [r1] +_080F19C0: + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080F19CC: .4byte gSprites +_080F19D0: .4byte sub_80F1A80 +_080F19D4: .4byte 0x0000ffe0 +_080F19D8: .4byte gTasks +_080F19DC: .4byte sub_80F19E0 + thumb_func_end sub_80F181C + + thumb_func_start sub_80F19E0 +sub_80F19E0: @ 80F19E0 + push {lr} + lsls r0, 24 + lsrs r0, 24 + adds r3, r0, 0 + ldr r1, _080F1A24 @ =gTasks + lsls r0, r3, 2 + adds r0, r3 + lsls r0, 3 + adds r1, r0, r1 + movs r2, 0x20 + ldrsh r0, [r1, r2] + cmp r0, 0 + bne _080F1A20 + movs r2, 0xA + ldrsh r0, [r1, r2] + cmp r0, 0x1 + bne _080F1A1A + ldrb r1, [r1, 0x8] + ldr r0, _080F1A28 @ =gUnknown_2024018 + ldr r0, [r0] + ldr r2, [r0, 0x4] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrb r1, [r0, 0x1] + movs r2, 0x1 + orrs r1, r2 + strb r1, [r0, 0x1] +_080F1A1A: + adds r0, r3, 0 + bl DestroyTask +_080F1A20: + pop {r0} + bx r0 + .align 2, 0 +_080F1A24: .4byte gTasks +_080F1A28: .4byte gUnknown_2024018 + thumb_func_end sub_80F19E0 + + thumb_func_start sub_80F1A2C +sub_80F1A2C: @ 80F1A2C + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x30 + ldrsh r0, [r4, r1] + movs r1, 0x18 + bl Sin + strh r0, [r4, 0x24] + movs r1, 0x30 + ldrsh r0, [r4, r1] + movs r1, 0x18 + bl Cos + strh r0, [r4, 0x26] + ldrh r0, [r4, 0x30] + adds r0, 0xC + strh r0, [r4, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xFF + ble _080F1A76 + ldr r2, _080F1A7C @ =gTasks + movs r0, 0x2E + ldrsh r1, [r4, r0] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r2 + ldrh r1, [r0, 0x20] + subs r1, 0x1 + strh r1, [r0, 0x20] + adds r0, r4, 0 + bl FreeSpriteOamMatrix + adds r0, r4, 0 + bl DestroySprite +_080F1A76: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080F1A7C: .4byte gTasks + thumb_func_end sub_80F1A2C + + thumb_func_start sub_80F1A80 +sub_80F1A80: @ 80F1A80 + push {r4,lr} + adds r4, r0, 0 + ldrh r1, [r4, 0x30] + movs r2, 0x30 + ldrsh r0, [r4, r2] + cmp r0, 0x3 + bgt _080F1A94 + adds r0, r1, 0x1 + strh r0, [r4, 0x30] + b _080F1AD6 +_080F1A94: + adds r2, r4, 0 + adds r2, 0x3E + ldrb r1, [r2] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + strb r0, [r2] + ldrh r1, [r4, 0x24] + adds r1, 0x5 + strh r1, [r4, 0x24] + ldrh r0, [r4, 0x26] + subs r0, 0x5 + strh r0, [r4, 0x26] + lsls r1, 16 + asrs r1, 16 + cmp r1, 0x20 + ble _080F1AD6 + ldr r2, _080F1ADC @ =gTasks + movs r0, 0x2E + ldrsh r1, [r4, r0] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r2 + ldrh r1, [r0, 0x20] + subs r1, 0x1 + strh r1, [r0, 0x20] + adds r0, r4, 0 + bl FreeSpriteOamMatrix + adds r0, r4, 0 + bl DestroySprite +_080F1AD6: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080F1ADC: .4byte gTasks + thumb_func_end sub_80F1A80 + + thumb_func_start sub_80F1AE0 +sub_80F1AE0: @ 80F1AE0 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r0, _080F1B08 @ =gUnknown_83AD470 + bl sub_800F034 + ldr r0, _080F1B0C @ =gUnknown_83ADD78 + bl sub_800F078 + ldr r0, _080F1B10 @ =0x0000281d + bl IndexOfSpritePaletteTag + adds r0, r4, 0 + bl DestroyAnimVisualTask + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080F1B08: .4byte gUnknown_83AD470 +_080F1B0C: .4byte gUnknown_83ADD78 +_080F1B10: .4byte 0x0000281d + thumb_func_end sub_80F1AE0 + + thumb_func_start sub_80F1B14 +sub_80F1B14: @ 80F1B14 + push {r4,r5,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r5, _080F1B38 @ =0x0000281d + adds r0, r5, 0 + bl FreeSpriteTilesByTag + adds r0, r5, 0 + bl FreeSpritePaletteByTag + adds r0, r4, 0 + bl DestroyAnimVisualTask + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080F1B38: .4byte 0x0000281d + thumb_func_end sub_80F1B14 + + thumb_func_start sub_80F1B3C +sub_80F1B3C: @ 80F1B3C + push {r4,r5,lr} + adds r4, r0, 0 + movs r1, 0 + bl sub_8075160 + movs r0, 0x1E + strh r0, [r4, 0x2E] + movs r0, 0x1 + bl GetBattlerAtPosition + lsls r0, 24 + lsrs r0, 24 + movs r1, 0 + bl sub_8074480 + lsls r0, 24 + ldr r5, _080F1BB0 @ =gBattleAnimArgs + lsrs r0, 24 + ldrh r1, [r5, 0x4] + adds r0, r1 + strh r0, [r4, 0x32] + movs r0, 0x1 + bl GetBattlerAtPosition + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x1 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 24 + ldrh r5, [r5, 0x6] + adds r0, r5 + strh r0, [r4, 0x36] + ldr r0, _080F1BB4 @ =0x0000ffe0 + strh r0, [r4, 0x38] + adds r0, r4, 0 + bl sub_8075068 + ldr r2, _080F1BB8 @ =gSprites + ldr r1, _080F1BBC @ =gBattlerSpriteIds + ldr r0, _080F1BC0 @ =gBattleAnimAttacker + ldrb r0, [r0] + adds r0, r1 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r2, 0x1C + adds r0, r2 + ldr r1, _080F1BC4 @ =sub_8012354 + str r1, [r0] + ldr r0, _080F1BC8 @ =sub_80F1BCC + str r0, [r4, 0x1C] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080F1BB0: .4byte gBattleAnimArgs +_080F1BB4: .4byte 0x0000ffe0 +_080F1BB8: .4byte gSprites +_080F1BBC: .4byte gBattlerSpriteIds +_080F1BC0: .4byte gBattleAnimAttacker +_080F1BC4: .4byte sub_8012354 +_080F1BC8: .4byte sub_80F1BCC + thumb_func_end sub_80F1B3C + + thumb_func_start sub_80F1BCC +sub_80F1BCC: @ 80F1BCC + push {lr} + adds r3, r0, 0 + ldr r2, _080F1BF4 @ =gSprites + ldr r1, _080F1BF8 @ =gBattlerSpriteIds + ldr r0, _080F1BFC @ =gBattleAnimAttacker + ldrb r0, [r0] + adds r0, r1 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + adds r0, 0x2B + ldrb r0, [r0] + cmp r0, 0x1 + bne _080F1BF0 + ldr r0, _080F1C00 @ =sub_80F1C04 + str r0, [r3, 0x1C] +_080F1BF0: + pop {r0} + bx r0 + .align 2, 0 +_080F1BF4: .4byte gSprites +_080F1BF8: .4byte gBattlerSpriteIds +_080F1BFC: .4byte gBattleAnimAttacker +_080F1C00: .4byte sub_80F1C04 + thumb_func_end sub_80F1BCC + + thumb_func_start sub_80F1C04 +sub_80F1C04: @ 80F1C04 + push {r4,lr} + adds r4, r0, 0 + bl AnimateBallThrow + lsls r0, 24 + cmp r0, 0 + beq _080F1C26 + movs r0, 0 + strh r0, [r4, 0x2E] + adds r2, r4, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] + ldr r0, _080F1C2C @ =sub_80F1C30 + str r0, [r4, 0x1C] +_080F1C26: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080F1C2C: .4byte sub_80F1C30 + thumb_func_end sub_80F1C04 + + thumb_func_start sub_80F1C30 +sub_80F1C30: @ 80F1C30 + push {r4,r5,lr} + adds r4, r0, 0 + ldr r5, _080F1C80 @ =gSprites + ldr r3, _080F1C84 @ =gBattlerSpriteIds + ldr r2, _080F1C88 @ =gBattleAnimAttacker + ldrb r0, [r2] + adds r0, r3 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + adds r0, 0x3F + ldrb r0, [r0] + lsls r0, 27 + cmp r0, 0 + bge _080F1C78 + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + lsls r0, 16 + cmp r0, 0 + ble _080F1C78 + ldrb r0, [r2] + adds r0, r3 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + movs r1, 0 + bl StartSpriteAnim + adds r0, r4, 0 + bl DestroyAnimSprite +_080F1C78: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080F1C80: .4byte gSprites +_080F1C84: .4byte gBattlerSpriteIds +_080F1C88: .4byte gBattleAnimAttacker + thumb_func_end sub_80F1C30 + + thumb_func_start sub_80F1C8C +sub_80F1C8C: @ 80F1C8C + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _080F1CA4 @ =gBattleAnimArgs + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r0, 0 + beq _080F1CA8 + cmp r0, 0x1 + beq _080F1CBC + b _080F1CD0 + .align 2, 0 +_080F1CA4: .4byte gBattleAnimArgs +_080F1CA8: + movs r0, 0 + bl GetBattlerAtPosition + ldr r1, _080F1CB8 @ =gBattleAnimAttacker + strb r0, [r1] + movs r0, 0x1 + b _080F1CC8 + .align 2, 0 +_080F1CB8: .4byte gBattleAnimAttacker +_080F1CBC: + movs r0, 0x1 + bl GetBattlerAtPosition + ldr r1, _080F1CDC @ =gBattleAnimAttacker + strb r0, [r1] + movs r0, 0 +_080F1CC8: + bl GetBattlerAtPosition + ldr r1, _080F1CE0 @ =gBattleAnimTarget + strb r0, [r1] +_080F1CD0: + adds r0, r4, 0 + bl DestroyAnimVisualTask + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080F1CDC: .4byte gBattleAnimAttacker +_080F1CE0: .4byte gBattleAnimTarget + thumb_func_end sub_80F1C8C + + thumb_func_start sub_80F1CE4 +sub_80F1CE4: @ 80F1CE4 + push {lr} + lsls r0, 24 + lsrs r3, r0, 24 + ldr r2, _080F1CF8 @ =gUnknown_2023E82 + ldrb r0, [r2, 0x5] + cmp r0, 0x2 + bls _080F1D00 + ldr r1, _080F1CFC @ =gBattleAnimArgs + movs r0, 0 + b _080F1D04 + .align 2, 0 +_080F1CF8: .4byte gUnknown_2023E82 +_080F1CFC: .4byte gBattleAnimArgs +_080F1D00: + ldr r1, _080F1D10 @ =gBattleAnimArgs + ldrb r0, [r2, 0x5] +_080F1D04: + strh r0, [r1, 0xE] + adds r0, r3, 0 + bl DestroyAnimVisualTask + pop {r0} + bx r0 + .align 2, 0 +_080F1D10: .4byte gBattleAnimArgs + thumb_func_end sub_80F1CE4 + + thumb_func_start sub_80F1D14 +sub_80F1D14: @ 80F1D14 + push {lr} + lsls r0, 24 + lsrs r2, r0, 24 + ldr r0, _080F1D2C @ =gUnknown_2024018 + ldr r0, [r0] + ldr r0, [r0, 0x8] + ldrh r1, [r0] + cmp r1, 0x53 + bne _080F1D34 + ldr r1, _080F1D30 @ =gBattleAnimArgs + movs r0, 0x1 + b _080F1D6C + .align 2, 0 +_080F1D2C: .4byte gUnknown_2024018 +_080F1D30: .4byte gBattleAnimArgs +_080F1D34: + cmp r1, 0xFA + bne _080F1D44 + ldr r1, _080F1D40 @ =gBattleAnimArgs + movs r0, 0x2 + b _080F1D6C + .align 2, 0 +_080F1D40: .4byte gBattleAnimArgs +_080F1D44: + cmp r1, 0x80 + bne _080F1D54 + ldr r1, _080F1D50 @ =gBattleAnimArgs + movs r0, 0x3 + b _080F1D6C + .align 2, 0 +_080F1D50: .4byte gBattleAnimArgs +_080F1D54: + movs r0, 0xA4 + lsls r0, 1 + cmp r1, r0 + bne _080F1D68 + ldr r1, _080F1D64 @ =gBattleAnimArgs + movs r0, 0x4 + b _080F1D6C + .align 2, 0 +_080F1D64: .4byte gBattleAnimArgs +_080F1D68: + ldr r1, _080F1D78 @ =gBattleAnimArgs + movs r0, 0 +_080F1D6C: + strh r0, [r1] + adds r0, r2, 0 + bl DestroyAnimVisualTask + pop {r0} + bx r0 + .align 2, 0 +_080F1D78: .4byte gBattleAnimArgs + thumb_func_end sub_80F1D14 + + thumb_func_start sub_80F1D7C +sub_80F1D7C: @ 80F1D7C + push {lr} + lsls r0, 24 + lsrs r0, 24 + ldr r3, _080F1DA0 @ =gBattleAnimAttacker + ldr r1, _080F1DA4 @ =gUnknown_2024018 + ldr r2, [r1] + ldr r1, [r2, 0x8] + ldrh r1, [r1] + strb r1, [r3] + ldr r3, _080F1DA8 @ =gBattleAnimTarget + ldr r1, [r2, 0x8] + ldrh r1, [r1] + lsrs r1, 8 + strb r1, [r3] + bl DestroyAnimVisualTask + pop {r0} + bx r0 + .align 2, 0 +_080F1DA0: .4byte gBattleAnimAttacker +_080F1DA4: .4byte gUnknown_2024018 +_080F1DA8: .4byte gBattleAnimTarget + thumb_func_end sub_80F1D7C + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/battle_anim_status_effects.s b/asm/battle_anim_status_effects.s new file mode 100644 index 000000000..5530fd869 --- /dev/null +++ b/asm/battle_anim_status_effects.s @@ -0,0 +1,977 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start sub_8078178 +sub_8078178: @ 8078178 + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r4, r0, 0 + adds r5, r1, 0 + lsls r4, 24 + lsrs r4, 24 + lsls r5, 24 + lsrs r5, 24 + ldr r0, _0807821C @ =gBattlerSpriteIds + adds r0, r4, r0 + ldrb r6, [r0] + ldr r0, _08078220 @ =sub_80782BC + movs r1, 0xA + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + ldr r0, _08078224 @ =gUnknown_83AD048 + bl sub_800F034 + ldr r0, _08078228 @ =gUnknown_83AD950 + bl sub_800F078 + ldr r1, _0807822C @ =gTasks + mov r2, r8 + lsls r0, r2, 2 + add r0, r8 + lsls r0, 3 + adds r1, r0, r1 + strh r4, [r1, 0x8] + cmp r5, 0 + beq _08078238 + movs r0, 0x1F + strh r0, [r1, 0xA] + movs r5, 0 + lsls r0, r6, 4 + ldr r7, _08078230 @ =gSprites + adds r0, r6 + lsls r0, 2 + adds r6, r0, r7 +_080781CC: + movs r0, 0x20 + ldrsh r1, [r6, r0] + ldrh r2, [r6, 0x22] + adds r2, 0x20 + lsls r2, 16 + asrs r2, 16 + ldr r0, _08078234 @ =gUnknown_83BF574 + movs r3, 0 + bl CreateSprite + lsls r0, 24 + lsrs r4, r0, 24 + lsls r0, r4, 4 + adds r0, r4 + lsls r0, 2 + adds r3, r0, r7 + lsls r0, r5, 1 + adds r0, r5 + lsls r1, r0, 4 + adds r0, r1 + strh r0, [r3, 0x2E] + movs r0, 0xFF + lsls r0, 8 + strh r0, [r3, 0x30] + adds r2, r3, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] + cmp r5, 0x4 + bls _08078210 + movs r0, 0x15 + strh r0, [r3, 0x3A] +_08078210: + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0x9 + bls _080781CC + b _08078298 + .align 2, 0 +_0807821C: .4byte gBattlerSpriteIds +_08078220: .4byte sub_80782BC +_08078224: .4byte gUnknown_83AD048 +_08078228: .4byte gUnknown_83AD950 +_0807822C: .4byte gTasks +_08078230: .4byte gSprites +_08078234: .4byte gUnknown_83BF574 +_08078238: + movs r0, 0xF8 + lsls r0, 7 + strh r0, [r1, 0xA] + movs r5, 0 + lsls r0, r6, 4 + ldr r7, _080782B4 @ =gSprites + adds r0, r6 + lsls r0, 2 + adds r6, r0, r7 +_0807824A: + movs r2, 0x20 + ldrsh r1, [r6, r2] + ldrh r2, [r6, 0x22] + subs r2, 0x20 + lsls r2, 16 + asrs r2, 16 + ldr r0, _080782B8 @ =gUnknown_83BF574 + movs r3, 0 + bl CreateSprite + lsls r0, 24 + lsrs r4, r0, 24 + lsls r0, r4, 4 + adds r0, r4 + lsls r0, 2 + adds r3, r0, r7 + lsls r0, r5, 1 + adds r0, r5 + lsls r1, r0, 4 + adds r0, r1 + strh r0, [r3, 0x2E] + movs r0, 0x80 + lsls r0, 1 + strh r0, [r3, 0x30] + adds r2, r3, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] + cmp r5, 0x4 + bls _0807828E + movs r0, 0x15 + strh r0, [r3, 0x3A] +_0807828E: + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0x9 + bls _0807824A +_08078298: + ldr r0, _080782B4 @ =gSprites + lsls r1, r4, 4 + adds r1, r4 + lsls r1, 2 + adds r1, r0 + movs r0, 0x1 + strh r0, [r1, 0x3C] + mov r0, r8 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_080782B4: .4byte gSprites +_080782B8: .4byte gUnknown_83BF574 + thumb_func_end sub_8078178 + + thumb_func_start sub_80782BC +sub_80782BC: @ 80782BC + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + ldr r1, _08078314 @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r4, r0, r1 + ldrh r1, [r4, 0xC] + movs r2, 0xC + ldrsh r0, [r4, r2] + cmp r0, 0x2 + bne _08078342 + movs r0, 0 + strh r0, [r4, 0xC] + movs r1, 0x8 + ldrsh r0, [r4, r1] + lsls r0, 20 + movs r2, 0x80 + lsls r2, 17 + adds r0, r2 + lsrs r0, 16 + ldrb r2, [r4, 0x10] + ldrh r3, [r4, 0xA] + movs r1, 0x10 + bl BlendPalette + ldrh r2, [r4, 0x12] + movs r1, 0x12 + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _08078318 + ldrh r0, [r4, 0x10] + adds r0, 0x1 + strh r0, [r4, 0x10] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x8 + ble _08078346 + movs r0, 0x1 + eors r0, r2 + strh r0, [r4, 0x12] + b _08078346 + .align 2, 0 +_08078314: .4byte gTasks +_08078318: + ldrh r1, [r4, 0x10] + subs r0, r1, 0x1 + strh r0, [r4, 0x10] + lsls r0, 16 + cmp r0, 0 + bge _08078346 + strh r1, [r4, 0x10] + movs r0, 0x1 + eors r0, r2 + strh r0, [r4, 0x12] + ldrh r0, [r4, 0xE] + adds r0, 0x1 + strh r0, [r4, 0xE] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x2 + bne _08078346 + adds r0, r5, 0 + bl DestroyTask + b _08078346 +_08078342: + adds r0, r1, 0x1 + strh r0, [r4, 0xC] +_08078346: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80782BC + + thumb_func_start sub_807834C +sub_807834C: @ 807834C + push {lr} + adds r2, r0, 0 + ldrh r1, [r2, 0x3A] + movs r3, 0x3A + ldrsh r0, [r2, r3] + cmp r0, 0 + bne _08078378 + adds r3, r2, 0 + adds r3, 0x3E + ldrb r0, [r3] + movs r1, 0x5 + negs r1, r1 + ands r1, r0 + strb r1, [r3] + ldr r1, _08078374 @ =sub_8078380 + str r1, [r2, 0x1C] + adds r0, r2, 0 + bl _call_via_r1 + b _0807837C + .align 2, 0 +_08078374: .4byte sub_8078380 +_08078378: + subs r0, r1, 0x1 + strh r0, [r2, 0x3A] +_0807837C: + pop {r0} + bx r0 + thumb_func_end sub_807834C + + thumb_func_start sub_8078380 +sub_8078380: @ 8078380 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x2E + ldrsh r0, [r4, r1] + movs r1, 0x20 + bl Cos + strh r0, [r4, 0x24] + movs r1, 0x2E + ldrsh r0, [r4, r1] + movs r1, 0x8 + bl Sin + strh r0, [r4, 0x26] + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0x7F + bgt _080783AC + adds r1, r4, 0 + adds r1, 0x43 + movs r0, 0x1D + b _080783B2 +_080783AC: + adds r1, r4, 0 + adds r1, 0x43 + movs r0, 0x1F +_080783B2: + strb r0, [r1] + ldrh r0, [r4, 0x2E] + adds r0, 0x8 + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0x2E] + ldrh r0, [r4, 0x30] + ldrh r1, [r4, 0x38] + adds r0, r1 + strh r0, [r4, 0x38] + lsls r0, 16 + asrs r0, 24 + ldrh r1, [r4, 0x26] + adds r0, r1 + strh r0, [r4, 0x26] + ldrh r0, [r4, 0x32] + adds r0, 0x1 + strh r0, [r4, 0x32] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x34 + bne _080783F4 + movs r1, 0x3C + ldrsh r0, [r4, r1] + cmp r0, 0 + beq _080783EE + adds r0, r4, 0 + bl DestroySpriteAndFreeResources + b _080783F4 +_080783EE: + adds r0, r4, 0 + bl DestroySprite +_080783F4: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8078380 + + thumb_func_start sub_80783FC +sub_80783FC: @ 80783FC + push {r4-r6,lr} + lsls r0, 24 + lsrs r6, r0, 24 + ldr r4, _080784AC @ =gBattleAnimTarget + ldrb r0, [r4] + movs r1, 0x2 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 8 + ldr r1, _080784B0 @ =0xffe00000 + adds r0, r1 + lsrs r5, r0, 16 + ldrb r0, [r4] + movs r1, 0x3 + bl sub_8074480 + lsls r0, 24 + lsrs r0, 8 + ldr r1, _080784B4 @ =0xffdc0000 + adds r0, r1 + lsrs r4, r0, 16 + bl sub_8073788 + lsls r0, 24 + cmp r0, 0 + beq _0807843A + lsls r0, r5, 16 + ldr r1, _080784B8 @ =0xfffa0000 + adds r0, r1 + lsrs r5, r0, 16 +_0807843A: + movs r1, 0xFD + lsls r1, 6 + movs r0, 0x50 + bl SetGpuReg + movs r1, 0x80 + lsls r1, 5 + movs r0, 0x52 + bl SetGpuReg + ldr r0, _080784BC @ =gUnknown_83BF55C + lsls r1, r5, 16 + asrs r1, 16 + lsls r2, r4, 16 + asrs r2, 16 + movs r3, 0x4 + bl CreateSprite + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _080784C0 @ =0x0000271a + bl GetSpriteTileStartByTag + lsls r0, 16 + ldr r1, _080784C4 @ =0xffff0000 + cmp r0, r1 + bne _08078484 + ldr r1, _080784C8 @ =gSprites + lsls r0, r4, 4 + adds r0, r4 + lsls r0, 2 + adds r0, r1 + adds r0, 0x3E + ldrb r1, [r0] + movs r2, 0x4 + orrs r1, r2 + strb r1, [r0] +_08078484: + lsls r0, r4, 4 + adds r0, r4 + lsls r0, 2 + ldr r1, _080784C8 @ =gSprites + adds r0, r1 + ldr r1, _080784CC @ =gUnknown_83BF554 + bl SetSubspriteTables + ldr r1, _080784D0 @ =gTasks + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + adds r0, r1 + strh r4, [r0, 0x26] + ldr r1, _080784D4 @ =sub_80784D8 + str r1, [r0] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080784AC: .4byte gBattleAnimTarget +_080784B0: .4byte 0xffe00000 +_080784B4: .4byte 0xffdc0000 +_080784B8: .4byte 0xfffa0000 +_080784BC: .4byte gUnknown_83BF55C +_080784C0: .4byte 0x0000271a +_080784C4: .4byte 0xffff0000 +_080784C8: .4byte gSprites +_080784CC: .4byte gUnknown_83BF554 +_080784D0: .4byte gTasks +_080784D4: .4byte sub_80784D8 + thumb_func_end sub_80783FC + + thumb_func_start sub_80784D8 +sub_80784D8: @ 80784D8 + push {lr} + lsls r0, 24 + lsrs r0, 24 + ldr r2, _08078504 @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + ldrh r0, [r1, 0xA] + adds r0, 0x1 + adds r2, r0, 0 + strh r0, [r1, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xA + bne _0807850C + ldr r0, _08078508 @ =sub_8078528 + str r0, [r1] + movs r0, 0 + strh r0, [r1, 0xA] + b _08078522 + .align 2, 0 +_08078504: .4byte gTasks +_08078508: .4byte sub_8078528 +_0807850C: + lsls r0, r2, 24 + lsrs r0, 24 + movs r1, 0x10 + subs r1, r0 + lsls r1, 8 + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg +_08078522: + pop {r0} + bx r0 + thumb_func_end sub_80784D8 + + thumb_func_start sub_8078528 +sub_8078528: @ 8078528 + push {r4-r6,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r0, _080785C0 @ =0x0000271a + bl IndexOfSpritePaletteTag + lsls r0, 24 + lsrs r2, r0, 24 + ldr r1, _080785C4 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r5, r0, r1 + ldrh r0, [r5, 0xA] + adds r1, r0, 0x1 + strh r1, [r5, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xD + ble _080785B8 + ldrh r0, [r5, 0xC] + adds r0, 0x1 + movs r6, 0 + strh r0, [r5, 0xC] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x3 + bne _080785B8 + ldr r3, _080785C8 @ =gPlttBufferFaded + lsls r2, 4 + mov r12, r2 + ldr r1, _080785CC @ =0x0000010d + add r1, r12 + lsls r1, 1 + adds r1, r3 + ldrh r4, [r1] + movs r2, 0x87 + lsls r2, 1 + add r2, r12 + lsls r2, 1 + adds r2, r3 + ldrh r0, [r2] + strh r0, [r1] + ldr r0, _080785D0 @ =0x0000010f + add r0, r12 + lsls r0, 1 + adds r0, r3 + ldrh r1, [r0] + strh r1, [r2] + strh r4, [r0] + strh r6, [r5, 0xC] + ldrh r0, [r5, 0xE] + adds r0, 0x1 + strh r0, [r5, 0xE] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x3 + bne _080785B8 + strh r6, [r5, 0xE] + strh r6, [r5, 0xA] + ldrh r0, [r5, 0x10] + adds r0, 0x1 + strh r0, [r5, 0x10] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x2 + bne _080785B8 + movs r0, 0x9 + strh r0, [r5, 0xA] + ldr r0, _080785D4 @ =sub_80785D8 + str r0, [r5] +_080785B8: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080785C0: .4byte 0x0000271a +_080785C4: .4byte gTasks +_080785C8: .4byte gPlttBufferFaded +_080785CC: .4byte 0x0000010d +_080785D0: .4byte 0x0000010f +_080785D4: .4byte sub_80785D8 + thumb_func_end sub_8078528 + + thumb_func_start sub_80785D8 +sub_80785D8: @ 80785D8 + push {lr} + lsls r0, 24 + lsrs r0, 24 + ldr r2, _08078608 @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r2, r1, r2 + ldrh r0, [r2, 0xA] + subs r0, 0x1 + adds r3, r0, 0 + strh r0, [r2, 0xA] + lsls r0, 16 + asrs r0, 16 + movs r1, 0x1 + negs r1, r1 + cmp r0, r1 + bne _08078610 + ldr r0, _0807860C @ =sub_807862C + str r0, [r2] + movs r0, 0 + strh r0, [r2, 0xA] + b _08078626 + .align 2, 0 +_08078608: .4byte gTasks +_0807860C: .4byte sub_807862C +_08078610: + lsls r0, r3, 24 + lsrs r0, 24 + movs r1, 0x10 + subs r1, r0 + lsls r1, 8 + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg +_08078626: + pop {r0} + bx r0 + thumb_func_end sub_80785D8 + + thumb_func_start sub_807862C +sub_807862C: @ 807862C + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + adds r4, r0, 0 + ldr r1, _0807866C @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r1, r0, r1 + ldrh r0, [r1, 0xA] + adds r0, 0x1 + strh r0, [r1, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x25 + bne _08078674 + ldrh r0, [r1, 0x26] + lsls r0, 24 + lsrs r0, 24 + lsls r4, r0, 4 + adds r4, r0 + lsls r4, 2 + ldr r0, _08078670 @ =gSprites + adds r4, r0 + adds r0, r4, 0 + bl FreeSpriteOamMatrix + adds r0, r4, 0 + bl DestroySprite + b _0807868E + .align 2, 0 +_0807866C: .4byte gTasks +_08078670: .4byte gSprites +_08078674: + cmp r0, 0x27 + bne _0807868E + movs r0, 0x50 + movs r1, 0 + bl SetGpuReg + movs r0, 0x52 + movs r1, 0 + bl SetGpuReg + adds r0, r4, 0 + bl DestroyAnimVisualTask +_0807868E: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_807862C + + thumb_func_start sub_8078694 +sub_8078694: @ 8078694 + push {r4,r5,lr} + lsls r0, 24 + lsrs r4, r0, 24 + movs r3, 0 + ldr r0, _080786B8 @ =gUnknown_2024018 + ldr r0, [r0] + ldr r0, [r0, 0x8] + ldrh r0, [r0] + subs r0, 0xF + cmp r0, 0x2B + bls _080786AC + b _08078830 +_080786AC: + lsls r0, 2 + ldr r1, _080786BC @ =_080786C0 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080786B8: .4byte gUnknown_2024018 +_080786BC: .4byte _080786C0 + .align 2, 0 +_080786C0: + .4byte _08078770 + .4byte _08078776 + .4byte _0807877C + .4byte _08078782 + .4byte _08078788 + .4byte _0807878E + .4byte _08078794 + .4byte _0807879A + .4byte _080787A0 + .4byte _080787A6 + .4byte _080787AC + .4byte _080787B2 + .4byte _080787B8 + .4byte _080787BE + .4byte _08078830 + .4byte _08078830 + .4byte _08078830 + .4byte _08078830 + .4byte _08078830 + .4byte _08078830 + .4byte _08078830 + .4byte _08078830 + .4byte _08078830 + .4byte _08078830 + .4byte _080787C4 + .4byte _080787C8 + .4byte _080787CC + .4byte _080787D0 + .4byte _080787D4 + .4byte _080787D8 + .4byte _080787DC + .4byte _080787E0 + .4byte _080787E8 + .4byte _080787F0 + .4byte _080787F8 + .4byte _08078800 + .4byte _08078808 + .4byte _08078810 + .4byte _08078830 + .4byte _08078830 + .4byte _08078818 + .4byte _0807881C + .4byte _08078820 + .4byte _08078828 +_08078770: + movs r5, 0 + movs r2, 0 + b _08078838 +_08078776: + movs r5, 0 + movs r2, 0x1 + b _08078838 +_0807877C: + movs r5, 0 + movs r2, 0x3 + b _08078838 +_08078782: + movs r5, 0 + movs r2, 0x5 + b _08078838 +_08078788: + movs r5, 0 + movs r2, 0x6 + b _08078838 +_0807878E: + movs r5, 0 + movs r2, 0x2 + b _08078838 +_08078794: + movs r5, 0 + movs r2, 0x4 + b _08078838 +_0807879A: + movs r5, 0x1 + movs r2, 0 + b _08078838 +_080787A0: + movs r5, 0x1 + movs r2, 0x1 + b _08078838 +_080787A6: + movs r5, 0x1 + movs r2, 0x3 + b _08078838 +_080787AC: + movs r5, 0x1 + movs r2, 0x5 + b _08078838 +_080787B2: + movs r5, 0x1 + movs r2, 0x6 + b _08078838 +_080787B8: + movs r5, 0x1 + movs r2, 0x2 + b _08078838 +_080787BE: + movs r5, 0x1 + movs r2, 0x4 + b _08078838 +_080787C4: + movs r5, 0 + b _080787E2 +_080787C8: + movs r5, 0 + b _080787EA +_080787CC: + movs r5, 0 + b _080787F2 +_080787D0: + movs r5, 0 + b _080787FA +_080787D4: + movs r5, 0 + b _08078802 +_080787D8: + movs r5, 0 + b _0807880A +_080787DC: + movs r5, 0 + b _08078812 +_080787E0: + movs r5, 0x1 +_080787E2: + movs r2, 0 + movs r3, 0x1 + b _08078838 +_080787E8: + movs r5, 0x1 +_080787EA: + movs r2, 0x1 + movs r3, 0x1 + b _08078838 +_080787F0: + movs r5, 0x1 +_080787F2: + movs r2, 0x3 + movs r3, 0x1 + b _08078838 +_080787F8: + movs r5, 0x1 +_080787FA: + movs r2, 0x5 + movs r3, 0x1 + b _08078838 +_08078800: + movs r5, 0x1 +_08078802: + movs r2, 0x6 + movs r3, 0x1 + b _08078838 +_08078808: + movs r5, 0x1 +_0807880A: + movs r2, 0x2 + movs r3, 0x1 + b _08078838 +_08078810: + movs r5, 0x1 +_08078812: + movs r2, 0x4 + movs r3, 0x1 + b _08078838 +_08078818: + movs r5, 0 + b _08078822 +_0807881C: + movs r5, 0 + b _0807882A +_08078820: + movs r5, 0x1 +_08078822: + movs r2, 0xFF + movs r3, 0 + b _08078838 +_08078828: + movs r5, 0x1 +_0807882A: + movs r2, 0xFF + movs r3, 0x1 + b _08078838 +_08078830: + adds r0, r4, 0 + bl DestroyAnimVisualTask + b _0807885A +_08078838: + ldr r0, _08078860 @ =gBattleAnimArgs + movs r1, 0 + strh r5, [r0] + strh r2, [r0, 0x2] + strh r1, [r0, 0x4] + strh r1, [r0, 0x6] + strh r3, [r0, 0x8] + ldr r1, _08078864 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r1, _08078868 @ =sub_80BB088 + str r1, [r0] + adds r0, r4, 0 + bl _call_via_r1 +_0807885A: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08078860: .4byte gBattleAnimArgs +_08078864: .4byte gTasks +_08078868: .4byte sub_80BB088 + thumb_func_end sub_8078694 + + thumb_func_start LaunchStatusAnimation +LaunchStatusAnimation: @ 807886C + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + lsls r1, 24 + lsrs r1, 24 + ldr r0, _080788A8 @ =gBattleAnimAttacker + strb r4, [r0] + ldr r0, _080788AC @ =gBattleAnimTarget + strb r4, [r0] + ldr r0, _080788B0 @ =gUnknown_81C6E84 + movs r2, 0 + bl sub_80725D4 + ldr r0, _080788B4 @ =task0A_80788BC + movs r1, 0xA + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + ldr r2, _080788B8 @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + strh r4, [r1, 0x8] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080788A8: .4byte gBattleAnimAttacker +_080788AC: .4byte gBattleAnimTarget +_080788B0: .4byte gUnknown_81C6E84 +_080788B4: .4byte task0A_80788BC +_080788B8: .4byte gTasks + thumb_func_end LaunchStatusAnimation + + thumb_func_start task0A_80788BC +task0A_80788BC: @ 80788BC + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _08078904 @ =gUnknown_2037EDC + ldr r0, [r0] + bl _call_via_r0 + ldr r0, _08078908 @ =gUnknown_2037EE1 + ldrb r0, [r0] + cmp r0, 0 + bne _080788FE + ldr r0, _0807890C @ =gUnknown_2024018 + ldr r2, [r0] + ldr r1, _08078910 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + movs r1, 0x8 + ldrsh r0, [r0, r1] + ldr r2, [r2, 0x4] + lsls r1, r0, 1 + adds r1, r0 + lsls r1, 2 + adds r1, r2 + ldrb r2, [r1] + movs r0, 0x11 + negs r0, r0 + ands r0, r2 + strb r0, [r1] + adds r0, r4, 0 + bl DestroyTask +_080788FE: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08078904: .4byte gUnknown_2037EDC +_08078908: .4byte gUnknown_2037EE1 +_0807890C: .4byte gUnknown_2024018 +_08078910: .4byte gTasks + thumb_func_end task0A_80788BC + + .align 2, 0 @ Don't pad with nop. diff --git a/ld_script.txt b/ld_script.txt index c0ebec726..a524fc643 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -112,10 +112,10 @@ SECTIONS { asm/palette.o(.text); src/sound.o(.text); asm/battle_anim.o(.text); - asm/battle_anim_8074480.o(.text); + asm/battle_anim_mons.o(.text); src/task.o(.text); asm/reshow_battle_screen.o(.text); - asm/battle_anim_8078178.o(.text); + asm/battle_anim_status_effects.o(.text); asm/title_screen.o(.text); asm/reset_save_heap.o(.text); asm/field_weather.o(.text); @@ -138,7 +138,7 @@ SECTIONS { asm/mail_data.o(.text); asm/map_name_popup.o(.text); asm/item_menu_icons.o(.text); - asm/battle_anim_80989F8.o(.text); + asm/battle_anim_mon_movement.o(.text); asm/item.o(.text); asm/shop.o(.text); src/berry.o(.text); @@ -203,14 +203,14 @@ SECTIONS { asm/battle_anim_sound_tasks.o(.text); asm/battle_controller_safari.o(.text); asm/fldeff_sweetscent.o(.text); - asm/battle_anim_80DE2C0.o(.text); + asm/battle_anim_effects_3.o(.text); asm/learn_move.o(.text); asm/fldeff_softboiled.o(.text); asm/battle_tower.o(.text); asm/battle_controller_oak.o(.text); asm/player_pc.o(.text); asm/intro.o(.text); - asm/battle_anim_80EEC0C.o(.text); + asm/battle_anim_special.o(.text); asm/hall_of_fame.o(.text); asm/credits.o(.text); asm/diploma.o(.text); -- cgit v1.2.3 From e73ce5317dfc243474faa9187181ed323faf4ed5 Mon Sep 17 00:00:00 2001 From: garak Date: Thu, 30 May 2019 17:05:30 -0400 Subject: Parametrized to Parameterized --- asm/battle_interface.s | 2 +- asm/battle_records.s | 12 ++++++------ asm/berry_crush_2.s | 10 +++++----- asm/berry_crush_3.s | 4 ++-- asm/berry_pouch.s | 8 ++++---- asm/buy_menu_helpers.s | 2 +- asm/clear_save_data_screen.s | 4 ++-- asm/credits.s | 6 +++--- asm/dodrio_berry_picking.s | 2 +- asm/field_map_obj.s | 6 +++--- asm/field_player_avatar.s | 6 +++--- asm/field_screen_effect.s | 2 +- asm/field_specials.s | 2 +- asm/hall_of_fame.s | 8 ++++---- asm/item_menu.s | 6 +++--- asm/item_pc.s | 6 +++--- asm/learn_move.s | 2 +- asm/link_rfu_3.s | 2 +- asm/list_menu.s | 4 ++-- asm/mailbox_pc.s | 4 ++-- asm/map_preview_screen.s | 2 +- asm/menu.s | 2 +- asm/menu_helpers.s | 2 +- asm/menu_indicators.s | 6 +++--- asm/naming_screen.s | 2 +- asm/new_menu_helpers.s | 16 ++++++++-------- asm/party_menu.s | 10 +++++----- asm/pokedex_screen.s | 2 +- asm/pokemon_storage_system.s | 10 +++++----- asm/pokemon_summary_screen.s | 12 ++++++------ asm/script_menu.s | 6 +++--- asm/shop.s | 4 ++-- asm/start_menu.s | 2 +- asm/teachy_tv.s | 2 +- asm/trade.s | 4 ++-- asm/trainer_see.s | 2 +- include/field_map_obj.h | 2 +- include/menu.h | 2 +- include/menu_indicators.h | 2 +- include/new_menu_helpers.h | 2 +- src/bag.c | 2 +- src/daycare.c | 2 +- src/egg_hatch.c | 2 +- src/fame_checker.c | 22 +++++++++++----------- src/menu2.c | 2 +- src/mystery_gift_menu.c | 14 +++++++------- src/oak_speech.c | 12 ++++++------ src/quest_log.c | 6 +++--- src/tm_case.c | 6 +++--- src/wireless_communication_status_screen.c | 2 +- 50 files changed, 130 insertions(+), 130 deletions(-) diff --git a/asm/battle_interface.s b/asm/battle_interface.s index 8e109b6d6..12b48a1ff 100644 --- a/asm/battle_interface.s +++ b/asm/battle_interface.s @@ -5559,7 +5559,7 @@ AddTextPrinterAndCreateWindowOnHealthbox: @ 804A648 movs r1, 0 adds r2, r6, 0 mov r3, r8 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 mov r0, r10 str r4, [r0] adds r0, r5, 0 diff --git a/asm/battle_records.s b/asm/battle_records.s index 2684fbd43..c2b22e365 100644 --- a/asm/battle_records.s +++ b/asm/battle_records.s @@ -1092,7 +1092,7 @@ _080CDA72: movs r1, 0x2 movs r2, 0xC movs r3, 0x18 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 add sp, 0x14 pop {r4-r7} pop {r0} @@ -1138,7 +1138,7 @@ sub_80CDAD0: @ 80CDAD0 movs r1, 0x2 movs r2, 0 mov r3, r8 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 movs r6, 0 _080CDB0E: movs r4, 0x54 @@ -1161,7 +1161,7 @@ _080CDB1C: movs r0, 0 movs r1, 0x2 mov r3, r8 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 adds r0, r5, 0x1 lsls r0, 24 lsrs r5, r0, 24 @@ -1230,7 +1230,7 @@ _080CDBA6: movs r0, 0 movs r1, 0x2 mov r3, r8 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 adds r0, r5, 0x1 lsls r0, 24 lsrs r5, r0, 24 @@ -1291,7 +1291,7 @@ sub_80CDBE4: @ 80CDBE4 movs r0, 0 movs r1, 0x2 movs r3, 0x4 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 ldr r5, _080CDCA8 @ =gSaveBlock2Ptr ldr r0, [r5] ldr r1, _080CDCAC @ =0x00000a98 @@ -1309,7 +1309,7 @@ sub_80CDBE4: @ 80CDBE4 movs r1, 0x2 movs r2, 0x54 movs r3, 0x30 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 adds r7, r5, 0 movs r5, 0xF4 lsls r5, 22 diff --git a/asm/berry_crush_2.s b/asm/berry_crush_2.s index 16f7bff79..4dca9e9cf 100644 --- a/asm/berry_crush_2.s +++ b/asm/berry_crush_2.s @@ -229,7 +229,7 @@ _0814BCA2: movs r0, 0 movs r1, 0x2 adds r2, r4, 0 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized3 b _0814BD12 .align 2, 0 _0814BCE8: .4byte gStringVar4 @@ -250,7 +250,7 @@ _0814BCF0: str r0, [sp, 0xC] movs r0, 0 movs r1, 0x2 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized3 _0814BD12: movs r0, 0 movs r1, 0x3 @@ -2868,7 +2868,7 @@ _0814D106: movs r0, 0 movs r1, 0x2 movs r3, 0 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized3 movs r0, 0 movs r1, 0x3 bl CopyWindowToVram @@ -3232,7 +3232,7 @@ _0814D3C0: str r1, [sp, 0xC] movs r0, 0 movs r1, 0x2 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized3 b _0814D40C .align 2, 0 _0814D3EC: .4byte gUnknown_846E328 @@ -3249,7 +3249,7 @@ _0814D3F0: str r0, [sp, 0xC] movs r0, 0 movs r1, 0x2 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized3 _0814D40C: movs r0, 0 movs r1, 0x3 diff --git a/asm/berry_crush_3.s b/asm/berry_crush_3.s index f837c4929..0692e6ce1 100644 --- a/asm/berry_crush_3.s +++ b/asm/berry_crush_3.s @@ -2723,7 +2723,7 @@ _0814EBC6: str r4, [sp, 0x10] movs r1, 0x2 movs r3, 0x1 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 b _0814EC4C .align 2, 0 _0814EC10: .4byte 0x000001bb @@ -2752,7 +2752,7 @@ _0814EC18: str r4, [sp, 0x10] movs r1, 0x2 movs r3, 0x1 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 _0814EC4C: ldr r1, _0814EC7C @ =0x000001bb adds r0, r6, r1 diff --git a/asm/berry_pouch.s b/asm/berry_pouch.s index 762938e3c..12c5a4122 100644 --- a/asm/berry_pouch.s +++ b/asm/berry_pouch.s @@ -1072,7 +1072,7 @@ _0813D5EA: movs r1, 0xA0 movs r2, 0x8 movs r3, 0x78 - bl AddScrollIndicatorArrowPairParametrized + bl AddScrollIndicatorArrowPairParameterized ldr r1, [r4] strb r0, [r1, 0x6] add sp, 0x10 @@ -1102,7 +1102,7 @@ sub_813D614: @ 813D614 movs r1, 0xD4 movs r2, 0x78 movs r3, 0x98 - bl AddScrollIndicatorArrowPairParametrized + bl AddScrollIndicatorArrowPairParameterized ldr r1, [r4] strb r0, [r1, 0x6] add sp, 0x10 @@ -1132,7 +1132,7 @@ sub_813D64C: @ 813D64C movs r1, 0x98 movs r2, 0x48 movs r3, 0x68 - bl AddScrollIndicatorArrowPairParametrized + bl AddScrollIndicatorArrowPairParameterized ldr r1, [r4] strb r0, [r1, 0x6] add sp, 0x10 @@ -3465,7 +3465,7 @@ sub_813E9A0: @ 813E9A0 str r4, [sp, 0xC] str r2, [sp, 0x10] mov r2, r9 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 add sp, 0x14 pop {r3,r4} mov r8, r3 diff --git a/asm/buy_menu_helpers.s b/asm/buy_menu_helpers.s index 04caf30a4..8d2f75ed3 100644 --- a/asm/buy_menu_helpers.s +++ b/asm/buy_menu_helpers.s @@ -114,7 +114,7 @@ sub_813F6F4: @ 813F6F4 str r4, [sp, 0xC] str r2, [sp, 0x10] mov r2, r9 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 add sp, 0x14 pop {r3,r4} mov r8, r3 diff --git a/asm/clear_save_data_screen.s b/asm/clear_save_data_screen.s index c92e072cb..e65c67262 100644 --- a/asm/clear_save_data_screen.s +++ b/asm/clear_save_data_screen.s @@ -134,7 +134,7 @@ _080F5660: movs r1, 0x2 movs r2, 0 movs r3, 0x3 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 movs r0, 0x1 movs r1, 0x2 bl CopyWindowToVram @@ -241,7 +241,7 @@ _080F5744: movs r1, 0x2 movs r2, 0 movs r3, 0x3 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 movs r0, 0x1 movs r1, 0x3 bl CopyWindowToVram diff --git a/asm/credits.s b/asm/credits.s index d6b72605b..caf894237 100644 --- a/asm/credits.s +++ b/asm/credits.s @@ -422,7 +422,7 @@ _080F3D0A: movs r1, 0x1 movs r2, 0x8 movs r3, 0x29 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 ldr r1, [r7] movs r0, 0x5 b _080F413C @@ -649,7 +649,7 @@ _080F3EB4: movs r1, 0x1 movs r2, 0x2 movs r3, 0x6 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 ldr r1, [r7] movs r0, 0x8 b _080F3FB8 @@ -696,7 +696,7 @@ _080F3F24: movs r1, 0x2 movs r2, 0x8 movs r3, 0x6 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 ldr r1, [r7] movs r0, 0x9 b _080F3FB8 diff --git a/asm/dodrio_berry_picking.s b/asm/dodrio_berry_picking.s index 19b2b2c43..18dc8821c 100644 --- a/asm/dodrio_berry_picking.s +++ b/asm/dodrio_berry_picking.s @@ -10669,7 +10669,7 @@ _08155AA6: movs r0, 0 movs r1, 0x2 movs r3, 0 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized3 b _08155B08 .align 2, 0 _08155ACC: .4byte gUnknown_8419F54 diff --git a/asm/field_map_obj.s b/asm/field_map_obj.s index 145521094..77df1274b 100644 --- a/asm/field_map_obj.s +++ b/asm/field_map_obj.s @@ -1373,8 +1373,8 @@ SpawnSpecialFieldObject: @ 805E7F4 _0805E82C: .4byte gSaveBlock1Ptr thumb_func_end SpawnSpecialFieldObject - thumb_func_start SpawnSpecialFieldObjectParametrized -SpawnSpecialFieldObjectParametrized: @ 805E830 + thumb_func_start SpawnSpecialFieldObjectParameterized +SpawnSpecialFieldObjectParameterized: @ 805E830 push {r4-r6,lr} mov r6, r8 push {r6} @@ -1425,7 +1425,7 @@ SpawnSpecialFieldObjectParametrized: @ 805E830 bx r1 .align 2, 0 _0805E894: .4byte 0xfff90000 - thumb_func_end SpawnSpecialFieldObjectParametrized + thumb_func_end SpawnSpecialFieldObjectParameterized thumb_func_start show_sprite show_sprite: @ 805E898 diff --git a/asm/field_player_avatar.s b/asm/field_player_avatar.s index b7824ee84..8af7eec53 100644 --- a/asm/field_player_avatar.s +++ b/asm/field_player_avatar.s @@ -4676,7 +4676,7 @@ sub_805D66C: @ 805D66C movs r0, 0 movs r1, 0x2 movs r3, 0x1 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized3 ldrh r0, [r4, 0x8] adds r0, 0x1 strh r0, [r4, 0x8] @@ -4851,7 +4851,7 @@ sub_805D7C0: @ 805D7C0 movs r0, 0 movs r1, 0x2 movs r3, 0x1 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized3 movs r0, 0xD strh r0, [r6, 0x8] movs r0, 0x1 @@ -4904,7 +4904,7 @@ sub_805D838: @ 805D838 movs r0, 0 movs r1, 0x2 movs r3, 0x1 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized3 ldrh r0, [r6, 0x8] adds r0, 0x1 strh r0, [r6, 0x8] diff --git a/asm/field_screen_effect.s b/asm/field_screen_effect.s index 24ca7a19a..b27a20c56 100644 --- a/asm/field_screen_effect.s +++ b/asm/field_screen_effect.s @@ -785,7 +785,7 @@ _0807F3E0: movs r1, 0x2 mov r2, r10 mov r3, r9 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 ldr r2, _0807F42C @ =gTextFlags ldrb r1, [r2] movs r0, 0x2 diff --git a/asm/field_specials.s b/asm/field_specials.s index d98798352..d1302c8d2 100644 --- a/asm/field_specials.s +++ b/asm/field_specials.s @@ -601,7 +601,7 @@ SpawnScriptFieldObject: @ 80CAA34 movs r0, 0x12 movs r1, 0x8 movs r2, 0x7F - bl SpawnSpecialFieldObjectParametrized + bl SpawnSpecialFieldObjectParameterized lsls r0, 24 lsrs r0, 24 ldr r2, _080CAA84 @ =gMapObjects diff --git a/asm/hall_of_fame.s b/asm/hall_of_fame.s index 8a240ed43..e883fbefc 100644 --- a/asm/hall_of_fame.s +++ b/asm/hall_of_fame.s @@ -521,7 +521,7 @@ _080F21B2: movs r0, 0 movs r1, 0x2 movs r3, 0 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized3 movs r0, 0 movs r1, 0x3 bl CopyWindowToVram @@ -1277,7 +1277,7 @@ _080F27AC: movs r0, 0 movs r1, 0x2 movs r3, 0 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized3 movs r0, 0 movs r1, 0x3 bl CopyWindowToVram @@ -2358,7 +2358,7 @@ sub_80F30A4: @ 80F30A4 movs r0, 0 movs r1, 0x2 movs r3, 0 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized3 movs r0, 0 movs r1, 0x3 bl CopyWindowToVram @@ -2764,7 +2764,7 @@ sub_80F33DC: @ 80F33DC movs r1, 0x2 movs r2, 0x4 movs r3, 0x3 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 ldr r0, _080F35FC @ =gSaveBlock2Ptr mov r10, r0 ldr r1, [r0] diff --git a/asm/item_menu.s b/asm/item_menu.s index 46891fe94..53c92a8d3 100644 --- a/asm/item_menu.s +++ b/asm/item_menu.s @@ -1383,7 +1383,7 @@ sub_8108888: @ 8108888 movs r1, 0xA0 movs r2, 0x8 movs r3, 0x68 - bl AddScrollIndicatorArrowPairParametrized + bl AddScrollIndicatorArrowPairParameterized ldr r1, [r4] strb r0, [r1, 0x8] add sp, 0x10 @@ -1439,7 +1439,7 @@ sub_8108908: @ 8108908 movs r1, 0x98 movs r2, 0x48 movs r3, 0x68 - bl AddScrollIndicatorArrowPairParametrized + bl AddScrollIndicatorArrowPairParameterized ldr r1, [r4] strb r0, [r1, 0x8] add sp, 0x10 @@ -1469,7 +1469,7 @@ sub_8108940: @ 8108940 movs r1, 0xD4 movs r2, 0x78 movs r3, 0x98 - bl AddScrollIndicatorArrowPairParametrized + bl AddScrollIndicatorArrowPairParameterized ldr r1, [r4] strb r0, [r1, 0x8] add sp, 0x10 diff --git a/asm/item_pc.s b/asm/item_pc.s index e7a9f8ee5..b4812a926 100644 --- a/asm/item_pc.s +++ b/asm/item_pc.s @@ -941,7 +941,7 @@ sub_810DB5C: @ 810DB5C movs r1, 0x80 movs r2, 0x8 movs r3, 0x68 - bl AddScrollIndicatorArrowPairParametrized + bl AddScrollIndicatorArrowPairParameterized ldr r1, [r4] strb r0, [r1, 0x8] add sp, 0x10 @@ -972,7 +972,7 @@ sub_810DB98: @ 810DB98 movs r1, 0xD4 movs r2, 0x78 movs r3, 0x98 - bl AddScrollIndicatorArrowPairParametrized + bl AddScrollIndicatorArrowPairParameterized ldr r1, [r4] strb r0, [r1, 0x8] add sp, 0x10 @@ -2782,7 +2782,7 @@ sub_810EA34: @ 810EA34 str r4, [sp, 0xC] str r2, [sp, 0x10] mov r2, r9 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 add sp, 0x14 pop {r3,r4} mov r8, r3 diff --git a/asm/learn_move.s b/asm/learn_move.s index 92f6abfea..32e54d1c7 100644 --- a/asm/learn_move.s +++ b/asm/learn_move.s @@ -1936,7 +1936,7 @@ _080E563E: movs r1, 0x3 adds r2, r7, 0 adds r3, r6, 0 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 add sp, 0x14 pop {r3-r5} mov r8, r3 diff --git a/asm/link_rfu_3.s b/asm/link_rfu_3.s index f2e88b619..5f62eb749 100644 --- a/asm/link_rfu_3.s +++ b/asm/link_rfu_3.s @@ -12766,7 +12766,7 @@ sub_811C0E0: @ 811C0E0 movs r1, 0x3 adds r2, r6, 0 ldr r3, [sp, 0x14] - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 add sp, 0x18 pop {r3-r5} mov r8, r3 diff --git a/asm/list_menu.s b/asm/list_menu.s index 4615e249b..b4b1b48d3 100644 --- a/asm/list_menu.s +++ b/asm/list_menu.s @@ -782,7 +782,7 @@ ListMenuPrint: @ 8107428 str r6, [sp, 0x10] adds r2, r7, 0 mov r3, r12 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 ldrb r1, [r5, 0x3] movs r0, 0x7F ands r0, r1 @@ -820,7 +820,7 @@ _08107494: str r6, [sp, 0x10] adds r2, r7, 0 mov r3, r12 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 _081074D2: add sp, 0x18 pop {r4-r7} diff --git a/asm/mailbox_pc.s b/asm/mailbox_pc.s index 5273d1357..422995bab 100644 --- a/asm/mailbox_pc.s +++ b/asm/mailbox_pc.s @@ -154,7 +154,7 @@ _0810EC62: movs r1, 0x2 movs r2, 0x8 adds r3, r5, 0 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 _0810EC82: add sp, 0x34 pop {r4,r5} @@ -303,7 +303,7 @@ sub_810ED80: @ 810ED80 movs r1, 0xC2 movs r2, 0xC movs r3, 0x94 - bl AddScrollIndicatorArrowPairParametrized + bl AddScrollIndicatorArrowPairParameterized strb r0, [r4, 0xA] add sp, 0x10 pop {r4} diff --git a/asm/map_preview_screen.s b/asm/map_preview_screen.s index c8f063d5a..130014bd0 100644 --- a/asm/map_preview_screen.s +++ b/asm/map_preview_screen.s @@ -345,7 +345,7 @@ sub_80F8318: @ 80F8318 adds r0, r6, 0 movs r1, 0x2 movs r3, 0x2 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 mov r0, r8 add sp, 0x14 pop {r3,r4} diff --git a/asm/menu.s b/asm/menu.s index 6341c2c32..a4f72fd80 100644 --- a/asm/menu.s +++ b/asm/menu.s @@ -1132,7 +1132,7 @@ _0810F6CE: movs r1, 0x1 movs r2, 0x4 movs r3, 0x1 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 cmp r7, 0 beq _0810F6F6 ldrb r0, [r6] diff --git a/asm/menu_helpers.s b/asm/menu_helpers.s index 792bed5cf..2637f1947 100644 --- a/asm/menu_helpers.s +++ b/asm/menu_helpers.s @@ -57,7 +57,7 @@ _080BF4B8: adds r1, r7, 0 adds r2, r4, 0 adds r3, r5, 0 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized3 ldr r1, _080BF50C @ =gUnknown_20399CC ldr r0, [sp, 0x34] str r0, [r1] diff --git a/asm/menu_indicators.s b/asm/menu_indicators.s index 5ae7a46c4..28e783731 100644 --- a/asm/menu_indicators.s +++ b/asm/menu_indicators.s @@ -294,8 +294,8 @@ _08133B38: .4byte 0x0000ffff _08133B3C: .4byte gSprites thumb_func_end AddScrollIndicatorArrowPair - thumb_func_start AddScrollIndicatorArrowPairParametrized -AddScrollIndicatorArrowPairParametrized: @ 8133B40 + thumb_func_start AddScrollIndicatorArrowPairParameterized +AddScrollIndicatorArrowPairParameterized: @ 8133B40 push {r4,lr} adds r4, r1, 0 subs r0, 0x2 @@ -345,7 +345,7 @@ _08133B76: bx r1 .align 2, 0 _08133BA0: .4byte gUnknown_203B130 - thumb_func_end AddScrollIndicatorArrowPairParametrized + thumb_func_end AddScrollIndicatorArrowPairParameterized thumb_func_start sub_8133BA4 sub_8133BA4: @ 8133BA4 diff --git a/asm/naming_screen.s b/asm/naming_screen.s index 01217d92f..23bd7ca5d 100644 --- a/asm/naming_screen.s +++ b/asm/naming_screen.s @@ -980,7 +980,7 @@ _0809E156: movs r0, 0 movs r1, 0x2 adds r2, r4, 0 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized3 movs r0, 0 movs r1, 0x3 bl CopyWindowToVram diff --git a/asm/new_menu_helpers.s b/asm/new_menu_helpers.s index 7401398af..0e6b63c52 100644 --- a/asm/new_menu_helpers.s +++ b/asm/new_menu_helpers.s @@ -725,8 +725,8 @@ sub_80F6CBC: @ 80F6CBC bx r1 thumb_func_end sub_80F6CBC - thumb_func_start AddTextPrinterParametrized -AddTextPrinterParametrized: @ 80F6CD0 + thumb_func_start AddTextPrinterParameterized3 +AddTextPrinterParameterized3: @ 80F6CD0 push {r4-r7,lr} mov r7, r8 push {r7} @@ -796,7 +796,7 @@ AddTextPrinterParametrized: @ 80F6CD0 bx r1 .align 2, 0 _080F6D58: .4byte gTextFlags - thumb_func_end AddTextPrinterParametrized + thumb_func_end AddTextPrinterParameterized3 thumb_func_start sub_80F6D5C sub_80F6D5C: @ 80F6D5C @@ -832,7 +832,7 @@ sub_80F6D5C: @ 80F6D5C str r0, [sp, 0xC] movs r0, 0 movs r1, 0x4 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized3 b _080F6DFC .align 2, 0 _080F6DA8: .4byte gTextFlags @@ -853,7 +853,7 @@ _080F6DB0: str r0, [sp, 0xC] movs r0, 0 movs r1, 0x5 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized3 b _080F6DFC .align 2, 0 _080F6DD8: .4byte gStringVar4 @@ -871,7 +871,7 @@ _080F6DDC: str r0, [sp, 0xC] movs r0, 0 movs r1, 0x2 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized3 _080F6DFC: add sp, 0x10 pop {r4,r5} @@ -910,7 +910,7 @@ sub_80F6E08: @ 80F6E08 str r0, [sp, 0xC] movs r0, 0 movs r1, 0x2 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized3 add sp, 0x10 pop {r4} pop {r0} @@ -948,7 +948,7 @@ sub_80F6E54: @ 80F6E54 str r0, [sp, 0xC] movs r0, 0 movs r1, 0x2 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized3 add sp, 0x10 pop {r4,r5} pop {r0} diff --git a/asm/party_menu.s b/asm/party_menu.s index 2aaa52985..caf25ee87 100644 --- a/asm/party_menu.s +++ b/asm/party_menu.s @@ -5084,7 +5084,7 @@ _0812110E: adds r0, r4, 0 movs r1, 0 movs r3, 0x1 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 adds r0, r4, 0 bl PutWindowTilemap adds r0, r4, 0 @@ -6831,7 +6831,7 @@ _08121F3C: str r1, [sp, 0x10] movs r1, 0x2 mov r2, r9 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 adds r0, r5, 0x1 lsls r0, 24 lsrs r5, r0, 24 @@ -6903,7 +6903,7 @@ sub_8121FC0: @ 8121FC0 movs r0, 0x6 movs r1, 0x2 adds r2, r4, 0 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized3 add sp, 0x10 pop {r4} pop {r0} @@ -7005,7 +7005,7 @@ sub_8122084: @ 8122084 adds r0, r4, 0 movs r1, 0x4 adds r2, r5, 0 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized3 add sp, 0x10 pop {r4,r5} pop {r0} @@ -7121,7 +7121,7 @@ _0812217A: movs r1, 0x2 movs r2, 0x3 movs r3, 0x6 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 ldrb r0, [r4, 0xE] bl PutWindowTilemap movs r0, 0x2 diff --git a/asm/pokedex_screen.s b/asm/pokedex_screen.s index 24094d9af..f62f57146 100644 --- a/asm/pokedex_screen.s +++ b/asm/pokedex_screen.s @@ -4266,7 +4266,7 @@ _08104852: adds r0, r7, 0 adds r1, r5, 0 adds r2, r6, 0 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 add sp, 0x18 pop {r4-r7} pop {r0} diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s index 848434a55..acdd82d0c 100644 --- a/asm/pokemon_storage_system.s +++ b/asm/pokemon_storage_system.s @@ -807,7 +807,7 @@ _0808BF3C: str r1, [sp, 0x10] movs r1, 0x1 movs r3, 0x2 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 ldr r0, [sp, 0x50] mov r10, r4 cmp r0, 0x6 @@ -960,7 +960,7 @@ sub_808BFE0: @ 808BFE0 movs r1, 0x1 movs r2, 0 movs r3, 0x2 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 lsrs r5, 1 adds r0, r7, 0 ldr r1, [sp, 0x24] @@ -1442,7 +1442,7 @@ _0808C3E0: movs r0, 0 movs r1, 0x2 movs r3, 0xFF - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized3 movs r0, 0 movs r1, 0x3 bl CopyWindowToVram @@ -1549,7 +1549,7 @@ _0808C4CE: movs r0, 0 movs r1, 0x2 movs r3, 0 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized3 b _0808C69C .align 2, 0 _0808C504: .4byte gMain @@ -1725,7 +1725,7 @@ _0808C66E: movs r0, 0 movs r1, 0x2 movs r3, 0 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized3 strh r4, [r5, 0x8] b _0808C69C .align 2, 0 diff --git a/asm/pokemon_summary_screen.s b/asm/pokemon_summary_screen.s index 7f5e31b7c..45cd06f08 100644 --- a/asm/pokemon_summary_screen.s +++ b/asm/pokemon_summary_screen.s @@ -5928,7 +5928,7 @@ _081376E6: movs r1, 0x2 movs r2, 0 movs r3, 0x3 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 add sp, 0xD4 pop {r4-r7} pop {r0} @@ -6052,7 +6052,7 @@ _081377F6: movs r1, 0x2 movs r2, 0 movs r3, 0x3 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 b _0813792C .align 2, 0 _08137820: .4byte gUnknown_8419782 @@ -6176,7 +6176,7 @@ _08137906: movs r1, 0x2 movs r2, 0 movs r3, 0x3 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 _0813792C: add sp, 0xD4 pop {r4-r6} @@ -6341,7 +6341,7 @@ _08137A46: movs r1, 0x2 movs r2, 0 movs r3, 0x3 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 add sp, 0x14 pop {r4-r7} pop {r0} @@ -6486,7 +6486,7 @@ _08137B1C: movs r1, 0x2 movs r2, 0x7 movs r3, 0x2A - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 _08137B9E: add sp, 0x14 pop {r3} @@ -9875,7 +9875,7 @@ _081396A8: movs r1, 0x2 movs r2, 0x7 movs r3, 0x2A - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 ldr r0, [r5] adds r0, r4 ldrb r0, [r0] diff --git a/asm/script_menu.s b/asm/script_menu.s index d917b5d5b..3445a36ff 100644 --- a/asm/script_menu.s +++ b/asm/script_menu.s @@ -578,7 +578,7 @@ _0809CD82: movs r0, 0 movs r1, 0x2 movs r3, 0 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized3 b _0809CDE0 .align 2, 0 _0809CDAC: .4byte gUnknown_83E0738 @@ -603,7 +603,7 @@ _0809CDB0: movs r0, 0 movs r1, 0x2 movs r3, 0 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized3 _0809CDE0: add sp, 0x10 pop {r4} @@ -1178,7 +1178,7 @@ sub_809D254: @ 809D254 movs r0, 0 movs r1, 0x2 movs r3, 0 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized3 add sp, 0x10 pop {r0} bx r0 diff --git a/asm/shop.s b/asm/shop.s index 525fbbc45..33f6bd225 100644 --- a/asm/shop.s +++ b/asm/shop.s @@ -1510,7 +1510,7 @@ _0809B6C4: movs r2, 0x8 movs r3, 0x58 _0809B6E2: - bl AddScrollIndicatorArrowPairParametrized + bl AddScrollIndicatorArrowPairParameterized lsls r0, 3 ldrb r2, [r4, 0x17] movs r1, 0x7 @@ -1542,7 +1542,7 @@ sub_809B6FC: @ 809B6FC movs r1, 0x98 movs r2, 0x48 movs r3, 0x68 - bl AddScrollIndicatorArrowPairParametrized + bl AddScrollIndicatorArrowPairParameterized lsls r0, 3 ldrb r2, [r4, 0x17] movs r1, 0x7 diff --git a/asm/start_menu.s b/asm/start_menu.s index 3fc08e41a..b24cf4ac3 100644 --- a/asm/start_menu.s +++ b/asm/start_menu.s @@ -1908,7 +1908,7 @@ _0806FC14: movs r0, 0 movs r1, 0x2 movs r3, 0xFF - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized3 movs r0, 0 movs r1, 0x8 movs r2, 0xF diff --git a/asm/teachy_tv.s b/asm/teachy_tv.s index 482b5da60..a49e75992 100644 --- a/asm/teachy_tv.s +++ b/asm/teachy_tv.s @@ -789,7 +789,7 @@ sub_815B1DC: @ 815B1DC movs r0, 0 movs r1, 0x4 adds r2, r4, 0 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized3 add sp, 0x10 pop {r4} pop {r0} diff --git a/asm/trade.s b/asm/trade.s index 1c6dd00a8..acb395a43 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -4847,7 +4847,7 @@ _0804ECEC: movs r1, 0x1 movs r2, 0 movs r3, 0 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 adds r0, r5, 0 bl PutWindowTilemap adds r0, r5, 0 @@ -14989,7 +14989,7 @@ sub_8054508: @ 8054508 movs r1, 0x2 movs r2, 0 movs r3, 0x2 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 adds r0, r5, 0 movs r1, 0x3 bl CopyWindowToVram diff --git a/asm/trainer_see.s b/asm/trainer_see.s index 6cc322609..a07c918f8 100644 --- a/asm/trainer_see.s +++ b/asm/trainer_see.s @@ -1024,7 +1024,7 @@ sub_808226C: @ 808226C movs r0, 0x12 movs r1, 0x7 movs r2, 0x7F - bl SpawnSpecialFieldObjectParametrized + bl SpawnSpecialFieldObjectParameterized ldr r2, _080822C8 @ =gMapObjects lsls r1, r0, 3 adds r1, r0 diff --git a/include/field_map_obj.h b/include/field_map_obj.h index 69e3419de..459122d32 100644 --- a/include/field_map_obj.h +++ b/include/field_map_obj.h @@ -48,7 +48,7 @@ void SpawnFieldObjectsInView(s16, s16); u8 sprite_new(u8, u8, s16, s16, u8, u8); u8 AddPseudoFieldObject(u16, void (*)(struct Sprite *), s16, s16, u8); u8 show_sprite(u8, u8, u8); -u8 SpawnSpecialFieldObjectParametrized(u8, u8, u8, s16, s16, u8); +u8 SpawnSpecialFieldObjectParameterized(u8, u8, u8, s16, s16, u8); u8 SpawnSpecialFieldObject(struct MapObjectTemplate *); void sub_8093038(s16, s16, s16 *, s16 *); void CameraObjectReset1(void); diff --git a/include/menu.h b/include/menu.h index 40c7ffc12..606193953 100644 --- a/include/menu.h +++ b/include/menu.h @@ -34,7 +34,7 @@ u64 sub_8198A50(struct WindowTemplate*, u8, u8, u8, u8, u8, u8, u16); // returns s8 Menu_ProcessInputNoWrapClearOnChoose(void); void do_scheduled_bg_tilemap_copies_to_vram(void); void clear_scheduled_bg_copies_to_vram(void); -void AddTextPrinterParametrized2(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, const struct TextColor *color, s8 speed, const u8 *str); +void AddTextPrinterParameterized2(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, const struct TextColor *color, s8 speed, const u8 *str); void sub_8197B1C(u8 windowId, bool8 copyToVram, u16 a2, u16 a3); void sub_810F4D8(u8 windowId, bool32 someBool); void *sub_80F68F0(u8 bgId, const void *src, u32 size, u16 offset, u8 mode); diff --git a/include/menu_indicators.h b/include/menu_indicators.h index f195ceb6d..8c669aeef 100644 --- a/include/menu_indicators.h +++ b/include/menu_indicators.h @@ -24,7 +24,7 @@ struct ScrollIndicatorArrowPairTemplate }; // Exported ROM declarations -u8 AddScrollIndicatorArrowPairParametrized(u8, u8, u8, u8, s32, u16, u16, u16 *); +u8 AddScrollIndicatorArrowPairParameterized(u8, u8, u8, u8, s32, u16, u16, u16 *); u8 AddScrollIndicatorArrowPair(const struct ScrollIndicatorArrowPairTemplate * template, u16 * a1); void RemoveScrollIndicatorArrowPair(u8); diff --git a/include/new_menu_helpers.h b/include/new_menu_helpers.h index b3daf43c6..e9b41d778 100644 --- a/include/new_menu_helpers.h +++ b/include/new_menu_helpers.h @@ -9,7 +9,7 @@ void sub_81973A4(void); void sub_81973C4(u8, u8); void sub_819746C(u8 windowId, bool8 copyToVram); void sub_81973FC(u8, u8); -u16 AddTextPrinterParametrized(u8 windowId, u8 fontId, const u8 *str, u8 speed, void ( *callback)(u16, struct TextPrinter *), u8 fgColor, u8 bgColor, u8 shadowColor); +u16 AddTextPrinterParameterized3(u8 windowId, u8 fontId, const u8 *str, u8 speed, void ( *callback)(u16, struct TextPrinter *), u8 fgColor, u8 bgColor, u8 shadowColor); void DisplayItemMessageOnField(u8 taskId, u8 bgId, const u8 *src, TaskFunc callback); void sub_8197434(u8 a0, u8 a1); void SetStandardWindowBorderStyle(u8 a0, u8 a1); diff --git a/src/bag.c b/src/bag.c index acfeddc60..a9441eb8d 100644 --- a/src/bag.c +++ b/src/bag.c @@ -228,7 +228,7 @@ void sub_810B858(void) void sub_810B8F0(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, s8 speed, u8 colorIdx) { - AddTextPrinterParametrized2(windowId, fontId, x, y, letterSpacing, lineSpacing, &gUnknown_84530B8[colorIdx], speed, str); + AddTextPrinterParameterized2(windowId, fontId, x, y, letterSpacing, lineSpacing, &gUnknown_84530B8[colorIdx], speed, str); } void sub_810B958(const u8 * str) diff --git a/src/daycare.c b/src/daycare.c index 26ebedc5d..268ad5a42 100644 --- a/src/daycare.c +++ b/src/daycare.c @@ -2205,5 +2205,5 @@ static void EggHatchPrintMessage(u8 windowId, u8* string, u8 x, u8 y, u8 speed) sEggHatchData->textColor.fgColor = 0; sEggHatchData->textColor.bgColor = 5; sEggHatchData->textColor.shadowColor = 6; - AddTextPrinterParametrized2(windowId, 3, x, y, 1, 1, &sEggHatchData->textColor, speed, string); + AddTextPrinterParameterized2(windowId, 3, x, y, 1, 1, &sEggHatchData->textColor, speed, string); } diff --git a/src/egg_hatch.c b/src/egg_hatch.c index d8e1a4d55..b840daf7b 100644 --- a/src/egg_hatch.c +++ b/src/egg_hatch.c @@ -874,5 +874,5 @@ static void EggHatchPrintMessage(u8 windowId, u8* string, u8 x, u8 y, u8 speed) sEggHatchData->textColor.fgColor = 0; sEggHatchData->textColor.bgColor = 5; sEggHatchData->textColor.shadowColor = 6; - AddTextPrinterParametrized2(windowId, 3, x, y, 1, 1, &sEggHatchData->textColor, speed, string); + AddTextPrinterParameterized2(windowId, 3, x, y, 1, 1, &sEggHatchData->textColor, speed, string); } diff --git a/src/fame_checker.c b/src/fame_checker.c index 795863aca..612c3c35e 100644 --- a/src/fame_checker.c +++ b/src/fame_checker.c @@ -639,7 +639,7 @@ static bool8 TryExitPickMode(u8 taskId) static void MessageBoxPrintEmptyText(void) { - AddTextPrinterParametrized(2, 2, gFameCheckerText_ClearTextbox, 0, NULL, 2, 1, 3); + AddTextPrinterParameterized3(2, 2, gFameCheckerText_ClearTextbox, 0, NULL, 2, 1, 3); } static void Task_EnterPickMode(u8 taskId) @@ -779,7 +779,7 @@ static void GetPickModeText(void) if (HasUnlockedAllFlavorTextsForCurrentPerson() == TRUE) offset = NUM_FAMECHECKER_PERSONS; StringExpandPlaceholders(gStringVar4, sFameCheckerNameAndQuotesPointers[sFameCheckerData->unlockedPersons[who] + offset]); - AddTextPrinterParametrized(FCWINDOWID_MSGBOX, 2, gStringVar4, GetTextSpeedSetting(), NULL, 2, 1, 3); + AddTextPrinterParameterized3(FCWINDOWID_MSGBOX, 2, gStringVar4, GetTextSpeedSetting(), NULL, 2, 1, 3); FC_PutWindowTilemapAndCopyWindowToVramMode3(FCWINDOWID_MSGBOX); } } @@ -790,7 +790,7 @@ static void PrintSelectedNameInBrightGreen(u8 taskId) u16 cursorPos = FameCheckerGetCursorY(); FillWindowPixelRect(FCWINDOWID_MSGBOX, 0x11, 0, 0, 0xd0, 0x20); StringExpandPlaceholders(gStringVar4, sFameCheckerFlavorTextPointers[sFameCheckerData->unlockedPersons[cursorPos] * 6 + data[1]]); - AddTextPrinterParametrized(FCWINDOWID_MSGBOX, 2, gStringVar4, GetTextSpeedSetting(), NULL, 2, 1, 3); + AddTextPrinterParameterized3(FCWINDOWID_MSGBOX, 2, gStringVar4, GetTextSpeedSetting(), NULL, 2, 1, 3); FC_PutWindowTilemapAndCopyWindowToVramMode3(FCWINDOWID_MSGBOX); } @@ -900,7 +900,7 @@ static void PrintUIHelp(u8 state) } width = GetStringWidth(0, src, 0); FillWindowPixelRect(FCWINDOWID_UIHELP, 0x00, 0, 0, 0xc0, 0x10); - AddTextPrinterParametrized2(FCWINDOWID_UIHELP, 0, 188 - width, 0, 0, 2, &sTextColor_White, -1, src); + AddTextPrinterParameterized2(FCWINDOWID_UIHELP, 0, 188 - width, 0, 0, 2, &sTextColor_White, -1, src); FC_PutWindowTilemapAndCopyWindowToVramMode3(FCWINDOWID_UIHELP); } @@ -1213,10 +1213,10 @@ static void UpdateIconDescriptionBox(u8 whichText) gIconDescriptionBoxIsOpen = 1; FillWindowPixelRect(FCWINDOWID_ICONDESC, 0x00, 0, 0, 0x58, 0x20); width = (0x54 - GetStringWidth(0, sFlavorTextOriginLocationTexts[idx], 0)) / 2; - AddTextPrinterParametrized2(FCWINDOWID_ICONDESC, 0, width, 0, 0, 2, &sTextColor_DkGrey, -1, sFlavorTextOriginLocationTexts[idx]); + AddTextPrinterParameterized2(FCWINDOWID_ICONDESC, 0, width, 0, 0, 2, &sTextColor_DkGrey, -1, sFlavorTextOriginLocationTexts[idx]); StringExpandPlaceholders(gStringVar1, sFlavorTextOriginObjectNameTexts[idx]); width = (0x54 - GetStringWidth(0, gStringVar1, 0)) / 2; - AddTextPrinterParametrized2(FCWINDOWID_ICONDESC, 0, width, 10, 0, 2, &sTextColor_DkGrey, -1, gStringVar1); + AddTextPrinterParameterized2(FCWINDOWID_ICONDESC, 0, width, 10, 0, 2, &sTextColor_DkGrey, -1, gStringVar1); FC_PutWindowTilemapAndCopyWindowToVramMode3(FCWINDOWID_ICONDESC); } @@ -1330,7 +1330,7 @@ static void Task_SwitchToPickMode(u8 taskId) static void PrintCancelDescription(void) { FillWindowPixelRect(FCWINDOWID_MSGBOX, 0x11, 0, 0, 0xd0, 0x20); - AddTextPrinterParametrized(FCWINDOWID_MSGBOX, 2, gFameCheckerText_FameCheckerWillBeClosed, 0, NULL, 2, 1, 3); + AddTextPrinterParameterized3(FCWINDOWID_MSGBOX, 2, gFameCheckerText_FameCheckerWillBeClosed, 0, NULL, 2, 1, 3); FC_PutWindowTilemapAndCopyWindowToVramMode3(FCWINDOWID_MSGBOX); } @@ -1341,14 +1341,14 @@ static void FC_DoMoveCursor(s32 itemIndex, bool8 onInit) u16 who; get_coro_args_x18_x1A(sFameCheckerData->listMenuTaskId, &listY, &cursorY); who = listY + cursorY; - AddTextPrinterParametrized2(FCWINDOWID_LIST, 2, 8, 14 * cursorY + 4, 0, 0, &sTextColor_Green, 0, sListMenuItems[itemIndex].unk_00); + AddTextPrinterParameterized2(FCWINDOWID_LIST, 2, 8, 14 * cursorY + 4, 0, 0, &sTextColor_Green, 0, sListMenuItems[itemIndex].unk_00); if (!onInit) { if (listY < sFameCheckerData->listMenuTopIdx2) sFameCheckerData->listMenuDrawnSelIdx++; else if (listY > sFameCheckerData->listMenuTopIdx2 && who != sFameCheckerData->numUnlockedPersons - 1) sFameCheckerData->listMenuDrawnSelIdx--; - AddTextPrinterParametrized2(FCWINDOWID_LIST, 2, 8, 14 * sFameCheckerData->listMenuDrawnSelIdx + 4, 0, 0, &sTextColor_DkGrey, 0, sListMenuItems[sFameCheckerData->listMenuCurIdx].unk_00); + AddTextPrinterParameterized2(FCWINDOWID_LIST, 2, 8, 14 * sFameCheckerData->listMenuDrawnSelIdx + 4, 0, 0, &sTextColor_DkGrey, 0, sListMenuItems[sFameCheckerData->listMenuCurIdx].unk_00); } sFameCheckerData->listMenuCurIdx = itemIndex; @@ -1547,7 +1547,7 @@ static void PlaceListMenuCursor(bool8 isActive) { u16 cursorY = ListMenuGetYCoordForPrintingArrowCursor(sFameCheckerData->listMenuTaskId); if (isActive == TRUE) - AddTextPrinterParametrized2(FCWINDOWID_LIST, 2, 0, cursorY, 0, 0, &sTextColor_DkGrey, 0, gFameCheckerText_ListMenuCursor); + AddTextPrinterParameterized2(FCWINDOWID_LIST, 2, 0, cursorY, 0, 0, &sTextColor_DkGrey, 0, gFameCheckerText_ListMenuCursor); else - AddTextPrinterParametrized2(FCWINDOWID_LIST, 2, 0, cursorY, 0, 0, &sTextColor_White, 0, gFameCheckerText_ListMenuCursor); + AddTextPrinterParameterized2(FCWINDOWID_LIST, 2, 0, cursorY, 0, 0, &sTextColor_White, 0, gFameCheckerText_ListMenuCursor); } diff --git a/src/menu2.c b/src/menu2.c index 0676fc75e..2f411f81c 100644 --- a/src/menu2.c +++ b/src/menu2.c @@ -444,7 +444,7 @@ void box_print(u8 windowId, u8 fontId, u8 x, u8 y, const struct TextColor * colo AddTextPrinter(&printer, speed, NULL); } -void AddTextPrinterParametrized2(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, const struct TextColor *color, s8 speed, const u8 *str) +void AddTextPrinterParameterized2(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, const struct TextColor *color, s8 speed, const u8 *str) { struct TextPrinterTemplate printer; diff --git a/src/mystery_gift_menu.c b/src/mystery_gift_menu.c index 1ec4e6157..bed7d0733 100644 --- a/src/mystery_gift_menu.c +++ b/src/mystery_gift_menu.c @@ -538,14 +538,14 @@ void PrintMysteryGiftOrEReaderTopMenu(bool8 mg_or_ereader, bool32 usePickOkCance if (!mg_or_ereader) { src = usePickOkCancel == TRUE ? gText_PickOKExit : gText_PickOKCancel; - AddTextPrinterParametrized2(0, 2, 2, 2, 0, 0, &sMG_Ereader_TextColor_1, 0, gText_MysteryGift); + AddTextPrinterParameterized2(0, 2, 2, 2, 0, 0, &sMG_Ereader_TextColor_1, 0, gText_MysteryGift); width = 222 - GetStringWidth(0, src, 0); - AddTextPrinterParametrized2(0, 0, width, 2, 0, 0, &sMG_Ereader_TextColor_1, 0, src); + AddTextPrinterParameterized2(0, 0, width, 2, 0, 0, &sMG_Ereader_TextColor_1, 0, src); } else { - AddTextPrinterParametrized2(0, 2, 2, 2, 0, 0, &sMG_Ereader_TextColor_1, 0, gJPText_MysteryGift); - AddTextPrinterParametrized2(0, 0, 0x78, 2, 0, 0, &sMG_Ereader_TextColor_1, 0, gJPText_DecideStop); + AddTextPrinterParameterized2(0, 2, 2, 2, 0, 0, &sMG_Ereader_TextColor_1, 0, gJPText_MysteryGift); + AddTextPrinterParameterized2(0, 0, 0x78, 2, 0, 0, &sMG_Ereader_TextColor_1, 0, gJPText_DecideStop); } CopyWindowToVram(0, 2); PutWindowTilemap(0); @@ -596,7 +596,7 @@ void AddTextPrinterToWindow1(const u8 *str) { StringExpandPlaceholders(gStringVar4, str); FillWindowPixelBuffer(1, 0x11); - AddTextPrinterParametrized2(1, 2, 0, 2, 0, 2, &sMG_Ereader_TextColor_2, 0, gStringVar4); + AddTextPrinterParameterized2(1, 2, 0, 2, 0, 2, &sMG_Ereader_TextColor_2, 0, gStringVar4); DrawTextBorderOuter(1, 0x001, 0xF); PutWindowTilemap(1); CopyWindowToVram(1, 3); @@ -737,7 +737,7 @@ s8 mevent_message_print_and_prompt_yes_no(u8 * textState, u16 * windowId, bool8 *windowId = AddWindow(&sWindowTemplate_PromptYesOrNo_Width20); } FillWindowPixelBuffer(*windowId, 0x11); - AddTextPrinterParametrized2(*windowId, 2, 0, 2, 0, 2, &sMG_Ereader_TextColor_2, 0, gStringVar4); + AddTextPrinterParameterized2(*windowId, 2, 0, 2, 0, 2, &sMG_Ereader_TextColor_2, 0, gStringVar4); DrawTextBorderOuter(*windowId, 0x001, 0x0F); CopyWindowToVram(*windowId, 2); PutWindowTilemap(*windowId); @@ -798,7 +798,7 @@ s32 HandleMysteryGiftListMenu(u8 * textState, u16 * windowId, bool32 cannotToss, } *windowId = AddWindow(&sMysteryGiftMenuWindowTemplate); FillWindowPixelBuffer(*windowId, 0x11); - AddTextPrinterParametrized2(*windowId, 2, 0, 2, 0, 2, &sMG_Ereader_TextColor_2, 0, gStringVar4); + AddTextPrinterParameterized2(*windowId, 2, 0, 2, 0, 2, &sMG_Ereader_TextColor_2, 0, gStringVar4); DrawTextBorderOuter(*windowId, 0x001, 0x0F); CopyWindowToVram(*windowId, 2); PutWindowTilemap(*windowId); diff --git a/src/oak_speech.c b/src/oak_speech.c index 75f636041..412341e78 100644 --- a/src/oak_speech.c +++ b/src/oak_speech.c @@ -576,7 +576,7 @@ static void CreateHelpDocsPage1(void) sOakSpeechResources->unk_0014[0] = AddWindow(sHelpDocsWindowTemplatePtrs[sOakSpeechResources->unk_0012]); PutWindowTilemap(sOakSpeechResources->unk_0014[0]); FillWindowPixelBuffer(sOakSpeechResources->unk_0014[0], 0x00); - AddTextPrinterParametrized2(sOakSpeechResources->unk_0014[0], 2, 2, 0, 1, 1, &sTextColor_HelpSystem, 0, gNewGame_HelpDocs1); + AddTextPrinterParameterized2(sOakSpeechResources->unk_0014[0], 2, 2, 0, 1, 1, &sTextColor_HelpSystem, 0, gNewGame_HelpDocs1); CopyWindowToVram(sOakSpeechResources->unk_0014[0], 3); FillBgTilemapBufferRect_Palette0(1, 0x3000, 1, 3, 5, 16); CopyBgTilemapBufferToVram(1); @@ -598,7 +598,7 @@ static void Task_OakSpeech4(u8 taskId) sOakSpeechResources->unk_0014[i] = AddWindow(&sHelpDocsWindowTemplatePtrs[sOakSpeechResources->unk_0012][i]); PutWindowTilemap(sOakSpeechResources->unk_0014[i]); FillWindowPixelBuffer(sOakSpeechResources->unk_0014[i], 0x00); - AddTextPrinterParametrized2(sOakSpeechResources->unk_0014[i], 2, 6, 0, 1, 1, &sTextColor_HelpSystem, 0, sHelpDocsPtrs[i + r7 * 3]); + AddTextPrinterParameterized2(sOakSpeechResources->unk_0014[i], 2, 6, 0, 1, 1, &sTextColor_HelpSystem, 0, sHelpDocsPtrs[i + r7 * 3]); CopyWindowToVram(sOakSpeechResources->unk_0014[i], 3); } @@ -730,7 +730,7 @@ static void Task_OakSpeech6(u8 taskId) sOakSpeechResources->unk_0012 = 0; gMain.state = 0; data[15] = 16; - AddTextPrinterParametrized2(data[14], 2, 3, 5, 1, 0, &sTextColor_OakSpeech, 0, sNewGameAdventureIntroTextPointers[0]); + AddTextPrinterParameterized2(data[14], 2, 3, 5, 1, 0, &sTextColor_OakSpeech, 0, sNewGameAdventureIntroTextPointers[0]); data[5] = CreateTextCursorSpriteForOakSpeech(0, 0xe2, 0x91, 0, 0); gSprites[data[5]].oam.objMode = ST_OAM_OBJ_BLEND; gSprites[data[5]].oam.priority = 0; @@ -790,7 +790,7 @@ static void Task_OakSpeech7(u8 taskId) if (data[15] <= 0) { FillWindowPixelBuffer(data[14], 0x00); - AddTextPrinterParametrized2(data[14], 2, 3, 5, 1, 0, &sTextColor_OakSpeech, 0, sNewGameAdventureIntroTextPointers[sOakSpeechResources->unk_0012]); + AddTextPrinterParameterized2(data[14], 2, 3, 5, 1, 0, &sTextColor_OakSpeech, 0, sNewGameAdventureIntroTextPointers[sOakSpeechResources->unk_0012]); if (sOakSpeechResources->unk_0012 == 0) { sub_810F71C(); @@ -889,11 +889,11 @@ static void Task_OakSpeech9(u8 taskId) if (str != gStringVar4) \ { \ StringExpandPlaceholders(gStringVar4, str); \ - AddTextPrinterParametrized(0, 4, gStringVar4, speed, NULL, 2, 1, 3); \ + AddTextPrinterParameterized3(0, 4, gStringVar4, speed, NULL, 2, 1, 3); \ } \ else \ { \ - AddTextPrinterParametrized(0, 4, str, speed, NULL, 2, 1, 3); \ + AddTextPrinterParameterized3(0, 4, str, speed, NULL, 2, 1, 3); \ } \ CopyWindowToVram(0, 3); \ }) diff --git a/src/quest_log.c b/src/quest_log.c index b52de727e..2c439cd2e 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -922,7 +922,7 @@ void sub_8111070(u8 a0) StringAppend(gStringVar4, gStringVar1); } - AddTextPrinterParametrized2(gUnknown_203ADFE[0], 2, 2, 2, 1, 2, &gUnknown_8456634, 0, gStringVar4); + AddTextPrinterParameterized2(gUnknown_203ADFE[0], 2, 2, 2, 1, 2, &gUnknown_8456634, 0, gStringVar4); PutWindowTilemap(gUnknown_203ADFE[0]); PutWindowTilemap(gUnknown_203ADFE[1]); CopyWindowToVram(gUnknown_203ADFE[0], 2); @@ -1417,7 +1417,7 @@ void sub_8111D10(void) PutWindowTilemap(gUnknown_203ADFE[2]); sub_8111D90(gUnknown_203ADFE[2]); - AddTextPrinterParametrized2(gUnknown_203ADFE[2], 2, 2, gUnknown_8456698[count], 1, 0, &gUnknown_8456634, 0, gStringVar4); + AddTextPrinterParameterized2(gUnknown_203ADFE[2], 2, 2, gUnknown_8456698[count], 1, 0, &gUnknown_8456634, 0, gStringVar4); schedule_bg_copy_tilemap_to_vram(0); } @@ -2468,7 +2468,7 @@ const struct TextColor gUnknown_8456930 = { void sub_8112FE4(const u8 * a0) { - AddTextPrinterParametrized2(gUnknown_203B020, 0x02, 2, 5, 1, 1, &gUnknown_8456930, -1, a0); + AddTextPrinterParameterized2(gUnknown_203B020, 0x02, 2, 5, 1, 1, &gUnknown_8456930, -1, a0); } void sub_8113018(const u8 * a0, u8 a1) diff --git a/src/tm_case.c b/src/tm_case.c index 177d3320f..a8ed62cae 100644 --- a/src/tm_case.c +++ b/src/tm_case.c @@ -619,13 +619,13 @@ static void PrintListMenuCursorAt_WithColorIdx(u8 a0, u8 a1) static void CreateTMCaseScrollIndicatorArrowPair_Main(void) { - sTMCaseDynamicResources->scrollIndicatorArrowPairId = AddScrollIndicatorArrowPairParametrized(2, 0xA0, 0x08, 0x58, sTMCaseDynamicResources->numTMs - sTMCaseDynamicResources->maxTMsShown + 1, 0x6E, 0x6E, &sTMCaseStaticResources.scrollOffset); + sTMCaseDynamicResources->scrollIndicatorArrowPairId = AddScrollIndicatorArrowPairParameterized(2, 0xA0, 0x08, 0x58, sTMCaseDynamicResources->numTMs - sTMCaseDynamicResources->maxTMsShown + 1, 0x6E, 0x6E, &sTMCaseStaticResources.scrollOffset); } static void CreateTMCaseScrollIndicatorArrowPair_SellQuantitySelect(void) { sTMCaseDynamicResources->currItem = 1; - sTMCaseDynamicResources->scrollIndicatorArrowPairId = AddScrollIndicatorArrowPairParametrized(2, 0x98, 0x48, 0x68, 2, 0x6E, 0x6E, &sTMCaseDynamicResources->currItem); + sTMCaseDynamicResources->scrollIndicatorArrowPairId = AddScrollIndicatorArrowPairParameterized(2, 0x98, 0x48, 0x68, 2, 0x6E, 0x6E, &sTMCaseDynamicResources->currItem); } static void RemoveTMCaseScrollIndicatorArrowPair(void) @@ -1317,7 +1317,7 @@ static void InitWindowTemplatesAndPals(void) static void AddTextPrinterParameterized_ColorByIndex(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, u8 speed, u8 colorIdx) { - AddTextPrinterParametrized2(windowId, fontId, x, y, letterSpacing, lineSpacing, &sTextColors[colorIdx], speed, str); + AddTextPrinterParameterized2(windowId, fontId, x, y, letterSpacing, lineSpacing, &sTextColors[colorIdx], speed, str); } static void TMCase_SetWindowBorder1(u8 windowId) diff --git a/src/wireless_communication_status_screen.c b/src/wireless_communication_status_screen.c index baf44cafc..fa4e27422 100644 --- a/src/wireless_communication_status_screen.c +++ b/src/wireless_communication_status_screen.c @@ -359,7 +359,7 @@ void sub_814F65C(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 palIdx) break; // default: UB } - AddTextPrinterParametrized2(windowId, fontId,x, y, fontId == 0 ? 0 : 1, 0, &textColor, -1, str); + AddTextPrinterParameterized2(windowId, fontId,x, y, fontId == 0 ? 0 : 1, 0, &textColor, -1, str); } u32 sub_814F714(struct UnkStruct_x20 * unk20, u32 * arg1) -- cgit v1.2.3 From b249154009efceb5710848a2567fb821d3e7217a Mon Sep 17 00:00:00 2001 From: garak Date: Thu, 30 May 2019 17:44:48 -0400 Subject: synchronize text printer function names with pokeemerald --- asm/battle_interface.s | 2 +- asm/battle_records.s | 12 ++--- asm/berry_crush_2.s | 10 ++-- asm/berry_crush_3.s | 46 +++++++++--------- asm/berry_pouch.s | 2 +- asm/buy_menu_helpers.s | 2 +- asm/clear_save_data_screen.s | 4 +- asm/credits.s | 6 +-- asm/diploma.s | 6 +-- asm/dodrio_berry_picking.s | 10 ++-- asm/field_player_avatar.s | 6 +-- asm/field_screen_effect.s | 2 +- asm/hall_of_fame.s | 30 ++++++------ asm/item_pc.s | 2 +- asm/learn_move.s | 2 +- asm/link.s | 10 ++-- asm/link_rfu.s | 2 +- asm/link_rfu_3.s | 2 +- asm/list_menu.s | 4 +- asm/mail.s | 6 +-- asm/mailbox_pc.s | 2 +- asm/main_menu.s | 30 ++++++------ asm/map_preview_screen.s | 2 +- asm/menu.s | 8 ++-- asm/menu_helpers.s | 2 +- asm/naming_screen.s | 8 ++-- asm/new_menu_helpers.s | 16 +++---- asm/option_menu.s | 6 +-- asm/party_menu.s | 18 +++---- asm/pokedex_screen.s | 2 +- asm/pokemon_jump_2.s | 12 ++--- asm/pokemon_special_anim.s | 12 ++--- asm/pokemon_storage_system.s | 12 ++--- asm/pokemon_summary_screen.s | 76 +++++++++++++++--------------- asm/region_map.s | 12 ++--- asm/script_menu.s | 6 +-- asm/slot_machine.s | 4 +- asm/start_menu.s | 18 +++---- asm/teachy_tv.s | 2 +- asm/trade.s | 8 ++-- asm/trainer_card.s | 70 +++++++++++++-------------- asm/union_room_chat.s | 16 +++---- include/menu.h | 4 +- include/new_menu_helpers.h | 2 +- src/bag.c | 4 +- src/daycare.c | 2 +- src/egg_hatch.c | 2 +- src/fame_checker.c | 22 ++++----- src/menu2.c | 8 ++-- src/mevent_8145654.c | 20 ++++---- src/mystery_gift_menu.c | 14 +++--- src/oak_speech.c | 16 +++---- src/quest_log.c | 6 +-- src/tm_case.c | 4 +- src/trainer_tower.c | 6 +-- src/wireless_communication_status_screen.c | 2 +- 56 files changed, 310 insertions(+), 310 deletions(-) diff --git a/asm/battle_interface.s b/asm/battle_interface.s index 12b48a1ff..393eb4ee6 100644 --- a/asm/battle_interface.s +++ b/asm/battle_interface.s @@ -5559,7 +5559,7 @@ AddTextPrinterAndCreateWindowOnHealthbox: @ 804A648 movs r1, 0 adds r2, r6, 0 mov r3, r8 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 mov r0, r10 str r4, [r0] adds r0, r5, 0 diff --git a/asm/battle_records.s b/asm/battle_records.s index c2b22e365..2dce41cf8 100644 --- a/asm/battle_records.s +++ b/asm/battle_records.s @@ -1092,7 +1092,7 @@ _080CDA72: movs r1, 0x2 movs r2, 0xC movs r3, 0x18 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 add sp, 0x14 pop {r4-r7} pop {r0} @@ -1138,7 +1138,7 @@ sub_80CDAD0: @ 80CDAD0 movs r1, 0x2 movs r2, 0 mov r3, r8 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 movs r6, 0 _080CDB0E: movs r4, 0x54 @@ -1161,7 +1161,7 @@ _080CDB1C: movs r0, 0 movs r1, 0x2 mov r3, r8 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 adds r0, r5, 0x1 lsls r0, 24 lsrs r5, r0, 24 @@ -1230,7 +1230,7 @@ _080CDBA6: movs r0, 0 movs r1, 0x2 mov r3, r8 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 adds r0, r5, 0x1 lsls r0, 24 lsrs r5, r0, 24 @@ -1291,7 +1291,7 @@ sub_80CDBE4: @ 80CDBE4 movs r0, 0 movs r1, 0x2 movs r3, 0x4 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 ldr r5, _080CDCA8 @ =gSaveBlock2Ptr ldr r0, [r5] ldr r1, _080CDCAC @ =0x00000a98 @@ -1309,7 +1309,7 @@ sub_80CDBE4: @ 80CDBE4 movs r1, 0x2 movs r2, 0x54 movs r3, 0x30 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 adds r7, r5, 0 movs r5, 0xF4 lsls r5, 22 diff --git a/asm/berry_crush_2.s b/asm/berry_crush_2.s index 4dca9e9cf..f5195a671 100644 --- a/asm/berry_crush_2.s +++ b/asm/berry_crush_2.s @@ -229,7 +229,7 @@ _0814BCA2: movs r0, 0 movs r1, 0x2 adds r2, r4, 0 - bl AddTextPrinterParameterized3 + bl AddTextPrinterParameterized2 b _0814BD12 .align 2, 0 _0814BCE8: .4byte gStringVar4 @@ -250,7 +250,7 @@ _0814BCF0: str r0, [sp, 0xC] movs r0, 0 movs r1, 0x2 - bl AddTextPrinterParameterized3 + bl AddTextPrinterParameterized2 _0814BD12: movs r0, 0 movs r1, 0x3 @@ -2868,7 +2868,7 @@ _0814D106: movs r0, 0 movs r1, 0x2 movs r3, 0 - bl AddTextPrinterParameterized3 + bl AddTextPrinterParameterized2 movs r0, 0 movs r1, 0x3 bl CopyWindowToVram @@ -3232,7 +3232,7 @@ _0814D3C0: str r1, [sp, 0xC] movs r0, 0 movs r1, 0x2 - bl AddTextPrinterParameterized3 + bl AddTextPrinterParameterized2 b _0814D40C .align 2, 0 _0814D3EC: .4byte gUnknown_846E328 @@ -3249,7 +3249,7 @@ _0814D3F0: str r0, [sp, 0xC] movs r0, 0 movs r1, 0x2 - bl AddTextPrinterParameterized3 + bl AddTextPrinterParameterized2 _0814D40C: movs r0, 0 movs r1, 0x3 diff --git a/asm/berry_crush_3.s b/asm/berry_crush_3.s index 0692e6ce1..4972f2566 100644 --- a/asm/berry_crush_3.s +++ b/asm/berry_crush_3.s @@ -1212,7 +1212,7 @@ sub_814DF44: @ 814DF44 movs r1, 0x2 adds r2, r4, 0 movs r3, 0 - bl box_print + bl AddTextPrinterParameterized3 add sp, 0xC pop {r3} mov r8, r3 @@ -1355,7 +1355,7 @@ _0814E048: movs r1, 0x2 adds r2, r7, 0 adds r3, r4, 0 - bl box_print + bl AddTextPrinterParameterized3 ldr r1, [sp, 0x2C] ldrb r0, [r1] adds r2, r7, 0 @@ -1370,7 +1370,7 @@ _0814E048: str r1, [sp, 0x8] movs r1, 0x2 adds r3, r4, 0 - bl box_print + bl AddTextPrinterParameterized3 mov r9, r6 _0814E0C8: ldr r6, [sp, 0x20] @@ -1509,7 +1509,7 @@ _0814E178: ldr r1, _0814E1F8 @ =gStringVar4 str r1, [sp, 0x8] movs r1, 0x2 - bl box_print + bl AddTextPrinterParameterized3 b _0814E27E .align 2, 0 _0814E1E4: .4byte gStringVar1 @@ -1573,7 +1573,7 @@ _0814E21A: ldr r1, _0814E2A0 @ =gStringVar4 str r1, [sp, 0x8] movs r1, 0x2 - bl box_print + bl AddTextPrinterParameterized3 mov r9, r4 mov r6, r8 adds r6, 0xA2 @@ -1632,7 +1632,7 @@ _0814E2B8: str r1, [sp, 0x8] movs r1, 0x2 movs r2, 0x4 - bl box_print + bl AddTextPrinterParameterized3 mov r2, r10 lsls r0, r2, 24 lsrs r0, 24 @@ -1702,7 +1702,7 @@ sub_814E32C: @ 814E32C movs r1, 0x2 movs r2, 0x2 adds r3, r7, 0 - bl box_print + bl AddTextPrinterParameterized3 ldr r4, _0814E568 @ =gUnknown_841D088 movs r0, 0x2 adds r1, r4, 0 @@ -1722,7 +1722,7 @@ sub_814E32C: @ 814E32C movs r1, 0x2 adds r2, r6, 0 adds r3, r7, 0 - bl box_print + bl AddTextPrinterParameterized3 adds r0, r6, 0 subs r0, 0x20 lsls r0, 24 @@ -1759,7 +1759,7 @@ sub_814E32C: @ 814E32C movs r1, 0x2 adds r2, r6, 0 adds r3, r7, 0 - bl box_print + bl AddTextPrinterParameterized3 ldr r4, _0814E57C @ =gUnknown_841D078 movs r0, 0x2 adds r1, r4, 0 @@ -1779,7 +1779,7 @@ sub_814E32C: @ 814E32C movs r1, 0x2 adds r2, r6, 0 adds r3, r7, 0 - bl box_print + bl AddTextPrinterParameterized3 adds r0, r6, 0 subs r0, 0x9 lsls r0, 24 @@ -1806,7 +1806,7 @@ sub_814E32C: @ 814E32C movs r1, 0x2 adds r2, r6, 0 adds r3, r7, 0 - bl box_print + bl AddTextPrinterParameterized3 adds r0, r7, 0 adds r0, 0xE lsls r0, 24 @@ -1821,7 +1821,7 @@ sub_814E32C: @ 814E32C movs r1, 0x2 movs r2, 0x2 adds r3, r7, 0 - bl box_print + bl AddTextPrinterParameterized3 ldr r4, _0814E588 @ =gUnknown_841D098 movs r0, 0x2 adds r1, r4, 0 @@ -1842,7 +1842,7 @@ sub_814E32C: @ 814E32C movs r1, 0x3 adds r2, r6, 0 adds r3, r7, 0 - bl box_print + bl AddTextPrinterParameterized3 mov r4, r8 ldrb r2, [r4, 0x16] ldrh r0, [r4, 0x16] @@ -1919,7 +1919,7 @@ _0814E4EA: movs r1, 0x2 adds r2, r6, 0 adds r3, r7, 0 - bl box_print + bl AddTextPrinterParameterized3 b _0814E5B6 .align 2, 0 _0814E560: .4byte gUnknown_846E3DC @@ -1949,7 +1949,7 @@ _0814E59C: movs r1, 0x2 adds r2, r6, 0 adds r3, r7, 0 - bl box_print + bl AddTextPrinterParameterized3 _0814E5B6: adds r0, r7, 0 adds r0, 0xE @@ -1970,7 +1970,7 @@ _0814E5B6: movs r1, 0x2 movs r2, 0x2 adds r3, r7, 0 - bl box_print + bl AddTextPrinterParameterized3 ldr r0, _0814E638 @ =gStringVar1 ldr r4, [sp, 0x10] ldrh r1, [r4, 0x8] @@ -1998,7 +1998,7 @@ _0814E5B6: movs r1, 0x2 adds r2, r6, 0 adds r3, r7, 0 - bl box_print + bl AddTextPrinterParameterized3 add sp, 0x1C pop {r3-r5} mov r8, r3 @@ -2341,7 +2341,7 @@ _0814E8B0: str r5, [sp, 0x8] movs r1, 0x2 movs r3, 0x2 - bl box_print + bl AddTextPrinterParameterized3 ldr r5, _0814EA04 @ =gUnknown_841D124 movs r0, 0x2 adds r1, r5, 0 @@ -2358,7 +2358,7 @@ _0814E8B0: str r5, [sp, 0x8] movs r1, 0x2 movs r3, 0x12 - bl box_print + bl AddTextPrinterParameterized3 movs r0, 0x2A str r0, [sp, 0xC] ldr r1, _0814EA08 @ =gStringVar4 @@ -2383,7 +2383,7 @@ _0814E90E: movs r1, 0x2 movs r2, 0x4 ldr r3, [sp, 0xC] - bl box_print + bl AddTextPrinterParameterized3 movs r3, 0 mov r0, r9 lsls r4, r0, 1 @@ -2456,7 +2456,7 @@ _0814E96E: str r1, [sp, 0x8] movs r1, 0x3 ldr r3, [sp, 0xC] - bl box_print + bl AddTextPrinterParameterized3 ldr r1, [sp, 0x10] lsls r0, r1, 24 lsrs r0, 24 @@ -2723,7 +2723,7 @@ _0814EBC6: str r4, [sp, 0x10] movs r1, 0x2 movs r3, 0x1 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 b _0814EC4C .align 2, 0 _0814EC10: .4byte 0x000001bb @@ -2752,7 +2752,7 @@ _0814EC18: str r4, [sp, 0x10] movs r1, 0x2 movs r3, 0x1 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 _0814EC4C: ldr r1, _0814EC7C @ =0x000001bb adds r0, r6, r1 diff --git a/asm/berry_pouch.s b/asm/berry_pouch.s index 12c5a4122..7813d1ade 100644 --- a/asm/berry_pouch.s +++ b/asm/berry_pouch.s @@ -3465,7 +3465,7 @@ sub_813E9A0: @ 813E9A0 str r4, [sp, 0xC] str r2, [sp, 0x10] mov r2, r9 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 add sp, 0x14 pop {r3,r4} mov r8, r3 diff --git a/asm/buy_menu_helpers.s b/asm/buy_menu_helpers.s index 8d2f75ed3..d3cf28b11 100644 --- a/asm/buy_menu_helpers.s +++ b/asm/buy_menu_helpers.s @@ -114,7 +114,7 @@ sub_813F6F4: @ 813F6F4 str r4, [sp, 0xC] str r2, [sp, 0x10] mov r2, r9 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 add sp, 0x14 pop {r3,r4} mov r8, r3 diff --git a/asm/clear_save_data_screen.s b/asm/clear_save_data_screen.s index e65c67262..960621cd1 100644 --- a/asm/clear_save_data_screen.s +++ b/asm/clear_save_data_screen.s @@ -134,7 +134,7 @@ _080F5660: movs r1, 0x2 movs r2, 0 movs r3, 0x3 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 movs r0, 0x1 movs r1, 0x2 bl CopyWindowToVram @@ -241,7 +241,7 @@ _080F5744: movs r1, 0x2 movs r2, 0 movs r3, 0x3 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 movs r0, 0x1 movs r1, 0x3 bl CopyWindowToVram diff --git a/asm/credits.s b/asm/credits.s index caf894237..6317b95f7 100644 --- a/asm/credits.s +++ b/asm/credits.s @@ -422,7 +422,7 @@ _080F3D0A: movs r1, 0x1 movs r2, 0x8 movs r3, 0x29 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 ldr r1, [r7] movs r0, 0x5 b _080F413C @@ -649,7 +649,7 @@ _080F3EB4: movs r1, 0x1 movs r2, 0x2 movs r3, 0x6 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 ldr r1, [r7] movs r0, 0x8 b _080F3FB8 @@ -696,7 +696,7 @@ _080F3F24: movs r1, 0x2 movs r2, 0x8 movs r3, 0x6 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 ldr r1, [r7] movs r0, 0x9 b _080F3FB8 diff --git a/asm/diploma.s b/asm/diploma.s index 31f0d368d..cfc70d694 100644 --- a/asm/diploma.s +++ b/asm/diploma.s @@ -559,7 +559,7 @@ _080F5050: movs r0, 0 movs r1, 0x2 movs r3, 0x4 - bl box_print + bl AddTextPrinterParameterized3 ldr r1, _080F50EC @ =gUnknown_841B619 add r0, sp, 0xC bl UnkTextUtil_StringExpandPlaceholders @@ -579,7 +579,7 @@ _080F5050: movs r1, 0x2 adds r2, r4, 0 movs r3, 0x1E - bl box_print + bl AddTextPrinterParameterized3 str r6, [sp] movs r0, 0 str r0, [sp, 0x4] @@ -589,7 +589,7 @@ _080F5050: movs r1, 0x2 movs r2, 0x78 movs r3, 0x69 - bl box_print + bl AddTextPrinterParameterized3 movs r0, 0 bl PutWindowTilemap add sp, 0xAC diff --git a/asm/dodrio_berry_picking.s b/asm/dodrio_berry_picking.s index 18dc8821c..ea779b399 100644 --- a/asm/dodrio_berry_picking.s +++ b/asm/dodrio_berry_picking.s @@ -9014,7 +9014,7 @@ _08154C4E: str r4, [sp, 0x8] movs r1, 0 movs r3, 0x1 - bl box_print + bl AddTextPrinterParameterized3 mov r2, r10 ldr r0, [r2] add r0, r9 @@ -9319,7 +9319,7 @@ _08154EC8: movs r1, 0 movs r2, 0x1C adds r3, r6, 0 - bl box_print + bl AddTextPrinterParameterized3 add r0, sp, 0xC mov r1, r9 movs r2, 0x1 @@ -9563,7 +9563,7 @@ _081550EA: str r6, [sp, 0x8] movs r1, 0 movs r2, 0x2 - bl box_print + bl AddTextPrinterParameterized3 movs r7, 0 mov r0, r9 adds r0, 0x1 @@ -9624,7 +9624,7 @@ _0815512E: add r1, sp, 0xC str r1, [sp, 0x8] movs r1, 0 - bl box_print + bl AddTextPrinterParameterized3 b _081551FA .align 2, 0 _081551A8: .4byte gUnknown_203F440 @@ -10669,7 +10669,7 @@ _08155AA6: movs r0, 0 movs r1, 0x2 movs r3, 0 - bl AddTextPrinterParameterized3 + bl AddTextPrinterParameterized2 b _08155B08 .align 2, 0 _08155ACC: .4byte gUnknown_8419F54 diff --git a/asm/field_player_avatar.s b/asm/field_player_avatar.s index 8af7eec53..5fb0f3dad 100644 --- a/asm/field_player_avatar.s +++ b/asm/field_player_avatar.s @@ -4676,7 +4676,7 @@ sub_805D66C: @ 805D66C movs r0, 0 movs r1, 0x2 movs r3, 0x1 - bl AddTextPrinterParameterized3 + bl AddTextPrinterParameterized2 ldrh r0, [r4, 0x8] adds r0, 0x1 strh r0, [r4, 0x8] @@ -4851,7 +4851,7 @@ sub_805D7C0: @ 805D7C0 movs r0, 0 movs r1, 0x2 movs r3, 0x1 - bl AddTextPrinterParameterized3 + bl AddTextPrinterParameterized2 movs r0, 0xD strh r0, [r6, 0x8] movs r0, 0x1 @@ -4904,7 +4904,7 @@ sub_805D838: @ 805D838 movs r0, 0 movs r1, 0x2 movs r3, 0x1 - bl AddTextPrinterParameterized3 + bl AddTextPrinterParameterized2 ldrh r0, [r6, 0x8] adds r0, 0x1 strh r0, [r6, 0x8] diff --git a/asm/field_screen_effect.s b/asm/field_screen_effect.s index b27a20c56..079abee2c 100644 --- a/asm/field_screen_effect.s +++ b/asm/field_screen_effect.s @@ -785,7 +785,7 @@ _0807F3E0: movs r1, 0x2 mov r2, r10 mov r3, r9 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 ldr r2, _0807F42C @ =gTextFlags ldrb r1, [r2] movs r0, 0x2 diff --git a/asm/hall_of_fame.s b/asm/hall_of_fame.s index e883fbefc..c723f740d 100644 --- a/asm/hall_of_fame.s +++ b/asm/hall_of_fame.s @@ -521,7 +521,7 @@ _080F21B2: movs r0, 0 movs r1, 0x2 movs r3, 0 - bl AddTextPrinterParameterized3 + bl AddTextPrinterParameterized2 movs r0, 0 movs r1, 0x3 bl CopyWindowToVram @@ -1277,7 +1277,7 @@ _080F27AC: movs r0, 0 movs r1, 0x2 movs r3, 0 - bl AddTextPrinterParameterized3 + bl AddTextPrinterParameterized2 movs r0, 0 movs r1, 0x3 bl CopyWindowToVram @@ -2358,7 +2358,7 @@ sub_80F30A4: @ 80F30A4 movs r0, 0 movs r1, 0x2 movs r3, 0 - bl AddTextPrinterParameterized3 + bl AddTextPrinterParameterized2 movs r0, 0 movs r1, 0x3 bl CopyWindowToVram @@ -2436,7 +2436,7 @@ HallOfFame_PrintWelcomeText: @ 80F313C movs r1, 0x2 adds r2, r4, 0 movs r3, 0x1 - bl box_print + bl AddTextPrinterParameterized3 movs r0, 0 movs r1, 0x3 bl CopyWindowToVram @@ -2535,7 +2535,7 @@ _080F322E: movs r1, 0x2 movs r2, 0x10 movs r3, 0x1 - bl box_print + bl AddTextPrinterParameterized3 _080F3252: movs r2, 0 ldrb r0, [r7, 0xA] @@ -2606,7 +2606,7 @@ _080F32C4: movs r0, 0 movs r1, 0x2 movs r3, 0x1 - bl box_print + bl AddTextPrinterParameterized3 ldrh r2, [r7, 0x8] ldr r4, _080F3320 @ =0x000001ff adds r0, r4, 0 @@ -2676,7 +2676,7 @@ _080F3348: movs r1, 0x2 movs r2, 0x80 movs r3, 0x1 - bl box_print + bl AddTextPrinterParameterized3 ldr r1, _080F33D4 @ =gUnknown_84160F4 add r0, sp, 0xC bl StringCopy @@ -2694,7 +2694,7 @@ _080F3348: movs r1, 0x2 movs r2, 0x20 movs r3, 0x11 - bl box_print + bl AddTextPrinterParameterized3 ldr r1, _080F33D8 @ =gUnknown_8416104 add r0, sp, 0xC bl StringCopy @@ -2711,7 +2711,7 @@ _080F3348: movs r1, 0x2 movs r2, 0x60 movs r3, 0x11 - bl box_print + bl AddTextPrinterParameterized3 _080F33BA: movs r0, 0 movs r1, 0x3 @@ -2764,7 +2764,7 @@ sub_80F33DC: @ 80F33DC movs r1, 0x2 movs r2, 0x4 movs r3, 0x3 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 ldr r0, _080F35FC @ =gSaveBlock2Ptr mov r10, r0 ldr r1, [r0] @@ -2785,7 +2785,7 @@ sub_80F33DC: @ 80F33DC movs r0, 0x1 movs r1, 0x2 movs r3, 0x3 - bl box_print + bl AddTextPrinterParameterized3 mov r1, r10 ldr r0, [r1] ldrb r4, [r0, 0xA] @@ -2801,7 +2801,7 @@ sub_80F33DC: @ 80F33DC movs r1, 0x2 movs r2, 0x4 movs r3, 0x12 - bl box_print + bl AddTextPrinterParameterized3 add r1, sp, 0x14 mov r8, r1 ldr r1, _080F3604 @ =0x000186a0 @@ -2869,7 +2869,7 @@ sub_80F33DC: @ 80F33DC movs r1, 0x2 adds r2, r6, 0 movs r3, 0x12 - bl box_print + bl AddTextPrinterParameterized3 mov r1, r9 str r1, [sp] str r7, [sp, 0x4] @@ -2879,7 +2879,7 @@ sub_80F33DC: @ 80F33DC movs r1, 0x2 movs r2, 0x4 movs r3, 0x20 - bl box_print + bl AddTextPrinterParameterized3 add r5, sp, 0x14 mov r0, r10 ldr r4, [r0] @@ -2957,7 +2957,7 @@ _080F3582: movs r0, 0x1 movs r1, 0x2 movs r3, 0x20 - bl box_print + bl AddTextPrinterParameterized3 movs r0, 0x1 movs r1, 0x3 bl CopyWindowToVram diff --git a/asm/item_pc.s b/asm/item_pc.s index b4812a926..87e64619e 100644 --- a/asm/item_pc.s +++ b/asm/item_pc.s @@ -2782,7 +2782,7 @@ sub_810EA34: @ 810EA34 str r4, [sp, 0xC] str r2, [sp, 0x10] mov r2, r9 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 add sp, 0x14 pop {r3,r4} mov r8, r3 diff --git a/asm/learn_move.s b/asm/learn_move.s index 32e54d1c7..47b5c74fe 100644 --- a/asm/learn_move.s +++ b/asm/learn_move.s @@ -1936,7 +1936,7 @@ _080E563E: movs r1, 0x3 adds r2, r7, 0 adds r3, r6, 0 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 add sp, 0x14 pop {r3-r5} mov r8, r3 diff --git a/asm/link.s b/asm/link.s index 6b89ed2db..ae3fc451f 100644 --- a/asm/link.s +++ b/asm/link.s @@ -3387,7 +3387,7 @@ sub_800AE1C: @ 800AE1C movs r1, 0x3 movs r2, 0x2 movs r3, 0x5 - bl box_print + bl AddTextPrinterParameterized3 str r4, [sp] str r5, [sp, 0x4] ldr r0, _0800AECC @ =gUnknown_841DF05 @@ -3396,7 +3396,7 @@ sub_800AE1C: @ 800AE1C movs r1, 0x3 movs r2, 0x2 movs r3, 0x2 - bl box_print + bl AddTextPrinterParameterized3 movs r0, 0 bl PutWindowTilemap movs r0, 0x2 @@ -3444,7 +3444,7 @@ sub_800AED0: @ 800AED0 movs r1, 0x3 movs r2, 0x2 movs r3, 0 - bl box_print + bl AddTextPrinterParameterized3 movs r0, 0x1 bl PutWindowTilemap movs r0, 0x2 @@ -3522,7 +3522,7 @@ _0800AF7A: movs r1, 0x3 movs r2, 0x2 movs r3, 0x14 - bl box_print + bl AddTextPrinterParameterized3 b _0800AFC4 .align 2, 0 _0800AF9C: .4byte gWirelessCommType @@ -3541,7 +3541,7 @@ _0800AFA8: movs r1, 0x3 movs r2, 0x2 movs r3, 0x14 - bl box_print + bl AddTextPrinterParameterized3 _0800AFC4: ldr r0, _0800B004 @ =gMain movs r2, 0x87 diff --git a/asm/link_rfu.s b/asm/link_rfu.s index 0e1a79b65..81ecfaa4a 100644 --- a/asm/link_rfu.s +++ b/asm/link_rfu.s @@ -7823,7 +7823,7 @@ _08100E0A: str r0, [sp, 0x8] mov r0, r12 adds r2, r7, 0 - bl box_print + bl AddTextPrinterParameterized3 add sp, 0x10 pop {r3,r4} mov r8, r3 diff --git a/asm/link_rfu_3.s b/asm/link_rfu_3.s index 5f62eb749..edc2fc950 100644 --- a/asm/link_rfu_3.s +++ b/asm/link_rfu_3.s @@ -12766,7 +12766,7 @@ sub_811C0E0: @ 811C0E0 movs r1, 0x3 adds r2, r6, 0 ldr r3, [sp, 0x14] - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 add sp, 0x18 pop {r3-r5} mov r8, r3 diff --git a/asm/list_menu.s b/asm/list_menu.s index b4b1b48d3..3a215f799 100644 --- a/asm/list_menu.s +++ b/asm/list_menu.s @@ -782,7 +782,7 @@ ListMenuPrint: @ 8107428 str r6, [sp, 0x10] adds r2, r7, 0 mov r3, r12 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 ldrb r1, [r5, 0x3] movs r0, 0x7F ands r0, r1 @@ -820,7 +820,7 @@ _08107494: str r6, [sp, 0x10] adds r2, r7, 0 mov r3, r12 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 _081074D2: add sp, 0x18 pop {r4-r7} diff --git a/asm/mail.s b/asm/mail.s index dac4bf6f8..36af80e97 100644 --- a/asm/mail.s +++ b/asm/mail.s @@ -811,7 +811,7 @@ _080BF260: str r0, [sp, 0x4] str r5, [sp, 0x8] movs r1, 0x1 - bl box_print + bl AddTextPrinterParameterized3 mov r1, r8 ldr r0, [r1] adds r0, 0xF8 @@ -856,7 +856,7 @@ _080BF2CE: str r4, [sp, 0x8] movs r0, 0x1 movs r1, 0x1 - bl box_print + bl AddTextPrinterParameterized3 ldr r1, [r5] adds r0, r1, 0 adds r0, 0xE9 @@ -875,7 +875,7 @@ _080BF2CE: str r0, [sp, 0x8] movs r0, 0x1 movs r1, 0x1 - bl box_print + bl AddTextPrinterParameterized3 movs r0, 0 movs r1, 0x3 bl CopyWindowToVram diff --git a/asm/mailbox_pc.s b/asm/mailbox_pc.s index 422995bab..9a6dadb60 100644 --- a/asm/mailbox_pc.s +++ b/asm/mailbox_pc.s @@ -154,7 +154,7 @@ _0810EC62: movs r1, 0x2 movs r2, 0x8 adds r3, r5, 0 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 _0810EC82: add sp, 0x34 pop {r4,r5} diff --git a/asm/main_menu.s b/asm/main_menu.s index d7bf1e406..31e87af11 100644 --- a/asm/main_menu.s +++ b/asm/main_menu.s @@ -639,7 +639,7 @@ _0800C828: movs r1, 0x2 movs r2, 0x2 movs r3, 0x2 - bl box_print + bl AddTextPrinterParameterized3 ldr r0, _0800C86C @ =gUnknown_8234618 bl sub_800D0B4 movs r0, 0 @@ -670,7 +670,7 @@ _0800C870: movs r1, 0x2 movs r2, 0x2 movs r3, 0x2 - bl box_print + bl AddTextPrinterParameterized3 str r5, [sp] str r4, [sp, 0x4] ldr r0, _0800C8E8 @ =gUnknown_8415A6E @@ -679,7 +679,7 @@ _0800C870: movs r1, 0x2 movs r2, 0x2 movs r3, 0x2 - bl box_print + bl AddTextPrinterParameterized3 bl sub_800CE58 ldr r4, _0800C8EC @ =gUnknown_8234620 adds r0, r4, 0 @@ -725,7 +725,7 @@ _0800C8F0: movs r1, 0x2 movs r2, 0x2 movs r3, 0x2 - bl box_print + bl AddTextPrinterParameterized3 str r5, [sp] str r4, [sp, 0x4] ldr r0, _0800C9B8 @ =gUnknown_8415A6E @@ -734,7 +734,7 @@ _0800C8F0: movs r1, 0x2 movs r2, 0x2 movs r3, 0x2 - bl box_print + bl AddTextPrinterParameterized3 movs r0, 0x1 strh r0, [r6, 0x1C] str r5, [sp] @@ -745,7 +745,7 @@ _0800C8F0: movs r1, 0x2 movs r2, 0x2 movs r3, 0x2 - bl box_print + bl AddTextPrinterParameterized3 bl sub_800CE58 ldr r4, _0800C9C0 @ =gUnknown_8234620 adds r0, r4, 0 @@ -1355,7 +1355,7 @@ sub_800CDF8: @ 800CDF8 movs r1, 0x2 movs r2, 0 movs r3, 0x2 - bl box_print + bl AddTextPrinterParameterized3 movs r0, 0x4 bl PutWindowTilemap movs r0, 0x4 @@ -1404,7 +1404,7 @@ sub_800CE70: @ 800CE70 movs r1, 0x2 movs r2, 0x2 movs r3, 0x12 - bl box_print + bl AddTextPrinterParameterized3 add r1, sp, 0xC movs r2, 0 ldr r0, _0800CED0 @ =gSaveBlock2Ptr @@ -1430,7 +1430,7 @@ _0800CE96: movs r1, 0x2 movs r2, 0x3E movs r3, 0x12 - bl box_print + bl AddTextPrinterParameterized3 add sp, 0x14 pop {r0} bx r0 @@ -1455,7 +1455,7 @@ sub_800CED4: @ 800CED4 movs r1, 0x2 movs r2, 0x2 movs r3, 0x22 - bl box_print + bl AddTextPrinterParameterized3 ldr r4, _0800CF38 @ =gSaveBlock2Ptr ldr r0, [r4] ldrh r1, [r0, 0xE] @@ -1479,7 +1479,7 @@ sub_800CED4: @ 800CED4 movs r1, 0x2 movs r2, 0x3E movs r3, 0x22 - bl box_print + bl AddTextPrinterParameterized3 add sp, 0x2C pop {r4-r6} pop {r0} @@ -1525,7 +1525,7 @@ _0800CF6A: movs r1, 0x2 movs r2, 0x2 movs r3, 0x32 - bl box_print + bl AddTextPrinterParameterized3 add r0, sp, 0xC adds r1, r6, 0 movs r2, 0 @@ -1541,7 +1541,7 @@ _0800CF6A: movs r1, 0x2 movs r2, 0x3E movs r3, 0x32 - bl box_print + bl AddTextPrinterParameterized3 _0800CFAE: add sp, 0x2C pop {r4-r6} @@ -1586,7 +1586,7 @@ _0800CFE2: movs r1, 0x2 movs r2, 0x2 movs r3, 0x42 - bl box_print + bl AddTextPrinterParameterized3 add r0, sp, 0xC adds r1, r6, 0 movs r2, 0x2 @@ -1602,7 +1602,7 @@ _0800CFE2: movs r1, 0x2 movs r2, 0x3E movs r3, 0x42 - bl box_print + bl AddTextPrinterParameterized3 add sp, 0x2C pop {r4-r6} pop {r0} diff --git a/asm/map_preview_screen.s b/asm/map_preview_screen.s index 130014bd0..be9f5e3c5 100644 --- a/asm/map_preview_screen.s +++ b/asm/map_preview_screen.s @@ -345,7 +345,7 @@ sub_80F8318: @ 80F8318 adds r0, r6, 0 movs r1, 0x2 movs r3, 0x2 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 mov r0, r8 add sp, 0x14 pop {r3,r4} diff --git a/asm/menu.s b/asm/menu.s index a4f72fd80..d9efcde84 100644 --- a/asm/menu.s +++ b/asm/menu.s @@ -1041,7 +1041,7 @@ PrintTextOnRightSnappedWindow: @ 810F5E8 adds r0, r1, 0 movs r1, 0 movs r3, 0x1 - bl box_print + bl AddTextPrinterParameterized3 cmp r6, 0 beq _0810F63E ldrb r0, [r4] @@ -1118,7 +1118,7 @@ _0810F684: adds r0, r1, 0 movs r1, 0 movs r3, 0x1 - bl box_print + bl AddTextPrinterParameterized3 _0810F6CE: ldrb r0, [r6] movs r1, 0 @@ -1132,7 +1132,7 @@ _0810F6CE: movs r1, 0x1 movs r2, 0x4 movs r3, 0x1 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 cmp r7, 0 beq _0810F6F6 ldrb r0, [r6] @@ -1883,7 +1883,7 @@ _0810FC30: adds r0, r7, 0 ldr r1, [sp, 0x14] ldr r3, [sp, 0x18] - bl sub_812E62C + bl AddTextPrinterParameterized5 adds r0, r4, 0x1 lsls r0, 24 lsrs r4, r0, 24 diff --git a/asm/menu_helpers.s b/asm/menu_helpers.s index 2637f1947..69567e0ca 100644 --- a/asm/menu_helpers.s +++ b/asm/menu_helpers.s @@ -57,7 +57,7 @@ _080BF4B8: adds r1, r7, 0 adds r2, r4, 0 adds r3, r5, 0 - bl AddTextPrinterParameterized3 + bl AddTextPrinterParameterized2 ldr r1, _080BF50C @ =gUnknown_20399CC ldr r0, [sp, 0x34] str r0, [r1] diff --git a/asm/naming_screen.s b/asm/naming_screen.s index 23bd7ca5d..36c3b1a75 100644 --- a/asm/naming_screen.s +++ b/asm/naming_screen.s @@ -980,7 +980,7 @@ _0809E156: movs r0, 0 movs r1, 0x2 adds r2, r4, 0 - bl AddTextPrinterParameterized3 + bl AddTextPrinterParameterized2 movs r0, 0 movs r1, 0x3 bl CopyWindowToVram @@ -3657,7 +3657,7 @@ _0809F5EE: movs r1, 0x2 movs r2, 0x68 movs r3, 0x1 - bl box_print + bl AddTextPrinterParameterized3 _0809F614: add sp, 0x10 pop {r4,r5} @@ -4196,7 +4196,7 @@ _0809FA12: adds r0, r6, 0 movs r1, 0x1 movs r2, 0 - bl box_print + bl AddTextPrinterParameterized3 adds r0, r4, 0x1 lsls r0, 24 lsrs r4, r0, 24 @@ -4317,7 +4317,7 @@ sub_809FAE4: @ 809FAE4 str r1, [sp, 0x8] movs r1, 0 movs r3, 0 - bl box_print + bl AddTextPrinterParameterized3 ldr r0, [r5] adds r0, r4 ldrb r0, [r0] diff --git a/asm/new_menu_helpers.s b/asm/new_menu_helpers.s index 0e6b63c52..b592c1bf5 100644 --- a/asm/new_menu_helpers.s +++ b/asm/new_menu_helpers.s @@ -725,8 +725,8 @@ sub_80F6CBC: @ 80F6CBC bx r1 thumb_func_end sub_80F6CBC - thumb_func_start AddTextPrinterParameterized3 -AddTextPrinterParameterized3: @ 80F6CD0 + thumb_func_start AddTextPrinterParameterized2 +AddTextPrinterParameterized2: @ 80F6CD0 push {r4-r7,lr} mov r7, r8 push {r7} @@ -796,7 +796,7 @@ AddTextPrinterParameterized3: @ 80F6CD0 bx r1 .align 2, 0 _080F6D58: .4byte gTextFlags - thumb_func_end AddTextPrinterParameterized3 + thumb_func_end AddTextPrinterParameterized2 thumb_func_start sub_80F6D5C sub_80F6D5C: @ 80F6D5C @@ -832,7 +832,7 @@ sub_80F6D5C: @ 80F6D5C str r0, [sp, 0xC] movs r0, 0 movs r1, 0x4 - bl AddTextPrinterParameterized3 + bl AddTextPrinterParameterized2 b _080F6DFC .align 2, 0 _080F6DA8: .4byte gTextFlags @@ -853,7 +853,7 @@ _080F6DB0: str r0, [sp, 0xC] movs r0, 0 movs r1, 0x5 - bl AddTextPrinterParameterized3 + bl AddTextPrinterParameterized2 b _080F6DFC .align 2, 0 _080F6DD8: .4byte gStringVar4 @@ -871,7 +871,7 @@ _080F6DDC: str r0, [sp, 0xC] movs r0, 0 movs r1, 0x2 - bl AddTextPrinterParameterized3 + bl AddTextPrinterParameterized2 _080F6DFC: add sp, 0x10 pop {r4,r5} @@ -910,7 +910,7 @@ sub_80F6E08: @ 80F6E08 str r0, [sp, 0xC] movs r0, 0 movs r1, 0x2 - bl AddTextPrinterParameterized3 + bl AddTextPrinterParameterized2 add sp, 0x10 pop {r4} pop {r0} @@ -948,7 +948,7 @@ sub_80F6E54: @ 80F6E54 str r0, [sp, 0xC] movs r0, 0 movs r1, 0x2 - bl AddTextPrinterParameterized3 + bl AddTextPrinterParameterized2 add sp, 0x10 pop {r4,r5} pop {r0} diff --git a/asm/option_menu.s b/asm/option_menu.s index 84cb85e6b..bf626caba 100644 --- a/asm/option_menu.s +++ b/asm/option_menu.s @@ -409,7 +409,7 @@ sub_8088680: @ 8088680 movs r1, 0 adds r2, r4, 0 movs r3, 0 - bl box_print + bl AddTextPrinterParameterized3 movs r0, 0x2 bl PutWindowTilemap movs r0, 0x2 @@ -906,7 +906,7 @@ _08088A72: movs r1, 0x2 mov r2, r8 adds r3, r7, 0 - bl box_print + bl AddTextPrinterParameterized3 b _08088ADE .align 2, 0 _08088A94: .4byte gUnknown_83CC354 @@ -940,7 +940,7 @@ _08088A9C: movs r1, 0x2 mov r2, r8 adds r3, r7, 0 - bl box_print + bl AddTextPrinterParameterized3 _08088ADE: movs r0, 0x1 bl PutWindowTilemap diff --git a/asm/party_menu.s b/asm/party_menu.s index caf25ee87..bcf65c35b 100644 --- a/asm/party_menu.s +++ b/asm/party_menu.s @@ -5084,7 +5084,7 @@ _0812110E: adds r0, r4, 0 movs r1, 0 movs r3, 0x1 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 adds r0, r4, 0 bl PutWindowTilemap adds r0, r4, 0 @@ -5141,7 +5141,7 @@ _08121194: movs r1, 0 adds r2, r5, 0 movs r3, 0x1 - bl box_print + bl AddTextPrinterParameterized3 b _08121224 .align 2, 0 _081211E0: .4byte gUnknown_845A108 @@ -5172,7 +5172,7 @@ _081211F0: movs r1, 0 adds r2, r5, 0 movs r3, 0x1 - bl box_print + bl AddTextPrinterParameterized3 _08121224: adds r0, r6, 0 bl PutWindowTilemap @@ -5778,7 +5778,7 @@ sub_8121704: @ 8121704 str r1, [sp, 0x8] movs r1, 0 adds r2, r5, 0 - bl box_print + bl AddTextPrinterParameterized3 add sp, 0xC pop {r4,r5} pop {r0} @@ -6486,7 +6486,7 @@ _08121CAA: ldr r1, [r1] str r1, [sp, 0x8] movs r1, 0x1 - bl box_print + bl AddTextPrinterParameterized3 _08121CD0: add sp, 0xC pop {r3} @@ -6831,7 +6831,7 @@ _08121F3C: str r1, [sp, 0x10] movs r1, 0x2 mov r2, r9 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 adds r0, r5, 0x1 lsls r0, 24 lsrs r5, r0, 24 @@ -6903,7 +6903,7 @@ sub_8121FC0: @ 8121FC0 movs r0, 0x6 movs r1, 0x2 adds r2, r4, 0 - bl AddTextPrinterParameterized3 + bl AddTextPrinterParameterized2 add sp, 0x10 pop {r4} pop {r0} @@ -7005,7 +7005,7 @@ sub_8122084: @ 8122084 adds r0, r4, 0 movs r1, 0x4 adds r2, r5, 0 - bl AddTextPrinterParameterized3 + bl AddTextPrinterParameterized2 add sp, 0x10 pop {r4,r5} pop {r0} @@ -7121,7 +7121,7 @@ _0812217A: movs r1, 0x2 movs r2, 0x3 movs r3, 0x6 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 ldrb r0, [r4, 0xE] bl PutWindowTilemap movs r0, 0x2 diff --git a/asm/pokedex_screen.s b/asm/pokedex_screen.s index f62f57146..92a6b5f08 100644 --- a/asm/pokedex_screen.s +++ b/asm/pokedex_screen.s @@ -4266,7 +4266,7 @@ _08104852: adds r0, r7, 0 adds r1, r5, 0 adds r2, r6, 0 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 add sp, 0x18 pop {r4-r7} pop {r0} diff --git a/asm/pokemon_jump_2.s b/asm/pokemon_jump_2.s index dcdf8ad3b..9fde893f9 100644 --- a/asm/pokemon_jump_2.s +++ b/asm/pokemon_jump_2.s @@ -6116,7 +6116,7 @@ sub_814A84C: @ 814A84C movs r1, 0 movs r2, 0 movs r3, 0x2 - bl box_print + bl AddTextPrinterParameterized3 add r0, sp, 0xC str r0, [sp] str r4, [sp, 0x4] @@ -6126,7 +6126,7 @@ sub_814A84C: @ 814A84C movs r1, 0 movs r2, 0 movs r3, 0x2 - bl box_print + bl AddTextPrinterParameterized3 add sp, 0x10 pop {r4} pop {r0} @@ -6582,7 +6582,7 @@ sub_814AB98: @ 814AB98 movs r1, 0 adds r2, r4, 0 movs r3, 0x2 - bl box_print + bl AddTextPrinterParameterized3 ldr r0, [r6] adds r0, 0x1C add r0, r8 @@ -7950,7 +7950,7 @@ sub_814B5C4: @ 814B5C4 adds r0, r4, 0 movs r1, 0x2 movs r3, 0 - bl sub_812E62C + bl AddTextPrinterParameterized5 movs r7, 0 mov r8, r4 movs r1, 0xFF @@ -7980,7 +7980,7 @@ _0814B63E: mov r0, r8 movs r1, 0x2 movs r3, 0 - bl sub_812E62C + bl AddTextPrinterParameterized5 ldr r0, [sp, 0x2C] ldm r0!, {r1} str r0, [sp, 0x2C] @@ -8007,7 +8007,7 @@ _0814B63E: mov r0, r8 movs r1, 0x2 adds r2, r5, 0 - bl sub_812E62C + bl AddTextPrinterParameterized5 movs r0, 0xE0 lsls r0, 20 add r9, r0 diff --git a/asm/pokemon_special_anim.s b/asm/pokemon_special_anim.s index 56b077cef..abbf7a14f 100644 --- a/asm/pokemon_special_anim.s +++ b/asm/pokemon_special_anim.s @@ -1918,7 +1918,7 @@ _0811D4A2: movs r0, 0 movs r1, 0x2 adds r2, r4, 0 - bl sub_812E62C + bl AddTextPrinterParameterized5 _0811D4C2: add sp, 0x14 pop {r3,r4} @@ -4548,7 +4548,7 @@ _0811E880: movs r1, 0x2 movs r2, 0 adds r3, r5, 0 - bl box_print + bl AddTextPrinterParameterized3 lsls r0, r7, 1 mov r4, sp adds r4, r0 @@ -4571,7 +4571,7 @@ _0811E8BA: movs r1, 0x2 movs r2, 0x38 adds r3, r5, 0 - bl box_print + bl AddTextPrinterParameterized3 movs r0, 0 strb r0, [r6] movs r0, 0 @@ -4604,7 +4604,7 @@ _0811E8F4: mov r0, r8 movs r1, 0x2 adds r3, r5, 0 - bl box_print + bl AddTextPrinterParameterized3 adds r0, r7, 0x1 lsls r0, 16 lsrs r7, r0, 16 @@ -4725,7 +4725,7 @@ _0811E9C0: movs r1, 0x2 movs r2, 0 adds r3, r5, 0 - bl box_print + bl AddTextPrinterParameterized3 adds r4, 0x38 lsls r4, 24 lsrs r4, 24 @@ -4739,7 +4739,7 @@ _0811E9C0: movs r1, 0x2 adds r2, r4, 0 adds r3, r5, 0 - bl box_print + bl AddTextPrinterParameterized3 adds r0, r6, 0x1 lsls r0, 16 lsrs r6, r0, 16 diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s index acdd82d0c..366f714c2 100644 --- a/asm/pokemon_storage_system.s +++ b/asm/pokemon_storage_system.s @@ -807,7 +807,7 @@ _0808BF3C: str r1, [sp, 0x10] movs r1, 0x1 movs r3, 0x2 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 ldr r0, [sp, 0x50] mov r10, r4 cmp r0, 0x6 @@ -960,7 +960,7 @@ sub_808BFE0: @ 808BFE0 movs r1, 0x1 movs r2, 0 movs r3, 0x2 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 lsrs r5, 1 adds r0, r7, 0 ldr r1, [sp, 0x24] @@ -1442,7 +1442,7 @@ _0808C3E0: movs r0, 0 movs r1, 0x2 movs r3, 0xFF - bl AddTextPrinterParameterized3 + bl AddTextPrinterParameterized2 movs r0, 0 movs r1, 0x3 bl CopyWindowToVram @@ -1549,7 +1549,7 @@ _0808C4CE: movs r0, 0 movs r1, 0x2 movs r3, 0 - bl AddTextPrinterParameterized3 + bl AddTextPrinterParameterized2 b _0808C69C .align 2, 0 _0808C504: .4byte gMain @@ -1725,7 +1725,7 @@ _0808C66E: movs r0, 0 movs r1, 0x2 movs r3, 0 - bl AddTextPrinterParameterized3 + bl AddTextPrinterParameterized2 strh r4, [r5, 0x8] b _0808C69C .align 2, 0 @@ -22054,7 +22054,7 @@ _080966BA: movs r1, 0x2 adds r2, r4, 0 movs r3, 0x2 - bl sub_812E62C + bl AddTextPrinterParameterized5 add sp, 0x14 pop {r4} pop {r0} diff --git a/asm/pokemon_summary_screen.s b/asm/pokemon_summary_screen.s index 45cd06f08..60062910c 100644 --- a/asm/pokemon_summary_screen.s +++ b/asm/pokemon_summary_screen.s @@ -4808,7 +4808,7 @@ sub_8136DA4: @ 8136DA4 movs r1, 0x2 movs r2, 0x4 movs r3, 0x1 - bl box_print + bl AddTextPrinterParameterized3 ldr r0, [r5] adds r0, r4 ldrb r0, [r0] @@ -4853,7 +4853,7 @@ sub_8136DF0: @ 8136DF0 adds r0, r1, 0 movs r1, 0 movs r3, 0 - bl box_print + bl AddTextPrinterParameterized3 ldr r0, [r5] adds r0, r4 ldrb r0, [r0] @@ -4904,7 +4904,7 @@ sub_8136E50: @ 8136E50 movs r1, 0x2 movs r2, 0x4 movs r3, 0x2 - bl box_print + bl AddTextPrinterParameterized3 _08136E9A: ldr r2, [r6] adds r0, r2, r7 @@ -4920,7 +4920,7 @@ _08136E9A: movs r1, 0x2 movs r2, 0x28 movs r3, 0x2 - bl box_print + bl AddTextPrinterParameterized3 ldr r0, [r6] ldr r3, _08136F04 @ =0x00003290 adds r0, r3 @@ -4941,7 +4941,7 @@ _08136E9A: movs r1, 0x2 movs r2, 0x69 movs r3, 0x2 - bl box_print + bl AddTextPrinterParameterized3 b _08136F28 .align 2, 0 _08136EEC: .4byte gUnknown_203B140 @@ -4965,7 +4965,7 @@ _08136F0C: movs r1, 0x2 movs r2, 0x69 movs r3, 0x2 - bl box_print + bl AddTextPrinterParameterized3 _08136F28: ldr r0, _08136F44 @ =gUnknown_203B140 ldr r0, [r0] @@ -5053,7 +5053,7 @@ sub_8136FB0: @ 8136FB0 movs r1, 0x2 movs r2, 0x2F movs r3, 0x13 - bl box_print + bl AddTextPrinterParameterized3 ldr r3, [r6] movs r1, 0xC8 lsls r1, 6 @@ -5077,7 +5077,7 @@ sub_8136FB0: @ 8136FB0 str r1, [sp, 0x8] movs r1, 0x2 movs r3, 0x5 - bl box_print + bl AddTextPrinterParameterized3 ldr r1, [r6] ldr r2, _08137064 @ =0x00003003 adds r0, r1, r2 @@ -5090,7 +5090,7 @@ sub_8136FB0: @ 8136FB0 movs r1, 0x2 movs r2, 0x2F movs r3, 0x31 - bl box_print + bl AddTextPrinterParameterized3 ldr r1, [r6] ldr r2, _08137064 @ =0x00003003 adds r0, r1, r2 @@ -5103,7 +5103,7 @@ sub_8136FB0: @ 8136FB0 movs r1, 0x2 movs r2, 0x2F movs r3, 0x40 - bl box_print + bl AddTextPrinterParameterized3 ldr r1, [r6] ldr r2, _08137064 @ =0x00003003 adds r0, r1, r2 @@ -5116,7 +5116,7 @@ sub_8136FB0: @ 8136FB0 movs r1, 0x2 movs r2, 0x2F movs r3, 0x4F - bl box_print + bl AddTextPrinterParameterized3 b _081370CA .align 2, 0 _08137060: .4byte gUnknown_203B140 @@ -5167,7 +5167,7 @@ _081370A6: movs r1, 0x2 movs r2, 0x7 movs r3, 0x2D - bl box_print + bl AddTextPrinterParameterized3 _081370CA: add sp, 0xC pop {r4-r7} @@ -5212,7 +5212,7 @@ sub_81370EC: @ 81370EC str r3, [sp, 0x8] movs r1, 0x2 movs r3, 0x4 - bl box_print + bl AddTextPrinterParameterized3 mov r2, r9 ldr r3, [r2] adds r0, r3, r4 @@ -5230,7 +5230,7 @@ sub_81370EC: @ 81370EC str r3, [sp, 0x8] movs r1, 0x2 movs r3, 0x16 - bl box_print + bl AddTextPrinterParameterized3 mov r2, r9 ldr r3, [r2] adds r0, r3, r4 @@ -5248,7 +5248,7 @@ sub_81370EC: @ 81370EC str r3, [sp, 0x8] movs r1, 0x2 movs r3, 0x23 - bl box_print + bl AddTextPrinterParameterized3 mov r2, r9 ldr r3, [r2] adds r0, r3, r4 @@ -5266,7 +5266,7 @@ sub_81370EC: @ 81370EC str r3, [sp, 0x8] movs r1, 0x2 movs r3, 0x30 - bl box_print + bl AddTextPrinterParameterized3 mov r2, r9 ldr r3, [r2] adds r0, r3, r4 @@ -5284,7 +5284,7 @@ sub_81370EC: @ 81370EC str r3, [sp, 0x8] movs r1, 0x2 movs r3, 0x3D - bl box_print + bl AddTextPrinterParameterized3 mov r2, r9 ldr r3, [r2] adds r0, r3, r4 @@ -5302,7 +5302,7 @@ sub_81370EC: @ 81370EC str r3, [sp, 0x8] movs r1, 0x2 movs r3, 0x4A - bl box_print + bl AddTextPrinterParameterized3 mov r2, r9 ldr r3, [r2] adds r0, r3, r4 @@ -5320,7 +5320,7 @@ sub_81370EC: @ 81370EC str r3, [sp, 0x8] movs r1, 0x2 movs r3, 0x57 - bl box_print + bl AddTextPrinterParameterized3 mov r2, r9 ldr r3, [r2] adds r4, r3, r4 @@ -5338,7 +5338,7 @@ sub_81370EC: @ 81370EC str r3, [sp, 0x8] movs r1, 0x2 movs r3, 0x64 - bl box_print + bl AddTextPrinterParameterized3 add sp, 0xC pop {r3,r4} mov r8, r3 @@ -5406,7 +5406,7 @@ _081372B0: movs r1, 0x2 movs r2, 0x3 movs r3, 0x75 - bl box_print + bl AddTextPrinterParameterized3 _081372CE: add sp, 0xC pop {r4} @@ -5490,7 +5490,7 @@ _0813733E: movs r1, 0x2 movs r2, 0x3 mov r3, r12 - bl box_print + bl AddTextPrinterParameterized3 mov r1, r10 ldr r0, [r1] ldr r2, _081373A4 @ =0x00003258 @@ -5577,7 +5577,7 @@ _081373EA: movs r1, 0x2 movs r2, 0x24 mov r3, r8 - bl box_print + bl AddTextPrinterParameterized3 mov r0, r10 ldr r3, [r0] adds r4, r3, r4 @@ -5603,7 +5603,7 @@ _081373EA: str r3, [sp, 0x8] movs r1, 0x2 mov r3, r8 - bl box_print + bl AddTextPrinterParameterized3 mov r0, r10 ldr r1, [r0] ldr r2, _081374DC @ =0x00003258 @@ -5623,7 +5623,7 @@ _081373EA: movs r1, 0x2 movs r2, 0x3A mov r3, r8 - bl box_print + bl AddTextPrinterParameterized3 mov r0, r10 ldr r3, [r0] ldr r1, _081374C8 @ =0x00003003 @@ -5645,7 +5645,7 @@ _081373EA: str r3, [sp, 0x8] movs r1, 0x2 mov r3, r8 - bl box_print + bl AddTextPrinterParameterized3 _081374B4: add sp, 0x10 pop {r3-r5} @@ -5928,7 +5928,7 @@ _081376E6: movs r1, 0x2 movs r2, 0 movs r3, 0x3 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 add sp, 0xD4 pop {r4-r7} pop {r0} @@ -6052,7 +6052,7 @@ _081377F6: movs r1, 0x2 movs r2, 0 movs r3, 0x3 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 b _0813792C .align 2, 0 _08137820: .4byte gUnknown_8419782 @@ -6176,7 +6176,7 @@ _08137906: movs r1, 0x2 movs r2, 0 movs r3, 0x3 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 _0813792C: add sp, 0xD4 pop {r4-r6} @@ -6341,7 +6341,7 @@ _08137A46: movs r1, 0x2 movs r2, 0 movs r3, 0x3 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 add sp, 0x14 pop {r4-r7} pop {r0} @@ -6377,7 +6377,7 @@ sub_8137A90: @ 8137A90 movs r1, 0x2 movs r2, 0x1A movs r3, 0x7 - bl box_print + bl AddTextPrinterParameterized3 mov r1, r8 ldr r0, [r1] adds r0, r6 @@ -6389,7 +6389,7 @@ sub_8137A90: @ 8137A90 movs r1, 0x2 movs r2, 0x1A movs r3, 0x14 - bl box_print + bl AddTextPrinterParameterized3 add sp, 0xC pop {r3} mov r8, r3 @@ -6444,7 +6444,7 @@ _08137B1C: movs r1, 0x2 movs r2, 0x39 movs r3, 0x1 - bl box_print + bl AddTextPrinterParameterized3 ldr r3, [r7] adds r0, r3, r4 ldrb r0, [r0] @@ -6461,7 +6461,7 @@ _08137B1C: movs r1, 0x2 movs r2, 0x39 movs r3, 0xF - bl box_print + bl AddTextPrinterParameterized3 ldr r2, [r7] adds r4, r2, r4 ldrb r0, [r4] @@ -6486,7 +6486,7 @@ _08137B1C: movs r1, 0x2 movs r2, 0x7 movs r3, 0x2A - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 _08137B9E: add sp, 0x14 pop {r3} @@ -6569,7 +6569,7 @@ sub_8137C18: @ 8137C18 movs r1, 0x2 movs r2, 0x42 movs r3, 0x1 - bl box_print + bl AddTextPrinterParameterized3 ldr r1, [r5] adds r4, r1, r4 ldrb r0, [r4] @@ -6582,7 +6582,7 @@ sub_8137C18: @ 8137C18 movs r1, 0x2 movs r2, 0x2 movs r3, 0xF - bl box_print + bl AddTextPrinterParameterized3 add sp, 0xC pop {r3} mov r8, r3 @@ -9875,7 +9875,7 @@ _081396A8: movs r1, 0x2 movs r2, 0x7 movs r3, 0x2A - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 ldr r0, [r5] adds r0, r4 ldrb r0, [r0] diff --git a/asm/region_map.s b/asm/region_map.s index 187da882f..519b766c1 100644 --- a/asm/region_map.s +++ b/asm/region_map.s @@ -1600,7 +1600,7 @@ _080C0B44: movs r1, 0x2 movs r2, 0x2 movs r3, 0x2 - bl box_print + bl AddTextPrinterParameterized3 movs r0, 0 bl PutWindowTilemap movs r0, 0 @@ -1718,7 +1718,7 @@ sub_80C0BB0: @ 80C0BB0 movs r1, 0x2 movs r2, 0xC movs r3, 0x2 - bl box_print + bl AddTextPrinterParameterized3 movs r0, 0x1 bl PutWindowTilemap movs r0, 0x1 @@ -3737,7 +3737,7 @@ _080C1CA8: movs r1, 0x2 movs r2, 0x4 movs r3, 0 - bl box_print + bl AddTextPrinterParameterized3 bl sub_80C3580 lsls r0, 16 lsrs r0, 16 @@ -3750,7 +3750,7 @@ _080C1CA8: movs r1, 0x2 movs r2, 0x2 movs r3, 0xE - bl box_print + bl AddTextPrinterParameterized3 movs r0, 0x2 movs r1, 0x3 bl CopyWindowToVram @@ -9815,7 +9815,7 @@ _080C4E48: movs r1, 0 movs r2, 0 movs r3, 0 - bl box_print + bl AddTextPrinterParameterized3 movs r0, 0x3 movs r1, 0x2 bl CopyWindowToVram @@ -9860,7 +9860,7 @@ _080C4EA4: movs r1, 0 movs r2, 0 movs r3, 0 - bl box_print + bl AddTextPrinterParameterized3 movs r0, 0x4 movs r1, 0x3 bl CopyWindowToVram diff --git a/asm/script_menu.s b/asm/script_menu.s index 3445a36ff..bb4b0e062 100644 --- a/asm/script_menu.s +++ b/asm/script_menu.s @@ -578,7 +578,7 @@ _0809CD82: movs r0, 0 movs r1, 0x2 movs r3, 0 - bl AddTextPrinterParameterized3 + bl AddTextPrinterParameterized2 b _0809CDE0 .align 2, 0 _0809CDAC: .4byte gUnknown_83E0738 @@ -603,7 +603,7 @@ _0809CDB0: movs r0, 0 movs r1, 0x2 movs r3, 0 - bl AddTextPrinterParameterized3 + bl AddTextPrinterParameterized2 _0809CDE0: add sp, 0x10 pop {r4} @@ -1178,7 +1178,7 @@ sub_809D254: @ 809D254 movs r0, 0 movs r1, 0x2 movs r3, 0 - bl AddTextPrinterParameterized3 + bl AddTextPrinterParameterized2 add sp, 0x10 pop {r0} bx r0 diff --git a/asm/slot_machine.s b/asm/slot_machine.s index 02e17cbb0..680004d4a 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -3603,7 +3603,7 @@ _081411D0: movs r0, 0x1 movs r1, 0 movs r3, 0 - bl box_print + bl AddTextPrinterParameterized3 movs r0, 0 bl CopyBgTilemapBufferToVram movs r1, 0x83 @@ -4228,7 +4228,7 @@ sub_81417E4: @ 81417E4 movs r0, 0 adds r2, r4, 0 movs r3, 0x1 - bl sub_812E62C + bl AddTextPrinterParameterized5 add sp, 0x14 pop {r4} pop {r0} diff --git a/asm/start_menu.s b/asm/start_menu.s index b24cf4ac3..d6707732e 100644 --- a/asm/start_menu.s +++ b/asm/start_menu.s @@ -1908,7 +1908,7 @@ _0806FC14: movs r0, 0 movs r1, 0x2 movs r3, 0xFF - bl AddTextPrinterParameterized3 + bl AddTextPrinterParameterized2 movs r0, 0 movs r1, 0x8 movs r2, 0xF @@ -2043,7 +2043,7 @@ sub_806FCF4: @ 806FCF4 str r4, [sp, 0x8] movs r1, 0x2 movs r3, 0 - bl box_print + bl AddTextPrinterParameterized3 movs r0, 0x2 adds r1, r4, 0 adds r2, r6, 0 @@ -2058,7 +2058,7 @@ sub_806FCF4: @ 806FCF4 movs r1, 0 movs r2, 0x2 movs r3, 0xE - bl box_print + bl AddTextPrinterParameterized3 movs r0, 0 adds r1, r4, 0 movs r2, 0x2 @@ -2077,7 +2077,7 @@ sub_806FCF4: @ 806FCF4 movs r1, 0 movs r2, 0x2 movs r3, 0x1C - bl box_print + bl AddTextPrinterParameterized3 movs r0, 0x4 adds r1, r4, 0 movs r2, 0x2 @@ -2091,7 +2091,7 @@ sub_806FCF4: @ 806FCF4 movs r1, 0 movs r2, 0x3C movs r3, 0x1C - bl box_print + bl AddTextPrinterParameterized3 movs r7, 0x2A ldr r0, _0806FE78 @ =0x00000829 bl FlagGet @@ -2108,7 +2108,7 @@ sub_806FCF4: @ 806FCF4 movs r1, 0 movs r2, 0x2 movs r3, 0x2A - bl box_print + bl AddTextPrinterParameterized3 movs r0, 0x1 adds r1, r4, 0 movs r2, 0x2 @@ -2121,7 +2121,7 @@ sub_806FCF4: @ 806FCF4 movs r1, 0 movs r2, 0x3C movs r3, 0x2A - bl box_print + bl AddTextPrinterParameterized3 movs r7, 0x38 _0806FE0A: ldrb r0, [r5] @@ -2133,7 +2133,7 @@ _0806FE0A: movs r1, 0 movs r2, 0x2 adds r3, r7, 0 - bl box_print + bl AddTextPrinterParameterized3 movs r0, 0x2 adds r1, r4, 0 movs r2, 0x2 @@ -2146,7 +2146,7 @@ _0806FE0A: movs r1, 0 movs r2, 0x3C adds r3, r7, 0 - bl box_print + bl AddTextPrinterParameterized3 ldrb r0, [r5] movs r1, 0x2 bl CopyWindowToVram diff --git a/asm/teachy_tv.s b/asm/teachy_tv.s index a49e75992..418da67dd 100644 --- a/asm/teachy_tv.s +++ b/asm/teachy_tv.s @@ -789,7 +789,7 @@ sub_815B1DC: @ 815B1DC movs r0, 0 movs r1, 0x4 adds r2, r4, 0 - bl AddTextPrinterParameterized3 + bl AddTextPrinterParameterized2 add sp, 0x10 pop {r4} pop {r0} diff --git a/asm/trade.s b/asm/trade.s index acb395a43..287270525 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -4827,7 +4827,7 @@ _0804ECEC: str r0, [sp, 0x8] adds r0, r5, 0 movs r3, 0x4 - bl box_print + bl AddTextPrinterParameterized3 add r6, sp, 0x28 adds r0, r6, 0 ldr r1, [sp, 0x60] @@ -4847,7 +4847,7 @@ _0804ECEC: movs r1, 0x1 movs r2, 0 movs r3, 0 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 adds r0, r5, 0 bl PutWindowTilemap adds r0, r5, 0 @@ -5110,7 +5110,7 @@ sub_804EFB4: @ 804EFB4 adds r0, r4, 0 movs r1, 0 movs r3, 0x4 - bl box_print + bl AddTextPrinterParameterized3 adds r0, r4, 0 bl PutWindowTilemap adds r0, r4, 0 @@ -14989,7 +14989,7 @@ sub_8054508: @ 8054508 movs r1, 0x2 movs r2, 0 movs r3, 0x2 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 adds r0, r5, 0 movs r1, 0x3 bl CopyWindowToVram diff --git a/asm/trainer_card.s b/asm/trainer_card.s index 1dcdc4849..502d47c89 100644 --- a/asm/trainer_card.s +++ b/asm/trainer_card.s @@ -1856,7 +1856,7 @@ sub_8089EEC: @ 8089EEC add r0, sp, 0xC str r0, [sp, 0x8] movs r0, 0x1 - bl box_print + bl AddTextPrinterParameterized3 add sp, 0x4C pop {r4,r5} pop {r0} @@ -1908,7 +1908,7 @@ sub_8089F78: @ 8089F78 add r0, sp, 0xC str r0, [sp, 0x8] movs r0, 0x1 - bl box_print + bl AddTextPrinterParameterized3 add sp, 0x2C pop {r4} pop {r0} @@ -1972,7 +1972,7 @@ sub_8089FEC: @ 8089FEC adds r1, r6, 0 movs r2, 0x14 movs r3, 0x38 - bl box_print + bl AddTextPrinterParameterized3 str r5, [sp] str r4, [sp, 0x4] add r0, sp, 0xC @@ -1981,7 +1981,7 @@ sub_8089FEC: @ 8089FEC adds r1, r6, 0 adds r2, r7, 0 movs r3, 0x38 - bl box_print + bl AddTextPrinterParameterized3 b _0808A0CA .align 2, 0 _0808A068: .4byte gUnknown_8419CED @@ -2015,7 +2015,7 @@ _0808A080: adds r1, r6, 0 movs r2, 0x10 movs r3, 0x39 - bl box_print + bl AddTextPrinterParameterized3 str r5, [sp] str r4, [sp, 0x4] add r1, sp, 0xC @@ -2024,7 +2024,7 @@ _0808A080: adds r1, r6, 0 adds r2, r7, 0 movs r3, 0x39 - bl box_print + bl AddTextPrinterParameterized3 _0808A0CA: add sp, 0x18 pop {r4-r7} @@ -2108,7 +2108,7 @@ _0808A112: adds r1, r6, 0 movs r2, 0x14 movs r3, 0x48 - bl box_print + bl AddTextPrinterParameterized3 str r5, [sp] str r4, [sp, 0x4] add r0, sp, 0xC @@ -2117,7 +2117,7 @@ _0808A112: adds r1, r6, 0 adds r2, r7, 0 movs r3, 0x48 - bl box_print + bl AddTextPrinterParameterized3 str r5, [sp] str r4, [sp, 0x4] ldr r0, _0808A1B0 @ =gUnknown_8419CF7 @@ -2126,7 +2126,7 @@ _0808A112: adds r1, r6, 0 movs r2, 0x8A movs r3, 0x48 - bl box_print + bl AddTextPrinterParameterized3 b _0808A212 .align 2, 0 _0808A198: .4byte 0x00000829 @@ -2161,7 +2161,7 @@ _0808A1B4: adds r1, r6, 0 movs r2, 0x10 movs r3, 0x49 - bl box_print + bl AddTextPrinterParameterized3 str r5, [sp] str r4, [sp, 0x4] add r1, sp, 0xC @@ -2170,7 +2170,7 @@ _0808A1B4: adds r1, r6, 0 adds r2, r7, 0 movs r3, 0x49 - bl box_print + bl AddTextPrinterParameterized3 str r5, [sp] str r4, [sp, 0x4] ldr r0, _0808A228 @ =gUnknown_8419CF7 @@ -2179,7 +2179,7 @@ _0808A1B4: adds r1, r6, 0 movs r2, 0x8A movs r3, 0x49 - bl box_print + bl AddTextPrinterParameterized3 _0808A212: add sp, 0x18 pop {r4-r7} @@ -2258,7 +2258,7 @@ _0808A264: movs r0, 0x1 movs r2, 0x14 movs r3, 0x58 - bl box_print + bl AddTextPrinterParameterized3 b _0808A2F4 .align 2, 0 _0808A2B0: .4byte gSaveBlock2Ptr @@ -2284,7 +2284,7 @@ _0808A2D8: movs r0, 0x1 movs r2, 0x10 movs r3, 0x59 - bl box_print + bl AddTextPrinterParameterized3 _0808A2F4: add r0, sp, 0xC adds r1, r5, 0 @@ -2316,7 +2316,7 @@ _0808A2F4: str r1, [sp, 0x8] movs r0, 0x1 mov r1, r10 - bl box_print + bl AddTextPrinterParameterized3 ldr r1, _0808A3C0 @ =gUnknown_83CD932 mov r2, r9 ldr r4, [r2] @@ -2338,7 +2338,7 @@ _0808A2F4: str r0, [sp, 0x8] movs r0, 0x1 mov r1, r10 - bl box_print + bl AddTextPrinterParameterized3 add r0, sp, 0xC adds r1, r7, 0 movs r2, 0x2 @@ -2360,7 +2360,7 @@ _0808A2F4: str r1, [sp, 0x8] movs r0, 0x1 mov r1, r10 - bl box_print + bl AddTextPrinterParameterized3 add sp, 0x14 pop {r3-r5} mov r8, r3 @@ -2412,7 +2412,7 @@ sub_808A3D0: @ 808A3D0 movs r0, 0x1 movs r1, 0x2 movs r2, 0xA - bl box_print + bl AddTextPrinterParameterized3 ldr r1, [r7] adds r1, 0x19 movs r0, 0x2 @@ -2433,7 +2433,7 @@ sub_808A3D0: @ 808A3D0 str r1, [sp, 0x8] movs r0, 0x1 movs r1, 0x2 - bl box_print + bl AddTextPrinterParameterized3 ldr r0, _0808A4A4 @ =gUnknown_83CD93A mov r8, r0 ldr r1, [r7] @@ -2448,7 +2448,7 @@ sub_808A3D0: @ 808A3D0 movs r0, 0x1 movs r1, 0x2 movs r2, 0xA - bl box_print + bl AddTextPrinterParameterized3 ldr r1, [r7] adds r1, 0x33 movs r0, 0x2 @@ -2469,7 +2469,7 @@ sub_808A3D0: @ 808A3D0 str r1, [sp, 0x8] movs r0, 0x1 movs r1, 0x2 - bl box_print + bl AddTextPrinterParameterized3 _0808A486: add sp, 0xC pop {r3} @@ -2553,7 +2553,7 @@ sub_808A4FC: @ 808A4FC adds r0, 0x4D str r0, [sp, 0x8] movs r0, 0x1 - bl box_print + bl AddTextPrinterParameterized3 b _0808A59C .align 2, 0 _0808A538: .4byte gUnknown_20397A4 @@ -2597,7 +2597,7 @@ _0808A550: str r4, [sp, 0x8] movs r0, 0x1 adds r1, r5, 0 - bl box_print + bl AddTextPrinterParameterized3 _0808A59C: add sp, 0xC pop {r4-r6} @@ -2708,7 +2708,7 @@ sub_808A654: @ 808A654 movs r0, 0x1 adds r1, r5, 0 movs r3, 0x23 - bl box_print + bl AddTextPrinterParameterized3 ldr r0, _0808A6C4 @ =gUnknown_83CD8E3 str r0, [sp] str r4, [sp, 0x4] @@ -2719,7 +2719,7 @@ sub_808A654: @ 808A654 adds r1, r5, 0 movs r2, 0xA4 movs r3, 0x23 - bl box_print + bl AddTextPrinterParameterized3 _0808A6A2: add sp, 0xC pop {r4-r6} @@ -2830,7 +2830,7 @@ sub_808A760: @ 808A760 movs r0, 0x1 adds r1, r6, 0 movs r3, 0x33 - bl box_print + bl AddTextPrinterParameterized3 str r5, [sp] str r4, [sp, 0x4] ldr r0, [r7] @@ -2841,7 +2841,7 @@ sub_808A760: @ 808A760 adds r1, r6, 0 movs r2, 0x82 movs r3, 0x33 - bl box_print + bl AddTextPrinterParameterized3 ldr r5, _0808A804 @ =gUnknown_83CD8E3 str r5, [sp] str r4, [sp, 0x4] @@ -2853,7 +2853,7 @@ sub_808A760: @ 808A760 adds r1, r6, 0 movs r2, 0x90 movs r3, 0x33 - bl box_print + bl AddTextPrinterParameterized3 str r5, [sp] str r4, [sp, 0x4] ldr r0, [r7] @@ -2864,7 +2864,7 @@ sub_808A760: @ 808A760 adds r1, r6, 0 movs r2, 0xC0 movs r3, 0x33 - bl box_print + bl AddTextPrinterParameterized3 _0808A7E2: add sp, 0xC pop {r4-r7} @@ -2943,7 +2943,7 @@ sub_808A854: @ 808A854 movs r0, 0x1 adds r1, r5, 0 movs r3, 0x43 - bl box_print + bl AddTextPrinterParameterized3 ldr r0, _0808A8C8 @ =gUnknown_83CD8E3 str r0, [sp] str r4, [sp, 0x4] @@ -2955,7 +2955,7 @@ sub_808A854: @ 808A854 adds r1, r5, 0 movs r2, 0xBA movs r3, 0x43 - bl box_print + bl AddTextPrinterParameterized3 _0808A8A6: add sp, 0xC pop {r4-r6} @@ -3042,7 +3042,7 @@ sub_808A91C: @ 808A91C movs r0, 0x1 adds r1, r5, 0 movs r3, 0x63 - bl box_print + bl AddTextPrinterParameterized3 ldr r0, _0808A99C @ =gUnknown_83CD8E3 str r0, [sp] str r4, [sp, 0x4] @@ -3054,7 +3054,7 @@ sub_808A91C: @ 808A91C adds r1, r5, 0 movs r2, 0xBA movs r3, 0x63 - bl box_print + bl AddTextPrinterParameterized3 _0808A97A: add sp, 0xC pop {r4-r6} @@ -3140,7 +3140,7 @@ sub_808A9F0: @ 808A9F0 movs r0, 0x1 adds r1, r5, 0 movs r3, 0x53 - bl box_print + bl AddTextPrinterParameterized3 ldr r0, _0808AA70 @ =gUnknown_83CD8E3 str r0, [sp] str r4, [sp, 0x4] @@ -3152,7 +3152,7 @@ sub_808A9F0: @ 808A9F0 adds r1, r5, 0 movs r2, 0xBA movs r3, 0x53 - bl box_print + bl AddTextPrinterParameterized3 _0808AA4C: add sp, 0xC pop {r4-r6} diff --git a/asm/union_room_chat.s b/asm/union_room_chat.s index c3c305d7d..c69ca9b55 100644 --- a/asm/union_room_chat.s +++ b/asm/union_room_chat.s @@ -4516,7 +4516,7 @@ _0812A642: adds r0, r5, 0 movs r1, 0x2 adds r2, r6, 0 - bl sub_812E62C + bl AddTextPrinterParameterized5 b _0812A6DA .align 2, 0 _0812A6AC: .4byte gUnknown_845AB64 @@ -4539,7 +4539,7 @@ _0812A6B0: adds r0, r5, 0 movs r1, 0x2 adds r2, r6, 0 - bl sub_812E62C + bl AddTextPrinterParameterized5 _0812A6DA: ldr r0, _0812A6F0 @ =gUnknown_203B0E4 ldr r0, [r0] @@ -4689,7 +4689,7 @@ _0812A7B4: movs r0, 0x1 movs r1, 0x2 movs r3, 0x1 - bl box_print + bl AddTextPrinterParameterized3 add sp, 0x34 pop {r3-r5} mov r8, r3 @@ -4767,7 +4767,7 @@ _0812A866: movs r0, 0x2 movs r1, 0 lsrs r2, r5, 24 - bl box_print + bl AddTextPrinterParameterized3 adds r4, 0x4 adds r7, 0x1 adds r0, r6, 0 @@ -4807,7 +4807,7 @@ _0812A8A8: movs r4, 0x80 lsls r4, 19 lsrs r2, r4, 24 - bl box_print + bl AddTextPrinterParameterized3 adds r0, r7, 0x1 str r0, [sp, 0x48] adds r6, 0xC @@ -4858,7 +4858,7 @@ _0812A90C: movs r0, 0x2 movs r1, 0 adds r3, r4, 0 - bl box_print + bl AddTextPrinterParameterized3 adds r2, r7, 0 add r0, sp, 0xC str r0, [sp] @@ -4870,7 +4870,7 @@ _0812A90C: movs r0, 0x2 movs r1, 0 adds r3, r4, 0 - bl box_print + bl AddTextPrinterParameterized3 _0812A960: ldr r7, [sp, 0x48] mov r4, r10 @@ -5063,7 +5063,7 @@ sub_812AA78: @ 812AA78 movs r1, 0x2 movs r2, 0 adds r3, r4, 0 - bl box_print + bl AddTextPrinterParameterized3 add sp, 0x10 pop {r4,r5} pop {r0} diff --git a/include/menu.h b/include/menu.h index 606193953..08112c891 100644 --- a/include/menu.h +++ b/include/menu.h @@ -15,7 +15,7 @@ struct MenuAction } func; }; -void box_print(u8, u8, u8, u8, const void *, s8, const u8 *); +void AddTextPrinterParameterized3(u8, u8, u8, u8, const void *, s8, const u8 *); void sub_8198070(u8 windowId, bool8 copyToVram); void SetWindowTemplateFields(struct WindowTemplate* template, u8 priority, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 palNum, u16 baseBlock); void SetWindowBorderStyle(u8 windowId, bool8 copyToVram, u16 tileStart, u8 palette); @@ -34,7 +34,7 @@ u64 sub_8198A50(struct WindowTemplate*, u8, u8, u8, u8, u8, u8, u16); // returns s8 Menu_ProcessInputNoWrapClearOnChoose(void); void do_scheduled_bg_tilemap_copies_to_vram(void); void clear_scheduled_bg_copies_to_vram(void); -void AddTextPrinterParameterized2(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, const struct TextColor *color, s8 speed, const u8 *str); +void AddTextPrinterParameterized4(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, const struct TextColor *color, s8 speed, const u8 *str); void sub_8197B1C(u8 windowId, bool8 copyToVram, u16 a2, u16 a3); void sub_810F4D8(u8 windowId, bool32 someBool); void *sub_80F68F0(u8 bgId, const void *src, u32 size, u16 offset, u8 mode); diff --git a/include/new_menu_helpers.h b/include/new_menu_helpers.h index e9b41d778..929147c0c 100644 --- a/include/new_menu_helpers.h +++ b/include/new_menu_helpers.h @@ -9,7 +9,7 @@ void sub_81973A4(void); void sub_81973C4(u8, u8); void sub_819746C(u8 windowId, bool8 copyToVram); void sub_81973FC(u8, u8); -u16 AddTextPrinterParameterized3(u8 windowId, u8 fontId, const u8 *str, u8 speed, void ( *callback)(u16, struct TextPrinter *), u8 fgColor, u8 bgColor, u8 shadowColor); +u16 AddTextPrinterParameterized2(u8 windowId, u8 fontId, const u8 *str, u8 speed, void ( *callback)(u16, struct TextPrinter *), u8 fgColor, u8 bgColor, u8 shadowColor); void DisplayItemMessageOnField(u8 taskId, u8 bgId, const u8 *src, TaskFunc callback); void sub_8197434(u8 a0, u8 a1); void SetStandardWindowBorderStyle(u8 a0, u8 a1); diff --git a/src/bag.c b/src/bag.c index a9441eb8d..6f0badd81 100644 --- a/src/bag.c +++ b/src/bag.c @@ -228,13 +228,13 @@ void sub_810B858(void) void sub_810B8F0(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, s8 speed, u8 colorIdx) { - AddTextPrinterParameterized2(windowId, fontId, x, y, letterSpacing, lineSpacing, &gUnknown_84530B8[colorIdx], speed, str); + AddTextPrinterParameterized4(windowId, fontId, x, y, letterSpacing, lineSpacing, &gUnknown_84530B8[colorIdx], speed, str); } void sub_810B958(const u8 * str) { u32 x = 0x48 - GetStringWidth(1, str, 0); - box_print(2, 1, x / 2, 1, &gUnknown_84530B8[0], 0, str); + AddTextPrinterParameterized3(2, 1, x / 2, 1, &gUnknown_84530B8[0], 0, str); } void sub_810B994(void) diff --git a/src/daycare.c b/src/daycare.c index 268ad5a42..fcaadc0fd 100644 --- a/src/daycare.c +++ b/src/daycare.c @@ -2205,5 +2205,5 @@ static void EggHatchPrintMessage(u8 windowId, u8* string, u8 x, u8 y, u8 speed) sEggHatchData->textColor.fgColor = 0; sEggHatchData->textColor.bgColor = 5; sEggHatchData->textColor.shadowColor = 6; - AddTextPrinterParameterized2(windowId, 3, x, y, 1, 1, &sEggHatchData->textColor, speed, string); + AddTextPrinterParameterized4(windowId, 3, x, y, 1, 1, &sEggHatchData->textColor, speed, string); } diff --git a/src/egg_hatch.c b/src/egg_hatch.c index b840daf7b..74ec35102 100644 --- a/src/egg_hatch.c +++ b/src/egg_hatch.c @@ -874,5 +874,5 @@ static void EggHatchPrintMessage(u8 windowId, u8* string, u8 x, u8 y, u8 speed) sEggHatchData->textColor.fgColor = 0; sEggHatchData->textColor.bgColor = 5; sEggHatchData->textColor.shadowColor = 6; - AddTextPrinterParameterized2(windowId, 3, x, y, 1, 1, &sEggHatchData->textColor, speed, string); + AddTextPrinterParameterized4(windowId, 3, x, y, 1, 1, &sEggHatchData->textColor, speed, string); } diff --git a/src/fame_checker.c b/src/fame_checker.c index 612c3c35e..dea1b2874 100644 --- a/src/fame_checker.c +++ b/src/fame_checker.c @@ -639,7 +639,7 @@ static bool8 TryExitPickMode(u8 taskId) static void MessageBoxPrintEmptyText(void) { - AddTextPrinterParameterized3(2, 2, gFameCheckerText_ClearTextbox, 0, NULL, 2, 1, 3); + AddTextPrinterParameterized2(2, 2, gFameCheckerText_ClearTextbox, 0, NULL, 2, 1, 3); } static void Task_EnterPickMode(u8 taskId) @@ -779,7 +779,7 @@ static void GetPickModeText(void) if (HasUnlockedAllFlavorTextsForCurrentPerson() == TRUE) offset = NUM_FAMECHECKER_PERSONS; StringExpandPlaceholders(gStringVar4, sFameCheckerNameAndQuotesPointers[sFameCheckerData->unlockedPersons[who] + offset]); - AddTextPrinterParameterized3(FCWINDOWID_MSGBOX, 2, gStringVar4, GetTextSpeedSetting(), NULL, 2, 1, 3); + AddTextPrinterParameterized2(FCWINDOWID_MSGBOX, 2, gStringVar4, GetTextSpeedSetting(), NULL, 2, 1, 3); FC_PutWindowTilemapAndCopyWindowToVramMode3(FCWINDOWID_MSGBOX); } } @@ -790,7 +790,7 @@ static void PrintSelectedNameInBrightGreen(u8 taskId) u16 cursorPos = FameCheckerGetCursorY(); FillWindowPixelRect(FCWINDOWID_MSGBOX, 0x11, 0, 0, 0xd0, 0x20); StringExpandPlaceholders(gStringVar4, sFameCheckerFlavorTextPointers[sFameCheckerData->unlockedPersons[cursorPos] * 6 + data[1]]); - AddTextPrinterParameterized3(FCWINDOWID_MSGBOX, 2, gStringVar4, GetTextSpeedSetting(), NULL, 2, 1, 3); + AddTextPrinterParameterized2(FCWINDOWID_MSGBOX, 2, gStringVar4, GetTextSpeedSetting(), NULL, 2, 1, 3); FC_PutWindowTilemapAndCopyWindowToVramMode3(FCWINDOWID_MSGBOX); } @@ -900,7 +900,7 @@ static void PrintUIHelp(u8 state) } width = GetStringWidth(0, src, 0); FillWindowPixelRect(FCWINDOWID_UIHELP, 0x00, 0, 0, 0xc0, 0x10); - AddTextPrinterParameterized2(FCWINDOWID_UIHELP, 0, 188 - width, 0, 0, 2, &sTextColor_White, -1, src); + AddTextPrinterParameterized4(FCWINDOWID_UIHELP, 0, 188 - width, 0, 0, 2, &sTextColor_White, -1, src); FC_PutWindowTilemapAndCopyWindowToVramMode3(FCWINDOWID_UIHELP); } @@ -1213,10 +1213,10 @@ static void UpdateIconDescriptionBox(u8 whichText) gIconDescriptionBoxIsOpen = 1; FillWindowPixelRect(FCWINDOWID_ICONDESC, 0x00, 0, 0, 0x58, 0x20); width = (0x54 - GetStringWidth(0, sFlavorTextOriginLocationTexts[idx], 0)) / 2; - AddTextPrinterParameterized2(FCWINDOWID_ICONDESC, 0, width, 0, 0, 2, &sTextColor_DkGrey, -1, sFlavorTextOriginLocationTexts[idx]); + AddTextPrinterParameterized4(FCWINDOWID_ICONDESC, 0, width, 0, 0, 2, &sTextColor_DkGrey, -1, sFlavorTextOriginLocationTexts[idx]); StringExpandPlaceholders(gStringVar1, sFlavorTextOriginObjectNameTexts[idx]); width = (0x54 - GetStringWidth(0, gStringVar1, 0)) / 2; - AddTextPrinterParameterized2(FCWINDOWID_ICONDESC, 0, width, 10, 0, 2, &sTextColor_DkGrey, -1, gStringVar1); + AddTextPrinterParameterized4(FCWINDOWID_ICONDESC, 0, width, 10, 0, 2, &sTextColor_DkGrey, -1, gStringVar1); FC_PutWindowTilemapAndCopyWindowToVramMode3(FCWINDOWID_ICONDESC); } @@ -1330,7 +1330,7 @@ static void Task_SwitchToPickMode(u8 taskId) static void PrintCancelDescription(void) { FillWindowPixelRect(FCWINDOWID_MSGBOX, 0x11, 0, 0, 0xd0, 0x20); - AddTextPrinterParameterized3(FCWINDOWID_MSGBOX, 2, gFameCheckerText_FameCheckerWillBeClosed, 0, NULL, 2, 1, 3); + AddTextPrinterParameterized2(FCWINDOWID_MSGBOX, 2, gFameCheckerText_FameCheckerWillBeClosed, 0, NULL, 2, 1, 3); FC_PutWindowTilemapAndCopyWindowToVramMode3(FCWINDOWID_MSGBOX); } @@ -1341,14 +1341,14 @@ static void FC_DoMoveCursor(s32 itemIndex, bool8 onInit) u16 who; get_coro_args_x18_x1A(sFameCheckerData->listMenuTaskId, &listY, &cursorY); who = listY + cursorY; - AddTextPrinterParameterized2(FCWINDOWID_LIST, 2, 8, 14 * cursorY + 4, 0, 0, &sTextColor_Green, 0, sListMenuItems[itemIndex].unk_00); + AddTextPrinterParameterized4(FCWINDOWID_LIST, 2, 8, 14 * cursorY + 4, 0, 0, &sTextColor_Green, 0, sListMenuItems[itemIndex].unk_00); if (!onInit) { if (listY < sFameCheckerData->listMenuTopIdx2) sFameCheckerData->listMenuDrawnSelIdx++; else if (listY > sFameCheckerData->listMenuTopIdx2 && who != sFameCheckerData->numUnlockedPersons - 1) sFameCheckerData->listMenuDrawnSelIdx--; - AddTextPrinterParameterized2(FCWINDOWID_LIST, 2, 8, 14 * sFameCheckerData->listMenuDrawnSelIdx + 4, 0, 0, &sTextColor_DkGrey, 0, sListMenuItems[sFameCheckerData->listMenuCurIdx].unk_00); + AddTextPrinterParameterized4(FCWINDOWID_LIST, 2, 8, 14 * sFameCheckerData->listMenuDrawnSelIdx + 4, 0, 0, &sTextColor_DkGrey, 0, sListMenuItems[sFameCheckerData->listMenuCurIdx].unk_00); } sFameCheckerData->listMenuCurIdx = itemIndex; @@ -1547,7 +1547,7 @@ static void PlaceListMenuCursor(bool8 isActive) { u16 cursorY = ListMenuGetYCoordForPrintingArrowCursor(sFameCheckerData->listMenuTaskId); if (isActive == TRUE) - AddTextPrinterParameterized2(FCWINDOWID_LIST, 2, 0, cursorY, 0, 0, &sTextColor_DkGrey, 0, gFameCheckerText_ListMenuCursor); + AddTextPrinterParameterized4(FCWINDOWID_LIST, 2, 0, cursorY, 0, 0, &sTextColor_DkGrey, 0, gFameCheckerText_ListMenuCursor); else - AddTextPrinterParameterized2(FCWINDOWID_LIST, 2, 0, cursorY, 0, 0, &sTextColor_White, 0, gFameCheckerText_ListMenuCursor); + AddTextPrinterParameterized4(FCWINDOWID_LIST, 2, 0, cursorY, 0, 0, &sTextColor_White, 0, gFameCheckerText_ListMenuCursor); } diff --git a/src/menu2.c b/src/menu2.c index 2f411f81c..9a1846c7e 100644 --- a/src/menu2.c +++ b/src/menu2.c @@ -424,7 +424,7 @@ static const u8 gUnknown_845FD54[][5] = { [SPECIES_OLD_UNOWN_QMARK - 1] = {0x20, 0x23, 0x08, 0x20, 0x2d} }; -void box_print(u8 windowId, u8 fontId, u8 x, u8 y, const struct TextColor * color, s8 speed, const u8 * str) +void AddTextPrinterParameterized3(u8 windowId, u8 fontId, u8 x, u8 y, const struct TextColor * color, s8 speed, const u8 * str) { struct TextPrinterTemplate printer; @@ -444,7 +444,7 @@ void box_print(u8 windowId, u8 fontId, u8 x, u8 y, const struct TextColor * colo AddTextPrinter(&printer, speed, NULL); } -void AddTextPrinterParameterized2(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, const struct TextColor *color, s8 speed, const u8 *str) +void AddTextPrinterParameterized4(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, const struct TextColor *color, s8 speed, const u8 *str) { struct TextPrinterTemplate printer; @@ -464,7 +464,7 @@ void AddTextPrinterParameterized2(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterS AddTextPrinter(&printer, speed, NULL); } -void sub_812E62C(u8 windowId, u8 fontId, const u8 *str, u8 x, u8 y, u8 speed, void (*callback)(struct TextPrinterTemplate *, u16), u8 letterSpacing, u8 lineSpacing) +void AddTextPrinterParameterized5(u8 windowId, u8 fontId, const u8 *str, u8 x, u8 y, u8 speed, void (*callback)(struct TextPrinterTemplate *, u16), u8 letterSpacing, u8 lineSpacing) { struct TextPrinterTemplate printer; @@ -498,7 +498,7 @@ void sub_812E6DC(u8 windowId, const u8 * src, u16 x, u16 y) } else { - sub_812E62C(windowId, 2, gStringVar4, x, y, 0xFF, NULL, 0, 0); + AddTextPrinterParameterized5(windowId, 2, gStringVar4, x, y, 0xFF, NULL, 0, 0); } } diff --git a/src/mevent_8145654.c b/src/mevent_8145654.c index af3024bff..3e484bd56 100644 --- a/src/mevent_8145654.c +++ b/src/mevent_8145654.c @@ -347,28 +347,28 @@ void sub_8145D18(u8 whichWindow) case 0: { s32 x; - box_print(windowId, 3, 0, 1, &gUnknown_8467068[gUnknown_203F3C8->unk_0170->textPal1], 0, gUnknown_203F3C8->unk_018B); + AddTextPrinterParameterized3(windowId, 3, 0, 1, &gUnknown_8467068[gUnknown_203F3C8->unk_0170->textPal1], 0, gUnknown_203F3C8->unk_018B); x = 160 - GetStringWidth(3, gUnknown_203F3C8->unk_01B4, GetFontAttribute(3, 2)); if (x < 0) x = 0; - box_print(windowId, 3, x, 17, &gUnknown_8467068[gUnknown_203F3C8->unk_0170->textPal1], 0, gUnknown_203F3C8->unk_01B4); + AddTextPrinterParameterized3(windowId, 3, x, 17, &gUnknown_8467068[gUnknown_203F3C8->unk_0170->textPal1], 0, gUnknown_203F3C8->unk_01B4); if (gUnknown_203F3C8->unk_0000.unk_04 != 0) { - box_print(windowId, 2, 166, 17, &gUnknown_8467068[gUnknown_203F3C8->unk_0170->textPal1], 0, gUnknown_203F3C8->unk_01DD); + AddTextPrinterParameterized3(windowId, 2, 166, 17, &gUnknown_8467068[gUnknown_203F3C8->unk_0170->textPal1], 0, gUnknown_203F3C8->unk_01DD); } break; } case 1: for (; sp0C < 4; sp0C++) { - box_print(windowId, 3, 0, 16 * sp0C + 2, &gUnknown_8467068[gUnknown_203F3C8->unk_0170->textPal2], 0, gUnknown_203F3C8->unk_01E4[sp0C]); + AddTextPrinterParameterized3(windowId, 3, 0, 16 * sp0C + 2, &gUnknown_8467068[gUnknown_203F3C8->unk_0170->textPal2], 0, gUnknown_203F3C8->unk_01E4[sp0C]); } break; case 2: - box_print(windowId, 3, 0, gUnknown_8467070[gUnknown_203F3C8->unk_0000.unk_08_0], &gUnknown_8467068[gUnknown_203F3C8->unk_0170->textPal3], 0, gUnknown_203F3C8->unk_0288); + AddTextPrinterParameterized3(windowId, 3, 0, gUnknown_8467070[gUnknown_203F3C8->unk_0000.unk_08_0], &gUnknown_8467068[gUnknown_203F3C8->unk_0170->textPal3], 0, gUnknown_203F3C8->unk_0288); if (gUnknown_203F3C8->unk_0000.unk_08_0 != 2) { - box_print(windowId, 3, 0, 16 + gUnknown_8467070[gUnknown_203F3C8->unk_0000.unk_08_0], &gUnknown_8467068[gUnknown_203F3C8->unk_0170->textPal3], 0, gUnknown_203F3C8->unk_02B1); + AddTextPrinterParameterized3(windowId, 3, 0, 16 + gUnknown_8467070[gUnknown_203F3C8->unk_0000.unk_08_0], &gUnknown_8467068[gUnknown_203F3C8->unk_0170->textPal3], 0, gUnknown_203F3C8->unk_02B1); } else { @@ -377,11 +377,11 @@ void sub_8145D18(u8 whichWindow) s32 spacing = GetFontAttribute(3, 2); for (; sp0C < gUnknown_203F3C8->unk_0175; sp0C++) { - box_print(windowId, 3, x, y, &gUnknown_8467068[gUnknown_203F3C8->unk_0170->textPal3], 0, gUnknown_203F3C8->unk_02DC[sp0C].unk_01); + AddTextPrinterParameterized3(windowId, 3, x, y, &gUnknown_8467068[gUnknown_203F3C8->unk_0170->textPal3], 0, gUnknown_203F3C8->unk_02DC[sp0C].unk_01); if (gUnknown_203F3C8->unk_02DC[sp0C].unk_42[0] != EOS) { x += GetStringWidth(3, gUnknown_203F3C8->unk_02DC[sp0C].unk_01, spacing); - box_print(windowId, 2, x, y, &gUnknown_8467068[gUnknown_203F3C8->unk_0170->textPal3], 0, gUnknown_203F3C8->unk_02DC[sp0C].unk_42); + AddTextPrinterParameterized3(windowId, 2, x, y, &gUnknown_8467068[gUnknown_203F3C8->unk_0170->textPal3], 0, gUnknown_203F3C8->unk_02DC[sp0C].unk_42); x += GetStringWidth(3, gUnknown_203F3C8->unk_02DC[sp0C].unk_42, spacing) + gUnknown_203F3C8->unk_02DC[sp0C].unk_00; } } @@ -757,10 +757,10 @@ void sub_8146A30(void) x = (0xe0 - GetStringWidth(3, gUnknown_203F3CC->unk_01CE, GetFontAttribute(3, 2))) / 2; if (x < 0) x = 0; - box_print(gUnknown_203F3CC->unk_01C8[0], 3, x, 6, &gUnknown_8468038[gUnknown_203F3CC->unk_01BC->textPal1], 0, gUnknown_203F3CC->unk_01CE); + AddTextPrinterParameterized3(gUnknown_203F3CC->unk_01C8[0], 3, x, 6, &gUnknown_8468038[gUnknown_203F3CC->unk_01BC->textPal1], 0, gUnknown_203F3CC->unk_01CE); for (; i < 10; ++i) { - box_print(gUnknown_203F3CC->unk_01C8[1], 3, 0, 16 * i + 2, &gUnknown_8468038[gUnknown_203F3CC->unk_01BC->textPal2], 0, gUnknown_203F3CC->unk_01F7[i]); + AddTextPrinterParameterized3(gUnknown_203F3CC->unk_01C8[1], 3, 0, 16 * i + 2, &gUnknown_8468038[gUnknown_203F3CC->unk_01BC->textPal2], 0, gUnknown_203F3CC->unk_01F7[i]); } CopyWindowToVram(gUnknown_203F3CC->unk_01C8[0], 3); CopyWindowToVram(gUnknown_203F3CC->unk_01C8[1], 3); diff --git a/src/mystery_gift_menu.c b/src/mystery_gift_menu.c index bed7d0733..16e01f362 100644 --- a/src/mystery_gift_menu.c +++ b/src/mystery_gift_menu.c @@ -538,14 +538,14 @@ void PrintMysteryGiftOrEReaderTopMenu(bool8 mg_or_ereader, bool32 usePickOkCance if (!mg_or_ereader) { src = usePickOkCancel == TRUE ? gText_PickOKExit : gText_PickOKCancel; - AddTextPrinterParameterized2(0, 2, 2, 2, 0, 0, &sMG_Ereader_TextColor_1, 0, gText_MysteryGift); + AddTextPrinterParameterized4(0, 2, 2, 2, 0, 0, &sMG_Ereader_TextColor_1, 0, gText_MysteryGift); width = 222 - GetStringWidth(0, src, 0); - AddTextPrinterParameterized2(0, 0, width, 2, 0, 0, &sMG_Ereader_TextColor_1, 0, src); + AddTextPrinterParameterized4(0, 0, width, 2, 0, 0, &sMG_Ereader_TextColor_1, 0, src); } else { - AddTextPrinterParameterized2(0, 2, 2, 2, 0, 0, &sMG_Ereader_TextColor_1, 0, gJPText_MysteryGift); - AddTextPrinterParameterized2(0, 0, 0x78, 2, 0, 0, &sMG_Ereader_TextColor_1, 0, gJPText_DecideStop); + AddTextPrinterParameterized4(0, 2, 2, 2, 0, 0, &sMG_Ereader_TextColor_1, 0, gJPText_MysteryGift); + AddTextPrinterParameterized4(0, 0, 0x78, 2, 0, 0, &sMG_Ereader_TextColor_1, 0, gJPText_DecideStop); } CopyWindowToVram(0, 2); PutWindowTilemap(0); @@ -596,7 +596,7 @@ void AddTextPrinterToWindow1(const u8 *str) { StringExpandPlaceholders(gStringVar4, str); FillWindowPixelBuffer(1, 0x11); - AddTextPrinterParameterized2(1, 2, 0, 2, 0, 2, &sMG_Ereader_TextColor_2, 0, gStringVar4); + AddTextPrinterParameterized4(1, 2, 0, 2, 0, 2, &sMG_Ereader_TextColor_2, 0, gStringVar4); DrawTextBorderOuter(1, 0x001, 0xF); PutWindowTilemap(1); CopyWindowToVram(1, 3); @@ -737,7 +737,7 @@ s8 mevent_message_print_and_prompt_yes_no(u8 * textState, u16 * windowId, bool8 *windowId = AddWindow(&sWindowTemplate_PromptYesOrNo_Width20); } FillWindowPixelBuffer(*windowId, 0x11); - AddTextPrinterParameterized2(*windowId, 2, 0, 2, 0, 2, &sMG_Ereader_TextColor_2, 0, gStringVar4); + AddTextPrinterParameterized4(*windowId, 2, 0, 2, 0, 2, &sMG_Ereader_TextColor_2, 0, gStringVar4); DrawTextBorderOuter(*windowId, 0x001, 0x0F); CopyWindowToVram(*windowId, 2); PutWindowTilemap(*windowId); @@ -798,7 +798,7 @@ s32 HandleMysteryGiftListMenu(u8 * textState, u16 * windowId, bool32 cannotToss, } *windowId = AddWindow(&sMysteryGiftMenuWindowTemplate); FillWindowPixelBuffer(*windowId, 0x11); - AddTextPrinterParameterized2(*windowId, 2, 0, 2, 0, 2, &sMG_Ereader_TextColor_2, 0, gStringVar4); + AddTextPrinterParameterized4(*windowId, 2, 0, 2, 0, 2, &sMG_Ereader_TextColor_2, 0, gStringVar4); DrawTextBorderOuter(*windowId, 0x001, 0x0F); CopyWindowToVram(*windowId, 2); PutWindowTilemap(*windowId); diff --git a/src/oak_speech.c b/src/oak_speech.c index 412341e78..107bf234c 100644 --- a/src/oak_speech.c +++ b/src/oak_speech.c @@ -576,7 +576,7 @@ static void CreateHelpDocsPage1(void) sOakSpeechResources->unk_0014[0] = AddWindow(sHelpDocsWindowTemplatePtrs[sOakSpeechResources->unk_0012]); PutWindowTilemap(sOakSpeechResources->unk_0014[0]); FillWindowPixelBuffer(sOakSpeechResources->unk_0014[0], 0x00); - AddTextPrinterParameterized2(sOakSpeechResources->unk_0014[0], 2, 2, 0, 1, 1, &sTextColor_HelpSystem, 0, gNewGame_HelpDocs1); + AddTextPrinterParameterized4(sOakSpeechResources->unk_0014[0], 2, 2, 0, 1, 1, &sTextColor_HelpSystem, 0, gNewGame_HelpDocs1); CopyWindowToVram(sOakSpeechResources->unk_0014[0], 3); FillBgTilemapBufferRect_Palette0(1, 0x3000, 1, 3, 5, 16); CopyBgTilemapBufferToVram(1); @@ -598,7 +598,7 @@ static void Task_OakSpeech4(u8 taskId) sOakSpeechResources->unk_0014[i] = AddWindow(&sHelpDocsWindowTemplatePtrs[sOakSpeechResources->unk_0012][i]); PutWindowTilemap(sOakSpeechResources->unk_0014[i]); FillWindowPixelBuffer(sOakSpeechResources->unk_0014[i], 0x00); - AddTextPrinterParameterized2(sOakSpeechResources->unk_0014[i], 2, 6, 0, 1, 1, &sTextColor_HelpSystem, 0, sHelpDocsPtrs[i + r7 * 3]); + AddTextPrinterParameterized4(sOakSpeechResources->unk_0014[i], 2, 6, 0, 1, 1, &sTextColor_HelpSystem, 0, sHelpDocsPtrs[i + r7 * 3]); CopyWindowToVram(sOakSpeechResources->unk_0014[i], 3); } @@ -730,7 +730,7 @@ static void Task_OakSpeech6(u8 taskId) sOakSpeechResources->unk_0012 = 0; gMain.state = 0; data[15] = 16; - AddTextPrinterParameterized2(data[14], 2, 3, 5, 1, 0, &sTextColor_OakSpeech, 0, sNewGameAdventureIntroTextPointers[0]); + AddTextPrinterParameterized4(data[14], 2, 3, 5, 1, 0, &sTextColor_OakSpeech, 0, sNewGameAdventureIntroTextPointers[0]); data[5] = CreateTextCursorSpriteForOakSpeech(0, 0xe2, 0x91, 0, 0); gSprites[data[5]].oam.objMode = ST_OAM_OBJ_BLEND; gSprites[data[5]].oam.priority = 0; @@ -790,7 +790,7 @@ static void Task_OakSpeech7(u8 taskId) if (data[15] <= 0) { FillWindowPixelBuffer(data[14], 0x00); - AddTextPrinterParameterized2(data[14], 2, 3, 5, 1, 0, &sTextColor_OakSpeech, 0, sNewGameAdventureIntroTextPointers[sOakSpeechResources->unk_0012]); + AddTextPrinterParameterized4(data[14], 2, 3, 5, 1, 0, &sTextColor_OakSpeech, 0, sNewGameAdventureIntroTextPointers[sOakSpeechResources->unk_0012]); if (sOakSpeechResources->unk_0012 == 0) { sub_810F71C(); @@ -889,11 +889,11 @@ static void Task_OakSpeech9(u8 taskId) if (str != gStringVar4) \ { \ StringExpandPlaceholders(gStringVar4, str); \ - AddTextPrinterParameterized3(0, 4, gStringVar4, speed, NULL, 2, 1, 3); \ + AddTextPrinterParameterized2(0, 4, gStringVar4, speed, NULL, 2, 1, 3); \ } \ else \ { \ - AddTextPrinterParameterized3(0, 4, str, speed, NULL, 2, 1, 3); \ + AddTextPrinterParameterized2(0, 4, str, speed, NULL, 2, 1, 3); \ } \ CopyWindowToVram(0, 3); \ }) @@ -1059,11 +1059,11 @@ static void Task_OakSpeech19(u8 taskId) sOakSpeechResources->unk_001C[0] = 1; sOakSpeechResources->unk_001C[1] = 2; sOakSpeechResources->unk_001C[2] = 3; - box_print(gTasks[taskId].data[13], 2, 8, 1, sOakSpeechResources->unk_001C, 0, gText_Boy); + AddTextPrinterParameterized3(gTasks[taskId].data[13], 2, 8, 1, sOakSpeechResources->unk_001C, 0, gText_Boy); sOakSpeechResources->unk_001C[0] = 1; sOakSpeechResources->unk_001C[1] = 2; sOakSpeechResources->unk_001C[2] = 3; - box_print(gTasks[taskId].data[13], 2, 8, 17, sOakSpeechResources->unk_001C, 0, gText_Girl); + AddTextPrinterParameterized3(gTasks[taskId].data[13], 2, 8, 17, sOakSpeechResources->unk_001C, 0, gText_Girl); ProgramAndPlaceMenuCursorOnWindow(gTasks[taskId].data[13], 2, 0, 1, GetFontAttribute(2, 1) + 2, 2, 0); CopyWindowToVram(gTasks[taskId].data[13], 3); gTasks[taskId].func = Task_OakSpeech20; diff --git a/src/quest_log.c b/src/quest_log.c index 2c439cd2e..6299d285d 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -922,7 +922,7 @@ void sub_8111070(u8 a0) StringAppend(gStringVar4, gStringVar1); } - AddTextPrinterParameterized2(gUnknown_203ADFE[0], 2, 2, 2, 1, 2, &gUnknown_8456634, 0, gStringVar4); + AddTextPrinterParameterized4(gUnknown_203ADFE[0], 2, 2, 2, 1, 2, &gUnknown_8456634, 0, gStringVar4); PutWindowTilemap(gUnknown_203ADFE[0]); PutWindowTilemap(gUnknown_203ADFE[1]); CopyWindowToVram(gUnknown_203ADFE[0], 2); @@ -1417,7 +1417,7 @@ void sub_8111D10(void) PutWindowTilemap(gUnknown_203ADFE[2]); sub_8111D90(gUnknown_203ADFE[2]); - AddTextPrinterParameterized2(gUnknown_203ADFE[2], 2, 2, gUnknown_8456698[count], 1, 0, &gUnknown_8456634, 0, gStringVar4); + AddTextPrinterParameterized4(gUnknown_203ADFE[2], 2, 2, gUnknown_8456698[count], 1, 0, &gUnknown_8456634, 0, gStringVar4); schedule_bg_copy_tilemap_to_vram(0); } @@ -2468,7 +2468,7 @@ const struct TextColor gUnknown_8456930 = { void sub_8112FE4(const u8 * a0) { - AddTextPrinterParameterized2(gUnknown_203B020, 0x02, 2, 5, 1, 1, &gUnknown_8456930, -1, a0); + AddTextPrinterParameterized4(gUnknown_203B020, 0x02, 2, 5, 1, 1, &gUnknown_8456930, -1, a0); } void sub_8113018(const u8 * a0, u8 a1) diff --git a/src/tm_case.c b/src/tm_case.c index a8ed62cae..08b3c5004 100644 --- a/src/tm_case.c +++ b/src/tm_case.c @@ -1317,7 +1317,7 @@ static void InitWindowTemplatesAndPals(void) static void AddTextPrinterParameterized_ColorByIndex(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, u8 speed, u8 colorIdx) { - AddTextPrinterParameterized2(windowId, fontId, x, y, letterSpacing, lineSpacing, &sTextColors[colorIdx], speed, str); + AddTextPrinterParameterized4(windowId, fontId, x, y, letterSpacing, lineSpacing, &sTextColors[colorIdx], speed, str); } static void TMCase_SetWindowBorder1(u8 windowId) @@ -1339,7 +1339,7 @@ static void TMCase_PrintMessageWithFollowupTask(u8 taskId, u8 windowId, const u8 static void PrintStringTMCaseOnWindow3(void) { u32 distance = 72 - GetStringWidth(1, gText_TMCase, 0); - box_print(3, 1, distance / 2, 1, &sTextColors[0], 0, gText_TMCase); + AddTextPrinterParameterized3(3, 1, distance / 2, 1, &sTextColors[0], 0, gText_TMCase); } static void DrawMoveInfoUIMarkers(void) diff --git a/src/trainer_tower.c b/src/trainer_tower.c index d2f7c92a9..a36e93260 100644 --- a/src/trainer_tower.c +++ b/src/trainer_tower.c @@ -1490,14 +1490,14 @@ void sub_815EC8C(void) sub_815DC8C(); FillWindowPixelRect(0, 0, 0, 0, 0xd8, 0x90); sub_815EC0C(); - box_print(0, 2, 0x4a, 0, &gUnknown_847A22C, 0, gUnknown_83FE982); + AddTextPrinterParameterized3(0, 2, 0x4a, 0, &gUnknown_847A22C, 0, gUnknown_83FE982); for (i = 0; i < 4; i++) { PRINT_TOWER_TIME(sub_815EDDC(&gSaveBlock1Ptr->unkArray[i].unk4)); StringExpandPlaceholders(gStringVar4, gUnknown_83FE998); - box_print(windowId, 2, 0x18, 0x24 + 0x14 * i, &gUnknown_847A22C, 0, gUnknown_83FE9C4[i]); - box_print(windowId, 2, 0x60, 0x24 + 0x14 * i, &gUnknown_847A22C, 0, gStringVar4); + AddTextPrinterParameterized3(windowId, 2, 0x18, 0x24 + 0x14 * i, &gUnknown_847A22C, 0, gUnknown_83FE9C4[i]); + AddTextPrinterParameterized3(windowId, 2, 0x60, 0x24 + 0x14 * i, &gUnknown_847A22C, 0, gStringVar4); } PutWindowTilemap(windowId); diff --git a/src/wireless_communication_status_screen.c b/src/wireless_communication_status_screen.c index fa4e27422..1eb29be1b 100644 --- a/src/wireless_communication_status_screen.c +++ b/src/wireless_communication_status_screen.c @@ -359,7 +359,7 @@ void sub_814F65C(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 palIdx) break; // default: UB } - AddTextPrinterParameterized2(windowId, fontId,x, y, fontId == 0 ? 0 : 1, 0, &textColor, -1, str); + AddTextPrinterParameterized4(windowId, fontId,x, y, fontId == 0 ? 0 : 1, 0, &textColor, -1, str); } u32 sub_814F714(struct UnkStruct_x20 * unk20, u32 * arg1) -- cgit v1.2.3 From 55406f92fd5cc6e97866dfb9982f15d41e8b83be Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Sat, 1 Jun 2019 16:07:06 +0800 Subject: teachy_tv and minor update to match DizzyEgg's struct def --- asm/berry_pouch.s | 4 +- asm/item_menu.s | 4 +- asm/item_pc.s | 4 +- asm/menu_helpers.s | 14 +- asm/party_menu.s | 4 +- asm/shop.s | 2 +- asm/teachy_tv.s | 408 ++---------------------------------------------- include/fame_checker.h | 2 +- include/list_menu.h | 6 +- include/menu_helpers.h | 4 +- ld_script.txt | 1 + src/fame_checker.c | 16 +- src/mystery_gift_menu.c | 2 +- src/teachy_tv.c | 217 +++++++++++++++++++++++++ src/tm_case.c | 12 +- sym_ewram.txt | 5 +- 16 files changed, 272 insertions(+), 433 deletions(-) create mode 100644 src/teachy_tv.c diff --git a/asm/berry_pouch.s b/asm/berry_pouch.s index 762938e3c..9e53e6624 100644 --- a/asm/berry_pouch.s +++ b/asm/berry_pouch.s @@ -183,7 +183,7 @@ _0813CE84: .4byte _0813CFB0 .4byte _0813CFBE _0813CED0: - bl sub_80BF768 + bl VblankHblankHandlerSetZero bl clear_scheduled_bg_copies_to_vram b _0813CFD2 _0813CEDA: @@ -386,7 +386,7 @@ _0813D078: .4byte gUnknown_203F370 thumb_func_start sub_813D07C sub_813D07C: @ 813D07C push {r4,lr} - bl sub_80BF7C8 + bl InitBgReg ldr r4, _0813D0DC @ =gUnknown_203F36C ldr r0, [r4] adds r0, 0xC diff --git a/asm/item_menu.s b/asm/item_menu.s index 46891fe94..3a665b61e 100644 --- a/asm/item_menu.s +++ b/asm/item_menu.s @@ -253,7 +253,7 @@ _08107F60: .4byte _081080D8 .4byte _081080DE _08107FB0: - bl sub_80BF768 + bl VblankHblankHandlerSetZero bl clear_scheduled_bg_copies_to_vram b _08108104 _08107FBA: @@ -520,7 +520,7 @@ _081081CC: .4byte gUnknown_203AD1C thumb_func_start sub_81081D0 sub_81081D0: @ 81081D0 push {r4,r5,lr} - bl sub_80BF7C8 + bl InitBgReg ldr r5, _08108230 @ =gUnknown_203AD14 movs r4, 0x80 lsls r4, 4 diff --git a/asm/item_pc.s b/asm/item_pc.s index e7a9f8ee5..aab19813a 100644 --- a/asm/item_pc.s +++ b/asm/item_pc.s @@ -158,7 +158,7 @@ _0810D4E8: .4byte _0810D630 .4byte _0810D668 _0810D53C: - bl sub_80BF768 + bl VblankHblankHandlerSetZero bl clear_scheduled_bg_copies_to_vram b _0810D674 _0810D546: @@ -389,7 +389,7 @@ _0810D718: .4byte gUnknown_203ADCC thumb_func_start sub_810D71C sub_810D71C: @ 810D71C push {r4,r5,lr} - bl sub_80BF7C8 + bl InitBgReg ldr r5, _0810D77C @ =gUnknown_203ADC0 movs r4, 0x80 lsls r4, 4 diff --git a/asm/menu_helpers.s b/asm/menu_helpers.s index 792bed5cf..ad020b660 100644 --- a/asm/menu_helpers.s +++ b/asm/menu_helpers.s @@ -418,8 +418,8 @@ _080BF764: bx r1 thumb_func_end sub_80BF748 - thumb_func_start sub_80BF768 -sub_80BF768: @ 80BF768 + thumb_func_start VblankHblankHandlerSetZero +VblankHblankHandlerSetZero: @ 80BF768 push {lr} movs r0, 0 bl SetVBlankCallback @@ -427,13 +427,13 @@ sub_80BF768: @ 80BF768 bl SetHBlankCallback pop {r0} bx r0 - thumb_func_end sub_80BF768 + thumb_func_end VblankHblankHandlerSetZero thumb_func_start sub_80BF77C sub_80BF77C: @ 80BF77C push {r4,lr} sub sp, 0xC - bl sub_80BF7C8 + bl InitBgReg mov r1, sp movs r0, 0 strh r0, [r1] @@ -465,8 +465,8 @@ _080BF7C0: .4byte 0x05000100 _080BF7C4: .4byte 0x01000200 thumb_func_end sub_80BF77C - thumb_func_start sub_80BF7C8 -sub_80BF7C8: @ 80BF7C8 + thumb_func_start InitBgReg +InitBgReg: @ 80BF7C8 push {lr} movs r0, 0 movs r1, 0 @@ -517,7 +517,7 @@ sub_80BF7C8: @ 80BF7C8 bl ChangeBgY pop {r0} bx r0 - thumb_func_end sub_80BF7C8 + thumb_func_end InitBgReg thumb_func_start sub_80BF848 sub_80BF848: @ 80BF848 diff --git a/asm/party_menu.s b/asm/party_menu.s index 2aaa52985..13ca24a2f 100644 --- a/asm/party_menu.s +++ b/asm/party_menu.s @@ -276,7 +276,7 @@ _0811EC24: .4byte _0811EDD0 .4byte _0811EDDE _0811EC80: - bl sub_80BF768 + bl VblankHblankHandlerSetZero bl sub_80BF77C bl clear_scheduled_bg_copies_to_vram b _0811EDFC @@ -565,7 +565,7 @@ _0811EEC8: .4byte gUnknown_203B0B8 thumb_func_start sub_811EECC sub_811EECC: @ 811EECC push {r4,r5,lr} - bl sub_80BF7C8 + bl InitBgReg ldr r5, _0811EF34 @ =gUnknown_203B0BC movs r4, 0x80 lsls r4, 4 diff --git a/asm/shop.s b/asm/shop.s index 525fbbc45..0cbaf1206 100644 --- a/asm/shop.s +++ b/asm/shop.s @@ -515,7 +515,7 @@ _0809AEA0: .4byte gTasks _0809AEA4: .4byte sub_809AE00 _0809AEA8: .4byte sub_809ADE4 _0809AEAC: - bl sub_80BF768 + bl VblankHblankHandlerSetZero str r4, [sp, 0x8] movs r1, 0xE0 lsls r1, 19 diff --git a/asm/teachy_tv.s b/asm/teachy_tv.s index 482b5da60..8320d951c 100644 --- a/asm/teachy_tv.s +++ b/asm/teachy_tv.s @@ -5,382 +5,6 @@ .text - thumb_func_start sub_815AB94 -sub_815AB94: @ 815AB94 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl do_scheduled_bg_tilemap_copies_to_vram - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_815AB94 - - thumb_func_start sub_815ABB0 -sub_815ABB0: @ 815ABB0 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_815ABB0 - - thumb_func_start sub_815ABC4 -sub_815ABC4: @ 815ABC4 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - adds r2, r0, 0 - ldr r3, _0815ABF4 @ =gTeachyTV_StaticResources - movs r4, 0 - strb r2, [r3, 0x4] - str r1, [r3] - cmp r2, 0 - bne _0815ABE0 - movs r0, 0 - strh r4, [r3, 0x6] - strh r4, [r3, 0x8] - strb r0, [r3, 0x5] -_0815ABE0: - cmp r2, 0x1 - bne _0815ABE6 - strb r4, [r3, 0x4] -_0815ABE6: - ldr r0, _0815ABF8 @ =sub_815AC2C - bl SetMainCallback2 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0815ABF4: .4byte gTeachyTV_StaticResources -_0815ABF8: .4byte sub_815AC2C - thumb_func_end sub_815ABC4 - - thumb_func_start CB2_ReturnToTeachyTV -CB2_ReturnToTeachyTV: @ 815ABFC - push {lr} - ldr r1, _0815AC10 @ =gTeachyTV_StaticResources - ldrb r0, [r1, 0x4] - cmp r0, 0x1 - bne _0815AC14 - ldr r1, [r1] - movs r0, 0x1 - bl sub_815ABC4 - b _0815AC1C - .align 2, 0 -_0815AC10: .4byte gTeachyTV_StaticResources -_0815AC14: - ldr r1, [r1] - movs r0, 0x2 - bl sub_815ABC4 -_0815AC1C: - pop {r0} - bx r0 - thumb_func_end CB2_ReturnToTeachyTV - - thumb_func_start sub_815AC20 -sub_815AC20: @ 815AC20 - ldr r1, _0815AC28 @ =gTeachyTV_StaticResources - movs r0, 0x1 - strb r0, [r1, 0x4] - bx lr - .align 2, 0 -_0815AC28: .4byte gTeachyTV_StaticResources - thumb_func_end sub_815AC20 - - thumb_func_start sub_815AC2C -sub_815AC2C: @ 815AC2C - push {r4-r6,lr} - sub sp, 0x4 - ldr r0, _0815AC44 @ =gMain - movs r1, 0x87 - lsls r1, 3 - adds r6, r0, r1 - ldrb r5, [r6] - cmp r5, 0 - beq _0815AC48 - cmp r5, 0x1 - beq _0815AC9C - b _0815AD6E - .align 2, 0 -_0815AC44: .4byte gMain -_0815AC48: - ldr r4, _0815AC90 @ =gUnknown_203F450 - ldr r0, _0815AC94 @ =0x00004008 - bl AllocZeroed - str r0, [r4] - str r5, [r0] - ldr r1, _0815AC98 @ =0x00004006 - adds r0, r1 - strb r5, [r0] - ldr r0, [r4] - adds r1, 0x1 - adds r0, r1 - movs r1, 0xFF - strb r1, [r0] - bl sub_80BF768 - bl clear_scheduled_bg_copies_to_vram - bl ScanlineEffect_Stop - bl FreeAllSpritePalettes - bl ResetPaletteFade - bl ResetSpriteData - bl ResetTasks - bl sub_815AD88 - bl sub_815AE38 - ldrb r0, [r6] - adds r0, 0x1 - strb r0, [r6] - b _0815AD6E - .align 2, 0 -_0815AC90: .4byte gUnknown_203F450 -_0815AC94: .4byte 0x00004008 -_0815AC98: .4byte 0x00004006 -_0815AC9C: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0815AD6E - bl sub_815AEB8 - bl sub_815AFEC - ldr r0, _0815ACE0 @ =gTeachyTV_StaticResources - ldrb r0, [r0, 0x4] - cmp r0, 0x2 - bne _0815ACEC - ldr r0, _0815ACE4 @ =sub_815BA54 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r5, r0, 24 - bl sub_815B014 - ldr r2, _0815ACE8 @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r2 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0xA] - adds r0, r5, 0 - bl sub_815B118 - b _0815AD26 - .align 2, 0 -_0815ACE0: .4byte gTeachyTV_StaticResources -_0815ACE4: .4byte sub_815BA54 -_0815ACE8: .4byte gTasks -_0815ACEC: - ldr r0, _0815AD78 @ =sub_815B2C0 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r5, r0, 24 - bl sub_815AEE8 - ldr r1, _0815AD7C @ =gTasks - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - adds r4, r1 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x8] - bl sub_815B014 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0xA] - bl sub_815AF5C - movs r0, 0xAD - lsls r0, 1 - bl PlayNewMapMusic - bl sub_815B094 -_0815AD26: - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x3 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x9 - bl sub_812B1E0 - movs r4, 0x1 - negs r4, r4 - adds r0, r4, 0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - movs r0, 0 - str r0, [sp] - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r0, _0815AD80 @ =sub_815ABB0 - bl SetVBlankCallback - ldr r0, _0815AD84 @ =sub_815AB94 - bl SetMainCallback2 -_0815AD6E: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0815AD78: .4byte sub_815B2C0 -_0815AD7C: .4byte gTasks -_0815AD80: .4byte sub_815ABB0 -_0815AD84: .4byte sub_815AB94 - thumb_func_end sub_815AC2C - - thumb_func_start sub_815AD88 -sub_815AD88: @ 815AD88 - push {r4,lr} - bl sub_80BF7C8 - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, _0815AE20 @ =gUnknown_84792E0 - movs r0, 0 - movs r2, 0x4 - bl InitBgsFromTemplates - ldr r4, _0815AE24 @ =gUnknown_203F450 - ldr r1, [r4] - adds r1, 0x4 - movs r0, 0x1 - bl SetBgTilemapBuffer - ldr r1, [r4] - ldr r0, _0815AE28 @ =0x00001004 - adds r1, r0 - movs r0, 0x2 - bl SetBgTilemapBuffer - ldr r1, [r4] - ldr r0, _0815AE2C @ =0x00002004 - adds r1, r0 - movs r0, 0x3 - bl SetBgTilemapBuffer - movs r1, 0xC1 - lsls r1, 6 - movs r0, 0 - bl SetGpuReg - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x3 - bl ShowBg - movs r1, 0x80 - lsls r1, 5 - movs r0, 0x3 - movs r2, 0x2 - bl ChangeBgX - movs r1, 0xA0 - lsls r1, 6 - movs r0, 0x3 - movs r2, 0x1 - bl ChangeBgY - ldr r0, [r4] - ldr r1, _0815AE30 @ =0x00004004 - adds r0, r1 - movs r1, 0 - strb r1, [r0] - ldr r0, [r4] - ldr r1, _0815AE34 @ =0x00004005 - adds r0, r1 - movs r1, 0x3 - strb r1, [r0] - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0815AE20: .4byte gUnknown_84792E0 -_0815AE24: .4byte gUnknown_203F450 -_0815AE28: .4byte 0x00001004 -_0815AE2C: .4byte 0x00002004 -_0815AE30: .4byte 0x00004004 -_0815AE34: .4byte 0x00004005 - thumb_func_end sub_815AD88 - - thumb_func_start sub_815AE38 -sub_815AE38: @ 815AE38 - push {r4,lr} - sub sp, 0x8 - movs r4, 0 - add r0, sp, 0x4 - strh r4, [r0] - bl reset_temp_tile_data_buffers - ldr r1, _0815AE98 @ =gUnknown_8E86240 - str r4, [sp] - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - ldr r0, _0815AE9C @ =gUnknown_8E86BE8 - ldr r4, _0815AEA0 @ =gUnknown_203F450 - ldr r1, [r4] - adds r1, 0x4 - bl LZDecompressWram - ldr r0, _0815AEA4 @ =gUnknown_8E86D6C - ldr r1, [r4] - ldr r2, _0815AEA8 @ =0x00003004 - adds r1, r2 - bl LZDecompressWram - ldr r0, _0815AEAC @ =gUnknown_8E86F98 - movs r1, 0 - movs r2, 0x80 - bl LoadCompressedPalette - add r0, sp, 0x4 - movs r1, 0 - movs r2, 0x2 - bl LoadPalette - ldr r0, _0815AEB0 @ =gUnknown_83A5348 - bl LoadSpritePalette - ldr r0, [r4] - ldr r1, _0815AEB4 @ =0x00002004 - adds r0, r1 - bl sub_815BD80 - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0815AE98: .4byte gUnknown_8E86240 -_0815AE9C: .4byte gUnknown_8E86BE8 -_0815AEA0: .4byte gUnknown_203F450 -_0815AEA4: .4byte gUnknown_8E86D6C -_0815AEA8: .4byte 0x00003004 -_0815AEAC: .4byte gUnknown_8E86F98 -_0815AEB0: .4byte gUnknown_83A5348 -_0815AEB4: .4byte 0x00002004 - thumb_func_end sub_815AE38 - - thumb_func_start sub_815AEB8 -sub_815AEB8: @ 815AEB8 - push {lr} - ldr r0, _0815AEE4 @ =gUnknown_84792F0 - bl InitWindows - bl DeactivateAllTextPrinters - movs r0, 0 - movs r1, 0xCC - bl FillWindowPixelBuffer - movs r0, 0 - bl PutWindowTilemap - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0 - movs r1, 0x2 - bl CopyWindowToVram - pop {r0} - bx r0 - .align 2, 0 -_0815AEE4: .4byte gUnknown_84792F0 - thumb_func_end sub_815AEB8 - thumb_func_start sub_815AEE8 sub_815AEE8: @ 815AEE8 push {r4,r5,lr} @@ -459,7 +83,7 @@ _0815AF7C: .4byte gUnknown_203F450 _0815AF80: .4byte 0x00004007 _0815AF84: ldr r0, _0815AF9C @ =gUnknown_8479380 - ldr r1, _0815AFA0 @ =gUnknown_203F44A + ldr r1, _0815AFA0 @ =gTeachyTV_StaticResources+6 bl AddScrollIndicatorArrowPair ldr r1, _0815AFA4 @ =gUnknown_203F450 ldr r1, [r1] @@ -471,7 +95,7 @@ _0815AF96: bx r0 .align 2, 0 _0815AF9C: .4byte gUnknown_8479380 -_0815AFA0: .4byte gUnknown_203F44A +_0815AFA0: .4byte gTeachyTV_StaticResources+6 _0815AFA4: .4byte gUnknown_203F450 _0815AFA8: .4byte 0x00004007 thumb_func_end sub_815AF5C @@ -515,8 +139,8 @@ _0815AFE8: bx r0 thumb_func_end sub_815AFD8 - thumb_func_start sub_815AFEC -sub_815AFEC: @ 815AFEC + thumb_func_start TeachyTvInitIo +TeachyTvInitIo: @ 815AFEC push {lr} movs r0, 0x48 movs r1, 0x3F @@ -532,10 +156,10 @@ sub_815AFEC: @ 815AFEC bl SetGpuReg pop {r0} bx r0 - thumb_func_end sub_815AFEC + thumb_func_end TeachyTvInitIo - thumb_func_start sub_815B014 -sub_815B014: @ 815B014 + thumb_func_start TeachyTvSetupObj +TeachyTvSetupObj: @ 815B014 push {lr} sub sp, 0x4 ldr r1, _0815B054 @ =SpriteCallbackDummy @@ -570,7 +194,7 @@ sub_815B014: @ 815B014 .align 2, 0 _0815B054: .4byte SpriteCallbackDummy _0815B058: .4byte gSprites - thumb_func_end sub_815B014 + thumb_func_end TeachyTvSetupObj thumb_func_start sub_815B05C sub_815B05C: @ 815B05C @@ -673,8 +297,8 @@ _0815B0DE: _0815B114: .4byte 0x0000301f thumb_func_end sub_815B0CC - thumb_func_start sub_815B118 -sub_815B118: @ 815B118 + thumb_func_start TeachyTvConfigRboxAndObj +TeachyTvConfigRboxAndObj: @ 815B118 push {r4-r7,lr} sub sp, 0x4 lsls r0, 24 @@ -761,7 +385,7 @@ _0815B1B8: pop {r4-r7} pop {r0} bx r0 - thumb_func_end sub_815B118 + thumb_func_end TeachyTvConfigRboxAndObj thumb_func_start sub_815B1DC sub_815B1DC: @ 815B1DC @@ -903,7 +527,7 @@ sub_815B2C0: @ 815B2C0 bl ListMenuHandleInput adds r5, r0, 0 ldrb r0, [r6] - ldr r4, _0815B324 @ =gUnknown_203F44A + ldr r4, _0815B324 @ =gTeachyTV_StaticResources+6 adds r2, r4, 0x2 adds r1, r4, 0 bl get_coro_args_x18_x1A @@ -930,7 +554,7 @@ _0815B30A: .align 2, 0 _0815B31C: .4byte gTasks+0x8 _0815B320: .4byte gPaletteFade -_0815B324: .4byte gUnknown_203F44A +_0815B324: .4byte gTeachyTV_StaticResources+6 _0815B328: .4byte gMain _0815B32C: .4byte UseFameCheckerFromMenu _0815B330: @@ -1854,8 +1478,8 @@ _0815BA4E: bx r0 thumb_func_end sub_815BA30 - thumb_func_start sub_815BA54 -sub_815BA54: @ 815BA54 + thumb_func_start TeachyTvTaskFunction +TeachyTvTaskFunction: @ 815BA54 push {r4,lr} lsls r0, 24 lsrs r0, 24 @@ -1891,7 +1515,7 @@ _0815BA90: .4byte gPaletteFade _0815BA94: .4byte gUnknown_8479390 _0815BA98: .4byte gTeachyTV_StaticResources _0815BA9C: .4byte sub_815B4EC - thumb_func_end sub_815BA54 + thumb_func_end TeachyTvTaskFunction thumb_func_start sub_815BAA0 sub_815BAA0: @ 815BAA0 diff --git a/include/fame_checker.h b/include/fame_checker.h index 257431d8b..af705e34f 100644 --- a/include/fame_checker.h +++ b/include/fame_checker.h @@ -41,7 +41,7 @@ extern u8 gIconDescriptionBoxIsOpen; void ResetFameChecker(void); void FullyUnlockFameChecker(void); -void UseFameChecker(MainCallback savedCallback); +void UseFameChecker(void (*)()); void SetFlavorTextFlagFromSpecialVars(void); void UpdatePickStateFromSpecialVar8005(void); diff --git a/include/list_menu.h b/include/list_menu.h index 8ff65da0b..1c632e89c 100644 --- a/include/list_menu.h +++ b/include/list_menu.h @@ -9,8 +9,8 @@ struct ListMenuItem { - const u8 *unk_00; - s32 unk_04; + const u8 *name; + s32 id; }; struct ListMenu; @@ -43,7 +43,7 @@ struct ListMenu { u16 selectedRow; u8 unk_1C; u8 unk_1D; - u8 unk_1E; + u8 taskId; u8 unk_1F; }; diff --git a/include/menu_helpers.h b/include/menu_helpers.h index e27fb4e5d..892636ba0 100644 --- a/include/menu_helpers.h +++ b/include/menu_helpers.h @@ -20,8 +20,8 @@ void sub_8121F68(u8 taskId, const struct YesNoFuncTable *data); bool8 sub_81221AC(void); bool8 sub_80BF72C(void); bool8 sub_80BF708(void); -void sub_80BF768(void); -void sub_80BF7C8(void); +void VblankHblankHandlerSetZero(void); +void InitBgReg(void); u8 sub_80BF8E4(void); u8 sub_80BF848(s16 * a0, u16 a1); void DisplayMessageAndContinueTask(u8 taskId, u8 windowId, u16 arg2, u8 arg3, u8 fontId, u8 textSpeed, const u8 *string, void *taskFunc); diff --git a/ld_script.txt b/ld_script.txt index 4b7fafa2e..698d33a63 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -260,6 +260,7 @@ SECTIONS { src/unk_8159F40.o(.text); src/dodrio_berry_picking_2.o(.text); asm/dodrio_berry_picking_2.o(.text); + src/teachy_tv.o(.text); asm/teachy_tv.o(.text); asm/ereader_helpers.o(.text); src/unk_815C980.o(.text); diff --git a/src/fame_checker.c b/src/fame_checker.c index 795863aca..4b9feb45b 100644 --- a/src/fame_checker.c +++ b/src/fame_checker.c @@ -1341,14 +1341,14 @@ static void FC_DoMoveCursor(s32 itemIndex, bool8 onInit) u16 who; get_coro_args_x18_x1A(sFameCheckerData->listMenuTaskId, &listY, &cursorY); who = listY + cursorY; - AddTextPrinterParametrized2(FCWINDOWID_LIST, 2, 8, 14 * cursorY + 4, 0, 0, &sTextColor_Green, 0, sListMenuItems[itemIndex].unk_00); + AddTextPrinterParametrized2(FCWINDOWID_LIST, 2, 8, 14 * cursorY + 4, 0, 0, &sTextColor_Green, 0, sListMenuItems[itemIndex].name); if (!onInit) { if (listY < sFameCheckerData->listMenuTopIdx2) sFameCheckerData->listMenuDrawnSelIdx++; else if (listY > sFameCheckerData->listMenuTopIdx2 && who != sFameCheckerData->numUnlockedPersons - 1) sFameCheckerData->listMenuDrawnSelIdx--; - AddTextPrinterParametrized2(FCWINDOWID_LIST, 2, 8, 14 * sFameCheckerData->listMenuDrawnSelIdx + 4, 0, 0, &sTextColor_DkGrey, 0, sListMenuItems[sFameCheckerData->listMenuCurIdx].unk_00); + AddTextPrinterParametrized2(FCWINDOWID_LIST, 2, 8, 14 * sFameCheckerData->listMenuDrawnSelIdx + 4, 0, 0, &sTextColor_DkGrey, 0, sListMenuItems[sFameCheckerData->listMenuCurIdx].name); } sFameCheckerData->listMenuCurIdx = itemIndex; @@ -1368,20 +1368,20 @@ static u8 FC_PopulateListMenu(void) { if (sTrainerIdxs[fameCheckerIdx] < FC_NONTRAINER_START) { - sListMenuItems[nitems].unk_00 = gTrainers[sTrainerIdxs[fameCheckerIdx]].trainerName; - sListMenuItems[nitems].unk_04 = nitems; + sListMenuItems[nitems].name = gTrainers[sTrainerIdxs[fameCheckerIdx]].trainerName; + sListMenuItems[nitems].id = nitems; } else { - sListMenuItems[nitems].unk_00 = sNonTrainerNamePointers[sTrainerIdxs[fameCheckerIdx] - FC_NONTRAINER_START]; - sListMenuItems[nitems].unk_04 = nitems; + sListMenuItems[nitems].name = sNonTrainerNamePointers[sTrainerIdxs[fameCheckerIdx] - FC_NONTRAINER_START]; + sListMenuItems[nitems].id = nitems; } sFameCheckerData->unlockedPersons[nitems] = fameCheckerIdx; nitems++; } } - sListMenuItems[nitems].unk_00 = gFameCheckerText_Cancel; - sListMenuItems[nitems].unk_04 = nitems; + sListMenuItems[nitems].name = gFameCheckerText_Cancel; + sListMenuItems[nitems].id = nitems; sFameCheckerData->unlockedPersons[nitems] = 0xFF; nitems++; gFameChecker_ListMenuTemplate.totalItems = nitems; diff --git a/src/mystery_gift_menu.c b/src/mystery_gift_menu.c index 1ec4e6157..e91e97624 100644 --- a/src/mystery_gift_menu.c +++ b/src/mystery_gift_menu.c @@ -703,7 +703,7 @@ u32 MysteryGift_HandleThreeOptionMenu(u8 * unused0, u16 * unused1, u8 whichMenu) width = 0; for (i = 0; i < listMenuTemplate.totalItems; i++) { - u32 curWidth = GetStringWidth(2, listMenuTemplate.items[i].unk_00, listMenuTemplate.lettersSpacing); + u32 curWidth = GetStringWidth(2, listMenuTemplate.items[i].name, listMenuTemplate.lettersSpacing); if (curWidth > width) width = curWidth; } diff --git a/src/teachy_tv.c b/src/teachy_tv.c new file mode 100644 index 000000000..2c34b731b --- /dev/null +++ b/src/teachy_tv.c @@ -0,0 +1,217 @@ +#include "main.h" +#include "global.h" +#include "task.h" +#include "menu.h" +#include "palette.h" +#include "sprite.h" +#include "menu_helpers.h" +#include "sound.h" +#include "malloc.h" +#include "sprite.h" +#include "scanline_effect.h" +#include "bg.h" +#include "gpu_regs.h" +#include "decompress.h" +#include "window.h" +#include "list_menu.h" +#include "item.h" +#include "constants/songs.h" +#include "constants/items.h" + +typedef struct { + void (*callback)(); + u8 mode; + u8 param1; + u16 param2; + u16 param3; + u8 param4; + u8 filler; +} TeachyTv_s; + +extern TeachyTv_s gTeachyTV_StaticResources; +extern void * gUnknown_203F450; +void C2TeachyTv(); +void C2TeachyTvMainCallback(); +void VblankHandlerTeachyTv(); +void sub_815ABC4(u8 mode, void (*cb)()); +void CB2_ReturnToTeachyTV(); +extern void sub_815AC20(); +void TeachyTvCreateAndRenderRbox(); +extern void TeachyTvInitIo(); +extern u8 TeachyTvSetupObj(); +extern void TeachyTvConfigRboxAndObj(u8); +extern u8 sub_815AEE8(); +extern void sub_815AF5C(); +extern void sub_815B094(); +void TeachyTvSetupBg(); +void TeachyTvLoadGraphic(); +extern void TeachyTvTaskFunction(u8); +extern void sub_815B2C0(u8); +extern void VblankHblankHandlerSetZero(); +extern void sub_812B1E0(u16); +extern struct BgTemplate gUnknown_84792E0; +extern void *gUnknown_203F450; // tilemap pointer location +extern u8 gUnknown_8E86240; // tilemap +extern u8 gUnknown_8E86BE8; +extern u8 gUnknown_8E86D6C; +extern u8 gUnknown_8E86F98; // pal +extern struct SpritePalette gUnknown_83A5348; +extern void sub_815BD80(void *); +typedef struct Task Task; +extern struct WindowTemplate gUnknown_84792F0; + + +void C2TeachyTv() +{ + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + do_scheduled_bg_tilemap_copies_to_vram(); + UpdatePaletteFade(); +} + +void VblankHandlerTeachyTv() +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +void sub_815ABC4(u8 mode, void (*cb)()) +{ + // JZW: I'm sorry, but otherwise I can't make it match baserom + TeachyTv_s *v3 = &gTeachyTV_StaticResources; + u16 v4 = 0; + v3->mode = mode; + v3->callback = cb; + if(!mode) { + v3->param2 = v4; + v3->param3 = v4; + v3->param1 = 0; + } + if(mode == 1) + v3->mode = 0; + SetMainCallback2(C2TeachyTvMainCallback); +} + +void CB2_ReturnToTeachyTV() +{ + if(gTeachyTV_StaticResources.mode == 1) + sub_815ABC4(1,gTeachyTV_StaticResources.callback); + else + sub_815ABC4(2,gTeachyTV_StaticResources.callback); +} + +void sub_815AC20() +{ + gTeachyTV_StaticResources.mode = 1; +} + +void C2TeachyTvMainCallback() +{ + int state; + void *mallocPtr; + int taskId; + Task *taskAddr; + u8 **v4; + u32 x; + + state = gMain.state; + if ( state == 0 ) + goto section_0; + else if ( state == 1 ) + goto section_1; + else + return; + section_0: + v4 = (u8 **)&gUnknown_203F450; + (*v4) = (u8*)AllocZeroed(0x4008u); + *(u32*)gUnknown_203F450 = (u32)state; + *((u8*)gUnknown_203F450 + 0x4006) = state; + *((u8*)gUnknown_203F450 + 0x4007) = 0xFF; + VblankHblankHandlerSetZero(); + clear_scheduled_bg_copies_to_vram(); + ScanlineEffect_Stop(); + FreeAllSpritePalettes(); + ResetPaletteFade(); + ResetSpriteData(); + ResetTasks(); + TeachyTvSetupBg(); + TeachyTvLoadGraphic(); + ++gMain.state; + return; + section_1: + if( free_temp_tile_data_buffers_if_possible() == 1 ) + return; + TeachyTvCreateAndRenderRbox(); + TeachyTvInitIo(); + if ( gTeachyTV_StaticResources.mode == 2 ) + { + taskId = CreateTask(TeachyTvTaskFunction, 0); + gTasks[taskId].data[1] = TeachyTvSetupObj(); + TeachyTvConfigRboxAndObj(taskId); + } + else + { + taskId = CreateTask(sub_815B2C0, 0); + x = (u32)sub_815AEE8(); + gTasks[taskId].data[0] = (x << 24) >> 24; + gTasks[taskId].data[1] = TeachyTvSetupObj(); + sub_815AF5C(); + PlayNewMapMusic(BGM_FRLG_TEACHY_TV); + sub_815B094(); + } + schedule_bg_copy_tilemap_to_vram(0); + schedule_bg_copy_tilemap_to_vram(1u); + schedule_bg_copy_tilemap_to_vram(2u); + schedule_bg_copy_tilemap_to_vram(3u); + sub_812B1E0(9); // help system something + BlendPalettes(0xFFFFFFFF, 0x10u, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10u, 0, 0); + SetVBlankCallback(VblankHandlerTeachyTv); + SetMainCallback2(C2TeachyTv); +} + +void TeachyTvSetupBg() +{ + InitBgReg(); + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(0, &gUnknown_84792E0, 4u); + SetBgTilemapBuffer(1u, (u8 *)gUnknown_203F450 + 4); + SetBgTilemapBuffer(2u, (u8 *)gUnknown_203F450 + 0x1004); + SetBgTilemapBuffer(3u, (u8 *)gUnknown_203F450 + 0x2004); + SetGpuReg(0, 0x3040u); + ShowBg(0); + ShowBg(1u); + ShowBg(2u); + ShowBg(3u); + ChangeBgX(3u, 0x1000u, 2u); + ChangeBgY(3u, 0x2800u, 1u); + *((u8 *)gUnknown_203F450 + 0x4004) = 0; + *((u8 *)gUnknown_203F450 + 0x4005) = 3; + SetGpuReg(0x50u, 0); +} + +void TeachyTvLoadGraphic() +{ + u16 src; + src = 0; + reset_temp_tile_data_buffers(); + decompress_and_copy_tile_data_to_vram(1u, &gUnknown_8E86240, 0, 0, 0); + LZDecompressWram((u8 *)&gUnknown_8E86BE8, (*(u8 **)&gUnknown_203F450) + 4); + LZDecompressWram((u8 *)&gUnknown_8E86D6C, (*(u8 **)&gUnknown_203F450) + 0x3004); + LoadCompressedPalette(&gUnknown_8E86F98, 0, 0x80u); + LoadPalette(&src, 0, 2u); + LoadSpritePalette((struct SpritePalette *)&gUnknown_83A5348); + sub_815BD80((u8 *)gUnknown_203F450 + 0x2004); +} + +void TeachyTvCreateAndRenderRbox() +{ + InitWindows(&gUnknown_84792F0); + DeactivateAllTextPrinters(); + FillWindowPixelBuffer(0, 0xCCu); + PutWindowTilemap(0); + PutWindowTilemap(1u); + CopyWindowToVram(0, 2u); +} \ No newline at end of file diff --git a/src/tm_case.c b/src/tm_case.c index 177d3320f..80fa29c5f 100644 --- a/src/tm_case.c +++ b/src/tm_case.c @@ -321,7 +321,7 @@ static bool8 DoSetUpTMCaseUI(void) switch (gMain.state) { case 0: - sub_80BF768(); + VblankHblankHandlerSetZero(); clear_scheduled_bg_copies_to_vram(); gMain.state++; break; @@ -426,7 +426,7 @@ static void ResetBufferPointers_NoFree(void) static void LoadBGTemplates(void) { void ** ptr; - sub_80BF7C8(); + InitBgReg(); ptr = &sTilemapBuffer; *ptr = AllocZeroed(0x800); ResetBgsAndClearDma3BusyFlags(0); @@ -496,11 +496,11 @@ static void InitTMCaseListMenuItems(void) for (i = 0; i < sTMCaseDynamicResources->numTMs; i++) { GetTMNumberAndMoveString(sListMenuStringsBuffer[i], pocket->itemSlots[i].itemId); - sListMenuItemsBuffer[i].unk_00 = sListMenuStringsBuffer[i]; - sListMenuItemsBuffer[i].unk_04 = i; + sListMenuItemsBuffer[i].name = sListMenuStringsBuffer[i]; + sListMenuItemsBuffer[i].id = i; } - sListMenuItemsBuffer[i].unk_00 = gText_Close; - sListMenuItemsBuffer[i].unk_04 = -2; + sListMenuItemsBuffer[i].name = gText_Close; + sListMenuItemsBuffer[i].id = -2; gMultiuseListMenuTemplate.items = sListMenuItemsBuffer; gMultiuseListMenuTemplate.totalItems = sTMCaseDynamicResources->numTMs + 1; gMultiuseListMenuTemplate.windowId = 0; diff --git a/sym_ewram.txt b/sym_ewram.txt index a5151ebc0..609f7ec6c 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -1639,10 +1639,7 @@ gUnknown_203F440: @ 203F440 .space 0x4 gTeachyTV_StaticResources: @ 203F444 - .space 0x6 - -gUnknown_203F44A: @ 203F44A - .space 0x6 + .space 12 gUnknown_203F450: @ 203F450 .space 0x4 -- cgit v1.2.3 From 5bcafd74ec9978e260dc8dc53e57a89964a8c5cc Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 1 Jun 2019 14:18:27 -0400 Subject: fldeff_softboiled --- asm/fldeff_softboiled.s | 366 ------------------------------------------------ data/data_83FECCC.s | 6 +- include/party_menu.h | 24 ++++ ld_script.txt | 2 +- src/fldeff_softboiled.c | 109 ++++++++++++++ 5 files changed, 138 insertions(+), 369 deletions(-) delete mode 100644 asm/fldeff_softboiled.s create mode 100644 src/fldeff_softboiled.c diff --git a/asm/fldeff_softboiled.s b/asm/fldeff_softboiled.s deleted file mode 100644 index 857686ab3..000000000 --- a/asm/fldeff_softboiled.s +++ /dev/null @@ -1,366 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start hm_prepare_dive_probably -hm_prepare_dive_probably: @ 80E5684 - push {r4-r6,lr} - bl GetCursorSelectionMonId - lsls r0, 24 - lsrs r0, 24 - movs r6, 0x64 - muls r0, r6 - ldr r4, _080E56D0 @ =gPlayerParty - adds r0, r4 - movs r1, 0x3A - bl GetMonData - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - bl GetCursorSelectionMonId - lsls r0, 24 - lsrs r0, 24 - muls r0, r6 - adds r0, r4 - movs r1, 0x39 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - movs r1, 0x5 - bl __udivsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r4, r0 - bhi _080E56D4 - movs r0, 0 - b _080E56D6 - .align 2, 0 -_080E56D0: .4byte gPlayerParty -_080E56D4: - movs r0, 0x1 -_080E56D6: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end hm_prepare_dive_probably - - thumb_func_start sub_80E56DC -sub_80E56DC: @ 80E56DC - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _080E5718 @ =gUnknown_203B0A0 - movs r1, 0xA - strb r1, [r0, 0xB] - ldrb r1, [r0, 0x9] - strb r1, [r0, 0xA] - bl GetCursorSelectionMonId - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - bl sub_811F818 - movs r0, 0x5 - bl sub_8121D0C - ldr r1, _080E571C @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080E5720 @ =sub_811FB28 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E5718: .4byte gUnknown_203B0A0 -_080E571C: .4byte gTasks -_080E5720: .4byte sub_811FB28 - thumb_func_end sub_80E56DC - - thumb_func_start sub_80E5724 -sub_80E5724: @ 80E5724 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - str r4, [sp, 0x4] - ldr r1, _080E575C @ =gUnknown_203B0A0 - ldrb r7, [r1, 0x9] - mov r8, r7 - ldrb r0, [r1, 0xA] - adds r5, r0, 0 - cmp r5, 0x6 - bls _080E5768 - movs r0, 0 - strb r0, [r1, 0xB] - bl sub_8121D0C - ldr r1, _080E5760 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080E5764 @ =sub_811FB28 - str r1, [r0] - b _080E57D4 - .align 2, 0 -_080E575C: .4byte gUnknown_203B0A0 -_080E5760: .4byte gTasks -_080E5764: .4byte sub_811FB28 -_080E5768: - movs r0, 0x64 - mov r10, r0 - mov r0, r10 - muls r0, r5 - ldr r1, _080E57A0 @ =gPlayerParty - mov r9, r1 - adds r6, r0, r1 - adds r0, r6, 0 - movs r1, 0x39 - bl GetMonData - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0 - beq _080E5796 - cmp r7, r5 - beq _080E5796 - adds r0, r6, 0 - movs r1, 0x3A - bl GetMonData - cmp r0, r4 - bne _080E57A4 -_080E5796: - ldr r0, [sp, 0x4] - bl sub_80E5934 - b _080E57D4 - .align 2, 0 -_080E57A0: .4byte gPlayerParty -_080E57A4: - movs r0, 0x1 - bl PlaySE - mov r1, r10 - mov r0, r8 - muls r0, r1 - add r0, r9 - movs r1, 0x3A - bl GetMonData - movs r1, 0x5 - bl __udivsi3 - adds r3, r0, 0 - lsls r3, 16 - asrs r3, 16 - movs r2, 0x1 - negs r2, r2 - ldr r0, _080E57E4 @ =sub_80E57E8 - str r0, [sp] - ldr r0, [sp, 0x4] - mov r1, r8 - bl sub_8120760 -_080E57D4: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E57E4: .4byte sub_80E57E8 - thumb_func_end sub_80E5724 - - thumb_func_start sub_80E57E8 -sub_80E57E8: @ 80E57E8 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - bl PlaySE - ldr r5, _080E5830 @ =gUnknown_203B0A0 - movs r1, 0x9 - ldrsb r1, [r5, r1] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080E5834 @ =gPlayerParty - adds r0, r1 - movs r1, 0x3A - bl GetMonData - movs r1, 0x5 - bl __udivsi3 - adds r3, r0, 0 - lsls r3, 16 - asrs r3, 16 - ldrb r1, [r5, 0xA] - ldr r0, _080E5838 @ =sub_80E583C - str r0, [sp] - adds r0, r4, 0 - movs r2, 0x1 - bl sub_8120760 - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E5830: .4byte gUnknown_203B0A0 -_080E5834: .4byte gPlayerParty -_080E5838: .4byte sub_80E583C - thumb_func_end sub_80E57E8 - - thumb_func_start sub_80E583C -sub_80E583C: @ 80E583C - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r0, _080E5884 @ =gUnknown_203B0A0 - movs r1, 0xA - ldrsb r1, [r0, r1] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080E5888 @ =gPlayerParty - adds r0, r1 - ldr r1, _080E588C @ =gStringVar1 - bl GetMonNickname - ldr r4, _080E5890 @ =gStringVar4 - ldr r1, _080E5894 @ =gUnknown_8416F27 - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0 - bl sub_81202F8 - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - ldr r1, _080E5898 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _080E589C @ =sub_80E58A0 - str r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E5884: .4byte gUnknown_203B0A0 -_080E5888: .4byte gPlayerParty -_080E588C: .4byte gStringVar1 -_080E5890: .4byte gStringVar4 -_080E5894: .4byte gUnknown_8416F27 -_080E5898: .4byte gTasks -_080E589C: .4byte sub_80E58A0 - thumb_func_end sub_80E583C - - thumb_func_start sub_80E58A0 -sub_80E58A0: @ 80E58A0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - bl sub_8120370 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080E58EE - ldr r4, _080E58F4 @ =gUnknown_203B0A0 - movs r0, 0 - strb r0, [r4, 0xB] - ldrb r0, [r4, 0x9] - movs r1, 0 - bl sub_811F818 - ldrb r0, [r4, 0xA] - strb r0, [r4, 0x9] - ldrb r0, [r4, 0xA] - movs r1, 0x1 - bl sub_811F818 - movs r0, 0x6 - movs r1, 0 - bl sub_810F4D8 - movs r0, 0x6 - bl ClearWindowTilemap - movs r0, 0 - bl sub_8121D0C - ldr r1, _080E58F8 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _080E58FC @ =sub_811FB28 - str r1, [r0] -_080E58EE: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E58F4: .4byte gUnknown_203B0A0 -_080E58F8: .4byte gTasks -_080E58FC: .4byte sub_811FB28 - thumb_func_end sub_80E58A0 - - thumb_func_start sub_80E5900 -sub_80E5900: @ 80E5900 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_8120370 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080E5926 - movs r0, 0x5 - bl sub_8121D0C - ldr r0, _080E592C @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _080E5930 @ =sub_811FB28 - str r0, [r1] -_080E5926: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E592C: .4byte gTasks -_080E5930: .4byte sub_811FB28 - thumb_func_end sub_80E5900 - - thumb_func_start sub_80E5934 -sub_80E5934: @ 80E5934 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x5 - bl PlaySE - ldr r0, _080E5964 @ =gUnknown_84169F8 - movs r1, 0 - bl sub_81202F8 - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - ldr r1, _080E5968 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080E596C @ =sub_80E5900 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E5964: .4byte gUnknown_84169F8 -_080E5968: .4byte gTasks -_080E596C: .4byte sub_80E5900 - thumb_func_end sub_80E5934 - - .align 2, 0 @ Don't pad with nop. diff --git a/data/data_83FECCC.s b/data/data_83FECCC.s index 839ef6d21..edddda0ab 100644 --- a/data/data_83FECCC.s +++ b/data/data_83FECCC.s @@ -1063,7 +1063,8 @@ gUnknown_84169DC:: @ 84169DC .incbin "baserom.gba", 0x4169DC, 0x1C gUnknown_84169F8:: @ 84169F8 - .incbin "baserom.gba", 0x4169F8, 0x26 + .string "This can't be used on\n" + .string "that POKéMON.{PAUSE_UNTIL_PRESS}$" gUnknown_8416A1E:: @ 8416A1E .incbin "baserom.gba", 0x416A1E, 0x1C @@ -1159,7 +1160,8 @@ gUnknown_8416F10:: @ 8416F10 .incbin "baserom.gba", 0x416F10, 0x17 gUnknown_8416F27:: @ 8416F27 - .incbin "baserom.gba", 0x416F27, 0x27 + .string "{STR_VAR_1}'s HP was restored\n" + .string "by {STR_VAR_2} point(s).{PAUSE_UNTIL_PRESS}$" gUnknown_8416F4E:: @ 8416F4E .incbin "baserom.gba", 0x416F4E, 0x21 diff --git a/include/party_menu.h b/include/party_menu.h index 34b375e42..01cd0ef57 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -13,6 +13,23 @@ enum { AILMENT_BRN }; +struct Struct203B0A0 +{ + MainCallback exitCallback; + TaskFunc unk4; + u8 unk8_0:4; + u8 mode:2; + u8 unk8_2:2; + s8 unk9; + s8 unkA; + u8 unkB; + u16 unkC; + s16 unkE; + s16 unk10; +}; + +extern struct Struct203B0A0 gUnknown_203B0A0; + extern void (*gUnknown_3005E98)(u8 taskId, TaskFunc func); bool8 FieldCallback_PrepareFadeInFromMenu(void); @@ -27,5 +44,12 @@ void sub_8126EDC(void); void c2_8123744(void); u8 GetCursorSelectionMonId(void); void sub_8128370(void); +void sub_811F818(u8 monId, u8 a1); +void sub_8121D0C(u8); +void sub_811FB28(u8 taskId); +void sub_8120760(u8 taskId, u8 a1, s8 a2, s16 amount, TaskFunc followupFunc); +void GetMonNickname(const struct Pokemon * mon, u8 * dest); +void sub_81202F8(const u8 * src, u8 a1); +bool8 sub_8120370(void); #endif // GUARD_PARTY_MENU_H diff --git a/ld_script.txt b/ld_script.txt index a524fc643..ecc924060 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -205,7 +205,7 @@ SECTIONS { asm/fldeff_sweetscent.o(.text); asm/battle_anim_effects_3.o(.text); asm/learn_move.o(.text); - asm/fldeff_softboiled.o(.text); + src/fldeff_softboiled.o(.text); asm/battle_tower.o(.text); asm/battle_controller_oak.o(.text); asm/player_pc.o(.text); diff --git a/src/fldeff_softboiled.c b/src/fldeff_softboiled.c new file mode 100644 index 000000000..deaa36eb5 --- /dev/null +++ b/src/fldeff_softboiled.c @@ -0,0 +1,109 @@ +#include "global.h" +#include "party_menu.h" +#include "sound.h" +#include "string_util.h" +#include "menu.h" +#include "constants/songs.h" + +void sub_80E57E8(u8 taskId); +void sub_80E583C(u8 taskId); +void sub_80E58A0(u8 taskId); +void sub_80E5934(u8 taskId); + +extern const u8 gUnknown_84169F8[]; +extern const u8 gUnknown_8416F27[]; + +bool8 hm_prepare_dive_probably(void) +{ + u16 maxHp = GetMonData(&gPlayerParty[GetCursorSelectionMonId()], MON_DATA_MAX_HP); + u16 curHp = GetMonData(&gPlayerParty[GetCursorSelectionMonId()], MON_DATA_HP); + + if (curHp > maxHp / 5) + return TRUE; + else + return FALSE; +} + +void sub_80E56DC(u8 taskId) +{ + gUnknown_203B0A0.unkB = 10; + gUnknown_203B0A0.unkA = gUnknown_203B0A0.unk9; + sub_811F818(GetCursorSelectionMonId(), 1); + sub_8121D0C(5); + gTasks[taskId].func = sub_811FB28; +} + +void sub_80E5724(u8 taskId) +{ + u8 r8 = gUnknown_203B0A0.unk9; + u8 r5 = gUnknown_203B0A0.unkA; + u16 curHp; + s16 delta; + + if (r5 > 6) + { + gUnknown_203B0A0.unkB = 0; + sub_8121D0C(0); + gTasks[taskId].func = sub_811FB28; + } + else + { + curHp = GetMonData(&gPlayerParty[r5], MON_DATA_HP); + if (curHp == 0 || r8 == r5 || GetMonData(&gPlayerParty[r5], MON_DATA_MAX_HP) == curHp) + { + sub_80E5934(taskId); + } + else + { + PlaySE(SE_KAIFUKU); + sub_8120760(taskId, r8, -1, GetMonData(&gPlayerParty[r8], MON_DATA_MAX_HP) / 5, sub_80E57E8); + } + } +} + +void sub_80E57E8(u8 taskId) +{ + PlaySE(SE_KAIFUKU); + sub_8120760(taskId, gUnknown_203B0A0.unkA, 1, GetMonData(&gPlayerParty[gUnknown_203B0A0.unk9], MON_DATA_MAX_HP) / 5, sub_80E583C); +} + +void sub_80E583C(u8 taskId) +{ + GetMonNickname(&gPlayerParty[gUnknown_203B0A0.unkA], gStringVar1); + StringExpandPlaceholders(gStringVar4, gUnknown_8416F27); + sub_81202F8(gStringVar4, 0); + schedule_bg_copy_tilemap_to_vram(2); + gTasks[taskId].func = sub_80E58A0; +} + +void sub_80E58A0(u8 taskId) +{ + if (sub_8120370() != TRUE) + { + gUnknown_203B0A0.unkB = 0; + sub_811F818(gUnknown_203B0A0.unk9, 0); + gUnknown_203B0A0.unk9 = gUnknown_203B0A0.unkA; + sub_811F818(gUnknown_203B0A0.unkA, 1); + sub_810F4D8(6, 0); + ClearWindowTilemap(6); + sub_8121D0C(0); + gTasks[taskId].func = sub_811FB28; + } +} + +void sub_80E5900(u8 taskId) +{ + if (sub_8120370() != TRUE) + { + sub_8121D0C(5); + gTasks[taskId].func = sub_811FB28; + } +} + +void sub_80E5934(u8 taskId) +{ + PlaySE(SE_SELECT); + sub_81202F8(gUnknown_84169F8, 0); + schedule_bg_copy_tilemap_to_vram(2); + gTasks[taskId].func = sub_80E5900; +} -- cgit v1.2.3 From f7a81f2aa757fedc861d94deb363e1e3c460e5d3 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Sun, 2 Jun 2019 07:01:19 +0800 Subject: sub_815AEE8 --- asm/teachy_tv.s | 64 ++++----------------------------------------------------- src/teachy_tv.c | 39 ++++++++++++++++++++++++++++------- src/vs_seeker.c | 37 +++++++++++++++++---------------- 3 files changed, 55 insertions(+), 85 deletions(-) diff --git a/asm/teachy_tv.s b/asm/teachy_tv.s index 8320d951c..a9dd793ab 100644 --- a/asm/teachy_tv.s +++ b/asm/teachy_tv.s @@ -5,62 +5,6 @@ .text - thumb_func_start sub_815AEE8 -sub_815AEE8: @ 815AEE8 - push {r4,r5,lr} - ldr r4, _0815AF48 @ =gMultiuseListMenuTemplate - adds r1, r4, 0 - ldr r0, _0815AF4C @ =gUnknown_8479368 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - movs r0, 0x1 - strb r0, [r4, 0x10] - ldr r0, _0815AF50 @ =sub_815AFD8 - str r0, [r4, 0x4] - movs r0, 0xB6 - lsls r0, 1 - movs r1, 0x1 - bl CheckBagHasItem - lsls r0, 24 - cmp r0, 0 - bne _0815AF30 - ldr r0, _0815AF54 @ =gUnknown_8479340 - str r0, [r4] - movs r0, 0x5 - strh r0, [r4, 0xC] - strh r0, [r4, 0xE] - ldrb r2, [r4, 0x14] - lsls r1, r2, 28 - lsrs r1, 28 - adds r1, 0x8 - movs r0, 0xF - ands r1, r0 - movs r0, 0x10 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x14] -_0815AF30: - ldr r0, _0815AF58 @ =gTeachyTV_StaticResources - ldrh r1, [r0, 0x6] - ldrh r2, [r0, 0x8] - adds r0, r4, 0 - bl ListMenuInit - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0815AF48: .4byte gMultiuseListMenuTemplate -_0815AF4C: .4byte gUnknown_8479368 -_0815AF50: .4byte sub_815AFD8 -_0815AF54: .4byte gUnknown_8479340 -_0815AF58: .4byte gTeachyTV_StaticResources - thumb_func_end sub_815AEE8 - thumb_func_start sub_815AF5C sub_815AF5C: @ 815AF5C push {lr} @@ -125,8 +69,8 @@ _0815AFD0: .4byte gUnknown_203F450 _0815AFD4: .4byte 0x00004007 thumb_func_end sub_815AFAC - thumb_func_start sub_815AFD8 -sub_815AFD8: @ 815AFD8 + thumb_func_start TeachyTvAudioByInput +TeachyTvAudioByInput: @ 815AFD8 push {lr} lsls r1, 24 lsrs r1, 24 @@ -137,7 +81,7 @@ sub_815AFD8: @ 815AFD8 _0815AFE8: pop {r0} bx r0 - thumb_func_end sub_815AFD8 + thumb_func_end TeachyTvAudioByInput thumb_func_start TeachyTvInitIo TeachyTvInitIo: @ 815AFEC @@ -1365,7 +1309,7 @@ _0815B94C: movs r4, 0 strh r4, [r5, 0x4] strh r4, [r5, 0x6] - bl sub_815AEE8 + bl TeachyTvSetupWindow lsls r0, 24 lsrs r0, 24 strh r0, [r5] diff --git a/src/teachy_tv.c b/src/teachy_tv.c index 2c34b731b..c20e7b419 100644 --- a/src/teachy_tv.c +++ b/src/teachy_tv.c @@ -22,8 +22,8 @@ typedef struct { void (*callback)(); u8 mode; u8 param1; - u16 param2; - u16 param3; + u16 scrollOffset; + u16 selectedRow; u8 param4; u8 filler; } TeachyTv_s; @@ -40,7 +40,7 @@ void TeachyTvCreateAndRenderRbox(); extern void TeachyTvInitIo(); extern u8 TeachyTvSetupObj(); extern void TeachyTvConfigRboxAndObj(u8); -extern u8 sub_815AEE8(); +u8 TeachyTvSetupWindow(); extern void sub_815AF5C(); extern void sub_815B094(); void TeachyTvSetupBg(); @@ -79,14 +79,13 @@ void VblankHandlerTeachyTv() void sub_815ABC4(u8 mode, void (*cb)()) { - // JZW: I'm sorry, but otherwise I can't make it match baserom TeachyTv_s *v3 = &gTeachyTV_StaticResources; u16 v4 = 0; v3->mode = mode; v3->callback = cb; if(!mode) { - v3->param2 = v4; - v3->param3 = v4; + v3->scrollOffset = v4; + v3->selectedRow = v4; v3->param1 = 0; } if(mode == 1) @@ -117,6 +116,7 @@ void C2TeachyTvMainCallback() u32 x; state = gMain.state; + // tried several ways to reproduce the control flow, but all failed. Now using goto if ( state == 0 ) goto section_0; else if ( state == 1 ) @@ -154,7 +154,7 @@ void C2TeachyTvMainCallback() else { taskId = CreateTask(sub_815B2C0, 0); - x = (u32)sub_815AEE8(); + x = (u32)TeachyTvSetupWindow(); gTasks[taskId].data[0] = (x << 24) >> 24; gTasks[taskId].data[1] = TeachyTvSetupObj(); sub_815AF5C(); @@ -214,4 +214,29 @@ void TeachyTvCreateAndRenderRbox() PutWindowTilemap(0); PutWindowTilemap(1u); CopyWindowToVram(0, 2u); +} + +extern struct ListMenuTemplate gUnknown_8479368; +extern struct ListMenuItem gUnknown_8479340; +extern u8 ListMenuInitInternal(struct ListMenuTemplate *, u16 scrollOffset, u16 selectedRow); +extern void TeachyTvAudioByInput(s32, bool8, struct ListMenu *); + +u8 TeachyTvSetupWindow() +{ + int hasItem; + gMultiuseListMenuTemplate = gUnknown_8479368; + gMultiuseListMenuTemplate.windowId = 1; + gMultiuseListMenuTemplate.moveCursorFunc = TeachyTvAudioByInput; + hasItem = (u8)CheckBagHasItem(ITEM_TM_CASE, 1u); + if ( !(v0 << 24) ) + { + gMultiuseListMenuTemplate.items = &gUnknown_8479340; + gMultiuseListMenuTemplate.totalItems = 5; + gMultiuseListMenuTemplate.maxShowed = 5; + gMultiuseListMenuTemplate.upText_Y = (gMultiuseListMenuTemplate.upText_Y + 8) & 0xF; + } + return ListMenuInit( + &gMultiuseListMenuTemplate, + gTeachyTV_StaticResources.scrollOffset, + gTeachyTV_StaticResources.selectedRow); } \ No newline at end of file diff --git a/src/vs_seeker.c b/src/vs_seeker.c index bd5b9c7ea..bd19d96ff 100644 --- a/src/vs_seeker.c +++ b/src/vs_seeker.c @@ -24,6 +24,8 @@ #include "unk_810c3a4.h" #include "constants/movement_commands.h" #include "vs_seeker.h" +#include "item.h" +#include "constants/items.h" typedef enum { @@ -635,6 +637,7 @@ void sub_810C444(void) #ifdef NONMATCHING bool8 sub_810C4EC(void) { + s8 mask; if (CheckBagHasItem(ITEM_VS_SEEKER, 1) == TRUE) { if ((gSaveBlock1Ptr->trainerRematchStepCounter & 0xFF) < 100) @@ -643,25 +646,23 @@ bool8 sub_810C4EC(void) if (FlagGet(0x801) == TRUE) { - u16 x; - do { - x = (gSaveBlock1Ptr->trainerRematchStepCounter >> 8) & 0xFF; - } while (0); - if (x < 100) - { - x++; - gSaveBlock1Ptr->trainerRematchStepCounter = ((u16)(x << 8)) | (gSaveBlock1Ptr->trainerRematchStepCounter & 0xFF); - } - do { - x = (gSaveBlock1Ptr->trainerRematchStepCounter >> 8) & 0xFF; - } while (0); - if (x == 100) - { - FlagClear(0x801); - sub_810C640(); - sub_810D0D0(); - return TRUE; + register u8 x,y; + x = gSaveBlock1Ptr->trainerRematchStepCounter >> 8; + if (x > 99) { + mask = -1; + goto section_1; } + y = ((u8)x + 1); + gSaveBlock1Ptr->trainerRematchStepCounter = (((gSaveBlock1Ptr->trainerRematchStepCounter) & (u8)0xFFFFFFFF) | (y << 8)); + section_1: + x = (gSaveBlock1Ptr->trainerRematchStepCounter >> 8) & mask; + if (x == 100) + { + FlagClear(0x801); + sub_810C640(); + sub_810D0D0(); + return TRUE; + } } return FALSE; -- cgit v1.2.3 From 0a13397b8586bb4147d9e35c80a3c5aebff41d5b Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Sun, 2 Jun 2019 15:25:04 +0800 Subject: some more functions --- asm/field_map_obj.s | 6 +- asm/naming_screen.s | 2 +- asm/overworld.s | 2 +- asm/shop.s | 2 +- asm/teachy_tv.s | 213 ++-------------------------------------------- include/field_map_obj.h | 2 +- include/menu_indicators.h | 4 +- src/fame_checker.c | 2 +- src/mevent_8145654.c | 4 +- src/teachy_tv.c | 98 ++++++++++++++++++--- 10 files changed, 108 insertions(+), 227 deletions(-) diff --git a/asm/field_map_obj.s b/asm/field_map_obj.s index 145521094..ec60cc8c9 100644 --- a/asm/field_map_obj.s +++ b/asm/field_map_obj.s @@ -1550,8 +1550,8 @@ MakeObjectTemplateFromFieldObjectTemplate: @ 805E960 bx r0 thumb_func_end MakeObjectTemplateFromFieldObjectTemplate - thumb_func_start AddPseudoFieldObject -AddPseudoFieldObject: @ 805E978 + thumb_func_start AddPseudoEventObject +AddPseudoEventObject: @ 805E978 push {r4-r6,lr} sub sp, 0x1C ldr r4, [sp, 0x2C] @@ -1612,7 +1612,7 @@ _0805E9E4: .align 2, 0 _0805E9F0: .4byte 0x0000ffff _0805E9F4: .4byte gSprites - thumb_func_end AddPseudoFieldObject + thumb_func_end AddPseudoEventObject thumb_func_start sprite_new sprite_new: @ 805E9F8 diff --git a/asm/naming_screen.s b/asm/naming_screen.s index 01217d92f..f91b0f2b5 100644 --- a/asm/naming_screen.s +++ b/asm/naming_screen.s @@ -2789,7 +2789,7 @@ sub_809EF54: @ 809EF54 str r2, [sp] movs r2, 0x38 movs r3, 0x25 - bl AddPseudoFieldObject + bl AddPseudoEventObject adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 diff --git a/asm/overworld.s b/asm/overworld.s index 103ed2c46..87f146d39 100644 --- a/asm/overworld.s +++ b/asm/overworld.s @@ -7888,7 +7888,7 @@ _080588C6: movs r2, 0 str r2, [sp] movs r3, 0 - bl AddPseudoFieldObject + bl AddPseudoEventObject strb r0, [r4, 0x4] ldrb r1, [r4, 0x4] lsls r0, r1, 4 diff --git a/asm/shop.s b/asm/shop.s index 0cbaf1206..2dfc294a3 100644 --- a/asm/shop.s +++ b/asm/shop.s @@ -2017,7 +2017,7 @@ _0809BA56: str r0, [sp] adds r0, r4, 0 ldr r1, _0809BAF4 @ =SpriteCallbackDummy - bl AddPseudoFieldObject + bl AddPseudoEventObject lsls r0, 24 lsrs r0, 24 lsls r2, r0, 4 diff --git a/asm/teachy_tv.s b/asm/teachy_tv.s index a9dd793ab..cd74baad3 100644 --- a/asm/teachy_tv.s +++ b/asm/teachy_tv.s @@ -5,201 +5,6 @@ .text - thumb_func_start sub_815AF5C -sub_815AF5C: @ 815AF5C - push {lr} - movs r0, 0xB6 - lsls r0, 1 - movs r1, 0x1 - bl CheckBagHasItem - lsls r0, 24 - cmp r0, 0 - bne _0815AF84 - ldr r0, _0815AF7C @ =gUnknown_203F450 - ldr r0, [r0] - ldr r1, _0815AF80 @ =0x00004007 - adds r0, r1 - movs r1, 0xFF - strb r1, [r0] - b _0815AF96 - .align 2, 0 -_0815AF7C: .4byte gUnknown_203F450 -_0815AF80: .4byte 0x00004007 -_0815AF84: - ldr r0, _0815AF9C @ =gUnknown_8479380 - ldr r1, _0815AFA0 @ =gTeachyTV_StaticResources+6 - bl AddScrollIndicatorArrowPair - ldr r1, _0815AFA4 @ =gUnknown_203F450 - ldr r1, [r1] - ldr r2, _0815AFA8 @ =0x00004007 - adds r1, r2 - strb r0, [r1] -_0815AF96: - pop {r0} - bx r0 - .align 2, 0 -_0815AF9C: .4byte gUnknown_8479380 -_0815AFA0: .4byte gTeachyTV_StaticResources+6 -_0815AFA4: .4byte gUnknown_203F450 -_0815AFA8: .4byte 0x00004007 - thumb_func_end sub_815AF5C - - thumb_func_start sub_815AFAC -sub_815AFAC: @ 815AFAC - push {r4,lr} - ldr r4, _0815AFD0 @ =gUnknown_203F450 - ldr r0, [r4] - ldr r2, _0815AFD4 @ =0x00004007 - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, 0xFF - beq _0815AFCA - bl RemoveScrollIndicatorArrowPair - ldr r0, [r4] - ldr r1, _0815AFD4 @ =0x00004007 - adds r0, r1 - movs r1, 0xFF - strb r1, [r0] -_0815AFCA: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0815AFD0: .4byte gUnknown_203F450 -_0815AFD4: .4byte 0x00004007 - thumb_func_end sub_815AFAC - - thumb_func_start TeachyTvAudioByInput -TeachyTvAudioByInput: @ 815AFD8 - push {lr} - lsls r1, 24 - lsrs r1, 24 - cmp r1, 0x1 - beq _0815AFE8 - movs r0, 0x5 - bl PlaySE -_0815AFE8: - pop {r0} - bx r0 - thumb_func_end TeachyTvAudioByInput - - thumb_func_start TeachyTvInitIo -TeachyTvInitIo: @ 815AFEC - push {lr} - movs r0, 0x48 - movs r1, 0x3F - bl SetGpuReg - movs r0, 0x4A - movs r1, 0x1F - bl SetGpuReg - movs r0, 0x50 - movs r1, 0xCC - bl SetGpuReg - movs r0, 0x54 - movs r1, 0x5 - bl SetGpuReg - pop {r0} - bx r0 - thumb_func_end TeachyTvInitIo - - thumb_func_start TeachyTvSetupObj -TeachyTvSetupObj: @ 815B014 - push {lr} - sub sp, 0x4 - ldr r1, _0815B054 @ =SpriteCallbackDummy - movs r0, 0x8 - str r0, [sp] - movs r0, 0x5A - movs r2, 0 - movs r3, 0 - bl AddPseudoFieldObject - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0815B058 @ =gSprites - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r1 - ldrb r3, [r2, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r3 - movs r3, 0x8 - orrs r1, r3 - strb r1, [r2, 0x5] - adds r2, 0x3E - ldrb r1, [r2] - movs r3, 0x4 - orrs r1, r3 - strb r1, [r2] - add sp, 0x4 - pop {r1} - bx r1 - .align 2, 0 -_0815B054: .4byte SpriteCallbackDummy -_0815B058: .4byte gSprites - thumb_func_end TeachyTvSetupObj - - thumb_func_start sub_815B05C -sub_815B05C: @ 815B05C - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r3, 24 - lsrs r3, 24 - ldr r5, _0815B090 @ =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r0, r5 - strh r1, [r0, 0x24] - strh r2, [r0, 0x26] - adds r4, r0, 0 - adds r4, 0x3E - ldrb r2, [r4] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r4] - adds r1, r3, 0 - bl StartSpriteAnim - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0815B090: .4byte gSprites - thumb_func_end sub_815B05C - - thumb_func_start sub_815B094 -sub_815B094: @ 815B094 - push {lr} - ldr r1, _0815B0AC @ =0x00000c64 - movs r0, 0x44 - bl SetGpuReg - ldr r1, _0815B0B0 @ =0x00001cd4 - movs r0, 0x40 - bl SetGpuReg - pop {r0} - bx r0 - .align 2, 0 -_0815B0AC: .4byte 0x00000c64 -_0815B0B0: .4byte 0x00001cd4 - thumb_func_end sub_815B094 - - thumb_func_start sub_815B0B4 -sub_815B0B4: @ 815B0B4 - push {lr} - movs r0, 0x44 - movs r1, 0 - bl SetGpuReg - movs r0, 0x40 - movs r1, 0 - bl SetGpuReg - pop {r0} - bx r0 - thumb_func_end sub_815B0B4 - thumb_func_start sub_815B0CC sub_815B0CC: @ 815B0CC push {r4-r7,lr} @@ -261,7 +66,7 @@ TeachyTvConfigRboxAndObj: @ 815B118 adds r7, r0, r1 movs r0, 0x1 bl ClearWindowTilemap - bl sub_815B0B4 + bl TeachyTvClearWindowRegs ldr r0, _0815B198 @ =gTeachyTV_StaticResources ldrb r0, [r0, 0x5] cmp r0, 0 @@ -272,7 +77,7 @@ TeachyTvConfigRboxAndObj: @ 815B118 movs r1, 0x78 movs r2, 0x38 movs r3, 0 - bl sub_815B05C + bl TeachyTvSetSpriteCoordsAndSwitchFrame movs r4, 0xC0 lsls r4, 6 movs r0, 0x3 @@ -311,7 +116,7 @@ _0815B1A8: movs r1, 0x78 movs r2, 0x38 movs r3, 0 - bl sub_815B05C + bl TeachyTvSetSpriteCoordsAndSwitchFrame _0815B1B8: movs r0, 0 strh r0, [r5, 0x8] @@ -517,12 +322,12 @@ _0815B33E: adds r1, r2, 0x6 adds r2, 0x8 bl DestroyListMenu - bl sub_815B0B4 + bl TeachyTvClearWindowRegs movs r0, 0x1 bl ClearWindowTilemap movs r0, 0 bl schedule_bg_copy_tilemap_to_vram - bl sub_815AFAC + bl TeachyTvRemoveScrollIndicatorArrowPair strh r4, [r6, 0x6] strh r4, [r6, 0x4] ldr r1, _0815B384 @ =gTasks @@ -578,7 +383,7 @@ sub_815B38C: @ 815B38C movs r1, 0x8 movs r2, 0x38 movs r3, 0x7 - bl sub_815B05C + bl TeachyTvSetSpriteCoordsAndSwitchFrame movs r0, 0x2 bl schedule_bg_copy_tilemap_to_vram movs r0, 0 @@ -752,7 +557,7 @@ sub_815B4EC: @ 815B4EC movs r1, 0 movs r2, 0 movs r3, 0 - bl sub_815B05C + bl TeachyTvSetSpriteCoordsAndSwitchFrame movs r0, 0 movs r1, 0xCC bl FillWindowPixelBuffer @@ -1320,8 +1125,8 @@ _0815B94C: str r1, [r0] movs r0, 0 bl PutWindowTilemap - bl sub_815AF5C - bl sub_815B094 + bl TeachyTvSetupScrollIndicatorArrowPair + bl TeachyTvSetWindowRegs movs r0, 0 bl schedule_bg_copy_tilemap_to_vram movs r0, 0x3 diff --git a/include/field_map_obj.h b/include/field_map_obj.h index 69e3419de..590b54ce3 100644 --- a/include/field_map_obj.h +++ b/include/field_map_obj.h @@ -46,7 +46,7 @@ void FieldObjectClearAnim(struct MapObject *); void FieldObjectClearAnimIfSpecialAnimActive(struct MapObject *); void SpawnFieldObjectsInView(s16, s16); u8 sprite_new(u8, u8, s16, s16, u8, u8); -u8 AddPseudoFieldObject(u16, void (*)(struct Sprite *), s16, s16, u8); +u8 AddPseudoEventObject(u16, void (*)(struct Sprite *), s16, s16, u8); u8 show_sprite(u8, u8, u8); u8 SpawnSpecialFieldObjectParametrized(u8, u8, u8, s16, s16, u8); u8 SpawnSpecialFieldObject(struct MapObjectTemplate *); diff --git a/include/menu_indicators.h b/include/menu_indicators.h index f195ceb6d..f65e3f2ac 100644 --- a/include/menu_indicators.h +++ b/include/menu_indicators.h @@ -7,7 +7,7 @@ // Exported RAM declarations -struct ScrollIndicatorArrowPairTemplate +struct ScrollArrowsTemplate { u8 unk_00; u8 unk_01; @@ -25,7 +25,7 @@ struct ScrollIndicatorArrowPairTemplate // Exported ROM declarations u8 AddScrollIndicatorArrowPairParametrized(u8, u8, u8, u8, s32, u16, u16, u16 *); -u8 AddScrollIndicatorArrowPair(const struct ScrollIndicatorArrowPairTemplate * template, u16 * a1); +u8 AddScrollIndicatorArrowPair(const struct ScrollArrowsTemplate * template, u16 * a1); void RemoveScrollIndicatorArrowPair(u8); #endif //GUARD_MENU_INDICATORS_H diff --git a/src/fame_checker.c b/src/fame_checker.c index 4b9feb45b..aff9733e9 100644 --- a/src/fame_checker.c +++ b/src/fame_checker.c @@ -1400,7 +1400,7 @@ static void FC_PutWindowTilemapAndCopyWindowToVramMode3_2(u8 windowId) static void FC_CreateScrollIndicatorArrowPair(void) { - struct ScrollIndicatorArrowPairTemplate template = { + struct ScrollArrowsTemplate template = { 2, 40, 26, diff --git a/src/mevent_8145654.c b/src/mevent_8145654.c index af3024bff..00936f9f1 100644 --- a/src/mevent_8145654.c +++ b/src/mevent_8145654.c @@ -460,7 +460,7 @@ struct UnkStruct_203F3CC /*01cc*/ u8 filler_01CC[2]; /*01ce*/ u8 unk_01CE[41]; /*01f7*/ u8 unk_01F7[10][41]; - /*0394*/ struct ScrollIndicatorArrowPairTemplate unk_0394; + /*0394*/ struct ScrollArrowsTemplate unk_0394; /*03a4*/ u8 buffer_03A4[0x1000]; }; @@ -478,7 +478,7 @@ const struct WindowTemplate gUnknown_8468040[] = { {0, 1, 0, 28, 3, 15, 0x000}, {2, 1, 3, 28, 20, 15, 0x000} }; -const struct ScrollIndicatorArrowPairTemplate gUnknown_8468050 = { +const struct ScrollArrowsTemplate gUnknown_8468050 = { 0x02, 0xe8, 0x18, 0x03, 0xe8, 0x98, 0x0000, 0x0002, 0x1000, 0x1000, 0x0, 0x000 }; diff --git a/src/teachy_tv.c b/src/teachy_tv.c index c20e7b419..c62b6d6f1 100644 --- a/src/teachy_tv.c +++ b/src/teachy_tv.c @@ -15,6 +15,8 @@ #include "window.h" #include "list_menu.h" #include "item.h" +#include "menu_indicators.h" +#include "field_map_obj.h" #include "constants/songs.h" #include "constants/items.h" @@ -37,12 +39,12 @@ void sub_815ABC4(u8 mode, void (*cb)()); void CB2_ReturnToTeachyTV(); extern void sub_815AC20(); void TeachyTvCreateAndRenderRbox(); -extern void TeachyTvInitIo(); -extern u8 TeachyTvSetupObj(); +void TeachyTvInitIo(); +u8 TeachyTvSetupObjEventAndOam(); extern void TeachyTvConfigRboxAndObj(u8); u8 TeachyTvSetupWindow(); -extern void sub_815AF5C(); -extern void sub_815B094(); +void TeachyTvSetupScrollIndicatorArrowPair(); +void TeachyTvSetWindowRegs(); void TeachyTvSetupBg(); void TeachyTvLoadGraphic(); extern void TeachyTvTaskFunction(u8); @@ -148,7 +150,7 @@ void C2TeachyTvMainCallback() if ( gTeachyTV_StaticResources.mode == 2 ) { taskId = CreateTask(TeachyTvTaskFunction, 0); - gTasks[taskId].data[1] = TeachyTvSetupObj(); + gTasks[taskId].data[1] = TeachyTvSetupObjEventAndOam(); TeachyTvConfigRboxAndObj(taskId); } else @@ -156,10 +158,10 @@ void C2TeachyTvMainCallback() taskId = CreateTask(sub_815B2C0, 0); x = (u32)TeachyTvSetupWindow(); gTasks[taskId].data[0] = (x << 24) >> 24; - gTasks[taskId].data[1] = TeachyTvSetupObj(); - sub_815AF5C(); + gTasks[taskId].data[1] = TeachyTvSetupObjEventAndOam(); + TeachyTvSetupScrollIndicatorArrowPair(); PlayNewMapMusic(BGM_FRLG_TEACHY_TV); - sub_815B094(); + TeachyTvSetWindowRegs(); } schedule_bg_copy_tilemap_to_vram(0); schedule_bg_copy_tilemap_to_vram(1u); @@ -219,7 +221,7 @@ void TeachyTvCreateAndRenderRbox() extern struct ListMenuTemplate gUnknown_8479368; extern struct ListMenuItem gUnknown_8479340; extern u8 ListMenuInitInternal(struct ListMenuTemplate *, u16 scrollOffset, u16 selectedRow); -extern void TeachyTvAudioByInput(s32, bool8, struct ListMenu *); +void TeachyTvAudioByInput(s32, bool8, struct ListMenu *); u8 TeachyTvSetupWindow() { @@ -228,7 +230,7 @@ u8 TeachyTvSetupWindow() gMultiuseListMenuTemplate.windowId = 1; gMultiuseListMenuTemplate.moveCursorFunc = TeachyTvAudioByInput; hasItem = (u8)CheckBagHasItem(ITEM_TM_CASE, 1u); - if ( !(v0 << 24) ) + if ( !(hasItem << 24) ) { gMultiuseListMenuTemplate.items = &gUnknown_8479340; gMultiuseListMenuTemplate.totalItems = 5; @@ -239,4 +241,78 @@ u8 TeachyTvSetupWindow() &gMultiuseListMenuTemplate, gTeachyTV_StaticResources.scrollOffset, gTeachyTV_StaticResources.selectedRow); -} \ No newline at end of file +} + +extern const struct ScrollArrowsTemplate gUnknown_8479380; + +void TeachyTvSetupScrollIndicatorArrowPair() +{ + int hasItem; + hasItem = (u8)CheckBagHasItem(ITEM_TM_CASE, 1u); + if ( ! hasItem << 24 ) { + u8 * temp = (u8 *)gUnknown_203F450; + *((u8 *)temp + 0x4007) = 0xFF; + } + + else { + u8 *temp, res; + res = AddScrollIndicatorArrowPair( + &gUnknown_8479380, + &(gTeachyTV_StaticResources.scrollOffset)); + temp = (u8 *)gUnknown_203F450; + *((u8 *)temp + 0x4007) = res; + } +} + +void TeachyTvRemoveScrollIndicatorArrowPair() +{ + u8 *temp = ((u8*)gUnknown_203F450 + 0x4007); + if ( *temp != 0xFF ) + { + RemoveScrollIndicatorArrowPair(*temp); + *((u8*)gUnknown_203F450 + 0x4007) = 0xFF; + } +} + +void TeachyTvAudioByInput(s32 notUsed, bool8 play, struct ListMenu *notUsedAlt) +{ + if ( play != 1 ) + PlaySE(SE_SELECT); +} + +void TeachyTvInitIo() +{ + SetGpuReg(0x48u, 0x3Fu); + SetGpuReg(0x4Au, 0x1Fu); + SetGpuReg(0x50u, 0xCCu); + SetGpuReg(0x54u, 5u); +} + +u8 TeachyTvSetupObjEventAndOam() +{ + u8 temp = AddPseudoEventObject(90, SpriteCallbackDummy, 0, 0, 8); + gSprites[temp].oam.priority = 2; + gSprites[temp].invisible = 1; + return temp; +} + +void TeachyTvSetSpriteCoordsAndSwitchFrame(u8 objId, u16 x, u16 y, u8 frame) +{ + gSprites[objId].pos2.x = x; + gSprites[objId].pos2.y = y; + gSprites[objId].invisible = 0; + StartSpriteAnim(&gSprites[objId], frame); +} + +void TeachyTvSetWindowRegs() +{ + SetGpuReg(0x44u, 0xC64u); + SetGpuReg(0x40u, 0x1CD4u); +} + +void TeachyTvClearWindowRegs() +{ + SetGpuReg(0x44u, 0); + SetGpuReg(0x40u, 0); +} + -- cgit v1.2.3 From 49a1de36d38b41b0f3f7c443acc636281314b749 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Mon, 3 Jun 2019 03:19:15 +0800 Subject: sub_815B0CC and rollback of failed attempt to make it compilable --- asm/item_menu.s | 8 ++++---- asm/party_menu.s | 4 ++-- asm/teachy_tv.s | 55 +++++++---------------------------------------------- include/teachy_tv.h | 2 +- src/teachy_tv.c | 36 +++++++++++++++++++++++++++++++---- src/tm_case.c | 2 +- src/vs_seeker.c | 37 ++++++++++++++++++----------------- 7 files changed, 65 insertions(+), 79 deletions(-) diff --git a/asm/item_menu.s b/asm/item_menu.s index 3a665b61e..c81730a55 100644 --- a/asm/item_menu.s +++ b/asm/item_menu.s @@ -6342,11 +6342,11 @@ sub_810B108: @ 810B108 beq _0810B160 cmp r4, 0x8 beq _0810B16C - ldr r2, _0810B15C @ =CB2_ReturnToTeachyTV + ldr r2, _0810B15C @ =sub_815ABFC adds r0, r4, 0 b _0810B170 .align 2, 0 -_0810B15C: .4byte CB2_ReturnToTeachyTV +_0810B15C: .4byte sub_815ABFC _0810B160: ldr r2, _0810B168 @ =sub_8030AEC movs r0, 0x7 @@ -6386,7 +6386,7 @@ _0810B19C: bl sub_815AC20 ldr r0, _0810B1C4 @ =gUnknown_203AD10 ldr r1, [r0] - ldr r0, _0810B1C8 @ =CB2_ReturnToTeachyTV + ldr r0, _0810B1C8 @ =sub_815ABFC str r0, [r1] ldr r1, _0810B1CC @ =gTasks lsls r0, r4, 2 @@ -6402,7 +6402,7 @@ _0810B1BC: bx r1 .align 2, 0 _0810B1C4: .4byte gUnknown_203AD10 -_0810B1C8: .4byte CB2_ReturnToTeachyTV +_0810B1C8: .4byte sub_815ABFC _0810B1CC: .4byte gTasks _0810B1D0: .4byte sub_810B070 thumb_func_end sub_810B180 diff --git a/asm/party_menu.s b/asm/party_menu.s index 13ca24a2f..eab7c9455 100644 --- a/asm/party_menu.s +++ b/asm/party_menu.s @@ -4879,12 +4879,12 @@ sub_8120FB0: @ 8120FB0 bl FreeRestoreBattleData bl LoadPlayerParty bl sub_815AC20 - ldr r0, _08120FC8 @ =CB2_ReturnToTeachyTV + ldr r0, _08120FC8 @ =sub_815ABFC bl SetMainCallback2 pop {r0} bx r0 .align 2, 0 -_08120FC8: .4byte CB2_ReturnToTeachyTV +_08120FC8: .4byte sub_815ABFC thumb_func_end sub_8120FB0 thumb_func_start sub_8120FCC diff --git a/asm/teachy_tv.s b/asm/teachy_tv.s index cd74baad3..46824b53b 100644 --- a/asm/teachy_tv.s +++ b/asm/teachy_tv.s @@ -5,49 +5,8 @@ .text - thumb_func_start sub_815B0CC -sub_815B0CC: @ 815B0CC - push {r4-r7,lr} - movs r0, 0x2 - bl GetBgTilemapBuffer - adds r7, r0, 0 - movs r0, 0x1 -_0815B0D8: - movs r4, 0x2 - lsls r5, r0, 5 - adds r6, r0, 0x1 -_0815B0DE: - bl Random - adds r2, r5, r4 - lsls r2, 1 - adds r2, r7 - movs r1, 0x3 - ands r1, r0 - lsls r1, 10 - ldr r3, _0815B114 @ =0x0000301f - adds r0, r3, 0 - adds r1, r0 - strh r1, [r2] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1B - bls _0815B0DE - lsls r0, r6, 24 - lsrs r0, 24 - cmp r0, 0xC - bls _0815B0D8 - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0815B114: .4byte 0x0000301f - thumb_func_end sub_815B0CC - - thumb_func_start TeachyTvConfigRboxAndObj -TeachyTvConfigRboxAndObj: @ 815B118 + thumb_func_start TeachyTvSetupPostBattleWindowAndObj +TeachyTvSetupPostBattleWindowAndObj: @ 815B118 push {r4-r7,lr} sub sp, 0x4 lsls r0, 24 @@ -134,7 +93,7 @@ _0815B1B8: pop {r4-r7} pop {r0} bx r0 - thumb_func_end TeachyTvConfigRboxAndObj + thumb_func_end TeachyTvSetupPostBattleWindowAndObj thumb_func_start sub_815B1DC sub_815B1DC: @ 815B1DC @@ -265,7 +224,7 @@ sub_815B2C0: @ 815B2C0 lsls r0, 3 ldr r1, _0815B31C @ =gTasks+0x8 adds r6, r0, r1 - bl sub_815B0CC + bl TeachyTvBg2AnimController ldr r0, _0815B320 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 @@ -358,7 +317,7 @@ sub_815B38C: @ 815B38C lsls r1, 3 ldr r0, _0815B3F8 @ =gTasks+0x8 adds r4, r1, r0 - bl sub_815B0CC + bl TeachyTvBg2AnimController ldrh r0, [r4, 0x4] adds r0, 0x1 strh r0, [r4, 0x4] @@ -1103,7 +1062,7 @@ sub_815B92C: @ 815B92C lsls r0, 1 bl PlayNewMapMusic _0815B94C: - bl sub_815B0CC + bl TeachyTvBg2AnimController ldrh r0, [r5, 0x4] adds r0, 0x1 strh r0, [r5, 0x4] @@ -1630,7 +1589,7 @@ _0815BD70: lsls r0, 1 bl PlayNewMapMusic _0815BD78: - bl CB2_ReturnToTeachyTV + bl sub_815ABFC pop {r0} bx r0 thumb_func_end sub_815BD58 diff --git a/include/teachy_tv.h b/include/teachy_tv.h index 374780c04..382ad117d 100644 --- a/include/teachy_tv.h +++ b/include/teachy_tv.h @@ -1,7 +1,7 @@ #ifndef GUARD_TEACHY_TV_H #define GUARD_TEACHY_TV_H -void CB2_ReturnToTeachyTV(void); +void sub_815ABFC(void); void sub_815AC20(void); #endif //GUARD_TEACHY_TV_H diff --git a/src/teachy_tv.c b/src/teachy_tv.c index c62b6d6f1..60b182575 100644 --- a/src/teachy_tv.c +++ b/src/teachy_tv.c @@ -17,6 +17,7 @@ #include "item.h" #include "menu_indicators.h" #include "field_map_obj.h" +#include "random.h" #include "constants/songs.h" #include "constants/items.h" @@ -36,12 +37,12 @@ void C2TeachyTv(); void C2TeachyTvMainCallback(); void VblankHandlerTeachyTv(); void sub_815ABC4(u8 mode, void (*cb)()); -void CB2_ReturnToTeachyTV(); +void sub_815ABFC(); extern void sub_815AC20(); void TeachyTvCreateAndRenderRbox(); void TeachyTvInitIo(); u8 TeachyTvSetupObjEventAndOam(); -extern void TeachyTvConfigRboxAndObj(u8); +extern void TeachyTvSetupPostBattleWindowAndObj(u8); u8 TeachyTvSetupWindow(); void TeachyTvSetupScrollIndicatorArrowPair(); void TeachyTvSetWindowRegs(); @@ -95,7 +96,7 @@ void sub_815ABC4(u8 mode, void (*cb)()) SetMainCallback2(C2TeachyTvMainCallback); } -void CB2_ReturnToTeachyTV() +void sub_815ABFC() { if(gTeachyTV_StaticResources.mode == 1) sub_815ABC4(1,gTeachyTV_StaticResources.callback); @@ -151,7 +152,7 @@ void C2TeachyTvMainCallback() { taskId = CreateTask(TeachyTvTaskFunction, 0); gTasks[taskId].data[1] = TeachyTvSetupObjEventAndOam(); - TeachyTvConfigRboxAndObj(taskId); + TeachyTvSetupPostBattleWindowAndObj(taskId); } else { @@ -316,3 +317,30 @@ void TeachyTvClearWindowRegs() SetGpuReg(0x40u, 0); } +void TeachyTvBg2AnimController() +{ + u16 *tilemapBuffer; + u8 counter; + u32 offset2; + u32 offset; + u32 counter2; + + tilemapBuffer = (u16 *)GetBgTilemapBuffer(2u); + counter = 1; + do + { + offset2 = 2; + offset = 0x20 * counter; + counter2 = counter + 1; + do + { + tilemapBuffer[offset + offset2] = ((Random() & 3) << 10) + 0x301F; + offset2 = (offset2 + 1) << 0x18 >> 0x18; + } + while ( offset2 <= 0x1B ); + counter = counter2; + } + while ( counter2 << 0x18 >> 0x18 <= 0xCu ); + schedule_bg_copy_tilemap_to_vram(2u); +} + diff --git a/src/tm_case.c b/src/tm_case.c index 80fa29c5f..ce31e79c3 100644 --- a/src/tm_case.c +++ b/src/tm_case.c @@ -1147,7 +1147,7 @@ void PokeDude_InitTMCase(void) AddBagItem(ITEM_TM03, 1); AddBagItem(ITEM_TM09, 1); AddBagItem(ITEM_TM35, 1); - InitTMCase(4, CB2_ReturnToTeachyTV, 0); + InitTMCase(4, sub_815ABFC, 0); } static void Task_TMCaseDude1(u8 taskId) diff --git a/src/vs_seeker.c b/src/vs_seeker.c index bd19d96ff..bd5b9c7ea 100644 --- a/src/vs_seeker.c +++ b/src/vs_seeker.c @@ -24,8 +24,6 @@ #include "unk_810c3a4.h" #include "constants/movement_commands.h" #include "vs_seeker.h" -#include "item.h" -#include "constants/items.h" typedef enum { @@ -637,7 +635,6 @@ void sub_810C444(void) #ifdef NONMATCHING bool8 sub_810C4EC(void) { - s8 mask; if (CheckBagHasItem(ITEM_VS_SEEKER, 1) == TRUE) { if ((gSaveBlock1Ptr->trainerRematchStepCounter & 0xFF) < 100) @@ -646,23 +643,25 @@ bool8 sub_810C4EC(void) if (FlagGet(0x801) == TRUE) { - register u8 x,y; - x = gSaveBlock1Ptr->trainerRematchStepCounter >> 8; - if (x > 99) { - mask = -1; - goto section_1; + u16 x; + do { + x = (gSaveBlock1Ptr->trainerRematchStepCounter >> 8) & 0xFF; + } while (0); + if (x < 100) + { + x++; + gSaveBlock1Ptr->trainerRematchStepCounter = ((u16)(x << 8)) | (gSaveBlock1Ptr->trainerRematchStepCounter & 0xFF); + } + do { + x = (gSaveBlock1Ptr->trainerRematchStepCounter >> 8) & 0xFF; + } while (0); + if (x == 100) + { + FlagClear(0x801); + sub_810C640(); + sub_810D0D0(); + return TRUE; } - y = ((u8)x + 1); - gSaveBlock1Ptr->trainerRematchStepCounter = (((gSaveBlock1Ptr->trainerRematchStepCounter) & (u8)0xFFFFFFFF) | (y << 8)); - section_1: - x = (gSaveBlock1Ptr->trainerRematchStepCounter >> 8) & mask; - if (x == 100) - { - FlagClear(0x801); - sub_810C640(); - sub_810D0D0(); - return TRUE; - } } return FALSE; -- cgit v1.2.3 From b6a166c45960e1963bf508f83b9da1a8d6a71df4 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Tue, 4 Jun 2019 00:00:21 +0800 Subject: more symbol name fixes --- asm/.fuse_hidden00001c3c00000003 | 2244 ++++++++++++++++++++++++++++++++++++++ asm/.fuse_hidden00001c3c00000005 | 2244 ++++++++++++++++++++++++++++++++++++++ asm/berry_pouch.s | 2 +- asm/field_specials.s | 2 +- asm/item_menu.s | 14 +- asm/item_pc.s | 6 +- asm/learn_move.s | 2 +- asm/list_menu.s | 6 +- asm/player_pc.s | 2 +- asm/pokedex_screen.s | 12 +- asm/shop.s | 2 +- asm/teachy_tv.s | 8 +- include/global.fieldmap.h | 4 +- include/list_menu.h | 2 +- src/.fuse_hidden00001c3f00000004 | 346 ++++++ src/fame_checker.c | 6 +- src/teachy_tv.c | 10 +- src/tm_case.c | 2 +- 18 files changed, 4874 insertions(+), 40 deletions(-) create mode 100644 asm/.fuse_hidden00001c3c00000003 create mode 100644 asm/.fuse_hidden00001c3c00000005 create mode 100644 src/.fuse_hidden00001c3f00000004 diff --git a/asm/.fuse_hidden00001c3c00000003 b/asm/.fuse_hidden00001c3c00000003 new file mode 100644 index 000000000..a97657691 --- /dev/null +++ b/asm/.fuse_hidden00001c3c00000003 @@ -0,0 +1,2244 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start TeachyTvConfigRboxAndObj +TeachyTvConfigRboxAndObj: @ 815B118 + push {r4-r7,lr} + sub sp, 0x4 + lsls r0, 24 + lsrs r6, r0, 24 + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + ldr r1, _0815B190 @ =gTasks+0x8 + adds r5, r0, r1 + movs r0, 0x2 + ldrsh r1, [r5, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r1, _0815B194 @ =gSprites + adds r7, r0, r1 + movs r0, 0x1 + bl ClearWindowTilemap + bl TeachyTvClearWindowRegs + ldr r0, _0815B198 @ =gTeachyTV_StaticResources + ldrb r0, [r0, 0x5] + cmp r0, 0 + blt _0815B1B8 + cmp r0, 0x3 + bgt _0815B1A8 + ldrb r0, [r5, 0x2] + movs r1, 0x78 + movs r2, 0x38 + movs r3, 0 + bl TeachyTvSetSpriteCoordsAndSwitchFrame + movs r4, 0xC0 + lsls r4, 6 + movs r0, 0x3 + adds r1, r4, 0 + movs r2, 0x1 + bl ChangeBgX + movs r0, 0x3 + adds r1, r4, 0 + movs r2, 0x2 + bl ChangeBgY + ldr r2, _0815B19C @ =gUnknown_203F450 + ldr r1, [r2] + ldr r0, _0815B1A0 @ =0x00004004 + adds r1, r0 + ldrb r0, [r1] + adds r0, 0x3 + strb r0, [r1] + ldr r1, [r2] + ldr r0, _0815B1A4 @ =0x00004005 + adds r1, r0 + ldrb r0, [r1] + subs r0, 0x3 + strb r0, [r1] + b _0815B1B8 + .align 2, 0 +_0815B190: .4byte gTasks+0x8 +_0815B194: .4byte gSprites +_0815B198: .4byte gTeachyTV_StaticResources +_0815B19C: .4byte gUnknown_203F450 +_0815B1A0: .4byte 0x00004004 +_0815B1A4: .4byte 0x00004005 +_0815B1A8: + cmp r0, 0x5 + bgt _0815B1B8 + ldrb r0, [r5, 0x2] + movs r1, 0x78 + movs r2, 0x38 + movs r3, 0 + bl TeachyTvSetSpriteCoordsAndSwitchFrame +_0815B1B8: + movs r0, 0 + strh r0, [r5, 0x8] + strh r0, [r5, 0xA] + movs r0, 0x24 + ldrsh r1, [r7, r0] + movs r0, 0x26 + ldrsh r2, [r7, r0] + movs r0, 0x1 + str r0, [sp] + adds r0, r6, 0 + movs r3, 0 + bl sub_815BAA0 + add sp, 0x4 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end TeachyTvConfigRboxAndObj + + thumb_func_start sub_815B1DC +sub_815B1DC: @ 815B1DC + push {r4,lr} + sub sp, 0x10 + adds r4, r0, 0 + ldr r2, _0815B21C @ =gTextFlags + ldrb r1, [r2] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + strb r0, [r2] + bl GetTextSpeedSetting + adds r3, r0, 0 + lsls r3, 24 + lsrs r3, 24 + movs r0, 0 + str r0, [sp] + movs r0, 0x1 + str r0, [sp, 0x4] + movs r0, 0xC + str r0, [sp, 0x8] + movs r0, 0x3 + str r0, [sp, 0xC] + movs r0, 0 + movs r1, 0x4 + adds r2, r4, 0 + bl AddTextPrinterParametrized + add sp, 0x10 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0815B21C: .4byte gTextFlags + thumb_func_end sub_815B1DC + + thumb_func_start sub_815B220 +sub_815B220: @ 815B220 + push {r4,lr} + ldr r4, _0815B238 @ =gUnknown_203F450 + ldr r0, [r4] + bl Free + movs r0, 0 + str r0, [r4] + bl FreeAllWindowBuffers + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0815B238: .4byte gUnknown_203F450 + thumb_func_end sub_815B220 + + thumb_func_start sub_815B23C +sub_815B23C: @ 815B23C + push {r4,lr} + sub sp, 0x4 + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0x1 + negs r0, r0 + movs r1, 0 + str r1, [sp] + movs r2, 0 + movs r3, 0x10 + bl BeginNormalPaletteFade + ldr r1, _0815B26C @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r1, _0815B270 @ =sub_815B274 + str r1, [r0] + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0815B26C: .4byte gTasks +_0815B270: .4byte sub_815B274 + thumb_func_end sub_815B23C + + thumb_func_start sub_815B274 +sub_815B274: @ 815B274 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _0815B298 @ =gPaletteFade + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + bne _0815B2B6 + ldr r0, _0815B29C @ =gUnknown_203F450 + ldr r0, [r0] + ldr r0, [r0] + cmp r0, 0 + beq _0815B2A0 + bl SetMainCallback2 + b _0815B2AC + .align 2, 0 +_0815B298: .4byte gPaletteFade +_0815B29C: .4byte gUnknown_203F450 +_0815B2A0: + bl sub_8055DC4 + ldr r0, _0815B2BC @ =gTeachyTV_StaticResources + ldr r0, [r0] + bl SetMainCallback2 +_0815B2AC: + bl sub_815B220 + adds r0, r4, 0 + bl DestroyTask +_0815B2B6: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0815B2BC: .4byte gTeachyTV_StaticResources + thumb_func_end sub_815B274 + + thumb_func_start sub_815B2C0 +sub_815B2C0: @ 815B2C0 + push {r4-r7,lr} + lsls r0, 24 + lsrs r7, r0, 24 + lsls r0, r7, 2 + adds r0, r7 + lsls r0, 3 + ldr r1, _0815B31C @ =gTasks+0x8 + adds r6, r0, r1 + bl TeachyTvBg2AnimController + ldr r0, _0815B320 @ =gPaletteFade + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + bne _0815B37A + ldrb r0, [r6] + bl ListMenuHandleInput + adds r5, r0, 0 + ldrb r0, [r6] + ldr r4, _0815B324 @ =gTeachyTV_StaticResources+6 + adds r2, r4, 0x2 + adds r1, r4, 0 + bl ListMenuGetScrollAndRow + ldr r0, _0815B328 @ =gMain + ldrh r1, [r0, 0x2E] + movs r0, 0x4 + ands r0, r1 + cmp r0, 0 + beq _0815B30A + subs r0, r4, 0x6 + ldr r1, [r0] + ldr r0, _0815B32C @ =UseFameCheckerFromMenu + cmp r1, r0 + bne _0815B330 +_0815B30A: + movs r0, 0x2 + negs r0, r0 + cmp r5, r0 + beq _0815B330 + adds r0, 0x1 + cmp r5, r0 + bne _0815B33E + b _0815B37A + .align 2, 0 +_0815B31C: .4byte gTasks+0x8 +_0815B320: .4byte gPaletteFade +_0815B324: .4byte gTeachyTV_StaticResources+6 +_0815B328: .4byte gMain +_0815B32C: .4byte UseFameCheckerFromMenu +_0815B330: + movs r0, 0x5 + bl PlaySE + adds r0, r7, 0 + bl sub_815B23C + b _0815B37A +_0815B33E: + movs r0, 0x5 + bl PlaySE + ldr r2, _0815B380 @ =gTeachyTV_StaticResources + movs r4, 0 + strb r5, [r2, 0x5] + ldrb r0, [r6] + adds r1, r2, 0x6 + adds r2, 0x8 + bl DestroyListMenu + bl TeachyTvClearWindowRegs + movs r0, 0x1 + bl ClearWindowTilemap + movs r0, 0 + bl schedule_bg_copy_tilemap_to_vram + bl TeachyTvRemoveScrollIndicatorArrowPair + strh r4, [r6, 0x6] + strh r4, [r6, 0x4] + ldr r1, _0815B384 @ =gTasks + lsls r0, r7, 2 + adds r0, r7 + lsls r0, 3 + adds r0, r1 + ldr r1, _0815B388 @ =sub_815B4EC + str r1, [r0] +_0815B37A: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0815B380: .4byte gTeachyTV_StaticResources +_0815B384: .4byte gTasks +_0815B388: .4byte sub_815B4EC + thumb_func_end sub_815B2C0 + + thumb_func_start sub_815B38C +sub_815B38C: @ 815B38C + push {r4,lr} + sub sp, 0xC + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, _0815B3F8 @ =gTasks+0x8 + adds r4, r1, r0 + bl TeachyTvBg2AnimController + ldrh r0, [r4, 0x4] + adds r0, 0x1 + strh r0, [r4, 0x4] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x3F + ble _0815B3F0 + ldr r0, _0815B3FC @ =gUnknown_203F450 + ldr r1, [r0] + ldr r0, _0815B400 @ =0x00003004 + adds r1, r0 + movs r0, 0x20 + str r0, [sp] + str r0, [sp, 0x4] + movs r0, 0x11 + str r0, [sp, 0x8] + movs r0, 0x2 + movs r2, 0 + movs r3, 0 + bl CopyToBgTilemapBufferRect_ChangePalette + ldrb r0, [r4, 0x2] + movs r1, 0x8 + movs r2, 0x38 + movs r3, 0x7 + bl TeachyTvSetSpriteCoordsAndSwitchFrame + movs r0, 0x2 + bl schedule_bg_copy_tilemap_to_vram + movs r0, 0 + strh r0, [r4, 0x4] + ldrh r0, [r4, 0x6] + adds r0, 0x1 + strh r0, [r4, 0x6] + movs r0, 0x88 + lsls r0, 1 + bl PlayNewMapMusic +_0815B3F0: + add sp, 0xC + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0815B3F8: .4byte gTasks+0x8 +_0815B3FC: .4byte gUnknown_203F450 +_0815B400: .4byte 0x00003004 + thumb_func_end sub_815B38C + + thumb_func_start sub_815B404 +sub_815B404: @ 815B404 + push {r4,lr} + sub sp, 0x8 + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, _0815B450 @ =gTasks+0x8 + adds r4, r1, r0 + ldrh r0, [r4, 0x4] + adds r0, 0x1 + strh r0, [r4, 0x4] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x86 + bne _0815B448 + movs r0, 0x1A + str r0, [sp] + movs r0, 0xC + str r0, [sp, 0x4] + movs r0, 0x2 + movs r1, 0 + movs r2, 0x2 + movs r3, 0x1 + bl FillBgTilemapBufferRect_Palette0 + movs r0, 0x2 + bl schedule_bg_copy_tilemap_to_vram + movs r0, 0 + strh r0, [r4, 0x4] + ldrh r0, [r4, 0x6] + adds r0, 0x1 + strh r0, [r4, 0x6] +_0815B448: + add sp, 0x8 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0815B450: .4byte gTasks+0x8 + thumb_func_end sub_815B404 + + thumb_func_start sub_815B454 +sub_815B454: @ 815B454 + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, _0815B484 @ =gTasks+0x8 + adds r4, r1, r0 + movs r0, 0x2 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r1, _0815B488 @ =gSprites + adds r1, r0, r1 + ldrh r2, [r4, 0x4] + movs r3, 0x4 + ldrsh r0, [r4, r3] + cmp r0, 0x23 + beq _0815B48C + adds r0, r2, 0x1 + strh r0, [r4, 0x4] + b _0815B4B8 + .align 2, 0 +_0815B484: .4byte gTasks+0x8 +_0815B488: .4byte gSprites +_0815B48C: + ldrh r2, [r1, 0x24] + movs r3, 0x24 + ldrsh r0, [r1, r3] + cmp r0, 0x78 + bne _0815B4B4 + adds r0, r1, 0 + movs r1, 0 + bl StartSpriteAnim + ldr r0, _0815B4B0 @ =gUnknown_841B83D + bl sub_815B1DC + movs r0, 0 + strh r0, [r4, 0x4] + ldrh r0, [r4, 0x6] + adds r0, 0x1 + strh r0, [r4, 0x6] + b _0815B4B8 + .align 2, 0 +_0815B4B0: .4byte gUnknown_841B83D +_0815B4B4: + adds r0, r2, 0x1 + strh r0, [r1, 0x24] +_0815B4B8: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_815B454 + + thumb_func_start sub_815B4C0 +sub_815B4C0: @ 815B4C0 + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, _0815B4E8 @ =gTasks+0x8 + adds r4, r1, r0 + movs r0, 0 + bl sub_80BF518 + lsls r0, 16 + cmp r0, 0 + bne _0815B4E2 + ldrh r0, [r4, 0x6] + adds r0, 0x1 + strh r0, [r4, 0x6] +_0815B4E2: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0815B4E8: .4byte gTasks+0x8 + thumb_func_end sub_815B4C0 + + thumb_func_start sub_815B4EC +sub_815B4EC: @ 815B4EC + push {r4-r7,lr} + lsls r0, 24 + lsrs r2, r0, 24 + lsls r0, r2, 2 + adds r0, r2 + lsls r6, r0, 3 + ldr r7, _0815B548 @ =gTasks+0x8 + adds r5, r6, r7 + ldr r0, _0815B54C @ =gMain + ldrh r1, [r0, 0x2E] + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _0815B55C + ldr r0, _0815B550 @ =gUnknown_203F450 + ldr r0, [r0] + ldr r1, _0815B554 @ =0x00004006 + adds r0, r1 + movs r4, 0 + movs r1, 0x1 + strb r1, [r0] + ldrb r0, [r5, 0x2] + movs r1, 0 + movs r2, 0 + movs r3, 0 + bl TeachyTvSetSpriteCoordsAndSwitchFrame + movs r0, 0 + movs r1, 0xCC + bl FillWindowPixelBuffer + movs r0, 0 + movs r1, 0x2 + bl CopyWindowToVram + bl sub_815B908 + strh r4, [r5, 0x4] + strh r4, [r5, 0x6] + adds r0, r7, 0 + subs r0, 0x8 + adds r0, r6, r0 + ldr r1, _0815B558 @ =sub_815B92C + str r1, [r0] + b _0815B578 + .align 2, 0 +_0815B548: .4byte gTasks+0x8 +_0815B54C: .4byte gMain +_0815B550: .4byte gUnknown_203F450 +_0815B554: .4byte 0x00004006 +_0815B558: .4byte sub_815B92C +_0815B55C: + ldr r1, _0815B580 @ =gUnknown_8479548 + ldr r0, _0815B584 @ =gTeachyTV_StaticResources + ldrb r0, [r0, 0x5] + lsls r0, 2 + adds r0, r1 + ldr r1, [r0] + movs r3, 0x6 + ldrsh r0, [r5, r3] + lsls r0, 2 + adds r0, r1 + ldr r1, [r0] + adds r0, r2, 0 + bl _call_via_r1 +_0815B578: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0815B580: .4byte gUnknown_8479548 +_0815B584: .4byte gTeachyTV_StaticResources + thumb_func_end sub_815B4EC + + thumb_func_start sub_815B588 +sub_815B588: @ 815B588 + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r4, r0, 2 + adds r4, r0 + lsls r4, 3 + ldr r0, _0815B5B4 @ =gTasks+0x8 + adds r4, r0 + ldr r1, _0815B5B8 @ =gUnknown_8479560 + ldr r0, _0815B5BC @ =gTeachyTV_StaticResources + ldrb r0, [r0, 0x5] + lsls r0, 2 + adds r0, r1 + ldr r0, [r0] + bl sub_815B1DC + ldrh r0, [r4, 0x6] + adds r0, 0x1 + strh r0, [r4, 0x6] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0815B5B4: .4byte gTasks+0x8 +_0815B5B8: .4byte gUnknown_8479560 +_0815B5BC: .4byte gTeachyTV_StaticResources + thumb_func_end sub_815B588 + + thumb_func_start sub_815B5C0 +sub_815B5C0: @ 815B5C0 + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r4, r0, 2 + adds r4, r0 + lsls r4, 3 + ldr r0, _0815B5EC @ =gTasks+0x8 + adds r4, r0 + ldr r1, _0815B5F0 @ =gUnknown_8479578 + ldr r0, _0815B5F4 @ =gTeachyTV_StaticResources + ldrb r0, [r0, 0x5] + lsls r0, 2 + adds r0, r1 + ldr r0, [r0] + bl sub_815B1DC + ldrh r0, [r4, 0x6] + adds r0, 0x1 + strh r0, [r4, 0x6] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0815B5EC: .4byte gTasks+0x8 +_0815B5F0: .4byte gUnknown_8479578 +_0815B5F4: .4byte gTeachyTV_StaticResources + thumb_func_end sub_815B5C0 + + thumb_func_start sub_815B5F8 +sub_815B5F8: @ 815B5F8 + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, _0815B620 @ =gTasks+0x8 + adds r4, r1, r0 + movs r0, 0 + bl sub_80BF518 + lsls r0, 16 + cmp r0, 0 + bne _0815B61A + ldrh r0, [r4, 0x6] + adds r0, 0x1 + strh r0, [r4, 0x6] +_0815B61A: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0815B620: .4byte gTasks+0x8 + thumb_func_end sub_815B5F8 + + thumb_func_start sub_815B624 +sub_815B624: @ 815B624 + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, _0815B65C @ =gTasks+0x8 + adds r4, r1, r0 + ldr r0, _0815B660 @ =gMain + ldrh r1, [r0, 0x2E] + movs r0, 0x3 + ands r0, r1 + cmp r0, 0 + beq _0815B656 + movs r0, 0 + movs r1, 0xCC + bl FillWindowPixelBuffer + movs r0, 0 + movs r1, 0x2 + bl CopyWindowToVram + ldrh r0, [r4, 0x6] + adds r0, 0x1 + strh r0, [r4, 0x6] +_0815B656: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0815B65C: .4byte gTasks+0x8 +_0815B660: .4byte gMain + thumb_func_end sub_815B624 + + thumb_func_start sub_815B664 +sub_815B664: @ 815B664 + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r4, r0, 2 + adds r4, r0 + lsls r4, 3 + ldr r0, _0815B6A0 @ =gTasks+0x8 + adds r4, r0 + movs r0, 0x2 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r1, _0815B6A4 @ =gSprites + adds r0, r1 + movs r1, 0x5 + bl StartSpriteAnim + movs r0, 0 + strh r0, [r4, 0x4] + strh r0, [r4, 0x8] + movs r0, 0x1 + strh r0, [r4, 0xA] + ldrh r0, [r4, 0x6] + adds r0, 0x1 + strh r0, [r4, 0x6] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0815B6A0: .4byte gTasks+0x8 +_0815B6A4: .4byte gSprites + thumb_func_end sub_815B664 + + thumb_func_start sub_815B6A8 +sub_815B6A8: @ 815B6A8 + push {r4-r6,lr} + sub sp, 0x4 + lsls r0, 24 + lsrs r5, r0, 24 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + ldr r1, _0815B730 @ =gTasks+0x8 + adds r4, r0, r1 + movs r0, 0x2 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r1, _0815B734 @ =gSprites + adds r6, r0, r1 + movs r1, 0x80 + lsls r1, 1 + movs r0, 0x3 + movs r2, 0x2 + bl ChangeBgY + ldrh r0, [r4, 0x4] + adds r0, 0x1 + strh r0, [r4, 0x4] + movs r3, 0xF + ands r3, r0 + cmp r3, 0 + bne _0815B702 + ldr r0, _0815B738 @ =gUnknown_203F450 + ldr r1, [r0] + ldr r2, _0815B73C @ =0x00004005 + adds r1, r2 + ldrb r0, [r1] + subs r0, 0x1 + strb r0, [r1] + movs r0, 0x24 + ldrsh r1, [r6, r0] + movs r0, 0x26 + ldrsh r2, [r6, r0] + str r3, [sp] + adds r0, r5, 0 + movs r3, 0 + bl sub_815BAA0 +_0815B702: + movs r1, 0x4 + ldrsh r0, [r4, r1] + cmp r0, 0x30 + bne _0815B726 + movs r1, 0 + strh r1, [r4, 0x4] + movs r2, 0x1 + negs r2, r2 + adds r0, r2, 0 + strh r0, [r4, 0x8] + strh r1, [r4, 0xA] + adds r0, r6, 0 + movs r1, 0x7 + bl StartSpriteAnim + ldrh r0, [r4, 0x6] + adds r0, 0x1 + strh r0, [r4, 0x6] +_0815B726: + add sp, 0x4 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0815B730: .4byte gTasks+0x8 +_0815B734: .4byte gSprites +_0815B738: .4byte gUnknown_203F450 +_0815B73C: .4byte 0x00004005 + thumb_func_end sub_815B6A8 + + thumb_func_start sub_815B740 +sub_815B740: @ 815B740 + push {r4-r6,lr} + sub sp, 0x4 + lsls r0, 24 + lsrs r0, 24 + adds r5, r0, 0 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + ldr r1, _0815B7D4 @ =gTasks+0x8 + adds r4, r0, r1 + movs r0, 0x2 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r1, _0815B7D8 @ =gSprites + adds r6, r0, r1 + movs r1, 0x80 + lsls r1, 1 + movs r0, 0x3 + movs r2, 0x1 + bl ChangeBgX + ldrh r0, [r4, 0x4] + adds r0, 0x1 + strh r0, [r4, 0x4] + movs r2, 0xF + ands r0, r2 + cmp r0, 0 + bne _0815B78A + ldr r0, _0815B7DC @ =gUnknown_203F450 + ldr r1, [r0] + ldr r3, _0815B7E0 @ =0x00004004 + adds r1, r3 + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] +_0815B78A: + movs r1, 0x4 + ldrsh r0, [r4, r1] + adds r0, 0x8 + ands r0, r2 + cmp r0, 0 + bne _0815B7AC + ldrh r1, [r6, 0x24] + adds r1, 0x8 + lsls r1, 16 + asrs r1, 16 + movs r3, 0x26 + ldrsh r2, [r6, r3] + str r0, [sp] + adds r0, r5, 0 + movs r3, 0 + bl sub_815BAA0 +_0815B7AC: + movs r1, 0x4 + ldrsh r0, [r4, r1] + cmp r0, 0x30 + bne _0815B7CA + movs r0, 0 + strh r0, [r4, 0x4] + strh r0, [r4, 0x8] + strh r0, [r4, 0xA] + adds r0, r6, 0 + movs r1, 0x3 + bl StartSpriteAnim + ldrh r0, [r4, 0x6] + adds r0, 0x1 + strh r0, [r4, 0x6] +_0815B7CA: + add sp, 0x4 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0815B7D4: .4byte gTasks+0x8 +_0815B7D8: .4byte gSprites +_0815B7DC: .4byte gUnknown_203F450 +_0815B7E0: .4byte 0x00004004 + thumb_func_end sub_815B740 + + thumb_func_start sub_815B7E4 +sub_815B7E4: @ 815B7E4 + push {r4-r6,lr} + sub sp, 0x4 + adds r6, r0, 0 + lsls r6, 24 + lsrs r6, 24 + lsls r5, r6, 2 + adds r5, r6 + lsls r5, 3 + ldr r0, _0815B838 @ =gTasks+0x8 + adds r5, r0 + movs r1, 0x2 + ldrsh r0, [r5, r1] + lsls r4, r0, 4 + adds r4, r0 + lsls r4, 2 + ldr r0, _0815B83C @ =gSprites + adds r4, r0 + adds r0, r4, 0 + movs r1, 0x6 + bl StartSpriteAnim + ldrh r0, [r5, 0x6] + adds r0, 0x1 + strh r0, [r5, 0x6] + movs r0, 0 + strh r0, [r5, 0x8] + strh r0, [r5, 0xA] + movs r0, 0x24 + ldrsh r1, [r4, r0] + movs r0, 0x26 + ldrsh r2, [r4, r0] + movs r0, 0 + str r0, [sp] + adds r0, r6, 0 + movs r3, 0 + bl sub_815BAA0 + add sp, 0x4 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0815B838: .4byte gTasks+0x8 +_0815B83C: .4byte gSprites + thumb_func_end sub_815B7E4 + + thumb_func_start sub_815B840 +sub_815B840: @ 815B840 + push {r4-r6,lr} + sub sp, 0x4 + lsls r0, 24 + lsrs r3, r0, 24 + lsls r0, r3, 2 + adds r0, r3 + lsls r0, 3 + ldr r1, _0815B890 @ =gTasks+0x8 + adds r5, r0, r1 + movs r0, 0x2 + ldrsh r1, [r5, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r1, _0815B894 @ =gSprites + adds r4, r0, r1 + ldrh r1, [r4, 0x24] + movs r0, 0xF + ands r0, r1 + cmp r0, 0 + bne _0815B87E + subs r1, 0x8 + lsls r1, 16 + asrs r1, 16 + movs r6, 0x26 + ldrsh r2, [r4, r6] + str r0, [sp] + adds r0, r3, 0 + movs r3, 0 + bl sub_815BAA0 +_0815B87E: + ldrh r1, [r4, 0x24] + movs r2, 0x24 + ldrsh r0, [r4, r2] + cmp r0, 0x8 + bne _0815B898 + ldrh r0, [r5, 0x6] + adds r0, 0x1 + strh r0, [r5, 0x6] + b _0815B89C + .align 2, 0 +_0815B890: .4byte gTasks+0x8 +_0815B894: .4byte gSprites +_0815B898: + subs r0, r1, 0x1 + strh r0, [r4, 0x24] +_0815B89C: + add sp, 0x4 + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_815B840 + + thumb_func_start sub_815B8A4 +sub_815B8A4: @ 815B8A4 + push {r4,lr} + sub sp, 0xC + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, _0815B900 @ =gTasks+0x8 + adds r4, r1, r0 + movs r1, 0x4 + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _0815B8DC + ldr r1, _0815B904 @ =gUnknown_8479590 + movs r0, 0x8 + str r0, [sp] + movs r0, 0x2 + str r0, [sp, 0x4] + movs r0, 0x11 + str r0, [sp, 0x8] + movs r0, 0x1 + movs r2, 0x14 + movs r3, 0xA + bl CopyToBgTilemapBufferRect_ChangePalette + movs r0, 0x1 + bl schedule_bg_copy_tilemap_to_vram +_0815B8DC: + ldrh r0, [r4, 0x4] + adds r0, 0x1 + strh r0, [r4, 0x4] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x7E + ble _0815B8F8 + bl sub_815B908 + movs r0, 0 + strh r0, [r4, 0x4] + ldrh r0, [r4, 0x6] + adds r0, 0x1 + strh r0, [r4, 0x6] +_0815B8F8: + add sp, 0xC + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0815B900: .4byte gTasks+0x8 +_0815B904: .4byte gUnknown_8479590 + thumb_func_end sub_815B8A4 + + thumb_func_start sub_815B908 +sub_815B908: @ 815B908 + push {lr} + sub sp, 0x8 + movs r0, 0x8 + str r0, [sp] + movs r0, 0x2 + str r0, [sp, 0x4] + movs r0, 0x1 + movs r1, 0 + movs r2, 0x14 + movs r3, 0xA + bl FillBgTilemapBufferRect_Palette0 + movs r0, 0x1 + bl schedule_bg_copy_tilemap_to_vram + add sp, 0x8 + pop {r0} + bx r0 + thumb_func_end sub_815B908 + + thumb_func_start sub_815B92C +sub_815B92C: @ 815B92C + push {r4-r7,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r6, r1, 3 + ldr r7, _0815B9DC @ =gTasks+0x8 + adds r5, r6, r7 + movs r1, 0x4 + ldrsh r0, [r5, r1] + cmp r0, 0 + bne _0815B94C + movs r0, 0xAD + lsls r0, 1 + bl PlayNewMapMusic +_0815B94C: + bl TeachyTvBg2AnimController + ldrh r0, [r5, 0x4] + adds r0, 0x1 + strh r0, [r5, 0x4] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x3F + ble _0815B9D4 + movs r4, 0 + strh r4, [r5, 0x4] + strh r4, [r5, 0x6] + bl TeachyTvSetupWindow + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5] + adds r0, r7, 0 + subs r0, 0x8 + adds r0, r6, r0 + ldr r1, _0815B9E0 @ =sub_815B2C0 + str r1, [r0] + movs r0, 0 + bl PutWindowTilemap + bl TeachyTvSetupScrollIndicatorArrowPair + bl TeachyTvSetWindowRegs + movs r0, 0 + bl schedule_bg_copy_tilemap_to_vram + movs r0, 0x3 + movs r1, 0 + movs r2, 0 + bl ChangeBgX + movs r0, 0x3 + movs r1, 0 + movs r2, 0 + bl ChangeBgY + movs r1, 0x80 + lsls r1, 5 + movs r0, 0x3 + movs r2, 0x2 + bl ChangeBgX + movs r1, 0xA0 + lsls r1, 6 + movs r0, 0x3 + movs r2, 0x1 + bl ChangeBgY + ldr r2, _0815B9E4 @ =gUnknown_203F450 + ldr r0, [r2] + ldr r1, _0815B9E8 @ =0x00004004 + adds r0, r1 + strb r4, [r0] + ldr r0, [r2] + adds r1, 0x1 + adds r0, r1 + movs r1, 0x3 + strb r1, [r0] + ldr r0, [r2] + ldr r1, _0815B9EC @ =0x00004006 + adds r0, r1 + strb r4, [r0] +_0815B9D4: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0815B9DC: .4byte gTasks+0x8 +_0815B9E0: .4byte sub_815B2C0 +_0815B9E4: .4byte gUnknown_203F450 +_0815B9E8: .4byte 0x00004004 +_0815B9EC: .4byte 0x00004006 + thumb_func_end sub_815B92C + + thumb_func_start sub_815B9F0 +sub_815B9F0: @ 815B9F0 + push {lr} + lsls r0, 24 + lsrs r1, r0, 24 + adds r2, r1, 0 + ldr r0, _0815BA0C @ =gTeachyTV_StaticResources + ldrb r0, [r0, 0x5] + cmp r0, 0 + blt _0815BA22 + cmp r0, 0x3 + bgt _0815BA10 + adds r0, r1, 0 + bl sub_815BC90 + b _0815BA22 + .align 2, 0 +_0815BA0C: .4byte gTeachyTV_StaticResources +_0815BA10: + cmp r0, 0x5 + bgt _0815BA22 + ldr r0, _0815BA28 @ =gUnknown_203F450 + ldr r1, [r0] + ldr r0, _0815BA2C @ =sub_815BA30 + str r0, [r1] + adds r0, r2, 0 + bl sub_815B23C +_0815BA22: + pop {r0} + bx r0 + .align 2, 0 +_0815BA28: .4byte gUnknown_203F450 +_0815BA2C: .4byte sub_815BA30 + thumb_func_end sub_815B9F0 + + thumb_func_start sub_815BA30 +sub_815BA30: @ 815BA30 + push {lr} + ldr r0, _0815BA44 @ =gTeachyTV_StaticResources + ldrb r0, [r0, 0x5] + cmp r0, 0x4 + bne _0815BA48 + movs r0, 0xA + bl sub_810B108 + b _0815BA4E + .align 2, 0 +_0815BA44: .4byte gTeachyTV_StaticResources +_0815BA48: + movs r0, 0x9 + bl sub_810B108 +_0815BA4E: + pop {r0} + bx r0 + thumb_func_end sub_815BA30 + + thumb_func_start TeachyTvTaskFunction +TeachyTvTaskFunction: @ 815BA54 + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r2, r1, 3 + ldr r4, _0815BA8C @ =gTasks+0x8 + adds r3, r2, r4 + ldr r0, _0815BA90 @ =gPaletteFade + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + bne _0815BA86 + ldr r1, _0815BA94 @ =gUnknown_8479390 + ldr r0, _0815BA98 @ =gTeachyTV_StaticResources + ldrb r0, [r0, 0x5] + adds r0, r1 + ldrb r0, [r0] + strh r0, [r3, 0x6] + adds r0, r4, 0 + subs r0, 0x8 + adds r0, r2, r0 + ldr r1, _0815BA9C @ =sub_815B4EC + str r1, [r0] +_0815BA86: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0815BA8C: .4byte gTasks+0x8 +_0815BA90: .4byte gPaletteFade +_0815BA94: .4byte gUnknown_8479390 +_0815BA98: .4byte gTeachyTV_StaticResources +_0815BA9C: .4byte sub_815B4EC + thumb_func_end TeachyTvTaskFunction + + thumb_func_start sub_815BAA0 +sub_815BAA0: @ 815BAA0 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + ldr r4, [sp, 0x1C] + lsls r0, 24 + lsrs r0, 24 + mov r9, r0 + lsls r1, 16 + lsrs r6, r1, 16 + lsls r2, 16 + lsrs r1, r2, 16 + lsls r3, 24 + lsrs r7, r3, 24 + lsls r4, 24 + lsrs r4, 24 + mov r8, r4 + ldr r0, _0815BB34 @ =gUnknown_203F450 + ldr r0, [r0] + ldr r2, _0815BB38 @ =0x00004006 + adds r0, r2 + ldrb r0, [r0] + cmp r0, 0x1 + beq _0815BB5C + lsls r0, r6, 16 + ldr r2, _0815BB3C @ =0xfff00000 + adds r0, r2 + asrs r0, 16 + lsls r1, 16 + asrs r5, r1, 16 + adds r1, r5, 0 + bl sub_815BC40 + lsls r0, 24 + cmp r0, 0 + beq _0815BB5C + ldr r0, _0815BB40 @ =gUnknown_83A0010 + ldr r0, [r0, 0x10] + movs r1, 0 + movs r2, 0 + adds r3, r7, 0 + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + ldr r0, _0815BB44 @ =gSprites + adds r4, r1, r0 + strh r6, [r4, 0x24] + adds r0, r5, 0 + adds r0, 0x8 + strh r0, [r4, 0x26] + ldr r0, _0815BB48 @ =sub_815BB6C + str r0, [r4, 0x1C] + mov r0, r9 + strh r0, [r4, 0x2E] + mov r2, r8 + cmp r2, 0x1 + bne _0815BB4C + adds r0, r4, 0 + movs r1, 0x4 + bl SeekSpriteAnim + ldrb r0, [r4, 0x5] + movs r1, 0xD + negs r1, r1 + ands r1, r0 + movs r0, 0x8 + orrs r1, r0 + strb r1, [r4, 0x5] + b _0815BB5C + .align 2, 0 +_0815BB34: .4byte gUnknown_203F450 +_0815BB38: .4byte 0x00004006 +_0815BB3C: .4byte 0xfff00000 +_0815BB40: .4byte gUnknown_83A0010 +_0815BB44: .4byte gSprites +_0815BB48: .4byte sub_815BB6C +_0815BB4C: + ldr r1, _0815BB68 @ =gUnknown_84795B8 + adds r0, r4, 0 + bl SetSubspriteTables + adds r1, r4, 0 + adds r1, 0x42 + movs r0, 0x40 + strb r0, [r1] +_0815BB5C: + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0815BB68: .4byte gUnknown_84795B8 + thumb_func_end sub_815BAA0 + + thumb_func_start sub_815BB6C +sub_815BB6C: @ 815BB6C + push {r4,r5,lr} + adds r3, r0, 0 + movs r0, 0x2E + ldrsh r1, [r3, r0] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + ldr r1, _0815BBA4 @ =gTasks+0x8 + adds r4, r0, r1 + movs r2, 0x2 + ldrsh r1, [r4, r2] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r1, _0815BBA8 @ =gSprites + adds r5, r0, r1 + ldr r0, _0815BBAC @ =gUnknown_203F450 + ldr r0, [r0] + ldr r1, _0815BBB0 @ =0x00004006 + adds r0, r1 + ldrb r0, [r0] + cmp r0, 0x1 + bne _0815BBB4 + adds r0, r3, 0 + bl DestroySprite + b _0815BC3A + .align 2, 0 +_0815BBA4: .4byte gTasks+0x8 +_0815BBA8: .4byte gSprites +_0815BBAC: .4byte gUnknown_203F450 +_0815BBB0: .4byte 0x00004006 +_0815BBB4: + adds r0, r3, 0 + adds r0, 0x2B + ldrb r0, [r0] + cmp r0, 0 + bne _0815BBD2 + adds r2, r3, 0 + adds r2, 0x42 + ldrb r0, [r2] + movs r1, 0x40 + negs r1, r1 + ands r1, r0 + movs r0, 0x1 + orrs r1, r0 + strb r1, [r2] + b _0815BBE0 +_0815BBD2: + adds r2, r3, 0 + adds r2, 0x42 + ldrb r1, [r2] + movs r0, 0x40 + negs r0, r0 + ands r0, r1 + strb r0, [r2] +_0815BBE0: + ldrh r0, [r4, 0x8] + ldrh r2, [r3, 0x24] + adds r0, r2 + strh r0, [r3, 0x24] + ldrh r0, [r4, 0xA] + ldrh r1, [r3, 0x26] + adds r0, r1 + strh r0, [r3, 0x26] + adds r0, r3, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x10 + ands r0, r1 + cmp r0, 0 + beq _0815BC3A + adds r1, r3, 0 + adds r1, 0x43 + movs r0, 0 + strb r0, [r1] + ldrh r1, [r3, 0x24] + ldrh r0, [r5, 0x24] + subs r1, r0 + ldrh r0, [r3, 0x26] + ldrh r2, [r5, 0x26] + subs r0, r2 + lsls r0, 16 + lsrs r0, 16 + lsls r1, 16 + movs r2, 0xF0 + lsls r2, 12 + adds r1, r2 + lsrs r1, 16 + cmp r1, 0x1E + bhi _0815BC34 + lsls r0, 16 + asrs r1, r0, 16 + movs r0, 0x10 + negs r0, r0 + cmp r1, r0 + ble _0815BC34 + cmp r1, 0x17 + ble _0815BC3A +_0815BC34: + adds r0, r3, 0 + bl DestroySprite +_0815BC3A: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_815BB6C + + thumb_func_start sub_815BC40 +sub_815BC40: @ 815BC40 + push {r4,r5,lr} + lsls r1, 16 + lsrs r1, 16 + lsls r4, r0, 16 + cmp r4, 0 + blt _0815BC52 + lsls r1, 16 + cmp r1, 0 + bge _0815BC56 +_0815BC52: + movs r0, 0 + b _0815BC78 +_0815BC56: + ldr r3, _0815BC80 @ =gUnknown_84795C8 + ldr r0, _0815BC84 @ =gUnknown_203F450 + ldr r2, [r0] + ldr r5, _0815BC88 @ =0x00004005 + adds r0, r2, r5 + asrs r1, 20 + ldrb r0, [r0] + adds r1, r0 + lsls r1, 4 + ldr r0, _0815BC8C @ =0x00004004 + adds r2, r0 + asrs r0, r4, 20 + ldrb r2, [r2] + adds r0, r2 + adds r1, r0 + adds r1, r3 + ldrb r0, [r1] +_0815BC78: + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_0815BC80: .4byte gUnknown_84795C8 +_0815BC84: .4byte gUnknown_203F450 +_0815BC88: .4byte 0x00004005 +_0815BC8C: .4byte 0x00004004 + thumb_func_end sub_815BC40 + + thumb_func_start sub_815BC90 +sub_815BC90: @ 815BC90 + push {r4-r6,lr} + lsls r0, 24 + lsrs r6, r0, 24 + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + ldr r1, _0815BCCC @ =gTasks+0x8 + adds r5, r0, r1 + bl sub_815B220 + ldr r1, _0815BCD0 @ =gSpecialVar_0x8004 + ldr r4, _0815BCD4 @ =gTeachyTV_StaticResources + ldrb r0, [r4, 0x5] + strh r0, [r1] + ldr r1, _0815BCD8 @ =gMain + ldr r0, _0815BCDC @ =sub_815BD58 + str r0, [r1, 0x8] + bl SavePlayerParty + bl sub_8159F40 + movs r0, 0 + bl PlayMapChosenOrBattleBGM + ldrb r0, [r4, 0x5] + cmp r0, 0 + bne _0815BCE0 + movs r0, 0x9 + b _0815BCE2 + .align 2, 0 +_0815BCCC: .4byte gTasks+0x8 +_0815BCD0: .4byte gSpecialVar_0x8004 +_0815BCD4: .4byte gTeachyTV_StaticResources +_0815BCD8: .4byte gMain +_0815BCDC: .4byte sub_815BD58 +_0815BCE0: + movs r0, 0x8 +_0815BCE2: + strh r0, [r5, 0xC] + movs r0, 0 + strh r0, [r5, 0xE] + ldr r1, _0815BCFC @ =gTasks + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + adds r0, r1 + ldr r1, _0815BD00 @ =sub_815BD04 + str r1, [r0] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0815BCFC: .4byte gTasks +_0815BD00: .4byte sub_815BD04 + thumb_func_end sub_815BC90 + + thumb_func_start sub_815BD04 +sub_815BD04: @ 815BD04 + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + ldr r1, _0815BD24 @ =gTasks+0x8 + adds r4, r0, r1 + movs r1, 0xE + ldrsh r0, [r4, r1] + cmp r0, 0 + beq _0815BD28 + cmp r0, 0x1 + beq _0815BD36 + b _0815BD4C + .align 2, 0 +_0815BD24: .4byte gTasks+0x8 +_0815BD28: + ldrb r0, [r4, 0xC] + bl sub_80D08B8 + ldrh r0, [r4, 0xE] + adds r0, 0x1 + strh r0, [r4, 0xE] + b _0815BD4C +_0815BD36: + bl sub_80D08F8 + lsls r0, 24 + cmp r0, 0 + beq _0815BD4C + ldr r0, _0815BD54 @ =sub_800FD9C + bl SetMainCallback2 + adds r0, r5, 0 + bl DestroyTask +_0815BD4C: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0815BD54: .4byte sub_800FD9C + thumb_func_end sub_815BD04 + + thumb_func_start sub_815BD58 +sub_815BD58: @ 815BD58 + push {lr} + bl LoadPlayerParty + ldr r0, _0815BD6C @ =gUnknown_2023E8A + ldrb r0, [r0] + cmp r0, 0x3 + bne _0815BD70 + bl sub_815AC20 + b _0815BD78 + .align 2, 0 +_0815BD6C: .4byte gUnknown_2023E8A +_0815BD70: + movs r0, 0x88 + lsls r0, 1 + bl PlayNewMapMusic +_0815BD78: + bl CB2_ReturnToTeachyTV + pop {r0} + bx r0 + thumb_func_end sub_815BD58 + + thumb_func_start sub_815BD80 +sub_815BD80: @ 815BD80 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x1C + str r0, [sp, 0x4] + movs r0, 0 + str r0, [sp, 0x10] + ldr r1, _0815BE1C @ =Route1_Layout + mov r8, r1 + movs r0, 0x80 + lsls r0, 4 + bl AllocZeroed + adds r6, r0, 0 + movs r0, 0x80 + lsls r0, 8 + bl AllocZeroed + str r0, [sp, 0x8] + movs r0, 0x10 + bl Alloc + str r0, [sp, 0xC] + movs r1, 0xFF + movs r2, 0x10 + bl memset + mov r2, r8 + ldr r0, [r2, 0x10] + movs r2, 0xA0 + lsls r2, 2 + ldr r1, [sp, 0x8] + bl sub_815BF48 + mov r3, r8 + ldr r0, [r3, 0x14] + ldr r2, [sp, 0x8] + movs r3, 0xA0 + lsls r3, 7 + adds r1, r2, r3 + movs r2, 0xC0 + lsls r2, 1 + bl sub_815BF48 + movs r4, 0 +_0815BDDE: + movs r2, 0 + adds r0, r4, 0x6 + str r0, [sp, 0x18] + lsls r1, r4, 4 + mov r10, r1 + lsls r3, r4, 6 + mov r9, r3 + adds r4, 0x1 + str r4, [sp, 0x14] +_0815BDF0: + mov r1, r8 + ldr r0, [r1] + ldr r3, [sp, 0x18] + muls r0, r3 + ldr r1, [r1, 0xC] + adds r0, r2, r0 + lsls r0, 1 + adds r0, r1 + ldrh r1, [r0, 0x10] + ldr r3, _0815BE20 @ =0x000003ff + adds r0, r3, 0 + adds r4, r0, 0 + ands r4, r1 + movs r3, 0 + mov r0, r10 + adds r1, r0, r2 + lsls r5, r2, 1 + adds r7, r2, 0x1 + cmp r3, r1 + bge _0815BE3C + ldrh r0, [r6] + b _0815BE34 + .align 2, 0 +_0815BE1C: .4byte Route1_Layout +_0815BE20: .4byte 0x000003ff +_0815BE24: + adds r0, r3, 0x1 + lsls r0, 16 + lsrs r3, r0, 16 + cmp r3, r1 + bge _0815BE3C + lsls r0, r3, 1 + adds r0, r6 + ldrh r0, [r0] +_0815BE34: + cmp r0, 0 + beq _0815BE46 + cmp r0, r4 + bne _0815BE24 +_0815BE3C: + lsls r0, r3, 1 + adds r0, r6 + ldrh r0, [r0] + cmp r0, 0 + bne _0815BE56 +_0815BE46: + lsls r0, r3, 1 + adds r0, r6 + strh r4, [r0] + ldr r0, [sp, 0x10] + adds r0, 0x1 + lsls r0, 16 + lsrs r0, 16 + str r0, [sp, 0x10] +_0815BE56: + mov r2, r9 + adds r1, r2, r5 + lsls r1, 1 + ldr r0, [sp, 0x4] + adds r1, r0, r1 + str r3, [sp] + mov r0, r8 + ldr r2, [sp, 0xC] + adds r3, r4, 0 + bl sub_815BF70 + lsls r0, r7, 16 + lsrs r2, r0, 16 + cmp r2, 0xF + bls _0815BDF0 + ldr r1, [sp, 0x14] + lsls r0, r1, 16 + lsrs r4, r0, 16 + cmp r4, 0x8 + bls _0815BDDE + ldr r2, [sp, 0x10] + lsls r0, r2, 7 + bl Alloc + adds r7, r0, 0 + movs r0, 0x80 + bl Alloc + adds r5, r0, 0 + movs r4, 0 + ldr r3, [sp, 0x10] + lsls r3, 23 + mov r9, r3 + ldr r0, [sp, 0x10] + cmp r4, r0 + bcs _0815BF00 + ldr r1, _0815BECC @ =0x0000027f + mov r10, r1 +_0815BEA2: + adds r0, r5, 0 + movs r1, 0 + movs r2, 0x80 + bl memset + lsls r0, r4, 1 + adds r1, r0, r6 + ldrh r0, [r1] + cmp r0, r10 + bhi _0815BED0 + mov r2, r8 + ldr r0, [r2, 0x10] + ldrh r1, [r1] + lsls r1, 4 + ldr r0, [r0, 0xC] + adds r0, r1 + adds r1, r5, 0 + ldr r2, [sp, 0x8] + bl sub_815BFF0 + b _0815BEE8 + .align 2, 0 +_0815BECC: .4byte 0x0000027f +_0815BED0: + mov r3, r8 + ldr r0, [r3, 0x14] + ldrh r1, [r1] + ldr r2, _0815BF44 @ =0xfffffd80 + adds r1, r2 + lsls r1, 4 + ldr r0, [r0, 0xC] + adds r0, r1 + adds r1, r5, 0 + ldr r2, [sp, 0x8] + bl sub_815BFF0 +_0815BEE8: + lsls r1, r4, 7 + adds r1, r7, r1 + adds r0, r5, 0 + movs r2, 0x20 + bl CpuFastSet + adds r0, r4, 0x1 + lsls r0, 16 + lsrs r4, r0, 16 + ldr r3, [sp, 0x10] + cmp r4, r3 + bcc _0815BEA2 +_0815BF00: + mov r0, r9 + lsrs r2, r0, 16 + movs r0, 0x3 + adds r1, r7, 0 + movs r3, 0 + bl LoadBgTiles + mov r0, r8 + ldr r1, [sp, 0xC] + bl sub_815C230 + adds r0, r5, 0 + bl Free + adds r0, r7, 0 + bl Free + ldr r0, [sp, 0xC] + bl Free + ldr r0, [sp, 0x8] + bl Free + adds r0, r6, 0 + bl Free + add sp, 0x1C + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0815BF44: .4byte 0xfffffd80 + thumb_func_end sub_815BD80 + + thumb_func_start sub_815BF48 +sub_815BF48: @ 815BF48 + push {lr} + adds r3, r0, 0 + lsls r2, 16 + lsrs r2, 16 + cmp r3, 0 + beq _0815BF6A + ldrb r0, [r3] + cmp r0, 0 + bne _0815BF64 + ldr r0, [r3, 0x4] + lsls r2, 3 + bl CpuFastSet + b _0815BF6A +_0815BF64: + ldr r0, [r3, 0x4] + bl LZDecompressWram +_0815BF6A: + pop {r0} + bx r0 + thumb_func_end sub_815BF48 + + thumb_func_start sub_815BF70 +sub_815BF70: @ 815BF70 + push {r4-r7,lr} + adds r5, r0, 0 + adds r7, r1, 0 + adds r6, r2, 0 + ldr r0, [sp, 0x14] + lsls r3, 16 + lsrs r1, r3, 16 + lsls r0, 16 + lsrs r4, r0, 16 + ldr r0, _0815BF8C @ =0x0000027f + cmp r1, r0 + bhi _0815BF90 + ldr r0, [r5, 0x10] + b _0815BF96 + .align 2, 0 +_0815BF8C: .4byte 0x0000027f +_0815BF90: + ldr r0, [r5, 0x14] + ldr r2, _0815BFEC @ =0xfffffd80 + adds r1, r2 +_0815BF96: + lsls r1, 4 + ldr r0, [r0, 0xC] + adds r5, r0, r1 + ldrh r1, [r5] + adds r0, r6, 0 + bl sub_815C1F0 + lsls r0, 12 + lsls r4, 2 + adds r0, r4 + strh r0, [r7] + ldrh r1, [r5, 0x2] + adds r0, r6, 0 + bl sub_815C1F0 + lsls r0, 12 + adds r0, r4 + adds r0, 0x1 + strh r0, [r7, 0x2] + ldrh r1, [r5, 0x4] + adds r0, r6, 0 + bl sub_815C1F0 + adds r1, r7, 0 + adds r1, 0x40 + lsls r0, 12 + adds r0, r4 + adds r0, 0x2 + strh r0, [r1] + ldrh r1, [r5, 0x6] + adds r0, r6, 0 + bl sub_815C1F0 + adds r1, r7, 0 + adds r1, 0x42 + lsls r0, 12 + adds r0, r4 + adds r0, 0x3 + strh r0, [r1] + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0815BFEC: .4byte 0xfffffd80 + thumb_func_end sub_815BF70 + + thumb_func_start sub_815BFF0 +sub_815BFF0: @ 815BFF0 + push {r4-r6,lr} + mov r6, r10 + mov r5, r9 + mov r4, r8 + push {r4-r6} + mov r8, r0 + mov r9, r1 + adds r5, r2, 0 + ldrh r2, [r0] + ldr r4, _0815C0D0 @ =0x000003ff + adds r1, r4, 0 + ands r1, r2 + lsls r1, 5 + adds r1, r5, r1 + lsrs r2, 10 + movs r6, 0x3 + ands r2, r6 + mov r0, r9 + bl sub_815C0D4 + mov r0, r8 + ldrh r2, [r0, 0x8] + adds r1, r4, 0 + ands r1, r2 + lsls r1, 5 + adds r1, r5, r1 + lsrs r2, 10 + ands r2, r6 + mov r0, r9 + bl sub_815C0D4 + movs r0, 0x20 + add r0, r9 + mov r10, r0 + mov r0, r8 + ldrh r2, [r0, 0x2] + adds r1, r4, 0 + ands r1, r2 + lsls r1, 5 + adds r1, r5, r1 + lsrs r2, 10 + ands r2, r6 + mov r0, r10 + bl sub_815C0D4 + mov r0, r8 + ldrh r2, [r0, 0xA] + adds r1, r4, 0 + ands r1, r2 + lsls r1, 5 + adds r1, r5, r1 + lsrs r2, 10 + ands r2, r6 + mov r0, r10 + bl sub_815C0D4 + movs r0, 0x40 + add r0, r9 + mov r10, r0 + mov r0, r8 + ldrh r2, [r0, 0x4] + adds r1, r4, 0 + ands r1, r2 + lsls r1, 5 + adds r1, r5, r1 + lsrs r2, 10 + ands r2, r6 + mov r0, r10 + bl sub_815C0D4 + mov r0, r8 + ldrh r2, [r0, 0xC] + adds r1, r4, 0 + ands r1, r2 + lsls r1, 5 + adds r1, r5, r1 + lsrs r2, 10 + ands r2, r6 + mov r0, r10 + bl sub_815C0D4 + movs r0, 0x60 + add r9, r0 + mov r0, r8 + ldrh r2, [r0, 0x6] + adds r1, r4, 0 + ands r1, r2 + lsls r1, 5 + adds r1, r5, r1 + lsrs r2, 10 + ands r2, r6 + mov r0, r9 + bl sub_815C0D4 + mov r0, r8 + ldrh r2, [r0, 0xE] + ands r4, r2 + lsls r4, 5 + adds r5, r4 + lsrs r2, 10 + ands r2, r6 + mov r0, r9 + adds r1, r5, 0 + bl sub_815C0D4 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0815C0D0: .4byte 0x000003ff + thumb_func_end sub_815BFF0 + + thumb_func_start sub_815C0D4 +sub_815C0D4: @ 815C0D4 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x4 + mov r9, r0 + adds r4, r1, 0 + lsls r2, 24 + lsrs r2, 24 + mov r10, r2 + movs r0, 0x20 + bl AllocZeroed + adds r6, r0, 0 + movs r0, 0x20 + bl AllocZeroed + str r0, [sp] + adds r0, r4, 0 + adds r1, r6, 0 + movs r2, 0x8 + bl CpuFastSet + movs r0, 0x1 + mov r1, r10 + ands r0, r1 + cmp r0, 0 + beq _0815C15A + movs r5, 0 + movs r7, 0xF + mov r12, r7 + movs r0, 0xF0 + mov r8, r0 +_0815C118: + movs r3, 0 + lsls r4, r5, 2 +_0815C11C: + subs r0, r3, 0x3 + subs r0, r4, r0 + adds r0, r6, r0 + ldrb r1, [r0] + adds r2, r4, r3 + ldr r7, [sp] + adds r2, r7, r2 + adds r0, r1, 0 + mov r7, r12 + ands r0, r7 + lsls r0, 4 + mov r7, r8 + ands r1, r7 + lsrs r1, 4 + adds r0, r1 + strb r0, [r2] + adds r0, r3, 0x1 + lsls r0, 24 + lsrs r3, r0, 24 + cmp r3, 0x3 + bls _0815C11C + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0x7 + bls _0815C118 + ldr r0, [sp] + adds r1, r6, 0 + movs r2, 0x8 + bl CpuFastSet +_0815C15A: + movs r0, 0x2 + mov r1, r10 + ands r0, r1 + cmp r0, 0 + beq _0815C18E + movs r5, 0 +_0815C166: + lsls r0, r5, 2 + ldr r7, [sp] + adds r0, r7 + movs r1, 0x7 + subs r1, r5 + lsls r1, 2 + adds r1, r6 + movs r2, 0x4 + bl memcpy + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0x7 + bls _0815C166 + ldr r0, [sp] + adds r1, r6, 0 + movs r2, 0x8 + bl CpuFastSet +_0815C18E: + movs r5, 0 + movs r0, 0xF0 + mov r8, r0 + movs r1, 0xF + mov r12, r1 +_0815C198: + adds r4, r6, r5 + ldrb r0, [r4] + mov r3, r8 + ands r3, r0 + cmp r3, 0 + beq _0815C1B2 + mov r7, r9 + adds r2, r7, r5 + ldrb r1, [r2] + mov r0, r12 + ands r0, r1 + adds r0, r3 + strb r0, [r2] +_0815C1B2: + ldrb r0, [r4] + mov r3, r12 + ands r3, r0 + cmp r3, 0 + beq _0815C1CA + mov r0, r9 + adds r2, r0, r5 + ldrb r1, [r2] + mov r0, r8 + ands r0, r1 + adds r0, r3 + strb r0, [r2] +_0815C1CA: + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0x1F + bls _0815C198 + ldr r0, [sp] + bl Free + adds r0, r6, 0 + bl Free + add sp, 0x4 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_815C0D4 + + thumb_func_start sub_815C1F0 +sub_815C1F0: @ 815C1F0 + push {r4,lr} + adds r4, r0, 0 + lsls r1, 16 + lsrs r1, 28 + movs r3, 0 + ldrb r0, [r4] + cmp r0, r1 + beq _0815C220 + cmp r0, 0xFF + bne _0815C208 + strb r1, [r4] + b _0815C220 +_0815C208: + adds r0, r3, 0x1 + lsls r0, 16 + lsrs r3, r0, 16 + cmp r3, 0xF + bhi _0815C220 + adds r2, r4, r3 + ldrb r0, [r2] + cmp r0, r1 + beq _0815C220 + cmp r0, 0xFF + bne _0815C208 + strb r1, [r2] +_0815C220: + movs r0, 0xF + subs r0, r3 + lsls r0, 16 + lsrs r0, 16 + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_815C1F0 + + thumb_func_start sub_815C230 +sub_815C230: @ 815C230 + push {r4-r6,lr} + adds r6, r0, 0 + adds r5, r1, 0 + movs r4, 0 + ldrb r0, [r5] + cmp r0, 0xFF + beq _0815C274 +_0815C23E: + adds r1, r5, r4 + ldrb r0, [r1] + cmp r0, 0x6 + bls _0815C24A + ldr r0, [r6, 0x14] + b _0815C24C +_0815C24A: + ldr r0, [r6, 0x10] +_0815C24C: + ldrb r1, [r1] + lsls r1, 5 + ldr r0, [r0, 0x8] + adds r0, r1 + movs r1, 0xF + subs r1, r4 + lsls r1, 20 + lsrs r1, 16 + movs r2, 0x20 + bl LoadPalette + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0xF + bhi _0815C274 + adds r0, r5, r4 + ldrb r0, [r0] + cmp r0, 0xFF + bne _0815C23E +_0815C274: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_815C230 + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/.fuse_hidden00001c3c00000005 b/asm/.fuse_hidden00001c3c00000005 new file mode 100644 index 000000000..2aff48af5 --- /dev/null +++ b/asm/.fuse_hidden00001c3c00000005 @@ -0,0 +1,2244 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start TeachyTvConfigRboxAndObj +TeachyTvConfigRboxAndObj: @ 815B118 + push {r4-r7,lr} + sub sp, 0x4 + lsls r0, 24 + lsrs r6, r0, 24 + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + ldr r1, _0815B190 @ =gTasks+0x8 + adds r5, r0, r1 + movs r0, 0x2 + ldrsh r1, [r5, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r1, _0815B194 @ =gSprites + adds r7, r0, r1 + movs r0, 0x1 + bl ClearWindowTilemap + bl TeachyTvClearWindowRegs + ldr r0, _0815B198 @ =gTeachyTV_StaticResources + ldrb r0, [r0, 0x5] + cmp r0, 0 + blt _0815B1B8 + cmp r0, 0x3 + bgt _0815B1A8 + ldrb r0, [r5, 0x2] + movs r1, 0x78 + movs r2, 0x38 + movs r3, 0 + bl TeachyTvSetSpriteCoordsAndSwitchFrame + movs r4, 0xC0 + lsls r4, 6 + movs r0, 0x3 + adds r1, r4, 0 + movs r2, 0x1 + bl ChangeBgX + movs r0, 0x3 + adds r1, r4, 0 + movs r2, 0x2 + bl ChangeBgY + ldr r2, _0815B19C @ =gUnknown_203F450 + ldr r1, [r2] + ldr r0, _0815B1A0 @ =0x00004004 + adds r1, r0 + ldrb r0, [r1] + adds r0, 0x3 + strb r0, [r1] + ldr r1, [r2] + ldr r0, _0815B1A4 @ =0x00004005 + adds r1, r0 + ldrb r0, [r1] + subs r0, 0x3 + strb r0, [r1] + b _0815B1B8 + .align 2, 0 +_0815B190: .4byte gTasks+0x8 +_0815B194: .4byte gSprites +_0815B198: .4byte gTeachyTV_StaticResources +_0815B19C: .4byte gUnknown_203F450 +_0815B1A0: .4byte 0x00004004 +_0815B1A4: .4byte 0x00004005 +_0815B1A8: + cmp r0, 0x5 + bgt _0815B1B8 + ldrb r0, [r5, 0x2] + movs r1, 0x78 + movs r2, 0x38 + movs r3, 0 + bl TeachyTvSetSpriteCoordsAndSwitchFrame +_0815B1B8: + movs r0, 0 + strh r0, [r5, 0x8] + strh r0, [r5, 0xA] + movs r0, 0x24 + ldrsh r1, [r7, r0] + movs r0, 0x26 + ldrsh r2, [r7, r0] + movs r0, 0x1 + str r0, [sp] + adds r0, r6, 0 + movs r3, 0 + bl sub_815BAA0 + add sp, 0x4 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end TeachyTvConfigRboxAndObj + + thumb_func_start sub_815B1DC +sub_815B1DC: @ 815B1DC + push {r4,lr} + sub sp, 0x10 + adds r4, r0, 0 + ldr r2, _0815B21C @ =gTextFlags + ldrb r1, [r2] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + strb r0, [r2] + bl GetTextSpeedSetting + adds r3, r0, 0 + lsls r3, 24 + lsrs r3, 24 + movs r0, 0 + str r0, [sp] + movs r0, 0x1 + str r0, [sp, 0x4] + movs r0, 0xC + str r0, [sp, 0x8] + movs r0, 0x3 + str r0, [sp, 0xC] + movs r0, 0 + movs r1, 0x4 + adds r2, r4, 0 + bl AddTextPrinterParametrized + add sp, 0x10 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0815B21C: .4byte gTextFlags + thumb_func_end sub_815B1DC + + thumb_func_start sub_815B220 +sub_815B220: @ 815B220 + push {r4,lr} + ldr r4, _0815B238 @ =gUnknown_203F450 + ldr r0, [r4] + bl Free + movs r0, 0 + str r0, [r4] + bl FreeAllWindowBuffers + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0815B238: .4byte gUnknown_203F450 + thumb_func_end sub_815B220 + + thumb_func_start sub_815B23C +sub_815B23C: @ 815B23C + push {r4,lr} + sub sp, 0x4 + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0x1 + negs r0, r0 + movs r1, 0 + str r1, [sp] + movs r2, 0 + movs r3, 0x10 + bl BeginNormalPaletteFade + ldr r1, _0815B26C @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r1, _0815B270 @ =sub_815B274 + str r1, [r0] + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0815B26C: .4byte gTasks +_0815B270: .4byte sub_815B274 + thumb_func_end sub_815B23C + + thumb_func_start sub_815B274 +sub_815B274: @ 815B274 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _0815B298 @ =gPaletteFade + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + bne _0815B2B6 + ldr r0, _0815B29C @ =gUnknown_203F450 + ldr r0, [r0] + ldr r0, [r0] + cmp r0, 0 + beq _0815B2A0 + bl SetMainCallback2 + b _0815B2AC + .align 2, 0 +_0815B298: .4byte gPaletteFade +_0815B29C: .4byte gUnknown_203F450 +_0815B2A0: + bl sub_8055DC4 + ldr r0, _0815B2BC @ =gTeachyTV_StaticResources + ldr r0, [r0] + bl SetMainCallback2 +_0815B2AC: + bl sub_815B220 + adds r0, r4, 0 + bl DestroyTask +_0815B2B6: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0815B2BC: .4byte gTeachyTV_StaticResources + thumb_func_end sub_815B274 + + thumb_func_start sub_815B2C0 +sub_815B2C0: @ 815B2C0 + push {r4-r7,lr} + lsls r0, 24 + lsrs r7, r0, 24 + lsls r0, r7, 2 + adds r0, r7 + lsls r0, 3 + ldr r1, _0815B31C @ =gTasks+0x8 + adds r6, r0, r1 + bl TeachyTvBg2AnimController + ldr r0, _0815B320 @ =gPaletteFade + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + bne _0815B37A + ldrb r0, [r6] + bl ListMenuHandleInput + adds r5, r0, 0 + ldrb r0, [r6] + ldr r4, _0815B324 @ =gTeachyTV_StaticResources+6 + adds r2, r4, 0x2 + adds r1, r4, 0 + bl get_coro_args_x18_x1A + ldr r0, _0815B328 @ =gMain + ldrh r1, [r0, 0x2E] + movs r0, 0x4 + ands r0, r1 + cmp r0, 0 + beq _0815B30A + subs r0, r4, 0x6 + ldr r1, [r0] + ldr r0, _0815B32C @ =UseFameCheckerFromMenu + cmp r1, r0 + bne _0815B330 +_0815B30A: + movs r0, 0x2 + negs r0, r0 + cmp r5, r0 + beq _0815B330 + adds r0, 0x1 + cmp r5, r0 + bne _0815B33E + b _0815B37A + .align 2, 0 +_0815B31C: .4byte gTasks+0x8 +_0815B320: .4byte gPaletteFade +_0815B324: .4byte gTeachyTV_StaticResources+6 +_0815B328: .4byte gMain +_0815B32C: .4byte UseFameCheckerFromMenu +_0815B330: + movs r0, 0x5 + bl PlaySE + adds r0, r7, 0 + bl sub_815B23C + b _0815B37A +_0815B33E: + movs r0, 0x5 + bl PlaySE + ldr r2, _0815B380 @ =gTeachyTV_StaticResources + movs r4, 0 + strb r5, [r2, 0x5] + ldrb r0, [r6] + adds r1, r2, 0x6 + adds r2, 0x8 + bl DestroyListMenu + bl TeachyTvClearWindowRegs + movs r0, 0x1 + bl ClearWindowTilemap + movs r0, 0 + bl schedule_bg_copy_tilemap_to_vram + bl TeachyTvRemoveScrollIndicatorArrowPair + strh r4, [r6, 0x6] + strh r4, [r6, 0x4] + ldr r1, _0815B384 @ =gTasks + lsls r0, r7, 2 + adds r0, r7 + lsls r0, 3 + adds r0, r1 + ldr r1, _0815B388 @ =sub_815B4EC + str r1, [r0] +_0815B37A: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0815B380: .4byte gTeachyTV_StaticResources +_0815B384: .4byte gTasks +_0815B388: .4byte sub_815B4EC + thumb_func_end sub_815B2C0 + + thumb_func_start sub_815B38C +sub_815B38C: @ 815B38C + push {r4,lr} + sub sp, 0xC + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, _0815B3F8 @ =gTasks+0x8 + adds r4, r1, r0 + bl TeachyTvBg2AnimController + ldrh r0, [r4, 0x4] + adds r0, 0x1 + strh r0, [r4, 0x4] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x3F + ble _0815B3F0 + ldr r0, _0815B3FC @ =gUnknown_203F450 + ldr r1, [r0] + ldr r0, _0815B400 @ =0x00003004 + adds r1, r0 + movs r0, 0x20 + str r0, [sp] + str r0, [sp, 0x4] + movs r0, 0x11 + str r0, [sp, 0x8] + movs r0, 0x2 + movs r2, 0 + movs r3, 0 + bl CopyToBgTilemapBufferRect_ChangePalette + ldrb r0, [r4, 0x2] + movs r1, 0x8 + movs r2, 0x38 + movs r3, 0x7 + bl TeachyTvSetSpriteCoordsAndSwitchFrame + movs r0, 0x2 + bl schedule_bg_copy_tilemap_to_vram + movs r0, 0 + strh r0, [r4, 0x4] + ldrh r0, [r4, 0x6] + adds r0, 0x1 + strh r0, [r4, 0x6] + movs r0, 0x88 + lsls r0, 1 + bl PlayNewMapMusic +_0815B3F0: + add sp, 0xC + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0815B3F8: .4byte gTasks+0x8 +_0815B3FC: .4byte gUnknown_203F450 +_0815B400: .4byte 0x00003004 + thumb_func_end sub_815B38C + + thumb_func_start sub_815B404 +sub_815B404: @ 815B404 + push {r4,lr} + sub sp, 0x8 + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, _0815B450 @ =gTasks+0x8 + adds r4, r1, r0 + ldrh r0, [r4, 0x4] + adds r0, 0x1 + strh r0, [r4, 0x4] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x86 + bne _0815B448 + movs r0, 0x1A + str r0, [sp] + movs r0, 0xC + str r0, [sp, 0x4] + movs r0, 0x2 + movs r1, 0 + movs r2, 0x2 + movs r3, 0x1 + bl FillBgTilemapBufferRect_Palette0 + movs r0, 0x2 + bl schedule_bg_copy_tilemap_to_vram + movs r0, 0 + strh r0, [r4, 0x4] + ldrh r0, [r4, 0x6] + adds r0, 0x1 + strh r0, [r4, 0x6] +_0815B448: + add sp, 0x8 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0815B450: .4byte gTasks+0x8 + thumb_func_end sub_815B404 + + thumb_func_start sub_815B454 +sub_815B454: @ 815B454 + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, _0815B484 @ =gTasks+0x8 + adds r4, r1, r0 + movs r0, 0x2 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r1, _0815B488 @ =gSprites + adds r1, r0, r1 + ldrh r2, [r4, 0x4] + movs r3, 0x4 + ldrsh r0, [r4, r3] + cmp r0, 0x23 + beq _0815B48C + adds r0, r2, 0x1 + strh r0, [r4, 0x4] + b _0815B4B8 + .align 2, 0 +_0815B484: .4byte gTasks+0x8 +_0815B488: .4byte gSprites +_0815B48C: + ldrh r2, [r1, 0x24] + movs r3, 0x24 + ldrsh r0, [r1, r3] + cmp r0, 0x78 + bne _0815B4B4 + adds r0, r1, 0 + movs r1, 0 + bl StartSpriteAnim + ldr r0, _0815B4B0 @ =gUnknown_841B83D + bl sub_815B1DC + movs r0, 0 + strh r0, [r4, 0x4] + ldrh r0, [r4, 0x6] + adds r0, 0x1 + strh r0, [r4, 0x6] + b _0815B4B8 + .align 2, 0 +_0815B4B0: .4byte gUnknown_841B83D +_0815B4B4: + adds r0, r2, 0x1 + strh r0, [r1, 0x24] +_0815B4B8: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_815B454 + + thumb_func_start sub_815B4C0 +sub_815B4C0: @ 815B4C0 + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, _0815B4E8 @ =gTasks+0x8 + adds r4, r1, r0 + movs r0, 0 + bl sub_80BF518 + lsls r0, 16 + cmp r0, 0 + bne _0815B4E2 + ldrh r0, [r4, 0x6] + adds r0, 0x1 + strh r0, [r4, 0x6] +_0815B4E2: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0815B4E8: .4byte gTasks+0x8 + thumb_func_end sub_815B4C0 + + thumb_func_start sub_815B4EC +sub_815B4EC: @ 815B4EC + push {r4-r7,lr} + lsls r0, 24 + lsrs r2, r0, 24 + lsls r0, r2, 2 + adds r0, r2 + lsls r6, r0, 3 + ldr r7, _0815B548 @ =gTasks+0x8 + adds r5, r6, r7 + ldr r0, _0815B54C @ =gMain + ldrh r1, [r0, 0x2E] + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _0815B55C + ldr r0, _0815B550 @ =gUnknown_203F450 + ldr r0, [r0] + ldr r1, _0815B554 @ =0x00004006 + adds r0, r1 + movs r4, 0 + movs r1, 0x1 + strb r1, [r0] + ldrb r0, [r5, 0x2] + movs r1, 0 + movs r2, 0 + movs r3, 0 + bl TeachyTvSetSpriteCoordsAndSwitchFrame + movs r0, 0 + movs r1, 0xCC + bl FillWindowPixelBuffer + movs r0, 0 + movs r1, 0x2 + bl CopyWindowToVram + bl sub_815B908 + strh r4, [r5, 0x4] + strh r4, [r5, 0x6] + adds r0, r7, 0 + subs r0, 0x8 + adds r0, r6, r0 + ldr r1, _0815B558 @ =sub_815B92C + str r1, [r0] + b _0815B578 + .align 2, 0 +_0815B548: .4byte gTasks+0x8 +_0815B54C: .4byte gMain +_0815B550: .4byte gUnknown_203F450 +_0815B554: .4byte 0x00004006 +_0815B558: .4byte sub_815B92C +_0815B55C: + ldr r1, _0815B580 @ =gUnknown_8479548 + ldr r0, _0815B584 @ =gTeachyTV_StaticResources + ldrb r0, [r0, 0x5] + lsls r0, 2 + adds r0, r1 + ldr r1, [r0] + movs r3, 0x6 + ldrsh r0, [r5, r3] + lsls r0, 2 + adds r0, r1 + ldr r1, [r0] + adds r0, r2, 0 + bl _call_via_r1 +_0815B578: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0815B580: .4byte gUnknown_8479548 +_0815B584: .4byte gTeachyTV_StaticResources + thumb_func_end sub_815B4EC + + thumb_func_start sub_815B588 +sub_815B588: @ 815B588 + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r4, r0, 2 + adds r4, r0 + lsls r4, 3 + ldr r0, _0815B5B4 @ =gTasks+0x8 + adds r4, r0 + ldr r1, _0815B5B8 @ =gUnknown_8479560 + ldr r0, _0815B5BC @ =gTeachyTV_StaticResources + ldrb r0, [r0, 0x5] + lsls r0, 2 + adds r0, r1 + ldr r0, [r0] + bl sub_815B1DC + ldrh r0, [r4, 0x6] + adds r0, 0x1 + strh r0, [r4, 0x6] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0815B5B4: .4byte gTasks+0x8 +_0815B5B8: .4byte gUnknown_8479560 +_0815B5BC: .4byte gTeachyTV_StaticResources + thumb_func_end sub_815B588 + + thumb_func_start sub_815B5C0 +sub_815B5C0: @ 815B5C0 + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r4, r0, 2 + adds r4, r0 + lsls r4, 3 + ldr r0, _0815B5EC @ =gTasks+0x8 + adds r4, r0 + ldr r1, _0815B5F0 @ =gUnknown_8479578 + ldr r0, _0815B5F4 @ =gTeachyTV_StaticResources + ldrb r0, [r0, 0x5] + lsls r0, 2 + adds r0, r1 + ldr r0, [r0] + bl sub_815B1DC + ldrh r0, [r4, 0x6] + adds r0, 0x1 + strh r0, [r4, 0x6] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0815B5EC: .4byte gTasks+0x8 +_0815B5F0: .4byte gUnknown_8479578 +_0815B5F4: .4byte gTeachyTV_StaticResources + thumb_func_end sub_815B5C0 + + thumb_func_start sub_815B5F8 +sub_815B5F8: @ 815B5F8 + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, _0815B620 @ =gTasks+0x8 + adds r4, r1, r0 + movs r0, 0 + bl sub_80BF518 + lsls r0, 16 + cmp r0, 0 + bne _0815B61A + ldrh r0, [r4, 0x6] + adds r0, 0x1 + strh r0, [r4, 0x6] +_0815B61A: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0815B620: .4byte gTasks+0x8 + thumb_func_end sub_815B5F8 + + thumb_func_start sub_815B624 +sub_815B624: @ 815B624 + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, _0815B65C @ =gTasks+0x8 + adds r4, r1, r0 + ldr r0, _0815B660 @ =gMain + ldrh r1, [r0, 0x2E] + movs r0, 0x3 + ands r0, r1 + cmp r0, 0 + beq _0815B656 + movs r0, 0 + movs r1, 0xCC + bl FillWindowPixelBuffer + movs r0, 0 + movs r1, 0x2 + bl CopyWindowToVram + ldrh r0, [r4, 0x6] + adds r0, 0x1 + strh r0, [r4, 0x6] +_0815B656: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0815B65C: .4byte gTasks+0x8 +_0815B660: .4byte gMain + thumb_func_end sub_815B624 + + thumb_func_start sub_815B664 +sub_815B664: @ 815B664 + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r4, r0, 2 + adds r4, r0 + lsls r4, 3 + ldr r0, _0815B6A0 @ =gTasks+0x8 + adds r4, r0 + movs r0, 0x2 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r1, _0815B6A4 @ =gSprites + adds r0, r1 + movs r1, 0x5 + bl StartSpriteAnim + movs r0, 0 + strh r0, [r4, 0x4] + strh r0, [r4, 0x8] + movs r0, 0x1 + strh r0, [r4, 0xA] + ldrh r0, [r4, 0x6] + adds r0, 0x1 + strh r0, [r4, 0x6] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0815B6A0: .4byte gTasks+0x8 +_0815B6A4: .4byte gSprites + thumb_func_end sub_815B664 + + thumb_func_start sub_815B6A8 +sub_815B6A8: @ 815B6A8 + push {r4-r6,lr} + sub sp, 0x4 + lsls r0, 24 + lsrs r5, r0, 24 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + ldr r1, _0815B730 @ =gTasks+0x8 + adds r4, r0, r1 + movs r0, 0x2 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r1, _0815B734 @ =gSprites + adds r6, r0, r1 + movs r1, 0x80 + lsls r1, 1 + movs r0, 0x3 + movs r2, 0x2 + bl ChangeBgY + ldrh r0, [r4, 0x4] + adds r0, 0x1 + strh r0, [r4, 0x4] + movs r3, 0xF + ands r3, r0 + cmp r3, 0 + bne _0815B702 + ldr r0, _0815B738 @ =gUnknown_203F450 + ldr r1, [r0] + ldr r2, _0815B73C @ =0x00004005 + adds r1, r2 + ldrb r0, [r1] + subs r0, 0x1 + strb r0, [r1] + movs r0, 0x24 + ldrsh r1, [r6, r0] + movs r0, 0x26 + ldrsh r2, [r6, r0] + str r3, [sp] + adds r0, r5, 0 + movs r3, 0 + bl sub_815BAA0 +_0815B702: + movs r1, 0x4 + ldrsh r0, [r4, r1] + cmp r0, 0x30 + bne _0815B726 + movs r1, 0 + strh r1, [r4, 0x4] + movs r2, 0x1 + negs r2, r2 + adds r0, r2, 0 + strh r0, [r4, 0x8] + strh r1, [r4, 0xA] + adds r0, r6, 0 + movs r1, 0x7 + bl StartSpriteAnim + ldrh r0, [r4, 0x6] + adds r0, 0x1 + strh r0, [r4, 0x6] +_0815B726: + add sp, 0x4 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0815B730: .4byte gTasks+0x8 +_0815B734: .4byte gSprites +_0815B738: .4byte gUnknown_203F450 +_0815B73C: .4byte 0x00004005 + thumb_func_end sub_815B6A8 + + thumb_func_start sub_815B740 +sub_815B740: @ 815B740 + push {r4-r6,lr} + sub sp, 0x4 + lsls r0, 24 + lsrs r0, 24 + adds r5, r0, 0 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + ldr r1, _0815B7D4 @ =gTasks+0x8 + adds r4, r0, r1 + movs r0, 0x2 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r1, _0815B7D8 @ =gSprites + adds r6, r0, r1 + movs r1, 0x80 + lsls r1, 1 + movs r0, 0x3 + movs r2, 0x1 + bl ChangeBgX + ldrh r0, [r4, 0x4] + adds r0, 0x1 + strh r0, [r4, 0x4] + movs r2, 0xF + ands r0, r2 + cmp r0, 0 + bne _0815B78A + ldr r0, _0815B7DC @ =gUnknown_203F450 + ldr r1, [r0] + ldr r3, _0815B7E0 @ =0x00004004 + adds r1, r3 + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] +_0815B78A: + movs r1, 0x4 + ldrsh r0, [r4, r1] + adds r0, 0x8 + ands r0, r2 + cmp r0, 0 + bne _0815B7AC + ldrh r1, [r6, 0x24] + adds r1, 0x8 + lsls r1, 16 + asrs r1, 16 + movs r3, 0x26 + ldrsh r2, [r6, r3] + str r0, [sp] + adds r0, r5, 0 + movs r3, 0 + bl sub_815BAA0 +_0815B7AC: + movs r1, 0x4 + ldrsh r0, [r4, r1] + cmp r0, 0x30 + bne _0815B7CA + movs r0, 0 + strh r0, [r4, 0x4] + strh r0, [r4, 0x8] + strh r0, [r4, 0xA] + adds r0, r6, 0 + movs r1, 0x3 + bl StartSpriteAnim + ldrh r0, [r4, 0x6] + adds r0, 0x1 + strh r0, [r4, 0x6] +_0815B7CA: + add sp, 0x4 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0815B7D4: .4byte gTasks+0x8 +_0815B7D8: .4byte gSprites +_0815B7DC: .4byte gUnknown_203F450 +_0815B7E0: .4byte 0x00004004 + thumb_func_end sub_815B740 + + thumb_func_start sub_815B7E4 +sub_815B7E4: @ 815B7E4 + push {r4-r6,lr} + sub sp, 0x4 + adds r6, r0, 0 + lsls r6, 24 + lsrs r6, 24 + lsls r5, r6, 2 + adds r5, r6 + lsls r5, 3 + ldr r0, _0815B838 @ =gTasks+0x8 + adds r5, r0 + movs r1, 0x2 + ldrsh r0, [r5, r1] + lsls r4, r0, 4 + adds r4, r0 + lsls r4, 2 + ldr r0, _0815B83C @ =gSprites + adds r4, r0 + adds r0, r4, 0 + movs r1, 0x6 + bl StartSpriteAnim + ldrh r0, [r5, 0x6] + adds r0, 0x1 + strh r0, [r5, 0x6] + movs r0, 0 + strh r0, [r5, 0x8] + strh r0, [r5, 0xA] + movs r0, 0x24 + ldrsh r1, [r4, r0] + movs r0, 0x26 + ldrsh r2, [r4, r0] + movs r0, 0 + str r0, [sp] + adds r0, r6, 0 + movs r3, 0 + bl sub_815BAA0 + add sp, 0x4 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0815B838: .4byte gTasks+0x8 +_0815B83C: .4byte gSprites + thumb_func_end sub_815B7E4 + + thumb_func_start sub_815B840 +sub_815B840: @ 815B840 + push {r4-r6,lr} + sub sp, 0x4 + lsls r0, 24 + lsrs r3, r0, 24 + lsls r0, r3, 2 + adds r0, r3 + lsls r0, 3 + ldr r1, _0815B890 @ =gTasks+0x8 + adds r5, r0, r1 + movs r0, 0x2 + ldrsh r1, [r5, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r1, _0815B894 @ =gSprites + adds r4, r0, r1 + ldrh r1, [r4, 0x24] + movs r0, 0xF + ands r0, r1 + cmp r0, 0 + bne _0815B87E + subs r1, 0x8 + lsls r1, 16 + asrs r1, 16 + movs r6, 0x26 + ldrsh r2, [r4, r6] + str r0, [sp] + adds r0, r3, 0 + movs r3, 0 + bl sub_815BAA0 +_0815B87E: + ldrh r1, [r4, 0x24] + movs r2, 0x24 + ldrsh r0, [r4, r2] + cmp r0, 0x8 + bne _0815B898 + ldrh r0, [r5, 0x6] + adds r0, 0x1 + strh r0, [r5, 0x6] + b _0815B89C + .align 2, 0 +_0815B890: .4byte gTasks+0x8 +_0815B894: .4byte gSprites +_0815B898: + subs r0, r1, 0x1 + strh r0, [r4, 0x24] +_0815B89C: + add sp, 0x4 + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_815B840 + + thumb_func_start sub_815B8A4 +sub_815B8A4: @ 815B8A4 + push {r4,lr} + sub sp, 0xC + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, _0815B900 @ =gTasks+0x8 + adds r4, r1, r0 + movs r1, 0x4 + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _0815B8DC + ldr r1, _0815B904 @ =gUnknown_8479590 + movs r0, 0x8 + str r0, [sp] + movs r0, 0x2 + str r0, [sp, 0x4] + movs r0, 0x11 + str r0, [sp, 0x8] + movs r0, 0x1 + movs r2, 0x14 + movs r3, 0xA + bl CopyToBgTilemapBufferRect_ChangePalette + movs r0, 0x1 + bl schedule_bg_copy_tilemap_to_vram +_0815B8DC: + ldrh r0, [r4, 0x4] + adds r0, 0x1 + strh r0, [r4, 0x4] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x7E + ble _0815B8F8 + bl sub_815B908 + movs r0, 0 + strh r0, [r4, 0x4] + ldrh r0, [r4, 0x6] + adds r0, 0x1 + strh r0, [r4, 0x6] +_0815B8F8: + add sp, 0xC + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0815B900: .4byte gTasks+0x8 +_0815B904: .4byte gUnknown_8479590 + thumb_func_end sub_815B8A4 + + thumb_func_start sub_815B908 +sub_815B908: @ 815B908 + push {lr} + sub sp, 0x8 + movs r0, 0x8 + str r0, [sp] + movs r0, 0x2 + str r0, [sp, 0x4] + movs r0, 0x1 + movs r1, 0 + movs r2, 0x14 + movs r3, 0xA + bl FillBgTilemapBufferRect_Palette0 + movs r0, 0x1 + bl schedule_bg_copy_tilemap_to_vram + add sp, 0x8 + pop {r0} + bx r0 + thumb_func_end sub_815B908 + + thumb_func_start sub_815B92C +sub_815B92C: @ 815B92C + push {r4-r7,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r6, r1, 3 + ldr r7, _0815B9DC @ =gTasks+0x8 + adds r5, r6, r7 + movs r1, 0x4 + ldrsh r0, [r5, r1] + cmp r0, 0 + bne _0815B94C + movs r0, 0xAD + lsls r0, 1 + bl PlayNewMapMusic +_0815B94C: + bl TeachyTvBg2AnimController + ldrh r0, [r5, 0x4] + adds r0, 0x1 + strh r0, [r5, 0x4] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x3F + ble _0815B9D4 + movs r4, 0 + strh r4, [r5, 0x4] + strh r4, [r5, 0x6] + bl TeachyTvSetupWindow + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5] + adds r0, r7, 0 + subs r0, 0x8 + adds r0, r6, r0 + ldr r1, _0815B9E0 @ =sub_815B2C0 + str r1, [r0] + movs r0, 0 + bl PutWindowTilemap + bl TeachyTvSetupScrollIndicatorArrowPair + bl TeachyTvSetWindowRegs + movs r0, 0 + bl schedule_bg_copy_tilemap_to_vram + movs r0, 0x3 + movs r1, 0 + movs r2, 0 + bl ChangeBgX + movs r0, 0x3 + movs r1, 0 + movs r2, 0 + bl ChangeBgY + movs r1, 0x80 + lsls r1, 5 + movs r0, 0x3 + movs r2, 0x2 + bl ChangeBgX + movs r1, 0xA0 + lsls r1, 6 + movs r0, 0x3 + movs r2, 0x1 + bl ChangeBgY + ldr r2, _0815B9E4 @ =gUnknown_203F450 + ldr r0, [r2] + ldr r1, _0815B9E8 @ =0x00004004 + adds r0, r1 + strb r4, [r0] + ldr r0, [r2] + adds r1, 0x1 + adds r0, r1 + movs r1, 0x3 + strb r1, [r0] + ldr r0, [r2] + ldr r1, _0815B9EC @ =0x00004006 + adds r0, r1 + strb r4, [r0] +_0815B9D4: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0815B9DC: .4byte gTasks+0x8 +_0815B9E0: .4byte sub_815B2C0 +_0815B9E4: .4byte gUnknown_203F450 +_0815B9E8: .4byte 0x00004004 +_0815B9EC: .4byte 0x00004006 + thumb_func_end sub_815B92C + + thumb_func_start sub_815B9F0 +sub_815B9F0: @ 815B9F0 + push {lr} + lsls r0, 24 + lsrs r1, r0, 24 + adds r2, r1, 0 + ldr r0, _0815BA0C @ =gTeachyTV_StaticResources + ldrb r0, [r0, 0x5] + cmp r0, 0 + blt _0815BA22 + cmp r0, 0x3 + bgt _0815BA10 + adds r0, r1, 0 + bl sub_815BC90 + b _0815BA22 + .align 2, 0 +_0815BA0C: .4byte gTeachyTV_StaticResources +_0815BA10: + cmp r0, 0x5 + bgt _0815BA22 + ldr r0, _0815BA28 @ =gUnknown_203F450 + ldr r1, [r0] + ldr r0, _0815BA2C @ =sub_815BA30 + str r0, [r1] + adds r0, r2, 0 + bl sub_815B23C +_0815BA22: + pop {r0} + bx r0 + .align 2, 0 +_0815BA28: .4byte gUnknown_203F450 +_0815BA2C: .4byte sub_815BA30 + thumb_func_end sub_815B9F0 + + thumb_func_start sub_815BA30 +sub_815BA30: @ 815BA30 + push {lr} + ldr r0, _0815BA44 @ =gTeachyTV_StaticResources + ldrb r0, [r0, 0x5] + cmp r0, 0x4 + bne _0815BA48 + movs r0, 0xA + bl sub_810B108 + b _0815BA4E + .align 2, 0 +_0815BA44: .4byte gTeachyTV_StaticResources +_0815BA48: + movs r0, 0x9 + bl sub_810B108 +_0815BA4E: + pop {r0} + bx r0 + thumb_func_end sub_815BA30 + + thumb_func_start TeachyTvTaskFunction +TeachyTvTaskFunction: @ 815BA54 + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r2, r1, 3 + ldr r4, _0815BA8C @ =gTasks+0x8 + adds r3, r2, r4 + ldr r0, _0815BA90 @ =gPaletteFade + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + bne _0815BA86 + ldr r1, _0815BA94 @ =gUnknown_8479390 + ldr r0, _0815BA98 @ =gTeachyTV_StaticResources + ldrb r0, [r0, 0x5] + adds r0, r1 + ldrb r0, [r0] + strh r0, [r3, 0x6] + adds r0, r4, 0 + subs r0, 0x8 + adds r0, r2, r0 + ldr r1, _0815BA9C @ =sub_815B4EC + str r1, [r0] +_0815BA86: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0815BA8C: .4byte gTasks+0x8 +_0815BA90: .4byte gPaletteFade +_0815BA94: .4byte gUnknown_8479390 +_0815BA98: .4byte gTeachyTV_StaticResources +_0815BA9C: .4byte sub_815B4EC + thumb_func_end TeachyTvTaskFunction + + thumb_func_start sub_815BAA0 +sub_815BAA0: @ 815BAA0 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + ldr r4, [sp, 0x1C] + lsls r0, 24 + lsrs r0, 24 + mov r9, r0 + lsls r1, 16 + lsrs r6, r1, 16 + lsls r2, 16 + lsrs r1, r2, 16 + lsls r3, 24 + lsrs r7, r3, 24 + lsls r4, 24 + lsrs r4, 24 + mov r8, r4 + ldr r0, _0815BB34 @ =gUnknown_203F450 + ldr r0, [r0] + ldr r2, _0815BB38 @ =0x00004006 + adds r0, r2 + ldrb r0, [r0] + cmp r0, 0x1 + beq _0815BB5C + lsls r0, r6, 16 + ldr r2, _0815BB3C @ =0xfff00000 + adds r0, r2 + asrs r0, 16 + lsls r1, 16 + asrs r5, r1, 16 + adds r1, r5, 0 + bl sub_815BC40 + lsls r0, 24 + cmp r0, 0 + beq _0815BB5C + ldr r0, _0815BB40 @ =gUnknown_83A0010 + ldr r0, [r0, 0x10] + movs r1, 0 + movs r2, 0 + adds r3, r7, 0 + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + ldr r0, _0815BB44 @ =gSprites + adds r4, r1, r0 + strh r6, [r4, 0x24] + adds r0, r5, 0 + adds r0, 0x8 + strh r0, [r4, 0x26] + ldr r0, _0815BB48 @ =sub_815BB6C + str r0, [r4, 0x1C] + mov r0, r9 + strh r0, [r4, 0x2E] + mov r2, r8 + cmp r2, 0x1 + bne _0815BB4C + adds r0, r4, 0 + movs r1, 0x4 + bl SeekSpriteAnim + ldrb r0, [r4, 0x5] + movs r1, 0xD + negs r1, r1 + ands r1, r0 + movs r0, 0x8 + orrs r1, r0 + strb r1, [r4, 0x5] + b _0815BB5C + .align 2, 0 +_0815BB34: .4byte gUnknown_203F450 +_0815BB38: .4byte 0x00004006 +_0815BB3C: .4byte 0xfff00000 +_0815BB40: .4byte gUnknown_83A0010 +_0815BB44: .4byte gSprites +_0815BB48: .4byte sub_815BB6C +_0815BB4C: + ldr r1, _0815BB68 @ =gUnknown_84795B8 + adds r0, r4, 0 + bl SetSubspriteTables + adds r1, r4, 0 + adds r1, 0x42 + movs r0, 0x40 + strb r0, [r1] +_0815BB5C: + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0815BB68: .4byte gUnknown_84795B8 + thumb_func_end sub_815BAA0 + + thumb_func_start sub_815BB6C +sub_815BB6C: @ 815BB6C + push {r4,r5,lr} + adds r3, r0, 0 + movs r0, 0x2E + ldrsh r1, [r3, r0] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + ldr r1, _0815BBA4 @ =gTasks+0x8 + adds r4, r0, r1 + movs r2, 0x2 + ldrsh r1, [r4, r2] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r1, _0815BBA8 @ =gSprites + adds r5, r0, r1 + ldr r0, _0815BBAC @ =gUnknown_203F450 + ldr r0, [r0] + ldr r1, _0815BBB0 @ =0x00004006 + adds r0, r1 + ldrb r0, [r0] + cmp r0, 0x1 + bne _0815BBB4 + adds r0, r3, 0 + bl DestroySprite + b _0815BC3A + .align 2, 0 +_0815BBA4: .4byte gTasks+0x8 +_0815BBA8: .4byte gSprites +_0815BBAC: .4byte gUnknown_203F450 +_0815BBB0: .4byte 0x00004006 +_0815BBB4: + adds r0, r3, 0 + adds r0, 0x2B + ldrb r0, [r0] + cmp r0, 0 + bne _0815BBD2 + adds r2, r3, 0 + adds r2, 0x42 + ldrb r0, [r2] + movs r1, 0x40 + negs r1, r1 + ands r1, r0 + movs r0, 0x1 + orrs r1, r0 + strb r1, [r2] + b _0815BBE0 +_0815BBD2: + adds r2, r3, 0 + adds r2, 0x42 + ldrb r1, [r2] + movs r0, 0x40 + negs r0, r0 + ands r0, r1 + strb r0, [r2] +_0815BBE0: + ldrh r0, [r4, 0x8] + ldrh r2, [r3, 0x24] + adds r0, r2 + strh r0, [r3, 0x24] + ldrh r0, [r4, 0xA] + ldrh r1, [r3, 0x26] + adds r0, r1 + strh r0, [r3, 0x26] + adds r0, r3, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x10 + ands r0, r1 + cmp r0, 0 + beq _0815BC3A + adds r1, r3, 0 + adds r1, 0x43 + movs r0, 0 + strb r0, [r1] + ldrh r1, [r3, 0x24] + ldrh r0, [r5, 0x24] + subs r1, r0 + ldrh r0, [r3, 0x26] + ldrh r2, [r5, 0x26] + subs r0, r2 + lsls r0, 16 + lsrs r0, 16 + lsls r1, 16 + movs r2, 0xF0 + lsls r2, 12 + adds r1, r2 + lsrs r1, 16 + cmp r1, 0x1E + bhi _0815BC34 + lsls r0, 16 + asrs r1, r0, 16 + movs r0, 0x10 + negs r0, r0 + cmp r1, r0 + ble _0815BC34 + cmp r1, 0x17 + ble _0815BC3A +_0815BC34: + adds r0, r3, 0 + bl DestroySprite +_0815BC3A: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_815BB6C + + thumb_func_start sub_815BC40 +sub_815BC40: @ 815BC40 + push {r4,r5,lr} + lsls r1, 16 + lsrs r1, 16 + lsls r4, r0, 16 + cmp r4, 0 + blt _0815BC52 + lsls r1, 16 + cmp r1, 0 + bge _0815BC56 +_0815BC52: + movs r0, 0 + b _0815BC78 +_0815BC56: + ldr r3, _0815BC80 @ =gUnknown_84795C8 + ldr r0, _0815BC84 @ =gUnknown_203F450 + ldr r2, [r0] + ldr r5, _0815BC88 @ =0x00004005 + adds r0, r2, r5 + asrs r1, 20 + ldrb r0, [r0] + adds r1, r0 + lsls r1, 4 + ldr r0, _0815BC8C @ =0x00004004 + adds r2, r0 + asrs r0, r4, 20 + ldrb r2, [r2] + adds r0, r2 + adds r1, r0 + adds r1, r3 + ldrb r0, [r1] +_0815BC78: + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_0815BC80: .4byte gUnknown_84795C8 +_0815BC84: .4byte gUnknown_203F450 +_0815BC88: .4byte 0x00004005 +_0815BC8C: .4byte 0x00004004 + thumb_func_end sub_815BC40 + + thumb_func_start sub_815BC90 +sub_815BC90: @ 815BC90 + push {r4-r6,lr} + lsls r0, 24 + lsrs r6, r0, 24 + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + ldr r1, _0815BCCC @ =gTasks+0x8 + adds r5, r0, r1 + bl sub_815B220 + ldr r1, _0815BCD0 @ =gSpecialVar_0x8004 + ldr r4, _0815BCD4 @ =gTeachyTV_StaticResources + ldrb r0, [r4, 0x5] + strh r0, [r1] + ldr r1, _0815BCD8 @ =gMain + ldr r0, _0815BCDC @ =sub_815BD58 + str r0, [r1, 0x8] + bl SavePlayerParty + bl sub_8159F40 + movs r0, 0 + bl PlayMapChosenOrBattleBGM + ldrb r0, [r4, 0x5] + cmp r0, 0 + bne _0815BCE0 + movs r0, 0x9 + b _0815BCE2 + .align 2, 0 +_0815BCCC: .4byte gTasks+0x8 +_0815BCD0: .4byte gSpecialVar_0x8004 +_0815BCD4: .4byte gTeachyTV_StaticResources +_0815BCD8: .4byte gMain +_0815BCDC: .4byte sub_815BD58 +_0815BCE0: + movs r0, 0x8 +_0815BCE2: + strh r0, [r5, 0xC] + movs r0, 0 + strh r0, [r5, 0xE] + ldr r1, _0815BCFC @ =gTasks + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + adds r0, r1 + ldr r1, _0815BD00 @ =sub_815BD04 + str r1, [r0] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0815BCFC: .4byte gTasks +_0815BD00: .4byte sub_815BD04 + thumb_func_end sub_815BC90 + + thumb_func_start sub_815BD04 +sub_815BD04: @ 815BD04 + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + ldr r1, _0815BD24 @ =gTasks+0x8 + adds r4, r0, r1 + movs r1, 0xE + ldrsh r0, [r4, r1] + cmp r0, 0 + beq _0815BD28 + cmp r0, 0x1 + beq _0815BD36 + b _0815BD4C + .align 2, 0 +_0815BD24: .4byte gTasks+0x8 +_0815BD28: + ldrb r0, [r4, 0xC] + bl sub_80D08B8 + ldrh r0, [r4, 0xE] + adds r0, 0x1 + strh r0, [r4, 0xE] + b _0815BD4C +_0815BD36: + bl sub_80D08F8 + lsls r0, 24 + cmp r0, 0 + beq _0815BD4C + ldr r0, _0815BD54 @ =sub_800FD9C + bl SetMainCallback2 + adds r0, r5, 0 + bl DestroyTask +_0815BD4C: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0815BD54: .4byte sub_800FD9C + thumb_func_end sub_815BD04 + + thumb_func_start sub_815BD58 +sub_815BD58: @ 815BD58 + push {lr} + bl LoadPlayerParty + ldr r0, _0815BD6C @ =gUnknown_2023E8A + ldrb r0, [r0] + cmp r0, 0x3 + bne _0815BD70 + bl sub_815AC20 + b _0815BD78 + .align 2, 0 +_0815BD6C: .4byte gUnknown_2023E8A +_0815BD70: + movs r0, 0x88 + lsls r0, 1 + bl PlayNewMapMusic +_0815BD78: + bl CB2_ReturnToTeachyTV + pop {r0} + bx r0 + thumb_func_end sub_815BD58 + + thumb_func_start sub_815BD80 +sub_815BD80: @ 815BD80 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x1C + str r0, [sp, 0x4] + movs r0, 0 + str r0, [sp, 0x10] + ldr r1, _0815BE1C @ =Route1_Layout + mov r8, r1 + movs r0, 0x80 + lsls r0, 4 + bl AllocZeroed + adds r6, r0, 0 + movs r0, 0x80 + lsls r0, 8 + bl AllocZeroed + str r0, [sp, 0x8] + movs r0, 0x10 + bl Alloc + str r0, [sp, 0xC] + movs r1, 0xFF + movs r2, 0x10 + bl memset + mov r2, r8 + ldr r0, [r2, 0x10] + movs r2, 0xA0 + lsls r2, 2 + ldr r1, [sp, 0x8] + bl sub_815BF48 + mov r3, r8 + ldr r0, [r3, 0x14] + ldr r2, [sp, 0x8] + movs r3, 0xA0 + lsls r3, 7 + adds r1, r2, r3 + movs r2, 0xC0 + lsls r2, 1 + bl sub_815BF48 + movs r4, 0 +_0815BDDE: + movs r2, 0 + adds r0, r4, 0x6 + str r0, [sp, 0x18] + lsls r1, r4, 4 + mov r10, r1 + lsls r3, r4, 6 + mov r9, r3 + adds r4, 0x1 + str r4, [sp, 0x14] +_0815BDF0: + mov r1, r8 + ldr r0, [r1] + ldr r3, [sp, 0x18] + muls r0, r3 + ldr r1, [r1, 0xC] + adds r0, r2, r0 + lsls r0, 1 + adds r0, r1 + ldrh r1, [r0, 0x10] + ldr r3, _0815BE20 @ =0x000003ff + adds r0, r3, 0 + adds r4, r0, 0 + ands r4, r1 + movs r3, 0 + mov r0, r10 + adds r1, r0, r2 + lsls r5, r2, 1 + adds r7, r2, 0x1 + cmp r3, r1 + bge _0815BE3C + ldrh r0, [r6] + b _0815BE34 + .align 2, 0 +_0815BE1C: .4byte Route1_Layout +_0815BE20: .4byte 0x000003ff +_0815BE24: + adds r0, r3, 0x1 + lsls r0, 16 + lsrs r3, r0, 16 + cmp r3, r1 + bge _0815BE3C + lsls r0, r3, 1 + adds r0, r6 + ldrh r0, [r0] +_0815BE34: + cmp r0, 0 + beq _0815BE46 + cmp r0, r4 + bne _0815BE24 +_0815BE3C: + lsls r0, r3, 1 + adds r0, r6 + ldrh r0, [r0] + cmp r0, 0 + bne _0815BE56 +_0815BE46: + lsls r0, r3, 1 + adds r0, r6 + strh r4, [r0] + ldr r0, [sp, 0x10] + adds r0, 0x1 + lsls r0, 16 + lsrs r0, 16 + str r0, [sp, 0x10] +_0815BE56: + mov r2, r9 + adds r1, r2, r5 + lsls r1, 1 + ldr r0, [sp, 0x4] + adds r1, r0, r1 + str r3, [sp] + mov r0, r8 + ldr r2, [sp, 0xC] + adds r3, r4, 0 + bl sub_815BF70 + lsls r0, r7, 16 + lsrs r2, r0, 16 + cmp r2, 0xF + bls _0815BDF0 + ldr r1, [sp, 0x14] + lsls r0, r1, 16 + lsrs r4, r0, 16 + cmp r4, 0x8 + bls _0815BDDE + ldr r2, [sp, 0x10] + lsls r0, r2, 7 + bl Alloc + adds r7, r0, 0 + movs r0, 0x80 + bl Alloc + adds r5, r0, 0 + movs r4, 0 + ldr r3, [sp, 0x10] + lsls r3, 23 + mov r9, r3 + ldr r0, [sp, 0x10] + cmp r4, r0 + bcs _0815BF00 + ldr r1, _0815BECC @ =0x0000027f + mov r10, r1 +_0815BEA2: + adds r0, r5, 0 + movs r1, 0 + movs r2, 0x80 + bl memset + lsls r0, r4, 1 + adds r1, r0, r6 + ldrh r0, [r1] + cmp r0, r10 + bhi _0815BED0 + mov r2, r8 + ldr r0, [r2, 0x10] + ldrh r1, [r1] + lsls r1, 4 + ldr r0, [r0, 0xC] + adds r0, r1 + adds r1, r5, 0 + ldr r2, [sp, 0x8] + bl sub_815BFF0 + b _0815BEE8 + .align 2, 0 +_0815BECC: .4byte 0x0000027f +_0815BED0: + mov r3, r8 + ldr r0, [r3, 0x14] + ldrh r1, [r1] + ldr r2, _0815BF44 @ =0xfffffd80 + adds r1, r2 + lsls r1, 4 + ldr r0, [r0, 0xC] + adds r0, r1 + adds r1, r5, 0 + ldr r2, [sp, 0x8] + bl sub_815BFF0 +_0815BEE8: + lsls r1, r4, 7 + adds r1, r7, r1 + adds r0, r5, 0 + movs r2, 0x20 + bl CpuFastSet + adds r0, r4, 0x1 + lsls r0, 16 + lsrs r4, r0, 16 + ldr r3, [sp, 0x10] + cmp r4, r3 + bcc _0815BEA2 +_0815BF00: + mov r0, r9 + lsrs r2, r0, 16 + movs r0, 0x3 + adds r1, r7, 0 + movs r3, 0 + bl LoadBgTiles + mov r0, r8 + ldr r1, [sp, 0xC] + bl sub_815C230 + adds r0, r5, 0 + bl Free + adds r0, r7, 0 + bl Free + ldr r0, [sp, 0xC] + bl Free + ldr r0, [sp, 0x8] + bl Free + adds r0, r6, 0 + bl Free + add sp, 0x1C + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0815BF44: .4byte 0xfffffd80 + thumb_func_end sub_815BD80 + + thumb_func_start sub_815BF48 +sub_815BF48: @ 815BF48 + push {lr} + adds r3, r0, 0 + lsls r2, 16 + lsrs r2, 16 + cmp r3, 0 + beq _0815BF6A + ldrb r0, [r3] + cmp r0, 0 + bne _0815BF64 + ldr r0, [r3, 0x4] + lsls r2, 3 + bl CpuFastSet + b _0815BF6A +_0815BF64: + ldr r0, [r3, 0x4] + bl LZDecompressWram +_0815BF6A: + pop {r0} + bx r0 + thumb_func_end sub_815BF48 + + thumb_func_start sub_815BF70 +sub_815BF70: @ 815BF70 + push {r4-r7,lr} + adds r5, r0, 0 + adds r7, r1, 0 + adds r6, r2, 0 + ldr r0, [sp, 0x14] + lsls r3, 16 + lsrs r1, r3, 16 + lsls r0, 16 + lsrs r4, r0, 16 + ldr r0, _0815BF8C @ =0x0000027f + cmp r1, r0 + bhi _0815BF90 + ldr r0, [r5, 0x10] + b _0815BF96 + .align 2, 0 +_0815BF8C: .4byte 0x0000027f +_0815BF90: + ldr r0, [r5, 0x14] + ldr r2, _0815BFEC @ =0xfffffd80 + adds r1, r2 +_0815BF96: + lsls r1, 4 + ldr r0, [r0, 0xC] + adds r5, r0, r1 + ldrh r1, [r5] + adds r0, r6, 0 + bl sub_815C1F0 + lsls r0, 12 + lsls r4, 2 + adds r0, r4 + strh r0, [r7] + ldrh r1, [r5, 0x2] + adds r0, r6, 0 + bl sub_815C1F0 + lsls r0, 12 + adds r0, r4 + adds r0, 0x1 + strh r0, [r7, 0x2] + ldrh r1, [r5, 0x4] + adds r0, r6, 0 + bl sub_815C1F0 + adds r1, r7, 0 + adds r1, 0x40 + lsls r0, 12 + adds r0, r4 + adds r0, 0x2 + strh r0, [r1] + ldrh r1, [r5, 0x6] + adds r0, r6, 0 + bl sub_815C1F0 + adds r1, r7, 0 + adds r1, 0x42 + lsls r0, 12 + adds r0, r4 + adds r0, 0x3 + strh r0, [r1] + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0815BFEC: .4byte 0xfffffd80 + thumb_func_end sub_815BF70 + + thumb_func_start sub_815BFF0 +sub_815BFF0: @ 815BFF0 + push {r4-r6,lr} + mov r6, r10 + mov r5, r9 + mov r4, r8 + push {r4-r6} + mov r8, r0 + mov r9, r1 + adds r5, r2, 0 + ldrh r2, [r0] + ldr r4, _0815C0D0 @ =0x000003ff + adds r1, r4, 0 + ands r1, r2 + lsls r1, 5 + adds r1, r5, r1 + lsrs r2, 10 + movs r6, 0x3 + ands r2, r6 + mov r0, r9 + bl sub_815C0D4 + mov r0, r8 + ldrh r2, [r0, 0x8] + adds r1, r4, 0 + ands r1, r2 + lsls r1, 5 + adds r1, r5, r1 + lsrs r2, 10 + ands r2, r6 + mov r0, r9 + bl sub_815C0D4 + movs r0, 0x20 + add r0, r9 + mov r10, r0 + mov r0, r8 + ldrh r2, [r0, 0x2] + adds r1, r4, 0 + ands r1, r2 + lsls r1, 5 + adds r1, r5, r1 + lsrs r2, 10 + ands r2, r6 + mov r0, r10 + bl sub_815C0D4 + mov r0, r8 + ldrh r2, [r0, 0xA] + adds r1, r4, 0 + ands r1, r2 + lsls r1, 5 + adds r1, r5, r1 + lsrs r2, 10 + ands r2, r6 + mov r0, r10 + bl sub_815C0D4 + movs r0, 0x40 + add r0, r9 + mov r10, r0 + mov r0, r8 + ldrh r2, [r0, 0x4] + adds r1, r4, 0 + ands r1, r2 + lsls r1, 5 + adds r1, r5, r1 + lsrs r2, 10 + ands r2, r6 + mov r0, r10 + bl sub_815C0D4 + mov r0, r8 + ldrh r2, [r0, 0xC] + adds r1, r4, 0 + ands r1, r2 + lsls r1, 5 + adds r1, r5, r1 + lsrs r2, 10 + ands r2, r6 + mov r0, r10 + bl sub_815C0D4 + movs r0, 0x60 + add r9, r0 + mov r0, r8 + ldrh r2, [r0, 0x6] + adds r1, r4, 0 + ands r1, r2 + lsls r1, 5 + adds r1, r5, r1 + lsrs r2, 10 + ands r2, r6 + mov r0, r9 + bl sub_815C0D4 + mov r0, r8 + ldrh r2, [r0, 0xE] + ands r4, r2 + lsls r4, 5 + adds r5, r4 + lsrs r2, 10 + ands r2, r6 + mov r0, r9 + adds r1, r5, 0 + bl sub_815C0D4 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0815C0D0: .4byte 0x000003ff + thumb_func_end sub_815BFF0 + + thumb_func_start sub_815C0D4 +sub_815C0D4: @ 815C0D4 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x4 + mov r9, r0 + adds r4, r1, 0 + lsls r2, 24 + lsrs r2, 24 + mov r10, r2 + movs r0, 0x20 + bl AllocZeroed + adds r6, r0, 0 + movs r0, 0x20 + bl AllocZeroed + str r0, [sp] + adds r0, r4, 0 + adds r1, r6, 0 + movs r2, 0x8 + bl CpuFastSet + movs r0, 0x1 + mov r1, r10 + ands r0, r1 + cmp r0, 0 + beq _0815C15A + movs r5, 0 + movs r7, 0xF + mov r12, r7 + movs r0, 0xF0 + mov r8, r0 +_0815C118: + movs r3, 0 + lsls r4, r5, 2 +_0815C11C: + subs r0, r3, 0x3 + subs r0, r4, r0 + adds r0, r6, r0 + ldrb r1, [r0] + adds r2, r4, r3 + ldr r7, [sp] + adds r2, r7, r2 + adds r0, r1, 0 + mov r7, r12 + ands r0, r7 + lsls r0, 4 + mov r7, r8 + ands r1, r7 + lsrs r1, 4 + adds r0, r1 + strb r0, [r2] + adds r0, r3, 0x1 + lsls r0, 24 + lsrs r3, r0, 24 + cmp r3, 0x3 + bls _0815C11C + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0x7 + bls _0815C118 + ldr r0, [sp] + adds r1, r6, 0 + movs r2, 0x8 + bl CpuFastSet +_0815C15A: + movs r0, 0x2 + mov r1, r10 + ands r0, r1 + cmp r0, 0 + beq _0815C18E + movs r5, 0 +_0815C166: + lsls r0, r5, 2 + ldr r7, [sp] + adds r0, r7 + movs r1, 0x7 + subs r1, r5 + lsls r1, 2 + adds r1, r6 + movs r2, 0x4 + bl memcpy + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0x7 + bls _0815C166 + ldr r0, [sp] + adds r1, r6, 0 + movs r2, 0x8 + bl CpuFastSet +_0815C18E: + movs r5, 0 + movs r0, 0xF0 + mov r8, r0 + movs r1, 0xF + mov r12, r1 +_0815C198: + adds r4, r6, r5 + ldrb r0, [r4] + mov r3, r8 + ands r3, r0 + cmp r3, 0 + beq _0815C1B2 + mov r7, r9 + adds r2, r7, r5 + ldrb r1, [r2] + mov r0, r12 + ands r0, r1 + adds r0, r3 + strb r0, [r2] +_0815C1B2: + ldrb r0, [r4] + mov r3, r12 + ands r3, r0 + cmp r3, 0 + beq _0815C1CA + mov r0, r9 + adds r2, r0, r5 + ldrb r1, [r2] + mov r0, r8 + ands r0, r1 + adds r0, r3 + strb r0, [r2] +_0815C1CA: + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0x1F + bls _0815C198 + ldr r0, [sp] + bl Free + adds r0, r6, 0 + bl Free + add sp, 0x4 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_815C0D4 + + thumb_func_start sub_815C1F0 +sub_815C1F0: @ 815C1F0 + push {r4,lr} + adds r4, r0, 0 + lsls r1, 16 + lsrs r1, 28 + movs r3, 0 + ldrb r0, [r4] + cmp r0, r1 + beq _0815C220 + cmp r0, 0xFF + bne _0815C208 + strb r1, [r4] + b _0815C220 +_0815C208: + adds r0, r3, 0x1 + lsls r0, 16 + lsrs r3, r0, 16 + cmp r3, 0xF + bhi _0815C220 + adds r2, r4, r3 + ldrb r0, [r2] + cmp r0, r1 + beq _0815C220 + cmp r0, 0xFF + bne _0815C208 + strb r1, [r2] +_0815C220: + movs r0, 0xF + subs r0, r3 + lsls r0, 16 + lsrs r0, 16 + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_815C1F0 + + thumb_func_start sub_815C230 +sub_815C230: @ 815C230 + push {r4-r6,lr} + adds r6, r0, 0 + adds r5, r1, 0 + movs r4, 0 + ldrb r0, [r5] + cmp r0, 0xFF + beq _0815C274 +_0815C23E: + adds r1, r5, r4 + ldrb r0, [r1] + cmp r0, 0x6 + bls _0815C24A + ldr r0, [r6, 0x14] + b _0815C24C +_0815C24A: + ldr r0, [r6, 0x10] +_0815C24C: + ldrb r1, [r1] + lsls r1, 5 + ldr r0, [r0, 0x8] + adds r0, r1 + movs r1, 0xF + subs r1, r4 + lsls r1, 20 + lsrs r1, 16 + movs r2, 0x20 + bl LoadPalette + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0xF + bhi _0815C274 + adds r0, r5, r4 + ldrb r0, [r0] + cmp r0, 0xFF + bne _0815C23E +_0815C274: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_815C230 + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/berry_pouch.s b/asm/berry_pouch.s index 9e53e6624..8cad42ba7 100644 --- a/asm/berry_pouch.s +++ b/asm/berry_pouch.s @@ -1694,7 +1694,7 @@ _0813DA9E: ldr r4, _0813DAE0 @ =gUnknown_203F37A subs r2, r4, 0x2 adds r1, r4, 0 - bl get_coro_args_x18_x1A + bl ListMenuGetScrollAndRow ldr r0, _0813DAE4 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x4 diff --git a/asm/field_specials.s b/asm/field_specials.s index d98798352..475153ce6 100644 --- a/asm/field_specials.s +++ b/asm/field_specials.s @@ -2753,7 +2753,7 @@ sub_80CBADC: @ 80CBADC ldr r4, _080CBB20 @ =gUnknown_3005378 adds r1, r4, 0 movs r2, 0 - bl get_coro_args_x18_x1A + bl ListMenuGetScrollAndRow ldr r1, _080CBB24 @ =gUnknown_2039A18 ldrh r0, [r4] strh r0, [r1] diff --git a/asm/item_menu.s b/asm/item_menu.s index c81730a55..b9f3a6a19 100644 --- a/asm/item_menu.s +++ b/asm/item_menu.s @@ -2313,7 +2313,7 @@ _08108FA0: adds r4, 0x2 mov r1, sp adds r2, r4, 0 - bl get_coro_args_x18_x1A + bl ListMenuGetScrollAndRow mov r0, sp ldrh r1, [r0] ldrh r0, [r4] @@ -2353,7 +2353,7 @@ _08108FE4: adds r3, r5, 0 adds r3, 0x8 adds r2, r3 - bl get_coro_args_x18_x1A + bl ListMenuGetScrollAndRow movs r0, 0x2 negs r0, r0 cmp r4, r0 @@ -2830,7 +2830,7 @@ sub_81093B8: @ 81093B8 mov r2, sp adds r2, 0x16 add r1, sp, 0x14 - bl get_coro_args_x18_x1A + bl ListMenuGetScrollAndRow mov r2, r8 ldrb r0, [r2] movs r1, 0x10 @@ -2942,7 +2942,7 @@ sub_81094B0: @ 81094B0 adds r1, r2, r1 adds r3, 0x8 adds r2, r3 - bl get_coro_args_x18_x1A + bl ListMenuGetScrollAndRow ldrb r0, [r4] bl ListMenuGetYCoordForPrintingArrowCursor adds r1, r0, 0 @@ -2967,7 +2967,7 @@ sub_81094B0: @ 81094B0 adds r4, 0x2 mov r1, sp adds r2, r4, 0 - bl get_coro_args_x18_x1A + bl ListMenuGetScrollAndRow mov r0, sp ldrh r1, [r0] ldrh r0, [r4] @@ -3001,7 +3001,7 @@ _08109558: adds r4, 0x2 mov r1, sp adds r2, r4, 0 - bl get_coro_args_x18_x1A + bl ListMenuGetScrollAndRow mov r0, sp ldrh r1, [r0] ldrh r0, [r4] @@ -4573,7 +4573,7 @@ sub_810A288: @ 810A288 adds r6, 0x2 mov r1, sp adds r2, r6, 0 - bl get_coro_args_x18_x1A + bl ListMenuGetScrollAndRow mov r0, sp ldrh r0, [r0] ldrh r1, [r6] diff --git a/asm/item_pc.s b/asm/item_pc.s index aab19813a..714d5b853 100644 --- a/asm/item_pc.s +++ b/asm/item_pc.s @@ -1403,7 +1403,7 @@ sub_810DEA0: @ 810DEA0 adds r4, 0x2 mov r1, sp adds r2, r4, 0 - bl get_coro_args_x18_x1A + bl ListMenuGetScrollAndRow mov r0, sp ldrh r1, [r0] ldrh r0, [r4] @@ -1436,7 +1436,7 @@ _0810DF20: ldrb r0, [r6] ldr r1, _0810DF44 @ =gUnknown_203ADD0 adds r2, r1, 0x2 - bl get_coro_args_x18_x1A + bl ListMenuGetScrollAndRow movs r0, 0x2 negs r0, r0 cmp r4, r0 @@ -1630,7 +1630,7 @@ sub_810E0B4: @ 810E0B4 ldr r7, _0810E120 @ =gUnknown_203ADD0 adds r2, r7, 0x2 adds r1, r7, 0 - bl get_coro_args_x18_x1A + bl ListMenuGetScrollAndRow movs r5, 0x20 negs r5, r5 ldrb r0, [r4] diff --git a/asm/learn_move.s b/asm/learn_move.s index 92f6abfea..ddc063348 100644 --- a/asm/learn_move.s +++ b/asm/learn_move.s @@ -736,7 +736,7 @@ _080E4C7E: adds r1, r2, r3 ldr r6, _080E4CD4 @ =0x00000a6a adds r2, r6 - bl get_coro_args_x18_x1A + bl ListMenuGetScrollAndRow bl FreeAllWindowBuffers ldr r0, _080E4CD8 @ =gPlayerParty ldr r5, [r7] diff --git a/asm/list_menu.s b/asm/list_menu.s index 4615e249b..5dab81d29 100644 --- a/asm/list_menu.s +++ b/asm/list_menu.s @@ -563,8 +563,8 @@ _081072CA: _081072D0: .4byte gTasks+0x8 thumb_func_end sub_81072AC - thumb_func_start get_coro_args_x18_x1A -get_coro_args_x18_x1A: @ 81072D4 + thumb_func_start ListMenuGetScrollAndRow +ListMenuGetScrollAndRow: @ 81072D4 push {lr} adds r3, r1, 0 lsls r0, 24 @@ -588,7 +588,7 @@ _081072F6: bx r0 .align 2, 0 _081072FC: .4byte gTasks+0x8 - thumb_func_end get_coro_args_x18_x1A + thumb_func_end ListMenuGetScrollAndRow thumb_func_start ListMenuGetYCoordForPrintingArrowCursor ListMenuGetYCoordForPrintingArrowCursor: @ 8107300 diff --git a/asm/player_pc.s b/asm/player_pc.s index b5149a435..cb6c9f9d0 100644 --- a/asm/player_pc.s +++ b/asm/player_pc.s @@ -1142,7 +1142,7 @@ sub_80EBF40: @ 80EBF40 mov r8, r1 adds r1, r7, 0 mov r2, r8 - bl get_coro_args_x18_x1A + bl ListMenuGetScrollAndRow movs r0, 0x2 negs r0, r0 cmp r6, r0 diff --git a/asm/pokedex_screen.s b/asm/pokedex_screen.s index 24094d9af..09ec6cb62 100644 --- a/asm/pokedex_screen.s +++ b/asm/pokedex_screen.s @@ -593,7 +593,7 @@ _081029D0: ldrb r0, [r1, 0x17] adds r1, 0x62 movs r2, 0 - bl get_coro_args_x18_x1A + bl ListMenuGetScrollAndRow bl sub_806E25C cmp r0, 0 beq _081029F4 @@ -627,7 +627,7 @@ _08102A14: ldrb r0, [r1, 0x17] adds r1, 0x62 movs r2, 0 - bl get_coro_args_x18_x1A + bl ListMenuGetScrollAndRow ldr r0, _08102A4C @ =gMain ldrh r1, [r0, 0x2E] movs r3, 0x1 @@ -1367,7 +1367,7 @@ _0810307C: ldrb r0, [r1, 0x17] adds r1, 0x62 movs r2, 0 - bl get_coro_args_x18_x1A + bl ListMenuGetScrollAndRow bl sub_81039F0 ldr r1, [r4] adds r1, 0x60 @@ -1385,7 +1385,7 @@ _08103098: ldrb r0, [r1, 0x17] adds r1, 0x62 movs r2, 0 - bl get_coro_args_x18_x1A + bl ListMenuGetScrollAndRow ldr r0, _081030F0 @ =gMain ldrh r1, [r0, 0x2E] movs r3, 0x1 @@ -1687,7 +1687,7 @@ _08103344: ldrb r0, [r1, 0x17] adds r1, 0x62 movs r2, 0 - bl get_coro_args_x18_x1A + bl ListMenuGetScrollAndRow bl sub_81039F0 ldr r1, [r4] adds r1, 0x60 @@ -1706,7 +1706,7 @@ _08103362: ldrb r0, [r1, 0x17] adds r1, 0x62 movs r2, 0 - bl get_coro_args_x18_x1A + bl ListMenuGetScrollAndRow ldr r0, _081033C4 @ =gMain ldrh r1, [r0, 0x2E] movs r2, 0x1 diff --git a/asm/shop.s b/asm/shop.s index 2dfc294a3..539e02b55 100644 --- a/asm/shop.s +++ b/asm/shop.s @@ -2170,7 +2170,7 @@ sub_809BBC0: @ 809BBC0 ldr r7, _0809BC08 @ =gUnknown_2039942 subs r2, r7, 0x2 adds r1, r7, 0 - bl get_coro_args_x18_x1A + bl ListMenuGetScrollAndRow movs r0, 0x2 negs r0, r0 cmp r4, r0 diff --git a/asm/teachy_tv.s b/asm/teachy_tv.s index 46824b53b..f12a91885 100644 --- a/asm/teachy_tv.s +++ b/asm/teachy_tv.s @@ -238,7 +238,7 @@ sub_815B2C0: @ 815B2C0 ldr r4, _0815B324 @ =gTeachyTV_StaticResources+6 adds r2, r4, 0x2 adds r1, r4, 0 - bl get_coro_args_x18_x1A + bl ListMenuGetScrollAndRow ldr r0, _0815B328 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x4 @@ -1186,8 +1186,8 @@ _0815BA4E: bx r0 thumb_func_end sub_815BA30 - thumb_func_start TeachyTvTaskFunction -TeachyTvTaskFunction: @ 815BA54 + thumb_func_start TeachyTvPostBattleFadeControl +TeachyTvPostBattleFadeControl: @ 815BA54 push {r4,lr} lsls r0, 24 lsrs r0, 24 @@ -1223,7 +1223,7 @@ _0815BA90: .4byte gPaletteFade _0815BA94: .4byte gUnknown_8479390 _0815BA98: .4byte gTeachyTV_StaticResources _0815BA9C: .4byte sub_815B4EC - thumb_func_end TeachyTvTaskFunction + thumb_func_end TeachyTvPostBattleFadeControl thumb_func_start sub_815BAA0 sub_815BAA0: @ 815BAA0 diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h index a14905cc2..3623737ea 100644 --- a/include/global.fieldmap.h +++ b/include/global.fieldmap.h @@ -51,8 +51,8 @@ struct Tileset /*0x04*/ void *tiles; /*0x08*/ void *palettes; /*0x0c*/ void *metatiles; - /*0x14*/ TilesetCB callback; - /*0x10*/ void *metatileAttributes; + /*0x10*/ TilesetCB callback; + /*0x14*/ void *metatileAttributes; }; struct MapData diff --git a/include/list_menu.h b/include/list_menu.h index 1c632e89c..1aae55c82 100644 --- a/include/list_menu.h +++ b/include/list_menu.h @@ -54,7 +54,7 @@ extern struct ListMenuTemplate gMultiuseListMenuTemplate; u8 ListMenuInit(struct ListMenuTemplate *template, u16 a1, u16 a2); s32 ListMenuHandleInput(u8 id); -void get_coro_args_x18_x1A(u8 a0, u16 *a1, u16 *a2); +void ListMenuGetScrollAndRow(u8 a0, u16 *a1, u16 *a2); void sub_81AE6C8(u8 a0, u16 *a1, u16 *a2); void DestroyListMenu(u8, u16 *, u16 *); u16 ListMenuGetYCoordForPrintingArrowCursor(u8); diff --git a/src/.fuse_hidden00001c3f00000004 b/src/.fuse_hidden00001c3f00000004 new file mode 100644 index 000000000..8c91f0f46 --- /dev/null +++ b/src/.fuse_hidden00001c3f00000004 @@ -0,0 +1,346 @@ +#include "main.h" +#include "global.h" +#include "task.h" +#include "menu.h" +#include "palette.h" +#include "sprite.h" +#include "menu_helpers.h" +#include "sound.h" +#include "malloc.h" +#include "sprite.h" +#include "scanline_effect.h" +#include "bg.h" +#include "gpu_regs.h" +#include "decompress.h" +#include "window.h" +#include "list_menu.h" +#include "item.h" +#include "menu_indicators.h" +#include "field_map_obj.h" +#include "random.h" +#include "constants/songs.h" +#include "constants/items.h" + +typedef struct { + void (*callback)(); + u8 mode; + u8 param1; + u16 scrollOffset; + u16 selectedRow; + u8 param4; + u8 filler; +} TeachyTv_s; + +extern TeachyTv_s gTeachyTV_StaticResources; +extern void * gUnknown_203F450; +void C2TeachyTv(); +void C2TeachyTvMainCallback(); +void VblankHandlerTeachyTv(); +void sub_815ABC4(u8 mode, void (*cb)()); +void CB2_ReturnToTeachyTV(); +extern void sub_815AC20(); +void TeachyTvCreateAndRenderRbox(); +void TeachyTvInitIo(); +u8 TeachyTvSetupObjEventAndOam(); +extern void TeachyTvConfigRboxAndObj(u8); +u8 TeachyTvSetupWindow(); +void TeachyTvSetupScrollIndicatorArrowPair(); +void TeachyTvSetWindowRegs(); +void TeachyTvSetupBg(); +void TeachyTvLoadGraphic(); +extern void TeachyTvTaskFunction(u8); +extern void sub_815B2C0(u8); +extern void VblankHblankHandlerSetZero(); +extern void sub_812B1E0(u16); +extern struct BgTemplate gUnknown_84792E0; +extern void *gUnknown_203F450; // tilemap pointer location +extern u8 gUnknown_8E86240; // tilemap +extern u8 gUnknown_8E86BE8; +extern u8 gUnknown_8E86D6C; +extern u8 gUnknown_8E86F98; // pal +extern struct SpritePalette gUnknown_83A5348; +extern void sub_815BD80(void *); +typedef struct Task Task; +extern struct WindowTemplate gUnknown_84792F0; + + +void C2TeachyTv() +{ + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + do_scheduled_bg_tilemap_copies_to_vram(); + UpdatePaletteFade(); +} + +void VblankHandlerTeachyTv() +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +void sub_815ABC4(u8 mode, void (*cb)()) +{ + TeachyTv_s *v3 = &gTeachyTV_StaticResources; + u16 v4 = 0; + v3->mode = mode; + v3->callback = cb; + if(!mode) { + v3->scrollOffset = v4; + v3->selectedRow = v4; + v3->param1 = 0; + } + if(mode == 1) + v3->mode = 0; + SetMainCallback2(C2TeachyTvMainCallback); +} + +void CB2_ReturnToTeachyTV() +{ + if(gTeachyTV_StaticResources.mode == 1) + sub_815ABC4(1,gTeachyTV_StaticResources.callback); + else + sub_815ABC4(2,gTeachyTV_StaticResources.callback); +} + +void sub_815AC20() +{ + gTeachyTV_StaticResources.mode = 1; +} + +void C2TeachyTvMainCallback() +{ + int state; + void *mallocPtr; + int taskId; + Task *taskAddr; + u8 **v4; + u32 x; + + state = gMain.state; + // tried several ways to reproduce the control flow, but all failed. Now using goto + if ( state == 0 ) + goto section_0; + else if ( state == 1 ) + goto section_1; + else + return; + section_0: + v4 = (u8 **)&gUnknown_203F450; + (*v4) = (u8*)AllocZeroed(0x4008u); + *(u32*)gUnknown_203F450 = (u32)state; + *((u8*)gUnknown_203F450 + 0x4006) = state; + *((u8*)gUnknown_203F450 + 0x4007) = 0xFF; + VblankHblankHandlerSetZero(); + clear_scheduled_bg_copies_to_vram(); + ScanlineEffect_Stop(); + FreeAllSpritePalettes(); + ResetPaletteFade(); + ResetSpriteData(); + ResetTasks(); + TeachyTvSetupBg(); + TeachyTvLoadGraphic(); + ++gMain.state; + return; + section_1: + if( free_temp_tile_data_buffers_if_possible() == 1 ) + return; + TeachyTvCreateAndRenderRbox(); + TeachyTvInitIo(); + if ( gTeachyTV_StaticResources.mode == 2 ) + { + taskId = CreateTask(TeachyTvTaskFunction, 0); + gTasks[taskId].data[1] = TeachyTvSetupObjEventAndOam(); + TeachyTvConfigRboxAndObj(taskId); + } + else + { + taskId = CreateTask(sub_815B2C0, 0); + x = (u32)TeachyTvSetupWindow(); + gTasks[taskId].data[0] = (x << 24) >> 24; + gTasks[taskId].data[1] = TeachyTvSetupObjEventAndOam(); + TeachyTvSetupScrollIndicatorArrowPair(); + PlayNewMapMusic(BGM_FRLG_TEACHY_TV); + TeachyTvSetWindowRegs(); + } + schedule_bg_copy_tilemap_to_vram(0); + schedule_bg_copy_tilemap_to_vram(1u); + schedule_bg_copy_tilemap_to_vram(2u); + schedule_bg_copy_tilemap_to_vram(3u); + sub_812B1E0(9); // help system something + BlendPalettes(0xFFFFFFFF, 0x10u, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10u, 0, 0); + SetVBlankCallback(VblankHandlerTeachyTv); + SetMainCallback2(C2TeachyTv); +} + +void TeachyTvSetupBg() +{ + InitBgReg(); + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(0, &gUnknown_84792E0, 4u); + SetBgTilemapBuffer(1u, (u8 *)gUnknown_203F450 + 4); + SetBgTilemapBuffer(2u, (u8 *)gUnknown_203F450 + 0x1004); + SetBgTilemapBuffer(3u, (u8 *)gUnknown_203F450 + 0x2004); + SetGpuReg(0, 0x3040u); + ShowBg(0); + ShowBg(1u); + ShowBg(2u); + ShowBg(3u); + ChangeBgX(3u, 0x1000u, 2u); + ChangeBgY(3u, 0x2800u, 1u); + *((u8 *)gUnknown_203F450 + 0x4004) = 0; + *((u8 *)gUnknown_203F450 + 0x4005) = 3; + SetGpuReg(0x50u, 0); +} + +void TeachyTvLoadGraphic() +{ + u16 src; + src = 0; + reset_temp_tile_data_buffers(); + decompress_and_copy_tile_data_to_vram(1u, &gUnknown_8E86240, 0, 0, 0); + LZDecompressWram((u8 *)&gUnknown_8E86BE8, (*(u8 **)&gUnknown_203F450) + 4); + LZDecompressWram((u8 *)&gUnknown_8E86D6C, (*(u8 **)&gUnknown_203F450) + 0x3004); + LoadCompressedPalette(&gUnknown_8E86F98, 0, 0x80u); + LoadPalette(&src, 0, 2u); + LoadSpritePalette((struct SpritePalette *)&gUnknown_83A5348); + sub_815BD80((u8 *)gUnknown_203F450 + 0x2004); +} + +void TeachyTvCreateAndRenderRbox() +{ + InitWindows(&gUnknown_84792F0); + DeactivateAllTextPrinters(); + FillWindowPixelBuffer(0, 0xCCu); + PutWindowTilemap(0); + PutWindowTilemap(1u); + CopyWindowToVram(0, 2u); +} + +extern struct ListMenuTemplate gUnknown_8479368; +extern struct ListMenuItem gUnknown_8479340; +extern u8 ListMenuInitInternal(struct ListMenuTemplate *, u16 scrollOffset, u16 selectedRow); +void TeachyTvAudioByInput(s32, bool8, struct ListMenu *); + +u8 TeachyTvSetupWindow() +{ + int hasItem; + gMultiuseListMenuTemplate = gUnknown_8479368; + gMultiuseListMenuTemplate.windowId = 1; + gMultiuseListMenuTemplate.moveCursorFunc = TeachyTvAudioByInput; + hasItem = (u8)CheckBagHasItem(ITEM_TM_CASE, 1u); + if ( !(hasItem << 24) ) + { + gMultiuseListMenuTemplate.items = &gUnknown_8479340; + gMultiuseListMenuTemplate.totalItems = 5; + gMultiuseListMenuTemplate.maxShowed = 5; + gMultiuseListMenuTemplate.upText_Y = (gMultiuseListMenuTemplate.upText_Y + 8) & 0xF; + } + return ListMenuInit( + &gMultiuseListMenuTemplate, + gTeachyTV_StaticResources.scrollOffset, + gTeachyTV_StaticResources.selectedRow); +} + +extern const struct ScrollArrowsTemplate gUnknown_8479380; + +void TeachyTvSetupScrollIndicatorArrowPair() +{ + int hasItem; + hasItem = (u8)CheckBagHasItem(ITEM_TM_CASE, 1u); + if ( ! hasItem << 24 ) { + u8 * temp = (u8 *)gUnknown_203F450; + *((u8 *)temp + 0x4007) = 0xFF; + } + + else { + u8 *temp, res; + res = AddScrollIndicatorArrowPair( + &gUnknown_8479380, + &(gTeachyTV_StaticResources.scrollOffset)); + temp = (u8 *)gUnknown_203F450; + *((u8 *)temp + 0x4007) = res; + } +} + +void TeachyTvRemoveScrollIndicatorArrowPair() +{ + u8 *temp = ((u8*)gUnknown_203F450 + 0x4007); + if ( *temp != 0xFF ) + { + RemoveScrollIndicatorArrowPair(*temp); + *((u8*)gUnknown_203F450 + 0x4007) = 0xFF; + } +} + +void TeachyTvAudioByInput(s32 notUsed, bool8 play, struct ListMenu *notUsedAlt) +{ + if ( play != 1 ) + PlaySE(SE_SELECT); +} + +void TeachyTvInitIo() +{ + SetGpuReg(0x48u, 0x3Fu); + SetGpuReg(0x4Au, 0x1Fu); + SetGpuReg(0x50u, 0xCCu); + SetGpuReg(0x54u, 5u); +} + +u8 TeachyTvSetupObjEventAndOam() +{ + u8 temp = AddPseudoEventObject(90, SpriteCallbackDummy, 0, 0, 8); + gSprites[temp].oam.priority = 2; + gSprites[temp].invisible = 1; + return temp; +} + +void TeachyTvSetSpriteCoordsAndSwitchFrame(u8 objId, u16 x, u16 y, u8 frame) +{ + gSprites[objId].pos2.x = x; + gSprites[objId].pos2.y = y; + gSprites[objId].invisible = 0; + StartSpriteAnim(&gSprites[objId], frame); +} + +void TeachyTvSetWindowRegs() +{ + SetGpuReg(0x44u, 0xC64u); + SetGpuReg(0x40u, 0x1CD4u); +} + +void TeachyTvClearWindowRegs() +{ + SetGpuReg(0x44u, 0); + SetGpuReg(0x40u, 0); +} + +void TeachyTvBg2AnimController() +{ + u16 *tilemapBuffer; + u8 counter; + u32 offset2; + u32 offset; + u32 counter2; + + tilemapBuffer = (u16 *)GetBgTilemapBuffer(2u); + counter = 1; + do + { + offset2 = 2; + offset = 0x20 * counter; + counter2 = counter + 1; + do + { + tilemapBuffer[offset + offset2] = ((Random() & 3) << 10) + 0x301F; + offset2 = (offset2 + 1) << 0x18 >> 0x18; + } + while ( offset2 <= 0x1B ); + counter = counter2; + } + while ( counter2 << 0x18 >> 0x18 <= 0xCu ); + schedule_bg_copy_tilemap_to_vram(2u); +} + diff --git a/src/fame_checker.c b/src/fame_checker.c index aff9733e9..b136ebfa8 100644 --- a/src/fame_checker.c +++ b/src/fame_checker.c @@ -1270,7 +1270,7 @@ static void FC_MoveCursorFunc(s32 itemIndex, bool8 onInit, struct ListMenu *list struct Task *task = &gTasks[taskId]; PlaySE(SE_SELECT); task->data[1] = 0; - get_coro_args_x18_x1A(sFameCheckerData->listMenuTaskId, &listMenuTopIdx, NULL); + ListMenuGetScrollAndRow(sFameCheckerData->listMenuTaskId, &listMenuTopIdx, NULL); sFameCheckerData->listMenuTopIdx = listMenuTopIdx; if (itemIndex != sFameCheckerData->numUnlockedPersons - 1) { @@ -1339,7 +1339,7 @@ static void FC_DoMoveCursor(s32 itemIndex, bool8 onInit) u16 listY; u16 cursorY; u16 who; - get_coro_args_x18_x1A(sFameCheckerData->listMenuTaskId, &listY, &cursorY); + ListMenuGetScrollAndRow(sFameCheckerData->listMenuTaskId, &listY, &cursorY); who = listY + cursorY; AddTextPrinterParametrized2(FCWINDOWID_LIST, 2, 8, 14 * cursorY + 4, 0, 0, &sTextColor_Green, 0, sListMenuItems[itemIndex].name); if (!onInit) @@ -1432,7 +1432,7 @@ static void FreeListMenuSelectorArrowPairResources(void) static u16 FameCheckerGetCursorY(void) { u16 listY, cursorY; - get_coro_args_x18_x1A(sFameCheckerData->listMenuTaskId, &listY, &cursorY); + ListMenuGetScrollAndRow(sFameCheckerData->listMenuTaskId, &listY, &cursorY); return listY + cursorY; } diff --git a/src/teachy_tv.c b/src/teachy_tv.c index 60b182575..9e34cdb70 100644 --- a/src/teachy_tv.c +++ b/src/teachy_tv.c @@ -18,13 +18,14 @@ #include "menu_indicators.h" #include "field_map_obj.h" #include "random.h" +#include "text.h" #include "constants/songs.h" #include "constants/items.h" typedef struct { void (*callback)(); u8 mode; - u8 param1; + u8 optionChosen; u16 scrollOffset; u16 selectedRow; u8 param4; @@ -48,7 +49,7 @@ void TeachyTvSetupScrollIndicatorArrowPair(); void TeachyTvSetWindowRegs(); void TeachyTvSetupBg(); void TeachyTvLoadGraphic(); -extern void TeachyTvTaskFunction(u8); +extern void TeachyTvPostBattleFadeControl(u8); extern void sub_815B2C0(u8); extern void VblankHblankHandlerSetZero(); extern void sub_812B1E0(u16); @@ -89,7 +90,7 @@ void sub_815ABC4(u8 mode, void (*cb)()) if(!mode) { v3->scrollOffset = v4; v3->selectedRow = v4; - v3->param1 = 0; + v3->optionChosen = 0; } if(mode == 1) v3->mode = 0; @@ -112,7 +113,6 @@ void sub_815AC20() void C2TeachyTvMainCallback() { int state; - void *mallocPtr; int taskId; Task *taskAddr; u8 **v4; @@ -150,7 +150,7 @@ void C2TeachyTvMainCallback() TeachyTvInitIo(); if ( gTeachyTV_StaticResources.mode == 2 ) { - taskId = CreateTask(TeachyTvTaskFunction, 0); + taskId = CreateTask(TeachyTvPostBattleFadeControl, 0); gTasks[taskId].data[1] = TeachyTvSetupObjEventAndOam(); TeachyTvSetupPostBattleWindowAndObj(taskId); } diff --git a/src/tm_case.c b/src/tm_case.c index ce31e79c3..81e0fd371 100644 --- a/src/tm_case.c +++ b/src/tm_case.c @@ -737,7 +737,7 @@ static void Task_TMCaseMain(u8 taskId) if (sub_80BF72C() != TRUE) { input = ListMenuHandleInput(data[0]); - get_coro_args_x18_x1A(data[0], &sTMCaseStaticResources.scrollOffset, &sTMCaseStaticResources.selectedRow); + ListMenuGetScrollAndRow(data[0], &sTMCaseStaticResources.scrollOffset, &sTMCaseStaticResources.selectedRow); if (JOY_NEW(SELECT_BUTTON) && sTMCaseStaticResources.unk_05 == 1) { PlaySE(SE_SELECT); -- cgit v1.2.3 From 94091f15894ff2a0a9b2e838aba84ebdc211703c Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Tue, 4 Jun 2019 00:01:04 +0800 Subject: --amend --- .gitignore | 1 + asm/.fuse_hidden00001c3c00000003 | 2244 -------------------------------------- asm/.fuse_hidden00001c3c00000005 | 2244 -------------------------------------- src/.fuse_hidden00001c3f00000004 | 346 ------ 4 files changed, 1 insertion(+), 4834 deletions(-) delete mode 100644 asm/.fuse_hidden00001c3c00000003 delete mode 100644 asm/.fuse_hidden00001c3c00000005 delete mode 100644 src/.fuse_hidden00001c3f00000004 diff --git a/.gitignore b/.gitignore index da2cb317c..fdc668785 100644 --- a/.gitignore +++ b/.gitignore @@ -26,6 +26,7 @@ ld_script_sapphire.txt *.id2 *.nam *.til +.fuse* *.ld tags types_*.taghl diff --git a/asm/.fuse_hidden00001c3c00000003 b/asm/.fuse_hidden00001c3c00000003 deleted file mode 100644 index a97657691..000000000 --- a/asm/.fuse_hidden00001c3c00000003 +++ /dev/null @@ -1,2244 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start TeachyTvConfigRboxAndObj -TeachyTvConfigRboxAndObj: @ 815B118 - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, _0815B190 @ =gTasks+0x8 - adds r5, r0, r1 - movs r0, 0x2 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0815B194 @ =gSprites - adds r7, r0, r1 - movs r0, 0x1 - bl ClearWindowTilemap - bl TeachyTvClearWindowRegs - ldr r0, _0815B198 @ =gTeachyTV_StaticResources - ldrb r0, [r0, 0x5] - cmp r0, 0 - blt _0815B1B8 - cmp r0, 0x3 - bgt _0815B1A8 - ldrb r0, [r5, 0x2] - movs r1, 0x78 - movs r2, 0x38 - movs r3, 0 - bl TeachyTvSetSpriteCoordsAndSwitchFrame - movs r4, 0xC0 - lsls r4, 6 - movs r0, 0x3 - adds r1, r4, 0 - movs r2, 0x1 - bl ChangeBgX - movs r0, 0x3 - adds r1, r4, 0 - movs r2, 0x2 - bl ChangeBgY - ldr r2, _0815B19C @ =gUnknown_203F450 - ldr r1, [r2] - ldr r0, _0815B1A0 @ =0x00004004 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x3 - strb r0, [r1] - ldr r1, [r2] - ldr r0, _0815B1A4 @ =0x00004005 - adds r1, r0 - ldrb r0, [r1] - subs r0, 0x3 - strb r0, [r1] - b _0815B1B8 - .align 2, 0 -_0815B190: .4byte gTasks+0x8 -_0815B194: .4byte gSprites -_0815B198: .4byte gTeachyTV_StaticResources -_0815B19C: .4byte gUnknown_203F450 -_0815B1A0: .4byte 0x00004004 -_0815B1A4: .4byte 0x00004005 -_0815B1A8: - cmp r0, 0x5 - bgt _0815B1B8 - ldrb r0, [r5, 0x2] - movs r1, 0x78 - movs r2, 0x38 - movs r3, 0 - bl TeachyTvSetSpriteCoordsAndSwitchFrame -_0815B1B8: - movs r0, 0 - strh r0, [r5, 0x8] - strh r0, [r5, 0xA] - movs r0, 0x24 - ldrsh r1, [r7, r0] - movs r0, 0x26 - ldrsh r2, [r7, r0] - movs r0, 0x1 - str r0, [sp] - adds r0, r6, 0 - movs r3, 0 - bl sub_815BAA0 - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end TeachyTvConfigRboxAndObj - - thumb_func_start sub_815B1DC -sub_815B1DC: @ 815B1DC - push {r4,lr} - sub sp, 0x10 - adds r4, r0, 0 - ldr r2, _0815B21C @ =gTextFlags - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - bl GetTextSpeedSetting - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0 - str r0, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - movs r0, 0xC - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x4 - adds r2, r4, 0 - bl AddTextPrinterParametrized - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0815B21C: .4byte gTextFlags - thumb_func_end sub_815B1DC - - thumb_func_start sub_815B220 -sub_815B220: @ 815B220 - push {r4,lr} - ldr r4, _0815B238 @ =gUnknown_203F450 - ldr r0, [r4] - bl Free - movs r0, 0 - str r0, [r4] - bl FreeAllWindowBuffers - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0815B238: .4byte gUnknown_203F450 - thumb_func_end sub_815B220 - - thumb_func_start sub_815B23C -sub_815B23C: @ 815B23C - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, _0815B26C @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0815B270 @ =sub_815B274 - str r1, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0815B26C: .4byte gTasks -_0815B270: .4byte sub_815B274 - thumb_func_end sub_815B23C - - thumb_func_start sub_815B274 -sub_815B274: @ 815B274 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0815B298 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0815B2B6 - ldr r0, _0815B29C @ =gUnknown_203F450 - ldr r0, [r0] - ldr r0, [r0] - cmp r0, 0 - beq _0815B2A0 - bl SetMainCallback2 - b _0815B2AC - .align 2, 0 -_0815B298: .4byte gPaletteFade -_0815B29C: .4byte gUnknown_203F450 -_0815B2A0: - bl sub_8055DC4 - ldr r0, _0815B2BC @ =gTeachyTV_StaticResources - ldr r0, [r0] - bl SetMainCallback2 -_0815B2AC: - bl sub_815B220 - adds r0, r4, 0 - bl DestroyTask -_0815B2B6: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0815B2BC: .4byte gTeachyTV_StaticResources - thumb_func_end sub_815B274 - - thumb_func_start sub_815B2C0 -sub_815B2C0: @ 815B2C0 - push {r4-r7,lr} - lsls r0, 24 - lsrs r7, r0, 24 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - ldr r1, _0815B31C @ =gTasks+0x8 - adds r6, r0, r1 - bl TeachyTvBg2AnimController - ldr r0, _0815B320 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0815B37A - ldrb r0, [r6] - bl ListMenuHandleInput - adds r5, r0, 0 - ldrb r0, [r6] - ldr r4, _0815B324 @ =gTeachyTV_StaticResources+6 - adds r2, r4, 0x2 - adds r1, r4, 0 - bl ListMenuGetScrollAndRow - ldr r0, _0815B328 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0815B30A - subs r0, r4, 0x6 - ldr r1, [r0] - ldr r0, _0815B32C @ =UseFameCheckerFromMenu - cmp r1, r0 - bne _0815B330 -_0815B30A: - movs r0, 0x2 - negs r0, r0 - cmp r5, r0 - beq _0815B330 - adds r0, 0x1 - cmp r5, r0 - bne _0815B33E - b _0815B37A - .align 2, 0 -_0815B31C: .4byte gTasks+0x8 -_0815B320: .4byte gPaletteFade -_0815B324: .4byte gTeachyTV_StaticResources+6 -_0815B328: .4byte gMain -_0815B32C: .4byte UseFameCheckerFromMenu -_0815B330: - movs r0, 0x5 - bl PlaySE - adds r0, r7, 0 - bl sub_815B23C - b _0815B37A -_0815B33E: - movs r0, 0x5 - bl PlaySE - ldr r2, _0815B380 @ =gTeachyTV_StaticResources - movs r4, 0 - strb r5, [r2, 0x5] - ldrb r0, [r6] - adds r1, r2, 0x6 - adds r2, 0x8 - bl DestroyListMenu - bl TeachyTvClearWindowRegs - movs r0, 0x1 - bl ClearWindowTilemap - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - bl TeachyTvRemoveScrollIndicatorArrowPair - strh r4, [r6, 0x6] - strh r4, [r6, 0x4] - ldr r1, _0815B384 @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldr r1, _0815B388 @ =sub_815B4EC - str r1, [r0] -_0815B37A: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0815B380: .4byte gTeachyTV_StaticResources -_0815B384: .4byte gTasks -_0815B388: .4byte sub_815B4EC - thumb_func_end sub_815B2C0 - - thumb_func_start sub_815B38C -sub_815B38C: @ 815B38C - push {r4,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _0815B3F8 @ =gTasks+0x8 - adds r4, r1, r0 - bl TeachyTvBg2AnimController - ldrh r0, [r4, 0x4] - adds r0, 0x1 - strh r0, [r4, 0x4] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3F - ble _0815B3F0 - ldr r0, _0815B3FC @ =gUnknown_203F450 - ldr r1, [r0] - ldr r0, _0815B400 @ =0x00003004 - adds r1, r0 - movs r0, 0x20 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBufferRect_ChangePalette - ldrb r0, [r4, 0x2] - movs r1, 0x8 - movs r2, 0x38 - movs r3, 0x7 - bl TeachyTvSetSpriteCoordsAndSwitchFrame - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0 - strh r0, [r4, 0x4] - ldrh r0, [r4, 0x6] - adds r0, 0x1 - strh r0, [r4, 0x6] - movs r0, 0x88 - lsls r0, 1 - bl PlayNewMapMusic -_0815B3F0: - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0815B3F8: .4byte gTasks+0x8 -_0815B3FC: .4byte gUnknown_203F450 -_0815B400: .4byte 0x00003004 - thumb_func_end sub_815B38C - - thumb_func_start sub_815B404 -sub_815B404: @ 815B404 - push {r4,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _0815B450 @ =gTasks+0x8 - adds r4, r1, r0 - ldrh r0, [r4, 0x4] - adds r0, 0x1 - strh r0, [r4, 0x4] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x86 - bne _0815B448 - movs r0, 0x1A - str r0, [sp] - movs r0, 0xC - str r0, [sp, 0x4] - movs r0, 0x2 - movs r1, 0 - movs r2, 0x2 - movs r3, 0x1 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0 - strh r0, [r4, 0x4] - ldrh r0, [r4, 0x6] - adds r0, 0x1 - strh r0, [r4, 0x6] -_0815B448: - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0815B450: .4byte gTasks+0x8 - thumb_func_end sub_815B404 - - thumb_func_start sub_815B454 -sub_815B454: @ 815B454 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _0815B484 @ =gTasks+0x8 - adds r4, r1, r0 - movs r0, 0x2 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0815B488 @ =gSprites - adds r1, r0, r1 - ldrh r2, [r4, 0x4] - movs r3, 0x4 - ldrsh r0, [r4, r3] - cmp r0, 0x23 - beq _0815B48C - adds r0, r2, 0x1 - strh r0, [r4, 0x4] - b _0815B4B8 - .align 2, 0 -_0815B484: .4byte gTasks+0x8 -_0815B488: .4byte gSprites -_0815B48C: - ldrh r2, [r1, 0x24] - movs r3, 0x24 - ldrsh r0, [r1, r3] - cmp r0, 0x78 - bne _0815B4B4 - adds r0, r1, 0 - movs r1, 0 - bl StartSpriteAnim - ldr r0, _0815B4B0 @ =gUnknown_841B83D - bl sub_815B1DC - movs r0, 0 - strh r0, [r4, 0x4] - ldrh r0, [r4, 0x6] - adds r0, 0x1 - strh r0, [r4, 0x6] - b _0815B4B8 - .align 2, 0 -_0815B4B0: .4byte gUnknown_841B83D -_0815B4B4: - adds r0, r2, 0x1 - strh r0, [r1, 0x24] -_0815B4B8: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_815B454 - - thumb_func_start sub_815B4C0 -sub_815B4C0: @ 815B4C0 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _0815B4E8 @ =gTasks+0x8 - adds r4, r1, r0 - movs r0, 0 - bl sub_80BF518 - lsls r0, 16 - cmp r0, 0 - bne _0815B4E2 - ldrh r0, [r4, 0x6] - adds r0, 0x1 - strh r0, [r4, 0x6] -_0815B4E2: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0815B4E8: .4byte gTasks+0x8 - thumb_func_end sub_815B4C0 - - thumb_func_start sub_815B4EC -sub_815B4EC: @ 815B4EC - push {r4-r7,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r6, r0, 3 - ldr r7, _0815B548 @ =gTasks+0x8 - adds r5, r6, r7 - ldr r0, _0815B54C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0815B55C - ldr r0, _0815B550 @ =gUnknown_203F450 - ldr r0, [r0] - ldr r1, _0815B554 @ =0x00004006 - adds r0, r1 - movs r4, 0 - movs r1, 0x1 - strb r1, [r0] - ldrb r0, [r5, 0x2] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl TeachyTvSetSpriteCoordsAndSwitchFrame - movs r0, 0 - movs r1, 0xCC - bl FillWindowPixelBuffer - movs r0, 0 - movs r1, 0x2 - bl CopyWindowToVram - bl sub_815B908 - strh r4, [r5, 0x4] - strh r4, [r5, 0x6] - adds r0, r7, 0 - subs r0, 0x8 - adds r0, r6, r0 - ldr r1, _0815B558 @ =sub_815B92C - str r1, [r0] - b _0815B578 - .align 2, 0 -_0815B548: .4byte gTasks+0x8 -_0815B54C: .4byte gMain -_0815B550: .4byte gUnknown_203F450 -_0815B554: .4byte 0x00004006 -_0815B558: .4byte sub_815B92C -_0815B55C: - ldr r1, _0815B580 @ =gUnknown_8479548 - ldr r0, _0815B584 @ =gTeachyTV_StaticResources - ldrb r0, [r0, 0x5] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - movs r3, 0x6 - ldrsh r0, [r5, r3] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - adds r0, r2, 0 - bl _call_via_r1 -_0815B578: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0815B580: .4byte gUnknown_8479548 -_0815B584: .4byte gTeachyTV_StaticResources - thumb_func_end sub_815B4EC - - thumb_func_start sub_815B588 -sub_815B588: @ 815B588 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, _0815B5B4 @ =gTasks+0x8 - adds r4, r0 - ldr r1, _0815B5B8 @ =gUnknown_8479560 - ldr r0, _0815B5BC @ =gTeachyTV_StaticResources - ldrb r0, [r0, 0x5] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl sub_815B1DC - ldrh r0, [r4, 0x6] - adds r0, 0x1 - strh r0, [r4, 0x6] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0815B5B4: .4byte gTasks+0x8 -_0815B5B8: .4byte gUnknown_8479560 -_0815B5BC: .4byte gTeachyTV_StaticResources - thumb_func_end sub_815B588 - - thumb_func_start sub_815B5C0 -sub_815B5C0: @ 815B5C0 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, _0815B5EC @ =gTasks+0x8 - adds r4, r0 - ldr r1, _0815B5F0 @ =gUnknown_8479578 - ldr r0, _0815B5F4 @ =gTeachyTV_StaticResources - ldrb r0, [r0, 0x5] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl sub_815B1DC - ldrh r0, [r4, 0x6] - adds r0, 0x1 - strh r0, [r4, 0x6] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0815B5EC: .4byte gTasks+0x8 -_0815B5F0: .4byte gUnknown_8479578 -_0815B5F4: .4byte gTeachyTV_StaticResources - thumb_func_end sub_815B5C0 - - thumb_func_start sub_815B5F8 -sub_815B5F8: @ 815B5F8 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _0815B620 @ =gTasks+0x8 - adds r4, r1, r0 - movs r0, 0 - bl sub_80BF518 - lsls r0, 16 - cmp r0, 0 - bne _0815B61A - ldrh r0, [r4, 0x6] - adds r0, 0x1 - strh r0, [r4, 0x6] -_0815B61A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0815B620: .4byte gTasks+0x8 - thumb_func_end sub_815B5F8 - - thumb_func_start sub_815B624 -sub_815B624: @ 815B624 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _0815B65C @ =gTasks+0x8 - adds r4, r1, r0 - ldr r0, _0815B660 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _0815B656 - movs r0, 0 - movs r1, 0xCC - bl FillWindowPixelBuffer - movs r0, 0 - movs r1, 0x2 - bl CopyWindowToVram - ldrh r0, [r4, 0x6] - adds r0, 0x1 - strh r0, [r4, 0x6] -_0815B656: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0815B65C: .4byte gTasks+0x8 -_0815B660: .4byte gMain - thumb_func_end sub_815B624 - - thumb_func_start sub_815B664 -sub_815B664: @ 815B664 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, _0815B6A0 @ =gTasks+0x8 - adds r4, r0 - movs r0, 0x2 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0815B6A4 @ =gSprites - adds r0, r1 - movs r1, 0x5 - bl StartSpriteAnim - movs r0, 0 - strh r0, [r4, 0x4] - strh r0, [r4, 0x8] - movs r0, 0x1 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0x6] - adds r0, 0x1 - strh r0, [r4, 0x6] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0815B6A0: .4byte gTasks+0x8 -_0815B6A4: .4byte gSprites - thumb_func_end sub_815B664 - - thumb_func_start sub_815B6A8 -sub_815B6A8: @ 815B6A8 - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0815B730 @ =gTasks+0x8 - adds r4, r0, r1 - movs r0, 0x2 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0815B734 @ =gSprites - adds r6, r0, r1 - movs r1, 0x80 - lsls r1, 1 - movs r0, 0x3 - movs r2, 0x2 - bl ChangeBgY - ldrh r0, [r4, 0x4] - adds r0, 0x1 - strh r0, [r4, 0x4] - movs r3, 0xF - ands r3, r0 - cmp r3, 0 - bne _0815B702 - ldr r0, _0815B738 @ =gUnknown_203F450 - ldr r1, [r0] - ldr r2, _0815B73C @ =0x00004005 - adds r1, r2 - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] - movs r0, 0x24 - ldrsh r1, [r6, r0] - movs r0, 0x26 - ldrsh r2, [r6, r0] - str r3, [sp] - adds r0, r5, 0 - movs r3, 0 - bl sub_815BAA0 -_0815B702: - movs r1, 0x4 - ldrsh r0, [r4, r1] - cmp r0, 0x30 - bne _0815B726 - movs r1, 0 - strh r1, [r4, 0x4] - movs r2, 0x1 - negs r2, r2 - adds r0, r2, 0 - strh r0, [r4, 0x8] - strh r1, [r4, 0xA] - adds r0, r6, 0 - movs r1, 0x7 - bl StartSpriteAnim - ldrh r0, [r4, 0x6] - adds r0, 0x1 - strh r0, [r4, 0x6] -_0815B726: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0815B730: .4byte gTasks+0x8 -_0815B734: .4byte gSprites -_0815B738: .4byte gUnknown_203F450 -_0815B73C: .4byte 0x00004005 - thumb_func_end sub_815B6A8 - - thumb_func_start sub_815B740 -sub_815B740: @ 815B740 - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0815B7D4 @ =gTasks+0x8 - adds r4, r0, r1 - movs r0, 0x2 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0815B7D8 @ =gSprites - adds r6, r0, r1 - movs r1, 0x80 - lsls r1, 1 - movs r0, 0x3 - movs r2, 0x1 - bl ChangeBgX - ldrh r0, [r4, 0x4] - adds r0, 0x1 - strh r0, [r4, 0x4] - movs r2, 0xF - ands r0, r2 - cmp r0, 0 - bne _0815B78A - ldr r0, _0815B7DC @ =gUnknown_203F450 - ldr r1, [r0] - ldr r3, _0815B7E0 @ =0x00004004 - adds r1, r3 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_0815B78A: - movs r1, 0x4 - ldrsh r0, [r4, r1] - adds r0, 0x8 - ands r0, r2 - cmp r0, 0 - bne _0815B7AC - ldrh r1, [r6, 0x24] - adds r1, 0x8 - lsls r1, 16 - asrs r1, 16 - movs r3, 0x26 - ldrsh r2, [r6, r3] - str r0, [sp] - adds r0, r5, 0 - movs r3, 0 - bl sub_815BAA0 -_0815B7AC: - movs r1, 0x4 - ldrsh r0, [r4, r1] - cmp r0, 0x30 - bne _0815B7CA - movs r0, 0 - strh r0, [r4, 0x4] - strh r0, [r4, 0x8] - strh r0, [r4, 0xA] - adds r0, r6, 0 - movs r1, 0x3 - bl StartSpriteAnim - ldrh r0, [r4, 0x6] - adds r0, 0x1 - strh r0, [r4, 0x6] -_0815B7CA: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0815B7D4: .4byte gTasks+0x8 -_0815B7D8: .4byte gSprites -_0815B7DC: .4byte gUnknown_203F450 -_0815B7E0: .4byte 0x00004004 - thumb_func_end sub_815B740 - - thumb_func_start sub_815B7E4 -sub_815B7E4: @ 815B7E4 - push {r4-r6,lr} - sub sp, 0x4 - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - lsls r5, r6, 2 - adds r5, r6 - lsls r5, 3 - ldr r0, _0815B838 @ =gTasks+0x8 - adds r5, r0 - movs r1, 0x2 - ldrsh r0, [r5, r1] - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, _0815B83C @ =gSprites - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x6 - bl StartSpriteAnim - ldrh r0, [r5, 0x6] - adds r0, 0x1 - strh r0, [r5, 0x6] - movs r0, 0 - strh r0, [r5, 0x8] - strh r0, [r5, 0xA] - movs r0, 0x24 - ldrsh r1, [r4, r0] - movs r0, 0x26 - ldrsh r2, [r4, r0] - movs r0, 0 - str r0, [sp] - adds r0, r6, 0 - movs r3, 0 - bl sub_815BAA0 - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0815B838: .4byte gTasks+0x8 -_0815B83C: .4byte gSprites - thumb_func_end sub_815B7E4 - - thumb_func_start sub_815B840 -sub_815B840: @ 815B840 - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r3, r0, 24 - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 3 - ldr r1, _0815B890 @ =gTasks+0x8 - adds r5, r0, r1 - movs r0, 0x2 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0815B894 @ =gSprites - adds r4, r0, r1 - ldrh r1, [r4, 0x24] - movs r0, 0xF - ands r0, r1 - cmp r0, 0 - bne _0815B87E - subs r1, 0x8 - lsls r1, 16 - asrs r1, 16 - movs r6, 0x26 - ldrsh r2, [r4, r6] - str r0, [sp] - adds r0, r3, 0 - movs r3, 0 - bl sub_815BAA0 -_0815B87E: - ldrh r1, [r4, 0x24] - movs r2, 0x24 - ldrsh r0, [r4, r2] - cmp r0, 0x8 - bne _0815B898 - ldrh r0, [r5, 0x6] - adds r0, 0x1 - strh r0, [r5, 0x6] - b _0815B89C - .align 2, 0 -_0815B890: .4byte gTasks+0x8 -_0815B894: .4byte gSprites -_0815B898: - subs r0, r1, 0x1 - strh r0, [r4, 0x24] -_0815B89C: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_815B840 - - thumb_func_start sub_815B8A4 -sub_815B8A4: @ 815B8A4 - push {r4,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _0815B900 @ =gTasks+0x8 - adds r4, r1, r0 - movs r1, 0x4 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0815B8DC - ldr r1, _0815B904 @ =gUnknown_8479590 - movs r0, 0x8 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0x1 - movs r2, 0x14 - movs r3, 0xA - bl CopyToBgTilemapBufferRect_ChangePalette - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram -_0815B8DC: - ldrh r0, [r4, 0x4] - adds r0, 0x1 - strh r0, [r4, 0x4] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7E - ble _0815B8F8 - bl sub_815B908 - movs r0, 0 - strh r0, [r4, 0x4] - ldrh r0, [r4, 0x6] - adds r0, 0x1 - strh r0, [r4, 0x6] -_0815B8F8: - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0815B900: .4byte gTasks+0x8 -_0815B904: .4byte gUnknown_8479590 - thumb_func_end sub_815B8A4 - - thumb_func_start sub_815B908 -sub_815B908: @ 815B908 - push {lr} - sub sp, 0x8 - movs r0, 0x8 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - movs r1, 0 - movs r2, 0x14 - movs r3, 0xA - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - add sp, 0x8 - pop {r0} - bx r0 - thumb_func_end sub_815B908 - - thumb_func_start sub_815B92C -sub_815B92C: @ 815B92C - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r6, r1, 3 - ldr r7, _0815B9DC @ =gTasks+0x8 - adds r5, r6, r7 - movs r1, 0x4 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _0815B94C - movs r0, 0xAD - lsls r0, 1 - bl PlayNewMapMusic -_0815B94C: - bl TeachyTvBg2AnimController - ldrh r0, [r5, 0x4] - adds r0, 0x1 - strh r0, [r5, 0x4] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3F - ble _0815B9D4 - movs r4, 0 - strh r4, [r5, 0x4] - strh r4, [r5, 0x6] - bl TeachyTvSetupWindow - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5] - adds r0, r7, 0 - subs r0, 0x8 - adds r0, r6, r0 - ldr r1, _0815B9E0 @ =sub_815B2C0 - str r1, [r0] - movs r0, 0 - bl PutWindowTilemap - bl TeachyTvSetupScrollIndicatorArrowPair - bl TeachyTvSetWindowRegs - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r1, 0x80 - lsls r1, 5 - movs r0, 0x3 - movs r2, 0x2 - bl ChangeBgX - movs r1, 0xA0 - lsls r1, 6 - movs r0, 0x3 - movs r2, 0x1 - bl ChangeBgY - ldr r2, _0815B9E4 @ =gUnknown_203F450 - ldr r0, [r2] - ldr r1, _0815B9E8 @ =0x00004004 - adds r0, r1 - strb r4, [r0] - ldr r0, [r2] - adds r1, 0x1 - adds r0, r1 - movs r1, 0x3 - strb r1, [r0] - ldr r0, [r2] - ldr r1, _0815B9EC @ =0x00004006 - adds r0, r1 - strb r4, [r0] -_0815B9D4: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0815B9DC: .4byte gTasks+0x8 -_0815B9E0: .4byte sub_815B2C0 -_0815B9E4: .4byte gUnknown_203F450 -_0815B9E8: .4byte 0x00004004 -_0815B9EC: .4byte 0x00004006 - thumb_func_end sub_815B92C - - thumb_func_start sub_815B9F0 -sub_815B9F0: @ 815B9F0 - push {lr} - lsls r0, 24 - lsrs r1, r0, 24 - adds r2, r1, 0 - ldr r0, _0815BA0C @ =gTeachyTV_StaticResources - ldrb r0, [r0, 0x5] - cmp r0, 0 - blt _0815BA22 - cmp r0, 0x3 - bgt _0815BA10 - adds r0, r1, 0 - bl sub_815BC90 - b _0815BA22 - .align 2, 0 -_0815BA0C: .4byte gTeachyTV_StaticResources -_0815BA10: - cmp r0, 0x5 - bgt _0815BA22 - ldr r0, _0815BA28 @ =gUnknown_203F450 - ldr r1, [r0] - ldr r0, _0815BA2C @ =sub_815BA30 - str r0, [r1] - adds r0, r2, 0 - bl sub_815B23C -_0815BA22: - pop {r0} - bx r0 - .align 2, 0 -_0815BA28: .4byte gUnknown_203F450 -_0815BA2C: .4byte sub_815BA30 - thumb_func_end sub_815B9F0 - - thumb_func_start sub_815BA30 -sub_815BA30: @ 815BA30 - push {lr} - ldr r0, _0815BA44 @ =gTeachyTV_StaticResources - ldrb r0, [r0, 0x5] - cmp r0, 0x4 - bne _0815BA48 - movs r0, 0xA - bl sub_810B108 - b _0815BA4E - .align 2, 0 -_0815BA44: .4byte gTeachyTV_StaticResources -_0815BA48: - movs r0, 0x9 - bl sub_810B108 -_0815BA4E: - pop {r0} - bx r0 - thumb_func_end sub_815BA30 - - thumb_func_start TeachyTvTaskFunction -TeachyTvTaskFunction: @ 815BA54 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r2, r1, 3 - ldr r4, _0815BA8C @ =gTasks+0x8 - adds r3, r2, r4 - ldr r0, _0815BA90 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0815BA86 - ldr r1, _0815BA94 @ =gUnknown_8479390 - ldr r0, _0815BA98 @ =gTeachyTV_StaticResources - ldrb r0, [r0, 0x5] - adds r0, r1 - ldrb r0, [r0] - strh r0, [r3, 0x6] - adds r0, r4, 0 - subs r0, 0x8 - adds r0, r2, r0 - ldr r1, _0815BA9C @ =sub_815B4EC - str r1, [r0] -_0815BA86: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0815BA8C: .4byte gTasks+0x8 -_0815BA90: .4byte gPaletteFade -_0815BA94: .4byte gUnknown_8479390 -_0815BA98: .4byte gTeachyTV_StaticResources -_0815BA9C: .4byte sub_815B4EC - thumb_func_end TeachyTvTaskFunction - - thumb_func_start sub_815BAA0 -sub_815BAA0: @ 815BAA0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r4, [sp, 0x1C] - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - lsls r1, 16 - lsrs r6, r1, 16 - lsls r2, 16 - lsrs r1, r2, 16 - lsls r3, 24 - lsrs r7, r3, 24 - lsls r4, 24 - lsrs r4, 24 - mov r8, r4 - ldr r0, _0815BB34 @ =gUnknown_203F450 - ldr r0, [r0] - ldr r2, _0815BB38 @ =0x00004006 - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0x1 - beq _0815BB5C - lsls r0, r6, 16 - ldr r2, _0815BB3C @ =0xfff00000 - adds r0, r2 - asrs r0, 16 - lsls r1, 16 - asrs r5, r1, 16 - adds r1, r5, 0 - bl sub_815BC40 - lsls r0, 24 - cmp r0, 0 - beq _0815BB5C - ldr r0, _0815BB40 @ =gUnknown_83A0010 - ldr r0, [r0, 0x10] - movs r1, 0 - movs r2, 0 - adds r3, r7, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _0815BB44 @ =gSprites - adds r4, r1, r0 - strh r6, [r4, 0x24] - adds r0, r5, 0 - adds r0, 0x8 - strh r0, [r4, 0x26] - ldr r0, _0815BB48 @ =sub_815BB6C - str r0, [r4, 0x1C] - mov r0, r9 - strh r0, [r4, 0x2E] - mov r2, r8 - cmp r2, 0x1 - bne _0815BB4C - adds r0, r4, 0 - movs r1, 0x4 - bl SeekSpriteAnim - ldrb r0, [r4, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r0 - movs r0, 0x8 - orrs r1, r0 - strb r1, [r4, 0x5] - b _0815BB5C - .align 2, 0 -_0815BB34: .4byte gUnknown_203F450 -_0815BB38: .4byte 0x00004006 -_0815BB3C: .4byte 0xfff00000 -_0815BB40: .4byte gUnknown_83A0010 -_0815BB44: .4byte gSprites -_0815BB48: .4byte sub_815BB6C -_0815BB4C: - ldr r1, _0815BB68 @ =gUnknown_84795B8 - adds r0, r4, 0 - bl SetSubspriteTables - adds r1, r4, 0 - adds r1, 0x42 - movs r0, 0x40 - strb r0, [r1] -_0815BB5C: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0815BB68: .4byte gUnknown_84795B8 - thumb_func_end sub_815BAA0 - - thumb_func_start sub_815BB6C -sub_815BB6C: @ 815BB6C - push {r4,r5,lr} - adds r3, r0, 0 - movs r0, 0x2E - ldrsh r1, [r3, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, _0815BBA4 @ =gTasks+0x8 - adds r4, r0, r1 - movs r2, 0x2 - ldrsh r1, [r4, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0815BBA8 @ =gSprites - adds r5, r0, r1 - ldr r0, _0815BBAC @ =gUnknown_203F450 - ldr r0, [r0] - ldr r1, _0815BBB0 @ =0x00004006 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bne _0815BBB4 - adds r0, r3, 0 - bl DestroySprite - b _0815BC3A - .align 2, 0 -_0815BBA4: .4byte gTasks+0x8 -_0815BBA8: .4byte gSprites -_0815BBAC: .4byte gUnknown_203F450 -_0815BBB0: .4byte 0x00004006 -_0815BBB4: - adds r0, r3, 0 - adds r0, 0x2B - ldrb r0, [r0] - cmp r0, 0 - bne _0815BBD2 - adds r2, r3, 0 - adds r2, 0x42 - ldrb r0, [r2] - movs r1, 0x40 - negs r1, r1 - ands r1, r0 - movs r0, 0x1 - orrs r1, r0 - strb r1, [r2] - b _0815BBE0 -_0815BBD2: - adds r2, r3, 0 - adds r2, 0x42 - ldrb r1, [r2] - movs r0, 0x40 - negs r0, r0 - ands r0, r1 - strb r0, [r2] -_0815BBE0: - ldrh r0, [r4, 0x8] - ldrh r2, [r3, 0x24] - adds r0, r2 - strh r0, [r3, 0x24] - ldrh r0, [r4, 0xA] - ldrh r1, [r3, 0x26] - adds r0, r1 - strh r0, [r3, 0x26] - adds r0, r3, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0815BC3A - adds r1, r3, 0 - adds r1, 0x43 - movs r0, 0 - strb r0, [r1] - ldrh r1, [r3, 0x24] - ldrh r0, [r5, 0x24] - subs r1, r0 - ldrh r0, [r3, 0x26] - ldrh r2, [r5, 0x26] - subs r0, r2 - lsls r0, 16 - lsrs r0, 16 - lsls r1, 16 - movs r2, 0xF0 - lsls r2, 12 - adds r1, r2 - lsrs r1, 16 - cmp r1, 0x1E - bhi _0815BC34 - lsls r0, 16 - asrs r1, r0, 16 - movs r0, 0x10 - negs r0, r0 - cmp r1, r0 - ble _0815BC34 - cmp r1, 0x17 - ble _0815BC3A -_0815BC34: - adds r0, r3, 0 - bl DestroySprite -_0815BC3A: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_815BB6C - - thumb_func_start sub_815BC40 -sub_815BC40: @ 815BC40 - push {r4,r5,lr} - lsls r1, 16 - lsrs r1, 16 - lsls r4, r0, 16 - cmp r4, 0 - blt _0815BC52 - lsls r1, 16 - cmp r1, 0 - bge _0815BC56 -_0815BC52: - movs r0, 0 - b _0815BC78 -_0815BC56: - ldr r3, _0815BC80 @ =gUnknown_84795C8 - ldr r0, _0815BC84 @ =gUnknown_203F450 - ldr r2, [r0] - ldr r5, _0815BC88 @ =0x00004005 - adds r0, r2, r5 - asrs r1, 20 - ldrb r0, [r0] - adds r1, r0 - lsls r1, 4 - ldr r0, _0815BC8C @ =0x00004004 - adds r2, r0 - asrs r0, r4, 20 - ldrb r2, [r2] - adds r0, r2 - adds r1, r0 - adds r1, r3 - ldrb r0, [r1] -_0815BC78: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0815BC80: .4byte gUnknown_84795C8 -_0815BC84: .4byte gUnknown_203F450 -_0815BC88: .4byte 0x00004005 -_0815BC8C: .4byte 0x00004004 - thumb_func_end sub_815BC40 - - thumb_func_start sub_815BC90 -sub_815BC90: @ 815BC90 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, _0815BCCC @ =gTasks+0x8 - adds r5, r0, r1 - bl sub_815B220 - ldr r1, _0815BCD0 @ =gSpecialVar_0x8004 - ldr r4, _0815BCD4 @ =gTeachyTV_StaticResources - ldrb r0, [r4, 0x5] - strh r0, [r1] - ldr r1, _0815BCD8 @ =gMain - ldr r0, _0815BCDC @ =sub_815BD58 - str r0, [r1, 0x8] - bl SavePlayerParty - bl sub_8159F40 - movs r0, 0 - bl PlayMapChosenOrBattleBGM - ldrb r0, [r4, 0x5] - cmp r0, 0 - bne _0815BCE0 - movs r0, 0x9 - b _0815BCE2 - .align 2, 0 -_0815BCCC: .4byte gTasks+0x8 -_0815BCD0: .4byte gSpecialVar_0x8004 -_0815BCD4: .4byte gTeachyTV_StaticResources -_0815BCD8: .4byte gMain -_0815BCDC: .4byte sub_815BD58 -_0815BCE0: - movs r0, 0x8 -_0815BCE2: - strh r0, [r5, 0xC] - movs r0, 0 - strh r0, [r5, 0xE] - ldr r1, _0815BCFC @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, _0815BD00 @ =sub_815BD04 - str r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0815BCFC: .4byte gTasks -_0815BD00: .4byte sub_815BD04 - thumb_func_end sub_815BC90 - - thumb_func_start sub_815BD04 -sub_815BD04: @ 815BD04 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0815BD24 @ =gTasks+0x8 - adds r4, r0, r1 - movs r1, 0xE - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0815BD28 - cmp r0, 0x1 - beq _0815BD36 - b _0815BD4C - .align 2, 0 -_0815BD24: .4byte gTasks+0x8 -_0815BD28: - ldrb r0, [r4, 0xC] - bl sub_80D08B8 - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - b _0815BD4C -_0815BD36: - bl sub_80D08F8 - lsls r0, 24 - cmp r0, 0 - beq _0815BD4C - ldr r0, _0815BD54 @ =sub_800FD9C - bl SetMainCallback2 - adds r0, r5, 0 - bl DestroyTask -_0815BD4C: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0815BD54: .4byte sub_800FD9C - thumb_func_end sub_815BD04 - - thumb_func_start sub_815BD58 -sub_815BD58: @ 815BD58 - push {lr} - bl LoadPlayerParty - ldr r0, _0815BD6C @ =gUnknown_2023E8A - ldrb r0, [r0] - cmp r0, 0x3 - bne _0815BD70 - bl sub_815AC20 - b _0815BD78 - .align 2, 0 -_0815BD6C: .4byte gUnknown_2023E8A -_0815BD70: - movs r0, 0x88 - lsls r0, 1 - bl PlayNewMapMusic -_0815BD78: - bl CB2_ReturnToTeachyTV - pop {r0} - bx r0 - thumb_func_end sub_815BD58 - - thumb_func_start sub_815BD80 -sub_815BD80: @ 815BD80 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x10] - ldr r1, _0815BE1C @ =Route1_Layout - mov r8, r1 - movs r0, 0x80 - lsls r0, 4 - bl AllocZeroed - adds r6, r0, 0 - movs r0, 0x80 - lsls r0, 8 - bl AllocZeroed - str r0, [sp, 0x8] - movs r0, 0x10 - bl Alloc - str r0, [sp, 0xC] - movs r1, 0xFF - movs r2, 0x10 - bl memset - mov r2, r8 - ldr r0, [r2, 0x10] - movs r2, 0xA0 - lsls r2, 2 - ldr r1, [sp, 0x8] - bl sub_815BF48 - mov r3, r8 - ldr r0, [r3, 0x14] - ldr r2, [sp, 0x8] - movs r3, 0xA0 - lsls r3, 7 - adds r1, r2, r3 - movs r2, 0xC0 - lsls r2, 1 - bl sub_815BF48 - movs r4, 0 -_0815BDDE: - movs r2, 0 - adds r0, r4, 0x6 - str r0, [sp, 0x18] - lsls r1, r4, 4 - mov r10, r1 - lsls r3, r4, 6 - mov r9, r3 - adds r4, 0x1 - str r4, [sp, 0x14] -_0815BDF0: - mov r1, r8 - ldr r0, [r1] - ldr r3, [sp, 0x18] - muls r0, r3 - ldr r1, [r1, 0xC] - adds r0, r2, r0 - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0, 0x10] - ldr r3, _0815BE20 @ =0x000003ff - adds r0, r3, 0 - adds r4, r0, 0 - ands r4, r1 - movs r3, 0 - mov r0, r10 - adds r1, r0, r2 - lsls r5, r2, 1 - adds r7, r2, 0x1 - cmp r3, r1 - bge _0815BE3C - ldrh r0, [r6] - b _0815BE34 - .align 2, 0 -_0815BE1C: .4byte Route1_Layout -_0815BE20: .4byte 0x000003ff -_0815BE24: - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, r1 - bge _0815BE3C - lsls r0, r3, 1 - adds r0, r6 - ldrh r0, [r0] -_0815BE34: - cmp r0, 0 - beq _0815BE46 - cmp r0, r4 - bne _0815BE24 -_0815BE3C: - lsls r0, r3, 1 - adds r0, r6 - ldrh r0, [r0] - cmp r0, 0 - bne _0815BE56 -_0815BE46: - lsls r0, r3, 1 - adds r0, r6 - strh r4, [r0] - ldr r0, [sp, 0x10] - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x10] -_0815BE56: - mov r2, r9 - adds r1, r2, r5 - lsls r1, 1 - ldr r0, [sp, 0x4] - adds r1, r0, r1 - str r3, [sp] - mov r0, r8 - ldr r2, [sp, 0xC] - adds r3, r4, 0 - bl sub_815BF70 - lsls r0, r7, 16 - lsrs r2, r0, 16 - cmp r2, 0xF - bls _0815BDF0 - ldr r1, [sp, 0x14] - lsls r0, r1, 16 - lsrs r4, r0, 16 - cmp r4, 0x8 - bls _0815BDDE - ldr r2, [sp, 0x10] - lsls r0, r2, 7 - bl Alloc - adds r7, r0, 0 - movs r0, 0x80 - bl Alloc - adds r5, r0, 0 - movs r4, 0 - ldr r3, [sp, 0x10] - lsls r3, 23 - mov r9, r3 - ldr r0, [sp, 0x10] - cmp r4, r0 - bcs _0815BF00 - ldr r1, _0815BECC @ =0x0000027f - mov r10, r1 -_0815BEA2: - adds r0, r5, 0 - movs r1, 0 - movs r2, 0x80 - bl memset - lsls r0, r4, 1 - adds r1, r0, r6 - ldrh r0, [r1] - cmp r0, r10 - bhi _0815BED0 - mov r2, r8 - ldr r0, [r2, 0x10] - ldrh r1, [r1] - lsls r1, 4 - ldr r0, [r0, 0xC] - adds r0, r1 - adds r1, r5, 0 - ldr r2, [sp, 0x8] - bl sub_815BFF0 - b _0815BEE8 - .align 2, 0 -_0815BECC: .4byte 0x0000027f -_0815BED0: - mov r3, r8 - ldr r0, [r3, 0x14] - ldrh r1, [r1] - ldr r2, _0815BF44 @ =0xfffffd80 - adds r1, r2 - lsls r1, 4 - ldr r0, [r0, 0xC] - adds r0, r1 - adds r1, r5, 0 - ldr r2, [sp, 0x8] - bl sub_815BFF0 -_0815BEE8: - lsls r1, r4, 7 - adds r1, r7, r1 - adds r0, r5, 0 - movs r2, 0x20 - bl CpuFastSet - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - ldr r3, [sp, 0x10] - cmp r4, r3 - bcc _0815BEA2 -_0815BF00: - mov r0, r9 - lsrs r2, r0, 16 - movs r0, 0x3 - adds r1, r7, 0 - movs r3, 0 - bl LoadBgTiles - mov r0, r8 - ldr r1, [sp, 0xC] - bl sub_815C230 - adds r0, r5, 0 - bl Free - adds r0, r7, 0 - bl Free - ldr r0, [sp, 0xC] - bl Free - ldr r0, [sp, 0x8] - bl Free - adds r0, r6, 0 - bl Free - add sp, 0x1C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0815BF44: .4byte 0xfffffd80 - thumb_func_end sub_815BD80 - - thumb_func_start sub_815BF48 -sub_815BF48: @ 815BF48 - push {lr} - adds r3, r0, 0 - lsls r2, 16 - lsrs r2, 16 - cmp r3, 0 - beq _0815BF6A - ldrb r0, [r3] - cmp r0, 0 - bne _0815BF64 - ldr r0, [r3, 0x4] - lsls r2, 3 - bl CpuFastSet - b _0815BF6A -_0815BF64: - ldr r0, [r3, 0x4] - bl LZDecompressWram -_0815BF6A: - pop {r0} - bx r0 - thumb_func_end sub_815BF48 - - thumb_func_start sub_815BF70 -sub_815BF70: @ 815BF70 - push {r4-r7,lr} - adds r5, r0, 0 - adds r7, r1, 0 - adds r6, r2, 0 - ldr r0, [sp, 0x14] - lsls r3, 16 - lsrs r1, r3, 16 - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, _0815BF8C @ =0x0000027f - cmp r1, r0 - bhi _0815BF90 - ldr r0, [r5, 0x10] - b _0815BF96 - .align 2, 0 -_0815BF8C: .4byte 0x0000027f -_0815BF90: - ldr r0, [r5, 0x14] - ldr r2, _0815BFEC @ =0xfffffd80 - adds r1, r2 -_0815BF96: - lsls r1, 4 - ldr r0, [r0, 0xC] - adds r5, r0, r1 - ldrh r1, [r5] - adds r0, r6, 0 - bl sub_815C1F0 - lsls r0, 12 - lsls r4, 2 - adds r0, r4 - strh r0, [r7] - ldrh r1, [r5, 0x2] - adds r0, r6, 0 - bl sub_815C1F0 - lsls r0, 12 - adds r0, r4 - adds r0, 0x1 - strh r0, [r7, 0x2] - ldrh r1, [r5, 0x4] - adds r0, r6, 0 - bl sub_815C1F0 - adds r1, r7, 0 - adds r1, 0x40 - lsls r0, 12 - adds r0, r4 - adds r0, 0x2 - strh r0, [r1] - ldrh r1, [r5, 0x6] - adds r0, r6, 0 - bl sub_815C1F0 - adds r1, r7, 0 - adds r1, 0x42 - lsls r0, 12 - adds r0, r4 - adds r0, 0x3 - strh r0, [r1] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0815BFEC: .4byte 0xfffffd80 - thumb_func_end sub_815BF70 - - thumb_func_start sub_815BFF0 -sub_815BFF0: @ 815BFF0 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - mov r8, r0 - mov r9, r1 - adds r5, r2, 0 - ldrh r2, [r0] - ldr r4, _0815C0D0 @ =0x000003ff - adds r1, r4, 0 - ands r1, r2 - lsls r1, 5 - adds r1, r5, r1 - lsrs r2, 10 - movs r6, 0x3 - ands r2, r6 - mov r0, r9 - bl sub_815C0D4 - mov r0, r8 - ldrh r2, [r0, 0x8] - adds r1, r4, 0 - ands r1, r2 - lsls r1, 5 - adds r1, r5, r1 - lsrs r2, 10 - ands r2, r6 - mov r0, r9 - bl sub_815C0D4 - movs r0, 0x20 - add r0, r9 - mov r10, r0 - mov r0, r8 - ldrh r2, [r0, 0x2] - adds r1, r4, 0 - ands r1, r2 - lsls r1, 5 - adds r1, r5, r1 - lsrs r2, 10 - ands r2, r6 - mov r0, r10 - bl sub_815C0D4 - mov r0, r8 - ldrh r2, [r0, 0xA] - adds r1, r4, 0 - ands r1, r2 - lsls r1, 5 - adds r1, r5, r1 - lsrs r2, 10 - ands r2, r6 - mov r0, r10 - bl sub_815C0D4 - movs r0, 0x40 - add r0, r9 - mov r10, r0 - mov r0, r8 - ldrh r2, [r0, 0x4] - adds r1, r4, 0 - ands r1, r2 - lsls r1, 5 - adds r1, r5, r1 - lsrs r2, 10 - ands r2, r6 - mov r0, r10 - bl sub_815C0D4 - mov r0, r8 - ldrh r2, [r0, 0xC] - adds r1, r4, 0 - ands r1, r2 - lsls r1, 5 - adds r1, r5, r1 - lsrs r2, 10 - ands r2, r6 - mov r0, r10 - bl sub_815C0D4 - movs r0, 0x60 - add r9, r0 - mov r0, r8 - ldrh r2, [r0, 0x6] - adds r1, r4, 0 - ands r1, r2 - lsls r1, 5 - adds r1, r5, r1 - lsrs r2, 10 - ands r2, r6 - mov r0, r9 - bl sub_815C0D4 - mov r0, r8 - ldrh r2, [r0, 0xE] - ands r4, r2 - lsls r4, 5 - adds r5, r4 - lsrs r2, 10 - ands r2, r6 - mov r0, r9 - adds r1, r5, 0 - bl sub_815C0D4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0815C0D0: .4byte 0x000003ff - thumb_func_end sub_815BFF0 - - thumb_func_start sub_815C0D4 -sub_815C0D4: @ 815C0D4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - mov r9, r0 - adds r4, r1, 0 - lsls r2, 24 - lsrs r2, 24 - mov r10, r2 - movs r0, 0x20 - bl AllocZeroed - adds r6, r0, 0 - movs r0, 0x20 - bl AllocZeroed - str r0, [sp] - adds r0, r4, 0 - adds r1, r6, 0 - movs r2, 0x8 - bl CpuFastSet - movs r0, 0x1 - mov r1, r10 - ands r0, r1 - cmp r0, 0 - beq _0815C15A - movs r5, 0 - movs r7, 0xF - mov r12, r7 - movs r0, 0xF0 - mov r8, r0 -_0815C118: - movs r3, 0 - lsls r4, r5, 2 -_0815C11C: - subs r0, r3, 0x3 - subs r0, r4, r0 - adds r0, r6, r0 - ldrb r1, [r0] - adds r2, r4, r3 - ldr r7, [sp] - adds r2, r7, r2 - adds r0, r1, 0 - mov r7, r12 - ands r0, r7 - lsls r0, 4 - mov r7, r8 - ands r1, r7 - lsrs r1, 4 - adds r0, r1 - strb r0, [r2] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x3 - bls _0815C11C - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x7 - bls _0815C118 - ldr r0, [sp] - adds r1, r6, 0 - movs r2, 0x8 - bl CpuFastSet -_0815C15A: - movs r0, 0x2 - mov r1, r10 - ands r0, r1 - cmp r0, 0 - beq _0815C18E - movs r5, 0 -_0815C166: - lsls r0, r5, 2 - ldr r7, [sp] - adds r0, r7 - movs r1, 0x7 - subs r1, r5 - lsls r1, 2 - adds r1, r6 - movs r2, 0x4 - bl memcpy - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x7 - bls _0815C166 - ldr r0, [sp] - adds r1, r6, 0 - movs r2, 0x8 - bl CpuFastSet -_0815C18E: - movs r5, 0 - movs r0, 0xF0 - mov r8, r0 - movs r1, 0xF - mov r12, r1 -_0815C198: - adds r4, r6, r5 - ldrb r0, [r4] - mov r3, r8 - ands r3, r0 - cmp r3, 0 - beq _0815C1B2 - mov r7, r9 - adds r2, r7, r5 - ldrb r1, [r2] - mov r0, r12 - ands r0, r1 - adds r0, r3 - strb r0, [r2] -_0815C1B2: - ldrb r0, [r4] - mov r3, r12 - ands r3, r0 - cmp r3, 0 - beq _0815C1CA - mov r0, r9 - adds r2, r0, r5 - ldrb r1, [r2] - mov r0, r8 - ands r0, r1 - adds r0, r3 - strb r0, [r2] -_0815C1CA: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x1F - bls _0815C198 - ldr r0, [sp] - bl Free - adds r0, r6, 0 - bl Free - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_815C0D4 - - thumb_func_start sub_815C1F0 -sub_815C1F0: @ 815C1F0 - push {r4,lr} - adds r4, r0, 0 - lsls r1, 16 - lsrs r1, 28 - movs r3, 0 - ldrb r0, [r4] - cmp r0, r1 - beq _0815C220 - cmp r0, 0xFF - bne _0815C208 - strb r1, [r4] - b _0815C220 -_0815C208: - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0xF - bhi _0815C220 - adds r2, r4, r3 - ldrb r0, [r2] - cmp r0, r1 - beq _0815C220 - cmp r0, 0xFF - bne _0815C208 - strb r1, [r2] -_0815C220: - movs r0, 0xF - subs r0, r3 - lsls r0, 16 - lsrs r0, 16 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_815C1F0 - - thumb_func_start sub_815C230 -sub_815C230: @ 815C230 - push {r4-r6,lr} - adds r6, r0, 0 - adds r5, r1, 0 - movs r4, 0 - ldrb r0, [r5] - cmp r0, 0xFF - beq _0815C274 -_0815C23E: - adds r1, r5, r4 - ldrb r0, [r1] - cmp r0, 0x6 - bls _0815C24A - ldr r0, [r6, 0x14] - b _0815C24C -_0815C24A: - ldr r0, [r6, 0x10] -_0815C24C: - ldrb r1, [r1] - lsls r1, 5 - ldr r0, [r0, 0x8] - adds r0, r1 - movs r1, 0xF - subs r1, r4 - lsls r1, 20 - lsrs r1, 16 - movs r2, 0x20 - bl LoadPalette - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xF - bhi _0815C274 - adds r0, r5, r4 - ldrb r0, [r0] - cmp r0, 0xFF - bne _0815C23E -_0815C274: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_815C230 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/.fuse_hidden00001c3c00000005 b/asm/.fuse_hidden00001c3c00000005 deleted file mode 100644 index 2aff48af5..000000000 --- a/asm/.fuse_hidden00001c3c00000005 +++ /dev/null @@ -1,2244 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start TeachyTvConfigRboxAndObj -TeachyTvConfigRboxAndObj: @ 815B118 - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, _0815B190 @ =gTasks+0x8 - adds r5, r0, r1 - movs r0, 0x2 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0815B194 @ =gSprites - adds r7, r0, r1 - movs r0, 0x1 - bl ClearWindowTilemap - bl TeachyTvClearWindowRegs - ldr r0, _0815B198 @ =gTeachyTV_StaticResources - ldrb r0, [r0, 0x5] - cmp r0, 0 - blt _0815B1B8 - cmp r0, 0x3 - bgt _0815B1A8 - ldrb r0, [r5, 0x2] - movs r1, 0x78 - movs r2, 0x38 - movs r3, 0 - bl TeachyTvSetSpriteCoordsAndSwitchFrame - movs r4, 0xC0 - lsls r4, 6 - movs r0, 0x3 - adds r1, r4, 0 - movs r2, 0x1 - bl ChangeBgX - movs r0, 0x3 - adds r1, r4, 0 - movs r2, 0x2 - bl ChangeBgY - ldr r2, _0815B19C @ =gUnknown_203F450 - ldr r1, [r2] - ldr r0, _0815B1A0 @ =0x00004004 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x3 - strb r0, [r1] - ldr r1, [r2] - ldr r0, _0815B1A4 @ =0x00004005 - adds r1, r0 - ldrb r0, [r1] - subs r0, 0x3 - strb r0, [r1] - b _0815B1B8 - .align 2, 0 -_0815B190: .4byte gTasks+0x8 -_0815B194: .4byte gSprites -_0815B198: .4byte gTeachyTV_StaticResources -_0815B19C: .4byte gUnknown_203F450 -_0815B1A0: .4byte 0x00004004 -_0815B1A4: .4byte 0x00004005 -_0815B1A8: - cmp r0, 0x5 - bgt _0815B1B8 - ldrb r0, [r5, 0x2] - movs r1, 0x78 - movs r2, 0x38 - movs r3, 0 - bl TeachyTvSetSpriteCoordsAndSwitchFrame -_0815B1B8: - movs r0, 0 - strh r0, [r5, 0x8] - strh r0, [r5, 0xA] - movs r0, 0x24 - ldrsh r1, [r7, r0] - movs r0, 0x26 - ldrsh r2, [r7, r0] - movs r0, 0x1 - str r0, [sp] - adds r0, r6, 0 - movs r3, 0 - bl sub_815BAA0 - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end TeachyTvConfigRboxAndObj - - thumb_func_start sub_815B1DC -sub_815B1DC: @ 815B1DC - push {r4,lr} - sub sp, 0x10 - adds r4, r0, 0 - ldr r2, _0815B21C @ =gTextFlags - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - bl GetTextSpeedSetting - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0 - str r0, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - movs r0, 0xC - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x4 - adds r2, r4, 0 - bl AddTextPrinterParametrized - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0815B21C: .4byte gTextFlags - thumb_func_end sub_815B1DC - - thumb_func_start sub_815B220 -sub_815B220: @ 815B220 - push {r4,lr} - ldr r4, _0815B238 @ =gUnknown_203F450 - ldr r0, [r4] - bl Free - movs r0, 0 - str r0, [r4] - bl FreeAllWindowBuffers - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0815B238: .4byte gUnknown_203F450 - thumb_func_end sub_815B220 - - thumb_func_start sub_815B23C -sub_815B23C: @ 815B23C - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, _0815B26C @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0815B270 @ =sub_815B274 - str r1, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0815B26C: .4byte gTasks -_0815B270: .4byte sub_815B274 - thumb_func_end sub_815B23C - - thumb_func_start sub_815B274 -sub_815B274: @ 815B274 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0815B298 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0815B2B6 - ldr r0, _0815B29C @ =gUnknown_203F450 - ldr r0, [r0] - ldr r0, [r0] - cmp r0, 0 - beq _0815B2A0 - bl SetMainCallback2 - b _0815B2AC - .align 2, 0 -_0815B298: .4byte gPaletteFade -_0815B29C: .4byte gUnknown_203F450 -_0815B2A0: - bl sub_8055DC4 - ldr r0, _0815B2BC @ =gTeachyTV_StaticResources - ldr r0, [r0] - bl SetMainCallback2 -_0815B2AC: - bl sub_815B220 - adds r0, r4, 0 - bl DestroyTask -_0815B2B6: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0815B2BC: .4byte gTeachyTV_StaticResources - thumb_func_end sub_815B274 - - thumb_func_start sub_815B2C0 -sub_815B2C0: @ 815B2C0 - push {r4-r7,lr} - lsls r0, 24 - lsrs r7, r0, 24 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - ldr r1, _0815B31C @ =gTasks+0x8 - adds r6, r0, r1 - bl TeachyTvBg2AnimController - ldr r0, _0815B320 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0815B37A - ldrb r0, [r6] - bl ListMenuHandleInput - adds r5, r0, 0 - ldrb r0, [r6] - ldr r4, _0815B324 @ =gTeachyTV_StaticResources+6 - adds r2, r4, 0x2 - adds r1, r4, 0 - bl get_coro_args_x18_x1A - ldr r0, _0815B328 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0815B30A - subs r0, r4, 0x6 - ldr r1, [r0] - ldr r0, _0815B32C @ =UseFameCheckerFromMenu - cmp r1, r0 - bne _0815B330 -_0815B30A: - movs r0, 0x2 - negs r0, r0 - cmp r5, r0 - beq _0815B330 - adds r0, 0x1 - cmp r5, r0 - bne _0815B33E - b _0815B37A - .align 2, 0 -_0815B31C: .4byte gTasks+0x8 -_0815B320: .4byte gPaletteFade -_0815B324: .4byte gTeachyTV_StaticResources+6 -_0815B328: .4byte gMain -_0815B32C: .4byte UseFameCheckerFromMenu -_0815B330: - movs r0, 0x5 - bl PlaySE - adds r0, r7, 0 - bl sub_815B23C - b _0815B37A -_0815B33E: - movs r0, 0x5 - bl PlaySE - ldr r2, _0815B380 @ =gTeachyTV_StaticResources - movs r4, 0 - strb r5, [r2, 0x5] - ldrb r0, [r6] - adds r1, r2, 0x6 - adds r2, 0x8 - bl DestroyListMenu - bl TeachyTvClearWindowRegs - movs r0, 0x1 - bl ClearWindowTilemap - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - bl TeachyTvRemoveScrollIndicatorArrowPair - strh r4, [r6, 0x6] - strh r4, [r6, 0x4] - ldr r1, _0815B384 @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldr r1, _0815B388 @ =sub_815B4EC - str r1, [r0] -_0815B37A: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0815B380: .4byte gTeachyTV_StaticResources -_0815B384: .4byte gTasks -_0815B388: .4byte sub_815B4EC - thumb_func_end sub_815B2C0 - - thumb_func_start sub_815B38C -sub_815B38C: @ 815B38C - push {r4,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _0815B3F8 @ =gTasks+0x8 - adds r4, r1, r0 - bl TeachyTvBg2AnimController - ldrh r0, [r4, 0x4] - adds r0, 0x1 - strh r0, [r4, 0x4] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3F - ble _0815B3F0 - ldr r0, _0815B3FC @ =gUnknown_203F450 - ldr r1, [r0] - ldr r0, _0815B400 @ =0x00003004 - adds r1, r0 - movs r0, 0x20 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBufferRect_ChangePalette - ldrb r0, [r4, 0x2] - movs r1, 0x8 - movs r2, 0x38 - movs r3, 0x7 - bl TeachyTvSetSpriteCoordsAndSwitchFrame - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0 - strh r0, [r4, 0x4] - ldrh r0, [r4, 0x6] - adds r0, 0x1 - strh r0, [r4, 0x6] - movs r0, 0x88 - lsls r0, 1 - bl PlayNewMapMusic -_0815B3F0: - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0815B3F8: .4byte gTasks+0x8 -_0815B3FC: .4byte gUnknown_203F450 -_0815B400: .4byte 0x00003004 - thumb_func_end sub_815B38C - - thumb_func_start sub_815B404 -sub_815B404: @ 815B404 - push {r4,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _0815B450 @ =gTasks+0x8 - adds r4, r1, r0 - ldrh r0, [r4, 0x4] - adds r0, 0x1 - strh r0, [r4, 0x4] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x86 - bne _0815B448 - movs r0, 0x1A - str r0, [sp] - movs r0, 0xC - str r0, [sp, 0x4] - movs r0, 0x2 - movs r1, 0 - movs r2, 0x2 - movs r3, 0x1 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0 - strh r0, [r4, 0x4] - ldrh r0, [r4, 0x6] - adds r0, 0x1 - strh r0, [r4, 0x6] -_0815B448: - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0815B450: .4byte gTasks+0x8 - thumb_func_end sub_815B404 - - thumb_func_start sub_815B454 -sub_815B454: @ 815B454 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _0815B484 @ =gTasks+0x8 - adds r4, r1, r0 - movs r0, 0x2 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0815B488 @ =gSprites - adds r1, r0, r1 - ldrh r2, [r4, 0x4] - movs r3, 0x4 - ldrsh r0, [r4, r3] - cmp r0, 0x23 - beq _0815B48C - adds r0, r2, 0x1 - strh r0, [r4, 0x4] - b _0815B4B8 - .align 2, 0 -_0815B484: .4byte gTasks+0x8 -_0815B488: .4byte gSprites -_0815B48C: - ldrh r2, [r1, 0x24] - movs r3, 0x24 - ldrsh r0, [r1, r3] - cmp r0, 0x78 - bne _0815B4B4 - adds r0, r1, 0 - movs r1, 0 - bl StartSpriteAnim - ldr r0, _0815B4B0 @ =gUnknown_841B83D - bl sub_815B1DC - movs r0, 0 - strh r0, [r4, 0x4] - ldrh r0, [r4, 0x6] - adds r0, 0x1 - strh r0, [r4, 0x6] - b _0815B4B8 - .align 2, 0 -_0815B4B0: .4byte gUnknown_841B83D -_0815B4B4: - adds r0, r2, 0x1 - strh r0, [r1, 0x24] -_0815B4B8: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_815B454 - - thumb_func_start sub_815B4C0 -sub_815B4C0: @ 815B4C0 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _0815B4E8 @ =gTasks+0x8 - adds r4, r1, r0 - movs r0, 0 - bl sub_80BF518 - lsls r0, 16 - cmp r0, 0 - bne _0815B4E2 - ldrh r0, [r4, 0x6] - adds r0, 0x1 - strh r0, [r4, 0x6] -_0815B4E2: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0815B4E8: .4byte gTasks+0x8 - thumb_func_end sub_815B4C0 - - thumb_func_start sub_815B4EC -sub_815B4EC: @ 815B4EC - push {r4-r7,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r6, r0, 3 - ldr r7, _0815B548 @ =gTasks+0x8 - adds r5, r6, r7 - ldr r0, _0815B54C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0815B55C - ldr r0, _0815B550 @ =gUnknown_203F450 - ldr r0, [r0] - ldr r1, _0815B554 @ =0x00004006 - adds r0, r1 - movs r4, 0 - movs r1, 0x1 - strb r1, [r0] - ldrb r0, [r5, 0x2] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl TeachyTvSetSpriteCoordsAndSwitchFrame - movs r0, 0 - movs r1, 0xCC - bl FillWindowPixelBuffer - movs r0, 0 - movs r1, 0x2 - bl CopyWindowToVram - bl sub_815B908 - strh r4, [r5, 0x4] - strh r4, [r5, 0x6] - adds r0, r7, 0 - subs r0, 0x8 - adds r0, r6, r0 - ldr r1, _0815B558 @ =sub_815B92C - str r1, [r0] - b _0815B578 - .align 2, 0 -_0815B548: .4byte gTasks+0x8 -_0815B54C: .4byte gMain -_0815B550: .4byte gUnknown_203F450 -_0815B554: .4byte 0x00004006 -_0815B558: .4byte sub_815B92C -_0815B55C: - ldr r1, _0815B580 @ =gUnknown_8479548 - ldr r0, _0815B584 @ =gTeachyTV_StaticResources - ldrb r0, [r0, 0x5] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - movs r3, 0x6 - ldrsh r0, [r5, r3] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - adds r0, r2, 0 - bl _call_via_r1 -_0815B578: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0815B580: .4byte gUnknown_8479548 -_0815B584: .4byte gTeachyTV_StaticResources - thumb_func_end sub_815B4EC - - thumb_func_start sub_815B588 -sub_815B588: @ 815B588 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, _0815B5B4 @ =gTasks+0x8 - adds r4, r0 - ldr r1, _0815B5B8 @ =gUnknown_8479560 - ldr r0, _0815B5BC @ =gTeachyTV_StaticResources - ldrb r0, [r0, 0x5] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl sub_815B1DC - ldrh r0, [r4, 0x6] - adds r0, 0x1 - strh r0, [r4, 0x6] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0815B5B4: .4byte gTasks+0x8 -_0815B5B8: .4byte gUnknown_8479560 -_0815B5BC: .4byte gTeachyTV_StaticResources - thumb_func_end sub_815B588 - - thumb_func_start sub_815B5C0 -sub_815B5C0: @ 815B5C0 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, _0815B5EC @ =gTasks+0x8 - adds r4, r0 - ldr r1, _0815B5F0 @ =gUnknown_8479578 - ldr r0, _0815B5F4 @ =gTeachyTV_StaticResources - ldrb r0, [r0, 0x5] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl sub_815B1DC - ldrh r0, [r4, 0x6] - adds r0, 0x1 - strh r0, [r4, 0x6] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0815B5EC: .4byte gTasks+0x8 -_0815B5F0: .4byte gUnknown_8479578 -_0815B5F4: .4byte gTeachyTV_StaticResources - thumb_func_end sub_815B5C0 - - thumb_func_start sub_815B5F8 -sub_815B5F8: @ 815B5F8 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _0815B620 @ =gTasks+0x8 - adds r4, r1, r0 - movs r0, 0 - bl sub_80BF518 - lsls r0, 16 - cmp r0, 0 - bne _0815B61A - ldrh r0, [r4, 0x6] - adds r0, 0x1 - strh r0, [r4, 0x6] -_0815B61A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0815B620: .4byte gTasks+0x8 - thumb_func_end sub_815B5F8 - - thumb_func_start sub_815B624 -sub_815B624: @ 815B624 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _0815B65C @ =gTasks+0x8 - adds r4, r1, r0 - ldr r0, _0815B660 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _0815B656 - movs r0, 0 - movs r1, 0xCC - bl FillWindowPixelBuffer - movs r0, 0 - movs r1, 0x2 - bl CopyWindowToVram - ldrh r0, [r4, 0x6] - adds r0, 0x1 - strh r0, [r4, 0x6] -_0815B656: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0815B65C: .4byte gTasks+0x8 -_0815B660: .4byte gMain - thumb_func_end sub_815B624 - - thumb_func_start sub_815B664 -sub_815B664: @ 815B664 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, _0815B6A0 @ =gTasks+0x8 - adds r4, r0 - movs r0, 0x2 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0815B6A4 @ =gSprites - adds r0, r1 - movs r1, 0x5 - bl StartSpriteAnim - movs r0, 0 - strh r0, [r4, 0x4] - strh r0, [r4, 0x8] - movs r0, 0x1 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0x6] - adds r0, 0x1 - strh r0, [r4, 0x6] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0815B6A0: .4byte gTasks+0x8 -_0815B6A4: .4byte gSprites - thumb_func_end sub_815B664 - - thumb_func_start sub_815B6A8 -sub_815B6A8: @ 815B6A8 - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0815B730 @ =gTasks+0x8 - adds r4, r0, r1 - movs r0, 0x2 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0815B734 @ =gSprites - adds r6, r0, r1 - movs r1, 0x80 - lsls r1, 1 - movs r0, 0x3 - movs r2, 0x2 - bl ChangeBgY - ldrh r0, [r4, 0x4] - adds r0, 0x1 - strh r0, [r4, 0x4] - movs r3, 0xF - ands r3, r0 - cmp r3, 0 - bne _0815B702 - ldr r0, _0815B738 @ =gUnknown_203F450 - ldr r1, [r0] - ldr r2, _0815B73C @ =0x00004005 - adds r1, r2 - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] - movs r0, 0x24 - ldrsh r1, [r6, r0] - movs r0, 0x26 - ldrsh r2, [r6, r0] - str r3, [sp] - adds r0, r5, 0 - movs r3, 0 - bl sub_815BAA0 -_0815B702: - movs r1, 0x4 - ldrsh r0, [r4, r1] - cmp r0, 0x30 - bne _0815B726 - movs r1, 0 - strh r1, [r4, 0x4] - movs r2, 0x1 - negs r2, r2 - adds r0, r2, 0 - strh r0, [r4, 0x8] - strh r1, [r4, 0xA] - adds r0, r6, 0 - movs r1, 0x7 - bl StartSpriteAnim - ldrh r0, [r4, 0x6] - adds r0, 0x1 - strh r0, [r4, 0x6] -_0815B726: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0815B730: .4byte gTasks+0x8 -_0815B734: .4byte gSprites -_0815B738: .4byte gUnknown_203F450 -_0815B73C: .4byte 0x00004005 - thumb_func_end sub_815B6A8 - - thumb_func_start sub_815B740 -sub_815B740: @ 815B740 - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0815B7D4 @ =gTasks+0x8 - adds r4, r0, r1 - movs r0, 0x2 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0815B7D8 @ =gSprites - adds r6, r0, r1 - movs r1, 0x80 - lsls r1, 1 - movs r0, 0x3 - movs r2, 0x1 - bl ChangeBgX - ldrh r0, [r4, 0x4] - adds r0, 0x1 - strh r0, [r4, 0x4] - movs r2, 0xF - ands r0, r2 - cmp r0, 0 - bne _0815B78A - ldr r0, _0815B7DC @ =gUnknown_203F450 - ldr r1, [r0] - ldr r3, _0815B7E0 @ =0x00004004 - adds r1, r3 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_0815B78A: - movs r1, 0x4 - ldrsh r0, [r4, r1] - adds r0, 0x8 - ands r0, r2 - cmp r0, 0 - bne _0815B7AC - ldrh r1, [r6, 0x24] - adds r1, 0x8 - lsls r1, 16 - asrs r1, 16 - movs r3, 0x26 - ldrsh r2, [r6, r3] - str r0, [sp] - adds r0, r5, 0 - movs r3, 0 - bl sub_815BAA0 -_0815B7AC: - movs r1, 0x4 - ldrsh r0, [r4, r1] - cmp r0, 0x30 - bne _0815B7CA - movs r0, 0 - strh r0, [r4, 0x4] - strh r0, [r4, 0x8] - strh r0, [r4, 0xA] - adds r0, r6, 0 - movs r1, 0x3 - bl StartSpriteAnim - ldrh r0, [r4, 0x6] - adds r0, 0x1 - strh r0, [r4, 0x6] -_0815B7CA: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0815B7D4: .4byte gTasks+0x8 -_0815B7D8: .4byte gSprites -_0815B7DC: .4byte gUnknown_203F450 -_0815B7E0: .4byte 0x00004004 - thumb_func_end sub_815B740 - - thumb_func_start sub_815B7E4 -sub_815B7E4: @ 815B7E4 - push {r4-r6,lr} - sub sp, 0x4 - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - lsls r5, r6, 2 - adds r5, r6 - lsls r5, 3 - ldr r0, _0815B838 @ =gTasks+0x8 - adds r5, r0 - movs r1, 0x2 - ldrsh r0, [r5, r1] - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, _0815B83C @ =gSprites - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x6 - bl StartSpriteAnim - ldrh r0, [r5, 0x6] - adds r0, 0x1 - strh r0, [r5, 0x6] - movs r0, 0 - strh r0, [r5, 0x8] - strh r0, [r5, 0xA] - movs r0, 0x24 - ldrsh r1, [r4, r0] - movs r0, 0x26 - ldrsh r2, [r4, r0] - movs r0, 0 - str r0, [sp] - adds r0, r6, 0 - movs r3, 0 - bl sub_815BAA0 - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0815B838: .4byte gTasks+0x8 -_0815B83C: .4byte gSprites - thumb_func_end sub_815B7E4 - - thumb_func_start sub_815B840 -sub_815B840: @ 815B840 - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r3, r0, 24 - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 3 - ldr r1, _0815B890 @ =gTasks+0x8 - adds r5, r0, r1 - movs r0, 0x2 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0815B894 @ =gSprites - adds r4, r0, r1 - ldrh r1, [r4, 0x24] - movs r0, 0xF - ands r0, r1 - cmp r0, 0 - bne _0815B87E - subs r1, 0x8 - lsls r1, 16 - asrs r1, 16 - movs r6, 0x26 - ldrsh r2, [r4, r6] - str r0, [sp] - adds r0, r3, 0 - movs r3, 0 - bl sub_815BAA0 -_0815B87E: - ldrh r1, [r4, 0x24] - movs r2, 0x24 - ldrsh r0, [r4, r2] - cmp r0, 0x8 - bne _0815B898 - ldrh r0, [r5, 0x6] - adds r0, 0x1 - strh r0, [r5, 0x6] - b _0815B89C - .align 2, 0 -_0815B890: .4byte gTasks+0x8 -_0815B894: .4byte gSprites -_0815B898: - subs r0, r1, 0x1 - strh r0, [r4, 0x24] -_0815B89C: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_815B840 - - thumb_func_start sub_815B8A4 -sub_815B8A4: @ 815B8A4 - push {r4,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _0815B900 @ =gTasks+0x8 - adds r4, r1, r0 - movs r1, 0x4 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0815B8DC - ldr r1, _0815B904 @ =gUnknown_8479590 - movs r0, 0x8 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0x1 - movs r2, 0x14 - movs r3, 0xA - bl CopyToBgTilemapBufferRect_ChangePalette - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram -_0815B8DC: - ldrh r0, [r4, 0x4] - adds r0, 0x1 - strh r0, [r4, 0x4] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7E - ble _0815B8F8 - bl sub_815B908 - movs r0, 0 - strh r0, [r4, 0x4] - ldrh r0, [r4, 0x6] - adds r0, 0x1 - strh r0, [r4, 0x6] -_0815B8F8: - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0815B900: .4byte gTasks+0x8 -_0815B904: .4byte gUnknown_8479590 - thumb_func_end sub_815B8A4 - - thumb_func_start sub_815B908 -sub_815B908: @ 815B908 - push {lr} - sub sp, 0x8 - movs r0, 0x8 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - movs r1, 0 - movs r2, 0x14 - movs r3, 0xA - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - add sp, 0x8 - pop {r0} - bx r0 - thumb_func_end sub_815B908 - - thumb_func_start sub_815B92C -sub_815B92C: @ 815B92C - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r6, r1, 3 - ldr r7, _0815B9DC @ =gTasks+0x8 - adds r5, r6, r7 - movs r1, 0x4 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _0815B94C - movs r0, 0xAD - lsls r0, 1 - bl PlayNewMapMusic -_0815B94C: - bl TeachyTvBg2AnimController - ldrh r0, [r5, 0x4] - adds r0, 0x1 - strh r0, [r5, 0x4] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3F - ble _0815B9D4 - movs r4, 0 - strh r4, [r5, 0x4] - strh r4, [r5, 0x6] - bl TeachyTvSetupWindow - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5] - adds r0, r7, 0 - subs r0, 0x8 - adds r0, r6, r0 - ldr r1, _0815B9E0 @ =sub_815B2C0 - str r1, [r0] - movs r0, 0 - bl PutWindowTilemap - bl TeachyTvSetupScrollIndicatorArrowPair - bl TeachyTvSetWindowRegs - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r1, 0x80 - lsls r1, 5 - movs r0, 0x3 - movs r2, 0x2 - bl ChangeBgX - movs r1, 0xA0 - lsls r1, 6 - movs r0, 0x3 - movs r2, 0x1 - bl ChangeBgY - ldr r2, _0815B9E4 @ =gUnknown_203F450 - ldr r0, [r2] - ldr r1, _0815B9E8 @ =0x00004004 - adds r0, r1 - strb r4, [r0] - ldr r0, [r2] - adds r1, 0x1 - adds r0, r1 - movs r1, 0x3 - strb r1, [r0] - ldr r0, [r2] - ldr r1, _0815B9EC @ =0x00004006 - adds r0, r1 - strb r4, [r0] -_0815B9D4: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0815B9DC: .4byte gTasks+0x8 -_0815B9E0: .4byte sub_815B2C0 -_0815B9E4: .4byte gUnknown_203F450 -_0815B9E8: .4byte 0x00004004 -_0815B9EC: .4byte 0x00004006 - thumb_func_end sub_815B92C - - thumb_func_start sub_815B9F0 -sub_815B9F0: @ 815B9F0 - push {lr} - lsls r0, 24 - lsrs r1, r0, 24 - adds r2, r1, 0 - ldr r0, _0815BA0C @ =gTeachyTV_StaticResources - ldrb r0, [r0, 0x5] - cmp r0, 0 - blt _0815BA22 - cmp r0, 0x3 - bgt _0815BA10 - adds r0, r1, 0 - bl sub_815BC90 - b _0815BA22 - .align 2, 0 -_0815BA0C: .4byte gTeachyTV_StaticResources -_0815BA10: - cmp r0, 0x5 - bgt _0815BA22 - ldr r0, _0815BA28 @ =gUnknown_203F450 - ldr r1, [r0] - ldr r0, _0815BA2C @ =sub_815BA30 - str r0, [r1] - adds r0, r2, 0 - bl sub_815B23C -_0815BA22: - pop {r0} - bx r0 - .align 2, 0 -_0815BA28: .4byte gUnknown_203F450 -_0815BA2C: .4byte sub_815BA30 - thumb_func_end sub_815B9F0 - - thumb_func_start sub_815BA30 -sub_815BA30: @ 815BA30 - push {lr} - ldr r0, _0815BA44 @ =gTeachyTV_StaticResources - ldrb r0, [r0, 0x5] - cmp r0, 0x4 - bne _0815BA48 - movs r0, 0xA - bl sub_810B108 - b _0815BA4E - .align 2, 0 -_0815BA44: .4byte gTeachyTV_StaticResources -_0815BA48: - movs r0, 0x9 - bl sub_810B108 -_0815BA4E: - pop {r0} - bx r0 - thumb_func_end sub_815BA30 - - thumb_func_start TeachyTvTaskFunction -TeachyTvTaskFunction: @ 815BA54 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r2, r1, 3 - ldr r4, _0815BA8C @ =gTasks+0x8 - adds r3, r2, r4 - ldr r0, _0815BA90 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0815BA86 - ldr r1, _0815BA94 @ =gUnknown_8479390 - ldr r0, _0815BA98 @ =gTeachyTV_StaticResources - ldrb r0, [r0, 0x5] - adds r0, r1 - ldrb r0, [r0] - strh r0, [r3, 0x6] - adds r0, r4, 0 - subs r0, 0x8 - adds r0, r2, r0 - ldr r1, _0815BA9C @ =sub_815B4EC - str r1, [r0] -_0815BA86: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0815BA8C: .4byte gTasks+0x8 -_0815BA90: .4byte gPaletteFade -_0815BA94: .4byte gUnknown_8479390 -_0815BA98: .4byte gTeachyTV_StaticResources -_0815BA9C: .4byte sub_815B4EC - thumb_func_end TeachyTvTaskFunction - - thumb_func_start sub_815BAA0 -sub_815BAA0: @ 815BAA0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r4, [sp, 0x1C] - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - lsls r1, 16 - lsrs r6, r1, 16 - lsls r2, 16 - lsrs r1, r2, 16 - lsls r3, 24 - lsrs r7, r3, 24 - lsls r4, 24 - lsrs r4, 24 - mov r8, r4 - ldr r0, _0815BB34 @ =gUnknown_203F450 - ldr r0, [r0] - ldr r2, _0815BB38 @ =0x00004006 - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0x1 - beq _0815BB5C - lsls r0, r6, 16 - ldr r2, _0815BB3C @ =0xfff00000 - adds r0, r2 - asrs r0, 16 - lsls r1, 16 - asrs r5, r1, 16 - adds r1, r5, 0 - bl sub_815BC40 - lsls r0, 24 - cmp r0, 0 - beq _0815BB5C - ldr r0, _0815BB40 @ =gUnknown_83A0010 - ldr r0, [r0, 0x10] - movs r1, 0 - movs r2, 0 - adds r3, r7, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _0815BB44 @ =gSprites - adds r4, r1, r0 - strh r6, [r4, 0x24] - adds r0, r5, 0 - adds r0, 0x8 - strh r0, [r4, 0x26] - ldr r0, _0815BB48 @ =sub_815BB6C - str r0, [r4, 0x1C] - mov r0, r9 - strh r0, [r4, 0x2E] - mov r2, r8 - cmp r2, 0x1 - bne _0815BB4C - adds r0, r4, 0 - movs r1, 0x4 - bl SeekSpriteAnim - ldrb r0, [r4, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r0 - movs r0, 0x8 - orrs r1, r0 - strb r1, [r4, 0x5] - b _0815BB5C - .align 2, 0 -_0815BB34: .4byte gUnknown_203F450 -_0815BB38: .4byte 0x00004006 -_0815BB3C: .4byte 0xfff00000 -_0815BB40: .4byte gUnknown_83A0010 -_0815BB44: .4byte gSprites -_0815BB48: .4byte sub_815BB6C -_0815BB4C: - ldr r1, _0815BB68 @ =gUnknown_84795B8 - adds r0, r4, 0 - bl SetSubspriteTables - adds r1, r4, 0 - adds r1, 0x42 - movs r0, 0x40 - strb r0, [r1] -_0815BB5C: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0815BB68: .4byte gUnknown_84795B8 - thumb_func_end sub_815BAA0 - - thumb_func_start sub_815BB6C -sub_815BB6C: @ 815BB6C - push {r4,r5,lr} - adds r3, r0, 0 - movs r0, 0x2E - ldrsh r1, [r3, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, _0815BBA4 @ =gTasks+0x8 - adds r4, r0, r1 - movs r2, 0x2 - ldrsh r1, [r4, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0815BBA8 @ =gSprites - adds r5, r0, r1 - ldr r0, _0815BBAC @ =gUnknown_203F450 - ldr r0, [r0] - ldr r1, _0815BBB0 @ =0x00004006 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bne _0815BBB4 - adds r0, r3, 0 - bl DestroySprite - b _0815BC3A - .align 2, 0 -_0815BBA4: .4byte gTasks+0x8 -_0815BBA8: .4byte gSprites -_0815BBAC: .4byte gUnknown_203F450 -_0815BBB0: .4byte 0x00004006 -_0815BBB4: - adds r0, r3, 0 - adds r0, 0x2B - ldrb r0, [r0] - cmp r0, 0 - bne _0815BBD2 - adds r2, r3, 0 - adds r2, 0x42 - ldrb r0, [r2] - movs r1, 0x40 - negs r1, r1 - ands r1, r0 - movs r0, 0x1 - orrs r1, r0 - strb r1, [r2] - b _0815BBE0 -_0815BBD2: - adds r2, r3, 0 - adds r2, 0x42 - ldrb r1, [r2] - movs r0, 0x40 - negs r0, r0 - ands r0, r1 - strb r0, [r2] -_0815BBE0: - ldrh r0, [r4, 0x8] - ldrh r2, [r3, 0x24] - adds r0, r2 - strh r0, [r3, 0x24] - ldrh r0, [r4, 0xA] - ldrh r1, [r3, 0x26] - adds r0, r1 - strh r0, [r3, 0x26] - adds r0, r3, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0815BC3A - adds r1, r3, 0 - adds r1, 0x43 - movs r0, 0 - strb r0, [r1] - ldrh r1, [r3, 0x24] - ldrh r0, [r5, 0x24] - subs r1, r0 - ldrh r0, [r3, 0x26] - ldrh r2, [r5, 0x26] - subs r0, r2 - lsls r0, 16 - lsrs r0, 16 - lsls r1, 16 - movs r2, 0xF0 - lsls r2, 12 - adds r1, r2 - lsrs r1, 16 - cmp r1, 0x1E - bhi _0815BC34 - lsls r0, 16 - asrs r1, r0, 16 - movs r0, 0x10 - negs r0, r0 - cmp r1, r0 - ble _0815BC34 - cmp r1, 0x17 - ble _0815BC3A -_0815BC34: - adds r0, r3, 0 - bl DestroySprite -_0815BC3A: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_815BB6C - - thumb_func_start sub_815BC40 -sub_815BC40: @ 815BC40 - push {r4,r5,lr} - lsls r1, 16 - lsrs r1, 16 - lsls r4, r0, 16 - cmp r4, 0 - blt _0815BC52 - lsls r1, 16 - cmp r1, 0 - bge _0815BC56 -_0815BC52: - movs r0, 0 - b _0815BC78 -_0815BC56: - ldr r3, _0815BC80 @ =gUnknown_84795C8 - ldr r0, _0815BC84 @ =gUnknown_203F450 - ldr r2, [r0] - ldr r5, _0815BC88 @ =0x00004005 - adds r0, r2, r5 - asrs r1, 20 - ldrb r0, [r0] - adds r1, r0 - lsls r1, 4 - ldr r0, _0815BC8C @ =0x00004004 - adds r2, r0 - asrs r0, r4, 20 - ldrb r2, [r2] - adds r0, r2 - adds r1, r0 - adds r1, r3 - ldrb r0, [r1] -_0815BC78: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0815BC80: .4byte gUnknown_84795C8 -_0815BC84: .4byte gUnknown_203F450 -_0815BC88: .4byte 0x00004005 -_0815BC8C: .4byte 0x00004004 - thumb_func_end sub_815BC40 - - thumb_func_start sub_815BC90 -sub_815BC90: @ 815BC90 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, _0815BCCC @ =gTasks+0x8 - adds r5, r0, r1 - bl sub_815B220 - ldr r1, _0815BCD0 @ =gSpecialVar_0x8004 - ldr r4, _0815BCD4 @ =gTeachyTV_StaticResources - ldrb r0, [r4, 0x5] - strh r0, [r1] - ldr r1, _0815BCD8 @ =gMain - ldr r0, _0815BCDC @ =sub_815BD58 - str r0, [r1, 0x8] - bl SavePlayerParty - bl sub_8159F40 - movs r0, 0 - bl PlayMapChosenOrBattleBGM - ldrb r0, [r4, 0x5] - cmp r0, 0 - bne _0815BCE0 - movs r0, 0x9 - b _0815BCE2 - .align 2, 0 -_0815BCCC: .4byte gTasks+0x8 -_0815BCD0: .4byte gSpecialVar_0x8004 -_0815BCD4: .4byte gTeachyTV_StaticResources -_0815BCD8: .4byte gMain -_0815BCDC: .4byte sub_815BD58 -_0815BCE0: - movs r0, 0x8 -_0815BCE2: - strh r0, [r5, 0xC] - movs r0, 0 - strh r0, [r5, 0xE] - ldr r1, _0815BCFC @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, _0815BD00 @ =sub_815BD04 - str r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0815BCFC: .4byte gTasks -_0815BD00: .4byte sub_815BD04 - thumb_func_end sub_815BC90 - - thumb_func_start sub_815BD04 -sub_815BD04: @ 815BD04 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0815BD24 @ =gTasks+0x8 - adds r4, r0, r1 - movs r1, 0xE - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0815BD28 - cmp r0, 0x1 - beq _0815BD36 - b _0815BD4C - .align 2, 0 -_0815BD24: .4byte gTasks+0x8 -_0815BD28: - ldrb r0, [r4, 0xC] - bl sub_80D08B8 - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - b _0815BD4C -_0815BD36: - bl sub_80D08F8 - lsls r0, 24 - cmp r0, 0 - beq _0815BD4C - ldr r0, _0815BD54 @ =sub_800FD9C - bl SetMainCallback2 - adds r0, r5, 0 - bl DestroyTask -_0815BD4C: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0815BD54: .4byte sub_800FD9C - thumb_func_end sub_815BD04 - - thumb_func_start sub_815BD58 -sub_815BD58: @ 815BD58 - push {lr} - bl LoadPlayerParty - ldr r0, _0815BD6C @ =gUnknown_2023E8A - ldrb r0, [r0] - cmp r0, 0x3 - bne _0815BD70 - bl sub_815AC20 - b _0815BD78 - .align 2, 0 -_0815BD6C: .4byte gUnknown_2023E8A -_0815BD70: - movs r0, 0x88 - lsls r0, 1 - bl PlayNewMapMusic -_0815BD78: - bl CB2_ReturnToTeachyTV - pop {r0} - bx r0 - thumb_func_end sub_815BD58 - - thumb_func_start sub_815BD80 -sub_815BD80: @ 815BD80 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x10] - ldr r1, _0815BE1C @ =Route1_Layout - mov r8, r1 - movs r0, 0x80 - lsls r0, 4 - bl AllocZeroed - adds r6, r0, 0 - movs r0, 0x80 - lsls r0, 8 - bl AllocZeroed - str r0, [sp, 0x8] - movs r0, 0x10 - bl Alloc - str r0, [sp, 0xC] - movs r1, 0xFF - movs r2, 0x10 - bl memset - mov r2, r8 - ldr r0, [r2, 0x10] - movs r2, 0xA0 - lsls r2, 2 - ldr r1, [sp, 0x8] - bl sub_815BF48 - mov r3, r8 - ldr r0, [r3, 0x14] - ldr r2, [sp, 0x8] - movs r3, 0xA0 - lsls r3, 7 - adds r1, r2, r3 - movs r2, 0xC0 - lsls r2, 1 - bl sub_815BF48 - movs r4, 0 -_0815BDDE: - movs r2, 0 - adds r0, r4, 0x6 - str r0, [sp, 0x18] - lsls r1, r4, 4 - mov r10, r1 - lsls r3, r4, 6 - mov r9, r3 - adds r4, 0x1 - str r4, [sp, 0x14] -_0815BDF0: - mov r1, r8 - ldr r0, [r1] - ldr r3, [sp, 0x18] - muls r0, r3 - ldr r1, [r1, 0xC] - adds r0, r2, r0 - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0, 0x10] - ldr r3, _0815BE20 @ =0x000003ff - adds r0, r3, 0 - adds r4, r0, 0 - ands r4, r1 - movs r3, 0 - mov r0, r10 - adds r1, r0, r2 - lsls r5, r2, 1 - adds r7, r2, 0x1 - cmp r3, r1 - bge _0815BE3C - ldrh r0, [r6] - b _0815BE34 - .align 2, 0 -_0815BE1C: .4byte Route1_Layout -_0815BE20: .4byte 0x000003ff -_0815BE24: - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, r1 - bge _0815BE3C - lsls r0, r3, 1 - adds r0, r6 - ldrh r0, [r0] -_0815BE34: - cmp r0, 0 - beq _0815BE46 - cmp r0, r4 - bne _0815BE24 -_0815BE3C: - lsls r0, r3, 1 - adds r0, r6 - ldrh r0, [r0] - cmp r0, 0 - bne _0815BE56 -_0815BE46: - lsls r0, r3, 1 - adds r0, r6 - strh r4, [r0] - ldr r0, [sp, 0x10] - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x10] -_0815BE56: - mov r2, r9 - adds r1, r2, r5 - lsls r1, 1 - ldr r0, [sp, 0x4] - adds r1, r0, r1 - str r3, [sp] - mov r0, r8 - ldr r2, [sp, 0xC] - adds r3, r4, 0 - bl sub_815BF70 - lsls r0, r7, 16 - lsrs r2, r0, 16 - cmp r2, 0xF - bls _0815BDF0 - ldr r1, [sp, 0x14] - lsls r0, r1, 16 - lsrs r4, r0, 16 - cmp r4, 0x8 - bls _0815BDDE - ldr r2, [sp, 0x10] - lsls r0, r2, 7 - bl Alloc - adds r7, r0, 0 - movs r0, 0x80 - bl Alloc - adds r5, r0, 0 - movs r4, 0 - ldr r3, [sp, 0x10] - lsls r3, 23 - mov r9, r3 - ldr r0, [sp, 0x10] - cmp r4, r0 - bcs _0815BF00 - ldr r1, _0815BECC @ =0x0000027f - mov r10, r1 -_0815BEA2: - adds r0, r5, 0 - movs r1, 0 - movs r2, 0x80 - bl memset - lsls r0, r4, 1 - adds r1, r0, r6 - ldrh r0, [r1] - cmp r0, r10 - bhi _0815BED0 - mov r2, r8 - ldr r0, [r2, 0x10] - ldrh r1, [r1] - lsls r1, 4 - ldr r0, [r0, 0xC] - adds r0, r1 - adds r1, r5, 0 - ldr r2, [sp, 0x8] - bl sub_815BFF0 - b _0815BEE8 - .align 2, 0 -_0815BECC: .4byte 0x0000027f -_0815BED0: - mov r3, r8 - ldr r0, [r3, 0x14] - ldrh r1, [r1] - ldr r2, _0815BF44 @ =0xfffffd80 - adds r1, r2 - lsls r1, 4 - ldr r0, [r0, 0xC] - adds r0, r1 - adds r1, r5, 0 - ldr r2, [sp, 0x8] - bl sub_815BFF0 -_0815BEE8: - lsls r1, r4, 7 - adds r1, r7, r1 - adds r0, r5, 0 - movs r2, 0x20 - bl CpuFastSet - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - ldr r3, [sp, 0x10] - cmp r4, r3 - bcc _0815BEA2 -_0815BF00: - mov r0, r9 - lsrs r2, r0, 16 - movs r0, 0x3 - adds r1, r7, 0 - movs r3, 0 - bl LoadBgTiles - mov r0, r8 - ldr r1, [sp, 0xC] - bl sub_815C230 - adds r0, r5, 0 - bl Free - adds r0, r7, 0 - bl Free - ldr r0, [sp, 0xC] - bl Free - ldr r0, [sp, 0x8] - bl Free - adds r0, r6, 0 - bl Free - add sp, 0x1C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0815BF44: .4byte 0xfffffd80 - thumb_func_end sub_815BD80 - - thumb_func_start sub_815BF48 -sub_815BF48: @ 815BF48 - push {lr} - adds r3, r0, 0 - lsls r2, 16 - lsrs r2, 16 - cmp r3, 0 - beq _0815BF6A - ldrb r0, [r3] - cmp r0, 0 - bne _0815BF64 - ldr r0, [r3, 0x4] - lsls r2, 3 - bl CpuFastSet - b _0815BF6A -_0815BF64: - ldr r0, [r3, 0x4] - bl LZDecompressWram -_0815BF6A: - pop {r0} - bx r0 - thumb_func_end sub_815BF48 - - thumb_func_start sub_815BF70 -sub_815BF70: @ 815BF70 - push {r4-r7,lr} - adds r5, r0, 0 - adds r7, r1, 0 - adds r6, r2, 0 - ldr r0, [sp, 0x14] - lsls r3, 16 - lsrs r1, r3, 16 - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, _0815BF8C @ =0x0000027f - cmp r1, r0 - bhi _0815BF90 - ldr r0, [r5, 0x10] - b _0815BF96 - .align 2, 0 -_0815BF8C: .4byte 0x0000027f -_0815BF90: - ldr r0, [r5, 0x14] - ldr r2, _0815BFEC @ =0xfffffd80 - adds r1, r2 -_0815BF96: - lsls r1, 4 - ldr r0, [r0, 0xC] - adds r5, r0, r1 - ldrh r1, [r5] - adds r0, r6, 0 - bl sub_815C1F0 - lsls r0, 12 - lsls r4, 2 - adds r0, r4 - strh r0, [r7] - ldrh r1, [r5, 0x2] - adds r0, r6, 0 - bl sub_815C1F0 - lsls r0, 12 - adds r0, r4 - adds r0, 0x1 - strh r0, [r7, 0x2] - ldrh r1, [r5, 0x4] - adds r0, r6, 0 - bl sub_815C1F0 - adds r1, r7, 0 - adds r1, 0x40 - lsls r0, 12 - adds r0, r4 - adds r0, 0x2 - strh r0, [r1] - ldrh r1, [r5, 0x6] - adds r0, r6, 0 - bl sub_815C1F0 - adds r1, r7, 0 - adds r1, 0x42 - lsls r0, 12 - adds r0, r4 - adds r0, 0x3 - strh r0, [r1] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0815BFEC: .4byte 0xfffffd80 - thumb_func_end sub_815BF70 - - thumb_func_start sub_815BFF0 -sub_815BFF0: @ 815BFF0 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - mov r8, r0 - mov r9, r1 - adds r5, r2, 0 - ldrh r2, [r0] - ldr r4, _0815C0D0 @ =0x000003ff - adds r1, r4, 0 - ands r1, r2 - lsls r1, 5 - adds r1, r5, r1 - lsrs r2, 10 - movs r6, 0x3 - ands r2, r6 - mov r0, r9 - bl sub_815C0D4 - mov r0, r8 - ldrh r2, [r0, 0x8] - adds r1, r4, 0 - ands r1, r2 - lsls r1, 5 - adds r1, r5, r1 - lsrs r2, 10 - ands r2, r6 - mov r0, r9 - bl sub_815C0D4 - movs r0, 0x20 - add r0, r9 - mov r10, r0 - mov r0, r8 - ldrh r2, [r0, 0x2] - adds r1, r4, 0 - ands r1, r2 - lsls r1, 5 - adds r1, r5, r1 - lsrs r2, 10 - ands r2, r6 - mov r0, r10 - bl sub_815C0D4 - mov r0, r8 - ldrh r2, [r0, 0xA] - adds r1, r4, 0 - ands r1, r2 - lsls r1, 5 - adds r1, r5, r1 - lsrs r2, 10 - ands r2, r6 - mov r0, r10 - bl sub_815C0D4 - movs r0, 0x40 - add r0, r9 - mov r10, r0 - mov r0, r8 - ldrh r2, [r0, 0x4] - adds r1, r4, 0 - ands r1, r2 - lsls r1, 5 - adds r1, r5, r1 - lsrs r2, 10 - ands r2, r6 - mov r0, r10 - bl sub_815C0D4 - mov r0, r8 - ldrh r2, [r0, 0xC] - adds r1, r4, 0 - ands r1, r2 - lsls r1, 5 - adds r1, r5, r1 - lsrs r2, 10 - ands r2, r6 - mov r0, r10 - bl sub_815C0D4 - movs r0, 0x60 - add r9, r0 - mov r0, r8 - ldrh r2, [r0, 0x6] - adds r1, r4, 0 - ands r1, r2 - lsls r1, 5 - adds r1, r5, r1 - lsrs r2, 10 - ands r2, r6 - mov r0, r9 - bl sub_815C0D4 - mov r0, r8 - ldrh r2, [r0, 0xE] - ands r4, r2 - lsls r4, 5 - adds r5, r4 - lsrs r2, 10 - ands r2, r6 - mov r0, r9 - adds r1, r5, 0 - bl sub_815C0D4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0815C0D0: .4byte 0x000003ff - thumb_func_end sub_815BFF0 - - thumb_func_start sub_815C0D4 -sub_815C0D4: @ 815C0D4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - mov r9, r0 - adds r4, r1, 0 - lsls r2, 24 - lsrs r2, 24 - mov r10, r2 - movs r0, 0x20 - bl AllocZeroed - adds r6, r0, 0 - movs r0, 0x20 - bl AllocZeroed - str r0, [sp] - adds r0, r4, 0 - adds r1, r6, 0 - movs r2, 0x8 - bl CpuFastSet - movs r0, 0x1 - mov r1, r10 - ands r0, r1 - cmp r0, 0 - beq _0815C15A - movs r5, 0 - movs r7, 0xF - mov r12, r7 - movs r0, 0xF0 - mov r8, r0 -_0815C118: - movs r3, 0 - lsls r4, r5, 2 -_0815C11C: - subs r0, r3, 0x3 - subs r0, r4, r0 - adds r0, r6, r0 - ldrb r1, [r0] - adds r2, r4, r3 - ldr r7, [sp] - adds r2, r7, r2 - adds r0, r1, 0 - mov r7, r12 - ands r0, r7 - lsls r0, 4 - mov r7, r8 - ands r1, r7 - lsrs r1, 4 - adds r0, r1 - strb r0, [r2] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x3 - bls _0815C11C - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x7 - bls _0815C118 - ldr r0, [sp] - adds r1, r6, 0 - movs r2, 0x8 - bl CpuFastSet -_0815C15A: - movs r0, 0x2 - mov r1, r10 - ands r0, r1 - cmp r0, 0 - beq _0815C18E - movs r5, 0 -_0815C166: - lsls r0, r5, 2 - ldr r7, [sp] - adds r0, r7 - movs r1, 0x7 - subs r1, r5 - lsls r1, 2 - adds r1, r6 - movs r2, 0x4 - bl memcpy - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x7 - bls _0815C166 - ldr r0, [sp] - adds r1, r6, 0 - movs r2, 0x8 - bl CpuFastSet -_0815C18E: - movs r5, 0 - movs r0, 0xF0 - mov r8, r0 - movs r1, 0xF - mov r12, r1 -_0815C198: - adds r4, r6, r5 - ldrb r0, [r4] - mov r3, r8 - ands r3, r0 - cmp r3, 0 - beq _0815C1B2 - mov r7, r9 - adds r2, r7, r5 - ldrb r1, [r2] - mov r0, r12 - ands r0, r1 - adds r0, r3 - strb r0, [r2] -_0815C1B2: - ldrb r0, [r4] - mov r3, r12 - ands r3, r0 - cmp r3, 0 - beq _0815C1CA - mov r0, r9 - adds r2, r0, r5 - ldrb r1, [r2] - mov r0, r8 - ands r0, r1 - adds r0, r3 - strb r0, [r2] -_0815C1CA: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x1F - bls _0815C198 - ldr r0, [sp] - bl Free - adds r0, r6, 0 - bl Free - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_815C0D4 - - thumb_func_start sub_815C1F0 -sub_815C1F0: @ 815C1F0 - push {r4,lr} - adds r4, r0, 0 - lsls r1, 16 - lsrs r1, 28 - movs r3, 0 - ldrb r0, [r4] - cmp r0, r1 - beq _0815C220 - cmp r0, 0xFF - bne _0815C208 - strb r1, [r4] - b _0815C220 -_0815C208: - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0xF - bhi _0815C220 - adds r2, r4, r3 - ldrb r0, [r2] - cmp r0, r1 - beq _0815C220 - cmp r0, 0xFF - bne _0815C208 - strb r1, [r2] -_0815C220: - movs r0, 0xF - subs r0, r3 - lsls r0, 16 - lsrs r0, 16 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_815C1F0 - - thumb_func_start sub_815C230 -sub_815C230: @ 815C230 - push {r4-r6,lr} - adds r6, r0, 0 - adds r5, r1, 0 - movs r4, 0 - ldrb r0, [r5] - cmp r0, 0xFF - beq _0815C274 -_0815C23E: - adds r1, r5, r4 - ldrb r0, [r1] - cmp r0, 0x6 - bls _0815C24A - ldr r0, [r6, 0x14] - b _0815C24C -_0815C24A: - ldr r0, [r6, 0x10] -_0815C24C: - ldrb r1, [r1] - lsls r1, 5 - ldr r0, [r0, 0x8] - adds r0, r1 - movs r1, 0xF - subs r1, r4 - lsls r1, 20 - lsrs r1, 16 - movs r2, 0x20 - bl LoadPalette - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xF - bhi _0815C274 - adds r0, r5, r4 - ldrb r0, [r0] - cmp r0, 0xFF - bne _0815C23E -_0815C274: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_815C230 - - .align 2, 0 @ Don't pad with nop. diff --git a/src/.fuse_hidden00001c3f00000004 b/src/.fuse_hidden00001c3f00000004 deleted file mode 100644 index 8c91f0f46..000000000 --- a/src/.fuse_hidden00001c3f00000004 +++ /dev/null @@ -1,346 +0,0 @@ -#include "main.h" -#include "global.h" -#include "task.h" -#include "menu.h" -#include "palette.h" -#include "sprite.h" -#include "menu_helpers.h" -#include "sound.h" -#include "malloc.h" -#include "sprite.h" -#include "scanline_effect.h" -#include "bg.h" -#include "gpu_regs.h" -#include "decompress.h" -#include "window.h" -#include "list_menu.h" -#include "item.h" -#include "menu_indicators.h" -#include "field_map_obj.h" -#include "random.h" -#include "constants/songs.h" -#include "constants/items.h" - -typedef struct { - void (*callback)(); - u8 mode; - u8 param1; - u16 scrollOffset; - u16 selectedRow; - u8 param4; - u8 filler; -} TeachyTv_s; - -extern TeachyTv_s gTeachyTV_StaticResources; -extern void * gUnknown_203F450; -void C2TeachyTv(); -void C2TeachyTvMainCallback(); -void VblankHandlerTeachyTv(); -void sub_815ABC4(u8 mode, void (*cb)()); -void CB2_ReturnToTeachyTV(); -extern void sub_815AC20(); -void TeachyTvCreateAndRenderRbox(); -void TeachyTvInitIo(); -u8 TeachyTvSetupObjEventAndOam(); -extern void TeachyTvConfigRboxAndObj(u8); -u8 TeachyTvSetupWindow(); -void TeachyTvSetupScrollIndicatorArrowPair(); -void TeachyTvSetWindowRegs(); -void TeachyTvSetupBg(); -void TeachyTvLoadGraphic(); -extern void TeachyTvTaskFunction(u8); -extern void sub_815B2C0(u8); -extern void VblankHblankHandlerSetZero(); -extern void sub_812B1E0(u16); -extern struct BgTemplate gUnknown_84792E0; -extern void *gUnknown_203F450; // tilemap pointer location -extern u8 gUnknown_8E86240; // tilemap -extern u8 gUnknown_8E86BE8; -extern u8 gUnknown_8E86D6C; -extern u8 gUnknown_8E86F98; // pal -extern struct SpritePalette gUnknown_83A5348; -extern void sub_815BD80(void *); -typedef struct Task Task; -extern struct WindowTemplate gUnknown_84792F0; - - -void C2TeachyTv() -{ - RunTasks(); - AnimateSprites(); - BuildOamBuffer(); - do_scheduled_bg_tilemap_copies_to_vram(); - UpdatePaletteFade(); -} - -void VblankHandlerTeachyTv() -{ - LoadOam(); - ProcessSpriteCopyRequests(); - TransferPlttBuffer(); -} - -void sub_815ABC4(u8 mode, void (*cb)()) -{ - TeachyTv_s *v3 = &gTeachyTV_StaticResources; - u16 v4 = 0; - v3->mode = mode; - v3->callback = cb; - if(!mode) { - v3->scrollOffset = v4; - v3->selectedRow = v4; - v3->param1 = 0; - } - if(mode == 1) - v3->mode = 0; - SetMainCallback2(C2TeachyTvMainCallback); -} - -void CB2_ReturnToTeachyTV() -{ - if(gTeachyTV_StaticResources.mode == 1) - sub_815ABC4(1,gTeachyTV_StaticResources.callback); - else - sub_815ABC4(2,gTeachyTV_StaticResources.callback); -} - -void sub_815AC20() -{ - gTeachyTV_StaticResources.mode = 1; -} - -void C2TeachyTvMainCallback() -{ - int state; - void *mallocPtr; - int taskId; - Task *taskAddr; - u8 **v4; - u32 x; - - state = gMain.state; - // tried several ways to reproduce the control flow, but all failed. Now using goto - if ( state == 0 ) - goto section_0; - else if ( state == 1 ) - goto section_1; - else - return; - section_0: - v4 = (u8 **)&gUnknown_203F450; - (*v4) = (u8*)AllocZeroed(0x4008u); - *(u32*)gUnknown_203F450 = (u32)state; - *((u8*)gUnknown_203F450 + 0x4006) = state; - *((u8*)gUnknown_203F450 + 0x4007) = 0xFF; - VblankHblankHandlerSetZero(); - clear_scheduled_bg_copies_to_vram(); - ScanlineEffect_Stop(); - FreeAllSpritePalettes(); - ResetPaletteFade(); - ResetSpriteData(); - ResetTasks(); - TeachyTvSetupBg(); - TeachyTvLoadGraphic(); - ++gMain.state; - return; - section_1: - if( free_temp_tile_data_buffers_if_possible() == 1 ) - return; - TeachyTvCreateAndRenderRbox(); - TeachyTvInitIo(); - if ( gTeachyTV_StaticResources.mode == 2 ) - { - taskId = CreateTask(TeachyTvTaskFunction, 0); - gTasks[taskId].data[1] = TeachyTvSetupObjEventAndOam(); - TeachyTvConfigRboxAndObj(taskId); - } - else - { - taskId = CreateTask(sub_815B2C0, 0); - x = (u32)TeachyTvSetupWindow(); - gTasks[taskId].data[0] = (x << 24) >> 24; - gTasks[taskId].data[1] = TeachyTvSetupObjEventAndOam(); - TeachyTvSetupScrollIndicatorArrowPair(); - PlayNewMapMusic(BGM_FRLG_TEACHY_TV); - TeachyTvSetWindowRegs(); - } - schedule_bg_copy_tilemap_to_vram(0); - schedule_bg_copy_tilemap_to_vram(1u); - schedule_bg_copy_tilemap_to_vram(2u); - schedule_bg_copy_tilemap_to_vram(3u); - sub_812B1E0(9); // help system something - BlendPalettes(0xFFFFFFFF, 0x10u, 0); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10u, 0, 0); - SetVBlankCallback(VblankHandlerTeachyTv); - SetMainCallback2(C2TeachyTv); -} - -void TeachyTvSetupBg() -{ - InitBgReg(); - ResetBgsAndClearDma3BusyFlags(0); - InitBgsFromTemplates(0, &gUnknown_84792E0, 4u); - SetBgTilemapBuffer(1u, (u8 *)gUnknown_203F450 + 4); - SetBgTilemapBuffer(2u, (u8 *)gUnknown_203F450 + 0x1004); - SetBgTilemapBuffer(3u, (u8 *)gUnknown_203F450 + 0x2004); - SetGpuReg(0, 0x3040u); - ShowBg(0); - ShowBg(1u); - ShowBg(2u); - ShowBg(3u); - ChangeBgX(3u, 0x1000u, 2u); - ChangeBgY(3u, 0x2800u, 1u); - *((u8 *)gUnknown_203F450 + 0x4004) = 0; - *((u8 *)gUnknown_203F450 + 0x4005) = 3; - SetGpuReg(0x50u, 0); -} - -void TeachyTvLoadGraphic() -{ - u16 src; - src = 0; - reset_temp_tile_data_buffers(); - decompress_and_copy_tile_data_to_vram(1u, &gUnknown_8E86240, 0, 0, 0); - LZDecompressWram((u8 *)&gUnknown_8E86BE8, (*(u8 **)&gUnknown_203F450) + 4); - LZDecompressWram((u8 *)&gUnknown_8E86D6C, (*(u8 **)&gUnknown_203F450) + 0x3004); - LoadCompressedPalette(&gUnknown_8E86F98, 0, 0x80u); - LoadPalette(&src, 0, 2u); - LoadSpritePalette((struct SpritePalette *)&gUnknown_83A5348); - sub_815BD80((u8 *)gUnknown_203F450 + 0x2004); -} - -void TeachyTvCreateAndRenderRbox() -{ - InitWindows(&gUnknown_84792F0); - DeactivateAllTextPrinters(); - FillWindowPixelBuffer(0, 0xCCu); - PutWindowTilemap(0); - PutWindowTilemap(1u); - CopyWindowToVram(0, 2u); -} - -extern struct ListMenuTemplate gUnknown_8479368; -extern struct ListMenuItem gUnknown_8479340; -extern u8 ListMenuInitInternal(struct ListMenuTemplate *, u16 scrollOffset, u16 selectedRow); -void TeachyTvAudioByInput(s32, bool8, struct ListMenu *); - -u8 TeachyTvSetupWindow() -{ - int hasItem; - gMultiuseListMenuTemplate = gUnknown_8479368; - gMultiuseListMenuTemplate.windowId = 1; - gMultiuseListMenuTemplate.moveCursorFunc = TeachyTvAudioByInput; - hasItem = (u8)CheckBagHasItem(ITEM_TM_CASE, 1u); - if ( !(hasItem << 24) ) - { - gMultiuseListMenuTemplate.items = &gUnknown_8479340; - gMultiuseListMenuTemplate.totalItems = 5; - gMultiuseListMenuTemplate.maxShowed = 5; - gMultiuseListMenuTemplate.upText_Y = (gMultiuseListMenuTemplate.upText_Y + 8) & 0xF; - } - return ListMenuInit( - &gMultiuseListMenuTemplate, - gTeachyTV_StaticResources.scrollOffset, - gTeachyTV_StaticResources.selectedRow); -} - -extern const struct ScrollArrowsTemplate gUnknown_8479380; - -void TeachyTvSetupScrollIndicatorArrowPair() -{ - int hasItem; - hasItem = (u8)CheckBagHasItem(ITEM_TM_CASE, 1u); - if ( ! hasItem << 24 ) { - u8 * temp = (u8 *)gUnknown_203F450; - *((u8 *)temp + 0x4007) = 0xFF; - } - - else { - u8 *temp, res; - res = AddScrollIndicatorArrowPair( - &gUnknown_8479380, - &(gTeachyTV_StaticResources.scrollOffset)); - temp = (u8 *)gUnknown_203F450; - *((u8 *)temp + 0x4007) = res; - } -} - -void TeachyTvRemoveScrollIndicatorArrowPair() -{ - u8 *temp = ((u8*)gUnknown_203F450 + 0x4007); - if ( *temp != 0xFF ) - { - RemoveScrollIndicatorArrowPair(*temp); - *((u8*)gUnknown_203F450 + 0x4007) = 0xFF; - } -} - -void TeachyTvAudioByInput(s32 notUsed, bool8 play, struct ListMenu *notUsedAlt) -{ - if ( play != 1 ) - PlaySE(SE_SELECT); -} - -void TeachyTvInitIo() -{ - SetGpuReg(0x48u, 0x3Fu); - SetGpuReg(0x4Au, 0x1Fu); - SetGpuReg(0x50u, 0xCCu); - SetGpuReg(0x54u, 5u); -} - -u8 TeachyTvSetupObjEventAndOam() -{ - u8 temp = AddPseudoEventObject(90, SpriteCallbackDummy, 0, 0, 8); - gSprites[temp].oam.priority = 2; - gSprites[temp].invisible = 1; - return temp; -} - -void TeachyTvSetSpriteCoordsAndSwitchFrame(u8 objId, u16 x, u16 y, u8 frame) -{ - gSprites[objId].pos2.x = x; - gSprites[objId].pos2.y = y; - gSprites[objId].invisible = 0; - StartSpriteAnim(&gSprites[objId], frame); -} - -void TeachyTvSetWindowRegs() -{ - SetGpuReg(0x44u, 0xC64u); - SetGpuReg(0x40u, 0x1CD4u); -} - -void TeachyTvClearWindowRegs() -{ - SetGpuReg(0x44u, 0); - SetGpuReg(0x40u, 0); -} - -void TeachyTvBg2AnimController() -{ - u16 *tilemapBuffer; - u8 counter; - u32 offset2; - u32 offset; - u32 counter2; - - tilemapBuffer = (u16 *)GetBgTilemapBuffer(2u); - counter = 1; - do - { - offset2 = 2; - offset = 0x20 * counter; - counter2 = counter + 1; - do - { - tilemapBuffer[offset + offset2] = ((Random() & 3) << 10) + 0x301F; - offset2 = (offset2 + 1) << 0x18 >> 0x18; - } - while ( offset2 <= 0x1B ); - counter = counter2; - } - while ( counter2 << 0x18 >> 0x18 <= 0xCu ); - schedule_bg_copy_tilemap_to_vram(2u); -} - -- cgit v1.2.3 From af14c0268f92cb7a8bdb13676a7804304311d8b1 Mon Sep 17 00:00:00 2001 From: garak Date: Mon, 3 Jun 2019 13:50:59 -0400 Subject: fix unown dir capitalization --- data/graphics.s | 50 +++++++++++++++++++++++++------------------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/data/graphics.s b/data/graphics.s index 804d42745..284539152 100644 --- a/data/graphics.s +++ b/data/graphics.s @@ -11896,7 +11896,7 @@ gFile_graphics_pokemon_back_pics_unown_b_back_pic:: @ 8E3B884 .align 2 gFile_graphics_pokemon_icons_unown_B_icon:: @ 8E3BA88 - .incbin "graphics/pokemon/unown/B/icon.4bpp" + .incbin "graphics/pokemon/unown/b/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_c_still_front_pic:: @ 8E3BE88 @@ -11908,7 +11908,7 @@ gFile_graphics_pokemon_back_pics_unown_c_back_pic:: @ 8E3C09C .align 2 gFile_graphics_pokemon_icons_unown_C_icon:: @ 8E3C348 - .incbin "graphics/pokemon/unown/C/icon.4bpp" + .incbin "graphics/pokemon/unown/c/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_d_still_front_pic:: @ 8E3C748 @@ -11920,7 +11920,7 @@ gFile_graphics_pokemon_back_pics_unown_d_back_pic:: @ 8E3C940 .align 2 gFile_graphics_pokemon_icons_unown_D_icon:: @ 8E3CB98 - .incbin "graphics/pokemon/unown/D/icon.4bpp" + .incbin "graphics/pokemon/unown/d/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_e_still_front_pic:: @ 8E3CF98 @@ -11932,7 +11932,7 @@ gFile_graphics_pokemon_back_pics_unown_e_back_pic:: @ 8E3D150 .align 2 gFile_graphics_pokemon_icons_unown_E_icon:: @ 8E3D350 - .incbin "graphics/pokemon/unown/E/icon.4bpp" + .incbin "graphics/pokemon/unown/e/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_f_still_front_pic:: @ 8E3D750 @@ -11944,7 +11944,7 @@ gFile_graphics_pokemon_back_pics_unown_f_back_pic:: @ 8E3D944 .align 2 gFile_graphics_pokemon_icons_unown_F_icon:: @ 8E3DB60 - .incbin "graphics/pokemon/unown/F/icon.4bpp" + .incbin "graphics/pokemon/unown/f/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_g_still_front_pic:: @ 8E3DF60 @@ -11956,7 +11956,7 @@ gFile_graphics_pokemon_back_pics_unown_g_back_pic:: @ 8E3E13C .align 2 gFile_graphics_pokemon_icons_unown_G_icon:: @ 8E3E388 - .incbin "graphics/pokemon/unown/G/icon.4bpp" + .incbin "graphics/pokemon/unown/g/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_h_still_front_pic:: @ 8E3E788 @@ -11968,7 +11968,7 @@ gFile_graphics_pokemon_back_pics_unown_h_back_pic:: @ 8E3E9CC .align 2 gFile_graphics_pokemon_icons_unown_H_icon:: @ 8E3EC90 - .incbin "graphics/pokemon/unown/H/icon.4bpp" + .incbin "graphics/pokemon/unown/h/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_i_still_front_pic:: @ 8E3F090 @@ -11980,7 +11980,7 @@ gFile_graphics_pokemon_back_pics_unown_i_back_pic:: @ 8E3F228 .align 2 gFile_graphics_pokemon_icons_unown_I_icon:: @ 8E3F3D0 - .incbin "graphics/pokemon/unown/I/icon.4bpp" + .incbin "graphics/pokemon/unown/i/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_j_still_front_pic:: @ 8E3F7D0 @@ -11992,7 +11992,7 @@ gFile_graphics_pokemon_back_pics_unown_j_back_pic:: @ 8E3F994 .align 2 gFile_graphics_pokemon_icons_unown_J_icon:: @ 8E3FB7C - .incbin "graphics/pokemon/unown/J/icon.4bpp" + .incbin "graphics/pokemon/unown/j/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_k_still_front_pic:: @ 8E3FF7C @@ -12004,7 +12004,7 @@ gFile_graphics_pokemon_back_pics_unown_k_back_pic:: @ 8E4014C .align 2 gFile_graphics_pokemon_icons_unown_K_icon:: @ 8E40344 - .incbin "graphics/pokemon/unown/K/icon.4bpp" + .incbin "graphics/pokemon/unown/k/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_l_still_front_pic:: @ 8E40744 @@ -12016,7 +12016,7 @@ gFile_graphics_pokemon_back_pics_unown_l_back_pic:: @ 8E408F4 .align 2 gFile_graphics_pokemon_icons_unown_L_icon:: @ 8E40AC8 - .incbin "graphics/pokemon/unown/L/icon.4bpp" + .incbin "graphics/pokemon/unown/l/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_m_still_front_pic:: @ 8E40EC8 @@ -12028,7 +12028,7 @@ gFile_graphics_pokemon_back_pics_unown_m_back_pic:: @ 8E410EC .align 2 gFile_graphics_pokemon_icons_unown_M_icon:: @ 8E41394 - .incbin "graphics/pokemon/unown/M/icon.4bpp" + .incbin "graphics/pokemon/unown/m/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_n_still_front_pic:: @ 8E41794 @@ -12040,7 +12040,7 @@ gFile_graphics_pokemon_back_pics_unown_n_back_pic:: @ 8E4198C .align 2 gFile_graphics_pokemon_icons_unown_N_icon:: @ 8E41BF8 - .incbin "graphics/pokemon/unown/N/icon.4bpp" + .incbin "graphics/pokemon/unown/n/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_o_still_front_pic:: @ 8E41FF8 @@ -12052,7 +12052,7 @@ gFile_graphics_pokemon_back_pics_unown_o_back_pic:: @ 8E42230 .align 2 gFile_graphics_pokemon_icons_unown_O_icon:: @ 8E424F0 - .incbin "graphics/pokemon/unown/O/icon.4bpp" + .incbin "graphics/pokemon/unown/o/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_p_still_front_pic:: @ 8E428F0 @@ -12064,7 +12064,7 @@ gFile_graphics_pokemon_back_pics_unown_p_back_pic:: @ 8E42A90 .align 2 gFile_graphics_pokemon_icons_unown_P_icon:: @ 8E42C54 - .incbin "graphics/pokemon/unown/P/icon.4bpp" + .incbin "graphics/pokemon/unown/p/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_q_still_front_pic:: @ 8E43054 @@ -12076,7 +12076,7 @@ gFile_graphics_pokemon_back_pics_unown_q_back_pic:: @ 8E43208 .align 2 gFile_graphics_pokemon_icons_unown_Q_icon:: @ 8E433D4 - .incbin "graphics/pokemon/unown/Q/icon.4bpp" + .incbin "graphics/pokemon/unown/q/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_r_still_front_pic:: @ 8E437D4 @@ -12088,7 +12088,7 @@ gFile_graphics_pokemon_back_pics_unown_r_back_pic:: @ 8E43978 .align 2 gFile_graphics_pokemon_icons_unown_R_icon:: @ 8E43B40 - .incbin "graphics/pokemon/unown/R/icon.4bpp" + .incbin "graphics/pokemon/unown/r/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_s_still_front_pic:: @ 8E43F40 @@ -12100,7 +12100,7 @@ gFile_graphics_pokemon_back_pics_unown_s_back_pic:: @ 8E44128 .align 2 gFile_graphics_pokemon_icons_unown_S_icon:: @ 8E4437C - .incbin "graphics/pokemon/unown/S/icon.4bpp" + .incbin "graphics/pokemon/unown/s/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_t_still_front_pic:: @ 8E4477C @@ -12112,7 +12112,7 @@ gFile_graphics_pokemon_back_pics_unown_t_back_pic:: @ 8E4492C .align 2 gFile_graphics_pokemon_icons_unown_T_icon:: @ 8E44AE0 - .incbin "graphics/pokemon/unown/T/icon.4bpp" + .incbin "graphics/pokemon/unown/t/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_u_still_front_pic:: @ 8E44EE0 @@ -12124,7 +12124,7 @@ gFile_graphics_pokemon_back_pics_unown_u_back_pic:: @ 8E450F8 .align 2 gFile_graphics_pokemon_icons_unown_U_icon:: @ 8E4534C - .incbin "graphics/pokemon/unown/U/icon.4bpp" + .incbin "graphics/pokemon/unown/u/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_v_still_front_pic:: @ 8E4574C @@ -12136,7 +12136,7 @@ gFile_graphics_pokemon_back_pics_unown_v_back_pic:: @ 8E45930 .align 2 gFile_graphics_pokemon_icons_unown_V_icon:: @ 8E45B60 - .incbin "graphics/pokemon/unown/V/icon.4bpp" + .incbin "graphics/pokemon/unown/v/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_w_still_front_pic:: @ 8E45F60 @@ -12148,7 +12148,7 @@ gFile_graphics_pokemon_back_pics_unown_w_back_pic:: @ 8E46134 .align 2 gFile_graphics_pokemon_icons_unown_W_icon:: @ 8E46338 - .incbin "graphics/pokemon/unown/W/icon.4bpp" + .incbin "graphics/pokemon/unown/w/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_x_still_front_pic:: @ 8E46738 @@ -12160,7 +12160,7 @@ gFile_graphics_pokemon_back_pics_unown_x_back_pic:: @ 8E468FC .align 2 gFile_graphics_pokemon_icons_unown_X_icon:: @ 8E46AEC - .incbin "graphics/pokemon/unown/X/icon.4bpp" + .incbin "graphics/pokemon/unown/x/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_y_still_front_pic:: @ 8E46EEC @@ -12172,7 +12172,7 @@ gFile_graphics_pokemon_back_pics_unown_y_back_pic:: @ 8E470C4 .align 2 gFile_graphics_pokemon_icons_unown_Y_icon:: @ 8E472B8 - .incbin "graphics/pokemon/unown/Y/icon.4bpp" + .incbin "graphics/pokemon/unown/y/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_z_still_front_pic:: @ 8E476B8 @@ -12184,7 +12184,7 @@ gFile_graphics_pokemon_back_pics_unown_z_back_pic:: @ 8E47868 .align 2 gFile_graphics_pokemon_icons_unown_Z_icon:: @ 8E47A44 - .incbin "graphics/pokemon/unown/Z/icon.4bpp" + .incbin "graphics/pokemon/unown/z/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_exclamation_mark_still_front_pic:: @ 8E47E44 -- cgit v1.2.3 From 9949dcf0e5266017ae4213e043f5e3662d482be9 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Tue, 4 Jun 2019 02:45:51 +0800 Subject: fix compile --- data/graphics.s | 50 +++++++++++++++++++++++++------------------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/data/graphics.s b/data/graphics.s index 804d42745..284539152 100644 --- a/data/graphics.s +++ b/data/graphics.s @@ -11896,7 +11896,7 @@ gFile_graphics_pokemon_back_pics_unown_b_back_pic:: @ 8E3B884 .align 2 gFile_graphics_pokemon_icons_unown_B_icon:: @ 8E3BA88 - .incbin "graphics/pokemon/unown/B/icon.4bpp" + .incbin "graphics/pokemon/unown/b/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_c_still_front_pic:: @ 8E3BE88 @@ -11908,7 +11908,7 @@ gFile_graphics_pokemon_back_pics_unown_c_back_pic:: @ 8E3C09C .align 2 gFile_graphics_pokemon_icons_unown_C_icon:: @ 8E3C348 - .incbin "graphics/pokemon/unown/C/icon.4bpp" + .incbin "graphics/pokemon/unown/c/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_d_still_front_pic:: @ 8E3C748 @@ -11920,7 +11920,7 @@ gFile_graphics_pokemon_back_pics_unown_d_back_pic:: @ 8E3C940 .align 2 gFile_graphics_pokemon_icons_unown_D_icon:: @ 8E3CB98 - .incbin "graphics/pokemon/unown/D/icon.4bpp" + .incbin "graphics/pokemon/unown/d/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_e_still_front_pic:: @ 8E3CF98 @@ -11932,7 +11932,7 @@ gFile_graphics_pokemon_back_pics_unown_e_back_pic:: @ 8E3D150 .align 2 gFile_graphics_pokemon_icons_unown_E_icon:: @ 8E3D350 - .incbin "graphics/pokemon/unown/E/icon.4bpp" + .incbin "graphics/pokemon/unown/e/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_f_still_front_pic:: @ 8E3D750 @@ -11944,7 +11944,7 @@ gFile_graphics_pokemon_back_pics_unown_f_back_pic:: @ 8E3D944 .align 2 gFile_graphics_pokemon_icons_unown_F_icon:: @ 8E3DB60 - .incbin "graphics/pokemon/unown/F/icon.4bpp" + .incbin "graphics/pokemon/unown/f/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_g_still_front_pic:: @ 8E3DF60 @@ -11956,7 +11956,7 @@ gFile_graphics_pokemon_back_pics_unown_g_back_pic:: @ 8E3E13C .align 2 gFile_graphics_pokemon_icons_unown_G_icon:: @ 8E3E388 - .incbin "graphics/pokemon/unown/G/icon.4bpp" + .incbin "graphics/pokemon/unown/g/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_h_still_front_pic:: @ 8E3E788 @@ -11968,7 +11968,7 @@ gFile_graphics_pokemon_back_pics_unown_h_back_pic:: @ 8E3E9CC .align 2 gFile_graphics_pokemon_icons_unown_H_icon:: @ 8E3EC90 - .incbin "graphics/pokemon/unown/H/icon.4bpp" + .incbin "graphics/pokemon/unown/h/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_i_still_front_pic:: @ 8E3F090 @@ -11980,7 +11980,7 @@ gFile_graphics_pokemon_back_pics_unown_i_back_pic:: @ 8E3F228 .align 2 gFile_graphics_pokemon_icons_unown_I_icon:: @ 8E3F3D0 - .incbin "graphics/pokemon/unown/I/icon.4bpp" + .incbin "graphics/pokemon/unown/i/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_j_still_front_pic:: @ 8E3F7D0 @@ -11992,7 +11992,7 @@ gFile_graphics_pokemon_back_pics_unown_j_back_pic:: @ 8E3F994 .align 2 gFile_graphics_pokemon_icons_unown_J_icon:: @ 8E3FB7C - .incbin "graphics/pokemon/unown/J/icon.4bpp" + .incbin "graphics/pokemon/unown/j/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_k_still_front_pic:: @ 8E3FF7C @@ -12004,7 +12004,7 @@ gFile_graphics_pokemon_back_pics_unown_k_back_pic:: @ 8E4014C .align 2 gFile_graphics_pokemon_icons_unown_K_icon:: @ 8E40344 - .incbin "graphics/pokemon/unown/K/icon.4bpp" + .incbin "graphics/pokemon/unown/k/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_l_still_front_pic:: @ 8E40744 @@ -12016,7 +12016,7 @@ gFile_graphics_pokemon_back_pics_unown_l_back_pic:: @ 8E408F4 .align 2 gFile_graphics_pokemon_icons_unown_L_icon:: @ 8E40AC8 - .incbin "graphics/pokemon/unown/L/icon.4bpp" + .incbin "graphics/pokemon/unown/l/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_m_still_front_pic:: @ 8E40EC8 @@ -12028,7 +12028,7 @@ gFile_graphics_pokemon_back_pics_unown_m_back_pic:: @ 8E410EC .align 2 gFile_graphics_pokemon_icons_unown_M_icon:: @ 8E41394 - .incbin "graphics/pokemon/unown/M/icon.4bpp" + .incbin "graphics/pokemon/unown/m/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_n_still_front_pic:: @ 8E41794 @@ -12040,7 +12040,7 @@ gFile_graphics_pokemon_back_pics_unown_n_back_pic:: @ 8E4198C .align 2 gFile_graphics_pokemon_icons_unown_N_icon:: @ 8E41BF8 - .incbin "graphics/pokemon/unown/N/icon.4bpp" + .incbin "graphics/pokemon/unown/n/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_o_still_front_pic:: @ 8E41FF8 @@ -12052,7 +12052,7 @@ gFile_graphics_pokemon_back_pics_unown_o_back_pic:: @ 8E42230 .align 2 gFile_graphics_pokemon_icons_unown_O_icon:: @ 8E424F0 - .incbin "graphics/pokemon/unown/O/icon.4bpp" + .incbin "graphics/pokemon/unown/o/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_p_still_front_pic:: @ 8E428F0 @@ -12064,7 +12064,7 @@ gFile_graphics_pokemon_back_pics_unown_p_back_pic:: @ 8E42A90 .align 2 gFile_graphics_pokemon_icons_unown_P_icon:: @ 8E42C54 - .incbin "graphics/pokemon/unown/P/icon.4bpp" + .incbin "graphics/pokemon/unown/p/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_q_still_front_pic:: @ 8E43054 @@ -12076,7 +12076,7 @@ gFile_graphics_pokemon_back_pics_unown_q_back_pic:: @ 8E43208 .align 2 gFile_graphics_pokemon_icons_unown_Q_icon:: @ 8E433D4 - .incbin "graphics/pokemon/unown/Q/icon.4bpp" + .incbin "graphics/pokemon/unown/q/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_r_still_front_pic:: @ 8E437D4 @@ -12088,7 +12088,7 @@ gFile_graphics_pokemon_back_pics_unown_r_back_pic:: @ 8E43978 .align 2 gFile_graphics_pokemon_icons_unown_R_icon:: @ 8E43B40 - .incbin "graphics/pokemon/unown/R/icon.4bpp" + .incbin "graphics/pokemon/unown/r/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_s_still_front_pic:: @ 8E43F40 @@ -12100,7 +12100,7 @@ gFile_graphics_pokemon_back_pics_unown_s_back_pic:: @ 8E44128 .align 2 gFile_graphics_pokemon_icons_unown_S_icon:: @ 8E4437C - .incbin "graphics/pokemon/unown/S/icon.4bpp" + .incbin "graphics/pokemon/unown/s/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_t_still_front_pic:: @ 8E4477C @@ -12112,7 +12112,7 @@ gFile_graphics_pokemon_back_pics_unown_t_back_pic:: @ 8E4492C .align 2 gFile_graphics_pokemon_icons_unown_T_icon:: @ 8E44AE0 - .incbin "graphics/pokemon/unown/T/icon.4bpp" + .incbin "graphics/pokemon/unown/t/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_u_still_front_pic:: @ 8E44EE0 @@ -12124,7 +12124,7 @@ gFile_graphics_pokemon_back_pics_unown_u_back_pic:: @ 8E450F8 .align 2 gFile_graphics_pokemon_icons_unown_U_icon:: @ 8E4534C - .incbin "graphics/pokemon/unown/U/icon.4bpp" + .incbin "graphics/pokemon/unown/u/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_v_still_front_pic:: @ 8E4574C @@ -12136,7 +12136,7 @@ gFile_graphics_pokemon_back_pics_unown_v_back_pic:: @ 8E45930 .align 2 gFile_graphics_pokemon_icons_unown_V_icon:: @ 8E45B60 - .incbin "graphics/pokemon/unown/V/icon.4bpp" + .incbin "graphics/pokemon/unown/v/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_w_still_front_pic:: @ 8E45F60 @@ -12148,7 +12148,7 @@ gFile_graphics_pokemon_back_pics_unown_w_back_pic:: @ 8E46134 .align 2 gFile_graphics_pokemon_icons_unown_W_icon:: @ 8E46338 - .incbin "graphics/pokemon/unown/W/icon.4bpp" + .incbin "graphics/pokemon/unown/w/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_x_still_front_pic:: @ 8E46738 @@ -12160,7 +12160,7 @@ gFile_graphics_pokemon_back_pics_unown_x_back_pic:: @ 8E468FC .align 2 gFile_graphics_pokemon_icons_unown_X_icon:: @ 8E46AEC - .incbin "graphics/pokemon/unown/X/icon.4bpp" + .incbin "graphics/pokemon/unown/x/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_y_still_front_pic:: @ 8E46EEC @@ -12172,7 +12172,7 @@ gFile_graphics_pokemon_back_pics_unown_y_back_pic:: @ 8E470C4 .align 2 gFile_graphics_pokemon_icons_unown_Y_icon:: @ 8E472B8 - .incbin "graphics/pokemon/unown/Y/icon.4bpp" + .incbin "graphics/pokemon/unown/y/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_z_still_front_pic:: @ 8E476B8 @@ -12184,7 +12184,7 @@ gFile_graphics_pokemon_back_pics_unown_z_back_pic:: @ 8E47868 .align 2 gFile_graphics_pokemon_icons_unown_Z_icon:: @ 8E47A44 - .incbin "graphics/pokemon/unown/Z/icon.4bpp" + .incbin "graphics/pokemon/unown/z/icon.4bpp" .align 2 gFile_graphics_pokemon_front_pics_unown_exclamation_mark_still_front_pic:: @ 8E47E44 -- cgit v1.2.3 From f9f66ddeb428857f3e7c3d920fcce807948ef8ab Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Tue, 4 Jun 2019 06:28:00 +0800 Subject: sub_815B118 --- asm/teachy_tv.s | 104 ++++---------------------------------------------------- src/teachy_tv.c | 31 ++++++++++++++++- 2 files changed, 37 insertions(+), 98 deletions(-) diff --git a/asm/teachy_tv.s b/asm/teachy_tv.s index f19915d6e..53ca52ccb 100644 --- a/asm/teachy_tv.s +++ b/asm/teachy_tv.s @@ -5,96 +5,6 @@ .text - thumb_func_start TeachyTvSetupPostBattleWindowAndObj -TeachyTvSetupPostBattleWindowAndObj: @ 815B118 - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, _0815B190 @ =gTasks+0x8 - adds r5, r0, r1 - movs r0, 0x2 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0815B194 @ =gSprites - adds r7, r0, r1 - movs r0, 0x1 - bl ClearWindowTilemap - bl TeachyTvClearWindowRegs - ldr r0, _0815B198 @ =gTeachyTV_StaticResources - ldrb r0, [r0, 0x5] - cmp r0, 0 - blt _0815B1B8 - cmp r0, 0x3 - bgt _0815B1A8 - ldrb r0, [r5, 0x2] - movs r1, 0x78 - movs r2, 0x38 - movs r3, 0 - bl TeachyTvSetSpriteCoordsAndSwitchFrame - movs r4, 0xC0 - lsls r4, 6 - movs r0, 0x3 - adds r1, r4, 0 - movs r2, 0x1 - bl ChangeBgX - movs r0, 0x3 - adds r1, r4, 0 - movs r2, 0x2 - bl ChangeBgY - ldr r2, _0815B19C @ =gUnknown_203F450 - ldr r1, [r2] - ldr r0, _0815B1A0 @ =0x00004004 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x3 - strb r0, [r1] - ldr r1, [r2] - ldr r0, _0815B1A4 @ =0x00004005 - adds r1, r0 - ldrb r0, [r1] - subs r0, 0x3 - strb r0, [r1] - b _0815B1B8 - .align 2, 0 -_0815B190: .4byte gTasks+0x8 -_0815B194: .4byte gSprites -_0815B198: .4byte gTeachyTV_StaticResources -_0815B19C: .4byte gUnknown_203F450 -_0815B1A0: .4byte 0x00004004 -_0815B1A4: .4byte 0x00004005 -_0815B1A8: - cmp r0, 0x5 - bgt _0815B1B8 - ldrb r0, [r5, 0x2] - movs r1, 0x78 - movs r2, 0x38 - movs r3, 0 - bl TeachyTvSetSpriteCoordsAndSwitchFrame -_0815B1B8: - movs r0, 0 - strh r0, [r5, 0x8] - strh r0, [r5, 0xA] - movs r0, 0x24 - ldrsh r1, [r7, r0] - movs r0, 0x26 - ldrsh r2, [r7, r0] - movs r0, 0x1 - str r0, [sp] - adds r0, r6, 0 - movs r3, 0 - bl sub_815BAA0 - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end TeachyTvSetupPostBattleWindowAndObj - thumb_func_start sub_815B1DC sub_815B1DC: @ 815B1DC push {r4,lr} @@ -758,7 +668,7 @@ sub_815B6A8: @ 815B6A8 str r3, [sp] adds r0, r5, 0 movs r3, 0 - bl sub_815BAA0 + bl TeachyTvGrassAnimationMain _0815B702: movs r1, 0x4 ldrsh r0, [r4, r1] @@ -843,7 +753,7 @@ _0815B78A: str r0, [sp] adds r0, r5, 0 movs r3, 0 - bl sub_815BAA0 + bl TeachyTvGrassAnimationMain _0815B7AC: movs r1, 0x4 ldrsh r0, [r4, r1] @@ -907,7 +817,7 @@ sub_815B7E4: @ 815B7E4 str r0, [sp] adds r0, r6, 0 movs r3, 0 - bl sub_815BAA0 + bl TeachyTvGrassAnimationMain add sp, 0x4 pop {r4-r6} pop {r0} @@ -948,7 +858,7 @@ sub_815B840: @ 815B840 str r0, [sp] adds r0, r3, 0 movs r3, 0 - bl sub_815BAA0 + bl TeachyTvGrassAnimationMain _0815B87E: ldrh r1, [r4, 0x24] movs r2, 0x24 @@ -1225,8 +1135,8 @@ _0815BA98: .4byte gTeachyTV_StaticResources _0815BA9C: .4byte sub_815B4EC thumb_func_end TeachyTvPostBattleFadeControl - thumb_func_start sub_815BAA0 -sub_815BAA0: @ 815BAA0 + thumb_func_start TeachyTvGrassAnimationMain +TeachyTvGrassAnimationMain: @ 815BAA0 push {r4-r7,lr} mov r7, r9 mov r6, r8 @@ -1321,7 +1231,7 @@ _0815BB5C: bx r0 .align 2, 0 _0815BB68: .4byte gUnknown_84795B8 - thumb_func_end sub_815BAA0 + thumb_func_end TeachyTvGrassAnimationMain thumb_func_start sub_815BB6C sub_815BB6C: @ 815BB6C diff --git a/src/teachy_tv.c b/src/teachy_tv.c index 750aa0dfb..48b72c995 100644 --- a/src/teachy_tv.c +++ b/src/teachy_tv.c @@ -43,7 +43,7 @@ extern void sub_815AC20(); void TeachyTvCreateAndRenderRbox(); void TeachyTvInitIo(); u8 TeachyTvSetupObjEventAndOam(); -extern void TeachyTvSetupPostBattleWindowAndObj(u8); +void TeachyTvSetupPostBattleWindowAndObj(u8); u8 TeachyTvSetupWindow(); void TeachyTvSetupScrollIndicatorArrowPair(); void TeachyTvSetWindowRegs(); @@ -344,3 +344,32 @@ void TeachyTvBg2AnimController() schedule_bg_copy_tilemap_to_vram(2u); } +extern void TeachyTvGrassAnimationMain(u8 taskId, s16 x, s16 y, u8 subpriority, bool8 mode); + +void TeachyTvSetupPostBattleWindowAndObj(u8 taskId) +{ + u16 *v2 = gTasks[taskId].data; + int v1 = ((s16 *)v2)[1]; + struct Sprite *v3 = &gSprites[v1]; + int op; + + ClearWindowTilemap(1u); + TeachyTvClearWindowRegs(); + op = gTeachyTV_StaticResources.optionChosen; + if ( op >= 0 ) { + if ( op <= 3 ) + { + TeachyTvSetSpriteCoordsAndSwitchFrame(((char*)v2)[2], 0x78, 0x38, 0); + ChangeBgX(3u, 0x3000u, 1u); + ChangeBgY(3u, 0x3000u, 2u); + *((u8 *)gUnknown_203F450 + 0x4004) += 3; + *((u8 *)gUnknown_203F450 + 0x4005) -= 3; + } + else if ( op <= 5 ) + TeachyTvSetSpriteCoordsAndSwitchFrame(((char*)v2)[2], 0x78, 0x38, 0); + } + + v2[4] = 0; + v2[5] = 0; + TeachyTvGrassAnimationMain(taskId, v3->pos2.x, v3->pos2.y, 0, 1u); +} \ No newline at end of file -- cgit v1.2.3 From a9c9388cdd51216bdf5a5db125eaab0fc3163c67 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Tue, 4 Jun 2019 13:45:58 +0800 Subject: killed by large function --- asm/teachy_tv.s | 155 +++++++------------------------------------------------- src/teachy_tv.c | 66 +++++++++++++++++++----- 2 files changed, 72 insertions(+), 149 deletions(-) diff --git a/asm/teachy_tv.s b/asm/teachy_tv.s index 53ca52ccb..1d00e57cf 100644 --- a/asm/teachy_tv.s +++ b/asm/teachy_tv.s @@ -5,127 +5,8 @@ .text - thumb_func_start sub_815B1DC -sub_815B1DC: @ 815B1DC - push {r4,lr} - sub sp, 0x10 - adds r4, r0, 0 - ldr r2, _0815B21C @ =gTextFlags - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - bl GetTextSpeedSetting - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0 - str r0, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - movs r0, 0xC - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x4 - adds r2, r4, 0 - bl AddTextPrinterParameterized2 - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0815B21C: .4byte gTextFlags - thumb_func_end sub_815B1DC - - thumb_func_start sub_815B220 -sub_815B220: @ 815B220 - push {r4,lr} - ldr r4, _0815B238 @ =gUnknown_203F450 - ldr r0, [r4] - bl Free - movs r0, 0 - str r0, [r4] - bl FreeAllWindowBuffers - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0815B238: .4byte gUnknown_203F450 - thumb_func_end sub_815B220 - - thumb_func_start sub_815B23C -sub_815B23C: @ 815B23C - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, _0815B26C @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0815B270 @ =sub_815B274 - str r1, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0815B26C: .4byte gTasks -_0815B270: .4byte sub_815B274 - thumb_func_end sub_815B23C - - thumb_func_start sub_815B274 -sub_815B274: @ 815B274 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0815B298 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0815B2B6 - ldr r0, _0815B29C @ =gUnknown_203F450 - ldr r0, [r0] - ldr r0, [r0] - cmp r0, 0 - beq _0815B2A0 - bl SetMainCallback2 - b _0815B2AC - .align 2, 0 -_0815B298: .4byte gPaletteFade -_0815B29C: .4byte gUnknown_203F450 -_0815B2A0: - bl sub_8055DC4 - ldr r0, _0815B2BC @ =gTeachyTV_StaticResources - ldr r0, [r0] - bl SetMainCallback2 -_0815B2AC: - bl sub_815B220 - adds r0, r4, 0 - bl DestroyTask -_0815B2B6: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0815B2BC: .4byte gTeachyTV_StaticResources - thumb_func_end sub_815B274 - - thumb_func_start sub_815B2C0 -sub_815B2C0: @ 815B2C0 + thumb_func_start TeachyTvOptionListController +TeachyTvOptionListController: @ 815B2C0 push {r4-r7,lr} lsls r0, 24 lsrs r7, r0, 24 @@ -179,7 +60,7 @@ _0815B330: movs r0, 0x5 bl PlaySE adds r0, r7, 0 - bl sub_815B23C + bl TeachyTvQuitBeginFade b _0815B37A _0815B33E: movs r0, 0x5 @@ -204,7 +85,7 @@ _0815B33E: adds r0, r7 lsls r0, 3 adds r0, r1 - ldr r1, _0815B388 @ =sub_815B4EC + ldr r1, _0815B388 @ =TeachyTvRenderMsgAndSwitchClusterFuncs str r1, [r0] _0815B37A: pop {r4-r7} @@ -213,8 +94,8 @@ _0815B37A: .align 2, 0 _0815B380: .4byte gTeachyTV_StaticResources _0815B384: .4byte gTasks -_0815B388: .4byte sub_815B4EC - thumb_func_end sub_815B2C0 +_0815B388: .4byte TeachyTvRenderMsgAndSwitchClusterFuncs + thumb_func_end TeachyTvOptionListController thumb_func_start sub_815B38C sub_815B38C: @ 815B38C @@ -355,7 +236,7 @@ _0815B48C: movs r1, 0 bl StartSpriteAnim ldr r0, _0815B4B0 @ =gUnknown_841B83D - bl sub_815B1DC + bl TeachyTvInitTextPrinter movs r0, 0 strh r0, [r4, 0x4] ldrh r0, [r4, 0x6] @@ -399,8 +280,8 @@ _0815B4E2: _0815B4E8: .4byte gTasks+0x8 thumb_func_end sub_815B4C0 - thumb_func_start sub_815B4EC -sub_815B4EC: @ 815B4EC + thumb_func_start TeachyTvRenderMsgAndSwitchClusterFuncs +TeachyTvRenderMsgAndSwitchClusterFuncs: @ 815B4EC push {r4-r7,lr} lsls r0, 24 lsrs r2, r0, 24 @@ -469,7 +350,7 @@ _0815B578: .align 2, 0 _0815B580: .4byte gUnknown_8479548 _0815B584: .4byte gTeachyTV_StaticResources - thumb_func_end sub_815B4EC + thumb_func_end TeachyTvRenderMsgAndSwitchClusterFuncs thumb_func_start sub_815B588 sub_815B588: @ 815B588 @@ -487,7 +368,7 @@ sub_815B588: @ 815B588 lsls r0, 2 adds r0, r1 ldr r0, [r0] - bl sub_815B1DC + bl TeachyTvInitTextPrinter ldrh r0, [r4, 0x6] adds r0, 0x1 strh r0, [r4, 0x6] @@ -516,7 +397,7 @@ sub_815B5C0: @ 815B5C0 lsls r0, 2 adds r0, r1 ldr r0, [r0] - bl sub_815B1DC + bl TeachyTvInitTextPrinter ldrh r0, [r4, 0x6] adds r0, 0x1 strh r0, [r4, 0x6] @@ -990,7 +871,7 @@ _0815B94C: adds r0, r7, 0 subs r0, 0x8 adds r0, r6, r0 - ldr r1, _0815B9E0 @ =sub_815B2C0 + ldr r1, _0815B9E0 @ =TeachyTvOptionListController str r1, [r0] movs r0, 0 bl PutWindowTilemap @@ -1036,7 +917,7 @@ _0815B9D4: bx r0 .align 2, 0 _0815B9DC: .4byte gTasks+0x8 -_0815B9E0: .4byte sub_815B2C0 +_0815B9E0: .4byte TeachyTvOptionListController _0815B9E4: .4byte gUnknown_203F450 _0815B9E8: .4byte 0x00004004 _0815B9EC: .4byte 0x00004006 @@ -1067,7 +948,7 @@ _0815BA10: ldr r0, _0815BA2C @ =sub_815BA30 str r0, [r1] adds r0, r2, 0 - bl sub_815B23C + bl TeachyTvQuitBeginFade _0815BA22: pop {r0} bx r0 @@ -1121,7 +1002,7 @@ TeachyTvPostBattleFadeControl: @ 815BA54 adds r0, r4, 0 subs r0, 0x8 adds r0, r2, r0 - ldr r1, _0815BA9C @ =sub_815B4EC + ldr r1, _0815BA9C @ =TeachyTvRenderMsgAndSwitchClusterFuncs str r1, [r0] _0815BA86: pop {r4} @@ -1132,7 +1013,7 @@ _0815BA8C: .4byte gTasks+0x8 _0815BA90: .4byte gPaletteFade _0815BA94: .4byte gUnknown_8479390 _0815BA98: .4byte gTeachyTV_StaticResources -_0815BA9C: .4byte sub_815B4EC +_0815BA9C: .4byte TeachyTvRenderMsgAndSwitchClusterFuncs thumb_func_end TeachyTvPostBattleFadeControl thumb_func_start TeachyTvGrassAnimationMain @@ -1395,7 +1276,7 @@ sub_815BC90: @ 815BC90 lsls r0, 3 ldr r1, _0815BCCC @ =gTasks+0x8 adds r5, r0, r1 - bl sub_815B220 + bl TeachyTvFree ldr r1, _0815BCD0 @ =gSpecialVar_0x8004 ldr r4, _0815BCD4 @ =gTeachyTV_StaticResources ldrb r0, [r4, 0x5] diff --git a/src/teachy_tv.c b/src/teachy_tv.c index 48b72c995..f70f1d130 100644 --- a/src/teachy_tv.c +++ b/src/teachy_tv.c @@ -5,6 +5,7 @@ #include "palette.h" #include "sprite.h" #include "menu_helpers.h" +#include "new_menu_helpers.h" #include "sound.h" #include "malloc.h" #include "sprite.h" @@ -14,6 +15,7 @@ #include "decompress.h" #include "window.h" #include "list_menu.h" +#include "item_menu.h" #include "item.h" #include "menu_indicators.h" #include "field_map_obj.h" @@ -50,7 +52,7 @@ void TeachyTvSetWindowRegs(); void TeachyTvSetupBg(); void TeachyTvLoadGraphic(); extern void TeachyTvPostBattleFadeControl(u8); -extern void sub_815B2C0(u8); +extern void TeachyTvOptionListController(u8); extern void VblankHblankHandlerSetZero(); extern void sub_812B1E0(u16); extern struct BgTemplate gUnknown_84792E0; @@ -63,6 +65,15 @@ extern struct SpritePalette gUnknown_83A5348; extern void sub_815BD80(void *); typedef struct Task Task; extern struct WindowTemplate gUnknown_84792F0; +extern void TeachyTvRenderMsgAndSwitchClusterFuncs(u8 taskId); +extern struct ListMenuTemplate gUnknown_8479368; +extern struct ListMenuItem gUnknown_8479340; +extern u8 ListMenuInitInternal(struct ListMenuTemplate *, u16 scrollOffset, u16 selectedRow); +void TeachyTvAudioByInput(s32, bool8, struct ListMenu *); +extern void sub_8055DC4(); +extern void TeachyTvGrassAnimationMain(u8 taskId, s16 x, s16 y, u8 subpriority, bool8 mode); +extern const struct ScrollIndicatorArrowPairTemplate gUnknown_8479380; +extern void TeachyTvQuitFadeControlAndTaskDel(u8 taskId); void C2TeachyTv() @@ -156,7 +167,7 @@ void C2TeachyTvMainCallback() } else { - taskId = CreateTask(sub_815B2C0, 0); + taskId = CreateTask(TeachyTvOptionListController, 0); x = (u32)TeachyTvSetupWindow(); gTasks[taskId].data[0] = (x << 24) >> 24; gTasks[taskId].data[1] = TeachyTvSetupObjEventAndOam(); @@ -219,11 +230,6 @@ void TeachyTvCreateAndRenderRbox() CopyWindowToVram(0, 2u); } -extern struct ListMenuTemplate gUnknown_8479368; -extern struct ListMenuItem gUnknown_8479340; -extern u8 ListMenuInitInternal(struct ListMenuTemplate *, u16 scrollOffset, u16 selectedRow); -void TeachyTvAudioByInput(s32, bool8, struct ListMenu *); - u8 TeachyTvSetupWindow() { int hasItem; @@ -244,8 +250,6 @@ u8 TeachyTvSetupWindow() gTeachyTV_StaticResources.selectedRow); } -extern const struct ScrollIndicatorArrowPairTemplate gUnknown_8479380; - void TeachyTvSetupScrollIndicatorArrowPair() { int hasItem; @@ -344,8 +348,6 @@ void TeachyTvBg2AnimController() schedule_bg_copy_tilemap_to_vram(2u); } -extern void TeachyTvGrassAnimationMain(u8 taskId, s16 x, s16 y, u8 subpriority, bool8 mode); - void TeachyTvSetupPostBattleWindowAndObj(u8 taskId) { u16 *v2 = gTasks[taskId].data; @@ -372,4 +374,44 @@ void TeachyTvSetupPostBattleWindowAndObj(u8 taskId) v2[4] = 0; v2[5] = 0; TeachyTvGrassAnimationMain(taskId, v3->pos2.x, v3->pos2.y, 0, 1u); -} \ No newline at end of file +} + +void TeachyTvInitTextPrinter(char *text) +{ + u8 spd; + gTextFlags.autoScroll = 0; + spd = GetTextSpeedSetting(); + AddTextPrinterParameterized2(0, 4u, (const u8 *)text, spd, 0, 1u, 0xCu, 3u); +} + +void TeachyTvFree() +{ + Free(gUnknown_203F450); + gUnknown_203F450 = NULL; + FreeAllWindowBuffers(); +} + +void TeachyTvQuitBeginFade(u8 taskId) +{ + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10u, 0); + gTasks[taskId].func = TeachyTvQuitFadeControlAndTaskDel; +} + +void TeachyTvQuitFadeControlAndTaskDel(u8 taskId) +{ + if ( !(gPaletteFade.active) ) + { + if ( *(u32 *)gUnknown_203F450 ) + { + SetMainCallback2(*(void (**)())gUnknown_203F450); + } + else + { + sub_8055DC4(); + SetMainCallback2((void (*)())gTeachyTV_StaticResources.callback); + } + TeachyTvFree(); + DestroyTask(taskId); + } +} + -- cgit v1.2.3 From c1f42a684e921867578b91697cc1539b2527d5a4 Mon Sep 17 00:00:00 2001 From: garak Date: Tue, 4 Jun 2019 15:27:36 -0400 Subject: update gitattributes --- .gitattributes | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.gitattributes b/.gitattributes index a7233fe6a..2ca17cab1 100644 --- a/.gitattributes +++ b/.gitattributes @@ -11,6 +11,10 @@ Makefile text eol=lf *.sha1 text eol=lf *.sed text eol=lf *.sh text eol=lf +*.json text eol=lf *.png binary *.bin binary + +*.h linguist-language=C +*.inc linguist-language=Assembly -- cgit v1.2.3 From e07151b34621ba17904871b17e2be8638b584d14 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Wed, 5 Jun 2019 08:19:12 +0800 Subject: 1 failed attempt + many more functions --- asm/teachy_tv.s | 514 +------------------------------------------------------- src/teachy_tv.c | 297 +++++++++++++++++++++++++++++++- 2 files changed, 295 insertions(+), 516 deletions(-) diff --git a/asm/teachy_tv.s b/asm/teachy_tv.s index 1d00e57cf..1098956c0 100644 --- a/asm/teachy_tv.s +++ b/asm/teachy_tv.s @@ -5,506 +5,6 @@ .text - thumb_func_start TeachyTvOptionListController -TeachyTvOptionListController: @ 815B2C0 - push {r4-r7,lr} - lsls r0, 24 - lsrs r7, r0, 24 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - ldr r1, _0815B31C @ =gTasks+0x8 - adds r6, r0, r1 - bl TeachyTvBg2AnimController - ldr r0, _0815B320 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0815B37A - ldrb r0, [r6] - bl ListMenuHandleInput - adds r5, r0, 0 - ldrb r0, [r6] - ldr r4, _0815B324 @ =gTeachyTV_StaticResources+6 - adds r2, r4, 0x2 - adds r1, r4, 0 - bl ListMenuGetScrollAndRow - ldr r0, _0815B328 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0815B30A - subs r0, r4, 0x6 - ldr r1, [r0] - ldr r0, _0815B32C @ =UseFameCheckerFromMenu - cmp r1, r0 - bne _0815B330 -_0815B30A: - movs r0, 0x2 - negs r0, r0 - cmp r5, r0 - beq _0815B330 - adds r0, 0x1 - cmp r5, r0 - bne _0815B33E - b _0815B37A - .align 2, 0 -_0815B31C: .4byte gTasks+0x8 -_0815B320: .4byte gPaletteFade -_0815B324: .4byte gTeachyTV_StaticResources+6 -_0815B328: .4byte gMain -_0815B32C: .4byte UseFameCheckerFromMenu -_0815B330: - movs r0, 0x5 - bl PlaySE - adds r0, r7, 0 - bl TeachyTvQuitBeginFade - b _0815B37A -_0815B33E: - movs r0, 0x5 - bl PlaySE - ldr r2, _0815B380 @ =gTeachyTV_StaticResources - movs r4, 0 - strb r5, [r2, 0x5] - ldrb r0, [r6] - adds r1, r2, 0x6 - adds r2, 0x8 - bl DestroyListMenu - bl TeachyTvClearWindowRegs - movs r0, 0x1 - bl ClearWindowTilemap - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - bl TeachyTvRemoveScrollIndicatorArrowPair - strh r4, [r6, 0x6] - strh r4, [r6, 0x4] - ldr r1, _0815B384 @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldr r1, _0815B388 @ =TeachyTvRenderMsgAndSwitchClusterFuncs - str r1, [r0] -_0815B37A: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0815B380: .4byte gTeachyTV_StaticResources -_0815B384: .4byte gTasks -_0815B388: .4byte TeachyTvRenderMsgAndSwitchClusterFuncs - thumb_func_end TeachyTvOptionListController - - thumb_func_start sub_815B38C -sub_815B38C: @ 815B38C - push {r4,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _0815B3F8 @ =gTasks+0x8 - adds r4, r1, r0 - bl TeachyTvBg2AnimController - ldrh r0, [r4, 0x4] - adds r0, 0x1 - strh r0, [r4, 0x4] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3F - ble _0815B3F0 - ldr r0, _0815B3FC @ =gUnknown_203F450 - ldr r1, [r0] - ldr r0, _0815B400 @ =0x00003004 - adds r1, r0 - movs r0, 0x20 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBufferRect_ChangePalette - ldrb r0, [r4, 0x2] - movs r1, 0x8 - movs r2, 0x38 - movs r3, 0x7 - bl TeachyTvSetSpriteCoordsAndSwitchFrame - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0 - strh r0, [r4, 0x4] - ldrh r0, [r4, 0x6] - adds r0, 0x1 - strh r0, [r4, 0x6] - movs r0, 0x88 - lsls r0, 1 - bl PlayNewMapMusic -_0815B3F0: - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0815B3F8: .4byte gTasks+0x8 -_0815B3FC: .4byte gUnknown_203F450 -_0815B400: .4byte 0x00003004 - thumb_func_end sub_815B38C - - thumb_func_start sub_815B404 -sub_815B404: @ 815B404 - push {r4,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _0815B450 @ =gTasks+0x8 - adds r4, r1, r0 - ldrh r0, [r4, 0x4] - adds r0, 0x1 - strh r0, [r4, 0x4] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x86 - bne _0815B448 - movs r0, 0x1A - str r0, [sp] - movs r0, 0xC - str r0, [sp, 0x4] - movs r0, 0x2 - movs r1, 0 - movs r2, 0x2 - movs r3, 0x1 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0 - strh r0, [r4, 0x4] - ldrh r0, [r4, 0x6] - adds r0, 0x1 - strh r0, [r4, 0x6] -_0815B448: - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0815B450: .4byte gTasks+0x8 - thumb_func_end sub_815B404 - - thumb_func_start sub_815B454 -sub_815B454: @ 815B454 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _0815B484 @ =gTasks+0x8 - adds r4, r1, r0 - movs r0, 0x2 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0815B488 @ =gSprites - adds r1, r0, r1 - ldrh r2, [r4, 0x4] - movs r3, 0x4 - ldrsh r0, [r4, r3] - cmp r0, 0x23 - beq _0815B48C - adds r0, r2, 0x1 - strh r0, [r4, 0x4] - b _0815B4B8 - .align 2, 0 -_0815B484: .4byte gTasks+0x8 -_0815B488: .4byte gSprites -_0815B48C: - ldrh r2, [r1, 0x24] - movs r3, 0x24 - ldrsh r0, [r1, r3] - cmp r0, 0x78 - bne _0815B4B4 - adds r0, r1, 0 - movs r1, 0 - bl StartSpriteAnim - ldr r0, _0815B4B0 @ =gUnknown_841B83D - bl TeachyTvInitTextPrinter - movs r0, 0 - strh r0, [r4, 0x4] - ldrh r0, [r4, 0x6] - adds r0, 0x1 - strh r0, [r4, 0x6] - b _0815B4B8 - .align 2, 0 -_0815B4B0: .4byte gUnknown_841B83D -_0815B4B4: - adds r0, r2, 0x1 - strh r0, [r1, 0x24] -_0815B4B8: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_815B454 - - thumb_func_start sub_815B4C0 -sub_815B4C0: @ 815B4C0 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _0815B4E8 @ =gTasks+0x8 - adds r4, r1, r0 - movs r0, 0 - bl sub_80BF518 - lsls r0, 16 - cmp r0, 0 - bne _0815B4E2 - ldrh r0, [r4, 0x6] - adds r0, 0x1 - strh r0, [r4, 0x6] -_0815B4E2: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0815B4E8: .4byte gTasks+0x8 - thumb_func_end sub_815B4C0 - - thumb_func_start TeachyTvRenderMsgAndSwitchClusterFuncs -TeachyTvRenderMsgAndSwitchClusterFuncs: @ 815B4EC - push {r4-r7,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r6, r0, 3 - ldr r7, _0815B548 @ =gTasks+0x8 - adds r5, r6, r7 - ldr r0, _0815B54C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0815B55C - ldr r0, _0815B550 @ =gUnknown_203F450 - ldr r0, [r0] - ldr r1, _0815B554 @ =0x00004006 - adds r0, r1 - movs r4, 0 - movs r1, 0x1 - strb r1, [r0] - ldrb r0, [r5, 0x2] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl TeachyTvSetSpriteCoordsAndSwitchFrame - movs r0, 0 - movs r1, 0xCC - bl FillWindowPixelBuffer - movs r0, 0 - movs r1, 0x2 - bl CopyWindowToVram - bl sub_815B908 - strh r4, [r5, 0x4] - strh r4, [r5, 0x6] - adds r0, r7, 0 - subs r0, 0x8 - adds r0, r6, r0 - ldr r1, _0815B558 @ =sub_815B92C - str r1, [r0] - b _0815B578 - .align 2, 0 -_0815B548: .4byte gTasks+0x8 -_0815B54C: .4byte gMain -_0815B550: .4byte gUnknown_203F450 -_0815B554: .4byte 0x00004006 -_0815B558: .4byte sub_815B92C -_0815B55C: - ldr r1, _0815B580 @ =gUnknown_8479548 - ldr r0, _0815B584 @ =gTeachyTV_StaticResources - ldrb r0, [r0, 0x5] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - movs r3, 0x6 - ldrsh r0, [r5, r3] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - adds r0, r2, 0 - bl _call_via_r1 -_0815B578: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0815B580: .4byte gUnknown_8479548 -_0815B584: .4byte gTeachyTV_StaticResources - thumb_func_end TeachyTvRenderMsgAndSwitchClusterFuncs - - thumb_func_start sub_815B588 -sub_815B588: @ 815B588 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, _0815B5B4 @ =gTasks+0x8 - adds r4, r0 - ldr r1, _0815B5B8 @ =gUnknown_8479560 - ldr r0, _0815B5BC @ =gTeachyTV_StaticResources - ldrb r0, [r0, 0x5] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl TeachyTvInitTextPrinter - ldrh r0, [r4, 0x6] - adds r0, 0x1 - strh r0, [r4, 0x6] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0815B5B4: .4byte gTasks+0x8 -_0815B5B8: .4byte gUnknown_8479560 -_0815B5BC: .4byte gTeachyTV_StaticResources - thumb_func_end sub_815B588 - - thumb_func_start sub_815B5C0 -sub_815B5C0: @ 815B5C0 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, _0815B5EC @ =gTasks+0x8 - adds r4, r0 - ldr r1, _0815B5F0 @ =gUnknown_8479578 - ldr r0, _0815B5F4 @ =gTeachyTV_StaticResources - ldrb r0, [r0, 0x5] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl TeachyTvInitTextPrinter - ldrh r0, [r4, 0x6] - adds r0, 0x1 - strh r0, [r4, 0x6] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0815B5EC: .4byte gTasks+0x8 -_0815B5F0: .4byte gUnknown_8479578 -_0815B5F4: .4byte gTeachyTV_StaticResources - thumb_func_end sub_815B5C0 - - thumb_func_start sub_815B5F8 -sub_815B5F8: @ 815B5F8 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _0815B620 @ =gTasks+0x8 - adds r4, r1, r0 - movs r0, 0 - bl sub_80BF518 - lsls r0, 16 - cmp r0, 0 - bne _0815B61A - ldrh r0, [r4, 0x6] - adds r0, 0x1 - strh r0, [r4, 0x6] -_0815B61A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0815B620: .4byte gTasks+0x8 - thumb_func_end sub_815B5F8 - - thumb_func_start sub_815B624 -sub_815B624: @ 815B624 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _0815B65C @ =gTasks+0x8 - adds r4, r1, r0 - ldr r0, _0815B660 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _0815B656 - movs r0, 0 - movs r1, 0xCC - bl FillWindowPixelBuffer - movs r0, 0 - movs r1, 0x2 - bl CopyWindowToVram - ldrh r0, [r4, 0x6] - adds r0, 0x1 - strh r0, [r4, 0x6] -_0815B656: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0815B65C: .4byte gTasks+0x8 -_0815B660: .4byte gMain - thumb_func_end sub_815B624 - - thumb_func_start sub_815B664 -sub_815B664: @ 815B664 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, _0815B6A0 @ =gTasks+0x8 - adds r4, r0 - movs r0, 0x2 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0815B6A4 @ =gSprites - adds r0, r1 - movs r1, 0x5 - bl StartSpriteAnim - movs r0, 0 - strh r0, [r4, 0x4] - strh r0, [r4, 0x8] - movs r0, 0x1 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0x6] - adds r0, 0x1 - strh r0, [r4, 0x6] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0815B6A0: .4byte gTasks+0x8 -_0815B6A4: .4byte gSprites - thumb_func_end sub_815B664 - thumb_func_start sub_815B6A8 sub_815B6A8: @ 815B6A8 push {r4-r6,lr} @@ -799,7 +299,7 @@ _0815B8DC: asrs r0, 16 cmp r0, 0x7E ble _0815B8F8 - bl sub_815B908 + bl TeachyTvClearBg1EndGraphicalText movs r0, 0 strh r0, [r4, 0x4] ldrh r0, [r4, 0x6] @@ -815,8 +315,8 @@ _0815B900: .4byte gTasks+0x8 _0815B904: .4byte gUnknown_8479590 thumb_func_end sub_815B8A4 - thumb_func_start sub_815B908 -sub_815B908: @ 815B908 + thumb_func_start TeachyTvClearBg1EndGraphicalText +TeachyTvClearBg1EndGraphicalText: @ 815B908 push {lr} sub sp, 0x8 movs r0, 0x8 @@ -833,10 +333,10 @@ sub_815B908: @ 815B908 add sp, 0x8 pop {r0} bx r0 - thumb_func_end sub_815B908 + thumb_func_end TeachyTvClearBg1EndGraphicalText - thumb_func_start sub_815B92C -sub_815B92C: @ 815B92C + thumb_func_start TeachyTvBackToOptionList +TeachyTvBackToOptionList: @ 815B92C push {r4-r7,lr} lsls r0, 24 lsrs r0, 24 @@ -921,7 +421,7 @@ _0815B9E0: .4byte TeachyTvOptionListController _0815B9E4: .4byte gUnknown_203F450 _0815B9E8: .4byte 0x00004004 _0815B9EC: .4byte 0x00004006 - thumb_func_end sub_815B92C + thumb_func_end TeachyTvBackToOptionList thumb_func_start sub_815B9F0 sub_815B9F0: @ 815B9F0 diff --git a/src/teachy_tv.c b/src/teachy_tv.c index f70f1d130..3549ec9b0 100644 --- a/src/teachy_tv.c +++ b/src/teachy_tv.c @@ -41,7 +41,7 @@ void C2TeachyTvMainCallback(); void VblankHandlerTeachyTv(); void sub_815ABC4(u8 mode, void (*cb)()); void sub_815ABFC(); -extern void sub_815AC20(); +void sub_815AC20(); void TeachyTvCreateAndRenderRbox(); void TeachyTvInitIo(); u8 TeachyTvSetupObjEventAndOam(); @@ -51,8 +51,8 @@ void TeachyTvSetupScrollIndicatorArrowPair(); void TeachyTvSetWindowRegs(); void TeachyTvSetupBg(); void TeachyTvLoadGraphic(); -extern void TeachyTvPostBattleFadeControl(u8); -extern void TeachyTvOptionListController(u8); +void TeachyTvPostBattleFadeControl(u8); +void TeachyTvOptionListController(u8); extern void VblankHblankHandlerSetZero(); extern void sub_812B1E0(u16); extern struct BgTemplate gUnknown_84792E0; @@ -65,7 +65,7 @@ extern struct SpritePalette gUnknown_83A5348; extern void sub_815BD80(void *); typedef struct Task Task; extern struct WindowTemplate gUnknown_84792F0; -extern void TeachyTvRenderMsgAndSwitchClusterFuncs(u8 taskId); +void TeachyTvRenderMsgAndSwitchClusterFuncs(u8 taskId); extern struct ListMenuTemplate gUnknown_8479368; extern struct ListMenuItem gUnknown_8479340; extern u8 ListMenuInitInternal(struct ListMenuTemplate *, u16 scrollOffset, u16 selectedRow); @@ -73,8 +73,15 @@ void TeachyTvAudioByInput(s32, bool8, struct ListMenu *); extern void sub_8055DC4(); extern void TeachyTvGrassAnimationMain(u8 taskId, s16 x, s16 y, u8 subpriority, bool8 mode); extern const struct ScrollIndicatorArrowPairTemplate gUnknown_8479380; -extern void TeachyTvQuitFadeControlAndTaskDel(u8 taskId); - +void TeachyTvQuitFadeControlAndTaskDel(u8 taskId); +extern char gUnknown_841B83D; +extern bool16 sub_80BF518(u8 textPrinterId); +extern void _call_via_r1(s32 arg, void *func); +extern void (**gUnknown_8479548)(u8); +extern void TeachyTvClearBg1EndGraphicalText(); +extern void TeachyTvBackToOptionList(u8 taskId); +extern char * gUnknown_8479560; +extern char * gUnknown_8479578; void C2TeachyTv() { @@ -98,7 +105,8 @@ void sub_815ABC4(u8 mode, void (*cb)()) u16 v4 = 0; v3->mode = mode; v3->callback = cb; - if(!mode) { + if(!mode) + { v3->scrollOffset = v4; v3->selectedRow = v4; v3->optionChosen = 0; @@ -254,7 +262,8 @@ void TeachyTvSetupScrollIndicatorArrowPair() { int hasItem; hasItem = (u8)CheckBagHasItem(ITEM_TM_CASE, 1u); - if ( ! hasItem << 24 ) { + if ( ! hasItem << 24 ) + { u8 * temp = (u8 *)gUnknown_203F450; *((u8 *)temp + 0x4007) = 0xFF; } @@ -358,7 +367,8 @@ void TeachyTvSetupPostBattleWindowAndObj(u8 taskId) ClearWindowTilemap(1u); TeachyTvClearWindowRegs(); op = gTeachyTV_StaticResources.optionChosen; - if ( op >= 0 ) { + if ( op >= 0 ) + { if ( op <= 3 ) { TeachyTvSetSpriteCoordsAndSwitchFrame(((char*)v2)[2], 0x78, 0x38, 0); @@ -415,3 +425,272 @@ void TeachyTvQuitFadeControlAndTaskDel(u8 taskId) } } +#ifdef NONMATCHING +void TeachyTvOptionListController(u8 taskId) +{ + char *v2; + s32 v3; + + v2 = (char *)gTasks[taskId].data; + TeachyTvBg2AnimController(); + if ( !(gPaletteFade.active) ) + { + v3 = ListMenuHandleInput(*v2); + ListMenuGetScrollAndRow(*v2, &gTeachyTV_StaticResources.scrollOffset, &gTeachyTV_StaticResources.selectedRow); + if ( ((gMain.newKeys) & 4 && (gTeachyTV_StaticResources.callback != UseFameCheckerFromMenu)) + || (v3 == -2) ) + { + PlaySE(SE_SELECT); + TeachyTvQuitBeginFade(taskId); + } + else if ( v3 != -1 ) + { + PlaySE(SE_SELECT); + gTeachyTV_StaticResources.optionChosen = v3; + DestroyListMenu(*v2, &gTeachyTV_StaticResources.scrollOffset, &gTeachyTV_StaticResources.selectedRow); + TeachyTvClearWindowRegs(); + ClearWindowTilemap(1u); + schedule_bg_copy_tilemap_to_vram(0); + TeachyTvRemoveScrollIndicatorArrowPair(); + *((u16 *)v2 + 3) = 0; + *((u16 *)v2 + 2) = 0; + gTasks[taskId].func = TeachyTvRenderMsgAndSwitchClusterFuncs; + } + } +} + +#else +__attribute__((naked)) +void TeachyTvOptionListController(u8 taskId) +{ + asm_unified("\n\ + push {r4-r7,lr}\n\ + lsls r0, 24\n\ + lsrs r7, r0, 24\n\ + lsls r0, r7, 2\n\ + adds r0, r7\n\ + lsls r0, 3\n\ + ldr r1, _0815B31C @ =gTasks+0x8\n\ + adds r6, r0, r1\n\ + bl TeachyTvBg2AnimController\n\ + ldr r0, _0815B320 @ =gPaletteFade\n\ + ldrb r1, [r0, 0x7]\n\ + movs r0, 0x80\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + bne _0815B37A\n\ + ldrb r0, [r6]\n\ + bl ListMenuHandleInput\n\ + adds r5, r0, 0\n\ + ldrb r0, [r6]\n\ + ldr r4, _0815B324 @ =gTeachyTV_StaticResources+6\n\ + adds r2, r4, 0x2\n\ + adds r1, r4, 0\n\ + bl ListMenuGetScrollAndRow\n\ + ldr r0, _0815B328 @ =gMain\n\ + ldrh r1, [r0, 0x2E]\n\ + movs r0, 0x4\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _0815B30A\n\ + subs r0, r4, 0x6\n\ + ldr r1, [r0]\n\ + ldr r0, _0815B32C @ =UseFameCheckerFromMenu\n\ + cmp r1, r0\n\ + bne _0815B330\n\ +_0815B30A:\n\ + movs r0, 0x2\n\ + negs r0, r0\n\ + cmp r5, r0\n\ + beq _0815B330\n\ + adds r0, 0x1\n\ + cmp r5, r0\n\ + bne _0815B33E\n\ + b _0815B37A\n\ + .align 2, 0\n\ +_0815B31C: .4byte gTasks+0x8\n\ +_0815B320: .4byte gPaletteFade\n\ +_0815B324: .4byte gTeachyTV_StaticResources+6\n\ +_0815B328: .4byte gMain\n\ +_0815B32C: .4byte UseFameCheckerFromMenu\n\ +_0815B330:\n\ + movs r0, 0x5\n\ + bl PlaySE\n\ + adds r0, r7, 0\n\ + bl TeachyTvQuitBeginFade\n\ + b _0815B37A\n\ +_0815B33E:\n\ + movs r0, 0x5\n\ + bl PlaySE\n\ + ldr r2, _0815B380 @ =gTeachyTV_StaticResources\n\ + movs r4, 0\n\ + strb r5, [r2, 0x5]\n\ + ldrb r0, [r6]\n\ + adds r1, r2, 0x6\n\ + adds r2, 0x8\n\ + bl DestroyListMenu\n\ + bl TeachyTvClearWindowRegs\n\ + movs r0, 0x1\n\ + bl ClearWindowTilemap\n\ + movs r0, 0\n\ + bl schedule_bg_copy_tilemap_to_vram\n\ + bl TeachyTvRemoveScrollIndicatorArrowPair\n\ + strh r4, [r6, 0x6]\n\ + strh r4, [r6, 0x4]\n\ + ldr r1, _0815B384 @ =gTasks\n\ + lsls r0, r7, 2\n\ + adds r0, r7\n\ + lsls r0, 3\n\ + adds r0, r1\n\ + ldr r1, _0815B388 @ =TeachyTvRenderMsgAndSwitchClusterFuncs\n\ + str r1, [r0]\n\ +_0815B37A:\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n\ + .align 2, 0\n\ +_0815B380: .4byte gTeachyTV_StaticResources\n\ +_0815B384: .4byte gTasks\n\ +_0815B388: .4byte TeachyTvRenderMsgAndSwitchClusterFuncs\n\ + "); +} +#endif + +void TeachyTvClusFuncTransitionRenderBg2TeachyTvGraphicInitNpcPos(u8 taskId) +{ + u16 *data; + u32 counter; + + data = (u16 *)gTasks[taskId].data; + TeachyTvBg2AnimController(); + counter = data[2] + 1; + data[2] = counter; + if ( (s16)counter > 63 ) + { + CopyToBgTilemapBufferRect_ChangePalette(2u, (u8 *)gUnknown_203F450 + 0x3004, 0, 0, 0x20u, 0x20u, 0x11u); + TeachyTvSetSpriteCoordsAndSwitchFrame(((u8*)data)[2], 8, 0x38, 7u); + schedule_bg_copy_tilemap_to_vram(2u); + data[2] = 0; + ++data[3]; + PlayNewMapMusic(BGM_FRLG_FOLLOW_ME); + } +} + +void TeachyTvClusFuncClearBg2TeachyTvGraphic(u8 taskId) +{ + u16 *data; + u32 counter; + + data = (u16*)gTasks[taskId].data; + counter = data[2] + 1; + data[2] = counter; + if ( (s16)counter == 134 ) + { + FillBgTilemapBufferRect_Palette0(2u, 0, 2u, 1u, 0x1Au, 0xCu); + schedule_bg_copy_tilemap_to_vram(2u); + data[2] = 0; + ++data[3]; + } +} + +void TeachyTvClusFuncNpcMoveAndSetupTextPrinter(u8 taskId) +{ + s16 *data; + struct Sprite * spriteAddr; + + data = gTasks[taskId].data; + spriteAddr = &gSprites[data[1]]; + if ( data[2] != 35 ) + ++data[2]; + else { + if ( spriteAddr->pos2.x == 0x78 ) + { + StartSpriteAnim(&gSprites[data[1]], 0); + TeachyTvInitTextPrinter(&gUnknown_841B83D); + data[2] = 0; + ++data[3]; + } + else + ++spriteAddr->pos2.x; + } +} + +void TeachyTvClusFuncIdleIfTextPrinterIsActive(u8 taskId) +{ + u16* data = (u16 *)gTasks[taskId].data; + if ( !(sub_80BF518(0) << 16) ) + ++data[3]; +} + +void TeachyTvRenderMsgAndSwitchClusterFuncs(u8 taskId) +{ + u16 *data; + data = gTasks[taskId].data; + if ( gMain.newKeys & 2 ) + { + char *offset = ((char *)gUnknown_203F450 + 0x4006); + u32 v4 = 0; + offset[0] = 1; + TeachyTvSetSpriteCoordsAndSwitchFrame(*((char *)data + 2), 0, 0, 0); + FillWindowPixelBuffer(0, 0xCCu); + CopyWindowToVram(0, 2u); + TeachyTvClearBg1EndGraphicalText(); + data[2] = v4; + data[3] = v4; + gTasks[taskId].func = TeachyTvBackToOptionList; + } + else + { + void (***array)(u8) = &gUnknown_8479548; + void (**cluster)(u8) = array[(u8)gTeachyTV_StaticResources.optionChosen]; + _call_via_r1( + taskId, + cluster[(s16)data[3]]); + } +} + +void TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen(u8 taskId) +{ + u16 *data = (u16 *)gTasks[taskId].data; + char ** texts = &gUnknown_8479560; + TeachyTvInitTextPrinter(texts[gTeachyTV_StaticResources.optionChosen]); + ++data[3]; +} + +void TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen2(u8 taskId) +{ + u16 *data = (u16 *)gTasks[taskId].data; + char ** texts = &gUnknown_8479578; + TeachyTvInitTextPrinter(texts[gTeachyTV_StaticResources.optionChosen]); + ++data[3]; +} + +void TeachyTvClusFuncIdleIfTextPrinterIsActive2(u8 taskId) +{ + u16* data = (u16 *)gTasks[taskId].data; + if ( !(sub_80BF518(0) << 16) ) + ++data[3]; +} + +void TeachyTvClusFuncEraseTextWindowIfKeyPressed(u8 taskId) +{ + u16 *data; + data = (u16 *)gTasks[taskId].data; + if ( gMain.newKeys & 3 ) + { + FillWindowPixelBuffer(0, 0xCCu); + CopyWindowToVram(0, 2u); + ++data[3]; + } +} + +void TeachyTvClusFuncStartAnimNpcWalkIntoGrass(u8 taskId) +{ + u16 *data; + data = (u16 *)gTasks[taskId].data; + StartSpriteAnim(&gSprites[(s16)data[1]], 5u); + data[2] = 0; + data[4] = 0; + data[5] = 1; + ++data[3]; +} \ No newline at end of file -- cgit v1.2.3 From 82e763455c9f173c1baf1b008f87156736cf39f3 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Wed, 5 Jun 2019 11:13:47 +0800 Subject: 4 movement functions --- asm/teachy_tv.s | 258 ------------------------------------ src/teachy_tv.c | 395 ++++++++++++++++++++++++++++++++++---------------------- 2 files changed, 240 insertions(+), 413 deletions(-) diff --git a/asm/teachy_tv.s b/asm/teachy_tv.s index 1098956c0..215a87e67 100644 --- a/asm/teachy_tv.s +++ b/asm/teachy_tv.s @@ -5,264 +5,6 @@ .text - thumb_func_start sub_815B6A8 -sub_815B6A8: @ 815B6A8 - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0815B730 @ =gTasks+0x8 - adds r4, r0, r1 - movs r0, 0x2 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0815B734 @ =gSprites - adds r6, r0, r1 - movs r1, 0x80 - lsls r1, 1 - movs r0, 0x3 - movs r2, 0x2 - bl ChangeBgY - ldrh r0, [r4, 0x4] - adds r0, 0x1 - strh r0, [r4, 0x4] - movs r3, 0xF - ands r3, r0 - cmp r3, 0 - bne _0815B702 - ldr r0, _0815B738 @ =gUnknown_203F450 - ldr r1, [r0] - ldr r2, _0815B73C @ =0x00004005 - adds r1, r2 - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] - movs r0, 0x24 - ldrsh r1, [r6, r0] - movs r0, 0x26 - ldrsh r2, [r6, r0] - str r3, [sp] - adds r0, r5, 0 - movs r3, 0 - bl TeachyTvGrassAnimationMain -_0815B702: - movs r1, 0x4 - ldrsh r0, [r4, r1] - cmp r0, 0x30 - bne _0815B726 - movs r1, 0 - strh r1, [r4, 0x4] - movs r2, 0x1 - negs r2, r2 - adds r0, r2, 0 - strh r0, [r4, 0x8] - strh r1, [r4, 0xA] - adds r0, r6, 0 - movs r1, 0x7 - bl StartSpriteAnim - ldrh r0, [r4, 0x6] - adds r0, 0x1 - strh r0, [r4, 0x6] -_0815B726: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0815B730: .4byte gTasks+0x8 -_0815B734: .4byte gSprites -_0815B738: .4byte gUnknown_203F450 -_0815B73C: .4byte 0x00004005 - thumb_func_end sub_815B6A8 - - thumb_func_start sub_815B740 -sub_815B740: @ 815B740 - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0815B7D4 @ =gTasks+0x8 - adds r4, r0, r1 - movs r0, 0x2 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0815B7D8 @ =gSprites - adds r6, r0, r1 - movs r1, 0x80 - lsls r1, 1 - movs r0, 0x3 - movs r2, 0x1 - bl ChangeBgX - ldrh r0, [r4, 0x4] - adds r0, 0x1 - strh r0, [r4, 0x4] - movs r2, 0xF - ands r0, r2 - cmp r0, 0 - bne _0815B78A - ldr r0, _0815B7DC @ =gUnknown_203F450 - ldr r1, [r0] - ldr r3, _0815B7E0 @ =0x00004004 - adds r1, r3 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_0815B78A: - movs r1, 0x4 - ldrsh r0, [r4, r1] - adds r0, 0x8 - ands r0, r2 - cmp r0, 0 - bne _0815B7AC - ldrh r1, [r6, 0x24] - adds r1, 0x8 - lsls r1, 16 - asrs r1, 16 - movs r3, 0x26 - ldrsh r2, [r6, r3] - str r0, [sp] - adds r0, r5, 0 - movs r3, 0 - bl TeachyTvGrassAnimationMain -_0815B7AC: - movs r1, 0x4 - ldrsh r0, [r4, r1] - cmp r0, 0x30 - bne _0815B7CA - movs r0, 0 - strh r0, [r4, 0x4] - strh r0, [r4, 0x8] - strh r0, [r4, 0xA] - adds r0, r6, 0 - movs r1, 0x3 - bl StartSpriteAnim - ldrh r0, [r4, 0x6] - adds r0, 0x1 - strh r0, [r4, 0x6] -_0815B7CA: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0815B7D4: .4byte gTasks+0x8 -_0815B7D8: .4byte gSprites -_0815B7DC: .4byte gUnknown_203F450 -_0815B7E0: .4byte 0x00004004 - thumb_func_end sub_815B740 - - thumb_func_start sub_815B7E4 -sub_815B7E4: @ 815B7E4 - push {r4-r6,lr} - sub sp, 0x4 - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - lsls r5, r6, 2 - adds r5, r6 - lsls r5, 3 - ldr r0, _0815B838 @ =gTasks+0x8 - adds r5, r0 - movs r1, 0x2 - ldrsh r0, [r5, r1] - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, _0815B83C @ =gSprites - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x6 - bl StartSpriteAnim - ldrh r0, [r5, 0x6] - adds r0, 0x1 - strh r0, [r5, 0x6] - movs r0, 0 - strh r0, [r5, 0x8] - strh r0, [r5, 0xA] - movs r0, 0x24 - ldrsh r1, [r4, r0] - movs r0, 0x26 - ldrsh r2, [r4, r0] - movs r0, 0 - str r0, [sp] - adds r0, r6, 0 - movs r3, 0 - bl TeachyTvGrassAnimationMain - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0815B838: .4byte gTasks+0x8 -_0815B83C: .4byte gSprites - thumb_func_end sub_815B7E4 - - thumb_func_start sub_815B840 -sub_815B840: @ 815B840 - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r3, r0, 24 - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 3 - ldr r1, _0815B890 @ =gTasks+0x8 - adds r5, r0, r1 - movs r0, 0x2 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0815B894 @ =gSprites - adds r4, r0, r1 - ldrh r1, [r4, 0x24] - movs r0, 0xF - ands r0, r1 - cmp r0, 0 - bne _0815B87E - subs r1, 0x8 - lsls r1, 16 - asrs r1, 16 - movs r6, 0x26 - ldrsh r2, [r4, r6] - str r0, [sp] - adds r0, r3, 0 - movs r3, 0 - bl TeachyTvGrassAnimationMain -_0815B87E: - ldrh r1, [r4, 0x24] - movs r2, 0x24 - ldrsh r0, [r4, r2] - cmp r0, 0x8 - bne _0815B898 - ldrh r0, [r5, 0x6] - adds r0, 0x1 - strh r0, [r5, 0x6] - b _0815B89C - .align 2, 0 -_0815B890: .4byte gTasks+0x8 -_0815B894: .4byte gSprites -_0815B898: - subs r0, r1, 0x1 - strh r0, [r4, 0x24] -_0815B89C: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_815B840 - thumb_func_start sub_815B8A4 sub_815B8A4: @ 815B8A4 push {r4,lr} diff --git a/src/teachy_tv.c b/src/teachy_tv.c index 3549ec9b0..e14e61f82 100644 --- a/src/teachy_tv.c +++ b/src/teachy_tv.c @@ -24,6 +24,8 @@ #include "constants/songs.h" #include "constants/items.h" +typedef struct Task Task; + typedef struct { void (*callback)(); u8 mode; @@ -36,6 +38,22 @@ typedef struct { extern TeachyTv_s gTeachyTV_StaticResources; extern void * gUnknown_203F450; +extern const struct ScrollIndicatorArrowPairTemplate gUnknown_8479380; +extern char gUnknown_841B83D; +extern struct BgTemplate gUnknown_84792E0; +extern struct SpritePalette gUnknown_83A5348; +extern void (**gUnknown_8479548)(u8); +extern char * gUnknown_8479560; +extern char * gUnknown_8479578; +extern void *gUnknown_203F450; // tilemap pointer location +extern u8 gUnknown_8E86240; // tilemap +extern u8 gUnknown_8E86BE8; +extern u8 gUnknown_8E86D6C; +extern u8 gUnknown_8E86F98; // pal +extern struct ListMenuTemplate gUnknown_8479368; +extern struct ListMenuItem gUnknown_8479340; +extern struct WindowTemplate gUnknown_84792F0; + void C2TeachyTv(); void C2TeachyTvMainCallback(); void VblankHandlerTeachyTv(); @@ -53,35 +71,20 @@ void TeachyTvSetupBg(); void TeachyTvLoadGraphic(); void TeachyTvPostBattleFadeControl(u8); void TeachyTvOptionListController(u8); +void TeachyTvAudioByInput(s32, bool8, struct ListMenu *); +void TeachyTvQuitFadeControlAndTaskDel(u8 taskId); +void TeachyTvRenderMsgAndSwitchClusterFuncs(u8 taskId); + extern void VblankHblankHandlerSetZero(); extern void sub_812B1E0(u16); -extern struct BgTemplate gUnknown_84792E0; -extern void *gUnknown_203F450; // tilemap pointer location -extern u8 gUnknown_8E86240; // tilemap -extern u8 gUnknown_8E86BE8; -extern u8 gUnknown_8E86D6C; -extern u8 gUnknown_8E86F98; // pal -extern struct SpritePalette gUnknown_83A5348; extern void sub_815BD80(void *); -typedef struct Task Task; -extern struct WindowTemplate gUnknown_84792F0; -void TeachyTvRenderMsgAndSwitchClusterFuncs(u8 taskId); -extern struct ListMenuTemplate gUnknown_8479368; -extern struct ListMenuItem gUnknown_8479340; extern u8 ListMenuInitInternal(struct ListMenuTemplate *, u16 scrollOffset, u16 selectedRow); -void TeachyTvAudioByInput(s32, bool8, struct ListMenu *); extern void sub_8055DC4(); extern void TeachyTvGrassAnimationMain(u8 taskId, s16 x, s16 y, u8 subpriority, bool8 mode); -extern const struct ScrollIndicatorArrowPairTemplate gUnknown_8479380; -void TeachyTvQuitFadeControlAndTaskDel(u8 taskId); -extern char gUnknown_841B83D; extern bool16 sub_80BF518(u8 textPrinterId); extern void _call_via_r1(s32 arg, void *func); -extern void (**gUnknown_8479548)(u8); extern void TeachyTvClearBg1EndGraphicalText(); extern void TeachyTvBackToOptionList(u8 taskId); -extern char * gUnknown_8479560; -extern char * gUnknown_8479578; void C2TeachyTv() { @@ -140,58 +143,58 @@ void C2TeachyTvMainCallback() state = gMain.state; // tried several ways to reproduce the control flow, but all failed. Now using goto if ( state == 0 ) - goto section_0; + goto RESETANDLOAD; else if ( state == 1 ) - goto section_1; + goto SETDMATOVRAM; else return; - section_0: - v4 = (u8 **)&gUnknown_203F450; - (*v4) = (u8*)AllocZeroed(0x4008u); - *(u32*)gUnknown_203F450 = (u32)state; - *((u8*)gUnknown_203F450 + 0x4006) = state; - *((u8*)gUnknown_203F450 + 0x4007) = 0xFF; - VblankHblankHandlerSetZero(); - clear_scheduled_bg_copies_to_vram(); - ScanlineEffect_Stop(); - FreeAllSpritePalettes(); - ResetPaletteFade(); - ResetSpriteData(); - ResetTasks(); - TeachyTvSetupBg(); - TeachyTvLoadGraphic(); - ++gMain.state; +RESETANDLOAD: + v4 = (u8 **)&gUnknown_203F450; + (*v4) = (u8*)AllocZeroed(0x4008u); + *(u32*)gUnknown_203F450 = (u32)state; + *((u8*)gUnknown_203F450 + 0x4006) = state; + *((u8*)gUnknown_203F450 + 0x4007) = 0xFF; + VblankHblankHandlerSetZero(); + clear_scheduled_bg_copies_to_vram(); + ScanlineEffect_Stop(); + FreeAllSpritePalettes(); + ResetPaletteFade(); + ResetSpriteData(); + ResetTasks(); + TeachyTvSetupBg(); + TeachyTvLoadGraphic(); + ++gMain.state; + return; +SETDMATOVRAM: + if( free_temp_tile_data_buffers_if_possible() == 1 ) return; - section_1: - if( free_temp_tile_data_buffers_if_possible() == 1 ) - return; - TeachyTvCreateAndRenderRbox(); - TeachyTvInitIo(); - if ( gTeachyTV_StaticResources.mode == 2 ) - { - taskId = CreateTask(TeachyTvPostBattleFadeControl, 0); - gTasks[taskId].data[1] = TeachyTvSetupObjEventAndOam(); - TeachyTvSetupPostBattleWindowAndObj(taskId); - } - else - { - taskId = CreateTask(TeachyTvOptionListController, 0); - x = (u32)TeachyTvSetupWindow(); - gTasks[taskId].data[0] = (x << 24) >> 24; - gTasks[taskId].data[1] = TeachyTvSetupObjEventAndOam(); - TeachyTvSetupScrollIndicatorArrowPair(); - PlayNewMapMusic(BGM_FRLG_TEACHY_TV); - TeachyTvSetWindowRegs(); - } - schedule_bg_copy_tilemap_to_vram(0); - schedule_bg_copy_tilemap_to_vram(1u); - schedule_bg_copy_tilemap_to_vram(2u); - schedule_bg_copy_tilemap_to_vram(3u); - sub_812B1E0(9); // help system something - BlendPalettes(0xFFFFFFFF, 0x10u, 0); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10u, 0, 0); - SetVBlankCallback(VblankHandlerTeachyTv); - SetMainCallback2(C2TeachyTv); + TeachyTvCreateAndRenderRbox(); + TeachyTvInitIo(); + if ( gTeachyTV_StaticResources.mode == 2 ) + { + taskId = CreateTask(TeachyTvPostBattleFadeControl, 0); + gTasks[taskId].data[1] = TeachyTvSetupObjEventAndOam(); + TeachyTvSetupPostBattleWindowAndObj(taskId); + } + else + { + taskId = CreateTask(TeachyTvOptionListController, 0); + x = (u32)TeachyTvSetupWindow(); + gTasks[taskId].data[0] = (x << 24) >> 24; + gTasks[taskId].data[1] = TeachyTvSetupObjEventAndOam(); + TeachyTvSetupScrollIndicatorArrowPair(); + PlayNewMapMusic(BGM_FRLG_TEACHY_TV); + TeachyTvSetWindowRegs(); + } + schedule_bg_copy_tilemap_to_vram(0); + schedule_bg_copy_tilemap_to_vram(1u); + schedule_bg_copy_tilemap_to_vram(2u); + schedule_bg_copy_tilemap_to_vram(3u); + sub_812B1E0(9); // help system something + BlendPalettes(0xFFFFFFFF, 0x10u, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10u, 0, 0); + SetVBlankCallback(VblankHandlerTeachyTv); + SetMainCallback2(C2TeachyTv); } void TeachyTvSetupBg() @@ -464,94 +467,94 @@ __attribute__((naked)) void TeachyTvOptionListController(u8 taskId) { asm_unified("\n\ - push {r4-r7,lr}\n\ - lsls r0, 24\n\ - lsrs r7, r0, 24\n\ - lsls r0, r7, 2\n\ - adds r0, r7\n\ - lsls r0, 3\n\ - ldr r1, _0815B31C @ =gTasks+0x8\n\ - adds r6, r0, r1\n\ - bl TeachyTvBg2AnimController\n\ - ldr r0, _0815B320 @ =gPaletteFade\n\ - ldrb r1, [r0, 0x7]\n\ - movs r0, 0x80\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - bne _0815B37A\n\ - ldrb r0, [r6]\n\ - bl ListMenuHandleInput\n\ - adds r5, r0, 0\n\ - ldrb r0, [r6]\n\ - ldr r4, _0815B324 @ =gTeachyTV_StaticResources+6\n\ - adds r2, r4, 0x2\n\ - adds r1, r4, 0\n\ - bl ListMenuGetScrollAndRow\n\ - ldr r0, _0815B328 @ =gMain\n\ - ldrh r1, [r0, 0x2E]\n\ - movs r0, 0x4\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _0815B30A\n\ - subs r0, r4, 0x6\n\ - ldr r1, [r0]\n\ - ldr r0, _0815B32C @ =UseFameCheckerFromMenu\n\ - cmp r1, r0\n\ - bne _0815B330\n\ -_0815B30A:\n\ - movs r0, 0x2\n\ - negs r0, r0\n\ - cmp r5, r0\n\ - beq _0815B330\n\ - adds r0, 0x1\n\ - cmp r5, r0\n\ - bne _0815B33E\n\ - b _0815B37A\n\ - .align 2, 0\n\ -_0815B31C: .4byte gTasks+0x8\n\ -_0815B320: .4byte gPaletteFade\n\ -_0815B324: .4byte gTeachyTV_StaticResources+6\n\ -_0815B328: .4byte gMain\n\ -_0815B32C: .4byte UseFameCheckerFromMenu\n\ -_0815B330:\n\ - movs r0, 0x5\n\ - bl PlaySE\n\ - adds r0, r7, 0\n\ - bl TeachyTvQuitBeginFade\n\ - b _0815B37A\n\ -_0815B33E:\n\ - movs r0, 0x5\n\ - bl PlaySE\n\ - ldr r2, _0815B380 @ =gTeachyTV_StaticResources\n\ - movs r4, 0\n\ - strb r5, [r2, 0x5]\n\ - ldrb r0, [r6]\n\ - adds r1, r2, 0x6\n\ - adds r2, 0x8\n\ - bl DestroyListMenu\n\ - bl TeachyTvClearWindowRegs\n\ - movs r0, 0x1\n\ - bl ClearWindowTilemap\n\ - movs r0, 0\n\ - bl schedule_bg_copy_tilemap_to_vram\n\ - bl TeachyTvRemoveScrollIndicatorArrowPair\n\ - strh r4, [r6, 0x6]\n\ - strh r4, [r6, 0x4]\n\ - ldr r1, _0815B384 @ =gTasks\n\ - lsls r0, r7, 2\n\ - adds r0, r7\n\ - lsls r0, 3\n\ - adds r0, r1\n\ - ldr r1, _0815B388 @ =TeachyTvRenderMsgAndSwitchClusterFuncs\n\ - str r1, [r0]\n\ -_0815B37A:\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .align 2, 0\n\ -_0815B380: .4byte gTeachyTV_StaticResources\n\ -_0815B384: .4byte gTasks\n\ -_0815B388: .4byte TeachyTvRenderMsgAndSwitchClusterFuncs\n\ + push {r4-r7,lr}\n\ + lsls r0, 24\n\ + lsrs r7, r0, 24\n\ + lsls r0, r7, 2\n\ + adds r0, r7\n\ + lsls r0, 3\n\ + ldr r1, _0815B31C @ =gTasks+0x8\n\ + adds r6, r0, r1\n\ + bl TeachyTvBg2AnimController\n\ + ldr r0, _0815B320 @ =gPaletteFade\n\ + ldrb r1, [r0, 0x7]\n\ + movs r0, 0x80\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + bne _0815B37A\n\ + ldrb r0, [r6]\n\ + bl ListMenuHandleInput\n\ + adds r5, r0, 0\n\ + ldrb r0, [r6]\n\ + ldr r4, _0815B324 @ =gTeachyTV_StaticResources+6\n\ + adds r2, r4, 0x2\n\ + adds r1, r4, 0\n\ + bl ListMenuGetScrollAndRow\n\ + ldr r0, _0815B328 @ =gMain\n\ + ldrh r1, [r0, 0x2E]\n\ + movs r0, 0x4\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _0815B30A\n\ + subs r0, r4, 0x6\n\ + ldr r1, [r0]\n\ + ldr r0, _0815B32C @ =UseFameCheckerFromMenu\n\ + cmp r1, r0\n\ + bne _0815B330\n\ + _0815B30A:\n\ + movs r0, 0x2\n\ + negs r0, r0\n\ + cmp r5, r0\n\ + beq _0815B330\n\ + adds r0, 0x1\n\ + cmp r5, r0\n\ + bne _0815B33E\n\ + b _0815B37A\n\ + .align 2, 0\n\ + _0815B31C: .4byte gTasks+0x8\n\ + _0815B320: .4byte gPaletteFade\n\ + _0815B324: .4byte gTeachyTV_StaticResources+6\n\ + _0815B328: .4byte gMain\n\ + _0815B32C: .4byte UseFameCheckerFromMenu\n\ + _0815B330:\n\ + movs r0, 0x5\n\ + bl PlaySE\n\ + adds r0, r7, 0\n\ + bl TeachyTvQuitBeginFade\n\ + b _0815B37A\n\ + _0815B33E:\n\ + movs r0, 0x5\n\ + bl PlaySE\n\ + ldr r2, _0815B380 @ =gTeachyTV_StaticResources\n\ + movs r4, 0\n\ + strb r5, [r2, 0x5]\n\ + ldrb r0, [r6]\n\ + adds r1, r2, 0x6\n\ + adds r2, 0x8\n\ + bl DestroyListMenu\n\ + bl TeachyTvClearWindowRegs\n\ + movs r0, 0x1\n\ + bl ClearWindowTilemap\n\ + movs r0, 0\n\ + bl schedule_bg_copy_tilemap_to_vram\n\ + bl TeachyTvRemoveScrollIndicatorArrowPair\n\ + strh r4, [r6, 0x6]\n\ + strh r4, [r6, 0x4]\n\ + ldr r1, _0815B384 @ =gTasks\n\ + lsls r0, r7, 2\n\ + adds r0, r7\n\ + lsls r0, 3\n\ + adds r0, r1\n\ + ldr r1, _0815B388 @ =TeachyTvRenderMsgAndSwitchClusterFuncs\n\ + str r1, [r0]\n\ + _0815B37A:\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n\ + .align 2, 0\n\ + _0815B380: .4byte gTeachyTV_StaticResources\n\ + _0815B384: .4byte gTasks\n\ + _0815B388: .4byte TeachyTvRenderMsgAndSwitchClusterFuncs\n\ "); } #endif @@ -693,4 +696,86 @@ void TeachyTvClusFuncStartAnimNpcWalkIntoGrass(u8 taskId) data[4] = 0; data[5] = 1; ++data[3]; +} + +void TeachyTvClusFuncDudeMoveUp(u8 taskId) +{ + s16 *data; + struct Sprite *v3; + int temp; + int v4; + + data = gTasks[taskId].data; + v3 = &gSprites[data[1]]; + ChangeBgY(3u, 0x100u, 2u); + v4 = (u16)data[2] + 1; + ((u16*)data)[2] = v4; + if ( !( v4 % 16 ) ) + { + --((u8*)gUnknown_203F450)[0x4005]; + TeachyTvGrassAnimationMain(taskId, v3->pos2.x, v3->pos2.y, 0, 0); + } + if ( data[2] == 0x30 ) + { + data[2] = 0; + data[4] = -1; + data[5] = 0; + StartSpriteAnim(v3, 7u); + ++data[3]; + } +} + +void TeachyTvClusFuncDudeMoveRight(u8 taskId) +{ + u16 *data; + struct Sprite *v3; + int v4; + + data = (u16 *)gTasks[taskId].data; + v3 = &gSprites[(s16)data[1]]; + ChangeBgX(3u, 0x100u, 1u); + v4 = data[2] + 1; + data[2] = v4; + if ( !(v4 & 0xF) ) + ++((u8*)gUnknown_203F450)[0x4004]; + if ( !((((s16*)data)[2] + 8) & 0xF) ) + TeachyTvGrassAnimationMain(taskId, v3->pos2.x + 8, v3->pos2.y, 0, 0); + if ( (s16)data[2] == 0x30 ) + { + data[2] = 0; + data[4] = 0; + data[5] = 0; + StartSpriteAnim(v3, 3u); + ++data[3]; + } +} + +void TeachyTvClusFuncDudeTurnLeft(u8 taskId) +{ + s16 *data; + struct Sprite *v3; + + data = gTasks[taskId].data; + v3 = &gSprites[data[1]]; + StartSpriteAnim(v3, 6u); + ++(u16)data[3]; + data[4] = 0; + data[5] = 0; + TeachyTvGrassAnimationMain(taskId, v3->pos2.x, v3->pos2.y, 0, 0); +} + +void TeachyTvClusFuncDudeMoveLeft(u8 taskId) +{ + s16 *data; + struct Sprite *v2; + + data = gTasks[taskId].data; + v2 = &gSprites[data[1]]; + + if ( !(v2->pos2.x & 0xF) ) + TeachyTvGrassAnimationMain(taskId, v2->pos2.x - 8, v2->pos2.y, 0, 0); + if ( v2->pos2.x == 8 ) + ++(u16)data[3]; + else + --v2->pos2.x; } \ No newline at end of file -- cgit v1.2.3 From 1ffb8f667ca0408a84e79203146bc20b2b6e0412 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Wed, 5 Jun 2019 11:26:58 +0800 Subject: sub_815B908 --- asm/teachy_tv.s | 72 --------------------------------------------------------- src/teachy_tv.c | 30 +++++++++++++++++++++++- 2 files changed, 29 insertions(+), 73 deletions(-) diff --git a/asm/teachy_tv.s b/asm/teachy_tv.s index 215a87e67..6efed0c4d 100644 --- a/asm/teachy_tv.s +++ b/asm/teachy_tv.s @@ -5,78 +5,6 @@ .text - thumb_func_start sub_815B8A4 -sub_815B8A4: @ 815B8A4 - push {r4,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _0815B900 @ =gTasks+0x8 - adds r4, r1, r0 - movs r1, 0x4 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0815B8DC - ldr r1, _0815B904 @ =gUnknown_8479590 - movs r0, 0x8 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0x1 - movs r2, 0x14 - movs r3, 0xA - bl CopyToBgTilemapBufferRect_ChangePalette - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram -_0815B8DC: - ldrh r0, [r4, 0x4] - adds r0, 0x1 - strh r0, [r4, 0x4] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7E - ble _0815B8F8 - bl TeachyTvClearBg1EndGraphicalText - movs r0, 0 - strh r0, [r4, 0x4] - ldrh r0, [r4, 0x6] - adds r0, 0x1 - strh r0, [r4, 0x6] -_0815B8F8: - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0815B900: .4byte gTasks+0x8 -_0815B904: .4byte gUnknown_8479590 - thumb_func_end sub_815B8A4 - - thumb_func_start TeachyTvClearBg1EndGraphicalText -TeachyTvClearBg1EndGraphicalText: @ 815B908 - push {lr} - sub sp, 0x8 - movs r0, 0x8 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - movs r1, 0 - movs r2, 0x14 - movs r3, 0xA - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - add sp, 0x8 - pop {r0} - bx r0 - thumb_func_end TeachyTvClearBg1EndGraphicalText - thumb_func_start TeachyTvBackToOptionList TeachyTvBackToOptionList: @ 815B92C push {r4-r7,lr} diff --git a/src/teachy_tv.c b/src/teachy_tv.c index e14e61f82..0513360cb 100644 --- a/src/teachy_tv.c +++ b/src/teachy_tv.c @@ -53,6 +53,7 @@ extern u8 gUnknown_8E86F98; // pal extern struct ListMenuTemplate gUnknown_8479368; extern struct ListMenuItem gUnknown_8479340; extern struct WindowTemplate gUnknown_84792F0; +extern u8 gUnknown_8479590; void C2TeachyTv(); void C2TeachyTvMainCallback(); @@ -74,6 +75,7 @@ void TeachyTvOptionListController(u8); void TeachyTvAudioByInput(s32, bool8, struct ListMenu *); void TeachyTvQuitFadeControlAndTaskDel(u8 taskId); void TeachyTvRenderMsgAndSwitchClusterFuncs(u8 taskId); +void TeachyTvClearBg1EndGraphicalText(); extern void VblankHblankHandlerSetZero(); extern void sub_812B1E0(u16); @@ -83,7 +85,6 @@ extern void sub_8055DC4(); extern void TeachyTvGrassAnimationMain(u8 taskId, s16 x, s16 y, u8 subpriority, bool8 mode); extern bool16 sub_80BF518(u8 textPrinterId); extern void _call_via_r1(s32 arg, void *func); -extern void TeachyTvClearBg1EndGraphicalText(); extern void TeachyTvBackToOptionList(u8 taskId); void C2TeachyTv() @@ -778,4 +779,31 @@ void TeachyTvClusFuncDudeMoveLeft(u8 taskId) ++(u16)data[3]; else --v2->pos2.x; +} + +void TeachyTvClusFuncRenderAndRemoveBg1EndGraphic(u8 taskId) +{ + s16 *data; + int temp; + + data = gTasks[taskId].data; + if ( !data[2] ) + { + CopyToBgTilemapBufferRect_ChangePalette(1u, &gUnknown_8479590, 0x14u, 0xAu, 8u, 2u, 0x11u); + schedule_bg_copy_tilemap_to_vram(1u); + } + temp = (u16)data[2] + 1; + data[2] = temp; + if ( (s16)temp > 126 ) + { + TeachyTvClearBg1EndGraphicalText(); + (u16)data[2] = 0; + ++(u16)data[3]; + } +} + +void TeachyTvClearBg1EndGraphicalText() +{ + FillBgTilemapBufferRect_Palette0(1u, 0, 0x14u, 0xAu, 8u, 2u); + schedule_bg_copy_tilemap_to_vram(1u); } \ No newline at end of file -- cgit v1.2.3 From 66b8dafbfce85a5976f97db464c5001a4347a8fb Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Wed, 5 Jun 2019 13:25:28 +0800 Subject: small functions --- asm/teachy_tv.s | 187 +------------------------------------------------------- src/teachy_tv.c | 94 +++++++++++++++++++++++++--- 2 files changed, 87 insertions(+), 194 deletions(-) diff --git a/asm/teachy_tv.s b/asm/teachy_tv.s index 6efed0c4d..52d3683c2 100644 --- a/asm/teachy_tv.s +++ b/asm/teachy_tv.s @@ -5,187 +5,6 @@ .text - thumb_func_start TeachyTvBackToOptionList -TeachyTvBackToOptionList: @ 815B92C - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r6, r1, 3 - ldr r7, _0815B9DC @ =gTasks+0x8 - adds r5, r6, r7 - movs r1, 0x4 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _0815B94C - movs r0, 0xAD - lsls r0, 1 - bl PlayNewMapMusic -_0815B94C: - bl TeachyTvBg2AnimController - ldrh r0, [r5, 0x4] - adds r0, 0x1 - strh r0, [r5, 0x4] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3F - ble _0815B9D4 - movs r4, 0 - strh r4, [r5, 0x4] - strh r4, [r5, 0x6] - bl TeachyTvSetupWindow - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5] - adds r0, r7, 0 - subs r0, 0x8 - adds r0, r6, r0 - ldr r1, _0815B9E0 @ =TeachyTvOptionListController - str r1, [r0] - movs r0, 0 - bl PutWindowTilemap - bl TeachyTvSetupScrollIndicatorArrowPair - bl TeachyTvSetWindowRegs - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r1, 0x80 - lsls r1, 5 - movs r0, 0x3 - movs r2, 0x2 - bl ChangeBgX - movs r1, 0xA0 - lsls r1, 6 - movs r0, 0x3 - movs r2, 0x1 - bl ChangeBgY - ldr r2, _0815B9E4 @ =gUnknown_203F450 - ldr r0, [r2] - ldr r1, _0815B9E8 @ =0x00004004 - adds r0, r1 - strb r4, [r0] - ldr r0, [r2] - adds r1, 0x1 - adds r0, r1 - movs r1, 0x3 - strb r1, [r0] - ldr r0, [r2] - ldr r1, _0815B9EC @ =0x00004006 - adds r0, r1 - strb r4, [r0] -_0815B9D4: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0815B9DC: .4byte gTasks+0x8 -_0815B9E0: .4byte TeachyTvOptionListController -_0815B9E4: .4byte gUnknown_203F450 -_0815B9E8: .4byte 0x00004004 -_0815B9EC: .4byte 0x00004006 - thumb_func_end TeachyTvBackToOptionList - - thumb_func_start sub_815B9F0 -sub_815B9F0: @ 815B9F0 - push {lr} - lsls r0, 24 - lsrs r1, r0, 24 - adds r2, r1, 0 - ldr r0, _0815BA0C @ =gTeachyTV_StaticResources - ldrb r0, [r0, 0x5] - cmp r0, 0 - blt _0815BA22 - cmp r0, 0x3 - bgt _0815BA10 - adds r0, r1, 0 - bl sub_815BC90 - b _0815BA22 - .align 2, 0 -_0815BA0C: .4byte gTeachyTV_StaticResources -_0815BA10: - cmp r0, 0x5 - bgt _0815BA22 - ldr r0, _0815BA28 @ =gUnknown_203F450 - ldr r1, [r0] - ldr r0, _0815BA2C @ =sub_815BA30 - str r0, [r1] - adds r0, r2, 0 - bl TeachyTvQuitBeginFade -_0815BA22: - pop {r0} - bx r0 - .align 2, 0 -_0815BA28: .4byte gUnknown_203F450 -_0815BA2C: .4byte sub_815BA30 - thumb_func_end sub_815B9F0 - - thumb_func_start sub_815BA30 -sub_815BA30: @ 815BA30 - push {lr} - ldr r0, _0815BA44 @ =gTeachyTV_StaticResources - ldrb r0, [r0, 0x5] - cmp r0, 0x4 - bne _0815BA48 - movs r0, 0xA - bl sub_810B108 - b _0815BA4E - .align 2, 0 -_0815BA44: .4byte gTeachyTV_StaticResources -_0815BA48: - movs r0, 0x9 - bl sub_810B108 -_0815BA4E: - pop {r0} - bx r0 - thumb_func_end sub_815BA30 - - thumb_func_start TeachyTvPostBattleFadeControl -TeachyTvPostBattleFadeControl: @ 815BA54 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r2, r1, 3 - ldr r4, _0815BA8C @ =gTasks+0x8 - adds r3, r2, r4 - ldr r0, _0815BA90 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0815BA86 - ldr r1, _0815BA94 @ =gUnknown_8479390 - ldr r0, _0815BA98 @ =gTeachyTV_StaticResources - ldrb r0, [r0, 0x5] - adds r0, r1 - ldrb r0, [r0] - strh r0, [r3, 0x6] - adds r0, r4, 0 - subs r0, 0x8 - adds r0, r2, r0 - ldr r1, _0815BA9C @ =TeachyTvRenderMsgAndSwitchClusterFuncs - str r1, [r0] -_0815BA86: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0815BA8C: .4byte gTasks+0x8 -_0815BA90: .4byte gPaletteFade -_0815BA94: .4byte gUnknown_8479390 -_0815BA98: .4byte gTeachyTV_StaticResources -_0815BA9C: .4byte TeachyTvRenderMsgAndSwitchClusterFuncs - thumb_func_end TeachyTvPostBattleFadeControl - thumb_func_start TeachyTvGrassAnimationMain TeachyTvGrassAnimationMain: @ 815BAA0 push {r4-r7,lr} @@ -436,8 +255,8 @@ _0815BC88: .4byte 0x00004005 _0815BC8C: .4byte 0x00004004 thumb_func_end sub_815BC40 - thumb_func_start sub_815BC90 -sub_815BC90: @ 815BC90 + thumb_func_start TeachyTvPrepBattle +TeachyTvPrepBattle: @ 815BC90 push {r4-r6,lr} lsls r0, 24 lsrs r6, r0, 24 @@ -488,7 +307,7 @@ _0815BCE2: .align 2, 0 _0815BCFC: .4byte gTasks _0815BD00: .4byte sub_815BD04 - thumb_func_end sub_815BC90 + thumb_func_end TeachyTvPrepBattle thumb_func_start sub_815BD04 sub_815BD04: @ 815BD04 diff --git a/src/teachy_tv.c b/src/teachy_tv.c index 0513360cb..d274e18ec 100644 --- a/src/teachy_tv.c +++ b/src/teachy_tv.c @@ -45,15 +45,16 @@ extern struct SpritePalette gUnknown_83A5348; extern void (**gUnknown_8479548)(u8); extern char * gUnknown_8479560; extern char * gUnknown_8479578; -extern void *gUnknown_203F450; // tilemap pointer location -extern u8 gUnknown_8E86240; // tilemap +extern void *gUnknown_203F450; +extern u8 gUnknown_8E86240; extern u8 gUnknown_8E86BE8; extern u8 gUnknown_8E86D6C; -extern u8 gUnknown_8E86F98; // pal +extern u8 gUnknown_8E86F98; extern struct ListMenuTemplate gUnknown_8479368; extern struct ListMenuItem gUnknown_8479340; extern struct WindowTemplate gUnknown_84792F0; extern u8 gUnknown_8479590; +extern u8 gUnknown_8479390; void C2TeachyTv(); void C2TeachyTvMainCallback(); @@ -75,17 +76,21 @@ void TeachyTvOptionListController(u8); void TeachyTvAudioByInput(s32, bool8, struct ListMenu *); void TeachyTvQuitFadeControlAndTaskDel(u8 taskId); void TeachyTvRenderMsgAndSwitchClusterFuncs(u8 taskId); -void TeachyTvClearBg1EndGraphicalText(); +void TeachyTvClearBg1EndGraphicText(); +void TeachyTvBackToOptionList(u8 taskId); +void TeachyTvSetupBagItemsByOptionChosen(); +void TeachyTvPrepBattle(u8 taskId); +void TeachyTvGrassAnimationMain(u8 taskId, s16 x, s16 y, u8 subpriority, bool8 mode); extern void VblankHblankHandlerSetZero(); extern void sub_812B1E0(u16); extern void sub_815BD80(void *); extern u8 ListMenuInitInternal(struct ListMenuTemplate *, u16 scrollOffset, u16 selectedRow); extern void sub_8055DC4(); -extern void TeachyTvGrassAnimationMain(u8 taskId, s16 x, s16 y, u8 subpriority, bool8 mode); extern bool16 sub_80BF518(u8 textPrinterId); extern void _call_via_r1(s32 arg, void *func); -extern void TeachyTvBackToOptionList(u8 taskId); +extern void sub_810B108(u8); + void C2TeachyTv() { @@ -638,7 +643,7 @@ void TeachyTvRenderMsgAndSwitchClusterFuncs(u8 taskId) TeachyTvSetSpriteCoordsAndSwitchFrame(*((char *)data + 2), 0, 0, 0); FillWindowPixelBuffer(0, 0xCCu); CopyWindowToVram(0, 2u); - TeachyTvClearBg1EndGraphicalText(); + TeachyTvClearBg1EndGraphicText(); data[2] = v4; data[3] = v4; gTasks[taskId].func = TeachyTvBackToOptionList; @@ -796,14 +801,83 @@ void TeachyTvClusFuncRenderAndRemoveBg1EndGraphic(u8 taskId) data[2] = temp; if ( (s16)temp > 126 ) { - TeachyTvClearBg1EndGraphicalText(); + TeachyTvClearBg1EndGraphicText(); (u16)data[2] = 0; ++(u16)data[3]; } } -void TeachyTvClearBg1EndGraphicalText() +void TeachyTvClearBg1EndGraphicText() { FillBgTilemapBufferRect_Palette0(1u, 0, 0x14u, 0xAu, 8u, 2u); schedule_bg_copy_tilemap_to_vram(1u); -} \ No newline at end of file +} + +void TeachyTvBackToOptionList(u8 taskId) +{ + s16 *data; + s32 temp; + + data = gTasks[taskId].data; + if ( !data[2] ) + PlayNewMapMusic(BGM_FRLG_TEACHY_TV); + TeachyTvBg2AnimController(); + temp = (u16)data[2] + 1; + data[2] = temp; + if ( (s16)temp > 0x3F ) + { + data[2] = 0; + data[3] = 0; + *data = TeachyTvSetupWindow(); + gTasks[taskId].func = TeachyTvOptionListController; + PutWindowTilemap(0); + TeachyTvSetupScrollIndicatorArrowPair(); + TeachyTvSetWindowRegs(); + schedule_bg_copy_tilemap_to_vram(0); + ChangeBgX(3u, 0, 0); + ChangeBgY(3u, 0, 0); + ChangeBgX(3u, 0x1000u, 2u); + ChangeBgY(3u, 0x2800u, 1u); + ((u8*)gUnknown_203F450)[0x4004] = 0; + ((u8*)gUnknown_203F450)[0x4005] = 3; + ((u8*)gUnknown_203F450)[0x4006] = 0; + } +} + +void TeachyTvChainTaskBattleOrFadeByOptionChosen(u8 taskId) +{ + int op = gTeachyTV_StaticResources.optionChosen; + if( op < 0 ) + return; + if ( op <= 3 ) + { + TeachyTvPrepBattle(taskId); + + } + else if ( op <= 5 ) + { + *((void(**)())gUnknown_203F450) = TeachyTvSetupBagItemsByOptionChosen; + TeachyTvQuitBeginFade(taskId); + } +} + +void TeachyTvSetupBagItemsByOptionChosen() +{ + if ( gTeachyTV_StaticResources.optionChosen == 4 ) + sub_810B108(0xAu); + else + sub_810B108(9u); +} + +void TeachyTvPostBattleFadeControl(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + if ( !(gPaletteFade.active) ) + { + u8* funcIdx = &gUnknown_8479390; + int arg = funcIdx[gTeachyTV_StaticResources.optionChosen]; + data[3] = arg; + gTasks[taskId].func = TeachyTvRenderMsgAndSwitchClusterFuncs; + } +} + -- cgit v1.2.3 From 39e7cab3680376153b094c390e96f62ba9ec0539 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Wed, 5 Jun 2019 14:51:58 +0800 Subject: grass anim main function down --- asm/teachy_tv.s | 116 +++++--------------------------------------------------- src/teachy_tv.c | 45 +++++++++++++++++++++- 2 files changed, 52 insertions(+), 109 deletions(-) diff --git a/asm/teachy_tv.s b/asm/teachy_tv.s index 52d3683c2..4150dfd0f 100644 --- a/asm/teachy_tv.s +++ b/asm/teachy_tv.s @@ -5,106 +5,8 @@ .text - thumb_func_start TeachyTvGrassAnimationMain -TeachyTvGrassAnimationMain: @ 815BAA0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r4, [sp, 0x1C] - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - lsls r1, 16 - lsrs r6, r1, 16 - lsls r2, 16 - lsrs r1, r2, 16 - lsls r3, 24 - lsrs r7, r3, 24 - lsls r4, 24 - lsrs r4, 24 - mov r8, r4 - ldr r0, _0815BB34 @ =gUnknown_203F450 - ldr r0, [r0] - ldr r2, _0815BB38 @ =0x00004006 - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0x1 - beq _0815BB5C - lsls r0, r6, 16 - ldr r2, _0815BB3C @ =0xfff00000 - adds r0, r2 - asrs r0, 16 - lsls r1, 16 - asrs r5, r1, 16 - adds r1, r5, 0 - bl sub_815BC40 - lsls r0, 24 - cmp r0, 0 - beq _0815BB5C - ldr r0, _0815BB40 @ =gUnknown_83A0010 - ldr r0, [r0, 0x10] - movs r1, 0 - movs r2, 0 - adds r3, r7, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _0815BB44 @ =gSprites - adds r4, r1, r0 - strh r6, [r4, 0x24] - adds r0, r5, 0 - adds r0, 0x8 - strh r0, [r4, 0x26] - ldr r0, _0815BB48 @ =sub_815BB6C - str r0, [r4, 0x1C] - mov r0, r9 - strh r0, [r4, 0x2E] - mov r2, r8 - cmp r2, 0x1 - bne _0815BB4C - adds r0, r4, 0 - movs r1, 0x4 - bl SeekSpriteAnim - ldrb r0, [r4, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r0 - movs r0, 0x8 - orrs r1, r0 - strb r1, [r4, 0x5] - b _0815BB5C - .align 2, 0 -_0815BB34: .4byte gUnknown_203F450 -_0815BB38: .4byte 0x00004006 -_0815BB3C: .4byte 0xfff00000 -_0815BB40: .4byte gUnknown_83A0010 -_0815BB44: .4byte gSprites -_0815BB48: .4byte sub_815BB6C -_0815BB4C: - ldr r1, _0815BB68 @ =gUnknown_84795B8 - adds r0, r4, 0 - bl SetSubspriteTables - adds r1, r4, 0 - adds r1, 0x42 - movs r0, 0x40 - strb r0, [r1] -_0815BB5C: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0815BB68: .4byte gUnknown_84795B8 - thumb_func_end TeachyTvGrassAnimationMain - - thumb_func_start sub_815BB6C -sub_815BB6C: @ 815BB6C + thumb_func_start TeachyTvGrassAnimationObjCallback +TeachyTvGrassAnimationObjCallback: @ 815BB6C push {r4,r5,lr} adds r3, r0, 0 movs r0, 0x2E @@ -210,10 +112,10 @@ _0815BC3A: pop {r4,r5} pop {r0} bx r0 - thumb_func_end sub_815BB6C + thumb_func_end TeachyTvGrassAnimationObjCallback - thumb_func_start sub_815BC40 -sub_815BC40: @ 815BC40 + thumb_func_start TeachyTvGrassAnimationCheckIfNeedsToGenerateGrassObj +TeachyTvGrassAnimationCheckIfNeedsToGenerateGrassObj: @ 815BC40 push {r4,r5,lr} lsls r1, 16 lsrs r1, 16 @@ -253,7 +155,7 @@ _0815BC80: .4byte gUnknown_84795C8 _0815BC84: .4byte gUnknown_203F450 _0815BC88: .4byte 0x00004005 _0815BC8C: .4byte 0x00004004 - thumb_func_end sub_815BC40 + thumb_func_end TeachyTvGrassAnimationCheckIfNeedsToGenerateGrassObj thumb_func_start TeachyTvPrepBattle TeachyTvPrepBattle: @ 815BC90 @@ -374,8 +276,8 @@ _0815BD78: bx r0 thumb_func_end sub_815BD58 - thumb_func_start sub_815BD80 -sub_815BD80: @ 815BD80 + thumb_func_start TeachyTvLoadBg3Map +TeachyTvLoadBg3Map: @ 815BD80 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -594,7 +496,7 @@ _0815BF00: bx r0 .align 2, 0 _0815BF44: .4byte 0xfffffd80 - thumb_func_end sub_815BD80 + thumb_func_end TeachyTvLoadBg3Map thumb_func_start sub_815BF48 sub_815BF48: @ 815BF48 diff --git a/src/teachy_tv.c b/src/teachy_tv.c index d274e18ec..56c9e25cf 100644 --- a/src/teachy_tv.c +++ b/src/teachy_tv.c @@ -55,6 +55,8 @@ extern struct ListMenuItem gUnknown_8479340; extern struct WindowTemplate gUnknown_84792F0; extern u8 gUnknown_8479590; extern u8 gUnknown_8479390; +extern struct SubspriteTable gUnknown_84795B8; +extern struct SpriteTemplate *gUnknown_83A0010; void C2TeachyTv(); void C2TeachyTvMainCallback(); @@ -81,10 +83,12 @@ void TeachyTvBackToOptionList(u8 taskId); void TeachyTvSetupBagItemsByOptionChosen(); void TeachyTvPrepBattle(u8 taskId); void TeachyTvGrassAnimationMain(u8 taskId, s16 x, s16 y, u8 subpriority, bool8 mode); +void TeachyTvLoadBg3Map(void *); +u8 TeachyTvGrassAnimationCheckIfNeedsToGenerateGrassObj(s16 x, s16 y); +void TeachyTvGrassAnimationObjCallback(struct Sprite *sprite); extern void VblankHblankHandlerSetZero(); extern void sub_812B1E0(u16); -extern void sub_815BD80(void *); extern u8 ListMenuInitInternal(struct ListMenuTemplate *, u16 scrollOffset, u16 selectedRow); extern void sub_8055DC4(); extern bool16 sub_80BF518(u8 textPrinterId); @@ -234,7 +238,7 @@ void TeachyTvLoadGraphic() LoadCompressedPalette(&gUnknown_8E86F98, 0, 0x80u); LoadPalette(&src, 0, 2u); LoadSpritePalette((struct SpritePalette *)&gUnknown_83A5348); - sub_815BD80((u8 *)gUnknown_203F450 + 0x2004); + TeachyTvLoadBg3Map((u8 *)gUnknown_203F450 + 0x2004); } void TeachyTvCreateAndRenderRbox() @@ -881,3 +885,40 @@ void TeachyTvPostBattleFadeControl(u8 taskId) } } +void TeachyTvGrassAnimationMain(u8 taskId, s16 x, s16 y, u8 subpriority, bool8 mode) +{ + u8 subprio; + int res; + struct Sprite *obj; + int objId; + struct SpriteTemplate **objTemAddr; + + subprio = subpriority; + if ( ((u8*)gUnknown_203F450)[0x4006] != 1 ) + { + res = TeachyTvGrassAnimationCheckIfNeedsToGenerateGrassObj( + (u32)((x << 16) - 0x100000) >> 16, + y); + if ( res << 24 ) + { + objTemAddr = &gUnknown_83A0010; + objId = CreateSprite(*(objTemAddr+4), 0, 0, subprio); + obj = gSprites + objId; + obj->pos2.x = x; + obj->pos2.y = y + 8; + obj->callback = TeachyTvGrassAnimationObjCallback; + obj->data[0] = taskId; + if ( mode == 1 ) + { + SeekSpriteAnim(obj, 4u); + obj->oam.priority = 2; + } + else + { + SetSubspriteTables(obj, &gUnknown_84795B8); + obj->subspriteTableNum = 0; + obj->subspriteMode = 1; + } + } + } +} \ No newline at end of file -- cgit v1.2.3 From a827ac6c8f37fd7a8a5f8850ab54f386dcafcc88 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Thu, 6 Jun 2019 01:40:11 +0800 Subject: map functions are coming --- asm/teachy_tv.s | 271 -------------------------------------------------------- src/teachy_tv.c | 134 ++++++++++++++++++++++++---- 2 files changed, 119 insertions(+), 286 deletions(-) diff --git a/asm/teachy_tv.s b/asm/teachy_tv.s index 4150dfd0f..06d27a3da 100644 --- a/asm/teachy_tv.s +++ b/asm/teachy_tv.s @@ -5,277 +5,6 @@ .text - thumb_func_start TeachyTvGrassAnimationObjCallback -TeachyTvGrassAnimationObjCallback: @ 815BB6C - push {r4,r5,lr} - adds r3, r0, 0 - movs r0, 0x2E - ldrsh r1, [r3, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, _0815BBA4 @ =gTasks+0x8 - adds r4, r0, r1 - movs r2, 0x2 - ldrsh r1, [r4, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0815BBA8 @ =gSprites - adds r5, r0, r1 - ldr r0, _0815BBAC @ =gUnknown_203F450 - ldr r0, [r0] - ldr r1, _0815BBB0 @ =0x00004006 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bne _0815BBB4 - adds r0, r3, 0 - bl DestroySprite - b _0815BC3A - .align 2, 0 -_0815BBA4: .4byte gTasks+0x8 -_0815BBA8: .4byte gSprites -_0815BBAC: .4byte gUnknown_203F450 -_0815BBB0: .4byte 0x00004006 -_0815BBB4: - adds r0, r3, 0 - adds r0, 0x2B - ldrb r0, [r0] - cmp r0, 0 - bne _0815BBD2 - adds r2, r3, 0 - adds r2, 0x42 - ldrb r0, [r2] - movs r1, 0x40 - negs r1, r1 - ands r1, r0 - movs r0, 0x1 - orrs r1, r0 - strb r1, [r2] - b _0815BBE0 -_0815BBD2: - adds r2, r3, 0 - adds r2, 0x42 - ldrb r1, [r2] - movs r0, 0x40 - negs r0, r0 - ands r0, r1 - strb r0, [r2] -_0815BBE0: - ldrh r0, [r4, 0x8] - ldrh r2, [r3, 0x24] - adds r0, r2 - strh r0, [r3, 0x24] - ldrh r0, [r4, 0xA] - ldrh r1, [r3, 0x26] - adds r0, r1 - strh r0, [r3, 0x26] - adds r0, r3, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0815BC3A - adds r1, r3, 0 - adds r1, 0x43 - movs r0, 0 - strb r0, [r1] - ldrh r1, [r3, 0x24] - ldrh r0, [r5, 0x24] - subs r1, r0 - ldrh r0, [r3, 0x26] - ldrh r2, [r5, 0x26] - subs r0, r2 - lsls r0, 16 - lsrs r0, 16 - lsls r1, 16 - movs r2, 0xF0 - lsls r2, 12 - adds r1, r2 - lsrs r1, 16 - cmp r1, 0x1E - bhi _0815BC34 - lsls r0, 16 - asrs r1, r0, 16 - movs r0, 0x10 - negs r0, r0 - cmp r1, r0 - ble _0815BC34 - cmp r1, 0x17 - ble _0815BC3A -_0815BC34: - adds r0, r3, 0 - bl DestroySprite -_0815BC3A: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end TeachyTvGrassAnimationObjCallback - - thumb_func_start TeachyTvGrassAnimationCheckIfNeedsToGenerateGrassObj -TeachyTvGrassAnimationCheckIfNeedsToGenerateGrassObj: @ 815BC40 - push {r4,r5,lr} - lsls r1, 16 - lsrs r1, 16 - lsls r4, r0, 16 - cmp r4, 0 - blt _0815BC52 - lsls r1, 16 - cmp r1, 0 - bge _0815BC56 -_0815BC52: - movs r0, 0 - b _0815BC78 -_0815BC56: - ldr r3, _0815BC80 @ =gUnknown_84795C8 - ldr r0, _0815BC84 @ =gUnknown_203F450 - ldr r2, [r0] - ldr r5, _0815BC88 @ =0x00004005 - adds r0, r2, r5 - asrs r1, 20 - ldrb r0, [r0] - adds r1, r0 - lsls r1, 4 - ldr r0, _0815BC8C @ =0x00004004 - adds r2, r0 - asrs r0, r4, 20 - ldrb r2, [r2] - adds r0, r2 - adds r1, r0 - adds r1, r3 - ldrb r0, [r1] -_0815BC78: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0815BC80: .4byte gUnknown_84795C8 -_0815BC84: .4byte gUnknown_203F450 -_0815BC88: .4byte 0x00004005 -_0815BC8C: .4byte 0x00004004 - thumb_func_end TeachyTvGrassAnimationCheckIfNeedsToGenerateGrassObj - - thumb_func_start TeachyTvPrepBattle -TeachyTvPrepBattle: @ 815BC90 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, _0815BCCC @ =gTasks+0x8 - adds r5, r0, r1 - bl TeachyTvFree - ldr r1, _0815BCD0 @ =gSpecialVar_0x8004 - ldr r4, _0815BCD4 @ =gTeachyTV_StaticResources - ldrb r0, [r4, 0x5] - strh r0, [r1] - ldr r1, _0815BCD8 @ =gMain - ldr r0, _0815BCDC @ =sub_815BD58 - str r0, [r1, 0x8] - bl SavePlayerParty - bl sub_8159F40 - movs r0, 0 - bl PlayMapChosenOrBattleBGM - ldrb r0, [r4, 0x5] - cmp r0, 0 - bne _0815BCE0 - movs r0, 0x9 - b _0815BCE2 - .align 2, 0 -_0815BCCC: .4byte gTasks+0x8 -_0815BCD0: .4byte gSpecialVar_0x8004 -_0815BCD4: .4byte gTeachyTV_StaticResources -_0815BCD8: .4byte gMain -_0815BCDC: .4byte sub_815BD58 -_0815BCE0: - movs r0, 0x8 -_0815BCE2: - strh r0, [r5, 0xC] - movs r0, 0 - strh r0, [r5, 0xE] - ldr r1, _0815BCFC @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, _0815BD00 @ =sub_815BD04 - str r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0815BCFC: .4byte gTasks -_0815BD00: .4byte sub_815BD04 - thumb_func_end TeachyTvPrepBattle - - thumb_func_start sub_815BD04 -sub_815BD04: @ 815BD04 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0815BD24 @ =gTasks+0x8 - adds r4, r0, r1 - movs r1, 0xE - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0815BD28 - cmp r0, 0x1 - beq _0815BD36 - b _0815BD4C - .align 2, 0 -_0815BD24: .4byte gTasks+0x8 -_0815BD28: - ldrb r0, [r4, 0xC] - bl sub_80D08B8 - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - b _0815BD4C -_0815BD36: - bl sub_80D08F8 - lsls r0, 24 - cmp r0, 0 - beq _0815BD4C - ldr r0, _0815BD54 @ =sub_800FD9C - bl SetMainCallback2 - adds r0, r5, 0 - bl DestroyTask -_0815BD4C: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0815BD54: .4byte sub_800FD9C - thumb_func_end sub_815BD04 - - thumb_func_start sub_815BD58 -sub_815BD58: @ 815BD58 - push {lr} - bl LoadPlayerParty - ldr r0, _0815BD6C @ =gUnknown_2023E8A - ldrb r0, [r0] - cmp r0, 0x3 - bne _0815BD70 - bl sub_815AC20 - b _0815BD78 - .align 2, 0 -_0815BD6C: .4byte gUnknown_2023E8A -_0815BD70: - movs r0, 0x88 - lsls r0, 1 - bl PlayNewMapMusic -_0815BD78: - bl sub_815ABFC - pop {r0} - bx r0 - thumb_func_end sub_815BD58 - thumb_func_start TeachyTvLoadBg3Map TeachyTvLoadBg3Map: @ 815BD80 push {r4-r7,lr} diff --git a/src/teachy_tv.c b/src/teachy_tv.c index 56c9e25cf..00df2807e 100644 --- a/src/teachy_tv.c +++ b/src/teachy_tv.c @@ -23,17 +23,20 @@ #include "text.h" #include "constants/songs.h" #include "constants/items.h" +#include "event_data.h" +#include "load_save.h" +#include "battle_transition.h" +#include "battle_2.h" +#include "battle.h" typedef struct Task Task; - typedef struct { void (*callback)(); u8 mode; u8 optionChosen; u16 scrollOffset; u16 selectedRow; - u8 param4; - u8 filler; + u16 filler; } TeachyTv_s; extern TeachyTv_s gTeachyTV_StaticResources; @@ -57,10 +60,11 @@ extern u8 gUnknown_8479590; extern u8 gUnknown_8479390; extern struct SubspriteTable gUnknown_84795B8; extern struct SpriteTemplate *gUnknown_83A0010; +extern u8 gUnknown_84795C8; -void C2TeachyTv(); -void C2TeachyTvMainCallback(); -void VblankHandlerTeachyTv(); +void TeachyTvCallback(); +void TeachyTvMainCallback(); +void TeachyTvVblankHandler(); void sub_815ABC4(u8 mode, void (*cb)()); void sub_815ABFC(); void sub_815AC20(); @@ -86,6 +90,8 @@ void TeachyTvGrassAnimationMain(u8 taskId, s16 x, s16 y, u8 subpriority, bool8 m void TeachyTvLoadBg3Map(void *); u8 TeachyTvGrassAnimationCheckIfNeedsToGenerateGrassObj(s16 x, s16 y); void TeachyTvGrassAnimationObjCallback(struct Sprite *sprite); +void TeachyTvRestorePlayerPartyCallback(); +void TeachyTvPreBattleAnimAndSetBattleCallback(u8 taskId); extern void VblankHblankHandlerSetZero(); extern void sub_812B1E0(u16); @@ -94,9 +100,9 @@ extern void sub_8055DC4(); extern bool16 sub_80BF518(u8 textPrinterId); extern void _call_via_r1(s32 arg, void *func); extern void sub_810B108(u8); +extern void sub_8159F40(); - -void C2TeachyTv() +void TeachyTvCallback() { RunTasks(); AnimateSprites(); @@ -105,7 +111,7 @@ void C2TeachyTv() UpdatePaletteFade(); } -void VblankHandlerTeachyTv() +void TeachyTvVblankHandler() { LoadOam(); ProcessSpriteCopyRequests(); @@ -126,7 +132,7 @@ void sub_815ABC4(u8 mode, void (*cb)()) } if(mode == 1) v3->mode = 0; - SetMainCallback2(C2TeachyTvMainCallback); + SetMainCallback2(TeachyTvMainCallback); } void sub_815ABFC() @@ -142,7 +148,7 @@ void sub_815AC20() gTeachyTV_StaticResources.mode = 1; } -void C2TeachyTvMainCallback() +void TeachyTvMainCallback() { int state; int taskId; @@ -151,7 +157,6 @@ void C2TeachyTvMainCallback() u32 x; state = gMain.state; - // tried several ways to reproduce the control flow, but all failed. Now using goto if ( state == 0 ) goto RESETANDLOAD; else if ( state == 1 ) @@ -203,8 +208,8 @@ SETDMATOVRAM: sub_812B1E0(9); // help system something BlendPalettes(0xFFFFFFFF, 0x10u, 0); BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10u, 0, 0); - SetVBlankCallback(VblankHandlerTeachyTv); - SetMainCallback2(C2TeachyTv); + SetVBlankCallback(TeachyTvVblankHandler); + SetMainCallback2(TeachyTvCallback); } void TeachyTvSetupBg() @@ -921,4 +926,103 @@ void TeachyTvGrassAnimationMain(u8 taskId, s16 x, s16 y, u8 subpriority, bool8 m } } } -} \ No newline at end of file +} + +void TeachyTvGrassAnimationObjCallback(struct Sprite *sprite) +{ + u32 diff1, diff2; + s16 *data = gTasks[sprite->data[0]].data; + struct Sprite *objAddr = &gSprites[data[1]]; + if(((u8*)gUnknown_203F450)[0x4006] == 1) + DestroySprite(sprite); + else { + if(sprite->animCmdIndex == 0) + sprite->subspriteTableNum = 1; + else + sprite->subspriteTableNum = 0; + sprite->pos2.x += (u16)data[4]; + sprite->pos2.y += (u16)data[5]; + if(sprite->animEnded == 0) + return; + sprite->subpriority = 0; + diff1 = (u16)(sprite->pos2.x - objAddr->pos2.x); + diff2 = (u16)(sprite->pos2.y - objAddr->pos2.y); + diff1 = ((diff1 << 0x10)+0xF0000) >> 0x10; + if(diff1 <= 0x1E) + { + if((s16)diff2 > -0x10) + { + if((s16)diff2 <= 0x17) + return; + } + } + DestroySprite(sprite); + } +} + +u8 TeachyTvGrassAnimationCheckIfNeedsToGenerateGrassObj(s16 x, s16 y) +{ + u8 * arr, *ptr; + int a, b; + if( (x < 0) || (y < 0) ) + return 0; + arr = &gUnknown_84795C8; + ptr = gUnknown_203F450; + a = ((y >> 4) + ptr[0x4005]) << 4; + b = ((x >> 4) + ptr[0x4004]); + return arr[a+b]; +} + +void TeachyTvPrepBattle(u8 taskId) +{ + s16 *data; + + taskId = taskId; + data = gTasks[taskId].data; + TeachyTvFree(); + gSpecialVar_0x8004 = gTeachyTV_StaticResources.optionChosen; + gMain.savedCallback = TeachyTvRestorePlayerPartyCallback; + SavePlayerParty(); + sub_8159F40(); + PlayMapChosenOrBattleBGM(MUS_DUMMY); + if ( !gTeachyTV_StaticResources.optionChosen ) + data[6] = 9; + else + data[6] = 8; + data[7] = 0; + gTasks[taskId].func = TeachyTvPreBattleAnimAndSetBattleCallback; +} + +void TeachyTvPreBattleAnimAndSetBattleCallback(u8 taskId) +{ + s16 *data; + int temp; + + data = gTasks[taskId].data; + switch(data[7]) + { + case 0: + sub_80D08B8(*((u8*)data + 12)); + ++data[7]; + break; + case 1: + temp = sub_80D08F8(); + if ( temp << 24 ) + { + SetMainCallback2(sub_800FD9C); + DestroyTask(taskId); + } + break; + } +} + +void TeachyTvRestorePlayerPartyCallback() +{ + LoadPlayerParty(); + if ( gUnknown_2023E8A == 3 ) + sub_815AC20(); + else + PlayNewMapMusic(BGM_FRLG_FOLLOW_ME); + sub_815ABFC(); +} + -- cgit v1.2.3 From 23a5cf1e90ef2e4422ded89f9ed4e4010ba98c6e Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Thu, 6 Jun 2019 06:38:55 +0800 Subject: 3 fails and 2 are not attempted --- asm/teachy_tv.s | 655 -------------------------------------------------------- ld_script.txt | 1 - src/teachy_tv.c | 603 ++++++++++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 602 insertions(+), 657 deletions(-) delete mode 100644 asm/teachy_tv.s diff --git a/asm/teachy_tv.s b/asm/teachy_tv.s deleted file mode 100644 index 06d27a3da..000000000 --- a/asm/teachy_tv.s +++ /dev/null @@ -1,655 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start TeachyTvLoadBg3Map -TeachyTvLoadBg3Map: @ 815BD80 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x10] - ldr r1, _0815BE1C @ =Route1_Layout - mov r8, r1 - movs r0, 0x80 - lsls r0, 4 - bl AllocZeroed - adds r6, r0, 0 - movs r0, 0x80 - lsls r0, 8 - bl AllocZeroed - str r0, [sp, 0x8] - movs r0, 0x10 - bl Alloc - str r0, [sp, 0xC] - movs r1, 0xFF - movs r2, 0x10 - bl memset - mov r2, r8 - ldr r0, [r2, 0x10] - movs r2, 0xA0 - lsls r2, 2 - ldr r1, [sp, 0x8] - bl sub_815BF48 - mov r3, r8 - ldr r0, [r3, 0x14] - ldr r2, [sp, 0x8] - movs r3, 0xA0 - lsls r3, 7 - adds r1, r2, r3 - movs r2, 0xC0 - lsls r2, 1 - bl sub_815BF48 - movs r4, 0 -_0815BDDE: - movs r2, 0 - adds r0, r4, 0x6 - str r0, [sp, 0x18] - lsls r1, r4, 4 - mov r10, r1 - lsls r3, r4, 6 - mov r9, r3 - adds r4, 0x1 - str r4, [sp, 0x14] -_0815BDF0: - mov r1, r8 - ldr r0, [r1] - ldr r3, [sp, 0x18] - muls r0, r3 - ldr r1, [r1, 0xC] - adds r0, r2, r0 - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0, 0x10] - ldr r3, _0815BE20 @ =0x000003ff - adds r0, r3, 0 - adds r4, r0, 0 - ands r4, r1 - movs r3, 0 - mov r0, r10 - adds r1, r0, r2 - lsls r5, r2, 1 - adds r7, r2, 0x1 - cmp r3, r1 - bge _0815BE3C - ldrh r0, [r6] - b _0815BE34 - .align 2, 0 -_0815BE1C: .4byte Route1_Layout -_0815BE20: .4byte 0x000003ff -_0815BE24: - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, r1 - bge _0815BE3C - lsls r0, r3, 1 - adds r0, r6 - ldrh r0, [r0] -_0815BE34: - cmp r0, 0 - beq _0815BE46 - cmp r0, r4 - bne _0815BE24 -_0815BE3C: - lsls r0, r3, 1 - adds r0, r6 - ldrh r0, [r0] - cmp r0, 0 - bne _0815BE56 -_0815BE46: - lsls r0, r3, 1 - adds r0, r6 - strh r4, [r0] - ldr r0, [sp, 0x10] - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x10] -_0815BE56: - mov r2, r9 - adds r1, r2, r5 - lsls r1, 1 - ldr r0, [sp, 0x4] - adds r1, r0, r1 - str r3, [sp] - mov r0, r8 - ldr r2, [sp, 0xC] - adds r3, r4, 0 - bl sub_815BF70 - lsls r0, r7, 16 - lsrs r2, r0, 16 - cmp r2, 0xF - bls _0815BDF0 - ldr r1, [sp, 0x14] - lsls r0, r1, 16 - lsrs r4, r0, 16 - cmp r4, 0x8 - bls _0815BDDE - ldr r2, [sp, 0x10] - lsls r0, r2, 7 - bl Alloc - adds r7, r0, 0 - movs r0, 0x80 - bl Alloc - adds r5, r0, 0 - movs r4, 0 - ldr r3, [sp, 0x10] - lsls r3, 23 - mov r9, r3 - ldr r0, [sp, 0x10] - cmp r4, r0 - bcs _0815BF00 - ldr r1, _0815BECC @ =0x0000027f - mov r10, r1 -_0815BEA2: - adds r0, r5, 0 - movs r1, 0 - movs r2, 0x80 - bl memset - lsls r0, r4, 1 - adds r1, r0, r6 - ldrh r0, [r1] - cmp r0, r10 - bhi _0815BED0 - mov r2, r8 - ldr r0, [r2, 0x10] - ldrh r1, [r1] - lsls r1, 4 - ldr r0, [r0, 0xC] - adds r0, r1 - adds r1, r5, 0 - ldr r2, [sp, 0x8] - bl sub_815BFF0 - b _0815BEE8 - .align 2, 0 -_0815BECC: .4byte 0x0000027f -_0815BED0: - mov r3, r8 - ldr r0, [r3, 0x14] - ldrh r1, [r1] - ldr r2, _0815BF44 @ =0xfffffd80 - adds r1, r2 - lsls r1, 4 - ldr r0, [r0, 0xC] - adds r0, r1 - adds r1, r5, 0 - ldr r2, [sp, 0x8] - bl sub_815BFF0 -_0815BEE8: - lsls r1, r4, 7 - adds r1, r7, r1 - adds r0, r5, 0 - movs r2, 0x20 - bl CpuFastSet - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - ldr r3, [sp, 0x10] - cmp r4, r3 - bcc _0815BEA2 -_0815BF00: - mov r0, r9 - lsrs r2, r0, 16 - movs r0, 0x3 - adds r1, r7, 0 - movs r3, 0 - bl LoadBgTiles - mov r0, r8 - ldr r1, [sp, 0xC] - bl sub_815C230 - adds r0, r5, 0 - bl Free - adds r0, r7, 0 - bl Free - ldr r0, [sp, 0xC] - bl Free - ldr r0, [sp, 0x8] - bl Free - adds r0, r6, 0 - bl Free - add sp, 0x1C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0815BF44: .4byte 0xfffffd80 - thumb_func_end TeachyTvLoadBg3Map - - thumb_func_start sub_815BF48 -sub_815BF48: @ 815BF48 - push {lr} - adds r3, r0, 0 - lsls r2, 16 - lsrs r2, 16 - cmp r3, 0 - beq _0815BF6A - ldrb r0, [r3] - cmp r0, 0 - bne _0815BF64 - ldr r0, [r3, 0x4] - lsls r2, 3 - bl CpuFastSet - b _0815BF6A -_0815BF64: - ldr r0, [r3, 0x4] - bl LZDecompressWram -_0815BF6A: - pop {r0} - bx r0 - thumb_func_end sub_815BF48 - - thumb_func_start sub_815BF70 -sub_815BF70: @ 815BF70 - push {r4-r7,lr} - adds r5, r0, 0 - adds r7, r1, 0 - adds r6, r2, 0 - ldr r0, [sp, 0x14] - lsls r3, 16 - lsrs r1, r3, 16 - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, _0815BF8C @ =0x0000027f - cmp r1, r0 - bhi _0815BF90 - ldr r0, [r5, 0x10] - b _0815BF96 - .align 2, 0 -_0815BF8C: .4byte 0x0000027f -_0815BF90: - ldr r0, [r5, 0x14] - ldr r2, _0815BFEC @ =0xfffffd80 - adds r1, r2 -_0815BF96: - lsls r1, 4 - ldr r0, [r0, 0xC] - adds r5, r0, r1 - ldrh r1, [r5] - adds r0, r6, 0 - bl sub_815C1F0 - lsls r0, 12 - lsls r4, 2 - adds r0, r4 - strh r0, [r7] - ldrh r1, [r5, 0x2] - adds r0, r6, 0 - bl sub_815C1F0 - lsls r0, 12 - adds r0, r4 - adds r0, 0x1 - strh r0, [r7, 0x2] - ldrh r1, [r5, 0x4] - adds r0, r6, 0 - bl sub_815C1F0 - adds r1, r7, 0 - adds r1, 0x40 - lsls r0, 12 - adds r0, r4 - adds r0, 0x2 - strh r0, [r1] - ldrh r1, [r5, 0x6] - adds r0, r6, 0 - bl sub_815C1F0 - adds r1, r7, 0 - adds r1, 0x42 - lsls r0, 12 - adds r0, r4 - adds r0, 0x3 - strh r0, [r1] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0815BFEC: .4byte 0xfffffd80 - thumb_func_end sub_815BF70 - - thumb_func_start sub_815BFF0 -sub_815BFF0: @ 815BFF0 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - mov r8, r0 - mov r9, r1 - adds r5, r2, 0 - ldrh r2, [r0] - ldr r4, _0815C0D0 @ =0x000003ff - adds r1, r4, 0 - ands r1, r2 - lsls r1, 5 - adds r1, r5, r1 - lsrs r2, 10 - movs r6, 0x3 - ands r2, r6 - mov r0, r9 - bl sub_815C0D4 - mov r0, r8 - ldrh r2, [r0, 0x8] - adds r1, r4, 0 - ands r1, r2 - lsls r1, 5 - adds r1, r5, r1 - lsrs r2, 10 - ands r2, r6 - mov r0, r9 - bl sub_815C0D4 - movs r0, 0x20 - add r0, r9 - mov r10, r0 - mov r0, r8 - ldrh r2, [r0, 0x2] - adds r1, r4, 0 - ands r1, r2 - lsls r1, 5 - adds r1, r5, r1 - lsrs r2, 10 - ands r2, r6 - mov r0, r10 - bl sub_815C0D4 - mov r0, r8 - ldrh r2, [r0, 0xA] - adds r1, r4, 0 - ands r1, r2 - lsls r1, 5 - adds r1, r5, r1 - lsrs r2, 10 - ands r2, r6 - mov r0, r10 - bl sub_815C0D4 - movs r0, 0x40 - add r0, r9 - mov r10, r0 - mov r0, r8 - ldrh r2, [r0, 0x4] - adds r1, r4, 0 - ands r1, r2 - lsls r1, 5 - adds r1, r5, r1 - lsrs r2, 10 - ands r2, r6 - mov r0, r10 - bl sub_815C0D4 - mov r0, r8 - ldrh r2, [r0, 0xC] - adds r1, r4, 0 - ands r1, r2 - lsls r1, 5 - adds r1, r5, r1 - lsrs r2, 10 - ands r2, r6 - mov r0, r10 - bl sub_815C0D4 - movs r0, 0x60 - add r9, r0 - mov r0, r8 - ldrh r2, [r0, 0x6] - adds r1, r4, 0 - ands r1, r2 - lsls r1, 5 - adds r1, r5, r1 - lsrs r2, 10 - ands r2, r6 - mov r0, r9 - bl sub_815C0D4 - mov r0, r8 - ldrh r2, [r0, 0xE] - ands r4, r2 - lsls r4, 5 - adds r5, r4 - lsrs r2, 10 - ands r2, r6 - mov r0, r9 - adds r1, r5, 0 - bl sub_815C0D4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0815C0D0: .4byte 0x000003ff - thumb_func_end sub_815BFF0 - - thumb_func_start sub_815C0D4 -sub_815C0D4: @ 815C0D4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - mov r9, r0 - adds r4, r1, 0 - lsls r2, 24 - lsrs r2, 24 - mov r10, r2 - movs r0, 0x20 - bl AllocZeroed - adds r6, r0, 0 - movs r0, 0x20 - bl AllocZeroed - str r0, [sp] - adds r0, r4, 0 - adds r1, r6, 0 - movs r2, 0x8 - bl CpuFastSet - movs r0, 0x1 - mov r1, r10 - ands r0, r1 - cmp r0, 0 - beq _0815C15A - movs r5, 0 - movs r7, 0xF - mov r12, r7 - movs r0, 0xF0 - mov r8, r0 -_0815C118: - movs r3, 0 - lsls r4, r5, 2 -_0815C11C: - subs r0, r3, 0x3 - subs r0, r4, r0 - adds r0, r6, r0 - ldrb r1, [r0] - adds r2, r4, r3 - ldr r7, [sp] - adds r2, r7, r2 - adds r0, r1, 0 - mov r7, r12 - ands r0, r7 - lsls r0, 4 - mov r7, r8 - ands r1, r7 - lsrs r1, 4 - adds r0, r1 - strb r0, [r2] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x3 - bls _0815C11C - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x7 - bls _0815C118 - ldr r0, [sp] - adds r1, r6, 0 - movs r2, 0x8 - bl CpuFastSet -_0815C15A: - movs r0, 0x2 - mov r1, r10 - ands r0, r1 - cmp r0, 0 - beq _0815C18E - movs r5, 0 -_0815C166: - lsls r0, r5, 2 - ldr r7, [sp] - adds r0, r7 - movs r1, 0x7 - subs r1, r5 - lsls r1, 2 - adds r1, r6 - movs r2, 0x4 - bl memcpy - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x7 - bls _0815C166 - ldr r0, [sp] - adds r1, r6, 0 - movs r2, 0x8 - bl CpuFastSet -_0815C18E: - movs r5, 0 - movs r0, 0xF0 - mov r8, r0 - movs r1, 0xF - mov r12, r1 -_0815C198: - adds r4, r6, r5 - ldrb r0, [r4] - mov r3, r8 - ands r3, r0 - cmp r3, 0 - beq _0815C1B2 - mov r7, r9 - adds r2, r7, r5 - ldrb r1, [r2] - mov r0, r12 - ands r0, r1 - adds r0, r3 - strb r0, [r2] -_0815C1B2: - ldrb r0, [r4] - mov r3, r12 - ands r3, r0 - cmp r3, 0 - beq _0815C1CA - mov r0, r9 - adds r2, r0, r5 - ldrb r1, [r2] - mov r0, r8 - ands r0, r1 - adds r0, r3 - strb r0, [r2] -_0815C1CA: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x1F - bls _0815C198 - ldr r0, [sp] - bl Free - adds r0, r6, 0 - bl Free - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_815C0D4 - - thumb_func_start sub_815C1F0 -sub_815C1F0: @ 815C1F0 - push {r4,lr} - adds r4, r0, 0 - lsls r1, 16 - lsrs r1, 28 - movs r3, 0 - ldrb r0, [r4] - cmp r0, r1 - beq _0815C220 - cmp r0, 0xFF - bne _0815C208 - strb r1, [r4] - b _0815C220 -_0815C208: - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0xF - bhi _0815C220 - adds r2, r4, r3 - ldrb r0, [r2] - cmp r0, r1 - beq _0815C220 - cmp r0, 0xFF - bne _0815C208 - strb r1, [r2] -_0815C220: - movs r0, 0xF - subs r0, r3 - lsls r0, 16 - lsrs r0, 16 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_815C1F0 - - thumb_func_start sub_815C230 -sub_815C230: @ 815C230 - push {r4-r6,lr} - adds r6, r0, 0 - adds r5, r1, 0 - movs r4, 0 - ldrb r0, [r5] - cmp r0, 0xFF - beq _0815C274 -_0815C23E: - adds r1, r5, r4 - ldrb r0, [r1] - cmp r0, 0x6 - bls _0815C24A - ldr r0, [r6, 0x14] - b _0815C24C -_0815C24A: - ldr r0, [r6, 0x10] -_0815C24C: - ldrb r1, [r1] - lsls r1, 5 - ldr r0, [r0, 0x8] - adds r0, r1 - movs r1, 0xF - subs r1, r4 - lsls r1, 20 - lsrs r1, 16 - movs r2, 0x20 - bl LoadPalette - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xF - bhi _0815C274 - adds r0, r5, r4 - ldrb r0, [r0] - cmp r0, 0xFF - bne _0815C23E -_0815C274: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_815C230 - - .align 2, 0 @ Don't pad with nop. diff --git a/ld_script.txt b/ld_script.txt index 838d5f334..db9b37607 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -278,7 +278,6 @@ SECTIONS { src/dodrio_berry_picking_2.o(.text); asm/dodrio_berry_picking_2.o(.text); src/teachy_tv.o(.text); - asm/teachy_tv.o(.text); asm/ereader_helpers.o(.text); src/unk_815C980.o(.text); asm/ss_anne.o(.text); diff --git a/src/teachy_tv.c b/src/teachy_tv.c index 00df2807e..7fd095f1f 100644 --- a/src/teachy_tv.c +++ b/src/teachy_tv.c @@ -8,7 +8,6 @@ #include "new_menu_helpers.h" #include "sound.h" #include "malloc.h" -#include "sprite.h" #include "scanline_effect.h" #include "bg.h" #include "gpu_regs.h" @@ -28,6 +27,7 @@ #include "battle_transition.h" #include "battle_2.h" #include "battle.h" +#include "global.fieldmap.h" typedef struct Task Task; typedef struct { @@ -92,6 +92,12 @@ u8 TeachyTvGrassAnimationCheckIfNeedsToGenerateGrassObj(s16 x, s16 y); void TeachyTvGrassAnimationObjCallback(struct Sprite *sprite); void TeachyTvRestorePlayerPartyCallback(); void TeachyTvPreBattleAnimAndSetBattleCallback(u8 taskId); +void TeachyTvLoadMapTilesetToBuffer(struct Tileset *ts, u8 *dstBuffer, u16 size); +void TeachyTvPushBackNewMapPalIndexArrayEntry(struct MapData *mStruct, u16 *buf1, u8 *palIndexArray, u16 mapEntry, u16 offset); +void TeachyTvComputeMapTilesFromTilesetAndMetaTiles(u16 *metaTilesArray, u8 *blockBuf, u8 *tileset); +void TeachyTvComputeSingleMapTileBlockFromTilesetAndMetaTiles(u8 *blockBuf, u8 *tileset, u8 metaTile); +u16 TeachyTvComputePalIndexArrayEntryByMetaTile(u8 *palIndexArrayBuf, u16 metaTile); +void TeachyTvLoadMapPalette(struct MapData *mStruct, u8 *palIndexArray); extern void VblankHblankHandlerSetZero(); extern void sub_812B1E0(u16); @@ -1026,3 +1032,598 @@ void TeachyTvRestorePlayerPartyCallback() sub_815ABFC(); } +NAKED +void TeachyTvLoadBg3Map(void *buffer) +{ + asm_unified("\n\ + push {r4-r7,lr}\n\ + mov r7, r10\n\ + mov r6, r9\n\ + mov r5, r8\n\ + push {r5-r7}\n\ + sub sp, 0x1C\n\ + str r0, [sp, 0x4]\n\ + movs r0, 0\n\ + str r0, [sp, 0x10]\n\ + ldr r1, _0815BE1C @ =Route1_Layout\n\ + mov r8, r1\n\ + movs r0, 0x80\n\ + lsls r0, 4\n\ + bl AllocZeroed\n\ + adds r6, r0, 0\n\ + movs r0, 0x80\n\ + lsls r0, 8\n\ + bl AllocZeroed\n\ + str r0, [sp, 0x8]\n\ + movs r0, 0x10\n\ + bl Alloc\n\ + str r0, [sp, 0xC]\n\ + movs r1, 0xFF\n\ + movs r2, 0x10\n\ + bl memset\n\ + mov r2, r8\n\ + ldr r0, [r2, 0x10]\n\ + movs r2, 0xA0\n\ + lsls r2, 2\n\ + ldr r1, [sp, 0x8]\n\ + bl TeachyTvLoadMapTilesetToBuffer\n\ + mov r3, r8\n\ + ldr r0, [r3, 0x14]\n\ + ldr r2, [sp, 0x8]\n\ + movs r3, 0xA0\n\ + lsls r3, 7\n\ + adds r1, r2, r3\n\ + movs r2, 0xC0\n\ + lsls r2, 1\n\ + bl TeachyTvLoadMapTilesetToBuffer\n\ + movs r4, 0\n\ + _0815BDDE:\n\ + movs r2, 0\n\ + adds r0, r4, 0x6\n\ + str r0, [sp, 0x18]\n\ + lsls r1, r4, 4\n\ + mov r10, r1\n\ + lsls r3, r4, 6\n\ + mov r9, r3\n\ + adds r4, 0x1\n\ + str r4, [sp, 0x14]\n\ + _0815BDF0:\n\ + mov r1, r8\n\ + ldr r0, [r1]\n\ + ldr r3, [sp, 0x18]\n\ + muls r0, r3\n\ + ldr r1, [r1, 0xC]\n\ + adds r0, r2, r0\n\ + lsls r0, 1\n\ + adds r0, r1\n\ + ldrh r1, [r0, 0x10]\n\ + ldr r3, _0815BE20 @ =0x000003ff\n\ + adds r0, r3, 0\n\ + adds r4, r0, 0\n\ + ands r4, r1\n\ + movs r3, 0\n\ + mov r0, r10\n\ + adds r1, r0, r2\n\ + lsls r5, r2, 1\n\ + adds r7, r2, 0x1\n\ + cmp r3, r1\n\ + bge _0815BE3C\n\ + ldrh r0, [r6]\n\ + b _0815BE34\n\ + .align 2, 0\n\ + _0815BE1C: .4byte Route1_Layout\n\ + _0815BE20: .4byte 0x000003ff\n\ + _0815BE24:\n\ + adds r0, r3, 0x1\n\ + lsls r0, 16\n\ + lsrs r3, r0, 16\n\ + cmp r3, r1\n\ + bge _0815BE3C\n\ + lsls r0, r3, 1\n\ + adds r0, r6\n\ + ldrh r0, [r0]\n\ + _0815BE34:\n\ + cmp r0, 0\n\ + beq _0815BE46\n\ + cmp r0, r4\n\ + bne _0815BE24\n\ + _0815BE3C:\n\ + lsls r0, r3, 1\n\ + adds r0, r6\n\ + ldrh r0, [r0]\n\ + cmp r0, 0\n\ + bne _0815BE56\n\ + _0815BE46:\n\ + lsls r0, r3, 1\n\ + adds r0, r6\n\ + strh r4, [r0]\n\ + ldr r0, [sp, 0x10]\n\ + adds r0, 0x1\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + str r0, [sp, 0x10]\n\ + _0815BE56:\n\ + mov r2, r9\n\ + adds r1, r2, r5\n\ + lsls r1, 1\n\ + ldr r0, [sp, 0x4]\n\ + adds r1, r0, r1\n\ + str r3, [sp]\n\ + mov r0, r8\n\ + ldr r2, [sp, 0xC]\n\ + adds r3, r4, 0\n\ + bl TeachyTvPushBackNewMapPalIndexArrayEntry\n\ + lsls r0, r7, 16\n\ + lsrs r2, r0, 16\n\ + cmp r2, 0xF\n\ + bls _0815BDF0\n\ + ldr r1, [sp, 0x14]\n\ + lsls r0, r1, 16\n\ + lsrs r4, r0, 16\n\ + cmp r4, 0x8\n\ + bls _0815BDDE\n\ + ldr r2, [sp, 0x10]\n\ + lsls r0, r2, 7\n\ + bl Alloc\n\ + adds r7, r0, 0\n\ + movs r0, 0x80\n\ + bl Alloc\n\ + adds r5, r0, 0\n\ + movs r4, 0\n\ + ldr r3, [sp, 0x10]\n\ + lsls r3, 23\n\ + mov r9, r3\n\ + ldr r0, [sp, 0x10]\n\ + cmp r4, r0\n\ + bcs _0815BF00\n\ + ldr r1, _0815BECC @ =0x0000027f\n\ + mov r10, r1\n\ + _0815BEA2:\n\ + adds r0, r5, 0\n\ + movs r1, 0\n\ + movs r2, 0x80\n\ + bl memset\n\ + lsls r0, r4, 1\n\ + adds r1, r0, r6\n\ + ldrh r0, [r1]\n\ + cmp r0, r10\n\ + bhi _0815BED0\n\ + mov r2, r8\n\ + ldr r0, [r2, 0x10]\n\ + ldrh r1, [r1]\n\ + lsls r1, 4\n\ + ldr r0, [r0, 0xC]\n\ + adds r0, r1\n\ + adds r1, r5, 0\n\ + ldr r2, [sp, 0x8]\n\ + bl TeachyTvComputeMapTilesFromTilesetAndMetaTiles\n\ + b _0815BEE8\n\ + .align 2, 0\n\ + _0815BECC: .4byte 0x0000027f\n\ + _0815BED0:\n\ + mov r3, r8\n\ + ldr r0, [r3, 0x14]\n\ + ldrh r1, [r1]\n\ + ldr r2, _0815BF44 @ =0xfffffd80\n\ + adds r1, r2\n\ + lsls r1, 4\n\ + ldr r0, [r0, 0xC]\n\ + adds r0, r1\n\ + adds r1, r5, 0\n\ + ldr r2, [sp, 0x8]\n\ + bl TeachyTvComputeMapTilesFromTilesetAndMetaTiles\n\ + _0815BEE8:\n\ + lsls r1, r4, 7\n\ + adds r1, r7, r1\n\ + adds r0, r5, 0\n\ + movs r2, 0x20\n\ + bl CpuFastSet\n\ + adds r0, r4, 0x1\n\ + lsls r0, 16\n\ + lsrs r4, r0, 16\n\ + ldr r3, [sp, 0x10]\n\ + cmp r4, r3\n\ + bcc _0815BEA2\n\ + _0815BF00:\n\ + mov r0, r9\n\ + lsrs r2, r0, 16\n\ + movs r0, 0x3\n\ + adds r1, r7, 0\n\ + movs r3, 0\n\ + bl LoadBgTiles\n\ + mov r0, r8\n\ + ldr r1, [sp, 0xC]\n\ + bl TeachyTvLoadMapPalette\n\ + adds r0, r5, 0\n\ + bl Free\n\ + adds r0, r7, 0\n\ + bl Free\n\ + ldr r0, [sp, 0xC]\n\ + bl Free\n\ + ldr r0, [sp, 0x8]\n\ + bl Free\n\ + adds r0, r6, 0\n\ + bl Free\n\ + add sp, 0x1C\n\ + pop {r3-r5}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + mov r10, r5\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n\ + .align 2, 0\n\ + _0815BF44: .4byte 0xfffffd80\n\ + "); +} + +void TeachyTvLoadMapTilesetToBuffer(struct Tileset *ts, u8 *dstBuffer, u16 size) +{ + if ( ts ) + { + if ( !ts->isCompressed ) + CpuFastSet(ts->tiles, dstBuffer, 8 * size); + else + LZDecompressWram(ts->tiles, dstBuffer); + } +} + +#ifdef NONMATCHING +void TeachyTvPushBackNewMapPalIndexArrayEntry(struct MapData *mStruct, u16 *buf1, u8 *palIndexArray, u16 mapEntry, u16 offset) +{ + // weird, seems easy but no match + struct Tileset *ts; + u16 *metaTileEntryAddr; + + int temp = mapEntry; + if ( temp <= 0x27Fu ) + { + ts = mStruct->primaryTileset; + } + else + { + ts = mStruct->secondaryTileset; + temp = mapEntry - 0x280; + } + metaTileEntryAddr = &((u16*)(ts->metatiles))[8 * temp]; + buf1[0] = (TeachyTvComputePalIndexArrayEntryByMetaTile(palIndexArray, metaTileEntryAddr[0]) << 12) + 4 * offset; + buf1[1] = (TeachyTvComputePalIndexArrayEntryByMetaTile(palIndexArray, metaTileEntryAddr[1]) << 12) + 4 * offset + 1; + buf1[0x20] = (TeachyTvComputePalIndexArrayEntryByMetaTile(palIndexArray, metaTileEntryAddr[2]) << 12) + 4 * offset + 2; + buf1[0x21] = (TeachyTvComputePalIndexArrayEntryByMetaTile(palIndexArray, metaTileEntryAddr[3]) << 12) + 4 * offset + 3; +} +#else +NAKED +void TeachyTvPushBackNewMapPalIndexArrayEntry(struct MapData *mStruct, u16 *buf1, u8 *palIndexArray, u16 mapEntry, u16 offset) +{ + asm_unified("\n\ + push {r4-r7,lr}\n\ + adds r5, r0, 0\n\ + adds r7, r1, 0\n\ + adds r6, r2, 0\n\ + ldr r0, [sp, 0x14]\n\ + lsls r3, 16\n\ + lsrs r1, r3, 16\n\ + lsls r0, 16\n\ + lsrs r4, r0, 16\n\ + ldr r0, _0815BF8C @ =0x0000027f\n\ + cmp r1, r0\n\ + bhi _0815BF90\n\ + ldr r0, [r5, 0x10]\n\ + b _0815BF96\n\ + .align 2, 0\n\ + _0815BF8C: .4byte 0x0000027f\n\ + _0815BF90:\n\ + ldr r0, [r5, 0x14]\n\ + ldr r2, _0815BFEC @ =0xfffffd80\n\ + adds r1, r2\n\ + _0815BF96:\n\ + lsls r1, 4\n\ + ldr r0, [r0, 0xC]\n\ + adds r5, r0, r1\n\ + ldrh r1, [r5]\n\ + adds r0, r6, 0\n\ + bl TeachyTvComputePalIndexArrayEntryByMetaTile\n\ + lsls r0, 12\n\ + lsls r4, 2\n\ + adds r0, r4\n\ + strh r0, [r7]\n\ + ldrh r1, [r5, 0x2]\n\ + adds r0, r6, 0\n\ + bl TeachyTvComputePalIndexArrayEntryByMetaTile\n\ + lsls r0, 12\n\ + adds r0, r4\n\ + adds r0, 0x1\n\ + strh r0, [r7, 0x2]\n\ + ldrh r1, [r5, 0x4]\n\ + adds r0, r6, 0\n\ + bl TeachyTvComputePalIndexArrayEntryByMetaTile\n\ + adds r1, r7, 0\n\ + adds r1, 0x40\n\ + lsls r0, 12\n\ + adds r0, r4\n\ + adds r0, 0x2\n\ + strh r0, [r1]\n\ + ldrh r1, [r5, 0x6]\n\ + adds r0, r6, 0\n\ + bl TeachyTvComputePalIndexArrayEntryByMetaTile\n\ + adds r1, r7, 0\n\ + adds r1, 0x42\n\ + lsls r0, 12\n\ + adds r0, r4\n\ + adds r0, 0x3\n\ + strh r0, [r1]\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n\ + .align 2, 0\n\ + _0815BFEC: .4byte 0xfffffd80\n\ + "); +} +#endif + +void TeachyTvComputeMapTilesFromTilesetAndMetaTiles(u16 *metaTilesArray, u8 *blockBuf, u8 *tileset) +{ + TeachyTvComputeSingleMapTileBlockFromTilesetAndMetaTiles( + blockBuf, + &tileset[0x20 * (*metaTilesArray & 0x3FF)], + (*metaTilesArray >> 10) & 3); + TeachyTvComputeSingleMapTileBlockFromTilesetAndMetaTiles(blockBuf, &tileset[0x20 * (metaTilesArray[4] & 0x3FF)], (metaTilesArray[4] >> 10) & 3); + TeachyTvComputeSingleMapTileBlockFromTilesetAndMetaTiles(blockBuf + 0x20, &tileset[0x20 * (metaTilesArray[1] & 0x3FF)], (metaTilesArray[1] >> 10) & 3); + TeachyTvComputeSingleMapTileBlockFromTilesetAndMetaTiles(blockBuf + 0x20, &tileset[0x20 * (metaTilesArray[5] & 0x3FF)], (metaTilesArray[5] >> 10) & 3); + TeachyTvComputeSingleMapTileBlockFromTilesetAndMetaTiles(blockBuf + 0x40, &tileset[0x20 * (metaTilesArray[2] & 0x3FF)], (metaTilesArray[2] >> 10) & 3); + TeachyTvComputeSingleMapTileBlockFromTilesetAndMetaTiles(blockBuf + 0x40, &tileset[0x20 * (metaTilesArray[6] & 0x3FF)], (metaTilesArray[6] >> 10) & 3); + blockBuf += 0x60; + TeachyTvComputeSingleMapTileBlockFromTilesetAndMetaTiles(blockBuf, &tileset[0x20 * (metaTilesArray[3] & 0x3FF)], (metaTilesArray[3] >> 10) & 3); + TeachyTvComputeSingleMapTileBlockFromTilesetAndMetaTiles(blockBuf, &tileset[0x20 * (metaTilesArray[7] & 0x3FF)], (metaTilesArray[7] >> 10) & 3); +} + +NAKED +void TeachyTvComputeSingleMapTileBlockFromTilesetAndMetaTiles(u8 *blockBuf, u8 *tileset, u8 metaTile) +{ + asm_unified("\n\ + push {r4-r7,lr}\n\ + mov r7, r10\n\ + mov r6, r9\n\ + mov r5, r8\n\ + push {r5-r7}\n\ + sub sp, 0x4\n\ + mov r9, r0\n\ + adds r4, r1, 0\n\ + lsls r2, 24\n\ + lsrs r2, 24\n\ + mov r10, r2\n\ + movs r0, 0x20\n\ + bl AllocZeroed\n\ + adds r6, r0, 0\n\ + movs r0, 0x20\n\ + bl AllocZeroed\n\ + str r0, [sp]\n\ + adds r0, r4, 0\n\ + adds r1, r6, 0\n\ + movs r2, 0x8\n\ + bl CpuFastSet\n\ + movs r0, 0x1\n\ + mov r1, r10\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _0815C15A\n\ + movs r5, 0\n\ + movs r7, 0xF\n\ + mov r12, r7\n\ + movs r0, 0xF0\n\ + mov r8, r0\n\ + _0815C118:\n\ + movs r3, 0\n\ + lsls r4, r5, 2\n\ + _0815C11C:\n\ + subs r0, r3, 0x3\n\ + subs r0, r4, r0\n\ + adds r0, r6, r0\n\ + ldrb r1, [r0]\n\ + adds r2, r4, r3\n\ + ldr r7, [sp]\n\ + adds r2, r7, r2\n\ + adds r0, r1, 0\n\ + mov r7, r12\n\ + ands r0, r7\n\ + lsls r0, 4\n\ + mov r7, r8\n\ + ands r1, r7\n\ + lsrs r1, 4\n\ + adds r0, r1\n\ + strb r0, [r2]\n\ + adds r0, r3, 0x1\n\ + lsls r0, 24\n\ + lsrs r3, r0, 24\n\ + cmp r3, 0x3\n\ + bls _0815C11C\n\ + adds r0, r5, 0x1\n\ + lsls r0, 24\n\ + lsrs r5, r0, 24\n\ + cmp r5, 0x7\n\ + bls _0815C118\n\ + ldr r0, [sp]\n\ + adds r1, r6, 0\n\ + movs r2, 0x8\n\ + bl CpuFastSet\n\ + _0815C15A:\n\ + movs r0, 0x2\n\ + mov r1, r10\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _0815C18E\n\ + movs r5, 0\n\ + _0815C166:\n\ + lsls r0, r5, 2\n\ + ldr r7, [sp]\n\ + adds r0, r7\n\ + movs r1, 0x7\n\ + subs r1, r5\n\ + lsls r1, 2\n\ + adds r1, r6\n\ + movs r2, 0x4\n\ + bl memcpy\n\ + adds r0, r5, 0x1\n\ + lsls r0, 24\n\ + lsrs r5, r0, 24\n\ + cmp r5, 0x7\n\ + bls _0815C166\n\ + ldr r0, [sp]\n\ + adds r1, r6, 0\n\ + movs r2, 0x8\n\ + bl CpuFastSet\n\ + _0815C18E:\n\ + movs r5, 0\n\ + movs r0, 0xF0\n\ + mov r8, r0\n\ + movs r1, 0xF\n\ + mov r12, r1\n\ + _0815C198:\n\ + adds r4, r6, r5\n\ + ldrb r0, [r4]\n\ + mov r3, r8\n\ + ands r3, r0\n\ + cmp r3, 0\n\ + beq _0815C1B2\n\ + mov r7, r9\n\ + adds r2, r7, r5\n\ + ldrb r1, [r2]\n\ + mov r0, r12\n\ + ands r0, r1\n\ + adds r0, r3\n\ + strb r0, [r2]\n\ + _0815C1B2:\n\ + ldrb r0, [r4]\n\ + mov r3, r12\n\ + ands r3, r0\n\ + cmp r3, 0\n\ + beq _0815C1CA\n\ + mov r0, r9\n\ + adds r2, r0, r5\n\ + ldrb r1, [r2]\n\ + mov r0, r8\n\ + ands r0, r1\n\ + adds r0, r3\n\ + strb r0, [r2]\n\ + _0815C1CA:\n\ + adds r0, r5, 0x1\n\ + lsls r0, 24\n\ + lsrs r5, r0, 24\n\ + cmp r5, 0x1F\n\ + bls _0815C198\n\ + ldr r0, [sp]\n\ + bl Free\n\ + adds r0, r6, 0\n\ + bl Free\n\ + add sp, 0x4\n\ + pop {r3-r5}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + mov r10, r5\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n\ + "); +} + +u16 TeachyTvComputePalIndexArrayEntryByMetaTile(u8 *palIndexArrayBuf, u16 metaTile) +{ + u32 pal; + u32 counter; + int firstEntry; + int temp; + + pal = (u32)(metaTile << 16) >> 28; + counter = 0; + firstEntry = *palIndexArrayBuf; + if ( firstEntry != pal ) + { + if ( firstEntry == 0xFF ) + { + *palIndexArrayBuf = pal; + } + else + { + while ( 1 ) + { + counter = ((counter + 1) << 0x10) >> 0x10; + if ( counter > 0xF ) + break; + temp = palIndexArrayBuf[counter]; + if ( temp == pal ) + break; + if ( temp == 0xFF ) + { + palIndexArrayBuf[counter] = pal; + break; + } + } + } + } + return (0xF - counter) & 0xFFFF; +} + +#define NONMATCHING +#ifdef NONMATCHING +void TeachyTvLoadMapPalette(struct MapData *mStruct, u8 *palIndexArray) +{ + u8 counter, v3; + struct Tileset *ts; + + for (counter = 0; counter < 0xF && palIndexArray[counter] != 0xFF; counter++) + { + if ( palIndexArray[counter] > 6u ) + ts = mStruct->secondaryTileset; + else + ts = mStruct->primaryTileset; + LoadPalette((u8 *)ts->palettes + 0x20 * palIndexArray[counter], 0x10 * (0xF - counter), 0x20u); + } +} +#else +NAKED +void TeachyTvLoadMapPalette(struct MapData *mStruct, u8 *palIndexArray) +{ + asm_unified("\n\ + push {r4-r6,lr}\n\ + adds r6, r0, 0\n\ + adds r5, r1, 0\n\ + movs r4, 0\n\ + ldrb r0, [r5]\n\ + cmp r0, 0xFF\n\ + beq _0815C274\n\ + _0815C23E:\n\ + adds r1, r5, r4\n\ + ldrb r0, [r1]\n\ + cmp r0, 0x6\n\ + bls _0815C24A\n\ + ldr r0, [r6, 0x14]\n\ + b _0815C24C\n\ + _0815C24A:\n\ + ldr r0, [r6, 0x10]\n\ + _0815C24C:\n\ + ldrb r1, [r1]\n\ + lsls r1, 5\n\ + ldr r0, [r0, 0x8]\n\ + adds r0, r1\n\ + movs r1, 0xF\n\ + subs r1, r4\n\ + lsls r1, 20\n\ + lsrs r1, 16\n\ + movs r2, 0x20\n\ + bl LoadPalette\n\ + adds r0, r4, 0x1\n\ + lsls r0, 24\n\ + lsrs r4, r0, 24\n\ + cmp r4, 0xF\n\ + bhi _0815C274\n\ + adds r0, r5, r4\n\ + ldrb r0, [r0]\n\ + cmp r0, 0xFF\n\ + bne _0815C23E\n\ + _0815C274:\n\ + pop {r4-r6}\n\ + pop {r0}\n\ + bx r0\n\ + "); +} +#endif \ No newline at end of file -- cgit v1.2.3 From ea4d62e57a263e40a08aecf0dc91ced2df6927c8 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Thu, 6 Jun 2019 13:44:36 +0800 Subject: 5 functions are still with naked attribute --- src/teachy_tv.c | 184 ++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 172 insertions(+), 12 deletions(-) diff --git a/src/teachy_tv.c b/src/teachy_tv.c index 7fd095f1f..74d76602d 100644 --- a/src/teachy_tv.c +++ b/src/teachy_tv.c @@ -61,6 +61,7 @@ extern u8 gUnknown_8479390; extern struct SubspriteTable gUnknown_84795B8; extern struct SpriteTemplate *gUnknown_83A0010; extern u8 gUnknown_84795C8; +extern struct MapData Route1_Layout; void TeachyTvCallback(); void TeachyTvMainCallback(); @@ -484,7 +485,7 @@ void TeachyTvOptionListController(u8 taskId) } #else -__attribute__((naked)) +NAKED void TeachyTvOptionListController(u8 taskId) { asm_unified("\n\ @@ -1032,6 +1033,112 @@ void TeachyTvRestorePlayerPartyCallback() sub_815ABFC(); } +#ifdef NONMATCHING +void TeachyTvLoadBg3Map(void *buffer) +{ + u16 *mapArray; + int v2; + int v3; + int v4; + int v5; + int mapEntry; + int v7; + u16 v8; + int i; + char *MapTileBlockBuf; + void *FourMapTileBlocksTempBuf; + unsigned int j; + u16 *v13; + u8 *v14; + void *tileset; + u8 *palIndexArray; + unsigned int v17; + u32 v18; + int v19; + struct MapData * md; + + md = &Route1_Layout; + v14 = (u8 *)buffer; + v17 = 0; + mapArray = (u16 *)AllocZeroed(0x800u); + tileset = AllocZeroed(0x8000u); + palIndexArray = Alloc(0x10u); + memset(palIndexArray, 0xFFu, 0x10u); + TeachyTvLoadMapTilesetToBuffer(md->primaryTileset, (u8 *)tileset, 0x280u); + TeachyTvLoadMapTilesetToBuffer(md->secondaryTileset, (u8 *)tileset + 0x5000, 0x180u); + v2 = 0; + do + { + v3 = 0; + v19 = v2 + 6; + v4 = 16 * v2; + v5 = v2 << 6; + v18 = v2 + 1; + do + { + mapEntry = md->map[v3 + 24 * v19 + 8] & 0x3FF; + v7 = 0; + v8 = v3 + 1; + if ( v4 + v3 <= 0 ) + { +LABEL_9: + if ( mapArray[v7] ) + goto LABEL_11; + } + else + { + for ( i = *mapArray; i; i = mapArray[v7] ) + { + if ( i == mapEntry ) + goto LABEL_9; + v7 = (u16)(v7 + 1); + if ( v7 >= v4 + v3 ) + goto LABEL_9; + } + } + mapArray[v7] = mapEntry; + v17 = (u16)(v17 + 1); +LABEL_11: + TeachyTvPushBackNewMapPalIndexArrayEntry( + md, + (u16 *)&v14[2 * (v5 + 2 * v3)], + palIndexArray, + mapEntry, + v7); + v3 = v8; + } + while ( (u16)v8 <= 0xFu ); + v2 = v18; + } + while ( (u16)v18 <= 8u ); + MapTileBlockBuf = (char *)Alloc(v17 << 7); + FourMapTileBlocksTempBuf = Alloc(0x80u); + for ( j = 0; j < v17; j = (u16)j + 1 ) + { + memset(FourMapTileBlocksTempBuf, 0, 0x80u); + v13 = &mapArray[j]; + if ( *v13 <= 0x27Fu ) + TeachyTvComputeMapTilesFromTilesetAndMetaTiles( + (u16 *)(16 * *v13 + (u16*)(md->primaryTileset->metatiles)), + (u8 *)FourMapTileBlocksTempBuf, + (u8 *)tileset); + else + TeachyTvComputeMapTilesFromTilesetAndMetaTiles( + (u16 *)(16 * (*v13 - 0x280) + (u16*)(md->secondaryTileset->metatiles)), + (u8 *)FourMapTileBlocksTempBuf, + (u8 *)tileset); + + CpuFastSet(FourMapTileBlocksTempBuf, &MapTileBlockBuf[0x80 * j], 0x20u); + } + LoadBgTiles(3u, MapTileBlockBuf, (u16)v17 << 7, 0); + TeachyTvLoadMapPalette(&Route1_Layout, palIndexArray); + Free(FourMapTileBlocksTempBuf); + Free(MapTileBlockBuf); + Free(palIndexArray); + Free(tileset); + Free(mapArray); +} +#else NAKED void TeachyTvLoadBg3Map(void *buffer) { @@ -1256,6 +1363,7 @@ void TeachyTvLoadBg3Map(void *buffer) _0815BF44: .4byte 0xfffffd80\n\ "); } +#endif void TeachyTvLoadMapTilesetToBuffer(struct Tileset *ts, u8 *dstBuffer, u16 size) { @@ -1271,7 +1379,6 @@ void TeachyTvLoadMapTilesetToBuffer(struct Tileset *ts, u8 *dstBuffer, u16 size) #ifdef NONMATCHING void TeachyTvPushBackNewMapPalIndexArrayEntry(struct MapData *mStruct, u16 *buf1, u8 *palIndexArray, u16 mapEntry, u16 offset) { - // weird, seems easy but no match struct Tileset *ts; u16 *metaTileEntryAddr; @@ -1377,6 +1484,62 @@ void TeachyTvComputeMapTilesFromTilesetAndMetaTiles(u16 *metaTilesArray, u8 *blo TeachyTvComputeSingleMapTileBlockFromTilesetAndMetaTiles(blockBuf, &tileset[0x20 * (metaTilesArray[7] & 0x3FF)], (metaTilesArray[7] >> 10) & 3); } +#ifdef NONMATCHING +void TeachyTvComputeSingleMapTileBlockFromTilesetAndMetaTiles(u8 *blockBuf, u8 *tileset, u8 metaTile) +{ + u8 *buffer; + u32 counterV7; + u32 counterV8; + vu32 src; + + buffer = (u8 *)AllocZeroed(0x20u); + src = ((u32)AllocZeroed(0x20u)); + CpuFastSet(tileset, buffer, 8u); + if ( metaTile & 1 ) + { + counterV7 = 0; + do + { + counterV8 = 0; + do + { + u32 offset1 = counterV7 << 2; + u32 offset2 = counterV8 - 3; + u32 offset = offset1 - offset2; + u32 value = buffer[offset]; + u32 dstOffset = offset1 + counterV8; + *(u8*)(src + dstOffset) = ((value & 0xF) << 4) + ((value & 0xF0) >> 4); + } + while ( ++(u8)counterV8 <= 3u ); + } + while ( ++(u8)counterV7 <= 7u ); + CpuFastSet((u8*)src, buffer, 8u); + } + if ( metaTile & 2 ) + { + counterV8 = 0; + do + { + memcpy(&((u8*)src)[4 * counterV8], &buffer[4 * (7 - counterV8)], 4u); + counterV8 = (u8)(counterV8 + 1); + } + while ( counterV8 <= 7u ); + CpuFastSet((u8*)src, buffer, 8u); + } + counterV8 = 0; + do + { + if ( buffer[counterV8] & 0xF0 ) + blockBuf[counterV8] = (blockBuf[counterV8] & 0xF) + (buffer[counterV8] & 0xF0); + if ( buffer[counterV8] & 0xF ) + blockBuf[counterV8] = (blockBuf[counterV8] & 0xF0) + (buffer[counterV8] & 0xF); + counterV8 = (u8)(counterV8 + 1); + } + while ( counterV8 <= 0x1Fu ); + Free((u8*)src); + Free(buffer); +} +#else NAKED void TeachyTvComputeSingleMapTileBlockFromTilesetAndMetaTiles(u8 *blockBuf, u8 *tileset, u8 metaTile) { @@ -1525,6 +1688,7 @@ void TeachyTvComputeSingleMapTileBlockFromTilesetAndMetaTiles(u8 *blockBuf, u8 * bx r0\n\ "); } +#endif u16 TeachyTvComputePalIndexArrayEntryByMetaTile(u8 *palIndexArrayBuf, u16 metaTile) { @@ -1560,23 +1724,19 @@ u16 TeachyTvComputePalIndexArrayEntryByMetaTile(u8 *palIndexArrayBuf, u16 metaTi } } } - return (0xF - counter) & 0xFFFF; + return (u16)(0xF - counter); } -#define NONMATCHING #ifdef NONMATCHING void TeachyTvLoadMapPalette(struct MapData *mStruct, u8 *palIndexArray) { - u8 counter, v3; + u8 counter; struct Tileset *ts; - for (counter = 0; counter < 0xF && palIndexArray[counter] != 0xFF; counter++) + for (counter = 0; counter < 16 && palIndexArray[counter] != 0xFF; counter++) { - if ( palIndexArray[counter] > 6u ) - ts = mStruct->secondaryTileset; - else - ts = mStruct->primaryTileset; - LoadPalette((u8 *)ts->palettes + 0x20 * palIndexArray[counter], 0x10 * (0xF - counter), 0x20u); + ts = *(palIndexArray + counter) > 6u ? mStruct->secondaryTileset : mStruct->primaryTileset; + LoadPalette((u16 *)ts->palettes + 0x10 * palIndexArray[counter], 0x10 * (0xF - counter), 0x20u); } } #else @@ -1626,4 +1786,4 @@ void TeachyTvLoadMapPalette(struct MapData *mStruct, u8 *palIndexArray) bx r0\n\ "); } -#endif \ No newline at end of file +#endif -- cgit v1.2.3 From 598a2fb60f81a28a165a783a3a2e4e28960b607a Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Thu, 6 Jun 2019 14:04:39 +0800 Subject: var names --- src/teachy_tv.c | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/src/teachy_tv.c b/src/teachy_tv.c index 74d76602d..0438114ac 100644 --- a/src/teachy_tv.c +++ b/src/teachy_tv.c @@ -29,7 +29,6 @@ #include "battle.h" #include "global.fieldmap.h" -typedef struct Task Task; typedef struct { void (*callback)(); u8 mode; @@ -127,18 +126,18 @@ void TeachyTvVblankHandler() void sub_815ABC4(u8 mode, void (*cb)()) { - TeachyTv_s *v3 = &gTeachyTV_StaticResources; + TeachyTv_s *resAddr = &gTeachyTV_StaticResources; u16 v4 = 0; - v3->mode = mode; - v3->callback = cb; + resAddr->mode = mode; + resAddr->callback = cb; if(!mode) { - v3->scrollOffset = v4; - v3->selectedRow = v4; - v3->optionChosen = 0; + resAddr->scrollOffset = v4; + resAddr->selectedRow = v4; + resAddr->optionChosen = 0; } if(mode == 1) - v3->mode = 0; + resAddr->mode = 0; SetMainCallback2(TeachyTvMainCallback); } @@ -159,8 +158,8 @@ void TeachyTvMainCallback() { int state; int taskId; - Task *taskAddr; - u8 **v4; + struct Task *taskAddr; + u8 **memBuf; u32 x; state = gMain.state; @@ -171,8 +170,8 @@ void TeachyTvMainCallback() else return; RESETANDLOAD: - v4 = (u8 **)&gUnknown_203F450; - (*v4) = (u8*)AllocZeroed(0x4008u); + memBuf = (u8 **)&gUnknown_203F450; + (*memBuf) = (u8*)AllocZeroed(0x4008u); *(u32*)gUnknown_203F450 = (u32)state; *((u8*)gUnknown_203F450 + 0x4006) = state; *((u8*)gUnknown_203F450 + 0x4007) = 0xFF; @@ -296,8 +295,8 @@ void TeachyTvSetupScrollIndicatorArrowPair() else { u8 *temp, res; res = AddScrollIndicatorArrowPair( - &gUnknown_8479380, - &(gTeachyTV_StaticResources.scrollOffset)); + &gUnknown_8479380, + &(gTeachyTV_StaticResources.scrollOffset)); temp = (u8 *)gUnknown_203F450; *((u8 *)temp + 0x4007) = res; } -- cgit v1.2.3 From 97f172fde44648e77ffcef3cf03681150b926145 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Fri, 7 Jun 2019 03:03:12 +0800 Subject: syntax --- src/teachy_tv.c | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/src/teachy_tv.c b/src/teachy_tv.c index 0438114ac..4b389a6c9 100644 --- a/src/teachy_tv.c +++ b/src/teachy_tv.c @@ -127,13 +127,13 @@ void TeachyTvVblankHandler() void sub_815ABC4(u8 mode, void (*cb)()) { TeachyTv_s *resAddr = &gTeachyTV_StaticResources; - u16 v4 = 0; + u16 zero = 0; resAddr->mode = mode; resAddr->callback = cb; if(!mode) { - resAddr->scrollOffset = v4; - resAddr->selectedRow = v4; + resAddr->scrollOffset = zero; + resAddr->selectedRow = zero; resAddr->optionChosen = 0; } if(mode == 1) @@ -144,9 +144,9 @@ void sub_815ABC4(u8 mode, void (*cb)()) void sub_815ABFC() { if(gTeachyTV_StaticResources.mode == 1) - sub_815ABC4(1,gTeachyTV_StaticResources.callback); + sub_815ABC4(1, gTeachyTV_StaticResources.callback); else - sub_815ABC4(2,gTeachyTV_StaticResources.callback); + sub_815ABC4(2, gTeachyTV_StaticResources.callback); } void sub_815AC20() @@ -163,7 +163,7 @@ void TeachyTvMainCallback() u32 x; state = gMain.state; - if ( state == 0 ) + if ( !state ) goto RESETANDLOAD; else if ( state == 1 ) goto SETDMATOVRAM; @@ -942,18 +942,18 @@ void TeachyTvGrassAnimationObjCallback(struct Sprite *sprite) if(((u8*)gUnknown_203F450)[0x4006] == 1) DestroySprite(sprite); else { - if(sprite->animCmdIndex == 0) + if(!sprite->animCmdIndex) sprite->subspriteTableNum = 1; else sprite->subspriteTableNum = 0; sprite->pos2.x += (u16)data[4]; sprite->pos2.y += (u16)data[5]; - if(sprite->animEnded == 0) + if(!sprite->animEnded) return; sprite->subpriority = 0; diff1 = (u16)(sprite->pos2.x - objAddr->pos2.x); diff2 = (u16)(sprite->pos2.y - objAddr->pos2.y); - diff1 = ((diff1 << 0x10)+0xF0000) >> 0x10; + diff1 = ((diff1 << 0x10) + 0xF0000) >> 0x10; if(diff1 <= 0x1E) { if((s16)diff2 > -0x10) @@ -1469,10 +1469,7 @@ void TeachyTvPushBackNewMapPalIndexArrayEntry(struct MapData *mStruct, u16 *buf1 void TeachyTvComputeMapTilesFromTilesetAndMetaTiles(u16 *metaTilesArray, u8 *blockBuf, u8 *tileset) { - TeachyTvComputeSingleMapTileBlockFromTilesetAndMetaTiles( - blockBuf, - &tileset[0x20 * (*metaTilesArray & 0x3FF)], - (*metaTilesArray >> 10) & 3); + TeachyTvComputeSingleMapTileBlockFromTilesetAndMetaTiles(blockBuf, &tileset[0x20 * (*metaTilesArray & 0x3FF)], (*metaTilesArray >> 10) & 3); TeachyTvComputeSingleMapTileBlockFromTilesetAndMetaTiles(blockBuf, &tileset[0x20 * (metaTilesArray[4] & 0x3FF)], (metaTilesArray[4] >> 10) & 3); TeachyTvComputeSingleMapTileBlockFromTilesetAndMetaTiles(blockBuf + 0x20, &tileset[0x20 * (metaTilesArray[1] & 0x3FF)], (metaTilesArray[1] >> 10) & 3); TeachyTvComputeSingleMapTileBlockFromTilesetAndMetaTiles(blockBuf + 0x20, &tileset[0x20 * (metaTilesArray[5] & 0x3FF)], (metaTilesArray[5] >> 10) & 3); -- cgit v1.2.3 From 5110cafe24debb3ca0e1db52a8cd1a8edeb6daac Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Fri, 7 Jun 2019 03:40:49 +0800 Subject: fix header --- include/teachy_tv.h | 5 +++-- src/teachy_tv.c | 4 +--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/include/teachy_tv.h b/include/teachy_tv.h index 382ad117d..29ef726c9 100644 --- a/include/teachy_tv.h +++ b/include/teachy_tv.h @@ -1,7 +1,8 @@ #ifndef GUARD_TEACHY_TV_H #define GUARD_TEACHY_TV_H -void sub_815ABFC(void); -void sub_815AC20(void); +void sub_815ABC4(u8 mode, void (*cb)()); +void sub_815ABFC(); +void sub_815AC20(); #endif //GUARD_TEACHY_TV_H diff --git a/src/teachy_tv.c b/src/teachy_tv.c index 4b389a6c9..8c126805a 100644 --- a/src/teachy_tv.c +++ b/src/teachy_tv.c @@ -28,6 +28,7 @@ #include "battle_2.h" #include "battle.h" #include "global.fieldmap.h" +#include "teachy_tv.h" typedef struct { void (*callback)(); @@ -65,9 +66,6 @@ extern struct MapData Route1_Layout; void TeachyTvCallback(); void TeachyTvMainCallback(); void TeachyTvVblankHandler(); -void sub_815ABC4(u8 mode, void (*cb)()); -void sub_815ABFC(); -void sub_815AC20(); void TeachyTvCreateAndRenderRbox(); void TeachyTvInitIo(); u8 TeachyTvSetupObjEventAndOam(); -- cgit v1.2.3 From ec5dd73767f3335098ea4f327a10d2b9405f3788 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Sun, 9 Jun 2019 04:37:34 +0800 Subject: goobye, goto! --- src/teachy_tv.c | 118 ++++++++++++++++++++++++++++---------------------------- 1 file changed, 58 insertions(+), 60 deletions(-) diff --git a/src/teachy_tv.c b/src/teachy_tv.c index 8c126805a..9e50d2d75 100644 --- a/src/teachy_tv.c +++ b/src/teachy_tv.c @@ -63,6 +63,15 @@ extern struct SpriteTemplate *gUnknown_83A0010; extern u8 gUnknown_84795C8; extern struct MapData Route1_Layout; +extern void VblankHblankHandlerSetZero(); +extern void sub_812B1E0(u16); +extern u8 ListMenuInitInternal(struct ListMenuTemplate *, u16 scrollOffset, u16 selectedRow); +extern void sub_8055DC4(); +extern bool16 sub_80BF518(u8 textPrinterId); +extern void _call_via_r1(s32 arg, void *func); +extern void sub_810B108(u8); +extern void sub_8159F40(); + void TeachyTvCallback(); void TeachyTvMainCallback(); void TeachyTvVblankHandler(); @@ -97,15 +106,6 @@ void TeachyTvComputeSingleMapTileBlockFromTilesetAndMetaTiles(u8 *blockBuf, u8 * u16 TeachyTvComputePalIndexArrayEntryByMetaTile(u8 *palIndexArrayBuf, u16 metaTile); void TeachyTvLoadMapPalette(struct MapData *mStruct, u8 *palIndexArray); -extern void VblankHblankHandlerSetZero(); -extern void sub_812B1E0(u16); -extern u8 ListMenuInitInternal(struct ListMenuTemplate *, u16 scrollOffset, u16 selectedRow); -extern void sub_8055DC4(); -extern bool16 sub_80BF518(u8 textPrinterId); -extern void _call_via_r1(s32 arg, void *func); -extern void sub_810B108(u8); -extern void sub_8159F40(); - void TeachyTvCallback() { RunTasks(); @@ -161,59 +161,57 @@ void TeachyTvMainCallback() u32 x; state = gMain.state; - if ( !state ) - goto RESETANDLOAD; - else if ( state == 1 ) - goto SETDMATOVRAM; - else - return; -RESETANDLOAD: - memBuf = (u8 **)&gUnknown_203F450; - (*memBuf) = (u8*)AllocZeroed(0x4008u); - *(u32*)gUnknown_203F450 = (u32)state; - *((u8*)gUnknown_203F450 + 0x4006) = state; - *((u8*)gUnknown_203F450 + 0x4007) = 0xFF; - VblankHblankHandlerSetZero(); - clear_scheduled_bg_copies_to_vram(); - ScanlineEffect_Stop(); - FreeAllSpritePalettes(); - ResetPaletteFade(); - ResetSpriteData(); - ResetTasks(); - TeachyTvSetupBg(); - TeachyTvLoadGraphic(); - ++gMain.state; - return; -SETDMATOVRAM: - if( free_temp_tile_data_buffers_if_possible() == 1 ) - return; - TeachyTvCreateAndRenderRbox(); - TeachyTvInitIo(); - if ( gTeachyTV_StaticResources.mode == 2 ) + switch(state) { - taskId = CreateTask(TeachyTvPostBattleFadeControl, 0); - gTasks[taskId].data[1] = TeachyTvSetupObjEventAndOam(); - TeachyTvSetupPostBattleWindowAndObj(taskId); - } - else - { - taskId = CreateTask(TeachyTvOptionListController, 0); - x = (u32)TeachyTvSetupWindow(); - gTasks[taskId].data[0] = (x << 24) >> 24; - gTasks[taskId].data[1] = TeachyTvSetupObjEventAndOam(); - TeachyTvSetupScrollIndicatorArrowPair(); - PlayNewMapMusic(BGM_FRLG_TEACHY_TV); - TeachyTvSetWindowRegs(); + case 0: + memBuf = (u8 **)&gUnknown_203F450; + (*memBuf) = (u8*)AllocZeroed(0x4008u); + *(u32*)gUnknown_203F450 = (u32)state; + *((u8*)gUnknown_203F450 + 0x4006) = state; + *((u8*)gUnknown_203F450 + 0x4007) = 0xFF; + VblankHblankHandlerSetZero(); + clear_scheduled_bg_copies_to_vram(); + ScanlineEffect_Stop(); + FreeAllSpritePalettes(); + ResetPaletteFade(); + ResetSpriteData(); + ResetTasks(); + TeachyTvSetupBg(); + TeachyTvLoadGraphic(); + ++gMain.state; + break; + case 1: + if( free_temp_tile_data_buffers_if_possible() == 1 ) + return; + TeachyTvCreateAndRenderRbox(); + TeachyTvInitIo(); + if ( gTeachyTV_StaticResources.mode == 2 ) + { + taskId = CreateTask(TeachyTvPostBattleFadeControl, 0); + gTasks[taskId].data[1] = TeachyTvSetupObjEventAndOam(); + TeachyTvSetupPostBattleWindowAndObj(taskId); + } + else + { + taskId = CreateTask(TeachyTvOptionListController, 0); + x = (u32)TeachyTvSetupWindow(); + gTasks[taskId].data[0] = (x << 24) >> 24; + gTasks[taskId].data[1] = TeachyTvSetupObjEventAndOam(); + TeachyTvSetupScrollIndicatorArrowPair(); + PlayNewMapMusic(BGM_FRLG_TEACHY_TV); + TeachyTvSetWindowRegs(); + } + schedule_bg_copy_tilemap_to_vram(0); + schedule_bg_copy_tilemap_to_vram(1u); + schedule_bg_copy_tilemap_to_vram(2u); + schedule_bg_copy_tilemap_to_vram(3u); + sub_812B1E0(9); // help system something + BlendPalettes(0xFFFFFFFF, 0x10u, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10u, 0, 0); + SetVBlankCallback(TeachyTvVblankHandler); + SetMainCallback2(TeachyTvCallback); + break; } - schedule_bg_copy_tilemap_to_vram(0); - schedule_bg_copy_tilemap_to_vram(1u); - schedule_bg_copy_tilemap_to_vram(2u); - schedule_bg_copy_tilemap_to_vram(3u); - sub_812B1E0(9); // help system something - BlendPalettes(0xFFFFFFFF, 0x10u, 0); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10u, 0, 0); - SetVBlankCallback(TeachyTvVblankHandler); - SetMainCallback2(TeachyTvCallback); } void TeachyTvSetupBg() -- cgit v1.2.3 From 292b5fecab3a62fc30d8935bed6b2e91f83fbc7b Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Sun, 9 Jun 2019 04:52:52 +0800 Subject: io reg names --- src/teachy_tv.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/teachy_tv.c b/src/teachy_tv.c index 9e50d2d75..c4e739122 100644 --- a/src/teachy_tv.c +++ b/src/teachy_tv.c @@ -222,7 +222,7 @@ void TeachyTvSetupBg() SetBgTilemapBuffer(1u, (u8 *)gUnknown_203F450 + 4); SetBgTilemapBuffer(2u, (u8 *)gUnknown_203F450 + 0x1004); SetBgTilemapBuffer(3u, (u8 *)gUnknown_203F450 + 0x2004); - SetGpuReg(0, 0x3040u); + SetGpuReg(REG_OFFSET_DISPCNT, 0x3040u); ShowBg(0); ShowBg(1u); ShowBg(2u); @@ -231,7 +231,7 @@ void TeachyTvSetupBg() ChangeBgY(3u, 0x2800u, 1u); *((u8 *)gUnknown_203F450 + 0x4004) = 0; *((u8 *)gUnknown_203F450 + 0x4005) = 3; - SetGpuReg(0x50u, 0); + SetGpuReg(REG_OFFSET_BLDCNT, 0); } void TeachyTvLoadGraphic() @@ -316,10 +316,10 @@ void TeachyTvAudioByInput(s32 notUsed, bool8 play, struct ListMenu *notUsedAlt) void TeachyTvInitIo() { - SetGpuReg(0x48u, 0x3Fu); - SetGpuReg(0x4Au, 0x1Fu); - SetGpuReg(0x50u, 0xCCu); - SetGpuReg(0x54u, 5u); + SetGpuReg(REG_OFFSET_WININ, 0x3Fu); + SetGpuReg(REG_OFFSET_WINOUT, 0x1Fu); + SetGpuReg(REG_OFFSET_BLDCNT, 0xCCu); + SetGpuReg(REG_OFFSET_BLDY, 5u); } u8 TeachyTvSetupObjEventAndOam() @@ -340,14 +340,14 @@ void TeachyTvSetSpriteCoordsAndSwitchFrame(u8 objId, u16 x, u16 y, u8 frame) void TeachyTvSetWindowRegs() { - SetGpuReg(0x44u, 0xC64u); - SetGpuReg(0x40u, 0x1CD4u); + SetGpuReg(REG_OFFSET_WIN0V, 0xC64u); + SetGpuReg(REG_OFFSET_WIN0H, 0x1CD4u); } void TeachyTvClearWindowRegs() { - SetGpuReg(0x44u, 0); - SetGpuReg(0x40u, 0); + SetGpuReg(REG_OFFSET_WIN0V, 0); + SetGpuReg(REG_OFFSET_WIN0H, 0); } void TeachyTvBg2AnimController() -- cgit v1.2.3 From 5ec40a2acdc0692f6f3c9e3bbedc8433e9ba87b1 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Mon, 10 Jun 2019 02:34:06 +0800 Subject: fixed everything except struct --- src/teachy_tv.c | 381 ++++++++++++++++++++++++++++---------------------------- 1 file changed, 190 insertions(+), 191 deletions(-) diff --git a/src/teachy_tv.c b/src/teachy_tv.c index c4e739122..feb3e3062 100644 --- a/src/teachy_tv.c +++ b/src/teachy_tv.c @@ -30,38 +30,38 @@ #include "global.fieldmap.h" #include "teachy_tv.h" -typedef struct { +struct TeachyTvCtrlBlk +{ void (*callback)(); u8 mode; u8 optionChosen; u16 scrollOffset; u16 selectedRow; u16 filler; -} TeachyTv_s; +}; -extern TeachyTv_s gTeachyTV_StaticResources; +extern struct TeachyTvCtrlBlk gTeachyTV_StaticResources; extern void * gUnknown_203F450; extern const struct ScrollIndicatorArrowPairTemplate gUnknown_8479380; -extern char gUnknown_841B83D; -extern struct BgTemplate gUnknown_84792E0; -extern struct SpritePalette gUnknown_83A5348; +extern const char gUnknown_841B83D; +extern const struct BgTemplate gUnknown_84792E0; +extern const struct SpritePalette gUnknown_83A5348; extern void (**gUnknown_8479548)(u8); -extern char * gUnknown_8479560; -extern char * gUnknown_8479578; -extern void *gUnknown_203F450; -extern u8 gUnknown_8E86240; -extern u8 gUnknown_8E86BE8; -extern u8 gUnknown_8E86D6C; -extern u8 gUnknown_8E86F98; -extern struct ListMenuTemplate gUnknown_8479368; -extern struct ListMenuItem gUnknown_8479340; -extern struct WindowTemplate gUnknown_84792F0; -extern u8 gUnknown_8479590; -extern u8 gUnknown_8479390; -extern struct SubspriteTable gUnknown_84795B8; -extern struct SpriteTemplate *gUnknown_83A0010; -extern u8 gUnknown_84795C8; -extern struct MapData Route1_Layout; +extern const char * const gUnknown_8479560; +extern const char * const gUnknown_8479578; +extern const u8 gUnknown_8E86240; +extern const u8 gUnknown_8E86BE8; +extern const u8 gUnknown_8E86D6C; +extern const u8 gUnknown_8E86F98; +extern const struct ListMenuTemplate gUnknown_8479368; +extern const struct ListMenuItem gUnknown_8479340; +extern const struct WindowTemplate gUnknown_84792F0; +extern const u8 gUnknown_8479590; +extern const u8 gUnknown_8479390; +extern const struct SubspriteTable gUnknown_84795B8; +extern const struct SpriteTemplate * const gUnknown_83A0010; +extern const u8 gUnknown_84795C8; +extern const struct MapData Route1_Layout; extern void VblankHblankHandlerSetZero(); extern void sub_812B1E0(u16); @@ -104,7 +104,7 @@ void TeachyTvPushBackNewMapPalIndexArrayEntry(struct MapData *mStruct, u16 *buf1 void TeachyTvComputeMapTilesFromTilesetAndMetaTiles(u16 *metaTilesArray, u8 *blockBuf, u8 *tileset); void TeachyTvComputeSingleMapTileBlockFromTilesetAndMetaTiles(u8 *blockBuf, u8 *tileset, u8 metaTile); u16 TeachyTvComputePalIndexArrayEntryByMetaTile(u8 *palIndexArrayBuf, u16 metaTile); -void TeachyTvLoadMapPalette(struct MapData *mStruct, u8 *palIndexArray); +void TeachyTvLoadMapPalette(const struct MapData *const mStruct, u8 *palIndexArray); void TeachyTvCallback() { @@ -124,24 +124,24 @@ void TeachyTvVblankHandler() void sub_815ABC4(u8 mode, void (*cb)()) { - TeachyTv_s *resAddr = &gTeachyTV_StaticResources; + struct TeachyTvCtrlBlk *resAddr = &gTeachyTV_StaticResources; u16 zero = 0; resAddr->mode = mode; resAddr->callback = cb; - if(!mode) + if (!mode) { resAddr->scrollOffset = zero; resAddr->selectedRow = zero; resAddr->optionChosen = 0; } - if(mode == 1) + if (mode == 1) resAddr->mode = 0; SetMainCallback2(TeachyTvMainCallback); } void sub_815ABFC() { - if(gTeachyTV_StaticResources.mode == 1) + if (gTeachyTV_StaticResources.mode == 1) sub_815ABC4(1, gTeachyTV_StaticResources.callback); else sub_815ABC4(2, gTeachyTV_StaticResources.callback); @@ -161,11 +161,11 @@ void TeachyTvMainCallback() u32 x; state = gMain.state; - switch(state) + switch (state) { case 0: memBuf = (u8 **)&gUnknown_203F450; - (*memBuf) = (u8*)AllocZeroed(0x4008u); + (*memBuf) = (u8*)AllocZeroed(0x4008); *(u32*)gUnknown_203F450 = (u32)state; *((u8*)gUnknown_203F450 + 0x4006) = state; *((u8*)gUnknown_203F450 + 0x4007) = 0xFF; @@ -181,7 +181,7 @@ void TeachyTvMainCallback() ++gMain.state; break; case 1: - if( free_temp_tile_data_buffers_if_possible() == 1 ) + if ( free_temp_tile_data_buffers_if_possible() == 1 ) return; TeachyTvCreateAndRenderRbox(); TeachyTvInitIo(); @@ -202,12 +202,12 @@ void TeachyTvMainCallback() TeachyTvSetWindowRegs(); } schedule_bg_copy_tilemap_to_vram(0); - schedule_bg_copy_tilemap_to_vram(1u); - schedule_bg_copy_tilemap_to_vram(2u); - schedule_bg_copy_tilemap_to_vram(3u); + schedule_bg_copy_tilemap_to_vram(1); + schedule_bg_copy_tilemap_to_vram(2); + schedule_bg_copy_tilemap_to_vram(3); sub_812B1E0(9); // help system something - BlendPalettes(0xFFFFFFFF, 0x10u, 0); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10u, 0, 0); + BlendPalettes(0xFFFFFFFF, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); SetVBlankCallback(TeachyTvVblankHandler); SetMainCallback2(TeachyTvCallback); break; @@ -218,17 +218,17 @@ void TeachyTvSetupBg() { InitBgReg(); ResetBgsAndClearDma3BusyFlags(0); - InitBgsFromTemplates(0, &gUnknown_84792E0, 4u); - SetBgTilemapBuffer(1u, (u8 *)gUnknown_203F450 + 4); - SetBgTilemapBuffer(2u, (u8 *)gUnknown_203F450 + 0x1004); - SetBgTilemapBuffer(3u, (u8 *)gUnknown_203F450 + 0x2004); - SetGpuReg(REG_OFFSET_DISPCNT, 0x3040u); + InitBgsFromTemplates(0, &gUnknown_84792E0, 4); + SetBgTilemapBuffer(1, (u8 *)gUnknown_203F450 + 4); + SetBgTilemapBuffer(2, (u8 *)gUnknown_203F450 + 0x1004); + SetBgTilemapBuffer(3, (u8 *)gUnknown_203F450 + 0x2004); + SetGpuReg(REG_OFFSET_DISPCNT, 0x3040); ShowBg(0); - ShowBg(1u); - ShowBg(2u); - ShowBg(3u); - ChangeBgX(3u, 0x1000u, 2u); - ChangeBgY(3u, 0x2800u, 1u); + ShowBg(1); + ShowBg(2); + ShowBg(3); + ChangeBgX(3, 0x1000, 2); + ChangeBgY(3, 0x2800, 1); *((u8 *)gUnknown_203F450 + 0x4004) = 0; *((u8 *)gUnknown_203F450 + 0x4005) = 3; SetGpuReg(REG_OFFSET_BLDCNT, 0); @@ -239,12 +239,12 @@ void TeachyTvLoadGraphic() u16 src; src = 0; reset_temp_tile_data_buffers(); - decompress_and_copy_tile_data_to_vram(1u, &gUnknown_8E86240, 0, 0, 0); - LZDecompressWram((u8 *)&gUnknown_8E86BE8, (*(u8 **)&gUnknown_203F450) + 4); - LZDecompressWram((u8 *)&gUnknown_8E86D6C, (*(u8 **)&gUnknown_203F450) + 0x3004); - LoadCompressedPalette(&gUnknown_8E86F98, 0, 0x80u); - LoadPalette(&src, 0, 2u); - LoadSpritePalette((struct SpritePalette *)&gUnknown_83A5348); + decompress_and_copy_tile_data_to_vram(1, &gUnknown_8E86240, 0, 0, 0); + LZDecompressWram(&gUnknown_8E86BE8, (*(u8 **)&gUnknown_203F450) + 0x4); + LZDecompressWram(&gUnknown_8E86D6C, (*(u8 **)&gUnknown_203F450) + 0x3004); + LoadCompressedPalette(&gUnknown_8E86F98, 0, 0x80); + LoadPalette(&src, 0, 2); + LoadSpritePalette(&gUnknown_83A5348); TeachyTvLoadBg3Map((u8 *)gUnknown_203F450 + 0x2004); } @@ -252,10 +252,10 @@ void TeachyTvCreateAndRenderRbox() { InitWindows(&gUnknown_84792F0); DeactivateAllTextPrinters(); - FillWindowPixelBuffer(0, 0xCCu); + FillWindowPixelBuffer(0, 0xCC); PutWindowTilemap(0); - PutWindowTilemap(1u); - CopyWindowToVram(0, 2u); + PutWindowTilemap(1); + CopyWindowToVram(0, 2); } u8 TeachyTvSetupWindow() @@ -264,7 +264,7 @@ u8 TeachyTvSetupWindow() gMultiuseListMenuTemplate = gUnknown_8479368; gMultiuseListMenuTemplate.windowId = 1; gMultiuseListMenuTemplate.moveCursorFunc = TeachyTvAudioByInput; - hasItem = (u8)CheckBagHasItem(ITEM_TM_CASE, 1u); + hasItem = (u8)CheckBagHasItem(ITEM_TM_CASE, 1); if ( !(hasItem << 24) ) { gMultiuseListMenuTemplate.items = &gUnknown_8479340; @@ -281,7 +281,7 @@ u8 TeachyTvSetupWindow() void TeachyTvSetupScrollIndicatorArrowPair() { int hasItem; - hasItem = (u8)CheckBagHasItem(ITEM_TM_CASE, 1u); + hasItem = (u8)CheckBagHasItem(ITEM_TM_CASE, 1); if ( ! hasItem << 24 ) { u8 * temp = (u8 *)gUnknown_203F450; @@ -316,10 +316,10 @@ void TeachyTvAudioByInput(s32 notUsed, bool8 play, struct ListMenu *notUsedAlt) void TeachyTvInitIo() { - SetGpuReg(REG_OFFSET_WININ, 0x3Fu); - SetGpuReg(REG_OFFSET_WINOUT, 0x1Fu); - SetGpuReg(REG_OFFSET_BLDCNT, 0xCCu); - SetGpuReg(REG_OFFSET_BLDY, 5u); + SetGpuReg(REG_OFFSET_WININ, 0x3F); + SetGpuReg(REG_OFFSET_WINOUT, 0x1F); + SetGpuReg(REG_OFFSET_BLDCNT, 0xCC); + SetGpuReg(REG_OFFSET_BLDY, 5); } u8 TeachyTvSetupObjEventAndOam() @@ -340,8 +340,8 @@ void TeachyTvSetSpriteCoordsAndSwitchFrame(u8 objId, u16 x, u16 y, u8 frame) void TeachyTvSetWindowRegs() { - SetGpuReg(REG_OFFSET_WIN0V, 0xC64u); - SetGpuReg(REG_OFFSET_WIN0H, 0x1CD4u); + SetGpuReg(REG_OFFSET_WIN0V, 0xC64); + SetGpuReg(REG_OFFSET_WIN0H, 0x1CD4); } void TeachyTvClearWindowRegs() @@ -353,28 +353,26 @@ void TeachyTvClearWindowRegs() void TeachyTvBg2AnimController() { u16 *tilemapBuffer; - u8 counter; - u32 offset2; - u32 offset; - u32 counter2; + u8 i; + u32 offset, offset2, j; - tilemapBuffer = (u16 *)GetBgTilemapBuffer(2u); - counter = 1; + tilemapBuffer = (u16 *)GetBgTilemapBuffer(2); + i = 1; do { offset2 = 2; - offset = 0x20 * counter; - counter2 = counter + 1; + offset = 0x20 * i; + j = i + 1; do { tilemapBuffer[offset + offset2] = ((Random() & 3) << 10) + 0x301F; offset2 = (offset2 + 1) << 0x18 >> 0x18; } while ( offset2 <= 0x1B ); - counter = counter2; + i = j; } - while ( counter2 << 0x18 >> 0x18 <= 0xCu ); - schedule_bg_copy_tilemap_to_vram(2u); + while ( j << 0x18 >> 0x18 <= 0xC ); + schedule_bg_copy_tilemap_to_vram(2); } void TeachyTvSetupPostBattleWindowAndObj(u8 taskId) @@ -384,7 +382,7 @@ void TeachyTvSetupPostBattleWindowAndObj(u8 taskId) struct Sprite *v3 = &gSprites[v1]; int op; - ClearWindowTilemap(1u); + ClearWindowTilemap(1); TeachyTvClearWindowRegs(); op = gTeachyTV_StaticResources.optionChosen; if ( op >= 0 ) @@ -392,8 +390,8 @@ void TeachyTvSetupPostBattleWindowAndObj(u8 taskId) if ( op <= 3 ) { TeachyTvSetSpriteCoordsAndSwitchFrame(((char*)v2)[2], 0x78, 0x38, 0); - ChangeBgX(3u, 0x3000u, 1u); - ChangeBgY(3u, 0x3000u, 2u); + ChangeBgX(3, 0x3000, 1); + ChangeBgY(3, 0x3000, 2); *((u8 *)gUnknown_203F450 + 0x4004) += 3; *((u8 *)gUnknown_203F450 + 0x4005) -= 3; } @@ -403,15 +401,15 @@ void TeachyTvSetupPostBattleWindowAndObj(u8 taskId) v2[4] = 0; v2[5] = 0; - TeachyTvGrassAnimationMain(taskId, v3->pos2.x, v3->pos2.y, 0, 1u); + TeachyTvGrassAnimationMain(taskId, v3->pos2.x, v3->pos2.y, 0, 1); } -void TeachyTvInitTextPrinter(char *text) +void TeachyTvInitTextPrinter(const char *text) { u8 spd; gTextFlags.autoScroll = 0; spd = GetTextSpeedSetting(); - AddTextPrinterParameterized2(0, 4u, (const u8 *)text, spd, 0, 1u, 0xCu, 3u); + AddTextPrinterParameterized2(0, 4, (const char *)text, spd, 0, 1, 0xC, 3); } void TeachyTvFree() @@ -423,7 +421,7 @@ void TeachyTvFree() void TeachyTvQuitBeginFade(u8 taskId) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10u, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); gTasks[taskId].func = TeachyTvQuitFadeControlAndTaskDel; } @@ -469,7 +467,7 @@ void TeachyTvOptionListController(u8 taskId) gTeachyTV_StaticResources.optionChosen = v3; DestroyListMenu(*v2, &gTeachyTV_StaticResources.scrollOffset, &gTeachyTV_StaticResources.selectedRow); TeachyTvClearWindowRegs(); - ClearWindowTilemap(1u); + ClearWindowTilemap(1); schedule_bg_copy_tilemap_to_vram(0); TeachyTvRemoveScrollIndicatorArrowPair(); *((u16 *)v2 + 3) = 0; @@ -587,9 +585,9 @@ void TeachyTvClusFuncTransitionRenderBg2TeachyTvGraphicInitNpcPos(u8 taskId) data[2] = counter; if ( (s16)counter > 63 ) { - CopyToBgTilemapBufferRect_ChangePalette(2u, (u8 *)gUnknown_203F450 + 0x3004, 0, 0, 0x20u, 0x20u, 0x11u); - TeachyTvSetSpriteCoordsAndSwitchFrame(((u8*)data)[2], 8, 0x38, 7u); - schedule_bg_copy_tilemap_to_vram(2u); + CopyToBgTilemapBufferRect_ChangePalette(2, (u8 *)gUnknown_203F450 + 0x3004, 0, 0, 0x20, 0x20, 0x11); + TeachyTvSetSpriteCoordsAndSwitchFrame(((u8*)data)[2], 8, 0x38, 7); + schedule_bg_copy_tilemap_to_vram(2); data[2] = 0; ++data[3]; PlayNewMapMusic(BGM_FRLG_FOLLOW_ME); @@ -606,8 +604,8 @@ void TeachyTvClusFuncClearBg2TeachyTvGraphic(u8 taskId) data[2] = counter; if ( (s16)counter == 134 ) { - FillBgTilemapBufferRect_Palette0(2u, 0, 2u, 1u, 0x1Au, 0xCu); - schedule_bg_copy_tilemap_to_vram(2u); + FillBgTilemapBufferRect_Palette0(2, 0, 2, 1, 0x1A, 0xC); + schedule_bg_copy_tilemap_to_vram(2); data[2] = 0; ++data[3]; } @@ -652,8 +650,8 @@ void TeachyTvRenderMsgAndSwitchClusterFuncs(u8 taskId) u32 v4 = 0; offset[0] = 1; TeachyTvSetSpriteCoordsAndSwitchFrame(*((char *)data + 2), 0, 0, 0); - FillWindowPixelBuffer(0, 0xCCu); - CopyWindowToVram(0, 2u); + FillWindowPixelBuffer(0, 0xCC); + CopyWindowToVram(0, 2); TeachyTvClearBg1EndGraphicText(); data[2] = v4; data[3] = v4; @@ -672,7 +670,7 @@ void TeachyTvRenderMsgAndSwitchClusterFuncs(u8 taskId) void TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen(u8 taskId) { u16 *data = (u16 *)gTasks[taskId].data; - char ** texts = &gUnknown_8479560; + const char * const* texts = &gUnknown_8479560; TeachyTvInitTextPrinter(texts[gTeachyTV_StaticResources.optionChosen]); ++data[3]; } @@ -680,7 +678,7 @@ void TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen(u8 taskId) void TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen2(u8 taskId) { u16 *data = (u16 *)gTasks[taskId].data; - char ** texts = &gUnknown_8479578; + const char * const* texts = &gUnknown_8479578; TeachyTvInitTextPrinter(texts[gTeachyTV_StaticResources.optionChosen]); ++data[3]; } @@ -698,8 +696,8 @@ void TeachyTvClusFuncEraseTextWindowIfKeyPressed(u8 taskId) data = (u16 *)gTasks[taskId].data; if ( gMain.newKeys & 3 ) { - FillWindowPixelBuffer(0, 0xCCu); - CopyWindowToVram(0, 2u); + FillWindowPixelBuffer(0, 0xCC); + CopyWindowToVram(0, 2); ++data[3]; } } @@ -708,7 +706,7 @@ void TeachyTvClusFuncStartAnimNpcWalkIntoGrass(u8 taskId) { u16 *data; data = (u16 *)gTasks[taskId].data; - StartSpriteAnim(&gSprites[(s16)data[1]], 5u); + StartSpriteAnim(&gSprites[(s16)data[1]], 5); data[2] = 0; data[4] = 0; data[5] = 1; @@ -718,26 +716,26 @@ void TeachyTvClusFuncStartAnimNpcWalkIntoGrass(u8 taskId) void TeachyTvClusFuncDudeMoveUp(u8 taskId) { s16 *data; - struct Sprite *v3; + struct Sprite *obj; int temp; - int v4; + int counter; data = gTasks[taskId].data; - v3 = &gSprites[data[1]]; - ChangeBgY(3u, 0x100u, 2u); - v4 = (u16)data[2] + 1; - ((u16*)data)[2] = v4; - if ( !( v4 % 16 ) ) + obj = &gSprites[data[1]]; + ChangeBgY(3, 0x100, 2); + counter = (u16)data[2] + 1; + ((u16*)data)[2] = counter; + if ( !( counter % 16 ) ) { --((u8*)gUnknown_203F450)[0x4005]; - TeachyTvGrassAnimationMain(taskId, v3->pos2.x, v3->pos2.y, 0, 0); + TeachyTvGrassAnimationMain(taskId, obj->pos2.x, obj->pos2.y, 0, 0); } if ( data[2] == 0x30 ) { data[2] = 0; data[4] = -1; data[5] = 0; - StartSpriteAnim(v3, 7u); + StartSpriteAnim(obj, 7); ++data[3]; } } @@ -745,24 +743,24 @@ void TeachyTvClusFuncDudeMoveUp(u8 taskId) void TeachyTvClusFuncDudeMoveRight(u8 taskId) { u16 *data; - struct Sprite *v3; - int v4; + struct Sprite *obj; + int counter; data = (u16 *)gTasks[taskId].data; - v3 = &gSprites[(s16)data[1]]; - ChangeBgX(3u, 0x100u, 1u); - v4 = data[2] + 1; - data[2] = v4; - if ( !(v4 & 0xF) ) + obj = &gSprites[(s16)data[1]]; + ChangeBgX(3, 0x100, 1); + counter = data[2] + 1; + data[2] = counter; + if ( !(counter & 0xF) ) ++((u8*)gUnknown_203F450)[0x4004]; if ( !((((s16*)data)[2] + 8) & 0xF) ) - TeachyTvGrassAnimationMain(taskId, v3->pos2.x + 8, v3->pos2.y, 0, 0); + TeachyTvGrassAnimationMain(taskId, obj->pos2.x + 8, obj->pos2.y, 0, 0); if ( (s16)data[2] == 0x30 ) { data[2] = 0; data[4] = 0; data[5] = 0; - StartSpriteAnim(v3, 3u); + StartSpriteAnim(obj, 3); ++data[3]; } } @@ -774,7 +772,7 @@ void TeachyTvClusFuncDudeTurnLeft(u8 taskId) data = gTasks[taskId].data; v3 = &gSprites[data[1]]; - StartSpriteAnim(v3, 6u); + StartSpriteAnim(v3, 6); ++(u16)data[3]; data[4] = 0; data[5] = 0; @@ -805,8 +803,8 @@ void TeachyTvClusFuncRenderAndRemoveBg1EndGraphic(u8 taskId) data = gTasks[taskId].data; if ( !data[2] ) { - CopyToBgTilemapBufferRect_ChangePalette(1u, &gUnknown_8479590, 0x14u, 0xAu, 8u, 2u, 0x11u); - schedule_bg_copy_tilemap_to_vram(1u); + CopyToBgTilemapBufferRect_ChangePalette(1, &gUnknown_8479590, 0x14, 0xA, 8, 2, 0x11); + schedule_bg_copy_tilemap_to_vram(1); } temp = (u16)data[2] + 1; data[2] = temp; @@ -820,8 +818,8 @@ void TeachyTvClusFuncRenderAndRemoveBg1EndGraphic(u8 taskId) void TeachyTvClearBg1EndGraphicText() { - FillBgTilemapBufferRect_Palette0(1u, 0, 0x14u, 0xAu, 8u, 2u); - schedule_bg_copy_tilemap_to_vram(1u); + FillBgTilemapBufferRect_Palette0(1, 0, 0x14, 0xA, 8, 2); + schedule_bg_copy_tilemap_to_vram(1); } void TeachyTvBackToOptionList(u8 taskId) @@ -845,10 +843,10 @@ void TeachyTvBackToOptionList(u8 taskId) TeachyTvSetupScrollIndicatorArrowPair(); TeachyTvSetWindowRegs(); schedule_bg_copy_tilemap_to_vram(0); - ChangeBgX(3u, 0, 0); - ChangeBgY(3u, 0, 0); - ChangeBgX(3u, 0x1000u, 2u); - ChangeBgY(3u, 0x2800u, 1u); + ChangeBgX(3, 0, 0); + ChangeBgY(3, 0, 0); + ChangeBgX(3, 0x1000, 2); + ChangeBgY(3, 0x2800, 1); ((u8*)gUnknown_203F450)[0x4004] = 0; ((u8*)gUnknown_203F450)[0x4005] = 3; ((u8*)gUnknown_203F450)[0x4006] = 0; @@ -858,7 +856,7 @@ void TeachyTvBackToOptionList(u8 taskId) void TeachyTvChainTaskBattleOrFadeByOptionChosen(u8 taskId) { int op = gTeachyTV_StaticResources.optionChosen; - if( op < 0 ) + if ( op < 0 ) return; if ( op <= 3 ) { @@ -875,9 +873,9 @@ void TeachyTvChainTaskBattleOrFadeByOptionChosen(u8 taskId) void TeachyTvSetupBagItemsByOptionChosen() { if ( gTeachyTV_StaticResources.optionChosen == 4 ) - sub_810B108(0xAu); + sub_810B108(10); else - sub_810B108(9u); + sub_810B108(9); } void TeachyTvPostBattleFadeControl(u8 taskId) @@ -885,7 +883,7 @@ void TeachyTvPostBattleFadeControl(u8 taskId) s16 *data = gTasks[taskId].data; if ( !(gPaletteFade.active) ) { - u8* funcIdx = &gUnknown_8479390; + const u8* funcIdx = &gUnknown_8479390; int arg = funcIdx[gTeachyTV_StaticResources.optionChosen]; data[3] = arg; gTasks[taskId].func = TeachyTvRenderMsgAndSwitchClusterFuncs; @@ -898,7 +896,7 @@ void TeachyTvGrassAnimationMain(u8 taskId, s16 x, s16 y, u8 subpriority, bool8 m int res; struct Sprite *obj; int objId; - struct SpriteTemplate **objTemAddr; + const struct SpriteTemplate *const *objTemAddr; subprio = subpriority; if ( ((u8*)gUnknown_203F450)[0x4006] != 1 ) @@ -917,7 +915,7 @@ void TeachyTvGrassAnimationMain(u8 taskId, s16 x, s16 y, u8 subpriority, bool8 m obj->data[0] = taskId; if ( mode == 1 ) { - SeekSpriteAnim(obj, 4u); + SeekSpriteAnim(obj, 4); obj->oam.priority = 2; } else @@ -935,26 +933,26 @@ void TeachyTvGrassAnimationObjCallback(struct Sprite *sprite) u32 diff1, diff2; s16 *data = gTasks[sprite->data[0]].data; struct Sprite *objAddr = &gSprites[data[1]]; - if(((u8*)gUnknown_203F450)[0x4006] == 1) + if (((u8*)gUnknown_203F450)[0x4006] == 1) DestroySprite(sprite); else { - if(!sprite->animCmdIndex) + if (!sprite->animCmdIndex) sprite->subspriteTableNum = 1; else sprite->subspriteTableNum = 0; sprite->pos2.x += (u16)data[4]; sprite->pos2.y += (u16)data[5]; - if(!sprite->animEnded) + if (!sprite->animEnded) return; sprite->subpriority = 0; diff1 = (u16)(sprite->pos2.x - objAddr->pos2.x); diff2 = (u16)(sprite->pos2.y - objAddr->pos2.y); diff1 = ((diff1 << 0x10) + 0xF0000) >> 0x10; - if(diff1 <= 0x1E) + if (diff1 <= 0x1E) { - if((s16)diff2 > -0x10) + if ((s16)diff2 > -0x10) { - if((s16)diff2 <= 0x17) + if ((s16)diff2 <= 0x17) return; } } @@ -964,15 +962,16 @@ void TeachyTvGrassAnimationObjCallback(struct Sprite *sprite) u8 TeachyTvGrassAnimationCheckIfNeedsToGenerateGrassObj(s16 x, s16 y) { - u8 * arr, *ptr; - int a, b; - if( (x < 0) || (y < 0) ) + const u8 * arr; + u8 *ptr; + int high, low; + if ( (x < 0) || (y < 0) ) return 0; arr = &gUnknown_84795C8; ptr = gUnknown_203F450; - a = ((y >> 4) + ptr[0x4005]) << 4; - b = ((x >> 4) + ptr[0x4004]); - return arr[a+b]; + high = ((y >> 4) + ptr[0x4005]) << 4; + low = ((x >> 4) + ptr[0x4004]); + return arr[high+low]; } void TeachyTvPrepBattle(u8 taskId) @@ -1001,7 +1000,7 @@ void TeachyTvPreBattleAnimAndSetBattleCallback(u8 taskId) int temp; data = gTasks[taskId].data; - switch(data[7]) + switch (data[7]) { case 0: sub_80D08B8(*((u8*)data + 12)); @@ -1055,12 +1054,12 @@ void TeachyTvLoadBg3Map(void *buffer) md = &Route1_Layout; v14 = (u8 *)buffer; v17 = 0; - mapArray = (u16 *)AllocZeroed(0x800u); - tileset = AllocZeroed(0x8000u); - palIndexArray = Alloc(0x10u); - memset(palIndexArray, 0xFFu, 0x10u); - TeachyTvLoadMapTilesetToBuffer(md->primaryTileset, (u8 *)tileset, 0x280u); - TeachyTvLoadMapTilesetToBuffer(md->secondaryTileset, (u8 *)tileset + 0x5000, 0x180u); + mapArray = (u16 *)AllocZeroed(0x800); + tileset = AllocZeroed(0x8000); + palIndexArray = Alloc(0x10); + memset(palIndexArray, 0xFF, 0x10); + TeachyTvLoadMapTilesetToBuffer(md->primaryTileset, (u8 *)tileset, 0x280); + TeachyTvLoadMapTilesetToBuffer(md->secondaryTileset, (u8 *)tileset + 0x5000, 0x180); v2 = 0; do { @@ -1102,17 +1101,17 @@ LABEL_11: v7); v3 = v8; } - while ( (u16)v8 <= 0xFu ); + while ( (u16)v8 <= 0xF ); v2 = v18; } - while ( (u16)v18 <= 8u ); + while ( (u16)v18 <= 8 ); MapTileBlockBuf = (char *)Alloc(v17 << 7); - FourMapTileBlocksTempBuf = Alloc(0x80u); + FourMapTileBlocksTempBuf = Alloc(0x80); for ( j = 0; j < v17; j = (u16)j + 1 ) { - memset(FourMapTileBlocksTempBuf, 0, 0x80u); + memset(FourMapTileBlocksTempBuf, 0, 0x80); v13 = &mapArray[j]; - if ( *v13 <= 0x27Fu ) + if ( *v13 <= 0x27F ) TeachyTvComputeMapTilesFromTilesetAndMetaTiles( (u16 *)(16 * *v13 + (u16*)(md->primaryTileset->metatiles)), (u8 *)FourMapTileBlocksTempBuf, @@ -1123,9 +1122,9 @@ LABEL_11: (u8 *)FourMapTileBlocksTempBuf, (u8 *)tileset); - CpuFastSet(FourMapTileBlocksTempBuf, &MapTileBlockBuf[0x80 * j], 0x20u); + CpuFastSet(FourMapTileBlocksTempBuf, &MapTileBlockBuf[0x80 * j], 0x20); } - LoadBgTiles(3u, MapTileBlockBuf, (u16)v17 << 7, 0); + LoadBgTiles(3, MapTileBlockBuf, (u16)v17 << 7, 0); TeachyTvLoadMapPalette(&Route1_Layout, palIndexArray); Free(FourMapTileBlocksTempBuf); Free(MapTileBlockBuf); @@ -1378,7 +1377,7 @@ void TeachyTvPushBackNewMapPalIndexArrayEntry(struct MapData *mStruct, u16 *buf1 u16 *metaTileEntryAddr; int temp = mapEntry; - if ( temp <= 0x27Fu ) + if ( temp <= 0x27F ) { ts = mStruct->primaryTileset; } @@ -1480,54 +1479,54 @@ void TeachyTvComputeMapTilesFromTilesetAndMetaTiles(u16 *metaTilesArray, u8 *blo void TeachyTvComputeSingleMapTileBlockFromTilesetAndMetaTiles(u8 *blockBuf, u8 *tileset, u8 metaTile) { u8 *buffer; - u32 counterV7; - u32 counterV8; + u32 i; + u32 j; vu32 src; - buffer = (u8 *)AllocZeroed(0x20u); - src = ((u32)AllocZeroed(0x20u)); - CpuFastSet(tileset, buffer, 8u); + buffer = (u8 *)AllocZeroed(0x20); + src = ((u32)AllocZeroed(0x20)); + CpuFastSet(tileset, buffer, 8); if ( metaTile & 1 ) { - counterV7 = 0; + i = 0; do { - counterV8 = 0; + j = 0; do { - u32 offset1 = counterV7 << 2; - u32 offset2 = counterV8 - 3; + u32 offset1 = i << 2; + u32 offset2 = j - 3; u32 offset = offset1 - offset2; u32 value = buffer[offset]; - u32 dstOffset = offset1 + counterV8; + u32 dstOffset = offset1 + j; *(u8*)(src + dstOffset) = ((value & 0xF) << 4) + ((value & 0xF0) >> 4); } - while ( ++(u8)counterV8 <= 3u ); + while ( ++(u8)j <= 3 ); } - while ( ++(u8)counterV7 <= 7u ); - CpuFastSet((u8*)src, buffer, 8u); + while ( ++(u8)i <= 7 ); + CpuFastSet((u8*)src, buffer, 8); } if ( metaTile & 2 ) { - counterV8 = 0; + j = 0; do { - memcpy(&((u8*)src)[4 * counterV8], &buffer[4 * (7 - counterV8)], 4u); - counterV8 = (u8)(counterV8 + 1); + memcpy(&((u8*)src)[4 * j], &buffer[4 * (7 - j)], 4); + j = (u8)(j + 1); } - while ( counterV8 <= 7u ); - CpuFastSet((u8*)src, buffer, 8u); + while ( j <= 7 ); + CpuFastSet((u8*)src, buffer, 8); } - counterV8 = 0; + j = 0; do { - if ( buffer[counterV8] & 0xF0 ) - blockBuf[counterV8] = (blockBuf[counterV8] & 0xF) + (buffer[counterV8] & 0xF0); - if ( buffer[counterV8] & 0xF ) - blockBuf[counterV8] = (blockBuf[counterV8] & 0xF0) + (buffer[counterV8] & 0xF); - counterV8 = (u8)(counterV8 + 1); + if ( buffer[j] & 0xF0 ) + blockBuf[j] = (blockBuf[j] & 0xF) + (buffer[j] & 0xF0); + if ( buffer[j] & 0xF ) + blockBuf[j] = (blockBuf[j] & 0xF0) + (buffer[j] & 0xF); + j = (u8)(j + 1); } - while ( counterV8 <= 0x1Fu ); + while ( j <= 0x1F ); Free((u8*)src); Free(buffer); } @@ -1685,12 +1684,12 @@ void TeachyTvComputeSingleMapTileBlockFromTilesetAndMetaTiles(u8 *blockBuf, u8 * u16 TeachyTvComputePalIndexArrayEntryByMetaTile(u8 *palIndexArrayBuf, u16 metaTile) { u32 pal; - u32 counter; + u32 i; int firstEntry; int temp; pal = (u32)(metaTile << 16) >> 28; - counter = 0; + i = 0; firstEntry = *palIndexArrayBuf; if ( firstEntry != pal ) { @@ -1702,38 +1701,38 @@ u16 TeachyTvComputePalIndexArrayEntryByMetaTile(u8 *palIndexArrayBuf, u16 metaTi { while ( 1 ) { - counter = ((counter + 1) << 0x10) >> 0x10; - if ( counter > 0xF ) + i = ((i + 1) << 0x10) >> 0x10; + if ( i > 0xF ) break; - temp = palIndexArrayBuf[counter]; + temp = palIndexArrayBuf[i]; if ( temp == pal ) break; if ( temp == 0xFF ) { - palIndexArrayBuf[counter] = pal; + palIndexArrayBuf[i] = pal; break; } } } } - return (u16)(0xF - counter); + return (u16)(0xF - i); } #ifdef NONMATCHING -void TeachyTvLoadMapPalette(struct MapData *mStruct, u8 *palIndexArray) +void TeachyTvLoadMapPalette(const struct MapData * const mStruct, u8 *palIndexArray) { - u8 counter; + u8 i; struct Tileset *ts; - for (counter = 0; counter < 16 && palIndexArray[counter] != 0xFF; counter++) + for (i = 0; i < 16 && palIndexArray[i] != 0xFF; i++) { - ts = *(palIndexArray + counter) > 6u ? mStruct->secondaryTileset : mStruct->primaryTileset; - LoadPalette((u16 *)ts->palettes + 0x10 * palIndexArray[counter], 0x10 * (0xF - counter), 0x20u); + ts = *(palIndexArray + i) > 6 ? mStruct->secondaryTileset : mStruct->primaryTileset; + LoadPalette((u16 *)ts->palettes + 0x10 * palIndexArray[i], 0x10 * (0xF - i), 0x20); } } #else NAKED -void TeachyTvLoadMapPalette(struct MapData *mStruct, u8 *palIndexArray) +void TeachyTvLoadMapPalette(const struct MapData * const mStruct, u8 *palIndexArray) { asm_unified("\n\ push {r4-r6,lr}\n\ -- cgit v1.2.3 From d0315c2f67086f67a8e0af8a7aeefd14eec1baef Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Mon, 10 Jun 2019 03:15:40 +0800 Subject: not done, still have to do the struct stuff --- src/teachy_tv.c | 39 +++++++++++++-------------------------- 1 file changed, 13 insertions(+), 26 deletions(-) diff --git a/src/teachy_tv.c b/src/teachy_tv.c index feb3e3062..499253a72 100644 --- a/src/teachy_tv.c +++ b/src/teachy_tv.c @@ -319,7 +319,7 @@ void TeachyTvInitIo() SetGpuReg(REG_OFFSET_WININ, 0x3F); SetGpuReg(REG_OFFSET_WINOUT, 0x1F); SetGpuReg(REG_OFFSET_BLDCNT, 0xCC); - SetGpuReg(REG_OFFSET_BLDY, 5); + SetGpuReg(REG_OFFSET_BLDY, 0x5); } u8 TeachyTvSetupObjEventAndOam() @@ -346,8 +346,8 @@ void TeachyTvSetWindowRegs() void TeachyTvClearWindowRegs() { - SetGpuReg(REG_OFFSET_WIN0V, 0); - SetGpuReg(REG_OFFSET_WIN0H, 0); + SetGpuReg(REG_OFFSET_WIN0V, 0x0); + SetGpuReg(REG_OFFSET_WIN0H, 0x0); } void TeachyTvBg2AnimController() @@ -576,14 +576,9 @@ void TeachyTvOptionListController(u8 taskId) void TeachyTvClusFuncTransitionRenderBg2TeachyTvGraphicInitNpcPos(u8 taskId) { - u16 *data; - u32 counter; - - data = (u16 *)gTasks[taskId].data; + s16 *data = gTasks[taskId].data; TeachyTvBg2AnimController(); - counter = data[2] + 1; - data[2] = counter; - if ( (s16)counter > 63 ) + if ( ++data[2] > 63 ) { CopyToBgTilemapBufferRect_ChangePalette(2, (u8 *)gUnknown_203F450 + 0x3004, 0, 0, 0x20, 0x20, 0x11); TeachyTvSetSpriteCoordsAndSwitchFrame(((u8*)data)[2], 8, 0x38, 7); @@ -596,13 +591,8 @@ void TeachyTvClusFuncTransitionRenderBg2TeachyTvGraphicInitNpcPos(u8 taskId) void TeachyTvClusFuncClearBg2TeachyTvGraphic(u8 taskId) { - u16 *data; - u32 counter; - - data = (u16*)gTasks[taskId].data; - counter = data[2] + 1; - data[2] = counter; - if ( (s16)counter == 134 ) + s16 *data = gTasks[taskId].data; + if ( ++data[2] == 134 ) { FillBgTilemapBufferRect_Palette0(2, 0, 2, 1, 0x1A, 0xC); schedule_bg_copy_tilemap_to_vram(2); @@ -730,7 +720,7 @@ void TeachyTvClusFuncDudeMoveUp(u8 taskId) --((u8*)gUnknown_203F450)[0x4005]; TeachyTvGrassAnimationMain(taskId, obj->pos2.x, obj->pos2.y, 0, 0); } - if ( data[2] == 0x30 ) + if ( data[2] == 48 ) { data[2] = 0; data[4] = -1; @@ -742,20 +732,17 @@ void TeachyTvClusFuncDudeMoveUp(u8 taskId) void TeachyTvClusFuncDudeMoveRight(u8 taskId) { - u16 *data; + s16 *data; struct Sprite *obj; - int counter; data = (u16 *)gTasks[taskId].data; obj = &gSprites[(s16)data[1]]; ChangeBgX(3, 0x100, 1); - counter = data[2] + 1; - data[2] = counter; - if ( !(counter & 0xF) ) + if ( !(++data[2] & 0xF) ) ++((u8*)gUnknown_203F450)[0x4004]; if ( !((((s16*)data)[2] + 8) & 0xF) ) TeachyTvGrassAnimationMain(taskId, obj->pos2.x + 8, obj->pos2.y, 0, 0); - if ( (s16)data[2] == 0x30 ) + if ( data[2] == 0x30 ) { data[2] = 0; data[4] = 0; @@ -843,8 +830,8 @@ void TeachyTvBackToOptionList(u8 taskId) TeachyTvSetupScrollIndicatorArrowPair(); TeachyTvSetWindowRegs(); schedule_bg_copy_tilemap_to_vram(0); - ChangeBgX(3, 0, 0); - ChangeBgY(3, 0, 0); + ChangeBgX(3, 0x0, 0); + ChangeBgY(3, 0x0, 0); ChangeBgX(3, 0x1000, 2); ChangeBgY(3, 0x2800, 1); ((u8*)gUnknown_203F450)[0x4004] = 0; -- cgit v1.2.3 From 0faa768a0971128d40980b47ad1b9e348c3b9558 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Mon, 10 Jun 2019 03:55:42 +0800 Subject: now using struct decl --- src/teachy_tv.c | 104 ++++++++++++++++++++++++++++++-------------------------- 1 file changed, 56 insertions(+), 48 deletions(-) diff --git a/src/teachy_tv.c b/src/teachy_tv.c index 499253a72..7883fb864 100644 --- a/src/teachy_tv.c +++ b/src/teachy_tv.c @@ -40,8 +40,21 @@ struct TeachyTvCtrlBlk u16 filler; }; +struct TeachyTvBuf +{ + u32 state; + u8 buffer1[0x1000]; + u8 buffer2[0x1000]; + u8 buffer3[0x1000]; + u8 buffer4[0x1000]; + u8 var_4004; + u8 var_4005; + u8 var_4006; + u8 var_4007; +}; + extern struct TeachyTvCtrlBlk gTeachyTV_StaticResources; -extern void * gUnknown_203F450; +extern struct TeachyTvBuf * gUnknown_203F450; extern const struct ScrollIndicatorArrowPairTemplate gUnknown_8479380; extern const char gUnknown_841B83D; extern const struct BgTemplate gUnknown_84792E0; @@ -157,18 +170,18 @@ void TeachyTvMainCallback() int state; int taskId; struct Task *taskAddr; - u8 **memBuf; + struct TeachyTvBuf **memBuf; u32 x; state = gMain.state; switch (state) { case 0: - memBuf = (u8 **)&gUnknown_203F450; - (*memBuf) = (u8*)AllocZeroed(0x4008); - *(u32*)gUnknown_203F450 = (u32)state; - *((u8*)gUnknown_203F450 + 0x4006) = state; - *((u8*)gUnknown_203F450 + 0x4007) = 0xFF; + memBuf = &gUnknown_203F450; + (*memBuf) = (struct TeachyTvBuf *)AllocZeroed(0x4008); + gUnknown_203F450->state = (u32)state; + gUnknown_203F450->var_4006 = state; + gUnknown_203F450->var_4007 = 0xFF; VblankHblankHandlerSetZero(); clear_scheduled_bg_copies_to_vram(); ScanlineEffect_Stop(); @@ -219,9 +232,9 @@ void TeachyTvSetupBg() InitBgReg(); ResetBgsAndClearDma3BusyFlags(0); InitBgsFromTemplates(0, &gUnknown_84792E0, 4); - SetBgTilemapBuffer(1, (u8 *)gUnknown_203F450 + 4); - SetBgTilemapBuffer(2, (u8 *)gUnknown_203F450 + 0x1004); - SetBgTilemapBuffer(3, (u8 *)gUnknown_203F450 + 0x2004); + SetBgTilemapBuffer(1, gUnknown_203F450->buffer1); + SetBgTilemapBuffer(2, gUnknown_203F450->buffer2); + SetBgTilemapBuffer(3, gUnknown_203F450->buffer3); SetGpuReg(REG_OFFSET_DISPCNT, 0x3040); ShowBg(0); ShowBg(1); @@ -229,8 +242,8 @@ void TeachyTvSetupBg() ShowBg(3); ChangeBgX(3, 0x1000, 2); ChangeBgY(3, 0x2800, 1); - *((u8 *)gUnknown_203F450 + 0x4004) = 0; - *((u8 *)gUnknown_203F450 + 0x4005) = 3; + gUnknown_203F450->var_4004 = 0; + gUnknown_203F450->var_4005 = 3; SetGpuReg(REG_OFFSET_BLDCNT, 0); } @@ -240,12 +253,12 @@ void TeachyTvLoadGraphic() src = 0; reset_temp_tile_data_buffers(); decompress_and_copy_tile_data_to_vram(1, &gUnknown_8E86240, 0, 0, 0); - LZDecompressWram(&gUnknown_8E86BE8, (*(u8 **)&gUnknown_203F450) + 0x4); - LZDecompressWram(&gUnknown_8E86D6C, (*(u8 **)&gUnknown_203F450) + 0x3004); + LZDecompressWram(&gUnknown_8E86BE8, gUnknown_203F450->buffer1); + LZDecompressWram(&gUnknown_8E86D6C, gUnknown_203F450->buffer4); LoadCompressedPalette(&gUnknown_8E86F98, 0, 0x80); LoadPalette(&src, 0, 2); LoadSpritePalette(&gUnknown_83A5348); - TeachyTvLoadBg3Map((u8 *)gUnknown_203F450 + 0x2004); + TeachyTvLoadBg3Map(gUnknown_203F450->buffer3); } void TeachyTvCreateAndRenderRbox() @@ -284,27 +297,26 @@ void TeachyTvSetupScrollIndicatorArrowPair() hasItem = (u8)CheckBagHasItem(ITEM_TM_CASE, 1); if ( ! hasItem << 24 ) { - u8 * temp = (u8 *)gUnknown_203F450; - *((u8 *)temp + 0x4007) = 0xFF; + struct TeachyTvBuf * temp = gUnknown_203F450; + temp->var_4007 = 0xFF; } else { - u8 *temp, res; - res = AddScrollIndicatorArrowPair( - &gUnknown_8479380, - &(gTeachyTV_StaticResources.scrollOffset)); - temp = (u8 *)gUnknown_203F450; - *((u8 *)temp + 0x4007) = res; + struct TeachyTvBuf *temp; + u8 res; + res = AddScrollIndicatorArrowPair(&gUnknown_8479380, &(gTeachyTV_StaticResources.scrollOffset)); + temp = gUnknown_203F450; + temp->var_4007 = res; } } void TeachyTvRemoveScrollIndicatorArrowPair() { - u8 *temp = ((u8*)gUnknown_203F450 + 0x4007); + u8 *temp = &(gUnknown_203F450->var_4007); if ( *temp != 0xFF ) { RemoveScrollIndicatorArrowPair(*temp); - *((u8*)gUnknown_203F450 + 0x4007) = 0xFF; + gUnknown_203F450->var_4007 = 0xFF; } } @@ -392,8 +404,8 @@ void TeachyTvSetupPostBattleWindowAndObj(u8 taskId) TeachyTvSetSpriteCoordsAndSwitchFrame(((char*)v2)[2], 0x78, 0x38, 0); ChangeBgX(3, 0x3000, 1); ChangeBgY(3, 0x3000, 2); - *((u8 *)gUnknown_203F450 + 0x4004) += 3; - *((u8 *)gUnknown_203F450 + 0x4005) -= 3; + gUnknown_203F450->var_4004 += 3; + gUnknown_203F450->var_4005 -= 3; } else if ( op <= 5 ) TeachyTvSetSpriteCoordsAndSwitchFrame(((char*)v2)[2], 0x78, 0x38, 0); @@ -429,7 +441,7 @@ void TeachyTvQuitFadeControlAndTaskDel(u8 taskId) { if ( !(gPaletteFade.active) ) { - if ( *(u32 *)gUnknown_203F450 ) + if ( gUnknown_203F450->state ) { SetMainCallback2(*(void (**)())gUnknown_203F450); } @@ -580,7 +592,7 @@ void TeachyTvClusFuncTransitionRenderBg2TeachyTvGraphicInitNpcPos(u8 taskId) TeachyTvBg2AnimController(); if ( ++data[2] > 63 ) { - CopyToBgTilemapBufferRect_ChangePalette(2, (u8 *)gUnknown_203F450 + 0x3004, 0, 0, 0x20, 0x20, 0x11); + CopyToBgTilemapBufferRect_ChangePalette(2, gUnknown_203F450->buffer4, 0, 0, 0x20, 0x20, 0x11); TeachyTvSetSpriteCoordsAndSwitchFrame(((u8*)data)[2], 8, 0x38, 7); schedule_bg_copy_tilemap_to_vram(2); data[2] = 0; @@ -636,15 +648,15 @@ void TeachyTvRenderMsgAndSwitchClusterFuncs(u8 taskId) data = gTasks[taskId].data; if ( gMain.newKeys & 2 ) { - char *offset = ((char *)gUnknown_203F450 + 0x4006); - u32 v4 = 0; + u8 *offset = &(gUnknown_203F450->var_4006); + u32 zero = 0; offset[0] = 1; TeachyTvSetSpriteCoordsAndSwitchFrame(*((char *)data + 2), 0, 0, 0); FillWindowPixelBuffer(0, 0xCC); CopyWindowToVram(0, 2); TeachyTvClearBg1EndGraphicText(); - data[2] = v4; - data[3] = v4; + data[2] = zero; + data[3] = zero; gTasks[taskId].func = TeachyTvBackToOptionList; } else @@ -707,17 +719,13 @@ void TeachyTvClusFuncDudeMoveUp(u8 taskId) { s16 *data; struct Sprite *obj; - int temp; - int counter; data = gTasks[taskId].data; obj = &gSprites[data[1]]; ChangeBgY(3, 0x100, 2); - counter = (u16)data[2] + 1; - ((u16*)data)[2] = counter; - if ( !( counter % 16 ) ) + if ( !( ++data[2] & 0xF ) ) { - --((u8*)gUnknown_203F450)[0x4005]; + --gUnknown_203F450->var_4005; TeachyTvGrassAnimationMain(taskId, obj->pos2.x, obj->pos2.y, 0, 0); } if ( data[2] == 48 ) @@ -739,7 +747,7 @@ void TeachyTvClusFuncDudeMoveRight(u8 taskId) obj = &gSprites[(s16)data[1]]; ChangeBgX(3, 0x100, 1); if ( !(++data[2] & 0xF) ) - ++((u8*)gUnknown_203F450)[0x4004]; + ++gUnknown_203F450->var_4004; if ( !((((s16*)data)[2] + 8) & 0xF) ) TeachyTvGrassAnimationMain(taskId, obj->pos2.x + 8, obj->pos2.y, 0, 0); if ( data[2] == 0x30 ) @@ -834,9 +842,9 @@ void TeachyTvBackToOptionList(u8 taskId) ChangeBgY(3, 0x0, 0); ChangeBgX(3, 0x1000, 2); ChangeBgY(3, 0x2800, 1); - ((u8*)gUnknown_203F450)[0x4004] = 0; - ((u8*)gUnknown_203F450)[0x4005] = 3; - ((u8*)gUnknown_203F450)[0x4006] = 0; + gUnknown_203F450->var_4004 = 0; + gUnknown_203F450->var_4005 = 3; + gUnknown_203F450->var_4006 = 0; } } @@ -886,7 +894,7 @@ void TeachyTvGrassAnimationMain(u8 taskId, s16 x, s16 y, u8 subpriority, bool8 m const struct SpriteTemplate *const *objTemAddr; subprio = subpriority; - if ( ((u8*)gUnknown_203F450)[0x4006] != 1 ) + if ( gUnknown_203F450->var_4006 != 1 ) { res = TeachyTvGrassAnimationCheckIfNeedsToGenerateGrassObj( (u32)((x << 16) - 0x100000) >> 16, @@ -920,7 +928,7 @@ void TeachyTvGrassAnimationObjCallback(struct Sprite *sprite) u32 diff1, diff2; s16 *data = gTasks[sprite->data[0]].data; struct Sprite *objAddr = &gSprites[data[1]]; - if (((u8*)gUnknown_203F450)[0x4006] == 1) + if (gUnknown_203F450->var_4006 == 1) DestroySprite(sprite); else { if (!sprite->animCmdIndex) @@ -950,14 +958,14 @@ void TeachyTvGrassAnimationObjCallback(struct Sprite *sprite) u8 TeachyTvGrassAnimationCheckIfNeedsToGenerateGrassObj(s16 x, s16 y) { const u8 * arr; - u8 *ptr; + struct TeachyTvBuf *ptr; int high, low; if ( (x < 0) || (y < 0) ) return 0; arr = &gUnknown_84795C8; ptr = gUnknown_203F450; - high = ((y >> 4) + ptr[0x4005]) << 4; - low = ((x >> 4) + ptr[0x4004]); + high = ((y >> 4) + ptr->var_4005) << 4; + low = ((x >> 4) + ptr->var_4004); return arr[high+low]; } -- cgit v1.2.3 From 4dc1fc8c66cfda1892eb091fbcefa4c98b556127 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Mon, 10 Jun 2019 04:10:41 +0800 Subject: sub_815ABC4 --- src/teachy_tv.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/teachy_tv.c b/src/teachy_tv.c index 7883fb864..4e6787755 100644 --- a/src/teachy_tv.c +++ b/src/teachy_tv.c @@ -137,18 +137,18 @@ void TeachyTvVblankHandler() void sub_815ABC4(u8 mode, void (*cb)()) { - struct TeachyTvCtrlBlk *resAddr = &gTeachyTV_StaticResources; - u16 zero = 0; - resAddr->mode = mode; - resAddr->callback = cb; - if (!mode) + gTeachyTV_StaticResources.mode = mode; + gTeachyTV_StaticResources.callback = cb; + if (mode == 0) { - resAddr->scrollOffset = zero; - resAddr->selectedRow = zero; - resAddr->optionChosen = 0; + gTeachyTV_StaticResources.scrollOffset = 0; + gTeachyTV_StaticResources.selectedRow = 0; + gTeachyTV_StaticResources.optionChosen = 0; } if (mode == 1) - resAddr->mode = 0; + { + gTeachyTV_StaticResources.mode = 0; + } SetMainCallback2(TeachyTvMainCallback); } -- cgit v1.2.3 From f194f18f4c761d119b493d9d34ba2b170706f1a6 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Mon, 10 Jun 2019 05:32:23 +0800 Subject: improved --- src/teachy_tv.c | 124 +++++++++++++++++++++++++------------------------------- 1 file changed, 56 insertions(+), 68 deletions(-) diff --git a/src/teachy_tv.c b/src/teachy_tv.c index 4e6787755..a7d5b7da0 100644 --- a/src/teachy_tv.c +++ b/src/teachy_tv.c @@ -171,7 +171,6 @@ void TeachyTvMainCallback() int taskId; struct Task *taskAddr; struct TeachyTvBuf **memBuf; - u32 x; state = gMain.state; switch (state) @@ -207,8 +206,7 @@ void TeachyTvMainCallback() else { taskId = CreateTask(TeachyTvOptionListController, 0); - x = (u32)TeachyTvSetupWindow(); - gTasks[taskId].data[0] = (x << 24) >> 24; + gTasks[taskId].data[0] = TeachyTvSetupWindow(); gTasks[taskId].data[1] = TeachyTvSetupObjEventAndOam(); TeachyTvSetupScrollIndicatorArrowPair(); PlayNewMapMusic(BGM_FRLG_TEACHY_TV); @@ -277,8 +275,7 @@ u8 TeachyTvSetupWindow() gMultiuseListMenuTemplate = gUnknown_8479368; gMultiuseListMenuTemplate.windowId = 1; gMultiuseListMenuTemplate.moveCursorFunc = TeachyTvAudioByInput; - hasItem = (u8)CheckBagHasItem(ITEM_TM_CASE, 1); - if ( !(hasItem << 24) ) + if (!CheckBagHasItem(ITEM_TM_CASE, 1)) { gMultiuseListMenuTemplate.items = &gUnknown_8479340; gMultiuseListMenuTemplate.totalItems = 5; @@ -294,8 +291,7 @@ u8 TeachyTvSetupWindow() void TeachyTvSetupScrollIndicatorArrowPair() { int hasItem; - hasItem = (u8)CheckBagHasItem(ITEM_TM_CASE, 1); - if ( ! hasItem << 24 ) + if (!CheckBagHasItem(ITEM_TM_CASE, 1)) { struct TeachyTvBuf * temp = gUnknown_203F450; temp->var_4007 = 0xFF; @@ -312,17 +308,16 @@ void TeachyTvSetupScrollIndicatorArrowPair() void TeachyTvRemoveScrollIndicatorArrowPair() { - u8 *temp = &(gUnknown_203F450->var_4007); - if ( *temp != 0xFF ) + if ( gUnknown_203F450->var_4007 != 0xFF ) { - RemoveScrollIndicatorArrowPair(*temp); + RemoveScrollIndicatorArrowPair(gUnknown_203F450->var_4007); gUnknown_203F450->var_4007 = 0xFF; } } void TeachyTvAudioByInput(s32 notUsed, bool8 play, struct ListMenu *notUsedAlt) { - if ( play != 1 ) + if ( play != TRUE ) PlaySE(SE_SELECT); } @@ -365,8 +360,8 @@ void TeachyTvClearWindowRegs() void TeachyTvBg2AnimController() { u16 *tilemapBuffer; - u8 i; - u32 offset, offset2, j; + u8 i, offset2; + u32 j, offset; tilemapBuffer = (u16 *)GetBgTilemapBuffer(2); i = 1; @@ -378,19 +373,19 @@ void TeachyTvBg2AnimController() do { tilemapBuffer[offset + offset2] = ((Random() & 3) << 10) + 0x301F; - offset2 = (offset2 + 1) << 0x18 >> 0x18; + offset2 = (offset2 + 1); } while ( offset2 <= 0x1B ); i = j; } - while ( j << 0x18 >> 0x18 <= 0xC ); + while ( (u8)j <= 0xC ); schedule_bg_copy_tilemap_to_vram(2); } void TeachyTvSetupPostBattleWindowAndObj(u8 taskId) { - u16 *v2 = gTasks[taskId].data; - int v1 = ((s16 *)v2)[1]; + s16 *data = gTasks[taskId].data; + int v1 = (data)[1]; struct Sprite *v3 = &gSprites[v1]; int op; @@ -401,18 +396,18 @@ void TeachyTvSetupPostBattleWindowAndObj(u8 taskId) { if ( op <= 3 ) { - TeachyTvSetSpriteCoordsAndSwitchFrame(((char*)v2)[2], 0x78, 0x38, 0); + TeachyTvSetSpriteCoordsAndSwitchFrame(((char*)data)[2], 0x78, 0x38, 0); ChangeBgX(3, 0x3000, 1); ChangeBgY(3, 0x3000, 2); gUnknown_203F450->var_4004 += 3; gUnknown_203F450->var_4005 -= 3; } else if ( op <= 5 ) - TeachyTvSetSpriteCoordsAndSwitchFrame(((char*)v2)[2], 0x78, 0x38, 0); + TeachyTvSetSpriteCoordsAndSwitchFrame(((char*)data)[2], 0x78, 0x38, 0); } - v2[4] = 0; - v2[5] = 0; + data[4] = 0; + data[5] = 0; TeachyTvGrassAnimationMain(taskId, v3->pos2.x, v3->pos2.y, 0, 1); } @@ -458,32 +453,32 @@ void TeachyTvQuitFadeControlAndTaskDel(u8 taskId) #ifdef NONMATCHING void TeachyTvOptionListController(u8 taskId) { - char *v2; - s32 v3; + s16 *data; + s32 res; - v2 = (char *)gTasks[taskId].data; + data = gTasks[taskId].data; TeachyTvBg2AnimController(); if ( !(gPaletteFade.active) ) { - v3 = ListMenuHandleInput(*v2); - ListMenuGetScrollAndRow(*v2, &gTeachyTV_StaticResources.scrollOffset, &gTeachyTV_StaticResources.selectedRow); + res = ListMenuHandleInput(*data); + ListMenuGetScrollAndRow(*data, &gTeachyTV_StaticResources.scrollOffset, &gTeachyTV_StaticResources.selectedRow); if ( ((gMain.newKeys) & 4 && (gTeachyTV_StaticResources.callback != UseFameCheckerFromMenu)) - || (v3 == -2) ) + || (res == -2) ) { PlaySE(SE_SELECT); TeachyTvQuitBeginFade(taskId); } - else if ( v3 != -1 ) + else if ( res != -1 ) { PlaySE(SE_SELECT); - gTeachyTV_StaticResources.optionChosen = v3; - DestroyListMenu(*v2, &gTeachyTV_StaticResources.scrollOffset, &gTeachyTV_StaticResources.selectedRow); + gTeachyTV_StaticResources.optionChosen = res; + DestroyListMenu(*data, &gTeachyTV_StaticResources.scrollOffset, &gTeachyTV_StaticResources.selectedRow); TeachyTvClearWindowRegs(); ClearWindowTilemap(1); schedule_bg_copy_tilemap_to_vram(0); TeachyTvRemoveScrollIndicatorArrowPair(); - *((u16 *)v2 + 3) = 0; - *((u16 *)v2 + 2) = 0; + data[3] = 0; + data[2] = 0; gTasks[taskId].func = TeachyTvRenderMsgAndSwitchClusterFuncs; } } @@ -637,14 +632,14 @@ void TeachyTvClusFuncNpcMoveAndSetupTextPrinter(u8 taskId) void TeachyTvClusFuncIdleIfTextPrinterIsActive(u8 taskId) { - u16* data = (u16 *)gTasks[taskId].data; - if ( !(sub_80BF518(0) << 16) ) + s16* data = (u16 *)gTasks[taskId].data; + if ( !sub_80BF518(0) ) ++data[3]; } void TeachyTvRenderMsgAndSwitchClusterFuncs(u8 taskId) { - u16 *data; + s16 *data; data = gTasks[taskId].data; if ( gMain.newKeys & 2 ) { @@ -663,15 +658,13 @@ void TeachyTvRenderMsgAndSwitchClusterFuncs(u8 taskId) { void (***array)(u8) = &gUnknown_8479548; void (**cluster)(u8) = array[(u8)gTeachyTV_StaticResources.optionChosen]; - _call_via_r1( - taskId, - cluster[(s16)data[3]]); + cluster[data[3]](taskId); } } void TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen(u8 taskId) { - u16 *data = (u16 *)gTasks[taskId].data; + s16 *data = (u16 *)gTasks[taskId].data; const char * const* texts = &gUnknown_8479560; TeachyTvInitTextPrinter(texts[gTeachyTV_StaticResources.optionChosen]); ++data[3]; @@ -679,7 +672,7 @@ void TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen(u8 taskId) void TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen2(u8 taskId) { - u16 *data = (u16 *)gTasks[taskId].data; + s16 *data = (u16 *)gTasks[taskId].data; const char * const* texts = &gUnknown_8479578; TeachyTvInitTextPrinter(texts[gTeachyTV_StaticResources.optionChosen]); ++data[3]; @@ -687,16 +680,16 @@ void TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen2(u8 taskId) void TeachyTvClusFuncIdleIfTextPrinterIsActive2(u8 taskId) { - u16* data = (u16 *)gTasks[taskId].data; - if ( !(sub_80BF518(0) << 16) ) + s16* data = (u16 *)gTasks[taskId].data; + if ( !sub_80BF518(0) ) ++data[3]; } void TeachyTvClusFuncEraseTextWindowIfKeyPressed(u8 taskId) { - u16 *data; + s16 *data; data = (u16 *)gTasks[taskId].data; - if ( gMain.newKeys & 3 ) + if (JOY_NEW(A_BUTTON | B_BUTTON)) { FillWindowPixelBuffer(0, 0xCC); CopyWindowToVram(0, 2); @@ -706,7 +699,7 @@ void TeachyTvClusFuncEraseTextWindowIfKeyPressed(u8 taskId) void TeachyTvClusFuncStartAnimNpcWalkIntoGrass(u8 taskId) { - u16 *data; + s16 *data; data = (u16 *)gTasks[taskId].data; StartSpriteAnim(&gSprites[(s16)data[1]], 5); data[2] = 0; @@ -748,7 +741,7 @@ void TeachyTvClusFuncDudeMoveRight(u8 taskId) ChangeBgX(3, 0x100, 1); if ( !(++data[2] & 0xF) ) ++gUnknown_203F450->var_4004; - if ( !((((s16*)data)[2] + 8) & 0xF) ) + if ( !((data[2] + 8) & 0xF) ) TeachyTvGrassAnimationMain(taskId, obj->pos2.x + 8, obj->pos2.y, 0, 0); if ( data[2] == 0x30 ) { @@ -768,7 +761,7 @@ void TeachyTvClusFuncDudeTurnLeft(u8 taskId) data = gTasks[taskId].data; v3 = &gSprites[data[1]]; StartSpriteAnim(v3, 6); - ++(u16)data[3]; + ++data[3]; data[4] = 0; data[5] = 0; TeachyTvGrassAnimationMain(taskId, v3->pos2.x, v3->pos2.y, 0, 0); @@ -785,7 +778,7 @@ void TeachyTvClusFuncDudeMoveLeft(u8 taskId) if ( !(v2->pos2.x & 0xF) ) TeachyTvGrassAnimationMain(taskId, v2->pos2.x - 8, v2->pos2.y, 0, 0); if ( v2->pos2.x == 8 ) - ++(u16)data[3]; + ++data[3]; else --v2->pos2.x; } @@ -793,7 +786,6 @@ void TeachyTvClusFuncDudeMoveLeft(u8 taskId) void TeachyTvClusFuncRenderAndRemoveBg1EndGraphic(u8 taskId) { s16 *data; - int temp; data = gTasks[taskId].data; if ( !data[2] ) @@ -801,13 +793,11 @@ void TeachyTvClusFuncRenderAndRemoveBg1EndGraphic(u8 taskId) CopyToBgTilemapBufferRect_ChangePalette(1, &gUnknown_8479590, 0x14, 0xA, 8, 2, 0x11); schedule_bg_copy_tilemap_to_vram(1); } - temp = (u16)data[2] + 1; - data[2] = temp; - if ( (s16)temp > 126 ) + if ( ++data[2] > 126 ) { TeachyTvClearBg1EndGraphicText(); - (u16)data[2] = 0; - ++(u16)data[3]; + data[2] = 0; + ++data[3]; } } @@ -820,15 +810,12 @@ void TeachyTvClearBg1EndGraphicText() void TeachyTvBackToOptionList(u8 taskId) { s16 *data; - s32 temp; data = gTasks[taskId].data; if ( !data[2] ) PlayNewMapMusic(BGM_FRLG_TEACHY_TV); TeachyTvBg2AnimController(); - temp = (u16)data[2] + 1; - data[2] = temp; - if ( (s16)temp > 0x3F ) + if ( ++data[2] > 63 ) { data[2] = 0; data[3] = 0; @@ -851,17 +838,18 @@ void TeachyTvBackToOptionList(u8 taskId) void TeachyTvChainTaskBattleOrFadeByOptionChosen(u8 taskId) { int op = gTeachyTV_StaticResources.optionChosen; - if ( op < 0 ) - return; - if ( op <= 3 ) + if ( op >= 0 ) { - TeachyTvPrepBattle(taskId); + if ( op <= 3 ) + { + TeachyTvPrepBattle(taskId); - } - else if ( op <= 5 ) - { - *((void(**)())gUnknown_203F450) = TeachyTvSetupBagItemsByOptionChosen; - TeachyTvQuitBeginFade(taskId); + } + else if ( op <= 5 ) + { + *((void(**)())gUnknown_203F450) = TeachyTvSetupBagItemsByOptionChosen; + TeachyTvQuitBeginFade(taskId); + } } } @@ -897,7 +885,7 @@ void TeachyTvGrassAnimationMain(u8 taskId, s16 x, s16 y, u8 subpriority, bool8 m if ( gUnknown_203F450->var_4006 != 1 ) { res = TeachyTvGrassAnimationCheckIfNeedsToGenerateGrassObj( - (u32)((x << 16) - 0x100000) >> 16, + x - 0x10, y); if ( res << 24 ) { -- cgit v1.2.3 From 4580b3fb33f8ee06b66d24277af21d79a545a53c Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Mon, 10 Jun 2019 05:53:49 +0800 Subject: fix TeachyTvOptionListController --- src/teachy_tv.c | 145 +++++++++++--------------------------------------------- 1 file changed, 28 insertions(+), 117 deletions(-) diff --git a/src/teachy_tv.c b/src/teachy_tv.c index a7d5b7da0..9a0d61fa0 100644 --- a/src/teachy_tv.c +++ b/src/teachy_tv.c @@ -450,137 +450,48 @@ void TeachyTvQuitFadeControlAndTaskDel(u8 taskId) } } -#ifdef NONMATCHING void TeachyTvOptionListController(u8 taskId) { - s16 *data; - s32 res; + s16 * data = gTasks[taskId].data; + s32 input; - data = gTasks[taskId].data; TeachyTvBg2AnimController(); - if ( !(gPaletteFade.active) ) + if (!gPaletteFade.active) { - res = ListMenuHandleInput(*data); - ListMenuGetScrollAndRow(*data, &gTeachyTV_StaticResources.scrollOffset, &gTeachyTV_StaticResources.selectedRow); - if ( ((gMain.newKeys) & 4 && (gTeachyTV_StaticResources.callback != UseFameCheckerFromMenu)) - || (res == -2) ) + input = ListMenuHandleInput(data[0]); + ListMenuGetScrollAndRow(data[0], &gTeachyTV_StaticResources.scrollOffset, &gTeachyTV_StaticResources.selectedRow); + if ((JOY_NEW(SELECT_BUTTON) && gTeachyTV_StaticResources.callback != UseFameCheckerFromMenu)) { PlaySE(SE_SELECT); TeachyTvQuitBeginFade(taskId); } - else if ( res != -1 ) + else { - PlaySE(SE_SELECT); - gTeachyTV_StaticResources.optionChosen = res; - DestroyListMenu(*data, &gTeachyTV_StaticResources.scrollOffset, &gTeachyTV_StaticResources.selectedRow); - TeachyTvClearWindowRegs(); - ClearWindowTilemap(1); - schedule_bg_copy_tilemap_to_vram(0); - TeachyTvRemoveScrollIndicatorArrowPair(); - data[3] = 0; - data[2] = 0; - gTasks[taskId].func = TeachyTvRenderMsgAndSwitchClusterFuncs; + switch (input) + { + case -1: + break; + case -2: + PlaySE(SE_SELECT); + TeachyTvQuitBeginFade(taskId); + break; + default: + PlaySE(SE_SELECT); + gTeachyTV_StaticResources.optionChosen = input; + DestroyListMenu(data[0], &gTeachyTV_StaticResources.scrollOffset, &gTeachyTV_StaticResources.selectedRow); + TeachyTvClearWindowRegs(); + ClearWindowTilemap(1); + schedule_bg_copy_tilemap_to_vram(0); + TeachyTvRemoveScrollIndicatorArrowPair(); + data[3] = 0; + data[2] = 0; + gTasks[taskId].func = TeachyTvRenderMsgAndSwitchClusterFuncs; + break; + } } } } -#else -NAKED -void TeachyTvOptionListController(u8 taskId) -{ - asm_unified("\n\ - push {r4-r7,lr}\n\ - lsls r0, 24\n\ - lsrs r7, r0, 24\n\ - lsls r0, r7, 2\n\ - adds r0, r7\n\ - lsls r0, 3\n\ - ldr r1, _0815B31C @ =gTasks+0x8\n\ - adds r6, r0, r1\n\ - bl TeachyTvBg2AnimController\n\ - ldr r0, _0815B320 @ =gPaletteFade\n\ - ldrb r1, [r0, 0x7]\n\ - movs r0, 0x80\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - bne _0815B37A\n\ - ldrb r0, [r6]\n\ - bl ListMenuHandleInput\n\ - adds r5, r0, 0\n\ - ldrb r0, [r6]\n\ - ldr r4, _0815B324 @ =gTeachyTV_StaticResources+6\n\ - adds r2, r4, 0x2\n\ - adds r1, r4, 0\n\ - bl ListMenuGetScrollAndRow\n\ - ldr r0, _0815B328 @ =gMain\n\ - ldrh r1, [r0, 0x2E]\n\ - movs r0, 0x4\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _0815B30A\n\ - subs r0, r4, 0x6\n\ - ldr r1, [r0]\n\ - ldr r0, _0815B32C @ =UseFameCheckerFromMenu\n\ - cmp r1, r0\n\ - bne _0815B330\n\ - _0815B30A:\n\ - movs r0, 0x2\n\ - negs r0, r0\n\ - cmp r5, r0\n\ - beq _0815B330\n\ - adds r0, 0x1\n\ - cmp r5, r0\n\ - bne _0815B33E\n\ - b _0815B37A\n\ - .align 2, 0\n\ - _0815B31C: .4byte gTasks+0x8\n\ - _0815B320: .4byte gPaletteFade\n\ - _0815B324: .4byte gTeachyTV_StaticResources+6\n\ - _0815B328: .4byte gMain\n\ - _0815B32C: .4byte UseFameCheckerFromMenu\n\ - _0815B330:\n\ - movs r0, 0x5\n\ - bl PlaySE\n\ - adds r0, r7, 0\n\ - bl TeachyTvQuitBeginFade\n\ - b _0815B37A\n\ - _0815B33E:\n\ - movs r0, 0x5\n\ - bl PlaySE\n\ - ldr r2, _0815B380 @ =gTeachyTV_StaticResources\n\ - movs r4, 0\n\ - strb r5, [r2, 0x5]\n\ - ldrb r0, [r6]\n\ - adds r1, r2, 0x6\n\ - adds r2, 0x8\n\ - bl DestroyListMenu\n\ - bl TeachyTvClearWindowRegs\n\ - movs r0, 0x1\n\ - bl ClearWindowTilemap\n\ - movs r0, 0\n\ - bl schedule_bg_copy_tilemap_to_vram\n\ - bl TeachyTvRemoveScrollIndicatorArrowPair\n\ - strh r4, [r6, 0x6]\n\ - strh r4, [r6, 0x4]\n\ - ldr r1, _0815B384 @ =gTasks\n\ - lsls r0, r7, 2\n\ - adds r0, r7\n\ - lsls r0, 3\n\ - adds r0, r1\n\ - ldr r1, _0815B388 @ =TeachyTvRenderMsgAndSwitchClusterFuncs\n\ - str r1, [r0]\n\ - _0815B37A:\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .align 2, 0\n\ - _0815B380: .4byte gTeachyTV_StaticResources\n\ - _0815B384: .4byte gTasks\n\ - _0815B388: .4byte TeachyTvRenderMsgAndSwitchClusterFuncs\n\ - "); -} -#endif - void TeachyTvClusFuncTransitionRenderBg2TeachyTvGraphicInitNpcPos(u8 taskId) { s16 *data = gTasks[taskId].data; -- cgit v1.2.3 From dcbeca2beb9303e6fd18b77cd8d133ea86686ea1 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Mon, 10 Jun 2019 06:00:06 +0800 Subject: fix a type --- src/teachy_tv.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/teachy_tv.c b/src/teachy_tv.c index 9a0d61fa0..62d5dc4f6 100644 --- a/src/teachy_tv.c +++ b/src/teachy_tv.c @@ -1578,7 +1578,7 @@ void TeachyTvComputeSingleMapTileBlockFromTilesetAndMetaTiles(u8 *blockBuf, u8 * u16 TeachyTvComputePalIndexArrayEntryByMetaTile(u8 *palIndexArrayBuf, u16 metaTile) { u32 pal; - u32 i; + u16 i; int firstEntry; int temp; @@ -1595,7 +1595,7 @@ u16 TeachyTvComputePalIndexArrayEntryByMetaTile(u8 *palIndexArrayBuf, u16 metaTi { while ( 1 ) { - i = ((i + 1) << 0x10) >> 0x10; + ++i; if ( i > 0xF ) break; temp = palIndexArrayBuf[i]; @@ -1609,7 +1609,7 @@ u16 TeachyTvComputePalIndexArrayEntryByMetaTile(u8 *palIndexArrayBuf, u16 metaTi } } } - return (u16)(0xF - i); + return (0xF - i); } #ifdef NONMATCHING -- cgit v1.2.3 From cce7cee9bd710f59e4078dc1e088b5e645514049 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Mon, 10 Jun 2019 07:20:37 +0800 Subject: all fixed --- include/teachy_tv.h | 4 +-- src/teachy_tv.c | 96 +++++++++++++++++++++++++---------------------------- 2 files changed, 47 insertions(+), 53 deletions(-) diff --git a/include/teachy_tv.h b/include/teachy_tv.h index 29ef726c9..6f3a25266 100644 --- a/include/teachy_tv.h +++ b/include/teachy_tv.h @@ -2,7 +2,7 @@ #define GUARD_TEACHY_TV_H void sub_815ABC4(u8 mode, void (*cb)()); -void sub_815ABFC(); -void sub_815AC20(); +void sub_815ABFC(void); +void sub_815AC20(void); #endif //GUARD_TEACHY_TV_H diff --git a/src/teachy_tv.c b/src/teachy_tv.c index 62d5dc4f6..632cd5d4f 100644 --- a/src/teachy_tv.c +++ b/src/teachy_tv.c @@ -76,41 +76,41 @@ extern const struct SpriteTemplate * const gUnknown_83A0010; extern const u8 gUnknown_84795C8; extern const struct MapData Route1_Layout; -extern void VblankHblankHandlerSetZero(); +extern void VblankHblankHandlerSetZero(void); extern void sub_812B1E0(u16); extern u8 ListMenuInitInternal(struct ListMenuTemplate *, u16 scrollOffset, u16 selectedRow); -extern void sub_8055DC4(); +extern void sub_8055DC4(void); extern bool16 sub_80BF518(u8 textPrinterId); extern void _call_via_r1(s32 arg, void *func); extern void sub_810B108(u8); -extern void sub_8159F40(); - -void TeachyTvCallback(); -void TeachyTvMainCallback(); -void TeachyTvVblankHandler(); -void TeachyTvCreateAndRenderRbox(); -void TeachyTvInitIo(); -u8 TeachyTvSetupObjEventAndOam(); +extern void sub_8159F40(void); + +void TeachyTvCallback(void); +void TeachyTvMainCallback(void); +void TeachyTvVblankHandler(void); +void TeachyTvCreateAndRenderRbox(void); +void TeachyTvInitIo(void); +u8 TeachyTvSetupObjEventAndOam(void); void TeachyTvSetupPostBattleWindowAndObj(u8); -u8 TeachyTvSetupWindow(); -void TeachyTvSetupScrollIndicatorArrowPair(); -void TeachyTvSetWindowRegs(); -void TeachyTvSetupBg(); -void TeachyTvLoadGraphic(); +u8 TeachyTvSetupWindow(void); +void TeachyTvSetupScrollIndicatorArrowPair(void); +void TeachyTvSetWindowRegs(void); +void TeachyTvSetupBg(void); +void TeachyTvLoadGraphic(void); void TeachyTvPostBattleFadeControl(u8); void TeachyTvOptionListController(u8); void TeachyTvAudioByInput(s32, bool8, struct ListMenu *); void TeachyTvQuitFadeControlAndTaskDel(u8 taskId); void TeachyTvRenderMsgAndSwitchClusterFuncs(u8 taskId); -void TeachyTvClearBg1EndGraphicText(); +void TeachyTvClearBg1EndGraphicText(void); void TeachyTvBackToOptionList(u8 taskId); -void TeachyTvSetupBagItemsByOptionChosen(); +void TeachyTvSetupBagItemsByOptionChosen(void); void TeachyTvPrepBattle(u8 taskId); void TeachyTvGrassAnimationMain(u8 taskId, s16 x, s16 y, u8 subpriority, bool8 mode); void TeachyTvLoadBg3Map(void *); u8 TeachyTvGrassAnimationCheckIfNeedsToGenerateGrassObj(s16 x, s16 y); void TeachyTvGrassAnimationObjCallback(struct Sprite *sprite); -void TeachyTvRestorePlayerPartyCallback(); +void TeachyTvRestorePlayerPartyCallback(void); void TeachyTvPreBattleAnimAndSetBattleCallback(u8 taskId); void TeachyTvLoadMapTilesetToBuffer(struct Tileset *ts, u8 *dstBuffer, u16 size); void TeachyTvPushBackNewMapPalIndexArrayEntry(struct MapData *mStruct, u16 *buf1, u8 *palIndexArray, u16 mapEntry, u16 offset); @@ -119,7 +119,7 @@ void TeachyTvComputeSingleMapTileBlockFromTilesetAndMetaTiles(u8 *blockBuf, u8 * u16 TeachyTvComputePalIndexArrayEntryByMetaTile(u8 *palIndexArrayBuf, u16 metaTile); void TeachyTvLoadMapPalette(const struct MapData *const mStruct, u8 *palIndexArray); -void TeachyTvCallback() +void TeachyTvCallback(void) { RunTasks(); AnimateSprites(); @@ -128,7 +128,7 @@ void TeachyTvCallback() UpdatePaletteFade(); } -void TeachyTvVblankHandler() +void TeachyTvVblankHandler(void) { LoadOam(); ProcessSpriteCopyRequests(); @@ -152,7 +152,7 @@ void sub_815ABC4(u8 mode, void (*cb)()) SetMainCallback2(TeachyTvMainCallback); } -void sub_815ABFC() +void sub_815ABFC(void) { if (gTeachyTV_StaticResources.mode == 1) sub_815ABC4(1, gTeachyTV_StaticResources.callback); @@ -160,26 +160,22 @@ void sub_815ABFC() sub_815ABC4(2, gTeachyTV_StaticResources.callback); } -void sub_815AC20() +void sub_815AC20(void) { gTeachyTV_StaticResources.mode = 1; } -void TeachyTvMainCallback() +void TeachyTvMainCallback(void) { - int state; - int taskId; + u8 taskId; struct Task *taskAddr; - struct TeachyTvBuf **memBuf; - state = gMain.state; - switch (state) + switch (gMain.state) { case 0: - memBuf = &gUnknown_203F450; - (*memBuf) = (struct TeachyTvBuf *)AllocZeroed(0x4008); - gUnknown_203F450->state = (u32)state; - gUnknown_203F450->var_4006 = state; + gUnknown_203F450 = AllocZeroed(sizeof(struct TeachyTvBuf)); + gUnknown_203F450->state = 0; + gUnknown_203F450->var_4006 = 0; gUnknown_203F450->var_4007 = 0xFF; VblankHblankHandlerSetZero(); clear_scheduled_bg_copies_to_vram(); @@ -193,7 +189,7 @@ void TeachyTvMainCallback() ++gMain.state; break; case 1: - if ( free_temp_tile_data_buffers_if_possible() == 1 ) + if ( free_temp_tile_data_buffers_if_possible() == TRUE ) return; TeachyTvCreateAndRenderRbox(); TeachyTvInitIo(); @@ -225,7 +221,7 @@ void TeachyTvMainCallback() } } -void TeachyTvSetupBg() +void TeachyTvSetupBg(void) { InitBgReg(); ResetBgsAndClearDma3BusyFlags(0); @@ -245,7 +241,7 @@ void TeachyTvSetupBg() SetGpuReg(REG_OFFSET_BLDCNT, 0); } -void TeachyTvLoadGraphic() +void TeachyTvLoadGraphic(void) { u16 src; src = 0; @@ -259,7 +255,7 @@ void TeachyTvLoadGraphic() TeachyTvLoadBg3Map(gUnknown_203F450->buffer3); } -void TeachyTvCreateAndRenderRbox() +void TeachyTvCreateAndRenderRbox(void) { InitWindows(&gUnknown_84792F0); DeactivateAllTextPrinters(); @@ -269,9 +265,8 @@ void TeachyTvCreateAndRenderRbox() CopyWindowToVram(0, 2); } -u8 TeachyTvSetupWindow() +u8 TeachyTvSetupWindow(void) { - int hasItem; gMultiuseListMenuTemplate = gUnknown_8479368; gMultiuseListMenuTemplate.windowId = 1; gMultiuseListMenuTemplate.moveCursorFunc = TeachyTvAudioByInput; @@ -288,9 +283,8 @@ u8 TeachyTvSetupWindow() gTeachyTV_StaticResources.selectedRow); } -void TeachyTvSetupScrollIndicatorArrowPair() +void TeachyTvSetupScrollIndicatorArrowPair(void) { - int hasItem; if (!CheckBagHasItem(ITEM_TM_CASE, 1)) { struct TeachyTvBuf * temp = gUnknown_203F450; @@ -306,7 +300,7 @@ void TeachyTvSetupScrollIndicatorArrowPair() } } -void TeachyTvRemoveScrollIndicatorArrowPair() +void TeachyTvRemoveScrollIndicatorArrowPair(void) { if ( gUnknown_203F450->var_4007 != 0xFF ) { @@ -321,7 +315,7 @@ void TeachyTvAudioByInput(s32 notUsed, bool8 play, struct ListMenu *notUsedAlt) PlaySE(SE_SELECT); } -void TeachyTvInitIo() +void TeachyTvInitIo(void) { SetGpuReg(REG_OFFSET_WININ, 0x3F); SetGpuReg(REG_OFFSET_WINOUT, 0x1F); @@ -329,7 +323,7 @@ void TeachyTvInitIo() SetGpuReg(REG_OFFSET_BLDY, 0x5); } -u8 TeachyTvSetupObjEventAndOam() +u8 TeachyTvSetupObjEventAndOam(void) { u8 temp = AddPseudoEventObject(90, SpriteCallbackDummy, 0, 0, 8); gSprites[temp].oam.priority = 2; @@ -345,25 +339,25 @@ void TeachyTvSetSpriteCoordsAndSwitchFrame(u8 objId, u16 x, u16 y, u8 frame) StartSpriteAnim(&gSprites[objId], frame); } -void TeachyTvSetWindowRegs() +void TeachyTvSetWindowRegs(void) { SetGpuReg(REG_OFFSET_WIN0V, 0xC64); SetGpuReg(REG_OFFSET_WIN0H, 0x1CD4); } -void TeachyTvClearWindowRegs() +void TeachyTvClearWindowRegs(void) { SetGpuReg(REG_OFFSET_WIN0V, 0x0); SetGpuReg(REG_OFFSET_WIN0H, 0x0); } -void TeachyTvBg2AnimController() +void TeachyTvBg2AnimController(void) { u16 *tilemapBuffer; u8 i, offset2; u32 j, offset; - tilemapBuffer = (u16 *)GetBgTilemapBuffer(2); + tilemapBuffer = GetBgTilemapBuffer(2); i = 1; do { @@ -419,7 +413,7 @@ void TeachyTvInitTextPrinter(const char *text) AddTextPrinterParameterized2(0, 4, (const char *)text, spd, 0, 1, 0xC, 3); } -void TeachyTvFree() +void TeachyTvFree(void) { Free(gUnknown_203F450); gUnknown_203F450 = NULL; @@ -712,7 +706,7 @@ void TeachyTvClusFuncRenderAndRemoveBg1EndGraphic(u8 taskId) } } -void TeachyTvClearBg1EndGraphicText() +void TeachyTvClearBg1EndGraphicText(void) { FillBgTilemapBufferRect_Palette0(1, 0, 0x14, 0xA, 8, 2); schedule_bg_copy_tilemap_to_vram(1); @@ -764,7 +758,7 @@ void TeachyTvChainTaskBattleOrFadeByOptionChosen(u8 taskId) } } -void TeachyTvSetupBagItemsByOptionChosen() +void TeachyTvSetupBagItemsByOptionChosen(void) { if ( gTeachyTV_StaticResources.optionChosen == 4 ) sub_810B108(10); @@ -911,7 +905,7 @@ void TeachyTvPreBattleAnimAndSetBattleCallback(u8 taskId) } } -void TeachyTvRestorePlayerPartyCallback() +void TeachyTvRestorePlayerPartyCallback(void) { LoadPlayerParty(); if ( gUnknown_2023E8A == 3 ) -- cgit v1.2.3 From b44bd642b889de26f944dbe8bc8c8acdf0adf273 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Mon, 10 Jun 2019 08:22:56 +0800 Subject: more fix --- asm/item_menu.s | 8 +- asm/party_menu.s | 4 +- include/teachy_tv.h | 2 +- src/teachy_tv.c | 205 +++++++++++++++++++++++----------------------------- src/tm_case.c | 2 +- 5 files changed, 98 insertions(+), 123 deletions(-) diff --git a/asm/item_menu.s b/asm/item_menu.s index edb342d6b..b3169cdc3 100644 --- a/asm/item_menu.s +++ b/asm/item_menu.s @@ -6342,11 +6342,11 @@ sub_810B108: @ 810B108 beq _0810B160 cmp r4, 0x8 beq _0810B16C - ldr r2, _0810B15C @ =sub_815ABFC + ldr r2, _0810B15C @ =CB2_ReturnToTeachyTV adds r0, r4, 0 b _0810B170 .align 2, 0 -_0810B15C: .4byte sub_815ABFC +_0810B15C: .4byte CB2_ReturnToTeachyTV _0810B160: ldr r2, _0810B168 @ =sub_8030AEC movs r0, 0x7 @@ -6386,7 +6386,7 @@ _0810B19C: bl sub_815AC20 ldr r0, _0810B1C4 @ =gUnknown_203AD10 ldr r1, [r0] - ldr r0, _0810B1C8 @ =sub_815ABFC + ldr r0, _0810B1C8 @ =CB2_ReturnToTeachyTV str r0, [r1] ldr r1, _0810B1CC @ =gTasks lsls r0, r4, 2 @@ -6402,7 +6402,7 @@ _0810B1BC: bx r1 .align 2, 0 _0810B1C4: .4byte gUnknown_203AD10 -_0810B1C8: .4byte sub_815ABFC +_0810B1C8: .4byte CB2_ReturnToTeachyTV _0810B1CC: .4byte gTasks _0810B1D0: .4byte sub_810B070 thumb_func_end sub_810B180 diff --git a/asm/party_menu.s b/asm/party_menu.s index 89feaa035..2ce165ef2 100644 --- a/asm/party_menu.s +++ b/asm/party_menu.s @@ -4879,12 +4879,12 @@ sub_8120FB0: @ 8120FB0 bl FreeRestoreBattleData bl LoadPlayerParty bl sub_815AC20 - ldr r0, _08120FC8 @ =sub_815ABFC + ldr r0, _08120FC8 @ =CB2_ReturnToTeachyTV bl SetMainCallback2 pop {r0} bx r0 .align 2, 0 -_08120FC8: .4byte sub_815ABFC +_08120FC8: .4byte CB2_ReturnToTeachyTV thumb_func_end sub_8120FB0 thumb_func_start sub_8120FCC diff --git a/include/teachy_tv.h b/include/teachy_tv.h index 6f3a25266..f3b9eb565 100644 --- a/include/teachy_tv.h +++ b/include/teachy_tv.h @@ -2,7 +2,7 @@ #define GUARD_TEACHY_TV_H void sub_815ABC4(u8 mode, void (*cb)()); -void sub_815ABFC(void); +void CB2_ReturnToTeachyTV(void); void sub_815AC20(void); #endif //GUARD_TEACHY_TV_H diff --git a/src/teachy_tv.c b/src/teachy_tv.c index 632cd5d4f..ddc7b6d1a 100644 --- a/src/teachy_tv.c +++ b/src/teachy_tv.c @@ -53,15 +53,15 @@ struct TeachyTvBuf u8 var_4007; }; -extern struct TeachyTvCtrlBlk gTeachyTV_StaticResources; +EWRAM_DATA struct TeachyTvCtrlBlk gTeachyTV_StaticResources = {0}; extern struct TeachyTvBuf * gUnknown_203F450; extern const struct ScrollIndicatorArrowPairTemplate gUnknown_8479380; -extern const char gUnknown_841B83D; +extern const u8 gUnknown_841B83D; extern const struct BgTemplate gUnknown_84792E0; extern const struct SpritePalette gUnknown_83A5348; extern void (**gUnknown_8479548)(u8); -extern const char * const gUnknown_8479560; -extern const char * const gUnknown_8479578; +extern const u8 * const gUnknown_8479560; +extern const u8 * const gUnknown_8479578; extern const u8 gUnknown_8E86240; extern const u8 gUnknown_8E86BE8; extern const u8 gUnknown_8E86D6C; @@ -76,12 +76,9 @@ extern const struct SpriteTemplate * const gUnknown_83A0010; extern const u8 gUnknown_84795C8; extern const struct MapData Route1_Layout; -extern void VblankHblankHandlerSetZero(void); extern void sub_812B1E0(u16); -extern u8 ListMenuInitInternal(struct ListMenuTemplate *, u16 scrollOffset, u16 selectedRow); extern void sub_8055DC4(void); extern bool16 sub_80BF518(u8 textPrinterId); -extern void _call_via_r1(s32 arg, void *func); extern void sub_810B108(u8); extern void sub_8159F40(void); @@ -152,7 +149,7 @@ void sub_815ABC4(u8 mode, void (*cb)()) SetMainCallback2(TeachyTvMainCallback); } -void sub_815ABFC(void) +void CB2_ReturnToTeachyTV(void) { if (gTeachyTV_StaticResources.mode == 1) sub_815ABC4(1, gTeachyTV_StaticResources.callback); @@ -189,11 +186,11 @@ void TeachyTvMainCallback(void) ++gMain.state; break; case 1: - if ( free_temp_tile_data_buffers_if_possible() == TRUE ) + if (free_temp_tile_data_buffers_if_possible() == TRUE) return; TeachyTvCreateAndRenderRbox(); TeachyTvInitIo(); - if ( gTeachyTV_StaticResources.mode == 2 ) + if (gTeachyTV_StaticResources.mode == 2) { taskId = CreateTask(TeachyTvPostBattleFadeControl, 0); gTasks[taskId].data[1] = TeachyTvSetupObjEventAndOam(); @@ -302,7 +299,7 @@ void TeachyTvSetupScrollIndicatorArrowPair(void) void TeachyTvRemoveScrollIndicatorArrowPair(void) { - if ( gUnknown_203F450->var_4007 != 0xFF ) + if (gUnknown_203F450->var_4007 != 0xFF) { RemoveScrollIndicatorArrowPair(gUnknown_203F450->var_4007); gUnknown_203F450->var_4007 = 0xFF; @@ -311,7 +308,7 @@ void TeachyTvRemoveScrollIndicatorArrowPair(void) void TeachyTvAudioByInput(s32 notUsed, bool8 play, struct ListMenu *notUsedAlt) { - if ( play != TRUE ) + if (play != TRUE) PlaySE(SE_SELECT); } @@ -353,26 +350,16 @@ void TeachyTvClearWindowRegs(void) void TeachyTvBg2AnimController(void) { - u16 *tilemapBuffer; - u8 i, offset2; - u32 j, offset; - - tilemapBuffer = GetBgTilemapBuffer(2); - i = 1; - do + u16 * tilemapBuffer = GetBgTilemapBuffer(2); + u8 i; + u8 j; + for (i = 1; i < 13; i++) { - offset2 = 2; - offset = 0x20 * i; - j = i + 1; - do + for (j = 2; j < 28; j++) { - tilemapBuffer[offset + offset2] = ((Random() & 3) << 10) + 0x301F; - offset2 = (offset2 + 1); + tilemapBuffer[32 * i + j] = ((Random() & 3) << 10) + 0x301F; } - while ( offset2 <= 0x1B ); - i = j; } - while ( (u8)j <= 0xC ); schedule_bg_copy_tilemap_to_vram(2); } @@ -386,9 +373,9 @@ void TeachyTvSetupPostBattleWindowAndObj(u8 taskId) ClearWindowTilemap(1); TeachyTvClearWindowRegs(); op = gTeachyTV_StaticResources.optionChosen; - if ( op >= 0 ) + if (op >= 0) { - if ( op <= 3 ) + if (op <= 3) { TeachyTvSetSpriteCoordsAndSwitchFrame(((char*)data)[2], 0x78, 0x38, 0); ChangeBgX(3, 0x3000, 1); @@ -396,7 +383,7 @@ void TeachyTvSetupPostBattleWindowAndObj(u8 taskId) gUnknown_203F450->var_4004 += 3; gUnknown_203F450->var_4005 -= 3; } - else if ( op <= 5 ) + else if (op <= 5) TeachyTvSetSpriteCoordsAndSwitchFrame(((char*)data)[2], 0x78, 0x38, 0); } @@ -428,9 +415,9 @@ void TeachyTvQuitBeginFade(u8 taskId) void TeachyTvQuitFadeControlAndTaskDel(u8 taskId) { - if ( !(gPaletteFade.active) ) + if (!(gPaletteFade.active)) { - if ( gUnknown_203F450->state ) + if (gUnknown_203F450->state) { SetMainCallback2(*(void (**)())gUnknown_203F450); } @@ -490,7 +477,7 @@ void TeachyTvClusFuncTransitionRenderBg2TeachyTvGraphicInitNpcPos(u8 taskId) { s16 *data = gTasks[taskId].data; TeachyTvBg2AnimController(); - if ( ++data[2] > 63 ) + if (++data[2] > 63) { CopyToBgTilemapBufferRect_ChangePalette(2, gUnknown_203F450->buffer4, 0, 0, 0x20, 0x20, 0x11); TeachyTvSetSpriteCoordsAndSwitchFrame(((u8*)data)[2], 8, 0x38, 7); @@ -504,7 +491,7 @@ void TeachyTvClusFuncTransitionRenderBg2TeachyTvGraphicInitNpcPos(u8 taskId) void TeachyTvClusFuncClearBg2TeachyTvGraphic(u8 taskId) { s16 *data = gTasks[taskId].data; - if ( ++data[2] == 134 ) + if (++data[2] == 134) { FillBgTilemapBufferRect_Palette0(2, 0, 2, 1, 0x1A, 0xC); schedule_bg_copy_tilemap_to_vram(2); @@ -520,10 +507,10 @@ void TeachyTvClusFuncNpcMoveAndSetupTextPrinter(u8 taskId) data = gTasks[taskId].data; spriteAddr = &gSprites[data[1]]; - if ( data[2] != 35 ) + if (data[2] != 35) ++data[2]; else { - if ( spriteAddr->pos2.x == 0x78 ) + if (spriteAddr->pos2.x == 0x78) { StartSpriteAnim(&gSprites[data[1]], 0); TeachyTvInitTextPrinter(&gUnknown_841B83D); @@ -538,7 +525,7 @@ void TeachyTvClusFuncNpcMoveAndSetupTextPrinter(u8 taskId) void TeachyTvClusFuncIdleIfTextPrinterIsActive(u8 taskId) { s16* data = (u16 *)gTasks[taskId].data; - if ( !sub_80BF518(0) ) + if (!sub_80BF518(0)) ++data[3]; } @@ -546,7 +533,7 @@ void TeachyTvRenderMsgAndSwitchClusterFuncs(u8 taskId) { s16 *data; data = gTasks[taskId].data; - if ( gMain.newKeys & 2 ) + if (JOY_NEW(B_BUTTON)) { u8 *offset = &(gUnknown_203F450->var_4006); u32 zero = 0; @@ -570,15 +557,15 @@ void TeachyTvRenderMsgAndSwitchClusterFuncs(u8 taskId) void TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen(u8 taskId) { s16 *data = (u16 *)gTasks[taskId].data; - const char * const* texts = &gUnknown_8479560; + const u8 * const* texts = &gUnknown_8479560; TeachyTvInitTextPrinter(texts[gTeachyTV_StaticResources.optionChosen]); ++data[3]; } void TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen2(u8 taskId) { - s16 *data = (u16 *)gTasks[taskId].data; - const char * const* texts = &gUnknown_8479578; + s16 *data = gTasks[taskId].data; + const u8 * const* texts = &gUnknown_8479578; TeachyTvInitTextPrinter(texts[gTeachyTV_StaticResources.optionChosen]); ++data[3]; } @@ -586,7 +573,7 @@ void TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen2(u8 taskId) void TeachyTvClusFuncIdleIfTextPrinterIsActive2(u8 taskId) { s16* data = (u16 *)gTasks[taskId].data; - if ( !sub_80BF518(0) ) + if (!sub_80BF518(0)) ++data[3]; } @@ -604,8 +591,7 @@ void TeachyTvClusFuncEraseTextWindowIfKeyPressed(u8 taskId) void TeachyTvClusFuncStartAnimNpcWalkIntoGrass(u8 taskId) { - s16 *data; - data = (u16 *)gTasks[taskId].data; + s16 *data = gTasks[taskId].data; StartSpriteAnim(&gSprites[(s16)data[1]], 5); data[2] = 0; data[4] = 0; @@ -621,12 +607,12 @@ void TeachyTvClusFuncDudeMoveUp(u8 taskId) data = gTasks[taskId].data; obj = &gSprites[data[1]]; ChangeBgY(3, 0x100, 2); - if ( !( ++data[2] & 0xF ) ) + if (!(++data[2] & 0xF)) { --gUnknown_203F450->var_4005; TeachyTvGrassAnimationMain(taskId, obj->pos2.x, obj->pos2.y, 0, 0); } - if ( data[2] == 48 ) + if (data[2] == 48) { data[2] = 0; data[4] = -1; @@ -641,14 +627,14 @@ void TeachyTvClusFuncDudeMoveRight(u8 taskId) s16 *data; struct Sprite *obj; - data = (u16 *)gTasks[taskId].data; - obj = &gSprites[(s16)data[1]]; + data = gTasks[taskId].data; + obj = &gSprites[data[1]]; ChangeBgX(3, 0x100, 1); - if ( !(++data[2] & 0xF) ) + if (!(++data[2] & 0xF)) ++gUnknown_203F450->var_4004; - if ( !((data[2] + 8) & 0xF) ) + if (!((data[2] + 8) & 0xF)) TeachyTvGrassAnimationMain(taskId, obj->pos2.x + 8, obj->pos2.y, 0, 0); - if ( data[2] == 0x30 ) + if (data[2] == 0x30) { data[2] = 0; data[4] = 0; @@ -660,10 +646,8 @@ void TeachyTvClusFuncDudeMoveRight(u8 taskId) void TeachyTvClusFuncDudeTurnLeft(u8 taskId) { - s16 *data; struct Sprite *v3; - - data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; v3 = &gSprites[data[1]]; StartSpriteAnim(v3, 6); ++data[3]; @@ -680,9 +664,9 @@ void TeachyTvClusFuncDudeMoveLeft(u8 taskId) data = gTasks[taskId].data; v2 = &gSprites[data[1]]; - if ( !(v2->pos2.x & 0xF) ) + if (!(v2->pos2.x & 0xF)) TeachyTvGrassAnimationMain(taskId, v2->pos2.x - 8, v2->pos2.y, 0, 0); - if ( v2->pos2.x == 8 ) + if (v2->pos2.x == 8) ++data[3]; else --v2->pos2.x; @@ -693,12 +677,12 @@ void TeachyTvClusFuncRenderAndRemoveBg1EndGraphic(u8 taskId) s16 *data; data = gTasks[taskId].data; - if ( !data[2] ) + if (!data[2]) { CopyToBgTilemapBufferRect_ChangePalette(1, &gUnknown_8479590, 0x14, 0xA, 8, 2, 0x11); schedule_bg_copy_tilemap_to_vram(1); } - if ( ++data[2] > 126 ) + if (++data[2] > 126) { TeachyTvClearBg1EndGraphicText(); data[2] = 0; @@ -717,14 +701,14 @@ void TeachyTvBackToOptionList(u8 taskId) s16 *data; data = gTasks[taskId].data; - if ( !data[2] ) + if (data[2] == 0) PlayNewMapMusic(BGM_FRLG_TEACHY_TV); TeachyTvBg2AnimController(); - if ( ++data[2] > 63 ) + if (++data[2] > 63) { data[2] = 0; data[3] = 0; - *data = TeachyTvSetupWindow(); + data[0] = TeachyTvSetupWindow(); gTasks[taskId].func = TeachyTvOptionListController; PutWindowTilemap(0); TeachyTvSetupScrollIndicatorArrowPair(); @@ -743,14 +727,14 @@ void TeachyTvBackToOptionList(u8 taskId) void TeachyTvChainTaskBattleOrFadeByOptionChosen(u8 taskId) { int op = gTeachyTV_StaticResources.optionChosen; - if ( op >= 0 ) + if (op >= 0) { - if ( op <= 3 ) + if (op <= 3) { TeachyTvPrepBattle(taskId); } - else if ( op <= 5 ) + else if (op <= 5) { *((void(**)())gUnknown_203F450) = TeachyTvSetupBagItemsByOptionChosen; TeachyTvQuitBeginFade(taskId); @@ -760,7 +744,7 @@ void TeachyTvChainTaskBattleOrFadeByOptionChosen(u8 taskId) void TeachyTvSetupBagItemsByOptionChosen(void) { - if ( gTeachyTV_StaticResources.optionChosen == 4 ) + if (gTeachyTV_StaticResources.optionChosen == 4) sub_810B108(10); else sub_810B108(9); @@ -769,7 +753,7 @@ void TeachyTvSetupBagItemsByOptionChosen(void) void TeachyTvPostBattleFadeControl(u8 taskId) { s16 *data = gTasks[taskId].data; - if ( !(gPaletteFade.active) ) + if (!(gPaletteFade.active)) { const u8* funcIdx = &gUnknown_8479390; int arg = funcIdx[gTeachyTV_StaticResources.optionChosen]; @@ -787,12 +771,12 @@ void TeachyTvGrassAnimationMain(u8 taskId, s16 x, s16 y, u8 subpriority, bool8 m const struct SpriteTemplate *const *objTemAddr; subprio = subpriority; - if ( gUnknown_203F450->var_4006 != 1 ) + if (gUnknown_203F450->var_4006 != 1) { res = TeachyTvGrassAnimationCheckIfNeedsToGenerateGrassObj( x - 0x10, y); - if ( res << 24 ) + if (res << 24) { objTemAddr = &gUnknown_83A0010; objId = CreateSprite(*(objTemAddr+4), 0, 0, subprio); @@ -801,7 +785,7 @@ void TeachyTvGrassAnimationMain(u8 taskId, s16 x, s16 y, u8 subpriority, bool8 m obj->pos2.y = y + 8; obj->callback = TeachyTvGrassAnimationObjCallback; obj->data[0] = taskId; - if ( mode == 1 ) + if (mode == 1) { SeekSpriteAnim(obj, 4); obj->oam.priority = 2; @@ -853,12 +837,11 @@ u8 TeachyTvGrassAnimationCheckIfNeedsToGenerateGrassObj(s16 x, s16 y) const u8 * arr; struct TeachyTvBuf *ptr; int high, low; - if ( (x < 0) || (y < 0) ) + if ((x < 0) || (y < 0)) return 0; arr = &gUnknown_84795C8; - ptr = gUnknown_203F450; - high = ((y >> 4) + ptr->var_4005) << 4; - low = ((x >> 4) + ptr->var_4004); + high = ((y >> 4) + gUnknown_203F450->var_4005) << 4; + low = ((x >> 4) + gUnknown_203F450->var_4004); return arr[high+low]; } @@ -874,7 +857,7 @@ void TeachyTvPrepBattle(u8 taskId) SavePlayerParty(); sub_8159F40(); PlayMapChosenOrBattleBGM(MUS_DUMMY); - if ( !gTeachyTV_StaticResources.optionChosen ) + if (!gTeachyTV_StaticResources.optionChosen) data[6] = 9; else data[6] = 8; @@ -884,19 +867,15 @@ void TeachyTvPrepBattle(u8 taskId) void TeachyTvPreBattleAnimAndSetBattleCallback(u8 taskId) { - s16 *data; - int temp; - - data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; switch (data[7]) { case 0: - sub_80D08B8(*((u8*)data + 12)); + sub_80D08B8(data[6]); ++data[7]; break; case 1: - temp = sub_80D08F8(); - if ( temp << 24 ) + if (sub_80D08F8() << 24) { SetMainCallback2(sub_800FD9C); DestroyTask(taskId); @@ -908,11 +887,11 @@ void TeachyTvPreBattleAnimAndSetBattleCallback(u8 taskId) void TeachyTvRestorePlayerPartyCallback(void) { LoadPlayerParty(); - if ( gUnknown_2023E8A == 3 ) + if (gUnknown_2023E8A == 3) sub_815AC20(); else PlayNewMapMusic(BGM_FRLG_FOLLOW_ME); - sub_815ABFC(); + CB2_ReturnToTeachyTV(); } #ifdef NONMATCHING @@ -961,20 +940,20 @@ void TeachyTvLoadBg3Map(void *buffer) mapEntry = md->map[v3 + 24 * v19 + 8] & 0x3FF; v7 = 0; v8 = v3 + 1; - if ( v4 + v3 <= 0 ) + if (v4 + v3 <= 0) { LABEL_9: - if ( mapArray[v7] ) + if (mapArray[v7]) goto LABEL_11; } else { - for ( i = *mapArray; i; i = mapArray[v7] ) + for (i = *mapArray; i; i = mapArray[v7]) { - if ( i == mapEntry ) + if (i == mapEntry) goto LABEL_9; v7 = (u16)(v7 + 1); - if ( v7 >= v4 + v3 ) + if (v7 >= v4 + v3) goto LABEL_9; } } @@ -989,17 +968,17 @@ LABEL_11: v7); v3 = v8; } - while ( (u16)v8 <= 0xF ); + while ((u16)v8 <= 0xF); v2 = v18; } - while ( (u16)v18 <= 8 ); + while ((u16)v18 <= 8); MapTileBlockBuf = (char *)Alloc(v17 << 7); FourMapTileBlocksTempBuf = Alloc(0x80); - for ( j = 0; j < v17; j = (u16)j + 1 ) + for (j = 0; j < v17; j = (u16)j + 1) { memset(FourMapTileBlocksTempBuf, 0, 0x80); v13 = &mapArray[j]; - if ( *v13 <= 0x27F ) + if (*v13 <= 0x27F) TeachyTvComputeMapTilesFromTilesetAndMetaTiles( (u16 *)(16 * *v13 + (u16*)(md->primaryTileset->metatiles)), (u8 *)FourMapTileBlocksTempBuf, @@ -1249,9 +1228,9 @@ void TeachyTvLoadBg3Map(void *buffer) void TeachyTvLoadMapTilesetToBuffer(struct Tileset *ts, u8 *dstBuffer, u16 size) { - if ( ts ) + if (ts) { - if ( !ts->isCompressed ) + if (!ts->isCompressed) CpuFastSet(ts->tiles, dstBuffer, 8 * size); else LZDecompressWram(ts->tiles, dstBuffer); @@ -1265,7 +1244,7 @@ void TeachyTvPushBackNewMapPalIndexArrayEntry(struct MapData *mStruct, u16 *buf1 u16 *metaTileEntryAddr; int temp = mapEntry; - if ( temp <= 0x27F ) + if (temp <= 0x27F) { ts = mStruct->primaryTileset; } @@ -1374,13 +1353,11 @@ void TeachyTvComputeSingleMapTileBlockFromTilesetAndMetaTiles(u8 *blockBuf, u8 * buffer = (u8 *)AllocZeroed(0x20); src = ((u32)AllocZeroed(0x20)); CpuFastSet(tileset, buffer, 8); - if ( metaTile & 1 ) + if (metaTile & 1) { - i = 0; - do + for (i=0; i<8; ++i) { - j = 0; - do + for (j=0; j<4; ++j) { u32 offset1 = i << 2; u32 offset2 = j - 3; @@ -1389,12 +1366,10 @@ void TeachyTvComputeSingleMapTileBlockFromTilesetAndMetaTiles(u8 *blockBuf, u8 * u32 dstOffset = offset1 + j; *(u8*)(src + dstOffset) = ((value & 0xF) << 4) + ((value & 0xF0) >> 4); } - while ( ++(u8)j <= 3 ); } - while ( ++(u8)i <= 7 ); CpuFastSet((u8*)src, buffer, 8); } - if ( metaTile & 2 ) + if (metaTile & 2) { j = 0; do @@ -1402,19 +1377,19 @@ void TeachyTvComputeSingleMapTileBlockFromTilesetAndMetaTiles(u8 *blockBuf, u8 * memcpy(&((u8*)src)[4 * j], &buffer[4 * (7 - j)], 4); j = (u8)(j + 1); } - while ( j <= 7 ); + while (j <= 7); CpuFastSet((u8*)src, buffer, 8); } j = 0; do { - if ( buffer[j] & 0xF0 ) + if (buffer[j] & 0xF0) blockBuf[j] = (blockBuf[j] & 0xF) + (buffer[j] & 0xF0); - if ( buffer[j] & 0xF ) + if (buffer[j] & 0xF) blockBuf[j] = (blockBuf[j] & 0xF0) + (buffer[j] & 0xF); j = (u8)(j + 1); } - while ( j <= 0x1F ); + while (j <= 0x1F); Free((u8*)src); Free(buffer); } @@ -1576,26 +1551,26 @@ u16 TeachyTvComputePalIndexArrayEntryByMetaTile(u8 *palIndexArrayBuf, u16 metaTi int firstEntry; int temp; - pal = (u32)(metaTile << 16) >> 28; + pal = metaTile >> 12; i = 0; firstEntry = *palIndexArrayBuf; - if ( firstEntry != pal ) + if (firstEntry != pal) { - if ( firstEntry == 0xFF ) + if (firstEntry == 0xFF) { *palIndexArrayBuf = pal; } else { - while ( 1 ) + while (1) { ++i; - if ( i > 0xF ) + if (i > 0xF) break; temp = palIndexArrayBuf[i]; - if ( temp == pal ) + if (temp == pal) break; - if ( temp == 0xFF ) + if (temp == 0xFF) { palIndexArrayBuf[i] = pal; break; diff --git a/src/tm_case.c b/src/tm_case.c index fdcc66a7e..a436269f3 100644 --- a/src/tm_case.c +++ b/src/tm_case.c @@ -1147,7 +1147,7 @@ void PokeDude_InitTMCase(void) AddBagItem(ITEM_TM03, 1); AddBagItem(ITEM_TM09, 1); AddBagItem(ITEM_TM35, 1); - InitTMCase(4, sub_815ABFC, 0); + InitTMCase(4, CB2_ReturnToTeachyTV, 0); } static void Task_TMCaseDude1(u8 taskId) -- cgit v1.2.3 From a8f6aeb05dfee07903c3ab48403121e07c8189e4 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Mon, 10 Jun 2019 08:30:52 +0800 Subject: more fixes --- src/teachy_tv.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/teachy_tv.c b/src/teachy_tv.c index ddc7b6d1a..fa5962e8e 100644 --- a/src/teachy_tv.c +++ b/src/teachy_tv.c @@ -502,10 +502,8 @@ void TeachyTvClusFuncClearBg2TeachyTvGraphic(u8 taskId) void TeachyTvClusFuncNpcMoveAndSetupTextPrinter(u8 taskId) { - s16 *data; struct Sprite * spriteAddr; - - data = gTasks[taskId].data; + s16 * data = gTasks[taskId].data; spriteAddr = &gSprites[data[1]]; if (data[2] != 35) ++data[2]; @@ -531,8 +529,7 @@ void TeachyTvClusFuncIdleIfTextPrinterIsActive(u8 taskId) void TeachyTvRenderMsgAndSwitchClusterFuncs(u8 taskId) { - s16 *data; - data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; if (JOY_NEW(B_BUTTON)) { u8 *offset = &(gUnknown_203F450->var_4006); @@ -556,7 +553,7 @@ void TeachyTvRenderMsgAndSwitchClusterFuncs(u8 taskId) void TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen(u8 taskId) { - s16 *data = (u16 *)gTasks[taskId].data; + s16 *data = gTasks[taskId].data; const u8 * const* texts = &gUnknown_8479560; TeachyTvInitTextPrinter(texts[gTeachyTV_StaticResources.optionChosen]); ++data[3]; -- cgit v1.2.3 From f32fdd0bff856e82519b98075d96ac3c500e5a54 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Mon, 10 Jun 2019 08:33:58 +0800 Subject: consistency --- src/teachy_tv.c | 26 ++++++++------------------ 1 file changed, 8 insertions(+), 18 deletions(-) diff --git a/src/teachy_tv.c b/src/teachy_tv.c index fa5962e8e..d687ff7c8 100644 --- a/src/teachy_tv.c +++ b/src/teachy_tv.c @@ -240,8 +240,7 @@ void TeachyTvSetupBg(void) void TeachyTvLoadGraphic(void) { - u16 src; - src = 0; + u16 src = 0; reset_temp_tile_data_buffers(); decompress_and_copy_tile_data_to_vram(1, &gUnknown_8E86240, 0, 0, 0); LZDecompressWram(&gUnknown_8E86BE8, gUnknown_203F450->buffer1); @@ -351,8 +350,7 @@ void TeachyTvClearWindowRegs(void) void TeachyTvBg2AnimController(void) { u16 * tilemapBuffer = GetBgTilemapBuffer(2); - u8 i; - u8 j; + u8 i, j; for (i = 1; i < 13; i++) { for (j = 2; j < 28; j++) @@ -366,7 +364,7 @@ void TeachyTvBg2AnimController(void) void TeachyTvSetupPostBattleWindowAndObj(u8 taskId) { s16 *data = gTasks[taskId].data; - int v1 = (data)[1]; + int v1 = data[1]; struct Sprite *v3 = &gSprites[v1]; int op; @@ -671,9 +669,7 @@ void TeachyTvClusFuncDudeMoveLeft(u8 taskId) void TeachyTvClusFuncRenderAndRemoveBg1EndGraphic(u8 taskId) { - s16 *data; - - data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; if (!data[2]) { CopyToBgTilemapBufferRect_ChangePalette(1, &gUnknown_8479590, 0x14, 0xA, 8, 2, 0x11); @@ -695,9 +691,7 @@ void TeachyTvClearBg1EndGraphicText(void) void TeachyTvBackToOptionList(u8 taskId) { - s16 *data; - - data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; if (data[2] == 0) PlayNewMapMusic(BGM_FRLG_TEACHY_TV); TeachyTvBg2AnimController(); @@ -1239,8 +1233,8 @@ void TeachyTvPushBackNewMapPalIndexArrayEntry(struct MapData *mStruct, u16 *buf1 { struct Tileset *ts; u16 *metaTileEntryAddr; - int temp = mapEntry; + if (temp <= 0x27F) { ts = mStruct->primaryTileset; @@ -1342,12 +1336,10 @@ void TeachyTvComputeMapTilesFromTilesetAndMetaTiles(u16 *metaTilesArray, u8 *blo #ifdef NONMATCHING void TeachyTvComputeSingleMapTileBlockFromTilesetAndMetaTiles(u8 *blockBuf, u8 *tileset, u8 metaTile) { - u8 *buffer; u32 i; u32 j; vu32 src; - - buffer = (u8 *)AllocZeroed(0x20); + u8* buffer = (u8 *)AllocZeroed(0x20); src = ((u32)AllocZeroed(0x20)); CpuFastSet(tileset, buffer, 8); if (metaTile & 1) @@ -1543,12 +1535,10 @@ void TeachyTvComputeSingleMapTileBlockFromTilesetAndMetaTiles(u8 *blockBuf, u8 * u16 TeachyTvComputePalIndexArrayEntryByMetaTile(u8 *palIndexArrayBuf, u16 metaTile) { - u32 pal; u16 i; int firstEntry; int temp; - - pal = metaTile >> 12; + u32 pal = metaTile >> 12; i = 0; firstEntry = *palIndexArrayBuf; if (firstEntry != pal) -- cgit v1.2.3 From 1345bffa2226d6174076338ccbab0dbce04cd082 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Mon, 10 Jun 2019 08:36:36 +0800 Subject: more consistency --- src/teachy_tv.c | 24 ++++++++---------------- 1 file changed, 8 insertions(+), 16 deletions(-) diff --git a/src/teachy_tv.c b/src/teachy_tv.c index d687ff7c8..f1d0b2749 100644 --- a/src/teachy_tv.c +++ b/src/teachy_tv.c @@ -289,8 +289,7 @@ void TeachyTvSetupScrollIndicatorArrowPair(void) else { struct TeachyTvBuf *temp; - u8 res; - res = AddScrollIndicatorArrowPair(&gUnknown_8479380, &(gTeachyTV_StaticResources.scrollOffset)); + u8 res = AddScrollIndicatorArrowPair(&gUnknown_8479380, &(gTeachyTV_StaticResources.scrollOffset)); temp = gUnknown_203F450; temp->var_4007 = res; } @@ -500,9 +499,8 @@ void TeachyTvClusFuncClearBg2TeachyTvGraphic(u8 taskId) void TeachyTvClusFuncNpcMoveAndSetupTextPrinter(u8 taskId) { - struct Sprite * spriteAddr; s16 * data = gTasks[taskId].data; - spriteAddr = &gSprites[data[1]]; + struct Sprite * priteAddr = &gSprites[data[1]]; if (data[2] != 35) ++data[2]; else { @@ -619,11 +617,8 @@ void TeachyTvClusFuncDudeMoveUp(u8 taskId) void TeachyTvClusFuncDudeMoveRight(u8 taskId) { - s16 *data; - struct Sprite *obj; - - data = gTasks[taskId].data; - obj = &gSprites[data[1]]; + s16 *data = gTasks[taskId].data; + struct Sprite *obj = &gSprites[data[1]]; ChangeBgX(3, 0x100, 1); if (!(++data[2] & 0xF)) ++gUnknown_203F450->var_4004; @@ -641,9 +636,9 @@ void TeachyTvClusFuncDudeMoveRight(u8 taskId) void TeachyTvClusFuncDudeTurnLeft(u8 taskId) { - struct Sprite *v3; + s16 *data = gTasks[taskId].data; - v3 = &gSprites[data[1]]; + struct Sprite *v3 = &gSprites[data[1]]; StartSpriteAnim(v3, 6); ++data[3]; data[4] = 0; @@ -653,11 +648,8 @@ void TeachyTvClusFuncDudeTurnLeft(u8 taskId) void TeachyTvClusFuncDudeMoveLeft(u8 taskId) { - s16 *data; - struct Sprite *v2; - - data = gTasks[taskId].data; - v2 = &gSprites[data[1]]; + s16 *data = gTasks[taskId].data; + struct Sprite *v2 = &gSprites[data[1]]; if (!(v2->pos2.x & 0xF)) TeachyTvGrassAnimationMain(taskId, v2->pos2.x - 8, v2->pos2.y, 0, 0); -- cgit v1.2.3 From 12191612cd7a050283e37278fac1c02a2ef3776d Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Mon, 10 Jun 2019 09:03:39 +0800 Subject: TeachyTvLoadMapPalette and fixes --- include/help_system.h | 1 + include/item_menu.h | 1 + include/menu_helpers.h | 1 + include/overworld.h | 1 + include/unk_8159F40.h | 1 + src/teachy_tv.c | 105 +++++++++++++------------------------------------ 6 files changed, 32 insertions(+), 78 deletions(-) diff --git a/include/help_system.h b/include/help_system.h index 6398d306b..97acec45e 100644 --- a/include/help_system.h +++ b/include/help_system.h @@ -5,6 +5,7 @@ extern bool8 gUnknown_3005ECC; +void sub_812B1E0(u16); void sub_812B484(void); void HelpSystem_SetSomeVariable2(u8); void sub_812B478(void); diff --git a/include/item_menu.h b/include/item_menu.h index efd0066ed..2801a5001 100644 --- a/include/item_menu.h +++ b/include/item_menu.h @@ -25,6 +25,7 @@ extern u16 gSpecialVar_ItemId; void sub_81AAC50(void); void sub_81AAC70(void); void sub_8108CF0(void); +void sub_810B108(u8); void UseFameCheckerFromMenu(void); #endif //GUARD_ITEM_MENU_H diff --git a/include/menu_helpers.h b/include/menu_helpers.h index 892636ba0..f8b57034a 100644 --- a/include/menu_helpers.h +++ b/include/menu_helpers.h @@ -18,6 +18,7 @@ void sub_812225C(u16 *, u16 *, u8, u8); void sub_8122298(u16 *, u16 *, u8, u8, u8); void sub_8121F68(u8 taskId, const struct YesNoFuncTable *data); bool8 sub_81221AC(void); +bool16 sub_80BF518(u8 textPrinterId); bool8 sub_80BF72C(void); bool8 sub_80BF708(void); void VblankHblankHandlerSetZero(void); diff --git a/include/overworld.h b/include/overworld.h index 5c4235b8c..a3fe1161f 100644 --- a/include/overworld.h +++ b/include/overworld.h @@ -109,6 +109,7 @@ void Overworld_ResetStateAfterTeleport(void); void Overworld_FadeOutMapMusic(void); void sub_805671C(void); +void sub_8055DC4(void); bool8 sub_8055FC4(void); #endif //GUARD_ROM4_H diff --git a/include/unk_8159F40.h b/include/unk_8159F40.h index f0e85d416..7f6a98c3a 100644 --- a/include/unk_8159F40.h +++ b/include/unk_8159F40.h @@ -3,6 +3,7 @@ #include "global.h" +void sub_8159F40(void); void sub_815A008(struct QuestLog *); void sub_815A1F8(struct QuestLog *, struct MapObjectTemplate *); diff --git a/src/teachy_tv.c b/src/teachy_tv.c index f1d0b2749..28f4fbe8e 100644 --- a/src/teachy_tv.c +++ b/src/teachy_tv.c @@ -29,6 +29,9 @@ #include "battle.h" #include "global.fieldmap.h" #include "teachy_tv.h" +#include "help_system.h" +#include "overworld.h" +#include "unk_8159F40.h" struct TeachyTvCtrlBlk { @@ -54,7 +57,7 @@ struct TeachyTvBuf }; EWRAM_DATA struct TeachyTvCtrlBlk gTeachyTV_StaticResources = {0}; -extern struct TeachyTvBuf * gUnknown_203F450; +EWRAM_DATA struct TeachyTvBuf * gUnknown_203F450; extern const struct ScrollIndicatorArrowPairTemplate gUnknown_8479380; extern const u8 gUnknown_841B83D; extern const struct BgTemplate gUnknown_84792E0; @@ -69,19 +72,13 @@ extern const u8 gUnknown_8E86F98; extern const struct ListMenuTemplate gUnknown_8479368; extern const struct ListMenuItem gUnknown_8479340; extern const struct WindowTemplate gUnknown_84792F0; -extern const u8 gUnknown_8479590; -extern const u8 gUnknown_8479390; +extern const u16 gUnknown_8479590[]; +extern const u8 gUnknown_8479390[]; extern const struct SubspriteTable gUnknown_84795B8; extern const struct SpriteTemplate * const gUnknown_83A0010; -extern const u8 gUnknown_84795C8; +extern const u8 gUnknown_84795C8[]; extern const struct MapData Route1_Layout; -extern void sub_812B1E0(u16); -extern void sub_8055DC4(void); -extern bool16 sub_80BF518(u8 textPrinterId); -extern void sub_810B108(u8); -extern void sub_8159F40(void); - void TeachyTvCallback(void); void TeachyTvMainCallback(void); void TeachyTvVblankHandler(void); @@ -114,7 +111,7 @@ void TeachyTvPushBackNewMapPalIndexArrayEntry(struct MapData *mStruct, u16 *buf1 void TeachyTvComputeMapTilesFromTilesetAndMetaTiles(u16 *metaTilesArray, u8 *blockBuf, u8 *tileset); void TeachyTvComputeSingleMapTileBlockFromTilesetAndMetaTiles(u8 *blockBuf, u8 *tileset, u8 metaTile); u16 TeachyTvComputePalIndexArrayEntryByMetaTile(u8 *palIndexArrayBuf, u16 metaTile); -void TeachyTvLoadMapPalette(const struct MapData *const mStruct, u8 *palIndexArray); +void TeachyTvLoadMapPalette(const struct MapData * mStruct, const u8 *palIndexArray); void TeachyTvCallback(void) { @@ -288,10 +285,8 @@ void TeachyTvSetupScrollIndicatorArrowPair(void) } else { - struct TeachyTvBuf *temp; u8 res = AddScrollIndicatorArrowPair(&gUnknown_8479380, &(gTeachyTV_StaticResources.scrollOffset)); - temp = gUnknown_203F450; - temp->var_4007 = res; + gUnknown_203F450->var_4007 = res; } } @@ -500,7 +495,7 @@ void TeachyTvClusFuncClearBg2TeachyTvGraphic(u8 taskId) void TeachyTvClusFuncNpcMoveAndSetupTextPrinter(u8 taskId) { s16 * data = gTasks[taskId].data; - struct Sprite * priteAddr = &gSprites[data[1]]; + struct Sprite * spriteAddr = &gSprites[data[1]]; if (data[2] != 35) ++data[2]; else { @@ -518,7 +513,7 @@ void TeachyTvClusFuncNpcMoveAndSetupTextPrinter(u8 taskId) void TeachyTvClusFuncIdleIfTextPrinterIsActive(u8 taskId) { - s16* data = (u16 *)gTasks[taskId].data; + s16* data = gTasks[taskId].data; if (!sub_80BF518(0)) ++data[3]; } @@ -572,8 +567,7 @@ void TeachyTvClusFuncIdleIfTextPrinterIsActive2(u8 taskId) void TeachyTvClusFuncEraseTextWindowIfKeyPressed(u8 taskId) { - s16 *data; - data = (u16 *)gTasks[taskId].data; + s16 *data = (u16 *)gTasks[taskId].data; if (JOY_NEW(A_BUTTON | B_BUTTON)) { FillWindowPixelBuffer(0, 0xCC); @@ -664,7 +658,7 @@ void TeachyTvClusFuncRenderAndRemoveBg1EndGraphic(u8 taskId) s16 *data = gTasks[taskId].data; if (!data[2]) { - CopyToBgTilemapBufferRect_ChangePalette(1, &gUnknown_8479590, 0x14, 0xA, 8, 2, 0x11); + CopyToBgTilemapBufferRect_ChangePalette(1, gUnknown_8479590, 0x14, 0xA, 8, 2, 0x11); schedule_bg_copy_tilemap_to_vram(1); } if (++data[2] > 126) @@ -738,7 +732,7 @@ void TeachyTvPostBattleFadeControl(u8 taskId) s16 *data = gTasks[taskId].data; if (!(gPaletteFade.active)) { - const u8* funcIdx = &gUnknown_8479390; + const u8* funcIdx = gUnknown_8479390; int arg = funcIdx[gTeachyTV_StaticResources.optionChosen]; data[3] = arg; gTasks[taskId].func = TeachyTvRenderMsgAndSwitchClusterFuncs; @@ -756,9 +750,7 @@ void TeachyTvGrassAnimationMain(u8 taskId, s16 x, s16 y, u8 subpriority, bool8 m subprio = subpriority; if (gUnknown_203F450->var_4006 != 1) { - res = TeachyTvGrassAnimationCheckIfNeedsToGenerateGrassObj( - x - 0x10, - y); + res = TeachyTvGrassAnimationCheckIfNeedsToGenerateGrassObj(x - 0x10, y); if (res << 24) { objTemAddr = &gUnknown_83A0010; @@ -822,7 +814,7 @@ u8 TeachyTvGrassAnimationCheckIfNeedsToGenerateGrassObj(s16 x, s16 y) int high, low; if ((x < 0) || (y < 0)) return 0; - arr = &gUnknown_84795C8; + arr = gUnknown_84795C8; high = ((y >> 4) + gUnknown_203F450->var_4005) << 4; low = ((x >> 4) + gUnknown_203F450->var_4004); return arr[high+low]; @@ -1560,63 +1552,20 @@ u16 TeachyTvComputePalIndexArrayEntryByMetaTile(u8 *palIndexArrayBuf, u16 metaTi return (0xF - i); } -#ifdef NONMATCHING -void TeachyTvLoadMapPalette(const struct MapData * const mStruct, u8 *palIndexArray) +void TeachyTvLoadMapPalette(const struct MapData * mStruct, const u8 * palIndexArray) { u8 i; - struct Tileset *ts; + const struct Tileset * ts; + u16 * dest; - for (i = 0; i < 16 && palIndexArray[i] != 0xFF; i++) + for (i = 0; i < 16; i++) { - ts = *(palIndexArray + i) > 6 ? mStruct->secondaryTileset : mStruct->primaryTileset; - LoadPalette((u16 *)ts->palettes + 0x10 * palIndexArray[i], 0x10 * (0xF - i), 0x20); + if (palIndexArray[i] == 0xFF) + break; + if (palIndexArray[i] > 6) + dest = (u16 *)mStruct->secondaryTileset->palettes + 0x10 * palIndexArray[i]; + else + dest = (u16 *)mStruct->primaryTileset->palettes + 0x10 * palIndexArray[i]; + LoadPalette(dest, 0x10 * (15 - i), 0x20); } } -#else -NAKED -void TeachyTvLoadMapPalette(const struct MapData * const mStruct, u8 *palIndexArray) -{ - asm_unified("\n\ - push {r4-r6,lr}\n\ - adds r6, r0, 0\n\ - adds r5, r1, 0\n\ - movs r4, 0\n\ - ldrb r0, [r5]\n\ - cmp r0, 0xFF\n\ - beq _0815C274\n\ - _0815C23E:\n\ - adds r1, r5, r4\n\ - ldrb r0, [r1]\n\ - cmp r0, 0x6\n\ - bls _0815C24A\n\ - ldr r0, [r6, 0x14]\n\ - b _0815C24C\n\ - _0815C24A:\n\ - ldr r0, [r6, 0x10]\n\ - _0815C24C:\n\ - ldrb r1, [r1]\n\ - lsls r1, 5\n\ - ldr r0, [r0, 0x8]\n\ - adds r0, r1\n\ - movs r1, 0xF\n\ - subs r1, r4\n\ - lsls r1, 20\n\ - lsrs r1, 16\n\ - movs r2, 0x20\n\ - bl LoadPalette\n\ - adds r0, r4, 0x1\n\ - lsls r0, 24\n\ - lsrs r4, r0, 24\n\ - cmp r4, 0xF\n\ - bhi _0815C274\n\ - adds r0, r5, r4\n\ - ldrb r0, [r0]\n\ - cmp r0, 0xFF\n\ - bne _0815C23E\n\ - _0815C274:\n\ - pop {r4-r6}\n\ - pop {r0}\n\ - bx r0\n\ - "); -} -#endif -- cgit v1.2.3 From b9dd482ec957ea0a1ee73d1b22354fc10a143789 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Mon, 10 Jun 2019 09:17:07 +0800 Subject: fixed array decl --- src/teachy_tv.c | 54 +++++++++++++++++++++++++++--------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/src/teachy_tv.c b/src/teachy_tv.c index 28f4fbe8e..609c470bc 100644 --- a/src/teachy_tv.c +++ b/src/teachy_tv.c @@ -57,25 +57,25 @@ struct TeachyTvBuf }; EWRAM_DATA struct TeachyTvCtrlBlk gTeachyTV_StaticResources = {0}; -EWRAM_DATA struct TeachyTvBuf * gUnknown_203F450; +EWRAM_DATA struct TeachyTvBuf * gUnknown_203F450 = NULL; extern const struct ScrollIndicatorArrowPairTemplate gUnknown_8479380; -extern const u8 gUnknown_841B83D; -extern const struct BgTemplate gUnknown_84792E0; +extern const u8 gUnknown_841B83D[]; +extern const struct BgTemplate gUnknown_84792E0[]; extern const struct SpritePalette gUnknown_83A5348; -extern void (**gUnknown_8479548)(u8); -extern const u8 * const gUnknown_8479560; -extern const u8 * const gUnknown_8479578; -extern const u8 gUnknown_8E86240; -extern const u8 gUnknown_8E86BE8; -extern const u8 gUnknown_8E86D6C; -extern const u8 gUnknown_8E86F98; +extern void (**gUnknown_8479548[])(u8); +extern const u8 * const gUnknown_8479560[]; +extern const u8 * const gUnknown_8479578[]; +extern const u8 gUnknown_8E86240[]; +extern const u8 gUnknown_8E86BE8[]; +extern const u8 gUnknown_8E86D6C[]; +extern const u8 gUnknown_8E86F98[]; extern const struct ListMenuTemplate gUnknown_8479368; -extern const struct ListMenuItem gUnknown_8479340; -extern const struct WindowTemplate gUnknown_84792F0; +extern const struct ListMenuItem gUnknown_8479340[]; +extern const struct WindowTemplate gUnknown_84792F0[]; extern const u16 gUnknown_8479590[]; extern const u8 gUnknown_8479390[]; -extern const struct SubspriteTable gUnknown_84795B8; -extern const struct SpriteTemplate * const gUnknown_83A0010; +extern const struct SubspriteTable gUnknown_84795B8[]; +extern const struct SpriteTemplate * const gUnknown_83A0010[]; extern const u8 gUnknown_84795C8[]; extern const struct MapData Route1_Layout; @@ -219,7 +219,7 @@ void TeachyTvSetupBg(void) { InitBgReg(); ResetBgsAndClearDma3BusyFlags(0); - InitBgsFromTemplates(0, &gUnknown_84792E0, 4); + InitBgsFromTemplates(0, gUnknown_84792E0, 4); SetBgTilemapBuffer(1, gUnknown_203F450->buffer1); SetBgTilemapBuffer(2, gUnknown_203F450->buffer2); SetBgTilemapBuffer(3, gUnknown_203F450->buffer3); @@ -239,10 +239,10 @@ void TeachyTvLoadGraphic(void) { u16 src = 0; reset_temp_tile_data_buffers(); - decompress_and_copy_tile_data_to_vram(1, &gUnknown_8E86240, 0, 0, 0); - LZDecompressWram(&gUnknown_8E86BE8, gUnknown_203F450->buffer1); - LZDecompressWram(&gUnknown_8E86D6C, gUnknown_203F450->buffer4); - LoadCompressedPalette(&gUnknown_8E86F98, 0, 0x80); + decompress_and_copy_tile_data_to_vram(1, gUnknown_8E86240, 0, 0, 0); + LZDecompressWram(gUnknown_8E86BE8, gUnknown_203F450->buffer1); + LZDecompressWram(gUnknown_8E86D6C, gUnknown_203F450->buffer4); + LoadCompressedPalette(gUnknown_8E86F98, 0, 0x80); LoadPalette(&src, 0, 2); LoadSpritePalette(&gUnknown_83A5348); TeachyTvLoadBg3Map(gUnknown_203F450->buffer3); @@ -250,7 +250,7 @@ void TeachyTvLoadGraphic(void) void TeachyTvCreateAndRenderRbox(void) { - InitWindows(&gUnknown_84792F0); + InitWindows(gUnknown_84792F0); DeactivateAllTextPrinters(); FillWindowPixelBuffer(0, 0xCC); PutWindowTilemap(0); @@ -265,7 +265,7 @@ u8 TeachyTvSetupWindow(void) gMultiuseListMenuTemplate.moveCursorFunc = TeachyTvAudioByInput; if (!CheckBagHasItem(ITEM_TM_CASE, 1)) { - gMultiuseListMenuTemplate.items = &gUnknown_8479340; + gMultiuseListMenuTemplate.items = gUnknown_8479340; gMultiuseListMenuTemplate.totalItems = 5; gMultiuseListMenuTemplate.maxShowed = 5; gMultiuseListMenuTemplate.upText_Y = (gMultiuseListMenuTemplate.upText_Y + 8) & 0xF; @@ -502,7 +502,7 @@ void TeachyTvClusFuncNpcMoveAndSetupTextPrinter(u8 taskId) if (spriteAddr->pos2.x == 0x78) { StartSpriteAnim(&gSprites[data[1]], 0); - TeachyTvInitTextPrinter(&gUnknown_841B83D); + TeachyTvInitTextPrinter(gUnknown_841B83D); data[2] = 0; ++data[3]; } @@ -536,7 +536,7 @@ void TeachyTvRenderMsgAndSwitchClusterFuncs(u8 taskId) } else { - void (***array)(u8) = &gUnknown_8479548; + void (***array)(u8) = gUnknown_8479548; void (**cluster)(u8) = array[(u8)gTeachyTV_StaticResources.optionChosen]; cluster[data[3]](taskId); } @@ -545,7 +545,7 @@ void TeachyTvRenderMsgAndSwitchClusterFuncs(u8 taskId) void TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen(u8 taskId) { s16 *data = gTasks[taskId].data; - const u8 * const* texts = &gUnknown_8479560; + const u8 * const* texts = gUnknown_8479560; TeachyTvInitTextPrinter(texts[gTeachyTV_StaticResources.optionChosen]); ++data[3]; } @@ -553,7 +553,7 @@ void TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen(u8 taskId) void TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen2(u8 taskId) { s16 *data = gTasks[taskId].data; - const u8 * const* texts = &gUnknown_8479578; + const u8 * const* texts = gUnknown_8479578; TeachyTvInitTextPrinter(texts[gTeachyTV_StaticResources.optionChosen]); ++data[3]; } @@ -753,7 +753,7 @@ void TeachyTvGrassAnimationMain(u8 taskId, s16 x, s16 y, u8 subpriority, bool8 m res = TeachyTvGrassAnimationCheckIfNeedsToGenerateGrassObj(x - 0x10, y); if (res << 24) { - objTemAddr = &gUnknown_83A0010; + objTemAddr = gUnknown_83A0010; objId = CreateSprite(*(objTemAddr+4), 0, 0, subprio); obj = gSprites + objId; obj->pos2.x = x; @@ -767,7 +767,7 @@ void TeachyTvGrassAnimationMain(u8 taskId, s16 x, s16 y, u8 subpriority, bool8 m } else { - SetSubspriteTables(obj, &gUnknown_84795B8); + SetSubspriteTables(obj, gUnknown_84795B8); obj->subspriteTableNum = 0; obj->subspriteMode = 1; } -- cgit v1.2.3 From 35c14911478ce0b963376fc4c82cedfb5b5614a4 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Mon, 10 Jun 2019 12:44:12 +0800 Subject: sub_815C0D4 finished --- src/teachy_tv.c | 225 +++++++------------------------------------------------- 1 file changed, 28 insertions(+), 197 deletions(-) diff --git a/src/teachy_tv.c b/src/teachy_tv.c index 609c470bc..6c0df1edc 100644 --- a/src/teachy_tv.c +++ b/src/teachy_tv.c @@ -472,7 +472,7 @@ void TeachyTvClusFuncTransitionRenderBg2TeachyTvGraphicInitNpcPos(u8 taskId) if (++data[2] > 63) { CopyToBgTilemapBufferRect_ChangePalette(2, gUnknown_203F450->buffer4, 0, 0, 0x20, 0x20, 0x11); - TeachyTvSetSpriteCoordsAndSwitchFrame(((u8*)data)[2], 8, 0x38, 7); + TeachyTvSetSpriteCoordsAndSwitchFrame(((u8 *)data)[2], 8, 0x38, 7); schedule_bg_copy_tilemap_to_vram(2); data[2] = 0; ++data[3]; @@ -513,7 +513,7 @@ void TeachyTvClusFuncNpcMoveAndSetupTextPrinter(u8 taskId) void TeachyTvClusFuncIdleIfTextPrinterIsActive(u8 taskId) { - s16* data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; if (!sub_80BF518(0)) ++data[3]; } @@ -560,7 +560,7 @@ void TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen2(u8 taskId) void TeachyTvClusFuncIdleIfTextPrinterIsActive2(u8 taskId) { - s16* data = (u16 *)gTasks[taskId].data; + s16 *data = (u16 *)gTasks[taskId].data; if (!sub_80BF518(0)) ++data[3]; } @@ -732,7 +732,7 @@ void TeachyTvPostBattleFadeControl(u8 taskId) s16 *data = gTasks[taskId].data; if (!(gPaletteFade.active)) { - const u8* funcIdx = gUnknown_8479390; + const u8 *funcIdx = gUnknown_8479390; int arg = funcIdx[gTeachyTV_StaticResources.optionChosen]; data[3] = arg; gTasks[taskId].func = TeachyTvRenderMsgAndSwitchClusterFuncs; @@ -751,7 +751,7 @@ void TeachyTvGrassAnimationMain(u8 taskId, s16 x, s16 y, u8 subpriority, bool8 m if (gUnknown_203F450->var_4006 != 1) { res = TeachyTvGrassAnimationCheckIfNeedsToGenerateGrassObj(x - 0x10, y); - if (res << 24) + if (res) { objTemAddr = gUnknown_83A0010; objId = CreateSprite(*(objTemAddr+4), 0, 0, subprio); @@ -777,8 +777,7 @@ void TeachyTvGrassAnimationMain(u8 taskId, s16 x, s16 y, u8 subpriority, bool8 m void TeachyTvGrassAnimationObjCallback(struct Sprite *sprite) { - u32 diff1, diff2; - s16 *data = gTasks[sprite->data[0]].data; + s16 diff1, diff2, *data = gTasks[sprite->data[0]].data; struct Sprite *objAddr = &gSprites[data[1]]; if (gUnknown_203F450->var_4006 == 1) DestroySprite(sprite); @@ -794,12 +793,12 @@ void TeachyTvGrassAnimationObjCallback(struct Sprite *sprite) sprite->subpriority = 0; diff1 = (u16)(sprite->pos2.x - objAddr->pos2.x); diff2 = (u16)(sprite->pos2.y - objAddr->pos2.y); - diff1 = ((diff1 << 0x10) + 0xF0000) >> 0x10; - if (diff1 <= 0x1E) + diff1 += 0xF; + if ((u16)diff1 <= 0x1E) { - if ((s16)diff2 > -0x10) + if (diff2 > -0x10) { - if ((s16)diff2 <= 0x17) + if (diff2 <= 0x17) return; } } @@ -850,7 +849,7 @@ void TeachyTvPreBattleAnimAndSetBattleCallback(u8 taskId) ++data[7]; break; case 1: - if (sub_80D08F8() << 24) + if (sub_80D08F8()) { SetMainCallback2(sub_800FD9C); DestroyTask(taskId); @@ -1317,205 +1316,40 @@ void TeachyTvComputeMapTilesFromTilesetAndMetaTiles(u16 *metaTilesArray, u8 *blo TeachyTvComputeSingleMapTileBlockFromTilesetAndMetaTiles(blockBuf, &tileset[0x20 * (metaTilesArray[7] & 0x3FF)], (metaTilesArray[7] >> 10) & 3); } -#ifdef NONMATCHING void TeachyTvComputeSingleMapTileBlockFromTilesetAndMetaTiles(u8 *blockBuf, u8 *tileset, u8 metaTile) { - u32 i; - u32 j; - vu32 src; - u8* buffer = (u8 *)AllocZeroed(0x20); - src = ((u32)AllocZeroed(0x20)); + u8 i, j, * src, *buffer = (u8 *)AllocZeroed(0x20); + src = AllocZeroed(0x20); CpuFastSet(tileset, buffer, 8); if (metaTile & 1) { - for (i=0; i<8; ++i) + for (i = 0; i < 8; ++i) { - for (j=0; j<4; ++j) + for (j = 0; j < 4; ++j) { - u32 offset1 = i << 2; u32 offset2 = j - 3; - u32 offset = offset1 - offset2; - u32 value = buffer[offset]; - u32 dstOffset = offset1 + j; - *(u8*)(src + dstOffset) = ((value & 0xF) << 4) + ((value & 0xF0) >> 4); + u8 value = buffer[(i << 2) - offset2]; + src[(i << 2) + j] = ((value & 0xF) << 4) + ((value & 0xF0) >> 4); } } - CpuFastSet((u8*)src, buffer, 8); + CpuFastSet(src, buffer, 8); } if (metaTile & 2) { - j = 0; - do - { - memcpy(&((u8*)src)[4 * j], &buffer[4 * (7 - j)], 4); - j = (u8)(j + 1); - } - while (j <= 7); - CpuFastSet((u8*)src, buffer, 8); + for (i = 0; i < 8; ++i) + memcpy(&src[4 * i], &buffer[4 * (7 - i)], 4); + CpuFastSet(src, buffer, 8); } - j = 0; - do + for (i = 0; i < 32; ++i) { - if (buffer[j] & 0xF0) - blockBuf[j] = (blockBuf[j] & 0xF) + (buffer[j] & 0xF0); - if (buffer[j] & 0xF) - blockBuf[j] = (blockBuf[j] & 0xF0) + (buffer[j] & 0xF); - j = (u8)(j + 1); + if (buffer[i] & 0xF0) + blockBuf[i] = (blockBuf[i] & 0xF) + (buffer[i] & 0xF0); + if (buffer[i] & 0xF) + blockBuf[i] = (blockBuf[i] & 0xF0) + (buffer[i] & 0xF); } - while (j <= 0x1F); - Free((u8*)src); + Free(src); Free(buffer); } -#else -NAKED -void TeachyTvComputeSingleMapTileBlockFromTilesetAndMetaTiles(u8 *blockBuf, u8 *tileset, u8 metaTile) -{ - asm_unified("\n\ - push {r4-r7,lr}\n\ - mov r7, r10\n\ - mov r6, r9\n\ - mov r5, r8\n\ - push {r5-r7}\n\ - sub sp, 0x4\n\ - mov r9, r0\n\ - adds r4, r1, 0\n\ - lsls r2, 24\n\ - lsrs r2, 24\n\ - mov r10, r2\n\ - movs r0, 0x20\n\ - bl AllocZeroed\n\ - adds r6, r0, 0\n\ - movs r0, 0x20\n\ - bl AllocZeroed\n\ - str r0, [sp]\n\ - adds r0, r4, 0\n\ - adds r1, r6, 0\n\ - movs r2, 0x8\n\ - bl CpuFastSet\n\ - movs r0, 0x1\n\ - mov r1, r10\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _0815C15A\n\ - movs r5, 0\n\ - movs r7, 0xF\n\ - mov r12, r7\n\ - movs r0, 0xF0\n\ - mov r8, r0\n\ - _0815C118:\n\ - movs r3, 0\n\ - lsls r4, r5, 2\n\ - _0815C11C:\n\ - subs r0, r3, 0x3\n\ - subs r0, r4, r0\n\ - adds r0, r6, r0\n\ - ldrb r1, [r0]\n\ - adds r2, r4, r3\n\ - ldr r7, [sp]\n\ - adds r2, r7, r2\n\ - adds r0, r1, 0\n\ - mov r7, r12\n\ - ands r0, r7\n\ - lsls r0, 4\n\ - mov r7, r8\n\ - ands r1, r7\n\ - lsrs r1, 4\n\ - adds r0, r1\n\ - strb r0, [r2]\n\ - adds r0, r3, 0x1\n\ - lsls r0, 24\n\ - lsrs r3, r0, 24\n\ - cmp r3, 0x3\n\ - bls _0815C11C\n\ - adds r0, r5, 0x1\n\ - lsls r0, 24\n\ - lsrs r5, r0, 24\n\ - cmp r5, 0x7\n\ - bls _0815C118\n\ - ldr r0, [sp]\n\ - adds r1, r6, 0\n\ - movs r2, 0x8\n\ - bl CpuFastSet\n\ - _0815C15A:\n\ - movs r0, 0x2\n\ - mov r1, r10\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _0815C18E\n\ - movs r5, 0\n\ - _0815C166:\n\ - lsls r0, r5, 2\n\ - ldr r7, [sp]\n\ - adds r0, r7\n\ - movs r1, 0x7\n\ - subs r1, r5\n\ - lsls r1, 2\n\ - adds r1, r6\n\ - movs r2, 0x4\n\ - bl memcpy\n\ - adds r0, r5, 0x1\n\ - lsls r0, 24\n\ - lsrs r5, r0, 24\n\ - cmp r5, 0x7\n\ - bls _0815C166\n\ - ldr r0, [sp]\n\ - adds r1, r6, 0\n\ - movs r2, 0x8\n\ - bl CpuFastSet\n\ - _0815C18E:\n\ - movs r5, 0\n\ - movs r0, 0xF0\n\ - mov r8, r0\n\ - movs r1, 0xF\n\ - mov r12, r1\n\ - _0815C198:\n\ - adds r4, r6, r5\n\ - ldrb r0, [r4]\n\ - mov r3, r8\n\ - ands r3, r0\n\ - cmp r3, 0\n\ - beq _0815C1B2\n\ - mov r7, r9\n\ - adds r2, r7, r5\n\ - ldrb r1, [r2]\n\ - mov r0, r12\n\ - ands r0, r1\n\ - adds r0, r3\n\ - strb r0, [r2]\n\ - _0815C1B2:\n\ - ldrb r0, [r4]\n\ - mov r3, r12\n\ - ands r3, r0\n\ - cmp r3, 0\n\ - beq _0815C1CA\n\ - mov r0, r9\n\ - adds r2, r0, r5\n\ - ldrb r1, [r2]\n\ - mov r0, r8\n\ - ands r0, r1\n\ - adds r0, r3\n\ - strb r0, [r2]\n\ - _0815C1CA:\n\ - adds r0, r5, 0x1\n\ - lsls r0, 24\n\ - lsrs r5, r0, 24\n\ - cmp r5, 0x1F\n\ - bls _0815C198\n\ - ldr r0, [sp]\n\ - bl Free\n\ - adds r0, r6, 0\n\ - bl Free\n\ - add sp, 0x4\n\ - pop {r3-r5}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - mov r10, r5\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - "); -} -#endif u16 TeachyTvComputePalIndexArrayEntryByMetaTile(u8 *palIndexArrayBuf, u16 metaTile) { @@ -1533,11 +1367,8 @@ u16 TeachyTvComputePalIndexArrayEntryByMetaTile(u8 *palIndexArrayBuf, u16 metaTi } else { - while (1) + while (++i < 16) { - ++i; - if (i > 0xF) - break; temp = palIndexArrayBuf[i]; if (temp == pal) break; -- cgit v1.2.3 From 19f89762cf4c1d34b716428dfacd2168a979fe3c Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Mon, 10 Jun 2019 16:56:12 +0800 Subject: data decomp --- data/data_83FECCC.s | 23 ++- data/data_8471F00.s | 41 ----- ld_script.txt | 1 + src/coins.c | 2 +- src/teachy_tv.c | 469 +++++++++++++++++++++++++++++++++++++++++++++++----- 5 files changed, 456 insertions(+), 80 deletions(-) diff --git a/data/data_83FECCC.s b/data/data_83FECCC.s index edddda0ab..52af8de8a 100644 --- a/data/data_83FECCC.s +++ b/data/data_83FECCC.s @@ -1903,7 +1903,28 @@ gUnknown_841B76B:: @ 841B76B .incbin "baserom.gba", 0x41B76B, 0xE gUnknown_841B779:: @ 841B779 - .incbin "baserom.gba", 0x41B779, 0xC4 + .incbin "baserom.gba", 0x41B779, 0x2B + +gUnknown_841B7A4:: @ 841B7A4 + .string "Teach me how to battle.$" + +gUnknown_841B7BC:: @ 841B7BC + .string "What are status problems?$" + +gUnknown_841B7D6:: @ 841B7D6 + .string "What are type matchups?$" + +gUnknown_841B7EE:: @ 841B7EE + .string "I want to catch POKéMON.$" + +gUnknown_841B807:: @ 841B807 + .string "Teach me about TMs.$" + +gUnknown_841B81B:: @ 841B81B + .string "How do I register an item?$" + +gUnknown_841B836:: @ 841B836 + .string "CANCEL$" gUnknown_841B83D:: @ 841B83D .string "Hey, all you TRAINERS out there!\n" diff --git a/data/data_8471F00.s b/data/data_8471F00.s index e8b51cf69..672a9178e 100644 --- a/data/data_8471F00.s +++ b/data/data_8471F00.s @@ -215,47 +215,6 @@ gUnknown_84791E8:: @ 84791E8 gUnknown_84792D0:: @ 84792D0 .incbin "baserom.gba", 0x4792D0, 0x10 -gUnknown_84792E0:: @ 84792E0 - .incbin "baserom.gba", 0x4792E0, 0x10 - -gUnknown_84792F0:: @ 84792F0 - .incbin "baserom.gba", 0x4792F0, 0x50 - -gUnknown_8479340:: @ 8479340 - .incbin "baserom.gba", 0x479340, 0x28 - -gUnknown_8479368:: @ 8479368 - .incbin "baserom.gba", 0x479368, 0x18 - -gUnknown_8479380:: @ 8479380 - .incbin "baserom.gba", 0x479380, 0x10 - -gUnknown_8479390:: @ 8479390 - .incbin "baserom.gba", 0x479390, 0x1B8 - -gUnknown_8479548:: @ 8479548 - .incbin "baserom.gba", 0x479548, 0x18 - -gUnknown_8479560:: @ 8479560 - .4byte gUnknown_841B8BF - .4byte gUnknown_841BB40 - .4byte gUnknown_841BE76 - .4byte gUnknown_841C23B - .4byte gUnknown_841C459 - .4byte gUnknown_841C82A - -gUnknown_8479578:: @ 8479578 - .incbin "baserom.gba", 0x479578, 0x18 - -gUnknown_8479590:: @ 8479590 - .incbin "baserom.gba", 0x479590, 0x28 - -gUnknown_84795B8:: @ 84795B8 - .incbin "baserom.gba", 0x4795B8, 0x10 - -gUnknown_84795C8:: @ 84795C8 - .incbin "baserom.gba", 0x4795C8, 0x90 - .section .rodata.8479668 .align 2 diff --git a/ld_script.txt b/ld_script.txt index db9b37607..d264549b7 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -450,6 +450,7 @@ SECTIONS { src/text_window_graphics.o(.rodata); src/quest_log_8150454.o(.rodata); data/data_8471F00.o(.rodata); + src/teachy_tv.o(.rodata); src/unk_815C980.o(.rodata); data/data_8471F00.o(.rodata.8479668); src/trainer_tower.o(.rodata); diff --git a/src/coins.c b/src/coins.c index 08646e2f9..e97928df7 100644 --- a/src/coins.c +++ b/src/coins.c @@ -3,8 +3,8 @@ #include "text.h" #include "menu.h" #include "text_window.h" +#include "strings.h" -extern const u8 gText_Coins[]; extern const u8 gUnknown_8417C2D[]; EWRAM_DATA static u8 sCoinsWindowId = 0; diff --git a/src/teachy_tv.c b/src/teachy_tv.c index 6c0df1edc..6f1fcef3c 100644 --- a/src/teachy_tv.c +++ b/src/teachy_tv.c @@ -1,5 +1,4 @@ #include "main.h" -#include "global.h" #include "task.h" #include "menu.h" #include "palette.h" @@ -58,27 +57,30 @@ struct TeachyTvBuf EWRAM_DATA struct TeachyTvCtrlBlk gTeachyTV_StaticResources = {0}; EWRAM_DATA struct TeachyTvBuf * gUnknown_203F450 = NULL; -extern const struct ScrollIndicatorArrowPairTemplate gUnknown_8479380; -extern const u8 gUnknown_841B83D[]; -extern const struct BgTemplate gUnknown_84792E0[]; extern const struct SpritePalette gUnknown_83A5348; -extern void (**gUnknown_8479548[])(u8); -extern const u8 * const gUnknown_8479560[]; -extern const u8 * const gUnknown_8479578[]; +extern const struct SpriteTemplate * const gUnknown_83A0010[]; +extern const struct MapData Route1_Layout; +extern const u8 gUnknown_841B7A4[], gUnknown_841B7BC[], gUnknown_841B7D6[], gUnknown_841B7EE[], gUnknown_841B807[], gUnknown_841B81B[], gUnknown_841B836[], gUnknown_841B83D[], gUnknown_841B8BF[], gUnknown_841BB40[], gUnknown_841BE76[], gUnknown_841C23B[], gUnknown_841C459[], gUnknown_841C82A[], gUnknown_841BA41[], gUnknown_841BD10[], gUnknown_841C0AF[], gUnknown_841C384[], gUnknown_841C7B4[], gUnknown_841C994[]; extern const u8 gUnknown_8E86240[]; extern const u8 gUnknown_8E86BE8[]; extern const u8 gUnknown_8E86D6C[]; extern const u8 gUnknown_8E86F98[]; -extern const struct ListMenuTemplate gUnknown_8479368; -extern const struct ListMenuItem gUnknown_8479340[]; -extern const struct WindowTemplate gUnknown_84792F0[]; -extern const u16 gUnknown_8479590[]; -extern const u8 gUnknown_8479390[]; -extern const struct SubspriteTable gUnknown_84795B8[]; -extern const struct SpriteTemplate * const gUnknown_83A0010[]; -extern const u8 gUnknown_84795C8[]; -extern const struct MapData Route1_Layout; +void TeachyTvClusFuncTransitionRenderBg2TeachyTvGraphicInitNpcPos(u8 taskId); +void TeachyTvClusFuncClearBg2TeachyTvGraphic(u8 taskId); +void TeachyTvClusFuncNpcMoveAndSetupTextPrinter(u8 taskId); +void TeachyTvClusFuncIdleIfTextPrinterIsActive(u8 taskId); +void TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen(u8 taskId); +void TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen2(u8 taskId); +void TeachyTvClusFuncIdleIfTextPrinterIsActive2(u8 taskId); +void TeachyTvClusFuncEraseTextWindowIfKeyPressed(u8 taskId); +void TeachyTvClusFuncStartAnimNpcWalkIntoGrass(u8 taskId); +void TeachyTvClusFuncDudeMoveUp(u8 taskId); +void TeachyTvClusFuncDudeMoveRight(u8 taskId); +void TeachyTvClusFuncDudeTurnLeft(u8 taskId); +void TeachyTvClusFuncDudeMoveLeft(u8 taskId); +void TeachyTvClusFuncRenderAndRemoveBg1EndGraphic(u8 taskId); +void TeachyTvClusFuncTaskBattleOrFadeByOptionChosen(u8 taskId); void TeachyTvCallback(void); void TeachyTvMainCallback(void); void TeachyTvVblankHandler(void); @@ -113,6 +115,399 @@ void TeachyTvComputeSingleMapTileBlockFromTilesetAndMetaTiles(u8 *blockBuf, u8 * u16 TeachyTvComputePalIndexArrayEntryByMetaTile(u8 *palIndexArrayBuf, u16 metaTile); void TeachyTvLoadMapPalette(const struct MapData * mStruct, const u8 *palIndexArray); +const struct BgTemplate gTeachyTvBgTemplateArray[] = +{ + { + .bg = 0x0, + .charBaseIndex = 0x0, + .mapBaseIndex = 0x1F, + .screenSize = 0x0, + .paletteMode = 0x0, + .priority = 0x1, + .baseTile = 0x0, + }, + { + .bg = 0x1, + .charBaseIndex = 0x0, + .mapBaseIndex = 0x1E, + .screenSize = 0x0, + .paletteMode = 0x0, + .priority = 0x0, + .baseTile = 0x0, + }, + { + .bg = 0x2, + .charBaseIndex = 0x0, + .mapBaseIndex = 0x1D, + .screenSize = 0x0, + .paletteMode = 0x0, + .priority = 0x2, + .baseTile = 0x0, + }, + { + .bg = 0x3, + .charBaseIndex = 0x2, + .mapBaseIndex = 0x1C, + .screenSize = 0x0, + .paletteMode = 0x0, + .priority = 0x3, + .baseTile = 0x0, + }, +}; + +const struct WindowTemplate gTeachyTvWindowTemplateArray[] = +{ + { + .bg = 0x1, + .tilemapLeft = 0x2, + .tilemapTop = 0xF, + .width = 0x1A, + .height = 0x4, + .paletteNum = 0x3, + .baseBlock = 0xEA, + }, + { + .bg = 0x0, + .tilemapLeft = 0x4, + .tilemapTop = 0x1, + .width = 0x16, + .height = 0xC, + .paletteNum = 0x3, + .baseBlock = 0x152, + }, + { + .bg = 0xFF, + .tilemapLeft = 0x0, + .tilemapTop = 0x0, + .width = 0x0, + .height = 0x0, + .paletteNum = 0x0, + .baseBlock = 0x0, + }, +}; + +const struct ListMenuItem gTeachyTvListMenuItemArray[] = +{ + { + .unk_00 = gUnknown_841B7A4, + .unk_04 = 0, + }, + { + .unk_00 = gUnknown_841B7BC, + .unk_04 = 1, + }, + { + .unk_00 = gUnknown_841B7D6, + .unk_04 = 2, + }, + { + .unk_00 = gUnknown_841B7EE, + .unk_04 = 3, + }, + { + .unk_00 = gUnknown_841B807, + .unk_04 = 4, + }, + { + .unk_00 = gUnknown_841B81B, + .unk_04 = 5, + }, + + { + .unk_00 = gUnknown_841B836, + .unk_04 = -2, + }, +}; + +const struct ListMenuItem gTeachyTvListMenuItemArray2[] = +{ + { + .unk_00 = gUnknown_841B7A4, + .unk_04 = 0, + }, + { + .unk_00 = gUnknown_841B7BC, + .unk_04 = 1, + }, + { + .unk_00 = gUnknown_841B7D6, + .unk_04 = 2, + }, + { + .unk_00 = gUnknown_841B7EE, + .unk_04 = 3, + }, + { + .unk_00 = gUnknown_841B836, + .unk_04 = -2, + }, +}; + +const struct ListMenuTemplate gTeachyTvListMenuTemplateArray = +{ + .items = gTeachyTvListMenuItemArray, + .moveCursorFunc = NULL, + .itemPrintFunc = NULL, + .totalItems = 0x7, + .maxShowed = 0x6, + .windowId = 0x0, + .header_X = 0x0, + .item_X = 0x8, + .cursor_X = 0x0, + .upText_Y = 0x6, + .cursorPal = 0x1, + .fillValue = 0x0, + .cursorShadowPal = 0x2, + .lettersSpacing = 0x0, + .itemVerticalPadding = 0x0, + .scrollMultiple = 0x1, + .fontId = 0x2, + .cursorKind = 0x0, +}; + +const struct ScrollIndicatorArrowPairTemplate gTeachyTvScrollIndicatorArrowPairTemplateArray = +{ + .unk_00 = 0x2, + .unk_01 = 0x78, + .unk_02 = 0xC, + .unk_03 = 0x3, + .unk_04 = 0x78, + .unk_05 = 0x64, + .unk_06 = 0x0, + .unk_08 = 0x1, + .unk_0a = 0x800, + .unk_0c = 0x800, + .unk_0e_0 = 0x0, + .unk_0e_4 = 0x0, +}; + +const u8 gTeachyTvSwitchFuncArray[] = +{ + 0xC, 0xC, 0xC, 0xC, 0x9, 0x9, 0x0, 0x0, +}; + +void (* const gTeachyTvFuncCluster0[])(u8) = +{ + TeachyTvClusFuncTransitionRenderBg2TeachyTvGraphicInitNpcPos, + TeachyTvClusFuncClearBg2TeachyTvGraphic, + TeachyTvClusFuncNpcMoveAndSetupTextPrinter, + TeachyTvClusFuncIdleIfTextPrinterIsActive, + TeachyTvClusFuncIdleIfTextPrinterIsActive2, + TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen, + TeachyTvClusFuncIdleIfTextPrinterIsActive2, + TeachyTvClusFuncEraseTextWindowIfKeyPressed, + TeachyTvClusFuncStartAnimNpcWalkIntoGrass, + TeachyTvClusFuncDudeMoveUp, + TeachyTvClusFuncDudeMoveRight, + TeachyTvClusFuncTaskBattleOrFadeByOptionChosen, + TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen2, + TeachyTvClusFuncIdleIfTextPrinterIsActive2, + TeachyTvClusFuncEraseTextWindowIfKeyPressed, + TeachyTvClusFuncDudeTurnLeft, + TeachyTvClusFuncDudeMoveLeft, + TeachyTvClusFuncRenderAndRemoveBg1EndGraphic, + TeachyTvBackToOptionList, +}; + +void (* const gTeachyTvFuncCluster1[])(u8) = +{ + TeachyTvClusFuncTransitionRenderBg2TeachyTvGraphicInitNpcPos, + TeachyTvClusFuncClearBg2TeachyTvGraphic, + TeachyTvClusFuncNpcMoveAndSetupTextPrinter, + TeachyTvClusFuncIdleIfTextPrinterIsActive, + TeachyTvClusFuncIdleIfTextPrinterIsActive2, + TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen, + TeachyTvClusFuncIdleIfTextPrinterIsActive2, + TeachyTvClusFuncEraseTextWindowIfKeyPressed, + TeachyTvClusFuncStartAnimNpcWalkIntoGrass, + TeachyTvClusFuncDudeMoveUp, + TeachyTvClusFuncDudeMoveRight, + TeachyTvClusFuncTaskBattleOrFadeByOptionChosen, + TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen2, + TeachyTvClusFuncIdleIfTextPrinterIsActive2, + TeachyTvClusFuncEraseTextWindowIfKeyPressed, + TeachyTvClusFuncDudeTurnLeft, + TeachyTvClusFuncDudeMoveLeft, + TeachyTvClusFuncRenderAndRemoveBg1EndGraphic, + TeachyTvBackToOptionList, +}; + +void (* const gTeachyTvFuncCluster2[])(u8) = +{ + TeachyTvClusFuncTransitionRenderBg2TeachyTvGraphicInitNpcPos, + TeachyTvClusFuncClearBg2TeachyTvGraphic, + TeachyTvClusFuncNpcMoveAndSetupTextPrinter, + TeachyTvClusFuncIdleIfTextPrinterIsActive, + TeachyTvClusFuncIdleIfTextPrinterIsActive2, + TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen, + TeachyTvClusFuncIdleIfTextPrinterIsActive2, + TeachyTvClusFuncEraseTextWindowIfKeyPressed, + TeachyTvClusFuncStartAnimNpcWalkIntoGrass, + TeachyTvClusFuncDudeMoveUp, + TeachyTvClusFuncDudeMoveRight, + TeachyTvClusFuncTaskBattleOrFadeByOptionChosen, + TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen2, + TeachyTvClusFuncIdleIfTextPrinterIsActive2, + TeachyTvClusFuncEraseTextWindowIfKeyPressed, + TeachyTvClusFuncDudeTurnLeft, + TeachyTvClusFuncDudeMoveLeft, + TeachyTvClusFuncRenderAndRemoveBg1EndGraphic, + TeachyTvBackToOptionList, +}; + +void (* const gTeachyTvFuncCluster3[])(u8) = +{ + TeachyTvClusFuncTransitionRenderBg2TeachyTvGraphicInitNpcPos, + TeachyTvClusFuncClearBg2TeachyTvGraphic, + TeachyTvClusFuncNpcMoveAndSetupTextPrinter, + TeachyTvClusFuncIdleIfTextPrinterIsActive, + TeachyTvClusFuncIdleIfTextPrinterIsActive2, + TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen, + TeachyTvClusFuncIdleIfTextPrinterIsActive2, + TeachyTvClusFuncEraseTextWindowIfKeyPressed, + TeachyTvClusFuncStartAnimNpcWalkIntoGrass, + TeachyTvClusFuncDudeMoveUp, + TeachyTvClusFuncDudeMoveRight, + TeachyTvClusFuncTaskBattleOrFadeByOptionChosen, + TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen2, + TeachyTvClusFuncIdleIfTextPrinterIsActive2, + TeachyTvClusFuncEraseTextWindowIfKeyPressed, + TeachyTvClusFuncDudeTurnLeft, + TeachyTvClusFuncDudeMoveLeft, + TeachyTvClusFuncRenderAndRemoveBg1EndGraphic, + TeachyTvBackToOptionList, +}; + +void (* const gTeachyTvFuncCluster4[])(u8) = +{ + TeachyTvClusFuncTransitionRenderBg2TeachyTvGraphicInitNpcPos, + TeachyTvClusFuncClearBg2TeachyTvGraphic, + TeachyTvClusFuncNpcMoveAndSetupTextPrinter, + TeachyTvClusFuncIdleIfTextPrinterIsActive, + TeachyTvClusFuncIdleIfTextPrinterIsActive2, + TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen, + TeachyTvClusFuncIdleIfTextPrinterIsActive2, + TeachyTvClusFuncEraseTextWindowIfKeyPressed, + TeachyTvClusFuncTaskBattleOrFadeByOptionChosen, + TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen2, + TeachyTvClusFuncIdleIfTextPrinterIsActive2, + TeachyTvClusFuncEraseTextWindowIfKeyPressed, + TeachyTvClusFuncDudeTurnLeft, + TeachyTvClusFuncDudeMoveLeft, + TeachyTvClusFuncRenderAndRemoveBg1EndGraphic, + TeachyTvBackToOptionList, +}; + +void (* const gTeachyTvFuncCluster5[])(u8) = +{ + TeachyTvClusFuncTransitionRenderBg2TeachyTvGraphicInitNpcPos, + TeachyTvClusFuncClearBg2TeachyTvGraphic, + TeachyTvClusFuncNpcMoveAndSetupTextPrinter, + TeachyTvClusFuncIdleIfTextPrinterIsActive, + TeachyTvClusFuncIdleIfTextPrinterIsActive2, + TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen, + TeachyTvClusFuncIdleIfTextPrinterIsActive2, + TeachyTvClusFuncEraseTextWindowIfKeyPressed, + TeachyTvClusFuncTaskBattleOrFadeByOptionChosen, + TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen2, + TeachyTvClusFuncIdleIfTextPrinterIsActive2, + TeachyTvClusFuncEraseTextWindowIfKeyPressed, + TeachyTvClusFuncDudeTurnLeft, + TeachyTvClusFuncDudeMoveLeft, + TeachyTvClusFuncRenderAndRemoveBg1EndGraphic, + TeachyTvBackToOptionList, +}; + +void (* const * const gTeachyTvFuncClusterArray[])(u8) = +{ + gTeachyTvFuncCluster0, + gTeachyTvFuncCluster1, + gTeachyTvFuncCluster2, + gTeachyTvFuncCluster3, + gTeachyTvFuncCluster4, + gTeachyTvFuncCluster5, +}; + +const u8 * const gTeachyTvTextArray1[] = +{ + gUnknown_841B8BF, + gUnknown_841BB40, + gUnknown_841BE76, + gUnknown_841C23B, + gUnknown_841C459, + gUnknown_841C82A, +}; + +const u8 * const gTeachyTvTextArray2[] = +{ + gUnknown_841BA41, + gUnknown_841BD10, + gUnknown_841C0AF, + gUnknown_841C384, + gUnknown_841C7B4, + gUnknown_841C994, +}; + +const u16 gUnknown_8479590[] = +{ + 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8, + 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, +}; + +const struct Subsprite gTeachyTvSubspriteArray[] = +{ + { + .x = -0x8, + .y = -0x8, + .shape = 0x1, + .size = 0x0, + .tileOffset = 0x0, + .priority = 0x3, + }, + { + .x = -0x8, + .y = 0x0, + .shape = 0x1, + .size = 0x0, + .tileOffset = 0x2, + .priority = 0x2, + }, +}; + +const struct SubspriteTable gTeachyTvSubspriteTableArray[] = +{ + { + .subspriteCount = 0, + .subsprites = NULL, + }, + { + .subspriteCount = 2, + .subsprites = gTeachyTvSubspriteArray, + }, +}; + +const u8 gTeachyTvGrassAnimArray[] = +{ + 0, 0, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 0, 0, + 0, 0, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 0, 0, + 0, 0, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 0, 0, + 0, 0, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 0, 0, + 0, 0, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 0, 0, +}; + void TeachyTvCallback(void) { RunTasks(); @@ -219,7 +614,7 @@ void TeachyTvSetupBg(void) { InitBgReg(); ResetBgsAndClearDma3BusyFlags(0); - InitBgsFromTemplates(0, gUnknown_84792E0, 4); + InitBgsFromTemplates(0, gTeachyTvBgTemplateArray, 4); SetBgTilemapBuffer(1, gUnknown_203F450->buffer1); SetBgTilemapBuffer(2, gUnknown_203F450->buffer2); SetBgTilemapBuffer(3, gUnknown_203F450->buffer3); @@ -250,7 +645,7 @@ void TeachyTvLoadGraphic(void) void TeachyTvCreateAndRenderRbox(void) { - InitWindows(gUnknown_84792F0); + InitWindows(gTeachyTvWindowTemplateArray); DeactivateAllTextPrinters(); FillWindowPixelBuffer(0, 0xCC); PutWindowTilemap(0); @@ -260,12 +655,12 @@ void TeachyTvCreateAndRenderRbox(void) u8 TeachyTvSetupWindow(void) { - gMultiuseListMenuTemplate = gUnknown_8479368; + gMultiuseListMenuTemplate = gTeachyTvListMenuTemplateArray; gMultiuseListMenuTemplate.windowId = 1; gMultiuseListMenuTemplate.moveCursorFunc = TeachyTvAudioByInput; if (!CheckBagHasItem(ITEM_TM_CASE, 1)) { - gMultiuseListMenuTemplate.items = gUnknown_8479340; + gMultiuseListMenuTemplate.items = gTeachyTvListMenuItemArray2; gMultiuseListMenuTemplate.totalItems = 5; gMultiuseListMenuTemplate.maxShowed = 5; gMultiuseListMenuTemplate.upText_Y = (gMultiuseListMenuTemplate.upText_Y + 8) & 0xF; @@ -285,7 +680,7 @@ void TeachyTvSetupScrollIndicatorArrowPair(void) } else { - u8 res = AddScrollIndicatorArrowPair(&gUnknown_8479380, &(gTeachyTV_StaticResources.scrollOffset)); + u8 res = AddScrollIndicatorArrowPair(&gTeachyTvScrollIndicatorArrowPairTemplateArray, &(gTeachyTV_StaticResources.scrollOffset)); gUnknown_203F450->var_4007 = res; } } @@ -315,10 +710,10 @@ void TeachyTvInitIo(void) u8 TeachyTvSetupObjEventAndOam(void) { - u8 temp = AddPseudoEventObject(90, SpriteCallbackDummy, 0, 0, 8); - gSprites[temp].oam.priority = 2; - gSprites[temp].invisible = 1; - return temp; + u8 objId = AddPseudoEventObject(90, SpriteCallbackDummy, 0, 0, 8); + gSprites[objId].oam.priority = 2; + gSprites[objId].invisible = 1; + return objId; } void TeachyTvSetSpriteCoordsAndSwitchFrame(u8 objId, u16 x, u16 y, u8 frame) @@ -536,8 +931,8 @@ void TeachyTvRenderMsgAndSwitchClusterFuncs(u8 taskId) } else { - void (***array)(u8) = gUnknown_8479548; - void (**cluster)(u8) = array[(u8)gTeachyTV_StaticResources.optionChosen]; + void (* const * const *array)(u8) = gTeachyTvFuncClusterArray; + void (* const * const cluster)(u8) = array[(u8)gTeachyTV_StaticResources.optionChosen]; cluster[data[3]](taskId); } } @@ -545,7 +940,7 @@ void TeachyTvRenderMsgAndSwitchClusterFuncs(u8 taskId) void TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen(u8 taskId) { s16 *data = gTasks[taskId].data; - const u8 * const* texts = gUnknown_8479560; + const u8 * const* texts = gTeachyTvTextArray1; TeachyTvInitTextPrinter(texts[gTeachyTV_StaticResources.optionChosen]); ++data[3]; } @@ -553,7 +948,7 @@ void TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen(u8 taskId) void TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen2(u8 taskId) { s16 *data = gTasks[taskId].data; - const u8 * const* texts = gUnknown_8479578; + const u8 * const* texts = gTeachyTvTextArray2; TeachyTvInitTextPrinter(texts[gTeachyTV_StaticResources.optionChosen]); ++data[3]; } @@ -701,7 +1096,7 @@ void TeachyTvBackToOptionList(u8 taskId) } } -void TeachyTvChainTaskBattleOrFadeByOptionChosen(u8 taskId) +void TeachyTvClusFuncTaskBattleOrFadeByOptionChosen(u8 taskId) { int op = gTeachyTV_StaticResources.optionChosen; if (op >= 0) @@ -732,7 +1127,7 @@ void TeachyTvPostBattleFadeControl(u8 taskId) s16 *data = gTasks[taskId].data; if (!(gPaletteFade.active)) { - const u8 *funcIdx = gUnknown_8479390; + const u8 *funcIdx = gTeachyTvSwitchFuncArray; int arg = funcIdx[gTeachyTV_StaticResources.optionChosen]; data[3] = arg; gTasks[taskId].func = TeachyTvRenderMsgAndSwitchClusterFuncs; @@ -767,7 +1162,7 @@ void TeachyTvGrassAnimationMain(u8 taskId, s16 x, s16 y, u8 subpriority, bool8 m } else { - SetSubspriteTables(obj, gUnknown_84795B8); + SetSubspriteTables(obj, gTeachyTvSubspriteTableArray); obj->subspriteTableNum = 0; obj->subspriteMode = 1; } @@ -813,7 +1208,7 @@ u8 TeachyTvGrassAnimationCheckIfNeedsToGenerateGrassObj(s16 x, s16 y) int high, low; if ((x < 0) || (y < 0)) return 0; - arr = gUnknown_84795C8; + arr = gTeachyTvGrassAnimArray; high = ((y >> 4) + gUnknown_203F450->var_4005) << 4; low = ((x >> 4) + gUnknown_203F450->var_4004); return arr[high+low]; @@ -1230,8 +1625,8 @@ void TeachyTvPushBackNewMapPalIndexArrayEntry(struct MapData *mStruct, u16 *buf1 metaTileEntryAddr = &((u16*)(ts->metatiles))[8 * temp]; buf1[0] = (TeachyTvComputePalIndexArrayEntryByMetaTile(palIndexArray, metaTileEntryAddr[0]) << 12) + 4 * offset; buf1[1] = (TeachyTvComputePalIndexArrayEntryByMetaTile(palIndexArray, metaTileEntryAddr[1]) << 12) + 4 * offset + 1; - buf1[0x20] = (TeachyTvComputePalIndexArrayEntryByMetaTile(palIndexArray, metaTileEntryAddr[2]) << 12) + 4 * offset + 2; - buf1[0x21] = (TeachyTvComputePalIndexArrayEntryByMetaTile(palIndexArray, metaTileEntryAddr[3]) << 12) + 4 * offset + 3; + buf1[32] = (TeachyTvComputePalIndexArrayEntryByMetaTile(palIndexArray, metaTileEntryAddr[2]) << 12) + 4 * offset + 2; + buf1[33] = (TeachyTvComputePalIndexArrayEntryByMetaTile(palIndexArray, metaTileEntryAddr[3]) << 12) + 4 * offset + 3; } #else NAKED @@ -1327,8 +1722,8 @@ void TeachyTvComputeSingleMapTileBlockFromTilesetAndMetaTiles(u8 *blockBuf, u8 * { for (j = 0; j < 4; ++j) { - u32 offset2 = j - 3; - u8 value = buffer[(i << 2) - offset2]; + u32 offset = j - 3; + u8 value = buffer[(i << 2) - offset]; src[(i << 2) + j] = ((value & 0xF) << 4) + ((value & 0xF0) >> 4); } } -- cgit v1.2.3 From 20a09555eac362113abe831dd6b3973b480f56e9 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Tue, 11 Jun 2019 05:20:42 +0800 Subject: fixed lots of stuff --- include/fame_checker.h | 2 +- include/field_map_obj.h | 4 +- include/fieldmap.h | 1 + include/graphics.h | 7 ++ include/list_menu.h | 4 +- include/main.h | 2 - include/sprite.h | 2 + include/strings.h | 23 ++++- src/fame_checker.c | 16 ++-- src/mystery_gift_menu.c | 2 +- src/teachy_tv.c | 242 +++++++++++++++++++++++------------------------- src/tm_case.c | 8 +- 12 files changed, 167 insertions(+), 146 deletions(-) diff --git a/include/fame_checker.h b/include/fame_checker.h index af705e34f..257431d8b 100644 --- a/include/fame_checker.h +++ b/include/fame_checker.h @@ -41,7 +41,7 @@ extern u8 gIconDescriptionBoxIsOpen; void ResetFameChecker(void); void FullyUnlockFameChecker(void); -void UseFameChecker(void (*)()); +void UseFameChecker(MainCallback savedCallback); void SetFlavorTextFlagFromSpecialVars(void); void UpdatePickStateFromSpecialVar8005(void); diff --git a/include/field_map_obj.h b/include/field_map_obj.h index d67fc476c..27a7f23d7 100644 --- a/include/field_map_obj.h +++ b/include/field_map_obj.h @@ -46,7 +46,7 @@ void FieldObjectClearAnim(struct MapObject *); void FieldObjectClearAnimIfSpecialAnimActive(struct MapObject *); void SpawnFieldObjectsInView(s16, s16); u8 sprite_new(u8, u8, s16, s16, u8, u8); -u8 AddPseudoEventObject(u16, void (*)(struct Sprite *), s16, s16, u8); +u8 AddPseudoEventObject(u16, SpriteCallback, s16, s16, u8); u8 show_sprite(u8, u8, u8); u8 SpawnSpecialFieldObjectParameterized(u8, u8, u8, s16, s16, u8); u8 SpawnSpecialFieldObject(struct MapObjectTemplate *); @@ -92,5 +92,7 @@ void npc_paltag_set_load(u8 mode); // Exported data declarations extern const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[]; +extern const struct SpritePalette gUnknown_83A5348; +extern const struct SpriteTemplate * const gUnknown_83A0010[]; #endif //GUARD_FIELD_MAP_OBJ_H diff --git a/include/fieldmap.h b/include/fieldmap.h index 537626edc..9903962a1 100644 --- a/include/fieldmap.h +++ b/include/fieldmap.h @@ -12,6 +12,7 @@ #define VIRTUAL_MAP_SIZE 0x2800 extern struct BackupMapData VMap; +extern const struct MapData Route1_Layout; u32 MapGridGetMetatileIdAt(int, int); u32 MapGridGetMetatileBehaviorAt(int, int); diff --git a/include/graphics.h b/include/graphics.h index 04d05da2b..f48f7f8ca 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -160,6 +160,7 @@ extern const u32 gTMCase_TMSpriteGfx[]; extern const u32 gUnknown_8E84F20[]; extern const u32 gUnknown_8E85068[]; extern const u8 gUnknown_8E99118[]; +extern const u16 gTMCaseMainWindowPalette[]; // egg_hatch extern const u32 gBattleTextboxTiles[]; @@ -168,4 +169,10 @@ extern const u32 gBattleTextboxPalette[]; extern const u32 gTradeGba2_Pal[]; extern const u32 gTradeGba_Gfx[]; +// teachy_tv +extern const u8 gUnknown_8E86240[]; +extern const u8 gUnknown_8E86BE8[]; +extern const u8 gUnknown_8E86D6C[]; +extern const u8 gUnknown_8E86F98[]; + #endif //GUARD_GRAPHICS_H diff --git a/include/list_menu.h b/include/list_menu.h index fe42651b6..79dc3ec3f 100644 --- a/include/list_menu.h +++ b/include/list_menu.h @@ -9,8 +9,8 @@ struct ListMenuItem { - const u8 *unk_00; - s32 unk_04; + const u8 *label; + s32 index; }; struct ListMenu; diff --git a/include/main.h b/include/main.h index 6e9d2a25d..a250475cb 100644 --- a/include/main.h +++ b/include/main.h @@ -3,8 +3,6 @@ #include "global.h" -#include "global.h" - typedef void (*MainCallback)(void); typedef void (*IntrCallback)(void); typedef void (*IntrFunc)(void); diff --git a/include/sprite.h b/include/sprite.h index bc47f7100..fb0f710e8 100644 --- a/include/sprite.h +++ b/include/sprite.h @@ -232,6 +232,8 @@ struct OamMatrix s16 d; }; +typedef void (*SpriteCallback)(struct Sprite *); + extern const struct OamData gDummyOamData; extern const union AnimCmd *const gDummySpriteAnimTable[]; extern const union AffineAnimCmd *const gDummySpriteAffineAnimTable[]; diff --git a/include/strings.h b/include/strings.h index 6af1b0d69..51aeb376a 100644 --- a/include/strings.h +++ b/include/strings.h @@ -113,6 +113,27 @@ extern const u8 gText_ICanPayThisMuch_WouldThatBeOkay[]; extern const u8 gText_TurnedOverItemsWorthYen[]; extern const u8 gPokeDudeText_TMTypes[]; extern const u8 gPokeDudeText_ReadTMDescription[]; -extern const u16 gTMCaseMainWindowPalette[]; + +// teachy_tv +extern const u8 gUnknown_841B7A4[]; +extern const u8 gUnknown_841B7BC[]; +extern const u8 gUnknown_841B7D6[]; +extern const u8 gUnknown_841B7EE[]; +extern const u8 gUnknown_841B807[]; +extern const u8 gUnknown_841B81B[]; +extern const u8 gUnknown_841B836[]; +extern const u8 gUnknown_841B83D[]; +extern const u8 gUnknown_841B8BF[]; +extern const u8 gUnknown_841BB40[]; +extern const u8 gUnknown_841BE76[]; +extern const u8 gUnknown_841C23B[]; +extern const u8 gUnknown_841C459[]; +extern const u8 gUnknown_841C82A[]; +extern const u8 gUnknown_841BA41[]; +extern const u8 gUnknown_841BD10[]; +extern const u8 gUnknown_841C0AF[]; +extern const u8 gUnknown_841C384[]; +extern const u8 gUnknown_841C7B4[]; +extern const u8 gUnknown_841C994[]; #endif //GUARD_STRINGS_H diff --git a/src/fame_checker.c b/src/fame_checker.c index 740c9b9cf..75b61ce53 100644 --- a/src/fame_checker.c +++ b/src/fame_checker.c @@ -1341,14 +1341,14 @@ static void FC_DoMoveCursor(s32 itemIndex, bool8 onInit) u16 who; ListMenuGetScrollAndRow(sFameCheckerData->listMenuTaskId, &listY, &cursorY); who = listY + cursorY; - AddTextPrinterParameterized4(FCWINDOWID_LIST, 2, 8, 14 * cursorY + 4, 0, 0, &sTextColor_Green, 0, sListMenuItems[itemIndex].unk_00); + AddTextPrinterParameterized4(FCWINDOWID_LIST, 2, 8, 14 * cursorY + 4, 0, 0, &sTextColor_Green, 0, sListMenuItems[itemIndex].label); if (!onInit) { if (listY < sFameCheckerData->listMenuTopIdx2) sFameCheckerData->listMenuDrawnSelIdx++; else if (listY > sFameCheckerData->listMenuTopIdx2 && who != sFameCheckerData->numUnlockedPersons - 1) sFameCheckerData->listMenuDrawnSelIdx--; - AddTextPrinterParameterized4(FCWINDOWID_LIST, 2, 8, 14 * sFameCheckerData->listMenuDrawnSelIdx + 4, 0, 0, &sTextColor_DkGrey, 0, sListMenuItems[sFameCheckerData->listMenuCurIdx].unk_00); + AddTextPrinterParameterized4(FCWINDOWID_LIST, 2, 8, 14 * sFameCheckerData->listMenuDrawnSelIdx + 4, 0, 0, &sTextColor_DkGrey, 0, sListMenuItems[sFameCheckerData->listMenuCurIdx].label); } sFameCheckerData->listMenuCurIdx = itemIndex; @@ -1368,20 +1368,20 @@ static u8 FC_PopulateListMenu(void) { if (sTrainerIdxs[fameCheckerIdx] < FC_NONTRAINER_START) { - sListMenuItems[nitems].unk_00 = gTrainers[sTrainerIdxs[fameCheckerIdx]].trainerName; - sListMenuItems[nitems].unk_04 = nitems; + sListMenuItems[nitems].label = gTrainers[sTrainerIdxs[fameCheckerIdx]].trainerName; + sListMenuItems[nitems].index = nitems; } else { - sListMenuItems[nitems].unk_00 = sNonTrainerNamePointers[sTrainerIdxs[fameCheckerIdx] - FC_NONTRAINER_START]; - sListMenuItems[nitems].unk_04 = nitems; + sListMenuItems[nitems].label = sNonTrainerNamePointers[sTrainerIdxs[fameCheckerIdx] - FC_NONTRAINER_START]; + sListMenuItems[nitems].index = nitems; } sFameCheckerData->unlockedPersons[nitems] = fameCheckerIdx; nitems++; } } - sListMenuItems[nitems].unk_00 = gFameCheckerText_Cancel; - sListMenuItems[nitems].unk_04 = nitems; + sListMenuItems[nitems].label = gFameCheckerText_Cancel; + sListMenuItems[nitems].index = nitems; sFameCheckerData->unlockedPersons[nitems] = 0xFF; nitems++; gFameChecker_ListMenuTemplate.totalItems = nitems; diff --git a/src/mystery_gift_menu.c b/src/mystery_gift_menu.c index 16e01f362..9ff96eb23 100644 --- a/src/mystery_gift_menu.c +++ b/src/mystery_gift_menu.c @@ -703,7 +703,7 @@ u32 MysteryGift_HandleThreeOptionMenu(u8 * unused0, u16 * unused1, u8 whichMenu) width = 0; for (i = 0; i < listMenuTemplate.totalItems; i++) { - u32 curWidth = GetStringWidth(2, listMenuTemplate.items[i].unk_00, listMenuTemplate.lettersSpacing); + u32 curWidth = GetStringWidth(2, listMenuTemplate.items[i].label, listMenuTemplate.lettersSpacing); if (curWidth > width) width = curWidth; } diff --git a/src/teachy_tv.c b/src/teachy_tv.c index 6f1fcef3c..368508b77 100644 --- a/src/teachy_tv.c +++ b/src/teachy_tv.c @@ -1,4 +1,3 @@ -#include "main.h" #include "task.h" #include "menu.h" #include "palette.h" @@ -31,6 +30,9 @@ #include "help_system.h" #include "overworld.h" #include "unk_8159F40.h" +#include "graphics.h" +#include "fieldmap.h" +#include "strings.h" struct TeachyTvCtrlBlk { @@ -57,14 +59,6 @@ struct TeachyTvBuf EWRAM_DATA struct TeachyTvCtrlBlk gTeachyTV_StaticResources = {0}; EWRAM_DATA struct TeachyTvBuf * gUnknown_203F450 = NULL; -extern const struct SpritePalette gUnknown_83A5348; -extern const struct SpriteTemplate * const gUnknown_83A0010[]; -extern const struct MapData Route1_Layout; -extern const u8 gUnknown_841B7A4[], gUnknown_841B7BC[], gUnknown_841B7D6[], gUnknown_841B7EE[], gUnknown_841B807[], gUnknown_841B81B[], gUnknown_841B836[], gUnknown_841B83D[], gUnknown_841B8BF[], gUnknown_841BB40[], gUnknown_841BE76[], gUnknown_841C23B[], gUnknown_841C459[], gUnknown_841C82A[], gUnknown_841BA41[], gUnknown_841BD10[], gUnknown_841C0AF[], gUnknown_841C384[], gUnknown_841C7B4[], gUnknown_841C994[]; -extern const u8 gUnknown_8E86240[]; -extern const u8 gUnknown_8E86BE8[]; -extern const u8 gUnknown_8E86D6C[]; -extern const u8 gUnknown_8E86F98[]; void TeachyTvClusFuncTransitionRenderBg2TeachyTvGraphicInitNpcPos(u8 taskId); void TeachyTvClusFuncClearBg2TeachyTvGraphic(u8 taskId); @@ -189,57 +183,57 @@ const struct WindowTemplate gTeachyTvWindowTemplateArray[] = const struct ListMenuItem gTeachyTvListMenuItemArray[] = { { - .unk_00 = gUnknown_841B7A4, - .unk_04 = 0, + .label = gUnknown_841B7A4, + .index = 0, }, { - .unk_00 = gUnknown_841B7BC, - .unk_04 = 1, + .label = gUnknown_841B7BC, + .index = 1, }, { - .unk_00 = gUnknown_841B7D6, - .unk_04 = 2, + .label = gUnknown_841B7D6, + .index = 2, }, { - .unk_00 = gUnknown_841B7EE, - .unk_04 = 3, + .label = gUnknown_841B7EE, + .index = 3, }, { - .unk_00 = gUnknown_841B807, - .unk_04 = 4, + .label = gUnknown_841B807, + .index = 4, }, { - .unk_00 = gUnknown_841B81B, - .unk_04 = 5, + .label = gUnknown_841B81B, + .index = 5, }, { - .unk_00 = gUnknown_841B836, - .unk_04 = -2, + .label = gUnknown_841B836, + .index = -2, }, }; const struct ListMenuItem gTeachyTvListMenuItemArray2[] = { { - .unk_00 = gUnknown_841B7A4, - .unk_04 = 0, + .label = gUnknown_841B7A4, + .index = 0, }, { - .unk_00 = gUnknown_841B7BC, - .unk_04 = 1, + .label = gUnknown_841B7BC, + .index = 1, }, { - .unk_00 = gUnknown_841B7D6, - .unk_04 = 2, + .label = gUnknown_841B7D6, + .index = 2, }, { - .unk_00 = gUnknown_841B7EE, - .unk_04 = 3, + .label = gUnknown_841B7EE, + .index = 3, }, { - .unk_00 = gUnknown_841B836, - .unk_04 = -2, + .label = gUnknown_841B836, + .index = -2, }, }; @@ -428,86 +422,6 @@ void (* const * const gTeachyTvFuncClusterArray[])(u8) = gTeachyTvFuncCluster5, }; -const u8 * const gTeachyTvTextArray1[] = -{ - gUnknown_841B8BF, - gUnknown_841BB40, - gUnknown_841BE76, - gUnknown_841C23B, - gUnknown_841C459, - gUnknown_841C82A, -}; - -const u8 * const gTeachyTvTextArray2[] = -{ - gUnknown_841BA41, - gUnknown_841BD10, - gUnknown_841C0AF, - gUnknown_841C384, - gUnknown_841C7B4, - gUnknown_841C994, -}; - -const u16 gUnknown_8479590[] = -{ - 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8, - 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, -}; - -const struct Subsprite gTeachyTvSubspriteArray[] = -{ - { - .x = -0x8, - .y = -0x8, - .shape = 0x1, - .size = 0x0, - .tileOffset = 0x0, - .priority = 0x3, - }, - { - .x = -0x8, - .y = 0x0, - .shape = 0x1, - .size = 0x0, - .tileOffset = 0x2, - .priority = 0x2, - }, -}; - -const struct SubspriteTable gTeachyTvSubspriteTableArray[] = -{ - { - .subspriteCount = 0, - .subsprites = NULL, - }, - { - .subspriteCount = 2, - .subsprites = gTeachyTvSubspriteArray, - }, -}; - -const u8 gTeachyTvGrassAnimArray[] = -{ - 0, 0, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 0, 0, - 0, 0, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 0, 0, - 0, 0, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 0, 0, - 0, 0, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 0, 0, - 0, 0, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 1, 1, 1, 1, 1, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 1, 1, 1, 1, 1, 1, 0, 0, -}; - void TeachyTvCallback(void) { RunTasks(); @@ -754,7 +668,7 @@ void TeachyTvSetupPostBattleWindowAndObj(u8 taskId) { s16 *data = gTasks[taskId].data; int v1 = data[1]; - struct Sprite *v3 = &gSprites[v1]; + struct Sprite *objAddr = &gSprites[v1]; int op; ClearWindowTilemap(1); @@ -776,7 +690,7 @@ void TeachyTvSetupPostBattleWindowAndObj(u8 taskId) data[4] = 0; data[5] = 0; - TeachyTvGrassAnimationMain(taskId, v3->pos2.x, v3->pos2.y, 0, 1); + TeachyTvGrassAnimationMain(taskId, objAddr->pos2.x, objAddr->pos2.y, 0, 1); } void TeachyTvInitTextPrinter(const char *text) @@ -811,7 +725,7 @@ void TeachyTvQuitFadeControlAndTaskDel(u8 taskId) else { sub_8055DC4(); - SetMainCallback2((void (*)())gTeachyTV_StaticResources.callback); + SetMainCallback2(gTeachyTV_StaticResources.callback); } TeachyTvFree(); DestroyTask(taskId); @@ -940,7 +854,15 @@ void TeachyTvRenderMsgAndSwitchClusterFuncs(u8 taskId) void TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen(u8 taskId) { s16 *data = gTasks[taskId].data; - const u8 * const* texts = gTeachyTvTextArray1; + const u8 * const *texts = (const u8 *const []) + { + gUnknown_841B8BF, + gUnknown_841BB40, + gUnknown_841BE76, + gUnknown_841C23B, + gUnknown_841C459, + gUnknown_841C82A, + }; TeachyTvInitTextPrinter(texts[gTeachyTV_StaticResources.optionChosen]); ++data[3]; } @@ -948,11 +870,79 @@ void TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen(u8 taskId) void TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen2(u8 taskId) { s16 *data = gTasks[taskId].data; - const u8 * const* texts = gTeachyTvTextArray2; + const u8 * const *texts = (const u8 *const []) + { + gUnknown_841BA41, + gUnknown_841BD10, + gUnknown_841C0AF, + gUnknown_841C384, + gUnknown_841C7B4, + gUnknown_841C994, + }; TeachyTvInitTextPrinter(texts[gTeachyTV_StaticResources.optionChosen]); ++data[3]; } +const u16 gUnknown_8479590[] = +{ + 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8, + 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, +}; + +const struct Subsprite gTeachyTvSubspriteArray[] = +{ + { + .x = -0x8, + .y = -0x8, + .shape = 0x1, + .size = 0x0, + .tileOffset = 0x0, + .priority = 0x3, + }, + { + .x = -0x8, + .y = 0x0, + .shape = 0x1, + .size = 0x0, + .tileOffset = 0x2, + .priority = 0x2, + }, +}; + +const struct SubspriteTable gTeachyTvSubspriteTableArray[] = +{ + { + .subspriteCount = 0, + .subsprites = NULL, + }, + { + .subspriteCount = 2, + .subsprites = gTeachyTvSubspriteArray, + }, +}; + +const u8 gTeachyTvGrassAnimArray[] = +{ + 0, 0, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 0, 0, + 0, 0, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 0, 0, + 0, 0, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 0, 0, + 0, 0, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 0, 0, + 0, 0, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 0, 0, +}; + void TeachyTvClusFuncIdleIfTextPrinterIsActive2(u8 taskId) { s16 *data = (u16 *)gTasks[taskId].data; @@ -1027,25 +1017,25 @@ void TeachyTvClusFuncDudeTurnLeft(u8 taskId) { s16 *data = gTasks[taskId].data; - struct Sprite *v3 = &gSprites[data[1]]; - StartSpriteAnim(v3, 6); + struct Sprite *objAddr = &gSprites[data[1]]; + StartSpriteAnim(objAddr, 6); ++data[3]; data[4] = 0; data[5] = 0; - TeachyTvGrassAnimationMain(taskId, v3->pos2.x, v3->pos2.y, 0, 0); + TeachyTvGrassAnimationMain(taskId, objAddr->pos2.x, objAddr->pos2.y, 0, 0); } void TeachyTvClusFuncDudeMoveLeft(u8 taskId) { s16 *data = gTasks[taskId].data; - struct Sprite *v2 = &gSprites[data[1]]; + struct Sprite *objAddr = &gSprites[data[1]]; - if (!(v2->pos2.x & 0xF)) - TeachyTvGrassAnimationMain(taskId, v2->pos2.x - 8, v2->pos2.y, 0, 0); - if (v2->pos2.x == 8) + if (!(objAddr->pos2.x & 0xF)) + TeachyTvGrassAnimationMain(taskId, objAddr->pos2.x - 8, objAddr->pos2.y, 0, 0); + if (objAddr->pos2.x == 8) ++data[3]; else - --v2->pos2.x; + --objAddr->pos2.x; } void TeachyTvClusFuncRenderAndRemoveBg1EndGraphic(u8 taskId) diff --git a/src/tm_case.c b/src/tm_case.c index a436269f3..026ba95a7 100644 --- a/src/tm_case.c +++ b/src/tm_case.c @@ -496,11 +496,11 @@ static void InitTMCaseListMenuItems(void) for (i = 0; i < sTMCaseDynamicResources->numTMs; i++) { GetTMNumberAndMoveString(sListMenuStringsBuffer[i], pocket->itemSlots[i].itemId); - sListMenuItemsBuffer[i].unk_00 = sListMenuStringsBuffer[i]; - sListMenuItemsBuffer[i].unk_04 = i; + sListMenuItemsBuffer[i].label = sListMenuStringsBuffer[i]; + sListMenuItemsBuffer[i].index = i; } - sListMenuItemsBuffer[i].unk_00 = gText_Close; - sListMenuItemsBuffer[i].unk_04 = -2; + sListMenuItemsBuffer[i].label = gText_Close; + sListMenuItemsBuffer[i].index = -2; gMultiuseListMenuTemplate.items = sListMenuItemsBuffer; gMultiuseListMenuTemplate.totalItems = sTMCaseDynamicResources->numTMs + 1; gMultiuseListMenuTemplate.windowId = 0; -- cgit v1.2.3 From c28365392e7f5f3f2101f48fd8b43d22f496fd1d Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Tue, 11 Jun 2019 05:44:21 +0800 Subject: struct ScrollArrowsTemplate --- include/menu_indicators.h | 27 +++++++++++++-------------- src/fame_checker.c | 7 +++---- src/mevent_8145654.c | 8 ++++---- src/teachy_tv.c | 27 +++++++++++++-------------- 4 files changed, 33 insertions(+), 36 deletions(-) diff --git a/include/menu_indicators.h b/include/menu_indicators.h index 8c669aeef..76f25224c 100644 --- a/include/menu_indicators.h +++ b/include/menu_indicators.h @@ -7,25 +7,24 @@ // Exported RAM declarations -struct ScrollIndicatorArrowPairTemplate +struct ScrollArrowsTemplate { - u8 unk_00; - u8 unk_01; - u8 unk_02; - u8 unk_03; - u8 unk_04; - u8 unk_05; - u16 unk_06; - u16 unk_08; - u16 unk_0a; - u16 unk_0c; - u16 unk_0e_0:4; - u16 unk_0e_4:12; + u8 firstArrowType; + u8 firstX; + u8 firstY; + u8 secondArrowType; + u8 secondX; + u8 secondY; + u16 fullyUpThreshold; + u16 fullyDownThreshold; + u16 tileTag; + u16 palTag; + u8 palNum; }; // Exported ROM declarations u8 AddScrollIndicatorArrowPairParameterized(u8, u8, u8, u8, s32, u16, u16, u16 *); -u8 AddScrollIndicatorArrowPair(const struct ScrollIndicatorArrowPairTemplate * template, u16 * a1); +u8 AddScrollIndicatorArrowPair(const struct ScrollArrowsTemplate * template, u16 * a1); void RemoveScrollIndicatorArrowPair(u8); #endif //GUARD_MENU_INDICATORS_H diff --git a/src/fame_checker.c b/src/fame_checker.c index 75b61ce53..b2ee17c93 100644 --- a/src/fame_checker.c +++ b/src/fame_checker.c @@ -1400,7 +1400,7 @@ static void FC_PutWindowTilemapAndCopyWindowToVramMode3_2(u8 windowId) static void FC_CreateScrollIndicatorArrowPair(void) { - struct ScrollIndicatorArrowPairTemplate template = { + struct ScrollArrowsTemplate template = { 2, 40, 26, @@ -1412,13 +1412,12 @@ static void FC_CreateScrollIndicatorArrowPair(void) SPRITETAG_SCROLL_INDICATORS, 0xFFFF, 1, - 0 }; if (sFameCheckerData->numUnlockedPersons > 5) { - template.unk_06 = 0; - template.unk_08 = sFameCheckerData->numUnlockedPersons - 5; + template.fullyUpThreshold = 0; + template.fullyDownThreshold = sFameCheckerData->numUnlockedPersons - 5; sFameCheckerData->scrollIndicatorPairTaskId = AddScrollIndicatorArrowPair(&template, &sFameCheckerData->listMenuTopIdx); } } diff --git a/src/mevent_8145654.c b/src/mevent_8145654.c index 3e484bd56..034a07679 100644 --- a/src/mevent_8145654.c +++ b/src/mevent_8145654.c @@ -460,7 +460,7 @@ struct UnkStruct_203F3CC /*01cc*/ u8 filler_01CC[2]; /*01ce*/ u8 unk_01CE[41]; /*01f7*/ u8 unk_01F7[10][41]; - /*0394*/ struct ScrollIndicatorArrowPairTemplate unk_0394; + /*0394*/ struct ScrollArrowsTemplate unk_0394; /*03a4*/ u8 buffer_03A4[0x1000]; }; @@ -478,9 +478,9 @@ const struct WindowTemplate gUnknown_8468040[] = { {0, 1, 0, 28, 3, 15, 0x000}, {2, 1, 3, 28, 20, 15, 0x000} }; -const struct ScrollIndicatorArrowPairTemplate gUnknown_8468050 = { +const struct ScrollArrowsTemplate gUnknown_8468050 = { 0x02, 0xe8, 0x18, 0x03, 0xe8, 0x98, - 0x0000, 0x0002, 0x1000, 0x1000, 0x0, 0x000 + 0x0000, 0x0002, 0x1000, 0x1000, 0x0, }; const u16 gUnknown_8468060[] = INCBIN_U16("data/graphics/mevent/pal_468060.gbapal"); @@ -743,7 +743,7 @@ void sub_8146980(void) ++gUnknown_203F3CC->unk_01C4; } gUnknown_203F3CC->unk_0394 = gUnknown_8468050; - gUnknown_203F3CC->unk_0394.unk_08 = gUnknown_203F3CC->unk_01C4; + gUnknown_203F3CC->unk_0394.fullyDownThreshold = gUnknown_203F3CC->unk_01C4; } void sub_8146A30(void) diff --git a/src/teachy_tv.c b/src/teachy_tv.c index 368508b77..c04fade26 100644 --- a/src/teachy_tv.c +++ b/src/teachy_tv.c @@ -259,20 +259,19 @@ const struct ListMenuTemplate gTeachyTvListMenuTemplateArray = .cursorKind = 0x0, }; -const struct ScrollIndicatorArrowPairTemplate gTeachyTvScrollIndicatorArrowPairTemplateArray = -{ - .unk_00 = 0x2, - .unk_01 = 0x78, - .unk_02 = 0xC, - .unk_03 = 0x3, - .unk_04 = 0x78, - .unk_05 = 0x64, - .unk_06 = 0x0, - .unk_08 = 0x1, - .unk_0a = 0x800, - .unk_0c = 0x800, - .unk_0e_0 = 0x0, - .unk_0e_4 = 0x0, +const struct ScrollArrowsTemplate gTeachyTvScrollIndicatorArrowPairTemplateArray = +{ + .firstArrowType = 0x2, + .firstX = 0x78, + .firstY = 0xC, + .secondArrowType = 0x3, + .secondX = 0x78, + .secondY = 0x64, + .fullyUpThreshold = 0x0, + .fullyDownThreshold = 0x1, + .tileTag = 0x800, + .palTag = 0x800, + .palNum = 0x0, }; const u8 gTeachyTvSwitchFuncArray[] = -- cgit v1.2.3 From 33530548d6bd9cb8b424a59891f26e255e4647fa Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Tue, 11 Jun 2019 06:23:09 +0800 Subject: TeachyTvPushBackNewMapPalIndexArrayEntry --- src/teachy_tv.c | 84 +-------------------------------------------------------- 1 file changed, 1 insertion(+), 83 deletions(-) diff --git a/src/teachy_tv.c b/src/teachy_tv.c index c04fade26..94e1fc409 100644 --- a/src/teachy_tv.c +++ b/src/teachy_tv.c @@ -1595,97 +1595,15 @@ void TeachyTvLoadMapTilesetToBuffer(struct Tileset *ts, u8 *dstBuffer, u16 size) } } -#ifdef NONMATCHING void TeachyTvPushBackNewMapPalIndexArrayEntry(struct MapData *mStruct, u16 *buf1, u8 *palIndexArray, u16 mapEntry, u16 offset) { struct Tileset *ts; - u16 *metaTileEntryAddr; - int temp = mapEntry; - - if (temp <= 0x27F) - { - ts = mStruct->primaryTileset; - } - else - { - ts = mStruct->secondaryTileset; - temp = mapEntry - 0x280; - } - metaTileEntryAddr = &((u16*)(ts->metatiles))[8 * temp]; + u16 * metaTileEntryAddr = mapEntry <= 0x27F ? &((u16*)(mStruct->primaryTileset->metatiles))[8 * mapEntry] : &((u16*)(mStruct->secondaryTileset->metatiles))[8 * (mapEntry - 0x280)]; buf1[0] = (TeachyTvComputePalIndexArrayEntryByMetaTile(palIndexArray, metaTileEntryAddr[0]) << 12) + 4 * offset; buf1[1] = (TeachyTvComputePalIndexArrayEntryByMetaTile(palIndexArray, metaTileEntryAddr[1]) << 12) + 4 * offset + 1; buf1[32] = (TeachyTvComputePalIndexArrayEntryByMetaTile(palIndexArray, metaTileEntryAddr[2]) << 12) + 4 * offset + 2; buf1[33] = (TeachyTvComputePalIndexArrayEntryByMetaTile(palIndexArray, metaTileEntryAddr[3]) << 12) + 4 * offset + 3; } -#else -NAKED -void TeachyTvPushBackNewMapPalIndexArrayEntry(struct MapData *mStruct, u16 *buf1, u8 *palIndexArray, u16 mapEntry, u16 offset) -{ - asm_unified("\n\ - push {r4-r7,lr}\n\ - adds r5, r0, 0\n\ - adds r7, r1, 0\n\ - adds r6, r2, 0\n\ - ldr r0, [sp, 0x14]\n\ - lsls r3, 16\n\ - lsrs r1, r3, 16\n\ - lsls r0, 16\n\ - lsrs r4, r0, 16\n\ - ldr r0, _0815BF8C @ =0x0000027f\n\ - cmp r1, r0\n\ - bhi _0815BF90\n\ - ldr r0, [r5, 0x10]\n\ - b _0815BF96\n\ - .align 2, 0\n\ - _0815BF8C: .4byte 0x0000027f\n\ - _0815BF90:\n\ - ldr r0, [r5, 0x14]\n\ - ldr r2, _0815BFEC @ =0xfffffd80\n\ - adds r1, r2\n\ - _0815BF96:\n\ - lsls r1, 4\n\ - ldr r0, [r0, 0xC]\n\ - adds r5, r0, r1\n\ - ldrh r1, [r5]\n\ - adds r0, r6, 0\n\ - bl TeachyTvComputePalIndexArrayEntryByMetaTile\n\ - lsls r0, 12\n\ - lsls r4, 2\n\ - adds r0, r4\n\ - strh r0, [r7]\n\ - ldrh r1, [r5, 0x2]\n\ - adds r0, r6, 0\n\ - bl TeachyTvComputePalIndexArrayEntryByMetaTile\n\ - lsls r0, 12\n\ - adds r0, r4\n\ - adds r0, 0x1\n\ - strh r0, [r7, 0x2]\n\ - ldrh r1, [r5, 0x4]\n\ - adds r0, r6, 0\n\ - bl TeachyTvComputePalIndexArrayEntryByMetaTile\n\ - adds r1, r7, 0\n\ - adds r1, 0x40\n\ - lsls r0, 12\n\ - adds r0, r4\n\ - adds r0, 0x2\n\ - strh r0, [r1]\n\ - ldrh r1, [r5, 0x6]\n\ - adds r0, r6, 0\n\ - bl TeachyTvComputePalIndexArrayEntryByMetaTile\n\ - adds r1, r7, 0\n\ - adds r1, 0x42\n\ - lsls r0, 12\n\ - adds r0, r4\n\ - adds r0, 0x3\n\ - strh r0, [r1]\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .align 2, 0\n\ - _0815BFEC: .4byte 0xfffffd80\n\ - "); -} -#endif void TeachyTvComputeMapTilesFromTilesetAndMetaTiles(u16 *metaTilesArray, u8 *blockBuf, u8 *tileset) { -- cgit v1.2.3 From 7d8272749feaf89f972eb0789389fd5ab7f57ae6 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Tue, 11 Jun 2019 06:24:49 +0800 Subject: quick fix --- src/teachy_tv.c | 1 - 1 file changed, 1 deletion(-) diff --git a/src/teachy_tv.c b/src/teachy_tv.c index 94e1fc409..dd5356670 100644 --- a/src/teachy_tv.c +++ b/src/teachy_tv.c @@ -1597,7 +1597,6 @@ void TeachyTvLoadMapTilesetToBuffer(struct Tileset *ts, u8 *dstBuffer, u16 size) void TeachyTvPushBackNewMapPalIndexArrayEntry(struct MapData *mStruct, u16 *buf1, u8 *palIndexArray, u16 mapEntry, u16 offset) { - struct Tileset *ts; u16 * metaTileEntryAddr = mapEntry <= 0x27F ? &((u16*)(mStruct->primaryTileset->metatiles))[8 * mapEntry] : &((u16*)(mStruct->secondaryTileset->metatiles))[8 * (mapEntry - 0x280)]; buf1[0] = (TeachyTvComputePalIndexArrayEntryByMetaTile(palIndexArray, metaTileEntryAddr[0]) << 12) + 4 * offset; buf1[1] = (TeachyTvComputePalIndexArrayEntryByMetaTile(palIndexArray, metaTileEntryAddr[1]) << 12) + 4 * offset + 1; -- cgit v1.2.3 From e87ae0c76d63b9806712a74d07b87801861efc4e Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Tue, 11 Jun 2019 06:33:55 +0800 Subject: more consistency --- src/teachy_tv.c | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/src/teachy_tv.c b/src/teachy_tv.c index dd5356670..0b6907186 100644 --- a/src/teachy_tv.c +++ b/src/teachy_tv.c @@ -972,11 +972,8 @@ void TeachyTvClusFuncStartAnimNpcWalkIntoGrass(u8 taskId) void TeachyTvClusFuncDudeMoveUp(u8 taskId) { - s16 *data; - struct Sprite *obj; - - data = gTasks[taskId].data; - obj = &gSprites[data[1]]; + s16 *data = gTasks[taskId].data; + struct Sprite *obj = &gSprites[data[1]]; ChangeBgY(3, 0x100, 2); if (!(++data[2] & 0xF)) { @@ -1125,13 +1122,12 @@ void TeachyTvPostBattleFadeControl(u8 taskId) void TeachyTvGrassAnimationMain(u8 taskId, s16 x, s16 y, u8 subpriority, bool8 mode) { - u8 subprio; int res; struct Sprite *obj; int objId; const struct SpriteTemplate *const *objTemAddr; - subprio = subpriority; + u8 subprio = subpriority; if (gUnknown_203F450->var_4006 != 1) { res = TeachyTvGrassAnimationCheckIfNeedsToGenerateGrassObj(x - 0x10, y); @@ -1205,10 +1201,7 @@ u8 TeachyTvGrassAnimationCheckIfNeedsToGenerateGrassObj(s16 x, s16 y) void TeachyTvPrepBattle(u8 taskId) { - s16 *data; - - taskId = taskId; - data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; TeachyTvFree(); gSpecialVar_0x8004 = gTeachyTV_StaticResources.optionChosen; gMain.savedCallback = TeachyTvRestorePlayerPartyCallback; -- cgit v1.2.3 From 191f3f783fb9472403537d08c914c03422c1a831 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Tue, 11 Jun 2019 07:24:12 +0800 Subject: savedCallback field --- src/teachy_tv.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/teachy_tv.c b/src/teachy_tv.c index 0b6907186..ae1e8086a 100644 --- a/src/teachy_tv.c +++ b/src/teachy_tv.c @@ -46,7 +46,7 @@ struct TeachyTvCtrlBlk struct TeachyTvBuf { - u32 state; + MainCallback savedCallback; u8 buffer1[0x1000]; u8 buffer2[0x1000]; u8 buffer3[0x1000]; @@ -476,7 +476,7 @@ void TeachyTvMainCallback(void) { case 0: gUnknown_203F450 = AllocZeroed(sizeof(struct TeachyTvBuf)); - gUnknown_203F450->state = 0; + gUnknown_203F450->savedCallback = NULL; gUnknown_203F450->var_4006 = 0; gUnknown_203F450->var_4007 = 0xFF; VblankHblankHandlerSetZero(); @@ -717,9 +717,9 @@ void TeachyTvQuitFadeControlAndTaskDel(u8 taskId) { if (!(gPaletteFade.active)) { - if (gUnknown_203F450->state) + if (gUnknown_203F450->savedCallback != NULL) { - SetMainCallback2(*(void (**)())gUnknown_203F450); + SetMainCallback2(gUnknown_203F450->savedCallback); } else { @@ -1094,7 +1094,7 @@ void TeachyTvClusFuncTaskBattleOrFadeByOptionChosen(u8 taskId) } else if (op <= 5) { - *((void(**)())gUnknown_203F450) = TeachyTvSetupBagItemsByOptionChosen; + gUnknown_203F450->savedCallback = TeachyTvSetupBagItemsByOptionChosen; TeachyTvQuitBeginFade(taskId); } } -- cgit v1.2.3 From 3530d21a10332ac613a5ffbb61eb11cf9e1ffba9 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Tue, 11 Jun 2019 07:30:51 +0800 Subject: control block callback field --- src/teachy_tv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/teachy_tv.c b/src/teachy_tv.c index ae1e8086a..843d229ce 100644 --- a/src/teachy_tv.c +++ b/src/teachy_tv.c @@ -36,7 +36,7 @@ struct TeachyTvCtrlBlk { - void (*callback)(); + MainCallback callback; u8 mode; u8 optionChosen; u16 scrollOffset; -- cgit v1.2.3 From 731b5e103a535086ebf99a2c3a032a7b0e30e74f Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Tue, 11 Jun 2019 07:34:22 +0800 Subject: DUMMY_WIN_TEMPLATE --- src/teachy_tv.c | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/src/teachy_tv.c b/src/teachy_tv.c index 843d229ce..ca2e509a7 100644 --- a/src/teachy_tv.c +++ b/src/teachy_tv.c @@ -169,15 +169,7 @@ const struct WindowTemplate gTeachyTvWindowTemplateArray[] = .paletteNum = 0x3, .baseBlock = 0x152, }, - { - .bg = 0xFF, - .tilemapLeft = 0x0, - .tilemapTop = 0x0, - .width = 0x0, - .height = 0x0, - .paletteNum = 0x0, - .baseBlock = 0x0, - }, + DUMMY_WIN_TEMPLATE, }; const struct ListMenuItem gTeachyTvListMenuItemArray[] = -- cgit v1.2.3 From d3c9abb7c668f548dc3aabb1df0bed2d87138b2d Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Tue, 11 Jun 2019 08:39:57 +0800 Subject: graphic decomp --- data/graphics.s | 8 ++--- graphics/teachy_tv/bg1_tilemap.bin | Bin 0 -> 2048 bytes graphics/teachy_tv/bg2_tilemap.bin | Bin 0 -> 2048 bytes graphics/teachy_tv/palettes.pal | 67 +++++++++++++++++++++++++++++++++++++ graphics/teachy_tv/tiles.png | Bin 0 -> 2098 bytes 5 files changed, 71 insertions(+), 4 deletions(-) create mode 100644 graphics/teachy_tv/bg1_tilemap.bin create mode 100644 graphics/teachy_tv/bg2_tilemap.bin create mode 100644 graphics/teachy_tv/palettes.pal create mode 100644 graphics/teachy_tv/tiles.png diff --git a/data/graphics.s b/data/graphics.s index 284539152..4a40776d9 100644 --- a/data/graphics.s +++ b/data/graphics.s @@ -14019,16 +14019,16 @@ gUnknown_8E861A8:: @ 8E861A8 .incbin "baserom.gba", 0xE861A8, 0x98 gUnknown_8E86240:: @ 8E86240 - .incbin "baserom.gba", 0xE86240, 0x9A8 + .incbin "graphics/teachy_tv/tiles.4bpp.lz" gUnknown_8E86BE8:: @ 8E86BE8 - .incbin "baserom.gba", 0xE86BE8, 0x184 + .incbin "graphics/teachy_tv/bg1_tilemap.bin.lz" gUnknown_8E86D6C:: @ 8E86D6C - .incbin "baserom.gba", 0xE86D6C, 0x22C + .incbin "graphics/teachy_tv/bg2_tilemap.bin.lz" gUnknown_8E86F98:: @ 8E86F98 - .incbin "baserom.gba", 0xE86F98, 0x78 + .incbin "graphics/teachy_tv/palettes.gbapal.lz" gUnknown_8E87010:: @ 8E87010 .incbin "baserom.gba", 0xE87010, 0x18 diff --git a/graphics/teachy_tv/bg1_tilemap.bin b/graphics/teachy_tv/bg1_tilemap.bin new file mode 100644 index 000000000..34dc439bc Binary files /dev/null and b/graphics/teachy_tv/bg1_tilemap.bin differ diff --git a/graphics/teachy_tv/bg2_tilemap.bin b/graphics/teachy_tv/bg2_tilemap.bin new file mode 100644 index 000000000..f51b3695f Binary files /dev/null and b/graphics/teachy_tv/bg2_tilemap.bin differ diff --git a/graphics/teachy_tv/palettes.pal b/graphics/teachy_tv/palettes.pal new file mode 100644 index 000000000..22808d3de --- /dev/null +++ b/graphics/teachy_tv/palettes.pal @@ -0,0 +1,67 @@ +JASC-PAL +0100 +64 +115 205 164 +255 255 255 +98 98 98 +255 230 90 +246 180 0 +189 115 0 +123 123 255 +74 65 74 +49 49 57 +98 106 106 +131 139 139 +255 0 255 +255 0 255 +255 255 180 +246 205 41 +213 156 16 +115 205 164 +255 255 255 +230 230 238 +205 213 222 +180 197 205 +164 180 189 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +115 205 164 +156 255 255 +255 255 255 +255 222 32 +246 230 164 +255 74 24 +255 148 139 +255 156 24 +131 230 222 +24 32 32 +156 189 213 +74 131 189 +90 222 164 +205 238 139 +255 0 255 +255 0 255 +115 205 164 +255 255 255 +98 98 98 +213 213 205 +230 8 8 +255 189 115 +32 156 8 +148 246 148 +49 82 205 +164 197 246 +255 0 255 +255 0 255 +74 65 74 +164 164 164 +197 197 205 +230 230 238 diff --git a/graphics/teachy_tv/tiles.png b/graphics/teachy_tv/tiles.png new file mode 100644 index 000000000..01f076350 Binary files /dev/null and b/graphics/teachy_tv/tiles.png differ -- cgit v1.2.3 From 7a580b8d3e691a5a0655a5a8e33d34516eb7b089 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Tue, 11 Jun 2019 09:00:35 +0800 Subject: more reasonable png width --- graphics/teachy_tv/tiles.png | Bin 2098 -> 1761 bytes graphics_file_rules.mk | 4 ++++ 2 files changed, 4 insertions(+) diff --git a/graphics/teachy_tv/tiles.png b/graphics/teachy_tv/tiles.png index 01f076350..e867de82b 100644 Binary files a/graphics/teachy_tv/tiles.png and b/graphics/teachy_tv/tiles.png differ diff --git a/graphics_file_rules.mk b/graphics_file_rules.mk index 41b19433a..a1a00ad28 100644 --- a/graphics_file_rules.mk +++ b/graphics_file_rules.mk @@ -19,6 +19,7 @@ PSSGFXDIR := graphics/pokemon_storage EVENTOBJGFXDIR := graphics/event_objects MISCGFXDIR := graphics/misc TEXTWINDOWGFXDIR := graphics/text_window +TEACHYTVGFXDIR := graphics/teachy_tv types := normal fight flying poison ground rock bug ghost steel mystery fire water grass electric psychic ice dragon dark contest_types := cool beauty cute smart tough @@ -474,3 +475,6 @@ $(MISCGFXDIR)/unk_846B008.4bpp: %.4bpp: %.png $(TEXTWINDOWGFXDIR)/unk_8470B0C.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 19 + +$(TEACHYTVGFXDIR)/tiles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 233 -- cgit v1.2.3 From aa498800067ba2689ae5bf5433459ba088bfa83b Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 10 Jun 2019 22:14:25 -0400 Subject: Fix remaining issues in teachy_tv --- src/teachy_tv.c | 531 +++++++++++++------------------------------------------- sym_ewram.txt | 8 +- 2 files changed, 126 insertions(+), 413 deletions(-) diff --git a/src/teachy_tv.c b/src/teachy_tv.c index ca2e509a7..49e8d99c3 100644 --- a/src/teachy_tv.c +++ b/src/teachy_tv.c @@ -47,10 +47,10 @@ struct TeachyTvCtrlBlk struct TeachyTvBuf { MainCallback savedCallback; - u8 buffer1[0x1000]; - u8 buffer2[0x1000]; - u8 buffer3[0x1000]; - u8 buffer4[0x1000]; + u16 buffer1[0x800]; + u16 buffer2[0x800]; + u16 buffer3[0x800]; + u16 buffer4[0x800]; u8 var_4004; u8 var_4005; u8 var_4006; @@ -97,13 +97,13 @@ void TeachyTvBackToOptionList(u8 taskId); void TeachyTvSetupBagItemsByOptionChosen(void); void TeachyTvPrepBattle(u8 taskId); void TeachyTvGrassAnimationMain(u8 taskId, s16 x, s16 y, u8 subpriority, bool8 mode); -void TeachyTvLoadBg3Map(void *); +void TeachyTvLoadBg3Map(u16 *); u8 TeachyTvGrassAnimationCheckIfNeedsToGenerateGrassObj(s16 x, s16 y); void TeachyTvGrassAnimationObjCallback(struct Sprite *sprite); void TeachyTvRestorePlayerPartyCallback(void); void TeachyTvPreBattleAnimAndSetBattleCallback(u8 taskId); void TeachyTvLoadMapTilesetToBuffer(struct Tileset *ts, u8 *dstBuffer, u16 size); -void TeachyTvPushBackNewMapPalIndexArrayEntry(struct MapData *mStruct, u16 *buf1, u8 *palIndexArray, u16 mapEntry, u16 offset); +void TeachyTvPushBackNewMapPalIndexArrayEntry(const struct MapData *mStruct, u16 *buf1, u8 *palIndexArray, u16 mapEntry, u16 offset); void TeachyTvComputeMapTilesFromTilesetAndMetaTiles(u16 *metaTilesArray, u8 *blockBuf, u8 *tileset); void TeachyTvComputeSingleMapTileBlockFromTilesetAndMetaTiles(u8 *blockBuf, u8 *tileset, u8 metaTile); u16 TeachyTvComputePalIndexArrayEntryByMetaTile(u8 *palIndexArrayBuf, u16 metaTile); @@ -403,16 +403,6 @@ void (* const gTeachyTvFuncCluster5[])(u8) = TeachyTvBackToOptionList, }; -void (* const * const gTeachyTvFuncClusterArray[])(u8) = -{ - gTeachyTvFuncCluster0, - gTeachyTvFuncCluster1, - gTeachyTvFuncCluster2, - gTeachyTvFuncCluster3, - gTeachyTvFuncCluster4, - gTeachyTvFuncCluster5, -}; - void TeachyTvCallback(void) { RunTasks(); @@ -537,13 +527,13 @@ void TeachyTvSetupBg(void) void TeachyTvLoadGraphic(void) { - u16 src = 0; + u16 src = RGB_BLACK; reset_temp_tile_data_buffers(); decompress_and_copy_tile_data_to_vram(1, gUnknown_8E86240, 0, 0, 0); LZDecompressWram(gUnknown_8E86BE8, gUnknown_203F450->buffer1); LZDecompressWram(gUnknown_8E86D6C, gUnknown_203F450->buffer4); LoadCompressedPalette(gUnknown_8E86F98, 0, 0x80); - LoadPalette(&src, 0, 2); + LoadPalette(&src, 0, sizeof(src)); LoadSpritePalette(&gUnknown_83A5348); TeachyTvLoadBg3Map(gUnknown_203F450->buffer3); } @@ -573,7 +563,8 @@ u8 TeachyTvSetupWindow(void) return ListMenuInit( &gMultiuseListMenuTemplate, gTeachyTV_StaticResources.scrollOffset, - gTeachyTV_StaticResources.selectedRow); + gTeachyTV_StaticResources.selectedRow + ); } void TeachyTvSetupScrollIndicatorArrowPair(void) @@ -583,11 +574,10 @@ void TeachyTvSetupScrollIndicatorArrowPair(void) struct TeachyTvBuf * temp = gUnknown_203F450; temp->var_4007 = 0xFF; } - - else { - u8 res = AddScrollIndicatorArrowPair(&gTeachyTvScrollIndicatorArrowPairTemplateArray, &(gTeachyTV_StaticResources.scrollOffset)); - gUnknown_203F450->var_4007 = res; - } + else + { + gUnknown_203F450->var_4007 = AddScrollIndicatorArrowPair(&gTeachyTvScrollIndicatorArrowPairTemplateArray, &(gTeachyTV_StaticResources.scrollOffset)); + } } void TeachyTvRemoveScrollIndicatorArrowPair(void) @@ -658,8 +648,7 @@ void TeachyTvBg2AnimController(void) void TeachyTvSetupPostBattleWindowAndObj(u8 taskId) { s16 *data = gTasks[taskId].data; - int v1 = data[1]; - struct Sprite *objAddr = &gSprites[v1]; + struct Sprite *objAddr = &gSprites[data[1]]; int op; ClearWindowTilemap(1); @@ -669,14 +658,14 @@ void TeachyTvSetupPostBattleWindowAndObj(u8 taskId) { if (op <= 3) { - TeachyTvSetSpriteCoordsAndSwitchFrame(((char*)data)[2], 0x78, 0x38, 0); + TeachyTvSetSpriteCoordsAndSwitchFrame(data[1], 0x78, 0x38, 0); ChangeBgX(3, 0x3000, 1); ChangeBgY(3, 0x3000, 2); gUnknown_203F450->var_4004 += 3; gUnknown_203F450->var_4005 -= 3; } else if (op <= 5) - TeachyTvSetSpriteCoordsAndSwitchFrame(((char*)data)[2], 0x78, 0x38, 0); + TeachyTvSetSpriteCoordsAndSwitchFrame(data[1], 0x78, 0x38, 0); } data[4] = 0; @@ -684,12 +673,10 @@ void TeachyTvSetupPostBattleWindowAndObj(u8 taskId) TeachyTvGrassAnimationMain(taskId, objAddr->pos2.x, objAddr->pos2.y, 0, 1); } -void TeachyTvInitTextPrinter(const char *text) +void TeachyTvInitTextPrinter(const u8 *text) { - u8 spd; gTextFlags.autoScroll = 0; - spd = GetTextSpeedSetting(); - AddTextPrinterParameterized2(0, 4, (const char *)text, spd, 0, 1, 0xC, 3); + AddTextPrinterParameterized2(0, 4, text, GetTextSpeedSetting(), 0, 1, 0xC, 3); } void TeachyTvFree(void) @@ -836,8 +823,16 @@ void TeachyTvRenderMsgAndSwitchClusterFuncs(u8 taskId) } else { - void (* const * const *array)(u8) = gTeachyTvFuncClusterArray; - void (* const * const cluster)(u8) = array[(u8)gTeachyTV_StaticResources.optionChosen]; + static void (* const * const array[])(u8) = + { + gTeachyTvFuncCluster0, + gTeachyTvFuncCluster1, + gTeachyTvFuncCluster2, + gTeachyTvFuncCluster3, + gTeachyTvFuncCluster4, + gTeachyTvFuncCluster5, + }; + void (*const *cluster)(u8) = array[gTeachyTV_StaticResources.optionChosen]; cluster[data[3]](taskId); } } @@ -845,8 +840,7 @@ void TeachyTvRenderMsgAndSwitchClusterFuncs(u8 taskId) void TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen(u8 taskId) { s16 *data = gTasks[taskId].data; - const u8 * const *texts = (const u8 *const []) - { + static const u8 *const texts[] = { gUnknown_841B8BF, gUnknown_841BB40, gUnknown_841BE76, @@ -861,7 +855,7 @@ void TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen(u8 taskId) void TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen2(u8 taskId) { s16 *data = gTasks[taskId].data; - const u8 * const *texts = (const u8 *const []) + static const u8 *const texts[] = { gUnknown_841BA41, gUnknown_841BD10, @@ -936,14 +930,14 @@ const u8 gTeachyTvGrassAnimArray[] = void TeachyTvClusFuncIdleIfTextPrinterIsActive2(u8 taskId) { - s16 *data = (u16 *)gTasks[taskId].data; + s16 *data = gTasks[taskId].data; if (!sub_80BF518(0)) ++data[3]; } void TeachyTvClusFuncEraseTextWindowIfKeyPressed(u8 taskId) { - s16 *data = (u16 *)gTasks[taskId].data; + s16 *data = gTasks[taskId].data; if (JOY_NEW(A_BUTTON | B_BUTTON)) { FillWindowPixelBuffer(0, 0xCC); @@ -955,7 +949,7 @@ void TeachyTvClusFuncEraseTextWindowIfKeyPressed(u8 taskId) void TeachyTvClusFuncStartAnimNpcWalkIntoGrass(u8 taskId) { s16 *data = gTasks[taskId].data; - StartSpriteAnim(&gSprites[(s16)data[1]], 5); + StartSpriteAnim(&gSprites[data[1]], 5); data[2] = 0; data[4] = 0; data[5] = 1; @@ -1082,7 +1076,6 @@ void TeachyTvClusFuncTaskBattleOrFadeByOptionChosen(u8 taskId) if (op <= 3) { TeachyTvPrepBattle(taskId); - } else if (op <= 5) { @@ -1105,76 +1098,62 @@ void TeachyTvPostBattleFadeControl(u8 taskId) s16 *data = gTasks[taskId].data; if (!(gPaletteFade.active)) { - const u8 *funcIdx = gTeachyTvSwitchFuncArray; - int arg = funcIdx[gTeachyTV_StaticResources.optionChosen]; - data[3] = arg; + data[3] = gTeachyTvSwitchFuncArray[gTeachyTV_StaticResources.optionChosen]; gTasks[taskId].func = TeachyTvRenderMsgAndSwitchClusterFuncs; } } void TeachyTvGrassAnimationMain(u8 taskId, s16 x, s16 y, u8 subpriority, bool8 mode) { - int res; struct Sprite *obj; - int objId; - const struct SpriteTemplate *const *objTemAddr; + u8 spriteId; - u8 subprio = subpriority; - if (gUnknown_203F450->var_4006 != 1) + if (gUnknown_203F450->var_4006 != 1 && TeachyTvGrassAnimationCheckIfNeedsToGenerateGrassObj(x - 0x10, y)) { - res = TeachyTvGrassAnimationCheckIfNeedsToGenerateGrassObj(x - 0x10, y); - if (res) + spriteId = CreateSprite(gUnknown_83A0010[4], 0, 0, subpriority); + obj = &gSprites[spriteId]; + obj->pos2.x = x; + obj->pos2.y = y + 8; + obj->callback = TeachyTvGrassAnimationObjCallback; + obj->data[0] = taskId; + if (mode == 1) { - objTemAddr = gUnknown_83A0010; - objId = CreateSprite(*(objTemAddr+4), 0, 0, subprio); - obj = gSprites + objId; - obj->pos2.x = x; - obj->pos2.y = y + 8; - obj->callback = TeachyTvGrassAnimationObjCallback; - obj->data[0] = taskId; - if (mode == 1) - { - SeekSpriteAnim(obj, 4); - obj->oam.priority = 2; - } - else - { - SetSubspriteTables(obj, gTeachyTvSubspriteTableArray); - obj->subspriteTableNum = 0; - obj->subspriteMode = 1; - } + SeekSpriteAnim(obj, 4); + obj->oam.priority = 2; + } + else + { + SetSubspriteTables(obj, gTeachyTvSubspriteTableArray); + obj->subspriteTableNum = 0; + obj->subspriteMode = 1; } } } void TeachyTvGrassAnimationObjCallback(struct Sprite *sprite) { - s16 diff1, diff2, *data = gTasks[sprite->data[0]].data; + s16 diff1, diff2; + s16 *data = gTasks[sprite->data[0]].data; struct Sprite *objAddr = &gSprites[data[1]]; + if (gUnknown_203F450->var_4006 == 1) DestroySprite(sprite); - else { - if (!sprite->animCmdIndex) + else + { + if (sprite->animCmdIndex == 0) sprite->subspriteTableNum = 1; else sprite->subspriteTableNum = 0; sprite->pos2.x += (u16)data[4]; sprite->pos2.y += (u16)data[5]; - if (!sprite->animEnded) - return; - sprite->subpriority = 0; - diff1 = (u16)(sprite->pos2.x - objAddr->pos2.x); - diff2 = (u16)(sprite->pos2.y - objAddr->pos2.y); - diff1 += 0xF; - if ((u16)diff1 <= 0x1E) + if (sprite->animEnded) { - if (diff2 > -0x10) - { - if (diff2 <= 0x17) - return; - } + sprite->subpriority = 0; + diff1 = sprite->pos2.x - objAddr->pos2.x; + diff2 = sprite->pos2.y - objAddr->pos2.y; + if (diff1 <= -16 || diff1 >= 16 || diff2 <= -16 || diff2 >= 24) + DestroySprite(sprite); } - DestroySprite(sprite); } } @@ -1237,337 +1216,74 @@ void TeachyTvRestorePlayerPartyCallback(void) CB2_ReturnToTeachyTV(); } -#ifdef NONMATCHING -void TeachyTvLoadBg3Map(void *buffer) -{ - u16 *mapArray; - int v2; - int v3; - int v4; - int v5; - int mapEntry; - int v7; - u16 v8; - int i; - char *MapTileBlockBuf; - void *FourMapTileBlocksTempBuf; - unsigned int j; - u16 *v13; - u8 *v14; - void *tileset; - u8 *palIndexArray; - unsigned int v17; - u32 v18; - int v19; - struct MapData * md; - - md = &Route1_Layout; - v14 = (u8 *)buffer; - v17 = 0; - mapArray = (u16 *)AllocZeroed(0x800); - tileset = AllocZeroed(0x8000); - palIndexArray = Alloc(0x10); - memset(palIndexArray, 0xFF, 0x10); - TeachyTvLoadMapTilesetToBuffer(md->primaryTileset, (u8 *)tileset, 0x280); - TeachyTvLoadMapTilesetToBuffer(md->secondaryTileset, (u8 *)tileset + 0x5000, 0x180); - v2 = 0; - do +void TeachyTvLoadBg3Map(u16 *buffer) +{ + u16 * r7; + u8 * r5; + u16 r4, r2, r3; + u16 r4_1; + void * sp08; + void * sp0C; + u16 sp10 = 0; + const struct MapData *layout = &Route1_Layout; // r8 + u16 * r6 = AllocZeroed(0x800); + sp08 = AllocZeroed(0x8000); + sp0C = Alloc(16); + memset(sp0C, 0xFF, 16); + + TeachyTvLoadMapTilesetToBuffer(layout->primaryTileset, sp08, 0x280); + TeachyTvLoadMapTilesetToBuffer(layout->secondaryTileset, sp08 + 0x5000, 0x180); + + for (r4 = 0; r4 < 9; r4++) { - v3 = 0; - v19 = v2 + 6; - v4 = 16 * v2; - v5 = v2 << 6; - v18 = v2 + 1; - do + // sp+18 = r4 + 6 + // r10 = r4 << 4 + // r9 = r4 << 6 + // sp14 <- r4++ + for (r2 = 0; r2 < 16; r2++) { - mapEntry = md->map[v3 + 24 * v19 + 8] & 0x3FF; - v7 = 0; - v8 = v3 + 1; - if (v4 + v3 <= 0) + r4_1 = layout->map[8 + (r4 + 6) * layout->width + r2] & 0x3FF; + for (r3 = 0; r3 < (r4 << 4) + r2; r3++) { -LABEL_9: - if (mapArray[v7]) - goto LABEL_11; + if (r6[r3] == 0) + break; + if (r6[r3] == r4_1) + break; } - else + if (r6[r3] == 0) { - for (i = *mapArray; i; i = mapArray[v7]) - { - if (i == mapEntry) - goto LABEL_9; - v7 = (u16)(v7 + 1); - if (v7 >= v4 + v3) - goto LABEL_9; - } + r6[r3] = r4_1; + sp10++; } - mapArray[v7] = mapEntry; - v17 = (u16)(v17 + 1); -LABEL_11: - TeachyTvPushBackNewMapPalIndexArrayEntry( - md, - (u16 *)&v14[2 * (v5 + 2 * v3)], - palIndexArray, - mapEntry, - v7); - v3 = v8; + TeachyTvPushBackNewMapPalIndexArrayEntry(layout, &buffer[64 * r4 + 2 * r2], sp0C, r4_1, r3); } - while ((u16)v8 <= 0xF); - v2 = v18; } - while ((u16)v18 <= 8); - MapTileBlockBuf = (char *)Alloc(v17 << 7); - FourMapTileBlocksTempBuf = Alloc(0x80); - for (j = 0; j < v17; j = (u16)j + 1) + + r7 = Alloc(sp10 * 0x80); + r5 = Alloc(0x80); + for (r4 = 0; r4 < sp10; r4++) { - memset(FourMapTileBlocksTempBuf, 0, 0x80); - v13 = &mapArray[j]; - if (*v13 <= 0x27F) - TeachyTvComputeMapTilesFromTilesetAndMetaTiles( - (u16 *)(16 * *v13 + (u16*)(md->primaryTileset->metatiles)), - (u8 *)FourMapTileBlocksTempBuf, - (u8 *)tileset); + memset(r5, 0, 0x80); + if (r6[r4] < 0x280) + { + TeachyTvComputeMapTilesFromTilesetAndMetaTiles(layout->primaryTileset->metatiles + r6[r4] * 16, r5, sp08); + } else - TeachyTvComputeMapTilesFromTilesetAndMetaTiles( - (u16 *)(16 * (*v13 - 0x280) + (u16*)(md->secondaryTileset->metatiles)), - (u8 *)FourMapTileBlocksTempBuf, - (u8 *)tileset); - - CpuFastSet(FourMapTileBlocksTempBuf, &MapTileBlockBuf[0x80 * j], 0x20); + { + TeachyTvComputeMapTilesFromTilesetAndMetaTiles(layout->secondaryTileset->metatiles + (r6[r4] - 0x280) * 16, r5, sp08); + } + CpuFastCopy(r5, r7 + r4 * 0x40, 0x80); } - LoadBgTiles(3, MapTileBlockBuf, (u16)v17 << 7, 0); - TeachyTvLoadMapPalette(&Route1_Layout, palIndexArray); - Free(FourMapTileBlocksTempBuf); - Free(MapTileBlockBuf); - Free(palIndexArray); - Free(tileset); - Free(mapArray); -} -#else -NAKED -void TeachyTvLoadBg3Map(void *buffer) -{ - asm_unified("\n\ - push {r4-r7,lr}\n\ - mov r7, r10\n\ - mov r6, r9\n\ - mov r5, r8\n\ - push {r5-r7}\n\ - sub sp, 0x1C\n\ - str r0, [sp, 0x4]\n\ - movs r0, 0\n\ - str r0, [sp, 0x10]\n\ - ldr r1, _0815BE1C @ =Route1_Layout\n\ - mov r8, r1\n\ - movs r0, 0x80\n\ - lsls r0, 4\n\ - bl AllocZeroed\n\ - adds r6, r0, 0\n\ - movs r0, 0x80\n\ - lsls r0, 8\n\ - bl AllocZeroed\n\ - str r0, [sp, 0x8]\n\ - movs r0, 0x10\n\ - bl Alloc\n\ - str r0, [sp, 0xC]\n\ - movs r1, 0xFF\n\ - movs r2, 0x10\n\ - bl memset\n\ - mov r2, r8\n\ - ldr r0, [r2, 0x10]\n\ - movs r2, 0xA0\n\ - lsls r2, 2\n\ - ldr r1, [sp, 0x8]\n\ - bl TeachyTvLoadMapTilesetToBuffer\n\ - mov r3, r8\n\ - ldr r0, [r3, 0x14]\n\ - ldr r2, [sp, 0x8]\n\ - movs r3, 0xA0\n\ - lsls r3, 7\n\ - adds r1, r2, r3\n\ - movs r2, 0xC0\n\ - lsls r2, 1\n\ - bl TeachyTvLoadMapTilesetToBuffer\n\ - movs r4, 0\n\ - _0815BDDE:\n\ - movs r2, 0\n\ - adds r0, r4, 0x6\n\ - str r0, [sp, 0x18]\n\ - lsls r1, r4, 4\n\ - mov r10, r1\n\ - lsls r3, r4, 6\n\ - mov r9, r3\n\ - adds r4, 0x1\n\ - str r4, [sp, 0x14]\n\ - _0815BDF0:\n\ - mov r1, r8\n\ - ldr r0, [r1]\n\ - ldr r3, [sp, 0x18]\n\ - muls r0, r3\n\ - ldr r1, [r1, 0xC]\n\ - adds r0, r2, r0\n\ - lsls r0, 1\n\ - adds r0, r1\n\ - ldrh r1, [r0, 0x10]\n\ - ldr r3, _0815BE20 @ =0x000003ff\n\ - adds r0, r3, 0\n\ - adds r4, r0, 0\n\ - ands r4, r1\n\ - movs r3, 0\n\ - mov r0, r10\n\ - adds r1, r0, r2\n\ - lsls r5, r2, 1\n\ - adds r7, r2, 0x1\n\ - cmp r3, r1\n\ - bge _0815BE3C\n\ - ldrh r0, [r6]\n\ - b _0815BE34\n\ - .align 2, 0\n\ - _0815BE1C: .4byte Route1_Layout\n\ - _0815BE20: .4byte 0x000003ff\n\ - _0815BE24:\n\ - adds r0, r3, 0x1\n\ - lsls r0, 16\n\ - lsrs r3, r0, 16\n\ - cmp r3, r1\n\ - bge _0815BE3C\n\ - lsls r0, r3, 1\n\ - adds r0, r6\n\ - ldrh r0, [r0]\n\ - _0815BE34:\n\ - cmp r0, 0\n\ - beq _0815BE46\n\ - cmp r0, r4\n\ - bne _0815BE24\n\ - _0815BE3C:\n\ - lsls r0, r3, 1\n\ - adds r0, r6\n\ - ldrh r0, [r0]\n\ - cmp r0, 0\n\ - bne _0815BE56\n\ - _0815BE46:\n\ - lsls r0, r3, 1\n\ - adds r0, r6\n\ - strh r4, [r0]\n\ - ldr r0, [sp, 0x10]\n\ - adds r0, 0x1\n\ - lsls r0, 16\n\ - lsrs r0, 16\n\ - str r0, [sp, 0x10]\n\ - _0815BE56:\n\ - mov r2, r9\n\ - adds r1, r2, r5\n\ - lsls r1, 1\n\ - ldr r0, [sp, 0x4]\n\ - adds r1, r0, r1\n\ - str r3, [sp]\n\ - mov r0, r8\n\ - ldr r2, [sp, 0xC]\n\ - adds r3, r4, 0\n\ - bl TeachyTvPushBackNewMapPalIndexArrayEntry\n\ - lsls r0, r7, 16\n\ - lsrs r2, r0, 16\n\ - cmp r2, 0xF\n\ - bls _0815BDF0\n\ - ldr r1, [sp, 0x14]\n\ - lsls r0, r1, 16\n\ - lsrs r4, r0, 16\n\ - cmp r4, 0x8\n\ - bls _0815BDDE\n\ - ldr r2, [sp, 0x10]\n\ - lsls r0, r2, 7\n\ - bl Alloc\n\ - adds r7, r0, 0\n\ - movs r0, 0x80\n\ - bl Alloc\n\ - adds r5, r0, 0\n\ - movs r4, 0\n\ - ldr r3, [sp, 0x10]\n\ - lsls r3, 23\n\ - mov r9, r3\n\ - ldr r0, [sp, 0x10]\n\ - cmp r4, r0\n\ - bcs _0815BF00\n\ - ldr r1, _0815BECC @ =0x0000027f\n\ - mov r10, r1\n\ - _0815BEA2:\n\ - adds r0, r5, 0\n\ - movs r1, 0\n\ - movs r2, 0x80\n\ - bl memset\n\ - lsls r0, r4, 1\n\ - adds r1, r0, r6\n\ - ldrh r0, [r1]\n\ - cmp r0, r10\n\ - bhi _0815BED0\n\ - mov r2, r8\n\ - ldr r0, [r2, 0x10]\n\ - ldrh r1, [r1]\n\ - lsls r1, 4\n\ - ldr r0, [r0, 0xC]\n\ - adds r0, r1\n\ - adds r1, r5, 0\n\ - ldr r2, [sp, 0x8]\n\ - bl TeachyTvComputeMapTilesFromTilesetAndMetaTiles\n\ - b _0815BEE8\n\ - .align 2, 0\n\ - _0815BECC: .4byte 0x0000027f\n\ - _0815BED0:\n\ - mov r3, r8\n\ - ldr r0, [r3, 0x14]\n\ - ldrh r1, [r1]\n\ - ldr r2, _0815BF44 @ =0xfffffd80\n\ - adds r1, r2\n\ - lsls r1, 4\n\ - ldr r0, [r0, 0xC]\n\ - adds r0, r1\n\ - adds r1, r5, 0\n\ - ldr r2, [sp, 0x8]\n\ - bl TeachyTvComputeMapTilesFromTilesetAndMetaTiles\n\ - _0815BEE8:\n\ - lsls r1, r4, 7\n\ - adds r1, r7, r1\n\ - adds r0, r5, 0\n\ - movs r2, 0x20\n\ - bl CpuFastSet\n\ - adds r0, r4, 0x1\n\ - lsls r0, 16\n\ - lsrs r4, r0, 16\n\ - ldr r3, [sp, 0x10]\n\ - cmp r4, r3\n\ - bcc _0815BEA2\n\ - _0815BF00:\n\ - mov r0, r9\n\ - lsrs r2, r0, 16\n\ - movs r0, 0x3\n\ - adds r1, r7, 0\n\ - movs r3, 0\n\ - bl LoadBgTiles\n\ - mov r0, r8\n\ - ldr r1, [sp, 0xC]\n\ - bl TeachyTvLoadMapPalette\n\ - adds r0, r5, 0\n\ - bl Free\n\ - adds r0, r7, 0\n\ - bl Free\n\ - ldr r0, [sp, 0xC]\n\ - bl Free\n\ - ldr r0, [sp, 0x8]\n\ - bl Free\n\ - adds r0, r6, 0\n\ - bl Free\n\ - add sp, 0x1C\n\ - pop {r3-r5}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - mov r10, r5\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .align 2, 0\n\ - _0815BF44: .4byte 0xfffffd80\n\ - "); + + LoadBgTiles(3, r7, sp10 * 0x80, 0); + TeachyTvLoadMapPalette(layout, sp0C); + + Free(r5); + Free(r7); + Free(sp0C); + Free(sp08); + Free(r6); } -#endif void TeachyTvLoadMapTilesetToBuffer(struct Tileset *ts, u8 *dstBuffer, u16 size) { @@ -1580,7 +1296,7 @@ void TeachyTvLoadMapTilesetToBuffer(struct Tileset *ts, u8 *dstBuffer, u16 size) } } -void TeachyTvPushBackNewMapPalIndexArrayEntry(struct MapData *mStruct, u16 *buf1, u8 *palIndexArray, u16 mapEntry, u16 offset) +void TeachyTvPushBackNewMapPalIndexArrayEntry(const struct MapData *mStruct, u16 *buf1, u8 *palIndexArray, u16 mapEntry, u16 offset) { u16 * metaTileEntryAddr = mapEntry <= 0x27F ? &((u16*)(mStruct->primaryTileset->metatiles))[8 * mapEntry] : &((u16*)(mStruct->secondaryTileset->metatiles))[8 * (mapEntry - 0x280)]; buf1[0] = (TeachyTvComputePalIndexArrayEntryByMetaTile(palIndexArray, metaTileEntryAddr[0]) << 12) + 4 * offset; @@ -1604,8 +1320,9 @@ void TeachyTvComputeMapTilesFromTilesetAndMetaTiles(u16 *metaTilesArray, u8 *blo void TeachyTvComputeSingleMapTileBlockFromTilesetAndMetaTiles(u8 *blockBuf, u8 *tileset, u8 metaTile) { - u8 i, j, * src, *buffer = (u8 *)AllocZeroed(0x20); - src = AllocZeroed(0x20); + u8 i, j; + u8 * buffer = AllocZeroed(0x20); + u8 * src = AllocZeroed(0x20); CpuFastSet(tileset, buffer, 8); if (metaTile & 1) { diff --git a/sym_ewram.txt b/sym_ewram.txt index 7d3054653..e02014479 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -1638,12 +1638,8 @@ gUnknown_203F43C: @ 203F43C gUnknown_203F440: @ 203F440 .space 0x4 -gTeachyTV_StaticResources: @ 203F444 - .space 12 - -gUnknown_203F450: @ 203F450 - .space 0x4 - + .align 2 + .include "src/teachy_tv.o" .align 2 .include "src/unk_815C980.o" .align 2 -- cgit v1.2.3 From c68d4972888777f8b6f89be82895cf8f9e0bdd45 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 11 Jun 2019 07:00:08 -0400 Subject: Document vars in TeachyTvLoadBg3Map --- src/teachy_tv.c | 86 +++++++++++++++++++++++++++------------------------------ 1 file changed, 41 insertions(+), 45 deletions(-) diff --git a/src/teachy_tv.c b/src/teachy_tv.c index 49e8d99c3..1a144b0dd 100644 --- a/src/teachy_tv.c +++ b/src/teachy_tv.c @@ -1218,71 +1218,67 @@ void TeachyTvRestorePlayerPartyCallback(void) void TeachyTvLoadBg3Map(u16 *buffer) { - u16 * r7; - u8 * r5; - u16 r4, r2, r3; - u16 r4_1; - void * sp08; - void * sp0C; - u16 sp10 = 0; - const struct MapData *layout = &Route1_Layout; // r8 - u16 * r6 = AllocZeroed(0x800); - sp08 = AllocZeroed(0x8000); - sp0C = Alloc(16); - memset(sp0C, 0xFF, 16); - - TeachyTvLoadMapTilesetToBuffer(layout->primaryTileset, sp08, 0x280); - TeachyTvLoadMapTilesetToBuffer(layout->secondaryTileset, sp08 + 0x5000, 0x180); - - for (r4 = 0; r4 < 9; r4++) + u16 * bgTilesBuffer; + u8 * mapTilesRowBuffer; + u16 i, j, k; + u16 currentBlockIdx; + void * tilesetsBuffer; + void * palIndicesBuffer; + u16 numMapTilesRows = 0; + const struct MapData *layout = &Route1_Layout; + u16 * blockIndicesBuffer = AllocZeroed(0x800); + tilesetsBuffer = AllocZeroed(0x8000); + palIndicesBuffer = Alloc(16); + memset(palIndicesBuffer, 0xFF, 16); + + TeachyTvLoadMapTilesetToBuffer(layout->primaryTileset, tilesetsBuffer, 0x280); + TeachyTvLoadMapTilesetToBuffer(layout->secondaryTileset, tilesetsBuffer + 0x5000, 0x180); + + for (i = 0; i < 9; i++) { - // sp+18 = r4 + 6 - // r10 = r4 << 4 - // r9 = r4 << 6 - // sp14 <- r4++ - for (r2 = 0; r2 < 16; r2++) + for (j = 0; j < 16; j++) { - r4_1 = layout->map[8 + (r4 + 6) * layout->width + r2] & 0x3FF; - for (r3 = 0; r3 < (r4 << 4) + r2; r3++) + currentBlockIdx = layout->map[8 + (i + 6) * layout->width + j] & 0x3FF; + for (k = 0; k < (i << 4) + j; k++) { - if (r6[r3] == 0) + if (blockIndicesBuffer[k] == 0) break; - if (r6[r3] == r4_1) + if (blockIndicesBuffer[k] == currentBlockIdx) break; } - if (r6[r3] == 0) + if (blockIndicesBuffer[k] == 0) { - r6[r3] = r4_1; - sp10++; + blockIndicesBuffer[k] = currentBlockIdx; + numMapTilesRows++; } - TeachyTvPushBackNewMapPalIndexArrayEntry(layout, &buffer[64 * r4 + 2 * r2], sp0C, r4_1, r3); + TeachyTvPushBackNewMapPalIndexArrayEntry(layout, &buffer[64 * i + 2 * j], palIndicesBuffer, currentBlockIdx, k); } } - r7 = Alloc(sp10 * 0x80); - r5 = Alloc(0x80); - for (r4 = 0; r4 < sp10; r4++) + bgTilesBuffer = Alloc(numMapTilesRows * 0x80); + mapTilesRowBuffer = Alloc(0x80); + for (i = 0; i < numMapTilesRows; i++) { - memset(r5, 0, 0x80); - if (r6[r4] < 0x280) + memset(mapTilesRowBuffer, 0, 0x80); + if (blockIndicesBuffer[i] < 0x280) { - TeachyTvComputeMapTilesFromTilesetAndMetaTiles(layout->primaryTileset->metatiles + r6[r4] * 16, r5, sp08); + TeachyTvComputeMapTilesFromTilesetAndMetaTiles(layout->primaryTileset->metatiles + blockIndicesBuffer[i] * 16, mapTilesRowBuffer, tilesetsBuffer); } else { - TeachyTvComputeMapTilesFromTilesetAndMetaTiles(layout->secondaryTileset->metatiles + (r6[r4] - 0x280) * 16, r5, sp08); + TeachyTvComputeMapTilesFromTilesetAndMetaTiles(layout->secondaryTileset->metatiles + (blockIndicesBuffer[i] - 0x280) * 16, mapTilesRowBuffer, tilesetsBuffer); } - CpuFastCopy(r5, r7 + r4 * 0x40, 0x80); + CpuFastCopy(mapTilesRowBuffer, bgTilesBuffer + i * 0x40, 0x80); } - LoadBgTiles(3, r7, sp10 * 0x80, 0); - TeachyTvLoadMapPalette(layout, sp0C); + LoadBgTiles(3, bgTilesBuffer, numMapTilesRows * 0x80, 0); + TeachyTvLoadMapPalette(layout, palIndicesBuffer); - Free(r5); - Free(r7); - Free(sp0C); - Free(sp08); - Free(r6); + Free(mapTilesRowBuffer); + Free(bgTilesBuffer); + Free(palIndicesBuffer); + Free(tilesetsBuffer); + Free(blockIndicesBuffer); } void TeachyTvLoadMapTilesetToBuffer(struct Tileset *ts, u8 *dstBuffer, u16 size) -- cgit v1.2.3 From 611cd549db36619e7404110e792145fa9c39d24e Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 11 Jun 2019 07:08:08 -0400 Subject: Split out Teachy TV text --- data/data_83FECCC.s | 228 +----------------------------------------------- data/text/teachy_tv.inc | 227 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 228 insertions(+), 227 deletions(-) create mode 100644 data/text/teachy_tv.inc diff --git a/data/data_83FECCC.s b/data/data_83FECCC.s index 52af8de8a..1f61683bf 100644 --- a/data/data_83FECCC.s +++ b/data/data_83FECCC.s @@ -1905,233 +1905,7 @@ gUnknown_841B76B:: @ 841B76B gUnknown_841B779:: @ 841B779 .incbin "baserom.gba", 0x41B779, 0x2B -gUnknown_841B7A4:: @ 841B7A4 - .string "Teach me how to battle.$" - -gUnknown_841B7BC:: @ 841B7BC - .string "What are status problems?$" - -gUnknown_841B7D6:: @ 841B7D6 - .string "What are type matchups?$" - -gUnknown_841B7EE:: @ 841B7EE - .string "I want to catch POKéMON.$" - -gUnknown_841B807:: @ 841B807 - .string "Teach me about TMs.$" - -gUnknown_841B81B:: @ 841B81B - .string "How do I register an item?$" - -gUnknown_841B836:: @ 841B836 - .string "CANCEL$" - -gUnknown_841B83D:: @ 841B83D - .string "Hey, all you TRAINERS out there!\n" - .string "HELLO, TRAINERS!\p" - .string "……… ……… ………\p" - .string "Come on, let me hear you!\n" - .string "HELLO, TRAINERS!\l" - .string "It's me, the POKé DUDE!\p" - .string "$" - -gUnknown_841B8BF:: @ 841B8BF - .string "Today, the POKé DUDE's here to\n" - .string "tell you about how you can battle\l" - .string "POKéMON!\p" - .string "Say you're out for a stroll when,\n" - .string "suddenly, a wild POKéMON appears!\p" - .string "It's up to you to smartly use your\n" - .string "POKéMON and their moves to reduce\l" - .string "the opponent's HP to nothing, and\l" - .string "claim victory!\p" - .string "I'll show you how to do that in\n" - .string "person and for sure!\p" - .string "All righty, here goes!\p" - .string "Keep your eyes glued to the super\n" - .string "POKé DUDE SHOW!$" - -gUnknown_841BA41:: @ 841BA41 - .string "Well, did you get that?\p" - .string "Even if your own POKéMON's HP\n" - .string "falls to zero, and it becomes\l" - .string "unable to battle, not to worry!\p" - .string "Just take it to any POKéMON\n" - .string "CENTER and heal it!\p" - .string "All righty, be seeing you!\p" - .string "Remember, TRAINERS, a good deed\n" - .string "a day brings happiness to stay!$" - -gUnknown_841BB40:: @ 841BB40 - .string "Today, the POKé DUDE's here to\n" - .string "tell you about status problems!\p" - .string "Status problems include poisoning,\n" - .string "paralysis, sleep, burn…\p" - .string "There are a couple others, but\n" - .string "they really are trouble.\p" - .string "Get any one, and your POKéMON\n" - .string "may become useless in battle.\p" - .string "You know, it hurts the POKé DUDE\n" - .string "to see a POKéMON suffer…\p" - .string "So, what should you do if your\n" - .string "POKéMON gets a status problem?\p" - .string "Well, you've got me to show you!\p" - .string "All righty, here goes!\p" - .string "Keep your eyes glued to the super\n" - .string "POKé DUDE SHOW!$" - -gUnknown_841BD10:: @ 841BD10 - .string "Poisoning or paralysis don't go\n" - .string "away after a battle.\p" - .string "If a POKéMON is poisoned, it loses\n" - .string "HP even while you're walking.\p" - .string "You should heal POKéMON of these\n" - .string "kinds of problems right away.\p" - .string "Use an item, or try to get to a\n" - .string "POKéMON CENTER for healing.\p" - .string "That wasn't hard, was it?\n" - .string "All righty, be seeing you!\p" - .string "Remember, TRAINERS, a good deed\n" - .string "a day brings happiness to stay!$" - -gUnknown_841BE76:: @ 841BE76 - .string "Does everyone know about type\n" - .string "matchups?\p" - .string "POKéMON and their moves all\n" - .string "belong to certain types.\p" - .string "For example, there are such types\n" - .string "as GRASS and WATER.\p" - .string "You need to consider the type of\n" - .string "the move used to attack…\p" - .string "And, the type of the POKéMON that\n" - .string "is hit by that attack.\p" - .string "Depending on how those two types\n" - .string "match up, the damage can change.\p" - .string "You see, it depends on whether\n" - .string "the type matchup is good or bad.\p" - .string "If you don't know how matchups\n" - .string "work, battles will be tough.\p" - .string "So, let me demonstrate exactly\n" - .string "what I mean.\p" - .string "All righty, here goes!\p" - .string "Keep your eyes glued to the super\n" - .string "POKé DUDE SHOW!$" - -gUnknown_841C0AF:: @ 841C0AF - .string "Is it possible to launch an attack\n" - .string "that will inflict heavy damage?\p" - .string "Does the opposing POKéMON pose\n" - .string "a threat to your POKéMON?\p" - .string "Is there any chance that it may\n" - .string "have disastrously tough moves?\p" - .string "Watch the type matchups to gain\n" - .string "the upper hand!\p" - .string "All righty, be seeing you!\p" - .string "Oh, for the COOL-type POKé DUDE,\n" - .string "AWESOME-type kids like you match\l" - .string "up perfectly!\p" - .string "Remember, a good deed a day\n" - .string "brings happiness to stay!$" - -gUnknown_841C23B:: @ 841C23B - .string "Today, the POKé DUDE's going to\n" - .string "show you how to catch POKéMON!\p" - .string "Just imagine… A groovy POKéMON\n" - .string "suddenly appearing in the wild!\p" - .string "Oh, you want it!\n" - .string "You just can't help it!\p" - .string "Oh, you have to catch it!\n" - .string "You gotta have it!\p" - .string "Let me show you how you can make\n" - .string "it happen!\p" - .string "All righty, here goes!\p" - .string "Keep your eyes glued to the super\n" - .string "POKé DUDE SHOW!$" - -gUnknown_841C384:: @ 841C384 - .string "If your first POKé BALL fails to\n" - .string "catch the POKéMON, don't give up!\p" - .string "Keep throwing POKé BALLS…\n" - .string "It's bound to work sometime!\p" - .string "All righty, be seeing you!\p" - .string "Remember, TRAINERS, a good deed\n" - .string "a day brings happiness to stay!$" - -gUnknown_841C459:: @ 841C459 - .string "Hey, everyone!\n" - .string "Do you all have TMs?\p" - .string "A TM, Technical Machine, is an\n" - .string "amazingly great item!\p" - .string "It teaches POKéMON a move that\n" - .string "it may not learn when leveling up!\p" - .string "Isn't that just great? What a\n" - .string "convenient world we live in!\p" - .string "Open the TM CASE and check out\n" - .string "the TMs you have.\p" - .string "You can check them out in detail,\n" - .string "too.$" - -gPokeDudeText_TMTypes:: @ 841C587 - .string "POKé DUDE: NORMAL, WATER, GRASS…\n" - .string "TMs also come in types.\p" - .string "Check the type and teach it to\n" - .string "a POKéMON that matches up well.\p" - .string "For example, WATER PULSE is\n" - .string "suitable for WATER-type POKéMON.\p" - .string "BULLET SEED is a move that most\n" - .string "GRASS-type POKéMON can learn.\p" - .string "There's one other thing!$" - -gPokeDudeText_ReadTMDescription:: @ 841C693 - .string "Don't just look at the type, read\n" - .string "the description, too.\p" - .string "It will contain hints about what\n" - .string "POKéMON might learn the move.\p" - .string "For example, take a move like\n" - .string "FOCUS PUNCH.\p" - .string "It doesn't sound like anything a\n" - .string "bird or fish POKéMON can learn.\p" - .string "So, try using it on POKéMON with\n" - .string "arms that can throw punches!$" - -gUnknown_841C7B4:: @ 841C7B4 - .string "Wow, I talked a lot today!\n" - .string "All righty, be seeing you!\p" - .string "Remember, TRAINERS, a good deed\n" - .string "a day brings happiness to stay!$" - -gUnknown_841C82A:: @ 841C82A - .string "A TRAINER's BAG has a bunch of\n" - .string "nifty, convenient features!\p" - .string "Take stuff in the KEY ITEMS\n" - .string "POCKET, for instance.\p" - .string "You can use a key item without\n" - .string "opening the BAG every time.\p" - .string "For example, let's pretend I have\n" - .string "a TEACHY TV in my BAG.\p" - .string "I can register it for instant use,\n" - .string "and I'll show you how!\p" - .string "All righty, here goes!\p" - .string "Keep your eyes glued to the sorta\n" - .string "super POKé DUDE SHOW!$" - -gUnknown_841C994:: @ 841C994 - .string "And now, your TEACHY TV is\n" - .string "registered.\p" - .string "How do you use it?\n" - .string "Well, here's how it works.\p" - .string "Once an item in the KEY ITEMS\n" - .string "POKCET is registered, you can use\l" - .string "it by pressing SELECT.\p" - .string "So, you've given yourself\n" - .string "one-touch access to TEACHY TV.\p" - .string "All it takes for you to see me is\n" - .string "pressing one button!\p" - .string "That kind of attention is a little\n" - .string "embarrassing!\p" - .string "All righty, be seeing you!\p" - .string "Remember, TRAINERS, a good deed\n" - .string "a day brings happiness to stay!$" + .include "data/text/teachy_tv.inc" gUnknown_841CB3C:: @ 841CB3C .incbin "baserom.gba", 0x41CB3C, 0x5 diff --git a/data/text/teachy_tv.inc b/data/text/teachy_tv.inc new file mode 100644 index 000000000..633be347d --- /dev/null +++ b/data/text/teachy_tv.inc @@ -0,0 +1,227 @@ +gUnknown_841B7A4:: @ 841B7A4 + .string "Teach me how to battle.$" + +gUnknown_841B7BC:: @ 841B7BC + .string "What are status problems?$" + +gUnknown_841B7D6:: @ 841B7D6 + .string "What are type matchups?$" + +gUnknown_841B7EE:: @ 841B7EE + .string "I want to catch POKéMON.$" + +gUnknown_841B807:: @ 841B807 + .string "Teach me about TMs.$" + +gUnknown_841B81B:: @ 841B81B + .string "How do I register an item?$" + +gUnknown_841B836:: @ 841B836 + .string "CANCEL$" + +gUnknown_841B83D:: @ 841B83D + .string "Hey, all you TRAINERS out there!\n" + .string "HELLO, TRAINERS!\p" + .string "……… ……… ………\p" + .string "Come on, let me hear you!\n" + .string "HELLO, TRAINERS!\l" + .string "It's me, the POKé DUDE!\p" + .string "$" + +gUnknown_841B8BF:: @ 841B8BF + .string "Today, the POKé DUDE's here to\n" + .string "tell you about how you can battle\l" + .string "POKéMON!\p" + .string "Say you're out for a stroll when,\n" + .string "suddenly, a wild POKéMON appears!\p" + .string "It's up to you to smartly use your\n" + .string "POKéMON and their moves to reduce\l" + .string "the opponent's HP to nothing, and\l" + .string "claim victory!\p" + .string "I'll show you how to do that in\n" + .string "person and for sure!\p" + .string "All righty, here goes!\p" + .string "Keep your eyes glued to the super\n" + .string "POKé DUDE SHOW!$" + +gUnknown_841BA41:: @ 841BA41 + .string "Well, did you get that?\p" + .string "Even if your own POKéMON's HP\n" + .string "falls to zero, and it becomes\l" + .string "unable to battle, not to worry!\p" + .string "Just take it to any POKéMON\n" + .string "CENTER and heal it!\p" + .string "All righty, be seeing you!\p" + .string "Remember, TRAINERS, a good deed\n" + .string "a day brings happiness to stay!$" + +gUnknown_841BB40:: @ 841BB40 + .string "Today, the POKé DUDE's here to\n" + .string "tell you about status problems!\p" + .string "Status problems include poisoning,\n" + .string "paralysis, sleep, burn…\p" + .string "There are a couple others, but\n" + .string "they really are trouble.\p" + .string "Get any one, and your POKéMON\n" + .string "may become useless in battle.\p" + .string "You know, it hurts the POKé DUDE\n" + .string "to see a POKéMON suffer…\p" + .string "So, what should you do if your\n" + .string "POKéMON gets a status problem?\p" + .string "Well, you've got me to show you!\p" + .string "All righty, here goes!\p" + .string "Keep your eyes glued to the super\n" + .string "POKé DUDE SHOW!$" + +gUnknown_841BD10:: @ 841BD10 + .string "Poisoning or paralysis don't go\n" + .string "away after a battle.\p" + .string "If a POKéMON is poisoned, it loses\n" + .string "HP even while you're walking.\p" + .string "You should heal POKéMON of these\n" + .string "kinds of problems right away.\p" + .string "Use an item, or try to get to a\n" + .string "POKéMON CENTER for healing.\p" + .string "That wasn't hard, was it?\n" + .string "All righty, be seeing you!\p" + .string "Remember, TRAINERS, a good deed\n" + .string "a day brings happiness to stay!$" + +gUnknown_841BE76:: @ 841BE76 + .string "Does everyone know about type\n" + .string "matchups?\p" + .string "POKéMON and their moves all\n" + .string "belong to certain types.\p" + .string "For example, there are such types\n" + .string "as GRASS and WATER.\p" + .string "You need to consider the type of\n" + .string "the move used to attack…\p" + .string "And, the type of the POKéMON that\n" + .string "is hit by that attack.\p" + .string "Depending on how those two types\n" + .string "match up, the damage can change.\p" + .string "You see, it depends on whether\n" + .string "the type matchup is good or bad.\p" + .string "If you don't know how matchups\n" + .string "work, battles will be tough.\p" + .string "So, let me demonstrate exactly\n" + .string "what I mean.\p" + .string "All righty, here goes!\p" + .string "Keep your eyes glued to the super\n" + .string "POKé DUDE SHOW!$" + +gUnknown_841C0AF:: @ 841C0AF + .string "Is it possible to launch an attack\n" + .string "that will inflict heavy damage?\p" + .string "Does the opposing POKéMON pose\n" + .string "a threat to your POKéMON?\p" + .string "Is there any chance that it may\n" + .string "have disastrously tough moves?\p" + .string "Watch the type matchups to gain\n" + .string "the upper hand!\p" + .string "All righty, be seeing you!\p" + .string "Oh, for the COOL-type POKé DUDE,\n" + .string "AWESOME-type kids like you match\l" + .string "up perfectly!\p" + .string "Remember, a good deed a day\n" + .string "brings happiness to stay!$" + +gUnknown_841C23B:: @ 841C23B + .string "Today, the POKé DUDE's going to\n" + .string "show you how to catch POKéMON!\p" + .string "Just imagine… A groovy POKéMON\n" + .string "suddenly appearing in the wild!\p" + .string "Oh, you want it!\n" + .string "You just can't help it!\p" + .string "Oh, you have to catch it!\n" + .string "You gotta have it!\p" + .string "Let me show you how you can make\n" + .string "it happen!\p" + .string "All righty, here goes!\p" + .string "Keep your eyes glued to the super\n" + .string "POKé DUDE SHOW!$" + +gUnknown_841C384:: @ 841C384 + .string "If your first POKé BALL fails to\n" + .string "catch the POKéMON, don't give up!\p" + .string "Keep throwing POKé BALLS…\n" + .string "It's bound to work sometime!\p" + .string "All righty, be seeing you!\p" + .string "Remember, TRAINERS, a good deed\n" + .string "a day brings happiness to stay!$" + +gUnknown_841C459:: @ 841C459 + .string "Hey, everyone!\n" + .string "Do you all have TMs?\p" + .string "A TM, Technical Machine, is an\n" + .string "amazingly great item!\p" + .string "It teaches POKéMON a move that\n" + .string "it may not learn when leveling up!\p" + .string "Isn't that just great? What a\n" + .string "convenient world we live in!\p" + .string "Open the TM CASE and check out\n" + .string "the TMs you have.\p" + .string "You can check them out in detail,\n" + .string "too.$" + +gPokeDudeText_TMTypes:: @ 841C587 + .string "POKé DUDE: NORMAL, WATER, GRASS…\n" + .string "TMs also come in types.\p" + .string "Check the type and teach it to\n" + .string "a POKéMON that matches up well.\p" + .string "For example, WATER PULSE is\n" + .string "suitable for WATER-type POKéMON.\p" + .string "BULLET SEED is a move that most\n" + .string "GRASS-type POKéMON can learn.\p" + .string "There's one other thing!$" + +gPokeDudeText_ReadTMDescription:: @ 841C693 + .string "Don't just look at the type, read\n" + .string "the description, too.\p" + .string "It will contain hints about what\n" + .string "POKéMON might learn the move.\p" + .string "For example, take a move like\n" + .string "FOCUS PUNCH.\p" + .string "It doesn't sound like anything a\n" + .string "bird or fish POKéMON can learn.\p" + .string "So, try using it on POKéMON with\n" + .string "arms that can throw punches!$" + +gUnknown_841C7B4:: @ 841C7B4 + .string "Wow, I talked a lot today!\n" + .string "All righty, be seeing you!\p" + .string "Remember, TRAINERS, a good deed\n" + .string "a day brings happiness to stay!$" + +gUnknown_841C82A:: @ 841C82A + .string "A TRAINER's BAG has a bunch of\n" + .string "nifty, convenient features!\p" + .string "Take stuff in the KEY ITEMS\n" + .string "POCKET, for instance.\p" + .string "You can use a key item without\n" + .string "opening the BAG every time.\p" + .string "For example, let's pretend I have\n" + .string "a TEACHY TV in my BAG.\p" + .string "I can register it for instant use,\n" + .string "and I'll show you how!\p" + .string "All righty, here goes!\p" + .string "Keep your eyes glued to the sorta\n" + .string "super POKé DUDE SHOW!$" + +gUnknown_841C994:: @ 841C994 + .string "And now, your TEACHY TV is\n" + .string "registered.\p" + .string "How do you use it?\n" + .string "Well, here's how it works.\p" + .string "Once an item in the KEY ITEMS\n" + .string "POKCET is registered, you can use\l" + .string "it by pressing SELECT.\p" + .string "So, you've given yourself\n" + .string "one-touch access to TEACHY TV.\p" + .string "All it takes for you to see me is\n" + .string "pressing one button!\p" + .string "That kind of attention is a little\n" + .string "embarrassing!\p" + .string "All righty, be seeing you!\p" + .string "Remember, TRAINERS, a good deed\n" + .string "a day brings happiness to stay!$" -- cgit v1.2.3 From 75a89830a95a47cea2cc6a0732ca0da454c74ab7 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 11 Jun 2019 10:11:23 -0400 Subject: Cleanup and documentation of teachy_tv --- asm/battle_1.s | 4 +- asm/battle_2.s | 54 +-- asm/battle_controller_link_opponent.s | 8 +- asm/battle_controller_link_partner.s | 4 +- asm/battle_controller_oak.s | 4 +- asm/battle_controller_player.s | 4 +- asm/battle_controller_pokedude.s | 4 +- asm/battle_controller_safari.s | 4 +- asm/battle_controllers.s | 4 +- asm/battle_records.s | 8 +- asm/battle_script_commands.s | 18 +- asm/battle_setup.s | 24 +- asm/battle_tower.s | 8 +- asm/cable_club.s | 4 +- asm/field_specials.s | 4 +- asm/item_menu.s | 2 +- asm/item_use.s | 4 +- asm/party_menu.s | 2 +- asm/safari_zone.s | 4 +- data/text/teachy_tv.inc | 40 +- include/battle.h | 2 +- include/strings.h | 40 +- include/teachy_tv.h | 4 +- src/quest_log.c | 2 +- src/quest_log_battle.c | 6 +- src/teachy_tv.c | 859 +++++++++++++++++----------------- src/tm_case.c | 2 +- sym_ewram.txt | 2 +- 28 files changed, 570 insertions(+), 555 deletions(-) diff --git a/asm/battle_1.s b/asm/battle_1.s index c479650a7..e8bb73629 100644 --- a/asm/battle_1.s +++ b/asm/battle_1.s @@ -517,7 +517,7 @@ _0800F5C8: .4byte 0x00006001 thumb_func_start sub_800F5CC sub_800F5CC: @ 800F5CC push {lr} - ldr r0, _0800F5E0 @ =gUnknown_2023E8A + ldr r0, _0800F5E0 @ =gBattleOutcome ldrb r2, [r0] cmp r2, 0x3 bne _0800F5E8 @@ -526,7 +526,7 @@ sub_800F5CC: @ 800F5CC bl sub_80D87BC b _0800F6F0 .align 2, 0 -_0800F5E0: .4byte gUnknown_2023E8A +_0800F5E0: .4byte gBattleOutcome _0800F5E4: .4byte gUnknown_83FE883 _0800F5E8: ldr r0, _0800F61C @ =gBattleTypeFlags diff --git a/asm/battle_2.s b/asm/battle_2.s index 7929762d8..6df4e00b9 100644 --- a/asm/battle_2.s +++ b/asm/battle_2.s @@ -2376,7 +2376,7 @@ sub_8011100: @ 8011100 cmp r0, 0 beq _08011158 ldr r2, _08011168 @ =gSpecialVar_Result - ldr r1, _0801116C @ =gUnknown_2023E8A + ldr r1, _0801116C @ =gBattleOutcome movs r0, 0x3 strb r0, [r1] movs r0, 0x3 @@ -2399,7 +2399,7 @@ _08011158: _08011160: .4byte gMain _08011164: .4byte gBattleTypeFlags _08011168: .4byte gSpecialVar_Result -_0801116C: .4byte gUnknown_2023E8A +_0801116C: .4byte gBattleOutcome _08011170: .4byte CB2_QuitRecordedBattle thumb_func_end sub_8011100 @@ -4966,7 +4966,7 @@ _08012522: strb r0, [r2, 0x1D] ldr r0, _08012724 @ =gUnknown_2023D72 strb r1, [r0] - ldr r2, _08012728 @ =gUnknown_2023E8A + ldr r2, _08012728 @ =gBattleOutcome strb r1, [r2] ldr r0, _0801272C @ =gUnknown_2023BC8 str r1, [r0] @@ -5194,7 +5194,7 @@ _08012718: .4byte 0x00010002 _0801271C: .4byte gSaveBlock2Ptr _08012720: .4byte gBattleScripting _08012724: .4byte gUnknown_2023D72 -_08012728: .4byte gUnknown_2023E8A +_08012728: .4byte gBattleOutcome _0801272C: .4byte gUnknown_2023BC8 _08012730: .4byte gUnknown_2023E7E _08012734: .4byte gUnknown_2023E82 @@ -7783,7 +7783,7 @@ sub_8013BD4: @ 8013BD4 push {r5-r7} movs r0, 0x1 bl TurnValuesCleanUp - ldr r0, _08013C78 @ =gUnknown_2023E8A + ldr r0, _08013C78 @ =gBattleOutcome ldrb r0, [r0] cmp r0, 0 bne _08013C04 @@ -7844,7 +7844,7 @@ _08013C58: subs r0, 0x1 cmp r0, r1 bge _08013C58 - ldr r0, _08013C78 @ =gUnknown_2023E8A + ldr r0, _08013C78 @ =gBattleOutcome ldrb r0, [r0] cmp r0, 0 beq _08013CB0 @@ -7856,7 +7856,7 @@ _08013C58: str r0, [r1] b _08013D20 .align 2, 0 -_08013C78: .4byte gUnknown_2023E8A +_08013C78: .4byte gBattleOutcome _08013C7C: .4byte gBattleStruct _08013C80: .4byte gUnknown_2023DD0 _08013C84: .4byte 0xfffffdff @@ -10971,7 +10971,7 @@ _080155C4: .4byte gBattleResources thumb_func_start RunTurnActionsFunctions RunTurnActionsFunctions: @ 80155C8 push {r4-r6,lr} - ldr r6, _0801561C @ =gUnknown_2023E8A + ldr r6, _0801561C @ =gBattleOutcome ldrb r0, [r6] ldr r2, _08015620 @ =gUnknown_2023BE3 cmp r0, 0 @@ -11012,7 +11012,7 @@ _080155D8: str r0, [r3] b _0801565C .align 2, 0 -_0801561C: .4byte gUnknown_2023E8A +_0801561C: .4byte gBattleOutcome _08015620: .4byte gUnknown_2023BE3 _08015624: .4byte gBattleStruct _08015628: .4byte gUnknown_2023BE2 @@ -11058,7 +11058,7 @@ sub_8015670: @ 8015670 cmp r0, 0 beq _080156C4 ldr r1, _080156B0 @ =gBattleTextBuff1 - ldr r4, _080156B4 @ =gUnknown_2023E8A + ldr r4, _080156B4 @ =gBattleOutcome ldrb r0, [r4] strb r0, [r1] movs r0, 0 @@ -11077,7 +11077,7 @@ sub_8015670: @ 8015670 _080156A8: .4byte gUnknown_2023BE3 _080156AC: .4byte gBattleTypeFlags _080156B0: .4byte gBattleTextBuff1 -_080156B4: .4byte gUnknown_2023E8A +_080156B4: .4byte gBattleOutcome _080156B8: .4byte sBattler_AI _080156BC: .4byte gUnknown_2023D74 _080156C0: .4byte gUnknown_81D88CC @@ -11181,7 +11181,7 @@ sub_801578C: @ 801578C cmp r0, 0 beq _080157E0 ldr r1, _080157CC @ =gBattleTextBuff1 - ldr r4, _080157D0 @ =gUnknown_2023E8A + ldr r4, _080157D0 @ =gBattleOutcome ldrb r0, [r4] strb r0, [r1] movs r0, 0 @@ -11200,7 +11200,7 @@ sub_801578C: @ 801578C _080157C4: .4byte gUnknown_2023BE3 _080157C8: .4byte gBattleTypeFlags _080157CC: .4byte gBattleTextBuff1 -_080157D0: .4byte gUnknown_2023E8A +_080157D0: .4byte gBattleOutcome _080157D4: .4byte sBattler_AI _080157D8: .4byte gUnknown_2023D74 _080157DC: .4byte gUnknown_81D88CC @@ -11496,7 +11496,7 @@ sub_8015A30: @ 8015A30 ldrb r0, [r0] cmp r0, 0 beq _08015A52 - ldr r0, _08015A60 @ =gUnknown_2023E8A + ldr r0, _08015A60 @ =gBattleOutcome ldrb r0, [r0] cmp r0, 0x1 beq _08015A6C @@ -11507,7 +11507,7 @@ _08015A52: .align 2, 0 _08015A58: .4byte gPaletteFade _08015A5C: .4byte gUnknown_3004FD4 -_08015A60: .4byte gUnknown_2023E8A +_08015A60: .4byte gBattleOutcome _08015A64: .4byte gUnknown_3004F84 _08015A68: .4byte ReturnFromBattleToOverworld _08015A6C: @@ -11653,7 +11653,7 @@ _08015B74: bne _08015BD4 _08015B86: ldr r1, _08015BE8 @ =gSpecialVar_Result - ldr r5, _08015BEC @ =gUnknown_2023E8A + ldr r5, _08015BEC @ =gBattleOutcome ldrb r0, [r5] strh r0, [r1] ldr r3, _08015BF0 @ =gMain @@ -11698,7 +11698,7 @@ _08015BDC: .4byte gBattleTypeFlags _08015BE0: .4byte gPlayerParty _08015BE4: .4byte gReceivedRemoteLinkPlayers _08015BE8: .4byte gSpecialVar_Result -_08015BEC: .4byte gUnknown_2023E8A +_08015BEC: .4byte gBattleOutcome _08015BF0: .4byte gMain _08015BF4: .4byte 0x00000439 _08015BF8: .4byte gUnknown_3004F80 @@ -13212,7 +13212,7 @@ _0801687A: ldr r0, _0801689C @ =gBattlersCount ldrb r0, [r0] strb r0, [r1] - ldr r1, _080168A0 @ =gUnknown_2023E8A + ldr r1, _080168A0 @ =gBattleOutcome movs r0, 0x4 strb r0, [r1] _0801688C: @@ -13224,7 +13224,7 @@ _0801688C: _08016894: .4byte gBattleStruct _08016898: .4byte gUnknown_2023BE2 _0801689C: .4byte gBattlersCount -_080168A0: .4byte gUnknown_2023E8A +_080168A0: .4byte gBattleOutcome thumb_func_end sub_8016748 thumb_func_start sub_80168A4 @@ -13254,7 +13254,7 @@ sub_80168A4: @ 80168A4 beq _08016938 adds r4, r2, 0 ldr r6, _0801690C @ =gUnknown_2023D7C - ldr r5, _08016910 @ =gUnknown_2023E8A + ldr r5, _08016910 @ =gBattleOutcome _080168D8: ldrb r0, [r4] bl GetBattlerSide @@ -13277,7 +13277,7 @@ _08016900: .4byte gBattleTypeFlags _08016904: .4byte gBattlersCount _08016908: .4byte gActiveBattler _0801690C: .4byte gUnknown_2023D7C -_08016910: .4byte gUnknown_2023E8A +_08016910: .4byte gBattleOutcome _08016914: ldrb r0, [r4] adds r0, r6 @@ -13300,7 +13300,7 @@ _08016926: cmp r0, r1 bcc _080168D8 _08016938: - ldr r0, _08016948 @ =gUnknown_2023E8A + ldr r0, _08016948 @ =gBattleOutcome ldrb r1, [r0] movs r2, 0x80 orrs r1, r2 @@ -13308,7 +13308,7 @@ _08016938: b _080169D8 .align 2, 0 _08016944: .4byte gBattlersCount -_08016948: .4byte gUnknown_2023E8A +_08016948: .4byte gBattleOutcome _0801694C: ldrb r0, [r4] bl GetBattlerSide @@ -13368,7 +13368,7 @@ _080169CC: ldr r0, _080169E0 @ =gBattlersCount ldrb r0, [r0] strb r0, [r5] - ldr r1, _080169E4 @ =gUnknown_2023E8A + ldr r1, _080169E4 @ =gBattleOutcome movs r0, 0x6 _080169D6: strb r0, [r1] @@ -13378,7 +13378,7 @@ _080169D8: bx r0 .align 2, 0 _080169E0: .4byte gBattlersCount -_080169E4: .4byte gUnknown_2023E8A +_080169E4: .4byte gBattleOutcome thumb_func_end sub_80168A4 thumb_func_start sub_80169E8 @@ -13690,7 +13690,7 @@ HandleAction_SafriZoneRun: @ 8016C60 ldr r0, _08016C94 @ =gBattlersCount ldrb r0, [r0] strb r0, [r4] - ldr r1, _08016C98 @ =gUnknown_2023E8A + ldr r1, _08016C98 @ =gBattleOutcome movs r0, 0x4 strb r0, [r1] pop {r4} @@ -13701,7 +13701,7 @@ _08016C88: .4byte sBattler_AI _08016C8C: .4byte gUnknown_2023BDE _08016C90: .4byte gUnknown_2023BE2 _08016C94: .4byte gBattlersCount -_08016C98: .4byte gUnknown_2023E8A +_08016C98: .4byte gBattleOutcome thumb_func_end HandleAction_SafriZoneRun thumb_func_start HandleAction_Action9 diff --git a/asm/battle_controller_link_opponent.s b/asm/battle_controller_link_opponent.s index a03003f30..873fa088c 100644 --- a/asm/battle_controller_link_opponent.s +++ b/asm/battle_controller_link_opponent.s @@ -6218,15 +6218,15 @@ RecordedOpponentHandleCmd55: @ 803D914 ldrb r2, [r0] cmp r2, 0x3 bne _0803D93C - ldr r0, _0803D938 @ =gUnknown_2023E8A + ldr r0, _0803D938 @ =gBattleOutcome strb r2, [r0] b _0803D944 .align 2, 0 _0803D930: .4byte gUnknown_2022BC4 _0803D934: .4byte gActiveBattler -_0803D938: .4byte gUnknown_2023E8A +_0803D938: .4byte gBattleOutcome _0803D93C: - ldr r0, _0803D968 @ =gUnknown_2023E8A + ldr r0, _0803D968 @ =gBattleOutcome movs r1, 0x3 eors r1, r2 strb r1, [r0] @@ -6246,7 +6246,7 @@ _0803D944: pop {r0} bx r0 .align 2, 0 -_0803D968: .4byte gUnknown_2023E8A +_0803D968: .4byte gBattleOutcome _0803D96C: .4byte gUnknown_3004FE0 _0803D970: .4byte gActiveBattler _0803D974: .4byte sub_802F6A8 diff --git a/asm/battle_controller_link_partner.s b/asm/battle_controller_link_partner.s index f47740d91..8da94bdce 100644 --- a/asm/battle_controller_link_partner.s +++ b/asm/battle_controller_link_partner.s @@ -5890,7 +5890,7 @@ sub_80D7218: @ 80D7218 thumb_func_start LinkPartnerHandlecmd55 LinkPartnerHandlecmd55: @ 80D7224 push {r4,lr} - ldr r2, _080D725C @ =gUnknown_2023E8A + ldr r2, _080D725C @ =gBattleOutcome ldr r1, _080D7260 @ =gUnknown_2022BC4 ldr r4, _080D7264 @ =gActiveBattler ldrb r0, [r4] @@ -5914,7 +5914,7 @@ LinkPartnerHandlecmd55: @ 80D7224 pop {r0} bx r0 .align 2, 0 -_080D725C: .4byte gUnknown_2023E8A +_080D725C: .4byte gBattleOutcome _080D7260: .4byte gUnknown_2022BC4 _080D7264: .4byte gActiveBattler _080D7268: .4byte gUnknown_3004FE0 diff --git a/asm/battle_controller_oak.s b/asm/battle_controller_oak.s index abc839dce..9f878733e 100644 --- a/asm/battle_controller_oak.s +++ b/asm/battle_controller_oak.s @@ -7435,7 +7435,7 @@ sub_80EB274: @ 80EB274 thumb_func_start sub_80EB280 sub_80EB280: @ 80EB280 push {r4,lr} - ldr r2, _080EB2C4 @ =gUnknown_2023E8A + ldr r2, _080EB2C4 @ =gBattleOutcome ldr r1, _080EB2C8 @ =gUnknown_2022BC4 ldr r4, _080EB2CC @ =gActiveBattler ldrb r0, [r4] @@ -7466,7 +7466,7 @@ _080EB2BC: pop {r0} bx r0 .align 2, 0 -_080EB2C4: .4byte gUnknown_2023E8A +_080EB2C4: .4byte gBattleOutcome _080EB2C8: .4byte gUnknown_2022BC4 _080EB2CC: .4byte gActiveBattler _080EB2D0: .4byte gBattleTypeFlags diff --git a/asm/battle_controller_player.s b/asm/battle_controller_player.s index 75754d645..2a2419a7b 100644 --- a/asm/battle_controller_player.s +++ b/asm/battle_controller_player.s @@ -10671,7 +10671,7 @@ _08033A74: .4byte gUnknown_2023FFC thumb_func_start PlayerHandlecmd55 PlayerHandlecmd55: @ 8033A78 push {r4,lr} - ldr r2, _08033AB0 @ =gUnknown_2023E8A + ldr r2, _08033AB0 @ =gBattleOutcome ldr r1, _08033AB4 @ =gUnknown_2022BC4 ldr r4, _08033AB8 @ =gActiveBattler ldrb r0, [r4] @@ -10695,7 +10695,7 @@ PlayerHandlecmd55: @ 8033A78 pop {r0} bx r0 .align 2, 0 -_08033AB0: .4byte gUnknown_2023E8A +_08033AB0: .4byte gBattleOutcome _08033AB4: .4byte gUnknown_2022BC4 _08033AB8: .4byte gActiveBattler _08033ABC: .4byte gUnknown_3004FE0 diff --git a/asm/battle_controller_pokedude.s b/asm/battle_controller_pokedude.s index 2629a8544..23b4a23e8 100644 --- a/asm/battle_controller_pokedude.s +++ b/asm/battle_controller_pokedude.s @@ -6700,7 +6700,7 @@ sub_81597B8: @ 81597B8 thumb_func_start sub_81597C4 sub_81597C4: @ 81597C4 push {r4,lr} - ldr r2, _08159808 @ =gUnknown_2023E8A + ldr r2, _08159808 @ =gBattleOutcome ldr r1, _0815980C @ =gUnknown_2022BC4 ldr r4, _08159810 @ =gActiveBattler ldrb r0, [r4] @@ -6731,7 +6731,7 @@ _08159800: pop {r0} bx r0 .align 2, 0 -_08159808: .4byte gUnknown_2023E8A +_08159808: .4byte gBattleOutcome _0815980C: .4byte gUnknown_2022BC4 _08159810: .4byte gActiveBattler _08159814: .4byte gBattleTypeFlags diff --git a/asm/battle_controller_safari.s b/asm/battle_controller_safari.s index b0f53b7d9..9e01ad2fd 100644 --- a/asm/battle_controller_safari.s +++ b/asm/battle_controller_safari.s @@ -1487,7 +1487,7 @@ sub_80DE048: @ 80DE048 thumb_func_start SafariHandleCmd55 SafariHandleCmd55: @ 80DE054 push {r4,lr} - ldr r2, _080DE098 @ =gUnknown_2023E8A + ldr r2, _080DE098 @ =gBattleOutcome ldr r1, _080DE09C @ =gUnknown_2022BC4 ldr r4, _080DE0A0 @ =gActiveBattler ldrb r0, [r4] @@ -1518,7 +1518,7 @@ _080DE090: pop {r0} bx r0 .align 2, 0 -_080DE098: .4byte gUnknown_2023E8A +_080DE098: .4byte gBattleOutcome _080DE09C: .4byte gUnknown_2022BC4 _080DE0A0: .4byte gActiveBattler _080DE0A4: .4byte gBattleTypeFlags diff --git a/asm/battle_controllers.s b/asm/battle_controllers.s index 5d0921323..5337929a1 100644 --- a/asm/battle_controllers.s +++ b/asm/battle_controllers.s @@ -2176,7 +2176,7 @@ EmitPrintString: @ 800E2D4 ldr r2, _0800E3B4 @ =gUnknown_2022874 movs r0, 0x10 strb r0, [r2] - ldr r0, _0800E3B8 @ =gUnknown_2023E8A + ldr r0, _0800E3B8 @ =gBattleOutcome ldrb r0, [r0] strb r0, [r2, 0x1] strb r1, [r2, 0x2] @@ -2277,7 +2277,7 @@ _0800E378: bx r0 .align 2, 0 _0800E3B4: .4byte gUnknown_2022874 -_0800E3B8: .4byte gUnknown_2023E8A +_0800E3B8: .4byte gBattleOutcome _0800E3BC: .4byte gCurrentMove _0800E3C0: .4byte gUnknown_2023D4C _0800E3C4: .4byte gUnknown_2023D68 diff --git a/asm/battle_records.s b/asm/battle_records.s index 2dce41cf8..e48a0025e 100644 --- a/asm/battle_records.s +++ b/asm/battle_records.s @@ -925,7 +925,7 @@ _080CD94C: .4byte 0x0000270f sub_80CD950: @ 80CD950 push {r4,lr} adds r4, r0, 0 - ldr r0, _080CD964 @ =gUnknown_2023E8A + ldr r0, _080CD964 @ =gBattleOutcome ldrb r0, [r0] cmp r0, 0x1 beq _080CD968 @@ -933,7 +933,7 @@ sub_80CD950: @ 80CD950 beq _080CD976 b _080CD984 .align 2, 0 -_080CD964: .4byte gUnknown_2023E8A +_080CD964: .4byte gBattleOutcome _080CD968: eors r0, r4 bl sub_80CD8F8 @@ -978,7 +978,7 @@ sub_80CD98C: @ 80CD98C subs r3, 0x30 adds r2, r3 ldrh r2, [r2, 0xE] - ldr r3, _080CD9EC @ =gUnknown_2023E8A + ldr r3, _080CD9EC @ =gBattleOutcome ldrb r3, [r3] ldr r5, _080CD9F0 @ =gLinkPlayers lsls r4, r6, 3 @@ -998,7 +998,7 @@ _080CD9DC: .4byte gSaveBlock1Ptr _080CD9E0: .4byte gSaveBlock2Ptr _080CD9E4: .4byte 0x00000a98 _080CD9E8: .4byte gUnknown_2039654 -_080CD9EC: .4byte gUnknown_2023E8A +_080CD9EC: .4byte gBattleOutcome _080CD9F0: .4byte gLinkPlayers thumb_func_end sub_80CD98C diff --git a/asm/battle_script_commands.s b/asm/battle_script_commands.s index 9c69714cb..60b06f8a6 100644 --- a/asm/battle_script_commands.s +++ b/asm/battle_script_commands.s @@ -12,7 +12,7 @@ atk00_attackcanceler: @ 801D760 mov r6, r8 push {r6,r7} sub sp, 0x4 - ldr r0, _0801D77C @ =gUnknown_2023E8A + ldr r0, _0801D77C @ =gBattleOutcome ldrb r0, [r0] cmp r0, 0 beq _0801D784 @@ -21,7 +21,7 @@ atk00_attackcanceler: @ 801D760 strb r0, [r1] b _0801DAFC .align 2, 0 -_0801D77C: .4byte gUnknown_2023E8A +_0801D77C: .4byte gBattleOutcome _0801D780: .4byte gUnknown_2023BE3 _0801D784: ldr r2, _0801D7B4 @ =gBattleMons @@ -9519,7 +9519,7 @@ _0802243C: ble _0802240C cmp r6, 0 bne _08022450 - ldr r0, _0802253C @ =gUnknown_2023E8A + ldr r0, _0802253C @ =gBattleOutcome ldrb r1, [r0] movs r2, 0x2 orrs r1, r2 @@ -9553,7 +9553,7 @@ _08022484: adds r5, 0x1 cmp r5, 0x5 ble _08022454 - ldr r2, _0802253C @ =gUnknown_2023E8A + ldr r2, _0802253C @ =gBattleOutcome cmp r6, 0 bne _08022498 ldrb r0, [r2] @@ -9647,7 +9647,7 @@ _0802251E: .align 2, 0 _08022534: .4byte gUnknown_2023BC8 _08022538: .4byte gPlayerParty -_0802253C: .4byte gUnknown_2023E8A +_0802253C: .4byte gBattleOutcome _08022540: .4byte gEnemyParty _08022544: .4byte gBattleTypeFlags _08022548: .4byte gBattlersCount @@ -15311,7 +15311,7 @@ atk57: @ 80251C4 bl GetBattlerAtPosition ldr r4, _080251F0 @ =gActiveBattler strb r0, [r4] - ldr r0, _080251F4 @ =gUnknown_2023E8A + ldr r0, _080251F4 @ =gBattleOutcome ldrb r1, [r0] movs r0, 0 bl EmitCmd55 @@ -15326,7 +15326,7 @@ atk57: @ 80251C4 bx r0 .align 2, 0 _080251F0: .4byte gActiveBattler -_080251F4: .4byte gUnknown_2023E8A +_080251F4: .4byte gBattleOutcome _080251F8: .4byte gUnknown_2023D74 thumb_func_end atk57 @@ -16141,7 +16141,7 @@ sub_80258AC: @ 80258AC push {r7} movs r6, 0 movs r5, 0 - ldr r0, _080258F0 @ =gUnknown_2023E8A + ldr r0, _080258F0 @ =gBattleOutcome ldrb r0, [r0] cmp r0, 0x1 beq _080258C0 @@ -16171,7 +16171,7 @@ _080258C0: mov r8, r0 b _080259E8 .align 2, 0 -_080258F0: .4byte gUnknown_2023E8A +_080258F0: .4byte gBattleOutcome _080258F4: .4byte gTrainerBattleOpponent_A _080258F8: .4byte gBattleResources _080258FC: .4byte gBattleStruct diff --git a/asm/battle_setup.s b/asm/battle_setup.s index f4e1fdf0a..146e4a3c9 100644 --- a/asm/battle_setup.s +++ b/asm/battle_setup.s @@ -623,7 +623,7 @@ sub_807FB40: @ 807FB40 movs r0, 0 movs r1, 0x80 bl ResetOamRange - ldr r0, _0807FB78 @ =gUnknown_2023E8A + ldr r0, _0807FB78 @ =gBattleOutcome ldrb r0, [r0] bl IsPlayerDefeated cmp r0, 0x1 @@ -633,7 +633,7 @@ sub_807FB40: @ 807FB40 b _0807FB8C .align 2, 0 _0807FB74: .4byte 0x01000100 -_0807FB78: .4byte gUnknown_2023E8A +_0807FB78: .4byte gBattleOutcome _0807FB7C: .4byte c2_whiteout _0807FB80: ldr r0, _0807FB94 @ =CB2_ReturnToField @@ -666,7 +666,7 @@ sub_807FBA0: @ 807FBA0 movs r0, 0 movs r1, 0x80 bl ResetOamRange - ldr r0, _0807FBD8 @ =gUnknown_2023E8A + ldr r0, _0807FBD8 @ =gBattleOutcome ldrb r0, [r0] bl IsPlayerDefeated cmp r0, 0x1 @@ -676,7 +676,7 @@ sub_807FBA0: @ 807FBA0 b _0807FBE6 .align 2, 0 _0807FBD4: .4byte 0x01000100 -_0807FBD8: .4byte gUnknown_2023E8A +_0807FBD8: .4byte gBattleOutcome _0807FBDC: .4byte c2_whiteout _0807FBE0: ldr r0, _0807FBEC @ =c2_exit_to_overworld_1_continue_scripts_restart_music @@ -704,7 +704,7 @@ sub_807FBF0: @ 807FBF0 movs r0, 0 movs r1, 0x80 bl ResetOamRange - ldr r4, _0807FC28 @ =gUnknown_2023E8A + ldr r4, _0807FC28 @ =gBattleOutcome ldrb r0, [r4] bl IsPlayerDefeated adds r1, r0, 0 @@ -715,7 +715,7 @@ sub_807FBF0: @ 807FBF0 b _0807FC4C .align 2, 0 _0807FC24: .4byte 0x01000100 -_0807FC28: .4byte gUnknown_2023E8A +_0807FC28: .4byte gBattleOutcome _0807FC2C: .4byte c2_whiteout _0807FC30: ldrb r0, [r4] @@ -1853,7 +1853,7 @@ sub_80804AC: @ 80804AC ldrh r0, [r0] cmp r0, 0x9 bne _08080508 - ldr r0, _080804DC @ =gUnknown_2023E8A + ldr r0, _080804DC @ =gBattleOutcome ldrb r0, [r0] bl IsPlayerDefeated adds r1, r0, 0 @@ -1870,7 +1870,7 @@ sub_80804AC: @ 80804AC b _080804EE .align 2, 0 _080804D8: .4byte gUnknown_20386AC -_080804DC: .4byte gUnknown_2023E8A +_080804DC: .4byte gBattleOutcome _080804E0: .4byte gSpecialVar_Result _080804E4: .4byte gUnknown_20386CC _080804E8: @@ -1900,7 +1900,7 @@ _08080508: _0808051C: .4byte gTrainerBattleOpponent_A _08080520: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music _08080524: - ldr r0, _08080538 @ =gUnknown_2023E8A + ldr r0, _08080538 @ =gBattleOutcome ldrb r0, [r0] bl IsPlayerDefeated cmp r0, 0x1 @@ -1910,7 +1910,7 @@ _08080530: bl SetMainCallback2 b _0808054E .align 2, 0 -_08080538: .4byte gUnknown_2023E8A +_08080538: .4byte gBattleOutcome _0808053C: .4byte c2_whiteout _08080540: ldr r0, _08080554 @ =c2_exit_to_overworld_1_continue_scripts_restart_music @@ -1940,7 +1940,7 @@ sub_8080558: @ 8080558 _08080570: .4byte gTrainerBattleOpponent_A _08080574: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music _08080578: - ldr r0, _0808058C @ =gUnknown_2023E8A + ldr r0, _0808058C @ =gBattleOutcome ldrb r0, [r0] bl IsPlayerDefeated cmp r0, 0x1 @@ -1949,7 +1949,7 @@ _08080578: bl SetMainCallback2 b _080805A6 .align 2, 0 -_0808058C: .4byte gUnknown_2023E8A +_0808058C: .4byte gBattleOutcome _08080590: .4byte c2_whiteout _08080594: ldr r0, _080805AC @ =c2_exit_to_overworld_1_continue_scripts_restart_music diff --git a/asm/battle_tower.s b/asm/battle_tower.s index 0f268a320..503a6343e 100644 --- a/asm/battle_tower.s +++ b/asm/battle_tower.s @@ -2894,7 +2894,7 @@ _080E6FF2: bl sub_80E712C ldr r4, _080E703C @ =gSaveBlock2Ptr ldr r0, [r4] - ldr r1, _080E704C @ =gUnknown_2023E8A + ldr r1, _080E704C @ =gBattleOutcome ldrb r1, [r1] ldr r2, _080E7050 @ =0x0000055d adds r0, r2 @@ -2930,7 +2930,7 @@ _080E703C: .4byte gSaveBlock2Ptr _080E7040: .4byte 0x0000055c _080E7044: .4byte gSpecialVar_0x8004 _080E7048: .4byte 0x00000564 -_080E704C: .4byte gUnknown_2023E8A +_080E704C: .4byte gBattleOutcome _080E7050: .4byte 0x0000055d _080E7054: .4byte 0x0000055e thumb_func_end sub_80E6FB8 @@ -3612,7 +3612,7 @@ _080E754C: .4byte gSaveBlock2Ptr thumb_func_start sub_80E7550 sub_80E7550: @ 80E7550 push {lr} - ldr r0, _080E7564 @ =gUnknown_2023E8A + ldr r0, _080E7564 @ =gBattleOutcome ldrb r0, [r0] cmp r0, 0x3 bne _080E756C @@ -3621,7 +3621,7 @@ sub_80E7550: @ 80E7550 strb r0, [r1] b _080E7590 .align 2, 0 -_080E7564: .4byte gUnknown_2023E8A +_080E7564: .4byte gBattleOutcome _080E7568: .4byte gStringVar4 _080E756C: cmp r0, 0x1 diff --git a/asm/cable_club.s b/asm/cable_club.s index 91ddde46d..b9b3a595c 100644 --- a/asm/cable_club.s +++ b/asm/cable_club.s @@ -1940,7 +1940,7 @@ sub_8081668: @ 8081668 ldrb r0, [r0] cmp r0, 0 beq _0808170A - ldr r0, _080816C4 @ =gUnknown_2023E8A + ldr r0, _080816C4 @ =gBattleOutcome ldrb r0, [r0] cmp r0, 0x1 beq _080816C8 @@ -1953,7 +1953,7 @@ _080816B4: .4byte 0x0000ffdf _080816B8: .4byte gSpecialVar_0x8004 _080816BC: .4byte gUnknown_300502C _080816C0: .4byte gWirelessCommType -_080816C4: .4byte gUnknown_2023E8A +_080816C4: .4byte gBattleOutcome _080816C8: ldr r4, _080816E8 @ =gLinkPlayers bl GetMultiplayerId diff --git a/asm/field_specials.s b/asm/field_specials.s index 7a0221941..a6f97e9df 100644 --- a/asm/field_specials.s +++ b/asm/field_specials.s @@ -178,11 +178,11 @@ _080CA748: .4byte gUnknown_8417FCC thumb_func_start sub_80CA74C sub_80CA74C: @ 80CA74C - ldr r0, _080CA754 @ =gUnknown_2023E8A + ldr r0, _080CA754 @ =gBattleOutcome ldrb r0, [r0] bx lr .align 2, 0 -_080CA754: .4byte gUnknown_2023E8A +_080CA754: .4byte gBattleOutcome thumb_func_end sub_80CA74C thumb_func_start sub_80CA758 diff --git a/asm/item_menu.s b/asm/item_menu.s index b3169cdc3..dd1fde957 100644 --- a/asm/item_menu.s +++ b/asm/item_menu.s @@ -6383,7 +6383,7 @@ sub_810B180: @ 810B180 _0810B198: .4byte gMain _0810B19C: bl sub_810AECC - bl sub_815AC20 + bl SetTeachyTvControllerModeToResume ldr r0, _0810B1C4 @ =gUnknown_203AD10 ldr r1, [r0] ldr r0, _0810B1C8 @ =CB2_ReturnToTeachyTV diff --git a/asm/item_use.s b/asm/item_use.s index 67da30cf6..517d849c0 100644 --- a/asm/item_use.s +++ b/asm/item_use.s @@ -1241,7 +1241,7 @@ sub_80A194C: @ 80A194C push {lr} ldr r1, _080A195C @ =UseFameCheckerFromMenu movs r0, 0 - bl sub_815ABC4 + bl InitTeachyTvController pop {r0} bx r0 .align 2, 0 @@ -1263,7 +1263,7 @@ sub_80A1960: @ 80A1960 bl sub_80A1184 ldr r1, _080A1994 @ =CB2_ReturnToField movs r0, 0 - bl sub_815ABC4 + bl InitTeachyTvController adds r0, r4, 0 bl DestroyTask _080A1988: diff --git a/asm/party_menu.s b/asm/party_menu.s index 2ce165ef2..b3ce0f3be 100644 --- a/asm/party_menu.s +++ b/asm/party_menu.s @@ -4878,7 +4878,7 @@ sub_8120FB0: @ 8120FB0 push {lr} bl FreeRestoreBattleData bl LoadPlayerParty - bl sub_815AC20 + bl SetTeachyTvControllerModeToResume ldr r0, _08120FC8 @ =CB2_ReturnToTeachyTV bl SetMainCallback2 pop {r0} diff --git a/asm/safari_zone.s b/asm/safari_zone.s index 48103dc9c..4bc9d6eb7 100644 --- a/asm/safari_zone.s +++ b/asm/safari_zone.s @@ -129,7 +129,7 @@ sub_80A0F4C: @ 80A0F4C _080A0F60: .4byte gUnknown_2039994 _080A0F64: .4byte CB2_ReturnToField _080A0F68: - ldr r0, _080A0F88 @ =gUnknown_2023E8A + ldr r0, _080A0F88 @ =gBattleOutcome ldrb r0, [r0] cmp r0, 0x8 bne _080A0F9C @@ -143,7 +143,7 @@ _080A0F68: bl SetMainCallback2 b _080A0FB0 .align 2, 0 -_080A0F88: .4byte gUnknown_2023E8A +_080A0F88: .4byte gBattleOutcome _080A0F8C: .4byte gUnknown_81BFB87 _080A0F90: .4byte gFieldCallback _080A0F94: .4byte sub_807E3EC diff --git a/data/text/teachy_tv.inc b/data/text/teachy_tv.inc index 633be347d..3989aa5d1 100644 --- a/data/text/teachy_tv.inc +++ b/data/text/teachy_tv.inc @@ -1,25 +1,25 @@ -gUnknown_841B7A4:: @ 841B7A4 +gTeachyTvString_TeachBattle:: @ 841B7A4 .string "Teach me how to battle.$" -gUnknown_841B7BC:: @ 841B7BC +gTeachyTvString_StatusProblems:: @ 841B7BC .string "What are status problems?$" -gUnknown_841B7D6:: @ 841B7D6 +gTeachyTvString_TypeMatchups:: @ 841B7D6 .string "What are type matchups?$" -gUnknown_841B7EE:: @ 841B7EE +gTeachyTvString_CatchPkmn:: @ 841B7EE .string "I want to catch POKéMON.$" -gUnknown_841B807:: @ 841B807 +gTeachyTvString_AboutTMs:: @ 841B807 .string "Teach me about TMs.$" -gUnknown_841B81B:: @ 841B81B +gTeachyTvString_RegisterItem:: @ 841B81B .string "How do I register an item?$" -gUnknown_841B836:: @ 841B836 +gTeachyTvString_Cancel:: @ 841B836 .string "CANCEL$" -gUnknown_841B83D:: @ 841B83D +gTeachyTvText_PokeDudeSaysHello:: @ 841B83D .string "Hey, all you TRAINERS out there!\n" .string "HELLO, TRAINERS!\p" .string "……… ……… ………\p" @@ -28,7 +28,7 @@ gUnknown_841B83D:: @ 841B83D .string "It's me, the POKé DUDE!\p" .string "$" -gUnknown_841B8BF:: @ 841B8BF +gTeachyTvText_BattleScript1:: @ 841B8BF .string "Today, the POKé DUDE's here to\n" .string "tell you about how you can battle\l" .string "POKéMON!\p" @@ -44,7 +44,7 @@ gUnknown_841B8BF:: @ 841B8BF .string "Keep your eyes glued to the super\n" .string "POKé DUDE SHOW!$" -gUnknown_841BA41:: @ 841BA41 +gTeachyTvText_BattleScript2:: @ 841BA41 .string "Well, did you get that?\p" .string "Even if your own POKéMON's HP\n" .string "falls to zero, and it becomes\l" @@ -55,7 +55,7 @@ gUnknown_841BA41:: @ 841BA41 .string "Remember, TRAINERS, a good deed\n" .string "a day brings happiness to stay!$" -gUnknown_841BB40:: @ 841BB40 +gTeachyTvText_StatusScript1:: @ 841BB40 .string "Today, the POKé DUDE's here to\n" .string "tell you about status problems!\p" .string "Status problems include poisoning,\n" @@ -73,7 +73,7 @@ gUnknown_841BB40:: @ 841BB40 .string "Keep your eyes glued to the super\n" .string "POKé DUDE SHOW!$" -gUnknown_841BD10:: @ 841BD10 +gTeachyTvText_StatusScript2:: @ 841BD10 .string "Poisoning or paralysis don't go\n" .string "away after a battle.\p" .string "If a POKéMON is poisoned, it loses\n" @@ -87,7 +87,7 @@ gUnknown_841BD10:: @ 841BD10 .string "Remember, TRAINERS, a good deed\n" .string "a day brings happiness to stay!$" -gUnknown_841BE76:: @ 841BE76 +gTeachyTvText_MatchupsScript1:: @ 841BE76 .string "Does everyone know about type\n" .string "matchups?\p" .string "POKéMON and their moves all\n" @@ -110,7 +110,7 @@ gUnknown_841BE76:: @ 841BE76 .string "Keep your eyes glued to the super\n" .string "POKé DUDE SHOW!$" -gUnknown_841C0AF:: @ 841C0AF +gTeachyTvText_MatchupsScript2:: @ 841C0AF .string "Is it possible to launch an attack\n" .string "that will inflict heavy damage?\p" .string "Does the opposing POKéMON pose\n" @@ -126,7 +126,7 @@ gUnknown_841C0AF:: @ 841C0AF .string "Remember, a good deed a day\n" .string "brings happiness to stay!$" -gUnknown_841C23B:: @ 841C23B +gTeachyTvText_CatchingScript1:: @ 841C23B .string "Today, the POKé DUDE's going to\n" .string "show you how to catch POKéMON!\p" .string "Just imagine… A groovy POKéMON\n" @@ -141,7 +141,7 @@ gUnknown_841C23B:: @ 841C23B .string "Keep your eyes glued to the super\n" .string "POKé DUDE SHOW!$" -gUnknown_841C384:: @ 841C384 +gTeachyTvText_CatchingScript2:: @ 841C384 .string "If your first POKé BALL fails to\n" .string "catch the POKéMON, don't give up!\p" .string "Keep throwing POKé BALLS…\n" @@ -150,7 +150,7 @@ gUnknown_841C384:: @ 841C384 .string "Remember, TRAINERS, a good deed\n" .string "a day brings happiness to stay!$" -gUnknown_841C459:: @ 841C459 +gTeachyTvText_TMsScript1:: @ 841C459 .string "Hey, everyone!\n" .string "Do you all have TMs?\p" .string "A TM, Technical Machine, is an\n" @@ -187,13 +187,13 @@ gPokeDudeText_ReadTMDescription:: @ 841C693 .string "So, try using it on POKéMON with\n" .string "arms that can throw punches!$" -gUnknown_841C7B4:: @ 841C7B4 +gTeachyTvText_TMsScript2:: @ 841C7B4 .string "Wow, I talked a lot today!\n" .string "All righty, be seeing you!\p" .string "Remember, TRAINERS, a good deed\n" .string "a day brings happiness to stay!$" -gUnknown_841C82A:: @ 841C82A +gTeachyTvText_RegisterScript1:: @ 841C82A .string "A TRAINER's BAG has a bunch of\n" .string "nifty, convenient features!\p" .string "Take stuff in the KEY ITEMS\n" @@ -208,7 +208,7 @@ gUnknown_841C82A:: @ 841C82A .string "Keep your eyes glued to the sorta\n" .string "super POKé DUDE SHOW!$" -gUnknown_841C994:: @ 841C994 +gTeachyTvText_RegisterScript2:: @ 841C994 .string "And now, your TEACHY TV is\n" .string "registered.\p" .string "How do you use it?\n" diff --git a/include/battle.h b/include/battle.h index c86bc9232..2e6d251c3 100644 --- a/include/battle.h +++ b/include/battle.h @@ -983,6 +983,6 @@ extern u8 gBattlersCount; extern u16 gBattlerPartyIndexes[MAX_BATTLERS_COUNT]; extern s32 gBattleMoveDamage; -extern u8 gUnknown_2023E8A; +extern u8 gBattleOutcome; #endif // GUARD_BATTLE_H diff --git a/include/strings.h b/include/strings.h index 51aeb376a..edc5136f8 100644 --- a/include/strings.h +++ b/include/strings.h @@ -115,25 +115,25 @@ extern const u8 gPokeDudeText_TMTypes[]; extern const u8 gPokeDudeText_ReadTMDescription[]; // teachy_tv -extern const u8 gUnknown_841B7A4[]; -extern const u8 gUnknown_841B7BC[]; -extern const u8 gUnknown_841B7D6[]; -extern const u8 gUnknown_841B7EE[]; -extern const u8 gUnknown_841B807[]; -extern const u8 gUnknown_841B81B[]; -extern const u8 gUnknown_841B836[]; -extern const u8 gUnknown_841B83D[]; -extern const u8 gUnknown_841B8BF[]; -extern const u8 gUnknown_841BB40[]; -extern const u8 gUnknown_841BE76[]; -extern const u8 gUnknown_841C23B[]; -extern const u8 gUnknown_841C459[]; -extern const u8 gUnknown_841C82A[]; -extern const u8 gUnknown_841BA41[]; -extern const u8 gUnknown_841BD10[]; -extern const u8 gUnknown_841C0AF[]; -extern const u8 gUnknown_841C384[]; -extern const u8 gUnknown_841C7B4[]; -extern const u8 gUnknown_841C994[]; +extern const u8 gTeachyTvString_TeachBattle[]; +extern const u8 gTeachyTvString_StatusProblems[]; +extern const u8 gTeachyTvString_TypeMatchups[]; +extern const u8 gTeachyTvString_CatchPkmn[]; +extern const u8 gTeachyTvString_AboutTMs[]; +extern const u8 gTeachyTvString_RegisterItem[]; +extern const u8 gTeachyTvString_Cancel[]; +extern const u8 gTeachyTvText_PokeDudeSaysHello[]; +extern const u8 gTeachyTvText_BattleScript1[]; +extern const u8 gTeachyTvText_StatusScript1[]; +extern const u8 gTeachyTvText_MatchupsScript1[]; +extern const u8 gTeachyTvText_CatchingScript1[]; +extern const u8 gTeachyTvText_TMsScript1[]; +extern const u8 gTeachyTvText_RegisterScript1[]; +extern const u8 gTeachyTvText_BattleScript2[]; +extern const u8 gTeachyTvText_StatusScript2[]; +extern const u8 gTeachyTvText_MatchupsScript2[]; +extern const u8 gTeachyTvText_CatchingScript2[]; +extern const u8 gTeachyTvText_TMsScript2[]; +extern const u8 gTeachyTvText_RegisterScript2[]; #endif //GUARD_STRINGS_H diff --git a/include/teachy_tv.h b/include/teachy_tv.h index f3b9eb565..36bac6a67 100644 --- a/include/teachy_tv.h +++ b/include/teachy_tv.h @@ -1,8 +1,8 @@ #ifndef GUARD_TEACHY_TV_H #define GUARD_TEACHY_TV_H -void sub_815ABC4(u8 mode, void (*cb)()); +void InitTeachyTvController(u8 mode, void (*cb)()); void CB2_ReturnToTeachyTV(void); -void sub_815AC20(void); +void SetTeachyTvControllerModeToResume(void); #endif //GUARD_TEACHY_TV_H diff --git a/src/quest_log.c b/src/quest_log.c index 6299d285d..ed061a8b6 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -2746,7 +2746,7 @@ void sub_81134CC(struct Var4038Struct * a0) if (VarGet(VAR_MAP_SCENE_SAFFRON_CITY_POKEMON_TRAINER_FAN_CLUB) == 2) { sub_8113078(a0); - if (gUnknown_2023E8A == 1) + if (gBattleOutcome == B_OUTCOME_WON) sub_8113194(a0); else sub_81131FC(a0); diff --git a/src/quest_log_battle.c b/src/quest_log_battle.c index d4d1245ec..4a63042bf 100644 --- a/src/quest_log_battle.c +++ b/src/quest_log_battle.c @@ -26,7 +26,7 @@ void sub_812C334(s32 *, s32 *); void sub_812BFDC(void) { - if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_WALLY_TUTORIAL | BATTLE_TYPE_DOME)) && (gUnknown_2023E8A == 1 || gUnknown_2023E8A == 7)) + if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_WALLY_TUTORIAL | BATTLE_TYPE_DOME)) && (gBattleOutcome == B_OUTCOME_WON || gBattleOutcome == B_OUTCOME_CAUGHT)) { struct QuestLogStruct_TrainerBattleRecord * questLogTrainerBattleRecord = Alloc(sizeof(struct QuestLogStruct_TrainerBattleRecord)); struct QuestLogStruct_WildBattleRecord * questLogWildBattleRecord = Alloc(sizeof(struct QuestLogStruct_WildBattleRecord)); @@ -81,7 +81,7 @@ void sub_812BFDC(void) } else { - if (gUnknown_2023E8A == 1) + if (gBattleOutcome == B_OUTCOME_WON) { questLogWildBattleRecord->v0 = GetMonData(gEnemyParty + 0, MON_DATA_SPECIES); questLogWildBattleRecord->v2 = SPECIES_NONE; @@ -116,7 +116,7 @@ void sub_812C224(void) if (gBattleTypeFlags & BATTLE_TYPE_LINK) { struct QuestLogStruct_LinkBattleRecord * r5 = Alloc(sizeof(struct QuestLogStruct_LinkBattleRecord)); - r5->v0 = gUnknown_2023E8A - 1; + r5->v0 = gBattleOutcome - 1; // 0 = won, 1 = lost, 2 = drew if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { r8 = 15; diff --git a/src/teachy_tv.c b/src/teachy_tv.c index 1a144b0dd..f3ef96077 100644 --- a/src/teachy_tv.c +++ b/src/teachy_tv.c @@ -34,14 +34,23 @@ #include "fieldmap.h" #include "strings.h" +enum TeachyTvScript +{ + TTVSCR_BATTLE, + TTVSCR_STATUS, + TTVSCR_MATCHUPS, + TTVSCR_CATCHING, + TTVSCR_TMS, + TTVSCR_REGISTER +}; + struct TeachyTvCtrlBlk { MainCallback callback; u8 mode; - u8 optionChosen; + u8 whichScript; u16 scrollOffset; u16 selectedRow; - u16 filler; }; struct TeachyTvBuf @@ -51,196 +60,196 @@ struct TeachyTvBuf u16 buffer2[0x800]; u16 buffer3[0x800]; u16 buffer4[0x800]; - u8 var_4004; - u8 var_4005; - u8 var_4006; - u8 var_4007; + u8 grassAnimCounterLo; + u8 grassAnimCounterHi; + u8 grassAnimDisabled; + u8 scrollIndicatorArrowPairId; }; -EWRAM_DATA struct TeachyTvCtrlBlk gTeachyTV_StaticResources = {0}; -EWRAM_DATA struct TeachyTvBuf * gUnknown_203F450 = NULL; - -void TeachyTvClusFuncTransitionRenderBg2TeachyTvGraphicInitNpcPos(u8 taskId); -void TeachyTvClusFuncClearBg2TeachyTvGraphic(u8 taskId); -void TeachyTvClusFuncNpcMoveAndSetupTextPrinter(u8 taskId); -void TeachyTvClusFuncIdleIfTextPrinterIsActive(u8 taskId); -void TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen(u8 taskId); -void TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen2(u8 taskId); -void TeachyTvClusFuncIdleIfTextPrinterIsActive2(u8 taskId); -void TeachyTvClusFuncEraseTextWindowIfKeyPressed(u8 taskId); -void TeachyTvClusFuncStartAnimNpcWalkIntoGrass(u8 taskId); -void TeachyTvClusFuncDudeMoveUp(u8 taskId); -void TeachyTvClusFuncDudeMoveRight(u8 taskId); -void TeachyTvClusFuncDudeTurnLeft(u8 taskId); -void TeachyTvClusFuncDudeMoveLeft(u8 taskId); -void TeachyTvClusFuncRenderAndRemoveBg1EndGraphic(u8 taskId); -void TeachyTvClusFuncTaskBattleOrFadeByOptionChosen(u8 taskId); -void TeachyTvCallback(void); -void TeachyTvMainCallback(void); -void TeachyTvVblankHandler(void); -void TeachyTvCreateAndRenderRbox(void); -void TeachyTvInitIo(void); -u8 TeachyTvSetupObjEventAndOam(void); -void TeachyTvSetupPostBattleWindowAndObj(u8); -u8 TeachyTvSetupWindow(void); -void TeachyTvSetupScrollIndicatorArrowPair(void); -void TeachyTvSetWindowRegs(void); -void TeachyTvSetupBg(void); -void TeachyTvLoadGraphic(void); -void TeachyTvPostBattleFadeControl(u8); -void TeachyTvOptionListController(u8); -void TeachyTvAudioByInput(s32, bool8, struct ListMenu *); -void TeachyTvQuitFadeControlAndTaskDel(u8 taskId); -void TeachyTvRenderMsgAndSwitchClusterFuncs(u8 taskId); -void TeachyTvClearBg1EndGraphicText(void); -void TeachyTvBackToOptionList(u8 taskId); -void TeachyTvSetupBagItemsByOptionChosen(void); -void TeachyTvPrepBattle(u8 taskId); -void TeachyTvGrassAnimationMain(u8 taskId, s16 x, s16 y, u8 subpriority, bool8 mode); -void TeachyTvLoadBg3Map(u16 *); -u8 TeachyTvGrassAnimationCheckIfNeedsToGenerateGrassObj(s16 x, s16 y); -void TeachyTvGrassAnimationObjCallback(struct Sprite *sprite); -void TeachyTvRestorePlayerPartyCallback(void); -void TeachyTvPreBattleAnimAndSetBattleCallback(u8 taskId); -void TeachyTvLoadMapTilesetToBuffer(struct Tileset *ts, u8 *dstBuffer, u16 size); -void TeachyTvPushBackNewMapPalIndexArrayEntry(const struct MapData *mStruct, u16 *buf1, u8 *palIndexArray, u16 mapEntry, u16 offset); -void TeachyTvComputeMapTilesFromTilesetAndMetaTiles(u16 *metaTilesArray, u8 *blockBuf, u8 *tileset); -void TeachyTvComputeSingleMapTileBlockFromTilesetAndMetaTiles(u8 *blockBuf, u8 *tileset, u8 metaTile); -u16 TeachyTvComputePalIndexArrayEntryByMetaTile(u8 *palIndexArrayBuf, u16 metaTile); -void TeachyTvLoadMapPalette(const struct MapData * mStruct, const u8 *palIndexArray); - -const struct BgTemplate gTeachyTvBgTemplateArray[] = +static EWRAM_DATA struct TeachyTvCtrlBlk gTeachyTV_StaticResources = {0}; +static EWRAM_DATA struct TeachyTvBuf * sResources = NULL; + +static void TTVcmd_TransitionRenderBg2TeachyTvGraphicInitNpcPos(u8 taskId); +static void TTVcmd_ClearBg2TeachyTvGraphic(u8 taskId); +static void TTVcmd_NpcMoveAndSetupTextPrinter(u8 taskId); +static void TTVcmd_IdleIfTextPrinterIsActive(u8 taskId); +static void TTVcmd_TextPrinterSwitchStringByOptionChosen(u8 taskId); +static void TTVcmd_TextPrinterSwitchStringByOptionChosen2(u8 taskId); +static void TTVcmd_IdleIfTextPrinterIsActive2(u8 taskId); +static void TTVcmd_EraseTextWindowIfKeyPressed(u8 taskId); +static void TTVcmd_StartAnimNpcWalkIntoGrass(u8 taskId); +static void TTVcmd_DudeMoveUp(u8 taskId); +static void TTVcmd_DudeMoveRight(u8 taskId); +static void TTVcmd_DudeTurnLeft(u8 taskId); +static void TTVcmd_DudeMoveLeft(u8 taskId); +static void TTVcmd_RenderAndRemoveBg1EndGraphic(u8 taskId); +static void TTVcmd_TaskBattleOrFadeByOptionChosen(u8 taskId); +static void TeachyTvCallback(void); +static void TeachyTvMainCallback(void); +static void TeachyTvVblankHandler(void); +static void TeachyTvCreateAndRenderRbox(void); +static void TeachyTvInitIo(void); +static u8 TeachyTvSetupObjEventAndOam(void); +static void TeachyTvSetupPostBattleWindowAndObj(u8); +static u8 TeachyTvSetupWindow(void); +static void TeachyTvSetupScrollIndicatorArrowPair(void); +static void TeachyTvSetWindowRegs(void); +static void TeachyTvSetupBg(void); +static void TeachyTvLoadGraphic(void); +static void TeachyTvPostBattleFadeControl(u8); +static void TeachyTvOptionListController(u8); +static void TeachyTvAudioByInput(s32, bool8, struct ListMenu *); +static void TeachyTvQuitFadeControlAndTaskDel(u8 taskId); +static void TeachyTvRenderMsgAndSwitchClusterFuncs(u8 taskId); +static void TeachyTvClearBg1EndGraphicText(void); +static void TTVcmd_End(u8 taskId); +static void TeachyTvSetupBagItemsByOptionChosen(void); +static void TeachyTvPrepBattle(u8 taskId); +static void TeachyTvGrassAnimationMain(u8 taskId, s16 x, s16 y, u8 subpriority, bool8 mode); +static void TeachyTvLoadBg3Map(u16 *); +static u8 TeachyTvGrassAnimationCheckIfNeedsToGenerateGrassObj(s16 x, s16 y); +static void TeachyTvGrassAnimationObjCallback(struct Sprite *sprite); +static void TeachyTvRestorePlayerPartyCallback(void); +static void TeachyTvPreBattleAnimAndSetBattleCallback(u8 taskId); +static void TeachyTvLoadMapTilesetToBuffer(struct Tileset *ts, u8 *dstBuffer, u16 size); +static void TeachyTvPushBackNewMapPalIndexArrayEntry(const struct MapData *mStruct, u16 *buf1, u8 *palIndexArray, u16 mapEntry, u16 offset); +static void TeachyTvComputeMapTilesFromTilesetAndMetaTiles(u16 *metaTilesArray, u8 *blockBuf, u8 *tileset); +static void TeachyTvComputeSingleMapTileBlockFromTilesetAndMetaTiles(u8 *blockBuf, u8 *tileset, u8 metaTile); +static u16 TeachyTvComputePalIndexArrayEntryByMetaTile(u8 *palIndexArrayBuf, u16 metaTile); +static void TeachyTvLoadMapPalette(const struct MapData * mStruct, const u8 *palIndexArray); + +static const struct BgTemplate gTeachyTvBgTemplateArray[] = { { - .bg = 0x0, - .charBaseIndex = 0x0, - .mapBaseIndex = 0x1F, - .screenSize = 0x0, - .paletteMode = 0x0, - .priority = 0x1, - .baseTile = 0x0, + .bg = 0, + .charBaseIndex = 0, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 1, + .baseTile = 0x000, }, { - .bg = 0x1, - .charBaseIndex = 0x0, - .mapBaseIndex = 0x1E, - .screenSize = 0x0, - .paletteMode = 0x0, - .priority = 0x0, - .baseTile = 0x0, + .bg = 1, + .charBaseIndex = 0, + .mapBaseIndex = 30, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0x000, }, { - .bg = 0x2, - .charBaseIndex = 0x0, - .mapBaseIndex = 0x1D, - .screenSize = 0x0, - .paletteMode = 0x0, - .priority = 0x2, - .baseTile = 0x0, + .bg = 2, + .charBaseIndex = 0, + .mapBaseIndex = 29, + .screenSize = 0, + .paletteMode = 0, + .priority = 2, + .baseTile = 0x000, }, { - .bg = 0x3, - .charBaseIndex = 0x2, - .mapBaseIndex = 0x1C, - .screenSize = 0x0, - .paletteMode = 0x0, - .priority = 0x3, - .baseTile = 0x0, + .bg = 3, + .charBaseIndex = 2, + .mapBaseIndex = 28, + .screenSize = 0, + .paletteMode = 0, + .priority = 3, + .baseTile = 0x000, }, }; -const struct WindowTemplate gTeachyTvWindowTemplateArray[] = +static const struct WindowTemplate gTeachyTvWindowTemplateArray[] = { { - .bg = 0x1, - .tilemapLeft = 0x2, - .tilemapTop = 0xF, - .width = 0x1A, - .height = 0x4, + .bg = 1, + .tilemapLeft = 2, + .tilemapTop = 15, + .width = 26, + .height = 4, .paletteNum = 0x3, - .baseBlock = 0xEA, + .baseBlock = 0x0EA, }, { - .bg = 0x0, - .tilemapLeft = 0x4, - .tilemapTop = 0x1, - .width = 0x16, - .height = 0xC, + .bg = 0, + .tilemapLeft = 4, + .tilemapTop = 1, + .width = 22, + .height = 12, .paletteNum = 0x3, .baseBlock = 0x152, }, DUMMY_WIN_TEMPLATE, }; -const struct ListMenuItem gTeachyTvListMenuItemArray[] = +static const struct ListMenuItem sListMenuItems[] = { { - .label = gUnknown_841B7A4, - .index = 0, + .label = gTeachyTvString_TeachBattle, + .index = TTVSCR_BATTLE }, { - .label = gUnknown_841B7BC, - .index = 1, + .label = gTeachyTvString_StatusProblems, + .index = TTVSCR_STATUS }, { - .label = gUnknown_841B7D6, - .index = 2, + .label = gTeachyTvString_TypeMatchups, + .index = TTVSCR_MATCHUPS }, { - .label = gUnknown_841B7EE, - .index = 3, + .label = gTeachyTvString_CatchPkmn, + .index = TTVSCR_CATCHING }, { - .label = gUnknown_841B807, - .index = 4, + .label = gTeachyTvString_AboutTMs, + .index = TTVSCR_TMS }, { - .label = gUnknown_841B81B, - .index = 5, + .label = gTeachyTvString_RegisterItem, + .index = TTVSCR_REGISTER }, { - .label = gUnknown_841B836, - .index = -2, + .label = gTeachyTvString_Cancel, + .index = -2 }, }; -const struct ListMenuItem gTeachyTvListMenuItemArray2[] = +static const struct ListMenuItem sListMenuItems_NoTMCase[] = { { - .label = gUnknown_841B7A4, - .index = 0, + .label = gTeachyTvString_TeachBattle, + .index = TTVSCR_BATTLE }, { - .label = gUnknown_841B7BC, - .index = 1, + .label = gTeachyTvString_StatusProblems, + .index = TTVSCR_STATUS }, { - .label = gUnknown_841B7D6, - .index = 2, + .label = gTeachyTvString_TypeMatchups, + .index = TTVSCR_MATCHUPS }, { - .label = gUnknown_841B7EE, - .index = 3, + .label = gTeachyTvString_CatchPkmn, + .index = TTVSCR_CATCHING }, { - .label = gUnknown_841B836, - .index = -2, + .label = gTeachyTvString_Cancel, + .index = -2 }, }; -const struct ListMenuTemplate gTeachyTvListMenuTemplateArray = +static const struct ListMenuTemplate sListMenuTemplate = { - .items = gTeachyTvListMenuItemArray, + .items = sListMenuItems, .moveCursorFunc = NULL, .itemPrintFunc = NULL, - .totalItems = 0x7, - .maxShowed = 0x6, - .windowId = 0x0, - .header_X = 0x0, - .item_X = 0x8, - .cursor_X = 0x0, - .upText_Y = 0x6, + .totalItems = 7, + .maxShowed = 6, + .windowId = 0, + .header_X = 0, + .item_X = 8, + .cursor_X = 0, + .upText_Y = 6, .cursorPal = 0x1, .fillValue = 0x0, .cursorShadowPal = 0x2, @@ -251,7 +260,7 @@ const struct ListMenuTemplate gTeachyTvListMenuTemplateArray = .cursorKind = 0x0, }; -const struct ScrollArrowsTemplate gTeachyTvScrollIndicatorArrowPairTemplateArray = +static const struct ScrollArrowsTemplate sScrollIndicatorArrowPair = { .firstArrowType = 0x2, .firstX = 0x78, @@ -259,151 +268,156 @@ const struct ScrollArrowsTemplate gTeachyTvScrollIndicatorArrowPairTemplateArray .secondArrowType = 0x3, .secondX = 0x78, .secondY = 0x64, - .fullyUpThreshold = 0x0, - .fullyDownThreshold = 0x1, + .fullyUpThreshold = 0, + .fullyDownThreshold = 1, .tileTag = 0x800, .palTag = 0x800, .palNum = 0x0, }; -const u8 gTeachyTvSwitchFuncArray[] = +static const u8 sWhereToReturnToFromBattle[] = { - 0xC, 0xC, 0xC, 0xC, 0x9, 0x9, 0x0, 0x0, + 12, + 12, + 12, + 12, + 9, + 9 }; -void (* const gTeachyTvFuncCluster0[])(u8) = -{ - TeachyTvClusFuncTransitionRenderBg2TeachyTvGraphicInitNpcPos, - TeachyTvClusFuncClearBg2TeachyTvGraphic, - TeachyTvClusFuncNpcMoveAndSetupTextPrinter, - TeachyTvClusFuncIdleIfTextPrinterIsActive, - TeachyTvClusFuncIdleIfTextPrinterIsActive2, - TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen, - TeachyTvClusFuncIdleIfTextPrinterIsActive2, - TeachyTvClusFuncEraseTextWindowIfKeyPressed, - TeachyTvClusFuncStartAnimNpcWalkIntoGrass, - TeachyTvClusFuncDudeMoveUp, - TeachyTvClusFuncDudeMoveRight, - TeachyTvClusFuncTaskBattleOrFadeByOptionChosen, - TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen2, - TeachyTvClusFuncIdleIfTextPrinterIsActive2, - TeachyTvClusFuncEraseTextWindowIfKeyPressed, - TeachyTvClusFuncDudeTurnLeft, - TeachyTvClusFuncDudeMoveLeft, - TeachyTvClusFuncRenderAndRemoveBg1EndGraphic, - TeachyTvBackToOptionList, +static void (* const sBattleScript[])(u8) = +{ + TTVcmd_TransitionRenderBg2TeachyTvGraphicInitNpcPos, + TTVcmd_ClearBg2TeachyTvGraphic, + TTVcmd_NpcMoveAndSetupTextPrinter, + TTVcmd_IdleIfTextPrinterIsActive, + TTVcmd_IdleIfTextPrinterIsActive2, + TTVcmd_TextPrinterSwitchStringByOptionChosen, + TTVcmd_IdleIfTextPrinterIsActive2, + TTVcmd_EraseTextWindowIfKeyPressed, + TTVcmd_StartAnimNpcWalkIntoGrass, + TTVcmd_DudeMoveUp, + TTVcmd_DudeMoveRight, + TTVcmd_TaskBattleOrFadeByOptionChosen, + TTVcmd_TextPrinterSwitchStringByOptionChosen2, + TTVcmd_IdleIfTextPrinterIsActive2, + TTVcmd_EraseTextWindowIfKeyPressed, + TTVcmd_DudeTurnLeft, + TTVcmd_DudeMoveLeft, + TTVcmd_RenderAndRemoveBg1EndGraphic, + TTVcmd_End, }; -void (* const gTeachyTvFuncCluster1[])(u8) = -{ - TeachyTvClusFuncTransitionRenderBg2TeachyTvGraphicInitNpcPos, - TeachyTvClusFuncClearBg2TeachyTvGraphic, - TeachyTvClusFuncNpcMoveAndSetupTextPrinter, - TeachyTvClusFuncIdleIfTextPrinterIsActive, - TeachyTvClusFuncIdleIfTextPrinterIsActive2, - TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen, - TeachyTvClusFuncIdleIfTextPrinterIsActive2, - TeachyTvClusFuncEraseTextWindowIfKeyPressed, - TeachyTvClusFuncStartAnimNpcWalkIntoGrass, - TeachyTvClusFuncDudeMoveUp, - TeachyTvClusFuncDudeMoveRight, - TeachyTvClusFuncTaskBattleOrFadeByOptionChosen, - TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen2, - TeachyTvClusFuncIdleIfTextPrinterIsActive2, - TeachyTvClusFuncEraseTextWindowIfKeyPressed, - TeachyTvClusFuncDudeTurnLeft, - TeachyTvClusFuncDudeMoveLeft, - TeachyTvClusFuncRenderAndRemoveBg1EndGraphic, - TeachyTvBackToOptionList, +static void (* const sStatusScript[])(u8) = +{ + TTVcmd_TransitionRenderBg2TeachyTvGraphicInitNpcPos, + TTVcmd_ClearBg2TeachyTvGraphic, + TTVcmd_NpcMoveAndSetupTextPrinter, + TTVcmd_IdleIfTextPrinterIsActive, + TTVcmd_IdleIfTextPrinterIsActive2, + TTVcmd_TextPrinterSwitchStringByOptionChosen, + TTVcmd_IdleIfTextPrinterIsActive2, + TTVcmd_EraseTextWindowIfKeyPressed, + TTVcmd_StartAnimNpcWalkIntoGrass, + TTVcmd_DudeMoveUp, + TTVcmd_DudeMoveRight, + TTVcmd_TaskBattleOrFadeByOptionChosen, + TTVcmd_TextPrinterSwitchStringByOptionChosen2, + TTVcmd_IdleIfTextPrinterIsActive2, + TTVcmd_EraseTextWindowIfKeyPressed, + TTVcmd_DudeTurnLeft, + TTVcmd_DudeMoveLeft, + TTVcmd_RenderAndRemoveBg1EndGraphic, + TTVcmd_End, }; -void (* const gTeachyTvFuncCluster2[])(u8) = -{ - TeachyTvClusFuncTransitionRenderBg2TeachyTvGraphicInitNpcPos, - TeachyTvClusFuncClearBg2TeachyTvGraphic, - TeachyTvClusFuncNpcMoveAndSetupTextPrinter, - TeachyTvClusFuncIdleIfTextPrinterIsActive, - TeachyTvClusFuncIdleIfTextPrinterIsActive2, - TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen, - TeachyTvClusFuncIdleIfTextPrinterIsActive2, - TeachyTvClusFuncEraseTextWindowIfKeyPressed, - TeachyTvClusFuncStartAnimNpcWalkIntoGrass, - TeachyTvClusFuncDudeMoveUp, - TeachyTvClusFuncDudeMoveRight, - TeachyTvClusFuncTaskBattleOrFadeByOptionChosen, - TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen2, - TeachyTvClusFuncIdleIfTextPrinterIsActive2, - TeachyTvClusFuncEraseTextWindowIfKeyPressed, - TeachyTvClusFuncDudeTurnLeft, - TeachyTvClusFuncDudeMoveLeft, - TeachyTvClusFuncRenderAndRemoveBg1EndGraphic, - TeachyTvBackToOptionList, +static void (* const sMatchupsScript[])(u8) = +{ + TTVcmd_TransitionRenderBg2TeachyTvGraphicInitNpcPos, + TTVcmd_ClearBg2TeachyTvGraphic, + TTVcmd_NpcMoveAndSetupTextPrinter, + TTVcmd_IdleIfTextPrinterIsActive, + TTVcmd_IdleIfTextPrinterIsActive2, + TTVcmd_TextPrinterSwitchStringByOptionChosen, + TTVcmd_IdleIfTextPrinterIsActive2, + TTVcmd_EraseTextWindowIfKeyPressed, + TTVcmd_StartAnimNpcWalkIntoGrass, + TTVcmd_DudeMoveUp, + TTVcmd_DudeMoveRight, + TTVcmd_TaskBattleOrFadeByOptionChosen, + TTVcmd_TextPrinterSwitchStringByOptionChosen2, + TTVcmd_IdleIfTextPrinterIsActive2, + TTVcmd_EraseTextWindowIfKeyPressed, + TTVcmd_DudeTurnLeft, + TTVcmd_DudeMoveLeft, + TTVcmd_RenderAndRemoveBg1EndGraphic, + TTVcmd_End, }; -void (* const gTeachyTvFuncCluster3[])(u8) = -{ - TeachyTvClusFuncTransitionRenderBg2TeachyTvGraphicInitNpcPos, - TeachyTvClusFuncClearBg2TeachyTvGraphic, - TeachyTvClusFuncNpcMoveAndSetupTextPrinter, - TeachyTvClusFuncIdleIfTextPrinterIsActive, - TeachyTvClusFuncIdleIfTextPrinterIsActive2, - TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen, - TeachyTvClusFuncIdleIfTextPrinterIsActive2, - TeachyTvClusFuncEraseTextWindowIfKeyPressed, - TeachyTvClusFuncStartAnimNpcWalkIntoGrass, - TeachyTvClusFuncDudeMoveUp, - TeachyTvClusFuncDudeMoveRight, - TeachyTvClusFuncTaskBattleOrFadeByOptionChosen, - TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen2, - TeachyTvClusFuncIdleIfTextPrinterIsActive2, - TeachyTvClusFuncEraseTextWindowIfKeyPressed, - TeachyTvClusFuncDudeTurnLeft, - TeachyTvClusFuncDudeMoveLeft, - TeachyTvClusFuncRenderAndRemoveBg1EndGraphic, - TeachyTvBackToOptionList, +static void (* const sCatchingScript[])(u8) = +{ + TTVcmd_TransitionRenderBg2TeachyTvGraphicInitNpcPos, + TTVcmd_ClearBg2TeachyTvGraphic, + TTVcmd_NpcMoveAndSetupTextPrinter, + TTVcmd_IdleIfTextPrinterIsActive, + TTVcmd_IdleIfTextPrinterIsActive2, + TTVcmd_TextPrinterSwitchStringByOptionChosen, + TTVcmd_IdleIfTextPrinterIsActive2, + TTVcmd_EraseTextWindowIfKeyPressed, + TTVcmd_StartAnimNpcWalkIntoGrass, + TTVcmd_DudeMoveUp, + TTVcmd_DudeMoveRight, + TTVcmd_TaskBattleOrFadeByOptionChosen, + TTVcmd_TextPrinterSwitchStringByOptionChosen2, + TTVcmd_IdleIfTextPrinterIsActive2, + TTVcmd_EraseTextWindowIfKeyPressed, + TTVcmd_DudeTurnLeft, + TTVcmd_DudeMoveLeft, + TTVcmd_RenderAndRemoveBg1EndGraphic, + TTVcmd_End, }; -void (* const gTeachyTvFuncCluster4[])(u8) = -{ - TeachyTvClusFuncTransitionRenderBg2TeachyTvGraphicInitNpcPos, - TeachyTvClusFuncClearBg2TeachyTvGraphic, - TeachyTvClusFuncNpcMoveAndSetupTextPrinter, - TeachyTvClusFuncIdleIfTextPrinterIsActive, - TeachyTvClusFuncIdleIfTextPrinterIsActive2, - TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen, - TeachyTvClusFuncIdleIfTextPrinterIsActive2, - TeachyTvClusFuncEraseTextWindowIfKeyPressed, - TeachyTvClusFuncTaskBattleOrFadeByOptionChosen, - TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen2, - TeachyTvClusFuncIdleIfTextPrinterIsActive2, - TeachyTvClusFuncEraseTextWindowIfKeyPressed, - TeachyTvClusFuncDudeTurnLeft, - TeachyTvClusFuncDudeMoveLeft, - TeachyTvClusFuncRenderAndRemoveBg1EndGraphic, - TeachyTvBackToOptionList, +static void (* const sTMsScript[])(u8) = +{ + TTVcmd_TransitionRenderBg2TeachyTvGraphicInitNpcPos, + TTVcmd_ClearBg2TeachyTvGraphic, + TTVcmd_NpcMoveAndSetupTextPrinter, + TTVcmd_IdleIfTextPrinterIsActive, + TTVcmd_IdleIfTextPrinterIsActive2, + TTVcmd_TextPrinterSwitchStringByOptionChosen, + TTVcmd_IdleIfTextPrinterIsActive2, + TTVcmd_EraseTextWindowIfKeyPressed, + TTVcmd_TaskBattleOrFadeByOptionChosen, + TTVcmd_TextPrinterSwitchStringByOptionChosen2, + TTVcmd_IdleIfTextPrinterIsActive2, + TTVcmd_EraseTextWindowIfKeyPressed, + TTVcmd_DudeTurnLeft, + TTVcmd_DudeMoveLeft, + TTVcmd_RenderAndRemoveBg1EndGraphic, + TTVcmd_End, }; -void (* const gTeachyTvFuncCluster5[])(u8) = -{ - TeachyTvClusFuncTransitionRenderBg2TeachyTvGraphicInitNpcPos, - TeachyTvClusFuncClearBg2TeachyTvGraphic, - TeachyTvClusFuncNpcMoveAndSetupTextPrinter, - TeachyTvClusFuncIdleIfTextPrinterIsActive, - TeachyTvClusFuncIdleIfTextPrinterIsActive2, - TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen, - TeachyTvClusFuncIdleIfTextPrinterIsActive2, - TeachyTvClusFuncEraseTextWindowIfKeyPressed, - TeachyTvClusFuncTaskBattleOrFadeByOptionChosen, - TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen2, - TeachyTvClusFuncIdleIfTextPrinterIsActive2, - TeachyTvClusFuncEraseTextWindowIfKeyPressed, - TeachyTvClusFuncDudeTurnLeft, - TeachyTvClusFuncDudeMoveLeft, - TeachyTvClusFuncRenderAndRemoveBg1EndGraphic, - TeachyTvBackToOptionList, +static void (* const sRegisterKeyItemScript[])(u8) = +{ + TTVcmd_TransitionRenderBg2TeachyTvGraphicInitNpcPos, + TTVcmd_ClearBg2TeachyTvGraphic, + TTVcmd_NpcMoveAndSetupTextPrinter, + TTVcmd_IdleIfTextPrinterIsActive, + TTVcmd_IdleIfTextPrinterIsActive2, + TTVcmd_TextPrinterSwitchStringByOptionChosen, + TTVcmd_IdleIfTextPrinterIsActive2, + TTVcmd_EraseTextWindowIfKeyPressed, + TTVcmd_TaskBattleOrFadeByOptionChosen, + TTVcmd_TextPrinterSwitchStringByOptionChosen2, + TTVcmd_IdleIfTextPrinterIsActive2, + TTVcmd_EraseTextWindowIfKeyPressed, + TTVcmd_DudeTurnLeft, + TTVcmd_DudeMoveLeft, + TTVcmd_RenderAndRemoveBg1EndGraphic, + TTVcmd_End, }; -void TeachyTvCallback(void) +static void TeachyTvCallback(void) { RunTasks(); AnimateSprites(); @@ -412,14 +426,14 @@ void TeachyTvCallback(void) UpdatePaletteFade(); } -void TeachyTvVblankHandler(void) +static void TeachyTvVblankHandler(void) { LoadOam(); ProcessSpriteCopyRequests(); TransferPlttBuffer(); } -void sub_815ABC4(u8 mode, void (*cb)()) +void InitTeachyTvController(u8 mode, MainCallback cb) { gTeachyTV_StaticResources.mode = mode; gTeachyTV_StaticResources.callback = cb; @@ -427,7 +441,7 @@ void sub_815ABC4(u8 mode, void (*cb)()) { gTeachyTV_StaticResources.scrollOffset = 0; gTeachyTV_StaticResources.selectedRow = 0; - gTeachyTV_StaticResources.optionChosen = 0; + gTeachyTV_StaticResources.whichScript = TTVSCR_BATTLE; } if (mode == 1) { @@ -439,17 +453,17 @@ void sub_815ABC4(u8 mode, void (*cb)()) void CB2_ReturnToTeachyTV(void) { if (gTeachyTV_StaticResources.mode == 1) - sub_815ABC4(1, gTeachyTV_StaticResources.callback); + InitTeachyTvController(1, gTeachyTV_StaticResources.callback); else - sub_815ABC4(2, gTeachyTV_StaticResources.callback); + InitTeachyTvController(2, gTeachyTV_StaticResources.callback); } -void sub_815AC20(void) +void SetTeachyTvControllerModeToResume(void) { gTeachyTV_StaticResources.mode = 1; } -void TeachyTvMainCallback(void) +static void TeachyTvMainCallback(void) { u8 taskId; struct Task *taskAddr; @@ -457,10 +471,10 @@ void TeachyTvMainCallback(void) switch (gMain.state) { case 0: - gUnknown_203F450 = AllocZeroed(sizeof(struct TeachyTvBuf)); - gUnknown_203F450->savedCallback = NULL; - gUnknown_203F450->var_4006 = 0; - gUnknown_203F450->var_4007 = 0xFF; + sResources = AllocZeroed(sizeof(struct TeachyTvBuf)); + sResources->savedCallback = NULL; + sResources->grassAnimDisabled = 0; + sResources->scrollIndicatorArrowPairId = 0xFF; VblankHblankHandlerSetZero(); clear_scheduled_bg_copies_to_vram(); ScanlineEffect_Stop(); @@ -505,14 +519,14 @@ void TeachyTvMainCallback(void) } } -void TeachyTvSetupBg(void) +static void TeachyTvSetupBg(void) { InitBgReg(); ResetBgsAndClearDma3BusyFlags(0); InitBgsFromTemplates(0, gTeachyTvBgTemplateArray, 4); - SetBgTilemapBuffer(1, gUnknown_203F450->buffer1); - SetBgTilemapBuffer(2, gUnknown_203F450->buffer2); - SetBgTilemapBuffer(3, gUnknown_203F450->buffer3); + SetBgTilemapBuffer(1, sResources->buffer1); + SetBgTilemapBuffer(2, sResources->buffer2); + SetBgTilemapBuffer(3, sResources->buffer3); SetGpuReg(REG_OFFSET_DISPCNT, 0x3040); ShowBg(0); ShowBg(1); @@ -520,25 +534,25 @@ void TeachyTvSetupBg(void) ShowBg(3); ChangeBgX(3, 0x1000, 2); ChangeBgY(3, 0x2800, 1); - gUnknown_203F450->var_4004 = 0; - gUnknown_203F450->var_4005 = 3; + sResources->grassAnimCounterLo = 0; + sResources->grassAnimCounterHi = 3; SetGpuReg(REG_OFFSET_BLDCNT, 0); } -void TeachyTvLoadGraphic(void) +static void TeachyTvLoadGraphic(void) { u16 src = RGB_BLACK; reset_temp_tile_data_buffers(); decompress_and_copy_tile_data_to_vram(1, gUnknown_8E86240, 0, 0, 0); - LZDecompressWram(gUnknown_8E86BE8, gUnknown_203F450->buffer1); - LZDecompressWram(gUnknown_8E86D6C, gUnknown_203F450->buffer4); + LZDecompressWram(gUnknown_8E86BE8, sResources->buffer1); + LZDecompressWram(gUnknown_8E86D6C, sResources->buffer4); LoadCompressedPalette(gUnknown_8E86F98, 0, 0x80); LoadPalette(&src, 0, sizeof(src)); LoadSpritePalette(&gUnknown_83A5348); - TeachyTvLoadBg3Map(gUnknown_203F450->buffer3); + TeachyTvLoadBg3Map(sResources->buffer3); } -void TeachyTvCreateAndRenderRbox(void) +static void TeachyTvCreateAndRenderRbox(void) { InitWindows(gTeachyTvWindowTemplateArray); DeactivateAllTextPrinters(); @@ -548,14 +562,14 @@ void TeachyTvCreateAndRenderRbox(void) CopyWindowToVram(0, 2); } -u8 TeachyTvSetupWindow(void) +static u8 TeachyTvSetupWindow(void) { - gMultiuseListMenuTemplate = gTeachyTvListMenuTemplateArray; + gMultiuseListMenuTemplate = sListMenuTemplate; gMultiuseListMenuTemplate.windowId = 1; gMultiuseListMenuTemplate.moveCursorFunc = TeachyTvAudioByInput; if (!CheckBagHasItem(ITEM_TM_CASE, 1)) { - gMultiuseListMenuTemplate.items = gTeachyTvListMenuItemArray2; + gMultiuseListMenuTemplate.items = sListMenuItems_NoTMCase; gMultiuseListMenuTemplate.totalItems = 5; gMultiuseListMenuTemplate.maxShowed = 5; gMultiuseListMenuTemplate.upText_Y = (gMultiuseListMenuTemplate.upText_Y + 8) & 0xF; @@ -567,35 +581,35 @@ u8 TeachyTvSetupWindow(void) ); } -void TeachyTvSetupScrollIndicatorArrowPair(void) +static void TeachyTvSetupScrollIndicatorArrowPair(void) { if (!CheckBagHasItem(ITEM_TM_CASE, 1)) { - struct TeachyTvBuf * temp = gUnknown_203F450; - temp->var_4007 = 0xFF; + struct TeachyTvBuf * temp = sResources; + temp->scrollIndicatorArrowPairId = 0xFF; } else { - gUnknown_203F450->var_4007 = AddScrollIndicatorArrowPair(&gTeachyTvScrollIndicatorArrowPairTemplateArray, &(gTeachyTV_StaticResources.scrollOffset)); + sResources->scrollIndicatorArrowPairId = AddScrollIndicatorArrowPair(&sScrollIndicatorArrowPair, &(gTeachyTV_StaticResources.scrollOffset)); } } -void TeachyTvRemoveScrollIndicatorArrowPair(void) +static void TeachyTvRemoveScrollIndicatorArrowPair(void) { - if (gUnknown_203F450->var_4007 != 0xFF) + if (sResources->scrollIndicatorArrowPairId != 0xFF) { - RemoveScrollIndicatorArrowPair(gUnknown_203F450->var_4007); - gUnknown_203F450->var_4007 = 0xFF; + RemoveScrollIndicatorArrowPair(sResources->scrollIndicatorArrowPairId); + sResources->scrollIndicatorArrowPairId = 0xFF; } } -void TeachyTvAudioByInput(s32 notUsed, bool8 play, struct ListMenu *notUsedAlt) +static void TeachyTvAudioByInput(s32 notUsed, bool8 play, struct ListMenu *notUsedAlt) { if (play != TRUE) PlaySE(SE_SELECT); } -void TeachyTvInitIo(void) +static void TeachyTvInitIo(void) { SetGpuReg(REG_OFFSET_WININ, 0x3F); SetGpuReg(REG_OFFSET_WINOUT, 0x1F); @@ -603,7 +617,7 @@ void TeachyTvInitIo(void) SetGpuReg(REG_OFFSET_BLDY, 0x5); } -u8 TeachyTvSetupObjEventAndOam(void) +static u8 TeachyTvSetupObjEventAndOam(void) { u8 objId = AddPseudoEventObject(90, SpriteCallbackDummy, 0, 0, 8); gSprites[objId].oam.priority = 2; @@ -611,7 +625,7 @@ u8 TeachyTvSetupObjEventAndOam(void) return objId; } -void TeachyTvSetSpriteCoordsAndSwitchFrame(u8 objId, u16 x, u16 y, u8 frame) +static void TeachyTvSetSpriteCoordsAndSwitchFrame(u8 objId, u16 x, u16 y, u8 frame) { gSprites[objId].pos2.x = x; gSprites[objId].pos2.y = y; @@ -619,19 +633,19 @@ void TeachyTvSetSpriteCoordsAndSwitchFrame(u8 objId, u16 x, u16 y, u8 frame) StartSpriteAnim(&gSprites[objId], frame); } -void TeachyTvSetWindowRegs(void) +static void TeachyTvSetWindowRegs(void) { SetGpuReg(REG_OFFSET_WIN0V, 0xC64); SetGpuReg(REG_OFFSET_WIN0H, 0x1CD4); } -void TeachyTvClearWindowRegs(void) +static void TeachyTvClearWindowRegs(void) { SetGpuReg(REG_OFFSET_WIN0V, 0x0); SetGpuReg(REG_OFFSET_WIN0H, 0x0); } -void TeachyTvBg2AnimController(void) +static void TeachyTvBg2AnimController(void) { u16 * tilemapBuffer = GetBgTilemapBuffer(2); u8 i, j; @@ -645,27 +659,29 @@ void TeachyTvBg2AnimController(void) schedule_bg_copy_tilemap_to_vram(2); } -void TeachyTvSetupPostBattleWindowAndObj(u8 taskId) +static void TeachyTvSetupPostBattleWindowAndObj(u8 taskId) { s16 *data = gTasks[taskId].data; struct Sprite *objAddr = &gSprites[data[1]]; - int op; ClearWindowTilemap(1); TeachyTvClearWindowRegs(); - op = gTeachyTV_StaticResources.optionChosen; - if (op >= 0) + switch (gTeachyTV_StaticResources.whichScript) { - if (op <= 3) - { - TeachyTvSetSpriteCoordsAndSwitchFrame(data[1], 0x78, 0x38, 0); - ChangeBgX(3, 0x3000, 1); - ChangeBgY(3, 0x3000, 2); - gUnknown_203F450->var_4004 += 3; - gUnknown_203F450->var_4005 -= 3; - } - else if (op <= 5) - TeachyTvSetSpriteCoordsAndSwitchFrame(data[1], 0x78, 0x38, 0); + case TTVSCR_BATTLE: + case TTVSCR_STATUS: + case TTVSCR_MATCHUPS: + case TTVSCR_CATCHING: + TeachyTvSetSpriteCoordsAndSwitchFrame(data[1], 0x78, 0x38, 0); + ChangeBgX(3, 0x3000, 1); + ChangeBgY(3, 0x3000, 2); + sResources->grassAnimCounterLo += 3; + sResources->grassAnimCounterHi -= 3; + break; + case TTVSCR_TMS: + case TTVSCR_REGISTER: + TeachyTvSetSpriteCoordsAndSwitchFrame(data[1], 0x78, 0x38, 0); + break; } data[4] = 0; @@ -673,32 +689,32 @@ void TeachyTvSetupPostBattleWindowAndObj(u8 taskId) TeachyTvGrassAnimationMain(taskId, objAddr->pos2.x, objAddr->pos2.y, 0, 1); } -void TeachyTvInitTextPrinter(const u8 *text) +static void TeachyTvInitTextPrinter(const u8 *text) { gTextFlags.autoScroll = 0; AddTextPrinterParameterized2(0, 4, text, GetTextSpeedSetting(), 0, 1, 0xC, 3); } -void TeachyTvFree(void) +static void TeachyTvFree(void) { - Free(gUnknown_203F450); - gUnknown_203F450 = NULL; + Free(sResources); + sResources = NULL; FreeAllWindowBuffers(); } -void TeachyTvQuitBeginFade(u8 taskId) +static void TeachyTvQuitBeginFade(u8 taskId) { BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); gTasks[taskId].func = TeachyTvQuitFadeControlAndTaskDel; } -void TeachyTvQuitFadeControlAndTaskDel(u8 taskId) +static void TeachyTvQuitFadeControlAndTaskDel(u8 taskId) { if (!(gPaletteFade.active)) { - if (gUnknown_203F450->savedCallback != NULL) + if (sResources->savedCallback != NULL) { - SetMainCallback2(gUnknown_203F450->savedCallback); + SetMainCallback2(sResources->savedCallback); } else { @@ -710,7 +726,7 @@ void TeachyTvQuitFadeControlAndTaskDel(u8 taskId) } } -void TeachyTvOptionListController(u8 taskId) +static void TeachyTvOptionListController(u8 taskId) { s16 * data = gTasks[taskId].data; s32 input; @@ -737,7 +753,7 @@ void TeachyTvOptionListController(u8 taskId) break; default: PlaySE(SE_SELECT); - gTeachyTV_StaticResources.optionChosen = input; + gTeachyTV_StaticResources.whichScript = input; DestroyListMenu(data[0], &gTeachyTV_StaticResources.scrollOffset, &gTeachyTV_StaticResources.selectedRow); TeachyTvClearWindowRegs(); ClearWindowTilemap(1); @@ -752,14 +768,14 @@ void TeachyTvOptionListController(u8 taskId) } } -void TeachyTvClusFuncTransitionRenderBg2TeachyTvGraphicInitNpcPos(u8 taskId) +static void TTVcmd_TransitionRenderBg2TeachyTvGraphicInitNpcPos(u8 taskId) { s16 *data = gTasks[taskId].data; TeachyTvBg2AnimController(); if (++data[2] > 63) { - CopyToBgTilemapBufferRect_ChangePalette(2, gUnknown_203F450->buffer4, 0, 0, 0x20, 0x20, 0x11); - TeachyTvSetSpriteCoordsAndSwitchFrame(((u8 *)data)[2], 8, 0x38, 7); + CopyToBgTilemapBufferRect_ChangePalette(2, sResources->buffer4, 0, 0, 0x20, 0x20, 0x11); + TeachyTvSetSpriteCoordsAndSwitchFrame(data[1], 8, 0x38, 7); schedule_bg_copy_tilemap_to_vram(2); data[2] = 0; ++data[3]; @@ -767,7 +783,7 @@ void TeachyTvClusFuncTransitionRenderBg2TeachyTvGraphicInitNpcPos(u8 taskId) } } -void TeachyTvClusFuncClearBg2TeachyTvGraphic(u8 taskId) +static void TTVcmd_ClearBg2TeachyTvGraphic(u8 taskId) { s16 *data = gTasks[taskId].data; if (++data[2] == 134) @@ -779,7 +795,7 @@ void TeachyTvClusFuncClearBg2TeachyTvGraphic(u8 taskId) } } -void TeachyTvClusFuncNpcMoveAndSetupTextPrinter(u8 taskId) +static void TTVcmd_NpcMoveAndSetupTextPrinter(u8 taskId) { s16 * data = gTasks[taskId].data; struct Sprite * spriteAddr = &gSprites[data[1]]; @@ -789,7 +805,7 @@ void TeachyTvClusFuncNpcMoveAndSetupTextPrinter(u8 taskId) if (spriteAddr->pos2.x == 0x78) { StartSpriteAnim(&gSprites[data[1]], 0); - TeachyTvInitTextPrinter(gUnknown_841B83D); + TeachyTvInitTextPrinter(gTeachyTvText_PokeDudeSaysHello); data[2] = 0; ++data[3]; } @@ -798,83 +814,81 @@ void TeachyTvClusFuncNpcMoveAndSetupTextPrinter(u8 taskId) } } -void TeachyTvClusFuncIdleIfTextPrinterIsActive(u8 taskId) +static void TTVcmd_IdleIfTextPrinterIsActive(u8 taskId) { s16 *data = gTasks[taskId].data; if (!sub_80BF518(0)) ++data[3]; } -void TeachyTvRenderMsgAndSwitchClusterFuncs(u8 taskId) +static void TeachyTvRenderMsgAndSwitchClusterFuncs(u8 taskId) { s16 *data = gTasks[taskId].data; if (JOY_NEW(B_BUTTON)) { - u8 *offset = &(gUnknown_203F450->var_4006); - u32 zero = 0; - offset[0] = 1; - TeachyTvSetSpriteCoordsAndSwitchFrame(*((char *)data + 2), 0, 0, 0); + sResources->grassAnimDisabled = 1; + TeachyTvSetSpriteCoordsAndSwitchFrame(data[1], 0, 0, 0); FillWindowPixelBuffer(0, 0xCC); CopyWindowToVram(0, 2); TeachyTvClearBg1EndGraphicText(); - data[2] = zero; - data[3] = zero; - gTasks[taskId].func = TeachyTvBackToOptionList; + data[2] = 0; + data[3] = 0; + gTasks[taskId].func = TTVcmd_End; } else { static void (* const * const array[])(u8) = { - gTeachyTvFuncCluster0, - gTeachyTvFuncCluster1, - gTeachyTvFuncCluster2, - gTeachyTvFuncCluster3, - gTeachyTvFuncCluster4, - gTeachyTvFuncCluster5, + sBattleScript, + sStatusScript, + sMatchupsScript, + sCatchingScript, + sTMsScript, + sRegisterKeyItemScript, }; - void (*const *cluster)(u8) = array[gTeachyTV_StaticResources.optionChosen]; + void (*const *cluster)(u8) = array[gTeachyTV_StaticResources.whichScript]; cluster[data[3]](taskId); } } -void TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen(u8 taskId) +static void TTVcmd_TextPrinterSwitchStringByOptionChosen(u8 taskId) { s16 *data = gTasks[taskId].data; static const u8 *const texts[] = { - gUnknown_841B8BF, - gUnknown_841BB40, - gUnknown_841BE76, - gUnknown_841C23B, - gUnknown_841C459, - gUnknown_841C82A, + gTeachyTvText_BattleScript1, + gTeachyTvText_StatusScript1, + gTeachyTvText_MatchupsScript1, + gTeachyTvText_CatchingScript1, + gTeachyTvText_TMsScript1, + gTeachyTvText_RegisterScript1, }; - TeachyTvInitTextPrinter(texts[gTeachyTV_StaticResources.optionChosen]); + TeachyTvInitTextPrinter(texts[gTeachyTV_StaticResources.whichScript]); ++data[3]; } -void TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen2(u8 taskId) +static void TTVcmd_TextPrinterSwitchStringByOptionChosen2(u8 taskId) { s16 *data = gTasks[taskId].data; static const u8 *const texts[] = { - gUnknown_841BA41, - gUnknown_841BD10, - gUnknown_841C0AF, - gUnknown_841C384, - gUnknown_841C7B4, - gUnknown_841C994, + gTeachyTvText_BattleScript2, + gTeachyTvText_StatusScript2, + gTeachyTvText_MatchupsScript2, + gTeachyTvText_CatchingScript2, + gTeachyTvText_TMsScript2, + gTeachyTvText_RegisterScript2, }; - TeachyTvInitTextPrinter(texts[gTeachyTV_StaticResources.optionChosen]); + TeachyTvInitTextPrinter(texts[gTeachyTV_StaticResources.whichScript]); ++data[3]; } -const u16 gUnknown_8479590[] = +static const u16 gUnknown_8479590[] = { 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, }; -const struct Subsprite gTeachyTvSubspriteArray[] = +static const struct Subsprite gTeachyTvSubspriteArray[] = { { .x = -0x8, @@ -894,7 +908,7 @@ const struct Subsprite gTeachyTvSubspriteArray[] = }, }; -const struct SubspriteTable gTeachyTvSubspriteTableArray[] = +static const struct SubspriteTable gTeachyTvSubspriteTableArray[] = { { .subspriteCount = 0, @@ -906,7 +920,7 @@ const struct SubspriteTable gTeachyTvSubspriteTableArray[] = }, }; -const u8 gTeachyTvGrassAnimArray[] = +static const u8 gTeachyTvGrassAnimArray[] = { 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, @@ -928,14 +942,14 @@ const u8 gTeachyTvGrassAnimArray[] = 1, 1, 1, 1, 1, 1, 0, 0, }; -void TeachyTvClusFuncIdleIfTextPrinterIsActive2(u8 taskId) +static void TTVcmd_IdleIfTextPrinterIsActive2(u8 taskId) { s16 *data = gTasks[taskId].data; if (!sub_80BF518(0)) ++data[3]; } -void TeachyTvClusFuncEraseTextWindowIfKeyPressed(u8 taskId) +static void TTVcmd_EraseTextWindowIfKeyPressed(u8 taskId) { s16 *data = gTasks[taskId].data; if (JOY_NEW(A_BUTTON | B_BUTTON)) @@ -946,7 +960,7 @@ void TeachyTvClusFuncEraseTextWindowIfKeyPressed(u8 taskId) } } -void TeachyTvClusFuncStartAnimNpcWalkIntoGrass(u8 taskId) +static void TTVcmd_StartAnimNpcWalkIntoGrass(u8 taskId) { s16 *data = gTasks[taskId].data; StartSpriteAnim(&gSprites[data[1]], 5); @@ -956,14 +970,14 @@ void TeachyTvClusFuncStartAnimNpcWalkIntoGrass(u8 taskId) ++data[3]; } -void TeachyTvClusFuncDudeMoveUp(u8 taskId) +static void TTVcmd_DudeMoveUp(u8 taskId) { s16 *data = gTasks[taskId].data; struct Sprite *obj = &gSprites[data[1]]; ChangeBgY(3, 0x100, 2); if (!(++data[2] & 0xF)) { - --gUnknown_203F450->var_4005; + --sResources->grassAnimCounterHi; TeachyTvGrassAnimationMain(taskId, obj->pos2.x, obj->pos2.y, 0, 0); } if (data[2] == 48) @@ -976,13 +990,13 @@ void TeachyTvClusFuncDudeMoveUp(u8 taskId) } } -void TeachyTvClusFuncDudeMoveRight(u8 taskId) +static void TTVcmd_DudeMoveRight(u8 taskId) { s16 *data = gTasks[taskId].data; struct Sprite *obj = &gSprites[data[1]]; ChangeBgX(3, 0x100, 1); if (!(++data[2] & 0xF)) - ++gUnknown_203F450->var_4004; + ++sResources->grassAnimCounterLo; if (!((data[2] + 8) & 0xF)) TeachyTvGrassAnimationMain(taskId, obj->pos2.x + 8, obj->pos2.y, 0, 0); if (data[2] == 0x30) @@ -995,7 +1009,7 @@ void TeachyTvClusFuncDudeMoveRight(u8 taskId) } } -void TeachyTvClusFuncDudeTurnLeft(u8 taskId) +static void TTVcmd_DudeTurnLeft(u8 taskId) { s16 *data = gTasks[taskId].data; @@ -1007,7 +1021,7 @@ void TeachyTvClusFuncDudeTurnLeft(u8 taskId) TeachyTvGrassAnimationMain(taskId, objAddr->pos2.x, objAddr->pos2.y, 0, 0); } -void TeachyTvClusFuncDudeMoveLeft(u8 taskId) +static void TTVcmd_DudeMoveLeft(u8 taskId) { s16 *data = gTasks[taskId].data; struct Sprite *objAddr = &gSprites[data[1]]; @@ -1020,12 +1034,12 @@ void TeachyTvClusFuncDudeMoveLeft(u8 taskId) --objAddr->pos2.x; } -void TeachyTvClusFuncRenderAndRemoveBg1EndGraphic(u8 taskId) +static void TTVcmd_RenderAndRemoveBg1EndGraphic(u8 taskId) { s16 *data = gTasks[taskId].data; if (!data[2]) { - CopyToBgTilemapBufferRect_ChangePalette(1, gUnknown_8479590, 0x14, 0xA, 8, 2, 0x11); + CopyToBgTilemapBufferRect_ChangePalette(1, gUnknown_8479590, 20, 10, 8, 2, 0x11); schedule_bg_copy_tilemap_to_vram(1); } if (++data[2] > 126) @@ -1036,13 +1050,13 @@ void TeachyTvClusFuncRenderAndRemoveBg1EndGraphic(u8 taskId) } } -void TeachyTvClearBg1EndGraphicText(void) +static void TeachyTvClearBg1EndGraphicText(void) { - FillBgTilemapBufferRect_Palette0(1, 0, 0x14, 0xA, 8, 2); + FillBgTilemapBufferRect_Palette0(1, 0, 20, 10, 8, 2); schedule_bg_copy_tilemap_to_vram(1); } -void TeachyTvBackToOptionList(u8 taskId) +static void TTVcmd_End(u8 taskId) { s16 *data = gTasks[taskId].data; if (data[2] == 0) @@ -1062,53 +1076,54 @@ void TeachyTvBackToOptionList(u8 taskId) ChangeBgY(3, 0x0, 0); ChangeBgX(3, 0x1000, 2); ChangeBgY(3, 0x2800, 1); - gUnknown_203F450->var_4004 = 0; - gUnknown_203F450->var_4005 = 3; - gUnknown_203F450->var_4006 = 0; + sResources->grassAnimCounterLo = 0; + sResources->grassAnimCounterHi = 3; + sResources->grassAnimDisabled = 0; } } -void TeachyTvClusFuncTaskBattleOrFadeByOptionChosen(u8 taskId) +static void TTVcmd_TaskBattleOrFadeByOptionChosen(u8 taskId) { - int op = gTeachyTV_StaticResources.optionChosen; - if (op >= 0) + switch (gTeachyTV_StaticResources.whichScript) { - if (op <= 3) - { - TeachyTvPrepBattle(taskId); - } - else if (op <= 5) - { - gUnknown_203F450->savedCallback = TeachyTvSetupBagItemsByOptionChosen; - TeachyTvQuitBeginFade(taskId); - } + case TTVSCR_BATTLE: + case TTVSCR_STATUS: + case TTVSCR_MATCHUPS: + case TTVSCR_CATCHING: + TeachyTvPrepBattle(taskId); + break; + case TTVSCR_TMS: + case TTVSCR_REGISTER: + sResources->savedCallback = TeachyTvSetupBagItemsByOptionChosen; + TeachyTvQuitBeginFade(taskId); + break; } } -void TeachyTvSetupBagItemsByOptionChosen(void) +static void TeachyTvSetupBagItemsByOptionChosen(void) { - if (gTeachyTV_StaticResources.optionChosen == 4) + if (gTeachyTV_StaticResources.whichScript == TTVSCR_TMS) sub_810B108(10); else sub_810B108(9); } -void TeachyTvPostBattleFadeControl(u8 taskId) +static void TeachyTvPostBattleFadeControl(u8 taskId) { s16 *data = gTasks[taskId].data; if (!(gPaletteFade.active)) { - data[3] = gTeachyTvSwitchFuncArray[gTeachyTV_StaticResources.optionChosen]; + data[3] = sWhereToReturnToFromBattle[gTeachyTV_StaticResources.whichScript]; gTasks[taskId].func = TeachyTvRenderMsgAndSwitchClusterFuncs; } } -void TeachyTvGrassAnimationMain(u8 taskId, s16 x, s16 y, u8 subpriority, bool8 mode) +static void TeachyTvGrassAnimationMain(u8 taskId, s16 x, s16 y, u8 subpriority, bool8 mode) { struct Sprite *obj; u8 spriteId; - if (gUnknown_203F450->var_4006 != 1 && TeachyTvGrassAnimationCheckIfNeedsToGenerateGrassObj(x - 0x10, y)) + if (sResources->grassAnimDisabled != 1 && TeachyTvGrassAnimationCheckIfNeedsToGenerateGrassObj(x - 0x10, y)) { spriteId = CreateSprite(gUnknown_83A0010[4], 0, 0, subpriority); obj = &gSprites[spriteId]; @@ -1130,13 +1145,13 @@ void TeachyTvGrassAnimationMain(u8 taskId, s16 x, s16 y, u8 subpriority, bool8 m } } -void TeachyTvGrassAnimationObjCallback(struct Sprite *sprite) +static void TeachyTvGrassAnimationObjCallback(struct Sprite *sprite) { s16 diff1, diff2; s16 *data = gTasks[sprite->data[0]].data; struct Sprite *objAddr = &gSprites[data[1]]; - if (gUnknown_203F450->var_4006 == 1) + if (sResources->grassAnimDisabled == 1) DestroySprite(sprite); else { @@ -1144,8 +1159,8 @@ void TeachyTvGrassAnimationObjCallback(struct Sprite *sprite) sprite->subspriteTableNum = 1; else sprite->subspriteTableNum = 0; - sprite->pos2.x += (u16)data[4]; - sprite->pos2.y += (u16)data[5]; + sprite->pos2.x += data[4]; + sprite->pos2.y += data[5]; if (sprite->animEnded) { sprite->subpriority = 0; @@ -1157,7 +1172,7 @@ void TeachyTvGrassAnimationObjCallback(struct Sprite *sprite) } } -u8 TeachyTvGrassAnimationCheckIfNeedsToGenerateGrassObj(s16 x, s16 y) +static u8 TeachyTvGrassAnimationCheckIfNeedsToGenerateGrassObj(s16 x, s16 y) { const u8 * arr; struct TeachyTvBuf *ptr; @@ -1165,21 +1180,21 @@ u8 TeachyTvGrassAnimationCheckIfNeedsToGenerateGrassObj(s16 x, s16 y) if ((x < 0) || (y < 0)) return 0; arr = gTeachyTvGrassAnimArray; - high = ((y >> 4) + gUnknown_203F450->var_4005) << 4; - low = ((x >> 4) + gUnknown_203F450->var_4004); + high = ((y >> 4) + sResources->grassAnimCounterHi) << 4; + low = ((x >> 4) + sResources->grassAnimCounterLo); return arr[high+low]; } -void TeachyTvPrepBattle(u8 taskId) +static void TeachyTvPrepBattle(u8 taskId) { s16 *data = gTasks[taskId].data; TeachyTvFree(); - gSpecialVar_0x8004 = gTeachyTV_StaticResources.optionChosen; + gSpecialVar_0x8004 = gTeachyTV_StaticResources.whichScript; gMain.savedCallback = TeachyTvRestorePlayerPartyCallback; SavePlayerParty(); sub_8159F40(); PlayMapChosenOrBattleBGM(MUS_DUMMY); - if (!gTeachyTV_StaticResources.optionChosen) + if (gTeachyTV_StaticResources.whichScript == TTVSCR_BATTLE) data[6] = 9; else data[6] = 8; @@ -1187,7 +1202,7 @@ void TeachyTvPrepBattle(u8 taskId) gTasks[taskId].func = TeachyTvPreBattleAnimAndSetBattleCallback; } -void TeachyTvPreBattleAnimAndSetBattleCallback(u8 taskId) +static void TeachyTvPreBattleAnimAndSetBattleCallback(u8 taskId) { s16 *data = gTasks[taskId].data; switch (data[7]) @@ -1206,17 +1221,17 @@ void TeachyTvPreBattleAnimAndSetBattleCallback(u8 taskId) } } -void TeachyTvRestorePlayerPartyCallback(void) +static void TeachyTvRestorePlayerPartyCallback(void) { LoadPlayerParty(); - if (gUnknown_2023E8A == 3) - sub_815AC20(); + if (gBattleOutcome == B_OUTCOME_DREW) + SetTeachyTvControllerModeToResume(); else PlayNewMapMusic(BGM_FRLG_FOLLOW_ME); CB2_ReturnToTeachyTV(); } -void TeachyTvLoadBg3Map(u16 *buffer) +static void TeachyTvLoadBg3Map(u16 *buffer) { u16 * bgTilesBuffer; u8 * mapTilesRowBuffer; @@ -1281,7 +1296,7 @@ void TeachyTvLoadBg3Map(u16 *buffer) Free(blockIndicesBuffer); } -void TeachyTvLoadMapTilesetToBuffer(struct Tileset *ts, u8 *dstBuffer, u16 size) +static void TeachyTvLoadMapTilesetToBuffer(struct Tileset *ts, u8 *dstBuffer, u16 size) { if (ts) { @@ -1292,7 +1307,7 @@ void TeachyTvLoadMapTilesetToBuffer(struct Tileset *ts, u8 *dstBuffer, u16 size) } } -void TeachyTvPushBackNewMapPalIndexArrayEntry(const struct MapData *mStruct, u16 *buf1, u8 *palIndexArray, u16 mapEntry, u16 offset) +static void TeachyTvPushBackNewMapPalIndexArrayEntry(const struct MapData *mStruct, u16 *buf1, u8 *palIndexArray, u16 mapEntry, u16 offset) { u16 * metaTileEntryAddr = mapEntry <= 0x27F ? &((u16*)(mStruct->primaryTileset->metatiles))[8 * mapEntry] : &((u16*)(mStruct->secondaryTileset->metatiles))[8 * (mapEntry - 0x280)]; buf1[0] = (TeachyTvComputePalIndexArrayEntryByMetaTile(palIndexArray, metaTileEntryAddr[0]) << 12) + 4 * offset; @@ -1301,7 +1316,7 @@ void TeachyTvPushBackNewMapPalIndexArrayEntry(const struct MapData *mStruct, u16 buf1[33] = (TeachyTvComputePalIndexArrayEntryByMetaTile(palIndexArray, metaTileEntryAddr[3]) << 12) + 4 * offset + 3; } -void TeachyTvComputeMapTilesFromTilesetAndMetaTiles(u16 *metaTilesArray, u8 *blockBuf, u8 *tileset) +static void TeachyTvComputeMapTilesFromTilesetAndMetaTiles(u16 *metaTilesArray, u8 *blockBuf, u8 *tileset) { TeachyTvComputeSingleMapTileBlockFromTilesetAndMetaTiles(blockBuf, &tileset[0x20 * (*metaTilesArray & 0x3FF)], (*metaTilesArray >> 10) & 3); TeachyTvComputeSingleMapTileBlockFromTilesetAndMetaTiles(blockBuf, &tileset[0x20 * (metaTilesArray[4] & 0x3FF)], (metaTilesArray[4] >> 10) & 3); @@ -1314,7 +1329,7 @@ void TeachyTvComputeMapTilesFromTilesetAndMetaTiles(u16 *metaTilesArray, u8 *blo TeachyTvComputeSingleMapTileBlockFromTilesetAndMetaTiles(blockBuf, &tileset[0x20 * (metaTilesArray[7] & 0x3FF)], (metaTilesArray[7] >> 10) & 3); } -void TeachyTvComputeSingleMapTileBlockFromTilesetAndMetaTiles(u8 *blockBuf, u8 *tileset, u8 metaTile) +static void TeachyTvComputeSingleMapTileBlockFromTilesetAndMetaTiles(u8 *blockBuf, u8 *tileset, u8 metaTile) { u8 i, j; u8 * buffer = AllocZeroed(0x20); @@ -1350,7 +1365,7 @@ void TeachyTvComputeSingleMapTileBlockFromTilesetAndMetaTiles(u8 *blockBuf, u8 * Free(buffer); } -u16 TeachyTvComputePalIndexArrayEntryByMetaTile(u8 *palIndexArrayBuf, u16 metaTile) +static u16 TeachyTvComputePalIndexArrayEntryByMetaTile(u8 *palIndexArrayBuf, u16 metaTile) { u16 i; int firstEntry; @@ -1382,7 +1397,7 @@ u16 TeachyTvComputePalIndexArrayEntryByMetaTile(u8 *palIndexArrayBuf, u16 metaTi return (0xF - i); } -void TeachyTvLoadMapPalette(const struct MapData * mStruct, const u8 * palIndexArray) +static void TeachyTvLoadMapPalette(const struct MapData * mStruct, const u8 * palIndexArray) { u8 i; const struct Tileset * ts; diff --git a/src/tm_case.c b/src/tm_case.c index 026ba95a7..5a079ed2d 100644 --- a/src/tm_case.c +++ b/src/tm_case.c @@ -1171,7 +1171,7 @@ static void Task_TMCaseDude_Playback(u8 taskId) if (data[8] < 21) { data[8] = 21; - sub_815AC20(); + SetTeachyTvControllerModeToResume(); } } diff --git a/sym_ewram.txt b/sym_ewram.txt index e02014479..4bd540684 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -386,7 +386,7 @@ gUnknown_2023E82: @ 2023E82 gUnknown_2023E83: @ 2023E83 .space 0x7 -gUnknown_2023E8A: @ 2023E8A +gBattleOutcome: @ 2023E8A .space 0x2 gUnknown_2023E8C: @ 2023E8C -- cgit v1.2.3 From 423dc1aeb1f52567865c8619e8eb827ac404c929 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 11 Jun 2019 10:25:33 -0400 Subject: Rename teachy_tv static objects --- src/teachy_tv.c | 82 ++++++++++++++++++++++++++++----------------------------- 1 file changed, 41 insertions(+), 41 deletions(-) diff --git a/src/teachy_tv.c b/src/teachy_tv.c index f3ef96077..711a7f765 100644 --- a/src/teachy_tv.c +++ b/src/teachy_tv.c @@ -66,7 +66,7 @@ struct TeachyTvBuf u8 scrollIndicatorArrowPairId; }; -static EWRAM_DATA struct TeachyTvCtrlBlk gTeachyTV_StaticResources = {0}; +static EWRAM_DATA struct TeachyTvCtrlBlk sStaticResources = {0}; static EWRAM_DATA struct TeachyTvBuf * sResources = NULL; static void TTVcmd_TransitionRenderBg2TeachyTvGraphicInitNpcPos(u8 taskId); @@ -118,7 +118,7 @@ static void TeachyTvComputeSingleMapTileBlockFromTilesetAndMetaTiles(u8 *blockBu static u16 TeachyTvComputePalIndexArrayEntryByMetaTile(u8 *palIndexArrayBuf, u16 metaTile); static void TeachyTvLoadMapPalette(const struct MapData * mStruct, const u8 *palIndexArray); -static const struct BgTemplate gTeachyTvBgTemplateArray[] = +static const struct BgTemplate sBgTemplates[] = { { .bg = 0, @@ -158,7 +158,7 @@ static const struct BgTemplate gTeachyTvBgTemplateArray[] = }, }; -static const struct WindowTemplate gTeachyTvWindowTemplateArray[] = +static const struct WindowTemplate sWindowTemplates[] = { { .bg = 1, @@ -435,32 +435,32 @@ static void TeachyTvVblankHandler(void) void InitTeachyTvController(u8 mode, MainCallback cb) { - gTeachyTV_StaticResources.mode = mode; - gTeachyTV_StaticResources.callback = cb; + sStaticResources.mode = mode; + sStaticResources.callback = cb; if (mode == 0) { - gTeachyTV_StaticResources.scrollOffset = 0; - gTeachyTV_StaticResources.selectedRow = 0; - gTeachyTV_StaticResources.whichScript = TTVSCR_BATTLE; + sStaticResources.scrollOffset = 0; + sStaticResources.selectedRow = 0; + sStaticResources.whichScript = TTVSCR_BATTLE; } if (mode == 1) { - gTeachyTV_StaticResources.mode = 0; + sStaticResources.mode = 0; } SetMainCallback2(TeachyTvMainCallback); } void CB2_ReturnToTeachyTV(void) { - if (gTeachyTV_StaticResources.mode == 1) - InitTeachyTvController(1, gTeachyTV_StaticResources.callback); + if (sStaticResources.mode == 1) + InitTeachyTvController(1, sStaticResources.callback); else - InitTeachyTvController(2, gTeachyTV_StaticResources.callback); + InitTeachyTvController(2, sStaticResources.callback); } void SetTeachyTvControllerModeToResume(void) { - gTeachyTV_StaticResources.mode = 1; + sStaticResources.mode = 1; } static void TeachyTvMainCallback(void) @@ -491,7 +491,7 @@ static void TeachyTvMainCallback(void) return; TeachyTvCreateAndRenderRbox(); TeachyTvInitIo(); - if (gTeachyTV_StaticResources.mode == 2) + if (sStaticResources.mode == 2) { taskId = CreateTask(TeachyTvPostBattleFadeControl, 0); gTasks[taskId].data[1] = TeachyTvSetupObjEventAndOam(); @@ -523,7 +523,7 @@ static void TeachyTvSetupBg(void) { InitBgReg(); ResetBgsAndClearDma3BusyFlags(0); - InitBgsFromTemplates(0, gTeachyTvBgTemplateArray, 4); + InitBgsFromTemplates(0, sBgTemplates, 4); SetBgTilemapBuffer(1, sResources->buffer1); SetBgTilemapBuffer(2, sResources->buffer2); SetBgTilemapBuffer(3, sResources->buffer3); @@ -554,7 +554,7 @@ static void TeachyTvLoadGraphic(void) static void TeachyTvCreateAndRenderRbox(void) { - InitWindows(gTeachyTvWindowTemplateArray); + InitWindows(sWindowTemplates); DeactivateAllTextPrinters(); FillWindowPixelBuffer(0, 0xCC); PutWindowTilemap(0); @@ -576,8 +576,8 @@ static u8 TeachyTvSetupWindow(void) } return ListMenuInit( &gMultiuseListMenuTemplate, - gTeachyTV_StaticResources.scrollOffset, - gTeachyTV_StaticResources.selectedRow + sStaticResources.scrollOffset, + sStaticResources.selectedRow ); } @@ -590,7 +590,7 @@ static void TeachyTvSetupScrollIndicatorArrowPair(void) } else { - sResources->scrollIndicatorArrowPairId = AddScrollIndicatorArrowPair(&sScrollIndicatorArrowPair, &(gTeachyTV_StaticResources.scrollOffset)); + sResources->scrollIndicatorArrowPairId = AddScrollIndicatorArrowPair(&sScrollIndicatorArrowPair, &(sStaticResources.scrollOffset)); } } @@ -666,7 +666,7 @@ static void TeachyTvSetupPostBattleWindowAndObj(u8 taskId) ClearWindowTilemap(1); TeachyTvClearWindowRegs(); - switch (gTeachyTV_StaticResources.whichScript) + switch (sStaticResources.whichScript) { case TTVSCR_BATTLE: case TTVSCR_STATUS: @@ -719,7 +719,7 @@ static void TeachyTvQuitFadeControlAndTaskDel(u8 taskId) else { sub_8055DC4(); - SetMainCallback2(gTeachyTV_StaticResources.callback); + SetMainCallback2(sStaticResources.callback); } TeachyTvFree(); DestroyTask(taskId); @@ -735,8 +735,8 @@ static void TeachyTvOptionListController(u8 taskId) if (!gPaletteFade.active) { input = ListMenuHandleInput(data[0]); - ListMenuGetScrollAndRow(data[0], &gTeachyTV_StaticResources.scrollOffset, &gTeachyTV_StaticResources.selectedRow); - if ((JOY_NEW(SELECT_BUTTON) && gTeachyTV_StaticResources.callback != UseFameCheckerFromMenu)) + ListMenuGetScrollAndRow(data[0], &sStaticResources.scrollOffset, &sStaticResources.selectedRow); + if ((JOY_NEW(SELECT_BUTTON) && sStaticResources.callback != UseFameCheckerFromMenu)) { PlaySE(SE_SELECT); TeachyTvQuitBeginFade(taskId); @@ -753,8 +753,8 @@ static void TeachyTvOptionListController(u8 taskId) break; default: PlaySE(SE_SELECT); - gTeachyTV_StaticResources.whichScript = input; - DestroyListMenu(data[0], &gTeachyTV_StaticResources.scrollOffset, &gTeachyTV_StaticResources.selectedRow); + sStaticResources.whichScript = input; + DestroyListMenu(data[0], &sStaticResources.scrollOffset, &sStaticResources.selectedRow); TeachyTvClearWindowRegs(); ClearWindowTilemap(1); schedule_bg_copy_tilemap_to_vram(0); @@ -846,7 +846,7 @@ static void TeachyTvRenderMsgAndSwitchClusterFuncs(u8 taskId) sTMsScript, sRegisterKeyItemScript, }; - void (*const *cluster)(u8) = array[gTeachyTV_StaticResources.whichScript]; + void (*const *cluster)(u8) = array[sStaticResources.whichScript]; cluster[data[3]](taskId); } } @@ -862,7 +862,7 @@ static void TTVcmd_TextPrinterSwitchStringByOptionChosen(u8 taskId) gTeachyTvText_TMsScript1, gTeachyTvText_RegisterScript1, }; - TeachyTvInitTextPrinter(texts[gTeachyTV_StaticResources.whichScript]); + TeachyTvInitTextPrinter(texts[sStaticResources.whichScript]); ++data[3]; } @@ -878,17 +878,17 @@ static void TTVcmd_TextPrinterSwitchStringByOptionChosen2(u8 taskId) gTeachyTvText_TMsScript2, gTeachyTvText_RegisterScript2, }; - TeachyTvInitTextPrinter(texts[gTeachyTV_StaticResources.whichScript]); + TeachyTvInitTextPrinter(texts[sStaticResources.whichScript]); ++data[3]; } -static const u16 gUnknown_8479590[] = +static const u16 sBg1EndGraphic[] = { 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, }; -static const struct Subsprite gTeachyTvSubspriteArray[] = +static const struct Subsprite sSubspriteArray[] = { { .x = -0x8, @@ -908,7 +908,7 @@ static const struct Subsprite gTeachyTvSubspriteArray[] = }, }; -static const struct SubspriteTable gTeachyTvSubspriteTableArray[] = +static const struct SubspriteTable sSubspriteTableArray[] = { { .subspriteCount = 0, @@ -916,11 +916,11 @@ static const struct SubspriteTable gTeachyTvSubspriteTableArray[] = }, { .subspriteCount = 2, - .subsprites = gTeachyTvSubspriteArray, + .subsprites = sSubspriteArray, }, }; -static const u8 gTeachyTvGrassAnimArray[] = +static const u8 sGrassAnimArray[] = { 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, @@ -1039,7 +1039,7 @@ static void TTVcmd_RenderAndRemoveBg1EndGraphic(u8 taskId) s16 *data = gTasks[taskId].data; if (!data[2]) { - CopyToBgTilemapBufferRect_ChangePalette(1, gUnknown_8479590, 20, 10, 8, 2, 0x11); + CopyToBgTilemapBufferRect_ChangePalette(1, sBg1EndGraphic, 20, 10, 8, 2, 0x11); schedule_bg_copy_tilemap_to_vram(1); } if (++data[2] > 126) @@ -1084,7 +1084,7 @@ static void TTVcmd_End(u8 taskId) static void TTVcmd_TaskBattleOrFadeByOptionChosen(u8 taskId) { - switch (gTeachyTV_StaticResources.whichScript) + switch (sStaticResources.whichScript) { case TTVSCR_BATTLE: case TTVSCR_STATUS: @@ -1102,7 +1102,7 @@ static void TTVcmd_TaskBattleOrFadeByOptionChosen(u8 taskId) static void TeachyTvSetupBagItemsByOptionChosen(void) { - if (gTeachyTV_StaticResources.whichScript == TTVSCR_TMS) + if (sStaticResources.whichScript == TTVSCR_TMS) sub_810B108(10); else sub_810B108(9); @@ -1113,7 +1113,7 @@ static void TeachyTvPostBattleFadeControl(u8 taskId) s16 *data = gTasks[taskId].data; if (!(gPaletteFade.active)) { - data[3] = sWhereToReturnToFromBattle[gTeachyTV_StaticResources.whichScript]; + data[3] = sWhereToReturnToFromBattle[sStaticResources.whichScript]; gTasks[taskId].func = TeachyTvRenderMsgAndSwitchClusterFuncs; } } @@ -1138,7 +1138,7 @@ static void TeachyTvGrassAnimationMain(u8 taskId, s16 x, s16 y, u8 subpriority, } else { - SetSubspriteTables(obj, gTeachyTvSubspriteTableArray); + SetSubspriteTables(obj, sSubspriteTableArray); obj->subspriteTableNum = 0; obj->subspriteMode = 1; } @@ -1179,7 +1179,7 @@ static u8 TeachyTvGrassAnimationCheckIfNeedsToGenerateGrassObj(s16 x, s16 y) int high, low; if ((x < 0) || (y < 0)) return 0; - arr = gTeachyTvGrassAnimArray; + arr = sGrassAnimArray; high = ((y >> 4) + sResources->grassAnimCounterHi) << 4; low = ((x >> 4) + sResources->grassAnimCounterLo); return arr[high+low]; @@ -1189,12 +1189,12 @@ static void TeachyTvPrepBattle(u8 taskId) { s16 *data = gTasks[taskId].data; TeachyTvFree(); - gSpecialVar_0x8004 = gTeachyTV_StaticResources.whichScript; + gSpecialVar_0x8004 = sStaticResources.whichScript; gMain.savedCallback = TeachyTvRestorePlayerPartyCallback; SavePlayerParty(); sub_8159F40(); PlayMapChosenOrBattleBGM(MUS_DUMMY); - if (gTeachyTV_StaticResources.whichScript == TTVSCR_BATTLE) + if (sStaticResources.whichScript == TTVSCR_BATTLE) data[6] = 9; else data[6] = 8; -- cgit v1.2.3 From 34368a82813c11d30cbac51840810c9691f46809 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 11 Jun 2019 11:13:05 -0400 Subject: Start code decomp and data dism in help system --- asm/help_system_812B1E0.s | 77 -------------------------- common_syms/help_system_812B1E0.txt | 1 + data/data_83FECCC.s | 57 -------------------- data/help_system_812B1E0.s | 104 ++++++++++++++++++++++++++++++++++++ ld_script.txt | 3 ++ src/help_system_812B1E0.c | 44 +++++++++++++++ sym_common.txt | 6 +-- sym_ewram.txt | 11 ++-- 8 files changed, 160 insertions(+), 143 deletions(-) create mode 100644 common_syms/help_system_812B1E0.txt create mode 100644 data/help_system_812B1E0.s create mode 100644 src/help_system_812B1E0.c diff --git a/asm/help_system_812B1E0.s b/asm/help_system_812B1E0.s index b88a86b47..b360bf72b 100644 --- a/asm/help_system_812B1E0.s +++ b/asm/help_system_812B1E0.s @@ -5,83 +5,6 @@ .text - thumb_func_start sub_812B1E0 -sub_812B1E0: @ 812B1E0 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0812B1EC @ =gUnknown_203B0EC - strh r0, [r1] - bx lr - .align 2, 0 -_0812B1EC: .4byte gUnknown_203B0EC - thumb_func_end sub_812B1E0 - - thumb_func_start HelpSystem_SetSomeVariable2 -HelpSystem_SetSomeVariable2: @ 812B1F0 - push {lr} - lsls r0, 24 - lsrs r1, r0, 24 - ldr r0, _0812B21C @ =gUnknown_203B0EC - ldrh r2, [r0] - cmp r2, 0x1A - bgt _0812B216 - cmp r2, 0x17 - blt _0812B216 - cmp r1, 0x9 - beq _0812B218 - cmp r1, 0x5 - beq _0812B218 - cmp r1, 0x6 - beq _0812B218 - cmp r1, 0x7 - beq _0812B218 - cmp r1, 0x8 - beq _0812B218 -_0812B216: - strh r1, [r0] -_0812B218: - pop {r0} - bx r0 - .align 2, 0 -_0812B21C: .4byte gUnknown_203B0EC - thumb_func_end HelpSystem_SetSomeVariable2 - - thumb_func_start sub_812B220 -sub_812B220: @ 812B220 - ldr r0, _0812B22C @ =gUnknown_203B0EC - ldr r1, _0812B230 @ =gSpecialVar_0x8004 - ldrh r1, [r1] - strh r1, [r0] - bx lr - .align 2, 0 -_0812B22C: .4byte gUnknown_203B0EC -_0812B230: .4byte gSpecialVar_0x8004 - thumb_func_end sub_812B220 - - thumb_func_start sub_812B234 -sub_812B234: @ 812B234 - ldr r0, _0812B240 @ =gUnknown_3005EA0 - ldr r1, _0812B244 @ =gUnknown_203B0EC - ldrh r1, [r1] - strh r1, [r0] - bx lr - .align 2, 0 -_0812B240: .4byte gUnknown_3005EA0 -_0812B244: .4byte gUnknown_203B0EC - thumb_func_end sub_812B234 - - thumb_func_start sub_812B248 -sub_812B248: @ 812B248 - ldr r0, _0812B254 @ =gUnknown_203B0EC - ldr r1, _0812B258 @ =gUnknown_3005EA0 - ldrh r1, [r1] - strh r1, [r0] - bx lr - .align 2, 0 -_0812B254: .4byte gUnknown_203B0EC -_0812B258: .4byte gUnknown_3005EA0 - thumb_func_end sub_812B248 - thumb_func_start sub_812B25C sub_812B25C: @ 812B25C push {lr} diff --git a/common_syms/help_system_812B1E0.txt b/common_syms/help_system_812B1E0.txt new file mode 100644 index 000000000..0541b5490 --- /dev/null +++ b/common_syms/help_system_812B1E0.txt @@ -0,0 +1 @@ +gUnknown_3005EA0 diff --git a/data/data_83FECCC.s b/data/data_83FECCC.s index 1f61683bf..bc4bdc6ed 100644 --- a/data/data_83FECCC.s +++ b/data/data_83FECCC.s @@ -3726,60 +3726,3 @@ gUnknown_845B050:: @ 845B050 gUnknown_845B068:: @ 845B068 .incbin "baserom.gba", 0x45B068, 0x18 - -gUnknown_845B080:: @ 845B080 - .incbin "baserom.gba", 0x45B080, 0x18 - -gUnknown_845B098:: @ 845B098 - .incbin "baserom.gba", 0x45B098, 0x18 - -gUnknown_845B0B0:: @ 845B0B0 - .incbin "baserom.gba", 0x45B0B0, 0xB4 - -gUnknown_845B164:: @ 845B164 - .incbin "baserom.gba", 0x45B164, 0xB4 - -gUnknown_845B218:: @ 845B218 - .incbin "baserom.gba", 0x45B218, 0xC4 - -gUnknown_845B2DC:: @ 845B2DC - .incbin "baserom.gba", 0x45B2DC, 0xC4 - -gUnknown_845B3A0:: @ 845B3A0 - .incbin "baserom.gba", 0x45B3A0, 0xB0 - -gUnknown_845B450:: @ 845B450 - .incbin "baserom.gba", 0x45B450, 0xB0 - -gUnknown_845B500:: @ 845B500 - .incbin "baserom.gba", 0x45B500, 0x20 - -gUnknown_845B520:: @ 845B520 - .incbin "baserom.gba", 0x45B520, 0x20 - -gUnknown_845B540:: @ 845B540 - .incbin "baserom.gba", 0x45B540, 0x90 - -gUnknown_845B5D0:: @ 845B5D0 - .incbin "baserom.gba", 0x45B5D0, 0x3EE - -gUnknown_845B9BE:: @ 845B9BE - .incbin "baserom.gba", 0x45B9BE, 0x22 - -gUnknown_845B9E0:: @ 845B9E0 - .incbin "baserom.gba", 0x45B9E0, 0xAD0 - -gUnknown_845C4B0:: @ 845C4B0 - .incbin "baserom.gba", 0x45C4B0, 0x6 - -gUnknown_845C4B6:: @ 845C4B6 - .incbin "baserom.gba", 0x45C4B6, 0xDE - -gUnknown_845C594:: @ 845C594 - .incbin "baserom.gba", 0x45C594, 0x28 - -gUnknown_845C5BC:: @ 845C5BC - .incbin "baserom.gba", 0x45C5BC, 0x12 - -gUnknown_845C5CE:: @ 845C5CE - .incbin "baserom.gba", 0x45C5CE, 0x32 diff --git a/data/help_system_812B1E0.s b/data/help_system_812B1E0.s new file mode 100644 index 000000000..1859b6a55 --- /dev/null +++ b/data/help_system_812B1E0.s @@ -0,0 +1,104 @@ +#include "constants/maps.h" + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + .align 2, 0 +gUnknown_845B080:: @ 845B080 + .incbin "baserom.gba", 0x45B080, 0x18 + +gUnknown_845B098:: @ 845B098 + .incbin "baserom.gba", 0x45B098, 0x18 + +gUnknown_845B0B0:: @ 845B0B0 + .incbin "baserom.gba", 0x45B0B0, 0xB4 + +gUnknown_845B164:: @ 845B164 + .incbin "baserom.gba", 0x45B164, 0xB4 + +gUnknown_845B218:: @ 845B218 + .incbin "baserom.gba", 0x45B218, 0xC4 + +gUnknown_845B2DC:: @ 845B2DC + .incbin "baserom.gba", 0x45B2DC, 0xC4 + +gUnknown_845B3A0:: @ 845B3A0 + .incbin "baserom.gba", 0x45B3A0, 0xB0 + +gUnknown_845B450:: @ 845B450 + .incbin "baserom.gba", 0x45B450, 0xB0 + +gUnknown_845B500:: @ 845B500 + .incbin "baserom.gba", 0x45B500, 0x20 + +gUnknown_845B520:: @ 845B520 + .incbin "baserom.gba", 0x45B520, 0x20 + +gUnknown_845B540:: @ 845B540 + .incbin "baserom.gba", 0x45B540, 0x90 + +gUnknown_845B5D0:: @ 845B5D0 + .incbin "baserom.gba", 0x45B5D0, 0x3EE + +gUnknown_845B9BE:: @ 845B9BE + .incbin "baserom.gba", 0x45B9BE, 0x22 + +gUnknown_845B9E0:: @ 845B9E0 + .incbin "baserom.gba", 0x45B9E0, 0xAD0 + +gUnknown_845C4B0:: @ 845C4B0 + .incbin "baserom.gba", 0x45C4B0, 0x6 + +gUnknown_845C4B6:: @ 845C4B6 + .incbin "baserom.gba", 0x45C4B6, 0xDE + +gUnknown_845C594:: @ 845C594 + .2byte MAP_VIRIDIAN_CITY_MART + .2byte MAP_PEWTER_CITY_MART + .2byte MAP_CERULEAN_CITY_MART + .2byte MAP_LAVENDER_TOWN_MART + .2byte MAP_VERMILION_CITY_MART + .2byte MAP_CELADON_CITY_DEPARTMENT_STORE_1F + .2byte MAP_CELADON_CITY_DEPARTMENT_STORE_2F + .2byte MAP_CELADON_CITY_DEPARTMENT_STORE_3F + .2byte MAP_CELADON_CITY_DEPARTMENT_STORE_4F + .2byte MAP_CELADON_CITY_DEPARTMENT_STORE_5F + .2byte MAP_CELADON_CITY_DEPARTMENT_STORE_ROOF + .2byte MAP_CELADON_CITY_DEPARTMENT_STORE_ELEVATOR + .2byte MAP_FUCHSIA_CITY_MART + .2byte MAP_CINNABAR_ISLAND_MART + .2byte MAP_SAFFRON_CITY_MART + .2byte MAP_THREE_ISLAND_MART + .2byte MAP_FOUR_ISLAND_MART + .2byte MAP_SEVEN_ISLAND_MART + .2byte MAP_SIX_ISLAND_MART + .2byte 0xffff + +gUnknown_845C5BC:: @ 845C5BC + .2byte MAP_PEWTER_CITY_GYM + .2byte MAP_CERULEAN_CITY_GYM + .2byte MAP_VERMILION_CITY_GYM + .2byte MAP_CELADON_CITY_GYM + .2byte MAP_FUCHSIA_CITY_GYM + .2byte MAP_SAFFRON_CITY_GYM + .2byte MAP_CINNABAR_ISLAND_GYM + .2byte MAP_VIRIDIAN_CITY_GYM + .2byte 0xffff + +gUnknown_845C5CE:: @ 845C5CE + .byte 0x01, 0x00, 0x01 @ MAP_VIRIDIAN_FOREST + .byte 0x01, 0x01, 0x03 @ MAP_MT_MOON_1F + .byte 0x01, 0x51, 0x02 @ MAP_ROCK_TUNNEL_1F + .byte 0x01, 0x24, 0x03 @ MAP_DIGLETTS_CAVE_NORTH_ENTRANCE + .byte 0x01, 0x53, 0x05 @ MAP_SEAFOAM_ISLANDS_1F + .byte 0x01, 0x27, 0x03 @ MAP_VICTORY_ROAD_1F + .byte 0x01, 0x48, 0x03 @ MAP_CERULEAN_CAVE_1F + .byte 0x01, 0x60, 0x01 @ MAP_MT_EMBER_RUBY_PATH_B4F + .byte 0x01, 0x62, 0x03 @ MAP_MT_EMBER_SUMMIT_PATH_1F + .byte 0x01, 0x66, 0x07 @ MAP_MT_EMBER_RUBY_PATH_B5F + .byte 0x01, 0x6d, 0x01 @ MAP_THREE_ISLAND_BERRY_FOREST + .byte 0x01, 0x79, 0x01 @ MAP_SIX_ISLAND_PATTERN_BUSH + .byte 0x02, 0x0c, 0x0f @ MAP_FIVE_ISLAND_LOST_CAVE_ENTRANCE + .byte 0x01, 0x6e, 0x04 @ MAP_FOUR_ISLAND_ICEFALL_CAVE_ENTRANCE + .byte 0x01, 0x7a, 0x01 @ MAP_SIX_ISLAND_ALTERING_CAVE + .byte 0x02, 0x1b, 0x07 @ MAP_SEVEN_ISLAND_TANOBY_RUINS_MONEAN_CHAMBER diff --git a/ld_script.txt b/ld_script.txt index d264549b7..d7e81d837 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -239,6 +239,7 @@ SECTIONS { asm/pokemon_special_anim.o(.text); asm/party_menu.o(.text); asm/union_room_chat.o(.text); + src/help_system_812B1E0.o(.text); asm/help_system_812B1E0.o(.text); src/quest_log_battle.o(.text); src/fame_checker.o(.text); @@ -419,6 +420,8 @@ SECTIONS { data/data_83FECCC.o(.rodata.8453F6C); src/quest_log.o(.rodata); data/data_83FECCC.o(.rodata.8456C74); + src/help_system_812B1E0.o(.rodata); + data/help_system_812B1E0.o(.rodata); src/fame_checker.o(.rodata); src/menu2.o(.rodata); src/oak_speech.o(.rodata); diff --git a/src/help_system_812B1E0.c b/src/help_system_812B1E0.c new file mode 100644 index 000000000..f1d55276b --- /dev/null +++ b/src/help_system_812B1E0.c @@ -0,0 +1,44 @@ +#include "global.h" +#include "event_data.h" + +EWRAM_DATA u16 gUnknown_203B0EC = 0; +EWRAM_DATA u8 gUnknown_203B0EE = 0; + +u16 gUnknown_3005EA0; + +void sub_812B1E0(u8 a0) +{ + gUnknown_203B0EC = a0; +} + +void HelpSystem_SetSomeVariable2(u8 a0) +{ + switch (gUnknown_203B0EC) + { + case 23: + case 24: + case 25: + case 26: + if (a0 == 9 || a0 == 5 || a0 == 6 || a0 == 7 || a0 == 8) + break; + // fallthrough + default: + gUnknown_203B0EC = a0; + break; + } +} + +void sub_812B220(void) +{ + gUnknown_203B0EC = gSpecialVar_0x8004; +} + +void sub_812B234(void) +{ + gUnknown_3005EA0 = gUnknown_203B0EC; +} + +void sub_812B248(void) +{ + gUnknown_203B0EC = gUnknown_3005EA0; +} diff --git a/sym_common.txt b/sym_common.txt index 56536bda2..059a30bb9 100644 --- a/sym_common.txt +++ b/sym_common.txt @@ -321,9 +321,9 @@ gUnknown_3005E98: @ 3005E98 gUnknown_3005E9C: @ 3005E9C .space 0x4 -gUnknown_3005EA0: @ 3005EA0 - .space 0x10 - + .align 4 + .include "help_system_812B1E0.o" + .align 4 .include "fame_checker.o" gUnknown_3005ECC: @ 3005ECC diff --git a/sym_ewram.txt b/sym_ewram.txt index 4bd540684..5219ec5ef 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -1483,14 +1483,13 @@ gUnknown_203B0E4: @ 203B0E4 gUnknown_203B0E8: @ 203B0E8 .space 0x4 -gUnknown_203B0EC: @ 203B0EC - .space 0x2 - -gUnknown_203B0EE: @ 203B0EE - .space 0x2 - + .align 2 + .include "src/help_system_812B1E0.o" + .align 2 .include "src/fame_checker.o" + .align 2 .include "src/oak_speech.o" + .align 2 .include "src/tm_case.o" gUnknown_203B130: @ 203B130 -- cgit v1.2.3 From c5c9e358075a4f891e50614c6e2b0e0c989eafeb Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 11 Jun 2019 14:32:12 -0400 Subject: help_system_812B1E0: through sub_812B27C --- asm/help_system_812B1E0.s | 65 ---------------------------------------------- data/help_system_812B1E0.s | 4 +-- src/help_system_812B1E0.c | 31 ++++++++++++++++++++++ 3 files changed, 33 insertions(+), 67 deletions(-) diff --git a/asm/help_system_812B1E0.s b/asm/help_system_812B1E0.s index b360bf72b..239b25afb 100644 --- a/asm/help_system_812B1E0.s +++ b/asm/help_system_812B1E0.s @@ -5,71 +5,6 @@ .text - thumb_func_start sub_812B25C -sub_812B25C: @ 812B25C - push {lr} - ldr r0, _0812B268 @ =gUnknown_845C594 - bl sub_812B27C - pop {r1} - bx r1 - .align 2, 0 -_0812B268: .4byte gUnknown_845C594 - thumb_func_end sub_812B25C - - thumb_func_start sub_812B26C -sub_812B26C: @ 812B26C - push {lr} - ldr r0, _0812B278 @ =gUnknown_845C5BC - bl sub_812B27C - pop {r1} - bx r1 - .align 2, 0 -_0812B278: .4byte gUnknown_845C5BC - thumb_func_end sub_812B26C - - thumb_func_start sub_812B27C -sub_812B27C: @ 812B27C - push {r4,lr} - adds r2, r0, 0 - ldr r0, _0812B2AC @ =gSaveBlock1Ptr - ldr r0, [r0] - movs r1, 0x4 - ldrsb r1, [r0, r1] - lsls r1, 8 - ldrb r0, [r0, 0x5] - lsls r0, 24 - asrs r0, 24 - adds r0, r1 - lsls r0, 16 - lsrs r3, r0, 16 - ldrh r0, [r2] - ldr r1, _0812B2B0 @ =0x0000ffff - cmp r0, r1 - beq _0812B2BC - adds r4, r1, 0 - adds r1, r2, 0 -_0812B2A2: - ldrh r0, [r1] - cmp r0, r3 - bne _0812B2B4 - movs r0, 0x1 - b _0812B2BE - .align 2, 0 -_0812B2AC: .4byte gSaveBlock1Ptr -_0812B2B0: .4byte 0x0000ffff -_0812B2B4: - adds r1, 0x2 - ldrh r0, [r1] - cmp r0, r4 - bne _0812B2A2 -_0812B2BC: - movs r0, 0 -_0812B2BE: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_812B27C - thumb_func_start sub_812B2C4 sub_812B2C4: @ 812B2C4 push {r4-r7,lr} diff --git a/data/help_system_812B1E0.s b/data/help_system_812B1E0.s index 1859b6a55..14eed797a 100644 --- a/data/help_system_812B1E0.s +++ b/data/help_system_812B1E0.s @@ -72,7 +72,7 @@ gUnknown_845C594:: @ 845C594 .2byte MAP_FOUR_ISLAND_MART .2byte MAP_SEVEN_ISLAND_MART .2byte MAP_SIX_ISLAND_MART - .2byte 0xffff + .2byte MAP_UNDEFINED gUnknown_845C5BC:: @ 845C5BC .2byte MAP_PEWTER_CITY_GYM @@ -83,7 +83,7 @@ gUnknown_845C5BC:: @ 845C5BC .2byte MAP_SAFFRON_CITY_GYM .2byte MAP_CINNABAR_ISLAND_GYM .2byte MAP_VIRIDIAN_CITY_GYM - .2byte 0xffff + .2byte MAP_UNDEFINED gUnknown_845C5CE:: @ 845C5CE .byte 0x01, 0x00, 0x01 @ MAP_VIRIDIAN_FOREST diff --git a/src/help_system_812B1E0.c b/src/help_system_812B1E0.c index f1d55276b..4477352d9 100644 --- a/src/help_system_812B1E0.c +++ b/src/help_system_812B1E0.c @@ -1,11 +1,17 @@ #include "global.h" #include "event_data.h" +#include "constants/maps.h" EWRAM_DATA u16 gUnknown_203B0EC = 0; EWRAM_DATA u8 gUnknown_203B0EE = 0; u16 gUnknown_3005EA0; +bool32 sub_812B27C(const u16 * mapIdxs); + +extern const u16 gUnknown_845C594[]; // marts +extern const u16 gUnknown_845C5BC[]; // gyms + void sub_812B1E0(u8 a0) { gUnknown_203B0EC = a0; @@ -42,3 +48,28 @@ void sub_812B248(void) { gUnknown_203B0EC = gUnknown_3005EA0; } + +bool32 sub_812B25C(void) +{ + return sub_812B27C(gUnknown_845C594); +} + +bool32 sub_812B26C(void) +{ + return sub_812B27C(gUnknown_845C5BC); +} + +bool32 sub_812B27C(const u16 * mapIdxs) +{ + u16 mapIdx = (gSaveBlock1Ptr->location.mapGroup << 8) + gSaveBlock1Ptr->location.mapNum; + s32 i; + + for (i = 0; mapIdxs[i] != MAP_UNDEFINED; i++) + { + if (mapIdxs[i] == mapIdx) + return TRUE; + } + + return FALSE; +} + -- cgit v1.2.3 From 71d017a2bc12b584dad5e2d3a165e361e7866512 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 11 Jun 2019 17:32:33 -0400 Subject: help_system_812B1E0: through sub_812B4D8 --- asm/help_system_812B1E0.s | 321 ------------------------------------ common_syms/help_system_812B1E0.txt | 1 + include/constants/flags.h | 1 + include/help_system.h | 29 +++- include/overworld.h | 1 + include/save_location.h | 1 + src/help_system_812B1E0.c | 125 ++++++++++++++ sym_common.txt | 4 - 8 files changed, 157 insertions(+), 326 deletions(-) diff --git a/asm/help_system_812B1E0.s b/asm/help_system_812B1E0.s index 239b25afb..a6036015e 100644 --- a/asm/help_system_812B1E0.s +++ b/asm/help_system_812B1E0.s @@ -5,327 +5,6 @@ .text - thumb_func_start sub_812B2C4 -sub_812B2C4: @ 812B2C4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - movs r5, 0 - ldr r0, _0812B2E8 @ =gUnknown_845C5CE - mov r9, r0 - movs r0, 0x2 - add r0, r9 - mov r8, r0 -_0812B2D8: - movs r6, 0 - mov r4, r9 - lsls r1, r5, 1 - adds r0, r1, r5 - add r0, r8 - adds r7, r1, 0 - b _0812B33A - .align 2, 0 -_0812B2E8: .4byte gUnknown_845C5CE -_0812B2EC: - adds r3, r1, r5 - adds r0, r3, r4 - ldrb r1, [r0] - ldr r0, _0812B324 @ =gSaveBlock1Ptr - ldr r2, [r0] - movs r0, 0x4 - ldrsb r0, [r2, r0] - cmp r1, r0 - bne _0812B32C - adds r0, r4, 0x1 - adds r0, r3, r0 - ldrb r0, [r0] - adds r0, r6 - movs r1, 0x5 - ldrsb r1, [r2, r1] - cmp r0, r1 - bne _0812B32C - cmp r5, 0xF - bne _0812B320 - ldr r0, _0812B328 @ =0x00000849 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0812B32C -_0812B320: - movs r0, 0x1 - b _0812B34C - .align 2, 0 -_0812B324: .4byte gSaveBlock1Ptr -_0812B328: .4byte 0x00000849 -_0812B32C: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r4, _0812B358 @ =gUnknown_845C5CE - adds r1, r7, 0 - adds r0, r1, r5 - add r0, r8 -_0812B33A: - ldrb r0, [r0] - cmp r6, r0 - bcc _0812B2EC - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0xF - bls _0812B2D8 - movs r0, 0 -_0812B34C: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0812B358: .4byte gUnknown_845C5CE - thumb_func_end sub_812B2C4 - - thumb_func_start sub_812B35C -sub_812B35C: @ 812B35C - push {lr} - bl sub_812B4B8 - movs r0, 0x8 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - beq _0812B376 - movs r0, 0x16 - bl HelpSystem_SetSomeVariable2 - b _0812B406 -_0812B376: - bl sub_812B2C4 - lsls r0, 24 - cmp r0, 0 - beq _0812B388 - movs r0, 0x15 - bl HelpSystem_SetSomeVariable2 - b _0812B406 -_0812B388: - ldr r0, _0812B3B0 @ =gMapHeader - ldrb r0, [r0, 0x17] - bl is_light_level_8_or_9 - lsls r0, 24 - cmp r0, 0 - beq _0812B400 - ldr r0, _0812B3B4 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x4] - cmp r1, 0x4 - beq _0812B3A8 - movs r0, 0x82 - lsls r0, 1 - cmp r1, r0 - bne _0812B3B8 -_0812B3A8: - movs r0, 0xE - bl HelpSystem_SetSomeVariable2 - b _0812B406 - .align 2, 0 -_0812B3B0: .4byte gMapHeader -_0812B3B4: .4byte gSaveBlock1Ptr -_0812B3B8: - movs r0, 0xC1 - lsls r0, 2 - cmp r1, r0 - bne _0812B3C8 - movs r0, 0xF - bl HelpSystem_SetSomeVariable2 - b _0812B406 -_0812B3C8: - bl IsCurMapPokeCenter - cmp r0, 0x1 - bne _0812B3D8 - movs r0, 0x10 - bl HelpSystem_SetSomeVariable2 - b _0812B406 -_0812B3D8: - bl sub_812B25C - cmp r0, 0x1 - bne _0812B3E8 - movs r0, 0x11 - bl HelpSystem_SetSomeVariable2 - b _0812B406 -_0812B3E8: - bl sub_812B26C - cmp r0, 0x1 - bne _0812B3F8 - movs r0, 0x12 - bl HelpSystem_SetSomeVariable2 - b _0812B406 -_0812B3F8: - movs r0, 0x13 - bl HelpSystem_SetSomeVariable2 - b _0812B406 -_0812B400: - movs r0, 0x14 - bl HelpSystem_SetSomeVariable2 -_0812B406: - pop {r0} - bx r0 - thumb_func_end sub_812B35C - - thumb_func_start sub_812B40C -sub_812B40C: @ 812B40C - push {lr} - ldr r0, _0812B434 @ =gUnknown_203B0EE - ldrb r0, [r0] - cmp r0, 0x1 - beq _0812B42E - ldr r0, _0812B438 @ =gSaveFileStatus - ldrh r0, [r0] - cmp r0, 0 - beq _0812B440 - cmp r0, 0x2 - beq _0812B440 - ldr r0, _0812B43C @ =0x0000083c - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0812B440 -_0812B42E: - movs r0, 0 - b _0812B44E - .align 2, 0 -_0812B434: .4byte gUnknown_203B0EE -_0812B438: .4byte gSaveFileStatus -_0812B43C: .4byte 0x0000083c -_0812B440: - ldr r0, _0812B454 @ =0x0000083c - bl FlagSet - ldr r1, _0812B458 @ =gUnknown_203B0EE - movs r0, 0x1 - strb r0, [r1] - movs r0, 0x1 -_0812B44E: - pop {r1} - bx r1 - .align 2, 0 -_0812B454: .4byte 0x0000083c -_0812B458: .4byte gUnknown_203B0EE - thumb_func_end sub_812B40C - - thumb_func_start sub_812B45C -sub_812B45C: @ 812B45C - push {lr} - ldr r0, _0812B46C @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0x1 - beq _0812B470 - movs r0, 0x1 - b _0812B472 - .align 2, 0 -_0812B46C: .4byte gReceivedRemoteLinkPlayers -_0812B470: - movs r0, 0 -_0812B472: - pop {r1} - bx r1 - thumb_func_end sub_812B45C - - thumb_func_start sub_812B478 -sub_812B478: @ 812B478 - ldr r1, _0812B480 @ =gUnknown_3005ECC - movs r0, 0 - strb r0, [r1] - bx lr - .align 2, 0 -_0812B480: .4byte gUnknown_3005ECC - thumb_func_end sub_812B478 - - thumb_func_start sub_812B484 -sub_812B484: @ 812B484 - push {lr} - ldr r0, _0812B4A4 @ =gUnknown_203ADFA - ldrb r0, [r0] - subs r0, 0x2 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bls _0812B49E - ldr r1, _0812B4A8 @ =gUnknown_3005ECC - movs r0, 0x1 - strb r0, [r1] - bl sub_812B4B8 -_0812B49E: - pop {r0} - bx r0 - .align 2, 0 -_0812B4A4: .4byte gUnknown_203ADFA -_0812B4A8: .4byte gUnknown_3005ECC - thumb_func_end sub_812B484 - - thumb_func_start sub_812B4AC -sub_812B4AC: @ 812B4AC - ldr r1, _0812B4B4 @ =gUnknown_203F175 - movs r0, 0x1 - strb r0, [r1] - bx lr - .align 2, 0 -_0812B4B4: .4byte gUnknown_203F175 - thumb_func_end sub_812B4AC - - thumb_func_start sub_812B4B8 -sub_812B4B8: @ 812B4B8 - ldr r1, _0812B4C0 @ =gUnknown_203F175 - movs r0, 0 - strb r0, [r1] - bx lr - .align 2, 0 -_0812B4C0: .4byte gUnknown_203F175 - thumb_func_end sub_812B4B8 - - thumb_func_start sub_812B4C4 -sub_812B4C4: @ 812B4C4 - str r1, [r0] - movs r2, 0x1 - movs r1, 0x1 - strh r1, [r0, 0x4] - strh r1, [r0, 0x6] - strb r2, [r0, 0x8] - movs r1, 0x4 - strb r1, [r0, 0x9] - bx lr - thumb_func_end sub_812B4C4 - - thumb_func_start sub_812B4D8 -sub_812B4D8: @ 812B4D8 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl sub_812B4C4 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_812B520 - ldr r0, _0812B518 @ =gUnknown_841DFAC - bl sub_812BF74 - ldr r0, _0812B51C @ =gUnknown_3005E9C - ldrb r2, [r0, 0x2] - adds r0, r4, 0 - movs r1, 0 - bl sub_813C64C - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_812BF9C - movs r0, 0x1 - bl sub_813BDA4 - movs r0, 0x1 - bl sub_813BD5C - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0812B518: .4byte gUnknown_841DFAC -_0812B51C: .4byte gUnknown_3005E9C - thumb_func_end sub_812B4D8 - thumb_func_start sub_812B520 sub_812B520: @ 812B520 push {r4-r7,lr} diff --git a/common_syms/help_system_812B1E0.txt b/common_syms/help_system_812B1E0.txt index 0541b5490..7986bedb5 100644 --- a/common_syms/help_system_812B1E0.txt +++ b/common_syms/help_system_812B1E0.txt @@ -1 +1,2 @@ +gUnknown_3005E9C gUnknown_3005EA0 diff --git a/include/constants/flags.h b/include/constants/flags.h index 8ecac9769..eed83d7c6 100644 --- a/include/constants/flags.h +++ b/include/constants/flags.h @@ -68,6 +68,7 @@ #define FLAG_0x82F 0x82F #define FLAG_0x830 0x830 #define FLAG_0x834 0x834 +#define FLAG_0x83C 0x83C #define FLAG_0x83E 0x83E #define FLAG_0x841 0x841 #define FLAG_0x844 0x844 diff --git a/include/help_system.h b/include/help_system.h index 97acec45e..6eee0dcb3 100644 --- a/include/help_system.h +++ b/include/help_system.h @@ -3,11 +3,38 @@ #include "global.h" +struct HelpSystemStruct_203F1AC +{ + +}; + +struct HelpSystemStruct_203F190_sub +{ + struct HelpSystemStruct_203F1AC * field_00; + u16 field_04; + u16 field_06; + u8 field_08; + u8 field_09; + +}; + +struct HelpSystemStruct_203F190 +{ + struct HelpSystemStruct_203F190_sub field_00; + u8 filler_0C[0x10]; +}; + +extern struct HelpSystemStruct_203F190 gUnknown_203F190; +extern struct HelpSystemStruct_203F1AC gUnknown_203F1AC; extern bool8 gUnknown_3005ECC; +extern u8 gUnknown_203F175; -void sub_812B1E0(u16); +void sub_812B1E0(u8); void sub_812B484(void); void HelpSystem_SetSomeVariable2(u8); void sub_812B478(void); +void sub_813C64C(struct HelpSystemStruct_203F190_sub *, u8, u8); +void sub_813BDA4(u8); +void sub_813BD5C(u8); #endif //GUARD_HELP_SYSTEM_H diff --git a/include/overworld.h b/include/overworld.h index a3fe1161f..b8cf58b4d 100644 --- a/include/overworld.h +++ b/include/overworld.h @@ -111,5 +111,6 @@ void Overworld_FadeOutMapMusic(void); void sub_805671C(void); void sub_8055DC4(void); bool8 sub_8055FC4(void); +bool8 is_light_level_8_or_9(u8 mapType); #endif //GUARD_ROM4_H diff --git a/include/save_location.h b/include/save_location.h index 69b39ea53..cd499643e 100644 --- a/include/save_location.h +++ b/include/save_location.h @@ -7,5 +7,6 @@ bool32 sub_81AFCEC(void); void TrySetMapSaveWarpStatus(void); void sub_81AFDA0(void); void sub_81AFDD0(void); +bool32 IsCurMapPokeCenter(void); #endif // GUARD_SAVE_LOCATION_H diff --git a/src/help_system_812B1E0.c b/src/help_system_812B1E0.c index 4477352d9..2b64a3ab3 100644 --- a/src/help_system_812B1E0.c +++ b/src/help_system_812B1E0.c @@ -1,16 +1,32 @@ #include "global.h" #include "event_data.h" +#include "field_player_avatar.h" +#include "help_system.h" +#include "link.h" +#include "overworld.h" +#include "quest_log.h" +#include "save.h" +#include "save_location.h" #include "constants/maps.h" EWRAM_DATA u16 gUnknown_203B0EC = 0; EWRAM_DATA u8 gUnknown_203B0EE = 0; +u8 gUnknown_3005E9C[4]; u16 gUnknown_3005EA0; bool32 sub_812B27C(const u16 * mapIdxs); +void sub_812B4B8(void); +void sub_812B520(struct HelpSystemStruct_203F190_sub * a0, struct HelpSystemStruct_203F1AC * a1); +void sub_812BF9C(struct HelpSystemStruct_203F190_sub * a0, struct HelpSystemStruct_203F1AC * a1); +void sub_812BF74(const u8 *); + +// strings.h +extern const u8 gUnknown_841DFAC[]; extern const u16 gUnknown_845C594[]; // marts extern const u16 gUnknown_845C5BC[]; // gyms +extern const u8 gUnknown_845C5CE[][3]; void sub_812B1E0(u8 a0) { @@ -73,3 +89,112 @@ bool32 sub_812B27C(const u16 * mapIdxs) return FALSE; } +bool8 sub_812B2C4(void) +{ + u8 i, j; + + for (i = 0; i < 16; i++) + { + for (j = 0; j < gUnknown_845C5CE[i][2]; j++) + { + if ( + gUnknown_845C5CE[i][0] == gSaveBlock1Ptr->location.mapGroup + && gUnknown_845C5CE[i][1] + j == gSaveBlock1Ptr->location.mapNum + && (i != 15 || FlagGet(FLAG_0x849) == TRUE) + ) + return TRUE; + } + } + + return FALSE; +} + +void sub_812B35C(void) +{ + sub_812B4B8(); + if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING)) + HelpSystem_SetSomeVariable2(0x16); + else if (sub_812B2C4()) + HelpSystem_SetSomeVariable2(0x15); + else if (is_light_level_8_or_9(gMapHeader.mapType)) + { + if ((gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(PALLET_TOWN_PLAYERS_HOUSE_1F) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(PALLET_TOWN_PLAYERS_HOUSE_1F)) || (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(PALLET_TOWN_PLAYERS_HOUSE_2F) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(PALLET_TOWN_PLAYERS_HOUSE_2F))) + HelpSystem_SetSomeVariable2(0x0E); + else if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(PALLET_TOWN_PROFESSOR_OAKS_LAB) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(PALLET_TOWN_PROFESSOR_OAKS_LAB)) + HelpSystem_SetSomeVariable2(0x0F); + else if (IsCurMapPokeCenter() == TRUE) + HelpSystem_SetSomeVariable2(0x10); + else if (sub_812B25C() == TRUE) + HelpSystem_SetSomeVariable2(0x11); + else if (sub_812B26C() == TRUE) + HelpSystem_SetSomeVariable2(0x12); + else + HelpSystem_SetSomeVariable2(0x13); + } + else + HelpSystem_SetSomeVariable2(0x14); +} + +bool8 sub_812B40C(void) +{ + if (gUnknown_203B0EE == 1) + return FALSE; + + if (gSaveFileStatus != SAVE_STATUS_EMPTY && gSaveFileStatus != SAVE_STATUS_INVALID && FlagGet(FLAG_0x83C)) + return FALSE; + + FlagSet(FLAG_0x83C); + gUnknown_203B0EE = 1; + return TRUE; +} + +bool8 sub_812B45C(void) +{ + if (gReceivedRemoteLinkPlayers == 1) + return FALSE; + return TRUE; +} + +void sub_812B478(void) +{ + gUnknown_3005ECC = 0; +} + +void sub_812B484(void) +{ + if (gUnknown_203ADFA != 2 && gUnknown_203ADFA != 3) + { + gUnknown_3005ECC = 1; + sub_812B4B8(); + } +} + +void sub_812B4AC(void) +{ + gUnknown_203F175 = 1; +} + +void sub_812B4B8(void) +{ + gUnknown_203F175 = 0; +} + +void sub_812B4C4(struct HelpSystemStruct_203F190_sub * a0, struct HelpSystemStruct_203F1AC * a1) +{ + a0->field_00 = a1; + a0->field_04 = 1; + a0->field_06 = 1; + a0->field_08 = 1; + a0->field_09 = 4; +} + +void sub_812B4D8(struct HelpSystemStruct_203F190_sub * a0, struct HelpSystemStruct_203F1AC * a1) +{ + sub_812B4C4(a0, a1); + sub_812B520(a0, a1); + sub_812BF74(gUnknown_841DFAC); + sub_813C64C(a0, 0, gUnknown_3005E9C[2]); + sub_812BF9C(a0, a1); + sub_813BDA4(1); + sub_813BD5C(1); +} diff --git a/sym_common.txt b/sym_common.txt index 059a30bb9..429623cb7 100644 --- a/sym_common.txt +++ b/sym_common.txt @@ -318,10 +318,6 @@ gUnknown_3005E94: @ 3005E94 gUnknown_3005E98: @ 3005E98 .space 0x4 -gUnknown_3005E9C: @ 3005E9C - .space 0x4 - - .align 4 .include "help_system_812B1E0.o" .align 4 .include "fame_checker.o" -- cgit v1.2.3 From b6709608f53d788db517f2abeaddb6284d64e199 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 11 Jun 2019 19:32:23 -0400 Subject: help_system_812B1E0: through sub_812B5A8 --- asm/help_system_812B1E0.s | 115 ---------------------------------------------- data/data_83FECCC.s | 66 +++++++++++++++++++++----- include/help_system.h | 23 +++++----- include/list_menu.h | 1 + src/help_system_812B1E0.c | 56 ++++++++++++++++++---- 5 files changed, 114 insertions(+), 147 deletions(-) diff --git a/asm/help_system_812B1E0.s b/asm/help_system_812B1E0.s index a6036015e..77c196c4e 100644 --- a/asm/help_system_812B1E0.s +++ b/asm/help_system_812B1E0.s @@ -5,121 +5,6 @@ .text - thumb_func_start sub_812B520 -sub_812B520: @ 812B520 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r6, r0, 0 - adds r5, r1, 0 - movs r4, 0 - movs r3, 0 - ldr r0, _0812B598 @ =gUnknown_845C4B0 - mov r9, r0 - ldr r1, _0812B59C @ =gUnknown_203B0EC - mov r8, r1 - ldr r0, _0812B5A0 @ =gUnknown_845C4B6 - mov r12, r0 - ldr r7, _0812B5A4 @ =gUnknown_845B080 -_0812B53E: - mov r1, r9 - adds r0, r3, r1 - ldrb r2, [r0] - mov r0, r8 - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 1 - adds r0, r2, r0 - add r0, r12 - ldrb r0, [r0] - cmp r0, 0x1 - bne _0812B56C - lsls r1, r4, 3 - adds r1, r5 - lsls r0, r2, 2 - adds r0, r7 - ldr r0, [r0] - str r0, [r1] - str r2, [r1, 0x4] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 -_0812B56C: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x5 - bls _0812B53E - lsls r0, r4, 3 - adds r0, r5 - subs r0, 0x8 - movs r1, 0x2 - negs r1, r1 - str r1, [r0, 0x4] - movs r0, 0 - strh r4, [r6, 0x4] - strh r4, [r6, 0x6] - strb r0, [r6, 0x8] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0812B598: .4byte gUnknown_845C4B0 -_0812B59C: .4byte gUnknown_203B0EC -_0812B5A0: .4byte gUnknown_845C4B6 -_0812B5A4: .4byte gUnknown_845B080 - thumb_func_end sub_812B520 - - thumb_func_start sub_812B5A8 -sub_812B5A8: @ 812B5A8 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0 - bl sub_813BDE8 - movs r0, 0 - bl sub_813BFC0 - movs r0, 0x1 - bl sub_813BE78 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_812B4C4 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_812B614 - ldr r0, _0812B608 @ =gUnknown_841DFC9 - bl sub_812BF74 - ldrb r1, [r4, 0xC] - ldrb r2, [r4, 0xD] - adds r0, r4, 0 - bl sub_813C64C - ldr r1, _0812B60C @ =gUnknown_845B080 - ldr r0, _0812B610 @ =gUnknown_3005E9C - ldrb r0, [r0, 0x1] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0 - movs r2, 0 - bl sub_813C4CC - movs r0, 0x1 - bl sub_813BDA4 - movs r0, 0x1 - bl sub_813BD5C - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0812B608: .4byte gUnknown_841DFC9 -_0812B60C: .4byte gUnknown_845B080 -_0812B610: .4byte gUnknown_3005E9C - thumb_func_end sub_812B5A8 - thumb_func_start sub_812B614 sub_812B614: @ 812B614 push {r4-r7,lr} diff --git a/data/data_83FECCC.s b/data/data_83FECCC.s index bc4bdc6ed..ffdaa8a67 100644 --- a/data/data_83FECCC.s +++ b/data/data_83FECCC.s @@ -2136,37 +2136,79 @@ gUnknown_841DFA0:: @ 841DFA0 .string "GOLD$" gUnknown_841DFA5:: @ 841DFA5 - .incbin "baserom.gba", 0x41DFA5, 0x7 + .string "{KEYGFX_A_BUTTON}NEXT$" gUnknown_841DFAC:: @ 841DFAC - .incbin "baserom.gba", 0x41DFAC, 0x12 + .string "{KEYGFX_DPAD_UP_DOWN}PICK {KEYGFX_A_BUTTON}OK {KEYGFX_B_BUTTON}END$" gUnknown_841DFBE:: @ 841DFBE - .incbin "baserom.gba", 0x41DFBE, 0xB + .string "{KEYGFX_A_BUTTON}{KEYGFX_B_BUTTON}CANCEL$" gUnknown_841DFC9:: @ 841DFC9 - .incbin "baserom.gba", 0x41DFC9, 0xCA - + .string "{KEYGFX_DPAD_UP_DOWN}PICK {KEYGFX_A_BUTTON}OK {KEYGFX_B_BUTTON}CANCEL$" + + @ easy chat categories + .string "POKéMON$" + .string "TRAINER$" + .string "STATUS$" + .string "BATTLE$" + .string "GREETINGS$" + .string "PEOPLE$" + .string "VOICES$" + .string "SPEECH$" + .string "ENDINGS$" + .string "FEELINGS$" + .string "CONDITIONS$" + .string "ACTIONS$" + .string "LIFESTYLE$" + .string "HOBBIES$" + .string "TIME$" + .string "MISC.$" + .string "ADJECTIVES$" + .string "EVENTS$" + .string "MOVE 1$" + .string "MOVE 2$" + .string "TRENDY SAYING$" + .string "POKéMON2$" + + @ trade-related gUnknown_841E093:: @ 841E093 - .incbin "baserom.gba", 0x41E093, 0xC + .string "???$" + .string "$" + .string "Lv$" + .string "---$" gUnknown_841E09F:: @ 841E09F - .incbin "baserom.gba", 0x41E09F, 0x6 + .string "????$" + .string "$" gUnknown_841E0A5:: @ 841E0A5 - .incbin "baserom.gba", 0x41E0A5, 0x144 + .string "Is this trade okay?$" + .string "CANCEL$" + .string "Choose a POKéMON.$" + .string "SUMMARY$" + .string "TRADE$" + .string "Cancel trade?$" + .string "Press the B Button to exit.$" + .string "SUMMARY$" + .string "TRADE$" + .string "{COLOR RED}{HIGHLIGHT DARK_GREY}{SHADOW GREEN}Communication standby…\nPlease wait.$" + .string "{COLOR RED}{HIGHLIGHT DARK_GREY}{SHADOW GREEN}The trade has been canceled.$" + .string "{COLOR RED}{HIGHLIGHT DARK_GREY}{SHADOW GREEN}That's your only POKéMON\nfor battle.$" + .string "{COLOR RED}{HIGHLIGHT DARK_GREY}{SHADOW GREEN}Waiting for your friend\nto finish…$" + .string "Your friend wants\nto trade POKéMON.$" gUnknown_841E1E9:: @ 841E1E9 - .incbin "baserom.gba", 0x41E1E9, 0x17 + .string "{STR_VAR_2} will be\nsent to {STR_VAR_1}.$" gUnknown_841E200:: @ 841E200 - .incbin "baserom.gba", 0x41E200, 0xD + .string "Bye-bye, {STR_VAR_2}!$" gUnknown_841E20D:: @ 841E20D - .incbin "baserom.gba", 0x41E20D, 0x11 + .string "{STR_VAR_1} sent over {STR_VAR_3}.$" gUnknown_841E21E:: @ 841E21E - .incbin "baserom.gba", 0x41E21E, 0x16 + .string "Take good care of {STR_VAR_3}!$" gUnknown_841E234:: @ 841E234 .string "From $" diff --git a/include/help_system.h b/include/help_system.h index 6eee0dcb3..f9aaba907 100644 --- a/include/help_system.h +++ b/include/help_system.h @@ -2,30 +2,27 @@ #define GUARD_HELP_SYSTEM_H #include "global.h" - -struct HelpSystemStruct_203F1AC -{ - -}; +#include "list_menu.h" struct HelpSystemStruct_203F190_sub { - struct HelpSystemStruct_203F1AC * field_00; + struct ListMenuItem * field_00; u16 field_04; u16 field_06; u8 field_08; u8 field_09; - }; struct HelpSystemStruct_203F190 { - struct HelpSystemStruct_203F190_sub field_00; - u8 filler_0C[0x10]; + struct HelpSystemStruct_203F190_sub sub; + u8 field_0C; + u8 field_0D; + u8 filler_10[0xC]; }; extern struct HelpSystemStruct_203F190 gUnknown_203F190; -extern struct HelpSystemStruct_203F1AC gUnknown_203F1AC; +extern struct ListMenuItem gUnknown_203F1AC[]; extern bool8 gUnknown_3005ECC; extern u8 gUnknown_203F175; @@ -33,8 +30,12 @@ void sub_812B1E0(u8); void sub_812B484(void); void HelpSystem_SetSomeVariable2(u8); void sub_812B478(void); -void sub_813C64C(struct HelpSystemStruct_203F190_sub *, u8, u8); +void sub_813C64C(struct HelpSystemStruct_203F190 *, u8, u8); +void sub_813C4CC(const u8 *, u8, u8); void sub_813BDA4(u8); void sub_813BD5C(u8); +void sub_813BDE8(u8); +void sub_813BFC0(u8); +void sub_813BE78(u8); #endif //GUARD_HELP_SYSTEM_H diff --git a/include/list_menu.h b/include/list_menu.h index 79dc3ec3f..6116ee39a 100644 --- a/include/list_menu.h +++ b/include/list_menu.h @@ -2,6 +2,7 @@ #define GUARD_LIST_MENU_H #include "global.h" +#include "window.h" // Exported type declarations diff --git a/src/help_system_812B1E0.c b/src/help_system_812B1E0.c index 2b64a3ab3..68ca6adb6 100644 --- a/src/help_system_812B1E0.c +++ b/src/help_system_812B1E0.c @@ -17,13 +17,18 @@ u16 gUnknown_3005EA0; bool32 sub_812B27C(const u16 * mapIdxs); void sub_812B4B8(void); -void sub_812B520(struct HelpSystemStruct_203F190_sub * a0, struct HelpSystemStruct_203F1AC * a1); -void sub_812BF9C(struct HelpSystemStruct_203F190_sub * a0, struct HelpSystemStruct_203F1AC * a1); +void sub_812B520(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); +void sub_812B614(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); +void sub_812BF9C(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); void sub_812BF74(const u8 *); // strings.h extern const u8 gUnknown_841DFAC[]; +extern const u8 gUnknown_841DFC9[]; +extern const u8 *const gUnknown_845B080[]; +extern const u8 gUnknown_845C4B0[]; +extern const u8 gUnknown_845C4B6[][6]; extern const u16 gUnknown_845C594[]; // marts extern const u16 gUnknown_845C5BC[]; // gyms extern const u8 gUnknown_845C5CE[][3]; @@ -179,16 +184,16 @@ void sub_812B4B8(void) gUnknown_203F175 = 0; } -void sub_812B4C4(struct HelpSystemStruct_203F190_sub * a0, struct HelpSystemStruct_203F1AC * a1) +void sub_812B4C4(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) { - a0->field_00 = a1; - a0->field_04 = 1; - a0->field_06 = 1; - a0->field_08 = 1; - a0->field_09 = 4; + a0->sub.field_00 = a1; + a0->sub.field_04 = 1; + a0->sub.field_06 = 1; + a0->sub.field_08 = 1; + a0->sub.field_09 = 4; } -void sub_812B4D8(struct HelpSystemStruct_203F190_sub * a0, struct HelpSystemStruct_203F1AC * a1) +void sub_812B4D8(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) { sub_812B4C4(a0, a1); sub_812B520(a0, a1); @@ -198,3 +203,36 @@ void sub_812B4D8(struct HelpSystemStruct_203F190_sub * a0, struct HelpSystemStru sub_813BDA4(1); sub_813BD5C(1); } + +void sub_812B520(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) +{ + u8 i; + u8 r4 = 0; + for (i = 0; i < 6; i++) + { + if (gUnknown_845C4B6[gUnknown_203B0EC][gUnknown_845C4B0[i]] == 1) + { + a1[r4].label = gUnknown_845B080[gUnknown_845C4B0[i]]; + a1[r4].index = gUnknown_845C4B0[i]; + r4++; + } + } + a1[r4 - 1].index = -2; + a0->sub.field_04 = r4; + a0->sub.field_06 = r4; + a0->sub.field_08 = 0; +} + +void sub_812B5A8(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) +{ + sub_813BDE8(0); + sub_813BFC0(0); + sub_813BE78(1); + sub_812B4C4(a0, a1); + sub_812B614(a0, a1); + sub_812BF74(gUnknown_841DFC9); + sub_813C64C(a0, a0->field_0C, a0->field_0D); + sub_813C4CC(gUnknown_845B080[gUnknown_3005E9C[1]], 0, 0); + sub_813BDA4(1); + sub_813BD5C(1); +} -- cgit v1.2.3 From a556316043d1f5c87d48d98b294e6ee23f8e5a5f Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 12 Jun 2019 11:48:53 -0400 Subject: help_system_812B1E0: through sub_812B754 --- asm/help_system_812B1E0.s | 190 ---------------------------------------------- src/help_system_812B1E0.c | 61 +++++++++++++++ 2 files changed, 61 insertions(+), 190 deletions(-) diff --git a/asm/help_system_812B1E0.s b/asm/help_system_812B1E0.s index 77c196c4e..c41eb680f 100644 --- a/asm/help_system_812B1E0.s +++ b/asm/help_system_812B1E0.s @@ -5,196 +5,6 @@ .text - thumb_func_start sub_812B614 -sub_812B614: @ 812B614 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - mov r8, r0 - adds r5, r1, 0 - movs r6, 0 - ldr r3, _0812B664 @ =gUnknown_845B9E0 - ldr r0, _0812B668 @ =gUnknown_203B0EC - ldrh r1, [r0] - lsls r0, r1, 2 - ldr r2, _0812B66C @ =gUnknown_3005E9C - adds r0, r1 - ldrb r2, [r2, 0x1] - adds r0, r2 - lsls r0, 2 - adds r0, r3 - ldr r3, [r0] - movs r7, 0 - ldrb r0, [r3] - cmp r0, 0xFF - beq _0812B6D0 -_0812B640: - adds r4, r3, r7 - ldrb r0, [r4] - str r3, [sp] - bl sub_812B780 - lsls r0, 24 - lsrs r0, 24 - ldr r3, [sp] - cmp r0, 0x1 - bne _0812B6C2 - ldr r0, _0812B66C @ =gUnknown_3005E9C - ldrb r0, [r0, 0x1] - cmp r0, 0 - bne _0812B674 - lsls r1, r6, 3 - adds r1, r5 - ldr r2, _0812B670 @ =gUnknown_845B0B0 - b _0812B6AA - .align 2, 0 -_0812B664: .4byte gUnknown_845B9E0 -_0812B668: .4byte gUnknown_203B0EC -_0812B66C: .4byte gUnknown_3005E9C -_0812B670: .4byte gUnknown_845B0B0 -_0812B674: - cmp r0, 0x1 - bne _0812B684 - lsls r1, r6, 3 - adds r1, r5 - ldr r2, _0812B680 @ =gUnknown_845B218 - b _0812B6AA - .align 2, 0 -_0812B680: .4byte gUnknown_845B218 -_0812B684: - cmp r0, 0x2 - bne _0812B694 - lsls r1, r6, 3 - adds r1, r5 - ldr r2, _0812B690 @ =gUnknown_845B3A0 - b _0812B6AA - .align 2, 0 -_0812B690: .4byte gUnknown_845B3A0 -_0812B694: - cmp r0, 0x3 - bne _0812B6A4 - lsls r1, r6, 3 - adds r1, r5 - ldr r2, _0812B6A0 @ =gUnknown_845B500 - b _0812B6AA - .align 2, 0 -_0812B6A0: .4byte gUnknown_845B500 -_0812B6A4: - lsls r1, r6, 3 - adds r1, r5 - ldr r2, _0812B744 @ =gUnknown_845B540 -_0812B6AA: - ldrb r0, [r4] - lsls r0, 2 - adds r0, r2 - ldr r0, [r0] - str r0, [r1] - lsls r0, r6, 3 - adds r0, r5 - ldrb r1, [r4] - str r1, [r0, 0x4] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_0812B6C2: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - adds r0, r3, r7 - ldrb r0, [r0] - cmp r0, 0xFF - bne _0812B640 -_0812B6D0: - bl sub_812B754 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0812B710 - movs r7, 0 - ldr r3, _0812B748 @ =gUnknown_845B9BE - ldrb r0, [r3] - cmp r0, 0xFF - beq _0812B710 - ldr r4, _0812B74C @ =gUnknown_845B3A0 -_0812B6E8: - lsls r1, r6, 3 - adds r1, r5 - adds r2, r3, r7 - ldrb r0, [r2] - lsls r0, 2 - adds r0, r4 - ldr r0, [r0] - str r0, [r1] - ldrb r0, [r2] - str r0, [r1, 0x4] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - adds r0, r3, r7 - ldrb r0, [r0] - cmp r0, 0xFF - bne _0812B6E8 -_0812B710: - lsls r0, r6, 3 - adds r0, r5 - ldr r1, _0812B750 @ =gUnknown_81B2E6F - str r1, [r0] - movs r1, 0x2 - negs r1, r1 - str r1, [r0, 0x4] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - movs r1, 0 - mov r0, r8 - strh r6, [r0, 0x4] - movs r0, 0x7 - mov r2, r8 - strh r0, [r2, 0x6] - strb r1, [r2, 0x8] - movs r0, 0x15 - strb r0, [r2, 0x9] - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0812B744: .4byte gUnknown_845B540 -_0812B748: .4byte gUnknown_845B9BE -_0812B74C: .4byte gUnknown_845B3A0 -_0812B750: .4byte gUnknown_81B2E6F - thumb_func_end sub_812B614 - - thumb_func_start sub_812B754 -sub_812B754: @ 812B754 - push {lr} - movs r0, 0x96 - lsls r0, 3 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0812B778 - ldr r0, _0812B774 @ =gUnknown_3005E9C - ldrb r0, [r0, 0x1] - cmp r0, 0x2 - bne _0812B778 - movs r0, 0x1 - b _0812B77A - .align 2, 0 -_0812B774: .4byte gUnknown_3005E9C -_0812B778: - movs r0, 0 -_0812B77A: - pop {r1} - bx r1 - thumb_func_end sub_812B754 - thumb_func_start sub_812B780 sub_812B780: @ 812B780 push {r4,r5,lr} diff --git a/src/help_system_812B1E0.c b/src/help_system_812B1E0.c index 68ca6adb6..a6edae3bd 100644 --- a/src/help_system_812B1E0.c +++ b/src/help_system_812B1E0.c @@ -19,14 +19,27 @@ bool32 sub_812B27C(const u16 * mapIdxs); void sub_812B4B8(void); void sub_812B520(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); void sub_812B614(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); +bool8 sub_812B754(void); +bool8 sub_812B780(u8); void sub_812BF9C(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); void sub_812BF74(const u8 *); +// event_scripts.h +extern const u8 gUnknown_81B2E6F[]; + // strings.h extern const u8 gUnknown_841DFAC[]; extern const u8 gUnknown_841DFC9[]; +// this file extern const u8 *const gUnknown_845B080[]; +extern const u8 *const gUnknown_845B0B0[]; +extern const u8 *const gUnknown_845B218[]; +extern const u8 *const gUnknown_845B3A0[]; +extern const u8 *const gUnknown_845B500[]; +extern const u8 *const gUnknown_845B540[]; +extern const u8 *const gUnknown_845B9E0[]; +extern const u8 gUnknown_845B9BE[]; extern const u8 gUnknown_845C4B0[]; extern const u8 gUnknown_845C4B6[][6]; extern const u16 gUnknown_845C594[]; // marts @@ -236,3 +249,51 @@ void sub_812B5A8(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) sub_813BDA4(1); sub_813BD5C(1); } + +void sub_812B614(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) +{ + u8 r6 = 0; + const u8 * r3 = gUnknown_845B9E0[gUnknown_203B0EC * 5 + gUnknown_3005E9C[1]]; + u8 i; + for (i = 0; r3[i] != 0xFF; i++) + { + if (sub_812B780(r3[i]) == TRUE) + { + if (gUnknown_3005E9C[1] == 0) + a1[r6].label = gUnknown_845B0B0[r3[i]]; + else if (gUnknown_3005E9C[1] == 1) + a1[r6].label = gUnknown_845B218[r3[i]]; + else if (gUnknown_3005E9C[1] == 2) + a1[r6].label = gUnknown_845B3A0[r3[i]]; + else if (gUnknown_3005E9C[1] == 3) + a1[r6].label = gUnknown_845B500[r3[i]]; + else + a1[r6].label = gUnknown_845B540[r3[i]]; + a1[r6].index = r3[i]; + r6++; + } + } + if (sub_812B754() == TRUE) + { + for (i = 0, r3 = gUnknown_845B9BE; r3[i] != 0xFF; i++) + { + a1[r6].label = gUnknown_845B3A0[r3[i]]; + a1[r6].index = r3[i]; + r6++; + } + } + a1[r6].label = gUnknown_81B2E6F; + a1[r6].index = -2; + r6++; + a0->sub.field_04 = r6; + a0->sub.field_06 = 7; + a0->sub.field_08 = 0; + a0->sub.field_09 = 21; +} + +bool8 sub_812B754(void) +{ + if (FlagGet(FLAG_0x4B0) == TRUE && gUnknown_3005E9C[1] == 2) + return TRUE; + return FALSE; +} -- cgit v1.2.3 From be45952bc90598657f977f316dd5a112efb48289 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 12 Jun 2019 12:55:45 -0400 Subject: help system data from gUnknown_845B660 onward --- data/help_system_812B1E0.s | 311 ++++++++++++++++++++++++++++++++++++++++++++- src/help_system_812B1E0.c | 2 +- 2 files changed, 306 insertions(+), 7 deletions(-) diff --git a/data/help_system_812B1E0.s b/data/help_system_812B1E0.s index 14eed797a..51cdc2818 100644 --- a/data/help_system_812B1E0.s +++ b/data/help_system_812B1E0.s @@ -37,21 +37,320 @@ gUnknown_845B520:: @ 845B520 gUnknown_845B540:: @ 845B540 .incbin "baserom.gba", 0x45B540, 0x90 -gUnknown_845B5D0:: @ 845B5D0 - .incbin "baserom.gba", 0x45B5D0, 0x3EE +gUnknown_845B5D0:: + .incbin "baserom.gba", 0x45B5D0, 0x90 + +gUnknown_845B660:: + .byte 0x01, 0x02, 0x03, 0xff + +gUnknown_845B664:: + .byte 0x01, 0x02, 0x03, 0xff + +gUnknown_845B668:: + .byte 0x13, 0xff + +gUnknown_845B66A:: + .byte 0x01, 0x02, 0x03, 0xff + +gUnknown_845B66E:: + .byte 0x01, 0x25, 0xff + +gUnknown_845B671:: + .byte 0x02, 0x03, 0x04, 0x05, 0x11, 0xff + +gUnknown_845B677:: + .byte 0x09, 0x01, 0xff + +gUnknown_845B67A:: + .byte 0x02, 0x03, 0xff + +gUnknown_845B67D:: + .byte 0x09, 0x0a, 0x0b, 0x11, 0x0c, 0x10, 0xff + +gUnknown_845B684:: + .byte 0x09, 0x01, 0x04, 0x05, 0x06, 0x07, 0x08, 0x02, 0x0d, 0xff + +gUnknown_845B68E:: + .byte 0x09, 0x03, 0x0a, 0x0f, 0x12, 0x13, 0x14, 0xff + +gUnknown_845B696:: + .byte 0x06, 0x07, 0x08, 0x2c, 0x09, 0x0d, 0x0e, 0x0f, 0x10, 0x12, 0xff + +gUnknown_845B6A1:: + .byte 0x16, 0x17, 0x18, 0xff + +gUnknown_845B6A5:: + .byte 0x0a, 0xff + +gUnknown_845B6A7:: + .byte 0x11, 0x0e, 0x19, 0x1a, 0x1b, 0xff + +gUnknown_845B6AD:: + .byte 0x0a, 0xff + +gUnknown_845B6AF:: + .byte 0x0b, 0xff + +gUnknown_845B6B1:: + .byte 0x2b, 0x19, 0x1a, 0xff + +gUnknown_845B6B5:: + .byte 0x0c, 0xff + +gUnknown_845B6B7:: + .byte 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0xff + +gUnknown_845B6BF:: + .byte 0x02, 0x03, 0x04, 0xff + +gUnknown_845B6C3:: + .byte 0x01, 0x02, 0x03, 0x07, 0xff + +gUnknown_845B6C8:: + .byte 0x02, 0x04, 0x05, 0x09, 0x25, 0xff + +gUnknown_845B6CE:: + .byte 0x1f, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x2c, 0x09, 0x0d, 0x0e, 0x0f, 0x10, 0x0a, 0x0b, 0x0c, 0x11, 0xff + +gUnknown_845B6E2:: + .byte 0x09, 0x01, 0x02, 0x03, 0x0a, 0x28, 0xff + +gUnknown_845B6E9:: + .byte 0x02, 0x05, 0x06, 0x0a, 0x23, 0x24, 0x09, 0x25, 0xff + +gUnknown_845B6F2:: + .byte 0x1f, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x2c, 0x09, 0x0d, 0x0e, 0x0f, 0x10, 0x0a, 0x0b, 0x0c, 0x11, 0x14, 0xff + +gUnknown_845B707:: + .byte 0x09, 0x01, 0x02, 0x03, 0x0a, 0x28, 0xff + +gUnknown_845B70E:: + .byte 0x03, 0x07, 0x04, 0x05, 0x06, 0xff + +gUnknown_845B714:: + .byte 0x02, 0x05, 0x06, 0x0a, 0x23, 0x24, 0x09, 0x25, 0xff + +gUnknown_845B71D:: + .byte 0x1f, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x2c, 0x09, 0x0d, 0x0e, 0x0f, 0x10, 0x0a, 0x0b, 0x0c, 0x11, 0xff + +gUnknown_845B731:: + .byte 0x09, 0x01, 0x02, 0x03, 0x0a, 0x0c, 0x0e, 0x16, 0x17, 0x18, 0x15, 0xff + +gUnknown_845B73D:: + .byte 0x06, 0x0a, 0x23, 0x24, 0x09, 0x25, 0xff + +gUnknown_845B744:: + .byte 0x1f, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x2c, 0x09, 0x0d, 0x0e, 0x0f, 0x10, 0x0a, 0x0b, 0x0c, 0x11, 0xff + +gUnknown_845B758:: + .byte 0x09, 0x01, 0x02, 0x03, 0x0a, 0x15, 0xff + +gUnknown_845B75F:: + .byte 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20 + .byte 0x21, 0x22, 0x23, 0xff + +gUnknown_845B783:: + .byte 0x02, 0x0a, 0x04, 0x05, 0x06, 0x07, 0x0d, 0x27, 0x08, 0x0b, 0x21, 0x23, 0x24, 0x2c, 0x09, 0x0e, 0x16, 0x17, 0x0f, 0x10, 0x11, 0x1a, 0x15, 0x1f, 0x20, 0x12, 0x13, 0x14, 0x18, 0x19, 0x1b, 0x1e + .byte 0x1c, 0x28, 0x25, 0xff + +gUnknown_845B7A7:: + .byte 0x1f, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x2c, 0x09, 0x0d, 0x0e, 0x0f, 0x10, 0x0a, 0x0b, 0x0c, 0x11, 0xff + +gUnknown_845B7BB:: + .byte 0x09, 0x01, 0x02, 0x0a, 0x0b, 0x0c, 0x0d, 0x15, 0xff + +gUnknown_845B7C4:: + .byte 0x02, 0x0a, 0x04, 0x05, 0x06, 0x07, 0x0d, 0x27, 0x08, 0x0b, 0x21, 0x23, 0x24, 0x2c, 0x09, 0x0e, 0x16, 0x17, 0x0f, 0x10, 0x11, 0x1a, 0x15, 0x1f, 0x20, 0x12, 0x13, 0x14, 0x18, 0x19, 0x1b, 0x1e + .byte 0x1c, 0x28, 0x25, 0xff + +gUnknown_845B7E8:: + .byte 0x1f, 0x01, 0x02, 0x06, 0x0a, 0x0b, 0x0c, 0x11, 0xff + +gUnknown_845B7F1:: + .byte 0x09, 0x01, 0x02, 0x0a, 0x0b, 0x0c, 0x0d, 0x15, 0x28, 0xff + +gUnknown_845B7FB:: + .byte 0x0a, 0x07, 0x0d, 0x27, 0x08, 0x0b, 0x21, 0x23, 0x24, 0x2c, 0x09, 0x0e, 0x16, 0x0f, 0x10, 0x11, 0x1a, 0x15, 0x1f, 0x20, 0x12, 0x13, 0x14, 0x18, 0x19, 0x1b, 0x1e, 0x1c, 0x28, 0x25, 0xff + +gUnknown_845B81A:: + .byte 0x1f, 0x01, 0x02, 0x06, 0x0a, 0x0b, 0x0c, 0x11, 0xff + +gUnknown_845B823:: + .byte 0x09, 0x01, 0x02, 0x0a, 0x0b, 0x0c, 0x0d, 0x15, 0xff + +gUnknown_845B82C:: + .byte 0x07, 0x27, 0x08, 0x2c, 0x15, 0x1f, 0x20, 0x12, 0x13, 0x14, 0x18, 0x19, 0x1b, 0x1e, 0x1c, 0x28, 0x25, 0xff + +gUnknown_845B83E:: + .byte 0x1f, 0x01, 0x02, 0x06, 0x0a, 0x0b, 0x0c, 0x11, 0xff + +gUnknown_845B847:: + .byte 0x09, 0x01, 0x02, 0x0a, 0x0b, 0x0c, 0x0d, 0x15, 0xff + +gUnknown_845B850:: + .byte 0x0f, 0x1b, 0x1d, 0x11, 0x12, 0x15, 0x17, 0x16, 0x1f, 0x20, 0x13, 0x14, 0xff + +gUnknown_845B85D:: + .byte 0x20, 0x21, 0x22, 0x23, 0x24, 0x07, 0x09, 0x2b, 0xff + +gUnknown_845B866:: + .byte 0x09, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x0a, 0x0d, 0x0f, 0x12, 0x13, 0x14, 0x27, 0x15, 0xff + +gUnknown_845B878:: + .byte 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20 + .byte 0x21, 0x22, 0x23, 0xff + +gUnknown_845B89C:: + .byte 0x0f, 0x1b, 0x1d, 0x11, 0x12, 0x16, 0x1f, 0x20, 0x13, 0x14, 0xff + +gUnknown_845B8A7:: + .byte 0x20, 0x21, 0x22, 0x23, 0x24, 0x07, 0x2b, 0xff + +gUnknown_845B8AF:: + .byte 0x09, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x0a, 0x0d, 0x0f, 0x12, 0x13, 0x14, 0x27, 0x15, 0xff + +gUnknown_845B8C1:: + .byte 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20 + .byte 0x21, 0x22, 0x23, 0xff + +gUnknown_845B8E5:: + .byte 0x0f, 0x1b, 0x1d, 0x11, 0x12, 0x16, 0x1f, 0x20, 0x13, 0x14, 0xff + +gUnknown_845B8F0:: + .byte 0x20, 0x21, 0x22, 0x23, 0x24, 0x07, 0x2b, 0xff + +gUnknown_845B8F8:: + .byte 0x09, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x0a, 0x0d, 0x0f, 0x12, 0x13, 0x14, 0x27, 0x15, 0xff + +gUnknown_845B90A:: + .byte 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20 + .byte 0x21, 0x22, 0x23, 0xff + +gUnknown_845B92E:: + .byte 0x29, 0x2a, 0x2b, 0xff + +gUnknown_845B932:: + .byte 0x2d, 0x2e, 0x2f, 0x2b, 0xff + +gUnknown_845B937:: + .byte 0x09, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x0a, 0x0d, 0x0f, 0x12, 0x13, 0x14, 0xff + +gUnknown_845B947:: + .byte 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20 + .byte 0x21, 0x22, 0x23, 0xff + +gUnknown_845B96B:: + .byte 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x30, 0xff + +gUnknown_845B978:: + .byte 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x30, 0xff + +gUnknown_845B985:: + .byte 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x30, 0xff + +gUnknown_845B992:: + .byte 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x30, 0xff + +gUnknown_845B99F:: + .byte 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x30, 0xff + +gUnknown_845B9AC:: + .byte 0x26, 0x27, 0x28, 0x29, 0x2a, 0xff + +gUnknown_845B9B2:: + .byte 0x26, 0x27, 0x28, 0x29, 0x2a, 0xff + +gUnknown_845B9B8:: + .byte 0x26, 0x27, 0x28, 0x29, 0x2a, 0xff gUnknown_845B9BE:: @ 845B9BE - .incbin "baserom.gba", 0x45B9BE, 0x22 + .byte 0x09, 0x01, 0x02, 0x03, 0x23, 0x25, 0x24, 0x04, 0x05, 0x06, 0x07, 0x08, 0x0a, 0x0b, 0x0c, 0x0d, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x27, 0x15, 0x26, 0x16, 0x17, 0x18, 0x1a, 0x0e, 0x1b, 0xff + .align 2 gUnknown_845B9E0:: @ 845B9E0 - .incbin "baserom.gba", 0x45B9E0, 0xAD0 + .4byte NULL, NULL, NULL, NULL, NULL + .4byte NULL, NULL, NULL, gUnknown_845B660, NULL + .4byte NULL, NULL, NULL, gUnknown_845B664, NULL + .4byte NULL, gUnknown_845B668, NULL, gUnknown_845B66A, NULL + .4byte NULL, gUnknown_845B66E, NULL, NULL, NULL + .4byte NULL, gUnknown_845B671, gUnknown_845B677, NULL, NULL + .4byte NULL, gUnknown_845B67A, gUnknown_845B67D, NULL, NULL + .4byte NULL, NULL, gUnknown_845B684, NULL, NULL + .4byte NULL, NULL, gUnknown_845B68E, NULL, NULL + .4byte NULL, gUnknown_845B696, gUnknown_845B6A1, NULL, NULL + .4byte NULL, gUnknown_845B6A5, gUnknown_845B6A7, NULL, NULL + .4byte NULL, gUnknown_845B6AD, NULL, NULL, NULL + .4byte NULL, gUnknown_845B6AF, gUnknown_845B6B1, NULL, NULL + .4byte NULL, gUnknown_845B6B5, gUnknown_845B6B7, NULL, NULL + .4byte gUnknown_845B6BF, NULL, NULL, gUnknown_845B6C3, NULL + .4byte gUnknown_845B6C8, gUnknown_845B6CE, gUnknown_845B6E2, NULL, NULL + .4byte gUnknown_845B6E9, gUnknown_845B6F2, gUnknown_845B707, gUnknown_845B70E, NULL + .4byte gUnknown_845B714, gUnknown_845B71D, gUnknown_845B731, NULL, NULL + .4byte gUnknown_845B73D, gUnknown_845B744, gUnknown_845B758, NULL, gUnknown_845B75F + .4byte gUnknown_845B783, gUnknown_845B7A7, gUnknown_845B7BB, NULL, NULL + .4byte gUnknown_845B7C4, gUnknown_845B7E8, gUnknown_845B7F1, NULL, NULL + .4byte gUnknown_845B7FB, gUnknown_845B81A, gUnknown_845B823, NULL, NULL + .4byte gUnknown_845B82C, gUnknown_845B83E, gUnknown_845B847, NULL, NULL + .4byte gUnknown_845B850, gUnknown_845B85D, gUnknown_845B866, NULL, gUnknown_845B878 + .4byte gUnknown_845B89C, gUnknown_845B8A7, gUnknown_845B8AF, NULL, gUnknown_845B8C1 + .4byte gUnknown_845B8E5, gUnknown_845B8F0, gUnknown_845B8F8, NULL, gUnknown_845B90A + .4byte gUnknown_845B92E, gUnknown_845B932, gUnknown_845B937, NULL, gUnknown_845B947 + .4byte NULL, gUnknown_845B96B, NULL, NULL, NULL + .4byte NULL, gUnknown_845B978, NULL, NULL, NULL + .4byte NULL, gUnknown_845B985, NULL, NULL, NULL + .4byte NULL, gUnknown_845B992, NULL, NULL, NULL + .4byte NULL, gUnknown_845B99F, NULL, NULL, NULL + .4byte NULL, gUnknown_845B9AC, NULL, NULL, NULL + .4byte NULL, gUnknown_845B9B2, NULL, NULL, NULL + .4byte NULL, gUnknown_845B9B8, NULL, NULL, NULL + .4byte NULL, NULL, NULL, NULL, NULL + +gUnknown_845BCB0:: @ 845BCC0 + .incbin "baserom.gba", 0x45BCB0, 0x800 gUnknown_845C4B0:: @ 845C4B0 - .incbin "baserom.gba", 0x45C4B0, 0x6 + .byte 0x03, 0x00, 0x01, 0x02, 0x04, 0x05 gUnknown_845C4B6:: @ 845C4B6 - .incbin "baserom.gba", 0x45C4B6, 0xDE + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 + .byte 0x00, 0x00, 0x00, 0x01, 0x00, 0x01 + .byte 0x00, 0x00, 0x00, 0x01, 0x00, 0x01 + .byte 0x00, 0x01, 0x00, 0x01, 0x00, 0x01 + .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x01 + .byte 0x00, 0x01, 0x01, 0x00, 0x00, 0x01 + .byte 0x00, 0x01, 0x01, 0x00, 0x00, 0x01 + .byte 0x00, 0x00, 0x01, 0x00, 0x00, 0x01 + .byte 0x00, 0x00, 0x01, 0x00, 0x00, 0x01 + .byte 0x00, 0x01, 0x01, 0x00, 0x00, 0x01 + .byte 0x00, 0x01, 0x01, 0x00, 0x00, 0x01 + .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x01 + .byte 0x00, 0x01, 0x01, 0x00, 0x00, 0x01 + .byte 0x00, 0x01, 0x01, 0x00, 0x00, 0x01 + .byte 0x01, 0x00, 0x00, 0x01, 0x00, 0x01 + .byte 0x01, 0x01, 0x01, 0x00, 0x00, 0x01 + .byte 0x01, 0x01, 0x01, 0x01, 0x00, 0x01 + .byte 0x01, 0x01, 0x01, 0x00, 0x00, 0x01 + .byte 0x01, 0x01, 0x01, 0x00, 0x01, 0x01 + .byte 0x01, 0x01, 0x01, 0x00, 0x00, 0x01 + .byte 0x01, 0x01, 0x01, 0x00, 0x00, 0x01 + .byte 0x01, 0x01, 0x01, 0x00, 0x00, 0x01 + .byte 0x01, 0x01, 0x01, 0x00, 0x00, 0x01 + .byte 0x01, 0x01, 0x01, 0x00, 0x01, 0x01 + .byte 0x01, 0x01, 0x01, 0x00, 0x01, 0x01 + .byte 0x01, 0x01, 0x01, 0x00, 0x01, 0x01 + .byte 0x01, 0x01, 0x01, 0x00, 0x01, 0x01 + .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x01 + .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x01 + .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x01 + .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x01 + .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x01 + .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x01 + .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x01 + .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x01 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .align 1 gUnknown_845C594:: @ 845C594 .2byte MAP_VIRIDIAN_CITY_MART .2byte MAP_PEWTER_CITY_MART diff --git a/src/help_system_812B1E0.c b/src/help_system_812B1E0.c index a6edae3bd..361ddbcf0 100644 --- a/src/help_system_812B1E0.c +++ b/src/help_system_812B1E0.c @@ -38,8 +38,8 @@ extern const u8 *const gUnknown_845B218[]; extern const u8 *const gUnknown_845B3A0[]; extern const u8 *const gUnknown_845B500[]; extern const u8 *const gUnknown_845B540[]; -extern const u8 *const gUnknown_845B9E0[]; extern const u8 gUnknown_845B9BE[]; +extern const u8 *const gUnknown_845B9E0[]; extern const u8 gUnknown_845C4B0[]; extern const u8 gUnknown_845C4B6[][6]; extern const u16 gUnknown_845C594[]; // marts -- cgit v1.2.3 From 2a784c9a5d95d5b50d03c0ae5b1a996287a895d1 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 12 Jun 2019 14:24:26 -0400 Subject: Disassemble help system strings --- asm/help_system.s | 18 +- asm/save_failed_screen.s | 2 +- charmap.txt | 49 +- data/data_83FECCC.s | 40 +- data/help_system_812B1E0.s | 391 ++++++- data/map_event_scripts.inc | 26 +- data/text/help_system.inc | 1879 ++++++++++++++++++++++++++++++++++ graphics/help_system/unk_845BCB0.bin | Bin 0 -> 2048 bytes src/fame_checker.c | 6 +- 9 files changed, 2333 insertions(+), 78 deletions(-) create mode 100644 data/text/help_system.inc create mode 100644 graphics/help_system/unk_845BCB0.bin diff --git a/asm/help_system.s b/asm/help_system.s index 7026c65d5..2ea845550 100644 --- a/asm/help_system.s +++ b/asm/help_system.s @@ -1031,8 +1031,8 @@ _0813C06A: _0813C074: .4byte 0x000001fd thumb_func_end sub_813C004 - thumb_func_start sub_813C078 -sub_813C078: @ 813C078 + thumb_func_start HelpSystemRenderText +HelpSystemRenderText: @ 813C078 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -1421,7 +1421,7 @@ _0813C39C: pop {r4-r7} pop {r0} bx r0 - thumb_func_end sub_813C078 + thumb_func_end HelpSystemRenderText thumb_func_start sub_813C3AC sub_813C3AC: @ 813C3AC @@ -1527,7 +1527,7 @@ sub_813C454: @ 813C454 movs r0, 0x5 adds r2, r4, 0 movs r3, 0x6 - bl sub_813C078 + bl HelpSystemRenderText add sp, 0xC pop {r4} pop {r0} @@ -1562,7 +1562,7 @@ sub_813C488: @ 813C488 movs r0, 0 adds r2, r5, 0 adds r3, r4, 0 - bl sub_813C078 + bl HelpSystemRenderText add sp, 0xC pop {r4,r5} pop {r0} @@ -1595,7 +1595,7 @@ sub_813C4CC: @ 813C4CC movs r0, 0x2 adds r2, r6, 0 adds r3, r5, 0 - bl sub_813C078 + bl HelpSystemRenderText add sp, 0xC pop {r4-r6} pop {r0} @@ -1636,7 +1636,7 @@ sub_813C50C: @ 813C50C adds r1, r4, 0 mov r2, r8 movs r3, 0 - bl sub_813C078 + bl HelpSystemRenderText movs r0, 0x9C lsls r0, 4 adds r4, r0 @@ -1648,7 +1648,7 @@ sub_813C50C: @ 813C50C adds r1, r4, 0 mov r2, r9 movs r3, 0 - bl sub_813C078 + bl HelpSystemRenderText add sp, 0x10 pop {r3,r4} mov r8, r3 @@ -1690,7 +1690,7 @@ sub_813C584: @ 813C584 adds r1, r4, 0 adds r2, r5, 0 movs r3, 0x2 - bl sub_813C078 + bl HelpSystemRenderText add sp, 0x10 pop {r4,r5} pop {r0} diff --git a/asm/save_failed_screen.s b/asm/save_failed_screen.s index cbb07e4c7..4c2ac1f7e 100644 --- a/asm/save_failed_screen.s +++ b/asm/save_failed_screen.s @@ -419,7 +419,7 @@ sub_80F5404: @ 80F5404 adds r1, r4, 0 adds r2, r5, 0 movs r3, 0x2 - bl sub_813C078 + bl HelpSystemRenderText bl sub_80F5334 add sp, 0x10 pop {r4,r5} diff --git a/charmap.txt b/charmap.txt index 11941ca58..fe0747616 100644 --- a/charmap.txt +++ b/charmap.txt @@ -323,14 +323,47 @@ TALL_PLUS = FC 0C FB @ TODO: Identify and declare F7 control codes UNKNOWN_F7 = F7 -UNKNOWN_F8 = F8 -UNKNOWN_F9 = F9 +KEYGFX = F8 +EXTRA = F9 -KEYGFX_A_BUTTON = F8 00 -KEYGFX_B_BUTTON = F8 01 -KEYGFX_START_BUTTON = F8 04 -KEYGFX_DPAD_UP_DOWN = F8 0A -KEYGFX_DPAD_ANY = F8 0C +KEYGFX_A_BUTTON = F8 00 +KEYGFX_B_BUTTON = F8 01 +KEYGFX_L_BUTTON = F8 02 +KEYGFX_R_BUTTON = F8 03 +KEYGFX_START_BUTTON = F8 04 +KEYGFX_SELECT_BUTTON = F8 05 +KEYGFX_DPAD_UP = F8 06 +KEYGFX_DPAD_DOWN = F8 07 +KEYGFX_DPAD_LEFT = F8 08 +KEYGFX_DPAD_RIGHT = F8 09 +KEYGFX_DPAD_UP_DOWN = F8 0A +KEYGFX_DPAD_LEFT_RIGHT = F8 0B +KEYGFX_DPAD_ANY = F8 0C + +EXTRA_UPARROW = F9 00 +EXTRA_DOWNARROW = F9 01 +EXTRA_LEFTARROW = F9 02 +EXTRA_RIGHTARROW = F9 03 +EXTRA_PLUS = F9 04 +EXTRA_LV = F9 05 +EXTRA_PP = F9 06 +EXTRA_ID = F9 07 +EXTRA_NO = F9 08 +EXTRA_UNDERSCORE = F9 09 +EXTRA_CIRCLE_1 = F9 0A +EXTRA_CIRCLE_2 = F9 0B +EXTRA_CIRCLE_3 = F9 0C +EXTRA_CIRCLE_4 = F9 0D +EXTRA_CIRCLE_5 = F9 0E +EXTRA_CIRCLE_6 = F9 0F +EXTRA_CIRCLE_7 = F9 10 +EXTRA_CIRCLE_8 = F9 11 +EXTRA_CIRCLE_9 = F9 12 +EXTRA_LEFT_PAREN = F9 13 +EXTRA_RIGHT_PAREN = F9 14 +EXTRA_TARGET = F9 15 +EXTRA_TRIANGLE = F9 16 +EXTRA_X = F9 17 STRING = FD @@ -377,7 +410,7 @@ PAUSE_UNTIL_PRESS = FC 09 UNKNOWN_A = FC 0A PLAY_BGM = FC 0B ESCAPE = FC 0C -SHIFT_TEXT = FC 0D +SHIFT_TEXT = FC 0D UNKNOWN_E = FC 0E UNKNOWN_F = FC 0F PLAY_SE = FC 10 diff --git a/data/data_83FECCC.s b/data/data_83FECCC.s index ffdaa8a67..f5066705e 100644 --- a/data/data_83FECCC.s +++ b/data/data_83FECCC.s @@ -818,22 +818,22 @@ gUnknown_8416221:: @ 8416221 .string "♀$" gText_Lv:: @ 8416223 - .string "{UNKNOWN_F9 0x05}$" + .string "{EXTRA_LV}$" gOtherText_UnkF9_08_Clear_01:: @ 8416226 - .string "{UNKNOWN_F9 0x08}{CLEAR 0x01}$" + .string "{EXTRA_NO}{CLEAR 0x01}$" gUnknown_841622C:: - .string "{UNKNOWN_F9 0x04}$" + .string "{EXTRA_PLUS}$" gUnknown_841622F:: .string "{ESCAPE 0x03}$" gUnknown_8416233:: - .string "{UNKNOWN_F9 0x07}{UNKNOWN_F9 0x08}$" + .string "{EXTRA_ID}{EXTRA_NO}$" gUnknown_8416238:: @ 8416238 - .string "{UNKNOWN_F9 0x06}$" + .string "{EXTRA_PP}$" gFameCheckerText_ListMenuCursor:: @ 841623B .string "▶$" @@ -1569,64 +1569,64 @@ gUnknown_841979D:: @ 841979D gUnknown_84197B8:: @ 84197B8 .string "{UNKNOWN_F7 0x00} nature.\n" .string "Met in a fateful encounter when\n" - .string "at {UNKNOWN_F9 0x05} {UNKNOWN_F7 0x01}.$" + .string "at {EXTRA_LV} {UNKNOWN_F7 0x01}.$" gUnknown_84197ED:: @ 84197ED .string "{UNKNOWN_F7 0x00} nature.\n" .string "Met in a fateful encounter when\n" - .string "at {UNKNOWN_F9 0x05} {UNKNOWN_F7 0x01}.$" + .string "at {EXTRA_LV} {UNKNOWN_F7 0x01}.$" gUnknown_8419822:: @ 8419822 .string "{UNKNOWN_F7 0x00} nature.\n" - .string "Met in {UNKNOWN_F7 0x02} at {UNKNOWN_F9 0x05} {UNKNOWN_F7 0x01}.$" + .string "Met in {UNKNOWN_F7 0x02} at {EXTRA_LV} {UNKNOWN_F7 0x01}.$" gUnknown_8419841:: @ 8419841 .string "{UNKNOWN_F7 0x00} nature.\n" - .string "Met in {UNKNOWN_F7 0x02} at {UNKNOWN_F9 0x05} {UNKNOWN_F7 0x01}.$" + .string "Met in {UNKNOWN_F7 0x02} at {EXTRA_LV} {UNKNOWN_F7 0x01}.$" gUnknown_8419860:: @ 8419860 .string "{UNKNOWN_F7 0x00} nature.\n" .string "Apparently met in {UNKNOWN_F7 0x02}\n" - .string "at {UNKNOWN_F9 0x05} {UNKNOWN_F7 0x01}.$" + .string "at {EXTRA_LV} {UNKNOWN_F7 0x01}.$" gUnknown_841988A:: @ 841988A .string "{UNKNOWN_F7 0x00} nature.\n" .string "Apparently met in {UNKNOWN_F7 0x02}\n" - .string "at {UNKNOWN_F9 0x05} {UNKNOWN_F7 0x01}.$" + .string "at {EXTRA_LV} {UNKNOWN_F7 0x01}.$" gUnknown_84198B4:: @ 84198B4 .string "{UNKNOWN_F7 0x00} nature.\n" .string "Hatched: {UNKNOWN_F7 0x02}\n" - .string "at {UNKNOWN_F9 0x05} {UNKNOWN_F7 0x01}.$" + .string "at {EXTRA_LV} {UNKNOWN_F7 0x01}.$" gUnknown_84198D5:: @ 84198D5 .string "{UNKNOWN_F7 0x00} nature.\n" .string "Hatched: {UNKNOWN_F7 0x02}\n" - .string "at {UNKNOWN_F9 0x05} {UNKNOWN_F7 0x01}.$" + .string "at {EXTRA_LV} {UNKNOWN_F7 0x01}.$" @ TODO: Replace this gibberish with the proper Hiragana gUnknown_84198F6:: @ 84198F6 - .string "{UNKNOWN_F7 0x00}ßÓÁÉË {UNKNOWN_F9 0x05}{UNKNOWN_F7 0x01}çÑÊ\n" + .string "{UNKNOWN_F7 0x00}ßÓÁÉË {EXTRA_LV}{UNKNOWN_F7 0x01}çÑÊ\n" .string "{UNKNOWN_F7 0x02}で ÉÇっŒ ùÂだ$" gUnknown_8419913:: @ 8419913 - .string "{UNKNOWN_F7 0x00}ÓÁÉË {UNKNOWN_F9 0x05}{UNKNOWN_F7 0x01}çÑÊ\n" + .string "{UNKNOWN_F7 0x00}ÓÁÉË {EXTRA_LV}{UNKNOWN_F7 0x01}çÑÊ\n" .string "{UNKNOWN_F7 0x02}で ÉÇっŒ ùÂだ$" gUnknown_841992F:: @ 841992F .string "{UNKNOWN_F7 0x00} nature. Met in a fateful\n" .string "encounter (hatched: {UNKNOWN_F7 0x02}\n" - .string "at {UNKNOWN_F9 0x05} {UNKNOWN_F7 0x01}).$" + .string "at {EXTRA_LV} {UNKNOWN_F7 0x01}).$" gUnknown_841996D:: @ 841996D .string "{UNKNOWN_F7 0x00} nature. Met in a fateful\n" .string "encounter (hatched: {UNKNOWN_F7 0x02}\n" - .string "at {UNKNOWN_F9 0x05} {UNKNOWN_F7 0x01}).$" + .string "at {EXTRA_LV} {UNKNOWN_F7 0x01}).$" gUnknown_84199AB:: @ 84199AB .string "{UNKNOWN_F7 0x00} nature. Apparently met in\n" .string "a fateful encounter (hatched:\n" - .string "{UNKNOWN_F7 0x02} at {UNKNOWN_F9 0x05} {UNKNOWN_F7 0x01}).$" + .string "{UNKNOWN_F7 0x02} at {EXTRA_LV} {UNKNOWN_F7 0x01}).$" gUnknown_84199F4:: @ 84199F4 .incbin "baserom.gba", 0x4199F4, 0x217 @@ -2283,7 +2283,7 @@ gUnknown_841E2F5:: @ 841E2F5 .incbin "baserom.gba", 0x41e2f5, 0x2d gUnknown_841E322:: @ 841E322 - .string "{UNKNOWN_F9 0x07}$" + .string "{EXTRA_ID}$" gUnknown_841E325:: @ 841E325 .string "Communication standby…$" @@ -2343,7 +2343,7 @@ gFameCheckerText_PickScreenUI:: @ 841E5B9 .string "{KEYGFX_START_BUTTON}PICK {KEYGFX_DPAD_UP_DOWN}SELECT {KEYGFX_B_BUTTON}CANCEL$" gFameCheckerText_FlavorTextUI:: @ 841E5D2 - .string "{KEYGFX_DPAD_ANY}PICK {KEYGFX_A_BUTTON}READ {UNKNOWN_F8 0x01}CANCEL$" + .string "{KEYGFX_DPAD_ANY}PICK {KEYGFX_A_BUTTON}READ {KEYGFX_B_BUTTON}CANCEL$" gFameCheckerOakName:: @ 841E5E9 .string "OAK$" diff --git a/data/help_system_812B1E0.s b/data/help_system_812B1E0.s index 51cdc2818..fcdaf935a 100644 --- a/data/help_system_812B1E0.s +++ b/data/help_system_812B1E0.s @@ -5,40 +5,404 @@ .section .rodata .align 2, 0 gUnknown_845B080:: @ 845B080 - .incbin "baserom.gba", 0x45B080, 0x18 + .4byte gUnknown_81B2DF8 + .4byte gUnknown_81B2E1C + .4byte gUnknown_81B2E2E + .4byte gUnknown_81B2E48 + .4byte gUnknown_81B2E58 + .4byte gUnknown_81B2E6A gUnknown_845B098:: @ 845B098 - .incbin "baserom.gba", 0x45B098, 0x18 + .4byte gUnknown_81B2E88 + .4byte gUnknown_81B2EC8 + .4byte gUnknown_81B2F00 + .4byte gUnknown_81B2F43 + .4byte gUnknown_81B2F74 + .4byte gUnknown_81B2FA9 gUnknown_845B0B0:: @ 845B0B0 - .incbin "baserom.gba", 0x45B0B0, 0xB4 + .4byte NULL + .4byte gUnknown_81B3083 + .4byte gUnknown_81B30A9 + .4byte gUnknown_81B30C1 + .4byte gUnknown_81B30DC + .4byte gUnknown_81B30FC + .4byte gUnknown_81B311F + .4byte gUnknown_81B3140 + .4byte gUnknown_81B314F + .4byte gUnknown_81B3168 + .4byte gUnknown_81B3189 + .4byte gUnknown_81B31AE + .4byte gUnknown_81B31D3 + .4byte gUnknown_81B31EC + .4byte gUnknown_81B31FF + .4byte gUnknown_81B3215 + .4byte gUnknown_81B3226 + .4byte gUnknown_81B3243 + .4byte gUnknown_81B3261 + .4byte gUnknown_81B3276 + .4byte gUnknown_81B3290 + .4byte gUnknown_81B32B6 + .4byte gUnknown_81B32CD + .4byte gUnknown_81B32E3 + .4byte gUnknown_81B32F9 + .4byte gUnknown_81B330B + .4byte gUnknown_81B332B + .4byte gUnknown_81B3344 + .4byte gUnknown_81B335C + .4byte gUnknown_81B3373 + .4byte gUnknown_81B338C + .4byte gUnknown_81B33A6 + .4byte gUnknown_81B33CA + .4byte gUnknown_81B33EA + .4byte gUnknown_81B3402 + .4byte gUnknown_81B3427 + .4byte gUnknown_81B3440 + .4byte gUnknown_81B3457 + .4byte gUnknown_81B346F + .4byte gUnknown_81B3481 + .4byte gUnknown_81B349B + .4byte gUnknown_81B34B7 + .4byte gUnknown_81B34D6 + .4byte gUnknown_81B34F6 + .4byte gUnknown_81B3516 gUnknown_845B164:: @ 845B164 - .incbin "baserom.gba", 0x45B164, 0xB4 + .4byte NULL + .4byte gUnknown_81B3525 + .4byte gUnknown_81B35E6 + .4byte gUnknown_81B36EB + .4byte gUnknown_81B379A + .4byte gUnknown_81B3849 + .4byte gUnknown_81B3876 + .4byte gUnknown_81B3972 + .4byte gUnknown_81B3A51 + .4byte gUnknown_81B3ACC + .4byte gUnknown_81B3BB6 + .4byte gUnknown_81B3C99 + .4byte gUnknown_81B3D1B + .4byte gUnknown_81B3DE3 + .4byte gUnknown_81B3EBC + .4byte gUnknown_81B3F7F + .4byte gUnknown_81B406C + .4byte gUnknown_81B410B + .4byte gUnknown_81B41D7 + .4byte gUnknown_81B42B3 + .4byte gUnknown_81B439D + .4byte gUnknown_81B4483 + .4byte gUnknown_81B457C + .4byte gUnknown_81B4645 + .4byte gUnknown_81B470A + .4byte gUnknown_81B47F0 + .4byte gUnknown_81B48C6 + .4byte gUnknown_81B497A + .4byte gUnknown_81B4A72 + .4byte gUnknown_81B4B65 + .4byte gUnknown_81B4C54 + .4byte gUnknown_81B4D26 + .4byte gUnknown_81B4E0B + .4byte gUnknown_81B4ED8 + .4byte gUnknown_81B4FB2 + .4byte gUnknown_81B4FFD + .4byte gUnknown_81B50FF + .4byte gUnknown_81B51B1 + .4byte gUnknown_81B5272 + .4byte gUnknown_81B5325 + .4byte gUnknown_81B5382 + .4byte gUnknown_81B547C + .4byte gUnknown_81B54E1 + .4byte gUnknown_81B5589 + .4byte gUnknown_81B55F4 gUnknown_845B218:: @ 845B218 - .incbin "baserom.gba", 0x45B218, 0xC4 + .4byte NULL + .4byte gUnknown_81B56E3 + .4byte gUnknown_81B56F4 + .4byte gUnknown_81B5705 + .4byte gUnknown_81B5717 + .4byte gUnknown_81B5728 + .4byte gUnknown_81B5737 + .4byte gUnknown_81B5744 + .4byte gUnknown_81B5754 + .4byte gUnknown_81B5767 + .4byte gUnknown_81B577B + .4byte gUnknown_81B5787 + .4byte gUnknown_81B5795 + .4byte gUnknown_81B57A5 + .4byte gUnknown_81B57B8 + .4byte gUnknown_81B57CF + .4byte gUnknown_81B57DE + .4byte gUnknown_81B57EE + .4byte gUnknown_81B580D + .4byte gUnknown_81B5824 + .4byte gUnknown_81B5834 + .4byte gUnknown_81B583F + .4byte gUnknown_81B5850 + .4byte gUnknown_81B5863 + .4byte gUnknown_81B5875 + .4byte gUnknown_81B5884 + .4byte gUnknown_81B5893 + .4byte gUnknown_81B58A4 + .4byte gUnknown_81B58BC + .4byte gUnknown_81B58D3 + .4byte gUnknown_81B58E5 + .4byte gUnknown_81B58FD + .4byte gUnknown_81B590E + .4byte gUnknown_81B591D + .4byte gUnknown_81B592E + .4byte gUnknown_81B593E + .4byte gUnknown_81B5950 + .4byte gUnknown_81B595D + .4byte gUnknown_81B5974 + .4byte gUnknown_81B5989 + .4byte gUnknown_81B59A7 + .4byte gUnknown_81B59BF + .4byte gUnknown_81B59D6 + .4byte gUnknown_81B59E8 + .4byte gUnknown_81B59F5 + .4byte gUnknown_81B5A0D + .4byte gUnknown_81B5A1B + .4byte gUnknown_81B5A29 + .4byte gUnknown_81B5A37 gUnknown_845B2DC:: @ 845B2DC - .incbin "baserom.gba", 0x45B2DC, 0xC4 + .4byte NULL + .4byte gUnknown_81B5A4D + .4byte gUnknown_81B5B0C + .4byte gUnknown_81B5B7D + .4byte gUnknown_81B5C13 + .4byte gUnknown_81B5CDF + .4byte gUnknown_81B5D87 + .4byte gUnknown_81B5E41 + .4byte gUnknown_81B5F10 + .4byte gUnknown_81B5FA6 + .4byte gUnknown_81B606C + .4byte gUnknown_81B6140 + .4byte gUnknown_81B6203 + .4byte gUnknown_81B62E4 + .4byte gUnknown_81B6397 + .4byte gUnknown_81B6478 + .4byte gUnknown_81B6525 + .4byte gUnknown_81B65E7 + .4byte gUnknown_81B66BA + .4byte gUnknown_81B678E + .4byte gUnknown_81B6883 + .4byte gUnknown_81B68CD + .4byte gUnknown_81B69B9 + .4byte gUnknown_81B6A9A + .4byte gUnknown_81B6B6E + .4byte gUnknown_81B6C4F + .4byte gUnknown_81B6D4A + .4byte gUnknown_81B6E02 + .4byte gUnknown_81B6EC1 + .4byte gUnknown_81B6FA8 + .4byte gUnknown_81B7075 + .4byte gUnknown_81B7108 + .4byte gUnknown_81B71EA + .4byte gUnknown_81B723B + .4byte gUnknown_81B7319 + .4byte gUnknown_81B73E8 + .4byte gUnknown_81B747E + .4byte gUnknown_81B752C + .4byte gUnknown_81B7611 + .4byte gUnknown_81B7692 + .4byte gUnknown_81B771E + .4byte gUnknown_81B77DD + .4byte gUnknown_81B7884 + .4byte gUnknown_81B7931 + .4byte gUnknown_81B79CB + .4byte gUnknown_81B7A60 + .4byte gUnknown_81B7AEE + .4byte gUnknown_81B7BBE + .4byte gUnknown_81B7C57 gUnknown_845B3A0:: @ 845B3A0 - .incbin "baserom.gba", 0x45B3A0, 0xB0 + .4byte NULL + .4byte gUnknown_81B7CC1 + .4byte gUnknown_81B7CC4 + .4byte gUnknown_81B7CD9 + .4byte gUnknown_81B7CDF + .4byte gUnknown_81B7CE6 + .4byte gUnknown_81B7CEE + .4byte gUnknown_81B7CF6 + .4byte gUnknown_81B7CFE + .4byte gUnknown_81B7D04 + .4byte gUnknown_81B7D12 + .4byte gUnknown_81B7D17 + .4byte gUnknown_81B7D1A + .4byte gUnknown_81B7D1F + .4byte gUnknown_81B7D27 + .4byte gUnknown_81B7D2D + .4byte gUnknown_81B7D37 + .4byte gUnknown_81B7D3E + .4byte gUnknown_81B7D45 + .4byte gUnknown_81B7D48 + .4byte gUnknown_81B7D4E + .4byte gUnknown_81B7D57 + .4byte gUnknown_81B7D5B + .4byte gUnknown_81B7D61 + .4byte gUnknown_81B7D6B + .4byte gUnknown_81B7D76 + .4byte gUnknown_81B7D7E + .4byte gUnknown_81B7D88 + .4byte gUnknown_81B7D8F + .4byte gUnknown_81B7D9A + .4byte gUnknown_81B7DA7 + .4byte gUnknown_81B7DB4 + .4byte gUnknown_81B7DBA + .4byte gUnknown_81B7DC6 + .4byte gUnknown_81B7DCC + .4byte gUnknown_81B7DD3 + .4byte gUnknown_81B7DD6 + .4byte gUnknown_81B7DD9 + .4byte gUnknown_81B7DE1 + .4byte gUnknown_81B7DEB + .4byte gUnknown_81B7DFA + .4byte gUnknown_81B7E02 + .4byte gUnknown_81B7E09 + .4byte gUnknown_81B7E0F gUnknown_845B450:: @ 845B450 - .incbin "baserom.gba", 0x45B450, 0xB0 + .4byte NULL + .4byte gUnknown_81B7E16 + .4byte gUnknown_81B7F0A + .4byte gUnknown_81B800A + .4byte gUnknown_81B80EC + .4byte gUnknown_81B81C2 + .4byte gUnknown_81B8256 + .4byte gUnknown_81B8348 + .4byte gUnknown_81B83EF + .4byte gUnknown_81B847B + .4byte gUnknown_81B8550 + .4byte gUnknown_81B8647 + .4byte gUnknown_81B86E2 + .4byte gUnknown_81B87B8 + .4byte gUnknown_81B8897 + .4byte gUnknown_81B8924 + .4byte gUnknown_81B8A04 + .4byte gUnknown_81B8A84 + .4byte gUnknown_81B8B62 + .4byte gUnknown_81B8C18 + .4byte gUnknown_81B8C94 + .4byte gUnknown_81B8D1D + .4byte gUnknown_81B8DD4 + .4byte gUnknown_81B8E67 + .4byte gUnknown_81B8F4D + .4byte gUnknown_81B901B + .4byte gUnknown_81B90A7 + .4byte gUnknown_81B90E8 + .4byte gUnknown_81B9170 + .4byte gUnknown_81B91C2 + .4byte gUnknown_81B91F9 + .4byte gUnknown_81B92B8 + .4byte gUnknown_81B92ED + .4byte gUnknown_81B93D8 + .4byte gUnknown_81B9439 + .4byte gUnknown_81B9497 + .4byte gUnknown_81B9560 + .4byte gUnknown_81B9656 + .4byte gUnknown_81B9749 + .4byte gUnknown_81B984F + .4byte gUnknown_81B991C + .4byte gUnknown_81B99C4 + .4byte gUnknown_81B9AA2 + .4byte gUnknown_81B9B2F gUnknown_845B500:: @ 845B500 - .incbin "baserom.gba", 0x45B500, 0x20 + .4byte NULL + .4byte gUnknown_81B9BB7 + .4byte gUnknown_81B9BC7 + .4byte gUnknown_81B9BD0 + .4byte gUnknown_81B9BE1 + .4byte gUnknown_81B9BF5 + .4byte gUnknown_81B9C09 + .4byte gUnknown_81B9C1D gUnknown_845B520:: @ 845B520 - .incbin "baserom.gba", 0x45B520, 0x20 + .4byte NULL + .4byte gUnknown_81B9C2F + .4byte gUnknown_81B9D04 + .4byte gUnknown_81B9DC5 + .4byte gUnknown_81B9E75 + .4byte gUnknown_81B9F09 + .4byte gUnknown_81B9FCE + .4byte gUnknown_81BA027 gUnknown_845B540:: @ 845B540 - .incbin "baserom.gba", 0x45B540, 0x90 + .4byte NULL + .4byte gUnknown_81BA0F1 + .4byte gUnknown_81BA10D + .4byte gUnknown_81BA121 + .4byte gUnknown_81BA138 + .4byte gUnknown_81BA14C + .4byte gUnknown_81BA163 + .4byte gUnknown_81BA17A + .4byte gUnknown_81BA194 + .4byte gUnknown_81BA1AC + .4byte gUnknown_81BA1C7 + .4byte gUnknown_81BA1DC + .4byte gUnknown_81BA1F4 + .4byte gUnknown_81BA209 + .4byte gUnknown_81BA221 + .4byte gUnknown_81BA234 + .4byte gUnknown_81BA24A + .4byte gUnknown_81BA260 + .4byte gUnknown_81BA279 + .4byte gUnknown_81BA291 + .4byte gUnknown_81BA2AC + .4byte gUnknown_81BA2C2 + .4byte gUnknown_81BA2DB + .4byte gUnknown_81BA2F1 + .4byte gUnknown_81BA30A + .4byte gUnknown_81BA320 + .4byte gUnknown_81BA339 + .4byte gUnknown_81BA34E + .4byte gUnknown_81BA366 + .4byte gUnknown_81BA37C + .4byte gUnknown_81BA395 + .4byte gUnknown_81BA3A9 + .4byte gUnknown_81BA3C0 + .4byte gUnknown_81BA3D5 + .4byte gUnknown_81BA3ED + .4byte gUnknown_81BA400 gUnknown_845B5D0:: - .incbin "baserom.gba", 0x45B5D0, 0x90 + .4byte NULL + .4byte gUnknown_81BA416 + .4byte gUnknown_81BA4E6 + .4byte gUnknown_81BA539 + .4byte gUnknown_81BA595 + .4byte gUnknown_81BA5F2 + .4byte gUnknown_81BA66F + .4byte gUnknown_81BA6C9 + .4byte gUnknown_81BA71F + .4byte gUnknown_81BA796 + .4byte gUnknown_81BA7E9 + .4byte gUnknown_81BA862 + .4byte gUnknown_81BA8D3 + .4byte gUnknown_81BA92A + .4byte gUnknown_81BA98D + .4byte gUnknown_81BA9F1 + .4byte gUnknown_81BAA44 + .4byte gUnknown_81BAAB6 + .4byte gUnknown_81BAB18 + .4byte gUnknown_81BAB7A + .4byte gUnknown_81BABCC + .4byte gUnknown_81BAC29 + .4byte gUnknown_81BAC89 + .4byte gUnknown_81BACC4 + .4byte gUnknown_81BAD20 + .4byte gUnknown_81BAD60 + .4byte gUnknown_81BADA2 + .4byte gUnknown_81BADF7 + .4byte gUnknown_81BAEA8 + .4byte gUnknown_81BAF01 + .4byte gUnknown_81BAF6B + .4byte gUnknown_81BAFCA + .4byte gUnknown_81BB02E + .4byte gUnknown_81BB084 + .4byte gUnknown_81BB0DF + .4byte gUnknown_81BB156 gUnknown_845B660:: .byte 0x01, 0x02, 0x03, 0xff @@ -305,8 +669,9 @@ gUnknown_845B9E0:: @ 845B9E0 .4byte NULL, gUnknown_845B9B8, NULL, NULL, NULL .4byte NULL, NULL, NULL, NULL, NULL + @ unreferenced tilemap gUnknown_845BCB0:: @ 845BCC0 - .incbin "baserom.gba", 0x45BCB0, 0x800 + .incbin "graphics/help_system/unk_845BCB0.bin" gUnknown_845C4B0:: @ 845C4B0 .byte 0x03, 0x00, 0x01, 0x02, 0x04, 0x05 diff --git a/data/map_event_scripts.inc b/data/map_event_scripts.inc index 9a41120b1..460477812 100644 --- a/data/map_event_scripts.inc +++ b/data/map_event_scripts.inc @@ -3257,31 +3257,9 @@ CeladonCity_GameCorner_EventScript_1B2867:: @ 81B2867 .incbin "baserom.gba", 0x1B2867, 0xD1 FourIsland_House2_EventScript_1B2938:: @ 81B2938 - .incbin "baserom.gba", 0x1B2938, 0x4E4 + .incbin "baserom.gba", 0x1B2938, 0x4C0 -gUnknown_81B2E1C:: @ 81B2E1C - .string "How do I do this?$" - -gUnknown_81B2E2E:: @ 81B2E2E - .string "What does this term mean?$" - -gUnknown_81B2E48:: @ 81B2E48 - .string "About this game$" - -gUnknown_81B2E58:: @ 81B2E58 - .string "Type Matchup List$" - -gUnknown_81B2E6A:: @ 81B2E6A - .string "EXIT$" - -gUnknown_81B2E6F:: @ 81B2E6F - .incbin "baserom.gba", 0x1B2E6F, 0x15A - -gUnknown_81B2FC9:: @ 81B2FC9 - .incbin "baserom.gba", 0x1B2FC9, 0x52 - -gUnknown_81B301B:: @ 81B301B - .incbin "baserom.gba", 0x1B301B, 0x8199 + .include "data/text/help_system.inc" CeladonCity_PokemonCenter_2F_MapScript4_1BB1B4:: @ 81BB1B4 CeruleanCity_PokemonCenter_2F_MapScript4_1BB1B4:: @ 81BB1B4 diff --git a/data/text/help_system.inc b/data/text/help_system.inc new file mode 100644 index 000000000..a85af88a8 --- /dev/null +++ b/data/text/help_system.inc @@ -0,0 +1,1879 @@ +gUnknown_81B2DF8:: @ 81B2DF8 + .string "What should I do in this situation?$" + +gUnknown_81B2E1C:: @ 81B2E1C + .string "How do I do this?$" + +gUnknown_81B2E2E:: @ 81B2E2E + .string "What does this term mean?$" + +gUnknown_81B2E48:: @ 81B2E48 + .string "About this game$" + +gUnknown_81B2E58:: @ 81B2E58 + .string "Type Matchup List$" + +gUnknown_81B2E6A:: @ 81B2E6A + .string "EXIT$" + +gUnknown_81B2E6F:: @ 81B2E6F + .string "CANCEL$" + +gUnknown_81B2E76:: + .string "じぶんの ちからで やってみよう!$" + +gUnknown_81B2E88:: @ 81B2E88 + .string "Select to obtain hints for getting\n" + .string "over challenging situations.$" + +gUnknown_81B2EC8:: @ 81B2EC8 + .string "Detailed instructions are given for\n" + .string "various operations.$" + +gUnknown_81B2F00:: @ 81B2F00 + .string "Detailed descriptions are given for\n" + .string "terms that appear in the game.$" + +gUnknown_81B2F43:: @ 81B2F43 + .string "Detailed descriptions are given\n" + .string "about this game.$" + +gUnknown_81B2F74:: @ 81B2F74 + .string "The matchups of POKéMON types\n" + .string "and moves are listed.$" + +gUnknown_81B2FA9:: @ 81B2FA9 + .string "Select to exit the HELP System.$" + +gUnknown_81B2FC9:: @ 81B2FC9 + .string "Greetings! This is the HELP System.\n" + .string "Call me up whenever and wherever you\l" + .string "need by p" + +gUnknown_81B301B:: @ 81B301B + .string "ressing the L or R Button.\l" + .string "The help messages change to suit the\l" + .string "situation, so check them often, please.$" + +gUnknown_81B3083:: @ 81B3083 + .string "I'm playing for the first time. Help!$" + +gUnknown_81B30A9:: @ 81B30A9 + .string "What should I be doing?$" + +gUnknown_81B30C1:: @ 81B30C1 + .string "I can't get out of a room!$" + +gUnknown_81B30DC:: @ 81B30DC + .string "I can't find the person I want.$" + +gUnknown_81B30FC:: @ 81B30FC + .string "I've talked to everyone. Now what?$" + +gUnknown_81B311F:: @ 81B311F + .string "There's someone blocking my way!$" + +gUnknown_81B3140:: @ 81B3140 + .string "I can't go on!$" + +gUnknown_81B314F:: @ 81B314F + .string "I'm out of things to do.$" + +gUnknown_81B3168:: @ 81B3168 + .string "What happened to the item I got?$" + +gUnknown_81B3189:: @ 81B3189 + .string "What are the basics of my adventure?$" + +gUnknown_81B31AE:: @ 81B31AE + .string "How are roads and forests different?$" + +gUnknown_81B31D3:: @ 81B31D3 + .string "How are caves different?$" + +gUnknown_81B31EC:: @ 81B31EC + .string "How do I progress?$" + +gUnknown_81B31FF:: @ 81B31FF + .string "When can I use items?$" + +gUnknown_81B3215:: @ 81B3215 + .string "What's a battle?$" + +gUnknown_81B3226:: @ 81B3226 + .string "How do I prepare for battle?$" + +gUnknown_81B3243:: @ 81B3243 + .string "What is a POKéMON's vitality?$" + +gUnknown_81B3261:: @ 81B3261 + .string "My POKéMON are hurt!$" + +gUnknown_81B3276:: @ 81B3276 + .string "What is a status problem?$" + +gUnknown_81B3290:: @ 81B3290 + .string "What happens if all my POKéMON faint?$" + +gUnknown_81B32B6:: @ 81B32B6 + .string "I can't catch POKéMON!$" + +gUnknown_81B32CD:: @ 81B32CD + .string "I ran out of POTIONS.$" + +gUnknown_81B32E3:: @ 81B32E3 + .string "Can I buy POKé BALLS?$" + +gUnknown_81B32F9:: @ 81B32F9 + .string "What's a TRAINER?$" + +gUnknown_81B330B:: @ 81B330B + .string "How do I win against a TRAINER?$" + +gUnknown_81B332B:: @ 81B332B + .string "Where do POKéMON appear?$" + +gUnknown_81B3344:: @ 81B3344 + .string "What are POKéMON moves?$" + +gUnknown_81B335C:: @ 81B335C + .string "What are HIDDEN moves?$" + +gUnknown_81B3373:: @ 81B3373 + .string "What moves should I use?$" + +gUnknown_81B338C:: @ 81B338C + .string "I want to add more moves.$" + +gUnknown_81B33A6:: @ 81B33A6 + .string "I want to make my POKéMON stronger.$" + +gUnknown_81B33CA:: @ 81B33CA + .string "The foe POKéMON are too strong!$" + +gUnknown_81B33EA:: @ 81B33EA + .string "What do I do in a cave?$" + +gUnknown_81B3402:: @ 81B3402 + .string "There's nothing that I want to know!$" + +gUnknown_81B3427:: @ 81B3427 + .string "What's a POKéMON CENTER?$" + +gUnknown_81B3440:: @ 81B3440 + .string "What's a POKéMON MART?$" + +gUnknown_81B3457:: @ 81B3457 + .string "I want to end the game.$" + +gUnknown_81B346F:: @ 81B346F + .string "What's a POKéMON?$" + +gUnknown_81B3481:: @ 81B3481 + .string "What is that person like?$" + +gUnknown_81B349B:: @ 81B349B + .string "What does a HIDDEN move do?$" + +gUnknown_81B34B7:: @ 81B34B7 + .string "What do I do in a SAFARI GAME?$" + +gUnknown_81B34D6:: @ 81B34D6 + .string "What are the SAFARI GAME rules?$" + +gUnknown_81B34F6:: @ 81B34F6 + .string "I want to end this SAFARI GAME!$" + +gUnknown_81B3516:: @ 81B3516 + .string "What is a GYM?$" + +gUnknown_81B3525:: @ 81B3525 + .string "You become the main character,\n" + .string "exploring the world of POKéMON.\l" + .string "By talking to people and solving\l" + .string "mysteries, new paths will open to you.\l" + .string "Strive for the goal together with your\l" + .string "wonderful POKéMON.$" + +gUnknown_81B35E6:: @ 81B35E6 + .string "When you come across another person,\n" + .string "go up to them and press the A Button.\l" + .string "That will get them to talk and interact\l" + .string "with your character. You may also\l" + .string "examine various items and objects in\l" + .string "the same way. Talk to people and check\l" + .string "things often to obtain information.$" + +gUnknown_81B36EB:: @ 81B36EB + .string "On the stairs or the exits of a\n" + .string "building is a red mat. Move your\l" + .string "character to stand on top of the\l" + .string "red mat. Press the {EXTRA_PLUS} Control Pad \l" + .string "toward the stairs or the exit to\l" + .string "advance.$" + +gUnknown_81B379A:: @ 81B379A + .string "This isn't something you should worry\n" + .string "about too much.\l" + .string "Talk to other people, check signs,\l" + .string "check things, and so on.\l" + .string "Sometimes, you may need to just move\l" + .string "to a new town or place.$" + +gUnknown_81B3849:: @ 81B3849 + .string "Try moving on to a new road, town, or\n" + .string "place.$" + +gUnknown_81B3876:: @ 81B3876 + .string "There could be something in the town\n" + .string "or inside a building that is the cause.\l" + .string "Try talking to the people in the area\l" + .string "again. If there is a problem that they\l" + .string "need solved, you may have to help.\l" + .string "Afterwards, try talking to the person\l" + .string "blocking your way again.$" + +gUnknown_81B3972:: @ 81B3972 + .string "Try talking to people by going up to\n" + .string "them and pressing the A Button.\l" + .string "Also, try checking things like odd trees\l" + .string "and strange rocks with the A Button.\l" + .string "Press the {EXTRA_PLUS} Control Pad and try going\l" + .string "to places that look impassable, too.$" + +gUnknown_81B3A51:: @ 81B3A51 + .string "Try going to places where you \n" + .string "haven't visited yet.\l" + .string "Also, check everything that looks\l" + .string "suspicious by pressing the A Button.$" + +gUnknown_81B3ACC:: @ 81B3ACC + .string "Any item that you are given by another\n" + .string "character goes in your BAG.\l" + .string "The item is automatically sorted and\l" + .string "placed in one of three pockets.\l" + .string "For instructions on the BAG's use,\l" + .string "please refer to the HELP System's\l" + .string "“How do I do this?” heading.$" + +gUnknown_81B3BB6:: @ 81B3BB6 + .string "If POKéMON are hurt in battle,\n" + .string "take them to a POKéMON CENTER and\l" + .string "have them healed by the staff.\l" + .string "Get in the habit of saving your\l" + .string "game and recording your progress.\l" + .string "Stock up on healing items at\l" + .string "POKéMON MARTS before traveling far.$" + +gUnknown_81B3C99:: @ 81B3C99 + .string "Forests are basically the same as\n" + .string "roads but they can be like mazes.\l" + .string "All forests have a way out, so don't\l" + .string "give up if you get lost.$" + +gUnknown_81B3D1B:: @ 81B3D1B + .string "Caves are dark and dangerous. Wild\n" + .string "POKéMON can appear anywhere in them.\l" + .string "If there is an emergency, rush to a\l" + .string "POKéMON CENTER or use items.\l" + .string "New towns await discovery beyond some\l" + .string "caves, so don't give up.$" + +gUnknown_81B3DE3:: @ 81B3DE3 + .string "The object of the game is to train\n" + .string "your POKéMON and move forward.\l" + .string "You must collect info and solve\l" + .string "problems. For example, what do you\l" + .string "need to get around an obstacle?\l" + .string "What would get that impeding\l" + .string "person out of the way?$" + +gUnknown_81B3EBC:: @ 81B3EBC + .string "There are several kinds of items.\n" + .string "Some can be used only on the field.\l" + .string "Some are only for use during battle.\l" + .string "Some can be used anytime.\l" + .string "Try using an item - if it can't be used,\l" + .string "you will be alerted.$" + +gUnknown_81B3F7F:: @ 81B3F7F + .string "In a battle, POKéMON try to reduce\n" + .string "one another's vitality, expressed as\l" + .string "HP. If a POKéMON's HP falls to zero,\l" + .string "it faints, and the other POKéMON\l" + .string "wins. By winning a battle, POKéMON\l" + .string "earn EXP. Points, which help them\l" + .string "level up (grow stronger).$" + +gUnknown_81B406C:: @ 81B406C + .string "First, fully heal the POKéMON in your\n" + .string "party (the POKéMON with you) at any\l" + .string "POKéMON CENTER.\l" + .string "You should also buy healing items for\l" + .string "emergencies at a POKéMON MART.$" + +gUnknown_81B410B:: @ 81B410B + .string "A POKéMON's vitality is expressed in HP.\n" + .string "If a POKéMON is hurt in battle, HP is\l" + .string "subtracted. If its HP drops to zero,\l" + .string "the POKéMON faints.\l" + .string "Heal hurt or fainted POKéMON at a\l" + .string "POKéMON CENTER or by using items.$" + +gUnknown_81B41D7:: @ 81B41D7 + .string "A POKéMON CENTER is like an inn for\n" + .string "POKéMON. It will fully heal POKéMON of\l" + .string "any status problems and fully restore\l" + .string "their HP using a special machine.\l" + .string "This service is free, so get in the\l" + .string "habit of healing your POKéMON often.$" + +gUnknown_81B42B3:: @ 81B42B3 + .string "A status problem refers to an ailment\n" + .string "that is inflicted on a POKéMON by its\l" + .string "foe's attack. These include burns,\l" + .string "paralysis, poisoning, sleep, and\l" + .string "freezing. These can be healed by\l" + .string "visiting a POKéMON CENTER or using\l" + .string "the appropriate item.$" + +gUnknown_81B439D:: @ 81B439D + .string "If all the POKéMON in your party\n" + .string "(all the POKéMON with you) faint, you\l" + .string "lose some MONEY, and you are\l" + .string "returned home or to a POKéMON\l" + .string "CENTER. To reduce that chance, visit\l" + .string "POKéMON CENTERS often. Also, get\l" + .string "in the habit of saving often.$" + +gUnknown_81B4483:: @ 81B4483 + .string "If a wild POKéMON escapes from a POKé\n" + .string "BALL, it's obviously still feisty.\l" + .string "Try reducing its HP some more, and\l" + .string "try to weaken it with paralysis or sleep\l" + .string "before trying to catch it.\l" + .string "If the POKé BALL rocks for a while,\l" + .string "the quarry is close to being caught!$" + +gUnknown_81B457C:: @ 81B457C + .string "There are shops, known as POKéMON\n" + .string "MARTS, that sell items.\l" + .string "You will not find POKéMON MARTS on\l" + .string "roads, in forests, or in caves.\l" + .string "Stock up on needed items while you are\l" + .string "visiting a town with a POKéMON MART.$" + +gUnknown_81B4645:: @ 81B4645 + .string "You may buy POKé BALLS at any\n" + .string "POKéMON MART in any town.\l" + .string "You will not find POKéMON MARTS on\l" + .string "roads, in forests, or in caves.\l" + .string "Stock up on POKé BALLS while you are\l" + .string "visiting a town with a POKéMON MART.$" + +gUnknown_81B470A:: @ 81B470A + .string "A TRAINER is a person who raises\n" + .string "POKéMON through battling.\l" + .string "TRAINERS will challenge you \l" + .string "wherever they are - it could be on\l" + .string "a road, in forests, caves, anywhere.\l" + .string "If your eyes meet, you have to accept\l" + .string "their challenge. So be careful!$" + +gUnknown_81B47F0:: @ 81B47F0 + .string "To beat a TRAINER in battle, use\n" + .string "POKéMON that have type advantages\l" + .string "over the foe's POKéMON. You may also\l" + .string "use highly trained POKéMON with\l" + .string "overwhelming power. Outnumbering the\l" + .string "foe's POKéMON is another obvious\l" + .string "tactic.$" + +gUnknown_81B48C6:: @ 81B48C6 + .string "Wild POKéMON will appear in tall grass,\n" + .string "on roads, and in forests. They will\l" + .string "appear anywhere in dark caves.\l" + .string "There are no wild POKéMON or TRAINERS\l" + .string "in towns, so they are safe places.$" + +gUnknown_81B497A:: @ 81B497A + .string "POKéMON may learn up to four different\n" + .string "techniques, or moves. There is a great\l" + .string "variety of moves including attacks and\l" + .string "those with special effects. The kinds\l" + .string "of moves that can be learned vary\l" + .string "for each POKéMON. Some moves\l" + .string "can be learned from machines.$" + +gUnknown_81B4A72:: @ 81B4A72 + .string "HIDDEN moves are those that are\n" + .string "especially important for your\l" + .string "adventure. To use such a move outside\l" + .string "of battle, open the “POKéMON” MENU\l" + .string "and make the POKéMON that knows the\l" + .string "move use it. A fainted POKéMON may use\l" + .string "a HIDDEN move outside of battle.$" + +gUnknown_81B4B65:: @ 81B4B65 + .string "Select “FIGHT,” and the MENU of moves\n" + .string "will appear. Consider the type\l" + .string "matchups, and use the most effective\l" + .string "moves. You can check the effects of\l" + .string "moves by opening “POKéMON,”\l" + .string "picking a POKéMON, opening “SUMMARY,”\l" + .string "then opening “POKéMON SKILLS.”$" + +gUnknown_81B4C54:: @ 81B4C54 + .string "The most a POKéMON can learn is four\n" + .string "moves. They are learned as the\l" + .string "POKéMON levels up. It can also be\l" + .string "taught a move using a TM (Technical\l" + .string "Machine) or HM (Hidden Machine).\l" + .string "There are also people who teach moves.$" + +gUnknown_81B4D26:: @ 81B4D26 + .string "The key to making your POKéMON\n" + .string "strong is to battle and win often.\l" + .string "The EXP. (Experience) Points earned\l" + .string "by winning battles accumulate to\l" + .string "level up POKéMON that participated in\l" + .string "them. Battle wild POKéMON often to\l" + .string "level up your party.$" + +gUnknown_81B4E0B:: @ 81B4E0B + .string "If your foes are too strong, try\n" + .string "leveling up your POKéMON some more.\l" + .string "Go back the way you came and battle\l" + .string "wild POKéMON to level up your party.\l" + .string "You may also battle TRAINERS whom you\l" + .string "have not battled before.$" + +gUnknown_81B4ED8:: @ 81B4ED8 + .string "Unlike roads and forests, wild POKéMON\n" + .string "can appear anywhere in caves.\l" + .string "If your POKéMON are hurt in a cave,\l" + .string "rush to a POKéMON CENTER or use items\l" + .string "to heal them right away. It is very\l" + .string "dangerous to force your luck in caves.$" + +gUnknown_81B4FB2:: @ 81B4FB2 + .string "Trust your own knowledge and power.\n" + .string "Believe in yourself and find your way!$" + +gUnknown_81B4FFD:: @ 81B4FFD + .string "A POKéMON CENTER is identified by its\n" + .string "red roof and a “P.C” sign. Every\l" + .string "POKéMON CENTER offers such services as\l" + .string "fully healing POKéMON and free PC use,\l" + .string "making it essential for your travels.\l" + .string "On the upper floor are facilities for\l" + .string "linking with friends and others.$" + +gUnknown_81B50FF:: @ 81B50FF + .string "A POKéMON MART is identified by its\n" + .string "blue roof and a “MART” sign.\l" + .string "Items can be bought and sold at any\l" + .string "POKéMON MART. Some MARTS carry items\l" + .string "that are available only in their towns.$" + +gUnknown_81B51B1:: @ 81B51B1 + .string "You can safely end your game by\n" + .string "selecting “SAVE” on the MENU.\l" + .string "Once you have saved, the game can be\l" + .string "safely turned off. When the game is\l" + .string "turned back on, you can resume from\l" + .string "where you last saved.$" + +gUnknown_81B5272:: @ 81B5272 + .string "POKéMON are living beings about which\n" + .string "many mysteries still remain. You may\l" + .string "see them in grass, the sea, and caves.\l" + .string "They appear to obey the wishes of the\l" + .string "TRAINERS that caught them.$" + +gUnknown_81B5325:: @ 81B5325 + .string "Use the FAME CHECKER among the\n" + .string "KEY ITEMS in your BAG.\l" + .string "It may give you a hint, so try it out.$" + +gUnknown_81B5382:: @ 81B5382 + .string "A HIDDEN move is taught to a POKéMON\n" + .string "using an HM (Hidden Machine).\l" + .string "A HIDDEN move is important for helping\l" + .string "your adventure. For example, one is\l" + .string "used to light up dark caves. Another\l" + .string "cuts down small trees. There is one\l" + .string "for traveling on water, and so on.$" + +gUnknown_81B547C:: @ 81B547C + .string "Try to catch wild POKéMON by throwing\n" + .string "the special SAFARI BALLS.\l" + .string "You may keep any item you find, too.$" + +gUnknown_81B54E1:: @ 81B54E1 + .string "Your SAFARI GAME ends once you have\n" + .string "traveled a certain distance or thrown\l" + .string "all your SAFARI BALLS.\l" + .string "Open the MENU to check the remaining\l" + .string "number of steps and SAFARI BALLS.$" + +gUnknown_81B5589:: @ 81B5589 + .string "If you would like to cut your SAFARI\n" + .string "GAME short, open the MENU and select\l" + .string "“RETIRE” at the top of the list.$" + +gUnknown_81B55F4:: @ 81B55F4 + .string "POKéMON GYMS are operated by the\n" + .string "POKéMON LEAGUE and are training\l" + .string "facilities for TRAINERS. They are all\l" + .string "across the land in cities and towns.\l" + .string "Each one is headed by a LEADER, who\l" + .string "is a very skilled TRAINER. Beat the\l" + .string "LEADER to collect a BADGE.$" + +gUnknown_81B56E3:: @ 81B56E3 + .string " Using “POKéDEX”$" + +gUnknown_81B56F4:: @ 81B56F4 + .string " Using “POKéMON”$" + +gUnknown_81B5705:: @ 81B5705 + .string " Using “SUMMARY”$" + +gUnknown_81B5717:: @ 81B5717 + .string " Using “SWITCH”$" + +gUnknown_81B5728:: @ 81B5728 + .string " Using “ITEM”$" + +gUnknown_81B5737:: @ 81B5737 + .string " Using “BAG”$" + +gUnknown_81B5744:: @ 81B5744 + .string " Using an item$" + +gUnknown_81B5754:: @ 81B5754 + .string " Using a key item$" + +gUnknown_81B5767:: @ 81B5767 + .string " Using a POKé BALL$" + +gUnknown_81B577B:: @ 81B577B + .string " Using “{PLAYER}”$" + +gUnknown_81B5787:: @ 81B5787 + .string " Using “SAVE”$" + +gUnknown_81B5795:: @ 81B5795 + .string " Using “OPTION”$" + +gUnknown_81B57A5:: @ 81B57A5 + .string " Using a POTION$" + +gUnknown_81B57B8:: @ 81B57B8 + .string " Using the TOWN MAP$" + +gUnknown_81B57CF:: @ 81B57CF + .string " Using a TM$" + +gUnknown_81B57DE:: @ 81B57DE + .string " Using an HM$" + +gUnknown_81B57EE:: @ 81B57EE + .string "Using a move outside of battle$" + +gUnknown_81B580D:: @ 81B580D + .string " Riding the BICYCLE$" + +gUnknown_81B5824:: @ 81B5824 + .string "Entering a name$" + +gUnknown_81B5834:: @ 81B5834 + .string "Using a PC$" + +gUnknown_81B583F:: @ 81B583F + .string " Using “{STR_VAR_1}'S PC”$" + +gUnknown_81B5850:: @ 81B5850 + .string " Using “WITHDRAW”$" + +gUnknown_81B5863:: @ 81B5863 + .string " Using “DEPOSIT”$" + +gUnknown_81B5875:: @ 81B5875 + .string " Using “MOVE”$" + +gUnknown_81B5884:: @ 81B5884 + .string " Moving items$" + +gUnknown_81B5893:: @ 81B5893 + .string " Using “{PLAYER}'s PC”$" + +gUnknown_81B58A4:: @ 81B58A4 + .string " Using “WITHDRAW ITEM”$" + +gUnknown_81B58BC:: @ 81B58BC + .string " Using “DEPOSIT ITEM”$" + +gUnknown_81B58D3:: @ 81B58D3 + .string " Using “MAILBOX”$" + +gUnknown_81B58E5:: @ 81B58E5 + .string " Using “PROF. OAK'S PC”$" + +gUnknown_81B58FD:: @ 81B58FD + .string "Opening the MENU$" + +gUnknown_81B590E:: @ 81B590E + .string " Using “FIGHT”$" + +gUnknown_81B591D:: @ 81B591D + .string " Using “POKéMON”$" + +gUnknown_81B592E:: @ 81B592E + .string " Using “SHIFT”$" + +gUnknown_81B593E:: @ 81B593E + .string " Using “SUMMARY”$" + +gUnknown_81B5950:: @ 81B5950 + .string " Using “BAG”$" + +gUnknown_81B595D:: @ 81B595D + .string " Reading the “POKéDEX”$" + +gUnknown_81B5974:: @ 81B5974 + .string "Using the PC at home$" + +gUnknown_81B5989:: @ 81B5989 + .string "Using the Item Storage System$" + +gUnknown_81B59A7:: @ 81B59A7 + .string " Using “WITHDRAW ITEM”$" + +gUnknown_81B59BF:: @ 81B59BF + .string " Using “DEPOSIT ITEM”$" + +gUnknown_81B59D6:: @ 81B59D6 + .string "Using the MAILBOX$" + +gUnknown_81B59E8:: @ 81B59E8 + .string " Using “RUN”$" + +gUnknown_81B59F5:: @ 81B59F5 + .string " “REGISTER” a key item$" + +gUnknown_81B5A0D:: @ 81B5A0D + .string " Using “BALL”$" + +gUnknown_81B5A1B:: @ 81B5A1B + .string " Using “BAIT”$" + +gUnknown_81B5A29:: @ 81B5A29 + .string " Using “ROCK”$" + +gUnknown_81B5A37:: @ 81B5A37 + .string " Using “HALL OF FAME”$" + +gUnknown_81B5A4D:: @ 81B5A4D + .string "{EXTRA_CIRCLE_1} Select “POKéDEX” on the MENU.\n" + .string "{EXTRA_CIRCLE_2} Choose POKéMON using commands such\n" + .string " as “POKéMON LIST,”\n" + .string " “HABITATS OF POKéMON,” and\n" + .string " “SEARCH.”\n" + .string "{EXTRA_CIRCLE_3} Select a POKéMON to obtain detailed\n" + .string " information.$" + +gUnknown_81B5B0C:: @ 81B5B0C + .string "{EXTRA_CIRCLE_1} Select “POKéMON” on the MENU.\n" + .string "{EXTRA_CIRCLE_2} Choose a POKéMON in your party.\n" + .string "{EXTRA_CIRCLE_3} Select “SUMMARY,” “SWITCH,”\n" + .string " or “ITEM.”$" + +gUnknown_81B5B7D:: @ 81B5B7D + .string "{EXTRA_CIRCLE_1} Select “SUMMARY.”\n" + .string "{EXTRA_CIRCLE_2} Press left or right on the {EXTRA_PLUS} Control\n" + .string " Pad to check the information:\n" + .string " “POKéMON INFO”\n" + .string " “POKéMON SKILLS”\n" + .string " “KNOWN MOVES”$" + +gUnknown_81B5C13:: @ 81B5C13 + .string "{EXTRA_CIRCLE_1} Choose the POKéMON you want to\n" + .string " switch around.\n" + .string "{EXTRA_CIRCLE_2} Select “SWITCH.”\n" + .string "{EXTRA_CIRCLE_3} Select the POKéMON to switch with\n" + .string " the first one.\n" + .string "The POKéMON at the left of the screen\n" + .string "will be the first one out in a battle.$" + +gUnknown_81B5CDF:: @ 81B5CDF + .string "{EXTRA_CIRCLE_1} Select “ITEM.”\n" + .string "{EXTRA_CIRCLE_2} Select whether you want to “GIVE”\n" + .string " an item to the POKéMON to hold,\n" + .string " or “TAKE” an item it is holding.\n" + .string "A POKéMON can hold no more than one\n" + .string "item!$" + +gUnknown_81B5D87:: @ 81B5D87 + .string "{EXTRA_CIRCLE_1} Select “BAG” on the MENU.\n" + .string "{EXTRA_CIRCLE_2} Press left or right on the {EXTRA_PLUS} Control\n" + .string " Pad to check the data headings:\n" + .string " “ITEMS”\n" + .string " “KEY ITEMS”\n" + .string " “POKé BALLS”\n" + .string " Press up or down to select an item.$" + +gUnknown_81B5E41:: @ 81B5E41 + .string "{EXTRA_CIRCLE_1} Select the “ITEMS” POCKET.\n" + .string "{EXTRA_CIRCLE_2} Press up or down on the {EXTRA_PLUS} Control\n" + .string " Pad to select an item.\n" + .string "{EXTRA_CIRCLE_3} Select “USE” to use the selected\n" + .string " item.\n" + .string "Some items may not be used depending\n" + .string "on the place and/or situation.$" + +gUnknown_81B5F10:: @ 81B5F10 + .string "{EXTRA_CIRCLE_1} Select the “KEY ITEMS” POCKET.\n" + .string "{EXTRA_CIRCLE_2} Press up or down on the {EXTRA_PLUS} Control\n" + .string " Pad to select a key item.\n" + .string "{EXTRA_CIRCLE_3} Select “USE” to use the selected\n" + .string " key item.$" + +gUnknown_81B5FA6:: @ 81B5FA6 + .string "{EXTRA_CIRCLE_1} While battling a wild POKéMON,\n" + .string " select the BAG's “POKé BALLS”\n" + .string " POCKET.\n" + .string "{EXTRA_CIRCLE_2} Press up or down on the {EXTRA_PLUS} Control\n" + .string " Pad to select a POKé BALL.\n" + .string "{EXTRA_CIRCLE_3} Select “USE” to throw the selected\n" + .string " POKé BALL.$" + +gUnknown_81B606C:: @ 81B606C + .string "{EXTRA_CIRCLE_1} Select “{PLAYER}” on the MENU.\n" + .string "{EXTRA_CIRCLE_2} Your TRAINER CARD is displayed face\n" + .string " up with basic information. Press the\n" + .string " A Button to turn the CARD over.\n" + .string "{EXTRA_CIRCLE_3} A variety of data can be found on\n" + .string " the reverse side of the CARD.$" + +gUnknown_81B6140:: @ 81B6140 + .string "{EXTRA_CIRCLE_1} Select “SAVE” on the MENU.\n" + .string "{EXTRA_CIRCLE_2} Select “YES” and your progress is\n" + .string " recorded in the save file.\n" + .string "Once the game is saved, you may turn\n" + .string "off the game. Your game can be resumed\n" + .string "from where you saved.$" + +gUnknown_81B6203:: @ 81B6203 + .string "{EXTRA_CIRCLE_1} Select “OPTION” on the MENU.\n" + .string "{EXTRA_CIRCLE_2} Press up or down on the {EXTRA_PLUS} Control\n" + .string " Pad to select an optional item, then\n" + .string " press left or right to alter the\n" + .string " settings.\n" + .string "{EXTRA_CIRCLE_3} Select “CANCEL” or press the\n" + .string " B Button after making changes.$" + +gUnknown_81B62E4:: @ 81B62E4 + .string "{EXTRA_CIRCLE_1} Open the MENU.\n" + .string "{EXTRA_CIRCLE_2} Press up or down on the {EXTRA_PLUS} Control\n" + .string " Pad and select “BAG.”\n" + .string "{EXTRA_CIRCLE_3} Select “POTION” in the “ITEMS”\n" + .string " POCKET.\n" + .string "{EXTRA_CIRCLE_4} Select “USE.”\n" + .string "{EXTRA_CIRCLE_5} Select the POKéMON to be healed.$" + +gUnknown_81B6397:: @ 81B6397 + .string "{EXTRA_CIRCLE_1} Open the MENU.\n" + .string "{EXTRA_CIRCLE_2} Press up or down on the {EXTRA_PLUS} Control\n" + .string " Pad and select “BAG.”\n" + .string "{EXTRA_CIRCLE_3} Press left or right to open the\n" + .string " “KEY ITEMS” POCKET, then press\n" + .string " up or down to select “TOWN MAP.” \n" + .string "{EXTRA_CIRCLE_4} Select “USE” to open the TOWN MAP.$" + +gUnknown_81B6478:: @ 81B6478 + .string "{EXTRA_CIRCLE_1} Open the MENU.\n" + .string "{EXTRA_CIRCLE_2} Open the “KEY ITEMS” POCKET in the\n" + .string " “BAG.”\n" + .string "{EXTRA_CIRCLE_3} “OPEN” the TM CASE.\n" + .string "{EXTRA_CIRCLE_4} Select and “USE” a TM.\n" + .string "{EXTRA_CIRCLE_5} Select a POKéMON that can learn the\n" + .string " move in the TM.$" + +gUnknown_81B6525:: @ 81B6525 + .string "{EXTRA_CIRCLE_1} Open the MENU.\n" + .string "{EXTRA_CIRCLE_2} Open the “KEY ITEMS” POCKET in the\n" + .string " “BAG.”\n" + .string "{EXTRA_CIRCLE_3} “OPEN” the TM CASE.\n" + .string "{EXTRA_CIRCLE_4} Select and “USE” an HM.\n" + .string "{EXTRA_CIRCLE_5} Select a POKéMON that can learn it.\n" + .string "HMs are hard to remove, so be careful!$" + +gUnknown_81B65E7:: @ 81B65E7 + .string "{EXTRA_CIRCLE_1} Open the MENU.\n" + .string "{EXTRA_CIRCLE_2} Select “POKéMON.”\n" + .string "{EXTRA_CIRCLE_3} Select a POKéMON that knows an\n" + .string " HM move. The usable HM move(s)\n" + .string " will be shown in blue. Select and\n" + .string " use the desired move to destroy an\n" + .string " obstacle, fly, surf, etc.$" + +gUnknown_81B66BA:: @ 81B66BA + .string "{EXTRA_CIRCLE_1} Open the MENU. Open the\n" + .string " “KEY ITEMS” POCKET in the “BAG”\n" + .string " and select the “BICYCLE.”\n" + .string "{EXTRA_CIRCLE_2} The BICYCLE can be ridden by\n" + .string " selecting “USE.” You may also\n" + .string " “REGISTER” it for instant use by\n" + .string " pressing SELECT.$" + +gUnknown_81B678E:: @ 81B678E + .string "{EXTRA_CIRCLE_1} Move the cursor to the letter you\n" + .string " want with the {EXTRA_PLUS} Control Pad, then\n" + .string " press the A Button to enter it.\n" + .string "{EXTRA_CIRCLE_2} Press the B Button to back up.\n" + .string "{EXTRA_CIRCLE_3} Press SELECT to switch between\n" + .string " uppercase and lowercase letters.\n" + .string "{EXTRA_CIRCLE_4} Press the A Button on “OK.”$" + +gUnknown_81B6883:: @ 81B6883 + .string "{EXTRA_CIRCLE_1} Go to any POKéMON CENTER, go up\n" + .string " to the PC, then press the A Button.$" + +gUnknown_81B68CD:: @ 81B68CD + .string "{EXTRA_CIRCLE_1} Select “{STR_VAR_1}'S PC” on the PC.\n" + .string "{EXTRA_CIRCLE_2} Select from one of the top three\n" + .string " MENU items to access the POKéMON\n" + .string " Storage System.\n" + .string "If you catch a POKéMON when you have\n" + .string "six in your party, the POKéMON is sent\n" + .string "automatically to a BOX in the System!$" + +gUnknown_81B69B9:: @ 81B69B9 + .string "{EXTRA_CIRCLE_1} Select a POKéMON in the open BOX\n" + .string " with the {EXTRA_PLUS} Control Pad.\n" + .string "{EXTRA_CIRCLE_2} Select “WITHDRAW” to remove the\n" + .string " POKéMON from the BOX and add it to\n" + .string " your party.\n" + .string "You may not withdraw a POKéMON if you\n" + .string "already have six POKéMON with you!$" + +gUnknown_81B6A9A:: @ 81B6A9A + .string "{EXTRA_CIRCLE_1} Select a POKéMON in your party with\n" + .string " the {EXTRA_PLUS} Control Pad.\n" + .string "{EXTRA_CIRCLE_2} Select “DEPOSIT.”\n" + .string "{EXTRA_CIRCLE_3} Select the BOX, then press the\n" + .string " A Button to store the POKéMON.\n" + .string "If you have only one POKéMON with you,\n" + .string "it may not be stored!$" + +gUnknown_81B6B6E:: @ 81B6B6E + .string "{EXTRA_CIRCLE_1} Select a POKéMON in the open BOX.\n" + .string "{EXTRA_CIRCLE_2} Pick up the POKéMON by selecting\n" + .string " “MOVE” and move it anywhere with\n" + .string " the {EXTRA_PLUS} Control Pad.\n" + .string "{EXTRA_CIRCLE_3} Move the POKéMON to the BOX name\n" + .string " and press left or right to move it\n" + .string " to another BOX.$" + +gUnknown_81B6C4F:: @ 81B6C4F + .string "{EXTRA_CIRCLE_1} Faintly shown POKéMON can be made\n" + .string " to hold an item by selecting it and\n" + .string " pressing the A Button.\n" + .string "{EXTRA_CIRCLE_2} Clearly shown POKéMON can be made\n" + .string " to give the item they are holding to\n" + .string " another POKéMON, or return the item\n" + .string " to the BAG with the A Button.$" + +gUnknown_81B6D4A:: @ 81B6D4A + .string "{EXTRA_CIRCLE_1} Select “{PLAYER}'s PC” on the PC.\n" + .string "{EXTRA_CIRCLE_2} Select either “ITEM STORAGE” or\n" + .string " “MAILBOX.”\n" + .string "You may store things in your own PC\n" + .string "if your BAG is full. You may also\n" + .string "withdraw items stored in your PC.$" + +gUnknown_81B6E02:: @ 81B6E02 + .string "{EXTRA_CIRCLE_1} Select “WITHDRAW ITEM.”\n" + .string "{EXTRA_CIRCLE_2} Select the item to be withdrawn.\n" + .string "{EXTRA_CIRCLE_3} The item can be withdrawn and\n" + .string " placed in the BAG's ITEMS POCKET.\n" + .string " It may also be directly given to a\n" + .string " POKéMON to hold.$" + +gUnknown_81B6EC1:: @ 81B6EC1 + .string "{EXTRA_CIRCLE_1} Select “DEPOSIT ITEM.”\n" + .string "{EXTRA_CIRCLE_2} Select the item in the BAG to be\n" + .string " deposited using the {EXTRA_PLUS} Control Pad.\n" + .string "{EXTRA_CIRCLE_3} If there is more than one \n" + .string " item to be deposited, enter the\n" + .string " quantity with the {EXTRA_PLUS} Control Pad,\n" + .string " then press the A Button.$" + +gUnknown_81B6FA8:: @ 81B6FA8 + .string "When MAIL is taken from a POKéMON,\n" + .string "it is moved to the MAILBOX. If it has\n" + .string "no MAIL, the MAILBOX can't be used.\n" + .string "{EXTRA_CIRCLE_1} Select “{PLAYER}'S PC” on the PC.\n" + .string "{EXTRA_CIRCLE_2} Select “MAILBOX” to read MAIL or\n" + .string " make a POKéMON hold MAIL.$" + +gUnknown_81B7075:: @ 81B7075 + .string "{EXTRA_CIRCLE_1} Select “PROF. OAK'S PC” on the PC.\n" + .string "{EXTRA_CIRCLE_2} PROF. OAK will evaluate your\n" + .string " POKéDEX.\n" + .string "His evaluations should give you hints\n" + .string "for catching more POKéMON!$" + +gUnknown_81B7108:: @ 81B7108 + .string "{EXTRA_CIRCLE_1} Press START.\n" + .string "{EXTRA_CIRCLE_2} The MENU will open on the right.\n" + .string "{EXTRA_CIRCLE_3} Depending on the situation, the MENU\n" + .string " may feature different headings.\n" + .string "The MENU will not open in certain\n" + .string "situations such as when talking, doing\n" + .string "something, battling, etc.$" + +gUnknown_81B71EA:: @ 81B71EA + .string "{EXTRA_CIRCLE_1} Select “FIGHT.”\n" + .string "{EXTRA_CIRCLE_2} Select one of the moves shown,\n" + .string "and that move will be used!$" + +gUnknown_81B723B:: @ 81B723B + .string "{EXTRA_CIRCLE_1} Select “POKéMON.”\n" + .string "{EXTRA_CIRCLE_2} Select the POKéMON in your party\n" + .string " that you want to use.\n" + .string "{EXTRA_CIRCLE_3} If you have two or more POKéMON\n" + .string " with you, they may be switched by\n" + .string " selecting “SHIFT.” Check POKéMON\n" + .string " data by selecting “SUMMARY.”$" + +gUnknown_81B7319:: @ 81B7319 + .string "This command switches the POKéMON in\n" + .string "battle with another one in your party.\n" + .string "{EXTRA_CIRCLE_1} Select the POKéMON to be sent out.\n" + .string "{EXTRA_CIRCLE_2} Select “SHIFT.”\n" + .string "{EXTRA_CIRCLE_3} The selected POKéMON will switch\n" + .string " places with the POKéMON in battle!$" + +gUnknown_81B73E8:: @ 81B73E8 + .string "{EXTRA_CIRCLE_1} Select “SUMMARY.”\n" + .string "{EXTRA_CIRCLE_2} Press left or right on the {EXTRA_PLUS} Control\n" + .string " Pad to check the information:\n" + .string " “POKéMON INFO”\n" + .string " “POKéMON SKILLS”\n" + .string " “KNOWN MOVES”$" + +gUnknown_81B747E:: @ 81B747E + .string "{EXTRA_CIRCLE_1} Select “BAG.”\n" + .string "{EXTRA_CIRCLE_2} Press left or right on the {EXTRA_PLUS} Control\n" + .string " Pad to check the data headings:\n" + .string " “ITEMS”\n" + .string " “KEY ITEMS”\n" + .string " “POKé BALLS”\n" + .string " Press up or down to select an item.$" + +gUnknown_81B752C:: @ 81B752C + .string "{EXTRA_CIRCLE_1} POKéMON that you have caught are\n" + .string " identified by a POKé BALL mark on\n" + .string " the POKéDEX list.\n" + .string "{EXTRA_CIRCLE_2} A caught POKéMON will provide a\n" + .string " large amount of data.\n" + .string "{EXTRA_CIRCLE_3} Select “AREA” to display the TOWN\n" + .string " MAP with the POKéMON's habitat(s).$" + +gUnknown_81B7611:: @ 81B7611 + .string "{EXTRA_CIRCLE_1} Go up to the PC at home, then press\n" + .string " the A Button.\n" + .string "{EXTRA_CIRCLE_2} The PC will turn on.\n" + .string "{EXTRA_CIRCLE_3} Select either “ITEM STORAGE” or\n" + .string " “MAILBOX.”$" + +gUnknown_81B7692:: @ 81B7692 + .string "{EXTRA_CIRCLE_1} Select “WITHDRAW ITEM” to withdraw\n" + .string " an item stored on your PC.\n" + .string "{EXTRA_CIRCLE_2} Select “DEPOSIT ITEM” to put \n" + .string " an item from your BAG into your PC.$" + +gUnknown_81B771E:: @ 81B771E + .string "{EXTRA_CIRCLE_1} Select “WITHDRAW ITEM.”\n" + .string "{EXTRA_CIRCLE_2} Select the item to be withdrawn.\n" + .string "{EXTRA_CIRCLE_3} The item can be withdrawn and\n" + .string " placed in the BAG's ITEMS POCKET.\n" + .string " It may also be directly given to a\n" + .string " POKéMON to hold.$" + +gUnknown_81B77DD:: @ 81B77DD + .string "{EXTRA_CIRCLE_1} Select “DEPOSIT ITEM.”\n" + .string "{EXTRA_CIRCLE_2} Select the item in the BAG to be\n" + .string " deposited using the {EXTRA_PLUS} Control Pad.\n" + .string "{EXTRA_CIRCLE_3} If there is nothing in the BAG, this\n" + .string " command can't be used!$" + +gUnknown_81B7884:: @ 81B7884 + .string "When MAIL is taken from a POKéMON,\n" + .string "it is moved to the MAILBOX. If it has\n" + .string "no MAIL, the MAILBOX can't be used.\n" + .string "{EXTRA_CIRCLE_1} Select MAIL by name to read it or\n" + .string " make a POKéMON hold it.$" + +gUnknown_81B7931:: @ 81B7931 + .string "You may not “RUN” from a TRAINER\n" + .string "battle!\n" + .string "{EXTRA_CIRCLE_1} You may “RUN” from a wild POKéMON.\n" + .string "{EXTRA_CIRCLE_2} Your chance of escape is improved\n" + .string " if your POKéMON in battle is fast.$" + +gUnknown_81B79CB:: @ 81B79CB + .string "You may “REGISTER” a key item for\n" + .string "instant use by pressing SELECT!\n" + .string "{EXTRA_CIRCLE_1} Open the “KEY ITEMS” POCKET.\n" + .string "{EXTRA_CIRCLE_2} Select the key item, then select\n" + .string " “REGISTER.”$" + +gUnknown_81B7A60:: @ 81B7A60 + .string "{EXTRA_CIRCLE_1} Select to throw the special POKé\n" + .string " BALL used only in the SAFARI ZONE.\n" + .string "When wild POKéMON appear, throw lots\n" + .string "of SAFARI BALLS to catch them!$" + +gUnknown_81B7AEE:: @ 81B7AEE + .string "{EXTRA_CIRCLE_1} Select to throw the special food\n" + .string " used only in the SAFARI ZONE.\n" + .string "It is POKéMON food rolled up into\n" + .string "a ball for easy eating. When BAIT is\n" + .string "thrown, the wild POKéMON may get\n" + .string "attracted by it, and may not flee!$" + +gUnknown_81B7BBE:: @ 81B7BBE + .string "{EXTRA_CIRCLE_1} Select to throw a rock lying on\n" + .string " the ground in the SAFARI ZONE.\n" + .string "Throwing a rock at a POKéMON may \n" + .string "make it run away, but it becomes easier\n" + .string "to catch!$" + +gUnknown_81B7C57:: @ 81B7C57 + .string "{EXTRA_CIRCLE_1} Select “HALL OF FAME” on the PC.\n" + .string "{EXTRA_CIRCLE_2} The POKéMON that have entered the\n" + .string " HALL OF FAME can be examined.$" + +gUnknown_81B7CC1:: @ 81B7CC1 + .string "HP$" + +gUnknown_81B7CC4:: @ 81B7CC4 + .string "EXP. {EXTRA_LEFT_PAREN}EXP. Points{EXTRA_RIGHT_PAREN}$" + +gUnknown_81B7CD9:: @ 81B7CD9 + .string "MOVES$" + +gUnknown_81B7CDF:: @ 81B7CDF + .string "ATTACK$" + +gUnknown_81B7CE6:: @ 81B7CE6 + .string "DEFENSE$" + +gUnknown_81B7CEE:: @ 81B7CEE + .string "SP. ATK$" + +gUnknown_81B7CF6:: @ 81B7CF6 + .string "SP. DEF$" + +gUnknown_81B7CFE:: @ 81B7CFE + .string "SPEED$" + +gUnknown_81B7D04:: @ 81B7D04 + .string "Lv. {EXTRA_LEFT_PAREN}Level{EXTRA_RIGHT_PAREN}$" + +gUnknown_81B7D12:: @ 81B7D12 + .string "TYPE$" + +gUnknown_81B7D17:: @ 81B7D17 + .string "OT$" + +gUnknown_81B7D1A:: @ 81B7D1A + .string "ITEM$" + +gUnknown_81B7D1F:: @ 81B7D1F + .string "ABILITY$" + +gUnknown_81B7D27:: @ 81B7D27 + .string "MONEY$" + +gUnknown_81B7D2D:: @ 81B7D2D + .string "MOVE TYPE$" + +gUnknown_81B7D37:: @ 81B7D37 + .string "NATURE$" + +gUnknown_81B7D3E:: @ 81B7D3E + .string "ID No.$" + +gUnknown_81B7D45:: @ 81B7D45 + .string "PP$" + +gUnknown_81B7D48:: @ 81B7D48 + .string "POWER$" + +gUnknown_81B7D4E:: @ 81B7D4E + .string "ACCURACY$" + +gUnknown_81B7D57:: @ 81B7D57 + .string "FNT$" + +gUnknown_81B7D5B:: @ 81B7D5B + .string "ITEMS$" + +gUnknown_81B7D61:: @ 81B7D61 + .string "KEY ITEMS$" + +gUnknown_81B7D6B:: @ 81B7D6B + .string "POKé BALLS$" + +gUnknown_81B7D76:: @ 81B7D76 + .string "POKéDEX$" + +gUnknown_81B7D7E:: @ 81B7D7E + .string "PLAY TIME$" + +gUnknown_81B7D88:: @ 81B7D88 + .string "BADGES$" + +gUnknown_81B7D8F:: @ 81B7D8F + .string "TEXT SPEED$" + +gUnknown_81B7D9A:: @ 81B7D9A + .string "BATTLE SCENE$" + +gUnknown_81B7DA7:: @ 81B7DA7 + .string "BATTLE STYLE$" + +gUnknown_81B7DB4:: @ 81B7DB4 + .string "SOUND$" + +gUnknown_81B7DBA:: @ 81B7DBA + .string "BUTTON MODE$" + +gUnknown_81B7DC6:: @ 81B7DC6 + .string "FRAME$" + +gUnknown_81B7DCC:: @ 81B7DCC + .string "CANCEL$" + +gUnknown_81B7DD3:: @ 81B7DD3 + .string "TM$" + +gUnknown_81B7DD6:: @ 81B7DD6 + .string "HM$" + +gUnknown_81B7DD9:: @ 81B7DD9 + .string "HM MOVE$" + +gUnknown_81B7DE1:: @ 81B7DE1 + .string "EVOLUTION$" + +gUnknown_81B7DEB:: @ 81B7DEB + .string "STATUS PROBLEM$" + +gUnknown_81B7DFA:: @ 81B7DFA + .string "POKéMON$" + +gUnknown_81B7E02:: @ 81B7E02 + .string "ID No.$" + +gUnknown_81B7E09:: @ 81B7E09 + .string "MONEY$" + +gUnknown_81B7E0F:: @ 81B7E0F + .string "BADGES$" + +gUnknown_81B7E16:: @ 81B7E16 + .string "HP indicates a POKéMON's vitality.\n" + .string "If a POKéMON's HP drops to zero, it\l" + .string "faints and is unable to battle.\l" + .string "So, the key in battle is to try to\l" + .string "reduce the foe's HP to zero.\l" + .string "If your POKéMON are hurt, restore their\l" + .string "HP at a POKéMON CENTER or use items.$" + +gUnknown_81B7F0A:: @ 81B7F0A + .string "EXP. Points stands for “Experience\n" + .string "Points.” POKéMON gain EXP. Points by\l" + .string "participating in winning battles.\l" + .string "When a POKéMON accumulates sufficient\l" + .string "EXP. Points, it levels up. The EXP. Bar\l" + .string "indicates accumulated EXP. Points.\l" + .string "It returns to zero upon leveling up.$" + +gUnknown_81B800A:: @ 81B800A + .string "POKéMON may learn up to four different\n" + .string "moves. There are many kinds of moves\l" + .string "including attacks and those with\l" + .string "special effects. The kinds of moves\l" + .string "that can be learned vary for each\l" + .string "POKéMON. Some moves can be learned\l" + .string "from items.$" + +gUnknown_81B80EC:: @ 81B80EC + .string "ATTACK indicates the power of an\n" + .string "offensive move. The higher this stat,\l" + .string "the more powerful the move.\l" + .string "It is applied for the following move\l" + .string "types: NORMAL, POISON, GROUND,\l" + .string "FLYING, BUG, FIGHTING, ROCK, GHOST,\l" + .string "and STEEL.$" + +gUnknown_81B81C2:: @ 81B81C2 + .string "DEFENSE indicates the resistance a\n" + .string "POKéMON has against physical attacks.\l" + .string "The higher this stat, the less damage\l" + .string "sustained from a foe's physical hit.$" + +gUnknown_81B8256:: @ 81B8256 + .string "SP. ATK (Special Attack) indicates the\n" + .string "power of a special attack move.\l" + .string "The higher this stat, the more powerful\l" + .string "the special attack move.\l" + .string "It is applied for the following move\l" + .string "types: FIRE, WATER, ELECTRIC, GRASS,\l" + .string "ICE, PSYCHIC, DRAGON, and DARK.$" + +gUnknown_81B8348:: @ 81B8348 + .string "SP. DEF (Special Defense) indicates\n" + .string "the resistance a POKéMON has against\l" + .string "special attacks.\l" + .string "The higher this stat, the less damage\l" + .string "sustained from a foe's special attack.$" + +gUnknown_81B83EF:: @ 81B83EF + .string "SPEED indicates the agility of a\n" + .string "POKéMON. If this stat exceeds the foe's\l" + .string "in battle, the POKéMON can make a move\l" + .string "before its slower opponent.$" + +gUnknown_81B847B:: @ 81B847B + .string "Lv. (Level) indicates the growth and\n" + .string "strength of a POKéMON.\l" + .string "In general, when a POKéMON levels up,\l" + .string "its stats such as HP, ATTACK, and\l" + .string "DEFENSE rise, making it stronger.\l" + .string "POKéMON may learn a new move upon\l" + .string "leveling up.$" + +gUnknown_81B8550:: @ 81B8550 + .string "POKéMON and moves are classified by\n" + .string "type. Every type has advantageous and\l" + .string "disadvantageous matchups against\l" + .string "other types. For example, like a rock-\l" + .string "paper-scissors game, the WATER type is\l" + .string "strong against the FIRE type and weak\l" + .string "against the GRASS type.$" + +gUnknown_81B8647:: @ 81B8647 + .string "OT stands for “Original TRAINER,”\n" + .string "the first TRAINER to have caught the\l" + .string "selected POKéMON.\l" + .string "Even if the POKéMON is traded, the OT\l" + .string "name will remain unchanged.$" + +gUnknown_81B86E2:: @ 81B86E2 + .string "All POKéMON can be made to hold one\n" + .string "item each. Some items will be used by\l" + .string "the POKéMON automatically in certain\l" + .string "situations. To make a POKéMON hold an\l" + .string "item, select the item from the BAG and\l" + .string "“GIVE” it to the POKéMON.$" + +gUnknown_81B87B8:: @ 81B87B8 + .string "All POKéMON have a special ABILITY.\n" + .string "There are many different kinds of these\l" + .string "abilities, some used in battle, some\l" + .string "elsewhere. The abilities differ from\l" + .string "species to species. Some species may\l" + .string "have more than one kind of ability.$" + +gUnknown_81B8897:: @ 81B8897 + .string "Whenever you win a battle against a\n" + .string "TRAINER, you are given prize money.\l" + .string "Save up your prize money so you can\l" + .string "enjoy shopping at POKéMON MARTS!$" + +gUnknown_81B8924:: @ 81B8924 + .string "Moves are also classified by types.\n" + .string "If a POKéMON of a certain type uses\l" + .string "a move of the same type, the move's\l" + .string "power is boosted. If the move's type\l" + .string "has a matchup advantage against the\l" + .string "target, its effectiveness is also\l" + .string "boosted.$" + +gUnknown_81B8A04:: @ 81B8A04 + .string "All POKéMON have a personality,\n" + .string "or “NATURE.” The POKéMON's\l" + .string "nature appears to affect how the\l" + .string "POKéMON will grow upon leveling up.$" + +gUnknown_81B8A84:: @ 81B8A84 + .string "The ID No. is a special number assigned\n" + .string "specifically to you as a TRAINER.\l" + .string "Together with the OT name, the ID No.\l" + .string "is used to precisely identify the\l" + .string "Original TRAINER.\l" + .string "The ID No. does not change even if the\l" + .string "POKéMON is traded.$" + +gUnknown_81B8B62:: @ 81B8B62 + .string "PP stands for “Power Points.”\n" + .string "It indicates the number of times a\l" + .string "certain move can be used in battle.\l" + .string "Like HP, PP can be restored by visiting\l" + .string "a POKéMON CENTER or using certain\l" + .string "items.$" + +gUnknown_81B8C18:: @ 81B8C18 + .string "POWER indicates the strength of an\n" + .string "attack. The higher this number, the\l" + .string "greater the damage that can be\l" + .string "inflicted on the foe!$" + +gUnknown_81B8C94:: @ 81B8C94 + .string "ACCURACY indicates the probability of\n" + .string "the move hitting the foe.\l" + .string "The higher this number, the more likely\l" + .string "the move will strike the target.$" + +gUnknown_81B8D1D:: @ 81B8D1D + .string "FNT stands for “fainted.”\n" + .string "A POKéMON faints if its HP is reduced\l" + .string "to zero. It becomes incapable of taking\l" + .string "part in battle.\l" + .string "Restore a fainted POKéMON at a POKéMON\l" + .string "CENTER, or use an item.$" + +gUnknown_81B8DD4:: @ 81B8DD4 + .string "Ordinary items bought at any POKéMON\n" + .string "MART are placed in the ITEMS POCKET.\l" + .string "Items may be used, given to a POKéMON\l" + .string "to hold, or tossed out as garbage.$" + +gUnknown_81B8E67:: @ 81B8E67 + .string "Important items that you find or \n" + .string "receive from people are placed in the\l" + .string "KEY ITEMS POCKET.\l" + .string "Key items may be used, or registered\l" + .string "for use instantly with SELECT. Once\l" + .string "registered, the item can be used\l" + .string "without opening the MENU and BAG.$" + +gUnknown_81B8F4D:: @ 81B8F4D + .string "POKé BALLS, which are used for\n" + .string "catching wild POKéMON, are placed in\l" + .string "the POKé BALLS POCKET.\l" + .string "POKé BALLS may be bought at POKéMON\l" + .string "MARTS. They may be used, given to a\l" + .string "POKéMON to hold, or tossed out as\l" + .string "garbage.$" + +gUnknown_81B901B:: @ 81B901B + .string "This indicates the number of species of\n" + .string "POKéMON you have caught and/or\l" + .string "evolved to fill the POKéDEX.\l" + .string "Try hard to catch all sorts of\l" + .string "POKéMON!$" + +gUnknown_81B90A7:: @ 81B90A7 + .string "This is the total amount of time that\n" + .string "you have played this game.$" + +gUnknown_81B90E8:: @ 81B90E8 + .string "The POKéMON LEAGUE BADGES that you\n" + .string "have won are registered and shown.\l" + .string "Earn BADGES by defeating GYM LEADERS\l" + .string "in various cities and towns.$" + +gUnknown_81B9170:: @ 81B9170 + .string "You can adjust how quickly the text is\n" + .string "displayed. Choose one: SLOW, MID,\l" + .string "or FAST.$" + +gUnknown_81B91C2:: @ 81B91C2 + .string "You can choose to turn the battle\n" + .string "animation ON or OFF.$" + +gUnknown_81B91F9:: @ 81B91F9 + .string "You can choose whether or not a\n" + .string "TRAINER can switch a POKéMON after\l" + .string "it has made its foe faint.\l" + .string "Set to “SHIFT” if you would like the\l" + .string "chance to switch a POKéMON after it\l" + .string "has made its foe faint.$" + +gUnknown_81B92B8:: @ 81B92B8 + .string "You can choose between MONO and\n" + .string "STEREO sound output.$" + +gUnknown_81B92ED:: @ 81B92ED + .string "Set to “HELP” to display help messages\n" + .string "by pressing the L or R Button.\l" + .string "Set to “LR” to enable the switching\l" + .string "of the POKéDEX pages and BAG POCKETS\l" + .string "using the L and R Buttons.\l" + .string "Set to “L=A” to make the L Button\l" + .string "work the same as the A Button.$" + +gUnknown_81B93D8:: @ 81B93D8 + .string "You may choose the design of the frame\n" + .string "around certain menus. Try them out and\l" + .string "see what you like.$" + +gUnknown_81B9439:: @ 81B9439 + .string "The settings will be changed to the\n" + .string "selections shown in red, and you will\l" + .string "return to the MENU.$" + +gUnknown_81B9497:: @ 81B9497 + .string "A TM (Technical Machine) is a device\n" + .string "used to teach a move to a POKéMON.\l" + .string "There are many different kinds.\l" + .string "Moves can be taught only to those\l" + .string "POKéMON capable of using them.\l" + .string "A TM breaks after a single use.$" + +gUnknown_81B9560:: @ 81B9560 + .string "An HM (Hidden Machine) is a device used\n" + .string "to teach a HIDDEN move to a POKéMON.\l" + .string "A HIDDEN move can be taught only to\l" + .string "those POKéMON capable of using it.\l" + .string "Unlike a TM, an HM can be used over\l" + .string "and over. A HIDDEN move can be tough\l" + .string "for a POKéMON to forget.$" + +gUnknown_81B9656:: @ 81B9656 + .string "HIDDEN moves are those that are\n" + .string "especially important for your\l" + .string "adventure. To use such a move outside\l" + .string "of battle, open the “POKéMON” MENU\l" + .string "and make the POKéMON that knows the\l" + .string "move use it. A fainted POKéMON may use\l" + .string "a HIDDEN move outside of battle.$" + +gUnknown_81B9749:: @ 81B9749 + .string "Among POKéMON, there are some that\n" + .string "undergo major changes (evolution) upon\l" + .string "growing to certain levels. Evolution\l" + .string "causes a POKéMON to alter form, change\l" + .string "its name, and perhaps change the moves\l" + .string "it may learn. Some POKéMON evolve\l" + .string "due to reasons other than leveling up.$" + +gUnknown_81B984F:: @ 81B984F + .string "Status problems include:\n" + .string "Sleep: Can't use moves.\l" + .string "Poison: Causes steady HP loss.\l" + .string "Paralysis: May prevent moves.\l" + .string "Burn: HP loss and lowers ATTACK.\l" + .string "Freeze: Can't use moves.\l" + .string "These can be healed with items, etc.$" + +gUnknown_81B991C:: @ 81B991C + .string "POKéMON is a name given to describe\n" + .string "wondrous creatures that inhabit all\l" + .string "corners of this world.\l" + .string "People raise POKéMON to be their pets,\l" + .string "use them for battling, and so on.$" + +gUnknown_81B99C4:: @ 81B99C4 + .string "The ID No. is a special number assigned\n" + .string "specifically to you as a TRAINER.\l" + .string "Together with the OT name, the ID No.\l" + .string "is used to precisely identify the\l" + .string "Original TRAINER.\l" + .string "The ID No. does not change even if the\l" + .string "POKéMON is traded.$" + +gUnknown_81B9AA2:: @ 81B9AA2 + .string "Whenever you win a battle against a\n" + .string "TRAINER, you are given prize money.\l" + .string "Save up your prize money so you can\l" + .string "enjoy shopping at POKéMON MARTS!$" + +gUnknown_81B9B2F:: @ 81B9B2F + .string "This indicates the number of POKéMON\n" + .string "LEAGUE BADGES that you have won.\l" + .string "Earn BADGES by defeating GYM LEADERS\l" + .string "in various cities and towns.$" + +gUnknown_81B9BB7:: @ 81B9BB7 + .string "The HELP System$" + +gUnknown_81B9BC7:: @ 81B9BC7 + .string "The game$" + +gUnknown_81B9BD0:: @ 81B9BD0 + .string "Wireless Adapter$" + +gUnknown_81B9BE1:: @ 81B9BE1 + .string "Game fundamentals 1$" + +gUnknown_81B9BF5:: @ 81B9BF5 + .string "Game fundamentals 2$" + +gUnknown_81B9C09:: @ 81B9C09 + .string "Game fundamentals 3$" + +gUnknown_81B9C1D:: @ 81B9C1D + .string "What are POKéMON?$" + +gUnknown_81B9C2F:: @ 81B9C2F + .string "The help messages change depending on\n" + .string "how much you have progressed in the\l" + .string "game. They are designed to support you\l" + .string "when you need them. If there is\l" + .string "anything that you don't understand,\l" + .string "please look up the HELP System!$" + +gUnknown_81B9D04:: @ 81B9D04 + .string "You become the main character to\n" + .string "explore the world of POKéMON!\l" + .string "By talking to people and solving\l" + .string "mysteries, new paths will open to you.\l" + .string "Strive for the goal together with your\l" + .string "wonderful POKéMON!$" + +gUnknown_81B9DC5:: @ 81B9DC5 + .string "This game communicates over a wireless\n" + .string "link using the Wireless Adapter.\p" + .string "Go wireless anywhere, anytime, and\n" + .string "with anybody!\p" + .string "Try playing with the Wireless Adapter\n" + .string "always attached!$" + +gUnknown_81B9E75:: @ 81B9E75 + .string "Visit every city and town, travel every\n" + .string "road, explore every cave, and face\l" + .string "every challenge as you strive to\l" + .string "become the greatest TRAINER of\l" + .string "POKéMON!$" + +gUnknown_81B9F09:: @ 81B9F09 + .string "On your adventure, you will be faced\n" + .string "with many obstacles. Every obstacle\l" + .string "can be overcome by doing something\l" + .string "or by solving mysteries. Some obstacles\l" + .string "are affected by something that happens\l" + .string "far away.$" + +gUnknown_81B9FCE:: @ 81B9FCE + .string "Some of the obstacles in your way can\n" + .string "be removed once your POKéMON learn\l" + .string "specific moves.$" + +gUnknown_81BA027:: @ 81BA027 + .string "POKéMON are wondrous creatures that\n" + .string "are shrouded in mystery. You may meet\l" + .string "them all over the world…in tall\l" + .string "grass, caves, the sea, and more.\l" + .string "They appear to grow obedient to the\l" + .string "TRAINERS that caught them.$" + +gUnknown_81BA0F1:: @ 81BA0F1 + .string "Using the Type Matchup List$" + +gUnknown_81BA10D:: @ 81BA10D + .string "Own move type: DARK$" + +gUnknown_81BA121:: @ 81BA121 + .string "Own POKéMON type: DARK$" + +gUnknown_81BA138:: @ 81BA138 + .string "Own move type: ROCK$" + +gUnknown_81BA14C:: @ 81BA14C + .string "Own POKéMON type: ROCK$" + +gUnknown_81BA163:: @ 81BA163 + .string "Own move type: PSYCHIC$" + +gUnknown_81BA17A:: @ 81BA17A + .string "Own POKéMON type: PSYCHIC$" + +gUnknown_81BA194:: @ 81BA194 + .string "Own move type: FIGHTING$" + +gUnknown_81BA1AC:: @ 81BA1AC + .string "Own POKéMON type: FIGHTING$" + +gUnknown_81BA1C7:: @ 81BA1C7 + .string "Own move type: GRASS$" + +gUnknown_81BA1DC:: @ 81BA1DC + .string "Own POKéMON type: GRASS$" + +gUnknown_81BA1F4:: @ 81BA1F4 + .string "Own move type: GHOST$" + +gUnknown_81BA209:: @ 81BA209 + .string "Own POKéMON type: GHOST$" + +gUnknown_81BA221:: @ 81BA221 + .string "Own move type: ICE$" + +gUnknown_81BA234:: @ 81BA234 + .string "Own POKéMON type: ICE$" + +gUnknown_81BA24A:: @ 81BA24A + .string "Own move type: GROUND$" + +gUnknown_81BA260:: @ 81BA260 + .string "Own POKéMON type: GROUND$" + +gUnknown_81BA279:: @ 81BA279 + .string "Own move type: ELECTRIC$" + +gUnknown_81BA291:: @ 81BA291 + .string "Own POKéMON type: ELECTRIC$" + +gUnknown_81BA2AC:: @ 81BA2AC + .string "Own move type: POISON$" + +gUnknown_81BA2C2:: @ 81BA2C2 + .string "Own POKéMON type: POISON$" + +gUnknown_81BA2DB:: @ 81BA2DB + .string "Own move type: DRAGON$" + +gUnknown_81BA2F1:: @ 81BA2F1 + .string "Own POKéMON type: DRAGON$" + +gUnknown_81BA30A:: @ 81BA30A + .string "Own move type: NORMAL$" + +gUnknown_81BA320:: @ 81BA320 + .string "Own POKéMON type: NORMAL$" + +gUnknown_81BA339:: @ 81BA339 + .string "Own move type: STEEL$" + +gUnknown_81BA34E:: @ 81BA34E + .string "Own POKéMON type: STEEL$" + +gUnknown_81BA366:: @ 81BA366 + .string "Own move type: FLYING$" + +gUnknown_81BA37C:: @ 81BA37C + .string "Own POKéMON type: FLYING$" + +gUnknown_81BA395:: @ 81BA395 + .string "Own move type: FIRE$" + +gUnknown_81BA3A9:: @ 81BA3A9 + .string "Own POKéMON type: FIRE$" + +gUnknown_81BA3C0:: @ 81BA3C0 + .string "Own move type: WATER$" + +gUnknown_81BA3D5:: @ 81BA3D5 + .string "Own POKéMON type: WATER$" + +gUnknown_81BA3ED:: @ 81BA3ED + .string "Own move type: BUG$" + +gUnknown_81BA400:: @ 81BA400 + .string "Own POKéMON type: BUG$" + +gUnknown_81BA416:: @ 81BA416 + .string "Depending on the matchup of the\n" + .string "move type and the target POKéMON's\l" + .string "type, the move's effectiveness varies:\l" + .string "{EXTRA_TARGET}: Super effective!\l" + .string "{EXTRA_TRIANGLE}: Not very effective\l" + .string "{EXTRA_X}: Not effective at all\l" + .string "(No changes for other matchups.)$" + +gUnknown_81BA4E6:: @ 81BA4E6 + .string "Effect on the opposing POKéMON:\p" + .string " {EXTRA_TARGET}: PSYCHIC, GHOST\p" + .string " {EXTRA_TRIANGLE}: FIGHTING, DARK, STEEL$" + +gUnknown_81BA539:: @ 81BA539 + .string "Effect of foe's move on own POKéMON:\p" + .string " {EXTRA_TARGET}: FIGHTING, BUG\p" + .string " {EXTRA_TRIANGLE}: GHOST, DARK\p" + .string " {EXTRA_X}: PSYCHIC$" + +gUnknown_81BA595:: @ 81BA595 + .string "Effect on the opposing POKéMON:\p" + .string " {EXTRA_TARGET}: FIRE, ICE, FLYING, BUG\p" + .string " {EXTRA_TRIANGLE}: FIGHTING, GROUND, STEEL$" + +gUnknown_81BA5F2:: @ 81BA5F2 + .string "Effect of foe's move on own POKéMON:\p" + .string " {EXTRA_TARGET}: WATER, GRASS, FIGHTING,\n" + .string " GROUND, STEEL\p" + .string " {EXTRA_TRIANGLE}: NORMAL, FIRE, POISON, FLYING$" + +gUnknown_81BA66F:: @ 81BA66F + .string "Effect on the opposing POKéMON:\p" + .string " {EXTRA_TARGET}: FIGHTING, POISON\p" + .string " {EXTRA_TRIANGLE}: PSYCHIC, STEEL\p" + .string " {EXTRA_X}: DARK$" + +gUnknown_81BA6C9:: @ 81BA6C9 + .string "Effect of foe's move on own POKéMON:\p" + .string " {EXTRA_TARGET}: BUG, GHOST, DARK\p" + .string " {EXTRA_TRIANGLE}: FIGHTING, PSYCHIC$" + +gUnknown_81BA71F:: @ 81BA71F + .string "Effect on the opposing POKéMON:\p" + .string " {EXTRA_TARGET}: NORMAL, ICE, ROCK, DARK, STEEL\p" + .string " {EXTRA_TRIANGLE}: POISON, FLYING, PSYCHIC, BUG\p" + .string " {EXTRA_X}: GHOST$" + +gUnknown_81BA796:: @ 81BA796 + .string "Effect of foe's move on own POKéMON:\p" + .string " {EXTRA_TARGET}: FLYING, PSYCHIC\p" + .string " {EXTRA_TRIANGLE}: BUG, ROCK, DARK$" + +gUnknown_81BA7E9:: @ 81BA7E9 + .string "Effect on the opposing POKéMON:\p" + .string " {EXTRA_TARGET}: WATER, GROUND, ROCK\p" + .string " {EXTRA_TRIANGLE}: FIRE, GRASS, POISON, FLYING,\n" + .string " BUG, DRAGON, STEEL$" + +gUnknown_81BA862:: @ 81BA862 + .string "Effect of foe's move on own POKéMON:\p" + .string " {EXTRA_TARGET}: FIRE, ICE, POISON, FLYING, BUG\p" + .string " {EXTRA_TRIANGLE}: WATER, ELECTRIC, GRASS, GROUND$" + +gUnknown_81BA8D3:: @ 81BA8D3 + .string "Effect on the opposing POKéMON:\p" + .string " {EXTRA_TARGET}: PSYCHIC, GHOST\p" + .string " {EXTRA_TRIANGLE}: DARK, STEEL\p" + .string " {EXTRA_X}: NORMAL$" + +gUnknown_81BA92A:: @ 81BA92A + .string "Effect of foe's move on own POKéMON:\p" + .string " {EXTRA_TARGET}: GHOST, DARK\p" + .string " {EXTRA_TRIANGLE}: POISON, BUG\p" + .string " {EXTRA_X}: NORMAL, FIGHTING$" + +gUnknown_81BA98D:: @ 81BA98D + .string "Effect on the opposing POKéMON:\p" + .string " {EXTRA_TARGET}: GRASS, GROUND, FLYING, DRAGON\p" + .string " {EXTRA_TRIANGLE}: FIRE, WATER, ICE, STEEL$" + +gUnknown_81BA9F1:: @ 81BA9F1 + .string "Effect of foe's move on own POKéMON:\p" + .string " {EXTRA_TARGET}: FIRE, FIGHTING, ROCK, STEEL\p" + .string " {EXTRA_TRIANGLE}: ICE$" + +gUnknown_81BAA44:: @ 81BAA44 + .string "Effect on the opposing POKéMON:\p" + .string " {EXTRA_TARGET}: FIRE, ELECTRIC, POISON, ROCK,\n" + .string " STEEL\p" + .string " {EXTRA_TRIANGLE}: GRASS, BUG\n" + .string " {EXTRA_X}: FLYING$" + +gUnknown_81BAAB6:: @ 81BAAB6 + .string "Effect of foe's move on own POKéMON:\p" + .string " {EXTRA_TARGET}: WATER, GRASS, ICE\p" + .string " {EXTRA_TRIANGLE}: POISON, ROCK\p" + .string " {EXTRA_X}: ELECTRIC$" + +gUnknown_81BAB18:: @ 81BAB18 + .string "Effect on the opposing POKéMON:\p" + .string " {EXTRA_TARGET}: WATER, FLYING\p" + .string " {EXTRA_TRIANGLE}: ELECTRIC, GRASS, DRAGON\p" + .string " {EXTRA_X}: GROUND$" + +gUnknown_81BAB7A:: @ 81BAB7A + .string "Effect of foe's move on own POKéMON:\p" + .string " {EXTRA_TARGET}: GROUND\p" + .string " {EXTRA_TRIANGLE}: ELECTRIC, FLYING, STEEL$" + +gUnknown_81BABCC:: @ 81BABCC + .string "Effect on the opposing POKéMON:\p" + .string " {EXTRA_TARGET}: GRASS\p" + .string " {EXTRA_TRIANGLE}: POISON, GROUND, ROCK, GHOST\p" + .string " {EXTRA_X}: STEEL$" + +gUnknown_81BAC29:: @ 81BAC29 + .string "Effect of foe's move on own POKéMON:\p" + .string " {EXTRA_TARGET}: GROUND, PSYCHIC\p" + .string " {EXTRA_TRIANGLE}: GRASS, FIGHTING, POISON, BUG$" + +gUnknown_81BAC89:: @ 81BAC89 + .string "Effect on the opposing POKéMON:\p" + .string " {EXTRA_TARGET}: DRAGON\p" + .string " {EXTRA_TRIANGLE}: STEEL$" + +gUnknown_81BACC4:: @ 81BACC4 + .string "Effect of foe's move on own POKéMON:\p" + .string " {EXTRA_TARGET}: ICE, DRAGON\p" + .string " {EXTRA_TRIANGLE}: FIRE, WATER, ELECTRIC, GRASS$" + +gUnknown_81BAD20:: @ 81BAD20 + .string "Effect on the opposing POKéMON:\p" + .string " {EXTRA_TRIANGLE}: ROCK, STEEL\p" + .string " {EXTRA_X}: GHOST$" + +gUnknown_81BAD60:: @ 81BAD60 + .string "Effect of foe's move on own POKéMON:\p" + .string " {EXTRA_TARGET}: FIGHTING\p" + .string " {EXTRA_X}: GHOST$" + +gUnknown_81BADA2:: @ 81BADA2 + .string "Effect on the opposing POKéMON:\p" + .string " {EXTRA_TARGET}: ICE, ROCK\p" + .string " {EXTRA_TRIANGLE}: FIRE, WATER, ELECTRIC, STEEL$" + +gUnknown_81BADF7:: @ 81BADF7 + .string "Effect of foe's move on own POKéMON:\p" + .string " {EXTRA_TARGET}: FIRE, FIGHTING, GROUND\n" + .string " {EXTRA_TRIANGLE}: NORMAL, GRASS, ICE, FLYING,\l" + .string " PSYCHIC, BUG, ROCK, GHOST,\l" + .string " DRAGON, DARK, STEEL\l" + .string " {EXTRA_X}: POISON$" + +gUnknown_81BAEA8:: @ 81BAEA8 + .string "Effect on the opposing POKéMON:\p" + .string " {EXTRA_TARGET}: GRASS, FIGHTING, BUG\p" + .string " {EXTRA_TRIANGLE}: ELECTRIC, ROCK, STEEL$" + +gUnknown_81BAF01:: @ 81BAF01 + .string "Effect of foe's move on own POKéMON:\p" + .string " {EXTRA_TARGET}: ELECTRIC, ICE, ROCK\p" + .string " {EXTRA_TRIANGLE}: GRASS, FIGHTING, BUG\p" + .string " {EXTRA_X}: GROUND$" + +gUnknown_81BAF6B:: @ 81BAF6B + .string "Effect on the opposing POKéMON:\p" + .string " {EXTRA_TARGET}: GRASS, ICE, BUG, STEEL\p" + .string " {EXTRA_TRIANGLE}: FIRE, WATER, ROCK, DRAGON$" + +gUnknown_81BAFCA:: @ 81BAFCA + .string "Effect of foe's move on own POKéMON:\p" + .string " {EXTRA_TARGET}: WATER, GROUND, ROCK\p" + .string " {EXTRA_TRIANGLE}: FIRE, GRASS, ICE, BUG, STEEL$" + +gUnknown_81BB02E:: @ 81BB02E + .string "Effect on the opposing POKéMON:\p" + .string " {EXTRA_TARGET}: FIRE, GROUND, ROCK\p" + .string " {EXTRA_TRIANGLE}: WATER, GRASS, DRAGON$" + +gUnknown_81BB084:: @ 81BB084 + .string "Effect of foe's move on own POKéMON:\p" + .string " {EXTRA_TARGET}: ELECTRIC, GRASS\p" + .string " {EXTRA_TRIANGLE}: FIRE, WATER, ICE, STEEL$" + +gUnknown_81BB0DF:: @ 81BB0DF + .string "Effect on the opposing POKéMON:\p" + .string " {EXTRA_TARGET}: GRASS, PSYCHIC, DARK\p" + .string " {EXTRA_TRIANGLE}: FIRE, FIGHTING, POISON,\n" + .string " FLYING, GHOST, STEEL$" + +gUnknown_81BB156:: @ 81BB156 + .string "Effect of foe's move on own POKéMON:\p" + .string " {EXTRA_TARGET}: FIRE, FLYING, ROCK\p" + .string " {EXTRA_TRIANGLE}: GRASS, FIGHTING, GROUND$" + diff --git a/graphics/help_system/unk_845BCB0.bin b/graphics/help_system/unk_845BCB0.bin new file mode 100644 index 000000000..b7ceb5080 Binary files /dev/null and b/graphics/help_system/unk_845BCB0.bin differ diff --git a/src/fame_checker.c b/src/fame_checker.c index b2ee17c93..b3988d156 100644 --- a/src/fame_checker.c +++ b/src/fame_checker.c @@ -127,9 +127,9 @@ extern const u8 gFameCheckerText_Cancel[]; extern const u8 gFameCheckerText_ListMenuCursor[]; extern const u8 gFameCheckerText_FameCheckerWillBeClosed[]; extern const u8 gFameCheckerText_ClearTextbox[]; -extern const u8 gFameCheckerText_MainScreenUI[]; // "{KEYGFX_START_BUTTON}PICK {KEYGFX_DPAD_UP_DOWN}SELECT {KEYGFX_A_BUTTON}OK$" -extern const u8 gFameCheckerText_PickScreenUI[]; // "{KEYGFX_START_BUTTON}PICK {KEYGFX_DPAD_UP_DOWN}SELECT {KEYGFX_B_BUTTON}CANCEL$" -extern const u8 gFameCheckerText_FlavorTextUI[]; // "{KEYGFX_DPAD_ANY}PICK {KEYGFX_A_BUTTON}READ {KEYGFX_B_BUTTON}CANCEL$" +extern const u8 gFameCheckerText_MainScreenUI[]; // "{KEYGFX_DPAD_ANY}PICK {KEYGFX_DPAD_UP_DOWN}SELECT {KEYGFX_A_BUTTON}OK$" +extern const u8 gFameCheckerText_PickScreenUI[]; // "{KEYGFX_DPAD_ANY}PICK {KEYGFX_DPAD_UP_DOWN}SELECT {KEYGFX_B_BUTTON}CANCEL$" +extern const u8 gFameCheckerText_FlavorTextUI[]; // "{KEYGFX_START_BUTTON}PICK {KEYGFX_A_BUTTON}READ {KEYGFX_B_BUTTON}CANCEL$" extern const u8 gFameCheckerOakName[]; // "OAK$" extern const u8 gFameCheckerDaisyName[]; // "DAISY$" extern const u8 gFameCheckerBillName[]; // "BILL$" -- cgit v1.2.3 From 12c62c656b71cf385dce6f70c5b308f86ad02242 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 12 Jun 2019 14:46:42 -0400 Subject: Decompile help system rodata --- data/data_83FECCC.s | 135 ++++--- data/help_system_812B1E0.s | 768 ---------------------------------------- include/event_scripts.h | 372 +++++++++++++++++++ include/strings.h | 4 + ld_script.txt | 1 - src/help_system_812B1E0.c | 863 ++++++++++++++++++++++++++++++++++++++++++++- 6 files changed, 1310 insertions(+), 833 deletions(-) delete mode 100644 data/help_system_812B1E0.s diff --git a/data/data_83FECCC.s b/data/data_83FECCC.s index f5066705e..eb922b028 100644 --- a/data/data_83FECCC.s +++ b/data/data_83FECCC.s @@ -839,10 +839,12 @@ gFameCheckerText_ListMenuCursor:: @ 841623B .string "▶$" gUnknown_841623D:: @ 841623D - .string "YES\nNO$" + .string "YES\n" + .string "NO$" gUnknown_8416244:: - .string "Go back to the\nprevious menu.$" + .string "Go back to the\n" + .string "previous menu.$" gUnknown_8416262:: @ 8416262 .string "What would you like to do?$" @@ -872,7 +874,8 @@ gUnknown_84162A2:: .string "RETIRE$" gUnknown_84162A9:: @ 84162A9 - .string "{STR_VAR_1}/{STR_VAR_2}\nBALLS {STR_VAR_3}$" + .string "{STR_VAR_1}/{STR_VAR_2}\n" + .string "BALLS {STR_VAR_3}$" gText_TimesStrVar1:: @ 84162B9 .string "×{STR_VAR_1}$" @@ -893,7 +896,8 @@ gUnknown_84162FF:: @ 84162FF .incbin "baserom.gba", 0x4162FF, 0x2 gText_IsSelected:: @ 8416301 - .string " is\nselected.$" + .string " is\n" + .string "selected.$" gUnknown_841630F:: @ 841630F .incbin "baserom.gba", 0x41630F, 0x1B @@ -1344,7 +1348,8 @@ gFameCheckerText_FameCheckerWillBeClosed:: @ 84181C3 .string "The FAME CHECKER will be closed.$" gFameCheckerText_ClearTextbox:: @ 84181E4 - .string "\n $" + .string "\n" + .string " $" gUnknown_8418204:: @ 8418204 .incbin "baserom.gba", 0x00418204, 0x48c @@ -2192,14 +2197,19 @@ gUnknown_841E0A5:: @ 841E0A5 .string "Press the B Button to exit.$" .string "SUMMARY$" .string "TRADE$" - .string "{COLOR RED}{HIGHLIGHT DARK_GREY}{SHADOW GREEN}Communication standby…\nPlease wait.$" + .string "{COLOR RED}{HIGHLIGHT DARK_GREY}{SHADOW GREEN}Communication standby…\n" + .string "Please wait.$" .string "{COLOR RED}{HIGHLIGHT DARK_GREY}{SHADOW GREEN}The trade has been canceled.$" - .string "{COLOR RED}{HIGHLIGHT DARK_GREY}{SHADOW GREEN}That's your only POKéMON\nfor battle.$" - .string "{COLOR RED}{HIGHLIGHT DARK_GREY}{SHADOW GREEN}Waiting for your friend\nto finish…$" - .string "Your friend wants\nto trade POKéMON.$" + .string "{COLOR RED}{HIGHLIGHT DARK_GREY}{SHADOW GREEN}That's your only POKéMON\n" + .string "for battle.$" + .string "{COLOR RED}{HIGHLIGHT DARK_GREY}{SHADOW GREEN}Waiting for your friend\n" + .string "to finish…$" + .string "Your friend wants\n" + .string "to trade POKéMON.$" gUnknown_841E1E9:: @ 841E1E9 - .string "{STR_VAR_2} will be\nsent to {STR_VAR_1}.$" + .string "{STR_VAR_2} will be\n" + .string "sent to {STR_VAR_1}.$" gUnknown_841E200:: @ 841E200 .string "Bye-bye, {STR_VAR_2}!$" @@ -2289,16 +2299,19 @@ gUnknown_841E325:: @ 841E325 .string "Communication standby…$" gDaycareText_GetAlongVeryWell:: @ 841E33C - .string "The two seem to get along\nvery well.$" + .string "The two seem to get along\n" + .string "very well.$" gDaycareText_GetAlong:: @ 841E361 .string "The two seem to get along.$" gDaycareText_DontLikeOther:: @ 841E37C - .string "The two don't seem to like\neach other much.$" + .string "The two don't seem to like\n" + .string "each other much.$" gDaycareText_PlayOther:: @ 841E3A8 - .string "The two prefer to play with other\nPOKéMON than each other.$" + .string "The two prefer to play with other\n" + .string "POKéMON than each other.$" gUnknown_841E3E3:: @ 841E3E3 .incbin "baserom.gba", 0x41E3E3, 0x18 @@ -2372,19 +2385,24 @@ gText_ReturnToTitle:: @ 841E685 .string "Return to the title screen.$" gText_DontHaveCardNewOneInput:: @ 841E6A1 - .string "You don't have a WONDER CARD,\nso a new CARD will be input.$" + .string "You don't have a WONDER CARD,\n" + .string "so a new CARD will be input.$" gText_DontHaveNewsNewOneInput:: @ 841E6DC - .string "You don't have any WONDER NEWS,\nso new NEWS will be input.$" + .string "You don't have any WONDER NEWS,\n" + .string "so new NEWS will be input.$" gText_WhereShouldCardBeAccessed:: @ 841E717 - .string "Where should the WONDER CARD\nbe accessed?$" + .string "Where should the WONDER CARD\n" + .string "be accessed?$" gText_WhereShouldNewsBeAccessed:: @ 841E741 - .string "Where should the WONDER NEWS\nbe accessed?$" + .string "Where should the WONDER NEWS\n" + .string "be accessed?$" gUnknown_841E76B:: @ 841E76B - .string "Link standby...\n... ... B Button: Cancel$" + .string "Link standby...\n" + .string "... ... B Button: Cancel$" gText_Communicating:: @ 841E794 .string "Communicating…$" @@ -2399,22 +2417,28 @@ gText_CommunicationCanceled:: @ 841E7D1 .string "Communication has been canceled.$" gText_ThrowAwayWonderCard:: @ 841E7F2 - .string "Throw away the WONDER CARD\nand input a new CARD?$" + .string "Throw away the WONDER CARD\n" + .string "and input a new CARD?$" gText_HaventReceivedCardsGift:: @ 841E823 - .string "You haven't received the CARD's gift\nyet. Input a new CARD anyway?$" + .string "You haven't received the CARD's gift\n" + .string "yet. Input a new CARD anyway?$" gText_WonderCardReceivedFrom:: @ 841E866 - .string "A WONDER CARD has been received\nfrom {STR_VAR_1}.$" + .string "A WONDER CARD has been received\n" + .string "from {STR_VAR_1}.$" gText_WonderNewsReceivedFrom:: @ 841E88F - .string "A WONDER NEWS item has been\nreceived from {STR_VAR_1}.$" + .string "A WONDER NEWS item has been\n" + .string "received from {STR_VAR_1}.$" gText_WonderCardReceived:: @ 841E8BD - .string "A new WONDER CARD has been\nreceived.$" + .string "A new WONDER CARD has been\n" + .string "received.$" gText_WonderNewsReceived:: @ 841E8E2 - .string "A new WONDER NEWS item has been\nreceived.$" + .string "A new WONDER NEWS item has been\n" + .string "received.$" gText_NewStampReceived:: @ 841E90C .string "A new STAMP has been received.$" @@ -2423,34 +2447,43 @@ gText_NewTrainerReceived:: @ 841E92B .string "A new TRAINER has arrived.$" gText_AlreadyHadCard:: @ 841E946 - .string "You already had that\nWONDER CARD.$" + .string "You already had that\n" + .string "WONDER CARD.$" gText_AlreadyHadNews:: @ 841E968 - .string "You already had that\nWONDER NEWS item.$" + .string "You already had that\n" + .string "WONDER NEWS item.$" gText_AlreadyHadStamp:: @ 841E98F - .string "You already had that\nSTAMP.$" + .string "You already had that\n" + .string "STAMP.$" gText_NoMoreRoomForStamps:: @ 841E9AB - .string "There's no more room for adding\nSTAMPS.$" + .string "There's no more room for adding\n" + .string "STAMPS.$" gText_RecordUploadedViaWireless:: @ 841E9D3 - .string "Your record has been uploaded via\nWIRELESS COMMUNICATION.$" + .string "Your record has been uploaded via\n" + .string "WIRELESS COMMUNICATION.$" gText_CantAcceptCardFromTrainer:: @ 841EA0D - .string "You can't accept a WONDER CARD\nfrom this TRAINER.$" + .string "You can't accept a WONDER CARD\n" + .string "from this TRAINER.$" gText_CantAcceptNewsFromTrainer:: @ 841EA3F - .string "You can't accept WONDER NEWS\nfrom this TRAINER.$" + .string "You can't accept WONDER NEWS\n" + .string "from this TRAINER.$" gText_NothingSentOver:: @ 841EA6F .string "Nothing was sent over…$" gText_WhatToDoWithCards:: @ 841EA86 - .string "What would you like to do\nwith the WONDER CARDS?$" + .string "What would you like to do\n" + .string "with the WONDER CARDS?$" gText_WhatToDoWithNews:: @ 841EAB7 - .string "What would you like to do\nwith the WONDER NEWS?$" + .string "What would you like to do\n" + .string "with the WONDER NEWS?$" gText_SendingWonderCard:: @ 841EAE7 .string "Sending your WONDER CARD…$" @@ -2459,10 +2492,12 @@ gText_SendingWonderNews:: @ 841EB01 .string "Sending your WONDER NEWS item…$" gText_WonderCardSentTo:: @ 841EB20 - .string "Your WONDER CARD has been sent\nto {STR_VAR_1}.$" + .string "Your WONDER CARD has been sent\n" + .string "to {STR_VAR_1}.$" gText_WonderNewsSentTo:: @ 841EB46 - .string "Your WONDER NEWS item has been\nsent to {STR_VAR_1}.$" + .string "Your WONDER NEWS item has been\n" + .string "sent to {STR_VAR_1}.$" gText_StampSentTo:: @ 841EB71 .string "A STAMP has been sent to {STR_VAR_1}.$" @@ -2471,34 +2506,44 @@ gText_GiftSentTo:: @ 841EB8E .string "A GIFT has been sent to {STR_VAR_1}.$" gText_OtherTrainerHasCard:: @ 841EBAA - .string "The other TRAINER has the same\nWONDER CARD already.$" + .string "The other TRAINER has the same\n" + .string "WONDER CARD already.$" gText_OtherTrainerHasNews:: @ 841EBDE - .string "The other TRAINER has the same\nWONDER NEWS already.$" + .string "The other TRAINER has the same\n" + .string "WONDER NEWS already.$" gText_OtherTrainerHasStamp:: @ 841EC12 - .string "The other TRAINER has the same\nSTAMP already.$" + .string "The other TRAINER has the same\n" + .string "STAMP already.$" gText_OtherTrainerCanceled:: @ 841EC40 - .string "The other TRAINER canceled\ncommunication.$" + .string "The other TRAINER canceled\n" + .string "communication.$" gText_CantSendGiftToTrainer:: @ 841EC6A - .string "You can't send a MYSTERY GIFT to\nthis TRAINER.$" + .string "You can't send a MYSTERY GIFT to\n" + .string "this TRAINER.$" gText_IfThrowAwayCardEventWontHappen:: @ 841EC99 - .string "If you throw away the CARD,\nits event won't happen. Okay?$" + .string "If you throw away the CARD,\n" + .string "its event won't happen. Okay?$" gText_OkayToDiscardNews:: @ 841ECD3 - .string "Is it okay to discard this\nNEWS item?$" + .string "Is it okay to discard this\n" + .string "NEWS item?$" gText_HaventReceivedGiftOkayToDiscard:: @ 841ECF9 - .string "You haven't received the\nGIFT. Is it okay to discard?$" + .string "You haven't received the\n" + .string "GIFT. Is it okay to discard?$" gText_DataWillBeSaved:: @ 841ED2F - .string "Data will be saved.\nPlease wait.$" + .string "Data will be saved.\n" + .string "Please wait.$" gText_SaveCompletedPressA:: @ 841ED50 - .string "Save completed.\nPlease press the A Button.$" + .string "Save completed.\n" + .string "Please press the A Button.$" gText_WonderCardThrownAway:: @ 841ED7B .string "The WONDER CARD was thrown away.$" diff --git a/data/help_system_812B1E0.s b/data/help_system_812B1E0.s deleted file mode 100644 index fcdaf935a..000000000 --- a/data/help_system_812B1E0.s +++ /dev/null @@ -1,768 +0,0 @@ -#include "constants/maps.h" - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2, 0 -gUnknown_845B080:: @ 845B080 - .4byte gUnknown_81B2DF8 - .4byte gUnknown_81B2E1C - .4byte gUnknown_81B2E2E - .4byte gUnknown_81B2E48 - .4byte gUnknown_81B2E58 - .4byte gUnknown_81B2E6A - -gUnknown_845B098:: @ 845B098 - .4byte gUnknown_81B2E88 - .4byte gUnknown_81B2EC8 - .4byte gUnknown_81B2F00 - .4byte gUnknown_81B2F43 - .4byte gUnknown_81B2F74 - .4byte gUnknown_81B2FA9 - -gUnknown_845B0B0:: @ 845B0B0 - .4byte NULL - .4byte gUnknown_81B3083 - .4byte gUnknown_81B30A9 - .4byte gUnknown_81B30C1 - .4byte gUnknown_81B30DC - .4byte gUnknown_81B30FC - .4byte gUnknown_81B311F - .4byte gUnknown_81B3140 - .4byte gUnknown_81B314F - .4byte gUnknown_81B3168 - .4byte gUnknown_81B3189 - .4byte gUnknown_81B31AE - .4byte gUnknown_81B31D3 - .4byte gUnknown_81B31EC - .4byte gUnknown_81B31FF - .4byte gUnknown_81B3215 - .4byte gUnknown_81B3226 - .4byte gUnknown_81B3243 - .4byte gUnknown_81B3261 - .4byte gUnknown_81B3276 - .4byte gUnknown_81B3290 - .4byte gUnknown_81B32B6 - .4byte gUnknown_81B32CD - .4byte gUnknown_81B32E3 - .4byte gUnknown_81B32F9 - .4byte gUnknown_81B330B - .4byte gUnknown_81B332B - .4byte gUnknown_81B3344 - .4byte gUnknown_81B335C - .4byte gUnknown_81B3373 - .4byte gUnknown_81B338C - .4byte gUnknown_81B33A6 - .4byte gUnknown_81B33CA - .4byte gUnknown_81B33EA - .4byte gUnknown_81B3402 - .4byte gUnknown_81B3427 - .4byte gUnknown_81B3440 - .4byte gUnknown_81B3457 - .4byte gUnknown_81B346F - .4byte gUnknown_81B3481 - .4byte gUnknown_81B349B - .4byte gUnknown_81B34B7 - .4byte gUnknown_81B34D6 - .4byte gUnknown_81B34F6 - .4byte gUnknown_81B3516 - -gUnknown_845B164:: @ 845B164 - .4byte NULL - .4byte gUnknown_81B3525 - .4byte gUnknown_81B35E6 - .4byte gUnknown_81B36EB - .4byte gUnknown_81B379A - .4byte gUnknown_81B3849 - .4byte gUnknown_81B3876 - .4byte gUnknown_81B3972 - .4byte gUnknown_81B3A51 - .4byte gUnknown_81B3ACC - .4byte gUnknown_81B3BB6 - .4byte gUnknown_81B3C99 - .4byte gUnknown_81B3D1B - .4byte gUnknown_81B3DE3 - .4byte gUnknown_81B3EBC - .4byte gUnknown_81B3F7F - .4byte gUnknown_81B406C - .4byte gUnknown_81B410B - .4byte gUnknown_81B41D7 - .4byte gUnknown_81B42B3 - .4byte gUnknown_81B439D - .4byte gUnknown_81B4483 - .4byte gUnknown_81B457C - .4byte gUnknown_81B4645 - .4byte gUnknown_81B470A - .4byte gUnknown_81B47F0 - .4byte gUnknown_81B48C6 - .4byte gUnknown_81B497A - .4byte gUnknown_81B4A72 - .4byte gUnknown_81B4B65 - .4byte gUnknown_81B4C54 - .4byte gUnknown_81B4D26 - .4byte gUnknown_81B4E0B - .4byte gUnknown_81B4ED8 - .4byte gUnknown_81B4FB2 - .4byte gUnknown_81B4FFD - .4byte gUnknown_81B50FF - .4byte gUnknown_81B51B1 - .4byte gUnknown_81B5272 - .4byte gUnknown_81B5325 - .4byte gUnknown_81B5382 - .4byte gUnknown_81B547C - .4byte gUnknown_81B54E1 - .4byte gUnknown_81B5589 - .4byte gUnknown_81B55F4 - -gUnknown_845B218:: @ 845B218 - .4byte NULL - .4byte gUnknown_81B56E3 - .4byte gUnknown_81B56F4 - .4byte gUnknown_81B5705 - .4byte gUnknown_81B5717 - .4byte gUnknown_81B5728 - .4byte gUnknown_81B5737 - .4byte gUnknown_81B5744 - .4byte gUnknown_81B5754 - .4byte gUnknown_81B5767 - .4byte gUnknown_81B577B - .4byte gUnknown_81B5787 - .4byte gUnknown_81B5795 - .4byte gUnknown_81B57A5 - .4byte gUnknown_81B57B8 - .4byte gUnknown_81B57CF - .4byte gUnknown_81B57DE - .4byte gUnknown_81B57EE - .4byte gUnknown_81B580D - .4byte gUnknown_81B5824 - .4byte gUnknown_81B5834 - .4byte gUnknown_81B583F - .4byte gUnknown_81B5850 - .4byte gUnknown_81B5863 - .4byte gUnknown_81B5875 - .4byte gUnknown_81B5884 - .4byte gUnknown_81B5893 - .4byte gUnknown_81B58A4 - .4byte gUnknown_81B58BC - .4byte gUnknown_81B58D3 - .4byte gUnknown_81B58E5 - .4byte gUnknown_81B58FD - .4byte gUnknown_81B590E - .4byte gUnknown_81B591D - .4byte gUnknown_81B592E - .4byte gUnknown_81B593E - .4byte gUnknown_81B5950 - .4byte gUnknown_81B595D - .4byte gUnknown_81B5974 - .4byte gUnknown_81B5989 - .4byte gUnknown_81B59A7 - .4byte gUnknown_81B59BF - .4byte gUnknown_81B59D6 - .4byte gUnknown_81B59E8 - .4byte gUnknown_81B59F5 - .4byte gUnknown_81B5A0D - .4byte gUnknown_81B5A1B - .4byte gUnknown_81B5A29 - .4byte gUnknown_81B5A37 - -gUnknown_845B2DC:: @ 845B2DC - .4byte NULL - .4byte gUnknown_81B5A4D - .4byte gUnknown_81B5B0C - .4byte gUnknown_81B5B7D - .4byte gUnknown_81B5C13 - .4byte gUnknown_81B5CDF - .4byte gUnknown_81B5D87 - .4byte gUnknown_81B5E41 - .4byte gUnknown_81B5F10 - .4byte gUnknown_81B5FA6 - .4byte gUnknown_81B606C - .4byte gUnknown_81B6140 - .4byte gUnknown_81B6203 - .4byte gUnknown_81B62E4 - .4byte gUnknown_81B6397 - .4byte gUnknown_81B6478 - .4byte gUnknown_81B6525 - .4byte gUnknown_81B65E7 - .4byte gUnknown_81B66BA - .4byte gUnknown_81B678E - .4byte gUnknown_81B6883 - .4byte gUnknown_81B68CD - .4byte gUnknown_81B69B9 - .4byte gUnknown_81B6A9A - .4byte gUnknown_81B6B6E - .4byte gUnknown_81B6C4F - .4byte gUnknown_81B6D4A - .4byte gUnknown_81B6E02 - .4byte gUnknown_81B6EC1 - .4byte gUnknown_81B6FA8 - .4byte gUnknown_81B7075 - .4byte gUnknown_81B7108 - .4byte gUnknown_81B71EA - .4byte gUnknown_81B723B - .4byte gUnknown_81B7319 - .4byte gUnknown_81B73E8 - .4byte gUnknown_81B747E - .4byte gUnknown_81B752C - .4byte gUnknown_81B7611 - .4byte gUnknown_81B7692 - .4byte gUnknown_81B771E - .4byte gUnknown_81B77DD - .4byte gUnknown_81B7884 - .4byte gUnknown_81B7931 - .4byte gUnknown_81B79CB - .4byte gUnknown_81B7A60 - .4byte gUnknown_81B7AEE - .4byte gUnknown_81B7BBE - .4byte gUnknown_81B7C57 - -gUnknown_845B3A0:: @ 845B3A0 - .4byte NULL - .4byte gUnknown_81B7CC1 - .4byte gUnknown_81B7CC4 - .4byte gUnknown_81B7CD9 - .4byte gUnknown_81B7CDF - .4byte gUnknown_81B7CE6 - .4byte gUnknown_81B7CEE - .4byte gUnknown_81B7CF6 - .4byte gUnknown_81B7CFE - .4byte gUnknown_81B7D04 - .4byte gUnknown_81B7D12 - .4byte gUnknown_81B7D17 - .4byte gUnknown_81B7D1A - .4byte gUnknown_81B7D1F - .4byte gUnknown_81B7D27 - .4byte gUnknown_81B7D2D - .4byte gUnknown_81B7D37 - .4byte gUnknown_81B7D3E - .4byte gUnknown_81B7D45 - .4byte gUnknown_81B7D48 - .4byte gUnknown_81B7D4E - .4byte gUnknown_81B7D57 - .4byte gUnknown_81B7D5B - .4byte gUnknown_81B7D61 - .4byte gUnknown_81B7D6B - .4byte gUnknown_81B7D76 - .4byte gUnknown_81B7D7E - .4byte gUnknown_81B7D88 - .4byte gUnknown_81B7D8F - .4byte gUnknown_81B7D9A - .4byte gUnknown_81B7DA7 - .4byte gUnknown_81B7DB4 - .4byte gUnknown_81B7DBA - .4byte gUnknown_81B7DC6 - .4byte gUnknown_81B7DCC - .4byte gUnknown_81B7DD3 - .4byte gUnknown_81B7DD6 - .4byte gUnknown_81B7DD9 - .4byte gUnknown_81B7DE1 - .4byte gUnknown_81B7DEB - .4byte gUnknown_81B7DFA - .4byte gUnknown_81B7E02 - .4byte gUnknown_81B7E09 - .4byte gUnknown_81B7E0F - -gUnknown_845B450:: @ 845B450 - .4byte NULL - .4byte gUnknown_81B7E16 - .4byte gUnknown_81B7F0A - .4byte gUnknown_81B800A - .4byte gUnknown_81B80EC - .4byte gUnknown_81B81C2 - .4byte gUnknown_81B8256 - .4byte gUnknown_81B8348 - .4byte gUnknown_81B83EF - .4byte gUnknown_81B847B - .4byte gUnknown_81B8550 - .4byte gUnknown_81B8647 - .4byte gUnknown_81B86E2 - .4byte gUnknown_81B87B8 - .4byte gUnknown_81B8897 - .4byte gUnknown_81B8924 - .4byte gUnknown_81B8A04 - .4byte gUnknown_81B8A84 - .4byte gUnknown_81B8B62 - .4byte gUnknown_81B8C18 - .4byte gUnknown_81B8C94 - .4byte gUnknown_81B8D1D - .4byte gUnknown_81B8DD4 - .4byte gUnknown_81B8E67 - .4byte gUnknown_81B8F4D - .4byte gUnknown_81B901B - .4byte gUnknown_81B90A7 - .4byte gUnknown_81B90E8 - .4byte gUnknown_81B9170 - .4byte gUnknown_81B91C2 - .4byte gUnknown_81B91F9 - .4byte gUnknown_81B92B8 - .4byte gUnknown_81B92ED - .4byte gUnknown_81B93D8 - .4byte gUnknown_81B9439 - .4byte gUnknown_81B9497 - .4byte gUnknown_81B9560 - .4byte gUnknown_81B9656 - .4byte gUnknown_81B9749 - .4byte gUnknown_81B984F - .4byte gUnknown_81B991C - .4byte gUnknown_81B99C4 - .4byte gUnknown_81B9AA2 - .4byte gUnknown_81B9B2F - -gUnknown_845B500:: @ 845B500 - .4byte NULL - .4byte gUnknown_81B9BB7 - .4byte gUnknown_81B9BC7 - .4byte gUnknown_81B9BD0 - .4byte gUnknown_81B9BE1 - .4byte gUnknown_81B9BF5 - .4byte gUnknown_81B9C09 - .4byte gUnknown_81B9C1D - -gUnknown_845B520:: @ 845B520 - .4byte NULL - .4byte gUnknown_81B9C2F - .4byte gUnknown_81B9D04 - .4byte gUnknown_81B9DC5 - .4byte gUnknown_81B9E75 - .4byte gUnknown_81B9F09 - .4byte gUnknown_81B9FCE - .4byte gUnknown_81BA027 - -gUnknown_845B540:: @ 845B540 - .4byte NULL - .4byte gUnknown_81BA0F1 - .4byte gUnknown_81BA10D - .4byte gUnknown_81BA121 - .4byte gUnknown_81BA138 - .4byte gUnknown_81BA14C - .4byte gUnknown_81BA163 - .4byte gUnknown_81BA17A - .4byte gUnknown_81BA194 - .4byte gUnknown_81BA1AC - .4byte gUnknown_81BA1C7 - .4byte gUnknown_81BA1DC - .4byte gUnknown_81BA1F4 - .4byte gUnknown_81BA209 - .4byte gUnknown_81BA221 - .4byte gUnknown_81BA234 - .4byte gUnknown_81BA24A - .4byte gUnknown_81BA260 - .4byte gUnknown_81BA279 - .4byte gUnknown_81BA291 - .4byte gUnknown_81BA2AC - .4byte gUnknown_81BA2C2 - .4byte gUnknown_81BA2DB - .4byte gUnknown_81BA2F1 - .4byte gUnknown_81BA30A - .4byte gUnknown_81BA320 - .4byte gUnknown_81BA339 - .4byte gUnknown_81BA34E - .4byte gUnknown_81BA366 - .4byte gUnknown_81BA37C - .4byte gUnknown_81BA395 - .4byte gUnknown_81BA3A9 - .4byte gUnknown_81BA3C0 - .4byte gUnknown_81BA3D5 - .4byte gUnknown_81BA3ED - .4byte gUnknown_81BA400 - -gUnknown_845B5D0:: - .4byte NULL - .4byte gUnknown_81BA416 - .4byte gUnknown_81BA4E6 - .4byte gUnknown_81BA539 - .4byte gUnknown_81BA595 - .4byte gUnknown_81BA5F2 - .4byte gUnknown_81BA66F - .4byte gUnknown_81BA6C9 - .4byte gUnknown_81BA71F - .4byte gUnknown_81BA796 - .4byte gUnknown_81BA7E9 - .4byte gUnknown_81BA862 - .4byte gUnknown_81BA8D3 - .4byte gUnknown_81BA92A - .4byte gUnknown_81BA98D - .4byte gUnknown_81BA9F1 - .4byte gUnknown_81BAA44 - .4byte gUnknown_81BAAB6 - .4byte gUnknown_81BAB18 - .4byte gUnknown_81BAB7A - .4byte gUnknown_81BABCC - .4byte gUnknown_81BAC29 - .4byte gUnknown_81BAC89 - .4byte gUnknown_81BACC4 - .4byte gUnknown_81BAD20 - .4byte gUnknown_81BAD60 - .4byte gUnknown_81BADA2 - .4byte gUnknown_81BADF7 - .4byte gUnknown_81BAEA8 - .4byte gUnknown_81BAF01 - .4byte gUnknown_81BAF6B - .4byte gUnknown_81BAFCA - .4byte gUnknown_81BB02E - .4byte gUnknown_81BB084 - .4byte gUnknown_81BB0DF - .4byte gUnknown_81BB156 - -gUnknown_845B660:: - .byte 0x01, 0x02, 0x03, 0xff - -gUnknown_845B664:: - .byte 0x01, 0x02, 0x03, 0xff - -gUnknown_845B668:: - .byte 0x13, 0xff - -gUnknown_845B66A:: - .byte 0x01, 0x02, 0x03, 0xff - -gUnknown_845B66E:: - .byte 0x01, 0x25, 0xff - -gUnknown_845B671:: - .byte 0x02, 0x03, 0x04, 0x05, 0x11, 0xff - -gUnknown_845B677:: - .byte 0x09, 0x01, 0xff - -gUnknown_845B67A:: - .byte 0x02, 0x03, 0xff - -gUnknown_845B67D:: - .byte 0x09, 0x0a, 0x0b, 0x11, 0x0c, 0x10, 0xff - -gUnknown_845B684:: - .byte 0x09, 0x01, 0x04, 0x05, 0x06, 0x07, 0x08, 0x02, 0x0d, 0xff - -gUnknown_845B68E:: - .byte 0x09, 0x03, 0x0a, 0x0f, 0x12, 0x13, 0x14, 0xff - -gUnknown_845B696:: - .byte 0x06, 0x07, 0x08, 0x2c, 0x09, 0x0d, 0x0e, 0x0f, 0x10, 0x12, 0xff - -gUnknown_845B6A1:: - .byte 0x16, 0x17, 0x18, 0xff - -gUnknown_845B6A5:: - .byte 0x0a, 0xff - -gUnknown_845B6A7:: - .byte 0x11, 0x0e, 0x19, 0x1a, 0x1b, 0xff - -gUnknown_845B6AD:: - .byte 0x0a, 0xff - -gUnknown_845B6AF:: - .byte 0x0b, 0xff - -gUnknown_845B6B1:: - .byte 0x2b, 0x19, 0x1a, 0xff - -gUnknown_845B6B5:: - .byte 0x0c, 0xff - -gUnknown_845B6B7:: - .byte 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0xff - -gUnknown_845B6BF:: - .byte 0x02, 0x03, 0x04, 0xff - -gUnknown_845B6C3:: - .byte 0x01, 0x02, 0x03, 0x07, 0xff - -gUnknown_845B6C8:: - .byte 0x02, 0x04, 0x05, 0x09, 0x25, 0xff - -gUnknown_845B6CE:: - .byte 0x1f, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x2c, 0x09, 0x0d, 0x0e, 0x0f, 0x10, 0x0a, 0x0b, 0x0c, 0x11, 0xff - -gUnknown_845B6E2:: - .byte 0x09, 0x01, 0x02, 0x03, 0x0a, 0x28, 0xff - -gUnknown_845B6E9:: - .byte 0x02, 0x05, 0x06, 0x0a, 0x23, 0x24, 0x09, 0x25, 0xff - -gUnknown_845B6F2:: - .byte 0x1f, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x2c, 0x09, 0x0d, 0x0e, 0x0f, 0x10, 0x0a, 0x0b, 0x0c, 0x11, 0x14, 0xff - -gUnknown_845B707:: - .byte 0x09, 0x01, 0x02, 0x03, 0x0a, 0x28, 0xff - -gUnknown_845B70E:: - .byte 0x03, 0x07, 0x04, 0x05, 0x06, 0xff - -gUnknown_845B714:: - .byte 0x02, 0x05, 0x06, 0x0a, 0x23, 0x24, 0x09, 0x25, 0xff - -gUnknown_845B71D:: - .byte 0x1f, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x2c, 0x09, 0x0d, 0x0e, 0x0f, 0x10, 0x0a, 0x0b, 0x0c, 0x11, 0xff - -gUnknown_845B731:: - .byte 0x09, 0x01, 0x02, 0x03, 0x0a, 0x0c, 0x0e, 0x16, 0x17, 0x18, 0x15, 0xff - -gUnknown_845B73D:: - .byte 0x06, 0x0a, 0x23, 0x24, 0x09, 0x25, 0xff - -gUnknown_845B744:: - .byte 0x1f, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x2c, 0x09, 0x0d, 0x0e, 0x0f, 0x10, 0x0a, 0x0b, 0x0c, 0x11, 0xff - -gUnknown_845B758:: - .byte 0x09, 0x01, 0x02, 0x03, 0x0a, 0x15, 0xff - -gUnknown_845B75F:: - .byte 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20 - .byte 0x21, 0x22, 0x23, 0xff - -gUnknown_845B783:: - .byte 0x02, 0x0a, 0x04, 0x05, 0x06, 0x07, 0x0d, 0x27, 0x08, 0x0b, 0x21, 0x23, 0x24, 0x2c, 0x09, 0x0e, 0x16, 0x17, 0x0f, 0x10, 0x11, 0x1a, 0x15, 0x1f, 0x20, 0x12, 0x13, 0x14, 0x18, 0x19, 0x1b, 0x1e - .byte 0x1c, 0x28, 0x25, 0xff - -gUnknown_845B7A7:: - .byte 0x1f, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x2c, 0x09, 0x0d, 0x0e, 0x0f, 0x10, 0x0a, 0x0b, 0x0c, 0x11, 0xff - -gUnknown_845B7BB:: - .byte 0x09, 0x01, 0x02, 0x0a, 0x0b, 0x0c, 0x0d, 0x15, 0xff - -gUnknown_845B7C4:: - .byte 0x02, 0x0a, 0x04, 0x05, 0x06, 0x07, 0x0d, 0x27, 0x08, 0x0b, 0x21, 0x23, 0x24, 0x2c, 0x09, 0x0e, 0x16, 0x17, 0x0f, 0x10, 0x11, 0x1a, 0x15, 0x1f, 0x20, 0x12, 0x13, 0x14, 0x18, 0x19, 0x1b, 0x1e - .byte 0x1c, 0x28, 0x25, 0xff - -gUnknown_845B7E8:: - .byte 0x1f, 0x01, 0x02, 0x06, 0x0a, 0x0b, 0x0c, 0x11, 0xff - -gUnknown_845B7F1:: - .byte 0x09, 0x01, 0x02, 0x0a, 0x0b, 0x0c, 0x0d, 0x15, 0x28, 0xff - -gUnknown_845B7FB:: - .byte 0x0a, 0x07, 0x0d, 0x27, 0x08, 0x0b, 0x21, 0x23, 0x24, 0x2c, 0x09, 0x0e, 0x16, 0x0f, 0x10, 0x11, 0x1a, 0x15, 0x1f, 0x20, 0x12, 0x13, 0x14, 0x18, 0x19, 0x1b, 0x1e, 0x1c, 0x28, 0x25, 0xff - -gUnknown_845B81A:: - .byte 0x1f, 0x01, 0x02, 0x06, 0x0a, 0x0b, 0x0c, 0x11, 0xff - -gUnknown_845B823:: - .byte 0x09, 0x01, 0x02, 0x0a, 0x0b, 0x0c, 0x0d, 0x15, 0xff - -gUnknown_845B82C:: - .byte 0x07, 0x27, 0x08, 0x2c, 0x15, 0x1f, 0x20, 0x12, 0x13, 0x14, 0x18, 0x19, 0x1b, 0x1e, 0x1c, 0x28, 0x25, 0xff - -gUnknown_845B83E:: - .byte 0x1f, 0x01, 0x02, 0x06, 0x0a, 0x0b, 0x0c, 0x11, 0xff - -gUnknown_845B847:: - .byte 0x09, 0x01, 0x02, 0x0a, 0x0b, 0x0c, 0x0d, 0x15, 0xff - -gUnknown_845B850:: - .byte 0x0f, 0x1b, 0x1d, 0x11, 0x12, 0x15, 0x17, 0x16, 0x1f, 0x20, 0x13, 0x14, 0xff - -gUnknown_845B85D:: - .byte 0x20, 0x21, 0x22, 0x23, 0x24, 0x07, 0x09, 0x2b, 0xff - -gUnknown_845B866:: - .byte 0x09, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x0a, 0x0d, 0x0f, 0x12, 0x13, 0x14, 0x27, 0x15, 0xff - -gUnknown_845B878:: - .byte 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20 - .byte 0x21, 0x22, 0x23, 0xff - -gUnknown_845B89C:: - .byte 0x0f, 0x1b, 0x1d, 0x11, 0x12, 0x16, 0x1f, 0x20, 0x13, 0x14, 0xff - -gUnknown_845B8A7:: - .byte 0x20, 0x21, 0x22, 0x23, 0x24, 0x07, 0x2b, 0xff - -gUnknown_845B8AF:: - .byte 0x09, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x0a, 0x0d, 0x0f, 0x12, 0x13, 0x14, 0x27, 0x15, 0xff - -gUnknown_845B8C1:: - .byte 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20 - .byte 0x21, 0x22, 0x23, 0xff - -gUnknown_845B8E5:: - .byte 0x0f, 0x1b, 0x1d, 0x11, 0x12, 0x16, 0x1f, 0x20, 0x13, 0x14, 0xff - -gUnknown_845B8F0:: - .byte 0x20, 0x21, 0x22, 0x23, 0x24, 0x07, 0x2b, 0xff - -gUnknown_845B8F8:: - .byte 0x09, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x0a, 0x0d, 0x0f, 0x12, 0x13, 0x14, 0x27, 0x15, 0xff - -gUnknown_845B90A:: - .byte 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20 - .byte 0x21, 0x22, 0x23, 0xff - -gUnknown_845B92E:: - .byte 0x29, 0x2a, 0x2b, 0xff - -gUnknown_845B932:: - .byte 0x2d, 0x2e, 0x2f, 0x2b, 0xff - -gUnknown_845B937:: - .byte 0x09, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x0a, 0x0d, 0x0f, 0x12, 0x13, 0x14, 0xff - -gUnknown_845B947:: - .byte 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20 - .byte 0x21, 0x22, 0x23, 0xff - -gUnknown_845B96B:: - .byte 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x30, 0xff - -gUnknown_845B978:: - .byte 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x30, 0xff - -gUnknown_845B985:: - .byte 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x30, 0xff - -gUnknown_845B992:: - .byte 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x30, 0xff - -gUnknown_845B99F:: - .byte 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x30, 0xff - -gUnknown_845B9AC:: - .byte 0x26, 0x27, 0x28, 0x29, 0x2a, 0xff - -gUnknown_845B9B2:: - .byte 0x26, 0x27, 0x28, 0x29, 0x2a, 0xff - -gUnknown_845B9B8:: - .byte 0x26, 0x27, 0x28, 0x29, 0x2a, 0xff - -gUnknown_845B9BE:: @ 845B9BE - .byte 0x09, 0x01, 0x02, 0x03, 0x23, 0x25, 0x24, 0x04, 0x05, 0x06, 0x07, 0x08, 0x0a, 0x0b, 0x0c, 0x0d, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x27, 0x15, 0x26, 0x16, 0x17, 0x18, 0x1a, 0x0e, 0x1b, 0xff - - .align 2 -gUnknown_845B9E0:: @ 845B9E0 - .4byte NULL, NULL, NULL, NULL, NULL - .4byte NULL, NULL, NULL, gUnknown_845B660, NULL - .4byte NULL, NULL, NULL, gUnknown_845B664, NULL - .4byte NULL, gUnknown_845B668, NULL, gUnknown_845B66A, NULL - .4byte NULL, gUnknown_845B66E, NULL, NULL, NULL - .4byte NULL, gUnknown_845B671, gUnknown_845B677, NULL, NULL - .4byte NULL, gUnknown_845B67A, gUnknown_845B67D, NULL, NULL - .4byte NULL, NULL, gUnknown_845B684, NULL, NULL - .4byte NULL, NULL, gUnknown_845B68E, NULL, NULL - .4byte NULL, gUnknown_845B696, gUnknown_845B6A1, NULL, NULL - .4byte NULL, gUnknown_845B6A5, gUnknown_845B6A7, NULL, NULL - .4byte NULL, gUnknown_845B6AD, NULL, NULL, NULL - .4byte NULL, gUnknown_845B6AF, gUnknown_845B6B1, NULL, NULL - .4byte NULL, gUnknown_845B6B5, gUnknown_845B6B7, NULL, NULL - .4byte gUnknown_845B6BF, NULL, NULL, gUnknown_845B6C3, NULL - .4byte gUnknown_845B6C8, gUnknown_845B6CE, gUnknown_845B6E2, NULL, NULL - .4byte gUnknown_845B6E9, gUnknown_845B6F2, gUnknown_845B707, gUnknown_845B70E, NULL - .4byte gUnknown_845B714, gUnknown_845B71D, gUnknown_845B731, NULL, NULL - .4byte gUnknown_845B73D, gUnknown_845B744, gUnknown_845B758, NULL, gUnknown_845B75F - .4byte gUnknown_845B783, gUnknown_845B7A7, gUnknown_845B7BB, NULL, NULL - .4byte gUnknown_845B7C4, gUnknown_845B7E8, gUnknown_845B7F1, NULL, NULL - .4byte gUnknown_845B7FB, gUnknown_845B81A, gUnknown_845B823, NULL, NULL - .4byte gUnknown_845B82C, gUnknown_845B83E, gUnknown_845B847, NULL, NULL - .4byte gUnknown_845B850, gUnknown_845B85D, gUnknown_845B866, NULL, gUnknown_845B878 - .4byte gUnknown_845B89C, gUnknown_845B8A7, gUnknown_845B8AF, NULL, gUnknown_845B8C1 - .4byte gUnknown_845B8E5, gUnknown_845B8F0, gUnknown_845B8F8, NULL, gUnknown_845B90A - .4byte gUnknown_845B92E, gUnknown_845B932, gUnknown_845B937, NULL, gUnknown_845B947 - .4byte NULL, gUnknown_845B96B, NULL, NULL, NULL - .4byte NULL, gUnknown_845B978, NULL, NULL, NULL - .4byte NULL, gUnknown_845B985, NULL, NULL, NULL - .4byte NULL, gUnknown_845B992, NULL, NULL, NULL - .4byte NULL, gUnknown_845B99F, NULL, NULL, NULL - .4byte NULL, gUnknown_845B9AC, NULL, NULL, NULL - .4byte NULL, gUnknown_845B9B2, NULL, NULL, NULL - .4byte NULL, gUnknown_845B9B8, NULL, NULL, NULL - .4byte NULL, NULL, NULL, NULL, NULL - - @ unreferenced tilemap -gUnknown_845BCB0:: @ 845BCC0 - .incbin "graphics/help_system/unk_845BCB0.bin" - -gUnknown_845C4B0:: @ 845C4B0 - .byte 0x03, 0x00, 0x01, 0x02, 0x04, 0x05 - -gUnknown_845C4B6:: @ 845C4B6 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 - .byte 0x00, 0x00, 0x00, 0x01, 0x00, 0x01 - .byte 0x00, 0x00, 0x00, 0x01, 0x00, 0x01 - .byte 0x00, 0x01, 0x00, 0x01, 0x00, 0x01 - .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x01 - .byte 0x00, 0x01, 0x01, 0x00, 0x00, 0x01 - .byte 0x00, 0x01, 0x01, 0x00, 0x00, 0x01 - .byte 0x00, 0x00, 0x01, 0x00, 0x00, 0x01 - .byte 0x00, 0x00, 0x01, 0x00, 0x00, 0x01 - .byte 0x00, 0x01, 0x01, 0x00, 0x00, 0x01 - .byte 0x00, 0x01, 0x01, 0x00, 0x00, 0x01 - .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x01 - .byte 0x00, 0x01, 0x01, 0x00, 0x00, 0x01 - .byte 0x00, 0x01, 0x01, 0x00, 0x00, 0x01 - .byte 0x01, 0x00, 0x00, 0x01, 0x00, 0x01 - .byte 0x01, 0x01, 0x01, 0x00, 0x00, 0x01 - .byte 0x01, 0x01, 0x01, 0x01, 0x00, 0x01 - .byte 0x01, 0x01, 0x01, 0x00, 0x00, 0x01 - .byte 0x01, 0x01, 0x01, 0x00, 0x01, 0x01 - .byte 0x01, 0x01, 0x01, 0x00, 0x00, 0x01 - .byte 0x01, 0x01, 0x01, 0x00, 0x00, 0x01 - .byte 0x01, 0x01, 0x01, 0x00, 0x00, 0x01 - .byte 0x01, 0x01, 0x01, 0x00, 0x00, 0x01 - .byte 0x01, 0x01, 0x01, 0x00, 0x01, 0x01 - .byte 0x01, 0x01, 0x01, 0x00, 0x01, 0x01 - .byte 0x01, 0x01, 0x01, 0x00, 0x01, 0x01 - .byte 0x01, 0x01, 0x01, 0x00, 0x01, 0x01 - .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x01 - .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x01 - .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x01 - .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x01 - .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x01 - .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x01 - .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x01 - .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x01 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - - .align 1 -gUnknown_845C594:: @ 845C594 - .2byte MAP_VIRIDIAN_CITY_MART - .2byte MAP_PEWTER_CITY_MART - .2byte MAP_CERULEAN_CITY_MART - .2byte MAP_LAVENDER_TOWN_MART - .2byte MAP_VERMILION_CITY_MART - .2byte MAP_CELADON_CITY_DEPARTMENT_STORE_1F - .2byte MAP_CELADON_CITY_DEPARTMENT_STORE_2F - .2byte MAP_CELADON_CITY_DEPARTMENT_STORE_3F - .2byte MAP_CELADON_CITY_DEPARTMENT_STORE_4F - .2byte MAP_CELADON_CITY_DEPARTMENT_STORE_5F - .2byte MAP_CELADON_CITY_DEPARTMENT_STORE_ROOF - .2byte MAP_CELADON_CITY_DEPARTMENT_STORE_ELEVATOR - .2byte MAP_FUCHSIA_CITY_MART - .2byte MAP_CINNABAR_ISLAND_MART - .2byte MAP_SAFFRON_CITY_MART - .2byte MAP_THREE_ISLAND_MART - .2byte MAP_FOUR_ISLAND_MART - .2byte MAP_SEVEN_ISLAND_MART - .2byte MAP_SIX_ISLAND_MART - .2byte MAP_UNDEFINED - -gUnknown_845C5BC:: @ 845C5BC - .2byte MAP_PEWTER_CITY_GYM - .2byte MAP_CERULEAN_CITY_GYM - .2byte MAP_VERMILION_CITY_GYM - .2byte MAP_CELADON_CITY_GYM - .2byte MAP_FUCHSIA_CITY_GYM - .2byte MAP_SAFFRON_CITY_GYM - .2byte MAP_CINNABAR_ISLAND_GYM - .2byte MAP_VIRIDIAN_CITY_GYM - .2byte MAP_UNDEFINED - -gUnknown_845C5CE:: @ 845C5CE - .byte 0x01, 0x00, 0x01 @ MAP_VIRIDIAN_FOREST - .byte 0x01, 0x01, 0x03 @ MAP_MT_MOON_1F - .byte 0x01, 0x51, 0x02 @ MAP_ROCK_TUNNEL_1F - .byte 0x01, 0x24, 0x03 @ MAP_DIGLETTS_CAVE_NORTH_ENTRANCE - .byte 0x01, 0x53, 0x05 @ MAP_SEAFOAM_ISLANDS_1F - .byte 0x01, 0x27, 0x03 @ MAP_VICTORY_ROAD_1F - .byte 0x01, 0x48, 0x03 @ MAP_CERULEAN_CAVE_1F - .byte 0x01, 0x60, 0x01 @ MAP_MT_EMBER_RUBY_PATH_B4F - .byte 0x01, 0x62, 0x03 @ MAP_MT_EMBER_SUMMIT_PATH_1F - .byte 0x01, 0x66, 0x07 @ MAP_MT_EMBER_RUBY_PATH_B5F - .byte 0x01, 0x6d, 0x01 @ MAP_THREE_ISLAND_BERRY_FOREST - .byte 0x01, 0x79, 0x01 @ MAP_SIX_ISLAND_PATTERN_BUSH - .byte 0x02, 0x0c, 0x0f @ MAP_FIVE_ISLAND_LOST_CAVE_ENTRANCE - .byte 0x01, 0x6e, 0x04 @ MAP_FOUR_ISLAND_ICEFALL_CAVE_ENTRANCE - .byte 0x01, 0x7a, 0x01 @ MAP_SIX_ISLAND_ALTERING_CAVE - .byte 0x02, 0x1b, 0x07 @ MAP_SEVEN_ISLAND_TANOBY_RUINS_MONEAN_CHAMBER diff --git a/include/event_scripts.h b/include/event_scripts.h index 1762faf8e..d5ee57d56 100644 --- a/include/event_scripts.h +++ b/include/event_scripts.h @@ -772,4 +772,376 @@ extern const u8 gOakText_ConfirmRivalName[]; extern const u8 gOakText_RememberRivalName[]; extern const u8 gOakText_LegendAboutToUnfold[]; +// Help System +extern const u8 gUnknown_81B2DF8[]; +extern const u8 gUnknown_81B2E1C[]; +extern const u8 gUnknown_81B2E2E[]; +extern const u8 gUnknown_81B2E48[]; +extern const u8 gUnknown_81B2E58[]; +extern const u8 gUnknown_81B2E6A[]; +extern const u8 gUnknown_81B2E6F[]; +extern const u8 gUnknown_81B2E76[]; +extern const u8 gUnknown_81B2E88[]; +extern const u8 gUnknown_81B2EC8[]; +extern const u8 gUnknown_81B2F00[]; +extern const u8 gUnknown_81B2F43[]; +extern const u8 gUnknown_81B2F74[]; +extern const u8 gUnknown_81B2FA9[]; +extern const u8 gUnknown_81B2FC9[]; +extern const u8 gUnknown_81B301B[]; +extern const u8 gUnknown_81B3083[]; +extern const u8 gUnknown_81B30A9[]; +extern const u8 gUnknown_81B30C1[]; +extern const u8 gUnknown_81B30DC[]; +extern const u8 gUnknown_81B30FC[]; +extern const u8 gUnknown_81B311F[]; +extern const u8 gUnknown_81B3140[]; +extern const u8 gUnknown_81B314F[]; +extern const u8 gUnknown_81B3168[]; +extern const u8 gUnknown_81B3189[]; +extern const u8 gUnknown_81B31AE[]; +extern const u8 gUnknown_81B31D3[]; +extern const u8 gUnknown_81B31EC[]; +extern const u8 gUnknown_81B31FF[]; +extern const u8 gUnknown_81B3215[]; +extern const u8 gUnknown_81B3226[]; +extern const u8 gUnknown_81B3243[]; +extern const u8 gUnknown_81B3261[]; +extern const u8 gUnknown_81B3276[]; +extern const u8 gUnknown_81B3290[]; +extern const u8 gUnknown_81B32B6[]; +extern const u8 gUnknown_81B32CD[]; +extern const u8 gUnknown_81B32E3[]; +extern const u8 gUnknown_81B32F9[]; +extern const u8 gUnknown_81B330B[]; +extern const u8 gUnknown_81B332B[]; +extern const u8 gUnknown_81B3344[]; +extern const u8 gUnknown_81B335C[]; +extern const u8 gUnknown_81B3373[]; +extern const u8 gUnknown_81B338C[]; +extern const u8 gUnknown_81B33A6[]; +extern const u8 gUnknown_81B33CA[]; +extern const u8 gUnknown_81B33EA[]; +extern const u8 gUnknown_81B3402[]; +extern const u8 gUnknown_81B3427[]; +extern const u8 gUnknown_81B3440[]; +extern const u8 gUnknown_81B3457[]; +extern const u8 gUnknown_81B346F[]; +extern const u8 gUnknown_81B3481[]; +extern const u8 gUnknown_81B349B[]; +extern const u8 gUnknown_81B34B7[]; +extern const u8 gUnknown_81B34D6[]; +extern const u8 gUnknown_81B34F6[]; +extern const u8 gUnknown_81B3516[]; +extern const u8 gUnknown_81B3525[]; +extern const u8 gUnknown_81B35E6[]; +extern const u8 gUnknown_81B36EB[]; +extern const u8 gUnknown_81B379A[]; +extern const u8 gUnknown_81B3849[]; +extern const u8 gUnknown_81B3876[]; +extern const u8 gUnknown_81B3972[]; +extern const u8 gUnknown_81B3A51[]; +extern const u8 gUnknown_81B3ACC[]; +extern const u8 gUnknown_81B3BB6[]; +extern const u8 gUnknown_81B3C99[]; +extern const u8 gUnknown_81B3D1B[]; +extern const u8 gUnknown_81B3DE3[]; +extern const u8 gUnknown_81B3EBC[]; +extern const u8 gUnknown_81B3F7F[]; +extern const u8 gUnknown_81B406C[]; +extern const u8 gUnknown_81B410B[]; +extern const u8 gUnknown_81B41D7[]; +extern const u8 gUnknown_81B42B3[]; +extern const u8 gUnknown_81B439D[]; +extern const u8 gUnknown_81B4483[]; +extern const u8 gUnknown_81B457C[]; +extern const u8 gUnknown_81B4645[]; +extern const u8 gUnknown_81B470A[]; +extern const u8 gUnknown_81B47F0[]; +extern const u8 gUnknown_81B48C6[]; +extern const u8 gUnknown_81B497A[]; +extern const u8 gUnknown_81B4A72[]; +extern const u8 gUnknown_81B4B65[]; +extern const u8 gUnknown_81B4C54[]; +extern const u8 gUnknown_81B4D26[]; +extern const u8 gUnknown_81B4E0B[]; +extern const u8 gUnknown_81B4ED8[]; +extern const u8 gUnknown_81B4FB2[]; +extern const u8 gUnknown_81B4FFD[]; +extern const u8 gUnknown_81B50FF[]; +extern const u8 gUnknown_81B51B1[]; +extern const u8 gUnknown_81B5272[]; +extern const u8 gUnknown_81B5325[]; +extern const u8 gUnknown_81B5382[]; +extern const u8 gUnknown_81B547C[]; +extern const u8 gUnknown_81B54E1[]; +extern const u8 gUnknown_81B5589[]; +extern const u8 gUnknown_81B55F4[]; +extern const u8 gUnknown_81B56E3[]; +extern const u8 gUnknown_81B56F4[]; +extern const u8 gUnknown_81B5705[]; +extern const u8 gUnknown_81B5717[]; +extern const u8 gUnknown_81B5728[]; +extern const u8 gUnknown_81B5737[]; +extern const u8 gUnknown_81B5744[]; +extern const u8 gUnknown_81B5754[]; +extern const u8 gUnknown_81B5767[]; +extern const u8 gUnknown_81B577B[]; +extern const u8 gUnknown_81B5787[]; +extern const u8 gUnknown_81B5795[]; +extern const u8 gUnknown_81B57A5[]; +extern const u8 gUnknown_81B57B8[]; +extern const u8 gUnknown_81B57CF[]; +extern const u8 gUnknown_81B57DE[]; +extern const u8 gUnknown_81B57EE[]; +extern const u8 gUnknown_81B580D[]; +extern const u8 gUnknown_81B5824[]; +extern const u8 gUnknown_81B5834[]; +extern const u8 gUnknown_81B583F[]; +extern const u8 gUnknown_81B5850[]; +extern const u8 gUnknown_81B5863[]; +extern const u8 gUnknown_81B5875[]; +extern const u8 gUnknown_81B5884[]; +extern const u8 gUnknown_81B5893[]; +extern const u8 gUnknown_81B58A4[]; +extern const u8 gUnknown_81B58BC[]; +extern const u8 gUnknown_81B58D3[]; +extern const u8 gUnknown_81B58E5[]; +extern const u8 gUnknown_81B58FD[]; +extern const u8 gUnknown_81B590E[]; +extern const u8 gUnknown_81B591D[]; +extern const u8 gUnknown_81B592E[]; +extern const u8 gUnknown_81B593E[]; +extern const u8 gUnknown_81B5950[]; +extern const u8 gUnknown_81B595D[]; +extern const u8 gUnknown_81B5974[]; +extern const u8 gUnknown_81B5989[]; +extern const u8 gUnknown_81B59A7[]; +extern const u8 gUnknown_81B59BF[]; +extern const u8 gUnknown_81B59D6[]; +extern const u8 gUnknown_81B59E8[]; +extern const u8 gUnknown_81B59F5[]; +extern const u8 gUnknown_81B5A0D[]; +extern const u8 gUnknown_81B5A1B[]; +extern const u8 gUnknown_81B5A29[]; +extern const u8 gUnknown_81B5A37[]; +extern const u8 gUnknown_81B5A4D[]; +extern const u8 gUnknown_81B5B0C[]; +extern const u8 gUnknown_81B5B7D[]; +extern const u8 gUnknown_81B5C13[]; +extern const u8 gUnknown_81B5CDF[]; +extern const u8 gUnknown_81B5D87[]; +extern const u8 gUnknown_81B5E41[]; +extern const u8 gUnknown_81B5F10[]; +extern const u8 gUnknown_81B5FA6[]; +extern const u8 gUnknown_81B606C[]; +extern const u8 gUnknown_81B6140[]; +extern const u8 gUnknown_81B6203[]; +extern const u8 gUnknown_81B62E4[]; +extern const u8 gUnknown_81B6397[]; +extern const u8 gUnknown_81B6478[]; +extern const u8 gUnknown_81B6525[]; +extern const u8 gUnknown_81B65E7[]; +extern const u8 gUnknown_81B66BA[]; +extern const u8 gUnknown_81B678E[]; +extern const u8 gUnknown_81B6883[]; +extern const u8 gUnknown_81B68CD[]; +extern const u8 gUnknown_81B69B9[]; +extern const u8 gUnknown_81B6A9A[]; +extern const u8 gUnknown_81B6B6E[]; +extern const u8 gUnknown_81B6C4F[]; +extern const u8 gUnknown_81B6D4A[]; +extern const u8 gUnknown_81B6E02[]; +extern const u8 gUnknown_81B6EC1[]; +extern const u8 gUnknown_81B6FA8[]; +extern const u8 gUnknown_81B7075[]; +extern const u8 gUnknown_81B7108[]; +extern const u8 gUnknown_81B71EA[]; +extern const u8 gUnknown_81B723B[]; +extern const u8 gUnknown_81B7319[]; +extern const u8 gUnknown_81B73E8[]; +extern const u8 gUnknown_81B747E[]; +extern const u8 gUnknown_81B752C[]; +extern const u8 gUnknown_81B7611[]; +extern const u8 gUnknown_81B7692[]; +extern const u8 gUnknown_81B771E[]; +extern const u8 gUnknown_81B77DD[]; +extern const u8 gUnknown_81B7884[]; +extern const u8 gUnknown_81B7931[]; +extern const u8 gUnknown_81B79CB[]; +extern const u8 gUnknown_81B7A60[]; +extern const u8 gUnknown_81B7AEE[]; +extern const u8 gUnknown_81B7BBE[]; +extern const u8 gUnknown_81B7C57[]; +extern const u8 gUnknown_81B7CC1[]; +extern const u8 gUnknown_81B7CC4[]; +extern const u8 gUnknown_81B7CD9[]; +extern const u8 gUnknown_81B7CDF[]; +extern const u8 gUnknown_81B7CE6[]; +extern const u8 gUnknown_81B7CEE[]; +extern const u8 gUnknown_81B7CF6[]; +extern const u8 gUnknown_81B7CFE[]; +extern const u8 gUnknown_81B7D04[]; +extern const u8 gUnknown_81B7D12[]; +extern const u8 gUnknown_81B7D17[]; +extern const u8 gUnknown_81B7D1A[]; +extern const u8 gUnknown_81B7D1F[]; +extern const u8 gUnknown_81B7D27[]; +extern const u8 gUnknown_81B7D2D[]; +extern const u8 gUnknown_81B7D37[]; +extern const u8 gUnknown_81B7D3E[]; +extern const u8 gUnknown_81B7D45[]; +extern const u8 gUnknown_81B7D48[]; +extern const u8 gUnknown_81B7D4E[]; +extern const u8 gUnknown_81B7D57[]; +extern const u8 gUnknown_81B7D5B[]; +extern const u8 gUnknown_81B7D61[]; +extern const u8 gUnknown_81B7D6B[]; +extern const u8 gUnknown_81B7D76[]; +extern const u8 gUnknown_81B7D7E[]; +extern const u8 gUnknown_81B7D88[]; +extern const u8 gUnknown_81B7D8F[]; +extern const u8 gUnknown_81B7D9A[]; +extern const u8 gUnknown_81B7DA7[]; +extern const u8 gUnknown_81B7DB4[]; +extern const u8 gUnknown_81B7DBA[]; +extern const u8 gUnknown_81B7DC6[]; +extern const u8 gUnknown_81B7DCC[]; +extern const u8 gUnknown_81B7DD3[]; +extern const u8 gUnknown_81B7DD6[]; +extern const u8 gUnknown_81B7DD9[]; +extern const u8 gUnknown_81B7DE1[]; +extern const u8 gUnknown_81B7DEB[]; +extern const u8 gUnknown_81B7DFA[]; +extern const u8 gUnknown_81B7E02[]; +extern const u8 gUnknown_81B7E09[]; +extern const u8 gUnknown_81B7E0F[]; +extern const u8 gUnknown_81B7E16[]; +extern const u8 gUnknown_81B7F0A[]; +extern const u8 gUnknown_81B800A[]; +extern const u8 gUnknown_81B80EC[]; +extern const u8 gUnknown_81B81C2[]; +extern const u8 gUnknown_81B8256[]; +extern const u8 gUnknown_81B8348[]; +extern const u8 gUnknown_81B83EF[]; +extern const u8 gUnknown_81B847B[]; +extern const u8 gUnknown_81B8550[]; +extern const u8 gUnknown_81B8647[]; +extern const u8 gUnknown_81B86E2[]; +extern const u8 gUnknown_81B87B8[]; +extern const u8 gUnknown_81B8897[]; +extern const u8 gUnknown_81B8924[]; +extern const u8 gUnknown_81B8A04[]; +extern const u8 gUnknown_81B8A84[]; +extern const u8 gUnknown_81B8B62[]; +extern const u8 gUnknown_81B8C18[]; +extern const u8 gUnknown_81B8C94[]; +extern const u8 gUnknown_81B8D1D[]; +extern const u8 gUnknown_81B8DD4[]; +extern const u8 gUnknown_81B8E67[]; +extern const u8 gUnknown_81B8F4D[]; +extern const u8 gUnknown_81B901B[]; +extern const u8 gUnknown_81B90A7[]; +extern const u8 gUnknown_81B90E8[]; +extern const u8 gUnknown_81B9170[]; +extern const u8 gUnknown_81B91C2[]; +extern const u8 gUnknown_81B91F9[]; +extern const u8 gUnknown_81B92B8[]; +extern const u8 gUnknown_81B92ED[]; +extern const u8 gUnknown_81B93D8[]; +extern const u8 gUnknown_81B9439[]; +extern const u8 gUnknown_81B9497[]; +extern const u8 gUnknown_81B9560[]; +extern const u8 gUnknown_81B9656[]; +extern const u8 gUnknown_81B9749[]; +extern const u8 gUnknown_81B984F[]; +extern const u8 gUnknown_81B991C[]; +extern const u8 gUnknown_81B99C4[]; +extern const u8 gUnknown_81B9AA2[]; +extern const u8 gUnknown_81B9B2F[]; +extern const u8 gUnknown_81B9BB7[]; +extern const u8 gUnknown_81B9BC7[]; +extern const u8 gUnknown_81B9BD0[]; +extern const u8 gUnknown_81B9BE1[]; +extern const u8 gUnknown_81B9BF5[]; +extern const u8 gUnknown_81B9C09[]; +extern const u8 gUnknown_81B9C1D[]; +extern const u8 gUnknown_81B9C2F[]; +extern const u8 gUnknown_81B9D04[]; +extern const u8 gUnknown_81B9DC5[]; +extern const u8 gUnknown_81B9E75[]; +extern const u8 gUnknown_81B9F09[]; +extern const u8 gUnknown_81B9FCE[]; +extern const u8 gUnknown_81BA027[]; +extern const u8 gUnknown_81BA0F1[]; +extern const u8 gUnknown_81BA10D[]; +extern const u8 gUnknown_81BA121[]; +extern const u8 gUnknown_81BA138[]; +extern const u8 gUnknown_81BA14C[]; +extern const u8 gUnknown_81BA163[]; +extern const u8 gUnknown_81BA17A[]; +extern const u8 gUnknown_81BA194[]; +extern const u8 gUnknown_81BA1AC[]; +extern const u8 gUnknown_81BA1C7[]; +extern const u8 gUnknown_81BA1DC[]; +extern const u8 gUnknown_81BA1F4[]; +extern const u8 gUnknown_81BA209[]; +extern const u8 gUnknown_81BA221[]; +extern const u8 gUnknown_81BA234[]; +extern const u8 gUnknown_81BA24A[]; +extern const u8 gUnknown_81BA260[]; +extern const u8 gUnknown_81BA279[]; +extern const u8 gUnknown_81BA291[]; +extern const u8 gUnknown_81BA2AC[]; +extern const u8 gUnknown_81BA2C2[]; +extern const u8 gUnknown_81BA2DB[]; +extern const u8 gUnknown_81BA2F1[]; +extern const u8 gUnknown_81BA30A[]; +extern const u8 gUnknown_81BA320[]; +extern const u8 gUnknown_81BA339[]; +extern const u8 gUnknown_81BA34E[]; +extern const u8 gUnknown_81BA366[]; +extern const u8 gUnknown_81BA37C[]; +extern const u8 gUnknown_81BA395[]; +extern const u8 gUnknown_81BA3A9[]; +extern const u8 gUnknown_81BA3C0[]; +extern const u8 gUnknown_81BA3D5[]; +extern const u8 gUnknown_81BA3ED[]; +extern const u8 gUnknown_81BA400[]; +extern const u8 gUnknown_81BA416[]; +extern const u8 gUnknown_81BA4E6[]; +extern const u8 gUnknown_81BA539[]; +extern const u8 gUnknown_81BA595[]; +extern const u8 gUnknown_81BA5F2[]; +extern const u8 gUnknown_81BA66F[]; +extern const u8 gUnknown_81BA6C9[]; +extern const u8 gUnknown_81BA71F[]; +extern const u8 gUnknown_81BA796[]; +extern const u8 gUnknown_81BA7E9[]; +extern const u8 gUnknown_81BA862[]; +extern const u8 gUnknown_81BA8D3[]; +extern const u8 gUnknown_81BA92A[]; +extern const u8 gUnknown_81BA98D[]; +extern const u8 gUnknown_81BA9F1[]; +extern const u8 gUnknown_81BAA44[]; +extern const u8 gUnknown_81BAAB6[]; +extern const u8 gUnknown_81BAB18[]; +extern const u8 gUnknown_81BAB7A[]; +extern const u8 gUnknown_81BABCC[]; +extern const u8 gUnknown_81BAC29[]; +extern const u8 gUnknown_81BAC89[]; +extern const u8 gUnknown_81BACC4[]; +extern const u8 gUnknown_81BAD20[]; +extern const u8 gUnknown_81BAD60[]; +extern const u8 gUnknown_81BADA2[]; +extern const u8 gUnknown_81BADF7[]; +extern const u8 gUnknown_81BAEA8[]; +extern const u8 gUnknown_81BAF01[]; +extern const u8 gUnknown_81BAF6B[]; +extern const u8 gUnknown_81BAFCA[]; +extern const u8 gUnknown_81BB02E[]; +extern const u8 gUnknown_81BB084[]; +extern const u8 gUnknown_81BB0DF[]; +extern const u8 gUnknown_81BB156[]; + #endif //GUARD_EVENT_SCRIPTS_H diff --git a/include/strings.h b/include/strings.h index edc5136f8..1e3d4c39b 100644 --- a/include/strings.h +++ b/include/strings.h @@ -136,4 +136,8 @@ extern const u8 gTeachyTvText_CatchingScript2[]; extern const u8 gTeachyTvText_TMsScript2[]; extern const u8 gTeachyTvText_RegisterScript2[]; +// help_system_812B1E0 +extern const u8 gUnknown_841DFAC[]; +extern const u8 gUnknown_841DFC9[]; + #endif //GUARD_STRINGS_H diff --git a/ld_script.txt b/ld_script.txt index d7e81d837..196e0163f 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -421,7 +421,6 @@ SECTIONS { src/quest_log.o(.rodata); data/data_83FECCC.o(.rodata.8456C74); src/help_system_812B1E0.o(.rodata); - data/help_system_812B1E0.o(.rodata); src/fame_checker.o(.rodata); src/menu2.o(.rodata); src/oak_speech.o(.rodata); diff --git a/src/help_system_812B1E0.c b/src/help_system_812B1E0.c index 361ddbcf0..c8cee9676 100644 --- a/src/help_system_812B1E0.c +++ b/src/help_system_812B1E0.c @@ -1,5 +1,6 @@ #include "global.h" #include "event_data.h" +#include "event_scripts.h" #include "field_player_avatar.h" #include "help_system.h" #include "link.h" @@ -7,6 +8,7 @@ #include "quest_log.h" #include "save.h" #include "save_location.h" +#include "strings.h" #include "constants/maps.h" EWRAM_DATA u16 gUnknown_203B0EC = 0; @@ -24,27 +26,850 @@ bool8 sub_812B780(u8); void sub_812BF9C(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); void sub_812BF74(const u8 *); -// event_scripts.h -extern const u8 gUnknown_81B2E6F[]; +// this file +const u8 *const gUnknown_845B080[] = { + gUnknown_81B2DF8, + gUnknown_81B2E1C, + gUnknown_81B2E2E, + gUnknown_81B2E48, + gUnknown_81B2E58, + gUnknown_81B2E6A +}; -// strings.h -extern const u8 gUnknown_841DFAC[]; -extern const u8 gUnknown_841DFC9[]; +const u8 *const gUnknown_845B098[] = { + gUnknown_81B2E88, + gUnknown_81B2EC8, + gUnknown_81B2F00, + gUnknown_81B2F43, + gUnknown_81B2F74, + gUnknown_81B2FA9 +}; -// this file -extern const u8 *const gUnknown_845B080[]; -extern const u8 *const gUnknown_845B0B0[]; -extern const u8 *const gUnknown_845B218[]; -extern const u8 *const gUnknown_845B3A0[]; -extern const u8 *const gUnknown_845B500[]; -extern const u8 *const gUnknown_845B540[]; -extern const u8 gUnknown_845B9BE[]; -extern const u8 *const gUnknown_845B9E0[]; -extern const u8 gUnknown_845C4B0[]; -extern const u8 gUnknown_845C4B6[][6]; -extern const u16 gUnknown_845C594[]; // marts -extern const u16 gUnknown_845C5BC[]; // gyms -extern const u8 gUnknown_845C5CE[][3]; +const u8 *const gUnknown_845B0B0[] = { + NULL, + gUnknown_81B3083, + gUnknown_81B30A9, + gUnknown_81B30C1, + gUnknown_81B30DC, + gUnknown_81B30FC, + gUnknown_81B311F, + gUnknown_81B3140, + gUnknown_81B314F, + gUnknown_81B3168, + gUnknown_81B3189, + gUnknown_81B31AE, + gUnknown_81B31D3, + gUnknown_81B31EC, + gUnknown_81B31FF, + gUnknown_81B3215, + gUnknown_81B3226, + gUnknown_81B3243, + gUnknown_81B3261, + gUnknown_81B3276, + gUnknown_81B3290, + gUnknown_81B32B6, + gUnknown_81B32CD, + gUnknown_81B32E3, + gUnknown_81B32F9, + gUnknown_81B330B, + gUnknown_81B332B, + gUnknown_81B3344, + gUnknown_81B335C, + gUnknown_81B3373, + gUnknown_81B338C, + gUnknown_81B33A6, + gUnknown_81B33CA, + gUnknown_81B33EA, + gUnknown_81B3402, + gUnknown_81B3427, + gUnknown_81B3440, + gUnknown_81B3457, + gUnknown_81B346F, + gUnknown_81B3481, + gUnknown_81B349B, + gUnknown_81B34B7, + gUnknown_81B34D6, + gUnknown_81B34F6, + gUnknown_81B3516 +}; + +const u8 *const gUnknown_845B164[] = { + NULL, + gUnknown_81B3525, + gUnknown_81B35E6, + gUnknown_81B36EB, + gUnknown_81B379A, + gUnknown_81B3849, + gUnknown_81B3876, + gUnknown_81B3972, + gUnknown_81B3A51, + gUnknown_81B3ACC, + gUnknown_81B3BB6, + gUnknown_81B3C99, + gUnknown_81B3D1B, + gUnknown_81B3DE3, + gUnknown_81B3EBC, + gUnknown_81B3F7F, + gUnknown_81B406C, + gUnknown_81B410B, + gUnknown_81B41D7, + gUnknown_81B42B3, + gUnknown_81B439D, + gUnknown_81B4483, + gUnknown_81B457C, + gUnknown_81B4645, + gUnknown_81B470A, + gUnknown_81B47F0, + gUnknown_81B48C6, + gUnknown_81B497A, + gUnknown_81B4A72, + gUnknown_81B4B65, + gUnknown_81B4C54, + gUnknown_81B4D26, + gUnknown_81B4E0B, + gUnknown_81B4ED8, + gUnknown_81B4FB2, + gUnknown_81B4FFD, + gUnknown_81B50FF, + gUnknown_81B51B1, + gUnknown_81B5272, + gUnknown_81B5325, + gUnknown_81B5382, + gUnknown_81B547C, + gUnknown_81B54E1, + gUnknown_81B5589, + gUnknown_81B55F4 +}; + +const u8 *const gUnknown_845B218[] = { + NULL, + gUnknown_81B56E3, + gUnknown_81B56F4, + gUnknown_81B5705, + gUnknown_81B5717, + gUnknown_81B5728, + gUnknown_81B5737, + gUnknown_81B5744, + gUnknown_81B5754, + gUnknown_81B5767, + gUnknown_81B577B, + gUnknown_81B5787, + gUnknown_81B5795, + gUnknown_81B57A5, + gUnknown_81B57B8, + gUnknown_81B57CF, + gUnknown_81B57DE, + gUnknown_81B57EE, + gUnknown_81B580D, + gUnknown_81B5824, + gUnknown_81B5834, + gUnknown_81B583F, + gUnknown_81B5850, + gUnknown_81B5863, + gUnknown_81B5875, + gUnknown_81B5884, + gUnknown_81B5893, + gUnknown_81B58A4, + gUnknown_81B58BC, + gUnknown_81B58D3, + gUnknown_81B58E5, + gUnknown_81B58FD, + gUnknown_81B590E, + gUnknown_81B591D, + gUnknown_81B592E, + gUnknown_81B593E, + gUnknown_81B5950, + gUnknown_81B595D, + gUnknown_81B5974, + gUnknown_81B5989, + gUnknown_81B59A7, + gUnknown_81B59BF, + gUnknown_81B59D6, + gUnknown_81B59E8, + gUnknown_81B59F5, + gUnknown_81B5A0D, + gUnknown_81B5A1B, + gUnknown_81B5A29, + gUnknown_81B5A37 +}; + +const u8 *const gUnknown_845B2DC[] = { + NULL, + gUnknown_81B5A4D, + gUnknown_81B5B0C, + gUnknown_81B5B7D, + gUnknown_81B5C13, + gUnknown_81B5CDF, + gUnknown_81B5D87, + gUnknown_81B5E41, + gUnknown_81B5F10, + gUnknown_81B5FA6, + gUnknown_81B606C, + gUnknown_81B6140, + gUnknown_81B6203, + gUnknown_81B62E4, + gUnknown_81B6397, + gUnknown_81B6478, + gUnknown_81B6525, + gUnknown_81B65E7, + gUnknown_81B66BA, + gUnknown_81B678E, + gUnknown_81B6883, + gUnknown_81B68CD, + gUnknown_81B69B9, + gUnknown_81B6A9A, + gUnknown_81B6B6E, + gUnknown_81B6C4F, + gUnknown_81B6D4A, + gUnknown_81B6E02, + gUnknown_81B6EC1, + gUnknown_81B6FA8, + gUnknown_81B7075, + gUnknown_81B7108, + gUnknown_81B71EA, + gUnknown_81B723B, + gUnknown_81B7319, + gUnknown_81B73E8, + gUnknown_81B747E, + gUnknown_81B752C, + gUnknown_81B7611, + gUnknown_81B7692, + gUnknown_81B771E, + gUnknown_81B77DD, + gUnknown_81B7884, + gUnknown_81B7931, + gUnknown_81B79CB, + gUnknown_81B7A60, + gUnknown_81B7AEE, + gUnknown_81B7BBE, + gUnknown_81B7C57 +}; + +const u8 *const gUnknown_845B3A0[] = { + NULL, + gUnknown_81B7CC1, + gUnknown_81B7CC4, + gUnknown_81B7CD9, + gUnknown_81B7CDF, + gUnknown_81B7CE6, + gUnknown_81B7CEE, + gUnknown_81B7CF6, + gUnknown_81B7CFE, + gUnknown_81B7D04, + gUnknown_81B7D12, + gUnknown_81B7D17, + gUnknown_81B7D1A, + gUnknown_81B7D1F, + gUnknown_81B7D27, + gUnknown_81B7D2D, + gUnknown_81B7D37, + gUnknown_81B7D3E, + gUnknown_81B7D45, + gUnknown_81B7D48, + gUnknown_81B7D4E, + gUnknown_81B7D57, + gUnknown_81B7D5B, + gUnknown_81B7D61, + gUnknown_81B7D6B, + gUnknown_81B7D76, + gUnknown_81B7D7E, + gUnknown_81B7D88, + gUnknown_81B7D8F, + gUnknown_81B7D9A, + gUnknown_81B7DA7, + gUnknown_81B7DB4, + gUnknown_81B7DBA, + gUnknown_81B7DC6, + gUnknown_81B7DCC, + gUnknown_81B7DD3, + gUnknown_81B7DD6, + gUnknown_81B7DD9, + gUnknown_81B7DE1, + gUnknown_81B7DEB, + gUnknown_81B7DFA, + gUnknown_81B7E02, + gUnknown_81B7E09, + gUnknown_81B7E0F +}; + +const u8 *const gUnknown_845B450[] = { + NULL, + gUnknown_81B7E16, + gUnknown_81B7F0A, + gUnknown_81B800A, + gUnknown_81B80EC, + gUnknown_81B81C2, + gUnknown_81B8256, + gUnknown_81B8348, + gUnknown_81B83EF, + gUnknown_81B847B, + gUnknown_81B8550, + gUnknown_81B8647, + gUnknown_81B86E2, + gUnknown_81B87B8, + gUnknown_81B8897, + gUnknown_81B8924, + gUnknown_81B8A04, + gUnknown_81B8A84, + gUnknown_81B8B62, + gUnknown_81B8C18, + gUnknown_81B8C94, + gUnknown_81B8D1D, + gUnknown_81B8DD4, + gUnknown_81B8E67, + gUnknown_81B8F4D, + gUnknown_81B901B, + gUnknown_81B90A7, + gUnknown_81B90E8, + gUnknown_81B9170, + gUnknown_81B91C2, + gUnknown_81B91F9, + gUnknown_81B92B8, + gUnknown_81B92ED, + gUnknown_81B93D8, + gUnknown_81B9439, + gUnknown_81B9497, + gUnknown_81B9560, + gUnknown_81B9656, + gUnknown_81B9749, + gUnknown_81B984F, + gUnknown_81B991C, + gUnknown_81B99C4, + gUnknown_81B9AA2, + gUnknown_81B9B2F +}; + +const u8 *const gUnknown_845B500[] = { + NULL, + gUnknown_81B9BB7, + gUnknown_81B9BC7, + gUnknown_81B9BD0, + gUnknown_81B9BE1, + gUnknown_81B9BF5, + gUnknown_81B9C09, + gUnknown_81B9C1D +}; + +const u8 *const gUnknown_845B520[] = { + NULL, + gUnknown_81B9C2F, + gUnknown_81B9D04, + gUnknown_81B9DC5, + gUnknown_81B9E75, + gUnknown_81B9F09, + gUnknown_81B9FCE, + gUnknown_81BA027 +}; + +const u8 *const gUnknown_845B540[] = { + NULL, + gUnknown_81BA0F1, + gUnknown_81BA10D, + gUnknown_81BA121, + gUnknown_81BA138, + gUnknown_81BA14C, + gUnknown_81BA163, + gUnknown_81BA17A, + gUnknown_81BA194, + gUnknown_81BA1AC, + gUnknown_81BA1C7, + gUnknown_81BA1DC, + gUnknown_81BA1F4, + gUnknown_81BA209, + gUnknown_81BA221, + gUnknown_81BA234, + gUnknown_81BA24A, + gUnknown_81BA260, + gUnknown_81BA279, + gUnknown_81BA291, + gUnknown_81BA2AC, + gUnknown_81BA2C2, + gUnknown_81BA2DB, + gUnknown_81BA2F1, + gUnknown_81BA30A, + gUnknown_81BA320, + gUnknown_81BA339, + gUnknown_81BA34E, + gUnknown_81BA366, + gUnknown_81BA37C, + gUnknown_81BA395, + gUnknown_81BA3A9, + gUnknown_81BA3C0, + gUnknown_81BA3D5, + gUnknown_81BA3ED, + gUnknown_81BA400 +}; + +const u8 *const gUnknown_845B5D0[] = { + NULL, + gUnknown_81BA416, + gUnknown_81BA4E6, + gUnknown_81BA539, + gUnknown_81BA595, + gUnknown_81BA5F2, + gUnknown_81BA66F, + gUnknown_81BA6C9, + gUnknown_81BA71F, + gUnknown_81BA796, + gUnknown_81BA7E9, + gUnknown_81BA862, + gUnknown_81BA8D3, + gUnknown_81BA92A, + gUnknown_81BA98D, + gUnknown_81BA9F1, + gUnknown_81BAA44, + gUnknown_81BAAB6, + gUnknown_81BAB18, + gUnknown_81BAB7A, + gUnknown_81BABCC, + gUnknown_81BAC29, + gUnknown_81BAC89, + gUnknown_81BACC4, + gUnknown_81BAD20, + gUnknown_81BAD60, + gUnknown_81BADA2, + gUnknown_81BADF7, + gUnknown_81BAEA8, + gUnknown_81BAF01, + gUnknown_81BAF6B, + gUnknown_81BAFCA, + gUnknown_81BB02E, + gUnknown_81BB084, + gUnknown_81BB0DF, + gUnknown_81BB156 +}; + + +const u8 gUnknown_845B660[] = { + 0x01, 0x02, 0x03, 0xff +}; + +const u8 gUnknown_845B664[] = { + 0x01, 0x02, 0x03, 0xff +}; + +const u8 gUnknown_845B668[] = { + 0x13, 0xff +}; + +const u8 gUnknown_845B66A[] = { + 0x01, 0x02, 0x03, 0xff +}; + +const u8 gUnknown_845B66E[] = { + 0x01, 0x25, 0xff +}; + +const u8 gUnknown_845B671[] = { + 0x02, 0x03, 0x04, 0x05, 0x11, 0xff +}; + +const u8 gUnknown_845B677[] = { + 0x09, 0x01, 0xff +}; + +const u8 gUnknown_845B67A[] = { + 0x02, 0x03, 0xff +}; + +const u8 gUnknown_845B67D[] = { + 0x09, 0x0a, 0x0b, 0x11, 0x0c, 0x10, 0xff +}; + +const u8 gUnknown_845B684[] = { + 0x09, 0x01, 0x04, 0x05, 0x06, 0x07, 0x08, 0x02, 0x0d, 0xff +}; + +const u8 gUnknown_845B68E[] = { + 0x09, 0x03, 0x0a, 0x0f, 0x12, 0x13, 0x14, 0xff +}; + +const u8 gUnknown_845B696[] = { + 0x06, 0x07, 0x08, 0x2c, 0x09, 0x0d, 0x0e, 0x0f, 0x10, 0x12, 0xff +}; + +const u8 gUnknown_845B6A1[] = { + 0x16, 0x17, 0x18, 0xff +}; + +const u8 gUnknown_845B6A5[] = { + 0x0a, 0xff +}; + +const u8 gUnknown_845B6A7[] = { + 0x11, 0x0e, 0x19, 0x1a, 0x1b, 0xff +}; + +const u8 gUnknown_845B6AD[] = { + 0x0a, 0xff +}; + +const u8 gUnknown_845B6AF[] = { + 0x0b, 0xff +}; + +const u8 gUnknown_845B6B1[] = { + 0x2b, 0x19, 0x1a, 0xff +}; + +const u8 gUnknown_845B6B5[] = { + 0x0c, 0xff +}; + +const u8 gUnknown_845B6B7[] = { + 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0xff +}; + +const u8 gUnknown_845B6BF[] = { + 0x02, 0x03, 0x04, 0xff +}; + +const u8 gUnknown_845B6C3[] = { + 0x01, 0x02, 0x03, 0x07, 0xff +}; + +const u8 gUnknown_845B6C8[] = { + 0x02, 0x04, 0x05, 0x09, 0x25, 0xff +}; + +const u8 gUnknown_845B6CE[] = { + 0x1f, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x2c, 0x09, 0x0d, 0x0e, 0x0f, 0x10, 0x0a, 0x0b, 0x0c, 0x11, 0xff +}; + +const u8 gUnknown_845B6E2[] = { + 0x09, 0x01, 0x02, 0x03, 0x0a, 0x28, 0xff +}; + +const u8 gUnknown_845B6E9[] = { + 0x02, 0x05, 0x06, 0x0a, 0x23, 0x24, 0x09, 0x25, 0xff +}; + +const u8 gUnknown_845B6F2[] = { + 0x1f, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x2c, 0x09, 0x0d, 0x0e, 0x0f, 0x10, 0x0a, 0x0b, 0x0c, 0x11, 0x14, 0xff +}; + +const u8 gUnknown_845B707[] = { + 0x09, 0x01, 0x02, 0x03, 0x0a, 0x28, 0xff +}; + +const u8 gUnknown_845B70E[] = { + 0x03, 0x07, 0x04, 0x05, 0x06, 0xff +}; + +const u8 gUnknown_845B714[] = { + 0x02, 0x05, 0x06, 0x0a, 0x23, 0x24, 0x09, 0x25, 0xff +}; + +const u8 gUnknown_845B71D[] = { + 0x1f, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x2c, 0x09, 0x0d, 0x0e, 0x0f, 0x10, 0x0a, 0x0b, 0x0c, 0x11, 0xff +}; + +const u8 gUnknown_845B731[] = { + 0x09, 0x01, 0x02, 0x03, 0x0a, 0x0c, 0x0e, 0x16, 0x17, 0x18, 0x15, 0xff +}; + +const u8 gUnknown_845B73D[] = { + 0x06, 0x0a, 0x23, 0x24, 0x09, 0x25, 0xff +}; + +const u8 gUnknown_845B744[] = { + 0x1f, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x2c, 0x09, 0x0d, 0x0e, 0x0f, 0x10, 0x0a, 0x0b, 0x0c, 0x11, 0xff +}; + +const u8 gUnknown_845B758[] = { + 0x09, 0x01, 0x02, 0x03, 0x0a, 0x15, 0xff +}; + +const u8 gUnknown_845B75F[] = { + 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0xff +}; + +const u8 gUnknown_845B783[] = { + 0x02, 0x0a, 0x04, 0x05, 0x06, 0x07, 0x0d, 0x27, 0x08, 0x0b, 0x21, 0x23, 0x24, 0x2c, 0x09, 0x0e, 0x16, 0x17, 0x0f, 0x10, 0x11, 0x1a, 0x15, 0x1f, 0x20, 0x12, 0x13, 0x14, 0x18, 0x19, 0x1b, 0x1e, 0x1c, 0x28, 0x25, 0xff +}; + +const u8 gUnknown_845B7A7[] = { + 0x1f, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x2c, 0x09, 0x0d, 0x0e, 0x0f, 0x10, 0x0a, 0x0b, 0x0c, 0x11, 0xff +}; + +const u8 gUnknown_845B7BB[] = { + 0x09, 0x01, 0x02, 0x0a, 0x0b, 0x0c, 0x0d, 0x15, 0xff +}; + +const u8 gUnknown_845B7C4[] = { + 0x02, 0x0a, 0x04, 0x05, 0x06, 0x07, 0x0d, 0x27, 0x08, 0x0b, 0x21, 0x23, 0x24, 0x2c, 0x09, 0x0e, 0x16, 0x17, 0x0f, 0x10, 0x11, 0x1a, 0x15, 0x1f, 0x20, 0x12, 0x13, 0x14, 0x18, 0x19, 0x1b, 0x1e, 0x1c, 0x28, 0x25, 0xff +}; + +const u8 gUnknown_845B7E8[] = { + 0x1f, 0x01, 0x02, 0x06, 0x0a, 0x0b, 0x0c, 0x11, 0xff +}; + +const u8 gUnknown_845B7F1[] = { + 0x09, 0x01, 0x02, 0x0a, 0x0b, 0x0c, 0x0d, 0x15, 0x28, 0xff +}; + +const u8 gUnknown_845B7FB[] = { + 0x0a, 0x07, 0x0d, 0x27, 0x08, 0x0b, 0x21, 0x23, 0x24, 0x2c, 0x09, 0x0e, 0x16, 0x0f, 0x10, 0x11, 0x1a, 0x15, 0x1f, 0x20, 0x12, 0x13, 0x14, 0x18, 0x19, 0x1b, 0x1e, 0x1c, 0x28, 0x25, 0xff +}; + +const u8 gUnknown_845B81A[] = { + 0x1f, 0x01, 0x02, 0x06, 0x0a, 0x0b, 0x0c, 0x11, 0xff +}; + +const u8 gUnknown_845B823[] = { + 0x09, 0x01, 0x02, 0x0a, 0x0b, 0x0c, 0x0d, 0x15, 0xff +}; + +const u8 gUnknown_845B82C[] = { + 0x07, 0x27, 0x08, 0x2c, 0x15, 0x1f, 0x20, 0x12, 0x13, 0x14, 0x18, 0x19, 0x1b, 0x1e, 0x1c, 0x28, 0x25, 0xff +}; + +const u8 gUnknown_845B83E[] = { + 0x1f, 0x01, 0x02, 0x06, 0x0a, 0x0b, 0x0c, 0x11, 0xff +}; + +const u8 gUnknown_845B847[] = { + 0x09, 0x01, 0x02, 0x0a, 0x0b, 0x0c, 0x0d, 0x15, 0xff +}; + +const u8 gUnknown_845B850[] = { + 0x0f, 0x1b, 0x1d, 0x11, 0x12, 0x15, 0x17, 0x16, 0x1f, 0x20, 0x13, 0x14, 0xff +}; + +const u8 gUnknown_845B85D[] = { + 0x20, 0x21, 0x22, 0x23, 0x24, 0x07, 0x09, 0x2b, 0xff +}; + +const u8 gUnknown_845B866[] = { + 0x09, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x0a, 0x0d, 0x0f, 0x12, 0x13, 0x14, 0x27, 0x15, 0xff +}; + +const u8 gUnknown_845B878[] = { + 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0xff +}; + +const u8 gUnknown_845B89C[] = { + 0x0f, 0x1b, 0x1d, 0x11, 0x12, 0x16, 0x1f, 0x20, 0x13, 0x14, 0xff +}; + +const u8 gUnknown_845B8A7[] = { + 0x20, 0x21, 0x22, 0x23, 0x24, 0x07, 0x2b, 0xff +}; + +const u8 gUnknown_845B8AF[] = { + 0x09, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x0a, 0x0d, 0x0f, 0x12, 0x13, 0x14, 0x27, 0x15, 0xff +}; + +const u8 gUnknown_845B8C1[] = { + 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0xff +}; + +const u8 gUnknown_845B8E5[] = { + 0x0f, 0x1b, 0x1d, 0x11, 0x12, 0x16, 0x1f, 0x20, 0x13, 0x14, 0xff +}; + +const u8 gUnknown_845B8F0[] = { + 0x20, 0x21, 0x22, 0x23, 0x24, 0x07, 0x2b, 0xff +}; + +const u8 gUnknown_845B8F8[] = { + 0x09, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x0a, 0x0d, 0x0f, 0x12, 0x13, 0x14, 0x27, 0x15, 0xff +}; + +const u8 gUnknown_845B90A[] = { + 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0xff +}; + +const u8 gUnknown_845B92E[] = { + 0x29, 0x2a, 0x2b, 0xff +}; + +const u8 gUnknown_845B932[] = { + 0x2d, 0x2e, 0x2f, 0x2b, 0xff +}; + +const u8 gUnknown_845B937[] = { + 0x09, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x0a, 0x0d, 0x0f, 0x12, 0x13, 0x14, 0xff +}; + +const u8 gUnknown_845B947[] = { + 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0xff +}; + +const u8 gUnknown_845B96B[] = { + 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x30, 0xff +}; + +const u8 gUnknown_845B978[] = { + 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x30, 0xff +}; + +const u8 gUnknown_845B985[] = { + 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x30, 0xff +}; + +const u8 gUnknown_845B992[] = { + 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x30, 0xff +}; + +const u8 gUnknown_845B99F[] = { + 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x30, 0xff +}; + +const u8 gUnknown_845B9AC[] = { + 0x26, 0x27, 0x28, 0x29, 0x2a, 0xff +}; + +const u8 gUnknown_845B9B2[] = { + 0x26, 0x27, 0x28, 0x29, 0x2a, 0xff +}; + +const u8 gUnknown_845B9B8[] = { + 0x26, 0x27, 0x28, 0x29, 0x2a, 0xff +}; + +const u8 gUnknown_845B9BE[] = { + 0x09, 0x01, 0x02, 0x03, 0x23, 0x25, 0x24, 0x04, 0x05, 0x06, 0x07, 0x08, 0x0a, 0x0b, 0x0c, 0x0d, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x27, 0x15, 0x26, 0x16, 0x17, 0x18, 0x1a, 0x0e, 0x1b, 0xff +}; + +const u8 *const gUnknown_845B9E0[] = { + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, gUnknown_845B660, NULL, + NULL, NULL, NULL, gUnknown_845B664, NULL, + NULL, gUnknown_845B668, NULL, gUnknown_845B66A, NULL, + NULL, gUnknown_845B66E, NULL, NULL, NULL, + NULL, gUnknown_845B671, gUnknown_845B677, NULL, NULL, + NULL, gUnknown_845B67A, gUnknown_845B67D, NULL, NULL, + NULL, NULL, gUnknown_845B684, NULL, NULL, + NULL, NULL, gUnknown_845B68E, NULL, NULL, + NULL, gUnknown_845B696, gUnknown_845B6A1, NULL, NULL, + NULL, gUnknown_845B6A5, gUnknown_845B6A7, NULL, NULL, + NULL, gUnknown_845B6AD, NULL, NULL, NULL, + NULL, gUnknown_845B6AF, gUnknown_845B6B1, NULL, NULL, + NULL, gUnknown_845B6B5, gUnknown_845B6B7, NULL, NULL, + gUnknown_845B6BF, NULL, NULL, gUnknown_845B6C3, NULL, + gUnknown_845B6C8, gUnknown_845B6CE, gUnknown_845B6E2, NULL, NULL, + gUnknown_845B6E9, gUnknown_845B6F2, gUnknown_845B707, gUnknown_845B70E, NULL, + gUnknown_845B714, gUnknown_845B71D, gUnknown_845B731, NULL, NULL, + gUnknown_845B73D, gUnknown_845B744, gUnknown_845B758, NULL, gUnknown_845B75F, + gUnknown_845B783, gUnknown_845B7A7, gUnknown_845B7BB, NULL, NULL, + gUnknown_845B7C4, gUnknown_845B7E8, gUnknown_845B7F1, NULL, NULL, + gUnknown_845B7FB, gUnknown_845B81A, gUnknown_845B823, NULL, NULL, + gUnknown_845B82C, gUnknown_845B83E, gUnknown_845B847, NULL, NULL, + gUnknown_845B850, gUnknown_845B85D, gUnknown_845B866, NULL, gUnknown_845B878, + gUnknown_845B89C, gUnknown_845B8A7, gUnknown_845B8AF, NULL, gUnknown_845B8C1, + gUnknown_845B8E5, gUnknown_845B8F0, gUnknown_845B8F8, NULL, gUnknown_845B90A, + gUnknown_845B92E, gUnknown_845B932, gUnknown_845B937, NULL, gUnknown_845B947, + NULL, gUnknown_845B96B, NULL, NULL, NULL, + NULL, gUnknown_845B978, NULL, NULL, NULL, + NULL, gUnknown_845B985, NULL, NULL, NULL, + NULL, gUnknown_845B992, NULL, NULL, NULL, + NULL, gUnknown_845B99F, NULL, NULL, NULL, + NULL, gUnknown_845B9AC, NULL, NULL, NULL, + NULL, gUnknown_845B9B2, NULL, NULL, NULL, + NULL, gUnknown_845B9B8, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL +}; + +const u16 unref_845BCB0[] = INCBIN_U16("graphics/help_system/unk_845BCB0.bin"); + +const u8 gUnknown_845C4B0[] = { + 3, 0, 1, 2, 4, 5 +}; + +const u8 gUnknown_845C4B6[][6] = { + {0, 0, 0, 0, 0, 1}, + {0, 0, 0, 1, 0, 1}, + {0, 0, 0, 1, 0, 1}, + {0, 1, 0, 1, 0, 1}, + {0, 1, 0, 0, 0, 1}, + {0, 1, 1, 0, 0, 1}, + {0, 1, 1, 0, 0, 1}, + {0, 0, 1, 0, 0, 1}, + {0, 0, 1, 0, 0, 1}, + {0, 1, 1, 0, 0, 1}, + {0, 1, 1, 0, 0, 1}, + {0, 1, 0, 0, 0, 1}, + {0, 1, 1, 0, 0, 1}, + {0, 1, 1, 0, 0, 1}, + {1, 0, 0, 1, 0, 1}, + {1, 1, 1, 0, 0, 1}, + {1, 1, 1, 1, 0, 1}, + {1, 1, 1, 0, 0, 1}, + {1, 1, 1, 0, 1, 1}, + {1, 1, 1, 0, 0, 1}, + {1, 1, 1, 0, 0, 1}, + {1, 1, 1, 0, 0, 1}, + {1, 1, 1, 0, 0, 1}, + {1, 1, 1, 0, 1, 1}, + {1, 1, 1, 0, 1, 1}, + {1, 1, 1, 0, 1, 1}, + {1, 1, 1, 0, 1, 1}, + {0, 1, 0, 0, 0, 1}, + {0, 1, 0, 0, 0, 1}, + {0, 1, 0, 0, 0, 1}, + {0, 1, 0, 0, 0, 1}, + {0, 1, 0, 0, 0, 1}, + {0, 1, 0, 0, 0, 1}, + {0, 1, 0, 0, 0, 1}, + {0, 1, 0, 0, 0, 1}, + {0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0} +}; + +const u16 gUnknown_845C594[] = { + MAP_VIRIDIAN_CITY_MART, + MAP_PEWTER_CITY_MART, + MAP_CERULEAN_CITY_MART, + MAP_LAVENDER_TOWN_MART, + MAP_VERMILION_CITY_MART, + MAP_CELADON_CITY_DEPARTMENT_STORE_1F, + MAP_CELADON_CITY_DEPARTMENT_STORE_2F, + MAP_CELADON_CITY_DEPARTMENT_STORE_3F, + MAP_CELADON_CITY_DEPARTMENT_STORE_4F, + MAP_CELADON_CITY_DEPARTMENT_STORE_5F, + MAP_CELADON_CITY_DEPARTMENT_STORE_ROOF, + MAP_CELADON_CITY_DEPARTMENT_STORE_ELEVATOR, + MAP_FUCHSIA_CITY_MART, + MAP_CINNABAR_ISLAND_MART, + MAP_SAFFRON_CITY_MART, + MAP_THREE_ISLAND_MART, + MAP_FOUR_ISLAND_MART, + MAP_SEVEN_ISLAND_MART, + MAP_SIX_ISLAND_MART, + MAP_UNDEFINED +}; + +const u16 gUnknown_845C5BC[] = { + MAP_PEWTER_CITY_GYM, + MAP_CERULEAN_CITY_GYM, + MAP_VERMILION_CITY_GYM, + MAP_CELADON_CITY_GYM, + MAP_FUCHSIA_CITY_GYM, + MAP_SAFFRON_CITY_GYM, + MAP_CINNABAR_ISLAND_GYM, + MAP_VIRIDIAN_CITY_GYM, + MAP_UNDEFINED +}; + +const u8 gUnknown_845C5CE[][3] = { + { MAP_GROUP(VIRIDIAN_FOREST), MAP_NUM(VIRIDIAN_FOREST), 1 }, + { MAP_GROUP(MT_MOON_1F), MAP_NUM(MT_MOON_1F), 3 }, + { MAP_GROUP(ROCK_TUNNEL_1F), MAP_NUM(ROCK_TUNNEL_1F), 2 }, + { MAP_GROUP(DIGLETTS_CAVE_NORTH_ENTRANCE), MAP_NUM(DIGLETTS_CAVE_NORTH_ENTRANCE), 3 }, + { MAP_GROUP(SEAFOAM_ISLANDS_1F), MAP_NUM(SEAFOAM_ISLANDS_1F), 5 }, + { MAP_GROUP(VICTORY_ROAD_1F), MAP_NUM(VICTORY_ROAD_1F), 3 }, + { MAP_GROUP(CERULEAN_CAVE_1F), MAP_NUM(CERULEAN_CAVE_1F), 3 }, + { MAP_GROUP(MT_EMBER_RUBY_PATH_B4F), MAP_NUM(MT_EMBER_RUBY_PATH_B4F), 1 }, + { MAP_GROUP(MT_EMBER_SUMMIT_PATH_1F), MAP_NUM(MT_EMBER_SUMMIT_PATH_1F), 3 }, + { MAP_GROUP(MT_EMBER_RUBY_PATH_B5F), MAP_NUM(MT_EMBER_RUBY_PATH_B5F), 7 }, + { MAP_GROUP(THREE_ISLAND_BERRY_FOREST), MAP_NUM(THREE_ISLAND_BERRY_FOREST), 1 }, + { MAP_GROUP(SIX_ISLAND_PATTERN_BUSH), MAP_NUM(SIX_ISLAND_PATTERN_BUSH), 1 }, + { MAP_GROUP(FIVE_ISLAND_LOST_CAVE_ENTRANCE), MAP_NUM(FIVE_ISLAND_LOST_CAVE_ENTRANCE), 15 }, + { MAP_GROUP(FOUR_ISLAND_ICEFALL_CAVE_ENTRANCE), MAP_NUM(FOUR_ISLAND_ICEFALL_CAVE_ENTRANCE), 4 }, + { MAP_GROUP(SIX_ISLAND_ALTERING_CAVE), MAP_NUM(SIX_ISLAND_ALTERING_CAVE), 1 }, + { MAP_GROUP(SEVEN_ISLAND_TANOBY_RUINS_MONEAN_CHAMBER), MAP_NUM(SEVEN_ISLAND_TANOBY_RUINS_MONEAN_CHAMBER), 7 } +}; void sub_812B1E0(u8 a0) { -- cgit v1.2.3 From 5f41304d75c6ea2091acc57a8cfb775fb376a784 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 12 Jun 2019 15:51:45 -0400 Subject: help_system_812B1E0: sub_812B780 --- asm/help_system_812B1E0.s | 364 ---------------------------------------------- src/help_system_812B1E0.c | 214 ++++++++++++++++++++++++++- 2 files changed, 213 insertions(+), 365 deletions(-) diff --git a/asm/help_system_812B1E0.s b/asm/help_system_812B1E0.s index c41eb680f..b396180be 100644 --- a/asm/help_system_812B1E0.s +++ b/asm/help_system_812B1E0.s @@ -5,370 +5,6 @@ .text - thumb_func_start sub_812B780 -sub_812B780: @ 812B780 - push {r4,r5,lr} - lsls r0, 24 - lsrs r1, r0, 24 - adds r5, r1, 0 - movs r4, 0 - ldr r0, _0812B7A8 @ =gUnknown_3005E9C - ldrb r0, [r0, 0x1] - cmp r0, 0 - beq _0812B794 - b _0812B8AC -_0812B794: - subs r0, r1, 0x1 - cmp r0, 0x2B - bls _0812B79C - b _0812BB04 -_0812B79C: - lsls r0, 2 - ldr r1, _0812B7AC @ =_0812B7B0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0812B7A8: .4byte gUnknown_3005E9C -_0812B7AC: .4byte _0812B7B0 - .align 2, 0 -_0812B7B0: - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812B860 - .4byte _0812BB08 - .4byte _0812B868 - .4byte _0812B870 - .4byte _0812BB08 - .4byte _0812B880 - .4byte _0812B868 - .4byte _0812B878 - .4byte _0812B890 - .4byte _0812B880 - .4byte _0812B880 - .4byte _0812B880 - .4byte _0812B868 - .4byte _0812B880 - .4byte _0812B880 - .4byte _0812B868 - .4byte _0812B880 - .4byte _0812B888 - .4byte _0812B868 - .4byte _0812B888 - .4byte _0812B878 - .4byte _0812B890 - .4byte _0812B880 - .4byte _0812B890 - .4byte _0812B896 - .4byte _0812B880 - .4byte _0812B890 - .4byte _0812B880 - .4byte _0812B890 - .4byte _0812B890 - .4byte _0812BB08 - .4byte _0812B868 - .4byte _0812B868 - .4byte _0812B880 - .4byte _0812BB08 - .4byte _0812B89C - .4byte _0812B896 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812B8A4 -_0812B860: - ldr r0, _0812B864 @ =0x000002cf - b _0812BAF2 - .align 2, 0 -_0812B864: .4byte 0x000002cf -_0812B868: - ldr r0, _0812B86C @ =0x00000891 - b _0812BAF2 - .align 2, 0 -_0812B86C: .4byte 0x00000891 -_0812B870: - ldr r0, _0812B874 @ =0x00000895 - b _0812BAF2 - .align 2, 0 -_0812B874: .4byte 0x00000895 -_0812B878: - ldr r0, _0812B87C @ =0x000008a4 - b _0812BAF2 - .align 2, 0 -_0812B87C: .4byte 0x000008a4 -_0812B880: - ldr r0, _0812B884 @ =0x00000828 - b _0812BAF2 - .align 2, 0 -_0812B884: .4byte 0x00000828 -_0812B888: - ldr r0, _0812B88C @ =0x00000829 - b _0812BAF2 - .align 2, 0 -_0812B88C: .4byte 0x00000829 -_0812B890: - movs r0, 0x82 - lsls r0, 4 - b _0812BAF2 -_0812B896: - bl sub_812BB10 - b _0812BAF6 -_0812B89C: - ldr r0, _0812B8A0 @ =0x0000029b - b _0812BAF2 - .align 2, 0 -_0812B8A0: .4byte 0x0000029b -_0812B8A4: - ldr r0, _0812B8A8 @ =0x00000892 - b _0812BAF2 - .align 2, 0 -_0812B8A8: .4byte 0x00000892 -_0812B8AC: - cmp r0, 0x1 - beq _0812B8B2 - b _0812B9D8 -_0812B8B2: - subs r0, r1, 0x1 - cmp r0, 0x2F - bls _0812B8BA - b _0812BB04 -_0812B8BA: - lsls r0, 2 - ldr r1, _0812B8C4 @ =_0812B8C8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0812B8C4: .4byte _0812B8C8 - .align 2, 0 -_0812B8C8: - .4byte _0812B988 - .4byte _0812B9A0 - .4byte _0812B9A0 - .4byte _0812B9A8 - .4byte _0812B9A0 - .4byte _0812BB08 - .4byte _0812B9A0 - .4byte _0812B9A0 - .4byte _0812B9A0 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812B9A0 - .4byte _0812B990 - .4byte _0812B9BA - .4byte _0812B9C0 - .4byte _0812B9C0 - .4byte _0812B9C6 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812B988 - .4byte _0812BB08 - .4byte _0812B9A0 - .4byte _0812B9A0 - .4byte _0812B9A8 - .4byte _0812B9A0 - .4byte _0812BB08 - .4byte _0812B988 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812B9A0 - .4byte _0812B9A0 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812B9D0 -_0812B988: - ldr r0, _0812B98C @ =0x00000829 - b _0812BAF2 - .align 2, 0 -_0812B98C: .4byte 0x00000829 -_0812B990: - ldr r0, _0812B99C @ =0x00000169 - movs r1, 0x1 - bl CheckBagHasItem - b _0812BAF6 - .align 2, 0 -_0812B99C: .4byte 0x00000169 -_0812B9A0: - ldr r0, _0812B9A4 @ =0x00000828 - b _0812BAF2 - .align 2, 0 -_0812B9A4: .4byte 0x00000828 -_0812B9A8: - movs r0, 0x1 - bl sub_8088EDC - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bls _0812B9B8 - b _0812BB08 -_0812B9B8: - b _0812BB04 -_0812B9BA: - movs r0, 0x82 - lsls r0, 4 - b _0812BAF2 -_0812B9C0: - bl sub_812BB10 - b _0812BAF6 -_0812B9C6: - ldr r0, _0812B9CC @ =0x00000271 - b _0812BAF2 - .align 2, 0 -_0812B9CC: .4byte 0x00000271 -_0812B9D0: - ldr r0, _0812B9D4 @ =0x0000082c - b _0812BAF2 - .align 2, 0 -_0812B9D4: .4byte 0x0000082c -_0812B9D8: - cmp r0, 0x2 - beq _0812B9DE - b _0812BADC -_0812B9DE: - bl sub_812B754 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0812BA0E - ldr r0, _0812BA20 @ =gUnknown_845B9BE - ldrb r1, [r0] - adds r2, r0, 0 - cmp r1, 0xFF - beq _0812BA0E - adds r1, r2, 0 -_0812B9F6: - adds r0, r4, r1 - ldrb r0, [r0] - cmp r0, r5 - bne _0812BA00 - b _0812BB04 -_0812BA00: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, r2 - ldrb r0, [r0] - cmp r0, 0xFF - bne _0812B9F6 -_0812BA0E: - subs r0, r5, 0x1 - cmp r0, 0x26 - bls _0812BA16 - b _0812BB08 -_0812BA16: - lsls r0, 2 - ldr r1, _0812BA24 @ =_0812BA28 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0812BA20: .4byte gUnknown_845B9BE -_0812BA24: .4byte _0812BA28 - .align 2, 0 -_0812BA28: - .4byte _0812BAC4 - .4byte _0812BAC4 - .4byte _0812BAD2 - .4byte _0812BAC4 - .4byte _0812BAC4 - .4byte _0812BAC4 - .4byte _0812BAC4 - .4byte _0812BAC4 - .4byte _0812BAC4 - .4byte _0812BAC4 - .4byte _0812BAC4 - .4byte _0812BAC4 - .4byte _0812BAC4 - .4byte _0812BB08 - .4byte _0812BAD2 - .4byte _0812BAC4 - .4byte _0812BB08 - .4byte _0812BAD2 - .4byte _0812BAC4 - .4byte _0812BAC4 - .4byte _0812BAC4 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812BB08 - .4byte _0812BACC - .4byte _0812BACC - .4byte _0812BB08 - .4byte _0812BAD2 -_0812BAC4: - ldr r0, _0812BAC8 @ =0x00000828 - b _0812BAF2 - .align 2, 0 -_0812BAC8: .4byte 0x00000828 -_0812BACC: - bl sub_812BB10 - b _0812BAF6 -_0812BAD2: - ldr r0, _0812BAD8 @ =0x000008a4 - b _0812BAF2 - .align 2, 0 -_0812BAD8: .4byte 0x000008a4 -_0812BADC: - cmp r0, 0x3 - bne _0812BB00 - cmp r5, 0x5 - beq _0812BAEA - cmp r5, 0x6 - beq _0812BAF0 - b _0812BB08 -_0812BAEA: - movs r0, 0x82 - lsls r0, 4 - b _0812BAF2 -_0812BAF0: - ldr r0, _0812BAFC @ =0x00000821 -_0812BAF2: - bl FlagGet -_0812BAF6: - lsls r0, 24 - lsrs r0, 24 - b _0812BB0A - .align 2, 0 -_0812BAFC: .4byte 0x00000821 -_0812BB00: - cmp r0, 0x4 - beq _0812BB08 -_0812BB04: - movs r0, 0 - b _0812BB0A -_0812BB08: - movs r0, 0x1 -_0812BB0A: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_812B780 - thumb_func_start sub_812BB10 sub_812BB10: @ 812BB10 push {lr} diff --git a/src/help_system_812B1E0.c b/src/help_system_812B1E0.c index c8cee9676..b04876c2a 100644 --- a/src/help_system_812B1E0.c +++ b/src/help_system_812B1E0.c @@ -3,12 +3,15 @@ #include "event_scripts.h" #include "field_player_avatar.h" #include "help_system.h" +#include "item.h" #include "link.h" #include "overworld.h" +#include "pokedex.h" #include "quest_log.h" #include "save.h" #include "save_location.h" #include "strings.h" +#include "constants/items.h" #include "constants/maps.h" EWRAM_DATA u16 gUnknown_203B0EC = 0; @@ -23,10 +26,10 @@ void sub_812B520(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) void sub_812B614(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); bool8 sub_812B754(void); bool8 sub_812B780(u8); +bool8 sub_812BB10(void); void sub_812BF9C(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); void sub_812BF74(const u8 *); -// this file const u8 *const gUnknown_845B080[] = { gUnknown_81B2DF8, gUnknown_81B2E1C, @@ -1122,3 +1125,212 @@ bool8 sub_812B754(void) return TRUE; return FALSE; } + +bool8 sub_812B780(u8 id) +{ + u8 i = 0; + + if (gUnknown_3005E9C[1] == 0) + { + switch (id) + { + case 1: + case 2: + case 3: + case 5: + case 8: + case 34: + case 38: + case 41: + case 42: + case 43: + return TRUE; + case 4: + return FlagGet(FLAG_0x2CF); + case 6: + case 10: + case 16: + case 19: + case 22: + case 35: + case 36: + return FlagGet(FLAG_WORLD_MAP_VIRIDIAN_CITY); + case 7: + return FlagGet(FLAG_WORLD_MAP_VERMILION_CITY); + case 11: + case 24: + return FlagGet(FLAG_0x8A4); + case 9: + case 13: + case 14: + case 15: + case 17: + case 18: + case 20: + case 26: + case 29: + case 31: + case 37: + return FlagGet(FLAG_0x828); + case 21: + case 23: + return FlagGet(FLAG_0x829); + case 12: + case 25: + case 27: + case 30: + case 32: + case 33: + return FlagGet(FLAG_UNK820); + case 28: + case 40: + return sub_812BB10(); + case 39: + return FlagGet(FLAG_0x29B); + case 44: + return FlagGet(FLAG_WORLD_MAP_PEWTER_CITY); + } + return FALSE; + } + if (gUnknown_3005E9C[1] == 1) + { + switch (id) + { + case 06: + case 10: + case 11: + case 12: + case 19: + case 20: + case 21: + case 22: + case 23: + case 24: + case 25: + case 26: + case 27: + case 28: + case 29: + case 31: + case 36: + case 38: + case 39: + case 40: + case 41: + case 42: + case 45: + case 46: + case 47: + return TRUE; + case 1: + case 30: + case 37: + return FlagGet(FLAG_0x829); + case 14: + return CheckBagHasItem(ITEM_TOWN_MAP, 1); + case 2: + case 3: + case 5: + case 7: + case 8: + case 9: + case 13: + case 32: + case 33: + case 35: + case 43: + case 44: + return FlagGet(FLAG_0x828); + case 4: + case 34: + if (sub_8088EDC(1) > 1) + return TRUE; + return FALSE; + case 15: + return FlagGet(FLAG_UNK820); + case 16: + case 17: + return sub_812BB10(); + case 18: + return FlagGet(FLAG_0x271); + case 48: + return FlagGet(FLAG_0x82C); + } + return FALSE; + } + if (gUnknown_3005E9C[1] == 2) + { + if (sub_812B754() == TRUE) + { + for (i = 0; gUnknown_845B9BE[i] != 0xFF; i++) + { + if (gUnknown_845B9BE[i] == id) + return FALSE; + } + } + switch (id) + { + case 14: + case 17: + case 22: + case 23: + case 24: + case 25: + case 26: + case 27: + case 28: + case 29: + case 30: + case 31: + case 32: + case 33: + case 34: + case 35: + case 38: + return TRUE; + case 1: + case 2: + case 4: + case 5: + case 6: + case 7: + case 8: + case 9: + case 10: + case 11: + case 12: + case 13: + case 16: + case 19: + case 20: + case 21: + return FlagGet(FLAG_0x828); + case 36: + case 37: + return sub_812BB10(); + case 3: + case 15: + case 18: + case 39: + return FlagGet(FLAG_0x8A4); + } + return TRUE; + } + if (gUnknown_3005E9C[1] == 3) + { + switch (id) + { + case 5: + return FlagGet(FLAG_UNK820); + case 6: + return FlagGet(FLAG_0x821); + } + return TRUE; + } + if (gUnknown_3005E9C[1] == 4) + { + return TRUE; + } + + return FALSE; +} -- cgit v1.2.3 From 85aeb8d476459da4615949e287294658c8e9e3c5 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 12 Jun 2019 16:43:34 -0400 Subject: help_system_812B1E0: through sub_812BDEC --- asm/help_system_812B1E0.s | 383 ---------------------------------------------- include/help_system.h | 5 + include/strings.h | 2 + src/help_system_812B1E0.c | 163 ++++++++++++++++++++ 4 files changed, 170 insertions(+), 383 deletions(-) diff --git a/asm/help_system_812B1E0.s b/asm/help_system_812B1E0.s index b396180be..7f2459190 100644 --- a/asm/help_system_812B1E0.s +++ b/asm/help_system_812B1E0.s @@ -5,389 +5,6 @@ .text - thumb_func_start sub_812BB10 -sub_812BB10: @ 812BB10 - push {lr} - ldr r0, _0812BB7C @ =0x00000237 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0812BB94 - movs r0, 0x8E - lsls r0, 2 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0812BB94 - ldr r0, _0812BB80 @ =0x00000239 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0812BB94 - ldr r0, _0812BB84 @ =0x0000023a - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0812BB94 - ldr r0, _0812BB88 @ =0x0000023b - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0812BB94 - ldr r0, _0812BB8C @ =0x000002ef - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0812BB94 - ldr r0, _0812BB90 @ =0x000001f1 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0812BB94 - movs r0, 0 - b _0812BB96 - .align 2, 0 -_0812BB7C: .4byte 0x00000237 -_0812BB80: .4byte 0x00000239 -_0812BB84: .4byte 0x0000023a -_0812BB88: .4byte 0x0000023b -_0812BB8C: .4byte 0x000002ef -_0812BB90: .4byte 0x000001f1 -_0812BB94: - movs r0, 0x1 -_0812BB96: - pop {r1} - bx r1 - thumb_func_end sub_812BB10 - - thumb_func_start sub_812BB9C -sub_812BB9C: @ 812BB9C - push {lr} - adds r2, r0, 0 - adds r3, r1, 0 - ldrb r0, [r2, 0xE] - cmp r0, 0xA - bhi _0812BC4C - lsls r0, 2 - ldr r1, _0812BBB4 @ =_0812BBB8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0812BBB4: .4byte _0812BBB8 - .align 2, 0 -_0812BBB8: - .4byte _0812BC02 - .4byte _0812BC0C - .4byte _0812BC16 - .4byte _0812BC20 - .4byte _0812BC2A - .4byte _0812BC34 - .4byte _0812BC3E - .4byte _0812BC4C - .4byte _0812BBE4 - .4byte _0812BBEE - .4byte _0812BBF8 -_0812BBE4: - adds r0, r2, 0 - adds r1, r3, 0 - bl sub_812BC54 - b _0812BC46 -_0812BBEE: - adds r0, r2, 0 - adds r1, r3, 0 - bl sub_812BC80 - b _0812BC46 -_0812BBF8: - adds r0, r2, 0 - adds r1, r3, 0 - bl sub_812BCA8 - b _0812BC46 -_0812BC02: - adds r0, r2, 0 - adds r1, r3, 0 - bl sub_812BCD0 - b _0812BC46 -_0812BC0C: - adds r0, r2, 0 - adds r1, r3, 0 - bl sub_812BD2C - b _0812BC46 -_0812BC16: - adds r0, r2, 0 - adds r1, r3, 0 - bl sub_812BD64 - b _0812BC46 -_0812BC20: - adds r0, r2, 0 - adds r1, r3, 0 - bl sub_812BD98 - b _0812BC46 -_0812BC2A: - adds r0, r2, 0 - adds r1, r3, 0 - bl sub_812BE10 - b _0812BC46 -_0812BC34: - adds r0, r2, 0 - adds r1, r3, 0 - bl sub_812BEEC - b _0812BC46 -_0812BC3E: - adds r0, r2, 0 - adds r1, r3, 0 - bl sub_812BF18 -_0812BC46: - lsls r0, 24 - lsrs r0, 24 - b _0812BC4E -_0812BC4C: - movs r0, 0 -_0812BC4E: - pop {r1} - bx r1 - thumb_func_end sub_812BB9C - - thumb_func_start sub_812BC54 -sub_812BC54: @ 812BC54 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _0812BC7C @ =gUnknown_841DFA5 - bl sub_812BF74 - bl sub_812BF5C - movs r0, 0x1 - bl sub_813BDA4 - movs r0, 0x1 - bl sub_813BD5C - movs r0, 0x9 - strb r0, [r4, 0xE] - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0812BC7C: .4byte gUnknown_841DFA5 - thumb_func_end sub_812BC54 - - thumb_func_start sub_812BC80 -sub_812BC80: @ 812BC80 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _0812BCA4 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0812BC9A - movs r0, 0x5 - bl PlaySE - movs r0, 0xA - strb r0, [r4, 0xE] -_0812BC9A: - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0812BCA4: .4byte gMain - thumb_func_end sub_812BC80 - - thumb_func_start sub_812BCA8 -sub_812BCA8: @ 812BCA8 - push {r4-r6,lr} - adds r4, r0, 0 - adds r6, r1, 0 - ldr r0, _0812BCCC @ =gUnknown_3005E9C - movs r5, 0 - strb r5, [r0, 0x2] - adds r0, r4, 0 - bl sub_812BF94 - adds r0, r4, 0 - adds r1, r6, 0 - bl sub_812B4D8 - strb r5, [r4, 0xE] - movs r0, 0x1 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0812BCCC: .4byte gUnknown_3005E9C - thumb_func_end sub_812BCA8 - - thumb_func_start sub_812BCD0 -sub_812BCD0: @ 812BCD0 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl sub_813C690 - adds r1, r0, 0 - adds r0, r1, 0x6 - cmp r0, 0x5 - bhi _0812BD16 - lsls r0, 2 - ldr r1, _0812BCEC @ =_0812BCF0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0812BCEC: .4byte _0812BCF0 - .align 2, 0 -_0812BCF0: - .4byte _0812BD08 - .4byte _0812BD0C - .4byte _0812BD0C - .4byte _0812BD1E - .4byte _0812BD08 - .4byte _0812BD1E -_0812BD08: - movs r0, 0 - b _0812BD20 -_0812BD0C: - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_812BF9C - b _0812BD1E -_0812BD16: - ldr r0, _0812BD28 @ =gUnknown_3005E9C - strb r1, [r0, 0x1] - movs r0, 0x1 - strb r0, [r4, 0xE] -_0812BD1E: - movs r0, 0x1 -_0812BD20: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0812BD28: .4byte gUnknown_3005E9C - thumb_func_end sub_812BCD0 - - thumb_func_start sub_812BD2C -sub_812BD2C: @ 812BD2C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldr r1, _0812BD60 @ =gUnknown_3005E9C - movs r0, 0x1 - strb r0, [r1] - ldrb r0, [r4, 0xD] - strb r0, [r1, 0x2] - adds r0, r4, 0 - bl sub_812BF94 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_812B5A8 - bl sub_813C75C - movs r0, 0x2 - bl sub_813C684 - movs r0, 0x3 - strb r0, [r4, 0xE] - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0812BD60: .4byte gUnknown_3005E9C - thumb_func_end sub_812BD2C - - thumb_func_start sub_812BD64 -sub_812BD64: @ 812BD64 - push {r4-r6,lr} - adds r5, r0, 0 - adds r6, r1, 0 - movs r0, 0 - movs r1, 0 - bl sub_813C004 - movs r0, 0x1 - movs r1, 0 - bl sub_813C004 - ldr r0, _0812BD94 @ =gUnknown_3005E9C - movs r4, 0 - strb r4, [r0] - adds r0, r5, 0 - adds r1, r6, 0 - bl sub_812B4D8 - strb r4, [r5, 0xE] - movs r0, 0x1 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0812BD94: .4byte gUnknown_3005E9C - thumb_func_end sub_812BD64 - - thumb_func_start sub_812BD98 -sub_812BD98: @ 812BD98 - push {r4,lr} - adds r4, r0, 0 - bl sub_813C690 - adds r1, r0, 0 - adds r0, r1, 0x6 - cmp r0, 0x5 - bhi _0812BDD8 - lsls r0, 2 - ldr r1, _0812BDB4 @ =_0812BDB8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0812BDB4: .4byte _0812BDB8 - .align 2, 0 -_0812BDB8: - .4byte _0812BDD0 - .4byte _0812BDE0 - .4byte _0812BDE0 - .4byte _0812BDE0 - .4byte _0812BDD4 - .4byte _0812BDE0 -_0812BDD0: - movs r0, 0 - b _0812BDE2 -_0812BDD4: - movs r0, 0x2 - b _0812BDDE -_0812BDD8: - ldr r0, _0812BDE8 @ =gUnknown_3005E9C - strb r1, [r0, 0x3] - movs r0, 0x4 -_0812BDDE: - strb r0, [r4, 0xE] -_0812BDE0: - movs r0, 0x1 -_0812BDE2: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0812BDE8: .4byte gUnknown_3005E9C - thumb_func_end sub_812BD98 - - thumb_func_start sub_812BDEC -sub_812BDEC: @ 812BDEC - push {lr} - ldr r1, _0812BE08 @ =gUnknown_845B080 - ldr r0, _0812BE0C @ =gUnknown_3005E9C - ldrb r0, [r0, 0x1] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0 - movs r2, 0 - bl sub_813C4CC - pop {r0} - bx r0 - .align 2, 0 -_0812BE08: .4byte gUnknown_845B080 -_0812BE0C: .4byte gUnknown_3005E9C - thumb_func_end sub_812BDEC - thumb_func_start sub_812BE10 sub_812BE10: @ 812BE10 push {r4,r5,lr} diff --git a/include/help_system.h b/include/help_system.h index f9aaba907..2f82c4cf0 100644 --- a/include/help_system.h +++ b/include/help_system.h @@ -18,6 +18,7 @@ struct HelpSystemStruct_203F190 struct HelpSystemStruct_203F190_sub sub; u8 field_0C; u8 field_0D; + u8 field_0E; u8 filler_10[0xC]; }; @@ -37,5 +38,9 @@ void sub_813BD5C(u8); void sub_813BDE8(u8); void sub_813BFC0(u8); void sub_813BE78(u8); +s32 sub_813C690(void); +void sub_813C75C(void); +void sub_813C684(u8); +void sub_813C004(u8, u8); #endif //GUARD_HELP_SYSTEM_H diff --git a/include/strings.h b/include/strings.h index 1e3d4c39b..6cc6b93c1 100644 --- a/include/strings.h +++ b/include/strings.h @@ -137,7 +137,9 @@ extern const u8 gTeachyTvText_TMsScript2[]; extern const u8 gTeachyTvText_RegisterScript2[]; // help_system_812B1E0 +extern const u8 gUnknown_841DFA5[]; extern const u8 gUnknown_841DFAC[]; +extern const u8 gUnknown_841DFBE[]; extern const u8 gUnknown_841DFC9[]; #endif //GUARD_STRINGS_H diff --git a/src/help_system_812B1E0.c b/src/help_system_812B1E0.c index b04876c2a..5ac571e26 100644 --- a/src/help_system_812B1E0.c +++ b/src/help_system_812B1E0.c @@ -10,9 +10,11 @@ #include "quest_log.h" #include "save.h" #include "save_location.h" +#include "sound.h" #include "strings.h" #include "constants/items.h" #include "constants/maps.h" +#include "constants/songs.h" EWRAM_DATA u16 gUnknown_203B0EC = 0; EWRAM_DATA u8 gUnknown_203B0EE = 0; @@ -27,8 +29,20 @@ void sub_812B614(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) bool8 sub_812B754(void); bool8 sub_812B780(u8); bool8 sub_812BB10(void); +bool8 sub_812BC54(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); +bool8 sub_812BC80(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); +bool8 sub_812BCA8(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); +bool8 sub_812BCD0(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); +bool8 sub_812BD2C(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); +bool8 sub_812BD64(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); +bool8 sub_812BD98(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); +bool8 sub_812BE10(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); +bool8 sub_812BEEC(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); +bool8 sub_812BF18(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); void sub_812BF9C(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); +void sub_812BF5C(void); void sub_812BF74(const u8 *); +void sub_812BF94(struct HelpSystemStruct_203F190 * a0); const u8 *const gUnknown_845B080[] = { gUnknown_81B2DF8, @@ -1334,3 +1348,152 @@ bool8 sub_812B780(u8 id) return FALSE; } + +bool8 sub_812BB10(void) +{ + if (FlagGet(FLAG_0x237) == TRUE) + return TRUE; + if (FlagGet(FLAG_0x238) == TRUE) + return TRUE; + if (FlagGet(FLAG_0x239) == TRUE) + return TRUE; + if (FlagGet(FLAG_0x23A) == TRUE) + return TRUE; + if (FlagGet(FLAG_0x23B) == TRUE) + return TRUE; + if (FlagGet(FLAG_0x2EF) == TRUE) + return TRUE; + if (FlagGet(FLAG_0x1F1) == TRUE) + return TRUE; + return FALSE; +} + +bool8 sub_812BB9C(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) +{ + switch (a0->field_0E) + { + case 8: + return sub_812BC54(a0, a1); + case 9: + return sub_812BC80(a0, a1); + case 10: + return sub_812BCA8(a0, a1); + case 0: + return sub_812BCD0(a0, a1); + case 1: + return sub_812BD2C(a0, a1); + case 2: + return sub_812BD64(a0, a1); + case 3: + return sub_812BD98(a0, a1); + case 4: + return sub_812BE10(a0, a1); + case 5: + return sub_812BEEC(a0, a1); + case 6: + return sub_812BF18(a0, a1); + } + return FALSE; +} + +bool8 sub_812BC54(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) +{ + sub_812BF74(gUnknown_841DFA5); + sub_812BF5C(); + sub_813BDA4(1); + sub_813BD5C(1); + a0->field_0E = 9; + return TRUE; +} + +bool8 sub_812BC80(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) +{ + if (JOY_NEW(A_BUTTON)) + { + PlaySE(SE_SELECT); + a0->field_0E = 10; + } + return TRUE; +} + +bool8 sub_812BCA8(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) +{ + gUnknown_3005E9C[2] = 0; + sub_812BF94(a0); + sub_812B4D8(a0, a1); + a0->field_0E = 0; + return TRUE; +} + +bool8 sub_812BCD0(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) +{ + s32 v0 = sub_813C690(); + switch (v0) + { + case -6: + case -2: + return FALSE; + case -5: + case -4: + sub_812BF9C(a0, a1); + break; + case -3: + case -1: + break; + default: + gUnknown_3005E9C[1] = v0; + a0->field_0E = 1; + break; + } + return TRUE; +} + +bool8 sub_812BD2C(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) +{ + gUnknown_3005E9C[0] = 1; + gUnknown_3005E9C[2] = a0->field_0D; + sub_812BF94(a0); + sub_812B5A8(a0, a1); + sub_813C75C(); + sub_813C684(2); + a0->field_0E = 3; + return TRUE; +} + +bool8 sub_812BD64(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) +{ + sub_813C004(0, 0); + sub_813C004(1, 0); + gUnknown_3005E9C[0] = 0; + sub_812B4D8(a0, a1); + a0->field_0E = 0; + return TRUE; +} + +bool8 sub_812BD98(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) +{ + s32 v0 = sub_813C690(); + switch (v0) + { + case -6: + return FALSE; + case -2: + a0->field_0E = 2; + break; + case -5: + case -4: + case -3: + case -1: + break; + default: + gUnknown_3005E9C[3] = v0; + a0->field_0E = 4; + break; + } + return TRUE; +} + +void sub_812BDEC(void) +{ + sub_813C4CC(gUnknown_845B080[gUnknown_3005E9C[1]], 0, 0); +} \ No newline at end of file -- cgit v1.2.3 From 63defaa95f88bf4e296eb9f9b4be64bf847f9157 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 12 Jun 2019 17:08:46 -0400 Subject: Finish help_system_812B1E0 decomp --- asm/help_system_812B1E0.s | 246 ---------------------------------------------- include/help_system.h | 7 ++ ld_script.txt | 1 - src/help_system_812B1E0.c | 95 +++++++++++++++++- 4 files changed, 100 insertions(+), 249 deletions(-) delete mode 100644 asm/help_system_812B1E0.s diff --git a/asm/help_system_812B1E0.s b/asm/help_system_812B1E0.s deleted file mode 100644 index 7f2459190..000000000 --- a/asm/help_system_812B1E0.s +++ /dev/null @@ -1,246 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_812BE10 -sub_812BE10: @ 812BE10 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, _0812BE4C @ =gUnknown_3005E9C - movs r0, 0x2 - strb r0, [r4] - movs r0, 0 - bl sub_813BDA4 - bl sub_813C624 - ldr r0, _0812BE50 @ =gUnknown_841DFBE - bl sub_812BF74 - movs r0, 0x1 - bl sub_813BDE8 - movs r0, 0x1 - bl sub_813BEE4 - ldrb r0, [r4, 0x1] - cmp r0, 0 - bne _0812BE5C - ldr r0, _0812BE54 @ =gUnknown_845B0B0 - ldrb r1, [r4, 0x3] - lsls r1, 2 - adds r0, r1, r0 - ldr r0, [r0] - ldr r2, _0812BE58 @ =gUnknown_845B164 - b _0812BEA4 - .align 2, 0 -_0812BE4C: .4byte gUnknown_3005E9C -_0812BE50: .4byte gUnknown_841DFBE -_0812BE54: .4byte gUnknown_845B0B0 -_0812BE58: .4byte gUnknown_845B164 -_0812BE5C: - cmp r0, 0x1 - bne _0812BE78 - ldr r0, _0812BE70 @ =gUnknown_845B218 - ldrb r1, [r4, 0x3] - lsls r1, 2 - adds r0, r1, r0 - ldr r0, [r0] - ldr r2, _0812BE74 @ =gUnknown_845B2DC - b _0812BEA4 - .align 2, 0 -_0812BE70: .4byte gUnknown_845B218 -_0812BE74: .4byte gUnknown_845B2DC -_0812BE78: - cmp r0, 0x2 - bne _0812BE94 - ldr r0, _0812BE8C @ =gUnknown_845B3A0 - ldrb r1, [r4, 0x3] - lsls r1, 2 - adds r0, r1, r0 - ldr r0, [r0] - ldr r2, _0812BE90 @ =gUnknown_845B450 - b _0812BEA4 - .align 2, 0 -_0812BE8C: .4byte gUnknown_845B3A0 -_0812BE90: .4byte gUnknown_845B450 -_0812BE94: - cmp r0, 0x3 - bne _0812BEB8 - ldr r0, _0812BEB0 @ =gUnknown_845B500 - ldrb r1, [r4, 0x3] - lsls r1, 2 - adds r0, r1, r0 - ldr r0, [r0] - ldr r2, _0812BEB4 @ =gUnknown_845B520 -_0812BEA4: - adds r1, r2 - ldr r1, [r1] - bl sub_813C50C - b _0812BECC - .align 2, 0 -_0812BEB0: .4byte gUnknown_845B500 -_0812BEB4: .4byte gUnknown_845B520 -_0812BEB8: - ldr r0, _0812BEE4 @ =gUnknown_845B540 - ldrb r1, [r4, 0x3] - lsls r1, 2 - adds r0, r1, r0 - ldr r0, [r0] - ldr r2, _0812BEE8 @ =gUnknown_845B5D0 - adds r1, r2 - ldr r1, [r1] - bl sub_813C50C -_0812BECC: - movs r0, 0x1 - bl sub_813BDA4 - movs r0, 0x1 - bl sub_813BD5C - movs r0, 0x6 - strb r0, [r5, 0xE] - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0812BEE4: .4byte gUnknown_845B540 -_0812BEE8: .4byte gUnknown_845B5D0 - thumb_func_end sub_812BE10 - - thumb_func_start sub_812BEEC -sub_812BEEC: @ 812BEEC - push {r4,lr} - adds r4, r0, 0 - ldr r2, _0812BF14 @ =gUnknown_3005E9C - movs r0, 0x1 - strb r0, [r2] - adds r0, r4, 0 - bl sub_812B5A8 - bl sub_813C75C - movs r0, 0x2 - bl sub_813C684 - movs r0, 0x3 - strb r0, [r4, 0xE] - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0812BF14: .4byte gUnknown_3005E9C - thumb_func_end sub_812BEEC - - thumb_func_start sub_812BF18 -sub_812BF18: @ 812BF18 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _0812BF40 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _0812BF30 - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0812BF44 -_0812BF30: - movs r0, 0x5 - bl PlaySE - movs r0, 0x5 - strb r0, [r4, 0xE] - movs r0, 0x1 - b _0812BF54 - .align 2, 0 -_0812BF40: .4byte gMain -_0812BF44: - movs r0, 0xC0 - lsls r0, 2 - ands r0, r1 - cmp r0, 0 - bne _0812BF52 - movs r0, 0x1 - b _0812BF54 -_0812BF52: - movs r0, 0 -_0812BF54: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_812BF18 - - thumb_func_start sub_812BF5C -sub_812BF5C: @ 812BF5C - push {lr} - bl sub_813C624 - ldr r0, _0812BF70 @ =gUnknown_81B2FC9 - movs r1, 0 - movs r2, 0 - bl sub_813C4CC - pop {r0} - bx r0 - .align 2, 0 -_0812BF70: .4byte gUnknown_81B2FC9 - thumb_func_end sub_812BF5C - - thumb_func_start sub_812BF74 -sub_812BF74: @ 812BF74 - push {r4,lr} - adds r4, r0, 0 - bl sub_813C5FC - adds r0, r4, 0 - bl sub_813C488 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_812BF74 - - thumb_func_start sub_812BF88 -sub_812BF88: @ 812BF88 - ldr r0, _0812BF90 @ =gUnknown_3005E9C - ldrb r0, [r0] - bx lr - .align 2, 0 -_0812BF90: .4byte gUnknown_3005E9C - thumb_func_end sub_812BF88 - - thumb_func_start sub_812BF94 -sub_812BF94: @ 812BF94 - movs r1, 0 - strb r1, [r0, 0xC] - strb r1, [r0, 0xD] - bx lr - thumb_func_end sub_812BF94 - - thumb_func_start sub_812BF9C -sub_812BF9C: @ 812BF9C - push {lr} - ldrb r2, [r0, 0xC] - ldrb r0, [r0, 0xD] - adds r2, r0 - lsls r2, 3 - adds r2, r1 - ldr r1, [r2, 0x4] - movs r0, 0x2 - negs r0, r0 - cmp r1, r0 - bne _0812BFC0 - ldr r0, _0812BFBC @ =gUnknown_845B098 - ldr r0, [r0, 0x14] - bl sub_813C584 - b _0812BFCC - .align 2, 0 -_0812BFBC: .4byte gUnknown_845B098 -_0812BFC0: - ldr r0, _0812BFD8 @ =gUnknown_845B098 - lsls r1, 2 - adds r1, r0 - ldr r0, [r1] - bl sub_813C584 -_0812BFCC: - movs r0, 0x1 - bl sub_813BE30 - pop {r0} - bx r0 - .align 2, 0 -_0812BFD8: .4byte gUnknown_845B098 - thumb_func_end sub_812BF9C - - .align 2, 0 @ Don't pad with nop. diff --git a/include/help_system.h b/include/help_system.h index 2f82c4cf0..1c8fb643e 100644 --- a/include/help_system.h +++ b/include/help_system.h @@ -42,5 +42,12 @@ s32 sub_813C690(void); void sub_813C75C(void); void sub_813C684(u8); void sub_813C004(u8, u8); +void sub_813C50C(const u8 *a0, const u8 *a1); +void sub_813BEE4(u8); +void sub_813C624(void); +void sub_813C5FC(void); +void sub_813C488(const u8 *str); +void sub_813C584(const u8 *str); +void sub_813BE30(u8); #endif //GUARD_HELP_SYSTEM_H diff --git a/ld_script.txt b/ld_script.txt index 196e0163f..5abc25e98 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -240,7 +240,6 @@ SECTIONS { asm/party_menu.o(.text); asm/union_room_chat.o(.text); src/help_system_812B1E0.o(.text); - asm/help_system_812B1E0.o(.text); src/quest_log_battle.o(.text); src/fame_checker.o(.text); src/menu2.o(.text); diff --git a/src/help_system_812B1E0.c b/src/help_system_812B1E0.c index 5ac571e26..1626ee660 100644 --- a/src/help_system_812B1E0.c +++ b/src/help_system_812B1E0.c @@ -39,10 +39,10 @@ bool8 sub_812BD98(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1 bool8 sub_812BE10(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); bool8 sub_812BEEC(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); bool8 sub_812BF18(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); -void sub_812BF9C(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); void sub_812BF5C(void); void sub_812BF74(const u8 *); void sub_812BF94(struct HelpSystemStruct_203F190 * a0); +void sub_812BF9C(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); const u8 *const gUnknown_845B080[] = { gUnknown_81B2DF8, @@ -1496,4 +1496,95 @@ bool8 sub_812BD98(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1 void sub_812BDEC(void) { sub_813C4CC(gUnknown_845B080[gUnknown_3005E9C[1]], 0, 0); -} \ No newline at end of file +} + +bool8 sub_812BE10(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) +{ + gUnknown_3005E9C[0] = 2; + sub_813BDA4(0); + sub_813C624(); + sub_812BF74(gUnknown_841DFBE); + sub_813BDE8(1); + sub_813BEE4(1); + + if (gUnknown_3005E9C[1] == 0) + { + sub_813C50C(gUnknown_845B0B0[gUnknown_3005E9C[3]], gUnknown_845B164[gUnknown_3005E9C[3]]); + } + else if (gUnknown_3005E9C[1] == 1) + { + sub_813C50C(gUnknown_845B218[gUnknown_3005E9C[3]], gUnknown_845B2DC[gUnknown_3005E9C[3]]); + } + else if (gUnknown_3005E9C[1] == 2) + { + sub_813C50C(gUnknown_845B3A0[gUnknown_3005E9C[3]], gUnknown_845B450[gUnknown_3005E9C[3]]); + } + else if (gUnknown_3005E9C[1] == 3) + { + sub_813C50C(gUnknown_845B500[gUnknown_3005E9C[3]], gUnknown_845B520[gUnknown_3005E9C[3]]); + } + else + { + sub_813C50C(gUnknown_845B540[gUnknown_3005E9C[3]], gUnknown_845B5D0[gUnknown_3005E9C[3]]); + } + sub_813BDA4(1); + sub_813BD5C(1); + a0->field_0E = 6; + return TRUE; +} + +bool8 sub_812BEEC(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) +{ + gUnknown_3005E9C[0] = 1; + sub_812B5A8(a0, a1); + sub_813C75C(); + sub_813C684(2); + a0->field_0E = 3; + return TRUE; +} + +bool8 sub_812BF18(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) +{ + if (JOY_NEW(B_BUTTON) || JOY_NEW(A_BUTTON)) + { + PlaySE(SE_SELECT); + a0->field_0E = 5; + return TRUE; + } + if (JOY_NEW(L_BUTTON | R_BUTTON)) + return FALSE; + return TRUE; +} + +void sub_812BF5C(void) +{ + sub_813C624(); + sub_813C4CC(gUnknown_81B2FC9, 0, 0); +} + +void sub_812BF74(const u8 * str) +{ + sub_813C5FC(); + sub_813C488(str); +} + +u8 sub_812BF88(void) +{ + return gUnknown_3005E9C[0]; +} + +void sub_812BF94(struct HelpSystemStruct_203F190 * a0) +{ + a0->field_0C = 0; + a0->field_0D = 0; +} + +void sub_812BF9C(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) +{ + s32 index = a1[a0->field_0C + a0->field_0D].index; + if (index == -2) + sub_813C584(gUnknown_845B098[5]); + else + sub_813C584(gUnknown_845B098[index]); + sub_813BE30(1); +} -- cgit v1.2.3 From c993f5db4e0ab8052875ab80f980d4100b809764 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 12 Jun 2019 17:25:36 -0400 Subject: A little bit of cleanup --- include/help_system.h | 11 ++ src/help_system_812B1E0.c | 254 ++++++++++++++++++++++------------------------ 2 files changed, 133 insertions(+), 132 deletions(-) diff --git a/include/help_system.h b/include/help_system.h index 1c8fb643e..1f8b7bbbb 100644 --- a/include/help_system.h +++ b/include/help_system.h @@ -29,8 +29,19 @@ extern u8 gUnknown_203F175; void sub_812B1E0(u8); void sub_812B484(void); +void sub_812B4B8(void); void HelpSystem_SetSomeVariable2(u8); void sub_812B478(void); +bool8 sub_812BC54(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); +bool8 sub_812BC80(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); +bool8 sub_812BCA8(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); +bool8 sub_812BCD0(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); +bool8 sub_812BD2C(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); +bool8 sub_812BD64(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); +bool8 sub_812BD98(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); +bool8 sub_812BE10(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); +bool8 sub_812BEEC(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); +bool8 sub_812BF18(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); void sub_813C64C(struct HelpSystemStruct_203F190 *, u8, u8); void sub_813C4CC(const u8 *, u8, u8); void sub_813BDA4(u8); diff --git a/src/help_system_812B1E0.c b/src/help_system_812B1E0.c index 1626ee660..1356db7d0 100644 --- a/src/help_system_812B1E0.c +++ b/src/help_system_812B1E0.c @@ -16,35 +16,25 @@ #include "constants/maps.h" #include "constants/songs.h" -EWRAM_DATA u16 gUnknown_203B0EC = 0; -EWRAM_DATA u8 gUnknown_203B0EE = 0; +static EWRAM_DATA u16 gUnknown_203B0EC = 0; +static EWRAM_DATA u8 gUnknown_203B0EE = 0; u8 gUnknown_3005E9C[4]; u16 gUnknown_3005EA0; -bool32 sub_812B27C(const u16 * mapIdxs); -void sub_812B4B8(void); -void sub_812B520(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); -void sub_812B614(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); -bool8 sub_812B754(void); -bool8 sub_812B780(u8); -bool8 sub_812BB10(void); -bool8 sub_812BC54(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); -bool8 sub_812BC80(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); -bool8 sub_812BCA8(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); -bool8 sub_812BCD0(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); -bool8 sub_812BD2C(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); -bool8 sub_812BD64(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); -bool8 sub_812BD98(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); -bool8 sub_812BE10(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); -bool8 sub_812BEEC(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); -bool8 sub_812BF18(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); -void sub_812BF5C(void); -void sub_812BF74(const u8 *); -void sub_812BF94(struct HelpSystemStruct_203F190 * a0); -void sub_812BF9C(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); - -const u8 *const gUnknown_845B080[] = { +static bool32 sub_812B27C(const u16 * mapIdxs); +static void sub_812B520(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); +static void sub_812B614(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); +static bool8 sub_812B754(void); +static bool8 sub_812B780(u8); +static bool8 sub_812BB10(void); + +static void sub_812BF5C(void); +static void sub_812BF74(const u8 *); +static void sub_812BF94(struct HelpSystemStruct_203F190 * a0); +static void sub_812BF9C(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); + +static const u8 *const gUnknown_845B080[] = { gUnknown_81B2DF8, gUnknown_81B2E1C, gUnknown_81B2E2E, @@ -53,7 +43,7 @@ const u8 *const gUnknown_845B080[] = { gUnknown_81B2E6A }; -const u8 *const gUnknown_845B098[] = { +static const u8 *const gUnknown_845B098[] = { gUnknown_81B2E88, gUnknown_81B2EC8, gUnknown_81B2F00, @@ -62,7 +52,7 @@ const u8 *const gUnknown_845B098[] = { gUnknown_81B2FA9 }; -const u8 *const gUnknown_845B0B0[] = { +static const u8 *const gUnknown_845B0B0[] = { NULL, gUnknown_81B3083, gUnknown_81B30A9, @@ -110,7 +100,7 @@ const u8 *const gUnknown_845B0B0[] = { gUnknown_81B3516 }; -const u8 *const gUnknown_845B164[] = { +static const u8 *const gUnknown_845B164[] = { NULL, gUnknown_81B3525, gUnknown_81B35E6, @@ -158,7 +148,7 @@ const u8 *const gUnknown_845B164[] = { gUnknown_81B55F4 }; -const u8 *const gUnknown_845B218[] = { +static const u8 *const gUnknown_845B218[] = { NULL, gUnknown_81B56E3, gUnknown_81B56F4, @@ -210,7 +200,7 @@ const u8 *const gUnknown_845B218[] = { gUnknown_81B5A37 }; -const u8 *const gUnknown_845B2DC[] = { +static const u8 *const gUnknown_845B2DC[] = { NULL, gUnknown_81B5A4D, gUnknown_81B5B0C, @@ -262,7 +252,7 @@ const u8 *const gUnknown_845B2DC[] = { gUnknown_81B7C57 }; -const u8 *const gUnknown_845B3A0[] = { +static const u8 *const gUnknown_845B3A0[] = { NULL, gUnknown_81B7CC1, gUnknown_81B7CC4, @@ -309,7 +299,7 @@ const u8 *const gUnknown_845B3A0[] = { gUnknown_81B7E0F }; -const u8 *const gUnknown_845B450[] = { +static const u8 *const gUnknown_845B450[] = { NULL, gUnknown_81B7E16, gUnknown_81B7F0A, @@ -356,7 +346,7 @@ const u8 *const gUnknown_845B450[] = { gUnknown_81B9B2F }; -const u8 *const gUnknown_845B500[] = { +static const u8 *const gUnknown_845B500[] = { NULL, gUnknown_81B9BB7, gUnknown_81B9BC7, @@ -367,7 +357,7 @@ const u8 *const gUnknown_845B500[] = { gUnknown_81B9C1D }; -const u8 *const gUnknown_845B520[] = { +static const u8 *const gUnknown_845B520[] = { NULL, gUnknown_81B9C2F, gUnknown_81B9D04, @@ -378,7 +368,7 @@ const u8 *const gUnknown_845B520[] = { gUnknown_81BA027 }; -const u8 *const gUnknown_845B540[] = { +static const u8 *const gUnknown_845B540[] = { NULL, gUnknown_81BA0F1, gUnknown_81BA10D, @@ -417,7 +407,7 @@ const u8 *const gUnknown_845B540[] = { gUnknown_81BA400 }; -const u8 *const gUnknown_845B5D0[] = { +static const u8 *const gUnknown_845B5D0[] = { NULL, gUnknown_81BA416, gUnknown_81BA4E6, @@ -457,299 +447,299 @@ const u8 *const gUnknown_845B5D0[] = { }; -const u8 gUnknown_845B660[] = { +static const u8 gUnknown_845B660[] = { 0x01, 0x02, 0x03, 0xff }; -const u8 gUnknown_845B664[] = { +static const u8 gUnknown_845B664[] = { 0x01, 0x02, 0x03, 0xff }; -const u8 gUnknown_845B668[] = { +static const u8 gUnknown_845B668[] = { 0x13, 0xff }; -const u8 gUnknown_845B66A[] = { +static const u8 gUnknown_845B66A[] = { 0x01, 0x02, 0x03, 0xff }; -const u8 gUnknown_845B66E[] = { +static const u8 gUnknown_845B66E[] = { 0x01, 0x25, 0xff }; -const u8 gUnknown_845B671[] = { +static const u8 gUnknown_845B671[] = { 0x02, 0x03, 0x04, 0x05, 0x11, 0xff }; -const u8 gUnknown_845B677[] = { +static const u8 gUnknown_845B677[] = { 0x09, 0x01, 0xff }; -const u8 gUnknown_845B67A[] = { +static const u8 gUnknown_845B67A[] = { 0x02, 0x03, 0xff }; -const u8 gUnknown_845B67D[] = { +static const u8 gUnknown_845B67D[] = { 0x09, 0x0a, 0x0b, 0x11, 0x0c, 0x10, 0xff }; -const u8 gUnknown_845B684[] = { +static const u8 gUnknown_845B684[] = { 0x09, 0x01, 0x04, 0x05, 0x06, 0x07, 0x08, 0x02, 0x0d, 0xff }; -const u8 gUnknown_845B68E[] = { +static const u8 gUnknown_845B68E[] = { 0x09, 0x03, 0x0a, 0x0f, 0x12, 0x13, 0x14, 0xff }; -const u8 gUnknown_845B696[] = { +static const u8 gUnknown_845B696[] = { 0x06, 0x07, 0x08, 0x2c, 0x09, 0x0d, 0x0e, 0x0f, 0x10, 0x12, 0xff }; -const u8 gUnknown_845B6A1[] = { +static const u8 gUnknown_845B6A1[] = { 0x16, 0x17, 0x18, 0xff }; -const u8 gUnknown_845B6A5[] = { +static const u8 gUnknown_845B6A5[] = { 0x0a, 0xff }; -const u8 gUnknown_845B6A7[] = { +static const u8 gUnknown_845B6A7[] = { 0x11, 0x0e, 0x19, 0x1a, 0x1b, 0xff }; -const u8 gUnknown_845B6AD[] = { +static const u8 gUnknown_845B6AD[] = { 0x0a, 0xff }; -const u8 gUnknown_845B6AF[] = { +static const u8 gUnknown_845B6AF[] = { 0x0b, 0xff }; -const u8 gUnknown_845B6B1[] = { +static const u8 gUnknown_845B6B1[] = { 0x2b, 0x19, 0x1a, 0xff }; -const u8 gUnknown_845B6B5[] = { +static const u8 gUnknown_845B6B5[] = { 0x0c, 0xff }; -const u8 gUnknown_845B6B7[] = { +static const u8 gUnknown_845B6B7[] = { 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0xff }; -const u8 gUnknown_845B6BF[] = { +static const u8 gUnknown_845B6BF[] = { 0x02, 0x03, 0x04, 0xff }; -const u8 gUnknown_845B6C3[] = { +static const u8 gUnknown_845B6C3[] = { 0x01, 0x02, 0x03, 0x07, 0xff }; -const u8 gUnknown_845B6C8[] = { +static const u8 gUnknown_845B6C8[] = { 0x02, 0x04, 0x05, 0x09, 0x25, 0xff }; -const u8 gUnknown_845B6CE[] = { +static const u8 gUnknown_845B6CE[] = { 0x1f, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x2c, 0x09, 0x0d, 0x0e, 0x0f, 0x10, 0x0a, 0x0b, 0x0c, 0x11, 0xff }; -const u8 gUnknown_845B6E2[] = { +static const u8 gUnknown_845B6E2[] = { 0x09, 0x01, 0x02, 0x03, 0x0a, 0x28, 0xff }; -const u8 gUnknown_845B6E9[] = { +static const u8 gUnknown_845B6E9[] = { 0x02, 0x05, 0x06, 0x0a, 0x23, 0x24, 0x09, 0x25, 0xff }; -const u8 gUnknown_845B6F2[] = { +static const u8 gUnknown_845B6F2[] = { 0x1f, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x2c, 0x09, 0x0d, 0x0e, 0x0f, 0x10, 0x0a, 0x0b, 0x0c, 0x11, 0x14, 0xff }; -const u8 gUnknown_845B707[] = { +static const u8 gUnknown_845B707[] = { 0x09, 0x01, 0x02, 0x03, 0x0a, 0x28, 0xff }; -const u8 gUnknown_845B70E[] = { +static const u8 gUnknown_845B70E[] = { 0x03, 0x07, 0x04, 0x05, 0x06, 0xff }; -const u8 gUnknown_845B714[] = { +static const u8 gUnknown_845B714[] = { 0x02, 0x05, 0x06, 0x0a, 0x23, 0x24, 0x09, 0x25, 0xff }; -const u8 gUnknown_845B71D[] = { +static const u8 gUnknown_845B71D[] = { 0x1f, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x2c, 0x09, 0x0d, 0x0e, 0x0f, 0x10, 0x0a, 0x0b, 0x0c, 0x11, 0xff }; -const u8 gUnknown_845B731[] = { +static const u8 gUnknown_845B731[] = { 0x09, 0x01, 0x02, 0x03, 0x0a, 0x0c, 0x0e, 0x16, 0x17, 0x18, 0x15, 0xff }; -const u8 gUnknown_845B73D[] = { +static const u8 gUnknown_845B73D[] = { 0x06, 0x0a, 0x23, 0x24, 0x09, 0x25, 0xff }; -const u8 gUnknown_845B744[] = { +static const u8 gUnknown_845B744[] = { 0x1f, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x2c, 0x09, 0x0d, 0x0e, 0x0f, 0x10, 0x0a, 0x0b, 0x0c, 0x11, 0xff }; -const u8 gUnknown_845B758[] = { +static const u8 gUnknown_845B758[] = { 0x09, 0x01, 0x02, 0x03, 0x0a, 0x15, 0xff }; -const u8 gUnknown_845B75F[] = { +static const u8 gUnknown_845B75F[] = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0xff }; -const u8 gUnknown_845B783[] = { +static const u8 gUnknown_845B783[] = { 0x02, 0x0a, 0x04, 0x05, 0x06, 0x07, 0x0d, 0x27, 0x08, 0x0b, 0x21, 0x23, 0x24, 0x2c, 0x09, 0x0e, 0x16, 0x17, 0x0f, 0x10, 0x11, 0x1a, 0x15, 0x1f, 0x20, 0x12, 0x13, 0x14, 0x18, 0x19, 0x1b, 0x1e, 0x1c, 0x28, 0x25, 0xff }; -const u8 gUnknown_845B7A7[] = { +static const u8 gUnknown_845B7A7[] = { 0x1f, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x2c, 0x09, 0x0d, 0x0e, 0x0f, 0x10, 0x0a, 0x0b, 0x0c, 0x11, 0xff }; -const u8 gUnknown_845B7BB[] = { +static const u8 gUnknown_845B7BB[] = { 0x09, 0x01, 0x02, 0x0a, 0x0b, 0x0c, 0x0d, 0x15, 0xff }; -const u8 gUnknown_845B7C4[] = { +static const u8 gUnknown_845B7C4[] = { 0x02, 0x0a, 0x04, 0x05, 0x06, 0x07, 0x0d, 0x27, 0x08, 0x0b, 0x21, 0x23, 0x24, 0x2c, 0x09, 0x0e, 0x16, 0x17, 0x0f, 0x10, 0x11, 0x1a, 0x15, 0x1f, 0x20, 0x12, 0x13, 0x14, 0x18, 0x19, 0x1b, 0x1e, 0x1c, 0x28, 0x25, 0xff }; -const u8 gUnknown_845B7E8[] = { +static const u8 gUnknown_845B7E8[] = { 0x1f, 0x01, 0x02, 0x06, 0x0a, 0x0b, 0x0c, 0x11, 0xff }; -const u8 gUnknown_845B7F1[] = { +static const u8 gUnknown_845B7F1[] = { 0x09, 0x01, 0x02, 0x0a, 0x0b, 0x0c, 0x0d, 0x15, 0x28, 0xff }; -const u8 gUnknown_845B7FB[] = { +static const u8 gUnknown_845B7FB[] = { 0x0a, 0x07, 0x0d, 0x27, 0x08, 0x0b, 0x21, 0x23, 0x24, 0x2c, 0x09, 0x0e, 0x16, 0x0f, 0x10, 0x11, 0x1a, 0x15, 0x1f, 0x20, 0x12, 0x13, 0x14, 0x18, 0x19, 0x1b, 0x1e, 0x1c, 0x28, 0x25, 0xff }; -const u8 gUnknown_845B81A[] = { +static const u8 gUnknown_845B81A[] = { 0x1f, 0x01, 0x02, 0x06, 0x0a, 0x0b, 0x0c, 0x11, 0xff }; -const u8 gUnknown_845B823[] = { +static const u8 gUnknown_845B823[] = { 0x09, 0x01, 0x02, 0x0a, 0x0b, 0x0c, 0x0d, 0x15, 0xff }; -const u8 gUnknown_845B82C[] = { +static const u8 gUnknown_845B82C[] = { 0x07, 0x27, 0x08, 0x2c, 0x15, 0x1f, 0x20, 0x12, 0x13, 0x14, 0x18, 0x19, 0x1b, 0x1e, 0x1c, 0x28, 0x25, 0xff }; -const u8 gUnknown_845B83E[] = { +static const u8 gUnknown_845B83E[] = { 0x1f, 0x01, 0x02, 0x06, 0x0a, 0x0b, 0x0c, 0x11, 0xff }; -const u8 gUnknown_845B847[] = { +static const u8 gUnknown_845B847[] = { 0x09, 0x01, 0x02, 0x0a, 0x0b, 0x0c, 0x0d, 0x15, 0xff }; -const u8 gUnknown_845B850[] = { +static const u8 gUnknown_845B850[] = { 0x0f, 0x1b, 0x1d, 0x11, 0x12, 0x15, 0x17, 0x16, 0x1f, 0x20, 0x13, 0x14, 0xff }; -const u8 gUnknown_845B85D[] = { +static const u8 gUnknown_845B85D[] = { 0x20, 0x21, 0x22, 0x23, 0x24, 0x07, 0x09, 0x2b, 0xff }; -const u8 gUnknown_845B866[] = { +static const u8 gUnknown_845B866[] = { 0x09, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x0a, 0x0d, 0x0f, 0x12, 0x13, 0x14, 0x27, 0x15, 0xff }; -const u8 gUnknown_845B878[] = { +static const u8 gUnknown_845B878[] = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0xff }; -const u8 gUnknown_845B89C[] = { +static const u8 gUnknown_845B89C[] = { 0x0f, 0x1b, 0x1d, 0x11, 0x12, 0x16, 0x1f, 0x20, 0x13, 0x14, 0xff }; -const u8 gUnknown_845B8A7[] = { +static const u8 gUnknown_845B8A7[] = { 0x20, 0x21, 0x22, 0x23, 0x24, 0x07, 0x2b, 0xff }; -const u8 gUnknown_845B8AF[] = { +static const u8 gUnknown_845B8AF[] = { 0x09, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x0a, 0x0d, 0x0f, 0x12, 0x13, 0x14, 0x27, 0x15, 0xff }; -const u8 gUnknown_845B8C1[] = { +static const u8 gUnknown_845B8C1[] = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0xff }; -const u8 gUnknown_845B8E5[] = { +static const u8 gUnknown_845B8E5[] = { 0x0f, 0x1b, 0x1d, 0x11, 0x12, 0x16, 0x1f, 0x20, 0x13, 0x14, 0xff }; -const u8 gUnknown_845B8F0[] = { +static const u8 gUnknown_845B8F0[] = { 0x20, 0x21, 0x22, 0x23, 0x24, 0x07, 0x2b, 0xff }; -const u8 gUnknown_845B8F8[] = { +static const u8 gUnknown_845B8F8[] = { 0x09, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x0a, 0x0d, 0x0f, 0x12, 0x13, 0x14, 0x27, 0x15, 0xff }; -const u8 gUnknown_845B90A[] = { +static const u8 gUnknown_845B90A[] = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0xff }; -const u8 gUnknown_845B92E[] = { +static const u8 gUnknown_845B92E[] = { 0x29, 0x2a, 0x2b, 0xff }; -const u8 gUnknown_845B932[] = { +static const u8 gUnknown_845B932[] = { 0x2d, 0x2e, 0x2f, 0x2b, 0xff }; -const u8 gUnknown_845B937[] = { +static const u8 gUnknown_845B937[] = { 0x09, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x0a, 0x0d, 0x0f, 0x12, 0x13, 0x14, 0xff }; -const u8 gUnknown_845B947[] = { +static const u8 gUnknown_845B947[] = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0xff }; -const u8 gUnknown_845B96B[] = { +static const u8 gUnknown_845B96B[] = { 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x30, 0xff }; -const u8 gUnknown_845B978[] = { +static const u8 gUnknown_845B978[] = { 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x30, 0xff }; -const u8 gUnknown_845B985[] = { +static const u8 gUnknown_845B985[] = { 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x30, 0xff }; -const u8 gUnknown_845B992[] = { +static const u8 gUnknown_845B992[] = { 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x30, 0xff }; -const u8 gUnknown_845B99F[] = { +static const u8 gUnknown_845B99F[] = { 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x30, 0xff }; -const u8 gUnknown_845B9AC[] = { +static const u8 gUnknown_845B9AC[] = { 0x26, 0x27, 0x28, 0x29, 0x2a, 0xff }; -const u8 gUnknown_845B9B2[] = { +static const u8 gUnknown_845B9B2[] = { 0x26, 0x27, 0x28, 0x29, 0x2a, 0xff }; -const u8 gUnknown_845B9B8[] = { +static const u8 gUnknown_845B9B8[] = { 0x26, 0x27, 0x28, 0x29, 0x2a, 0xff }; -const u8 gUnknown_845B9BE[] = { +static const u8 gUnknown_845B9BE[] = { 0x09, 0x01, 0x02, 0x03, 0x23, 0x25, 0x24, 0x04, 0x05, 0x06, 0x07, 0x08, 0x0a, 0x0b, 0x0c, 0x0d, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x27, 0x15, 0x26, 0x16, 0x17, 0x18, 0x1a, 0x0e, 0x1b, 0xff }; -const u8 *const gUnknown_845B9E0[] = { +static const u8 *const gUnknown_845B9E0[] = { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, gUnknown_845B660, NULL, NULL, NULL, NULL, gUnknown_845B664, NULL, @@ -788,13 +778,13 @@ const u8 *const gUnknown_845B9E0[] = { NULL, NULL, NULL, NULL, NULL }; -const u16 unref_845BCB0[] = INCBIN_U16("graphics/help_system/unk_845BCB0.bin"); +static const u16 unref_845BCB0[] = INCBIN_U16("graphics/help_system/unk_845BCB0.bin"); -const u8 gUnknown_845C4B0[] = { +static const u8 gUnknown_845C4B0[] = { 3, 0, 1, 2, 4, 5 }; -const u8 gUnknown_845C4B6[][6] = { +static const u8 gUnknown_845C4B6[][6] = { {0, 0, 0, 0, 0, 1}, {0, 0, 0, 1, 0, 1}, {0, 0, 0, 1, 0, 1}, @@ -834,7 +824,7 @@ const u8 gUnknown_845C4B6[][6] = { {0, 0, 0, 0, 0, 0} }; -const u16 gUnknown_845C594[] = { +static const u16 gUnknown_845C594[] = { MAP_VIRIDIAN_CITY_MART, MAP_PEWTER_CITY_MART, MAP_CERULEAN_CITY_MART, @@ -857,7 +847,7 @@ const u16 gUnknown_845C594[] = { MAP_UNDEFINED }; -const u16 gUnknown_845C5BC[] = { +static const u16 gUnknown_845C5BC[] = { MAP_PEWTER_CITY_GYM, MAP_CERULEAN_CITY_GYM, MAP_VERMILION_CITY_GYM, @@ -869,7 +859,7 @@ const u16 gUnknown_845C5BC[] = { MAP_UNDEFINED }; -const u8 gUnknown_845C5CE[][3] = { +static const u8 gUnknown_845C5CE[][3] = { { MAP_GROUP(VIRIDIAN_FOREST), MAP_NUM(VIRIDIAN_FOREST), 1 }, { MAP_GROUP(MT_MOON_1F), MAP_NUM(MT_MOON_1F), 3 }, { MAP_GROUP(ROCK_TUNNEL_1F), MAP_NUM(ROCK_TUNNEL_1F), 2 }, @@ -925,17 +915,17 @@ void sub_812B248(void) gUnknown_203B0EC = gUnknown_3005EA0; } -bool32 sub_812B25C(void) +static bool32 sub_812B25C(void) { return sub_812B27C(gUnknown_845C594); } -bool32 sub_812B26C(void) +static bool32 sub_812B26C(void) { return sub_812B27C(gUnknown_845C5BC); } -bool32 sub_812B27C(const u16 * mapIdxs) +static bool32 sub_812B27C(const u16 * mapIdxs) { u16 mapIdx = (gSaveBlock1Ptr->location.mapGroup << 8) + gSaveBlock1Ptr->location.mapNum; s32 i; @@ -949,7 +939,7 @@ bool32 sub_812B27C(const u16 * mapIdxs) return FALSE; } -bool8 sub_812B2C4(void) +static bool8 sub_812B2C4(void) { u8 i, j; @@ -1039,7 +1029,7 @@ void sub_812B4B8(void) gUnknown_203F175 = 0; } -void sub_812B4C4(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) +static void sub_812B4C4(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) { a0->sub.field_00 = a1; a0->sub.field_04 = 1; @@ -1048,7 +1038,7 @@ void sub_812B4C4(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) a0->sub.field_09 = 4; } -void sub_812B4D8(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) +static void sub_812B4D8(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) { sub_812B4C4(a0, a1); sub_812B520(a0, a1); @@ -1059,7 +1049,7 @@ void sub_812B4D8(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) sub_813BD5C(1); } -void sub_812B520(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) +static void sub_812B520(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) { u8 i; u8 r4 = 0; @@ -1078,7 +1068,7 @@ void sub_812B520(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) a0->sub.field_08 = 0; } -void sub_812B5A8(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) +static void sub_812B5A8(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) { sub_813BDE8(0); sub_813BFC0(0); @@ -1092,7 +1082,7 @@ void sub_812B5A8(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) sub_813BD5C(1); } -void sub_812B614(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) +static void sub_812B614(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) { u8 r6 = 0; const u8 * r3 = gUnknown_845B9E0[gUnknown_203B0EC * 5 + gUnknown_3005E9C[1]]; @@ -1133,14 +1123,14 @@ void sub_812B614(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) a0->sub.field_09 = 21; } -bool8 sub_812B754(void) +static bool8 sub_812B754(void) { if (FlagGet(FLAG_0x4B0) == TRUE && gUnknown_3005E9C[1] == 2) return TRUE; return FALSE; } -bool8 sub_812B780(u8 id) +static bool8 sub_812B780(u8 id) { u8 i = 0; @@ -1349,7 +1339,7 @@ bool8 sub_812B780(u8 id) return FALSE; } -bool8 sub_812BB10(void) +static bool8 sub_812BB10(void) { if (FlagGet(FLAG_0x237) == TRUE) return TRUE; @@ -1556,13 +1546,13 @@ bool8 sub_812BF18(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1 return TRUE; } -void sub_812BF5C(void) +static void sub_812BF5C(void) { sub_813C624(); sub_813C4CC(gUnknown_81B2FC9, 0, 0); } -void sub_812BF74(const u8 * str) +static void sub_812BF74(const u8 * str) { sub_813C5FC(); sub_813C488(str); @@ -1573,13 +1563,13 @@ u8 sub_812BF88(void) return gUnknown_3005E9C[0]; } -void sub_812BF94(struct HelpSystemStruct_203F190 * a0) +static void sub_812BF94(struct HelpSystemStruct_203F190 * a0) { a0->field_0C = 0; a0->field_0D = 0; } -void sub_812BF9C(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) +static void sub_812BF9C(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) { s32 index = a1[a0->field_0C + a0->field_0D].index; if (index == -2) -- cgit v1.2.3 From cec9eaf7f86045aaae5928015dc4b37ca21c1f34 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 12 Jun 2019 21:02:34 -0400 Subject: Consolidate gDecompressionBuffer --- asm/battle_2.s | 4 ++-- asm/help_system.s | 28 ++++++++++++++-------------- asm/link_rfu_3.s | 8 ++++---- asm/save_failed_screen.s | 16 ++++++++-------- sym_ewram.txt | 26 +------------------------- 5 files changed, 29 insertions(+), 53 deletions(-) diff --git a/asm/battle_2.s b/asm/battle_2.s index 6df4e00b9..0826ea927 100644 --- a/asm/battle_2.s +++ b/asm/battle_2.s @@ -2093,13 +2093,13 @@ _08010EE4: bl bitmask_all_link_players_but_self lsls r0, 24 lsrs r0, 24 - ldr r1, _08010EF8 @ =gUnknown_201C0C8 + ldr r1, _08010EF8 @ =gDecompressionBuffer + 0x0C8 movs r2, 0x64 bl SendBlock ldr r1, _08010EFC @ =gUnknown_2023E82 b _080110EA .align 2, 0 -_08010EF8: .4byte gUnknown_201C0C8 +_08010EF8: .4byte gDecompressionBuffer + 0x0C8 _08010EFC: .4byte gUnknown_2023E82 _08010F00: bl GetBlockReceivedStatus diff --git a/asm/help_system.s b/asm/help_system.s index 2ea845550..cb44523e6 100644 --- a/asm/help_system.s +++ b/asm/help_system.s @@ -145,7 +145,7 @@ _0813B994: movs r3, 0 bl RequestDma3Copy ldr r0, _0813B9CC @ =gUnknown_8464008 - ldr r1, _0813B9D0 @ =gUnknown_201FEE0 + ldr r1, _0813B9D0 @ =gDecompressionBuffer + 0x3EE0 movs r2, 0x90 lsls r2, 1 movs r3, 0 @@ -157,7 +157,7 @@ _0813B994: _0813B9C4: .4byte 0x0600c000 _0813B9C8: .4byte gUnknown_8464128 _0813B9CC: .4byte gUnknown_8464008 -_0813B9D0: .4byte gUnknown_201FEE0 +_0813B9D0: .4byte gDecompressionBuffer + 0x3EE0 _0813B9D4: .4byte gUnknown_203F178 _0813B9D8: bl sub_813BCF4 @@ -503,7 +503,7 @@ sub_813BC78: @ 813BC78 cmp r0, r2 bge _0813BCDE mov r12, r2 - ldr r1, _0813BCF0 @ =gUnknown_201F800 + ldr r1, _0813BCF0 @ =gDecompressionBuffer + 0x3800 mov r10, r1 _0813BCAE: mov r4, r9 @@ -542,7 +542,7 @@ _0813BCDE: pop {r0} bx r0 .align 2, 0 -_0813BCF0: .4byte gUnknown_201F800 +_0813BCF0: .4byte gDecompressionBuffer + 0x3800 thumb_func_end sub_813BC78 thumb_func_start sub_813BCF4 @@ -1518,7 +1518,7 @@ sub_813C454: @ 813C454 movs r1, 0xF movs r2, 0x2 bl GenerateFontHalfRowLookupTable - ldr r1, _0813C484 @ =gUnknown_201FD00 + ldr r1, _0813C484 @ =gDecompressionBuffer + 0x3D00 movs r2, 0x2 str r2, [sp] movs r0, 0x7 @@ -1533,7 +1533,7 @@ sub_813C454: @ 813C454 pop {r0} bx r0 .align 2, 0 -_0813C484: .4byte gUnknown_201FD00 +_0813C484: .4byte gDecompressionBuffer + 0x3D00 thumb_func_end sub_813C454 thumb_func_start sub_813C488 @@ -1551,7 +1551,7 @@ sub_813C488: @ 813C488 movs r1, 0xF movs r2, 0x2 bl GenerateFontHalfRowLookupTable - ldr r1, _0813C4C8 @ =gUnknown_201F400 + ldr r1, _0813C4C8 @ =gDecompressionBuffer + 0x3400 lsls r4, 24 lsrs r4, 24 movs r2, 0x2 @@ -1568,7 +1568,7 @@ sub_813C488: @ 813C488 pop {r0} bx r0 .align 2, 0 -_0813C4C8: .4byte gUnknown_201F400 +_0813C4C8: .4byte gDecompressionBuffer + 0x3400 thumb_func_end sub_813C488 thumb_func_start sub_813C4CC @@ -1671,7 +1671,7 @@ sub_813C584: @ 813C584 ldr r2, _0813C5C8 @ =0x00001111 adds r0, r2, 0 strh r0, [r1] - ldr r4, _0813C5CC @ =gUnknown_201E3C0 + ldr r4, _0813C5CC @ =gDecompressionBuffer + 0x23C0 ldr r2, _0813C5D0 @ =0x01000820 adds r0, r1, 0 adds r1, r4, 0 @@ -1697,7 +1697,7 @@ sub_813C584: @ 813C584 bx r0 .align 2, 0 _0813C5C8: .4byte 0x00001111 -_0813C5CC: .4byte gUnknown_201E3C0 +_0813C5CC: .4byte gDecompressionBuffer + 0x23C0 _0813C5D0: .4byte 0x01000820 thumb_func_end sub_813C584 @@ -1709,7 +1709,7 @@ sub_813C5D4: @ 813C5D4 ldr r2, _0813C5F0 @ =0x0000ffff adds r0, r2, 0 strh r0, [r1] - ldr r1, _0813C5F4 @ =gUnknown_201FD00 + ldr r1, _0813C5F4 @ =gDecompressionBuffer + 0x3D00 ldr r2, _0813C5F8 @ =0x010000e0 mov r0, sp bl CpuSet @@ -1718,7 +1718,7 @@ sub_813C5D4: @ 813C5D4 bx r0 .align 2, 0 _0813C5F0: .4byte 0x0000ffff -_0813C5F4: .4byte gUnknown_201FD00 +_0813C5F4: .4byte gDecompressionBuffer + 0x3D00 _0813C5F8: .4byte 0x010000e0 thumb_func_end sub_813C5D4 @@ -1730,7 +1730,7 @@ sub_813C5FC: @ 813C5FC ldr r2, _0813C618 @ =0x0000ffff adds r0, r2, 0 strh r0, [r1] - ldr r1, _0813C61C @ =gUnknown_201F400 + ldr r1, _0813C61C @ =gDecompressionBuffer + 0x3400 ldr r2, _0813C620 @ =0x01000200 mov r0, sp bl CpuSet @@ -1739,7 +1739,7 @@ sub_813C5FC: @ 813C5FC bx r0 .align 2, 0 _0813C618: .4byte 0x0000ffff -_0813C61C: .4byte gUnknown_201F400 +_0813C61C: .4byte gDecompressionBuffer + 0x3400 _0813C620: .4byte 0x01000200 thumb_func_end sub_813C5FC diff --git a/asm/link_rfu_3.s b/asm/link_rfu_3.s index edc2fc950..9dae54154 100644 --- a/asm/link_rfu_3.s +++ b/asm/link_rfu_3.s @@ -5404,7 +5404,7 @@ _081186AC: .4byte gStringVar4 thumb_func_start sub_81186B0 sub_81186B0: @ 81186B0 push {lr} - ldr r3, _081186C4 @ =gUnknown_201FF00 + ldr r3, _081186C4 @ =gDecompressionBuffer + 0x3F00 ldr r1, [r0] movs r2, 0x80 lsls r2, 1 @@ -5413,21 +5413,21 @@ sub_81186B0: @ 81186B0 pop {r0} bx r0 .align 2, 0 -_081186C4: .4byte gUnknown_201FF00 +_081186C4: .4byte gDecompressionBuffer + 0x3F00 thumb_func_end sub_81186B0 thumb_func_start sub_81186C8 sub_81186C8: @ 81186C8 push {lr} ldr r0, [r0] - ldr r1, _081186DC @ =gUnknown_201FF00 + ldr r1, _081186DC @ =gDecompressionBuffer + 0x3F00 movs r2, 0x80 lsls r2, 1 bl memcpy pop {r0} bx r0 .align 2, 0 -_081186DC: .4byte gUnknown_201FF00 +_081186DC: .4byte gDecompressionBuffer + 0x3F00 thumb_func_end sub_81186C8 thumb_func_start sub_81186E0 diff --git a/asm/save_failed_screen.s b/asm/save_failed_screen.s index 4c2ac1f7e..375138d09 100644 --- a/asm/save_failed_screen.s +++ b/asm/save_failed_screen.s @@ -259,7 +259,7 @@ _080F5314: .4byte 0x05000200 thumb_func_start sub_80F5318 sub_80F5318: @ 80F5318 push {lr} - ldr r0, _080F532C @ =gUnknown_201F800 + ldr r0, _080F532C @ =gDecompressionBuffer + 0x3800 ldr r1, _080F5330 @ =0x0600f800 movs r2, 0xA0 lsls r2, 3 @@ -268,14 +268,14 @@ sub_80F5318: @ 80F5318 pop {r0} bx r0 .align 2, 0 -_080F532C: .4byte gUnknown_201F800 +_080F532C: .4byte gDecompressionBuffer + 0x3800 _080F5330: .4byte 0x0600f800 thumb_func_end sub_80F5318 thumb_func_start sub_80F5334 sub_80F5334: @ 80F5334 push {lr} - ldr r0, _080F5348 @ =gUnknown_201C020 + ldr r0, _080F5348 @ =gDecompressionBuffer + 0x020 ldr r1, _080F534C @ =0x0600c020 movs r2, 0x8C lsls r2, 6 @@ -284,7 +284,7 @@ sub_80F5334: @ 80F5334 pop {r0} bx r0 .align 2, 0 -_080F5348: .4byte gUnknown_201C020 +_080F5348: .4byte gDecompressionBuffer + 0x020 _080F534C: .4byte 0x0600c020 thumb_func_end sub_80F5334 @@ -315,7 +315,7 @@ sub_80F5350: @ 80F5350 cmp r0, r2 bge _080F53B6 mov r12, r2 - ldr r1, _080F53C8 @ =gUnknown_201F800 + ldr r1, _080F53C8 @ =gDecompressionBuffer + 0x3800 mov r10, r1 _080F5386: mov r4, r9 @@ -354,7 +354,7 @@ _080F53B6: pop {r0} bx r0 .align 2, 0 -_080F53C8: .4byte gUnknown_201F800 +_080F53C8: .4byte gDecompressionBuffer + 0x3800 thumb_func_end sub_80F5350 thumb_func_start sub_80F53CC @@ -404,7 +404,7 @@ sub_80F5404: @ 80F5404 ldr r2, _080F544C @ =0x00001111 adds r0, r2, 0 strh r0, [r1] - ldr r4, _080F5450 @ =gUnknown_201C020 + ldr r4, _080F5450 @ =gDecompressionBuffer + 0x020 ldr r2, _080F5454 @ =0x01001180 adds r0, r1, 0 adds r1, r4, 0 @@ -427,7 +427,7 @@ sub_80F5404: @ 80F5404 bx r0 .align 2, 0 _080F544C: .4byte 0x00001111 -_080F5450: .4byte gUnknown_201C020 +_080F5450: .4byte gDecompressionBuffer + 0x020 _080F5454: .4byte 0x01001180 thumb_func_end sub_80F5404 diff --git a/sym_ewram.txt b/sym_ewram.txt index 5219ec5ef..dd746ec42 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -1,29 +1,5 @@ gDecompressionBuffer: @ 201C000 - .space 0x20 - -gUnknown_201C020: @ 201C020 - .space 0xA8 - -gUnknown_201C0C8: @ 201C0C8 - .space 0x22F8 - -gUnknown_201E3C0: @ 201E3C0 - .space 0x1040 - -gUnknown_201F400: @ 201F400 - .space 0x400 - -gUnknown_201F800: @ 201F800 - .space 0x500 - -gUnknown_201FD00: @ 201FD00 - .space 0x1E0 - -gUnknown_201FEE0: @ 201FEE0 - .space 0x20 - -gUnknown_201FF00: @ 201FF00 - .space 0x100 + .space 0x4000 gTrainerId: @ 2020000 .space 0x4 -- cgit v1.2.3 From b26196e1f874fe5ebe9fe306e7ce18c06fa23715 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 12 Jun 2019 21:14:51 -0400 Subject: EWRAM symbols in main.c --- src/main.c | 8 ++++---- sym_ewram.txt | 12 +++++++----- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/main.c b/src/main.c index bfab49c49..ad03860f3 100644 --- a/src/main.c +++ b/src/main.c @@ -96,13 +96,13 @@ u8 gUnknown_3003D84; static IntrFunc * const sTimerIntrFunc = gIntrTable + 0x7; -extern u16 gTrainerId; +EWRAM_DATA u8 gDecompressionBuffer[0x4000] = {0}; +EWRAM_DATA u16 gTrainerId = 0; + extern bool8 gUnknown_3005ECC; extern bool8 gWirelessCommType; extern bool8 gUnknown_3005E88; -EWRAM_DATA void (**gFlashTimerIntrFunc)(void) = NULL; - static void UpdateLinkAndCallCallbacks(void); static void InitMainCallbacks(void); static void CallCallbacks(void); @@ -116,7 +116,7 @@ void EnableVCountIntrAtLine150(void); void AgbMain() { RegisterRamReset(RESET_ALL); - *(vu16 *)BG_PLTT = 0x7FFF; + *(vu16 *)BG_PLTT = RGB_WHITE; InitGpuRegManager(); REG_WAITCNT = WAITCNT_PREFETCH_ENABLE | WAITCNT_WS0_S_1 | WAITCNT_WS0_N_3; InitKeys(); diff --git a/sym_ewram.txt b/sym_ewram.txt index dd746ec42..9ad13f3ef 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -1,13 +1,15 @@ -gDecompressionBuffer: @ 201C000 - .space 0x4000 - -gTrainerId: @ 2020000 - .space 0x4 + .align 2 + .include "src/main.o" + .align 2 .include "src/malloc.o" + .align 2 .include "src/text_printer.o" + .align 2 .include "src/window.o" + .align 2 .include "src/window_8bpp.o" + .align 2 .include "src/sprite.o" .align 2 -- cgit v1.2.3 From 9a1408797c83d9ce3d212d644fe5cf05bc989d10 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 12 Jun 2019 21:34:35 -0400 Subject: help_system: EWRAM_DATA --- asm/help_system.s | 8 ++++---- ld_script.txt | 1 + src/help_system.c | 26 ++++++++++++++++++++++++++ sym_ewram.txt | 29 +++-------------------------- 4 files changed, 34 insertions(+), 30 deletions(-) create mode 100644 src/help_system.c diff --git a/asm/help_system.s b/asm/help_system.s index cb44523e6..783bc19b8 100644 --- a/asm/help_system.s +++ b/asm/help_system.s @@ -381,14 +381,14 @@ _0813BBC4: .4byte gUnknown_203B174 thumb_func_start sub_813BBC8 sub_813BBC8: @ 813BBC8 push {lr} - ldr r0, _0813BBD8 @ =gUnknown_203F18A + ldr r0, _0813BBD8 @ =gUnknown_203F178 + 0x12 adds r1, r0, 0x1 adds r2, r0, 0x2 bl SaveTextColors pop {r0} bx r0 .align 2, 0 -_0813BBD8: .4byte gUnknown_203F18A +_0813BBD8: .4byte gUnknown_203F178 + 0x12 thumb_func_end sub_813BBC8 thumb_func_start sub_813BBDC @@ -450,14 +450,14 @@ _0813BC44: .4byte 0x0600c000 thumb_func_start sub_813BC48 sub_813BC48: @ 813BC48 push {lr} - ldr r0, _0813BC58 @ =gUnknown_203F18A + ldr r0, _0813BC58 @ =gUnknown_203F178 + 0x12 adds r1, r0, 0x1 adds r2, r0, 0x2 bl RestoreTextColors pop {r0} bx r0 .align 2, 0 -_0813BC58: .4byte gUnknown_203F18A +_0813BC58: .4byte gUnknown_203F178 + 0x12 thumb_func_end sub_813BC48 thumb_func_start sub_813BC5C diff --git a/ld_script.txt b/ld_script.txt index 5abc25e98..599d3711a 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -248,6 +248,7 @@ SECTIONS { asm/menu_indicators.o(.text); asm/pokedex_area_markers.o(.text); asm/pokemon_summary_screen.o(.text); + src/help_system.o(.text); asm/help_system.o(.text); asm/wild_pokemon_area.o(.text); asm/unk_text_util.o(.text); diff --git a/src/help_system.c b/src/help_system.c new file mode 100644 index 000000000..522890780 --- /dev/null +++ b/src/help_system.c @@ -0,0 +1,26 @@ +#include "global.h" +#include "main.h" +#include "help_system.h" +#include "list_menu.h" + +struct HelpSystemVideoState +{ + /*0x00*/ MainCallback savedVblankCb; + /*0x04*/ MainCallback savedHblankCb; + /*0x08*/ u16 savedDispCnt; + /*0x0a*/ u16 savedBg0Cnt; + /*0x0c*/ u16 savedBg0Hofs; + /*0x0e*/ u16 savedBg0Vofs; + /*0x10*/ u16 savedBldCnt; + /*0x12*/ u8 savedTextColor[3]; + /*0x15*/ u8 state; +}; + +EWRAM_DATA u8 gUnknown_203B174[0x4000] = {0}; +EWRAM_DATA u8 gUnknown_203F174 = 0; +EWRAM_DATA u8 gUnknown_203F175 = 0; +EWRAM_DATA u8 gUnknown_203F176 = 0; +EWRAM_DATA u8 gUnknown_203F177 = 0; +EWRAM_DATA struct HelpSystemVideoState gUnknown_203F178 = {0}; +EWRAM_DATA struct HelpSystemStruct_203F190 gUnknown_203F190 = {0}; +EWRAM_DATA struct ListMenuItem gUnknown_203F1AC[52] = {0}; diff --git a/sym_ewram.txt b/sym_ewram.txt index 9ad13f3ef..a260f5772 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -1509,33 +1509,10 @@ gUnknown_203B16E: @ 203B16E gUnknown_203B170: @ 203B170 .space 0x4 -gUnknown_203B174: @ 203B174 - .space 0x4000 - -gUnknown_203F174: @ 203F174 - .space 0x1 - -gUnknown_203F175: @ 203F175 - .space 0x1 - -gUnknown_203F176: @ 203F176 - .space 0x1 - -gUnknown_203F177: @ 203F177 - .space 0x1 - -gUnknown_203F178: @ 203F178 - .space 0x12 - -gUnknown_203F18A: @ 203F18A - .space 0x6 - -gUnknown_203F190: @ 203F190 - .space 0x1C - -gUnknown_203F1AC: @ 203F1AC - .space 0x1A0 + .align 2 + .include "src/help_system.o" + @ src/unk_text_util.o gUnknown_203F34C: @ 203F34C .space 0x20 -- cgit v1.2.3 From 63b2153402e68856e56fbacdc0d74daf53cfa9fc Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 13 Jun 2019 09:56:44 -0400 Subject: help_system: sub_813B870 --- asm/help_system.s | 301 ---------------------- data/data_83FECCC.s | 62 +++-- data/help_system.s | 8 - graphics/help_system/unk_8464008.png | Bin 0 -> 200 bytes include/constants/songs.h | 6 +- include/help_system.h | 10 +- include/m4a.h | 5 + include/songs.h | 468 ----------------------------------- include/strings.h | 4 + ld_script.txt | 2 +- src/help_system.c | 124 ++++++++++ 11 files changed, 185 insertions(+), 805 deletions(-) delete mode 100644 data/help_system.s create mode 100644 graphics/help_system/unk_8464008.png delete mode 100644 include/songs.h diff --git a/asm/help_system.s b/asm/help_system.s index 783bc19b8..a53ad9457 100644 --- a/asm/help_system.s +++ b/asm/help_system.s @@ -5,307 +5,6 @@ .text - thumb_func_start sub_813B870 -sub_813B870: @ 813B870 - push {r4,r5,lr} - ldr r0, _0813B888 @ =gUnknown_203F178 - ldrb r0, [r0, 0x15] - cmp r0, 0x8 - bls _0813B87C - b _0813BB24 -_0813B87C: - lsls r0, 2 - ldr r1, _0813B88C @ =_0813B890 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0813B888: .4byte gUnknown_203F178 -_0813B88C: .4byte _0813B890 - .align 2, 0 -_0813B890: - .4byte _0813B8B4 - .4byte _0813B968 - .4byte _0813B994 - .4byte _0813B9D8 - .4byte _0813BA40 - .4byte _0813BA78 - .4byte _0813BAA0 - .4byte _0813BAE0 - .4byte _0813BB14 -_0813B8B4: - ldr r1, _0813B904 @ =gUnknown_203F177 - movs r0, 0 - strb r0, [r1] - ldr r0, _0813B908 @ =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x13] - cmp r0, 0 - bne _0813B900 - ldr r2, _0813B90C @ =gMain - ldrh r1, [r2, 0x2E] - movs r0, 0x80 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - beq _0813B8DA - ldr r0, _0813B910 @ =gUnknown_203F175 - ldrb r0, [r0] - cmp r0, 0x1 - beq _0813B900 -_0813B8DA: - ldrh r1, [r2, 0x2E] - movs r0, 0xC0 - lsls r0, 2 - ands r0, r1 - cmp r0, 0 - bne _0813B8E8 - b _0813BB24 -_0813B8E8: - bl sub_812B45C - lsls r0, 24 - cmp r0, 0 - beq _0813B8FA - ldr r0, _0813B914 @ =gUnknown_3005ECC - ldrb r0, [r0] - cmp r0, 0 - bne _0813B918 -_0813B8FA: - movs r0, 0xFC - bl PlaySE -_0813B900: - movs r0, 0 - b _0813BB28 - .align 2, 0 -_0813B904: .4byte gUnknown_203F177 -_0813B908: .4byte gSaveBlock2Ptr -_0813B90C: .4byte gMain -_0813B910: .4byte gUnknown_203F175 -_0813B914: .4byte gUnknown_3005ECC -_0813B918: - ldr r0, _0813B94C @ =gMPlayInfo_SE1 - bl m4aMPlayStop - ldr r0, _0813B950 @ =gMPlayInfo_SE2 - bl m4aMPlayStop - movs r0, 0xFA - bl PlaySE - ldr r0, _0813B954 @ =gUnknown_203F174 - ldrb r0, [r0] - cmp r0, 0 - bne _0813B93C - ldr r0, _0813B958 @ =gMPlayInfo_BGM - ldr r1, _0813B95C @ =0x0000ffff - movs r2, 0x80 - bl m4aMPlayVolumeControl -_0813B93C: - bl sub_813BB38 - ldr r1, _0813B960 @ =gUnknown_203F177 - movs r0, 0x1 - strb r0, [r1] - ldr r1, _0813B964 @ =gUnknown_203F178 - movs r0, 0x1 - b _0813BB22 - .align 2, 0 -_0813B94C: .4byte gMPlayInfo_SE1 -_0813B950: .4byte gMPlayInfo_SE2 -_0813B954: .4byte gUnknown_203F174 -_0813B958: .4byte gMPlayInfo_BGM -_0813B95C: .4byte 0x0000ffff -_0813B960: .4byte gUnknown_203F177 -_0813B964: .4byte gUnknown_203F178 -_0813B968: - bl sub_813BBAC - bl sub_813BB74 - bl sub_813BBC8 - movs r1, 0xA0 - lsls r1, 19 - ldr r0, _0813B98C @ =gUnknown_8464128 - ldrh r0, [r0, 0x1E] - strh r0, [r1] - movs r0, 0 - movs r1, 0 - bl SetGpuReg - ldr r1, _0813B990 @ =gUnknown_203F178 - movs r0, 0x2 - b _0813BB22 - .align 2, 0 -_0813B98C: .4byte gUnknown_8464128 -_0813B990: .4byte gUnknown_203F178 -_0813B994: - ldr r1, _0813B9C4 @ =0x0600c000 - movs r2, 0x80 - lsls r2, 7 - movs r0, 0 - movs r3, 0 - bl RequestDma3Fill - ldr r0, _0813B9C8 @ =gUnknown_8464128 - movs r1, 0xA0 - lsls r1, 19 - movs r2, 0x20 - movs r3, 0 - bl RequestDma3Copy - ldr r0, _0813B9CC @ =gUnknown_8464008 - ldr r1, _0813B9D0 @ =gDecompressionBuffer + 0x3EE0 - movs r2, 0x90 - lsls r2, 1 - movs r3, 0 - bl RequestDma3Copy - ldr r1, _0813B9D4 @ =gUnknown_203F178 - movs r0, 0x3 - b _0813BB22 - .align 2, 0 -_0813B9C4: .4byte 0x0600c000 -_0813B9C8: .4byte gUnknown_8464128 -_0813B9CC: .4byte gUnknown_8464008 -_0813B9D0: .4byte gDecompressionBuffer + 0x3EE0 -_0813B9D4: .4byte gUnknown_203F178 -_0813B9D8: - bl sub_813BCF4 - bl sub_813C5D4 - bl sub_813C5FC - ldr r0, _0813BA08 @ =gUnknown_841CB49 - bl sub_813C454 - movs r0, 0x1 - bl sub_813BD14 - bl sub_812B40C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0813BA14 - ldr r0, _0813BA0C @ =gUnknown_203F190 - ldr r1, _0813BA10 @ =gUnknown_203F1AC - bl sub_812BC54 - b _0813BA1C - .align 2, 0 -_0813BA08: .4byte gUnknown_841CB49 -_0813BA0C: .4byte gUnknown_203F190 -_0813BA10: .4byte gUnknown_203F1AC -_0813BA14: - ldr r0, _0813BA34 @ =gUnknown_203F190 - ldr r1, _0813BA38 @ =gUnknown_203F1AC - bl sub_812BCA8 -_0813BA1C: - movs r0, 0x1 - bl sub_813BE78 - movs r0, 0x1 - bl sub_813BF50 - bl sub_813BC5C - ldr r1, _0813BA3C @ =gUnknown_203F178 - movs r0, 0x4 - b _0813BB22 - .align 2, 0 -_0813BA34: .4byte gUnknown_203F190 -_0813BA38: .4byte gUnknown_203F1AC -_0813BA3C: .4byte gUnknown_203F178 -_0813BA40: - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x10 - movs r1, 0 - bl SetGpuReg - movs r0, 0x12 - movs r1, 0 - bl SetGpuReg - ldr r1, _0813BA70 @ =0x00001f0c - movs r0, 0x8 - bl SetGpuReg - movs r1, 0x80 - lsls r1, 1 - movs r0, 0 - bl SetGpuReg - ldr r1, _0813BA74 @ =gUnknown_203F178 - movs r0, 0x5 - b _0813BB22 - .align 2, 0 -_0813BA70: .4byte 0x00001f0c -_0813BA74: .4byte gUnknown_203F178 -_0813BA78: - ldr r0, _0813BA94 @ =gUnknown_203F190 - ldr r1, _0813BA98 @ =gUnknown_203F1AC - bl sub_812BB9C - lsls r0, 24 - cmp r0, 0 - bne _0813BB24 - movs r0, 0xFB - bl PlaySE - ldr r1, _0813BA9C @ =gUnknown_203F178 - movs r0, 0x6 - b _0813BB22 - .align 2, 0 -_0813BA94: .4byte gUnknown_203F190 -_0813BA98: .4byte gUnknown_203F1AC -_0813BA9C: .4byte gUnknown_203F178 -_0813BAA0: - movs r0, 0 - movs r1, 0 - bl SetGpuReg - bl sub_813BC2C - movs r1, 0 - ldr r5, _0813BAD0 @ =0x000001ff - movs r4, 0xA0 - lsls r4, 19 - ldr r0, _0813BAD4 @ =gUnknown_8464128 - ldrh r2, [r0, 0x1E] - ldr r3, _0813BAD8 @ =0x05000200 -_0813BABA: - adds r0, r1, r4 - strh r2, [r0] - adds r0, r1, r3 - strh r2, [r0] - adds r1, 0x2 - cmp r1, r5 - ble _0813BABA - ldr r1, _0813BADC @ =gUnknown_203F178 - movs r0, 0x7 - b _0813BB22 - .align 2, 0 -_0813BAD0: .4byte 0x000001ff -_0813BAD4: .4byte gUnknown_8464128 -_0813BAD8: .4byte 0x05000200 -_0813BADC: .4byte gUnknown_203F178 -_0813BAE0: - ldr r0, _0813BB04 @ =gUnknown_203F174 - ldrb r0, [r0] - cmp r0, 0 - bne _0813BAF4 - ldr r0, _0813BB08 @ =gMPlayInfo_BGM - ldr r1, _0813BB0C @ =0x0000ffff - movs r2, 0x80 - lsls r2, 1 - bl m4aMPlayVolumeControl -_0813BAF4: - bl sub_813BC48 - bl sub_813BBF4 - ldr r1, _0813BB10 @ =gUnknown_203F178 - movs r0, 0x8 - b _0813BB22 - .align 2, 0 -_0813BB04: .4byte gUnknown_203F174 -_0813BB08: .4byte gMPlayInfo_BGM -_0813BB0C: .4byte 0x0000ffff -_0813BB10: .4byte gUnknown_203F178 -_0813BB14: - bl sub_813BBDC - ldr r1, _0813BB30 @ =gUnknown_203F177 - movs r0, 0 - strb r0, [r1] - ldr r1, _0813BB34 @ =gUnknown_203F178 - movs r0, 0 -_0813BB22: - strb r0, [r1, 0x15] -_0813BB24: - ldr r0, _0813BB34 @ =gUnknown_203F178 - ldrb r0, [r0, 0x15] -_0813BB28: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0813BB30: .4byte gUnknown_203F177 -_0813BB34: .4byte gUnknown_203F178 - thumb_func_end sub_813B870 - thumb_func_start sub_813BB38 sub_813BB38: @ 813BB38 ldr r2, _0813BB60 @ =gUnknown_203F178 diff --git a/data/data_83FECCC.s b/data/data_83FECCC.s index eb922b028..1e47c8b2a 100644 --- a/data/data_83FECCC.s +++ b/data/data_83FECCC.s @@ -1913,76 +1913,90 @@ gUnknown_841B779:: @ 841B779 .include "data/text/teachy_tv.inc" gUnknown_841CB3C:: @ 841CB3C - .incbin "baserom.gba", 0x41CB3C, 0x5 + .string "BILL$" gUnknown_841CB41:: @ 841CB41 - .incbin "baserom.gba", 0x41CB41, 0x8 + .string "SOMEONE$" gUnknown_841CB49:: @ 841CB49 - .incbin "baserom.gba", 0x41CB49, 0x5 + .string "HELP$" gUnknown_841CB4E:: @ 841CB4E - .incbin "baserom.gba", 0x41CB4E, 0x4 + .string "{CLEAR_TO 8}$" gUnknown_841CB52:: @ 841CB52 - .incbin "baserom.gba", 0x41CB52, 0x8 + .string " points$" gUnknown_841CB5A:: @ 841CB5A - .incbin "baserom.gba", 0x41CB5A, 0x9 + .string " time(s)$" gUnknown_841CB63:: @ 841CB63 - .incbin "baserom.gba", 0x41CB63, 0x46 + .string "POKéMON JUMP RECORDS$" + .string "Jumps in a row:$" + .string "Best score:$" + .string "EXCELLENTS in a row:$" gUnknown_841CBA9:: @ 841CBA9 - .incbin "baserom.gba", 0x41CBA9, 0x21 + .string "Awesome score! You've\n" + .string "won {UNKNOWN_F7 01} {UNKNOWN_F7 00}!$" gUnknown_841CBCA:: @ 841CBCA - .incbin "baserom.gba", 0x41CBCA, 0x1A + .string "There's no room left now.$" gUnknown_841CBE4:: @ 841CBE4 - .incbin "baserom.gba", 0x41CBE4, 0x19 + .string "You can't hold any more!$" gUnknown_841CBFD:: @ 841CBFD - .incbin "baserom.gba", 0x41CBFD, 0x14 + .string "Want to play again?$" gUnknown_841CC11:: @ 841CC11 - .incbin "baserom.gba", 0x41CC11, 0x31 + .string "Somebody dropped out.\nThe link will be canceled.$" gUnknown_841CC42:: @ 841CC42 - .incbin "baserom.gba", 0x41CC42, 0x22 + .string "SAVING…\nDON'T TURN OFF THE POWER.$" gUnknown_841CC64:: @ 841CC64 - .incbin "baserom.gba", 0x41CC64, 0x9F + .string "Communication standby…$" + .string "SAVING...\nDON'T TURN OFF THE POWER.$" + .string "DODRIO BERRY-PICKING RECORDS$" + .string "BERRIES picked:$" + .string "Best score:$" + .string "BERRIES picked in a row with\nfive players:$" gUnknown_841CD03:: @ 841CD03 - .incbin "baserom.gba", 0x41CD03, 0x22 + .string "Announcing BERRY-PICKING results!$" gUnknown_841CD25:: @ 841CD25 - .incbin "baserom.gba", 0x41CD25, 0x1E + .string "10P 30P 50P {EXTRA 0xDD}50P$" gUnknown_841CD43:: @ 841CD43 - .incbin "baserom.gba", 0x41CD43, 0x15 + .string "Announcing rankings!$" gUnknown_841CD58:: @ 841CD58 - .incbin "baserom.gba", 0x41CD58, 0x22 + .string "Announcing prizes!$" + .string "1:$" + .string "2:$" + .string "3:$" + .string "4:$" + .string "5:$" gUnknown_841CD7A:: @ 841CD7A - .incbin "baserom.gba", 0x41CD7A, 0x25 + .string "The first-place winner gets\nthis {UNKNOWN_F7 00}!$" gUnknown_841CD9F:: @ 841CD9F - .incbin "baserom.gba", 0x41CD9F, 0x1B + .string "You can't hold any more...$" gUnknown_841CDBA:: @ 841CDBA - .incbin "baserom.gba", 0x41CDBA, 0x1D + .string "It filled its storage space.$" gUnknown_841CDD7:: @ 841CDD7 - .incbin "baserom.gba", 0x41CDD7, 0x14 + .string "Want to play again?$" gUnknown_841CDEB:: @ 841CDEB - .incbin "baserom.gba", 0x41CDEB, 0x31 + .string "Somebody dropped out.\nThe link will be canceled.$" gUnknown_841CE1C:: @ 841CE1C - .incbin "baserom.gba", 0x41CE1C, 0x8 + .string " points$" gUnknown_841CE24:: @ 841CE24 .incbin "baserom.gba", 0x41CE24, 0x1FC diff --git a/data/help_system.s b/data/help_system.s deleted file mode 100644 index 3031f4c7f..000000000 --- a/data/help_system.s +++ /dev/null @@ -1,8 +0,0 @@ - .section .rodata - .align 2 - -gUnknown_8464008:: @ 8464008 - .incbin "baserom.gba", 0x464008, 0x120 - -gUnknown_8464128:: @ 8464128 - .incbin "baserom.gba", 0x464128, 0x20 diff --git a/graphics/help_system/unk_8464008.png b/graphics/help_system/unk_8464008.png new file mode 100644 index 000000000..339a685d5 Binary files /dev/null and b/graphics/help_system/unk_8464008.png differ diff --git a/include/constants/songs.h b/include/constants/songs.h index b83b84f26..1f65585bd 100644 --- a/include/constants/songs.h +++ b/include/constants/songs.h @@ -252,6 +252,10 @@ #define SE_W063B 247 #define SE_CASHIER 248 +#define SE_HELP_OPEN 250 +#define SE_HELP_CLOSE 251 +#define SE_HELP_PAGE 252 + #define MUS_ME_ASA 256 #define MUS_FANFA1 257 #define MUS_FANFA4 258 @@ -480,4 +484,4 @@ #define BGM_BATTLE30 483 #define BGM_ROUTE_118 0x7FFF // What is this for? -#endif // GUARD_CONSTANTS_SONGS_H +#endif \ No newline at end of file diff --git a/include/help_system.h b/include/help_system.h index 1f8b7bbbb..ff45125b2 100644 --- a/include/help_system.h +++ b/include/help_system.h @@ -27,11 +27,15 @@ extern struct ListMenuItem gUnknown_203F1AC[]; extern bool8 gUnknown_3005ECC; extern u8 gUnknown_203F175; +// help_system_812B1E0 void sub_812B1E0(u8); -void sub_812B484(void); -void sub_812B4B8(void); void HelpSystem_SetSomeVariable2(u8); +bool8 sub_812B40C(void); +bool8 sub_812B45C(void); void sub_812B478(void); +void sub_812B484(void); +void sub_812B4B8(void); +bool8 sub_812BB9C(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); bool8 sub_812BC54(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); bool8 sub_812BC80(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); bool8 sub_812BCA8(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); @@ -42,6 +46,8 @@ bool8 sub_812BD98(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1 bool8 sub_812BE10(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); bool8 sub_812BEEC(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); bool8 sub_812BF18(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); + +// help_system void sub_813C64C(struct HelpSystemStruct_203F190 *, u8, u8); void sub_813C4CC(const u8 *, u8, u8); void sub_813BDA4(u8); diff --git a/include/m4a.h b/include/m4a.h index 24b454104..2bb7f2124 100644 --- a/include/m4a.h +++ b/include/m4a.h @@ -5,6 +5,11 @@ #include "gba/m4a_internal.h" +extern struct MusicPlayerInfo gMPlayInfo_BGM; +extern struct MusicPlayerInfo gMPlayInfo_SE1; +extern struct MusicPlayerInfo gMPlayInfo_SE2; +extern struct MusicPlayerInfo gMPlayInfo_SE3; + void m4aSoundVSync(void); void m4aSoundVSyncOn(void); diff --git a/include/songs.h b/include/songs.h deleted file mode 100644 index f8d0fbf5b..000000000 --- a/include/songs.h +++ /dev/null @@ -1,468 +0,0 @@ -#ifndef GUARD_SONGS_H -#define GUARD_SONGS_H - -#include "global.h" - -enum -{ - /*0x00*/ SE_STOP, - /*0x01*/ SE_KAIFUKU, - /*0x02*/ SE_PC_LOGON, - /*0x03*/ SE_PC_OFF, - /*0x04*/ SE_PC_ON, - /*0x05*/ SE_SELECT, - /*0x06*/ SE_WIN_OPEN, - /*0x07*/ SE_WALL_HIT, - /*0x08*/ SE_DOOR, - /*0x09*/ SE_KAIDAN, - /*0x0A*/ SE_DANSA, - /*0x0B*/ SE_JITENSYA, - /*0x0C*/ SE_KOUKA_L, // Goggle told me Kouka means 'effectiveness' which makes sense, because - /*0x0D*/ SE_KOUKA_M, // those three sounds play whenever you use a move - /*0x0E*/ SE_KOUKA_H, - /*0x0F*/ SE_BOWA2, - /*0x10*/ SE_POKE_DEAD, - /*0x11*/ SE_NIGERU, - /*0x12*/ SE_JIDO_DOA, - /*0x13*/ SE_NAMINORI, - /*0x14*/ SE_BAN, - /*0x15*/ SE_PIN, - /*0x16*/ SE_BOO, - /*0x17*/ SE_BOWA, - /*0x18*/ SE_JYUNI, - /*0x19*/ SE_A, - /*0x1A*/ SE_I, - /*0x1B*/ SE_U, - /*0x1C*/ SE_E, - /*0x1D*/ SE_O, - /*0x1E*/ SE_N, - /*0x1F*/ SE_SEIKAI, - /*0x20*/ SE_HAZURE, - /*0x21*/ SE_EXP, - /*0x22*/ SE_JITE_PYOKO, - /*0x23*/ SE_MU_PACHI, - /*0x24*/ SE_TK_KASYA, - /*0x25*/ SE_FU_ZAKU, - /*0x26*/ SE_FU_ZAKU2, - /*0x27*/ SE_FU_ZUZUZU, - /*0x28*/ SE_RU_GASHIN, - /*0x29*/ SE_RU_GASYAN, - /*0x2A*/ SE_RU_BARI, - /*0x2B*/ SE_RU_HYUU, - /*0x2C*/ SE_KI_GASYAN, - /*0x2D*/ SE_TK_WARPIN, - /*0x2E*/ SE_TK_WARPOUT, - /*0x2F*/ SE_TU_SAA, - /*0x30*/ SE_HI_TURUN, - /*0x31*/ SE_TRACK_MOVE, - /*0x32*/ SE_TRACK_STOP, - /*0x33*/ SE_TRACK_HAIK, - /*0x34*/ SE_TRACK_DOOR, - /*0x35*/ SE_MOTER, - /*0x36*/ SE_CARD, - /*0x37*/ SE_SAVE, - /*0x38*/ SE_KON, - /*0x39*/ SE_KON2, - /*0x3A*/ SE_KON3, - /*0x3B*/ SE_KON4, - /*0x3C*/ SE_SUIKOMU, - /*0x3D*/ SE_NAGERU, - SE_TOY_C, - SE_TOY_D, - SE_TOY_E, - SE_TOY_F, - SE_TOY_G, - SE_TOY_A, - SE_TOY_B, - SE_TOY_C1, - SE_MIZU, - SE_HASHI, - SE_DAUGI, - SE_PINPON, - SE_FUUSEN1, - SE_FUUSEN2, - SE_FUUSEN3, - SE_TOY_KABE, - SE_TOY_DANGO, - SE_DOKU, - SE_ESUKA, - SE_T_AME, - SE_T_AME_E, - SE_T_OOAME, - SE_T_OOAME_E, - SE_T_KOAME, - SE_T_KOAME_E, - SE_T_KAMI, - SE_T_KAMI2, - SE_ELEBETA, - /*0x5A*/ SE_HINSI, - /*0x5B*/ SE_EXPMAX, - /*0x5C*/ SE_TAMAKORO, - /*0x5D*/ SE_TAMAKORO_E, - /*0x5E*/ SE_BASABASA, - /*0x5F*/ SE_REGI, - SE_C_GAJI, - SE_C_MAKU_U, - SE_C_MAKU_D, - SE_C_PASI, - SE_C_SYU, - SE_C_PIKON, - /*0x66*/ SE_REAPOKE, - /*0x67*/ SE_OP_BASYU, - /*0x68*/ SE_BT_START, - SE_DENDOU, - SE_JIHANKI, - SE_TAMA, - SE_Z_SCROLL, - /*0x6D*/ SE_Z_PAGE, - /*0x6E*/ SE_PN_ON, - /*0x6F*/ SE_PN_OFF, - /*0x70*/ SE_Z_SEARCH, - /*0x71*/ SE_TAMAGO, - /*0x72*/ SE_TB_START, - /*0x73*/ SE_TB_KON, - /*0x74*/ SE_TB_KARA, - /*0x75*/ SE_BIDORO, - /*0x76*/ SE_W085, - /*0x77*/ SE_W085B, - /*0x78*/ SE_W231, - /*0x79*/ SE_W171, - /*0x7A*/ SE_W233, - /*0x7B*/ SE_W233B, - /*0x7C*/ SE_W145, - /*0x7D*/ SE_W145B, - /*0x7E*/ SE_W145C, - /*0x7F*/ SE_W240, - /*0x80*/ SE_W015, - /*0x81*/ SE_W081, - /*0x82*/ SE_W081B, - /*0x83*/ SE_W088, - /*0x84*/ SE_W016, - /*0x85*/ SE_W016B, - /*0x86*/ SE_W003, - /*0x87*/ SE_W104, - /*0x88*/ SE_W013, - /*0x89*/ SE_W196, - /*0x8A*/ SE_W086, - /*0x8B*/ SE_W004, - /*0x8C*/ SE_W025, - /*0x8D*/ SE_W025B, - SE_W152, - SE_W026, - SE_W172, - SE_W172B, - SE_W053, - SE_W007, - SE_W092, - SE_W221, - SE_W221B, - SE_W052, - SE_W036, - SE_W059, - SE_W059B, - SE_W010, - SE_W011, - SE_W017, - SE_W019, - SE_W028, - SE_W013B, - SE_W044, - SE_W029, - SE_W057, - SE_W056, - SE_W250, - SE_W030, - SE_W039, - SE_W054, - SE_W077, - SE_W020, - SE_W082, - SE_W047, - SE_W195, - SE_W006, - SE_W091, - SE_W146, - SE_W120, - SE_W153, - SE_W071B, - SE_W071, - SE_W103, - /*0xB6*/ SE_W062, - /*0xB7*/ SE_W062B, - /*0xB8*/ SE_W048, - /*0xB9*/ SE_W187, - /*0xBA*/ SE_W118, - /*0xBB*/ SE_W155, - /*0xBC*/ SE_W122, - /*0xBD*/ SE_W060, - /*0xBE*/ SE_W185, - /*0xBF*/ SE_W014, - /*0xC0*/ SE_W043, - /*0xC1*/ SE_W207, - /*0xC2*/ SE_W207B, - /*0xC3*/ SE_W215, - /*0xC4*/ SE_W109, - /*0xC5*/ SE_W173, - /*0xC6*/ SE_W280, - /*0xC7*/ SE_W202, - /*0xC8*/ SE_W060B, - /*0xC9*/ SE_W076, - /*0xCA*/ SE_W080, - /*0xCB*/ SE_W100, - /*0xCC*/ SE_W107, - SE_W166, - SE_W129, - SE_W115, - SE_W112, - SE_W197, - SE_W199, - SE_W236, - SE_W204, - SE_W268, - SE_W070, - SE_W063, - SE_W127, - SE_W179, - SE_W151, - SE_W201, - SE_W161, - SE_W161B, - SE_W227, - SE_W227B, - SE_W226, - SE_W208, - SE_W213, - SE_W213B, - SE_W234, - SE_W260, - SE_W328, - SE_W320, - SE_W255, - SE_W291, - SE_W089, - SE_W239, - SE_W230, - SE_W281, - SE_W327, - SE_W287, - SE_W257, - SE_W253, - SE_W258, - SE_W322, - SE_W298, - SE_W287B, - SE_W114, - SE_W063B, - BGM_STOP = 349, - /*0x15E*/ BGM_TETSUJI, - /*0x15F*/ BGM_FIELD13, - /*0x160*/ BGM_KACHI22, - /*0x161*/ BGM_KACHI2, - /*0x162*/ BGM_KACHI3, - /*0x163*/ BGM_KACHI5, - /*0x164*/ BGM_PCC, - /*0x165*/ BGM_NIBI, - /*0x166*/ BGM_SUIKUN, - /*0x167*/ BGM_DOORO1, - /*0x168*/ BGM_DOORO_X1, - /*0x169*/ BGM_DOORO_X3, - /*0x16A*/ BGM_MACHI_S2, - /*0x16B*/ BGM_MACHI_S4, - /*0x16C*/ BGM_GIM, - /*0x16D*/ BGM_NAMINORI, - /*0x16E*/ BGM_DAN01, - /*0x16F*/ BGM_FANFA1, - /*0x170*/ BGM_ME_ASA, - /*0x171*/ BGM_ME_BACHI, - /*0x172*/ BGM_FANFA4, - /*0x173*/ BGM_FANFA5, - /*0x174*/ BGM_ME_WAZA, - /*0x175*/ BGM_BIJYUTU, - /*0x176*/ BGM_DOORO_X4, - /*0x177*/ BGM_FUNE_KAN, - /*0x178*/ BGM_ME_SHINKA, - /*0x179*/ BGM_SHINKA, - /*0x17A*/ BGM_ME_WASURE, - /*0x17B*/ BGM_SYOUJOEYE, - /*0x17C*/ BGM_BOYEYE, - /*0x17D*/ BGM_DAN02, - /*0x17E*/ BGM_MACHI_S3, - /*0x17F*/ BGM_ODAMAKI, - /*0x180*/ BGM_B_TOWER, - /*0x181*/ BGM_SWIMEYE, - /*0x182*/ BGM_DAN03, - /*0x183*/ BGM_ME_KINOMI, - /*0x184*/ BGM_ME_TAMA, - /*0x185*/ BGM_ME_B_BIG, - /*0x186*/ BGM_ME_B_SMALL, - /*0x187*/ BGM_ME_ZANNEN, - /*0x188*/ BGM_BD_TIME, - /*0x189*/ BGM_TEST1, - /*0x18A*/ BGM_TEST2, - /*0x18B*/ BGM_TEST3, - /*0x18C*/ BGM_TEST4, - /*0x18D*/ BGM_TEST, - /*0x18E*/ BGM_GOMACHI0, - /*0x18F*/ BGM_GOTOWN, - /*0x190*/ BGM_POKECEN, - /*0x191*/ BGM_NEXTROAD, - /*0x192*/ BGM_GRANROAD, - /*0x193*/ BGM_CYCLING, - /*0x194*/ BGM_FRIENDLY, - /*0x195*/ BGM_MISHIRO, - /*0x196*/ BGM_TOZAN, - /*0x197*/ BGM_GIRLEYE, - /*0x198*/ BGM_MINAMO, - /*0x199*/ BGM_ASHROAD, - /*0x19A*/ BGM_EVENT0, - /*0x19B*/ BGM_DEEPDEEP, - /*0x19C*/ BGM_KACHI1, - /*0x19D*/ BGM_TITLE3, - /*0x19E*/ BGM_DEMO1, - /*0x19F*/ BGM_GIRL_SUP, - /*0x1A0*/ BGM_HAGESHII, - /*0x1A1*/ BGM_KAKKOII, - /*0x1A2*/ BGM_KAZANBAI, - /*0x1A3*/ BGM_AQA_0, - /*0x1A4*/ BGM_TSURETEK, - /*0x1A5*/ BGM_BOY_SUP, - /*0x1A6*/ BGM_RAINBOW, - /*0x1A7*/ BGM_AYASII, - /*0x1A8*/ BGM_KACHI4, - /*0x1A9*/ BGM_ROPEWAY, - /*0x1AA*/ BGM_CASINO, - /*0x1AB*/ BGM_HIGHTOWN, - /*0x1AC*/ BGM_SAFARI, - BGM_C_ROAD, - BGM_AJITO, - BGM_M_BOAT, - BGM_M_DUNGON, - BGM_FINECITY, - BGM_MACHUPI, - BGM_P_SCHOOL, - BGM_DENDOU, - BGM_TONEKUSA, - BGM_MABOROSI, - BGM_CON_FAN, - BGM_CONTEST0, - BGM_MGM0, - BGM_T_BATTLE, - BGM_OOAME, - BGM_HIDERI, - BGM_RUNECITY, - BGM_CON_K, - BGM_EIKOU_R, - BGM_KARAKURI, - BGM_HUTAGO, - BGM_SITENNOU, - BGM_YAMA_EYE, - BGM_CONLOBBY, - BGM_INTER_V, - BGM_DAIGO, - BGM_THANKFOR, - BGM_END, - /*0x1C9*/ BGM_BATTLE_FRONTIER, // human-readable names start here because we don't know the actual filenames - BGM_BATTLE_ARENA, - BGM_ME_BATTLE_POINTS, // ME_ as in messagebox? Used for KINOMI (berries) and stuff above - BGM_ME_MATCH_CALL, - BGM_BATTLE_PYRAMID, - BGM_BATTLE_PYRAMID_SUMMIT, - BGM_BATTLE_PALACE, - BGM_FANFA_RAYQUAZA, - BGM_BATTLE_TOWER, - BGM_ME_BATTLE_SYMBOL, - BGM_BATTLE_DOME_TOURNAMENT, - BGM_BATTLE_PIKE, - BGM_BATTLE_FACTORY, - BGM_BATTLE_LEGENDARY, - BGM_BATTLE_FRONTIER_BRAIN, - BGM_BATTLE_MEW, - BGM_BATTLE_DOME, // end of the human-readable names - /*0x1DA*/ BGM_BATTLE27, // wild - BGM_BATTLE31, // aqua/magma grunt - BGM_BATTLE20, // trainer - BGM_BATTLE32, // gym leader - BGM_BATTLE33, // champion - BGM_BATTLE36, // regi - BGM_BATTLE34, // weather trio - BGM_BATTLE35, // rival - BGM_BATTLE38, // elite four - BGM_BATTLE30, // aqua/magma leader - /*0x1E4*/ BGM_FRLG_FOLLOW_ME, // FR/LG names not known, human-readable again! - BGM_FRLG_GAMECORNER, - BGM_FRLG_ROCKET_HIDEOUT, - BGM_FRLG_GYM, - BGM_FRLG_JIGGLYPUFF, - BGM_FRLG_OPENING, - BGM_FRLG_TITLE, - BGM_FRLG_CINNABAR_ISLAND, - BGM_FRLG_LAVENDER_TOWN, - BGM_FRLG_HEALING_TEST, - BGM_FRLG_BICYCLE, - BGM_FRLG_SUSPICIOUS_EYE, - BGM_FRLG_GIRL_EYE, - BGM_FRLG_BOY_EYE, - BGM_FRLG_CONGRATULATIONS_HALL_OF_FAME, - BGM_FRLG_VIRIDIAN_FOREST, - BGM_FRLG_MT_MOON, - BGM_FRLG_POKEMON_MANSION, - BGM_FRLG_CREDITS, - BGM_FRLG_ROUTE_1, - BGM_FRLG_ROUTE_24, - BGM_FRLG_ROUTE_3, - BGM_FRLG_ROUTE_11, - BGM_FRLG_INDIGO_PLATEAU, - BGM_FRLG_BATTLE_LEADER, - BGM_FRLG_BATTLE_TRAINER, - BGM_FRLG_BATTLE_WILD_POKEMON, - BGM_FRLG_BATTLE_CHAMPION, - BGM_FRLG_PALLET_TOWN, - BGM_FRLG_OAK_LAB, - BGM_FRLG_PROF_OAK, - BGM_FRLG_POKEMON_CENTER, - BGM_FRLG_SS_ANNE, - BGM_FRLG_SURF, - BGM_FRLG_POKEMON_TOWER, - BGM_FRLG_SILPH, - BGM_FRLG_CERULEAN_CITY, - BGM_FRLG_CELADON_CITY, - BGM_FRLG_KACHI_TRAINER, // KACHI used in RS test - victory - BGM_FRLG_KACHI_WILD_POKEMON, - BGM_FRLG_KACHI_LEADER, - BGM_FRLG_VERMILION_CITY, - BGM_FRLG_VIRIDIAN_CITY, - BGM_FRLG_RIVAL, - BGM_FRLG_RIVAL_POSTBATTLE, - BGM_FRLG_ME_POKEDEX_EVAL, - BGM_FRLG_ME_KEYITEM, - BGM_FRLG_FANFA_POKEMON_CAUGHT, - BGM_FRLG_FANFA_TRAINERCARD_PHOTO, - BGM_FRLG_GAMEFREAK_LOGO, - BGM_FRLG_CAUGHT_POKEMON, - BGM_FRLG_GAME_EXPLANATION_START, - BGM_FRLG_GAME_EXPLANATION_MIDDLE, - BGM_FRLG_GAME_EXPLANATION_END, - BGM_FRLG_POKEMON_JUMP, - BGM_FRLG_UNION_ROOM, - BGM_FRLG_POKEMON_NETWORK_CENTER, - BGM_FRLG_MYSTERY_GIFT, - BGM_FRLG_DODRIO_BERRY_PICK, - BGM_FRLG_MT_EMBER, - BGM_FRLG_TEACHY_TV_EPISODE, - BGM_FRLG_SEVII_ISLANDS, - BGM_FRLG_TANOBY_RUINS, - BGM_FRLG_ISLAND_ONE, - BGM_FRLG_ISLAND_FOUR, - BGM_FRLG_ISLAND_SIX, - BGM_FRLG_FLUTE, - BGM_FRLG_BATTLE_DEOXYS, - BGM_FRLG_BATTLE_MEWTWO, - BGM_FRLG_BATTLE_LEGENDARY, - BGM_FRLG_LEADER_EYE, - BGM_FRLG_DEOXYS_EYE, - BGM_FRLG_TRAINER_TOWER, - BGM_FRLG_HALL_OF_FAME_PALLET_TOWN, - /*0x22E*/BGM_FRLG_TEACHY_TV, -}; - -#endif // GUARD_SONGS_H diff --git a/include/strings.h b/include/strings.h index 6cc6b93c1..bc2aab3f8 100644 --- a/include/strings.h +++ b/include/strings.h @@ -142,4 +142,8 @@ extern const u8 gUnknown_841DFAC[]; extern const u8 gUnknown_841DFBE[]; extern const u8 gUnknown_841DFC9[]; +// help_system +extern const u8 gUnknown_841CB49[]; +extern const u8 gUnknown_841CB4E[]; + #endif //GUARD_STRINGS_H diff --git a/ld_script.txt b/ld_script.txt index 599d3711a..48b70b1b1 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -428,7 +428,7 @@ SECTIONS { data/menu_indicators.o(.rodata); data/pokedex_area_markers.o(.rodata); data/pokemon_summary_screen.o(.rodata); - data/help_system.o(.rodata); + src/help_system.o(.rodata); data/wild_pokemon_area.o(.rodata); data/unk_text_util.o(.rodata); data/berry_pouch.o(.rodata); diff --git a/src/help_system.c b/src/help_system.c index 522890780..e7c29a39d 100644 --- a/src/help_system.c +++ b/src/help_system.c @@ -1,7 +1,14 @@ #include "global.h" +#include "decompress.h" +#include "gpu_regs.h" #include "main.h" +#include "m4a.h" +#include "dma3.h" #include "help_system.h" #include "list_menu.h" +#include "sound.h" +#include "strings.h" +#include "constants/songs.h" struct HelpSystemVideoState { @@ -16,6 +23,21 @@ struct HelpSystemVideoState /*0x15*/ u8 state; }; +void sub_813BB38(void); +void sub_813BB74(void); +void sub_813BBAC(void); +void sub_813BBC8(void); +void sub_813BBDC(void); +void sub_813BCF4(void); +void sub_813BBF4(void); +void sub_813BD14(u8); +void sub_813BF50(u8); +void sub_813BC2C(void); +void sub_813BC48(void); +void sub_813BC5C(void); +void sub_813C454(const u8 * str); +void sub_813C5D4(void); + EWRAM_DATA u8 gUnknown_203B174[0x4000] = {0}; EWRAM_DATA u8 gUnknown_203F174 = 0; EWRAM_DATA u8 gUnknown_203F175 = 0; @@ -24,3 +46,105 @@ EWRAM_DATA u8 gUnknown_203F177 = 0; EWRAM_DATA struct HelpSystemVideoState gUnknown_203F178 = {0}; EWRAM_DATA struct HelpSystemStruct_203F190 gUnknown_203F190 = {0}; EWRAM_DATA struct ListMenuItem gUnknown_203F1AC[52] = {0}; + +const u16 gUnknown_8464008[] = INCBIN_U16("graphics/help_system/unk_8464008.4bpp"); +const u16 gUnknown_8464128[] = INCBIN_U16("graphics/help_system/unk_8464008.gbapal"); + +u8 sub_813B870(void) +{ + s32 i; + + switch (gUnknown_203F178.state) + { + case 0: + gUnknown_203F177 = 0; + if (gSaveBlock2Ptr->optionsButtonMode != OPTIONS_BUTTON_MODE_NORMAL) + return 0; + if (JOY_NEW(R_BUTTON) && gUnknown_203F175 == 1) + return 0; + if (JOY_NEW(L_BUTTON | R_BUTTON)) + { + if (!sub_812B45C() || !gUnknown_3005ECC) + { + PlaySE(SE_HELP_PAGE); + return 0; + } + m4aMPlayStop(&gMPlayInfo_SE1); + m4aMPlayStop(&gMPlayInfo_SE2); + PlaySE(SE_HELP_OPEN); + if (!gUnknown_203F174) + m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 0x80); + sub_813BB38(); + gUnknown_203F177 = 1; + gUnknown_203F178.state = 1; + } + break; + case 1: + sub_813BBAC(); + sub_813BB74(); + sub_813BBC8(); + (*(vu16 *)PLTT) = gUnknown_8464128[15]; + SetGpuReg(REG_OFFSET_DISPCNT, 0); + gUnknown_203F178.state = 2; + break; + case 2: + RequestDma3Fill(0, (void *)BG_CHAR_ADDR(3), BG_CHAR_SIZE, 0); + RequestDma3Copy(gUnknown_8464128, (void *)PLTT, sizeof(gUnknown_8464128), 0); + RequestDma3Copy(gUnknown_8464008, gDecompressionBuffer + 0x3EE0, sizeof(gUnknown_8464008), 0); + gUnknown_203F178.state = 3; + break; + case 3: + sub_813BCF4(); + sub_813C5D4(); + sub_813C5FC(); + sub_813C454(gUnknown_841CB49); + sub_813BD14(1); + if (sub_812B40C() == TRUE) + sub_812BC54(&gUnknown_203F190, gUnknown_203F1AC); + else + sub_812BCA8(&gUnknown_203F190, gUnknown_203F1AC); + sub_813BE78(1); + sub_813BF50(1); + sub_813BC5C(); + gUnknown_203F178.state = 4; + break; + case 4: + SetGpuReg(REG_OFFSET_BLDCNT, 0); + SetGpuReg(REG_OFFSET_BG0HOFS, 0); + SetGpuReg(REG_OFFSET_BG0VOFS, 0); + SetGpuReg(REG_OFFSET_BG0CNT, BGCNT_PRIORITY(0) | BGCNT_CHARBASE(3) | BGCNT_16COLOR | BGCNT_SCREENBASE(31)); + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_BG0_ON); + gUnknown_203F178.state = 5; + break; + case 5: + if (!sub_812BB9C(&gUnknown_203F190, gUnknown_203F1AC)) + { + PlaySE(SE_HELP_CLOSE); + gUnknown_203F178.state = 6; + } + break; + case 6: + SetGpuReg(REG_OFFSET_DISPCNT, 0); + sub_813BC2C(); + for (i = 0; i < 0x200; i += 2) + { + *((vu16 *)(PLTT + 0x000 + i)) = gUnknown_8464128[15]; + *((vu16 *)(PLTT + 0x200 + i)) = gUnknown_8464128[15]; + } + gUnknown_203F178.state = 7; + break; + case 7: + if (!gUnknown_203F174) + m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 0x100); + sub_813BC48(); + sub_813BBF4(); + gUnknown_203F178.state = 8; + break; + case 8: + sub_813BBDC(); + gUnknown_203F177 = 0; + gUnknown_203F178.state = 0; + break; + } + return gUnknown_203F178.state; +} -- cgit v1.2.3 From 15722bdd2de42ded6cb379140cd7b1103aa44007 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 13 Jun 2019 10:33:01 -0400 Subject: help_system: through sub_813BC5C --- asm/help_system.s | 170 ------------------------------------------------------ src/help_system.c | 91 ++++++++++++++++++++++++++++- 2 files changed, 89 insertions(+), 172 deletions(-) diff --git a/asm/help_system.s b/asm/help_system.s index a53ad9457..276195831 100644 --- a/asm/help_system.s +++ b/asm/help_system.s @@ -5,176 +5,6 @@ .text - thumb_func_start sub_813BB38 -sub_813BB38: @ 813BB38 - ldr r2, _0813BB60 @ =gUnknown_203F178 - ldr r1, _0813BB64 @ =gMain - ldr r0, [r1, 0xC] - str r0, [r2] - ldr r0, [r1, 0x10] - str r0, [r2, 0x4] - movs r0, 0 - str r0, [r1, 0xC] - str r0, [r1, 0x10] - ldr r1, _0813BB68 @ =0x040000b0 - ldrh r2, [r1, 0xA] - ldr r0, _0813BB6C @ =0x0000c5ff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r2, [r1, 0xA] - ldr r0, _0813BB70 @ =0x00007fff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r0, [r1, 0xA] - bx lr - .align 2, 0 -_0813BB60: .4byte gUnknown_203F178 -_0813BB64: .4byte gMain -_0813BB68: .4byte 0x040000b0 -_0813BB6C: .4byte 0x0000c5ff -_0813BB70: .4byte 0x00007fff - thumb_func_end sub_813BB38 - - thumb_func_start sub_813BB74 -sub_813BB74: @ 813BB74 - push {r4,lr} - movs r0, 0 - bl GetGpuReg - ldr r4, _0813BBA8 @ =gUnknown_203F178 - strh r0, [r4, 0x8] - movs r0, 0x8 - bl GetGpuReg - strh r0, [r4, 0xA] - movs r0, 0x10 - bl GetGpuReg - strh r0, [r4, 0xC] - movs r0, 0x12 - bl GetGpuReg - strh r0, [r4, 0xE] - movs r0, 0x50 - bl GetGpuReg - strh r0, [r4, 0x10] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813BBA8: .4byte gUnknown_203F178 - thumb_func_end sub_813BB74 - - thumb_func_start sub_813BBAC -sub_813BBAC: @ 813BBAC - push {lr} - ldr r0, _0813BBC0 @ =0x0600c000 - ldr r1, _0813BBC4 @ =gUnknown_203B174 - movs r2, 0x80 - lsls r2, 7 - movs r3, 0 - bl RequestDma3Copy - pop {r0} - bx r0 - .align 2, 0 -_0813BBC0: .4byte 0x0600c000 -_0813BBC4: .4byte gUnknown_203B174 - thumb_func_end sub_813BBAC - - thumb_func_start sub_813BBC8 -sub_813BBC8: @ 813BBC8 - push {lr} - ldr r0, _0813BBD8 @ =gUnknown_203F178 + 0x12 - adds r1, r0, 0x1 - adds r2, r0, 0x2 - bl SaveTextColors - pop {r0} - bx r0 - .align 2, 0 -_0813BBD8: .4byte gUnknown_203F178 + 0x12 - thumb_func_end sub_813BBC8 - - thumb_func_start sub_813BBDC -sub_813BBDC: @ 813BBDC - ldr r2, _0813BBEC @ =gMain - ldr r1, _0813BBF0 @ =gUnknown_203F178 - ldr r0, [r1] - str r0, [r2, 0xC] - ldr r0, [r1, 0x4] - str r0, [r2, 0x10] - bx lr - .align 2, 0 -_0813BBEC: .4byte gMain -_0813BBF0: .4byte gUnknown_203F178 - thumb_func_end sub_813BBDC - - thumb_func_start sub_813BBF4 -sub_813BBF4: @ 813BBF4 - push {r4,lr} - ldr r4, _0813BC28 @ =gUnknown_203F178 - ldrh r1, [r4, 0x10] - movs r0, 0x50 - bl SetGpuReg - ldrh r1, [r4, 0xC] - movs r0, 0x10 - bl SetGpuReg - ldrh r1, [r4, 0xE] - movs r0, 0x12 - bl SetGpuReg - ldrh r1, [r4, 0xA] - movs r0, 0x8 - bl SetGpuReg - ldrh r1, [r4, 0x8] - movs r0, 0 - bl SetGpuReg - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813BC28: .4byte gUnknown_203F178 - thumb_func_end sub_813BBF4 - - thumb_func_start sub_813BC2C -sub_813BC2C: @ 813BC2C - push {lr} - ldr r0, _0813BC40 @ =gUnknown_203B174 - ldr r1, _0813BC44 @ =0x0600c000 - movs r2, 0x80 - lsls r2, 7 - movs r3, 0 - bl RequestDma3Copy - pop {r0} - bx r0 - .align 2, 0 -_0813BC40: .4byte gUnknown_203B174 -_0813BC44: .4byte 0x0600c000 - thumb_func_end sub_813BC2C - - thumb_func_start sub_813BC48 -sub_813BC48: @ 813BC48 - push {lr} - ldr r0, _0813BC58 @ =gUnknown_203F178 + 0x12 - adds r1, r0, 0x1 - adds r2, r0, 0x2 - bl RestoreTextColors - pop {r0} - bx r0 - .align 2, 0 -_0813BC58: .4byte gUnknown_203F178 + 0x12 - thumb_func_end sub_813BC48 - - thumb_func_start sub_813BC5C -sub_813BC5C: @ 813BC5C - push {lr} - ldr r0, _0813BC70 @ =gDecompressionBuffer - ldr r1, _0813BC74 @ =0x0600c000 - movs r2, 0x80 - lsls r2, 7 - movs r3, 0 - bl RequestDma3Copy - pop {r0} - bx r0 - .align 2, 0 -_0813BC70: .4byte gDecompressionBuffer -_0813BC74: .4byte 0x0600c000 - thumb_func_end sub_813BC5C - thumb_func_start sub_813BC78 sub_813BC78: @ 813BC78 push {r4-r7,lr} diff --git a/src/help_system.c b/src/help_system.c index e7c29a39d..79ae6ac90 100644 --- a/src/help_system.c +++ b/src/help_system.c @@ -8,8 +8,24 @@ #include "list_menu.h" #include "sound.h" #include "strings.h" +#include "text.h" #include "constants/songs.h" +struct DmaController +{ + void * dest; + void * src; + u32 size:21; + u32 destMode:2; + u32 srcMode:2; + u32 repeat:1; + u32 width:1; + u32 dreqOn:1; + u32 startMode:3; + u32 intrEnable:1; + u32 dmaEnable:1; +}; + struct HelpSystemVideoState { /*0x00*/ MainCallback savedVblankCb; @@ -19,7 +35,7 @@ struct HelpSystemVideoState /*0x0c*/ u16 savedBg0Hofs; /*0x0e*/ u16 savedBg0Vofs; /*0x10*/ u16 savedBldCnt; - /*0x12*/ u8 savedTextColor[3]; + /*0x12*/ struct TextColor savedTextColor; /*0x15*/ u8 state; }; @@ -38,7 +54,7 @@ void sub_813BC5C(void); void sub_813C454(const u8 * str); void sub_813C5D4(void); -EWRAM_DATA u8 gUnknown_203B174[0x4000] = {0}; +EWRAM_DATA u8 gUnknown_203B174[BG_CHAR_SIZE] = {0}; EWRAM_DATA u8 gUnknown_203F174 = 0; EWRAM_DATA u8 gUnknown_203F175 = 0; EWRAM_DATA u8 gUnknown_203F176 = 0; @@ -148,3 +164,74 @@ u8 sub_813B870(void) } return gUnknown_203F178.state; } + +void sub_813BB38(void) +{ + vu16 * dma; + gUnknown_203F178.savedVblankCb = gMain.vblankCallback; + gUnknown_203F178.savedHblankCb = gMain.hblankCallback; + gMain.vblankCallback = NULL; + gMain.hblankCallback = NULL; + + dma = (void *)REG_ADDR_DMA0; + dma[5] &= ~(DMA_START_MASK | DMA_DREQ_ON | DMA_REPEAT); + dma[5] &= ~DMA_ENABLE; + dma[5]; +} + +void sub_813BB74(void) +{ + gUnknown_203F178.savedDispCnt = GetGpuReg(REG_OFFSET_DISPCNT); + gUnknown_203F178.savedBg0Cnt = GetGpuReg(REG_OFFSET_BG0CNT); + gUnknown_203F178.savedBg0Hofs = GetGpuReg(REG_OFFSET_BG0HOFS); + gUnknown_203F178.savedBg0Vofs = GetGpuReg(REG_OFFSET_BG0VOFS); + gUnknown_203F178.savedBldCnt = GetGpuReg(REG_OFFSET_BLDCNT); +} + +void sub_813BBAC(void) +{ + RequestDma3Copy((void *)BG_CHAR_ADDR(3), gUnknown_203B174, BG_CHAR_SIZE, 0); +} + +void sub_813BBC8(void) +{ + SaveTextColors( + &gUnknown_203F178.savedTextColor.fgColor, + &gUnknown_203F178.savedTextColor.bgColor, + &gUnknown_203F178.savedTextColor.shadowColor + ); +} + +void sub_813BBDC(void) +{ + gMain.vblankCallback = gUnknown_203F178.savedVblankCb; + gMain.hblankCallback = gUnknown_203F178.savedHblankCb; +} + +void sub_813BBF4(void) +{ + SetGpuReg(REG_OFFSET_BLDCNT, gUnknown_203F178.savedBldCnt); + SetGpuReg(REG_OFFSET_BG0HOFS, gUnknown_203F178.savedBg0Hofs); + SetGpuReg(REG_OFFSET_BG0VOFS, gUnknown_203F178.savedBg0Vofs); + SetGpuReg(REG_OFFSET_BG0CNT, gUnknown_203F178.savedBg0Cnt); + SetGpuReg(REG_OFFSET_DISPCNT, gUnknown_203F178.savedDispCnt); +} + +void sub_813BC2C(void) +{ + RequestDma3Copy(gUnknown_203B174, (void *)BG_CHAR_ADDR(3), BG_CHAR_SIZE, 0); +} + +void sub_813BC48(void) +{ + RestoreTextColors( + &gUnknown_203F178.savedTextColor.fgColor, + &gUnknown_203F178.savedTextColor.bgColor, + &gUnknown_203F178.savedTextColor.shadowColor + ); +} + +void sub_813BC5C(void) +{ + RequestDma3Copy(gDecompressionBuffer, (void *)BG_CHAR_ADDR(3), BG_CHAR_SIZE, 0); +} -- cgit v1.2.3 From 2ffcf13f6bd243cac85dff4e2c29ba4b3ae44aa4 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 13 Jun 2019 11:15:37 -0400 Subject: help_system: through sub_813BFC0 --- asm/help_system.s | 493 ------------------------------------------------------ src/help_system.c | 144 ++++++++++++++++ 2 files changed, 144 insertions(+), 493 deletions(-) diff --git a/asm/help_system.s b/asm/help_system.s index 276195831..af1800458 100644 --- a/asm/help_system.s +++ b/asm/help_system.s @@ -5,499 +5,6 @@ .text - thumb_func_start sub_813BC78 -sub_813BC78: @ 813BC78 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r4, [sp, 0x20] - ldr r5, [sp, 0x24] - lsls r0, 16 - lsrs r6, r0, 16 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - lsls r2, 24 - lsls r3, 24 - lsrs r3, 24 - mov r8, r3 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 16 - lsrs r7, r5, 16 - lsrs r0, r2, 24 - adds r2, r0, r4 - cmp r0, r2 - bge _0813BCDE - mov r12, r2 - ldr r1, _0813BCF0 @ =gDecompressionBuffer + 0x3800 - mov r10, r1 -_0813BCAE: - mov r4, r9 - mov r2, r8 - adds r1, r4, r2 - adds r3, r0, 0x1 - cmp r4, r1 - bge _0813BCD6 - lsls r2, r0, 6 - mov r5, r10 -_0813BCBE: - lsls r0, r4, 1 - adds r0, r2, r0 - adds r0, r5 - strh r6, [r0] - adds r0, r6, r7 - lsls r0, 16 - lsrs r6, r0, 16 - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, r1 - blt _0813BCBE -_0813BCD6: - lsls r0, r3, 16 - lsrs r0, 16 - cmp r0, r12 - blt _0813BCAE -_0813BCDE: - bl sub_813BC5C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0813BCF0: .4byte gDecompressionBuffer + 0x3800 - thumb_func_end sub_813BC78 - - thumb_func_start sub_813BCF4 -sub_813BCF4: @ 813BCF4 - push {lr} - sub sp, 0x8 - ldr r0, _0813BD10 @ =0x000001ff - movs r1, 0x14 - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - movs r2, 0 - movs r3, 0x1E - bl sub_813BC78 - add sp, 0x8 - pop {r0} - bx r0 - .align 2, 0 -_0813BD10: .4byte 0x000001ff - thumb_func_end sub_813BCF4 - - thumb_func_start sub_813BD14 -sub_813BD14: @ 813BD14 - push {lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _0813BD26 - cmp r2, 0x1 - beq _0813BD40 - b _0813BD54 -_0813BD26: - ldr r0, _0813BD3C @ =0x000001ff - movs r1, 0x2 - str r1, [sp] - str r2, [sp, 0x4] - movs r1, 0x1 - movs r2, 0 - movs r3, 0x7 - bl sub_813BC78 - b _0813BD54 - .align 2, 0 -_0813BD3C: .4byte 0x000001ff -_0813BD40: - movs r0, 0xF4 - lsls r0, 1 - movs r1, 0x2 - str r1, [sp] - str r2, [sp, 0x4] - movs r1, 0x1 - movs r2, 0 - movs r3, 0x7 - bl sub_813BC78 -_0813BD54: - add sp, 0x8 - pop {r0} - bx r0 - thumb_func_end sub_813BD14 - - thumb_func_start sub_813BD5C -sub_813BD5C: @ 813BD5C - push {lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _0813BD6E - cmp r2, 0x1 - beq _0813BD88 - b _0813BD9C -_0813BD6E: - ldr r0, _0813BD84 @ =0x000001ff - movs r1, 0x2 - str r1, [sp] - str r2, [sp, 0x4] - movs r1, 0xD - movs r2, 0 - movs r3, 0x10 - bl sub_813BC78 - b _0813BD9C - .align 2, 0 -_0813BD84: .4byte 0x000001ff -_0813BD88: - movs r0, 0xD0 - lsls r0, 1 - movs r1, 0x2 - str r1, [sp] - str r2, [sp, 0x4] - movs r1, 0xD - movs r2, 0 - movs r3, 0x10 - bl sub_813BC78 -_0813BD9C: - add sp, 0x8 - pop {r0} - bx r0 - thumb_func_end sub_813BD5C - - thumb_func_start sub_813BDA4 -sub_813BDA4: @ 813BDA4 - push {lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _0813BDB6 - cmp r2, 0x1 - beq _0813BDD0 - b _0813BDE2 -_0813BDB6: - ldr r0, _0813BDCC @ =0x000001ff - movs r1, 0x10 - str r1, [sp] - str r2, [sp, 0x4] - movs r1, 0x2 - movs r2, 0x3 - movs r3, 0x1A - bl sub_813BC78 - b _0813BDE2 - .align 2, 0 -_0813BDCC: .4byte 0x000001ff -_0813BDD0: - movs r0, 0x10 - str r0, [sp] - str r2, [sp, 0x4] - movs r0, 0 - movs r1, 0x2 - movs r2, 0x3 - movs r3, 0x1A - bl sub_813BC78 -_0813BDE2: - add sp, 0x8 - pop {r0} - bx r0 - thumb_func_end sub_813BDA4 - - thumb_func_start sub_813BDE8 -sub_813BDE8: @ 813BDE8 - push {lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _0813BDFA - cmp r2, 0x1 - beq _0813BE14 - b _0813BE2A -_0813BDFA: - ldr r0, _0813BE10 @ =0x000001ff - movs r1, 0x10 - str r1, [sp] - str r2, [sp, 0x4] - movs r1, 0x1 - movs r2, 0x3 - movs r3, 0x1C - bl sub_813BC78 - b _0813BE2A - .align 2, 0 -_0813BE10: .4byte 0x000001ff -_0813BE14: - movs r0, 0xFD - lsls r0, 1 - movs r1, 0x11 - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - movs r1, 0x1 - movs r2, 0x3 - movs r3, 0x1C - bl sub_813BC78 -_0813BE2A: - add sp, 0x8 - pop {r0} - bx r0 - thumb_func_end sub_813BDE8 - - thumb_func_start sub_813BE30 -sub_813BE30: @ 813BE30 - push {lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _0813BE42 - cmp r2, 0x1 - beq _0813BE5C - b _0813BE70 -_0813BE42: - ldr r0, _0813BE58 @ =0x000001ff - movs r1, 0x5 - str r1, [sp] - str r2, [sp, 0x4] - movs r1, 0x2 - movs r2, 0xE - movs r3, 0x1A - bl sub_813BC78 - b _0813BE70 - .align 2, 0 -_0813BE58: .4byte 0x000001ff -_0813BE5C: - movs r0, 0x8F - lsls r0, 1 - movs r1, 0x5 - str r1, [sp] - str r2, [sp, 0x4] - movs r1, 0x2 - movs r2, 0xE - movs r3, 0x1A - bl sub_813BC78 -_0813BE70: - add sp, 0x8 - pop {r0} - bx r0 - thumb_func_end sub_813BE30 - - thumb_func_start sub_813BE78 -sub_813BE78: @ 813BE78 - push {r4-r6,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0 - beq _0813BE8A - cmp r6, 0x1 - beq _0813BEB4 - b _0813BED8 -_0813BE8A: - ldr r5, _0813BEB0 @ =0x000001ff - movs r4, 0x1 - str r4, [sp] - str r6, [sp, 0x4] - adds r0, r5, 0 - movs r1, 0x1 - movs r2, 0x2 - movs r3, 0x1C - bl sub_813BC78 - str r4, [sp] - str r6, [sp, 0x4] - adds r0, r5, 0 - movs r1, 0x1 - movs r2, 0x13 - movs r3, 0x1C - bl sub_813BC78 - b _0813BED8 - .align 2, 0 -_0813BEB0: .4byte 0x000001ff -_0813BEB4: - ldr r0, _0813BEE0 @ =0x000001f7 - str r6, [sp] - movs r4, 0 - str r4, [sp, 0x4] - movs r1, 0x1 - movs r2, 0x2 - movs r3, 0x1C - bl sub_813BC78 - movs r0, 0xFC - lsls r0, 1 - str r6, [sp] - str r4, [sp, 0x4] - movs r1, 0x1 - movs r2, 0x13 - movs r3, 0x1C - bl sub_813BC78 -_0813BED8: - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0813BEE0: .4byte 0x000001f7 - thumb_func_end sub_813BE78 - - thumb_func_start sub_813BEE4 -sub_813BEE4: @ 813BEE4 - push {r4-r6,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0 - beq _0813BEF6 - cmp r6, 0x1 - beq _0813BF20 - b _0813BF44 -_0813BEF6: - ldr r5, _0813BF1C @ =0x000001ff - movs r4, 0x1 - str r4, [sp] - str r6, [sp, 0x4] - adds r0, r5, 0 - movs r1, 0x1 - movs r2, 0x2 - movs r3, 0x1C - bl sub_813BC78 - str r4, [sp] - str r6, [sp, 0x4] - adds r0, r5, 0 - movs r1, 0x1 - movs r2, 0x13 - movs r3, 0x1C - bl sub_813BC78 - b _0813BF44 - .align 2, 0 -_0813BF1C: .4byte 0x000001ff -_0813BF20: - ldr r0, _0813BF4C @ =0x000001fb - str r6, [sp] - movs r4, 0 - str r4, [sp, 0x4] - movs r1, 0x1 - movs r2, 0x2 - movs r3, 0x1C - bl sub_813BC78 - movs r0, 0xFE - lsls r0, 1 - str r6, [sp] - str r4, [sp, 0x4] - movs r1, 0x1 - movs r2, 0x13 - movs r3, 0x1C - bl sub_813BC78 -_0813BF44: - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0813BF4C: .4byte 0x000001fb - thumb_func_end sub_813BEE4 - - thumb_func_start sub_813BF50 -sub_813BF50: @ 813BF50 - push {r4-r6,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0 - beq _0813BF62 - cmp r6, 0x1 - beq _0813BF8C - b _0813BFB2 -_0813BF62: - ldr r5, _0813BF88 @ =0x000001ff - movs r4, 0x14 - str r4, [sp] - str r6, [sp, 0x4] - adds r0, r5, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0x1 - bl sub_813BC78 - str r4, [sp] - str r6, [sp, 0x4] - adds r0, r5, 0 - movs r1, 0x1D - movs r2, 0 - movs r3, 0x1 - bl sub_813BC78 - b _0813BFB2 - .align 2, 0 -_0813BF88: .4byte 0x000001ff -_0813BF8C: - ldr r6, _0813BFBC @ =0x000001f9 - movs r5, 0x14 - str r5, [sp] - movs r4, 0 - str r4, [sp, 0x4] - adds r0, r6, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0x1 - bl sub_813BC78 - str r5, [sp] - str r4, [sp, 0x4] - adds r0, r6, 0 - movs r1, 0x1D - movs r2, 0 - movs r3, 0x1 - bl sub_813BC78 -_0813BFB2: - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0813BFBC: .4byte 0x000001f9 - thumb_func_end sub_813BF50 - - thumb_func_start sub_813BFC0 -sub_813BFC0: @ 813BFC0 - push {lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _0813BFD2 - cmp r2, 0x1 - beq _0813BFE8 - b _0813BFFC -_0813BFD2: - ldr r0, _0813BFE4 @ =0x000001ff - movs r1, 0x1 - str r1, [sp] - str r2, [sp, 0x4] - movs r2, 0x5 - movs r3, 0x1C - bl sub_813BC78 - b _0813BFFC - .align 2, 0 -_0813BFE4: .4byte 0x000001ff -_0813BFE8: - movs r0, 0xFE - lsls r0, 1 - str r2, [sp] - movs r1, 0 - str r1, [sp, 0x4] - movs r1, 0x1 - movs r2, 0x5 - movs r3, 0x1C - bl sub_813BC78 -_0813BFFC: - add sp, 0x8 - pop {r0} - bx r0 - thumb_func_end sub_813BFC0 - thumb_func_start sub_813C004 sub_813C004: @ 813C004 push {r4-r6,lr} diff --git a/src/help_system.c b/src/help_system.c index 79ae6ac90..08120952f 100644 --- a/src/help_system.c +++ b/src/help_system.c @@ -235,3 +235,147 @@ void sub_813BC5C(void) { RequestDma3Copy(gDecompressionBuffer, (void *)BG_CHAR_ADDR(3), BG_CHAR_SIZE, 0); } + +void sub_813BC78(u16 baseTile, u8 left, u8 top, u8 width, u8 height, u16 increment) +{ + u16 i, j; + + for (i = top; i < top + height; i++) + { + for (j = left; j < left + width; j++) + { + *((u16 *)(gDecompressionBuffer + 0x3800 + 64 * i + 2 * j)) = baseTile; + baseTile += increment; + } + } + + sub_813BC5C(); +} + +void sub_813BCF4(void) +{ + sub_813BC78(0x1FF, 0, 0, 30, 20, 0); +} + +void sub_813BD14(u8 mode) +{ + switch (mode) + { + case 0: + sub_813BC78(0x1FF, 1, 0, 7, 2, 0); + break; + case 1: + sub_813BC78(0x1E8, 1, 0, 7, 2, 1); + break; + } +} + +void sub_813BD5C(u8 mode) +{ + switch (mode) + { + case 0: + sub_813BC78(0x1FF, 13, 0, 16, 2, 0); + break; + case 1: + sub_813BC78(0x1A0, 13, 0, 16, 2, 1); + break; + } +} + +void sub_813BDA4(u8 mode) +{ + switch (mode) + { + case 0: + sub_813BC78(0x1FF, 2, 3, 26, 16, 0); + break; + case 1: + sub_813BC78(0x000, 2, 3, 26, 16, 1); + break; + } +} + +void sub_813BDE8(u8 mode) +{ + switch (mode) + { + case 0: + sub_813BC78(0x1FF, 1, 3, 28, 16, 0); + break; + case 1: + sub_813BC78(0x1FA, 1, 3, 28, 17, 0); + break; + } +} + +void sub_813BE30(u8 mode) +{ + switch (mode) + { + case 0: + sub_813BC78(0x1FF, 2, 14, 26, 5, 0); + break; + case 1: + sub_813BC78(0x11E, 2, 14, 26, 5, 1); + break; + } +} + +void sub_813BE78(u8 mode) +{ + switch (mode) + { + case 0: + sub_813BC78(0x1FF, 1, 2, 28, 1, 0); + sub_813BC78(0x1FF, 1, 19, 28, 1, 0); + break; + case 1: + sub_813BC78(0x1F7, 1, 2, 28, 1, 0); + sub_813BC78(0x1F8, 1, 19, 28, 1, 0); + break; + } +} + +void sub_813BEE4(u8 mode) +{ + switch (mode) + { + case 0: + sub_813BC78(0x1FF, 1, 2, 28, 1, 0); + sub_813BC78(0x1FF, 1, 19, 28, 1, 0); + break; + case 1: + sub_813BC78(0x1FB, 1, 2, 28, 1, 0); + sub_813BC78(0x1FC, 1, 19, 28, 1, 0); + break; + } +} + +void sub_813BF50(u8 mode) +{ + switch (mode) + { + case 0: + sub_813BC78(0x1FF, 0, 0, 1, 20, 0); + sub_813BC78(0x1FF, 29, 0, 1, 20, 0); + break; + case 1: + sub_813BC78(0x1F9, 0, 0, 1, 20, 0); + sub_813BC78(0x1F9, 29, 0, 1, 20, 0); + break; + } +} + +void sub_813BFC0(u8 mode) +{ + switch (mode) + { + case 0: + sub_813BC78(0x1FF, 1, 5, 28, 1, 0); + break; + case 1: + sub_813BC78(0x1FC, 1, 5, 28, 1, 0); + break; + } +} -- cgit v1.2.3 From e30052e271c649ae2ca08cbbbdf2dc2052e6ae38 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 13 Jun 2019 13:45:46 -0400 Subject: help_system: through sub_813C3AC --- asm/help_system.s | 540 ----------------------------- data/maps/Route25_SeaCottage/scripts.inc | 2 +- include/constants/flags.h | 2 +- include/strings.h | 2 + include/text.h | 6 +- src/help_system.c | 578 +++++++++++++++++++++++++++++++ src/vs_seeker.c | 2 +- 7 files changed, 588 insertions(+), 544 deletions(-) diff --git a/asm/help_system.s b/asm/help_system.s index af1800458..f7f16ad30 100644 --- a/asm/help_system.s +++ b/asm/help_system.s @@ -5,546 +5,6 @@ .text - thumb_func_start sub_813C004 -sub_813C004: @ 813C004 - push {r4-r6,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r2, r0, 24 - lsls r1, 24 - lsrs r6, r1, 24 - cmp r6, 0 - beq _0813C01A - cmp r6, 0x1 - beq _0813C040 - b _0813C06A -_0813C01A: - ldr r5, _0813C03C @ =0x000001ff - movs r4, 0x1 - str r4, [sp] - str r6, [sp, 0x4] - adds r0, r5, 0 - movs r1, 0x1C - movs r2, 0x3 - movs r3, 0x1 - bl sub_813BC78 - str r4, [sp] - str r6, [sp, 0x4] - adds r0, r5, 0 - movs r1, 0x1C - movs r2, 0x12 - b _0813C050 - .align 2, 0 -_0813C03C: .4byte 0x000001ff -_0813C040: - cmp r2, 0 - bne _0813C058 - movs r0, 0xFF - lsls r0, 1 - str r6, [sp] - str r2, [sp, 0x4] - movs r1, 0x1C - movs r2, 0x3 -_0813C050: - movs r3, 0x1 - bl sub_813BC78 - b _0813C06A -_0813C058: - ldr r0, _0813C074 @ =0x000001fd - str r6, [sp] - movs r1, 0 - str r1, [sp, 0x4] - movs r1, 0x1C - movs r2, 0x12 - movs r3, 0x1 - bl sub_813BC78 -_0813C06A: - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0813C074: .4byte 0x000001fd - thumb_func_end sub_813C004 - - thumb_func_start HelpSystemRenderText -HelpSystemRenderText: @ 813C078 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x38 - str r1, [sp, 0x28] - mov r9, r2 - ldr r1, [sp, 0x58] - ldr r2, [sp, 0x5C] - ldr r4, [sp, 0x60] - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x24] - lsls r3, 24 - lsrs r7, r3, 24 - lsls r1, 24 - lsrs r1, 24 - mov r10, r1 - lsls r2, 24 - lsrs r2, 24 - str r2, [sp, 0x2C] - lsls r4, 24 - lsrs r4, 24 - str r4, [sp, 0x30] - str r7, [sp, 0x34] -_0813C0AC: - mov r0, r9 - ldrb r1, [r0] - movs r2, 0x1 - add r9, r2 - adds r0, r1, 0 - subs r0, 0xF8 - cmp r0, 0x7 - bls _0813C0BE - b _0813C358 -_0813C0BE: - lsls r0, 2 - ldr r1, _0813C0C8 @ =_0813C0CC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0813C0C8: .4byte _0813C0CC - .align 2, 0 -_0813C0CC: - .4byte _0813C2D4 - .4byte _0813C348 - .4byte _0813C1E4 - .4byte _0813C1E4 - .4byte _0813C200 - .4byte _0813C0EC - .4byte _0813C1E4 - .4byte _0813C39C -_0813C0EC: - mov r0, r9 - ldrb r1, [r0] - movs r2, 0x1 - add r9, r2 - cmp r1, 0x1 - bne _0813C154 - movs r4, 0 - ldr r0, _0813C14C @ =gSaveBlock2Ptr - ldr r1, [r0] - ldrb r1, [r1] - cmp r1, 0xFF - beq _0813C0AC - ldr r5, _0813C150 @ =gGlyphInfo + 0x80 -_0813C106: - ldr r0, [r0] - adds r0, r4 - ldrb r1, [r0] - ldr r0, [sp, 0x28] - str r0, [sp] - str r7, [sp, 0x4] - mov r2, r10 - str r2, [sp, 0x8] - ldr r0, [sp, 0x2C] - str r0, [sp, 0xC] - ldr r2, [sp, 0x30] - str r2, [sp, 0x10] - ldr r0, [sp, 0x24] - add r2, sp, 0x14 - add r3, sp, 0x1C - bl sub_813C3AC - ldr r0, [sp, 0x24] - ldrb r0, [r5] - adds r0, r7, r0 - lsls r0, 24 - lsrs r7, r0, 24 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x9 - bhi _0813C0AC - ldr r0, _0813C14C @ =gSaveBlock2Ptr - ldr r1, [r0] - adds r1, r4 - ldrb r1, [r1] - cmp r1, 0xFF - bne _0813C106 - b _0813C0AC - .align 2, 0 -_0813C14C: .4byte gSaveBlock2Ptr -_0813C150: .4byte gGlyphInfo + 0x80 -_0813C154: - cmp r1, 0x2 - bne _0813C0AC - movs r4, 0 - ldr r5, _0813C160 @ =gGlyphInfo + 0x80 - b _0813C1BC - .align 2, 0 -_0813C160: .4byte gGlyphInfo + 0x80 -_0813C164: - ldrb r1, [r1] - ldr r2, [sp, 0x28] - str r2, [sp] - str r7, [sp, 0x4] - mov r0, r10 - str r0, [sp, 0x8] - ldr r2, [sp, 0x2C] - str r2, [sp, 0xC] - ldr r0, [sp, 0x30] - str r0, [sp, 0x10] - ldr r0, [sp, 0x24] - add r2, sp, 0x14 - add r3, sp, 0x1C - bl sub_813C3AC - b _0813C1AC -_0813C184: - ldr r0, _0813C1D8 @ =gUnknown_841CB41 - adds r1, r4, r0 - ldrb r0, [r1] - cmp r0, 0xFF - beq _0813C0AC - adds r1, r0, 0 - ldr r2, [sp, 0x28] - str r2, [sp] - str r7, [sp, 0x4] - mov r0, r10 - str r0, [sp, 0x8] - ldr r2, [sp, 0x2C] - str r2, [sp, 0xC] - ldr r0, [sp, 0x30] - str r0, [sp, 0x10] - ldr r0, [sp, 0x24] - add r2, sp, 0x14 - add r3, sp, 0x1C - bl sub_813C3AC -_0813C1AC: - ldr r1, [sp, 0x24] - ldrb r0, [r5] - adds r0, r7, r0 - lsls r0, 24 - lsrs r7, r0, 24 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 -_0813C1BC: - ldr r0, _0813C1DC @ =0x00000834 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0813C184 - ldr r0, _0813C1E0 @ =gUnknown_841CB3C - adds r1, r4, r0 - ldrb r0, [r1] - cmp r0, 0xFF - bne _0813C164 - b _0813C0AC - .align 2, 0 -_0813C1D8: .4byte gUnknown_841CB41 -_0813C1DC: .4byte 0x00000834 -_0813C1E0: .4byte gUnknown_841CB3C -_0813C1E4: - ldr r7, [sp, 0x34] - ldr r1, _0813C1FC @ =gGlyphInfo - adds r1, 0x81 - mov r0, r10 - adds r0, 0x1 - ldrb r1, [r1] - adds r0, r1 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - b _0813C0AC - .align 2, 0 -_0813C1FC: .4byte gGlyphInfo -_0813C200: - mov r2, r9 - ldrb r1, [r2] - movs r0, 0x1 - add r9, r0 - subs r0, r1, 0x1 - cmp r0, 0x15 - bls _0813C210 - b _0813C0AC -_0813C210: - lsls r0, 2 - ldr r1, _0813C21C @ =_0813C220 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0813C21C: .4byte _0813C220 - .align 2, 0 -_0813C220: - .4byte _0813C2C8 - .4byte _0813C2C8 - .4byte _0813C2C8 - .4byte _0813C278 - .4byte _0813C2C8 - .4byte _0813C2C8 - .4byte _0813C0AC - .4byte _0813C2C8 - .4byte _0813C0AC - .4byte _0813C0AC - .4byte _0813C27C - .4byte _0813C2C8 - .4byte _0813C2C8 - .4byte _0813C2C8 - .4byte _0813C0AC - .4byte _0813C27C - .4byte _0813C2CE - .4byte _0813C2CE - .4byte _0813C282 - .4byte _0813C2CE - .4byte _0813C0AC - .4byte _0813C0AC -_0813C278: - movs r1, 0x1 - add r9, r1 -_0813C27C: - movs r2, 0x1 - add r9, r2 - b _0813C2C8 -_0813C282: - mov r2, r9 - ldrb r0, [r2] - ldr r1, [sp, 0x34] - adds r0, r1 - subs r6, r0, r7 - cmp r6, 0 - ble _0813C2C8 - ldr r2, [sp, 0x28] - str r2, [sp, 0x1C] - ldr r1, [sp, 0x2C] - lsls r0, r1, 3 - add r4, sp, 0x1C - movs r5, 0 - strh r0, [r4, 0x4] - ldr r2, [sp, 0x30] - lsls r0, r2, 3 - strh r0, [r4, 0x6] - ldr r0, [sp, 0x24] - movs r1, 0x1 - bl GetFontAttribute - lsls r0, 24 - lsrs r0, 24 - lsls r3, r6, 16 - lsrs r3, 16 - str r0, [sp] - str r5, [sp, 0x4] - adds r0, r4, 0 - adds r1, r7, 0 - mov r2, r10 - bl FillBitmapRect4Bit - adds r0, r7, r6 - lsls r0, 24 - lsrs r7, r0, 24 -_0813C2C8: - movs r0, 0x1 - add r9, r0 - b _0813C0AC -_0813C2CE: - movs r1, 0x1 - add r9, r1 - b _0813C0AC -_0813C2D4: - mov r2, r9 - ldrb r1, [r2] - movs r0, 0x1 - add r9, r0 - adds r6, r1, 0 - adds r0, r6, 0 - bl GetKeypadIconTileOffset - lsls r0, 24 - lsrs r0, 19 - ldr r1, _0813C344 @ =gKeypadIconTiles - adds r0, r1 - str r0, [sp, 0x14] - add r1, sp, 0x14 - movs r2, 0 - mov r8, r2 - movs r0, 0x80 - strh r0, [r1, 0x4] - strh r0, [r1, 0x6] - ldr r0, [sp, 0x28] - str r0, [sp, 0x1C] - ldr r1, [sp, 0x2C] - lsls r0, r1, 3 - add r5, sp, 0x1C - strh r0, [r5, 0x4] - ldr r2, [sp, 0x30] - lsls r0, r2, 3 - strh r0, [r5, 0x6] - adds r0, r6, 0 - bl GetKeypadIconWidth - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r6, 0 - bl GetKeypadIconHeight - lsls r0, 24 - lsrs r0, 24 - str r7, [sp] - mov r1, r10 - str r1, [sp, 0x4] - str r4, [sp, 0x8] - str r0, [sp, 0xC] - mov r2, r8 - str r2, [sp, 0x10] - add r0, sp, 0x14 - adds r1, r5, 0 - movs r2, 0 - movs r3, 0 - bl BlitBitmapRect4Bit - adds r0, r6, 0 - bl GetKeypadIconWidth - b _0813C38E - .align 2, 0 -_0813C344: .4byte gKeypadIconTiles -_0813C348: - mov r0, r9 - ldrb r1, [r0] - movs r2, 0x80 - lsls r2, 1 - adds r0, r2, 0 - orrs r1, r0 - movs r0, 0x1 - add r9, r0 -_0813C358: - cmp r1, 0 - bne _0813C36A - ldr r1, [sp, 0x24] - cmp r1, 0 - bne _0813C366 - adds r0, r7, 0x5 - b _0813C390 -_0813C366: - adds r0, r7, 0x4 - b _0813C390 -_0813C36A: - add r3, sp, 0x1C - ldr r2, [sp, 0x28] - str r2, [sp] - str r7, [sp, 0x4] - mov r0, r10 - str r0, [sp, 0x8] - ldr r2, [sp, 0x2C] - str r2, [sp, 0xC] - ldr r0, [sp, 0x30] - str r0, [sp, 0x10] - ldr r0, [sp, 0x24] - add r2, sp, 0x14 - bl sub_813C3AC - ldr r1, [sp, 0x24] - ldr r0, _0813C398 @ =gGlyphInfo - adds r0, 0x80 - ldrb r0, [r0] -_0813C38E: - adds r0, r7, r0 -_0813C390: - lsls r0, 24 - lsrs r7, r0, 24 - b _0813C0AC - .align 2, 0 -_0813C398: .4byte gGlyphInfo -_0813C39C: - add sp, 0x38 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end HelpSystemRenderText - - thumb_func_start sub_813C3AC -sub_813C3AC: @ 813C3AC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - adds r7, r2, 0 - mov r8, r3 - ldr r2, [sp, 0x38] - ldr r3, [sp, 0x3C] - ldr r4, [sp, 0x40] - ldr r5, [sp, 0x44] - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 16 - lsrs r0, r1, 16 - adds r1, r0, 0 - lsls r2, 24 - lsrs r2, 24 - mov r10, r2 - lsls r3, 24 - lsrs r3, 24 - mov r9, r3 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - cmp r6, 0 - bne _0813C3EE - movs r1, 0 - bl DecompressGlyphFont0 - b _0813C402 -_0813C3EE: - cmp r6, 0x5 - bne _0813C3FA - movs r1, 0 - bl DecompressGlyphFont5 - b _0813C402 -_0813C3FA: - adds r0, r1, 0 - movs r1, 0 - bl DecompressGlyphFont2 -_0813C402: - ldr r1, _0813C450 @ =gGlyphInfo - str r1, [r7] - movs r2, 0 - movs r0, 0x10 - strh r0, [r7, 0x4] - strh r0, [r7, 0x6] - ldr r0, [sp, 0x34] - mov r3, r8 - str r0, [r3] - lsls r0, r4, 3 - strh r0, [r3, 0x4] - lsls r0, r5, 3 - strh r0, [r3, 0x6] - mov r0, r10 - str r0, [sp] - mov r3, r9 - str r3, [sp, 0x4] - adds r0, r1, 0 - adds r0, 0x80 - ldrb r0, [r0] - str r0, [sp, 0x8] - adds r1, 0x81 - ldrb r0, [r1] - str r0, [sp, 0xC] - str r2, [sp, 0x10] - adds r0, r7, 0 - mov r1, r8 - movs r3, 0 - bl BlitBitmapRect4Bit - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0813C450: .4byte gGlyphInfo - thumb_func_end sub_813C3AC - thumb_func_start sub_813C454 sub_813C454: @ 813C454 push {r4,lr} diff --git a/data/maps/Route25_SeaCottage/scripts.inc b/data/maps/Route25_SeaCottage/scripts.inc index 5707c9938..cbcdba4e9 100644 --- a/data/maps/Route25_SeaCottage/scripts.inc +++ b/data/maps/Route25_SeaCottage/scripts.inc @@ -118,7 +118,7 @@ EventScript_17064A:: @ 817064A setflag FLAG_0x235 setflag FLAG_0x031 setflag FLAG_0x234 - setflag FLAG_0x834 + setflag FLAG_SYS_NOT_SOMEONES_PC goto EventScript_170640 end diff --git a/include/constants/flags.h b/include/constants/flags.h index eed83d7c6..98ec3e47e 100644 --- a/include/constants/flags.h +++ b/include/constants/flags.h @@ -67,7 +67,7 @@ #define FLAG_0x82C 0x82C #define FLAG_0x82F 0x82F #define FLAG_0x830 0x830 -#define FLAG_0x834 0x834 +#define FLAG_SYS_NOT_SOMEONES_PC 0x834 #define FLAG_0x83C 0x83C #define FLAG_0x83E 0x83E #define FLAG_0x841 0x841 diff --git a/include/strings.h b/include/strings.h index bc2aab3f8..d85402de8 100644 --- a/include/strings.h +++ b/include/strings.h @@ -143,6 +143,8 @@ extern const u8 gUnknown_841DFBE[]; extern const u8 gUnknown_841DFC9[]; // help_system +extern const u8 gUnknown_841CB3C[]; +extern const u8 gUnknown_841CB41[]; extern const u8 gUnknown_841CB49[]; extern const u8 gUnknown_841CB4E[]; diff --git a/include/text.h b/include/text.h index e0533cc98..dc53b4845 100644 --- a/include/text.h +++ b/include/text.h @@ -68,7 +68,8 @@ #define CHAR_y 0xED #define CHAR_z 0xEE #define CHAR_SPECIAL_F7 0xF7 -#define CHAR_SPECIAL_F9 0xF9 +#define CHAR_KEYPAD_ICON 0xF8 +#define CHAR_EXTRA_EMOJI 0xF9 #define CHAR_COLON 0xF0 #define CHAR_PROMPT_SCROLL 0xFA // waits for button press and scrolls dialog #define CHAR_PROMPT_CLEAR 0xFB // waits for button press and clears dialog @@ -192,6 +193,8 @@ extern u8 gStringVar2[]; extern u8 gStringVar3[]; extern u8 gStringVar4[]; +extern const u8 gKeypadIconTiles[]; + void SetFontsPointer(const struct FontInfo *fonts); void DeactivateAllTextPrinters(void); u16 AddTextPrinterParameterized(u8 windowId, u8 fontId, const u8 *str, u8 x, u8 y, u8 speed, void (*callback)(struct TextPrinterTemplate *, u16)); @@ -248,6 +251,7 @@ s32 GetGlyphWidthFont1(u16 glyphId, bool32 isJapanese); void DecompressGlyphFont9(u16 glyphId); s32 GetGlyphWidthFont3(u16 glyphId, bool32 isJapanese); s32 GetGlyphWidthFont4(u16 glyphId, bool32 isJapanese); +void DecompressGlyphFont5(u16 glyphId, bool32 isJapanese); s32 GetGlyphWidthFont5(u16 glyphId, bool32 isJapanese); void sub_80062B0(struct Sprite *sprite); u8 CreateTextCursorSpriteForOakSpeech(u8 sheetId, u16 x, u16 y, u8 priority, u8 subpriority); diff --git a/src/help_system.c b/src/help_system.c index 08120952f..afa99c358 100644 --- a/src/help_system.c +++ b/src/help_system.c @@ -9,7 +9,12 @@ #include "sound.h" #include "strings.h" #include "text.h" +#include "blit.h" +#include "event_data.h" #include "constants/songs.h" +#include "constants/flags.h" + +extern u8 gGlyphInfo[]; struct DmaController { @@ -51,6 +56,7 @@ void sub_813BF50(u8); void sub_813BC2C(void); void sub_813BC48(void); void sub_813BC5C(void); +void sub_813C3AC(u8, u16, struct Bitmap *, struct Bitmap *, u8 *, u8, u8, u8, u8); void sub_813C454(const u8 * str); void sub_813C5D4(void); @@ -379,3 +385,575 @@ void sub_813BFC0(u8 mode) break; } } + +void sub_813C004(u8 a0, u8 mode) +{ + switch (mode) + { + case 0: + sub_813BC78(0x1FF, 28, 3, 1, 1, 0); + sub_813BC78(0x1FF, 28, 18, 1, 1, 0); + break; + case 1: + if (a0 == 0) + sub_813BC78(0x1FE, 28, 3, 1, 1, 0); + else + sub_813BC78(0x1FD, 28, 18, 1, 1, 0); + break; + } +} + +#define HelpSystemHandleRenderGlyph(character) ({\ + do {sub_813C3AC(font, character, &srcBlit, &destBlit, dest, x, y, width, height);} while (0); font;\ +}) + +#ifdef NONMATCHING +void HelpSystemRenderText(u8 font, u8 * dest, const u8 * src, u8 x, u8 y, u8 width, u8 height) +{ + // font -> sp+24 + // dest -> sp+28 + // src -> r9 + // x -> sp+34 + // y -> r10 + // width -> sp+2C + // height -> sp+30 + struct Bitmap srcBlit; + struct Bitmap destBlit; + u8 i; + u8 orig_x = x; + s32 clearPixels; + + while (1) + { + u16 curChar = *src++; + switch (curChar) + { + case EOS: + return; + case PLACEHOLDER_BEGIN: + curChar = *src++; + if (curChar == 1) { + for (i = 0; i < 10; i++) + { + if (gSaveBlock2Ptr->playerName[i] == EOS) + break; + HelpSystemHandleRenderGlyph(gSaveBlock2Ptr->playerName[i]); + x += gGlyphInfo[0x80]; + } + } + else if (curChar == 2) + { + for (i = 0; ; i++) + { + if (FlagGet(FLAG_SYS_NOT_SOMEONES_PC) == TRUE) + { + if (gUnknown_841CB3C[i] == EOS) + break; + HelpSystemHandleRenderGlyph(gUnknown_841CB3C[i]); + } + else + { + if (gUnknown_841CB41[i] == EOS) + break; + HelpSystemHandleRenderGlyph(gUnknown_841CB41[i]); + } + x += gGlyphInfo[0x80]; + } + } + break; + case CHAR_PROMPT_SCROLL: + case CHAR_PROMPT_CLEAR: + case CHAR_NEWLINE: + x = orig_x; + y += gGlyphInfo[0x81] + 1; + break; + case EXT_CTRL_CODE_BEGIN: + curChar = *src++; + switch (curChar) + { + case 4: + src++; + //fallthrough + case 11: + case 16: + src++; + //fallthrough + case 1: + case 2: + case 3: + case 5: + case 6: + case 8: + case 12: + case 13: + case 14: + src++; + break; + case 19: + clearPixels = *src + orig_x - x; + if (clearPixels > 0) + { + destBlit.pixels = dest; + destBlit.width = width * 8; + destBlit.height = height * 8; + FillBitmapRect4Bit(&destBlit, x, y, clearPixels, GetFontAttribute(font, 1), 0); + x += clearPixels; + } + src++; + break; + case 17: + case 18: + case 20: + src++; + break; + case 7: + case 9: + case 10: + case 15: + case 21: + case 22: + break; + } + break; + case CHAR_KEYPAD_ICON: + curChar = *src++; + srcBlit.pixels = (u8 *)gKeypadIconTiles + 0x20 * GetKeypadIconTileOffset(curChar); + srcBlit.width = 0x80; + srcBlit.height = 0x80; + destBlit.pixels = dest; + destBlit.width = width * 8; + destBlit.height = height * 8; + BlitBitmapRect4Bit(&srcBlit, &destBlit, 0, 0, x, y, GetKeypadIconWidth(curChar), GetKeypadIconHeight(curChar), 0); + x += GetKeypadIconWidth(curChar); + break; + case CHAR_EXTRA_EMOJI: + curChar = 0x100 | *src++; + //fallthrough + default: + if (curChar == CHAR_SPACE) + { + if (font == 0) + x += 5; + else + x += 4; + } + else + { + HelpSystemHandleRenderGlyph(curChar); + x += gGlyphInfo[0x80]; + } + break; + } + } +} +#else +NAKED +void HelpSystemRenderText(u8 font, u8 * dest, const u8 * src, u8 x, u8 y, u8 width, u8 height) +{ + asm_unified("\tpush {r4-r7,lr}\n" + "\tmov r7, r10\n" + "\tmov r6, r9\n" + "\tmov r5, r8\n" + "\tpush {r5-r7}\n" + "\tsub sp, 0x38\n" + "\tstr r1, [sp, 0x28]\n" + "\tmov r9, r2\n" + "\tldr r1, [sp, 0x58]\n" + "\tldr r2, [sp, 0x5C]\n" + "\tldr r4, [sp, 0x60]\n" + "\tlsls r0, 24\n" + "\tlsrs r0, 24\n" + "\tstr r0, [sp, 0x24]\n" + "\tlsls r3, 24\n" + "\tlsrs r7, r3, 24\n" + "\tlsls r1, 24\n" + "\tlsrs r1, 24\n" + "\tmov r10, r1\n" + "\tlsls r2, 24\n" + "\tlsrs r2, 24\n" + "\tstr r2, [sp, 0x2C]\n" + "\tlsls r4, 24\n" + "\tlsrs r4, 24\n" + "\tstr r4, [sp, 0x30]\n" + "\tstr r7, [sp, 0x34]\n" + "_0813C0AC_masterLoop:\n" + "\tmov r0, r9\n" + "\tldrb r1, [r0]\n" + "\tmovs r2, 0x1\n" + "\tadd r9, r2\n" + "\tadds r0, r1, 0\n" + "\tsubs r0, 0xF8\n" + "\tcmp r0, 0x7\n" + "\tbls _0813C0BE\n" + "\tb _0813C358\n" + "_0813C0BE:\n" + "\tlsls r0, 2\n" + "\tldr r1, _0813C0C8 @ =_0813C0CC\n" + "\tadds r0, r1\n" + "\tldr r0, [r0]\n" + "\tmov pc, r0\n" + "\t.align 2, 0\n" + "_0813C0C8: .4byte _0813C0CC\n" + "\t.align 2, 0\n" + "_0813C0CC:\n" + "\t.4byte _0813C2D4\n" + "\t.4byte _0813C348\n" + "\t.4byte _0813C1E4\n" + "\t.4byte _0813C1E4\n" + "\t.4byte _0813C200\n" + "\t.4byte _0813C0EC\n" + "\t.4byte _0813C1E4\n" + "\t.4byte _0813C39C\n" + "_0813C0EC:\n" + "\tmov r0, r9\n" + "\tldrb r1, [r0]\n" + "\tmovs r2, 0x1\n" + "\tadd r9, r2\n" + "\tcmp r1, 0x1\n" + "\tbne _0813C154\n" + "\tmovs r4, 0\n" + "\tldr r0, _0813C14C @ =gSaveBlock2Ptr\n" + "\tldr r1, [r0]\n" + "\tldrb r1, [r1]\n" + "\tcmp r1, 0xFF\n" + "\tbeq _0813C0AC_masterLoop\n" + "\tldr r5, _0813C150 @ =gGlyphInfo + 0x80\n" + "_0813C106:\n" + "\tldr r0, [r0]\n" + "\tadds r0, r4\n" + "\tldrb r1, [r0]\n" + "\tldr r0, [sp, 0x28]\n" + "\tstr r0, [sp]\n" + "\tstr r7, [sp, 0x4]\n" + "\tmov r2, r10\n" + "\tstr r2, [sp, 0x8]\n" + "\tldr r0, [sp, 0x2C]\n" + "\tstr r0, [sp, 0xC]\n" + "\tldr r2, [sp, 0x30]\n" + "\tstr r2, [sp, 0x10]\n" + "\tldr r0, [sp, 0x24]\n" + "\tadd r2, sp, 0x14\n" + "\tadd r3, sp, 0x1C\n" + "\tbl sub_813C3AC\n" + "\tldr r0, [sp, 0x24]\n" + "\tldrb r0, [r5]\n" + "\tadds r0, r7, r0\n" + "\tlsls r0, 24\n" + "\tlsrs r7, r0, 24\n" + "\tadds r0, r4, 0x1\n" + "\tlsls r0, 24\n" + "\tlsrs r4, r0, 24\n" + "\tcmp r4, 0x9\n" + "\tbhi _0813C0AC_masterLoop\n" + "\tldr r0, _0813C14C @ =gSaveBlock2Ptr\n" + "\tldr r1, [r0]\n" + "\tadds r1, r4\n" + "\tldrb r1, [r1]\n" + "\tcmp r1, 0xFF\n" + "\tbne _0813C106\n" + "\tb _0813C0AC_masterLoop\n" + "\t.align 2, 0\n" + "_0813C14C: .4byte gSaveBlock2Ptr\n" + "_0813C150: .4byte gGlyphInfo + 0x80\n" + "_0813C154:\n" + "\tcmp r1, 0x2\n" + "\tbne _0813C0AC_masterLoop\n" + "\tmovs r4, 0\n" + "\tldr r5, _0813C160 @ =gGlyphInfo + 0x80\n" + "\tb _0813C1BC\n" + "\t.align 2, 0\n" + "_0813C160: .4byte gGlyphInfo + 0x80\n" + "_0813C164:\n" + "\tldrb r1, [r1]\n" + "\tldr r2, [sp, 0x28]\n" + "\tstr r2, [sp]\n" + "\tstr r7, [sp, 0x4]\n" + "\tmov r0, r10\n" + "\tstr r0, [sp, 0x8]\n" + "\tldr r2, [sp, 0x2C]\n" + "\tstr r2, [sp, 0xC]\n" + "\tldr r0, [sp, 0x30]\n" + "\tstr r0, [sp, 0x10]\n" + "\tldr r0, [sp, 0x24]\n" + "\tadd r2, sp, 0x14\n" + "\tadd r3, sp, 0x1C\n" + "\tbl sub_813C3AC\n" + "\tb _0813C1AC\n" + "_0813C184:\n" + "\tldr r0, _0813C1D8 @ =gUnknown_841CB41\n" + "\tadds r1, r4, r0\n" + "\tldrb r0, [r1]\n" + "\tcmp r0, 0xFF\n" + "\tbeq _0813C0AC_masterLoop\n" + "\tadds r1, r0, 0\n" + "\tldr r2, [sp, 0x28]\n" + "\tstr r2, [sp]\n" + "\tstr r7, [sp, 0x4]\n" + "\tmov r0, r10\n" + "\tstr r0, [sp, 0x8]\n" + "\tldr r2, [sp, 0x2C]\n" + "\tstr r2, [sp, 0xC]\n" + "\tldr r0, [sp, 0x30]\n" + "\tstr r0, [sp, 0x10]\n" + "\tldr r0, [sp, 0x24]\n" + "\tadd r2, sp, 0x14\n" + "\tadd r3, sp, 0x1C\n" + "\tbl sub_813C3AC\n" + "_0813C1AC:\n" + "\tldr r1, [sp, 0x24]\n" + "\tldrb r0, [r5]\n" + "\tadds r0, r7, r0\n" + "\tlsls r0, 24\n" + "\tlsrs r7, r0, 24\n" + "\tadds r0, r4, 0x1\n" + "\tlsls r0, 24\n" + "\tlsrs r4, r0, 24\n" + "_0813C1BC:\n" + "\tldr r0, _0813C1DC @ =0x00000834\n" + "\tbl FlagGet\n" + "\tlsls r0, 24\n" + "\tlsrs r0, 24\n" + "\tcmp r0, 0x1\n" + "\tbne _0813C184\n" + "\tldr r0, _0813C1E0 @ =gUnknown_841CB3C\n" + "\tadds r1, r4, r0\n" + "\tldrb r0, [r1]\n" + "\tcmp r0, 0xFF\n" + "\tbne _0813C164\n" + "\tb _0813C0AC_masterLoop\n" + "\t.align 2, 0\n" + "_0813C1D8: .4byte gUnknown_841CB41\n" + "_0813C1DC: .4byte 0x00000834\n" + "_0813C1E0: .4byte gUnknown_841CB3C\n" + "_0813C1E4:\n" + "\tldr r7, [sp, 0x34]\n" + "\tldr r1, _0813C1FC @ =gGlyphInfo\n" + "\tadds r1, 0x81\n" + "\tmov r0, r10\n" + "\tadds r0, 0x1\n" + "\tldrb r1, [r1]\n" + "\tadds r0, r1\n" + "\tlsls r0, 24\n" + "\tlsrs r0, 24\n" + "\tmov r10, r0\n" + "\tb _0813C0AC_masterLoop\n" + "\t.align 2, 0\n" + "_0813C1FC: .4byte gGlyphInfo\n" + "_0813C200:\n" + "\tmov r2, r9\n" + "\tldrb r1, [r2]\n" + "\tmovs r0, 0x1\n" + "\tadd r9, r0\n" + "\tsubs r0, r1, 0x1\n" + "\tcmp r0, 0x15\n" + "\tbls _0813C210\n" + "\tb _0813C0AC_masterLoop\n" + "_0813C210:\n" + "\tlsls r0, 2\n" + "\tldr r1, _0813C21C @ =_0813C220\n" + "\tadds r0, r1\n" + "\tldr r0, [r0]\n" + "\tmov pc, r0\n" + "\t.align 2, 0\n" + "_0813C21C: .4byte _0813C220\n" + "\t.align 2, 0\n" + "_0813C220:\n" + "\t.4byte _0813C2C8\n" + "\t.4byte _0813C2C8\n" + "\t.4byte _0813C2C8\n" + "\t.4byte _0813C278\n" + "\t.4byte _0813C2C8\n" + "\t.4byte _0813C2C8\n" + "\t.4byte _0813C0AC_masterLoop\n" + "\t.4byte _0813C2C8\n" + "\t.4byte _0813C0AC_masterLoop\n" + "\t.4byte _0813C0AC_masterLoop\n" + "\t.4byte _0813C27C\n" + "\t.4byte _0813C2C8\n" + "\t.4byte _0813C2C8\n" + "\t.4byte _0813C2C8\n" + "\t.4byte _0813C0AC_masterLoop\n" + "\t.4byte _0813C27C\n" + "\t.4byte _0813C2CE\n" + "\t.4byte _0813C2CE\n" + "\t.4byte _0813C282\n" + "\t.4byte _0813C2CE\n" + "\t.4byte _0813C0AC_masterLoop\n" + "\t.4byte _0813C0AC_masterLoop\n" + "_0813C278:\n" + "\tmovs r1, 0x1\n" + "\tadd r9, r1\n" + "_0813C27C:\n" + "\tmovs r2, 0x1\n" + "\tadd r9, r2\n" + "\tb _0813C2C8\n" + "_0813C282:\n" + "\tmov r2, r9\n" + "\tldrb r0, [r2]\n" + "\tldr r1, [sp, 0x34]\n" + "\tadds r0, r1\n" + "\tsubs r6, r0, r7\n" + "\tcmp r6, 0\n" + "\tble _0813C2C8\n" + "\tldr r2, [sp, 0x28]\n" + "\tstr r2, [sp, 0x1C]\n" + "\tldr r1, [sp, 0x2C]\n" + "\tlsls r0, r1, 3\n" + "\tadd r4, sp, 0x1C\n" + "\tmovs r5, 0\n" + "\tstrh r0, [r4, 0x4]\n" + "\tldr r2, [sp, 0x30]\n" + "\tlsls r0, r2, 3\n" + "\tstrh r0, [r4, 0x6]\n" + "\tldr r0, [sp, 0x24]\n" + "\tmovs r1, 0x1\n" + "\tbl GetFontAttribute\n" + "\tlsls r0, 24\n" + "\tlsrs r0, 24\n" + "\tlsls r3, r6, 16\n" + "\tlsrs r3, 16\n" + "\tstr r0, [sp]\n" + "\tstr r5, [sp, 0x4]\n" + "\tadds r0, r4, 0\n" + "\tadds r1, r7, 0\n" + "\tmov r2, r10\n" + "\tbl FillBitmapRect4Bit\n" + "\tadds r0, r7, r6\n" + "\tlsls r0, 24\n" + "\tlsrs r7, r0, 24\n" + "_0813C2C8:\n" + "\tmovs r0, 0x1\n" + "\tadd r9, r0\n" + "\tb _0813C0AC_masterLoop\n" + "_0813C2CE:\n" + "\tmovs r1, 0x1\n" + "\tadd r9, r1\n" + "\tb _0813C0AC_masterLoop\n" + "_0813C2D4:\n" + "\tmov r2, r9\n" + "\tldrb r1, [r2]\n" + "\tmovs r0, 0x1\n" + "\tadd r9, r0\n" + "\tadds r6, r1, 0\n" + "\tadds r0, r6, 0\n" + "\tbl GetKeypadIconTileOffset\n" + "\tlsls r0, 24\n" + "\tlsrs r0, 19\n" + "\tldr r1, _0813C344 @ =gKeypadIconTiles\n" + "\tadds r0, r1\n" + "\tstr r0, [sp, 0x14]\n" + "\tadd r1, sp, 0x14\n" + "\tmovs r2, 0\n" + "\tmov r8, r2\n" + "\tmovs r0, 0x80\n" + "\tstrh r0, [r1, 0x4]\n" + "\tstrh r0, [r1, 0x6]\n" + "\tldr r0, [sp, 0x28]\n" + "\tstr r0, [sp, 0x1C]\n" + "\tldr r1, [sp, 0x2C]\n" + "\tlsls r0, r1, 3\n" + "\tadd r5, sp, 0x1C\n" + "\tstrh r0, [r5, 0x4]\n" + "\tldr r2, [sp, 0x30]\n" + "\tlsls r0, r2, 3\n" + "\tstrh r0, [r5, 0x6]\n" + "\tadds r0, r6, 0\n" + "\tbl GetKeypadIconWidth\n" + "\tadds r4, r0, 0\n" + "\tlsls r4, 24\n" + "\tlsrs r4, 24\n" + "\tadds r0, r6, 0\n" + "\tbl GetKeypadIconHeight\n" + "\tlsls r0, 24\n" + "\tlsrs r0, 24\n" + "\tstr r7, [sp]\n" + "\tmov r1, r10\n" + "\tstr r1, [sp, 0x4]\n" + "\tstr r4, [sp, 0x8]\n" + "\tstr r0, [sp, 0xC]\n" + "\tmov r2, r8\n" + "\tstr r2, [sp, 0x10]\n" + "\tadd r0, sp, 0x14\n" + "\tadds r1, r5, 0\n" + "\tmovs r2, 0\n" + "\tmovs r3, 0\n" + "\tbl BlitBitmapRect4Bit\n" + "\tadds r0, r6, 0\n" + "\tbl GetKeypadIconWidth\n" + "\tb _0813C38E\n" + "\t.align 2, 0\n" + "_0813C344: .4byte gKeypadIconTiles\n" + "_0813C348:\n" + "\tmov r0, r9\n" + "\tldrb r1, [r0]\n" + "\tmovs r2, 0x80\n" + "\tlsls r2, 1\n" + "\tadds r0, r2, 0\n" + "\torrs r1, r0\n" + "\tmovs r0, 0x1\n" + "\tadd r9, r0\n" + "_0813C358:\n" + "\tcmp r1, 0\n" + "\tbne _0813C36A\n" + "\tldr r1, [sp, 0x24]\n" + "\tcmp r1, 0\n" + "\tbne _0813C366\n" + "\tadds r0, r7, 0x5\n" + "\tb _0813C390\n" + "_0813C366:\n" + "\tadds r0, r7, 0x4\n" + "\tb _0813C390\n" + "_0813C36A:\n" + "\tadd r3, sp, 0x1C\n" + "\tldr r2, [sp, 0x28]\n" + "\tstr r2, [sp]\n" + "\tstr r7, [sp, 0x4]\n" + "\tmov r0, r10\n" + "\tstr r0, [sp, 0x8]\n" + "\tldr r2, [sp, 0x2C]\n" + "\tstr r2, [sp, 0xC]\n" + "\tldr r0, [sp, 0x30]\n" + "\tstr r0, [sp, 0x10]\n" + "\tldr r0, [sp, 0x24]\n" + "\tadd r2, sp, 0x14\n" + "\tbl sub_813C3AC\n" + "\tldr r1, [sp, 0x24]\n" + "\tldr r0, _0813C398 @ =gGlyphInfo\n" + "\tadds r0, 0x80\n" + "\tldrb r0, [r0]\n" + "_0813C38E:\n" + "\tadds r0, r7, r0\n" + "_0813C390:\n" + "\tlsls r0, 24\n" + "\tlsrs r7, r0, 24\n" + "\tb _0813C0AC_masterLoop\n" + "\t.align 2, 0\n" + "_0813C398: .4byte gGlyphInfo\n" + "_0813C39C:\n" + "\tadd sp, 0x38\n" + "\tpop {r3-r5}\n" + "\tmov r8, r3\n" + "\tmov r9, r4\n" + "\tmov r10, r5\n" + "\tpop {r4-r7}\n" + "\tpop {r0}\n" + "\tbx r0"); +} +#endif //NONMATCHING + +void sub_813C3AC(u8 font, u16 glyph, struct Bitmap *srcBlit, struct Bitmap *destBlit, u8 *destBuffer, u8 x, u8 y, u8 width, u8 height) +{ + if (font == 0) + DecompressGlyphFont0(glyph, FALSE); + else if (font == 5) + DecompressGlyphFont5(glyph, FALSE); + else + DecompressGlyphFont2(glyph, FALSE); + srcBlit->pixels = gGlyphInfo; + srcBlit->width = 16; + srcBlit->height = 16; + destBlit->pixels = destBuffer; + destBlit->width = width * 8; + destBlit->height = height * 8; + BlitBitmapRect4Bit(srcBlit, destBlit, 0, 0, x, y, gGlyphInfo[0x80], gGlyphInfo[0x81], 0); +} diff --git a/src/vs_seeker.c b/src/vs_seeker.c index bd5b9c7ea..e1cb40f3a 100644 --- a/src/vs_seeker.c +++ b/src/vs_seeker.c @@ -1,5 +1,4 @@ #include "global.h" -#include "songs.h" #include "sound.h" #include "task.h" #include "malloc.h" @@ -23,6 +22,7 @@ #include "map_obj_8097404.h" #include "unk_810c3a4.h" #include "constants/movement_commands.h" +#include "constants/songs.h" #include "vs_seeker.h" typedef enum -- cgit v1.2.3 From bd53ad9396f2e9ec1140afe188061d4deb94c7cc Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 13 Jun 2019 13:56:10 -0400 Subject: help_system: through sub_813C584 --- asm/help_system.s | 192 ------------------------------------------------------ src/help_system.c | 34 ++++++++++ 2 files changed, 34 insertions(+), 192 deletions(-) diff --git a/asm/help_system.s b/asm/help_system.s index f7f16ad30..6ea75c590 100644 --- a/asm/help_system.s +++ b/asm/help_system.s @@ -5,198 +5,6 @@ .text - thumb_func_start sub_813C454 -sub_813C454: @ 813C454 - push {r4,lr} - sub sp, 0xC - adds r4, r0, 0 - movs r0, 0x1 - movs r1, 0xF - movs r2, 0x2 - bl GenerateFontHalfRowLookupTable - ldr r1, _0813C484 @ =gDecompressionBuffer + 0x3D00 - movs r2, 0x2 - str r2, [sp] - movs r0, 0x7 - str r0, [sp, 0x4] - str r2, [sp, 0x8] - movs r0, 0x5 - adds r2, r4, 0 - movs r3, 0x6 - bl HelpSystemRenderText - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813C484: .4byte gDecompressionBuffer + 0x3D00 - thumb_func_end sub_813C454 - - thumb_func_start sub_813C488 -sub_813C488: @ 813C488 - push {r4,r5,lr} - sub sp, 0xC - adds r5, r0, 0 - movs r0, 0 - adds r1, r5, 0 - movs r2, 0 - bl GetStringWidth - movs r4, 0x7C - subs r4, r0 - movs r0, 0x1 - movs r1, 0xF - movs r2, 0x2 - bl GenerateFontHalfRowLookupTable - ldr r1, _0813C4C8 @ =gDecompressionBuffer + 0x3400 - lsls r4, 24 - lsrs r4, 24 - movs r2, 0x2 - str r2, [sp] - movs r0, 0x10 - str r0, [sp, 0x4] - str r2, [sp, 0x8] - movs r0, 0 - adds r2, r5, 0 - adds r3, r4, 0 - bl HelpSystemRenderText - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0813C4C8: .4byte gDecompressionBuffer + 0x3400 - thumb_func_end sub_813C488 - - thumb_func_start sub_813C4CC -sub_813C4CC: @ 813C4CC - push {r4-r6,lr} - sub sp, 0xC - adds r6, r0, 0 - adds r5, r1, 0 - adds r4, r2, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - movs r1, 0xF - movs r2, 0x2 - bl GenerateFontHalfRowLookupTable - ldr r1, _0813C508 @ =gDecompressionBuffer - str r4, [sp] - movs r0, 0x1A - str r0, [sp, 0x4] - movs r0, 0x10 - str r0, [sp, 0x8] - movs r0, 0x2 - adds r2, r6, 0 - adds r3, r5, 0 - bl HelpSystemRenderText - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0813C508: .4byte gDecompressionBuffer - thumb_func_end sub_813C4CC - - thumb_func_start sub_813C50C -sub_813C50C: @ 813C50C - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x10 - mov r8, r0 - mov r9, r1 - add r1, sp, 0xC - ldr r2, _0813C578 @ =0x0000eeee - adds r0, r2, 0 - strh r0, [r1] - ldr r4, _0813C57C @ =gDecompressionBuffer - ldr r2, _0813C580 @ =0x01001a00 - adds r0, r1, 0 - adds r1, r4, 0 - bl CpuSet - movs r0, 0x1 - movs r1, 0xE - movs r2, 0x2 - bl GenerateFontHalfRowLookupTable - movs r6, 0 - str r6, [sp] - movs r5, 0x1A - str r5, [sp, 0x4] - movs r0, 0x10 - str r0, [sp, 0x8] - movs r0, 0x2 - adds r1, r4, 0 - mov r2, r8 - movs r3, 0 - bl HelpSystemRenderText - movs r0, 0x9C - lsls r0, 4 - adds r4, r0 - str r6, [sp] - str r5, [sp, 0x4] - movs r0, 0xD - str r0, [sp, 0x8] - movs r0, 0x2 - adds r1, r4, 0 - mov r2, r9 - movs r3, 0 - bl HelpSystemRenderText - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0813C578: .4byte 0x0000eeee -_0813C57C: .4byte gDecompressionBuffer -_0813C580: .4byte 0x01001a00 - thumb_func_end sub_813C50C - - thumb_func_start sub_813C584 -sub_813C584: @ 813C584 - push {r4,r5,lr} - sub sp, 0x10 - adds r5, r0, 0 - add r1, sp, 0xC - ldr r2, _0813C5C8 @ =0x00001111 - adds r0, r2, 0 - strh r0, [r1] - ldr r4, _0813C5CC @ =gDecompressionBuffer + 0x23C0 - ldr r2, _0813C5D0 @ =0x01000820 - adds r0, r1, 0 - adds r1, r4, 0 - bl CpuSet - movs r0, 0x2 - movs r1, 0x1 - movs r2, 0x3 - bl GenerateFontHalfRowLookupTable - movs r0, 0x6 - str r0, [sp] - movs r0, 0x1A - str r0, [sp, 0x4] - movs r0, 0x5 - str r0, [sp, 0x8] - movs r0, 0x2 - adds r1, r4, 0 - adds r2, r5, 0 - movs r3, 0x2 - bl HelpSystemRenderText - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0813C5C8: .4byte 0x00001111 -_0813C5CC: .4byte gDecompressionBuffer + 0x23C0 -_0813C5D0: .4byte 0x01000820 - thumb_func_end sub_813C584 - thumb_func_start sub_813C5D4 sub_813C5D4: @ 813C5D4 push {lr} diff --git a/src/help_system.c b/src/help_system.c index afa99c358..7cabce50b 100644 --- a/src/help_system.c +++ b/src/help_system.c @@ -957,3 +957,37 @@ void sub_813C3AC(u8 font, u16 glyph, struct Bitmap *srcBlit, struct Bitmap *dest destBlit->height = height * 8; BlitBitmapRect4Bit(srcBlit, destBlit, 0, 0, x, y, gGlyphInfo[0x80], gGlyphInfo[0x81], 0); } + +void sub_813C454(const u8 * str) +{ + GenerateFontHalfRowLookupTable(1, 15, 2); + HelpSystemRenderText(5, gDecompressionBuffer + 0x3D00, str, 6, 2, 7, 2); +} + +void sub_813C488(const u8 * str) +{ + s32 left = 0x7C - GetStringWidth(0, str, 0); + GenerateFontHalfRowLookupTable(1, 15, 2); + HelpSystemRenderText(0, gDecompressionBuffer + 0x3400, str, left, 2, 16, 2); +} + +void sub_813C4CC(const u8 * str, u8 x, u8 y) +{ + GenerateFontHalfRowLookupTable(1, 15, 2); + HelpSystemRenderText(2, gDecompressionBuffer + 0x0000, str, x, y, 26, 16); +} + +void sub_813C50C(const u8 * str1, const u8 * str2) +{ + CpuFill16(0xEEEE, gDecompressionBuffer + 0x0000, 0x3400); + GenerateFontHalfRowLookupTable(1, 14, 2); + HelpSystemRenderText(2, gDecompressionBuffer + 0x0000, str1, 0, 0, 26, 16); + HelpSystemRenderText(2, gDecompressionBuffer + 0x09C0, str2, 0, 0, 26, 13); +} + +void sub_813C584(const u8 * str) +{ + CpuFill16(0x1111, gDecompressionBuffer + 0x23C0, 0x1040); + GenerateFontHalfRowLookupTable(2, 1, 3); + HelpSystemRenderText(2, gDecompressionBuffer + 0x23C0, str, 2, 6, 26, 5); +} -- cgit v1.2.3 From 9aac6112a2205a84cc89022a9dcb7140ad060c66 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 13 Jun 2019 16:34:18 -0400 Subject: Some symbol renaming --- asm/help_system.s | 558 ---------------------------------------------- asm/save_failed_screen.s | 16 +- data/data_83FECCC.s | 8 +- include/global.h | 1 + include/help_system.h | 93 +++++--- include/strings.h | 8 +- ld_script.txt | 1 - src/help_system.c | 519 +++++++++++++++++++++++++++++------------- src/help_system_812B1E0.c | 108 ++++----- src/main.c | 4 +- 10 files changed, 495 insertions(+), 821 deletions(-) delete mode 100644 asm/help_system.s diff --git a/asm/help_system.s b/asm/help_system.s deleted file mode 100644 index 6ea75c590..000000000 --- a/asm/help_system.s +++ /dev/null @@ -1,558 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_813C5D4 -sub_813C5D4: @ 813C5D4 - push {lr} - sub sp, 0x4 - mov r1, sp - ldr r2, _0813C5F0 @ =0x0000ffff - adds r0, r2, 0 - strh r0, [r1] - ldr r1, _0813C5F4 @ =gDecompressionBuffer + 0x3D00 - ldr r2, _0813C5F8 @ =0x010000e0 - mov r0, sp - bl CpuSet - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0813C5F0: .4byte 0x0000ffff -_0813C5F4: .4byte gDecompressionBuffer + 0x3D00 -_0813C5F8: .4byte 0x010000e0 - thumb_func_end sub_813C5D4 - - thumb_func_start sub_813C5FC -sub_813C5FC: @ 813C5FC - push {lr} - sub sp, 0x4 - mov r1, sp - ldr r2, _0813C618 @ =0x0000ffff - adds r0, r2, 0 - strh r0, [r1] - ldr r1, _0813C61C @ =gDecompressionBuffer + 0x3400 - ldr r2, _0813C620 @ =0x01000200 - mov r0, sp - bl CpuSet - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0813C618: .4byte 0x0000ffff -_0813C61C: .4byte gDecompressionBuffer + 0x3400 -_0813C620: .4byte 0x01000200 - thumb_func_end sub_813C5FC - - thumb_func_start sub_813C624 -sub_813C624: @ 813C624 - push {lr} - sub sp, 0x4 - mov r1, sp - ldr r2, _0813C640 @ =0x0000ffff - adds r0, r2, 0 - strh r0, [r1] - ldr r1, _0813C644 @ =gDecompressionBuffer - ldr r2, _0813C648 @ =0x01001a00 - mov r0, sp - bl CpuSet - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0813C640: .4byte 0x0000ffff -_0813C644: .4byte gDecompressionBuffer -_0813C648: .4byte 0x01001a00 - thumb_func_end sub_813C624 - - thumb_func_start sub_813C64C -sub_813C64C: @ 813C64C - push {r4-r7,lr} - ldr r4, _0813C680 @ =gUnknown_203F190 - adds r3, r4, 0 - ldm r0!, {r5-r7} - stm r3!, {r5-r7} - movs r0, 0 - strb r1, [r4, 0xC] - strb r2, [r4, 0xD] - strb r0, [r4, 0xE] - ldrh r0, [r4, 0x4] - ldrh r1, [r4, 0x6] - cmp r0, r1 - bcs _0813C668 - strh r0, [r4, 0x6] -_0813C668: - movs r0, 0 - bl sub_813BDA4 - bl sub_813C624 - bl sub_813C7CC - bl sub_813C828 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0813C680: .4byte gUnknown_203F190 - thumb_func_end sub_813C64C - - thumb_func_start sub_813C684 -sub_813C684: @ 813C684 - ldr r1, _0813C68C @ =gUnknown_203F176 - strb r0, [r1] - bx lr - .align 2, 0 -_0813C68C: .4byte gUnknown_203F176 - thumb_func_end sub_813C684 - - thumb_func_start sub_813C690 -sub_813C690: @ 813C690 - push {lr} - ldr r1, _0813C6A0 @ =gUnknown_203F176 - ldrb r0, [r1] - cmp r0, 0 - beq _0813C6A4 - subs r0, 0x1 - strb r0, [r1] - b _0813C752 - .align 2, 0 -_0813C6A0: .4byte gUnknown_203F176 -_0813C6A4: - ldr r2, _0813C6C8 @ =gMain - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0813C6D0 - movs r0, 0x5 - bl PlaySE - ldr r1, _0813C6CC @ =gUnknown_203F190 - ldrb r0, [r1, 0xC] - ldrb r2, [r1, 0xD] - adds r0, r2 - ldr r1, [r1] - lsls r0, 3 - adds r0, r1 - ldr r0, [r0, 0x4] - b _0813C756 - .align 2, 0 -_0813C6C8: .4byte gMain -_0813C6CC: .4byte gUnknown_203F190 -_0813C6D0: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0813C6E4 - movs r0, 0x5 - bl PlaySE - movs r0, 0x2 - negs r0, r0 - b _0813C756 -_0813C6E4: - movs r0, 0xC0 - lsls r0, 2 - ands r0, r1 - cmp r0, 0 - beq _0813C6F4 - movs r0, 0x6 - negs r0, r0 - b _0813C756 -_0813C6F4: - ldrh r1, [r2, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0813C702 - movs r0, 0x1 - b _0813C718 -_0813C702: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0813C70E - movs r0, 0x1 - b _0813C73A -_0813C70E: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0813C730 - movs r0, 0x7 -_0813C718: - movs r1, 0 - bl sub_813C944 - lsls r0, 24 - cmp r0, 0 - bne _0813C72A - movs r0, 0x5 - bl PlaySE -_0813C72A: - movs r0, 0x4 - negs r0, r0 - b _0813C756 -_0813C730: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0813C752 - movs r0, 0x7 -_0813C73A: - movs r1, 0x1 - bl sub_813C944 - lsls r0, 24 - cmp r0, 0 - bne _0813C74C - movs r0, 0x5 - bl PlaySE -_0813C74C: - movs r0, 0x5 - negs r0, r0 - b _0813C756 -_0813C752: - movs r0, 0x1 - negs r0, r0 -_0813C756: - pop {r1} - bx r1 - thumb_func_end sub_813C690 - - thumb_func_start sub_813C75C -sub_813C75C: @ 813C75C - push {r4-r6,lr} - ldr r5, _0813C784 @ =gUnknown_203F190 - ldrh r1, [r5, 0x4] - subs r0, r1, 0x7 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r1, 0x7 - bls _0813C7C4 - ldrb r4, [r5, 0xC] - ldrb r0, [r5, 0xD] - adds r4, r0 - movs r0, 0 - movs r1, 0 - bl sub_813C004 - cmp r4, 0 - bne _0813C788 - movs r0, 0x1 - b _0813C7A2 - .align 2, 0 -_0813C784: .4byte gUnknown_203F190 -_0813C788: - ldrb r0, [r5, 0xC] - cmp r0, 0 - bne _0813C798 - ldrb r0, [r5, 0xD] - cmp r0, 0 - beq _0813C798 - movs r0, 0x1 - b _0813C7A2 -_0813C798: - ldr r0, _0813C7AC @ =gUnknown_203F190 - ldrb r0, [r0, 0xC] - cmp r0, r6 - bne _0813C7B0 - movs r0, 0 -_0813C7A2: - movs r1, 0x1 - bl sub_813C004 - b _0813C7C4 - .align 2, 0 -_0813C7AC: .4byte gUnknown_203F190 -_0813C7B0: - cmp r0, 0 - beq _0813C7C4 - movs r0, 0 - movs r1, 0x1 - bl sub_813C004 - movs r0, 0x1 - movs r1, 0x1 - bl sub_813C004 -_0813C7C4: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_813C75C - - thumb_func_start sub_813C7CC -sub_813C7CC: @ 813C7CC - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r0, 0x2 - movs r1, 0x1 - bl GetFontAttribute - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r3, _0813C824 @ =gUnknown_203F190 - ldrb r5, [r3, 0xC] - movs r6, 0 - ldrh r0, [r3, 0x6] - cmp r6, r0 - bge _0813C81A - adds r4, r3, 0 - movs r7, 0 -_0813C7F2: - ldrb r1, [r4, 0x8] - adds r1, 0x8 - lsls r1, 24 - lsrs r1, 24 - ldrb r2, [r4, 0x9] - adds r2, r7 - lsls r2, 24 - lsrs r2, 24 - ldr r3, [r4] - lsls r0, r5, 3 - adds r0, r3 - ldr r0, [r0] - bl sub_813C4CC - adds r5, 0x1 - add r7, r8 - adds r6, 0x1 - ldrh r0, [r4, 0x6] - cmp r6, r0 - blt _0813C7F2 -_0813C81A: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0813C824: .4byte gUnknown_203F190 - thumb_func_end sub_813C7CC - - thumb_func_start sub_813C828 -sub_813C828: @ 813C828 - push {r4,lr} - movs r0, 0x2 - movs r1, 0x1 - bl GetFontAttribute - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - ldr r3, _0813C858 @ =gUnknown_203F190 - ldrb r1, [r3, 0x8] - ldrb r2, [r3, 0xD] - adds r4, r2, 0 - muls r4, r0 - adds r2, r4, 0 - ldrb r3, [r3, 0x9] - adds r2, r3 - lsls r2, 24 - lsrs r2, 24 - ldr r0, _0813C85C @ =gFameCheckerText_ListMenuCursor - bl sub_813C4CC - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813C858: .4byte gUnknown_203F190 -_0813C85C: .4byte gFameCheckerText_ListMenuCursor - thumb_func_end sub_813C828 - - thumb_func_start sub_813C860 -sub_813C860: @ 813C860 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x2 - movs r1, 0x1 - bl GetFontAttribute - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - ldr r3, _0813C894 @ =gUnknown_203F190 - ldrb r1, [r3, 0x8] - adds r2, r4, 0 - muls r2, r0 - ldrb r3, [r3, 0x9] - adds r2, r3 - lsls r2, 24 - lsrs r2, 24 - ldr r0, _0813C898 @ =gUnknown_841CB4E - bl sub_813C4CC - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813C894: .4byte gUnknown_203F190 -_0813C898: .4byte gUnknown_841CB4E - thumb_func_end sub_813C860 - - thumb_func_start sub_813C89C -sub_813C89C: @ 813C89C - push {r4,r5,lr} - lsls r0, 24 - cmp r0, 0 - bne _0813C8EC - ldr r0, _0813C8B4 @ =gUnknown_203F190 - ldrh r1, [r0, 0x6] - adds r5, r0, 0 - cmp r1, 0x1 - bne _0813C8B8 - movs r4, 0 - b _0813C8CA - .align 2, 0 -_0813C8B4: .4byte gUnknown_203F190 -_0813C8B8: - ldrh r0, [r5, 0x6] - lsrs r2, r0, 1 - movs r1, 0x1 - ands r1, r0 - adds r2, r1 - subs r0, r2 - subs r0, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 -_0813C8CA: - ldrb r1, [r5, 0xC] - cmp r1, 0 - bne _0813C8DA - ldrb r0, [r5, 0xD] - cmp r0, 0 - beq _0813C926 - subs r0, 0x1 - b _0813C93A -_0813C8DA: - ldrb r0, [r5, 0xD] - cmp r0, r4 - bls _0813C8E4 - subs r0, 0x1 - b _0813C93A -_0813C8E4: - subs r0, r1, 0x1 - strb r0, [r5, 0xC] - movs r0, 0x2 - b _0813C93E -_0813C8EC: - ldr r0, _0813C8FC @ =gUnknown_203F190 - ldrh r1, [r0, 0x6] - adds r5, r0, 0 - cmp r1, 0x1 - bne _0813C900 - movs r4, 0 - b _0813C90A - .align 2, 0 -_0813C8FC: .4byte gUnknown_203F190 -_0813C900: - ldrh r0, [r5, 0x6] - lsrs r2, r0, 1 - movs r1, 0x1 - ands r0, r1 - adds r4, r2, r0 -_0813C90A: - adds r1, r5, 0 - ldrb r2, [r1, 0xC] - ldrh r0, [r1, 0x4] - ldrh r3, [r1, 0x6] - subs r0, r3 - cmp r2, r0 - bne _0813C92A - ldrb r2, [r1, 0xD] - subs r0, r3, 0x1 - cmp r2, r0 - bge _0813C926 - adds r0, r2, 0x1 - strb r0, [r1, 0xD] - b _0813C93C -_0813C926: - movs r0, 0 - b _0813C93E -_0813C92A: - ldrb r0, [r1, 0xD] - cmp r0, r4 - bcc _0813C938 - adds r0, r2, 0x1 - strb r0, [r1, 0xC] - movs r0, 0x2 - b _0813C93E -_0813C938: - adds r0, 0x1 -_0813C93A: - strb r0, [r5, 0xD] -_0813C93C: - movs r0, 0x1 -_0813C93E: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_813C89C - - thumb_func_start sub_813C944 -sub_813C944: @ 813C944 - push {r4-r7,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r1, 24 - lsrs r6, r1, 24 - ldr r0, _0813C97C @ =gUnknown_203F190 - ldrb r7, [r0, 0xD] - movs r5, 0 - cmp r5, r2 - bge _0813C96C - adds r4, r2, 0 -_0813C95A: - adds r0, r6, 0 - bl sub_813C89C - orrs r5, r0 - lsls r0, r5, 24 - lsrs r5, r0, 24 - subs r4, 0x1 - cmp r4, 0 - bne _0813C95A -_0813C96C: - cmp r5, 0x1 - beq _0813C980 - cmp r5, 0x1 - ble _0813C978 - cmp r5, 0x3 - ble _0813C990 -_0813C978: - movs r0, 0x1 - b _0813C9D6 - .align 2, 0 -_0813C97C: .4byte gUnknown_203F190 -_0813C980: - adds r0, r7, 0 - bl sub_813C860 - bl sub_813C828 - bl sub_813BC5C - b _0813C9D4 -_0813C990: - bl sub_812BF88 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0813C9B8 - movs r0, 0x2 - bl sub_813C684 - bl sub_813C624 - bl sub_813C7CC - bl sub_813C828 - bl sub_812BDEC - bl sub_813C75C - b _0813C9D0 -_0813C9B8: - movs r0, 0 - bl sub_813BDA4 - bl sub_813C624 - bl sub_813C7CC - bl sub_813C828 - movs r0, 0x1 - bl sub_813BDA4 -_0813C9D0: - bl sub_813BC5C -_0813C9D4: - movs r0, 0 -_0813C9D6: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_813C944 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/save_failed_screen.s b/asm/save_failed_screen.s index 375138d09..09503af6a 100644 --- a/asm/save_failed_screen.s +++ b/asm/save_failed_screen.s @@ -73,7 +73,7 @@ _080F516C: ldr r1, _080F5188 @ =0x0000ffff movs r2, 0x80 bl m4aMPlayVolumeControl - bl sub_813BB38 + bl SaveCallbacks ldr r1, _080F518C @ =gUnknown_203AB50 movs r0, 0x1 strb r0, [r1] @@ -83,9 +83,9 @@ _080F5184: .4byte gMPlayInfo_BGM _080F5188: .4byte 0x0000ffff _080F518C: .4byte gUnknown_203AB50 _080F5190: - bl sub_813BBAC - bl sub_813BB74 - bl sub_813BBC8 + bl SaveMapTiles + bl SaveMapGPURegs + bl SaveMapTextColors bl sub_80F52EC movs r0, 0 movs r1, 0 @@ -197,7 +197,7 @@ _080F5298: movs r0, 0 movs r1, 0 bl SetGpuReg - bl sub_813BC2C + bl RestoreMapTiles bl sub_80F52EC ldr r1, _080F52B0 @ =gUnknown_203AB50 movs r0, 0x8 @@ -211,9 +211,9 @@ _080F52B4: movs r2, 0x80 lsls r2, 1 bl m4aMPlayVolumeControl - bl sub_813BC48 - bl sub_813BBF4 - bl sub_813BBDC + bl RestoreMapTextColors + bl RestoreGPURegs + bl RestoreCallbacks ldr r0, _080F52E4 @ =gUnknown_3005430 movs r1, 0 str r1, [r0] diff --git a/data/data_83FECCC.s b/data/data_83FECCC.s index 1e47c8b2a..1d6d7d95f 100644 --- a/data/data_83FECCC.s +++ b/data/data_83FECCC.s @@ -1912,16 +1912,16 @@ gUnknown_841B779:: @ 841B779 .include "data/text/teachy_tv.inc" -gUnknown_841CB3C:: @ 841CB3C +gString_Bill:: @ 841CB3C .string "BILL$" -gUnknown_841CB41:: @ 841CB41 +gString_Someone:: @ 841CB41 .string "SOMEONE$" -gUnknown_841CB49:: @ 841CB49 +gString_Help:: @ 841CB49 .string "HELP$" -gUnknown_841CB4E:: @ 841CB4E +gString_HelpSystem_ClearTo8:: @ 841CB4E .string "{CLEAR_TO 8}$" gUnknown_841CB52:: @ 841CB52 diff --git a/include/global.h b/include/global.h index b10f4af49..d08a1e0df 100644 --- a/include/global.h +++ b/include/global.h @@ -72,6 +72,7 @@ #define TEST_BUTTON(field, button) ({(field) & (button);}) #define JOY_NEW(button) TEST_BUTTON(gMain.newKeys, button) #define JOY_HELD(button) TEST_BUTTON(gMain.heldKeys, button) +#define JOY_REPT(button) TEST_BUTTON(gMain.newAndRepeatedKeys, button) extern u8 gStringVar1[]; extern u8 gStringVar2[]; diff --git a/include/help_system.h b/include/help_system.h index ff45125b2..3ba0cf475 100644 --- a/include/help_system.h +++ b/include/help_system.h @@ -3,27 +3,28 @@ #include "global.h" #include "list_menu.h" +#include "blit.h" -struct HelpSystemStruct_203F190_sub +struct HelpSystemListMenu_sub { - struct ListMenuItem * field_00; - u16 field_04; - u16 field_06; - u8 field_08; - u8 field_09; + struct ListMenuItem * items; + u16 totalItems; + u16 maxShowed; + u8 left; + u8 top; }; -struct HelpSystemStruct_203F190 +struct HelpSystemListMenu { - struct HelpSystemStruct_203F190_sub sub; + struct HelpSystemListMenu_sub sub; u8 field_0C; u8 field_0D; u8 field_0E; u8 filler_10[0xC]; }; -extern struct HelpSystemStruct_203F190 gUnknown_203F190; -extern struct ListMenuItem gUnknown_203F1AC[]; +extern struct HelpSystemListMenu gHelpSystemListMenu; +extern struct ListMenuItem gHelpSystemListMenuItems[]; extern bool8 gUnknown_3005ECC; extern u8 gUnknown_203F175; @@ -35,36 +36,58 @@ bool8 sub_812B45C(void); void sub_812B478(void); void sub_812B484(void); void sub_812B4B8(void); -bool8 sub_812BB9C(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); -bool8 sub_812BC54(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); -bool8 sub_812BC80(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); -bool8 sub_812BCA8(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); -bool8 sub_812BCD0(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); -bool8 sub_812BD2C(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); -bool8 sub_812BD64(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); -bool8 sub_812BD98(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); -bool8 sub_812BE10(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); -bool8 sub_812BEEC(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); -bool8 sub_812BF18(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); +bool8 sub_812BB9C(struct HelpSystemListMenu * a0, struct ListMenuItem * a1); +bool8 sub_812BC54(struct HelpSystemListMenu * a0, struct ListMenuItem * a1); +bool8 sub_812BC80(struct HelpSystemListMenu * a0, struct ListMenuItem * a1); +bool8 sub_812BCA8(struct HelpSystemListMenu * a0, struct ListMenuItem * a1); +bool8 sub_812BCD0(struct HelpSystemListMenu * a0, struct ListMenuItem * a1); +bool8 sub_812BD2C(struct HelpSystemListMenu * a0, struct ListMenuItem * a1); +bool8 sub_812BD64(struct HelpSystemListMenu * a0, struct ListMenuItem * a1); +bool8 sub_812BD98(struct HelpSystemListMenu * a0, struct ListMenuItem * a1); +void sub_812BDEC(void); +bool8 sub_812BE10(struct HelpSystemListMenu * a0, struct ListMenuItem * a1); +bool8 sub_812BEEC(struct HelpSystemListMenu * a0, struct ListMenuItem * a1); +bool8 sub_812BF18(struct HelpSystemListMenu * a0, struct ListMenuItem * a1); +bool8 sub_812BF88(void); // help_system -void sub_813C64C(struct HelpSystemStruct_203F190 *, u8, u8); -void sub_813C4CC(const u8 *, u8, u8); -void sub_813BDA4(u8); +bool8 RunHelpSystemCallback(void); +void SaveCallbacks(void); +void SaveMapGPURegs(void); +void SaveMapTiles(void); +void SaveMapTextColors(void); +void RestoreCallbacks(void); +void RestoreGPURegs(void); +void RestoreMapTiles(void); +void RestoreMapTextColors(void); +void CommitTilemap(void); +void sub_813BCF4(void); +void sub_813BD14(u8); void sub_813BD5C(u8); +void sub_813BDA4(u8); void sub_813BDE8(u8); -void sub_813BFC0(u8); +void sub_813BE30(u8); void sub_813BE78(u8); -s32 sub_813C690(void); -void sub_813C75C(void); -void sub_813C684(u8); -void sub_813C004(u8, u8); -void sub_813C50C(const u8 *a0, const u8 *a1); void sub_813BEE4(u8); -void sub_813C624(void); -void sub_813C5FC(void); -void sub_813C488(const u8 *str); -void sub_813C584(const u8 *str); -void sub_813BE30(u8); +void sub_813BF50(u8); +void sub_813BFC0(u8); +void sub_813C004(u8, u8); +void HelpSystem_PrintTextRightAlign_Row52(const u8 *str); +void HelpSystem_PrintTextAt(const u8 *, u8, u8); +void HelpSystem_PrintTwoStrings(const u8 *a0, const u8 *a1); +void HelpSystem_PrintText_813C584(const u8 *str); +void HelpSystem_FillPanel2(void); +void HelpSystem_FillPanel1(void); +void HelpSystem_InitListMenuController(struct HelpSystemListMenu *, u8, u8); +void HelpSystem_SetInputDelay(u8); +s32 HelpSystem_GetMenuInput(void); +void sub_813C75C(void); + +void DecompressAndRenderGlyph(u8 font, u16 glyph, struct Bitmap *srcBlit, struct Bitmap *destBlit, u8 *destBuffer, u8 x, u8 y, u8 width, u8 height); +void HelpSystem_PrintText_Row61(const u8 * str); +void HelpSystem_FillPanel3(void); +void PrintListMenuItems(void); +void PlaceListMenuCursor(void); +bool8 MoveCursor(u8 by, u8 dirn); #endif //GUARD_HELP_SYSTEM_H diff --git a/include/strings.h b/include/strings.h index d85402de8..8a10f02d5 100644 --- a/include/strings.h +++ b/include/strings.h @@ -143,9 +143,9 @@ extern const u8 gUnknown_841DFBE[]; extern const u8 gUnknown_841DFC9[]; // help_system -extern const u8 gUnknown_841CB3C[]; -extern const u8 gUnknown_841CB41[]; -extern const u8 gUnknown_841CB49[]; -extern const u8 gUnknown_841CB4E[]; +extern const u8 gString_Bill[]; +extern const u8 gString_Someone[]; +extern const u8 gString_Help[]; +extern const u8 gString_HelpSystem_ClearTo8[]; #endif //GUARD_STRINGS_H diff --git a/ld_script.txt b/ld_script.txt index 48b70b1b1..bde424fc9 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -249,7 +249,6 @@ SECTIONS { asm/pokedex_area_markers.o(.text); asm/pokemon_summary_screen.o(.text); src/help_system.o(.text); - asm/help_system.o(.text); asm/wild_pokemon_area.o(.text); asm/unk_text_util.o(.text); asm/berry_pouch.o(.text); diff --git a/src/help_system.c b/src/help_system.c index 7cabce50b..1fd43fffa 100644 --- a/src/help_system.c +++ b/src/help_system.c @@ -16,21 +16,6 @@ extern u8 gGlyphInfo[]; -struct DmaController -{ - void * dest; - void * src; - u32 size:21; - u32 destMode:2; - u32 srcMode:2; - u32 repeat:1; - u32 width:1; - u32 dreqOn:1; - u32 startMode:3; - u32 intrEnable:1; - u32 dmaEnable:1; -}; - struct HelpSystemVideoState { /*0x00*/ MainCallback savedVblankCb; @@ -44,42 +29,26 @@ struct HelpSystemVideoState /*0x15*/ u8 state; }; -void sub_813BB38(void); -void sub_813BB74(void); -void sub_813BBAC(void); -void sub_813BBC8(void); -void sub_813BBDC(void); -void sub_813BCF4(void); -void sub_813BBF4(void); -void sub_813BD14(u8); -void sub_813BF50(u8); -void sub_813BC2C(void); -void sub_813BC48(void); -void sub_813BC5C(void); -void sub_813C3AC(u8, u16, struct Bitmap *, struct Bitmap *, u8 *, u8, u8, u8, u8); -void sub_813C454(const u8 * str); -void sub_813C5D4(void); - -EWRAM_DATA u8 gUnknown_203B174[BG_CHAR_SIZE] = {0}; +static EWRAM_DATA u8 sMapTilesBackup[BG_CHAR_SIZE] = {0}; EWRAM_DATA u8 gUnknown_203F174 = 0; EWRAM_DATA u8 gUnknown_203F175 = 0; -EWRAM_DATA u8 gUnknown_203F176 = 0; -EWRAM_DATA u8 gUnknown_203F177 = 0; -EWRAM_DATA struct HelpSystemVideoState gUnknown_203F178 = {0}; -EWRAM_DATA struct HelpSystemStruct_203F190 gUnknown_203F190 = {0}; -EWRAM_DATA struct ListMenuItem gUnknown_203F1AC[52] = {0}; +static EWRAM_DATA u8 sDelayTimer = 0; +static EWRAM_DATA u8 sInHelpSystem = 0; +static EWRAM_DATA struct HelpSystemVideoState sVideoState = {0}; +EWRAM_DATA struct HelpSystemListMenu gHelpSystemListMenu = {0}; +EWRAM_DATA struct ListMenuItem gHelpSystemListMenuItems[52] = {0}; -const u16 gUnknown_8464008[] = INCBIN_U16("graphics/help_system/unk_8464008.4bpp"); -const u16 gUnknown_8464128[] = INCBIN_U16("graphics/help_system/unk_8464008.gbapal"); +static const u16 sTiles[] = INCBIN_U16("graphics/help_system/unk_8464008.4bpp"); +static const u16 sPals[] = INCBIN_U16("graphics/help_system/unk_8464008.gbapal"); -u8 sub_813B870(void) +u8 RunHelpSystemCallback(void) { s32 i; - switch (gUnknown_203F178.state) + switch (sVideoState.state) { case 0: - gUnknown_203F177 = 0; + sInHelpSystem = 0; if (gSaveBlock2Ptr->optionsButtonMode != OPTIONS_BUTTON_MODE_NORMAL) return 0; if (JOY_NEW(R_BUTTON) && gUnknown_203F175 == 1) @@ -96,39 +65,39 @@ u8 sub_813B870(void) PlaySE(SE_HELP_OPEN); if (!gUnknown_203F174) m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 0x80); - sub_813BB38(); - gUnknown_203F177 = 1; - gUnknown_203F178.state = 1; + SaveCallbacks(); + sInHelpSystem = 1; + sVideoState.state = 1; } break; case 1: - sub_813BBAC(); - sub_813BB74(); - sub_813BBC8(); - (*(vu16 *)PLTT) = gUnknown_8464128[15]; + SaveMapTiles(); + SaveMapGPURegs(); + SaveMapTextColors(); + (*(vu16 *)PLTT) = sPals[15]; SetGpuReg(REG_OFFSET_DISPCNT, 0); - gUnknown_203F178.state = 2; + sVideoState.state = 2; break; case 2: RequestDma3Fill(0, (void *)BG_CHAR_ADDR(3), BG_CHAR_SIZE, 0); - RequestDma3Copy(gUnknown_8464128, (void *)PLTT, sizeof(gUnknown_8464128), 0); - RequestDma3Copy(gUnknown_8464008, gDecompressionBuffer + 0x3EE0, sizeof(gUnknown_8464008), 0); - gUnknown_203F178.state = 3; + RequestDma3Copy(sPals, (void *)PLTT, sizeof(sPals), 0); + RequestDma3Copy(sTiles, gDecompressionBuffer + 0x3EE0, sizeof(sTiles), 0); + sVideoState.state = 3; break; case 3: sub_813BCF4(); - sub_813C5D4(); - sub_813C5FC(); - sub_813C454(gUnknown_841CB49); + HelpSystem_FillPanel3(); + HelpSystem_FillPanel2(); + HelpSystem_PrintText_Row61(gString_Help); sub_813BD14(1); if (sub_812B40C() == TRUE) - sub_812BC54(&gUnknown_203F190, gUnknown_203F1AC); + sub_812BC54(&gHelpSystemListMenu, gHelpSystemListMenuItems); else - sub_812BCA8(&gUnknown_203F190, gUnknown_203F1AC); + sub_812BCA8(&gHelpSystemListMenu, gHelpSystemListMenuItems); sub_813BE78(1); sub_813BF50(1); - sub_813BC5C(); - gUnknown_203F178.state = 4; + CommitTilemap(); + sVideoState.state = 4; break; case 4: SetGpuReg(REG_OFFSET_BLDCNT, 0); @@ -136,46 +105,46 @@ u8 sub_813B870(void) SetGpuReg(REG_OFFSET_BG0VOFS, 0); SetGpuReg(REG_OFFSET_BG0CNT, BGCNT_PRIORITY(0) | BGCNT_CHARBASE(3) | BGCNT_16COLOR | BGCNT_SCREENBASE(31)); SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_BG0_ON); - gUnknown_203F178.state = 5; + sVideoState.state = 5; break; case 5: - if (!sub_812BB9C(&gUnknown_203F190, gUnknown_203F1AC)) + if (!sub_812BB9C(&gHelpSystemListMenu, gHelpSystemListMenuItems)) { PlaySE(SE_HELP_CLOSE); - gUnknown_203F178.state = 6; + sVideoState.state = 6; } break; case 6: SetGpuReg(REG_OFFSET_DISPCNT, 0); - sub_813BC2C(); + RestoreMapTiles(); for (i = 0; i < 0x200; i += 2) { - *((vu16 *)(PLTT + 0x000 + i)) = gUnknown_8464128[15]; - *((vu16 *)(PLTT + 0x200 + i)) = gUnknown_8464128[15]; + *((vu16 *)(PLTT + 0x000 + i)) = sPals[15]; + *((vu16 *)(PLTT + 0x200 + i)) = sPals[15]; } - gUnknown_203F178.state = 7; + sVideoState.state = 7; break; case 7: if (!gUnknown_203F174) m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 0x100); - sub_813BC48(); - sub_813BBF4(); - gUnknown_203F178.state = 8; + RestoreMapTextColors(); + RestoreGPURegs(); + sVideoState.state = 8; break; case 8: - sub_813BBDC(); - gUnknown_203F177 = 0; - gUnknown_203F178.state = 0; + RestoreCallbacks(); + sInHelpSystem = 0; + sVideoState.state = 0; break; } - return gUnknown_203F178.state; + return sVideoState.state; } -void sub_813BB38(void) +void SaveCallbacks(void) { vu16 * dma; - gUnknown_203F178.savedVblankCb = gMain.vblankCallback; - gUnknown_203F178.savedHblankCb = gMain.hblankCallback; + sVideoState.savedVblankCb = gMain.vblankCallback; + sVideoState.savedHblankCb = gMain.hblankCallback; gMain.vblankCallback = NULL; gMain.hblankCallback = NULL; @@ -185,64 +154,64 @@ void sub_813BB38(void) dma[5]; } -void sub_813BB74(void) +void SaveMapGPURegs(void) { - gUnknown_203F178.savedDispCnt = GetGpuReg(REG_OFFSET_DISPCNT); - gUnknown_203F178.savedBg0Cnt = GetGpuReg(REG_OFFSET_BG0CNT); - gUnknown_203F178.savedBg0Hofs = GetGpuReg(REG_OFFSET_BG0HOFS); - gUnknown_203F178.savedBg0Vofs = GetGpuReg(REG_OFFSET_BG0VOFS); - gUnknown_203F178.savedBldCnt = GetGpuReg(REG_OFFSET_BLDCNT); + sVideoState.savedDispCnt = GetGpuReg(REG_OFFSET_DISPCNT); + sVideoState.savedBg0Cnt = GetGpuReg(REG_OFFSET_BG0CNT); + sVideoState.savedBg0Hofs = GetGpuReg(REG_OFFSET_BG0HOFS); + sVideoState.savedBg0Vofs = GetGpuReg(REG_OFFSET_BG0VOFS); + sVideoState.savedBldCnt = GetGpuReg(REG_OFFSET_BLDCNT); } -void sub_813BBAC(void) +void SaveMapTiles(void) { - RequestDma3Copy((void *)BG_CHAR_ADDR(3), gUnknown_203B174, BG_CHAR_SIZE, 0); + RequestDma3Copy((void *)BG_CHAR_ADDR(3), sMapTilesBackup, BG_CHAR_SIZE, 0); } -void sub_813BBC8(void) +void SaveMapTextColors(void) { SaveTextColors( - &gUnknown_203F178.savedTextColor.fgColor, - &gUnknown_203F178.savedTextColor.bgColor, - &gUnknown_203F178.savedTextColor.shadowColor + &sVideoState.savedTextColor.fgColor, + &sVideoState.savedTextColor.bgColor, + &sVideoState.savedTextColor.shadowColor ); } -void sub_813BBDC(void) +void RestoreCallbacks(void) { - gMain.vblankCallback = gUnknown_203F178.savedVblankCb; - gMain.hblankCallback = gUnknown_203F178.savedHblankCb; + gMain.vblankCallback = sVideoState.savedVblankCb; + gMain.hblankCallback = sVideoState.savedHblankCb; } -void sub_813BBF4(void) +void RestoreGPURegs(void) { - SetGpuReg(REG_OFFSET_BLDCNT, gUnknown_203F178.savedBldCnt); - SetGpuReg(REG_OFFSET_BG0HOFS, gUnknown_203F178.savedBg0Hofs); - SetGpuReg(REG_OFFSET_BG0VOFS, gUnknown_203F178.savedBg0Vofs); - SetGpuReg(REG_OFFSET_BG0CNT, gUnknown_203F178.savedBg0Cnt); - SetGpuReg(REG_OFFSET_DISPCNT, gUnknown_203F178.savedDispCnt); + SetGpuReg(REG_OFFSET_BLDCNT, sVideoState.savedBldCnt); + SetGpuReg(REG_OFFSET_BG0HOFS, sVideoState.savedBg0Hofs); + SetGpuReg(REG_OFFSET_BG0VOFS, sVideoState.savedBg0Vofs); + SetGpuReg(REG_OFFSET_BG0CNT, sVideoState.savedBg0Cnt); + SetGpuReg(REG_OFFSET_DISPCNT, sVideoState.savedDispCnt); } -void sub_813BC2C(void) +void RestoreMapTiles(void) { - RequestDma3Copy(gUnknown_203B174, (void *)BG_CHAR_ADDR(3), BG_CHAR_SIZE, 0); + RequestDma3Copy(sMapTilesBackup, (void *)BG_CHAR_ADDR(3), BG_CHAR_SIZE, 0); } -void sub_813BC48(void) +void RestoreMapTextColors(void) { RestoreTextColors( - &gUnknown_203F178.savedTextColor.fgColor, - &gUnknown_203F178.savedTextColor.bgColor, - &gUnknown_203F178.savedTextColor.shadowColor + &sVideoState.savedTextColor.fgColor, + &sVideoState.savedTextColor.bgColor, + &sVideoState.savedTextColor.shadowColor ); } -void sub_813BC5C(void) +void CommitTilemap(void) { RequestDma3Copy(gDecompressionBuffer, (void *)BG_CHAR_ADDR(3), BG_CHAR_SIZE, 0); } -void sub_813BC78(u16 baseTile, u8 left, u8 top, u8 width, u8 height, u16 increment) +void HS_DrawBgTilemapRect(u16 baseTile, u8 left, u8 top, u8 width, u8 height, u16 increment) { u16 i, j; @@ -255,12 +224,12 @@ void sub_813BC78(u16 baseTile, u8 left, u8 top, u8 width, u8 height, u16 increme } } - sub_813BC5C(); + CommitTilemap(); } void sub_813BCF4(void) { - sub_813BC78(0x1FF, 0, 0, 30, 20, 0); + HS_DrawBgTilemapRect(0x1FF, 0, 0, 30, 20, 0); } void sub_813BD14(u8 mode) @@ -268,10 +237,10 @@ void sub_813BD14(u8 mode) switch (mode) { case 0: - sub_813BC78(0x1FF, 1, 0, 7, 2, 0); + HS_DrawBgTilemapRect(0x1FF, 1, 0, 7, 2, 0); break; case 1: - sub_813BC78(0x1E8, 1, 0, 7, 2, 1); + HS_DrawBgTilemapRect(0x1E8, 1, 0, 7, 2, 1); break; } } @@ -281,10 +250,10 @@ void sub_813BD5C(u8 mode) switch (mode) { case 0: - sub_813BC78(0x1FF, 13, 0, 16, 2, 0); + HS_DrawBgTilemapRect(0x1FF, 13, 0, 16, 2, 0); break; case 1: - sub_813BC78(0x1A0, 13, 0, 16, 2, 1); + HS_DrawBgTilemapRect(0x1A0, 13, 0, 16, 2, 1); break; } } @@ -294,10 +263,10 @@ void sub_813BDA4(u8 mode) switch (mode) { case 0: - sub_813BC78(0x1FF, 2, 3, 26, 16, 0); + HS_DrawBgTilemapRect(0x1FF, 2, 3, 26, 16, 0); break; case 1: - sub_813BC78(0x000, 2, 3, 26, 16, 1); + HS_DrawBgTilemapRect(0x000, 2, 3, 26, 16, 1); break; } } @@ -307,10 +276,10 @@ void sub_813BDE8(u8 mode) switch (mode) { case 0: - sub_813BC78(0x1FF, 1, 3, 28, 16, 0); + HS_DrawBgTilemapRect(0x1FF, 1, 3, 28, 16, 0); break; case 1: - sub_813BC78(0x1FA, 1, 3, 28, 17, 0); + HS_DrawBgTilemapRect(0x1FA, 1, 3, 28, 17, 0); break; } } @@ -320,10 +289,10 @@ void sub_813BE30(u8 mode) switch (mode) { case 0: - sub_813BC78(0x1FF, 2, 14, 26, 5, 0); + HS_DrawBgTilemapRect(0x1FF, 2, 14, 26, 5, 0); break; case 1: - sub_813BC78(0x11E, 2, 14, 26, 5, 1); + HS_DrawBgTilemapRect(0x11E, 2, 14, 26, 5, 1); break; } } @@ -333,12 +302,12 @@ void sub_813BE78(u8 mode) switch (mode) { case 0: - sub_813BC78(0x1FF, 1, 2, 28, 1, 0); - sub_813BC78(0x1FF, 1, 19, 28, 1, 0); + HS_DrawBgTilemapRect(0x1FF, 1, 2, 28, 1, 0); + HS_DrawBgTilemapRect(0x1FF, 1, 19, 28, 1, 0); break; case 1: - sub_813BC78(0x1F7, 1, 2, 28, 1, 0); - sub_813BC78(0x1F8, 1, 19, 28, 1, 0); + HS_DrawBgTilemapRect(0x1F7, 1, 2, 28, 1, 0); + HS_DrawBgTilemapRect(0x1F8, 1, 19, 28, 1, 0); break; } } @@ -348,12 +317,12 @@ void sub_813BEE4(u8 mode) switch (mode) { case 0: - sub_813BC78(0x1FF, 1, 2, 28, 1, 0); - sub_813BC78(0x1FF, 1, 19, 28, 1, 0); + HS_DrawBgTilemapRect(0x1FF, 1, 2, 28, 1, 0); + HS_DrawBgTilemapRect(0x1FF, 1, 19, 28, 1, 0); break; case 1: - sub_813BC78(0x1FB, 1, 2, 28, 1, 0); - sub_813BC78(0x1FC, 1, 19, 28, 1, 0); + HS_DrawBgTilemapRect(0x1FB, 1, 2, 28, 1, 0); + HS_DrawBgTilemapRect(0x1FC, 1, 19, 28, 1, 0); break; } } @@ -363,12 +332,12 @@ void sub_813BF50(u8 mode) switch (mode) { case 0: - sub_813BC78(0x1FF, 0, 0, 1, 20, 0); - sub_813BC78(0x1FF, 29, 0, 1, 20, 0); + HS_DrawBgTilemapRect(0x1FF, 0, 0, 1, 20, 0); + HS_DrawBgTilemapRect(0x1FF, 29, 0, 1, 20, 0); break; case 1: - sub_813BC78(0x1F9, 0, 0, 1, 20, 0); - sub_813BC78(0x1F9, 29, 0, 1, 20, 0); + HS_DrawBgTilemapRect(0x1F9, 0, 0, 1, 20, 0); + HS_DrawBgTilemapRect(0x1F9, 29, 0, 1, 20, 0); break; } } @@ -378,10 +347,10 @@ void sub_813BFC0(u8 mode) switch (mode) { case 0: - sub_813BC78(0x1FF, 1, 5, 28, 1, 0); + HS_DrawBgTilemapRect(0x1FF, 1, 5, 28, 1, 0); break; case 1: - sub_813BC78(0x1FC, 1, 5, 28, 1, 0); + HS_DrawBgTilemapRect(0x1FC, 1, 5, 28, 1, 0); break; } } @@ -391,20 +360,20 @@ void sub_813C004(u8 a0, u8 mode) switch (mode) { case 0: - sub_813BC78(0x1FF, 28, 3, 1, 1, 0); - sub_813BC78(0x1FF, 28, 18, 1, 1, 0); + HS_DrawBgTilemapRect(0x1FF, 28, 3, 1, 1, 0); + HS_DrawBgTilemapRect(0x1FF, 28, 18, 1, 1, 0); break; case 1: if (a0 == 0) - sub_813BC78(0x1FE, 28, 3, 1, 1, 0); + HS_DrawBgTilemapRect(0x1FE, 28, 3, 1, 1, 0); else - sub_813BC78(0x1FD, 28, 18, 1, 1, 0); + HS_DrawBgTilemapRect(0x1FD, 28, 18, 1, 1, 0); break; } } #define HelpSystemHandleRenderGlyph(character) ({\ - do {sub_813C3AC(font, character, &srcBlit, &destBlit, dest, x, y, width, height);} while (0); font;\ + do {DecompressAndRenderGlyph(font, character, &srcBlit, &destBlit, dest, x, y, width, height);} while (0); font;\ }) #ifdef NONMATCHING @@ -447,15 +416,15 @@ void HelpSystemRenderText(u8 font, u8 * dest, const u8 * src, u8 x, u8 y, u8 wid { if (FlagGet(FLAG_SYS_NOT_SOMEONES_PC) == TRUE) { - if (gUnknown_841CB3C[i] == EOS) + if (gString_Bill[i] == EOS) break; - HelpSystemHandleRenderGlyph(gUnknown_841CB3C[i]); + HelpSystemHandleRenderGlyph(gString_Bill[i]); } else { - if (gUnknown_841CB41[i] == EOS) + if (gString_Someone[i] == EOS) break; - HelpSystemHandleRenderGlyph(gUnknown_841CB41[i]); + HelpSystemHandleRenderGlyph(gString_Someone[i]); } x += gGlyphInfo[0x80]; } @@ -634,7 +603,7 @@ void HelpSystemRenderText(u8 font, u8 * dest, const u8 * src, u8 x, u8 y, u8 wid "\tldr r0, [sp, 0x24]\n" "\tadd r2, sp, 0x14\n" "\tadd r3, sp, 0x1C\n" - "\tbl sub_813C3AC\n" + "\tbl DecompressAndRenderGlyph\n" "\tldr r0, [sp, 0x24]\n" "\tldrb r0, [r5]\n" "\tadds r0, r7, r0\n" @@ -677,10 +646,10 @@ void HelpSystemRenderText(u8 font, u8 * dest, const u8 * src, u8 x, u8 y, u8 wid "\tldr r0, [sp, 0x24]\n" "\tadd r2, sp, 0x14\n" "\tadd r3, sp, 0x1C\n" - "\tbl sub_813C3AC\n" + "\tbl DecompressAndRenderGlyph\n" "\tb _0813C1AC\n" "_0813C184:\n" - "\tldr r0, _0813C1D8 @ =gUnknown_841CB41\n" + "\tldr r0, _0813C1D8 @ =gString_Someone\n" "\tadds r1, r4, r0\n" "\tldrb r0, [r1]\n" "\tcmp r0, 0xFF\n" @@ -698,7 +667,7 @@ void HelpSystemRenderText(u8 font, u8 * dest, const u8 * src, u8 x, u8 y, u8 wid "\tldr r0, [sp, 0x24]\n" "\tadd r2, sp, 0x14\n" "\tadd r3, sp, 0x1C\n" - "\tbl sub_813C3AC\n" + "\tbl DecompressAndRenderGlyph\n" "_0813C1AC:\n" "\tldr r1, [sp, 0x24]\n" "\tldrb r0, [r5]\n" @@ -715,16 +684,16 @@ void HelpSystemRenderText(u8 font, u8 * dest, const u8 * src, u8 x, u8 y, u8 wid "\tlsrs r0, 24\n" "\tcmp r0, 0x1\n" "\tbne _0813C184\n" - "\tldr r0, _0813C1E0 @ =gUnknown_841CB3C\n" + "\tldr r0, _0813C1E0 @ =gString_Bill\n" "\tadds r1, r4, r0\n" "\tldrb r0, [r1]\n" "\tcmp r0, 0xFF\n" "\tbne _0813C164\n" "\tb _0813C0AC_masterLoop\n" "\t.align 2, 0\n" - "_0813C1D8: .4byte gUnknown_841CB41\n" + "_0813C1D8: .4byte gString_Someone\n" "_0813C1DC: .4byte 0x00000834\n" - "_0813C1E0: .4byte gUnknown_841CB3C\n" + "_0813C1E0: .4byte gString_Bill\n" "_0813C1E4:\n" "\tldr r7, [sp, 0x34]\n" "\tldr r1, _0813C1FC @ =gGlyphInfo\n" @@ -916,7 +885,7 @@ void HelpSystemRenderText(u8 font, u8 * dest, const u8 * src, u8 x, u8 y, u8 wid "\tstr r0, [sp, 0x10]\n" "\tldr r0, [sp, 0x24]\n" "\tadd r2, sp, 0x14\n" - "\tbl sub_813C3AC\n" + "\tbl DecompressAndRenderGlyph\n" "\tldr r1, [sp, 0x24]\n" "\tldr r0, _0813C398 @ =gGlyphInfo\n" "\tadds r0, 0x80\n" @@ -941,7 +910,7 @@ void HelpSystemRenderText(u8 font, u8 * dest, const u8 * src, u8 x, u8 y, u8 wid } #endif //NONMATCHING -void sub_813C3AC(u8 font, u16 glyph, struct Bitmap *srcBlit, struct Bitmap *destBlit, u8 *destBuffer, u8 x, u8 y, u8 width, u8 height) +void DecompressAndRenderGlyph(u8 font, u16 glyph, struct Bitmap *srcBlit, struct Bitmap *destBlit, u8 *destBuffer, u8 x, u8 y, u8 width, u8 height) { if (font == 0) DecompressGlyphFont0(glyph, FALSE); @@ -958,26 +927,26 @@ void sub_813C3AC(u8 font, u16 glyph, struct Bitmap *srcBlit, struct Bitmap *dest BlitBitmapRect4Bit(srcBlit, destBlit, 0, 0, x, y, gGlyphInfo[0x80], gGlyphInfo[0x81], 0); } -void sub_813C454(const u8 * str) +void HelpSystem_PrintText_Row61(const u8 * str) { GenerateFontHalfRowLookupTable(1, 15, 2); HelpSystemRenderText(5, gDecompressionBuffer + 0x3D00, str, 6, 2, 7, 2); } -void sub_813C488(const u8 * str) +void HelpSystem_PrintTextRightAlign_Row52(const u8 * str) { s32 left = 0x7C - GetStringWidth(0, str, 0); GenerateFontHalfRowLookupTable(1, 15, 2); HelpSystemRenderText(0, gDecompressionBuffer + 0x3400, str, left, 2, 16, 2); } -void sub_813C4CC(const u8 * str, u8 x, u8 y) +void HelpSystem_PrintTextAt(const u8 * str, u8 x, u8 y) { GenerateFontHalfRowLookupTable(1, 15, 2); HelpSystemRenderText(2, gDecompressionBuffer + 0x0000, str, x, y, 26, 16); } -void sub_813C50C(const u8 * str1, const u8 * str2) +void HelpSystem_PrintTwoStrings(const u8 * str1, const u8 * str2) { CpuFill16(0xEEEE, gDecompressionBuffer + 0x0000, 0x3400); GenerateFontHalfRowLookupTable(1, 14, 2); @@ -985,9 +954,249 @@ void sub_813C50C(const u8 * str1, const u8 * str2) HelpSystemRenderText(2, gDecompressionBuffer + 0x09C0, str2, 0, 0, 26, 13); } -void sub_813C584(const u8 * str) +void HelpSystem_PrintText_813C584(const u8 * str) { CpuFill16(0x1111, gDecompressionBuffer + 0x23C0, 0x1040); GenerateFontHalfRowLookupTable(2, 1, 3); HelpSystemRenderText(2, gDecompressionBuffer + 0x23C0, str, 2, 6, 26, 5); } + +void HelpSystem_FillPanel3(void) +{ + CpuFill16(0xFFFF, gDecompressionBuffer + 0x3D00, 0x1C0); +} + +void HelpSystem_FillPanel2(void) +{ + CpuFill16(0xFFFF, gDecompressionBuffer + 0x3400, 0x400); +} + +void HelpSystem_FillPanel1(void) +{ + CpuFill16(0xFFFF, gDecompressionBuffer + 0x0000, 0x3400); +} + +void HelpSystem_InitListMenuController(struct HelpSystemListMenu * a0, u8 a1, u8 a2) +{ + gHelpSystemListMenu.sub = a0->sub; + gHelpSystemListMenu.field_0C = a1; + gHelpSystemListMenu.field_0D = a2; + gHelpSystemListMenu.field_0E = 0; + if (gHelpSystemListMenu.sub.totalItems < gHelpSystemListMenu.sub.maxShowed) + gHelpSystemListMenu.sub.maxShowed = gHelpSystemListMenu.sub.totalItems; + sub_813BDA4(0); + HelpSystem_FillPanel1(); + PrintListMenuItems(); + PlaceListMenuCursor(); +} + +void HelpSystem_SetInputDelay(u8 a0) +{ + sDelayTimer = a0; +} + +s32 HelpSystem_GetMenuInput(void) +{ + if (sDelayTimer != 0) + { + sDelayTimer--; + return -1; + } + else if (JOY_NEW(A_BUTTON)) + { + PlaySE(SE_SELECT); + return gHelpSystemListMenu.sub.items[gHelpSystemListMenu.field_0C + gHelpSystemListMenu.field_0D].index; + } + else if (JOY_NEW(B_BUTTON)) + { + PlaySE(SE_SELECT); + return -2; + } + else if (JOY_NEW(L_BUTTON | R_BUTTON)) + { + return -6; + } + else if (JOY_REPT(DPAD_UP)) + { + if (!MoveCursor(1, 0)) + PlaySE(SE_SELECT); + return -4; + } + else if (JOY_REPT(DPAD_DOWN)) + { + if (!MoveCursor(1, 1)) + PlaySE(SE_SELECT); + return -5; + } + else if (JOY_REPT(DPAD_LEFT)) + { + if (!MoveCursor(7, 0)) + PlaySE(SE_SELECT); + return -4; + } + else if (JOY_REPT(DPAD_RIGHT)) + { + if (!MoveCursor(7, 1)) + PlaySE(SE_SELECT); + return -5; + } + else + return -1; +} + +void sub_813C75C(void) +{ + u8 r6 = gHelpSystemListMenu.sub.totalItems - 7; + if (gHelpSystemListMenu.sub.totalItems > 7) + { + s32 r4 = gHelpSystemListMenu.field_0C + gHelpSystemListMenu.field_0D; + sub_813C004(0, 0); + if (r4 == 0) + sub_813C004(1, 1); + else if (gHelpSystemListMenu.field_0C == 0 && gHelpSystemListMenu.field_0D != 0) + sub_813C004(1, 1); + else if (gHelpSystemListMenu.field_0C == r6) + sub_813C004(0, 1); + else if (gHelpSystemListMenu.field_0C != 0) + { + sub_813C004(0, 1); + sub_813C004(1, 1); + } + } +} + +void PrintListMenuItems(void) +{ + u8 glyphHeight = GetFontAttribute(2, 1) + 1; + s32 i; + s32 r5 = gHelpSystemListMenu.field_0C; + + for (i = 0; i < gHelpSystemListMenu.sub.maxShowed; i++) + { + u8 x = gHelpSystemListMenu.sub.left + 8; + u8 y = gHelpSystemListMenu.sub.top + glyphHeight * i; + HelpSystem_PrintTextAt(gHelpSystemListMenu.sub.items[r5].label, x, y); + r5++; + } +} + +void PlaceListMenuCursor(void) +{ + u8 glyphHeight = GetFontAttribute(2, 1) + 1; + u8 x = gHelpSystemListMenu.sub.left; + u8 y = gHelpSystemListMenu.sub.top + glyphHeight * gHelpSystemListMenu.field_0D; + HelpSystem_PrintTextAt(gFameCheckerText_ListMenuCursor, x, y); +} + +void sub_813C860(u8 i) +{ + u8 glyphHeight = GetFontAttribute(2, 1) + 1; + u8 x = gHelpSystemListMenu.sub.left; + u8 y = gHelpSystemListMenu.sub.top + i * glyphHeight; + HelpSystem_PrintTextAt(gString_HelpSystem_ClearTo8, x, y); +} + +u8 TryMoveCursor1(u8 dirn) +{ + u16 r4; + if (dirn == 0) + { + if (gHelpSystemListMenu.sub.maxShowed == 1) + r4 = 0; + else + r4 = gHelpSystemListMenu.sub.maxShowed - (gHelpSystemListMenu.sub.maxShowed / 2 + (gHelpSystemListMenu.sub.maxShowed & 1)) - 1; + if (gHelpSystemListMenu.field_0C == 0) + { + if (gHelpSystemListMenu.field_0D != 0) + { + gHelpSystemListMenu.field_0D--; + return 1; + } + else + return 0; + } + if (gHelpSystemListMenu.field_0D > r4) + { + gHelpSystemListMenu.field_0D--; + return 1; + } + else + { + gHelpSystemListMenu.field_0C--; + return 2; + } + } + else + { + if (gHelpSystemListMenu.sub.maxShowed == 1) + r4 = 0; + else + r4 = gHelpSystemListMenu.sub.maxShowed / 2 + (gHelpSystemListMenu.sub.maxShowed & 1); + if (gHelpSystemListMenu.field_0C == gHelpSystemListMenu.sub.totalItems - gHelpSystemListMenu.sub.maxShowed) + { + if (gHelpSystemListMenu.field_0D < gHelpSystemListMenu.sub.maxShowed - 1) + { + gHelpSystemListMenu.field_0D++; + return 1; + } + else + return 0; + } + else if (gHelpSystemListMenu.field_0D < r4) + { + gHelpSystemListMenu.field_0D++; + return 1; + } + else + { + gHelpSystemListMenu.field_0C++; + return 2; + } + } +} + +bool8 MoveCursor(u8 by, u8 dirn) +{ + u8 r7 = gHelpSystemListMenu.field_0D; + u8 flags = 0; + s32 i; + for (i = 0; i < by; i++) + flags |= TryMoveCursor1(dirn); + + switch (flags) + { + case 0: + default: + // neither changed + return TRUE; + case 1: + // changed field_0D only + sub_813C860(r7); + PlaceListMenuCursor(); + CommitTilemap(); + break; + case 2: + case 3: + // changed field_0C + if (sub_812BF88() == TRUE) + { + HelpSystem_SetInputDelay(2); + HelpSystem_FillPanel1(); + PrintListMenuItems(); + PlaceListMenuCursor(); + sub_812BDEC(); + sub_813C75C(); + } + else + { + sub_813BDA4(0); + HelpSystem_FillPanel1(); + PrintListMenuItems(); + PlaceListMenuCursor(); + sub_813BDA4(1); + } + CommitTilemap(); + break; + } + return FALSE; +} diff --git a/src/help_system_812B1E0.c b/src/help_system_812B1E0.c index 1356db7d0..98d6ce8be 100644 --- a/src/help_system_812B1E0.c +++ b/src/help_system_812B1E0.c @@ -23,16 +23,16 @@ u8 gUnknown_3005E9C[4]; u16 gUnknown_3005EA0; static bool32 sub_812B27C(const u16 * mapIdxs); -static void sub_812B520(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); -static void sub_812B614(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); +static void sub_812B520(struct HelpSystemListMenu * a0, struct ListMenuItem * a1); +static void sub_812B614(struct HelpSystemListMenu * a0, struct ListMenuItem * a1); static bool8 sub_812B754(void); static bool8 sub_812B780(u8); static bool8 sub_812BB10(void); static void sub_812BF5C(void); static void sub_812BF74(const u8 *); -static void sub_812BF94(struct HelpSystemStruct_203F190 * a0); -static void sub_812BF9C(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1); +static void sub_812BF94(struct HelpSystemListMenu * a0); +static void sub_812BF9C(struct HelpSystemListMenu * a0, struct ListMenuItem * a1); static const u8 *const gUnknown_845B080[] = { gUnknown_81B2DF8, @@ -1029,27 +1029,27 @@ void sub_812B4B8(void) gUnknown_203F175 = 0; } -static void sub_812B4C4(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) +static void sub_812B4C4(struct HelpSystemListMenu * a0, struct ListMenuItem * a1) { - a0->sub.field_00 = a1; - a0->sub.field_04 = 1; - a0->sub.field_06 = 1; - a0->sub.field_08 = 1; - a0->sub.field_09 = 4; + a0->sub.items = a1; + a0->sub.totalItems = 1; + a0->sub.maxShowed = 1; + a0->sub.left = 1; + a0->sub.top = 4; } -static void sub_812B4D8(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) +static void sub_812B4D8(struct HelpSystemListMenu * a0, struct ListMenuItem * a1) { sub_812B4C4(a0, a1); sub_812B520(a0, a1); sub_812BF74(gUnknown_841DFAC); - sub_813C64C(a0, 0, gUnknown_3005E9C[2]); + HelpSystem_InitListMenuController(a0, 0, gUnknown_3005E9C[2]); sub_812BF9C(a0, a1); sub_813BDA4(1); sub_813BD5C(1); } -static void sub_812B520(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) +static void sub_812B520(struct HelpSystemListMenu * a0, struct ListMenuItem * a1) { u8 i; u8 r4 = 0; @@ -1063,12 +1063,12 @@ static void sub_812B520(struct HelpSystemStruct_203F190 * a0, struct ListMenuIte } } a1[r4 - 1].index = -2; - a0->sub.field_04 = r4; - a0->sub.field_06 = r4; - a0->sub.field_08 = 0; + a0->sub.totalItems = r4; + a0->sub.maxShowed = r4; + a0->sub.left = 0; } -static void sub_812B5A8(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) +static void sub_812B5A8(struct HelpSystemListMenu * a0, struct ListMenuItem * a1) { sub_813BDE8(0); sub_813BFC0(0); @@ -1076,13 +1076,13 @@ static void sub_812B5A8(struct HelpSystemStruct_203F190 * a0, struct ListMenuIte sub_812B4C4(a0, a1); sub_812B614(a0, a1); sub_812BF74(gUnknown_841DFC9); - sub_813C64C(a0, a0->field_0C, a0->field_0D); - sub_813C4CC(gUnknown_845B080[gUnknown_3005E9C[1]], 0, 0); + HelpSystem_InitListMenuController(a0, a0->field_0C, a0->field_0D); + HelpSystem_PrintTextAt(gUnknown_845B080[gUnknown_3005E9C[1]], 0, 0); sub_813BDA4(1); sub_813BD5C(1); } -static void sub_812B614(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) +static void sub_812B614(struct HelpSystemListMenu * a0, struct ListMenuItem * a1) { u8 r6 = 0; const u8 * r3 = gUnknown_845B9E0[gUnknown_203B0EC * 5 + gUnknown_3005E9C[1]]; @@ -1117,10 +1117,10 @@ static void sub_812B614(struct HelpSystemStruct_203F190 * a0, struct ListMenuIte a1[r6].label = gUnknown_81B2E6F; a1[r6].index = -2; r6++; - a0->sub.field_04 = r6; - a0->sub.field_06 = 7; - a0->sub.field_08 = 0; - a0->sub.field_09 = 21; + a0->sub.totalItems = r6; + a0->sub.maxShowed = 7; + a0->sub.left = 0; + a0->sub.top = 21; } static bool8 sub_812B754(void) @@ -1358,7 +1358,7 @@ static bool8 sub_812BB10(void) return FALSE; } -bool8 sub_812BB9C(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) +bool8 sub_812BB9C(struct HelpSystemListMenu * a0, struct ListMenuItem * a1) { switch (a0->field_0E) { @@ -1386,7 +1386,7 @@ bool8 sub_812BB9C(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1 return FALSE; } -bool8 sub_812BC54(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) +bool8 sub_812BC54(struct HelpSystemListMenu * a0, struct ListMenuItem * a1) { sub_812BF74(gUnknown_841DFA5); sub_812BF5C(); @@ -1396,7 +1396,7 @@ bool8 sub_812BC54(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1 return TRUE; } -bool8 sub_812BC80(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) +bool8 sub_812BC80(struct HelpSystemListMenu * a0, struct ListMenuItem * a1) { if (JOY_NEW(A_BUTTON)) { @@ -1406,7 +1406,7 @@ bool8 sub_812BC80(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1 return TRUE; } -bool8 sub_812BCA8(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) +bool8 sub_812BCA8(struct HelpSystemListMenu * a0, struct ListMenuItem * a1) { gUnknown_3005E9C[2] = 0; sub_812BF94(a0); @@ -1415,9 +1415,9 @@ bool8 sub_812BCA8(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1 return TRUE; } -bool8 sub_812BCD0(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) +bool8 sub_812BCD0(struct HelpSystemListMenu * a0, struct ListMenuItem * a1) { - s32 v0 = sub_813C690(); + s32 v0 = HelpSystem_GetMenuInput(); switch (v0) { case -6: @@ -1438,19 +1438,19 @@ bool8 sub_812BCD0(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1 return TRUE; } -bool8 sub_812BD2C(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) +bool8 sub_812BD2C(struct HelpSystemListMenu * a0, struct ListMenuItem * a1) { gUnknown_3005E9C[0] = 1; gUnknown_3005E9C[2] = a0->field_0D; sub_812BF94(a0); sub_812B5A8(a0, a1); sub_813C75C(); - sub_813C684(2); + HelpSystem_SetInputDelay(2); a0->field_0E = 3; return TRUE; } -bool8 sub_812BD64(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) +bool8 sub_812BD64(struct HelpSystemListMenu * a0, struct ListMenuItem * a1) { sub_813C004(0, 0); sub_813C004(1, 0); @@ -1460,9 +1460,9 @@ bool8 sub_812BD64(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1 return TRUE; } -bool8 sub_812BD98(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) +bool8 sub_812BD98(struct HelpSystemListMenu * a0, struct ListMenuItem * a1) { - s32 v0 = sub_813C690(); + s32 v0 = HelpSystem_GetMenuInput(); switch (v0) { case -6: @@ -1485,37 +1485,37 @@ bool8 sub_812BD98(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1 void sub_812BDEC(void) { - sub_813C4CC(gUnknown_845B080[gUnknown_3005E9C[1]], 0, 0); + HelpSystem_PrintTextAt(gUnknown_845B080[gUnknown_3005E9C[1]], 0, 0); } -bool8 sub_812BE10(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) +bool8 sub_812BE10(struct HelpSystemListMenu * a0, struct ListMenuItem * a1) { gUnknown_3005E9C[0] = 2; sub_813BDA4(0); - sub_813C624(); + HelpSystem_FillPanel1(); sub_812BF74(gUnknown_841DFBE); sub_813BDE8(1); sub_813BEE4(1); if (gUnknown_3005E9C[1] == 0) { - sub_813C50C(gUnknown_845B0B0[gUnknown_3005E9C[3]], gUnknown_845B164[gUnknown_3005E9C[3]]); + HelpSystem_PrintTwoStrings(gUnknown_845B0B0[gUnknown_3005E9C[3]], gUnknown_845B164[gUnknown_3005E9C[3]]); } else if (gUnknown_3005E9C[1] == 1) { - sub_813C50C(gUnknown_845B218[gUnknown_3005E9C[3]], gUnknown_845B2DC[gUnknown_3005E9C[3]]); + HelpSystem_PrintTwoStrings(gUnknown_845B218[gUnknown_3005E9C[3]], gUnknown_845B2DC[gUnknown_3005E9C[3]]); } else if (gUnknown_3005E9C[1] == 2) { - sub_813C50C(gUnknown_845B3A0[gUnknown_3005E9C[3]], gUnknown_845B450[gUnknown_3005E9C[3]]); + HelpSystem_PrintTwoStrings(gUnknown_845B3A0[gUnknown_3005E9C[3]], gUnknown_845B450[gUnknown_3005E9C[3]]); } else if (gUnknown_3005E9C[1] == 3) { - sub_813C50C(gUnknown_845B500[gUnknown_3005E9C[3]], gUnknown_845B520[gUnknown_3005E9C[3]]); + HelpSystem_PrintTwoStrings(gUnknown_845B500[gUnknown_3005E9C[3]], gUnknown_845B520[gUnknown_3005E9C[3]]); } else { - sub_813C50C(gUnknown_845B540[gUnknown_3005E9C[3]], gUnknown_845B5D0[gUnknown_3005E9C[3]]); + HelpSystem_PrintTwoStrings(gUnknown_845B540[gUnknown_3005E9C[3]], gUnknown_845B5D0[gUnknown_3005E9C[3]]); } sub_813BDA4(1); sub_813BD5C(1); @@ -1523,17 +1523,17 @@ bool8 sub_812BE10(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1 return TRUE; } -bool8 sub_812BEEC(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) +bool8 sub_812BEEC(struct HelpSystemListMenu * a0, struct ListMenuItem * a1) { gUnknown_3005E9C[0] = 1; sub_812B5A8(a0, a1); sub_813C75C(); - sub_813C684(2); + HelpSystem_SetInputDelay(2); a0->field_0E = 3; return TRUE; } -bool8 sub_812BF18(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) +bool8 sub_812BF18(struct HelpSystemListMenu * a0, struct ListMenuItem * a1) { if (JOY_NEW(B_BUTTON) || JOY_NEW(A_BUTTON)) { @@ -1548,14 +1548,14 @@ bool8 sub_812BF18(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1 static void sub_812BF5C(void) { - sub_813C624(); - sub_813C4CC(gUnknown_81B2FC9, 0, 0); + HelpSystem_FillPanel1(); + HelpSystem_PrintTextAt(gUnknown_81B2FC9, 0, 0); } static void sub_812BF74(const u8 * str) { - sub_813C5FC(); - sub_813C488(str); + HelpSystem_FillPanel2(); + HelpSystem_PrintTextRightAlign_Row52(str); } u8 sub_812BF88(void) @@ -1563,18 +1563,18 @@ u8 sub_812BF88(void) return gUnknown_3005E9C[0]; } -static void sub_812BF94(struct HelpSystemStruct_203F190 * a0) +static void sub_812BF94(struct HelpSystemListMenu * a0) { a0->field_0C = 0; a0->field_0D = 0; } -static void sub_812BF9C(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1) +static void sub_812BF9C(struct HelpSystemListMenu * a0, struct ListMenuItem * a1) { s32 index = a1[a0->field_0C + a0->field_0D].index; if (index == -2) - sub_813C584(gUnknown_845B098[5]); + HelpSystem_PrintText_813C584(gUnknown_845B098[5]); else - sub_813C584(gUnknown_845B098[index]); + HelpSystem_PrintText_813C584(gUnknown_845B098[index]); sub_813BE30(1); } diff --git a/src/main.c b/src/main.c index ad03860f3..ae9a33e81 100644 --- a/src/main.c +++ b/src/main.c @@ -5,6 +5,7 @@ #include "dma3.h" #include "gba/flash_internal.h" #include "battle.h" +#include "help_system.h" extern u16 GetGpuReg(u8); extern void SetGpuReg(u8, u16); @@ -32,7 +33,6 @@ extern u16 SetFlashTimerIntr(u8 timerNum, void (**intrFunc)(void)); extern void ScanlineEffect_Stop(void); extern void sub_80F50F4(void); extern bool32 sub_80F5118(void); -extern bool8 sub_813B870(void); extern struct SoundInfo gSoundInfo; extern u32 gFlashMemoryPresent; @@ -206,7 +206,7 @@ static void InitMainCallbacks(void) static void CallCallbacks(void) { - if (!sub_80F5118() && !sub_813B870()) + if (!sub_80F5118() && !RunHelpSystemCallback()) { if (gMain.callback1) gMain.callback1(); -- cgit v1.2.3 From bba7f06cd939e3e4df0f445708c8c86bd0f36906 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 13 Jun 2019 16:36:07 -0400 Subject: Fix songs constants header eof --- include/constants/songs.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/constants/songs.h b/include/constants/songs.h index 1f65585bd..66d239ad8 100644 --- a/include/constants/songs.h +++ b/include/constants/songs.h @@ -484,4 +484,4 @@ #define BGM_BATTLE30 483 #define BGM_ROUTE_118 0x7FFF // What is this for? -#endif \ No newline at end of file +#endif // GUARD_CONSTANTS_SONGS_H -- cgit v1.2.3 From 601d2feeac2ffd2edf936e06340e5255f74139a9 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 14 Jun 2019 11:33:13 -0400 Subject: Decompile SS Anne --- asm/ss_anne.s | 400 ---------------------------------- data/data_8468C98.s | 8 +- data/data_8471F00.s | 15 +- data/maps/SSAnne_Exterior/scripts.inc | 2 +- data/specials.inc | 2 +- graphics_file_rules.mk | 4 + include/constants/songs.h | 2 +- ld_script.txt | 3 + src/ss_anne.c | 200 +++++++++++++++++ 9 files changed, 224 insertions(+), 412 deletions(-) create mode 100644 src/ss_anne.c diff --git a/asm/ss_anne.s b/asm/ss_anne.s index 429645f3e..2428f2984 100644 --- a/asm/ss_anne.s +++ b/asm/ss_anne.s @@ -5,404 +5,4 @@ .text - thumb_func_start sub_815D334 -sub_815D334: @ 815D334 - push {lr} - movs r0, 0xF9 - bl PlaySE - ldr r0, _0815D35C @ =sub_815D364 - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0815D360 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0x32 - strh r0, [r1, 0x8] - pop {r0} - bx r0 - .align 2, 0 -_0815D35C: .4byte sub_815D364 -_0815D360: .4byte gTasks - thumb_func_end sub_815D334 - - thumb_func_start sub_815D364 -sub_815D364: @ 815D364 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r4, r1, 3 - ldr r5, _0815D39C @ =gTasks+0x8 - adds r1, r4, r5 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - lsls r0, 16 - cmp r0, 0 - bne _0815D394 - ldr r0, _0815D3A0 @ =gUnknown_8479C58 - bl LoadSpriteSheets - bl sub_815D498 - adds r0, r5, 0 - subs r0, 0x8 - adds r0, r4, r0 - ldr r1, _0815D3A4 @ =sub_815D3A8 - str r1, [r0] -_0815D394: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0815D39C: .4byte gTasks+0x8 -_0815D3A0: .4byte gUnknown_8479C58 -_0815D3A4: .4byte sub_815D3A8 - thumb_func_end sub_815D364 - - thumb_func_start sub_815D3A8 -sub_815D3A8: @ 815D3A8 - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r6, r1, 3 - ldr r7, _0815D424 @ =gTasks+0x8 - adds r5, r6, r7 - ldrh r1, [r5, 0x2] - adds r1, 0x1 - strh r1, [r5, 0x2] - ldrh r0, [r5, 0x4] - adds r0, 0x1 - strh r0, [r5, 0x4] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0x46 - bne _0815D3D6 - movs r0, 0 - strh r0, [r5, 0x2] - bl sub_815D5A4 -_0815D3D6: - ldr r0, _0815D428 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r1, [r0, 0x5] - ldrb r2, [r0, 0x4] - movs r0, 0x1 - mov r3, sp - bl TryGetFieldObjectIdByLocalIdAndMap - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _0815D42C @ =gMapObjects - adds r0, r1 - ldr r2, _0815D430 @ =gSprites - ldrb r1, [r0, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r4, r0, r2 - movs r1, 0x20 - ldrsh r0, [r4, r1] - movs r2, 0x24 - ldrsh r1, [r4, r2] - adds r0, r1 - movs r1, 0x78 - negs r1, r1 - cmp r0, r1 - bge _0815D438 - movs r0, 0xF9 - bl PlaySE - adds r0, r7, 0 - subs r0, 0x8 - adds r0, r6, r0 - ldr r1, _0815D434 @ =sub_815D454 - str r1, [r0] - b _0815D44A - .align 2, 0 -_0815D424: .4byte gTasks+0x8 -_0815D428: .4byte gSaveBlock1Ptr -_0815D42C: .4byte gMapObjects -_0815D430: .4byte gSprites -_0815D434: .4byte sub_815D454 -_0815D438: - movs r1, 0x4 - ldrsh r0, [r5, r1] - movs r1, 0x5 - bl __divsi3 - lsls r0, 16 - asrs r0, 16 - negs r0, r0 - strh r0, [r4, 0x24] -_0815D44A: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_815D3A8 - - thumb_func_start sub_815D454 -sub_815D454: @ 815D454 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - ldr r0, _0815D490 @ =gTasks+0x8 - adds r1, r0 - ldrh r0, [r1, 0x6] - adds r0, 0x1 - strh r0, [r1, 0x6] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x28 - bne _0815D48A - movs r0, 0xFA - lsls r0, 4 - bl FreeSpriteTilesByTag - ldr r0, _0815D494 @ =0x00000fa1 - bl FreeSpriteTilesByTag - adds r0, r4, 0 - bl DestroyTask - bl EnableBothScriptContexts -_0815D48A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0815D490: .4byte gTasks+0x8 -_0815D494: .4byte 0x00000fa1 - thumb_func_end sub_815D454 - - thumb_func_start sub_815D498 -sub_815D498: @ 815D498 - push {r4,lr} - sub sp, 0x4 - ldr r0, _0815D508 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r1, [r0, 0x5] - ldrb r2, [r0, 0x4] - movs r0, 0x1 - mov r3, sp - bl TryGetFieldObjectIdByLocalIdAndMap - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _0815D50C @ =gMapObjects - adds r0, r1 - ldr r4, _0815D510 @ =gSprites - ldrb r1, [r0, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x24] - ldrh r0, [r0, 0x20] - adds r1, r0 - adds r1, 0x50 - ldr r0, _0815D514 @ =gUnknown_8479C88 - lsls r1, 16 - asrs r1, 16 - movs r2, 0x6D - movs r3, 0xFF - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r2, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - movs r2, 0x8 - orrs r0, r2 - movs r2, 0xF - ands r0, r2 - movs r2, 0xA0 - orrs r0, r2 - strb r0, [r1, 0x5] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0815D508: .4byte gSaveBlock1Ptr -_0815D50C: .4byte gMapObjects -_0815D510: .4byte gSprites -_0815D514: .4byte gUnknown_8479C88 - thumb_func_end sub_815D498 - - thumb_func_start sub_815D518 -sub_815D518: @ 815D518 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - ldr r0, _0815D598 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r1, [r0, 0x5] - ldrb r2, [r0, 0x4] - movs r0, 0x1 - mov r3, sp - bl TryGetFieldObjectIdByLocalIdAndMap - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _0815D59C @ =gMapObjects - adds r0, r1 - ldr r2, _0815D5A0 @ =gSprites - ldrb r1, [r0, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x24] - ldrh r0, [r0, 0x20] - adds r1, r0 - adds r1, 0x50 - strh r1, [r4, 0x20] - movs r1, 0x2E - ldrsh r0, [r4, r1] - movs r1, 0x6 - bl __divsi3 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x15 - bgt _0815D56A - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] -_0815D56A: - movs r2, 0x2E - ldrsh r0, [r4, r2] - movs r1, 0x6 - bl __divsi3 - strh r0, [r4, 0x24] - movs r1, 0x20 - ldrsh r0, [r4, r1] - movs r2, 0x24 - ldrsh r1, [r4, r2] - adds r0, r1 - movs r1, 0x12 - negs r1, r1 - cmp r0, r1 - bge _0815D58E - adds r0, r4, 0 - bl DestroySprite -_0815D58E: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0815D598: .4byte gSaveBlock1Ptr -_0815D59C: .4byte gMapObjects -_0815D5A0: .4byte gSprites - thumb_func_end sub_815D518 - - thumb_func_start sub_815D5A4 -sub_815D5A4: @ 815D5A4 - push {r4,lr} - sub sp, 0x4 - ldr r0, _0815D614 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r1, [r0, 0x5] - ldrb r2, [r0, 0x4] - movs r0, 0x1 - mov r3, sp - bl TryGetFieldObjectIdByLocalIdAndMap - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _0815D618 @ =gMapObjects - adds r0, r1 - ldr r4, _0815D61C @ =gSprites - ldrb r0, [r0, 0x4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrh r0, [r1, 0x24] - ldrh r1, [r1, 0x20] - adds r0, r1 - adds r0, 0x31 - lsls r0, 16 - asrs r1, r0, 16 - movs r0, 0x20 - negs r0, r0 - cmp r1, r0 - blt _0815D60C - ldr r0, _0815D620 @ =gUnknown_8479CC0 - movs r2, 0x4E - movs r3, 0x8 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _0815D60C - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r2, [r0, 0x5] - movs r1, 0xF - ands r1, r2 - movs r2, 0xA0 - orrs r1, r2 - strb r1, [r0, 0x5] -_0815D60C: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0815D614: .4byte gSaveBlock1Ptr -_0815D618: .4byte gMapObjects -_0815D61C: .4byte gSprites -_0815D620: .4byte gUnknown_8479CC0 - thumb_func_end sub_815D5A4 - - thumb_func_start sub_815D624 -sub_815D624: @ 815D624 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] - movs r1, 0x2E - ldrsh r0, [r2, r1] - cmp r0, 0 - bge _0815D638 - adds r0, 0x3 -_0815D638: - asrs r0, 2 - strh r0, [r2, 0x24] - adds r0, r2, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0815D650 - adds r0, r2, 0 - bl DestroySprite -_0815D650: - pop {r0} - bx r0 - thumb_func_end sub_815D624 - .align 2, 0 @ Don't pad with nop. diff --git a/data/data_8468C98.s b/data/data_8468C98.s index 5b59683b2..7ce7c3a02 100644 --- a/data/data_8468C98.s +++ b/data/data_8468C98.s @@ -138,10 +138,14 @@ gUnknown_846D953:: @ 846D953 .incbin "baserom.gba", 0x46D953, 0xD gUnknown_846D960:: @ 846D960 - .incbin "baserom.gba", 0x46D960, 0x8 + obj_tiles gUnknown_8479688, 0, 800 gUnknown_846D968:: @ 846D968 - .incbin "baserom.gba", 0x46D968, 0x40 + obj_pal gUnknown_8479668, 800 + +gUnknown_846D970:: + .2byte 0x0006, 0x0008, 0x0010, 0x0008, 0x0006, 0x0008, 0x000b, 0x0006, 0x0010, 0x0008, 0x0002, 0x0006 + .2byte 0x0006, 0x0008, 0x0010, 0x0008, 0x0014, 0x0006, 0x0002, 0x0006, 0x0006, 0x0008, 0x000b, 0x0006, 0x0010, 0x0008, 0x0014, 0x0006 gUnknown_846D9A8:: @ 846D9A8 .incbin "baserom.gba", 0x46D9A8, 0x2C diff --git a/data/data_8471F00.s b/data/data_8471F00.s index 672a9178e..044a94e7d 100644 --- a/data/data_8471F00.s +++ b/data/data_8471F00.s @@ -219,16 +219,17 @@ gUnknown_84792D0:: @ 84792D0 .align 2 gUnknown_8479668:: @ 8479668 - .incbin "baserom.gba", 0x479668, 0x5F0 + .incbin "graphics/misc/unk_8479688.gbapal" -gUnknown_8479C58:: @ 8479C58 - .incbin "baserom.gba", 0x479C58, 0x30 +gUnknown_8479688:: + .incbin "graphics/misc/unk_8479688.4bpp.lz" -gUnknown_8479C88:: @ 8479C88 - .incbin "baserom.gba", 0x479C88, 0x38 +gUnknown_8479748:: + .incbin "baserom.gba", 0x479748, 0xF0 -gUnknown_8479CC0:: @ 8479CC0 - .incbin "baserom.gba", 0x479CC0, 0x18 + .section .rodata.cereader_tool + + // cereader_tool .align 2 gUnknown_8479CD8:: @ 8479CD8 diff --git a/data/maps/SSAnne_Exterior/scripts.inc b/data/maps/SSAnne_Exterior/scripts.inc index 0d08a0152..d0e530489 100644 --- a/data/maps/SSAnne_Exterior/scripts.inc +++ b/data/maps/SSAnne_Exterior/scripts.inc @@ -20,7 +20,7 @@ SSAnne_Exterior_160859:: @ 8160859 call_if 4, EventScript_1608AC fadenewbgm BGM_FRLG_SURF delay 50 - special sub_815D334 + special Special_SSAnneDepartureCutscene waitstate removeobject 1 applymovement 255, Movement_1608B7 diff --git a/data/specials.inc b/data/specials.inc index f40c3d3be..0b00645de 100644 --- a/data/specials.inc +++ b/data/specials.inc @@ -410,7 +410,7 @@ gSpecials:: @ 815FD60 def_special sub_8127888 def_special sub_80803FC def_special sub_812B35C - def_special sub_815D334 + def_special Special_SSAnneDepartureCutscene def_special sub_8149A18 def_special sub_806E25C def_special sub_815D9E8 diff --git a/graphics_file_rules.mk b/graphics_file_rules.mk index a1a00ad28..64d9d5c34 100644 --- a/graphics_file_rules.mk +++ b/graphics_file_rules.mk @@ -20,6 +20,7 @@ EVENTOBJGFXDIR := graphics/event_objects MISCGFXDIR := graphics/misc TEXTWINDOWGFXDIR := graphics/text_window TEACHYTVGFXDIR := graphics/teachy_tv +SSANNEGFXDIR := graphics/ss_anne types := normal fight flying poison ground rock bug ghost steel mystery fire water grass electric psychic ice dragon dark contest_types := cool beauty cute smart tough @@ -478,3 +479,6 @@ $(TEXTWINDOWGFXDIR)/unk_8470B0C.4bpp: %.4bpp: %.png $(TEACHYTVGFXDIR)/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 233 + +$(SSANNEGFXDIR)/unk_8479A38.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 17 diff --git a/include/constants/songs.h b/include/constants/songs.h index 66d239ad8..193a57756 100644 --- a/include/constants/songs.h +++ b/include/constants/songs.h @@ -251,7 +251,7 @@ #define SE_W114 246 #define SE_W063B 247 #define SE_CASHIER 248 - +#define SE_SHIP_HORN 249 #define SE_HELP_OPEN 250 #define SE_HELP_CLOSE 251 #define SE_HELP_PAGE 252 diff --git a/ld_script.txt b/ld_script.txt index bde424fc9..ad553a79b 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -280,6 +280,7 @@ SECTIONS { src/teachy_tv.o(.text); asm/ereader_helpers.o(.text); src/unk_815C980.o(.text); + src/ss_anne.o(.text); asm/ss_anne.o(.text); asm/cereader_tool.o(.text); src/trainer_tower.o(.text); @@ -454,6 +455,8 @@ SECTIONS { src/teachy_tv.o(.rodata); src/unk_815C980.o(.rodata); data/data_8471F00.o(.rodata.8479668); + src/ss_anne.o(.rodata); + data/data_8471F00.o(.rodata.cereader_tool); src/trainer_tower.o(.rodata); data/data_8471F00.o(.rodata.after_trainer_tower); src/mystery_event_msg.o(.rodata); diff --git a/src/ss_anne.c b/src/ss_anne.c new file mode 100644 index 000000000..f59f17a76 --- /dev/null +++ b/src/ss_anne.c @@ -0,0 +1,200 @@ +#include "global.h" +#include "task.h" +#include "sound.h" +#include "field_map_obj.h" +#include "script.h" +#include "constants/songs.h" + +// Tasks governing the ship's departure after you've gotten HM01 CUT + +#define SPRITE_TAG_WAKE 4000 +#define SPRITE_TAG_SMOKE 4001 + +static void Task_SSAnneInit(u8 taskId); +static void Task_SSAnneRun(u8 taskId); +static void Task_SSAnneFinish(u8 taskId); +static void CreateWakeBehindBoat(void); +static void WakeSpriteCallback(struct Sprite * sprite); +static void CreateSmokeSprite(void); +static void SmokeSpriteCallback(struct Sprite * sprite); + +static const u16 sWakeTiles[] = INCBIN_U16("graphics/ss_anne/unk_8479838.4bpp"); +static const u16 sSmokeTiles[] = INCBIN_U16("graphics/ss_anne/unk_8479A38.4bpp"); + +static const struct SpriteSheet sSpriteSheets[] = { + {(const void *)sWakeTiles, sizeof(sWakeTiles), SPRITE_TAG_WAKE}, + {(const void *)sSmokeTiles, sizeof(sSmokeTiles), SPRITE_TAG_SMOKE}, + {0} +}; + +static const union AnimCmd sWakeAnim[] = { + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(8, 12), + ANIMCMD_JUMP(0) +}; + +static const union AnimCmd *const sWakeAnimTable[] = { + sWakeAnim +}; + +static const struct OamData sWakeOamData = { + .shape = ST_OAM_V_RECTANGLE, + .size = 2 +}; + +static const struct SpriteTemplate sWakeSpriteTemplate = { + SPRITE_TAG_WAKE, + 0xFFFF, + &sWakeOamData, + sWakeAnimTable, + NULL, + gDummySpriteAffineAnimTable, + WakeSpriteCallback +}; + +static const union AnimCmd sSmokeAnim[] = { + ANIMCMD_FRAME( 0, 10), + ANIMCMD_FRAME( 4, 20), + ANIMCMD_FRAME( 8, 20), + ANIMCMD_FRAME(12, 30), + ANIMCMD_END +}; + +static const union AnimCmd *const sSmokeAnimTable[] = { + sSmokeAnim +}; + +static const struct OamData sSmokeOamData = { + .shape = ST_OAM_SQUARE, + .size = 1 +}; + +static const struct SpriteTemplate sSmokeSpriteTemplate = { + SPRITE_TAG_SMOKE, + 0xFFFF, + &sSmokeOamData, + sSmokeAnimTable, + NULL, + gDummySpriteAffineAnimTable, + SmokeSpriteCallback +}; + +void Special_SSAnneDepartureCutscene(void) +{ + u8 taskId; + + PlaySE(SE_SHIP_HORN); + taskId = CreateTask(Task_SSAnneInit, 8); + gTasks[taskId].data[0] = 50; +} + +static void Task_SSAnneInit(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + if (--data[0] == 0) + { + LoadSpriteSheets(sSpriteSheets); + CreateWakeBehindBoat(); + gTasks[taskId].func = Task_SSAnneRun; + } +} + +static void Task_SSAnneRun(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + u8 mapObjectId; + struct MapObject * boatObject; + s16 x; + + data[1]++; + data[2]++; + if (data[1] == 70) + { + data[1] = 0; + CreateSmokeSprite(); + } + TryGetFieldObjectIdByLocalIdAndMap(1, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &mapObjectId); + boatObject = &gMapObjects[mapObjectId]; + if (gSprites[boatObject->spriteId].pos1.x + gSprites[boatObject->spriteId].pos2.x < -120) + { + PlaySE(SE_SHIP_HORN); + gTasks[taskId].func = Task_SSAnneFinish; + } + else + { + x = data[2] / 5; + gSprites[boatObject->spriteId].pos2.x = -x; + } +} + +static void Task_SSAnneFinish(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + if (++data[3] == 40) + { + FreeSpriteTilesByTag(SPRITE_TAG_WAKE); + FreeSpriteTilesByTag(SPRITE_TAG_SMOKE); + DestroyTask(taskId); + EnableBothScriptContexts(); + } +} + +static void CreateWakeBehindBoat(void) +{ + u8 mapObjectId; + struct MapObject * boatObject; + u16 x; + u8 spriteId; + + TryGetFieldObjectIdByLocalIdAndMap(1, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &mapObjectId); + boatObject = &gMapObjects[mapObjectId]; + x = gSprites[boatObject->spriteId].pos1.x + gSprites[boatObject->spriteId].pos2.x + 80; + spriteId = CreateSprite(&sWakeSpriteTemplate, x, 109, 0xFF); + gSprites[spriteId].oam.priority = 2; + gSprites[spriteId].oam.paletteNum = 10; +} + +static void WakeSpriteCallback(struct Sprite * sprite) +{ + u8 mapObjectId; + struct MapObject * boatObject; + u16 x; + + TryGetFieldObjectIdByLocalIdAndMap(1, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &mapObjectId); + boatObject = &gMapObjects[mapObjectId]; + x = gSprites[boatObject->spriteId].pos1.x + gSprites[boatObject->spriteId].pos2.x + 80; + sprite->pos1.x = x; + if (sprite->data[0] / 6 < 22) + sprite->data[0]++; + sprite->pos2.x = sprite->data[0] / 6; + if (sprite->pos1.x + sprite->pos2.x < -18) + DestroySprite(sprite); +} + +static void CreateSmokeSprite(void) +{ + u8 mapObjectId; + struct MapObject * boatObject; + u16 x; + u8 spriteId; + + TryGetFieldObjectIdByLocalIdAndMap(1, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &mapObjectId); + boatObject = &gMapObjects[mapObjectId]; + x = gSprites[boatObject->spriteId].pos1.x + gSprites[boatObject->spriteId].pos2.x + 49; + if ((s16)x >= -32) + { + spriteId = CreateSprite(&sSmokeSpriteTemplate, x, 78, 8); + if (spriteId != MAX_SPRITES) + gSprites[spriteId].oam.paletteNum = 10; + } +} + +static void SmokeSpriteCallback(struct Sprite * sprite) +{ + sprite->data[0]++; + sprite->pos2.x = sprite->data[0] / 4; + if (sprite->animEnded) + DestroySprite(sprite); +} -- cgit v1.2.3 From 3e76d5f904eb5fadf48ca11a8bc8744169021bef Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 14 Jun 2019 11:49:14 -0400 Subject: Add missing gfx files --- data/data_8471F00.s | 2 +- graphics/misc/unk_8479688.png | Bin 0 -> 277 bytes graphics/misc/unk_8479748.png | Bin 0 -> 309 bytes graphics/ss_anne/unk_8479838.png | Bin 0 -> 188 bytes graphics/ss_anne/unk_8479A38.png | Bin 0 -> 271 bytes 5 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 graphics/misc/unk_8479688.png create mode 100644 graphics/misc/unk_8479748.png create mode 100644 graphics/ss_anne/unk_8479838.png create mode 100644 graphics/ss_anne/unk_8479A38.png diff --git a/data/data_8471F00.s b/data/data_8471F00.s index 044a94e7d..c1e9c3106 100644 --- a/data/data_8471F00.s +++ b/data/data_8471F00.s @@ -225,7 +225,7 @@ gUnknown_8479688:: .incbin "graphics/misc/unk_8479688.4bpp.lz" gUnknown_8479748:: - .incbin "baserom.gba", 0x479748, 0xF0 + .incbin "graphics/misc/unk_8479748.4bpp.lz" .section .rodata.cereader_tool diff --git a/graphics/misc/unk_8479688.png b/graphics/misc/unk_8479688.png new file mode 100644 index 000000000..9c84eaf1e Binary files /dev/null and b/graphics/misc/unk_8479688.png differ diff --git a/graphics/misc/unk_8479748.png b/graphics/misc/unk_8479748.png new file mode 100644 index 000000000..29b9ee764 Binary files /dev/null and b/graphics/misc/unk_8479748.png differ diff --git a/graphics/ss_anne/unk_8479838.png b/graphics/ss_anne/unk_8479838.png new file mode 100644 index 000000000..e7d0d8c44 Binary files /dev/null and b/graphics/ss_anne/unk_8479838.png differ diff --git a/graphics/ss_anne/unk_8479A38.png b/graphics/ss_anne/unk_8479A38.png new file mode 100644 index 000000000..98fbc8d97 Binary files /dev/null and b/graphics/ss_anne/unk_8479A38.png differ -- cgit v1.2.3 From cac04f6033d63dd645e4d54da458ad32ea32efa6 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 14 Jun 2019 11:55:29 -0400 Subject: Rename VAR_0x4053 --- data/maps/SSAnne_Exterior/scripts.inc | 2 +- data/maps/VermilionCity/map.json | 4 ++-- data/maps/VermilionCity/scripts.inc | 4 ++-- include/constants/vars.h | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/data/maps/SSAnne_Exterior/scripts.inc b/data/maps/SSAnne_Exterior/scripts.inc index d0e530489..b0112c459 100644 --- a/data/maps/SSAnne_Exterior/scripts.inc +++ b/data/maps/SSAnne_Exterior/scripts.inc @@ -26,7 +26,7 @@ SSAnne_Exterior_160859:: @ 8160859 applymovement 255, Movement_1608B7 waitmovement 0 setvar VAR_MAP_SCENE_VERMILION_CITY, 2 - setvar VAR_0x4053, 0 + setvar VAR_VERMILION_CITY_TICKET_CHECK_TRIGGER, 0 warp MAP_VERMILION_CITY, 255, 23, 34 waitstate releaseall diff --git a/data/maps/VermilionCity/map.json b/data/maps/VermilionCity/map.json index 30efc81c4..d041e9157 100644 --- a/data/maps/VermilionCity/map.json +++ b/data/maps/VermilionCity/map.json @@ -207,7 +207,7 @@ "x": 22, "y": 33, "elevation": 0, - "var": "VAR_0x4053", + "var": "VAR_VERMILION_CITY_TICKET_CHECK_TRIGGER", "var_value": 0, "script": "VermilionCity_EventScript_166B8A" }, @@ -216,7 +216,7 @@ "x": 23, "y": 33, "elevation": 0, - "var": "VAR_0x4053", + "var": "VAR_VERMILION_CITY_TICKET_CHECK_TRIGGER", "var_value": 0, "script": "VermilionCity_EventScript_166B91" }, diff --git a/data/maps/VermilionCity/scripts.inc b/data/maps/VermilionCity/scripts.inc index 1f476abf3..c809fd7bd 100644 --- a/data/maps/VermilionCity/scripts.inc +++ b/data/maps/VermilionCity/scripts.inc @@ -200,7 +200,7 @@ VermilionCity_EventScript_166B91:: @ 8166B91 VermilionCity_EventScript_166B98:: @ 8166B98 lockall - setvar VAR_0x4053, 0 + setvar VAR_VERMILION_CITY_TICKET_CHECK_TRIGGER, 0 releaseall end @@ -215,7 +215,7 @@ EventScript_166BA0:: @ 8166BA0 checkflag FLAG_0x234 goto_if 0, EventScript_166BDE msgbox gUnknown_817FA77 - setvar VAR_0x4053, 1 + setvar VAR_VERMILION_CITY_TICKET_CHECK_TRIGGER, 1 releaseall end diff --git a/include/constants/vars.h b/include/constants/vars.h index 54bcb20a0..38c47c965 100644 --- a/include/constants/vars.h +++ b/include/constants/vars.h @@ -89,7 +89,7 @@ #define VAR_MAP_SCENE_PALLET_TOWN 0x4050 #define VAR_0x4051 0x4051 #define VAR_0x4052 0x4052 -#define VAR_0x4053 0x4053 +#define VAR_VERMILION_CITY_TICKET_CHECK_TRIGGER 0x4053 #define VAR_0x4054 0x4054 #define VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB 0x4055 #define VAR_MAP_SCENE_PALLET_TOWN_PLAYERS_HOUSE_2F 0x4056 -- cgit v1.2.3 From e07368e90b1c0804dc4e4f2269ce9dc5fb632999 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 14 Jun 2019 18:23:27 -0400 Subject: cereader_tool and ereader_helpers --- asm/cereader_tool.s | 196 ----------- asm/ereader_helpers.s | 920 ------------------------------------------------ asm/link.s | 4 +- asm/ss_anne.s | 8 - data/data_8471F00.s | 18 - include/cereader_tool.h | 42 ++- include/link.h | 2 +- include/mevent.h | 6 +- include/save.h | 2 +- include/unk_815c27c.h | 12 +- ld_script.txt | 7 +- src/cereader_tool.c | 88 +++++ src/ereader_helpers.c | 397 +++++++++++++++++++++ src/mevent.c | 160 ++++----- src/save.c | 2 +- src/trainer_tower.c | 154 +++----- sym_bss.txt | 34 +- sym_common.txt | 2 +- 18 files changed, 673 insertions(+), 1381 deletions(-) delete mode 100644 asm/cereader_tool.s delete mode 100644 asm/ereader_helpers.s delete mode 100644 asm/ss_anne.s create mode 100644 src/cereader_tool.c create mode 100644 src/ereader_helpers.c diff --git a/asm/cereader_tool.s b/asm/cereader_tool.s deleted file mode 100644 index 749cb5303..000000000 --- a/asm/cereader_tool.s +++ /dev/null @@ -1,196 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_815D654 -sub_815D654: @ 815D654 - push {lr} - ldr r0, _0815D674 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, _0815D678 @ =0x00003d41 - adds r0, r1 - ldrb r1, [r0] - adds r2, r1, 0x1 - adds r0, r2, 0 - asrs r0, 8 - lsls r0, 8 - subs r0, r2, r0 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_0815D674: .4byte gSaveBlock1Ptr -_0815D678: .4byte 0x00003d41 - thumb_func_end sub_815D654 - - thumb_func_start sub_815D67C -sub_815D67C: @ 815D67C - push {r4,r5,lr} - adds r5, r0, 0 - ldrb r0, [r5, 0x1] - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x7 - bhi _0815D6AA - ldrb r0, [r5, 0x2] - cmp r0, 0x2 - bhi _0815D6AA - movs r4, 0xF7 - lsls r4, 2 - adds r0, r5, 0 - adds r1, r4, 0 - bl CalcByteArraySum - adds r4, r5, r4 - ldr r1, [r4] - cmp r0, r1 - bne _0815D6AA - movs r0, 0x1 - b _0815D6AC -_0815D6AA: - movs r0, 0 -_0815D6AC: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_815D67C - - thumb_func_start sub_815D6B4 -sub_815D6B4: @ 815D6B4 - push {r4-r7,lr} - adds r7, r0, 0 - ldrb r6, [r7] - subs r0, r6, 0x1 - cmp r0, 0x7 - bhi _0815D6F8 - movs r5, 0 - cmp r5, r6 - bcs _0815D6E0 - adds r4, r7, 0 - adds r4, 0x8 -_0815D6CA: - adds r0, r4, 0 - bl sub_815D67C - cmp r0, 0 - beq _0815D6F8 - movs r0, 0xF8 - lsls r0, 2 - adds r4, r0 - adds r5, 0x1 - cmp r5, r6 - bcc _0815D6CA -_0815D6E0: - adds r0, r7, 0 - adds r0, 0x8 - lsls r1, r6, 5 - subs r1, r6 - lsls r1, 5 - bl CalcByteArraySum - ldr r1, [r7, 0x4] - cmp r0, r1 - bne _0815D6F8 - movs r0, 0x1 - b _0815D6FA -_0815D6F8: - movs r0, 0 -_0815D6FA: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_815D6B4 - - thumb_func_start sub_815D700 -sub_815D700: @ 815D700 - push {r4-r6,lr} - adds r5, r0, 0 - adds r4, r1, 0 - ldrh r0, [r5, 0x2] - cmp r0, 0 - beq _0815D718 - ldr r0, _0815D77C @ =gUnknown_8479CD8 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/cereader_tool.c" - ldr r2, _0815D780 @ =gUnknown_8479D10 "ttdata->dummy == 0" - movs r1, 0xC6 - movs r3, 0x1 - bl AGBAssert -_0815D718: - ldrb r0, [r5, 0x1] - cmp r0, 0 - beq _0815D72A - ldr r0, _0815D77C @ =gUnknown_8479CD8 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/cereader_tool.c" - ldr r2, _0815D784 @ =gUnknown_8479D24 "ttdata->id == 0" - movs r1, 0xC7 - movs r3, 0x1 - bl AGBAssert -_0815D72A: - movs r6, 0x80 - lsls r6, 5 - adds r0, r4, 0 - movs r1, 0 - adds r2, r6, 0 - bl memset - ldr r2, _0815D788 @ =0x00000f88 - adds r0, r4, 0 - adds r1, r5, 0 - bl memcpy - bl sub_815D654 - strb r0, [r4, 0x1] - movs r0, 0x1E - adds r1, r4, 0 - bl sub_80DA5E0 - cmp r0, 0x1 - bne _0815D78C - adds r0, r4, 0 - movs r1, 0 - adds r2, r6, 0 - bl memset - ldr r0, _0815D788 @ =0x00000f88 - adds r1, r5, r0 - movs r2, 0xF8 - lsls r2, 4 - adds r0, r4, 0 - bl memcpy - movs r0, 0x1F - adds r1, r4, 0 - bl sub_80DA5E0 - cmp r0, 0x1 - bne _0815D78C - movs r0, 0x1 - b _0815D78E - .align 2, 0 -_0815D77C: .4byte gUnknown_8479CD8 -_0815D780: .4byte gUnknown_8479D10 -_0815D784: .4byte gUnknown_8479D24 -_0815D788: .4byte 0x00000f88 -_0815D78C: - movs r0, 0 -_0815D78E: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_815D700 - - thumb_func_start sub_815D794 -sub_815D794: @ 815D794 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x80 - lsls r0, 5 - bl AllocZeroed - adds r5, r0, 0 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_815D700 - adds r4, r0, 0 - adds r0, r5, 0 - bl Free - adds r0, r4, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_815D794 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/ereader_helpers.s b/asm/ereader_helpers.s deleted file mode 100644 index 067ab8659..000000000 --- a/asm/ereader_helpers.s +++ /dev/null @@ -1,920 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_815C27C -sub_815C27C: @ 815C27C - push {r4-r7,lr} - sub sp, 0x4 - adds r6, r0, 0 - adds r5, r1, 0 - bl sub_815C8C8 - movs r7, 0x2 - ldr r4, _0815C2BC @ =gUnknown_3003F84 -_0815C28C: - bl sub_815C898 - ldr r0, _0815C2C0 @ =gUnknown_3002062 - ldrh r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0815C29E - strb r7, [r4] -_0815C29E: - movs r0, 0x1 - adds r1, r6, 0 - adds r2, r5, 0 - movs r3, 0 - bl sub_815C498 - adds r1, r0, 0 - ldr r0, _0815C2C4 @ =gUnknown_3002064 - strh r1, [r0] - movs r0, 0x13 - ands r0, r1 - cmp r0, 0x10 - bne _0815C2C8 - movs r4, 0 - b _0815C2EA - .align 2, 0 -_0815C2BC: .4byte gUnknown_3003F84 -_0815C2C0: .4byte gUnknown_3002062 -_0815C2C4: .4byte gUnknown_3002064 -_0815C2C8: - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0815C2D4 - movs r4, 0x1 - b _0815C2EA -_0815C2D4: - movs r0, 0x4 - ands r0, r1 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - bne _0815C2E8 - strb r0, [r4] - bl VBlankIntrWait - b _0815C28C -_0815C2E8: - movs r4, 0x2 -_0815C2EA: - movs r0, 0 - str r0, [sp] - ldr r1, _0815C308 @ =gUnknown_3002048 - ldr r2, _0815C30C @ =0x05000006 - mov r0, sp - bl CpuSet - bl sub_815C91C - adds r0, r4, 0 - add sp, 0x4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0815C308: .4byte gUnknown_3002048 -_0815C30C: .4byte 0x05000006 - thumb_func_end sub_815C27C - - thumb_func_start sub_815C310 -sub_815C310: @ 815C310 - push {r4-r6,lr} - sub sp, 0x4 - adds r5, r0, 0 - bl sub_815C8C8 - movs r6, 0x2 - ldr r4, _0815C350 @ =gUnknown_3003F84 -_0815C31E: - bl sub_815C898 - ldr r0, _0815C354 @ =gUnknown_3002062 - ldrh r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0815C330 - strb r6, [r4] -_0815C330: - movs r0, 0 - movs r1, 0 - movs r2, 0 - adds r3, r5, 0 - bl sub_815C498 - adds r1, r0, 0 - ldr r0, _0815C358 @ =gUnknown_3002064 - strh r1, [r0] - movs r0, 0x13 - ands r0, r1 - cmp r0, 0x10 - bne _0815C35C - movs r4, 0 - b _0815C37E - .align 2, 0 -_0815C350: .4byte gUnknown_3003F84 -_0815C354: .4byte gUnknown_3002062 -_0815C358: .4byte gUnknown_3002064 -_0815C35C: - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0815C368 - movs r4, 0x1 - b _0815C37E -_0815C368: - movs r0, 0x4 - ands r0, r1 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - bne _0815C37C - strb r0, [r4] - bl VBlankIntrWait - b _0815C31E -_0815C37C: - movs r4, 0x2 -_0815C37E: - movs r0, 0 - str r0, [sp] - ldr r1, _0815C39C @ =gUnknown_3002048 - ldr r2, _0815C3A0 @ =0x05000006 - mov r0, sp - bl CpuSet - bl sub_815C91C - adds r0, r4, 0 - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0815C39C: .4byte gUnknown_3002048 -_0815C3A0: .4byte 0x05000006 - thumb_func_end sub_815C310 - - thumb_func_start sub_815C3A4 -sub_815C3A4: @ 815C3A4 - push {r4,lr} - ldr r4, _0815C3D0 @ =0x04000208 - movs r3, 0 - strh r3, [r4] - ldr r2, _0815C3D4 @ =0x04000200 - ldrh r1, [r2] - ldr r0, _0815C3D8 @ =0x0000ff3f - ands r0, r1 - strh r0, [r2] - movs r0, 0x1 - strh r0, [r4] - ldr r0, _0815C3DC @ =0x04000128 - strh r3, [r0] - subs r0, 0x1A - strh r3, [r0] - ldr r1, _0815C3E0 @ =0x04000202 - movs r0, 0xC0 - strh r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0815C3D0: .4byte 0x04000208 -_0815C3D4: .4byte 0x04000200 -_0815C3D8: .4byte 0x0000ff3f -_0815C3DC: .4byte 0x04000128 -_0815C3E0: .4byte 0x04000202 - thumb_func_end sub_815C3A4 - - thumb_func_start sub_815C3E4 -sub_815C3E4: @ 815C3E4 - push {r4-r7,lr} - sub sp, 0x4 - ldr r5, _0815C43C @ =0x04000208 - movs r4, 0 - strh r4, [r5] - ldr r3, _0815C440 @ =0x04000200 - ldrh r1, [r3] - ldr r0, _0815C444 @ =0x0000ff3f - ands r0, r1 - strh r0, [r3] - movs r6, 0x1 - strh r6, [r5] - ldr r0, _0815C448 @ =0x04000134 - strh r4, [r0] - ldr r2, _0815C44C @ =0x04000128 - movs r1, 0x80 - lsls r1, 6 - adds r0, r1, 0 - strh r0, [r2] - ldrh r0, [r2] - ldr r7, _0815C450 @ =0x00004003 - adds r1, r7, 0 - orrs r0, r1 - strh r0, [r2] - strh r4, [r5] - ldrh r0, [r3] - movs r1, 0x80 - orrs r0, r1 - strh r0, [r3] - strh r6, [r5] - ldr r1, _0815C454 @ =gUnknown_3002048 - ldrb r0, [r1, 0x1] - cmp r0, 0 - bne _0815C432 - str r0, [sp] - ldr r2, _0815C458 @ =0x05000006 - mov r0, sp - bl CpuSet -_0815C432: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0815C43C: .4byte 0x04000208 -_0815C440: .4byte 0x04000200 -_0815C444: .4byte 0x0000ff3f -_0815C448: .4byte 0x04000134 -_0815C44C: .4byte 0x04000128 -_0815C450: .4byte 0x00004003 -_0815C454: .4byte gUnknown_3002048 -_0815C458: .4byte 0x05000006 - thumb_func_end sub_815C3E4 - - thumb_func_start sub_815C45C -sub_815C45C: @ 815C45C - ldr r0, _0815C484 @ =0x04000134 - movs r3, 0 - strh r3, [r0] - ldr r2, _0815C488 @ =0x04000128 - movs r1, 0xA0 - lsls r1, 7 - adds r0, r1, 0 - strh r0, [r2] - ldrh r0, [r2] - movs r1, 0x8 - orrs r0, r1 - strh r0, [r2] - ldr r0, _0815C48C @ =gUnknown_3003F84 - strb r3, [r0] - ldr r0, _0815C490 @ =gUnknown_3002066 - strh r3, [r0] - ldr r1, _0815C494 @ =gUnknown_3002068 - movs r0, 0 - str r0, [r1] - bx lr - .align 2, 0 -_0815C484: .4byte 0x04000134 -_0815C488: .4byte 0x04000128 -_0815C48C: .4byte gUnknown_3003F84 -_0815C490: .4byte gUnknown_3002066 -_0815C494: .4byte gUnknown_3002068 - thumb_func_end sub_815C45C - - thumb_func_start sub_815C498 -sub_815C498: @ 815C498 - push {r4-r6,lr} - adds r4, r1, 0 - adds r5, r2, 0 - adds r6, r3, 0 - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _0815C4B8 @ =gUnknown_3002048 - ldrb r0, [r0, 0x1] - cmp r0, 0x6 - bls _0815C4AE - b _0815C5F4 -_0815C4AE: - lsls r0, 2 - ldr r1, _0815C4BC @ =_0815C4C0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0815C4B8: .4byte gUnknown_3002048 -_0815C4BC: .4byte _0815C4C0 - .align 2, 0 -_0815C4C0: - .4byte _0815C4DC - .4byte _0815C4F0 - .4byte _0815C510 - .4byte _0815C524 - .4byte _0815C59C - .4byte _0815C5AC - .4byte _0815C5E4 -_0815C4DC: - bl sub_815C3E4 - ldr r1, _0815C4EC @ =gUnknown_3002048 - movs r0, 0x1 - strb r0, [r1, 0x2] - strb r0, [r1, 0x1] - b _0815C5F4 - .align 2, 0 -_0815C4EC: .4byte gUnknown_3002048 -_0815C4F0: - adds r0, r2, 0 - bl sub_815C610 - lsls r0, 16 - cmp r0, 0 - beq _0815C500 - bl sub_815C864 -_0815C500: - ldr r0, _0815C50C @ =gUnknown_3003F84 - ldrb r0, [r0] - cmp r0, 0x2 - beq _0815C50A - b _0815C5F4 -_0815C50A: - b _0815C52C - .align 2, 0 -_0815C50C: .4byte gUnknown_3003F84 -_0815C510: - bl sub_815C45C - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r6, 0 - bl sub_815C644 - ldr r1, _0815C538 @ =gUnknown_3002048 - movs r0, 0x3 - strb r0, [r1, 0x1] -_0815C524: - ldr r0, _0815C53C @ =gUnknown_3003F84 - ldrb r0, [r0] - cmp r0, 0x2 - bne _0815C540 -_0815C52C: - ldr r1, _0815C538 @ =gUnknown_3002048 - strb r0, [r1, 0x4] - movs r0, 0x6 - strb r0, [r1, 0x1] - b _0815C5F4 - .align 2, 0 -_0815C538: .4byte gUnknown_3002048 -_0815C53C: .4byte gUnknown_3003F84 -_0815C540: - ldr r2, _0815C580 @ =gUnknown_3002066 - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - ldr r1, _0815C584 @ =gUnknown_3002068 - ldr r0, [r1] - adds r3, r0, 0x1 - str r3, [r1] - ldr r1, _0815C588 @ =gUnknown_3002048 - ldrb r0, [r1] - cmp r0, 0 - bne _0815C564 - cmp r3, 0x3C - bls _0815C564 - movs r0, 0x1 - strb r0, [r1, 0x4] - movs r0, 0x6 - strb r0, [r1, 0x1] -_0815C564: - ldr r4, _0815C588 @ =gUnknown_3002048 - ldrb r0, [r4, 0x2] - cmp r0, 0x2 - beq _0815C5F4 - ldrb r0, [r4] - cmp r0, 0 - beq _0815C58C - ldrh r0, [r2] - cmp r0, 0x2 - bls _0815C58C - bl sub_815C864 - movs r0, 0x2 - b _0815C5F2 - .align 2, 0 -_0815C580: .4byte gUnknown_3002066 -_0815C584: .4byte gUnknown_3002068 -_0815C588: .4byte gUnknown_3002048 -_0815C58C: - bl sub_815C864 - ldr r1, _0815C598 @ =gUnknown_3002048 - movs r0, 0x2 - strb r0, [r1, 0x2] - b _0815C5F4 - .align 2, 0 -_0815C598: .4byte gUnknown_3002048 -_0815C59C: - bl sub_815C3E4 - ldr r1, _0815C5A8 @ =gUnknown_3002048 - movs r0, 0x5 - strb r0, [r1, 0x1] - b _0815C5F4 - .align 2, 0 -_0815C5A8: .4byte gUnknown_3002048 -_0815C5AC: - ldr r0, _0815C5DC @ =gUnknown_3002048 - ldrb r0, [r0] - cmp r0, 0x1 - bne _0815C5C0 - ldr r0, _0815C5E0 @ =gUnknown_3002066 - ldrh r0, [r0] - cmp r0, 0x2 - bls _0815C5C0 - bl sub_815C864 -_0815C5C0: - ldr r1, _0815C5E0 @ =gUnknown_3002066 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x3C - bls _0815C5F4 - ldr r0, _0815C5DC @ =gUnknown_3002048 - movs r1, 0x1 - strb r1, [r0, 0x4] - movs r1, 0x6 - strb r1, [r0, 0x1] - b _0815C5F4 - .align 2, 0 -_0815C5DC: .4byte gUnknown_3002048 -_0815C5E0: .4byte gUnknown_3002066 -_0815C5E4: - ldr r4, _0815C60C @ =gUnknown_3002048 - ldrb r0, [r4, 0x2] - cmp r0, 0 - beq _0815C5F4 - bl sub_815C3A4 - movs r0, 0 -_0815C5F2: - strb r0, [r4, 0x2] -_0815C5F4: - ldr r2, _0815C60C @ =gUnknown_3002048 - ldrb r0, [r2, 0x2] - ldrb r1, [r2, 0x4] - lsls r1, 2 - orrs r0, r1 - ldrb r1, [r2, 0x3] - lsls r1, 4 - orrs r0, r1 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0815C60C: .4byte gUnknown_3002048 - thumb_func_end sub_815C498 - - thumb_func_start sub_815C610 -sub_815C610: @ 815C610 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _0815C62C @ =0x04000128 - ldr r0, [r0] - movs r1, 0xC - ands r0, r1 - cmp r0, 0x8 - bne _0815C634 - cmp r2, 0 - beq _0815C634 - ldr r1, _0815C630 @ =gUnknown_3002048 - movs r0, 0x1 - b _0815C638 - .align 2, 0 -_0815C62C: .4byte 0x04000128 -_0815C630: .4byte gUnknown_3002048 -_0815C634: - ldr r1, _0815C640 @ =gUnknown_3002048 - movs r0, 0 -_0815C638: - strb r0, [r1] - pop {r1} - bx r1 - .align 2, 0 -_0815C640: .4byte gUnknown_3002048 - thumb_func_end sub_815C610 - - thumb_func_start sub_815C644 -sub_815C644: @ 815C644 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldr r3, _0815C670 @ =gUnknown_3002048 - ldrb r0, [r3] - cmp r0, 0 - beq _0815C67C - ldr r2, _0815C674 @ =0x04000128 - ldrh r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strh r0, [r2] - str r5, [r3, 0x8] - ldr r0, _0815C678 @ =0x04000120 - str r4, [r0] - lsrs r0, r4, 2 - adds r0, 0x1 - str r0, [r3, 0x10] - bl sub_815C690 - b _0815C684 - .align 2, 0 -_0815C670: .4byte gUnknown_3002048 -_0815C674: .4byte 0x04000128 -_0815C678: .4byte 0x04000120 -_0815C67C: - ldr r1, _0815C68C @ =0x04000128 - ldrh r0, [r1] - strh r0, [r1] - str r2, [r3, 0x8] -_0815C684: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0815C68C: .4byte 0x04000128 - thumb_func_end sub_815C644 - - thumb_func_start sub_815C690 -sub_815C690: @ 815C690 - ldr r1, _0815C6B4 @ =0x0400010c - ldr r2, _0815C6B8 @ =0x0000fda7 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _0815C6BC @ =0x0400010e - movs r2, 0x40 - strh r2, [r0] - ldr r3, _0815C6C0 @ =0x04000208 - movs r0, 0 - strh r0, [r3] - adds r1, 0xF4 - ldrh r0, [r1] - orrs r0, r2 - strh r0, [r1] - movs r0, 0x1 - strh r0, [r3] - bx lr - .align 2, 0 -_0815C6B4: .4byte 0x0400010c -_0815C6B8: .4byte 0x0000fda7 -_0815C6BC: .4byte 0x0400010e -_0815C6C0: .4byte 0x04000208 - thumb_func_end sub_815C690 - - thumb_func_start sub_815C6C4 -sub_815C6C4: @ 815C6C4 - push {lr} - bl sub_815C874 - bl sub_815C864 - pop {r0} - bx r0 - thumb_func_end sub_815C6C4 - - thumb_func_start sub_815C6D4 -sub_815C6D4: @ 815C6D4 - push {r4-r6,lr} - sub sp, 0x8 - ldr r2, _0815C6EC @ =gUnknown_3002048 - ldrb r0, [r2, 0x1] - adds r3, r2, 0 - cmp r0, 0x3 - beq _0815C75C - cmp r0, 0x3 - bgt _0815C6F0 - cmp r0, 0x1 - beq _0815C6F8 - b _0815C852 - .align 2, 0 -_0815C6EC: .4byte gUnknown_3002048 -_0815C6F0: - cmp r0, 0x5 - bne _0815C6F6 - b _0815C824 -_0815C6F6: - b _0815C852 -_0815C6F8: - ldr r1, _0815C728 @ =0x0400012a - ldr r2, _0815C72C @ =0x0000ccd0 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _0815C730 @ =0x04000120 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp] - str r1, [sp, 0x4] - movs r1, 0 - movs r2, 0 - movs r4, 0 - ldr r6, _0815C72C @ =0x0000ccd0 - ldr r5, _0815C734 @ =0x0000ffff -_0815C714: - lsls r0, r1, 1 - add r0, sp - ldrh r0, [r0] - cmp r0, r6 - bne _0815C738 - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - b _0815C742 - .align 2, 0 -_0815C728: .4byte 0x0400012a -_0815C72C: .4byte 0x0000ccd0 -_0815C730: .4byte 0x04000120 -_0815C734: .4byte 0x0000ffff -_0815C738: - cmp r0, r5 - beq _0815C742 - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 -_0815C742: - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0x3 - bls _0815C714 - cmp r2, 0x2 - beq _0815C752 - b _0815C852 -_0815C752: - cmp r4, 0 - beq _0815C758 - b _0815C852 -_0815C758: - strb r2, [r3, 0x1] - b _0815C852 -_0815C75C: - ldr r0, _0815C798 @ =0x04000120 - ldr r4, [r0] - ldr r0, [r2, 0xC] - cmp r0, 0 - bne _0815C772 - ldrb r0, [r2] - cmp r0, 0 - bne _0815C772 - lsrs r0, r4, 2 - adds r0, 0x1 - str r0, [r2, 0x10] -_0815C772: - ldrb r0, [r3] - cmp r0, 0x1 - bne _0815C7A8 - ldr r1, [r3, 0xC] - ldr r0, [r3, 0x10] - cmp r1, r0 - bge _0815C79C - ldr r2, _0815C798 @ =0x04000120 - ldr r0, [r3, 0x8] - lsls r1, 2 - adds r1, r0 - ldr r0, [r1] - str r0, [r2] - ldr r0, [r3, 0x14] - ldr r1, [r1] - adds r0, r1 - str r0, [r3, 0x14] - b _0815C7E2 - .align 2, 0 -_0815C798: .4byte 0x04000120 -_0815C79C: - ldr r1, _0815C7A4 @ =0x04000120 - ldr r0, [r3, 0x14] - b _0815C7E0 - .align 2, 0 -_0815C7A4: .4byte 0x04000120 -_0815C7A8: - ldr r1, [r3, 0xC] - cmp r1, 0 - ble _0815C7C8 - ldr r0, [r3, 0x10] - adds r0, 0x1 - cmp r1, r0 - bge _0815C7C8 - ldr r0, [r3, 0x8] - lsls r1, 2 - adds r1, r0 - subs r1, 0x4 - str r4, [r1] - ldr r0, [r3, 0x14] - adds r0, r4 - str r0, [r3, 0x14] - b _0815C7DC -_0815C7C8: - ldr r0, [r3, 0xC] - cmp r0, 0 - beq _0815C7DC - ldr r0, [r3, 0x14] - cmp r0, r4 - bne _0815C7D8 - movs r0, 0x1 - b _0815C7DA -_0815C7D8: - movs r0, 0x2 -_0815C7DA: - strb r0, [r3, 0x3] -_0815C7DC: - ldr r1, _0815C804 @ =gUnknown_3002068 - movs r0, 0 -_0815C7E0: - str r0, [r1] -_0815C7E2: - ldr r1, [r3, 0xC] - adds r1, 0x1 - str r1, [r3, 0xC] - ldr r0, [r3, 0x10] - adds r0, 0x2 - cmp r1, r0 - bge _0815C812 - ldrb r0, [r3] - cmp r0, 0 - beq _0815C80C - ldr r0, _0815C808 @ =0x0400010e - ldrh r1, [r0] - movs r2, 0x80 - orrs r1, r2 - strh r1, [r0] - b _0815C852 - .align 2, 0 -_0815C804: .4byte gUnknown_3002068 -_0815C808: .4byte 0x0400010e -_0815C80C: - bl sub_815C864 - b _0815C852 -_0815C812: - movs r0, 0 - movs r1, 0x4 - strb r1, [r3, 0x1] - ldr r1, _0815C820 @ =gUnknown_3002066 - strh r0, [r1] - b _0815C852 - .align 2, 0 -_0815C820: .4byte gUnknown_3002066 -_0815C824: - ldrb r3, [r2] - cmp r3, 0 - bne _0815C830 - ldr r1, _0815C85C @ =0x0400012a - ldrb r0, [r2, 0x3] - strh r0, [r1] -_0815C830: - ldr r0, _0815C860 @ =0x04000120 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp] - str r1, [sp, 0x4] - mov r0, sp - ldrh r1, [r0, 0x2] - subs r0, r1, 0x1 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bhi _0815C852 - cmp r3, 0x1 - bne _0815C84E - strb r1, [r2, 0x3] -_0815C84E: - movs r0, 0x6 - strb r0, [r2, 0x1] -_0815C852: - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0815C85C: .4byte 0x0400012a -_0815C860: .4byte 0x04000120 - thumb_func_end sub_815C6D4 - - thumb_func_start sub_815C864 -sub_815C864: @ 815C864 - ldr r0, _0815C870 @ =0x04000128 - ldrh r1, [r0] - movs r2, 0x80 - orrs r1, r2 - strh r1, [r0] - bx lr - .align 2, 0 -_0815C870: .4byte 0x04000128 - thumb_func_end sub_815C864 - - thumb_func_start sub_815C874 -sub_815C874: @ 815C874 - ldr r2, _0815C888 @ =0x0400010e - ldrh r1, [r2] - ldr r0, _0815C88C @ =0x0000ff7f - ands r0, r1 - strh r0, [r2] - ldr r1, _0815C890 @ =0x0400010c - ldr r2, _0815C894 @ =0x0000fda7 - adds r0, r2, 0 - strh r0, [r1] - bx lr - .align 2, 0 -_0815C888: .4byte 0x0400010e -_0815C88C: .4byte 0x0000ff7f -_0815C890: .4byte 0x0400010c -_0815C894: .4byte 0x0000fda7 - thumb_func_end sub_815C874 - - thumb_func_start sub_815C898 -sub_815C898: @ 815C898 - push {r4,lr} - ldr r0, _0815C8B8 @ =0x04000130 - ldrh r0, [r0] - ldr r2, _0815C8BC @ =0x000003ff - adds r1, r2, 0 - eors r1, r0 - ldr r4, _0815C8C0 @ =gUnknown_3002062 - ldr r3, _0815C8C4 @ =gUnknown_3002060 - ldrh r2, [r3] - adds r0, r1, 0 - bics r0, r2 - strh r0, [r4] - strh r1, [r3] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0815C8B8: .4byte 0x04000130 -_0815C8BC: .4byte 0x000003ff -_0815C8C0: .4byte gUnknown_3002062 -_0815C8C4: .4byte gUnknown_3002060 - thumb_func_end sub_815C898 - - thumb_func_start sub_815C8C8 -sub_815C8C8: @ 815C8C8 - ldr r1, _0815C8F4 @ =gUnknown_300206C - ldr r0, _0815C8F8 @ =0x04000208 - ldrh r0, [r0] - strh r0, [r1] - ldr r1, _0815C8FC @ =gUnknown_300206E - ldr r0, _0815C900 @ =0x04000200 - ldrh r0, [r0] - strh r0, [r1] - ldr r1, _0815C904 @ =gUnknown_3002070 - ldr r0, _0815C908 @ =0x0400010e - ldrh r0, [r0] - strh r0, [r1] - ldr r1, _0815C90C @ =gUnknown_3002072 - ldr r0, _0815C910 @ =0x04000128 - ldrh r0, [r0] - strh r0, [r1] - ldr r1, _0815C914 @ =gUnknown_3002074 - ldr r0, _0815C918 @ =0x04000134 - ldrh r0, [r0] - strh r0, [r1] - bx lr - .align 2, 0 -_0815C8F4: .4byte gUnknown_300206C -_0815C8F8: .4byte 0x04000208 -_0815C8FC: .4byte gUnknown_300206E -_0815C900: .4byte 0x04000200 -_0815C904: .4byte gUnknown_3002070 -_0815C908: .4byte 0x0400010e -_0815C90C: .4byte gUnknown_3002072 -_0815C910: .4byte 0x04000128 -_0815C914: .4byte gUnknown_3002074 -_0815C918: .4byte 0x04000134 - thumb_func_end sub_815C8C8 - - thumb_func_start sub_815C91C -sub_815C91C: @ 815C91C - ldr r1, _0815C948 @ =0x04000208 - ldr r0, _0815C94C @ =gUnknown_300206C - ldrh r0, [r0] - strh r0, [r1] - subs r1, 0x8 - ldr r0, _0815C950 @ =gUnknown_300206E - ldrh r0, [r0] - strh r0, [r1] - subs r1, 0xF2 - ldr r0, _0815C954 @ =gUnknown_3002070 - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x1A - ldr r0, _0815C958 @ =gUnknown_3002072 - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0xC - ldr r0, _0815C95C @ =gUnknown_3002074 - ldrh r0, [r0] - strh r0, [r1] - bx lr - .align 2, 0 -_0815C948: .4byte 0x04000208 -_0815C94C: .4byte gUnknown_300206C -_0815C950: .4byte gUnknown_300206E -_0815C954: .4byte gUnknown_3002070 -_0815C958: .4byte gUnknown_3002072 -_0815C95C: .4byte gUnknown_3002074 - thumb_func_end sub_815C91C - - thumb_func_start sub_815C960 -sub_815C960: @ 815C960 - push {lr} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - ldr r1, _0815C978 @ =gUnknown_3002048 - ldr r2, _0815C97C @ =0x05000006 - mov r0, sp - bl CpuSet - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0815C978: .4byte gUnknown_3002048 -_0815C97C: .4byte 0x05000006 - thumb_func_end sub_815C960 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/link.s b/asm/link.s index ae3fc451f..28dc18656 100644 --- a/asm/link.s +++ b/asm/link.s @@ -4686,7 +4686,7 @@ _0800B85C: _0800B860: adds r0, r2, 0 strh r0, [r1] - ldr r2, _0800B8BC @ =gUnknown_3003FB4 + ldr r2, _0800B8BC @ =gSioMlt_Recv ldr r3, _0800B8C0 @ =0x04000120 ldr r0, [r3] ldr r1, [r3, 0x4] @@ -4731,7 +4731,7 @@ _0800B8A0: .align 2, 0 _0800B8B4: .4byte 0x0400012a _0800B8B8: .4byte 0x0000b9a0 -_0800B8BC: .4byte gUnknown_3003FB4 +_0800B8BC: .4byte gSioMlt_Recv _0800B8C0: .4byte 0x04000120 _0800B8C4: .4byte gUnknown_3000E6B _0800B8C8: .4byte 0x00008fff diff --git a/asm/ss_anne.s b/asm/ss_anne.s deleted file mode 100644 index 2428f2984..000000000 --- a/asm/ss_anne.s +++ /dev/null @@ -1,8 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - .align 2, 0 @ Don't pad with nop. diff --git a/data/data_8471F00.s b/data/data_8471F00.s index c1e9c3106..b25d7ea57 100644 --- a/data/data_8471F00.s +++ b/data/data_8471F00.s @@ -227,24 +227,6 @@ gUnknown_8479688:: gUnknown_8479748:: .incbin "graphics/misc/unk_8479748.4bpp.lz" - .section .rodata.cereader_tool - - // cereader_tool - - .align 2 -gUnknown_8479CD8:: @ 8479CD8 - .asciz "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/cereader_tool.c" - - .align 2 -gUnknown_8479D10:: @ 8479D10 - .asciz "ttdata->dummy == 0" - - .align 2 -gUnknown_8479D24:: @ 8479D24 - .asciz "ttdata->id == 0" - - // trainer_tower - .section .rodata.after_trainer_tower // unk_815F138 diff --git a/include/cereader_tool.h b/include/cereader_tool.h index 05677dc79..f223bdaa5 100644 --- a/include/cereader_tool.h +++ b/include/cereader_tool.h @@ -3,7 +3,45 @@ #include "global.h" -bool32 sub_815D794(u8 *); -bool32 sub_815D6B4(u8 *); +struct TrainerTowerTrainer_004 +{ + /* 0x000 */ u8 unk_000[11]; + /* 0x00B */ u8 unk_00B; + /* 0x00C */ u8 unk_00C; + /* 0x00E */ u16 unk_00E[6]; + /* 0x01A */ u16 unk_01A[6]; + /* 0x026 */ u16 unk_026[6]; + /* 0x032 */ u16 unk_032[6]; + /* 0x040 */ struct BattleTowerPokemon unk_040[PARTY_SIZE]; +}; // size: 328 + +struct TrainerTowerTrainer +{ + /* 0x000 */ u8 unk_000; + /* 0x000 */ u8 unk_001; + /* 0x002 */ u8 unk_002; + /* 0x003 */ u8 unk_003; + /* 0x004 */ struct TrainerTowerTrainer_004 unk_004[3]; + /* 0x3DC */ u32 checksum; +}; + +struct Unk_203F458_Header +{ + u8 unk0; + u8 unk1; + u32 unk4; +}; + +struct TrainerTowerData +{ + u8 count; + u8 id; + u16 dummy; + u32 checksum; + struct TrainerTowerTrainer trainers[8]; +}; + +bool32 ValidateTrainerTowerData(struct TrainerTowerData * a0); +bool32 CEReaderTool_SaveTrainerTower(struct TrainerTowerData * a0); #endif //GUARD_CEREADER_TOOL_H diff --git a/include/link.h b/include/link.h index a875149aa..33f04a42a 100644 --- a/include/link.h +++ b/include/link.h @@ -147,7 +147,7 @@ extern bool8 gReceivedRemoteLinkPlayers; extern bool8 gLinkVSyncDisabled; extern u8 gUnknown_3003F84; -extern u64 gUnknown_3003FB4; +extern u64 gSioMlt_Recv; void Task_DestroySelf(u8); void OpenLink(void); diff --git a/include/mevent.h b/include/mevent.h index b9b17d8c0..b61fa732d 100644 --- a/include/mevent.h +++ b/include/mevent.h @@ -23,9 +23,9 @@ struct MEventStruct_Unk1442CC struct MEvent_Str_1 { - u16 unk_000; - size_t unk_004; - const void * unk_008; + u16 status; + size_t size; + const void * data; }; struct MEvent_Str_2 diff --git a/include/save.h b/include/save.h index f547230b9..7a74373c8 100644 --- a/include/save.h +++ b/include/save.h @@ -121,7 +121,7 @@ u8 Save_LoadGameData(u8 a1); u32 TryCopySpecialSaveSection(u8 sector, u8* dst); u32 sub_8153634(u8 sector, u8* src); void sub_8153688(u8 taskId); -u32 sub_80DA5E0(u8 sector, u8* src); +u32 TryWriteSpecialSaveSection(u8 sector, u8* src); void sub_80DA634(u8 taskId); #endif // GUARD_SAVE_H diff --git a/include/unk_815c27c.h b/include/unk_815c27c.h index cc1cbb7ce..02c886895 100644 --- a/include/unk_815c27c.h +++ b/include/unk_815c27c.h @@ -1,11 +1,11 @@ #ifndef GUARD_UNK_815C27C_H #define GUARD_UNK_815C27C_H -void sub_815C6D4(void); -void sub_815C6C4(void); -void sub_815C8C8(void); -void sub_815C960(void); -void sub_815C91C(void); -u16 sub_815C498(u8, size_t, const void *, u8); +void EReaderHelper_SerialCallback(void); +void EReaderHelper_Timer3Callback(void); +void EReaderHelper_SaveRegsState(void); +void EReaderHelper_ClearsSendRecvMgr(void); +void EReaderHelper_RestoreRegsState(void); +u16 EReaderHandleTransfer(u8, size_t, const void *, void *); #endif //GUARD_UNK_815C27C_H diff --git a/ld_script.txt b/ld_script.txt index ad553a79b..f342d0b98 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -278,11 +278,10 @@ SECTIONS { src/dodrio_berry_picking_2.o(.text); asm/dodrio_berry_picking_2.o(.text); src/teachy_tv.o(.text); - asm/ereader_helpers.o(.text); + src/ereader_helpers.o(.text); src/unk_815C980.o(.text); src/ss_anne.o(.text); - asm/ss_anne.o(.text); - asm/cereader_tool.o(.text); + src/cereader_tool.o(.text); src/trainer_tower.o(.text); asm/unk_815EDDC.o(.text); asm/unk_815F138.o(.text); @@ -456,7 +455,7 @@ SECTIONS { src/unk_815C980.o(.rodata); data/data_8471F00.o(.rodata.8479668); src/ss_anne.o(.rodata); - data/data_8471F00.o(.rodata.cereader_tool); + src/cereader_tool.o(.rodata); src/trainer_tower.o(.rodata); data/data_8471F00.o(.rodata.after_trainer_tower); src/mystery_event_msg.o(.rodata); diff --git a/src/cereader_tool.c b/src/cereader_tool.c new file mode 100644 index 000000000..1b25f4828 --- /dev/null +++ b/src/cereader_tool.c @@ -0,0 +1,88 @@ +#include "global.h" +#include "util.h" +#include "save.h" +#include "malloc.h" +#include "cereader_tool.h" + +u8 sub_815D654(void) +{ + return (gSaveBlock1Ptr->unkArray[0].unk9 + 1) % 256; +} + +static bool32 ValidateTrainerTowerTrainer(struct TrainerTowerTrainer * trainer) +{ + if (trainer->unk_001 < 1 || trainer->unk_001 > 8) + return FALSE; + if (trainer->unk_002 > 2) + return FALSE; + if (CalcByteArraySum((const u8 *)trainer, offsetof(typeof(*trainer), checksum)) != trainer->checksum) + return FALSE; + return TRUE; +} + +bool32 ValidateTrainerTowerData(struct TrainerTowerData * ttdata) +{ + u32 count = ttdata->count; + s32 i; + if (count < 1 || count > 8) + return FALSE; + for (i = 0; i < count; i++) + { + if (!ValidateTrainerTowerTrainer(&ttdata->trainers[i])) + return FALSE; + } + if (CalcByteArraySum((const u8 *)ttdata->trainers, count * sizeof(ttdata->trainers[0])) != ttdata->checksum) + return FALSE; + return TRUE; +} + +#define SEC30_SIZE (offsetof(struct TrainerTowerData, trainers[4])) +#define SEC31_SIZE (sizeof(struct TrainerTowerData) - SEC30_SIZE) + +static bool32 CEReaderTool_SaveTrainerTower_r(struct TrainerTowerData * ttdata, u8 * buffer) +{ + AGB_ASSERT_EX(ttdata->dummy == 0, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/cereader_tool.c", 198); + AGB_ASSERT_EX(ttdata->id == 0, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/cereader_tool.c", 199) + + memset(buffer, 0, 0x1000); + memcpy(buffer, ttdata, SEC30_SIZE); + buffer[1] = sub_815D654(); + if (TryWriteSpecialSaveSection(30, buffer) != TRUE) + return FALSE; + memset(buffer, 0, 0x1000); + memcpy(buffer, (u8 *)ttdata + SEC30_SIZE, SEC31_SIZE); + if (TryWriteSpecialSaveSection(31, buffer) != TRUE) + return FALSE; + return TRUE; +} + +bool32 CEReaderTool_SaveTrainerTower(struct TrainerTowerData * ttdata) +{ + u8 * buffer = AllocZeroed(0x1000); + bool32 result = CEReaderTool_SaveTrainerTower_r(ttdata, buffer); + Free(buffer); + return result; +} + +static bool32 CEReaderTool_LoadTrainerTower_r(struct TrainerTowerData * ttdata, void * buffer) +{ + if (TryCopySpecialSaveSection(30, buffer) != 1) + return FALSE; + memcpy(ttdata + 0x000, buffer, SEC30_SIZE); + + if (TryCopySpecialSaveSection(31, buffer) != 1) + return FALSE; + memcpy((u8 *)ttdata + SEC30_SIZE, buffer, SEC31_SIZE); + + if (!ValidateTrainerTowerData(ttdata)) + return FALSE; + return TRUE; +} + +bool32 CEReaderTool_LoadTrainerTower(struct TrainerTowerData * ttdata) +{ + void * buffer = AllocZeroed(0x1000); + bool32 success = CEReaderTool_LoadTrainerTower_r(ttdata, buffer); + Free(buffer); + return success; +} diff --git a/src/ereader_helpers.c b/src/ereader_helpers.c new file mode 100644 index 000000000..2a9b9ea71 --- /dev/null +++ b/src/ereader_helpers.c @@ -0,0 +1,397 @@ +#include "global.h" +#include "link.h" +#include "unk_815c27c.h" + +enum { + EREADER_XFR_STATE_INIT, + EREADER_XFR_STATE_HANDSHAKE, + EREADER_XFR_STATE_START, + EREADER_XFR_STATE_TRANSFER, +}; + +struct SendRecvMgr +{ + u8 sendOrRecv; + u8 state; + u8 field_02; + u8 field_03; + u8 field_04; + u32 * dataptr; + int cursor; + int size; + u32 checksum; +}; + +static bool16 DetermineSendRecvState(u8); +static void SetUpTransferManager(size_t, const void *, void *); +static void StartTm3(void); +static void EnableSio(void); +static void DisableTm3(void); +static void GetKeyInput(void); + +static struct SendRecvMgr sSendRecvMgr; +static u16 sJoyNewOrRepeated; +static u16 sJoyNew; +static u16 sSendRecvStatus; +static u16 sCounter1; +static u32 sCounter2; +static u16 sSavedIme; +static u16 sSavedIe; +static u16 sSavedTm3Cnt; +static u16 sSavedSioCnt; +static u16 sSavedSioCnt; +static u16 sSavedRCnt; + +int EReader_Send(size_t r6, const void * r5) +{ + int result; + EReaderHelper_SaveRegsState(); + + while (1) + { + GetKeyInput(); + if (TEST_BUTTON(sJoyNew, B_BUTTON)) + gUnknown_3003F84 = 2; + + sSendRecvStatus = EReaderHandleTransfer(1, r6, r5, NULL); + if ((sSendRecvStatus & 0x13) == 0x10) + { + result = 0; + break; + } + else if (sSendRecvStatus & 8) + { + result = 1; + break; + } + else if (sSendRecvStatus & 4) + { + result = 2; + break; + } + else + { + gUnknown_3003F84 = 0; + VBlankIntrWait(); + } + } + + CpuFill32(0, &sSendRecvMgr, sizeof(sSendRecvMgr)); + EReaderHelper_RestoreRegsState(); + return result; +} + +int EReader_Recv(void * r5) +{ + int result; + EReaderHelper_SaveRegsState(); + + while (1) + { + GetKeyInput(); + if (TEST_BUTTON(sJoyNew, B_BUTTON)) + gUnknown_3003F84 = 2; + + sSendRecvStatus = EReaderHandleTransfer(0, 0, NULL, r5); + if ((sSendRecvStatus & 0x13) == 0x10) + { + result = 0; + break; + } + else if (sSendRecvStatus & 8) + { + result = 1; + break; + } + else if (sSendRecvStatus & 4) + { + result = 2; + break; + } + else + { + gUnknown_3003F84 = 0; + VBlankIntrWait(); + } + } + + CpuFill32(0, &sSendRecvMgr, sizeof(sSendRecvMgr)); + EReaderHelper_RestoreRegsState(); + return result; +} + +static void CloseSerial(void) +{ + REG_IME = 0; + REG_IE &= ~(INTR_FLAG_TIMER3 | INTR_FLAG_SERIAL); + REG_IME = 1; + REG_SIOCNT = 0; + REG_TM3CNT_H = 0; + REG_IF = INTR_FLAG_TIMER3 | INTR_FLAG_SERIAL; +} + +static void OpenSerialMulti(void) +{ + REG_IME = 0; + REG_IE &= ~(INTR_FLAG_TIMER3 | INTR_FLAG_SERIAL); + REG_IME = 1; + REG_RCNT = 0; + REG_SIOCNT = SIO_MULTI_MODE; + REG_SIOCNT |= SIO_INTR_ENABLE | SIO_115200_BPS; + REG_IME = 0; + REG_IE |= INTR_FLAG_SERIAL; + REG_IME = 1; + if (sSendRecvMgr.state == 0) + CpuFill32(0, &sSendRecvMgr, sizeof(sSendRecvMgr)); +} + +static void OpenSerial32(void) +{ + REG_RCNT = 0; + REG_SIOCNT = SIO_INTR_ENABLE | SIO_32BIT_MODE; + REG_SIOCNT |= SIO_MULTI_SD; + gUnknown_3003F84 = 0; + sCounter1 = 0; + sCounter2 = 0; +} + +u16 EReaderHandleTransfer(u8 mode, size_t size, const void * data, void * recvBuffer) +{ + switch (sSendRecvMgr.state) + { + case 0: + OpenSerialMulti(); + sSendRecvMgr.field_02 = 1; + sSendRecvMgr.state = 1; + break; + case 1: + if (DetermineSendRecvState(mode)) + EnableSio(); + if (gUnknown_3003F84 == 2) + { + sSendRecvMgr.field_04 = 2; + sSendRecvMgr.state = 6; + } + break; + case 2: + OpenSerial32(); + SetUpTransferManager(size, data, recvBuffer); + sSendRecvMgr.state = 3; + // fallthrough + case 3: + if (gUnknown_3003F84 == 2) + { + sSendRecvMgr.field_04 = 2; + sSendRecvMgr.state = 6; + } + else + { + sCounter1++; + sCounter2++; + if (sSendRecvMgr.sendOrRecv == 0 && sCounter2 > 60) + { + sSendRecvMgr.field_04 = 1; + sSendRecvMgr.state = 6; + } + if (sSendRecvMgr.field_02 != 2) + { + if (sSendRecvMgr.sendOrRecv != 0 && sCounter1 > 2) + { + EnableSio(); + sSendRecvMgr.field_02 = 2; + } + else + { + EnableSio(); + sSendRecvMgr.field_02 = 2; + } + } + } + break; + case 4: + OpenSerialMulti(); + sSendRecvMgr.state = 5; + break; + case 5: + if (sSendRecvMgr.sendOrRecv == 1 && sCounter1 > 2) + EnableSio(); + if (++sCounter1 > 60) + { + sSendRecvMgr.field_04 = 1; + sSendRecvMgr.state = 6; + } + break; + case 6: + if (sSendRecvMgr.field_02 != 0) + { + CloseSerial(); + sSendRecvMgr.field_02 = 0; + } + break; + } + return sSendRecvMgr.field_02 | (sSendRecvMgr.field_04 << 2) | (sSendRecvMgr.field_03 << 4); +} + +static bool16 DetermineSendRecvState(u8 mode) +{ + bool16 resp; + if ((*(vu32 *)REG_ADDR_SIOCNT & (SIO_MULTI_SI | SIO_MULTI_SD)) == SIO_MULTI_SD && mode) + resp = sSendRecvMgr.sendOrRecv = TRUE; + else + resp = sSendRecvMgr.sendOrRecv = FALSE; + return resp; +} + +static void SetUpTransferManager(size_t size, const void * data, void * recvBuffer) +{ + if (sSendRecvMgr.sendOrRecv) + { + REG_SIOCNT |= SIO_38400_BPS; + sSendRecvMgr.dataptr = (void *)data; + REG_SIODATA32 = size; + sSendRecvMgr.size = size / 4 + 1; + StartTm3(); + } + else + { + REG_SIOCNT |= SIO_9600_BPS; + sSendRecvMgr.dataptr = recvBuffer; + } +} + +static void StartTm3(void) +{ + REG_TM3CNT_L = -601; + REG_TM3CNT_H = TIMER_INTR_ENABLE; + REG_IME = 0; + REG_IE |= INTR_FLAG_TIMER3; + REG_IME = 1; +} + +void EReaderHelper_Timer3Callback(void) +{ + DisableTm3(); + EnableSio(); +} + +void EReaderHelper_SerialCallback(void) +{ + u16 recv[4]; + u16 i; + u16 cnt1; + u16 cnt2; + u32 recv32; + + switch (sSendRecvMgr.state) + { + case 1: + REG_SIOMLT_SEND = 0xCCD0; + *(u64 *)recv = REG_SIOMLT_RECV; + for (i = 0, cnt1 = 0, cnt2 = 0; i < 4; i++) + { + if (recv[i] == 0xCCD0) + cnt1++; + else if (recv[i] != 0xFFFF) + cnt2++; + } + if (cnt1 == 2 && cnt2 == 0) + sSendRecvMgr.state = 2; + break; + case 3: + recv32 = REG_SIODATA32; + if (sSendRecvMgr.cursor == 0 && sSendRecvMgr.sendOrRecv == 0) + sSendRecvMgr.size = recv32 / 4 + 1; + if (sSendRecvMgr.sendOrRecv == 1) + { + if (sSendRecvMgr.cursor < sSendRecvMgr.size) + { + REG_SIODATA32 = sSendRecvMgr.dataptr[sSendRecvMgr.cursor]; + sSendRecvMgr.checksum += sSendRecvMgr.dataptr[sSendRecvMgr.cursor]; + } + else + REG_SIODATA32 = sSendRecvMgr.checksum; + } + else + { + if (sSendRecvMgr.cursor > 0 && sSendRecvMgr.cursor < sSendRecvMgr.size + 1) + { + sSendRecvMgr.dataptr[sSendRecvMgr.cursor - 1] = recv32; + sSendRecvMgr.checksum += recv32; + } + else if (sSendRecvMgr.cursor != 0) + { + if (sSendRecvMgr.checksum == recv32) + sSendRecvMgr.field_03 = 1; + else + sSendRecvMgr.field_03 = 2; + } + sCounter2 = 0; + } + sSendRecvMgr.cursor++; + if (sSendRecvMgr.cursor < sSendRecvMgr.size + 2) + { + if (sSendRecvMgr.sendOrRecv != 0) + REG_TM3CNT_H |= TIMER_ENABLE; + else + EnableSio(); + } + else + { + sSendRecvMgr.state = 4; + sCounter1 = 0; + } + break; + case 5: + if (sSendRecvMgr.sendOrRecv == 0) + REG_SIODATA8 = sSendRecvMgr.field_03; + *(vu64 *)recv = REG_SIOMLT_RECV; + if (recv[1] == 1 || recv[1] == 2) + { + if (sSendRecvMgr.sendOrRecv == 1) + sSendRecvMgr.field_03 = recv[1]; + sSendRecvMgr.state = 6; + } + break; + } +} + +static void EnableSio(void) +{ + REG_SIOCNT |= SIO_ENABLE; +} + +static void DisableTm3(void) +{ + REG_TM3CNT_H &= ~TIMER_ENABLE; + REG_TM3CNT_L = -601; +} + +static void GetKeyInput(void) +{ + u16 rawKeys = REG_KEYINPUT ^ 0x3FF; + sJoyNew = rawKeys & ~sJoyNewOrRepeated; + sJoyNewOrRepeated = rawKeys; +} + +void EReaderHelper_SaveRegsState(void) +{ + sSavedIme = REG_IME; + sSavedIe = REG_IE; + sSavedTm3Cnt = REG_TM3CNT_H; + sSavedSioCnt = REG_SIOCNT; + sSavedRCnt = REG_RCNT; +} + +void EReaderHelper_RestoreRegsState(void) +{ + REG_IME = sSavedIme; + REG_IE = sSavedIe; + REG_TM3CNT_H = sSavedTm3Cnt; + REG_SIOCNT = sSavedSioCnt; + REG_RCNT = sSavedRCnt; +} + +void EReaderHelper_ClearsSendRecvMgr(void) +{ + CpuFill32(0, &sSendRecvMgr, sizeof(sSendRecvMgr)); +} diff --git a/src/mevent.c b/src/mevent.c index 4d625987e..fc0c1f2d4 100644 --- a/src/mevent.c +++ b/src/mevent.c @@ -28,7 +28,7 @@ struct MEventTaskData1 u16 t02; u16 t04; u16 t06; - u8 t08; + u8 state; u8 t09; u8 t0A; u8 t0B; @@ -91,46 +91,46 @@ struct MEvent_Str_1 gUnknown_3005ED0; static EWRAM_DATA bool32 gUnknown_203F3BC = FALSE; -void sub_81435DC(struct MEvent_Str_1 *a0, size_t a1, const void * a2) +void sub_81435DC(struct MEvent_Str_1 *mgr, size_t size, const void * data) { vu16 imeBak = REG_IME; REG_IME = 0; - gIntrTable[1] = sub_815C6D4; - gIntrTable[2] = sub_815C6C4; - sub_815C8C8(); - sub_815C960(); + gIntrTable[1] = EReaderHelper_SerialCallback; + gIntrTable[2] = EReaderHelper_Timer3Callback; + EReaderHelper_SaveRegsState(); + EReaderHelper_ClearsSendRecvMgr(); REG_IE |= INTR_FLAG_VCOUNT; REG_IME = imeBak; - a0->unk_000 = 0; - a0->unk_004 = a1; - a0->unk_008 = a2; + mgr->status = 0; + mgr->size = size; + mgr->data = data; } void sub_8143644(struct MEvent_Str_1 *unused) { vu16 imeBak = REG_IME; REG_IME = 0; - sub_815C960(); - sub_815C91C(); + EReaderHelper_ClearsSendRecvMgr(); + EReaderHelper_RestoreRegsState(); RestoreSerialTimer3IntrHandlers(); REG_IME = imeBak; } -u8 sub_8143674(struct MEvent_Str_1 *a0) +u8 sub_8143674(struct MEvent_Str_1 *mgr) { u8 resp = 0; - a0->unk_000 = sub_815C498(1, a0->unk_004, a0->unk_008, 0); - if ((a0->unk_000 & 0x13) == 0x10) + mgr->status = EReaderHandleTransfer(1, mgr->size, mgr->data, 0); + if ((mgr->status & 0x13) == 0x10) resp = 1; - if (a0->unk_000 & 8) + if (mgr->status & 8) resp = 2; - if (a0->unk_000 & 4) + if (mgr->status & 4) resp = 3; gUnknown_3003F84 = 0; return resp; } -void sub_81436BC(void) +static void ResetTTDataBuffer(void) { memset(gDecompressionBuffer, 0, 0x2000); gLinkType = 0x5502; @@ -143,7 +143,7 @@ bool32 sub_81436EC(void) vu16 imeBak = REG_IME; u16 data[4]; REG_IME = 0; - *(u64 *)data = gUnknown_3003FB4; + *(u64 *)data = gSioMlt_Recv; REG_IME = imeBak; if ( data[0] == 0xB9A0 && data[1] == 0xCCD0 @@ -154,7 +154,7 @@ bool32 sub_81436EC(void) return FALSE; } -bool32 sub_814374C(void) +static bool32 IsEReaderConnectionSane(void) { if (sub_800AA48() && GetLinkPlayerCount_2() == 2) return TRUE; @@ -244,7 +244,7 @@ void task_add_00_ereader(void) { u8 taskId = CreateTask(sub_8143910, 0); struct MEventTaskData1 *data = (struct MEventTaskData1 *)gTasks[taskId].data; - data->t08 = 0; + data->state = 0; data->t09 = 0; data->t0A = 0; data->t0B = 0; @@ -258,12 +258,12 @@ void task_add_00_ereader(void) data->t10 = AllocZeroed(sizeof(struct MEvent_Str_2)); } -void sub_81438E8(u16 *a0) +static void ResetDelayTimer(u16 *a0) { *a0 = 0; } -bool32 sub_81438F0(u16 * a0, u16 a1) +static bool32 AdvanceDelayTimerCheckTimeout(u16 * a0, u16 a1) { if (++(*a0) > a1) { @@ -276,49 +276,49 @@ bool32 sub_81438F0(u16 * a0, u16 a1) void sub_8143910(u8 taskId) { struct MEventTaskData1 *data = (struct MEventTaskData1 *)gTasks[taskId].data; - switch (data->t08) + switch (data->state) { case 0: if (MG_PrintTextOnWindow1AndWaitButton(&data->t09, gUnknown_841DE52)) - data->t08 = 1; + data->state = 1; break; case 1: - sub_81436BC(); - sub_81438E8(&data->t00); - data->t08 = 2; + ResetTTDataBuffer(); + ResetDelayTimer(&data->t00); + data->state = 2; break; case 2: - if (sub_81438F0(&data->t00, 10)) - data->t08 = 3; + if (AdvanceDelayTimerCheckTimeout(&data->t00, 10)) + data->state = 3; break; case 3: - if (!sub_814374C()) + if (!IsEReaderConnectionSane()) { CloseLink(); - data->t08 = 4; + data->state = 4; } else - data->t08 = 13; + data->state = 13; break; case 4: if (MG_PrintTextOnWindow1AndWaitButton(&data->t09, gUnknown_841DE53)) { AddTextPrinterToWindow1(gUnknown_841DE54); - sub_81438E8(&data->t00); - data->t08 = 5; + ResetDelayTimer(&data->t00); + data->state = 5; } break; case 5: - if (sub_81438F0(&data->t00, 90)) + if (AdvanceDelayTimerCheckTimeout(&data->t00, 90)) { - sub_81436BC(); - data->t08 = 6; + ResetTTDataBuffer(); + data->state = 6; } else if (JOY_NEW(B_BUTTON)) { - sub_81438E8(&data->t00); + ResetDelayTimer(&data->t00); PlaySE(SE_SELECT); - data->t08 = 23; + data->state = 23; } break; case 6: @@ -326,64 +326,64 @@ void sub_8143910(u8 taskId) { PlaySE(SE_SELECT); CloseLink(); - sub_81438E8(&data->t00); - data->t08 = 23; + ResetDelayTimer(&data->t00); + data->state = 23; } else if (GetLinkPlayerCount_2() > 1) { - sub_81438E8(&data->t00); + ResetDelayTimer(&data->t00); CloseLink(); - data->t08 = 7; + data->state = 7; } else if (sub_81436EC()) { PlaySE(SE_SELECT); CloseLink(); - sub_81438E8(&data->t00); - data->t08 = 8; + ResetDelayTimer(&data->t00); + data->state = 8; } - else if (sub_81438F0(&data->t00, 10)) + else if (AdvanceDelayTimerCheckTimeout(&data->t00, 10)) { CloseLink(); - sub_81436BC(); - sub_81438E8(&data->t00); + ResetTTDataBuffer(); + ResetDelayTimer(&data->t00); } break; case 7: if (MG_PrintTextOnWindow1AndWaitButton(&data->t09, gUnknown_841DE7C)) - data->t08 = 4; + data->state = 4; break; case 8: AddTextPrinterToWindow1(gUnknown_841DE95); sub_81435DC(&gUnknown_3005ED0, gUnknownSerialData_End - gUnknownSerialData_Start, gUnknownSerialData_Start); - data->t08 = 9; + data->state = 9; break; case 9: data->t0E = sub_8143674(&gUnknown_3005ED0); if (data->t0E != 0) - data->t08 = 10; + data->state = 10; break; case 10: sub_8143644(&gUnknown_3005ED0); if (data->t0E == 3) - data->t08 = 20; + data->state = 20; else if (data->t0E == 1) { - sub_81438E8(&data->t00); + ResetDelayTimer(&data->t00); AddTextPrinterToWindow1(gUnknown_841DE9B); - data->t08 = 11; + data->state = 11; } else - data->t08 = 0; + data->state = 0; break; case 11: - if (sub_81438F0(&data->t00, 840)) - data->t08 = 12; + if (AdvanceDelayTimerCheckTimeout(&data->t00, 840)) + data->state = 12; break; case 12: - sub_81436BC(); + ResetTTDataBuffer(); AddTextPrinterToWindow1(gUnknown_841DE98); - data->t08 = 13; + data->state = 13; break; case 13: switch (sub_8143770(&data->t09, &data->t00)) @@ -392,21 +392,21 @@ void sub_8143910(u8 taskId) break; case 2: AddTextPrinterToWindow1(gUnknown_841DE95); - data->t08 = 14; + data->state = 14; break; case 1: PlaySE(SE_SELECT); CloseLink(); - data->t08 = 23; + data->state = 23; break; case 5: CloseLink(); - data->t08 = 21; + data->state = 21; break; case 3: case 4: CloseLink(); - data->t08 = 20; + data->state = 20; break; } break; @@ -414,65 +414,65 @@ void sub_8143910(u8 taskId) if (HasLinkErrorOccurred()) { CloseLink(); - data->t08 = 20; + data->state = 20; } else if (GetBlockReceivedStatus()) { ResetBlockReceivedFlags(); - data->t08 = 15; + data->state = 15; } break; case 15: - data->t0E = sub_815D6B4(gDecompressionBuffer); + data->t0E = ValidateTrainerTowerData((struct TrainerTowerData *)gDecompressionBuffer); sub_800AA80(data->t0E); - data->t08 = 16; + data->state = 16; break; case 16: if (!gReceivedRemoteLinkPlayers) { if (data->t0E == 1) - data->t08 = 17; + data->state = 17; else - data->t08 = 20; + data->state = 20; } break; case 17: - if (sub_815D794(gDecompressionBuffer)) + if (CEReaderTool_SaveTrainerTower((struct TrainerTowerData *)gDecompressionBuffer)) { AddTextPrinterToWindow1(gUnknown_841DE99); - sub_81438E8(&data->t00); - data->t08 = 18; + ResetDelayTimer(&data->t00); + data->state = 18; } else - data->t08 = 22; + data->state = 22; break; case 18: - if (sub_81438F0(&data->t00, 120)) + if (AdvanceDelayTimerCheckTimeout(&data->t00, 120)) { AddTextPrinterToWindow1(gUnknown_841DE9A); PlayFanfare(258); - data->t08 = 19; + data->state = 19; } break; case 19: if (IsFanfareTaskInactive() &&JOY_NEW(A_BUTTON | B_BUTTON)) - data->t08 = 26; + data->state = 26; break; case 23: if (MG_PrintTextOnWindow1AndWaitButton(&data->t09, gUnknown_841DE7D)) - data->t08 = 26; + data->state = 26; break; case 20: if (MG_PrintTextOnWindow1AndWaitButton(&data->t09, gUnknown_841DE96)) - data->t08 = 0; + data->state = 0; break; case 21: if (MG_PrintTextOnWindow1AndWaitButton(&data->t09, gUnknown_841DE97)) - data->t08 = 0; + data->state = 0; break; case 22: if (MG_PrintTextOnWindow1AndWaitButton(&data->t09, gUnknown_841DE9C)) - data->t08 = 0; + data->state = 0; break; case 26: sub_812B484(); diff --git a/src/save.c b/src/save.c index 761e3c92d..d3d31a22e 100644 --- a/src/save.c +++ b/src/save.c @@ -828,7 +828,7 @@ u32 TryCopySpecialSaveSection(u8 sector, u8* dst) return 1; } -u32 sub_80DA5E0(u8 sector, u8* src) +u32 TryWriteSpecialSaveSection(u8 sector, u8* src) { s32 i; s32 size; diff --git a/src/trainer_tower.c b/src/trainer_tower.c index a36e93260..46c112030 100644 --- a/src/trainer_tower.c +++ b/src/trainer_tower.c @@ -35,45 +35,10 @@ struct UnkStruct_8479D34 u8 flags3[8]; }; -struct UnkSubstruct_203F458_000C_004 -{ - /* 0x000 */ u8 unk_000[11]; - /* 0x00B */ u8 unk_00B; - /* 0x00C */ u8 unk_00C; - /* 0x00E */ u16 unk_00E[6]; - /* 0x01A */ u16 unk_01A[6]; - /* 0x026 */ u16 unk_026[6]; - /* 0x032 */ u16 unk_032[6]; - /* 0x040 */ struct BattleTowerPokemon unk_040[PARTY_SIZE]; -}; // size: 328 - -struct UnkSubstruct_203F458_000C -{ - /* 0x000 */ u8 unk_000; - /* 0x000 */ u8 unk_001; - /* 0x002 */ u8 unk_002; - /* 0x003 */ u8 unk_003; - /* 0x004 */ struct UnkSubstruct_203F458_000C_004 unk_004[3]; - /* 0x3DC */ u8 filler_3DC[4]; -}; - -struct Unk_203F458_Header -{ - u8 unk0; - u8 unk1; - u32 unk4; -}; - -struct UnkStruct_203F458_SaveBlock -{ - struct Unk_203F458_Header unk_0000; - struct UnkSubstruct_203F458_000C unk_0008[8]; -}; - struct UnkStruct_203F458 { /* 0x0000 */ u8 unk_0000; - /* 0x0004 */ struct UnkStruct_203F458_SaveBlock unk_0004; + /* 0x0004 */ struct TrainerTowerData unk_0004; }; struct UnkStruct_203F45C @@ -563,30 +528,7 @@ const u8 gUnknown_847A30E[][3] = { }; extern const struct Unk_203F458_Header gUnknown_84827AC; -extern const struct UnkSubstruct_203F458_000C *const gUnknown_84827B4[][8]; - -bool32 sub_815D7BC(void * dest, void * buffer) -{ - if (TryCopySpecialSaveSection(30, buffer) != 1) - return FALSE; - memcpy(dest + 0x000, buffer, 0xF88); - - if (TryCopySpecialSaveSection(31, buffer) != 1) - return FALSE; - memcpy(dest + 0xF88, buffer, 0xF80); - - if (!sub_815D6B4(dest)) - return FALSE; - return TRUE; -} - -bool32 sub_815D80C(void * dest) -{ - void * buffer = AllocZeroed(0x1000); - bool32 success = sub_815D7BC(dest, buffer); - Free(buffer); - return success; -} +extern const struct TrainerTowerTrainer *const gUnknown_84827B4[][8]; bool32 sub_815D834(void) { @@ -696,23 +638,23 @@ void sub_815DA54(void) sub_815DC8C(); gUnknown_203F45C = AllocZeroed(sizeof(*gUnknown_203F45C)); r10 = VarGet(VAR_0x4001); - StringCopyN(gUnknown_203F45C->unk_00, gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_004[r10].unk_000, 11); + StringCopyN(gUnknown_203F45C->unk_00, gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[r10].unk_000, 11); for (r9 = 0; r9 < 6; r9++) { - gUnknown_203F45C->unk_0C[r9] = gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_004[r10].unk_01A[r9]; - gUnknown_203F45C->unk_18[r9] = gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_004[r10].unk_026[r9]; + gUnknown_203F45C->unk_0C[r9] = gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[r10].unk_01A[r9]; + gUnknown_203F45C->unk_18[r9] = gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[r10].unk_026[r9]; - if (gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_002 == 1) + if (gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_002 == 1) { - gUnknown_203F45C->unk_24[r9] = gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_004[r10 + 1].unk_01A[r9]; - gUnknown_203F45C->unk_30[r9] = gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_004[r10 + 1].unk_026[r9]; + gUnknown_203F45C->unk_24[r9] = gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[r10 + 1].unk_01A[r9]; + gUnknown_203F45C->unk_30[r9] = gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[r10 + 1].unk_026[r9]; } } - gUnknown_203F45C->unk_3C = gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_002; - gUnknown_203F45C->unk_3D = gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_004[r10].unk_00B; - gUnknown_203F45C->unk_3E = gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_004[r10].unk_00C; + gUnknown_203F45C->unk_3C = gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_002; + gUnknown_203F45C->unk_3D = gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[r10].unk_00B; + gUnknown_203F45C->unk_3E = gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[r10].unk_00C; SetVBlankCounter1Ptr(&gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk0); sub_815DD2C(); } @@ -750,12 +692,12 @@ void sub_815DC8C(void) // fakematching { u32 whichTimer = gSaveBlock1Ptr->unkArrayIdx; s32 r4; - const struct UnkSubstruct_203F458_000C *const * r7; + const struct TrainerTowerTrainer *const * r7; gUnknown_203F458 = AllocZeroed(sizeof(*gUnknown_203F458)); gUnknown_203F458->unk_0000 = gMapHeader.mapDataId - 0x2A; if (sub_815D834() == TRUE) - sub_815D80C(&gUnknown_203F458->unk_0004); + CEReaderTool_LoadTrainerTower(&gUnknown_203F458->unk_0004); else { struct UnkStruct_203F458 * r0_ = gUnknown_203F458; @@ -767,12 +709,12 @@ void sub_815DC8C(void) // fakematching for (r4 = 0; r4 < 8; r4++) { void * r0 = gUnknown_203F458; - r0 = r4 * sizeof(struct UnkSubstruct_203F458_000C) + r0; - r0 += offsetof(struct UnkStruct_203F458, unk_0004.unk_0008); - memcpy(r0, r7[r4], sizeof(struct UnkSubstruct_203F458_000C)); + r0 = r4 * sizeof(struct TrainerTowerTrainer) + r0; + r0 += offsetof(struct UnkStruct_203F458, unk_0004.trainers); + memcpy(r0, r7[r4], sizeof(struct TrainerTowerTrainer)); // r0[r4] = *r7[r4]; } - gUnknown_203F458->unk_0004.unk_0000.unk4 = CalcByteArraySum((void *)gUnknown_203F458->unk_0004.unk_0008, sizeof(gUnknown_203F458->unk_0004.unk_0008)); + gUnknown_203F458->unk_0004.unk4 = CalcByteArraySum((void *)gUnknown_203F458->unk_0004.trainers, sizeof(gUnknown_203F458->unk_0004.trainers)); sub_815EC0C(); } } @@ -799,7 +741,7 @@ void sub_815DC8C(void) "\tbne _0815DCD0\n" "\tldr r0, [r4]\n" "\tadds r0, 0x4\n" - "\tbl sub_815D80C\n" + "\tbl CEReaderTool_LoadTrainerTower\n" "\tb _0815DD18\n" "\t.align 2, 0\n" "_0815DCBC: .4byte gSaveBlock1Ptr\n" @@ -860,14 +802,14 @@ void sub_815DD2C(void) void sub_815DD44(void) { - if (gMapHeader.mapDataId - 0x129 > gUnknown_203F458->unk_0004.unk_0000.unk0) + if (gMapHeader.mapDataId - 0x129 > gUnknown_203F458->unk_0004.count) { gSpecialVar_Result = 3; SetCurrentMapLayout(0x132); } else { - gSpecialVar_Result = gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_002; + gSpecialVar_Result = gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_002; SetCurrentMapLayout(gUnknown_847A284[gUnknown_203F458->unk_0000][gSpecialVar_Result]); sub_815DDB0(); } @@ -877,10 +819,10 @@ void sub_815DDB0(void) { s32 r3, r4; u8 r1, r2, r4_; - switch (gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_002) + switch (gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_002) { case 0: - r2 = gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_004[0].unk_00B; + r2 = gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[0].unk_00B; for (r3 = 0; r3 < NELEMS(gUnknown_8479ED8); r3++) { if (gUnknown_8479ED8[r3].unk1 == r2) @@ -893,7 +835,7 @@ void sub_815DDB0(void) VarSet(VAR_0x4011, r1); break; case 1: - r2 = gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_004[0].unk_00B; + r2 = gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[0].unk_00B; for (r3 = 0; r3 < NELEMS(gUnknown_847A024); r3++) { if (gUnknown_847A024[r3].unk2 == r2) @@ -915,7 +857,7 @@ void sub_815DDB0(void) case 2: for (r4 = 0; r4 < 3; r4++) { - r2 = gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_004[r4].unk_00B; + r2 = gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[r4].unk_00B; for (r3 = 0; r3 < NELEMS(gUnknown_8479ED8); r3++) { if (gUnknown_8479ED8[r3].unk1 == r2) @@ -962,25 +904,25 @@ void sub_815DF54(void) { u16 r4 = gSpecialVar_0x8006; u8 r1; - u8 r5 = gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_002; + u8 r5 = gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_002; // HOW DO I MATCH THIS CONTROL FLOW?!?! - r1 = gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_004[r5 == 1 ? 0 : r4].unk_00B; + r1 = gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[r5 == 1 ? 0 : r4].unk_00B; switch (gSpecialVar_0x8005) { case 2: sub_815E068(r5, r1); - sub_815DEFC(gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_004[r4].unk_00E, gStringVar4); + sub_815DEFC(gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[r4].unk_00E, gStringVar4); break; case 3: sub_815E068(r5, r1); - sub_815DEFC(gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_004[r4].unk_01A, gStringVar4); + sub_815DEFC(gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[r4].unk_01A, gStringVar4); break; case 4: sub_815E068(r5, r1); - sub_815DEFC(gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_004[r4].unk_026, gStringVar4); + sub_815DEFC(gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[r4].unk_026, gStringVar4); break; case 5: - sub_815DEFC(gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_004[r4].unk_032, gStringVar4); + sub_815DEFC(gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[r4].unk_032, gStringVar4); break; } } @@ -1180,7 +1122,7 @@ void sub_815E124(u8 taskId) void sub_815E160(void) { gBattleTypeFlags = BATTLE_TYPE_TRAINER | BATTLE_TYPE_FACTORY; - if (gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_002 == 1) + if (gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_002 == 1) gBattleTypeFlags |= BATTLE_TYPE_DOUBLE; gTrainerBattleOpponent_A = 0; sub_815E9FC(); @@ -1192,7 +1134,7 @@ void sub_815E160(void) void sub_815E1C0(void) { if (!gSpecialVar_0x8005) - gSpecialVar_Result = gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_002; + gSpecialVar_Result = gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_002; } void sub_815E1F0(void) @@ -1203,7 +1145,7 @@ void sub_815E1F0(void) void sub_815E218(void) { u16 mapDataId = gMapHeader.mapDataId; - if (mapDataId - 0x12A == gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk8 && mapDataId - 0x129 <= gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_001) + if (mapDataId - 0x12A == gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk8 && mapDataId - 0x129 <= gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_001) gSpecialVar_Result = FALSE; else gSpecialVar_Result = TRUE; @@ -1239,7 +1181,7 @@ void sub_815E394(void) void sub_815E408(void) { - u16 itemId = gUnknown_847A2B4[gUnknown_203F458->unk_0004.unk_0008->unk_003]; + u16 itemId = gUnknown_847A2B4[gUnknown_203F458->unk_0004.trainers->unk_003]; if (gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_0) gSpecialVar_Result = 2; else if (AddBagItem(itemId, 1) == 1) @@ -1367,9 +1309,9 @@ void sub_815E8B4(void) void sub_815E8CC(void) { - if (gUnknown_203F458->unk_0004.unk_0000.unk0 != gUnknown_203F458->unk_0004.unk_0008[0].unk_001) + if (gUnknown_203F458->unk_0004.count != gUnknown_203F458->unk_0004.trainers[0].unk_001) { - ConvertIntToDecimalStringN(gStringVar1, gUnknown_203F458->unk_0004.unk_0000.unk0, STR_CONV_MODE_LEFT_ALIGN, 1); + ConvertIntToDecimalStringN(gStringVar1, gUnknown_203F458->unk_0004.count, STR_CONV_MODE_LEFT_ALIGN, 1); gSpecialVar_Result = TRUE; } else @@ -1394,7 +1336,7 @@ void sub_815E948(void) { s32 i; u16 var_4001 = VarGet(VAR_0x4001); - u8 r1 = gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_004[var_4001].unk_00B; + u8 r1 = gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[var_4001].unk_00B; for (i = 0; i < NELEMS(gUnknown_847A074); i++) { @@ -1427,29 +1369,29 @@ void sub_815E9FC(void) ZeroEnemyPartyMons(); - switch (gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_002) + switch (gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_002) { case 0: default: for (r6 = 0; r6 < 2; r6++) { r2 = gUnknown_847A2EE[r5][r6]; - gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_004[r4].unk_040[r2].level = r9; - sub_803E0A4(&gEnemyParty[r6], &gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_004[r4].unk_040[r2]); + gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[r4].unk_040[r2].level = r9; + sub_803E0A4(&gEnemyParty[r6], &gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[r4].unk_040[r2]); } break; case 1: r2 = gUnknown_847A2FE[r5][0]; - gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_004[0].unk_040[r2].level = r9; - sub_803E0A4(&gEnemyParty[0], &gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_004[0].unk_040[r2]); + gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[0].unk_040[r2].level = r9; + sub_803E0A4(&gEnemyParty[0], &gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[0].unk_040[r2]); r2 = gUnknown_847A2FE[r5][1]; - gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_004[1].unk_040[r2].level = r9; - sub_803E0A4(&gEnemyParty[1], &gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_004[1].unk_040[r2]); + gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[1].unk_040[r2].level = r9; + sub_803E0A4(&gEnemyParty[1], &gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[1].unk_040[r2]); break; case 2: r2 = gUnknown_847A30E[r5][r4]; - gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_004[r4].unk_040[r2].level = r9; - sub_803E0A4(&gEnemyParty[0], &gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_004[r4].unk_040[r2]); + gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[r4].unk_040[r2].level = r9; + sub_803E0A4(&gEnemyParty[0], &gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[r4].unk_040[r2]); break; } } @@ -1474,9 +1416,9 @@ static s32 GetPartyMaxLevel(void) void sub_815EC0C(void) { - if (gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk9 != gUnknown_203F458->unk_0004.unk_0000.unk1) + if (gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk9 != gUnknown_203F458->unk_0004.id) { - gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk9 = gUnknown_203F458->unk_0004.unk_0000.unk1; + gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk9 = gUnknown_203F458->unk_0004.id; sub_815EDF4(&gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk4, 215999); gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_0 = FALSE; } diff --git a/sym_bss.txt b/sym_bss.txt index 556a53add..603da6ddb 100644 --- a/sym_bss.txt +++ b/sym_bss.txt @@ -197,38 +197,8 @@ gUnknown_3002040: @ 3002040 gUnknown_3002044: @ 3002044 .space 0x4 -gUnknown_3002048: @ 3002048 - .space 0x18 - -gUnknown_3002060: @ 3002060 - .space 0x2 - -gUnknown_3002062: @ 3002062 - .space 0x2 - -gUnknown_3002064: @ 3002064 - .space 0x2 - -gUnknown_3002066: @ 3002066 - .space 0x2 - -gUnknown_3002068: @ 3002068 - .space 0x4 - -gUnknown_300206C: @ 300206C - .space 0x2 - -gUnknown_300206E: @ 300206E - .space 0x2 - -gUnknown_3002070: @ 3002070 - .space 0x2 - -gUnknown_3002072: @ 3002072 - .space 0x2 - -gUnknown_3002074: @ 3002074 - .space 0x4 + .align 3 + .include "src/ereader_helpers.o" .align 3 .include "src/unk_815C980.o" diff --git a/sym_common.txt b/sym_common.txt index 429623cb7..eb4f075ba 100644 --- a/sym_common.txt +++ b/sym_common.txt @@ -96,7 +96,7 @@ gUnknown_3003FA0: @ 3003FA0 gUnknown_3003FB0: @ 3003FB0 .space 0x4 -gUnknown_3003FB4: @ 3003FB4 +gSioMlt_Recv: @ 3003FB4 .space 0xFBC gUnknown_3004F70: @ 3004F70 -- cgit v1.2.3 From decd15a45876549a117df8e8594865cb42aa7b1a Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 15 Jun 2019 12:56:14 -0400 Subject: unk_815EDDC --- asm/unk_815EDDC.s | 407 ---------------------------------------------------- data/data_83FECCC.s | 10 +- include/load_save.h | 1 + include/strings.h | 2 + ld_script.txt | 2 +- src/trainer_tower.c | 1 + src/unk_815EDDC.c | 132 +++++++++++++++++ sym_ewram.txt | 8 +- 8 files changed, 145 insertions(+), 418 deletions(-) delete mode 100644 asm/unk_815EDDC.s create mode 100644 src/unk_815EDDC.c diff --git a/asm/unk_815EDDC.s b/asm/unk_815EDDC.s deleted file mode 100644 index 16db54083..000000000 --- a/asm/unk_815EDDC.s +++ /dev/null @@ -1,407 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_815EE3C -sub_815EE3C: @ 815EE3C - ldr r1, _0815EE50 @ =gSaveBlock2Ptr - ldr r1, [r1] - movs r2, 0xF2 - lsls r2, 4 - adds r1, r2 - ldr r0, [r0] - ldr r1, [r1] - eors r0, r1 - bx lr - .align 2, 0 -_0815EE50: .4byte gSaveBlock2Ptr - thumb_func_end sub_815EE3C - - thumb_func_start sub_815EE54 -sub_815EE54: @ 815EE54 - ldr r2, _0815EE68 @ =gSaveBlock2Ptr - ldr r2, [r2] - movs r3, 0xF2 - lsls r3, 4 - adds r2, r3 - ldr r2, [r2] - eors r2, r1 - str r2, [r0] - bx lr - .align 2, 0 -_0815EE68: .4byte gSaveBlock2Ptr - thumb_func_end sub_815EE54 - - thumb_func_start sub_815EE6C -sub_815EE6C: @ 815EE6C - push {lr} - adds r1, r0, 0 - ldr r0, _0815EE80 @ =gSaveBlock2Ptr - ldr r0, [r0] - ldr r2, _0815EE84 @ =0x00000af8 - adds r0, r2 - bl ApplyNewEncryptionKeyToWord - pop {r0} - bx r0 - .align 2, 0 -_0815EE80: .4byte gSaveBlock2Ptr -_0815EE84: .4byte 0x00000af8 - thumb_func_end sub_815EE6C - - thumb_func_start sub_815EE88 -sub_815EE88: @ 815EE88 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _0815EEA0 @ =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, _0815EEA4 @ =0x00000af8 - adds r0, r1 - bl sub_815EE3C - cmp r0, r4 - bcc _0815EEA8 - movs r0, 0x1 - b _0815EEAA - .align 2, 0 -_0815EEA0: .4byte gSaveBlock2Ptr -_0815EEA4: .4byte 0x00000af8 -_0815EEA8: - movs r0, 0 -_0815EEAA: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_815EE88 - - thumb_func_start sub_815EEB0 -sub_815EEB0: @ 815EEB0 - push {lr} - ldr r0, _0815EECC @ =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, _0815EED0 @ =0x00000af8 - adds r0, r1 - bl sub_815EE3C - ldr r1, _0815EED4 @ =gSpecialVar_0x8004 - ldrh r1, [r1] - cmp r0, r1 - bcc _0815EED8 - movs r0, 0x1 - b _0815EEDA - .align 2, 0 -_0815EECC: .4byte gSaveBlock2Ptr -_0815EED0: .4byte 0x00000af8 -_0815EED4: .4byte gSpecialVar_0x8004 -_0815EED8: - movs r0, 0 -_0815EEDA: - pop {r1} - bx r1 - thumb_func_end sub_815EEB0 - - thumb_func_start sub_815EEE0 -sub_815EEE0: @ 815EEE0 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r0, _0815EF04 @ =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, _0815EF08 @ =0x00000af8 - adds r5, r0, r1 - adds r0, r5, 0 - bl sub_815EE3C - adds r1, r0, r4 - ldr r2, _0815EF0C @ =0x0001869f - cmp r1, r2 - bhi _0815EF10 - adds r0, r5, 0 - bl sub_815EE54 - movs r0, 0x1 - b _0815EF1A - .align 2, 0 -_0815EF04: .4byte gSaveBlock2Ptr -_0815EF08: .4byte 0x00000af8 -_0815EF0C: .4byte 0x0001869f -_0815EF10: - adds r0, r5, 0 - adds r1, r2, 0 - bl sub_815EE54 - movs r0, 0 -_0815EF1A: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_815EEE0 - - thumb_func_start sub_815EF20 -sub_815EF20: @ 815EF20 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, _0815EF4C @ =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, _0815EF50 @ =0x00000af8 - adds r4, r0, r1 - adds r0, r5, 0 - bl sub_815EE88 - lsls r0, 24 - cmp r0, 0 - beq _0815EF54 - adds r0, r4, 0 - bl sub_815EE3C - adds r1, r0, 0 - subs r1, r5 - adds r0, r4, 0 - bl sub_815EE54 - movs r0, 0x1 - b _0815EF56 - .align 2, 0 -_0815EF4C: .4byte gSaveBlock2Ptr -_0815EF50: .4byte 0x00000af8 -_0815EF54: - movs r0, 0 -_0815EF56: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_815EF20 - - thumb_func_start sub_815EF5C -sub_815EF5C: @ 815EF5C - push {r4,r5,lr} - ldr r0, _0815EF8C @ =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, _0815EF90 @ =0x00000af8 - adds r4, r0, r1 - ldr r5, _0815EF94 @ =gSpecialVar_0x8004 - ldrh r0, [r5] - bl sub_815EE88 - lsls r0, 24 - cmp r0, 0 - beq _0815EF98 - adds r0, r4, 0 - bl sub_815EE3C - adds r1, r0, 0 - ldrh r0, [r5] - subs r1, r0 - adds r0, r4, 0 - bl sub_815EE54 - movs r0, 0x1 - b _0815EF9A - .align 2, 0 -_0815EF8C: .4byte gSaveBlock2Ptr -_0815EF90: .4byte 0x00000af8 -_0815EF94: .4byte gSpecialVar_0x8004 -_0815EF98: - movs r0, 0 -_0815EF9A: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_815EF5C - - thumb_func_start sub_815EFA0 -sub_815EFA0: @ 815EFA0 - push {lr} - ldr r0, _0815EFB4 @ =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, _0815EFB8 @ =0x00000af8 - adds r0, r1 - bl sub_815EE3C - pop {r1} - bx r1 - .align 2, 0 -_0815EFB4: .4byte gSaveBlock2Ptr -_0815EFB8: .4byte 0x00000af8 - thumb_func_end sub_815EFA0 - - thumb_func_start sub_815EFBC -sub_815EFBC: @ 815EFBC - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0xC - adds r6, r0, 0 - mov r8, r2 - adds r4, r3, 0 - ldr r5, [sp, 0x24] - lsls r6, 24 - lsrs r6, 24 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - ldr r0, _0815F010 @ =gStringVar1 - mov r9, r0 - movs r2, 0x1 - movs r3, 0x5 - bl ConvertIntToDecimalStringN - str r4, [sp] - str r5, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0 - mov r2, r9 - mov r3, r8 - bl AddTextPrinterParameterized - add sp, 0xC - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0815F010: .4byte gStringVar1 - thumb_func_end sub_815EFBC - - thumb_func_start sub_815F014 -sub_815F014: @ 815F014 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0xC - adds r6, r0, 0 - adds r4, r1, 0 - adds r5, r2, 0 - mov r8, r3 - lsls r6, 24 - lsrs r6, 24 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 24 - lsrs r5, 24 - adds r0, r6, 0 - movs r1, 0 - adds r2, r4, 0 - adds r3, r5, 0 - bl SetWindowBorderStyle - ldr r2, _0815F06C @ =gUnknown_8416655 - movs r4, 0 - str r4, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0 - movs r3, 0 - bl AddTextPrinterParameterized - str r4, [sp] - adds r0, r6, 0 - mov r1, r8 - movs r2, 0x27 - movs r3, 0xC - bl sub_815EFBC - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0815F06C: .4byte gUnknown_8416655 - thumb_func_end sub_815F014 - - thumb_func_start sub_815F070 -sub_815F070: @ 815F070 - push {lr} - sub sp, 0x4 - bl sub_815EFA0 - adds r1, r0, 0 - ldr r0, _0815F090 @ =gUnknown_203F464 - ldrb r0, [r0] - movs r2, 0 - str r2, [sp] - movs r2, 0x27 - movs r3, 0xC - bl sub_815EFBC - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0815F090: .4byte gUnknown_203F464 - thumb_func_end sub_815F070 - - thumb_func_start sub_815F094 -sub_815F094: @ 815F094 - push {r4,r5,lr} - sub sp, 0x20 - ldr r0, _0815F108 @ =sub_809D6D4 - bl sub_81119D4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0815F100 - movs r0, 0x8 - str r0, [sp] - movs r0, 0x3 - str r0, [sp, 0x4] - movs r0, 0xF - str r0, [sp, 0x8] - movs r0, 0x20 - str r0, [sp, 0xC] - add r0, sp, 0x10 - movs r1, 0 - movs r2, 0x1 - movs r3, 0x1 - bl SetWindowTemplateFields - ldr r0, [sp, 0x10] - ldr r1, [sp, 0x14] - str r0, [sp, 0x18] - str r1, [sp, 0x1C] - ldr r4, _0815F10C @ =gUnknown_203F464 - add r0, sp, 0x18 - bl AddWindow - strb r0, [r4] - ldrb r0, [r4] - movs r1, 0 - bl FillWindowPixelBuffer - ldrb r0, [r4] - bl PutWindowTilemap - ldrb r0, [r4] - ldr r5, _0815F110 @ =0x0000021d - adds r1, r5, 0 - movs r2, 0xD0 - bl sub_814FF2C - ldrb r4, [r4] - bl sub_815EFA0 - adds r3, r0, 0 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0xD - bl sub_815F014 -_0815F100: - add sp, 0x20 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0815F108: .4byte sub_809D6D4 -_0815F10C: .4byte gUnknown_203F464 -_0815F110: .4byte 0x0000021d - thumb_func_end sub_815F094 - - thumb_func_start sub_815F114 -sub_815F114: @ 815F114 - push {r4,lr} - ldr r4, _0815F134 @ =gUnknown_203F464 - ldrb r0, [r4] - bl ClearWindowTilemap - ldrb r0, [r4] - movs r1, 0x1 - bl sub_810F4D8 - ldrb r0, [r4] - bl RemoveWindow - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0815F134: .4byte gUnknown_203F464 - thumb_func_end sub_815F114 - - .align 2, 0 @ Don't pad with nop. diff --git a/data/data_83FECCC.s b/data/data_83FECCC.s index 1d6d7d95f..000339fdf 100644 --- a/data/data_83FECCC.s +++ b/data/data_83FECCC.s @@ -970,16 +970,18 @@ gUnknown_8416644:: @ 8416644 .incbin "baserom.gba", 0x416644, 0x11 gUnknown_8416655:: @ 8416655 - .incbin "baserom.gba", 0x416655, 0x7 + .string "POWDER$" gUnknown_841665C:: @ 841665C - .incbin "baserom.gba", 0x41665C, 0x34 + .string "Played the POKé FLUTE.\p" + .string "Now, that's a catchy tune!{PAUSE_UNTIL_PRESS}$" gUnknown_8416690:: @ 8416690 - .incbin "baserom.gba", 0x416690, 0x17 + .string "Played the POKé FLUTE.$" gUnknown_84166A7:: @ 84166A7 - .incbin "baserom.gba", 0x4166A7, 0x2C + .string "The POKé FLUTE awakened sleeping\n" + .string "POKéMON.{PAUSE_UNTIL_PRESS}$" gText_TMCase:: @ 84166D3 .string "TM CASE$" diff --git a/include/load_save.h b/include/load_save.h index 064e6dff2..f62bc05aa 100644 --- a/include/load_save.h +++ b/include/load_save.h @@ -24,5 +24,6 @@ void SetSaveBlocksPointers(void); void MoveSaveBlocks_ResetHeap(void); void ApplyNewEncryptionKeyToAllEncryptedData(u32 encryptionKey); void ApplyNewEncryptionKeyToBagItems(u32 encryptionKey); +void ApplyNewEncryptionKeyToWord(u32 * word, u32 encryptionKey); #endif // GUARD_LOAD_SAVE_H diff --git a/include/strings.h b/include/strings.h index 8a10f02d5..0a8af28d1 100644 --- a/include/strings.h +++ b/include/strings.h @@ -148,4 +148,6 @@ extern const u8 gString_Someone[]; extern const u8 gString_Help[]; extern const u8 gString_HelpSystem_ClearTo8[]; +extern const u8 gUnknown_8416655[]; + #endif //GUARD_STRINGS_H diff --git a/ld_script.txt b/ld_script.txt index f342d0b98..1ae51f0c1 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -283,7 +283,7 @@ SECTIONS { src/ss_anne.o(.text); src/cereader_tool.o(.text); src/trainer_tower.o(.text); - asm/unk_815EDDC.o(.text); + src/unk_815EDDC.o(.text); asm/unk_815F138.o(.text); asm/berry_fix_program.o(.text); } =0 diff --git a/src/trainer_tower.c b/src/trainer_tower.c index 46c112030..5711bff94 100644 --- a/src/trainer_tower.c +++ b/src/trainer_tower.c @@ -77,6 +77,7 @@ struct UnkStruct_847A074 EWRAM_DATA struct UnkStruct_203F458 * gUnknown_203F458 = NULL; EWRAM_DATA struct UnkStruct_203F45C * gUnknown_203F45C = NULL; +EWRAM_DATA u8 unused_variable = 0; void sub_815D96C(void); void sub_815DC8C(void); // setup diff --git a/src/unk_815EDDC.c b/src/unk_815EDDC.c new file mode 100644 index 000000000..d5da946fc --- /dev/null +++ b/src/unk_815EDDC.c @@ -0,0 +1,132 @@ +#include "global.h" +#include "event_data.h" +#include "load_save.h" +#include "menu.h" +#include "quest_log.h" +#include "script_menu.h" +#include "string_util.h" +#include "strings.h" +#include "text.h" +#include "text_window.h" + +EWRAM_DATA u8 gUnknown_203F464 = 0; + +u32 sub_815EE3C(u32 * a0) +{ + return *a0 ^ gSaveBlock2Ptr->encryptionKey; +} + +void sub_815EE54(u32 * a0, u32 a1) +{ + *a0 = gSaveBlock2Ptr->encryptionKey ^ a1; +} + +void sub_815EE6C(u32 a0) +{ + ApplyNewEncryptionKeyToWord(&gSaveBlock2Ptr->berryCrush.berryPowderAmount, a0); +} + +bool8 sub_815EE88(u32 a0) +{ + if (sub_815EE3C(&gSaveBlock2Ptr->berryCrush.berryPowderAmount) < a0) + return FALSE; + else + return TRUE; +} + +bool8 sub_815EEB0(void) +{ + if (sub_815EE3C(&gSaveBlock2Ptr->berryCrush.berryPowderAmount) < gSpecialVar_0x8004) + return FALSE; + else + return TRUE; +} + +bool8 sub_815EEE0(u32 a0) +{ + u32 * ptr = &gSaveBlock2Ptr->berryCrush.berryPowderAmount; + u32 amount = sub_815EE3C(ptr) + a0; + if (amount > 99999) + { + sub_815EE54(ptr, 99999); + return FALSE; + } + else + { + sub_815EE54(ptr, amount); + return TRUE; + } +} + +bool8 sub_815EF20(u32 a0) +{ + u32 * ptr = &gSaveBlock2Ptr->berryCrush.berryPowderAmount; + if (!sub_815EE88(a0)) + return FALSE; + else + { + u32 amount = sub_815EE3C(ptr); + sub_815EE54(ptr, amount - a0); + return TRUE; + } +} + +bool8 sub_815EF5C(void) +{ + u32 * ptr = &gSaveBlock2Ptr->berryCrush.berryPowderAmount; + if (!sub_815EE88(gSpecialVar_0x8004)) + return FALSE; + else + { + u32 amount = sub_815EE3C(ptr); + sub_815EE54(ptr, amount - gSpecialVar_0x8004); + return TRUE; + } +} + +u32 sub_815EFA0(void) +{ + return sub_815EE3C(&gSaveBlock2Ptr->berryCrush.berryPowderAmount); +} + +void sub_815EFBC(u8 windowId, u32 powder, u8 x, u8 y, u8 speed) +{ + ConvertIntToDecimalStringN(gStringVar1, powder, STR_CONV_MODE_RIGHT_ALIGN, 5); + AddTextPrinterParameterized(windowId, 0, gStringVar1, x, y, speed, NULL); +} + +void sub_815F014(u8 windowId, u16 baseBlock, u8 palette, u32 powder) +{ + SetWindowBorderStyle(windowId, FALSE, baseBlock, palette); + AddTextPrinterParameterized(windowId, 0, gUnknown_8416655, 0, 0, -1, NULL); + sub_815EFBC(windowId, powder, 39, 12, 0); +} + +void sub_815F070(void) +{ + sub_815EFBC(gUnknown_203F464, sub_815EFA0(), 39, 12, 0); +} + +void sub_815F094(void) +{ + struct WindowTemplate template; + struct WindowTemplate template2; + + if (sub_81119D4(sub_809D6D4) != TRUE) + { + SetWindowTemplateFields(&template, 0, 1, 1, 8, 3, 15, 32); + template2 = template; + gUnknown_203F464 = AddWindow(&template2); + FillWindowPixelBuffer(gUnknown_203F464, 0); + PutWindowTilemap(gUnknown_203F464); + sub_814FF2C(gUnknown_203F464, 0x21D, 0xD0); + sub_815F014(gUnknown_203F464, 0x21D, 0xD, sub_815EFA0()); + } +} + +void sub_815F114(void) +{ + ClearWindowTilemap(gUnknown_203F464); + sub_810F4D8(gUnknown_203F464, 1); + RemoveWindow(gUnknown_203F464); +} diff --git a/sym_ewram.txt b/sym_ewram.txt index a260f5772..d06fb5c5a 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -1598,9 +1598,5 @@ gUnknown_203F440: @ 203F440 .include "src/unk_815C980.o" .align 2 .include "src/trainer_tower.o" - -gUnknown_203F460: @ 203F460 - .space 0x4 - -gUnknown_203F464: @ 203F464 - .space 0x1 + .align 2 + .include "src/unk_815EDDC.o" -- cgit v1.2.3 From 9fb5dcdbf6a954762f68e792b69c5d83cbd9a4f5 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 15 Jun 2019 14:45:24 -0400 Subject: unk_815F138 --- asm/unk_815F138.s | 753 ---------------------------------------------------- data/data_8471F00.s | 80 ------ include/sprite.h | 1 + ld_script.txt | 3 +- src/unk_815F138.c | 322 ++++++++++++++++++++++ 5 files changed, 325 insertions(+), 834 deletions(-) delete mode 100644 asm/unk_815F138.s create mode 100644 src/unk_815F138.c diff --git a/asm/unk_815F138.s b/asm/unk_815F138.s deleted file mode 100644 index 3a1d49e81..000000000 --- a/asm/unk_815F138.s +++ /dev/null @@ -1,753 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_815F138 -sub_815F138: @ 815F138 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - ldr r0, [sp, 0x18] - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - lsls r6, 16 - lsrs r6, 16 - lsls r3, 16 - lsrs r3, 16 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, _0815F190 @ =sub_815F1AC - movs r1, 0x50 - str r3, [sp] - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0815F194 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0xC] - strh r5, [r1, 0xE] - strh r6, [r1, 0x10] - ldr r3, [sp] - strh r3, [r1, 0x12] - mov r0, r8 - strh r0, [r1, 0x14] - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0815F190: .4byte sub_815F1AC -_0815F194: .4byte gTasks - thumb_func_end sub_815F138 - - thumb_func_start sub_815F198 -sub_815F198: @ 815F198 - push {lr} - ldr r0, _0815F1A8 @ =sub_815F1AC - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_0815F1A8: .4byte sub_815F1AC - thumb_func_end sub_815F198 - - thumb_func_start sub_815F1AC -sub_815F1AC: @ 815F1AC - push {r4-r6,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, _0815F1D0 @ =gTasks+0x8 - adds r5, r0, r1 - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _0815F21C - cmp r0, 0x1 - bgt _0815F1D4 - cmp r0, 0 - beq _0815F1DA - b _0815F29E - .align 2, 0 -_0815F1D0: .4byte gTasks+0x8 -_0815F1D4: - cmp r0, 0x2 - beq _0815F260 - b _0815F29E -_0815F1DA: - ldrh r0, [r5, 0x4] - ldrh r1, [r5, 0x6] - bl sub_815F564 - ldrh r0, [r5, 0x4] - ldrh r1, [r5, 0x6] - movs r3, 0x8 - ldrsh r2, [r5, r3] - movs r4, 0xA - ldrsh r3, [r5, r4] - ldrb r4, [r5, 0xC] - str r4, [sp] - bl sub_815F5BC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0xE] - ldrh r0, [r5, 0x4] - ldrh r1, [r5, 0x6] - movs r3, 0x8 - ldrsh r2, [r5, r3] - movs r4, 0xA - ldrsh r3, [r5, r4] - ldrb r4, [r5, 0xC] - str r4, [sp] - adds r4, r5, 0 - adds r4, 0x10 - str r4, [sp, 0x4] - adds r4, 0x2 - str r4, [sp, 0x8] - bl sub_815F610 - b _0815F252 -_0815F21C: - ldrb r0, [r5, 0xE] - bl sub_815F2AC - cmp r0, 0 - bne _0815F29E - ldrb r0, [r5, 0xE] - ldrb r1, [r5, 0x10] - ldrb r2, [r5, 0x12] - bl sub_815F3E0 - movs r0, 0xE - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _0815F25C @ =gSprites - adds r0, r4 - bl FreeSpriteOamMatrix - movs r3, 0xE - ldrsh r1, [r5, r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite -_0815F252: - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] - b _0815F29E - .align 2, 0 -_0815F25C: .4byte gSprites -_0815F260: - ldrb r0, [r5, 0x10] - bl sub_815F444 - cmp r0, 0 - bne _0815F29E - movs r4, 0x10 - ldrsh r1, [r5, r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _0815F2A8 @ =gSprites - adds r0, r4 - bl DestroySprite - movs r0, 0x12 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - ldrh r0, [r5, 0x4] - bl FreeSpriteTilesByTag - ldrh r0, [r5, 0x6] - bl FreeSpritePaletteByTag - adds r0, r6, 0 - bl DestroyTask -_0815F29E: - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0815F2A8: .4byte gSprites - thumb_func_end sub_815F1AC - - thumb_func_start sub_815F2AC -sub_815F2AC: @ 815F2AC - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _0815F2D0 @ =gSprites - adds r4, r1, r0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x7 - bls _0815F2C6 - b _0815F3D8 -_0815F2C6: - lsls r0, 2 - ldr r1, _0815F2D4 @ =_0815F2D8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0815F2D0: .4byte gSprites -_0815F2D4: .4byte _0815F2D8 - .align 2, 0 -_0815F2D8: - .4byte _0815F2F8 - .4byte _0815F30A - .4byte _0815F330 - .4byte _0815F340 - .4byte _0815F362 - .4byte _0815F39A - .4byte _0815F3C0 - .4byte _0815F396 -_0815F2F8: - movs r1, 0x80 - lsls r1, 4 - adds r0, r4, 0 - movs r2, 0x1A - bl sub_8007FFC - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] -_0815F30A: - movs r2, 0x32 - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _0815F318 - movs r0, 0x32 - bl PlaySE -_0815F318: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x13 - ble _0815F3D8 - movs r0, 0 - strh r0, [r4, 0x32] - adds r0, r4, 0 - movs r1, 0x1 - b _0815F3B6 -_0815F330: - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0815F3D8 - b _0815F3BA -_0815F340: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _0815F3D8 - movs r0, 0 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - adds r0, r4, 0 - movs r1, 0x2 - bl StartSpriteAffineAnim - b _0815F3D8 -_0815F362: - ldrh r0, [r4, 0x22] - subs r0, 0x4 - strh r0, [r4, 0x22] - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7 - ble _0815F3D8 - ldrh r1, [r4, 0x36] - movs r2, 0x36 - ldrsh r0, [r4, r2] - cmp r0, 0x1 - bgt _0815F392 - adds r1, 0x1 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim - movs r0, 0 - strh r0, [r4, 0x32] - b _0815F3BA -_0815F392: - movs r0, 0x7 - strh r0, [r4, 0x2E] -_0815F396: - movs r0, 0 - b _0815F3DA -_0815F39A: - ldrh r0, [r4, 0x22] - adds r0, 0x4 - strh r0, [r4, 0x22] - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7 - ble _0815F3D8 - movs r0, 0 - strh r0, [r4, 0x32] - adds r0, r4, 0 - movs r1, 0x3 -_0815F3B6: - bl StartSpriteAffineAnim -_0815F3BA: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - b _0815F3D6 -_0815F3C0: - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0815F3D8 - ldrh r0, [r4, 0x36] - adds r0, 0x1 - strh r0, [r4, 0x36] - movs r0, 0x1 -_0815F3D6: - strh r0, [r4, 0x2E] -_0815F3D8: - movs r0, 0x1 -_0815F3DA: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_815F2AC - - thumb_func_start sub_815F3E0 -sub_815F3E0: @ 815F3E0 - push {r4-r6,lr} - mov r6, r8 - push {r6} - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - ldr r0, _0815F438 @ =gSprites - mov r8, r0 - lsls r4, r1, 4 - adds r4, r1 - lsls r4, 2 - adds r5, r4, r0 - ldr r0, _0815F43C @ =0x0000ffd8 - strh r0, [r5, 0x26] - lsls r3, r2, 4 - adds r3, r2 - lsls r3, 2 - mov r1, r8 - adds r2, r3, r1 - strh r0, [r2, 0x26] - adds r5, 0x3E - ldrb r6, [r5] - movs r1, 0x5 - negs r1, r1 - adds r0, r1, 0 - ands r0, r6 - strb r0, [r5] - adds r2, 0x3E - ldrb r0, [r2] - ands r1, r0 - strb r1, [r2] - movs r0, 0x1C - add r8, r0 - add r4, r8 - ldr r0, _0815F440 @ =sub_815F470 - str r0, [r4] - add r3, r8 - str r0, [r3] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0815F438: .4byte gSprites -_0815F43C: .4byte 0x0000ffd8 -_0815F440: .4byte sub_815F470 - thumb_func_end sub_815F3E0 - - thumb_func_start sub_815F444 -sub_815F444: @ 815F444 - push {lr} - lsls r0, 24 - lsrs r0, 24 - movs r3, 0 - ldr r2, _0815F468 @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r2, 0x1C - adds r1, r2 - ldr r1, [r1] - ldr r0, _0815F46C @ =sub_815F470 - cmp r1, r0 - bne _0815F462 - movs r3, 0x1 -_0815F462: - adds r0, r3, 0 - pop {r1} - bx r1 - .align 2, 0 -_0815F468: .4byte gSprites -_0815F46C: .4byte sub_815F470 - thumb_func_end sub_815F444 - - thumb_func_start sub_815F470 -sub_815F470: @ 815F470 - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r5, 0 - adds r4, 0x2E - movs r1, 0x2E - ldrsh r0, [r5, r1] - cmp r0, 0x4 - bhi _0815F55A - lsls r0, 2 - ldr r1, _0815F48C @ =_0815F490 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0815F48C: .4byte _0815F490 - .align 2, 0 -_0815F490: - .4byte _0815F4A4 - .4byte _0815F4B4 - .4byte _0815F4DC - .4byte _0815F510 - .4byte _0815F548 -_0815F4A4: - movs r0, 0x40 - strh r0, [r4, 0x8] - ldrh r0, [r5, 0x26] - lsls r0, 4 - strh r0, [r4, 0xA] - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] -_0815F4B4: - ldrh r1, [r4, 0x8] - ldrh r2, [r4, 0xA] - adds r0, r1, r2 - strh r0, [r4, 0xA] - adds r1, 0x1 - strh r1, [r4, 0x8] - lsls r0, 16 - asrs r0, 20 - strh r0, [r5, 0x26] - cmp r0, 0 - blt _0815F55A - movs r0, 0x32 - bl PlaySE - movs r0, 0 - strh r0, [r5, 0x26] - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _0815F55A -_0815F4DC: - ldrh r0, [r4, 0x2] - adds r0, 0xC - strh r0, [r4, 0x2] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7F - ble _0815F4FA - movs r0, 0x32 - bl PlaySE - movs r0, 0 - strh r0, [r4, 0x2] - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] -_0815F4FA: - ldr r0, _0815F50C @ =gSineTable - movs r2, 0x2 - ldrsh r1, [r4, r2] - lsls r1, 1 - adds r1, r0 - movs r2, 0 - ldrsh r0, [r1, r2] - asrs r0, 4 - b _0815F53E - .align 2, 0 -_0815F50C: .4byte gSineTable -_0815F510: - ldrh r0, [r4, 0x2] - adds r0, 0x10 - strh r0, [r4, 0x2] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7F - ble _0815F52E - movs r0, 0x32 - bl PlaySE - movs r0, 0 - strh r0, [r4, 0x2] - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] -_0815F52E: - ldr r1, _0815F544 @ =gSineTable - movs r2, 0x2 - ldrsh r0, [r4, r2] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - lsls r0, 16 - asrs r0, 21 -_0815F53E: - negs r0, r0 - strh r0, [r5, 0x26] - b _0815F55A - .align 2, 0 -_0815F544: .4byte gSineTable -_0815F548: - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x28 - ble _0815F55A - ldr r0, _0815F560 @ =SpriteCallbackDummy - str r0, [r5, 0x1C] -_0815F55A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0815F560: .4byte SpriteCallbackDummy - thumb_func_end sub_815F470 - - thumb_func_start sub_815F564 -sub_815F564: @ 815F564 - push {r4,lr} - sub sp, 0x10 - lsls r1, 16 - lsrs r1, 16 - ldr r2, _0815F5AC @ =gUnknown_847A79C - ldr r3, [r2, 0x4] - ldr r2, [r2] - str r2, [sp] - str r3, [sp, 0x4] - ldr r2, _0815F5B0 @ =gUnknown_847A7A4 - ldr r3, [r2, 0x4] - ldr r2, [r2] - str r2, [sp, 0x8] - str r3, [sp, 0xC] - lsls r0, 16 - ldr r3, _0815F5B4 @ =0x0000ffff - ldr r2, [sp, 0x4] - ands r2, r3 - orrs r2, r0 - str r2, [sp, 0x4] - ldr r2, _0815F5B8 @ =0xffff0000 - add r4, sp, 0x8 - ldr r0, [r4, 0x4] - ands r0, r2 - orrs r0, r1 - str r0, [r4, 0x4] - mov r0, sp - bl LoadCompressedObjectPic - adds r0, r4, 0 - bl LoadSpritePalette - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0815F5AC: .4byte gUnknown_847A79C -_0815F5B0: .4byte gUnknown_847A7A4 -_0815F5B4: .4byte 0x0000ffff -_0815F5B8: .4byte 0xffff0000 - thumb_func_end sub_815F564 - - thumb_func_start sub_815F5BC -sub_815F5BC: @ 815F5BC - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x18 - mov r12, r3 - ldr r3, [sp, 0x30] - lsls r1, 16 - lsrs r1, 16 - lsls r3, 24 - lsrs r3, 24 - mov r8, r3 - mov r5, sp - ldr r4, _0815F60C @ =gUnknown_847A860 - ldm r4!, {r3,r6,r7} - stm r5!, {r3,r6,r7} - ldm r4!, {r3,r6,r7} - stm r5!, {r3,r6,r7} - mov r4, sp - strh r0, [r4] - mov r0, sp - strh r1, [r0, 0x2] - lsls r2, 16 - asrs r2, 16 - mov r0, r12 - lsls r6, r0, 16 - asrs r6, 16 - mov r0, sp - adds r1, r2, 0 - adds r2, r6, 0 - mov r3, r8 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - add sp, 0x18 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0815F60C: .4byte gUnknown_847A860 - thumb_func_end sub_815F5BC - - thumb_func_start sub_815F610 -sub_815F610: @ 815F610 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x18 - mov r12, r3 - ldr r6, [sp, 0x38] - ldr r3, [sp, 0x3C] - mov r9, r3 - ldr r4, [sp, 0x40] - mov r8, r4 - lsls r1, 16 - lsrs r1, 16 - lsls r6, 24 - lsrs r6, 24 - mov r10, r6 - mov r4, sp - ldr r3, _0815F6D4 @ =gUnknown_847A878 - ldm r3!, {r5-r7} - stm r4!, {r5-r7} - ldm r3!, {r5-r7} - stm r4!, {r5-r7} - mov r3, sp - strh r0, [r3] - mov r0, sp - strh r1, [r0, 0x2] - lsls r2, 16 - asrs r4, r2, 16 - ldr r0, _0815F6D8 @ =0xffe00000 - adds r2, r0 - asrs r2, 16 - mov r1, r12 - lsls r5, r1, 16 - asrs r5, 16 - mov r0, sp - adds r1, r2, 0 - adds r2, r5, 0 - mov r3, r10 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - mov r3, r9 - strh r0, [r3] - adds r4, 0x20 - lsls r4, 16 - asrs r4, 16 - mov r0, sp - adds r1, r4, 0 - adds r2, r5, 0 - mov r3, r10 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - mov r4, r8 - strh r0, [r4] - ldr r2, _0815F6DC @ =gSprites - mov r5, r9 - movs r6, 0 - ldrsh r1, [r5, r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r1, [r0] - movs r3, 0x4 - orrs r1, r3 - strb r1, [r0] - movs r7, 0 - ldrsh r1, [r4, r7] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r3 - strb r1, [r0] - movs r0, 0 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x1 - bl StartSpriteAnim - add sp, 0x18 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0815F6D4: .4byte gUnknown_847A878 -_0815F6D8: .4byte 0xffe00000 -_0815F6DC: .4byte gSprites - thumb_func_end sub_815F610 - - .align 2, 0 @ Don't pad with nop. diff --git a/data/data_8471F00.s b/data/data_8471F00.s index b25d7ea57..8877ff4c5 100644 --- a/data/data_8471F00.s +++ b/data/data_8471F00.s @@ -229,86 +229,6 @@ gUnknown_8479748:: .section .rodata.after_trainer_tower - // unk_815F138 - -gUnknown_847A328:: - .incbin "data/graphics/unk_847a348.gbapal" - -gUnknown_847A348:: - .incbin "data/graphics/unk_847a348.4bpp.lz" - -gUnknown_847A79C:: @ 847A79C - obj_tiles gUnknown_847A348, 0xE00, 0 - -gUnknown_847A7A4:: @ 847A7A4 - obj_pal gUnknown_847A328, 0 - -gOamData_847A7AC:: - .4byte 0x80000300, 0x00000000 - -gOamData_847A7B4:: - .4byte 0xc0004000, 0x00000000 - -gUnknown_847A7BC:: - obj_image_anim_frame 0, 1 - obj_image_anim_end - -gUnknown_847A7C4:: - obj_image_anim_frame 16, 1 - obj_image_anim_end - -gUnknown_847A7CC:: - obj_image_anim_frame 32, 1 - obj_image_anim_end - -gUnknown_847A7D4:: - .4byte gUnknown_847A7BC - .4byte gUnknown_847A7C4 - .4byte gUnknown_847A7CC - -gUnknown_847A7E0:: - obj_image_anim_frame 48, 1 - obj_image_anim_end - -gUnknown_847A7E8:: - obj_image_anim_frame 80, 1 - obj_image_anim_end - -gUnknown_847A7F0:: - .4byte gUnknown_847A7E0 - .4byte gUnknown_847A7E8 - -gUnknown_847A7F8:: - obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 - obj_rot_scal_anim_end - -gUnknown_847A808:: - obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 - obj_rot_scal_anim_frame 0x10, -0x10, 0, 8 - obj_rot_scal_anim_end - -gUnknown_847A820:: - obj_rot_scal_anim_frame -0x12, 0x12, 0, 8 - obj_rot_scal_anim_end - -gUnknown_847A830:: - obj_rot_scal_anim_frame 0x6, -0x6, 0, 8 - obj_rot_scal_anim_frame -0x4, 0x4, 0, 8 - obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 - obj_rot_scal_anim_end - -gUnknown_847A850:: - .4byte gUnknown_847A7F8 - .4byte gUnknown_847A808 - .4byte gUnknown_847A820 - .4byte gUnknown_847A830 - -gUnknown_847A860:: @ 847A860 - spr_template 0, 0, gOamData_847A7AC, gUnknown_847A7D4, NULL, gUnknown_847A850, SpriteCallbackDummy - -gUnknown_847A878:: @ 847A878 - spr_template 0, 0, gOamData_847A7B4, gUnknown_847A7F0, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - // berry_fix_program gUnknown_847A890:: @ 847A890 diff --git a/include/sprite.h b/include/sprite.h index fb0f710e8..5fa85ee21 100644 --- a/include/sprite.h +++ b/include/sprite.h @@ -302,5 +302,6 @@ void CopyFromSprites(u8 *dest); u8 SpriteTileAllocBitmapOp(u16 bit, u8 op); void ClearSpriteCopyRequests(void); void ResetAffineAnimData(void); +void sub_8007FFC(struct Sprite* sprite, s16 a2, s16 a3); #endif //GUARD_SPRITE_H diff --git a/ld_script.txt b/ld_script.txt index 1ae51f0c1..4659879bc 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -284,7 +284,7 @@ SECTIONS { src/cereader_tool.o(.text); src/trainer_tower.o(.text); src/unk_815EDDC.o(.text); - asm/unk_815F138.o(.text); + src/unk_815F138.o(.text); asm/berry_fix_program.o(.text); } =0 @@ -457,6 +457,7 @@ SECTIONS { src/ss_anne.o(.rodata); src/cereader_tool.o(.rodata); src/trainer_tower.o(.rodata); + src/unk_815F138.o(.rodata); data/data_8471F00.o(.rodata.after_trainer_tower); src/mystery_event_msg.o(.rodata); data/mystery_event_msg.o(.rodata); diff --git a/src/unk_815F138.c b/src/unk_815F138.c new file mode 100644 index 000000000..8941f1559 --- /dev/null +++ b/src/unk_815F138.c @@ -0,0 +1,322 @@ +#include "global.h" +#include "decompress.h" +#include "sound.h" +#include "task.h" +#include "trig.h" +#include "constants/songs.h" + +void sub_815F1AC(u8 taskId); +bool32 sub_815F2AC(u8 spriteId); +void sub_815F3E0(u8 spriteId1, u8 spriteId2, u8 spriteId3); +bool32 sub_815F444(u8 spriteId); +void sub_815F470(struct Sprite * sprite); +void sub_815F564(u16 tilesTag, u16 palTag); +u8 sub_815F5BC(u16 tilesTag, u16 palTag, s16 x, s16 y, u8 subpriority); +void sub_815F610(u16 tilesTag, u16 palTag, s16 x, s16 y, u8 subpriority, s16 * spriteId2_p, s16 * spriteId3_p); + +void sub_815F138(u16 tilesTag, u16 palTag, s16 x, s16 y, u8 subpriority) +{ + u8 taskId = CreateTask(sub_815F1AC, 80); + gTasks[taskId].data[2] = tilesTag; + gTasks[taskId].data[3] = palTag; + gTasks[taskId].data[4] = x; + gTasks[taskId].data[5] = y; + gTasks[taskId].data[6] = subpriority; +} + +bool8 sub_815F198(void) +{ + return FuncIsActiveTask(sub_815F1AC); +} + +void sub_815F1AC(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + switch (data[0]) + { + case 0: + sub_815F564(data[2], data[3]); + data[7] = sub_815F5BC(data[2], data[3], data[4], data[5], data[6]); + sub_815F610(data[2], data[3], data[4], data[5], data[6], &data[8], &data[9]); + data[0]++; + break; + case 1: + if (!sub_815F2AC(data[7])) + { + sub_815F3E0(data[7], data[8], data[9]); + FreeSpriteOamMatrix(&gSprites[data[7]]); + DestroySprite(&gSprites[data[7]]); + data[0]++; + } + break; + case 2: + if (!sub_815F444(data[8])) + { + DestroySprite(&gSprites[data[8]]); + DestroySprite(&gSprites[data[9]]); + FreeSpriteTilesByTag(data[2]); + FreeSpritePaletteByTag(data[3]); + DestroyTask(taskId); + } + break; + } +} + +bool32 sub_815F2AC(u8 spriteId) +{ + struct Sprite * sprite = &gSprites[spriteId]; + + switch (sprite->data[0]) + { + case 0: + sub_8007FFC(sprite, 0x800, 0x1A); + sprite->data[0]++; + // fallthrough + case 1: + if (sprite->data[2] == 0) + PlaySE(SE_TRACK_STOP); + if (++sprite->data[2] >= 20) + { + sprite->data[2] = 0; + StartSpriteAffineAnim(sprite, 1); + sprite->data[0]++; + } + break; + case 2: + if (sprite->affineAnimEnded) + sprite->data[0]++; + break; + case 3: + if (++sprite->data[2] >= 4) + { + sprite->data[2] = 0; + sprite->data[0]++; + StartSpriteAffineAnim(sprite, 2); + } + break; + case 4: + sprite->pos1.y -= 4; + if (++sprite->data[2] >= 8) + { + if (sprite->data[4] < 2) + { + StartSpriteAnim(sprite, sprite->data[4] + 1); + sprite->data[2] = 0; + sprite->data[0]++; + } + else + { + sprite->data[0] = 7; + return FALSE; + } + } + break; + case 5: + sprite->pos1.y += 4; + if (++sprite->data[2] >= 8) + { + sprite->data[2] = 0; + StartSpriteAffineAnim(sprite, 3); + sprite->data[0]++; + } + break; + case 6: + if (sprite->affineAnimEnded) + { + sprite->data[4]++; + sprite->data[0] = 1; + } + break; + case 7: + return FALSE; + } + return TRUE; +} + +void sub_815F3E0(u8 spriteId1, u8 spriteId2, u8 spriteId3) +{ + gSprites[spriteId2].pos2.y = -40; + gSprites[spriteId3].pos2.y = -40; + gSprites[spriteId2].invisible = FALSE; + gSprites[spriteId3].invisible = FALSE; + gSprites[spriteId2].callback = sub_815F470; + gSprites[spriteId3].callback = sub_815F470; +} + +bool32 sub_815F444(u8 spriteId) +{ + return gSprites[spriteId].callback == sub_815F470; +} + +void sub_815F470(struct Sprite * sprite) +{ + s16 * data = sprite->data; + s32 y; + + switch (sprite->data[0]) + { + case 0: + data[4] = 64; + data[5] = sprite->pos2.y << 4; + data[0]++; + //fallthrough + case 1: + data[5] += data[4]; + data[4]++; + sprite->pos2.y = data[5] >> 4; + if (sprite->pos2.y >= 0) + { + PlaySE(SE_TRACK_STOP); + sprite->pos2.y = 0; + data[0]++; + } + break; + case 2: + data[1] += 12; + if (data[1] >= 128) + { + PlaySE(SE_TRACK_STOP); + data[1] = 0; + data[0]++; + } + y = gSineTable[data[1]]; + sprite->pos2.y = -(y >> 4); + break; + case 3: + data[1] += 16; + if (data[1] >= 128) + { + PlaySE(SE_TRACK_STOP); + data[1] = 0; + data[0]++; + } + sprite->pos2.y = -(gSineTable[data[1]] >> 5); + break; + case 4: + if (++data[1] > 40) + sprite->callback = SpriteCallbackDummy; + break; + } +} + +const u16 gUnknown_847A328[] = INCBIN_U16("data/graphics/unk_847a348.gbapal"); +const u16 gUnknown_847A348[] = INCBIN_U16("data/graphics/unk_847a348.4bpp.lz"); + +void sub_815F564(u16 tilesTag, u16 palTag) +{ + struct CompressedSpriteSheet spriteSheet = {(const void *)gUnknown_847A348, 0xE00}; + struct SpritePalette spritePalette = {gUnknown_847A328}; + spriteSheet.tag = tilesTag; + spritePalette.tag = palTag; + LoadCompressedObjectPic(&spriteSheet); + LoadSpritePalette(&spritePalette); +} + +const struct OamData gOamData_847A7AC = { + .affineMode = ST_OAM_AFFINE_DOUBLE, + .shape = ST_OAM_SQUARE, + .size = 2 +}; + +const struct OamData gOamData_847A7B4 = { + .affineMode = ST_OAM_AFFINE_OFF, + .shape = ST_OAM_H_RECTANGLE, + .size = 3 +}; + +const union AnimCmd gUnknown_847A7BC[] = { + ANIMCMD_FRAME( 0, 1), + ANIMCMD_END +}; + +const union AnimCmd gUnknown_847A7C4[] = { + ANIMCMD_FRAME(16, 1), + ANIMCMD_END +}; + +const union AnimCmd gUnknown_847A7CC[] = { + ANIMCMD_FRAME(32, 1), + ANIMCMD_END +}; + +const union AnimCmd *const gUnknown_847A7D4[] = { + gUnknown_847A7BC, + gUnknown_847A7C4, + gUnknown_847A7CC +}; + +const union AnimCmd gUnknown_847A7E0[] = { + ANIMCMD_FRAME(48, 1), + ANIMCMD_END +}; + +const union AnimCmd gUnknown_847A7E8[] = { + ANIMCMD_FRAME(80, 1), + ANIMCMD_END +}; + +const union AnimCmd *const gUnknown_847A7F0[] = { + gUnknown_847A7E0, + gUnknown_847A7E8 +}; + +const union AffineAnimCmd gUnknown_847A7F8[] = { + AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), + AFFINEANIMCMD_END +}; + +const union AffineAnimCmd gUnknown_847A808[] = { + AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), + AFFINEANIMCMD_FRAME( 0x10, -0x10, 0, 8), + AFFINEANIMCMD_END +}; + +const union AffineAnimCmd gUnknown_847A820[] = { + AFFINEANIMCMD_FRAME(-0x12, 0x12, 0, 8), + AFFINEANIMCMD_END +}; + +const union AffineAnimCmd gUnknown_847A830[] = { + AFFINEANIMCMD_FRAME( 0x6, -0x6, 0, 8), + AFFINEANIMCMD_FRAME( -0x4, 0x4, 0, 8), + AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), + AFFINEANIMCMD_END +}; + +const union AffineAnimCmd *const gUnknown_847A850[] = { + gUnknown_847A7F8, + gUnknown_847A808, + gUnknown_847A820, + gUnknown_847A830 +}; + +u8 sub_815F5BC(u16 tilesTag, u16 palTag, s16 x, s16 y, u8 subpriority) +{ + struct SpriteTemplate spriteTemplate = { + .oam = &gOamData_847A7AC, + .anims = gUnknown_847A7D4, + .affineAnims = gUnknown_847A850, + .callback = SpriteCallbackDummy + }; + spriteTemplate.tileTag = tilesTag; + spriteTemplate.paletteTag = palTag; + return CreateSprite(&spriteTemplate, x, y, subpriority); +} + +void sub_815F610(u16 tilesTag, u16 palTag, s16 x, s16 y, u8 subpriority, s16 * spriteId2_p, s16 * spriteId3_p) +{ + struct SpriteTemplate spriteTemplate = { + .oam = &gOamData_847A7B4, + .anims = gUnknown_847A7F0, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy + }; + spriteTemplate.tileTag = tilesTag; + spriteTemplate.paletteTag = palTag; + *spriteId2_p = CreateSprite(&spriteTemplate, x - 32, y, subpriority); + *spriteId3_p = CreateSprite(&spriteTemplate, x + 32, y, subpriority); + gSprites[*spriteId2_p].invisible = TRUE; + gSprites[*spriteId3_p].invisible = TRUE; + StartSpriteAnim(&gSprites[*spriteId3_p], 1); +} -- cgit v1.2.3 From e28c7676126d31efa690f686152be19d5b62f743 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 15 Jun 2019 16:24:47 -0400 Subject: berry_fix_program --- asm/berry_fix_program.s | 344 -------------------------------------- asm/title_screen.s | 4 +- common_syms/berry_fix_program.txt | 4 + data/data_83FECCC.s | 5 +- data/data_8471F00.s | 71 +++++++- data/graphics.s | 36 ++-- include/graphics.h | 21 +++ ld_script.txt | 3 +- src/berry_fix_program.c | 191 +++++++++++++++++++++ sym_common.txt | 15 +- 10 files changed, 307 insertions(+), 387 deletions(-) delete mode 100644 asm/berry_fix_program.s create mode 100644 common_syms/berry_fix_program.txt create mode 100644 src/berry_fix_program.c diff --git a/asm/berry_fix_program.s b/asm/berry_fix_program.s deleted file mode 100644 index e24fa6c3c..000000000 --- a/asm/berry_fix_program.s +++ /dev/null @@ -1,344 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_815F6E0 -sub_815F6E0: @ 815F6E0 - push {r4-r6,lr} - movs r6, 0x80 - lsls r6, 19 - movs r2, 0 - strh r2, [r6] - ldr r1, _0815F73C @ =0x04000010 - strh r2, [r1] - adds r1, 0x2 - strh r2, [r1] - adds r1, 0x3E - strh r2, [r1] - ldr r5, _0815F740 @ =gUnknown_847A890 - lsls r4, r0, 1 - adds r4, r0 - lsls r4, 2 - adds r0, r4, r5 - ldr r0, [r0] - movs r1, 0xC0 - lsls r1, 19 - bl LZ77UnCompVram - adds r0, r5, 0x4 - adds r0, r4, r0 - ldr r0, [r0] - ldr r1, _0815F744 @ =0x0600f800 - bl LZ77UnCompVram - adds r5, 0x8 - adds r4, r5 - ldr r0, [r4] - movs r1, 0xA0 - lsls r1, 19 - movs r4, 0x80 - lsls r4, 1 - adds r2, r4, 0 - bl CpuSet - ldr r1, _0815F748 @ =0x04000008 - movs r2, 0xF8 - lsls r2, 5 - adds r0, r2, 0 - strh r0, [r1] - strh r4, [r6] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0815F73C: .4byte 0x04000010 -_0815F740: .4byte gUnknown_847A890 -_0815F744: .4byte 0x0600f800 -_0815F748: .4byte 0x04000008 - thumb_func_end sub_815F6E0 - - thumb_func_start sub_815F74C -sub_815F74C: @ 815F74C - push {r4,lr} - sub sp, 0x4 - ldr r0, _0815F7C4 @ =0x0000ffff - bl DisableInterrupts - movs r0, 0x1 - bl EnableInterrupts - bl m4aSoundVSyncOff - movs r0, 0 - bl SetVBlankCallback - movs r4, 0 - str r4, [sp] - ldr r0, _0815F7C8 @ =0x040000d4 - mov r1, sp - str r1, [r0] - movs r1, 0xC0 - lsls r1, 19 - str r1, [r0, 0x4] - ldr r1, _0815F7CC @ =0x85006000 - str r1, [r0, 0x8] - ldr r1, [r0, 0x8] - str r4, [sp] - mov r1, sp - str r1, [r0] - movs r1, 0xA0 - lsls r1, 19 - str r1, [r0, 0x4] - ldr r1, _0815F7D0 @ =0x85000100 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - bl ResetSpriteData - bl ResetTasks - bl ScanlineEffect_Stop - ldr r0, _0815F7D4 @ =gUnknown_3005ECC - strb r4, [r0] - ldr r0, _0815F7D8 @ =sub_815F7F0 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0815F7DC @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0x8] - ldr r0, _0815F7E0 @ =sub_815F7E4 - bl SetMainCallback2 - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0815F7C4: .4byte 0x0000ffff -_0815F7C8: .4byte 0x040000d4 -_0815F7CC: .4byte 0x85006000 -_0815F7D0: .4byte 0x85000100 -_0815F7D4: .4byte gUnknown_3005ECC -_0815F7D8: .4byte sub_815F7F0 -_0815F7DC: .4byte gTasks -_0815F7E0: .4byte sub_815F7E4 - thumb_func_end sub_815F74C - - thumb_func_start sub_815F7E4 -sub_815F7E4: @ 815F7E4 - push {lr} - bl RunTasks - pop {r0} - bx r0 - thumb_func_end sub_815F7E4 - - thumb_func_start sub_815F7F0 -sub_815F7F0: @ 815F7F0 - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, _0815F818 @ =gTasks+0x8 - adds r5, r0, r1 - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0xA - bls _0815F80C - b _0815F9A6 -_0815F80C: - lsls r0, 2 - ldr r1, _0815F81C @ =_0815F820 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0815F818: .4byte gTasks+0x8 -_0815F81C: .4byte _0815F820 - .align 2, 0 -_0815F820: - .4byte _0815F84C - .4byte _0815F856 - .4byte _0815F874 - .4byte _0815F9A6 - .4byte _0815F890 - .4byte _0815F8C8 - .4byte _0815F934 - .4byte _0815F96A - .4byte _0815F96E - .4byte _0815F98C - .4byte _0815F996 -_0815F84C: - movs r0, 0x5 - bl sub_815F6E0 - movs r0, 0x1 - b _0815F9A4 -_0815F856: - ldr r0, _0815F870 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0815F864 - b _0815F9A6 -_0815F864: - movs r0, 0 - bl sub_815F6E0 - movs r0, 0x2 - b _0815F9A4 - .align 2, 0 -_0815F870: .4byte gMain -_0815F874: - ldr r0, _0815F88C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0815F882 - b _0815F9A6 -_0815F882: - movs r0, 0x1 - bl sub_815F6E0 - movs r0, 0x4 - b _0815F9A4 - .align 2, 0 -_0815F88C: .4byte gMain -_0815F890: - ldr r0, _0815F8B4 @ =gUnknown_3005EF0 - ldr r1, _0815F8B8 @ =gMultiBootProgram_BerryGlitchFix_Start - str r1, [r0] - ldr r2, _0815F8BC @ =gUnknown_3005EF8 - ldr r0, _0815F8C0 @ =gMultiBootProgram_BerryGlitchFix_End - subs r0, r1 - str r0, [r2] - ldr r0, _0815F8C4 @ =gUnknown_3005F00 - str r1, [r0, 0x28] - adds r1, r0, 0 - adds r1, 0x4B - movs r4, 0 - strb r4, [r1] - bl MultiBootInit - strh r4, [r5, 0x2] - movs r0, 0x5 - b _0815F9A4 - .align 2, 0 -_0815F8B4: .4byte gUnknown_3005EF0 -_0815F8B8: .4byte gMultiBootProgram_BerryGlitchFix_Start -_0815F8BC: .4byte gUnknown_3005EF8 -_0815F8C0: .4byte gMultiBootProgram_BerryGlitchFix_End -_0815F8C4: .4byte gUnknown_3005F00 -_0815F8C8: - ldr r0, _0815F910 @ =gUnknown_3005F00 - ldrb r6, [r0, 0x18] - adds r4, r0, 0 - cmp r6, 0 - bne _0815F920 - ldr r0, [r4, 0x1C] - ldr r1, _0815F914 @ =0x00020200 - ands r0, r1 - cmp r0, r1 - bne _0815F920 - ldrh r0, [r5, 0x2] - adds r0, 0x1 - strh r0, [r5, 0x2] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xB4 - ble _0815F924 - movs r0, 0x2 - bl sub_815F6E0 - ldr r0, _0815F918 @ =gUnknown_3005EF0 - ldr r1, [r0] - adds r1, 0xC0 - ldr r0, _0815F91C @ =gUnknown_3005EF8 - ldr r2, [r0] - subs r2, 0xC0 - movs r0, 0x1 - str r0, [sp] - adds r0, r4, 0 - movs r3, 0x4 - bl MultiBootStartMaster - strh r6, [r5, 0x2] - movs r0, 0x6 - b _0815F9A4 - .align 2, 0 -_0815F910: .4byte gUnknown_3005F00 -_0815F914: .4byte 0x00020200 -_0815F918: .4byte gUnknown_3005EF0 -_0815F91C: .4byte gUnknown_3005EF8 -_0815F920: - movs r0, 0 - strh r0, [r5, 0x2] -_0815F924: - adds r0, r4, 0 - bl MultiBootMain - ldr r1, _0815F930 @ =gUnknown_3005EF4 - str r0, [r1] - b _0815F9A6 - .align 2, 0 -_0815F930: .4byte gUnknown_3005EF4 -_0815F934: - ldr r4, _0815F954 @ =gUnknown_3005F00 - adds r0, r4, 0 - bl MultiBootMain - ldr r1, _0815F958 @ =gUnknown_3005EF4 - str r0, [r1] - adds r0, r4, 0 - bl MultiBootCheckComplete - cmp r0, 0 - beq _0815F95C - movs r0, 0x3 - bl sub_815F6E0 - movs r0, 0x7 - b _0815F9A4 - .align 2, 0 -_0815F954: .4byte gUnknown_3005F00 -_0815F958: .4byte gUnknown_3005EF4 -_0815F95C: - ldrb r1, [r4, 0x1E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _0815F9A6 - movs r0, 0x9 - b _0815F9A4 -_0815F96A: - movs r0, 0x8 - b _0815F9A4 -_0815F96E: - ldr r0, _0815F988 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0815F9A6 - adds r0, r2, 0 - bl DestroyTask - bl DoSoftReset - b _0815F9A6 - .align 2, 0 -_0815F988: .4byte gMain -_0815F98C: - movs r0, 0x4 - bl sub_815F6E0 - movs r0, 0xA - b _0815F9A4 -_0815F996: - ldr r0, _0815F9B0 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0815F9A6 - movs r0, 0 -_0815F9A4: - strh r0, [r5] -_0815F9A6: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0815F9B0: .4byte gMain - thumb_func_end sub_815F7F0 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/title_screen.s b/asm/title_screen.s index a60bc959c..07a861c86 100644 --- a/asm/title_screen.s +++ b/asm/title_screen.s @@ -1688,13 +1688,13 @@ sub_80796E8: @ 80796E8 cmp r0, 0 bne _080796FE bl m4aMPlayAllStop - ldr r0, _08079704 @ =sub_815F74C + ldr r0, _08079704 @ =mb_berry_fix_serve bl SetMainCallback2 _080796FE: pop {r0} bx r0 .align 2, 0 -_08079704: .4byte sub_815F74C +_08079704: .4byte mb_berry_fix_serve thumb_func_end sub_80796E8 thumb_func_start sub_8079708 diff --git a/common_syms/berry_fix_program.txt b/common_syms/berry_fix_program.txt new file mode 100644 index 000000000..63b3de271 --- /dev/null +++ b/common_syms/berry_fix_program.txt @@ -0,0 +1,4 @@ +gUnknown_3005EF0 +gUnknown_3005EF4 +gUnknown_3005EF8 +gUnknown_3005F00 diff --git a/data/data_83FECCC.s b/data/data_83FECCC.s index 000339fdf..e84c93578 100644 --- a/data/data_83FECCC.s +++ b/data/data_83FECCC.s @@ -2808,7 +2808,10 @@ gUnknown_843F8DB:: @ 843F8DB .incbin "baserom.gba", 0x43F8DB, 0x5 gUnknown_843F8E0:: @ 843F8E0 - .incbin "baserom.gba", 0x43F8E0, 0x10 + .4byte gUnknown_847A8D8 + .4byte gUnknown_847A8FA + .4byte gUnknown_847A913 + .4byte gUnknown_847A934 gUnknown_843F8F0:: @ 843F8F0 .incbin "baserom.gba", 0x43F8F0, 0x20 diff --git a/data/data_8471F00.s b/data/data_8471F00.s index 8877ff4c5..d90870d14 100644 --- a/data/data_8471F00.s +++ b/data/data_8471F00.s @@ -231,19 +231,72 @@ gUnknown_8479748:: // berry_fix_program -gUnknown_847A890:: @ 847A890 - .4byte gUnknown_8EA467C, gUnknown_8EA52B8, gUnknown_8EA463C - .4byte gUnknown_8EA5664, gUnknown_8EA60C8, gUnknown_8EA5604 - .4byte gUnknown_8EA6408, gUnknown_8EA7028, gUnknown_8EA63C8 - .4byte gUnknown_8EA7320, gUnknown_8EA8118, gUnknown_8EA72E0 - .4byte gUnknown_8EA8408, gUnknown_8EA8CC8, gUnknown_8EA83C8 - .4byte gUnknown_8EA8F40, gUnknown_8EA9588, gUnknown_8EA8F00 - - .incbin "baserom.gba", 0x47A8D8, 0x2D4 +gUnknown_847A8D8:: + .string "{CLEAR 11}A{CLEAR 6}B{CLEAR 6}C{CLEAR 26}D{CLEAR 6}E{CLEAR 6}F{CLEAR 26}others$" + +gUnknown_847A8FA:: + .string "{CLEAR 11}G{CLEAR 6}H{CLEAR 6}I{CLEAR 26}J{CLEAR 6}K{CLEAR 6}L$" + +gUnknown_847A913:: + .string "{CLEAR 11}M{CLEAR 6}N{CLEAR 6}O{CLEAR 26}P{CLEAR 6}Q{CLEAR 6}R{CLEAR 6}S{CLEAR 26} $" + +gUnknown_847A934:: + .string "{CLEAR 11}T{CLEAR 6}U{CLEAR 6}V{CLEAR 26}W{CLEAR 6}X{CLEAR 6}Y{CLEAR 6}Z{CLEAR 26} $" + .string "{CLEAR 11}a{CLEAR 6}b{CLEAR 6}c{CLEAR 26}d{CLEAR 6}e{CLEAR 6}f{CLEAR 6} {CLEAR 26}.$" + .string "{CLEAR 11}g{CLEAR 6}h{CLEAR 7}i{CLEAR 27}j{CLEAR 6}k{CLEAR 6}l{CLEAR 7} {CLEAR 26},$" + .string "{CLEAR 11}m{CLEAR 6}n{CLEAR 7}o{CLEAR 26}p{CLEAR 6}q{CLEAR 7}r{CLEAR 6}s{CLEAR 27} $" + .string "{CLEAR 12}t{CLEAR 6}u{CLEAR 6}v{CLEAR 26}w{CLEAR 6}x{CLEAR 6}y{CLEAR 6}z{CLEAR 26} $" + .string "{CLEAR 11}A{CLEAR 6}B{CLEAR 6}C{CLEAR 26}D{CLEAR 6}E{CLEAR 6}F{CLEAR 6} {CLEAR 26}.$" + .string "{CLEAR 11}G{CLEAR 6}H{CLEAR 6}I{CLEAR 26}J{CLEAR 6}K{CLEAR 6}L{CLEAR 6} {CLEAR 26},$" + .string "{CLEAR 11}M{CLEAR 6}N{CLEAR 6}O{CLEAR 26}P{CLEAR 6}Q{CLEAR 6}R{CLEAR 6}S{CLEAR 26} $" + .string "{CLEAR 11}T{CLEAR 6}U{CLEAR 6}V{CLEAR 26}W{CLEAR 6}X{CLEAR 6}Y{CLEAR 6}Z{CLEAR 26} $" + .string "{CLEAR 11}0{CLEAR 16}1{CLEAR 16}2{CLEAR 16}3{CLEAR 16}4{CLEAR 16} $" + .string "{CLEAR 11}5{CLEAR 16}6{CLEAR 16}7{CLEAR 16}8{CLEAR 16}9{CLEAR 16} $" + .string "{CLEAR 11}!{CLEAR 16}?{CLEAR 16}♂{CLEAR 16}♀{CLEAR 16}/{CLEAR 16}-$" + .string "{CLEAR 11}…{CLEAR 16}“{CLEAR 16}”{CLEAR 18}‘{CLEAR 18}'{CLEAR 18} $" + .string "ABCDE$" + .string "FGHIJ$" + .string "KLMNO$" + .string "PQRST$" + .string "UVWXY$" + .string "Z $" + .string "01234$" + .string "56789$" + .string ".,!? $" + .string "-/&… $" + .string "abcde$" + .string "fghij$" + .string "klmno$" + .string "pqrst$" + .string "uvwxy$" + .string "z $" + .string "01234$" + .string "56789$" + .string ".,!? $" + .string "-/&… $" + .string "$" + .string "$" + .string "$" + .string "$" + .string "$" + .string "$" + .string "$" + .string "$" + .string "{EXTRA 245}{EXTRA 246}{EXTRA 247}{EXTRA 248}{EXTRA 254}$" + .string "{EXTRA 249}{EXTRA 250}{EXTRA 252}{EXTRA 251}{EXTRA 253}$" + .string "{EXTRA 236}{EXTRA 237}{EXTRA 238}{EXTRA 235}{EXTRA 234}$" + .string "♂♀{EXTRA 212}{EXTRA 213}{EXTRA 211}$" + .string "{EXTRA 216}{EXTRA 217}{EXTRA 242}{EXTRA 243}{EXTRA 244}$" + .string "{EXTRA 218}{EXTRA 241}{EXTRA 224}{EXTRA 226}{EXTRA 227}$" + .string "{EXTRA 240}{EXTRA 239}{EXTRA 225}{EXTRA 214}{EXTRA 215}$" + .string "{EXTRA 228}{EXTRA 229}{EXTRA 230}{EXTRA 231}{EXTRA 232}$" + .string "{EXTRA 233}{EXTRA 220}{EXTRA 221}{EXTRA 222}{EXTRA 209}$" + .string "{EXTRA 210}{EXTRA 208}ょ: $" // trainer_tower (again?) @ 847ABAC +.align 2 .include "data/trainer_tower/trainers.inc" .align 2 diff --git a/data/graphics.s b/data/graphics.s index 4a40776d9..de5272f5d 100644 --- a/data/graphics.s +++ b/data/graphics.s @@ -16234,58 +16234,58 @@ gTilesetPalettes_8EA1B68:: @ 8EA1B68 gTilesetTiles_8EA1D68:: @ 8EA1D68 .incbin "data/tilesets/primary/82D4A94/tiles.4bpp.lz" -gUnknown_8EA463C:: @ 8EA463C +gBerryFixGameboy_Pal:: @ 8EA463C .incbin "graphics/berry_fix/gba_small.gbapal" -gUnknown_8EA467C:: @ 8EA467C +gBerryFixGameboy_Gfx:: @ 8EA467C .incbin "graphics/berry_fix/gba_small.4bpp.lz" -gUnknown_8EA52B8:: @ 8EA52B8 +gBerryFixGameboy_Tilemap:: @ 8EA52B8 .incbin "graphics/berry_fix/gba_small.bin.lz" -gUnknown_8EA5604:: @ 8EA5604 +gBerryFixGameboyLogo_Pal:: @ 8EA5604 .incbin "graphics/berry_fix/logo.gbapal" -gUnknown_8EA5664:: @ 8EA5664 +gBerryFixGameboyLogo_Gfx:: @ 8EA5664 .incbin "graphics/berry_fix/logo.4bpp.lz" -gUnknown_8EA60C8:: @ 8EA60C8 +gBerryFixGameboyLogo_Tilemap:: @ 8EA60C8 .incbin "graphics/berry_fix/logo.bin.lz" -gUnknown_8EA63C8:: @ 8EA63C8 +gBerryFixGbaTransfer_Pal:: @ 8EA63C8 .incbin "graphics/berry_fix/gba_transfer.gbapal" -gUnknown_8EA6408:: @ 8EA6408 +gBerryFixGbaTransfer_Gfx:: @ 8EA6408 .incbin "graphics/berry_fix/gba_transfer.4bpp.lz" -gUnknown_8EA7028:: @ 8EA7028 +gBerryFixGbaTransfer_Tilemap:: @ 8EA7028 .incbin "graphics/berry_fix/gba_transfer.bin.lz" -gUnknown_8EA72E0:: @ 8EA72E0 +gBerryFixGbaTransferHighlight_Pal:: @ 8EA72E0 .incbin "graphics/berry_fix/gba_transfer_highlight.gbapal" -gUnknown_8EA7320:: @ 8EA7320 +gBerryFixGbaTransferHighlight_Gfx:: @ 8EA7320 .incbin "graphics/berry_fix/gba_transfer_highlight.4bpp.lz" -gUnknown_8EA8118:: @ 8EA8118 +gBerryFixGbaTransferHighlight_Tilemap:: @ 8EA8118 .incbin "graphics/berry_fix/gba_transfer_highlight.bin.lz" -gUnknown_8EA83C8:: @ 8EA83C8 +gBerryFixGbaTransferError_Pal:: @ 8EA83C8 .incbin "graphics/berry_fix/gba_transfer_error.gbapal" -gUnknown_8EA8408:: @ 8EA8408 +gBerryFixGbaTransferError_Gfx:: @ 8EA8408 .incbin "graphics/berry_fix/gba_transfer_error.4bpp.lz" -gUnknown_8EA8CC8:: @ 8EA8CC8 +gBerryFixGbaTransferError_Tilemap:: @ 8EA8CC8 .incbin "graphics/berry_fix/gba_transfer_error.bin.lz" -gUnknown_8EA8F00:: @ 8EA8F00 +gBerryFixWindow_Pal:: @ 8EA8F00 .incbin "graphics/berry_fix/window.gbapal" -gUnknown_8EA8F40:: @ 8EA8F40 +gBerryFixWindow_Gfx:: @ 8EA8F40 .incbin "graphics/berry_fix/window.4bpp.lz" -gUnknown_8EA9588:: @ 8EA9588 +gBerryFixWindow_Tilemap:: @ 8EA9588 .incbin "graphics/berry_fix/window.bin.lz" .align 2 diff --git a/include/graphics.h b/include/graphics.h index f48f7f8ca..98f9750d4 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -175,4 +175,25 @@ extern const u8 gUnknown_8E86BE8[]; extern const u8 gUnknown_8E86D6C[]; extern const u8 gUnknown_8E86F98[]; +// berry_fix_program + +extern const u8 gBerryFixGameboy_Gfx[]; +extern const u8 gBerryFixGameboy_Tilemap[]; +extern const u8 gBerryFixGameboy_Pal[]; +extern const u8 gBerryFixGameboyLogo_Gfx[]; +extern const u8 gBerryFixGameboyLogo_Tilemap[]; +extern const u8 gBerryFixGameboyLogo_Pal[]; +extern const u8 gBerryFixGbaTransfer_Gfx[]; +extern const u8 gBerryFixGbaTransfer_Tilemap[]; +extern const u8 gBerryFixGbaTransfer_Pal[]; +extern const u8 gBerryFixGbaTransferHighlight_Gfx[]; +extern const u8 gBerryFixGbaTransferHighlight_Tilemap[]; +extern const u8 gBerryFixGbaTransferHighlight_Pal[]; +extern const u8 gBerryFixGbaTransferError_Gfx[]; +extern const u8 gBerryFixGbaTransferError_Tilemap[]; +extern const u8 gBerryFixGbaTransferError_Pal[]; +extern const u8 gBerryFixWindow_Gfx[]; +extern const u8 gBerryFixWindow_Tilemap[]; +extern const u8 gBerryFixWindow_Pal[]; + #endif //GUARD_GRAPHICS_H diff --git a/ld_script.txt b/ld_script.txt index 4659879bc..f3d24a9ec 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -285,7 +285,7 @@ SECTIONS { src/trainer_tower.o(.text); src/unk_815EDDC.o(.text); src/unk_815F138.o(.text); - asm/berry_fix_program.o(.text); + src/berry_fix_program.o(.text); } =0 script_data : @@ -458,6 +458,7 @@ SECTIONS { src/cereader_tool.o(.rodata); src/trainer_tower.o(.rodata); src/unk_815F138.o(.rodata); + src/berry_fix_program.o(.rodata); data/data_8471F00.o(.rodata.after_trainer_tower); src/mystery_event_msg.o(.rodata); data/mystery_event_msg.o(.rodata); diff --git a/src/berry_fix_program.c b/src/berry_fix_program.c new file mode 100644 index 000000000..f224bbc47 --- /dev/null +++ b/src/berry_fix_program.c @@ -0,0 +1,191 @@ +#include "global.h" +#include "gpu_regs.h" +#include "multiboot.h" +#include "malloc.h" +#include "bg.h" +#include "graphics.h" +#include "main.h" +#include "sprite.h" +#include "task.h" +#include "scanline_effect.h" +#include "window.h" +#include "text.h" +#include "help_system.h" +#include "menu.h" +#include "m4a.h" + +// Static type declarations + +typedef struct { + u8 state; + u8 unk1; + u16 unk2; + struct MultiBootParam mb; +} berryfix_t; + +// Static RAM declarations + +const void * gUnknown_3005EF0; +int gUnknown_3005EF4; +size_t gUnknown_3005EF8; +struct MultiBootParam gUnknown_3005F00; + +// Static ROM declarations + +static void mb_berry_fix_maincb(void); +static void mb_berry_fix_task(u8 taskId); + +// .rodata + +static const void *const gUnknown_847A890[][3] = { + { + gBerryFixGameboy_Gfx, + gBerryFixGameboy_Tilemap, + gBerryFixGameboy_Pal + }, { + gBerryFixGameboyLogo_Gfx, + gBerryFixGameboyLogo_Tilemap, + gBerryFixGameboyLogo_Pal + }, { + gBerryFixGbaTransfer_Gfx, + gBerryFixGbaTransfer_Tilemap, + gBerryFixGbaTransfer_Pal + }, { + gBerryFixGbaTransferHighlight_Gfx, + gBerryFixGbaTransferHighlight_Tilemap, + gBerryFixGbaTransferHighlight_Pal + }, { + gBerryFixGbaTransferError_Gfx, + gBerryFixGbaTransferError_Tilemap, + gBerryFixGbaTransferError_Pal + }, { + gBerryFixWindow_Gfx, + gBerryFixWindow_Tilemap, + gBerryFixWindow_Pal + }, +}; + +extern const u8 gMultiBootProgram_BerryGlitchFix_Start[0x3BF4]; +extern const u8 gMultiBootProgram_BerryGlitchFix_End[]; + +// .text + +static void mb_berry_fix_print(int scene) +{ + REG_DISPCNT = 0; + REG_BG0HOFS = 0; + REG_BG0VOFS = 0; + REG_BLDCNT = 0; + LZ77UnCompVram(gUnknown_847A890[scene][0], (void *)BG_CHAR_ADDR(0)); + LZ77UnCompVram(gUnknown_847A890[scene][1], (void *)BG_SCREEN_ADDR(31)); + CpuCopy16(gUnknown_847A890[scene][2], (void *)BG_PLTT, 0x200); + REG_BG0CNT = BGCNT_PRIORITY(0) | BGCNT_CHARBASE(0) | BGCNT_16COLOR | BGCNT_SCREENBASE(31) | BGCNT_TXT256x256; + REG_DISPCNT = DISPCNT_BG0_ON; +} + +void mb_berry_fix_serve(void) // noreturn +{ + u8 taskId; + DisableInterrupts(0xFFFF); + EnableInterrupts(INTR_FLAG_VBLANK); + m4aSoundVSyncOff(); + SetVBlankCallback(NULL); + DmaFill32(3, 0, (void *)VRAM, VRAM_SIZE); + DmaFill32(3, 0, (void *)PLTT, PLTT_SIZE); + ResetSpriteData(); + ResetTasks(); + ScanlineEffect_Stop(); + gUnknown_3005ECC = 0; + taskId = CreateTask(mb_berry_fix_task, 0); + gTasks[taskId].data[0] = 0; + SetMainCallback2(mb_berry_fix_maincb); +} + +static void mb_berry_fix_maincb(void) +{ + RunTasks(); +} + +static void mb_berry_fix_task(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + switch (data[0]) + { + case 0: + mb_berry_fix_print(5); + data[0] = 1; + break; + case 1: + if (JOY_NEW(A_BUTTON)) + { + mb_berry_fix_print(0); + data[0] = 2; + } + break; + case 2: + if (JOY_NEW(A_BUTTON)) + { + mb_berry_fix_print(1); + data[0] = 4; + } + break; + case 4: + gUnknown_3005EF0 = gMultiBootProgram_BerryGlitchFix_Start; + gUnknown_3005EF8 = gMultiBootProgram_BerryGlitchFix_End - gMultiBootProgram_BerryGlitchFix_Start; + gUnknown_3005F00.masterp = (void *)gMultiBootProgram_BerryGlitchFix_Start; + gUnknown_3005F00.server_type = MULTIBOOT_SERVER_TYPE_NORMAL; + MultiBootInit(&gUnknown_3005F00); + data[1] = 0; + data[0] = 5; + break; + case 5: + if (gUnknown_3005F00.probe_count == 0 && gUnknown_3005F00.response_bit & 0x2 && gUnknown_3005F00.client_bit & 0x2) + { + data[1]++; + if (data[1] > 180) + { + mb_berry_fix_print(2); + MultiBootStartMaster(&gUnknown_3005F00, gUnknown_3005EF0 + MULTIBOOT_HEADER_SIZE, gUnknown_3005EF8 - MULTIBOOT_HEADER_SIZE, 4, 1); + data[1] = 0; + data[0] = 6; + } + else + gUnknown_3005EF4 = MultiBootMain(&gUnknown_3005F00); + } + else + { + data[1] = 0; + gUnknown_3005EF4 = MultiBootMain(&gUnknown_3005F00); + } + break; + case 6: + gUnknown_3005EF4 = MultiBootMain(&gUnknown_3005F00); + if (MultiBootCheckComplete(&gUnknown_3005F00)) + { + mb_berry_fix_print(3); + data[0] = 7; + } + else if (!(gUnknown_3005F00.client_bit & 2)) + data[0] = 9; + break; + case 7: + data[0] = 8; + break; + case 8: + if (JOY_NEW(A_BUTTON)) + { + DestroyTask(taskId); + DoSoftReset(); + } + break; + case 9: + mb_berry_fix_print(4); + data[0] = 10; + break; + case 10: + if (JOY_NEW(A_BUTTON)) + data[0] = 0; + break; + } +} diff --git a/sym_common.txt b/sym_common.txt index eb4f075ba..56eed9a16 100644 --- a/sym_common.txt +++ b/sym_common.txt @@ -329,20 +329,11 @@ gUnknown_3005ECC: @ 3005ECC .align 4 gUnknown_3005EE0: @ 3005EE0 +@ const u8 *gUnknown_3005EE0[4] .space 0x10 -gUnknown_3005EF0: @ 3005EF0 - .space 0x4 - -gUnknown_3005EF4: @ 3005EF4 - .space 0x4 - -gUnknown_3005EF8: @ 3005EF8 - .space 0x8 - -gUnknown_3005F00: @ 3005F00 - .space 0x50 - + .align 4 + .include "berry_fix_program.o" .include "m4a.o" .include "agb_flash.o" -- cgit v1.2.3 From 7e1c966eb36db080c43d9aad2419ee68356656ef Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 15 Jun 2019 21:26:46 -0400 Subject: item_pc: through sub_810D4C0 --- asm/item_pc.s | 356 ++------------------------------------------- include/item_menu_icons.h | 2 + include/menu_helpers.h | 1 + include/pc_screen_effect.h | 6 + ld_script.txt | 1 + src/item_pc.c | 238 ++++++++++++++++++++++++++++++ sym_ewram.txt | 19 +-- 7 files changed, 264 insertions(+), 359 deletions(-) create mode 100644 include/pc_screen_effect.h create mode 100644 src/item_pc.c diff --git a/asm/item_pc.s b/asm/item_pc.s index 93ca91ff9..b8844a406 100644 --- a/asm/item_pc.s +++ b/asm/item_pc.s @@ -5,334 +5,6 @@ .text - thumb_func_start sub_810D3F4 -sub_810D3F4: @ 810D3F4 - push {r4-r6,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - cmp r5, 0x1 - bhi _0810D410 - ldr r6, _0810D418 @ =gUnknown_203ADBC - movs r0, 0x14 - bl Alloc - str r0, [r6] - cmp r0, 0 - bne _0810D41C -_0810D410: - adds r0, r4, 0 - bl SetMainCallback2 - b _0810D462 - .align 2, 0 -_0810D418: .4byte gUnknown_203ADBC -_0810D41C: - cmp r5, 0x1 - beq _0810D42A - ldr r0, _0810D468 @ =gUnknown_203ADCC - str r4, [r0] - movs r1, 0 - strh r1, [r0, 0x6] - strh r1, [r0, 0x4] -_0810D42A: - ldr r1, [r6] - movs r0, 0xFF - strb r0, [r1, 0x4] - ldr r0, [r6] - movs r2, 0 - strb r2, [r0, 0x5] - ldr r1, [r6] - movs r0, 0x1 - negs r0, r0 - strb r0, [r1, 0x8] - ldr r0, [r6] - str r2, [r0] - ldr r5, _0810D46C @ =sub_810D4A0 - adds r4, r6, 0 - movs r3, 0 -_0810D448: - ldr r0, [r4] - lsls r1, r2, 1 - adds r0, 0xC - adds r0, r1 - strh r3, [r0] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x2 - bls _0810D448 - adds r0, r5, 0 - bl SetMainCallback2 -_0810D462: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0810D468: .4byte gUnknown_203ADCC -_0810D46C: .4byte sub_810D4A0 - thumb_func_end sub_810D3F4 - - thumb_func_start sub_810D470 -sub_810D470: @ 810D470 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl do_scheduled_bg_tilemap_copies_to_vram - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_810D470 - - thumb_func_start sub_810D48C -sub_810D48C: @ 810D48C - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_810D48C - - thumb_func_start sub_810D4A0 -sub_810D4A0: @ 810D4A0 - push {lr} -_0810D4A2: - bl sub_810D4C0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0810D4BA - bl sub_80BF708 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0810D4A2 -_0810D4BA: - pop {r0} - bx r0 - thumb_func_end sub_810D4A0 - - thumb_func_start sub_810D4C0 -sub_810D4C0: @ 810D4C0 - push {r4,lr} - sub sp, 0x4 - ldr r0, _0810D4E0 @ =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x14 - bls _0810D4D4 - b _0810D688 -_0810D4D4: - lsls r0, 2 - ldr r1, _0810D4E4 @ =_0810D4E8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0810D4E0: .4byte gMain -_0810D4E4: .4byte _0810D4E8 - .align 2, 0 -_0810D4E8: - .4byte _0810D53C - .4byte _0810D546 - .4byte _0810D54C - .4byte _0810D552 - .4byte _0810D558 - .4byte _0810D55E - .4byte _0810D564 - .4byte _0810D56A - .4byte _0810D584 - .4byte _0810D594 - .4byte _0810D59A - .4byte _0810D5A8 - .4byte _0810D5BA - .4byte _0810D5C0 - .4byte _0810D5C6 - .4byte _0810D5CC - .4byte _0810D608 - .4byte _0810D60E - .4byte _0810D616 - .4byte _0810D630 - .4byte _0810D668 -_0810D53C: - bl VblankHblankHandlerSetZero - bl clear_scheduled_bg_copies_to_vram - b _0810D674 -_0810D546: - bl ScanlineEffect_Stop - b _0810D674 -_0810D54C: - bl FreeAllSpritePalettes - b _0810D674 -_0810D552: - bl ResetPaletteFade - b _0810D674 -_0810D558: - bl ResetSpriteData - b _0810D674 -_0810D55E: - bl sub_80984D8 - b _0810D674 -_0810D564: - bl ResetTasks - b _0810D674 -_0810D56A: - bl sub_810D71C - lsls r0, 24 - cmp r0, 0 - beq _0810D5B2 - ldr r0, _0810D580 @ =gUnknown_203ADBC - ldr r1, [r0] - movs r0, 0 - strh r0, [r1, 0xC] - b _0810D674 - .align 2, 0 -_0810D580: .4byte gUnknown_203ADBC -_0810D584: - bl sub_810D78C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0810D592 - b _0810D6A0 -_0810D592: - b _0810D674 -_0810D594: - bl sub_810E8F0 - b _0810D674 -_0810D59A: - bl sub_810DDA4 - bl sub_810DBF0 - bl sub_810DE08 - b _0810D674 -_0810D5A8: - bl sub_810D83C - lsls r0, 24 - cmp r0, 0 - bne _0810D674 -_0810D5B2: - bl sub_810D6AC - movs r0, 0x1 - b _0810D6A2 -_0810D5BA: - bl sub_810D878 - b _0810D674 -_0810D5C0: - bl sub_810DB34 - b _0810D674 -_0810D5C6: - bl sub_80985E4 - b _0810D674 -_0810D5CC: - ldr r0, _0810D5F8 @ =sub_810DEA0 - movs r1, 0 - bl CreateTask - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _0810D5FC @ =gMultiuseListMenuTemplate - ldr r2, _0810D600 @ =gUnknown_203ADCC - ldrh r1, [r2, 0x4] - ldrh r2, [r2, 0x6] - bl ListMenuInit - ldr r2, _0810D604 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r2 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x8] - b _0810D674 - .align 2, 0 -_0810D5F8: .4byte sub_810DEA0 -_0810D5FC: .4byte gMultiuseListMenuTemplate -_0810D600: .4byte gUnknown_203ADCC -_0810D604: .4byte gTasks -_0810D608: - bl sub_810DB5C - b _0810D674 -_0810D60E: - movs r0, 0x1D - bl HelpSystem_SetSomeVariable2 - b _0810D674 -_0810D616: - ldr r0, _0810D62C @ =gUnknown_203ADCC - ldrb r0, [r0, 0x8] - cmp r0, 0x1 - bne _0810D674 - movs r0, 0x1 - negs r0, r0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - b _0810D674 - .align 2, 0 -_0810D62C: .4byte gUnknown_203ADCC -_0810D630: - ldr r0, _0810D64C @ =gUnknown_203ADCC - ldrb r0, [r0, 0x8] - cmp r0, 0x1 - bne _0810D650 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - b _0810D674 - .align 2, 0 -_0810D64C: .4byte gUnknown_203ADCC -_0810D650: - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl sub_80A0A48 - movs r0, 0x1 - bl sub_810DE94 - movs r0, 0x2 - bl PlaySE - b _0810D674 -_0810D668: - bl sub_80BF72C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0810D6A0 -_0810D674: - ldr r1, _0810D684 @ =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0810D6A0 - .align 2, 0 -_0810D684: .4byte gMain -_0810D688: - ldr r0, _0810D698 @ =sub_810D48C - bl SetVBlankCallback - ldr r0, _0810D69C @ =sub_810D470 - bl SetMainCallback2 - movs r0, 0x1 - b _0810D6A2 - .align 2, 0 -_0810D698: .4byte sub_810D48C -_0810D69C: .4byte sub_810D470 -_0810D6A0: - movs r0, 0 -_0810D6A2: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_810D4C0 - thumb_func_start sub_810D6AC sub_810D6AC: @ 810D6AC push {lr} @@ -935,7 +607,7 @@ sub_810DB5C: @ 810DB5C movs r0, 0x6E str r0, [sp, 0x4] str r0, [sp, 0x8] - ldr r0, _0810DB94 @ =gUnknown_203ADD0 + ldr r0, _0810DB94 @ =gUnknown_203ADCC + 0x4 str r0, [sp, 0xC] movs r0, 0x2 movs r1, 0x80 @@ -950,7 +622,7 @@ sub_810DB5C: @ 810DB5C bx r0 .align 2, 0 _0810DB90: .4byte gUnknown_203ADBC -_0810DB94: .4byte gUnknown_203ADD0 +_0810DB94: .4byte gUnknown_203ADCC + 0x4 thumb_func_end sub_810DB5C thumb_func_start sub_810DB98 @@ -1151,7 +823,7 @@ sub_810DCE4: @ 810DCE4 cmp r0, 0 bne _0810DD4E ldrb r0, [r4] - ldr r4, _0810DD30 @ =gUnknown_203ADD0 + ldr r4, _0810DD30 @ =gUnknown_203ADCC + 0x4 adds r2, r4, 0x2 adds r1, r4, 0 bl DestroyListMenu @@ -1165,7 +837,7 @@ sub_810DCE4: @ 810DCE4 .align 2, 0 _0810DD28: .4byte gTasks+0x8 _0810DD2C: .4byte gPaletteFade -_0810DD30: .4byte gUnknown_203ADD0 +_0810DD30: .4byte gUnknown_203ADCC + 0x4 _0810DD34: .4byte gUnknown_203ADBC _0810DD38: subs r0, r4, 0x4 @@ -1434,7 +1106,7 @@ _0810DF20: bl ListMenuHandleInput adds r4, r0, 0 ldrb r0, [r6] - ldr r1, _0810DF44 @ =gUnknown_203ADD0 + ldr r1, _0810DF44 @ =gUnknown_203ADCC + 0x4 adds r2, r1, 0x2 bl ListMenuGetScrollAndRow movs r0, 0x2 @@ -1446,7 +1118,7 @@ _0810DF20: bne _0810DF6C b _0810DF9E .align 2, 0 -_0810DF44: .4byte gUnknown_203ADD0 +_0810DF44: .4byte gUnknown_203ADCC + 0x4 _0810DF48: movs r0, 0x5 bl PlaySE @@ -1627,7 +1299,7 @@ sub_810E0B4: @ 810E0B4 ldrb r0, [r4] bl ListMenuHandleInput ldrb r0, [r4] - ldr r7, _0810E120 @ =gUnknown_203ADD0 + ldr r7, _0810E120 @ =gUnknown_203ADCC + 0x4 adds r2, r7, 0x2 adds r1, r7, 0 bl ListMenuGetScrollAndRow @@ -1661,7 +1333,7 @@ sub_810E0B4: @ 810E0B4 b _0810E150 .align 2, 0 _0810E11C: .4byte gTasks+0x8 -_0810E120: .4byte gUnknown_203ADD0 +_0810E120: .4byte gUnknown_203ADCC + 0x4 _0810E124: .4byte gMain _0810E128: .4byte gUnknown_203ADBC _0810E12C: @@ -1728,7 +1400,7 @@ _0810E194: adds r2, r4, 0 bl sub_8108D60 ldrb r0, [r6] - ldr r5, _0810E1F4 @ =gUnknown_203ADD0 + ldr r5, _0810E1F4 @ =gUnknown_203ADCC + 0x4 adds r2, r5, 0x2 adds r1, r5, 0 bl DestroyListMenu @@ -1765,7 +1437,7 @@ _0810E1E6: bx r0 .align 2, 0 _0810E1F0: .4byte gSaveBlock1Ptr -_0810E1F4: .4byte gUnknown_203ADD0 +_0810E1F4: .4byte gUnknown_203ADCC + 0x4 _0810E1F8: .4byte gMultiuseListMenuTemplate _0810E1FC: .4byte sub_810DEA0 thumb_func_end sub_810E160 @@ -1785,7 +1457,7 @@ sub_810E200: @ 810E200 mov r8, r0 adds r6, r7, r0 ldrb r0, [r6] - ldr r5, _0810E268 @ =gUnknown_203ADD0 + ldr r5, _0810E268 @ =gUnknown_203ADCC + 0x4 adds r2, r5, 0x2 adds r1, r5, 0 bl DestroyListMenu @@ -1821,7 +1493,7 @@ _0810E234: bx r0 .align 2, 0 _0810E264: .4byte gTasks+0x8 -_0810E268: .4byte gUnknown_203ADD0 +_0810E268: .4byte gUnknown_203ADCC + 0x4 _0810E26C: .4byte gMultiuseListMenuTemplate _0810E270: .4byte sub_810DEA0 thumb_func_end sub_810E200 @@ -2202,7 +1874,7 @@ sub_810E578: @ 810E578 movs r0, 0x1 bl PutWindowTilemap ldrb r0, [r5] - ldr r4, _0810E5D8 @ =gUnknown_203ADD0 + ldr r4, _0810E5D8 @ =gUnknown_203ADCC + 0x4 adds r2, r4, 0x2 adds r1, r4, 0 bl DestroyListMenu @@ -2226,7 +1898,7 @@ sub_810E578: @ 810E578 bx r0 .align 2, 0 _0810E5D4: .4byte gTasks+0x8 -_0810E5D8: .4byte gUnknown_203ADD0 +_0810E5D8: .4byte gUnknown_203ADCC + 0x4 _0810E5DC: .4byte gMultiuseListMenuTemplate thumb_func_end sub_810E578 diff --git a/include/item_menu_icons.h b/include/item_menu_icons.h index 7fcd6d5e1..47a873c36 100644 --- a/include/item_menu_icons.h +++ b/include/item_menu_icons.h @@ -3,6 +3,8 @@ #include "global.h" +void sub_80984D8(void); +void sub_80985E4(void); u8 sub_80D511C(u8 a0, u8 a1, u8 a2, u8 a3); #endif // GUARD_ITEM_MENU_ICONS diff --git a/include/menu_helpers.h b/include/menu_helpers.h index f8b57034a..a42b3c76b 100644 --- a/include/menu_helpers.h +++ b/include/menu_helpers.h @@ -2,6 +2,7 @@ #define GUARD_MENU_HELPERS_H #include "global.h" +#include "task.h" // Exported type declarations diff --git a/include/pc_screen_effect.h b/include/pc_screen_effect.h new file mode 100644 index 000000000..cdd7a96fe --- /dev/null +++ b/include/pc_screen_effect.h @@ -0,0 +1,6 @@ +#ifndef GUARD_PC_SCREEN_EFFECT_H +#define GUARD_PC_SCREEN_EFFECT_H + +void sub_80A0A48(u16, u16, u8); + +#endif //GUARD_PC_SCREEN_EFFECT_H diff --git a/ld_script.txt b/ld_script.txt index f3d24a9ec..341980802 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -231,6 +231,7 @@ SECTIONS { src/bag.o(.text); src/trainer_pokemon_sprites.o(.text); src/vs_seeker.o(.text); + src/item_pc.o(.text); asm/item_pc.o(.text); asm/mailbox_pc.o(.text); asm/menu.o(.text); diff --git a/src/item_pc.c b/src/item_pc.c new file mode 100644 index 000000000..8e4502430 --- /dev/null +++ b/src/item_pc.c @@ -0,0 +1,238 @@ +#include "global.h" +#include "help_system.h" +#include "item_menu_icons.h" +#include "list_menu.h" +#include "main.h" +#include "malloc.h" +#include "menu.h" +#include "menu_helpers.h" +#include "palette.h" +#include "pc_screen_effect.h" +#include "scanline_effect.h" +#include "sound.h" +#include "task.h" +#include "constants/songs.h" + +struct ItemPcResources +{ + u32 field_00; + u8 field_04; + u8 field_05; + u8 filler_06[2]; + u8 field_08; + u8 filler_09[3]; + u16 field_0C[3]; +}; + +struct ItemPcStaticResources +{ + MainCallback field_0; + u16 field_4; + u16 field_6; + u8 field_8; +}; + +EWRAM_DATA struct ItemPcResources * gUnknown_203ADBC = NULL; +EWRAM_DATA u32 gUnknown_203ADC0 = 0; +EWRAM_DATA u32 gUnknown_203ADC4 = 0; +EWRAM_DATA u32 gUnknown_203ADC8 = 0; +EWRAM_DATA struct ItemPcStaticResources gUnknown_203ADCC = {}; + +void sub_810D4A0(void); +bool8 sub_810D4C0(void); +void sub_810D6AC(void); +bool8 sub_810D71C(void); +bool8 sub_810D78C(void); +bool8 sub_810D83C(void); +void sub_810D878(void); +void sub_810E8F0(void); +void sub_810DB34(void); +void sub_810DB5C(void); +void sub_810DBF0(void); +void sub_810DDA4(void); +void sub_810DE08(void); +void sub_810DE94(u8); +void sub_810DEA0(u8 taskId); + +void sub_810D3F4(u8 a0, MainCallback callback) +{ + u8 i; + + if (a0 >= 2) + { + SetMainCallback2(callback); + return; + } + if ((gUnknown_203ADBC = Alloc(sizeof(struct ItemPcResources))) == NULL) + { + SetMainCallback2(callback); + return; + } + if (a0 != 1) + { + gUnknown_203ADCC.field_0 = callback; + gUnknown_203ADCC.field_4 = gUnknown_203ADCC.field_6 = 0; + } + gUnknown_203ADBC->field_04 = 0xFF; + gUnknown_203ADBC->field_05 = 0; + gUnknown_203ADBC->field_08 = 0xFF; + gUnknown_203ADBC->field_00 = 0; + for (i = 0; i < 3; i++) + { + gUnknown_203ADBC->field_0C[i] = 0; + } + SetMainCallback2(sub_810D4A0); +} + +void sub_810D470(void) +{ + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + do_scheduled_bg_tilemap_copies_to_vram(); + UpdatePaletteFade(); +} + +void sub_810D48C(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +void sub_810D4A0(void) +{ + while (1) + { + if (sub_810D4C0() == TRUE) + break; + if (sub_80BF708() == TRUE) + break; + } +} + +bool8 sub_810D4C0(void) +{ + u8 taskId; + switch (gMain.state) + { + case 0: + VblankHblankHandlerSetZero(); + clear_scheduled_bg_copies_to_vram(); + gMain.state++; + break; + case 1: + ScanlineEffect_Stop(); + gMain.state++; + break; + case 2: + FreeAllSpritePalettes(); + gMain.state++; + break; + case 3: + ResetPaletteFade(); + gMain.state++; + break; + case 4: + ResetSpriteData(); + gMain.state++; + break; + case 5: + sub_80984D8(); + gMain.state++; + break; + case 6: + ResetTasks(); + gMain.state++; + break; + case 7: + if (sub_810D71C()) + { + gUnknown_203ADBC->field_0C[0] = 0; + gMain.state++; + } + else + { + sub_810D6AC(); + return TRUE; + } + break; + case 8: + if (sub_810D78C() == TRUE) + gMain.state++; + break; + case 9: + sub_810E8F0(); + gMain.state++; + break; + case 10: + sub_810DDA4(); + sub_810DBF0(); + sub_810DE08(); + gMain.state++; + break; + case 11: + if (sub_810D83C()) + gMain.state++; + else + { + sub_810D6AC(); + return TRUE; + } + break; + case 12: + sub_810D878(); + gMain.state++; + break; + case 13: + sub_810DB34(); + gMain.state++; + break; + case 14: + sub_80985E4(); + gMain.state++; + break; + case 15: + taskId = CreateTask(sub_810DEA0, 0); + gTasks[taskId].data[0] = ListMenuInit(&gMultiuseListMenuTemplate, gUnknown_203ADCC.field_4, gUnknown_203ADCC.field_6); + gMain.state++; + break; + case 16: + sub_810DB5C(); + gMain.state++; + break; + case 17: + HelpSystem_SetSomeVariable2(29); + gMain.state++; + break; + case 18: + if (gUnknown_203ADCC.field_8 == 1) + { + BlendPalettes(0xFFFFFFFF, 16, RGB_BLACK); + } + gMain.state++; + break; + case 19: + if (gUnknown_203ADCC.field_8 == 1) + { + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); + } + else + { + sub_80A0A48(0, 0, 0); + sub_810DE94(1); + PlaySE(SE_PC_LOGON); + } + gMain.state++; + break; + case 20: + if (sub_80BF72C() != TRUE) + gMain.state++; + break; + default: + SetVBlankCallback(sub_810D48C); + SetMainCallback2(sub_810D470); + return TRUE; + } + return FALSE; +} diff --git a/sym_ewram.txt b/sym_ewram.txt index d06fb5c5a..2afd86a0a 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -1318,23 +1318,8 @@ gSpecialVar_ItemId: @ 203AD30 .align 2 .include "src/vs_seeker.o" -gUnknown_203ADBC: @ 203ADBC - .space 0x4 - -gUnknown_203ADC0: @ 203ADC0 - .space 0x4 - -gUnknown_203ADC4: @ 203ADC4 - .space 0x4 - -gUnknown_203ADC8: @ 203ADC8 - .space 0x4 - -gUnknown_203ADCC: @ 203ADCC - .space 0x4 - -gUnknown_203ADD0: @ 203ADD0 - .space 0x8 + .align 2 + .include "src/item_pc.o" gUnknown_203ADD8: @ 203ADD8 .space 0x4 -- cgit v1.2.3 From 4f4b03af6077787ceef226d9085242966c69b6bd Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 16 Jun 2019 12:36:34 -0400 Subject: item_pc: sub_810D878 --- asm/item_pc.s | 330 --------------------------------------- data/data_835B488.s | 4 +- data/data_83FECCC.s | 3 - graphics/item_pc/unk_8E85090.png | Bin 0 -> 746 bytes graphics/item_pc/unk_8E85458.bin | Bin 0 -> 2048 bytes graphics_file_rules.mk | 4 + include/graphics.h | 7 +- include/strings.h | 1 + ld_script.txt | 1 + src/item_pc.c | 156 +++++++++++++++++- 10 files changed, 165 insertions(+), 341 deletions(-) create mode 100644 graphics/item_pc/unk_8E85090.png create mode 100644 graphics/item_pc/unk_8E85458.bin diff --git a/asm/item_pc.s b/asm/item_pc.s index b8844a406..f70f0c7f1 100644 --- a/asm/item_pc.s +++ b/asm/item_pc.s @@ -5,336 +5,6 @@ .text - thumb_func_start sub_810D6AC -sub_810D6AC: @ 810D6AC - push {lr} - sub sp, 0x4 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, _0810D6DC @ =sub_810D6E8 - movs r1, 0 - bl CreateTask - ldr r0, _0810D6E0 @ =sub_810D48C - bl SetVBlankCallback - ldr r0, _0810D6E4 @ =sub_810D470 - bl SetMainCallback2 - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0810D6DC: .4byte sub_810D6E8 -_0810D6E0: .4byte sub_810D48C -_0810D6E4: .4byte sub_810D470 - thumb_func_end sub_810D6AC - - thumb_func_start sub_810D6E8 -sub_810D6E8: @ 810D6E8 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0810D714 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0810D70C - ldr r0, _0810D718 @ =gUnknown_203ADCC - ldr r0, [r0] - bl SetMainCallback2 - bl sub_810DC40 - adds r0, r4, 0 - bl DestroyTask -_0810D70C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810D714: .4byte gPaletteFade -_0810D718: .4byte gUnknown_203ADCC - thumb_func_end sub_810D6E8 - - thumb_func_start sub_810D71C -sub_810D71C: @ 810D71C - push {r4,r5,lr} - bl InitBgReg - ldr r5, _0810D77C @ =gUnknown_203ADC0 - movs r4, 0x80 - lsls r4, 4 - adds r0, r4, 0 - bl Alloc - str r0, [r5] - cmp r0, 0 - beq _0810D784 - movs r1, 0 - adds r2, r4, 0 - bl memset - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, _0810D780 @ =gUnknown_8453F6C - movs r0, 0 - movs r2, 0x2 - bl InitBgsFromTemplates - ldr r1, [r5] - movs r0, 0x1 - bl SetBgTilemapBuffer - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x1 - b _0810D786 - .align 2, 0 -_0810D77C: .4byte gUnknown_203ADC0 -_0810D780: .4byte gUnknown_8453F6C -_0810D784: - movs r0, 0 -_0810D786: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_810D71C - - thumb_func_start sub_810D78C -sub_810D78C: @ 810D78C - push {r4,r5,lr} - sub sp, 0x4 - ldr r5, _0810D7A8 @ =gUnknown_203ADBC - ldr r0, [r5] - movs r1, 0xC - ldrsh r4, [r0, r1] - cmp r4, 0x1 - beq _0810D7D0 - cmp r4, 0x1 - bgt _0810D7AC - cmp r4, 0 - beq _0810D7B6 - b _0810D814 - .align 2, 0 -_0810D7A8: .4byte gUnknown_203ADBC -_0810D7AC: - cmp r4, 0x2 - beq _0810D7F0 - cmp r4, 0x3 - beq _0810D800 - b _0810D814 -_0810D7B6: - bl reset_temp_tile_data_buffers - ldr r1, _0810D7CC @ =gUnknown_8E85090 - str r4, [sp] - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - b _0810D806 - .align 2, 0 -_0810D7CC: .4byte gUnknown_8E85090 -_0810D7D0: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0810D830 - ldr r0, _0810D7E8 @ =gUnknown_8E85458 - ldr r1, _0810D7EC @ =gUnknown_203ADC0 - ldr r1, [r1] - bl LZDecompressWram - b _0810D806 - .align 2, 0 -_0810D7E8: .4byte gUnknown_8E85458 -_0810D7EC: .4byte gUnknown_203ADC0 -_0810D7F0: - ldr r0, _0810D7FC @ =gUnknown_8E85408 - movs r1, 0 - movs r2, 0x60 - bl LoadCompressedPalette - b _0810D806 - .align 2, 0 -_0810D7FC: .4byte gUnknown_8E85408 -_0810D800: - ldr r0, _0810D810 @ =gUnknown_83D4240 - bl LoadCompressedObjectPic -_0810D806: - ldr r1, [r5] - ldrh r0, [r1, 0xC] - adds r0, 0x1 - strh r0, [r1, 0xC] - b _0810D830 - .align 2, 0 -_0810D810: .4byte gUnknown_83D4240 -_0810D814: - ldr r0, _0810D828 @ =gUnknown_83D4248 - bl LoadCompressedObjectPalette - ldr r0, _0810D82C @ =gUnknown_203ADBC - ldr r1, [r0] - movs r0, 0 - strh r0, [r1, 0xC] - movs r0, 0x1 - b _0810D832 - .align 2, 0 -_0810D828: .4byte gUnknown_83D4248 -_0810D82C: .4byte gUnknown_203ADBC -_0810D830: - movs r0, 0 -_0810D832: - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_810D78C - - thumb_func_start sub_810D83C -sub_810D83C: @ 810D83C - push {r4,lr} - ldr r4, _0810D860 @ =gUnknown_203ADC4 - movs r0, 0xF8 - bl Alloc - str r0, [r4] - cmp r0, 0 - beq _0810D868 - ldr r4, _0810D864 @ =gUnknown_203ADC8 - movs r0, 0xD9 - lsls r0, 1 - bl Alloc - str r0, [r4] - cmp r0, 0 - beq _0810D868 - movs r0, 0x1 - b _0810D872 - .align 2, 0 -_0810D860: .4byte gUnknown_203ADC4 -_0810D864: .4byte gUnknown_203ADC8 -_0810D868: - bl sub_810DC40 - bl sub_810D6AC - movs r0, 0 -_0810D872: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_810D83C - - thumb_func_start sub_810D878 -sub_810D878: @ 810D878 - push {r4,r5,lr} - movs r4, 0 - b _0810D8A4 -_0810D87E: - ldr r0, _0810D938 @ =gSaveBlock1Ptr - ldr r0, [r0] - lsls r1, r4, 2 - adds r0, r1 - movs r1, 0xA6 - lsls r1, 2 - adds r0, r1 - ldrh r0, [r0] - bl ItemId_GetItem - ldr r1, _0810D93C @ =gUnknown_203ADC4 - ldr r2, [r1] - lsls r1, r4, 3 - adds r1, r2 - str r0, [r1] - str r4, [r1, 0x4] - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 -_0810D8A4: - ldr r0, _0810D940 @ =gUnknown_203ADBC - ldr r0, [r0] - ldrb r0, [r0, 0x7] - cmp r4, r0 - bcc _0810D87E - ldr r0, _0810D93C @ =gUnknown_203ADC4 - ldr r3, [r0] - lsls r0, r4, 3 - adds r0, r3 - ldr r1, _0810D944 @ =gFameCheckerText_Cancel - str r1, [r0] - movs r1, 0x2 - negs r1, r1 - str r1, [r0, 0x4] - ldr r2, _0810D948 @ =gMultiuseListMenuTemplate - str r3, [r2] - ldr r0, _0810D940 @ =gUnknown_203ADBC - ldr r3, [r0] - ldrb r0, [r3, 0x7] - adds r0, 0x1 - movs r1, 0 - strh r0, [r2, 0xC] - strb r1, [r2, 0x10] - strb r1, [r2, 0x11] - movs r0, 0x9 - strb r0, [r2, 0x12] - movs r1, 0x1 - movs r0, 0x1 - strb r0, [r2, 0x13] - ldrb r0, [r2, 0x16] - movs r4, 0x8 - negs r4, r4 - ands r4, r0 - orrs r4, r1 - movs r0, 0x39 - negs r0, r0 - ands r4, r0 - movs r0, 0x10 - orrs r4, r0 - strb r4, [r2, 0x16] - ldrb r1, [r2, 0x14] - movs r0, 0x10 - negs r0, r0 - ands r0, r1 - movs r5, 0x2 - orrs r0, r5 - strb r0, [r2, 0x14] - ldrb r1, [r3, 0x6] - strh r1, [r2, 0xE] - ldrb r1, [r2, 0x17] - movs r3, 0x40 - negs r3, r3 - ands r3, r1 - orrs r3, r5 - movs r1, 0xF - ands r0, r1 - movs r1, 0x20 - orrs r0, r1 - strb r0, [r2, 0x14] - movs r0, 0x30 - strb r0, [r2, 0x15] - ldr r0, _0810D94C @ =sub_810D954 - str r0, [r2, 0x4] - ldr r0, _0810D950 @ =sub_810DA20 - str r0, [r2, 0x8] - movs r0, 0x3F - ands r4, r0 - strb r4, [r2, 0x16] - ands r3, r0 - strb r3, [r2, 0x17] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810D938: .4byte gSaveBlock1Ptr -_0810D93C: .4byte gUnknown_203ADC4 -_0810D940: .4byte gUnknown_203ADBC -_0810D944: .4byte gFameCheckerText_Cancel -_0810D948: .4byte gMultiuseListMenuTemplate -_0810D94C: .4byte sub_810D954 -_0810D950: .4byte sub_810DA20 - thumb_func_end sub_810D878 - thumb_func_start sub_810D954 sub_810D954: @ 810D954 push {r4,r5,lr} diff --git a/data/data_835B488.s b/data/data_835B488.s index 7970f26c4..0f7851b83 100644 --- a/data/data_835B488.s +++ b/data/data_835B488.s @@ -557,10 +557,10 @@ gUnknown_83D41FC:: @ 83D41FC .incbin "baserom.gba", 0x3D41FC, 0x44 gUnknown_83D4240:: @ 83D4240 - .incbin "baserom.gba", 0x3D4240, 0x8 + obj_tiles gFile_graphics_interface_bag_swap_sheet, 0x0100, 0x0065 gUnknown_83D4248:: @ 83D4248 - .incbin "baserom.gba", 0x3D4248, 0x8 + obj_pal gFile_graphics_interface_bag_swap_palette, 0x0065 gUnknown_83D4250:: @ 83D4250 .incbin "baserom.gba", 0x3D4250, 0x2C diff --git a/data/data_83FECCC.s b/data/data_83FECCC.s index e84c93578..33feb4cee 100644 --- a/data/data_83FECCC.s +++ b/data/data_83FECCC.s @@ -3071,9 +3071,6 @@ gUnknown_8453094:: @ 8453094 .section .rodata.8453F6C // item_pc.o -gUnknown_8453F6C:: @ 8453F6C - .incbin "baserom.gba", 0x453F6C, 0x8 - gUnknown_8453F74:: @ 8453F74 .incbin "baserom.gba", 0x453F74, 0x18 diff --git a/graphics/item_pc/unk_8E85090.png b/graphics/item_pc/unk_8E85090.png new file mode 100644 index 000000000..6c6748683 Binary files /dev/null and b/graphics/item_pc/unk_8E85090.png differ diff --git a/graphics/item_pc/unk_8E85458.bin b/graphics/item_pc/unk_8E85458.bin new file mode 100644 index 000000000..046ef83b4 Binary files /dev/null and b/graphics/item_pc/unk_8E85458.bin differ diff --git a/graphics_file_rules.mk b/graphics_file_rules.mk index 64d9d5c34..dfe15881a 100644 --- a/graphics_file_rules.mk +++ b/graphics_file_rules.mk @@ -21,6 +21,7 @@ MISCGFXDIR := graphics/misc TEXTWINDOWGFXDIR := graphics/text_window TEACHYTVGFXDIR := graphics/teachy_tv SSANNEGFXDIR := graphics/ss_anne +ITEMPCGFXDIR := graphics/item_pc types := normal fight flying poison ground rock bug ghost steel mystery fire water grass electric psychic ice dragon dark contest_types := cool beauty cute smart tough @@ -482,3 +483,6 @@ $(TEACHYTVGFXDIR)/tiles.4bpp: %.4bpp: %.png $(SSANNEGFXDIR)/unk_8479A38.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 17 + +$(ITEMPCGFXDIR)/unk_8E85090.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 82 diff --git a/include/graphics.h b/include/graphics.h index 98f9750d4..96a39ae7c 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -176,7 +176,6 @@ extern const u8 gUnknown_8E86D6C[]; extern const u8 gUnknown_8E86F98[]; // berry_fix_program - extern const u8 gBerryFixGameboy_Gfx[]; extern const u8 gBerryFixGameboy_Tilemap[]; extern const u8 gBerryFixGameboy_Pal[]; @@ -196,4 +195,10 @@ extern const u8 gBerryFixWindow_Gfx[]; extern const u8 gBerryFixWindow_Tilemap[]; extern const u8 gBerryFixWindow_Pal[]; +// item_pc + +extern const u8 gUnknown_8E85090[]; +extern const u8 gUnknown_8E85408[]; +extern const u8 gUnknown_8E85458[]; + #endif //GUARD_GRAPHICS_H diff --git a/include/strings.h b/include/strings.h index 0a8af28d1..e624fe407 100644 --- a/include/strings.h +++ b/include/strings.h @@ -113,6 +113,7 @@ extern const u8 gText_ICanPayThisMuch_WouldThatBeOkay[]; extern const u8 gText_TurnedOverItemsWorthYen[]; extern const u8 gPokeDudeText_TMTypes[]; extern const u8 gPokeDudeText_ReadTMDescription[]; +extern const u8 gFameCheckerText_Cancel[]; // teachy_tv extern const u8 gTeachyTvString_TeachBattle[]; diff --git a/ld_script.txt b/ld_script.txt index 341980802..6360e600f 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -417,6 +417,7 @@ SECTIONS { src/bag.o(.rodata); src/trainer_pokemon_sprites.o(.rodata); src/vs_seeker.o(.rodata); + src/item_pc.o(.rodata); data/data_83FECCC.o(.rodata.8453F6C); src/quest_log.o(.rodata); data/data_83FECCC.o(.rodata.8456C74); diff --git a/src/item_pc.c b/src/item_pc.c index 8e4502430..2b63651e7 100644 --- a/src/item_pc.c +++ b/src/item_pc.c @@ -1,5 +1,10 @@ #include "global.h" +#include "bg.h" +#include "decompress.h" +#include "gpu_regs.h" +#include "graphics.h" #include "help_system.h" +#include "item.h" #include "item_menu_icons.h" #include "list_menu.h" #include "main.h" @@ -10,6 +15,7 @@ #include "pc_screen_effect.h" #include "scanline_effect.h" #include "sound.h" +#include "strings.h" #include "task.h" #include "constants/songs.h" @@ -18,10 +24,11 @@ struct ItemPcResources u32 field_00; u8 field_04; u8 field_05; - u8 filler_06[2]; + u8 field_06; + u8 field_07; u8 field_08; u8 filler_09[3]; - u16 field_0C[3]; + s16 field_0C[3]; }; struct ItemPcStaticResources @@ -33,27 +40,48 @@ struct ItemPcStaticResources }; EWRAM_DATA struct ItemPcResources * gUnknown_203ADBC = NULL; -EWRAM_DATA u32 gUnknown_203ADC0 = 0; -EWRAM_DATA u32 gUnknown_203ADC4 = 0; -EWRAM_DATA u32 gUnknown_203ADC8 = 0; +EWRAM_DATA u8 * gUnknown_203ADC0 = NULL; +EWRAM_DATA struct ListMenuItem * gUnknown_203ADC4 = NULL; +EWRAM_DATA void * gUnknown_203ADC8 = NULL; EWRAM_DATA struct ItemPcStaticResources gUnknown_203ADCC = {}; +extern const struct CompressedSpriteSheet gUnknown_83D4240; +extern const struct CompressedSpritePalette gUnknown_83D4248; + void sub_810D4A0(void); bool8 sub_810D4C0(void); void sub_810D6AC(void); +void sub_810D6E8(u8 taskId); bool8 sub_810D71C(void); bool8 sub_810D78C(void); bool8 sub_810D83C(void); void sub_810D878(void); +void sub_810D954(s32 itemIndex, bool8 onInit, struct ListMenu * list); +void sub_810DA20(u8 windowId, s32 itemId, u8 y); void sub_810E8F0(void); void sub_810DB34(void); void sub_810DB5C(void); void sub_810DBF0(void); +void sub_810DC40(void); void sub_810DDA4(void); void sub_810DE08(void); void sub_810DE94(u8); void sub_810DEA0(u8 taskId); +const struct BgTemplate gUnknown_8453F6C[2] = { + { + .bg = 0, + .charBaseIndex = 0, + .mapBaseIndex = 31, + .priority = 0 + }, { + .bg = 1, + .charBaseIndex = 3, + .mapBaseIndex = 30, + .priority = 1 + } +}; + void sub_810D3F4(u8 a0, MainCallback callback) { u8 i; @@ -236,3 +264,121 @@ bool8 sub_810D4C0(void) } return FALSE; } + +void sub_810D6AC(void) +{ + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + CreateTask(sub_810D6E8, 0); + SetVBlankCallback(sub_810D48C); + SetMainCallback2(sub_810D470); +} + +void sub_810D6E8(u8 taskId) +{ + if (!gPaletteFade.active) + { + SetMainCallback2(gUnknown_203ADCC.field_0); + sub_810DC40(); + DestroyTask(taskId); + } +} + +bool8 sub_810D71C(void) +{ + InitBgReg(); + gUnknown_203ADC0 = Alloc(0x800); + if (gUnknown_203ADC0 == NULL) + return FALSE; + memset(gUnknown_203ADC0, 0, 0x800); + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(0, gUnknown_8453F6C, NELEMS(gUnknown_8453F6C)); + SetBgTilemapBuffer(1, gUnknown_203ADC0); + schedule_bg_copy_tilemap_to_vram(1); + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON); + SetGpuReg(REG_OFFSET_BLDCNT , 0); + ShowBg(0); + ShowBg(1); + return TRUE; +} + +bool8 sub_810D78C(void) +{ + switch (gUnknown_203ADBC->field_0C[0]) + { + case 0: + reset_temp_tile_data_buffers(); + decompress_and_copy_tile_data_to_vram(1, gUnknown_8E85090, 0, 0, 0); + gUnknown_203ADBC->field_0C[0]++; + break; + case 1: + if (free_temp_tile_data_buffers_if_possible() != TRUE) + { + LZDecompressWram(gUnknown_8E85458, gUnknown_203ADC0); + gUnknown_203ADBC->field_0C[0]++; + } + break; + case 2: + LoadCompressedPalette(gUnknown_8E85408, 0x00, 0x60); + gUnknown_203ADBC->field_0C[0]++; + break; + case 3: + LoadCompressedObjectPic(&gUnknown_83D4240); + gUnknown_203ADBC->field_0C[0]++; + break; + default: + LoadCompressedObjectPalette(&gUnknown_83D4248); + gUnknown_203ADBC->field_0C[0] = 0; + return TRUE; + } + return FALSE; +} + +#define sub_810D83C_sub(ptr__, size) ({ \ + void ** ptr = (void **)&(ptr__); \ + *ptr = Alloc(size); \ + if (*ptr == NULL) \ + { \ + sub_810DC40(); \ + sub_810D6AC(); \ + return FALSE; \ + } \ +}) + +bool8 sub_810D83C(void) +{ + sub_810D83C_sub(gUnknown_203ADC4, 0x0F8); + sub_810D83C_sub(gUnknown_203ADC8, 0x1B2); + return TRUE; +} + +void sub_810D878(void) +{ + u16 i; + + for (i = 0; i < gUnknown_203ADBC->field_07; i++) + { + gUnknown_203ADC4[i].label = ItemId_GetItem(gSaveBlock1Ptr->pcItems[i].itemId)->name; + gUnknown_203ADC4[i].index = i; + } + gUnknown_203ADC4[i].label = gFameCheckerText_Cancel; + gUnknown_203ADC4[i].index = -2; + + gMultiuseListMenuTemplate.items = gUnknown_203ADC4; + gMultiuseListMenuTemplate.totalItems = gUnknown_203ADBC->field_07 + 1; + gMultiuseListMenuTemplate.windowId = 0; + gMultiuseListMenuTemplate.header_X = 0; + gMultiuseListMenuTemplate.item_X = 9; + gMultiuseListMenuTemplate.cursor_X = 1; + gMultiuseListMenuTemplate.lettersSpacing = 1; + gMultiuseListMenuTemplate.itemVerticalPadding = 2; + gMultiuseListMenuTemplate.upText_Y = 2; + gMultiuseListMenuTemplate.maxShowed = gUnknown_203ADBC->field_06; + gMultiuseListMenuTemplate.fontId = 2; + gMultiuseListMenuTemplate.cursorPal = 2; + gMultiuseListMenuTemplate.fillValue = 0; + gMultiuseListMenuTemplate.cursorShadowPal = 3; + gMultiuseListMenuTemplate.moveCursorFunc = sub_810D954; + gMultiuseListMenuTemplate.itemPrintFunc = sub_810DA20; + gMultiuseListMenuTemplate.scrollMultiple = 0; + gMultiuseListMenuTemplate.cursorKind = 0; +} -- cgit v1.2.3 From d0633593e8446d6985967d4859c5100067c7d779 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 16 Jun 2019 15:14:57 -0400 Subject: item_pc: through sub_810DBD0 --- asm/item_pc.s | 368 ++-------------------------------------------- include/constants/items.h | 2 + include/item_menu_icons.h | 2 + include/strings.h | 2 + include/text.h | 12 ++ src/item_pc.c | 103 ++++++++++++- 6 files changed, 134 insertions(+), 355 deletions(-) diff --git a/asm/item_pc.s b/asm/item_pc.s index f70f0c7f1..1a76e707d 100644 --- a/asm/item_pc.s +++ b/asm/item_pc.s @@ -5,346 +5,6 @@ .text - thumb_func_start sub_810D954 -sub_810D954: @ 810D954 - push {r4,r5,lr} - sub sp, 0x14 - adds r4, r0, 0 - lsls r1, 24 - lsrs r1, 24 - cmp r1, 0x1 - beq _0810D968 - movs r0, 0x5 - bl PlaySE -_0810D968: - ldr r5, _0810D9BC @ =gUnknown_203ADBC - ldr r1, [r5] - ldrb r0, [r1, 0x4] - cmp r0, 0xFF - bne _0810DA0A - ldrb r1, [r1, 0x5] - movs r0, 0x1 - eors r0, r1 - bl sub_8098940 - movs r0, 0x2 - negs r0, r0 - cmp r4, r0 - beq _0810D9CE - lsls r0, r4, 16 - lsrs r0, 16 - bl sub_810DD68 - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, [r5] - ldrb r1, [r0, 0x5] - adds r0, r4, 0 - bl sub_80988E8 - adds r0, r4, 0 - bl ItemId_GetPocket - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bne _0810D9C4 - adds r0, r4, 0 - bl ItemIdToBattleMoveId - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xD - muls r1, r0 - ldr r0, _0810D9C0 @ =gMoveNames - adds r5, r1, r0 - b _0810D9DA - .align 2, 0 -_0810D9BC: .4byte gUnknown_203ADBC -_0810D9C0: .4byte gMoveNames -_0810D9C4: - adds r0, r4, 0 - bl ItemId_GetDescription - adds r5, r0, 0 - b _0810D9DA -_0810D9CE: - ldr r0, _0810DA14 @ =0x00000177 - ldr r1, [r5] - ldrb r1, [r1, 0x5] - bl sub_80988E8 - ldr r5, _0810DA18 @ =gUnknown_84178BE -_0810D9DA: - ldr r0, _0810DA1C @ =gUnknown_203ADBC - ldr r2, [r0] - ldrb r0, [r2, 0x5] - movs r1, 0x1 - eors r0, r1 - movs r4, 0 - strb r0, [r2, 0x5] - movs r0, 0x1 - movs r1, 0 - bl FillWindowPixelBuffer - movs r1, 0x3 - str r1, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - str r1, [sp, 0x10] - movs r0, 0x1 - movs r1, 0x2 - adds r2, r5, 0 - movs r3, 0 - bl sub_810EA34 -_0810DA0A: - add sp, 0x14 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810DA14: .4byte 0x00000177 -_0810DA18: .4byte gUnknown_84178BE -_0810DA1C: .4byte gUnknown_203ADBC - thumb_func_end sub_810D954 - - thumb_func_start sub_810DA20 -sub_810DA20: @ 810DA20 - push {r4-r6,lr} - sub sp, 0x14 - adds r4, r1, 0 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r2, 24 - lsrs r5, r2, 24 - ldr r0, _0810DA4C @ =gUnknown_203ADBC - ldr r0, [r0] - ldrb r1, [r0, 0x4] - cmp r1, 0xFF - beq _0810DA58 - lsls r0, r4, 24 - lsrs r0, 24 - cmp r1, r0 - bne _0810DA50 - adds r0, r5, 0 - movs r1, 0x2 - bl sub_810DAD4 - b _0810DA58 - .align 2, 0 -_0810DA4C: .4byte gUnknown_203ADBC -_0810DA50: - adds r0, r5, 0 - movs r1, 0xFF - bl sub_810DAD4 -_0810DA58: - movs r0, 0x2 - negs r0, r0 - cmp r4, r0 - beq _0810DA9E - lsls r0, r4, 16 - lsrs r0, 16 - bl sub_810DD80 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - ldr r0, _0810DAA8 @ =gStringVar1 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r4, _0810DAAC @ =gStringVar4 - ldr r1, _0810DAB0 @ =gText_TimesStrVar1 - adds r0, r4, 0 - bl StringExpandPlaceholders - str r5, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r0, 0xFF - str r0, [sp, 0xC] - movs r0, 0x1 - str r0, [sp, 0x10] - adds r0, r6, 0 - movs r1, 0 - adds r2, r4, 0 - movs r3, 0x6E - bl sub_810EA34 -_0810DA9E: - add sp, 0x14 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0810DAA8: .4byte gStringVar1 -_0810DAAC: .4byte gStringVar4 -_0810DAB0: .4byte gText_TimesStrVar1 - thumb_func_end sub_810DA20 - - thumb_func_start sub_810DAB4 -sub_810DAB4: @ 810DAB4 - push {r4,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r4, 24 - lsrs r4, 24 - bl ListMenuGetYCoordForPrintingArrowCursor - lsls r0, 24 - lsrs r0, 24 - adds r1, r4, 0 - bl sub_810DAD4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_810DAB4 - - thumb_func_start sub_810DAD4 -sub_810DAD4: @ 810DAD4 - push {r4,r5,lr} - sub sp, 0x14 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 24 - lsrs r1, 24 - cmp r1, 0xFF - bne _0810DB10 - movs r0, 0x2 - movs r1, 0 - bl GetFontAttribute - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x2 - movs r1, 0x1 - bl GetFontAttribute - lsls r0, 24 - lsrs r0, 24 - str r4, [sp] - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - adds r3, r5, 0 - bl FillWindowPixelRect - b _0810DB26 -_0810DB10: - ldr r2, _0810DB30 @ =gFameCheckerText_ListMenuCursor - str r5, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - str r0, [sp, 0xC] - str r1, [sp, 0x10] - movs r1, 0x2 - movs r3, 0 - bl sub_810EA34 -_0810DB26: - add sp, 0x14 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810DB30: .4byte gFameCheckerText_ListMenuCursor - thumb_func_end sub_810DAD4 - - thumb_func_start sub_810DB34 -sub_810DB34: @ 810DB34 - push {lr} - sub sp, 0x14 - ldr r2, _0810DB58 @ =gUnknown_84178A7 - movs r1, 0x1 - str r1, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r1, [sp, 0x8] - str r0, [sp, 0xC] - str r0, [sp, 0x10] - movs r0, 0x2 - movs r1, 0 - movs r3, 0 - bl sub_810EA34 - add sp, 0x14 - pop {r0} - bx r0 - .align 2, 0 -_0810DB58: .4byte gUnknown_84178A7 - thumb_func_end sub_810DB34 - - thumb_func_start sub_810DB5C -sub_810DB5C: @ 810DB5C - push {r4,lr} - sub sp, 0x10 - ldr r4, _0810DB90 @ =gUnknown_203ADBC - ldr r1, [r4] - ldrb r0, [r1, 0x7] - ldrb r1, [r1, 0x6] - subs r0, r1 - adds r0, 0x1 - str r0, [sp] - movs r0, 0x6E - str r0, [sp, 0x4] - str r0, [sp, 0x8] - ldr r0, _0810DB94 @ =gUnknown_203ADCC + 0x4 - str r0, [sp, 0xC] - movs r0, 0x2 - movs r1, 0x80 - movs r2, 0x8 - movs r3, 0x68 - bl AddScrollIndicatorArrowPairParameterized - ldr r1, [r4] - strb r0, [r1, 0x8] - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810DB90: .4byte gUnknown_203ADBC -_0810DB94: .4byte gUnknown_203ADCC + 0x4 - thumb_func_end sub_810DB5C - - thumb_func_start sub_810DB98 -sub_810DB98: @ 810DB98 - push {r4,lr} - sub sp, 0x10 - ldr r4, _0810DBCC @ =gUnknown_203ADBC - ldr r1, [r4] - movs r0, 0x1 - strh r0, [r1, 0xA] - movs r0, 0x2 - str r0, [sp] - movs r0, 0x6E - str r0, [sp, 0x4] - str r0, [sp, 0x8] - adds r1, 0xA - str r1, [sp, 0xC] - movs r0, 0x2 - movs r1, 0xD4 - movs r2, 0x78 - movs r3, 0x98 - bl AddScrollIndicatorArrowPairParameterized - ldr r1, [r4] - strb r0, [r1, 0x8] - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810DBCC: .4byte gUnknown_203ADBC - thumb_func_end sub_810DB98 - - thumb_func_start sub_810DBD0 -sub_810DBD0: @ 810DBD0 - push {r4,lr} - ldr r4, _0810DBEC @ =gUnknown_203ADBC - ldr r1, [r4] - ldrb r0, [r1, 0x8] - cmp r0, 0xFF - beq _0810DBE6 - bl RemoveScrollIndicatorArrowPair - ldr r1, [r4] - movs r0, 0xFF - strb r0, [r1, 0x8] -_0810DBE6: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810DBEC: .4byte gUnknown_203ADBC - thumb_func_end sub_810DBD0 - thumb_func_start sub_810DBF0 sub_810DBF0: @ 810DBF0 push {r4,r5,lr} @@ -537,8 +197,8 @@ sub_810DD54: @ 810DD54 _0810DD64: .4byte gUnknown_203ADCC thumb_func_end sub_810DD54 - thumb_func_start sub_810DD68 -sub_810DD68: @ 810DD68 + thumb_func_start ItemPc_GetItemIdBySlotId +ItemPc_GetItemIdBySlotId: @ 810DD68 lsls r0, 16 ldr r1, _0810DD7C @ =gSaveBlock1Ptr ldr r1, [r1] @@ -551,10 +211,10 @@ sub_810DD68: @ 810DD68 bx lr .align 2, 0 _0810DD7C: .4byte gSaveBlock1Ptr - thumb_func_end sub_810DD68 + thumb_func_end ItemPc_GetItemIdBySlotId - thumb_func_start sub_810DD80 -sub_810DD80: @ 810DD80 + thumb_func_start ItemPc_GetItemQuantityBySlotId +ItemPc_GetItemQuantityBySlotId: @ 810DD80 push {lr} lsls r0, 16 ldr r1, _0810DD9C @ =gSaveBlock1Ptr @@ -571,7 +231,7 @@ sub_810DD80: @ 810DD80 .align 2, 0 _0810DD9C: .4byte gSaveBlock1Ptr _0810DDA0: .4byte 0x0000029a - thumb_func_end sub_810DD80 + thumb_func_end ItemPc_GetItemQuantityBySlotId thumb_func_start sub_810DDA4 sub_810DDA4: @ 810DDA4 @@ -814,7 +474,7 @@ _0810DF6C: strh r4, [r6, 0x2] lsls r0, r4, 16 lsrs r0, 16 - bl sub_810DD80 + bl ItemPc_GetItemQuantityBySlotId strh r0, [r6, 0x4] ldrb r0, [r6] movs r1, 0x2 @@ -890,7 +550,7 @@ sub_810DFE0: @ 810DFE0 strb r4, [r0, 0x4] ldr r4, _0810E0A4 @ =gStringVar1 ldrh r0, [r6, 0x2] - bl sub_810DD68 + bl ItemPc_GetItemIdBySlotId lsls r0, 16 lsrs r0, 16 bl ItemId_GetItem @@ -1224,7 +884,7 @@ sub_810E274: @ 810E274 movs r3, 0x2 bl ProgramAndPlaceMenuCursorOnWindow ldrh r0, [r6, 0x2] - bl sub_810DD68 + bl ItemPc_GetItemIdBySlotId lsls r0, 16 lsrs r0, 16 ldr r1, _0810E348 @ =gStringVar1 @@ -1328,7 +988,7 @@ sub_810E3A4: @ 810E3A4 movs r0, 0x1 strh r0, [r4, 0x10] ldrh r0, [r4, 0x2] - bl sub_810DD80 + bl ItemPc_GetItemQuantityBySlotId lsls r0, 16 lsrs r0, 16 cmp r0, 0x1 @@ -1373,7 +1033,7 @@ sub_810E418: @ 810E418 ldr r7, _0810E49C @ =gTasks+0x8 adds r5, r6, r7 ldrh r0, [r5, 0x2] - bl sub_810DD68 + bl ItemPc_GetItemIdBySlotId lsls r0, 16 lsrs r4, r0, 16 ldrh r1, [r5, 0x10] @@ -1483,7 +1143,7 @@ _0810E51A: movs r0, 0x5 bl PlaySE ldrh r0, [r5, 0x2] - bl sub_810DD68 + bl ItemPc_GetItemIdBySlotId lsls r0, 16 lsrs r0, 16 ldrh r1, [r5, 0x10] @@ -1578,7 +1238,7 @@ sub_810E5E0: @ 810E5E0 sub sp, 0x14 lsls r0, 16 lsrs r0, 16 - bl sub_810DD68 + bl ItemPc_GetItemIdBySlotId lsls r0, 16 lsrs r0, 16 ldr r6, _0810E660 @ =gStringVar1 @@ -1828,7 +1488,7 @@ sub_810E7F8: @ 810E7F8 bl sub_810DD54 lsls r0, 24 lsrs r0, 24 - bl sub_810DD68 + bl ItemPc_GetItemIdBySlotId ldr r1, _0810E834 @ =gUnknown_203B0A0 strh r0, [r1, 0xC] add sp, 0xC diff --git a/include/constants/items.h b/include/constants/items.h index 64fed0e4c..cc73119e6 100644 --- a/include/constants/items.h +++ b/include/constants/items.h @@ -379,6 +379,8 @@ #define ITEM_RUBY 373 #define ITEM_SAPPHIRE 374 +#define ITEM_N_A 375 + // Emerald #define ITEM_MAGMA_EMBLEM 375 #define ITEM_OLD_SEA_MAP 376 diff --git a/include/item_menu_icons.h b/include/item_menu_icons.h index 47a873c36..c964a0bdc 100644 --- a/include/item_menu_icons.h +++ b/include/item_menu_icons.h @@ -6,5 +6,7 @@ void sub_80984D8(void); void sub_80985E4(void); u8 sub_80D511C(u8 a0, u8 a1, u8 a2, u8 a3); +void sub_8098940(bool8 a0); +void sub_80988E8(u16 itemId, bool8 a0); #endif // GUARD_ITEM_MENU_ICONS diff --git a/include/strings.h b/include/strings.h index e624fe407..3c374270d 100644 --- a/include/strings.h +++ b/include/strings.h @@ -150,5 +150,7 @@ extern const u8 gString_Help[]; extern const u8 gString_HelpSystem_ClearTo8[]; extern const u8 gUnknown_8416655[]; +extern const u8 gUnknown_84178A7[]; +extern const u8 gUnknown_84178BE[]; #endif //GUARD_STRINGS_H diff --git a/include/text.h b/include/text.h index dc53b4845..2e6a8c837 100644 --- a/include/text.h +++ b/include/text.h @@ -91,6 +91,18 @@ #define TEXT_SPEED_FF 0xFF +enum +{ + FONTATTR_MAX_LETTER_WIDTH, + FONTATTR_MAX_LETTER_HEIGHT, + FONTATTR_LETTER_SPACING, + FONTATTR_LINE_SPACING, + FONTATTR_UNKNOWN, // dunno what this is yet + FONTATTR_COLOR_FOREGROUND, + FONTATTR_COLOR_BACKGROUND, + FONTATTR_COLOR_SHADOW +}; + struct TextPrinterSubStruct { u8 font_type:4; // 0x14 diff --git a/src/item_pc.c b/src/item_pc.c index 2b63651e7..c3d3ade9d 100644 --- a/src/item_pc.c +++ b/src/item_pc.c @@ -1,5 +1,6 @@ #include "global.h" #include "bg.h" +#include "data2.h" #include "decompress.h" #include "gpu_regs.h" #include "graphics.h" @@ -11,12 +12,16 @@ #include "malloc.h" #include "menu.h" #include "menu_helpers.h" +#include "menu_indicators.h" #include "palette.h" +#include "party_menu.h" #include "pc_screen_effect.h" #include "scanline_effect.h" #include "sound.h" +#include "string_util.h" #include "strings.h" #include "task.h" +#include "constants/items.h" #include "constants/songs.h" struct ItemPcResources @@ -27,7 +32,7 @@ struct ItemPcResources u8 field_06; u8 field_07; u8 field_08; - u8 filler_09[3]; + u16 field_0A; s16 field_0C[3]; }; @@ -58,15 +63,19 @@ bool8 sub_810D83C(void); void sub_810D878(void); void sub_810D954(s32 itemIndex, bool8 onInit, struct ListMenu * list); void sub_810DA20(u8 windowId, s32 itemId, u8 y); +void sub_810DAD4(u8 y, u8 state); void sub_810E8F0(void); void sub_810DB34(void); void sub_810DB5C(void); void sub_810DBF0(void); void sub_810DC40(void); +u16 ItemPc_GetItemIdBySlotId(u16 itemIndex); +u16 ItemPc_GetItemQuantityBySlotId(u16 itemIndex); void sub_810DDA4(void); void sub_810DE08(void); void sub_810DE94(u8); void sub_810DEA0(u8 taskId); +void sub_810EA34(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, u8 speed, u8 colorIdx); const struct BgTemplate gUnknown_8453F6C[2] = { { @@ -382,3 +391,95 @@ void sub_810D878(void) gMultiuseListMenuTemplate.scrollMultiple = 0; gMultiuseListMenuTemplate.cursorKind = 0; } + +void sub_810D954(s32 itemIndex, bool8 onInit, struct ListMenu * list) +{ + u16 itemId; + const u8 * desc; + if (onInit != TRUE) + PlaySE(SE_SELECT); + + if (gUnknown_203ADBC->field_04 == 0xFF) + { + sub_8098940(gUnknown_203ADBC->field_05 ^ 1); + if (itemIndex != -2) + { + itemId = ItemPc_GetItemIdBySlotId(itemIndex); + sub_80988E8(itemId, gUnknown_203ADBC->field_05); + if (ItemId_GetPocket(itemId) == POCKET_TM_CASE) + desc = gMoveNames[ItemIdToBattleMoveId(itemId)]; + else + desc = ItemId_GetDescription(itemId); + } + else + { + sub_80988E8(ITEM_N_A, gUnknown_203ADBC->field_05); + desc = gUnknown_84178BE; + } + gUnknown_203ADBC->field_05 ^= 1; + FillWindowPixelBuffer(1, 0); + sub_810EA34(1, 2, desc, 0, 3, 2, 0, 0, 3); + } +} + +void sub_810DA20(u8 windowId, s32 itemId, u8 y) +{ + if (gUnknown_203ADBC->field_04 != 0xFF) + { + if (gUnknown_203ADBC->field_04 == (u8)itemId) + sub_810DAD4(y, 2); + else + sub_810DAD4(y, 0xFF); + } + if (itemId != -2) + { + u16 quantity = ItemPc_GetItemQuantityBySlotId(itemId); + ConvertIntToDecimalStringN(gStringVar1, quantity, STR_CONV_MODE_RIGHT_ALIGN, 3); + StringExpandPlaceholders(gStringVar4, gText_TimesStrVar1); + sub_810EA34(windowId, 0, gStringVar4, 110, y, 0, 0, 0xFF, 1); + } +} + +void sub_810DAB4(u8 listMenuId, u8 colorIdx) +{ + sub_810DAD4(ListMenuGetYCoordForPrintingArrowCursor(listMenuId), colorIdx); +} + +void sub_810DAD4(u8 y, u8 colorIdx) +{ + if (colorIdx == 0xFF) + { + u8 maxWidth = GetFontAttribute(2, FONTATTR_MAX_LETTER_WIDTH); + u8 maxHeight = GetFontAttribute(2, FONTATTR_MAX_LETTER_HEIGHT); + FillWindowPixelRect(0, 0, 0, y, maxWidth, maxHeight); + } + else + { + sub_810EA34(0, 2, gFameCheckerText_ListMenuCursor, 0, y, 0, 0, 0, colorIdx); + } +} + +void sub_810DB34(void) +{ + sub_810EA34(2, 0, gUnknown_84178A7, 0, 1, 0, 1, 0, 0); +} + +void sub_810DB5C(void) +{ + gUnknown_203ADBC->field_08 = AddScrollIndicatorArrowPairParameterized(2, 128, 8, 104, gUnknown_203ADBC->field_07 - gUnknown_203ADBC->field_06 + 1, 110, 110, &gUnknown_203ADCC.field_4); +} + +void sub_810DB98(void) +{ + gUnknown_203ADBC->field_0A = 1; + gUnknown_203ADBC->field_08 = AddScrollIndicatorArrowPairParameterized(2, 212, 120, 152, 2, 110, 110, &gUnknown_203ADBC->field_0A); +} + +void sub_810DBD0(void) +{ + if (gUnknown_203ADBC->field_08 != 0xFF) + { + RemoveScrollIndicatorArrowPair(gUnknown_203ADBC->field_08); + gUnknown_203ADBC->field_08 = 0xFF; + } +} -- cgit v1.2.3 From b624de76db01db7e8b2e65f054483bfe1ec4b590 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 16 Jun 2019 16:55:40 -0400 Subject: item_pc: through sub_810DE94 --- Makefile | 14 +- asm/item_pc.s | 368 --------------------------------------------- include/item.h | 3 + include/pc_screen_effect.h | 2 + src/item_pc.c | 121 ++++++++++++++- 5 files changed, 136 insertions(+), 372 deletions(-) diff --git a/Makefile b/Makefile index a59f032bb..a5de0f9da 100644 --- a/Makefile +++ b/Makefile @@ -61,6 +61,16 @@ MAPJSON := tools/mapjson/mapjson $(shell mkdir -p $(C_BUILDDIR) $(ASM_BUILDDIR) $(DATA_ASM_BUILDDIR) $(SONG_BUILDDIR)) +infoshell = $(foreach line, $(shell $1 | sed "s/ /__SPACE__/g"), $(info $(subst __SPACE__, ,$(line)))) + +# Build tools when building the rom +# Disable dependency scanning for clean/tidy/tools +ifeq (,$(filter-out all compare,$(MAKECMDGOALS))) +$(call infoshell, $(MAKE) tools) +else +NODEP := 1 +endif + C_SRCS := $(wildcard $(C_SUBDIR)/*.c) C_OBJS := $(patsubst $(C_SUBDIR)/%.c,$(C_BUILDDIR)/%.o,$(C_SRCS)) @@ -76,9 +86,11 @@ SONG_OBJS := $(patsubst $(SONG_SUBDIR)/%.s,$(SONG_BUILDDIR)/%.o,$(SONG_SRCS)) OBJS := $(C_OBJS) $(ASM_OBJS) $(DATA_ASM_OBJS) $(SONG_OBJS) OBJS_REL := $(patsubst $(OBJ_DIR)/%,%,$(OBJS)) +MAKEFLAGS += --no-print-directory + all: rom -rom: tools $(ROM) +rom: $(ROM) tools: @$(MAKE) -C tools/gbagfx diff --git a/asm/item_pc.s b/asm/item_pc.s index 1a76e707d..8d27851ef 100644 --- a/asm/item_pc.s +++ b/asm/item_pc.s @@ -5,374 +5,6 @@ .text - thumb_func_start sub_810DBF0 -sub_810DBF0: @ 810DBF0 - push {r4,r5,lr} - ldr r0, _0810DC30 @ =gUnknown_203ADCC - ldrh r1, [r0, 0x4] - adds r4, r0, 0 - ldr r5, _0810DC34 @ =gUnknown_203ADBC - cmp r1, 0 - beq _0810DC14 - ldrh r0, [r4, 0x4] - ldr r1, [r5] - ldrb r3, [r1, 0x6] - adds r0, r3 - ldrb r2, [r1, 0x7] - adds r1, r2, 0x1 - cmp r0, r1 - ble _0810DC14 - subs r0, r3, 0x1 - subs r0, r2, r0 - strh r0, [r4, 0x4] -_0810DC14: - adds r3, r4, 0 - ldrh r0, [r3, 0x4] - ldrh r1, [r3, 0x6] - adds r0, r1 - ldr r1, [r5] - ldrb r1, [r1, 0x7] - adds r2, r1, 0x1 - cmp r0, r2 - blt _0810DC3A - cmp r2, 0x1 - bgt _0810DC38 - movs r0, 0 - strh r0, [r3, 0x6] - b _0810DC3A - .align 2, 0 -_0810DC30: .4byte gUnknown_203ADCC -_0810DC34: .4byte gUnknown_203ADBC -_0810DC38: - strh r1, [r4, 0x6] -_0810DC3A: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_810DBF0 - - thumb_func_start sub_810DC40 -sub_810DC40: @ 810DC40 - push {lr} - ldr r0, _0810DC7C @ =gUnknown_203ADBC - ldr r0, [r0] - cmp r0, 0 - beq _0810DC4E - bl Free -_0810DC4E: - ldr r0, _0810DC80 @ =gUnknown_203ADC0 - ldr r0, [r0] - cmp r0, 0 - beq _0810DC5A - bl Free -_0810DC5A: - ldr r0, _0810DC84 @ =gUnknown_203ADC4 - ldr r0, [r0] - cmp r0, 0 - beq _0810DC66 - bl Free -_0810DC66: - ldr r0, _0810DC88 @ =gUnknown_203ADC8 - ldr r0, [r0] - cmp r0, 0 - beq _0810DC72 - bl Free -_0810DC72: - bl FreeAllWindowBuffers - pop {r0} - bx r0 - .align 2, 0 -_0810DC7C: .4byte gUnknown_203ADBC -_0810DC80: .4byte gUnknown_203ADC0 -_0810DC84: .4byte gUnknown_203ADC4 -_0810DC88: .4byte gUnknown_203ADC8 - thumb_func_end sub_810DC40 - - thumb_func_start sub_810DC8C -sub_810DC8C: @ 810DC8C - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0810DCB0 @ =gUnknown_203ADCC - ldrb r0, [r0, 0x8] - cmp r0, 0x1 - bne _0810DCB4 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - b _0810DCC4 - .align 2, 0 -_0810DCB0: .4byte gUnknown_203ADCC -_0810DCB4: - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl sub_80A0A70 - movs r0, 0x3 - bl PlaySE -_0810DCC4: - ldr r0, _0810DCDC @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _0810DCE0 @ =sub_810DCE4 - str r0, [r1] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810DCDC: .4byte gTasks -_0810DCE0: .4byte sub_810DCE4 - thumb_func_end sub_810DC8C - - thumb_func_start sub_810DCE4 -sub_810DCE4: @ 810DCE4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0810DD28 @ =gTasks+0x8 - adds r4, r0, r1 - ldr r0, _0810DD2C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0810DD4E - bl sub_80A0AAC - lsls r0, 24 - cmp r0, 0 - bne _0810DD4E - ldrb r0, [r4] - ldr r4, _0810DD30 @ =gUnknown_203ADCC + 0x4 - adds r2, r4, 0x2 - adds r1, r4, 0 - bl DestroyListMenu - ldr r0, _0810DD34 @ =gUnknown_203ADBC - ldr r0, [r0] - ldr r0, [r0] - cmp r0, 0 - beq _0810DD38 - bl SetMainCallback2 - b _0810DD40 - .align 2, 0 -_0810DD28: .4byte gTasks+0x8 -_0810DD2C: .4byte gPaletteFade -_0810DD30: .4byte gUnknown_203ADCC + 0x4 -_0810DD34: .4byte gUnknown_203ADBC -_0810DD38: - subs r0, r4, 0x4 - ldr r0, [r0] - bl SetMainCallback2 -_0810DD40: - bl sub_810DBD0 - bl sub_810DC40 - adds r0, r5, 0 - bl DestroyTask -_0810DD4E: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_810DCE4 - - thumb_func_start sub_810DD54 -sub_810DD54: @ 810DD54 - ldr r1, _0810DD64 @ =gUnknown_203ADCC - ldrb r0, [r1, 0x6] - ldrb r1, [r1, 0x4] - adds r0, r1 - lsls r0, 24 - lsrs r0, 24 - bx lr - .align 2, 0 -_0810DD64: .4byte gUnknown_203ADCC - thumb_func_end sub_810DD54 - - thumb_func_start ItemPc_GetItemIdBySlotId -ItemPc_GetItemIdBySlotId: @ 810DD68 - lsls r0, 16 - ldr r1, _0810DD7C @ =gSaveBlock1Ptr - ldr r1, [r1] - lsrs r0, 14 - adds r1, r0 - movs r0, 0xA6 - lsls r0, 2 - adds r1, r0 - ldrh r0, [r1] - bx lr - .align 2, 0 -_0810DD7C: .4byte gSaveBlock1Ptr - thumb_func_end ItemPc_GetItemIdBySlotId - - thumb_func_start ItemPc_GetItemQuantityBySlotId -ItemPc_GetItemQuantityBySlotId: @ 810DD80 - push {lr} - lsls r0, 16 - ldr r1, _0810DD9C @ =gSaveBlock1Ptr - lsrs r0, 14 - ldr r1, [r1] - adds r0, r1 - ldr r1, _0810DDA0 @ =0x0000029a - adds r0, r1 - bl GetBagItemId - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - .align 2, 0 -_0810DD9C: .4byte gSaveBlock1Ptr -_0810DDA0: .4byte 0x0000029a - thumb_func_end ItemPc_GetItemQuantityBySlotId - - thumb_func_start sub_810DDA4 -sub_810DDA4: @ 810DDA4 - push {r4,r5,lr} - bl sub_809A4E8 - ldr r4, _0810DE00 @ =gUnknown_203ADBC - ldr r1, [r4] - movs r0, 0 - strb r0, [r1, 0x7] - movs r2, 0 - ldr r3, _0810DE04 @ =gSaveBlock1Ptr - ldr r0, [r3] - movs r1, 0xA6 - lsls r1, 2 - adds r0, r1 - ldrh r0, [r0] - cmp r0, 0 - beq _0810DDEA - adds r5, r4, 0 - adds r4, r3, 0 - adds r3, r1, 0 -_0810DDCA: - ldr r0, [r5] - ldrb r1, [r0, 0x7] - adds r1, 0x1 - strb r1, [r0, 0x7] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x1D - bhi _0810DDEA - ldr r0, [r4] - lsls r1, r2, 2 - adds r0, r1 - adds r0, r3 - ldrh r0, [r0] - cmp r0, 0 - bne _0810DDCA -_0810DDEA: - ldr r0, _0810DE00 @ =gUnknown_203ADBC - ldr r1, [r0] - ldrb r0, [r1, 0x7] - adds r0, 0x1 - cmp r0, 0x6 - ble _0810DDF8 - movs r0, 0x6 -_0810DDF8: - strb r0, [r1, 0x6] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810DE00: .4byte gUnknown_203ADBC -_0810DE04: .4byte gSaveBlock1Ptr - thumb_func_end sub_810DDA4 - - thumb_func_start sub_810DE08 -sub_810DE08: @ 810DE08 - push {r4-r6,lr} - ldr r0, _0810DE64 @ =gUnknown_203ADCC - ldrh r1, [r0, 0x6] - adds r6, r0, 0 - cmp r1, 0x3 - bls _0810DE5C - movs r4, 0 - ldrh r0, [r6, 0x6] - subs r0, 0x3 - cmp r4, r0 - bgt _0810DE5C - ldrh r1, [r6, 0x4] - ldr r5, _0810DE68 @ =gUnknown_203ADBC - ldr r2, [r5] - ldrb r0, [r2, 0x6] - adds r1, r0 - ldrb r0, [r2, 0x7] - adds r0, 0x1 - cmp r1, r0 - beq _0810DE5C - adds r3, r6, 0 -_0810DE32: - ldrh r0, [r3, 0x6] - subs r0, 0x1 - strh r0, [r3, 0x6] - ldrh r0, [r3, 0x4] - adds r0, 0x1 - strh r0, [r3, 0x4] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - ldrh r0, [r3, 0x6] - subs r0, 0x3 - cmp r4, r0 - bgt _0810DE5C - ldrh r1, [r6, 0x4] - ldr r2, [r5] - ldrb r0, [r2, 0x6] - adds r1, r0 - ldrb r0, [r2, 0x7] - adds r0, 0x1 - cmp r1, r0 - bne _0810DE32 -_0810DE5C: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0810DE64: .4byte gUnknown_203ADCC -_0810DE68: .4byte gUnknown_203ADBC - thumb_func_end sub_810DE08 - - thumb_func_start sub_810DE6C -sub_810DE6C: @ 810DE6C - push {lr} - sub sp, 0x8 - movs r1, 0x6 - str r1, [sp] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - movs r0, 0x1 - movs r1, 0 - movs r2, 0xE - movs r3, 0x1E - bl sub_80F6B08 - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - add sp, 0x8 - pop {r0} - bx r0 - thumb_func_end sub_810DE6C - - thumb_func_start sub_810DE94 -sub_810DE94: @ 810DE94 - ldr r1, _0810DE9C @ =gUnknown_203ADCC - strb r0, [r1, 0x8] - bx lr - .align 2, 0 -_0810DE9C: .4byte gUnknown_203ADCC - thumb_func_end sub_810DE94 - thumb_func_start sub_810DEA0 sub_810DEA0: @ 810DEA0 push {r4-r6,lr} diff --git a/include/item.h b/include/item.h index 320b7ffec..ffc32b50a 100644 --- a/include/item.h +++ b/include/item.h @@ -71,5 +71,8 @@ u16 BagGetItemIdByPocketPosition(u8 a0, u16 a1); u16 BagGetQuantityByPocketPosition(u8 a0, u16 a1); bool8 itemid_is_unique(u16 itemId); void sub_809A584(struct ItemSlot * slots, u8 capacity); +u16 GetBagItemId(u16 *); + +void sub_809A4E8(void); #endif // ITEM_H diff --git a/include/pc_screen_effect.h b/include/pc_screen_effect.h index cdd7a96fe..91e1f6d1d 100644 --- a/include/pc_screen_effect.h +++ b/include/pc_screen_effect.h @@ -2,5 +2,7 @@ #define GUARD_PC_SCREEN_EFFECT_H void sub_80A0A48(u16, u16, u8); +void sub_80A0A70(u16, u16, u8); +bool8 sub_80A0AAC(void); #endif //GUARD_PC_SCREEN_EFFECT_H diff --git a/src/item_pc.c b/src/item_pc.c index c3d3ade9d..8b0b67d2f 100644 --- a/src/item_pc.c +++ b/src/item_pc.c @@ -13,6 +13,7 @@ #include "menu.h" #include "menu_helpers.h" #include "menu_indicators.h" +#include "new_menu_helpers.h" #include "palette.h" #include "party_menu.h" #include "pc_screen_effect.h" @@ -26,7 +27,7 @@ struct ItemPcResources { - u32 field_00; + MainCallback field_00; u8 field_04; u8 field_05; u8 field_06; @@ -64,17 +65,18 @@ void sub_810D878(void); void sub_810D954(s32 itemIndex, bool8 onInit, struct ListMenu * list); void sub_810DA20(u8 windowId, s32 itemId, u8 y); void sub_810DAD4(u8 y, u8 state); -void sub_810E8F0(void); void sub_810DB34(void); void sub_810DB5C(void); void sub_810DBF0(void); void sub_810DC40(void); +void sub_810DCE4(u8 taskId); u16 ItemPc_GetItemIdBySlotId(u16 itemIndex); u16 ItemPc_GetItemQuantityBySlotId(u16 itemIndex); void sub_810DDA4(void); void sub_810DE08(void); void sub_810DE94(u8); void sub_810DEA0(u8 taskId); +void sub_810E8F0(void); void sub_810EA34(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, u8 speed, u8 colorIdx); const struct BgTemplate gUnknown_8453F6C[2] = { @@ -355,7 +357,7 @@ bool8 sub_810D78C(void) bool8 sub_810D83C(void) { - sub_810D83C_sub(gUnknown_203ADC4, 0x0F8); + sub_810D83C_sub(gUnknown_203ADC4, sizeof(struct ListMenuItem) * (PC_ITEMS_COUNT + 1)); sub_810D83C_sub(gUnknown_203ADC8, 0x1B2); return TRUE; } @@ -483,3 +485,116 @@ void sub_810DBD0(void) gUnknown_203ADBC->field_08 = 0xFF; } } + +void sub_810DBF0(void) +{ + if (gUnknown_203ADCC.field_4 != 0 && gUnknown_203ADCC.field_4 + gUnknown_203ADBC->field_06 > gUnknown_203ADBC->field_07 + 1) + gUnknown_203ADCC.field_4 = (gUnknown_203ADBC->field_07 + 1) - gUnknown_203ADBC->field_06; + if (gUnknown_203ADCC.field_4 + gUnknown_203ADCC.field_6 >= gUnknown_203ADBC->field_07 + 1) + { + if (gUnknown_203ADBC->field_07 + 1 < 2) + gUnknown_203ADCC.field_6 = 0; + else + gUnknown_203ADCC.field_6 = gUnknown_203ADBC->field_07; + } +} + +#define sub_810DC40_sub(ptr) ({ \ + void ** ptr__ = (void **)&(ptr); \ + if (*ptr__ != NULL) \ + Free(*ptr__); \ +}) + +void sub_810DC40(void) +{ + sub_810DC40_sub(gUnknown_203ADBC); + sub_810DC40_sub(gUnknown_203ADC0); + sub_810DC40_sub(gUnknown_203ADC4); + sub_810DC40_sub(gUnknown_203ADC8); + FreeAllWindowBuffers(); +} + +void sub_810DC8C(u8 taskId) +{ + if (gUnknown_203ADCC.field_8 == 1) + { + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + } + else + { + sub_80A0A70(0, 0, 0); + PlaySE(SE_PC_OFF); + } + gTasks[taskId].func = sub_810DCE4; +} + +void sub_810DCE4(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + if (!gPaletteFade.active && !sub_80A0AAC()) + { + DestroyListMenu(data[0], &gUnknown_203ADCC.field_4, &gUnknown_203ADCC.field_6); + if (gUnknown_203ADBC->field_00 != NULL) + SetMainCallback2(gUnknown_203ADBC->field_00); + else + SetMainCallback2(gUnknown_203ADCC.field_0); + sub_810DBD0(); + sub_810DC40(); + DestroyTask(taskId); + } +} + +u8 sub_810DD54(void) +{ + return gUnknown_203ADCC.field_4 + gUnknown_203ADCC.field_6; +} + +u16 ItemPc_GetItemIdBySlotId(u16 idx) +{ + return gSaveBlock1Ptr->pcItems[idx].itemId; +} + +u16 ItemPc_GetItemQuantityBySlotId(u16 idx) +{ + return GetBagItemId(&gSaveBlock1Ptr->pcItems[idx].quantity); +} + +void sub_810DDA4(void) +{ + u16 i; + + sub_809A4E8(); + gUnknown_203ADBC->field_07 = 0; + for (i = 0; i < PC_ITEMS_COUNT; gUnknown_203ADBC->field_07++, i++) + { + if (gSaveBlock1Ptr->pcItems[i].itemId == ITEM_NONE) + break; + } + gUnknown_203ADBC->field_06 = gUnknown_203ADBC->field_07 + 1 <= 6 ? gUnknown_203ADBC->field_07 + 1 : 6; +} + +void sub_810DE08(void) +{ + u8 i; + + if (gUnknown_203ADCC.field_6 > 3) + { + for (i = 0; i <= gUnknown_203ADCC.field_6 - 3; gUnknown_203ADCC.field_6--, gUnknown_203ADCC.field_4++, i++) + { + if (gUnknown_203ADCC.field_4 + gUnknown_203ADBC->field_06 == gUnknown_203ADBC->field_07 + 1) + break; + } + } +} + +void sub_810DE6C(int a0) +{ + sub_80F6B08(1, 0, 14, 30, 6, a0 + 1); + schedule_bg_copy_tilemap_to_vram(1); +} + +void sub_810DE94(u8 a0) +{ + gUnknown_203ADCC.field_8 = a0; +} -- cgit v1.2.3 From d681d7f727e01f1e5b167f5042e9edd1542ae6c6 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 16 Jun 2019 18:12:11 -0400 Subject: item_pc: through sub_810E200 --- asm/item.s | 8 +- asm/item_menu.s | 4 +- asm/item_pc.s | 455 ------------------------------------------- asm/party_menu.s | 2 +- asm/pokemon_special_anim.s | 2 +- asm/pokemon_storage_system.s | 4 +- include/item.h | 2 +- include/item_menu.h | 1 + include/item_menu_icons.h | 2 + include/list_menu.h | 1 + include/pc_screen_effect.h | 1 + include/strings.h | 1 + src/item_pc.c | 127 +++++++++++- src/quest_log.c | 28 +-- 14 files changed, 157 insertions(+), 481 deletions(-) diff --git a/asm/item.s b/asm/item.s index ce20d4f8c..1ffaffddb 100644 --- a/asm/item.s +++ b/asm/item.s @@ -169,7 +169,7 @@ CopyItemName: @ 8099E90 .align 2, 0 _08099EB4: .4byte gUnknown_84162BD _08099EB8: - bl ItemId_GetItem + bl ItemId_GetName adds r1, r0, 0 adds r0, r4, 0 bl StringCopy @@ -1567,8 +1567,8 @@ _0809A8B8: bx r1 thumb_func_end SanitizeItemId - thumb_func_start ItemId_GetItem -ItemId_GetItem: @ 809A8BC + thumb_func_start ItemId_GetName +ItemId_GetName: @ 809A8BC push {lr} lsls r0, 16 lsrs r0, 16 @@ -1583,7 +1583,7 @@ ItemId_GetItem: @ 809A8BC bx r1 .align 2, 0 _0809A8D8: .4byte gItems - thumb_func_end ItemId_GetItem + thumb_func_end ItemId_GetName thumb_func_start itemid_get_number itemid_get_number: @ 809A8DC diff --git a/asm/item_menu.s b/asm/item_menu.s index dd1fde957..3aad5b4f5 100644 --- a/asm/item_menu.s +++ b/asm/item_menu.s @@ -981,7 +981,7 @@ _08108584: bl StringCopy _0810858C: adds r0, r5, 0 - bl ItemId_GetItem + bl ItemId_GetName adds r1, r0, 0 adds r0, r4, 0 bl StringAppend @@ -2853,7 +2853,7 @@ sub_81093B8: @ 81093B8 bl BagGetItemIdByPocketPosition lsls r0, 16 lsrs r0, 16 - bl ItemId_GetItem + bl ItemId_GetName adds r1, r0, 0 adds r0, r4, 0 bl StringCopy diff --git a/asm/item_pc.s b/asm/item_pc.s index 8d27851ef..dadc7ff92 100644 --- a/asm/item_pc.s +++ b/asm/item_pc.s @@ -5,461 +5,6 @@ .text - thumb_func_start sub_810DEA0 -sub_810DEA0: @ 810DEA0 - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0810DF10 @ =gTasks+0x8 - adds r6, r0, r1 - ldr r0, _0810DF14 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0810DF9E - bl sub_80A0A98 - lsls r0, 24 - cmp r0, 0 - bne _0810DF9E - ldr r0, _0810DF18 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0810DF20 - ldrb r0, [r6] - mov r4, sp - adds r4, 0x2 - mov r1, sp - adds r2, r4, 0 - bl ListMenuGetScrollAndRow - mov r0, sp - ldrh r1, [r0] - ldrh r0, [r4] - adds r1, r0 - ldr r0, _0810DF1C @ =gUnknown_203ADBC - ldr r0, [r0] - ldrb r0, [r0, 0x7] - cmp r1, r0 - beq _0810DF20 - movs r0, 0x5 - bl PlaySE - mov r0, sp - ldrh r1, [r4] - ldrh r0, [r0] - adds r1, r0 - lsls r1, 16 - asrs r1, 16 - adds r0, r5, 0 - bl sub_810DFE0 - b _0810DF9E - .align 2, 0 -_0810DF10: .4byte gTasks+0x8 -_0810DF14: .4byte gPaletteFade -_0810DF18: .4byte gMain -_0810DF1C: .4byte gUnknown_203ADBC -_0810DF20: - ldrb r0, [r6] - bl ListMenuHandleInput - adds r4, r0, 0 - ldrb r0, [r6] - ldr r1, _0810DF44 @ =gUnknown_203ADCC + 0x4 - adds r2, r1, 0x2 - bl ListMenuGetScrollAndRow - movs r0, 0x2 - negs r0, r0 - cmp r4, r0 - beq _0810DF48 - adds r0, 0x1 - cmp r4, r0 - bne _0810DF6C - b _0810DF9E - .align 2, 0 -_0810DF44: .4byte gUnknown_203ADCC + 0x4 -_0810DF48: - movs r0, 0x5 - bl PlaySE - movs r0, 0 - bl sub_810DE94 - ldr r0, _0810DF64 @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, _0810DF68 @ =sub_810DC8C - str r0, [r1] - b _0810DF9E - .align 2, 0 -_0810DF64: .4byte gTasks -_0810DF68: .4byte sub_810DC8C -_0810DF6C: - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - bl sub_810DE6C - bl sub_810DBD0 - strh r4, [r6, 0x2] - lsls r0, r4, 16 - lsrs r0, 16 - bl ItemPc_GetItemQuantityBySlotId - strh r0, [r6, 0x4] - ldrb r0, [r6] - movs r1, 0x2 - bl sub_810DAB4 - ldr r1, _0810DFA8 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _0810DFAC @ =sub_810E274 - str r1, [r0] -_0810DF9E: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0810DFA8: .4byte gTasks -_0810DFAC: .4byte sub_810E274 - thumb_func_end sub_810DEA0 - - thumb_func_start sub_810DFB0 -sub_810DFB0: @ 810DFB0 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - bl sub_810DE6C - bl sub_810DB5C - ldr r1, _0810DFD8 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0810DFDC @ =sub_810DEA0 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810DFD8: .4byte gTasks -_0810DFDC: .4byte sub_810DEA0 - thumb_func_end sub_810DFB0 - - thumb_func_start sub_810DFE0 -sub_810DFE0: @ 810DFE0 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x14 - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r4, 16 - lsrs r4, 16 - lsls r5, r0, 2 - adds r5, r0 - lsls r5, 3 - ldr r0, _0810E09C @ =gTasks+0x8 - mov r8, r0 - adds r6, r5, r0 - ldrb r0, [r6] - movs r1, 0x10 - movs r2, 0x1 - bl sub_8107BD0 - strh r4, [r6, 0x2] - ldr r0, _0810E0A0 @ =gUnknown_203ADBC - ldr r0, [r0] - movs r1, 0 - mov r9, r1 - strb r4, [r0, 0x4] - ldr r4, _0810E0A4 @ =gStringVar1 - ldrh r0, [r6, 0x2] - bl ItemPc_GetItemIdBySlotId - lsls r0, 16 - lsrs r0, 16 - bl ItemId_GetItem - adds r1, r0, 0 - adds r0, r4, 0 - bl StringCopy - ldr r4, _0810E0A8 @ =gStringVar4 - ldr r1, _0810E0AC @ =gUnknown_841633F - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0x1 - movs r1, 0 - bl FillWindowPixelBuffer - movs r1, 0x3 - str r1, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - str r1, [sp, 0x8] - mov r0, r9 - str r0, [sp, 0xC] - str r0, [sp, 0x10] - movs r0, 0x1 - movs r1, 0x2 - adds r2, r4, 0 - movs r3, 0 - bl sub_810EA34 - movs r4, 0x20 - negs r4, r4 - ldrb r0, [r6] - bl ListMenuGetYCoordForPrintingArrowCursor - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl sub_80986A8 - movs r0, 0 - bl sub_8098660 - ldrb r0, [r6] - movs r1, 0x2 - bl sub_810DAB4 - movs r1, 0x8 - negs r1, r1 - add r8, r1 - add r5, r8 - ldr r0, _0810E0B0 @ =sub_810E0B4 - str r0, [r5] - add sp, 0x14 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0810E09C: .4byte gTasks+0x8 -_0810E0A0: .4byte gUnknown_203ADBC -_0810E0A4: .4byte gStringVar1 -_0810E0A8: .4byte gStringVar4 -_0810E0AC: .4byte gUnknown_841633F -_0810E0B0: .4byte sub_810E0B4 - thumb_func_end sub_810DFE0 - - thumb_func_start sub_810E0B4 -sub_810E0B4: @ 810E0B4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r6, r0, 24 - mov r8, r6 - lsls r4, r6, 2 - adds r4, r6 - lsls r4, 3 - ldr r0, _0810E11C @ =gTasks+0x8 - adds r4, r0 - ldrb r0, [r4] - bl ListMenuHandleInput - ldrb r0, [r4] - ldr r7, _0810E120 @ =gUnknown_203ADCC + 0x4 - adds r2, r7, 0x2 - adds r1, r7, 0 - bl ListMenuGetScrollAndRow - movs r5, 0x20 - negs r5, r5 - ldrb r0, [r4] - bl ListMenuGetYCoordForPrintingArrowCursor - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r5, 0 - bl sub_80986A8 - ldr r0, _0810E124 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x5 - ands r0, r1 - cmp r0, 0 - beq _0810E12C - movs r0, 0x5 - bl PlaySE - ldr r0, _0810E128 @ =gUnknown_203ADBC - ldr r1, [r0] - movs r0, 0xFF - strb r0, [r1, 0x4] - subs r0, r7, 0x4 - ldrh r1, [r0, 0x4] - ldrh r0, [r0, 0x6] - adds r1, r0 - adds r0, r6, 0 - bl sub_810E160 - b _0810E150 - .align 2, 0 -_0810E11C: .4byte gTasks+0x8 -_0810E120: .4byte gUnknown_203ADCC + 0x4 -_0810E124: .4byte gMain -_0810E128: .4byte gUnknown_203ADBC -_0810E12C: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0810E150 - movs r0, 0x5 - bl PlaySE - ldr r0, _0810E15C @ =gUnknown_203ADBC - ldr r1, [r0] - movs r0, 0xFF - strb r0, [r1, 0x4] - subs r0, r7, 0x4 - ldrh r1, [r0, 0x4] - ldrh r0, [r0, 0x6] - adds r1, r0 - mov r0, r8 - bl sub_810E200 -_0810E150: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0810E15C: .4byte gUnknown_203ADBC - thumb_func_end sub_810E0B4 - - thumb_func_start sub_810E160 -sub_810E160: @ 810E160 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r1, 0 - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r7, r0, 3 - ldr r0, _0810E190 @ =gTasks+0x8 - mov r8, r0 - adds r6, r7, r0 - movs r0, 0x2 - ldrsh r1, [r6, r0] - cmp r1, r4 - beq _0810E186 - subs r0, r4, 0x1 - cmp r1, r0 - bne _0810E194 -_0810E186: - adds r0, r2, 0 - adds r1, r4, 0 - bl sub_810E200 - b _0810E1E6 - .align 2, 0 -_0810E190: .4byte gTasks+0x8 -_0810E194: - ldr r0, _0810E1F0 @ =gSaveBlock1Ptr - ldr r0, [r0] - movs r2, 0xA6 - lsls r2, 2 - adds r0, r2 - adds r2, r4, 0 - bl sub_8108D60 - ldrb r0, [r6] - ldr r5, _0810E1F4 @ =gUnknown_203ADCC + 0x4 - adds r2, r5, 0x2 - adds r1, r5, 0 - bl DestroyListMenu - movs r1, 0x2 - ldrsh r0, [r6, r1] - cmp r0, r4 - bcs _0810E1C0 - subs r1, r5, 0x4 - ldrh r0, [r1, 0x6] - subs r0, 0x1 - strh r0, [r1, 0x6] -_0810E1C0: - bl sub_810D878 - ldr r0, _0810E1F8 @ =gMultiuseListMenuTemplate - subs r2, r5, 0x4 - ldrh r1, [r2, 0x4] - ldrh r2, [r2, 0x6] - bl ListMenuInit - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6] - movs r0, 0x1 - bl sub_8098660 - mov r0, r8 - subs r0, 0x8 - adds r0, r7, r0 - ldr r1, _0810E1FC @ =sub_810DEA0 - str r1, [r0] -_0810E1E6: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0810E1F0: .4byte gSaveBlock1Ptr -_0810E1F4: .4byte gUnknown_203ADCC + 0x4 -_0810E1F8: .4byte gMultiuseListMenuTemplate -_0810E1FC: .4byte sub_810DEA0 - thumb_func_end sub_810E160 - - thumb_func_start sub_810E200 -sub_810E200: @ 810E200 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r7, r1, 3 - ldr r0, _0810E264 @ =gTasks+0x8 - mov r8, r0 - adds r6, r7, r0 - ldrb r0, [r6] - ldr r5, _0810E268 @ =gUnknown_203ADCC + 0x4 - adds r2, r5, 0x2 - adds r1, r5, 0 - bl DestroyListMenu - movs r1, 0x2 - ldrsh r0, [r6, r1] - cmp r0, r4 - bcs _0810E234 - subs r1, r5, 0x4 - ldrh r0, [r1, 0x6] - subs r0, 0x1 - strh r0, [r1, 0x6] -_0810E234: - bl sub_810D878 - ldr r0, _0810E26C @ =gMultiuseListMenuTemplate - subs r2, r5, 0x4 - ldrh r1, [r2, 0x4] - ldrh r2, [r2, 0x6] - bl ListMenuInit - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6] - movs r0, 0x1 - bl sub_8098660 - mov r0, r8 - subs r0, 0x8 - adds r0, r7, r0 - ldr r1, _0810E270 @ =sub_810DEA0 - str r1, [r0] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0810E264: .4byte gTasks+0x8 -_0810E268: .4byte gUnknown_203ADCC + 0x4 -_0810E26C: .4byte gMultiuseListMenuTemplate -_0810E270: .4byte sub_810DEA0 - thumb_func_end sub_810E200 - thumb_func_start sub_810E274 sub_810E274: @ 810E274 push {r4-r6,lr} diff --git a/asm/party_menu.s b/asm/party_menu.s index b3ce0f3be..b18e3f9a5 100644 --- a/asm/party_menu.s +++ b/asm/party_menu.s @@ -3627,7 +3627,7 @@ _08120678: _0812067E: ldr r0, _08120698 @ =0x0000016d _08120680: - bl ItemId_GetItem + bl ItemId_GetName adds r1, r0, 0 _08120686: ldr r0, _0812069C @ =gStringVar1 diff --git a/asm/pokemon_special_anim.s b/asm/pokemon_special_anim.s index abbf7a14f..117c81783 100644 --- a/asm/pokemon_special_anim.s +++ b/asm/pokemon_special_anim.s @@ -1759,7 +1759,7 @@ _0811D330: _0811D358: adds r4, 0x14 adds r0, r7, 0 - bl ItemId_GetItem + bl ItemId_GetName adds r1, r0, 0 adds r0, r4, 0 bl StringCopy diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s index 366f714c2..46c36058e 100644 --- a/asm/pokemon_storage_system.s +++ b/asm/pokemon_storage_system.s @@ -16876,7 +16876,7 @@ _08093EF2: beq _08093F78 ldr r3, _08093F74 @ =0x00000d61 adds r4, r3 - bl ItemId_GetItem + bl ItemId_GetName adds r1, r0, 0 adds r0, r4, 0 movs r2, 0 @@ -21364,7 +21364,7 @@ sub_80961A8: @ 80961A8 ldr r1, _080961C0 @ =0x00002224 adds r0, r1 ldrh r0, [r0] - bl ItemId_GetItem + bl ItemId_GetName pop {r1} bx r1 .align 2, 0 diff --git a/include/item.h b/include/item.h index ffc32b50a..9d67bec66 100644 --- a/include/item.h +++ b/include/item.h @@ -44,7 +44,7 @@ bool8 CheckPCHasItem(u16 itemId, u16 count); bool8 AddPCItem(u16 itemId, u16 count); void RemovePCItem(u8 index, u16 count); void SwapRegisteredBike(void); -const struct Item *ItemId_GetItem(u16 itemId); +const u8 *ItemId_GetName(u16 itemId); u16 ItemId_GetId(u16 itemId); u16 ItemId_GetPrice(u16 itemId); u8 ItemId_GetHoldEffect(u16 itemId); diff --git a/include/item_menu.h b/include/item_menu.h index 2801a5001..840c357d0 100644 --- a/include/item_menu.h +++ b/include/item_menu.h @@ -27,5 +27,6 @@ void sub_81AAC70(void); void sub_8108CF0(void); void sub_810B108(u8); void UseFameCheckerFromMenu(void); +void sub_8108D60(struct ItemSlot * slots, int pos1, int pos2); #endif //GUARD_ITEM_MENU_H diff --git a/include/item_menu_icons.h b/include/item_menu_icons.h index c964a0bdc..980016573 100644 --- a/include/item_menu_icons.h +++ b/include/item_menu_icons.h @@ -8,5 +8,7 @@ void sub_80985E4(void); u8 sub_80D511C(u8 a0, u8 a1, u8 a2, u8 a3); void sub_8098940(bool8 a0); void sub_80988E8(u16 itemId, bool8 a0); +void sub_80986A8(s16 x, u16 y); +void sub_8098660(u8); #endif // GUARD_ITEM_MENU_ICONS diff --git a/include/list_menu.h b/include/list_menu.h index 6116ee39a..290b1d925 100644 --- a/include/list_menu.h +++ b/include/list_menu.h @@ -62,5 +62,6 @@ u16 ListMenuGetYCoordForPrintingArrowCursor(u8); void sub_8107D38(u8, u8); s32 DoMysteryGiftListMenu(const struct WindowTemplate *windowTemplate, const struct ListMenuTemplate *listMenuTemplate, u8 arg2, u16 tileNum, u16 palNum); void ListMenuDefaultCursorMoveFunc(s32, u8, struct ListMenu *); +void sub_8107BD0(u8 taskId, u8 attr, s32 value); #endif //GUARD_LIST_MENU_H diff --git a/include/pc_screen_effect.h b/include/pc_screen_effect.h index 91e1f6d1d..6d68de2d3 100644 --- a/include/pc_screen_effect.h +++ b/include/pc_screen_effect.h @@ -4,5 +4,6 @@ void sub_80A0A48(u16, u16, u8); void sub_80A0A70(u16, u16, u8); bool8 sub_80A0AAC(void); +bool8 sub_80A0A98(void); #endif //GUARD_PC_SCREEN_EFFECT_H diff --git a/include/strings.h b/include/strings.h index 3c374270d..822bd4783 100644 --- a/include/strings.h +++ b/include/strings.h @@ -149,6 +149,7 @@ extern const u8 gString_Someone[]; extern const u8 gString_Help[]; extern const u8 gString_HelpSystem_ClearTo8[]; +extern const u8 gUnknown_841633F[]; extern const u8 gUnknown_8416655[]; extern const u8 gUnknown_84178A7[]; extern const u8 gUnknown_84178BE[]; diff --git a/src/item_pc.c b/src/item_pc.c index 8b0b67d2f..7a3fbd7af 100644 --- a/src/item_pc.c +++ b/src/item_pc.c @@ -6,6 +6,7 @@ #include "graphics.h" #include "help_system.h" #include "item.h" +#include "item_menu.h" #include "item_menu_icons.h" #include "list_menu.h" #include "main.h" @@ -76,6 +77,11 @@ void sub_810DDA4(void); void sub_810DE08(void); void sub_810DE94(u8); void sub_810DEA0(u8 taskId); +void sub_810DFE0(u8 taskId, s16 pos); +void sub_810E0B4(u8 taskId); +void sub_810E160(u8 taskId, u32 pos); +void sub_810E200(u8 taskId, u32 pos); +void sub_810E274(u8 taskId); void sub_810E8F0(void); void sub_810EA34(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, u8 speed, u8 colorIdx); @@ -368,7 +374,7 @@ void sub_810D878(void) for (i = 0; i < gUnknown_203ADBC->field_07; i++) { - gUnknown_203ADC4[i].label = ItemId_GetItem(gSaveBlock1Ptr->pcItems[i].itemId)->name; + gUnknown_203ADC4[i].label = ItemId_GetName(gSaveBlock1Ptr->pcItems[i].itemId); gUnknown_203ADC4[i].index = i; } gUnknown_203ADC4[i].label = gFameCheckerText_Cancel; @@ -598,3 +604,122 @@ void sub_810DE94(u8 a0) { gUnknown_203ADCC.field_8 = a0; } + +void sub_810DEA0(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + u16 scroll; + u16 row; + s32 input; + + if (!gPaletteFade.active && !sub_80A0A98()) + { + if (JOY_NEW(SELECT_BUTTON)) + { + ListMenuGetScrollAndRow(data[0], &scroll, &row); + if (scroll + row != gUnknown_203ADBC->field_07) + { + PlaySE(SE_SELECT); + sub_810DFE0(taskId, scroll + row); + return; + } + } + input = ListMenuHandleInput(data[0]); + ListMenuGetScrollAndRow(data[0], &gUnknown_203ADCC.field_4, &gUnknown_203ADCC.field_6); + switch (input) + { + case -1: + break; + case -2: + PlaySE(SE_SELECT); + sub_810DE94(0); + gTasks[taskId].func = sub_810DC8C; + break; + default: + PlaySE(SE_SELECT); + sub_810DE6C(1); + sub_810DBD0(); + data[1] = input; + data[2] = ItemPc_GetItemQuantityBySlotId(input); + sub_810DAB4(data[0], 2); + gTasks[taskId].func = sub_810E274; + break; + } + } +} + +void sub_810DFB0(u8 taskId) +{ + sub_810DE6C(0); + sub_810DB5C(); + gTasks[taskId].func = sub_810DEA0; +} + +void sub_810DFE0(u8 taskId, s16 pos) +{ + s16 * data = gTasks[taskId].data; + + sub_8107BD0(data[0], 16, 1); + data[1] = pos; + gUnknown_203ADBC->field_04 = pos; + StringCopy(gStringVar1, ItemId_GetName(ItemPc_GetItemIdBySlotId(data[1]))); + StringExpandPlaceholders(gStringVar4, gUnknown_841633F); + FillWindowPixelBuffer(1, 0x00); + sub_810EA34(1, 2, gStringVar4, 0, 3, 2, 3, 0, 0); + sub_80986A8(-32, ListMenuGetYCoordForPrintingArrowCursor(data[0])); + sub_8098660(0); + sub_810DAB4(data[0], 2); + gTasks[taskId].func = sub_810E0B4; +} + +void sub_810E0B4(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + ListMenuHandleInput(data[0]); + ListMenuGetScrollAndRow(data[0], &gUnknown_203ADCC.field_4, &gUnknown_203ADCC.field_6); + sub_80986A8(-32, ListMenuGetYCoordForPrintingArrowCursor(data[0])); + if (JOY_NEW(A_BUTTON | SELECT_BUTTON)) + { + PlaySE(SE_SELECT); + gUnknown_203ADBC->field_04 = 0xFF; + sub_810E160(taskId, gUnknown_203ADCC.field_4 + gUnknown_203ADCC.field_6); + } + else if (JOY_NEW(B_BUTTON)) + { + PlaySE(SE_SELECT); + gUnknown_203ADBC->field_04 = 0xFF; + sub_810E200(taskId, gUnknown_203ADCC.field_4 + gUnknown_203ADCC.field_6); + } +} + +void sub_810E160(u8 taskId, u32 pos) +{ + s16 * data = gTasks[taskId].data; + if (data[1] == pos || data[1] == pos - 1) + sub_810E200(taskId, pos); + else + { + sub_8108D60(gSaveBlock1Ptr->pcItems, data[1], pos); + DestroyListMenu(data[0], &gUnknown_203ADCC.field_4, &gUnknown_203ADCC.field_6); + if (data[1] < pos) + gUnknown_203ADCC.field_6--; + sub_810D878(); + data[0] = ListMenuInit(&gMultiuseListMenuTemplate, gUnknown_203ADCC.field_4, gUnknown_203ADCC.field_6); + sub_8098660(1); + gTasks[taskId].func = sub_810DEA0; + } +} + +void sub_810E200(u8 taskId, u32 pos) +{ + s16 * data = gTasks[taskId].data; + + DestroyListMenu(data[0], &gUnknown_203ADCC.field_4, &gUnknown_203ADCC.field_6); + if (data[1] < pos) + gUnknown_203ADCC.field_6--; + sub_810D878(); + data[0] = ListMenuInit(&gMultiuseListMenuTemplate, gUnknown_203ADCC.field_4, gUnknown_203ADCC.field_6); + sub_8098660(1); + gTasks[taskId].func = sub_810DEA0; +} diff --git a/src/quest_log.c b/src/quest_log.c index ed061a8b6..258e6a688 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -3708,7 +3708,7 @@ const u16 * sub_8113FBC(const u16 * a0) case POCKET_ITEMS: case POCKET_POKE_BALLS: case POCKET_BERRY_POUCH: - StringCopy(gStringVar1, ItemId_GetItem(r5[0])->name); + StringCopy(gStringVar1, ItemId_GetName(r5[0])); if (r5[0] == ITEM_ESCAPE_ROPE) { sub_80C4DF8(gStringVar2, r5[2]); @@ -3725,7 +3725,7 @@ const u16 * sub_8113FBC(const u16 * a0) } break; case POCKET_KEY_ITEMS: - StringCopy(gStringVar1, ItemId_GetItem(r5[0])->name); + StringCopy(gStringVar1, ItemId_GetName(r5[0])); StringExpandPlaceholders(gStringVar4, gUnknown_841A220); break; case POCKET_TM_CASE: @@ -3771,7 +3771,7 @@ const u16 * sub_8114188(const u16 * a0) { const u16 * r4 = sub_8113E88(5, a0); QuestLog_AutoGetSpeciesName(r4[1], gStringVar1, 0); - StringCopy(gStringVar2, ItemId_GetItem(r4[0])->name); + StringCopy(gStringVar2, ItemId_GetName(r4[0])); StringExpandPlaceholders(gStringVar4, gUnknown_841AB74); r4 += 2; return r4; @@ -3787,7 +3787,7 @@ const u16 * sub_81141E4(const u16 * a0) const u16 * r4 = sub_8113E88(6, a0); QuestLog_AutoGetSpeciesName(r4[1], gStringVar1, 0); - StringCopy(gStringVar2, ItemId_GetItem(r4[0])->name); + StringCopy(gStringVar2, ItemId_GetName(r4[0])); StringExpandPlaceholders(gStringVar4, gUnknown_841AB8E); r4 += 2; return r4; @@ -3803,7 +3803,7 @@ const u16 * sub_8114240(const u16 * a0) const u16 * r4 = sub_8113E88(7, a0); QuestLog_AutoGetSpeciesName(r4[1], gStringVar2, 0); - StringCopy(gStringVar1, ItemId_GetItem(r4[0])->name); + StringCopy(gStringVar1, ItemId_GetName(r4[0])); StringExpandPlaceholders(gStringVar4, gUnknown_841A6A5); r4 += 2; return r4; @@ -3819,7 +3819,7 @@ const u16 * sub_811429C(const u16 * a0) const u16 * r4 = sub_8113E88(8, a0); QuestLog_AutoGetSpeciesName(r4[1], gStringVar1, 0); - StringCopy(gStringVar2, ItemId_GetItem(r4[0])->name); + StringCopy(gStringVar2, ItemId_GetName(r4[0])); StringExpandPlaceholders(gStringVar4, gUnknown_841A1CD); r4 += 2; return r4; @@ -3846,8 +3846,8 @@ const u16 * sub_8114324(const u16 * a0) { const u16 * r4 = sub_8113E88(9, a0); QuestLog_AutoGetSpeciesName(r4[2], gStringVar1, 0); - StringCopy(gStringVar2, ItemId_GetItem(r4[0])->name); - StringCopy(gStringVar3, ItemId_GetItem(r4[1])->name); + StringCopy(gStringVar2, ItemId_GetName(r4[0])); + StringCopy(gStringVar3, ItemId_GetName(r4[1])); StringExpandPlaceholders(gStringVar4, gUnknown_841A193); r4 += 3; return r4; @@ -3862,8 +3862,8 @@ const u16 * sub_8114394(const u16 * a0) { const u16 * r4 = sub_8113E88(10, a0); QuestLog_AutoGetSpeciesName(r4[2], gStringVar2, 0); - StringCopy(gStringVar3, ItemId_GetItem(r4[0])->name); - StringCopy(gStringVar1, ItemId_GetItem(r4[1])->name); + StringCopy(gStringVar3, ItemId_GetName(r4[0])); + StringCopy(gStringVar1, ItemId_GetName(r4[1])); StringExpandPlaceholders(gStringVar4, gUnknown_841A6E1); r4 += 3; return r4; @@ -4817,7 +4817,7 @@ const u16 * sub_8115518(const u16 * a0) UnkTextUtil_Reset(); sub_80C4DF8(gStringVar1, r7[0]); UnkTextUtil_SetPtrI(0, gStringVar1); - UnkTextUtil_SetPtrI(1, ItemId_GetItem(r4[0])->name); + UnkTextUtil_SetPtrI(1, ItemId_GetName(r4[0])); if (r4[1] < 2) UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A7DD); else @@ -4852,7 +4852,7 @@ const u16 * sub_81155E0(const u16 * a0) { if (r7[1] == 0) { UnkTextUtil_SetPtrI(0, gSaveBlock2Ptr->playerName); UnkTextUtil_SetPtrI(1, gStringVar1); - UnkTextUtil_SetPtrI(2, ItemId_GetItem(r5[0])->name); + UnkTextUtil_SetPtrI(2, ItemId_GetName(r5[0])); if (r5[1] == 1) UnkTextUtil_SetPtrI(3, gUnknown_841A8D4); else @@ -4867,7 +4867,7 @@ const u16 * sub_81155E0(const u16 * a0) { else { UnkTextUtil_SetPtrI(0, gStringVar1); - UnkTextUtil_SetPtrI(1, ItemId_GetItem(r5[0])->name); + UnkTextUtil_SetPtrI(1, ItemId_GetName(r5[0])); ConvertIntToDecimalStringN(gStringVar2, r6, STR_CONV_MODE_LEFT_ALIGN, 6); UnkTextUtil_SetPtrI(2, gStringVar2); UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A896); @@ -4890,7 +4890,7 @@ const u16 * sub_8115700(const u16 * a0) const u16 * r4 = sub_8113E88(40, a0); const u8 * r5 = (const u8 *)r4 + 2; sub_80C4DF8(gStringVar1, r5[0]); - StringCopy(gStringVar2, ItemId_GetItem(r4[0])->name); + StringCopy(gStringVar2, ItemId_GetName(r4[0])); StringExpandPlaceholders(gStringVar4, gUnknown_841B03F); return (const u16 *)(r5 + 2); } -- cgit v1.2.3 From 105716d701e54270179c20425dfcc1e396211519 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 16 Jun 2019 19:37:28 -0400 Subject: item_pc: through sub_810E548 --- asm/item_pc.s | 360 ---------------------------------------------------- data/data_83FECCC.s | 8 +- include/item.h | 1 + include/menu.h | 1 + include/strings.h | 6 + src/item_pc.c | 124 ++++++++++++++++++ 6 files changed, 136 insertions(+), 364 deletions(-) diff --git a/asm/item_pc.s b/asm/item_pc.s index dadc7ff92..49de9cebb 100644 --- a/asm/item_pc.s +++ b/asm/item_pc.s @@ -5,366 +5,6 @@ .text - thumb_func_start sub_810E274 -sub_810E274: @ 810E274 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x14 - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, _0810E340 @ =gTasks+0x8 - mov r9, r0 - adds r6, r4, r0 - movs r0, 0x4 - bl sub_810EA9C - movs r0, 0 - bl sub_810EAB4 - mov r8, r0 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r0, 0x2 - movs r1, 0x1 - bl GetFontAttribute - adds r0, 0x2 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - movs r5, 0x3 - str r5, [sp, 0x4] - ldr r0, _0810E344 @ =gUnknown_8453F74 - str r0, [sp, 0x8] - movs r0, 0x4 - movs r1, 0x2 - movs r2, 0x8 - movs r3, 0x2 - bl PrintTextArray - movs r0, 0x2 - movs r1, 0x1 - bl GetFontAttribute - adds r0, 0x2 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - str r5, [sp, 0x4] - movs r5, 0 - str r5, [sp, 0x8] - movs r0, 0x4 - movs r1, 0x2 - movs r2, 0 - movs r3, 0x2 - bl ProgramAndPlaceMenuCursorOnWindow - ldrh r0, [r6, 0x2] - bl ItemPc_GetItemIdBySlotId - lsls r0, 16 - lsrs r0, 16 - ldr r1, _0810E348 @ =gStringVar1 - bl CopyItemName - ldr r6, _0810E34C @ =gStringVar4 - ldr r1, _0810E350 @ =gUnknown_84162FF - adds r0, r6, 0 - bl StringExpandPlaceholders - movs r0, 0x2 - str r0, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - str r5, [sp, 0x8] - str r5, [sp, 0xC] - str r0, [sp, 0x10] - mov r0, r8 - movs r1, 0x2 - adds r2, r6, 0 - movs r3, 0 - bl sub_810EA34 - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x8 - negs r0, r0 - add r9, r0 - add r4, r9 - ldr r0, _0810E354 @ =sub_810E358 - str r0, [r4] - add sp, 0x14 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0810E340: .4byte gTasks+0x8 -_0810E344: .4byte gUnknown_8453F74 -_0810E348: .4byte gStringVar1 -_0810E34C: .4byte gStringVar4 -_0810E350: .4byte gUnknown_84162FF -_0810E354: .4byte sub_810E358 - thumb_func_end sub_810E274 - - thumb_func_start sub_810E358 -sub_810E358: @ 810E358 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r6, r5, 0 - bl ProcessMenuInputNoWrapAround - lsls r0, 24 - asrs r4, r0, 24 - movs r0, 0x2 - negs r0, r0 - cmp r4, r0 - beq _0810E39A - adds r0, 0x1 - cmp r4, r0 - bne _0810E384 - movs r0, 0x5 - bl PlaySE - adds r0, r5, 0 - bl sub_810E8A0 - b _0810E39A -_0810E384: - movs r0, 0x5 - bl PlaySE - ldr r0, _0810E3A0 @ =gUnknown_8453F74 - lsls r1, r4, 3 - adds r0, 0x4 - adds r1, r0 - ldr r1, [r1] - adds r0, r6, 0 - bl _call_via_r1 -_0810E39A: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0810E3A0: .4byte gUnknown_8453F74 - thumb_func_end sub_810E358 - - thumb_func_start sub_810E3A4 -sub_810E3A4: @ 810E3A4 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r6, r0, 3 - ldr r7, _0810E3F0 @ =gTasks+0x8 - adds r4, r6, r7 - movs r0, 0x4 - movs r1, 0 - bl sub_810F4D8 - movs r0, 0 - bl sub_810EAF0 - movs r0, 0x4 - bl ClearWindowTilemap - movs r0, 0x1 - strh r0, [r4, 0x10] - ldrh r0, [r4, 0x2] - bl ItemPc_GetItemQuantityBySlotId - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bne _0810E3F4 - movs r0, 0 - bl PutWindowTilemap - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - adds r0, r5, 0 - bl sub_810E418 - b _0810E40E - .align 2, 0 -_0810E3F0: .4byte gTasks+0x8 -_0810E3F4: - movs r0, 0 - bl PutWindowTilemap - ldrh r0, [r4, 0x2] - bl sub_810E5E0 - bl sub_810DB98 - adds r0, r7, 0 - subs r0, 0x8 - adds r0, r6, r0 - ldr r1, _0810E414 @ =sub_810E6D8 - str r1, [r0] -_0810E40E: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0810E414: .4byte sub_810E6D8 - thumb_func_end sub_810E3A4 - - thumb_func_start sub_810E418 -sub_810E418: @ 810E418 - push {r4-r7,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r6, r1, 3 - ldr r7, _0810E49C @ =gTasks+0x8 - adds r5, r6, r7 - ldrh r0, [r5, 0x2] - bl ItemPc_GetItemIdBySlotId - lsls r0, 16 - lsrs r4, r0, 16 - ldrh r1, [r5, 0x10] - adds r0, r4, 0 - bl AddBagItem - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0810E4B8 - ldr r3, _0810E4A0 @ =0x0000ffff - movs r0, 0x1D - movs r1, 0 - adds r2, r4, 0 - bl sub_80A2294 - ldr r1, _0810E4A4 @ =gStringVar1 - adds r0, r4, 0 - bl CopyItemName - ldr r0, _0810E4A8 @ =gStringVar2 - movs r2, 0x10 - ldrsh r1, [r5, r2] - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r4, _0810E4AC @ =gStringVar4 - ldr r1, _0810E4B0 @ =gUnknown_84177C5 - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0x2 - bl sub_810EAB4 - lsls r0, 24 - lsrs r1, r0, 24 - movs r0, 0x2 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - adds r0, r1, 0 - movs r1, 0x2 - adds r2, r4, 0 - movs r3, 0 - bl AddTextPrinterParameterized - adds r0, r7, 0 - subs r0, 0x8 - adds r0, r6, r0 - ldr r1, _0810E4B4 @ =sub_810E4F4 - b _0810E4E0 - .align 2, 0 -_0810E49C: .4byte gTasks+0x8 -_0810E4A0: .4byte 0x0000ffff -_0810E4A4: .4byte gStringVar1 -_0810E4A8: .4byte gStringVar2 -_0810E4AC: .4byte gStringVar4 -_0810E4B0: .4byte gUnknown_84177C5 -_0810E4B4: .4byte sub_810E4F4 -_0810E4B8: - movs r0, 0x2 - bl sub_810EAB4 - lsls r0, 24 - lsrs r1, r0, 24 - ldr r2, _0810E4EC @ =gUnknown_841778A - movs r0, 0x2 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - adds r0, r1, 0 - movs r1, 0x2 - movs r3, 0 - bl AddTextPrinterParameterized - adds r0, r7, 0 - subs r0, 0x8 - adds r0, r6, r0 - ldr r1, _0810E4F0 @ =sub_810E548 -_0810E4E0: - str r1, [r0] - add sp, 0xC - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0810E4EC: .4byte gUnknown_841778A -_0810E4F0: .4byte sub_810E548 - thumb_func_end sub_810E418 - - thumb_func_start sub_810E4F4 -sub_810E4F4: @ 810E4F4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - adds r4, r0, 0 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _0810E540 @ =gTasks+0x8 - adds r5, r0, r1 - ldr r0, _0810E544 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0810E51A - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0810E53A -_0810E51A: - movs r0, 0x5 - bl PlaySE - ldrh r0, [r5, 0x2] - bl ItemPc_GetItemIdBySlotId - lsls r0, 16 - lsrs r0, 16 - ldrh r1, [r5, 0x10] - bl sub_809A460 - bl sub_809A4E8 - adds r0, r4, 0 - bl sub_810E578 -_0810E53A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810E540: .4byte gTasks+0x8 -_0810E544: .4byte gMain - thumb_func_end sub_810E4F4 - - thumb_func_start sub_810E548 -sub_810E548: @ 810E548 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0810E574 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0810E562 - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0810E56E -_0810E562: - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl sub_810E578 -_0810E56E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810E574: .4byte gMain - thumb_func_end sub_810E548 - thumb_func_start sub_810E578 sub_810E578: @ 810E578 push {r4-r6,lr} diff --git a/data/data_83FECCC.s b/data/data_83FECCC.s index 33feb4cee..6a38913d5 100644 --- a/data/data_83FECCC.s +++ b/data/data_83FECCC.s @@ -1272,7 +1272,10 @@ gUnknown_841786B:: @ 841786B .incbin "baserom.gba", 0x41786B, 0x3C gUnknown_84178A7:: @ 84178A7 - .incbin "baserom.gba", 0x4178A7, 0x17 + .incbin "baserom.gba", 0x4178A7, 0xE + +gUnknown_84178B5:: + .incbin "baserom.gba", 0x4178B5, 0x9 gUnknown_84178BE:: @ 84178BE .incbin "baserom.gba", 0x4178BE, 0x12 @@ -3071,9 +3074,6 @@ gUnknown_8453094:: @ 8453094 .section .rodata.8453F6C // item_pc.o -gUnknown_8453F74:: @ 8453F74 - .incbin "baserom.gba", 0x453F74, 0x18 - gUnknown_8453F8C:: @ 8453F8C .incbin "baserom.gba", 0x453F8C, 0xC diff --git a/include/item.h b/include/item.h index 9d67bec66..08133ef31 100644 --- a/include/item.h +++ b/include/item.h @@ -74,5 +74,6 @@ void sub_809A584(struct ItemSlot * slots, u8 capacity); u16 GetBagItemId(u16 *); void sub_809A4E8(void); +void sub_809A460(u16 itemId, u16 quantity); #endif // ITEM_H diff --git a/include/menu.h b/include/menu.h index 08112c891..74c4025b8 100644 --- a/include/menu.h +++ b/include/menu.h @@ -50,5 +50,6 @@ void StartBlendTask(u8 eva_start, u8 evb_start, u8 eva_end, u8 evb_end, u8 ev_st bool8 IsBlendTaskActive(void); void AddItemMenuActionTextPrinters(u8 windowId, u8 fontId, u8 left, u8 top, u8 letterSpacing, u8 lineHeight, u8 itemCount, const struct MenuAction *strs, const u8 *a8); void sub_810F260(u8 windowId, u8 a1); +void PrintTextArray(u8, u8, u8, u8, u8, u8, const struct MenuAction *); #endif // GUARD_MENU_H diff --git a/include/strings.h b/include/strings.h index 822bd4783..e9a6be2bd 100644 --- a/include/strings.h +++ b/include/strings.h @@ -149,9 +149,15 @@ extern const u8 gString_Someone[]; extern const u8 gString_Help[]; extern const u8 gString_HelpSystem_ClearTo8[]; +extern const u8 gOtherText_Give[]; +extern const u8 gFameCheckerText_Cancel[]; +extern const u8 gUnknown_84162FF[]; extern const u8 gUnknown_841633F[]; extern const u8 gUnknown_8416655[]; +extern const u8 gUnknown_841778A[]; +extern const u8 gUnknown_84177C5[]; extern const u8 gUnknown_84178A7[]; +extern const u8 gUnknown_84178B5[]; extern const u8 gUnknown_84178BE[]; #endif //GUARD_STRINGS_H diff --git a/src/item_pc.c b/src/item_pc.c index 7a3fbd7af..753463761 100644 --- a/src/item_pc.c +++ b/src/item_pc.c @@ -9,6 +9,7 @@ #include "item_menu.h" #include "item_menu_icons.h" #include "list_menu.h" +#include "item_use.h" #include "main.h" #include "malloc.h" #include "menu.h" @@ -82,8 +83,21 @@ void sub_810E0B4(u8 taskId); void sub_810E160(u8 taskId, u32 pos); void sub_810E200(u8 taskId, u32 pos); void sub_810E274(u8 taskId); +void sub_810E358(u8 taskId); +void sub_810E3A4(u8 taskId); +void sub_810E418(u8 taskId); +void sub_810E4F4(u8 taskId); +void sub_810E548(u8 taskId); +void sub_810E578(u8 taskId); +void sub_810E5E0(u16 itemId); +void sub_810E6D8(u8 taskId); +void sub_810E79C(u8 taskId); +void sub_810E8A0(u8 taskId); void sub_810E8F0(void); void sub_810EA34(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, u8 speed, u8 colorIdx); +void sub_810EA9C(u8 windowId); +u8 sub_810EAB4(u8 idx); +void sub_810EAF0(u8 idx); const struct BgTemplate gUnknown_8453F6C[2] = { { @@ -99,6 +113,12 @@ const struct BgTemplate gUnknown_8453F6C[2] = { } }; +const struct MenuAction gUnknown_8453F74[] = { + {gUnknown_84178B5, {.void_u8 = sub_810E3A4}}, + {gOtherText_Give, {.void_u8 = sub_810E79C}}, + {gFameCheckerText_Cancel, {.void_u8 = sub_810E8A0}} +}; + void sub_810D3F4(u8 a0, MainCallback callback) { u8 i; @@ -723,3 +743,107 @@ void sub_810E200(u8 taskId, u32 pos) sub_8098660(1); gTasks[taskId].func = sub_810DEA0; } + +void sub_810E274(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + u8 windowId; + + sub_810EA9C(4); + windowId = sub_810EAB4(0); + PrintTextArray(4, 2, 8, 2, GetFontAttribute(2, FONTATTR_MAX_LETTER_HEIGHT) + 2, 3, gUnknown_8453F74); + ProgramAndPlaceMenuCursorOnWindow(4, 2, 0, 2, GetFontAttribute(2, FONTATTR_MAX_LETTER_HEIGHT) + 2, 3, 0); + CopyItemName(ItemPc_GetItemIdBySlotId(data[1]), gStringVar1); + StringExpandPlaceholders(gStringVar4, gUnknown_84162FF); + sub_810EA34(windowId, 2, gStringVar4, 0, 2, 1, 0, 0, 1); + schedule_bg_copy_tilemap_to_vram(0); + gTasks[taskId].func = sub_810E358; +} + +void sub_810E358(u8 taskId) +{ + s8 input = ProcessMenuInputNoWrapAround(); + switch (input) + { + case -1: + PlaySE(SE_SELECT); + sub_810E8A0(taskId); + break; + case -2: + break; + default: + PlaySE(SE_SELECT); + gUnknown_8453F74[input].func.void_u8(taskId); + } +} + +void sub_810E3A4(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + sub_810F4D8(4, 0); + sub_810EAF0(0); + ClearWindowTilemap(4); + data[8] = 1; + if (ItemPc_GetItemQuantityBySlotId(data[1]) == 1) + { + PutWindowTilemap(0); + schedule_bg_copy_tilemap_to_vram(0); + sub_810E418(taskId); + } + else + { + PutWindowTilemap(0); + sub_810E5E0(data[1]); + sub_810DB98(); + gTasks[taskId].func = sub_810E6D8; + } +} + +void sub_810E418(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + u16 itemId = ItemPc_GetItemIdBySlotId(data[1]); + u8 windowId; + + if (AddBagItem(itemId, data[8]) == TRUE) + { + sub_80A2294(29, 0, itemId, 0xFFFF); + CopyItemName(itemId, gStringVar1); + ConvertIntToDecimalStringN(gStringVar2, data[8], STR_CONV_MODE_LEFT_ALIGN, 3); + StringExpandPlaceholders(gStringVar4, gUnknown_84177C5); + windowId = sub_810EAB4(2); + AddTextPrinterParameterized(windowId, 2, gStringVar4, 0, 2, 0, NULL); + gTasks[taskId].func = sub_810E4F4; + } + else + { + windowId = sub_810EAB4(2); + AddTextPrinterParameterized(windowId, 2, gUnknown_841778A, 0, 2, 0, NULL); + gTasks[taskId].func = sub_810E548; + } +} + +void sub_810E4F4(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + u16 itemId; + + if (JOY_NEW(A_BUTTON) || JOY_NEW(B_BUTTON)) + { + PlaySE(SE_SELECT); + itemId = ItemPc_GetItemIdBySlotId(data[1]); + sub_809A460(itemId, data[8]); + sub_809A4E8(); + sub_810E578(taskId); + } +} + +void sub_810E548(u8 taskId) +{ + if (JOY_NEW(A_BUTTON) || JOY_NEW(B_BUTTON)) + { + PlaySE(SE_SELECT); + sub_810E578(taskId); + } +} -- cgit v1.2.3 From 632a7e8c08158470cbe5120fc8c8ec0141fe7303 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 16 Jun 2019 21:14:16 -0400 Subject: finish item_pc --- asm/item_pc.s | 728 --------------------------------------------------- data/data_83FECCC.s | 11 +- include/party_menu.h | 1 + include/strings.h | 1 + src/item_pc.c | 305 ++++++++++++++++++++- sym_ewram.txt | 4 +- 6 files changed, 307 insertions(+), 743 deletions(-) delete mode 100644 asm/item_pc.s diff --git a/asm/item_pc.s b/asm/item_pc.s deleted file mode 100644 index 49de9cebb..000000000 --- a/asm/item_pc.s +++ /dev/null @@ -1,728 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_810E578 -sub_810E578: @ 810E578 - push {r4-r6,lr} - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - lsls r5, r6, 2 - adds r5, r6 - lsls r5, 3 - ldr r0, _0810E5D4 @ =gTasks+0x8 - adds r5, r0 - movs r0, 0x2 - bl sub_810EAF0 - movs r0, 0x1 - bl PutWindowTilemap - ldrb r0, [r5] - ldr r4, _0810E5D8 @ =gUnknown_203ADCC + 0x4 - adds r2, r4, 0x2 - adds r1, r4, 0 - bl DestroyListMenu - bl sub_810DDA4 - bl sub_810DBF0 - bl sub_810D878 - ldr r0, _0810E5DC @ =gMultiuseListMenuTemplate - subs r4, 0x4 - ldrh r1, [r4, 0x4] - ldrh r2, [r4, 0x6] - bl ListMenuInit - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5] - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - adds r0, r6, 0 - bl sub_810DFB0 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0810E5D4: .4byte gTasks+0x8 -_0810E5D8: .4byte gUnknown_203ADCC + 0x4 -_0810E5DC: .4byte gMultiuseListMenuTemplate - thumb_func_end sub_810E578 - - thumb_func_start sub_810E5E0 -sub_810E5E0: @ 810E5E0 - push {r4-r6,lr} - sub sp, 0x14 - lsls r0, 16 - lsrs r0, 16 - bl ItemPc_GetItemIdBySlotId - lsls r0, 16 - lsrs r0, 16 - ldr r6, _0810E660 @ =gStringVar1 - adds r1, r6, 0 - bl CopyItemName - ldr r5, _0810E664 @ =gStringVar4 - ldr r1, _0810E668 @ =gUnknown_84177AC - adds r0, r5, 0 - bl StringExpandPlaceholders - movs r0, 0x1 - bl sub_810EAB4 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - str r1, [sp] - movs r4, 0 - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r2, r5, 0 - movs r3, 0 - bl AddTextPrinterParameterized - adds r0, r6, 0 - movs r1, 0x1 - movs r2, 0x2 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r1, _0810E66C @ =gText_TimesStrVar1 - adds r0, r5, 0 - bl StringExpandPlaceholders - movs r0, 0x3 - bl sub_810EA9C - movs r0, 0xA - str r0, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - str r0, [sp, 0x10] - movs r0, 0x3 - movs r1, 0 - adds r2, r5, 0 - movs r3, 0x8 - bl sub_810EA34 - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - add sp, 0x14 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0810E660: .4byte gStringVar1 -_0810E664: .4byte gStringVar4 -_0810E668: .4byte gUnknown_84177AC -_0810E66C: .4byte gText_TimesStrVar1 - thumb_func_end sub_810E5E0 - - thumb_func_start sub_810E670 -sub_810E670: @ 810E670 - push {r4,lr} - sub sp, 0x14 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - movs r0, 0x1C - str r0, [sp] - movs r0, 0xC - str r0, [sp, 0x4] - movs r0, 0x3 - movs r1, 0x11 - movs r2, 0xA - movs r3, 0xA - bl FillWindowPixelRect - ldr r0, _0810E6CC @ =gStringVar1 - lsls r4, 16 - asrs r4, 16 - adds r1, r4, 0 - movs r2, 0x2 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r4, _0810E6D0 @ =gStringVar4 - ldr r1, _0810E6D4 @ =gText_TimesStrVar1 - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0xA - str r0, [sp] - movs r1, 0x1 - str r1, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - str r0, [sp, 0xC] - str r1, [sp, 0x10] - movs r0, 0x3 - movs r1, 0 - adds r2, r4, 0 - movs r3, 0x8 - bl sub_810EA34 - add sp, 0x14 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810E6CC: .4byte gStringVar1 -_0810E6D0: .4byte gStringVar4 -_0810E6D4: .4byte gText_TimesStrVar1 - thumb_func_end sub_810E670 - - thumb_func_start sub_810E6D8 -sub_810E6D8: @ 810E6D8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r6, r5, 0 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0810E708 @ =gTasks+0x8 - adds r4, r0, r1 - adds r0, r4, 0 - adds r0, 0x10 - ldrh r1, [r4, 0x4] - bl sub_80BF848 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0810E70C - movs r1, 0x10 - ldrsh r0, [r4, r1] - bl sub_810E670 - b _0810E796 - .align 2, 0 -_0810E708: .4byte gTasks+0x8 -_0810E70C: - ldr r0, _0810E74C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0810E750 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - bl sub_810EAF0 - movs r0, 0x3 - bl ClearWindowTilemap - movs r0, 0 - bl PutWindowTilemap - ldrb r0, [r4] - movs r1, 0x1 - bl sub_810DAB4 - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - bl sub_810DBD0 - adds r0, r5, 0 - bl sub_810E418 - b _0810E796 - .align 2, 0 -_0810E74C: .4byte gMain -_0810E750: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0810E796 - movs r0, 0x5 - bl PlaySE - movs r0, 0x3 - movs r1, 0 - bl sub_810F4D8 - movs r0, 0x1 - bl sub_810EAF0 - movs r0, 0x3 - bl ClearWindowTilemap - movs r0, 0 - bl PutWindowTilemap - movs r0, 0x1 - bl PutWindowTilemap - ldrb r0, [r4] - movs r1, 0x1 - bl sub_810DAB4 - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - bl sub_810DBD0 - adds r0, r6, 0 - bl sub_810DFB0 -_0810E796: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_810E6D8 - - thumb_func_start sub_810E79C -sub_810E79C: @ 810E79C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl CalculatePlayerPartyCount - lsls r0, 24 - cmp r0, 0 - bne _0810E7DC - movs r0, 0x4 - movs r1, 0 - bl sub_810F4D8 - movs r0, 0 - bl sub_810EAF0 - movs r0, 0x4 - bl ClearWindowTilemap - movs r0, 0 - bl PutWindowTilemap - ldr r1, _0810E7D4 @ =gText_ThereIsNoPokemon - ldr r2, _0810E7D8 @ =sub_810E848 - adds r0, r4, 0 - bl sub_810EB30 - b _0810E7EA - .align 2, 0 -_0810E7D4: .4byte gText_ThereIsNoPokemon -_0810E7D8: .4byte sub_810E848 -_0810E7DC: - ldr r0, _0810E7F0 @ =gUnknown_203ADBC - ldr r1, [r0] - ldr r0, _0810E7F4 @ =sub_810E7F8 - str r0, [r1] - adds r0, r4, 0 - bl sub_810DC8C -_0810E7EA: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810E7F0: .4byte gUnknown_203ADBC -_0810E7F4: .4byte sub_810E7F8 - thumb_func_end sub_810E79C - - thumb_func_start sub_810E7F8 -sub_810E7F8: @ 810E7F8 - push {lr} - sub sp, 0xC - movs r0, 0x6 - str r0, [sp] - ldr r0, _0810E82C @ =sub_811FB28 - str r0, [sp, 0x4] - ldr r0, _0810E830 @ =sub_810E838 - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0 - movs r2, 0x6 - movs r3, 0 - bl sub_811EA44 - bl sub_810DD54 - lsls r0, 24 - lsrs r0, 24 - bl ItemPc_GetItemIdBySlotId - ldr r1, _0810E834 @ =gUnknown_203B0A0 - strh r0, [r1, 0xC] - add sp, 0xC - pop {r0} - bx r0 - .align 2, 0 -_0810E82C: .4byte sub_811FB28 -_0810E830: .4byte sub_810E838 -_0810E834: .4byte gUnknown_203B0A0 - thumb_func_end sub_810E7F8 - - thumb_func_start sub_810E838 -sub_810E838: @ 810E838 - push {lr} - movs r0, 0x1 - movs r1, 0 - bl sub_810D3F4 - pop {r0} - bx r0 - thumb_func_end sub_810E838 - - thumb_func_start sub_810E848 -sub_810E848: @ 810E848 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _0810E898 @ =gTasks+0x8 - adds r5, r0, r1 - ldr r0, _0810E89C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0810E892 - movs r0, 0x5 - bl PlaySE - movs r0, 0x5 - movs r1, 0 - bl sub_810F260 - movs r0, 0x5 - bl ClearWindowTilemap - movs r0, 0x1 - bl PutWindowTilemap - ldrb r0, [r5] - movs r1, 0x1 - bl sub_810DAB4 - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - adds r0, r4, 0 - bl sub_810DFB0 -_0810E892: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810E898: .4byte gTasks+0x8 -_0810E89C: .4byte gMain - thumb_func_end sub_810E848 - - thumb_func_start sub_810E8A0 -sub_810E8A0: @ 810E8A0 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - ldr r0, _0810E8EC @ =gTasks+0x8 - adds r4, r0 - movs r0, 0x4 - movs r1, 0 - bl sub_810F4D8 - movs r0, 0 - bl sub_810EAF0 - movs r0, 0x4 - bl ClearWindowTilemap - movs r0, 0 - bl PutWindowTilemap - movs r0, 0x1 - bl PutWindowTilemap - ldrb r0, [r4] - movs r1, 0x1 - bl sub_810DAB4 - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - adds r0, r5, 0 - bl sub_810DFB0 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810E8EC: .4byte gTasks+0x8 - thumb_func_end sub_810E8A0 - - thumb_func_start sub_810E8F0 -sub_810E8F0: @ 810E8F0 - push {r4,lr} - ldr r0, _0810E974 @ =gUnknown_8453F98 - bl InitWindows - bl DeactivateAllTextPrinters - movs r1, 0xF0 - lsls r1, 2 - movs r0, 0 - movs r2, 0xE0 - bl sub_815001C - ldr r1, _0810E978 @ =0x000003a3 - movs r0, 0 - movs r2, 0xC0 - bl sub_814FF2C - movs r1, 0xEB - lsls r1, 2 - movs r0, 0 - movs r2, 0xB0 - bl sub_814FEAC - movs r0, 0x2 - bl stdpal_get - movs r1, 0xD0 - movs r2, 0x20 - bl LoadPalette - ldr r0, _0810E97C @ =gTMCaseMainWindowPalette - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - movs r4, 0 -_0810E938: - adds r0, r4, 0 - movs r1, 0 - bl FillWindowPixelBuffer - adds r0, r4, 0 - bl PutWindowTilemap - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x2 - bls _0810E938 - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - movs r4, 0 - ldr r3, _0810E980 @ =gUnknown_203ADD8 - movs r2, 0xFF -_0810E95C: - adds r0, r4, r3 - ldrb r1, [r0] - orrs r1, r2 - strb r1, [r0] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x2 - bls _0810E95C - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810E974: .4byte gUnknown_8453F98 -_0810E978: .4byte 0x000003a3 -_0810E97C: .4byte gTMCaseMainWindowPalette -_0810E980: .4byte gUnknown_203ADD8 - thumb_func_end sub_810E8F0 - - thumb_func_start sub_810E984 -sub_810E984: @ 810E984 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x10 - ldr r6, [sp, 0x28] - ldr r4, [sp, 0x2C] - mov r8, r4 - ldr r4, [sp, 0x30] - mov r9, r4 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - lsls r6, 24 - lsrs r6, 24 - mov r4, r8 - lsls r4, 24 - lsrs r4, 24 - mov r8, r4 - mov r4, r9 - lsls r4, 24 - lsrs r4, 24 - mov r9, r4 - str r1, [sp] - mov r1, sp - strb r0, [r1, 0x4] - movs r0, 0x3 - strb r0, [r1, 0x5] - mov r0, sp - strb r2, [r0, 0x6] - strb r3, [r0, 0x7] - strb r2, [r0, 0x8] - strb r3, [r0, 0x9] - mov r2, sp - ldrb r1, [r2, 0xC] - movs r5, 0xF - adds r0, r5, 0 - ands r0, r1 - movs r1, 0x20 - orrs r0, r1 - strb r0, [r2, 0xC] - ldrb r1, [r2, 0xD] - movs r4, 0x10 - negs r4, r4 - adds r0, r4, 0 - ands r0, r1 - strb r0, [r2, 0xD] - mov r1, sp - movs r0, 0x30 - strb r0, [r1, 0xD] - movs r0, 0x3 - movs r1, 0x4 - bl GetFontAttribute - mov r1, sp - ands r5, r0 - ldrb r0, [r1, 0xC] - ands r4, r0 - orrs r4, r5 - strb r4, [r1, 0xC] - movs r0, 0x3 - movs r1, 0x2 - bl GetFontAttribute - mov r1, sp - adds r6, r0 - strb r6, [r1, 0xA] - movs r0, 0x3 - movs r1, 0x3 - bl GetFontAttribute - mov r1, sp - add r8, r0 - mov r0, r8 - strb r0, [r1, 0xB] - mov r0, sp - mov r1, r9 - movs r2, 0 - bl AddTextPrinter - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_810E984 - - thumb_func_start sub_810EA34 -sub_810EA34: @ 810EA34 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x14 - mov r9, r3 - ldr r3, [sp, 0x30] - ldr r4, [sp, 0x34] - ldr r6, [sp, 0x38] - ldr r5, [sp, 0x3C] - mov r8, r5 - ldr r5, [sp, 0x40] - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - mov r7, r9 - lsls r7, 24 - lsrs r7, 24 - mov r9, r7 - lsls r3, 24 - lsrs r3, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r6, 24 - lsrs r6, 24 - lsls r5, 24 - lsrs r5, 24 - str r4, [sp] - str r6, [sp, 0x4] - lsls r4, r5, 1 - adds r4, r5 - ldr r5, _0810EA98 @ =gUnknown_8453F8C - adds r4, r5 - str r4, [sp, 0x8] - mov r4, r8 - lsls r4, 24 - asrs r4, 24 - str r4, [sp, 0xC] - str r2, [sp, 0x10] - mov r2, r9 - bl AddTextPrinterParameterized4 - add sp, 0x14 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0810EA98: .4byte gUnknown_8453F8C - thumb_func_end sub_810EA34 - - thumb_func_start sub_810EA9C -sub_810EA9C: @ 810EA9C - push {lr} - lsls r0, 24 - lsrs r0, 24 - movs r2, 0xF0 - lsls r2, 2 - movs r1, 0 - movs r3, 0xE - bl SetWindowBorderStyle - pop {r0} - bx r0 - thumb_func_end sub_810EA9C - - thumb_func_start sub_810EAB4 -sub_810EAB4: @ 810EAB4 - push {r4,lr} - lsls r0, 24 - lsrs r1, r0, 24 - ldr r0, _0810EAE4 @ =gUnknown_203ADD8 - adds r4, r1, r0 - ldrb r0, [r4] - cmp r0, 0xFF - bne _0810EADC - lsls r0, r1, 3 - ldr r1, _0810EAE8 @ =gUnknown_8453FD0 - adds r0, r1 - bl AddWindow - strb r0, [r4] - ldrb r0, [r4] - ldr r2, _0810EAEC @ =0x000003a3 - movs r1, 0x1 - movs r3, 0xC - bl SetWindowBorderStyle -_0810EADC: - ldrb r0, [r4] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0810EAE4: .4byte gUnknown_203ADD8 -_0810EAE8: .4byte gUnknown_8453FD0 -_0810EAEC: .4byte 0x000003a3 - thumb_func_end sub_810EAB4 - - thumb_func_start sub_810EAF0 -sub_810EAF0: @ 810EAF0 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _0810EB1C @ =gUnknown_203ADD8 - adds r4, r0 - ldrb r0, [r4] - movs r1, 0 - bl sub_810F4D8 - ldrb r0, [r4] - bl ClearWindowTilemap - ldrb r0, [r4] - bl RemoveWindow - movs r0, 0xFF - strb r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810EB1C: .4byte gUnknown_203ADD8 - thumb_func_end sub_810EAF0 - - thumb_func_start sub_810EB20 -sub_810EB20: @ 810EB20 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0810EB2C @ =gUnknown_203ADD8 - adds r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_0810EB2C: .4byte gUnknown_203ADD8 - thumb_func_end sub_810EB20 - - thumb_func_start sub_810EB30 -sub_810EB30: @ 810EB30 - push {r4-r6,lr} - sub sp, 0x10 - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - lsls r4, 24 - lsrs r4, 24 - bl GetTextSpeedSetting - lsls r0, 24 - lsrs r0, 24 - movs r2, 0xEB - lsls r2, 2 - movs r1, 0x2 - str r1, [sp] - str r0, [sp, 0x4] - str r5, [sp, 0x8] - str r6, [sp, 0xC] - adds r0, r4, 0 - movs r1, 0x5 - movs r3, 0xB - bl DisplayMessageAndContinueTask - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - add sp, 0x10 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_810EB30 - - .align 2, 0 @ Don't pad with nop. diff --git a/data/data_83FECCC.s b/data/data_83FECCC.s index 6a38913d5..2481f64d6 100644 --- a/data/data_83FECCC.s +++ b/data/data_83FECCC.s @@ -3073,16 +3073,7 @@ gUnknown_8453094:: @ 8453094 .section .rodata.8453F6C -// item_pc.o -gUnknown_8453F8C:: @ 8453F8C - .incbin "baserom.gba", 0x453F8C, 0xC - -gUnknown_8453F98:: @ 8453F98 - .incbin "baserom.gba", 0x453F98, 0x38 - -gUnknown_8453FD0:: @ 8453FD0 - .incbin "baserom.gba", 0x453FD0, 0x18 - +// mailbox_pc.o gUnknown_8453FE8:: @ 8453FE8 .incbin "baserom.gba", 0x453FE8, 0x18 diff --git a/include/party_menu.h b/include/party_menu.h index 01cd0ef57..144e735de 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -51,5 +51,6 @@ void sub_8120760(u8 taskId, u8 a1, s8 a2, s16 amount, TaskFunc followupFunc); void GetMonNickname(const struct Pokemon * mon, u8 * dest); void sub_81202F8(const u8 * src, u8 a1); bool8 sub_8120370(void); +void sub_811EA44(u8 a, u8 b, u8 c, u8 d, u8 messageId, TaskFunc task, MainCallback callback); #endif // GUARD_PARTY_MENU_H diff --git a/include/strings.h b/include/strings.h index e9a6be2bd..fbdfeec2d 100644 --- a/include/strings.h +++ b/include/strings.h @@ -155,6 +155,7 @@ extern const u8 gUnknown_84162FF[]; extern const u8 gUnknown_841633F[]; extern const u8 gUnknown_8416655[]; extern const u8 gUnknown_841778A[]; +extern const u8 gUnknown_84177AC[]; extern const u8 gUnknown_84177C5[]; extern const u8 gUnknown_84178A7[]; extern const u8 gUnknown_84178B5[]; diff --git a/src/item_pc.c b/src/item_pc.c index 753463761..f158831c9 100644 --- a/src/item_pc.c +++ b/src/item_pc.c @@ -24,6 +24,7 @@ #include "string_util.h" #include "strings.h" #include "task.h" +#include "text_window.h" #include "constants/items.h" #include "constants/songs.h" @@ -52,6 +53,7 @@ EWRAM_DATA u8 * gUnknown_203ADC0 = NULL; EWRAM_DATA struct ListMenuItem * gUnknown_203ADC4 = NULL; EWRAM_DATA void * gUnknown_203ADC8 = NULL; EWRAM_DATA struct ItemPcStaticResources gUnknown_203ADCC = {}; +EWRAM_DATA u8 gUnknown_203ADD8[3] = {}; extern const struct CompressedSpriteSheet gUnknown_83D4240; extern const struct CompressedSpritePalette gUnknown_83D4248; @@ -89,15 +91,19 @@ void sub_810E418(u8 taskId); void sub_810E4F4(u8 taskId); void sub_810E548(u8 taskId); void sub_810E578(u8 taskId); -void sub_810E5E0(u16 itemId); +void sub_810E5E0(u16 slotId); void sub_810E6D8(u8 taskId); void sub_810E79C(u8 taskId); +void sub_810E7F8(void); +void sub_810E838(void); +void sub_810E848(u8 taskId); void sub_810E8A0(u8 taskId); void sub_810E8F0(void); void sub_810EA34(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, u8 speed, u8 colorIdx); void sub_810EA9C(u8 windowId); u8 sub_810EAB4(u8 idx); void sub_810EAF0(u8 idx); +void sub_810EB30(u8 taskId, const u8 * str, TaskFunc taskFunc); const struct BgTemplate gUnknown_8453F6C[2] = { { @@ -119,6 +125,93 @@ const struct MenuAction gUnknown_8453F74[] = { {gFameCheckerText_Cancel, {.void_u8 = sub_810E8A0}} }; +const struct TextColor gUnknown_8453F8C[] = { + {0, 1, 2}, + {0, 2, 3}, + {0, 3, 2}, + {0, 10, 2} +}; + +const struct WindowTemplate gUnknown_8453F98[] = { + { + .bg = 0, + .tilemapLeft = 0x07, + .tilemapTop = 0x01, + .width = 0x13, + .height = 0x0c, + .paletteNum = 0x0f, + .baseBlock = 0x02bf + }, { + .bg = 0, + .tilemapLeft = 0x05, + .tilemapTop = 0x0e, + .width = 0x19, + .height = 0x06, + .paletteNum = 0x0d, + .baseBlock = 0x0229 + }, { + .bg = 0, + .tilemapLeft = 0x01, + .tilemapTop = 0x01, + .width = 0x05, + .height = 0x04, + .paletteNum = 0x0f, + .baseBlock = 0x0215 + }, { + .bg = 0, + .tilemapLeft = 0x18, + .tilemapTop = 0x0f, + .width = 0x05, + .height = 0x04, + .paletteNum = 0x0f, + .baseBlock = 0x0201 + }, { + .bg = 0, + .tilemapLeft = 0x16, + .tilemapTop = 0x0d, + .width = 0x07, + .height = 0x06, + .paletteNum = 0x0f, + .baseBlock = 0x01d7 + }, { + .bg = 0, + .tilemapLeft = 0x02, + .tilemapTop = 0x0f, + .width = 0x1a, + .height = 0x04, + .paletteNum = 0x0b, + .baseBlock = 0x016f + }, DUMMY_WIN_TEMPLATE +}; + +const struct WindowTemplate gUnknown_8453FD0[] = { + { + .bg = 0, + .tilemapLeft = 0x06, + .tilemapTop = 0x0f, + .width = 0x0e, + .height = 0x04, + .paletteNum = 0x0c, + .baseBlock = 0x0137 + }, { + .bg = 0, + .tilemapLeft = 0x06, + .tilemapTop = 0x0f, + .width = 0x10, + .height = 0x04, + .paletteNum = 0x0c, + .baseBlock = 0x0137 + }, { + .bg = 0, + .tilemapLeft = 0x06, + .tilemapTop = 0x0f, + .width = 0x17, + .height = 0x04, + .paletteNum = 0x0c, + .baseBlock = 0x009b + } +}; + void sub_810D3F4(u8 a0, MainCallback callback) { u8 i; @@ -781,7 +874,7 @@ void sub_810E3A4(u8 taskId) { s16 * data = gTasks[taskId].data; - sub_810F4D8(4, 0); + sub_810F4D8(4, FALSE); sub_810EAF0(0); ClearWindowTilemap(4); data[8] = 1; @@ -847,3 +940,211 @@ void sub_810E548(u8 taskId) sub_810E578(taskId); } } + +void sub_810E578(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + sub_810EAF0(2); + PutWindowTilemap(1); + DestroyListMenu(data[0], &gUnknown_203ADCC.field_4, &gUnknown_203ADCC.field_6); + sub_810DDA4(); + sub_810DBF0(); + sub_810D878(); + data[0] = ListMenuInit(&gMultiuseListMenuTemplate, gUnknown_203ADCC.field_4, gUnknown_203ADCC.field_6); + schedule_bg_copy_tilemap_to_vram(0); + sub_810DFB0(taskId); +} + +void sub_810E5E0(u16 slotId) +{ + u16 itemId = ItemPc_GetItemIdBySlotId(slotId); + + CopyItemName(itemId, gStringVar1); + StringExpandPlaceholders(gStringVar4, gUnknown_84177AC); + AddTextPrinterParameterized(sub_810EAB4(1), 2, gStringVar4, 0, 2, 0, NULL); + ConvertIntToDecimalStringN(gStringVar1, 1, STR_CONV_MODE_LEADING_ZEROS, 3); + StringExpandPlaceholders(gStringVar4, gText_TimesStrVar1); + sub_810EA9C(3); + sub_810EA34(3, 0, gStringVar4, 8, 10, 1, 0, 0, 1); + schedule_bg_copy_tilemap_to_vram(0); +} + +void sub_810E670(s16 quantity) +{ + FillWindowPixelRect(3, 0x11, 10, 10, 28, 12); + ConvertIntToDecimalStringN(gStringVar1, quantity, STR_CONV_MODE_LEADING_ZEROS, 3); + StringExpandPlaceholders(gStringVar4, gText_TimesStrVar1); + sub_810EA34(3, 0, gStringVar4, 8, 10, 1, 0, 0, 1); +} + +void sub_810E6D8(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + if (sub_80BF848(&data[8], data[2]) == TRUE) + sub_810E670(data[8]); + else if (JOY_NEW(A_BUTTON)) + { + PlaySE(SE_SELECT); + sub_810EAF0(1); + ClearWindowTilemap(3); + PutWindowTilemap(0); + sub_810DAB4(data[0], 1); + schedule_bg_copy_tilemap_to_vram(0); + sub_810DBD0(); + sub_810E418(taskId); + } + else if (JOY_NEW(B_BUTTON)) + { + PlaySE(SE_SELECT); + sub_810F4D8(3, FALSE); + sub_810EAF0(1); + ClearWindowTilemap(3); + PutWindowTilemap(0); + PutWindowTilemap(1); + sub_810DAB4(data[0], 1); + schedule_bg_copy_tilemap_to_vram(0); + sub_810DBD0(); + sub_810DFB0(taskId); + } +} + +void sub_810E79C(u8 taskId) +{ + if (CalculatePlayerPartyCount() == 0) + { + sub_810F4D8(4, FALSE); + sub_810EAF0(0); + ClearWindowTilemap(4); + PutWindowTilemap(0); + sub_810EB30(taskId, gText_ThereIsNoPokemon, sub_810E848); + } + else + { + gUnknown_203ADBC->field_00 = sub_810E7F8; + sub_810DC8C(taskId); + } +} + +void sub_810E7F8(void) +{ + sub_811EA44(0, 0, 6, 0, 6, sub_811FB28, sub_810E838); + gUnknown_203B0A0.unkC = ItemPc_GetItemIdBySlotId(sub_810DD54()); +} + +void sub_810E838(void) +{ + sub_810D3F4(1, NULL); +} + +void sub_810E848(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + if (JOY_NEW(A_BUTTON)) + { + PlaySE(SE_SELECT); + sub_810F260(5, 0); + ClearWindowTilemap(5); + PutWindowTilemap(1); + sub_810DAB4(data[0], 1); + schedule_bg_copy_tilemap_to_vram(0); + sub_810DFB0(taskId); + } +} + +void sub_810E8A0(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + sub_810F4D8(4, FALSE); + sub_810EAF0(0); + ClearWindowTilemap(4); + PutWindowTilemap(0); + PutWindowTilemap(1); + sub_810DAB4(data[0], 1); + schedule_bg_copy_tilemap_to_vram(0); + sub_810DFB0(taskId); +} + +void sub_810E8F0(void) +{ + u8 i; + + InitWindows(gUnknown_8453F98); + DeactivateAllTextPrinters(); + sub_815001C(0, 0x3C0, 0xE0); + sub_814FF2C(0, 0x3A3, 0xC0); + sub_814FEAC(0, 0x3AC, 0xB0); + LoadPalette(stdpal_get(2), 0xD0, 0x20); + LoadPalette(gTMCaseMainWindowPalette, 0xF0, 0x20); + for (i = 0; i < 3; i++) + { + FillWindowPixelBuffer(i, 0x00); + PutWindowTilemap(i); + } + schedule_bg_copy_tilemap_to_vram(0); + for (i = 0; i < 3; i++) + gUnknown_203ADD8[i] = 0xFF; +} + +void sub_810E984(u8 windowId, const u8 * string, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, u8 speed) +{ + struct TextPrinterTemplate template; + + template.currentChar = string; + template.windowId = windowId; + template.fontId = 3; + template.x = x; + template.y = y; + template.currentX = x; + template.currentY = y; + template.fgColor = 2; + template.bgColor = 0; + template.shadowColor = 3; + template.unk = GetFontAttribute(3, FONTATTR_UNKNOWN); + template.letterSpacing = letterSpacing + GetFontAttribute(3, FONTATTR_LETTER_SPACING); + template.lineSpacing = lineSpacing + GetFontAttribute(3, FONTATTR_LINE_SPACING); + AddTextPrinter(&template, speed, NULL); +} + +void sub_810EA34(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, u8 speed, u8 colorIdx) +{ + AddTextPrinterParameterized4(windowId, fontId, x, y, letterSpacing, lineSpacing, &gUnknown_8453F8C[colorIdx], speed, str); +} + +void sub_810EA9C(u8 windowId) +{ + SetWindowBorderStyle(windowId, FALSE, 0x3C0, 0x0E); +} + +u8 sub_810EAB4(u8 idx) +{ + if (gUnknown_203ADD8[idx] == 0xFF) + { + gUnknown_203ADD8[idx] = AddWindow(&gUnknown_8453FD0[idx]); + SetWindowBorderStyle(gUnknown_203ADD8[idx], TRUE, 0x3A3, 0x0C); + } + + return gUnknown_203ADD8[idx]; +} + +void sub_810EAF0(u8 idx) +{ + sub_810F4D8(gUnknown_203ADD8[idx], 0); + ClearWindowTilemap(gUnknown_203ADD8[idx]); + RemoveWindow(gUnknown_203ADD8[idx]); + gUnknown_203ADD8[idx] = 0xFF; +} + +u8 sub_810EB20(u8 idx) +{ + return gUnknown_203ADD8[idx]; +} + +void sub_810EB30(u8 taskId, const u8 * str, TaskFunc taskFunc) +{ + DisplayMessageAndContinueTask(taskId, 5, 0x3AC, 0x0B, 2, GetTextSpeedSetting(), str, taskFunc); + schedule_bg_copy_tilemap_to_vram(0); +} diff --git a/sym_ewram.txt b/sym_ewram.txt index 2afd86a0a..058e3aa03 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -1321,9 +1321,7 @@ gSpecialVar_ItemId: @ 203AD30 .align 2 .include "src/item_pc.o" -gUnknown_203ADD8: @ 203ADD8 - .space 0x4 - + .align 2 gUnknown_203ADDC: @ 203ADDC .space 0x4 -- cgit v1.2.3 From 2b750cf44491aee3b2fe8265afb4ac6620500afa Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 17 Jun 2019 10:21:32 -0400 Subject: Rename Item PC symbols --- asm/battle_1.s | 6 +- asm/berry_crush_3.s | 8 +- asm/berry_pouch.s | 26 +- asm/buy_menu_helpers.s | 6 +- asm/clear_save_data_screen.s | 4 +- asm/dodrio_berry_picking.s | 4 +- asm/field_specials.s | 6 +- asm/hall_of_fame.s | 2 +- asm/item.s | 12 +- asm/item_menu.s | 46 +-- asm/item_menu_icons.s | 18 +- asm/item_use.s | 24 +- asm/learn_move.s | 2 +- asm/link_rfu.s | 2 +- asm/link_rfu_3.s | 2 +- asm/list_menu.s | 2 +- asm/mail.s | 2 +- asm/mailbox_pc.s | 2 +- asm/main_menu.s | 2 +- asm/menu.s | 14 +- asm/menu_helpers.s | 8 +- asm/new_menu_helpers.s | 14 +- asm/party_menu.s | 126 +++--- asm/player_pc.s | 12 +- asm/pokemon_jump_2.s | 2 +- asm/pokemon_special_anim.s | 4 +- asm/pokemon_storage_system.s | 8 +- asm/script_menu.s | 2 +- asm/shop.s | 24 +- asm/start_menu.s | 16 +- asm/trade.s | 4 +- asm/union_room_chat.s | 10 +- data/data_835B488.s | 4 +- data/data_83FECCC.s | 50 ++- data/graphics.s | 12 +- graphics/text_window/unk_841F1C8.png | Bin 0 -> 257 bytes include/graphics.h | 6 +- include/item.h | 4 +- include/item_menu.h | 2 +- include/item_menu_icons.h | 6 +- include/item_pc.h | 7 + include/item_use.h | 2 +- include/menu.h | 4 +- include/menu_helpers.h | 2 +- include/new_menu_helpers.h | 2 +- include/party_menu.h | 2 +- include/strings.h | 18 +- include/text_window.h | 6 +- include/text_window_graphics.h | 6 +- include/window.h | 4 +- src/bag.c | 10 +- src/coins.c | 4 +- src/fldeff_softboiled.c | 2 +- src/item_pc.c | 724 +++++++++++++++++------------------ src/money.c | 4 +- src/oak_speech.c | 6 +- src/quest_log.c | 6 +- src/text_window.c | 24 +- src/text_window_graphics.c | 12 +- src/tm_case.c | 40 +- src/trainer_tower.c | 2 +- src/unk_815EDDC.c | 6 +- src/vs_seeker.c | 2 +- src/window.c | 2 +- 64 files changed, 712 insertions(+), 689 deletions(-) create mode 100644 graphics/text_window/unk_841F1C8.png create mode 100644 include/item_pc.h diff --git a/asm/battle_1.s b/asm/battle_1.s index e8bb73629..87cb0e750 100644 --- a/asm/battle_1.s +++ b/asm/battle_1.s @@ -223,11 +223,11 @@ sub_800F380: @ 800F380 movs r0, 0x2 movs r1, 0x12 movs r2, 0x10 - bl sub_815001C + bl TextWindow_SetUserSelectedFrame movs r0, 0x2 movs r1, 0x22 movs r2, 0x10 - bl sub_815001C + bl TextWindow_SetUserSelectedFrame ldr r4, _0800F3F0 @ =gPlttBufferUnfaded adds r0, r4, 0 adds r0, 0xB8 @@ -257,7 +257,7 @@ sub_800F380: @ 800F380 movs r0, 0 movs r1, 0x30 movs r2, 0x70 - bl sub_814FEAC + bl TextWindow_SetBubbleFrame_841F1C8 adds r0, r4, 0 adds r0, 0xEC movs r1, 0 diff --git a/asm/berry_crush_3.s b/asm/berry_crush_3.s index 4972f2566..f447c848f 100644 --- a/asm/berry_crush_3.s +++ b/asm/berry_crush_3.s @@ -2097,7 +2097,7 @@ _0814E6E0: ldr r4, _0814E700 @ =0x0000021d adds r1, r4, 0 movs r2, 0xD0 - bl sub_814FF2C + bl TextWindow_SetStdFrame0_WithPal ldrb r0, [r5] movs r1, 0 adds r2, r4, 0 @@ -2246,7 +2246,7 @@ sub_814E80C: @ 814E80C adds r5, r4, r0 ldrb r0, [r5] movs r1, 0x1 - bl sub_810F4D8 + bl ClearMenuWindow ldrb r0, [r5] bl RemoveWindow adds r0, r4, 0 @@ -2309,7 +2309,7 @@ _0814E876: ldr r4, _0814E8AC @ =0x0000021d adds r1, r4, 0 movs r2, 0xD0 - bl sub_814FF2C + bl TextWindow_SetStdFrame0_WithPal ldrb r0, [r7, 0x2] movs r1, 0 adds r2, r4, 0 @@ -2499,7 +2499,7 @@ _0814EA3C: .4byte gMain _0814EA40: ldrb r0, [r7, 0x2] movs r1, 0x1 - bl sub_810F4D8 + bl ClearMenuWindow ldrb r0, [r7, 0x2] bl ClearWindowTilemap ldrb r0, [r7, 0x2] diff --git a/asm/berry_pouch.s b/asm/berry_pouch.s index 556cccbe0..63ad10a0c 100644 --- a/asm/berry_pouch.s +++ b/asm/berry_pouch.s @@ -130,7 +130,7 @@ _0813CE32: lsrs r0, 24 cmp r0, 0x1 beq _0813CE56 - bl sub_80BF708 + bl MenuHelpers_LinkSomething lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -199,10 +199,10 @@ _0813CEEC: bl ResetSpriteData b _0813CFD2 _0813CEF2: - bl sub_80984D8 + bl ResetItemMenuIconState b _0813CFD2 _0813CEF8: - bl sub_80BF708 + bl MenuHelpers_LinkSomething lsls r0, 24 cmp r0, 0 bne _0813CFD2 @@ -798,7 +798,7 @@ _0813D3D6: ldrb r1, [r0, 0x9] movs r0, 0x1 eors r0, r1 - bl sub_8098940 + bl DestroyItemMenuIcon ldr r1, [r4] ldrb r0, [r1, 0x7] cmp r0, r5 @@ -1028,7 +1028,7 @@ sub_813D594: @ 813D594 movs r1, 0 movs r2, 0x10 movs r3, 0x1E - bl sub_80F6B08 + bl SetBgRectPal movs r0, 0x1 bl schedule_bg_copy_tilemap_to_vram add sp, 0x8 @@ -1869,7 +1869,7 @@ _0813DC18: .4byte gUnknown_203F384 _0813DC1C: .4byte gUnknown_84643B0 _0813DC20: .4byte gUnknown_203F388 _0813DC24: - bl sub_80BF708 + bl MenuHelpers_LinkSomething lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -1985,7 +1985,7 @@ _0813DC86: ldr r1, _0813DD68 @ =gStringVar1 bl sub_813D39C ldr r5, _0813DD6C @ =gStringVar4 - ldr r1, _0813DD70 @ =gUnknown_84162FF + ldr r1, _0813DD70 @ =gOtherText_StrVar1 adds r0, r5, 0 bl StringExpandPlaceholders movs r0, 0x2 @@ -2014,7 +2014,7 @@ _0813DD60: .4byte gUnknown_203F388 _0813DD64: .4byte gUnknown_846437C _0813DD68: .4byte gStringVar1 _0813DD6C: .4byte gStringVar4 -_0813DD70: .4byte gUnknown_84162FF +_0813DD70: .4byte gOtherText_StrVar1 thumb_func_end sub_813DBE4 thumb_func_start sub_813DD74 @@ -3367,15 +3367,15 @@ sub_813E910: @ 813E910 movs r0, 0 movs r1, 0x1 movs r2, 0xE0 - bl sub_815001C + bl TextWindow_SetUserSelectedFrame movs r0, 0 movs r1, 0x13 movs r2, 0xD0 - bl sub_814FEAC + bl TextWindow_SetBubbleFrame_841F1C8 movs r0, 0 movs r1, 0xA movs r2, 0xC0 - bl sub_814FF2C + bl TextWindow_SetStdFrame0_WithPal ldr r0, _0813E998 @ =gTMCaseMainWindowPalette movs r1, 0xF0 movs r2, 0x20 @@ -3562,7 +3562,7 @@ sub_813EA98: @ 813EA98 adds r4, r0 ldrb r0, [r4] movs r1, 0 - bl sub_810F4D8 + bl ClearMenuWindow ldrb r0, [r4] bl ClearWindowTilemap ldrb r0, [r4] @@ -3589,7 +3589,7 @@ sub_813EACC: @ 813EACC cmp r0, 0xFF beq _0813EB04 movs r1, 0 - bl sub_810F260 + bl ClearMenuWindow_BorderThickness2 ldrb r0, [r4] bl ClearWindowTilemap ldrb r0, [r4] diff --git a/asm/buy_menu_helpers.s b/asm/buy_menu_helpers.s index d3cf28b11..ed18eb711 100644 --- a/asm/buy_menu_helpers.s +++ b/asm/buy_menu_helpers.s @@ -24,15 +24,15 @@ _0813F686: movs r0, 0 movs r1, 0x1 movs r2, 0xD0 - bl sub_815001C + bl TextWindow_SetUserSelectedFrame movs r0, 0 movs r1, 0x13 movs r2, 0xE0 - bl sub_814FEAC + bl TextWindow_SetBubbleFrame_841F1C8 movs r0, 0 movs r1, 0xA movs r2, 0xF0 - bl sub_814FF2C + bl TextWindow_SetStdFrame0_WithPal movs r0, 0 bl PutWindowTilemap movs r0, 0x4 diff --git a/asm/clear_save_data_screen.s b/asm/clear_save_data_screen.s index 960621cd1..ccae18c34 100644 --- a/asm/clear_save_data_screen.s +++ b/asm/clear_save_data_screen.s @@ -109,11 +109,11 @@ _080F564A: movs r0, 0 movs r1, 0x1 movs r2, 0xF0 - bl sub_814FF2C + bl TextWindow_SetStdFrame0_WithPal movs r0, 0x1 movs r1, 0x1 movs r2, 0xF0 - bl sub_814FF2C + bl TextWindow_SetStdFrame0_WithPal b _080F56E2 _080F5660: movs r0, 0x1 diff --git a/asm/dodrio_berry_picking.s b/asm/dodrio_berry_picking.s index ea779b399..160208493 100644 --- a/asm/dodrio_berry_picking.s +++ b/asm/dodrio_berry_picking.s @@ -6474,7 +6474,7 @@ sub_81538D0: @ 81538D0 adds r0, r7, 0 adds r1, r4, 0 movs r2, 0xD0 - bl sub_814FF2C + bl TextWindow_SetStdFrame0_WithPal adds r0, r7, 0 adds r1, r4, 0 movs r2, 0xD @@ -8351,7 +8351,7 @@ sub_8154720: @ 8154720 movs r0, 0 movs r1, 0xA movs r2, 0xB0 - bl sub_814FF2C + bl TextWindow_SetStdFrame0_WithPal pop {r0} bx r0 thumb_func_end sub_8154720 diff --git a/asm/field_specials.s b/asm/field_specials.s index a6f97e9df..fcec338e7 100644 --- a/asm/field_specials.s +++ b/asm/field_specials.s @@ -2071,7 +2071,7 @@ sub_80CB580: @ 80CB580 ldr r5, _080CB62C @ =0x0000021d adds r1, r5, 0 movs r2, 0xD0 - bl sub_814FF2C + bl TextWindow_SetStdFrame0_WithPal ldrb r0, [r4] movs r1, 0 adds r2, r5, 0 @@ -2141,7 +2141,7 @@ sub_80CB63C: @ 80CB63C ldr r4, _080CB654 @ =gUnknown_2039A0C ldrb r0, [r4] movs r1, 0x1 - bl sub_810F4D8 + bl ClearMenuWindow ldrb r0, [r4] bl RemoveWindow pop {r4} @@ -2862,7 +2862,7 @@ sub_80CBBAC: @ 80CBBAC lsls r0, 24 lsrs r0, 24 movs r1, 0x1 - bl sub_810F4D8 + bl ClearMenuWindow ldrh r0, [r4, 0x22] lsls r0, 24 lsrs r0, 24 diff --git a/asm/hall_of_fame.s b/asm/hall_of_fame.s index c723f740d..97bf9ef64 100644 --- a/asm/hall_of_fame.s +++ b/asm/hall_of_fame.s @@ -1194,7 +1194,7 @@ sub_80F26D4: @ 80F26D4 ldr r1, _080F2758 @ =0x0000021d movs r0, 0x1 movs r2, 0xD0 - bl sub_814FF2C + bl TextWindow_SetStdFrame0_WithPal movs r0, 0x78 strh r0, [r4, 0xE] ldr r0, _080F275C @ =Task_Hof_WaitAndPrintPlayerInfo diff --git a/asm/item.s b/asm/item.s index 1ffaffddb..5dd58333d 100644 --- a/asm/item.s +++ b/asm/item.s @@ -957,8 +957,8 @@ _0809A458: bx r1 thumb_func_end AddPCItem - thumb_func_start sub_809A460 -sub_809A460: @ 809A460 + thumb_func_start RemoveItemFromPC +RemoveItemFromPC: @ 809A460 push {r4-r7,lr} mov r7, r8 push {r7} @@ -1027,10 +1027,10 @@ _0809A4D8: bx r0 .align 2, 0 _0809A4E4: .4byte gSaveBlock1Ptr - thumb_func_end sub_809A460 + thumb_func_end RemoveItemFromPC - thumb_func_start sub_809A4E8 -sub_809A4E8: @ 809A4E8 + thumb_func_start ItemPcCompaction +ItemPcCompaction: @ 809A4E8 push {r4-r7,lr} movs r2, 0 _0809A4EC: @@ -1079,7 +1079,7 @@ _0809A52E: bx r0 .align 2, 0 _0809A53C: .4byte gSaveBlock1Ptr - thumb_func_end sub_809A4E8 + thumb_func_end ItemPcCompaction thumb_func_start sub_809A540 sub_809A540: @ 809A540 diff --git a/asm/item_menu.s b/asm/item_menu.s index 3aad5b4f5..4bad1609c 100644 --- a/asm/item_menu.s +++ b/asm/item_menu.s @@ -200,7 +200,7 @@ _08107F12: lsrs r0, 24 cmp r0, 0x1 beq _08107F36 - bl sub_80BF708 + bl MenuHelpers_LinkSomething lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -275,10 +275,10 @@ _08107FD8: bl ResetSpriteData b _08108104 _08107FDE: - bl sub_80984D8 + bl ResetItemMenuIconState b _08108104 _08107FE4: - bl sub_80BF708 + bl MenuHelpers_LinkSomething lsls r0, 24 cmp r0, 0 beq _08107FF0 @@ -687,7 +687,7 @@ _08108340: .align 2, 0 _08108348: .4byte gUnknown_83D41F4 _0810834C: - ldr r0, _08108360 @ =gUnknown_83D4240 + ldr r0, _08108360 @ =gBagSwapSpriteSheet _0810834E: bl LoadCompressedObjectPic _08108352: @@ -698,10 +698,10 @@ _08108352: strb r0, [r1, 0x10] b _0810837C .align 2, 0 -_08108360: .4byte gUnknown_83D4240 +_08108360: .4byte gBagSwapSpriteSheet _08108364: .4byte gUnknown_203AD10 _08108368: - ldr r0, _08108378 @ =gUnknown_83D4248 + ldr r0, _08108378 @ =gBagSwapSpritePalette bl LoadCompressedObjectPalette ldr r1, [r4] movs r0, 0 @@ -709,7 +709,7 @@ _08108368: movs r0, 0x1 b _0810837E .align 2, 0 -_08108378: .4byte gUnknown_83D4248 +_08108378: .4byte gBagSwapSpritePalette _0810837C: movs r0, 0 _0810837E: @@ -1014,7 +1014,7 @@ _081085BA: lsrs r1, 30 movs r0, 0x1 eors r0, r1 - bl sub_8098940 + bl DestroyItemMenuIcon ldr r2, [r4] ldr r0, _08108608 @ =gUnknown_203ACFC ldrh r1, [r0, 0x6] @@ -1036,7 +1036,7 @@ _081085BA: ldrb r1, [r1, 0x5] lsls r1, 26 lsrs r1, 30 - bl sub_80988E8 + bl CreateItemMenuIcon b _08108618 .align 2, 0 _08108604: .4byte gUnknown_203AD10 @@ -1046,7 +1046,7 @@ _0810860C: ldrb r1, [r2, 0x5] lsls r1, 26 lsrs r1, 30 - bl sub_80988E8 + bl CreateItemMenuIcon _08108618: ldr r4, _08108650 @ =gUnknown_203AD10 ldr r3, [r4] @@ -1999,8 +1999,8 @@ _08108D5A: bx r0 thumb_func_end sub_8108CFC - thumb_func_start sub_8108D60 -sub_8108D60: @ 8108D60 + thumb_func_start ItemMenu_MoveItemSlotToNewPositionInArray +ItemMenu_MoveItemSlotToNewPositionInArray: @ 8108D60 push {r4-r6,lr} adds r4, r0, 0 adds r3, r2, 0 @@ -2057,7 +2057,7 @@ _08108DC0: pop {r4-r6} pop {r0} bx r0 - thumb_func_end sub_8108D60 + thumb_func_end ItemMenu_MoveItemSlotToNewPositionInArray thumb_func_start sub_8108DC8 sub_8108DC8: @ 8108DC8 @@ -2514,7 +2514,7 @@ sub_8109140: @ 8109140 movs r1, 0 movs r2, 0xE movs r3, 0x1E - bl sub_80F6B08 + bl SetBgRectPal movs r0, 0x1 bl schedule_bg_copy_tilemap_to_vram add sp, 0x8 @@ -2627,7 +2627,7 @@ sub_81091D0: @ 81091D0 lsrs r1, 30 movs r0, 0x1 eors r0, r1 - bl sub_8098940 + bl DestroyItemMenuIcon bl sub_8108978 _08109242: movs r0, 0x12 @@ -2677,7 +2677,7 @@ sub_8109298: @ 8109298 lsls r0, 3 ldr r1, _081092DC @ =gTasks+0x8 adds r5, r0, r1 - bl sub_80BF708 + bl MenuHelpers_LinkSomething lsls r0, 24 cmp r0, 0 bne _08109314 @@ -2858,7 +2858,7 @@ sub_81093B8: @ 81093B8 adds r0, r4, 0 bl StringCopy ldr r4, _081094A4 @ =gStringVar4 - ldr r1, _081094A8 @ =gUnknown_841633F + ldr r1, _081094A8 @ =gOtherText_WhereShouldTheStrVar1BePlaced adds r0, r4, 0 bl StringExpandPlaceholders movs r0, 0x1 @@ -2910,7 +2910,7 @@ _08109498: .4byte gUnknown_203AD10 _0810949C: .4byte gStringVar1 _081094A0: .4byte gUnknown_203ACFC _081094A4: .4byte gStringVar4 -_081094A8: .4byte gUnknown_841633F +_081094A8: .4byte gOtherText_WhereShouldTheStrVar1BePlaced _081094AC: .4byte sub_81094B0 thumb_func_end sub_81093B8 @@ -3071,7 +3071,7 @@ _081095E8: ldr r0, [r0] adds r1, r2, 0 adds r2, r5, 0 - bl sub_8108D60 + bl ItemMenu_MoveItemSlotToNewPositionInArray ldrb r0, [r6] ldrh r2, [r4, 0x6] lsls r2, 1 @@ -3464,7 +3464,7 @@ _08109930: .4byte gUnknown_203AD24 _08109934: .4byte gUnknown_8452F30 _08109938: .4byte gUnknown_203AD28 _0810993C: - bl sub_80BF708 + bl MenuHelpers_LinkSomething lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -3727,7 +3727,7 @@ _08109AD4: ldr r1, _08109BAC @ =gStringVar1 bl CopyItemName ldr r6, _08109BB0 @ =gStringVar4 - ldr r1, _08109BB4 @ =gUnknown_84162FF + ldr r1, _08109BB4 @ =gOtherText_StrVar1 adds r0, r6, 0 bl StringExpandPlaceholders movs r0, 0x2 @@ -3754,7 +3754,7 @@ _08109BA4: .4byte gUnknown_8452EB8 _08109BA8: .4byte gSpecialVar_ItemId _08109BAC: .4byte gStringVar1 _08109BB0: .4byte gStringVar4 -_08109BB4: .4byte gUnknown_84162FF +_08109BB4: .4byte gOtherText_StrVar1 thumb_func_end sub_8109890 thumb_func_start sub_8109BB8 @@ -5753,7 +5753,7 @@ sub_810AC40: @ 810AC40 ldr r3, _0810ACD4 @ =0x0000ffff movs r0, 0x1C movs r1, 0 - bl sub_80A2294 + bl ItemUse_SetQuestLogEvent ldrh r0, [r5] ldr r1, _0810ACD8 @ =gStringVar1 bl CopyItemName diff --git a/asm/item_menu_icons.s b/asm/item_menu_icons.s index 118591dc2..6208c3fb9 100644 --- a/asm/item_menu_icons.s +++ b/asm/item_menu_icons.s @@ -5,8 +5,8 @@ .text - thumb_func_start sub_80984D8 -sub_80984D8: @ 80984D8 + thumb_func_start ResetItemMenuIconState +ResetItemMenuIconState: @ 80984D8 push {r4,lr} movs r2, 0 ldr r4, _080984F8 @ =gUnknown_2039878 @@ -26,7 +26,7 @@ _080984E0: bx r0 .align 2, 0 _080984F8: .4byte gUnknown_2039878 - thumb_func_end sub_80984D8 + thumb_func_end ResetItemMenuIconState thumb_func_start sub_80984FC sub_80984FC: @ 80984FC @@ -534,8 +534,8 @@ _080988DA: bx r1 thumb_func_end AddItemIconObjectWithCustomObjectTemplate - thumb_func_start sub_80988E8 -sub_80988E8: @ 80988E8 + thumb_func_start CreateItemMenuIcon +CreateItemMenuIcon: @ 80988E8 push {r4-r6,lr} lsls r0, 16 lsrs r6, r0, 16 @@ -577,10 +577,10 @@ _08098932: .align 2, 0 _08098938: .4byte gUnknown_2039882 _0809893C: .4byte gSprites - thumb_func_end sub_80988E8 + thumb_func_end CreateItemMenuIcon - thumb_func_start sub_8098940 -sub_8098940: @ 8098940 + thumb_func_start DestroyItemMenuIcon +DestroyItemMenuIcon: @ 8098940 push {r4,lr} lsls r0, 24 lsrs r0, 24 @@ -605,7 +605,7 @@ _08098964: .align 2, 0 _0809896C: .4byte gUnknown_2039882 _08098970: .4byte gSprites - thumb_func_end sub_8098940 + thumb_func_end DestroyItemMenuIcon thumb_func_start sub_8098974 sub_8098974: @ 8098974 diff --git a/asm/item_use.s b/asm/item_use.s index 517d849c0..723eb5ee6 100644 --- a/asm/item_use.s +++ b/asm/item_use.s @@ -630,7 +630,7 @@ sub_80A1460: @ 80A1460 ldr r3, _080A14C4 @ =0x0000ffff movs r0, 0x4 movs r1, 0 - bl sub_80A2294 + bl ItemUse_SetQuestLogEvent ldr r1, _080A14C8 @ =gTasks lsls r0, r5, 2 adds r0, r5 @@ -689,7 +689,7 @@ sub_80A14E8: @ 80A14E8 ldr r3, _080A1548 @ =0x0000ffff movs r0, 0x4 movs r1, 0 - bl sub_80A2294 + bl ItemUse_SetQuestLogEvent ldr r1, _080A154C @ =gTasks lsls r0, r5, 2 adds r0, r5 @@ -765,7 +765,7 @@ _080A1598: ldr r3, _080A15D8 @ =0x0000ffff movs r0, 0x4 movs r1, 0 - bl sub_80A2294 + bl ItemUse_SetQuestLogEvent ldr r1, _080A15DC @ =gTasks lsls r0, r5, 2 adds r0, r5 @@ -1201,7 +1201,7 @@ sub_80A18EC: @ 80A18EC ldr r3, _080A1924 @ =0x0000ffff movs r0, 0x4 movs r1, 0 - bl sub_80A2294 + bl ItemUse_SetQuestLogEvent ldr r1, _080A1928 @ =gTasks lsls r0, r4, 2 adds r0, r4 @@ -1328,7 +1328,7 @@ sub_80A19E8: @ 80A19E8 ldr r3, _080A1A34 @ =0x0000ffff movs r0, 0x4 movs r1, 0 - bl sub_80A2294 + bl ItemUse_SetQuestLogEvent ldr r5, _080A1A38 @ =0x00004020 ldrh r0, [r4] bl ItemId_GetHoldEffectParam @@ -1399,7 +1399,7 @@ sub_80A1A94: @ 80A1A94 ldr r3, _080A1AD8 @ =0x0000ffff movs r0, 0x4 movs r1, 0 - bl sub_80A2294 + bl ItemUse_SetQuestLogEvent ldrh r0, [r5] cmp r0, 0x2B bne _080A1AF4 @@ -1533,7 +1533,7 @@ ItemUseOutOfBattle_EscapeRope: @ 80A1BAC ldrb r3, [r0, 0x14] movs r0, 0x4 movs r1, 0 - bl sub_80A2294 + bl ItemUse_SetQuestLogEvent ldr r1, _080A1BE4 @ =gUnknown_2039998 ldr r0, _080A1BE8 @ =sub_80A1C08 str r0, [r1] @@ -1692,7 +1692,7 @@ sub_80A1CF8: @ 80A1CF8 ldr r3, _080A1D30 @ =0x0000ffff movs r0, 0x4 movs r1, 0 - bl sub_80A2294 + bl ItemUse_SetQuestLogEvent ldr r1, _080A1D34 @ =gTasks lsls r0, r4, 2 adds r0, r4 @@ -2102,7 +2102,7 @@ sub_80A2010: @ 80A2010 ldr r3, _080A204C @ =0x0000ffff movs r0, 0x4 movs r1, 0 - bl sub_80A2294 + bl ItemUse_SetQuestLogEvent ldr r2, _080A2050 @ =gStringVar4 ldr r3, _080A2054 @ =sub_8108B50 adds r0, r4, 0 @@ -2363,8 +2363,8 @@ _080A228A: _080A2290: .4byte gTasks thumb_func_end sub_80A2238 - thumb_func_start sub_80A2294 -sub_80A2294: @ 80A2294 + thumb_func_start ItemUse_SetQuestLogEvent +ItemUse_SetQuestLogEvent: @ 80A2294 push {r4-r7,lr} mov r7, r8 push {r7} @@ -2405,6 +2405,6 @@ _080A22CA: bx r0 .align 2, 0 _080A22E4: .4byte 0x0000ffff - thumb_func_end sub_80A2294 + thumb_func_end ItemUse_SetQuestLogEvent .align 2, 0 @ Don't pad with nop. diff --git a/asm/learn_move.s b/asm/learn_move.s index e9041a9b2..4a37c7eae 100644 --- a/asm/learn_move.s +++ b/asm/learn_move.s @@ -119,7 +119,7 @@ _080E46C6: movs r0, 0 movs r1, 0x1 movs r2, 0xE0 - bl sub_815001C + bl TextWindow_SetUserSelectedFrame movs r0, 0xD0 movs r1, 0x1 bl sub_8107D38 diff --git a/asm/link_rfu.s b/asm/link_rfu.s index 81ecfaa4a..a1d543dd6 100644 --- a/asm/link_rfu.s +++ b/asm/link_rfu.s @@ -7851,7 +7851,7 @@ sub_8100E34: @ 8100E34 movs r0, 0x1 movs r1, 0x1 movs r2, 0xE0 - bl sub_815001C + bl TextWindow_SetUserSelectedFrame movs r0, 0x1 movs r1, 0x1 movs r2, 0xE diff --git a/asm/link_rfu_3.s b/asm/link_rfu_3.s index 9dae54154..50121e847 100644 --- a/asm/link_rfu_3.s +++ b/asm/link_rfu_3.s @@ -12966,7 +12966,7 @@ _0811C300: movs r0, 0 movs r1, 0x1 movs r2, 0xD0 - bl sub_814FF2C + bl TextWindow_SetStdFrame0_WithPal bl sub_80F77B8 ldr r0, _0811C35C @ =sub_811C1B4 bl SetVBlankCallback diff --git a/asm/list_menu.s b/asm/list_menu.s index 9558ea323..e6e316fb7 100644 --- a/asm/list_menu.s +++ b/asm/list_menu.s @@ -52,7 +52,7 @@ _08106F06: lsls r2, r1, 24 lsrs r2, 24 adds r1, r7, 0 - bl sub_815001C + bl TextWindow_SetUserSelectedFrame _08106F24: ldrb r0, [r5, 0x5] mov r3, r8 diff --git a/asm/mail.s b/asm/mail.s index 36af80e97..77f8864ed 100644 --- a/asm/mail.s +++ b/asm/mail.s @@ -623,7 +623,7 @@ _080BF112: .align 2, 0 _080BF128: .4byte sub_80BF368 _080BF12C: - bl sub_80BF708 + bl MenuHelpers_LinkSomething lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 diff --git a/asm/mailbox_pc.s b/asm/mailbox_pc.s index 9a6dadb60..aecca0735 100644 --- a/asm/mailbox_pc.s +++ b/asm/mailbox_pc.s @@ -81,7 +81,7 @@ sub_810EBE0: @ 810EBE0 adds r4, r0 ldrb r0, [r4] movs r1, 0 - bl sub_810F4D8 + bl ClearMenuWindow ldrb r0, [r4] bl ClearWindowTilemap ldrb r0, [r4] diff --git a/asm/main_menu.s b/asm/main_menu.s index 31e87af11..f88fea21a 100644 --- a/asm/main_menu.s +++ b/asm/main_menu.s @@ -1656,7 +1656,7 @@ sub_800D094: @ 800D094 ldr r1, _0800D0AC @ =0x000001b1 movs r0, 0 movs r2, 0x20 - bl sub_814FF2C + bl TextWindow_SetStdFrame0_WithPal ldr r0, _0800D0B0 @ =gUnknown_8234638 bl sub_800D1E8 pop {r0} diff --git a/asm/menu.s b/asm/menu.s index d9efcde84..2229f41d8 100644 --- a/asm/menu.s +++ b/asm/menu.s @@ -556,8 +556,8 @@ _0810F258: .4byte 0x00000803 _0810F25C: .4byte 0x00000804 thumb_func_end sub_810EE5C - thumb_func_start sub_810F260 -sub_810F260: @ 810F260 + thumb_func_start ClearMenuWindow_BorderThickness2 +ClearMenuWindow_BorderThickness2: @ 810F260 push {r4,r5,lr} adds r4, r1, 0 lsls r0, 24 @@ -583,7 +583,7 @@ _0810F28E: bx r0 .align 2, 0 _0810F294: .4byte sub_810F298 - thumb_func_end sub_810F260 + thumb_func_end ClearMenuWindow_BorderThickness2 thumb_func_start sub_810F298 sub_810F298: @ 810F298 @@ -866,8 +866,8 @@ _0810F4D0: .4byte gUnknown_203ADF0 _0810F4D4: .4byte gUnknown_203ADF2 thumb_func_end DrawWindowBorder - thumb_func_start sub_810F4D8 -sub_810F4D8: @ 810F4D8 + thumb_func_start ClearMenuWindow +ClearMenuWindow: @ 810F4D8 push {r4,r5,lr} adds r4, r1, 0 lsls r0, 24 @@ -893,7 +893,7 @@ _0810F506: bx r0 .align 2, 0 _0810F50C: .4byte sub_810F510 - thumb_func_end sub_810F4D8 + thumb_func_end ClearMenuWindow thumb_func_start sub_810F510 sub_810F510: @ 810F510 @@ -2469,7 +2469,7 @@ sub_81100E8: @ 81100E8 ldr r4, _08110100 @ =gUnknown_203ADF3 ldrb r0, [r4] movs r1, 0x1 - bl sub_810F4D8 + bl ClearMenuWindow ldrb r0, [r4] bl RemoveWindow pop {r4} diff --git a/asm/menu_helpers.s b/asm/menu_helpers.s index 7984a32c4..e68c428cd 100644 --- a/asm/menu_helpers.s +++ b/asm/menu_helpers.s @@ -357,8 +357,8 @@ _080BF702: bx r1 thumb_func_end itemid_80BF6D8_mail_related - thumb_func_start sub_80BF708 -sub_80BF708: @ 80BF708 + thumb_func_start MenuHelpers_LinkSomething +MenuHelpers_LinkSomething: @ 80BF708 push {lr} bl is_c1_link_related_active cmp r0, 0x1 @@ -377,12 +377,12 @@ _080BF724: _080BF726: pop {r1} bx r1 - thumb_func_end sub_80BF708 + thumb_func_end MenuHelpers_LinkSomething thumb_func_start sub_80BF72C sub_80BF72C: @ 80BF72C push {lr} - bl sub_80BF708 + bl MenuHelpers_LinkSomething lsls r0, 24 cmp r0, 0 beq _080BF742 diff --git a/asm/new_menu_helpers.s b/asm/new_menu_helpers.s index b592c1bf5..9efda4372 100644 --- a/asm/new_menu_helpers.s +++ b/asm/new_menu_helpers.s @@ -486,8 +486,8 @@ _080F6AFC: bx r1 thumb_func_end sub_80F6AD0 - thumb_func_start sub_80F6B08 -sub_80F6B08: @ 80F6B08 + thumb_func_start SetBgRectPal +SetBgRectPal: @ 80F6B08 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -561,7 +561,7 @@ _080F6B80: bx r0 .align 2, 0 _080F6B90: .4byte 0x00000fff - thumb_func_end sub_80F6B08 + thumb_func_end SetBgRectPal thumb_func_start sub_80F6B94 sub_80F6B94: @ 80F6B94 @@ -984,13 +984,13 @@ _080F6EC4: lsls r1, 2 movs r0, 0 movs r2, 0xF0 - bl sub_814FEAC + bl TextWindow_SetBubbleFrame_841F1C8 _080F6ED4: movs r1, 0x85 lsls r1, 2 movs r0, 0 movs r2, 0xE0 - bl sub_815001C + bl TextWindow_SetUserSelectedFrame pop {r0} bx r0 thumb_func_end sub_80F6E9C @@ -2033,7 +2033,7 @@ _080F7798: lsls r1, 2 adds r0, r4, 0 movs r2, 0xF0 - bl sub_814FEAC + bl TextWindow_SetBubbleFrame_841F1C8 _080F77A4: movs r2, 0x80 lsls r2, 2 @@ -2347,7 +2347,7 @@ sub_80F79A4: @ 80F79A4 lsls r1, 2 movs r0, 0 movs r2, 0xE0 - bl sub_815001C + bl TextWindow_SetUserSelectedFrame pop {r0} bx r0 thumb_func_end sub_80F79A4 diff --git a/asm/party_menu.s b/asm/party_menu.s index b18e3f9a5..d873fb9aa 100644 --- a/asm/party_menu.s +++ b/asm/party_menu.s @@ -5,8 +5,8 @@ .text - thumb_func_start sub_811EA44 -sub_811EA44: @ 811EA44 + thumb_func_start PartyMenuInit +PartyMenuInit: @ 811EA44 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -181,7 +181,7 @@ _0811EB90: .4byte gUnknown_203B09C _0811EB94: .4byte gPlayerParty _0811EB98: .4byte gTextFlags _0811EB9C: .4byte sub_811EBD0 - thumb_func_end sub_811EA44 + thumb_func_end PartyMenuInit thumb_func_start sub_811EBA0 sub_811EBA0: @ 811EBA0 @@ -219,7 +219,7 @@ _0811EBD2: lsrs r0, 24 cmp r0, 0x1 beq _0811EBF6 - bl sub_80BF708 + bl MenuHelpers_LinkSomething lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -299,7 +299,7 @@ _0811ECAE: bl FreeAllSpritePalettes b _0811EDFC _0811ECB4: - bl sub_80BF708 + bl MenuHelpers_LinkSomething lsls r0, 24 cmp r0, 0 beq _0811ECC0 @@ -1799,7 +1799,7 @@ _0811F884: movs r1, 0x17 movs r2, 0x10 movs r3, 0x7 - bl sub_80F6B08 + bl SetBgRectPal b _0811F8B0 _0811F89E: movs r0, 0x2 @@ -1809,7 +1809,7 @@ _0811F89E: movs r1, 0x17 movs r2, 0x10 movs r3, 0x7 - bl sub_80F6B08 + bl SetBgRectPal _0811F8B0: ldr r0, _0811F8BC @ =gUnknown_203B09C ldr r0, [r0] @@ -1857,7 +1857,7 @@ _0811F8F2: movs r2, 0x12 _0811F904: movs r3, 0x7 - bl sub_80F6B08 + bl SetBgRectPal b _0811F91E _0811F90C: movs r0, 0x2 @@ -1867,7 +1867,7 @@ _0811F90C: movs r1, 0x17 movs r2, 0x12 movs r3, 0x7 - bl sub_80F6B08 + bl SetBgRectPal _0811F91E: ldr r0, _0811F940 @ =gUnknown_203B09C ldr r0, [r0] @@ -2494,7 +2494,7 @@ _0811FDD6: .align 2, 0 _0811FDF0: .4byte gUnknown_203B0A0 _0811FDF4: - bl sub_80BF708 + bl MenuHelpers_LinkSomething lsls r0, 24 cmp r0, 0 bne _0811FE04 @@ -3234,7 +3234,7 @@ sub_8120328: @ 8120328 bne _0812035E movs r0, 0x6 movs r1, 0 - bl sub_810F4D8 + bl ClearMenuWindow movs r0, 0x6 bl ClearWindowTilemap _0812035E: @@ -3302,10 +3302,10 @@ sub_81203B8: @ 81203B8 beq _08120410 movs r0, 0x6 movs r1, 0 - bl sub_810F4D8 + bl ClearMenuWindow movs r0, 0x6 bl ClearWindowTilemap - bl sub_80BF708 + bl MenuHelpers_LinkSomething lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -3366,7 +3366,7 @@ _0812043C: _08120448: adds r1, r5, 0 adds r2, r4, 0 - bl sub_80A2294 + bl ItemUse_SetQuestLogEvent b _08120468 .align 2, 0 _08120454: .4byte gUnknown_203B0A0 @@ -3376,7 +3376,7 @@ _0812045C: movs r0, 0x6 adds r1, r5, 0 adds r2, r4, 0 - bl sub_80A2294 + bl ItemUse_SetQuestLogEvent _08120468: ldr r1, _0812049C @ =gStringVar1 adds r0, r5, 0 @@ -3418,7 +3418,7 @@ sub_81204AC: @ 81204AC movs r0, 0x8 adds r1, r6, 0 adds r2, r4, 0 - bl sub_80A2294 + bl ItemUse_SetQuestLogEvent ldr r1, _081204FC @ =gStringVar1 adds r0, r6, 0 bl GetMonNickname @@ -4709,11 +4709,11 @@ sub_8120E58: @ 8120E58 movs r0, 0 movs r1, 0x4F movs r2, 0xD0 - bl sub_815001C + bl TextWindow_SetUserSelectedFrame movs r0, 0 movs r1, 0x58 movs r2, 0xF0 - bl sub_814FF2C + bl TextWindow_SetStdFrame0_WithPal ldr r0, _08120E94 @ =gUnknown_203B0A0 ldrb r0, [r0, 0xB] cmp r0, 0x3 @@ -5016,11 +5016,11 @@ _081210AC: movs r0, 0 movs r1, 0x4F movs r2, 0xD0 - bl sub_815001C + bl TextWindow_SetUserSelectedFrame movs r0, 0 movs r1, 0x58 movs r2, 0xF0 - bl sub_814FF2C + bl TextWindow_SetStdFrame0_WithPal movs r0, 0x2 bl stdpal_get movs r1, 0xC0 @@ -6507,7 +6507,7 @@ sub_8121CE4: @ 8121CE4 cmp r0, 0xFF beq _08121D04 movs r1, 0 - bl sub_810F4D8 + bl ClearMenuWindow ldrb r0, [r4] bl RemoveWindow movs r0, 0xFF @@ -7026,7 +7026,7 @@ sub_81220D4: @ 81220D4 adds r0, r4, 0 movs r1, 0x4F movs r2, 0xE0 - bl sub_814FEAC + bl TextWindow_SetBubbleFrame_841F1C8 adds r0, r4, 0 movs r1, 0x1 movs r2, 0x4F @@ -7054,7 +7054,7 @@ sub_8122110: @ 8122110 bl ClearWindowTilemap adds r0, r4, 0 movs r1, 0 - bl sub_810F260 + bl ClearMenuWindow_BorderThickness2 adds r0, r4, 0 bl RemoveWindow movs r0, 0x2 @@ -8717,7 +8717,7 @@ sub_8122DBC: @ 8122DBC str r1, [sp, 0x8] movs r1, 0xFF movs r3, 0x1 - bl sub_811EA44 + bl PartyMenuInit add sp, 0xC pop {r0} bx r0 @@ -9928,7 +9928,7 @@ _081237AE: str r1, [sp, 0x8] movs r1, 0xFF movs r3, 0x1 - bl sub_811EA44 + bl PartyMenuInit b _08123814 .align 2, 0 _081237BC: .4byte gUnknown_203B0D8 @@ -9967,7 +9967,7 @@ _081237F8: str r1, [sp, 0x8] movs r1, 0xFF movs r3, 0x1 - bl sub_811EA44 + bl PartyMenuInit _08123814: add sp, 0xC pop {r3} @@ -10345,7 +10345,7 @@ sub_8123ACC: @ 8123ACC str r1, [sp, 0x8] movs r1, 0xFF movs r3, 0x1 - bl sub_811EA44 + bl PartyMenuInit b _08123B68 .align 2, 0 _08123B38: .4byte gUnknown_203B0A0 @@ -10366,7 +10366,7 @@ _08123B4C: str r1, [sp, 0x8] movs r1, 0xFF movs r3, 0x1 - bl sub_811EA44 + bl PartyMenuInit _08123B68: add sp, 0xC pop {r3} @@ -10675,7 +10675,7 @@ sub_8123DCC: @ 8123DCC str r1, [sp, 0x8] movs r1, 0xFF movs r3, 0x1 - bl sub_811EA44 + bl PartyMenuInit add sp, 0xC pop {r0} bx r0 @@ -11627,7 +11627,7 @@ _081245D6: ldr r0, [r5] adds r0, 0xD bl sub_8121CE4 - bl sub_80BF708 + bl MenuHelpers_LinkSomething lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -12237,7 +12237,7 @@ sub_8124AB0: @ 8124AB0 movs r1, 0 movs r2, 0 movs r3, 0x1 - bl sub_811EA44 + bl PartyMenuInit add sp, 0xC pop {r0} bx r0 @@ -12577,7 +12577,7 @@ _08124D6A: adds r1, r7, 0 movs r2, 0x3 movs r3, 0x1 - bl sub_811EA44 + bl PartyMenuInit add sp, 0xC pop {r3} mov r8, r3 @@ -12759,7 +12759,7 @@ _08124EC8: str r1, [sp, 0x8] movs r1, 0xFF movs r2, 0 - bl sub_811EA44 + bl PartyMenuInit _08124EE6: add sp, 0xC pop {r3} @@ -12820,7 +12820,7 @@ sub_8124EFC: @ 8124EFC movs r0, 0x4 adds r1, r5, 0 adds r3, r6, 0 - bl sub_80A2294 + bl ItemUse_SetQuestLogEvent ldrh r1, [r7] movs r0, 0xA9 lsls r0, 1 @@ -12852,7 +12852,7 @@ _08124F94: ldr r1, [r4] str r1, [sp, 0x8] movs r1, 0xFF - bl sub_811EA44 + bl PartyMenuInit _08124FB2: add sp, 0xC pop {r3} @@ -13312,7 +13312,7 @@ _08125380: movs r0, 0x4 adds r1, r5, 0 adds r2, r6, 0 - bl sub_80A2294 + bl ItemUse_SetQuestLogEvent adds r0, r7, 0 bl sub_8124DC0 ldr r1, _081253A8 @ =gUnknown_3005E98 @@ -13958,7 +13958,7 @@ sub_8125898: @ 8125898 ldr r3, _08125940 @ =0x0000ffff movs r0, 0x4 adds r1, r4, 0 - bl sub_80A2294 + bl ItemUse_SetQuestLogEvent movs r0, 0x1 bl PlaySE ldrh r0, [r6] @@ -14060,7 +14060,7 @@ _081259A0: movs r0, 0x4 adds r1, r4, 0 adds r2, r5, 0 - bl sub_80A2294 + bl ItemUse_SetQuestLogEvent movs r0, 0x1 bl PlaySE adds r0, r5, 0 @@ -14315,7 +14315,7 @@ sub_8125B40: @ 8125B40 movs r0, 0x4 adds r1, r4, 0 adds r2, r5, 0 - bl sub_80A2294 + bl ItemUse_SetQuestLogEvent adds r0, r6, 0 bl sub_8124DC0 ldr r1, _08125BEC @ =gUnknown_3005E98 @@ -14712,7 +14712,7 @@ _08125EE8: movs r1, 0 movs r2, 0 movs r3, 0x1 - bl sub_811EA44 + bl PartyMenuInit _08125F02: add sp, 0xC pop {r4,r5} @@ -14799,7 +14799,7 @@ sub_8125F5C: @ 8125F5C movs r0, 0x4 adds r1, r6, 0 adds r3, r4, 0 - bl sub_80A2294 + bl ItemUse_SetQuestLogEvent ldr r1, _08125FF0 @ =gStringVar1 adds r0, r6, 0 bl GetMonNickname @@ -15268,7 +15268,7 @@ sub_8126350: @ 8126350 ldr r3, _08126424 @ =0x0000ffff movs r0, 0x4 adds r1, r4, 0 - bl sub_80A2294 + bl ItemUse_SetQuestLogEvent movs r0, 0 bl PlayFanfareByFanfareNum ldrb r0, [r6, 0x9] @@ -16112,7 +16112,7 @@ _08126A94: ldrh r2, [r0] ldr r3, _08126AE0 @ =0x0000ffff movs r0, 0x4 - bl sub_80A2294 + bl ItemUse_SetQuestLogEvent _08126AB4: ldr r0, _08126ADC @ =gSpecialVar_ItemId ldrh r0, [r0] @@ -16266,7 +16266,7 @@ sub_8126BD4: @ 8126BD4 ldrh r2, [r5] ldr r3, _08126C20 @ =0x0000ffff movs r0, 0x4 - bl sub_80A2294 + bl ItemUse_SetQuestLogEvent ldrh r0, [r5] movs r1, 0x1 bl RemoveBagItem @@ -16640,7 +16640,7 @@ CB2_PartyMenuFromStartMenu: @ 8126EB0 movs r1, 0 movs r2, 0 movs r3, 0 - bl sub_811EA44 + bl PartyMenuInit add sp, 0xC pop {r0} bx r0 @@ -16684,7 +16684,7 @@ _08126F0A: movs r1, 0 movs r2, 0x5 movs r3, 0 - bl sub_811EA44 + bl PartyMenuInit ldr r1, _08126F38 @ =gUnknown_203B0A0 ldr r0, _08126F3C @ =gSpecialVar_ItemId ldrh r0, [r0] @@ -16995,7 +16995,7 @@ _0812719C: str r1, [sp, 0x8] movs r1, 0xFF movs r3, 0x1 - bl sub_811EA44 + bl PartyMenuInit _081271B8: add sp, 0xC pop {r4-r7} @@ -17233,7 +17233,7 @@ sub_8127384: @ 8127384 bne _081273A0 adds r0, r1, 0 movs r1, 0x1 - bl sub_809A460 + bl RemoveItemFromPC b _081273A8 .align 2, 0 _0812739C: .4byte gUnknown_203B0A0 @@ -17286,7 +17286,7 @@ sub_81273D8: @ 81273D8 movs r1, 0 movs r2, 0x7 movs r3, 0 - bl sub_811EA44 + bl PartyMenuInit add sp, 0xC pop {r0} bx r0 @@ -17387,7 +17387,7 @@ sub_81274A8: @ 81274A8 movs r1, 0 movs r2, 0 movs r3, 0 - bl sub_811EA44 + bl PartyMenuInit ldr r1, _081274F4 @ =gUnknown_203B0A0 lsls r4, 6 ldrb r2, [r1, 0x8] @@ -17824,7 +17824,7 @@ sub_81277F4: @ 81277F4 movs r1, 0 movs r2, 0 movs r3, 0 - bl sub_811EA44 + bl PartyMenuInit add sp, 0xC pop {r0} bx r0 @@ -17850,7 +17850,7 @@ sub_812781C: @ 812781C movs r1, 0 movs r2, 0xC movs r3, 0 - bl sub_811EA44 + bl PartyMenuInit b _08127870 .align 2, 0 _08127844: .4byte gSpecialVar_0x8005 @@ -17867,7 +17867,7 @@ _08127850: movs r1, 0 movs r2, 0xC movs r3, 0 - bl sub_811EA44 + bl PartyMenuInit ldr r1, _08127880 @ =gUnknown_203B0A0 ldr r0, _08127884 @ =gSpecialVar_0x8007 ldrh r0, [r0] @@ -17897,7 +17897,7 @@ sub_8127888: @ 8127888 movs r1, 0 movs r2, 0xD movs r3, 0 - bl sub_811EA44 + bl PartyMenuInit add sp, 0xC pop {r0} bx r0 @@ -17960,7 +17960,7 @@ sub_81278DC: @ 81278DC movs r0, 0x1 adds r2, r4, 0 movs r3, 0 - bl sub_811EA44 + bl PartyMenuInit movs r0, 0x8 bl sub_80EB2F4 b _08127950 @@ -17982,7 +17982,7 @@ _08127930: movs r0, 0x1 adds r2, r4, 0 movs r3, 0 - bl sub_811EA44 + bl PartyMenuInit _08127950: bl nullsub_44 bl pokemon_change_order @@ -18012,7 +18012,7 @@ sub_8127968: @ 8127968 movs r0, 0x1 movs r2, 0 movs r3, 0 - bl sub_811EA44 + bl PartyMenuInit bl nullsub_44 bl pokemon_change_order add sp, 0xC @@ -18040,7 +18040,7 @@ sub_81279A4: @ 81279A4 movs r0, 0x1 movs r2, 0xE movs r3, 0 - bl sub_811EA44 + bl PartyMenuInit bl nullsub_44 bl pokemon_change_order add sp, 0xC @@ -18079,7 +18079,7 @@ sub_81279E0: @ 81279E0 movs r0, 0x1 movs r2, 0x3 movs r3, 0 - bl sub_811EA44 + bl PartyMenuInit movs r0, 0x8 bl sub_80EB2F4 b _08127A62 @@ -18110,7 +18110,7 @@ _08127A44: movs r0, 0x1 movs r2, 0x3 movs r3, 0 - bl sub_811EA44 + bl PartyMenuInit _08127A62: bl nullsub_44 bl pokemon_change_order @@ -19069,7 +19069,7 @@ sub_8128198: @ 8128198 movs r1, 0x3 movs r2, 0 movs r3, 0 - bl sub_811EA44 + bl PartyMenuInit add sp, 0xC pop {r0} bx r0 @@ -19314,7 +19314,7 @@ sub_8128370: @ 8128370 movs r1, 0 movs r2, 0 movs r3, 0 - bl sub_811EA44 + bl PartyMenuInit add sp, 0xC pop {r0} bx r0 @@ -19343,7 +19343,7 @@ sub_81283A8: @ 81283A8 movs r1, 0 movs r2, 0xB movs r3, 0 - bl sub_811EA44 + bl PartyMenuInit add sp, 0xC pop {r0} bx r0 diff --git a/asm/player_pc.s b/asm/player_pc.s index cb6c9f9d0..d0fd38a8c 100644 --- a/asm/player_pc.s +++ b/asm/player_pc.s @@ -237,7 +237,7 @@ sub_80EB81C: @ 80EB81C bl PlaySE ldrb r0, [r4, 0x14] movs r1, 0 - bl sub_810F4D8 + bl ClearMenuWindow ldrb r0, [r4, 0x14] bl ClearWindowTilemap ldrb r0, [r4, 0x14] @@ -256,7 +256,7 @@ _080EB874: .4byte sub_80EB9B8 _080EB878: ldrb r0, [r4, 0x14] movs r1, 0 - bl sub_810F4D8 + bl ClearMenuWindow ldrb r0, [r4, 0x14] bl ClearWindowTilemap ldrb r0, [r4, 0x14] @@ -752,7 +752,7 @@ _080EBC78: .4byte sub_80EBCAC _080EBC7C: ldrb r0, [r4, 0x14] movs r1, 0 - bl sub_810F4D8 + bl ClearMenuWindow ldrb r0, [r4, 0x14] bl ClearWindowTilemap ldrb r0, [r4, 0x14] @@ -811,7 +811,7 @@ sub_80EBCD8: @ 80EBCD8 bl CleanupOverworldWindowsAndTilemaps ldrb r0, [r5, 0xC] ldr r1, _080EBD14 @ =CB2_ReturnToField - bl sub_810D3F4 + bl ItemPc_Init adds r0, r4, 0 bl DestroyTask _080EBD06: @@ -837,7 +837,7 @@ sub_80EBD18: @ 80EBD18 ldr r0, _080EBD44 @ =sub_80EBCD8 str r0, [r1] movs r0, 0 - bl sub_810DE94 + bl ItemPc_SetInitializedFlag movs r0, 0x1 movs r1, 0 bl fade_screen @@ -861,7 +861,7 @@ sub_80EBD48: @ 80EBD48 adds r4, r0 ldrb r0, [r4, 0x14] movs r1, 0 - bl sub_810F4D8 + bl ClearMenuWindow ldrb r0, [r4, 0x14] bl ClearWindowTilemap ldrb r0, [r4, 0x14] diff --git a/asm/pokemon_jump_2.s b/asm/pokemon_jump_2.s index 9fde893f9..a8595db7f 100644 --- a/asm/pokemon_jump_2.s +++ b/asm/pokemon_jump_2.s @@ -7930,7 +7930,7 @@ sub_814B5C4: @ 814B5C4 adds r0, r4, 0 adds r1, r5, 0 movs r2, 0xD0 - bl sub_814FF2C + bl TextWindow_SetStdFrame0_WithPal adds r0, r4, 0 adds r1, r5, 0 movs r2, 0xD diff --git a/asm/pokemon_special_anim.s b/asm/pokemon_special_anim.s index 117c81783..8a14c09c3 100644 --- a/asm/pokemon_special_anim.s +++ b/asm/pokemon_special_anim.s @@ -1617,7 +1617,7 @@ sub_811D184: @ 811D184 movs r0, 0 movs r1, 0 movs r2, 0xE0 - bl sub_815001C + bl TextWindow_SetUserSelectedFrame movs r0, 0 movs r1, 0x3 bl CopyWindowToVram @@ -1703,7 +1703,7 @@ sub_811D2D0: @ 811D2D0 bl ClearWindowTilemap movs r0, 0 movs r1, 0 - bl sub_810F4D8 + bl ClearMenuWindow movs r0, 0 movs r1, 0x1 bl CopyWindowToVram diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s index 46c36058e..4c851f4cb 100644 --- a/asm/pokemon_storage_system.s +++ b/asm/pokemon_storage_system.s @@ -3035,7 +3035,7 @@ _0808D0D6: movs r0, 0x1 movs r1, 0xB movs r2, 0xE0 - bl sub_815001C + bl TextWindow_SetUserSelectedFrame b _0808D20C .align 2, 0 _0808D100: .4byte 0x05000080 @@ -8165,7 +8165,7 @@ sub_808FB68: @ 808FB68 movs r0, 0x1 movs r1, 0x2 movs r2, 0xD0 - bl sub_814FF2C + bl TextWindow_SetStdFrame0_WithPal movs r0, 0x20 str r0, [sp] movs r0, 0x14 @@ -8363,7 +8363,7 @@ sub_808FD20: @ 808FD20 push {lr} movs r0, 0x1 movs r1, 0 - bl sub_810F4D8 + bl ClearMenuWindow movs r0, 0 bl schedule_bg_copy_tilemap_to_vram pop {r0} @@ -19077,7 +19077,7 @@ sub_8095024: @ 8095024 adds r0, r4 ldrb r0, [r0] movs r1, 0x1 - bl sub_810F4D8 + bl ClearMenuWindow ldr r0, [r5] adds r0, r4 ldrb r0, [r0] diff --git a/asm/script_menu.s b/asm/script_menu.s index bb4b0e062..69e487bcc 100644 --- a/asm/script_menu.s +++ b/asm/script_menu.s @@ -1721,7 +1721,7 @@ sub_809D6B0: @ 809D6B0 bl ClearWindowTilemap adds r0, r4, 0 movs r1, 0x1 - bl sub_810F4D8 + bl ClearMenuWindow adds r0, r4, 0 bl RemoveWindow pop {r4} diff --git a/asm/shop.s b/asm/shop.s index d7188e66e..dfe2544d1 100644 --- a/asm/shop.s +++ b/asm/shop.s @@ -332,7 +332,7 @@ sub_809AD24: @ 809AD24 ldr r4, _0809AD3C @ =gUnknown_2039950 ldrb r0, [r4] movs r1, 0x2 - bl sub_810F4D8 + bl ClearMenuWindow ldrb r0, [r4] bl RemoveWindow pop {r4} @@ -529,7 +529,7 @@ _0809AEAC: bl ResetSpriteData bl ResetTasks bl clear_scheduled_bg_copies_to_vram - bl sub_80984D8 + bl ResetItemMenuIconState bl sub_809AF6C lsls r0, 24 cmp r0, 0 @@ -793,7 +793,7 @@ _0809B118: movs r1, 0 movs r2, 0xE movs r3, 0x1E - bl sub_80F6B08 + bl SetBgRectPal b _0809B14E .align 2, 0 _0809B138: .4byte gUnknown_2039934 @@ -805,7 +805,7 @@ _0809B13C: movs r1, 0 movs r2, 0xC movs r3, 0x1E - bl sub_80F6B08 + bl SetBgRectPal _0809B14E: movs r0, 0x1 bl schedule_bg_copy_tilemap_to_vram @@ -1069,7 +1069,7 @@ _0809B34A: lsrs r1, 30 movs r0, 0x1 eors r0, r1 - bl sub_8098940 + bl DestroyItemMenuIcon movs r0, 0x2 negs r0, r0 cmp r5, r0 @@ -1079,7 +1079,7 @@ _0809B34A: ldrb r1, [r6, 0x17] lsls r1, 29 lsrs r1, 30 - bl sub_80988E8 + bl CreateItemMenuIcon b _0809B398 .align 2, 0 _0809B384: .4byte gUnknown_8416757 @@ -1089,7 +1089,7 @@ _0809B38C: ldrb r1, [r6, 0x17] lsls r1, 29 lsrs r1, 30 - bl sub_80988E8 + bl CreateItemMenuIcon _0809B398: ldr r3, _0809B3D4 @ =gUnknown_2039934 ldrb r2, [r3, 0x17] @@ -2396,10 +2396,10 @@ _0809BDD4: bl sub_809B73C movs r0, 0x3 movs r1, 0 - bl sub_810F4D8 + bl ClearMenuWindow movs r0, 0x1 movs r1, 0 - bl sub_810F4D8 + bl ClearMenuWindow movs r0, 0x3 bl ClearWindowTilemap movs r0, 0x1 @@ -2442,10 +2442,10 @@ _0809BE54: bl sub_809B73C movs r0, 0x3 movs r1, 0 - bl sub_810F4D8 + bl ClearMenuWindow movs r0, 0x1 movs r1, 0 - bl sub_810F4D8 + bl ClearMenuWindow movs r0, 0x3 bl ClearWindowTilemap movs r0, 0x1 @@ -2601,7 +2601,7 @@ sub_809BF98: @ 809BF98 adds r4, r5, r6 movs r0, 0x2 movs r1, 0 - bl sub_810F260 + bl ClearMenuWindow_BorderThickness2 ldrb r0, [r4, 0xE] movs r1, 0x1 bl sub_809B57C diff --git a/asm/start_menu.s b/asm/start_menu.s index d6707732e..358eb7283 100644 --- a/asm/start_menu.s +++ b/asm/start_menu.s @@ -220,7 +220,7 @@ sub_806EF18: @ 806EF18 ldr r4, _0806EF40 @ =gUnknown_2037101 ldrb r0, [r4] movs r1, 0 - bl sub_810F4D8 + bl ClearMenuWindow ldrb r0, [r4] movs r1, 0x2 bl CopyWindowToVram @@ -440,7 +440,7 @@ _0806F0C4: movs r3, 0 bl ProgramAndPlaceMenuCursorOnWindow strb r0, [r4] - bl sub_80BF708 + bl MenuHelpers_LinkSomething lsls r0, 24 cmp r0, 0 bne _0806F118 @@ -666,7 +666,7 @@ sub_806F280: @ 806F280 bl MoveMenuCursor ldr r4, _0806F360 @ =gUnknown_20370F4 strb r0, [r4] - bl sub_80BF708 + bl MenuHelpers_LinkSomething lsls r0, 24 cmp r0, 0 bne _0806F2D2 @@ -701,7 +701,7 @@ _0806F2D2: bl MoveMenuCursor ldr r4, _0806F360 @ =gUnknown_20370F4 strb r0, [r4] - bl sub_80BF708 + bl MenuHelpers_LinkSomething lsls r0, 24 cmp r0, 0 bne _0806F320 @@ -1080,7 +1080,7 @@ sub_806F5C8: @ 806F5C8 _0806F5E4: movs r0, 0 movs r1, 0 - bl sub_810F260 + bl ClearMenuWindow_BorderThickness2 bl sub_806F14C bl sub_812B248 ldr r1, _0806F5FC @ =gUnknown_20370F0 @@ -1093,7 +1093,7 @@ _0806F600: .4byte sub_806F280 _0806F604: movs r0, 0 movs r1, 0x1 - bl sub_810F260 + bl ClearMenuWindow_BorderThickness2 bl sub_80696C0 bl ScriptContext2_Disable bl sub_812B248 @@ -1781,7 +1781,7 @@ _0806FB12: movs r0, 0 movs r1, 0x8 movs r2, 0xF0 - bl sub_814FF2C + bl TextWindow_SetStdFrame0_WithPal b _0806FB64 .align 2, 0 _0806FB34: .4byte gUnknown_83A73B8 @@ -2014,7 +2014,7 @@ sub_806FCF4: @ 806FCF4 ldr r4, _0806FE5C @ =0x0000021d adds r1, r4, 0 movs r2, 0xD0 - bl sub_814FF2C + bl TextWindow_SetStdFrame0_WithPal ldrb r0, [r5] movs r1, 0 adds r2, r4, 0 diff --git a/asm/trade.s b/asm/trade.s index 287270525..eac1fdea5 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -78,11 +78,11 @@ _0804C674: movs r0, 0 movs r1, 0x14 movs r2, 0xC0 - bl sub_814FF2C + bl TextWindow_SetStdFrame0_WithPal movs r0, 0x2 movs r1, 0x1 movs r2, 0xE0 - bl sub_815001C + bl TextWindow_SetUserSelectedFrame bl sub_809707C ldr r2, _0804C708 @ =gUnknown_2031DA8 ldr r0, [r2] diff --git a/asm/union_room_chat.s b/asm/union_room_chat.s index c69ca9b55..6c917be27 100644 --- a/asm/union_room_chat.s +++ b/asm/union_room_chat.s @@ -4329,7 +4329,7 @@ sub_812A51C: @ 812A51C lsls r0, 24 lsrs r0, 24 movs r1, 0 - bl sub_810F4D8 + bl ClearMenuWindow ldr r0, [r4] ldrb r0, [r0, 0x18] bl ClearWindowTilemap @@ -4568,7 +4568,7 @@ sub_812A6F4: @ 812A6F4 lsls r0, 24 lsrs r0, 24 movs r1, 0 - bl sub_810F4D8 + bl ClearMenuWindow ldr r0, [r4] ldrb r0, [r0, 0x1E] bl ClearWindowTilemap @@ -5015,7 +5015,7 @@ sub_812AA64: @ 812AA64 push {lr} movs r0, 0x3 movs r1, 0 - bl sub_810F4D8 + bl ClearMenuWindow movs r0, 0x3 bl ClearWindowTilemap pop {r0} @@ -5350,11 +5350,11 @@ sub_812AD20: @ 812AD20 movs r0, 0x3 movs r1, 0x1 movs r2, 0xD0 - bl sub_815001C + bl TextWindow_SetUserSelectedFrame movs r0, 0x3 movs r1, 0xA movs r2, 0x20 - bl sub_814FF2C + bl TextWindow_SetStdFrame0_WithPal ldr r0, _0812AD4C @ =gTMCaseMainWindowPalette movs r1, 0xE0 movs r2, 0x20 diff --git a/data/data_835B488.s b/data/data_835B488.s index 0f7851b83..008c99dde 100644 --- a/data/data_835B488.s +++ b/data/data_835B488.s @@ -556,10 +556,10 @@ gUnknown_83D41F4:: @ 83D41F4 gUnknown_83D41FC:: @ 83D41FC .incbin "baserom.gba", 0x3D41FC, 0x44 -gUnknown_83D4240:: @ 83D4240 +gBagSwapSpriteSheet:: @ 83D4240 obj_tiles gFile_graphics_interface_bag_swap_sheet, 0x0100, 0x0065 -gUnknown_83D4248:: @ 83D4248 +gBagSwapSpritePalette:: @ 83D4248 obj_pal gFile_graphics_interface_bag_swap_palette, 0x0065 gUnknown_83D4250:: @ 83D4250 diff --git a/data/data_83FECCC.s b/data/data_83FECCC.s index 2481f64d6..17e17c77a 100644 --- a/data/data_83FECCC.s +++ b/data/data_83FECCC.s @@ -892,8 +892,8 @@ gText_DepositItem:: @ 84162E8 gUnknown_84162F5:: @ 84162F5 .incbin "baserom.gba", 0x4162F5, 0xA -gUnknown_84162FF:: @ 84162FF - .incbin "baserom.gba", 0x4162FF, 0x2 +gOtherText_StrVar1:: @ 84162FF + .string "{STR_VAR_1}" gText_IsSelected:: @ 8416301 .string " is\n" @@ -906,8 +906,9 @@ gText_ThereIsNoPokemon:: @ 841632A .string "There is no\n" .string "POKéMON.$" -gUnknown_841633F:: @ 841633F - .incbin "baserom.gba", 0x41633F, 0x1F +gOtherText_WhereShouldTheStrVar1BePlaced:: @ 841633F + .string "Where should the {STR_VAR_1}\n" + .string "be placed?$" gText_ItemCantBeHeld:: @ 841635E .string "The {STR_VAR_1} can't be held.$" @@ -969,7 +970,7 @@ gUnknown_8416631:: @ 8416631 gUnknown_8416644:: @ 8416644 .incbin "baserom.gba", 0x416644, 0x11 -gUnknown_8416655:: @ 8416655 +gOtherText_Powder:: @ 8416655 .string "POWDER$" gUnknown_841665C:: @ 841665C @@ -1247,14 +1248,26 @@ gUnknown_84176FE:: @ 84176FE gUnknown_8417774:: @ 8417774 .incbin "baserom.gba", 0x417774, 0x16 -gUnknown_841778A:: @ 841778A - .incbin "baserom.gba", 0x41778A, 0x22 +gText_NoMoreRoomInBag:: @ 841778A + .string "There is no more\n" + .string "room in the BAG.$" -gUnknown_84177AC:: @ 84177AC - .incbin "baserom.gba", 0x4177AC, 0x19 +gText_WithdrawHowMany:: @ 84177AC + .string "Withdraw how many\n" + .string "{STR_VAR_1}(s)?$" -gUnknown_84177C5:: @ 84177C5 - .incbin "baserom.gba", 0x4177C5, 0x29 +gText_WithdrewQuantItem:: @ 84177C5 + .string "Withdrew {STR_VAR_2}\n" + .string "{STR_VAR_1}(s).$" + +gOtherText_Read:: + .string "READ$" + +gOtherText_MoveToBag:: + .string "MOVE TO BAG$" + +gOtherText_Give2:: + .string "GIVE$" gUnknown_84177EE:: @ 84177EE .incbin "baserom.gba", 0x4177EE, 0x18 @@ -1271,14 +1284,15 @@ gUnknown_8417858:: @ 8417858 gUnknown_841786B:: @ 841786B .incbin "baserom.gba", 0x41786B, 0x3C -gUnknown_84178A7:: @ 84178A7 - .incbin "baserom.gba", 0x4178A7, 0xE +gText_WithdrawItem:: @ 84178A7 + .string "WITHDRAW\n" + .string "ITEM$" -gUnknown_84178B5:: - .incbin "baserom.gba", 0x4178B5, 0x9 +gText_Withdraw:: + .string "WITHDRAW$" -gUnknown_84178BE:: @ 84178BE - .incbin "baserom.gba", 0x4178BE, 0x12 +gText_ReturnToPC:: @ 84178BE + .string "Return to the PC.$" gUnknown_84178D0:: @ 84178D0 .incbin "baserom.gba", 0x4178D0, 0xA @@ -2629,7 +2643,7 @@ gUnknown_841EF10:: @ 841EF10 .incbin "baserom.gba", 0x41EF10, 0x2B8 gUnknown_841F1C8:: @ 841F1C8 - .incbin "baserom.gba", 0x41F1C8, 0x240 + .incbin "graphics/text_window/unk_841F1C8.4bpp" gTMCaseMainWindowPalette:: @ 841F408 .incbin "graphics/tm_case/unk_841F408.gbapal" diff --git a/data/graphics.s b/data/graphics.s index de5272f5d..35d5873fa 100644 --- a/data/graphics.s +++ b/data/graphics.s @@ -13976,14 +13976,14 @@ gUnknown_8E84F20:: @ 8E84F20 gUnknown_8E85068:: @ 8E85068 .incbin "graphics/tm_case/unk_8E85068.gbapal.lz" -gUnknown_8E85090:: @ 8E85090 - .incbin "baserom.gba", 0xE85090, 0x378 +gItemPcTiles:: @ 8E85090 + .incbin "graphics/item_pc/unk_8E85090.4bpp.lz" -gUnknown_8E85408:: @ 8E85408 - .incbin "baserom.gba", 0xE85408, 0x50 +gItemPcBgPals:: @ 8E85408 + .incbin "graphics/item_pc/unk_8E85408.gbapal.lz" -gUnknown_8E85458:: @ 8E85458 - .incbin "baserom.gba", 0xE85458, 0x1B4 +gItemPcTilemap:: @ 8E85458 + .incbin "graphics/item_pc/unk_8E85458.bin.lz" gUnknown_8E8560C:: @ 8E8560C .incbin "baserom.gba", 0xE8560C, 0x3C4 diff --git a/graphics/text_window/unk_841F1C8.png b/graphics/text_window/unk_841F1C8.png new file mode 100644 index 000000000..5bdff868a Binary files /dev/null and b/graphics/text_window/unk_841F1C8.png differ diff --git a/include/graphics.h b/include/graphics.h index 96a39ae7c..01ae84add 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -197,8 +197,8 @@ extern const u8 gBerryFixWindow_Pal[]; // item_pc -extern const u8 gUnknown_8E85090[]; -extern const u8 gUnknown_8E85408[]; -extern const u8 gUnknown_8E85458[]; +extern const u8 gItemPcTiles[]; +extern const u8 gItemPcBgPals[]; +extern const u8 gItemPcTilemap[]; #endif //GUARD_GRAPHICS_H diff --git a/include/item.h b/include/item.h index 08133ef31..f5a8db699 100644 --- a/include/item.h +++ b/include/item.h @@ -73,7 +73,7 @@ bool8 itemid_is_unique(u16 itemId); void sub_809A584(struct ItemSlot * slots, u8 capacity); u16 GetBagItemId(u16 *); -void sub_809A4E8(void); -void sub_809A460(u16 itemId, u16 quantity); +void ItemPcCompaction(void); +void RemoveItemFromPC(u16 itemId, u16 quantity); #endif // ITEM_H diff --git a/include/item_menu.h b/include/item_menu.h index 840c357d0..2d4be4fd7 100644 --- a/include/item_menu.h +++ b/include/item_menu.h @@ -27,6 +27,6 @@ void sub_81AAC70(void); void sub_8108CF0(void); void sub_810B108(u8); void UseFameCheckerFromMenu(void); -void sub_8108D60(struct ItemSlot * slots, int pos1, int pos2); +void ItemMenu_MoveItemSlotToNewPositionInArray(struct ItemSlot * slots, int pos1, int pos2); #endif //GUARD_ITEM_MENU_H diff --git a/include/item_menu_icons.h b/include/item_menu_icons.h index 980016573..ce61c38ac 100644 --- a/include/item_menu_icons.h +++ b/include/item_menu_icons.h @@ -3,11 +3,11 @@ #include "global.h" -void sub_80984D8(void); +void ResetItemMenuIconState(void); void sub_80985E4(void); u8 sub_80D511C(u8 a0, u8 a1, u8 a2, u8 a3); -void sub_8098940(bool8 a0); -void sub_80988E8(u16 itemId, bool8 a0); +void DestroyItemMenuIcon(bool8 a0); +void CreateItemMenuIcon(u16 itemId, bool8 a0); void sub_80986A8(s16 x, u16 y); void sub_8098660(u8); diff --git a/include/item_pc.h b/include/item_pc.h new file mode 100644 index 000000000..2fecf69a8 --- /dev/null +++ b/include/item_pc.h @@ -0,0 +1,7 @@ +#ifndef GUARD_ITEM_PC_H +#define GUARD_ITEM_PC_H + +void ItemPc_Init(u8 a0, MainCallback callback); +void ItemPc_SetInitializedFlag(u8); + +#endif //GUARD_ITEM_PC_H diff --git a/include/item_use.h b/include/item_use.h index 5ec5f2b33..04e61ab59 100644 --- a/include/item_use.h +++ b/include/item_use.h @@ -4,6 +4,6 @@ #include "global.h" void sub_80A1E0C(u8); -void sub_80A2294(u8, u8, u16, u16); +void ItemUse_SetQuestLogEvent(u8, struct Pokemon *, u16, u16); #endif //GUARD_ITEM_USE_H diff --git a/include/menu.h b/include/menu.h index 74c4025b8..fa8552484 100644 --- a/include/menu.h +++ b/include/menu.h @@ -36,7 +36,7 @@ void do_scheduled_bg_tilemap_copies_to_vram(void); void clear_scheduled_bg_copies_to_vram(void); void AddTextPrinterParameterized4(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, const struct TextColor *color, s8 speed, const u8 *str); void sub_8197B1C(u8 windowId, bool8 copyToVram, u16 a2, u16 a3); -void sub_810F4D8(u8 windowId, bool32 someBool); +void ClearMenuWindow(u8 windowId, bool8 copyToVram); void *sub_80F68F0(u8 bgId, const void *src, u32 size, u16 offset, u8 mode); void CreateWindow_SnapRight_StdPal(u8, u8, u8, u8, u16); void Menu_PrintHelpSystemUIHeader(const u8 *, const u8 *, u8, u32, u8); @@ -49,7 +49,7 @@ void CreateYesNoMenu(const struct WindowTemplate *, u8, u8, u8, u16, u8, u8); void StartBlendTask(u8 eva_start, u8 evb_start, u8 eva_end, u8 evb_end, u8 ev_step, u8 priority); bool8 IsBlendTaskActive(void); void AddItemMenuActionTextPrinters(u8 windowId, u8 fontId, u8 left, u8 top, u8 letterSpacing, u8 lineHeight, u8 itemCount, const struct MenuAction *strs, const u8 *a8); -void sub_810F260(u8 windowId, u8 a1); +void ClearMenuWindow_BorderThickness2(u8 windowId, u8 a1); void PrintTextArray(u8, u8, u8, u8, u8, u8, const struct MenuAction *); #endif // GUARD_MENU_H diff --git a/include/menu_helpers.h b/include/menu_helpers.h index a42b3c76b..25ef3252e 100644 --- a/include/menu_helpers.h +++ b/include/menu_helpers.h @@ -21,7 +21,7 @@ void sub_8121F68(u8 taskId, const struct YesNoFuncTable *data); bool8 sub_81221AC(void); bool16 sub_80BF518(u8 textPrinterId); bool8 sub_80BF72C(void); -bool8 sub_80BF708(void); +bool8 MenuHelpers_LinkSomething(void); void VblankHblankHandlerSetZero(void); void InitBgReg(void); u8 sub_80BF8E4(void); diff --git a/include/new_menu_helpers.h b/include/new_menu_helpers.h index 929147c0c..ed933089f 100644 --- a/include/new_menu_helpers.h +++ b/include/new_menu_helpers.h @@ -29,7 +29,7 @@ void ResetBg0(void); void Menu_LoadStdPalAt(u16); void * malloc_and_decompress(const void * src, u32 * size); u16 sub_80F796C(void); -void sub_80F6B08(u8 bgId, u8 left, u8 top, u8 width, u8 height, u8 palette); +void SetBgRectPal(u8 bgId, u8 left, u8 top, u8 width, u8 height, u8 palette); void DecompressAndLoadBgGfxUsingHeap(u8 bgId, const void * gfx, u32 size, u16 a3, u8 a4); void ClearStdWindowAndFrame(u8 taskId, bool8 copyNow); diff --git a/include/party_menu.h b/include/party_menu.h index 144e735de..527147296 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -51,6 +51,6 @@ void sub_8120760(u8 taskId, u8 a1, s8 a2, s16 amount, TaskFunc followupFunc); void GetMonNickname(const struct Pokemon * mon, u8 * dest); void sub_81202F8(const u8 * src, u8 a1); bool8 sub_8120370(void); -void sub_811EA44(u8 a, u8 b, u8 c, u8 d, u8 messageId, TaskFunc task, MainCallback callback); +void PartyMenuInit(u8 a, u8 b, u8 c, u8 d, u8 messageId, TaskFunc task, MainCallback callback); #endif // GUARD_PARTY_MENU_H diff --git a/include/strings.h b/include/strings.h index fbdfeec2d..08dd25174 100644 --- a/include/strings.h +++ b/include/strings.h @@ -151,14 +151,14 @@ extern const u8 gString_HelpSystem_ClearTo8[]; extern const u8 gOtherText_Give[]; extern const u8 gFameCheckerText_Cancel[]; -extern const u8 gUnknown_84162FF[]; -extern const u8 gUnknown_841633F[]; -extern const u8 gUnknown_8416655[]; -extern const u8 gUnknown_841778A[]; -extern const u8 gUnknown_84177AC[]; -extern const u8 gUnknown_84177C5[]; -extern const u8 gUnknown_84178A7[]; -extern const u8 gUnknown_84178B5[]; -extern const u8 gUnknown_84178BE[]; +extern const u8 gOtherText_StrVar1[]; +extern const u8 gOtherText_WhereShouldTheStrVar1BePlaced[]; +extern const u8 gOtherText_Powder[]; +extern const u8 gText_NoMoreRoomInBag[]; +extern const u8 gText_WithdrawHowMany[]; +extern const u8 gText_WithdrewQuantItem[]; +extern const u8 gText_WithdrawItem[]; +extern const u8 gText_Withdraw[]; +extern const u8 gText_ReturnToPC[]; #endif //GUARD_STRINGS_H diff --git a/include/text_window.h b/include/text_window.h index c384ca1bb..cc1de56ae 100644 --- a/include/text_window.h +++ b/include/text_window.h @@ -20,9 +20,9 @@ void rbox_fill_rectangle(u8 windowId); const u16* stdpal_get(u8 id); const u16* GetOverworldTextboxPalettePtr(void); void sub_8098C6C(u8 bg, u16 destOffset, u8 palOffset); -void sub_814FEAC(u8 windowId, u16 tileStart, u8 palette); -void sub_814FF2C(u8 windowId, u16 tileStart, u8 palette); -void sub_815001C(u8 windowId, u16 tileStart, u8 palette); +void TextWindow_SetBubbleFrame_841F1C8(u8 windowId, u16 tileStart, u8 palette); +void TextWindow_SetStdFrame0_WithPal(u8 windowId, u16 tileStart, u8 palette); +void TextWindow_SetUserSelectedFrame(u8 windowId, u16 tileStart, u8 palette); void LoadUserWindowBorderGfx(u8 windowId, u16 tileStart, u8 palette); void sub_814FDA0(u8 windowId, u16 tileStart, u8 palette); void DrawTextBorderOuter(u8 windowId, u16 tileStart, u8 palette); diff --git a/include/text_window_graphics.h b/include/text_window_graphics.h index 5fa78d955..17e919705 100644 --- a/include/text_window_graphics.h +++ b/include/text_window_graphics.h @@ -8,11 +8,11 @@ struct TextWindowGraphics }; extern const u16 gUnknown_8470B0C[]; -extern const u16 gUnknown_8471A4C[]; -extern const u16 gUnknown_8471B6C[]; +extern const u16 gStdFrame0[]; +extern const u16 gStdFrame1[]; extern const u16 gUnknown_8471DEC[][16]; -extern const struct TextWindowGraphics gUnknown_8471E8C[]; +extern const struct TextWindowGraphics gUserFrames[]; const struct TextWindowGraphics * sub_8069788(u8 idx); diff --git a/include/window.h b/include/window.h index eb35e94d2..30e73dd32 100644 --- a/include/window.h +++ b/include/window.h @@ -47,6 +47,8 @@ struct Window u8 *tileData; }; +typedef void (*WindowFunc)(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum); + bool16 InitWindows(const struct WindowTemplate *templates); u16 AddWindow(const struct WindowTemplate *template); int AddWindowWithoutTileMap(const struct WindowTemplate *template); @@ -64,7 +66,7 @@ void FillWindowPixelRect(u8 windowId, u8 fillValue, u16 x, u16 y, u16 width, u16 void CopyToWindowPixelBuffer(u8 windowId, const u8 *src, u16 size, u16 tileOffset); void FillWindowPixelBuffer(u8 windowId, u8 fillValue); void ScrollWindow(u8 windowId, u8 direction, u8 distance, u8 fillValue); -void CallWindowFunction(u8 windowId, void ( *func)(u8, u8, u8, u8, u8, u8)); +void CallWindowFunction(u8 windowId, WindowFunc func); bool8 SetWindowAttribute(u8 windowId, u8 attributeId, u32 value); u32 GetWindowAttribute(u8 windowId, u8 attributeId); u16 AddWindow8Bit(struct WindowTemplate *template); diff --git a/src/bag.c b/src/bag.c index 6f0badd81..f2fc40d93 100644 --- a/src/bag.c +++ b/src/bag.c @@ -210,9 +210,9 @@ void sub_810B858(void) else InitWindows(gUnknown_84530E4); DeactivateAllTextPrinters(); - sub_815001C(0, 0x64, 0xE0); - sub_814FEAC(0, 0x6D, 0xD0); - sub_814FF2C(0, 0x81, 0xC0); + TextWindow_SetUserSelectedFrame(0, 0x64, 0xE0); + TextWindow_SetBubbleFrame_841F1C8(0, 0x6D, 0xD0); + TextWindow_SetStdFrame0_WithPal(0, 0x81, 0xC0); LoadPalette(gUnknown_8453098, 0xF0, 0x20); for (i = 0; i < 3; i++) { @@ -265,7 +265,7 @@ u8 sub_810B9DC(u8 a0, u8 a1) void sub_810BA3C(u8 a0) { - sub_810F4D8(gUnknown_203AD34[a0], FALSE); + ClearMenuWindow(gUnknown_203AD34[a0], FALSE); ClearWindowTilemap(gUnknown_203AD34[a0]); RemoveWindow(gUnknown_203AD34[a0]); schedule_bg_copy_tilemap_to_vram(0); @@ -285,7 +285,7 @@ void sub_810BA9C(u8 a0) { if (gUnknown_203AD34[a0] != 0xFF) { - sub_810F260(gUnknown_203AD34[a0], FALSE); + ClearMenuWindow_BorderThickness2(gUnknown_203AD34[a0], FALSE); ClearWindowTilemap(gUnknown_203AD34[a0]); RemoveWindow(gUnknown_203AD34[a0]); PutWindowTilemap(1); diff --git a/src/coins.c b/src/coins.c index e97928df7..3a51f6813 100644 --- a/src/coins.c +++ b/src/coins.c @@ -87,7 +87,7 @@ void ShowCoinsWindow(u32 coinAmount, u8 x, u8 y) sCoinsWindowId = AddWindow(&template2); FillWindowPixelBuffer(sCoinsWindowId, 0); PutWindowTilemap(sCoinsWindowId); - sub_814FF2C(sCoinsWindowId, 0x21D, 0xD0); + TextWindow_SetStdFrame0_WithPal(sCoinsWindowId, 0x21D, 0xD0); SetWindowBorderStyle(sCoinsWindowId, FALSE, 0x21D, 0xD); AddTextPrinterParameterized(sCoinsWindowId, 2, gUnknown_8417C2D, 0, 0, 0xFF, 0); PrintCoinsString(coinAmount); @@ -96,6 +96,6 @@ void ShowCoinsWindow(u32 coinAmount, u8 x, u8 y) void HideCoinsWindow(void) { ClearWindowTilemap(sCoinsWindowId); - sub_810F4D8(sCoinsWindowId, TRUE); + ClearMenuWindow(sCoinsWindowId, TRUE); RemoveWindow(sCoinsWindowId); } diff --git a/src/fldeff_softboiled.c b/src/fldeff_softboiled.c index deaa36eb5..50c715388 100644 --- a/src/fldeff_softboiled.c +++ b/src/fldeff_softboiled.c @@ -84,7 +84,7 @@ void sub_80E58A0(u8 taskId) sub_811F818(gUnknown_203B0A0.unk9, 0); gUnknown_203B0A0.unk9 = gUnknown_203B0A0.unkA; sub_811F818(gUnknown_203B0A0.unkA, 1); - sub_810F4D8(6, 0); + ClearMenuWindow(6, 0); ClearWindowTilemap(6); sub_8121D0C(0); gTasks[taskId].func = sub_811FB28; diff --git a/src/item_pc.c b/src/item_pc.c index f158831c9..3e139503e 100644 --- a/src/item_pc.c +++ b/src/item_pc.c @@ -9,6 +9,7 @@ #include "item_menu.h" #include "item_menu_icons.h" #include "list_menu.h" +#include "item_pc.h" #include "item_use.h" #include "main.h" #include "malloc.h" @@ -30,82 +31,81 @@ struct ItemPcResources { - MainCallback field_00; - u8 field_04; - u8 field_05; - u8 field_06; - u8 field_07; - u8 field_08; - u16 field_0A; - s16 field_0C[3]; + MainCallback savedCallback; + u8 moveModeOrigPos; + u8 itemMenuIconSlot; + u8 maxShowed; + u8 nItems; + u8 scrollIndicatorArrowPairId; + u16 withdrawQuantitySubmenuCursorPos; + s16 data[3]; }; struct ItemPcStaticResources { - MainCallback field_0; - u16 field_4; - u16 field_6; - u8 field_8; + MainCallback savedCallback; + u16 scroll; + u16 row; + u8 initialized; }; -EWRAM_DATA struct ItemPcResources * gUnknown_203ADBC = NULL; -EWRAM_DATA u8 * gUnknown_203ADC0 = NULL; -EWRAM_DATA struct ListMenuItem * gUnknown_203ADC4 = NULL; -EWRAM_DATA void * gUnknown_203ADC8 = NULL; -EWRAM_DATA struct ItemPcStaticResources gUnknown_203ADCC = {}; -EWRAM_DATA u8 gUnknown_203ADD8[3] = {}; - -extern const struct CompressedSpriteSheet gUnknown_83D4240; -extern const struct CompressedSpritePalette gUnknown_83D4248; - -void sub_810D4A0(void); -bool8 sub_810D4C0(void); -void sub_810D6AC(void); -void sub_810D6E8(u8 taskId); -bool8 sub_810D71C(void); -bool8 sub_810D78C(void); -bool8 sub_810D83C(void); -void sub_810D878(void); -void sub_810D954(s32 itemIndex, bool8 onInit, struct ListMenu * list); -void sub_810DA20(u8 windowId, s32 itemId, u8 y); -void sub_810DAD4(u8 y, u8 state); -void sub_810DB34(void); -void sub_810DB5C(void); -void sub_810DBF0(void); -void sub_810DC40(void); -void sub_810DCE4(u8 taskId); -u16 ItemPc_GetItemIdBySlotId(u16 itemIndex); -u16 ItemPc_GetItemQuantityBySlotId(u16 itemIndex); -void sub_810DDA4(void); -void sub_810DE08(void); -void sub_810DE94(u8); -void sub_810DEA0(u8 taskId); -void sub_810DFE0(u8 taskId, s16 pos); -void sub_810E0B4(u8 taskId); -void sub_810E160(u8 taskId, u32 pos); -void sub_810E200(u8 taskId, u32 pos); -void sub_810E274(u8 taskId); -void sub_810E358(u8 taskId); -void sub_810E3A4(u8 taskId); -void sub_810E418(u8 taskId); -void sub_810E4F4(u8 taskId); -void sub_810E548(u8 taskId); -void sub_810E578(u8 taskId); -void sub_810E5E0(u16 slotId); -void sub_810E6D8(u8 taskId); -void sub_810E79C(u8 taskId); -void sub_810E7F8(void); -void sub_810E838(void); -void sub_810E848(u8 taskId); -void sub_810E8A0(u8 taskId); -void sub_810E8F0(void); -void sub_810EA34(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, u8 speed, u8 colorIdx); -void sub_810EA9C(u8 windowId); -u8 sub_810EAB4(u8 idx); -void sub_810EAF0(u8 idx); -void sub_810EB30(u8 taskId, const u8 * str, TaskFunc taskFunc); - -const struct BgTemplate gUnknown_8453F6C[2] = { +static EWRAM_DATA struct ItemPcResources * sStateDataPtr = NULL; +static EWRAM_DATA u8 * sBg1TilemapBuffer = NULL; +static EWRAM_DATA struct ListMenuItem * sListMenuItems = NULL; +static EWRAM_DATA u8 * sUnusedStringAllocation = NULL; +static EWRAM_DATA struct ItemPcStaticResources sListMenuState = {}; +static EWRAM_DATA u8 sSubmenuWindowIds[3] = {}; + +extern const struct CompressedSpriteSheet gBagSwapSpriteSheet; +extern const struct CompressedSpritePalette gBagSwapSpritePalette; + +static void ItemPc_RunSetup(void); +static bool8 ItemPc_DoGfxSetup(void); +static void ItemPc_FadeAndBail(void); +static void Task_ItemPcWaitFadeAndBail(u8 taskId); +static bool8 ItemPc_InitBgs(void); +static bool8 ItemPc_LoadGraphics(void); +static bool8 ItemPc_AllocateResourcesForListMenu(void); +static void ItemPc_BuildListMenuTemplate(void); +static void ItemPc_MoveCursorFunc(s32 itemIndex, bool8 onInit, struct ListMenu * list); +static void ItemPc_ItemPrintFunc(u8 windowId, s32 itemId, u8 y); +static void ItemPc_PrintOrRemoveCursorAt(u8 y, u8 state); +static void ItemPc_PrintWithdrawItem(void); +static void ItemPc_PlaceTopMenuScrollIndicatorArrows(void); +static void ItemPc_SetCursorPosition(void); +static void ItemPc_FreeResources(void); +static void Task_ItemPcTurnOff2(u8 taskId); +static u16 ItemPc_GetItemIdBySlotId(u16 itemIndex); +static u16 ItemPc_GetItemQuantityBySlotId(u16 itemIndex); +static void ItemPc_CountPcItems(void); +static void ItemPc_SetScrollPosition(void); +static void Task_ItemPcMain(u8 taskId); +static void ItemPc_MoveItemModeInit(u8 taskId, s16 pos); +static void Task_ItemPcMoveItemModeRun(u8 taskId); +static void ItemPc_InsertItemIntoNewSlot(u8 taskId, u32 pos); +static void ItemPc_MoveItemModeCancel(u8 taskId, u32 pos); +static void Task_ItemPcSubmenuInit(u8 taskId); +static void Task_ItemPcSubmenuRun(u8 taskId); +static void Task_ItemPcWithdraw(u8 taskId); +static void ItemPc_DoWithdraw(u8 taskId); +static void Task_ItemPcWaitButtonAndFinishWithdrawMultiple(u8 taskId); +static void Task_ItemPcWaitButtonWithdrawMultipleFailed(u8 taskId); +static void Task_ItemPcCleanUpWithdraw(u8 taskId); +static void ItemPc_WithdrawMultipleInitWindow(u16 slotId); +static void Task_ItemPcHandleWithdrawMultiple(u8 taskId); +static void Task_ItemPcGive(u8 taskId); +static void ItemPc_CB2_SwitchToPartyMenu(void); +static void ItemPc_CB2_ReturnFromPartyMenu(void); +static void gTask_ItemPcWaitButtonAndExitSubmenu(u8 taskId); +static void Task_ItemPcCancel(u8 taskId); +static void ItemPc_InitWindows(void); +static void ItemPc_AddTextPrinterParameterized(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, u8 speed, u8 colorIdx); +static void ItemPc_SetBorderStyleOnWindow(u8 windowId); +static u8 ItemPc_GetOrCreateSubwindow(u8 idx); +static void ItemPc_DestroySubwindow(u8 idx); +static void ItemPc_PrintOnWindow5WithContinueTask(u8 taskId, const u8 * str, TaskFunc taskFunc); + +static const struct BgTemplate sBgTemplates[2] = { { .bg = 0, .charBaseIndex = 0, @@ -119,20 +119,20 @@ const struct BgTemplate gUnknown_8453F6C[2] = { } }; -const struct MenuAction gUnknown_8453F74[] = { - {gUnknown_84178B5, {.void_u8 = sub_810E3A4}}, - {gOtherText_Give, {.void_u8 = sub_810E79C}}, - {gFameCheckerText_Cancel, {.void_u8 = sub_810E8A0}} +static const struct MenuAction sItemPcSubmenuOptions[] = { + {gText_Withdraw, {.void_u8 = Task_ItemPcWithdraw}}, + {gOtherText_Give, {.void_u8 = Task_ItemPcGive}}, + {gFameCheckerText_Cancel, {.void_u8 = Task_ItemPcCancel}} }; -const struct TextColor gUnknown_8453F8C[] = { +static const struct TextColor gUnknown_8453F8C[] = { {0, 1, 2}, {0, 2, 3}, {0, 3, 2}, {0, 10, 2} }; -const struct WindowTemplate gUnknown_8453F98[] = { +static const struct WindowTemplate gUnknown_8453F98[] = { { .bg = 0, .tilemapLeft = 0x07, @@ -184,7 +184,7 @@ const struct WindowTemplate gUnknown_8453F98[] = { }, DUMMY_WIN_TEMPLATE }; -const struct WindowTemplate gUnknown_8453FD0[] = { +static const struct WindowTemplate gUnknown_8453FD0[] = { { .bg = 0, .tilemapLeft = 0x06, @@ -212,7 +212,7 @@ const struct WindowTemplate gUnknown_8453FD0[] = { } }; -void sub_810D3F4(u8 a0, MainCallback callback) +void ItemPc_Init(u8 a0, MainCallback callback) { u8 i; @@ -221,28 +221,28 @@ void sub_810D3F4(u8 a0, MainCallback callback) SetMainCallback2(callback); return; } - if ((gUnknown_203ADBC = Alloc(sizeof(struct ItemPcResources))) == NULL) + if ((sStateDataPtr = Alloc(sizeof(struct ItemPcResources))) == NULL) { SetMainCallback2(callback); return; } if (a0 != 1) { - gUnknown_203ADCC.field_0 = callback; - gUnknown_203ADCC.field_4 = gUnknown_203ADCC.field_6 = 0; + sListMenuState.savedCallback = callback; + sListMenuState.scroll = sListMenuState.row = 0; } - gUnknown_203ADBC->field_04 = 0xFF; - gUnknown_203ADBC->field_05 = 0; - gUnknown_203ADBC->field_08 = 0xFF; - gUnknown_203ADBC->field_00 = 0; + sStateDataPtr->moveModeOrigPos = 0xFF; + sStateDataPtr->itemMenuIconSlot = 0; + sStateDataPtr->scrollIndicatorArrowPairId = 0xFF; + sStateDataPtr->savedCallback = 0; for (i = 0; i < 3; i++) { - gUnknown_203ADBC->field_0C[i] = 0; + sStateDataPtr->data[i] = 0; } - SetMainCallback2(sub_810D4A0); + SetMainCallback2(ItemPc_RunSetup); } -void sub_810D470(void) +static void ItemPc_MainCB(void) { RunTasks(); AnimateSprites(); @@ -251,25 +251,25 @@ void sub_810D470(void) UpdatePaletteFade(); } -void sub_810D48C(void) +static void ItemPc_VBlankCB(void) { LoadOam(); ProcessSpriteCopyRequests(); TransferPlttBuffer(); } -void sub_810D4A0(void) +static void ItemPc_RunSetup(void) { while (1) { - if (sub_810D4C0() == TRUE) + if (ItemPc_DoGfxSetup() == TRUE) break; - if (sub_80BF708() == TRUE) + if (MenuHelpers_LinkSomething() == TRUE) break; } } -bool8 sub_810D4C0(void) +static bool8 ItemPc_DoGfxSetup(void) { u8 taskId; switch (gMain.state) @@ -296,7 +296,7 @@ bool8 sub_810D4C0(void) gMain.state++; break; case 5: - sub_80984D8(); + ResetItemMenuIconState(); gMain.state++; break; case 6: @@ -304,46 +304,46 @@ bool8 sub_810D4C0(void) gMain.state++; break; case 7: - if (sub_810D71C()) + if (ItemPc_InitBgs()) { - gUnknown_203ADBC->field_0C[0] = 0; + sStateDataPtr->data[0] = 0; gMain.state++; } else { - sub_810D6AC(); + ItemPc_FadeAndBail(); return TRUE; } break; case 8: - if (sub_810D78C() == TRUE) + if (ItemPc_LoadGraphics() == TRUE) gMain.state++; break; case 9: - sub_810E8F0(); + ItemPc_InitWindows(); gMain.state++; break; case 10: - sub_810DDA4(); - sub_810DBF0(); - sub_810DE08(); + ItemPc_CountPcItems(); + ItemPc_SetCursorPosition(); + ItemPc_SetScrollPosition(); gMain.state++; break; case 11: - if (sub_810D83C()) + if (ItemPc_AllocateResourcesForListMenu()) gMain.state++; else { - sub_810D6AC(); + ItemPc_FadeAndBail(); return TRUE; } break; case 12: - sub_810D878(); + ItemPc_BuildListMenuTemplate(); gMain.state++; break; case 13: - sub_810DB34(); + ItemPc_PrintWithdrawItem(); gMain.state++; break; case 14: @@ -351,12 +351,12 @@ bool8 sub_810D4C0(void) gMain.state++; break; case 15: - taskId = CreateTask(sub_810DEA0, 0); - gTasks[taskId].data[0] = ListMenuInit(&gMultiuseListMenuTemplate, gUnknown_203ADCC.field_4, gUnknown_203ADCC.field_6); + taskId = CreateTask(Task_ItemPcMain, 0); + gTasks[taskId].data[0] = ListMenuInit(&gMultiuseListMenuTemplate, sListMenuState.scroll, sListMenuState.row); gMain.state++; break; case 16: - sub_810DB5C(); + ItemPc_PlaceTopMenuScrollIndicatorArrows(); gMain.state++; break; case 17: @@ -364,21 +364,21 @@ bool8 sub_810D4C0(void) gMain.state++; break; case 18: - if (gUnknown_203ADCC.field_8 == 1) + if (sListMenuState.initialized == 1) { BlendPalettes(0xFFFFFFFF, 16, RGB_BLACK); } gMain.state++; break; case 19: - if (gUnknown_203ADCC.field_8 == 1) + if (sListMenuState.initialized == 1) { BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); } else { sub_80A0A48(0, 0, 0); - sub_810DE94(1); + ItemPc_SetInitializedFlag(1); PlaySE(SE_PC_LOGON); } gMain.state++; @@ -388,41 +388,41 @@ bool8 sub_810D4C0(void) gMain.state++; break; default: - SetVBlankCallback(sub_810D48C); - SetMainCallback2(sub_810D470); + SetVBlankCallback(ItemPc_VBlankCB); + SetMainCallback2(ItemPc_MainCB); return TRUE; } return FALSE; } -void sub_810D6AC(void) +static void ItemPc_FadeAndBail(void) { BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); - CreateTask(sub_810D6E8, 0); - SetVBlankCallback(sub_810D48C); - SetMainCallback2(sub_810D470); + CreateTask(Task_ItemPcWaitFadeAndBail, 0); + SetVBlankCallback(ItemPc_VBlankCB); + SetMainCallback2(ItemPc_MainCB); } -void sub_810D6E8(u8 taskId) +static void Task_ItemPcWaitFadeAndBail(u8 taskId) { if (!gPaletteFade.active) { - SetMainCallback2(gUnknown_203ADCC.field_0); - sub_810DC40(); + SetMainCallback2(sListMenuState.savedCallback); + ItemPc_FreeResources(); DestroyTask(taskId); } } -bool8 sub_810D71C(void) +static bool8 ItemPc_InitBgs(void) { InitBgReg(); - gUnknown_203ADC0 = Alloc(0x800); - if (gUnknown_203ADC0 == NULL) + sBg1TilemapBuffer = Alloc(0x800); + if (sBg1TilemapBuffer == NULL) return FALSE; - memset(gUnknown_203ADC0, 0, 0x800); + memset(sBg1TilemapBuffer, 0, 0x800); ResetBgsAndClearDma3BusyFlags(0); - InitBgsFromTemplates(0, gUnknown_8453F6C, NELEMS(gUnknown_8453F6C)); - SetBgTilemapBuffer(1, gUnknown_203ADC0); + InitBgsFromTemplates(0, sBgTemplates, NELEMS(sBgTemplates)); + SetBgTilemapBuffer(1, sBg1TilemapBuffer); schedule_bg_copy_tilemap_to_vram(1); SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON); SetGpuReg(REG_OFFSET_BLDCNT , 0); @@ -431,70 +431,70 @@ bool8 sub_810D71C(void) return TRUE; } -bool8 sub_810D78C(void) +static bool8 ItemPc_LoadGraphics(void) { - switch (gUnknown_203ADBC->field_0C[0]) + switch (sStateDataPtr->data[0]) { case 0: reset_temp_tile_data_buffers(); - decompress_and_copy_tile_data_to_vram(1, gUnknown_8E85090, 0, 0, 0); - gUnknown_203ADBC->field_0C[0]++; + decompress_and_copy_tile_data_to_vram(1, gItemPcTiles, 0, 0, 0); + sStateDataPtr->data[0]++; break; case 1: if (free_temp_tile_data_buffers_if_possible() != TRUE) { - LZDecompressWram(gUnknown_8E85458, gUnknown_203ADC0); - gUnknown_203ADBC->field_0C[0]++; + LZDecompressWram(gItemPcTilemap, sBg1TilemapBuffer); + sStateDataPtr->data[0]++; } break; case 2: - LoadCompressedPalette(gUnknown_8E85408, 0x00, 0x60); - gUnknown_203ADBC->field_0C[0]++; + LoadCompressedPalette(gItemPcBgPals, 0x00, 0x60); + sStateDataPtr->data[0]++; break; case 3: - LoadCompressedObjectPic(&gUnknown_83D4240); - gUnknown_203ADBC->field_0C[0]++; + LoadCompressedObjectPic(&gBagSwapSpriteSheet); + sStateDataPtr->data[0]++; break; default: - LoadCompressedObjectPalette(&gUnknown_83D4248); - gUnknown_203ADBC->field_0C[0] = 0; + LoadCompressedObjectPalette(&gBagSwapSpritePalette); + sStateDataPtr->data[0] = 0; return TRUE; } return FALSE; } -#define sub_810D83C_sub(ptr__, size) ({ \ +#define try_alloc(ptr__, size) ({ \ void ** ptr = (void **)&(ptr__); \ *ptr = Alloc(size); \ if (*ptr == NULL) \ { \ - sub_810DC40(); \ - sub_810D6AC(); \ + ItemPc_FreeResources(); \ + ItemPc_FadeAndBail(); \ return FALSE; \ } \ }) -bool8 sub_810D83C(void) +static bool8 ItemPc_AllocateResourcesForListMenu(void) { - sub_810D83C_sub(gUnknown_203ADC4, sizeof(struct ListMenuItem) * (PC_ITEMS_COUNT + 1)); - sub_810D83C_sub(gUnknown_203ADC8, 0x1B2); + try_alloc(sListMenuItems, sizeof(struct ListMenuItem) * (PC_ITEMS_COUNT + 1)); + try_alloc(sUnusedStringAllocation, 14 * (PC_ITEMS_COUNT + 1)); return TRUE; } -void sub_810D878(void) +static void ItemPc_BuildListMenuTemplate(void) { u16 i; - for (i = 0; i < gUnknown_203ADBC->field_07; i++) + for (i = 0; i < sStateDataPtr->nItems; i++) { - gUnknown_203ADC4[i].label = ItemId_GetName(gSaveBlock1Ptr->pcItems[i].itemId); - gUnknown_203ADC4[i].index = i; + sListMenuItems[i].label = ItemId_GetName(gSaveBlock1Ptr->pcItems[i].itemId); + sListMenuItems[i].index = i; } - gUnknown_203ADC4[i].label = gFameCheckerText_Cancel; - gUnknown_203ADC4[i].index = -2; + sListMenuItems[i].label = gFameCheckerText_Cancel; + sListMenuItems[i].index = -2; - gMultiuseListMenuTemplate.items = gUnknown_203ADC4; - gMultiuseListMenuTemplate.totalItems = gUnknown_203ADBC->field_07 + 1; + gMultiuseListMenuTemplate.items = sListMenuItems; + gMultiuseListMenuTemplate.totalItems = sStateDataPtr->nItems + 1; gMultiuseListMenuTemplate.windowId = 0; gMultiuseListMenuTemplate.header_X = 0; gMultiuseListMenuTemplate.item_X = 9; @@ -502,31 +502,31 @@ void sub_810D878(void) gMultiuseListMenuTemplate.lettersSpacing = 1; gMultiuseListMenuTemplate.itemVerticalPadding = 2; gMultiuseListMenuTemplate.upText_Y = 2; - gMultiuseListMenuTemplate.maxShowed = gUnknown_203ADBC->field_06; + gMultiuseListMenuTemplate.maxShowed = sStateDataPtr->maxShowed; gMultiuseListMenuTemplate.fontId = 2; gMultiuseListMenuTemplate.cursorPal = 2; gMultiuseListMenuTemplate.fillValue = 0; gMultiuseListMenuTemplate.cursorShadowPal = 3; - gMultiuseListMenuTemplate.moveCursorFunc = sub_810D954; - gMultiuseListMenuTemplate.itemPrintFunc = sub_810DA20; + gMultiuseListMenuTemplate.moveCursorFunc = ItemPc_MoveCursorFunc; + gMultiuseListMenuTemplate.itemPrintFunc = ItemPc_ItemPrintFunc; gMultiuseListMenuTemplate.scrollMultiple = 0; gMultiuseListMenuTemplate.cursorKind = 0; } -void sub_810D954(s32 itemIndex, bool8 onInit, struct ListMenu * list) +static void ItemPc_MoveCursorFunc(s32 itemIndex, bool8 onInit, struct ListMenu * list) { u16 itemId; const u8 * desc; if (onInit != TRUE) PlaySE(SE_SELECT); - if (gUnknown_203ADBC->field_04 == 0xFF) + if (sStateDataPtr->moveModeOrigPos == 0xFF) { - sub_8098940(gUnknown_203ADBC->field_05 ^ 1); + DestroyItemMenuIcon(sStateDataPtr->itemMenuIconSlot ^ 1); if (itemIndex != -2) { itemId = ItemPc_GetItemIdBySlotId(itemIndex); - sub_80988E8(itemId, gUnknown_203ADBC->field_05); + CreateItemMenuIcon(itemId, sStateDataPtr->itemMenuIconSlot); if (ItemId_GetPocket(itemId) == POCKET_TM_CASE) desc = gMoveNames[ItemIdToBattleMoveId(itemId)]; else @@ -534,39 +534,39 @@ void sub_810D954(s32 itemIndex, bool8 onInit, struct ListMenu * list) } else { - sub_80988E8(ITEM_N_A, gUnknown_203ADBC->field_05); - desc = gUnknown_84178BE; + CreateItemMenuIcon(ITEM_N_A, sStateDataPtr->itemMenuIconSlot); + desc = gText_ReturnToPC; } - gUnknown_203ADBC->field_05 ^= 1; + sStateDataPtr->itemMenuIconSlot ^= 1; FillWindowPixelBuffer(1, 0); - sub_810EA34(1, 2, desc, 0, 3, 2, 0, 0, 3); + ItemPc_AddTextPrinterParameterized(1, 2, desc, 0, 3, 2, 0, 0, 3); } } -void sub_810DA20(u8 windowId, s32 itemId, u8 y) +static void ItemPc_ItemPrintFunc(u8 windowId, s32 itemId, u8 y) { - if (gUnknown_203ADBC->field_04 != 0xFF) + if (sStateDataPtr->moveModeOrigPos != 0xFF) { - if (gUnknown_203ADBC->field_04 == (u8)itemId) - sub_810DAD4(y, 2); + if (sStateDataPtr->moveModeOrigPos == (u8)itemId) + ItemPc_PrintOrRemoveCursorAt(y, 2); else - sub_810DAD4(y, 0xFF); + ItemPc_PrintOrRemoveCursorAt(y, 0xFF); } if (itemId != -2) { u16 quantity = ItemPc_GetItemQuantityBySlotId(itemId); ConvertIntToDecimalStringN(gStringVar1, quantity, STR_CONV_MODE_RIGHT_ALIGN, 3); StringExpandPlaceholders(gStringVar4, gText_TimesStrVar1); - sub_810EA34(windowId, 0, gStringVar4, 110, y, 0, 0, 0xFF, 1); + ItemPc_AddTextPrinterParameterized(windowId, 0, gStringVar4, 110, y, 0, 0, 0xFF, 1); } } -void sub_810DAB4(u8 listMenuId, u8 colorIdx) +static void ItemPc_PrintOrRemoveCursor(u8 listMenuId, u8 colorIdx) { - sub_810DAD4(ListMenuGetYCoordForPrintingArrowCursor(listMenuId), colorIdx); + ItemPc_PrintOrRemoveCursorAt(ListMenuGetYCoordForPrintingArrowCursor(listMenuId), colorIdx); } -void sub_810DAD4(u8 y, u8 colorIdx) +static void ItemPc_PrintOrRemoveCursorAt(u8 y, u8 colorIdx) { if (colorIdx == 0xFF) { @@ -576,66 +576,66 @@ void sub_810DAD4(u8 y, u8 colorIdx) } else { - sub_810EA34(0, 2, gFameCheckerText_ListMenuCursor, 0, y, 0, 0, 0, colorIdx); + ItemPc_AddTextPrinterParameterized(0, 2, gFameCheckerText_ListMenuCursor, 0, y, 0, 0, 0, colorIdx); } } -void sub_810DB34(void) +static void ItemPc_PrintWithdrawItem(void) { - sub_810EA34(2, 0, gUnknown_84178A7, 0, 1, 0, 1, 0, 0); + ItemPc_AddTextPrinterParameterized(2, 0, gText_WithdrawItem, 0, 1, 0, 1, 0, 0); } -void sub_810DB5C(void) +static void ItemPc_PlaceTopMenuScrollIndicatorArrows(void) { - gUnknown_203ADBC->field_08 = AddScrollIndicatorArrowPairParameterized(2, 128, 8, 104, gUnknown_203ADBC->field_07 - gUnknown_203ADBC->field_06 + 1, 110, 110, &gUnknown_203ADCC.field_4); + sStateDataPtr->scrollIndicatorArrowPairId = AddScrollIndicatorArrowPairParameterized(2, 128, 8, 104, sStateDataPtr->nItems - sStateDataPtr->maxShowed + 1, 110, 110, &sListMenuState.scroll); } -void sub_810DB98(void) +static void ItemPc_PlaceWithdrawQuantityScrollIndicatorArrows(void) { - gUnknown_203ADBC->field_0A = 1; - gUnknown_203ADBC->field_08 = AddScrollIndicatorArrowPairParameterized(2, 212, 120, 152, 2, 110, 110, &gUnknown_203ADBC->field_0A); + sStateDataPtr->withdrawQuantitySubmenuCursorPos = 1; + sStateDataPtr->scrollIndicatorArrowPairId = AddScrollIndicatorArrowPairParameterized(2, 212, 120, 152, 2, 110, 110, &sStateDataPtr->withdrawQuantitySubmenuCursorPos); } -void sub_810DBD0(void) +static void ItemPc_RemoveScrollIndicatorArrowPair(void) { - if (gUnknown_203ADBC->field_08 != 0xFF) + if (sStateDataPtr->scrollIndicatorArrowPairId != 0xFF) { - RemoveScrollIndicatorArrowPair(gUnknown_203ADBC->field_08); - gUnknown_203ADBC->field_08 = 0xFF; + RemoveScrollIndicatorArrowPair(sStateDataPtr->scrollIndicatorArrowPairId); + sStateDataPtr->scrollIndicatorArrowPairId = 0xFF; } } -void sub_810DBF0(void) +static void ItemPc_SetCursorPosition(void) { - if (gUnknown_203ADCC.field_4 != 0 && gUnknown_203ADCC.field_4 + gUnknown_203ADBC->field_06 > gUnknown_203ADBC->field_07 + 1) - gUnknown_203ADCC.field_4 = (gUnknown_203ADBC->field_07 + 1) - gUnknown_203ADBC->field_06; - if (gUnknown_203ADCC.field_4 + gUnknown_203ADCC.field_6 >= gUnknown_203ADBC->field_07 + 1) + if (sListMenuState.scroll != 0 && sListMenuState.scroll + sStateDataPtr->maxShowed > sStateDataPtr->nItems + 1) + sListMenuState.scroll = (sStateDataPtr->nItems + 1) - sStateDataPtr->maxShowed; + if (sListMenuState.scroll + sListMenuState.row >= sStateDataPtr->nItems + 1) { - if (gUnknown_203ADBC->field_07 + 1 < 2) - gUnknown_203ADCC.field_6 = 0; + if (sStateDataPtr->nItems + 1 < 2) + sListMenuState.row = 0; else - gUnknown_203ADCC.field_6 = gUnknown_203ADBC->field_07; + sListMenuState.row = sStateDataPtr->nItems; } } -#define sub_810DC40_sub(ptr) ({ \ +#define try_free(ptr) ({ \ void ** ptr__ = (void **)&(ptr); \ if (*ptr__ != NULL) \ Free(*ptr__); \ }) -void sub_810DC40(void) +static void ItemPc_FreeResources(void) { - sub_810DC40_sub(gUnknown_203ADBC); - sub_810DC40_sub(gUnknown_203ADC0); - sub_810DC40_sub(gUnknown_203ADC4); - sub_810DC40_sub(gUnknown_203ADC8); + try_free(sStateDataPtr); + try_free(sBg1TilemapBuffer); + try_free(sListMenuItems); + try_free(sUnusedStringAllocation); FreeAllWindowBuffers(); } -void sub_810DC8C(u8 taskId) +static void Task_ItemPcTurnOff1(u8 taskId) { - if (gUnknown_203ADCC.field_8 == 1) + if (sListMenuState.initialized == 1) { BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); } @@ -644,81 +644,81 @@ void sub_810DC8C(u8 taskId) sub_80A0A70(0, 0, 0); PlaySE(SE_PC_OFF); } - gTasks[taskId].func = sub_810DCE4; + gTasks[taskId].func = Task_ItemPcTurnOff2; } -void sub_810DCE4(u8 taskId) +static void Task_ItemPcTurnOff2(u8 taskId) { s16 * data = gTasks[taskId].data; if (!gPaletteFade.active && !sub_80A0AAC()) { - DestroyListMenu(data[0], &gUnknown_203ADCC.field_4, &gUnknown_203ADCC.field_6); - if (gUnknown_203ADBC->field_00 != NULL) - SetMainCallback2(gUnknown_203ADBC->field_00); + DestroyListMenu(data[0], &sListMenuState.scroll, &sListMenuState.row); + if (sStateDataPtr->savedCallback != NULL) + SetMainCallback2(sStateDataPtr->savedCallback); else - SetMainCallback2(gUnknown_203ADCC.field_0); - sub_810DBD0(); - sub_810DC40(); + SetMainCallback2(sListMenuState.savedCallback); + ItemPc_RemoveScrollIndicatorArrowPair(); + ItemPc_FreeResources(); DestroyTask(taskId); } } -u8 sub_810DD54(void) +static u8 ItemPc_GetCursorPosition(void) { - return gUnknown_203ADCC.field_4 + gUnknown_203ADCC.field_6; + return sListMenuState.scroll + sListMenuState.row; } -u16 ItemPc_GetItemIdBySlotId(u16 idx) +static u16 ItemPc_GetItemIdBySlotId(u16 idx) { return gSaveBlock1Ptr->pcItems[idx].itemId; } -u16 ItemPc_GetItemQuantityBySlotId(u16 idx) +static u16 ItemPc_GetItemQuantityBySlotId(u16 idx) { return GetBagItemId(&gSaveBlock1Ptr->pcItems[idx].quantity); } -void sub_810DDA4(void) +static void ItemPc_CountPcItems(void) { u16 i; - sub_809A4E8(); - gUnknown_203ADBC->field_07 = 0; - for (i = 0; i < PC_ITEMS_COUNT; gUnknown_203ADBC->field_07++, i++) + ItemPcCompaction(); + sStateDataPtr->nItems = 0; + for (i = 0; i < PC_ITEMS_COUNT; sStateDataPtr->nItems++, i++) { if (gSaveBlock1Ptr->pcItems[i].itemId == ITEM_NONE) break; } - gUnknown_203ADBC->field_06 = gUnknown_203ADBC->field_07 + 1 <= 6 ? gUnknown_203ADBC->field_07 + 1 : 6; + sStateDataPtr->maxShowed = sStateDataPtr->nItems + 1 <= 6 ? sStateDataPtr->nItems + 1 : 6; } -void sub_810DE08(void) +static void ItemPc_SetScrollPosition(void) { u8 i; - if (gUnknown_203ADCC.field_6 > 3) + if (sListMenuState.row > 3) { - for (i = 0; i <= gUnknown_203ADCC.field_6 - 3; gUnknown_203ADCC.field_6--, gUnknown_203ADCC.field_4++, i++) + for (i = 0; i <= sListMenuState.row - 3; sListMenuState.row--, sListMenuState.scroll++, i++) { - if (gUnknown_203ADCC.field_4 + gUnknown_203ADBC->field_06 == gUnknown_203ADBC->field_07 + 1) + if (sListMenuState.scroll + sStateDataPtr->maxShowed == sStateDataPtr->nItems + 1) break; } } } -void sub_810DE6C(int a0) +static void ItemPc_SetMessageWindowPalette(int a0) { - sub_80F6B08(1, 0, 14, 30, 6, a0 + 1); + SetBgRectPal(1, 0, 14, 30, 6, a0 + 1); schedule_bg_copy_tilemap_to_vram(1); } -void sub_810DE94(u8 a0) +void ItemPc_SetInitializedFlag(u8 a0) { - gUnknown_203ADCC.field_8 = a0; + sListMenuState.initialized = a0; } -void sub_810DEA0(u8 taskId) +static void Task_ItemPcMain(u8 taskId) { s16 * data = gTasks[taskId].data; u16 scroll; @@ -730,170 +730,170 @@ void sub_810DEA0(u8 taskId) if (JOY_NEW(SELECT_BUTTON)) { ListMenuGetScrollAndRow(data[0], &scroll, &row); - if (scroll + row != gUnknown_203ADBC->field_07) + if (scroll + row != sStateDataPtr->nItems) { PlaySE(SE_SELECT); - sub_810DFE0(taskId, scroll + row); + ItemPc_MoveItemModeInit(taskId, scroll + row); return; } } input = ListMenuHandleInput(data[0]); - ListMenuGetScrollAndRow(data[0], &gUnknown_203ADCC.field_4, &gUnknown_203ADCC.field_6); + ListMenuGetScrollAndRow(data[0], &sListMenuState.scroll, &sListMenuState.row); switch (input) { case -1: break; case -2: PlaySE(SE_SELECT); - sub_810DE94(0); - gTasks[taskId].func = sub_810DC8C; + ItemPc_SetInitializedFlag(0); + gTasks[taskId].func = Task_ItemPcTurnOff1; break; default: PlaySE(SE_SELECT); - sub_810DE6C(1); - sub_810DBD0(); + ItemPc_SetMessageWindowPalette(1); + ItemPc_RemoveScrollIndicatorArrowPair(); data[1] = input; data[2] = ItemPc_GetItemQuantityBySlotId(input); - sub_810DAB4(data[0], 2); - gTasks[taskId].func = sub_810E274; + ItemPc_PrintOrRemoveCursor(data[0], 2); + gTasks[taskId].func = Task_ItemPcSubmenuInit; break; } } } -void sub_810DFB0(u8 taskId) +static void ItemPc_ReturnFromSubmenu(u8 taskId) { - sub_810DE6C(0); - sub_810DB5C(); - gTasks[taskId].func = sub_810DEA0; + ItemPc_SetMessageWindowPalette(0); + ItemPc_PlaceTopMenuScrollIndicatorArrows(); + gTasks[taskId].func = Task_ItemPcMain; } -void sub_810DFE0(u8 taskId, s16 pos) +static void ItemPc_MoveItemModeInit(u8 taskId, s16 pos) { s16 * data = gTasks[taskId].data; sub_8107BD0(data[0], 16, 1); data[1] = pos; - gUnknown_203ADBC->field_04 = pos; + sStateDataPtr->moveModeOrigPos = pos; StringCopy(gStringVar1, ItemId_GetName(ItemPc_GetItemIdBySlotId(data[1]))); - StringExpandPlaceholders(gStringVar4, gUnknown_841633F); + StringExpandPlaceholders(gStringVar4, gOtherText_WhereShouldTheStrVar1BePlaced); FillWindowPixelBuffer(1, 0x00); - sub_810EA34(1, 2, gStringVar4, 0, 3, 2, 3, 0, 0); + ItemPc_AddTextPrinterParameterized(1, 2, gStringVar4, 0, 3, 2, 3, 0, 0); sub_80986A8(-32, ListMenuGetYCoordForPrintingArrowCursor(data[0])); sub_8098660(0); - sub_810DAB4(data[0], 2); - gTasks[taskId].func = sub_810E0B4; + ItemPc_PrintOrRemoveCursor(data[0], 2); + gTasks[taskId].func = Task_ItemPcMoveItemModeRun; } -void sub_810E0B4(u8 taskId) +static void Task_ItemPcMoveItemModeRun(u8 taskId) { s16 * data = gTasks[taskId].data; ListMenuHandleInput(data[0]); - ListMenuGetScrollAndRow(data[0], &gUnknown_203ADCC.field_4, &gUnknown_203ADCC.field_6); + ListMenuGetScrollAndRow(data[0], &sListMenuState.scroll, &sListMenuState.row); sub_80986A8(-32, ListMenuGetYCoordForPrintingArrowCursor(data[0])); if (JOY_NEW(A_BUTTON | SELECT_BUTTON)) { PlaySE(SE_SELECT); - gUnknown_203ADBC->field_04 = 0xFF; - sub_810E160(taskId, gUnknown_203ADCC.field_4 + gUnknown_203ADCC.field_6); + sStateDataPtr->moveModeOrigPos = 0xFF; + ItemPc_InsertItemIntoNewSlot(taskId, sListMenuState.scroll + sListMenuState.row); } else if (JOY_NEW(B_BUTTON)) { PlaySE(SE_SELECT); - gUnknown_203ADBC->field_04 = 0xFF; - sub_810E200(taskId, gUnknown_203ADCC.field_4 + gUnknown_203ADCC.field_6); + sStateDataPtr->moveModeOrigPos = 0xFF; + ItemPc_MoveItemModeCancel(taskId, sListMenuState.scroll + sListMenuState.row); } } -void sub_810E160(u8 taskId, u32 pos) +static void ItemPc_InsertItemIntoNewSlot(u8 taskId, u32 pos) { s16 * data = gTasks[taskId].data; if (data[1] == pos || data[1] == pos - 1) - sub_810E200(taskId, pos); + ItemPc_MoveItemModeCancel(taskId, pos); else { - sub_8108D60(gSaveBlock1Ptr->pcItems, data[1], pos); - DestroyListMenu(data[0], &gUnknown_203ADCC.field_4, &gUnknown_203ADCC.field_6); + ItemMenu_MoveItemSlotToNewPositionInArray(gSaveBlock1Ptr->pcItems, data[1], pos); + DestroyListMenu(data[0], &sListMenuState.scroll, &sListMenuState.row); if (data[1] < pos) - gUnknown_203ADCC.field_6--; - sub_810D878(); - data[0] = ListMenuInit(&gMultiuseListMenuTemplate, gUnknown_203ADCC.field_4, gUnknown_203ADCC.field_6); + sListMenuState.row--; + ItemPc_BuildListMenuTemplate(); + data[0] = ListMenuInit(&gMultiuseListMenuTemplate, sListMenuState.scroll, sListMenuState.row); sub_8098660(1); - gTasks[taskId].func = sub_810DEA0; + gTasks[taskId].func = Task_ItemPcMain; } } -void sub_810E200(u8 taskId, u32 pos) +static void ItemPc_MoveItemModeCancel(u8 taskId, u32 pos) { s16 * data = gTasks[taskId].data; - DestroyListMenu(data[0], &gUnknown_203ADCC.field_4, &gUnknown_203ADCC.field_6); + DestroyListMenu(data[0], &sListMenuState.scroll, &sListMenuState.row); if (data[1] < pos) - gUnknown_203ADCC.field_6--; - sub_810D878(); - data[0] = ListMenuInit(&gMultiuseListMenuTemplate, gUnknown_203ADCC.field_4, gUnknown_203ADCC.field_6); + sListMenuState.row--; + ItemPc_BuildListMenuTemplate(); + data[0] = ListMenuInit(&gMultiuseListMenuTemplate, sListMenuState.scroll, sListMenuState.row); sub_8098660(1); - gTasks[taskId].func = sub_810DEA0; + gTasks[taskId].func = Task_ItemPcMain; } -void sub_810E274(u8 taskId) +static void Task_ItemPcSubmenuInit(u8 taskId) { s16 * data = gTasks[taskId].data; u8 windowId; - sub_810EA9C(4); - windowId = sub_810EAB4(0); - PrintTextArray(4, 2, 8, 2, GetFontAttribute(2, FONTATTR_MAX_LETTER_HEIGHT) + 2, 3, gUnknown_8453F74); + ItemPc_SetBorderStyleOnWindow(4); + windowId = ItemPc_GetOrCreateSubwindow(0); + PrintTextArray(4, 2, 8, 2, GetFontAttribute(2, FONTATTR_MAX_LETTER_HEIGHT) + 2, 3, sItemPcSubmenuOptions); ProgramAndPlaceMenuCursorOnWindow(4, 2, 0, 2, GetFontAttribute(2, FONTATTR_MAX_LETTER_HEIGHT) + 2, 3, 0); CopyItemName(ItemPc_GetItemIdBySlotId(data[1]), gStringVar1); - StringExpandPlaceholders(gStringVar4, gUnknown_84162FF); - sub_810EA34(windowId, 2, gStringVar4, 0, 2, 1, 0, 0, 1); + StringExpandPlaceholders(gStringVar4, gOtherText_StrVar1); + ItemPc_AddTextPrinterParameterized(windowId, 2, gStringVar4, 0, 2, 1, 0, 0, 1); schedule_bg_copy_tilemap_to_vram(0); - gTasks[taskId].func = sub_810E358; + gTasks[taskId].func = Task_ItemPcSubmenuRun; } -void sub_810E358(u8 taskId) +static void Task_ItemPcSubmenuRun(u8 taskId) { s8 input = ProcessMenuInputNoWrapAround(); switch (input) { case -1: PlaySE(SE_SELECT); - sub_810E8A0(taskId); + Task_ItemPcCancel(taskId); break; case -2: break; default: PlaySE(SE_SELECT); - gUnknown_8453F74[input].func.void_u8(taskId); + sItemPcSubmenuOptions[input].func.void_u8(taskId); } } -void sub_810E3A4(u8 taskId) +static void Task_ItemPcWithdraw(u8 taskId) { s16 * data = gTasks[taskId].data; - sub_810F4D8(4, FALSE); - sub_810EAF0(0); + ClearMenuWindow(4, FALSE); + ItemPc_DestroySubwindow(0); ClearWindowTilemap(4); data[8] = 1; if (ItemPc_GetItemQuantityBySlotId(data[1]) == 1) { PutWindowTilemap(0); schedule_bg_copy_tilemap_to_vram(0); - sub_810E418(taskId); + ItemPc_DoWithdraw(taskId); } else { PutWindowTilemap(0); - sub_810E5E0(data[1]); - sub_810DB98(); - gTasks[taskId].func = sub_810E6D8; + ItemPc_WithdrawMultipleInitWindow(data[1]); + ItemPc_PlaceWithdrawQuantityScrollIndicatorArrows(); + gTasks[taskId].func = Task_ItemPcHandleWithdrawMultiple; } } -void sub_810E418(u8 taskId) +static void ItemPc_DoWithdraw(u8 taskId) { s16 * data = gTasks[taskId].data; u16 itemId = ItemPc_GetItemIdBySlotId(data[1]); @@ -901,23 +901,23 @@ void sub_810E418(u8 taskId) if (AddBagItem(itemId, data[8]) == TRUE) { - sub_80A2294(29, 0, itemId, 0xFFFF); + ItemUse_SetQuestLogEvent(29, NULL, itemId, 0xFFFF); CopyItemName(itemId, gStringVar1); ConvertIntToDecimalStringN(gStringVar2, data[8], STR_CONV_MODE_LEFT_ALIGN, 3); - StringExpandPlaceholders(gStringVar4, gUnknown_84177C5); - windowId = sub_810EAB4(2); + StringExpandPlaceholders(gStringVar4, gText_WithdrewQuantItem); + windowId = ItemPc_GetOrCreateSubwindow(2); AddTextPrinterParameterized(windowId, 2, gStringVar4, 0, 2, 0, NULL); - gTasks[taskId].func = sub_810E4F4; + gTasks[taskId].func = Task_ItemPcWaitButtonAndFinishWithdrawMultiple; } else { - windowId = sub_810EAB4(2); - AddTextPrinterParameterized(windowId, 2, gUnknown_841778A, 0, 2, 0, NULL); - gTasks[taskId].func = sub_810E548; + windowId = ItemPc_GetOrCreateSubwindow(2); + AddTextPrinterParameterized(windowId, 2, gText_NoMoreRoomInBag, 0, 2, 0, NULL); + gTasks[taskId].func = Task_ItemPcWaitButtonWithdrawMultipleFailed; } } -void sub_810E4F4(u8 taskId) +static void Task_ItemPcWaitButtonAndFinishWithdrawMultiple(u8 taskId) { s16 * data = gTasks[taskId].data; u16 itemId; @@ -926,59 +926,59 @@ void sub_810E4F4(u8 taskId) { PlaySE(SE_SELECT); itemId = ItemPc_GetItemIdBySlotId(data[1]); - sub_809A460(itemId, data[8]); - sub_809A4E8(); - sub_810E578(taskId); + RemoveItemFromPC(itemId, data[8]); + ItemPcCompaction(); + Task_ItemPcCleanUpWithdraw(taskId); } } -void sub_810E548(u8 taskId) +static void Task_ItemPcWaitButtonWithdrawMultipleFailed(u8 taskId) { if (JOY_NEW(A_BUTTON) || JOY_NEW(B_BUTTON)) { PlaySE(SE_SELECT); - sub_810E578(taskId); + Task_ItemPcCleanUpWithdraw(taskId); } } -void sub_810E578(u8 taskId) +static void Task_ItemPcCleanUpWithdraw(u8 taskId) { s16 * data = gTasks[taskId].data; - sub_810EAF0(2); + ItemPc_DestroySubwindow(2); PutWindowTilemap(1); - DestroyListMenu(data[0], &gUnknown_203ADCC.field_4, &gUnknown_203ADCC.field_6); - sub_810DDA4(); - sub_810DBF0(); - sub_810D878(); - data[0] = ListMenuInit(&gMultiuseListMenuTemplate, gUnknown_203ADCC.field_4, gUnknown_203ADCC.field_6); + DestroyListMenu(data[0], &sListMenuState.scroll, &sListMenuState.row); + ItemPc_CountPcItems(); + ItemPc_SetCursorPosition(); + ItemPc_BuildListMenuTemplate(); + data[0] = ListMenuInit(&gMultiuseListMenuTemplate, sListMenuState.scroll, sListMenuState.row); schedule_bg_copy_tilemap_to_vram(0); - sub_810DFB0(taskId); + ItemPc_ReturnFromSubmenu(taskId); } -void sub_810E5E0(u16 slotId) +static void ItemPc_WithdrawMultipleInitWindow(u16 slotId) { u16 itemId = ItemPc_GetItemIdBySlotId(slotId); CopyItemName(itemId, gStringVar1); - StringExpandPlaceholders(gStringVar4, gUnknown_84177AC); - AddTextPrinterParameterized(sub_810EAB4(1), 2, gStringVar4, 0, 2, 0, NULL); + StringExpandPlaceholders(gStringVar4, gText_WithdrawHowMany); + AddTextPrinterParameterized(ItemPc_GetOrCreateSubwindow(1), 2, gStringVar4, 0, 2, 0, NULL); ConvertIntToDecimalStringN(gStringVar1, 1, STR_CONV_MODE_LEADING_ZEROS, 3); StringExpandPlaceholders(gStringVar4, gText_TimesStrVar1); - sub_810EA9C(3); - sub_810EA34(3, 0, gStringVar4, 8, 10, 1, 0, 0, 1); + ItemPc_SetBorderStyleOnWindow(3); + ItemPc_AddTextPrinterParameterized(3, 0, gStringVar4, 8, 10, 1, 0, 0, 1); schedule_bg_copy_tilemap_to_vram(0); } -void sub_810E670(s16 quantity) +static void sub_810E670(s16 quantity) { FillWindowPixelRect(3, 0x11, 10, 10, 28, 12); ConvertIntToDecimalStringN(gStringVar1, quantity, STR_CONV_MODE_LEADING_ZEROS, 3); StringExpandPlaceholders(gStringVar4, gText_TimesStrVar1); - sub_810EA34(3, 0, gStringVar4, 8, 10, 1, 0, 0, 1); + ItemPc_AddTextPrinterParameterized(3, 0, gStringVar4, 8, 10, 1, 0, 0, 1); } -void sub_810E6D8(u8 taskId) +static void Task_ItemPcHandleWithdrawMultiple(u8 taskId) { s16 * data = gTasks[taskId].data; @@ -987,96 +987,96 @@ void sub_810E6D8(u8 taskId) else if (JOY_NEW(A_BUTTON)) { PlaySE(SE_SELECT); - sub_810EAF0(1); + ItemPc_DestroySubwindow(1); ClearWindowTilemap(3); PutWindowTilemap(0); - sub_810DAB4(data[0], 1); + ItemPc_PrintOrRemoveCursor(data[0], 1); schedule_bg_copy_tilemap_to_vram(0); - sub_810DBD0(); - sub_810E418(taskId); + ItemPc_RemoveScrollIndicatorArrowPair(); + ItemPc_DoWithdraw(taskId); } else if (JOY_NEW(B_BUTTON)) { PlaySE(SE_SELECT); - sub_810F4D8(3, FALSE); - sub_810EAF0(1); + ClearMenuWindow(3, FALSE); + ItemPc_DestroySubwindow(1); ClearWindowTilemap(3); PutWindowTilemap(0); PutWindowTilemap(1); - sub_810DAB4(data[0], 1); + ItemPc_PrintOrRemoveCursor(data[0], 1); schedule_bg_copy_tilemap_to_vram(0); - sub_810DBD0(); - sub_810DFB0(taskId); + ItemPc_RemoveScrollIndicatorArrowPair(); + ItemPc_ReturnFromSubmenu(taskId); } } -void sub_810E79C(u8 taskId) +static void Task_ItemPcGive(u8 taskId) { if (CalculatePlayerPartyCount() == 0) { - sub_810F4D8(4, FALSE); - sub_810EAF0(0); + ClearMenuWindow(4, FALSE); + ItemPc_DestroySubwindow(0); ClearWindowTilemap(4); PutWindowTilemap(0); - sub_810EB30(taskId, gText_ThereIsNoPokemon, sub_810E848); + ItemPc_PrintOnWindow5WithContinueTask(taskId, gText_ThereIsNoPokemon, gTask_ItemPcWaitButtonAndExitSubmenu); } else { - gUnknown_203ADBC->field_00 = sub_810E7F8; - sub_810DC8C(taskId); + sStateDataPtr->savedCallback = ItemPc_CB2_SwitchToPartyMenu; + Task_ItemPcTurnOff1(taskId); } } -void sub_810E7F8(void) +static void ItemPc_CB2_SwitchToPartyMenu(void) { - sub_811EA44(0, 0, 6, 0, 6, sub_811FB28, sub_810E838); - gUnknown_203B0A0.unkC = ItemPc_GetItemIdBySlotId(sub_810DD54()); + PartyMenuInit(0, 0, 6, 0, 6, sub_811FB28, ItemPc_CB2_ReturnFromPartyMenu); + gUnknown_203B0A0.unkC = ItemPc_GetItemIdBySlotId(ItemPc_GetCursorPosition()); } -void sub_810E838(void) +static void ItemPc_CB2_ReturnFromPartyMenu(void) { - sub_810D3F4(1, NULL); + ItemPc_Init(1, NULL); } -void sub_810E848(u8 taskId) +static void gTask_ItemPcWaitButtonAndExitSubmenu(u8 taskId) { s16 * data = gTasks[taskId].data; if (JOY_NEW(A_BUTTON)) { PlaySE(SE_SELECT); - sub_810F260(5, 0); + ClearMenuWindow_BorderThickness2(5, 0); ClearWindowTilemap(5); PutWindowTilemap(1); - sub_810DAB4(data[0], 1); + ItemPc_PrintOrRemoveCursor(data[0], 1); schedule_bg_copy_tilemap_to_vram(0); - sub_810DFB0(taskId); + ItemPc_ReturnFromSubmenu(taskId); } } -void sub_810E8A0(u8 taskId) +static void Task_ItemPcCancel(u8 taskId) { s16 * data = gTasks[taskId].data; - sub_810F4D8(4, FALSE); - sub_810EAF0(0); + ClearMenuWindow(4, FALSE); + ItemPc_DestroySubwindow(0); ClearWindowTilemap(4); PutWindowTilemap(0); PutWindowTilemap(1); - sub_810DAB4(data[0], 1); + ItemPc_PrintOrRemoveCursor(data[0], 1); schedule_bg_copy_tilemap_to_vram(0); - sub_810DFB0(taskId); + ItemPc_ReturnFromSubmenu(taskId); } -void sub_810E8F0(void) +static void ItemPc_InitWindows(void) { u8 i; InitWindows(gUnknown_8453F98); DeactivateAllTextPrinters(); - sub_815001C(0, 0x3C0, 0xE0); - sub_814FF2C(0, 0x3A3, 0xC0); - sub_814FEAC(0, 0x3AC, 0xB0); + TextWindow_SetUserSelectedFrame(0, 0x3C0, 0xE0); + TextWindow_SetStdFrame0_WithPal(0, 0x3A3, 0xC0); + TextWindow_SetBubbleFrame_841F1C8(0, 0x3AC, 0xB0); LoadPalette(stdpal_get(2), 0xD0, 0x20); LoadPalette(gTMCaseMainWindowPalette, 0xF0, 0x20); for (i = 0; i < 3; i++) @@ -1086,10 +1086,10 @@ void sub_810E8F0(void) } schedule_bg_copy_tilemap_to_vram(0); for (i = 0; i < 3; i++) - gUnknown_203ADD8[i] = 0xFF; + sSubmenuWindowIds[i] = 0xFF; } -void sub_810E984(u8 windowId, const u8 * string, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, u8 speed) +static void unused_ItemPc_AddTextPrinterParameterized(u8 windowId, const u8 * string, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, u8 speed) { struct TextPrinterTemplate template; @@ -1109,41 +1109,41 @@ void sub_810E984(u8 windowId, const u8 * string, u8 x, u8 y, u8 letterSpacing, u AddTextPrinter(&template, speed, NULL); } -void sub_810EA34(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, u8 speed, u8 colorIdx) +static void ItemPc_AddTextPrinterParameterized(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, u8 speed, u8 colorIdx) { AddTextPrinterParameterized4(windowId, fontId, x, y, letterSpacing, lineSpacing, &gUnknown_8453F8C[colorIdx], speed, str); } -void sub_810EA9C(u8 windowId) +static void ItemPc_SetBorderStyleOnWindow(u8 windowId) { SetWindowBorderStyle(windowId, FALSE, 0x3C0, 0x0E); } -u8 sub_810EAB4(u8 idx) +static u8 ItemPc_GetOrCreateSubwindow(u8 idx) { - if (gUnknown_203ADD8[idx] == 0xFF) + if (sSubmenuWindowIds[idx] == 0xFF) { - gUnknown_203ADD8[idx] = AddWindow(&gUnknown_8453FD0[idx]); - SetWindowBorderStyle(gUnknown_203ADD8[idx], TRUE, 0x3A3, 0x0C); + sSubmenuWindowIds[idx] = AddWindow(&gUnknown_8453FD0[idx]); + SetWindowBorderStyle(sSubmenuWindowIds[idx], TRUE, 0x3A3, 0x0C); } - return gUnknown_203ADD8[idx]; + return sSubmenuWindowIds[idx]; } -void sub_810EAF0(u8 idx) +static void ItemPc_DestroySubwindow(u8 idx) { - sub_810F4D8(gUnknown_203ADD8[idx], 0); - ClearWindowTilemap(gUnknown_203ADD8[idx]); - RemoveWindow(gUnknown_203ADD8[idx]); - gUnknown_203ADD8[idx] = 0xFF; + ClearMenuWindow(sSubmenuWindowIds[idx], FALSE); + ClearWindowTilemap(sSubmenuWindowIds[idx]); // redundant + RemoveWindow(sSubmenuWindowIds[idx]); + sSubmenuWindowIds[idx] = 0xFF; } -u8 sub_810EB20(u8 idx) +static u8 ItemPc_GetSubwindow(u8 idx) { - return gUnknown_203ADD8[idx]; + return sSubmenuWindowIds[idx]; } -void sub_810EB30(u8 taskId, const u8 * str, TaskFunc taskFunc) +static void ItemPc_PrintOnWindow5WithContinueTask(u8 taskId, const u8 * str, TaskFunc taskFunc) { DisplayMessageAndContinueTask(taskId, 5, 0x3AC, 0x0B, 2, GetTextSpeedSetting(), str, taskFunc); schedule_bg_copy_tilemap_to_vram(0); diff --git a/src/money.c b/src/money.c index 6d9a0fce9..ffaba2e29 100644 --- a/src/money.c +++ b/src/money.c @@ -128,13 +128,13 @@ void DrawMoneyBox(int amount, u8 x, u8 y) sMoneyBoxWindowId = AddWindow(&template2); FillWindowPixelBuffer(sMoneyBoxWindowId, 0); PutWindowTilemap(sMoneyBoxWindowId); - sub_814FF2C(sMoneyBoxWindowId, 0x21D, 0xD0); + TextWindow_SetStdFrame0_WithPal(sMoneyBoxWindowId, 0x21D, 0xD0); PrintMoneyAmountInMoneyBoxWithBorder(sMoneyBoxWindowId, 0x21D, 13, amount); } void HideMoneyBox(void) { - sub_810F4D8(sMoneyBoxWindowId, FALSE); + ClearMenuWindow(sMoneyBoxWindowId, FALSE); CopyWindowToVram(sMoneyBoxWindowId, 2); RemoveWindow(sMoneyBoxWindowId); } diff --git a/src/oak_speech.c b/src/oak_speech.c index 107bf234c..3bf174778 100644 --- a/src/oak_speech.c +++ b/src/oak_speech.c @@ -1092,7 +1092,7 @@ static void Task_OakSpeech20(u8 taskId) static void Task_OakSpeech21(u8 taskId) { s16 * data = gTasks[taskId].data; - sub_810F4D8(data[13], 1); + ClearMenuWindow(data[13], 1); RemoveWindow(data[13]); data[13] = 0; ClearDialogWindowAndFrame(0, 1); @@ -1184,7 +1184,7 @@ static void Task_OakSpeech29(u8 taskId) case 3: case 4: PlaySE(SE_SELECT); - sub_810F4D8(data[13], TRUE); + ClearMenuWindow(data[13], TRUE); RemoveWindow(data[13]); GetDefaultName(sOakSpeechResources->unk_0010, input - 1); data[15] = 1; @@ -1211,7 +1211,7 @@ static void Task_OakSpeech25(u8 taskId) } else { - sub_810F4D8(gTasks[taskId].data[13], 1); + ClearMenuWindow(gTasks[taskId].data[13], 1); RemoveWindow(gTasks[taskId].data[13]); DoNamingScreen(4, gSaveBlock1Ptr->rivalName, 0, 0, 0, CB2_ReturnFromNamingScreen); } diff --git a/src/quest_log.c b/src/quest_log.c index 258e6a688..723323427 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -1691,7 +1691,7 @@ void sub_81123BC(void) void sub_8112450(void) { - if (sub_80BF708() != 1) + if (MenuHelpers_LinkSomething() != 1) { sub_8112364(); sub_81123BC(); @@ -2842,7 +2842,7 @@ void sub_8113550(u16 a0, const u16 * a1) if (sub_81138A0(a0, a1) == TRUE) return; - if (sub_80BF708() == TRUE) + if (MenuHelpers_LinkSomething() == TRUE) return; // NONMATCHING: branch logic here @@ -2954,7 +2954,7 @@ void sub_8113550(u16 a0, const u16 * a1) "\tbne _081135AA\n" "\tb ._return\n" "_081135AA:\n" - "\tbl sub_80BF708\n" + "\tbl MenuHelpers_LinkSomething\n" "\tlsls r0, 24\n" "\tlsrs r0, 24\n" "\tcmp r0, 0x1\n" diff --git a/src/text_window.c b/src/text_window.c index 90db8f599..0c562b195 100644 --- a/src/text_window.c +++ b/src/text_window.c @@ -31,19 +31,19 @@ void sub_814FD6C(u8 bgId, u16 destOffset, u8 palIdx) void sub_814FDA0(u8 bgId, u16 destOffset, u8 palIdx) { - LoadBgTiles(bgId, gUnknown_8471A4C, 0x120, destOffset); + LoadBgTiles(bgId, gStdFrame0, 0x120, destOffset); LoadPalette(stdpal_get(3), palIdx, 32); } void sub_814FDD4(u8 bgId, u16 destOffset) { - LoadBgTiles(bgId, gUnknown_8471B6C, 0x280, destOffset); + LoadBgTiles(bgId, gStdFrame1, 0x280, destOffset); } void sub_814FDF4(u8 bgId, u8 frameType, u16 destOffset, u8 palIdx) { - LoadBgTiles(bgId, gUnknown_8471E8C[frameType].tiles, 0x120, destOffset); - LoadPalette(gUnknown_8471E8C[frameType].palette, palIdx, 32); + LoadBgTiles(bgId, gUserFrames[frameType].tiles, 0x120, destOffset); + LoadPalette(gUserFrames[frameType].palette, palIdx, 32); } void LoadUserWindowBorderGfx(u8 windowId, u16 destOffset, u8 palIdx) @@ -57,7 +57,7 @@ void sub_814FE6C(u8 windowId, u16 destOffset, u8 palIdx) LoadPalette(stdpal_get(2), palIdx, 32); } -void sub_814FEAC(u8 windowId, u16 destOffset, u8 palIdx) +void TextWindow_SetBubbleFrame_841F1C8(u8 windowId, u16 destOffset, u8 palIdx) { LoadBgTiles(GetWindowAttribute(windowId, WINDOW_BG), gUnknown_841F1C8, 0x280, destOffset); LoadPalette(stdpal_get(0), palIdx, 32); @@ -69,29 +69,29 @@ void sub_814FEEC(u8 windowId, u16 destOffset, u8 palIdx) LoadPalette(stdpal_get(1), palIdx, 32); } -void sub_814FF2C(u8 windowId, u16 destOffset, u8 palIdx) +void TextWindow_SetStdFrame0_WithPal(u8 windowId, u16 destOffset, u8 palIdx) { - LoadBgTiles(GetWindowAttribute(windowId, WINDOW_BG), gUnknown_8471A4C, 0x120, destOffset); + LoadBgTiles(GetWindowAttribute(windowId, WINDOW_BG), gStdFrame0, 0x120, destOffset); LoadPalette(stdpal_get(3), palIdx, 32); } void sub_814FF6C(u8 windowId, u16 destOffset) { - LoadBgTiles(GetWindowAttribute(windowId, WINDOW_BG), gUnknown_8471A4C, 0x120, destOffset); + LoadBgTiles(GetWindowAttribute(windowId, WINDOW_BG), gStdFrame0, 0x120, destOffset); } void sub_814FF98(u8 windowId, u16 destOffset) { - LoadBgTiles(GetWindowAttribute(windowId, WINDOW_BG), gUnknown_8471B6C, 0x280, destOffset); + LoadBgTiles(GetWindowAttribute(windowId, WINDOW_BG), gStdFrame1, 0x280, destOffset); } void sub_814FFC4(u8 windowId, u8 frameType, u16 destOffset, u8 palIdx) { - LoadBgTiles(GetWindowAttribute(windowId, WINDOW_BG), gUnknown_8471E8C[frameType].tiles, 0x120, destOffset); - LoadPalette(gUnknown_8471E8C[frameType].palette, palIdx, 32); + LoadBgTiles(GetWindowAttribute(windowId, WINDOW_BG), gUserFrames[frameType].tiles, 0x120, destOffset); + LoadPalette(gUserFrames[frameType].palette, palIdx, 32); } -void sub_815001C(u8 windowId, u16 destOffset, u8 palIdx) +void TextWindow_SetUserSelectedFrame(u8 windowId, u16 destOffset, u8 palIdx) { sub_814FFC4(windowId, gSaveBlock2Ptr->optionsWindowFrameType, destOffset, palIdx); } diff --git a/src/text_window_graphics.c b/src/text_window_graphics.c index 347de3d65..e16037a34 100644 --- a/src/text_window_graphics.c +++ b/src/text_window_graphics.c @@ -27,8 +27,8 @@ static const u16 gUnknown_84719EC[] = INCBIN_U16("graphics/text_window/unk_84715 static const u16 gUnknown_8471A0C[] = INCBIN_U16("graphics/text_window/unk_84716AC.gbapal"); static const u16 gUnknown_8471A2C[] = INCBIN_U16("graphics/text_window/unk_84717CC.gbapal"); -const u16 gUnknown_8471A4C[] = INCBIN_U16("graphics/text_window/unk_8471A4C.4bpp"); -const u16 gUnknown_8471B6C[] = INCBIN_U16("graphics/text_window/unk_8471B6C.4bpp"); +const u16 gStdFrame0[] = INCBIN_U16("graphics/text_window/unk_8471A4C.4bpp"); +const u16 gStdFrame1[] = INCBIN_U16("graphics/text_window/unk_8471B6C.4bpp"); const u16 gUnknown_8471DEC[][16] = { INCBIN_U16("graphics/text_window/stdpal_0.gbapal"), @@ -38,7 +38,7 @@ const u16 gUnknown_8471DEC[][16] = { INCBIN_U16("graphics/text_window/stdpal_4.gbapal") }; -const struct TextWindowGraphics gUnknown_8471E8C[] = { +const struct TextWindowGraphics gUserFrames[] = { {gUnknown_8470D6C, gUnknown_847190C}, {gUnknown_8470E8C, gUnknown_847192C}, {gUnknown_8470FCC, gUnknown_847194C}, @@ -53,8 +53,8 @@ const struct TextWindowGraphics gUnknown_8471E8C[] = { const struct TextWindowGraphics * sub_8069788(u8 idx) { - if (idx >= 20) // if (idx >= NELEMS(gUnknown_8471E8C)) - return &gUnknown_8471E8C[0]; + if (idx >= 20) // if (idx >= NELEMS(gUserFrames)) + return &gUserFrames[0]; else - return &gUnknown_8471E8C[idx]; + return &gUserFrames[idx]; } diff --git a/src/tm_case.c b/src/tm_case.c index 5a079ed2d..120116c8d 100644 --- a/src/tm_case.c +++ b/src/tm_case.c @@ -309,7 +309,7 @@ static void CB2_SetUpTMCaseUI_Blocking(void) break; if (DoSetUpTMCaseUI() == TRUE) break; - if (sub_80BF708() == TRUE) + if (MenuHelpers_LinkSomething() == TRUE) break; } } @@ -595,7 +595,7 @@ static void TMCase_MoveCursor_UpdatePrintedDescription(s32 itemIndex) static void FillBG2RowWithPalette_2timesNplus1(s32 a0) { - sub_80F6B08(2, 0, 12, 30, 8, 2 * a0 + 1); + SetBgRectPal(2, 0, 12, 30, 8, 2 * a0 + 1); schedule_bg_copy_tilemap_to_vram(2); } @@ -782,7 +782,7 @@ static void Task_SelectTMAction_FromFieldBag(u8 taskId) { u8 * strbuf; TMCase_SetWindowBorder2(2); - if (!sub_80BF708() && InUnionRoom() != TRUE) + if (!MenuHelpers_LinkSomething() && InUnionRoom() != TRUE) { AddTMContextMenu(&sTMCaseDynamicResources->contextMenuWindowId, 0); sTMCaseDynamicResources->menuActionIndices = sMenuActionIndices_Field; @@ -837,7 +837,7 @@ static void Task_TMContextMenu_HandleInput(u8 taskId) static void TMHMContextMenuAction_Use(u8 taskId) { RemoveTMContextMenu(&sTMCaseDynamicResources->contextMenuWindowId); - sub_810F4D8(2, 0); + ClearMenuWindow(2, 0); ClearWindowTilemap(2); PutWindowTilemap(0); schedule_bg_copy_tilemap_to_vram(0); @@ -859,7 +859,7 @@ static void TMHMContextMenuAction_Give(u8 taskId) s16 * data = gTasks[taskId].data; u16 itemId = BagGetItemIdByPocketPosition(POCKET_TM_CASE, data[1]); RemoveTMContextMenu(&sTMCaseDynamicResources->contextMenuWindowId); - sub_810F4D8(2, 0); + ClearMenuWindow(2, 0); ClearWindowTilemap(2); PutWindowTilemap(1); PutWindowTilemap(4); @@ -912,7 +912,7 @@ static void Subtask_CloseContextMenuAndReturnToMain(u8 taskId) DestroyListMenu(data[0], &sTMCaseStaticResources.scrollOffset, &sTMCaseStaticResources.selectedRow); data[0] = ListMenuInit(&gMultiuseListMenuTemplate, sTMCaseStaticResources.scrollOffset, sTMCaseStaticResources.selectedRow); PrintListMenuCursorByID_WithColorIdx(data[0], 1); - sub_810F260(6, 0); + ClearMenuWindow_BorderThickness2(6, 0); ClearWindowTilemap(6); PutWindowTilemap(1); PutWindowTilemap(4); @@ -927,7 +927,7 @@ static void TMHMContextMenuAction_Exit(u8 taskId) s16 * data = gTasks[taskId].data; RemoveTMContextMenu(&sTMCaseDynamicResources->contextMenuWindowId); - sub_810F4D8(2, 0); + ClearMenuWindow(2, 0); ClearWindowTilemap(2); PutWindowTilemap(0); PrintListMenuCursorByID_WithColorIdx(data[0], 1); @@ -1016,8 +1016,8 @@ static void Task_SaleOfTMsCancelled(u8 taskId) { s16 * data = gTasks[taskId].data; - sub_810F4D8(8, 0); - sub_810F260(6, 0); + ClearMenuWindow(8, 0); + ClearMenuWindow_BorderThickness2(6, 0); PutWindowTilemap(0); PutWindowTilemap(1); PutWindowTilemap(3); @@ -1065,7 +1065,7 @@ static void Task_QuantitySelect_HandleInput(u8 taskId) else if (JOY_NEW(A_BUTTON)) { PlaySE(SE_SELECT); - sub_810F4D8(7, 0); + ClearMenuWindow(7, 0); schedule_bg_copy_tilemap_to_vram(0); schedule_bg_copy_tilemap_to_vram(1); RemoveTMCaseScrollIndicatorArrowPair(); @@ -1074,9 +1074,9 @@ static void Task_QuantitySelect_HandleInput(u8 taskId) else if (JOY_NEW(B_BUTTON)) { PlaySE(SE_SELECT); - sub_810F4D8(7, 0); - sub_810F4D8(8, 0); - sub_810F260(6, 0); + ClearMenuWindow(7, 0); + ClearMenuWindow(8, 0); + ClearMenuWindow_BorderThickness2(6, 0); PutWindowTilemap(3); PutWindowTilemap(0); PutWindowTilemap(1); @@ -1123,8 +1123,8 @@ static void Task_AfterSale_ReturnToList(u8 taskId) if (JOY_NEW(A_BUTTON) || JOY_NEW(B_BUTTON)) { PlaySE(SE_SELECT); - sub_810F4D8(8, 0); - sub_810F260(6, 0); + ClearMenuWindow(8, 0); + ClearMenuWindow_BorderThickness2(6, 0); PutWindowTilemap(1); PutWindowTilemap(3); PutWindowTilemap(4); @@ -1249,7 +1249,7 @@ static void Task_TMCaseDude_Playback(u8 taskId) { FillBG2RowWithPalette_2timesNplus1(0); BeginNormalPaletteFade(0x00000400, 0, 6, 0, 0); - sub_810F260(6, 0); + ClearMenuWindow_BorderThickness2(6, 0); schedule_bg_copy_tilemap_to_vram(1); data[8]++; } @@ -1297,9 +1297,9 @@ static void InitWindowTemplatesAndPals(void) InitWindows(sWindowTemplates); DeactivateAllTextPrinters(); - sub_815001C(0, 0x5B, 0xE0); - sub_814FEAC(0, 0x64, 0xB0); - sub_814FF2C(0, 0x78, 0xD0); + TextWindow_SetUserSelectedFrame(0, 0x5B, 0xE0); + TextWindow_SetBubbleFrame_841F1C8(0, 0x64, 0xB0); + TextWindow_SetStdFrame0_WithPal(0, 0x78, 0xD0); LoadPalette(gTMCaseMainWindowPalette, 0xF0, 0x20); LoadPalette(gTMCaseMainWindowPalette, 0xA0, 0x20); LoadPalette(sPal3Override, 0xF6, 0x04); @@ -1420,7 +1420,7 @@ static u8 AddTMContextMenu(u8 * a0, u8 a1) static void RemoveTMContextMenu(u8 * a0) { - sub_810F4D8(*a0, FALSE); + ClearMenuWindow(*a0, FALSE); ClearWindowTilemap(*a0); RemoveWindow(*a0); schedule_bg_copy_tilemap_to_vram(0); diff --git a/src/trainer_tower.c b/src/trainer_tower.c index 5711bff94..ef2a12ce0 100644 --- a/src/trainer_tower.c +++ b/src/trainer_tower.c @@ -1299,7 +1299,7 @@ void sub_815E720(void) void sub_815E88C(void) { u8 windowId = VarGet(VAR_0x4001); - sub_810F4D8(windowId, TRUE); + ClearMenuWindow(windowId, TRUE); RemoveWindow(windowId); } diff --git a/src/unk_815EDDC.c b/src/unk_815EDDC.c index d5da946fc..669bb2ddb 100644 --- a/src/unk_815EDDC.c +++ b/src/unk_815EDDC.c @@ -98,7 +98,7 @@ void sub_815EFBC(u8 windowId, u32 powder, u8 x, u8 y, u8 speed) void sub_815F014(u8 windowId, u16 baseBlock, u8 palette, u32 powder) { SetWindowBorderStyle(windowId, FALSE, baseBlock, palette); - AddTextPrinterParameterized(windowId, 0, gUnknown_8416655, 0, 0, -1, NULL); + AddTextPrinterParameterized(windowId, 0, gOtherText_Powder, 0, 0, -1, NULL); sub_815EFBC(windowId, powder, 39, 12, 0); } @@ -119,7 +119,7 @@ void sub_815F094(void) gUnknown_203F464 = AddWindow(&template2); FillWindowPixelBuffer(gUnknown_203F464, 0); PutWindowTilemap(gUnknown_203F464); - sub_814FF2C(gUnknown_203F464, 0x21D, 0xD0); + TextWindow_SetStdFrame0_WithPal(gUnknown_203F464, 0x21D, 0xD0); sub_815F014(gUnknown_203F464, 0x21D, 0xD, sub_815EFA0()); } } @@ -127,6 +127,6 @@ void sub_815F094(void) void sub_815F114(void) { ClearWindowTilemap(gUnknown_203F464); - sub_810F4D8(gUnknown_203F464, 1); + ClearMenuWindow(gUnknown_203F464, 1); RemoveWindow(gUnknown_203F464); } diff --git a/src/vs_seeker.c b/src/vs_seeker.c index e1cb40f3a..e3df77242 100644 --- a/src/vs_seeker.c +++ b/src/vs_seeker.c @@ -814,7 +814,7 @@ void Task_VsSeeker_0(u8 taskId) } else if (respval == 2) { - sub_80A2294(4, 0, gSpecialVar_ItemId, 0xffff); + ItemUse_SetQuestLogEvent(4, 0, gSpecialVar_ItemId, 0xffff); FieldEffectStart(FLDEFF_UNK_41); // TODO: name this enum gTasks[taskId].func = Task_VsSeeker_1; gTasks[taskId].data[0] = 15; diff --git a/src/window.c b/src/window.c index 9d38ba2c3..4c302885c 100644 --- a/src/window.c +++ b/src/window.c @@ -1069,7 +1069,7 @@ _08004046:\n\ } #endif // NONMATCHING -void CallWindowFunction(u8 windowId, void ( *func)(u8, u8, u8, u8, u8, u8)) +void CallWindowFunction(u8 windowId, WindowFunc func) { struct WindowTemplate window = gWindows[windowId].window; func(window.bg, window.tilemapLeft, window.tilemapTop, window.width, window.height, window.paletteNum); -- cgit v1.2.3 From 5ff301fd8f7ba5491ad90cc2c9a1b037db5381f3 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 17 Jun 2019 18:36:18 -0400 Subject: item_menu_icons --- asm/item_menu_icons.s | 680 ---------------------------------------- data/data_835B488.s | 31 +- include/graphics.h | 759 ++++++++++++++++++++++++++++++++++++++++++++ include/item_icon.h | 19 -- include/item_menu_icons.h | 18 +- ld_script.txt | 4 +- src/item_menu_icons.c | 783 ++++++++++++++++++++++++++++++++++++++++++++++ sym_ewram.txt | 16 +- 8 files changed, 1568 insertions(+), 742 deletions(-) delete mode 100644 asm/item_menu_icons.s delete mode 100644 include/item_icon.h create mode 100644 src/item_menu_icons.c diff --git a/asm/item_menu_icons.s b/asm/item_menu_icons.s deleted file mode 100644 index 6208c3fb9..000000000 --- a/asm/item_menu_icons.s +++ /dev/null @@ -1,680 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start ResetItemMenuIconState -ResetItemMenuIconState: @ 80984D8 - push {r4,lr} - movs r2, 0 - ldr r4, _080984F8 @ =gUnknown_2039878 - movs r3, 0xFF -_080984E0: - adds r0, r2, r4 - ldrb r1, [r0] - orrs r1, r3 - strb r1, [r0] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0xB - bls _080984E0 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080984F8: .4byte gUnknown_2039878 - thumb_func_end ResetItemMenuIconState - - thumb_func_start sub_80984FC -sub_80984FC: @ 80984FC - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _08098520 @ =gUnknown_83D41FC - movs r1, 0x28 - movs r2, 0x44 - movs r3, 0 - bl CreateSprite - ldr r1, _08098524 @ =gUnknown_2039878 - strb r0, [r1] - adds r0, r4, 0 - bl sub_8098528 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08098520: .4byte gUnknown_83D41FC -_08098524: .4byte gUnknown_2039878 - thumb_func_end sub_80984FC - - thumb_func_start sub_8098528 -sub_8098528: @ 8098528 - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r0, _08098550 @ =gUnknown_2039878 - ldrb r2, [r0] - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - ldr r2, _08098554 @ =gSprites - adds r0, r2 - ldr r2, _08098558 @ =0x0000fffb - strh r2, [r0, 0x26] - ldr r2, _0809855C @ =sub_8098560 - str r2, [r0, 0x1C] - bl StartSpriteAnim - pop {r0} - bx r0 - .align 2, 0 -_08098550: .4byte gUnknown_2039878 -_08098554: .4byte gSprites -_08098558: .4byte 0x0000fffb -_0809855C: .4byte sub_8098560 - thumb_func_end sub_8098528 - - thumb_func_start sub_8098560 -sub_8098560: @ 8098560 - push {lr} - adds r1, r0, 0 - ldrh r2, [r1, 0x26] - movs r3, 0x26 - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _08098574 - adds r0, r2, 0x1 - strh r0, [r1, 0x26] - b _08098578 -_08098574: - ldr r0, _0809857C @ =SpriteCallbackDummy - str r0, [r1, 0x1C] -_08098578: - pop {r0} - bx r0 - .align 2, 0 -_0809857C: .4byte SpriteCallbackDummy - thumb_func_end sub_8098560 - - thumb_func_start sub_8098580 -sub_8098580: @ 8098580 - push {r4,lr} - ldr r0, _080985B0 @ =gUnknown_2039878 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080985B4 @ =gSprites - adds r4, r0, r1 - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080985AA - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - ldr r0, _080985B8 @ =sub_80985BC - str r0, [r4, 0x1C] -_080985AA: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080985B0: .4byte gUnknown_2039878 -_080985B4: .4byte gSprites -_080985B8: .4byte sub_80985BC - thumb_func_end sub_8098580 - - thumb_func_start sub_80985BC -sub_80985BC: @ 80985BC - push {r4,lr} - adds r4, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080985D8 - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAffineAnim - ldr r0, _080985E0 @ =SpriteCallbackDummy - str r0, [r4, 0x1C] -_080985D8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080985E0: .4byte SpriteCallbackDummy - thumb_func_end sub_80985BC - - thumb_func_start sub_80985E4 -sub_80985E4: @ 80985E4 - push {r4-r7,lr} - ldr r7, _08098620 @ =gUnknown_2039879 - movs r5, 0 - ldr r6, _08098624 @ =gSprites -_080985EC: - lsls r1, r5, 20 - movs r0, 0xC0 - lsls r0, 15 - adds r1, r0 - asrs r1, 16 - ldr r0, _08098628 @ =gUnknown_83D4250 - movs r2, 0x7 - movs r3, 0 - bl CreateSprite - adds r1, r7, r5 - strb r0, [r1] - adds r4, r1, 0 - cmp r5, 0 - beq _0809863C - cmp r5, 0x8 - bne _0809862C - ldrb r1, [r7, 0x8] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x2 - bl StartSpriteAnim - b _0809863C - .align 2, 0 -_08098620: .4byte gUnknown_2039879 -_08098624: .4byte gSprites -_08098628: .4byte gUnknown_83D4250 -_0809862C: - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x1 - bl StartSpriteAnim -_0809863C: - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x8 - bls _080985EC - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80985E4 - - thumb_func_start sub_8098660 -sub_8098660: @ 8098660 - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r7, _080986A0 @ =gUnknown_2039879 - movs r3, 0 - ldr r6, _080986A4 @ =gSprites - movs r1, 0x1 - ands r0, r1 - lsls r4, r0, 2 - movs r5, 0x5 - negs r5, r5 -_08098676: - adds r0, r7, r3 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - adds r1, 0x3E - ldrb r2, [r1] - adds r0, r5, 0 - ands r0, r2 - orrs r0, r4 - strb r0, [r1] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x8 - bls _08098676 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080986A0: .4byte gUnknown_2039879 -_080986A4: .4byte gSprites - thumb_func_end sub_8098660 - - thumb_func_start sub_80986A8 -sub_80986A8: @ 80986A8 - push {r4-r7,lr} - lsls r0, 16 - lsrs r6, r0, 16 - lsls r1, 16 - lsrs r1, 16 - ldr r7, _080986E4 @ =gUnknown_2039879 - movs r3, 0 - ldr r4, _080986E8 @ =gSprites - adds r5, r1, 0x7 -_080986BA: - adds r2, r7, r3 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r6, [r0, 0x24] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r5, [r0, 0x22] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x8 - bls _080986BA - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080986E4: .4byte gUnknown_2039879 -_080986E8: .4byte gSprites - thumb_func_end sub_80986A8 - - thumb_func_start sub_80986EC -sub_80986EC: @ 80986EC - push {r4,r5,lr} - ldr r5, _08098714 @ =gUnknown_2039884 - movs r0, 0x90 - lsls r0, 1 - bl Alloc - str r0, [r5] - cmp r0, 0 - beq _08098722 - ldr r4, _08098718 @ =gUnknown_2039888 - movs r0, 0x80 - lsls r0, 2 - bl AllocZeroed - str r0, [r4] - cmp r0, 0 - beq _0809871C - movs r0, 0x1 - b _08098724 - .align 2, 0 -_08098714: .4byte gUnknown_2039884 -_08098718: .4byte gUnknown_2039888 -_0809871C: - ldr r0, [r5] - bl Free -_08098722: - movs r0, 0 -_08098724: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80986EC - - thumb_func_start CopyItemIconPicTo4x4Buffer -CopyItemIconPicTo4x4Buffer: @ 809872C - push {r4-r6,lr} - adds r6, r0, 0 - adds r5, r1, 0 - movs r4, 0 -_08098734: - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 5 - adds r0, r6, r0 - lsls r1, r4, 7 - adds r1, r5, r1 - movs r2, 0x30 - bl CpuSet - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x2 - bls _08098734 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end CopyItemIconPicTo4x4Buffer - - thumb_func_start AddItemIconObject -AddItemIconObject: @ 8098758 - push {r4-r7,lr} - sub sp, 0x28 - lsls r0, 16 - lsrs r6, r0, 16 - lsls r1, 16 - lsrs r5, r1, 16 - lsls r2, 16 - lsrs r7, r2, 16 - bl sub_80986EC - lsls r0, 24 - cmp r0, 0 - beq _08098810 - adds r0, r7, 0 - movs r1, 0 - bl sub_8098974 - ldr r2, _080987FC @ =gUnknown_2039884 - ldr r1, [r2] - bl LZDecompressWram - ldr r1, _080987FC @ =gUnknown_2039884 - ldr r0, [r1] - ldr r2, _08098800 @ =gUnknown_2039888 - ldr r1, [r2] - bl CopyItemIconPicTo4x4Buffer - ldr r1, _08098800 @ =gUnknown_2039888 - ldr r0, [r1] - str r0, [sp, 0x18] - ldr r4, _08098804 @ =0xffff0000 - add r0, sp, 0x18 - ldr r1, [r0, 0x4] - ands r1, r4 - movs r2, 0x80 - lsls r2, 2 - orrs r1, r2 - lsls r3, r6, 16 - ldr r2, _08098808 @ =0x0000ffff - ands r1, r2 - orrs r1, r3 - str r1, [r0, 0x4] - bl LoadSpriteSheet - adds r0, r7, 0 - movs r1, 0x1 - bl sub_8098974 - str r0, [sp, 0x20] - add r0, sp, 0x20 - ldr r1, [r0, 0x4] - ands r1, r4 - orrs r1, r5 - str r1, [r0, 0x4] - bl LoadCompressedObjectPalette - ldr r0, _0809880C @ =gUnknown_83D427C - mov r1, sp - movs r2, 0xC - bl CpuSet - mov r0, sp - strh r6, [r0] - strh r5, [r0, 0x2] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl CreateSprite - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r2, _080987FC @ =gUnknown_2039884 - ldr r0, [r2] - bl Free - ldr r1, _08098800 @ =gUnknown_2039888 - ldr r0, [r1] - bl Free - adds r0, r4, 0 - b _08098812 - .align 2, 0 -_080987FC: .4byte gUnknown_2039884 -_08098800: .4byte gUnknown_2039888 -_08098804: .4byte 0xffff0000 -_08098808: .4byte 0x0000ffff -_0809880C: .4byte gUnknown_83D427C -_08098810: - movs r0, 0x40 -_08098812: - add sp, 0x28 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end AddItemIconObject - - thumb_func_start AddItemIconObjectWithCustomObjectTemplate -AddItemIconObjectWithCustomObjectTemplate: @ 809881C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x28 - mov r8, r0 - lsls r1, 16 - lsrs r6, r1, 16 - lsls r2, 16 - lsrs r5, r2, 16 - lsls r3, 16 - lsrs r7, r3, 16 - bl sub_80986EC - lsls r0, 24 - cmp r0, 0 - beq _080988D8 - adds r0, r7, 0 - movs r1, 0 - bl sub_8098974 - ldr r2, _080988C8 @ =gUnknown_2039884 - ldr r1, [r2] - bl LZDecompressWram - ldr r1, _080988C8 @ =gUnknown_2039884 - ldr r0, [r1] - ldr r2, _080988CC @ =gUnknown_2039888 - ldr r1, [r2] - bl CopyItemIconPicTo4x4Buffer - ldr r1, _080988CC @ =gUnknown_2039888 - ldr r0, [r1] - str r0, [sp, 0x18] - ldr r4, _080988D0 @ =0xffff0000 - add r0, sp, 0x18 - ldr r1, [r0, 0x4] - ands r1, r4 - movs r2, 0x80 - lsls r2, 2 - orrs r1, r2 - lsls r3, r6, 16 - ldr r2, _080988D4 @ =0x0000ffff - ands r1, r2 - orrs r1, r3 - str r1, [r0, 0x4] - bl LoadSpriteSheet - adds r0, r7, 0 - movs r1, 0x1 - bl sub_8098974 - str r0, [sp, 0x20] - add r0, sp, 0x20 - ldr r1, [r0, 0x4] - ands r1, r4 - orrs r1, r5 - str r1, [r0, 0x4] - bl LoadCompressedObjectPalette - mov r0, r8 - mov r1, sp - movs r2, 0xC - bl CpuSet - mov r0, sp - strh r6, [r0] - strh r5, [r0, 0x2] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl CreateSprite - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r2, _080988C8 @ =gUnknown_2039884 - ldr r0, [r2] - bl Free - ldr r1, _080988CC @ =gUnknown_2039888 - ldr r0, [r1] - bl Free - adds r0, r4, 0 - b _080988DA - .align 2, 0 -_080988C8: .4byte gUnknown_2039884 -_080988CC: .4byte gUnknown_2039888 -_080988D0: .4byte 0xffff0000 -_080988D4: .4byte 0x0000ffff -_080988D8: - movs r0, 0x40 -_080988DA: - add sp, 0x28 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end AddItemIconObjectWithCustomObjectTemplate - - thumb_func_start CreateItemMenuIcon -CreateItemMenuIcon: @ 80988E8 - push {r4-r6,lr} - lsls r0, 16 - lsrs r6, r0, 16 - lsls r1, 24 - lsrs r1, 24 - ldr r0, _08098938 @ =gUnknown_2039882 - adds r5, r1, r0 - ldrb r0, [r5] - cmp r0, 0xFF - bne _08098932 - adds r4, r1, 0 - adds r4, 0x66 - adds r0, r4, 0 - bl FreeSpriteTilesByTag - adds r0, r4, 0 - bl FreeSpritePaletteByTag - adds r0, r4, 0 - adds r1, r4, 0 - adds r2, r6, 0 - bl AddItemIconObject - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x40 - beq _08098932 - strb r2, [r5] - ldr r1, _0809893C @ =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - movs r1, 0x18 - strh r1, [r0, 0x24] - movs r1, 0x8C - strh r1, [r0, 0x26] -_08098932: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08098938: .4byte gUnknown_2039882 -_0809893C: .4byte gSprites - thumb_func_end CreateItemMenuIcon - - thumb_func_start DestroyItemMenuIcon -DestroyItemMenuIcon: @ 8098940 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0809896C @ =gUnknown_2039882 - adds r4, r0, r1 - ldrb r0, [r4] - cmp r0, 0xFF - beq _08098964 - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08098970 @ =gSprites - adds r0, r1 - bl DestroySpriteAndFreeResources - movs r0, 0xFF - strb r0, [r4] -_08098964: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809896C: .4byte gUnknown_2039882 -_08098970: .4byte gSprites - thumb_func_end DestroyItemMenuIcon - - thumb_func_start sub_8098974 -sub_8098974: @ 8098974 - push {lr} - lsls r0, 16 - lsrs r3, r0, 16 - lsls r1, 24 - lsrs r1, 24 - ldr r0, _08098998 @ =0x00000177 - cmp r3, r0 - bls _08098986 - movs r3, 0 -_08098986: - ldr r2, _0809899C @ =gUnknown_83D4294 - lsls r0, r1, 2 - lsls r1, r3, 3 - adds r0, r1 - adds r0, r2 - ldr r0, [r0] - pop {r1} - bx r1 - .align 2, 0 -_08098998: .4byte 0x00000177 -_0809899C: .4byte gUnknown_83D4294 - thumb_func_end sub_8098974 - - thumb_func_start sub_80989A0 -sub_80989A0: @ 80989A0 - push {r4-r6,lr} - lsls r0, 16 - lsrs r6, r0, 16 - lsls r1, 24 - lsrs r1, 24 - ldr r0, _080989F0 @ =gUnknown_2039882 - adds r5, r1, r0 - ldrb r0, [r5] - cmp r0, 0xFF - bne _080989EA - adds r4, r1, 0 - adds r4, 0x66 - adds r0, r4, 0 - bl FreeSpriteTilesByTag - adds r0, r4, 0 - bl FreeSpritePaletteByTag - adds r0, r4, 0 - adds r1, r4, 0 - adds r2, r6, 0 - bl AddItemIconObject - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x40 - beq _080989EA - strb r2, [r5] - ldr r1, _080989F4 @ =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - movs r1, 0x18 - strh r1, [r0, 0x24] - movs r1, 0x93 - strh r1, [r0, 0x26] -_080989EA: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080989F0: .4byte gUnknown_2039882 -_080989F4: .4byte gSprites - thumb_func_end sub_80989A0 - - .align 2, 0 @ Don't pad with nop. diff --git a/data/data_835B488.s b/data/data_835B488.s index 008c99dde..b606d92b4 100644 --- a/data/data_835B488.s +++ b/data/data_835B488.s @@ -542,34 +542,11 @@ gUnknown_83D414C:: @ 83D414C .incbin "baserom.gba", 0x3D414C, 0x18 gUnknown_83D4164:: @ 83D4164 - .incbin "baserom.gba", 0x3D4164, 0x80 + .incbin "baserom.gba", 0x3D4164, 0x8 -gUnknown_83D41E4:: @ 83D41E4 - .incbin "baserom.gba", 0x3D41E4, 0x8 - -gUnknown_83D41EC:: @ 83D41EC - .incbin "baserom.gba", 0x3D41EC, 0x8 - -gUnknown_83D41F4:: @ 83D41F4 - .incbin "baserom.gba", 0x3D41F4, 0x8 - -gUnknown_83D41FC:: @ 83D41FC - .incbin "baserom.gba", 0x3D41FC, 0x44 - -gBagSwapSpriteSheet:: @ 83D4240 - obj_tiles gFile_graphics_interface_bag_swap_sheet, 0x0100, 0x0065 - -gBagSwapSpritePalette:: @ 83D4248 - obj_pal gFile_graphics_interface_bag_swap_palette, 0x0065 - -gUnknown_83D4250:: @ 83D4250 - .incbin "baserom.gba", 0x3D4250, 0x2C - -gUnknown_83D427C:: @ 83D427C - .incbin "baserom.gba", 0x3D427C, 0x18 - -gUnknown_83D4294:: @ 83D4294 - .incbin "baserom.gba", 0x3D4294, 0x6D94 + .section .rodata.83D4E4C +gUnknown_83D4E4C:: + .incbin "baserom.gba", 0x3D4E54, 0x61D4 gItems:: @ 83DB028 .incbin "baserom.gba", 0x3DB028, 0x4074 diff --git a/include/graphics.h b/include/graphics.h index 01ae84add..1b2913164 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -201,4 +201,763 @@ extern const u8 gItemPcTiles[]; extern const u8 gItemPcBgPals[]; extern const u8 gItemPcTilemap[]; +// item_menu_icons +extern const u8 gUnknown_8E8362C[]; +extern const u8 gUnknown_8E83DBC[]; +extern const u8 gUnknown_8E84560[]; +extern const u8 gFile_graphics_interface_bag_swap_sheet[]; +extern const u8 gFile_graphics_interface_bag_swap_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_master_ball_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_master_ball_palette[]; +extern const u8 gFile_graphics_items_icons_ultra_ball_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_ultra_ball_palette[]; +extern const u8 gFile_graphics_items_icons_great_ball_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_great_ball_palette[]; +extern const u8 gFile_graphics_items_icons_poke_ball_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_poke_ball_palette[]; +extern const u8 gFile_graphics_items_icons_safari_ball_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_safari_ball_palette[]; +extern const u8 gFile_graphics_items_icons_net_ball_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_net_ball_palette[]; +extern const u8 gFile_graphics_items_icons_dive_ball_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_dive_ball_palette[]; +extern const u8 gFile_graphics_items_icons_nest_ball_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_nest_ball_palette[]; +extern const u8 gFile_graphics_items_icons_repeat_ball_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_repeat_ball_palette[]; +extern const u8 gFile_graphics_items_icons_timer_ball_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_repeat_ball_palette[]; +extern const u8 gFile_graphics_items_icons_luxury_ball_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_luxury_ball_palette[]; +extern const u8 gFile_graphics_items_icons_premier_ball_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_luxury_ball_palette[]; +extern const u8 gFile_graphics_items_icons_potion_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_potion_palette[]; +extern const u8 gFile_graphics_items_icons_antidote_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_antidote_palette[]; +extern const u8 gFile_graphics_items_icons_status_heal_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_burn_heal_palette[]; +extern const u8 gFile_graphics_items_icons_status_heal_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_ice_heal_palette[]; +extern const u8 gFile_graphics_items_icons_status_heal_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_awakening_palette[]; +extern const u8 gFile_graphics_items_icons_status_heal_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_paralyze_heal_palette[]; +extern const u8 gFile_graphics_items_icons_large_potion_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_full_restore_palette[]; +extern const u8 gFile_graphics_items_icons_large_potion_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_max_potion_palette[]; +extern const u8 gFile_graphics_items_icons_potion_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_hyper_potion_palette[]; +extern const u8 gFile_graphics_items_icons_potion_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_super_potion_palette[]; +extern const u8 gFile_graphics_items_icons_full_heal_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_full_heal_palette[]; +extern const u8 gFile_graphics_items_icons_revive_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_revive_palette[]; +extern const u8 gFile_graphics_items_icons_max_revive_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_revive_palette[]; +extern const u8 gFile_graphics_items_icons_fresh_water_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_fresh_water_palette[]; +extern const u8 gFile_graphics_items_icons_soda_pop_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_soda_pop_palette[]; +extern const u8 gFile_graphics_items_icons_lemonade_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_lemonade_palette[]; +extern const u8 gFile_graphics_items_icons_moomoo_milk_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_moomoo_milk_palette[]; +extern const u8 gFile_graphics_items_icons_powder_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_energy_powder_palette[]; +extern const u8 gFile_graphics_items_icons_energy_root_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_energy_root_palette[]; +extern const u8 gFile_graphics_items_icons_powder_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_heal_powder_palette[]; +extern const u8 gFile_graphics_items_icons_revival_herb_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_revival_herb_palette[]; +extern const u8 gFile_graphics_items_icons_ether_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_ether_palette[]; +extern const u8 gFile_graphics_items_icons_ether_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_max_ether_palette[]; +extern const u8 gFile_graphics_items_icons_ether_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_elixir_palette[]; +extern const u8 gFile_graphics_items_icons_ether_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_max_elixir_palette[]; +extern const u8 gFile_graphics_items_icons_lava_cookie_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_lava_cookie_and_letter_palette[]; +extern const u8 gFile_graphics_items_icons_flute_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_blue_flute_palette[]; +extern const u8 gFile_graphics_items_icons_flute_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_yellow_flute_palette[]; +extern const u8 gFile_graphics_items_icons_flute_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_red_flute_palette[]; +extern const u8 gFile_graphics_items_icons_flute_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_black_flute_palette[]; +extern const u8 gFile_graphics_items_icons_flute_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_white_flute_palette[]; +extern const u8 gFile_graphics_items_icons_berry_juice_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_berry_juice_palette[]; +extern const u8 gFile_graphics_items_icons_sacred_ash_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_sacred_ash_palette[]; +extern const u8 gFile_graphics_items_icons_powder_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_shoal_salt_palette[]; +extern const u8 gFile_graphics_items_icons_shoal_shell_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_shell_palette[]; +extern const u8 gFile_graphics_items_icons_shard_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_red_shard_palette[]; +extern const u8 gFile_graphics_items_icons_shard_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_blue_shard_palette[]; +extern const u8 gFile_graphics_items_icons_shard_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_yellow_shard_palette[]; +extern const u8 gFile_graphics_items_icons_shard_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_green_shard_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_hp_up_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_hp_up_palette[]; +extern const u8 gFile_graphics_items_icons_vitamin_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_protein_palette[]; +extern const u8 gFile_graphics_items_icons_vitamin_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_iron_palette[]; +extern const u8 gFile_graphics_items_icons_vitamin_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_carbos_palette[]; +extern const u8 gFile_graphics_items_icons_vitamin_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_calcium_palette[]; +extern const u8 gFile_graphics_items_icons_rare_candy_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_rare_candy_palette[]; +extern const u8 gFile_graphics_items_icons_pp_up_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_pp_up_palette[]; +extern const u8 gFile_graphics_items_icons_vitamin_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_zinc_palette[]; +extern const u8 gFile_graphics_items_icons_pp_max_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_pp_max_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_battle_stat_item_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_guard_spec_palette[]; +extern const u8 gFile_graphics_items_icons_battle_stat_item_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_dire_hit_palette[]; +extern const u8 gFile_graphics_items_icons_battle_stat_item_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_x_attack_palette[]; +extern const u8 gFile_graphics_items_icons_battle_stat_item_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_x_defend_palette[]; +extern const u8 gFile_graphics_items_icons_battle_stat_item_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_x_speed_palette[]; +extern const u8 gFile_graphics_items_icons_battle_stat_item_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_x_accuracy_palette[]; +extern const u8 gFile_graphics_items_icons_battle_stat_item_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_x_special_palette[]; +extern const u8 gFile_graphics_items_icons_poke_doll_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_poke_doll_palette[]; +extern const u8 gFile_graphics_items_icons_fluffy_tail_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_fluffy_tail_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_repel_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_super_repel_palette[]; +extern const u8 gFile_graphics_items_icons_repel_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_max_repel_palette[]; +extern const u8 gFile_graphics_items_icons_escape_rope_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_escape_rope_palette[]; +extern const u8 gFile_graphics_items_icons_repel_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_repel_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_sun_stone_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_sun_stone_palette[]; +extern const u8 gFile_graphics_items_icons_moon_stone_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_moon_stone_palette[]; +extern const u8 gFile_graphics_items_icons_fire_stone_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_fire_stone_palette[]; +extern const u8 gFile_graphics_items_icons_thunder_stone_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_thunder_stone_palette[]; +extern const u8 gFile_graphics_items_icons_water_stone_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_water_stone_palette[]; +extern const u8 gFile_graphics_items_icons_leaf_stone_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_leaf_stone_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_tiny_mushroom_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_mushroom_palette[]; +extern const u8 gFile_graphics_items_icons_big_mushroom_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_mushroom_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_pearl_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_pearl_palette[]; +extern const u8 gFile_graphics_items_icons_big_pearl_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_pearl_palette[]; +extern const u8 gFile_graphics_items_icons_stardust_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_star_palette[]; +extern const u8 gFile_graphics_items_icons_star_piece_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_star_palette[]; +extern const u8 gFile_graphics_items_icons_nugget_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_nugget_palette[]; +extern const u8 gFile_graphics_items_icons_heart_scale_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_heart_scale_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_orange_mail_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_orange_mail_palette[]; +extern const u8 gFile_graphics_items_icons_harbor_mail_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_harbor_mail_palette[]; +extern const u8 gFile_graphics_items_icons_glitter_mail_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_glitter_mail_palette[]; +extern const u8 gFile_graphics_items_icons_mech_mail_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_mech_mail_palette[]; +extern const u8 gFile_graphics_items_icons_wood_mail_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_wood_mail_palette[]; +extern const u8 gFile_graphics_items_icons_wave_mail_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_wave_mail_palette[]; +extern const u8 gFile_graphics_items_icons_bead_mail_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_bead_mail_palette[]; +extern const u8 gFile_graphics_items_icons_shadow_mail_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_shadow_mail_palette[]; +extern const u8 gFile_graphics_items_icons_tropic_mail_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_tropic_mail_palette[]; +extern const u8 gFile_graphics_items_icons_dream_mail_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_dream_mail_palette[]; +extern const u8 gFile_graphics_items_icons_fab_mail_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_fab_mail_palette[]; +extern const u8 gFile_graphics_items_icons_retro_mail_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_retro_mail_palette[]; +extern const u8 gFile_graphics_items_icons_cheri_berry_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_cheri_berry_palette[]; +extern const u8 gFile_graphics_items_icons_chesto_berry_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_chesto_berry_palette[]; +extern const u8 gFile_graphics_items_icons_pecha_berry_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_pecha_berry_palette[]; +extern const u8 gFile_graphics_items_icons_rawst_berry_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_rawst_berry_palette[]; +extern const u8 gFile_graphics_items_icons_aspear_berry_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_aspear_berry_palette[]; +extern const u8 gFile_graphics_items_icons_leppa_berry_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_leppa_berry_palette[]; +extern const u8 gFile_graphics_items_icons_oran_berry_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_oran_berry_palette[]; +extern const u8 gFile_graphics_items_icons_persim_berry_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_persim_berry_palette[]; +extern const u8 gFile_graphics_items_icons_lum_berry_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_lum_berry_palette[]; +extern const u8 gFile_graphics_items_icons_sitrus_berry_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_sitrus_berry_palette[]; +extern const u8 gFile_graphics_items_icons_figy_berry_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_figy_berry_palette[]; +extern const u8 gFile_graphics_items_icons_wiki_berry_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_wiki_berry_palette[]; +extern const u8 gFile_graphics_items_icons_mago_berry_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_mago_berry_palette[]; +extern const u8 gFile_graphics_items_icons_aguav_berry_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_aguav_berry_palette[]; +extern const u8 gFile_graphics_items_icons_iapapa_berry_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_iapapa_berry_palette[]; +extern const u8 gFile_graphics_items_icons_razz_berry_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_razz_berry_palette[]; +extern const u8 gFile_graphics_items_icons_bluk_berry_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_bluk_berry_palette[]; +extern const u8 gFile_graphics_items_icons_nanab_berry_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_nanab_berry_palette[]; +extern const u8 gFile_graphics_items_icons_wepear_berry_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_wepear_berry_palette[]; +extern const u8 gFile_graphics_items_icons_pinap_berry_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_pinap_berry_palette[]; +extern const u8 gFile_graphics_items_icons_pomeg_berry_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_pomeg_berry_palette[]; +extern const u8 gFile_graphics_items_icons_kelpsy_berry_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_kelpsy_berry_palette[]; +extern const u8 gFile_graphics_items_icons_qualot_berry_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_qualot_berry_palette[]; +extern const u8 gFile_graphics_items_icons_hondew_berry_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_hondew_berry_palette[]; +extern const u8 gFile_graphics_items_icons_grepa_berry_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_grepa_berry_palette[]; +extern const u8 gFile_graphics_items_icons_tamato_berry_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_tamato_berry_palette[]; +extern const u8 gFile_graphics_items_icons_cornn_berry_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_cornn_berry_palette[]; +extern const u8 gFile_graphics_items_icons_magost_berry_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_magost_berry_palette[]; +extern const u8 gFile_graphics_items_icons_rabuta_berry_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_rabuta_berry_palette[]; +extern const u8 gFile_graphics_items_icons_nomel_berry_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_nomel_berry_palette[]; +extern const u8 gFile_graphics_items_icons_spelon_berry_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_spelon_berry_palette[]; +extern const u8 gFile_graphics_items_icons_pamtre_berry_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_pamtre_berry_palette[]; +extern const u8 gFile_graphics_items_icons_watmel_berry_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_watmel_berry_palette[]; +extern const u8 gFile_graphics_items_icons_durin_berry_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_durin_berry_palette[]; +extern const u8 gFile_graphics_items_icons_belue_berry_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_belue_berry_palette[]; +extern const u8 gFile_graphics_items_icons_liechi_berry_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_liechi_berry_palette[]; +extern const u8 gFile_graphics_items_icons_ganlon_berry_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_ganlon_berry_palette[]; +extern const u8 gFile_graphics_items_icons_salac_berry_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_salac_berry_palette[]; +extern const u8 gFile_graphics_items_icons_petaya_berry_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_petaya_berry_palette[]; +extern const u8 gFile_graphics_items_icons_apicot_berry_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_apicot_berry_palette[]; +extern const u8 gFile_graphics_items_icons_lansat_berry_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_lansat_berry_palette[]; +extern const u8 gFile_graphics_items_icons_starf_berry_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_starf_berry_palette[]; +extern const u8 gFile_graphics_items_icons_enigma_berry_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_enigma_berry_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_bright_powder_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_bright_powder_palette[]; +extern const u8 gFile_graphics_items_icons_in_battle_herb_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_white_herb_palette[]; +extern const u8 gFile_graphics_items_icons_macho_brace_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_macho_brace_palette[]; +extern const u8 gFile_graphics_items_icons_exp_share_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_exp_share_palette[]; +extern const u8 gFile_graphics_items_icons_quick_claw_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_quick_claw_palette[]; +extern const u8 gFile_graphics_items_icons_soothe_bell_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_soothe_bell_palette[]; +extern const u8 gFile_graphics_items_icons_in_battle_herb_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_mental_herb_palette[]; +extern const u8 gFile_graphics_items_icons_choice_band_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_choice_band_palette[]; +extern const u8 gFile_graphics_items_icons_kings_rock_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_kings_rock_palette[]; +extern const u8 gFile_graphics_items_icons_silver_powder_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_silver_powder_palette[]; +extern const u8 gFile_graphics_items_icons_amulet_coin_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_amulet_coin_palette[]; +extern const u8 gFile_graphics_items_icons_cleanse_tag_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_cleanse_tag_palette[]; +extern const u8 gFile_graphics_items_icons_soul_dew_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_soul_dew_palette[]; +extern const u8 gFile_graphics_items_icons_deep_sea_tooth_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_deep_sea_tooth_palette[]; +extern const u8 gFile_graphics_items_icons_deep_sea_scale_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_deep_sea_scale_palette[]; +extern const u8 gFile_graphics_items_icons_smoke_ball_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_smoke_ball_palette[]; +extern const u8 gFile_graphics_items_icons_everstone_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_everstone_palette[]; +extern const u8 gFile_graphics_items_icons_focus_band_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_focus_band_palette[]; +extern const u8 gFile_graphics_items_icons_lucky_egg_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_lucky_egg_palette[]; +extern const u8 gFile_graphics_items_icons_scope_lens_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_scope_lens_palette[]; +extern const u8 gFile_graphics_items_icons_metal_coat_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_metal_coat_palette[]; +extern const u8 gFile_graphics_items_icons_leftovers_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_leftovers_palette[]; +extern const u8 gFile_graphics_items_icons_dragon_scale_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_dragon_scale_palette[]; +extern const u8 gFile_graphics_items_icons_light_ball_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_light_ball_palette[]; +extern const u8 gFile_graphics_items_icons_soft_sand_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_soft_sand_palette[]; +extern const u8 gFile_graphics_items_icons_hard_stone_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_hard_stone_palette[]; +extern const u8 gFile_graphics_items_icons_miracle_seed_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_miracle_seed_palette[]; +extern const u8 gFile_graphics_items_icons_black_glasses_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_black_type_enhancing_item_palette[]; +extern const u8 gFile_graphics_items_icons_black_belt_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_black_type_enhancing_item_palette[]; +extern const u8 gFile_graphics_items_icons_magnet_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_magnet_palette[]; +extern const u8 gFile_graphics_items_icons_mystic_water_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_mystic_water_palette[]; +extern const u8 gFile_graphics_items_icons_sharp_beak_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_sharp_beak_palette[]; +extern const u8 gFile_graphics_items_icons_poison_barb_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_poison_barb_palette[]; +extern const u8 gFile_graphics_items_icons_never_melt_ice_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_never_melt_ice_palette[]; +extern const u8 gFile_graphics_items_icons_spell_tag_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_spell_tag_palette[]; +extern const u8 gFile_graphics_items_icons_twisted_spoon_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_twisted_spoon_palette[]; +extern const u8 gFile_graphics_items_icons_charcoal_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_charcoal_palette[]; +extern const u8 gFile_graphics_items_icons_dragon_fang_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_dragon_fang_palette[]; +extern const u8 gFile_graphics_items_icons_silk_scarf_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_silk_scarf_palette[]; +extern const u8 gFile_graphics_items_icons_up_grade_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_up_grade_palette[]; +extern const u8 gFile_graphics_items_icons_shell_bell_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_shell_palette[]; +extern const u8 gFile_graphics_items_icons_sea_incense_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_sea_incense_palette[]; +extern const u8 gFile_graphics_items_icons_lax_incense_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_lax_incense_palette[]; +extern const u8 gFile_graphics_items_icons_lucky_punch_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_lucky_punch_palette[]; +extern const u8 gFile_graphics_items_icons_metal_powder_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_metal_powder_palette[]; +extern const u8 gFile_graphics_items_icons_thick_club_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_thick_club_palette[]; +extern const u8 gFile_graphics_items_icons_stick_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_stick_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_scarf_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_red_scarf_palette[]; +extern const u8 gFile_graphics_items_icons_scarf_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_blue_scarf_palette[]; +extern const u8 gFile_graphics_items_icons_scarf_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_pink_scarf_palette[]; +extern const u8 gFile_graphics_items_icons_scarf_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_green_scarf_palette[]; +extern const u8 gFile_graphics_items_icons_scarf_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_yellow_scarf_palette[]; +extern const u8 gFile_graphics_items_icons_mach_bike_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_mach_bike_palette[]; +extern const u8 gFile_graphics_items_icons_coin_case_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_coin_case_palette[]; +extern const u8 gFile_graphics_items_icons_itemfinder_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_itemfinder_palette[]; +extern const u8 gFile_graphics_items_icons_old_rod_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_old_rod_palette[]; +extern const u8 gFile_graphics_items_icons_good_rod_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_good_rod_palette[]; +extern const u8 gFile_graphics_items_icons_super_rod_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_super_rod_palette[]; +extern const u8 gFile_graphics_items_icons_ss_ticket_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_ss_ticket_palette[]; +extern const u8 gFile_graphics_items_icons_contest_pass_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_contest_pass_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_wailmer_pail_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_wailmer_pail_palette[]; +extern const u8 gFile_graphics_items_icons_devon_goods_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_devon_goods_palette[]; +extern const u8 gFile_graphics_items_icons_soot_sack_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_soot_sack_palette[]; +extern const u8 gFile_graphics_items_icons_basement_key_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_old_key_palette[]; +extern const u8 gFile_graphics_items_icons_acro_bike_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_acro_bike_palette[]; +extern const u8 gFile_graphics_items_icons_pokeblock_case_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_pokeblock_case_palette[]; +extern const u8 gFile_graphics_items_icons_letter_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_lava_cookie_and_letter_palette[]; +extern const u8 gFile_graphics_items_icons_eon_ticket_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_eon_ticket_palette[]; +extern const u8 gFile_graphics_items_icons_orb_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_red_orb_palette[]; +extern const u8 gFile_graphics_items_icons_orb_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_blue_orb_palette[]; +extern const u8 gFile_graphics_items_icons_scanner_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_scanner_palette[]; +extern const u8 gFile_graphics_items_icons_go_goggles_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_go_goggles_palette[]; +extern const u8 gFile_graphics_items_icons_meteorite_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_meteorite_palette[]; +extern const u8 gFile_graphics_items_icons_room1_key_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_key_palette[]; +extern const u8 gFile_graphics_items_icons_room2_key_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_key_palette[]; +extern const u8 gFile_graphics_items_icons_room4_key_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_key_palette[]; +extern const u8 gFile_graphics_items_icons_room6_key_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_key_palette[]; +extern const u8 gFile_graphics_items_icons_storage_key_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_old_key_palette[]; +extern const u8 gFile_graphics_items_icons_root_fossil_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_hoenn_fossil_palette[]; +extern const u8 gFile_graphics_items_icons_claw_fossil_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_hoenn_fossil_palette[]; +extern const u8 gFile_graphics_items_icons_devon_scope_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_devon_scope_palette[]; +extern const u8 gFile_graphics_items_icons_tm_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_fighting_tm_hm_palette[]; +extern const u8 gFile_graphics_items_icons_tm_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_dragon_tm_hm_palette[]; +extern const u8 gFile_graphics_items_icons_tm_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_water_tm_hm_palette[]; +extern const u8 gFile_graphics_items_icons_tm_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_psychic_tm_hm_palette[]; +extern const u8 gFile_graphics_items_icons_tm_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_normal_tm_hm_palette[]; +extern const u8 gFile_graphics_items_icons_tm_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_poison_tm_hm_palette[]; +extern const u8 gFile_graphics_items_icons_tm_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_ice_tm_hm_palette[]; +extern const u8 gFile_graphics_items_icons_tm_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_fighting_tm_hm_palette[]; +extern const u8 gFile_graphics_items_icons_tm_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_grass_tm_hm_palette[]; +extern const u8 gFile_graphics_items_icons_tm_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_normal_tm_hm_palette[]; +extern const u8 gFile_graphics_items_icons_tm_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_fire_tm_hm_palette[]; +extern const u8 gFile_graphics_items_icons_tm_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_dark_tm_hm_palette[]; +extern const u8 gFile_graphics_items_icons_tm_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_ice_tm_hm_palette[]; +extern const u8 gFile_graphics_items_icons_tm_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_ice_tm_hm_palette[]; +extern const u8 gFile_graphics_items_icons_tm_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_normal_tm_hm_palette[]; +extern const u8 gFile_graphics_items_icons_tm_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_psychic_tm_hm_palette[]; +extern const u8 gFile_graphics_items_icons_tm_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_normal_tm_hm_palette[]; +extern const u8 gFile_graphics_items_icons_tm_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_water_tm_hm_palette[]; +extern const u8 gFile_graphics_items_icons_tm_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_grass_tm_hm_palette[]; +extern const u8 gFile_graphics_items_icons_tm_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_normal_tm_hm_palette[]; +extern const u8 gFile_graphics_items_icons_tm_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_normal_tm_hm_palette[]; +extern const u8 gFile_graphics_items_icons_tm_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_grass_tm_hm_palette[]; +extern const u8 gFile_graphics_items_icons_tm_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_steel_tm_hm_palette[]; +extern const u8 gFile_graphics_items_icons_tm_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_electric_tm_hm_palette[]; +extern const u8 gFile_graphics_items_icons_tm_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_electric_tm_hm_palette[]; +extern const u8 gFile_graphics_items_icons_tm_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_ground_tm_hm_palette[]; +extern const u8 gFile_graphics_items_icons_tm_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_normal_tm_hm_palette[]; +extern const u8 gFile_graphics_items_icons_tm_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_ground_tm_hm_palette[]; +extern const u8 gFile_graphics_items_icons_tm_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_psychic_tm_hm_palette[]; +extern const u8 gFile_graphics_items_icons_tm_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_ghost_tm_hm_palette[]; +extern const u8 gFile_graphics_items_icons_tm_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_fighting_tm_hm_palette[]; +extern const u8 gFile_graphics_items_icons_tm_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_normal_tm_hm_palette[]; +extern const u8 gFile_graphics_items_icons_tm_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_psychic_tm_hm_palette[]; +extern const u8 gFile_graphics_items_icons_tm_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_electric_tm_hm_palette[]; +extern const u8 gFile_graphics_items_icons_tm_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_fire_tm_hm_palette[]; +extern const u8 gFile_graphics_items_icons_tm_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_poison_tm_hm_palette[]; +extern const u8 gFile_graphics_items_icons_tm_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_rock_tm_hm_palette[]; +extern const u8 gFile_graphics_items_icons_tm_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_fire_tm_hm_palette[]; +extern const u8 gFile_graphics_items_icons_tm_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_rock_tm_hm_palette[]; +extern const u8 gFile_graphics_items_icons_tm_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_flying_tm_hm_palette[]; +extern const u8 gFile_graphics_items_icons_tm_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_dark_tm_hm_palette[]; +extern const u8 gFile_graphics_items_icons_tm_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_normal_tm_hm_palette[]; +extern const u8 gFile_graphics_items_icons_tm_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_normal_tm_hm_palette[]; +extern const u8 gFile_graphics_items_icons_tm_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_psychic_tm_hm_palette[]; +extern const u8 gFile_graphics_items_icons_tm_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_normal_tm_hm_palette[]; +extern const u8 gFile_graphics_items_icons_tm_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_dark_tm_hm_palette[]; +extern const u8 gFile_graphics_items_icons_tm_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_steel_tm_hm_palette[]; +extern const u8 gFile_graphics_items_icons_tm_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_psychic_tm_hm_palette[]; +extern const u8 gFile_graphics_items_icons_tm_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_dark_tm_hm_palette[]; +extern const u8 gFile_graphics_items_icons_tm_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_fire_tm_hm_palette[]; +extern const u8 gFile_graphics_items_icons_tm_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_normal_tm_hm_palette[]; +extern const u8 gFile_graphics_items_icons_tm_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_flying_tm_hm_palette[]; +extern const u8 gFile_graphics_items_icons_tm_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_water_tm_hm_palette[]; +extern const u8 gFile_graphics_items_icons_tm_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_normal_tm_hm_palette[]; +extern const u8 gFile_graphics_items_icons_tm_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_normal_tm_hm_palette[]; +extern const u8 gFile_graphics_items_icons_tm_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_fighting_tm_hm_palette[]; +extern const u8 gFile_graphics_items_icons_tm_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_water_tm_hm_palette[]; +extern const u8 gFile_graphics_items_icons_tm_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_water_tm_hm_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; +extern const u8 gFile_graphics_items_icons_oaks_parcel_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_oaks_parcel_palette[]; +extern const u8 gFile_graphics_items_icons_poke_flute_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_poke_flute_palette[]; +extern const u8 gFile_graphics_items_icons_secret_key_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_secret_key_palette[]; +extern const u8 gFile_graphics_items_icons_bike_voucher_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_bike_voucher_palette[]; +extern const u8 gFile_graphics_items_icons_gold_teeth_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_gold_teeth_palette[]; +extern const u8 gFile_graphics_items_icons_old_amber_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_old_amber_palette[]; +extern const u8 gFile_graphics_items_icons_card_key_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_card_key_palette[]; +extern const u8 gFile_graphics_items_icons_lift_key_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_key_palette[]; +extern const u8 gFile_graphics_items_icons_helix_fossil_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_kanto_fossil_palette[]; +extern const u8 gFile_graphics_items_icons_dome_fossil_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_kanto_fossil_palette[]; +extern const u8 gFile_graphics_items_icons_silph_scope_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_silph_scope_palette[]; +extern const u8 gFile_graphics_items_icons_bicycle_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_bicycle_palette[]; +extern const u8 gFile_graphics_items_icons_town_map_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_town_map_palette[]; +extern const u8 gFile_graphics_items_icons_vs_seeker_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_vs_seeker_palette[]; +extern const u8 gFile_graphics_items_icons_fame_checker_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_fame_checker_palette[]; +extern const u8 gFile_graphics_items_icons_tm_case_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_tm_case_palette[]; +extern const u8 gFile_graphics_items_icons_berry_pouch_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_berry_pouch_palette[]; +extern const u8 gFile_graphics_items_icons_teachy_tv_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_teachy_tv_palette[]; +extern const u8 gFile_graphics_items_icons_tri_pass_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_tri_pass_palette[]; +extern const u8 gFile_graphics_items_icons_rainbow_pass_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_rainbow_pass_palette[]; +extern const u8 gFile_graphics_items_icons_tea_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_tea_palette[]; +extern const u8 gFile_graphics_items_icons_mystic_ticket_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_mystic_ticket_palette[]; +extern const u8 gFile_graphics_items_icons_aurora_ticket_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_aurora_ticket_palette[]; +extern const u8 gFile_graphics_items_icons_powder_jar_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_powder_jar_palette[]; +extern const u8 gFile_graphics_items_icons_gem_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_ruby_palette[]; +extern const u8 gFile_graphics_items_icons_gem_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_sapphire_palette[]; +extern const u8 gFile_graphics_items_icons_return_to_field_arrow_sheet[]; +extern const u8 gFile_graphics_items_icon_palettes_return_to_field_arrow_palette[]; + #endif //GUARD_GRAPHICS_H diff --git a/include/item_icon.h b/include/item_icon.h deleted file mode 100644 index 75e2475f3..000000000 --- a/include/item_icon.h +++ /dev/null @@ -1,19 +0,0 @@ -// -// Created by scott on 10/20/2017. -// - -#ifndef GUARD_ITEM_ICON_H -#define GUARD_ITEM_ICON_H - -#include "global.h" - -extern EWRAM_DATA void *gUnknown_0203CEBC; -extern EWRAM_DATA void *gUnknown_0203CEC0; - -extern const struct SpriteTemplate gUnknown_08614FF4; - -bool8 AllocItemIconTemporaryBuffers(void); -void CopyItemIconPicTo4x4Buffer(void *src, void *dest); -void FreeItemIconTemporaryBuffers(void); - -#endif //GUARD_ITEM_ICON_H diff --git a/include/item_menu_icons.h b/include/item_menu_icons.h index ce61c38ac..b5b5c6b0b 100644 --- a/include/item_menu_icons.h +++ b/include/item_menu_icons.h @@ -3,12 +3,28 @@ #include "global.h" +extern void * gUnknown_2039884; + +extern const struct CompressedSpriteSheet gUnknown_83D41E4; +extern const struct CompressedSpriteSheet gUnknown_83D41EC; +extern const struct CompressedSpritePalette gUnknown_83D41F4; + +extern const struct CompressedSpriteSheet gBagSwapSpriteSheet; +extern const struct CompressedSpritePalette gBagSwapSpritePalette; + void ResetItemMenuIconState(void); void sub_80985E4(void); -u8 sub_80D511C(u8 a0, u8 a1, u8 a2, u8 a3); void DestroyItemMenuIcon(bool8 a0); void CreateItemMenuIcon(u16 itemId, bool8 a0); +void CopyItemIconPicTo4x4Buffer(const void *src, void *dest); +u8 AddItemIconObject(u16 tilesTag, u16 paletteTag, u16 itemId); +u8 AddItemIconObjectWithCustomObjectTemplate(const struct SpriteTemplate * origTemplate, u16 tilesTag, u16 paletteTag, u16 itemId); +void sub_80989A0(u16 itemId, u8 idx); void sub_80986A8(s16 x, u16 y); void sub_8098660(u8); +void sub_8098528(u8); +void sub_8098580(void); +const void * sub_8098974(u16 itemId, u8 ptrId); +void sub_80984FC(u8 animNum); #endif // GUARD_ITEM_MENU_ICONS diff --git a/ld_script.txt b/ld_script.txt index 6360e600f..f64fb569f 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -137,7 +137,7 @@ SECTIONS { asm/fldeff_cut.o(.text); asm/mail_data.o(.text); asm/map_name_popup.o(.text); - asm/item_menu_icons.o(.text); + src/item_menu_icons.o(.text); asm/battle_anim_mon_movement.o(.text); asm/item.o(.text); asm/shop.o(.text); @@ -408,6 +408,8 @@ SECTIONS { data/title_screen.o(.rodata); data/field_weather.o(.rodata); data/data_835B488.o(.rodata); + src/item_menu_icons.o(.rodata); + data/data_835B488.o(.rodata.83D4E4C); src/heal_location.o(.rodata); data/data_835B488.o(.rodata.83EEC98); src/battle_ai_script_commands.o(.rodata); diff --git a/src/item_menu_icons.c b/src/item_menu_icons.c new file mode 100644 index 000000000..a244a1075 --- /dev/null +++ b/src/item_menu_icons.c @@ -0,0 +1,783 @@ +#include "global.h" +#include "decompress.h" +#include "graphics.h" +#include "item_menu_icons.h" +#include "malloc.h" +#include "constants/items.h" + +static EWRAM_DATA u8 gUnknown_2039878[12] = {0}; +EWRAM_DATA void * gUnknown_2039884 = NULL; +static EWRAM_DATA void * gUnknown_2039888 = NULL; + +static void sub_8098560(struct Sprite * sprite); +static void sub_80985BC(struct Sprite * sprite); + +static const struct OamData gUnknown_83D416C = { + .affineMode = ST_OAM_AFFINE_NORMAL, + .shape = ST_OAM_SQUARE, + .size = 3, + .priority = 1, + .paletteNum = 0 +}; + +static const union AnimCmd gUnknown_83D4174[] = { + ANIMCMD_FRAME( 0, 5), + ANIMCMD_FRAME(0x40, 0), + ANIMCMD_END +}; + +static const union AnimCmd gUnknown_83D4180[] = { + ANIMCMD_FRAME( 0, 5), + ANIMCMD_FRAME(0x80, 0), + ANIMCMD_END +}; + +static const union AnimCmd gUnknown_83D418C[] = { + ANIMCMD_FRAME( 0, 5), + ANIMCMD_FRAME(0xc0, 0), + ANIMCMD_END +}; + +static const union AnimCmd *const gUnknown_83D4198[] = { + gUnknown_83D4180, + gUnknown_83D418C, + gUnknown_83D4174 +}; + +static const union AffineAnimCmd gUnknown_83D41A4[] = { + AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), + AFFINEANIMCMD_END +}; + +static const union AffineAnimCmd gUnknown_83D41B4[] = { + AFFINEANIMCMD_FRAME(0, 0, -2, 2), + AFFINEANIMCMD_FRAME(0, 0, 2, 4), + AFFINEANIMCMD_FRAME(0, 0, -2, 4), + AFFINEANIMCMD_FRAME(0, 0, 2, 2), + AFFINEANIMCMD_END +}; + +static const union AffineAnimCmd *const gUnknown_83D41DC[] = { + gUnknown_83D41A4, + gUnknown_83D41B4 +}; + +const struct CompressedSpriteSheet gUnknown_83D41E4 = { + gUnknown_8E8362C, + 0x2000, + 100 +}; + +const struct CompressedSpriteSheet gUnknown_83D41EC = { + gUnknown_8E83DBC, + 0x2000, + 100 +}; + +const struct CompressedSpritePalette gUnknown_83D41F4 = { + gUnknown_8E84560, + 100 +}; + +static const struct SpriteTemplate gUnknown_83D41FC = { + 100, + 100, + &gUnknown_83D416C, + gUnknown_83D4198, + NULL, + gUnknown_83D41DC, + SpriteCallbackDummy +}; + +static const struct OamData gUnknown_83D4214 = { + .affineMode = ST_OAM_AFFINE_OFF, + .shape = ST_OAM_SQUARE, + .size = 1, + .priority = 1, + .paletteNum = 1 +}; + +static const union AnimCmd gUnknown_83D421C[] = { + ANIMCMD_FRAME(0, 0), + ANIMCMD_END +}; + +static const union AnimCmd gUnknown_83D4224[] = { + ANIMCMD_FRAME(4, 0), + ANIMCMD_END +}; + +static const union AnimCmd gUnknown_83D422C[] = { + ANIMCMD_FRAME(0, 0, .hFlip = TRUE), + ANIMCMD_END +}; + +static const union AnimCmd *const gUnknown_83D4234[] = { + gUnknown_83D421C, + gUnknown_83D4224, + gUnknown_83D422C +}; + +const struct CompressedSpriteSheet gBagSwapSpriteSheet = { + gFile_graphics_interface_bag_swap_sheet, + 0x100, + 101 +}; + +const struct CompressedSpritePalette gBagSwapSpritePalette = { + gFile_graphics_interface_bag_swap_palette, + 101 +}; + +static const struct SpriteTemplate gUnknown_83D4250 = { + 101, + 101, + &gUnknown_83D4214, + gUnknown_83D4234, + NULL, + gDummySpriteAffineAnimTable, + SpriteCallbackDummy +}; + +static const struct OamData gUnknown_83D4268 = { + .affineMode = ST_OAM_AFFINE_OFF, + .shape = ST_OAM_SQUARE, + .size = 2, + .priority = 1, + .paletteNum = 2 +}; + +static const union AnimCmd gUnknown_83D4270[] = { + ANIMCMD_FRAME(0, 0), + ANIMCMD_END +}; + +static const union AnimCmd *const gUnknown_83D4278[] = { + gUnknown_83D4270 +}; + +static const struct SpriteTemplate gUnknown_83D427C = { + 102, + 102, + &gUnknown_83D4268, + gUnknown_83D4278, + NULL, + gDummySpriteAffineAnimTable, + SpriteCallbackDummy +}; + +static const void *const gUnknown_83D4294[][2] = { + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_master_ball_sheet, gFile_graphics_items_icon_palettes_master_ball_palette}, + {gFile_graphics_items_icons_ultra_ball_sheet, gFile_graphics_items_icon_palettes_ultra_ball_palette}, + {gFile_graphics_items_icons_great_ball_sheet, gFile_graphics_items_icon_palettes_great_ball_palette}, + {gFile_graphics_items_icons_poke_ball_sheet, gFile_graphics_items_icon_palettes_poke_ball_palette}, + {gFile_graphics_items_icons_safari_ball_sheet, gFile_graphics_items_icon_palettes_safari_ball_palette}, + {gFile_graphics_items_icons_net_ball_sheet, gFile_graphics_items_icon_palettes_net_ball_palette}, + {gFile_graphics_items_icons_dive_ball_sheet, gFile_graphics_items_icon_palettes_dive_ball_palette}, + {gFile_graphics_items_icons_nest_ball_sheet, gFile_graphics_items_icon_palettes_nest_ball_palette}, + {gFile_graphics_items_icons_repeat_ball_sheet, gFile_graphics_items_icon_palettes_repeat_ball_palette}, + {gFile_graphics_items_icons_timer_ball_sheet, gFile_graphics_items_icon_palettes_repeat_ball_palette}, + {gFile_graphics_items_icons_luxury_ball_sheet, gFile_graphics_items_icon_palettes_luxury_ball_palette}, + {gFile_graphics_items_icons_premier_ball_sheet, gFile_graphics_items_icon_palettes_luxury_ball_palette}, + {gFile_graphics_items_icons_potion_sheet, gFile_graphics_items_icon_palettes_potion_palette}, + {gFile_graphics_items_icons_antidote_sheet, gFile_graphics_items_icon_palettes_antidote_palette}, + {gFile_graphics_items_icons_status_heal_sheet, gFile_graphics_items_icon_palettes_burn_heal_palette}, + {gFile_graphics_items_icons_status_heal_sheet, gFile_graphics_items_icon_palettes_ice_heal_palette}, + {gFile_graphics_items_icons_status_heal_sheet, gFile_graphics_items_icon_palettes_awakening_palette}, + {gFile_graphics_items_icons_status_heal_sheet, gFile_graphics_items_icon_palettes_paralyze_heal_palette}, + {gFile_graphics_items_icons_large_potion_sheet, gFile_graphics_items_icon_palettes_full_restore_palette}, + {gFile_graphics_items_icons_large_potion_sheet, gFile_graphics_items_icon_palettes_max_potion_palette}, + {gFile_graphics_items_icons_potion_sheet, gFile_graphics_items_icon_palettes_hyper_potion_palette}, + {gFile_graphics_items_icons_potion_sheet, gFile_graphics_items_icon_palettes_super_potion_palette}, + {gFile_graphics_items_icons_full_heal_sheet, gFile_graphics_items_icon_palettes_full_heal_palette}, + {gFile_graphics_items_icons_revive_sheet, gFile_graphics_items_icon_palettes_revive_palette}, + {gFile_graphics_items_icons_max_revive_sheet, gFile_graphics_items_icon_palettes_revive_palette}, + {gFile_graphics_items_icons_fresh_water_sheet, gFile_graphics_items_icon_palettes_fresh_water_palette}, + {gFile_graphics_items_icons_soda_pop_sheet, gFile_graphics_items_icon_palettes_soda_pop_palette}, + {gFile_graphics_items_icons_lemonade_sheet, gFile_graphics_items_icon_palettes_lemonade_palette}, + {gFile_graphics_items_icons_moomoo_milk_sheet, gFile_graphics_items_icon_palettes_moomoo_milk_palette}, + {gFile_graphics_items_icons_powder_sheet, gFile_graphics_items_icon_palettes_energy_powder_palette}, + {gFile_graphics_items_icons_energy_root_sheet, gFile_graphics_items_icon_palettes_energy_root_palette}, + {gFile_graphics_items_icons_powder_sheet, gFile_graphics_items_icon_palettes_heal_powder_palette}, + {gFile_graphics_items_icons_revival_herb_sheet, gFile_graphics_items_icon_palettes_revival_herb_palette}, + {gFile_graphics_items_icons_ether_sheet, gFile_graphics_items_icon_palettes_ether_palette}, + {gFile_graphics_items_icons_ether_sheet, gFile_graphics_items_icon_palettes_max_ether_palette}, + {gFile_graphics_items_icons_ether_sheet, gFile_graphics_items_icon_palettes_elixir_palette}, + {gFile_graphics_items_icons_ether_sheet, gFile_graphics_items_icon_palettes_max_elixir_palette}, + {gFile_graphics_items_icons_lava_cookie_sheet, gFile_graphics_items_icon_palettes_lava_cookie_and_letter_palette}, + {gFile_graphics_items_icons_flute_sheet, gFile_graphics_items_icon_palettes_blue_flute_palette}, + {gFile_graphics_items_icons_flute_sheet, gFile_graphics_items_icon_palettes_yellow_flute_palette}, + {gFile_graphics_items_icons_flute_sheet, gFile_graphics_items_icon_palettes_red_flute_palette}, + {gFile_graphics_items_icons_flute_sheet, gFile_graphics_items_icon_palettes_black_flute_palette}, + {gFile_graphics_items_icons_flute_sheet, gFile_graphics_items_icon_palettes_white_flute_palette}, + {gFile_graphics_items_icons_berry_juice_sheet, gFile_graphics_items_icon_palettes_berry_juice_palette}, + {gFile_graphics_items_icons_sacred_ash_sheet, gFile_graphics_items_icon_palettes_sacred_ash_palette}, + {gFile_graphics_items_icons_powder_sheet, gFile_graphics_items_icon_palettes_shoal_salt_palette}, + {gFile_graphics_items_icons_shoal_shell_sheet, gFile_graphics_items_icon_palettes_shell_palette}, + {gFile_graphics_items_icons_shard_sheet, gFile_graphics_items_icon_palettes_red_shard_palette}, + {gFile_graphics_items_icons_shard_sheet, gFile_graphics_items_icon_palettes_blue_shard_palette}, + {gFile_graphics_items_icons_shard_sheet, gFile_graphics_items_icon_palettes_yellow_shard_palette}, + {gFile_graphics_items_icons_shard_sheet, gFile_graphics_items_icon_palettes_green_shard_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_hp_up_sheet, gFile_graphics_items_icon_palettes_hp_up_palette}, + {gFile_graphics_items_icons_vitamin_sheet, gFile_graphics_items_icon_palettes_protein_palette}, + {gFile_graphics_items_icons_vitamin_sheet, gFile_graphics_items_icon_palettes_iron_palette}, + {gFile_graphics_items_icons_vitamin_sheet, gFile_graphics_items_icon_palettes_carbos_palette}, + {gFile_graphics_items_icons_vitamin_sheet, gFile_graphics_items_icon_palettes_calcium_palette}, + {gFile_graphics_items_icons_rare_candy_sheet, gFile_graphics_items_icon_palettes_rare_candy_palette}, + {gFile_graphics_items_icons_pp_up_sheet, gFile_graphics_items_icon_palettes_pp_up_palette}, + {gFile_graphics_items_icons_vitamin_sheet, gFile_graphics_items_icon_palettes_zinc_palette}, + {gFile_graphics_items_icons_pp_max_sheet, gFile_graphics_items_icon_palettes_pp_max_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_battle_stat_item_sheet, gFile_graphics_items_icon_palettes_guard_spec_palette}, + {gFile_graphics_items_icons_battle_stat_item_sheet, gFile_graphics_items_icon_palettes_dire_hit_palette}, + {gFile_graphics_items_icons_battle_stat_item_sheet, gFile_graphics_items_icon_palettes_x_attack_palette}, + {gFile_graphics_items_icons_battle_stat_item_sheet, gFile_graphics_items_icon_palettes_x_defend_palette}, + {gFile_graphics_items_icons_battle_stat_item_sheet, gFile_graphics_items_icon_palettes_x_speed_palette}, + {gFile_graphics_items_icons_battle_stat_item_sheet, gFile_graphics_items_icon_palettes_x_accuracy_palette}, + {gFile_graphics_items_icons_battle_stat_item_sheet, gFile_graphics_items_icon_palettes_x_special_palette}, + {gFile_graphics_items_icons_poke_doll_sheet, gFile_graphics_items_icon_palettes_poke_doll_palette}, + {gFile_graphics_items_icons_fluffy_tail_sheet, gFile_graphics_items_icon_palettes_fluffy_tail_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_repel_sheet, gFile_graphics_items_icon_palettes_super_repel_palette}, + {gFile_graphics_items_icons_repel_sheet, gFile_graphics_items_icon_palettes_max_repel_palette}, + {gFile_graphics_items_icons_escape_rope_sheet, gFile_graphics_items_icon_palettes_escape_rope_palette}, + {gFile_graphics_items_icons_repel_sheet, gFile_graphics_items_icon_palettes_repel_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_sun_stone_sheet, gFile_graphics_items_icon_palettes_sun_stone_palette}, + {gFile_graphics_items_icons_moon_stone_sheet, gFile_graphics_items_icon_palettes_moon_stone_palette}, + {gFile_graphics_items_icons_fire_stone_sheet, gFile_graphics_items_icon_palettes_fire_stone_palette}, + {gFile_graphics_items_icons_thunder_stone_sheet, gFile_graphics_items_icon_palettes_thunder_stone_palette}, + {gFile_graphics_items_icons_water_stone_sheet, gFile_graphics_items_icon_palettes_water_stone_palette}, + {gFile_graphics_items_icons_leaf_stone_sheet, gFile_graphics_items_icon_palettes_leaf_stone_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_tiny_mushroom_sheet, gFile_graphics_items_icon_palettes_mushroom_palette}, + {gFile_graphics_items_icons_big_mushroom_sheet, gFile_graphics_items_icon_palettes_mushroom_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_pearl_sheet, gFile_graphics_items_icon_palettes_pearl_palette}, + {gFile_graphics_items_icons_big_pearl_sheet, gFile_graphics_items_icon_palettes_pearl_palette}, + {gFile_graphics_items_icons_stardust_sheet, gFile_graphics_items_icon_palettes_star_palette}, + {gFile_graphics_items_icons_star_piece_sheet, gFile_graphics_items_icon_palettes_star_palette}, + {gFile_graphics_items_icons_nugget_sheet, gFile_graphics_items_icon_palettes_nugget_palette}, + {gFile_graphics_items_icons_heart_scale_sheet, gFile_graphics_items_icon_palettes_heart_scale_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_orange_mail_sheet, gFile_graphics_items_icon_palettes_orange_mail_palette}, + {gFile_graphics_items_icons_harbor_mail_sheet, gFile_graphics_items_icon_palettes_harbor_mail_palette}, + {gFile_graphics_items_icons_glitter_mail_sheet, gFile_graphics_items_icon_palettes_glitter_mail_palette}, + {gFile_graphics_items_icons_mech_mail_sheet, gFile_graphics_items_icon_palettes_mech_mail_palette}, + {gFile_graphics_items_icons_wood_mail_sheet, gFile_graphics_items_icon_palettes_wood_mail_palette}, + {gFile_graphics_items_icons_wave_mail_sheet, gFile_graphics_items_icon_palettes_wave_mail_palette}, + {gFile_graphics_items_icons_bead_mail_sheet, gFile_graphics_items_icon_palettes_bead_mail_palette}, + {gFile_graphics_items_icons_shadow_mail_sheet, gFile_graphics_items_icon_palettes_shadow_mail_palette}, + {gFile_graphics_items_icons_tropic_mail_sheet, gFile_graphics_items_icon_palettes_tropic_mail_palette}, + {gFile_graphics_items_icons_dream_mail_sheet, gFile_graphics_items_icon_palettes_dream_mail_palette}, + {gFile_graphics_items_icons_fab_mail_sheet, gFile_graphics_items_icon_palettes_fab_mail_palette}, + {gFile_graphics_items_icons_retro_mail_sheet, gFile_graphics_items_icon_palettes_retro_mail_palette}, + {gFile_graphics_items_icons_cheri_berry_sheet, gFile_graphics_items_icon_palettes_cheri_berry_palette}, + {gFile_graphics_items_icons_chesto_berry_sheet, gFile_graphics_items_icon_palettes_chesto_berry_palette}, + {gFile_graphics_items_icons_pecha_berry_sheet, gFile_graphics_items_icon_palettes_pecha_berry_palette}, + {gFile_graphics_items_icons_rawst_berry_sheet, gFile_graphics_items_icon_palettes_rawst_berry_palette}, + {gFile_graphics_items_icons_aspear_berry_sheet, gFile_graphics_items_icon_palettes_aspear_berry_palette}, + {gFile_graphics_items_icons_leppa_berry_sheet, gFile_graphics_items_icon_palettes_leppa_berry_palette}, + {gFile_graphics_items_icons_oran_berry_sheet, gFile_graphics_items_icon_palettes_oran_berry_palette}, + {gFile_graphics_items_icons_persim_berry_sheet, gFile_graphics_items_icon_palettes_persim_berry_palette}, + {gFile_graphics_items_icons_lum_berry_sheet, gFile_graphics_items_icon_palettes_lum_berry_palette}, + {gFile_graphics_items_icons_sitrus_berry_sheet, gFile_graphics_items_icon_palettes_sitrus_berry_palette}, + {gFile_graphics_items_icons_figy_berry_sheet, gFile_graphics_items_icon_palettes_figy_berry_palette}, + {gFile_graphics_items_icons_wiki_berry_sheet, gFile_graphics_items_icon_palettes_wiki_berry_palette}, + {gFile_graphics_items_icons_mago_berry_sheet, gFile_graphics_items_icon_palettes_mago_berry_palette}, + {gFile_graphics_items_icons_aguav_berry_sheet, gFile_graphics_items_icon_palettes_aguav_berry_palette}, + {gFile_graphics_items_icons_iapapa_berry_sheet, gFile_graphics_items_icon_palettes_iapapa_berry_palette}, + {gFile_graphics_items_icons_razz_berry_sheet, gFile_graphics_items_icon_palettes_razz_berry_palette}, + {gFile_graphics_items_icons_bluk_berry_sheet, gFile_graphics_items_icon_palettes_bluk_berry_palette}, + {gFile_graphics_items_icons_nanab_berry_sheet, gFile_graphics_items_icon_palettes_nanab_berry_palette}, + {gFile_graphics_items_icons_wepear_berry_sheet, gFile_graphics_items_icon_palettes_wepear_berry_palette}, + {gFile_graphics_items_icons_pinap_berry_sheet, gFile_graphics_items_icon_palettes_pinap_berry_palette}, + {gFile_graphics_items_icons_pomeg_berry_sheet, gFile_graphics_items_icon_palettes_pomeg_berry_palette}, + {gFile_graphics_items_icons_kelpsy_berry_sheet, gFile_graphics_items_icon_palettes_kelpsy_berry_palette}, + {gFile_graphics_items_icons_qualot_berry_sheet, gFile_graphics_items_icon_palettes_qualot_berry_palette}, + {gFile_graphics_items_icons_hondew_berry_sheet, gFile_graphics_items_icon_palettes_hondew_berry_palette}, + {gFile_graphics_items_icons_grepa_berry_sheet, gFile_graphics_items_icon_palettes_grepa_berry_palette}, + {gFile_graphics_items_icons_tamato_berry_sheet, gFile_graphics_items_icon_palettes_tamato_berry_palette}, + {gFile_graphics_items_icons_cornn_berry_sheet, gFile_graphics_items_icon_palettes_cornn_berry_palette}, + {gFile_graphics_items_icons_magost_berry_sheet, gFile_graphics_items_icon_palettes_magost_berry_palette}, + {gFile_graphics_items_icons_rabuta_berry_sheet, gFile_graphics_items_icon_palettes_rabuta_berry_palette}, + {gFile_graphics_items_icons_nomel_berry_sheet, gFile_graphics_items_icon_palettes_nomel_berry_palette}, + {gFile_graphics_items_icons_spelon_berry_sheet, gFile_graphics_items_icon_palettes_spelon_berry_palette}, + {gFile_graphics_items_icons_pamtre_berry_sheet, gFile_graphics_items_icon_palettes_pamtre_berry_palette}, + {gFile_graphics_items_icons_watmel_berry_sheet, gFile_graphics_items_icon_palettes_watmel_berry_palette}, + {gFile_graphics_items_icons_durin_berry_sheet, gFile_graphics_items_icon_palettes_durin_berry_palette}, + {gFile_graphics_items_icons_belue_berry_sheet, gFile_graphics_items_icon_palettes_belue_berry_palette}, + {gFile_graphics_items_icons_liechi_berry_sheet, gFile_graphics_items_icon_palettes_liechi_berry_palette}, + {gFile_graphics_items_icons_ganlon_berry_sheet, gFile_graphics_items_icon_palettes_ganlon_berry_palette}, + {gFile_graphics_items_icons_salac_berry_sheet, gFile_graphics_items_icon_palettes_salac_berry_palette}, + {gFile_graphics_items_icons_petaya_berry_sheet, gFile_graphics_items_icon_palettes_petaya_berry_palette}, + {gFile_graphics_items_icons_apicot_berry_sheet, gFile_graphics_items_icon_palettes_apicot_berry_palette}, + {gFile_graphics_items_icons_lansat_berry_sheet, gFile_graphics_items_icon_palettes_lansat_berry_palette}, + {gFile_graphics_items_icons_starf_berry_sheet, gFile_graphics_items_icon_palettes_starf_berry_palette}, + {gFile_graphics_items_icons_enigma_berry_sheet, gFile_graphics_items_icon_palettes_enigma_berry_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_bright_powder_sheet, gFile_graphics_items_icon_palettes_bright_powder_palette}, + {gFile_graphics_items_icons_in_battle_herb_sheet, gFile_graphics_items_icon_palettes_white_herb_palette}, + {gFile_graphics_items_icons_macho_brace_sheet, gFile_graphics_items_icon_palettes_macho_brace_palette}, + {gFile_graphics_items_icons_exp_share_sheet, gFile_graphics_items_icon_palettes_exp_share_palette}, + {gFile_graphics_items_icons_quick_claw_sheet, gFile_graphics_items_icon_palettes_quick_claw_palette}, + {gFile_graphics_items_icons_soothe_bell_sheet, gFile_graphics_items_icon_palettes_soothe_bell_palette}, + {gFile_graphics_items_icons_in_battle_herb_sheet, gFile_graphics_items_icon_palettes_mental_herb_palette}, + {gFile_graphics_items_icons_choice_band_sheet, gFile_graphics_items_icon_palettes_choice_band_palette}, + {gFile_graphics_items_icons_kings_rock_sheet, gFile_graphics_items_icon_palettes_kings_rock_palette}, + {gFile_graphics_items_icons_silver_powder_sheet, gFile_graphics_items_icon_palettes_silver_powder_palette}, + {gFile_graphics_items_icons_amulet_coin_sheet, gFile_graphics_items_icon_palettes_amulet_coin_palette}, + {gFile_graphics_items_icons_cleanse_tag_sheet, gFile_graphics_items_icon_palettes_cleanse_tag_palette}, + {gFile_graphics_items_icons_soul_dew_sheet, gFile_graphics_items_icon_palettes_soul_dew_palette}, + {gFile_graphics_items_icons_deep_sea_tooth_sheet, gFile_graphics_items_icon_palettes_deep_sea_tooth_palette}, + {gFile_graphics_items_icons_deep_sea_scale_sheet, gFile_graphics_items_icon_palettes_deep_sea_scale_palette}, + {gFile_graphics_items_icons_smoke_ball_sheet, gFile_graphics_items_icon_palettes_smoke_ball_palette}, + {gFile_graphics_items_icons_everstone_sheet, gFile_graphics_items_icon_palettes_everstone_palette}, + {gFile_graphics_items_icons_focus_band_sheet, gFile_graphics_items_icon_palettes_focus_band_palette}, + {gFile_graphics_items_icons_lucky_egg_sheet, gFile_graphics_items_icon_palettes_lucky_egg_palette}, + {gFile_graphics_items_icons_scope_lens_sheet, gFile_graphics_items_icon_palettes_scope_lens_palette}, + {gFile_graphics_items_icons_metal_coat_sheet, gFile_graphics_items_icon_palettes_metal_coat_palette}, + {gFile_graphics_items_icons_leftovers_sheet, gFile_graphics_items_icon_palettes_leftovers_palette}, + {gFile_graphics_items_icons_dragon_scale_sheet, gFile_graphics_items_icon_palettes_dragon_scale_palette}, + {gFile_graphics_items_icons_light_ball_sheet, gFile_graphics_items_icon_palettes_light_ball_palette}, + {gFile_graphics_items_icons_soft_sand_sheet, gFile_graphics_items_icon_palettes_soft_sand_palette}, + {gFile_graphics_items_icons_hard_stone_sheet, gFile_graphics_items_icon_palettes_hard_stone_palette}, + {gFile_graphics_items_icons_miracle_seed_sheet, gFile_graphics_items_icon_palettes_miracle_seed_palette}, + {gFile_graphics_items_icons_black_glasses_sheet, gFile_graphics_items_icon_palettes_black_type_enhancing_item_palette}, + {gFile_graphics_items_icons_black_belt_sheet, gFile_graphics_items_icon_palettes_black_type_enhancing_item_palette}, + {gFile_graphics_items_icons_magnet_sheet, gFile_graphics_items_icon_palettes_magnet_palette}, + {gFile_graphics_items_icons_mystic_water_sheet, gFile_graphics_items_icon_palettes_mystic_water_palette}, + {gFile_graphics_items_icons_sharp_beak_sheet, gFile_graphics_items_icon_palettes_sharp_beak_palette}, + {gFile_graphics_items_icons_poison_barb_sheet, gFile_graphics_items_icon_palettes_poison_barb_palette}, + {gFile_graphics_items_icons_never_melt_ice_sheet, gFile_graphics_items_icon_palettes_never_melt_ice_palette}, + {gFile_graphics_items_icons_spell_tag_sheet, gFile_graphics_items_icon_palettes_spell_tag_palette}, + {gFile_graphics_items_icons_twisted_spoon_sheet, gFile_graphics_items_icon_palettes_twisted_spoon_palette}, + {gFile_graphics_items_icons_charcoal_sheet, gFile_graphics_items_icon_palettes_charcoal_palette}, + {gFile_graphics_items_icons_dragon_fang_sheet, gFile_graphics_items_icon_palettes_dragon_fang_palette}, + {gFile_graphics_items_icons_silk_scarf_sheet, gFile_graphics_items_icon_palettes_silk_scarf_palette}, + {gFile_graphics_items_icons_up_grade_sheet, gFile_graphics_items_icon_palettes_up_grade_palette}, + {gFile_graphics_items_icons_shell_bell_sheet, gFile_graphics_items_icon_palettes_shell_palette}, + {gFile_graphics_items_icons_sea_incense_sheet, gFile_graphics_items_icon_palettes_sea_incense_palette}, + {gFile_graphics_items_icons_lax_incense_sheet, gFile_graphics_items_icon_palettes_lax_incense_palette}, + {gFile_graphics_items_icons_lucky_punch_sheet, gFile_graphics_items_icon_palettes_lucky_punch_palette}, + {gFile_graphics_items_icons_metal_powder_sheet, gFile_graphics_items_icon_palettes_metal_powder_palette}, + {gFile_graphics_items_icons_thick_club_sheet, gFile_graphics_items_icon_palettes_thick_club_palette}, + {gFile_graphics_items_icons_stick_sheet, gFile_graphics_items_icon_palettes_stick_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_scarf_sheet, gFile_graphics_items_icon_palettes_red_scarf_palette}, + {gFile_graphics_items_icons_scarf_sheet, gFile_graphics_items_icon_palettes_blue_scarf_palette}, + {gFile_graphics_items_icons_scarf_sheet, gFile_graphics_items_icon_palettes_pink_scarf_palette}, + {gFile_graphics_items_icons_scarf_sheet, gFile_graphics_items_icon_palettes_green_scarf_palette}, + {gFile_graphics_items_icons_scarf_sheet, gFile_graphics_items_icon_palettes_yellow_scarf_palette}, + {gFile_graphics_items_icons_mach_bike_sheet, gFile_graphics_items_icon_palettes_mach_bike_palette}, + {gFile_graphics_items_icons_coin_case_sheet, gFile_graphics_items_icon_palettes_coin_case_palette}, + {gFile_graphics_items_icons_itemfinder_sheet, gFile_graphics_items_icon_palettes_itemfinder_palette}, + {gFile_graphics_items_icons_old_rod_sheet, gFile_graphics_items_icon_palettes_old_rod_palette}, + {gFile_graphics_items_icons_good_rod_sheet, gFile_graphics_items_icon_palettes_good_rod_palette}, + {gFile_graphics_items_icons_super_rod_sheet, gFile_graphics_items_icon_palettes_super_rod_palette}, + {gFile_graphics_items_icons_ss_ticket_sheet, gFile_graphics_items_icon_palettes_ss_ticket_palette}, + {gFile_graphics_items_icons_contest_pass_sheet, gFile_graphics_items_icon_palettes_contest_pass_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_wailmer_pail_sheet, gFile_graphics_items_icon_palettes_wailmer_pail_palette}, + {gFile_graphics_items_icons_devon_goods_sheet, gFile_graphics_items_icon_palettes_devon_goods_palette}, + {gFile_graphics_items_icons_soot_sack_sheet, gFile_graphics_items_icon_palettes_soot_sack_palette}, + {gFile_graphics_items_icons_basement_key_sheet, gFile_graphics_items_icon_palettes_old_key_palette}, + {gFile_graphics_items_icons_acro_bike_sheet, gFile_graphics_items_icon_palettes_acro_bike_palette}, + {gFile_graphics_items_icons_pokeblock_case_sheet, gFile_graphics_items_icon_palettes_pokeblock_case_palette}, + {gFile_graphics_items_icons_letter_sheet, gFile_graphics_items_icon_palettes_lava_cookie_and_letter_palette}, + {gFile_graphics_items_icons_eon_ticket_sheet, gFile_graphics_items_icon_palettes_eon_ticket_palette}, + {gFile_graphics_items_icons_orb_sheet, gFile_graphics_items_icon_palettes_red_orb_palette}, + {gFile_graphics_items_icons_orb_sheet, gFile_graphics_items_icon_palettes_blue_orb_palette}, + {gFile_graphics_items_icons_scanner_sheet, gFile_graphics_items_icon_palettes_scanner_palette}, + {gFile_graphics_items_icons_go_goggles_sheet, gFile_graphics_items_icon_palettes_go_goggles_palette}, + {gFile_graphics_items_icons_meteorite_sheet, gFile_graphics_items_icon_palettes_meteorite_palette}, + {gFile_graphics_items_icons_room1_key_sheet, gFile_graphics_items_icon_palettes_key_palette}, + {gFile_graphics_items_icons_room2_key_sheet, gFile_graphics_items_icon_palettes_key_palette}, + {gFile_graphics_items_icons_room4_key_sheet, gFile_graphics_items_icon_palettes_key_palette}, + {gFile_graphics_items_icons_room6_key_sheet, gFile_graphics_items_icon_palettes_key_palette}, + {gFile_graphics_items_icons_storage_key_sheet, gFile_graphics_items_icon_palettes_old_key_palette}, + {gFile_graphics_items_icons_root_fossil_sheet, gFile_graphics_items_icon_palettes_hoenn_fossil_palette}, + {gFile_graphics_items_icons_claw_fossil_sheet, gFile_graphics_items_icon_palettes_hoenn_fossil_palette}, + {gFile_graphics_items_icons_devon_scope_sheet, gFile_graphics_items_icon_palettes_devon_scope_palette}, + {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_fighting_tm_hm_palette}, + {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_dragon_tm_hm_palette}, + {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_water_tm_hm_palette}, + {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_psychic_tm_hm_palette}, + {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette}, + {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_poison_tm_hm_palette}, + {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_ice_tm_hm_palette}, + {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_fighting_tm_hm_palette}, + {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_grass_tm_hm_palette}, + {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette}, + {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_fire_tm_hm_palette}, + {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_dark_tm_hm_palette}, + {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_ice_tm_hm_palette}, + {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_ice_tm_hm_palette}, + {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette}, + {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_psychic_tm_hm_palette}, + {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette}, + {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_water_tm_hm_palette}, + {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_grass_tm_hm_palette}, + {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette}, + {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette}, + {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_grass_tm_hm_palette}, + {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_steel_tm_hm_palette}, + {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_electric_tm_hm_palette}, + {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_electric_tm_hm_palette}, + {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_ground_tm_hm_palette}, + {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette}, + {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_ground_tm_hm_palette}, + {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_psychic_tm_hm_palette}, + {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_ghost_tm_hm_palette}, + {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_fighting_tm_hm_palette}, + {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette}, + {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_psychic_tm_hm_palette}, + {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_electric_tm_hm_palette}, + {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_fire_tm_hm_palette}, + {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_poison_tm_hm_palette}, + {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_rock_tm_hm_palette}, + {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_fire_tm_hm_palette}, + {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_rock_tm_hm_palette}, + {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_flying_tm_hm_palette}, + {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_dark_tm_hm_palette}, + {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette}, + {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette}, + {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_psychic_tm_hm_palette}, + {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette}, + {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_dark_tm_hm_palette}, + {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_steel_tm_hm_palette}, + {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_psychic_tm_hm_palette}, + {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_dark_tm_hm_palette}, + {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_fire_tm_hm_palette}, + {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette}, + {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_flying_tm_hm_palette}, + {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_water_tm_hm_palette}, + {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette}, + {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette}, + {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_fighting_tm_hm_palette}, + {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_water_tm_hm_palette}, + {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_water_tm_hm_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + {gFile_graphics_items_icons_oaks_parcel_sheet, gFile_graphics_items_icon_palettes_oaks_parcel_palette}, + {gFile_graphics_items_icons_poke_flute_sheet, gFile_graphics_items_icon_palettes_poke_flute_palette}, + {gFile_graphics_items_icons_secret_key_sheet, gFile_graphics_items_icon_palettes_secret_key_palette}, + {gFile_graphics_items_icons_bike_voucher_sheet, gFile_graphics_items_icon_palettes_bike_voucher_palette}, + {gFile_graphics_items_icons_gold_teeth_sheet, gFile_graphics_items_icon_palettes_gold_teeth_palette}, + {gFile_graphics_items_icons_old_amber_sheet, gFile_graphics_items_icon_palettes_old_amber_palette}, + {gFile_graphics_items_icons_card_key_sheet, gFile_graphics_items_icon_palettes_card_key_palette}, + {gFile_graphics_items_icons_lift_key_sheet, gFile_graphics_items_icon_palettes_key_palette}, + {gFile_graphics_items_icons_helix_fossil_sheet, gFile_graphics_items_icon_palettes_kanto_fossil_palette}, + {gFile_graphics_items_icons_dome_fossil_sheet, gFile_graphics_items_icon_palettes_kanto_fossil_palette}, + {gFile_graphics_items_icons_silph_scope_sheet, gFile_graphics_items_icon_palettes_silph_scope_palette}, + {gFile_graphics_items_icons_bicycle_sheet, gFile_graphics_items_icon_palettes_bicycle_palette}, + {gFile_graphics_items_icons_town_map_sheet, gFile_graphics_items_icon_palettes_town_map_palette}, + {gFile_graphics_items_icons_vs_seeker_sheet, gFile_graphics_items_icon_palettes_vs_seeker_palette}, + {gFile_graphics_items_icons_fame_checker_sheet, gFile_graphics_items_icon_palettes_fame_checker_palette}, + {gFile_graphics_items_icons_tm_case_sheet, gFile_graphics_items_icon_palettes_tm_case_palette}, + {gFile_graphics_items_icons_berry_pouch_sheet, gFile_graphics_items_icon_palettes_berry_pouch_palette}, + {gFile_graphics_items_icons_teachy_tv_sheet, gFile_graphics_items_icon_palettes_teachy_tv_palette}, + {gFile_graphics_items_icons_tri_pass_sheet, gFile_graphics_items_icon_palettes_tri_pass_palette}, + {gFile_graphics_items_icons_rainbow_pass_sheet, gFile_graphics_items_icon_palettes_rainbow_pass_palette}, + {gFile_graphics_items_icons_tea_sheet, gFile_graphics_items_icon_palettes_tea_palette}, + {gFile_graphics_items_icons_mystic_ticket_sheet, gFile_graphics_items_icon_palettes_mystic_ticket_palette}, + {gFile_graphics_items_icons_aurora_ticket_sheet, gFile_graphics_items_icon_palettes_aurora_ticket_palette}, + {gFile_graphics_items_icons_powder_jar_sheet, gFile_graphics_items_icon_palettes_powder_jar_palette}, + {gFile_graphics_items_icons_gem_sheet, gFile_graphics_items_icon_palettes_ruby_palette}, + {gFile_graphics_items_icons_gem_sheet, gFile_graphics_items_icon_palettes_sapphire_palette}, + {gFile_graphics_items_icons_return_to_field_arrow_sheet, gFile_graphics_items_icon_palettes_return_to_field_arrow_palette} +}; + +void ResetItemMenuIconState(void) +{ + u16 i; + + for (i = 0; i < NELEMS(gUnknown_2039878); i++) + gUnknown_2039878[i] = 0xFF; +} + +void sub_80984FC(u8 animNum) +{ + gUnknown_2039878[0] = CreateSprite(&gUnknown_83D41FC, 40, 68, 0); + sub_8098528(animNum); +} + +void sub_8098528(u8 animNum) +{ + struct Sprite * sprite = &gSprites[gUnknown_2039878[0]]; + sprite->pos2.y = -5; + sprite->callback = sub_8098560; + StartSpriteAnim(sprite, animNum); +} + +static void sub_8098560(struct Sprite * sprite) +{ + if (sprite->pos2.y != 0) + sprite->pos2.y++; + else + sprite->callback = SpriteCallbackDummy; +} + +void sub_8098580(void) +{ + struct Sprite * sprite = &gSprites[gUnknown_2039878[0]]; + if (sprite->affineAnimEnded) + { + StartSpriteAffineAnim(sprite, 1); + sprite->callback = sub_80985BC; + } +} + +static void sub_80985BC(struct Sprite * sprite) +{ + if (sprite->affineAnimEnded) + { + StartSpriteAffineAnim(sprite, 0); + sprite->callback = SpriteCallbackDummy; + } +} + +void sub_80985E4(void) +{ + u8 i; + u8 * ptr = &gUnknown_2039878[1]; + + for (i = 0; i < 9; i++) + { + ptr[i] = CreateSprite(&gUnknown_83D4250, i * 16 + 0x60, 7, 0); + if (i != 0) + { + if (i == 8) + StartSpriteAnim(&gSprites[ptr[i]], 2); + else + StartSpriteAnim(&gSprites[ptr[i]], 1); + } + gSprites[ptr[i]].invisible = TRUE; + } +} + +void sub_8098660(u8 flag) +{ + u8 i; + u8 * ptr = &gUnknown_2039878[1]; + + for (i = 0; i < 9; i++) + { + gSprites[ptr[i]].invisible = flag; + } +} + +void sub_80986A8(s16 x, u16 y) +{ + u8 i; + u8 * ptr = &gUnknown_2039878[1]; + + for (i = 0; i < 9; i++) + { + gSprites[ptr[i]].pos2.x = x; + gSprites[ptr[i]].pos1.y = y + 7; + } +} + +static bool8 sub_80986EC(void) +{ + void ** ptr1, ** ptr2; + + ptr1 = &gUnknown_2039884; + *ptr1 = Alloc(0x120); + if (*ptr1 == NULL) + return FALSE; + ptr2 = &gUnknown_2039888; + *ptr2 = AllocZeroed(0x200); + if (*ptr2 == NULL) + { + Free(*ptr1); + return FALSE; + } + return TRUE; +} + +void CopyItemIconPicTo4x4Buffer(const void * src, void * dest) +{ + u8 i; + + for (i = 0; i < 3; i++) + { + CpuCopy16(src + 0x60 * i, dest + 0x80 * i, 0x60); + } +} + +u8 AddItemIconObject(u16 tilesTag, u16 paletteTag, u16 itemId) +{ + struct SpriteTemplate template; + struct SpriteSheet spriteSheet; + struct CompressedSpritePalette spritePalette; + u8 spriteId; + + if (!sub_80986EC()) + return MAX_SPRITES; + + LZDecompressWram(sub_8098974(itemId, 0), gUnknown_2039884); + CopyItemIconPicTo4x4Buffer(gUnknown_2039884, gUnknown_2039888); + spriteSheet.data = gUnknown_2039888; + spriteSheet.size = 0x200; + spriteSheet.tag = tilesTag; + LoadSpriteSheet(&spriteSheet); + + spritePalette.data = sub_8098974(itemId, 1); + spritePalette.tag = paletteTag; + LoadCompressedObjectPalette(&spritePalette); + + CpuCopy16(&gUnknown_83D427C, &template, sizeof(struct SpriteTemplate)); + template.tileTag = tilesTag; + template.paletteTag = paletteTag; + spriteId = CreateSprite(&template, 0, 0, 0); + + Free(gUnknown_2039884); + Free(gUnknown_2039888); + return spriteId; +} + +u8 AddItemIconObjectWithCustomObjectTemplate(const struct SpriteTemplate * origTemplate, u16 tilesTag, u16 paletteTag, u16 itemId) +{ + struct SpriteTemplate template; + struct SpriteSheet spriteSheet; + struct CompressedSpritePalette spritePalette; + u8 spriteId; + + if (!sub_80986EC()) + return MAX_SPRITES; + + LZDecompressWram(sub_8098974(itemId, 0), gUnknown_2039884); + CopyItemIconPicTo4x4Buffer(gUnknown_2039884, gUnknown_2039888); + spriteSheet.data = gUnknown_2039888; + spriteSheet.size = 0x200; + spriteSheet.tag = tilesTag; + LoadSpriteSheet(&spriteSheet); + + spritePalette.data = sub_8098974(itemId, 1); + spritePalette.tag = paletteTag; + LoadCompressedObjectPalette(&spritePalette); + + CpuCopy16(origTemplate, &template, sizeof(struct SpriteTemplate)); + template.tileTag = tilesTag; + template.paletteTag = paletteTag; + spriteId = CreateSprite(&template, 0, 0, 0); + + Free(gUnknown_2039884); + Free(gUnknown_2039888); + return spriteId; +} + +void CreateItemMenuIcon(u16 itemId, u8 idx) +{ + u8 * ptr = &gUnknown_2039878[10]; + u8 spriteId; + + if (ptr[idx] == 0xFF) + { + FreeSpriteTilesByTag(102 + idx); + FreeSpritePaletteByTag(102 + idx); + spriteId = AddItemIconObject(102 + idx, 102 + idx, itemId); + if (spriteId != MAX_SPRITES) + { + ptr[idx] = spriteId; + gSprites[spriteId].pos2.x = 24; + gSprites[spriteId].pos2.y = 140; + } + } +} + +void DestroyItemMenuIcon(u8 idx) +{ + u8 * ptr = &gUnknown_2039878[10]; + + if (ptr[idx] != 0xFF) + { + DestroySpriteAndFreeResources(&gSprites[ptr[idx]]); + ptr[idx] = 0xFF; + } +} + +const void * sub_8098974(u16 itemId, u8 attrId) +{ + if (itemId > ITEM_N_A) + itemId = ITEM_NONE; + return gUnknown_83D4294[itemId][attrId]; +} + +void sub_80989A0(u16 itemId, u8 idx) +{ + u8 * ptr = &gUnknown_2039878[10]; + u8 spriteId; + + if (ptr[idx] == 0xFF) + { + FreeSpriteTilesByTag(102 + idx); + FreeSpritePaletteByTag(102 + idx); + spriteId = AddItemIconObject(102 + idx, 102 + idx, itemId); + if (spriteId != MAX_SPRITES) + { + ptr[idx] = spriteId; + gSprites[spriteId].pos2.x = 24; + gSprites[spriteId].pos2.y = 147; + } + } +} diff --git a/sym_ewram.txt b/sym_ewram.txt index 058e3aa03..197ffc157 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -922,20 +922,8 @@ gUnknown_2039870: @ 2039870 gUnknown_2039874: @ 2039874 .space 0x4 -gUnknown_2039878: @ 2039878 - .space 0x1 - -gUnknown_2039879: @ 2039879 - .space 0x9 - -gUnknown_2039882: @ 2039882 - .space 0x2 - -gUnknown_2039884: @ 2039884 - .space 0x4 - -gUnknown_2039888: @ 2039888 - .space 0x4 + .align 2 + .include "src/item_menu_icons.o" gBagPockets: @ 203988C .space 0x28 -- cgit v1.2.3 From caa193364bf786cb567ed16eb4670ed2cc4cb362 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 18 Jun 2019 21:00:48 -0400 Subject: Split out strings.s --- data/data_83FECCC.s | 2098 +----------------------------------------------- data/strings.s | 2191 +++++++++++++++++++++++++++++++++++++++++++++++++++ ld_script.txt | 2 + 3 files changed, 2195 insertions(+), 2096 deletions(-) create mode 100644 data/strings.s diff --git a/data/data_83FECCC.s b/data/data_83FECCC.s index 17e17c77a..1a1ab6d0a 100644 --- a/data/data_83FECCC.s +++ b/data/data_83FECCC.s @@ -520,2103 +520,8 @@ gUnknown_8415A10:: @ 8415A10 .incbin "baserom.gba", 0x415A10, 0x10 @ strings -gExpandedPlaceholder_Empty:: @ 8415A20 - .incbin "baserom.gba", 0x415A20, 0x1 - -gExpandedPlaceholder_Kun:: @ 8415A21 - .incbin "baserom.gba", 0x415A21, 0x1 - -gExpandedPlaceholder_Chan:: @ 8415A22 - .incbin "baserom.gba", 0x415A22, 0xA - -gExpandedPlaceholder_Ruby:: @ 8415A2C - .incbin "baserom.gba", 0x415A2C, 0x5 - -gExpandedPlaceholder_Aqua:: @ 8415A31 - .incbin "baserom.gba", 0x415A31, 0x5 - -gExpandedPlaceholder_Magma:: @ 8415A36 - .incbin "baserom.gba", 0x415A36, 0x6 - -gExpandedPlaceholder_Archie:: @ 8415A3C - .incbin "baserom.gba", 0x415A3C, 0x7 - -gExpandedPlaceholder_Maxie:: @ 8415A43 - .incbin "baserom.gba", 0x415A43, 0x6 - -gExpandedPlaceholder_Kyogre:: @ 8415A49 - .incbin "baserom.gba", 0x415A49, 0x7 - -gExpandedPlaceholder_Groudon:: @ 8415A50 - .incbin "baserom.gba", 0x415A50, 0x8 - -gExpandedPlaceholder_Red:: @ 8415A58 - .incbin "baserom.gba", 0x415A58, 0x4 - -gExpandedPlaceholder_Green:: @ 8415A5C - .incbin "baserom.gba", 0x415A5C, 0x6 - -gText_EggNickname:: @ 8415A62 - .incbin "baserom.gba", 0x415A62, 0x4 - -gText_Pokemon:: @ 8415A66 - .incbin "baserom.gba", 0x415A66, 0x8 - -gUnknown_8415A6E:: @ 8415A6E - .incbin "baserom.gba", 0x415A6E, 0x9 - -gUnknown_8415A77:: @ 8415A77 - .incbin "baserom.gba", 0x415A77, 0x20 - -gUnknown_8415A97:: @ 8415A97 - .incbin "baserom.gba", 0x415A97, 0xD - -gUnknown_8415AA4:: @ 8415AA4 - .incbin "baserom.gba", 0x415AA4, 0x27 - -gUnknown_8415ACB:: @ 8415ACB - .incbin "baserom.gba", 0x415ACB, 0x134 - -gUnknown_8415BFF:: @ 8415BFF - .incbin "baserom.gba", 0x415BFF, 0x43 - -gUnknown_8415C42:: @ 8415C42 - .incbin "baserom.gba", 0x415C42, 0x22 - -gUnknown_8415C64:: @ 8415C64 - .incbin "baserom.gba", 0x415C64, 0x84 - -gUnknown_8415CE8:: @ 8415CE8 - .incbin "baserom.gba", 0x415CE8, 0x44 - -gText_Controls:: @ 8415D2C - .string "CONTROLS$" - - .align 2 -gUnknown_8415D38:: @ 8415D2C - .string "{KEYGFX_DPAD_UP_DOWN}えらぶ {KEYGFX_A_BUTTON}けってい$" - - .align 2 -gText_ABUTTONNext:: @ 8415D48 - .string "{KEYGFX_A_BUTTON}NEXT$" - - .align 2 -gText_ABUTTONNext_BBUTTONBack:: @ 8415D50 - .string "{KEYGFX_A_BUTTON}NEXT {KEYGFX_B_BUTTON}BACK$" - - .align 2 -gText_UPDOWNPick_ABUTTONNext_BBUTTONBack:: @ 8415D60 - .string "{KEYGFX_DPAD_UP_DOWN}PICK {KEYGFX_A_BUTTON}NEXT {KEYGFX_B_BUTTON}CANCEL$" - - .align 2 -gText_UPDOWNPick_ABUTTONBBUTTONCancel:: @ 8415D78 - .string "{KEYGFX_DPAD_UP_DOWN}PICK {KEYGFX_A_BUTTON}{KEYGFX_B_BUTTON}CANCEL$" - - .align 2 -gText_ABUTTONExit:: @ 8415D8C - .string "{KEYGFX_A_BUTTON}EXIT$" - -gText_Boy:: @ 8415D93 - .string "BOY$" - -gText_Girl:: @ 8415D97 - .string "GIRL$" - -gUnknown_8415D9C:: @ 8415D9C - .incbin "baserom.gba", 0x415D9C, 0x1C - -gUnknown_8415DB8:: @ 8415DB8 - .incbin "baserom.gba", 0x415DB8, 0xC - -gUnknown_8415DC4:: @ 8415DC4 - .incbin "baserom.gba", 0x415DC4, 0x6 - -gUnknown_8415DCA:: @ 8415DCA - .incbin "baserom.gba", 0x415DCA, 0x7 - -gUnknown_8415DD1:: @ 8415DD1 - .incbin "baserom.gba", 0x415DD1, 0x6 - -gUnknown_8415DD7:: @ 8415DD7 - .incbin "baserom.gba", 0x415DD7, 0x166 - -gUnknown_8415F3D:: @ 8415F3D - .incbin "baserom.gba", 0x415F3D, 0xD - -gUnknown_8415F4A:: @ 8415F4A - .incbin "baserom.gba", 0x415F4A, 0x7 - -gText_PickOKExit:: @ 8415F51 - .incbin "baserom.gba", 0x415F51, 0x15 - -gUnknown_8415F66:: @ 8415F66 - .incbin "baserom.gba", 0x415F66, 0x6 - -gUnknown_8415F6C:: @ 8415F6C - .incbin "baserom.gba", 0x415F6C, 0x23 - -gUnknown_8415F8F:: @ 8415F8F - .incbin "baserom.gba", 0x415F8F, 0x9 - -gUnknown_8415F98:: @ 8415F98 - .incbin "baserom.gba", 0x415F98, 0x3 - -gUnknown_8415F9B:: @ 8415F9B - .incbin "baserom.gba", 0x415F9B, 0x5 - -gUnknown_8415FA0:: @ 8415FA0 - .incbin "baserom.gba", 0x415FA0, 0xD - -gUnknown_8415FAD:: @ 8415FAD - .incbin "baserom.gba", 0x415FAD, 0x6 - -gUnknown_8415FB3:: @ 8415FB3 - .incbin "baserom.gba", 0x415FB3, 0x15 - -gUnknown_8415FC8:: @ 8415FC8 - .incbin "baserom.gba", 0x415FC8, 0x7 - -gUnknown_8415FCF:: @ 8415FCF - .incbin "baserom.gba", 0x415FCF, 0x19 - -gUnknown_8415FE8:: @ 8415FE8 - .incbin "baserom.gba", 0x415FE8, 0x5 - -gUnknown_8415FED:: @ 8415FED - .incbin "baserom.gba", 0x415FED, 0x5 - -gUnknown_8415FF2:: @ 8415FF2 - .incbin "baserom.gba", 0x415FF2, 0xD - -gUnknown_8415FFF:: @ 8415FFF - .incbin "baserom.gba", 0x415FFF, 0x3 - -gUnknown_8416002:: @ 8416002 - .incbin "baserom.gba", 0x416002, 0x6 - -gUnknown_8416008:: @ 8416008 - .incbin "baserom.gba", 0x416008, 0x88 - -gUnknown_8416090:: @ 8416090 - .incbin "baserom.gba", 0x416090, 0x24 - -gUnknown_84160B4:: @ 84160B4 - .incbin "baserom.gba", 0x4160B4, 0x14 - -gUnknown_84160C8:: @ 84160C8 - .incbin "baserom.gba", 0x4160C8, 0x24 - -gUnknown_84160EC:: @ 84160EC - .incbin "baserom.gba", 0x4160EC, 0x8 - -gUnknown_84160F4:: @ 84160F4 - .incbin "baserom.gba", 0x4160F4, 0x8 - -gUnknown_84160FC:: @ 84160FC - .incbin "baserom.gba", 0x4160FC, 0x8 - -gUnknown_8416104:: @ 8416104 - .incbin "baserom.gba", 0x416104, 0x47 - -gUnknown_841614B:: @ 841614B - .incbin "baserom.gba", 0x41614B, 0x2F - -gUnknown_841617A:: @ 841617A - .incbin "baserom.gba", 0x41617A, 0x7 - -gUnknown_8416181:: @ 8416181 - .incbin "baserom.gba", 0x416181, 0x7 - -gUnknown_8416188:: @ 8416188 - .incbin "baserom.gba", 0x416188, 0x8 - -gUnknown_8416190:: @ 8416190 - .string "TIME$" - -gUnknown_8416195:: - .string "どこへ とびますか?$" - -gOtherText_Use:: - .string "USE$" - -gUnknown_84161A4:: - .string "TOSS$" - -gUnknown_84161A9:: - .string "REGISTER$" - -gOtherText_Give:: - .string "GIVE$" - -gUnknown_84161B7:: - .string "けってい$" - -gUnknown_84161BC:: - .string "WALK$" - -gFameCheckerText_Cancel:: @ 84161C1 - .string "CANCEL$" - -gOtherText_Exit:: @ 84161C8 - .string "EXIT$" - -gUnknown_84161CD:: @ 84161CD - .string "$" - -gUnknown_84161CE:: - .string "キャンセル$" - -gUnknown_84161D4:: - .string "ITEM$" - -gUnknown_84161D9:: - .string "MAIL$" - -gUnknown_84161DE:: - .string "TAKE$" - -gUnknown_84161E3:: - .string "STORE$" - -gUnknown_84161E9:: - .string "CHECK$" - -gUnknown_84161EF:: @ 84161EF - .string "NONE$" - -gUnknown_84161F4:: - .string "OPEN$" - -gUnknown_84161F9:: - .string "DESELECT$" - -gUnknown_8416202:: @ 8416202 - .string "???$" - -gUnknown_8416206:: - .string "?????$" - -gUnknown_841620C:: @ 841620C - .string "/$" - -gUnknown_841620E:: @ 841620E - .string "-$" - -gUnknown_8416210:: @ 8416210 - .string "--$" - -gText_ThreeHyphens:: @ 8416213 - .string "---$" - -gUnknown_8416217:: @ 8416217 - .string "-------$" - -gUnknown_841621F:: @ 841621F - .string "♂$" - -gUnknown_8416221:: @ 8416221 - .string "♀$" - -gText_Lv:: @ 8416223 - .string "{EXTRA_LV}$" - -gOtherText_UnkF9_08_Clear_01:: @ 8416226 - .string "{EXTRA_NO}{CLEAR 0x01}$" - -gUnknown_841622C:: - .string "{EXTRA_PLUS}$" - -gUnknown_841622F:: - .string "{ESCAPE 0x03}$" - -gUnknown_8416233:: - .string "{EXTRA_ID}{EXTRA_NO}$" - -gUnknown_8416238:: @ 8416238 - .string "{EXTRA_PP}$" - -gFameCheckerText_ListMenuCursor:: @ 841623B - .string "▶$" - -gUnknown_841623D:: @ 841623D - .string "YES\n" - .string "NO$" - -gUnknown_8416244:: - .string "Go back to the\n" - .string "previous menu.$" - -gUnknown_8416262:: @ 8416262 - .string "What would you like to do?$" - -gUnknown_841627D:: - .string "POKéDEX$" - -gUnknown_8416285:: @ 8416285 - .string "BAG$" - -gUnknown_8416289:: - .string "ポケナビ$" - -gUnknown_841628E:: - .string "{PLAYER}$" - -gUnknown_8416291:: - .string "SAVE$" - -gUnknown_8416296:: - .string "OPTION$" - -gUnknown_841629D:: - .string "EXIT$" - -gUnknown_84162A2:: - .string "RETIRE$" - -gUnknown_84162A9:: @ 84162A9 - .string "{STR_VAR_1}/{STR_VAR_2}\n" - .string "BALLS {STR_VAR_3}$" - -gText_TimesStrVar1:: @ 84162B9 - .string "×{STR_VAR_1}$" - -gUnknown_84162BD:: @ 84162BD - .string " BERRY$" - -gText_Coins:: @ 84162C4 - .incbin "baserom.gba", 0x4162C4, 0x24 - -gText_DepositItem:: @ 84162E8 - .string "DEPOSIT ITEM$" - -gUnknown_84162F5:: @ 84162F5 - .incbin "baserom.gba", 0x4162F5, 0xA - -gOtherText_StrVar1:: @ 84162FF - .string "{STR_VAR_1}" - -gText_IsSelected:: @ 8416301 - .string " is\n" - .string "selected.$" - -gUnknown_841630F:: @ 841630F - .incbin "baserom.gba", 0x41630F, 0x1B - -gText_ThereIsNoPokemon:: @ 841632A - .string "There is no\n" - .string "POKéMON.$" - -gOtherText_WhereShouldTheStrVar1BePlaced:: @ 841633F - .string "Where should the {STR_VAR_1}\n" - .string "be placed?$" - -gText_ItemCantBeHeld:: @ 841635E - .string "The {STR_VAR_1} can't be held.$" - -gUnknown_8416374:: @ 8416374 - .incbin "baserom.gba", 0x416374, 0x1B - -gUnknown_841638F:: @ 841638F - .incbin "baserom.gba", 0x41638F, 0x18 - -gUnknown_84163A7:: @ 84163A7 - .incbin "baserom.gba", 0x4163A7, 0x14 - -gUnknown_84163BB:: @ 84163BB - .incbin "baserom.gba", 0x4163BB, 0x20 - -gUnknown_84163DB:: @ 84163DB - .incbin "baserom.gba", 0x4163DB, 0x19 - -gUnknown_84163F4:: @ 84163F4 - .incbin "baserom.gba", 0x4163F4, 0x15 - -gUnknown_8416409:: @ 8416409 - .incbin "baserom.gba", 0x416409, 0x1C - -gUnknown_8416425:: @ 8416425 - .incbin "baserom.gba", 0x416425, 0x2C - -gUnknown_8416451:: @ 8416451 - .incbin "baserom.gba", 0x416451, 0x25 - -gUnknown_8416476:: @ 8416476 - .incbin "baserom.gba", 0x416476, 0x48 - -gUnknown_84164BE:: @ 84164BE - .incbin "baserom.gba", 0x4164BE, 0x55 - -gUnknown_8416513:: @ 8416513 - .incbin "baserom.gba", 0x416513, 0x24 - -gUnknown_8416537:: @ 8416537 - .incbin "baserom.gba", 0x416537, 0x55 - -gUnknown_841658C:: @ 841658C - .incbin "baserom.gba", 0x41658C, 0x12 - -gUnknown_841659E:: @ 841659E - .incbin "baserom.gba", 0x41659E, 0x34 - -gUnknown_84165D2:: @ 84165D2 - .incbin "baserom.gba", 0x4165D2, 0x2E - -gUnknown_8416600:: @ 8416600 - .incbin "baserom.gba", 0x416600, 0x31 - -gUnknown_8416631:: @ 8416631 - .incbin "baserom.gba", 0x416631, 0x13 - -gUnknown_8416644:: @ 8416644 - .incbin "baserom.gba", 0x416644, 0x11 - -gOtherText_Powder:: @ 8416655 - .string "POWDER$" - -gUnknown_841665C:: @ 841665C - .string "Played the POKé FLUTE.\p" - .string "Now, that's a catchy tune!{PAUSE_UNTIL_PRESS}$" - -gUnknown_8416690:: @ 8416690 - .string "Played the POKé FLUTE.$" - -gUnknown_84166A7:: @ 84166A7 - .string "The POKé FLUTE awakened sleeping\n" - .string "POKéMON.{PAUSE_UNTIL_PRESS}$" - -gText_TMCase:: @ 84166D3 - .string "TM CASE$" - -gText_Close:: @ 84166DB - .string "CLOSE$" - -gText_TMCaseWillBePutAway:: @ 84166E1 - .string "The TM CASE will be\n" - .string "put away.$" - -gText_FontSize0:: @ 84166FF - .string "{SIZE 0}$" - -gText_FontSize2:: @ 8416703 - .string "{SIZE 2}$" - -gUnknown_8416707:: @ 8416707 - .string " $" - -gUnknown_841670A:: @ 841670A - .incbin "baserom.gba", 0x41670A, 0xC - -gUnknown_8416716:: @ 8416716 - .incbin "baserom.gba", 0x416716, 0x33 - -gUnknown_8416749:: @ 8416749 - .incbin "baserom.gba", 0x416749, 0xE - -gUnknown_8416757:: @ 8416757 - .incbin "baserom.gba", 0x416757, 0xF - -gUnknown_8416766:: @ 8416766 - .incbin "baserom.gba", 0x416766, 0x28 - -gUnknown_841678E:: @ 841678E - .incbin "baserom.gba", 0x41678E, 0x59 - -gUnknown_84167E7:: @ 84167E7 - .incbin "baserom.gba", 0x4167E7, 0x5B - -gUnknown_8416842:: @ 8416842 - .incbin "baserom.gba", 0x416842, 0x1F - -gUnknown_8416861:: @ 8416861 - .incbin "baserom.gba", 0x416861, 0x3D - -gUnknown_841689E:: @ 841689E - .incbin "baserom.gba", 0x41689E, 0x53 - -gText_OhNoICantBuyThat:: @ 84168F1 - .string "{STR_VAR_1}? Oh, no.\n" - .string "I can't buy that.{PAUSE_UNTIL_PRESS}$" - -gText_HowManyWouldYouLikeToSell:: @ 8416911 - .string "{STR_VAR_1}?\n" - .string "How many would you like to sell?$" - -gText_ICanPayThisMuch_WouldThatBeOkay:: @ 8416936 - .string "I can pay ¥{STR_VAR_3}.\n" - .string "Would that be okay?$" - -gText_TurnedOverItemsWorthYen:: @ 8416959 - .incbin "baserom.gba", 0x416959, 0x21 - -gText_PokedollarVar1:: @ 841697A - .incbin "baserom.gba", 0x41697A, 0x48 - -gUnknown_84169C2:: @ 84169C2 - .incbin "baserom.gba", 0x4169C2, 0x3 - -gUnknown_84169C5:: @ 84169C5 - .incbin "baserom.gba", 0x4169C5, 0x8 - -gUnknown_84169CD:: @ 84169CD - .incbin "baserom.gba", 0x4169CD, 0x8 - -gUnknown_84169D5:: @ 84169D5 - .incbin "baserom.gba", 0x4169D5, 0x4 - -gUnknown_84169D9:: @ 84169D9 - .incbin "baserom.gba", 0x4169D9, 0x3 - -gUnknown_84169DC:: @ 84169DC - .incbin "baserom.gba", 0x4169DC, 0x1C - -gUnknown_84169F8:: @ 84169F8 - .string "This can't be used on\n" - .string "that POKéMON.{PAUSE_UNTIL_PRESS}$" - -gUnknown_8416A1E:: @ 8416A1E - .incbin "baserom.gba", 0x416A1E, 0x1C - -gUnknown_8416A3A:: @ 8416A3A - .incbin "baserom.gba", 0x416A3A, 0x1B - -gUnknown_8416A55:: @ 8416A55 - .incbin "baserom.gba", 0x416A55, 0x20 - -gUnknown_8416A75:: @ 8416A75 - .incbin "baserom.gba", 0x416A75, 0x23 - -gUnknown_8416A98:: @ 8416A98 - .incbin "baserom.gba", 0x416A98, 0x33 - -gUnknown_8416ACB:: @ 8416ACB - .incbin "baserom.gba", 0x416ACB, 0x17 - -gUnknown_8416AE2:: @ 8416AE2 - .incbin "baserom.gba", 0x416AE2, 0x34 - -gUnknown_8416B16:: @ 8416B16 - .incbin "baserom.gba", 0x416B16, 0x28 - -gUnknown_8416B3E:: @ 8416B3E - .incbin "baserom.gba", 0x416B3E, 0x26 - -gUnknown_8416B64:: @ 8416B64 - .incbin "baserom.gba", 0x416B64, 0x22 - -gUnknown_8416B86:: @ 8416B86 - .incbin "baserom.gba", 0x416B86, 0x20 - -gUnknown_8416BA6:: @ 8416BA6 - .incbin "baserom.gba", 0x416BA6, 0x1D - -gUnknown_8416BC3:: @ 8416BC3 - .incbin "baserom.gba", 0x416BC3, 0x38 - -gUnknown_8416BFB:: @ 8416BFB - .incbin "baserom.gba", 0x416BFB, 0x2F - -gUnknown_8416C2A:: @ 8416C2A - .incbin "baserom.gba", 0x416C2A, 0x1F - -gUnknown_8416C49:: @ 8416C49 - .incbin "baserom.gba", 0x416C49, 0x46 - -gUnknown_8416C8F:: @ 8416C8F - .incbin "baserom.gba", 0x416C8F, 0x1D - -gUnknown_8416CAC:: @ 8416CAC - .incbin "baserom.gba", 0x416CAC, 0x1B - -gUnknown_8416CC7:: @ 8416CC7 - .incbin "baserom.gba", 0x416CC7, 0x23 - -gUnknown_8416CEA:: @ 8416CEA - .incbin "baserom.gba", 0x416CEA, 0x2D - -gUnknown_8416D17:: @ 8416D17 - .incbin "baserom.gba", 0x416D17, 0x38 - -gUnknown_8416D4F:: @ 8416D4F - .incbin "baserom.gba", 0x416D4F, 0x29 - -gUnknown_8416D78:: @ 8416D78 - .incbin "baserom.gba", 0x416D78, 0x3B - -gUnknown_8416DB3:: @ 8416DB3 - .incbin "baserom.gba", 0x416DB3, 0xF - -gUnknown_8416DC2:: @ 8416DC2 - .incbin "baserom.gba", 0x416DC2, 0x35 - -gUnknown_8416DF7:: @ 8416DF7 - .incbin "baserom.gba", 0x416DF7, 0x74 - -gUnknown_8416E6B:: @ 8416E6B - .incbin "baserom.gba", 0x416E6B, 0x19 - -gUnknown_8416E84:: @ 8416E84 - .incbin "baserom.gba", 0x416E84, 0x20 - -gUnknown_8416EA4:: @ 8416EA4 - .incbin "baserom.gba", 0x416EA4, 0x22 - -gUnknown_8416EC6:: @ 8416EC6 - .incbin "baserom.gba", 0x416EC6, 0x4A - -gUnknown_8416F10:: @ 8416F10 - .incbin "baserom.gba", 0x416F10, 0x17 - -gUnknown_8416F27:: @ 8416F27 - .string "{STR_VAR_1}'s HP was restored\n" - .string "by {STR_VAR_2} point(s).{PAUSE_UNTIL_PRESS}$" - -gUnknown_8416F4E:: @ 8416F4E - .incbin "baserom.gba", 0x416F4E, 0x21 - -gUnknown_8416F6F:: @ 8416F6F - .incbin "baserom.gba", 0x416F6F, 0x1D - -gUnknown_8416F8C:: @ 8416F8C - .incbin "baserom.gba", 0x416F8C, 0xE - -gUnknown_8416F9A:: @ 8416F9A - .incbin "baserom.gba", 0x416F9A, 0x18 - -gUnknown_8416FB2:: @ 8416FB2 - .incbin "baserom.gba", 0x416FB2, 0x15 - -gUnknown_8416FC7:: @ 8416FC7 - .incbin "baserom.gba", 0x416FC7, 0x26 - -gUnknown_8416FED:: @ 8416FED - .incbin "baserom.gba", 0x416FED, 0x15 - -gUnknown_8417002:: @ 8417002 - .incbin "baserom.gba", 0x417002, 0x15 - -gUnknown_8417017:: @ 8417017 - .incbin "baserom.gba", 0x417017, 0x1B - -gUnknown_8417032:: @ 8417032 - .incbin "baserom.gba", 0x417032, 0x20 - -gUnknown_8417052:: @ 8417052 - .incbin "baserom.gba", 0x417052, 0x23 - -gUnknown_8417075:: @ 8417075 - .incbin "baserom.gba", 0x417075, 0x47 - -gUnknown_84170BC:: @ 84170BC - .incbin "baserom.gba", 0x4170BC, 0x24 - -gUnknown_84170E0:: @ 84170E0 - .incbin "baserom.gba", 0x4170E0, 0x377 - -gUnknown_8417457:: @ 8417457 - .incbin "baserom.gba", 0x417457, 0x3D - -gUnknown_8417494:: @ 8417494 - .incbin "baserom.gba", 0x417494, 0x181 - -gUnknown_8417615:: @ 8417615 - .incbin "baserom.gba", 0x417615, 0x2B - -gUnknown_8417640:: @ 8417640 - .incbin "baserom.gba", 0x417640, 0x34 - -gUnknown_8417674:: @ 8417674 - .incbin "baserom.gba", 0x417674, 0x7 - -gUnknown_841767B:: @ 841767B - .incbin "baserom.gba", 0x41767B, 0x12 - -gUnknown_841768D:: @ 841768D - .incbin "baserom.gba", 0x41768D, 0x9 - -gUnknown_8417696:: @ 8417696 - .incbin "baserom.gba", 0x417696, 0x22 - -gUnknown_84176B8:: @ 84176B8 - .incbin "baserom.gba", 0x4176B8, 0x17 - -gUnknown_84176CF:: @ 84176CF - .incbin "baserom.gba", 0x4176CF, 0x2F - -gUnknown_84176FE:: @ 84176FE - .incbin "baserom.gba", 0x4176FE, 0x76 - -gUnknown_8417774:: @ 8417774 - .incbin "baserom.gba", 0x417774, 0x16 - -gText_NoMoreRoomInBag:: @ 841778A - .string "There is no more\n" - .string "room in the BAG.$" - -gText_WithdrawHowMany:: @ 84177AC - .string "Withdraw how many\n" - .string "{STR_VAR_1}(s)?$" - -gText_WithdrewQuantItem:: @ 84177C5 - .string "Withdrew {STR_VAR_2}\n" - .string "{STR_VAR_1}(s).$" - -gOtherText_Read:: - .string "READ$" - -gOtherText_MoveToBag:: - .string "MOVE TO BAG$" - -gOtherText_Give2:: - .string "GIVE$" - -gUnknown_84177EE:: @ 84177EE - .incbin "baserom.gba", 0x4177EE, 0x18 - -gUnknown_8417806:: @ 8417806 - .incbin "baserom.gba", 0x417806, 0x2A - -gUnknown_8417830:: @ 8417830 - .incbin "baserom.gba", 0x417830, 0x28 - -gUnknown_8417858:: @ 8417858 - .incbin "baserom.gba", 0x417858, 0x13 - -gUnknown_841786B:: @ 841786B - .incbin "baserom.gba", 0x41786B, 0x3C - -gText_WithdrawItem:: @ 84178A7 - .string "WITHDRAW\n" - .string "ITEM$" - -gText_Withdraw:: - .string "WITHDRAW$" - -gText_ReturnToPC:: @ 84178BE - .string "Return to the PC.$" - -gUnknown_84178D0:: @ 84178D0 - .incbin "baserom.gba", 0x4178D0, 0xA - -gUnknown_84178DA:: @ 84178DA - .incbin "baserom.gba", 0x4178DA, 0x5E - -gUnknown_8417938:: @ 8417938 - .incbin "baserom.gba", 0x417938, 0x4 - -gUnknown_841793C:: @ 841793C - .incbin "baserom.gba", 0x41793C, 0x263 - -gUnknown_8417B9F:: @ 8417B9F - .incbin "baserom.gba", 0x417B9F, 0xD - -gUnknown_8417BAC:: @ 8417BAC - .incbin "baserom.gba", 0x417BAC, 0xA - -gUnknown_8417BB6:: @ 8417BB6 - .incbin "baserom.gba", 0x417BB6, 0x8 - -gUnknown_8417BBE:: @ 8417BBE - .incbin "baserom.gba", 0x417BBE, 0xD - -gUnknown_8417BCB:: @ 8417BCB - .incbin "baserom.gba", 0x417BCB, 0x8 - -gUnknown_8417BD3:: @ 8417BD3 - .incbin "baserom.gba", 0x417BD3, 0x5A - -gUnknown_8417C2D:: @ 8417C2D - .incbin "baserom.gba", 0x417C2D, 0x1C0 - -gUnknown_8417DED:: @ 8417DED - .incbin "baserom.gba", 0x417DED, 0x1CC - -gUnknown_8417FB9:: @ 8417FB9 - .incbin "baserom.gba", 0x417FB9, 0x2 - -gUnknown_8417FBB:: @ 8417FBB - .incbin "baserom.gba", 0x417FBB, 0x8 - -gUnknown_8417FC3:: @ 8417FC3 - .incbin "baserom.gba", 0x417FC3, 0x9 - -gUnknown_8417FCC:: @ 8417FCC - .incbin "baserom.gba", 0x417FCC, 0x4 - -gUnknown_8417FD0:: @ 8417FD0 - .incbin "baserom.gba", 0x417FD0, 0xA5 - -gUnknown_8418075:: @ 8418075 - .incbin "baserom.gba", 0x418075, 0xFF - -gUnknown_8418174:: @ 8418174 - .incbin "baserom.gba", 0x418174, 0x14 - -gUnknown_8418188:: @ 8418188 - .incbin "baserom.gba", 0x418188, 0x1C - -gUnknown_84181A4:: @ 84181A4 - .incbin "baserom.gba", 0x4181A4, 0x12 - -gUnknown_84181B6:: @ 84181B6 - .incbin "baserom.gba", 0x4181B6, 0x8 - -gUnknown_84181BE:: @ 84181BE - .incbin "baserom.gba", 0x4181BE, 0x5 - -gFameCheckerText_FameCheckerWillBeClosed:: @ 84181C3 - .string "The FAME CHECKER will be closed.$" - -gFameCheckerText_ClearTextbox:: @ 84181E4 - .string "\n" - .string " $" - -gUnknown_8418204:: @ 8418204 - .incbin "baserom.gba", 0x00418204, 0x48c - -gUnknown_8418690:: @ 8418690 - .incbin "baserom.gba", 0x418690, 0x20 - -gUnknown_84186B0:: @ 84186B0 - .incbin "baserom.gba", 0x4186B0, 0x1D - -gUnknown_84186CD:: @ 84186CD - .incbin "baserom.gba", 0x4186CD, 0x26A - -gUnknown_8418937:: @ 8418937 - .incbin "baserom.gba", 0x418937, 0x1F - -gUnknown_8418956:: @ 8418956 - .incbin "baserom.gba", 0x418956, 0x8A - -gUnknown_84189E0:: @ 84189E0 - .incbin "baserom.gba", 0x4189E0, 0xE - -gUnknown_84189EE:: @ 84189EE - .incbin "baserom.gba", 0x4189EE, 0x22D - -gUnknown_8418C1B:: @ 8418C1B - .string "POKéMON CENTER$" - -gUnknown_8418C2A:: @ 8418C2A - .incbin "baserom.gba", 0x418C2A, 0x59 - -gUnknown_8418C83:: @ 8418C83 - .incbin "baserom.gba", 0x418C83, 0x56 - -gUnknown_8418CD9:: @ 8418CD9 - .string "The backup memory is damaged or\n" - .string "the game's battery has run dry.\n" - .string "The game can be played, but its\n" - .string "progress cannot be saved.\n" - .string "“Please press the A Button.”$" - -gUnknown_8418D70:: @ 8418D70 - .incbin "baserom.gba", 0x418D70, 0x99 - -gUnknown_8418E09:: @ 8418E09 - .incbin "baserom.gba", 0x418E09, 0x6E - -gUnknown_8418E77:: @ 8418E77 - .incbin "baserom.gba", 0x418E77, 0x13 - -gUnknown_8418E8A:: @ 8418E8A - .incbin "baserom.gba", 0x418E8A, 0x1 - -gUnknown_8418E8B:: @ 8418E8B - .incbin "baserom.gba", 0x418E8B, 0x2 - -gUnknown_8418E8D:: @ 8418E8D - .incbin "baserom.gba", 0x418E8D, 0x8 - -gUnknown_8418E95:: @ 8418E95 - .incbin "baserom.gba", 0x418E95, 0x9 - -gUnknown_8418E9E:: @ 8418E9E - .incbin "baserom.gba", 0x418E9E, 0x9 - -gUnknown_8418EA7:: @ 8418EA7 - .incbin "baserom.gba", 0x418EA7, 0x9 - -gUnknown_8418EB0:: @ 8418EB0 - .incbin "baserom.gba", 0x418EB0, 0x5 - -gUnknown_8418EB5:: @ 8418EB5 - .incbin "baserom.gba", 0x418EB5, 0x7 - -gUnknown_8418EBC:: @ 8418EBC - .incbin "baserom.gba", 0x418EBC, 0x7 - -gUnknown_8418EC3:: @ 8418EC3 - .string "No data$" - -gUnknown_8418ECB:: @ 8418ECB - @ Viridian Forest - .string "A deep and sprawling forest that\n" - .string "extends around VIRIDIAN CITY.\n" - .string "A natural maze, many people\n" - .string "become lost inside.$" - -gUnknown_8418F3A:: @ 8418F3A - @ Mt. Moon - .string "A mystical mountain that is known\n" - .string "for its frequent meteor falls.\n" - .string "The shards of stars that fall\n" - .string "here are known as MOON STONES.$" - -gUnknown_8418FB8:: @ 8418FB8 - @ Diglett's Cave - .string "A seemingly plain tunnel that was\n" - .string "dug by wild DIGLETT.\n" - .string "It is famous for connecting\n" - .string "ROUTES 2 and 11.$" - -gUnknown_841901C:: @ 841901C - @ Victory Road - .string "A tunnel situated on ROUTE 23.\n" - .string "It earned its name because it\n" - .string "must be traveled by all TRAINERS\n" - .string "aiming for the top.$" - -gUnknown_841908E:: @ 841908E - @ Pokémon Mansion - .string "A decrepit, burned-down mansion\n" - .string "on CINNABAR ISLAND.\n" - .string "It got its name because a famous\n" - .string "POKéMON researcher lived there.$" - -gUnknown_8419103:: @ 8419103 - @ Safari Zone - .string "An amusement park outside FUCHSIA\n" - .string "CITY where many rare POKéMON can\n" - .string "be observed in the wild.\n" - .string "Catch them in a popular game!$" - -gUnknown_841917D:: @ 841917D - @ Rock Tunnel - .string "A naturally formed underground\n" - .string "tunnel. Because it has not been\n" - .string "developed, it is inky dark inside.\n" - .string "A light is needed to get through.$" - -gUnknown_8419201:: @ 8419201 - @ Seafoam Islands - .string "A pair of islands that is situated\n" - .string "on ROUTE 20.\n" - .string "The two islands are shaped the\n" - .string "same, as if they were twins.$" - -gUnknown_841926D:: @ 841926D - @ Pokémon Tower - .string "A tower that houses the graves of\n" - .string "countless POKéMON.\n" - .string "Many people visit it daily to pay\n" - .string "their respects to the fallen.$" - -gUnknown_84192E2:: @ 84192E2 - @ Cerulean Cave - .string "A mysterious cave that is filled\n" - .string "with terribly tough POKéMON.\n" - .string "It is so dangerous, the POKéMON\n" - .string "LEAGUE is in charge of it.$" - -gUnknown_841935B:: @ 841935B - @ Power Plant - .string "A power plant that was abandoned\n" - .string "years ago, though some of the\n" - .string "machines still work. It is infested\n" - .string "with electric POKéMON.$" - -gUnknown_84193D5:: @ 84193D5 - @ Mt. Ember - .string "Supposedly an inactive volcano.\n" - .string "However, there are persistent\n" - .string "reports that the peak blazes\n" - .string "with fire at night.$" - -gUnknown_8419444:: @ 8419444 - @ Berry Forest - .string "A forest on a small islet off the\n" - .string "coast of THREE ISLAND. BERRIES\n" - .string "grow wildly in profusion, quickly\n" - .string "replenishing those that fall off.$" - -gUnknown_84194C9:: @ 84194C9 - @ Icefall Cave - .string "A cave which is covered by water\n" - .string "and ice on FOUR ISLAND.\n" - .string "It seems like the end of the cave\n" - .string "is connected to the ocean.$" - -gUnknown_841953F:: @ 841953F - @ Lost Cave - .string "A bewildering cave off the coast\n" - .string "of RESORT GORGEOUS.\n" - .string "Some curious thrill seekers have\n" - .string "never emerged from it.$" - -gUnknown_84195AC:: @ 84195AC - @ Tanoby Ruins - .string "An ancient ruin that is rumored to\n" - .string "be home to a peculiar POKéMON.\n" - .string "However, so far, the POKéMON\n" - .string "remains an unconfirmed rumor.$" - -gUnknown_8419629:: @ 8419629 - @ Altering Cave - .string "This island has been known by this\n" - .string "name since the distant past.\n" - .string "No one today knows where it got\n" - .string "this name, however.$" - -gUnknown_841969D:: @ 841969D - @ Pattern Bush - .string "A lush and bush-like area. \n" - .string "In it are patterns where no grass\n" - .string "grows. Some study it in the belief\n" - .string "that a secret is concealed.$" - -gUnknown_841971A:: @ 841971A - @ Dotted Hole - .string "A mysterious, just-discovered\n" - .string "ruin from an ancient time.\n" - .string "It got its name from the six dots\n" - .string "on its door.$" - -gUnknown_8419782:: @ 8419782 - .string "{UNKNOWN_F7 0x00} nature.\n" - .string "Met in a trade.$" - -gUnknown_841979D:: @ 841979D - .string "{UNKNOWN_F7 0x00} nature.\n" - .string "Met in a trade.$" - -gUnknown_84197B8:: @ 84197B8 - .string "{UNKNOWN_F7 0x00} nature.\n" - .string "Met in a fateful encounter when\n" - .string "at {EXTRA_LV} {UNKNOWN_F7 0x01}.$" - -gUnknown_84197ED:: @ 84197ED - .string "{UNKNOWN_F7 0x00} nature.\n" - .string "Met in a fateful encounter when\n" - .string "at {EXTRA_LV} {UNKNOWN_F7 0x01}.$" - -gUnknown_8419822:: @ 8419822 - .string "{UNKNOWN_F7 0x00} nature.\n" - .string "Met in {UNKNOWN_F7 0x02} at {EXTRA_LV} {UNKNOWN_F7 0x01}.$" - -gUnknown_8419841:: @ 8419841 - .string "{UNKNOWN_F7 0x00} nature.\n" - .string "Met in {UNKNOWN_F7 0x02} at {EXTRA_LV} {UNKNOWN_F7 0x01}.$" - -gUnknown_8419860:: @ 8419860 - .string "{UNKNOWN_F7 0x00} nature.\n" - .string "Apparently met in {UNKNOWN_F7 0x02}\n" - .string "at {EXTRA_LV} {UNKNOWN_F7 0x01}.$" - -gUnknown_841988A:: @ 841988A - .string "{UNKNOWN_F7 0x00} nature.\n" - .string "Apparently met in {UNKNOWN_F7 0x02}\n" - .string "at {EXTRA_LV} {UNKNOWN_F7 0x01}.$" - -gUnknown_84198B4:: @ 84198B4 - .string "{UNKNOWN_F7 0x00} nature.\n" - .string "Hatched: {UNKNOWN_F7 0x02}\n" - .string "at {EXTRA_LV} {UNKNOWN_F7 0x01}.$" - -gUnknown_84198D5:: @ 84198D5 - .string "{UNKNOWN_F7 0x00} nature.\n" - .string "Hatched: {UNKNOWN_F7 0x02}\n" - .string "at {EXTRA_LV} {UNKNOWN_F7 0x01}.$" - -@ TODO: Replace this gibberish with the proper Hiragana -gUnknown_84198F6:: @ 84198F6 - .string "{UNKNOWN_F7 0x00}ßÓÁÉË {EXTRA_LV}{UNKNOWN_F7 0x01}çÑÊ\n" - .string "{UNKNOWN_F7 0x02}で ÉÇっŒ ùÂだ$" - -gUnknown_8419913:: @ 8419913 - .string "{UNKNOWN_F7 0x00}ÓÁÉË {EXTRA_LV}{UNKNOWN_F7 0x01}çÑÊ\n" - .string "{UNKNOWN_F7 0x02}で ÉÇっŒ ùÂだ$" - -gUnknown_841992F:: @ 841992F - .string "{UNKNOWN_F7 0x00} nature. Met in a fateful\n" - .string "encounter (hatched: {UNKNOWN_F7 0x02}\n" - .string "at {EXTRA_LV} {UNKNOWN_F7 0x01}).$" - -gUnknown_841996D:: @ 841996D - .string "{UNKNOWN_F7 0x00} nature. Met in a fateful\n" - .string "encounter (hatched: {UNKNOWN_F7 0x02}\n" - .string "at {EXTRA_LV} {UNKNOWN_F7 0x01}).$" - -gUnknown_84199AB:: @ 84199AB - .string "{UNKNOWN_F7 0x00} nature. Apparently met in\n" - .string "a fateful encounter (hatched:\n" - .string "{UNKNOWN_F7 0x02} at {EXTRA_LV} {UNKNOWN_F7 0x01}).$" - -gUnknown_84199F4:: @ 84199F4 - .incbin "baserom.gba", 0x4199F4, 0x217 - -gUnknown_8419C0B:: @ 8419C0B - .incbin "baserom.gba", 0x419C0B, 0x8 - -gUnknown_8419C13:: @ 8419C13 - .incbin "baserom.gba", 0x419C13, 0xA - -gUnknown_8419C1D:: @ 8419C1D - .incbin "baserom.gba", 0x419C1D, 0xD - -gUnknown_8419C2A:: @ 8419C2A - .incbin "baserom.gba", 0x419C2A, 0xF - -gUnknown_8419C39:: @ 8419C39 - .incbin "baserom.gba", 0x419C39, 0xC - -gUnknown_8419C45:: @ 8419C45 - .incbin "baserom.gba", 0x419C45, 0x8 - -gUnknown_8419C4D:: @ 8419C4D - .incbin "baserom.gba", 0x419C4D, 0xC - -gUnknown_8419C59:: @ 8419C59 - .incbin "baserom.gba", 0x419C59, 0x9 - -gUnknown_8419C62:: @ 8419C62 - .incbin "baserom.gba", 0x419C62, 0x10 - -gUnknown_8419C72:: @ 8419C72 - .incbin "baserom.gba", 0x419C72, 0x9 - -gUnknown_8419C7B:: @ 8419C7B - .incbin "baserom.gba", 0x419C7B, 0x7 - -gUnknown_8419C82:: @ 8419C82 - .incbin "baserom.gba", 0x419C82, 0x10 - -gUnknown_8419C92:: @ 8419C92 - .incbin "baserom.gba", 0x419C92, 0x10 - -gUnknown_8419CA2:: @ 8419CA2 - .incbin "baserom.gba", 0x419CA2, 0x7 - -gUnknown_8419CA9:: @ 8419CA9 - .incbin "baserom.gba", 0x419CA9, 0x10 - -gUnknown_8419CB9:: @ 8419CB9 - .incbin "baserom.gba", 0x419CB9, 0x21 - -gUnknown_8419CDA:: @ 8419CDA - .incbin "baserom.gba", 0x419CDA, 0x7 - -gUnknown_8419CE1:: @ 8419CE1 - .incbin "baserom.gba", 0x419CE1, 0x6 - -gUnknown_8419CE7:: @ 8419CE7 - .incbin "baserom.gba", 0x419CE7, 0x6 - -gUnknown_8419CED:: @ 8419CED - .incbin "baserom.gba", 0x419CED, 0x2 - -gUnknown_8419CEF:: @ 8419CEF - .incbin "baserom.gba", 0x419CEF, 0x8 - -gUnknown_8419CF7:: @ 8419CF7 - .incbin "baserom.gba", 0x419CF7, 0x1 - -gUnknown_8419CF8:: @ 8419CF8 - .incbin "baserom.gba", 0x419CF8, 0x5 - -gUnknown_8419CFD:: @ 8419CFD - .incbin "baserom.gba", 0x419CFD, 0xD - -gUnknown_8419D0A:: @ 8419D0A - .incbin "baserom.gba", 0x419D0A, 0x10 - -gUnknown_8419D1A:: @ 8419D1A - .incbin "baserom.gba", 0x419D1A, 0x35 - -gUnknown_8419D4F:: @ 8419D4F - .incbin "baserom.gba", 0x419D4F, 0x8 - -gUnknown_8419D57:: @ 8419D57 - .incbin "baserom.gba", 0x419D57, 0xF - -gUnknown_8419D66:: @ 8419D66 - .incbin "baserom.gba", 0x419D66, 0x17 - -gUnknown_8419D7D:: @ 8419D7D - .incbin "baserom.gba", 0x419D7D, 0xC - -gUnknown_8419D89:: @ 8419D89 - .incbin "baserom.gba", 0x419D89, 0x43 - -gUnknown_8419DCC:: @ 8419DCC - .incbin "baserom.gba", 0x419DCC, 0x86 - -gUnknown_8419E52:: @ 8419E52 - .incbin "baserom.gba", 0x419E52, 0x5 - -gUnknown_8419E57:: @ 8419E57 - .incbin "baserom.gba", 0x419E57, 0xFD - -gUnknown_8419F54:: @ 8419F54 - .string "SAVING…\n" - .string "DON'T TURN OFF THE POWER.$" - -// Start menu option descriptions -gUnknown_8419F76:: @ 8419F76 // Pokedex - .string "A device that records POKéMON secrets\n" - .string "upon meeting or catching them.$" - -gUnknown_8419FBB:: @ 8419FBB // Pokemon - .string "Check and organize POKéMON that are\n" - .string "traveling with you in your party.$" - -gUnknown_841A001:: @ 841A001 // Bag - .string "Equipped with pockets for storing items\n" - .string "you bought, received, or found.$" - -gUnknown_841A049:: @ 841A049 // {PLAYER} - .string "Check your money and other game data.$" - -gUnknown_841A06F:: @ 841A06F // Save - .string "Save your game with a complete record\n" - .string "of your progress to take a break.$" - -gUnknown_841A0B7:: @ 841A0B7 // Options - .string "Adjust various game settings such as text\n" - .string "speed, game rules, etc.$" - -gUnknown_841A0F9:: @ 841A0F9 // Quit - .string "Close this MENU window.$" - -gUnknown_841A111:: @ 841A111 // Retire - .string "Retire from the SAFARI GAME and return to\n" - .string "the registration counter.$" - - .include "data/text/quest_log.inc" - -gUnknown_841B285:: @ 841B285 - .incbin "baserom.gba", 0x41B285, 0xE - -gUnknown_841B293:: @ 841B293 - .incbin "baserom.gba", 0x41B293, 0x2 - -gUnknown_841B295:: @ 841B295 - .incbin "baserom.gba", 0x41B295, 0x12 - -gUnknown_841B2A7:: @ 841B2A7 - .incbin "baserom.gba", 0x41B2A7, 0x35 - -gUnknown_841B2DC:: @ 841B2DC - .incbin "baserom.gba", 0x41B2DC, 0x9 - -gUnknown_841B2E5:: @ 841B2E5 - .incbin "baserom.gba", 0x41B2E5, 0x8 - -gUnknown_841B2ED:: @ 841B2ED - .incbin "baserom.gba", 0x41B2ED, 0x4 - -gUnknown_841B2F1:: @ 841B2F1 - .incbin "baserom.gba", 0x41B2F1, 0x15 - -gUnknown_841B306:: @ 841B306 - .incbin "baserom.gba", 0x41B306, 0xF - -gUnknown_841B315:: @ 841B315 - .incbin "baserom.gba", 0x41B315, 0x6 - -gUnknown_841B31B:: @ 841B31B - .incbin "baserom.gba", 0x41B31B, 0xE - -gUnknown_841B329:: @ 841B329 - .incbin "baserom.gba", 0x41B329, 0x5 - -gUnknown_841B32E:: @ 841B32E - .incbin "baserom.gba", 0x41B32E, 0x7C - -gUnknown_841B3AA:: @ 841B3AA - .incbin "baserom.gba", 0x41B3AA, 0x14 - -gUnknown_841B3BE:: @ 841B3BE - .incbin "baserom.gba", 0x41B3BE, 0x152 - -gUnknown_841B510:: @ 841B510 - .incbin "baserom.gba", 0x41B510, 0x6 - -gUnknown_841B516:: @ 841B516 - .incbin "baserom.gba", 0x41B516, 0x8 - -gUnknown_841B51E:: @ 841B51E - .incbin "baserom.gba", 0x41B51E, 0x6 - -gUnknown_841B524:: @ 841B524 - .incbin "baserom.gba", 0x41B524, 0x7 - -gUnknown_841B52B:: @ 841B52B - .incbin "baserom.gba", 0x41B52B, 0x6 - -gUnknown_841B531:: @ 841B531 - .incbin "baserom.gba", 0x41B531, 0x4 - -gUnknown_841B535:: @ 841B535 - .incbin "baserom.gba", 0x41B535, 0x6 - -gUnknown_841B53B:: @ 841B53B - .incbin "baserom.gba", 0x41B53B, 0x6 - -gUnknown_841B541:: @ 841B541 - .incbin "baserom.gba", 0x41B541, 0xA - -gUnknown_841B54B:: @ 841B54B - .incbin "baserom.gba", 0x41B54B, 0x9 - -gUnknown_841B554:: @ 841B554 - .incbin "baserom.gba", 0x41B554, 0x62 - -gUnknown_841B5B6:: @ 841B5B6 - .incbin "baserom.gba", 0x41B5B6, 0x58 - -gUnknown_841B60E:: @ 841B60E - .incbin "baserom.gba", 0x41B60E, 0xB - -gUnknown_841B619:: @ 841B619 - .incbin "baserom.gba", 0x41B619, 0x6B - -gUnknown_841B684:: @ 841B684 - .incbin "baserom.gba", 0x41B684, 0xB - -gUnknown_841B68F:: @ 841B68F - .incbin "baserom.gba", 0x41B68F, 0x9 - -gUnknown_841B698:: @ 841B698 - .incbin "baserom.gba", 0x41B698, 0x6 - -gUnknown_841B69E:: @ 841B69E - .incbin "baserom.gba", 0x41B69E, 0x1B - -gUnknown_841B6B9:: @ 841B6B9 - .incbin "baserom.gba", 0x41B6B9, 0x1C - -gUnknown_841B6D5:: @ 841B6D5 - .incbin "baserom.gba", 0x41B6D5, 0x7 - -gUnknown_841B6DC:: @ 841B6DC - .incbin "baserom.gba", 0x41B6DC, 0x7 - -gUnknown_841B6E3:: @ 841B6E3 - .incbin "baserom.gba", 0x41B6E3, 0x8 - -gUnknown_841B6EB:: @ 841B6EB - .incbin "baserom.gba", 0x41B6EB, 0x1 - -gUnknown_841B6EC:: @ 841B6EC - .incbin "baserom.gba", 0x41B6EC, 0x7 - -gUnknown_841B6F3:: @ 841B6F3 - .incbin "baserom.gba", 0x41B6F3, 0xA - -gText_HatchedFromEgg:: @ 841B6FD - .incbin "baserom.gba", 0x41B6FD, 0x19 - -gText_NickHatchPrompt:: @ 841B716 - .incbin "baserom.gba", 0x41B716, 0x31 - -gUnknown_841B747:: @ 841B747 - .incbin "baserom.gba", 0x41B747, 0x24 - -gUnknown_841B76B:: @ 841B76B - .incbin "baserom.gba", 0x41B76B, 0xE - -gUnknown_841B779:: @ 841B779 - .incbin "baserom.gba", 0x41B779, 0x2B - - .include "data/text/teachy_tv.inc" - -gString_Bill:: @ 841CB3C - .string "BILL$" - -gString_Someone:: @ 841CB41 - .string "SOMEONE$" - -gString_Help:: @ 841CB49 - .string "HELP$" - -gString_HelpSystem_ClearTo8:: @ 841CB4E - .string "{CLEAR_TO 8}$" - -gUnknown_841CB52:: @ 841CB52 - .string " points$" - -gUnknown_841CB5A:: @ 841CB5A - .string " time(s)$" - -gUnknown_841CB63:: @ 841CB63 - .string "POKéMON JUMP RECORDS$" - .string "Jumps in a row:$" - .string "Best score:$" - .string "EXCELLENTS in a row:$" - -gUnknown_841CBA9:: @ 841CBA9 - .string "Awesome score! You've\n" - .string "won {UNKNOWN_F7 01} {UNKNOWN_F7 00}!$" - -gUnknown_841CBCA:: @ 841CBCA - .string "There's no room left now.$" - -gUnknown_841CBE4:: @ 841CBE4 - .string "You can't hold any more!$" - -gUnknown_841CBFD:: @ 841CBFD - .string "Want to play again?$" - -gUnknown_841CC11:: @ 841CC11 - .string "Somebody dropped out.\nThe link will be canceled.$" - -gUnknown_841CC42:: @ 841CC42 - .string "SAVING…\nDON'T TURN OFF THE POWER.$" - -gUnknown_841CC64:: @ 841CC64 - .string "Communication standby…$" - .string "SAVING...\nDON'T TURN OFF THE POWER.$" - .string "DODRIO BERRY-PICKING RECORDS$" - .string "BERRIES picked:$" - .string "Best score:$" - .string "BERRIES picked in a row with\nfive players:$" - -gUnknown_841CD03:: @ 841CD03 - .string "Announcing BERRY-PICKING results!$" - -gUnknown_841CD25:: @ 841CD25 - .string "10P 30P 50P {EXTRA 0xDD}50P$" - -gUnknown_841CD43:: @ 841CD43 - .string "Announcing rankings!$" - -gUnknown_841CD58:: @ 841CD58 - .string "Announcing prizes!$" - .string "1:$" - .string "2:$" - .string "3:$" - .string "4:$" - .string "5:$" - -gUnknown_841CD7A:: @ 841CD7A - .string "The first-place winner gets\nthis {UNKNOWN_F7 00}!$" - -gUnknown_841CD9F:: @ 841CD9F - .string "You can't hold any more...$" - -gUnknown_841CDBA:: @ 841CDBA - .string "It filled its storage space.$" - -gUnknown_841CDD7:: @ 841CDD7 - .string "Want to play again?$" - -gUnknown_841CDEB:: @ 841CDEB - .string "Somebody dropped out.\nThe link will be canceled.$" - -gUnknown_841CE1C:: @ 841CE1C - .string " points$" - -gUnknown_841CE24:: @ 841CE24 - .incbin "baserom.gba", 0x41CE24, 0x1FC - -gUnknown_841D020:: @ 841D020 - .incbin "baserom.gba", 0x41D020, 0xC - -gUnknown_841D02C:: @ 841D02C - .incbin "baserom.gba", 0x41D02C, 0x24 - -gUnknown_841D050:: @ 841D050 - .incbin "baserom.gba", 0x41D050, 0x8 - -gUnknown_841D058:: @ 841D058 - .incbin "baserom.gba", 0x41D058, 0x10 - -gUnknown_841D068:: @ 841D068 - .incbin "baserom.gba", 0x41D068, 0xC - -gUnknown_841D074:: @ 841D074 - .incbin "baserom.gba", 0x41D074, 0x4 - -gUnknown_841D078:: @ 841D078 - .incbin "baserom.gba", 0x41D078, 0x8 - -gUnknown_841D080:: @ 841D080 - .incbin "baserom.gba", 0x41D080, 0x8 - -gUnknown_841D088:: @ 841D088 - .incbin "baserom.gba", 0x41D088, 0x8 - -gUnknown_841D090:: @ 841D090 - .incbin "baserom.gba", 0x41D090, 0x8 - -gUnknown_841D098:: @ 841D098 - .incbin "baserom.gba", 0x41D098, 0xC - -gUnknown_841D0A4:: @ 841D0A4 - .incbin "baserom.gba", 0x41D0A4, 0x4 - -gUnknown_841D0A8:: @ 841D0A8 - .incbin "baserom.gba", 0x41D0A8, 0x18 - -gUnknown_841D0C0:: @ 841D0C0 - .incbin "baserom.gba", 0x41D0C0, 0x58 - -gUnknown_841D118:: @ 841D118 - .incbin "baserom.gba", 0x41D118, 0xC - -gUnknown_841D124:: @ 841D124 - .incbin "baserom.gba", 0x41D124, 0x18 - -gUnknown_841D13C:: @ 841D13C - .incbin "baserom.gba", 0x41D13C, 0xC - -gUnknown_841D148:: @ 841D148 - .incbin "baserom.gba", 0x41D148, 0x6 - -gUnknown_841D14E:: @ 841D14E - .incbin "baserom.gba", 0x41D14E, 0x1B - -gUnknown_841D169:: @ 841D169 - .incbin "baserom.gba", 0x41D169, 0x15 - -gUnknown_841D17E:: @ 841D17E - .incbin "baserom.gba", 0x41D17E, 0xF - -gUnknown_841D18D:: @ 841D18D - .incbin "baserom.gba", 0x41D18D, 0xB - -gUnknown_841D198:: @ 841D198 - .incbin "baserom.gba", 0x41D198, 0xCB8 - -gJPText_MysteryGift:: @ 841DE50 - .string "$" - -gJPText_DecideStop:: @ 841DE51 - .string "$" - -gUnknown_841DE52:: @ 841DE52 - .string "$" - -gUnknown_841DE53:: @ 841DE53 - .string "$" - -gUnknown_841DE54:: @ 841DE54 - .string "$" - -gUnknown_841DE55:: @ 841DE55 - .incbin "baserom.gba", 0x41DE55, 0x27 @ japanese - -gUnknown_841DE7C:: @ 841DE7C - .string "$" - -gUnknown_841DE7D:: @ 841DE7D - .string "$" - -gUnknown_841DE7E:: @ 841DE7E - .incbin "baserom.gba", 0x0041de7e, 0x17 @ japanese - -gUnknown_841DE95:: @ 841DE95 - .string "$" - -gUnknown_841DE96:: @ 841DE96 - .string "$" - -gUnknown_841DE97:: @ 841DE97 - .string "$" - -gUnknown_841DE98:: @ 841DE98 - .string "$" - -gUnknown_841DE99:: @ 841DE99 - .string "$" - -gUnknown_841DE9A:: @ 841DE9A - .string "$" - -gUnknown_841DE9B:: @ 841DE9B - .string "$" - -gUnknown_841DE9C:: @ 841DE9C - .string "$" - -gUnknown_841DE9D:: @ 841DE9D - .string "Communication error…\n" - .string "Please check all connections,\n" - .string "then turn the power OFF and ON.$" - -gUnknown_841DEF0:: @ 841DEF0 - .string "Communication error…$" - -gUnknown_841DF05:: @ 841DF05 - .string "Move closer to your link partner(s).\n" - .string "Avoid obstacles between partners.$" - -gUnknown_841DF4C:: @ 841DF4C - .string "A Button: Registration Counter$" - -gUnknown_841DF6B:: @ 841DF6B - .string "A Button: Title Screen$" - -gUnknown_841DF82:: @ 841DF82 - .string "{STR_VAR_1}P LINK$" - -gUnknown_841DF8B:: @ 841DF8B - .string "BRONZE$" - -gUnknown_841DF92:: @ 841DF92 - .string "COPPER$" - -gUnknown_841DF99:: @ 841DF99 - .string "SILVER$" - -gUnknown_841DFA0:: @ 841DFA0 - .string "GOLD$" - -gUnknown_841DFA5:: @ 841DFA5 - .string "{KEYGFX_A_BUTTON}NEXT$" - -gUnknown_841DFAC:: @ 841DFAC - .string "{KEYGFX_DPAD_UP_DOWN}PICK {KEYGFX_A_BUTTON}OK {KEYGFX_B_BUTTON}END$" - -gUnknown_841DFBE:: @ 841DFBE - .string "{KEYGFX_A_BUTTON}{KEYGFX_B_BUTTON}CANCEL$" - -gUnknown_841DFC9:: @ 841DFC9 - .string "{KEYGFX_DPAD_UP_DOWN}PICK {KEYGFX_A_BUTTON}OK {KEYGFX_B_BUTTON}CANCEL$" - - @ easy chat categories - .string "POKéMON$" - .string "TRAINER$" - .string "STATUS$" - .string "BATTLE$" - .string "GREETINGS$" - .string "PEOPLE$" - .string "VOICES$" - .string "SPEECH$" - .string "ENDINGS$" - .string "FEELINGS$" - .string "CONDITIONS$" - .string "ACTIONS$" - .string "LIFESTYLE$" - .string "HOBBIES$" - .string "TIME$" - .string "MISC.$" - .string "ADJECTIVES$" - .string "EVENTS$" - .string "MOVE 1$" - .string "MOVE 2$" - .string "TRENDY SAYING$" - .string "POKéMON2$" - - @ trade-related -gUnknown_841E093:: @ 841E093 - .string "???$" - .string "$" - .string "Lv$" - .string "---$" - -gUnknown_841E09F:: @ 841E09F - .string "????$" - .string "$" - -gUnknown_841E0A5:: @ 841E0A5 - .string "Is this trade okay?$" - .string "CANCEL$" - .string "Choose a POKéMON.$" - .string "SUMMARY$" - .string "TRADE$" - .string "Cancel trade?$" - .string "Press the B Button to exit.$" - .string "SUMMARY$" - .string "TRADE$" - .string "{COLOR RED}{HIGHLIGHT DARK_GREY}{SHADOW GREEN}Communication standby…\n" - .string "Please wait.$" - .string "{COLOR RED}{HIGHLIGHT DARK_GREY}{SHADOW GREEN}The trade has been canceled.$" - .string "{COLOR RED}{HIGHLIGHT DARK_GREY}{SHADOW GREEN}That's your only POKéMON\n" - .string "for battle.$" - .string "{COLOR RED}{HIGHLIGHT DARK_GREY}{SHADOW GREEN}Waiting for your friend\n" - .string "to finish…$" - .string "Your friend wants\n" - .string "to trade POKéMON.$" - -gUnknown_841E1E9:: @ 841E1E9 - .string "{STR_VAR_2} will be\n" - .string "sent to {STR_VAR_1}.$" - -gUnknown_841E200:: @ 841E200 - .string "Bye-bye, {STR_VAR_2}!$" - -gUnknown_841E20D:: @ 841E20D - .string "{STR_VAR_1} sent over {STR_VAR_3}.$" - -gUnknown_841E21E:: @ 841E21E - .string "Take good care of {STR_VAR_3}!$" - -gUnknown_841E234:: @ 841E234 - .string "From $" - -gUnknown_841E23A:: @ 841E23A - .string "$" - -gUnknown_841E23B:: @ 841E23B - .string "$" - -gUnknown_841E23C:: @ 841E23C - .string "$" - -gUnknown_841E23D:: @ 841E23D - .string "$" - -gUnknown_841E23E:: @ 841E23E - .string "$" - -gUnknown_841E23F:: @ 841E23F - .string "$" - -gUnknown_841E240:: @ 841E240 - .string "$" - -gUnknown_841E241:: @ 841E241 - .string "$" - -gUnknown_841E242:: @ 841E242 - .string "$" - -gUnknown_841E243:: @ 841E243 - .string "$" - -gUnknown_841E244:: @ 841E244 - .string "$" - -gUnknown_841E245:: @ 841E245 - .string "Wireless Communication Status$" - -gUnknown_841E263:: @ 841E263 - .string "People trading:$" - -gUnknown_841E273:: @ 841E273 - .string "People battling:$" - -gUnknown_841E284:: @ 841E284 - .string "People in the UNION ROOM:$" - -gUnknown_841E29E:: @ 841E29E - .string "People communicating:$" - -gUnknown_841E2B4:: @ 841E2B4 - .string "{UNKNOWN_F7 0x00} players$" - -gUnknown_841E2BF:: @ 841E2BF - .string "{UNKNOWN_F7 0x01} player$" - -gUnknown_841E2C9:: @ 841E2C9 - .string "{UNKNOWN_F7 0x02} players$" - -gUnknown_841E2D4:: @ 841E2D4 - .string "{UNKNOWN_F7 0x03} players$" - -gUnknown_841E2DF:: @ 841E2DF - .incbin "baserom.gba", 0x41e2df, 0xd - -gUnknown_841E2EC:: @ 841E2EC - .incbin "baserom.gba", 0x41e2ec, 0x9 - -gUnknown_841E2F5:: @ 841E2F5 - .incbin "baserom.gba", 0x41e2f5, 0x2d - -gUnknown_841E322:: @ 841E322 - .string "{EXTRA_ID}$" - -gUnknown_841E325:: @ 841E325 - .string "Communication standby…$" - -gDaycareText_GetAlongVeryWell:: @ 841E33C - .string "The two seem to get along\n" - .string "very well.$" - -gDaycareText_GetAlong:: @ 841E361 - .string "The two seem to get along.$" - -gDaycareText_DontLikeOther:: @ 841E37C - .string "The two don't seem to like\n" - .string "each other much.$" - -gDaycareText_PlayOther:: @ 841E3A8 - .string "The two prefer to play with other\n" - .string "POKéMON than each other.$" - -gUnknown_841E3E3:: @ 841E3E3 - .incbin "baserom.gba", 0x41E3E3, 0x18 - -gUnknown_841E3FB:: @ 841E3FB - .incbin "baserom.gba", 0x41E3FB, 0xA - -gUnknown_841E405:: @ 841E405 - .incbin "baserom.gba", 0x41E405, 0xF - -gUnknown_841E414:: @ 841E414 - .incbin "baserom.gba", 0x41E414, 0x6D - -gUnknown_841E481:: @ 841E481 - .incbin "baserom.gba", 0x41E481, 0x12 - -gUnknown_841E493:: @ 841E493 - .incbin "baserom.gba", 0x41E493, 0x2D - -gUnknown_841E4C0:: @ 841E4C0 - .incbin "baserom.gba", 0x41E4C0, 0x22 - -gUnknown_841E4E2:: @ 841E4E2 - .incbin "baserom.gba", 0x41E4E2, 0x2A - -gUnknown_841E50C:: @ 841E50C - .incbin "baserom.gba", 0x41E50C, 0x2C - -gUnknown_841E538:: @ 841E538 - .incbin "baserom.gba", 0x41E538, 0x3A - -gUnknown_841E572:: @ 841E572 - .incbin "baserom.gba", 0x41E572, 0x1B - -gUnknown_841E58D:: @ 841E58D - .incbin "baserom.gba", 0x41E58D, 0x17 - -gFameCheckerText_MainScreenUI:: @ 841E5A4 - .string "{KEYGFX_START_BUTTON}PICK {KEYGFX_DPAD_UP_DOWN}SELECT {KEYGFX_A_BUTTON}OK$" - -gFameCheckerText_PickScreenUI:: @ 841E5B9 - .string "{KEYGFX_START_BUTTON}PICK {KEYGFX_DPAD_UP_DOWN}SELECT {KEYGFX_B_BUTTON}CANCEL$" - -gFameCheckerText_FlavorTextUI:: @ 841E5D2 - .string "{KEYGFX_DPAD_ANY}PICK {KEYGFX_A_BUTTON}READ {KEYGFX_B_BUTTON}CANCEL$" - -gFameCheckerOakName:: @ 841E5E9 - .string "OAK$" - -gFameCheckerDaisyName:: @ 841E5ED - .string "DAISY$" - -gFameCheckerBillName:: @ 841E5F3 - .string "BILL$" - -gFameCheckerMrFujiName:: @ 841E5F8 - .string "FUJI$" - -gText_VarietyOfEventsImportedWireless:: @ 841E5FD - .string "A variety of events will be imported\n" - .string "over Wireless Communication.$" - -gText_WonderCardsInPossession:: @ 841E63F - .string "Read the WONDER CARDS in your\n" - .string "possession.$" - -gText_ReadNewsThatArrived:: @ 841E669 - .string "Read the NEWS that arrived.$" - -gText_ReturnToTitle:: @ 841E685 - .string "Return to the title screen.$" - -gText_DontHaveCardNewOneInput:: @ 841E6A1 - .string "You don't have a WONDER CARD,\n" - .string "so a new CARD will be input.$" - -gText_DontHaveNewsNewOneInput:: @ 841E6DC - .string "You don't have any WONDER NEWS,\n" - .string "so new NEWS will be input.$" - -gText_WhereShouldCardBeAccessed:: @ 841E717 - .string "Where should the WONDER CARD\n" - .string "be accessed?$" - -gText_WhereShouldNewsBeAccessed:: @ 841E741 - .string "Where should the WONDER NEWS\n" - .string "be accessed?$" - -gUnknown_841E76B:: @ 841E76B - .string "Link standby...\n" - .string "... ... B Button: Cancel$" - -gText_Communicating:: @ 841E794 - .string "Communicating…$" - -gText_CommunicationCompleted:: @ 841E7A3 - .string "Communication completed.$" - -gText_CommunicationError:: @ 841E7BC - .string "Communication error.$" - -gText_CommunicationCanceled:: @ 841E7D1 - .string "Communication has been canceled.$" - -gText_ThrowAwayWonderCard:: @ 841E7F2 - .string "Throw away the WONDER CARD\n" - .string "and input a new CARD?$" - -gText_HaventReceivedCardsGift:: @ 841E823 - .string "You haven't received the CARD's gift\n" - .string "yet. Input a new CARD anyway?$" - -gText_WonderCardReceivedFrom:: @ 841E866 - .string "A WONDER CARD has been received\n" - .string "from {STR_VAR_1}.$" - -gText_WonderNewsReceivedFrom:: @ 841E88F - .string "A WONDER NEWS item has been\n" - .string "received from {STR_VAR_1}.$" - -gText_WonderCardReceived:: @ 841E8BD - .string "A new WONDER CARD has been\n" - .string "received.$" - -gText_WonderNewsReceived:: @ 841E8E2 - .string "A new WONDER NEWS item has been\n" - .string "received.$" - -gText_NewStampReceived:: @ 841E90C - .string "A new STAMP has been received.$" - -gText_NewTrainerReceived:: @ 841E92B - .string "A new TRAINER has arrived.$" - -gText_AlreadyHadCard:: @ 841E946 - .string "You already had that\n" - .string "WONDER CARD.$" - -gText_AlreadyHadNews:: @ 841E968 - .string "You already had that\n" - .string "WONDER NEWS item.$" - -gText_AlreadyHadStamp:: @ 841E98F - .string "You already had that\n" - .string "STAMP.$" - -gText_NoMoreRoomForStamps:: @ 841E9AB - .string "There's no more room for adding\n" - .string "STAMPS.$" - -gText_RecordUploadedViaWireless:: @ 841E9D3 - .string "Your record has been uploaded via\n" - .string "WIRELESS COMMUNICATION.$" - -gText_CantAcceptCardFromTrainer:: @ 841EA0D - .string "You can't accept a WONDER CARD\n" - .string "from this TRAINER.$" - -gText_CantAcceptNewsFromTrainer:: @ 841EA3F - .string "You can't accept WONDER NEWS\n" - .string "from this TRAINER.$" - -gText_NothingSentOver:: @ 841EA6F - .string "Nothing was sent over…$" - -gText_WhatToDoWithCards:: @ 841EA86 - .string "What would you like to do\n" - .string "with the WONDER CARDS?$" - -gText_WhatToDoWithNews:: @ 841EAB7 - .string "What would you like to do\n" - .string "with the WONDER NEWS?$" - -gText_SendingWonderCard:: @ 841EAE7 - .string "Sending your WONDER CARD…$" - -gText_SendingWonderNews:: @ 841EB01 - .string "Sending your WONDER NEWS item…$" - -gText_WonderCardSentTo:: @ 841EB20 - .string "Your WONDER CARD has been sent\n" - .string "to {STR_VAR_1}.$" - -gText_WonderNewsSentTo:: @ 841EB46 - .string "Your WONDER NEWS item has been\n" - .string "sent to {STR_VAR_1}.$" - -gText_StampSentTo:: @ 841EB71 - .string "A STAMP has been sent to {STR_VAR_1}.$" - -gText_GiftSentTo:: @ 841EB8E - .string "A GIFT has been sent to {STR_VAR_1}.$" - -gText_OtherTrainerHasCard:: @ 841EBAA - .string "The other TRAINER has the same\n" - .string "WONDER CARD already.$" - -gText_OtherTrainerHasNews:: @ 841EBDE - .string "The other TRAINER has the same\n" - .string "WONDER NEWS already.$" - -gText_OtherTrainerHasStamp:: @ 841EC12 - .string "The other TRAINER has the same\n" - .string "STAMP already.$" - -gText_OtherTrainerCanceled:: @ 841EC40 - .string "The other TRAINER canceled\n" - .string "communication.$" - -gText_CantSendGiftToTrainer:: @ 841EC6A - .string "You can't send a MYSTERY GIFT to\n" - .string "this TRAINER.$" - -gText_IfThrowAwayCardEventWontHappen:: @ 841EC99 - .string "If you throw away the CARD,\n" - .string "its event won't happen. Okay?$" - -gText_OkayToDiscardNews:: @ 841ECD3 - .string "Is it okay to discard this\n" - .string "NEWS item?$" - -gText_HaventReceivedGiftOkayToDiscard:: @ 841ECF9 - .string "You haven't received the\n" - .string "GIFT. Is it okay to discard?$" - -gText_DataWillBeSaved:: @ 841ED2F - .string "Data will be saved.\n" - .string "Please wait.$" - -gText_SaveCompletedPressA:: @ 841ED50 - .string "Save completed.\n" - .string "Please press the A Button.$" - -gText_WonderCardThrownAway:: @ 841ED7B - .string "The WONDER CARD was thrown away.$" - -gText_WonderNewsThrownAway:: @ 841ED9C - .string "The WONDER NEWS was thrown away.$" - -gText_MysteryGift:: @ 841EDBD - .string "MYSTERY GIFT$" - -gText_PickOKCancel:: @ 841EDCA - .string "{KEYGFX_DPAD_UP_DOWN}PICK {KEYGFX_A_BUTTON}OK {KEYGFX_B_BUTTON}EXIT$" - -gText_WonderCards:: - .string "WONDER CARDS$" - -gText_WonderNews:: - .string "WONDER NEWS$" - -gText_WirelessCommunication:: - .string "WIRELESS COMMUNICATION$" - -gText_Friend2:: - .string "FRIEND$" - -gText_Exit3:: - .string "EXIT$" - -gText_Receive:: - .string "RECEIVE$" - -gText_Send:: - .string "SEND$" - -gText_Toss:: - .string "TOSS$" - -gUnknown_841EE2B:: @ 841EE2B - .incbin "baserom.gba", 0x41EE2B, 0x17 + .section .rodata.841EE44 .align 2 gUnknown_841EE44:: @ 841EE44 .incbin "baserom.gba", 0x41EE44, 0x20 @@ -2699,6 +604,7 @@ gUnknown_843EC64:: @ 843EC64 gUnknown_843EC8C:: @ 843EC8C .incbin "baserom.gba", 0x43EC8C, 0xFC + .align 2 gUnknown_843ED88:: @ 843ED88 .incbin "baserom.gba", 0x43ED88, 0xC diff --git a/data/strings.s b/data/strings.s new file mode 100644 index 000000000..9490372e7 --- /dev/null +++ b/data/strings.s @@ -0,0 +1,2191 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + .align 2 +gExpandedPlaceholder_Empty:: @ 8415A20 + .incbin "baserom.gba", 0x415A20, 0x1 + +gExpandedPlaceholder_Kun:: @ 8415A21 + .incbin "baserom.gba", 0x415A21, 0x1 + +gExpandedPlaceholder_Chan:: @ 8415A22 + .incbin "baserom.gba", 0x415A22, 0xA + +gExpandedPlaceholder_Ruby:: @ 8415A2C + .incbin "baserom.gba", 0x415A2C, 0x5 + +gExpandedPlaceholder_Aqua:: @ 8415A31 + .incbin "baserom.gba", 0x415A31, 0x5 + +gExpandedPlaceholder_Magma:: @ 8415A36 + .incbin "baserom.gba", 0x415A36, 0x6 + +gExpandedPlaceholder_Archie:: @ 8415A3C + .incbin "baserom.gba", 0x415A3C, 0x7 + +gExpandedPlaceholder_Maxie:: @ 8415A43 + .incbin "baserom.gba", 0x415A43, 0x6 + +gExpandedPlaceholder_Kyogre:: @ 8415A49 + .incbin "baserom.gba", 0x415A49, 0x7 + +gExpandedPlaceholder_Groudon:: @ 8415A50 + .incbin "baserom.gba", 0x415A50, 0x8 + +gExpandedPlaceholder_Red:: @ 8415A58 + .incbin "baserom.gba", 0x415A58, 0x4 + +gExpandedPlaceholder_Green:: @ 8415A5C + .incbin "baserom.gba", 0x415A5C, 0x6 + +gText_EggNickname:: @ 8415A62 + .incbin "baserom.gba", 0x415A62, 0x4 + +gText_Pokemon:: @ 8415A66 + .incbin "baserom.gba", 0x415A66, 0x8 + +gUnknown_8415A6E:: @ 8415A6E + .incbin "baserom.gba", 0x415A6E, 0x9 + +gUnknown_8415A77:: @ 8415A77 + .incbin "baserom.gba", 0x415A77, 0x20 + +gUnknown_8415A97:: @ 8415A97 + .incbin "baserom.gba", 0x415A97, 0xD + +gUnknown_8415AA4:: @ 8415AA4 + .incbin "baserom.gba", 0x415AA4, 0x27 + +gUnknown_8415ACB:: @ 8415ACB + .incbin "baserom.gba", 0x415ACB, 0x134 + +gUnknown_8415BFF:: @ 8415BFF + .incbin "baserom.gba", 0x415BFF, 0x43 + +gUnknown_8415C42:: @ 8415C42 + .incbin "baserom.gba", 0x415C42, 0x22 + +gUnknown_8415C64:: @ 8415C64 + .incbin "baserom.gba", 0x415C64, 0x84 + +gUnknown_8415CE8:: @ 8415CE8 + .incbin "baserom.gba", 0x415CE8, 0x44 + +gText_Controls:: @ 8415D2C + .string "CONTROLS$" + + .align 2 +gUnknown_8415D38:: @ 8415D2C + .string "{KEYGFX_DPAD_UP_DOWN}えらぶ {KEYGFX_A_BUTTON}けってい$" + + .align 2 +gText_ABUTTONNext:: @ 8415D48 + .string "{KEYGFX_A_BUTTON}NEXT$" + + .align 2 +gText_ABUTTONNext_BBUTTONBack:: @ 8415D50 + .string "{KEYGFX_A_BUTTON}NEXT {KEYGFX_B_BUTTON}BACK$" + + .align 2 +gText_UPDOWNPick_ABUTTONNext_BBUTTONBack:: @ 8415D60 + .string "{KEYGFX_DPAD_UP_DOWN}PICK {KEYGFX_A_BUTTON}NEXT {KEYGFX_B_BUTTON}CANCEL$" + + .align 2 +gText_UPDOWNPick_ABUTTONBBUTTONCancel:: @ 8415D78 + .string "{KEYGFX_DPAD_UP_DOWN}PICK {KEYGFX_A_BUTTON}{KEYGFX_B_BUTTON}CANCEL$" + + .align 2 +gText_ABUTTONExit:: @ 8415D8C + .string "{KEYGFX_A_BUTTON}EXIT$" + +gText_Boy:: @ 8415D93 + .string "BOY$" + +gText_Girl:: @ 8415D97 + .string "GIRL$" + +gUnknown_8415D9C:: @ 8415D9C + .incbin "baserom.gba", 0x415D9C, 0x1C + +gUnknown_8415DB8:: @ 8415DB8 + .incbin "baserom.gba", 0x415DB8, 0xC + +gUnknown_8415DC4:: @ 8415DC4 + .incbin "baserom.gba", 0x415DC4, 0x6 + +gUnknown_8415DCA:: @ 8415DCA + .incbin "baserom.gba", 0x415DCA, 0x7 + +gUnknown_8415DD1:: @ 8415DD1 + .incbin "baserom.gba", 0x415DD1, 0x6 + +gUnknown_8415DD7:: @ 8415DD7 + .incbin "baserom.gba", 0x415DD7, 0x166 + +gUnknown_8415F3D:: @ 8415F3D + .incbin "baserom.gba", 0x415F3D, 0xD + +gUnknown_8415F4A:: @ 8415F4A + .incbin "baserom.gba", 0x415F4A, 0x7 + +gText_PickOKExit:: @ 8415F51 + .incbin "baserom.gba", 0x415F51, 0x15 + +gUnknown_8415F66:: @ 8415F66 + .incbin "baserom.gba", 0x415F66, 0x6 + +gUnknown_8415F6C:: @ 8415F6C + .incbin "baserom.gba", 0x415F6C, 0x23 + +gUnknown_8415F8F:: @ 8415F8F + .incbin "baserom.gba", 0x415F8F, 0x9 + +gUnknown_8415F98:: @ 8415F98 + .incbin "baserom.gba", 0x415F98, 0x3 + +gUnknown_8415F9B:: @ 8415F9B + .incbin "baserom.gba", 0x415F9B, 0x5 + +gUnknown_8415FA0:: @ 8415FA0 + .incbin "baserom.gba", 0x415FA0, 0xD + +gUnknown_8415FAD:: @ 8415FAD + .incbin "baserom.gba", 0x415FAD, 0x6 + +gUnknown_8415FB3:: @ 8415FB3 + .incbin "baserom.gba", 0x415FB3, 0x15 + +gUnknown_8415FC8:: @ 8415FC8 + .incbin "baserom.gba", 0x415FC8, 0x7 + +gUnknown_8415FCF:: @ 8415FCF + .incbin "baserom.gba", 0x415FCF, 0x19 + +gUnknown_8415FE8:: @ 8415FE8 + .incbin "baserom.gba", 0x415FE8, 0x5 + +gUnknown_8415FED:: @ 8415FED + .incbin "baserom.gba", 0x415FED, 0x5 + +gUnknown_8415FF2:: @ 8415FF2 + .incbin "baserom.gba", 0x415FF2, 0xD + +gUnknown_8415FFF:: @ 8415FFF + .incbin "baserom.gba", 0x415FFF, 0x3 + +gUnknown_8416002:: @ 8416002 + .incbin "baserom.gba", 0x416002, 0x6 + +gUnknown_8416008:: @ 8416008 + .incbin "baserom.gba", 0x416008, 0x88 + +gUnknown_8416090:: @ 8416090 + .incbin "baserom.gba", 0x416090, 0x24 + +gUnknown_84160B4:: @ 84160B4 + .incbin "baserom.gba", 0x4160B4, 0x14 + +gUnknown_84160C8:: @ 84160C8 + .incbin "baserom.gba", 0x4160C8, 0x24 + +gUnknown_84160EC:: @ 84160EC + .incbin "baserom.gba", 0x4160EC, 0x8 + +gUnknown_84160F4:: @ 84160F4 + .incbin "baserom.gba", 0x4160F4, 0x8 + +gUnknown_84160FC:: @ 84160FC + .incbin "baserom.gba", 0x4160FC, 0x8 + +gUnknown_8416104:: @ 8416104 + .incbin "baserom.gba", 0x416104, 0x47 + +gUnknown_841614B:: @ 841614B + .incbin "baserom.gba", 0x41614B, 0x2F + +gUnknown_841617A:: @ 841617A + .incbin "baserom.gba", 0x41617A, 0x7 + +gUnknown_8416181:: @ 8416181 + .incbin "baserom.gba", 0x416181, 0x7 + +gUnknown_8416188:: @ 8416188 + .incbin "baserom.gba", 0x416188, 0x8 + +gUnknown_8416190:: @ 8416190 + .string "TIME$" + +gUnknown_8416195:: + .string "どこへ とびますか?$" + +gOtherText_Use:: + .string "USE$" + +gUnknown_84161A4:: + .string "TOSS$" + +gUnknown_84161A9:: + .string "REGISTER$" + +gOtherText_Give:: + .string "GIVE$" + +gUnknown_84161B7:: + .string "けってい$" + +gUnknown_84161BC:: + .string "WALK$" + +gFameCheckerText_Cancel:: @ 84161C1 + .string "CANCEL$" + +gOtherText_Exit:: @ 84161C8 + .string "EXIT$" + +gUnknown_84161CD:: @ 84161CD + .string "$" + +gUnknown_84161CE:: + .string "キャンセル$" + +gUnknown_84161D4:: + .string "ITEM$" + +gUnknown_84161D9:: + .string "MAIL$" + +gUnknown_84161DE:: + .string "TAKE$" + +gUnknown_84161E3:: + .string "STORE$" + +gUnknown_84161E9:: + .string "CHECK$" + +gUnknown_84161EF:: @ 84161EF + .string "NONE$" + +gUnknown_84161F4:: + .string "OPEN$" + +gUnknown_84161F9:: + .string "DESELECT$" + +gUnknown_8416202:: @ 8416202 + .string "???$" + +gUnknown_8416206:: + .string "?????$" + +gUnknown_841620C:: @ 841620C + .string "/$" + +gUnknown_841620E:: @ 841620E + .string "-$" + +gUnknown_8416210:: @ 8416210 + .string "--$" + +gText_ThreeHyphens:: @ 8416213 + .string "---$" + +gUnknown_8416217:: @ 8416217 + .string "-------$" + +gUnknown_841621F:: @ 841621F + .string "♂$" + +gUnknown_8416221:: @ 8416221 + .string "♀$" + +gText_Lv:: @ 8416223 + .string "{EXTRA_LV}$" + +gOtherText_UnkF9_08_Clear_01:: @ 8416226 + .string "{EXTRA_NO}{CLEAR 0x01}$" + +gUnknown_841622C:: + .string "{EXTRA_PLUS}$" + +gUnknown_841622F:: + .string "{ESCAPE 0x03}$" + +gUnknown_8416233:: + .string "{EXTRA_ID}{EXTRA_NO}$" + +gUnknown_8416238:: @ 8416238 + .string "{EXTRA_PP}$" + +gFameCheckerText_ListMenuCursor:: @ 841623B + .string "▶$" + +gUnknown_841623D:: @ 841623D + .string "YES\n" + .string "NO$" + +gUnknown_8416244:: + .string "Go back to the\n" + .string "previous menu.$" + +gUnknown_8416262:: @ 8416262 + .string "What would you like to do?$" + +gUnknown_841627D:: + .string "POKéDEX$" + +gUnknown_8416285:: @ 8416285 + .string "BAG$" + +gUnknown_8416289:: + .string "ポケナビ$" + +gUnknown_841628E:: + .string "{PLAYER}$" + +gUnknown_8416291:: + .string "SAVE$" + +gUnknown_8416296:: + .string "OPTION$" + +gUnknown_841629D:: + .string "EXIT$" + +gUnknown_84162A2:: + .string "RETIRE$" + +gUnknown_84162A9:: @ 84162A9 + .string "{STR_VAR_1}/{STR_VAR_2}\n" + .string "BALLS {STR_VAR_3}$" + +gText_TimesStrVar1:: @ 84162B9 + .string "×{STR_VAR_1}$" + +gUnknown_84162BD:: @ 84162BD + .string " BERRY$" + +gText_Coins:: @ 84162C4 + .incbin "baserom.gba", 0x4162C4, 0x24 + +gText_DepositItem:: @ 84162E8 + .string "DEPOSIT ITEM$" + +gUnknown_84162F5:: @ 84162F5 + .incbin "baserom.gba", 0x4162F5, 0xA + +gOtherText_StrVar1:: @ 84162FF + .string "{STR_VAR_1}" + +gText_IsSelected:: @ 8416301 + .string " is\n" + .string "selected.$" + +gUnknown_841630F:: @ 841630F + .incbin "baserom.gba", 0x41630F, 0x1B + +gText_ThereIsNoPokemon:: @ 841632A + .string "There is no\n" + .string "POKéMON.$" + +gOtherText_WhereShouldTheStrVar1BePlaced:: @ 841633F + .string "Where should the {STR_VAR_1}\n" + .string "be placed?$" + +gText_ItemCantBeHeld:: @ 841635E + .string "The {STR_VAR_1} can't be held.$" + +gUnknown_8416374:: @ 8416374 + .incbin "baserom.gba", 0x416374, 0x1B + +gUnknown_841638F:: @ 841638F + .incbin "baserom.gba", 0x41638F, 0x18 + +gUnknown_84163A7:: @ 84163A7 + .incbin "baserom.gba", 0x4163A7, 0x14 + +gUnknown_84163BB:: @ 84163BB + .incbin "baserom.gba", 0x4163BB, 0x20 + +gUnknown_84163DB:: @ 84163DB + .incbin "baserom.gba", 0x4163DB, 0x19 + +gUnknown_84163F4:: @ 84163F4 + .incbin "baserom.gba", 0x4163F4, 0x15 + +gUnknown_8416409:: @ 8416409 + .incbin "baserom.gba", 0x416409, 0x1C + +gUnknown_8416425:: @ 8416425 + .incbin "baserom.gba", 0x416425, 0x2C + +gUnknown_8416451:: @ 8416451 + .incbin "baserom.gba", 0x416451, 0x25 + +gUnknown_8416476:: @ 8416476 + .incbin "baserom.gba", 0x416476, 0x48 + +gUnknown_84164BE:: @ 84164BE + .incbin "baserom.gba", 0x4164BE, 0x55 + +gUnknown_8416513:: @ 8416513 + .incbin "baserom.gba", 0x416513, 0x24 + +gUnknown_8416537:: @ 8416537 + .incbin "baserom.gba", 0x416537, 0x55 + +gUnknown_841658C:: @ 841658C + .incbin "baserom.gba", 0x41658C, 0x12 + +gUnknown_841659E:: @ 841659E + .incbin "baserom.gba", 0x41659E, 0x34 + +gUnknown_84165D2:: @ 84165D2 + .incbin "baserom.gba", 0x4165D2, 0x2E + +gUnknown_8416600:: @ 8416600 + .incbin "baserom.gba", 0x416600, 0x31 + +gUnknown_8416631:: @ 8416631 + .incbin "baserom.gba", 0x416631, 0x13 + +gUnknown_8416644:: @ 8416644 + .incbin "baserom.gba", 0x416644, 0x11 + +gOtherText_Powder:: @ 8416655 + .string "POWDER$" + +gUnknown_841665C:: @ 841665C + .string "Played the POKé FLUTE.\p" + .string "Now, that's a catchy tune!{PAUSE_UNTIL_PRESS}$" + +gUnknown_8416690:: @ 8416690 + .string "Played the POKé FLUTE.$" + +gUnknown_84166A7:: @ 84166A7 + .string "The POKé FLUTE awakened sleeping\n" + .string "POKéMON.{PAUSE_UNTIL_PRESS}$" + +gText_TMCase:: @ 84166D3 + .string "TM CASE$" + +gText_Close:: @ 84166DB + .string "CLOSE$" + +gText_TMCaseWillBePutAway:: @ 84166E1 + .string "The TM CASE will be\n" + .string "put away.$" + +gText_FontSize0:: @ 84166FF + .string "{SIZE 0}$" + +gText_FontSize2:: @ 8416703 + .string "{SIZE 2}$" + +gUnknown_8416707:: @ 8416707 + .string " $" + +gUnknown_841670A:: @ 841670A + .incbin "baserom.gba", 0x41670A, 0xC + +gUnknown_8416716:: @ 8416716 + .incbin "baserom.gba", 0x416716, 0x33 + +gUnknown_8416749:: @ 8416749 + .incbin "baserom.gba", 0x416749, 0xE + +gUnknown_8416757:: @ 8416757 + .incbin "baserom.gba", 0x416757, 0xF + +gUnknown_8416766:: @ 8416766 + .incbin "baserom.gba", 0x416766, 0x28 + +gUnknown_841678E:: @ 841678E + .incbin "baserom.gba", 0x41678E, 0x59 + +gUnknown_84167E7:: @ 84167E7 + .incbin "baserom.gba", 0x4167E7, 0x5B + +gUnknown_8416842:: @ 8416842 + .incbin "baserom.gba", 0x416842, 0x1F + +gUnknown_8416861:: @ 8416861 + .incbin "baserom.gba", 0x416861, 0x3D + +gUnknown_841689E:: @ 841689E + .incbin "baserom.gba", 0x41689E, 0x53 + +gText_OhNoICantBuyThat:: @ 84168F1 + .string "{STR_VAR_1}? Oh, no.\n" + .string "I can't buy that.{PAUSE_UNTIL_PRESS}$" + +gText_HowManyWouldYouLikeToSell:: @ 8416911 + .string "{STR_VAR_1}?\n" + .string "How many would you like to sell?$" + +gText_ICanPayThisMuch_WouldThatBeOkay:: @ 8416936 + .string "I can pay ¥{STR_VAR_3}.\n" + .string "Would that be okay?$" + +gText_TurnedOverItemsWorthYen:: @ 8416959 + .incbin "baserom.gba", 0x416959, 0x21 + +gText_PokedollarVar1:: @ 841697A + .incbin "baserom.gba", 0x41697A, 0x48 + +gUnknown_84169C2:: @ 84169C2 + .incbin "baserom.gba", 0x4169C2, 0x3 + +gUnknown_84169C5:: @ 84169C5 + .incbin "baserom.gba", 0x4169C5, 0x8 + +gUnknown_84169CD:: @ 84169CD + .incbin "baserom.gba", 0x4169CD, 0x8 + +gUnknown_84169D5:: @ 84169D5 + .incbin "baserom.gba", 0x4169D5, 0x4 + +gUnknown_84169D9:: @ 84169D9 + .incbin "baserom.gba", 0x4169D9, 0x3 + +gUnknown_84169DC:: @ 84169DC + .incbin "baserom.gba", 0x4169DC, 0x1C + +gUnknown_84169F8:: @ 84169F8 + .string "This can't be used on\n" + .string "that POKéMON.{PAUSE_UNTIL_PRESS}$" + +gUnknown_8416A1E:: @ 8416A1E + .incbin "baserom.gba", 0x416A1E, 0x1C + +gUnknown_8416A3A:: @ 8416A3A + .incbin "baserom.gba", 0x416A3A, 0x1B + +gUnknown_8416A55:: @ 8416A55 + .incbin "baserom.gba", 0x416A55, 0x20 + +gUnknown_8416A75:: @ 8416A75 + .incbin "baserom.gba", 0x416A75, 0x23 + +gUnknown_8416A98:: @ 8416A98 + .incbin "baserom.gba", 0x416A98, 0x33 + +gUnknown_8416ACB:: @ 8416ACB + .incbin "baserom.gba", 0x416ACB, 0x17 + +gUnknown_8416AE2:: @ 8416AE2 + .incbin "baserom.gba", 0x416AE2, 0x34 + +gUnknown_8416B16:: @ 8416B16 + .incbin "baserom.gba", 0x416B16, 0x28 + +gUnknown_8416B3E:: @ 8416B3E + .incbin "baserom.gba", 0x416B3E, 0x26 + +gUnknown_8416B64:: @ 8416B64 + .incbin "baserom.gba", 0x416B64, 0x22 + +gUnknown_8416B86:: @ 8416B86 + .incbin "baserom.gba", 0x416B86, 0x20 + +gUnknown_8416BA6:: @ 8416BA6 + .incbin "baserom.gba", 0x416BA6, 0x1D + +gUnknown_8416BC3:: @ 8416BC3 + .incbin "baserom.gba", 0x416BC3, 0x38 + +gUnknown_8416BFB:: @ 8416BFB + .incbin "baserom.gba", 0x416BFB, 0x2F + +gUnknown_8416C2A:: @ 8416C2A + .incbin "baserom.gba", 0x416C2A, 0x1F + +gUnknown_8416C49:: @ 8416C49 + .incbin "baserom.gba", 0x416C49, 0x46 + +gUnknown_8416C8F:: @ 8416C8F + .incbin "baserom.gba", 0x416C8F, 0x1D + +gUnknown_8416CAC:: @ 8416CAC + .incbin "baserom.gba", 0x416CAC, 0x1B + +gUnknown_8416CC7:: @ 8416CC7 + .incbin "baserom.gba", 0x416CC7, 0x23 + +gUnknown_8416CEA:: @ 8416CEA + .incbin "baserom.gba", 0x416CEA, 0x2D + +gUnknown_8416D17:: @ 8416D17 + .incbin "baserom.gba", 0x416D17, 0x38 + +gUnknown_8416D4F:: @ 8416D4F + .incbin "baserom.gba", 0x416D4F, 0x29 + +gUnknown_8416D78:: @ 8416D78 + .incbin "baserom.gba", 0x416D78, 0x3B + +gUnknown_8416DB3:: @ 8416DB3 + .incbin "baserom.gba", 0x416DB3, 0xF + +gUnknown_8416DC2:: @ 8416DC2 + .incbin "baserom.gba", 0x416DC2, 0x35 + +gUnknown_8416DF7:: @ 8416DF7 + .incbin "baserom.gba", 0x416DF7, 0x74 + +gUnknown_8416E6B:: @ 8416E6B + .incbin "baserom.gba", 0x416E6B, 0x19 + +gUnknown_8416E84:: @ 8416E84 + .incbin "baserom.gba", 0x416E84, 0x20 + +gUnknown_8416EA4:: @ 8416EA4 + .incbin "baserom.gba", 0x416EA4, 0x22 + +gUnknown_8416EC6:: @ 8416EC6 + .incbin "baserom.gba", 0x416EC6, 0x4A + +gUnknown_8416F10:: @ 8416F10 + .incbin "baserom.gba", 0x416F10, 0x17 + +gUnknown_8416F27:: @ 8416F27 + .string "{STR_VAR_1}'s HP was restored\n" + .string "by {STR_VAR_2} point(s).{PAUSE_UNTIL_PRESS}$" + +gUnknown_8416F4E:: @ 8416F4E + .incbin "baserom.gba", 0x416F4E, 0x21 + +gUnknown_8416F6F:: @ 8416F6F + .incbin "baserom.gba", 0x416F6F, 0x1D + +gUnknown_8416F8C:: @ 8416F8C + .incbin "baserom.gba", 0x416F8C, 0xE + +gUnknown_8416F9A:: @ 8416F9A + .incbin "baserom.gba", 0x416F9A, 0x18 + +gUnknown_8416FB2:: @ 8416FB2 + .incbin "baserom.gba", 0x416FB2, 0x15 + +gUnknown_8416FC7:: @ 8416FC7 + .incbin "baserom.gba", 0x416FC7, 0x26 + +gUnknown_8416FED:: @ 8416FED + .incbin "baserom.gba", 0x416FED, 0x15 + +gUnknown_8417002:: @ 8417002 + .incbin "baserom.gba", 0x417002, 0x15 + +gUnknown_8417017:: @ 8417017 + .incbin "baserom.gba", 0x417017, 0x1B + +gUnknown_8417032:: @ 8417032 + .incbin "baserom.gba", 0x417032, 0x20 + +gUnknown_8417052:: @ 8417052 + .incbin "baserom.gba", 0x417052, 0x23 + +gUnknown_8417075:: @ 8417075 + .incbin "baserom.gba", 0x417075, 0x47 + +gUnknown_84170BC:: @ 84170BC + .incbin "baserom.gba", 0x4170BC, 0x24 + +gUnknown_84170E0:: @ 84170E0 + .incbin "baserom.gba", 0x4170E0, 0x377 + +gUnknown_8417457:: @ 8417457 + .incbin "baserom.gba", 0x417457, 0x3D + +gUnknown_8417494:: @ 8417494 + .incbin "baserom.gba", 0x417494, 0x181 + +gUnknown_8417615:: @ 8417615 + .incbin "baserom.gba", 0x417615, 0x2B + +gUnknown_8417640:: @ 8417640 + .incbin "baserom.gba", 0x417640, 0x34 + +gUnknown_8417674:: @ 8417674 + .incbin "baserom.gba", 0x417674, 0x7 + +gUnknown_841767B:: @ 841767B + .incbin "baserom.gba", 0x41767B, 0x12 + +gUnknown_841768D:: @ 841768D + .incbin "baserom.gba", 0x41768D, 0x9 + +gUnknown_8417696:: @ 8417696 + .incbin "baserom.gba", 0x417696, 0x22 + +gUnknown_84176B8:: @ 84176B8 + .incbin "baserom.gba", 0x4176B8, 0x17 + +gUnknown_84176CF:: @ 84176CF + .incbin "baserom.gba", 0x4176CF, 0x2F + +gUnknown_84176FE:: @ 84176FE + .incbin "baserom.gba", 0x4176FE, 0x76 + +gUnknown_8417774:: @ 8417774 + .incbin "baserom.gba", 0x417774, 0x16 + +gText_NoMoreRoomInBag:: @ 841778A + .string "There is no more\n" + .string "room in the BAG.$" + +gText_WithdrawHowMany:: @ 84177AC + .string "Withdraw how many\n" + .string "{STR_VAR_1}(s)?$" + +gText_WithdrewQuantItem:: @ 84177C5 + .string "Withdrew {STR_VAR_2}\n" + .string "{STR_VAR_1}(s).$" + +gOtherText_Read:: + .string "READ$" + +gOtherText_MoveToBag:: + .string "MOVE TO BAG$" + +gOtherText_Give2:: + .string "GIVE$" + +gUnknown_84177EE:: @ 84177EE + .incbin "baserom.gba", 0x4177EE, 0x18 + +gUnknown_8417806:: @ 8417806 + .incbin "baserom.gba", 0x417806, 0x2A + +gUnknown_8417830:: @ 8417830 + .incbin "baserom.gba", 0x417830, 0x28 + +gUnknown_8417858:: @ 8417858 + .incbin "baserom.gba", 0x417858, 0x13 + +gUnknown_841786B:: @ 841786B + .incbin "baserom.gba", 0x41786B, 0x3C + +gText_WithdrawItem:: @ 84178A7 + .string "WITHDRAW\n" + .string "ITEM$" + +gText_Withdraw:: + .string "WITHDRAW$" + +gText_ReturnToPC:: @ 84178BE + .string "Return to the PC.$" + +gUnknown_84178D0:: @ 84178D0 + .incbin "baserom.gba", 0x4178D0, 0xA + +gUnknown_84178DA:: @ 84178DA + .incbin "baserom.gba", 0x4178DA, 0x5E + +gUnknown_8417938:: @ 8417938 + .incbin "baserom.gba", 0x417938, 0x4 + +gUnknown_841793C:: @ 841793C + .incbin "baserom.gba", 0x41793C, 0x263 + +gUnknown_8417B9F:: @ 8417B9F + .incbin "baserom.gba", 0x417B9F, 0xD + +gUnknown_8417BAC:: @ 8417BAC + .incbin "baserom.gba", 0x417BAC, 0xA + +gUnknown_8417BB6:: @ 8417BB6 + .incbin "baserom.gba", 0x417BB6, 0x8 + +gUnknown_8417BBE:: @ 8417BBE + .incbin "baserom.gba", 0x417BBE, 0xD + +gUnknown_8417BCB:: @ 8417BCB + .incbin "baserom.gba", 0x417BCB, 0x8 + +gUnknown_8417BD3:: @ 8417BD3 + .incbin "baserom.gba", 0x417BD3, 0x5A + +gUnknown_8417C2D:: @ 8417C2D + .incbin "baserom.gba", 0x417C2D, 0x1C0 + +gUnknown_8417DED:: @ 8417DED + .incbin "baserom.gba", 0x417DED, 0x1CC + +gUnknown_8417FB9:: @ 8417FB9 + .incbin "baserom.gba", 0x417FB9, 0x2 + +gUnknown_8417FBB:: @ 8417FBB + .incbin "baserom.gba", 0x417FBB, 0x8 + +gUnknown_8417FC3:: @ 8417FC3 + .incbin "baserom.gba", 0x417FC3, 0x9 + +gUnknown_8417FCC:: @ 8417FCC + .incbin "baserom.gba", 0x417FCC, 0x4 + +gUnknown_8417FD0:: @ 8417FD0 + .incbin "baserom.gba", 0x417FD0, 0xA5 + +gUnknown_8418075:: @ 8418075 + .incbin "baserom.gba", 0x418075, 0xFF + +gUnknown_8418174:: @ 8418174 + .incbin "baserom.gba", 0x418174, 0x14 + +gUnknown_8418188:: @ 8418188 + .incbin "baserom.gba", 0x418188, 0x1C + +gUnknown_84181A4:: @ 84181A4 + .incbin "baserom.gba", 0x4181A4, 0x12 + +gUnknown_84181B6:: @ 84181B6 + .incbin "baserom.gba", 0x4181B6, 0x8 + +gUnknown_84181BE:: @ 84181BE + .incbin "baserom.gba", 0x4181BE, 0x5 + +gFameCheckerText_FameCheckerWillBeClosed:: @ 84181C3 + .string "The FAME CHECKER will be closed.$" + +gFameCheckerText_ClearTextbox:: @ 84181E4 + .string "\n" + .string " $" + +gUnknown_8418204:: @ 8418204 + .incbin "baserom.gba", 0x00418204, 0x48c + +gUnknown_8418690:: @ 8418690 + .incbin "baserom.gba", 0x418690, 0x20 + +gUnknown_84186B0:: @ 84186B0 + .incbin "baserom.gba", 0x4186B0, 0x1D + +gUnknown_84186CD:: @ 84186CD + .incbin "baserom.gba", 0x4186CD, 0x26A + +gUnknown_8418937:: @ 8418937 + .incbin "baserom.gba", 0x418937, 0x1F + +gUnknown_8418956:: @ 8418956 + .incbin "baserom.gba", 0x418956, 0x8A + +gUnknown_84189E0:: @ 84189E0 + .incbin "baserom.gba", 0x4189E0, 0xE + +gUnknown_84189EE:: @ 84189EE + .incbin "baserom.gba", 0x4189EE, 0x22D + +gUnknown_8418C1B:: @ 8418C1B + .string "POKéMON CENTER$" + +gUnknown_8418C2A:: @ 8418C2A + .incbin "baserom.gba", 0x418C2A, 0x59 + +gUnknown_8418C83:: @ 8418C83 + .incbin "baserom.gba", 0x418C83, 0x56 + +gUnknown_8418CD9:: @ 8418CD9 + .string "The backup memory is damaged or\n" + .string "the game's battery has run dry.\n" + .string "The game can be played, but its\n" + .string "progress cannot be saved.\n" + .string "“Please press the A Button.”$" + +gUnknown_8418D70:: @ 8418D70 + .incbin "baserom.gba", 0x418D70, 0x99 + +gUnknown_8418E09:: @ 8418E09 + .incbin "baserom.gba", 0x418E09, 0x6E + +gUnknown_8418E77:: @ 8418E77 + .incbin "baserom.gba", 0x418E77, 0x13 + +gUnknown_8418E8A:: @ 8418E8A + .incbin "baserom.gba", 0x418E8A, 0x1 + +gUnknown_8418E8B:: @ 8418E8B + .incbin "baserom.gba", 0x418E8B, 0x2 + +gUnknown_8418E8D:: @ 8418E8D + .incbin "baserom.gba", 0x418E8D, 0x8 + +gUnknown_8418E95:: @ 8418E95 + .incbin "baserom.gba", 0x418E95, 0x9 + +gUnknown_8418E9E:: @ 8418E9E + .incbin "baserom.gba", 0x418E9E, 0x9 + +gUnknown_8418EA7:: @ 8418EA7 + .incbin "baserom.gba", 0x418EA7, 0x9 + +gUnknown_8418EB0:: @ 8418EB0 + .incbin "baserom.gba", 0x418EB0, 0x5 + +gUnknown_8418EB5:: @ 8418EB5 + .incbin "baserom.gba", 0x418EB5, 0x7 + +gUnknown_8418EBC:: @ 8418EBC + .incbin "baserom.gba", 0x418EBC, 0x7 + +gUnknown_8418EC3:: @ 8418EC3 + .string "No data$" + +gUnknown_8418ECB:: @ 8418ECB + @ Viridian Forest + .string "A deep and sprawling forest that\n" + .string "extends around VIRIDIAN CITY.\n" + .string "A natural maze, many people\n" + .string "become lost inside.$" + +gUnknown_8418F3A:: @ 8418F3A + @ Mt. Moon + .string "A mystical mountain that is known\n" + .string "for its frequent meteor falls.\n" + .string "The shards of stars that fall\n" + .string "here are known as MOON STONES.$" + +gUnknown_8418FB8:: @ 8418FB8 + @ Diglett's Cave + .string "A seemingly plain tunnel that was\n" + .string "dug by wild DIGLETT.\n" + .string "It is famous for connecting\n" + .string "ROUTES 2 and 11.$" + +gUnknown_841901C:: @ 841901C + @ Victory Road + .string "A tunnel situated on ROUTE 23.\n" + .string "It earned its name because it\n" + .string "must be traveled by all TRAINERS\n" + .string "aiming for the top.$" + +gUnknown_841908E:: @ 841908E + @ Pokémon Mansion + .string "A decrepit, burned-down mansion\n" + .string "on CINNABAR ISLAND.\n" + .string "It got its name because a famous\n" + .string "POKéMON researcher lived there.$" + +gUnknown_8419103:: @ 8419103 + @ Safari Zone + .string "An amusement park outside FUCHSIA\n" + .string "CITY where many rare POKéMON can\n" + .string "be observed in the wild.\n" + .string "Catch them in a popular game!$" + +gUnknown_841917D:: @ 841917D + @ Rock Tunnel + .string "A naturally formed underground\n" + .string "tunnel. Because it has not been\n" + .string "developed, it is inky dark inside.\n" + .string "A light is needed to get through.$" + +gUnknown_8419201:: @ 8419201 + @ Seafoam Islands + .string "A pair of islands that is situated\n" + .string "on ROUTE 20.\n" + .string "The two islands are shaped the\n" + .string "same, as if they were twins.$" + +gUnknown_841926D:: @ 841926D + @ Pokémon Tower + .string "A tower that houses the graves of\n" + .string "countless POKéMON.\n" + .string "Many people visit it daily to pay\n" + .string "their respects to the fallen.$" + +gUnknown_84192E2:: @ 84192E2 + @ Cerulean Cave + .string "A mysterious cave that is filled\n" + .string "with terribly tough POKéMON.\n" + .string "It is so dangerous, the POKéMON\n" + .string "LEAGUE is in charge of it.$" + +gUnknown_841935B:: @ 841935B + @ Power Plant + .string "A power plant that was abandoned\n" + .string "years ago, though some of the\n" + .string "machines still work. It is infested\n" + .string "with electric POKéMON.$" + +gUnknown_84193D5:: @ 84193D5 + @ Mt. Ember + .string "Supposedly an inactive volcano.\n" + .string "However, there are persistent\n" + .string "reports that the peak blazes\n" + .string "with fire at night.$" + +gUnknown_8419444:: @ 8419444 + @ Berry Forest + .string "A forest on a small islet off the\n" + .string "coast of THREE ISLAND. BERRIES\n" + .string "grow wildly in profusion, quickly\n" + .string "replenishing those that fall off.$" + +gUnknown_84194C9:: @ 84194C9 + @ Icefall Cave + .string "A cave which is covered by water\n" + .string "and ice on FOUR ISLAND.\n" + .string "It seems like the end of the cave\n" + .string "is connected to the ocean.$" + +gUnknown_841953F:: @ 841953F + @ Lost Cave + .string "A bewildering cave off the coast\n" + .string "of RESORT GORGEOUS.\n" + .string "Some curious thrill seekers have\n" + .string "never emerged from it.$" + +gUnknown_84195AC:: @ 84195AC + @ Tanoby Ruins + .string "An ancient ruin that is rumored to\n" + .string "be home to a peculiar POKéMON.\n" + .string "However, so far, the POKéMON\n" + .string "remains an unconfirmed rumor.$" + +gUnknown_8419629:: @ 8419629 + @ Altering Cave + .string "This island has been known by this\n" + .string "name since the distant past.\n" + .string "No one today knows where it got\n" + .string "this name, however.$" + +gUnknown_841969D:: @ 841969D + @ Pattern Bush + .string "A lush and bush-like area. \n" + .string "In it are patterns where no grass\n" + .string "grows. Some study it in the belief\n" + .string "that a secret is concealed.$" + +gUnknown_841971A:: @ 841971A + @ Dotted Hole + .string "A mysterious, just-discovered\n" + .string "ruin from an ancient time.\n" + .string "It got its name from the six dots\n" + .string "on its door.$" + +gUnknown_8419782:: @ 8419782 + .string "{UNKNOWN_F7 0x00} nature.\n" + .string "Met in a trade.$" + +gUnknown_841979D:: @ 841979D + .string "{UNKNOWN_F7 0x00} nature.\n" + .string "Met in a trade.$" + +gUnknown_84197B8:: @ 84197B8 + .string "{UNKNOWN_F7 0x00} nature.\n" + .string "Met in a fateful encounter when\n" + .string "at {EXTRA_LV} {UNKNOWN_F7 0x01}.$" + +gUnknown_84197ED:: @ 84197ED + .string "{UNKNOWN_F7 0x00} nature.\n" + .string "Met in a fateful encounter when\n" + .string "at {EXTRA_LV} {UNKNOWN_F7 0x01}.$" + +gUnknown_8419822:: @ 8419822 + .string "{UNKNOWN_F7 0x00} nature.\n" + .string "Met in {UNKNOWN_F7 0x02} at {EXTRA_LV} {UNKNOWN_F7 0x01}.$" + +gUnknown_8419841:: @ 8419841 + .string "{UNKNOWN_F7 0x00} nature.\n" + .string "Met in {UNKNOWN_F7 0x02} at {EXTRA_LV} {UNKNOWN_F7 0x01}.$" + +gUnknown_8419860:: @ 8419860 + .string "{UNKNOWN_F7 0x00} nature.\n" + .string "Apparently met in {UNKNOWN_F7 0x02}\n" + .string "at {EXTRA_LV} {UNKNOWN_F7 0x01}.$" + +gUnknown_841988A:: @ 841988A + .string "{UNKNOWN_F7 0x00} nature.\n" + .string "Apparently met in {UNKNOWN_F7 0x02}\n" + .string "at {EXTRA_LV} {UNKNOWN_F7 0x01}.$" + +gUnknown_84198B4:: @ 84198B4 + .string "{UNKNOWN_F7 0x00} nature.\n" + .string "Hatched: {UNKNOWN_F7 0x02}\n" + .string "at {EXTRA_LV} {UNKNOWN_F7 0x01}.$" + +gUnknown_84198D5:: @ 84198D5 + .string "{UNKNOWN_F7 0x00} nature.\n" + .string "Hatched: {UNKNOWN_F7 0x02}\n" + .string "at {EXTRA_LV} {UNKNOWN_F7 0x01}.$" + +@ TODO: Replace this gibberish with the proper Hiragana +gUnknown_84198F6:: @ 84198F6 + .string "{UNKNOWN_F7 0x00}ßÓÁÉË {EXTRA_LV}{UNKNOWN_F7 0x01}çÑÊ\n" + .string "{UNKNOWN_F7 0x02}で ÉÇっŒ ùÂだ$" + +gUnknown_8419913:: @ 8419913 + .string "{UNKNOWN_F7 0x00}ÓÁÉË {EXTRA_LV}{UNKNOWN_F7 0x01}çÑÊ\n" + .string "{UNKNOWN_F7 0x02}で ÉÇっŒ ùÂだ$" + +gUnknown_841992F:: @ 841992F + .string "{UNKNOWN_F7 0x00} nature. Met in a fateful\n" + .string "encounter (hatched: {UNKNOWN_F7 0x02}\n" + .string "at {EXTRA_LV} {UNKNOWN_F7 0x01}).$" + +gUnknown_841996D:: @ 841996D + .string "{UNKNOWN_F7 0x00} nature. Met in a fateful\n" + .string "encounter (hatched: {UNKNOWN_F7 0x02}\n" + .string "at {EXTRA_LV} {UNKNOWN_F7 0x01}).$" + +gUnknown_84199AB:: @ 84199AB + .string "{UNKNOWN_F7 0x00} nature. Apparently met in\n" + .string "a fateful encounter (hatched:\n" + .string "{UNKNOWN_F7 0x02} at {EXTRA_LV} {UNKNOWN_F7 0x01}).$" + +gUnknown_84199F4:: @ 84199F4 + .incbin "baserom.gba", 0x4199F4, 0x217 + +gUnknown_8419C0B:: @ 8419C0B + .incbin "baserom.gba", 0x419C0B, 0x8 + +gUnknown_8419C13:: @ 8419C13 + .incbin "baserom.gba", 0x419C13, 0xA + +gUnknown_8419C1D:: @ 8419C1D + .incbin "baserom.gba", 0x419C1D, 0xD + +gUnknown_8419C2A:: @ 8419C2A + .incbin "baserom.gba", 0x419C2A, 0xF + +gUnknown_8419C39:: @ 8419C39 + .incbin "baserom.gba", 0x419C39, 0xC + +gUnknown_8419C45:: @ 8419C45 + .incbin "baserom.gba", 0x419C45, 0x8 + +gUnknown_8419C4D:: @ 8419C4D + .incbin "baserom.gba", 0x419C4D, 0xC + +gUnknown_8419C59:: @ 8419C59 + .incbin "baserom.gba", 0x419C59, 0x9 + +gUnknown_8419C62:: @ 8419C62 + .incbin "baserom.gba", 0x419C62, 0x10 + +gUnknown_8419C72:: @ 8419C72 + .incbin "baserom.gba", 0x419C72, 0x9 + +gUnknown_8419C7B:: @ 8419C7B + .incbin "baserom.gba", 0x419C7B, 0x7 + +gUnknown_8419C82:: @ 8419C82 + .incbin "baserom.gba", 0x419C82, 0x10 + +gUnknown_8419C92:: @ 8419C92 + .incbin "baserom.gba", 0x419C92, 0x10 + +gUnknown_8419CA2:: @ 8419CA2 + .incbin "baserom.gba", 0x419CA2, 0x7 + +gUnknown_8419CA9:: @ 8419CA9 + .incbin "baserom.gba", 0x419CA9, 0x10 + +gUnknown_8419CB9:: @ 8419CB9 + .incbin "baserom.gba", 0x419CB9, 0x21 + +gUnknown_8419CDA:: @ 8419CDA + .incbin "baserom.gba", 0x419CDA, 0x7 + +gUnknown_8419CE1:: @ 8419CE1 + .incbin "baserom.gba", 0x419CE1, 0x6 + +gUnknown_8419CE7:: @ 8419CE7 + .incbin "baserom.gba", 0x419CE7, 0x6 + +gUnknown_8419CED:: @ 8419CED + .incbin "baserom.gba", 0x419CED, 0x2 + +gUnknown_8419CEF:: @ 8419CEF + .incbin "baserom.gba", 0x419CEF, 0x8 + +gUnknown_8419CF7:: @ 8419CF7 + .incbin "baserom.gba", 0x419CF7, 0x1 + +gUnknown_8419CF8:: @ 8419CF8 + .incbin "baserom.gba", 0x419CF8, 0x5 + +gUnknown_8419CFD:: @ 8419CFD + .incbin "baserom.gba", 0x419CFD, 0xD + +gUnknown_8419D0A:: @ 8419D0A + .incbin "baserom.gba", 0x419D0A, 0x10 + +gUnknown_8419D1A:: @ 8419D1A + .incbin "baserom.gba", 0x419D1A, 0x35 + +gUnknown_8419D4F:: @ 8419D4F + .incbin "baserom.gba", 0x419D4F, 0x8 + +gUnknown_8419D57:: @ 8419D57 + .incbin "baserom.gba", 0x419D57, 0xF + +gUnknown_8419D66:: @ 8419D66 + .incbin "baserom.gba", 0x419D66, 0x17 + +gUnknown_8419D7D:: @ 8419D7D + .incbin "baserom.gba", 0x419D7D, 0xC + +gUnknown_8419D89:: @ 8419D89 + .incbin "baserom.gba", 0x419D89, 0x43 + +gUnknown_8419DCC:: @ 8419DCC + .incbin "baserom.gba", 0x419DCC, 0x86 + +gUnknown_8419E52:: @ 8419E52 + .incbin "baserom.gba", 0x419E52, 0x5 + +gUnknown_8419E57:: @ 8419E57 + .incbin "baserom.gba", 0x419E57, 0xFD + +gUnknown_8419F54:: @ 8419F54 + .string "SAVING…\n" + .string "DON'T TURN OFF THE POWER.$" + +// Start menu option descriptions +gUnknown_8419F76:: @ 8419F76 // Pokedex + .string "A device that records POKéMON secrets\n" + .string "upon meeting or catching them.$" + +gUnknown_8419FBB:: @ 8419FBB // Pokemon + .string "Check and organize POKéMON that are\n" + .string "traveling with you in your party.$" + +gUnknown_841A001:: @ 841A001 // Bag + .string "Equipped with pockets for storing items\n" + .string "you bought, received, or found.$" + +gUnknown_841A049:: @ 841A049 // {PLAYER} + .string "Check your money and other game data.$" + +gUnknown_841A06F:: @ 841A06F // Save + .string "Save your game with a complete record\n" + .string "of your progress to take a break.$" + +gUnknown_841A0B7:: @ 841A0B7 // Options + .string "Adjust various game settings such as text\n" + .string "speed, game rules, etc.$" + +gUnknown_841A0F9:: @ 841A0F9 // Quit + .string "Close this MENU window.$" + +gUnknown_841A111:: @ 841A111 // Retire + .string "Retire from the SAFARI GAME and return to\n" + .string "the registration counter.$" + + .include "data/text/quest_log.inc" + +gUnknown_841B285:: @ 841B285 + .incbin "baserom.gba", 0x41B285, 0xE + +gUnknown_841B293:: @ 841B293 + .incbin "baserom.gba", 0x41B293, 0x2 + +gUnknown_841B295:: @ 841B295 + .incbin "baserom.gba", 0x41B295, 0x12 + +gUnknown_841B2A7:: @ 841B2A7 + .incbin "baserom.gba", 0x41B2A7, 0x35 + +gUnknown_841B2DC:: @ 841B2DC + .incbin "baserom.gba", 0x41B2DC, 0x9 + +gUnknown_841B2E5:: @ 841B2E5 + .incbin "baserom.gba", 0x41B2E5, 0x8 + +gUnknown_841B2ED:: @ 841B2ED + .incbin "baserom.gba", 0x41B2ED, 0x4 + +gUnknown_841B2F1:: @ 841B2F1 + .incbin "baserom.gba", 0x41B2F1, 0x15 + +gUnknown_841B306:: @ 841B306 + .incbin "baserom.gba", 0x41B306, 0xF + +gUnknown_841B315:: @ 841B315 + .incbin "baserom.gba", 0x41B315, 0x6 + +gUnknown_841B31B:: @ 841B31B + .incbin "baserom.gba", 0x41B31B, 0xE + +gUnknown_841B329:: @ 841B329 + .incbin "baserom.gba", 0x41B329, 0x5 + +gUnknown_841B32E:: @ 841B32E + .incbin "baserom.gba", 0x41B32E, 0x7C + +gUnknown_841B3AA:: @ 841B3AA + .incbin "baserom.gba", 0x41B3AA, 0x14 + +gUnknown_841B3BE:: @ 841B3BE + .incbin "baserom.gba", 0x41B3BE, 0x152 + +gUnknown_841B510:: @ 841B510 + .incbin "baserom.gba", 0x41B510, 0x6 + +gUnknown_841B516:: @ 841B516 + .incbin "baserom.gba", 0x41B516, 0x8 + +gUnknown_841B51E:: @ 841B51E + .incbin "baserom.gba", 0x41B51E, 0x6 + +gUnknown_841B524:: @ 841B524 + .incbin "baserom.gba", 0x41B524, 0x7 + +gUnknown_841B52B:: @ 841B52B + .incbin "baserom.gba", 0x41B52B, 0x6 + +gUnknown_841B531:: @ 841B531 + .incbin "baserom.gba", 0x41B531, 0x4 + +gUnknown_841B535:: @ 841B535 + .incbin "baserom.gba", 0x41B535, 0x6 + +gUnknown_841B53B:: @ 841B53B + .incbin "baserom.gba", 0x41B53B, 0x6 + +gUnknown_841B541:: @ 841B541 + .incbin "baserom.gba", 0x41B541, 0xA + +gUnknown_841B54B:: @ 841B54B + .incbin "baserom.gba", 0x41B54B, 0x9 + +gUnknown_841B554:: @ 841B554 + .incbin "baserom.gba", 0x41B554, 0x62 + +gUnknown_841B5B6:: @ 841B5B6 + .incbin "baserom.gba", 0x41B5B6, 0x58 + +gUnknown_841B60E:: @ 841B60E + .incbin "baserom.gba", 0x41B60E, 0xB + +gUnknown_841B619:: @ 841B619 + .incbin "baserom.gba", 0x41B619, 0x6B + +gUnknown_841B684:: @ 841B684 + .incbin "baserom.gba", 0x41B684, 0xB + +gUnknown_841B68F:: @ 841B68F + .incbin "baserom.gba", 0x41B68F, 0x9 + +gUnknown_841B698:: @ 841B698 + .incbin "baserom.gba", 0x41B698, 0x6 + +gUnknown_841B69E:: @ 841B69E + .incbin "baserom.gba", 0x41B69E, 0x1B + +gUnknown_841B6B9:: @ 841B6B9 + .incbin "baserom.gba", 0x41B6B9, 0x1C + +gUnknown_841B6D5:: @ 841B6D5 + .incbin "baserom.gba", 0x41B6D5, 0x7 + +gUnknown_841B6DC:: @ 841B6DC + .incbin "baserom.gba", 0x41B6DC, 0x7 + +gUnknown_841B6E3:: @ 841B6E3 + .incbin "baserom.gba", 0x41B6E3, 0x8 + +gUnknown_841B6EB:: @ 841B6EB + .incbin "baserom.gba", 0x41B6EB, 0x1 + +gUnknown_841B6EC:: @ 841B6EC + .incbin "baserom.gba", 0x41B6EC, 0x7 + +gUnknown_841B6F3:: @ 841B6F3 + .incbin "baserom.gba", 0x41B6F3, 0xA + +gText_HatchedFromEgg:: @ 841B6FD + .incbin "baserom.gba", 0x41B6FD, 0x19 + +gText_NickHatchPrompt:: @ 841B716 + .incbin "baserom.gba", 0x41B716, 0x31 + +gUnknown_841B747:: @ 841B747 + .incbin "baserom.gba", 0x41B747, 0x24 + +gUnknown_841B76B:: @ 841B76B + .incbin "baserom.gba", 0x41B76B, 0xE + +gUnknown_841B779:: @ 841B779 + .incbin "baserom.gba", 0x41B779, 0x2B + + .include "data/text/teachy_tv.inc" + +gString_Bill:: @ 841CB3C + .string "BILL$" + +gString_Someone:: @ 841CB41 + .string "SOMEONE$" + +gString_Help:: @ 841CB49 + .string "HELP$" + +gString_HelpSystem_ClearTo8:: @ 841CB4E + .string "{CLEAR_TO 8}$" + +gUnknown_841CB52:: @ 841CB52 + .string " points$" + +gUnknown_841CB5A:: @ 841CB5A + .string " time(s)$" + +gUnknown_841CB63:: @ 841CB63 + .string "POKéMON JUMP RECORDS$" + + .string "Jumps in a row:$" + + .string "Best score:$" + + .string "EXCELLENTS in a row:$" + +gUnknown_841CBA9:: @ 841CBA9 + .string "Awesome score! You've\n" + .string "won {UNKNOWN_F7 01} {UNKNOWN_F7 00}!$" + +gUnknown_841CBCA:: @ 841CBCA + .string "There's no room left now.$" + +gUnknown_841CBE4:: @ 841CBE4 + .string "You can't hold any more!$" + +gUnknown_841CBFD:: @ 841CBFD + .string "Want to play again?$" + +gUnknown_841CC11:: @ 841CC11 + .string "Somebody dropped out.\n" + .string "The link will be canceled.$" + +gUnknown_841CC42:: @ 841CC42 + .string "SAVING…\n" + .string "DON'T TURN OFF THE POWER.$" + +gUnknown_841CC64:: @ 841CC64 + .string "Communication standby…$" + + .string "SAVING...\n" + .string "DON'T TURN OFF THE POWER.$" + + .string "DODRIO BERRY-PICKING RECORDS$" + + .string "BERRIES picked:$" + + .string "Best score:$" + + .string "BERRIES picked in a row with\n" + .string "five players:$" + +gUnknown_841CD03:: @ 841CD03 + .string "Announcing BERRY-PICKING results!$" + +gUnknown_841CD25:: @ 841CD25 + .string "10P 30P 50P {EXTRA 0xDD}50P$" + +gUnknown_841CD43:: @ 841CD43 + .string "Announcing rankings!$" + +gUnknown_841CD58:: @ 841CD58 + .string "Announcing prizes!$" + + .string "1:$" + + .string "2:$" + + .string "3:$" + + .string "4:$" + + .string "5:$" + +gUnknown_841CD7A:: @ 841CD7A + .string "The first-place winner gets\n" + .string "this {UNKNOWN_F7 00}!$" + +gUnknown_841CD9F:: @ 841CD9F + .string "You can't hold any more...$" + +gUnknown_841CDBA:: @ 841CDBA + .string "It filled its storage space.$" + +gUnknown_841CDD7:: @ 841CDD7 + .string "Want to play again?$" + +gUnknown_841CDEB:: @ 841CDEB + .string "Somebody dropped out.\n" + .string "The link will be canceled.$" + +gUnknown_841CE1C:: @ 841CE1C + .string " points$" + +gUnknown_841CE24:: @ 841CE24 + .string "Communication standby…$" + + .string " Are you ready to BERRY-CRUSH?\n" + .string "Please pick a BERRY for use.\p" + .string "$" + + .string "Please wait while each member\n" + .string "chooses a BERRY.$" + + .string " {PAUSE_MUSIC}{PLAY_BGM MUS_FANFA1}You ended up with {STR_VAR_1} units of\n" + .string "silky-smooth BERRY POWDER.{RESUME_MUSIC}\p" + .string "Your total amount of BERRY POWDER\n" + .string "is {STR_VAR_2}.\p" + .string "$" + + .string " Recording your game results in the\n" + .string "save file.\n" + .string "Please wait.$" + + .string " Want to play BERRY CRUSH again?$" + + .string "You have no BERRIES.\n" + .string "The game will be canceled.$" + + .string "A member dropped out.\n" + .string "The game will be canceled.$" + + .string " Time's up.\p" + .string "Good BERRY POWDER could not be\n" + .string "made…\p" + .string "$" + + .string " Communication standby…$" + + .align 2 +gUnknown_841D020:: @ 841D020 + .incbin "baserom.gba", 0x41D020, 0xC + +gUnknown_841D02C:: @ 841D02C + .incbin "baserom.gba", 0x41D02C, 0x24 + +gUnknown_841D050:: @ 841D050 + .incbin "baserom.gba", 0x41D050, 0x8 + +gUnknown_841D058:: @ 841D058 + .incbin "baserom.gba", 0x41D058, 0x10 + +gUnknown_841D068:: @ 841D068 + .incbin "baserom.gba", 0x41D068, 0xC + +gUnknown_841D074:: @ 841D074 + .incbin "baserom.gba", 0x41D074, 0x4 + +gUnknown_841D078:: @ 841D078 + .incbin "baserom.gba", 0x41D078, 0x8 + +gUnknown_841D080:: @ 841D080 + .incbin "baserom.gba", 0x41D080, 0x8 + +gUnknown_841D088:: @ 841D088 + .incbin "baserom.gba", 0x41D088, 0x8 + +gUnknown_841D090:: @ 841D090 + .incbin "baserom.gba", 0x41D090, 0x8 + +gUnknown_841D098:: @ 841D098 + .incbin "baserom.gba", 0x41D098, 0xC + +gUnknown_841D0A4:: @ 841D0A4 + .incbin "baserom.gba", 0x41D0A4, 0x4 + +gUnknown_841D0A8:: @ 841D0A8 + .incbin "baserom.gba", 0x41D0A8, 0x18 + +gUnknown_841D0C0:: @ 841D0C0 + .incbin "baserom.gba", 0x41D0C0, 0x58 + +gUnknown_841D118:: @ 841D118 + .incbin "baserom.gba", 0x41D118, 0xC + +gUnknown_841D124:: @ 841D124 + .incbin "baserom.gba", 0x41D124, 0x18 + +gUnknown_841D13C:: @ 841D13C + .incbin "baserom.gba", 0x41D13C, 0xC + +gUnknown_841D148:: @ 841D148 + .incbin "baserom.gba", 0x41D148, 0x6 + +gUnknown_841D14E:: @ 841D14E + .incbin "baserom.gba", 0x41D14E, 0x1B + +gUnknown_841D169:: @ 841D169 + .incbin "baserom.gba", 0x41D169, 0x15 + +gUnknown_841D17E:: @ 841D17E + .incbin "baserom.gba", 0x41D17E, 0xF + +gUnknown_841D18D:: @ 841D18D + .incbin "baserom.gba", 0x41D18D, 0xB + +gUnknown_841D198:: @ 841D198 + .incbin "baserom.gba", 0x41D198, 0xCB8 + +gJPText_MysteryGift:: @ 841DE50 + .string "$" + +gJPText_DecideStop:: @ 841DE51 + .string "$" + +gUnknown_841DE52:: @ 841DE52 + .string "$" + +gUnknown_841DE53:: @ 841DE53 + .string "$" + +gUnknown_841DE54:: @ 841DE54 + .string "$" + +gUnknown_841DE55:: @ 841DE55 + .incbin "baserom.gba", 0x41DE55, 0x27 @ japanese + +gUnknown_841DE7C:: @ 841DE7C + .string "$" + +gUnknown_841DE7D:: @ 841DE7D + .string "$" + +gUnknown_841DE7E:: @ 841DE7E + .incbin "baserom.gba", 0x0041de7e, 0x17 @ japanese + +gUnknown_841DE95:: @ 841DE95 + .string "$" + +gUnknown_841DE96:: @ 841DE96 + .string "$" + +gUnknown_841DE97:: @ 841DE97 + .string "$" + +gUnknown_841DE98:: @ 841DE98 + .string "$" + +gUnknown_841DE99:: @ 841DE99 + .string "$" + +gUnknown_841DE9A:: @ 841DE9A + .string "$" + +gUnknown_841DE9B:: @ 841DE9B + .string "$" + +gUnknown_841DE9C:: @ 841DE9C + .string "$" + +gUnknown_841DE9D:: @ 841DE9D + .string "Communication error…\n" + .string "Please check all connections,\n" + .string "then turn the power OFF and ON.$" + +gUnknown_841DEF0:: @ 841DEF0 + .string "Communication error…$" + +gUnknown_841DF05:: @ 841DF05 + .string "Move closer to your link partner(s).\n" + .string "Avoid obstacles between partners.$" + +gUnknown_841DF4C:: @ 841DF4C + .string "A Button: Registration Counter$" + +gUnknown_841DF6B:: @ 841DF6B + .string "A Button: Title Screen$" + +gUnknown_841DF82:: @ 841DF82 + .string "{STR_VAR_1}P LINK$" + +gUnknown_841DF8B:: @ 841DF8B + .string "BRONZE$" + +gUnknown_841DF92:: @ 841DF92 + .string "COPPER$" + +gUnknown_841DF99:: @ 841DF99 + .string "SILVER$" + +gUnknown_841DFA0:: @ 841DFA0 + .string "GOLD$" + +gUnknown_841DFA5:: @ 841DFA5 + .string "{KEYGFX_A_BUTTON}NEXT$" + +gUnknown_841DFAC:: @ 841DFAC + .string "{KEYGFX_DPAD_UP_DOWN}PICK {KEYGFX_A_BUTTON}OK {KEYGFX_B_BUTTON}END$" + +gUnknown_841DFBE:: @ 841DFBE + .string "{KEYGFX_A_BUTTON}{KEYGFX_B_BUTTON}CANCEL$" + +gUnknown_841DFC9:: @ 841DFC9 + .string "{KEYGFX_DPAD_UP_DOWN}PICK {KEYGFX_A_BUTTON}OK {KEYGFX_B_BUTTON}CANCEL$" + + @ easy chat categories + .string "POKéMON$" + + .string "TRAINER$" + + .string "STATUS$" + + .string "BATTLE$" + + .string "GREETINGS$" + + .string "PEOPLE$" + + .string "VOICES$" + + .string "SPEECH$" + + .string "ENDINGS$" + + .string "FEELINGS$" + + .string "CONDITIONS$" + + .string "ACTIONS$" + + .string "LIFESTYLE$" + + .string "HOBBIES$" + + .string "TIME$" + + .string "MISC.$" + + .string "ADJECTIVES$" + + .string "EVENTS$" + + .string "MOVE 1$" + + .string "MOVE 2$" + + .string "TRENDY SAYING$" + + .string "POKéMON2$" + + @ trade-related +gUnknown_841E093:: @ 841E093 + .string "???$" + + .string "$" + + .string "Lv$" + + .string "---$" + +gUnknown_841E09F:: @ 841E09F + .string "????$" + + .string "$" + +gUnknown_841E0A5:: @ 841E0A5 + .string "Is this trade okay?$" + + .string "CANCEL$" + + .string "Choose a POKéMON.$" + + .string "SUMMARY$" + + .string "TRADE$" + + .string "Cancel trade?$" + + .string "Press the B Button to exit.$" + + .string "SUMMARY$" + + .string "TRADE$" + + .string "{COLOR RED}{HIGHLIGHT DARK_GREY}{SHADOW GREEN}Communication standby…\n" + .string "Please wait.$" + + .string "{COLOR RED}{HIGHLIGHT DARK_GREY}{SHADOW GREEN}The trade has been canceled.$" + + .string "{COLOR RED}{HIGHLIGHT DARK_GREY}{SHADOW GREEN}That's your only POKéMON\n" + .string "for battle.$" + + .string "{COLOR RED}{HIGHLIGHT DARK_GREY}{SHADOW GREEN}Waiting for your friend\n" + .string "to finish…$" + + .string "Your friend wants\n" + .string "to trade POKéMON.$" + +gUnknown_841E1E9:: @ 841E1E9 + .string "{STR_VAR_2} will be\n" + .string "sent to {STR_VAR_1}.$" + +gUnknown_841E200:: @ 841E200 + .string "Bye-bye, {STR_VAR_2}!$" + +gUnknown_841E20D:: @ 841E20D + .string "{STR_VAR_1} sent over {STR_VAR_3}.$" + +gUnknown_841E21E:: @ 841E21E + .string "Take good care of {STR_VAR_3}!$" + +gUnknown_841E234:: @ 841E234 + .string "From $" + +gUnknown_841E23A:: @ 841E23A + .string "$" + +gUnknown_841E23B:: @ 841E23B + .string "$" + +gUnknown_841E23C:: @ 841E23C + .string "$" + +gUnknown_841E23D:: @ 841E23D + .string "$" + +gUnknown_841E23E:: @ 841E23E + .string "$" + +gUnknown_841E23F:: @ 841E23F + .string "$" + +gUnknown_841E240:: @ 841E240 + .string "$" + +gUnknown_841E241:: @ 841E241 + .string "$" + +gUnknown_841E242:: @ 841E242 + .string "$" + +gUnknown_841E243:: @ 841E243 + .string "$" + +gUnknown_841E244:: @ 841E244 + .string "$" + +gUnknown_841E245:: @ 841E245 + .string "Wireless Communication Status$" + +gUnknown_841E263:: @ 841E263 + .string "People trading:$" + +gUnknown_841E273:: @ 841E273 + .string "People battling:$" + +gUnknown_841E284:: @ 841E284 + .string "People in the UNION ROOM:$" + +gUnknown_841E29E:: @ 841E29E + .string "People communicating:$" + +gUnknown_841E2B4:: @ 841E2B4 + .string "{UNKNOWN_F7 0x00} players$" + +gUnknown_841E2BF:: @ 841E2BF + .string "{UNKNOWN_F7 0x01} player$" + +gUnknown_841E2C9:: @ 841E2C9 + .string "{UNKNOWN_F7 0x02} players$" + +gUnknown_841E2D4:: @ 841E2D4 + .string "{UNKNOWN_F7 0x03} players$" + +gUnknown_841E2DF:: @ 841E2DF + .incbin "baserom.gba", 0x41e2df, 0xd + +gUnknown_841E2EC:: @ 841E2EC + .incbin "baserom.gba", 0x41e2ec, 0x9 + +gUnknown_841E2F5:: @ 841E2F5 + .incbin "baserom.gba", 0x41e2f5, 0x2d + +gUnknown_841E322:: @ 841E322 + .string "{EXTRA_ID}$" + +gUnknown_841E325:: @ 841E325 + .string "Communication standby…$" + +gDaycareText_GetAlongVeryWell:: @ 841E33C + .string "The two seem to get along\n" + .string "very well.$" + +gDaycareText_GetAlong:: @ 841E361 + .string "The two seem to get along.$" + +gDaycareText_DontLikeOther:: @ 841E37C + .string "The two don't seem to like\n" + .string "each other much.$" + +gDaycareText_PlayOther:: @ 841E3A8 + .string "The two prefer to play with other\n" + .string "POKéMON than each other.$" + +gUnknown_841E3E3:: @ 841E3E3 + .incbin "baserom.gba", 0x41E3E3, 0x18 + +gUnknown_841E3FB:: @ 841E3FB + .incbin "baserom.gba", 0x41E3FB, 0xA + +gUnknown_841E405:: @ 841E405 + .incbin "baserom.gba", 0x41E405, 0xF + +gUnknown_841E414:: @ 841E414 + .incbin "baserom.gba", 0x41E414, 0x6D + +gUnknown_841E481:: @ 841E481 + .incbin "baserom.gba", 0x41E481, 0x12 + +gUnknown_841E493:: @ 841E493 + .incbin "baserom.gba", 0x41E493, 0x2D + +gUnknown_841E4C0:: @ 841E4C0 + .incbin "baserom.gba", 0x41E4C0, 0x22 + +gUnknown_841E4E2:: @ 841E4E2 + .incbin "baserom.gba", 0x41E4E2, 0x2A + +gUnknown_841E50C:: @ 841E50C + .incbin "baserom.gba", 0x41E50C, 0x2C + +gUnknown_841E538:: @ 841E538 + .incbin "baserom.gba", 0x41E538, 0x3A + +gUnknown_841E572:: @ 841E572 + .incbin "baserom.gba", 0x41E572, 0x1B + +gUnknown_841E58D:: @ 841E58D + .incbin "baserom.gba", 0x41E58D, 0x17 + +gFameCheckerText_MainScreenUI:: @ 841E5A4 + .string "{KEYGFX_START_BUTTON}PICK {KEYGFX_DPAD_UP_DOWN}SELECT {KEYGFX_A_BUTTON}OK$" + +gFameCheckerText_PickScreenUI:: @ 841E5B9 + .string "{KEYGFX_START_BUTTON}PICK {KEYGFX_DPAD_UP_DOWN}SELECT {KEYGFX_B_BUTTON}CANCEL$" + +gFameCheckerText_FlavorTextUI:: @ 841E5D2 + .string "{KEYGFX_DPAD_ANY}PICK {KEYGFX_A_BUTTON}READ {KEYGFX_B_BUTTON}CANCEL$" + +gFameCheckerOakName:: @ 841E5E9 + .string "OAK$" + +gFameCheckerDaisyName:: @ 841E5ED + .string "DAISY$" + +gFameCheckerBillName:: @ 841E5F3 + .string "BILL$" + +gFameCheckerMrFujiName:: @ 841E5F8 + .string "FUJI$" + +gText_VarietyOfEventsImportedWireless:: @ 841E5FD + .string "A variety of events will be imported\n" + .string "over Wireless Communication.$" + +gText_WonderCardsInPossession:: @ 841E63F + .string "Read the WONDER CARDS in your\n" + .string "possession.$" + +gText_ReadNewsThatArrived:: @ 841E669 + .string "Read the NEWS that arrived.$" + +gText_ReturnToTitle:: @ 841E685 + .string "Return to the title screen.$" + +gText_DontHaveCardNewOneInput:: @ 841E6A1 + .string "You don't have a WONDER CARD,\n" + .string "so a new CARD will be input.$" + +gText_DontHaveNewsNewOneInput:: @ 841E6DC + .string "You don't have any WONDER NEWS,\n" + .string "so new NEWS will be input.$" + +gText_WhereShouldCardBeAccessed:: @ 841E717 + .string "Where should the WONDER CARD\n" + .string "be accessed?$" + +gText_WhereShouldNewsBeAccessed:: @ 841E741 + .string "Where should the WONDER NEWS\n" + .string "be accessed?$" + +gUnknown_841E76B:: @ 841E76B + .string "Link standby...\n" + .string "... ... B Button: Cancel$" + +gText_Communicating:: @ 841E794 + .string "Communicating…$" + +gText_CommunicationCompleted:: @ 841E7A3 + .string "Communication completed.$" + +gText_CommunicationError:: @ 841E7BC + .string "Communication error.$" + +gText_CommunicationCanceled:: @ 841E7D1 + .string "Communication has been canceled.$" + +gText_ThrowAwayWonderCard:: @ 841E7F2 + .string "Throw away the WONDER CARD\n" + .string "and input a new CARD?$" + +gText_HaventReceivedCardsGift:: @ 841E823 + .string "You haven't received the CARD's gift\n" + .string "yet. Input a new CARD anyway?$" + +gText_WonderCardReceivedFrom:: @ 841E866 + .string "A WONDER CARD has been received\n" + .string "from {STR_VAR_1}.$" + +gText_WonderNewsReceivedFrom:: @ 841E88F + .string "A WONDER NEWS item has been\n" + .string "received from {STR_VAR_1}.$" + +gText_WonderCardReceived:: @ 841E8BD + .string "A new WONDER CARD has been\n" + .string "received.$" + +gText_WonderNewsReceived:: @ 841E8E2 + .string "A new WONDER NEWS item has been\n" + .string "received.$" + +gText_NewStampReceived:: @ 841E90C + .string "A new STAMP has been received.$" + +gText_NewTrainerReceived:: @ 841E92B + .string "A new TRAINER has arrived.$" + +gText_AlreadyHadCard:: @ 841E946 + .string "You already had that\n" + .string "WONDER CARD.$" + +gText_AlreadyHadNews:: @ 841E968 + .string "You already had that\n" + .string "WONDER NEWS item.$" + +gText_AlreadyHadStamp:: @ 841E98F + .string "You already had that\n" + .string "STAMP.$" + +gText_NoMoreRoomForStamps:: @ 841E9AB + .string "There's no more room for adding\n" + .string "STAMPS.$" + +gText_RecordUploadedViaWireless:: @ 841E9D3 + .string "Your record has been uploaded via\n" + .string "WIRELESS COMMUNICATION.$" + +gText_CantAcceptCardFromTrainer:: @ 841EA0D + .string "You can't accept a WONDER CARD\n" + .string "from this TRAINER.$" + +gText_CantAcceptNewsFromTrainer:: @ 841EA3F + .string "You can't accept WONDER NEWS\n" + .string "from this TRAINER.$" + +gText_NothingSentOver:: @ 841EA6F + .string "Nothing was sent over…$" + +gText_WhatToDoWithCards:: @ 841EA86 + .string "What would you like to do\n" + .string "with the WONDER CARDS?$" + +gText_WhatToDoWithNews:: @ 841EAB7 + .string "What would you like to do\n" + .string "with the WONDER NEWS?$" + +gText_SendingWonderCard:: @ 841EAE7 + .string "Sending your WONDER CARD…$" + +gText_SendingWonderNews:: @ 841EB01 + .string "Sending your WONDER NEWS item…$" + +gText_WonderCardSentTo:: @ 841EB20 + .string "Your WONDER CARD has been sent\n" + .string "to {STR_VAR_1}.$" + +gText_WonderNewsSentTo:: @ 841EB46 + .string "Your WONDER NEWS item has been\n" + .string "sent to {STR_VAR_1}.$" + +gText_StampSentTo:: @ 841EB71 + .string "A STAMP has been sent to {STR_VAR_1}.$" + +gText_GiftSentTo:: @ 841EB8E + .string "A GIFT has been sent to {STR_VAR_1}.$" + +gText_OtherTrainerHasCard:: @ 841EBAA + .string "The other TRAINER has the same\n" + .string "WONDER CARD already.$" + +gText_OtherTrainerHasNews:: @ 841EBDE + .string "The other TRAINER has the same\n" + .string "WONDER NEWS already.$" + +gText_OtherTrainerHasStamp:: @ 841EC12 + .string "The other TRAINER has the same\n" + .string "STAMP already.$" + +gText_OtherTrainerCanceled:: @ 841EC40 + .string "The other TRAINER canceled\n" + .string "communication.$" + +gText_CantSendGiftToTrainer:: @ 841EC6A + .string "You can't send a MYSTERY GIFT to\n" + .string "this TRAINER.$" + +gText_IfThrowAwayCardEventWontHappen:: @ 841EC99 + .string "If you throw away the CARD,\n" + .string "its event won't happen. Okay?$" + +gText_OkayToDiscardNews:: @ 841ECD3 + .string "Is it okay to discard this\n" + .string "NEWS item?$" + +gText_HaventReceivedGiftOkayToDiscard:: @ 841ECF9 + .string "You haven't received the\n" + .string "GIFT. Is it okay to discard?$" + +gText_DataWillBeSaved:: @ 841ED2F + .string "Data will be saved.\n" + .string "Please wait.$" + +gText_SaveCompletedPressA:: @ 841ED50 + .string "Save completed.\n" + .string "Please press the A Button.$" + +gText_WonderCardThrownAway:: @ 841ED7B + .string "The WONDER CARD was thrown away.$" + +gText_WonderNewsThrownAway:: @ 841ED9C + .string "The WONDER NEWS was thrown away.$" + +gText_MysteryGift:: @ 841EDBD + .string "MYSTERY GIFT$" + +gText_PickOKCancel:: @ 841EDCA + .string "{KEYGFX_DPAD_UP_DOWN}PICK {KEYGFX_A_BUTTON}OK {KEYGFX_B_BUTTON}EXIT$" + +gText_WonderCards:: + .string "WONDER CARDS$" + +gText_WonderNews:: + .string "WONDER NEWS$" + +gText_WirelessCommunication:: + .string "WIRELESS COMMUNICATION$" + +gText_Friend2:: + .string "FRIEND$" + +gText_Exit3:: + .string "EXIT$" + +gText_Receive:: + .string "RECEIVE$" + +gText_Send:: + .string "SEND$" + +gText_Toss:: + .string "TOSS$" + +gUnknown_841EE2B:: @ 841EE2B + .incbin "baserom.gba", 0x41EE2B, 0x17 diff --git a/ld_script.txt b/ld_script.txt index f64fb569f..dd4d92731 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -416,6 +416,8 @@ SECTIONS { data/data_83F5738.o(.rodata); src/save.o(.rodata); data/data_83FECCC.o(.rodata); + data/strings.o(.rodata); + data/data_83FECCC.o(.rodata.841EE44); src/bag.o(.rodata); src/trainer_pokemon_sprites.o(.rodata); src/vs_seeker.o(.rodata); -- cgit v1.2.3 From 7eeba327bd6dc235a33f06a7779e3b3c52f04475 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 19 Jun 2019 18:03:24 -0400 Subject: Dump items and start decomp item_use --- Makefile | 4 + asm/item_use.s | 610 +- data/data_835B488.s | 14 +- data/data_8471F00.s | 356 +- data/text/move_descriptions.inc | 711 +- include/berry_pouch.h | 7 + include/bike.h | 2 + include/constants/global.h | 79 + include/constants/items.h | 7 - include/field_fadetransition.h | 1 + include/field_player_avatar.h | 2 + include/field_weather.h | 1 + include/global.h | 74 +- include/item.h | 12 +- include/item_menu.h | 5 + include/item_use.h | 33 + include/mail.h | 1 + include/overworld.h | 3 + include/strings.h | 3 + json_data_rules.mk | 9 + ld_script.txt | 3 + src/data/items.json | 6062 +++++++++++ src/data/items.json.txt | 31 + src/item.c | 8 + src/item_use.c | 242 + sym_ewram.txt | 5 +- tools/jsonproc/.gitignore | 1 + tools/jsonproc/Makefile | 20 + tools/jsonproc/inja.hpp | 3396 ++++++ tools/jsonproc/jsonproc.cpp | 91 + tools/jsonproc/jsonproc.h | 32 + tools/jsonproc/nlohmann/json.hpp | 20842 +++++++++++++++++++++++++++++++++++++ 32 files changed, 31611 insertions(+), 1056 deletions(-) create mode 100644 include/berry_pouch.h create mode 100644 include/constants/global.h create mode 100644 json_data_rules.mk create mode 100644 src/data/items.json create mode 100644 src/data/items.json.txt create mode 100644 src/item.c create mode 100644 src/item_use.c create mode 100644 tools/jsonproc/.gitignore create mode 100644 tools/jsonproc/Makefile create mode 100644 tools/jsonproc/inja.hpp create mode 100644 tools/jsonproc/jsonproc.cpp create mode 100644 tools/jsonproc/jsonproc.h create mode 100644 tools/jsonproc/nlohmann/json.hpp diff --git a/Makefile b/Makefile index a5de0f9da..5d01ba6b9 100644 --- a/Makefile +++ b/Makefile @@ -46,6 +46,7 @@ PREPROC := tools/preproc/preproc RAMSCRGEN := tools/ramscrgen/ramscrgen FIX := tools/gbafix/gbafix MAPJSON := tools/mapjson/mapjson +JSONPROC := tools/jsonproc/jsonproc # Clear the default suffixes .SUFFIXES: @@ -103,6 +104,7 @@ tools: @$(MAKE) -C tools/mid2agb @$(MAKE) -C tools/gbafix @$(MAKE) -C tools/mapjson + @$(MAKE) -C tools/jsonproc # For contributors to make sure a change didn't affect the contents of the ROM. compare: rom @@ -126,6 +128,7 @@ clean: tidy @$(MAKE) clean -C tools/mid2agb @$(MAKE) clean -C tools/gbafix @$(MAKE) clean -C tools/mapjson + @$(MAKE) clean -C tools/jsonproc tidy: rm -f $(ROM) $(ELF) $(MAP) @@ -135,6 +138,7 @@ tidy: include graphics_file_rules.mk include tileset_rules.mk include map_data_rules.mk +include json_data_rules.mk %.s: ; %.png: ; diff --git a/asm/item_use.s b/asm/item_use.s index 723eb5ee6..bf4aaaf4d 100644 --- a/asm/item_use.s +++ b/asm/item_use.s @@ -5,608 +5,6 @@ .text - thumb_func_start sub_80A0FBC -sub_80A0FBC: @ 80A0FBC - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _080A0FD8 @ =gSpecialVar_ItemId - ldrh r0, [r1] - cmp r0, 0xAF - bne _080A0FE0 - ldr r0, _080A0FDC @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldrb r0, [r1, 0x10] - b _080A0FE6 - .align 2, 0 -_080A0FD8: .4byte gSpecialVar_ItemId -_080A0FDC: .4byte gTasks -_080A0FE0: - ldrh r0, [r1] - bl ItemId_GetType -_080A0FE6: - subs r0, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080A1010 @ =gSpecialVar_ItemId - ldrh r0, [r0] - bl GetPocketByItemId - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x5 - bne _080A1018 - ldr r0, _080A1014 @ =gUnknown_83E2954 - lsls r1, r4, 2 - adds r1, r0 - ldr r0, [r1] - bl sub_813D934 - adds r0, r5, 0 - bl sub_813D808 - b _080A1032 - .align 2, 0 -_080A1010: .4byte gSpecialVar_ItemId -_080A1014: .4byte gUnknown_83E2954 -_080A1018: - ldr r0, _080A1038 @ =gUnknown_83E2954 - lsls r1, r4, 2 - adds r1, r0 - ldr r0, [r1] - bl sub_8108EE0 - cmp r4, 0x1 - bne _080A102C - bl sub_8108CB4 -_080A102C: - adds r0, r5, 0 - bl sub_8108B50 -_080A1032: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A1038: .4byte gUnknown_83E2954 - thumb_func_end sub_80A0FBC - - thumb_func_start sub_80A103C -sub_80A103C: @ 80A103C - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, _080A1064 @ =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r1 - movs r1, 0xE - ldrsh r0, [r0, r1] - cmp r0, 0x1 - beq _080A1070 - ldr r1, _080A1068 @ =gFieldCallback - ldr r0, _080A106C @ =sub_80A1084 - str r0, [r1] - adds r0, r2, 0 - bl sub_80A0FBC - b _080A107A - .align 2, 0 -_080A1064: .4byte gTasks -_080A1068: .4byte gFieldCallback -_080A106C: .4byte sub_80A1084 -_080A1070: - ldr r0, _080A1080 @ =gUnknown_2039998 - ldr r1, [r0] - adds r0, r2, 0 - bl _call_via_r1 -_080A107A: - pop {r0} - bx r0 - .align 2, 0 -_080A1080: .4byte gUnknown_2039998 - thumb_func_end sub_80A103C - - thumb_func_start sub_80A1084 -sub_80A1084: @ 80A1084 - push {lr} - bl sub_807DC00 - ldr r0, _080A1098 @ =sub_80A109C - movs r1, 0x8 - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_080A1098: .4byte sub_80A109C - thumb_func_end sub_80A1084 - - thumb_func_start sub_80A109C -sub_80A109C: @ 80A109C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_807AA70 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A10B8 - ldr r0, _080A10C0 @ =gUnknown_2039998 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 -_080A10B8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A10C0: .4byte gUnknown_2039998 - thumb_func_end sub_80A109C - - thumb_func_start sub_80A10C4 -sub_80A10C4: @ 80A10C4 - push {r4-r7,lr} - adds r4, r1, 0 - adds r1, r3, 0 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r2, 24 - lsrs r6, r2, 24 - ldr r5, _080A10F0 @ =gStringVar4 - adds r0, r5, 0 - bl StringExpandPlaceholders - cmp r4, 0 - bne _080A10F8 - ldr r3, _080A10F4 @ =sub_810A1F8 - adds r0, r7, 0 - adds r1, r6, 0 - adds r2, r5, 0 - bl sub_8108E70 - b _080A1104 - .align 2, 0 -_080A10F0: .4byte gStringVar4 -_080A10F4: .4byte sub_810A1F8 -_080A10F8: - ldr r3, _080A110C @ =sub_80A112C - adds r0, r7, 0 - adds r1, r6, 0 - adds r2, r5, 0 - bl DisplayItemMessageOnField -_080A1104: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A110C: .4byte sub_80A112C - thumb_func_end sub_80A10C4 - - thumb_func_start sub_80A1110 -sub_80A1110: @ 80A1110 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - ldr r3, _080A1128 @ =gUnknown_8416425 - movs r2, 0x4 - bl sub_80A10C4 - pop {r0} - bx r0 - .align 2, 0 -_080A1128: .4byte gUnknown_8416425 - thumb_func_end sub_80A1110 - - thumb_func_start sub_80A112C -sub_80A112C: @ 80A112C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - movs r1, 0x1 - bl ClearDialogWindowAndFrame - adds r0, r4, 0 - bl DestroyTask - bl sub_80696C0 - bl ScriptContext2_Disable - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A112C - - thumb_func_start sub_80A1150 -sub_80A1150: @ 80A1150 - push {r4,lr} - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r4, 0 - bl ItemId_GetPocket - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bne _080A1168 - movs r0, 0x1 - b _080A117E -_080A1168: - adds r0, r4, 0 - bl ItemId_GetFieldFunc - ldr r1, _080A1178 @ =sub_80A1750 - cmp r0, r1 - beq _080A117C - movs r0, 0 - b _080A117E - .align 2, 0 -_080A1178: .4byte sub_80A1750 -_080A117C: - movs r0, 0x2 -_080A117E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80A1150 - - thumb_func_start sub_80A1184 -sub_80A1184: @ 80A1184 - ldr r1, _080A118C @ =gFieldCallback2 - ldr r0, _080A1190 @ =sub_80A1194 - str r0, [r1] - bx lr - .align 2, 0 -_080A118C: .4byte gFieldCallback2 -_080A1190: .4byte sub_80A1194 - thumb_func_end sub_80A1184 - - thumb_func_start sub_80A1194 -sub_80A1194: @ 80A1194 - push {lr} - bl player_bitmagic - bl ScriptContext2_Enable - bl sub_807DC00 - ldr r0, _080A11B8 @ =sub_80A11C0 - movs r1, 0xA - bl CreateTask - ldr r1, _080A11BC @ =gUnknown_2031DE0 - movs r0, 0 - strb r0, [r1] - movs r0, 0x1 - pop {r1} - bx r1 - .align 2, 0 -_080A11B8: .4byte sub_80A11C0 -_080A11BC: .4byte gUnknown_2031DE0 - thumb_func_end sub_80A1194 - - thumb_func_start sub_80A11C0 -sub_80A11C0: @ 80A11C0 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_807AA70 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A11E0 - bl UnfreezeMapObjects - bl ScriptContext2_Disable - adds r0, r4, 0 - bl DestroyTask -_080A11E0: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A11C0 - - thumb_func_start sub_80A11E8 -sub_80A11E8: @ 80A11E8 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _080A1204 @ =sub_80A1208 - bl sub_8108EE0 - adds r0, r4, 0 - bl sub_8108B50 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A1204: .4byte sub_80A1208 - thumb_func_end sub_80A11E8 - - thumb_func_start sub_80A1208 -sub_80A1208: @ 80A1208 - push {lr} - sub sp, 0x24 - mov r1, sp - ldr r0, _080A1224 @ =gSpecialVar_ItemId - ldrh r0, [r0] - strh r0, [r1, 0x20] - ldr r1, _080A1228 @ =UseFameCheckerFromMenu - mov r0, sp - movs r2, 0 - bl sub_80BEBEC - add sp, 0x24 - pop {r0} - bx r0 - .align 2, 0 -_080A1224: .4byte gSpecialVar_ItemId -_080A1228: .4byte UseFameCheckerFromMenu - thumb_func_end sub_80A1208 - - thumb_func_start sub_80A122C -sub_80A122C: @ 80A122C - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x83 - lsls r0, 4 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080A129A - adds r0, r4, 0 - bl MetatileBehavior_ReturnFalse_17 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080A129A - adds r0, r4, 0 - bl MetatileBehavior_ReturnFalse_18 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080A129A - adds r0, r4, 0 - bl MetatileBehavior_ReturnFalse_15 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080A129A - adds r0, r4, 0 - bl MetatileBehavior_ReturnFalse_16 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A12BC -_080A129A: - ldr r1, _080A12B4 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldrb r1, [r0, 0xE] - ldr r3, _080A12B8 @ =gUnknown_8416451 - adds r0, r5, 0 - movs r2, 0x2 - bl sub_80A10C4 - b _080A12F6 - .align 2, 0 -_080A12B4: .4byte gTasks -_080A12B8: .4byte gUnknown_8416451 -_080A12BC: - bl sub_8055C9C - cmp r0, 0x1 - bne _080A12E4 - bl sub_80BD540 - lsls r0, 24 - cmp r0, 0 - bne _080A12E4 - ldr r1, _080A12DC @ =gUnknown_2039998 - ldr r0, _080A12E0 @ =sub_80A1304 - str r0, [r1] - adds r0, r5, 0 - bl sub_80A103C - b _080A12F6 - .align 2, 0 -_080A12DC: .4byte gUnknown_2039998 -_080A12E0: .4byte sub_80A1304 -_080A12E4: - ldr r0, _080A1300 @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldrb r1, [r1, 0xE] - adds r0, r5, 0 - bl sub_80A1110 -_080A12F6: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A1300: .4byte gTasks - thumb_func_end sub_80A122C - - thumb_func_start sub_80A1304 -sub_80A1304: @ 80A1304 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x6 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - bne _080A131C - movs r0, 0xB - bl PlaySE -_080A131C: - movs r0, 0x6 - bl sub_80BD5C8 - bl sub_80696C0 - bl ScriptContext2_Disable - adds r0, r4, 0 - bl DestroyTask - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A1304 - - thumb_func_start sub_80A1338 -sub_80A1338: @ 80A1338 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_80A137C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A1360 - ldr r1, _080A1358 @ =gUnknown_2039998 - ldr r0, _080A135C @ =ItemUseOnFieldCB_Rod - str r0, [r1] - adds r0, r4, 0 - bl sub_80A103C - b _080A1372 - .align 2, 0 -_080A1358: .4byte gUnknown_2039998 -_080A135C: .4byte ItemUseOnFieldCB_Rod -_080A1360: - ldr r0, _080A1378 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldrb r1, [r1, 0xE] - adds r0, r4, 0 - bl sub_80A1110 -_080A1372: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A1378: .4byte gTasks - thumb_func_end sub_80A1338 - - thumb_func_start sub_80A137C -sub_80A137C: @ 80A137C - push {r4-r6,lr} - sub sp, 0x4 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl GetXYCoordsOneStepInFrontOfPlayer - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 16 - lsrs r6, r0, 16 - lsls r0, r6, 24 - lsrs r5, r0, 24 - adds r0, r5, 0 - bl MetatileBehavior_IsWaterfall - lsls r0, 24 - cmp r0, 0 - bne _080A1404 - movs r0, 0x10 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - bne _080A1404 - movs r0, 0x8 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - bne _080A13D4 - bl IsPlayerFacingSurfableFishableWater - lsls r0, 24 - cmp r0, 0 - beq _080A1404 -_080A13D0: - movs r0, 0x1 - b _080A1406 -_080A13D4: - adds r0, r5, 0 - bl MetatileBehavior_IsSurfable - lsls r0, 24 - cmp r0, 0 - beq _080A13F4 - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl MapGridIsImpassableAt - lsls r0, 24 - cmp r0, 0 - beq _080A13D0 -_080A13F4: - lsls r0, r6, 24 - lsrs r0, 24 - bl MetatileBehavior_ReturnFalse_6 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080A13D0 -_080A1404: - movs r0, 0 -_080A1406: - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80A137C - - thumb_func_start ItemUseOnFieldCB_Rod -ItemUseOnFieldCB_Rod: @ 80A1410 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _080A1434 @ =gSpecialVar_ItemId - ldrh r0, [r0] - bl ItemId_GetSecondaryId - lsls r0, 24 - lsrs r0, 24 - bl sub_805D2C0 - adds r0, r4, 0 - bl DestroyTask - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A1434: .4byte gSpecialVar_ItemId - thumb_func_end ItemUseOnFieldCB_Rod - - thumb_func_start ItemUseOutOfBattle_Itemfinder -ItemUseOutOfBattle_Itemfinder: @ 80A1438 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x27 - bl IncrementGameStat - ldr r1, _080A1458 @ =gUnknown_2039998 - ldr r0, _080A145C @ =sub_813EC8C - str r0, [r1] - adds r0, r4, 0 - bl sub_80A103C - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A1458: .4byte gUnknown_2039998 -_080A145C: .4byte sub_813EC8C - thumb_func_end ItemUseOutOfBattle_Itemfinder - thumb_func_start sub_80A1460 sub_80A1460: @ 80A1460 push {r4,r5,lr} @@ -1534,7 +932,7 @@ ItemUseOutOfBattle_EscapeRope: @ 80A1BAC movs r0, 0x4 movs r1, 0 bl ItemUse_SetQuestLogEvent - ldr r1, _080A1BE4 @ =gUnknown_2039998 + ldr r1, _080A1BE4 @ =sItemUseOnFieldCB ldr r0, _080A1BE8 @ =sub_80A1C08 str r0, [r1] adds r0, r4, 0 @@ -1543,7 +941,7 @@ ItemUseOutOfBattle_EscapeRope: @ 80A1BAC .align 2, 0 _080A1BDC: .4byte gSpecialVar_ItemId _080A1BE0: .4byte gMapHeader -_080A1BE4: .4byte gUnknown_2039998 +_080A1BE4: .4byte sItemUseOnFieldCB _080A1BE8: .4byte sub_80A1C08 _080A1BEC: ldr r0, _080A1C04 @ =gTasks @@ -1809,7 +1207,7 @@ _080A1DE8: .4byte gMapHeader _080A1DEC: .4byte gSaveBlock1Ptr _080A1DF0: .4byte gTasks _080A1DF4: - ldr r1, _080A1E04 @ =gUnknown_2039998 + ldr r1, _080A1E04 @ =sItemUseOnFieldCB ldr r0, _080A1E08 @ =Task_VsSeeker_0 str r0, [r1] adds r0, r2, 0 @@ -1818,7 +1216,7 @@ _080A1E00: pop {r0} bx r0 .align 2, 0 -_080A1E04: .4byte gUnknown_2039998 +_080A1E04: .4byte sItemUseOnFieldCB _080A1E08: .4byte Task_VsSeeker_0 thumb_func_end sub_80A1D9C diff --git a/data/data_835B488.s b/data/data_835B488.s index b606d92b4..34df69079 100644 --- a/data/data_835B488.s +++ b/data/data_835B488.s @@ -546,11 +546,9 @@ gUnknown_83D4164:: @ 83D4164 .section .rodata.83D4E4C gUnknown_83D4E4C:: - .incbin "baserom.gba", 0x3D4E54, 0x61D4 - -gItems:: @ 83DB028 - .incbin "baserom.gba", 0x3DB028, 0x4074 + .incbin "baserom.gba", 0x3D4E54, 0x78 + .section .rodata.83DF09C gUnknown_83DF09C:: @ 83DF09C .incbin "baserom.gba", 0x3DF09C, 0x18 @@ -780,7 +778,13 @@ gUnknown_83E27AC:: @ 83E27AC .incbin "baserom.gba", 0x3E27AC, 0x1A8 gUnknown_83E2954:: @ 83E2954 - .incbin "baserom.gba", 0x3E2954, 0x134 + .4byte sub_8124C8C + .4byte CB2_ReturnToField + .4byte NULL + .4byte NULL + +gUnknown_83E2964:: @ 83E2964 + .incbin "baserom.gba", 0x3E2964, 0x124 gUnknown_83E2A88:: @ 83E2A88 .incbin "baserom.gba", 0x3E2A88, 0x4F0 diff --git a/data/data_8471F00.s b/data/data_8471F00.s index d90870d14..364b5458d 100644 --- a/data/data_8471F00.s +++ b/data/data_8471F00.s @@ -341,5 +341,359 @@ gUnknown_84827B4:: @ 84827B4 .include "data/text/move_descriptions.inc" + .align 2, 0 gUnknown_84886E8:: @ 84886E8 - .incbin "baserom.gba", 0x4886E8, 0x588 + .4byte gMoveDescription_Pound + .4byte gMoveDescription_KarateChop + .4byte gMoveDescription_DoubleSlap + .4byte gMoveDescription_CometPunch + .4byte gMoveDescription_MegaPunch + .4byte gMoveDescription_PayDay + .4byte gMoveDescription_FirePunch + .4byte gMoveDescription_IcePunch + .4byte gMoveDescription_ThunderPunch + .4byte gMoveDescription_Scratch + .4byte gMoveDescription_ViceGrip + .4byte gMoveDescription_Guillotine + .4byte gMoveDescription_RazorWind + .4byte gMoveDescription_SwordsDance + .4byte gMoveDescription_Cut + .4byte gMoveDescription_Gust + .4byte gMoveDescription_WingAttack + .4byte gMoveDescription_Whirlwind + .4byte gMoveDescription_Fly + .4byte gMoveDescription_Bind + .4byte gMoveDescription_Slam + .4byte gMoveDescription_VineWhip + .4byte gMoveDescription_Stomp + .4byte gMoveDescription_DoubleKick + .4byte gMoveDescription_MegaKick + .4byte gMoveDescription_JumpKick + .4byte gMoveDescription_RollingKick + .4byte gMoveDescription_SandAttack + .4byte gMoveDescription_Headbutt + .4byte gMoveDescription_HornAttack + .4byte gMoveDescription_FuryAttack + .4byte gMoveDescription_HornDrill + .4byte gMoveDescription_Tackle + .4byte gMoveDescription_BodySlam + .4byte gMoveDescription_Wrap + .4byte gMoveDescription_TakeDown + .4byte gMoveDescription_Thrash + .4byte gMoveDescription_DoubleEdge + .4byte gMoveDescription_TailWhip + .4byte gMoveDescription_PoisonSting + .4byte gMoveDescription_Twineedle + .4byte gMoveDescription_PinMissile + .4byte gMoveDescription_Leer + .4byte gMoveDescription_Bite + .4byte gMoveDescription_Growl + .4byte gMoveDescription_Roar + .4byte gMoveDescription_Sing + .4byte gMoveDescription_Supersonic + .4byte gMoveDescription_SonicBoom + .4byte gMoveDescription_Disable + .4byte gMoveDescription_Acid + .4byte gMoveDescription_Ember + .4byte gMoveDescription_Flamethrower + .4byte gMoveDescription_Mist + .4byte gMoveDescription_WaterGun + .4byte gMoveDescription_HydroPump + .4byte gMoveDescription_Surf + .4byte gMoveDescription_IceBeam + .4byte gMoveDescription_Blizzard + .4byte gMoveDescription_Psybeam + .4byte gMoveDescription_BubbleBeam + .4byte gMoveDescription_AuroraBeam + .4byte gMoveDescription_HyperBeam + .4byte gMoveDescription_Peck + .4byte gMoveDescription_DrillPeck + .4byte gMoveDescription_Submission + .4byte gMoveDescription_LowKick + .4byte gMoveDescription_Counter + .4byte gMoveDescription_SeismicToss + .4byte gMoveDescription_Strength + .4byte gMoveDescription_Absorb + .4byte gMoveDescription_MegaDrain + .4byte gMoveDescription_LeechSeed + .4byte gMoveDescription_Growth + .4byte gMoveDescription_RazorLeaf + .4byte gMoveDescription_SolarBeam + .4byte gMoveDescription_PoisonPowder + .4byte gMoveDescription_StunSpore + .4byte gMoveDescription_SleepPowder + .4byte gMoveDescription_PetalDance + .4byte gMoveDescription_StringShot + .4byte gMoveDescription_DragonRage + .4byte gMoveDescription_FireSpin + .4byte gMoveDescription_ThunderShock + .4byte gMoveDescription_Thunderbolt + .4byte gMoveDescription_ThunderWave + .4byte gMoveDescription_Thunder + .4byte gMoveDescription_RockThrow + .4byte gMoveDescription_Earthquake + .4byte gMoveDescription_Fissure + .4byte gMoveDescription_Dig + .4byte gMoveDescription_Toxic + .4byte gMoveDescription_Confusion + .4byte gMoveDescription_Psychic + .4byte gMoveDescription_Hypnosis + .4byte gMoveDescription_Meditate + .4byte gMoveDescription_Agility + .4byte gMoveDescription_QuickAttack + .4byte gMoveDescription_Rage + .4byte gMoveDescription_Teleport + .4byte gMoveDescription_NightShade + .4byte gMoveDescription_Mimic + .4byte gMoveDescription_Screech + .4byte gMoveDescription_DoubleTeam + .4byte gMoveDescription_Recover + .4byte gMoveDescription_Harden + .4byte gMoveDescription_Minimize + .4byte gMoveDescription_Smokescreen + .4byte gMoveDescription_ConfuseRay + .4byte gMoveDescription_Withdraw + .4byte gMoveDescription_DefenseCurl + .4byte gMoveDescription_Barrier + .4byte gMoveDescription_LightScreen + .4byte gMoveDescription_Haze + .4byte gMoveDescription_Reflect + .4byte gMoveDescription_FocusEnergy + .4byte gMoveDescription_Bide + .4byte gMoveDescription_Metronome + .4byte gMoveDescription_MirrorMove + .4byte gMoveDescription_SelfDestruct + .4byte gMoveDescription_EggBomb + .4byte gMoveDescription_Lick + .4byte gMoveDescription_Smog + .4byte gMoveDescription_Sludge + .4byte gMoveDescription_BoneClub + .4byte gMoveDescription_FireBlast + .4byte gMoveDescription_Waterfall + .4byte gMoveDescription_Clamp + .4byte gMoveDescription_Swift + .4byte gMoveDescription_SkullBash + .4byte gMoveDescription_SpikeCannon + .4byte gMoveDescription_Constrict + .4byte gMoveDescription_Amnesia + .4byte gMoveDescription_Kinesis + .4byte gMoveDescription_SoftBoiled + .4byte gMoveDescription_HiJumpKick + .4byte gMoveDescription_Glare + .4byte gMoveDescription_DreamEater + .4byte gMoveDescription_PoisonGas + .4byte gMoveDescription_Barrage + .4byte gMoveDescription_LeechLife + .4byte gMoveDescription_LovelyKiss + .4byte gMoveDescription_SkyAttack + .4byte gMoveDescription_Transform + .4byte gMoveDescription_Bubble + .4byte gMoveDescription_DizzyPunch + .4byte gMoveDescription_Spore + .4byte gMoveDescription_Flash + .4byte gMoveDescription_Psywave + .4byte gMoveDescription_Splash + .4byte gMoveDescription_AcidArmor + .4byte gMoveDescription_Crabhammer + .4byte gMoveDescription_Explosion + .4byte gMoveDescription_FurySwipes + .4byte gMoveDescription_Bonemerang + .4byte gMoveDescription_Rest + .4byte gMoveDescription_RockSlide + .4byte gMoveDescription_HyperFang + .4byte gMoveDescription_Sharpen + .4byte gMoveDescription_Conversion + .4byte gMoveDescription_TriAttack + .4byte gMoveDescription_SuperFang + .4byte gMoveDescription_Slash + .4byte gMoveDescription_Substitute + .4byte gMoveDescription_Struggle + .4byte gMoveDescription_Sketch + .4byte gMoveDescription_TripleKick + .4byte gMoveDescription_Thief + .4byte gMoveDescription_SpiderWeb + .4byte gMoveDescription_MindReader + .4byte gMoveDescription_Nightmare + .4byte gMoveDescription_FlameWheel + .4byte gMoveDescription_Snore + .4byte gMoveDescription_Curse + .4byte gMoveDescription_Flail + .4byte gMoveDescription_Conversion2 + .4byte gMoveDescription_Aeroblast + .4byte gMoveDescription_CottonSpore + .4byte gMoveDescription_Reversal + .4byte gMoveDescription_Spite + .4byte gMoveDescription_PowderSnow + .4byte gMoveDescription_Protect + .4byte gMoveDescription_MachPunch + .4byte gMoveDescription_ScaryFace + .4byte gMoveDescription_FaintAttack + .4byte gMoveDescription_SweetKiss + .4byte gMoveDescription_BellyDrum + .4byte gMoveDescription_SludgeBomb + .4byte gMoveDescription_MudSlap + .4byte gMoveDescription_Octazooka + .4byte gMoveDescription_Spikes + .4byte gMoveDescription_ZapCannon + .4byte gMoveDescription_Foresight + .4byte gMoveDescription_DestinyBond + .4byte gMoveDescription_PerishSong + .4byte gMoveDescription_IcyWind + .4byte gMoveDescription_Detect + .4byte gMoveDescription_BoneRush + .4byte gMoveDescription_LockOn + .4byte gMoveDescription_Outrage + .4byte gMoveDescription_Sandstorm + .4byte gMoveDescription_GigaDrain + .4byte gMoveDescription_Endure + .4byte gMoveDescription_Charm + .4byte gMoveDescription_Rollout + .4byte gMoveDescription_FalseSwipe + .4byte gMoveDescription_Swagger + .4byte gMoveDescription_MilkDrink + .4byte gMoveDescription_Spark + .4byte gMoveDescription_FuryCutter + .4byte gMoveDescription_SteelWing + .4byte gMoveDescription_MeanLook + .4byte gMoveDescription_Attract + .4byte gMoveDescription_SleepTalk + .4byte gMoveDescription_HealBell + .4byte gMoveDescription_Return + .4byte gMoveDescription_Present + .4byte gMoveDescription_Frustration + .4byte gMoveDescription_Safeguard + .4byte gMoveDescription_PainSplit + .4byte gMoveDescription_SacredFire + .4byte gMoveDescription_Magnitude + .4byte gMoveDescription_DynamicPunch + .4byte gMoveDescription_Megahorn + .4byte gMoveDescription_DragonBreath + .4byte gMoveDescription_BatonPass + .4byte gMoveDescription_Encore + .4byte gMoveDescription_Pursuit + .4byte gMoveDescription_RapidSpin + .4byte gMoveDescription_SweetScent + .4byte gMoveDescription_IronTail + .4byte gMoveDescription_MetalClaw + .4byte gMoveDescription_VitalThrow + .4byte gMoveDescription_MorningSun + .4byte gMoveDescription_Synthesis + .4byte gMoveDescription_Moonlight + .4byte gMoveDescription_HiddenPower + .4byte gMoveDescription_CrossChop + .4byte gMoveDescription_Twister + .4byte gMoveDescription_RainDance + .4byte gMoveDescription_SunnyDay + .4byte gMoveDescription_Crunch + .4byte gMoveDescription_MirrorCoat + .4byte gMoveDescription_PsychUp + .4byte gMoveDescription_ExtremeSpeed + .4byte gMoveDescription_AncientPower + .4byte gMoveDescription_ShadowBall + .4byte gMoveDescription_FutureSight + .4byte gMoveDescription_RockSmash + .4byte gMoveDescription_Whirlpool + .4byte gMoveDescription_BeatUp + .4byte gMoveDescription_FakeOut + .4byte gMoveDescription_Uproar + .4byte gMoveDescription_Stockpile + .4byte gMoveDescription_SpitUp + .4byte gMoveDescription_Swallow + .4byte gMoveDescription_HeatWave + .4byte gMoveDescription_Hail + .4byte gMoveDescription_Torment + .4byte gMoveDescription_Flatter + .4byte gMoveDescription_WillOWisp + .4byte gMoveDescription_Memento + .4byte gMoveDescription_Facade + .4byte gMoveDescription_FocusPunch + .4byte gMoveDescription_SmellingSalt + .4byte gMoveDescription_FollowMe + .4byte gMoveDescription_NaturePower + .4byte gMoveDescription_Charge + .4byte gMoveDescription_Taunt + .4byte gMoveDescription_HelpingHand + .4byte gMoveDescription_Trick + .4byte gMoveDescription_RolePlay + .4byte gMoveDescription_Wish + .4byte gMoveDescription_Assist + .4byte gMoveDescription_Ingrain + .4byte gMoveDescription_Superpower + .4byte gMoveDescription_MagicCoat + .4byte gMoveDescription_Recycle + .4byte gMoveDescription_Revenge + .4byte gMoveDescription_BrickBreak + .4byte gMoveDescription_Yawn + .4byte gMoveDescription_KnockOff + .4byte gMoveDescription_Endeavor + .4byte gMoveDescription_Eruption + .4byte gMoveDescription_SkillSwap + .4byte gMoveDescription_Imprison + .4byte gMoveDescription_Refresh + .4byte gMoveDescription_Grudge + .4byte gMoveDescription_Snatch + .4byte gMoveDescription_SecretPower + .4byte gMoveDescription_Dive + .4byte gMoveDescription_ArmThrust + .4byte gMoveDescription_Camouflage + .4byte gMoveDescription_TailGlow + .4byte gMoveDescription_LusterPurge + .4byte gMoveDescription_MistBall + .4byte gMoveDescription_FeatherDance + .4byte gMoveDescription_TeeterDance + .4byte gMoveDescription_BlazeKick + .4byte gMoveDescription_MudSport + .4byte gMoveDescription_IceBall + .4byte gMoveDescription_NeedleArm + .4byte gMoveDescription_SlackOff + .4byte gMoveDescription_HyperVoice + .4byte gMoveDescription_PoisonFang + .4byte gMoveDescription_CrushClaw + .4byte gMoveDescription_BlastBurn + .4byte gMoveDescription_HydroCannon + .4byte gMoveDescription_MeteorMash + .4byte gMoveDescription_Astonish + .4byte gMoveDescription_WeatherBall + .4byte gMoveDescription_Aromatherapy + .4byte gMoveDescription_FakeTears + .4byte gMoveDescription_AirCutter + .4byte gMoveDescription_Overheat + .4byte gMoveDescription_OdorSleuth + .4byte gMoveDescription_RockTomb + .4byte gMoveDescription_SilverWind + .4byte gMoveDescription_MetalSound + .4byte gMoveDescription_GrassWhistle + .4byte gMoveDescription_Tickle + .4byte gMoveDescription_CosmicPower + .4byte gMoveDescription_WaterSpout + .4byte gMoveDescription_SignalBeam + .4byte gMoveDescription_ShadowPunch + .4byte gMoveDescription_Extrasensory + .4byte gMoveDescription_SkyUppercut + .4byte gMoveDescription_SandTomb + .4byte gMoveDescription_SheerCold + .4byte gMoveDescription_MuddyWater + .4byte gMoveDescription_BulletSeed + .4byte gMoveDescription_AerialAce + .4byte gMoveDescription_IcicleSpear + .4byte gMoveDescription_IronDefense + .4byte gMoveDescription_Block + .4byte gMoveDescription_Howl + .4byte gMoveDescription_DragonClaw + .4byte gMoveDescription_FrenzyPlant + .4byte gMoveDescription_BulkUp + .4byte gMoveDescription_Bounce + .4byte gMoveDescription_MudShot + .4byte gMoveDescription_PoisonTail + .4byte gMoveDescription_Covet + .4byte gMoveDescription_VoltTackle + .4byte gMoveDescription_MagicalLeaf + .4byte gMoveDescription_WaterSport + .4byte gMoveDescription_CalmMind + .4byte gMoveDescription_LeafBlade + .4byte gMoveDescription_DragonDance + .4byte gMoveDescription_RockBlast + .4byte gMoveDescription_ShockWave + .4byte gMoveDescription_WaterPulse + .4byte gMoveDescription_DoomDesire + .4byte gMoveDescription_PsychoBoost diff --git a/data/text/move_descriptions.inc b/data/text/move_descriptions.inc index 9a7130eb3..94a4d0ca8 100644 --- a/data/text/move_descriptions.inc +++ b/data/text/move_descriptions.inc @@ -1,1065 +1,1062 @@ -gUnknown_8482834:: +gMoveDescription_Pound:: .string "A physical attack\ndelivered with a\nlong tail or a\nforeleg, etc.$" -gUnknown_8482874:: @ 8482874 +gMoveDescription_KarateChop:: @ 8482874 .string "The foe is attacked\nwith a sharp chop.\nIt has a high\ncritical-hit ratio.$" -gUnknown_84828BD:: @ 84828BD +gMoveDescription_DoubleSlap:: @ 84828BD .string "The foe is slapped\nrepeatedly, back\nand forth, two to\nfive times.$" -gUnknown_84828FF:: @ 84828FF +gMoveDescription_CometPunch:: @ 84828FF .string "The foe is hit with\na flurry of punches\nthat strike two to\nfive times.$" -gUnknown_8482946:: @ 8482946 +gMoveDescription_MegaPunch:: @ 8482946 .string "The foe is slugged\nby a punch thrown\nwith muscle-packed\npower.$" -gUnknown_8482985:: @ 8482985 +gMoveDescription_PayDay:: @ 8482985 .string "Numerous coins are\nhurled at the foe.\nMoney is earned\nafter battle.$" -gUnknown_84829C9:: @ 84829C9 +gMoveDescription_FirePunch:: @ 84829C9 .string "The foe is punched\nwith a fiery fist.\nIt may leave the\nfoe with a burn.$" -gUnknown_8482A11:: @ 8482A11 +gMoveDescription_IcePunch:: @ 8482A11 .string "The foe is punched\nwith an icy fist.\nIt may leave the\nfoe frozen.$" -gUnknown_8482A53:: @ 8482A53 +gMoveDescription_ThunderPunch:: @ 8482A53 .string "The foe is punched\nwith an electrified\nfist. It may leave\nthe foe paralyzed.$" -gUnknown_8482AA0:: @ 8482AA0 +gMoveDescription_Scratch:: @ 8482AA0 .string "Hard, pointed, and\nsharp claws rake\nthe foe.$" -gUnknown_8482ACD:: @ 8482ACD +gMoveDescription_ViceGrip:: @ 8482ACD .string "Huge, impressive\npincers grip and\nsqueeze the foe.$" -gUnknown_8482B00:: @ 8482B00 +gMoveDescription_Guillotine:: @ 8482B00 .string "A vicious tearing\nattack with pincers.\nThe foe will faint\nif it hits.$" -gUnknown_8482B46:: @ 8482B46 +gMoveDescription_RazorWind:: @ 8482B46 .string "Blades of wind hit\nthe foe on the 2nd\nturn. It has a high\ncritical-hit ratio.$" -gUnknown_8482B94:: @ 8482B94 +gMoveDescription_SwordsDance:: @ 8482B94 .string "A frenetic dance of\nfighting. It sharply\nraises the ATTACK\nstat.$" -gUnknown_8482BD5:: @ 8482BD5 +gMoveDescription_Cut:: @ 8482BD5 .string "A basic attack.\nIt can be used to\ncut down thin trees\nand grass.$" -gUnknown_8482C16:: @ 8482C16 +gMoveDescription_Gust:: @ 8482C16 .string "Strikes the foe\nwith a gust of wind\nwhipped up by\nwings.$" -gUnknown_8482C4F:: @ 8482C4F +gMoveDescription_WingAttack:: @ 8482C4F .string "The foe is struck\nwith large, imposing\nwings spread wide.$" -gUnknown_8482C89:: @ 8482C89 +gMoveDescription_Whirlwind:: @ 8482C89 .string "The foe is made to\nswitch out with an\nally. In the wild,\nthe battle ends.$" -gUnknown_8482CD3:: @ 8482CD3 +gMoveDescription_Fly:: @ 8482CD3 .string "A 2-turn move that\nhits on the 2nd\nturn. Use it to fly\nto any known town.$" -gUnknown_8482D1D:: @ 8482D1D +gMoveDescription_Bind:: @ 8482D1D .string "A long body or\ntentacles are used\nto bind the foe for\ntwo to five turns.$" -gUnknown_8482D66:: @ 8482D66 +gMoveDescription_Slam:: @ 8482D66 .string "The foe is struck\nwith a long tail,\nvines, etc.$" -gUnknown_8482D96:: @ 8482D96 +gMoveDescription_VineWhip:: @ 8482D96 .string "The foe is struck\nwith slender, whip-\nlike vines.$" -gUnknown_8482DC8:: @ 8482DC8 +gMoveDescription_Stomp:: @ 8482DC8 .string "The foe is stomped\nwith a big foot.\nIt may make the\nfoe flinch.$" -gUnknown_8482E08:: @ 8482E08 +gMoveDescription_DoubleKick:: @ 8482E08 .string "Two legs are used\nto quickly kick the\nfoe twice in one\nturn.$" -gUnknown_8482E45:: @ 8482E45 +gMoveDescription_MegaKick:: @ 8482E45 .string "The foe is attacked\nby a kick fired\nwith muscle-packed\npower.$" -gUnknown_8482E83:: @ 8482E83 +gMoveDescription_JumpKick:: @ 8482E83 .string "The user jumps up\nhigh, then kicks.\nIf it misses, the\nuser hurts itself.$" -gUnknown_8482ECC:: @ 8482ECC +gMoveDescription_RollingKick:: @ 8482ECC .string "A quick kick from a\nrolling spin.\nIt may make the\nfoe flinch.$" -gUnknown_8482F0A:: @ 8482F0A +gMoveDescription_SandAttack:: @ 8482F0A .string "A lot of sand is\nhurled in the foe's\nface, reducing its\naccuracy.$" -gUnknown_8482F4C:: @ 8482F4C +gMoveDescription_Headbutt:: @ 8482F4C .string "The user sticks its\nhead out and rams.\nIt may make the\nfoe flinch.$" -gUnknown_8482F8F:: @ 8482F8F +gMoveDescription_HornAttack:: @ 8482F8F .string "The foe is jabbed\nwith a sharply\npointed horn to\ninflict damage.$" -gUnknown_8482FD0:: @ 8482FD0 +gMoveDescription_FuryAttack:: @ 8482FD0 .string "The foe is jabbed\nrepeatedly with a\nhorn or beak two to\nfive times.$" -gUnknown_8483014:: @ 8483014 +gMoveDescription_HornDrill:: @ 8483014 .string "The horn is rotated\nlike a drill to ram.\nThe foe will faint\nif it hits.$" -gUnknown_848305C:: @ 848305C +gMoveDescription_Tackle:: @ 848305C .string "A physical attack\nin which the user\ncharges, full body,\ninto the foe.$" -gUnknown_84830A2:: @ 84830A2 +gMoveDescription_BodySlam:: @ 84830A2 .string "The user drops its\nfull body on the\nfoe. It may leave\nthe foe paralyzed.$" -gUnknown_84830EB:: @ 84830EB +gMoveDescription_Wrap:: @ 84830EB .string "A long body or\nvines are used to\nwrap the foe for\ntwo to five turns.$" -gUnknown_8483130:: @ 8483130 +gMoveDescription_TakeDown:: @ 8483130 .string "A reckless, full-\nbody charge attack\nthat also hurts the\nuser a little.$" -gUnknown_8483178:: @ 8483178 +gMoveDescription_Thrash:: @ 8483178 .string "The user rampages\nabout for two to\nthree turns, then\nbecomes confused.$" -gUnknown_84831BF:: @ 84831BF +gMoveDescription_DoubleEdge:: @ 84831BF .string "A reckless, life-\nrisking tackle that\nalso hurts the user\na little.$" -gUnknown_8483203:: @ 8483203 +gMoveDescription_TailWhip:: @ 8483203 .string "The user wags its\ntail cutely, making\nthe foe lower its\nDEFENSE stat.$" -gUnknown_8483249:: @ 8483249 +gMoveDescription_PoisonSting:: @ 8483249 .string "The foe is stabbed\nwith a toxic barb,\netc. It may poison\nthe foe.$" -gUnknown_848328B:: @ 848328B +gMoveDescription_Twineedle:: @ 848328B .string "The foe is stabbed\ntwice with foreleg\nstingers. It may\npoison the foe.$" -gUnknown_84832D2:: @ 84832D2 +gMoveDescription_PinMissile:: @ 84832D2 .string "Sharp pins are shot\nat the foe and hit\ntwo to five times\nat once.$" -gUnknown_8483314:: @ 8483314 +gMoveDescription_Leer:: @ 8483314 .string "The foe is given an\nintimidating look\nthat lowers its\nDEFENSE stat.$" -gUnknown_8483358:: @ 8483358 +gMoveDescription_Bite:: @ 8483358 .string "The user bites with\nvicious fangs.\nIt may make the\nfoe flinch.$" -gUnknown_8483397:: @ 8483397 +gMoveDescription_Growl:: @ 8483397 .string "The user growls in\na cute way, making\nthe foe lower its\nATTACK stat.$" -gUnknown_84833DC:: @ 84833DC +gMoveDescription_Roar:: @ 84833DC .string "The foe is made to\nswitch out with an\nally. In the wild,\nthe battle ends.$" -gUnknown_8483426:: @ 8483426 +gMoveDescription_Sing:: @ 8483426 .string "A soothing song\nin a calming voice\nlulls the foe into\na deep slumber.$" -gUnknown_848346C:: @ 848346C +gMoveDescription_Supersonic:: @ 848346C .string "The user generates\nodd sound waves.\nIt may confuse the\nfoe.$" -gUnknown_84834A8:: @ 84834A8 +gMoveDescription_SonicBoom:: @ 84834A8 .string "The foe is hit with\na shock wave that\nalways inflicts 20-\nHP damage.$" -gUnknown_84834ED:: @ 84834ED +gMoveDescription_Disable:: @ 84834ED .string "For a few turns,\nit prevents the foe\nfrom using the move\nit last used.$" -gUnknown_8483534:: @ 8483534 +gMoveDescription_Acid:: @ 8483534 .string "The foe is sprayed\nwith a harsh, hide-\nmelting acid that\nmay lower DEFENSE.$" -gUnknown_8483580:: @ 8483580 +gMoveDescription_Ember:: @ 8483580 .string "The foe is attacked\nwith small flames.\nThe foe may suffer\na burn.$" -gUnknown_84835C2:: @ 84835C2 +gMoveDescription_Flamethrower:: @ 84835C2 .string "The foe is scorched\nwith intense flames.\nThe foe may suffer\na burn.$" -gUnknown_8483606:: @ 8483606 +gMoveDescription_Mist:: @ 8483606 .string "The ally party is\nprotected by a\nmist that prevents\nstat reductions.$" -gUnknown_848364B:: @ 848364B +gMoveDescription_WaterGun:: @ 848364B .string "The foe is struck\nwith a lot of water\nexpelled forcibly\nfrom the mouth.$" -gUnknown_8483693:: @ 8483693 +gMoveDescription_HydroPump:: @ 8483693 .string "A high volume of\nwater is blasted at\nthe foe under great\npressure.$" -gUnknown_84836D6:: @ 84836D6 +gMoveDescription_Surf:: @ 84836D6 .string "A big wave crashes\ndown on the foe.\nCan also be used\nfor crossing water.$" -gUnknown_848371F:: @ 848371F +gMoveDescription_IceBeam:: @ 848371F .string "The foe is struck\nwith an icy beam.\nIt may freeze the\nfoe solid.$" -gUnknown_8483760:: @ 8483760 +gMoveDescription_Blizzard:: @ 8483760 .string "The foe is blasted\nwith a blizzard.\nIt may freeze the\nfoe solid.$" -gUnknown_84837A1:: @ 84837A1 +gMoveDescription_Psybeam:: @ 84837A1 .string "A peculiar ray is\nshot at the foe.\nIt may leave the\nfoe confused.$" -gUnknown_84837E3:: @ 84837E3 +gMoveDescription_BubbleBeam:: @ 84837E3 .string "A spray of bubbles\nstrikes the foe.\nIt may lower the\nfoe's SPEED stat.$" -gUnknown_848382A:: @ 848382A +gMoveDescription_AuroraBeam:: @ 848382A .string "A rainbow-colored\nattack beam.\nIt may lower the\nfoe's ATTACK stat.$" -gUnknown_848386D:: @ 848386D +gMoveDescription_HyperBeam:: @ 848386D .string "A severely damaging\nattack that makes\nthe user rest on\nthe next turn.$" -gUnknown_84838B3:: @ 84838B3 +gMoveDescription_Peck:: @ 84838B3 .string "The foe is jabbed\nwith a sharply\npointed beak or\nhorn.$" -gUnknown_84838EA:: @ 84838EA +gMoveDescription_DrillPeck:: @ 84838EA .string "A corkscrewing\nattack with the\nsharp beak acting\nas a drill.$" -gUnknown_8483927:: @ 8483927 +gMoveDescription_Submission:: @ 8483927 .string "A reckless, full-\nbody throw attack\nthat also hurts the\nuser a little.$" -gUnknown_848396E:: @ 848396E +gMoveDescription_LowKick:: @ 848396E .string "A low, tripping kick\nthat inflicts more\ndamage on heavier\nfoes.$" -gUnknown_84839AE:: @ 84839AE +gMoveDescription_Counter:: @ 84839AE .string "A retaliation move\nthat counters any\nphysical hit with\ndouble the damage.$" -gUnknown_84839F8:: @ 84839F8 +gMoveDescription_SeismicToss:: @ 84839F8 .string "A gravity-fed throw\nthat causes damage\nmatching the user's\nlevel.$" -gUnknown_8483A3A:: @ 8483A3A +gMoveDescription_Strength:: @ 8483A3A .string "The foe is slugged\nat maximum power.\nCan also be used\nto move boulders.$" -gUnknown_8483A82:: @ 8483A82 +gMoveDescription_Absorb:: @ 8483A82 .string "An attack that\nabsorbs half the\ndamage it inflicted\nto restore HP.$" -gUnknown_8483AC5:: @ 8483AC5 +gMoveDescription_MegaDrain:: @ 8483AC5 .string "A tough attack that\ndrains half the\ndamage it inflicted\nto restore HP.$" -gUnknown_8483B0C:: @ 8483B0C +gMoveDescription_LeechSeed:: @ 8483B0C .string "A seed is planted\non the foe to steal\nsome HP for the \nuser on every turn.$" -gUnknown_8483B57:: @ 8483B57 +gMoveDescription_Growth:: @ 8483B57 .string "The user's body is\nforced to grow,\nraising the SP.\nATK stat.$" -gUnknown_8483B94:: @ 8483B94 +gMoveDescription_RazorLeaf:: @ 8483B94 .string "The foe is hit with\na cutting leaf.\nIt has a high\ncritical-hit ratio.$" -gUnknown_8483BDA:: @ 8483BDA +gMoveDescription_SolarBeam:: @ 8483BDA .string "A 2-turn move that\nblasts the foe with\nabsorbed energy in\nthe 2nd turn.$" -gUnknown_8483C22:: @ 8483C22 +gMoveDescription_PoisonPowder:: @ 8483C22 .string "A cloud of toxic\ndust is scattered.\nIt may poison the\nfoe.$" -gUnknown_8483C5D:: @ 8483C5D +gMoveDescription_StunSpore:: @ 8483C5D .string "Paralyzing dust is\nscattered wildly.\nIt may paralyze\nthe foe.$" -gUnknown_8483C9B:: @ 8483C9B +gMoveDescription_SleepPowder:: @ 8483C9B .string "A sleep-inducing\ndust is scattered\nin high volume\naround a foe.$" -gUnknown_8483CDB:: @ 8483CDB +gMoveDescription_PetalDance:: @ 8483CDB .string "The user attacks\nwith petals for two\nto three turns,\nthen gets confused.$" -gUnknown_8483D24:: @ 8483D24 +gMoveDescription_StringShot:: @ 8483D24 .string "The foe is bound\nwith strings shot\nfrom the mouth to\nreduce its SPEED.$" -gUnknown_8483D6B:: @ 8483D6B +gMoveDescription_DragonRage:: @ 8483D6B .string "The foe is hit with\na shock wave that\nalways inflicts 40-\nHP damage.$" -gUnknown_8483DB0:: @ 8483DB0 +gMoveDescription_FireSpin:: @ 8483DB0 .string "The foe is trapped\nin an intense spiral\nof fire that rages\ntwo to five turns.$" -gUnknown_8483DFE:: @ 8483DFE +gMoveDescription_ThunderShock:: @ 8483DFE .string "An electric shock\nattack that may\nalso leave the foe\nparalyzed.$" -gUnknown_8483E3E:: @ 8483E3E +gMoveDescription_Thunderbolt:: @ 8483E3E .string "A strong electrical\nattack that may\nalso leave the foe\nparalyzed.$" -gUnknown_8483E80:: @ 8483E80 +gMoveDescription_ThunderWave:: @ 8483E80 .string "A weak electric\nshock that is sure\nto cause paralysis\nif it hits.$" -gUnknown_8483EC2:: @ 8483EC2 +gMoveDescription_Thunder:: @ 8483EC2 .string "A brutal lightning\nattack that may\nalso leave the foe\nparalyzed.$" -gUnknown_8483F03:: @ 8483F03 +gMoveDescription_RockThrow:: @ 8483F03 .string "The foe is attacked\nwith a shower of\nsmall, easily\nthrown rocks.$" -gUnknown_8483F44:: @ 8483F44 +gMoveDescription_Earthquake:: @ 8483F44 .string "An earthquake that\nstrikes all POKéMON\nin battle excluding\nthe user.$" -gUnknown_8483F89:: @ 8483F89 +gMoveDescription_Fissure:: @ 8483F89 .string "The foe is dropped\ninto a fissure.\nThe foe faints if it\nhits.$" -gUnknown_8483FC7:: @ 8483FC7 +gMoveDescription_Dig:: @ 8483FC7 .string "An attack that hits\non the 2nd turn.\nCan also be used\nto exit dungeons.$" -gUnknown_848400F:: @ 848400F +gMoveDescription_Toxic:: @ 848400F .string "A move that badly\npoisons the foe.\nIts poison damage\nworsens every turn.$" -gUnknown_8484058:: @ 8484058 +gMoveDescription_Confusion:: @ 8484058 .string "A weak telekinetic\nattack that may\nalso leave the foe\nconfused.$" -gUnknown_8484098:: @ 8484098 +gMoveDescription_Psychic:: @ 8484098 .string "A strong telekinetic\nattack. It may also\nlower the foe's\nSP. DEF stat.$" -gUnknown_84840DF:: @ 84840DF +gMoveDescription_Hypnosis:: @ 84840DF .string "Hypnotic suggestion\nis used to make the\nfoe fall into a\ndeep sleep.$" -gUnknown_8484123:: @ 8484123 +gMoveDescription_Meditate:: @ 8484123 .string "The user meditates\nto awaken its power\nand raise its\nATTACK stat.$" -gUnknown_8484165:: @ 8484165 +gMoveDescription_Agility:: @ 8484165 .string "The user relaxes\nand lightens its\nbody to sharply\nboost its SPEED.$" -gUnknown_84841A8:: @ 84841A8 +gMoveDescription_QuickAttack:: @ 84841A8 .string "An almost invisibly\nfast attack that\nis certain to strike\nfirst.$" -gUnknown_84841E9:: @ 84841E9 +gMoveDescription_Rage:: @ 84841E9 .string "An attack that\nbecomes stronger\neach time the user\nis hit in battle.$" -gUnknown_848422E:: @ 848422E +gMoveDescription_Teleport:: @ 848422E .string "Use it to flee from\nany wild POKéMON.\nAlso warps to the\nlast POKé CENTER.$" -gUnknown_8484278:: @ 8484278 +gMoveDescription_NightShade:: @ 8484278 .string "An attack with a\nmirage that inflicts\ndamage matching\nthe user's level.$" -gUnknown_84842C0:: @ 84842C0 +gMoveDescription_Mimic:: @ 84842C0 .string "The user copies the\nmove last used by\nthe foe for the\nrest of the battle.$" -gUnknown_848430A:: @ 848430A +gMoveDescription_Screech:: @ 848430A .string "An ear-splitting\nscreech is emitted\nto sharply reduce\nthe foe's DEFENSE.$" -gUnknown_8484353:: @ 8484353 +gMoveDescription_DoubleTeam:: @ 8484353 .string "The user creates\nillusory copies of\nitself to raise its\nevasiveness.$" -gUnknown_8484398:: @ 8484398 +gMoveDescription_Recover:: @ 8484398 .string "A self-healing move\nthat restores HP by\nup to half of the\nuser's maximum HP.$" -gUnknown_84843E5:: @ 84843E5 +gMoveDescription_Harden:: @ 84843E5 .string "The user stiffens\nall the muscles in\nits body to raise\nits DEFENSE stat.$" -gUnknown_848442E:: @ 848442E +gMoveDescription_Minimize:: @ 848442E .string "The user compresses\nall the cells in its\nbody to raise its\nevasiveness.$" -gUnknown_8484476:: @ 8484476 +gMoveDescription_Smokescreen:: @ 8484476 .string "An obscuring cloud\nof smoke or ink\nreduces the foe's\naccuracy.$" -gUnknown_84844B5:: @ 84844B5 +gMoveDescription_ConfuseRay:: @ 84844B5 .string "The foe is exposed\nto a sinister ray\nthat triggers\nconfusion.$" -gUnknown_84844F3:: @ 84844F3 +gMoveDescription_Withdraw:: @ 84844F3 .string "The user withdraws\nits body in its hard\nshell, raising its\nDEFENSE stat.$" -gUnknown_848453C:: @ 848453C +gMoveDescription_DefenseCurl:: @ 848453C .string "The user curls up\nto conceal weak\nspots and raise its\nDEFENSE stat.$" -gUnknown_8484580:: @ 8484580 +gMoveDescription_Barrier:: @ 8484580 .string "The user creates a\nsturdy wall that\nsharply raises its\nDEFENSE stat.$" -gUnknown_84845C5:: @ 84845C5 +gMoveDescription_LightScreen:: @ 84845C5 .string "A wall of light\ncuts damage from\nSP. ATK attacks\nfor five turns.$" -gUnknown_8484606:: @ 8484606 +gMoveDescription_Haze:: @ 8484606 .string "Eliminates all stat\nchanges among all\nPOKéMON engaged in\nbattle.$" -gUnknown_8484647:: @ 8484647 +gMoveDescription_Reflect:: @ 8484647 .string "A wall of light\ncuts damage from\nphysical attacks\nfor five turns.$" -gUnknown_8484689:: @ 8484689 +gMoveDescription_FocusEnergy:: @ 8484689 .string "The user takes a\ndeep breath and\nfocuses to raise its\ncritical-hit ratio.$" -gUnknown_84846D3:: @ 84846D3 +gMoveDescription_Bide:: @ 84846D3 .string "The user endures\nattacks for two\nturns, then strikes\nback double.$" -gUnknown_8484715:: @ 8484715 +gMoveDescription_Metronome:: @ 8484715 .string "Waggles a finger\nand stimulates the\nbrain into using any\nmove at random.$" -gUnknown_848475E:: @ 848475E +gMoveDescription_MirrorMove:: @ 848475E .string "The user counters\nthe move last used\nby the foe with the\nsame move.$" -gUnknown_84847A2:: @ 84847A2 +gMoveDescription_SelfDestruct:: @ 84847A2 .string "The user blows up\nto inflict severe\ndamage, even\nmaking itself faint.$" -gUnknown_84847E8:: @ 84847E8 +gMoveDescription_EggBomb:: @ 84847E8 .string "A large egg is\nhurled with great\nforce at the foe to\ninflict damage.$" -gUnknown_848482D:: @ 848482D +gMoveDescription_Lick:: @ 848482D .string "The foe is licked\nand hit with a long\ntongue. It may\nalso paralyze.$" -gUnknown_8484871:: @ 8484871 +gMoveDescription_Smog:: @ 8484871 .string "The foe is attacked\nwith exhaust gases.\nIt may also poison\nthe foe.$" -gUnknown_84848B5:: @ 84848B5 +gMoveDescription_Sludge:: @ 84848B5 .string "Toxic sludge is\nhurled at the foe.\nIt may poison the\ntarget.$" -gUnknown_84848F2:: @ 84848F2 +gMoveDescription_BoneClub:: @ 84848F2 .string "The foe is clubbed\nwith a bone held in\nhand. It may make\nthe foe flinch.$" -gUnknown_848493B:: @ 848493B +gMoveDescription_FireBlast:: @ 848493B .string "The foe is hit with\nan intense flame.\nIt may leave the\ntarget with a burn.$" -gUnknown_8484986:: @ 8484986 +gMoveDescription_Waterfall:: @ 8484986 .string "A powerful charge\nattack. It can also\nbe used to climb\na waterfall.$" -gUnknown_84849CA:: @ 84849CA +gMoveDescription_Clamp:: @ 84849CA .string "The foe is clamped\nand squeezed by\nthe user's shell for\ntwo to five turns.$" -gUnknown_8484A15:: @ 8484A15 +gMoveDescription_Swift:: @ 8484A15 .string "Star-shaped rays\nthat never miss are\nfired at all foes in\nbattle.$" -gUnknown_8484A57:: @ 8484A57 +gMoveDescription_SkullBash:: @ 8484A57 .string "The user raises its\nDEFENSE in the 1st\nturn, then attacks\nin the 2nd turn.$" -gUnknown_8484AA2:: @ 8484AA2 +gMoveDescription_SpikeCannon:: @ 8484AA2 .string "Sharp spikes are\nfired at the foe to\nstrike two to five\ntimes.$" -gUnknown_8484AE1:: @ 8484AE1 +gMoveDescription_Constrict:: @ 8484AE1 .string "The foe is attacked\nwith long tentacles\nor vines. It may\nlower SPEED.$" -gUnknown_8484B27:: @ 8484B27 +gMoveDescription_Amnesia:: @ 8484B27 .string "Forgets about\nsomething and\nsharply raises\nSP. DEF.$" -gUnknown_8484B5B:: @ 8484B5B +gMoveDescription_Kinesis:: @ 8484B5B .string "The user distracts\nthe foe by bending\na spoon. It may\nlower accuracy.$" -gUnknown_8484BA1:: @ 8484BA1 +gMoveDescription_SoftBoiled:: @ 8484BA1 .string "Heals the user by\nup to half its full\nHP. It can be used\nto heal an ally.$" -gUnknown_8484BEB:: @ 8484BEB +gMoveDescription_HiJumpKick:: @ 8484BEB .string "A strong jumping\nknee kick. If it\nmisses, the user is\nhurt.$" -gUnknown_8484C27:: @ 8484C27 +gMoveDescription_Glare:: @ 8484C27 .string "The user intimidates\nthe foe with the\ndesign on its belly\nto cause paralysis.$" -gUnknown_8484C75:: @ 8484C75 +gMoveDescription_DreamEater:: @ 8484C75 .string "Absorbs half the\ndamage it inflicted\non a sleeping foe\nto restore HP.$" -gUnknown_8484CBB:: @ 8484CBB +gMoveDescription_PoisonGas:: @ 8484CBB .string "The foe is sprayed\nwith a cloud of\ntoxic gas that may\npoison the foe.$" -gUnknown_8484D01:: @ 8484D01 +gMoveDescription_Barrage:: @ 8484D01 .string "Round objects are\nhurled at the foe\nto strike two to\nfive times.$" -gUnknown_8484D42:: @ 8484D42 +gMoveDescription_LeechLife:: @ 8484D42 .string "An attack that\nabsorbs half the\ndamage it inflicted\nto restore HP.$" -gUnknown_8484D85:: @ 8484D85 +gMoveDescription_LovelyKiss:: @ 8484D85 .string "The user forces a\nkiss on the foe\nwith a scary face\nthat induces sleep.$" -gUnknown_8484DCD:: @ 8484DCD +gMoveDescription_SkyAttack:: @ 8484DCD .string "A 2nd-turn attack\nmove with a high\ncritical-hit ratio.\nThe foe may flinch.$" -gUnknown_8484E18:: @ 8484E18 +gMoveDescription_Transform:: @ 8484E18 .string "The user transforms\ninto a copy of the\nfoe with even the\nsame move set.$" -gUnknown_8484E60:: @ 8484E60 +gMoveDescription_Bubble:: @ 8484E60 .string "A spray of bubbles\nhits the foe.\nIt may lower the\nfoe's SPEED stat.$" -gUnknown_8484EA4:: @ 8484EA4 +gMoveDescription_DizzyPunch:: @ 8484EA4 .string "The foe is hit with\na rhythmic punch\nthat may leave it\nconfused.$" -gUnknown_8484EE5:: @ 8484EE5 +gMoveDescription_Spore:: @ 8484EE5 .string "The user scatters\nbursts of fine\nspores that induce\nsleep.$" -gUnknown_8484F20:: @ 8484F20 +gMoveDescription_Flash:: @ 8484F20 .string "A blast of light\nthat cuts the foe's\naccuracy. It also\nilluminates caves.$" -gUnknown_8484F6A:: @ 8484F6A +gMoveDescription_Psywave:: @ 8484F6A .string "The foe is attacked\nwith an odd, hot\nenergy wave that\nvaries in intensity.$" -gUnknown_8484FB5:: @ 8484FB5 +gMoveDescription_Splash:: @ 8484FB5 .string "The user just flops\nand splashes around\nwithout having any\neffect.$" -gUnknown_8484FF8:: @ 8484FF8 +gMoveDescription_AcidArmor:: @ 8484FF8 .string "The user alters its\ncells to liquefy\nitself and sharply\nraise DEFENSE.$" -gUnknown_848503F:: @ 848503F +gMoveDescription_Crabhammer:: @ 848503F .string "A large pincer is\nused to hammer the\nfoe. It has a high\ncritical-hit ratio.$" -gUnknown_848508B:: @ 848508B +gMoveDescription_Explosion:: @ 848508B .string "The user explodes\nto inflict terrible\ndamage even while\nfainting itself.$" -gUnknown_84850D4:: @ 84850D4 +gMoveDescription_FurySwipes:: @ 84850D4 .string "The foe is raked\nwith sharp claws or\nscythes two to five\ntimes.$" -gUnknown_8485114:: @ 8485114 +gMoveDescription_Bonemerang:: @ 8485114 .string "The user throws a\nbone that hits the\nfoe once, then once\nagain on return.$" -gUnknown_848515E:: @ 848515E +gMoveDescription_Rest:: @ 848515E .string "The user sleeps for\ntwo turns to fully\nrestore HP and heal\nany status problem.$" -gUnknown_84851AD:: @ 84851AD +gMoveDescription_RockSlide:: @ 84851AD .string "Large boulders are\nhurled at the foe.\nIt may make the\nfoe flinch.$" -gUnknown_84851EF:: @ 84851EF +gMoveDescription_HyperFang:: @ 84851EF .string "The foe is attacked\nwith sharp fangs.\nIt may make the\nfoe flinch.$" -gUnknown_8485231:: @ 8485231 +gMoveDescription_Sharpen:: @ 8485231 .string "The user reduces\nits polygon count\nto sharpen edges\nand raise ATTACK.$" -gUnknown_8485277:: @ 8485277 +gMoveDescription_Conversion:: @ 8485277 .string "The user changes\nits type to match\nthe type of one of\nits moves.$" -gUnknown_84852B8:: @ 84852B8 +gMoveDescription_TriAttack:: @ 84852B8 .string "A simultaneous\n3-beam attack that\nmay paralyze, burn,\nor freeze the foe.$" -gUnknown_8485301:: @ 8485301 +gMoveDescription_SuperFang:: @ 8485301 .string "The user attacks\nwith sharp fangs\nand halves the\nfoe's HP.$" -gUnknown_848533C:: @ 848533C +gMoveDescription_Slash:: @ 848533C .string "The foe is slashed\nwith claws, etc.\nIt has a high\ncritical-hit ratio.$" -gUnknown_8485382:: @ 8485382 +gMoveDescription_Substitute:: @ 8485382 .string "The user creates a\ndecoy using one-\nquarter of its full\nHP.$" -gUnknown_84853BE:: @ 84853BE +gMoveDescription_Struggle:: @ 84853BE .string "An attack that is\nused only if there\nis no PP. It also\nhurts the user.$" -gUnknown_8485405:: @ 8485405 +gMoveDescription_Sketch:: @ 8485405 .string "This move copies\nthe move last used\nby the foe, then\ndisappears.$" -gUnknown_8485446:: @ 8485446 +gMoveDescription_TripleKick:: @ 8485446 .string "A 3-kick attack\nthat becomes more\npowerful with each\nsuccessive hit.$" -gUnknown_848548B:: @ 848548B +gMoveDescription_Thief:: @ 848548B .string "An attack that may\ntake the foe's held\nitem if the user\nisn't holding one.$" -gUnknown_84854D6:: @ 84854D6 +gMoveDescription_SpiderWeb:: @ 84854D6 .string "Ensnares the foe \nwith sticky string\nso it doesn't flee\nor switch out.$" -gUnknown_848551D:: @ 848551D +gMoveDescription_MindReader:: @ 848551D .string "The user predicts\nthe foe's action to\nensure its next\nattack hits.$" -gUnknown_8485560:: @ 8485560 +gMoveDescription_Nightmare:: @ 8485560 .string "A sleeping foe is\nshown a nightmare\nthat inflicts some\ndamage every turn.$" -gUnknown_84855AA:: @ 84855AA +gMoveDescription_FlameWheel:: @ 84855AA .string "The user makes a\nfiery charge at the\nfoe. It may cause\na burn.$" -gUnknown_84855E9:: @ 84855E9 +gMoveDescription_Snore:: @ 84855E9 .string "An attack that can\nbe used only while\nasleep. It may\ncause flinching.$" -gUnknown_848562F:: @ 848562F +gMoveDescription_Curse:: @ 848562F .string "A move that works\ndifferently for the\nGHOST-type and all\nthe other types.$" -gUnknown_8485679:: @ 8485679 +gMoveDescription_Flail:: @ 8485679 .string "A desperate attack\nthat becomes more\npowerful the less\nHP the user has.$" -gUnknown_84856C1:: @ 84856C1 +gMoveDescription_Conversion2:: @ 84856C1 .string "The user changes\ntype to make itself\nresistant to the\nlast attack it took.$" -gUnknown_848570C:: @ 848570C +gMoveDescription_Aeroblast:: @ 848570C .string "A vortex of air is\nshot at the foe.\nIt has a high\ncritical-hit ratio.$" -gUnknown_8485752:: @ 8485752 +gMoveDescription_CottonSpore:: @ 8485752 .string "Cotton-like spores\ncling to the foe,\nsharply reducing\nits SPEED stat.$" -gUnknown_8485798:: @ 8485798 +gMoveDescription_Reversal:: @ 8485798 .string "An all-out attack\nthat becomes more\npowerful the less\nHP the user has.$" -gUnknown_84857DF:: @ 84857DF +gMoveDescription_Spite:: @ 84857DF .string "A move that cuts\n2 to 5 PP from the\nmove last used by\nthe foe.$" -gUnknown_848581E:: @ 848581E +gMoveDescription_PowderSnow:: @ 848581E .string "Blasts the foe with\na snowy gust.\nIt may cause\nfreezing.$" -gUnknown_8485857:: @ 8485857 +gMoveDescription_Protect:: @ 8485857 .string "Enables the user to\nevade all attacks.\nIt may fail if used\nin succession.$" -gUnknown_84858A1:: @ 84858A1 +gMoveDescription_MachPunch:: @ 84858A1 .string "A punch thrown at\nblinding speed.\nIt is certain to\nstrike first.$" -gUnknown_84858E2:: @ 84858E2 +gMoveDescription_ScaryFace:: @ 84858E2 .string "Frightens the foe\nwith a scary face\nto sharply reduce\nits SPEED.$" -gUnknown_8485923:: @ 8485923 +gMoveDescription_FaintAttack:: @ 8485923 .string "The user draws up\nclose to the foe\ndisarmingly, then\nhits without fail.$" -gUnknown_848596B:: @ 848596B +gMoveDescription_SweetKiss:: @ 848596B .string "The user kisses\nthe foe with sweet\ncuteness that\ncauses confusion.$" -gUnknown_84859AE:: @ 84859AE +gMoveDescription_BellyDrum:: @ 84859AE .string "The user maximizes\nits ATTACK stat at\nthe cost of half\nits full HP.$" -gUnknown_84859F2:: @ 84859F2 +gMoveDescription_SludgeBomb:: @ 84859F2 .string "Filthy sludge is\nhurled at the foe.\nIt may poison the\ntarget.$" -gUnknown_8485A30:: @ 8485A30 +gMoveDescription_MudSlap:: @ 8485A30 .string "Mud is hurled in\nthe foe's face to\ninflict damage and\nlower its accuracy.$" -gUnknown_8485A7A:: @ 8485A7A +gMoveDescription_Octazooka:: @ 8485A7A .string "Ink is blasted in\nthe foe's face or\neyes to damage and\nlower accuracy.$" -gUnknown_8485AC1:: @ 8485AC1 +gMoveDescription_Spikes:: @ 8485AC1 .string "A trap of spikes is\nlaid around the\nfoe's party to hurt\nfoes switching in.$" -gUnknown_8485B0C:: @ 8485B0C +gMoveDescription_ZapCannon:: @ 8485B0C .string "An electric blast is\nfired like a cannon\nto inflict damage\nand paralyze.$" -gUnknown_8485B55:: @ 8485B55 +gMoveDescription_Foresight:: @ 8485B55 .string "Completely negates\nthe foe's efforts to\nheighten its ability\nto evade.$" -gUnknown_8485B9C:: @ 8485B9C +gMoveDescription_DestinyBond:: @ 8485B9C .string "If the user faints,\nthe foe delivering\nthe final hit also\nfaints.$" -gUnknown_8485BDE:: @ 8485BDE +gMoveDescription_PerishSong:: @ 8485BDE .string "Any battler that\nhears this faints\nin three turns\nunless it switches.$" -gUnknown_8485C24:: @ 8485C24 +gMoveDescription_IcyWind:: @ 8485C24 .string "A chilling wind is\nused to attack.\nIt also lowers the\nSPEED stat.$" -gUnknown_8485C66:: @ 8485C66 +gMoveDescription_Detect:: @ 8485C66 .string "Enables the user to\nevade all attacks.\nIt may fail if used\nin succession.$" -gUnknown_8485CB0:: @ 8485CB0 +gMoveDescription_BoneRush:: @ 8485CB0 .string "The user strikes\nthe foe with a bone\nin hand two to five\ntimes.$" -gUnknown_8485CF0:: @ 8485CF0 +gMoveDescription_LockOn:: @ 8485CF0 .string "The user locks on\nto the foe, making\nthe next move sure\nto hit.$" -gUnknown_8485D30:: @ 8485D30 +gMoveDescription_Outrage:: @ 8485D30 .string "The user thrashes\nabout for two to\nthree turns, then\nbecomes confused.$" -gUnknown_8485D77:: @ 8485D77 +gMoveDescription_Sandstorm:: @ 8485D77 .string "A 5-turn sandstorm\nthat damages all\ntypes except ROCK,\nGROUND, and STEEL.$" -gUnknown_8485DC1:: @ 8485DC1 +gMoveDescription_GigaDrain:: @ 8485DC1 .string "A harsh attack that\nabsorbs half the\ndamage it inflicted\nto restore HP.$" -gUnknown_8485E09:: @ 8485E09 +gMoveDescription_Endure:: @ 8485E09 .string "The user endures\nany hit with 1 HP\nleft. It may fail if\nused in succession.$" -gUnknown_8485E55:: @ 8485E55 +gMoveDescription_Charm:: @ 8485E55 .string "The foe is charmed\nby the user's cute\nappeals, sharply\ncutting its ATTACK.$" -gUnknown_8485EA0:: @ 8485EA0 +gMoveDescription_Rollout:: @ 8485EA0 .string "A 5-turn rolling\nattack that becomes\nstronger each time\nit hits.$" -gUnknown_8485EE1:: @ 8485EE1 +gMoveDescription_FalseSwipe:: @ 8485EE1 .string "A restrained attack\nthat always leaves\nthe foe with at\nleast 1 HP.$" -gUnknown_8485F24:: @ 8485F24 +gMoveDescription_Swagger:: @ 8485F24 .string "A move that makes\nthe foe confused,\nbut also sharply\nraises its ATTACK.$" -gUnknown_8485F6C:: @ 8485F6C +gMoveDescription_MilkDrink:: @ 8485F6C .string "Heals the user by\nup to half its full\nHP. It can be used\nto heal an ally.$" -gUnknown_8485FB6:: @ 8485FB6 +gMoveDescription_Spark:: @ 8485FB6 .string "An electrically\ncharged tackle that\nmay also paralyze\nthe foe.$" -gUnknown_8485FF5:: @ 8485FF5 +gMoveDescription_FuryCutter:: @ 8485FF5 .string "An attack that\ngrows stronger on\neach successive\nhit.$" -gUnknown_848602B:: @ 848602B +gMoveDescription_SteelWing:: @ 848602B .string "The foe is hit with\nwings of steel.\nIt may also raise\nthe user's DEFENSE.$" -gUnknown_8486075:: @ 8486075 +gMoveDescription_MeanLook:: @ 8486075 .string "The foe is fixed\nwith a mean look\nthat prevents it\nfrom escaping.$" -gUnknown_84860B7:: @ 84860B7 +gMoveDescription_Attract:: @ 84860B7 .string "If it is the other\ngender, the foe is\nmade infatuated and\nunlikely to attack.$" -gUnknown_8486105:: @ 8486105 +gMoveDescription_SleepTalk:: @ 8486105 .string "While asleep, the\nuser randomly uses\none of the moves it\nknows.$" -gUnknown_8486145:: @ 8486145 +gMoveDescription_HealBell:: @ 8486145 .string "A soothing bell\nchimes to heal the\nstatus problems of\nall allies.$" -gUnknown_8486187:: @ 8486187 +gMoveDescription_Return:: @ 8486187 .string "This attack move\ngrows more powerful\nthe more the user\nlikes its TRAINER.$" -gUnknown_84861D1:: @ 84861D1 +gMoveDescription_Present:: @ 84861D1 .string "The foe is given a\nbooby-trapped gift.\nIt restores HP\nsometimes, however.$" -gUnknown_848621B:: @ 848621B +gMoveDescription_Frustration:: @ 848621B .string "This attack move\ngrows more powerful\nthe less the user\nlikes its TRAINER.$" -gUnknown_8486265:: @ 8486265 +gMoveDescription_Safeguard:: @ 8486265 .string "It protects the\nuser's party from\nall status problems\nfor five turns.$" -gUnknown_84862AB:: @ 84862AB +gMoveDescription_PainSplit:: @ 84862AB .string "The user adds its\nHP to the foe's HP,\nthen equally shares\nthe total HP.$" -gUnknown_84862F3:: @ 84862F3 +gMoveDescription_SacredFire:: @ 84862F3 .string "A mystical and\npowerful fire\nattack that may\ninflict a burn.$" -gUnknown_8486330:: @ 8486330 +gMoveDescription_Magnitude:: @ 8486330 .string "A ground-shaking\nattack against all\nstanding POKéMON.\nIts power varies.$" -gUnknown_8486378:: @ 8486378 +gMoveDescription_DynamicPunch:: @ 8486378 .string "The foe is punched\nwith the user's full\npower. It confuses\nthe foe if it hits.$" -gUnknown_84863C7:: @ 84863C7 +gMoveDescription_Megahorn:: @ 84863C7 .string "A brutal ramming\nattack delivered\nwith a tough and\nimpressive horn.$" -gUnknown_848640B:: @ 848640B +gMoveDescription_DragonBreath:: @ 848640B .string "The foe is hit with\nan incredible blast\nof breath that may\nalso paralyze.$" -gUnknown_8486455:: @ 8486455 +gMoveDescription_BatonPass:: @ 8486455 .string "The user switches\nout, passing along\nany stat changes\nto the new battler.$" -gUnknown_848649F:: @ 848649F +gMoveDescription_Encore:: @ 848649F .string "Makes the foe use\nthe move it last\nused repeatedly for\ntwo to six turns.$" -gUnknown_84864E8:: @ 84864E8 +gMoveDescription_Pursuit:: @ 84864E8 .string "An attack move that\nworks especially\nwell on a foe that\nis switching out.$" -gUnknown_8486532:: @ 8486532 +gMoveDescription_RapidSpin:: @ 8486532 .string "An attack that\nfrees the user from\nBIND, WRAP, LEECH\nSEED, and SPIKES.$" -gUnknown_8486579:: @ 8486579 +gMoveDescription_SweetScent:: @ 8486579 .string "Allures the foe to\nreduce evasiveness.\nIt also attracts\nwild POKéMON.$" -gUnknown_84865BF:: @ 84865BF +gMoveDescription_IronTail:: @ 84865BF .string "An attack with a\nsteel-hard tail.\nIt may lower the\nfoe's DEFENSE stat.$" -gUnknown_8486606:: @ 8486606 +gMoveDescription_MetalClaw:: @ 8486606 .string "The foe is attacked\nwith steel claws.\nIt may also raise\nthe user's ATTACK.$" -gUnknown_8486651:: @ 8486651 +gMoveDescription_VitalThrow:: @ 8486651 .string "Makes the user\nattack after the\nfoe. In return,\nit will not miss.$" -gUnknown_8486693:: @ 8486693 +gMoveDescription_MorningSun:: @ 8486693 .string "Restores the user's\nHP. The amount of\nHP regained varies\nwith the weather.$" -gUnknown_84866DE:: @ 84866DE +gMoveDescription_Synthesis:: @ 84866DE .string "Restores the user's\nHP. The amount of\nHP regained varies\nwith the weather.$" -gUnknown_8486729:: @ 8486729 +gMoveDescription_Moonlight:: @ 8486729 .string "Restores the user's\nHP. The amount of\nHP regained varies\nwith the weather.$" -gUnknown_8486774:: @ 8486774 +gMoveDescription_HiddenPower:: @ 8486774 .string "An attack that\nvaries in type and\nintensity depending\non the user.$" -gUnknown_84867B7:: @ 84867B7 +gMoveDescription_CrossChop:: @ 84867B7 .string "The foe is hit with\ndouble chops.\nIt has a high\ncritical-hit ratio.$" -gUnknown_84867FB:: @ 84867FB +gMoveDescription_Twister:: @ 84867FB .string "A vicious twister\nattacks the foe.\nIt may make the\nfoe flinch.$" -gUnknown_848683A:: @ 848683A +gMoveDescription_RainDance:: @ 848683A .string "A heavy rain falls\nfor five turns,\npowering up WATER-\ntype moves.$" -gUnknown_848687C:: @ 848687C +gMoveDescription_SunnyDay:: @ 848687C .string "The sun blazes for\nfive turns, powering\nup FIRE-type\nmoves.$" -gUnknown_84868B8:: @ 84868B8 +gMoveDescription_Crunch:: @ 84868B8 .string "The foe is crunched\nwith sharp fangs.\nIt may lower the\nfoe's SP. DEF.$" -gUnknown_84868FE:: @ 84868FE +gMoveDescription_MirrorCoat:: @ 84868FE .string "A retaliation move\nthat pays back the\nfoe's special attack\ndouble.$" -gUnknown_8486941:: @ 8486941 +gMoveDescription_PsychUp:: @ 8486941 .string "The user hypnotizes\nitself into copying\nany stat change\nmade by the foe.$" -gUnknown_848698A:: @ 848698A +gMoveDescription_ExtremeSpeed:: @ 848698A .string "A blindingly speedy\ncharge attack that\nalways goes before\nany other.$" -gUnknown_84869CF:: @ 84869CF +gMoveDescription_AncientPower:: @ 84869CF .string "An ancient power is\nused to attack. It\nmay also raise all\nthe user's stats.$" -gUnknown_8486A1B:: @ 8486A1B +gMoveDescription_ShadowBall:: @ 8486A1B .string "A shadowy blob is\nhurled at the foe.\nMay also lower the\nfoe's SP. DEF.$" -gUnknown_8486A62:: @ 8486A62 +gMoveDescription_FutureSight:: @ 8486A62 .string "Two turns after\nthis move is used,\nthe foe is attacked\npsychically.$" -gUnknown_8486AA6:: @ 8486AA6 +gMoveDescription_RockSmash:: @ 8486AA6 .string "An attack that may\nalso cut DEFENSE.\nIt can also smash\ncracked boulders.$" -gUnknown_8486AEF:: @ 8486AEF +gMoveDescription_Whirlpool:: @ 8486AEF .string "The foe is trapped\nin a fast, vicious\nwhirlpool for two\nto five turns.$" -gUnknown_8486B36:: @ 8486B36 +gMoveDescription_BeatUp:: @ 8486B36 .string "All party POKéMON\njoin in the attack.\nThe more allies,\nthe more damage.$" -gUnknown_8486B7E:: @ 8486B7E +gMoveDescription_FakeOut:: @ 8486B7E .string "An attack that hits\nfirst and causes\nflinching. Usable\nonly on 1st turn.$" -gUnknown_8486BC7:: @ 8486BC7 +gMoveDescription_Uproar:: @ 8486BC7 .string "The user attacks in\nan uproar that\nprevents sleep for\ntwo to five turns.$" -gUnknown_8486C10:: @ 8486C10 +gMoveDescription_Stockpile:: @ 8486C10 .string "The user charges\nup power for use\nlater. It can be\nused three times.$" -gUnknown_8486C55:: @ 8486C55 +gMoveDescription_SpitUp:: @ 8486C55 .string "The power built\nusing STOCKPILE is\nreleased at once\nfor attack.$" -gUnknown_8486C95:: @ 8486C95 +gMoveDescription_Swallow:: @ 8486C95 .string "The energy it built\nusing STOCKPILE is\nabsorbed to restore\nHP.$" -gUnknown_8486CD4:: @ 8486CD4 +gMoveDescription_HeatWave:: @ 8486CD4 .string "The user exhales a\nheated breath to\nattack. It may also\ninflict a burn.$" -gUnknown_8486D1C:: @ 8486D1C +gMoveDescription_Hail:: @ 8486D1C .string "A hailstorm lasting\nfive turns damages\nall POKéMON except\nthe ICE-type.$" -gUnknown_8486D64:: @ 8486D64 +gMoveDescription_Torment:: @ 8486D64 .string "It enrages the foe,\nmaking it incapable\nof using the same\nmove successively.$" -gUnknown_8486DB1:: @ 8486DB1 +gMoveDescription_Flatter:: @ 8486DB1 .string "Flattery is used to\nconfuse the foe,\nbut its SP. ATK\nalso rises.$" -gUnknown_8486DF2:: @ 8486DF2 +gMoveDescription_WillOWisp:: @ 8486DF2 .string "A sinister, bluish\nwhite flame is shot\nat the foe to\ninflict a burn.$" -gUnknown_8486E37:: @ 8486E37 +gMoveDescription_Memento:: @ 8486E37 .string "The user faints,\nbut sharply lowers\nthe foe's ATTACK\nand SP. ATK.$" -gUnknown_8486E79:: @ 8486E79 +gMoveDescription_Facade:: @ 8486E79 .string "An attack that is\nboosted if user is\nburned, poisoned,\nor paralyzed.$" -gUnknown_8486EBE:: @ 8486EBE +gMoveDescription_FocusPunch:: @ 8486EBE .string "An attack that is\nexecuted last.\nThe user flinches\nif hit beforehand.$" -gUnknown_8486F04:: @ 8486F04 +gMoveDescription_SmellingSalt:: @ 8486F04 .string "Doubly effective on\na paralyzed foe,\nbut it also cures\nthe foe's paralysis.$" -gUnknown_8486F50:: @ 8486F50 +gMoveDescription_FollowMe:: @ 8486F50 .string "The user draws\nattention to itself,\nmaking foes attack\nonly the user.$" -gUnknown_8486F96:: @ 8486F96 +gMoveDescription_NaturePower:: @ 8486F96 .string "An attack that\nchanges type\ndepending on the\nuser's location.$" -gUnknown_8486FD4:: @ 8486FD4 +gMoveDescription_Charge:: @ 8486FD4 .string "The user charges\npower to boost the\nELECTRIC move it\nuses next.$" -gUnknown_8487014:: @ 8487014 +gMoveDescription_Taunt:: @ 8487014 .string "The foe is taunted\ninto a rage that\nallows it to use\nonly attack moves.$" -gUnknown_848705C:: @ 848705C +gMoveDescription_HelpingHand:: @ 848705C .string "A move that boosts\nthe power of the\nally's attack in a\nbattle.$" -gUnknown_848709B:: @ 848709B +gMoveDescription_Trick:: @ 848709B .string "A move that tricks\nthe foe into\ntrading held items\nwith the user.$" -gUnknown_84870DD:: @ 84870DD +gMoveDescription_RolePlay:: @ 84870DD .string "The user mimics the\nfoe completely and\ncopies the foe's\nability.$" -gUnknown_848711E:: @ 848711E +gMoveDescription_Wish:: @ 848711E .string "A self-healing move\nthat restores half\nthe full HP on the\nnext turn.$" -gUnknown_8487163:: @ 8487163 +gMoveDescription_Assist:: @ 8487163 .string "The user randomly\npicks and uses a\nmove of an allied\nPOKéMON.$" -gUnknown_84871A1:: @ 84871A1 +gMoveDescription_Ingrain:: @ 84871A1 .string "The user lays roots\nthat restore HP on\nevery turn.\nIt can't switch out.$" -gUnknown_84871E9:: @ 84871E9 +gMoveDescription_Superpower:: @ 84871E9 .string "A powerful attack,\nbut it also lowers\nthe user's ATTACK\nand DEFENSE stats.$" -gUnknown_8487234:: @ 8487234 +gMoveDescription_MagicCoat:: @ 8487234 .string "Reflects back the\nfoe's LEECH SEED\nand any status-\ndamaging move.$" -gUnknown_8487276:: @ 8487276 +gMoveDescription_Recycle:: @ 8487276 .string "A move that\nrecycles a used\nitem for use once\nmore.$" -gUnknown_84872AA:: @ 84872AA +gMoveDescription_Revenge:: @ 84872AA .string "An attack move that\ngains in intensity if\nthe target has hurt\nthe user.$" -gUnknown_84872F2:: @ 84872F2 +gMoveDescription_BrickBreak:: @ 84872F2 .string "An attack that also\nbreaks any barrier\nlike LIGHT SCREEN\nand REFLECT.$" -gUnknown_8487338:: @ 8487338 +gMoveDescription_Yawn:: @ 8487338 .string "A huge yawn lulls\nthe foe into falling\nasleep on the next\nturn.$" -gUnknown_8487378:: @ 8487378 +gMoveDescription_KnockOff:: @ 8487378 .string "Knocks down the\nfoe's held item to\nprevent its use\nduring the battle.$" -gUnknown_84873BE:: @ 84873BE +gMoveDescription_Endeavor:: @ 84873BE .string "Gains power the\nfewer HP the user\nhas compared with\nthe foe.$" -gUnknown_84873FB:: @ 84873FB +gMoveDescription_Eruption:: @ 84873FB .string "The higher the\nuser's HP, the more\npowerful this\nattack becomes.$" -gUnknown_848743C:: @ 848743C +gMoveDescription_SkillSwap:: @ 848743C .string "The user employs\nits psychic power\nto swap abilities\nwith the foe.$" -gUnknown_848747F:: @ 848747F +gMoveDescription_Imprison:: @ 848747F .string "Prevents foes from\nusing any move\nthat is also known\nby the user.$" -gUnknown_84874C1:: @ 84874C1 +gMoveDescription_Refresh:: @ 84874C1 .string "A self-healing move\nthat cures the user\nof a poisoning,\nburn, or paralysis.$" -gUnknown_848750D:: @ 848750D +gMoveDescription_Grudge:: @ 848750D .string "If the user faints,\nthis move deletes\nthe PP of the move\nthat finished it.$" -gUnknown_8487558:: @ 8487558 +gMoveDescription_Snatch:: @ 8487558 .string "Steals the effects\nof the foe's\nhealing or status-\nchanging move.$" -gUnknown_848759A:: @ 848759A +gMoveDescription_SecretPower:: @ 848759A .string "An attack that may\nhave an additional\neffect that varies\nwith the terrain.$" -gUnknown_84875E5:: @ 84875E5 +gMoveDescription_Dive:: @ 84875E5 .string "The user dives\nunderwater on the\nfirst turn and\nstrikes next turn.$" -gUnknown_8487628:: @ 8487628 +gMoveDescription_ArmThrust:: @ 8487628 .string "A quick flurry of\nstraight-arm\npunches that hit\ntwo to five times.$" -gUnknown_848766B:: @ 848766B +gMoveDescription_Camouflage:: @ 848766B .string "Alters the user's\ntype depending on\nthe location's\nterrain.$" -gUnknown_84876A7:: @ 84876A7 +gMoveDescription_TailGlow:: @ 84876A7 .string "The user flashes a\nlight that sharply\nraises its SP. ATK\nstat.$" -gUnknown_84876E6:: @ 84876E6 +gMoveDescription_LusterPurge:: @ 84876E6 .string "A burst of light\ninjures the foe. It\nmay also lower the\nfoe's SP. DEF.$" -gUnknown_848772D:: @ 848772D +gMoveDescription_MistBall:: @ 848772D .string "A flurry of down\nhits the foe. It\nmay also lower the\nfoe's SP. ATK.$" -gUnknown_8487771:: @ 8487771 +gMoveDescription_FeatherDance:: @ 8487771 .string "The foe is covered\nwith a mass of down\nthat sharply cuts\nthe ATTACK stat.$" -gUnknown_84877BB:: @ 84877BB +gMoveDescription_TeeterDance:: @ 84877BB .string "A wobbly dance\nthat confuses all\nthe POKéMON in\nbattle.$" -gUnknown_84877F3:: @ 84877F3 +gMoveDescription_BlazeKick:: @ 84877F3 .string "A fiery kick with a\nhigh critical-hit\nratio. It may also\nburn the foe.$" -gUnknown_848783A:: @ 848783A +gMoveDescription_MudSport:: @ 848783A .string "Weakens ELECTRIC-\ntype attacks while\nthe user is in the\nbattle.$" -gUnknown_848787A:: @ 848787A +gMoveDescription_IceBall:: @ 848787A .string "A 5-turn rolling\nattack that becomes\nstronger each time\nit rolls.$" -gUnknown_84878BC:: @ 84878BC +gMoveDescription_NeedleArm:: @ 84878BC .string "An attack using\nthorny arms.\nIt may make the\nfoe flinch.$" -gUnknown_84878F5:: @ 84878F5 +gMoveDescription_SlackOff:: @ 84878F5 .string "The user slacks off\nand restores its HP\nby half its full\nHP.$" -gUnknown_8487932:: @ 8487932 +gMoveDescription_HyperVoice:: @ 8487932 .string "The user lets loose\na horribly loud\nshout with the\npower to damage.$" -gUnknown_8487976:: @ 8487976 +gMoveDescription_PoisonFang:: @ 8487976 .string "The foe is bitten\nwith toxic fangs.\nIt may also badly\npoison the foe.$" -gUnknown_84879BC:: @ 84879BC +gMoveDescription_CrushClaw:: @ 84879BC .string "The foe is attacked\nwith sharp claws.\nIt may also lower\nthe foe's DEFENSE.$" -gUnknown_8487A07:: @ 8487A07 +gMoveDescription_BlastBurn:: @ 8487A07 .string "The foe is hit with\na huge explosion.\nThe user can't move\non the next turn.$" -gUnknown_8487A53:: @ 8487A53 +gMoveDescription_HydroCannon:: @ 8487A53 .string "The foe is hit with\na watery cannon.\nThe user can't move\non the next turn.$" -gUnknown_8487A9E:: @ 8487A9E +gMoveDescription_MeteorMash:: @ 8487A9E .string "The foe is hit with\na hard, fast punch.\nIt may also raise\nthe user's ATTACK.$" -gUnknown_8487AEB:: @ 8487AEB +gMoveDescription_Astonish:: @ 8487AEB .string "An attack using a\nstartling shout.\nIt also may make\nthe foe flinch.$" -gUnknown_8487B2F:: @ 8487B2F +gMoveDescription_WeatherBall:: @ 8487B2F .string "An attack that\nvaries in power and\ntype depending on\nthe weather.$" -gUnknown_8487B71:: @ 8487B71 +gMoveDescription_Aromatherapy:: @ 8487B71 .string "A soothing scent is\nreleased to heal\nall status problems\nin the user's party.$" -gUnknown_8487BBF:: @ 8487BBF +gMoveDescription_FakeTears:: @ 8487BBF .string "The user feigns\ncrying to sharply\nlower the foe's\nSP. DEF stat.$" -gUnknown_8487BFF:: @ 8487BFF +gMoveDescription_AirCutter:: @ 8487BFF .string "The foe is hit with\nrazor-like wind.\nIt has a high\ncritical-hit ratio.$" -gUnknown_8487C46:: @ 8487C46 +gMoveDescription_Overheat:: @ 8487C46 .string "An intense attack\nthat also sharply\nreduces the user's\nSP. ATK stat.$" -gUnknown_8487C8B:: @ 8487C8B +gMoveDescription_OdorSleuth:: @ 8487C8B .string "Completely negates\nthe foe's efforts to\nheighten its ability\nto evade.$" -gUnknown_8487CD2:: @ 8487CD2 +gMoveDescription_RockTomb:: @ 8487CD2 .string "Boulders are hurled\nat the foe. It also\nlowers the foe's\nSPEED if it hits.$" -gUnknown_8487D1D:: @ 8487D1D +gMoveDescription_SilverWind:: @ 8487D1D .string "The foe is attacked\nwith a silver dust.\nIt may raise all\nthe user's stats.$" -gUnknown_8487D68:: @ 8487D68 +gMoveDescription_MetalSound:: @ 8487D68 .string "A horrible metallic\nscreech is used to\nsharply lower the\nfoe's SP. DEF.$" -gUnknown_8487DB0:: @ 8487DB0 +gMoveDescription_GrassWhistle:: @ 8487DB0 .string "A pleasant melody\nis played to lull\nthe foe into a deep\nsleep.$" -gUnknown_8487DEF:: @ 8487DEF +gMoveDescription_Tickle:: @ 8487DEF .string "The foe is made to\nlaugh, reducing its\nATTACK and DEFENSE\nstats.$" -gUnknown_8487E30:: @ 8487E30 +gMoveDescription_CosmicPower:: @ 8487E30 .string "The user absorbs a\nmystic power to\nraise its DEFENSE\nand SP. DEF.$" -gUnknown_8487E72:: @ 8487E72 +gMoveDescription_WaterSpout:: @ 8487E72 .string "The higher the\nuser's HP, the more\npowerful this\nattack becomes.$" -gUnknown_8487EB3:: @ 8487EB3 +gMoveDescription_SignalBeam:: @ 8487EB3 .string "The foe is hit with\na flashing beam\nthat may also\ncause confusion.$" -gUnknown_8487EF6:: @ 8487EF6 +gMoveDescription_ShadowPunch:: @ 8487EF6 .string "The user throws a\npunch from the\nshadows. It cannot\nbe evaded.$" -gUnknown_8487F35:: @ 8487F35 +gMoveDescription_Extrasensory:: @ 8487F35 .string "The user attacks\nwith an odd power\nthat may make the\nfoe flinch.$" -gUnknown_8487F76:: @ 8487F76 +gMoveDescription_SkyUppercut:: @ 8487F76 .string "The user attacks\nwith an uppercut\nthrown skywards\nwith force.$" -gUnknown_8487FB4:: @ 8487FB4 +gMoveDescription_SandTomb:: @ 8487FB4 .string "The foe is trapped\ninside a painful\nsandstorm for two\nto five turns.$" -gUnknown_8487FF9:: @ 8487FF9 +gMoveDescription_SheerCold:: @ 8487FF9 .string "The foe is attacked\nwith ultimate cold\nthat causes fainting\nif it hits.$" -gUnknown_8488041:: @ 8488041 +gMoveDescription_MuddyWater:: @ 8488041 .string "The user attacks\nwith muddy water.\nIt may also lower\nthe foe's accuracy.$" -gUnknown_848808A:: @ 848808A +gMoveDescription_BulletSeed:: @ 848808A .string "The user shoots\nseeds at the foe.\nTwo to five seeds\nare shot at once.$" -gUnknown_84880D0:: @ 84880D0 +gMoveDescription_AerialAce:: @ 84880D0 .string "An extremely fast\nattack against one\ntarget. It can't be\nevaded.$" -gUnknown_8488111:: @ 8488111 +gMoveDescription_IcicleSpear:: @ 8488111 .string "Sharp icicles are\nfired at the foe.\nIt strikes two to\nfive times.$" -gUnknown_8488153:: @ 8488153 +gMoveDescription_IronDefense:: @ 8488153 .string "The user hardens\nits body's surface\nto sharply raise its\nDEFENSE stat.$" -gUnknown_848819A:: @ 848819A +gMoveDescription_Block:: @ 848819A .string "The user blocks the\nfoe's way with arms\nspread wide to\nprevent escape.$" -gUnknown_84881E1:: @ 84881E1 +gMoveDescription_Howl:: @ 84881E1 .string "The user howls to\nraise its spirit and\nboost its ATTACK\nstat.$" -gUnknown_848821F:: @ 848821F +gMoveDescription_DragonClaw:: @ 848821F .string "Sharp, huge claws\nhook and slash the\nfoe quickly and\nwith great power.$" -gUnknown_8488266:: @ 8488266 +gMoveDescription_FrenzyPlant:: @ 8488266 .string "The foe is hit with\nan enormous branch.\nThe user can't move\non the next turn.$" -gUnknown_84882B4:: @ 84882B4 +gMoveDescription_BulkUp:: @ 84882B4 .string "The user bulks up\nits body to boost\nboth its ATTACK and\nDEFENSE stats.$" -gUnknown_84882FB:: @ 84882FB +gMoveDescription_Bounce:: @ 84882FB .string "The user bounces\non the foe on the\n2nd turn. It may\nparalyze the foe.$" -gUnknown_8488341:: @ 8488341 +gMoveDescription_MudShot:: @ 8488341 .string "The user attacks by\nhurling mud.\nIt also reduces the\nfoe's SPEED.$" -gUnknown_8488383:: @ 8488383 +gMoveDescription_PoisonTail:: @ 8488383 .string "An attack with a\nhigh critical-hit\nratio. It may also\npoison the foe.$" -gUnknown_84883C9:: @ 84883C9 +gMoveDescription_Covet:: @ 84883C9 .string "A cutely executed\nattack that also\nsteals the foe's\nhold item.$" -gUnknown_8488408:: @ 8488408 +gMoveDescription_VoltTackle:: @ 8488408 .string "The user throws an\nelectrified tackle.\nIt hurts the user\na little.$" -gUnknown_848844B:: @ 848844B +gMoveDescription_MagicalLeaf:: @ 848844B .string "The foe is attacked\nwith a strange leaf\nthat cannot be\nevaded.$" -gUnknown_848848A:: @ 848848A +gMoveDescription_WaterSport:: @ 848848A .string "Weakens FIRE-type\nattacks while the\nuser is in the\nbattle.$" -gUnknown_84884C5:: @ 84884C5 +gMoveDescription_CalmMind:: @ 84884C5 .string "The user focuses\nits mind to raise\nthe SP. ATK and\nSP. DEF stats.$" -gUnknown_8488507:: @ 8488507 +gMoveDescription_LeafBlade:: @ 8488507 .string "The foe is slashed\nwith a sharp leaf.\nIt has a high\ncritical-hit ratio.$" -gUnknown_848854F:: @ 848854F +gMoveDescription_DragonDance:: @ 848854F .string "A mystic, powerful\ndance that boosts\nthe user's ATTACK\nand SPEED stats.$" -gUnknown_8488597:: @ 8488597 +gMoveDescription_RockBlast:: @ 8488597 .string "The user hurls two\nto five hard rocks\nat the foe to\nattack.$" -gUnknown_84885D3:: @ 84885D3 +gMoveDescription_ShockWave:: @ 84885D3 .string "A rapid jolt of\nelectricity strikes\nthe foe. It can't\nbe evaded.$" -gUnknown_8488614:: @ 8488614 +gMoveDescription_WaterPulse:: @ 8488614 .string "An attack with a\npulsing blast of\nwater. It may also\nconfuse the foe.$" -gUnknown_848865A:: @ 848865A +gMoveDescription_DoomDesire:: @ 848865A .string "A move that attacks\nthe foe with a\nblast of light two\nturns after use.$" -gUnknown_84886A1:: @ 84886A1 +gMoveDescription_PsychoBoost:: @ 84886A1 .string "An intense attack\nthat also sharply\nreduces the user's\nSP. ATK stat.$" -gUnknown_84886E6:: @ 84886E6 - .string " " - diff --git a/include/berry_pouch.h b/include/berry_pouch.h new file mode 100644 index 000000000..8427afc7e --- /dev/null +++ b/include/berry_pouch.h @@ -0,0 +1,7 @@ +#ifndef GUARD_BERRY_POUCH_H +#define GUARD_BERRY_POUCH_H + +void sub_813D808(u8 taskId); +void sub_813D934(void (*)(void)); + +#endif //GUARD_BERRY_POUCH_H diff --git a/include/bike.h b/include/bike.h index 468c48273..9185afb31 100644 --- a/include/bike.h +++ b/include/bike.h @@ -2,5 +2,7 @@ #define GUARD_BIKE_H void sub_80BD620(u32 unkC, u32 unk10); +bool8 sub_80BD540(void); +void sub_80BD5C8(u8 flags); #endif //GUARD_BIKE_H diff --git a/include/constants/global.h b/include/constants/global.h new file mode 100644 index 000000000..4e798d1ef --- /dev/null +++ b/include/constants/global.h @@ -0,0 +1,79 @@ +#ifndef GUARD_CONSTANTS_GLOBAL_H +#define GUARD_CONSTANTS_GLOBAL_H + +#define POKEMON_SLOTS_NUMBER 412 + +#define ITEM_NAME_LENGTH 14 +#define POKEMON_NAME_LENGTH 10 +#define OT_NAME_LENGTH 7 + +enum +{ + VERSION_SAPPHIRE = 1, + VERSION_RUBY = 2, + VERSION_EMERALD = 3, + VERSION_FIRE_RED = 4, + VERSION_LEAF_GREEN = 5, +}; + +enum LanguageId { + LANGUAGE_JAPANESE = 1, + LANGUAGE_ENGLISH = 2, + LANGUAGE_FRENCH = 3, + LANGUAGE_ITALIAN = 4, + LANGUAGE_GERMAN = 5, + // 6 goes unused but the theory is it was meant to be Korean + LANGUAGE_SPANISH = 7, +}; + +#define GAME_LANGUAGE (LANGUAGE_ENGLISH) + +#define PC_ITEMS_COUNT 30 +#define BAG_ITEMS_COUNT 42 +#define BAG_KEYITEMS_COUNT 30 +#define BAG_POKEBALLS_COUNT 13 +#define BAG_TMHM_COUNT 58 +#define BAG_BERRIES_COUNT 43 + +enum +{ + MALE, + FEMALE +}; + +enum +{ + OPTIONS_BUTTON_MODE_NORMAL, + OPTIONS_BUTTON_MODE_LR, + OPTIONS_BUTTON_MODE_L_EQUALS_A +}; + +enum +{ + OPTIONS_TEXT_SPEED_SLOW, + OPTIONS_TEXT_SPEED_MID, + OPTIONS_TEXT_SPEED_FAST +}; + +enum +{ + OPTIONS_SOUND_MONO, + OPTIONS_SOUND_STEREO +}; + +enum +{ + OPTIONS_BATTLE_STYLE_SHIFT, + OPTIONS_BATTLE_STYLE_SET +}; + +enum +{ + POCKET_ITEMS = 1, + POCKET_KEY_ITEMS, + POCKET_POKE_BALLS, + POCKET_TM_CASE, + POCKET_BERRY_POUCH, +}; + +#endif //GUARD_CONSTANTS_GLOBAL_H diff --git a/include/constants/items.h b/include/constants/items.h index cc73119e6..6959ad358 100644 --- a/include/constants/items.h +++ b/include/constants/items.h @@ -395,11 +395,4 @@ // Check if the item is one that can be used on a Pokemon. #define IS_POKEMON_ITEM(item) ((item) >= ITEM_POTION && (item) <= ITEM_0B2) -// POCKETS -#define POCKET_ITEMS 1 -#define POCKET_KEY_ITEMS 2 -#define POCKET_POKE_BALLS 3 -#define POCKET_TM_CASE 4 -#define POCKET_BERRY_POUCH 5 - #endif // GUARD_CONSTANTS_ITEMS_H diff --git a/include/field_fadetransition.h b/include/field_fadetransition.h index d0856c84c..4ba350491 100644 --- a/include/field_fadetransition.h +++ b/include/field_fadetransition.h @@ -14,5 +14,6 @@ void sub_807E500(void); void sub_807DF64(void); void sub_807DC18(void); void FieldCallback_ReturnToEventScript2(void); +void sub_807DC00(void); #endif // GUARD_FIELD_FADETRANSITION_H diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h index b365a9d92..4871bd082 100644 --- a/include/field_player_avatar.h +++ b/include/field_player_avatar.h @@ -22,5 +22,7 @@ void sub_805D9C4(struct Sprite *sprite); void sub_805D154(u8 direction); void sub_805DAE4(u8 direction); void SetPlayerAvatarTransitionFlags(u16 a); +bool8 IsPlayerFacingSurfableFishableWater(void); +void sub_805D2C0(u8 secondaryId); #endif //GUARD_FIELD_PLAYER_AVATAR_H diff --git a/include/field_weather.h b/include/field_weather.h index cf0e34d06..13a1b4fcb 100644 --- a/include/field_weather.h +++ b/include/field_weather.h @@ -13,5 +13,6 @@ void DoCurrentWeather(void); void SetSav1WeatherFromCurrMapHeader(void); void sub_807B0C4(u16 *, u16 *, u32); void PlayRainStoppingSoundEffect(void); +bool8 sub_807AA70(void); #endif // GUARD_WEATHER_H diff --git a/include/global.h b/include/global.h index d08a1e0df..050c311e4 100644 --- a/include/global.h +++ b/include/global.h @@ -4,6 +4,7 @@ #include "config.h" #include "gba/gba.h" #include +#include "constants/global.h" // Prevent cross-jump optimization. #define BLOCK_CROSS_JUMP asm(""); @@ -39,10 +40,6 @@ // Converts a number to Q4.12 fixed-point format #define Q_4_12(n) ((s16)((n) * 4096)) -#define POKEMON_SLOTS_NUMBER 412 -#define POKEMON_NAME_LENGTH 10 -#define OT_NAME_LENGTH 7 - #define min(a, b) ((a) < (b) ? (a) : (b)) #define max(a, b) ((a) >= (b) ? (a) : (b)) @@ -79,75 +76,6 @@ extern u8 gStringVar2[]; extern u8 gStringVar3[]; extern u8 gStringVar4[]; -enum -{ - VERSION_SAPPHIRE = 1, - VERSION_RUBY = 2, - VERSION_EMERALD = 3, - VERSION_FIRE_RED = 4, - VERSION_LEAF_GREEN = 5, -}; - -enum LanguageId { - LANGUAGE_JAPANESE = 1, - LANGUAGE_ENGLISH = 2, - LANGUAGE_FRENCH = 3, - LANGUAGE_ITALIAN = 4, - LANGUAGE_GERMAN = 5, - // 6 goes unused but the theory is it was meant to be Korean - LANGUAGE_SPANISH = 7, -}; - -#define GAME_LANGUAGE (LANGUAGE_ENGLISH) - -#define PC_ITEMS_COUNT 30 -#define BAG_ITEMS_COUNT 42 -#define BAG_KEYITEMS_COUNT 30 -#define BAG_POKEBALLS_COUNT 13 -#define BAG_TMHM_COUNT 58 -#define BAG_BERRIES_COUNT 43 - -enum -{ - MALE, - FEMALE -}; - -enum -{ - OPTIONS_BUTTON_MODE_NORMAL, - OPTIONS_BUTTON_MODE_LR, - OPTIONS_BUTTON_MODE_L_EQUALS_A -}; - -enum -{ - OPTIONS_TEXT_SPEED_SLOW, - OPTIONS_TEXT_SPEED_MID, - OPTIONS_TEXT_SPEED_FAST -}; - -enum -{ - OPTIONS_SOUND_MONO, - OPTIONS_SOUND_STEREO -}; - -enum -{ - OPTIONS_BATTLE_STYLE_SHIFT, - OPTIONS_BATTLE_STYLE_SET -}; - -enum -{ - BAG_ITEMS = 1, - BAG_POKEBALLS, - BAG_TMsHMs, - BAG_BERRIES, - BAG_KEYITEMS -}; - struct Coords16 { s16 x; diff --git a/include/item.h b/include/item.h index f5a8db699..f21c207e0 100644 --- a/include/item.h +++ b/include/item.h @@ -1,18 +1,20 @@ -#ifndef ITEM_H -#define ITEM_H +#ifndef GUARD_ITEM_H +#define GUARD_ITEM_H + +#include "global.h" typedef void (*ItemUseFunc)(u8); struct Item { - u8 name[14]; + u8 name[ITEM_NAME_LENGTH]; u16 itemId; u16 price; u8 holdEffect; u8 holdEffectParam; const u8 *description; u8 importance; - u8 unk19; + u8 exitsBagOnUse; u8 pocket; u8 type; ItemUseFunc fieldUseFunc; @@ -76,4 +78,4 @@ u16 GetBagItemId(u16 *); void ItemPcCompaction(void); void RemoveItemFromPC(u16 itemId, u16 quantity); -#endif // ITEM_H +#endif // GUARD_ITEM_H diff --git a/include/item_menu.h b/include/item_menu.h index 2d4be4fd7..b4815d164 100644 --- a/include/item_menu.h +++ b/include/item_menu.h @@ -28,5 +28,10 @@ void sub_8108CF0(void); void sub_810B108(u8); void UseFameCheckerFromMenu(void); void ItemMenu_MoveItemSlotToNewPositionInArray(struct ItemSlot * slots, int pos1, int pos2); +void sub_8108B50(u8 taskId); +void sub_8108CB4(void); +void sub_8108EE0(void (*)(void)); +void sub_8108E70(u8, u8, const u8 *, void (*)(u8)); +void sub_810A1F8(u8 taskId); #endif //GUARD_ITEM_MENU_H diff --git a/include/item_use.h b/include/item_use.h index 04e61ab59..a34090af1 100644 --- a/include/item_use.h +++ b/include/item_use.h @@ -6,4 +6,37 @@ void sub_80A1E0C(u8); void ItemUse_SetQuestLogEvent(u8, struct Pokemon *, u16, u16); +void sub_80A11E8(u8 taskId); +void sub_80A122C(u8 taskId); +void sub_80A1338(u8 taskId); +void sub_80A1460(u8 taskId); +void sub_80A14E8(u8 taskId); +void sub_80A156C(u8 taskId); +void sub_80A16E0(u8 taskId); +void sub_80A16FC(u8 taskId); +void sub_80A1718(u8 taskId); +void sub_80A1734(u8 taskId); +void sub_80A1750(u8 taskId); +void sub_80A176C(u8 taskId); +void sub_80A1788(u8 taskId); +void sub_80A1820(u8 taskId); +void sub_80A18B8(u8 taskId); +void sub_80A18EC(u8 taskId); +void sub_80A1998(u8 taskId); +void sub_80A1A94(u8 taskId); +void sub_80A1C60(u8 taskId); +void sub_80A1CF8(u8 taskId); +void sub_80A1D9C(u8 taskId); +void sub_80A1E1C(u8 taskId); +void sub_80A1E64(u8 taskId); +void sub_80A1E7C(u8 taskId); +void sub_80A1FBC(u8 taskId); +void sub_80A1FF4(u8 taskId); +void sub_80A2010(u8 taskId); +void sub_80A2238(u8 taskId); +void ItemUseOutOfBattle_EscapeRope(u8 taskId); +void ItemUseOutOfBattle_EnigmaBerry(u8 taskId); +void ItemUseInBattle_EnigmaBerry(u8 taskId); +void ItemUseOutOfBattle_Itemfinder(u8 taskId); + #endif //GUARD_ITEM_USE_H diff --git a/include/mail.h b/include/mail.h index 5d6ad559b..8cfca66dd 100644 --- a/include/mail.h +++ b/include/mail.h @@ -21,5 +21,6 @@ bool8 MonHasMail(struct Pokemon *mon); void TakeMailFromMon(struct Pokemon *mon); u8 GiveMailToMon2(struct Pokemon *mon, struct MailStruct *mail); void ClearMailStruct(struct MailStruct *mail); +void sub_80BEBEC(u16 *, void (*)(void), u8); #endif // GUARD_MAIL_H diff --git a/include/overworld.h b/include/overworld.h index b8cf58b4d..122d73736 100644 --- a/include/overworld.h +++ b/include/overworld.h @@ -31,6 +31,8 @@ extern MainCallback gFieldCallback; extern struct WarpData gUnknown_2031DBC; +extern u8 gUnknown_2031DE0; + void IncrementGameStat(u8 index); void Overworld_SetMapObjTemplateCoords(u8, s16, s16); @@ -112,5 +114,6 @@ void sub_805671C(void); void sub_8055DC4(void); bool8 sub_8055FC4(void); bool8 is_light_level_8_or_9(u8 mapType); +bool32 sub_8055C9C(void); #endif //GUARD_ROM4_H diff --git a/include/strings.h b/include/strings.h index 08dd25174..805516cec 100644 --- a/include/strings.h +++ b/include/strings.h @@ -161,4 +161,7 @@ extern const u8 gText_WithdrawItem[]; extern const u8 gText_Withdraw[]; extern const u8 gText_ReturnToPC[]; +extern const u8 gUnknown_8416425[]; +extern const u8 gUnknown_8416451[]; + #endif //GUARD_STRINGS_H diff --git a/json_data_rules.mk b/json_data_rules.mk new file mode 100644 index 000000000..1c731078a --- /dev/null +++ b/json_data_rules.mk @@ -0,0 +1,9 @@ +# JSON files are run through jsonproc, which is a tool that converts JSON data to an output file +# based on an Inja template. https://github.com/pantor/inja + +AUTO_GEN_TARGETS += src/data/items.h + +src/data/items.h: src/data/items.json src/data/items.json.txt + $(JSONPROC) $^ $@ + +$(BUILD_DIR)/src/item.o: C_DEP += src/data/items.h diff --git a/ld_script.txt b/ld_script.txt index dd4d92731..64f6928c4 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -153,6 +153,7 @@ SECTIONS { src/fldeff_berrytree.o(.text); asm/field_special_scene.o(.text); asm/safari_zone.o(.text); + src/item_use.o(.text); asm/item_use.o(.text); asm/battle_anim_effects_1.o(.text); asm/battle_anim_effects_2.o(.text); @@ -410,6 +411,8 @@ SECTIONS { data/data_835B488.o(.rodata); src/item_menu_icons.o(.rodata); data/data_835B488.o(.rodata.83D4E4C); + src/item.o(.rodata); + data/data_835B488.o(.rodata.83DF09C); src/heal_location.o(.rodata); data/data_835B488.o(.rodata.83EEC98); src/battle_ai_script_commands.o(.rodata); diff --git a/src/data/items.json b/src/data/items.json new file mode 100644 index 000000000..10d28d899 --- /dev/null +++ b/src/data/items.json @@ -0,0 +1,6062 @@ +{ + "items": [ + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "MASTER BALL", + "itemId": "ITEM_MASTER_BALL", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "The best BALL with the ultimate\\nperformance. It will catch any wild\\nPOKéMON without fail.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_POKE_BALLS", + "type": 0, + "fieldUseFunc": "NULL", + "battleUsage": 2, + "battleUseFunc": "sub_80A1E1C", + "secondaryId": 0 + }, + { + "english": "ULTRA BALL", + "itemId": "ITEM_ULTRA_BALL", + "price": 1200, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A very high-grade BALL that offers\\na higher POKéMON catch rate than\\na GREAT BALL.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_POKE_BALLS", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 2, + "battleUseFunc": "sub_80A1E1C", + "secondaryId": 1 + }, + { + "english": "GREAT BALL", + "itemId": "ITEM_GREAT_BALL", + "price": 600, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A good, quality BALL that offers\\na higher POKéMON catch rate than\\na standard POKé BALL.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_POKE_BALLS", + "type": 2, + "fieldUseFunc": "NULL", + "battleUsage": 2, + "battleUseFunc": "sub_80A1E1C", + "secondaryId": 2 + }, + { + "english": "POK\u00e9 BALL", + "itemId": "ITEM_POKE_BALL", + "price": 200, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A BALL thrown to catch a wild\\nPOKéMON. It is designed in a\\ncapsule style.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_POKE_BALLS", + "type": 3, + "fieldUseFunc": "NULL", + "battleUsage": 2, + "battleUseFunc": "sub_80A1E1C", + "secondaryId": 3 + }, + { + "english": "SAFARI BALL", + "itemId": "ITEM_SAFARI_BALL", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A special BALL that is used only in\\nthe SAFARI ZONE. It is finished in\\na camouflage pattern.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_POKE_BALLS", + "type": 4, + "fieldUseFunc": "NULL", + "battleUsage": 2, + "battleUseFunc": "sub_80A1E1C", + "secondaryId": 4 + }, + { + "english": "NET BALL", + "itemId": "ITEM_NET_BALL", + "price": 1000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A somewhat different BALL that\\nworks especially well on WATER- and\\nBUG-type POKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_POKE_BALLS", + "type": 5, + "fieldUseFunc": "NULL", + "battleUsage": 2, + "battleUseFunc": "sub_80A1E1C", + "secondaryId": 5 + }, + { + "english": "DIVE BALL", + "itemId": "ITEM_DIVE_BALL", + "price": 1000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A somewhat different BALL that\\nworks especially well on POKéMON\\ndeep in the sea.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_POKE_BALLS", + "type": 6, + "fieldUseFunc": "NULL", + "battleUsage": 2, + "battleUseFunc": "sub_80A1E1C", + "secondaryId": 6 + }, + { + "english": "NEST BALL", + "itemId": "ITEM_NEST_BALL", + "price": 1000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A somewhat different BALL that\\nworks especially well on weaker\\nPOKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_POKE_BALLS", + "type": 7, + "fieldUseFunc": "NULL", + "battleUsage": 2, + "battleUseFunc": "sub_80A1E1C", + "secondaryId": 7 + }, + { + "english": "REPEAT BALL", + "itemId": "ITEM_REPEAT_BALL", + "price": 1000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A somewhat different BALL that\\nworks especially well on POKéMON\\ncaught before.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_POKE_BALLS", + "type": 8, + "fieldUseFunc": "NULL", + "battleUsage": 2, + "battleUseFunc": "sub_80A1E1C", + "secondaryId": 8 + }, + { + "english": "TIMER BALL", + "itemId": "ITEM_TIMER_BALL", + "price": 1000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A somewhat different BALL that\\nbecomes progressively better the\\nmore turns there are in a battle.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_POKE_BALLS", + "type": 9, + "fieldUseFunc": "NULL", + "battleUsage": 2, + "battleUseFunc": "sub_80A1E1C", + "secondaryId": 9 + }, + { + "english": "LUXURY BALL", + "itemId": "ITEM_LUXURY_BALL", + "price": 1000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A comfortable BALL that makes a\\ncaptured wild POKéMON quickly grow\\nfriendly.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_POKE_BALLS", + "type": 10, + "fieldUseFunc": "NULL", + "battleUsage": 2, + "battleUseFunc": "sub_80A1E1C", + "secondaryId": 10 + }, + { + "english": "PREMIER BALL", + "itemId": "ITEM_PREMIER_BALL", + "price": 200, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A rare BALL that has been\\nspecially made to commemorate an\\nevent of some sort.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_POKE_BALLS", + "type": 11, + "fieldUseFunc": "NULL", + "battleUsage": 2, + "battleUseFunc": "sub_80A1E1C", + "secondaryId": 11 + }, + { + "english": "POTION", + "itemId": "ITEM_POTION", + "price": 300, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 20, + "description_english": "A spray-type wound medicine.\\nIt restores the HP of one POKéMON\\nby 20 points.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "sub_80A16E0", + "battleUsage": 1, + "battleUseFunc": "sub_80A1FBC", + "secondaryId": 0 + }, + { + "english": "ANTIDOTE", + "itemId": "ITEM_ANTIDOTE", + "price": 100, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A spray-type medicine.\\nIt heals one POKéMON from a\\npoisoning.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "sub_80A16E0", + "battleUsage": 1, + "battleUseFunc": "sub_80A1FBC", + "secondaryId": 0 + }, + { + "english": "BURN HEAL", + "itemId": "ITEM_BURN_HEAL", + "price": 250, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A spray-type medicine.\\nIt heals one POKéMON of a burn.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "sub_80A16E0", + "battleUsage": 1, + "battleUseFunc": "sub_80A1FBC", + "secondaryId": 0 + }, + { + "english": "ICE HEAL", + "itemId": "ITEM_ICE_HEAL", + "price": 250, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A spray-type medicine.\\nIt defrosts a frozen POKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "sub_80A16E0", + "battleUsage": 1, + "battleUseFunc": "sub_80A1FBC", + "secondaryId": 0 + }, + { + "english": "AWAKENING", + "itemId": "ITEM_AWAKENING", + "price": 250, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A spray-type medicine.\\nIt awakens a sleeping POKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "sub_80A16E0", + "battleUsage": 1, + "battleUseFunc": "sub_80A1FBC", + "secondaryId": 0 + }, + { + "english": "PARLYZ HEAL", + "itemId": "ITEM_PARALYZE_HEAL", + "price": 200, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A spray-type medicine.\\nIt heals one POKéMON from\\nparalysis.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "sub_80A16E0", + "battleUsage": 1, + "battleUseFunc": "sub_80A1FBC", + "secondaryId": 0 + }, + { + "english": "FULL RESTORE", + "itemId": "ITEM_FULL_RESTORE", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 255, + "description_english": "A medicine that fully restores the\\nHP and heals any status problems\\nof one POKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "sub_80A16E0", + "battleUsage": 1, + "battleUseFunc": "sub_80A1FBC", + "secondaryId": 0 + }, + { + "english": "MAX POTION", + "itemId": "ITEM_MAX_POTION", + "price": 2500, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 255, + "description_english": "A spray-type wound medicine.\\nIt fully restores the HP of one\\nPOKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "sub_80A16E0", + "battleUsage": 1, + "battleUseFunc": "sub_80A1FBC", + "secondaryId": 0 + }, + { + "english": "HYPER POTION", + "itemId": "ITEM_HYPER_POTION", + "price": 1200, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 200, + "description_english": "A spray-type wound medicine.\\nIt restores the HP of one POKéMON\\nby 200 points.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "sub_80A16E0", + "battleUsage": 1, + "battleUseFunc": "sub_80A1FBC", + "secondaryId": 0 + }, + { + "english": "SUPER POTION", + "itemId": "ITEM_SUPER_POTION", + "price": 700, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 50, + "description_english": "A spray-type wound medicine.\\nIt restores the HP of one POKéMON\\nby 50 points.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "sub_80A16E0", + "battleUsage": 1, + "battleUseFunc": "sub_80A1FBC", + "secondaryId": 0 + }, + { + "english": "FULL HEAL", + "itemId": "ITEM_FULL_HEAL", + "price": 600, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A spray-type medicine.\\nIt heals all the status problems of\\none POKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "sub_80A16E0", + "battleUsage": 1, + "battleUseFunc": "sub_80A1FBC", + "secondaryId": 0 + }, + { + "english": "REVIVE", + "itemId": "ITEM_REVIVE", + "price": 1500, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A medicine that revives a fainted\\nPOKéMON, restoring HP by half the\\nmaximum amount.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "sub_80A16E0", + "battleUsage": 1, + "battleUseFunc": "sub_80A1FBC", + "secondaryId": 0 + }, + { + "english": "MAX REVIVE", + "itemId": "ITEM_MAX_REVIVE", + "price": 4000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A medicine that revives a fainted\\nPOKéMON, restoring HP fully.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "sub_80A16E0", + "battleUsage": 1, + "battleUseFunc": "sub_80A1FBC", + "secondaryId": 0 + }, + { + "english": "FRESH WATER", + "itemId": "ITEM_FRESH_WATER", + "price": 200, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 50, + "description_english": "Water with a high mineral content.\\nIt restores the HP of one POKéMON\\nby 50 points.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "sub_80A16E0", + "battleUsage": 1, + "battleUseFunc": "sub_80A1FBC", + "secondaryId": 0 + }, + { + "english": "SODA POP", + "itemId": "ITEM_SODA_POP", + "price": 300, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 60, + "description_english": "A fizzy soda drink.\\nIt restores the HP of one POKéMON\\nby 60 points.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "sub_80A16E0", + "battleUsage": 1, + "battleUseFunc": "sub_80A1FBC", + "secondaryId": 0 + }, + { + "english": "LEMONADE", + "itemId": "ITEM_LEMONADE", + "price": 350, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 80, + "description_english": "A very sweet drink.\\nIt restores the HP of one POKéMON\\nby 80 points.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "sub_80A16E0", + "battleUsage": 1, + "battleUseFunc": "sub_80A1FBC", + "secondaryId": 0 + }, + { + "english": "MOOMOO MILK", + "itemId": "ITEM_MOOMOO_MILK", + "price": 500, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 100, + "description_english": "Highly nutritious milk.\\nIt restores the HP of one POKéMON\\nby 100 points.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "sub_80A16E0", + "battleUsage": 1, + "battleUseFunc": "sub_80A1FBC", + "secondaryId": 0 + }, + { + "english": "ENERGYPOWDER", + "itemId": "ITEM_ENERGY_POWDER", + "price": 500, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A very bitter medicine powder.\\nIt restores the HP of one POKéMON\\nby 50 points.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "sub_80A16E0", + "battleUsage": 1, + "battleUseFunc": "sub_80A1FBC", + "secondaryId": 0 + }, + { + "english": "ENERGY ROOT", + "itemId": "ITEM_ENERGY_ROOT", + "price": 800, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A very bitter root.\\nIt restores the HP of one POKéMON\\nby 200 points.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "sub_80A16E0", + "battleUsage": 1, + "battleUseFunc": "sub_80A1FBC", + "secondaryId": 0 + }, + { + "english": "HEAL POWDER", + "itemId": "ITEM_HEAL_POWDER", + "price": 450, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A very bitter medicine powder.\\nIt heals all the status problems of\\none POKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "sub_80A16E0", + "battleUsage": 1, + "battleUseFunc": "sub_80A1FBC", + "secondaryId": 0 + }, + { + "english": "REVIVAL HERB", + "itemId": "ITEM_REVIVAL_HERB", + "price": 2800, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A very bitter medicinal herb.\\nIt revives a fainted POKéMON,\\nrestoring HP fully.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "sub_80A16E0", + "battleUsage": 1, + "battleUseFunc": "sub_80A1FBC", + "secondaryId": 0 + }, + { + "english": "ETHER", + "itemId": "ITEM_ETHER", + "price": 1200, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 10, + "description_english": "Restores a selected move's PP by\\n10 points for one POKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "sub_80A16FC", + "battleUsage": 1, + "battleUseFunc": "sub_80A1FF4", + "secondaryId": 0 + }, + { + "english": "MAX ETHER", + "itemId": "ITEM_MAX_ETHER", + "price": 2000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 255, + "description_english": "Fully restores a selected move's PP\\nfor one POKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "sub_80A16FC", + "battleUsage": 1, + "battleUseFunc": "sub_80A1FF4", + "secondaryId": 0 + }, + { + "english": "ELIXIR", + "itemId": "ITEM_ELIXIR", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 10, + "description_english": "Restores the PP of all moves for\\none POKéMON by 10 points each.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "sub_80A16FC", + "battleUsage": 1, + "battleUseFunc": "sub_80A1FF4", + "secondaryId": 0 + }, + { + "english": "MAX ELIXIR", + "itemId": "ITEM_MAX_ELIXIR", + "price": 4500, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 255, + "description_english": "Fully restores the PP of all moves\\nfor one POKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "sub_80A16FC", + "battleUsage": 1, + "battleUseFunc": "sub_80A1FF4", + "secondaryId": 0 + }, + { + "english": "LAVA COOKIE", + "itemId": "ITEM_LAVA_COOKIE", + "price": 200, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "LAVARIDGE TOWN's local specialty.\\nIt heals all the status problems of\\none POKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "sub_80A16E0", + "battleUsage": 1, + "battleUseFunc": "sub_80A1FBC", + "secondaryId": 0 + }, + { + "english": "BLUE FLUTE", + "itemId": "ITEM_BLUE_FLUTE", + "price": 100, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A blue glass flute that awakens\\na sleeping POKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "sub_80A16E0", + "battleUsage": 1, + "battleUseFunc": "sub_80A1FBC", + "secondaryId": 0 + }, + { + "english": "YELLOW FLUTE", + "itemId": "ITEM_YELLOW_FLUTE", + "price": 200, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A yellow glass flute that snaps one\\nPOKéMON out of confusion.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 1, + "battleUseFunc": "sub_80A1FBC", + "secondaryId": 0 + }, + { + "english": "RED FLUTE", + "itemId": "ITEM_RED_FLUTE", + "price": 300, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A red glass flute that snaps one\\nPOKéMON out of infatuation.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 1, + "battleUseFunc": "sub_80A1FBC", + "secondaryId": 0 + }, + { + "english": "BLACK FLUTE", + "itemId": "ITEM_BLACK_FLUTE", + "price": 400, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 50, + "description_english": "A black glass flute.\\nWhen blown, it makes wild POKéMON\\nless likely to appear.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "sub_80A1A94", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "WHITE FLUTE", + "itemId": "ITEM_WHITE_FLUTE", + "price": 500, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 150, + "description_english": "A white glass flute.\\nWhen blown, it makes wild POKéMON\\nmore likely to appear.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "sub_80A1A94", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "BERRY JUICE", + "itemId": "ITEM_BERRY_JUICE", + "price": 100, + "holdEffect": "HOLD_EFFECT_RESTORE_HP", + "holdEffectParam": 20, + "description_english": "A 100% pure juice.\\nIt restores the HP of one POKéMON\\nby 20 points.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "sub_80A16E0", + "battleUsage": 1, + "battleUseFunc": "sub_80A1FBC", + "secondaryId": 0 + }, + { + "english": "SACRED ASH", + "itemId": "ITEM_SACRED_ASH", + "price": 200, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Revives all fainted POKéMON,\\nrestoring HP fully.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "sub_80A176C", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "SHOAL SALT", + "itemId": "ITEM_SHOAL_SALT", + "price": 20, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Pure salt obtained from deep inside\\nthe SHOAL CAVE. It is extremely\\nsalty.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "SHOAL SHELL", + "itemId": "ITEM_SHOAL_SHELL", + "price": 20, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A pretty seashell found deep inside\\nthe SHOAL CAVE. It is striped in\\nblue and white.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "RED SHARD", + "itemId": "ITEM_RED_SHARD", + "price": 200, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A small red shard.\\nIt appears to be from some sort of\\na tool made long ago.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "BLUE SHARD", + "itemId": "ITEM_BLUE_SHARD", + "price": 200, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A small blue shard.\\nIt appears to be from some sort of\\na tool made long ago.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "YELLOW SHARD", + "itemId": "ITEM_YELLOW_SHARD", + "price": 200, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A small yellow shard.\\nIt appears to be from some sort of\\na tool made long ago.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "GREEN SHARD", + "itemId": "ITEM_GREEN_SHARD", + "price": 200, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A small green shard.\\nIt appears to be from some sort of\\na tool made long ago.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "HP UP", + "itemId": "ITEM_HP_UP", + "price": 9800, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A nutritious drink for POKéMON.\\nIt raises the base HP of one\\nPOKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "sub_80A16E0", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "PROTEIN", + "itemId": "ITEM_PROTEIN", + "price": 9800, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A nutritious drink for POKéMON.\\nIt raises the base ATTACK stat of\\none POKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "sub_80A16E0", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "IRON", + "itemId": "ITEM_IRON", + "price": 9800, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A nutritious drink for POKéMON.\\nIt raises the base DEFENSE stat of\\none POKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "sub_80A16E0", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "CARBOS", + "itemId": "ITEM_CARBOS", + "price": 9800, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A nutritious drink for POKéMON.\\nIt raises the base SPEED stat of\\none POKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "sub_80A16E0", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "CALCIUM", + "itemId": "ITEM_CALCIUM", + "price": 9800, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A nutritious drink for POKéMON.\\nIt raises the base SP. ATK stat\\nof one POKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "sub_80A16E0", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "RARE CANDY", + "itemId": "ITEM_RARE_CANDY", + "price": 4800, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A candy that is packed with energy.\\nIt raises the level of a POKéMON\\nby one.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "sub_80A1734", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "PP UP", + "itemId": "ITEM_PP_UP", + "price": 9800, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Slightly raises the maximum PP of\\na selected move for one POKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "sub_80A1718", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "ZINC", + "itemId": "ITEM_ZINC", + "price": 9800, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A nutritious drink for POKéMON.\\nIt raises the base SP. DEF stat\\nof one POKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "sub_80A16E0", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "PP MAX", + "itemId": "ITEM_PP_MAX", + "price": 9800, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Raises the PP of a selected move\\nto its maximum level for one\\nPOKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "sub_80A1718", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "GUARD SPEC.", + "itemId": "ITEM_GUARD_SPEC", + "price": 700, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "An item that prevents stat reduction\\namong party POKéMON for five turns\\nafter use.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 2, + "battleUseFunc": "sub_80A1E7C", + "secondaryId": 0 + }, + { + "english": "DIRE HIT", + "itemId": "ITEM_DIRE_HIT", + "price": 650, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Raises the critical-hit ratio of\\nPOKéMON in battle. Wears off if the\\nPOKéMON is withdrawn.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 2, + "battleUseFunc": "sub_80A1E7C", + "secondaryId": 0 + }, + { + "english": "X ATTACK", + "itemId": "ITEM_X_ATTACK", + "price": 500, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Raises the ATTACK stat of POKéMON\\nin battle. Wears off if the POKéMON\\nis withdrawn.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 2, + "battleUseFunc": "sub_80A1E7C", + "secondaryId": 0 + }, + { + "english": "X DEFEND", + "itemId": "ITEM_X_DEFEND", + "price": 550, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Raises the DEFENSE stat of POKéMON\\nin battle. Wears off if the POKéMON\\nis withdrawn.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 2, + "battleUseFunc": "sub_80A1E7C", + "secondaryId": 0 + }, + { + "english": "X SPEED", + "itemId": "ITEM_X_SPEED", + "price": 350, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Raises the SPEED stat of POKéMON\\nin battle. Wears off if the POKéMON\\nis withdrawn.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 2, + "battleUseFunc": "sub_80A1E7C", + "secondaryId": 0 + }, + { + "english": "X ACCURACY", + "itemId": "ITEM_X_ACCURACY", + "price": 950, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Raises the accuracy stat of\\nPOKéMON in battle. Wears off if the\\nPOKéMON is withdrawn.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 2, + "battleUseFunc": "sub_80A1E7C", + "secondaryId": 0 + }, + { + "english": "X SPECIAL", + "itemId": "ITEM_X_SPECIAL", + "price": 350, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Raises the SP. ATK stat of\\nPOKéMON in battle. Wears off if the\\nPOKéMON is withdrawn.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 2, + "battleUseFunc": "sub_80A1E7C", + "secondaryId": 0 + }, + { + "english": "POK\u00e9 DOLL", + "itemId": "ITEM_POKE_DOLL", + "price": 1000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "An attractive doll.\\nUse it to flee from any battle with\\na wild POKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 2, + "battleUseFunc": "sub_80A2010", + "secondaryId": 0 + }, + { + "english": "FLUFFY TAIL", + "itemId": "ITEM_FLUFFY_TAIL", + "price": 1000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "An attractive item.\\nUse it to flee from any battle with\\na wild POKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 2, + "battleUseFunc": "sub_80A2010", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "SUPER REPEL", + "itemId": "ITEM_SUPER_REPEL", + "price": 500, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 200, + "description_english": "Prevents weak wild POKéMON from\\nappearing for 200 steps.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A1998", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "MAX REPEL", + "itemId": "ITEM_MAX_REPEL", + "price": 700, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 250, + "description_english": "Prevents weak wild POKéMON from\\nappearing for 250 steps.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A1998", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "ESCAPE ROPE", + "itemId": "ITEM_ESCAPE_ROPE", + "price": 550, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A long, durable rope.\\nUse it to escape instantly from a\\ncave or a dungeon.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 2, + "fieldUseFunc": "ItemUseOutOfBattle_EscapeRope", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "REPEL", + "itemId": "ITEM_REPEL", + "price": 350, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 100, + "description_english": "Prevents weak wild POKéMON from\\nappearing for 100 steps.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A1998", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "SUN STONE", + "itemId": "ITEM_SUN_STONE", + "price": 2100, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A peculiar stone that makes certain\\nspecies of POKéMON evolve.\\nIt is as red as the sun.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "sub_80A1750", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "MOON STONE", + "itemId": "ITEM_MOON_STONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A peculiar stone that makes certain\\nspecies of POKéMON evolve.\\nIt is as black as the night sky.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "sub_80A1750", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "FIRE STONE", + "itemId": "ITEM_FIRE_STONE", + "price": 2100, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A peculiar stone that makes certain\\nspecies of POKéMON evolve.\\nIt is colored orange.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "sub_80A1750", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "THUNDERSTONE", + "itemId": "ITEM_THUNDER_STONE", + "price": 2100, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A peculiar stone that makes certain\\nspecies of POKéMON evolve.\\nIt has a thunderbolt pattern.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "sub_80A1750", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "WATER STONE", + "itemId": "ITEM_WATER_STONE", + "price": 2100, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A peculiar stone that makes certain\\nspecies of POKéMON evolve.\\nIt is a clear light blue.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "sub_80A1750", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "LEAF STONE", + "itemId": "ITEM_LEAF_STONE", + "price": 2100, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A peculiar stone that makes certain\\nspecies of POKéMON evolve.\\nIt has a leaf pattern.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "sub_80A1750", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "TINYMUSHROOM", + "itemId": "ITEM_TINY_MUSHROOM", + "price": 500, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A small and rare mushroom.\\nIt is quite popular among certain\\npeople.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "BIG MUSHROOM", + "itemId": "ITEM_BIG_MUSHROOM", + "price": 5000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A large and rare mushroom.\\nIt is very popular among certain\\npeople.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "PEARL", + "itemId": "ITEM_PEARL", + "price": 1400, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A relatively small pearl that\\nsparkles in a pretty silver color.\\nIt can be sold cheaply.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "BIG PEARL", + "itemId": "ITEM_BIG_PEARL", + "price": 7500, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A quite-large pearl that sparkles\\nin a pretty silver color.\\nIt can be sold at a high price.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "STARDUST", + "itemId": "ITEM_STARDUST", + "price": 2000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A pretty red sand with a loose,\\nsilky feel.\\nIt can be sold at a high price.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "STAR PIECE", + "itemId": "ITEM_STAR_PIECE", + "price": 9800, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A shard of a pretty gem that\\nsparkles in a red color.\\nIt can be sold at a high price.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "NUGGET", + "itemId": "ITEM_NUGGET", + "price": 10000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A nugget of pure gold that gives\\noff a lustrous gleam.\\nIt can be sold at a high price.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "HEART SCALE", + "itemId": "ITEM_HEART_SCALE", + "price": 100, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A pretty, heart-shaped scale that\\nis extremely rare. It glows faintly\\nin the colors of a rainbow.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "ORANGE MAIL", + "itemId": "ITEM_ORANGE_MAIL", + "price": 50, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A piece of MAIL featuring a cute\\nZIGZAGOON print.\\nIt is to be held by a POKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 0, + "fieldUseFunc": "sub_80A11E8", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "HARBOR MAIL", + "itemId": "ITEM_HARBOR_MAIL", + "price": 50, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A piece of MAIL featuring a cute\\nWINGULL print.\\nIt is to be held by a POKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 0, + "fieldUseFunc": "sub_80A11E8", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 1 + }, + { + "english": "GLITTER MAIL", + "itemId": "ITEM_GLITTER_MAIL", + "price": 50, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A piece of MAIL featuring a cute\\nPIKACHU print.\\nIt is to be held by a POKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 0, + "fieldUseFunc": "sub_80A11E8", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 2 + }, + { + "english": "MECH MAIL", + "itemId": "ITEM_MECH_MAIL", + "price": 50, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A piece of MAIL featuring a cute\\nMAGNEMITE print.\\nIt is to be held by a POKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 0, + "fieldUseFunc": "sub_80A11E8", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 3 + }, + { + "english": "WOOD MAIL", + "itemId": "ITEM_WOOD_MAIL", + "price": 50, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A piece of MAIL featuring a cute\\nSLAKOTH print.\\nIt is to be held by a POKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 0, + "fieldUseFunc": "sub_80A11E8", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 4 + }, + { + "english": "WAVE MAIL", + "itemId": "ITEM_WAVE_MAIL", + "price": 50, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A piece of MAIL featuring a cute\\nWAILMER print.\\nIt is to be held by a POKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 0, + "fieldUseFunc": "sub_80A11E8", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 5 + }, + { + "english": "BEAD MAIL", + "itemId": "ITEM_BEAD_MAIL", + "price": 50, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A piece of MAIL to be held by a\\nPOKéMON. It will bear the print of\\nthe POKéMON holding it.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 0, + "fieldUseFunc": "sub_80A11E8", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 6 + }, + { + "english": "SHADOW MAIL", + "itemId": "ITEM_SHADOW_MAIL", + "price": 50, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A piece of MAIL featuring a cute\\nDUSKULL print.\\nIt is to be held by a POKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 0, + "fieldUseFunc": "sub_80A11E8", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 7 + }, + { + "english": "TROPIC MAIL", + "itemId": "ITEM_TROPIC_MAIL", + "price": 50, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A piece of MAIL featuring a cute\\nBELLOSSOM print.\\nIt is to be held by a POKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 0, + "fieldUseFunc": "sub_80A11E8", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 8 + }, + { + "english": "DREAM MAIL", + "itemId": "ITEM_DREAM_MAIL", + "price": 50, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A piece of MAIL to be held by a\\nPOKéMON. It will bear the print of\\nthe POKéMON holding it.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 0, + "fieldUseFunc": "sub_80A11E8", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 9 + }, + { + "english": "FAB MAIL", + "itemId": "ITEM_FAB_MAIL", + "price": 50, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A piece of MAIL featuring a\\ngorgeous, extravagant print.\\nIt is to be held by a POKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 0, + "fieldUseFunc": "sub_80A11E8", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 10 + }, + { + "english": "RETRO MAIL", + "itemId": "ITEM_RETRO_MAIL", + "price": 50, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A piece of MAIL featuring a print\\nof three cute POKéMON.\\nIt is to be held by a POKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 0, + "fieldUseFunc": "sub_80A11E8", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 11 + }, + { + "english": "CHERI BERRY", + "itemId": "ITEM_CHERI_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_CURE_PAR", + "holdEffectParam": 0, + "description_english": "When held by a POKéMON, it will be\\nused in battle to heal paralysis.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 1, + "fieldUseFunc": "sub_80A16E0", + "battleUsage": 1, + "battleUseFunc": "sub_80A1FBC", + "secondaryId": 0 + }, + { + "english": "CHESTO BERRY", + "itemId": "ITEM_CHESTO_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_CURE_SLP", + "holdEffectParam": 0, + "description_english": "When held by a POKéMON, it will be\\nused in battle to wake up.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 1, + "fieldUseFunc": "sub_80A16E0", + "battleUsage": 1, + "battleUseFunc": "sub_80A1FBC", + "secondaryId": 0 + }, + { + "english": "PECHA BERRY", + "itemId": "ITEM_PECHA_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_CURE_PSN", + "holdEffectParam": 0, + "description_english": "When held by a POKéMON, it will be\\nused in battle to cure poison.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 1, + "fieldUseFunc": "sub_80A16E0", + "battleUsage": 1, + "battleUseFunc": "sub_80A1FBC", + "secondaryId": 0 + }, + { + "english": "RAWST BERRY", + "itemId": "ITEM_RAWST_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_CURE_BRN", + "holdEffectParam": 0, + "description_english": "When held by a POKéMON, it will be\\nused in battle to heal a burn.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 1, + "fieldUseFunc": "sub_80A16E0", + "battleUsage": 1, + "battleUseFunc": "sub_80A1FBC", + "secondaryId": 0 + }, + { + "english": "ASPEAR BERRY", + "itemId": "ITEM_ASPEAR_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_CURE_FRZ", + "holdEffectParam": 0, + "description_english": "When held by a POKéMON, it will be\\nused in battle for defrosting.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 1, + "fieldUseFunc": "sub_80A16E0", + "battleUsage": 1, + "battleUseFunc": "sub_80A1FBC", + "secondaryId": 0 + }, + { + "english": "LEPPA BERRY", + "itemId": "ITEM_LEPPA_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_RESTORE_PP", + "holdEffectParam": 10, + "description_english": "When held by a POKéMON, it will be\\nused in battle to restore 10 PP.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 1, + "fieldUseFunc": "sub_80A16FC", + "battleUsage": 1, + "battleUseFunc": "sub_80A1FF4", + "secondaryId": 0 + }, + { + "english": "ORAN BERRY", + "itemId": "ITEM_ORAN_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_RESTORE_HP", + "holdEffectParam": 10, + "description_english": "When held by a POKéMON, it will be\\nused in battle to restore 10 HP.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 1, + "fieldUseFunc": "sub_80A16E0", + "battleUsage": 1, + "battleUseFunc": "sub_80A1FBC", + "secondaryId": 0 + }, + { + "english": "PERSIM BERRY", + "itemId": "ITEM_PERSIM_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_CURE_CONFUSION", + "holdEffectParam": 0, + "description_english": "When held by a POKéMON, it will be\\nused in battle to lift confusion.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 1, + "battleUseFunc": "sub_80A1FBC", + "secondaryId": 0 + }, + { + "english": "LUM BERRY", + "itemId": "ITEM_LUM_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_CURE_STATUS", + "holdEffectParam": 0, + "description_english": "When held by a POKéMON, it will be\\nused in battle to heal any problem.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 1, + "fieldUseFunc": "sub_80A16E0", + "battleUsage": 1, + "battleUseFunc": "sub_80A1FBC", + "secondaryId": 0 + }, + { + "english": "SITRUS BERRY", + "itemId": "ITEM_SITRUS_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_RESTORE_HP", + "holdEffectParam": 30, + "description_english": "When held by a POKéMON, it will be\\nused in battle to restore 30 HP.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 1, + "fieldUseFunc": "sub_80A16E0", + "battleUsage": 1, + "battleUseFunc": "sub_80A1FBC", + "secondaryId": 0 + }, + { + "english": "FIGY BERRY", + "itemId": "ITEM_FIGY_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_CONFUSE_SPICY", + "holdEffectParam": 8, + "description_english": "A hold item that restores HP but\\nmay cause confusion when used.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "WIKI BERRY", + "itemId": "ITEM_WIKI_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_CONFUSE_DRY", + "holdEffectParam": 8, + "description_english": "A hold item that restores HP but\\nmay cause confusion when used.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "MAGO BERRY", + "itemId": "ITEM_MAGO_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_CONFUSE_SWEET", + "holdEffectParam": 8, + "description_english": "A hold item that restores HP but\\nmay cause confusion when used.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "AGUAV BERRY", + "itemId": "ITEM_AGUAV_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_CONFUSE_BITTER", + "holdEffectParam": 8, + "description_english": "A hold item that restores HP but\\nmay cause confusion when used.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "IAPAPA BERRY", + "itemId": "ITEM_IAPAPA_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_CONFUSE_SOUR", + "holdEffectParam": 8, + "description_english": "A hold item that restores HP but\\nmay cause confusion when used.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "RAZZ BERRY", + "itemId": "ITEM_RAZZ_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Can be ground up into a powder as\\nan ingredient for medicine.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "BLUK BERRY", + "itemId": "ITEM_BLUK_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Can be ground up into a powder as\\nan ingredient for medicine.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "NANAB BERRY", + "itemId": "ITEM_NANAB_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Can be ground up into a powder as\\nan ingredient for medicine.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "WEPEAR BERRY", + "itemId": "ITEM_WEPEAR_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Can be ground up into a powder as\\nan ingredient for medicine.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "PINAP BERRY", + "itemId": "ITEM_PINAP_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Can be ground up into a powder as\\nan ingredient for medicine.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "POMEG BERRY", + "itemId": "ITEM_POMEG_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Can be ground up into a powder as\\nan ingredient for medicine.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "KELPSY BERRY", + "itemId": "ITEM_KELPSY_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Can be ground up into a powder as\\nan ingredient for medicine.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "QUALOT BERRY", + "itemId": "ITEM_QUALOT_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Can be ground up into a powder as\\nan ingredient for medicine.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "HONDEW BERRY", + "itemId": "ITEM_HONDEW_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Can be ground up into a powder as\\nan ingredient for medicine.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "GREPA BERRY", + "itemId": "ITEM_GREPA_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Can be ground up into a powder as\\nan ingredient for medicine.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "TAMATO BERRY", + "itemId": "ITEM_TAMATO_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Can be ground up into a powder as\\nan ingredient for medicine.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "CORNN BERRY", + "itemId": "ITEM_CORNN_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Can be ground up into a powder as\\nan ingredient for medicine.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "MAGOST BERRY", + "itemId": "ITEM_MAGOST_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Can be ground up into a powder as\\nan ingredient for medicine.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "RABUTA BERRY", + "itemId": "ITEM_RABUTA_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Can be ground up into a powder as\\nan ingredient for medicine.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "NOMEL BERRY", + "itemId": "ITEM_NOMEL_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Can be ground up into a powder as\\nan ingredient for medicine.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "SPELON BERRY", + "itemId": "ITEM_SPELON_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Can be ground up into a powder as\\nan ingredient for medicine.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "PAMTRE BERRY", + "itemId": "ITEM_PAMTRE_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Can be ground up into a powder as\\nan ingredient for medicine.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "WATMEL BERRY", + "itemId": "ITEM_WATMEL_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Can be ground up into a powder as\\nan ingredient for medicine.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "DURIN BERRY", + "itemId": "ITEM_DURIN_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Can be ground up into a powder as\\nan ingredient for medicine.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "BELUE BERRY", + "itemId": "ITEM_BELUE_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Can be ground up into a powder as\\nan ingredient for medicine.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "LIECHI BERRY", + "itemId": "ITEM_LIECHI_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_ATTACK_UP", + "holdEffectParam": 4, + "description_english": "When held by a POKéMON, it raises\\nthe ATTACK stat in a pinch.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "GANLON BERRY", + "itemId": "ITEM_GANLON_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_DEFENSE_UP", + "holdEffectParam": 4, + "description_english": "When held by a POKéMON, it raises\\nthe DEFENSE stat in a pinch.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "SALAC BERRY", + "itemId": "ITEM_SALAC_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_SPEED_UP", + "holdEffectParam": 4, + "description_english": "When held by a POKéMON, it raises\\nthe SPEED stat in a pinch.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "PETAYA BERRY", + "itemId": "ITEM_PETAYA_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_SP_ATTACK_UP", + "holdEffectParam": 4, + "description_english": "When held by a POKéMON, it raises\\nthe SP. ATK stat in a pinch.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "APICOT BERRY", + "itemId": "ITEM_APICOT_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_SP_DEFENSE_UP", + "holdEffectParam": 4, + "description_english": "When held by a POKéMON, it raises\\nthe SP. DEF stat in a pinch.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "LANSAT BERRY", + "itemId": "ITEM_LANSAT_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_CRITICAL_UP", + "holdEffectParam": 4, + "description_english": "When held by a POKéMON, it raises\\nthe critical-hit ratio in a pinch.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "STARF BERRY", + "itemId": "ITEM_STARF_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_RANDOM_STAT_UP", + "holdEffectParam": 4, + "description_english": "When held by a POKéMON, it sharply\\nraises one stat in a pinch.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "ENIGMA BERRY", + "itemId": "ITEM_ENIGMA_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Can be ground up into a powder as\\nan ingredient for medicine.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "ItemUseOutOfBattle_EnigmaBerry", + "battleUsage": 1, + "battleUseFunc": "ItemUseInBattle_EnigmaBerry", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "BRIGHTPOWDER", + "itemId": "ITEM_BRIGHT_POWDER", + "price": 10, + "holdEffect": "HOLD_EFFECT_EVASION_UP", + "holdEffectParam": 10, + "description_english": "An item to be held by a POKéMON.\\nIt casts a tricky glare that lowers\\nthe opponent's accuracy.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "WHITE HERB", + "itemId": "ITEM_WHITE_HERB", + "price": 100, + "holdEffect": "HOLD_EFFECT_RESTORE_STATS", + "holdEffectParam": 0, + "description_english": "An item to be held by a POKéMON.\\nIt restores any lowered stat in\\nbattle. It can be used only once.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "MACHO BRACE", + "itemId": "ITEM_MACHO_BRACE", + "price": 3000, + "holdEffect": "HOLD_EFFECT_MACHO_BRACE", + "holdEffectParam": 0, + "description_english": "An item to be held by a POKéMON.\\nIt promotes strong growth but\\nlowers SPEED while it is held.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "EXP. SHARE", + "itemId": "ITEM_EXP_SHARE", + "price": 3000, + "holdEffect": "HOLD_EFFECT_EXP_SHARE", + "holdEffectParam": 0, + "description_english": "An item to be held by a POKéMON.\\nThe holder gets a share of EXP.\\npoints without having to battle.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "QUICK CLAW", + "itemId": "ITEM_QUICK_CLAW", + "price": 100, + "holdEffect": "HOLD_EFFECT_QUICK_CLAW", + "holdEffectParam": 20, + "description_english": "An item to be held by a POKéMON.\\nA light and sharp claw. The holder\\nmay be able to strike first.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "SOOTHE BELL", + "itemId": "ITEM_SOOTHE_BELL", + "price": 100, + "holdEffect": "HOLD_EFFECT_HAPPINESS_UP", + "holdEffectParam": 0, + "description_english": "An item to be held by a POKéMON.\\nA bell with a comforting chime that\\nmakes the holder calm and friendly.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "MENTAL HERB", + "itemId": "ITEM_MENTAL_HERB", + "price": 100, + "holdEffect": "HOLD_EFFECT_CURE_ATTRACT", + "holdEffectParam": 0, + "description_english": "An item to be held by a POKéMON.\\nIt snaps the holder out of\\ninfatuation. It can be used once.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "CHOICE BAND", + "itemId": "ITEM_CHOICE_BAND", + "price": 100, + "holdEffect": "HOLD_EFFECT_CHOICE_BAND", + "holdEffectParam": 0, + "description_english": "An item to be held by a POKéMON.\\nIt powers up one move, which\\nbecomes the only usable one.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "KING'S ROCK", + "itemId": "ITEM_KINGS_ROCK", + "price": 100, + "holdEffect": "HOLD_EFFECT_FLINCH", + "holdEffectParam": 10, + "description_english": "An item to be held by a POKéMON.\\nIt may cause the foe to flinch\\nupon taking damage.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "SILVERPOWDER", + "itemId": "ITEM_SILVER_POWDER", + "price": 100, + "holdEffect": "HOLD_EFFECT_BUG_POWER", + "holdEffectParam": 10, + "description_english": "An item to be held by a POKéMON.\\nA shiny silver powder that boosts\\nthe power of BUG-type moves.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "AMULET COIN", + "itemId": "ITEM_AMULET_COIN", + "price": 100, + "holdEffect": "HOLD_EFFECT_DOUBLE_PRIZE", + "holdEffectParam": 10, + "description_english": "An item to be held by a POKéMON.\\nIt doubles the battle money if the\\nholding POKéMON takes part.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "CLEANSE TAG", + "itemId": "ITEM_CLEANSE_TAG", + "price": 200, + "holdEffect": "HOLD_EFFECT_REPEL", + "holdEffectParam": 0, + "description_english": "An item to be held by a POKéMON.\\nIt repels wild POKéMON if the\\nholder is first in the party.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "SOUL DEW", + "itemId": "ITEM_SOUL_DEW", + "price": 200, + "holdEffect": "HOLD_EFFECT_SOUL_DEW", + "holdEffectParam": 0, + "description_english": "An orb to be held by a LATIOS or\\nLATIAS. It raises the SP. ATK\\nand SP. DEF stats.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "DEEPSEATOOTH", + "itemId": "ITEM_DEEP_SEA_TOOTH", + "price": 200, + "holdEffect": "HOLD_EFFECT_DEEP_SEA_TOOTH", + "holdEffectParam": 0, + "description_english": "An item to be held by a POKéMON.\\nA fang that gleams a sharp silver.\\nIt raises the SP. ATK stat.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "DEEPSEASCALE", + "itemId": "ITEM_DEEP_SEA_SCALE", + "price": 200, + "holdEffect": "HOLD_EFFECT_DEEP_SEA_SCALE", + "holdEffectParam": 0, + "description_english": "An item to be held by a POKéMON.\\nA scale that shines a faint pink.\\nIt raises the SP. DEF stat.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "SMOKE BALL", + "itemId": "ITEM_SMOKE_BALL", + "price": 200, + "holdEffect": "HOLD_EFFECT_CAN_ALWAYS_RUN", + "holdEffectParam": 0, + "description_english": "An item to be held by a POKéMON.\\nThe holding POKéMON can flee from\\nany wild POKéMON for sure.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "EVERSTONE", + "itemId": "ITEM_EVERSTONE", + "price": 200, + "holdEffect": "HOLD_EFFECT_PREVENT_EVOLVE", + "holdEffectParam": 0, + "description_english": "An item to be held by a POKéMON.\\nThe holding POKéMON is prevented\\nfrom evolving.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "FOCUS BAND", + "itemId": "ITEM_FOCUS_BAND", + "price": 200, + "holdEffect": "HOLD_EFFECT_FOCUS_BAND", + "holdEffectParam": 10, + "description_english": "An item to be held by a POKéMON.\\nThe holding POKéMON may endure an\\nattack, leaving just 1 HP.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "LUCKY EGG", + "itemId": "ITEM_LUCKY_EGG", + "price": 200, + "holdEffect": "HOLD_EFFECT_LUCKY_EGG", + "holdEffectParam": 0, + "description_english": "An item to be held by a POKéMON.\\nAn egg filled with happiness that\\nearns extra EXP. points in battle.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "SCOPE LENS", + "itemId": "ITEM_SCOPE_LENS", + "price": 200, + "holdEffect": "HOLD_EFFECT_SCOPE_LENS", + "holdEffectParam": 0, + "description_english": "An item to be held by a POKéMON.\\nA lens that boosts the critical-hit\\nratio of the holding POKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "METAL COAT", + "itemId": "ITEM_METAL_COAT", + "price": 100, + "holdEffect": "HOLD_EFFECT_STEEL_POWER", + "holdEffectParam": 10, + "description_english": "An item to be held by a POKéMON.\\nA special metallic film that boosts\\nthe power of STEEL-type moves.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "LEFTOVERS", + "itemId": "ITEM_LEFTOVERS", + "price": 200, + "holdEffect": "HOLD_EFFECT_LEFTOVERS", + "holdEffectParam": 10, + "description_english": "An item to be held by a POKéMON.\\nThe holding POKéMON gradually\\nregains HP during battle.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "DRAGON SCALE", + "itemId": "ITEM_DRAGON_SCALE", + "price": 2100, + "holdEffect": "HOLD_EFFECT_DRAGON_SCALE", + "holdEffectParam": 10, + "description_english": "A thick and tough scale.\\nA DRAGON-type POKéMON may be\\nholding it.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "LIGHT BALL", + "itemId": "ITEM_LIGHT_BALL", + "price": 100, + "holdEffect": "HOLD_EFFECT_LIGHT_BALL", + "holdEffectParam": 0, + "description_english": "An orb to be held by a PIKACHU\\nthat raises the SP. ATK stat.\\nTouching it may cause a shock.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "SOFT SAND", + "itemId": "ITEM_SOFT_SAND", + "price": 100, + "holdEffect": "HOLD_EFFECT_GROUND_POWER", + "holdEffectParam": 10, + "description_english": "An item to be held by a POKéMON.\\nA loose, silky sand that boosts the\\npower of GROUND-type moves.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "HARD STONE", + "itemId": "ITEM_HARD_STONE", + "price": 100, + "holdEffect": "HOLD_EFFECT_ROCK_POWER", + "holdEffectParam": 10, + "description_english": "An item to be held by a POKéMON.\\nAn unbreakable stone that boosts\\nthe power of ROCK-type moves.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "MIRACLE SEED", + "itemId": "ITEM_MIRACLE_SEED", + "price": 100, + "holdEffect": "HOLD_EFFECT_GRASS_POWER", + "holdEffectParam": 10, + "description_english": "An item to be held by a POKéMON.\\nA seed imbued with life that boosts\\nthe power of GRASS-type moves.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "BLACKGLASSES", + "itemId": "ITEM_BLACK_GLASSES", + "price": 100, + "holdEffect": "HOLD_EFFECT_DARK_POWER", + "holdEffectParam": 10, + "description_english": "An item to be held by a POKéMON.\\nA shady-looking pair of glasses\\nthat boosts DARK-type moves.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "BLACK BELT", + "itemId": "ITEM_BLACK_BELT", + "price": 100, + "holdEffect": "HOLD_EFFECT_FIGHTING_POWER", + "holdEffectParam": 10, + "description_english": "An item to be held by a POKéMON.\\nA belt that boosts determination\\nand FIGHTING-type moves.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "MAGNET", + "itemId": "ITEM_MAGNET", + "price": 100, + "holdEffect": "HOLD_EFFECT_ELECTRIC_POWER", + "holdEffectParam": 10, + "description_english": "An item to be held by a POKéMON.\\nA powerful magnet that boosts the\\npower of ELECTRIC-type moves.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "MYSTIC WATER", + "itemId": "ITEM_MYSTIC_WATER", + "price": 100, + "holdEffect": "HOLD_EFFECT_WATER_POWER", + "holdEffectParam": 10, + "description_english": "An item to be held by a POKéMON.\\nA teardrop-shaped gem that boosts\\nthe power of WATER-type moves.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "SHARP BEAK", + "itemId": "ITEM_SHARP_BEAK", + "price": 100, + "holdEffect": "HOLD_EFFECT_FLYING_POWER", + "holdEffectParam": 10, + "description_english": "An item to be held by a POKéMON.\\nA long, sharp beak that boosts the\\npower of FLYING-type moves.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "POISON BARB", + "itemId": "ITEM_POISON_BARB", + "price": 100, + "holdEffect": "HOLD_EFFECT_POISON_POWER", + "holdEffectParam": 10, + "description_english": "An item to be held by a POKéMON.\\nA small, poisonous barb that boosts\\nthe power of POISON-type moves.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "NEVERMELTICE", + "itemId": "ITEM_NEVER_MELT_ICE", + "price": 100, + "holdEffect": "HOLD_EFFECT_ICE_POWER", + "holdEffectParam": 10, + "description_english": "An item to be held by a POKéMON.\\nA piece of ice that repels heat\\nand boosts ICE-type moves.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "SPELL TAG", + "itemId": "ITEM_SPELL_TAG", + "price": 100, + "holdEffect": "HOLD_EFFECT_GHOST_POWER", + "holdEffectParam": 10, + "description_english": "An item to be held by a POKéMON.\\nA sinister, eerie tag that boosts\\nGHOST-type moves.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "TWISTEDSPOON", + "itemId": "ITEM_TWISTED_SPOON", + "price": 100, + "holdEffect": "HOLD_EFFECT_PSYCHIC_POWER", + "holdEffectParam": 10, + "description_english": "An item to be held by a POKéMON.\\nA spoon imbued with telekinetic\\npower boosts PSYCHIC-type moves.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "CHARCOAL", + "itemId": "ITEM_CHARCOAL", + "price": 9800, + "holdEffect": "HOLD_EFFECT_FIRE_POWER", + "holdEffectParam": 10, + "description_english": "An item to be held by a POKéMON.\\nA combustible fuel that boosts the\\npower of FIRE-type moves.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "DRAGON FANG", + "itemId": "ITEM_DRAGON_FANG", + "price": 100, + "holdEffect": "HOLD_EFFECT_DRAGON_POWER", + "holdEffectParam": 10, + "description_english": "An item to be held by a POKéMON.\\nA hard and sharp fang that boosts\\nthe power of DRAGON-type moves.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "SILK SCARF", + "itemId": "ITEM_SILK_SCARF", + "price": 100, + "holdEffect": "HOLD_EFFECT_NORMAL_POWER", + "holdEffectParam": 10, + "description_english": "An item to be held by a POKéMON.\\nA sumptuous scarf that boosts the\\npower of NORMAL-type moves.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "UP-GRADE", + "itemId": "ITEM_UP_GRADE", + "price": 2100, + "holdEffect": "HOLD_EFFECT_UP_GRADE", + "holdEffectParam": 0, + "description_english": "A transparent device filled with all\\nsorts of data.\\nIt is made by SILPH CO.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "SHELL BELL", + "itemId": "ITEM_SHELL_BELL", + "price": 200, + "holdEffect": "HOLD_EFFECT_SHELL_BELL", + "holdEffectParam": 8, + "description_english": "An item to be held by a POKéMON.\\nThe holding POKéMON regains some\\nHP upon striking the foe.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "SEA INCENSE", + "itemId": "ITEM_SEA_INCENSE", + "price": 9600, + "holdEffect": "HOLD_EFFECT_WATER_POWER", + "holdEffectParam": 5, + "description_english": "An item to be held by a POKéMON.\\nIt slightly boosts the power of\\nWATER-type moves.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "LAX INCENSE", + "itemId": "ITEM_LAX_INCENSE", + "price": 9600, + "holdEffect": "HOLD_EFFECT_EVASION_UP", + "holdEffectParam": 5, + "description_english": "An item to be held by a POKéMON.\\nIts tricky aroma slightly reduces\\nthe foe's accuracy.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "LUCKY PUNCH", + "itemId": "ITEM_LUCKY_PUNCH", + "price": 10, + "holdEffect": "HOLD_EFFECT_LUCKY_PUNCH", + "holdEffectParam": 0, + "description_english": "A glove to be held by a CHANSEY.\\nIt raises CHANSEY's critical-hit\\nratio.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "METAL POWDER", + "itemId": "ITEM_METAL_POWDER", + "price": 10, + "holdEffect": "HOLD_EFFECT_METAL_POWDER", + "holdEffectParam": 0, + "description_english": "A fine, hard powder to be held by\\na DITTO.\\nIt raises DITTO's DEFENSE stat.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "THICK CLUB", + "itemId": "ITEM_THICK_CLUB", + "price": 500, + "holdEffect": "HOLD_EFFECT_THICK_CLUB", + "holdEffectParam": 0, + "description_english": "A hard bone of some sort to be\\nheld by a CUBONE or MAROWAK.\\nIt raises the ATTACK stat.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "STICK", + "itemId": "ITEM_STICK", + "price": 200, + "holdEffect": "HOLD_EFFECT_STICK", + "holdEffectParam": 0, + "description_english": "A stick of leek to be held by a\\nFARFETCH'D. It raises FARFETCH'D's\\ncritical-hit ratio.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "RED SCARF", + "itemId": "ITEM_RED_SCARF", + "price": 100, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "An item to be held by a POKéMON.\\nIt boosts the holding POKéMON's\\nCOOL condition in CONTESTS.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "BLUE SCARF", + "itemId": "ITEM_BLUE_SCARF", + "price": 100, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "An item to be held by a POKéMON.\\nIt boosts the holding POKéMON's\\nBEAUTY condition in CONTESTS.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "PINK SCARF", + "itemId": "ITEM_PINK_SCARF", + "price": 100, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "An item to be held by a POKéMON.\\nIt boosts the holding POKéMON's\\nCUTE condition in CONTESTS.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "GREEN SCARF", + "itemId": "ITEM_GREEN_SCARF", + "price": 100, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "An item to be held by a POKéMON.\\nIt boosts the holding POKéMON's\\nSMART condition in CONTESTS.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "YELLOW SCARF", + "itemId": "ITEM_YELLOW_SCARF", + "price": 100, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "An item to be held by a POKéMON.\\nIt boosts the holding POKéMON's\\nTOUGH condition in CONTESTS.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "MACH BIKE", + "itemId": "ITEM_MACH_BIKE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A folding bicycle that is at least\\ntwice as fast as walking.", + "importance": 1, + "exitsBagOnUse": 1, + "pocket": "POCKET_KEY_ITEMS", + "type": 2, + "fieldUseFunc": "sub_80A122C", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "COIN CASE", + "itemId": "ITEM_COIN_CASE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A case for holding COINS obtained\\nat the GAME CORNER.\\nIt holds up to 9,999 COINS.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A1460", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "ITEMFINDER", + "itemId": "ITEM_ITEMFINDER", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A device used for finding items.\\nIf there is a hidden item nearby\\nwhen it is used, it emits a signal.", + "importance": 1, + "exitsBagOnUse": 1, + "pocket": "POCKET_KEY_ITEMS", + "type": 2, + "fieldUseFunc": "ItemUseOutOfBattle_Itemfinder", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "OLD ROD", + "itemId": "ITEM_OLD_ROD", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "An old and beat-up fishing rod.\\nUse it by any body of water to \\nfish for wild POKéMON.", + "importance": 1, + "exitsBagOnUse": 1, + "pocket": "POCKET_KEY_ITEMS", + "type": 2, + "fieldUseFunc": "sub_80A1338", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "GOOD ROD", + "itemId": "ITEM_GOOD_ROD", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A new, good-quality fishing rod.\\nUse it by any body of water to \\nfish for wild POKéMON.", + "importance": 1, + "exitsBagOnUse": 1, + "pocket": "POCKET_KEY_ITEMS", + "type": 2, + "fieldUseFunc": "sub_80A1338", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 1 + }, + { + "english": "SUPER ROD", + "itemId": "ITEM_SUPER_ROD", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "An awesome, high-tech fishing rod.\\nUse it by any body of water to fish\\nfor wild POKéMON.", + "importance": 1, + "exitsBagOnUse": 1, + "pocket": "POCKET_KEY_ITEMS", + "type": 2, + "fieldUseFunc": "sub_80A1338", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 2 + }, + { + "english": "S.S. TICKET", + "itemId": "ITEM_SS_TICKET", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "The ticket required for sailing on\\nthe ferry S.S. ANNE.\\nIt has a drawing of a ship on it.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "CONTEST PASS", + "itemId": "ITEM_CONTEST_PASS", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "The pass required for entering\\nPOKéMON CONTESTS. It has a\\ndrawing of an award ribbon on it.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "WAILMER PAIL", + "itemId": "ITEM_WAILMER_PAIL", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A nifty watering pail.\\nUse it to promote strong growth in\\nBERRIES planted in soft soil.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "DEVON GOODS", + "itemId": "ITEM_DEVON_GOODS", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A package that contains mechanical\\nparts of some sort made by the\\nDEVON CORPORATION.", + "importance": 2, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "SOOT SACK", + "itemId": "ITEM_SOOT_SACK", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A sack used to collect volcanic\\nash automatically during walks\\nover deep ash.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "BASEMENT KEY", + "itemId": "ITEM_BASEMENT_KEY", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "The key to NEW MAUVILLE, which\\nwas constructed beneath MAUVILLE\\nCITY.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "ACRO BIKE", + "itemId": "ITEM_ACRO_BIKE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A folding bicycle that is capable\\nof stunts like jumps and wheelies.", + "importance": 1, + "exitsBagOnUse": 1, + "pocket": "POCKET_KEY_ITEMS", + "type": 2, + "fieldUseFunc": "sub_80A122C", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 1 + }, + { + "english": "{POKEBLOCK} CASE", + "itemId": "ITEM_POKEBLOCK_CASE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A case for holding {POKEBLOCK}S made\\nwith a BERRY BLENDER. It releases\\none {POKEBLOCK} when shaken.", + "importance": 1, + "exitsBagOnUse": 1, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "LETTER", + "itemId": "ITEM_LETTER", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "An extremely important letter to\\nSTEVEN from the PRESIDENT of the\\nDEVON CORPORATION.", + "importance": 2, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "EON TICKET", + "itemId": "ITEM_EON_TICKET", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "The ticket required for sailing on a\\nferry to a distant southern island.\\nIt features a drawing of an island.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 1 + }, + { + "english": "RED ORB", + "itemId": "ITEM_RED_ORB", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "An orb that glows red.\\nIt is said to contain an incredible\\npower from ancient times.", + "importance": 2, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "BLUE ORB", + "itemId": "ITEM_BLUE_ORB", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "An orb that glows blue.\\nIt is said to contain an incredible\\npower from ancient times.", + "importance": 2, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "SCANNER", + "itemId": "ITEM_SCANNER", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A device used to search for\\nlife-forms in water.\\nIt looks too difficult to use.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "GO-GOGGLES", + "itemId": "ITEM_GO_GOGGLES", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A pair of protective goggles.\\nThey enable a TRAINER to travel\\nthrough even desert sandstorms.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "METEORITE", + "itemId": "ITEM_METEORITE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A meteorite that fell from space\\nonto MT. MOON long ago.\\nIt is very lumpy and hard.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "RM. 1 KEY", + "itemId": "ITEM_ROOM_1_KEY", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A key that opens the door to Room\\n1 inside the ABANDONED SHIP.\\nIt is old and looks easily broken.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "RM. 2 KEY", + "itemId": "ITEM_ROOM_2_KEY", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A key that opens the door to Room\\n2 inside the ABANDONED SHIP.\\nIt is old and looks easily broken.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "RM. 4 KEY", + "itemId": "ITEM_ROOM_4_KEY", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A key that opens the door to Room\\n4 inside the ABANDONED SHIP.\\nIt is old and looks easily broken.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "RM. 6 KEY", + "itemId": "ITEM_ROOM_6_KEY", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A key that opens the door to Room\\n6 inside the ABANDONED SHIP.\\nIt is old and looks easily broken.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "STORAGE KEY", + "itemId": "ITEM_STORAGE_KEY", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A key that opens the storage hold\\ninside the ABANDONED SHIP.\\nIt is old and looks easily broken.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "ROOT FOSSIL", + "itemId": "ITEM_ROOT_FOSSIL", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A fossil of an ancient, seafloor-\\ndwelling POKéMON. It appears to be\\npart of a plant root.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "CLAW FOSSIL", + "itemId": "ITEM_CLAW_FOSSIL", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A fossil of an ancient, seafloor-\\ndwelling POKéMON. It appears to be\\npart of a claw.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "DEVON SCOPE", + "itemId": "ITEM_DEVON_SCOPE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A scope that signals the presence\\nof any unseeable POKéMON.\\nIt is made by the DEVON CORP.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "TM01", + "itemId": "ITEM_TM01", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "An extremely powerful attack.\\nHowever, if the user is hit before\\nusing the move, they will flinch.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "FocusPunch" + }, + { + "english": "TM02", + "itemId": "ITEM_TM02", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Sharp, huge claws hook and slash\\nthe foe quickly and with great\\npower.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "DragonClaw" + }, + { + "english": "TM03", + "itemId": "ITEM_TM03", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "The foe is hit with a pulsing blast\\nof water. It may also confuse the\\ntarget.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "WaterPulse" + }, + { + "english": "TM04", + "itemId": "ITEM_TM04", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "The user calms its spirit and\\nfocuses its mind to raise its\\nSP. ATK and SP. DEF stats.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "CalmMind" + }, + { + "english": "TM05", + "itemId": "ITEM_TM05", + "price": 1000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A savage roar that causes the foe\\nto switch out of battle. In the\\nwild, ROAR ends the battle.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Roar" + }, + { + "english": "TM06", + "itemId": "ITEM_TM06", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A move that leaves the foe badly\\npoisoned. Its poison damage worsens\\nevery turn.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Toxic" + }, + { + "english": "TM07", + "itemId": "ITEM_TM07", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Summons a hailstorm that lasts for\\nfive turns. The hailstorm damages\\nall types except the ICE type.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Hail" + }, + { + "english": "TM08", + "itemId": "ITEM_TM08", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "The user tightens all its muscles\\nand bulks up, boosting both its\\nATTACK and DEFENSE stats.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "BulkUp" + }, + { + "english": "TM09", + "itemId": "ITEM_TM09", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "The user shoots seeds at the foe\\nin rapid succession. Two to five\\nseeds are shot at once.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "BulletSeed" + }, + { + "english": "TM10", + "itemId": "ITEM_TM10", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A variable move that changes type\\nand power depending on the POKéMON\\nusing it.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "HiddenPower" + }, + { + "english": "TM11", + "itemId": "ITEM_TM11", + "price": 2000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "The weather is turned sunny for\\nfive turns. Over that time, FIRE-\\ntype moves are powered up.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "SunnyDay" + }, + { + "english": "TM12", + "itemId": "ITEM_TM12", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A taunted foe may become enraged.\\nIt will then only be able to use\\nattack moves.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Taunt" + }, + { + "english": "TM13", + "itemId": "ITEM_TM13", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "An icy-cold beam is shot at the\\nfoe. It may leave the target\\nfrozen.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "IceBeam" + }, + { + "english": "TM14", + "itemId": "ITEM_TM14", + "price": 5500, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A vicious snow-and-wind attack that\\nstrikes all foes in battle. It may\\ncause freezing.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Blizzard" + }, + { + "english": "TM15", + "itemId": "ITEM_TM15", + "price": 7500, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A harsh attack that inflicts severe\\ndamage on the foe. However, the\\nuser must rest the next turn.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "HyperBeam" + }, + { + "english": "TM16", + "itemId": "ITEM_TM16", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A wall of light is created over\\nfive turns. It reduces damage from\\nSP. ATK attacks.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "LightScreen" + }, + { + "english": "TM17", + "itemId": "ITEM_TM17", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "The user is completely protected\\nfrom attack in the turn it is used.\\nIt may fail if used in succession.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Protect" + }, + { + "english": "TM18", + "itemId": "ITEM_TM18", + "price": 2000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A heavy rain is summoned for five\\nturns. Over that time, WATER-type\\nmoves are powered up.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "RainDance" + }, + { + "english": "TM19", + "itemId": "ITEM_TM19", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "The user strikes the foe with\\ntentacles or roots, stealing the\\ntarget's HP and healing itself.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "GigaDrain" + }, + { + "english": "TM20", + "itemId": "ITEM_TM20", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Protects the party with a shield\\nagainst all status problems over\\nfive turns.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Safeguard" + }, + { + "english": "TM21", + "itemId": "ITEM_TM21", + "price": 1000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "This attack move grows more\\npowerful the more the POKéMON\\ndislikes its TRAINER.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Frustration" + }, + { + "english": "TM22", + "itemId": "ITEM_TM22", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A 2-turn attack that uses the first\\nturn for absorbing sunlight, then\\nblasting the foe in the next turn.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "SolarBeam" + }, + { + "english": "TM23", + "itemId": "ITEM_TM23", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "The foe is slammed with a sturdy\\ntail of steel. It may lower the\\ntarget's DEFENSE stat.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "IronTail" + }, + { + "english": "TM24", + "itemId": "ITEM_TM24", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A massive jolt of electricity is\\nlaunched at the foe. It may cause\\nparalysis.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Thunderbolt" + }, + { + "english": "TM25", + "itemId": "ITEM_TM25", + "price": 5500, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Strikes the foe with a huge\\nthunderbolt. It may cause\\nparalysis.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Thunder" + }, + { + "english": "TM26", + "itemId": "ITEM_TM26", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Causes an earthquake that strikes\\nall POKéMON in battle, excluding\\nthe user.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Earthquake" + }, + { + "english": "TM27", + "itemId": "ITEM_TM27", + "price": 1000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "This attack move grows more\\npowerful the more the POKéMON\\nlikes its TRAINER.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Return" + }, + { + "english": "TM28", + "itemId": "ITEM_TM28", + "price": 2000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A 2-turn attack in which the user\\ndigs underground, then strikes.\\nIt can be used to exit dungeons.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Dig" + }, + { + "english": "TM29", + "itemId": "ITEM_TM29", + "price": 2000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A powerful blast of telekinetic\\nenergy strikes the foe. It may\\nlower the target's SP. DEF stat.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Psychic" + }, + { + "english": "TM30", + "itemId": "ITEM_TM30", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "The foe is attacked with a shadowy\\nlump. It may lower the target's\\nSP. DEF stat.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "ShadowBall" + }, + { + "english": "TM31", + "itemId": "ITEM_TM31", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Strikes the foe with a rock-hard\\nfist, etc. It shatters barriers such\\nas REFLECT and LIGHT SCREEN.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "BrickBreak" + }, + { + "english": "TM32", + "itemId": "ITEM_TM32", + "price": 2000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "The user begins moving so quickly\\nthat it creates illusory copies to\\nraise its evasiveness.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "DoubleTeam" + }, + { + "english": "TM33", + "itemId": "ITEM_TM33", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A tough barrier is put up over five\\nturns. It reduces damage from\\nphysical attacks over that time.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Reflect" + }, + { + "english": "TM34", + "itemId": "ITEM_TM34", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A rapid jolt of electricity strikes\\nthe foe. This attack is impossible\\nto evade.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "ShockWave" + }, + { + "english": "TM35", + "itemId": "ITEM_TM35", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "The foe is roasted with a heavy\\nblast of fire. It may leave the\\ntarget with a burn.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Flamethrower" + }, + { + "english": "TM36", + "itemId": "ITEM_TM36", + "price": 1000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Toxic sludge is hurled at the foe\\nwith great force. It may also\\npoison the target.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "SludgeBomb" + }, + { + "english": "TM37", + "itemId": "ITEM_TM37", + "price": 2000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Summons a sandstorm that lasts for\\nfive turns. It damages all types\\nexcept ROCK, GROUND, and STEEL.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Sandstorm" + }, + { + "english": "TM38", + "itemId": "ITEM_TM38", + "price": 5500, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "The foe is incinerated with an\\nintense flame. It may leave the\\ntarget with a burn.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "FireBlast" + }, + { + "english": "TM39", + "itemId": "ITEM_TM39", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Boulders are hurled at the foe.\\nIt also lowers the target's SPEED\\nstat if it hits.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "RockTomb" + }, + { + "english": "TM40", + "itemId": "ITEM_TM40", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "An extremely fast attack against\\none target. It is impossible to\\nevade.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "AerialAce" + }, + { + "english": "TM41", + "itemId": "ITEM_TM41", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "If enraged by this move, the target\\nbecomes incapable of using the same\\nmove twice in a row.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Torment" + }, + { + "english": "TM42", + "itemId": "ITEM_TM42", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "An attack move that becomes very\\npowerful if the user is poisoned,\\nburned, or paralyzed.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Facade" + }, + { + "english": "TM43", + "itemId": "ITEM_TM43", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "An attack move that may have an\\nadditional effect depending on the\\nbattle terrain.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "SecretPower" + }, + { + "english": "TM44", + "itemId": "ITEM_TM44", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A move that makes the user fall\\nasleep over two turns to restore HP\\nand heal any status problems.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Rest" + }, + { + "english": "TM45", + "itemId": "ITEM_TM45", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "The foe, if it is the opposite\\ngender as the user, becomes\\ninfatuated and may not attack.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Attract" + }, + { + "english": "TM46", + "itemId": "ITEM_TM46", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "An attack that gives the user an\\nopportunity to steal the foe's hold\\nitem.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Thief" + }, + { + "english": "TM47", + "itemId": "ITEM_TM47", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "The foe is struck with steel-hard\\nwings. It may also raise the user's\\nDEFENSE stat.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "SteelWing" + }, + { + "english": "TM48", + "itemId": "ITEM_TM48", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A special power is transmitted to\\nthe foe, causing it to switch\\nabilities with the user.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "SkillSwap" + }, + { + "english": "TM49", + "itemId": "ITEM_TM49", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A move that steals the effects of\\nany status-changing or healing move\\nthat the foe tries to use.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Snatch" + }, + { + "english": "TM50", + "itemId": "ITEM_TM50", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A maximum-power attack of great\\nferocity, but one that also sharply\\nreduces the user's SP. ATK stat.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Overheat" + }, + { + "english": "HM01", + "itemId": "ITEM_HM01", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Attacks the foe with sharp blades\\nor claws. It can also cut down thin\\ntrees and grass outside of battle.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Cut" + }, + { + "english": "HM02", + "itemId": "ITEM_HM02", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "The user flies up on the first turn,\\nthen attacks next turn. It can be\\nused to fly to any known town.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Fly" + }, + { + "english": "HM03", + "itemId": "ITEM_HM03", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Creates a huge wave, then crashes\\nit down on the foe. It can be used\\nfor traveling on water.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Surf" + }, + { + "english": "HM04", + "itemId": "ITEM_HM04", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "The user builds enormous power,\\nthen slams the foe. It can be used\\nfor moving large, round boulders.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Strength" + }, + { + "english": "HM05", + "itemId": "ITEM_HM05", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Looses a powerful blast of light\\nthat reduces the foe's accuracy.\\nIt also lights up dark caves.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Flash" + }, + { + "english": "HM06", + "itemId": "ITEM_HM06", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Hits the foe with a rock-crushingly\\ntough attack. It can smash cracked\\nboulders.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "RockSmash" + }, + { + "english": "HM07", + "itemId": "ITEM_HM07", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A powerful charge attack. It can\\nbe used for climbing a torrential\\nwaterfall.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Waterfall" + }, + { + "english": "HM08", + "itemId": "ITEM_HM08", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A 2-turn attack in which the user\\ndives underwater on the first turn,\\nthen strikes in the next turn.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Dive" + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "OAK'S PARCEL", + "itemId": "ITEM_OAKS_PARCEL", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A parcel to be delivered to PROF.\\nOAK from VIRIDIAN CITY's POKéMON\\nMART.", + "importance": 2, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "POK\u00e9 FLUTE", + "itemId": "ITEM_POKE_FLUTE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A flute that is said to instantly\\nawaken any POKéMON. It has a\\nlovely tone.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A156C", + "battleUsage": 2, + "battleUseFunc": "sub_80A1E64", + "secondaryId": 0 + }, + { + "english": "SECRET KEY", + "itemId": "ITEM_SECRET_KEY", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "The key to CINNABAR ISLAND GYM's\\nfront door. It is colored red and\\ndecorated.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "BIKE VOUCHER", + "itemId": "ITEM_BIKE_VOUCHER", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Take this voucher to the BIKE SHOP\\nin CERULEAN CITY and exchange it\\nfor a bicycle.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "GOLD TEETH", + "itemId": "ITEM_GOLD_TEETH", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A set of false teeth lost by the\\nSAFARI ZONE'S WARDEN. It makes his\\nsmile sparkle.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "OLD AMBER", + "itemId": "ITEM_OLD_AMBER", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A piece of amber that contains\\nthe genes of an ancient POKéMON.\\nIt is clear with a reddish tint.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "CARD KEY", + "itemId": "ITEM_CARD_KEY", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A card-type key that unlocks doors\\nin SILPH CO.'s HEAD OFFICE in\\nSAFFRON CITY.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "LIFT KEY", + "itemId": "ITEM_LIFT_KEY", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A key that operates the elevator\\nin TEAM ROCKET's HIDEOUT.\\nIt bears the TEAM ROCKET logo.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "HELIX FOSSIL", + "itemId": "ITEM_HELIX_FOSSIL", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A fossil of an ancient, seafloor-\\ndwelling POKéMON. It appears to be\\npart of a seashell.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "DOME FOSSIL", + "itemId": "ITEM_DOME_FOSSIL", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A fossil of an ancient, seafloor-\\ndwelling POKéMON. It appears to be\\npart of a shell.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "SILPH SCOPE", + "itemId": "ITEM_SILPH_SCOPE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A scope that makes unseeable\\nPOKéMON visible.\\nIt is made by SILPH CO.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "BICYCLE", + "itemId": "ITEM_BICYCLE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A folding bicycle that allows\\nfaster movement than the RUNNING\\nSHOES.", + "importance": 1, + "exitsBagOnUse": 1, + "pocket": "POCKET_KEY_ITEMS", + "type": 2, + "fieldUseFunc": "sub_80A122C", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "TOWN MAP", + "itemId": "ITEM_TOWN_MAP", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A very convenient map that can be\\nviewed anytime. It even shows your \\npresent location.", + "importance": 1, + "exitsBagOnUse": 1, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A1C60", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "VS SEEKER", + "itemId": "ITEM_VS_SEEKER", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A device that indicates TRAINERS\\nwho want to battle. The battery\\ncharges while traveling.", + "importance": 1, + "exitsBagOnUse": 1, + "pocket": "POCKET_KEY_ITEMS", + "type": 2, + "fieldUseFunc": "sub_80A1D9C", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "FAME CHECKER", + "itemId": "ITEM_FAME_CHECKER", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A device that enables you to\\nrecall what you've heard and seen\\nabout famous people.", + "importance": 1, + "exitsBagOnUse": 1, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A1CF8", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "TM CASE", + "itemId": "ITEM_TM_CASE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A case that holds TMs and HMs.\\nIt is attached to the BAG's\\ncompartment for important items.", + "importance": 1, + "exitsBagOnUse": 1, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A1788", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "BERRY POUCH", + "itemId": "ITEM_BERRY_POUCH", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A pouch for carrying BERRIES.\\nIt is attached to the BAG's\\ncompartment for important items.", + "importance": 1, + "exitsBagOnUse": 1, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A1820", + "battleUsage": 3, + "battleUseFunc": "sub_80A18B8", + "secondaryId": 0 + }, + { + "english": "TEACHY TV", + "itemId": "ITEM_TEACHY_TV", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A television set that is tuned to\\na program with useful tips for\\nnovice TRAINERS.", + "importance": 1, + "exitsBagOnUse": 1, + "pocket": "POCKET_KEY_ITEMS", + "type": 2, + "fieldUseFunc": "sub_80A18EC", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "TRI-PASS", + "itemId": "ITEM_TRI_PASS", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A pass for ferries between ONE,\\nTWO, and THREE ISLAND.\\nIt has a drawing of three islands.", + "importance": 1, + "exitsBagOnUse": 1, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "RAINBOW PASS", + "itemId": "ITEM_RAINBOW_PASS", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A pass for ferries between\\nVERMILION and the SEVII ISLANDS.\\nIt features a drawing of a rainbow.", + "importance": 1, + "exitsBagOnUse": 1, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "TEA", + "itemId": "ITEM_TEA", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "An aromatic tea prepared by an old\\nlady. It will slake even the worst\\nthirst.", + "importance": 1, + "exitsBagOnUse": 1, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "MYSTICTICKET", + "itemId": "ITEM_MYSTIC_TICKET", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A ticket required to board the ship\\nto NAVEL ROCK.\\nIt glows with a mystic light.", + "importance": 1, + "exitsBagOnUse": 1, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "AURORATICKET", + "itemId": "ITEM_AURORA_TICKET", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A ticket required to board the ship\\nto BIRTH ISLAND.\\nIt glows beautifully.", + "importance": 1, + "exitsBagOnUse": 1, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "POWDER JAR", + "itemId": "ITEM_POWDER_JAR", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A jar for storing BERRY POWDER\\nmade using a BERRY CRUSHER.", + "importance": 1, + "exitsBagOnUse": 1, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A14E8", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "RUBY", + "itemId": "ITEM_RUBY", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "An exquisitely beautiful gem that\\nhas a red glow.\\nIt symbolizes passion.", + "importance": 1, + "exitsBagOnUse": 1, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "SAPPHIRE", + "itemId": "ITEM_SAPPHIRE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "An exquisitely beautiful gem that\\nhas a blue glow.\\nIt symbolizes honesty.", + "importance": 1, + "exitsBagOnUse": 1, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "sub_80A2238", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + } + ] +} \ No newline at end of file diff --git a/src/data/items.json.txt b/src/data/items.json.txt new file mode 100644 index 000000000..0daa783aa --- /dev/null +++ b/src/data/items.json.txt @@ -0,0 +1,31 @@ +{{ doNotModifyHeader }} +## for item in items +## if item.pocket == "POCKET_TM_CASE" +extern const u8 gMoveDescription_{{ item.moveId }}[]; +## endif +{% if item.itemId != "ITEM_NONE" %}const u8 gItemDescription_{{ item.itemId }}[] = _("{{ item.description_english }}");{% endif %} +## endfor +const u8 gItemDescription_ITEM_NONE[] = _("?????"); + +const struct Item gItems[] = { + {% for item in items %}{ + .name = _("{{ item.english }}"), + .itemId = {{ item.itemId }}, + .price = {{ item.price }}, + .holdEffect = {{ item.holdEffect }}, + .holdEffectParam = {{ item.holdEffectParam }}, +## if item.pocket == "POCKET_TM_CASE" + .description = gMoveDescription_{{ item.moveId }}, +## else + .description = gItemDescription_{{ item.itemId }}, +## endif + .importance = {{ item.importance }}, + .exitsBagOnUse = {{ item.exitsBagOnUse }}, + .pocket = {{ item.pocket }}, + .type = {{ item.type }}, + .fieldUseFunc = {{ item.fieldUseFunc }}, + .battleUsage = {{ item.battleUsage }}, + .battleUseFunc = {{ item.battleUseFunc }}, + .secondaryId = {{ item.secondaryId }} + }, {% endfor %} +}; diff --git a/src/item.c b/src/item.c new file mode 100644 index 000000000..5ea771c05 --- /dev/null +++ b/src/item.c @@ -0,0 +1,8 @@ +#include "global.h" +#include "item.h" +#include "item_use.h" +#include "constants/hold_effects.h" +#include "constants/items.h" + +// Item descriptions and data +#include "data/items.h" diff --git a/src/item_use.c b/src/item_use.c new file mode 100644 index 000000000..bb259da51 --- /dev/null +++ b/src/item_use.c @@ -0,0 +1,242 @@ +#include "global.h" +#include "berry_pouch.h" +#include "bike.h" +#include "event_data.h" +#include "field_fadetransition.h" +#include "field_map_obj_helpers.h" +#include "field_player_avatar.h" +#include "field_weather.h" +#include "fieldmap.h" +#include "item.h" +#include "item_menu.h" +#include "mail.h" +#include "map_obj_80688E4.h" +#include "map_obj_lock.h" +#include "metatile_behavior.h" +#include "new_menu_helpers.h" +#include "overworld.h" +#include "script.h" +#include "sound.h" +#include "string_util.h" +#include "strings.h" +#include "task.h" +#include "constants/flags.h" +#include "constants/items.h" +#include "constants/songs.h" + +EWRAM_DATA void (*sItemUseOnFieldCB)(u8 taskId) = NULL; + +void sub_80A1084(void); +void sub_80A109C(u8 taskId); +void sub_80A112C(u8 taskId); +void sub_80A11C0(u8 taskId); +bool8 sub_80A1194(void); +void sub_80A1208(void); +void ItemUseOnFieldCB_Bicycle(u8 taskId); +bool8 ItemUseCheckFunc_Rod(void); +void ItemUseOnFieldCB_Rod(u8 taskId); +void sub_813EC8C(u8 taskId); +void sub_80A1750(u8 taskId); + +extern void (*const gUnknown_83E2954[])(void); + +void sub_80A0FBC(u8 taskId) +{ + u8 itemType; + if (gSpecialVar_ItemId == ITEM_ENIGMA_BERRY) + itemType = gTasks[taskId].data[4] - 1; + else + itemType = ItemId_GetType(gSpecialVar_ItemId) - 1; + if (GetPocketByItemId(gSpecialVar_ItemId) == POCKET_BERRY_POUCH) + { + sub_813D934(gUnknown_83E2954[itemType]); + sub_813D808(taskId); + } + else + { + sub_8108EE0(gUnknown_83E2954[itemType]); + if (itemType == 1) + sub_8108CB4(); + sub_8108B50(taskId); + } +} + +void sub_80A103C(u8 taskId) +{ + if (gTasks[taskId].data[3] != 1) + { + gFieldCallback = sub_80A1084; + sub_80A0FBC(taskId); + } + else + sItemUseOnFieldCB(taskId); +} + +void sub_80A1084(void) +{ + sub_807DC00(); + CreateTask(sub_80A109C, 8); +} + +void sub_80A109C(u8 taskId) +{ + if (sub_807AA70() == TRUE) + { + sItemUseOnFieldCB(taskId); + } +} + +void sub_80A10C4(u8 taskId, bool8 a1, u8 a2, const u8 * str) +{ + StringExpandPlaceholders(gStringVar4, str); + if (a1 == FALSE) + sub_8108E70(taskId, a2, gStringVar4, sub_810A1F8); + else + DisplayItemMessageOnField(taskId, a2, gStringVar4, sub_80A112C); +} + +void sub_80A1110(u8 taskId, bool8 a1) +{ + sub_80A10C4(taskId, a1, 4, gUnknown_8416425); +} + +void sub_80A112C(u8 taskId) +{ + ClearDialogWindowAndFrame(0, 1); + DestroyTask(taskId); + sub_80696C0(); + ScriptContext2_Disable(); +} + +u8 sub_80A1150(u16 itemId) +{ + if (ItemId_GetPocket(itemId) == POCKET_TM_CASE) + return 1; + else if (ItemId_GetFieldFunc(itemId) == sub_80A1750) + return 2; + else + return 0; +} + +void sub_80A1184(void) +{ + gFieldCallback2 = sub_80A1194; +} + +bool8 sub_80A1194(void) +{ + player_bitmagic(); + ScriptContext2_Enable(); + sub_807DC00(); + CreateTask(sub_80A11C0, 10); + gUnknown_2031DE0 = 0; + return TRUE; +} + +void sub_80A11C0(u8 taskId) +{ + if (sub_807AA70() == TRUE) + { + UnfreezeMapObjects(); + ScriptContext2_Disable(); + DestroyTask(taskId); + } +} + +void sub_80A11E8(u8 taskId) +{ + sub_8108EE0(sub_80A1208); + sub_8108B50(taskId); +} + +void sub_80A1208(void) +{ + u16 buffer[18]; + + buffer[16] = gSpecialVar_ItemId; + sub_80BEBEC(buffer, UseFameCheckerFromMenu, 0); +} + +void sub_80A122C(u8 taskId) +{ + s16 x, y; + u8 behavior; + + PlayerGetDestCoords(&x, &y); + behavior = MapGridGetMetatileBehaviorAt(x, y); + + if (FlagGet(FLAG_0x830) == TRUE + || MetatileBehavior_ReturnFalse_17(behavior) == TRUE + || MetatileBehavior_ReturnFalse_18(behavior) == TRUE + || MetatileBehavior_ReturnFalse_15(behavior) == TRUE + || MetatileBehavior_ReturnFalse_16(behavior) == TRUE) + sub_80A10C4(taskId, gTasks[taskId].data[3], 2, gUnknown_8416451); + else if (sub_8055C9C() == TRUE && !sub_80BD540()) + { + sItemUseOnFieldCB = ItemUseOnFieldCB_Bicycle; + sub_80A103C(taskId); + } + else + sub_80A1110(taskId, gTasks[taskId].data[3]); +} + +void ItemUseOnFieldCB_Bicycle(u8 taskId) +{ + if (!TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_MACH_BIKE | PLAYER_AVATAR_FLAG_ACRO_BIKE)) + PlaySE(SE_JITENSYA); + sub_80BD5C8(PLAYER_AVATAR_FLAG_MACH_BIKE | PLAYER_AVATAR_FLAG_ACRO_BIKE); + sub_80696C0(); + ScriptContext2_Disable(); + DestroyTask(taskId); +} + +void sub_80A1338(u8 taskId) +{ + if (ItemUseCheckFunc_Rod() == TRUE) + { + sItemUseOnFieldCB = ItemUseOnFieldCB_Rod; + sub_80A103C(taskId); + } + else + sub_80A1110(taskId, gTasks[taskId].data[3]); +} + +bool8 ItemUseCheckFunc_Rod(void) +{ + s16 x, y; + u16 behavior; + + GetXYCoordsOneStepInFrontOfPlayer(&x, &y); + behavior = MapGridGetMetatileBehaviorAt(x, y); + + if (MetatileBehavior_IsWaterfall(behavior)) + return FALSE; + if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_4)) + return FALSE; + if (!TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING)) + { + if (IsPlayerFacingSurfableFishableWater()) + return TRUE; + } + else + { + if (MetatileBehavior_IsSurfable(behavior) && !MapGridIsImpassableAt(x, y)) + return TRUE; + if (MetatileBehavior_ReturnFalse_6(behavior) == TRUE) + return TRUE; + } + return FALSE; +} + +void ItemUseOnFieldCB_Rod(u8 taskId) +{ + sub_805D2C0(ItemId_GetSecondaryId(gSpecialVar_ItemId)); + DestroyTask(taskId); +} + +void ItemUseOutOfBattle_Itemfinder(u8 taskId) +{ + IncrementGameStat(GAME_STAT_USED_ITEMFINDER); + sItemUseOnFieldCB = sub_813EC8C; + sub_80A103C(taskId); +} diff --git a/sym_ewram.txt b/sym_ewram.txt index 197ffc157..0541f4d07 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -985,9 +985,10 @@ gUnknown_2039994: @ 2039994 gUnknown_2039996: @ 2039996 .space 0x2 -gUnknown_2039998: @ 2039998 - .space 0x4 + .align 2 + .include "src/item_use.o" + .align 2 gUnknown_203999C: @ 203999C .space 0x8 diff --git a/tools/jsonproc/.gitignore b/tools/jsonproc/.gitignore new file mode 100644 index 000000000..a613cf2d7 --- /dev/null +++ b/tools/jsonproc/.gitignore @@ -0,0 +1 @@ +jsonproc diff --git a/tools/jsonproc/Makefile b/tools/jsonproc/Makefile new file mode 100644 index 000000000..b415e7b41 --- /dev/null +++ b/tools/jsonproc/Makefile @@ -0,0 +1,20 @@ +CXX := g++ + +CXXFLAGS := -Wall -std=c++11 -O2 + +INCLUDES := -I . + +SRCS := jsonproc.cpp + +HEADERS := jsonproc.h inja.hpp nlohmann/json.hpp + +.PHONY: clean + +all: jsonproc + @: + +jsonproc: $(SRCS) $(HEADERS) + $(CXX) $(CXXFLAGS) $(INCLUDES) $(SRCS) -o $@ $(LDFLAGS) + +clean: + $(RM) jsonproc jsonproc.exe diff --git a/tools/jsonproc/inja.hpp b/tools/jsonproc/inja.hpp new file mode 100644 index 000000000..3b7263546 --- /dev/null +++ b/tools/jsonproc/inja.hpp @@ -0,0 +1,3396 @@ +// MIT License + +// Copyright (c) 2018 lbersch + +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + + +// --- + + +// Copyright (c) 2009-2018 FIRST +// All rights reserved. + +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// * Neither the name of the FIRST nor the +// names of its contributors may be used to endorse or promote products +// derived from this software without specific prior written permission. + +// THIS SOFTWARE IS PROVIDED BY FIRST AND CONTRIBUTORS``AS IS'' AND ANY +// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY NONINFRINGEMENT AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL FIRST OR CONTRIBUTORS BE LIABLE FOR +// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#ifndef PANTOR_INJA_HPP +#define PANTOR_INJA_HPP + +#include +#include +#include +#include +#include +#include +#include + +#include + +// #include "environment.hpp" +#ifndef PANTOR_INJA_ENVIRONMENT_HPP +#define PANTOR_INJA_ENVIRONMENT_HPP + +#include +#include +#include +#include + +#include + +// #include "config.hpp" +#ifndef PANTOR_INJA_CONFIG_HPP +#define PANTOR_INJA_CONFIG_HPP + +#include +#include + +// #include "string_view.hpp" +// Copyright 2017-2019 by Martin Moene +// +// string-view lite, a C++17-like string_view for C++98 and later. +// For more information see https://github.com/martinmoene/string-view-lite +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + + +#ifndef NONSTD_SV_LITE_H_INCLUDED +#define NONSTD_SV_LITE_H_INCLUDED + +#define string_view_lite_MAJOR 1 +#define string_view_lite_MINOR 1 +#define string_view_lite_PATCH 0 + +#define string_view_lite_VERSION nssv_STRINGIFY(string_view_lite_MAJOR) "." nssv_STRINGIFY(string_view_lite_MINOR) "." nssv_STRINGIFY(string_view_lite_PATCH) + +#define nssv_STRINGIFY( x ) nssv_STRINGIFY_( x ) +#define nssv_STRINGIFY_( x ) #x + +// string-view lite configuration: + +#define nssv_STRING_VIEW_DEFAULT 0 +#define nssv_STRING_VIEW_NONSTD 1 +#define nssv_STRING_VIEW_STD 2 + +#if !defined( nssv_CONFIG_SELECT_STRING_VIEW ) +# define nssv_CONFIG_SELECT_STRING_VIEW ( nssv_HAVE_STD_STRING_VIEW ? nssv_STRING_VIEW_STD : nssv_STRING_VIEW_NONSTD ) +#endif + +#if defined( nssv_CONFIG_SELECT_STD_STRING_VIEW ) || defined( nssv_CONFIG_SELECT_NONSTD_STRING_VIEW ) +# error nssv_CONFIG_SELECT_STD_STRING_VIEW and nssv_CONFIG_SELECT_NONSTD_STRING_VIEW are deprecated and removed, please use nssv_CONFIG_SELECT_STRING_VIEW=nssv_STRING_VIEW_... +#endif + +#ifndef nssv_CONFIG_STD_SV_OPERATOR +# define nssv_CONFIG_STD_SV_OPERATOR 0 +#endif + +#ifndef nssv_CONFIG_USR_SV_OPERATOR +# define nssv_CONFIG_USR_SV_OPERATOR 1 +#endif + +#ifdef nssv_CONFIG_CONVERSION_STD_STRING +# define nssv_CONFIG_CONVERSION_STD_STRING_CLASS_METHODS nssv_CONFIG_CONVERSION_STD_STRING +# define nssv_CONFIG_CONVERSION_STD_STRING_FREE_FUNCTIONS nssv_CONFIG_CONVERSION_STD_STRING +#endif + +#ifndef nssv_CONFIG_CONVERSION_STD_STRING_CLASS_METHODS +# define nssv_CONFIG_CONVERSION_STD_STRING_CLASS_METHODS 1 +#endif + +#ifndef nssv_CONFIG_CONVERSION_STD_STRING_FREE_FUNCTIONS +# define nssv_CONFIG_CONVERSION_STD_STRING_FREE_FUNCTIONS 1 +#endif + +// Control presence of exception handling (try and auto discover): + +#ifndef nssv_CONFIG_NO_EXCEPTIONS +# if defined(__cpp_exceptions) || defined(__EXCEPTIONS) || defined(_CPPUNWIND) +# define nssv_CONFIG_NO_EXCEPTIONS 0 +# else +# define nssv_CONFIG_NO_EXCEPTIONS 1 +# endif +#endif + +// C++ language version detection (C++20 is speculative): +// Note: VC14.0/1900 (VS2015) lacks too much from C++14. + +#ifndef nssv_CPLUSPLUS +# if defined(_MSVC_LANG ) && !defined(__clang__) +# define nssv_CPLUSPLUS (_MSC_VER == 1900 ? 201103L : _MSVC_LANG ) +# else +# define nssv_CPLUSPLUS __cplusplus +# endif +#endif + +#define nssv_CPP98_OR_GREATER ( nssv_CPLUSPLUS >= 199711L ) +#define nssv_CPP11_OR_GREATER ( nssv_CPLUSPLUS >= 201103L ) +#define nssv_CPP11_OR_GREATER_ ( nssv_CPLUSPLUS >= 201103L ) +#define nssv_CPP14_OR_GREATER ( nssv_CPLUSPLUS >= 201402L ) +#define nssv_CPP17_OR_GREATER ( nssv_CPLUSPLUS >= 201703L ) +#define nssv_CPP20_OR_GREATER ( nssv_CPLUSPLUS >= 202000L ) + +// use C++17 std::string_view if available and requested: + +#if nssv_CPP17_OR_GREATER && defined(__has_include ) +# if __has_include( ) +# define nssv_HAVE_STD_STRING_VIEW 1 +# else +# define nssv_HAVE_STD_STRING_VIEW 0 +# endif +#else +# define nssv_HAVE_STD_STRING_VIEW 0 +#endif + +#define nssv_USES_STD_STRING_VIEW ( (nssv_CONFIG_SELECT_STRING_VIEW == nssv_STRING_VIEW_STD) || ((nssv_CONFIG_SELECT_STRING_VIEW == nssv_STRING_VIEW_DEFAULT) && nssv_HAVE_STD_STRING_VIEW) ) + +#define nssv_HAVE_STARTS_WITH ( nssv_CPP20_OR_GREATER || !nssv_USES_STD_STRING_VIEW ) +#define nssv_HAVE_ENDS_WITH nssv_HAVE_STARTS_WITH + +// +// Use C++17 std::string_view: +// + +#if nssv_USES_STD_STRING_VIEW + +#include + +// Extensions for std::string: + +#if nssv_CONFIG_CONVERSION_STD_STRING_FREE_FUNCTIONS + +namespace nonstd { + +template< class CharT, class Traits, class Allocator = std::allocator > +std::basic_string +to_string( std::basic_string_view v, Allocator const & a = Allocator() ) +{ + return std::basic_string( v.begin(), v.end(), a ); +} + +template< class CharT, class Traits, class Allocator > +std::basic_string_view +to_string_view( std::basic_string const & s ) +{ + return std::basic_string_view( s.data(), s.size() ); +} + +// Literal operators sv and _sv: + +#if nssv_CONFIG_STD_SV_OPERATOR + +using namespace std::literals::string_view_literals; + +#endif + +#if nssv_CONFIG_USR_SV_OPERATOR + +inline namespace literals { +inline namespace string_view_literals { + + +constexpr std::string_view operator "" _sv( const char* str, size_t len ) noexcept // (1) +{ + return std::string_view{ str, len }; +} + +constexpr std::u16string_view operator "" _sv( const char16_t* str, size_t len ) noexcept // (2) +{ + return std::u16string_view{ str, len }; +} + +constexpr std::u32string_view operator "" _sv( const char32_t* str, size_t len ) noexcept // (3) +{ + return std::u32string_view{ str, len }; +} + +constexpr std::wstring_view operator "" _sv( const wchar_t* str, size_t len ) noexcept // (4) +{ + return std::wstring_view{ str, len }; +} + +}} // namespace literals::string_view_literals + +#endif // nssv_CONFIG_USR_SV_OPERATOR + +} // namespace nonstd + +#endif // nssv_CONFIG_CONVERSION_STD_STRING_FREE_FUNCTIONS + +namespace nonstd { + +using std::string_view; +using std::wstring_view; +using std::u16string_view; +using std::u32string_view; +using std::basic_string_view; + +// literal "sv" and "_sv", see above + +using std::operator==; +using std::operator!=; +using std::operator<; +using std::operator<=; +using std::operator>; +using std::operator>=; + +using std::operator<<; + +} // namespace nonstd + +#else // nssv_HAVE_STD_STRING_VIEW + +// +// Before C++17: use string_view lite: +// + +// Compiler versions: +// +// MSVC++ 6.0 _MSC_VER == 1200 (Visual Studio 6.0) +// MSVC++ 7.0 _MSC_VER == 1300 (Visual Studio .NET 2002) +// MSVC++ 7.1 _MSC_VER == 1310 (Visual Studio .NET 2003) +// MSVC++ 8.0 _MSC_VER == 1400 (Visual Studio 2005) +// MSVC++ 9.0 _MSC_VER == 1500 (Visual Studio 2008) +// MSVC++ 10.0 _MSC_VER == 1600 (Visual Studio 2010) +// MSVC++ 11.0 _MSC_VER == 1700 (Visual Studio 2012) +// MSVC++ 12.0 _MSC_VER == 1800 (Visual Studio 2013) +// MSVC++ 14.0 _MSC_VER == 1900 (Visual Studio 2015) +// MSVC++ 14.1 _MSC_VER >= 1910 (Visual Studio 2017) + +#if defined(_MSC_VER ) && !defined(__clang__) +# define nssv_COMPILER_MSVC_VER (_MSC_VER ) +# define nssv_COMPILER_MSVC_VERSION (_MSC_VER / 10 - 10 * ( 5 + (_MSC_VER < 1900 ) ) ) +#else +# define nssv_COMPILER_MSVC_VER 0 +# define nssv_COMPILER_MSVC_VERSION 0 +#endif + +#define nssv_COMPILER_VERSION( major, minor, patch ) (10 * ( 10 * major + minor) + patch) + +#if defined(__clang__) +# define nssv_COMPILER_CLANG_VERSION nssv_COMPILER_VERSION(__clang_major__, __clang_minor__, __clang_patchlevel__) +#else +# define nssv_COMPILER_CLANG_VERSION 0 +#endif + +#if defined(__GNUC__) && !defined(__clang__) +# define nssv_COMPILER_GNUC_VERSION nssv_COMPILER_VERSION(__GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__) +#else +# define nssv_COMPILER_GNUC_VERSION 0 +#endif + +// half-open range [lo..hi): +#define nssv_BETWEEN( v, lo, hi ) ( (lo) <= (v) && (v) < (hi) ) + +// Presence of language and library features: + +#ifdef _HAS_CPP0X +# define nssv_HAS_CPP0X _HAS_CPP0X +#else +# define nssv_HAS_CPP0X 0 +#endif + +// Unless defined otherwise below, consider VC14 as C++11 for variant-lite: + +#if nssv_COMPILER_MSVC_VER >= 1900 +# undef nssv_CPP11_OR_GREATER +# define nssv_CPP11_OR_GREATER 1 +#endif + +#define nssv_CPP11_90 (nssv_CPP11_OR_GREATER_ || nssv_COMPILER_MSVC_VER >= 1500) +#define nssv_CPP11_100 (nssv_CPP11_OR_GREATER_ || nssv_COMPILER_MSVC_VER >= 1600) +#define nssv_CPP11_110 (nssv_CPP11_OR_GREATER_ || nssv_COMPILER_MSVC_VER >= 1700) +#define nssv_CPP11_120 (nssv_CPP11_OR_GREATER_ || nssv_COMPILER_MSVC_VER >= 1800) +#define nssv_CPP11_140 (nssv_CPP11_OR_GREATER_ || nssv_COMPILER_MSVC_VER >= 1900) +#define nssv_CPP11_141 (nssv_CPP11_OR_GREATER_ || nssv_COMPILER_MSVC_VER >= 1910) + +#define nssv_CPP14_000 (nssv_CPP14_OR_GREATER) +#define nssv_CPP17_000 (nssv_CPP17_OR_GREATER) + +// Presence of C++11 language features: + +#define nssv_HAVE_CONSTEXPR_11 nssv_CPP11_140 +#define nssv_HAVE_EXPLICIT_CONVERSION nssv_CPP11_140 +#define nssv_HAVE_INLINE_NAMESPACE nssv_CPP11_140 +#define nssv_HAVE_NOEXCEPT nssv_CPP11_140 +#define nssv_HAVE_NULLPTR nssv_CPP11_100 +#define nssv_HAVE_REF_QUALIFIER nssv_CPP11_140 +#define nssv_HAVE_UNICODE_LITERALS nssv_CPP11_140 +#define nssv_HAVE_USER_DEFINED_LITERALS nssv_CPP11_140 +#define nssv_HAVE_WCHAR16_T nssv_CPP11_100 +#define nssv_HAVE_WCHAR32_T nssv_CPP11_100 + +#if ! ( ( nssv_CPP11 && nssv_COMPILER_CLANG_VERSION ) || nssv_BETWEEN( nssv_COMPILER_CLANG_VERSION, 300, 400 ) ) +# define nssv_HAVE_STD_DEFINED_LITERALS nssv_CPP11_140 +#endif + +// Presence of C++14 language features: + +#define nssv_HAVE_CONSTEXPR_14 nssv_CPP14_000 + +// Presence of C++17 language features: + +#define nssv_HAVE_NODISCARD nssv_CPP17_000 + +// Presence of C++ library features: + +#define nssv_HAVE_STD_HASH nssv_CPP11_120 + +// C++ feature usage: + +#if nssv_HAVE_CONSTEXPR_11 +# define nssv_constexpr constexpr +#else +# define nssv_constexpr /*constexpr*/ +#endif + +#if nssv_HAVE_CONSTEXPR_14 +# define nssv_constexpr14 constexpr +#else +# define nssv_constexpr14 /*constexpr*/ +#endif + +#if nssv_HAVE_EXPLICIT_CONVERSION +# define nssv_explicit explicit +#else +# define nssv_explicit /*explicit*/ +#endif + +#if nssv_HAVE_INLINE_NAMESPACE +# define nssv_inline_ns inline +#else +# define nssv_inline_ns /*inline*/ +#endif + +#if nssv_HAVE_NOEXCEPT +# define nssv_noexcept noexcept +#else +# define nssv_noexcept /*noexcept*/ +#endif + +//#if nssv_HAVE_REF_QUALIFIER +//# define nssv_ref_qual & +//# define nssv_refref_qual && +//#else +//# define nssv_ref_qual /*&*/ +//# define nssv_refref_qual /*&&*/ +//#endif + +#if nssv_HAVE_NULLPTR +# define nssv_nullptr nullptr +#else +# define nssv_nullptr NULL +#endif + +#if nssv_HAVE_NODISCARD +# define nssv_nodiscard [[nodiscard]] +#else +# define nssv_nodiscard /*[[nodiscard]]*/ +#endif + +// Additional includes: + +#include +#include +#include +#include +#include +#include // std::char_traits<> + +#if ! nssv_CONFIG_NO_EXCEPTIONS +# include +#endif + +#if nssv_CPP11_OR_GREATER +# include +#endif + +// Clang, GNUC, MSVC warning suppression macros: + +#if defined(__clang__) +# pragma clang diagnostic ignored "-Wreserved-user-defined-literal" +# pragma clang diagnostic push +# pragma clang diagnostic ignored "-Wuser-defined-literals" +#elif defined(__GNUC__) +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wliteral-suffix" +#endif // __clang__ + +#if nssv_COMPILER_MSVC_VERSION >= 140 +# define nssv_SUPPRESS_MSGSL_WARNING(expr) [[gsl::suppress(expr)]] +# define nssv_SUPPRESS_MSVC_WARNING(code, descr) __pragma(warning(suppress: code) ) +# define nssv_DISABLE_MSVC_WARNINGS(codes) __pragma(warning(push)) __pragma(warning(disable: codes)) +#else +# define nssv_SUPPRESS_MSGSL_WARNING(expr) +# define nssv_SUPPRESS_MSVC_WARNING(code, descr) +# define nssv_DISABLE_MSVC_WARNINGS(codes) +#endif + +#if defined(__clang__) +# define nssv_RESTORE_WARNINGS() _Pragma("clang diagnostic pop") +#elif defined(__GNUC__) +# define nssv_RESTORE_WARNINGS() _Pragma("GCC diagnostic pop") +#elif nssv_COMPILER_MSVC_VERSION >= 140 +# define nssv_RESTORE_WARNINGS() __pragma(warning(pop )) +#else +# define nssv_RESTORE_WARNINGS() +#endif + +// Suppress the following MSVC (GSL) warnings: +// - C4455, non-gsl : 'operator ""sv': literal suffix identifiers that do not +// start with an underscore are reserved +// - C26472, gsl::t.1 : don't use a static_cast for arithmetic conversions; +// use brace initialization, gsl::narrow_cast or gsl::narow +// - C26481: gsl::b.1 : don't use pointer arithmetic. Use span instead + +nssv_DISABLE_MSVC_WARNINGS( 4455 26481 26472 ) +//nssv_DISABLE_CLANG_WARNINGS( "-Wuser-defined-literals" ) +//nssv_DISABLE_GNUC_WARNINGS( -Wliteral-suffix ) + +namespace nonstd { namespace sv_lite { + +template +< + class CharT, + class Traits = std::char_traits +> +class basic_string_view; + +// +// basic_string_view: +// + +template +< + class CharT, + class Traits /* = std::char_traits */ +> +class basic_string_view +{ +public: + // Member types: + + typedef Traits traits_type; + typedef CharT value_type; + + typedef CharT * pointer; + typedef CharT const * const_pointer; + typedef CharT & reference; + typedef CharT const & const_reference; + + typedef const_pointer iterator; + typedef const_pointer const_iterator; + typedef std::reverse_iterator< const_iterator > reverse_iterator; + typedef std::reverse_iterator< const_iterator > const_reverse_iterator; + + typedef std::size_t size_type; + typedef std::ptrdiff_t difference_type; + + // 24.4.2.1 Construction and assignment: + + nssv_constexpr basic_string_view() nssv_noexcept + : data_( nssv_nullptr ) + , size_( 0 ) + {} + +#if nssv_CPP11_OR_GREATER + nssv_constexpr basic_string_view( basic_string_view const & other ) nssv_noexcept = default; +#else + nssv_constexpr basic_string_view( basic_string_view const & other ) nssv_noexcept + : data_( other.data_) + , size_( other.size_) + {} +#endif + + nssv_constexpr basic_string_view( CharT const * s, size_type count ) + : data_( s ) + , size_( count ) + {} + + nssv_constexpr basic_string_view( CharT const * s) + : data_( s ) + , size_( Traits::length(s) ) + {} + + // Assignment: + +#if nssv_CPP11_OR_GREATER + nssv_constexpr14 basic_string_view & operator=( basic_string_view const & other ) nssv_noexcept = default; +#else + nssv_constexpr14 basic_string_view & operator=( basic_string_view const & other ) nssv_noexcept + { + data_ = other.data_; + size_ = other.size_; + return *this; + } +#endif + + // 24.4.2.2 Iterator support: + + nssv_constexpr const_iterator begin() const nssv_noexcept { return data_; } + nssv_constexpr const_iterator end() const nssv_noexcept { return data_ + size_; } + + nssv_constexpr const_iterator cbegin() const nssv_noexcept { return begin(); } + nssv_constexpr const_iterator cend() const nssv_noexcept { return end(); } + + nssv_constexpr const_reverse_iterator rbegin() const nssv_noexcept { return const_reverse_iterator( end() ); } + nssv_constexpr const_reverse_iterator rend() const nssv_noexcept { return const_reverse_iterator( begin() ); } + + nssv_constexpr const_reverse_iterator crbegin() const nssv_noexcept { return rbegin(); } + nssv_constexpr const_reverse_iterator crend() const nssv_noexcept { return rend(); } + + // 24.4.2.3 Capacity: + + nssv_constexpr size_type size() const nssv_noexcept { return size_; } + nssv_constexpr size_type length() const nssv_noexcept { return size_; } + nssv_constexpr size_type max_size() const nssv_noexcept { return (std::numeric_limits< size_type >::max)(); } + + // since C++20 + nssv_nodiscard nssv_constexpr bool empty() const nssv_noexcept + { + return 0 == size_; + } + + // 24.4.2.4 Element access: + + nssv_constexpr const_reference operator[]( size_type pos ) const + { + return data_at( pos ); + } + + nssv_constexpr14 const_reference at( size_type pos ) const + { +#if nssv_CONFIG_NO_EXCEPTIONS + assert( pos < size() ); +#else + if ( pos >= size() ) + { + throw std::out_of_range("nonst::string_view::at()"); + } +#endif + return data_at( pos ); + } + + nssv_constexpr const_reference front() const { return data_at( 0 ); } + nssv_constexpr const_reference back() const { return data_at( size() - 1 ); } + + nssv_constexpr const_pointer data() const nssv_noexcept { return data_; } + + // 24.4.2.5 Modifiers: + + nssv_constexpr14 void remove_prefix( size_type n ) + { + assert( n <= size() ); + data_ += n; + size_ -= n; + } + + nssv_constexpr14 void remove_suffix( size_type n ) + { + assert( n <= size() ); + size_ -= n; + } + + nssv_constexpr14 void swap( basic_string_view & other ) nssv_noexcept + { + using std::swap; + swap( data_, other.data_ ); + swap( size_, other.size_ ); + } + + // 24.4.2.6 String operations: + + size_type copy( CharT * dest, size_type n, size_type pos = 0 ) const + { +#if nssv_CONFIG_NO_EXCEPTIONS + assert( pos <= size() ); +#else + if ( pos > size() ) + { + throw std::out_of_range("nonst::string_view::copy()"); + } +#endif + const size_type rlen = (std::min)( n, size() - pos ); + + (void) Traits::copy( dest, data() + pos, rlen ); + + return rlen; + } + + nssv_constexpr14 basic_string_view substr( size_type pos = 0, size_type n = npos ) const + { +#if nssv_CONFIG_NO_EXCEPTIONS + assert( pos <= size() ); +#else + if ( pos > size() ) + { + throw std::out_of_range("nonst::string_view::substr()"); + } +#endif + return basic_string_view( data() + pos, (std::min)( n, size() - pos ) ); + } + + // compare(), 6x: + + nssv_constexpr14 int compare( basic_string_view other ) const nssv_noexcept // (1) + { + if ( const int result = Traits::compare( data(), other.data(), (std::min)( size(), other.size() ) ) ) + return result; + + return size() == other.size() ? 0 : size() < other.size() ? -1 : 1; + } + + nssv_constexpr int compare( size_type pos1, size_type n1, basic_string_view other ) const // (2) + { + return substr( pos1, n1 ).compare( other ); + } + + nssv_constexpr int compare( size_type pos1, size_type n1, basic_string_view other, size_type pos2, size_type n2 ) const // (3) + { + return substr( pos1, n1 ).compare( other.substr( pos2, n2 ) ); + } + + nssv_constexpr int compare( CharT const * s ) const // (4) + { + return compare( basic_string_view( s ) ); + } + + nssv_constexpr int compare( size_type pos1, size_type n1, CharT const * s ) const // (5) + { + return substr( pos1, n1 ).compare( basic_string_view( s ) ); + } + + nssv_constexpr int compare( size_type pos1, size_type n1, CharT const * s, size_type n2 ) const // (6) + { + return substr( pos1, n1 ).compare( basic_string_view( s, n2 ) ); + } + + // 24.4.2.7 Searching: + + // starts_with(), 3x, since C++20: + + nssv_constexpr bool starts_with( basic_string_view v ) const nssv_noexcept // (1) + { + return size() >= v.size() && compare( 0, v.size(), v ) == 0; + } + + nssv_constexpr bool starts_with( CharT c ) const nssv_noexcept // (2) + { + return starts_with( basic_string_view( &c, 1 ) ); + } + + nssv_constexpr bool starts_with( CharT const * s ) const // (3) + { + return starts_with( basic_string_view( s ) ); + } + + // ends_with(), 3x, since C++20: + + nssv_constexpr bool ends_with( basic_string_view v ) const nssv_noexcept // (1) + { + return size() >= v.size() && compare( size() - v.size(), npos, v ) == 0; + } + + nssv_constexpr bool ends_with( CharT c ) const nssv_noexcept // (2) + { + return ends_with( basic_string_view( &c, 1 ) ); + } + + nssv_constexpr bool ends_with( CharT const * s ) const // (3) + { + return ends_with( basic_string_view( s ) ); + } + + // find(), 4x: + + nssv_constexpr14 size_type find( basic_string_view v, size_type pos = 0 ) const nssv_noexcept // (1) + { + return assert( v.size() == 0 || v.data() != nssv_nullptr ) + , pos >= size() + ? npos + : to_pos( std::search( cbegin() + pos, cend(), v.cbegin(), v.cend(), Traits::eq ) ); + } + + nssv_constexpr14 size_type find( CharT c, size_type pos = 0 ) const nssv_noexcept // (2) + { + return find( basic_string_view( &c, 1 ), pos ); + } + + nssv_constexpr14 size_type find( CharT const * s, size_type pos, size_type n ) const // (3) + { + return find( basic_string_view( s, n ), pos ); + } + + nssv_constexpr14 size_type find( CharT const * s, size_type pos = 0 ) const // (4) + { + return find( basic_string_view( s ), pos ); + } + + // rfind(), 4x: + + nssv_constexpr14 size_type rfind( basic_string_view v, size_type pos = npos ) const nssv_noexcept // (1) + { + if ( size() < v.size() ) + return npos; + + if ( v.empty() ) + return (std::min)( size(), pos ); + + const_iterator last = cbegin() + (std::min)( size() - v.size(), pos ) + v.size(); + const_iterator result = std::find_end( cbegin(), last, v.cbegin(), v.cend(), Traits::eq ); + + return result != last ? size_type( result - cbegin() ) : npos; + } + + nssv_constexpr14 size_type rfind( CharT c, size_type pos = npos ) const nssv_noexcept // (2) + { + return rfind( basic_string_view( &c, 1 ), pos ); + } + + nssv_constexpr14 size_type rfind( CharT const * s, size_type pos, size_type n ) const // (3) + { + return rfind( basic_string_view( s, n ), pos ); + } + + nssv_constexpr14 size_type rfind( CharT const * s, size_type pos = npos ) const // (4) + { + return rfind( basic_string_view( s ), pos ); + } + + // find_first_of(), 4x: + + nssv_constexpr size_type find_first_of( basic_string_view v, size_type pos = 0 ) const nssv_noexcept // (1) + { + return pos >= size() + ? npos + : to_pos( std::find_first_of( cbegin() + pos, cend(), v.cbegin(), v.cend(), Traits::eq ) ); + } + + nssv_constexpr size_type find_first_of( CharT c, size_type pos = 0 ) const nssv_noexcept // (2) + { + return find_first_of( basic_string_view( &c, 1 ), pos ); + } + + nssv_constexpr size_type find_first_of( CharT const * s, size_type pos, size_type n ) const // (3) + { + return find_first_of( basic_string_view( s, n ), pos ); + } + + nssv_constexpr size_type find_first_of( CharT const * s, size_type pos = 0 ) const // (4) + { + return find_first_of( basic_string_view( s ), pos ); + } + + // find_last_of(), 4x: + + nssv_constexpr size_type find_last_of( basic_string_view v, size_type pos = npos ) const nssv_noexcept // (1) + { + return empty() + ? npos + : pos >= size() + ? find_last_of( v, size() - 1 ) + : to_pos( std::find_first_of( const_reverse_iterator( cbegin() + pos + 1 ), crend(), v.cbegin(), v.cend(), Traits::eq ) ); + } + + nssv_constexpr size_type find_last_of( CharT c, size_type pos = npos ) const nssv_noexcept // (2) + { + return find_last_of( basic_string_view( &c, 1 ), pos ); + } + + nssv_constexpr size_type find_last_of( CharT const * s, size_type pos, size_type count ) const // (3) + { + return find_last_of( basic_string_view( s, count ), pos ); + } + + nssv_constexpr size_type find_last_of( CharT const * s, size_type pos = npos ) const // (4) + { + return find_last_of( basic_string_view( s ), pos ); + } + + // find_first_not_of(), 4x: + + nssv_constexpr size_type find_first_not_of( basic_string_view v, size_type pos = 0 ) const nssv_noexcept // (1) + { + return pos >= size() + ? npos + : to_pos( std::find_if( cbegin() + pos, cend(), not_in_view( v ) ) ); + } + + nssv_constexpr size_type find_first_not_of( CharT c, size_type pos = 0 ) const nssv_noexcept // (2) + { + return find_first_not_of( basic_string_view( &c, 1 ), pos ); + } + + nssv_constexpr size_type find_first_not_of( CharT const * s, size_type pos, size_type count ) const // (3) + { + return find_first_not_of( basic_string_view( s, count ), pos ); + } + + nssv_constexpr size_type find_first_not_of( CharT const * s, size_type pos = 0 ) const // (4) + { + return find_first_not_of( basic_string_view( s ), pos ); + } + + // find_last_not_of(), 4x: + + nssv_constexpr size_type find_last_not_of( basic_string_view v, size_type pos = npos ) const nssv_noexcept // (1) + { + return empty() + ? npos + : pos >= size() + ? find_last_not_of( v, size() - 1 ) + : to_pos( std::find_if( const_reverse_iterator( cbegin() + pos + 1 ), crend(), not_in_view( v ) ) ); + } + + nssv_constexpr size_type find_last_not_of( CharT c, size_type pos = npos ) const nssv_noexcept // (2) + { + return find_last_not_of( basic_string_view( &c, 1 ), pos ); + } + + nssv_constexpr size_type find_last_not_of( CharT const * s, size_type pos, size_type count ) const // (3) + { + return find_last_not_of( basic_string_view( s, count ), pos ); + } + + nssv_constexpr size_type find_last_not_of( CharT const * s, size_type pos = npos ) const // (4) + { + return find_last_not_of( basic_string_view( s ), pos ); + } + + // Constants: + +#if nssv_CPP17_OR_GREATER + static nssv_constexpr size_type npos = size_type(-1); +#elif nssv_CPP11_OR_GREATER + enum : size_type { npos = size_type(-1) }; +#else + enum { npos = size_type(-1) }; +#endif + +private: + struct not_in_view + { + const basic_string_view v; + + nssv_constexpr not_in_view( basic_string_view v ) : v( v ) {} + + nssv_constexpr bool operator()( CharT c ) const + { + return npos == v.find_first_of( c ); + } + }; + + nssv_constexpr size_type to_pos( const_iterator it ) const + { + return it == cend() ? npos : size_type( it - cbegin() ); + } + + nssv_constexpr size_type to_pos( const_reverse_iterator it ) const + { + return it == crend() ? npos : size_type( crend() - it - 1 ); + } + + nssv_constexpr const_reference data_at( size_type pos ) const + { +#if nssv_BETWEEN( nssv_COMPILER_GNUC_VERSION, 1, 500 ) + return data_[pos]; +#else + return assert( pos < size() ), data_[pos]; +#endif + } + +private: + const_pointer data_; + size_type size_; + +public: +#if nssv_CONFIG_CONVERSION_STD_STRING_CLASS_METHODS + + template< class Allocator > + basic_string_view( std::basic_string const & s ) nssv_noexcept + : data_( s.data() ) + , size_( s.size() ) + {} + +#if nssv_HAVE_EXPLICIT_CONVERSION + + template< class Allocator > + explicit operator std::basic_string() const + { + return to_string( Allocator() ); + } + +#endif // nssv_HAVE_EXPLICIT_CONVERSION + +#if nssv_CPP11_OR_GREATER + + template< class Allocator = std::allocator > + std::basic_string + to_string( Allocator const & a = Allocator() ) const + { + return std::basic_string( begin(), end(), a ); + } + +#else + + std::basic_string + to_string() const + { + return std::basic_string( begin(), end() ); + } + + template< class Allocator > + std::basic_string + to_string( Allocator const & a ) const + { + return std::basic_string( begin(), end(), a ); + } + +#endif // nssv_CPP11_OR_GREATER + +#endif // nssv_CONFIG_CONVERSION_STD_STRING_CLASS_METHODS +}; + +// +// Non-member functions: +// + +// 24.4.3 Non-member comparison functions: +// lexicographically compare two string views (function template): + +template< class CharT, class Traits > +nssv_constexpr bool operator== ( + basic_string_view lhs, + basic_string_view rhs ) nssv_noexcept +{ return lhs.compare( rhs ) == 0 ; } + +template< class CharT, class Traits > +nssv_constexpr bool operator!= ( + basic_string_view lhs, + basic_string_view rhs ) nssv_noexcept +{ return lhs.compare( rhs ) != 0 ; } + +template< class CharT, class Traits > +nssv_constexpr bool operator< ( + basic_string_view lhs, + basic_string_view rhs ) nssv_noexcept +{ return lhs.compare( rhs ) < 0 ; } + +template< class CharT, class Traits > +nssv_constexpr bool operator<= ( + basic_string_view lhs, + basic_string_view rhs ) nssv_noexcept +{ return lhs.compare( rhs ) <= 0 ; } + +template< class CharT, class Traits > +nssv_constexpr bool operator> ( + basic_string_view lhs, + basic_string_view rhs ) nssv_noexcept +{ return lhs.compare( rhs ) > 0 ; } + +template< class CharT, class Traits > +nssv_constexpr bool operator>= ( + basic_string_view lhs, + basic_string_view rhs ) nssv_noexcept +{ return lhs.compare( rhs ) >= 0 ; } + +// Let S be basic_string_view, and sv be an instance of S. +// Implementations shall provide sufficient additional overloads marked +// constexpr and noexcept so that an object t with an implicit conversion +// to S can be compared according to Table 67. + +#if nssv_CPP11_OR_GREATER && ! nssv_BETWEEN( nssv_COMPILER_MSVC_VERSION, 100, 141 ) + +#define nssv_BASIC_STRING_VIEW_I(T,U) typename std::decay< basic_string_view >::type + +#if nssv_BETWEEN( nssv_COMPILER_MSVC_VERSION, 140, 150 ) +# define nssv_MSVC_ORDER(x) , int=x +#else +# define nssv_MSVC_ORDER(x) /*, int=x*/ +#endif + +// == + +template< class CharT, class Traits nssv_MSVC_ORDER(1) > +nssv_constexpr bool operator==( + basic_string_view lhs, + nssv_BASIC_STRING_VIEW_I(CharT, Traits) rhs ) nssv_noexcept +{ return lhs.compare( rhs ) == 0; } + +template< class CharT, class Traits nssv_MSVC_ORDER(2) > +nssv_constexpr bool operator==( + nssv_BASIC_STRING_VIEW_I(CharT, Traits) lhs, + basic_string_view rhs ) nssv_noexcept +{ return lhs.size() == rhs.size() && lhs.compare( rhs ) == 0; } + +// != + +template< class CharT, class Traits nssv_MSVC_ORDER(1) > +nssv_constexpr bool operator!= ( + basic_string_view < CharT, Traits > lhs, + nssv_BASIC_STRING_VIEW_I( CharT, Traits ) rhs ) nssv_noexcept +{ return lhs.size() != rhs.size() || lhs.compare( rhs ) != 0 ; } + +template< class CharT, class Traits nssv_MSVC_ORDER(2) > +nssv_constexpr bool operator!= ( + nssv_BASIC_STRING_VIEW_I( CharT, Traits ) lhs, + basic_string_view < CharT, Traits > rhs ) nssv_noexcept +{ return lhs.compare( rhs ) != 0 ; } + +// < + +template< class CharT, class Traits nssv_MSVC_ORDER(1) > +nssv_constexpr bool operator< ( + basic_string_view < CharT, Traits > lhs, + nssv_BASIC_STRING_VIEW_I( CharT, Traits ) rhs ) nssv_noexcept +{ return lhs.compare( rhs ) < 0 ; } + +template< class CharT, class Traits nssv_MSVC_ORDER(2) > +nssv_constexpr bool operator< ( + nssv_BASIC_STRING_VIEW_I( CharT, Traits ) lhs, + basic_string_view < CharT, Traits > rhs ) nssv_noexcept +{ return lhs.compare( rhs ) < 0 ; } + +// <= + +template< class CharT, class Traits nssv_MSVC_ORDER(1) > +nssv_constexpr bool operator<= ( + basic_string_view < CharT, Traits > lhs, + nssv_BASIC_STRING_VIEW_I( CharT, Traits ) rhs ) nssv_noexcept +{ return lhs.compare( rhs ) <= 0 ; } + +template< class CharT, class Traits nssv_MSVC_ORDER(2) > +nssv_constexpr bool operator<= ( + nssv_BASIC_STRING_VIEW_I( CharT, Traits ) lhs, + basic_string_view < CharT, Traits > rhs ) nssv_noexcept +{ return lhs.compare( rhs ) <= 0 ; } + +// > + +template< class CharT, class Traits nssv_MSVC_ORDER(1) > +nssv_constexpr bool operator> ( + basic_string_view < CharT, Traits > lhs, + nssv_BASIC_STRING_VIEW_I( CharT, Traits ) rhs ) nssv_noexcept +{ return lhs.compare( rhs ) > 0 ; } + +template< class CharT, class Traits nssv_MSVC_ORDER(2) > +nssv_constexpr bool operator> ( + nssv_BASIC_STRING_VIEW_I( CharT, Traits ) lhs, + basic_string_view < CharT, Traits > rhs ) nssv_noexcept +{ return lhs.compare( rhs ) > 0 ; } + +// >= + +template< class CharT, class Traits nssv_MSVC_ORDER(1) > +nssv_constexpr bool operator>= ( + basic_string_view < CharT, Traits > lhs, + nssv_BASIC_STRING_VIEW_I( CharT, Traits ) rhs ) nssv_noexcept +{ return lhs.compare( rhs ) >= 0 ; } + +template< class CharT, class Traits nssv_MSVC_ORDER(2) > +nssv_constexpr bool operator>= ( + nssv_BASIC_STRING_VIEW_I( CharT, Traits ) lhs, + basic_string_view < CharT, Traits > rhs ) nssv_noexcept +{ return lhs.compare( rhs ) >= 0 ; } + +#undef nssv_MSVC_ORDER +#undef nssv_BASIC_STRING_VIEW_I + +#endif // nssv_CPP11_OR_GREATER + +// 24.4.4 Inserters and extractors: + +namespace detail { + +template< class Stream > +void write_padding( Stream & os, std::streamsize n ) +{ + for ( std::streamsize i = 0; i < n; ++i ) + os.rdbuf()->sputc( os.fill() ); +} + +template< class Stream, class View > +Stream & write_to_stream( Stream & os, View const & sv ) +{ + typename Stream::sentry sentry( os ); + + if ( !os ) + return os; + + const std::streamsize length = static_cast( sv.length() ); + + // Whether, and how, to pad: + const bool pad = ( length < os.width() ); + const bool left_pad = pad && ( os.flags() & std::ios_base::adjustfield ) == std::ios_base::right; + + if ( left_pad ) + write_padding( os, os.width() - length ); + + // Write span characters: + os.rdbuf()->sputn( sv.begin(), length ); + + if ( pad && !left_pad ) + write_padding( os, os.width() - length ); + + // Reset output stream width: + os.width( 0 ); + + return os; +} + +} // namespace detail + +template< class CharT, class Traits > +std::basic_ostream & +operator<<( + std::basic_ostream& os, + basic_string_view sv ) +{ + return detail::write_to_stream( os, sv ); +} + +// Several typedefs for common character types are provided: + +typedef basic_string_view string_view; +typedef basic_string_view wstring_view; +#if nssv_HAVE_WCHAR16_T +typedef basic_string_view u16string_view; +typedef basic_string_view u32string_view; +#endif + +}} // namespace nonstd::sv_lite + +// +// 24.4.6 Suffix for basic_string_view literals: +// + +#if nssv_HAVE_USER_DEFINED_LITERALS + +namespace nonstd { +nssv_inline_ns namespace literals { +nssv_inline_ns namespace string_view_literals { + +#if nssv_CONFIG_STD_SV_OPERATOR && nssv_HAVE_STD_DEFINED_LITERALS + +nssv_constexpr nonstd::sv_lite::string_view operator "" sv( const char* str, size_t len ) nssv_noexcept // (1) +{ + return nonstd::sv_lite::string_view{ str, len }; +} + +nssv_constexpr nonstd::sv_lite::u16string_view operator "" sv( const char16_t* str, size_t len ) nssv_noexcept // (2) +{ + return nonstd::sv_lite::u16string_view{ str, len }; +} + +nssv_constexpr nonstd::sv_lite::u32string_view operator "" sv( const char32_t* str, size_t len ) nssv_noexcept // (3) +{ + return nonstd::sv_lite::u32string_view{ str, len }; +} + +nssv_constexpr nonstd::sv_lite::wstring_view operator "" sv( const wchar_t* str, size_t len ) nssv_noexcept // (4) +{ + return nonstd::sv_lite::wstring_view{ str, len }; +} + +#endif // nssv_CONFIG_STD_SV_OPERATOR && nssv_HAVE_STD_DEFINED_LITERALS + +#if nssv_CONFIG_USR_SV_OPERATOR + +nssv_constexpr nonstd::sv_lite::string_view operator "" _sv( const char* str, size_t len ) nssv_noexcept // (1) +{ + return nonstd::sv_lite::string_view{ str, len }; +} + +nssv_constexpr nonstd::sv_lite::u16string_view operator "" _sv( const char16_t* str, size_t len ) nssv_noexcept // (2) +{ + return nonstd::sv_lite::u16string_view{ str, len }; +} + +nssv_constexpr nonstd::sv_lite::u32string_view operator "" _sv( const char32_t* str, size_t len ) nssv_noexcept // (3) +{ + return nonstd::sv_lite::u32string_view{ str, len }; +} + +nssv_constexpr nonstd::sv_lite::wstring_view operator "" _sv( const wchar_t* str, size_t len ) nssv_noexcept // (4) +{ + return nonstd::sv_lite::wstring_view{ str, len }; +} + +#endif // nssv_CONFIG_USR_SV_OPERATOR + +}}} // namespace nonstd::literals::string_view_literals + +#endif + +// +// Extensions for std::string: +// + +#if nssv_CONFIG_CONVERSION_STD_STRING_FREE_FUNCTIONS + +namespace nonstd { +namespace sv_lite { + +// Exclude MSVC 14 (19.00): it yields ambiguous to_string(): + +#if nssv_CPP11_OR_GREATER && nssv_COMPILER_MSVC_VERSION != 140 + +template< class CharT, class Traits, class Allocator = std::allocator > +std::basic_string +to_string( basic_string_view v, Allocator const & a = Allocator() ) +{ + return std::basic_string( v.begin(), v.end(), a ); +} + +#else + +template< class CharT, class Traits > +std::basic_string +to_string( basic_string_view v ) +{ + return std::basic_string( v.begin(), v.end() ); +} + +template< class CharT, class Traits, class Allocator > +std::basic_string +to_string( basic_string_view v, Allocator const & a ) +{ + return std::basic_string( v.begin(), v.end(), a ); +} + +#endif // nssv_CPP11_OR_GREATER + +template< class CharT, class Traits, class Allocator > +basic_string_view +to_string_view( std::basic_string const & s ) +{ + return basic_string_view( s.data(), s.size() ); +} + +}} // namespace nonstd::sv_lite + +#endif // nssv_CONFIG_CONVERSION_STD_STRING_FREE_FUNCTIONS + +// +// make types and algorithms available in namespace nonstd: +// + +namespace nonstd { + +using sv_lite::basic_string_view; +using sv_lite::string_view; +using sv_lite::wstring_view; + +#if nssv_HAVE_WCHAR16_T +using sv_lite::u16string_view; +#endif +#if nssv_HAVE_WCHAR32_T +using sv_lite::u32string_view; +#endif + +// literal "sv" + +using sv_lite::operator==; +using sv_lite::operator!=; +using sv_lite::operator<; +using sv_lite::operator<=; +using sv_lite::operator>; +using sv_lite::operator>=; + +using sv_lite::operator<<; + +#if nssv_CONFIG_CONVERSION_STD_STRING_FREE_FUNCTIONS +using sv_lite::to_string; +using sv_lite::to_string_view; +#endif + +} // namespace nonstd + +// 24.4.5 Hash support (C++11): + +// Note: The hash value of a string view object is equal to the hash value of +// the corresponding string object. + +#if nssv_HAVE_STD_HASH + +#include + +namespace std { + +template<> +struct hash< nonstd::string_view > +{ +public: + std::size_t operator()( nonstd::string_view v ) const nssv_noexcept + { + return std::hash()( std::string( v.data(), v.size() ) ); + } +}; + +template<> +struct hash< nonstd::wstring_view > +{ +public: + std::size_t operator()( nonstd::wstring_view v ) const nssv_noexcept + { + return std::hash()( std::wstring( v.data(), v.size() ) ); + } +}; + +template<> +struct hash< nonstd::u16string_view > +{ +public: + std::size_t operator()( nonstd::u16string_view v ) const nssv_noexcept + { + return std::hash()( std::u16string( v.data(), v.size() ) ); + } +}; + +template<> +struct hash< nonstd::u32string_view > +{ +public: + std::size_t operator()( nonstd::u32string_view v ) const nssv_noexcept + { + return std::hash()( std::u32string( v.data(), v.size() ) ); + } +}; + +} // namespace std + +#endif // nssv_HAVE_STD_HASH + +nssv_RESTORE_WARNINGS() + +#endif // nssv_HAVE_STD_STRING_VIEW +#endif // NONSTD_SV_LITE_H_INCLUDED + + + +namespace inja { + +enum class ElementNotation { + Dot, + Pointer +}; + +struct LexerConfig { + std::string statement_open {"{%"}; + std::string statement_close {"%}"}; + std::string line_statement {"##"}; + std::string expression_open {"{{"}; + std::string expression_close {"}}"}; + std::string comment_open {"{#"}; + std::string comment_close {"#}"}; + std::string open_chars {"#{"}; + + void update_open_chars() { + open_chars = ""; + if (open_chars.find(line_statement[0]) == std::string::npos) { + open_chars += line_statement[0]; + } + if (open_chars.find(statement_open[0]) == std::string::npos) { + open_chars += statement_open[0]; + } + if (open_chars.find(expression_open[0]) == std::string::npos) { + open_chars += expression_open[0]; + } + if (open_chars.find(comment_open[0]) == std::string::npos) { + open_chars += comment_open[0]; + } + } +}; + +struct ParserConfig { + ElementNotation notation {ElementNotation::Dot}; +}; + +} + +#endif // PANTOR_INJA_CONFIG_HPP + +// #include "function_storage.hpp" +#ifndef PANTOR_INJA_FUNCTION_STORAGE_HPP +#define PANTOR_INJA_FUNCTION_STORAGE_HPP + +// #include "bytecode.hpp" +#ifndef PANTOR_INJA_BYTECODE_HPP +#define PANTOR_INJA_BYTECODE_HPP + +#include + +#include + +// #include "string_view.hpp" + + + +namespace inja { + +using namespace nlohmann; + + +struct Bytecode { + enum class Op : uint8_t { + Nop, + // print StringRef (always immediate) + PrintText, + // print value + PrintValue, + // push value onto stack (always immediate) + Push, + + // builtin functions + // result is pushed to stack + // args specify number of arguments + // all functions can take their "last" argument either immediate + // or popped off stack (e.g. if immediate, it's like the immediate was + // just pushed to the stack) + Not, + And, + Or, + In, + Equal, + Greater, + GreaterEqual, + Less, + LessEqual, + Different, + DivisibleBy, + Even, + First, + Float, + Int, + Last, + Length, + Lower, + Max, + Min, + Odd, + Range, + Result, + Round, + Sort, + Upper, + Exists, + ExistsInObject, + IsBoolean, + IsNumber, + IsInteger, + IsFloat, + IsObject, + IsArray, + IsString, + Default, + + // include another template + // value is the template name + Include, + + // callback function + // str is the function name (this means it cannot be a lookup) + // args specify number of arguments + // as with builtin functions, "last" argument can be immediate + Callback, + + // unconditional jump + // args is the index of the bytecode to jump to. + Jump, + + // conditional jump + // value popped off stack is checked for truthyness + // if false, args is the index of the bytecode to jump to. + // if true, no action is taken (falls through) + ConditionalJump, + + // start loop + // value popped off stack is what is iterated over + // args is index of bytecode after end loop (jumped to if iterable is + // empty) + // immediate value is key name (for maps) + // str is value name + StartLoop, + + // end a loop + // args is index of the first bytecode in the loop body + EndLoop, + }; + + enum Flag { + // location of value for value-taking ops (mask) + ValueMask = 0x03, + // pop value off stack + ValuePop = 0x00, + // value is immediate rather than on stack + ValueImmediate = 0x01, + // lookup immediate str (dot notation) + ValueLookupDot = 0x02, + // lookup immediate str (json pointer notation) + ValueLookupPointer = 0x03, + }; + + Op op {Op::Nop}; + uint32_t args: 30; + uint32_t flags: 2; + + json value; + std::string str; + + Bytecode(): args(0), flags(0) {} + explicit Bytecode(Op op, unsigned int args = 0): op(op), args(args), flags(0) {} + explicit Bytecode(Op op, nonstd::string_view str, unsigned int flags): op(op), args(0), flags(flags), str(str) {} + explicit Bytecode(Op op, json&& value, unsigned int flags): op(op), args(0), flags(flags), value(std::move(value)) {} +}; + +} // namespace inja + +#endif // PANTOR_INJA_BYTECODE_HPP + +// #include "string_view.hpp" + + + +namespace inja { + +using namespace nlohmann; + +using Arguments = std::vector; +using CallbackFunction = std::function; + +class FunctionStorage { + public: + void add_builtin(nonstd::string_view name, unsigned int num_args, Bytecode::Op op) { + auto& data = get_or_new(name, num_args); + data.op = op; + } + + void add_callback(nonstd::string_view name, unsigned int num_args, const CallbackFunction& function) { + auto& data = get_or_new(name, num_args); + data.function = function; + } + + Bytecode::Op find_builtin(nonstd::string_view name, unsigned int num_args) const { + if (auto ptr = get(name, num_args)) { + return ptr->op; + } + return Bytecode::Op::Nop; + } + + CallbackFunction find_callback(nonstd::string_view name, unsigned int num_args) const { + if (auto ptr = get(name, num_args)) { + return ptr->function; + } + return nullptr; + } + + private: + struct FunctionData { + unsigned int num_args {0}; + Bytecode::Op op {Bytecode::Op::Nop}; // for builtins + CallbackFunction function; // for callbacks + }; + + FunctionData& get_or_new(nonstd::string_view name, unsigned int num_args) { + auto &vec = m_map[static_cast(name)]; + for (auto &i: vec) { + if (i.num_args == num_args) return i; + } + vec.emplace_back(); + vec.back().num_args = num_args; + return vec.back(); + } + + const FunctionData* get(nonstd::string_view name, unsigned int num_args) const { + auto it = m_map.find(static_cast(name)); + if (it == m_map.end()) return nullptr; + for (auto &&i: it->second) { + if (i.num_args == num_args) return &i; + } + return nullptr; + } + + std::map> m_map; +}; + +} + +#endif // PANTOR_INJA_FUNCTION_STORAGE_HPP + +// #include "parser.hpp" +#ifndef PANTOR_INJA_PARSER_HPP +#define PANTOR_INJA_PARSER_HPP + +#include + +// #include "bytecode.hpp" + +// #include "config.hpp" + +// #include "function_storage.hpp" + +// #include "lexer.hpp" +#ifndef PANTOR_INJA_LEXER_HPP +#define PANTOR_INJA_LEXER_HPP + +#include +#include + +// #include "config.hpp" + +// #include "token.hpp" +#ifndef PANTOR_INJA_TOKEN_HPP +#define PANTOR_INJA_TOKEN_HPP + +// #include "string_view.hpp" + + + +namespace inja { + +struct Token { + enum class Kind { + Text, + ExpressionOpen, // {{ + ExpressionClose, // }} + LineStatementOpen, // ## + LineStatementClose, // \n + StatementOpen, // {% + StatementClose, // %} + CommentOpen, // {# + CommentClose, // #} + Id, // this, this.foo + Number, // 1, 2, -1, 5.2, -5.3 + String, // "this" + Comma, // , + Colon, // : + LeftParen, // ( + RightParen, // ) + LeftBracket, // [ + RightBracket, // ] + LeftBrace, // { + RightBrace, // } + Equal, // == + GreaterThan, // > + GreaterEqual, // >= + LessThan, // < + LessEqual, // <= + NotEqual, // != + Unknown, + Eof + } kind {Kind::Unknown}; + + nonstd::string_view text; + + constexpr Token() = default; + constexpr Token(Kind kind, nonstd::string_view text): kind(kind), text(text) {} + + std::string describe() const { + switch (kind) { + case Kind::Text: + return ""; + case Kind::LineStatementClose: + return ""; + case Kind::Eof: + return ""; + default: + return static_cast(text); + } + } +}; + +} + +#endif // PANTOR_INJA_TOKEN_HPP + +// #include "utils.hpp" +#ifndef PANTOR_INJA_UTILS_HPP +#define PANTOR_INJA_UTILS_HPP + +#include + +// #include "string_view.hpp" + + + +namespace inja { + +inline void inja_throw(const std::string& type, const std::string& message) { + throw std::runtime_error("[inja.exception." + type + "] " + message); +} + +namespace string_view { + inline nonstd::string_view slice(nonstd::string_view view, size_t start, size_t end) { + start = std::min(start, view.size()); + end = std::min(std::max(start, end), view.size()); + return view.substr(start, end - start); // StringRef(Data + Start, End - Start); + } + + inline std::pair split(nonstd::string_view view, char Separator) { + size_t idx = view.find(Separator); + if (idx == nonstd::string_view::npos) { + return std::make_pair(view, nonstd::string_view()); + } + return std::make_pair(slice(view, 0, idx), slice(view, idx + 1, nonstd::string_view::npos)); + } + + inline bool starts_with(nonstd::string_view view, nonstd::string_view prefix) { + return (view.size() >= prefix.size() && view.compare(0, prefix.size(), prefix) == 0); + } +} // namespace string + +} // namespace inja + +#endif // PANTOR_INJA_UTILS_HPP + + + +namespace inja { + +class Lexer { + enum class State { + Text, + ExpressionStart, + ExpressionBody, + LineStart, + LineBody, + StatementStart, + StatementBody, + CommentStart, + CommentBody + } m_state; + + const LexerConfig& m_config; + nonstd::string_view m_in; + size_t m_tok_start; + size_t m_pos; + + public: + explicit Lexer(const LexerConfig& config) : m_config(config) {} + + void start(nonstd::string_view in) { + m_in = in; + m_tok_start = 0; + m_pos = 0; + m_state = State::Text; + } + + Token scan() { + m_tok_start = m_pos; + + again: + if (m_tok_start >= m_in.size()) return make_token(Token::Kind::Eof); + + switch (m_state) { + default: + case State::Text: { + // fast-scan to first open character + size_t open_start = m_in.substr(m_pos).find_first_of(m_config.open_chars); + if (open_start == nonstd::string_view::npos) { + // didn't find open, return remaining text as text token + m_pos = m_in.size(); + return make_token(Token::Kind::Text); + } + m_pos += open_start; + + // try to match one of the opening sequences, and get the close + nonstd::string_view open_str = m_in.substr(m_pos); + if (inja::string_view::starts_with(open_str, m_config.expression_open)) { + m_state = State::ExpressionStart; + } else if (inja::string_view::starts_with(open_str, m_config.statement_open)) { + m_state = State::StatementStart; + } else if (inja::string_view::starts_with(open_str, m_config.comment_open)) { + m_state = State::CommentStart; + } else if ((m_pos == 0 || m_in[m_pos - 1] == '\n') && + inja::string_view::starts_with(open_str, m_config.line_statement)) { + m_state = State::LineStart; + } else { + m_pos += 1; // wasn't actually an opening sequence + goto again; + } + if (m_pos == m_tok_start) goto again; // don't generate empty token + return make_token(Token::Kind::Text); + } + case State::ExpressionStart: { + m_state = State::ExpressionBody; + m_pos += m_config.expression_open.size(); + return make_token(Token::Kind::ExpressionOpen); + } + case State::LineStart: { + m_state = State::LineBody; + m_pos += m_config.line_statement.size(); + return make_token(Token::Kind::LineStatementOpen); + } + case State::StatementStart: { + m_state = State::StatementBody; + m_pos += m_config.statement_open.size(); + return make_token(Token::Kind::StatementOpen); + } + case State::CommentStart: { + m_state = State::CommentBody; + m_pos += m_config.comment_open.size(); + return make_token(Token::Kind::CommentOpen); + } + case State::ExpressionBody: + return scan_body(m_config.expression_close, Token::Kind::ExpressionClose); + case State::LineBody: + return scan_body("\n", Token::Kind::LineStatementClose); + case State::StatementBody: + return scan_body(m_config.statement_close, Token::Kind::StatementClose); + case State::CommentBody: { + // fast-scan to comment close + size_t end = m_in.substr(m_pos).find(m_config.comment_close); + if (end == nonstd::string_view::npos) { + m_pos = m_in.size(); + return make_token(Token::Kind::Eof); + } + // return the entire comment in the close token + m_state = State::Text; + m_pos += end + m_config.comment_close.size(); + return make_token(Token::Kind::CommentClose); + } + } + } + + const LexerConfig& get_config() const { return m_config; } + + private: + Token scan_body(nonstd::string_view close, Token::Kind closeKind) { + again: + // skip whitespace (except for \n as it might be a close) + if (m_tok_start >= m_in.size()) return make_token(Token::Kind::Eof); + char ch = m_in[m_tok_start]; + if (ch == ' ' || ch == '\t' || ch == '\r') { + m_tok_start += 1; + goto again; + } + + // check for close + if (inja::string_view::starts_with(m_in.substr(m_tok_start), close)) { + m_state = State::Text; + m_pos = m_tok_start + close.size(); + return make_token(closeKind); + } + + // skip \n + if (ch == '\n') { + m_tok_start += 1; + goto again; + } + + m_pos = m_tok_start + 1; + if (std::isalpha(ch)) return scan_id(); + switch (ch) { + case ',': + return make_token(Token::Kind::Comma); + case ':': + return make_token(Token::Kind::Colon); + case '(': + return make_token(Token::Kind::LeftParen); + case ')': + return make_token(Token::Kind::RightParen); + case '[': + return make_token(Token::Kind::LeftBracket); + case ']': + return make_token(Token::Kind::RightBracket); + case '{': + return make_token(Token::Kind::LeftBrace); + case '}': + return make_token(Token::Kind::RightBrace); + case '>': + if (m_pos < m_in.size() && m_in[m_pos] == '=') { + m_pos += 1; + return make_token(Token::Kind::GreaterEqual); + } + return make_token(Token::Kind::GreaterThan); + case '<': + if (m_pos < m_in.size() && m_in[m_pos] == '=') { + m_pos += 1; + return make_token(Token::Kind::LessEqual); + } + return make_token(Token::Kind::LessThan); + case '=': + if (m_pos < m_in.size() && m_in[m_pos] == '=') { + m_pos += 1; + return make_token(Token::Kind::Equal); + } + return make_token(Token::Kind::Unknown); + case '!': + if (m_pos < m_in.size() && m_in[m_pos] == '=') { + m_pos += 1; + return make_token(Token::Kind::NotEqual); + } + return make_token(Token::Kind::Unknown); + case '\"': + return scan_string(); + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + case '-': + return scan_number(); + case '_': + return scan_id(); + default: + return make_token(Token::Kind::Unknown); + } + } + + Token scan_id() { + for (;;) { + if (m_pos >= m_in.size()) { + break; + } + char ch = m_in[m_pos]; + if (!std::isalnum(ch) && ch != '.' && ch != '/' && ch != '_' && ch != '-') { + break; + } + m_pos += 1; + } + return make_token(Token::Kind::Id); + } + + Token scan_number() { + for (;;) { + if (m_pos >= m_in.size()) { + break; + } + char ch = m_in[m_pos]; + // be very permissive in lexer (we'll catch errors when conversion happens) + if (!std::isdigit(ch) && ch != '.' && ch != 'e' && ch != 'E' && ch != '+' && ch != '-') { + break; + } + m_pos += 1; + } + return make_token(Token::Kind::Number); + } + + Token scan_string() { + bool escape {false}; + for (;;) { + if (m_pos >= m_in.size()) break; + char ch = m_in[m_pos++]; + if (ch == '\\') { + escape = true; + } else if (!escape && ch == m_in[m_tok_start]) { + break; + } else { + escape = false; + } + } + return make_token(Token::Kind::String); + } + + Token make_token(Token::Kind kind) const { + return Token(kind, string_view::slice(m_in, m_tok_start, m_pos)); + } +}; + +} + +#endif // PANTOR_INJA_LEXER_HPP + +// #include "template.hpp" +#ifndef PANTOR_INJA_TEMPLATE_HPP +#define PANTOR_INJA_TEMPLATE_HPP + +#include +#include + +// #include "bytecode.hpp" + + + +namespace inja { + +struct Template { + std::vector bytecodes; + std::string content; +}; + +using TemplateStorage = std::map; + +} + +#endif // PANTOR_INJA_TEMPLATE_HPP + +// #include "token.hpp" + +// #include "utils.hpp" + + +#include + + +namespace inja { + +class ParserStatic { + ParserStatic() { + functions.add_builtin("default", 2, Bytecode::Op::Default); + functions.add_builtin("divisibleBy", 2, Bytecode::Op::DivisibleBy); + functions.add_builtin("even", 1, Bytecode::Op::Even); + functions.add_builtin("first", 1, Bytecode::Op::First); + functions.add_builtin("float", 1, Bytecode::Op::Float); + functions.add_builtin("int", 1, Bytecode::Op::Int); + functions.add_builtin("last", 1, Bytecode::Op::Last); + functions.add_builtin("length", 1, Bytecode::Op::Length); + functions.add_builtin("lower", 1, Bytecode::Op::Lower); + functions.add_builtin("max", 1, Bytecode::Op::Max); + functions.add_builtin("min", 1, Bytecode::Op::Min); + functions.add_builtin("odd", 1, Bytecode::Op::Odd); + functions.add_builtin("range", 1, Bytecode::Op::Range); + functions.add_builtin("round", 2, Bytecode::Op::Round); + functions.add_builtin("sort", 1, Bytecode::Op::Sort); + functions.add_builtin("upper", 1, Bytecode::Op::Upper); + functions.add_builtin("exists", 1, Bytecode::Op::Exists); + functions.add_builtin("existsIn", 2, Bytecode::Op::ExistsInObject); + functions.add_builtin("isBoolean", 1, Bytecode::Op::IsBoolean); + functions.add_builtin("isNumber", 1, Bytecode::Op::IsNumber); + functions.add_builtin("isInteger", 1, Bytecode::Op::IsInteger); + functions.add_builtin("isFloat", 1, Bytecode::Op::IsFloat); + functions.add_builtin("isObject", 1, Bytecode::Op::IsObject); + functions.add_builtin("isArray", 1, Bytecode::Op::IsArray); + functions.add_builtin("isString", 1, Bytecode::Op::IsString); + } + + public: + ParserStatic(const ParserStatic&) = delete; + ParserStatic& operator=(const ParserStatic&) = delete; + + static const ParserStatic& get_instance() { + static ParserStatic inst; + return inst; + } + + FunctionStorage functions; +}; + +class Parser { + public: + explicit Parser(const ParserConfig& parser_config, const LexerConfig& lexer_config, TemplateStorage& included_templates): m_config(parser_config), m_lexer(lexer_config), m_included_templates(included_templates), m_static(ParserStatic::get_instance()) { } + + bool parse_expression(Template& tmpl) { + if (!parse_expression_and(tmpl)) return false; + if (m_tok.kind != Token::Kind::Id || m_tok.text != "or") return true; + get_next_token(); + if (!parse_expression_and(tmpl)) return false; + append_function(tmpl, Bytecode::Op::Or, 2); + return true; + } + + bool parse_expression_and(Template& tmpl) { + if (!parse_expression_not(tmpl)) return false; + if (m_tok.kind != Token::Kind::Id || m_tok.text != "and") return true; + get_next_token(); + if (!parse_expression_not(tmpl)) return false; + append_function(tmpl, Bytecode::Op::And, 2); + return true; + } + + bool parse_expression_not(Template& tmpl) { + if (m_tok.kind == Token::Kind::Id && m_tok.text == "not") { + get_next_token(); + if (!parse_expression_not(tmpl)) return false; + append_function(tmpl, Bytecode::Op::Not, 1); + return true; + } else { + return parse_expression_comparison(tmpl); + } + } + + bool parse_expression_comparison(Template& tmpl) { + if (!parse_expression_datum(tmpl)) return false; + Bytecode::Op op; + switch (m_tok.kind) { + case Token::Kind::Id: + if (m_tok.text == "in") + op = Bytecode::Op::In; + else + return true; + break; + case Token::Kind::Equal: + op = Bytecode::Op::Equal; + break; + case Token::Kind::GreaterThan: + op = Bytecode::Op::Greater; + break; + case Token::Kind::LessThan: + op = Bytecode::Op::Less; + break; + case Token::Kind::LessEqual: + op = Bytecode::Op::LessEqual; + break; + case Token::Kind::GreaterEqual: + op = Bytecode::Op::GreaterEqual; + break; + case Token::Kind::NotEqual: + op = Bytecode::Op::Different; + break; + default: + return true; + } + get_next_token(); + if (!parse_expression_datum(tmpl)) return false; + append_function(tmpl, op, 2); + return true; + } + + bool parse_expression_datum(Template& tmpl) { + nonstd::string_view json_first; + size_t bracket_level = 0; + size_t brace_level = 0; + + for (;;) { + switch (m_tok.kind) { + case Token::Kind::LeftParen: { + get_next_token(); + if (!parse_expression(tmpl)) return false; + if (m_tok.kind != Token::Kind::RightParen) { + inja_throw("parser_error", "unmatched '('"); + } + get_next_token(); + return true; + } + case Token::Kind::Id: + get_peek_token(); + if (m_peek_tok.kind == Token::Kind::LeftParen) { + // function call, parse arguments + Token func_token = m_tok; + get_next_token(); // id + get_next_token(); // leftParen + unsigned int num_args = 0; + if (m_tok.kind == Token::Kind::RightParen) { + // no args + get_next_token(); + } else { + for (;;) { + if (!parse_expression(tmpl)) { + inja_throw("parser_error", "expected expression, got '" + m_tok.describe() + "'"); + } + num_args += 1; + if (m_tok.kind == Token::Kind::RightParen) { + get_next_token(); + break; + } + if (m_tok.kind != Token::Kind::Comma) { + inja_throw("parser_error", "expected ')' or ',', got '" + m_tok.describe() + "'"); + } + get_next_token(); + } + } + + auto op = m_static.functions.find_builtin(func_token.text, num_args); + + if (op != Bytecode::Op::Nop) { + // swap arguments for default(); see comment in RenderTo() + if (op == Bytecode::Op::Default) + std::swap(tmpl.bytecodes.back(), *(tmpl.bytecodes.rbegin() + 1)); + append_function(tmpl, op, num_args); + return true; + } else { + append_callback(tmpl, func_token.text, num_args); + return true; + } + } else if (m_tok.text == "true" || m_tok.text == "false" || m_tok.text == "null") { + // true, false, null are json literals + if (brace_level == 0 && bracket_level == 0) { + json_first = m_tok.text; + goto returnJson; + } + break; + } else { + // normal literal (json read) + tmpl.bytecodes.emplace_back( + Bytecode::Op::Push, m_tok.text, + m_config.notation == ElementNotation::Pointer ? Bytecode::Flag::ValueLookupPointer : Bytecode::Flag::ValueLookupDot); + get_next_token(); + return true; + } + // json passthrough + case Token::Kind::Number: + case Token::Kind::String: + if (brace_level == 0 && bracket_level == 0) { + json_first = m_tok.text; + goto returnJson; + } + break; + case Token::Kind::Comma: + case Token::Kind::Colon: + if (brace_level == 0 && bracket_level == 0) { + inja_throw("parser_error", "unexpected token '" + m_tok.describe() + "'"); + } + break; + case Token::Kind::LeftBracket: + if (brace_level == 0 && bracket_level == 0) { + json_first = m_tok.text; + } + bracket_level += 1; + break; + case Token::Kind::LeftBrace: + if (brace_level == 0 && bracket_level == 0) { + json_first = m_tok.text; + } + brace_level += 1; + break; + case Token::Kind::RightBracket: + if (bracket_level == 0) { + inja_throw("parser_error", "unexpected ']'"); + } + --bracket_level; + if (brace_level == 0 && bracket_level == 0) goto returnJson; + break; + case Token::Kind::RightBrace: + if (brace_level == 0) { + inja_throw("parser_error", "unexpected '}'"); + } + --brace_level; + if (brace_level == 0 && bracket_level == 0) goto returnJson; + break; + default: + if (brace_level != 0) { + inja_throw("parser_error", "unmatched '{'"); + } + if (bracket_level != 0) { + inja_throw("parser_error", "unmatched '['"); + } + return false; + } + + get_next_token(); + } + + returnJson: + // bridge across all intermediate tokens + nonstd::string_view json_text(json_first.data(), m_tok.text.data() - json_first.data() + m_tok.text.size()); + tmpl.bytecodes.emplace_back(Bytecode::Op::Push, json::parse(json_text), Bytecode::Flag::ValueImmediate); + get_next_token(); + return true; + } + + bool parse_statement(Template& tmpl, nonstd::string_view path) { + if (m_tok.kind != Token::Kind::Id) return false; + + if (m_tok.text == "if") { + get_next_token(); + + // evaluate expression + if (!parse_expression(tmpl)) return false; + + // start a new if block on if stack + m_if_stack.emplace_back(tmpl.bytecodes.size()); + + // conditional jump; destination will be filled in by else or endif + tmpl.bytecodes.emplace_back(Bytecode::Op::ConditionalJump); + } else if (m_tok.text == "endif") { + if (m_if_stack.empty()) { + inja_throw("parser_error", "endif without matching if"); + } + auto& if_data = m_if_stack.back(); + get_next_token(); + + // previous conditional jump jumps here + if (if_data.prev_cond_jump != std::numeric_limits::max()) { + tmpl.bytecodes[if_data.prev_cond_jump].args = tmpl.bytecodes.size(); + } + + // update all previous unconditional jumps to here + for (unsigned int i: if_data.uncond_jumps) { + tmpl.bytecodes[i].args = tmpl.bytecodes.size(); + } + + // pop if stack + m_if_stack.pop_back(); + } else if (m_tok.text == "else") { + if (m_if_stack.empty()) + inja_throw("parser_error", "else without matching if"); + auto& if_data = m_if_stack.back(); + get_next_token(); + + // end previous block with unconditional jump to endif; destination will be + // filled in by endif + if_data.uncond_jumps.push_back(tmpl.bytecodes.size()); + tmpl.bytecodes.emplace_back(Bytecode::Op::Jump); + + // previous conditional jump jumps here + tmpl.bytecodes[if_data.prev_cond_jump].args = tmpl.bytecodes.size(); + if_data.prev_cond_jump = std::numeric_limits::max(); + + // chained else if + if (m_tok.kind == Token::Kind::Id && m_tok.text == "if") { + get_next_token(); + + // evaluate expression + if (!parse_expression(tmpl)) return false; + + // update "previous jump" + if_data.prev_cond_jump = tmpl.bytecodes.size(); + + // conditional jump; destination will be filled in by else or endif + tmpl.bytecodes.emplace_back(Bytecode::Op::ConditionalJump); + } + } else if (m_tok.text == "for") { + get_next_token(); + + // options: for a in arr; for a, b in obj + if (m_tok.kind != Token::Kind::Id) + inja_throw("parser_error", "expected id, got '" + m_tok.describe() + "'"); + Token value_token = m_tok; + get_next_token(); + + Token key_token; + if (m_tok.kind == Token::Kind::Comma) { + get_next_token(); + if (m_tok.kind != Token::Kind::Id) + inja_throw("parser_error", "expected id, got '" + m_tok.describe() + "'"); + key_token = std::move(value_token); + value_token = m_tok; + get_next_token(); + } + + if (m_tok.kind != Token::Kind::Id || m_tok.text != "in") + inja_throw("parser_error", + "expected 'in', got '" + m_tok.describe() + "'"); + get_next_token(); + + if (!parse_expression(tmpl)) return false; + + m_loop_stack.push_back(tmpl.bytecodes.size()); + + tmpl.bytecodes.emplace_back(Bytecode::Op::StartLoop); + if (!key_token.text.empty()) { + tmpl.bytecodes.back().value = key_token.text; + } + tmpl.bytecodes.back().str = static_cast(value_token.text); + } else if (m_tok.text == "endfor") { + get_next_token(); + if (m_loop_stack.empty()) { + inja_throw("parser_error", "endfor without matching for"); + } + + // update loop with EndLoop index (for empty case) + tmpl.bytecodes[m_loop_stack.back()].args = tmpl.bytecodes.size(); + + tmpl.bytecodes.emplace_back(Bytecode::Op::EndLoop); + tmpl.bytecodes.back().args = m_loop_stack.back() + 1; // loop body + m_loop_stack.pop_back(); + } else if (m_tok.text == "include") { + get_next_token(); + + if (m_tok.kind != Token::Kind::String) { + inja_throw("parser_error", "expected string, got '" + m_tok.describe() + "'"); + } + + // build the relative path + json json_name = json::parse(m_tok.text); + std::string pathname = static_cast(path); + pathname += json_name.get_ref(); + if (pathname.compare(0, 2, "./") == 0) { + pathname.erase(0, 2); + } + // sys::path::remove_dots(pathname, true, sys::path::Style::posix); + + Template include_template = parse_template(pathname); + m_included_templates.emplace(pathname, include_template); + + // generate a reference bytecode + tmpl.bytecodes.emplace_back(Bytecode::Op::Include, json(pathname), Bytecode::Flag::ValueImmediate); + + get_next_token(); + } else { + return false; + } + return true; + } + + void append_function(Template& tmpl, Bytecode::Op op, unsigned int num_args) { + // we can merge with back-to-back push + if (!tmpl.bytecodes.empty()) { + Bytecode& last = tmpl.bytecodes.back(); + if (last.op == Bytecode::Op::Push) { + last.op = op; + last.args = num_args; + return; + } + } + + // otherwise just add it to the end + tmpl.bytecodes.emplace_back(op, num_args); + } + + void append_callback(Template& tmpl, nonstd::string_view name, unsigned int num_args) { + // we can merge with back-to-back push value (not lookup) + if (!tmpl.bytecodes.empty()) { + Bytecode& last = tmpl.bytecodes.back(); + if (last.op == Bytecode::Op::Push && + (last.flags & Bytecode::Flag::ValueMask) == Bytecode::Flag::ValueImmediate) { + last.op = Bytecode::Op::Callback; + last.args = num_args; + last.str = static_cast(name); + return; + } + } + + // otherwise just add it to the end + tmpl.bytecodes.emplace_back(Bytecode::Op::Callback, num_args); + tmpl.bytecodes.back().str = static_cast(name); + } + + void parse_into(Template& tmpl, nonstd::string_view path) { + m_lexer.start(tmpl.content); + + for (;;) { + get_next_token(); + switch (m_tok.kind) { + case Token::Kind::Eof: + if (!m_if_stack.empty()) inja_throw("parser_error", "unmatched if"); + if (!m_loop_stack.empty()) inja_throw("parser_error", "unmatched for"); + return; + case Token::Kind::Text: + tmpl.bytecodes.emplace_back(Bytecode::Op::PrintText, m_tok.text, 0u); + break; + case Token::Kind::StatementOpen: + get_next_token(); + if (!parse_statement(tmpl, path)) { + inja_throw("parser_error", "expected statement, got '" + m_tok.describe() + "'"); + } + if (m_tok.kind != Token::Kind::StatementClose) { + inja_throw("parser_error", "expected statement close, got '" + m_tok.describe() + "'"); + } + break; + case Token::Kind::LineStatementOpen: + get_next_token(); + parse_statement(tmpl, path); + if (m_tok.kind != Token::Kind::LineStatementClose && + m_tok.kind != Token::Kind::Eof) { + inja_throw("parser_error", "expected line statement close, got '" + m_tok.describe() + "'"); + } + break; + case Token::Kind::ExpressionOpen: + get_next_token(); + if (!parse_expression(tmpl)) { + inja_throw("parser_error", "expected expression, got '" + m_tok.describe() + "'"); + } + append_function(tmpl, Bytecode::Op::PrintValue, 1); + if (m_tok.kind != Token::Kind::ExpressionClose) { + inja_throw("parser_error", "expected expression close, got '" + m_tok.describe() + "'"); + } + break; + case Token::Kind::CommentOpen: + get_next_token(); + if (m_tok.kind != Token::Kind::CommentClose) { + inja_throw("parser_error", "expected comment close, got '" + m_tok.describe() + "'"); + } + break; + default: + inja_throw("parser_error", "unexpected token '" + m_tok.describe() + "'"); + break; + } + } + } + + Template parse(nonstd::string_view input, nonstd::string_view path) { + Template result; + result.content = static_cast(input); + parse_into(result, path); + return result; + } + + Template parse(nonstd::string_view input) { + return parse(input, "./"); + } + + Template parse_template(nonstd::string_view filename) { + Template result; + result.content = load_file(filename); + + nonstd::string_view path = filename.substr(0, filename.find_last_of("/\\") + 1); + // StringRef path = sys::path::parent_path(filename); + Parser(m_config, m_lexer.get_config(), m_included_templates).parse_into(result, path); + return result; + } + + std::string load_file(nonstd::string_view filename) { + std::ifstream file(static_cast(filename)); + std::string text((std::istreambuf_iterator(file)), std::istreambuf_iterator()); + return text; + } + + private: + const ParserConfig& m_config; + Lexer m_lexer; + Token m_tok; + Token m_peek_tok; + bool m_have_peek_tok {false}; + TemplateStorage& m_included_templates; + const ParserStatic& m_static; + + struct IfData { + unsigned int prev_cond_jump; + std::vector uncond_jumps; + + explicit IfData(unsigned int condJump): prev_cond_jump(condJump) {} + }; + + std::vector m_if_stack; + std::vector m_loop_stack; + + void get_next_token() { + if (m_have_peek_tok) { + m_tok = m_peek_tok; + m_have_peek_tok = false; + } else { + m_tok = m_lexer.scan(); + } + } + + void get_peek_token() { + if (!m_have_peek_tok) { + m_peek_tok = m_lexer.scan(); + m_have_peek_tok = true; + } + } +}; + +} // namespace inja + +#endif // PANTOR_INJA_PARSER_HPP + +// #include "polyfill.hpp" +#ifndef PANTOR_INJA_POLYFILL_HPP +#define PANTOR_INJA_POLYFILL_HPP + + +#if __cplusplus < 201402L + +#include +#include +#include + + +namespace stdinja { + template struct _Unique_if { + typedef std::unique_ptr _Single_object; + }; + + template struct _Unique_if { + typedef std::unique_ptr _Unknown_bound; + }; + + template struct _Unique_if { + typedef void _Known_bound; + }; + + template + typename _Unique_if::_Single_object + make_unique(Args&&... args) { + return std::unique_ptr(new T(std::forward(args)...)); + } + + template + typename _Unique_if::_Unknown_bound + make_unique(size_t n) { + typedef typename std::remove_extent::type U; + return std::unique_ptr(new U[n]()); + } + + template + typename _Unique_if::_Known_bound + make_unique(Args&&...) = delete; +} + +#else + +namespace stdinja = std; + +#endif // memory */ + + +#endif // PANTOR_INJA_POLYFILL_HPP + +// #include "renderer.hpp" +#ifndef PANTOR_INJA_RENDERER_HPP +#define PANTOR_INJA_RENDERER_HPP + +#include +#include + +#include + +// #include "bytecode.hpp" + +// #include "template.hpp" + +// #include "utils.hpp" + + + +namespace inja { + +inline nonstd::string_view convert_dot_to_json_pointer(nonstd::string_view dot, std::string& out) { + out.clear(); + do { + nonstd::string_view part; + std::tie(part, dot) = string_view::split(dot, '.'); + out.push_back('/'); + out.append(part.begin(), part.end()); + } while (!dot.empty()); + return nonstd::string_view(out.data(), out.size()); +} + +class Renderer { + std::vector& get_args(const Bytecode& bc) { + m_tmp_args.clear(); + + bool has_imm = ((bc.flags & Bytecode::Flag::ValueMask) != Bytecode::Flag::ValuePop); + + // get args from stack + unsigned int pop_args = bc.args; + if (has_imm) { + pop_args -= 1; + } + + for (auto i = std::prev(m_stack.end(), pop_args); i != m_stack.end(); i++) { + m_tmp_args.push_back(&(*i)); + } + + // get immediate arg + if (has_imm) { + m_tmp_args.push_back(get_imm(bc)); + } + + return m_tmp_args; + } + + void pop_args(const Bytecode& bc) { + unsigned int popArgs = bc.args; + if ((bc.flags & Bytecode::Flag::ValueMask) != Bytecode::Flag::ValuePop) { + popArgs -= 1; + } + for (unsigned int i = 0; i < popArgs; ++i) { + m_stack.pop_back(); + } + } + + const json* get_imm(const Bytecode& bc) { + std::string ptr_buffer; + nonstd::string_view ptr; + switch (bc.flags & Bytecode::Flag::ValueMask) { + case Bytecode::Flag::ValuePop: + return nullptr; + case Bytecode::Flag::ValueImmediate: + return &bc.value; + case Bytecode::Flag::ValueLookupDot: + ptr = convert_dot_to_json_pointer(bc.str, ptr_buffer); + break; + case Bytecode::Flag::ValueLookupPointer: + ptr_buffer += '/'; + ptr_buffer += bc.str; + ptr = ptr_buffer; + break; + } + try { + return &m_data->at(json::json_pointer(ptr.data())); + } catch (std::exception&) { + // try to evaluate as a no-argument callback + if (auto callback = m_callbacks.find_callback(bc.str, 0)) { + std::vector arguments {}; + m_tmp_val = callback(arguments); + return &m_tmp_val; + } + inja_throw("render_error", "variable '" + static_cast(bc.str) + "' not found"); + return nullptr; + } + } + + bool truthy(const json& var) const { + if (var.empty()) { + return false; + } else if (var.is_number()) { + return (var != 0); + } else if (var.is_string()) { + return !var.empty(); + } + + try { + return var.get(); + } catch (json::type_error& e) { + inja_throw("json_error", e.what()); + throw; + } + } + + void update_loop_data() { + LoopLevel& level = m_loop_stack.back(); + + if (level.loop_type == LoopLevel::Type::Array) { + level.data[static_cast(level.value_name)] = level.values.at(level.index); // *level.it; + auto& loopData = level.data["loop"]; + loopData["index"] = level.index; + loopData["index1"] = level.index + 1; + loopData["is_first"] = (level.index == 0); + loopData["is_last"] = (level.index == level.size - 1); + } else { + level.data[static_cast(level.key_name)] = level.map_it->first; + level.data[static_cast(level.value_name)] = *level.map_it->second; + } + } + + const TemplateStorage& m_included_templates; + const FunctionStorage& m_callbacks; + + std::vector m_stack; + + + struct LoopLevel { + enum class Type { Map, Array }; + + Type loop_type; + nonstd::string_view key_name; // variable name for keys + nonstd::string_view value_name; // variable name for values + json data; // data with loop info added + + json values; // values to iterate over + + // loop over list + size_t index; // current list index + size_t size; // length of list + + // loop over map + using KeyValue = std::pair; + using MapValues = std::vector; + MapValues map_values; // values to iterate over + MapValues::iterator map_it; // iterator over values + + }; + + std::vector m_loop_stack; + const json* m_data; + + std::vector m_tmp_args; + json m_tmp_val; + + + public: + Renderer(const TemplateStorage& included_templates, const FunctionStorage& callbacks): m_included_templates(included_templates), m_callbacks(callbacks) { + m_stack.reserve(16); + m_tmp_args.reserve(4); + m_loop_stack.reserve(16); + } + + void render_to(std::ostream& os, const Template& tmpl, const json& data) { + m_data = &data; + + for (size_t i = 0; i < tmpl.bytecodes.size(); ++i) { + const auto& bc = tmpl.bytecodes[i]; + + switch (bc.op) { + case Bytecode::Op::Nop: { + break; + } + case Bytecode::Op::PrintText: { + os << bc.str; + break; + } + case Bytecode::Op::PrintValue: { + const json& val = *get_args(bc)[0]; + if (val.is_string()) + os << val.get_ref(); + else + os << val.dump(); + // val.dump(os); + pop_args(bc); + break; + } + case Bytecode::Op::Push: { + m_stack.emplace_back(*get_imm(bc)); + break; + } + case Bytecode::Op::Upper: { + auto result = get_args(bc)[0]->get(); + std::transform(result.begin(), result.end(), result.begin(), ::toupper); + pop_args(bc); + m_stack.emplace_back(std::move(result)); + break; + } + case Bytecode::Op::Lower: { + auto result = get_args(bc)[0]->get(); + std::transform(result.begin(), result.end(), result.begin(), ::tolower); + pop_args(bc); + m_stack.emplace_back(std::move(result)); + break; + } + case Bytecode::Op::Range: { + int number = get_args(bc)[0]->get(); + std::vector result(number); + std::iota(std::begin(result), std::end(result), 0); + pop_args(bc); + m_stack.emplace_back(std::move(result)); + break; + } + case Bytecode::Op::Length: { + auto result = get_args(bc)[0]->size(); + pop_args(bc); + m_stack.emplace_back(result); + break; + } + case Bytecode::Op::Sort: { + auto result = get_args(bc)[0]->get>(); + std::sort(result.begin(), result.end()); + pop_args(bc); + m_stack.emplace_back(std::move(result)); + break; + } + case Bytecode::Op::First: { + auto result = get_args(bc)[0]->front(); + pop_args(bc); + m_stack.emplace_back(result); + break; + } + case Bytecode::Op::Last: { + auto result = get_args(bc)[0]->back(); + pop_args(bc); + m_stack.emplace_back(result); + break; + } + case Bytecode::Op::Round: { + auto args = get_args(bc); + double number = args[0]->get(); + int precision = args[1]->get(); + pop_args(bc); + m_stack.emplace_back(std::round(number * std::pow(10.0, precision)) / std::pow(10.0, precision)); + break; + } + case Bytecode::Op::DivisibleBy: { + auto args = get_args(bc); + int number = args[0]->get(); + int divisor = args[1]->get(); + pop_args(bc); + m_stack.emplace_back((divisor != 0) && (number % divisor == 0)); + break; + } + case Bytecode::Op::Odd: { + int number = get_args(bc)[0]->get(); + pop_args(bc); + m_stack.emplace_back(number % 2 != 0); + break; + } + case Bytecode::Op::Even: { + int number = get_args(bc)[0]->get(); + pop_args(bc); + m_stack.emplace_back(number % 2 == 0); + break; + } + case Bytecode::Op::Max: { + auto args = get_args(bc); + auto result = *std::max_element(args[0]->begin(), args[0]->end()); + pop_args(bc); + m_stack.emplace_back(std::move(result)); + break; + } + case Bytecode::Op::Min: { + auto args = get_args(bc); + auto result = *std::min_element(args[0]->begin(), args[0]->end()); + pop_args(bc); + m_stack.emplace_back(std::move(result)); + break; + } + case Bytecode::Op::Not: { + bool result = !truthy(*get_args(bc)[0]); + pop_args(bc); + m_stack.emplace_back(result); + break; + } + case Bytecode::Op::And: { + auto args = get_args(bc); + bool result = truthy(*args[0]) && truthy(*args[1]); + pop_args(bc); + m_stack.emplace_back(result); + break; + } + case Bytecode::Op::Or: { + auto args = get_args(bc); + bool result = truthy(*args[0]) || truthy(*args[1]); + pop_args(bc); + m_stack.emplace_back(result); + break; + } + case Bytecode::Op::In: { + auto args = get_args(bc); + bool result = std::find(args[1]->begin(), args[1]->end(), *args[0]) != + args[1]->end(); + pop_args(bc); + m_stack.emplace_back(result); + break; + } + case Bytecode::Op::Equal: { + auto args = get_args(bc); + bool result = (*args[0] == *args[1]); + pop_args(bc); + m_stack.emplace_back(result); + break; + } + case Bytecode::Op::Greater: { + auto args = get_args(bc); + bool result = (*args[0] > *args[1]); + pop_args(bc); + m_stack.emplace_back(result); + break; + } + case Bytecode::Op::Less: { + auto args = get_args(bc); + bool result = (*args[0] < *args[1]); + pop_args(bc); + m_stack.emplace_back(result); + break; + } + case Bytecode::Op::GreaterEqual: { + auto args = get_args(bc); + bool result = (*args[0] >= *args[1]); + pop_args(bc); + m_stack.emplace_back(result); + break; + } + case Bytecode::Op::LessEqual: { + auto args = get_args(bc); + bool result = (*args[0] <= *args[1]); + pop_args(bc); + m_stack.emplace_back(result); + break; + } + case Bytecode::Op::Different: { + auto args = get_args(bc); + bool result = (*args[0] != *args[1]); + pop_args(bc); + m_stack.emplace_back(result); + break; + } + case Bytecode::Op::Float: { + double result = + std::stod(get_args(bc)[0]->get_ref()); + pop_args(bc); + m_stack.emplace_back(result); + break; + } + case Bytecode::Op::Int: { + int result = std::stoi(get_args(bc)[0]->get_ref()); + pop_args(bc); + m_stack.emplace_back(result); + break; + } + case Bytecode::Op::Exists: { + auto&& name = get_args(bc)[0]->get_ref(); + bool result = (data.find(name) != data.end()); + pop_args(bc); + m_stack.emplace_back(result); + break; + } + case Bytecode::Op::ExistsInObject: { + auto args = get_args(bc); + auto&& name = args[1]->get_ref(); + bool result = (args[0]->find(name) != args[0]->end()); + pop_args(bc); + m_stack.emplace_back(result); + break; + } + case Bytecode::Op::IsBoolean: { + bool result = get_args(bc)[0]->is_boolean(); + pop_args(bc); + m_stack.emplace_back(result); + break; + } + case Bytecode::Op::IsNumber: { + bool result = get_args(bc)[0]->is_number(); + pop_args(bc); + m_stack.emplace_back(result); + break; + } + case Bytecode::Op::IsInteger: { + bool result = get_args(bc)[0]->is_number_integer(); + pop_args(bc); + m_stack.emplace_back(result); + break; + } + case Bytecode::Op::IsFloat: { + bool result = get_args(bc)[0]->is_number_float(); + pop_args(bc); + m_stack.emplace_back(result); + break; + } + case Bytecode::Op::IsObject: { + bool result = get_args(bc)[0]->is_object(); + pop_args(bc); + m_stack.emplace_back(result); + break; + } + case Bytecode::Op::IsArray: { + bool result = get_args(bc)[0]->is_array(); + pop_args(bc); + m_stack.emplace_back(result); + break; + } + case Bytecode::Op::IsString: { + bool result = get_args(bc)[0]->is_string(); + pop_args(bc); + m_stack.emplace_back(result); + break; + } + case Bytecode::Op::Default: { + // default needs to be a bit "magic"; we can't evaluate the first + // argument during the push operation, so we swap the arguments during + // the parse phase so the second argument is pushed on the stack and + // the first argument is in the immediate + try { + const json* imm = get_imm(bc); + // if no exception was raised, replace the stack value with it + m_stack.back() = *imm; + } catch (std::exception&) { + // couldn't read immediate, just leave the stack as is + } + break; + } + case Bytecode::Op::Include: + Renderer(m_included_templates, m_callbacks).render_to(os, m_included_templates.find(get_imm(bc)->get_ref())->second, data); + break; + case Bytecode::Op::Callback: { + auto callback = m_callbacks.find_callback(bc.str, bc.args); + if (!callback) { + inja_throw("render_error", "function '" + static_cast(bc.str) + "' (" + std::to_string(static_cast(bc.args)) + ") not found"); + } + json result = callback(get_args(bc)); + pop_args(bc); + m_stack.emplace_back(std::move(result)); + break; + } + case Bytecode::Op::Jump: { + i = bc.args - 1; // -1 due to ++i in loop + break; + } + case Bytecode::Op::ConditionalJump: { + if (!truthy(m_stack.back())) { + i = bc.args - 1; // -1 due to ++i in loop + } + m_stack.pop_back(); + break; + } + case Bytecode::Op::StartLoop: { + // jump past loop body if empty + if (m_stack.back().empty()) { + m_stack.pop_back(); + i = bc.args; // ++i in loop will take it past EndLoop + break; + } + + m_loop_stack.emplace_back(); + LoopLevel& level = m_loop_stack.back(); + level.value_name = bc.str; + level.values = std::move(m_stack.back()); + level.data = (*m_data); + m_stack.pop_back(); + + if (bc.value.is_string()) { + // map iterator + if (!level.values.is_object()) { + m_loop_stack.pop_back(); + inja_throw("render_error", "for key, value requires object"); + } + level.loop_type = LoopLevel::Type::Map; + level.key_name = bc.value.get_ref(); + + // sort by key + for (auto it = level.values.begin(), end = level.values.end(); it != end; ++it) { + level.map_values.emplace_back(it.key(), &it.value()); + } + std::sort(level.map_values.begin(), level.map_values.end(), [](const LoopLevel::KeyValue& a, const LoopLevel::KeyValue& b) { return a.first < b.first; }); + level.map_it = level.map_values.begin(); + } else { + if (!level.values.is_array()) { + m_loop_stack.pop_back(); + inja_throw("render_error", "type must be array"); + } + + // list iterator + level.loop_type = LoopLevel::Type::Array; + level.index = 0; + level.size = level.values.size(); + } + + // provide parent access in nested loop + auto parent_loop_it = level.data.find("loop"); + if (parent_loop_it != level.data.end()) { + json loop_copy = *parent_loop_it; + (*parent_loop_it)["parent"] = std::move(loop_copy); + } + + // set "current" data to loop data + m_data = &level.data; + update_loop_data(); + break; + } + case Bytecode::Op::EndLoop: { + if (m_loop_stack.empty()) { + inja_throw("render_error", "unexpected state in renderer"); + } + LoopLevel& level = m_loop_stack.back(); + + bool done; + if (level.loop_type == LoopLevel::Type::Array) { + level.index += 1; + done = (level.index == level.values.size()); + } else { + level.map_it += 1; + done = (level.map_it == level.map_values.end()); + } + + if (done) { + m_loop_stack.pop_back(); + // set "current" data to outer loop data or main data as appropriate + if (!m_loop_stack.empty()) { + m_data = &m_loop_stack.back().data; + } else { + m_data = &data; + } + break; + } + + update_loop_data(); + + // jump back to start of loop + i = bc.args - 1; // -1 due to ++i in loop + break; + } + default: { + inja_throw("render_error", "unknown op in renderer: " + std::to_string(static_cast(bc.op))); + } + } + } + } +}; + +} // namespace inja + +#endif // PANTOR_INJA_RENDERER_HPP + +// #include "string_view.hpp" + +// #include "template.hpp" + + + +namespace inja { + +using namespace nlohmann; + +class Environment { + class Impl { + public: + std::string input_path; + std::string output_path; + + LexerConfig lexer_config; + ParserConfig parser_config; + + FunctionStorage callbacks; + TemplateStorage included_templates; + }; + + std::unique_ptr m_impl; + + public: + Environment(): Environment("./") { } + + explicit Environment(const std::string& global_path): m_impl(stdinja::make_unique()) { + m_impl->input_path = global_path; + m_impl->output_path = global_path; + } + + explicit Environment(const std::string& input_path, const std::string& output_path): m_impl(stdinja::make_unique()) { + m_impl->input_path = input_path; + m_impl->output_path = output_path; + } + + /// Sets the opener and closer for template statements + void set_statement(const std::string& open, const std::string& close) { + m_impl->lexer_config.statement_open = open; + m_impl->lexer_config.statement_close = close; + m_impl->lexer_config.update_open_chars(); + } + + /// Sets the opener for template line statements + void set_line_statement(const std::string& open) { + m_impl->lexer_config.line_statement = open; + m_impl->lexer_config.update_open_chars(); + } + + /// Sets the opener and closer for template expressions + void set_expression(const std::string& open, const std::string& close) { + m_impl->lexer_config.expression_open = open; + m_impl->lexer_config.expression_close = close; + m_impl->lexer_config.update_open_chars(); + } + + /// Sets the opener and closer for template comments + void set_comment(const std::string& open, const std::string& close) { + m_impl->lexer_config.comment_open = open; + m_impl->lexer_config.comment_close = close; + m_impl->lexer_config.update_open_chars(); + } + + /// Sets the element notation syntax + void set_element_notation(ElementNotation notation) { + m_impl->parser_config.notation = notation; + } + + + Template parse(nonstd::string_view input) { + Parser parser(m_impl->parser_config, m_impl->lexer_config, m_impl->included_templates); + return parser.parse(input); + } + + Template parse_template(const std::string& filename) { + Parser parser(m_impl->parser_config, m_impl->lexer_config, m_impl->included_templates); + return parser.parse_template(m_impl->input_path + static_cast(filename)); + } + + std::string render(nonstd::string_view input, const json& data) { + return render(parse(input), data); + } + + std::string render(const Template& tmpl, const json& data) { + std::stringstream os; + render_to(os, tmpl, data); + return os.str(); + } + + std::string render_file(const std::string& filename, const json& data) { + return render(parse_template(filename), data); + } + + std::string render_file_with_json_file(const std::string& filename, const std::string& filename_data) { + const json data = load_json(filename_data); + return render_file(filename, data); + } + + void write(const std::string& filename, const json& data, const std::string& filename_out) { + std::ofstream file(m_impl->output_path + filename_out); + file << render_file(filename, data); + file.close(); + } + + void write(const Template& temp, const json& data, const std::string& filename_out) { + std::ofstream file(m_impl->output_path + filename_out); + file << render(temp, data); + file.close(); + } + + void write_with_json_file(const std::string& filename, const std::string& filename_data, const std::string& filename_out) { + const json data = load_json(filename_data); + write(filename, data, filename_out); + } + + void write_with_json_file(const Template& temp, const std::string& filename_data, const std::string& filename_out) { + const json data = load_json(filename_data); + write(temp, data, filename_out); + } + + std::ostream& render_to(std::ostream& os, const Template& tmpl, const json& data) { + Renderer(m_impl->included_templates, m_impl->callbacks).render_to(os, tmpl, data); + return os; + } + + std::string load_file(const std::string& filename) { + Parser parser(m_impl->parser_config, m_impl->lexer_config, m_impl->included_templates); + return parser.load_file(m_impl->input_path + filename); + } + + json load_json(const std::string& filename) { + std::ifstream file(m_impl->input_path + filename); + json j; + file >> j; + return j; + } + + void add_callback(const std::string& name, unsigned int numArgs, const CallbackFunction& callback) { + m_impl->callbacks.add_callback(name, numArgs, callback); + } + + /** Includes a template with a given name into the environment. + * Then, a template can be rendered in another template using the + * include "" syntax. + */ + void include_template(const std::string& name, const Template& tmpl) { + m_impl->included_templates[name] = tmpl; + } +}; + +/*! +@brief render with default settings to a string +*/ +inline std::string render(nonstd::string_view input, const json& data) { + return Environment().render(input, data); +} + +/*! +@brief render with default settings to the given output stream +*/ +inline void render_to(std::ostream& os, nonstd::string_view input, const json& data) { + Environment env; + env.render_to(os, env.parse(input), data); +} + +} + +#endif // PANTOR_INJA_ENVIRONMENT_HPP + +// #include "string_view.hpp" + +// #include "template.hpp" + +// #include "parser.hpp" + +// #include "renderer.hpp" + + + +#endif // PANTOR_INJA_HPP diff --git a/tools/jsonproc/jsonproc.cpp b/tools/jsonproc/jsonproc.cpp new file mode 100644 index 000000000..efe48f39f --- /dev/null +++ b/tools/jsonproc/jsonproc.cpp @@ -0,0 +1,91 @@ +// jsonproc.cpp + +#include "jsonproc.h" + +#include + +#include +using std::string; + +#include +using namespace inja; +using json = nlohmann::json; + +std::map customVars; + +void set_custom_var(string key, string value) +{ + customVars[key] = value; +} + +string get_custom_var(string key) +{ + return customVars[key]; +} + +int main(int argc, char *argv[]) +{ + if (argc != 4) + FATAL_ERROR("USAGE: jsonproc \n"); + + string jsonfilepath = argv[1]; + string templateFilepath = argv[2]; + string outputFilepath = argv[3]; + + Environment env; + + // Add custom command callbacks. + env.add_callback("doNotModifyHeader", 0, [jsonfilepath, templateFilepath](Arguments& args) { + return "//\n// DO NOT MODIFY THIS FILE! IT IS AUTO-GENERATED FROM " + jsonfilepath +" and Inja template " + templateFilepath + "\n//\n"; + }); + + env.add_callback("setVar", 2, [=](Arguments& args) { + string key = args.at(0)->get(); + string value = args.at(1)->get(); + set_custom_var(key, value); + return ""; + }); + + env.add_callback("getVar", 1, [=](Arguments& args) { + string key = args.at(0)->get(); + return get_custom_var(key); + }); + + env.add_callback("concat", 2, [](Arguments& args) { + string first = args.at(0)->get(); + string second = args.at(1)->get(); + return first + second; + }); + + env.add_callback("removePrefix", 2, [](Arguments& args) { + string rawValue = args.at(0)->get(); + string prefix = args.at(1)->get(); + string::size_type i = rawValue.find(prefix); + if (i != 0) + return rawValue; + + return rawValue.erase(0, prefix.length()); + }); + + // Add custom command callbacks. + env.add_callback("removeSuffix", 2, [](Arguments& args) { + string rawValue = args.at(0)->get(); + string suffix = args.at(1)->get(); + string::size_type i = rawValue.rfind(suffix); + if (i == string::npos) + return rawValue; + + return rawValue.substr(0, i); + }); + + try + { + env.write_with_json_file(templateFilepath, jsonfilepath, outputFilepath); + } + catch (const std::exception& e) + { + FATAL_ERROR("JSONPROC_ERROR: %s\n", e.what()); + } + + return 0; +} diff --git a/tools/jsonproc/jsonproc.h b/tools/jsonproc/jsonproc.h new file mode 100644 index 000000000..575fb3756 --- /dev/null +++ b/tools/jsonproc/jsonproc.h @@ -0,0 +1,32 @@ +// jsonproc.h + +#ifndef JSONPROC_H +#define JSONPROC_H + +#include +#include +using std::fprintf; using std::exit; + +#include + +#ifdef _MSC_VER + +#define FATAL_ERROR(format, ...) \ +do \ +{ \ + fprintf(stderr, format, __VA_ARGS__); \ + exit(1); \ +} while (0) + +#else + +#define FATAL_ERROR(format, ...) \ +do \ +{ \ + fprintf(stderr, format, ##__VA_ARGS__); \ + exit(1); \ +} while (0) + +#endif // _MSC_VER + +#endif // JSONPROC_H diff --git a/tools/jsonproc/nlohmann/json.hpp b/tools/jsonproc/nlohmann/json.hpp new file mode 100644 index 000000000..5003a4fa2 --- /dev/null +++ b/tools/jsonproc/nlohmann/json.hpp @@ -0,0 +1,20842 @@ +/* + __ _____ _____ _____ + __| | __| | | | JSON for Modern C++ +| | |__ | | | | | | version 3.6.1 +|_____|_____|_____|_|___| https://github.com/nlohmann/json + +Licensed under the MIT License . +SPDX-License-Identifier: MIT +Copyright (c) 2013-2019 Niels Lohmann . + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ + +#ifndef INCLUDE_NLOHMANN_JSON_HPP_ +#define INCLUDE_NLOHMANN_JSON_HPP_ + +#define NLOHMANN_JSON_VERSION_MAJOR 3 +#define NLOHMANN_JSON_VERSION_MINOR 6 +#define NLOHMANN_JSON_VERSION_PATCH 1 + +#include // all_of, find, for_each +#include // assert +#include // and, not, or +#include // nullptr_t, ptrdiff_t, size_t +#include // hash, less +#include // initializer_list +#include // istream, ostream +#include // random_access_iterator_tag +#include // unique_ptr +#include // accumulate +#include // string, stoi, to_string +#include // declval, forward, move, pair, swap +#include // vector + +// #include + + +#include + +// #include + + +#include // transform +#include // array +#include // and, not +#include // forward_list +#include // inserter, front_inserter, end +#include // map +#include // string +#include // tuple, make_tuple +#include // is_arithmetic, is_same, is_enum, underlying_type, is_convertible +#include // unordered_map +#include // pair, declval +#include // valarray + +// #include + + +#include // exception +#include // runtime_error +#include // to_string + +// #include + + +#include // size_t + +namespace nlohmann +{ +namespace detail +{ +/// struct to capture the start position of the current token +struct position_t +{ + /// the total number of characters read + std::size_t chars_read_total = 0; + /// the number of characters read in the current line + std::size_t chars_read_current_line = 0; + /// the number of lines read + std::size_t lines_read = 0; + + /// conversion to size_t to preserve SAX interface + constexpr operator size_t() const + { + return chars_read_total; + } +}; + +} // namespace detail +} // namespace nlohmann + + +namespace nlohmann +{ +namespace detail +{ +//////////////// +// exceptions // +//////////////// + +/*! +@brief general exception of the @ref basic_json class + +This class is an extension of `std::exception` objects with a member @a id for +exception ids. It is used as the base class for all exceptions thrown by the +@ref basic_json class. This class can hence be used as "wildcard" to catch +exceptions. + +Subclasses: +- @ref parse_error for exceptions indicating a parse error +- @ref invalid_iterator for exceptions indicating errors with iterators +- @ref type_error for exceptions indicating executing a member function with + a wrong type +- @ref out_of_range for exceptions indicating access out of the defined range +- @ref other_error for exceptions indicating other library errors + +@internal +@note To have nothrow-copy-constructible exceptions, we internally use + `std::runtime_error` which can cope with arbitrary-length error messages. + Intermediate strings are built with static functions and then passed to + the actual constructor. +@endinternal + +@liveexample{The following code shows how arbitrary library exceptions can be +caught.,exception} + +@since version 3.0.0 +*/ +class exception : public std::exception +{ + public: + /// returns the explanatory string + const char* what() const noexcept override + { + return m.what(); + } + + /// the id of the exception + const int id; + + protected: + exception(int id_, const char* what_arg) : id(id_), m(what_arg) {} + + static std::string name(const std::string& ename, int id_) + { + return "[json.exception." + ename + "." + std::to_string(id_) + "] "; + } + + private: + /// an exception object as storage for error messages + std::runtime_error m; +}; + +/*! +@brief exception indicating a parse error + +This exception is thrown by the library when a parse error occurs. Parse errors +can occur during the deserialization of JSON text, CBOR, MessagePack, as well +as when using JSON Patch. + +Member @a byte holds the byte index of the last read character in the input +file. + +Exceptions have ids 1xx. + +name / id | example message | description +------------------------------ | --------------- | ------------------------- +json.exception.parse_error.101 | parse error at 2: unexpected end of input; expected string literal | This error indicates a syntax error while deserializing a JSON text. The error message describes that an unexpected token (character) was encountered, and the member @a byte indicates the error position. +json.exception.parse_error.102 | parse error at 14: missing or wrong low surrogate | JSON uses the `\uxxxx` format to describe Unicode characters. Code points above above 0xFFFF are split into two `\uxxxx` entries ("surrogate pairs"). This error indicates that the surrogate pair is incomplete or contains an invalid code point. +json.exception.parse_error.103 | parse error: code points above 0x10FFFF are invalid | Unicode supports code points up to 0x10FFFF. Code points above 0x10FFFF are invalid. +json.exception.parse_error.104 | parse error: JSON patch must be an array of objects | [RFC 6902](https://tools.ietf.org/html/rfc6902) requires a JSON Patch document to be a JSON document that represents an array of objects. +json.exception.parse_error.105 | parse error: operation must have string member 'op' | An operation of a JSON Patch document must contain exactly one "op" member, whose value indicates the operation to perform. Its value must be one of "add", "remove", "replace", "move", "copy", or "test"; other values are errors. +json.exception.parse_error.106 | parse error: array index '01' must not begin with '0' | An array index in a JSON Pointer ([RFC 6901](https://tools.ietf.org/html/rfc6901)) may be `0` or any number without a leading `0`. +json.exception.parse_error.107 | parse error: JSON pointer must be empty or begin with '/' - was: 'foo' | A JSON Pointer must be a Unicode string containing a sequence of zero or more reference tokens, each prefixed by a `/` character. +json.exception.parse_error.108 | parse error: escape character '~' must be followed with '0' or '1' | In a JSON Pointer, only `~0` and `~1` are valid escape sequences. +json.exception.parse_error.109 | parse error: array index 'one' is not a number | A JSON Pointer array index must be a number. +json.exception.parse_error.110 | parse error at 1: cannot read 2 bytes from vector | When parsing CBOR or MessagePack, the byte vector ends before the complete value has been read. +json.exception.parse_error.112 | parse error at 1: error reading CBOR; last byte: 0xF8 | Not all types of CBOR or MessagePack are supported. This exception occurs if an unsupported byte was read. +json.exception.parse_error.113 | parse error at 2: expected a CBOR string; last byte: 0x98 | While parsing a map key, a value that is not a string has been read. +json.exception.parse_error.114 | parse error: Unsupported BSON record type 0x0F | The parsing of the corresponding BSON record type is not implemented (yet). + +@note For an input with n bytes, 1 is the index of the first character and n+1 + is the index of the terminating null byte or the end of file. This also + holds true when reading a byte vector (CBOR or MessagePack). + +@liveexample{The following code shows how a `parse_error` exception can be +caught.,parse_error} + +@sa - @ref exception for the base class of the library exceptions +@sa - @ref invalid_iterator for exceptions indicating errors with iterators +@sa - @ref type_error for exceptions indicating executing a member function with + a wrong type +@sa - @ref out_of_range for exceptions indicating access out of the defined range +@sa - @ref other_error for exceptions indicating other library errors + +@since version 3.0.0 +*/ +class parse_error : public exception +{ + public: + /*! + @brief create a parse error exception + @param[in] id_ the id of the exception + @param[in] pos the position where the error occurred (or with + chars_read_total=0 if the position cannot be + determined) + @param[in] what_arg the explanatory string + @return parse_error object + */ + static parse_error create(int id_, const position_t& pos, const std::string& what_arg) + { + std::string w = exception::name("parse_error", id_) + "parse error" + + position_string(pos) + ": " + what_arg; + return parse_error(id_, pos.chars_read_total, w.c_str()); + } + + static parse_error create(int id_, std::size_t byte_, const std::string& what_arg) + { + std::string w = exception::name("parse_error", id_) + "parse error" + + (byte_ != 0 ? (" at byte " + std::to_string(byte_)) : "") + + ": " + what_arg; + return parse_error(id_, byte_, w.c_str()); + } + + /*! + @brief byte index of the parse error + + The byte index of the last read character in the input file. + + @note For an input with n bytes, 1 is the index of the first character and + n+1 is the index of the terminating null byte or the end of file. + This also holds true when reading a byte vector (CBOR or MessagePack). + */ + const std::size_t byte; + + private: + parse_error(int id_, std::size_t byte_, const char* what_arg) + : exception(id_, what_arg), byte(byte_) {} + + static std::string position_string(const position_t& pos) + { + return " at line " + std::to_string(pos.lines_read + 1) + + ", column " + std::to_string(pos.chars_read_current_line); + } +}; + +/*! +@brief exception indicating errors with iterators + +This exception is thrown if iterators passed to a library function do not match +the expected semantics. + +Exceptions have ids 2xx. + +name / id | example message | description +----------------------------------- | --------------- | ------------------------- +json.exception.invalid_iterator.201 | iterators are not compatible | The iterators passed to constructor @ref basic_json(InputIT first, InputIT last) are not compatible, meaning they do not belong to the same container. Therefore, the range (@a first, @a last) is invalid. +json.exception.invalid_iterator.202 | iterator does not fit current value | In an erase or insert function, the passed iterator @a pos does not belong to the JSON value for which the function was called. It hence does not define a valid position for the deletion/insertion. +json.exception.invalid_iterator.203 | iterators do not fit current value | Either iterator passed to function @ref erase(IteratorType first, IteratorType last) does not belong to the JSON value from which values shall be erased. It hence does not define a valid range to delete values from. +json.exception.invalid_iterator.204 | iterators out of range | When an iterator range for a primitive type (number, boolean, or string) is passed to a constructor or an erase function, this range has to be exactly (@ref begin(), @ref end()), because this is the only way the single stored value is expressed. All other ranges are invalid. +json.exception.invalid_iterator.205 | iterator out of range | When an iterator for a primitive type (number, boolean, or string) is passed to an erase function, the iterator has to be the @ref begin() iterator, because it is the only way to address the stored value. All other iterators are invalid. +json.exception.invalid_iterator.206 | cannot construct with iterators from null | The iterators passed to constructor @ref basic_json(InputIT first, InputIT last) belong to a JSON null value and hence to not define a valid range. +json.exception.invalid_iterator.207 | cannot use key() for non-object iterators | The key() member function can only be used on iterators belonging to a JSON object, because other types do not have a concept of a key. +json.exception.invalid_iterator.208 | cannot use operator[] for object iterators | The operator[] to specify a concrete offset cannot be used on iterators belonging to a JSON object, because JSON objects are unordered. +json.exception.invalid_iterator.209 | cannot use offsets with object iterators | The offset operators (+, -, +=, -=) cannot be used on iterators belonging to a JSON object, because JSON objects are unordered. +json.exception.invalid_iterator.210 | iterators do not fit | The iterator range passed to the insert function are not compatible, meaning they do not belong to the same container. Therefore, the range (@a first, @a last) is invalid. +json.exception.invalid_iterator.211 | passed iterators may not belong to container | The iterator range passed to the insert function must not be a subrange of the container to insert to. +json.exception.invalid_iterator.212 | cannot compare iterators of different containers | When two iterators are compared, they must belong to the same container. +json.exception.invalid_iterator.213 | cannot compare order of object iterators | The order of object iterators cannot be compared, because JSON objects are unordered. +json.exception.invalid_iterator.214 | cannot get value | Cannot get value for iterator: Either the iterator belongs to a null value or it is an iterator to a primitive type (number, boolean, or string), but the iterator is different to @ref begin(). + +@liveexample{The following code shows how an `invalid_iterator` exception can be +caught.,invalid_iterator} + +@sa - @ref exception for the base class of the library exceptions +@sa - @ref parse_error for exceptions indicating a parse error +@sa - @ref type_error for exceptions indicating executing a member function with + a wrong type +@sa - @ref out_of_range for exceptions indicating access out of the defined range +@sa - @ref other_error for exceptions indicating other library errors + +@since version 3.0.0 +*/ +class invalid_iterator : public exception +{ + public: + static invalid_iterator create(int id_, const std::string& what_arg) + { + std::string w = exception::name("invalid_iterator", id_) + what_arg; + return invalid_iterator(id_, w.c_str()); + } + + private: + invalid_iterator(int id_, const char* what_arg) + : exception(id_, what_arg) {} +}; + +/*! +@brief exception indicating executing a member function with a wrong type + +This exception is thrown in case of a type error; that is, a library function is +executed on a JSON value whose type does not match the expected semantics. + +Exceptions have ids 3xx. + +name / id | example message | description +----------------------------- | --------------- | ------------------------- +json.exception.type_error.301 | cannot create object from initializer list | To create an object from an initializer list, the initializer list must consist only of a list of pairs whose first element is a string. When this constraint is violated, an array is created instead. +json.exception.type_error.302 | type must be object, but is array | During implicit or explicit value conversion, the JSON type must be compatible to the target type. For instance, a JSON string can only be converted into string types, but not into numbers or boolean types. +json.exception.type_error.303 | incompatible ReferenceType for get_ref, actual type is object | To retrieve a reference to a value stored in a @ref basic_json object with @ref get_ref, the type of the reference must match the value type. For instance, for a JSON array, the @a ReferenceType must be @ref array_t &. +json.exception.type_error.304 | cannot use at() with string | The @ref at() member functions can only be executed for certain JSON types. +json.exception.type_error.305 | cannot use operator[] with string | The @ref operator[] member functions can only be executed for certain JSON types. +json.exception.type_error.306 | cannot use value() with string | The @ref value() member functions can only be executed for certain JSON types. +json.exception.type_error.307 | cannot use erase() with string | The @ref erase() member functions can only be executed for certain JSON types. +json.exception.type_error.308 | cannot use push_back() with string | The @ref push_back() and @ref operator+= member functions can only be executed for certain JSON types. +json.exception.type_error.309 | cannot use insert() with | The @ref insert() member functions can only be executed for certain JSON types. +json.exception.type_error.310 | cannot use swap() with number | The @ref swap() member functions can only be executed for certain JSON types. +json.exception.type_error.311 | cannot use emplace_back() with string | The @ref emplace_back() member function can only be executed for certain JSON types. +json.exception.type_error.312 | cannot use update() with string | The @ref update() member functions can only be executed for certain JSON types. +json.exception.type_error.313 | invalid value to unflatten | The @ref unflatten function converts an object whose keys are JSON Pointers back into an arbitrary nested JSON value. The JSON Pointers must not overlap, because then the resulting value would not be well defined. +json.exception.type_error.314 | only objects can be unflattened | The @ref unflatten function only works for an object whose keys are JSON Pointers. +json.exception.type_error.315 | values in object must be primitive | The @ref unflatten function only works for an object whose keys are JSON Pointers and whose values are primitive. +json.exception.type_error.316 | invalid UTF-8 byte at index 10: 0x7E | The @ref dump function only works with UTF-8 encoded strings; that is, if you assign a `std::string` to a JSON value, make sure it is UTF-8 encoded. | +json.exception.type_error.317 | JSON value cannot be serialized to requested format | The dynamic type of the object cannot be represented in the requested serialization format (e.g. a raw `true` or `null` JSON object cannot be serialized to BSON) | + +@liveexample{The following code shows how a `type_error` exception can be +caught.,type_error} + +@sa - @ref exception for the base class of the library exceptions +@sa - @ref parse_error for exceptions indicating a parse error +@sa - @ref invalid_iterator for exceptions indicating errors with iterators +@sa - @ref out_of_range for exceptions indicating access out of the defined range +@sa - @ref other_error for exceptions indicating other library errors + +@since version 3.0.0 +*/ +class type_error : public exception +{ + public: + static type_error create(int id_, const std::string& what_arg) + { + std::string w = exception::name("type_error", id_) + what_arg; + return type_error(id_, w.c_str()); + } + + private: + type_error(int id_, const char* what_arg) : exception(id_, what_arg) {} +}; + +/*! +@brief exception indicating access out of the defined range + +This exception is thrown in case a library function is called on an input +parameter that exceeds the expected range, for instance in case of array +indices or nonexisting object keys. + +Exceptions have ids 4xx. + +name / id | example message | description +------------------------------- | --------------- | ------------------------- +json.exception.out_of_range.401 | array index 3 is out of range | The provided array index @a i is larger than @a size-1. +json.exception.out_of_range.402 | array index '-' (3) is out of range | The special array index `-` in a JSON Pointer never describes a valid element of the array, but the index past the end. That is, it can only be used to add elements at this position, but not to read it. +json.exception.out_of_range.403 | key 'foo' not found | The provided key was not found in the JSON object. +json.exception.out_of_range.404 | unresolved reference token 'foo' | A reference token in a JSON Pointer could not be resolved. +json.exception.out_of_range.405 | JSON pointer has no parent | The JSON Patch operations 'remove' and 'add' can not be applied to the root element of the JSON value. +json.exception.out_of_range.406 | number overflow parsing '10E1000' | A parsed number could not be stored as without changing it to NaN or INF. +json.exception.out_of_range.407 | number overflow serializing '9223372036854775808' | UBJSON and BSON only support integer numbers up to 9223372036854775807. | +json.exception.out_of_range.408 | excessive array size: 8658170730974374167 | The size (following `#`) of an UBJSON array or object exceeds the maximal capacity. | +json.exception.out_of_range.409 | BSON key cannot contain code point U+0000 (at byte 2) | Key identifiers to be serialized to BSON cannot contain code point U+0000, since the key is stored as zero-terminated c-string | + +@liveexample{The following code shows how an `out_of_range` exception can be +caught.,out_of_range} + +@sa - @ref exception for the base class of the library exceptions +@sa - @ref parse_error for exceptions indicating a parse error +@sa - @ref invalid_iterator for exceptions indicating errors with iterators +@sa - @ref type_error for exceptions indicating executing a member function with + a wrong type +@sa - @ref other_error for exceptions indicating other library errors + +@since version 3.0.0 +*/ +class out_of_range : public exception +{ + public: + static out_of_range create(int id_, const std::string& what_arg) + { + std::string w = exception::name("out_of_range", id_) + what_arg; + return out_of_range(id_, w.c_str()); + } + + private: + out_of_range(int id_, const char* what_arg) : exception(id_, what_arg) {} +}; + +/*! +@brief exception indicating other library errors + +This exception is thrown in case of errors that cannot be classified with the +other exception types. + +Exceptions have ids 5xx. + +name / id | example message | description +------------------------------ | --------------- | ------------------------- +json.exception.other_error.501 | unsuccessful: {"op":"test","path":"/baz", "value":"bar"} | A JSON Patch operation 'test' failed. The unsuccessful operation is also printed. + +@sa - @ref exception for the base class of the library exceptions +@sa - @ref parse_error for exceptions indicating a parse error +@sa - @ref invalid_iterator for exceptions indicating errors with iterators +@sa - @ref type_error for exceptions indicating executing a member function with + a wrong type +@sa - @ref out_of_range for exceptions indicating access out of the defined range + +@liveexample{The following code shows how an `other_error` exception can be +caught.,other_error} + +@since version 3.0.0 +*/ +class other_error : public exception +{ + public: + static other_error create(int id_, const std::string& what_arg) + { + std::string w = exception::name("other_error", id_) + what_arg; + return other_error(id_, w.c_str()); + } + + private: + other_error(int id_, const char* what_arg) : exception(id_, what_arg) {} +}; +} // namespace detail +} // namespace nlohmann + +// #include + + +#include // pair + +// This file contains all internal macro definitions +// You MUST include macro_unscope.hpp at the end of json.hpp to undef all of them + +// exclude unsupported compilers +#if !defined(JSON_SKIP_UNSUPPORTED_COMPILER_CHECK) + #if defined(__clang__) + #if (__clang_major__ * 10000 + __clang_minor__ * 100 + __clang_patchlevel__) < 30400 + #error "unsupported Clang version - see https://github.com/nlohmann/json#supported-compilers" + #endif + #elif defined(__GNUC__) && !(defined(__ICC) || defined(__INTEL_COMPILER)) + #if (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) < 40800 + #error "unsupported GCC version - see https://github.com/nlohmann/json#supported-compilers" + #endif + #endif +#endif + +// disable float-equal warnings on GCC/clang +#if defined(__clang__) || defined(__GNUC__) || defined(__GNUG__) + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wfloat-equal" +#endif + +// disable documentation warnings on clang +#if defined(__clang__) + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wdocumentation" +#endif + +// allow for portable deprecation warnings +#if defined(__clang__) || defined(__GNUC__) || defined(__GNUG__) + #define JSON_DEPRECATED __attribute__((deprecated)) +#elif defined(_MSC_VER) + #define JSON_DEPRECATED __declspec(deprecated) +#else + #define JSON_DEPRECATED +#endif + +// allow for portable nodiscard warnings +#if defined(__has_cpp_attribute) + #if __has_cpp_attribute(nodiscard) + #define JSON_NODISCARD [[nodiscard]] + #elif __has_cpp_attribute(gnu::warn_unused_result) + #define JSON_NODISCARD [[gnu::warn_unused_result]] + #else + #define JSON_NODISCARD + #endif +#else + #define JSON_NODISCARD +#endif + +// allow to disable exceptions +#if (defined(__cpp_exceptions) || defined(__EXCEPTIONS) || defined(_CPPUNWIND)) && !defined(JSON_NOEXCEPTION) + #define JSON_THROW(exception) throw exception + #define JSON_TRY try + #define JSON_CATCH(exception) catch(exception) + #define JSON_INTERNAL_CATCH(exception) catch(exception) +#else + #include + #define JSON_THROW(exception) std::abort() + #define JSON_TRY if(true) + #define JSON_CATCH(exception) if(false) + #define JSON_INTERNAL_CATCH(exception) if(false) +#endif + +// override exception macros +#if defined(JSON_THROW_USER) + #undef JSON_THROW + #define JSON_THROW JSON_THROW_USER +#endif +#if defined(JSON_TRY_USER) + #undef JSON_TRY + #define JSON_TRY JSON_TRY_USER +#endif +#if defined(JSON_CATCH_USER) + #undef JSON_CATCH + #define JSON_CATCH JSON_CATCH_USER + #undef JSON_INTERNAL_CATCH + #define JSON_INTERNAL_CATCH JSON_CATCH_USER +#endif +#if defined(JSON_INTERNAL_CATCH_USER) + #undef JSON_INTERNAL_CATCH + #define JSON_INTERNAL_CATCH JSON_INTERNAL_CATCH_USER +#endif + +// manual branch prediction +#if defined(__clang__) || defined(__GNUC__) || defined(__GNUG__) + #define JSON_LIKELY(x) __builtin_expect(x, 1) + #define JSON_UNLIKELY(x) __builtin_expect(x, 0) +#else + #define JSON_LIKELY(x) x + #define JSON_UNLIKELY(x) x +#endif + +// C++ language standard detection +#if (defined(__cplusplus) && __cplusplus >= 201703L) || (defined(_HAS_CXX17) && _HAS_CXX17 == 1) // fix for issue #464 + #define JSON_HAS_CPP_17 + #define JSON_HAS_CPP_14 +#elif (defined(__cplusplus) && __cplusplus >= 201402L) || (defined(_HAS_CXX14) && _HAS_CXX14 == 1) + #define JSON_HAS_CPP_14 +#endif + +/*! +@brief macro to briefly define a mapping between an enum and JSON +@def NLOHMANN_JSON_SERIALIZE_ENUM +@since version 3.4.0 +*/ +#define NLOHMANN_JSON_SERIALIZE_ENUM(ENUM_TYPE, ...) \ + template \ + inline void to_json(BasicJsonType& j, const ENUM_TYPE& e) \ + { \ + static_assert(std::is_enum::value, #ENUM_TYPE " must be an enum!"); \ + static const std::pair m[] = __VA_ARGS__; \ + auto it = std::find_if(std::begin(m), std::end(m), \ + [e](const std::pair& ej_pair) -> bool \ + { \ + return ej_pair.first == e; \ + }); \ + j = ((it != std::end(m)) ? it : std::begin(m))->second; \ + } \ + template \ + inline void from_json(const BasicJsonType& j, ENUM_TYPE& e) \ + { \ + static_assert(std::is_enum::value, #ENUM_TYPE " must be an enum!"); \ + static const std::pair m[] = __VA_ARGS__; \ + auto it = std::find_if(std::begin(m), std::end(m), \ + [j](const std::pair& ej_pair) -> bool \ + { \ + return ej_pair.second == j; \ + }); \ + e = ((it != std::end(m)) ? it : std::begin(m))->first; \ + } + +// Ugly macros to avoid uglier copy-paste when specializing basic_json. They +// may be removed in the future once the class is split. + +#define NLOHMANN_BASIC_JSON_TPL_DECLARATION \ + template class ObjectType, \ + template class ArrayType, \ + class StringType, class BooleanType, class NumberIntegerType, \ + class NumberUnsignedType, class NumberFloatType, \ + template class AllocatorType, \ + template class JSONSerializer> + +#define NLOHMANN_BASIC_JSON_TPL \ + basic_json + +// #include + + +#include // not +#include // size_t +#include // conditional, enable_if, false_type, integral_constant, is_constructible, is_integral, is_same, remove_cv, remove_reference, true_type + +namespace nlohmann +{ +namespace detail +{ +// alias templates to reduce boilerplate +template +using enable_if_t = typename std::enable_if::type; + +template +using uncvref_t = typename std::remove_cv::type>::type; + +// implementation of C++14 index_sequence and affiliates +// source: https://stackoverflow.com/a/32223343 +template +struct index_sequence +{ + using type = index_sequence; + using value_type = std::size_t; + static constexpr std::size_t size() noexcept + { + return sizeof...(Ints); + } +}; + +template +struct merge_and_renumber; + +template +struct merge_and_renumber, index_sequence> + : index_sequence < I1..., (sizeof...(I1) + I2)... > {}; + +template +struct make_index_sequence + : merge_and_renumber < typename make_index_sequence < N / 2 >::type, + typename make_index_sequence < N - N / 2 >::type > {}; + +template<> struct make_index_sequence<0> : index_sequence<> {}; +template<> struct make_index_sequence<1> : index_sequence<0> {}; + +template +using index_sequence_for = make_index_sequence; + +// dispatch utility (taken from ranges-v3) +template struct priority_tag : priority_tag < N - 1 > {}; +template<> struct priority_tag<0> {}; + +// taken from ranges-v3 +template +struct static_const +{ + static constexpr T value{}; +}; + +template +constexpr T static_const::value; +} // namespace detail +} // namespace nlohmann + +// #include + + +#include // not +#include // numeric_limits +#include // false_type, is_constructible, is_integral, is_same, true_type +#include // declval + +// #include + + +#include // random_access_iterator_tag + +// #include + + +namespace nlohmann +{ +namespace detail +{ +template struct make_void +{ + using type = void; +}; +template using void_t = typename make_void::type; +} // namespace detail +} // namespace nlohmann + +// #include + + +namespace nlohmann +{ +namespace detail +{ +template +struct iterator_types {}; + +template +struct iterator_types < + It, + void_t> +{ + using difference_type = typename It::difference_type; + using value_type = typename It::value_type; + using pointer = typename It::pointer; + using reference = typename It::reference; + using iterator_category = typename It::iterator_category; +}; + +// This is required as some compilers implement std::iterator_traits in a way that +// doesn't work with SFINAE. See https://github.com/nlohmann/json/issues/1341. +template +struct iterator_traits +{ +}; + +template +struct iterator_traits < T, enable_if_t < !std::is_pointer::value >> + : iterator_types +{ +}; + +template +struct iterator_traits::value>> +{ + using iterator_category = std::random_access_iterator_tag; + using value_type = T; + using difference_type = ptrdiff_t; + using pointer = T*; + using reference = T&; +}; +} // namespace detail +} // namespace nlohmann + +// #include + +// #include + +// #include + + +#include + +// #include + + +// http://en.cppreference.com/w/cpp/experimental/is_detected +namespace nlohmann +{ +namespace detail +{ +struct nonesuch +{ + nonesuch() = delete; + ~nonesuch() = delete; + nonesuch(nonesuch const&) = delete; + nonesuch(nonesuch const&&) = delete; + void operator=(nonesuch const&) = delete; + void operator=(nonesuch&&) = delete; +}; + +template class Op, + class... Args> +struct detector +{ + using value_t = std::false_type; + using type = Default; +}; + +template class Op, class... Args> +struct detector>, Op, Args...> +{ + using value_t = std::true_type; + using type = Op; +}; + +template